summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-ada')
-rw-r--r--dev-ada/AdaSAT/AdaSAT-24.0.0.ebuild54
-rw-r--r--dev-ada/AdaSAT/Manifest1
-rw-r--r--dev-ada/AdaSAT/metadata.xml22
3 files changed, 77 insertions, 0 deletions
diff --git a/dev-ada/AdaSAT/AdaSAT-24.0.0.ebuild b/dev-ada/AdaSAT/AdaSAT-24.0.0.ebuild
new file mode 100644
index 000000000000..747f1d798b08
--- /dev/null
+++ b/dev-ada/AdaSAT/AdaSAT-24.0.0.ebuild
@@ -0,0 +1,54 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+ADA_COMPAT=( gcc_12 gcc_13 )
+
+inherit ada 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"
+IUSE="+shared static-libs static-pic test"
+
+DEPEND="dev-ada/gprbuild[${ADA_USEDEP}]"
+REQUIRED_USE="${ADA_REQUIRED_USE}
+ || ( shared static-libs static-pic )
+ test? ( static-libs )"
+RESTRICT="!test? ( test )"
+
+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}"
+ python3 testsuite/testsuite.py || die
+}
diff --git a/dev-ada/AdaSAT/Manifest b/dev-ada/AdaSAT/Manifest
new file mode 100644
index 000000000000..a6fd5abd770a
--- /dev/null
+++ b/dev-ada/AdaSAT/Manifest
@@ -0,0 +1 @@
+DIST AdaSAT-24.0.0.tar.gz 30088 BLAKE2B 6375c84d54dab73e1c56a137ac156d327e13b1e885d7a102ea62f841fb4d70fb0bb612c4f632dc78facff2544276601e59c75680d7d182175a16fb20e7b4731b SHA512 313310537c5d6a024e6acae4e2d6fba29b4ab6221a0d793cd9af6b7fec16be8ea59551566781eec676c544066f5721a03e61a340e0a45e3f1af51992fda096c6
diff --git a/dev-ada/AdaSAT/metadata.xml b/dev-ada/AdaSAT/metadata.xml
new file mode 100644
index 000000000000..fd081113294e
--- /dev/null
+++ b/dev-ada/AdaSAT/metadata.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <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">
+ Implementation of a DPLL-based SAT solver in Ada. Main features:
+
+ Conflict analysis and backjumping
+ Two-watched literals scheme
+ Built-in support for At-Most-One constraints
+ Custom theories
+ </longdescription>
+ <upstream>
+ <remote-id type="github">AdaCore/AdaSAT</remote-id>
+ </upstream>
+</pkgmetadata>