From 9f4863ef2a293f3a6c12b6bc7191a6fddecbdc65 Mon Sep 17 00:00:00 2001 From: Jia Yuan Lo Date: Sun, 15 Oct 2023 23:28:40 +0800 Subject: [PATCH] bump(x11/gtk4): 4.12.4 * enable auto update * enable wayland --- x11-packages/gtk4/build.sh | 40 ++- x11-packages/gtk4/gdkdisplay-wayland.c.patch | 68 +++++ .../gtk4/gir/{4.10.4 => 4.12.4}/Gdk-4.0.xml | 60 ++-- .../gtk4/gir/4.12.4/GdkWayland-4.0.xml | 21 ++ .../gir/{4.10.4 => 4.12.4}/GdkX11-4.0.xml | 0 .../gtk4/gir/{4.10.4 => 4.12.4}/Gsk-4.0.xml | 10 +- .../gtk4/gir/{4.10.4 => 4.12.4}/Gtk-4.0.xml | 282 +++++++++++------- 7 files changed, 344 insertions(+), 137 deletions(-) create mode 100644 x11-packages/gtk4/gdkdisplay-wayland.c.patch rename x11-packages/gtk4/gir/{4.10.4 => 4.12.4}/Gdk-4.0.xml (94%) create mode 100644 x11-packages/gtk4/gir/4.12.4/GdkWayland-4.0.xml rename x11-packages/gtk4/gir/{4.10.4 => 4.12.4}/GdkX11-4.0.xml (100%) rename x11-packages/gtk4/gir/{4.10.4 => 4.12.4}/Gsk-4.0.xml (98%) rename x11-packages/gtk4/gir/{4.10.4 => 4.12.4}/Gtk-4.0.xml (96%) diff --git a/x11-packages/gtk4/build.sh b/x11-packages/gtk4/build.sh index df03bcd669..9a1bc05cfa 100644 --- a/x11-packages/gtk4/build.sh +++ b/x11-packages/gtk4/build.sh @@ -2,27 +2,41 @@ TERMUX_PKG_HOMEPAGE=https://www.gtk.org/ TERMUX_PKG_DESCRIPTION="GObject-based multi-platform GUI toolkit" TERMUX_PKG_LICENSE="LGPL-2.0" TERMUX_PKG_MAINTAINER="@termux" -_MAJOR_VERSION=4.10 -TERMUX_PKG_VERSION=${_MAJOR_VERSION}.4 -TERMUX_PKG_REVISION=1 -TERMUX_PKG_SRCURL=https://download.gnome.org/sources/gtk/${_MAJOR_VERSION}/gtk-${TERMUX_PKG_VERSION}.tar.xz -TERMUX_PKG_SHA256=7725400482e0685e28265e226c62847f4e73cfca9e9b416ac5838207f5377a24 -TERMUX_PKG_DEPENDS="adwaita-icon-theme, fontconfig, fribidi, gdk-pixbuf, glib, glib-bin, graphene, gtk-update-icon-cache, harfbuzz, libcairo, libepoxy, libjpeg-turbo, libpng, libtiff, libx11, libxcursor, libxdamage, libxext, libxfixes, libxi, libxinerama, libxrandr, pango, shared-mime-info" -TERMUX_PKG_BUILD_DEPENDS="g-ir-scanner, xorgproto" +TERMUX_PKG_VERSION="4.12.4" +TERMUX_PKG_SRCURL=https://download.gnome.org/sources/gtk/${TERMUX_PKG_VERSION%.*}/gtk-${TERMUX_PKG_VERSION}.tar.xz +TERMUX_PKG_SHA256=ba67c6498e5599f928edafb9e08a320adfaa50ab2f0da6fc6ab2252fc2d57520 +TERMUX_PKG_DEPENDS="adwaita-icon-theme, fontconfig, fribidi, gdk-pixbuf, glib, glib-bin, graphene, gtk-update-icon-cache, harfbuzz, libcairo, libepoxy, libjpeg-turbo, libpng, libtiff, libwayland, libx11, libxcursor, libxdamage, libxext, libxfixes, libxi, libxinerama, libxkbcommon, libxrandr, pango, shared-mime-info" +TERMUX_PKG_BUILD_DEPENDS="g-ir-scanner, glib-cross, libwayland-protocols, xorgproto" TERMUX_PKG_RECOMMENDS="desktop-file-utils, librsvg, ttf-dejavu" TERMUX_PKG_DISABLE_GIR=false +TERMUX_PKG_AUTO_UPDATE=true TERMUX_PKG_EXTRA_CONFIGURE_ARGS=" --Dintrospection=enabled --Dwayland-backend=false --Ddemos=false --Dbuild-testsuite=false +-Dbuild-demos=false -Dbuild-examples=false -Dbuild-tests=false --Dvulkan=disabled --Dprint-cups=disabled +-Dbuild-testsuite=false +-Dintrospection=enabled -Dmedia-gstreamer=disabled +-Dprint-cups=disabled +-Dvulkan=disabled +-Dwayland-backend=true " termux_step_pre_configure() { + termux_setup_cmake termux_setup_gir + termux_setup_ninja + + local _WRAPPER_BIN="${TERMUX_PKG_BUILDDIR}/_wrapper/bin" + mkdir -p "${_WRAPPER_BIN}" + if [[ "${TERMUX_ON_DEVICE_BUILD}" == "false" ]]; then + sed \ + -e "s|^export PKG_CONFIG_LIBDIR=|export PKG_CONFIG_LIBDIR=${TERMUX_PREFIX}/opt/glib/cross/lib/x86_64-linux-gnu/pkgconfig:|" \ + -e "s|^export PKG_CONFIG_LIBDIR=|export PKG_CONFIG_LIBDIR=${TERMUX_PREFIX}/opt/libwayland/cross/lib/x86_64-linux-gnu/pkgconfig:|" \ + "${TERMUX_STANDALONE_TOOLCHAIN}/bin/pkg-config" \ + > "${_WRAPPER_BIN}/pkg-config" + chmod +x "${_WRAPPER_BIN}/pkg-config" + export PKG_CONFIG="${_WRAPPER_BIN}/pkg-config" + fi + export PATH="${_WRAPPER_BIN}:${PATH}" } diff --git a/x11-packages/gtk4/gdkdisplay-wayland.c.patch b/x11-packages/gtk4/gdkdisplay-wayland.c.patch new file mode 100644 index 0000000000..8da4b3cb53 --- /dev/null +++ b/x11-packages/gtk4/gdkdisplay-wayland.c.patch @@ -0,0 +1,68 @@ +--- a/gdk/wayland/gdkdisplay-wayland.c ++++ b/gdk/wayland/gdkdisplay-wayland.c +@@ -89,6 +89,65 @@ + #define XDG_ACTIVATION_VERSION 1 + #endif + ++static int shm_open(const char *name, int oflag, mode_t mode) { ++ size_t namelen; ++ char *fname; ++ int fd; ++ ++ /* Construct the filename. */ ++ while (name[0] == '/') ++name; ++ ++ if (name[0] == '\0') { ++ /* The name "/" is not supported. */ ++ errno = EINVAL; ++ return -1; ++ } ++ ++ namelen = strlen(name); ++ fname = (char *) alloca(sizeof("@TERMUX_PREFIX@/tmp/") - 1 + namelen + 1); ++ memcpy(fname, "@TERMUX_PREFIX@/tmp/", sizeof("@TERMUX_PREFIX@/tmp/") - 1); ++ memcpy(fname + sizeof("@TERMUX_PREFIX@/tmp/") - 1, name, namelen + 1); ++ ++ fd = open(fname, oflag, mode); ++ if (fd != -1) { ++ /* We got a descriptor. Now set the FD_CLOEXEC bit. */ ++ int flags = fcntl(fd, F_GETFD, 0); ++ flags |= FD_CLOEXEC; ++ flags = fcntl(fd, F_SETFD, flags); ++ ++ if (flags == -1) { ++ /* Something went wrong. We cannot return the descriptor. */ ++ int save_errno = errno; ++ close(fd); ++ fd = -1; ++ errno = save_errno; ++ } ++ } ++ ++ return fd; ++} ++ ++static int shm_unlink(const char *name) { ++ size_t namelen; ++ char *fname; ++ ++ /* Construct the filename. */ ++ while (name[0] == '/') ++name; ++ ++ if (name[0] == '\0') { ++ /* The name "/" is not supported. */ ++ errno = EINVAL; ++ return -1; ++ } ++ ++ namelen = strlen(name); ++ fname = (char *) alloca(sizeof("@TERMUX_PREFIX@/tmp/") - 1 + namelen + 1); ++ memcpy(fname, "@TERMUX_PREFIX@/tmp/", sizeof("@TERMUX_PREFIX@/tmp/") - 1); ++ memcpy(fname + sizeof("@TERMUX_PREFIX@/tmp/") - 1, name, namelen + 1); ++ ++ return unlink(fname); ++} ++ + static void _gdk_wayland_display_load_cursor_theme (GdkWaylandDisplay *display_wayland); + + G_DEFINE_TYPE (GdkWaylandDisplay, gdk_wayland_display, GDK_TYPE_DISPLAY) diff --git a/x11-packages/gtk4/gir/4.10.4/Gdk-4.0.xml b/x11-packages/gtk4/gir/4.12.4/Gdk-4.0.xml similarity index 94% rename from x11-packages/gtk4/gir/4.10.4/Gdk-4.0.xml rename to x11-packages/gtk4/gir/4.12.4/Gdk-4.0.xml index 1a37ffe38b..011a83dcad 100644 --- a/x11-packages/gtk4/gir/4.10.4/Gdk-4.0.xml +++ b/x11-packages/gtk4/gir/4.12.4/Gdk-4.0.xml @@ -3,14 +3,6 @@ - - - - - - - - @@ -137,7 +129,6 @@ - @@ -163,6 +154,7 @@ + @@ -222,6 +214,9 @@ + + + @@ -260,7 +255,11 @@ - + + + + + @@ -346,7 +345,17 @@ - + + + + + + + + + + + @@ -423,10 +432,6 @@ - - - - @@ -457,7 +462,7 @@ - + @@ -493,6 +498,7 @@ + @@ -503,11 +509,29 @@ + + + + + + + + + + + + + + + + + + @@ -524,6 +548,8 @@ + + @@ -549,7 +575,7 @@ - + diff --git a/x11-packages/gtk4/gir/4.12.4/GdkWayland-4.0.xml b/x11-packages/gtk4/gir/4.12.4/GdkWayland-4.0.xml new file mode 100644 index 0000000000..70fdf22a41 --- /dev/null +++ b/x11-packages/gtk4/gir/4.12.4/GdkWayland-4.0.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/x11-packages/gtk4/gir/4.10.4/GdkX11-4.0.xml b/x11-packages/gtk4/gir/4.12.4/GdkX11-4.0.xml similarity index 100% rename from x11-packages/gtk4/gir/4.10.4/GdkX11-4.0.xml rename to x11-packages/gtk4/gir/4.12.4/GdkX11-4.0.xml diff --git a/x11-packages/gtk4/gir/4.10.4/Gsk-4.0.xml b/x11-packages/gtk4/gir/4.12.4/Gsk-4.0.xml similarity index 98% rename from x11-packages/gtk4/gir/4.10.4/Gsk-4.0.xml rename to x11-packages/gtk4/gir/4.12.4/Gsk-4.0.xml index 1ace0ec244..6a8eb2ce1f 100644 --- a/x11-packages/gtk4/gir/4.10.4/Gsk-4.0.xml +++ b/x11-packages/gtk4/gir/4.12.4/Gsk-4.0.xml @@ -68,10 +68,6 @@ - - - - @@ -153,5 +149,9 @@ - + + + + + diff --git a/x11-packages/gtk4/gir/4.10.4/Gtk-4.0.xml b/x11-packages/gtk4/gir/4.12.4/Gtk-4.0.xml similarity index 96% rename from x11-packages/gtk4/gir/4.10.4/Gtk-4.0.xml rename to x11-packages/gtk4/gir/4.12.4/Gtk-4.0.xml index b1852582d1..80b727fa9d 100644 --- a/x11-packages/gtk4/gir/4.10.4/Gtk-4.0.xml +++ b/x11-packages/gtk4/gir/4.12.4/Gtk-4.0.xml @@ -1,7 +1,6 @@ - @@ -140,6 +139,7 @@ + @@ -306,6 +306,7 @@ + @@ -313,12 +314,14 @@ + + @@ -350,6 +353,7 @@ + @@ -385,8 +389,10 @@ + + @@ -425,6 +431,8 @@ + + @@ -433,11 +441,13 @@ + + @@ -453,17 +463,38 @@ + + + + - - - + + + + + + + + + + + + + + + + + + + + @@ -476,6 +507,16 @@ + + + + + + + + + + @@ -629,7 +670,6 @@ - @@ -661,7 +701,9 @@ + + @@ -710,7 +752,16 @@ - + + + + + + + + + + @@ -1045,6 +1096,7 @@ + @@ -1054,6 +1106,7 @@ + @@ -1161,32 +1214,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -1299,6 +1327,31 @@ + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1461,11 +1514,18 @@ + + + + + + + @@ -1473,6 +1533,7 @@ + @@ -1835,9 +1896,9 @@ - + - + @@ -1860,9 +1921,11 @@ + + @@ -1882,6 +1945,7 @@ + @@ -1945,6 +2009,8 @@ + + @@ -1952,8 +2018,8 @@ - - + + @@ -2073,6 +2139,8 @@ + + @@ -2122,12 +2190,13 @@ + - + @@ -2136,7 +2205,7 @@ - + @@ -2736,7 +2805,7 @@ - + @@ -2826,13 +2895,12 @@ - - + + - - - + + @@ -2840,11 +2908,13 @@ + + - + @@ -2863,6 +2933,7 @@ + @@ -2929,6 +3000,7 @@ + @@ -2968,6 +3040,7 @@ + @@ -2984,9 +3057,10 @@ + - + @@ -3167,24 +3241,24 @@ - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + @@ -3243,7 +3317,7 @@ - + @@ -3303,7 +3377,7 @@ - + @@ -3325,14 +3399,15 @@ - + + - - + + @@ -3390,6 +3465,13 @@ + + + + + + + @@ -3544,17 +3626,19 @@ + - + + @@ -3603,7 +3687,7 @@ - + @@ -3650,12 +3734,6 @@ - - - - - - @@ -4055,7 +4133,7 @@ - + @@ -4106,27 +4184,27 @@ - - - - - - - - - - - + + + + + + + + + + + - - - - - + + + + + @@ -4137,14 +4215,14 @@ - - - - - - - - + + + + + + + +