gtk4.0 4.10.5-1 (znver1;x86_64;aarch64) 2023-17531
9999

Status published
Submitter angrypenguinpoland [@T] gmail.com
Platform rolling
Repository main
URL https://abf.openmandriva.org/build_lists/356547
Packages
gtk4.0-4.10.5-1.znver1.source
gtk4.0-4.10.5-1.znver1.binary
gtk4.0-debuginfo-4.10.5-1.znver1.debuginfo
gtk4.0-debugsource-4.10.5-1.znver1.binary
lib64gtk-gir4.0-4.10.5-1.znver1.binary
lib64gtk4.0-devel-4.10.5-1.znver1.binary
lib64gtk4.0-devel-debuginfo-4.10.5-1.znver1.debuginfo
lib64gtk4_1-4.10.5-1.znver1.binary
lib64gtk4_1-debuginfo-4.10.5-1.znver1.debuginfo
gtk4.0-4.10.5-1.x86_64.source
gtk4.0-4.10.5-1.x86_64.binary
gtk4.0-debuginfo-4.10.5-1.x86_64.debuginfo
gtk4.0-debugsource-4.10.5-1.x86_64.binary
lib64gtk-gir4.0-4.10.5-1.x86_64.binary
lib64gtk4.0-devel-4.10.5-1.x86_64.binary
lib64gtk4.0-devel-debuginfo-4.10.5-1.x86_64.debuginfo
lib64gtk4_1-4.10.5-1.x86_64.binary
lib64gtk4_1-debuginfo-4.10.5-1.x86_64.debuginfo
gtk4.0-4.10.5-1.aarch64.binary
gtk4.0-4.10.5-1.aarch64.source
gtk4.0-debuginfo-4.10.5-1.aarch64.debuginfo
gtk4.0-debugsource-4.10.5-1.aarch64.binary
lib64gtk-gir4.0-4.10.5-1.aarch64.binary
lib64gtk4.0-devel-4.10.5-1.aarch64.binary
lib64gtk4.0-devel-debuginfo-4.10.5-1.aarch64.debuginfo
lib64gtk4_1-4.10.5-1.aarch64.binary
lib64gtk4_1-debuginfo-4.10.5-1.aarch64.debuginfo
Build Date 2023-08-06 23:43:14 +0000 UTC
Last Updated 2023-08-08 19:21:05.199080997 +0000 UTC
$ git diff --patch-with-stat --summary 425699e625aa536607100a4e203f85bc6cc2aa32..a2954b2f646647df29e7c190adc725bcfcbb2658

 .abf.yml                                           |  2 +-
 gtk-4.10.1-ffmpeg-6.0.patch                        | 12 ++++
 ...-stupid-assumptions-about-ld-being-ld.bfd.patch | 28 ++++-----
 gtk4.0.spec                                        | 66 ++++++++++++----------
 4 files changed, 63 insertions(+), 45 deletions(-)
 create mode 100644 gtk-4.10.1-ffmpeg-6.0.patch

diff --git a/.abf.yml b/.abf.yml
index 84ab3c3..f92112e 100644
--- a/.abf.yml
+++ b/.abf.yml
@@ -1,2 +1,2 @@
 sources:
