summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO16
-rw-r--r--PKGBUILD66
2 files changed, 82 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..d0b4aaff42fd
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,16 @@
+pkgbase = velus-git
+ pkgdesc = The Velus Lustre compiler.
+ pkgver = 3.0.0
+ pkgrel = 1
+ url = https://github.com/INRIA/velus
+ arch = x86_64
+ license = Inria Non-Commercial License Agreement
+ depends = opam
+ depends = git
+ depends = make
+ depends = ocamlbuild
+ depends = coreutils
+ source = https://github.com/INRIA/velus/archive/refs/tags/v3.0.0.tar.gz
+ sha256sums = f61ea2b36acf83759aa10b3a2c11696b912b9926a44862c5d678e46f3ac3602d
+
+pkgname = velus-git
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..ca2734a385db
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,66 @@
+# Maintainer: JOLIMAITRE Matthieu <matthieu@imagevo.fr>
+pkgname="velus-git"
+pkgver=3.0.0
+pkgrel=1
+pkgdesc="The Velus Lustre compiler."
+url="https://github.com/INRIA/velus"
+arch=("x86_64")
+license=("Inria Non-Commercial License Agreement")
+makedepends=()
+optdepends=()
+depends=('opam' 'git' 'make' 'ocamlbuild' 'coreutils')
+source=("https://github.com/INRIA/velus/archive/refs/tags/v$pkgver.tar.gz")
+sha256sums=("f61ea2b36acf83759aa10b3a2c11696b912b9926a44862c5d678e46f3ac3602d")
+
+build() {
+ # install sources
+ cd "$srcdir/velus-3.0.0"
+ rm -fr CompCert
+ git clone https://github.com/inria-parkas/CompCert.git CompCert
+ ( cd CompCert && git checkout e19f81cecf4a7cca67d8491fcb4c0a259c232bfb )
+
+ VELUS_DIR="$PWD"
+ export TMP="$PWD/opam_workdir"
+ export TMPDIR="$PWD/opam_workdir"
+ JOBS=$(nproc)
+
+ # setup opam
+ rm -fr opam opam_workdir
+ mkdir -p opam opam_workdir
+ opam init --jobs=$JOBS --root=opam --compiler=4.07.1 --no
+ eval $(opam config env --root=$VELUS_DIR/opam --set-root)
+
+ # install opam build deps
+ opam repo add coq-released https://coq.inria.fr/opam/released
+ opam install --jobs=$JOBS --yes coq.8.9.1 menhir.20200624 coq-menhirlib.20200624
+
+ # run actual build process
+ ./configure x86_64-linux
+ make --jobs=$JOBS
+}
+
+package() {
+ cd "$srcdir/velus-3.0.0/_build"
+ install -D src/veluslib.o "$pkgdir/usr/share/velus/veluslib.o"
+ install -D src/veluslib.cmo "$pkgdir/usr/share/velus/veluslib.cmo"
+ install -D src/veluscommon.cmo "$pkgdir/usr/share/velus/veluscommon.cmo"
+ install -D src/velusmain.cmi "$pkgdir/usr/share/velus/velusmain.cmi"
+ install -D src/velusmain.ml.depends "$pkgdir/usr/share/velus/velusmain.ml.depends"
+ install -D src/veluscommon.ml.depends "$pkgdir/usr/share/velus/veluscommon.ml.depends"
+ install -D src/compcert.ini "$pkgdir/usr/share/velus/compcert.ini"
+ install -D src/veluslib.cmx "$pkgdir/usr/share/velus/veluslib.cmx"
+ install -D src/veluscommon.cmi "$pkgdir/usr/share/velus/veluscommon.cmi"
+ install -D src/velusmain.ml "$pkgdir/usr/share/velus/velusmain.ml"
+ install -D src/veluslib.ml "$pkgdir/usr/share/velus/veluslib.ml"
+ install -D src/veluslib.ml.depends "$pkgdir/usr/share/velus/veluslib.ml.depends"
+ install -D src/velusmain.cmo "$pkgdir/usr/share/velus/velusmain.cmo"
+ install -D src/veluscommon.cmx "$pkgdir/usr/share/velus/veluscommon.cmx"
+ install -D src/veluslib.cmi "$pkgdir/usr/share/velus/veluslib.cmi"
+ install -D src/veluscommon.o "$pkgdir/usr/share/velus/veluscommon.o"
+ install -D src/veluscommon.ml "$pkgdir/usr/share/velus/veluscommon.ml"
+ install -D src/velusmain.o "$pkgdir/usr/share/velus/velusmain.o"
+ install -D src/velusmain.cmx "$pkgdir/usr/share/velus/velusmain.cmx"
+ install -Dm 755 src/velusmain.native "$pkgdir/usr/share/velus/velusmain.native"
+ mkdir -p "$pkgdir/usr/bin"
+ ln -s /usr/share/velus/velusmain.native "$pkgdir/usr/bin/velus"
+}