Sat Apr 30 11:46:15 2011 UTC ()
Update GNU Smalltalk to version 3.2.4

List of user-visible changes in GNU Smalltalk

NEWS FROM 3.2.3 TO 3.2.4

o   Autoload is extended to allow plugging in arbitrary loaders.

o   Array items in a CStruct didn't work, this is fixed now.

o   DLD could have problems when the same library was requested multiple
    times.

o   Errors in the bind() system call were not detected correctly; this
    has been fixed.

o   Fixes for platforms with 113-bit long doubles.

o   Fixes to Delay in the presence of delays with the exact same expiration.

o   Fixes to the HTTP package, including correct flushing of POST requests
    and doesNotUnderstand exceptions when the host did not exist.

o   GLUT bindings now build correctly under Windows.

o   Many smalltalk-mode improvements.

o   New methods: TextCollector>>#critical:,

o   nil can be passed to a C function accepting a #cObjectPtr (i.e.
    void **) argument.

o   SocketAddress>>#allByName: returns nil now, instead of an empty array,
    when getaddrinfo succeeds but returns no address for the requested
    address class.

o   SocketAddress>>#byName: returns addresses for the default address class
    when the receiver is SocketAddress (and not a subclass).

o   Support for older versions of GnuTLS.

o   Swazoo's static content serving was broken and has been fixed.

o   The GST_PACKAGE macro supports having multiple .la files in its last
    argument.  gst-package's --prepare option was broken and has been fixed.

o   The NetClients exception ProtocolError now includes the erroneous
    response.  Similarly, the package includes ProtocolNotification which
    is used, for example, for HTTP redirects.

o   Updated the Squeak/Pharo fileout parser.

o   Updated VisualGST.

-----------------------------------------------------------------------------

NEWS FROM 3.2.2 TO 3.2.3

o   Class attributes can have more than 1 keyword.

o   Documented #byteArrayOut C call argument passing mode.

o   Fixed crash when an invalid UnicodeString was created using
    #changeClassTo:

o   Fixed deadlock with #atEnd and two-way pipes.

o   Fixed bugs when adding instance variables to an existing class.

o   Fixed Socket>>#isPeerAlive falsely returning true.

o   Fixed some bugs in UTF-7 conversion.

o   FreeBSD port and 64-bit Darwin port.  The latter requires a
    pre-installed libsigsegv.

o   "gst-convert -f squeak" reads binary selectors with more than two
    characters; however they should be shortened with rewrite rules
    to use the output.

o   gst-doc can generate sensible documentation for a package if
    some of its prerequisite are not loaded, even if some of the
    package's classes subclass from the prerequisite.

o   GTK+ bindings are generated correctly for newer versions of GLib
    (tested up to 2.26).

o   If found, pre-installed libsigsegv, libffi and libltdl are used by
    default.

o   Improvements for Emacs mode.  Installation of Emacs mode detects
    Debian's /etc/emacs/site-start.d, and a --with-lispstartdir option
    is provided for distributions that are not Red Hat- or Debian-based.

o   Machine-specific optimizations for x86-64, and other microoptimizations
    resulting in small but consistent performance improvements.

o   More out of memory conditions are detected.

o   New methods: ByteArray>>#castTo:, ByteArray>>#asCData,
    String>>#asCData, UndefinedObject>>#inheritsFrom:

o   New goodie: Announcements.

o   Number class>>#readFrom: can parse numbers in scientific notation.

o   Package descriptions do not need to include a <file> item for each
    <filein> item.  However, it is still possible to include them for
    backwards compatibility, and it is possible to include a source file
    as both <filein> and <built-file> (so that gst-package --dist will
    skip it).

o   Packages can be downloaded using HTTPS if GnuTLS libraries are
    present.

o   Performance statistics printed by -V are now correct.

o   Scoped methods ("A class >> a") can be used in an "A class [ ... ]"
    block.