-  gtk-4.8.2.tar.xz: 89c4866cbb822d7503dd10cca3eeb3b50411ec8c
+  gtk-4.10.5.tar.xz: b91d8dc1f988c6538fee7eb565ca13c09ef94f48
diff --git a/gtk-4.10.1-ffmpeg-6.0.patch b/gtk-4.10.1-ffmpeg-6.0.patch
new file mode 100644
index 0000000..4754369
--- /dev/null
+++ b/gtk-4.10.1-ffmpeg-6.0.patch
@@ -0,0 +1,12 @@
+diff -up gtk-4.10.1/modules/media/gtkffmediafile.c.omv~ gtk-4.10.1/modules/media/gtkffmediafile.c
+--- gtk-4.10.1/modules/media/gtkffmediafile.c.omv~	2023-04-14 15:16:52.765946221 +0200
++++ gtk-4.10.1/modules/media/gtkffmediafile.c	2023-04-14 16:08:16.982453976 +0200
+@@ -861,7 +861,7 @@ gtk_ff_media_file_open_audio_device (Gtk
+        candidate != NULL;
+        candidate = av_output_audio_device_next (candidate))
+     {
+-      if (candidate->control_message)
++      if (candidate->name && !strcmp(candidate->name,  "alsa"))
+         break;
+     }
+ 
diff --git a/gtk-4.6.0-fix-stupid-assumptions-about-ld-being-ld.bfd.patch b/gtk-4.6.0-fix-stupid-assumptions-about-ld-being-ld.bfd.patch
index dcb7bae..76aabf3 100644
--- a/gtk-4.6.0-fix-stupid-assumptions-about-ld-being-ld.bfd.patch
+++ b/gtk-4.6.0-fix-stupid-assumptions-about-ld-being-ld.bfd.patch
@@ -1,8 +1,8 @@
-diff -uraN gtk-4.8.2/demos/gtk-demo/meson.build omv-gtk-4.8.2/demos/gtk-demo/meson.build
---- gtk-4.8.2/demos/gtk-demo/meson.build	2022-10-24 19:46:56.000000000 +0200
-+++ omv-gtk-4.8.2/demos/gtk-demo/meson.build	2022-10-25 17:07:07.122672672 +0200
-@@ -159,7 +159,7 @@
-   objcopy_supports_add_symbol = run_command(objcopy, '--help').stdout().contains('--add-symbol')
+diff -uraN gtk-4.10.1/demos/gtk-demo/meson.build omv-gtk-4.10.1/demos/gtk-demo/meson.build
+--- gtk-4.10.1/demos/gtk-demo/meson.build	2023-03-14 12:50:49.000000000 +0100
++++ omv-gtk-4.10.1/demos/gtk-demo/meson.build	2023-03-18 20:27:25.389740046 +0100
+@@ -162,7 +162,7 @@
+   objcopy_supports_add_symbol = run_command(objcopy, '--help', check: false).stdout().contains('--add-symbol')
  endif
  
 -ld = find_program('ld', required : false)
@@ -10,11 +10,11 @@ diff -uraN gtk-4.8.2/demos/gtk-demo/meson.build omv-gtk-4.8.2/demos/gtk-demo/mes
  
  if not meson.is_cross_build() and build_machine.cpu_family() != 'arm' and build_machine.system() == 'linux' and objcopy.found() and objcopy_supports_add_symbol and ld.found()
    glib_compile_resources = find_program('glib-compile-resources')
-diff -uraN gtk-4.8.2/demos/widget-factory/meson.build omv-gtk-4.8.2/demos/widget-factory/meson.build
---- gtk-4.8.2/demos/widget-factory/meson.build	2022-10-24 19:46:56.000000000 +0200
-+++ omv-gtk-4.8.2/demos/widget-factory/meson.build	2022-10-25 17:07:47.247672181 +0200
+diff -uraN gtk-4.10.1/demos/widget-factory/meson.build omv-gtk-4.10.1/demos/widget-factory/meson.build
+--- gtk-4.10.1/demos/widget-factory/meson.build	2023-03-14 12:50:49.000000000 +0100
++++ omv-gtk-4.10.1/demos/widget-factory/meson.build	2023-03-18 20:27:52.641831479 +0100
 @@ -6,7 +6,7 @@
-   objcopy_supports_add_symbol = run_command(objcopy, '--help').stdout().contains('--add-symbol')
+   objcopy_supports_add_symbol = run_command(objcopy, '--help', check: false).stdout().contains('--add-symbol')
  endif
  
 -ld = find_program('ld', required : false)
@@ -22,11 +22,11 @@ diff -uraN gtk-4.8.2/demos/widget-factory/meson.build omv-gtk-4.8.2/demos/widget
  
  if not meson.is_cross_build() and build_machine.cpu_family() != 'arm' and build_machine.system() == 'linux' and objcopy.found() and objcopy_supports_add_symbol and ld.found()
    glib_compile_resources = find_program('glib-compile-resources')
