diff options
author | Matthew S. Turnbull <sparky@bluefang-logic.com> | 2024-06-23 21:53:41 -0400 |
---|---|---|
committer | Eli Schwartz <eschwartz@gentoo.org> | 2024-08-04 23:35:40 -0400 |
commit | 8315c6dea3d8325e8d8f5acb48b38c0c8755ef96 (patch) | |
tree | d76a4659c5ffc8d376ccceaada41377182213462 /x11-libs | |
parent | sci-mathematics/dunshire: add missing die (thanks sam) (diff) | |
download | gentoo-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/Manifest | 1 | ||||
-rw-r--r-- | x11-libs/xapp/files/xapp-2.8.4-multiple-python-targets.patch | 80 | ||||
-rw-r--r-- | x11-libs/xapp/files/xapp-2.8.4-optional-introspection.patch | 102 | ||||
-rw-r--r-- | x11-libs/xapp/xapp-2.8.5.ebuild | 125 |
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 +} |