summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew S. Turnbull <sparky@bluefang-logic.com>2024-06-23 21:53:41 -0400
committerEli Schwartz <eschwartz@gentoo.org>2024-08-04 23:35:40 -0400
commit8315c6dea3d8325e8d8f5acb48b38c0c8755ef96 (patch)
treed76a4659c5ffc8d376ccceaada41377182213462 /x11-libs
parentsci-mathematics/dunshire: add missing die (thanks sam) (diff)
downloadgentoo-8315c6dea3d8325e8d8f5acb48b38c0c8755ef96.tar.gz
gentoo-8315c6dea3d8325e8d8f5acb48b38c0c8755ef96.tar.bz2
gentoo-8315c6dea3d8325e8d8f5acb48b38c0c8755ef96.zip
x11-libs/xapp: add 2.8.5
Bug: https://bugs.gentoo.org/934783 Bug: https://bugs.gentoo.org/926946 Signed-off-by: Matthew S. Turnbull <sparky@bluefang-logic.com> Signed-off-by: Eli Schwartz <eschwartz@gentoo.org>
Diffstat (limited to 'x11-libs')
-rw-r--r--x11-libs/xapp/Manifest1
-rw-r--r--x11-libs/xapp/files/xapp-2.8.4-multiple-python-targets.patch80
-rw-r--r--x11-libs/xapp/files/xapp-2.8.4-optional-introspection.patch102
-rw-r--r--x11-libs/xapp/xapp-2.8.5.ebuild125
4 files changed, 308 insertions, 0 deletions
diff --git a/x11-libs/xapp/Manifest b/x11-libs/xapp/Manifest
index 5ec7ffc08ebf..3ea19ec95cb6 100644
--- a/x11-libs/xapp/Manifest
+++ b/x11-libs/xapp/Manifest
@@ -1,2 +1,3 @@
DIST xapp-2.6.1.tar.gz 270606 BLAKE2B 0f2572b2e9ec4056bea0fc532f5327bd6de4741719a49b68180d45ff00fcea9b760acb362fc39d3f2dc9d94001b7021267a8a84c067aa90c5a201a46be76e97c SHA512 f96006fffac67b312caba644e8da75209c443688b08254b9bb5b17eb9148e66b35a8b1fe336e8880c7b950f8fc696884d8f5d610092c2cb44357ad3bf3ef43c7
DIST xapp-2.8.2.tar.gz 272539 BLAKE2B 1e2fb92b976196c2e9f36e322656ee40252e4c358a13361a054ead88e6fa3df35a53f1b0ee594df4189a68c1739c4a040558fac533ace095536fcc1dca76954b SHA512 97d19b95626a37fc08a0a159be741de5d9bcc034484e977bd739b91bd37122fcf2f3479285d544282a92c8fa180b116db1ad5e96fe19284c62287d3c5b135163
+DIST xapp-2.8.5.tar.gz 274241 BLAKE2B 86b38dcab542e934f65e2fb11a5c1e7a5e26e8c725c5c91fed7bec6e0676f40ab6fd85b0421378e4860271ef1c9954d8c5a42b465232670d3d695dcda0734e0b SHA512 133a01309f0bc33a0aa73ee86eb8900573b4ab5b84e9e503b04b246448bce0b05880403288a739c5e252a2276311afba86c9c687887dd6e8c528734e328c6ee7
diff --git a/x11-libs/xapp/files/xapp-2.8.4-multiple-python-targets.patch b/x11-libs/xapp/files/xapp-2.8.4-multiple-python-targets.patch
new file mode 100644
index 000000000000..861b58c06c19
--- /dev/null
+++ b/x11-libs/xapp/files/xapp-2.8.4-multiple-python-targets.patch
@@ -0,0 +1,80 @@
+From db45d22173d427eee3d673dc63b60b12c206b31d Mon Sep 17 00:00:00 2001
+From: Sparky Bluefang <sparky@bluefang-logic.com>
+Date: Sun, 23 Jun 2024 17:10:47 -0400
+Subject: [PATCH] Allow installing gi override to multiple python installations
+
+---
+ meson_options.txt | 9 +++++++--
+ pygobject/meson.build | 33 +++++++++++++++++++++------------
+ 2 files changed, 28 insertions(+), 14 deletions(-)
+
+diff --git a/meson_options.txt b/meson_options.txt
+index 3ea5310..ccee240 100644
+--- a/meson_options.txt
++++ b/meson_options.txt
+@@ -9,10 +9,15 @@ option('deprecated_warnings',
+ description: 'Show build warnings for deprecations'
+ )
+ option('py-overrides-dir',
+- type : 'string',
+- value : '',
++ type : 'array',
++ value : [],
+ description: 'Path to pygobject overrides directory'
+ )
++option('python_target',
++ type: 'array',
++ value: ['python3'],
++ description: 'Python installation to target to lookup if py-overrides-dir not supplied'
++)
+ option('status-notifier',
+ type: 'boolean',
+ value: true,
+diff --git a/pygobject/meson.build b/pygobject/meson.build
+index da219f7..d5ffc09 100644
+--- a/pygobject/meson.build
++++ b/pygobject/meson.build
+@@ -3,22 +3,31 @@ pygobject = dependency('pygobject-3.0',
+ required: true,
+ )
+
+-override_dir = get_option('py-overrides-dir')
++override_dirs = get_option('py-overrides-dir')
+
+-if override_dir == ''
+- exec = find_program(['python3', 'python'])
++if override_dirs.length() == 0 or override_dirs[0] == ''
++ override_dirs = []
+
+- r = run_command(exec, '-c', 'import gi;print(gi._overridesdir)', check: false)
++ pymod = import('python')
++ python_targets = get_option('python_target')
+
+- if r.returncode() != 0
+- error('Error getting the GObject Introspection override directory: ' + r.stderr())
+- endif
++ foreach python_target : python_targets
++ python_install = pymod.find_installation(python_target)
+
+- override_dir = r.stdout().strip()
++ r = run_command(python_install, '-c', 'import gi;print(gi._overridesdir)', check: false)
++
++ if r.returncode() != 0
++ error('Error getting the GObject Introspection override directory: ' + r.stderr())
++ endif
++
++ override_dirs += r.stdout().strip()
++ endforeach
+ endif
+
+-message('PyGObject overrides dir: ' + override_dir)
++message('PyGObject overrides dirs: @0@'.format(override_dirs))
+
+-install_data(['XApp.py'],
+- install_dir: override_dir,
+-)
++foreach override_dir : override_dirs
++ install_data(['XApp.py'],
++ install_dir: override_dir,
++ )
++endforeach
diff --git a/x11-libs/xapp/files/xapp-2.8.4-optional-introspection.patch b/x11-libs/xapp/files/xapp-2.8.4-optional-introspection.patch
new file mode 100644
index 000000000000..4e9c0cc12a2d
--- /dev/null
+++ b/x11-libs/xapp/files/xapp-2.8.4-optional-introspection.patch
@@ -0,0 +1,102 @@
+From 00f52c9f025b78aefd47637e2dd2c0cc8fd44d64 Mon Sep 17 00:00:00 2001
+From: Sparky Bluefang <sparky@bluefang-logic.com>
+Date: Thu, 13 Jun 2024 22:49:12 -0400
+Subject: [PATCH] Add option to disable building introspection and vala
+ bindings.
+
+---
+ libxapp/meson.build | 38 ++++++++++++++++++++++----------------
+ meson.build | 5 ++++-
+ meson_options.txt | 10 ++++++++++
+ 3 files changed, 36 insertions(+), 17 deletions(-)
+
+diff --git a/libxapp/meson.build b/libxapp/meson.build
+index d4034cb..c419b8f 100644
+--- a/libxapp/meson.build
++++ b/libxapp/meson.build
+@@ -119,16 +119,18 @@ libxapp_dep = declare_dependency(
+ sources: [ xapp_headers, dbus_headers ]
+ )
+
+-gir = gnome.generate_gir(libxapp,
+- namespace: 'XApp',
+- nsversion: '1.0',
+- sources: xapp_headers + xapp_sources + dbus_headers + xapp_enums,
+- identifier_prefix: 'XApp',
+- symbol_prefix: 'xapp_',
+- export_packages: 'xapp',
+- includes: ['GObject-2.0', 'Gtk-3.0'],
+- install: true
+-)
++if get_option('introspection')
++ gir = gnome.generate_gir(libxapp,
++ namespace: 'XApp',
++ nsversion: '1.0',
++ sources: xapp_headers + xapp_sources + dbus_headers + xapp_enums,
++ identifier_prefix: 'XApp',
++ symbol_prefix: 'xapp_',
++ export_packages: 'xapp',
++ includes: ['GObject-2.0', 'Gtk-3.0'],
++ install: true
++ )
++endif
+
+ pkg.generate(
+ libraries: libxapp,
+@@ -144,12 +146,16 @@ install_data(['xapp-glade-catalog.xml'],
+ install_dir : join_paths(get_option('datadir'), 'glade/catalogs')
+ )
+
+-gnome.generate_vapi('xapp',
+- packages: ['glib-2.0', 'gio-unix-2.0', 'gtk+-3.0'],
+- sources: gir[0],
+- metadata_dirs: meson.current_source_dir(),
+- install: true
+-)
++if get_option('vapi')
++ assert(is_variable('gir'), 'vapi requires introspection to be enabled')
++
++ gnome.generate_vapi('xapp',
++ packages: ['glib-2.0', 'gio-unix-2.0', 'gtk+-3.0'],
++ sources: gir[0],
++ metadata_dirs: meson.current_source_dir(),
++ install: true
++ )
++endif
+
+ if not app_lib_only
+ gtk3_module = shared_module(
+diff --git a/meson.build b/meson.build
+index 1783747..8b72f4b 100644
+--- a/meson.build
++++ b/meson.build
+@@ -47,7 +47,10 @@ top_inc = include_directories('.')
+ subdir('libxapp')
+ subdir('po')
+ subdir('schemas')
+-subdir('pygobject')
++
++if get_option('introspection')
++ subdir('pygobject')
++endif
+
+ if not app_lib_only
+ subdir('icons')
+diff --git a/meson_options.txt b/meson_options.txt
+index 3ea5310..5bfb661 100644
+--- a/meson_options.txt
++++ b/meson_options.txt
+@@ -38,3 +38,13 @@ option('xfce',
+ value: true,
+ description: 'Install xfce specific items.'
+ )
++option('introspection',
++ type: 'boolean',
++ value: true,
++ description: 'Enable GObject Introspection.'
++)
++option('vapi',
++ type: 'boolean',
++ value: true,
++ description: 'Enable Vala bindings.'
++)
diff --git a/x11-libs/xapp/xapp-2.8.5.ebuild b/x11-libs/xapp/xapp-2.8.5.ebuild
new file mode 100644
index 000000000000..b17d1de26e54
--- /dev/null
+++ b/x11-libs/xapp/xapp-2.8.5.ebuild
@@ -0,0 +1,125 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+VALA_USE_DEPEND="vapigen"
+
+inherit gnome2-utils vala meson python-r1
+
+DESCRIPTION="Cross-desktop libraries and common resources"
+HOMEPAGE="https://github.com/linuxmint/xapp/"
+
+SRC_URI="https://github.com/linuxmint/xapp/archive/${PV}.tar.gz -> ${P}.tar.gz"
+LICENSE="LGPL-3 xfce? ( GPL-3 )"
+SLOT="0"
+
+KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~x86"
+IUSE="gtk-doc introspection mate vala xfce"
+REQUIRED_USE="${PYTHON_REQUIRED_USE} vala? ( introspection )"
+
+DEPEND="
+ >=dev-libs/glib-2.44.0:2
+ dev-libs/libdbusmenu[gtk3]
+ gnome-base/libgnomekbd:=
+ x11-libs/cairo
+ >=x11-libs/gdk-pixbuf-2.22.0:2[introspection?]
+ >=x11-libs/gtk+-3.22.0:3[introspection?]
+ x11-libs/libxkbfile
+ x11-libs/libX11
+ x11-libs/pango
+"
+RDEPEND="
+ ${PYTHON_DEPS}
+ ${DEPEND}
+
+ introspection? (
+ dev-python/pygobject:3[${PYTHON_USEDEP}]
+ )
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ dev-util/gdbus-codegen
+ dev-util/glib-utils
+ sys-apps/dbus
+ sys-devel/gettext
+
+ gtk-doc? (
+ dev-util/gtk-doc
+ )
+
+ introspection? (
+ dev-python/pygobject:3[${PYTHON_USEDEP}]
+ )
+
+ vala? (
+ $(vala_depend)
+ )
+"
+
+PATCHES=(
+ # Make introspection/vala optional
+ # https://github.com/linuxmint/xapp/pull/184
+ "${FILESDIR}"/${PN}-2.8.4-optional-introspection.patch
+
+ # Allow multiple gobject installation targets
+ # https://github.com/linuxmint/xapp/pull/183
+ "${FILESDIR}"/${PN}-2.8.4-multiple-python-targets.patch
+
+ # Don't install pastebin upload wrapper
+ "${FILESDIR}"/0001-don-t-install-pastebin-upload-wrapper.patch
+)
+
+src_prepare() {
+ use vala && vala_setup
+
+ default
+
+ # Fix meson helpers
+ python_setup
+ python_fix_shebang .
+}
+
+src_configure() {
+ local emesonargs=(
+ $(meson_use gtk-doc docs)
+ $(meson_use introspection)
+ $(meson_use mate)
+ $(meson_use vala vapi)
+ $(meson_use xfce)
+ )
+
+ if use introspection; then
+ local xapp_python_targets=()
+
+ get_xapp_python_targets() {
+ xapp_python_targets+=("${EPYTHON}")
+ }
+ python_foreach_impl get_xapp_python_targets
+
+ emesonargs+=(
+ -Dpython_target="$(echo "${xapp_python_targets[@]}" | tr ' ' ,)"
+ )
+ fi
+
+ meson_src_configure
+}
+
+src_install() {
+ meson_src_install
+
+ if use introspection; then
+ python_foreach_impl python_optimize
+ fi
+}
+
+pkg_postinst() {
+ xdg_icon_cache_update
+ gnome2_schemas_update
+}
+
+pkg_postrm() {
+ xdg_icon_cache_update
+ gnome2_schemas_update
+}