summaryrefslogtreecommitdiffstats
path: root/lang
diff options
context:
space:
mode:
authorjkoshy <jkoshy@FreeBSD.org>2005-01-12 02:44:40 +0000
committerjkoshy <jkoshy@FreeBSD.org>2005-01-12 02:44:40 +0000
commitcbd7cab116d712d9602b5c39d7ba016aad20213f (patch)
tree006ac7bc715af5454f12d748e4d08fb3fe5486e6 /lang
parent5c7d221aac62453f32b5cdc81de1bcd05191c7b5 (diff)
downloadFreeBSD-ports-cbd7cab116d712d9602b5c39d7ba016aad20213f.zip
FreeBSD-ports-cbd7cab116d712d9602b5c39d7ba016aad20213f.tar.gz
Maintainer change: Johannes 5 Joemann is the new maintainer.
Fix a CM tool path problem reported by Gerhard Gonter [ggonter .at. yahoo.com]. Submitted by: Johannes 5 Joemann <joemann@beefree.free.de> [MAINTAINER]
Diffstat (limited to 'lang')
-rw-r--r--lang/sml-nj/Makefile43
1 files changed, 24 insertions, 19 deletions
diff --git a/lang/sml-nj/Makefile b/lang/sml-nj/Makefile
index 493e01b..011f777 100644
--- a/lang/sml-nj/Makefile
+++ b/lang/sml-nj/Makefile
@@ -7,7 +7,7 @@
PORTNAME= smlnj
PORTVERSION= 110.0.7
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= lang
MASTER_SITES= ftp://ftp.research.bell-labs.com/dist/smlnj/release/110.0.7/ \
http://smlnj.cs.uchicago.edu/dist/release/110.0.7/ \
@@ -21,20 +21,18 @@ DISTFILES= bin.x86-unix.tar.Z cm.tar.Z cml.tar.Z \
smlnj-c.tar.Z smlnj-lib.tar.Z
EXTRACT_ONLY= config.tar.Z
-MAINTAINER= jkoshy@FreeBSD.org
+MAINTAINER= joemann@beefree.free.de
COMMENT= A popular functional language from Bell Labs
# Other mirror sites that generally carry only released versions of SML
-# ftp://rodin.stanford.edu/pub/smlnj/release/
# ftp://ftp.cl.cam.ac.uk/MIRRORED/smlnj/release/
-# ftp://ftp.ntua.gr/pub/lang/smlnj/release/
-# Mirror sites that keep files around in gzipped format
-# ftp://flint.cs.yale.edu/pub/smlnj/release/110.0.6/
DIST_SUBDIR= sml-nj/${PORTVERSION}
NO_WRKSUBDIR= yes
USE_GMAKE= yes
+CONFLICTS= smlnj-110.[1-9][0-9]*
+
ONLY_FOR_ARCHS= i386
SML_BASE= ${PREFIX}/lib/sml-nj
@@ -50,17 +48,21 @@ post-extract:
# The build target needs to run $WRKDIR/config/install.sh
do-build:
cd ${WRKDIR} && unset PWD && \
- FILESDIR="$(FILESDIR)" PATCH="$(PATCH)" PATCH_ARGS="$(PATCH_ARGS)" \
+ FILESDIR="${FILESDIR}" PATCH="${PATCH}" PATCH_ARGS="${PATCH_ARGS}" \
./config/install.sh
# install target
# 1. create installation directories
# 2. copy the ./bin directory across
# 3. edit bin/.run_sml to override BIN_DIR
-# 4. copy all x86-unix directories
-# 5. find all .cm files reachable from $WRKDIR/lib and copy them across
-# 6. copy the aliases in ./lib changing WRKDIR to SML_LIBDIR
-# 7. install links to executables in $PREFIX/bin
+# 4. set up temporary symlinks from WRKDIR subdirs to SML_BASE
+# 5. run config/install.sh in SML_BASE in order to
+# 6. rebuild sml-cm with CM's paths pointing into SML_BASE
+# 7. remove the temporary symlinks
+# 8. copy all x86-unix directories
+# 9. find all .cm files reachable from $WRKDIR/lib and copy them across
+# 10. copy the aliases in ./lib changing WRKDIR to SML_LIBDIR
+# 11. install links to executables in $PREFIX/bin
do-install:
${MKDIR} ${SML_BASE} ${SML_BINDIR} ${SML_LIBDIR}
tar -C ${WRKDIR} -cf - bin | tar -C ${SML_BASE} -xf -
@@ -68,19 +70,22 @@ do-install:
${SED} -e "s,^BIN_DIR=.*\$$,BIN_DIR=${SML_BINDIR}," \
< ${WRKDIR}/bin/.run-sml > ${SML_BINDIR}/.run-sml
${CHMOD} 755 ${SML_BINDIR}/.run-sml
+ ${LN} -s ${WRKDIR}/config ${SML_BASE}
+ ${LN} -s ${WRKDIR}/bin.x86-unix ${SML_BASE}
+ ${LN} -s ${WRKDIR}/src ${SML_BASE}
+ ${RM} ${SML_BINDIR}/.heap/sml*
+ cd ${SML_BASE} && config/install.sh
+ ${RM} ${SML_BASE}/config
+ ${RM} ${SML_BASE}/bin.x86-unix
+ ${RM} ${SML_BASE}/src
cd ${WRKDIR} && tar -cf - `${FIND} . -name x86-unix` | \
tar -C ${SML_BASE} -xf -
cd ${WRKDIR} && tar -cf - `${SCRIPTDIR}/get-cm ${WRKDIR}` | \
tar -C ${SML_BASE} -xf -
- for file in ${WRKDIR}/lib/*; do\
- ${SED} -e "s,${WRKDIR},${SML_BASE}," < $$file > \
- ${SML_LIBDIR}/`${BASENAME} $$file`; \
+ for f in ${WRKDIR}/lib/*; do\
+ ${SED} -e "s,${WRKDIR},${SML_BASE}," < $$f > \
+ ${SML_LIBDIR}/`${BASENAME} $$f`; \
done
- # do a minimal re-"install" to fix autoloading problems
- # as reported in PR ports/40866
- ${CP} -pr ${WRKDIR}/config ${SML_BASE}
- cd ${SML_BASE} && config/install.sh
- ${RM} -rf ${SML_BASE}/config
@${CHOWN} -R ${BINOWN}:${BINGRP} ${SML_BINDIR}
@${CHOWN} -R ${SHAREOWN}:${SHAREGRP} ${SML_SRCDIR}
.for file in ${SML_EXES}
OpenPOWER on IntegriCloud