# $Id$ PortSystem 1.0 name smlnj version 110.71 revision 1 categories lang ml 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 98c84eaf9ffe56c7ab30e770de8b23e3340deed7 \ cm.tgz f0f1f8895f73387f795bcd41d66a345908a87e03 \ compiler.tgz 11247fdf658297e9868b49746419d22ecd115cb6 \ runtime.tgz b1c8943d4298d96ef0764454ba79d4eebd1f5907 \ system.tgz f0b761816489317ad64354cd0fe98e30b4bff83f \ MLRISC.tgz 068b8404f33863ce8bbff5787cd2d1372b4481f8 \ smlnj-lib.tgz 0ffcf5df4ea451ffba7e72cbcc210f3b60c989e5 \ ckit.tgz bf169fde23c56a8df117a17ccb82b7ac2b5df7c4 \ nlffi.tgz 71b67a3160997c88c3cc8fd8bb72f0e79262a378 \ cml.tgz 2e97ea0802a533c26f5b5becc1fd0e459520e764 \ eXene.tgz e67a80c395a2ecdb6b69bf488370e085b9b9f80e \ ml-lex.tgz ca61052f052124e198bd9c779c8dd28086413d9a \ ml-yacc.tgz 296a2b90c15a50058aa081097b4d487dbd86c62c \ ml-burg.tgz 647c9c76acaf5c6a3406207004d8a35244bb2277 \ ml-lpt.tgz 90b5573a79efdaf09bbd7d525acbe1caa3757c69 \ pgraph.tgz 45bcc992fcad13534828f2ca2ef06843d0524534 \ trace-debug-profile.tgz 8c9f1a08a65910c81d981b0c58bc3f2df871b914 \ heap2asm.tgz 5cf95d99eb79f319e88b0e22ccf80d4712bbea6a \ smlnj-c.tgz 33207b607a7fb05196df3254054d9d6fdd5d6f94 \ ] 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 eaaa67d0d881b54b6231349cd720908c21a0de07 } platform i386 { distfiles-append boot.x86-unix.tgz checksums-append boot.x86-unix.tgz sha1 e07769b6d475fb052929ed5ed62aad3f069360c0 } 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|#request ml-antlr|" ${worksrcpath}/config/targets reinplace "s|request ml-lex-|#request ml-lex-|" ${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}" } } }