x11-toolkits/gtk30: Update to 3.24.38

- Switch to DISTVERSION
- Switch to meson build
- Fix ATK_BRIGDE option (deps run detection: #PR269963)
- Group backends into multi option (at least one backend needed to build)
- Pet portlint, portclippy and portfmt

ChangeLog:	https://gitlab.gnome.org/GNOME/gtk/-/blob/gtk-3-24/NEWS
PR:		269963, 275567
Exp-run by:	antoine
This commit is contained in:
Nuno Teixeira 2023-12-23 12:56:37 +00:00
parent 3693c2151d
commit 0a1dd69c31
11 changed files with 820 additions and 907 deletions

View file

@ -1,11 +1,7 @@
# Please keep gtk30 in sync with the following x11-themes ports:
# adwaita-icon-theme, gnome-themes-standard and mate-themes
PORTNAME= gtk
PORTVERSION= 3.24.34
PORTREVISION= 1
DISTVERSION= 3.24.38 # sync with x11-themes: adwaita-icon-theme, gnome-themes-standard and mate-themes
CATEGORIES= x11-toolkits
MASTER_SITES= GNOME/sources/gtk+/${PORTVERSION:C/^([0-9]+\.[0-9]+).*/\1/}
MASTER_SITES= GNOME/sources/gtk+/${DISTVERSION:R}
PKGNAMESUFFIX= 3
DISTNAME= gtk+-${PORTVERSION}
DIST_SUBDIR= gnome
@ -16,82 +12,73 @@ WWW= https://www.gtk.org/
LICENSE= LGPL20
PORTSCOUT= limit:1,even
LIB_DEPENDS= libepoxy.so:graphics/libepoxy \
libfribidi.so:converters/fribidi \
libfontconfig.so:x11-fonts/fontconfig \
libfreetype.so:print/freetype2 \
libfribidi.so:converters/fribidi \
libharfbuzz.so:print/harfbuzz
RUN_DEPENDS+= hicolor-icon-theme>=0:misc/hicolor-icon-theme \
adwaita-icon-theme>=0:x11-themes/adwaita-icon-theme
RUN_DEPENDS= adwaita-icon-theme>=0:x11-themes/adwaita-icon-theme \
hicolor-icon-theme>=0:misc/hicolor-icon-theme
USE_PERL5= build
USE_LDCONFIG= yes
GNU_CONFIGURE= yes
USE_GNOME= atk cairo gdkpixbuf2 introspection:build pango \
librsvg2:run gtk-update-icon-cache
USES= compiler:c11 cpe gettext gmake gnome libtool localbase \
pathfix perl5 pkgconfig tar:xz
USES= compiler:c11 cpe gettext gnome localbase meson ninja pathfix \
perl5 pkgconfig python shebangfix tar:xz
CPE_VENDOR= gnome
CONFIGURE_ARGS= --enable-introspection
CPPFLAGS+= -fno-omit-frame-pointer
INSTALL_TARGET= install-strip
LIBVERSION= 0.2404.30
PLIST_SUB+= LIBVERSION=${LIBVERSION}
USE_GNOME= atk cairo gdkpixbuf2 gtk-update-icon-cache pango \
introspection:build librsvg2:run
GLIB_SCHEMAS= org.gtk.Demo.gschema.xml \
org.gtk.Settings.ColorChooser.gschema.xml \
org.gtk.Settings.Debug.gschema.xml \
org.gtk.Settings.EmojiChooser.gschema.xml \
org.gtk.Settings.FileChooser.gschema.xml
USE_LDCONFIG= yes
USE_PERL5= build
SHEBANG_GLOB= *.py
OPTIONS_DEFINE= ATK_BRIDGE CUPS COLORD DEBUG BROADWAY WAYLAND X11
OPTIONS_DEFAULT=ATK_BRIDGE CUPS COLORD BROADWAY WAYLAND X11
OPTIONS_SUB= yes
MESON_ARGS= -Dtests=false
ATK_BRIDGE_DESC=AT-SPI ATK bridge support
ATK_BRIDGE_CONFIGURE_WITH= atk-bridge
PORTSCOUT= limit:1,even
LIBVERSION= 0.2406.32
PLIST_SUB+= LIBVERSION=${LIBVERSION}
OPTIONS_DEFINE= ATK_BRIDGE COLORD CUPS DEBUG DOCS
OPTIONS_DEFAULT= ATK_BRIDGE BROADWAY COLORD CUPS WAYLAND X11
OPTIONS_MULTI= BACKENDS
OPTIONS_MULTI_BACKENDS= BROADWAY WAYLAND X11
OPTIONS_SUB= yes
ATK_BRIDGE_DESC= AT-SPI ATK bridge support
BROADWAY_DESC= Enable GDK Broadway backend for showing GTK in the webbrowser using HTML5 and web sockets.
COLORD_DESC= Color profile support
WAYLAND_DESC= GDK Wayland backend
X11_DESC= GDK X11 backend
ATK_BRIDGE_IMPLIES= X11
ATK_BRIDGE_LIB_DEPENDS= libatk-bridge-2.0.so:accessibility/at-spi2-core
ATK_BRIDGE_MESON_TRUE= atk_bridge
BROADWAY_DESC= Enable GDK Broadway backend for showing GTK in the webbrowser using HTML5 and web sockets.
BROADWAY_CONFIGURE_ENABLE= broadway-backend
BROADWAY_MESON_TRUE= broadway_backend
COLORD_DESC= Color profile support
COLORD_LIB_DEPENDS= libcolord.so:graphics/colord
COLORD_CONFIGURE_ENABLE=colord
COLORD_MESON_YES= colord
CUPS_LIB_DEPENDS= libcups.so:print/cups
CUPS_CONFIGURE_ENABLE= cups
CUPS_MESON_ON= -Dprint_backends=cups,file,lpr
CUPS_MESON_OFF= -Dprint_backends=file,lpr
# don't explicitly disable debug, this causes segfaults. See ports r437293
DEBUG_CONFIGURE_ON= --enable-debug=yes
DEBUG_MESON_ON= --buildtype=debug
DOCS_BUILD_DEPENDS= gtk-doc>0:textproc/gtk-doc
DOCS_MESON_TRUE= gtk_doc man
WAYLAND_DESC= GDK Wayland backend
WAYLAND_CONFIGURE_ENABLE= wayland-backend
WAYLAND_BUILD_DEPENDS= wayland-protocols>=0:graphics/wayland-protocols
WAYLAND_LIB_DEPENDS= libwayland-egl.so:graphics/wayland \
libxkbcommon.so:x11/libxkbcommon
WAYLAND_RUN_DEPENDS= gsettings-desktop-schemas>=0:devel/gsettings-desktop-schemas
WAYLAND_USES= gl
WAYLAND_USE= GL=egl
WAYLAND_MESON_TRUE= wayland_backend
X11_DESC= GDK X11 backend
X11_CONFIGURE_ENABLE= x11-backend
X11_USES= xorg
X11_USE= XORG=x11,xcomposite,xcursor,xdamage,xext,xfixes,xi,xinerama,xrandr,xrender
post-patch:
@${REINPLACE_CMD} -e 's|[{]libdir[}]/locale|{datadir}/locale|g' \
${WRKSRC}/configure
pre-configure-X11-on:
# .if !exists() evaluates too early before cairo has a chance to be installed
@if ! pkg-config --exists cairo-xlib; then \
${ECHO_MSG} "${PKGNAME}: Needs cairo with X11 support enabled."; \
${FALSE}; \
fi
X11_USES= xorg
X11_USE= XORG=x11,xcomposite,xcursor,xdamage,xext,xfixes,xi,xinerama,xrandr,xrender
X11_MESON_TRUE= x11_backend
pre-build:
@${RM} -r ${WRKSRC}/docs/gtk.info*
@ -100,7 +87,9 @@ post-install:
@${MKDIR} ${STAGEDIR}${PREFIX}/lib/gtk-3.0/modules
@${MKDIR} ${STAGEDIR}${PREFIX}/lib/gtk-3.0/${GTK3_VERSION}/engines
@${MKDIR} ${STAGEDIR}${PREFIX}/lib/gtk-3.0/${GTK3_VERSION}/loaders
${INSTALL_MAN} ${WRKSRC}/docs/reference/gtk/gtk-query-immodules-3.0.1 \
${STAGEDIR}${PREFIX}/man/man1
pre-test:
${RM} ${CONFIGURE_COOKIE} ${BUILD_COOKIE}
${MAKE} -C${.CURDIR} build MESON_ARGS="${MESON_ARGS} --reconfigure -Dtests=true"
.include <bsd.port.mk>

View file

@ -1,3 +1,3 @@
TIMESTAMP = 1657915097
SHA256 (gnome/gtk+-3.24.34.tar.xz) = dbc69f90ddc821b8d1441f00374dc1da4323a2eafa9078e61edbe5eeefa852ec
SIZE (gnome/gtk+-3.24.34.tar.xz) = 21587592
TIMESTAMP = 1702200536
SHA256 (gnome/gtk+-3.24.38.tar.xz) = ce11decf018b25bdd8505544a4f87242854ec88be054d9ade5f3a20444dd8ee7
SIZE (gnome/gtk+-3.24.38.tar.xz) = 12398104

View file

@ -1,11 +0,0 @@
--- Makefile.in.orig 2020-09-03 22:05:26 UTC
+++ Makefile.in
@@ -573,7 +573,7 @@ XVFB_START = \
|| { echo "Gtk+Tests:ERROR: Failed to start Xvfb environment for X11 target tests."; exit 1; } \
&& DISPLAY=:$$XID && export DISPLAY
-SRC_SUBDIRS = gdk gtk libgail-util modules demos tests testsuite examples
+SRC_SUBDIRS = gdk gtk libgail-util modules demos
SUBDIRS = po po-properties $(SRC_SUBDIRS) docs m4macros win32
ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS}
MAINTAINERCLEANFILES = \