-diff -uraN gtk-4.8.2/gtk/meson.build omv-gtk-4.8.2/gtk/meson.build
---- gtk-4.8.2/gtk/meson.build	2022-10-24 19:46:56.000000000 +0200
-+++ omv-gtk-4.8.2/gtk/meson.build	2022-10-25 17:08:47.663847295 +0200
-@@ -874,7 +874,7 @@
-   objcopy_supports_add_symbol = run_command(objcopy, '--help').stdout().contains('--add-symbol')
+diff -uraN gtk-4.10.1/gtk/meson.build omv-gtk-4.10.1/gtk/meson.build
+--- gtk-4.10.1/gtk/meson.build	2023-03-14 12:50:49.000000000 +0100
++++ omv-gtk-4.10.1/gtk/meson.build	2023-03-18 20:28:30.997145354 +0100
+@@ -790,7 +790,7 @@
+   objcopy_supports_add_symbol = run_command(objcopy, '--help', check: false).stdout().contains('--add-symbol')
  endif
  
 -ld = find_program('ld', required : false)
diff --git a/gtk4.0.spec b/gtk4.0.spec
index c1859ce..374ed46 100644
--- a/gtk4.0.spec
+++ b/gtk4.0.spec
@@ -1,25 +1,12 @@
-# enable_gtkdoc: Toggle if gtk-doc files should be rebuilt.
-#      0 = no
-#      1 = yes
-%define enable_gtkdoc 0
-
-# enable_bootstrap: Toggle if bootstrapping package
-#      0 = no
-#      1 = yes
-%define enable_bootstrap 1
-
-# enable_tests: Run test suite in build
-#      0 = no
-#      1 = yes
-%define enable_tests 0
-
-%{?_without_gtkdoc: %{expand: %%define enable_gtkdoc 0}}
-%{?_without_bootstrap: %{expand: %%define enable_bootstrap 0}}
-%{?_without_tests: %{expand: %%define enable_tests 0}}
-
-%{?_with_gtkdoc: %{expand: %%define enable_gtkdoc 1}}
-%{?_with_bootstrap: %{expand: %%define enable_bootstrap 1}}
-%{?_with_tests: %{expand: %%define enable_tests 1}}
+%bcond_with bootstrap
+%if %{with bootstrap}
+# Disable gstreamer to avoid a circular build dependency between gtk4 and gst-plugins-bad. Enable it after bootstraping.
+%bcond_with gstreamer
+%else
+%bcond_without gstreamer
+%endif
+%bcond_with gtkdoc
+%bcond_with tests
 
 # required version of various libraries
 %global glib2_version 2.65.0
@@ -46,7 +33,7 @@
 %define _disable_ld_no_undefined 1
 
 Name:		%{pkgname}%{api_version}
-Version:	4.8.2
+Version:	4.10.5
 Release:	1
 Summary:        GTK graphical user interface library
 License:	LGPLv2+
@@ -58,11 +45,14 @@ Source0:	https://download.gnome.org/sources/%{pkgname}/%{url_ver}/%{pkgname}-%{v
 
 # Fedora patches
 
-# Mandriva patches
+# OpenMandriva patches
 # Stupid gnomes want to write their own build system, but don't even
 # know about different implementations of ld, or LD environment
 # variables, or CC_LD settings in their own build system...
 Patch0:		gtk-4.6.0-fix-stupid-assumptions-about-ld-being-ld.bfd.patch
+# FIXME this patch is not entirely correct, but should be good enough.
+# Certainly better than failing to even compile...
+Patch1:		gtk-4.10.1-ffmpeg-6.0.patch
 
 Requires:	common-licenses
 
@@ -84,7 +74,9 @@ BuildRequires: pkgconfig(gdk-pixbuf-2.0) >= %{gdk_pixbuf_version}
 BuildRequires: pkgconfig(glib-2.0) >= %{glib2_version}
 BuildRequires: pkgconfig(gobject-introspection-1.0)
 BuildRequires: pkgconfig(graphene-gobject-1.0)
+%if %{with gstreamer}
 BuildRequires: pkgconfig(gstreamer-player-1.0)
