summaryrefslogtreecommitdiff
path: root/lang
diff options
context:
space:
mode:
Diffstat (limited to 'lang')
-rw-r--r--lang/squeak/Makefile76
-rw-r--r--lang/squeak/PLIST46
-rw-r--r--lang/squeak/distinfo36
-rw-r--r--lang/squeak/patches/patch-aa38
-rw-r--r--lang/squeak/patches/patch-ab76
-rw-r--r--lang/squeak/patches/patch-ac28
-rw-r--r--lang/squeak/patches/patch-ad30
-rw-r--r--lang/squeak/patches/patch-ae32
-rw-r--r--lang/squeak/patches/patch-af72
-rw-r--r--lang/squeak/patches/patch-ag122
-rw-r--r--lang/squeak/patches/patch-ah30
-rw-r--r--lang/squeak/patches/patch-ai36
-rw-r--r--lang/squeak/patches/patch-aj17
-rw-r--r--lang/squeak/patches/patch-ak383
-rw-r--r--lang/squeak/patches/patch-al18
-rw-r--r--lang/squeak/patches/patch-ba13
16 files changed, 658 insertions, 395 deletions
diff --git a/lang/squeak/Makefile b/lang/squeak/Makefile
index 775f29dd51c..df494f05c6c 100644
--- a/lang/squeak/Makefile
+++ b/lang/squeak/Makefile
@@ -1,49 +1,59 @@
-# $NetBSD: Makefile,v 1.24 2004/01/20 12:19:17 agc Exp $
+# $NetBSD: Makefile,v 1.25 2004/04/26 07:10:16 fredb Exp $
#
-DISTNAME= Squeak-3.0
-PKGNAME= squeak-3.0
+DISTNAME= Squeak-3.6-3
+PKGNAME= squeak-3.6.3
CATEGORIES= lang
-MASTER_SITES= ftp://st.cs.uiuc.edu/Smalltalk/Squeak/3.0/platform-independent/
-MASTER_SITES+= ftp://st.cs.uiuc.edu/Smalltalk/Squeak/3.0/unix-linux/src/
-MASTER_SITES+= ftp://ftp.inria.fr/INRIA/Projects/SOR/users/piumarta/squeak/
-DISTFILES= ReadMe.txt.gz Squeak3.0-3552.zip SqueakV3.sources.gz
-DISTFILES+= ${DISTNAME}-src${EXTRACT_SUFX}
+MASTER_SITES= http://www-sor.inria.fr/~piumarta/squeak/unix/release/
+DISTFILES= Squeak-3.6-3.src.tar.gz Squeak-3.6-5429.image.tar.gz
+DISTFILES+= Squeak-3.sources.tar.gz
MAINTAINER= fredb@NetBSD.org
-HOMEPAGE= http://www.squeak.org/
+HOMEPAGE= http://www-sor.inria.fr/~piumarta/squeak/
COMMENT= Full Smalltalk 80 with portability to UN*X, Mac, and Windows
-BUILD_DEPENDS+= unzip-[0-9]*:../../archivers/unzip
-
-WRKSRC= ${WRKDIR}/Squeak-3.0/build
GNU_CONFIGURE= yes
+USE_BUILDLINK3= yes
USE_LIBTOOL= yes
USE_X11= yes
-CPPFLAGS+= -DNETBSD_OSS_HACK
-DIST_SUBDIR= squeak
-EXTRACT_ONLY= ${DISTNAME}-src${EXTRACT_SUFX}
+AUTOCONF_REQD>= 2.57
+AUTOMAKE_REQD= 1.4.6
-CONFIGURE_SCRIPT= ${WRKSRC}/../src/unix/configure
-LTCONFIG_OVERRIDE= ${WRKSRC}/../src/unix/ltconfig
+BUILD_DIRS= ${WRKDIR}/build
+CONFIGURE_DIRS= ${WRKDIR}/build
+CONFIGURE_SCRIPT= ${WRKSRC}/platforms/unix/config/configure
+DIST_SUBDIR= squeak
+INSTALLATION_DIRS= ${WRKDIR}/build
-post-extract:
-.for f in ReadMe.txt.gz SqueakV3.sources.gz
- ${GZCAT} ${DISTDIR}/${DIST_SUBDIR}/${f} > ${WRKDIR}/${f:C/.gz//}
-.endfor
- cd ${WRKDIR} && \
- ${LOCALBASE}/bin/unzip ${DISTDIR}/${DIST_SUBDIR}/Squeak3.0-3552.zip
- ${MKDIR} ${WRKSRC}
+ONLY_FOR_PLATFORM= NetBSD-*-*
-post-install:
- ${INSTALL_DATA_DIR} ${PREFIX}/share/squeak/3.0
-.for f in ReadMe.txt SqueakV3.sources
- ${INSTALL_DATA} ${WRKDIR}/${f} ${PREFIX}/share/squeak/
-.endfor
-.for f in Squeak3.0.changes Squeak3.0.image
- ${INSTALL_DATA} ${WRKDIR}/${f} \
- ${PREFIX}/share/squeak/3.0/${f}
-.endfor
+SQUEAK_CHANGES= ${DISTNAME}/usr/local/lib/squeak/Squeak3.6-5429.changes.gz
+SQUEAK_IMAGE= ${DISTNAME}/usr/local/lib/squeak/Squeak3.6-5429.image.gz
+SQUEAK_SOURCES= Squeak-3/usr/local/lib/squeak/SqueakV3.sources
+pre-configure:
+ cd ${WRKSRC}/platforms/unix/config \
+ && ${SETENV} PATH=${PREFIX}/bin:${PATH} ${MAKE} configure
+ ${MKDIR} ${CONFIGURE_DIRS}
+
+post-install:
+ ${INSTALL_DATA} ${WRKDIR}/${SQUEAK_CHANGES} ${PREFIX}/lib/squeak/
+ ${INSTALL_DATA} ${WRKDIR}/${SQUEAK_IMAGE} ${PREFIX}/lib/squeak/
+ ${INSTALL_DATA} ${WRKDIR}/${SQUEAK_SOURCES} ${PREFIX}/lib/squeak/
+ cd ${PREFIX}/lib/squeak \
+ && ${LN} -s ${SQUEAK_CHANGES:C/.*\///} squeak.changes.gz \
+ && ${LN} -s ${SQUEAK_IMAGE:C/.*\///} squeak.image.gz
+ ${INSTALL_SCRIPT} ${INSTALLATION_DIRS}/inisqueak ${PREFIX}/bin/
+
+.include "../../mk/bsd.prefs.mk"
+
+.if ${MACHINE_ARCH} == i386
+CONFIGURE_ARGS+= --enable-mpg-mmx
+.endif
+
+.include "../../mk/autoconf.mk"
+.include "../../mk/automake.mk"
+.include "../../audio/nas/buildlink3.mk"
+.include "../../mk/ossaudio.buildlink3.mk"
.include "../../mk/bsd.pkg.mk"
diff --git a/lang/squeak/PLIST b/lang/squeak/PLIST
index 819239076ae..4fb4f3646bb 100644
--- a/lang/squeak/PLIST
+++ b/lang/squeak/PLIST
@@ -1,27 +1,31 @@
-@comment $NetBSD: PLIST,v 1.1 2001/11/01 00:25:02 zuntum Exp $
-bin/squeak
+@comment $NetBSD: PLIST,v 1.2 2004/04/26 07:10:16 fredb Exp $
bin/inisqueak
-lib/squeak/3.0/squeak
-lib/squeak/3.0/inisqueak
-lib/squeak/3.0/squeak.map
-lib/squeak/3.0/Profiler.a
-lib/squeak/3.0/Profiler.la
-lib/squeak/3.0/Profiler.so
-lib/squeak/3.0/System.a
-lib/squeak/3.0/System.la
-lib/squeak/3.0/System.so
+bin/squeak
+lib/squeak/3.6-3/B3DAcceleratorPlugin
+lib/squeak/3.6-3/UnixOSProcessPlugin
+lib/squeak/3.6-3/XDisplayControlPlugin
+lib/squeak/3.6-3/npsqueak.so
+lib/squeak/3.6-3/npsqueakrun
+lib/squeak/3.6-3/squeak
+lib/squeak/3.6-3/vm-display-X11
+lib/squeak/3.6-3/vm-display-null
+lib/squeak/3.6-3/vm-sound-NAS
+lib/squeak/3.6-3/vm-sound-NetBSD
+lib/squeak/3.6-3/vm-sound-null
+lib/squeak/Squeak3.6-5429.changes.gz
+lib/squeak/Squeak3.6-5429.image.gz
+lib/squeak/SqueakV3.sources
+lib/squeak/npsqueakregister
+lib/squeak/squeak.changes.gz
+lib/squeak/squeak.image.gz
+man/man1/inisqueak.1
man/man1/squeak.1
-share/doc/squeak/BUILD.UnixSqueak
share/doc/squeak/COPYING
share/doc/squeak/COPYRIGHT
share/doc/squeak/LICENSE
-share/doc/squeak/README.CodingStandards
-share/squeak/ReadMe.txt
-share/squeak/SqueakV3.sources
-share/squeak/3.0/Squeak3.0.changes
-share/squeak/3.0/Squeak3.0.image
-@dirrm lib/squeak/3.0
-@dirrm lib/squeak
+share/doc/squeak/README.Contributing
+share/doc/squeak/README.Keyboard
+share/doc/squeak/README.Sound
@dirrm share/doc/squeak
-@dirrm share/squeak/3.0
-@dirrm share/squeak
+@dirrm lib/squeak/3.6-3
+@dirrm lib/squeak
diff --git a/lang/squeak/distinfo b/lang/squeak/distinfo
index 6f3cbb4c7b7..f8c04f004d6 100644
--- a/lang/squeak/distinfo
+++ b/lang/squeak/distinfo
@@ -1,18 +1,20 @@
-$NetBSD: distinfo,v 1.8 2002/10/02 22:00:09 dillo Exp $
+$NetBSD: distinfo,v 1.9 2004/04/26 07:10:16 fredb Exp $
-SHA1 (squeak/ReadMe.txt.gz) = e632f908e576d8ccbf8386a1b94689e261a2aec7
-Size (squeak/ReadMe.txt.gz) = 6513 bytes
-SHA1 (squeak/Squeak3.0-3552.zip) = ffa356344ef7a9b14de4b4e449a4e8d97b04580d
-Size (squeak/Squeak3.0-3552.zip) = 4868994 bytes
-SHA1 (squeak/SqueakV3.sources.gz) = 7e992d801856ef57565fca34f8af324495dcd871
-Size (squeak/SqueakV3.sources.gz) = 3476504 bytes
-SHA1 (squeak/Squeak-3.0-src.tar.gz) = 231cc39c8dceafea270da1652ced83ec769a0bb5
-Size (squeak/Squeak-3.0-src.tar.gz) = 745258 bytes
-SHA1 (patch-aa) = 5b88ea010030c20a8712e1cc71e12adc1ae267c0
-SHA1 (patch-ab) = c58b921df217fca2221893a6b017cbc7aba28bbe
-SHA1 (patch-ac) = 035cb8f3d00619de7b2c638168834ac6da2aaad8
-SHA1 (patch-ad) = b9b9b99da74429a4a42e7ff5ecc632c0dfe61648
-SHA1 (patch-ae) = c1714d9dbeeb7a86cfda350c567d29431616e281
-SHA1 (patch-af) = 8fc7494c1182ff9a55ae26aaa389e94e52c9f6c7
-SHA1 (patch-ag) = 42fc9206783c74b948915ddcee93aa5eed929323
-SHA1 (patch-ba) = eae0e8c40b14e3e04b278b1b841c4c89ddebea7b
+SHA1 (squeak/Squeak-3.6-3.src.tar.gz) = 9631fd9778bea45bedddc878a7132d46936d8148
+Size (squeak/Squeak-3.6-3.src.tar.gz) = 2552981 bytes
+SHA1 (squeak/Squeak-3.6-5429.image.tar.gz) = 60900eafcd755bd1a898758615045b806f27bd48
+Size (squeak/Squeak-3.6-5429.image.tar.gz) = 7756686 bytes
+SHA1 (squeak/Squeak-3.sources.tar.gz) = 0a265f5c631970fe39a483967dab39c26304092c
+Size (squeak/Squeak-3.sources.tar.gz) = 4184537 bytes
+SHA1 (patch-aa) = fdb5b9c06e02056d1c52344c1e5577ac9d09a5e6
+SHA1 (patch-ab) = ae371a47efb513721b19990ebd2a8ebec78bd89e
+SHA1 (patch-ac) = 38eb12424792eba344c4963132012aa90c70dd8d
+SHA1 (patch-ad) = e70f82454c74ca93f2e448ce055a72130f59dc8f
+SHA1 (patch-ae) = 54e06ce67bbe71280e846dfbb81e7ebd6becd3f7
+SHA1 (patch-af) = 41561264023700df277d81f528c9dad42a11e31f
+SHA1 (patch-ag) = e45917200167817c134eb51cf424179569bb7952
+SHA1 (patch-ah) = 112dac126b8d18d645c4c83184888412a571f5ec
+SHA1 (patch-ai) = 8ca9289dea3484205b65759f2aa052d57d6af2ee
+SHA1 (patch-aj) = 18d81c878ee88bf334e3700d46d66dfa458618d0
+SHA1 (patch-ak) = 25cb1f447a6f3c247a301a4a6d02c25028cb1b70
+SHA1 (patch-al) = d58a1800600ff1a124c3db7aa382b085218160f3
diff --git a/lang/squeak/patches/patch-aa b/lang/squeak/patches/patch-aa
index bb83e0ec50c..2fe7aab4c1d 100644
--- a/lang/squeak/patches/patch-aa
+++ b/lang/squeak/patches/patch-aa
@@ -1,30 +1,12 @@
-$NetBSD: patch-aa,v 1.4 2001/05/16 02:27:53 fredb Exp $
+$NetBSD: patch-aa,v 1.5 2004/04/26 07:10:16 fredb Exp $
---- ../src/unix/Makefile.in.orig Mon Feb 12 16:59:20 2001
-+++ ../src/unix/Makefile.in
-@@ -71,7 +71,7 @@
- datadir= @datadir@
- mandir= @mandir@
+--- platforms/unix/config/Makefile 2002-06-05 00:17:14.000000000 -0500
++++ platforms/unix/config/Makefile 2004-04-25 15:13:34.000000000 -0500
+@@ -1,6 +1,6 @@
+ configure : .force
+ ./mkacinc > acplugins.m4
+- aclocal
++ aclocal-1.4
+ autoconf
+ rm acplugins.m4
--docdir= $(prefix)/doc/squeak-$(VERSION)
-+docdir= $(prefix)/share/doc/squeak
- sqlibdir= $(libdir)/squeak
- vsqlibdir= $(sqlibdir)/$(VERSION)
- sqdatadir= $(datadir)/squeak
-@@ -92,6 +92,7 @@
- INSTALL= @INSTALL@
- INSTALL_PROG= @INSTALL_PROGRAM@
- INSTALL_DATA= @INSTALL_DATA@
-+INSTALL_SCRIPT= @INSTALL_SCRIPT@
-
- UNINSTALL= $(SHELL) $(utldir)/uninstall
-
-@@ -218,7 +219,7 @@
- $(MKINSTALLDIRS) $(DESTDIR)$(vsqlibdir)
- $(INSTALL_PROG) squeak $(DESTDIR)$(vsqlibdir)
- # test -x j3 && $(INSTALL_PROG) squeak $(DESTDIR)$(vsqlibdir)
-- $(INSTALL_PROG) inisqueak $(DESTDIR)$(vsqlibdir)
-+ $(INSTALL_SCRIPT) inisqueak $(DESTDIR)$(vsqlibdir)
- $(INSTALL_DATA) squeak.map $(DESTDIR)$(vsqlibdir)
- $(MKINSTALLDIRS) $(DESTDIR)$(bindir)
- ( path=`$(utldir)/relpath $(bindir) $(vsqlibdir)`; \
diff --git a/lang/squeak/patches/patch-ab b/lang/squeak/patches/patch-ab
index a8d99db7338..a731ec1c2aa 100644
--- a/lang/squeak/patches/patch-ab
+++ b/lang/squeak/patches/patch-ab
@@ -1,65 +1,13 @@
-$NetBSD: patch-ab,v 1.4 2001/05/16 02:27:53 fredb Exp $
+$NetBSD: patch-ab,v 1.5 2004/04/26 07:10:16 fredb Exp $
---- ../src/unix/sqUnixSound.c.orig Thu Feb 8 11:27:04 2001
-+++ ../src/unix/sqUnixSound.c
-@@ -70,9 +70,16 @@
- # include <fcntl.h>
- # include <sys/time.h>
- # include <sys/ioctl.h>
-+#ifdef __NetBSD__
-+#include <soundcard.h>
-+#ifdef NETBSD_OSS_HACK
-+#include <sys/audioio.h>
-+#endif
-+#else
- # include <sys/soundcard.h>
-+#endif
-
--# if !defined(OPEN_SOUND_SYSTEM) && !defined(__FreeBSD__)
-+# if !defined(OPEN_SOUND_SYSTEM) && !defined(__FreeBSD__) && !defined(__NetBSD__)
- # warning:
- # warning: sys/soundcard.h did not define OPEN_SOUND_SYSTEM
- # warning: SOUND SUPPORT DISABLED
-@@ -274,6 +279,34 @@
-
- int snd_AvailableSpace(void)
- {
-+#ifdef NETBSD_OSS_HACK
-+/*
-+ This is to work around a bug in NetBSD-1.5.1 and earlier, in which
-+ the SNDCTL_DSP_GETOSPACE(&buf_info) ioctl was not handled properly.
-+ The correct information is always available via the native audio
-+ driver, so use that instead.
-+*/
-+ struct audio_info info;
-+ int freeBlocks;
-+
-+ if (auFd == -1) return -1;
-+
-+ if (ioctl(auFd, AUDIO_GETINFO, &info) < 0) {
-+ perror("ioctl(AUDIO_GETINFO)");
-+ return 0;
-+ }
-+
-+ /* Make certain we have one, full hardware block free. */
-+ freeBlocks = info.hiwat - (info.play.seek + info.blocksize - 1)/info.blocksize;
-+ if (freeBlocks > 0)
-+ {
-+ return info.blocksize;
-+ }
-+ else
-+ {
-+ auSemaWaiting= true;
-+ return 0;
-+#else
- audio_buf_info info;
- if (auFd == -1)
- return -1;
-@@ -294,6 +326,7 @@
- else
- {
- return info.fragsize;
-+#endif
- }
- }
-
+--- platforms/unix/config/Makefile.install 2004-04-01 20:17:33.000000000 -0600
++++ platforms/unix/config/Makefile.install 2004-04-25 21:38:16.000000000 -0500
+@@ -63,7 +63,7 @@
+ echo $(INSTALL_DATA) $(topdir)/platforms/unix/doc/$$f $(ROOT)$(docdir); \
+ $(INSTALL_DATA) $(topdir)/platforms/unix/doc/$$f $(ROOT)$(docdir); \
+ done
+- gzip -f9 $(ROOT)$(docdir)/*
++ #gzip -f9 $(ROOT)$(docdir)/*
+ $(MKINSTALLDIRS) $(ROOT)$(mandir)/man1
+ $(INSTALL_DATA) squeak.1 $(ROOT)$(mandir)/man1
+ rm -f $(ROOT)$(mandir)/man1/inisqueak.1
diff --git a/lang/squeak/patches/patch-ac b/lang/squeak/patches/patch-ac
index 49566c55a3a..45903fc8c14 100644
--- a/lang/squeak/patches/patch-ac
+++ b/lang/squeak/patches/patch-ac
@@ -1,22 +1,12 @@
-$NetBSD: patch-ac,v 1.3 2001/05/16 02:27:53 fredb Exp $
+$NetBSD: patch-ac,v 1.4 2004/04/26 07:10:16 fredb Exp $
---- ../src/unix/sqXWindow.c.orig Fri Mar 23 16:47:37 2001
-+++ ../src/unix/sqXWindow.c
-@@ -4220,7 +4220,7 @@
- error("Segmentation fault");
- }
+--- platforms/unix/config/config.h.in 2003-09-03 10:43:23.000000000 -0500
++++ platforms/unix/config/config.h.in 2003-09-15 15:15:41.000000000 -0500
+@@ -65,6 +65,7 @@
+ #undef USE_AUDIO_OSS
+ #undef USE_AUDIO_MACOSX
+ #undef OSS_DEVICE
++#undef USE_AUDIO_NETBSD
--#ifdef __alpha__
-+#if defined(__alpha__) && !defined(__NetBSD__)
- /* headers for setsysinfo (see below) */
- # include <sys/sysinfo.h>
- # include <sys/proc.h>
-@@ -4254,7 +4254,7 @@
+ /* header files */
- /* initialisation */
-
--# if defined(__alpha__)
-+#if defined(__alpha__) && !defined(__NetBSD__)
- /* disable printing of unaligned access exceptions */
- {
- int buf[2]= { SSIN_UACPROC, UAC_NOPRINT };
diff --git a/lang/squeak/patches/patch-ad b/lang/squeak/patches/patch-ad
index 4da90d76b9f..f81aa7c64f4 100644
--- a/lang/squeak/patches/patch-ad
+++ b/lang/squeak/patches/patch-ad
@@ -1,22 +1,12 @@
-$NetBSD: patch-ad,v 1.1 2001/05/16 02:27:53 fredb Exp $
+$NetBSD: patch-ad,v 1.2 2004/04/26 07:10:16 fredb Exp $
---- ../src/unix/acinclude.m4.orig Mon Feb 12 15:59:05 2001
-+++ ../src/unix/acinclude.m4
-@@ -149,10 +149,16 @@
- AC_DEFUN(AC_HAVE_OSS,
- [AC_CACHE_CHECK([for Open Sound System], ac_cv_oss,
- AC_TRY_COMPILE([#include <sys/soundcard.h>],[OPEN_SOUND_SYSTEM;],
-- ac_cv_oss="yes", ac_cv_oss="no"))
-+ ac_cv_oss="yes",
-+ AC_TRY_COMPILE([#include <soundcard.h>],[SOUND_VERSION;],
-+ ac_cv_oss="yes", ac_cv_oss="no")))
- if $test "$ac_cv_oss" = "yes" -a -e /dev/dsp; then
- AC_DEFINE(HAVE_OSS,1)
- AC_DEFINE(OSS_DEVICE,"/dev/dsp")
-+elif $test "$ac_cv_oss" = "yes" -a -e /dev/audio; then
-+ AC_DEFINE(HAVE_OSS,1)
-+ AC_DEFINE(OSS_DEVICE,"/dev/audio")
-+ AC_CHECK_LIB([ossaudio], [_oss_ioctl])
- fi])
+--- platforms/unix/config/configure.ac 2004-04-01 06:57:04.000000000 -0600
++++ platforms/unix/config/configure.ac 2004-04-25 15:08:29.000000000 -0500
+@@ -161,6 +161,7 @@
+ AC_HAVE_HEADERS(features.h)
+ AC_HEADER_TIME
+ AC_HEADER_DIRENT
++AC_HAVE_HEADERS(sys/audioio.h)
+
+ AC_STRUCT_TIMEZONE
- AC_DEFUN(AC_C_BYTEORDER,
diff --git a/lang/squeak/patches/patch-ae b/lang/squeak/patches/patch-ae
index 23c36dacc07..ceb54b26e0b 100644
--- a/lang/squeak/patches/patch-ae
+++ b/lang/squeak/patches/patch-ae
@@ -1,21 +1,13 @@
-$NetBSD: patch-ae,v 1.1 2001/08/23 21:18:31 fredb Exp $
+$NetBSD: patch-ae,v 1.2 2004/04/26 07:10:16 fredb Exp $
-*** ../src/unix/util/relpath 21 May 2001 03:43:46 -0000 1.1.1.1
---- ../src/unix/util/relpath 21 May 2001 03:45:25 -0000
-***************
-*** 44,50 ****
- path=$2
-
- for dir in `echo $cwd | tr '/' ' '`; do
-! if expr match $path "/$dir" >/dev/null; then
- path=`echo $path | sed "s,^/$dir,,"`
- cwd=`echo $cwd | sed "s,^/$dir,,"`
- fi
---- 44,50 ----
- path=$2
-
- for dir in `echo $cwd | tr '/' ' '`; do
-! if expr X$path : X"/$dir" >/dev/null; then
- path=`echo $path | sed "s,^/$dir,,"`
- cwd=`echo $cwd | sed "s,^/$dir,,"`
- fi
+--- platforms/unix/config/make.cfg.in 2003-08-31 12:55:21.000000000 -0500
++++ platforms/unix/config/make.cfg.in 2004-04-25 21:38:41.000000000 -0500
+@@ -74,7 +74,7 @@
+ mandir= @mandir@
+ imgdir= @imgdir@
+ plgdir= @plgdir@
+-docdir= $(prefix)/doc/squeak
++docdir= $(prefix)/share/doc/squeak
+
+ SHELL= @SHELL@
+ MKINSTALLDIRS= $(SHELL) $(cfgdir)/mkinstalldirs
diff --git a/lang/squeak/patches/patch-af b/lang/squeak/patches/patch-af
index 3dec2edd7c9..7a6c1a119a7 100644
--- a/lang/squeak/patches/patch-af
+++ b/lang/squeak/patches/patch-af
@@ -1,60 +1,14 @@
-$NetBSD: patch-af,v 1.1 2001/08/23 21:18:31 fredb Exp $
+$NetBSD: patch-af,v 1.2 2004/04/26 07:10:16 fredb Exp $
-*** ../src/unix/inisqueak.in 21 May 2001 03:43:46 -0000 1.1.1.1
---- ../src/unix/inisqueak.in 21 May 2001 04:05:03 -0000
-***************
-*** 56,64 ****
- CHANGES=Squeak${VERSION}.changes
- SOURCES=SqueakV${MAJOR}.sources
-
-- # Sun's /bin/sh does not understand "test -e", but [/usr]/bin/test does
-- test="`which test`"
--
- startup="yes"
-
- if test ! -w .; then
---- 56,61 ----
-***************
-*** 81,90 ****
- {
- file="${1}"
- dir="${2}"
-! if ${test} ! -e ${1}; then
-! if ${test} -e ${2}/${1}; then
- echo "+ ${3} ${2}/${1} ."
- ${3} ${2}/${1} .
- else
- missing "${2}/${1}"
- fi
---- 78,89 ----
- {
- file="${1}"
- dir="${2}"
-! if test ! -f ${1} ; then
-! if test -f ${2}/${1} ; then
- echo "+ ${3} ${2}/${1} ."
- ${3} ${2}/${1} .
-+ echo "+ chmod u+w ${1}"
-+ chmod u+w ${1}
- else
- missing "${2}/${1}"
- fi
-***************
-*** 95,103 ****
- }
-
- install "${SOURCES}" "${SQDATADIR}" "ln -s"
-! install "${IMAGE}" "${VSQDATADIR}" "cp -p"
-! install "${CHANGES}" "${VSQDATADIR}" "cp -p"
-!
-! echo "Running ${SQUEAK}"
-
-! exec ${SQUEAK}
---- 94,100 ----
- }
-
- install "${SOURCES}" "${SQDATADIR}" "ln -s"
-! install "${IMAGE}" "${VSQDATADIR}" "cp"
-! install "${CHANGES}" "${VSQDATADIR}" "cp"
-
-! echo "Done. Now start 'squeak'!"
+--- platforms/unix/doc/squeak.1 2003-09-16 00:05:38.000000000 -0500
++++ platforms/unix/doc/squeak.1 2004-04-25 20:45:36.000000000 -0500
+@@ -370,6 +370,9 @@
+ .B \ \ \ sound=NAS
+ provides sound i/o via the Network Audio System.
+ .TP
++.B \ \ \ sound=NetBSD
++provides sound via the NetBSD device-independent audio layer.
++.TP
+ .B \ \ \ sound=Sun
+ provides sound on Sun Microsystems hardware.
+ .TP
diff --git a/lang/squeak/patches/patch-ag b/lang/squeak/patches/patch-ag
index e1ddaacb3eb..6eaba95a052 100644
--- a/lang/squeak/patches/patch-ag
+++ b/lang/squeak/patches/patch-ag
@@ -1,104 +1,24 @@
-$NetBSD: patch-ag,v 1.1 2002/10/02 22:00:10 dillo Exp $
+$NetBSD: patch-ag,v 1.2 2004/04/26 07:10:16 fredb Exp $
---- ../src/unix/configure.orig Wed Oct 2 23:48:40 2002
-+++ ../src/unix/configure
-@@ -3737,7 +4463,22 @@ int main() {
- OPEN_SOUND_SYSTEM;
- ; return 0; }
- EOF
--if { (eval echo configure:3741: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-+if { (eval echo configure:4467: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-+ rm -rf conftest*
-+ ac_cv_oss="yes"
-+else
-+ echo "configure: failed program was:" >&5
-+ cat conftest.$ac_ext >&5
-+ rm -rf conftest*
-+ cat > conftest.$ac_ext <<EOF
-+#line 4475 "configure"
-+#include "confdefs.h"
-+#include <soundcard.h>
-+int main() {
-+SOUND_VERSION;
-+; return 0; }
-+EOF
-+if { (eval echo configure:4482: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
- rm -rf conftest*
- ac_cv_oss="yes"
- else
-@@ -3748,6 +4489,8 @@ else
- fi
- rm -f conftest*
- fi
-+rm -f conftest*
-+fi
+--- platforms/unix/vm/sqUnixCharConv.c 2003-11-18 12:30:32.000000000 -0600
++++ platforms/unix/vm/sqUnixCharConv.c 2004-04-25 15:02:13.000000000 -0500
+@@ -151,14 +151,18 @@
- echo "$ac_t""$ac_cv_oss" 1>&6
- if $test "$ac_cv_oss" = "yes" -a -e /dev/dsp; then
-@@ -3759,9 +4502,65 @@ EOF
- #define OSS_DEVICE "/dev/dsp"
- EOF
+ typedef char ichar_t;
-+elif $test "$ac_cv_oss" = "yes" -a -e /dev/audio; then
-+ cat >> confdefs.h <<\EOF
-+#define HAVE_OSS 1
-+EOF
-+
-+ cat >> confdefs.h <<\EOF
-+#define OSS_DEVICE "/dev/audio"
-+EOF
-+
-+ echo $ac_n "checking for _oss_ioctl in -lossaudio""... $ac_c" 1>&6
-+echo "configure:4516: checking for _oss_ioctl in -lossaudio" >&5
-+ac_lib_var=`echo ossaudio'_'_oss_ioctl | sed 'y%./+-%__p_%'`
-+if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
-+ echo $ac_n "(cached) $ac_c" 1>&6
-+else
-+ ac_save_LIBS="$LIBS"
-+LIBS="-lossaudio $LIBS"
-+cat > conftest.$ac_ext <<EOF
-+#line 4524 "configure"
-+#include "confdefs.h"
-+/* Override any gcc2 internal prototype to avoid an error. */
-+/* We use char because int might match the return type of a gcc2
-+ builtin and then its argument prototype would still apply. */
-+char _oss_ioctl();
-+
-+int main() {
-+_oss_ioctl()
-+; return 0; }
-+EOF
-+if { (eval echo configure:4535: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-+ rm -rf conftest*
-+ eval "ac_cv_lib_$ac_lib_var=yes"
-+else
-+ echo "configure: failed program was:" >&5
-+ cat conftest.$ac_ext >&5
-+ rm -rf conftest*
-+ eval "ac_cv_lib_$ac_lib_var=no"
-+fi
-+rm -f conftest*
-+LIBS="$ac_save_LIBS"
-+
-+fi
-+if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
-+ echo "$ac_t""yes" 1>&6
-+ ac_tr_lib=HAVE_LIB`echo ossaudio | sed -e 's/[^a-zA-Z0-9_]/_/g' \
-+ -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
-+ cat >> confdefs.h <<EOF
-+#define $ac_tr_lib 1
-+EOF
-+
-+ LIBS="-lossaudio $LIBS"
-+
-+else
-+ echo "$ac_t""no" 1>&6
-+fi
-+
- fi
- echo $ac_n "checking for prefix to use for loadable modules""... $ac_c" 1>&6
--echo "configure:3765: checking for prefix to use for loadable modules" >&5
-+echo "configure:4564: checking for prefix to use for loadable modules" >&5
- if eval "test \"`echo '$''{'ac_cv_module_prefix'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
- else
+-#ifdef __sparc
++#if defined(__sparc) && !defined(__NetBSD__)
+ void *sqTextEncoding= (void *)"mac"; /* xxxFIXME -> "ISO-8859-15" */
+ void *uxPathEncoding= (void *)"iso";
+ void *uxTextEncoding= (void *)"iso";
+ void *uxXWinEncoding= (void *)"iso";
+ void *uxUTF8Encoding= (void *)"UTF-8";
+ #else
++#ifdef __NetBSD__
++void *sqTextEncoding= (void *)"ISO-8859-15";
++#else
+ void *sqTextEncoding= (void *)"MACINTOSH"; /* xxxFIXME -> "ISO-8859-15" */
++#endif
+ void *uxPathEncoding= (void *)"UTF-8";
+ void *uxTextEncoding= (void *)"ISO-8859-15";
+ void *uxXWinEncoding= (void *)"ISO-8859-1";
diff --git a/lang/squeak/patches/patch-ah b/lang/squeak/patches/patch-ah
new file mode 100644
index 00000000000..bca78da0994
--- /dev/null
+++ b/lang/squeak/patches/patch-ah
@@ -0,0 +1,30 @@
+$NetBSD: patch-ah,v 1.1 2004/04/26 07:10:16 fredb Exp $
+
+--- platforms/unix/vm/sqUnixMain.c 2003-11-23 06:23:43.000000000 -0600
++++ platforms/unix/vm/sqUnixMain.c 2004-04-25 21:29:44.000000000 -0500
+@@ -62,7 +62,7 @@
+ #include <signal.h>
+ #include <fcntl.h>
+
+-#if defined(__alpha__)
++#if defined(__alpha__) && !defined(__NetBSD__)
+ # include <sys/sysinfo.h>
+ # include <sys/proc.h>
+ #endif
+@@ -677,6 +677,7 @@
+ { &soundModule, "sound", "NAS" }, /*** NO DEFAULT ***/
+ { &displayModule, "display", "Quartz" },
+ { &soundModule, "sound", "MacOSX" },
++ { &soundModule, "sound", "NetBSD" },
+ { &soundModule, "sound", "Sun" },
+ { &soundModule, "sound", "OSS" },
+ { &soundModule, "sound", "null" },
+@@ -1275,7 +1276,7 @@
+
+ signal(SIGSEGV, sigsegv);
+
+-#if defined(__alpha__)
++#if defined(__alpha__) && !defined(__NetBSD__)
+ /* disable printing of unaligned access exceptions */
+ {
+ int buf[2]= { SSIN_UACPROC, UAC_NOPRINT };
diff --git a/lang/squeak/patches/patch-ai b/lang/squeak/patches/patch-ai
new file mode 100644
index 00000000000..9b0403dc27f
--- /dev/null
+++ b/lang/squeak/patches/patch-ai
@@ -0,0 +1,36 @@
+$NetBSD: patch-ai,v 1.1 2004/04/26 07:10:16 fredb Exp $
+
+--- platforms/unix/vm-display-X11/acinclude.m4 2004-01-29 21:58:37.000000000 -0600
++++ platforms/unix/vm-display-X11/acinclude.m4 2004-04-25 15:04:40.000000000 -0500
+@@ -27,12 +27,31 @@
+ AC_DEFINE(USE_X11, [1])
+ AC_DEFINE_UNQUOTED(VM_X11DIR, "${x_libraries}")
+ LIBS="${LIBS} -lX11"
++ case "$host" in
++ *-netbsd*)
++ LIBS="${LIBS} -L${x_libraries} -R${x_libraries}" ;;
++ esac
+ AC_CHECK_LIB(Xext, XShmAttach)
+ if test "$have_gl" = ""; then have_gl="no"; fi
+ AC_CHECK_HEADERS(GL/gl.h, [
+ have_gl=yes
+ AC_DEFINE(USE_X11_GLX, [1])
+ AC_CHECK_LIB(GL,glIsEnabled)
++ case "$host" in
++ *-netbsd*)
++ case "$host" in
++ *-netbsd1*)
++ ;;
++ *-netbsdelf1*)
++ break
++ ;;
++ *)
++ CFLAGS="${CFLAGS} -pthread"
++ LDFLAGS="${LDFLAGS} -pthread"
++ ;;
++ esac
++ ;;
++ esac
+ ])
+ ],[
+ AC_PLUGIN_DISABLE
diff --git a/lang/squeak/patches/patch-aj b/lang/squeak/patches/patch-aj
new file mode 100644
index 00000000000..1345d0a938c
--- /dev/null
+++ b/lang/squeak/patches/patch-aj
@@ -0,0 +1,17 @@
+$NetBSD: patch-aj,v 1.1 2004/04/26 07:10:16 fredb Exp $
+
+--- platforms/unix/vm-sound-NetBSD/acinclude.m4 1969-12-31 18:00:00.000000000 -0600
++++ platforms/unix/vm-sound-NetBSD/acinclude.m4 2004-04-25 15:05:47.000000000 -0500
+@@ -0,0 +1,12 @@
++# -*- sh -*-
++
++AC_MSG_CHECKING([for NetBSD audio])
++AC_TRY_COMPILE([#include <sys/types.h>
++#include <sys/audioio.h>],
++ [struct audio_info info; info.blocksize;],[
++ AC_MSG_RESULT(yes)
++ AC_DEFINE_UNQUOTED(USE_AUDIO_NETBSD,1)
++],[
++ AC_MSG_RESULT(no)
++ AC_PLUGIN_DISABLE
++])
diff --git a/lang/squeak/patches/patch-ak b/lang/squeak/patches/patch-ak
new file mode 100644
index 00000000000..a62c37fb85f
--- /dev/null
+++ b/lang/squeak/patches/patch-ak
@@ -0,0 +1,383 @@
+$NetBSD: patch-ak,v 1.1 2004/04/26 07:10:16 fredb Exp $
+
+--- platforms/unix/vm-sound-NetBSD/sqUnixSoundNetBSD.c 1969-12-31 18:00:00.000000000 -0600
++++ platforms/unix/vm-sound-NetBSD/sqUnixSoundNetBSD.c 2004-04-25 15:05:47.000000000 -0500
+@@ -0,0 +1,378 @@
++/* sqUnixSoundNetBSD.c -- sound support for NetBSD
++ *
++ * Copyright (C) 1996-2002 Ian Piumarta and other authors/contributors
++ * as listed elsewhere in this file.
++ * All rights reserved.
++ *
++ * This file is part of Unix Squeak.
++ *
++ * This file is distributed in the hope that it will be useful, but WITHOUT
++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
++ * FITNESS FOR A PARTICULAR PURPOSE.
++ *
++ * You may use and/or distribute this file ONLY as part of Squeak, under
++ * the terms of the Squeak License as described in `LICENSE' in the base of
++ * this distribution, subject to the following restrictions:
++ *
++ * 1. The origin of this software must not be misrepresented; you must not
++ * claim that you wrote the original software. If you use this software
++ * in a product, an acknowledgment to the original author(s) (and any
++ * other contributors mentioned herein) in the product documentation
++ * would be appreciated but is not required.
++ *
++ * 2. This notice must not be removed or altered in any source distribution.
++ *
++ * Using (or modifying this file for use) in any context other than Squeak
++ * changes these copyright conditions. Read the file `COPYING' in the
++ * directory `platforms/unix/doc' before proceeding with any such use.
++ *
++ * You are not allowed to distribute a modified version of this file
++ * under its original name without explicit permission to do so. If
++ * you change it, rename it.
++ *
++ * Authors: Ian.Piumarta@inria.fr, Lex Spoon <lex@cc.gatech.edu> and
++ * Frederick Bruckman <fredb@NetBSD.org>.
++ *
++ */
++
++#include "sq.h"
++#include "aio.h"
++
++#include <stdio.h>
++#include <unistd.h>
++#include <fcntl.h>
++#include <sys/ioctl.h>
++#include <sys/audioio.h>
++#include <errno.h>
++
++
++/* Globals */
++static int auFd= -1; /* open file descriptor on AUDIODEVICE */
++static int fmtStereo; /* whether to use stereo or not */
++static int auBlockCount; /* VM's block size, in frames */
++static int auBlockSize; /* hardware blocksize, in bytes */
++static int auDuplexMode; /* 0: half duplex, !0: full duplex */
++static int auLatency; /* "fudge factor", to help keep the audio
++ hardware buffer filled */
++static int auPlaySemaIndex; /* identifier of audio system semaphore */
++static const char *auDevice; /* AUDIODEVICE, or "/dev/audio" by default */
++
++
++static int sound_AvailableSpace(void);
++
++
++static void auHandle(int fd, void *data, int flags)
++{
++ if (auFd == -1)
++ return;
++
++ if (sound_AvailableSpace() >= (auBlockSize >> 1))
++ signalSemaphoreWithIndex(auPlaySemaIndex);
++
++ aioHandle(fd, auHandle, flags);
++ return;
++}
++
++
++static int sound_Stop(void)
++{
++ if (auFd == -1)
++ return false;
++
++ aioDisable(auFd);
++ close(auFd);
++ auFd= -1;
++
++ return true;
++}
++
++
++static int sound_Start(int frameCount, int samplesPerSec, int stereo, int semaIndex)
++{
++ struct audio_info info;
++
++ /* Set some globals. */
++ auBlockCount= frameCount;
++ fmtStereo= stereo;
++ auPlaySemaIndex= semaIndex;
++
++ if (auFd != -1)
++ sound_Stop();
++
++ if ((auFd= open(auDevice, O_RDWR|O_NONBLOCK)) == -1)
++ {
++ perror(auDevice);
++ return false;
++ }
++
++ AUDIO_INITINFO(&info);
++ info.play.precision= 16;
++ info.play.encoding= AUDIO_ENCODING_SLINEAR;
++ info.play.channels= stereo ? 2 : 1;
++ info.play.sample_rate= samplesPerSec;
++ /*
++ Request desired HW blocksize to be the same as the VM's blocksize.
++ The blocksize could end up being different than what we asked for.
++ */
++ info.blocksize= auBlockSize= frameCount * (stereo ? 4 : 2);
++ info.mode= AUMODE_PLAY|AUMODE_PLAY_ALL;
++
++ if (ioctl(auFd, AUDIO_SETINFO, &info) == -1)
++ {
++ perror("AUDIO_SETINFO");
++ close(auFd);
++ auFd= -1;
++ return false;
++ }
++
++ if (info.blocksize == auBlockSize && info.hiwat > 1)
++ {
++ /*
++ Hurrah! Now tune the high- and low- water marks. Because of the
++ auLatency term, sound_AvailableSpace() will return slightly more
++ than one block after the VM returns from select(). The VM will
++ utilize the headroom to "sync up" when necessary, and thereafter
++ mostly write one full block at a time.
++ */
++ info.hiwat= (info.hiwat > 2) ? 2 : info.hiwat;
++ info.lowat= info.hiwat - 1;
++ if (ioctl(auFd, AUDIO_SETINFO, &info) == -1)
++ {
++ perror("AUDIO_SETINFO");
++ close(auFd);
++ auFd= -1;
++ return false;
++ }
++ /*
++ Set the initial fudge factor to 1/8 of the blocksize.
++ */
++ if (auLatency == 0)
++ auLatency= info.blocksize >> 3;
++ }
++ else
++ {
++ /*
++ The hardware buffer is probably too small, so just use the
++ defaults for high- and low- water marks. Don't bother with the
++ latency term, either, as we can't now sensibly calculate it.
++ */
++ warn("%s: asked for blocksize of %d, got %d!",
++ auDevice, auBlockSize, info.blocksize);
++ auBlockSize= info.blocksize;
++ }
++
++ aioEnable(auFd, 0, AIO_EXT);
++ aioHandle(auFd, auHandle, AIO_W);
++ return true;
++}
++
++
++static int sound_AvailableSpace(void)
++{
++ struct audio_info info;
++ int space;
++
++ if (auFd == -1)
++ return 0;
++
++ if (ioctl(auFd, AUDIO_GETINFO, &info) == -1)
++ {
++ perror("AUDIO_GETINFO");
++ return 0;
++ }
++
++ space= info.hiwat * info.blocksize - info.play.seek + auLatency;
++ return space;
++}
++
++
++static int sound_PlaySamplesFromAtLength(int frameCount, int arrayIndex, int startIndex)
++{
++ int size, totalWritten, written;
++ char *start;
++
++ if (auFd == -1 || frameCount == 0)
++ return 0;
++
++ start= (char *)arrayIndex + 4 * startIndex;
++ size= frameCount * (fmtStereo ? 4 : 2);
++ totalWritten= 0;
++
++ while (totalWritten < size)
++ if ((written= write(auFd, start, size)) == -1)
++ {
++ if (errno == EAGAIN)
++ /*
++ Astute listeners may now hear a "tick", but only the first
++ time the audio is started, as auLatency is preserved across
++ sound_Start() calls.
++ */
++ auLatency= auLatency >> 1;
++ else
++ perror(auDevice);
++ /*
++ In any case, bail. Typically, we've gotten an EAGAIN because
++ the auLatency was initially too high. This means the audio
++ hardware buffer is already full, so there's no sense sitting
++ here in a tight loop, while if write() failed for some other
++ reason, then we *really* want to return control to the VM.
++ */
++#ifdef AUDIO_DEBUG
++ printf("Bytes written: %d; Latency: %d\n", totalWritten, auLatency);
++#endif
++ frameCount= totalWritten/(fmtStereo ? 4 : 2);
++ return frameCount;
++ }
++ else
++ {
++ start += written;
++ size -= written;
++ totalWritten += written;
++ }
++
++#ifdef AUDIO_DEBUG
++ printf("Bytes written: %d; Latency: %d\n", totalWritten, auLatency);
++#endif
++ frameCount= totalWritten/(fmtStereo ? 4 : 2);
++ return frameCount;
++}
++
++
++static int sound_InsertSamplesFromLeadTime(int frameCount, int srcBufPtr,
++ int samplesOfLeadTime)
++{
++ /*
++ We could actually implement this with an mmap()-able audio device,
++ via double-buffering, but it doesn't seem to be worth the trouble.
++ */
++ success(false);
++ return 0;
++}
++
++
++static int sound_PlaySilence(void)
++{
++ int framesWritten;
++ char *buffer;
++
++ if (auFd == -1 || auBlockCount == 0)
++ return 0;
++
++ if ((buffer= calloc(auBlockCount, (fmtStereo ? 4 : 2))) == 0)
++ {
++ perror("calloc");
++ return 0;
++ }
++
++ framesWritten= sound_PlaySamplesFromAtLength(auBlockCount, (int)buffer, 0);
++ return framesWritten;
++}
++
++
++/*
++ Keep it clean, and try to use the simplified "audio" interface to set the
++ level, even though, due to a bug, it will do nothing on most systems older
++ than NetBSD 2.0. In that case, the user may still access the real mixer
++ controls via the command line tool "mixerctl", or various grapical mixers.
++ */
++static int sound_SetRecordLevel(int level)
++{
++ struct audio_info info;
++
++ AUDIO_INITINFO (&info);
++ info.record.gain= (level > AUDIO_MAX_GAIN) ? AUDIO_MAX_GAIN : level;
++
++ if (ioctl(auFd, AUDIO_SETINFO, &info) == -1)
++ perror("AUDIO_SETINFO");
++
++ return;
++}
++
++
++static int sound_StartRecording(int desiredSamplesPerSec, int stereo, int semaIndex)
++{
++ success(false);
++ return 0;
++}
++
++
++static int sound_StopRecording(void)
++{
++ success(false);
++ return 0;
++}
++
++
++static double sound_GetRecordingSampleRate(void)
++{
++ success(false);
++ return 0;
++}
++
++
++static int sound_RecordSamplesIntoAtLength(int buf, int startSliceIndex,
++ int bufferSizeInBytes)
++{
++ success(false);
++ return 0;
++}
++
++
++/*
++ See the comment associated with sound_SetRecordLevel().
++ */
++static void sound_Volume(double *left, double *right)
++{
++ struct audio_info info;
++
++ if (ioctl(auFd, AUDIO_GETINFO, &info) == -1)
++ {
++ perror("AUDIO_GETINFO");
++ success(false);
++ return;
++ }
++
++ *left= *right= (double)info.play.gain/AUDIO_MAX_GAIN;
++
++ return;
++}
++
++
++/*
++ This may not do anything at all. See the comment associated with
++ sound_SetRecordLevel().
++ */
++static void sound_SetVolume(double left, double right)
++{
++ struct audio_info info;
++
++ AUDIO_INITINFO (&info);
++ info.play.gain= AUDIO_MAX_GAIN * left;
++
++ if (ioctl(auFd, AUDIO_SETINFO, &info) == -1)
++ perror("AUDIO_SETINFO");
++
++ return;
++}
++
++
++#include "SqSound.h"
++
++SqSoundDefine(NetBSD);
++
++
++#include "SqModule.h"
++
++static void sound_parseEnvironment(void)
++{
++ char *ev= 0;
++ if ((ev= getenv("AUDIODEVICE"))) auDevice= strdup(ev);
++ else auDevice= strdup("/dev/audio");
++}
++
++static int sound_parseArgument(int argc, char **argv) { return 0; }
++static void sound_printUsage(void) {}
++static void sound_printUsageNotes(void) {}
++static void *sound_makeInterface(void) { return &sound_NetBSD_itf; }
++
++SqModuleDefine(sound, NetBSD);
diff --git a/lang/squeak/patches/patch-al b/lang/squeak/patches/patch-al
new file mode 100644
index 00000000000..652bad17570
--- /dev/null
+++ b/lang/squeak/patches/patch-al
@@ -0,0 +1,18 @@
+$NetBSD: patch-al,v 1.1 2004/04/26 07:10:16 fredb Exp $
+
+--- platforms/unix/vm-sound-Sun/acinclude.m4 2003-02-09 10:35:06.000000000 -0600
++++ platforms/unix/vm-sound-Sun/acinclude.m4 2003-09-15 15:15:42.000000000 -0500
+@@ -3,11 +3,12 @@
+ AC_MSG_CHECKING([for SunOS/Solaris audio])
+ AC_TRY_COMPILE([#include <sys/audioio.h>],[AUDIO_SUNVTS;],[
+ AC_MSG_RESULT(yes)
+- AC_DEFINE_UNQUOTED(HAVE_SYS_AUDIOIO_H,1)
++ AC_DEFINE_UNQUOTED(USE_SUN_AUDIO,1)
+ ],[
+ AC_TRY_COMPILE([#include <sun/audioio.h>],[AUDIO_SUNVTS;],[
+ AC_MSG_RESULT(yes)
+ AC_DEFINE_UNQUOTED(HAVE_SUN_AUDIOIO_H,1)
++ AC_DEFINE_UNQUOTED(USE_SUN_AUDIO,1)
+ ],[
+ AC_MSG_RESULT(no)
+ AC_PLUGIN_DISABLE
diff --git a/lang/squeak/patches/patch-ba b/lang/squeak/patches/patch-ba
deleted file mode 100644
index ffc20699d60..00000000000
--- a/lang/squeak/patches/patch-ba
+++ /dev/null
@@ -1,13 +0,0 @@
-$NetBSD: patch-ba,v 1.2 2001/08/24 14:46:29 mjl Exp $
-
---- ../src/unix/sqGnu.h.orig Fri Aug 24 02:24:08 2001
-+++ ../src/unix/sqGnu.h Fri Aug 24 02:24:24 2001
-@@ -174,7 +174,7 @@
- # define SP_REG asm("%edi")
- # define CB_REG /* asm("%ebx") ; avoid undue register pressure */
- #endif
--#if defined(PPC) || defined(_POWER) || defined(_IBMR2)
-+#if defined(PPC) || defined(_POWER) || defined(_IBMR2) || defined(__powerpc__)
- # define IP_REG asm("26")
- # define SP_REG asm("27")
- # define CB_REG asm("28")