o   Semaphore>>#wait returns nil if the wait was interrupted externally
    (e.g. from Process>>#resume).

o   String>>#asCData: and String>>#asCData NULL-terminate their output.

o   Support for timeouts when waiting on a Semaphore.

o   Swazoo supports SCGI.  Its configuration however is still manual,
    since the Seaside and Iliad adaptors do not know about it.

o   Updated VisualGST.


(asau)
diff -r1.57 -r1.58 pkgsrc/lang/smalltalk/Makefile
diff -r1.21 -r1.22 pkgsrc/lang/smalltalk/PLIST
diff -r1.22 -r1.23 pkgsrc/lang/smalltalk/distinfo
diff -r1.10 -r0 pkgsrc/lang/smalltalk/patches/patch-aa
diff -r1.4 -r0 pkgsrc/lang/smalltalk/patches/patch-ac
diff -r1.4 -r1.5 pkgsrc/lang/smalltalk/patches/patch-ae
diff -r1.2 -r0 pkgsrc/lang/smalltalk/patches/patch-af
diff -r1.3 -r1.4 pkgsrc/lang/smalltalk/patches/patch-ah

cvs diff -r1.57 -r1.58 pkgsrc/lang/smalltalk/Makefile (expand / switch to context diff)
--- pkgsrc/lang/smalltalk/Makefile 2011/04/22 13:44:00 1.57
+++ pkgsrc/lang/smalltalk/Makefile 2011/04/30 11:46:15 1.58
@@ -1,7 +1,6 @@
-# $NetBSD: Makefile,v 1.57 2011/04/22 13:44:00 obache Exp $
+# $NetBSD: Makefile,v 1.58 2011/04/30 11:46:15 asau Exp $
 
-DISTNAME=	smalltalk-3.2.2
-PKGREVISION=	4
+DISTNAME=	smalltalk-3.2.4
 CATEGORIES=	lang
 MASTER_SITES=	${MASTER_SITE_GNU:=smalltalk/}
 
@@ -9,7 +8,7 @@
 HOMEPAGE=	http://www.smalltalk.org/versions/GNUSmalltalk.html
 COMMENT=	GNU Smalltalk: A smalltalk-80 implementation
 
-ONLY_FOR_PLATFORM=	*-*-i386 *-*-sparc *-*-powerpc
+ONLY_FOR_PLATFORM=	*-*-i386 *-*-x86_64 *-*-sparc *-*-powerpc
 
 PKG_DESTDIR_SUPPORT=	user-destdir
 

cvs diff -r1.21 -r1.22 pkgsrc/lang/smalltalk/PLIST (expand / switch to context diff)
--- pkgsrc/lang/smalltalk/PLIST 2010/07/31 22:06:24 1.21
+++ pkgsrc/lang/smalltalk/PLIST 2011/04/30 11:46:15 1.22
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST,v 1.21 2010/07/31 22:06:24 asau Exp $
+@comment $NetBSD: PLIST,v 1.22 2011/04/30 11:46:15 asau Exp $
 bin/gst
 bin/gst-blox
 bin/gst-browser
@@ -27,7 +27,9 @@
 lib/smalltalk/gstopengl.la
 lib/smalltalk/i18n.la
 lib/smalltalk/iconv.la
+lib/smalltalk/libc.la
 lib/smalltalk/zlib.la
+libexec/smalltalk/gnutls-wrapper
 libexec/smalltalk/vfs/deb
 libexec/smalltalk/vfs/lslR
 libexec/smalltalk/vfs/mailfs
@@ -50,6 +52,7 @@
 man/man1/gst.1
 share/aclocal/gst-package.m4
 share/aclocal/gst.m4
+share/smalltalk/Announcements.star
 share/smalltalk/BLOXBrowser.star
 share/smalltalk/Blox.star
 share/smalltalk/BloxGTK.star

cvs diff -r1.22 -r1.23 pkgsrc/lang/smalltalk/distinfo (expand / switch to context diff)
--- pkgsrc/lang/smalltalk/distinfo 2010/07/31 22:06:24 1.22
+++ pkgsrc/lang/smalltalk/distinfo 2011/04/30 11:46:15 1.23
@@ -1,10 +1,7 @@
-$NetBSD: distinfo,v 1.22 2010/07/31 22:06:24 asau Exp $
+$NetBSD: distinfo,v 1.23 2011/04/30 11:46:15 asau Exp $
 
-SHA1 (smalltalk-3.2.2.tar.gz) = a985d69e4760420614c9dfe4d3605e47c5eb8faa
+SHA1 (smalltalk-3.2.4.tar.gz) = 6b164e145c1118ad74770bb15614478d47f55523
-RMD160 (smalltalk-3.2.2.tar.gz) = ec1d0c36139d76f5ced530ca7f8228bd0ff0ddb2
+RMD160 (smalltalk-3.2.4.tar.gz) = d8ca6b888311a70748071ff4024e31adeb0a920f
-Size (smalltalk-3.2.2.tar.gz) = 5825782 bytes
+Size (smalltalk-3.2.4.tar.gz) = 5877496 bytes
-SHA1 (patch-aa) = c82dfcc53ce4177ae051041106c6c2efdb61cb4e
+SHA1 (patch-ae) = c92422f2ac5378dafc65762a69c0dc840d974363
-SHA1 (patch-ac) = 15e45687aca1910818eabb82236de8bdd0abed99
+SHA1 (patch-ah) = eaa03cf41f1c30acd1762cb6389dfe0157ce551b
-SHA1 (patch-ae) = 1f73f0e1a5a11099ba5cf636bcc154a83b617cc4
-SHA1 (patch-af) = 76744e495b5bb180b5acdbcc450d7090ed708113
-SHA1 (patch-ah) = 9ff279fd482cbc2d10a35cd87f0c78d8e7a07277

File Deleted: pkgsrc/lang/smalltalk/patches/Attic/patch-aa

File Deleted: pkgsrc/lang/smalltalk/patches/Attic/patch-ac

cvs diff -r1.4 -r1.5 pkgsrc/lang/smalltalk/patches/patch-ae (expand / switch to context diff)
--- pkgsrc/lang/smalltalk/patches/patch-ae 2010/07/31 22:06:25 1.4
+++ pkgsrc/lang/smalltalk/patches/patch-ae 2011/04/30 11:46:15 1.5
@@ -1,4 +1,4 @@
-$NetBSD: patch-ae,v 1.4 2010/07/31 22:06:25 asau Exp $
+$NetBSD: patch-ae,v 1.5 2011/04/30 11:46:15 asau Exp $
 
 --- configure.orig	2010-04-21 14:03:23.000000000 +0400
 +++ configure	2010-05-02 22:52:09.000000000 +0400
@@ -12,12 +12,3 @@
          lrint trunc strsep strpbrk symlink mkdtemp
  do :
    as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-@@ -24753,8 +24754,6 @@
- 
- ac_config_files="$ac_config_files tests/atlocal"
- 
--ac_config_files="$ac_config_files libc.la"
--
- 
- ac_config_files="$ac_config_files Makefile"
- 

File Deleted: pkgsrc/lang/smalltalk/patches/Attic/patch-af

cvs diff -r1.3 -r1.4 pkgsrc/lang/smalltalk/patches/patch-ah (expand / switch to context diff)
--- pkgsrc/lang/smalltalk/patches/patch-ah 2010/07/31 22:06:25 1.3
+++ pkgsrc/lang/smalltalk/patches/patch-ah 2011/04/30 11:46:15 1.4
@@ -1,14 +1,24 @@
-$NetBSD: patch-ah,v 1.3 2010/07/31 22:06:25 asau Exp $
+$NetBSD: patch-ah,v 1.4 2011/04/30 11:46:15 asau Exp $
 
-Avoid creating libtool archive.
+Link against pthreads.
 
---- Makefile.in.orig	2010-05-02 11:44:41.000000000 +0400
+--- Makefile.in.orig	2011-03-21 21:12:57.000000000 +0300
-+++ Makefile.in	2010-05-02 22:50:16.000000000 +0400
++++ Makefile.in	2011-04-28 21:10:54.000000000 +0400
-@@ -499,7 +499,6 @@
+@@ -525,14 +525,14 @@
- ###########################################################
+ 	-DCMD_XZIP="\"$(XZIP)\"" -DCMD_INSTALL="\"$(INSTALL)\"" \
- pkgconfigdir = $(libdir)/pkgconfig
+ 	-DCMD_LN_S="\"$(LN_S)\"" $(RELOC_CPPFLAGS) $(am__append_4)
- nodist_pkgconfig_DATA = gnu-smalltalk.pc
+ gst_SOURCES = main.c
--module_DATA = libc.la
+-gst_LDADD = libgst/libgst.la lib-src/library.la @ICON@ $(am__append_2)
- noinst_DATA = gst.im
++gst_LDADD = libgst/libgst.la lib-src/library.la $(PTHREAD_LDADD) $(PTHREAD_LIBS) @ICON@ $(am__append_2)
- bin_SCRIPTS = gst-config
+ gst_DEPENDENCIES = libgst/libgst.la lib-src/library.la @ICON@ \
- DISTCLEANFILES = termbold termnorm pkgrules.tmp config.h
+ 	$(am__append_3)
+-gst_LDFLAGS = -export-dynamic $(RELOC_LDFLAGS) $(LIBFFI_EXECUTABLE_LDFLAGS)
++gst_LDFLAGS = -export-dynamic $(RELOC_LDFLAGS) $(LIBFFI_EXECUTABLE_LDFLAGS) $(PTHREAD_LDFLAGS)
+ gst_tool_SOURCES = gst-tool.c
+ gst_tool_LDADD = libgst/libgst.la lib-src/library.la @ICON@
+ gst_tool_DEPENDENCIES = libgst/libgst.la lib-src/library.la @ICON@
+-gst_tool_LDFLAGS = -export-dynamic $(RELOC_LDFLAGS) $(LIBFFI_EXECUTABLE_LDFLAGS)
++gst_tool_LDFLAGS = -export-dynamic $(RELOC_LDFLAGS) $(LIBFFI_EXECUTABLE_LDFLAGS) $(PTHREAD_LDFLAGS)
+ winewrapper_SOURCES = winewrapper.c
+ GST_EXTRA_TOOLS = gst-reload gst-sunit gst-blox gst-package gst-convert \
+ 	gst-doc gst-remote gst-profile gst-browser