# -*- 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 PortSystem 1.0 name smlnj version 110.99.6.1 categories lang ml license BSD maintainers {toby @tobypeterson} openmaintainer 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} supported_archs x86_64 i386 ppc universal_variant no distfiles checksums # Files needed for basic distribution. set srcs [list \ doc.tgz 3e5896c427df2123eb00eed96a7df7ade7052d1986a2a64b2873b34843f43c49 57475e1adcaf5507fbba38aa9414b558fae844c9 2748425 \ boot.amd64-unix.tgz 91469b2b4dcc7526154568562a5de44b7d92131518a4cdccb4b534982c6189a4 1c2d99a862727e99e80fa80e8959bca4428565c2 5994405 \ boot.ppc-unix.tgz 8defd5b4bade063b3a64812d351094ece13fe00291d494dcc6feec2aaf768d57 7d0887ebb024c9a044a3e9da90bcd8a60920d597 5863277 \ boot.x86-unix.tgz db2058d30199f01d63602e68b3d49f1fa78a2685a5438ac0725042dcf9da7287 c8192dd47bb7ebd294985dc7c7739d0f14a4cfbc 5946836 \ config.tgz f4124fa5aff1a2eaa2de3dfd5ac7f3951cace33d72c5375b62db47179570095c 30a92ce4e4abb021f878b3fbd502cc9d62d875c6 23321 \ cm.tgz 03772b0b91165f890407aa25c1d68e6e095082404136a7014828bfa5047959dc 3320a20a0df35cf0d410d095f3dbf3270c3b52b3 220336 \ compiler.tgz 713824739a296845ec91dcede7262c763c85e66f7ce3ab764b2122c18e96dc75 2a87e5c4d86a6fa2e99b45140b6f55520b4b5dd1 888655 \ runtime.tgz 2623737ee667a7579640f35905bf523e6417b708249e9a0697edfc8aa514dd6e 2a9c9c69e9ad6dcbc5b71be3115e1929c09f9be7 335071 \ system.tgz 1d49fc602c652deebe7b91fda0c2632281b6dc6045ded84c9471244862d94eeb 06d8ccc4d7ecccb476393f0ff8d060feeada8c0b 295678 \ MLRISC.tgz 30f369621adbb086d510ecc9ec62044029bfec5fc99f18f45174bb15e4e9fbba a676b35ba3097532e29ab6ca0e8c89477fc2f393 1457420 \ smlnj-lib.tgz d6da79c1a3e5ecc0964b89085059bfc2841e7917c28e4a604b11e919bfb29933 e7cee8f694b7cae0dd97cadd1f4cd8102d0c1ff9 666400 \ old-basis.tgz 23a0c945f231fb4f729c529767addd0d6469bf4a4496359c8806ab2bf12143fb 0c5a0e5ebad908d282755312dc75d190b47b6d0b 1365 \ ckit.tgz be2e9d4992122fe296929a7f8f12cf08d067a3ea9361386f6c4c59e51e4bed67 e020203ce7c0277fc5e447e582b00f0698cd9eac 200761 \ nlffi.tgz 59f6265fb761ac1aad1388ee0d53728ee16db09d47f81eeb258d815c962d28d3 52c5d5cc7708e4e6833f78c560cc6aa8fd657f5a 74692 \ cml.tgz e6b673a792148ffc595f47f27a834ca21c93cf589f758e809eefc7834b290d0c 258f35eca3ba1aec4277a2e016797d8cf29c08d0 103972 \ eXene.tgz 7394278c0413b65060604e8318530d0dbbbd20b484559833b3fbb46c8a307c77 19eae04d825e692d8ebde2b5352e5b315aa786d1 714459 \ ml-lpt.tgz 6916054c4125e2d77b2d0d0b86c5c62ed27fa6dc020d5d66f46783b4cefebe5a f152c3435ca5613c7da90e2f6c049c4467e3da61 267376 \ ml-lex.tgz 6703b7c50503683d9fed3b2ba3a9246a14fbbd237526f41b2e4c18fe6ef1488b d6e34afd35e13fec29a9b03c20cf38b9d979d392 28039 \ ml-yacc.tgz 0c1478c662a2480e689fbf980f3ed9afca8103a683d5f4bae3e83af6e912a6b7 2329df221686b389726e31968f39e9c578f2d235 101379 \ ml-burg.tgz e2bb968468f19f2f7b7940fd1a4e056a4a84673347c09a7bb926bdec44f6d29d b248d25d3fe50869e1d7fd118e3b35a48b072493 40296 \ pgraph.tgz 903c9a00c07a3eddc27409daf95f1a2df4f1f138fa6b9bcf7ee4b1b6981ad3cc 16d89ab35665e64ac39d3cf7998b8fb7c3e3b1c9 5367 \ trace-debug-profile.tgz 003f4a5acb244648d31588910889b4aa3d36b080471ba1ed04ce7028c06a7976 914225c0bff76212a8736fda03ae2749fb9f9f8a 3892 \ heap2asm.tgz 38734f304acda0ba58b9ab606e062553f98c078257438680e74599d811edb772 e60717cbf4da90627643c2458f0987c7ae74caf0 1721 \ smlnj-c.tgz 56eadeea1d132aa9dee7ee4c2415fd711901826ac9fe42952d4ceb208887ee51 3a8b46310602236bfccbe5eec70c97b8c2bde83d 10592 \ asdl.tgz 3bafe0db4fe1b0c4c6dc2bcc039f5bb631bee147546c684c1e48b31122890c40 d71efff123fa35ea50f0430ffe5c1a845b96abcd 241731 \ ] foreach {tarball sha256 rmd160 size} $srcs { distfiles-append $tarball checksums-append $tarball sha256 $sha256 rmd160 $rmd160 size $size } ### extract ### extract.mkdir yes extract.only config.tgz ### patch ### patchfiles patch-config__install.sh-correct-compiler.diff post-patch { reinplace "s|@CC@|${configure.cc}|" ${worksrcpath}/config/install.sh reinplace "s|@CPP@|${configure.cc}|" ${worksrcpath}/config/install.sh reinplace "s|@CFLAGS@|${configure.cflags} ${configure.cc_archflags}|" ${worksrcpath}/config/install.sh reinplace "s|@LDFLAGS@|${configure.ldflags}|" ${worksrcpath}/config/install.sh } ### configure ### configure { reinplace "s|SRCARCHIVEURL=.*|SRCARCHIVEURL=file://${distpath}|" \ ${worksrcpath}/config/srcarchiveurl reinplace "s|#request src-smlnj|request src-smlnj|" \ ${worksrcpath}/config/targets reinplace "s|#request pgraph-util|request pgraph-util|" \ ${worksrcpath}/config/targets reinplace "s|#request eXene|request eXene|" \ ${worksrcpath}/config/targets reinplace "s|#request mlrisc-tools|request mlrisc-tools|" \ ${worksrcpath}/config/targets reinplace "s|#request nowhere|request nowhere|" \ ${worksrcpath}/config/targets reinplace "s|# request heap2asm| request heap2asm|" \ ${worksrcpath}/config/targets } # error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘ml_val_t’ configure.cflags-append -std=c99 ### build ### build.env URLGETTER=curl build.cmd ${worksrcpath}/config/install.sh build.target if {${configure.build_arch} eq "x86_64"} { build.args-append -default 64 } ### 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 755 ${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]} { ln -s sml ${destroot}${prefix}/bin/${progname} } } } livecheck.type regex livecheck.regex {/working/(1[0-9.]+)/}