From 213e1bd0ea000a08419444eadfc5f97f3e007a3c Mon Sep 17 00:00:00 2001 From: fredb Date: Wed, 16 May 2001 02:27:52 +0000 Subject: Update to squeak-3.0pre2. Where to begin? The default image is more sophisticated than 2.7's, including improved speech synthesis, MIDI, graphics, even singing faces. A concise change log is not available. --- lang/squeak/Makefile | 60 ++++++++++++++++++++++----------- lang/squeak/distinfo | 25 +++++++------- lang/squeak/patches/patch-aa | 80 ++++++++++++++------------------------------ lang/squeak/patches/patch-ab | 65 +++++++++++++++++++---------------- lang/squeak/patches/patch-ac | 12 +++---- lang/squeak/patches/patch-ad | 22 ++++++++++++ lang/squeak/pkg/PLIST | 28 +++++++++++++--- 7 files changed, 168 insertions(+), 124 deletions(-) create mode 100644 lang/squeak/patches/patch-ad (limited to 'lang') diff --git a/lang/squeak/Makefile b/lang/squeak/Makefile index 82d5ba3d5e1..037aab9d58b 100644 --- a/lang/squeak/Makefile +++ b/lang/squeak/Makefile @@ -1,35 +1,55 @@ -# $NetBSD: Makefile,v 1.13 2001/05/02 04:02:05 fredb Exp $ +# $NetBSD: Makefile,v 1.14 2001/05/16 02:27:52 fredb Exp $ # -DISTNAME= Squeak2.7-src -PKGNAME= squeak-2.7 +DISTNAME= Squeak-3.0pre2 +PKGNAME= squeak-3.0pre2 CATEGORIES= lang -MASTER_SITES= ftp://ftp.inria.fr/INRIA/Projects/SOR/users/piumarta/squeak/ -DISTFILES= Squeak2.7-src.tar.gz Squeak2.7.image.gz Squeak2.7.changes.gz SqueakV2.sources.gz +MASTER_SITES= ftp://st.cs.uiuc.edu/Smalltalk/Squeak/3.0/platform-independent/ +MASTER_SITES+= ftp://ftp.inria.fr/INRIA/Projects/SOR/users/piumarta/squeak/ +DISTFILES= ReadMe.txt.gz Squeak3.0-3545.zip SqueakV3.sources.gz +DISTFILES+= ${DISTNAME}${EXTRACT_SUFX} -MAINTAINER= packages@netbsd.org +MAINTAINER= fredb@netbsd.org HOMEPAGE= http://www.squeak.org/ COMMENT= Full Smalltalk 80 with portability to UN*X, Mac, and Windows BUILD_DEPENDS+= autoconf-2.13:../../devel/autoconf +BUILD_DEPENDS+= automake-1.4:../../devel/automake +BUILD_DEPENDS+= unzip-*:../../archivers/unzip -DIST_SUBDIR= squeak -EXTRACT_ONLY= Squeak2.7-src.tar.gz +GNU_CONFIGURE= yes +USE_LIBTOOL= yes USE_X11= yes -USE_GMAKE= yes -NO_WRKSUBDIR= yes -ALL_TARGET= squeak +CPPFLAGS+= -DNETBSD_OSS_HACK +CONFIGURE_ENV+= CPPFLAGS="${CPPFLAGS}" +DIST_SUBDIR= squeak +EXTRACT_ONLY= ${DISTNAME}${EXTRACT_SUFX} +WRKSRC= ${WRKDIR}/Squeak-3.0/build + +CONFIGURE_SCRIPT= ${WRKSRC}/../src/unix/configure +LTCONFIG_OVERRIDE= ${WRKSRC}/../src/unix/ltconfig + +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-3545.zip + ${MKDIR} ${WRKSRC} pre-configure: - cd ${WRKSRC}/conf; ${LOCALBASE}/bin/autoconf - -do-install: - ${INSTALL_DATA_DIR} ${PREFIX}/share/squeak - ${INSTALL_PROGRAM} ${WRKSRC}/`${WRKSRC}/conf/config.guess`/squeak ${PREFIX}/bin - ${INSTALL_DATA} ${WRKSRC}/ReadMe.txt ${PREFIX}/share/squeak - for f in Squeak2.7.changes Squeak2.7.image SqueakV2.sources ; do \ - ${GZCAT} ${DISTDIR}/${DIST_SUBDIR}/$$f.gz > ${PREFIX}/share/squeak/$$f; \ - done + cd ${WRKSRC}/../src/unix; \ + ${LOCALBASE}/bin/aclocal && ${LOCALBASE}/bin/autoconf + +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.0final.changes Squeak3.0final.image + ${INSTALL_DATA} ${WRKDIR}/${f} \ + ${PREFIX}/share/squeak/3.0/${f:C/final//} +.endfor .include "../../mk/bsd.pkg.mk" diff --git a/lang/squeak/distinfo b/lang/squeak/distinfo index 0badf4a0ef8..d767ae4988f 100644 --- a/lang/squeak/distinfo +++ b/lang/squeak/distinfo @@ -1,13 +1,14 @@ -$NetBSD: distinfo,v 1.3 2001/05/02 04:02:05 fredb Exp $ +$NetBSD: distinfo,v 1.4 2001/05/16 02:27:52 fredb Exp $ -SHA1 (squeak/Squeak2.7-src.tar.gz) = 63357c2844396074655387e1bcbf29a8bdd20a78 -Size (squeak/Squeak2.7-src.tar.gz) = 360870 bytes -SHA1 (squeak/Squeak2.7.image.gz) = 99554deae9b381ff2bca6b438dcc508fa231d949 -Size (squeak/Squeak2.7.image.gz) = 3006358 bytes -SHA1 (squeak/Squeak2.7.changes.gz) = 75d648f64d53b56e553f508f85bfbfe99a42e025 -Size (squeak/Squeak2.7.changes.gz) = 1864117 bytes -SHA1 (squeak/SqueakV2.sources.gz) = e0cf8b7ed0aa2b5973f7a211e251eb4123da5793 -Size (squeak/SqueakV2.sources.gz) = 1361812 bytes -SHA1 (patch-aa) = fbdc26526b96dc0c9868c932445f055e568f01cd -SHA1 (patch-ab) = b81b08ebb63cf357c92ba22d9e368933101c2da7 -SHA1 (patch-ac) = e8fc5e9456b98adb11ac0e96ecc9f744491e1d05 +SHA1 (squeak/ReadMe.txt.gz) = e632f908e576d8ccbf8386a1b94689e261a2aec7 +Size (squeak/ReadMe.txt.gz) = 6513 bytes +SHA1 (squeak/Squeak3.0-3545.zip) = 1cff9279be038078aebaf52ae2c81157fe893980 +Size (squeak/Squeak3.0-3545.zip) = 4780566 bytes +SHA1 (squeak/SqueakV3.sources.gz) = 7e992d801856ef57565fca34f8af324495dcd871 +Size (squeak/SqueakV3.sources.gz) = 3476504 bytes +SHA1 (squeak/Squeak-3.0pre2.tar.gz) = b18686de1b642f77368ca5b7346f807c7e372fdc +Size (squeak/Squeak-3.0pre2.tar.gz) = 724829 bytes +SHA1 (patch-aa) = 5b88ea010030c20a8712e1cc71e12adc1ae267c0 +SHA1 (patch-ab) = c58b921df217fca2221893a6b017cbc7aba28bbe +SHA1 (patch-ac) = 035cb8f3d00619de7b2c638168834ac6da2aaad8 +SHA1 (patch-ad) = b9b9b99da74429a4a42e7ff5ecc632c0dfe61648 diff --git a/lang/squeak/patches/patch-aa b/lang/squeak/patches/patch-aa index f167bb3fbd8..bb83e0ec50c 100644 --- a/lang/squeak/patches/patch-aa +++ b/lang/squeak/patches/patch-aa @@ -1,58 +1,30 @@ -$NetBSD: patch-aa,v 1.3 2001/05/02 04:02:06 fredb Exp $ +$NetBSD: patch-aa,v 1.4 2001/05/16 02:27:53 fredb Exp $ ---- conf/configure.in.orig Mon Aug 14 18:07:46 2000 -+++ conf/configure.in Mon Aug 14 18:10:40 2000 -@@ -105,10 +105,10 @@ - AC_TRY_RUN([int main(){return !((__GNUC__ >= 2) && (__GNUC_MINOR__ > 90));}], - ac_cv_prog_egcs="yes", ac_cv_prog_egcs="no")) +--- ../src/unix/Makefile.in.orig Mon Feb 12 16:59:20 2001 ++++ ../src/unix/Makefile.in +@@ -71,7 +71,7 @@ + datadir= @datadir@ + mandir= @mandir@ -- CFLAGS="-g -O2" -- WFLAGS="-Wall" -+ CFLAGS="-O2" -+# WFLAGS="-Wall" - LD="$CC" -- LDFLAGS="-rdynamic" -+ LDFLAGS="-Wl,--export-dynamic" +-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@ - SHCC="$CC" - if test "$ac_cv_prog_egcs" = "yes"; then -@@ -121,12 +121,13 @@ - - case "$host" in - i?86*) CFLAGS="$CFLAGS -fomit-frame-pointer" ;; -- alpha*) CC="$srcdir/../util/decgcc" -- LD="cc" -- LDFLAGS="-taso -call_shared" -- SHCC="../$CC" -- SHLD="cc" -- SHLDFLAGS="-taso -shared -expect_unresolved \"*\"" ;; -+ alpha*) # CC="$srcdir/../util/decgcc" -+ # LD="cc" -+ # LDFLAGS="-taso -call_shared" -+ # SHCC="../$CC" -+ # SHLD="cc" -+ # SHLDFLAGS="-taso -shared -expect_unresolved \"*\"" -+ ;; - esac - - AC_PROG_AWK -@@ -198,7 +199,7 @@ - AC_PATH_X - test ! -f /usr/include/X11/Intrinsic.h -a "$x_includes" != NONE && \ - INCS="-I${x_includes}" -- test "$x_libraries" != NONE -a ! -z "$x_libraries" && LIBS="$LIBS -L${x_libraries}" -+ test "$x_libraries" != NONE -a ! -z "$x_libraries" && LIBS="$LIBS -L${x_libraries} -Wl,-R${x_libraries}" - AC_CHECK_LIB(Xext, XShmAttach) - if test -z "ac_cv_lib_Xext_XShmAttach"; then - AC_MSG_WARN([XShm not found: DISABLING SHARED MEMORY]) -@@ -216,6 +217,10 @@ - case "$host" in - *-linux*) AC_DEFINE(HAVE_OSS) - AC_DEFINE(OSS_DEVICE, ["/dev/dsp"]) -+ ;; -+ *-netbsd*) AC_DEFINE(HAVE_OSS) -+ AC_DEFINE(OSS_DEVICE, ["/dev/audio"]) -+ LIBS="$LIBS -lossaudio" - ;; - esac + 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 97e874595cd..a8d99db7338 100644 --- a/lang/squeak/patches/patch-ab +++ b/lang/squeak/patches/patch-ab @@ -1,29 +1,35 @@ -$NetBSD: patch-ab,v 1.3 2001/05/02 04:02:06 fredb Exp $ +$NetBSD: patch-ab,v 1.4 2001/05/16 02:27:53 fredb Exp $ ---- src/sqUnixSound.c.orig Tue Jun 22 11:07:36 1999 -+++ src/sqUnixSound.c -@@ -38,7 +38,12 @@ - #include - #include - #include +--- ../src/unix/sqUnixSound.c.orig Thu Feb 8 11:27:04 2001 ++++ ../src/unix/sqUnixSound.c +@@ -70,9 +70,16 @@ + # include + # include + # include +#ifdef __NetBSD__ +#include ++#ifdef NETBSD_OSS_HACK +#include ++#endif +#else - #include + # include +#endif - static unsigned char *auBuf= 0; - -@@ -212,6 +217,30 @@ +-# 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) { -+#if defined(__NetBSD__) && SOUND_VERSION < 0x030001 ++#ifdef NETBSD_OSS_HACK +/* -+ The OSS emulation layer in NetBSD-1.[45].x failed to update -+ audio_buf_info->fragments, so get the information using the -+ native audio driver. ++ 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; @@ -36,21 +42,24 @@ $NetBSD: patch-ab,v 1.3 2001/05/02 04:02:06 fredb Exp $ + } + + /* Make certain we have one, full hardware block free. */ -+ freeBlocks = (long)info.hiwat-- - (long)(info.play.seek--)/info.blocksize; -+ if (freeBlocks > 0) { -+ return info.blocksize; -+ } else { -+ auSemaWaiting= true; -+ return 0; ++ 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; - -@@ -226,6 +255,7 @@ - return 0; - } else { - return info.fragsize; + if (auFd == -1) + return -1; +@@ -294,6 +326,7 @@ + else + { + return info.fragsize; +#endif - } + } } diff --git a/lang/squeak/patches/patch-ac b/lang/squeak/patches/patch-ac index e5cc45cbed4..49566c55a3a 100644 --- a/lang/squeak/patches/patch-ac +++ b/lang/squeak/patches/patch-ac @@ -1,8 +1,8 @@ -$NetBSD: patch-ac,v 1.2 2000/08/14 16:51:36 mjl Exp $ +$NetBSD: patch-ac,v 1.3 2001/05/16 02:27:53 fredb Exp $ ---- src/sqXWindow.c.orig Mon Aug 14 18:14:23 2000 -+++ src/sqXWindow.c Mon Aug 14 18:15:35 2000 -@@ -2960,7 +2960,7 @@ +--- ../src/unix/sqXWindow.c.orig Fri Mar 23 16:47:37 2001 ++++ ../src/unix/sqXWindow.c +@@ -4220,7 +4220,7 @@ error("Segmentation fault"); } @@ -11,11 +11,11 @@ $NetBSD: patch-ac,v 1.2 2000/08/14 16:51:36 mjl Exp $ /* headers for setsysinfo (see below) */ # include # include -@@ -2972,7 +2972,7 @@ +@@ -4254,7 +4254,7 @@ /* initialisation */ --#ifdef __alpha__ +-# if defined(__alpha__) +#if defined(__alpha__) && !defined(__NetBSD__) /* disable printing of unaligned access exceptions */ { diff --git a/lang/squeak/patches/patch-ad b/lang/squeak/patches/patch-ad new file mode 100644 index 00000000000..4da90d76b9f --- /dev/null +++ b/lang/squeak/patches/patch-ad @@ -0,0 +1,22 @@ +$NetBSD: patch-ad,v 1.1 2001/05/16 02:27:53 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 ],[OPEN_SOUND_SYSTEM;], +- ac_cv_oss="yes", ac_cv_oss="no")) ++ ac_cv_oss="yes", ++ AC_TRY_COMPILE([#include ],[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]) + + AC_DEFUN(AC_C_BYTEORDER, diff --git a/lang/squeak/pkg/PLIST b/lang/squeak/pkg/PLIST index d5f31fd3425..84b1fd37667 100644 --- a/lang/squeak/pkg/PLIST +++ b/lang/squeak/pkg/PLIST @@ -1,7 +1,27 @@ -@comment $NetBSD: PLIST,v 1.4 2001/04/28 00:41:41 jtb Exp $ +@comment $NetBSD: PLIST,v 1.5 2001/05/16 02:27:53 fredb Exp $ bin/squeak +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 +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/Squeak2.7.changes -share/squeak/Squeak2.7.image -share/squeak/SqueakV2.sources +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 +@dirrm share/doc/squeak +@dirrm share/squeak/3.0 @dirrm share/squeak -- cgit v1.2.3