summaryrefslogtreecommitdiff
path: root/x11-libs/xapp
diff options
context:
space:
mode:
Diffstat (limited to 'x11-libs/xapp')
-rw-r--r--x11-libs/xapp/Manifest6
-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.6.1.ebuild102
-rw-r--r--x11-libs/xapp/xapp-2.8.5.ebuild125
5 files changed, 311 insertions, 104 deletions
diff --git a/x11-libs/xapp/Manifest b/x11-libs/xapp/Manifest
index 4bf2a2b17c6b..ade9b36031e7 100644
--- a/x11-libs/xapp/Manifest
+++ b/x11-libs/xapp/Manifest
@@ -1,7 +1,9 @@
AUX 0001-don-t-install-pastebin-upload-wrapper.patch 699 BLAKE2B b8acb6a54f18dfd5a6e74a462ccd2ff869ca09912a084ea7369fae5adabe974250f7d5aedb11a21de81c49530049d3516dd610242cb5a85bc78ed44c04331769 SHA512 b2d43ae457b1f8ad1ede0a3fdfa9ee0a34697b10bf25e44c91bd0be36b2f3ecfa8729b77732b0e7d32cc267fd75d071496b0263a37277f14e2d0d4ae9c433149
+AUX xapp-2.8.4-multiple-python-targets.patch 2581 BLAKE2B 710b864a41718dbd26263523baa6223e34771ced588152a2a985757979637d2e49eab7257ba1678cea6ffd5aab924f9ddb6e49c6584e97ee11aac48f98622cd3 SHA512 6a82ddb2cf4bff3929366c07613f866f354577cf1d487b20338853bf4bc22efba765405c057a678a02ffc0af1a91f1282693357650031707dbd378fa6de9f83e
+AUX xapp-2.8.4-optional-introspection.patch 2894 BLAKE2B 4b6e19bfea20aff1b6a335480382222018a81d2a792e43a046348601c476f5d5f6aa8bb3fdfc63091c3b8187326c0edd4168f1c45fb552a9b279e900e224c9bf SHA512 dcabc7976bb86fe4707b8a8cad1e74d6558d02c62e2121235747eeadc4276d45e6bae3a94c3cfc44ca7f95ab92468be81cbf254750a0e9ec4f144f722e9cafa0
AUX xapp-optional-de-options.patch 3309 BLAKE2B 4760a70b3e5a5806925f0e33ead8282990069302f4b6c4ff1899804010c4dfea6c4d97983c5acf57d523bfee7a6b12ae4e2e8d7736ab2258f8159897c2df79b7 SHA512 d4b5c613ac2f630b5f105572605429b064cd824f6ebc2f354207cdf253a33811af2f2ac7e3c10e21638de9856c035816396a05c96a298da0777ac146b540ff73
-DIST xapp-2.6.1.tar.gz 270606 BLAKE2B 0f2572b2e9ec4056bea0fc532f5327bd6de4741719a49b68180d45ff00fcea9b760acb362fc39d3f2dc9d94001b7021267a8a84c067aa90c5a201a46be76e97c SHA512 f96006fffac67b312caba644e8da75209c443688b08254b9bb5b17eb9148e66b35a8b1fe336e8880c7b950f8fc696884d8f5d610092c2cb44357ad3bf3ef43c7
DIST xapp-2.8.2.tar.gz 272539 BLAKE2B 1e2fb92b976196c2e9f36e322656ee40252e4c358a13361a054ead88e6fa3df35a53f1b0ee594df4189a68c1739c4a040558fac533ace095536fcc1dca76954b SHA512 97d19b95626a37fc08a0a159be741de5d9bcc034484e977bd739b91bd37122fcf2f3479285d544282a92c8fa180b116db1ad5e96fe19284c62287d3c5b135163
-EBUILD xapp-2.6.1.ebuild 2279 BLAKE2B 7d758493c6c7cf1a2e62d2a878e3bad9e69c39936ab9712dc25506616226f2f957764ea6cac0e7de5712d544981cfe06c1b7a91be6d5421525622714ac1d9fb7 SHA512 3727448dcad306c21f8abc40f0c82bc0041457b3670b52c258e51080e5b28c8db6c7b53ec5e03cf074caadc062f6f1c6fa7a49463d031e7fc37d83b49cbd8e78
+DIST xapp-2.8.5.tar.gz 274241 BLAKE2B 86b38dcab542e934f65e2fb11a5c1e7a5e26e8c725c5c91fed7bec6e0676f40ab6fd85b0421378e4860271ef1c9954d8c5a42b465232670d3d695dcda0734e0b SHA512 133a01309f0bc33a0aa73ee86eb8900573b4ab5b84e9e503b04b246448bce0b05880403288a739c5e252a2276311afba86c9c687887dd6e8c528734e328c6ee7
EBUILD xapp-2.8.2-r1.ebuild 2369 BLAKE2B ef7266d7c90cee31fefee2ead6c275e9641b619fb9351264062686598ce08044884ed346b1c67b00bd5a3d6825a1b26b55011e29813d4b158b09018e509e52a9 SHA512 89497ba2d7cba4c794808aba824c1f142d75e182f313147f523c00c733dd4663d4fee771b940eced242ca7decb0baf689eb256fbbc4367f770ae32639d98f5da
+EBUILD xapp-2.8.5.ebuild 2416 BLAKE2B 7e66d5f0d71eb432903fa4f242cb94766a36297278742a5ad6110fdc09d3b63cf798475a59d27e08eeb568a5b209b802d60299e11119f1ed86326f2b16b247ab SHA512 ce8326110b28516893e7cc86c1698e96e635bb47966eb790bdc15b36e23604d783b9e83532402ee6a0ab33a6b6a44073178f9c8cffb2aac0d7ef2edff48deae6
MISC metadata.xml 661 BLAKE2B aaf60791b7e8739d7418edd95ff2bfb7429de931c54ccd6c770e752f7f0b45b84a7720add07ecb9ae046064b12d14640b7fe1ab85f6f2a73dc0c0d80eaf13d43 SHA512 27f7fa4138c5d870f1299999711032d7a4c2f628efd8b73ef75d801645950ff9894f970b917501877ef845c0c6fa38ea24c6fa475f25a260f24a2925fcdc47e7
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.6.1.ebuild b/x11-libs/xapp/xapp-2.6.1.ebuild
deleted file mode 100644
index 352c01c40923..000000000000
--- a/x11-libs/xapp/xapp-2.6.1.ebuild
+++ /dev/null
@@ -1,102 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{10..11} )
-VALA_USE_DEPEND="vapigen"
-
-inherit gnome2-utils vala meson python-r1
-
-DESCRIPTION="Cross-desktop libraries and common resources"
-HOMEPAGE="https://github.com/linuxmint/xapp/"
-LICENSE="LGPL-3"
-
-SRC_URI="https://github.com/linuxmint/xapp/archive/${PV}.tar.gz -> ${P}.tar.gz"
-KEYWORDS="amd64 ~arm64 ~loong ~ppc64 ~riscv x86"
-
-SLOT="0"
-IUSE="gtk-doc introspection mate"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-RDEPEND="
- >=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.16.0:3[introspection?]
- x11-libs/libxkbfile
- x11-libs/libX11
- x11-libs/pango
-
- mate? (
- ${PYTHON_DEPS}
- dev-python/pygobject:3[${PYTHON_USEDEP}]
- )
-"
-DEPEND="
- ${RDEPEND}
-"
-BDEPEND="
- ${PYTHON_DEPS}
- $(vala_depend)
- dev-python/pygobject:3[${PYTHON_USEDEP}]
- dev-util/gdbus-codegen
- dev-util/glib-utils
- sys-apps/dbus
- sys-devel/gettext
-
- gtk-doc? ( dev-util/gtk-doc )
-"
-
-src_prepare() {
- vala_src_prepare
- default
-
- # don't install distro specific tools
- sed -i "s/subdir('scripts')/#&/" meson.build || die
-
- # make mate integrations optional
- if ! use mate; then
- sed -i "s/subdir('mate')/#&/" status-applets/meson.build || die
- fi
-
- # Fix meson helpers
- python_setup
- python_fix_shebang .
-}
-
-src_configure() {
- local emesonargs=(
- $(meson_use gtk-doc docs)
- -Dpy-overrides-dir="/pygobject"
- )
- meson_src_configure
-}
-
-src_install() {
- meson_src_install
-
- # copy pygobject files to each active python target
- # work-around for "py-overrides-dir" only supporting a single target
- install_pygobject_override() {
- PYTHON_GI_OVERRIDESDIR=$("${EPYTHON}" -c 'import gi;print(gi._overridesdir)' || die)
- einfo "gobject overrides directory: ${PYTHON_GI_OVERRIDESDIR}"
- mkdir -p "${D}/${PYTHON_GI_OVERRIDESDIR}/" || die
- cp -r "${D}"/pygobject/* "${D}/${PYTHON_GI_OVERRIDESDIR}/" || die
- python_optimize "${D}/${PYTHON_GI_OVERRIDESDIR}/"
- }
- python_foreach_impl install_pygobject_override
- rm -r "${D}/pygobject" || die
-}
-
-pkg_postinst() {
- xdg_icon_cache_update
- gnome2_schemas_update
-}
-
-pkg_postrm() {
- xdg_icon_cache_update
- gnome2_schemas_update
-}
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
+}