public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Alfredo Tupone" <tupone@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-ada/langkit/
Date: Tue, 14 Dec 2021 07:19:15 +0000 (UTC)	[thread overview]
Message-ID: <1639466338.6c8d8a66b233b67c58ce94f91175061ee6d9bd70.tupone@gentoo> (raw)

commit:     6c8d8a66b233b67c58ce94f91175061ee6d9bd70
Author:     Alfredo Tupone <tupone <AT> gentoo <DOT> org>
AuthorDate: Tue Dec 14 07:18:58 2021 +0000
Commit:     Alfredo Tupone <tupone <AT> gentoo <DOT> org>
CommitDate: Tue Dec 14 07:18:58 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6c8d8a66

dev-ada/langkit: add USE static-libs & static-pic

Package-Manager: Portage-3.0.28, Repoman-3.0.3
Signed-off-by: Alfredo Tupone <tupone <AT> gentoo.org>

 dev-ada/langkit/langkit-22.0.0-r2.ebuild | 84 ++++++++++++++++++++++++++++++++
 dev-ada/langkit/metadata.xml             |  4 ++
 2 files changed, 88 insertions(+)

diff --git a/dev-ada/langkit/langkit-22.0.0-r2.ebuild b/dev-ada/langkit/langkit-22.0.0-r2.ebuild
new file mode 100644
index 000000000000..ac883ef76f9f
--- /dev/null
+++ b/dev-ada/langkit/langkit-22.0.0-r2.ebuild
@@ -0,0 +1,84 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{8,9} )
+
+DISTUTILS_USE_SETUPTOOLS=no
+inherit distutils-r1 multiprocessing
+
+DESCRIPTION="A Python framework to generate language parsers"
+HOMEPAGE="https://www.adacore.com/community"
+SRC_URI="https://github.com/AdaCore/${PN}/archive/refs/tags/v${PV}.tar.gz
+	-> ${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="+shared static-libs static-pic"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="${PYTHON_DEPS}
+	dev-ada/gnatcoll-bindings[iconv,shared?,static-libs?,static-pic?]
+	dev-python/mako[${PYTHON_USEDEP}]
+	dev-python/pyyaml[${PYTHON_USEDEP}]
+	dev-python/funcy[${PYTHON_USEDEP}]
+	dev-python/docutils[${PYTHON_USEDEP}]
+	dev-ada/e3-core[${PYTHON_USEDEP}]"
+BDEPEND="${RDEPEND}"
+
+python_prepare_all() {
+	distutils-r1_python_prepare_all
+	cd testsuite/tests
+
+	# missing gprbuild option to build libraries static/relocatable
+	rm -r {langkit_support,adalog,misc/link_two_libs} || die
+
+	# require railroad-diagrams
+	rm -r contrib/svg_railroad_diagrams || die
+}
+
+python_compile_all() {
+	build () {
+		gprbuild -j$(makeopts_jobs) -p -v \
+			-XLIBRARY_TYPE=$1 -P support/langkit_support.gpr -XBUILD_MODE=dev \
+			-cargs:Ada ${ADAFLAGS} -cargs:C ${CFLAGS} || die "gprbuild failed"
+	}
+	if use shared; then
+		build relocatable
+	fi
+	if use static-libs; then
+		build static
+	fi
+	if use static-pic; then
+		build static-pic
+	fi
+}
+
+python_test_all() {
+	${EPYTHON} ./manage.py make --no-langkit-support || die
+	eval $(./manage.py setenv)
+	${EPYTHON} ./manage.py test --verbose |& tee langkit.testOut
+	grep -qw FAIL langkit.testOut && die
+}
+
+python_install_all() {
+	build () {
+		gprinstall -v -P support/langkit_support.gpr -p -XBUILD_MODE=dev \
+			--prefix="${D}"/usr --build-var=LIBRARY_TYPE \
+			--build-var=LANGKIT_SUPPORT_LIBRARY_TYPE \
+			--sources-subdir=include/langkit_support \
+			-XLIBRARY_TYPE=$1 --build-name=$1 || die
+	}
+	if use shared; then
+		build relocatable
+	fi
+	if use static-libs; then
+		build static
+	fi
+	if use static-pic; then
+		build static-pic
+	fi
+}

diff --git a/dev-ada/langkit/metadata.xml b/dev-ada/langkit/metadata.xml
index 1d15b41d3ff8..09df5e8fc04c 100644
--- a/dev-ada/langkit/metadata.xml
+++ b/dev-ada/langkit/metadata.xml
@@ -4,6 +4,10 @@
 	<maintainer type="project">
 		<email>ada@gentoo.org</email>
 	</maintainer>
+	<use>
+		<flag name="shared">Build shared library</flag>
+		<flag name="static-pic">Build static library with pic code</flag>
+	</use>
 	<longdescription lang="en">
 		Langkit (nickname for language kit) is a tool whose purpose is to make
 		it easy to create syntactic and semantic analysis engines. Write a


             reply	other threads:[~2021-12-14  7:19 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-12-14  7:19 Alfredo Tupone [this message]
  -- strict thread matches above, loose matches on Subject: below --
2025-02-18 19:06 [gentoo-commits] repo/gentoo:master commit in: dev-ada/langkit/ Alfredo Tupone
2025-02-01 21:52 Alfredo Tupone
2025-01-31 23:17 Alfredo Tupone
2025-01-29 18:12 Alfredo Tupone
2025-01-27 19:43 Alfredo Tupone
2025-01-25 22:32 Alfredo Tupone
2025-01-25 21:09 Alfredo Tupone
2024-12-15  4:30 Sam James
2024-12-15  4:30 Sam James
2024-03-15 20:55 Alfredo Tupone
2024-03-06 18:37 Alfredo Tupone
2023-12-10  9:39 Alfredo Tupone
2023-03-21 21:02 Alfredo Tupone
2023-01-10 14:31 Michał Górny
2022-12-11 21:10 Alfredo Tupone
2022-12-05 13:23 Alfredo Tupone
2022-11-21 17:59 Alfredo Tupone
2022-09-29 18:54 Alfredo Tupone
2022-02-03 16:42 Alfredo Tupone
2021-12-22 19:10 Alfredo Tupone
2021-12-20 20:42 Alfredo Tupone
2021-12-19 10:24 Alfredo Tupone
2019-11-15  7:24 Alfredo Tupone
2019-10-18 17:14 Alfredo Tupone
2019-07-07 19:57 Alfredo Tupone
2019-06-18  6:07 Alfredo Tupone
2018-11-11 20:33 Alfredo Tupone
2018-04-22  7:46 Alfredo Tupone
2018-03-11 16:36 Alfredo Tupone
2017-12-24 11:20 Alfredo Tupone

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1639466338.6c8d8a66b233b67c58ce94f91175061ee6d9bd70.tupone@gentoo \
    --to=tupone@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox