gentoo-ebuilds/dev-ada/markdown/markdown-25.0.0-r2.ebuild
Sam James d7b2a76aa6
dev-ada/markdown: drop py3.{13,14}t from PYTHON_COMPAT
This is annoying for python-any-r1 as it drags it in on people's systems
where it's not going to be possible for it to be the sole interpreter
anyway.

Signed-off-by: Sam James <sam@gentoo.org>
2025-06-03 21:08:29 +01:00

69 lines
1.7 KiB
Bash

# Copyright 2022-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
ADA_COMPAT=( gcc_{12..15} )
PYTHON_COMPAT=( python3_{11..14} )
inherit ada python-any-r1 multiprocessing
SpecV=0.31.2
SpecN="commonmark-spec"
Spec=${SpecN}-${SpecV}
DESCRIPTION="Provides a markdown parser written in Ada"
HOMEPAGE="https://github.com/AdaCore/markdown"
SRC_URI="https://github.com/AdaCore/${PN}/archive/refs/tags/v${PV}.tar.gz
-> ${P}.tar.gz
https://github.com/AdaCore/${PN}/commit/2bce1932841933fbe2dc31026fd68e5bc7a9c96d.patch
test? (
https://github.com/commonmark/${SpecN}/archive/refs/tags/${SpecV}.tar.gz
-> ${Spec}.tar.gz
)"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64 ~arm64 ~x86"
IUSE="test"
RESTRICT="test"
RDEPEND="${ADA_DEPS}
dev-ada/gprbuild[${ADA_USEDEP}]
dev-ada/VSS[${ADA_USEDEP}]"
DEPEND="${RDEPEND}"
BDEPEND="test? ( ${PYTHON_DEPS} )"
pkg_setup() {
use test && python-any-r1_pkg_setup
ada_pkg_setup
}
src_prepare() {
if use test; then
mv ../${Spec} ${SpecN} || die
sed -i -e "s|python3|python|" Makefile || die
fi
eapply "${DISTDIR}"/2bce1932841933fbe2dc31026fd68e5bc7a9c96d.patch
default
}
src_compile() {
gprbuild -v -p -j$(makeopts_jobs) -XBUILD_MODE=dev gnat/markdown.gpr \
-cargs ${ADAFLAGS} || die
if use test; then
gprbuild -v -p -j$(makeopts_jobs) -XBUILD_MODE=dev -aP gnat \
-P gnat/tests/commonmark_tests.gpr -cargs ${ADAFLAGS} || die
fi
}
src_test() {
cd commonmark-spec
${EPYTHON} test/spec_tests.py --program ../.objs/static/tests/commonmark_tests |\
grep -E "^Example|^[0-9]+.passed" |\
tee markdown_tests_result | tail
cd ..
diff -u testsuite/commonmark/xfails.txt \
commonmark-spec/markdown_tests_result \
&& die
}