summaryrefslogtreecommitdiff
path: root/dev-ada
diff options
context:
space:
mode:
Diffstat (limited to 'dev-ada')
-rw-r--r--dev-ada/AdaSAT/AdaSAT-25.0.0.ebuild70
-rw-r--r--dev-ada/AdaSAT/Manifest1
2 files changed, 71 insertions, 0 deletions
diff --git a/dev-ada/AdaSAT/AdaSAT-25.0.0.ebuild b/dev-ada/AdaSAT/AdaSAT-25.0.0.ebuild
new file mode 100644
index 000000000000..3c7d9c9889b6
--- /dev/null
+++ b/dev-ada/AdaSAT/AdaSAT-25.0.0.ebuild
@@ -0,0 +1,70 @@
+# Copyright 2024-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+ADA_COMPAT=( gcc_12 gcc_13 gcc_14 )
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit ada python-any-r1 multiprocessing
+
+DESCRIPTION="Implementation of a DPLL-based SAT solver in Ada"
+HOMEPAGE="https://github.com/AdaCore/AdaSAT"
+SRC_URI="https://github.com/AdaCore/${PN}/archive/refs/tags/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="+shared static-libs static-pic test"
+
+DEPEND="dev-ada/gprbuild[${ADA_USEDEP}]"
+BDEPEND="test? (
+ $(python_gen_any_dep '
+ dev-ada/e3-testsuite[${PYTHON_USEDEP}]
+ ')
+)"
+
+REQUIRED_USE="${ADA_REQUIRED_USE}
+ || ( shared static-libs static-pic )
+ test? ( static-libs )"
+RESTRICT="!test? ( test )"
+
+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_compile() {
+ build () {
+ gprbuild -P adasat.gpr -p -v -j$(makeopts_jobs) \
+ --relocate-build-tree="." -XLIBRARY_TYPE=$1 \
+ -XBUILD_MODE=dev -cargs:Ada ${ADAFLAGS} || die
+ }
+
+ use shared && build relocatable
+ use static-libs && build static
+ use static-pic && build static-pic
+}
+
+src_install() {
+ build () {
+ gprinstall -P adasat.gpr -p -f -XLIBRARY_TYPE=$1 -XBUILD_MODE=dev -v \
+ --relocate-build-tree="." --prefix="${ED}"/usr --build-name=$1 \
+ --build-var=LIBRARY_TYPE || die
+ }
+ use shared && build relocatable
+ use static-libs && build static
+ use static-pic && build static-pic
+
+ rm -r "${D}"/usr/share/gpr/manifests || die
+ einstalldocs
+}
+
+src_test() {
+ export ADA_PROJECT_PATH="${S}"
+ ${EPYTHON} testsuite/testsuite.py || die
+}
diff --git a/dev-ada/AdaSAT/Manifest b/dev-ada/AdaSAT/Manifest
index a6fd5abd770a..239e41d6f941 100644
--- a/dev-ada/AdaSAT/Manifest
+++ b/dev-ada/AdaSAT/Manifest
@@ -1 +1,2 @@
DIST AdaSAT-24.0.0.tar.gz 30088 BLAKE2B 6375c84d54dab73e1c56a137ac156d327e13b1e885d7a102ea62f841fb4d70fb0bb612c4f632dc78facff2544276601e59c75680d7d182175a16fb20e7b4731b SHA512 313310537c5d6a024e6acae4e2d6fba29b4ab6221a0d793cd9af6b7fec16be8ea59551566781eec676c544066f5721a03e61a340e0a45e3f1af51992fda096c6
+DIST AdaSAT-25.0.0.tar.gz 30707 BLAKE2B 7256fa3db93273657d52b7b895e51efa95c102753efbe498d283ef33a6bed067ddf2975e72a357483aa67b5ce7d8073d4a192e9a4741ab204ce159ec0f57b529 SHA512 7781a683c5aef9efa9a6b57e82070184c02d734fcf448aa5aa79d9aaa3b40d181d87d7487d9c204f7dcd584a3d2dc1c9ebc027e82b2532c3418c25a2395fd9af