diff options
Diffstat (limited to 'community/fennel/APKBUILD')
-rw-r--r--[-rwxr-xr-x] | community/fennel/APKBUILD | 75 |
1 files changed, 49 insertions, 26 deletions
diff --git a/community/fennel/APKBUILD b/community/fennel/APKBUILD index 33cd66fa694..4cb45e86d6a 100755..100644 --- a/community/fennel/APKBUILD +++ b/community/fennel/APKBUILD @@ -1,31 +1,33 @@ # Contributor: Will Sinatra <wpsinatra@gmail.com> # Maintainer: Will Sinatra <wpsinatra@gmail.com> pkgname=fennel -pkgver=1.0.0 -pkgrel=1 +pkgver=1.4.2 +pkgrel=0 pkgdesc="A Lua Lisp Language" url="https://fennel-lang.org" arch="all" #detects noarch, but contains compiled binaries license="MIT" -options="net" +subpackages="$pkgname-doc" source="fennel-$pkgver.tar.gz::https://git.sr.ht/~technomancy/fennel/archive/$pkgver.tar.gz" -depends="" -makedepends="" -subpackages="" replaces="fennel" +options="net" + +case "$CARCH" in +ppc64le|s390x|riscv64) _lua_versions="5.1 5.2 5.3 5.4" ;; +*) _lua_versions="5.1 5.2 5.3 5.4 jit" ;; +esac -_lua_versions="5.3 5.4" for _v in $_lua_versions; do - makedepends="$makedepends lua$_v lua$_v-dev lua$_v-libs" - subpackages="$subpackages $pkgname$_v:_subpackage $pkgname$_v-doc:_doc" + makedepends="$makedepends lua$_v-dev" + + subpackages="$subpackages $pkgname$_v:_subpackage" done -_builddir="$srcdir/fennel-$pkgver" prepare() { default_prepare for _v in $_lua_versions; do - cp -r "$builddir" "$builddir-$_v" + cp -r "$builddir" "$builddir-$_v" done } @@ -34,7 +36,26 @@ build() { msg "Building for lua$_v..." cd "$builddir-$_v" - make fennel.lua fennel-bin LUA=lua$_v NATIVE_LUA_LIB=/usr/lib/liblua-$_v.so.0.0.0 + if [ $_v = "5.1" ]; then + libdir=/usr/lib/liblua.so + includedir=/usr/include + elif [ $_v = "jit" ]; then + libdir=/usr/lib/libluajit-5.1.so + includedir=/usr/include/luajit-2.1 + else + libdir=/usr/lib/lua$_v/liblua.so + includedir=/usr/include/lua$_v + fi + + make fennel.lua \ + COMPILE_ARGS="FENNEL_PATH=src/?.fnl FENNEL_MACRO_PATH=src/?.fnl CC_OPTS=" \ + fennel-bin \ + LUA=lua$_v \ + NATIVE_LUA_LIB=$libdir \ + BIN_LUA_VERSION=$_v \ + LUA_INCLUDE_DIR=$includedir \ + BIN_LUA_DIR=/usr/bin/lua$_v + ./fennel-bin --compile src/fennel/binary.fnl > binary.lua done } @@ -49,7 +70,21 @@ check() { } package() { - mkdir -p "$pkgdir" + cd "$builddir-5.4" + gzip -9n man/man1/fennel.1 + gzip -9n man/man3/fennel-api.3 + gzip -9n man/man5/fennel-reference.5 + gzip -9n man/man7/fennel-tutorial.7 + + install -Dm644 man/man1/fennel.1.gz \ + -t "$pkgdir"/usr/share/man/man1/ + install -Dm644 man/man3/fennel-api.3.gz \ + -t "$pkgdir"/usr/share/man/man3/ + install -Dm644 man/man5/fennel-reference.5.gz \ + -t "$pkgdir"/usr/share/man/man5/ + install -Dm644 man/man7/fennel-tutorial.7.gz \ + -t "$pkgdir"/usr/share/man/man7/ + } _subpackage() { @@ -70,18 +105,6 @@ _subpackage() { "$subpkgdir/usr/bin/fennel$_v" } -_doc() { - local _ver=${subpkgname#"$pkgname"} - local _v=$(printf '%s' "$_ver" | sed 's|-doc||') - pkgdesc="Documentation for Fennel built with Lua$_v" - - cd "$builddir-$_v" - - gzip -9 fennel.1 - install -Dm0644 "fennel.1.gz" \ - -t "$subpkgdir/usr/share/man/man1/" -} - sha512sums=" -4ad1635807d244297fdc7bf7c06568ae708ae805dcaac2bb190fad412da21c9e3c3b86a6afa223e343488c725afea94682f213332fb22ba66eb5190e97f18415 fennel-1.0.0.tar.gz +13b6020314d010566c7521b85065a446e09f8a0cfec9b9cb4bc2e23fe59369d105538bcb8a3a7cd865c399742d98a1742da932f8bde993c1136422f803069071 fennel-1.4.2.tar.gz " |