summaryrefslogtreecommitdiff
path: root/dev-lang/spark
diff options
context:
space:
mode:
Diffstat (limited to 'dev-lang/spark')
-rw-r--r--dev-lang/spark/Manifest6
-rw-r--r--dev-lang/spark/files/spark-2024.01.11-gentoo.patch21
-rw-r--r--dev-lang/spark/metadata.xml3
-rw-r--r--dev-lang/spark/spark-2024.01.11-r1.ebuild105
4 files changed, 134 insertions, 1 deletions
diff --git a/dev-lang/spark/Manifest b/dev-lang/spark/Manifest
index ea5fdf6c69dc..06ab0d1fdd19 100644
--- a/dev-lang/spark/Manifest
+++ b/dev-lang/spark/Manifest
@@ -1,5 +1,9 @@
AUX spark-2021-gentoo.patch 860 BLAKE2B 6eb65c19b604a8d9370bf4da87899c1b8471c52763c17b97322856ddb701e46f6d5c5de03df204c287c728413e5ab8de2f320c75d9c3acb049abad62360037da SHA512 ac636251eb45868430e46d0f5566ab655dc5a223bd44fa4b76bd75c679779cc037bf6ef376f9f4ec22a90b1347bf302d382e1d540b448acb6308c1b3e33036ec
+AUX spark-2024.01.11-gentoo.patch 653 BLAKE2B 1e3978ccbffcb42bb07b527be18fda3e4f03781987ad92c9a4c03359027f85da817729a741d2747d31d4f87ff07ab2a49bc317387b790561d192c85bc0a28103 SHA512 cd9fbe6aa8432674765dfaaad532b6488943060eb1350a2278145d48461f5773e80385c349b76414c7b0c78c065adb76fa0126db063621d9fcd6a3c0d3f474dc
+DIST gcc-14.2.0.tar.xz 92306460 BLAKE2B 87baf2a06dfa75d8fb6cd62c747ef1f57d3b9bbbe33a360d9ed3de4b4dbeaa8d920504c67e409bd9863414202c14fd854b46108e984418171205119216d03d3b SHA512 932bdef0cda94bacedf452ab17f103c0cb511ff2cec55e9112fc0328cbf1d803b42595728ea7b200e0a057c03e85626f937012e49a7515bc5dd256b2bf4bc396
DIST gnat-2021-20210519-19A70-src.tar.gz 8765762 BLAKE2B ef48f54c6109566e37bfa5dee9262305d0529b3dfd333ee28bc4e66f4709a0673f673d742bc04deb15dc145404f7618d350dbdf3f2a7ab37c861e57d011946fa SHA512 3cb79be024fdd9b738d99ffc8e224d32bb382b5da2d02b97b2061a5ea58456f33d4564c92e224af2713ce15fd5481edd715e5b9a52abc74fdc142f27e103c201
DIST spark-2021-2021-20210519-19A1A-src.tar.gz 11361491 BLAKE2B 67f8d27ae68ef4929aafaf96c470394e093883619c5c778e804f1ff62c297d5a3f628e04e987fb06741cb824710599928a7ec3b94fa6d7af029cff35be0898c3 SHA512 b595516892f6054d3c856c30c4296be9cd61adca3ea2cffe3c9060fbab249d36ce1b8fff6f80e1e8173ef6e232dd9c2da8a581ae9964845120c03d09896b635c
+DIST spark-2024.01.11.tar.gz 12086894 BLAKE2B 384aff45c146d1deff9c0121e2fd76020dcaefb8c5653c24db990ce470824eb772b40125f2f92596e564e879ee8c57660d613dafa485e2b8dc23cbe0ff47fdf0 SHA512 617269963879ce46066125332b845653eda9b6196213ef5ed51e204feee8dbeeee31422d3fee1c470ab4ea3528e4a3f4e88d76a64a67f20d42bfbd4c6723e92c
EBUILD spark-2021.ebuild 2277 BLAKE2B b61dff1b857ab940f6700f94c882e5a7a35096205dad1e0fcd97527e365cee08a84b40cd18d9360ac5fe4487785a6e65bc6d0703e769f05a7d4001630e4fc2bb SHA512 f4885364fa1a4ec3fccb27aaa1426426c386f5ca464987bf6193ae4a67b51ba0ec6696acf4a666a3a362b0c9b71c544d8f4c8c252320601fa18492bc9f40d54d
-MISC metadata.xml 671 BLAKE2B b4bbfa26668fcec46cc224b60c1c62ac09f5e11314a32ea1288614b12029f989aa234305f0dbbb66f63b15a809d3f17261ef1155c0b72ea87bc29e3ccdf2c56f SHA512 e804dcad5593c98c9e4d5624be0e6dfa78545a48e46510b5d76c21da59dbe2c632495d96244dbaca91105a3b09efcafc759f1866311a365744887733c1a60670
+EBUILD spark-2024.01.11-r1.ebuild 2687 BLAKE2B 2fb523b575101e956eaa1595e0e10491e13653d9da18222376725357588c74dfcb107055f1a8a2fa1a219ec2a36b4c64966625cd3d0584bb41daae0cce4e094b SHA512 7eaccf6866f871cf8632a5b1d5181f823e49fef8d43d279379ccf30ebaf8084878c693444f177bff3dd5b3c7481dd2b94fcd9c90ce43df55bc400461acf9799d
+MISC metadata.xml 753 BLAKE2B 94485db836f7e8516d9f6576934e40e130ded0e7332c5c1c309414bf30a751ca49d4715fabebd1a58b1963c22f2837718088251f06ee9a718f1d3b2c7a62b753 SHA512 67de3fd8a42e9f1ec1a1f2139bb455a3012a36ec93093e8ebebd8cfb7926eaa4828a205f7513753b395eab8fe38aeb26b0432b70761ae8cc39c37564ed4701b0
diff --git a/dev-lang/spark/files/spark-2024.01.11-gentoo.patch b/dev-lang/spark/files/spark-2024.01.11-gentoo.patch
new file mode 100644
index 000000000000..156d5cbba044
--- /dev/null
+++ b/dev-lang/spark/files/spark-2024.01.11-gentoo.patch
@@ -0,0 +1,21 @@
+--- a/gnat2why/gnat2why_c.gpr 2017-10-04 21:41:41.613376056 +0200
++++ b/gnat2why/gnat2why_c.gpr 2017-10-04 21:42:30.582572536 +0200
+@@ -1,4 +1,7 @@
+ project Gnat2Why_C is
+ for Languages use ("C");
+ for Object_Dir use "obj";
++ package Compiler is
++ for Driver ("C") use External ("CC", "gcc");
++ end Compiler;
+ end Gnat2Why_C;
+--- a/src/why/xgen/Makefile 2025-02-09 13:48:38.217846207 +0100
++++ b/src/why/xgen/Makefile 2025-02-09 13:49:36.594134360 +0100
+@@ -31,7 +31,7 @@
+ why-atree-to_json.adb
+
+ all:
+- gprbuild -j0 -p -Phelpers xtree
++ gprbuild -v -p -Phelpers xtree -XLIBRARY_TYPE=relocatable
+ ./xtree
+ cp $(GENERATED_FILES) ../
+
diff --git a/dev-lang/spark/metadata.xml b/dev-lang/spark/metadata.xml
index 3e2253467fac..e5a4d2fa224d 100644
--- a/dev-lang/spark/metadata.xml
+++ b/dev-lang/spark/metadata.xml
@@ -12,4 +12,7 @@
application domains where high-reliability must be assured, for example
where safety and security are key requirements.
</longdescription>
+ <upstream>
+ <remote-id type="github">AdaCore/spark2014</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-lang/spark/spark-2024.01.11-r1.ebuild b/dev-lang/spark/spark-2024.01.11-r1.ebuild
new file mode 100644
index 000000000000..fc35d9cd7b74
--- /dev/null
+++ b/dev-lang/spark/spark-2024.01.11-r1.ebuild
@@ -0,0 +1,105 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ADA_COMPAT=( gcc_14 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+inherit ada python-any-r1 multiprocessing
+
+commitId=ce5fad038790d5dc18f9b5345dc604f1ccf45b06
+why3Id=fb4ca6cd8c7d888d3e8d281e6de87c66ec20f084
+
+DESCRIPTION="Software development for high-reliability applications"
+HOMEPAGE="http://libre.adacore.com"
+SRC_URI="https://github.com/AdaCore/spark2014/archive/${commitId}.tar.gz
+ -> ${P}.tar.gz
+ http://mirror.koddos.net/gcc/releases/gcc-14.2.0/gcc-14.2.0.tar.xz"
+
+S="${WORKDIR}"/spark2014-${commitId}
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64"
+
+IUSE="doc"
+
+RDEPEND="
+ dev-ada/gnatcoll-core[${ADA_USEDEP},shared]
+ ~dev-ada/gpr-24.2.0[${ADA_USEDEP}]
+ sci-mathematics/alt-ergo
+ sci-mathematics/why3-for-spark"
+DEPEND="${RDEPEND}
+ dev-ada/gprbuild[${ADA_USEDEP}]"
+BDEPEND="doc? (
+ $(python_gen_any_dep '
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]
+ ')
+)"
+
+REQUIRED_USE="${ADA_REQUIRED_USE}"
+
+PATCHES=( "${FILESDIR}"/${P}-gentoo.patch )
+
+python_check_deps() {
+ python_has_version "dev-python/sphinx[${PYTHON_USEDEP}]" &&
+ python_has_version "dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+ use doc && python-any-r1_pkg_setup
+ ada_pkg_setup
+}
+
+src_prepare() {
+ ln -s "${WORKDIR}"/gcc-14.2.0/gcc/ada gnat2why/gnat_src || die
+ default
+}
+
+src_compile() {
+ emake -j1 -C gnat2why GPRARGS="-XLIBRARY_TYPE=relocatable -v" \
+ PROCS=$(makeopts_jobs)
+ gprbuild -j$(makeopts_jobs) -p -XLIBRARY_TYPE=relocatable -v \
+ -P gnatprove.gpr \
+ -largs ${LDFLAGS} -cargs ${ADAFLAGS} || die
+ if use doc; then
+ emake -C docs/lrm html
+ fi
+}
+
+src_install() {
+
+ dodir /usr/bin
+ dodir /usr/include/spark
+ dodir /usr/lib/spark
+ dodir /usr/share/spark/explain_codes
+ dodir /usr/share/spark/theories
+ dodir /usr/share/spark/runtimes
+
+ gcc -c -gnats spark2014vsn.ads -gnatet="${D}"/usr/bin/target.atp
+ insinto /usr/share/spark
+ doins share/spark/help.txt
+ doins -r share/spark/config
+ doins -r share/spark/explain_codes
+ insinto /usr/share/spark/theories
+ doins share/spark/theories/*why
+ doins share/spark/theories/*mlw
+ insinto /usr/share/spark/runtimes
+ doins share/spark/runtimes/README
+ insinto /usr/include/spark
+ doins src/spark/*.ad?
+ # Create the fake prover scripts to help extract benchmarks.
+ insinto /usr/libexec/spark/bin
+ doins benchmark_script/fake_*
+
+ dobin install/bin/gnatprove
+ exeinto /usr/libexec/spark/bin
+ doexe install/bin/gnat2why
+ doexe install/bin/spark_memcached_wrapper
+ doexe install/bin/spark_report
+ doexe install/bin/spark_semaphore_wrapper
+
+ use doc && HTML_DOCS=( docs/lrm/_build/html/* )
+ einstalldocs
+}