# $Id$ PortSystem 1.0 name smlnj version 110.67 categories lang ml maintainers bfulgham@macports.org 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}/ \ http://smlnj.cs.uchicago.edu/dist/working/110.63.2/ \ macports:${version}/ dist_subdir ${name}/${version} distfiles checksums # Files needed for basic distribution. set srcs [list \ MLRISC.tgz ca7baa838d3de7422f9c6bb71bfeea7494181fba \ ckit.tgz e308a9214b2ffec4946bf9851d23b26d5112b8b1 \ cm.tgz 10d790d4c9222b5dc846fac44cea87f48154573c \ cml.tgz 9e5b765d1604eb4049556e5da87b23341c672401 \ compiler.tgz b1d7a3311cd86ba51c00b5c33dfe7b61bff99659 \ config.tgz a2264b09c98e9e1075bd57040c9f5fa391d5635c \ eXene.tgz eb1f8abae11a4a6e3f5366aee4a1732d92ee70ca \ heap2asm.tgz 988b6685f44f0a4d544e204b1fcc47bde470e1fc \ ml-burg.tgz 5d784d787fcc0208b9f7c718b2f577566db41b86 \ ml-lex.tgz fe7a206844d6c00d7678b3a2fd8ae3d4af63c711 \ ml-lpt.tgz 0308bb28bc32eed40db7a047b36037f06953b51a \ ml-yacc.tgz f9f3f6fa50dc66f59c2c95eafa0b04f933851438 \ nlffi.tgz 3076c8130a88ed2843df8bd354d740441d458563 \ pgraph.tgz f2792001aae3e26d492447b5663172f5f828cb46 \ runtime.tgz 67308df3f05864d1a71c14b3a3b4f8ea8fca5d2c \ smlnj-c.tgz 4d71cf4a308a66c494c12b0b69c83d41a9a0a0af \ smlnj-lib.tgz 9a31f20ad7be1a7f8e418e8f0e1db6664b5d38f4 \ system.tgz 8cd198a98548ffdc0dc5a0e083d6fd3f819fd9bd \ trace-debug-profile.tgz 13bf245c1d848dd38d1ba98251c003c580ec317f \ ] 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 38fc8ef65a6c64650e0c87ff55a6ace3696ad85b } platform i386 { distfiles-append boot.x86-unix.tgz checksums-append boot.x86-unix.tgz sha1 707dfffd5e6f4b2d2b14f21ecbb693b990da6b25 } ### extract ### pre-extract { file mkdir ${worksrcpath} } extract.dir ${worksrcpath} extract.only config.tgz runtime.tgz ### patch ### #patchfiles patch-base_runtime_mach-dep_signal-sysdep.h ### configure ### configure { system "mkdir ${worksrcpath}/base && mv ${worksrcpath}/runtime ${worksrcpath}/base" reinplace "s|SRCARCHIVEURL=.*|SRCARCHIVEURL=file://${distpath}|" \ ${worksrcpath}/config/srcarchiveurl file copy -force ${filespath}/targets ${worksrcpath}/config/targets #reinplace "s|#request|request|" ${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}" } } }