Package Details: crystal-git 0.21.1.r2.g5b32e46bc-1

Git Clone URL: (read-only)
Package Base: crystal-git
Description: The Crystal Programming Language
Upstream URL:
Keywords: compiler crystal programming
Licenses: Apache
Conflicts: crystal
Provides: crystal
Submitter: drizz
Maintainer: jhass (Ba7a7chy)
Last Packager: jhass
Votes: 7
Popularity: 0.101797
First Submitted: 2014-04-28 23:08
Last Updated: 2017-04-21 17:49

Dependencies (16)

Required by (4)

Sources (3)

Latest Comments

anatolik commented on 2017-01-25 01:09

Running tests in a build chroot gives following error:


1) Process find_executable searches within PATH
Failure/Error: (path = Process.find_executable("crystal")).should_not be_nil

expected: actual_value != nil
got: nil

# spec/std/

Finished in 11:24 minutes
11869 examples, 1 failures, 0 errors, 13 pending

Failed examples:

crystal spec spec/std/ # Process find_executable searches within PATH
make: *** [Makefile:76: spec] Error 1
==> ERROR: A failure occurred in check().
==> ERROR: Build failed, check /var/lib/archbuild/extra-i686/anatol/build

jhass commented on 2017-01-22 18:09

Crystal is self hosted, your package only works if you happen to have Crystal installed while building.

Zatherz commented on 2017-01-22 17:12

-git packages are supposed to pull the latest git master, not the latest release.
Use this PKGBUILD:

Ba7a7chy commented on 2017-01-08 11:15

PKGBUILD for 0.20.4

# Maintainer: Jonne Haß <>
# Contributor: Mikkel Kroman <>

pkgdesc="The Crystal Programming Language"
arch=('i686' 'x86_64')
depends=('gc' 'libatomic_ops' 'pcre' 'libevent')
makedepends=('git' 'libxml2' 'llvm')
checkdepends=('libyaml' 'libxml2' 'gmp' 'git' 'inetutils')
optdepends=('shards: To make the crystal deps command work'
'libyaml: For YAML support'
'gmp: For BigInt support'
'libxml2: For XML support')

pkgver() {
cd "$srcdir/${pkgname/-git/}"
( set -o pipefail
git describe --long --tags 2>/dev/null | sed 's/\([^-]*-g\)/r\1/;s/-/./g' ||
printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"

build() {
cd "$srcdir/${pkgname/-git/}"

make release=1 \
PATH="$srcdir/${pkgname/-git/}-$_last_release/bin:$PATH" \
CRYSTAL_PATH="$srcdir/${pkgname/-git/}/src" \
CRYSTAL_CONFIG_PATH="lib:/usr/lib/crystal" \
make doc CRYSTAL_CACHE_DIR="/tmp/crystal"

check() {
cd "$srcdir/${pkgname/-git/}"

make spec \
CRYSTAL_PATH="$srcdir/${pkgname/-git/}/src" \

package() {
cd "$srcdir/${pkgname/-git/}"

# /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"
cp -av src "$pkgdir/usr/lib/crystal"

install -dm755 "$pkgdir/usr/share/doc/crystal"
cp -av doc "$pkgdir/usr/share/doc/crystal/api"
cp -av samples "$pkgdir/usr/share/doc/crystal/"

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"


jhass commented on 2016-04-04 10:01

Fixed, thanks!

BlaXpirit commented on 2016-04-04 07:17

This doesn't seem right: source_x86_64+=("...-i686.tar.gz")

jhass commented on 2015-03-16 02:31

Right, and libevent is a dependency now too. I always forget to update this package until the next release :P

anatolik commented on 2015-03-16 00:54

It looks like libpcl is a hard dependency and have to be installed (i.e. it should be moved to depends= list)

drizz commented on 2015-01-22 13:38

Sure. Thanks. Disowning now.

jhass commented on 2015-01-22 00:46

I happily take over maintainership if you're no longer interested.

All comments