[arch-commits] Commit in crystal/repos (2 files)

Anatol Pomozov anatolik at gemini.archlinux.org
Mon Jul 19 16:24:34 UTC 2021


    Date: Monday, July 19, 2021 @ 16:24:34
  Author: anatolik
Revision: 978799

archrelease: copy trunk to community-testing-x86_64

Added:
  crystal/repos/community-testing-x86_64/
  crystal/repos/community-testing-x86_64/PKGBUILD
    (from rev 978798, crystal/trunk/PKGBUILD)

----------+
 PKGBUILD |   68 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 68 insertions(+)

Copied: crystal/repos/community-testing-x86_64/PKGBUILD (from rev 978798, crystal/trunk/PKGBUILD)
===================================================================
--- community-testing-x86_64/PKGBUILD	                        (rev 0)
+++ community-testing-x86_64/PKGBUILD	2021-07-19 16:24:34 UTC (rev 978799)
@@ -0,0 +1,68 @@
+# Maintainer: Anatol Pomozov <anatol.pomozov at gmail.com>
+# Contributor: Jonne Haß <me at jhass.eu>
+
+pkgname=crystal
+pkgver=1.1.0
+pkgrel=1
+pkgdesc='The Crystal Programming Language'
+arch=(x86_64)
+url='https://crystal-lang.org'
+license=(Apache)
+depends=(gc libatomic_ops pcre libevent llvm10-libs)
+makedepends=(libxml2 llvm10 crystal) # to compile version N we need crystal compiler of N-1 version
+checkdepends=(libyaml libxml2 gmp inetutils git)
+optdepends=('shards: crystal language package manager'
+            'libyaml: For YAML support'
+            'gmp: For BigInt support'
+            'libxml2: For XML support')
+source=(crystal-$pkgver.tar.gz::https://github.com/crystal-lang/crystal/archive/$pkgver.tar.gz)
+sha256sums=('7475f699dd64dcc2cf126feddf3eeffb426e1df2e8d80547df0540eaa1775170')
+
+# LLVM 11 support is not complete https://github.com/crystal-lang/crystal/issues/10359
+
+build() {
+  cd $pkgname-$pkgver
+
+  make release=1 \
+       FLAGS="--release --no-debug" \
+       CRYSTAL_PATH="$srcdir/$pkgname-$pkgver/src" \
+       CRYSTAL_CONFIG_VERSION="$pkgver" \
+       CRYSTAL_CONFIG_PATH="lib:/usr/lib/crystal" \
+       CRYSTAL_CACHE_DIR="/tmp/crystal"
+  make docs CRYSTAL_CACHE_DIR="/tmp/crystal"
+}
+
+check() {
+  cd $pkgname-$pkgver
+  return # tests require too much RAM, disable it temporary
+
+  make spec CRYSTAL_PATH="$srcdir/$pkgname-$pkgver/src" \
+            CRYSTAL_CONFIG_VERSION="$pkgver" \
+            CRYSTAL_CACHE_DIR="/tmp/crystal" \
+            PATH=".build:$PATH"
+}
+
+package() {
+  cd $pkgname-$pkgver
+
+  # /usr/bin/crystal                compiled executable
+  # /usr/lib/crystal/               compiler src & core libs
+  # /usr/share/doc/crystal/api      api docs
+  # /usr/share/doc/crystal/samples/ samples
+
+  install -Dm755 ".build/crystal" "$pkgdir/usr/bin/crystal"
+
+  install -dm755 "$pkgdir/usr/lib" "$pkgdir/usr/share/man/man1"
+  cp -r src "$pkgdir/usr/lib/crystal"
+
+  install -dm755 "$pkgdir/usr/share/doc/crystal"
+  cp -r docs "$pkgdir/usr/share/doc/crystal/api"
+  cp -r samples "$pkgdir/usr/share/doc/crystal/"
+
+  install -Dm644 man/crystal.1 "$pkgdir/usr/share/man/man1/"
+
+  install -Dm644 etc/completion.bash "$pkgdir/usr/share/bash-completion/completions/crystal"
+  install -Dm644 etc/completion.zsh "$pkgdir/usr/share/zsh/site-functions/_crystal"
+
+  install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}




More information about the arch-commits mailing list