summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorcrave2023-03-21 15:26:34 +0100
committercrave2023-03-21 15:26:34 +0100
commit6eb1045f160926e889808e74436259465ea98045 (patch)
tree9e36dcfe8ce1b61dc0bf57606b0fce3b7722d8a5
downloadaur-karamel-git.tar.gz
Initial
-rw-r--r--.SRCINFO21
-rw-r--r--PKGBUILD62
2 files changed, 83 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..f80a8f7c2e61
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,21 @@
+pkgbase = karamel-git
+ pkgdesc = a tool for extracting low-level F* programs to readable C code
+ pkgver = fstar.v2022.11.19.r846.g71facac.karamel.v1.0.0.r421.gbd359d8
+ pkgrel = 1
+ url = https://github.com/FStarLang/karamel
+ arch = i686
+ arch = x86_64
+ license = Apache-2.0
+ depends = python2
+ depends = opam
+ depends = which
+ conflicts = fstar
+ options = !strip
+ options = !makeflags
+ options = staticlibs
+ source = git+https://github.com/FStarLang/FStar.git
+ source = git+https://github.com/FStarLang/karamel.git
+ sha256sums = SKIP
+ sha256sums = SKIP
+
+pkgname = karamel-git
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..b02068d19f5f
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,62 @@
+# Maintainer: crave <crave@infinity>
+
+pkgname=karamel-git
+pkgver=fstar.v2022.11.19.r846.g71facac.karamel.v1.0.0.r421.gbd359d8
+pkgrel=1
+pkgdesc="a tool for extracting low-level F* programs to readable C code"
+arch=('i686' 'x86_64')
+url='https://github.com/FStarLang/karamel'
+license=('Apache-2.0')
+options=('!strip' '!makeflags' 'staticlibs')
+depends=('python2' 'opam' 'which')
+conflicts=('fstar')
+source=('git+https://github.com/FStarLang/FStar.git'
+ 'git+https://github.com/FStarLang/karamel.git')
+sha256sums=('SKIP' 'SKIP')
+
+pkgver() {
+ (cd FStar
+ echo -n 'fstar.'
+ git describe --long --tags --abbrev=7 | sed 's/\([^-]*-g\)/r\1/;s/-/./g' | tr -d '\n')
+ (cd karamel
+ echo -n '.karamel.'
+ git describe --long --tags --abbrev=7 | sed 's/\([^-]*-g\)/r\1/;s/-/./g')
+}
+
+OPAM_VER=4.11.0
+build() {
+ cd "$srcdir"
+ export FSTAR_HOME="$(realpath FStar)"
+ export PATH="$FSTAR_HOME/bin:$PATH"
+
+ if ! [ -d ~/.opam ]; then
+ # I know you probably shouldn't do this in a PKGBUILD
+ # But I don't care about ocaml, I just want to use this software
+ opam init --shell-setup
+ opam switch create "$OPAM_VER"
+ opam switch "$OPAM_VER"
+ fi
+
+ (eval $(opam env)
+ CHECK_IF_PREINSTALLED=false opam install --yes --no-depexts conf-python-2-7 ppx_deriving_yojson zarith pprint "menhir>=20161115" sedlex process fix "wasm>=2.0.0" visitors ctypes-foreign ctypes
+ (cd FStar
+ opam install --yes --deps-only .
+ make -j$(nproc))
+ (cd karamel
+ make -j$(nproc))) || echo "If the build failed because of some ocaml messages try deleting ~/.opam, and re-run"
+}
+
+package() {
+ eval $(opam env)
+ cd "$srcdir"
+ export PREFIX="$pkgdir/opt/fstar"
+ mkdir -p "$PREFIX"
+ #(cd FStar; make -j$(nproc) install; cd ulib; export INSTALL_EXEC="$(which install)"; ./install-ulib.sh)
+ cp -r FStar/* $PREFIX
+ export FSTAR_HOME="$PREFIX"
+
+ export PREFIX="$pkgdir/opt/karamel"
+ #(cd karamel; make -j$(nproc) install)
+ mkdir -p "$PREFIX"
+ cp -r karamel/* $PREFIX
+}