#!/bin/sh set -x -e CWD=$(pwd) PRGNAM=$(basename $CWD) ARCH=$(uname -m) BUILD=2 TAG=cyco OUTPUT=/tmp TMP=/tmp/$TAG PKG=$TMP/pkg-$PRGNAM PREFIX=/usr LATEST_RELEASE_URL=$(curl -s https://api.github.com/repos/manastech/crystal/releases | grep browser_download_url | grep linux-${ARCH} | head -n 1 | cut -d '"' -f 4) VERSION=$(echo $LATEST_RELEASE_URL | grep -o "/[0-9.]*/" | tr -d / | grep -o "[0-9.]*") # cleaning rm -fr $PKG [ ! -e $CWD/crystal-${VERSION}-1-linux-${ARCH}.tar.gz ] && wget -c https://github.com/manastech/crystal/releases/download/${VERSION}/crystal-${VERSION}-1-linux-${ARCH}.tar.gz -O $CWD/crystal-${VERSION}-1-linux-${ARCH}.tar.gz # installation mkdir -p $PKG$PREFIX/{doc,libexec/${PRGNAM}}/ cd $PKG$PREFIX/doc/ tar xvf $CWD/crystal-${VERSION}-1-linux-${ARCH}.tar.gz mv crystal-${VERSION}-1 crystal-${VERSION} mv crystal-${VERSION}/{embedded,src} $PKG$PREFIX/libexec/${PRGNAM} mv crystal-${VERSION}/bin $PKG$PREFIX mkdir -p $PKG$PREFIX/share/zsh/site-functions/ cp -R $PKG$PREFIX/crystal-${VERSION}/etc/completion.zsh $PKG$PREFIX/share/zsh/site-functions/_crystal sed -i "s|INSTALL_DIR=.*|INSTALL_DIR=$PREFIX/libexec/$PRGNAM|g" $PKG$PREFIX/bin/crystal # packaging cd $PKG mkdir install cat < install/slack-desc $PRGNAM: $PRGNAM (The Crystal Programming Language) $PRGNAM: $PRGNAM: Crystal is a programming language with the following goals: $PRGNAM: .Have the same syntax as Ruby, or at least as similar as possible. $PRGNAM: .Statically type-checked but without having to specify the type of variables or $PRGNAM: method arguments. $PRGNAM: .Be able to call C code by writing bindings to it in Crystal. $PRGNAM: .Have compile-time evaluation and generation of code, to avoid boilerplate code. $PRGNAM: .Compile to efficient native code. $PRGNAM: $PRGNAM: http://crystal-lang.org/ EOF makepkg -l y -c n $OUTPUT/$PRGNAM-$(echo $VERSION | tr -d '-')-$ARCH-$BUILD$TAG.txz