slackbuilds/d/crystal/crystal.SlackBuild

55 lines
1.9 KiB
Text
Raw Normal View History

2015-07-26 11:01:15 +02:00
#!/bin/sh
set -x -e
CWD=$(pwd)
PRGNAM=$(basename $CWD)
ARCH=$(uname -m)
2015-08-06 09:09:26 +02:00
BUILD=2
2015-07-26 11:01:15 +02:00
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.]*")
2015-07-26 11:01:15 +02:00
# 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}
2015-08-06 09:09:26 +02:00
mv crystal-${VERSION}/{embedded,src} $PKG$PREFIX/libexec/${PRGNAM}
2015-07-26 11:01:15 +02:00
mv crystal-${VERSION}/bin $PKG$PREFIX
2015-09-22 16:24:09 +02:00
mkdir -p $PKG$PREFIX/share/zsh/site-functions/
2015-09-22 16:25:12 +02:00
cp -R $PKG$PREFIX/doc/crystal-${VERSION}/etc/completion.zsh $PKG$PREFIX/share/zsh/site-functions/_crystal
2015-09-22 16:24:09 +02:00
2015-07-26 11:01:15 +02:00
sed -i "s|INSTALL_DIR=.*|INSTALL_DIR=$PREFIX/libexec/$PRGNAM|g" $PKG$PREFIX/bin/crystal
# packaging
cd $PKG
mkdir install
cat <<EOF > 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