Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Maintainer Mikhail Borisov <borisov.mikhail@gmail.com>
- pkgname=smlnj
- pkgver=110.73
- pkgrel=3
- pkgdesc="Standard ML of New Jersey is a compiler for the Standard ML '97 programming language"
- url="http://www.smlnj.org/"
- license=('BSD')
- arch=(i686 x86_64)
- provides=(sml)
- if [ "${CARCH}" = "x86_64" ]; then
- makedepends=(gcc-multilib)
- depends=(lib32-glibc)
- fi
- # Fails with -jN
- options=(!makeflags)
- source=(
- # Build system
- config-$pkgver.tar.gz::http://smlnj.cs.uchicago.edu/dist/working/$pkgver/config.tgz
- # Compiler core
- cm-$pkgver.tar.gz::http://smlnj.cs.uchicago.edu/dist/working/$pkgver/cm.tgz
- runtime-$pkgver.tar.gz::http://smlnj.cs.uchicago.edu/dist/working/$pkgver/runtime.tgz
- MLRISC-$pkgver.tar.gz::http://smlnj.cs.uchicago.edu/dist/working/$pkgver/MLRISC.tgz
- smlnj-lib-$pkgver.tar.gz::http://smlnj.cs.uchicago.edu/dist/working/$pkgver/smlnj-lib.tgz
- # Prebuilt files
- boot.x86-unix-$pkgver.tar.gz::http://smlnj.cs.uchicago.edu/dist/working/$pkgver/boot.x86-unix.tgz
- # C language tools
- ckit-$pkgver.tar.gz::http://smlnj.cs.uchicago.edu/dist/working/$pkgver/ckit.tgz
- nlffi-$pkgver.tar.gz::http://smlnj.cs.uchicago.edu/dist/working/$pkgver/nlffi.tgz
- # eXene
- cml-$pkgver.tar.gz::http://smlnj.cs.uchicago.edu/dist/working/$pkgver/cml.tgz
- eXene-$pkgver.tar.gz::http://smlnj.cs.uchicago.edu/dist/working/$pkgver/eXene.tgz
- # Tools
- ml-lex-$pkgver.tar.gz::http://smlnj.cs.uchicago.edu/dist/working/$pkgver/ml-lex.tgz
- ml-yacc-$pkgver.tar.gz::http://smlnj.cs.uchicago.edu/dist/working/$pkgver/ml-yacc.tgz
- ml-burg-$pkgver.tar.gz::http://smlnj.cs.uchicago.edu/dist/working/$pkgver/ml-burg.tgz
- # Wtf?
- smlnj-c-$pkgver.tar.gz::http://smlnj.cs.uchicago.edu/dist/working/$pkgver/smlnj-c.tgz
- )
- # Build system will extract these on its own
- noextract=(
- # Compiler core
- runtime-$pkgver.tar.gz
- cm-$pkgver.tar.gz
- MLRISC-$pkgver.tar.gz
- smlnj-lib-$pkgver.tar.gz
- # Prebuilt files
- boot.x86-unix-$pkgver.tar.gz
- # C language tools
- ckit-$pkgver.tar.gz
- nlffi-$pkgver.tar.gz
- # eXene
- cml-$pkgver.tar.gz
- eXene-$pkgver.tar.gz
- # Tools
- ml-lex-$pkgver.tar.gz
- ml-yacc-$pkgver.tar.gz
- ml-burg-$pkgver.tar.gz
- # Wtf?
- smlnj-c-$pkgver.tar.gz
- )
- _smlnj_opt_targets=(ckit eXene ml-burg ml-nlffi-lib ml-nlffigen mlrisc-tools nowhere)
- build() {
- unset SMLNJ_HOME
- cd $srcdir/
- msg "Preparing source archives..."
- for archive in *-$pkgver.tar.gz; do
- ln -sf "$archive" "${archive/-$pkgver.tar.gz/.tgz}"
- done
- msg "Setting up optional components..."
- for opt in ${_smlnj_opt_targets[@]}; do
- msg2 "Enabling $opt..."
- sed -i -e "s/^ *# *request \+$opt/request $opt/" ./config/targets
- done
- msg "Starting build..."
- ./config/install.sh
- }
- package() {
- local SMLNJ_DEST="$pkgdir/usr/lib/smlnj"
- local SMLNJ_REALDEST="/usr/lib/smlnj"
- cd $srcdir/
- mkdir -p $pkgdir/usr/lib/smlnj
- cp -r bin/ lib/ $pkgdir/usr/lib/smlnj
- # Fix access flags
- cd $SMLNJ_DEST/bin
- find -maxdepth 1 -type f -exec chmod 755 \{\} \;
- chmod 644 .heap/* .run/run.x86-linux.{a,so}
- chmod 755 .run/run.x86-linux
- # Make global symlinks
- mkdir -p $pkgdir/usr/bin/
- for bin in sml nowhere heapexec ml-*; do
- if [ -x $bin ]; then
- ln -s /usr/lib/smlnj/bin/$bin $pkgdir/usr/bin/$bin
- fi
- done
- # Update users' profiles
- mkdir -p $pkgdir/etc/profile.d
- echo 'export SMLNJ_HOME=/usr/lib/smlnj' > $pkgdir/etc/profile.d/smlnj.sh
- chmod +x $pkgdir/etc/profile.d/smlnj.sh
- }
- md5sums=('19dc682fa29441b0980b50b9842861bb'
- '6e2f4118fafb595307f9129c4342e27c'
- '24a288a6f8c188fdfa362fbc3aba70ab'
- '22c794122c13d2ba84c1d54ca17e6c4f'
- '3fdbf1de6f8c86aa34291fd54f1a91e9'
- '6a8b1e74fe4aec6563789653557350ab'
- '45f0657f9a7defb40e8e0fe17a41a588'
- 'b5f68db1db45f95f7570f05d6208c536'
- '6c8d37a6da77d2537dad0d25093c96c6'
- 'b566c9a50b860c214e08295974e9523e'
- '45c28ce74641593d1d3b0b4356c8ad8b'
- '71d06f9220763eafa3a8019824ad10e3'
- '2de6d2396b8f574d2ee88302442b6d3a'
- '057daf980d2bfa9353ee040c9d97ef57')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement