diff options
Diffstat (limited to 'development/mlton/mlton.SlackBuild')
-rw-r--r-- | development/mlton/mlton.SlackBuild | 72 |
1 files changed, 36 insertions, 36 deletions
diff --git a/development/mlton/mlton.SlackBuild b/development/mlton/mlton.SlackBuild index 3fdbef1baef39..c399bb907b9a2 100644 --- a/development/mlton/mlton.SlackBuild +++ b/development/mlton/mlton.SlackBuild @@ -1,9 +1,10 @@ #!/bin/sh +# Slackware build script for MLton # Slackware build script for mlton # Originally by Jockey S. Kyd (jockey dot kyd at gmail dot com) - # Modified by Ryan P.C. McQuen, WA, ryanpcmcquen@member.fsf.org +# Copyright 2018, Scot Doyle # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -23,17 +24,16 @@ # along with this program (most likely, a file named COPYING). If # not, see <http://www.gnu.org/licenses/>. - PRGNAM=mlton -VERSION=${VERSION:-20130715} +VERSION=${VERSION:-20180207} BUILD=${BUILD:-1} TAG=${TAG:-_SBo} +PREBUILT=$PRGNAM-$VERSION-$BUILD.amd64-linux if [ -z "$ARCH" ]; then - case "$(uname -m)" in - i?86) ARCH=i486 ;; - arm*) ARCH=arm ;; - *) ARCH=$(uname -m) ;; + case "$( uname -m )" in + x86_64) ARCH=x86_64 ;; + *) printf "This script only supports x86_64.\n" 1>&2; exit 1 ;; esac fi @@ -42,42 +42,42 @@ TMP=${TMP:-/tmp/SBo} PKG=$TMP/package-$PRGNAM OUTPUT=${OUTPUT:-/tmp} -case "$ARCH" in - i?86) LIBDIRSUFFIX="" - TARARCH="x86" ;; - x86_64) LIBDIRSUFFIX="64" - TARARCH="amd64" ;; - *) printf "$ARCH is not supported.\n" 1>&2 - exit 1 ;; -esac - -DIST=$PRGNAM-$VERSION-1.$TARARCH-linux - set -e rm -rf $PKG mkdir -p $TMP $PKG $OUTPUT -cd $PKG -tar xvf $CWD/$DIST.tgz -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 {} \; +cd $TMP +rm -rf $PREBUILT $PRGNAM-$VERSION -[ "$LIBDIRSUFFIX" = "64" ] && mv $PKG/usr/lib{,64} -sed -i "s|^lib=.*$|lib='/usr/lib$LIBDIRSUFFIX/mlton'|" $PKG/usr/bin/mlton +tar xvf $CWD/$PREBUILT.tgz +tar xvf $CWD/$PRGNAM-$VERSION.src.tgz -find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \ - | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true +cd $PRGNAM-$VERSION -mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION -cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild -mv $PKG/usr/share/doc/mlton/* $PKG/usr/doc/$PRGNAM-$VERSION/ -rm -rf $PKG/usr/share +# Permissions are already set +chown -R root:root . + +# Prefer the pre-built compiler +PATH=$TMP/$PREBUILT/bin:$PATH +make all +make PREFIX="$PKG" install -mkdir -p $PKG/install -cat $CWD/slack-desc > $PKG/install/slack-desc +# Binaries are already stripped cd $PKG +mkdir -p usr +mv share/man usr +if [ "$1" == "-docs" ]; then + mkdir -p usr/share/doc + mv share/doc/$PRGNAM usr/share/doc/$PRGNAM-$VERSION + cat $CWD/$PRGNAM.SlackBuild > usr/share/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild +fi +rm -rf share + +mv lib usr/lib64 +mv bin usr +sed -i "s:^lib=.*:lib=/usr/lib64/mlton:" usr/bin/mlton + +mkdir install +cat $CWD/slack-desc > install/slack-desc + /sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz} |