aboutsummaryrefslogtreecommitdiffstats
path: root/community/fennel/APKBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'community/fennel/APKBUILD')
-rw-r--r--[-rwxr-xr-x]community/fennel/APKBUILD108
1 files changed, 87 insertions, 21 deletions
diff --git a/community/fennel/APKBUILD b/community/fennel/APKBUILD
index 928ddf94831..4cb45e86d6a 100755..100644
--- a/community/fennel/APKBUILD
+++ b/community/fennel/APKBUILD
@@ -1,44 +1,110 @@
# Contributor: Will Sinatra <wpsinatra@gmail.com>
# Maintainer: Will Sinatra <wpsinatra@gmail.com>
pkgname=fennel
-pkgver=0.9.2
+pkgver=1.4.2
pkgrel=0
pkgdesc="A Lua Lisp Language"
url="https://fennel-lang.org"
-# riscv64 blocked by lua
-arch="all !riscv64"
+arch="all" #detects noarch, but contains compiled binaries
license="MIT"
-source="fennel-$pkgver.tar.gz::https://git.sr.ht/~technomancy/fennel/archive/$pkgver.tar.gz"
-_lua_version=5.3 #Upstream suggests building against 5.3 until 5.4 has better library support
-makedepends="lua5.3 lua5.3-dev lua5.3-libs"
subpackages="$pkgname-doc"
+source="fennel-$pkgver.tar.gz::https://git.sr.ht/~technomancy/fennel/archive/$pkgver.tar.gz"
+replaces="fennel"
+options="net"
-check() {
- make test LUA=lua$_lua_version
+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
+
+for _v in $_lua_versions; do
+ makedepends="$makedepends lua$_v-dev"
+
+ subpackages="$subpackages $pkgname$_v:_subpackage"
+done
+
+prepare() {
+ default_prepare
+
+ for _v in $_lua_versions; do
+ cp -r "$builddir" "$builddir-$_v"
+ done
}
build() {
- make fennel-bin LUA=lua$_lua_version STATIC_LUA_LIB=/usr/lib/liblua-$_lua_version.so.0.0.0
- ./fennel-bin --compile src/fennel/binary.fnl > binary.lua
+ for _v in $_lua_versions; do
+ msg "Building for lua$_v..."
+ cd "$builddir-$_v"
+
+ 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
+}
+
+check() {
+ for _v in $_lua_versions; do
+ msg "Testing for lua$_v..."
+ cd "$builddir-$_v"
+
+ make test LUA=lua$_v
+ done
}
package() {
- install -Dm644 "fennelview.lua" \
- -t "$pkgdir/usr/share/lua/$_lua_version/"
+ 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() {
+ local _v="${subpkgname#"$pkgname"}"
+ pkgdesc="A Lua Lisp Language for Lua $_v"
+ install_if="lua$_v $pkgname=$pkgver-r$pkgrel"
+ depends="$depends lua$_v"
- install -Dm644 "fennel.lua" \
- -t "$pkgdir/usr/share/lua/$_lua_version/"
+ cd "$builddir-$_v"
- install -Dm644 "binary.lua" \
- -t "$pkgdir/usr/share/lua/$_lua_version/fennel/"
+ install -Dm0644 "fennel.lua" \
+ -t "$subpkgdir/usr/share/lua/$_v/"
- install -Dm644 "fennel.1" \
- -t "$pkgdir/usr/share/man/man1/fennel.1"
+ install -Dm0644 "binary.lua" \
+ -t "$subpkgdir/usr/share/lua/$_v/fennel/"
- install -Dm755 "fennel-bin" \
- "$pkgdir/usr/bin/fennel"
+ install -Dm0755 "fennel-bin" \
+ "$subpkgdir/usr/bin/fennel$_v"
}
sha512sums="
-2bf92865a4d79329b6c511c6871158a86347f98569a594358f9a3a8d2ac8013c35d00741ae68da50c5042df2b061e2eba4e61aa98877f94415f334f9994ad4e0 fennel-0.9.2.tar.gz
+13b6020314d010566c7521b85065a446e09f8a0cfec9b9cb4bc2e23fe59369d105538bcb8a3a7cd865c399742d98a1742da932f8bde993c1136422f803069071 fennel-1.4.2.tar.gz
"