Advertisement
Guest User

Untitled

a guest
Jun 7th, 2011
55
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 4.15 KB | None | 0 0
  1. # Maintainer Mikhail Borisov <borisov.mikhail@gmail.com>
  2.  
  3. pkgname=smlnj
  4. pkgver=110.73
  5. pkgrel=3
  6. pkgdesc="Standard ML of New Jersey is a compiler for the Standard ML '97 programming language"
  7. url="http://www.smlnj.org/"
  8. license=('BSD')
  9. arch=(i686 x86_64)
  10. provides=(sml)
  11. if [ "${CARCH}" = "x86_64" ]; then
  12.   makedepends=(gcc-multilib)
  13.   depends=(lib32-glibc)
  14. fi
  15.  
  16. # Fails with -jN
  17. options=(!makeflags)
  18.  
  19. source=(
  20.     # Build system
  21.     config-$pkgver.tar.gz::http://smlnj.cs.uchicago.edu/dist/working/$pkgver/config.tgz
  22.     # Compiler core
  23.     cm-$pkgver.tar.gz::http://smlnj.cs.uchicago.edu/dist/working/$pkgver/cm.tgz
  24.     runtime-$pkgver.tar.gz::http://smlnj.cs.uchicago.edu/dist/working/$pkgver/runtime.tgz
  25.     MLRISC-$pkgver.tar.gz::http://smlnj.cs.uchicago.edu/dist/working/$pkgver/MLRISC.tgz
  26.     smlnj-lib-$pkgver.tar.gz::http://smlnj.cs.uchicago.edu/dist/working/$pkgver/smlnj-lib.tgz
  27.     # Prebuilt files
  28.     boot.x86-unix-$pkgver.tar.gz::http://smlnj.cs.uchicago.edu/dist/working/$pkgver/boot.x86-unix.tgz
  29.     # C language tools
  30.     ckit-$pkgver.tar.gz::http://smlnj.cs.uchicago.edu/dist/working/$pkgver/ckit.tgz
  31.     nlffi-$pkgver.tar.gz::http://smlnj.cs.uchicago.edu/dist/working/$pkgver/nlffi.tgz
  32.     # eXene
  33.     cml-$pkgver.tar.gz::http://smlnj.cs.uchicago.edu/dist/working/$pkgver/cml.tgz
  34.     eXene-$pkgver.tar.gz::http://smlnj.cs.uchicago.edu/dist/working/$pkgver/eXene.tgz
  35.     # Tools
  36.     ml-lex-$pkgver.tar.gz::http://smlnj.cs.uchicago.edu/dist/working/$pkgver/ml-lex.tgz
  37.     ml-yacc-$pkgver.tar.gz::http://smlnj.cs.uchicago.edu/dist/working/$pkgver/ml-yacc.tgz
  38.     ml-burg-$pkgver.tar.gz::http://smlnj.cs.uchicago.edu/dist/working/$pkgver/ml-burg.tgz
  39.     # Wtf?
  40.     smlnj-c-$pkgver.tar.gz::http://smlnj.cs.uchicago.edu/dist/working/$pkgver/smlnj-c.tgz
  41. )
  42. # Build system will extract these on its own
  43. noextract=(
  44.     # Compiler core
  45.     runtime-$pkgver.tar.gz
  46.     cm-$pkgver.tar.gz
  47.     MLRISC-$pkgver.tar.gz
  48.     smlnj-lib-$pkgver.tar.gz
  49.     # Prebuilt files
  50.     boot.x86-unix-$pkgver.tar.gz
  51.     # C language tools
  52.     ckit-$pkgver.tar.gz
  53.     nlffi-$pkgver.tar.gz
  54.     # eXene
  55.     cml-$pkgver.tar.gz
  56.     eXene-$pkgver.tar.gz
  57.     # Tools
  58.     ml-lex-$pkgver.tar.gz
  59.     ml-yacc-$pkgver.tar.gz
  60.     ml-burg-$pkgver.tar.gz
  61.     # Wtf?
  62.     smlnj-c-$pkgver.tar.gz
  63. )
  64.  
  65. _smlnj_opt_targets=(ckit eXene ml-burg ml-nlffi-lib ml-nlffigen mlrisc-tools nowhere)
  66.  
  67. build() {
  68.   unset SMLNJ_HOME
  69.   cd $srcdir/
  70.  
  71.   msg "Preparing source archives..."
  72.   for archive in *-$pkgver.tar.gz; do
  73.     ln -sf "$archive" "${archive/-$pkgver.tar.gz/.tgz}"
  74.   done
  75.  
  76.   msg "Setting up optional components..."
  77.   for opt in ${_smlnj_opt_targets[@]}; do
  78.     msg2 "Enabling $opt..."
  79.     sed -i -e "s/^ *# *request \+$opt/request $opt/" ./config/targets
  80.   done
  81.  
  82.   msg "Starting build..."
  83.   ./config/install.sh
  84. }
  85.  
  86. package() {
  87.   local SMLNJ_DEST="$pkgdir/usr/lib/smlnj"
  88.   local SMLNJ_REALDEST="/usr/lib/smlnj"
  89.   cd $srcdir/
  90.  
  91.   mkdir -p $pkgdir/usr/lib/smlnj
  92.   cp -r bin/ lib/ $pkgdir/usr/lib/smlnj
  93.  
  94.   # Fix access flags
  95.   cd $SMLNJ_DEST/bin
  96.   find -maxdepth 1 -type f -exec chmod 755 \{\} \;
  97.   chmod 644 .heap/* .run/run.x86-linux.{a,so}
  98.   chmod 755 .run/run.x86-linux
  99.  
  100.   # Make global symlinks
  101.   mkdir -p $pkgdir/usr/bin/
  102.   for bin in sml nowhere heapexec ml-*; do
  103.     if [ -x $bin ]; then
  104.       ln -s /usr/lib/smlnj/bin/$bin $pkgdir/usr/bin/$bin
  105.     fi
  106.   done
  107.  
  108.   # Update users' profiles
  109.   mkdir -p $pkgdir/etc/profile.d
  110.   echo 'export SMLNJ_HOME=/usr/lib/smlnj' > $pkgdir/etc/profile.d/smlnj.sh
  111.   chmod +x $pkgdir/etc/profile.d/smlnj.sh
  112. }
  113.  
  114. md5sums=('19dc682fa29441b0980b50b9842861bb'
  115.          '6e2f4118fafb595307f9129c4342e27c'
  116.          '24a288a6f8c188fdfa362fbc3aba70ab'
  117.          '22c794122c13d2ba84c1d54ca17e6c4f'
  118.          '3fdbf1de6f8c86aa34291fd54f1a91e9'
  119.          '6a8b1e74fe4aec6563789653557350ab'
  120.          '45f0657f9a7defb40e8e0fe17a41a588'
  121.          'b5f68db1db45f95f7570f05d6208c536'
  122.          '6c8d37a6da77d2537dad0d25093c96c6'
  123.          'b566c9a50b860c214e08295974e9523e'
  124.          '45c28ce74641593d1d3b0b4356c8ad8b'
  125.          '71d06f9220763eafa3a8019824ad10e3'
  126.          '2de6d2396b8f574d2ee88302442b6d3a'
  127.          '057daf980d2bfa9353ee040c9d97ef57')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement