File mingw64-gtk4.spec of Package mingw64-gtk4

#
# spec file for package mingw64-gtk4
#
# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via http://bugs.opensuse.org/
#

%global _mingw64_find_requires_exclude hid.dll %{nil}

%define doc 1

Name:           mingw64-gtk4
Version:        4.18.3
Release:        0
Summary:        The GTK toolkit library (version 4)
License:        LGPL-2.0-or-later
Group:          Development/Libraries/GNOME
Url:            http://www.gtk.org/
Source:         http://download.gnome.org/sources/gtk/4.18/gtk-%{version}.tar.xz
#!BuildIgnore: post-build-checks
# Native one for msgfmt
BuildRequires:  gettext-tools
# Native one for glib-genmarshal
BuildRequires:  glib2-devel
BuildRequires:  gobject-introspection
BuildRequires:  gtk-doc
# Native one for gtk-update-icon-cache
BuildRequires:  gtk2
BuildRequires:  mingw64-atk-devel >= 2.7.5
BuildRequires:  mingw64-cairo-devel >= 1.12.0
BuildRequires:  mingw64-cross-gcc
BuildRequires:  mingw64-cross-meson
# get rid of cmake not found warning
BuildRequires:  mingw64-cross-cmake
BuildRequires:  mingw64-gdk-pixbuf-devel >= 2.27.1
BuildRequires:  mingw64-glib2-devel >= 2.80.0
BuildRequires:  mingw64-libepoxy-devel
BuildRequires:  mingw64-libintl-devel
BuildRequires:  mingw64-libjasper-devel
BuildRequires:  mingw64-pango-devel >= 1.37.3
BuildRequires:  mingw64-libgraphene-devel >= 1.10.0
BuildRequires:  mingw64-win_iconv-devel
BuildRequires:  mingw64-libtiff-devel
# required by libtiff
BuildRequires:  mingw64-libjpeg8-devel
BuildRequires:  python313-docutils
%if 0%{?suse_version} >= 1500
BuildRequires:  python3-xml
%endif
BuildRequires:  xz
%_mingw64_package_header_debug
BuildArch:      noarch
# Native one for gdk-pixbuf-csource
%if 0%{?suse_version} >= 1140
BuildRequires:  gdk-pixbuf-devel
%else
BuildRequires:  gtk2-devel
%endif

%description
GTK is a multi-platform toolkit for creating graphical user interfaces.
Offering a complete set of widgets, GTK is suitable for projects
ranging from small one-off projects to complete application suites.

%package -n mingw64-libgtk-4-1
Summary:        The GTK toolkit library (version 4)
License:        LGPL-2.0-or-later
Group:          System/Libraries
Requires:       %{name}-data >= %{version}
Requires:       %{name}-lang = %{version}-%{release}
Obsoletes:      mingw64-gtk4 < %{version}-%{release}
Provides:       mingw64-gtk4 = %{version}-%{release}

%description -n mingw64-libgtk-4-1
GTK is a multi-platform toolkit for creating graphical user interfaces.
Offering a complete set of widgets, GTK is suitable for projects
ranging from small one-off projects to complete application suites.

%package tools
Summary:        The GTK toolkit library (version 4) -- Tools
License:        LGPL-2.1-or-later
Group:          System/Libraries

%description tools
GTK is a multi-platform toolkit for creating graphical user interfaces.
Offering a complete set of widgets, GTK is suitable for projects
ranging from small one-off projects to complete application suites.

%package data
Summary:        The GTK toolkit library (version 4) -- Data Files
License:        LGPL-2.1-or-later
Group:          System/Libraries

%description data
GTK is a multi-platform toolkit for creating graphical user interfaces.
Offering a complete set of widgets, GTK is suitable for projects
ranging from small one-off projects to complete application suites.

%package devel
Summary:        The GTK toolkit library (version 4) -- Development Files
License:        LGPL-2.0-or-later
Group:          Development/Libraries/GNOME

%description devel
GTK is a multi-platform toolkit for creating graphical user interfaces.
Offering a complete set of widgets, GTK is suitable for projects
ranging from small one-off projects to complete application suites.

This package contains the development files for GTK 4.x.

%package -n mingw64-gettext-its-gtk4
Summary:        International Tag Set for GTK 4
License:        LGPL-2.1-or-later
Group:          System/Libraries

%description -n mingw64-gettext-its-gtk4
GTK is a multi-platform toolkit for creating graphical user interfaces.
Offering a complete set of widgets, GTK is suitable for projects
ranging from small one-off projects to complete application suites.

This package enhances gettext with an International Tag Set for GTK 4.x.


%_mingw64_debug_package

%lang_package -n %{name} -r mingw64-libgtk-4-1

%prep
%setup -q -n gtk-%{version}

%build
export PATH="%{_mingw64_bindir}:$PATH"

find %{_mingw64_libdir}/pkgconfig/

%_mingw64_meson \
  -Dmedia-gstreamer=disabled \
  -Dintrospection=disabled \
  -Dvulkan=disabled \
  -Dman-pages=true \
  -Ddocumentation=false \
  || ( cat build/meson-logs/meson-log.txt && exit 1 )
%_mingw64_meson_build

%install
%_mingw64_meson_install


%find_lang gtk40
#%find_lang gtk40-properties gtk40.lang

%files -n mingw64-libgtk-4-1
%defattr(-,root,root)
%{_mingw64_bindir}/libgtk-4-1.dll

