diff options
Diffstat (limited to 'development')
-rw-r--r-- | development/mlton/README | 14 | ||||
-rw-r--r-- | development/mlton/mlton.SlackBuild | 72 | ||||
-rw-r--r-- | development/mlton/mlton.info | 18 | ||||
-rw-r--r-- | development/mlton/slack-desc | 14 |
4 files changed, 61 insertions, 57 deletions
diff --git a/development/mlton/README b/development/mlton/README index df57f0fd72..362c652165 100644 --- a/development/mlton/README +++ b/development/mlton/README @@ -1,7 +1,9 @@ -MLton is an open-source, whole-program, optimizing Standard ML compiler. It -aims to produce fast executables, and to encourage rapid prototyping and -modular programming by eliminating performance penalties often associated with -the use of high-level language features. +MLton is a whole-program, ahead-of-time Standard ML compiler featuring +excellent application performance and partial Successor ML support. -This is a prebuilt binary package to shorten overwhelmingly long time of local -compilation. +This build script uses a pre-built version of MLton from mlton.org to +compile the MLton package. This pre-built compiler is only available +for x86_64. Builds usually require 2GB of memory. + +For extra documentation in /usr/share/doc, invoke with a "docs" flag: +./mlton.SlackBuild -docs diff --git a/development/mlton/mlton.SlackBuild b/development/mlton/mlton.SlackBuild index 3fdbef1bae..c399bb907b 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} diff --git a/development/mlton/mlton.info b/development/mlton/mlton.info index cbb5878658..3df87be025 100644 --- a/development/mlton/mlton.info +++ b/development/mlton/mlton.info @@ -1,10 +1,12 @@ PRGNAM="mlton" -VERSION="20130715" -HOMEPAGE="http://mlton.org/" -DOWNLOAD="http://sourceforge.net/projects/mlton/files/mlton/20130715/mlton-20130715-1.x86-linux.tgz" -MD5SUM="154211021262403bcc535a408e46c2d9" -DOWNLOAD_x86_64="http://sourceforge.net/projects/mlton/files/mlton/20130715/mlton-20130715-1.amd64-linux.tgz" -MD5SUM_x86_64="8f81fd906ee17a2893c2e7b6f5c6b702" +VERSION="20180207" +HOMEPAGE="http://mlton.org" +DOWNLOAD="UNSUPPORTED" +MD5SUM="" +DOWNLOAD_x86_64="https://downloads.sourceforge.net/project/mlton/mlton/20180207/mlton-20180207-1.amd64-linux.tgz \ + https://downloads.sourceforge.net/project/mlton/mlton/20180207/mlton-20180207.src.tgz" +MD5SUM_x86_64="e318ea7d87cb1996c921810e278cb717 \ + efa5a6b70d964daefefe4b2581173ad9" REQUIRES="" -MAINTAINER="orphaned - no maintainer" -EMAIL="nobody@nowhere" +MAINTAINER="Scot Doyle" +EMAIL="mlton837@scotdoyle.com" diff --git a/development/mlton/slack-desc b/development/mlton/slack-desc index b3ffd09a9d..b9357bd329 100644 --- a/development/mlton/slack-desc +++ b/development/mlton/slack-desc @@ -6,14 +6,14 @@ # customary to leave one space after the ':' except on otherwise blank lines. |-----handy-ruler------------------------------------------------------| -mlton: mlton (MLton Standard ML Compiler) +mlton: mlton (MLton Standard ML compiler) +mlton: +mlton: MLton is a whole-program, ahead-of-time Standard ML compiler featuring +mlton: excellent application performance and partial Successor ML support. +mlton: +mlton: +mlton: mlton: -mlton: MLton is an open-source, whole-program, optimizing Standard ML -mlton: compiler. It aims to produce fast executables, and to encourage rapid -mlton: prototyping and modular programming by eliminating performance -mlton: penalties often associated with the use of high-level language -mlton: features. mlton: -mlton: http://mlton.org/ mlton: mlton: |