From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 171A41382C5 for ; Sun, 29 Nov 2020 00:28:20 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 426E8E0809; Sun, 29 Nov 2020 00:28:19 +0000 (UTC) Received: from smtp.gentoo.org (mail.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 1D956E0809 for ; Sun, 29 Nov 2020 00:28:19 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 276CD341542 for ; Sun, 29 Nov 2020 00:28:18 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 6A4BB46B for ; Sun, 29 Nov 2020 00:28:16 +0000 (UTC) From: "Robin H. Johnson" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Robin H. Johnson" Message-ID: <1606609694.0e95c6e912a781a82fa7394ca5a4aa0dc92b2b8b.robbat2@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: dev-lua/lgi/ X-VCS-Repository: repo/gentoo X-VCS-Files: dev-lua/lgi/lgi-0.9.2-r100.ebuild X-VCS-Directories: dev-lua/lgi/ X-VCS-Committer: robbat2 X-VCS-Committer-Name: Robin H. Johnson X-VCS-Revision: 0e95c6e912a781a82fa7394ca5a4aa0dc92b2b8b X-VCS-Branch: master Date: Sun, 29 Nov 2020 00:28:16 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: 05c2c1bc-4bce-4deb-bdd7-e38675c557b2 X-Archives-Hash: bbd0550a630fc8bfa4226f350a72ce2b commit: 0e95c6e912a781a82fa7394ca5a4aa0dc92b2b8b Author: Robin H. Johnson gentoo org> AuthorDate: Sun Nov 29 00:27:10 2020 +0000 Commit: Robin H. Johnson gentoo org> CommitDate: Sun Nov 29 00:28:14 2020 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0e95c6e9 dev-lua/lgi: revbump with slotted lua support Builds & passes all src_test runs with Xvfb on lua5.1..5.3. Not tested with luajit, but presumed to work. Signed-off-by: Robin H. Johnson gentoo.org> dev-lua/lgi/lgi-0.9.2-r100.ebuild | 124 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 124 insertions(+) diff --git a/dev-lua/lgi/lgi-0.9.2-r100.ebuild b/dev-lua/lgi/lgi-0.9.2-r100.ebuild new file mode 100644 index 00000000000..908e5804dfb --- /dev/null +++ b/dev-lua/lgi/lgi-0.9.2-r100.ebuild @@ -0,0 +1,124 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +VIRTUALX_REQUIRED="manual" +LUA_COMPAT=( lua5-{1..3} luajit ) + +inherit lua eutils toolchain-funcs flag-o-matic virtualx + +DESCRIPTION="Lua bindings using gobject-introspection" +HOMEPAGE="https://github.com/pavouk/lgi" +SRC_URI="https://github.com/pavouk/lgi/archive/${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86" +IUSE="examples test" +RESTRICT="!test? ( test )" +REQUIRED_USE="${LUA_REQUIRED_USE}" + +BDEPEND="${LUA_DEPS}" +RDEPEND="${LUA_DEPS} + dev-libs/gobject-introspection + dev-libs/glib + dev-libs/libffi:0=" +DEPEND="${RDEPEND} + test? ( + x11-libs/cairo[glib] + x11-libs/gtk+[introspection] + ${VIRTUALX_DEPEND} + )" + +lua_src_prepare() { + pushd "${BUILD_DIR}" || die + # The Makefile & several source files use the LUA version as part of the + # direct filename, dynamically created, and we respect that. + _slug=${ELUA} + _slug=${_slug/.} + _slug=${_slug/-} + _slug=${_slug/_} + + # Makefile: CORE = corelgilua51.so (and similar lines) + sed -r -i \ + -e "/^CORE\>/s,lua5.,${_slug},g" \ + lgi/Makefile \ + || die "sed failed" + + # ./lgi/core.lua:local core = require 'lgi.corelgilua51' + # ./lgi/core.c:luaopen_lgi_corelgilua51 (lua_State* L) + sed -r -i \ + -e "/lgi.corelgilua5./s,lua5.,${_slug},g" \ + lgi/core.lua \ + lgi/core.c \ + || die "sed failed" + + # Verify the change as it's important! + for f in lgi/core.lua lgi/core.c lgi/Makefile ; do + grep -sq "corelgi${_slug}" "${f}" || die "Failed to sed .lua & .c for corelgi${_slug}: ${f}" + done + + # Cleanup + unset _slug + popd +} + +src_prepare() { + default + lua_copy_sources + lua_foreach_impl lua_src_prepare +} + +lgi_emake_wrapper() { + emake \ + CC="$(tc-getCC)" \ + COPTFLAGS="-Wall -Wextra ${CFLAGS}" \ + LIBFLAG="-shared ${LDFLAGS}" \ + LUA_CFLAGS="$(lua_get_CFLAGS)" \ + LUA="${LUA}" \ + LUA_VERSION="${ELUA#lua}" \ + LUA_LIBDIR="$(lua_get_cmod_dir)" \ + LUA_SHAREDIR="$(lua_get_lmod_dir)" \ + "$@" +} + +lua_src_compile() { + pushd "${BUILD_DIR}" || die + lgi_emake_wrapper all + popd +} + +src_compile() { + lua_foreach_impl lua_src_compile +} + +lua_src_test() { + pushd "${BUILD_DIR}" || die + virtx \ + lgi_emake_wrapper \ + check + popd +} + +src_test() { + lua_foreach_impl lua_src_test +} + +lua_src_install() { + pushd "${BUILD_DIR}" || die + lgi_emake_wrapper \ + DESTDIR="${D}" \ + install + popd +} + +src_install() { + lua_foreach_impl lua_src_install + docompress -x /usr/share/doc/${PF} + dodoc README.md + dodoc -r docs/* + if use examples; then + dodoc -r samples + fi +}