From c8f2abe97189f072b3644354cdc2bc222a9d9d38 Mon Sep 17 00:00:00 2001 From: Gerben Jan Dijkman Date: Sun, 6 Oct 2024 15:51:38 +0200 Subject: [PATCH] version bump --- dev-libs/libpeas/Manifest | 1 + dev-libs/libpeas/files/1.26.0-lua.patch | 89 ++++++++++++++++++++++ dev-libs/libpeas/libpeas-2.0.5.ebuild | 99 +++++++++++++++++++++++++ 3 files changed, 189 insertions(+) create mode 100644 dev-libs/libpeas/Manifest create mode 100644 dev-libs/libpeas/files/1.26.0-lua.patch create mode 100644 dev-libs/libpeas/libpeas-2.0.5.ebuild diff --git a/dev-libs/libpeas/Manifest b/dev-libs/libpeas/Manifest new file mode 100644 index 0000000..3070abb --- /dev/null +++ b/dev-libs/libpeas/Manifest @@ -0,0 +1 @@ +DIST libpeas-2.0.5.tar.xz 156616 BLAKE2B e6b1f796c24fac89a029cb5d9a2db803fce82aae16618c57dc502ba85568b3af39f33a6c82f505fd7cb5d674d566c70a5c505390af0a366ab316bae954fa2b19 SHA512 4c035b824d07c32b9bf828a9b3fed0fe842759686bd23186b1c381b6f8690ed22e6aa98c50550454593c788903c994fd0bab618c0b855970160aa135eb386e73 diff --git a/dev-libs/libpeas/files/1.26.0-lua.patch b/dev-libs/libpeas/files/1.26.0-lua.patch new file mode 100644 index 0000000..0da1b14 --- /dev/null +++ b/dev-libs/libpeas/files/1.26.0-lua.patch @@ -0,0 +1,89 @@ +From b693feda0148eb421e1f59d468caceb6f3183a82 Mon Sep 17 00:00:00 2001 +From: Mart Raudsepp +Date: Mon, 16 Mar 2020 23:43:12 +0200 +Subject: [PATCH] build: Handle lua as needed by Gentoo + +Gentoo currently uses unversioned lua:0 - lua.pc instad of lua5.1.pc, +/usr/bin/lua instead of /usr/bin/lua5.1 +Additionally lua and luajit can be installed in parallel, but only one +should be chosen - so add explicit meson options to choose between them. +This is currently in a hacky un-upstreamable way: working correctly only +if both options are disabled, or only one is enabled and the other +disabled, but having logic issues if any is "auto" or both enabled; this +is because feature option is mainly used to handle explicit choice +between them more easily in a Gentoo-specific patch without having to +add various conditional branches thanks to the feature being disabled +acting as a full disabler, so the other option is automatically not +checked. +--- + meson.build | 22 +++++++--------------- + meson_options.txt | 5 ++++- + 2 files changed, 11 insertions(+), 16 deletions(-) + +diff --git a/meson.build b/meson.build +index 8322fea..49e5011 100644 +--- a/meson.build ++++ b/meson.build +@@ -117,18 +117,12 @@ endif + + python2_dep = dependency('python2', version: python2_req, required: false) + pygobject_dep = dependency('pygobject-3.0', version: pygobject_req, required: false) +-lua51_dep = dependency('lua51', version: lua_req, required: false) +-if not lua51_dep.found() +- lua51_dep = dependency('lua-5.1', version: lua_req, required: false) +-endif +-luajit_dep = dependency('luajit', version: luajit_req, required: false) ++lua51_dep = dependency('lua', version: lua_req, required: get_option('lua51')) ++luajit_dep = dependency('luajit', version: luajit_req, required: get_option('luajit')) + lua_lgi_found = false + lua_lgi_ver = 'not found' +-lua51_prg = find_program('lua5.1', required: false) +-if not lua51_prg.found() +- lua51_prg = find_program('lua51', required: false) +-endif +-luajit_prg = find_program('luajit', required: false) ++lua51_prg = find_program('lua', required: get_option('lua51')) ++luajit_prg = find_program('luajit', required: get_option('luajit')) + xmllint_prg = find_program('xmllint', required: false) + + if (luajit_dep.found() and luajit_prg.found()) or (lua51_dep.found() and lua51_prg.found()) +@@ -144,6 +138,8 @@ if (luajit_dep.found() and luajit_prg.found()) or (lua51_dep.found() and lua51_p + lua51_lgi_dep = declare_dependency(version: lua_lgi_ver) + lua_lgi_found = true + endif ++ else ++ error('lua support requested but lua-lgi not found') + endif + message('lua-lgi version: ' + lua_lgi_ver) + endif +@@ -222,11 +218,7 @@ if generate_gir and not introspection_dep.found() + generate_gir = false + endif + +-build_lua51_loader = get_option('lua51') +-lua51_found = (luajit_dep.found() or lua51_dep.found()) and lua_lgi_found +-if build_lua51_loader and not lua51_found +- build_lua51_loader = false +-endif ++build_lua51_loader = (luajit_dep.found() or lua51_dep.found()) and lua_lgi_found + + build_python2_loader = get_option('python2') + python2_found = python2_dep.found() and pygobject_dep.found() +diff --git a/meson_options.txt b/meson_options.txt +index 18e1779..dc3e776 100644 +--- a/meson_options.txt ++++ b/meson_options.txt +@@ -1,6 +1,9 @@ + option('lua51', +- type: 'boolean', value: true, ++ type: 'feature', value: 'enabled', + description: 'Enable Lua 5.1 support (requires lua-lgi)') ++option('luajit', ++ type: 'feature', value: 'disabled', ++ description: 'Use LuaJIT for Lua 5.1 support (requires lua-lgi)') + + option('python2', + type: 'boolean', value: false, +-- +2.20.1 + diff --git a/dev-libs/libpeas/libpeas-2.0.5.ebuild b/dev-libs/libpeas/libpeas-2.0.5.ebuild new file mode 100644 index 0000000..124bd33 --- /dev/null +++ b/dev-libs/libpeas/libpeas-2.0.5.ebuild @@ -0,0 +1,99 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LUA_COMPAT=( lua5-1 luajit ) +PYTHON_COMPAT=( python3_{10..12} ) + +inherit gnome.org lua-single meson python-single-r1 vala virtualx xdg + +DESCRIPTION="A GObject plugins library" +HOMEPAGE="https://wiki.gnome.org/Projects/Libpeas https://gitlab.gnome.org/GNOME/libpeas" + +LICENSE="LGPL-2.1+" +SLOT="0" +KEYWORDS="~alpha amd64 ~arm arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux" + +IUSE="glade +gtk gtk-doc lua +python vala" +REQUIRED_USE="lua? ( ${LUA_REQUIRED_USE} ) + python? ( ${PYTHON_REQUIRED_USE} )" + +RDEPEND=" + >=dev-libs/glib-2.44:2 + >=dev-libs/gobject-introspection-1.39:= + gtk? ( >=x11-libs/gtk+-3.0.0:3[introspection] ) + glade? ( >=dev-util/glade-3.9.1:3.10 ) + lua? ( + ${LUA_DEPS} + $(lua_gen_cond_dep ' + >=dev-lua/lgi-0.9.0[${LUA_USEDEP}] + ') + ) + python? ( + ${PYTHON_DEPS} + $(python_gen_cond_dep ' + >=dev-python/pygobject-3.2:3[${PYTHON_USEDEP}] + ') + ) +" +DEPEND="${RDEPEND}" +BDEPEND=" + dev-util/glib-utils + gtk-doc? ( + >=dev-util/gtk-doc-1.11 + >=dev-util/gi-docgen-2021.7 + app-text/docbook-xml-dtd:4.3 + ) + >=sys-devel/gettext-0.19.8 + virtual/pkgconfig +" + +PATCHES=( + # Gentoo-specific lua tweak hack + "${FILESDIR}"/1.26.0-lua.patch +) + +pkg_setup() { + use lua && lua-single_pkg_setup + use python && python-single-r1_pkg_setup +} + +src_prepare() { + default + use vala && vala_setup +} + +src_configure() { + local emesonargs=( + $(meson_feature $(usex lua '!lua_single_target_luajit' 'lua') lua51) + $(meson_feature $(usex lua 'lua_single_target_luajit' 'lua') luajit) + -Dpython2=false + $(meson_use python python3) + # introspection was always enabled in autotools; would need readiness by consumers + # to USE flag it, but most need it for python plugins anyways + -Dintrospection=true + $(meson_use vala vapi) + $(meson_use gtk widgetry) + $(meson_use glade glade_catalog) + -Ddemos=false + $(meson_use gtk-doc gtk_doc) + ) + meson_src_configure +} + +src_test() { + virtx meson_src_test +} + +src_install() { + meson_src_install + + if use gtk-doc; then + mkdir -p "${ED}"/usr/share/gtk-doc/html/ || die + mv "${ED}"/usr/share/doc/libpeas-1.0 "${ED}"/usr/share/gtk-doc/html/ || die + if use gtk; then + mv "${ED}"/usr/share/doc/libpeas-gtk-1.0 "${ED}"/usr/share/gtk-doc/html/ || die + fi + fi +}