Index: head/lang/sml-nj-devel/Makefile =================================================================== --- head/lang/sml-nj-devel/Makefile (revision 124598) +++ head/lang/sml-nj-devel/Makefile (revision 124599) @@ -1,263 +1,264 @@ # New ports collection makefile for: sml/nj # Date created: 7 July 1998 # Whom: jkoshy # # $FreeBSD$ # PORTNAME= smlnj -PORTVERSION= 110.51 +PORTVERSION= 110.52 CATEGORIES= lang -MASTER_SITES= http://smlnj.cs.uchicago.edu/dist/working/${PORTVERSION}/ +MASTER_SITES= http://smlnj.cs.uchicago.edu/dist/working/${PORTVERSION}/ \ + ftp://mirror.free.de/http/smlnj.cs.uchicago.edu/dist/working/${PORTVERSION}/ DISTFILES= config.tgz runtime.tgz .include .if (${ARCH} == "i386") DISTFILES+= boot.x86-unix.tgz #.elif (${ARCH} == "alpha") #DISTFILES+= boot.alpha32-unix.tgz .endif DISTFILES+= ml-yacc.tgz ml-lex.tgz smlnj-lib.tgz cml.tgz MLRISC.tgz .if defined(WITH_EVERYTHING) || defined(WITH_RECOMPILE) DISTFILES+= ml-burg.tgz \ ckit.tgz ml-nlffi-lib.tgz ml-nlffigen.tgz smlnj-c.tgz \ eXene.tgz \ cm.tgz compiler.tgz system.tgz .endif EXTRACT_ONLY= config.tgz MAINTAINER= joemann@beefree.free.de COMMENT= A popular functional language from Bell Labs DIST_SUBDIR= sml-nj/${PORTVERSION} NO_WRKSUBDIR= yes USE_GMAKE= yes NO_LATEST_LINK= yes CONFLICTS= smlnj-110.0.* ONLY_FOR_ARCHS= i386 .if (${ARCH} == "i386") MLARCH= x86 #.elif (${ARCH} == "alpha") #MLARCH= alpha32 .endif PLIST_SUB= MLARCH=${MLARCH} .if defined(WITH_RECOMPILE) WITH_EVERYTHING?= ${WITH_RECOMPILE} .endif MLROOTRELATIVE= smlnj MLROOT= ${PREFIX}/${MLROOTRELATIVE} MLBIN= ${MLROOT}/bin MLLIB= ${MLROOT}/lib MLSRCSBASE= ckit src MLSRCSRELATIVE= ${MLROOTRELATIVE}/ckit ${MLROOTRELATIVE}/src MLSRCS= ${MLROOT}/ckit ${MLROOT}/src MLEXE= sml ml-yacc ml-lex ml-build ml-makedepend .if defined(WITH_EVERYTHING) MLTARGETS= ml-burg eXene src-smlnj \ ml-nlffi-lib ml-nlffigen nowhere pgraph-util MLEXE+= ml-burg ml-nlffigen nowhere PLIST= ${WRKDIR}/.PLIST MLRUNTIMEPLIST= ${WRKDIR}/.PLIST-runtime MLSRCPLIST= ${WRKDIR}/.PLIST-src MLPLISTFILES= ${.CURDIR}/pkg-plist ${FILESDIR}/plist-everything \ ${MLRUNTIMEPLIST} ${MLSRCPLIST} .endif pre-fetch: @${ECHO} .if !defined(WITH_EVERYTHING) @${ECHO} 'Use make WITH_EVERYTHING=yes to also build ml-burg' @${ECHO} ' (tree transformer), eXene (X Windows toolkit),' @${ECHO} ' ml-nlffi (foreign function interface to C code),' @${ECHO} ' nowhere (preprocessor for conditional patterns),' @${ECHO} ' and all the sources.' .endif .if !defined(WITH_RECOMPILE) @${ECHO} 'Use make WITH_RECOMPILE=yes to recompile the compiler.' @${ECHO} ' This implies WITH_EVERYTHING.' .endif @${ECHO} # make symlinks to the dist files post-extract: cd ${WRKDIR} && ${LN} -sf ${_DISTDIR}/* . # Configuring is done by uncommenting the appropriate #request xxx # lines of config/targets. Dependency details are handled by # src/system/smlnj/installer using config/dependencies. .if defined(WITH_EVERYTHING) do-configure: ${ECHO_CMD} -n > ${WRKDIR}/.tmp.sed .for t in ${MLTARGETS} ${ECHO_CMD} '/^#request[ ]+${t}$$/s/^#//' >> ${WRKDIR}/.tmp.sed .endfor ${SED} -i .default -E -f ${WRKDIR}/.tmp.sed "${WRKDIR}/config/targets" # Recompilation requires ml-lex and ml-yacc. All requested targets # will be built later using the recompiled core system after # removing targets.customized. See "do-build" below. .if defined(WITH_RECOMPILE) ( ${ECHO_CMD} "request ml-yacc" && \ ${ECHO_CMD} "request ml-lex" ) \ > "${WRKDIR}/config/targets.customized" .endif .endif # The build target patches, builds, and installs the system within WRKDIR. # src/runtime is not cleaned afterwards to avoid its recompilation during # a subsequent make install. # See src/system/README for information on recompiling the compiler. .if defined(WITH_RECOMPILE) RECOMPILEDIR= src/system .else RECOMPILEDIR= .endif # calm portlint complaining about /dev/null AUXSLASH= / AUXDEV= ${AUXSLASH}dev AUXDEVNULL!= if [ -w ${AUXDEV}/null ]; then ${ECHO_CMD} -n ${AUXDEV}/null; \ else ${ECHO_CMD} -n '${WRKDIR}/.devnull'; fi MLRUNTIMEPATCHES!= cd ${FILESDIR} && \ ( ${LS} do-patch-src::runtime::* 2> ${AUXDEVNULL} || \ ${TRUE} ) .if defined(WITH_EVERYTHING) MLSOURCEUNPACKTARGETS= cm compiler mlrisc smlnj-lib system MLSOURCEPATCHES!= cd ${FILESDIR} && \ ( ${LS} do-patch-src::* 2> ${AUXDEVNULL} || \ ${TRUE} ) .else MLSOURCEUNPACKTARGETS= MLSOURCEPATCHES= .endif do-build: cd ${WRKDIR} && unset PWD && \ FILESDIR="${FILESDIR}" PATCH="${PATCH}" PATCH_ARGS="${PATCH_ARGS}" \ MLNORUNTIMECLEAN=yes \ MLSOURCEUNPACKTARGETS="${MLSOURCEUNPACKTARGETS}" \ MLRUNTIMEPATCHES="${MLRUNTIMEPATCHES}" \ MLSOURCEPATCHES="${MLSOURCEPATCHES}" ./config/install.sh .if defined(WITH_RECOMPILE) ${RM} ${WRKDIR}/config/targets.customized @${ECHO} '(* Recompiling the core system: *)' cd ${WRKDIR}/${RECOMPILEDIR} && ( \ ${ECHO_CMD} 'CM.autoload "$$smlnj/cmb.cm";' ; \ ${ECHO_CMD} 'CMB.make ();' ) | \ ../../bin/sml @${ECHO} '(* Building the recompiled heap: *)' cd ${WRKDIR}/${RECOMPILEDIR} && \ ./makeml @${ECHO} '(* Removing old libs and heaps: *)' cd ${WRKDIR}/${RECOMPILEDIR} && \ ${RM} -rf ../../lib && ${MKDIR} ../../lib && \ ${FIND} ../../bin/.heap -name '*.${MLARCH}-bsd' \ \! -name 'sml.${MLARCH}-bsd' -delete -print @${ECHO} '(* Installing the recompiled libs and heap: *)' cd ${WRKDIR}/${RECOMPILEDIR} && \ ./installml @${ECHO} '(* Building requested targets: *)' cd ${WRKDIR} && unset PWD && \ FILESDIR="${FILESDIR}" PATCH="${PATCH}" PATCH_ARGS="${PATCH_ARGS}" \ MLNORUNTIMECLEAN=yes RECOMPILEDIR="${RECOMPILEDIR}" \ ./config/install.sh .endif # Nowadays PLIST has to be computed before installation. We do it in # "pre-install" because source extraction happens during "build". .if defined(WITH_EVERYTHING) MLNOINSTALL= .cm .if defined(WITH_RECOMPILE) MLNOINSTALL+= sml.bin.${MLARCH}-unix sml.boot.${MLARCH}-unix \ sml.lib sml.${MLARCH}-bsd .endif MLSRCEXCLUDEREGEX= -e '^(@dirrm\ )?${MLROOTRELATIVE}/src/runtime' .for excl in ${MLNOINSTALL} MLSRCEXCLUDEREGEX+= -e '/${excl}$$' -e '/${excl}/' .endfor pre-install: @${ECHO} -n '(* Computing package list ...' @${TAR} -tzf ${WRKDIR}/runtime.tgz | \ ${SED} -E -e 's%^(.*[^/])$$%${MLROOTRELATIVE}/src/\1%' \ -e 's%^(.*)/$$%@dirrm\ ${MLROOTRELATIVE}/src/\1%' \ > ${MLRUNTIMEPLIST} -@cd ${FILESDIR} && \ ( ${LS} do-patch-src::runtime::* 2> ${AUXDEVNULL} ) | \ ${SED} -e 's%::%/%g' | \ ${SED} -E -e 's%^do-patch-(.*)%${MLROOTRELATIVE}/\1.orig%' \ >> ${MLRUNTIMEPLIST} @cd "${WRKDIR}" && ( \ ( ${FIND} -s -d ${MLSRCSBASE} \! -type d | \ ${AWK} '{ print "${MLROOTRELATIVE}/" $$0 }' ) ; \ ( ${FIND} -s -d ${MLSRCSBASE} -type d | \ ${AWK} '{ print "@dirrm ${MLROOTRELATIVE}/" $$0 }' ) ) | \ ${EGREP} -v ${MLSRCEXCLUDEREGEX} > ${MLSRCPLIST} @${GREP} -h ^[^@] ${MLPLISTFILES} | ${SORT} -u > ${PLIST} @${GREP} -h ^@dirrm ${MLPLISTFILES} | ${SORT} -r -u >> ${PLIST} @${ECHO} ' done. *)' .endif # The install target installs the heaps and libraries to their final # location in ${MLBIN} and ${MLLIB}. # In case of recompilation, installml installs the sml heap and the # libraries built during compiler bootstrap to ${MLBIN} and ${MLLIB}. .if defined(WITH_EVERYTHING) MLSRCEXCLUDES= .for excl in ${MLNOINSTALL} MLSRCEXCLUDES+= --exclude "${excl}" .endfor .endif do-install: ${MKDIR} "${MLROOT}" .if !defined(WITH_RECOMPILE) cd ${WRKDIR} && unset PWD && \ FILESDIR="${FILESDIR}" PATCH="${PATCH}" PATCH_ARGS="${PATCH_ARGS}" \ INSTALLDIR="${MLROOT}" ./config/install.sh .else @${ECHO} '(* Rebuilding the recompiled libs: *)' cd ${WRKDIR}/${RECOMPILEDIR} && ( \ ${ECHO_CMD} 'CM.autoload "$$smlnj/cmb.cm";' ; \ ${ECHO_CMD} 'CMB.make ();' ) | \ ../../bin/sml @${ECHO} '(* Rebuilding the recompiled heap: *)' cd ${WRKDIR}/${RECOMPILEDIR} && \ ./makeml @${ECHO} '(* Installing into ${MLROOT}: *)' cd ${WRKDIR} && unset PWD && \ FILESDIR="${FILESDIR}" PATCH="${PATCH}" PATCH_ARGS="${PATCH_ARGS}" \ INSTALLDIR="${MLROOT}" RECOMPILEDIR="${RECOMPILEDIR}" \ ./config/install.sh .endif MLARCHOPSYS=`${MLBIN}/.arch-n-opsys` && \ ( eval $${MLARCHOPSYS} ; \ ${STRIP_CMD} "${MLBIN}/.run/run.$${ARCH}-$${OPSYS}" ) @${CHOWN} -R ${BINOWN}:${BINGRP} "${MLBIN}" "${MLLIB}" .if defined(WITH_EVERYTHING) @${ECHO} '(* Cleaning src/runtime: *)' cd ${WRKDIR}/src/runtime/objs && ${GMAKE} clean @${ECHO} -n '(* Installing sources into ${MLROOT} ...' @cd ${WRKDIR} && ${TAR} -cf - ${MLSRCEXCLUDES} ${MLSRCSBASE} | \ ${TAR} -xf - -C "${MLROOT}" @${CHOWN} -R ${SHAREOWN}:${SHAREGRP} ${MLSRCS} @${ECHO} ' done. *)' .endif post-install: ${MKDIR} ${PREFIX}/bin .for f in ${MLEXE} ${LN} -s ${MLBIN}/$f ${PREFIX}/bin/$f .endfor .include Property changes on: head/lang/sml-nj-devel/Makefile ___________________________________________________________________ Modified: cvs2svn:cvs-rev ## -1 +1 ## -1.29 \ No newline at end of property +1.30 \ No newline at end of property Index: head/lang/sml-nj-devel/distinfo =================================================================== --- head/lang/sml-nj-devel/distinfo (revision 124598) +++ head/lang/sml-nj-devel/distinfo (revision 124599) @@ -1,34 +1,34 @@ -MD5 (sml-nj/110.51/MLRISC.tgz) = 5c81a96bd293cfe3f38dcc66ceb22235 -SIZE (sml-nj/110.51/MLRISC.tgz) = 1225798 -MD5 (sml-nj/110.51/boot.x86-unix.tgz) = c97fb51e1566290a5c5b4c8d160558f5 -SIZE (sml-nj/110.51/boot.x86-unix.tgz) = 5386102 -MD5 (sml-nj/110.51/ckit.tgz) = 02efaf87a722b542f692119a08e58adc -SIZE (sml-nj/110.51/ckit.tgz) = 168194 -MD5 (sml-nj/110.51/cm.tgz) = 23e94a16c11d2f7dc6f0ce03f953290f -SIZE (sml-nj/110.51/cm.tgz) = 206073 -MD5 (sml-nj/110.51/cml.tgz) = eade3933d3656f7a15417003621203c7 -SIZE (sml-nj/110.51/cml.tgz) = 103659 -MD5 (sml-nj/110.51/compiler.tgz) = 41ecd5d6d19318c4baa0230b0afdb7c9 -SIZE (sml-nj/110.51/compiler.tgz) = 734105 -MD5 (sml-nj/110.51/config.tgz) = e9073a42c7833d8331d42fb262d75675 -SIZE (sml-nj/110.51/config.tgz) = 13338 -MD5 (sml-nj/110.51/eXene.tgz) = b25a91727ecef690aee1735526fb449d -SIZE (sml-nj/110.51/eXene.tgz) = 695294 -MD5 (sml-nj/110.51/ml-burg.tgz) = b678bc652a230255ff3c19d763c07455 -SIZE (sml-nj/110.51/ml-burg.tgz) = 31541 -MD5 (sml-nj/110.51/ml-lex.tgz) = 77ff73a38a2565af8fa6d786be611a52 -SIZE (sml-nj/110.51/ml-lex.tgz) = 32387 -MD5 (sml-nj/110.51/ml-nlffi-lib.tgz) = a9f2f0b9820b13d6a159783796f3a1b3 -SIZE (sml-nj/110.51/ml-nlffi-lib.tgz) = 42635 -MD5 (sml-nj/110.51/ml-nlffigen.tgz) = 243c980da7dcdabdef3a4f9ae49c40b9 -SIZE (sml-nj/110.51/ml-nlffigen.tgz) = 29420 -MD5 (sml-nj/110.51/ml-yacc.tgz) = 362253bf001c34b6d9dcbc30c9005451 -SIZE (sml-nj/110.51/ml-yacc.tgz) = 95057 -MD5 (sml-nj/110.51/runtime.tgz) = b36071180fffb5b791029beb612dd377 -SIZE (sml-nj/110.51/runtime.tgz) = 322446 -MD5 (sml-nj/110.51/smlnj-c.tgz) = e880591ced85aac51091b70f7242d83c -SIZE (sml-nj/110.51/smlnj-c.tgz) = 10542 -MD5 (sml-nj/110.51/smlnj-lib.tgz) = 39da7a684db44eed42e16c891f1ab7e4 -SIZE (sml-nj/110.51/smlnj-lib.tgz) = 220809 -MD5 (sml-nj/110.51/system.tgz) = d44fc3dd750812fe995c344da6d5b543 -SIZE (sml-nj/110.51/system.tgz) = 216810 +MD5 (sml-nj/110.52/MLRISC.tgz) = 6adf1991b60f0c3f1f1733b9051a16ef +SIZE (sml-nj/110.52/MLRISC.tgz) = 1226048 +MD5 (sml-nj/110.52/boot.x86-unix.tgz) = 1f48da28eac0b7f0926c71ef75fbaf6e +SIZE (sml-nj/110.52/boot.x86-unix.tgz) = 5396111 +MD5 (sml-nj/110.52/ckit.tgz) = d0c75ee35422333155856b577b87ec91 +SIZE (sml-nj/110.52/ckit.tgz) = 168202 +MD5 (sml-nj/110.52/cm.tgz) = ca0079c52cd8c9fdccfe5564550a27eb +SIZE (sml-nj/110.52/cm.tgz) = 206130 +MD5 (sml-nj/110.52/cml.tgz) = 92231d1464e69c5c96915af70270ca00 +SIZE (sml-nj/110.52/cml.tgz) = 103772 +MD5 (sml-nj/110.52/compiler.tgz) = 6a31f2e1ce4f679778b8988cd5850b4f +SIZE (sml-nj/110.52/compiler.tgz) = 734087 +MD5 (sml-nj/110.52/config.tgz) = 95fc1334f160dea6d26b7f0794214896 +SIZE (sml-nj/110.52/config.tgz) = 13471 +MD5 (sml-nj/110.52/eXene.tgz) = f0a94cb8b8dd4dc66d980c10a5a7fd5b +SIZE (sml-nj/110.52/eXene.tgz) = 695316 +MD5 (sml-nj/110.52/ml-burg.tgz) = 52a8a3597e7640248d3f3d3e9ac7d9b2 +SIZE (sml-nj/110.52/ml-burg.tgz) = 31560 +MD5 (sml-nj/110.52/ml-lex.tgz) = 901e3f69defbcc0007691c9d1ceab681 +SIZE (sml-nj/110.52/ml-lex.tgz) = 32391 +MD5 (sml-nj/110.52/ml-nlffi-lib.tgz) = a5273804f900a1e4030360fc9ddf4411 +SIZE (sml-nj/110.52/ml-nlffi-lib.tgz) = 42637 +MD5 (sml-nj/110.52/ml-nlffigen.tgz) = 023509ba46833c6b52184f2590d32ff3 +SIZE (sml-nj/110.52/ml-nlffigen.tgz) = 29419 +MD5 (sml-nj/110.52/ml-yacc.tgz) = 06c3c7b10db4bde721cf6a6be5d4795c +SIZE (sml-nj/110.52/ml-yacc.tgz) = 95073 +MD5 (sml-nj/110.52/runtime.tgz) = 759c2233e125902bb912beec95677edd +SIZE (sml-nj/110.52/runtime.tgz) = 323791 +MD5 (sml-nj/110.52/smlnj-c.tgz) = 10f19c4f41134f974397cd90fae66d99 +SIZE (sml-nj/110.52/smlnj-c.tgz) = 10538 +MD5 (sml-nj/110.52/smlnj-lib.tgz) = cd94ffb77bb6a409b58bf74a5388b9a0 +SIZE (sml-nj/110.52/smlnj-lib.tgz) = 223963 +MD5 (sml-nj/110.52/system.tgz) = f758d8b8f11f4123db43c496451541cf +SIZE (sml-nj/110.52/system.tgz) = 218121 Property changes on: head/lang/sml-nj-devel/distinfo ___________________________________________________________________ Modified: cvs2svn:cvs-rev ## -1 +1 ## -1.13 \ No newline at end of property +1.14 \ No newline at end of property Index: head/lang/sml-nj-devel/files/patch-config::install.sh =================================================================== --- head/lang/sml-nj-devel/files/patch-config::install.sh (revision 124598) +++ head/lang/sml-nj-devel/files/patch-config::install.sh (revision 124599) @@ -1,101 +1,101 @@ ---- config/install.sh.orig Thu Oct 28 17:44:01 2004 -+++ config/install.sh Wed Nov 3 13:36:09 2004 +--- config/install.sh.orig Wed Dec 15 00:23:38 2004 ++++ config/install.sh Thu Dec 16 04:30:19 2004 @@ -12,6 +12,8 @@ # Author: Matthias Blume (blume@tti-c.org) # +[ -n "$RECOMPILEDIR" ] && echo "RECOMPILEDIR=$RECOMPILEDIR" + if [ x${INSTALL_QUIETLY} = xtrue ] ; then export CM_VERBOSE CM_VERBOSE=false @@ -32,6 +34,28 @@ exit 1 } +# +# do_patch patch-file +# apply a patch file +do_patch() { + patchfile=$FILESDIR/$1 + + if [ ! -r $patchfile ]; then + echo "$this: !!! patch file $patchfile not found." + exit 1; + fi + + if [ ! -f $CONFIGDIR/.patch_$1 ]; then + $PATCH $PATCH_ARGS < $patchfile || {\ + echo "$this: !!! patch file $patchfile failed to patch." + exit 1; + } + echo > $CONFIGDIR/.patch_$1 + else + echo "$this: patch $patchfile already installed." + fi +} + this=$0 -@@ -299,7 +323,12 @@ +@@ -300,7 +324,12 @@ # the name of the bin files directory # BOOT_ARCHIVE=boot.$ARCH-unix -BOOT_FILES=sml.$BOOT_ARCHIVE +if [ -z "$RECOMPILEDIR" ] +then + BOOT_FILES=sml.$BOOT_ARCHIVE +else + BOOT_FILES=$RECOMPILEDIR/sml.$BOOT_ARCHIVE +fi # # build the run-time system -@@ -308,12 +337,17 @@ +@@ -309,12 +338,17 @@ vsay $this: Run-time system already exists. else - $CONFIGDIR/unpack $ROOT runtime + "$CONFIGDIR"/unpack "$ROOT" runtime + [ -n "$MLRUNTIMEPATCHES" ] && \ + for p in $MLRUNTIMEPATCHES + do + do_patch $p + done - cd $SRCDIR/runtime/objs + cd "$SRCDIR"/runtime/objs echo $this: Compiling the run-time system. $MAKE -f mk.$ARCH-$OPSYS $EXTRA_DEFS if [ -x run.$ARCH-$OPSYS ]; then - mv run.$ARCH-$OPSYS $RUNDIR + mv run.$ARCH-$OPSYS "$RUNDIR" - $MAKE MAKE=$MAKE clean + [ "$MLNORUNTIMECLEAN" ] || $MAKE MAKE=$MAKE clean else complain "$this: !!! Run-time system build failed for some reason." fi -@@ -330,7 +364,7 @@ +@@ -331,7 +365,7 @@ export CM_DIR_ARC CM_DIR_ARC=$ORIG_CM_DIR_ARC else -- $CONFIGDIR/unpack $ROOT $BOOT_ARCHIVE -+ [ -n "$RECOMPILEDIR" ] || $CONFIGDIR/unpack $ROOT $BOOT_ARCHIVE +- "$CONFIGDIR"/unpack "$ROOT" "$BOOT_ARCHIVE" ++ [ -n "$RECOMPILEDIR" ] || "$CONFIGDIR"/unpack "$ROOT" "$BOOT_ARCHIVE" - fish $ROOT/$BOOT_FILES/basis.cm + fish "$ROOT"/"$BOOT_FILES"/basis.cm -@@ -399,5 +433,18 @@ +@@ -400,5 +434,18 @@ else complain "$this: !!! Installation of libraries and programs failed." fi + +# extract required sources +[ -n "$MLSOURCEUNPACKTARGETS" ] && \ +for t in $MLSOURCEUNPACKTARGETS +do -+ $CONFIGDIR/unpack $ROOT $t ++ "$CONFIGDIR"/unpack "$ROOT" $t +done +# apply source patches +[ -n "$MLSOURCEPATCHES" ] && \ +for p in "$MLSOURCEPATCHES" +do + do_patch $p +done exit 0 Property changes on: head/lang/sml-nj-devel/files/patch-config::install.sh ___________________________________________________________________ Modified: cvs2svn:cvs-rev ## -1 +1 ## -1.2 \ No newline at end of property +1.3 \ No newline at end of property