Fri Dec 29 03:56:42 2017 UTC ()
Update to 3.2.5 and fix broken build.
pkgsrc changes:
 - use paxctl during the build to avoid crashes
 - depend directly on pcre
 - fix some pkglint

Upstream changes:
 - Add Delay>>#value:onTimeoutDo: as an easy way to timeout an operation.
 - Improve Delay and millisecondClock behavior across image save and restore.
   millisecondClockValue is guaranteed to be monotonic across image save, and
   delays are restarted when the image is restored.
 - DateTime>>#today will return midnight of the current timezone.
 - DateTime has a new method #asLocal.
 - DateTime>>#readFrom: can read more time formats.
 - Time resolution is now based on nanoseconds.
 - Absolute-time delays (Delay>>#untilMilliseconds:) are precise and not
   anymore converted to relative-time delays.
 - package.xml files support a <dir> tag, like <dir name="Foo">.  It can
   be used to make package.xml clearer for large packages.
 - MethodDictionary is now thread-safe.
 - String>>#% supports string keys, like %(string).  They can be used
   when the argument of #% is a Dictionary or LookupTable.  Note that
   the keys of the dictionary must be Strings, not Symbols.
 - Socket fixes including reporting of EndOfStream on broken pipes and
   connection resets.
 - Fix the FileDescriptor finalization code to close open descriptors.
 - The system file descriptor of FileDescriptor is set to nil on image
   restore.
 - The asynchronous event notification has been rewritten.  The old
   version could fail when many file descriptors became available at
   the same time.
 - DBD-Postgres gained support to bind parameters on queries and various
   fixes to allow to resume images that use Postgres.
 - Images created with gst-remote can now be resumed.
 - Add #system:withArguments: to avoid using #system: with #% to add
   arguments.
 - Added Integer>>#printPaddedWith:to:.
 - Added CharacterArray>>#withShellEscapes
 - Added Collection>>#includesAllOf:
 - Stream>>#fold: works correctly.
 - 64-bit integer types are available using CLongLong and CULongLong.
 - gst-blox and gst-browser understand the -i/--rebuild-image option.
 - GObject errors show backtraces.
 - Improvements to multiarch support.
 - CType objects implement #= and #hash, so they can now be used as keys
   in a dictionary.
 - Floating-point numbers are printed more accurately in some rare cases.
 - Some optimization of OrderedCollection and SortedCollection
 - Selectors starting with an underscore are treated as keyword messages.
 - A new function gst_uint_to_oop is in libgst, and uintToOOP is also
   provided by the VMProxy.
 - Growing the heap is working again.
 - Various bugfixes.
 - GNU Smalltalk does not run anymore on i386 hardware, an i486 is needed.
 - Slightly faster garbage collection.


(dholland)
diff -r1.98 -r1.99 pkgsrc/lang/smalltalk/Makefile
diff -r1.24 -r1.25 pkgsrc/lang/smalltalk/PLIST
diff -r1.27 -r1.28 pkgsrc/lang/smalltalk/distinfo
diff -r1.6 -r1.7 pkgsrc/lang/smalltalk/patches/patch-ae
diff -r1.4 -r1.5 pkgsrc/lang/smalltalk/patches/patch-ah
diff -r0 -r1.1 pkgsrc/lang/smalltalk/patches/patch-libgst_cint.c

cvs diff -r1.98 -r1.99 pkgsrc/lang/smalltalk/Makefile (expand / switch to unified diff)

--- pkgsrc/lang/smalltalk/Makefile 2017/11/30 16:45:28 1.98
+++ pkgsrc/lang/smalltalk/Makefile 2017/12/29 03:56:42 1.99
@@ -1,17 +1,16 @@ @@ -1,17 +1,16 @@
1# $NetBSD: Makefile,v 1.98 2017/11/30 16:45:28 adam Exp $ 1# $NetBSD: Makefile,v 1.99 2017/12/29 03:56:42 dholland Exp $
2 2
3DISTNAME= smalltalk-3.2.4 3DISTNAME= smalltalk-3.2.5
4PKGREVISION= 32 
5CATEGORIES= lang 4CATEGORIES= lang
6MASTER_SITES= ${MASTER_SITE_GNU:=smalltalk/} 5MASTER_SITES= ${MASTER_SITE_GNU:=smalltalk/}
7 6
8MAINTAINER= pkgsrc-users@NetBSD.org 7MAINTAINER= pkgsrc-users@NetBSD.org
9#HOMEPAGE= http://www.smalltalk.org/versions/GNUSmalltalk.html 8#HOMEPAGE= http://www.smalltalk.org/versions/GNUSmalltalk.html
10COMMENT= GNU Smalltalk: A smalltalk-80 implementation 9COMMENT= GNU Smalltalk: A smalltalk-80 implementation
11 10
12ONLY_FOR_PLATFORM= *-*-i386 *-*-x86_64 *-*-sparc *-*-powerpc 11ONLY_FOR_PLATFORM= *-*-i386 *-*-x86_64 *-*-sparc *-*-powerpc
13 12
14MAKE_JOBS_SAFE= no 13MAKE_JOBS_SAFE= no
15 14
16USE_TOOLS+= gawk gmake makeinfo pkg-config zip 15USE_TOOLS+= gawk gmake makeinfo pkg-config zip
17USE_LIBTOOL= YES 16USE_LIBTOOL= YES
@@ -38,30 +37,31 @@ REPLACE_FILES.sys-sed= ${REPLACE_SED} @@ -38,30 +37,31 @@ REPLACE_FILES.sys-sed= ${REPLACE_SED}
38 37
39.include "../../mk/bsd.prefs.mk" 38.include "../../mk/bsd.prefs.mk"
40 39
41CPPFLAGS+= -DUSE_INTERP_RESULT 40CPPFLAGS+= -DUSE_INTERP_RESULT
42 41
43# for backtrace 42# for backtrace
44.if (${OPSYS} == "NetBSD" || ${OPSYS} == "FreeBSD") && exists(/usr/include/execinfo.h) 43.if (${OPSYS} == "NetBSD" || ${OPSYS} == "FreeBSD") && exists(/usr/include/execinfo.h)
45LIBS+= -lexecinfo 44LIBS+= -lexecinfo
46.endif 45.endif
47 46
48post-extract: 47post-extract:
49 sed -e "s/long double/double/g" -e "s/1.0L/1.0/g" -e "s/0.0L/0.0/g" \ 48 sed -e "s/long double/double/g" -e "s/1.0L/1.0/g" -e "s/0.0L/0.0/g" \
50 -e "s/LDBL_EPSILON/DBL_EPSILON/g" -e "s/truncl/trunc/g" \ 49 -e "s/LDBL_EPSILON/DBL_EPSILON/g" -e "s/truncl/trunc/g" \
51 ${WRKSRC:Q}/lib-src/truncl.c > ${WRKSRC:Q}/lib-src/trunc.c 50 ${WRKSRC}/lib-src/truncl.c > ${WRKSRC}/lib-src/trunc.c
52 sed -e "s/long double/float/g" -e "s/1.0L/1.0F/g" -e "s/0.0L/0.0F/g" \ 51 sed -e "s/long double/float/g" -e "s/1.0L/1.0F/g" -e "s/0.0L/0.0F/g" \
53 -e "s/LDBL_EPSILON/FLT_EPSILON/g" -e "s/truncl/truncf/g" \ 52 -e "s/LDBL_EPSILON/FLT_EPSILON/g" -e "s/truncl/truncf/g" \
54 ${WRKSRC}/lib-src/truncl.c > ${WRKSRC}/lib-src/truncf.c 53 ${WRKSRC}/lib-src/truncl.c > ${WRKSRC}/lib-src/truncf.c
55 54
56.include "options.mk" 55.include "options.mk"
57 56
58 57
59.include "../../converters/libiconv/buildlink3.mk" 58.include "../../converters/libiconv/buildlink3.mk"
60.include "../../devel/gettext-lib/buildlink3.mk" 59.include "../../devel/gettext-lib/buildlink3.mk"
61.include "../../devel/gmp/buildlink3.mk" 60.include "../../devel/gmp/buildlink3.mk"
62.include "../../devel/libffi/buildlink3.mk" 61.include "../../devel/libffi/buildlink3.mk"
63.include "../../devel/libltdl/buildlink3.mk" 62.include "../../devel/libltdl/buildlink3.mk"
64.include "../../devel/libsigsegv/buildlink3.mk" 63.include "../../devel/libsigsegv/buildlink3.mk"
 64.include "../../devel/pcre/buildlink3.mk"
65.include "../../devel/zlib/buildlink3.mk" 65.include "../../devel/zlib/buildlink3.mk"
66.include "../../mk/pthread.buildlink3.mk" 66.include "../../mk/pthread.buildlink3.mk"
67.include "../../mk/bsd.pkg.mk" 67.include "../../mk/bsd.pkg.mk"

cvs diff -r1.24 -r1.25 pkgsrc/lang/smalltalk/PLIST (expand / switch to unified diff)

--- pkgsrc/lang/smalltalk/PLIST 2014/12/27 00:13:28 1.24
+++ pkgsrc/lang/smalltalk/PLIST 2017/12/29 03:56:42 1.25
@@ -1,14 +1,14 @@ @@ -1,14 +1,14 @@
1@comment $NetBSD: PLIST,v 1.24 2014/12/27 00:13:28 dholland Exp $ 1@comment $NetBSD: PLIST,v 1.25 2017/12/29 03:56:42 dholland Exp $
2bin/gst 2bin/gst
3bin/gst-blox 3bin/gst-blox
4bin/gst-browser 4bin/gst-browser
5bin/gst-config 5bin/gst-config
6bin/gst-convert 6bin/gst-convert
7bin/gst-doc 7bin/gst-doc
8bin/gst-load 8bin/gst-load
9bin/gst-package 9bin/gst-package
10bin/gst-profile 10bin/gst-profile
11bin/gst-reload 11bin/gst-reload
12bin/gst-remote 12bin/gst-remote
13bin/gst-sunit 13bin/gst-sunit
14include/gst.h 14include/gst.h
@@ -16,29 +16,29 @@ include/gstpub.h @@ -16,29 +16,29 @@ include/gstpub.h
16info/gst-base.info 16info/gst-base.info
17info/gst-libs.info 17info/gst-libs.info
18info/gst.info 18info/gst.info
19lib/libgst.la 19lib/libgst.la
20lib/pkgconfig/gnu-smalltalk.pc 20lib/pkgconfig/gnu-smalltalk.pc
21${PLIST.tk}lib/smalltalk/blox-tk.la 21${PLIST.tk}lib/smalltalk/blox-tk.la
22${PLIST.sqlite}lib/smalltalk/dbd-sqlite3.la 22${PLIST.sqlite}lib/smalltalk/dbd-sqlite3.la
23lib/smalltalk/digest.la 23lib/smalltalk/digest.la
24${PLIST.expat}lib/smalltalk/expat.la 24${PLIST.expat}lib/smalltalk/expat.la
25${PLIST.gdbm}lib/smalltalk/gdbm.la 25${PLIST.gdbm}lib/smalltalk/gdbm.la
26${PLIST.gtk}lib/smalltalk/gst-gtk.la 26${PLIST.gtk}lib/smalltalk/gst-gtk.la
27${PLIST.opengl}lib/smalltalk/gstglut.la 27${PLIST.opengl}lib/smalltalk/gstglut.la
28${PLIST.opengl}lib/smalltalk/gstopengl.la 28${PLIST.opengl}lib/smalltalk/gstopengl.la
29${PLIST.sdl}lib/smalltalk/sdl.la 
30lib/smalltalk/i18n.la 29lib/smalltalk/i18n.la
31lib/smalltalk/iconv.la 30lib/smalltalk/iconv.la
 31${PLIST.sdl}lib/smalltalk/sdl.la
32lib/smalltalk/zlib.la 32lib/smalltalk/zlib.la
33libexec/smalltalk/gnutls-wrapper 33libexec/smalltalk/gnutls-wrapper
34libexec/smalltalk/vfs/deb 34libexec/smalltalk/vfs/deb
35libexec/smalltalk/vfs/lslR 35libexec/smalltalk/vfs/lslR
36libexec/smalltalk/vfs/mailfs 36libexec/smalltalk/vfs/mailfs
37libexec/smalltalk/vfs/patchfs 37libexec/smalltalk/vfs/patchfs
38libexec/smalltalk/vfs/uar 38libexec/smalltalk/vfs/uar
39libexec/smalltalk/vfs/ucpio 39libexec/smalltalk/vfs/ucpio
40libexec/smalltalk/vfs/ulha 40libexec/smalltalk/vfs/ulha
41libexec/smalltalk/vfs/urar 41libexec/smalltalk/vfs/urar
42libexec/smalltalk/vfs/utar 42libexec/smalltalk/vfs/utar
43libexec/smalltalk/vfs/uzip 43libexec/smalltalk/vfs/uzip
44libexec/smalltalk/vfs/uzoo 44libexec/smalltalk/vfs/uzoo

cvs diff -r1.27 -r1.28 pkgsrc/lang/smalltalk/distinfo (expand / switch to unified diff)

--- pkgsrc/lang/smalltalk/distinfo 2015/12/29 23:34:55 1.27
+++ pkgsrc/lang/smalltalk/distinfo 2017/12/29 03:56:42 1.28
@@ -1,10 +1,11 @@ @@ -1,10 +1,11 @@
1$NetBSD: distinfo,v 1.27 2015/12/29 23:34:55 dholland Exp $ 1$NetBSD: distinfo,v 1.28 2017/12/29 03:56:42 dholland Exp $
2 2
3SHA1 (smalltalk-3.2.4.tar.gz) = 6b164e145c1118ad74770bb15614478d47f55523 3SHA1 (smalltalk-3.2.5.tar.gz) = 4dd77b769131527add276ded01666e089da3b8b1
4RMD160 (smalltalk-3.2.4.tar.gz) = d8ca6b888311a70748071ff4024e31adeb0a920f 4RMD160 (smalltalk-3.2.5.tar.gz) = 04cc87b31e8288fc6a8ce756612d40d91ce40cde
5SHA512 (smalltalk-3.2.4.tar.gz) = 0854e95fb29c79a9844304651e9b2e3997ced88d7f1a704345f72aedfbae1562df0a2a2cc92ed7909e0ce22e275bb37d1592fe16079e3895cd8b79f3212cea3e 5SHA512 (smalltalk-3.2.5.tar.gz) = 385e5fba2acb8870759e5178282210c09c45685d0cf776bc50f4ed10c9afacf9164547ba8099ea3ed9a92a2a253aa9c2b011a7a9f2dff47ea9cfdf3b42029ebc
6Size (smalltalk-3.2.4.tar.gz) = 5877496 bytes 6Size (smalltalk-3.2.5.tar.gz) = 5779293 bytes
7SHA1 (patch-ae) = aa64f95b4aec8117655ebd7fe07a6c0ffa7018fe 7SHA1 (patch-ae) = 0de0e6bed47d32e1c3088100c153054461e4f33b
8SHA1 (patch-ah) = eaa03cf41f1c30acd1762cb6389dfe0157ce551b 8SHA1 (patch-ah) = ff72f65fe5e8aa71a729898525b756ca59b78767
 9SHA1 (patch-libgst_cint.c) = 51354b41f8edde0e42abcd5f8d0246d4f1025c6e
9SHA1 (patch-libgst_input.c) = 06168ed6decd6d42838e76ada81717e3f599d733 10SHA1 (patch-libgst_input.c) = 06168ed6decd6d42838e76ada81717e3f599d733
10SHA1 (patch-snprintfv_snprintfv_format.c) = 03eed55ade8f78ae1cf73b82df9d18629314945b 11SHA1 (patch-snprintfv_snprintfv_format.c) = 03eed55ade8f78ae1cf73b82df9d18629314945b

cvs diff -r1.6 -r1.7 pkgsrc/lang/smalltalk/patches/patch-ae (expand / switch to unified diff)

--- pkgsrc/lang/smalltalk/patches/patch-ae 2014/12/27 00:13:28 1.6
+++ pkgsrc/lang/smalltalk/patches/patch-ae 2017/12/29 03:56:42 1.7
@@ -1,26 +1,15 @@ @@ -1,26 +1,15 @@
1$NetBSD: patch-ae,v 1.6 2014/12/27 00:13:28 dholland Exp $ 1$NetBSD: patch-ae,v 1.7 2017/12/29 03:56:42 dholland Exp $
2 2
3- add more functions to check for (XXX: why is half the line duplicated?) 
4- update for readline API changes 3- update for readline API changes
5 4
6--- configure.orig 2011-03-21 18:12:58.000000000 +0000 5--- configure.orig 2013-04-08 05:52:20.000000000 +0000
7+++ configure 6+++ configure
8@@ -16069,7 +16069,8 @@ fi 7@@ -19012,7 +19012,7 @@ main()
9  
10 for ac_func in putenv strdup strerror strsignal mkstemp getpagesize \ 
11 getdtablesize strstr ftruncate floorl ceill sqrtl frexpl ldexpl asinl \ 
12- acosl atanl logl expl tanl sinl cosl powl truncl lrintl truncf lrintf \ 
13+ acosl atanl logl expl tanl sinl cosl truncl lrintl truncf lrintf \ 
14+ acosl atanl logl expl tanl sinl cosl powl trunc truncf truncl lrintl strsep strpbrk \ 
15 lrint trunc strsep strpbrk symlink mkdtemp 
16 do : 
17 as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` 
18@@ -17737,7 +17738,7 @@ main() 
19 { 8 {
20 rl_bind_key ('\t', rl_insert); 9 rl_bind_key ('\t', rl_insert);
21 /* This is missing in BSD libedit! */ 10 /* This is missing in BSD libedit! */
22- rl_filename_quoting_function = (CPFunction *) readline_quote_filename; 11- rl_filename_quoting_function = (CPFunction *) readline_quote_filename;
23+ rl_filename_quoting_function = (rl_quote_func_t *) readline_quote_filename; 12+ rl_filename_quoting_function = (rl_quote_func_t *) readline_quote_filename;
24 exit(0); 13 exit(0);
25 } 14 }
26 EOF 15 EOF

cvs diff -r1.4 -r1.5 pkgsrc/lang/smalltalk/patches/patch-ah (expand / switch to unified diff)

--- pkgsrc/lang/smalltalk/patches/patch-ah 2011/04/30 11:46:15 1.4
+++ pkgsrc/lang/smalltalk/patches/patch-ah 2017/12/29 03:56:42 1.5
@@ -1,24 +1,38 @@ @@ -1,24 +1,38 @@
1$NetBSD: patch-ah,v 1.4 2011/04/30 11:46:15 asau Exp $ 1$NetBSD: patch-ah,v 1.5 2017/12/29 03:56:42 dholland Exp $
2 2
3Link against pthreads. 3- Link against pthreads.
 4- Run paxctl +am after linking gst and gst-tool so they don't crash
 5when subsequently run during the build.
4 6
5--- Makefile.in.orig 2011-03-21 21:12:57.000000000 +0300 7--- Makefile.in.orig 2013-04-08 05:52:22.000000000 +0000
6+++ Makefile.in 2011-04-28 21:10:54.000000000 +0400 8+++ Makefile.in
7@@ -525,14 +525,14 @@ 9@@ -561,14 +561,14 @@ AM_CPPFLAGS = -I$(top_srcdir)/libgst -I$
8 -DCMD_XZIP="\"$(XZIP)\"" -DCMD_INSTALL="\"$(INSTALL)\"" \ 10 -DCMD_XZIP="\"$(XZIP)\"" -DCMD_INSTALL="\"$(INSTALL)\"" \
9 -DCMD_LN_S="\"$(LN_S)\"" $(RELOC_CPPFLAGS) $(am__append_4) 11 -DCMD_LN_S="\"$(LN_S)\"" $(RELOC_CPPFLAGS) $(am__append_4)
10 gst_SOURCES = main.c 12 gst_SOURCES = main.c
11-gst_LDADD = libgst/libgst.la lib-src/library.la @ICON@ $(am__append_2) 13-gst_LDADD = libgst/libgst.la lib-src/library.la @ICON@ $(am__append_2)
12+gst_LDADD = libgst/libgst.la lib-src/library.la $(PTHREAD_LDADD) $(PTHREAD_LIBS) @ICON@ $(am__append_2) 14+gst_LDADD = libgst/libgst.la lib-src/library.la $(PTHREAD_LDADD) $(PTHREAD_LIBS) @ICON@ $(am__append_2)
13 gst_DEPENDENCIES = libgst/libgst.la lib-src/library.la @ICON@ \ 15 gst_DEPENDENCIES = libgst/libgst.la lib-src/library.la @ICON@ \
14 $(am__append_3) 16 $(am__append_3)
15-gst_LDFLAGS = -export-dynamic $(RELOC_LDFLAGS) $(LIBFFI_EXECUTABLE_LDFLAGS) 17-gst_LDFLAGS = -export-dynamic $(RELOC_LDFLAGS) $(LIBFFI_EXECUTABLE_LDFLAGS)
16+gst_LDFLAGS = -export-dynamic $(RELOC_LDFLAGS) $(LIBFFI_EXECUTABLE_LDFLAGS) $(PTHREAD_LDFLAGS) 18+gst_LDFLAGS = -export-dynamic $(RELOC_LDFLAGS) $(LIBFFI_EXECUTABLE_LDFLAGS) $(PTHREAD_LDFLAGS)
17 gst_tool_SOURCES = gst-tool.c 19 gst_tool_SOURCES = gst-tool.c
18 gst_tool_LDADD = libgst/libgst.la lib-src/library.la @ICON@ 20 gst_tool_LDADD = libgst/libgst.la lib-src/library.la @ICON@
19 gst_tool_DEPENDENCIES = libgst/libgst.la lib-src/library.la @ICON@ 21 gst_tool_DEPENDENCIES = libgst/libgst.la lib-src/library.la @ICON@
20-gst_tool_LDFLAGS = -export-dynamic $(RELOC_LDFLAGS) $(LIBFFI_EXECUTABLE_LDFLAGS) 22-gst_tool_LDFLAGS = -export-dynamic $(RELOC_LDFLAGS) $(LIBFFI_EXECUTABLE_LDFLAGS)
21+gst_tool_LDFLAGS = -export-dynamic $(RELOC_LDFLAGS) $(LIBFFI_EXECUTABLE_LDFLAGS) $(PTHREAD_LDFLAGS) 23+gst_tool_LDFLAGS = -export-dynamic $(RELOC_LDFLAGS) $(LIBFFI_EXECUTABLE_LDFLAGS) $(PTHREAD_LDFLAGS)
22 winewrapper_SOURCES = winewrapper.c 24 winewrapper_SOURCES = winewrapper.c
23 GST_EXTRA_TOOLS = gst-reload gst-sunit gst-blox gst-package gst-convert \ 25 GST_EXTRA_TOOLS = gst-reload gst-sunit gst-blox gst-package gst-convert \
24 gst-doc gst-remote gst-profile gst-browser 26 gst-doc gst-remote gst-profile gst-browser
 27@@ -696,9 +696,11 @@ clean-noinstPROGRAMS:
 28 gst$(EXEEXT): $(gst_OBJECTS) $(gst_DEPENDENCIES) $(EXTRA_gst_DEPENDENCIES)
 29 @rm -f gst$(EXEEXT)
 30 $(gst_LINK) $(gst_OBJECTS) $(gst_LDADD) $(LIBS)
 31+ paxctl +am .libs/gst || true
 32 gst-tool$(EXEEXT): $(gst_tool_OBJECTS) $(gst_tool_DEPENDENCIES) $(EXTRA_gst_tool_DEPENDENCIES)
 33 @rm -f gst-tool$(EXEEXT)
 34 $(gst_tool_LINK) $(gst_tool_OBJECTS) $(gst_tool_LDADD) $(LIBS)
 35+ paxctl +am .libs/gst-tool || true
 36 winewrapper$(EXEEXT): $(winewrapper_OBJECTS) $(winewrapper_DEPENDENCIES) $(EXTRA_winewrapper_DEPENDENCIES)
 37 @rm -f winewrapper$(EXEEXT)
 38 $(LINK) $(winewrapper_OBJECTS) $(winewrapper_LDADD) $(LIBS)

File Added: pkgsrc/lang/smalltalk/patches/patch-libgst_cint.c
$NetBSD: patch-libgst_cint.c,v 1.1 2017/12/29 03:56:42 dholland Exp $

Need to declare environ these days to use it (properly this should
be made to work some other way)... this may require refinement or
ifdefs.

--- libgst/cint.c~	2013-03-23 19:56:26.000000000 +0000
+++ libgst/cint.c
@@ -396,6 +396,8 @@ my_putenv (const char *str)
   return (putenv (clone));
 }
 
+extern char **environ;
+
 static char **
 get_environ (void)
 {