summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-lang/spark')
-rw-r--r--dev-lang/spark/Manifest2
-rw-r--r--dev-lang/spark/files/spark-2017-gentoo.patch10
-rw-r--r--dev-lang/spark/metadata.xml16
-rw-r--r--dev-lang/spark/spark-2017.ebuild60
4 files changed, 88 insertions, 0 deletions
diff --git a/dev-lang/spark/Manifest b/dev-lang/spark/Manifest
new file mode 100644
index 000000000000..72f350b36216
--- /dev/null
+++ b/dev-lang/spark/Manifest
@@ -0,0 +1,2 @@
+DIST gnat-gpl-2017-src.tar.gz 8783473 SHA256 91c9733fb8f8ca4c42fbcab3bc8a54fc83083126f6e6b630c9a36f3654537c29 SHA512 ae7314a2241107ed4d962dce08306eeb34c5f11e26183935bbb1ccf3a5eb011d6457c1b6fcded93dd0ee9ba31d791971ebe2a5a5a0ae04ff80d87a670325a098 WHIRLPOOL cf98ed36553ddfb54502f10898016017e387920bea074395c3a84047c2ec707734a9299de8c5f2f1931a53e04c24e67f8ab017437fbee7b7a658a6c0bca46e35
+DIST spark-gpl-2017-src.tar.gz 19750595 SHA256 39f12849e0c537fe29b874ddc8f6949956894eb4b8e8f5451cbcea6bd3552622 SHA512 90e7644daa6a935c839da9799c6dc5fe0a566f29c5f5d0a964ef5c888581f18c11adf6aa0151ae72437b91430fae06604dab8c3f1fd3222d749cfd330293ff6e WHIRLPOOL f476fd03e1c30f2bc9e92719bf7b3724699586e3c030096dac5c4042e44b6f2cbf28e410bd918e2f4c25ac930229e7b42d6ed6a0b18be65d6a234b8cedd6f5c7
diff --git a/dev-lang/spark/files/spark-2017-gentoo.patch b/dev-lang/spark/files/spark-2017-gentoo.patch
new file mode 100644
index 000000000000..479a7ace4dc2
--- /dev/null
+++ b/dev-lang/spark/files/spark-2017-gentoo.patch
@@ -0,0 +1,10 @@
+--- spark-gpl-2017-src/gnat2why/gnat2why_c.gpr.old 2017-10-04 21:41:41.613376056 +0200
++++ spark-gpl-2017-src/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;
diff --git a/dev-lang/spark/metadata.xml b/dev-lang/spark/metadata.xml
new file mode 100644
index 000000000000..ca4e653c68ef
--- /dev/null
+++ b/dev-lang/spark/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>tupone@gentoo.org</email>
+ <name>Tupone Alfredo</name>
+ </maintainer>
+ <longdescription lang="en">
+ SPARK is a software development technology specifically designed for
+ engineering high-reliability applications. It consists of a programming
+ language, a verification toolset and a design method which, taken
+ together, ensure that ultra-low defect software can be deployed in
+ application domains where high-reliability must be assured, for example
+ where safety and security are key requirements.
+ </longdescription>
+</pkgmetadata>
diff --git a/dev-lang/spark/spark-2017.ebuild b/dev-lang/spark/spark-2017.ebuild
new file mode 100644
index 000000000000..9f1b5646a0e7
--- /dev/null
+++ b/dev-lang/spark/spark-2017.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit toolchain-funcs multiprocessing
+
+MYP=${PN}-gpl-${PV}
+
+DESCRIPTION="Software development for high-reliability applications."
+HOMEPAGE="http://libre.adacore.com"
+SRC_URI="http://mirrors.cdn.adacore.com/art/591c4777c7a447af2deed05e
+ -> ${MYP}-src.tar.gz
+ http://mirrors.cdn.adacore.com/art/591adbb4c7a4473fcc4532a3
+ -> gnat-gpl-2017-src.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE=""
+
+RDEPEND="dev-lang/gnat-gpl:6.3.0
+ >=dev-ada/gnatcoll-2017[gnat_2017,projects]
+ sci-mathematics/alt-ergo
+ sci-mathematics/why3-for-spark"
+DEPEND="${RDEPEND}
+ dev-ada/gprbuild[gnat_2017]"
+
+S="${WORKDIR}"/${MYP}-src
+
+PATCHES=( "${FILESDIR}"/${P}-gentoo.patch )
+
+src_prepare() {
+ ln -sf "${WORKDIR}"/gnat-gpl-2017-src/src/ada gnat2why/gnat_src || die
+ GCC_PV=6.3.0
+ sed -i \
+ -e "s:gnatmake:gnatmake-${GCC_PV}:g" \
+ -e "s:gnatls:gnatls-${GCC_PV}:g" \
+ Makefile \
+ gnat2why/Makefile || die
+ default
+}
+
+src_compile() {
+ emake gnat2why gnatprove
+}
+
+src_install() {
+ emake INSTALLDIR="${D}"/usr install
+ einstalldocs
+ dosym ../../../lib64/why3/why3server /usr/libexec/spark/bin/why3server
+ dobin install/bin/gnatprove
+ mv install/share/doc/spark/* "${D}"/usr/share/doc/${PF} || die
+ exeinto /usr/libexec/spark/bin
+ doexe install/bin/gnat2why
+ doexe install/bin/spark_memcached_wrapper
+ doexe install/bin/spark_report
+ doexe install/bin/spark_codepeer_wrapper
+ mv "${D}"/usr/bin/target.atp "${D}"/usr/libexec/spark/bin || die
+}