summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Väth <martin@mvath.de>2023-02-16 09:19:34 +0100
committerMartin Väth <martin@mvath.de>2023-02-16 09:19:34 +0100
commit6695df30d7fb5c3c9b49fe2e8dd1ce89060bf8f8 (patch)
tree4780c6ae190f2b46b6e9921c6e489bc58fbcd9c6
parentsys-apps/less: Revision bump for security fix (diff)
downloadmv-6695df30d7fb5c3c9b49fe2e8dd1ce89060bf8f8.tar.gz
mv-6695df30d7fb5c3c9b49fe2e8dd1ce89060bf8f8.tar.bz2
mv-6695df30d7fb5c3c9b49fe2e8dd1ce89060bf8f8.zip
x11-libs/gtk+: Version bump, adapt patch for meson
Signed-off-by: Martin Väth <martin@mvath.de>
-rw-r--r--metadata/pkg_desc_index2
-rw-r--r--x11-libs/gtk+/Manifest1
-rw-r--r--x11-libs/gtk+/files/gtk+-3.24.36-introspection.patch25
-rw-r--r--x11-libs/gtk+/files/gtk+-3.24.36-update-icon-cache.patch29
-rw-r--r--x11-libs/gtk+/files/gtk+-atk-bridge-meson.build.patch31
-rw-r--r--x11-libs/gtk+/files/gtk+-atk-bridge-meson_options.txt.patch14
-rw-r--r--x11-libs/gtk+/gtk+-3.24.36.ebuild195
7 files changed, 296 insertions, 1 deletions
diff --git a/metadata/pkg_desc_index b/metadata/pkg_desc_index
index 1ab1a412..e3fcc8ab 100644
--- a/metadata/pkg_desc_index
+++ b/metadata/pkg_desc_index
@@ -127,5 +127,5 @@ www-plugins/google-translator-for-firefox 3.0.3.3: Firefox webextension: transla
www-plugins/no-color 0.9.4: Firefox webextension: remove colors and background images from the page
www-plugins/noscript 11.4.8: Firefox webextension: restrict active contents like java/javascript/flash
www-plugins/translate-to-me 1.1: Firefox webextension: translate the selected text with www.linguee.com
-x11-libs/gtk+ 2.24.33-r2 3.24.35: Gimp ToolKit +
+x11-libs/gtk+ 2.24.33-r2 3.24.35 3.24.36: Gimp ToolKit +
x11-libs/motif 2.3.8-r3: The Motif user interface component toolkit
diff --git a/x11-libs/gtk+/Manifest b/x11-libs/gtk+/Manifest
index d3ac42a3..0fa7a1da 100644
--- a/x11-libs/gtk+/Manifest
+++ b/x11-libs/gtk+/Manifest
@@ -1,2 +1,3 @@
DIST gtk+-2.24.33.tar.xz 12661828 BLAKE2B f3488b220aaee54bf36fa77e2112d060152e57938845d240014a7d43a5743b1d4de19cc09c683d9d238fd1967cd67cc3c493f2475e4e481f6709f5cdc652c65c SHA512 71b588797c81f727dfac8dcb1be193f7436f717d30ecf18eae2d3aeb0f445b3be4743400acac16435490db8f564f01032065d3f42d27871317f80c98aef929d5
DIST gtk+-3.24.35.tar.xz 17913328 BLAKE2B 3beea3cbda7247357238ad133c951e69d5670d68e06efb4de09fae7141b141f4eb17a8c79661cab928a3db427f7b32b518875d0951254941e76b1a7aab60e34f SHA512 3a1ec35756fe12f5be3cfe33ef332d583690458327572e69bffad8b4095059d2a744a4a53b2fd31bab5da2ca7b41a2a38fbbd8ba541a45fa8cc0d00eae005ade
+DIST gtk+-3.24.36.tar.xz 12540184 BLAKE2B 3d9346a3fbc78420eb8edcbad42d9885bed69ce46505bc15819691d884f31aa72386fcd38837e042ba9be3cda6cf5203f921c7f6054a7350c46dee6b77fc4cc4 SHA512 76280e847653576e6fd0586d6044ab315f04c3548c211b37612c4ac77f7bbccfcff17459b9d1d3cbddeb74a62a0bcac05f850b89a20d4abc3893c6c387ecb03a
diff --git a/x11-libs/gtk+/files/gtk+-3.24.36-introspection.patch b/x11-libs/gtk+/files/gtk+-3.24.36-introspection.patch
new file mode 100644
index 00000000..8b80205b
--- /dev/null
+++ b/x11-libs/gtk+/files/gtk+-3.24.36-introspection.patch
@@ -0,0 +1,25 @@
+From 7e4a2a5724a184c418314f4fdbd7a065ba9e203d Mon Sep 17 00:00:00 2001
+From: Staudey <staudi.kaos@gmail.com>
+Date: Tue, 27 Dec 2022 04:54:52 +0000
+Subject: [PATCH] Fix build_gir logic
+
+---
+ meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/meson.build b/meson.build
+index aed48fc3f6..6c711e9e9a 100644
+--- a/meson.build
++++ b/meson.build
+@@ -849,7 +849,7 @@ endif
+
+ # Introspection
+ gir = find_program('g-ir-scanner', required : get_option('introspection'))
+-build_gir = gir.found() and (not meson.is_cross_build() or get_option('introspection'))
++build_gir = gir.found() and get_option('introspection')
+
+ subdir('gdk')
+ subdir('gtk')
+--
+GitLab
+
diff --git a/x11-libs/gtk+/files/gtk+-3.24.36-update-icon-cache.patch b/x11-libs/gtk+/files/gtk+-3.24.36-update-icon-cache.patch
new file mode 100644
index 00000000..19af75c3
--- /dev/null
+++ b/x11-libs/gtk+/files/gtk+-3.24.36-update-icon-cache.patch
@@ -0,0 +1,29 @@
+--- a/docs/reference/gtk/meson.build
++++ b/docs/reference/gtk/meson.build
+@@ -500,7 +500,6 @@
+
+ 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', ],
+--- a/gtk/meson.build
++++ b/gtk/meson.build
+@@ -1109,16 +1109,6 @@
+ extra_update_icon_cache_objs = import('windows').compile_resources(uac_rc)
+ endif
+
+-gtk_update_icon_cache = executable(
+- 'gtk-update-icon-cache',
+- 'updateiconcache.c',
+- extra_update_icon_cache_objs,
+- c_args: gtk_cargs,
+- dependencies: libgtk_dep,
+- install: true
+-)
+-gtk_tools += gtk_update_icon_cache
+-
+ gtk_query_immodules = executable(
+ 'gtk-query-immodules-3.0',
+ 'queryimmodules.c',
diff --git a/x11-libs/gtk+/files/gtk+-atk-bridge-meson.build.patch b/x11-libs/gtk+/files/gtk+-atk-bridge-meson.build.patch
new file mode 100644
index 00000000..ba07be50
--- /dev/null
+++ b/x11-libs/gtk+/files/gtk+-atk-bridge-meson.build.patch
@@ -0,0 +1,31 @@
+Martin V\"ath <martin at mvath.de>
+
+Honor atk_bridge option
+
+--- 1/meson.build
++++ 2/meson.build
+@@ -564,7 +564,12 @@
+ 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)
++
++ atk_bridge_enabled = get_option('atk_bridge')
++ if atk_bridge_enabled
++ atkbridge_dep = dependency('atk-bridge-2.0', version: at_spi2_atk_req)
++ cdata.set('HAVE_ATK_BRIDGE', 1)
++ endif
+
+ backend_immodules += ['xim']
+
+@@ -583,7 +588,9 @@
+ x11_pkgs += ['xdamage']
+ endif
+
+- atk_pkgs += ['atk-bridge-2.0']
++ if atk_bridge_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)
diff --git a/x11-libs/gtk+/files/gtk+-atk-bridge-meson_options.txt.patch b/x11-libs/gtk+/files/gtk+-atk-bridge-meson_options.txt.patch
new file mode 100644
index 00000000..a746d4fa
--- /dev/null
+++ b/x11-libs/gtk+/files/gtk+-atk-bridge-meson_options.txt.patch
@@ -0,0 +1,14 @@
+Martin V\"ath <martin at mvath.de>
+
+Add atk_bridge option
+
+--- 1/meson_options.txt
++++ 2/meson_options.txt
+@@ -47,3 +47,7 @@
+ # input modules
+ option('builtin_immodules', type: 'string',
+ value: '', description: 'Build specified immodules into GTK so/DLL (comma-separated list), "all", "none" or "backend"')
++
++# Recommended dependencies
++option('atk_bridge', type: 'boolean', value: true,
++ description : 'Enable atk-bridge support')
diff --git a/x11-libs/gtk+/gtk+-3.24.36.ebuild b/x11-libs/gtk+/gtk+-3.24.36.ebuild
new file mode 100644
index 00000000..4553e556
--- /dev/null
+++ b/x11-libs/gtk+/gtk+-3.24.36.ebuild
@@ -0,0 +1,195 @@
+# Copyright 1999-2023 Gentoo Authors and Martin V\"ath
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit gnome2 meson-multilib multilib
+
+DESCRIPTION="Gimp ToolKit +"
+HOMEPAGE="https://www.gtk.org/"
+SRC_URI="${SRC_URI-}"
+
+LICENSE="LGPL-2+"
+SLOT="3"
+IUSE="adwaita-icon-theme aqua atk-bridge broadway cloudproviders colord cups examples gtk-doc +introspection sysprof test vim-syntax wayland +X xinerama"
+REQUIRED_USE="
+ || ( aqua wayland X )
+ xinerama? ( X )
+"
+
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+
+# Upstream wants us to do their job:
+# https://bugzilla.gnome.org/show_bug.cgi?id=768662#c1
+RESTRICT="test"
+
+COMMON_DEPEND="
+ atk-bridge? ( >=app-accessibility/at-spi2-core-2.46.0[introspection?,${MULTILIB_USEDEP}] )
+ >=dev-libs/fribidi-0.19.7[${MULTILIB_USEDEP}]
+ >=dev-libs/glib-2.57.2:2[${MULTILIB_USEDEP}]
+ media-libs/fontconfig[${MULTILIB_USEDEP}]
+ >=media-libs/harfbuzz-2.2.0:=
+ >=media-libs/libepoxy-1.4[X(+)?,${MULTILIB_USEDEP}]
+ virtual/libintl[${MULTILIB_USEDEP}]
+ >=x11-libs/cairo-1.14[aqua?,glib,svg(+),X?,${MULTILIB_USEDEP}]
+ >=x11-libs/gdk-pixbuf-2.30:2[introspection?,${MULTILIB_USEDEP}]
+ >=x11-libs/pango-1.44.0[introspection?,${MULTILIB_USEDEP}]
+ x11-misc/shared-mime-info
+
+ cloudproviders? ( net-libs/libcloudproviders )
+ colord? ( >=x11-misc/colord-0.1.9:0=[${MULTILIB_USEDEP}] )
+ cups? ( >=net-print/cups-2.0[${MULTILIB_USEDEP}] )
+ introspection? ( >=dev-libs/gobject-introspection-1.39:= )
+ sysprof? ( >=dev-util/sysprof-capture-3.33.2:3[${MULTILIB_USEDEP}] )
+ wayland? (
+ >=dev-libs/wayland-1.14.91[${MULTILIB_USEDEP}]
+ >=dev-libs/wayland-protocols-1.21
+ media-libs/mesa[wayland,${MULTILIB_USEDEP}]
+ >=x11-libs/libxkbcommon-0.2[${MULTILIB_USEDEP}]
+ )
+ X? (
+ media-libs/libglvnd[X(+),${MULTILIB_USEDEP}]
+ x11-libs/libX11[${MULTILIB_USEDEP}]
+ x11-libs/libXcomposite[${MULTILIB_USEDEP}]
+ x11-libs/libXcursor[${MULTILIB_USEDEP}]
+ x11-libs/libXdamage[${MULTILIB_USEDEP}]
+ x11-libs/libXext[${MULTILIB_USEDEP}]
+ x11-libs/libXfixes[${MULTILIB_USEDEP}]
+ >=x11-libs/libXi-1.8[${MULTILIB_USEDEP}]
+ >=x11-libs/libXrandr-1.5[${MULTILIB_USEDEP}]
+ xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
+ )
+"
+DEPEND="${COMMON_DEPEND}
+ test? (
+ media-fonts/font-cursor-misc
+ media-fonts/font-misc-misc
+ )
+ X? ( x11-base/xorg-proto )
+"
+RDEPEND="${COMMON_DEPEND}
+ >=dev-util/gtk-update-icon-cache-3
+"
+# librsvg for svg icons (PDEPEND to avoid circular dep), bug #547710
+PDEPEND="
+ adwaita-icon-theme? ( gnome-base/librsvg[${MULTILIB_USEDEP}]
+ >=x11-themes/adwaita-icon-theme-3.14 )
+ !adwaita-icon-theme? ( x11-themes/hicolor-icon-theme virtual/freedesktop-icon-theme )
+ vim-syntax? ( app-vim/gtk-syntax )
+"
+BDEPEND="
+ app-text/docbook-xml-dtd:4.1.2
+ app-text/docbook-xsl-stylesheets
+ dev-libs/gobject-introspection-common
+ dev-libs/libxslt
+ >=dev-util/gdbus-codegen-2.48
+ dev-util/glib-utils
+ >=dev-util/gtk-doc-am-1.20
+ wayland? ( dev-util/wayland-scanner )
+ >=sys-devel/gettext-0.19.7
+ virtual/pkgconfig
+ x11-libs/gdk-pixbuf:2
+ gtk-doc? (
+ app-text/docbook-xml-dtd:4.3
+ >=dev-util/gtk-doc-1.20
+ )
+"
+
+MULTILIB_CHOST_TOOLS=(
+ /usr/bin/gtk-query-immodules-3.0$(get_exeext)
+)
+
+PATCHES=(
+ "${FILESDIR}"/${P}-introspection.patch
+ # gtk-update-icon-cache is installed by dev-util/gtk-update-icon-cache
+ "${FILESDIR}"/${PN}-3.24.36-update-icon-cache.patch
+ "${FILESDIR}"/${PN}-atk-bridge-meson.build.patch
+ "${FILESDIR}"/${PN}-atk-bridge-meson_options.txt.patch
+ "${FILESDIR}"/${PN}-atk-bridge-gtkaccessibility.patch
+)
+
+multilib_src_configure() {
+ local emesonargs=(
+ $(meson_use aqua quartz_backend)
+ $(meson_use atk-bridge atk_bridge)
+ $(meson_use broadway broadway_backend)
+ $(meson_use cloudproviders)
+ $(meson_use examples demos)
+ $(meson_use examples)
+ $(meson_native_use_bool gtk-doc gtk_doc)
+ $(meson_native_use_bool introspection)
+ $(meson_use sysprof profiler)
+ $(meson_use wayland wayland_backend)
+ $(meson_use X x11_backend)
+ -Dcolord=$(usex colord yes no)
+ -Dprint_backends=$(usex cups cups,file,lpr file,lpr)
+ -Dxinerama=$(usex xinerama yes no)
+ # Include backend immodules into gtk itself, to avoid problems like
+ # https://gitlab.gnome.org/GNOME/gnome-shell/issues/109 from a
+ # user overridden GTK_IM_MODULE envvar
+ -Dbuiltin_immodules=backend
+ -Dman=true
+ -Dtests=false
+ -Dtracker3=false
+ )
+ meson_src_configure
+}
+
+multilib_src_compile() {
+ meson_src_compile
+}
+
+multilib_src_install() {
+ meson_src_install
+}
+
+multilib_src_install_all() {
+ insinto /etc/gtk-3.0
+ doins "${FILESDIR}"/settings.ini
+ # Skip README.win32.md that would get installed by default
+ DOCS=( NEWS README.md )
+ einstalldocs
+}
+
+pkg_preinst() {
+ gnome2_pkg_preinst
+
+ multilib_pkg_preinst() {
+ # Make immodules.cache belongs to gtk+ alone
+ local cache="/usr/$(get_libdir)/gtk-3.0/3.0.0/immodules.cache"
+
+ if [[ -e ${EROOT}${cache} ]]; then
+ cp "${EROOT}${cache}" "${ED}${cache}" || die
+ else
+ touch "${ED}${cache}" || die
+ fi
+ }
+ multilib_parallel_foreach_abi multilib_pkg_preinst
+}
+
+pkg_postinst() {
+ gnome2_pkg_postinst
+
+ multilib_pkg_postinst() {
+ gnome2_query_immodules_gtk3 \
+ || die "Update immodules cache failed (for ${ABI})"
+ }
+ multilib_parallel_foreach_abi multilib_pkg_postinst
+
+ if ! has_version "app-text/evince"; then
+ elog "Please install app-text/evince for print preview functionality."
+ elog "Alternatively, check \"gtk-print-preview-command\" documentation and"
+ elog "add it to your settings.ini file."
+ fi
+}
+
+pkg_postrm() {
+ gnome2_pkg_postrm
+
+ if [[ -z ${REPLACED_BY_VERSION} ]]; then
+ multilib_pkg_postrm() {
+ rm -f "${EROOT}/usr/$(get_libdir)/gtk-3.0/3.0.0/immodules.cache"
+ }
+ multilib_foreach_abi multilib_pkg_postrm
+ fi
+}