summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-ada/templates-parser/templates-parser-25.0.0-r1.ebuild')
-rw-r--r--dev-ada/templates-parser/templates-parser-25.0.0-r1.ebuild157
1 files changed, 157 insertions, 0 deletions
diff --git a/dev-ada/templates-parser/templates-parser-25.0.0-r1.ebuild b/dev-ada/templates-parser/templates-parser-25.0.0-r1.ebuild
new file mode 100644
index 000000000000..e6e1c9babf22
--- /dev/null
+++ b/dev-ada/templates-parser/templates-parser-25.0.0-r1.ebuild
@@ -0,0 +1,157 @@
+# Copyright 2022-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ADA_COMPAT=( gnat_2021 gcc_12 gcc_13 )
+PYTHON_COMPAT=( python3_{10..13} python3_13t )
+inherit ada python-any-r1 multiprocessing
+
+DESCRIPTION="A template engine"
+HOMEPAGE="https://github.com/AdaCore/templates-parser"
+SRC_URI="https://github.com/AdaCore/${PN}/archive/refs/tags/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc man +shared static-libs static-pic test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="${ADA_DEPS}
+ dev-ada/xmlada[${ADA_USEDEP},shared?,static-libs?]
+ shared? ( dev-ada/xmlada[static-pic] )"
+DEPEND="${RDEPEND}
+ dev-ada/gprbuild[${ADA_USEDEP}]"
+BDEPEND="doc? (
+ dev-tex/latexmk
+ dev-texlive/texlive-latexextra
+)
+man? (
+ dev-python/sphinx
+ dev-python/sphinx-rtd-theme
+)
+test? (
+ ${PYTHON_DEPS}
+ $(python_gen_any_dep '
+ dev-ada/e3-testsuite[${PYTHON_USEDEP}]
+ ')
+ dev-ada/gnatmem
+)"
+
+REQUIRED_USE="|| ( shared static-libs static-pic )
+ ${ADA_REQUIRED_USE}
+ doc? ( man )
+ test? ( static-libs )
+"
+
+python_check_deps() {
+ use test || return 0
+ python_has_version "dev-ada/e3-testsuite[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+ use test && python-any-r1_pkg_setup
+}
+
+src_prepare() {
+ # Drop tests that require TP_XMLADA
+ rm -r regtests/tests/010{7,9}* || die
+ default
+}
+
+src_configure() {
+ emake PROCESSORS=$(makeopts_jobs) \
+ ENABLE_STATIC=$(usex static-libs true false) \
+ ENABLE_SHARED=$(usex shared true false) \
+ prefix=/usr \
+ setup
+}
+
+src_compile() {
+ build() {
+ gprbuild -p -v -XPRJ_BUILD=Release -XPRJ_TARGET=Linux \
+ -XTP_XMLADA=Disabled -XPROCESSORS=$(makeopts_jobs) \
+ -XVERSION=$(ver_cut 1-2) -XLIBRARY_TYPE=$1 -XXMLADA_BUILD=$1 \
+ --subdirs=${CHOST}/release/$1 \
+ -Ptemplates_parser -largs ${LDFLAGS} -cargs ${ADAFLAGS} \
+ || 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
+ local lib
+ if use shared; then
+ lib=relocatable
+ elif use static-libs; then
+ lib=static
+ else
+ lib=static-pic
+ fi
+ gprbuild -p -v -XPRJ_BUILD=Release -XPRJ_TARGET=Linux \
+ -XTP_XMLADA=Disabled -XPROCESSORS=$(makeopts_jobs) \
+ -XVERSION=$(ver_cut 1-2) -XLIBRARY_TYPE=${lib} -XXMLADA_BUILD=${lib} \
+ --subdirs=${CHOST}/release/${lib} -Ptools/tools -largs ${LDFLAGS} \
+ -cargs ${ADAFLAGS} \
+ || die "gprbuild failed"
+ if use man; then
+ emake -C docs man GPROPTS=-v
+ fi
+ if use doc; then
+ emake -C docs html epub latexpdf GPROPTS=-v
+ fi
+}
+
+src_install() {
+ build() {
+ gprinstall -XPRJ_BUILD=Release -XPRJ_TARGET=Linux \
+ -XTP_XMLADA=Disabled -XPROCESSORS=$(makeopts_jobs) \
+ -XVERSION=$(ver_cut 1-2) -XLIBRARY_TYPE=$1 -XXMLADA_BUILD=$1 \
+ -p -f --prefix="${D}"/usr --build-var=LIBRARY_TYPE \
+ --build-var=TEMPLATES_PARSER_BUILD --subdirs=${CHOST}/release/$1 \
+ --build-name=$1 -Ptemplates_parser \
+ || die "gprinstall 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
+ local lib
+ if use shared; then
+ lib=relocatable
+ elif use static-libs; then
+ lib=static
+ else
+ lib=static-pic
+ fi
+ gprinstall -XPRJ_BUILD=Release -XPRJ_TARGET=Linux -XTP_XMLADA=Disabled \
+ -XPROCESSORS=$(makeopts_jobs) -XVERSION=$(ver_cut 1-2) \
+ -XLIBRARY_TYPE=${lib} -XXMLADA_BUILD=${lib} -p -f --prefix="${D}"/usr \
+ --build-var=LIBRARY_TYPE --build-var=TEMPLATES_PARSER_BUILD \
+ --mode=usage --subdirs=${CHOST}/release/${lib} \
+ --install-name=templates_parser -Ptools/tools \
+ || die "gprinstall failed"
+ DOCS="README.md"
+ if use doc; then
+ mv "${D}"/usr/share/doc/templates_parser "${D}"/usr/share/doc/"${PF}" || die
+ DOCS+=" docs/build/epub/Templates_ParserTemplatesEngine.epub"
+ fi
+ einstalldocs
+ use man && doman docs/build/man/templates_parser.1
+ rm -r "${D}"/usr/share/gpr/manifests
+}
+
+src_test() {
+ emake -j1 test
+}