diff options
Diffstat (limited to 'community/crystal/APKBUILD')
-rw-r--r-- | community/crystal/APKBUILD | 89 |
1 files changed, 51 insertions, 38 deletions
diff --git a/community/crystal/APKBUILD b/community/crystal/APKBUILD index ea6514c2878..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.1.0 +pkgver=1.12.1 pkgrel=0 -_bootver=1.0.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,32 +118,16 @@ package() { mkdir -p "$pkgdir$_coredir" "$pkgdir$_shardsdir" cp -r src/* "$pkgdir$_coredir"/ - cd "$pkgdir$_coredir" - rm 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=" -fcd14338c4c6cb9189cfb9d4d93af7feab806a49e10b9c83399f9252f0c5f3488605141f09adef82d48343eab5653b754b9196fb659590df8d4deb2c4b6499f4 crystal-1.1.0.tar.gz -71b49406ac6002a09bf9368f88664c3699d48273ef8c87564134e92dc4e08525048d9dfbeb23e8502905d3ee2e7cf98982e821b472cbe6bf575cc83b851a733b crystal-1.0.0-x86_64-alpine-linux-musl.tar.gz -0c7ff04eb3ffbe485a59bd9190803268062367cfd074e5f709bcfe805a02a11a91981ce960ce20947ff50049e3ea9c9aaf87ade2b87fc92f8af22c5aae5051af crystal-1.0.0-aarch64-alpine-linux-musl.tar.gz +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 " |