mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-09-24 04:59:14 -07:00
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>
This commit is contained in:
committed by
Eli Schwartz
parent
f566702e87
commit
8315c6dea3
@@ -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
|
||||
|
||||
80
x11-libs/xapp/files/xapp-2.8.4-multiple-python-targets.patch
Normal file
80
x11-libs/xapp/files/xapp-2.8.4-multiple-python-targets.patch
Normal file
@@ -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
|
||||
102
x11-libs/xapp/files/xapp-2.8.4-optional-introspection.patch
Normal file
102
x11-libs/xapp/files/xapp-2.8.4-optional-introspection.patch
Normal file
@@ -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.'
|
||||
+)
|
||||
125
x11-libs/xapp/xapp-2.8.5.ebuild
Normal file
125
x11-libs/xapp/xapp-2.8.5.ebuild
Normal file
@@ -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
|
||||
}
|
||||
Reference in New Issue
Block a user