diff --git a/gtk-4.12.1.tar.xz b/gtk-4.16.7.tar.xz similarity index 63% rename from gtk-4.12.1.tar.xz rename to gtk-4.16.7.tar.xz index 79f6fcada4e0b633ab99a5f09b759a556e198506..fc39d7021bca03e18730d94e6cc1a7d2f5af438b 100644 Binary files a/gtk-4.12.1.tar.xz and b/gtk-4.16.7.tar.xz differ diff --git a/gtk4-no-objcopy.patch b/gtk4-no-objcopy.patch new file mode 100644 index 0000000000000000000000000000000000000000..569d5784dcc03b406543fbe986311e0fd31561bc --- /dev/null +++ b/gtk4-no-objcopy.patch @@ -0,0 +1,11 @@ +--- gtk-4.14.4/meson.build.no-objcopy 2024-06-06 10:17:08.764814627 -0400 ++++ gtk-4.14.4/meson.build 2024-06-06 10:17:31.276931886 -0400 +@@ -777,6 +777,8 @@ + can_use_objcopy_for_resources = false + endif + ++can_use_objcopy_for_resources = false ++ + project_build_root = meson.current_build_dir() + + gen_visibility_macros = find_program('build-aux/meson/gen-visibility-macros.py') diff --git a/gtk4.spec b/gtk4.spec index 723d5e08e7f3f7bf5d167e033d24e1d019300dee..9c1bbfc47672d5d708bad2cb040698727dce4b0e 100644 --- a/gtk4.spec +++ b/gtk4.spec @@ -3,25 +3,23 @@ %global __provides_exclude_from ^%{_libdir}/gtk-4.0 %global glib2_version 2.76.0 -%global pango_version 1.50.0 -%global cairo_version 1.14.0 +%global pango_version 1.52.0 +%global cairo_version 1.18.0 %global epoxy_version 1.4 %global bin_version 4.0.0 %global gdk_pixbuf_version 2.30.0 %global wayland_protocols_version 1.31 %global wayland_version 1.21.0 - -%define url_ver %(echo %{version}|cut -d. -f1,2) - Name: gtk4 -Version: 4.12.1 +Version: 4.16.7 Release: %{anolis_release}%{?dist} Summary: GTK graphical user interface library -License: LGPLv2+ +License: LGPL-2.0-or-later URL: https://www.gtk.org -Source0: https://download.gnome.org/sources/gtk/%{url_ver}/gtk-%{version}.tar.xz - +Source0: https://download.gnome.org/sources/gtk/4.16/gtk-%{version}.tar.xz + +Patch0: gtk4-no-objcopy.patch BuildRequires: gcc gcc-c++ autoconf automake meson >= 0.60.0 BuildRequires: sassc cups-devel desktop-file-utils docbook-style-xsl @@ -31,20 +29,21 @@ BuildRequires: pkgconfig(cairo) >= %{cairo_version} pkgconfig(cairo-gob BuildRequires: pkgconfig(epoxy) pkgconfig(fribidi) >= 1.0.6 pkgconfig(gobject-introspection-1.0) BuildRequires: pkgconfig(gdk-pixbuf-2.0) >= %{gdk_pixbuf_version} BuildRequires: pkgconfig(glib-2.0) >= %{glib2_version} pkgconfig(pango) >= %{pango_version} -BuildRequires: pkgconfig(graphene-gobject-1.0) >= 1.10.0 pkgconfig(gstreamer-player-1.0) -BuildRequires: pkgconfig(harfbuzz) >= 2.6.0 pkgconfig(json-glib-1.0) +BuildRequires: pkgconfig(graphene-gobject-1.0) pkgconfig(gstreamer-player-1.0) +BuildRequires: pkgconfig(harfbuzz) >= 2.6.0 pkgconfig(json-glib-1.0) BuildRequires: pkgconfig(libjpeg) pkgconfig(libpng) pkgconfig(libtiff-4) -BuildRequires: pkgconfig(sysprof-4) >= 3.38.0 pkgconfig(sysprof-capture-4) >= 3.38.0 -BuildRequires: pkgconfig(tracker-sparql-3.0) pkgconfig(wayland-egl) >= %{wayland_version} +BuildRequires: pkgconfig(sysprof-capture-4) pkgconfig(tracker-sparql-3.0) +BuildRequires: pkgconfig(vulkan) pkgconfig(wayland-egl) >= %{wayland_version} BuildRequires: pkgconfig(wayland-client) >= %{wayland_version} BuildRequires: pkgconfig(wayland-cursor) >= %{wayland_version} BuildRequires: pkgconfig(wayland-protocols) >= %{wayland_protocols_version} BuildRequires: pkgconfig(xcomposite) pkgconfig(xcursor) pkgconfig(xdamage) BuildRequires: pkgconfig(xfixes) pkgconfig(xi) pkgconfig(xinerama) -BuildRequires: pkgconfig(xkbcommon) >= 0.2.0 +BuildRequires: pkgconfig(xkbcommon) BuildRequires: pkgconfig(xrandr) pkgconfig(xrender) -BuildRequires: /usr/bin/rst2man - +BuildRequires: /usr/bin/appstream-util /usr/bin/rst2man +BuildRequires: glslc + Requires: adwaita-icon-theme hicolor-icon-theme gtk-update-icon-cache Requires: cairo >= %{cairo_version} cairo-gobject >= %{cairo_version} gdk-pixbuf2-modules @@ -52,7 +51,7 @@ Requires: glib2 >= %{glib2_version} libepoxy >= %{epoxy_version} p Requires: libwayland-client >= %{wayland_version} libwayland-cursor >= %{wayland_version} Recommends: dconf - + %description GTK is a library for creating graphical user interfaces. It works on many UNIX-like platforms, Windows, and macOS. GTK is released under the terms of the GNU Library @@ -70,44 +69,52 @@ BuildArch: noarch %description doc This package contains developer documentation for the GTK4. - + %package devel Summary: Development files for GTK Requires: %{name} = %{version}-%{release} -Conflicts: gtk4 < 4.12.0 - +Conflicts: gtk4 < 4.12.0 + %description devel -This package contains the libraries and header files that are needed for writing +This package contains the libraries and header files that are needed for writing applications with version 4 of the GTK widget toolkit. - + %package devel-docs Summary: Developer documentation for GTK Requires: %{name} = %{version}-%{release} BuildArch: noarch - +# Because web fonts from upstream are not bundled in the gi-docgen package, +# packages containing documentation generated with gi-docgen should depend on +# this metapackage to ensure the proper system fonts are present. +Recommends: gi-docgen-fonts + %description devel-docs This package contains developer documentation for version 4 of the GTK widget toolkit. - + %package devel-tools Summary: Developer tools for GTK Requires: %{name} = %{version}-%{release} -Conflicts: gtk4 < 4.12.0 - +Conflicts: gtk4 < 4.12.0 + %description devel-tools This package contains helpful applications for developers using GTK. - %prep %autosetup -n gtk-%{version} -p1 %build export CFLAGS='-fno-strict-aliasing -DG_DISABLE_CAST_CHECKS -DG_DISABLE_ASSERT %optflags' %meson \ + -Db_pie=true \ %if 0%{?with_broadway} -Dbroadway-backend=true \ %endif -Dsysprof=enabled -Dtracker=enabled -Dcolord=enabled \ - -Dgtk_doc=true -Dman-pages=true + -Ddocumentation=true -Dman-pages=true \ + -Dbuild-testsuite=false \ + -Dbuild-tests=false \ + -Dbuild-examples=false + %meson_build %install @@ -117,12 +124,12 @@ export CFLAGS='-fno-strict-aliasing -DG_DISABLE_CAST_CHECKS -DG_DISABLE_ASSERT % %if !0%{?with_broadway} rm %{buildroot}%{_mandir}/man1/gtk4-broadwayd.1* %endif - + mkdir -p %{buildroot}%{_sysconfdir}/gtk-4.0 mkdir -p %{buildroot}%{_libdir}/gtk-4.0/modules %generate_compatibility_deps - + %files -f gtk40.lang %dir %{abidir} @@ -168,19 +175,23 @@ mkdir -p %{buildroot}%{_libdir}/gtk-4.0/modules %{_bindir}/gtk4-query-settings %{_bindir}/gtk4-encode-symbolic-svg %{abidir}/gtk4-encode-symbolic-svg-option.list +%{abidir}/gtk4-builder-tool-option.list +%{abidir}/gtk4-path-tool-option.list %{_libdir}/libgtk-4.so %{_libdir}/pkgconfig/* +%{_bindir}/gtk4-path-tool %{_mandir}/man1/gtk4-builder-tool.1* -%{_mandir}/man1/gtk4-query-settings.1* %{_mandir}/man1/gtk4-encode-symbolic-svg.1* - +%{_mandir}/man1/gtk4-path-tool.1* +%{_mandir}/man1/gtk4-query-settings.1* + %files devel-docs %{_datadir}/doc/gtk4/ %{_datadir}/doc/gdk4/ %{_datadir}/doc/gsk4/ %{_datadir}/doc/gdk4-x11/ %{_datadir}/doc/gdk4-wayland/ - + %files devel-tools %{_datadir}/glib-2.0/schemas/org.gtk.Demo4.gschema.xml %{_datadir}/applications/org.gtk.gtk4.NodeEditor.desktop @@ -200,10 +211,13 @@ mkdir -p %{buildroot}%{_libdir}/gtk-4.0/modules %{_bindir}/gtk4-widget-factory %{_bindir}/gtk4-icon-browser %{_bindir}/gtk4-rendernode-tool +%{_bindir}/gtk4-image-tool %{abidir}/gtk4-demo-option.list %{abidir}/gtk4-icon-browser-option.list %{abidir}/gtk4-node-editor-option.list %{abidir}/gtk4-widget-factory-option.list +%{abidir}/gtk4-image-tool-option.list +%{abidir}/gtk4-rendernode-tool-option.list %{_metainfodir}/org.gtk.IconBrowser4.appdata.xml %{_metainfodir}/org.gtk.PrintEditor4.appdata.xml %{_metainfodir}/org.gtk.gtk4.NodeEditor.appdata.xml @@ -212,11 +226,19 @@ mkdir -p %{buildroot}%{_libdir}/gtk-4.0/modules %{_mandir}/man1/gtk4-demo.1* %{_mandir}/man1/gtk4-node-editor.1* %{_mandir}/man1/gtk4-icon-browser.1* +%{_mandir}/man1/gtk4-image-tool.1* %{_mandir}/man1/gtk4-demo-application.1* %{_mandir}/man1/gtk4-widget-factory.1* %{_mandir}/man1/gtk4-rendernode-tool.1* %changelog +* Thu Feb 13 2025 Zhao Hang - 4.16.7-1 +- Update to 4.16.7-1 from 4.12.1-1 +- Migrated to SPDX license +- Stop using objcopy for resources + [Patches cherry-pick from c10s. Original changelog: + Stop using objcopy for resources] + * Fri Aug 25 2023 Funda Wang - 4.12.1-1 - New version 4.12.1