+%endif
 BuildRequires: pkgconfig(gi-docgen)
 BuildRequires: pkgconfig(iso-codes)
 BuildRequires: pkgconfig(json-glib-1.0)
@@ -94,9 +86,12 @@ BuildRequires: pkgconfig(libjpeg)
 BuildRequires: pkgconfig(libpng)
 BuildRequires: pkgconfig(libtiff-4)
 BuildRequires: pkgconfig(pango) >= %{pango_version}
+BuildRequires: pkgconfig(pangocairo)
+%if !  %{with bootstrap}
 BuildRequires: pkgconfig(sysprof-4)
 BuildRequires: pkgconfig(sysprof-capture-4)
 BuildRequires: pkgconfig(rest-0.7)
+%endif
 BuildRequires: pkgconfig(tracker-sparql-3.0)
 BuildRequires: pkgconfig(vulkan)
 BuildRequires: pkgconfig(wayland-client) >= %{wayland_version}
@@ -120,11 +115,11 @@ BuildRequires: vulkan-headers
 
 %rename gtk+4.0
 
-%if %enable_tests
+%if %{with tests}
 BuildRequires:	x11-server-xvfb
 %endif
 
-%if %enable_gtkdoc
+%if %{with gtkdoc}
 BuildRequires:	gtk-doc >= 1.99
 BuildRequires:	sgml-tools
 BuildRequires:	texinfo
@@ -133,7 +128,7 @@ BuildRequires:	texinfo
 # gw tests will fail without this
 BuildRequires:	fonts-ttf-dejavu
 
-%if !%{enable_bootstrap}
+%if ! %{with bootstrap}
 Recommends:	xdg-user-dirs-gtk
 %endif
 Recommends:	%mklibname gvfs 0
@@ -223,14 +218,23 @@ rm -rf subprojects
         -Dbroadway-backend=true \
         -Dvulkan=enabled \
         -Dmedia-ffmpeg=enabled \
+%if %{with gstreamer}        
         -Dmedia-gstreamer=enabled \
+%else        
+        -Dmedia-gstreamer=disabled \
+%endif        
+%if %{with bootstrap}
+	-Dsysprof=disabled \
+%else
         -Dsysprof=enabled \
+%endif
         -Dcolord=enabled \
         -Dcloudproviders=disabled \
         -Dgtk_doc=false \
         -Dman-pages=true \
         -Dtracker=enabled \
-        -Dinstall-tests=false
+        -Dbuild-testsuite=false \
+        -Dbuild-tests=false
 
 %meson_build
 
@@ -254,7 +258,7 @@ mkdir -p $RPM_BUILD_ROOT%{_libdir}/gtk-%{api_version}/modules
 
 %check
 desktop-file-validate %{buildroot}%{_datadir}/applications/*.desktop
-%if %enable_tests
+%if %{with tests}
 XDISPLAY=$(i=1; while [ -f /tmp/.X$i-lock ]; do i=$(($i+1)); done; echo $i)
 %{_bindir}/Xvfb :$XDISPLAY &
 export DISPLAY=:$XDISPLAY
@@ -287,8 +291,10 @@ kill $(cat /tmp/.X$XDISPLAY-lock) ||:
 %{_libdir}/gtk-%{api_version}/%{binary_version}/printbackends/*.so
 %{_libdir}/libgtk-4.so.%{lib_major}.*
 %{_libdir}/libgtk-4.so.%{lib_major}
-%{_libdir}/gtk-%{api_version}/%{binary_version}/media/libmedia-gstreamer.so
 %{_libdir}/gtk-%{api_version}/%{binary_version}/media/libmedia-ffmpeg.so
+%if %{with gstreamer}
+%{_libdir}/gtk-%{api_version}/%{binary_version}/media/libmedia-gstreamer.so
+%endif
 
 %files -n %{girname}
 %{_libdir}/girepository-1.0/Gdk-%{api_version}.typelib
Not Available

benbullard79 [@T] cox.netNo Comment.267d 23hrs
benbullard79 [@T] cox.netNo Comment.267d 23hrs