summaryrefslogtreecommitdiffstats
path: root/lang/polyml
diff options
context:
space:
mode:
Diffstat (limited to 'lang/polyml')
-rw-r--r--lang/polyml/Makefile71
-rw-r--r--lang/polyml/distinfo24
-rw-r--r--lang/polyml/files/patch-driver-Makefile.in44
-rw-r--r--lang/polyml/files/patch-driver-i386_dep.c17
-rw-r--r--lang/polyml/files/patch-driver-mmap.c11
-rw-r--r--lang/polyml/files/patch-driver-mpoly.c58
-rw-r--r--lang/polyml/files/patch-driver-process_env.c13
-rw-r--r--lang/polyml/files/pkg-message.in8
8 files changed, 74 insertions, 172 deletions
diff --git a/lang/polyml/Makefile b/lang/polyml/Makefile
index 45adbb8..b9faa03 100644
--- a/lang/polyml/Makefile
+++ b/lang/polyml/Makefile
@@ -6,68 +6,55 @@
#
PORTNAME= polyml
-PORTVERSION= 4.1.3
+PORTVERSION= 4.2.0
CATEGORIES= lang
-DISTFILES= polyml-driver-4.1.3.tar.gz \
- polyml-mlsource-4.1.3.tar.gz \
- polyml-basis-4.1.3.tar.gz \
- polyml-4.1.3.i386.tar.gz
+MASTER_SITES= ${MASTER_SITE_SOURCEFORGE}
+MASTER_SITE_SUBDIR= ${PORTNAME}
+DISTFILES= driver.420.tar.gz \
+ mlsource.420.tar.gz \
+ basis.420.tar.gz \
+ DB420.i386.unix.gz
DIST_SUBDIR= ${PORTNAME}
+EXTRACT_ONLY= driver.420.tar.gz \
+ mlsource.420.tar.gz \
+ basis.420.tar.gz
MAINTAINER= timbob@bigpond.com
COMMENT= Fast open-source implementation of Standard ML
WRKSRC= ${WRKDIR}/driver
+
ONLY_FOR_ARCHS= i386
+
+USE_GCC= 3.2+
HAS_CONFIGURE= yes
CONFIGURE_ARGS= ${PREFIX}
-SUB_FILES= poly pkg-message
+SUB_FILES= poly
PLIST_FILES= bin/poly \
lib/polyml/poly \
- lib/polyml/LICENCE \
+ lib/polyml/COPYING \
lib/polyml/ML_dbase \
- lib/polyml/DB413Release
+ lib/polyml/DB420.i386.unix
PLIST_DIRS= lib/polyml
-RESTRICTED= Downloading implies agreement to the licence.
-
NO_INSTALL_MANPAGES=yes
-.include <bsd.port.pre.mk>
-TO_BE_FETCHED=
+post-extract:
+ @${EXTRACT_CMD} ${EXTRACT_BEFORE_ARGS} ${_DISTDIR}/DB420.i386.unix.gz \
+ > ${WRKDIR}/DB420.i386.unix
-.for f in ${DISTFILES}
-.if ! exists (${DISTDIR}/${DIST_SUBDIR}/${f})
-TO_BE_FETCHED+= ${f}
-.endif
-.endfor
-
-do-fetch:
-.if ${TO_BE_FETCHED} != ""
-ECHO_MSG=/usr/bin/printf
-IGNORE= :\n\n\
-------------------------------------------------------------------\n\
-Downloading this software implies acceptance of the licence\n\
-agreement, which may be found at: http://www.polyml.org/Get.html\n\
-\n\
-Please download the following files into ${DISTDIR}/${DIST_SUBDIR}\n\
-\n
-.for f in ${TO_BE_FETCHED}
-IGNORE+= ${f}\n
-.endfor
-IGNORE+=------------------------------------------------------------------\n\n
-.endif
+post-patch:
+ @${REINPLACE_CMD} -e "s|gcc|${CC}|g" ${WRKSRC}/configure
post-build:
(cd ${WRKDIR}/mlsource/MLCompiler/CodeTree; ${LN} -fs CodeCons.i386 CodeCons)
- (cd ${WRKDIR}; ./driver/poly ML_dbase < mlsource/BuildAll.sml)
+ (cd ${WRKDIR}; ./driver/poly DB420.i386.unix < mlsource/BuildAll.sml)
post-install:
- @${INSTALL_DATA} ${WRKDIR}/DB413Release ${PREFIX}/lib/polyml/
- @${INSTALL_SCRIPT} ${WRKDIR}/poly ${PREFIX}/bin/poly
- (cd ${PREFIX}/lib/polyml; ${LN} -fs ./DB413Release ML_dbase)
- @${CAT} ${PKGMESSAGE}
+ ${INSTALL_DATA} ${WRKDIR}/DB420.i386.unix ${PREFIX}/lib/polyml/
+ ${INSTALL_SCRIPT} ${WRKDIR}/poly ${PREFIX}/bin/poly
+ @(cd ${PREFIX}/lib/polyml; ${LN} -fs ./DB420.i386.unix ML_dbase)
${SETENV} PKG_PREFIX=${PREFIX} ${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL
install-user:
@@ -80,9 +67,9 @@ install-user:
@${ECHO_CMD} "User copy of database already exists. Aborting!"
@${ECHO_CMD}
.else
- ${MKDIR} ${HOME}/.polyml
- ${CP} ${LOCALBASE}/lib/polyml/ML_dbase ${HOME}/.polyml
- ${CHMOD} 0600 ${HOME}/.polyml/ML_dbase
+ @${MKDIR} ${HOME}/.polyml
+ @${CP} ${LOCALBASE}/lib/polyml/ML_dbase ${HOME}/.polyml
+ @${CHMOD} 0600 ${HOME}/.polyml/ML_dbase
.endif
-.include <bsd.port.post.mk>
+.include <bsd.port.mk>
diff --git a/lang/polyml/distinfo b/lang/polyml/distinfo
index c568e9d6..b638bf9 100644
--- a/lang/polyml/distinfo
+++ b/lang/polyml/distinfo
@@ -1,12 +1,12 @@
-MD5 (polyml/polyml-driver-4.1.3.tar.gz) = 814cea1cfb376d4bb3977f78bad3d5eb
-SHA256 (polyml/polyml-driver-4.1.3.tar.gz) = 895c5e633fb172853896052dbb48b5fd6c63292f80d8323c74d0431e69f1c9c4
-SIZE (polyml/polyml-driver-4.1.3.tar.gz) = 448918
-MD5 (polyml/polyml-mlsource-4.1.3.tar.gz) = c316411eb44e61bc85762e5742761936
-SHA256 (polyml/polyml-mlsource-4.1.3.tar.gz) = b184ceb5715aa5d3a0e095d2ee577d374ff9c4a9f648cb97f227feb98645c5a0
-SIZE (polyml/polyml-mlsource-4.1.3.tar.gz) = 942603
-MD5 (polyml/polyml-basis-4.1.3.tar.gz) = aaaebb967ddafcbf9ff27ea815be5414
-SHA256 (polyml/polyml-basis-4.1.3.tar.gz) = 7039569ba04224bb8cacf3df98353ededf57371d6d966c0dd3ae3cfe32b7833a
-SIZE (polyml/polyml-basis-4.1.3.tar.gz) = 130932
-MD5 (polyml/polyml-4.1.3.i386.tar.gz) = 4309deffef425ef2052a2bfd37539f31
-SHA256 (polyml/polyml-4.1.3.i386.tar.gz) = e98b8748b1380b2c461f252901e87e597c50a0b14de5d1b6b481771f3e98d8fb
-SIZE (polyml/polyml-4.1.3.i386.tar.gz) = 1110381
+MD5 (polyml/driver.420.tar.gz) = 3855385041e1a7d860ba72734c153ce4
+SHA256 (polyml/driver.420.tar.gz) = e9113992bd911a70de0d830e2f5bb2e6b314e00f24702a270f7116cc1515e84f
+SIZE (polyml/driver.420.tar.gz) = 496596
+MD5 (polyml/mlsource.420.tar.gz) = 873b02beab2e083232d6a8bbddab5225
+SHA256 (polyml/mlsource.420.tar.gz) = ebe29bd4290c95882b012b193dc25bda0d5a575d67d6a8ab8239314ee3de250a
+SIZE (polyml/mlsource.420.tar.gz) = 923393
+MD5 (polyml/basis.420.tar.gz) = fa307ceda8a6556d8407c4b5edc6e303
+SHA256 (polyml/basis.420.tar.gz) = bb381d5b99987b08064a707001766ea64113de4b1a75a12ad443ca8c9d0675cc
+SIZE (polyml/basis.420.tar.gz) = 148810
+MD5 (polyml/DB420.i386.unix.gz) = 7591ad2e94002c3827918c4846c0a4c4
+SHA256 (polyml/DB420.i386.unix.gz) = 6f3c40c2ac8f479a4e7307e20907e53af29b3a75e05fdd34184ee2b9b29309bf
+SIZE (polyml/DB420.i386.unix.gz) = 1848015
diff --git a/lang/polyml/files/patch-driver-Makefile.in b/lang/polyml/files/patch-driver-Makefile.in
index 37b40f8..e64149d 100644
--- a/lang/polyml/files/patch-driver-Makefile.in
+++ b/lang/polyml/files/patch-driver-Makefile.in
@@ -1,49 +1,13 @@
---- Makefile.in.orig Tue Nov 14 22:01:18 2000
-+++ Makefile.in Fri Jun 10 15:27:34 2005
-@@ -15,6 +15,7 @@
- AFLAGS = $(CPUFLAGS) $(OSFLAGS)
- ASFLAGS = $(AFLAGS)
- CFLAGS = $(CPUFLAGS) $(OSFLAGS) @OPTFLAGS@ @INCLUDES@ -DDEFAULT_POLYPATH=$(DEFAULT_POLYPATH)
-+CFLAGSO1 = $(CPUFLAGS) $(OSFLAGS) -O1 @INCLUDES@ -DDEFAULT_POLYPATH=$(DEFAULT_POLYPATH)
- LINTFLAGS = $(CPUFLAGS) $(OSFLAGS) @IFLAGS@
- XLFLAGS = @LIBS@
-
-@@ -32,7 +33,9 @@
+--- Makefile.in.orig Thu Nov 24 20:54:04 2005
++++ Makefile.in Thu Nov 24 20:56:19 2005
+@@ -32,7 +32,9 @@
all: $(TARGETS)
install: $(TARGETS)
- cp $(TARGETS) $(INSTALLDIR)
+ mkdir -p $(INSTALLDIR)
+ $(BSD_INSTALL_PROGRAM) $(TARGETS) $(INSTALLDIR)
-+ $(BSD_INSTALL_DATA) LICENCE $(INSTALLDIR)
++ $(BSD_INSTALL_DATA) COPYING $(INSTALLDIR)
POLYOBJS = \
mpoly.o \
-@@ -95,7 +98,26 @@
- rm -f powtemp.s
-
- xwindows.o: xwindows.c
-- $(CC) $(CFLAGS) -c xwindows.c -o xwindows.o
-+ $(CC) $(CFLAGSO1) -c xwindows.c -o xwindows.o
-+
-+# Use -O1 rather than -O2 to avoid:
-+# dereferencing type-punned pointer will break strict-aliasing rules
-+# warnings (and subsequent problems with Isabelle logic compilation)
-+
-+arb.o: arb.c
-+ $(CC) $(CFLAGSO1) -c $<
-+
-+processes.o: processes.c
-+ $(CC) $(CFLAGSO1) -c $<
-+
-+realconv.o: realconv.c
-+ $(CC) $(CFLAGSO1) -c $<
-+
-+run_time.o: run_time.c
-+ $(CC) $(CFLAGSO1) -c $<
-+
-+i386_dep.o: i386_dep.c
-+ $(CC) $(CFLAGSO1) -c $<
-
- # Make sure the version is updated whenever anything is recompiled.
- version.o: $(POLYOBJS) $(DISCGARBOBJS)
diff --git a/lang/polyml/files/patch-driver-i386_dep.c b/lang/polyml/files/patch-driver-i386_dep.c
deleted file mode 100644
index c906ff1..0000000
--- a/lang/polyml/files/patch-driver-i386_dep.c
+++ /dev/null
@@ -1,17 +0,0 @@
---- i386_dep.c.orig Sun Jun 12 14:32:11 2005
-+++ i386_dep.c Sun Jun 12 14:45:17 2005
-@@ -473,9 +473,14 @@
- else
- {
- signal(SIGSEGV,SIG_DFL);
-+#ifdef FREEBSD
-+ fprintf(stderr,"catchSEGV; &context = %p, in_run_time_system=%i, context.trapno=%ld\n",
-+ scp, in_run_time_system, scp->sc_trapno);
-+#else
- fprintf(stderr,"catchSEGV; &context = %p, in_run_time_system=%i, context.trapno=%ld\n",
- &context, in_run_time_system, context.trapno);
- signal(SIGSEGV,catchSEGV);
-+#endif
- }
- #endif
-
diff --git a/lang/polyml/files/patch-driver-mmap.c b/lang/polyml/files/patch-driver-mmap.c
deleted file mode 100644
index 97ef361..0000000
--- a/lang/polyml/files/patch-driver-mmap.c
+++ /dev/null
@@ -1,11 +0,0 @@
---- mmap.c.orig Fri Jun 10 09:54:34 2005
-+++ mmap.c Fri Jun 10 09:55:57 2005
-@@ -60,7 +60,7 @@
- #include <sys/uio.h>
- #include <sys/param.h>
- #include <unistd.h>
--#ifdef MACOSX
-+#if (defined(FREEBSD) || defined(MACOSX))
- #include <limits.h>
- #else
- #include <values.h> /* FreeBSD warns about this but it's needed in Solaris. */
diff --git a/lang/polyml/files/patch-driver-mpoly.c b/lang/polyml/files/patch-driver-mpoly.c
index ce9a5cd..278cd86 100644
--- a/lang/polyml/files/patch-driver-mpoly.c
+++ b/lang/polyml/files/patch-driver-mpoly.c
@@ -1,33 +1,33 @@
---- mpoly.c.orig Thu Jun 20 02:27:30 2002
-+++ mpoly.c Sat Jul 9 08:57:27 2005
-@@ -636,6 +636,30 @@
-
+--- mpoly.c.orig Thu Nov 24 20:11:47 2005
++++ mpoly.c Thu Nov 24 20:50:45 2005
+@@ -648,6 +648,30 @@
+ if (! be_silent)
+ {
proper_printf("Poly/ML RTS version %s\n",poly_runtime_system_version);
-
++
+#if defined(FREEBSD)
-+ /* FreeBSD 5.x links dynamic libraries above the user heap, rather
-+ than below the user stack. It determines the base address from
-+ the allowed process data size (ulimit -d, limit datasize), the
-+ maximum value of which is set by the kernel maxdsiz parameter.
-+ If this datasize value is too low, there will be conflicts
-+ with the Poly/ML heaps, database or IO Area. Such problems are
-+ difficult to diagnose, thus the check here.
-+ */
-+ struct rlimit rlim;
-+ if (getrlimit(RLIMIT_DATA, &rlim) != 0) {
-+ proper_fprintf(stderr, "unable to check the datasize resource limit.\n");
-+ rlim.rlim_max = 0;
-+ }
-+ if (rlim.rlim_max < ((rlim_t)IO_TOP - 0x08000000)) {
-+ proper_fprintf(stderr,
-+ "WARNING: The maximum datasize limit is too low (>= 896M recommended).\n");
-+ proper_fprintf(stderr,
-+ "WARNING: Large databases may cause problematic behaviour.\n");
-+ proper_fprintf(stderr,
-+ "WARNING: Please increase resources with limit/ulimit and/or kern.maxdsiz\n");
-+ }
++ /* FreeBSD 5.x links dynamic libraries above the user heap, rather
++ than below the user stack. It determines the base address from
++ the allowed process data size (ulimit -d, limit datasize), the
++ maximum value of which is set by the kernel maxdsiz parameter.
++ If this datasize value is too low, there will be conflicts
++ with the Poly/ML heaps, database or IO Area. Such problems are
++ difficult to diagnose, thus the check here.
++ */
++ struct rlimit rlim;
++ if (getrlimit(RLIMIT_DATA, &rlim) != 0) {
++ proper_fprintf(stderr, "unable to check the datasize resource limit.\n");
++ rlim.rlim_max = 0;
++ }
++ if (rlim.rlim_max < ((rlim_t)IO_TOP - 0x08000000)) {
++ proper_fprintf(stderr,
++ "WARNING: The maximum datasize limit is too low (>= 896M recommended).\n");
++ proper_fprintf(stderr,
++ "WARNING: Large databases may cause problematic behaviour.\n");
++ proper_fprintf(stderr,
++ "WARNING: Please increase resources with limit/ulimit and/or kern.maxdsiz\n");
++ }
+#endif
-+
+ }
+
if (A.filename == 0)
- {
- #ifdef WINDOWS_PC
diff --git a/lang/polyml/files/patch-driver-process_env.c b/lang/polyml/files/patch-driver-process_env.c
deleted file mode 100644
index 1c3b10e..0000000
--- a/lang/polyml/files/patch-driver-process_env.c
+++ /dev/null
@@ -1,13 +0,0 @@
---- process_env.c.orig Fri Jun 10 10:10:07 2005
-+++ process_env.c Fri Jun 10 10:10:31 2005
-@@ -14,6 +14,10 @@
- #include <sys/param.h>
- #endif
-
-+#ifdef FREEBSD
-+#include <unistd.h>
-+#endif
-+
- #include "globals.h"
- #include "sys.h"
- #include "run_time.h"
diff --git a/lang/polyml/files/pkg-message.in b/lang/polyml/files/pkg-message.in
deleted file mode 100644
index eae3edd..0000000
--- a/lang/polyml/files/pkg-message.in
+++ /dev/null
@@ -1,8 +0,0 @@
-------------------------------------------------------------
- Use of Poly/ML is subject to a licence.
- Please uninstall this port if you do not agree with the
- terms outlined in:
- %%PREFIX%%/lib/polyml/LICENCE
- or at:
- http://www.polyml.org/Get.html
-------------------------------------------------------------
OpenPOWER on IntegriCloud