Date: Sun, 19 Mar 2006 12:15:49 +1100 (EST) From: Timothy Bourke <timbob@bigpond.com> To: FreeBSD-gnats-submit@FreeBSD.org Subject: ports/94667: [UPDATE] lang/polyml 4.1.3 -> 4.2.0 Message-ID: <200603190115.k2J1FnW5008740@blipblop> Resent-Message-ID: <200603190120.k2J1K7tb032151@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 94667 >Category: ports >Synopsis: [UPDATE] lang/polyml 4.1.3 -> 4.2.0 >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: update >Submitter-Id: current-users >Arrival-Date: Sun Mar 19 01:20:06 GMT 2006 >Closed-Date: >Last-Modified: >Originator: Timothy Bourke >Release: FreeBSD 5.4-RELEASE i386 >Organization: >Environment: System: FreeBSD blipblop 5.4-RELEASE FreeBSD 5.4-RELEASE #1: Sun Jul 3 14:15:31 EST 2005 root@blipblop:/usr/obj/usr/src/sys/C6651 i386 >Description: Update Poly/ML to the latest release in anticipation of an upcoming math/Isabelle 2005 -> 2006 update. >How-To-Repeat: >Fix: --- polyml-4.2.0.patch begins here --- diff -ruN /usr/ports/lang/polyml/Makefile /usr/ports/lang/polyml-new/Makefile --- /usr/ports/lang/polyml/Makefile Fri Jul 29 17:19:55 2005 +++ /usr/ports/lang/polyml-new/Makefile Sun Mar 19 12:00:52 2006 @@ -6,13 +6,18 @@ # 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 @@ -22,52 +27,28 @@ 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= - -.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-extract: + ${EXTRACT_CMD} ${EXTRACT_BEFORE_ARGS} ${_DISTDIR}/DB420.i386.unix.gz \ + > ${WRKDIR}/DB420.i386.unix 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_DATA} ${WRKDIR}/DB420.i386.unix ${PREFIX}/lib/polyml/ @${INSTALL_SCRIPT} ${WRKDIR}/poly ${PREFIX}/bin/poly - (cd ${PREFIX}/lib/polyml; ${LN} -fs ./DB413Release ML_dbase) - @${CAT} ${PKGMESSAGE} + (cd ${PREFIX}/lib/polyml; ${LN} -fs ./DB420.i386.unix ML_dbase) ${SETENV} PKG_PREFIX=${PREFIX} ${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL install-user: @@ -85,4 +66,4 @@ ${CHMOD} 0600 ${HOME}/.polyml/ML_dbase .endif -.include <bsd.port.post.mk> +.include <bsd.port.mk> diff -ruN /usr/ports/lang/polyml/distinfo /usr/ports/lang/polyml-new/distinfo --- /usr/ports/lang/polyml/distinfo Thu Feb 2 08:59:18 2006 +++ /usr/ports/lang/polyml-new/distinfo Sun Mar 19 12:00:52 2006 @@ -1,12 +1,8 @@ -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 +SIZE (polyml/driver.420.tar.gz) = 496596 +MD5 (polyml/mlsource.420.tar.gz) = 873b02beab2e083232d6a8bbddab5225 +SIZE (polyml/mlsource.420.tar.gz) = 923393 +MD5 (polyml/basis.420.tar.gz) = fa307ceda8a6556d8407c4b5edc6e303 +SIZE (polyml/basis.420.tar.gz) = 148810 +MD5 (polyml/DB420.i386.unix.gz) = 7591ad2e94002c3827918c4846c0a4c4 +SIZE (polyml/DB420.i386.unix.gz) = 1848015 diff -ruN /usr/ports/lang/polyml/files/patch-driver-Makefile.in /usr/ports/lang/polyml-new/files/patch-driver-Makefile.in --- /usr/ports/lang/polyml/files/patch-driver-Makefile.in Mon Jul 11 17:11:20 2005 +++ /usr/ports/lang/polyml-new/files/patch-driver-Makefile.in Sun Mar 19 12:00:52 2006 @@ -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 -ruN /usr/ports/lang/polyml/files/patch-driver-i386_dep.c /usr/ports/lang/polyml-new/files/patch-driver-i386_dep.c --- /usr/ports/lang/polyml/files/patch-driver-i386_dep.c Mon Jul 11 17:11:20 2005 +++ /usr/ports/lang/polyml-new/files/patch-driver-i386_dep.c Thu Jan 1 10:00:00 1970 @@ -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 -ruN /usr/ports/lang/polyml/files/patch-driver-mmap.c /usr/ports/lang/polyml-new/files/patch-driver-mmap.c --- /usr/ports/lang/polyml/files/patch-driver-mmap.c Mon Jul 11 17:11:20 2005 +++ /usr/ports/lang/polyml-new/files/patch-driver-mmap.c Thu Jan 1 10:00:00 1970 @@ -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 -ruN /usr/ports/lang/polyml/files/patch-driver-mpoly.c /usr/ports/lang/polyml-new/files/patch-driver-mpoly.c --- /usr/ports/lang/polyml/files/patch-driver-mpoly.c Mon Jul 11 17:11:20 2005 +++ /usr/ports/lang/polyml-new/files/patch-driver-mpoly.c Sun Mar 19 12:00:52 2006 @@ -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 -ruN /usr/ports/lang/polyml/files/patch-driver-process_env.c /usr/ports/lang/polyml-new/files/patch-driver-process_env.c --- /usr/ports/lang/polyml/files/patch-driver-process_env.c Mon Jul 11 17:11:20 2005 +++ /usr/ports/lang/polyml-new/files/patch-driver-process_env.c Thu Jan 1 10:00:00 1970 @@ -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 -ruN /usr/ports/lang/polyml/files/pkg-message.in /usr/ports/lang/polyml-new/files/pkg-message.in --- /usr/ports/lang/polyml/files/pkg-message.in Fri Jul 29 17:19:56 2005 +++ /usr/ports/lang/polyml-new/files/pkg-message.in Thu Jan 1 10:00:00 1970 @@ -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 ------------------------------------------------------------- --- polyml-4.2.0.patch ends here --- >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200603190115.k2J1FnW5008740>