diff options
Diffstat (limited to 'community/crystal/APKBUILD')
-rw-r--r-- | community/crystal/APKBUILD | 91 |
1 files changed, 53 insertions, 38 deletions
diff --git a/community/crystal/APKBUILD b/community/crystal/APKBUILD index 30674bdd96d..8a6d9c98ecd 100644 --- a/community/crystal/APKBUILD +++ b/community/crystal/APKBUILD @@ -2,33 +2,55 @@ # Contributor: Milan P. Stanić <mps@arvanta.net> # Maintainer: Jakub Jirutka <jakub@jirutka.cz> pkgname=crystal -pkgver=1.0.0 +pkgver=1.12.1 pkgrel=0 -_bootver=0.35.0 -_llvmver=11 +_bootver=1.11.2 +_llvmver=17 pkgdesc="The Crystal Programming Language" url="https://crystal-lang.org/" arch="x86_64 aarch64" -options="!check" # disable for now till it fixed upstream license="Apache-2.0" -depends="gc-dev libatomic_ops libevent-dev libevent-static gcc gmp-dev pcre-dev" -checkdepends="openssl-dev libxml2-dev tzdata yaml-dev zlib-dev" -makedepends="llvm$_llvmver-dev llvm$_llvmver-static zlib-static" +depends=" + gc-dev + gcc + gmp-dev + libatomic_ops + libevent-dev + libevent-static + musl-dev + pcre2-dev + " +checkdepends=" + openssl-dev + tzdata + yaml-dev + zlib-dev + " +makedepends=" + libxml2-dev + llvm$_llvmver-dev + " +[ "${BUILD_STATIC:-0}" -eq 1 ] && makedepends="$makedepends + libxml2-static + llvm$_llvmver-static + zlib-static + zstd-static + " subpackages="$pkgname-doc - $pkgname-bash-completion:bashcomp:noarch - $pkgname-zsh-completion:zshcomp:noarch + $pkgname-bash-completion + $pkgname-zsh-completion " source="$pkgname-$pkgver.tar.gz::https://github.com/crystal-lang/$pkgname/archive/$pkgver.tar.gz https://dev.alpinelinux.org/archive/crystal/crystal-$_bootver-x86_64-alpine-linux-musl.tar.gz https://dev.alpinelinux.org/archive/crystal/crystal-$_bootver-aarch64-alpine-linux-musl.tar.gz " -builddir="$srcdir/$pkgname-$pkgver" _coredir="/usr/lib/$pkgname/core" _shardsdir="/usr/lib/$pkgname/shards" export CRYSTAL_CONFIG_VERSION="$pkgver" export CRYSTAL_CACHE_DIR="$srcdir/.cache" +export LLVM_CONFIG="/usr/lib/llvm$_llvmver/bin/llvm-config" # Build static crystal binary and upload it to dev.a.o, so it can be used # for building crystal next time (needed for bootstrapping). @@ -40,7 +62,8 @@ snapshot() { if [ ! -f "$binary" ] || ! file "$binary" | grep -qw 'statically linked'; then msg "Building statically linked crystal..." - BUILD_STATIC=1 abuild clean deps unpack prepare build + BUILD_STATIC=1 \ + abuild deps clean unpack prepare build fi cd "$srcdir" @@ -58,12 +81,15 @@ snapshot() { prepare() { default_prepare + # FIXME: These specs fail with invalid memory access. + rm spec/compiler/compiler_spec.cr + cat > Makefile.local <<-EOF progress = 1 threads = ${JOBS:-2} verbose = 1 FLAGS = --verbose --target $CTARGET ${BUILD_STATIC:+"--link-flags=-no-pie"} - LLVM_CONFIG = /usr/lib/llvm$_llvmver/bin/llvm-config + LLVM_CONFIG = $LLVM_CONFIG EOF } @@ -72,14 +98,17 @@ build() { CRYSTAL_CONFIG_BUILD_COMMIT= \ CRYSTAL_CONFIG_PATH="lib:$_shardsdir:$_coredir" \ PATH="$srcdir/$pkgname-$_bootver-$CBUILD/bin:$PATH" \ - LLVM_CONFIG="llvm-config" \ release=1 \ static=${BUILD_STATIC:-} } check() { - make spec LLVM_CONFIG="llvm-config" PATH=".build:$PATH" \ - SPEC_FLAGS="--no-color --verbose" + make std_spec threads=1 SPEC_FLAGS='--no-color --verbose' + + find samples -name '*.cr' -print0 | xargs -0 -tn 1 ./bin/crystal build --no-codegen + + # Takes ~1 hour on x86_64, ~1.5 hour on aarch64. + #make compiler_spec threads=1 SPEC_FLAGS='--no-color --verbose' } package() { @@ -89,30 +118,16 @@ package() { mkdir -p "$pkgdir$_coredir" "$pkgdir$_shardsdir" cp -r src/* "$pkgdir$_coredir"/ - cd "$pkgdir$_coredir" - rm ext/sigfault.* llvm/ext/llvm_ext.o -} - -bashcomp() { - pkgdesc="Bash completions for $pkgname" - depends="" - install_if="$pkgname=$pkgver-r$pkgrel bash-completion" - - cd "$builddir" install -D -m 644 etc/completion.bash \ - "$subpkgdir"/usr/share/bash-completion/completions/$pkgname -} - -zshcomp() { - pkgdesc="ZSH completions for $pkgname" - depends="" - install_if="$pkgname=$pkgver-r$pkgrel zsh" - - cd "$builddir" + "$pkgdir"/usr/share/bash-completion/completions/$pkgname install -D -m 644 etc/completion.zsh \ - "$subpkgdir"/usr/share/zsh/site-functions/_$pkgname + "$pkgdir"/usr/share/zsh/site-functions/_$pkgname + + rm "$pkgdir$_coredir"/llvm/ext/llvm_ext.o } -sha512sums="aa56eb0131aecad15bebc6ef0ce2f34f0992a8362441dd662a518ddbc5e3818762c1c7228bc5b06aafdb8815e59d791654add9da8ba9a47a6a4fd34f6b039a8b crystal-1.0.0.tar.gz -885c6e76590515bac07d76313c1e453414a08be100f61c9cde02cbc93218ed3048cec2ec060bd413a861a1e5eb51e38213ddc90f41f87bdd517fd22a0af1554f crystal-0.35.0-x86_64-alpine-linux-musl.tar.gz -8ae89267dbc10f3fb9a292843725c792bfdb7dadbd48ca46564e6e58bfe816a4747bcc62058b148c673c0c145f5e637cac230150065c12e8b57a71e7ea830973 crystal-0.35.0-aarch64-alpine-linux-musl.tar.gz" +sha512sums=" +bd0c085d44a473b86797fa64ce9a5c66c7d3eda44bdba929faee490b635aef45bdf84b45baaa5dfea8e2b6fd218d1ae7fbdf117d3924b04b284075d4a500e55c crystal-1.12.1.tar.gz +a3269baad1e5417cc22c93daf160794296a5d2a00ef3694c4ebff391d950fd6960b9c52ef34211bb0fcb359a39e396490b0fe1e3f2b4a3e1f46921d5b0da935a crystal-1.11.2-x86_64-alpine-linux-musl.tar.gz +42757038f284bf02b142510f9eeca96daa4148af33362e84105a74b6943ea1030c4039285995510b0b8014bc3c1d9a6829b0e269af3cdea0af1591a703fa14ac crystal-1.11.2-aarch64-alpine-linux-musl.tar.gz +" |