Update to Squeak3.10.2.7179-basic image.
Finish splitting package into VM and Image parts.
This commit is contained in:
parent
a44c1d3006
commit
c9981d9958
21 changed files with 30 additions and 805 deletions
|
@ -1,13 +1,14 @@
|
|||
# $NetBSD: Makefile,v 1.40 2010/02/10 23:33:09 bad Exp $
|
||||
# $NetBSD: Makefile,v 1.41 2010/02/11 02:18:34 asau Exp $
|
||||
#
|
||||
|
||||
DISTNAME= Squeak-3.9-8
|
||||
PKGNAME= squeak-3.9.8
|
||||
PKGREVISION= 2
|
||||
SQUEAK_VERSION= 3.11.3.2135 # see lang/squeak-vm
|
||||
|
||||
DISTNAME= Squeak3.10.2-7179-basic
|
||||
PKGNAME= squeak-3.10.2.7179
|
||||
CATEGORIES= lang
|
||||
MASTER_SITES= http://ftp.squeak.org/3.9/unix-linux/
|
||||
DISTFILES= Squeak-3.9-8.src.tar.gz
|
||||
DISTFILES+= Squeak3.9-final-7067.zip
|
||||
MASTER_SITES= http://ftp.squeak.org/3.10/
|
||||
EXTRACT_SUFX= .zip
|
||||
DISTFILES= $(DISTNAME)$(EXTRACT_SUFX) SqueakV39.sources.gz
|
||||
|
||||
MAINTAINER= pkgsrc-users@NetBSD.org
|
||||
HOMEPAGE= http://squeakvm.org/unix/
|
||||
|
@ -15,58 +16,22 @@ COMMENT= Full Smalltalk 80 with portability to UN*X, Mac, and Windows
|
|||
|
||||
PKG_DESTDIR_SUPPORT= user-destdir
|
||||
|
||||
GNU_CONFIGURE= yes
|
||||
USE_LIBTOOL= yes
|
||||
USE_TOOLS+= automake14 gmake gzip bash:run
|
||||
REPLACE_BASH+= platforms/unix/npsqueak/npsqueakrun.in
|
||||
DEPENDS= squeak-vm-[0-9]*:../../lang/squeak-vm
|
||||
|
||||
AUTOCONF_REQD= 2.57
|
||||
AUTOMAKE_REQD= 1.4.6
|
||||
DIST_SUBDIR= squeak
|
||||
USE_TOOLS+= gzip unzip
|
||||
NO_BUILD= yes
|
||||
|
||||
BUILD_DIRS= ${WRKDIR}/build
|
||||
CONFIGURE_DIRS= ${WRKDIR}/build
|
||||
CONFIGURE_SCRIPT= ${WRKSRC}/platforms/unix/config/configure
|
||||
OVERRIDE_DIRDEPTH= 3
|
||||
LIBTOOL_OVERRIDE= ${BUILD_DIRS}/libtool
|
||||
DIST_SUBDIR= squeak
|
||||
INSTALLATION_DIRS= lib/squeak/$(SQUEAK_VERSION)
|
||||
|
||||
SQUEAK_CHANGES= Squeak3.9-final-7067/Squeak3.9-final-7067.changes.gz
|
||||
SQUEAK_IMAGE= Squeak3.9-final-7067/Squeak3.9-final-7067.image.gz
|
||||
SQUEAK_SOURCES= Squeak3.9-final-7067/SqueakV39.sources
|
||||
|
||||
INSTALLATION_DIRS= bin lib/squeak
|
||||
INSTALL_ENV+= ROOT=${DESTDIR:Q}
|
||||
SQUEAK_SOURCES= SqueakV39.sources
|
||||
|
||||
post-extract:
|
||||
${GZIP_CMD} ${WRKDIR}/${SQUEAK_IMAGE:S/.gz$//W}
|
||||
${GZIP_CMD} ${WRKDIR}/${SQUEAK_CHANGES:S/.gz$//W}
|
||||
$(GZIP_CMD) -dc $(DISTDIR)/$(DIST_SUBDIR)/$(SQUEAK_SOURCES).gz > $(WRKDIR)/$(SQUEAK_SOURCES)
|
||||
|
||||
pre-configure:
|
||||
cd ${WRKSRC}/platforms/unix/config \
|
||||
&& ${SETENV} PATH=${PREFIX}/bin:${PATH} ${MAKE} configure
|
||||
${MKDIR} ${CONFIGURE_DIRS}
|
||||
do-install:
|
||||
$(INSTALL_DATA) $(WRKDIR)/$(DISTNAME:=.image) $(DESTDIR)$(PREFIX)/lib/squeak/$(SQUEAK_VERSION)/
|
||||
$(INSTALL_DATA) $(WRKDIR)/$(DISTNAME:=.changes) $(DESTDIR)$(PREFIX)/lib/squeak/$(SQUEAK_VERSION)/
|
||||
$(INSTALL_DATA) $(WRKDIR)/$(SQUEAK_SOURCES) $(DESTDIR)$(PREFIX)/lib/squeak/$(SQUEAK_VERSION)/$(SQUEAK_SOURCES)
|
||||
|
||||
post-install:
|
||||
${INSTALL_DATA} ${WRKDIR}/${SQUEAK_CHANGES} ${DESTDIR}${PREFIX}/lib/squeak/
|
||||
${INSTALL_DATA} ${WRKDIR}/${SQUEAK_IMAGE} ${DESTDIR}${PREFIX}/lib/squeak/
|
||||
${INSTALL_DATA} ${WRKDIR}/${SQUEAK_SOURCES} ${DESTDIR}${PREFIX}/lib/squeak/
|
||||
cd ${DESTDIR}${PREFIX}/lib/squeak \
|
||||
&& ${LN} -s ${SQUEAK_CHANGES:C/.*\///} squeak.changes.gz \
|
||||
&& ${LN} -s ${SQUEAK_IMAGE:C/.*\///} squeak.image.gz
|
||||
${INSTALL_SCRIPT} ${WRKDIR}/build/inisqueak ${DESTDIR}${PREFIX}/bin
|
||||
|
||||
.include "../../mk/bsd.prefs.mk"
|
||||
|
||||
.if ${MACHINE_ARCH} == i386
|
||||
CONFIGURE_ARGS+= --enable-mpg-mmx
|
||||
.endif
|
||||
|
||||
CONFIGURE_ARGS+= --x-libraries=${X11BASE}
|
||||
|
||||
.include "../../audio/nas/buildlink3.mk"
|
||||
.include "../../graphics/MesaLib/buildlink3.mk"
|
||||
.include "../../x11/libXt/buildlink3.mk"
|
||||
.include "../../x11/libXext/buildlink3.mk"
|
||||
.include "../../x11/xextproto/buildlink3.mk"
|
||||
.include "../../mk/oss.buildlink3.mk"
|
||||
.include "../../mk/bsd.pkg.mk"
|
||||
|
|
|
@ -1,40 +1,4 @@
|
|||
@comment $NetBSD: PLIST,v 1.6 2010/02/10 23:33:09 bad Exp $
|
||||
bin/inisqueak
|
||||
bin/squeak
|
||||
lib/squeak/3.9-8/AioPlugin.a
|
||||
lib/squeak/3.9-8/AioPlugin.so
|
||||
lib/squeak/3.9-8/B3DAcceleratorPlugin.a
|
||||
lib/squeak/3.9-8/B3DAcceleratorPlugin.so
|
||||
lib/squeak/3.9-8/PseudoTTYPlugin.a
|
||||
lib/squeak/3.9-8/PseudoTTYPlugin.so
|
||||
lib/squeak/3.9-8/Squeak3D.a
|
||||
lib/squeak/3.9-8/Squeak3D.so
|
||||
lib/squeak/3.9-8/UnixOSProcessPlugin.a
|
||||
lib/squeak/3.9-8/UnixOSProcessPlugin.so
|
||||
lib/squeak/3.9-8/XDisplayControlPlugin.a
|
||||
lib/squeak/3.9-8/XDisplayControlPlugin.so
|
||||
lib/squeak/3.9-8/npsqueak.so
|
||||
lib/squeak/3.9-8/squeak
|
||||
lib/squeak/3.9-8/vm-display-X11.a
|
||||
lib/squeak/3.9-8/vm-display-X11.so
|
||||
lib/squeak/3.9-8/vm-display-null.a
|
||||
lib/squeak/3.9-8/vm-display-null.so
|
||||
lib/squeak/3.9-8/vm-sound-NAS.a
|
||||
lib/squeak/3.9-8/vm-sound-NAS.so
|
||||
lib/squeak/3.9-8/vm-sound-null.a
|
||||
lib/squeak/3.9-8/vm-sound-null.so
|
||||
lib/squeak/Squeak3.9-final-7067.changes.gz
|
||||
lib/squeak/Squeak3.9-final-7067.image.gz
|
||||
lib/squeak/SqueakV39.sources
|
||||
lib/squeak/npsqueakregister
|
||||
lib/squeak/npsqueakrun
|
||||
lib/squeak/squeak.changes.gz
|
||||
lib/squeak/squeak.image.gz
|
||||
man/man1/inisqueak.1
|
||||
man/man1/squeak.1
|
||||
share/doc/squeak/COPYING
|
||||
share/doc/squeak/COPYRIGHT
|
||||
share/doc/squeak/LICENSE
|
||||
share/doc/squeak/README.Contributing
|
||||
share/doc/squeak/README.Keyboard
|
||||
share/doc/squeak/README.Sound
|
||||
@comment $NetBSD: PLIST,v 1.7 2010/02/11 02:18:34 asau Exp $
|
||||
lib/squeak/3.11.3.2135/Squeak3.10.2-7179-basic.changes
|
||||
lib/squeak/3.11.3.2135/Squeak3.10.2-7179-basic.image
|
||||
lib/squeak/3.11.3.2135/SqueakV39.sources
|
||||
|
|
|
@ -1,9 +0,0 @@
|
|||
@comment $NetBSD: PLIST.Linux,v 1.2 2010/02/10 23:33:09 bad Exp $
|
||||
lib/squeak/3.9-8/UUIDPlugin.a
|
||||
lib/squeak/3.9-8/UUIDPlugin.so
|
||||
lib/squeak/3.9-8/vm-display-fbdev.a
|
||||
lib/squeak/3.9-8/vm-display-fbdev.so
|
||||
lib/squeak/3.9-8/vm-sound-ALSA.a
|
||||
lib/squeak/3.9-8/vm-sound-ALSA.so
|
||||
lib/squeak/3.9-8/vm-sound-OSS.a
|
||||
lib/squeak/3.9-8/vm-sound-OSS.so
|
|
@ -1,3 +0,0 @@
|
|||
@comment $NetBSD: PLIST.NetBSD,v 1.2 2010/02/10 23:33:09 bad Exp $
|
||||
lib/squeak/3.9-8/vm-sound-NetBSD.a
|
||||
lib/squeak/3.9-8/vm-sound-NetBSD.so
|
|
@ -1,24 +1,8 @@
|
|||
$NetBSD: distinfo,v 1.13 2010/02/10 23:33:09 bad Exp $
|
||||
$NetBSD: distinfo,v 1.14 2010/02/11 02:18:34 asau Exp $
|
||||
|
||||
SHA1 (squeak/Squeak-3.9-8.src.tar.gz) = 9d8b88de09b07a6603cea7447cd3cdfe6c23d463
|
||||
RMD160 (squeak/Squeak-3.9-8.src.tar.gz) = d97bc098a3a948edc59c522e8a8baeda97fd9de9
|
||||
Size (squeak/Squeak-3.9-8.src.tar.gz) = 4158596 bytes
|
||||
SHA1 (squeak/Squeak3.9-final-7067.zip) = 5f6d3c2419f1979bb88f046621a2c7cbf270684c
|
||||
RMD160 (squeak/Squeak3.9-final-7067.zip) = c2d78cbe0a4b7e4e6cd13a09f80a54e73f28cf8c
|
||||
Size (squeak/Squeak3.9-final-7067.zip) = 11842207 bytes
|
||||
SHA1 (patch-aa) = fdb5b9c06e02056d1c52344c1e5577ac9d09a5e6
|
||||
SHA1 (patch-ab) = f0f2383208e48a33eac912d2c84c731a65a4e4b3
|
||||
SHA1 (patch-ac) = 38eb12424792eba344c4963132012aa90c70dd8d
|
||||
SHA1 (patch-ad) = 9acec5fd3cd8677cf3c01aa971a1b882401ed59b
|
||||
SHA1 (patch-ae) = 54e06ce67bbe71280e846dfbb81e7ebd6becd3f7
|
||||
SHA1 (patch-af) = 41561264023700df277d81f528c9dad42a11e31f
|
||||
SHA1 (patch-ag) = b0c63611d88c94d05485e0e113879d197268d739
|
||||
SHA1 (patch-ah) = b366ba8454e1bc5f182c51f6b39d7621498ee063
|
||||
SHA1 (patch-ai) = 8ca9289dea3484205b65759f2aa052d57d6af2ee
|
||||
SHA1 (patch-aj) = 18d81c878ee88bf334e3700d46d66dfa458618d0
|
||||
SHA1 (patch-ak) = fabbf4d71aaa39fb77d2b51a6e0402500d825009
|
||||
SHA1 (patch-al) = d58a1800600ff1a124c3db7aa382b085218160f3
|
||||
SHA1 (patch-am) = a302a00bceff51e43b2af3299433f710917526c3
|
||||
SHA1 (patch-an) = ab36cdee3ecf1b374ce75780d310596cefe40152
|
||||
SHA1 (patch-ao) = ff65b7596568178fd1c4e6eb3f8418f6daa8410f
|
||||
SHA1 (patch-ap) = ebc1dafbbb5018bd19e8775e7d6fb6bd4d0d6cc0
|
||||
SHA1 (squeak/Squeak3.10.2-7179-basic.zip) = 9eb3c6a617b1e6605867102081b24351dc425697
|
||||
RMD160 (squeak/Squeak3.10.2-7179-basic.zip) = ba89642f16de25b521f1ca11bf4799589a06f9ff
|
||||
Size (squeak/Squeak3.10.2-7179-basic.zip) = 7470879 bytes
|
||||
SHA1 (squeak/SqueakV39.sources.gz) = 44f1438c797457ef0981a905da7928c28b13e2f9
|
||||
RMD160 (squeak/SqueakV39.sources.gz) = 23ad84695bc3e0596a94fdff8502448579722819
|
||||
Size (squeak/SqueakV39.sources.gz) = 4170964 bytes
|
||||
|
|
|
@ -1,12 +0,0 @@
|
|||
$NetBSD: patch-aa,v 1.5 2004/04/26 07:10:16 fredb Exp $
|
||||
|
||||
--- 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
|
||||
|
|
@ -1,13 +0,0 @@
|
|||
$NetBSD: patch-ab,v 1.6 2008/01/12 23:30:38 bad Exp $
|
||||
|
||||
--- platforms/unix/config/Makefile.install.orig 2006-10-10 13:01:45.000000000 -0600
|
||||
+++ platforms/unix/config/Makefile.install
|
||||
@@ -65,7 +65,7 @@ install-doc : squeak.1
|
||||
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 $(ROOT)$(mandir)/man1/inisqueak.1.gz
|
|
@ -1,12 +0,0 @@
|
|||
$NetBSD: patch-ac,v 1.4 2004/04/26 07:10:16 fredb Exp $
|
||||
|
||||
--- 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
|
||||
|
||||
/* header files */
|
||||
|
|
@ -1,12 +0,0 @@
|
|||
$NetBSD: patch-ad,v 1.3 2008/01/12 23:30:38 bad Exp $
|
||||
|
||||
--- platforms/unix/config/configure.ac.orig 2006-10-10 13:01:45.000000000 -0600
|
||||
+++ platforms/unix/config/configure.ac
|
||||
@@ -178,6 +178,7 @@ AC_HAVE_HEADERS(features.h)
|
||||
AC_HAVE_HEADERS(alloca.h) # SunOS5
|
||||
AC_HEADER_TIME
|
||||
AC_HEADER_DIRENT
|
||||
+AC_HAVE_HEADERS(sys/audioio.h)
|
||||
|
||||
if test -f "${vmmdir}/vm/interp.h"; then
|
||||
AC_DEFINE(HAVE_INTERP_H, 1)
|
|
@ -1,13 +0,0 @@
|
|||
$NetBSD: patch-ae,v 1.2 2004/04/26 07:10:16 fredb Exp $
|
||||
|
||||
--- 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
|
|
@ -1,14 +0,0 @@
|
|||
$NetBSD: patch-af,v 1.2 2004/04/26 07:10:16 fredb Exp $
|
||||
|
||||
--- 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
|
|
@ -1,16 +0,0 @@
|
|||
$NetBSD: patch-ag,v 1.4 2008/01/14 20:39:35 bad Exp $
|
||||
|
||||
--- platforms/unix/vm/sqUnixCharConv.c.orig 2006-10-11 06:09:43.000000000 +0200
|
||||
+++ platforms/unix/vm/sqUnixCharConv.c
|
||||
@@ -158,7 +158,11 @@ void *uxTextEncoding= (void *)"iso5";
|
||||
void *uxXWinEncoding= (void *)"iso5";
|
||||
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";
|
|
@ -1,30 +0,0 @@
|
|||
$NetBSD: patch-ah,v 1.2 2008/01/12 23:30:38 bad Exp $
|
||||
|
||||
--- platforms/unix/vm/sqUnixMain.c.orig 2006-10-10 20:38:14.000000000 -0600
|
||||
+++ platforms/unix/vm/sqUnixMain.c
|
||||
@@ -63,7 +63,7 @@
|
||||
#include <signal.h>
|
||||
#include <fcntl.h>
|
||||
|
||||
-#if defined(__alpha__)
|
||||
+#if defined(__alpha__) && !defined(__NetBSD__)
|
||||
# include <sys/sysinfo.h>
|
||||
# include <sys/proc.h>
|
||||
#endif
|
||||
@@ -685,6 +685,7 @@ static struct moduleDescription moduleDe
|
||||
/* defaults */
|
||||
{ &displayModule, "display", "Quartz" },
|
||||
{ &soundModule, "sound", "MacOSX" },
|
||||
+ { &soundModule, "sound", "NetBSD" },
|
||||
{ &soundModule, "sound", "Sun" },
|
||||
{ &soundModule, "sound", "ALSA" },
|
||||
{ &soundModule, "sound", "null" },
|
||||
@@ -1306,7 +1307,7 @@ int main(int argc, char **argv, char **e
|
||||
|
||||
signal(SIGSEGV, sigsegv);
|
||||
|
||||
-#if defined(__alpha__)
|
||||
+#if defined(__alpha__) && !defined(__NetBSD__)
|
||||
/* disable printing of unaligned access exceptions */
|
||||
{
|
||||
int buf[2]= { SSIN_UACPROC, UAC_NOPRINT };
|
|
@ -1,36 +0,0 @@
|
|||
$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
|
|
@ -1,17 +0,0 @@
|
|||
$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
|
||||
+])
|
|
@ -1,383 +0,0 @@
|
|||
$NetBSD: patch-ak,v 1.2 2008/01/12 23:30:38 bad Exp $
|
||||
|
||||
--- platforms/unix/vm-sound-NetBSD/sqUnixSoundNetBSD.c.orig 2007-12-06 18:47:09.000000000 -0600
|
||||
+++ platforms/unix/vm-sound-NetBSD/sqUnixSoundNetBSD.c
|
||||
@@ -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 "sqaio.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);
|
|
@ -1,18 +0,0 @@
|
|||
$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
|
|
@ -1,40 +0,0 @@
|
|||
$NetBSD: patch-am,v 1.1 2008/01/12 23:30:38 bad Exp $
|
||||
|
||||
--- platforms/unix/src/plugins/UnixOSProcessPlugin/UnixOSProcessPlugin.c.orig 2007-12-06 19:11:42.000000000 -0600
|
||||
+++ platforms/unix/src/plugins/UnixOSProcessPlugin/UnixOSProcessPlugin.c
|
||||
@@ -1870,7 +1870,7 @@ EXPORT(sqInt) primitiveLockFileRegion(vo
|
||||
|
||||
/* Set up the flock structure parameter for fcntl() */
|
||||
|
||||
- fileNo = fileno(sqFile->file);
|
||||
+ fileNo = fileno((FILE *)sqFile->file);
|
||||
if (exclusive) {
|
||||
lockStruct.l_type = F_WRLCK;
|
||||
} else {
|
||||
@@ -2897,7 +2897,7 @@ EXPORT(sqInt) primitiveTestLockableFileR
|
||||
|
||||
/* Set up the flock structure parameter for fcntl() */
|
||||
|
||||
- fileNo = fileno(sqFile->file);
|
||||
+ fileNo = fileno((FILE *)sqFile->file);
|
||||
if (exclusive) {
|
||||
lockStruct.l_type = F_WRLCK;
|
||||
} else {
|
||||
@@ -2957,7 +2957,7 @@ EXPORT(sqInt) primitiveUnixFileNumber(vo
|
||||
return interpreterProxy->primitiveFail();
|
||||
}
|
||||
sqFile = interpreterProxy->arrayValueOf(sqFileOop);
|
||||
- fileNo = fileno(sqFile->file);
|
||||
+ fileNo = fileno((FILE *)sqFile->file);
|
||||
interpreterProxy->pop(2);
|
||||
interpreterProxy->pushInteger(fileNo);
|
||||
}
|
||||
@@ -3001,7 +3001,7 @@ EXPORT(sqInt) primitiveUnlockFileRegion(
|
||||
|
||||
/* Set up the flock structure parameter for fcntl() */
|
||||
|
||||
- fileNo = fileno(sqFile->file);
|
||||
+ fileNo = fileno((FILE *)sqFile->file);
|
||||
lockStruct.l_type = F_UNLCK;
|
||||
lockStruct.l_whence = SEEK_SET;
|
||||
lockStruct.l_start = start;
|
|
@ -1,13 +0,0 @@
|
|||
$NetBSD: patch-an,v 1.1 2008/01/12 23:30:38 bad Exp $
|
||||
|
||||
--- platforms/unix/config/inisqueak.in.orig 2006-04-05 19:40:24.000000000 +0200
|
||||
+++ platforms/unix/config/inisqueak.in
|
||||
@@ -86,7 +86,7 @@ if test "$1" != ""; then
|
||||
fi
|
||||
|
||||
SQUEAK=${bindir}/squeak
|
||||
-SOURCES=SqueakV${MAJOR}.sources
|
||||
+SOURCES=SqueakV39.sources
|
||||
IMAGE=squeak.image.gz
|
||||
CHANGES=squeak.changes.gz
|
||||
|
|
@ -1,22 +0,0 @@
|
|||
$NetBSD: patch-ao,v 1.1 2010/02/10 23:33:09 bad Exp $
|
||||
|
||||
--- platforms/unix/config/Makefile.in.orig 2006-04-05 19:40:24.000000000 +0200
|
||||
+++ platforms/unix/config/Makefile.in 2010-02-08 01:34:56.000000000 +0100
|
||||
@@ -52,7 +52,7 @@
|
||||
# VM
|
||||
|
||||
$(squeak) : config.sh $(SQLIBS) version.o
|
||||
- $(LINK) $(squeak) $(SQLIBS) version.o $(LIBS) [plibs] vm/vm.a
|
||||
+ $(LINK) $(squeak) vm/vm.a $(SQLIBS) version.o $(LIBS) [plibs]
|
||||
@echo
|
||||
@size $(squeak)
|
||||
@echo
|
||||
@@ -123,7 +123,7 @@
|
||||
|
||||
NPSqueak : config.sh $(SQLIBS) version.o $(NPOBJS)
|
||||
gcc -bundle -flat_namespace -undefined suppress -o NPSqueak \
|
||||
- $(NPLIBS) $(SQLIBS) version.o $(LIBS) vm/vm.a
|
||||
+ $(NPLIBS) vm/vm.a $(SQLIBS) version.o $(LIBS)
|
||||
|
||||
# manual page
|
||||
|
|
@ -1,25 +0,0 @@
|
|||
$NetBSD: patch-ap,v 1.1 2010/02/10 23:33:09 bad Exp $
|
||||
|
||||
--- platforms/unix/npsqueak/MakefileMakefile.orig 2006-10-10 21:01:44.000000000 +0200
|
||||
+++ platforms/unix/npsqueak/MakefileMakefile 2010-02-11 00:13:25.000000000 +0100
|
||||
@@ -5,9 +5,9 @@
|
||||
############ Customize flags here #######################
|
||||
|
||||
INC = -I./include -I/usr/X11R6/include
|
||||
-CC = gcc
|
||||
+CC = cc
|
||||
CFLAGS = $(INC) -O2 -fPIC -Wall
|
||||
-LD = gcc
|
||||
+LD = cc
|
||||
LDFLAGS =
|
||||
|
||||
# usually overridden from top level makefile
|
||||
@@ -26,7 +26,7 @@
|
||||
|
||||
npsqueak.so : npsqueak.la
|
||||
-@rm -f $@
|
||||
- ln .libs/npsqueak $@
|
||||
+ ln .libs/npsqueak.so $@
|
||||
|
||||
npsqueak.la : npsqueak.lo npunix.lo
|
||||
../libtool --mode=link $(LD) $(LDFLAGS) npsqueak.lo npunix.lo -avoid-version -module -rpath $(plgdir) -o $@
|
Loading…
Reference in a new issue