View file

@ -1,120 +1,68 @@
Revert https://gitlab.gnome.org/GNOME/gtk/-/commit/ed8203e700aa
NetBSD pkgsrc patch
--- config.h.in.orig 2019-07-03 20:26:06 UTC
+++ config.h.in
@@ -10,6 +10,9 @@
/* Disable deprecation warnings from glib */
#undef GLIB_DISABLE_DEPRECATION_WARNINGS
+/* Define to use atk-bridge-2.0 */
+#undef HAVE_ATK_BRIDGE
+
/* Define to 1 if you have the `bind_textdomain_codeset' function. */
#undef HAVE_BIND_TEXTDOMAIN_CODESET
--- config.h.meson.orig 2019-06-17 17:04:21 UTC
+++ config.h.meson
@@ -11,6 +11,9 @@
/* Disable deprecation warnings from glib */
#mesondefine GLIB_DISABLE_DEPRECATION_WARNINGS
+/* Define to use atk-bridge-2.0 */
+#mesondefine HAVE_ATK_BRIDGE
+
/* Define to 1 if you have the `bind_textdomain_codeset' function. */
#mesondefine HAVE_BIND_TEXTDOMAIN_CODESET
--- configure.orig 2019-07-03 20:26:06 UTC
+++ configure
@@ -1061,6 +1061,7 @@ enable_glibtest
enable_modules
with_included_immodules
with_x
+with_atk_bridge
enable_win32_gles
enable_cups
enable_papi
@@ -1838,6 +1839,7 @@ Optional Packages:
--with-included-immodules=MODULE1,MODULE2,...
build the specified input methods into gtk
--with-x use the X Window System
+ --without-atk-bridge Do not use AT-SPI ATK bridge
--with-html-dir=PATH path to installed docs
--with-xml-catalog=CATALOG
path to xml catalog to use
@@ -27103,8 +27105,20 @@ fi
# Check for Accessibility Toolkit flags
########################################
-if test x$enable_x11_backend = xyes; then
+
+# Check whether --with-atk-bridge was given.
+if test "${with_atk_bridge+set}" = set; then :
+ withval=$with_atk_bridge; :
+else
+ with_atk_bridge=$enable_x11_backend
+fi
+
+
+if test x$with_atk_bridge != xno; then
ATK_PACKAGES="atk atk-bridge-2.0"
+
+$as_echo "#define HAVE_ATK_BRIDGE 1" >>confdefs.h
+
else
ATK_PACKAGES="atk"
fi
--- gtk/a11y/gtkaccessibility.c.orig 2019-01-03 00:44:12 UTC
--- gtk/a11y/gtkaccessibility.c.orig 2023-05-22 02:22:08 UTC
+++ gtk/a11y/gtkaccessibility.c
@@ -37,7 +37,7 @@
#include <gtk/gtktogglebutton.h>
@@ -38,8 +38,10 @@
#include <gtk/gtkaccessible.h>
-#ifdef GDK_WINDOWING_X11
#ifdef GDK_WINDOWING_X11
+#ifdef HAVE_ATK_BRIDGE
#include <atk-bridge.h>
#endif
+#endif
@@ -988,7 +988,7 @@ _gtk_accessibility_init (void)
_gtk_accessibility_override_atk_util ();
static gboolean gail_focus_watcher (GSignalInvocationHint *ihint,
guint n_param_values,
@@ -989,7 +991,9 @@ _gtk_accessibility_init (void)
do_window_event_initialization ();
-#ifdef GDK_WINDOWING_X11
#ifdef GDK_WINDOWING_X11
+#ifdef HAVE_ATK_BRIDGE
atk_bridge_adaptor_init (NULL, NULL);
+#endif
#endif
--- meson.build.orig 2020-12-06 00:49:26 UTC
atk_misc_instance = g_object_new (GTK_TYPE_MISC_IMPL, NULL);
--- meson.build.orig 2023-05-22 02:22:08 UTC
+++ meson.build
@@ -576,7 +576,7 @@ if x11_enabled
@@ -137,6 +137,7 @@ win32_enabled = get_option('win32_backend')
broadway_enabled = get_option('broadway_backend')
quartz_enabled = get_option('quartz_backend')
win32_enabled = get_option('win32_backend')
+atkbridge_enabled = get_option('atk_bridge')
os_unix = false
os_linux = false
@@ -564,7 +565,10 @@ if x11_enabled
xfixes_dep = dependency('xfixes', required: false)
xcomposite_dep = dependency('xcomposite', required: false)
fontconfig_dep = dependency('fontconfig', fallback: ['fontconfig', 'fontconfig_dep'])
- atkbridge_dep = dependency('atk-bridge-2.0', version: at_spi2_atk_req)
+ atkbridge_dep = dependency('atk-bridge-2.0', version: at_spi2_atk_req, required: get_option('atk-bridge'))
+ if atkbridge_enabled
atkbridge_dep = dependency('atk-bridge-2.0', version: at_spi2_atk_req)
+ cdata.set('HAVE_ATK_BRIDGE', 1)
+ endif
x11_pkgs = ['fontconfig', 'x11', 'xext', 'xi', 'xrandr']
backend_immodules += ['xim']
@@ -593,7 +593,10 @@ if x11_enabled
@@ -583,7 +587,9 @@ if x11_enabled
x11_pkgs += ['xdamage']
endif
- atk_pkgs += ['atk-bridge-2.0']
+ if atkbridge_dep.found()
+ atk_pkgs += ['atk-bridge-2.0']
+ cdata.set('HAVE_ATK_BRIDGE', 1)
+ if atkbridge_enabled
atk_pkgs += ['atk-bridge-2.0']
+ endif
cdata.set('HAVE_XDAMAGE', xdamage_dep.found() ? 1 : false)
cdata.set('HAVE_XCURSOR', xcursor_dep.found() ? 1 : false)
--- meson_options.txt.orig 2019-06-17 18:03:27 UTC
--- meson_options.txt.orig 2023-05-22 02:22:08 UTC
+++ meson_options.txt
@@ -13,6 +13,8 @@ option('mir_backend', type: 'boolean', value: false,
description : 'Enable the Mir gdk backend')
@@ -9,6 +9,8 @@ option('quartz_backend', type: 'boolean', value: true,
description : 'Enable the Windows gdk backend (only when building on Windows)')
option('quartz_backend', type: 'boolean', value: true,
description : 'Enable the macOS gdk backend (only when building on macOS)')
+option('atk_bridge', type: 'boolean', value: true,
+ description : 'Enable Atk bridge')
# Optional dependencies
+option('atk-bridge', type: 'boolean', value: 'true',
+ description : 'Enable AT-SPI ATK bridge support')
option('xinerama', type: 'combo', choices : ['yes', 'no', 'auto'], value : 'auto',
description : 'Enable support for the Xinerama extension')
option('cloudproviders', type: 'boolean', value: false,

View file

@ -1,28 +0,0 @@
--- configure.orig 2021-07-08 12:18:36 UTC
+++ configure
@@ -4139,9 +4139,15 @@ GAIL_LT_CURRENT_MINUS_AGE=0
# Workaround for https://bugzilla.gnome.org/show_bug.cgi?id=721346 until fixed upstream in autoconf-archive
if test "$cross_compiling" = "no"; then
+ if test -n "$CC"; then
+ CC_FOR_BUILD=$CC
+ fi
if test -n "$CFLAGS"; then
CFLAGS_FOR_BUILD=$CFLAGS
fi
+ if test -n "$CPP"; then
+ CPP_FOR_BUILD=$CPP
+ fi
if test -n "$CPPFLAGS"; then
CPPFLAGS_FOR_BUILD=$CPPFLAGS
fi
@@ -27875,9 +27881,7 @@ fi
if test "$have_cups" = "yes"; then
GTK_PRINT_BACKENDS="$GTK_PRINT_BACKENDS,cups"
fi
-if test "$have_papi" != "yes" -a "$have_cups" != "yes"; then
GTK_PRINT_BACKENDS="$GTK_PRINT_BACKENDS,lpr"
-fi
################################################################

View file

@ -1,20 +0,0 @@
--- docs/Makefile.in.orig 2015-03-09 16:12:04.497272000 +0100
+++ docs/Makefile.in 2015-03-09 16:23:52.809599000 +0100
@@ -341,7 +341,7 @@
LT_CURRENT_MINUS_AGE = @LT_CURRENT_MINUS_AGE@
LT_VERSION_INFO = @LT_VERSION_INFO@
MAINT = @MAINT@
-MAKEINFO = @MAKEINFO@
+MAKEINFO = @MAKEINFO@ --no-split
MANIFEST_TOOL = @MANIFEST_TOOL@
MATH_LIB = @MATH_LIB@
MKDIR_P = @MKDIR_P@
@@ -486,7 +486,7 @@
|| { echo "Gtk+Tests:ERROR: Failed to start Xvfb environment for X11 target tests."; exit 1; } \
&& DISPLAY=:$$XID && export DISPLAY
-SUBDIRS = reference tools
+SUBDIRS = reference
all: all-recursive
.SUFFIXES:

View file

@ -1,10 +0,0 @@
--- docs/reference/gtk/Makefile.in.orig 2014-10-14 15:50:07.675435846 +0200
+++ docs/reference/gtk/Makefile.in 2014-10-14 15:50:49.218431589 +0200
@@ -820,7 +820,6 @@
########################################################################
man_MANS = \
gtk-query-immodules-3.0.1 \
- gtk-update-icon-cache.1 \
gtk-encode-symbolic-svg.1 \
gtk-launch.1 \
gtk3-demo.1 \

View file

@ -0,0 +1,10 @@
--- docs/reference/gtk/meson.build.orig 2023-12-11 10:53:44 UTC
+++ docs/reference/gtk/meson.build
@@ -500,7 +500,6 @@ if get_option('man') and xsltproc.found()
man_files = [
[ 'gtk-query-immodules-3.0', '1', ],
- [ 'gtk-update-icon-cache', '1', ],
[ 'gtk-encode-symbolic-svg', '1', ],
[ 'gtk-launch', '1', ],
[ 'gtk-builder-tool', '1', ],

View file

@ -1,6 +1,6 @@
--- gtk/gtkbuilderparser.c.orig 2015-11-12 16:34:36.000000000 +0100
+++ gtk/gtkbuilderparser.c 2015-11-12 23:17:26.500037000 +0100
@@ -1146,7 +1146,7 @@
--- gtk/gtkbuilderparser.c.orig 2023-05-22 02:22:08 UTC
+++ gtk/gtkbuilderparser.c
@@ -1149,7 +1149,7 @@ static void
/* Called for character data */
/* text is not nul-terminated */
static void
@ -9,7 +9,7 @@
const gchar *text,
gsize text_len,
gpointer user_data,
@@ -1204,7 +1204,7 @@
@@ -1207,7 +1207,7 @@ static const GMarkupParser parser = {
static const GMarkupParser parser = {
start_element,
end_element,

View file

@ -1,6 +1,6 @@
--- gtk/updateiconcache.c.orig 2009-05-11 18:05:35.000000000 +0200
+++ gtk/updateiconcache.c 2009-05-30 12:03:39.000000000 +0200
@@ -1505,7 +1505,7 @@ opentmp:
--- gtk/updateiconcache.c.orig 2023-05-22 02:22:08 UTC
+++ gtk/updateiconcache.c
@@ -1556,7 +1556,7 @@ opentmp:
if (!validate_file (tmp_cache_path))
{
g_printerr (_("The generated cache was invalid.\n"));

File diff suppressed because it is too large Load diff