# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4 # $Id$ PortSystem 1.0 name smlnj version 110.75 categories lang ml license BSD maintainers bfulgham description Standard ML of New Jersey long_description \ Standard ML of New Jersey (abbreviated SML/NJ) is a \ compiler for the Standard ML '97 programming language \ with associated libraries, tools, and documentation. \ SML/NJ is free, open source software. homepage http://www.smlnj.org/ platforms darwin master_sites http://smlnj.cs.uchicago.edu/dist/working/${version}/ dist_subdir ${name}/${version}_${revision} distfiles checksums # Files needed for basic distribution. set srcs [list \ config.tgz 527cb179b48abcf1463089d168b171fd05eb814d \ cm.tgz a4310413102c5649ed43d92962ffa307ebec4a39 \ compiler.tgz efd03a1cc84104c22776f56dca67e0ae5e9145e8 \ runtime.tgz dd81ce2963ca0ea4b1e92b22c7587d5ae64783f8 \ system.tgz 0f7536bbdcd6d1584f4dcbf3b30a553d98fb0cb1 \ MLRISC.tgz 041b6463d98d0effa0afc457fc5b09e74f081b85 \ smlnj-lib.tgz 33f4d3a8dc653cd015ed15a27776dd0e3f2fbb04 \ ckit.tgz 0dbca80174f969a549d85ef3e15a4a8ecce7ed22 \ nlffi.tgz b881390f58df7bbc5d84c45eec20af7fcfbfa40c \ cml.tgz 8938aa0685453c16f57bae23e96ed23b1409f419 \ eXene.tgz f8608de797634faaad632fbdfd43838c4de85e42 \ ml-lpt.tgz d0b68f304a5e29173a9599a3959c12e84ea479ee \ ml-lex.tgz 6557d928f85b28938d4c299925835a6d5eb1e68b \ ml-yacc.tgz 1bec52fbc6557dcd7d4363a1ae13be540bfc89a5 \ ml-burg.tgz 202f62c604e6d11b0ebed82ce78210a8e5224a9d \ pgraph.tgz 7b6425de5ca1648caf230dea5e8db34f90b481c9 \ trace-debug-profile.tgz c828e9d2728171a5d087a41fcbb923ac460a9d50 \ heap2asm.tgz 49c81c4343db2095fe7c28ae5ef40086d225421c \ smlnj-c.tgz adbc3874f8715d53bc1f032047c3289cff0af8e9 \ ] foreach {tarball checksum} $srcs { distfiles-append $tarball checksums-append $tarball sha1 $checksum } # Platform-specific boot code (omitted: sparc-unix, x86-win32) platform powerpc { distfiles-append boot.ppc-unix.tgz checksums-append boot.ppc-unix.tgz sha1 78e2aa861a2861c8a0e0678936a4b5d29a645979 } platform i386 { distfiles-append boot.x86-unix.tgz checksums-append boot.x86-unix.tgz sha1 0e459e33f54811750a42311a22bc4572ab16ebcb } post-patch { reinplace "s|__MACPORTS_CC__|${configure.cc}|" ${worksrcpath}/config/install.sh } ### extract ### pre-extract { file mkdir ${worksrcpath} } extract.dir ${worksrcpath} extract.only config.tgz ### patch ### patchfiles patch-install.sh.diff ### configure ### configure { reinplace "s|SRCARCHIVEURL=.*|SRCARCHIVEURL=file://${distpath}|" \ ${worksrcpath}/config/srcarchiveurl reinplace "s|#request|request|" ${worksrcpath}/config/targets reinplace "s|request ml-antlr-grm-ext|#request ml-antlr-grm-ext|" ${worksrcpath}/config/targets reinplace "s|request ml-lex-lex-ext|#request ml-lex-lex-ext|" ${worksrcpath}/config/targets reinplace "s|request ml-lex-mllex-tool|#request ml-lex-mllex-tool|" ${worksrcpath}/config/targets } ### build ### build.env URLGETTER=curl build.cmd ${worksrcpath}/config/install.sh build.target ### destroot ### destroot { set smlnj_home ${prefix}/share/smlnj file mkdir ${destroot}${smlnj_home} file copy ${worksrcpath}/bin ${destroot}${smlnj_home} file copy ${worksrcpath}/lib ${destroot}${smlnj_home} xinstall -m 555 ${filespath}/sml.sh ${destroot}${prefix}/bin/sml reinplace "s|__SMLNJ_HOME__|${smlnj_home}|g" \ ${destroot}${prefix}/bin/sml foreach prog [glob -directory ${worksrcpath}/bin *] { set progname [file tail $prog] if {![string equal $progname sml]} { system "ln -s sml ${destroot}${prefix}/bin/${progname}" } } }