mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2025-06-04 12:26:24 +02:00
https://koka-lang.github.io/ Strongly typed functional-style language with effect types and handlers
90 lines
3.3 KiB
Text
90 lines
3.3 KiB
Text
# Maintainer: Celeste <cielesti@protonmail.com>
|
|
maintainer="Celeste <cielesti@protonmail.com>"
|
|
pkgname=koka
|
|
pkgver=3.1.3_alpha14
|
|
pkgrel=0
|
|
_pkgver=${pkgver/_alpha/-alpha}
|
|
_pkgbase=${pkgver%%_alpha*}
|
|
pkgdesc="Strongly typed functional-style language with effect types and handlers"
|
|
url="https://koka-lang.github.io/"
|
|
arch="aarch64 x86_64" # ghc
|
|
license="Apache-2.0 AND MIT"
|
|
depends="cmd:cc musl-dev pcre2-dev pcre2-static"
|
|
makedepends="alex ghc xxhash-dev"
|
|
_async=2.2.5
|
|
_floatinghex=0.5
|
|
_hashable=1.5.0.0
|
|
_isocline=1.0.9
|
|
_mimalloc=6141843614220c4d85f55774c131a68ba778e413
|
|
source="https://github.com/koka-lang/koka/archive/refs/tags/v$_pkgver/koka-$_pkgver.tar.gz
|
|
https://github.com/microsoft/mimalloc/archive/$_mimalloc/mimalloc-$_mimalloc.tar.gz
|
|
https://hackage.haskell.org/package/async-$_async/async-$_async.tar.gz
|
|
https://hackage.haskell.org/package/FloatingHex-$_floatinghex/FloatingHex-$_floatinghex.tar.gz
|
|
https://hackage.haskell.org/package/hashable-$_hashable/hashable-$_hashable.tar.gz
|
|
https://hackage.haskell.org/package/isocline-$_isocline/isocline-$_isocline.tar.gz
|
|
"
|
|
builddir="$srcdir/$pkgname-$_pkgver"
|
|
|
|
case "$CARCH" in
|
|
x86_64) _arch=x64 ;;
|
|
aarch64) _arch=arm64 ;;
|
|
esac
|
|
|
|
prepare() {
|
|
default_prepare
|
|
|
|
ln -sv ../../../include/HsXXHash.h \
|
|
"$srcdir"/hashable-$_hashable/src/Data/Hashable/
|
|
|
|
rmdir -v kklib/mimalloc
|
|
mv -v "$srcdir"/mimalloc-$_mimalloc kklib/mimalloc
|
|
}
|
|
|
|
build() {
|
|
# based on util/minbuild.sh
|
|
if [ ! -f src/Syntax/Lexer.hs ]; then
|
|
alex src/Syntax/Lexer.x -g -o src/Syntax/Lexer.hs
|
|
fi
|
|
|
|
mkdir -p .koka/minbuild
|
|
ghc \
|
|
-i"src:src/Platform/cpp:$srcdir/async-$_async:$srcdir/FloatingHex-$_floatinghex:$srcdir/hashable-$_hashable/src:$srcdir/isocline-$_isocline/haskell" \
|
|
-odir=.koka/minbuild \
|
|
-hidir=.koka/minbuild \
|
|
-o .koka/minbuild/koka \
|
|
-DKOKA_MAIN=\"koka\" \
|
|
-DKOKA_VARIANT=\"release\" \
|
|
-DKOKA_VERSION=\"$_pkgbase\" \
|
|
--make -j"$((JOBS / 3 + 1))" -O2 \
|
|
src/Main/plain/Main.hs \
|
|
src/Platform/cpp/Platform/cconsole.c \
|
|
"$srcdir"/isocline-$_isocline/src/isocline.c
|
|
|
|
CC=gcc .koka/minbuild/koka -e util/bundle.kk \
|
|
-- --koka=.koka/minbuild/koka
|
|
}
|
|
|
|
check() {
|
|
./bundle/v$_pkgbase/local-v$_pkgbase-linux-$_arch/bin/koka \
|
|
-e samples/all.kk
|
|
}
|
|
|
|
package() {
|
|
cd bundle/v$_pkgbase
|
|
mkdir -p "$pkgdir/usr"
|
|
local f; for f in koka-v$_pkgbase-linux-*.tar.gz; do
|
|
tar -xf "$f" \
|
|
-C "$pkgdir/usr" \
|
|
--exclude=meta \
|
|
--no-same-owner
|
|
done
|
|
}
|
|
|
|
sha512sums="
|
|
de2bc2a6e9633b791ad3a953c37c73f8c08d4744df3eac06afde0431fa56a374df87d8c70288cbc9cc10e63896a0a11e7c012bb306be5dcc6b191dfcbd38d98e koka-3.1.3-alpha14.tar.gz
|
|
4afb8b4374082e098267c95ade797da47e94a28764ce48e67a25514610c6a34a33749cba29fd27472e078ef6f18e53fc5e3dd44c50e1210e965a43a4849ee2ac mimalloc-6141843614220c4d85f55774c131a68ba778e413.tar.gz
|
|
bf525cebe9d5f67140f7648683704d0f5ec5d63c78ac9e3b14870652f355d1b4afc3922bd1afce2182d06024ec04b30536407f29d526b05f2ae4a36cba3a518a async-2.2.5.tar.gz
|
|
aabac5a89a3d90828396fa9f7704d49367e2257635731e53975519c049eb39edfcd3ba06b1cbcdeec21d17030b7a22210de17210215323fc8351fd9516e992b9 FloatingHex-0.5.tar.gz
|
|
ba8df8455cb86cd3d91b8024dfcfb2caa1f2d1b3bfb89fd187f998775a03f43155601e101a695ff9c022a2a2d521613d70358ada188dbcf3e8d8bbf59e75264d hashable-1.5.0.0.tar.gz
|
|
0bc1a4b2ad217e1e3b270eeab51b18b4d0f5534fb8759daed4b699f2a56628f4a18d909862abed5c949f671ed746855a6de508ee23f3d93ffbff5a8525db1a47 isocline-1.0.9.tar.gz
|
|
"
|