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