diff options
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.ebuild | 157 |
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 +} |