# $Id: Portfile,v 1.8 2005/10/04 20:37:12 toby Exp $ PortSystem 1.0 name smlnj version 110.55 categories lang maintainers toby@opendarwin.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}/ dist_subdir ${name}/${version} distfiles checksums # Files needed for basic distribution. set srcs [list \ config.tgz 04c0f88a934ca45e497efc544e29c3ef \ runtime.tgz 7166d1789a3af97e8f4625bd9cce2679 \ system.tgz 74f6244a393c930a941c715f3c962b08 \ smlnj-lib.tgz ac1c44db74eca3f553cc4158978d05d6 \ smlnj-c.tgz 6926eabf3082b6c80a8a2ea4695460b3 \ cm.tgz f45b3975bc4c207f8f26e23e904465f8 \ MLRISC.tgz 0b23aa9f70e278bf2b625570e3e22814 \ ml-yacc.tgz 182dc0e5ac4df49bafe718802a8b1bbd \ ml-nlffigen.tgz c48ac1015944545f4c630f6f0798d9a5 \ ml-nlffi-lib.tgz cb884731c562bd3828ba44b774cdab29 \ ml-lex.tgz cd6af7df7b81d241501385dcf97fd575 \ ml-burg.tgz 606d63f5716b3b76e6c6940c46a8de66 \ eXene.tgz 9c5203f512200cac85e3aa774ccc5eee \ compiler.tgz 244ad68d6e2049e9debfad094043ccce \ cml.tgz 53ae131850908b6bf7e58e3f4839b35a \ ckit.tgz 173a4d085c28f8226866e28ffe9f77b9 \ heap2asm.tgz 2021d3d08b5c647794e1f25842af7c1c \ ] foreach {tarball checksum} $srcs { distfiles-append $tarball checksums-append $tarball md5 $checksum } # Platform-specific boot code (omitted: sparc-unix, x86-win32) platform powerpc { distfiles-append boot.ppc-unix.tgz checksums-append boot.ppc-unix.tgz md5 1c8643fcd6666e2042cbe430fa9ccf89 } platform i386 { distfiles-append boot.x86-unix.tgz checksums-append boot.x86-unix.tgz md5 b535aff3dd020ec57abdb51094d06d1f } ### extract ### pre-extract { file mkdir ${worksrcpath} } extract.dir ${worksrcpath} extract.only config.tgz ### configure ### configure { reinplace "s|SRCARCHIVEURL=.*|SRCARCHIVEURL=file://${distpath}|" \ ${worksrcpath}/config/srcarchiveurl 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}" } } }