%files lang -f gtk40.lang
%defattr(-,root,root)

%files tools
%defattr(-,root,root)
%{_mingw64_bindir}/gtk4-builder-tool.exe
%{_mingw64_bindir}/gtk4-encode-symbolic-svg.exe
%{_mingw64_bindir}/gtk4-query-settings.exe
%{_mingw64_bindir}/gtk4-image-tool.exe
%{_mingw64_bindir}/gtk4-node-editor.exe
%{_mingw64_bindir}/gtk4-path-tool.exe
%{_mingw64_bindir}/gtk4-print-editor.exe
%{_mingw64_bindir}/gtk4-rendernode-tool.exe
%{_mingw64_bindir}/gtk4-update-icon-cache.exe
%if %doc
%{_mingw64_mandir}/man1/gtk4-builder-tool.1*
%{_mingw64_mandir}/man1/gtk4-encode-symbolic-svg.1*
%{_mingw64_mandir}/man1/gtk4-broadwayd.1.gz
%{_mingw64_mandir}/man1/gtk4-launch.1*
%{_mingw64_mandir}/man1/gtk4-query-settings.1*
%{_mingw64_mandir}/man1/gtk4-update-icon-cache.1*
%{_mingw64_mandir}/man1/gtk4-path-tool.1*
%{_mingw64_mandir}/man1/gtk4-image-tool.1*
%{_mingw64_mandir}/man1/gtk4-node-editor.1*
%{_mingw64_mandir}/man1/gtk4-rendernode-tool.1*
%endif
%{_mingw64_datadir}/applications/org.gtk.PrintEditor4.desktop
%{_mingw64_datadir}/applications/org.gtk.gtk4.NodeEditor.desktop
%{_mingw64_datadir}/metainfo/org.gtk.PrintEditor4.appdata.xml
%{_mingw64_datadir}/metainfo/org.gtk.gtk4.NodeEditor.appdata.xml
%{_mingw64_datadir}/icons/hicolor/scalable/apps/org.gtk.PrintEditor4.svg
%{_mingw64_datadir}/icons/hicolor/symbolic/apps/org.gtk.PrintEditor4-symbolic.svg
%{_mingw64_datadir}/icons/hicolor/scalable/apps/org.gtk.gtk4.NodeEditor.svg
%{_mingw64_datadir}/icons/hicolor/symbolic/apps/org.gtk.gtk4.NodeEditor-symbolic.svg

%files data
%defattr(-,root,root)
%{_mingw64_datadir}/glib-2.0/schemas/org.gtk.gtk4.Settings.ColorChooser.gschema.xml
%{_mingw64_datadir}/glib-2.0/schemas/org.gtk.gtk4.Settings.Debug.gschema.xml
%{_mingw64_datadir}/glib-2.0/schemas/org.gtk.gtk4.Settings.EmojiChooser.gschema.xml
%{_mingw64_datadir}/glib-2.0/schemas/org.gtk.gtk4.Settings.FileChooser.gschema.xml
%{_mingw64_datadir}/glib-2.0/schemas/org.gtk.gtk4.Inspector.gschema.xml

%files devel
%defattr(-,root,root)
%{_mingw64_bindir}/gtk4-demo.exe
%{_mingw64_bindir}/gtk4-demo-application.exe
%{_mingw64_bindir}/gtk4-widget-factory.exe
%if %doc
%{_mingw64_mandir}/man1/gtk4-demo.1*
%{_mingw64_mandir}/man1/gtk4-demo-application.1*
%{_mingw64_mandir}/man1/gtk4-widget-factory.1*
%endif
%{_mingw64_datadir}/applications/org.gtk.Demo4.desktop
%{_mingw64_datadir}/applications/org.gtk.WidgetFactory4.desktop
%{_mingw64_datadir}/icons/hicolor/scalable/apps/org.gtk.PrintEditor4.Devel.svg
%{_mingw64_datadir}/icons/hicolor/scalable/apps/org.gtk.gtk4.NodeEditor.Devel.svg
%{_mingw64_datadir}/icons/hicolor/scalable/apps/org.gtk.Demo4.svg
%{_mingw64_datadir}/icons/hicolor/symbolic/apps/org.gtk.Demo4-symbolic.svg
%{_mingw64_datadir}/icons/hicolor/scalable/apps/org.gtk.WidgetFactory4.svg
%{_mingw64_datadir}/icons/hicolor/symbolic/apps/org.gtk.WidgetFactory4-symbolic.svg
%{_mingw64_datadir}/metainfo/org.gtk.Demo4.appdata.xml
%{_mingw64_datadir}/metainfo/org.gtk.WidgetFactory4.appdata.xml
%{_mingw64_datadir}/glib-2.0/schemas/org.gtk.Demo4.gschema.xml
#%if %doc
#%{_mingw64_datadir}/gtk-doc/html/gtk4
#%endif
%{_mingw64_libdir}/libgtk-4.dll.a
%{_mingw64_libdir}/pkgconfig/gtk4.pc
%{_mingw64_libdir}/pkgconfig/gtk4-win32.pc
%{_mingw64_includedir}/gtk-4.0/
%{_mingw64_datadir}/gtk-4.0/

%files -n mingw64-gettext-its-gtk4
%dir %{_mingw64_datadir}/gettext/its
%{_mingw64_datadir}/gettext/its/gtk4builder.its
%{_mingw64_datadir}/gettext/its/gtk4builder.loc

%changelog
openSUSE Build Service is sponsored by