# -*- 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.7.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 cbc7c23ede0f687b137f7b9588c0ba62b39aa551347f02566d243c16610b3f2d a2a4dd5382732f9c2e8313c624078aa0b16c92c3 2547232 \ boot.amd64-unix.tgz aa0703f0cad35e0f716b412c23127229760ee05a4455ae3f6021b4cee847d754 62ce4473ff4492838f1d3db02cfe6a368b681198 5999016 \ boot.ppc-unix.tgz f8243995e20d1aeef8efcaf46d62e272b6433eb6262f2b61fedf218e481756b0 07f73cedf76508b078a52febf780c63c9382a844 5867208 \ boot.x86-unix.tgz 55424c39af2905e0c538b8af19a3c2d016ed02c8095e3723a73260c2980e875a 3cb7d23a621ff658d31549058ccd5f62ba65c3af 5947425 \ config.tgz 7eb06bad935e1bc0c03a29958d4291da3f625e1c6b140e8b7036cd6f26441281 d4ffb505059f762518e5f6b3e155a28b38552cbd 23323 \ cm.tgz f812ee707dcf1ede092698e87e8569b4889376bc6997282af35929cb754e066a 0c24299dade1a3c7d7af3f6a7698144b87aec398 220327 \ compiler.tgz f5d3c09eaa5e69d4cca8824a7e7a1ad16bdc7804edf952dc2a08346ae1e32163 098369c8d6352dc9bf4422ed5ef572e121e4047d 888798 \ runtime.tgz 5db98110d6c80e783f2845b44aaff8e6e159e3fa69d9abc62476be5cda2dc085 c0b25f33b55fa56a32e6f0f87563735fd7a23b20 336768 \ system.tgz 22861988e77e66813bce5256cc734fde4219f7fcefbdd3417138fe5b57de462a 74033a91b649dd0491f186fdb55dc0b44219c8ac 296589 \ MLRISC.tgz 26dd20f916e5b7f7829407a479991f3e6b2c141f0556a91d8f302cf6afd57c6b 80588624fafed5296c1b5c2339e4ee9d1dcdb83a 1457481 \ smlnj-lib.tgz 4e0c736ea6ed1a55106210a6494c186dae5433fffd20a42be90544b9f3b17013 6c4d0a5e477be312a9f4e50a8fd69d39ce0c7710 667440 \ old-basis.tgz 75c1113c630771d012836090f47f7598b21e2681d6da5e35c198e6b787803012 3acbb5a54e253fbf5b0aec59e07b77635dc960cf 1364 \ ckit.tgz 6729714e46c5e1effb6c8bda02458a6ddb437c33564bd1d6b6a913659e34a9fa 750709c2fdf78ea5a51dc47beaefd7a89d4b3765 200770 \ nlffi.tgz 67f3b92597992a20dae591d184ba0adf6d555e4d21a47660fbd0f7f7a0a5c0e0 a7b411630686cf155de03d6820adf927922de44b 74688 \ cml.tgz 79284e86fc1e6b94e8bd60eda57bc97945ae265053574748388acc124561b8fc 3ed64225aff96e36f1a57b5134f4257b761b5fc6 103974 \ eXene.tgz 25736f493a1f336b6fdc6ba713d13739549f7906a7f1a4dc7e1cf2a2e7fddc15 3bc0d0c46d0ba48f97b09be1dea61c87b5ff906b 714446 \ ml-lpt.tgz e7226ea71640d26dd1ce04bd1bf3f8f59aed37d65f65213d3229fc19d6a09cb6 2232aec21260053d0d3f7658d5cbb343f5e32ebd 267364 \ ml-lex.tgz 789213e1fbc293078949e66033e1cf77f010c54c7f85f5d18f52edbfffd14bca 19070dcca433ffd6f2f84569f76d582bcda35eb7 28035 \ ml-yacc.tgz fd171cbcf0c007754e0075ad4133f3df59c53c021485c53d36617ea4e563a368 506cf8412a6321475e7073444488a42fc69bbb39 101370 \ ml-burg.tgz d19e5d3d957ae91bf06b54562e98e1b11ce7c663e7b1ec6b2d5746558b29b120 66cfd448d6a6f762222b2bb40b579e3087b43fe1 40295 \ pgraph.tgz 060ac5efa77df1de3197e6b6f626722356d02b1ea39b20be01c8751629348bee 3f4f6fa57ad96e8e90601232fee681b28471be76 5367 \ trace-debug-profile.tgz d7b096bcdd53819851e265b3ac1f5bee5a2f95c96e7644f574b68b3e2c91e922 eb947753ff1d2daf1adceea3319790af3081076c 3891 \ heap2asm.tgz a8e2db4fbd628dc50fb74471db422afaaa98538f5d22dde67f373a7f9fb2f863 a14a575c2c7e28de740e4fb69bdb52ed9de833a8 1720 \ smlnj-c.tgz 57a0177e81863b7f576010d62c351feef3768dc1ba514bc5b5e38c17cbfa9ba4 20cad397a87153b6e76b1b7da4ed479a22f8ef33 10593 \ asdl.tgz 7033ecb124b619162b9141aa4c27475093be283eaf3f2e87a4fe0d514d61f0b7 d6b2f7dc798d53173e195ef2c72f390235b39157 241720 \ ] 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.]+)/}