#!/bin/sh ## Copyright (C) 2016 Ryan S. Northrup ## Modified by Rafael Tavares for gfs (2021) ## Permission is hereby granted, free of charge, to any person ## obtaining a copy of this software and associated documentation ## files (the "Software"), to deal in the Software without ## restriction, including without limitation the rights to use, copy, ## modify, merge, publish, distribute, sublicense, and/or sell copies ## of the Software, and to permit persons to whom the Software is ## furnished to do so, subject to the following conditions: ## The above copyright notice and this permission notice shall be ## included in all copies or substantial portions of the Software. ## THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, ## EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF ## MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND ## NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS ## BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ## ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN ## CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ## SOFTWARE. ## Based on erlang-otp.SlackBuild, which was written by halflife ## (vzdorovenco@yahoo.com). Please **DO NOT** email halflife about ## this SlackBuild. PRGNAM=$(basename $0 | cut -f1 -d.) VERSION=${VERSION:-$(find . -maxdepth 1 -name "$PRGNAM-*.tar.?z*" | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} BUILD=${BUILD:-1} TAG=${TAG:-_gfs} if [ -z "$ARCH" ]; then case "$( uname -m )" in i?86) ARCH=i586 ;; arm*) ARCH=arm ;; *) ARCH=$( uname -m ) ;; esac fi CWD=$(pwd) TMP=${TMP:-/tmp/gfs} PKG=$TMP/pkg-$PRGNAM OUTPUT=${OUTPUT:-/tmp} JOBS=${JOBS:-" -j$(expr $(getconf _NPROCESSORS_ONLN) \* 2 ) "} if [ "$ARCH" = "x86_64" ]; then LIBDIRSUFFIX="64" else LIBDIRSUFFIX="" fi set -e UMASKBKP=$(umask) umask 0022 DEPCHK="" OPTDEP="" if [ -z $VERSION ] then VERSION=1.11.3 fi SRC_NAME_VERSION=elixir-${VERSION} MDSCHK=0319a8428c647cdbc373312a5c25fb5e DWNLCMD=${DWNLCMD:-"wget -c --no-check-certificate"} SRCDOWN=${SRCDOWN:-"https://github.com/elixir-lang/elixir/archive/v$VERSION/elixir-$VERSION.tar.gz"} if [ -z $(find . -maxdepth 1 -name "$PRGNAM-$VERSION.tar.?z*") ] then $DWNLCMD $SRCDOWN else if md5sum -c <<<"$MDSCHK $(echo $PRGNAM-$VERSION.tar.?z*)"; then continue else rm -rf $PRGNAM-$VERSION.tar.?z* $DWNLCMD $SRCDOWN fi fi rm -rf $PKG mkdir -p $TMP $PKG $OUTPUT cd $TMP rm -rf $SRC_NAME_VERSION tar xvf $CWD/$SRC_NAME_VERSION.tar.gz cd $SRC_NAME_VERSION chown -R root:root . find -L . \ \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ -o -perm 511 \) -exec chmod 755 {} \; -o \ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; make $JOBS || make make DESTDIR=$PKG PREFIX=/usr LIBDIR=lib${LIBDIRSUFFIX} install cd $PKG/usr/bin for file in elixir elixirc iex mix ; do rm -f $file ln -s ../lib${LIBDIRSUFFIX}/elixir/bin/$file . done cd - chown -R root:root $PKG/usr/lib${LIBDIRSUFFIX}/elixir chmod -R u+w,go+r-w,a-s $PKG/usr/lib${LIBDIRSUFFIX}/elixir mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION for file in CHANGELOG.md CODE_OF_CONDUCT.md LICENSE \ NOTICE README.md RELEASE.md SECURITY.md VERSION ; do cp $file $PKG/usr/doc/$PRGNAM-$VERSION done cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild mv $PKG/usr/share/man $PKG/usr/man rmdir $PKG/usr/share find $PKG/usr/man -type f -exec gzip -9 {} \; for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done mkdir -p $PKG/install # |-----handy-ruler------------------------------------------------------| cat <$PKG/install/slack-desc $PRGNAM: $PRGNAM: elixir (programming language) $PRGNAM: $PRGNAM: Elixir is a dynamic, functional language designed for building $PRGNAM: scalable and maintainable applications. $PRGNAM: $PRGNAM: Elixir leverages the Erlang VM, known for running low-latency, $PRGNAM: distributed and fault-tolerant systems, while also being successfully $PRGNAM: used in web development and the embedded software domain. $PRGNAM: $PRGNAM: https://elixir-lang.org/ EOT cd $PKG /sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-txz} umask ${UMASKBKP}