pkgsrc-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[pkgsrc/trunk]: pkgsrc/emulators/xbeeb Update Xbeeb to 0.4.1:
details: https://anonhg.NetBSD.org/pkgsrc/rev/2249562572f9
branches: trunk
changeset: 514498:2249562572f9
user: dsainty <dsainty%pkgsrc.org@localhost>
date: Tue Jun 13 13:24:35 2006 +0000
description:
Update Xbeeb to 0.4.1:
- Support TrueColor displays
- Better sound
- .inf file attributes
- Simplified NetBSD sound support with OSS compatibility
- Provided a working MASTER_SITES
- Took maintainership
diffstat:
emulators/xbeeb/MESSAGE | 12 +++-
emulators/xbeeb/Makefile | 50 ++++++++++---
emulators/xbeeb/PLIST | 7 +-
emulators/xbeeb/distinfo | 14 ++-
emulators/xbeeb/files/xbeeb.1 | 4 +-
emulators/xbeeb/patches/patch-ab | 135 ++++----------------------------------
emulators/xbeeb/patches/patch-ad | 37 ++++++---
emulators/xbeeb/patches/patch-ae | 32 +++++++++
emulators/xbeeb/patches/patch-af | 39 +++++++++++
9 files changed, 171 insertions(+), 159 deletions(-)
diffs (truncated from 454 to 300 lines):
diff -r 74f5a349d5ce -r 2249562572f9 emulators/xbeeb/MESSAGE
--- a/emulators/xbeeb/MESSAGE Tue Jun 13 12:41:03 2006 +0000
+++ b/emulators/xbeeb/MESSAGE Tue Jun 13 13:24:35 2006 +0000
@@ -1,5 +1,5 @@
===========================================================================
-$NetBSD: MESSAGE,v 1.3 2003/05/06 17:41:11 jmmv Exp $
+$NetBSD: MESSAGE,v 1.4 2006/06/13 13:24:35 dsainty Exp $
You must copy the BBC "BASIC2" ROM image to
@@ -9,6 +9,16 @@
${PREFIX}/${XBEEBROOT}/roms/OS1.2.rom
+As an alternative to extracting these ROM images from your own BBC hardware,
+archives of these ROM images may also be found at:
+
+ http://bbc.nvg.org/rom/Acorn/lang/BASIC2.rom
+ http://bbc.nvg.org/rom/Acorn/os/OS-1.2.rom
+
+The emulator expects files in the chosen directory to have matching
+<filename>.inf files containing the BBC file attributes. This is the style
+that many archives found on the Internet use.
+
You also need to ensure that your X session can access the fonts
needed. This can be done with:
diff -r 74f5a349d5ce -r 2249562572f9 emulators/xbeeb/Makefile
--- a/emulators/xbeeb/Makefile Tue Jun 13 12:41:03 2006 +0000
+++ b/emulators/xbeeb/Makefile Tue Jun 13 13:24:35 2006 +0000
@@ -1,19 +1,16 @@
-# $NetBSD: Makefile,v 1.17 2006/02/17 19:27:33 wiz Exp $
+# $NetBSD: Makefile,v 1.18 2006/06/13 13:24:35 dsainty Exp $
#
-DISTNAME= xbeeb-0.3.6
-PKGREVISION= 2
+DISTNAME= xbeeb-0.4.1
CATEGORIES= emulators x11
-MASTER_SITES= ftp://ftp.netcom.net.uk/pub/Micros/BBC/Emulators/Xbeeb/
-# for 0.4.1
-#MASTER_SITES= http://www.getafile.com/cgi-bin/merlot/get/james/xbeeb/
+MASTER_SITES= http://bbc.nvg.org/emul/Xbeeb/ \
+ http://www.getafile.com/cgi-bin/merlot/get/james/xbeeb/
EXTRACT_SUFX= .tgz
-MAINTAINER= skrll%NetBSD.org@localhost
+MAINTAINER= dsainty%NetBSD.org@localhost
HOMEPAGE= http://www.cloud9.co.uk/james/BBCMicro/Xbeeb/
COMMENT= Acorn BBC Micro emulator with an X based interface
-WRKSRC= ${WRKDIR}/xbeeb
USE_IMAKE= yes
MAN_PAGE= ${WRKDIR}/xbeeb.1
@@ -26,14 +23,39 @@
INSTALLATION_DIRS= bin man/man1
+PKG_OPTIONS_VAR= PKG_OPTIONS.xbeeb
+PKG_SUPPORTED_OPTIONS= mitshm
+PKG_SUGGESTED_OPTIONS=
+
+.include "../../mk/bsd.options.mk"
+
+# The emulator can be compiled either to use MIT-SHM, or to not.
+# Unfortunately it doesn't support both at once.
+.if empty(PKG_OPTIONS:Mmitshm)
+SUBST_CLASSES+= nomitshm
+SUBST_STAGE.nomitshm= post-patch
+SUBST_MESSAGE.nomitshm= Disabling MIT-SHM
+SUBST_FILES.nomitshm= src/Config.h
+SUBST_SED.nomitshm= -e "s|\#define *MITSHM|\#undef MITSHM|"
+.endif
+
+SUBST_CLASSES+= dsp
+SUBST_STAGE.dsp= post-patch
+SUBST_MESSAGE.dsp= Adjusting sound device path.
+SUBST_FILES.dsp= src/SoundOSS.c
+SUBST_SED.dsp= -e "s|\"/dev/dsp\"|\"${DEVOSSAUDIO}\"|"
+
+SUBST_CLASSES+= beebroot
+SUBST_STAGE.beebroot= post-patch
+SUBST_MESSAGE.beebroot= Adjusting XBEEBROOT path.
+SUBST_FILES.beebroot= src/Config.h
+SUBST_SED.beebroot= -e "s|^\(\#define[ ]*XBEEBROOT[ ]*\)[^ ].*$$|\1\"${PREFIX}/${XBEEBROOT}/\"|"
+
# xbeeb build starts in the source directory
do-configure:
- cd ${WRKSRC}/src && ${XMKMF}
+ cd ${WRKSRC}/src && ${XMKMF_CMD}
post-patch:
- (cd ${WRKSRC}/src && \
- ${MV} Config.h Config.h.dist && \
- ${SED} 's+^\(#define[ ]*XBEEBROOT[ ]*\)[^ ].*$$+\1"${PREFIX}/${XBEEBROOT}/"+' Config.h.dist > Config.h)
${SED} -e 's+@XBEEBROOT@+${XBEEBROOT}+g' \
-e 's+@PREFIX@+${PREFIX}+g' \
${FILESDIR}/xbeeb.1 > ${MAN_PAGE}
@@ -53,11 +75,13 @@
${INSTALL_DATA_DIR} ${PREFIX}/${XBEEBROOT}/roms
${INSTALL_DATA_DIR} ${PREFIX}/${XBEEBROOT}/docs
${INSTALL_DATA_DIR} ${PREFIX}/lib/X11/fonts/xbeeb
- ${INSTALL_DATA} ${WRKSRC}/roms/xdfs0.70.rom ${PREFIX}/${XBEEBROOT}/roms/xdfs0.70.rom
+ ${INSTALL_DATA} ${WRKSRC}/roms/xdfs0.90.rom ${PREFIX}/${XBEEBROOT}/roms/xdfs0.90.rom
for docfile in ${WRKSRC}/doc/*; do \
${INSTALL_DATA} $$docfile ${PREFIX}/${XBEEBROOT}/docs; \
done
${CP} ${WRKSRC}/fonts/*.pcf ${PREFIX}/lib/X11/fonts/xbeeb
mkfontdir ${PREFIX}/lib/X11/fonts/xbeeb
+.include "../../mk/oss.buildlink3.mk"
+.include "../../mk/x11.buildlink3.mk"
.include "../../mk/bsd.pkg.mk"
diff -r 74f5a349d5ce -r 2249562572f9 emulators/xbeeb/PLIST
--- a/emulators/xbeeb/PLIST Tue Jun 13 12:41:03 2006 +0000
+++ b/emulators/xbeeb/PLIST Tue Jun 13 13:24:35 2006 +0000
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST,v 1.2 2006/02/17 19:27:33 wiz Exp $
+@comment $NetBSD: PLIST,v 1.3 2006/06/13 13:24:35 dsainty Exp $
bin/xbeeb
lib/X11/fonts/xbeeb/ttext-grc-ldh.pcf
lib/X11/fonts/xbeeb/ttext-std-udh.pcf
@@ -10,8 +10,10 @@
lib/X11/fonts/xbeeb/ttext-grc-udh.pcf
lib/X11/fonts/xbeeb/ttext-std.pcf
man/man1/xbeeb.1
-${XBEEBROOT}/roms/xdfs0.70.rom
+${XBEEBROOT}/roms/xdfs0.90.rom
${XBEEBROOT}/docs/64doc
+${XBEEBROOT}/docs/Changes-v0.3
+${XBEEBROOT}/docs/Changes-v0.4
${XBEEBROOT}/docs/Configuration
${XBEEBROOT}/docs/DataXfer
${XBEEBROOT}/docs/DiskEmulation
@@ -25,7 +27,6 @@
${XBEEBROOT}/docs/SnapshotFormat
${XBEEBROOT}/docs/Thanks
${XBEEBROOT}/docs/WWWSites
-${XBEEBROOT}/docs/WorkingSoftware
@dirrm ${XBEEBROOT}/docs
@dirrm ${XBEEBROOT}/roms
@dirrm ${XBEEBROOT}
diff -r 74f5a349d5ce -r 2249562572f9 emulators/xbeeb/distinfo
--- a/emulators/xbeeb/distinfo Tue Jun 13 12:41:03 2006 +0000
+++ b/emulators/xbeeb/distinfo Tue Jun 13 13:24:35 2006 +0000
@@ -1,9 +1,11 @@
-$NetBSD: distinfo,v 1.3 2005/02/23 18:49:22 agc Exp $
+$NetBSD: distinfo,v 1.4 2006/06/13 13:24:35 dsainty Exp $
-SHA1 (xbeeb-0.3.6.tgz) = 233f9a3bacfdcb4b6e17ee8e22c712a1c05983d6
-RMD160 (xbeeb-0.3.6.tgz) = 8dfe86613f1e678ad257134c4fdf3d17a0e0a378
-Size (xbeeb-0.3.6.tgz) = 270231 bytes
+SHA1 (xbeeb-0.4.1.tgz) = 5e2fccfabd0aa5a656758b2ea0536570a790dabe
+RMD160 (xbeeb-0.4.1.tgz) = 67dba3262f7e5886a86e5656288d807fea540d9b
+Size (xbeeb-0.4.1.tgz) = 351715 bytes
SHA1 (patch-aa) = 68b91908397147aecf1e1644f597802d6380aa96
-SHA1 (patch-ab) = 96ad3aa048ed224757ca51e0abe43baeaaceacdb
+SHA1 (patch-ab) = 7bcdfb9b15e8ef2349325bf2b23a662cba914a5c
SHA1 (patch-ac) = 72622acf9671ac0f72bd9b8271fc17f25d3655f1
-SHA1 (patch-ad) = 120be917d8b0ffa83c537e7a4b9a86f354e46886
+SHA1 (patch-ad) = 733916029e94e65ee7702778ce344468ab3cf658
+SHA1 (patch-ae) = 00906d13e5dd9ec03f011053e7399fac581efc3d
+SHA1 (patch-af) = 62c888cc324742142d7a95c9db55067daba4dacd
diff -r 74f5a349d5ce -r 2249562572f9 emulators/xbeeb/files/xbeeb.1
--- a/emulators/xbeeb/files/xbeeb.1 Tue Jun 13 12:41:03 2006 +0000
+++ b/emulators/xbeeb/files/xbeeb.1 Tue Jun 13 13:24:35 2006 +0000
@@ -1,4 +1,4 @@
-.\" $NetBSD: xbeeb.1,v 1.3 2004/02/01 00:15:04 snj Exp $
+.\" $NetBSD: xbeeb.1,v 1.4 2006/06/13 13:24:35 dsainty Exp $
.\"
.Dd May 27, 2000
.Dt XBEEB 1
@@ -136,7 +136,7 @@
there for the sake of completeness and maybe used in the
future.
.Sh FILES
-.Bl -tag -width @PREFIX@/@XBEEBROOT@/roms/xdfs0.70.rom -compact
+.Bl -tag -width @PREFIX@/@XBEEBROOT@/roms/xdfs0.90.rom -compact
.It Pa @PREFIX@/@XBEEBROOT@/roms/OS1.2.rom
the Operating System rom image
.It Pa @PREFIX@/@XBEEBROOT@/roms/BASIC2.rom
diff -r 74f5a349d5ce -r 2249562572f9 emulators/xbeeb/patches/patch-ab
--- a/emulators/xbeeb/patches/patch-ab Tue Jun 13 12:41:03 2006 +0000
+++ b/emulators/xbeeb/patches/patch-ab Tue Jun 13 13:24:35 2006 +0000
@@ -1,123 +1,16 @@
-$NetBSD: patch-ab,v 1.1.1.1 2000/05/22 22:13:12 skrll Exp $
+$NetBSD: patch-ab,v 1.2 2006/06/13 13:24:36 dsainty Exp $
+
+Make sure ioctl() gets a third dummy argument, for the three argument macro
+defined in the NetBSD OSS emulation soundcard.h.
---- src/VoxWare.c Fri Oct 11 10:53:13 1996
-+++ src/VoxWare.c Sat Apr 29 18:29:53 2000
-@@ -51,6 +51,7 @@
-
- #include <sys/types.h>
- #include <sys/ioctl.h>
-+#include <sys/midiio.h>
- #include <unistd.h>
+--- src/SoundOSS.c.orig 2002-01-16 04:46:43.000000000 +1300
++++ src/SoundOSS.c 2006-06-03 18:25:08.000000000 +1200
+@@ -106,7 +106,7 @@
+ return;
+ }
- #include "Config.h"
-@@ -60,7 +61,73 @@
- #include <math.h>
- #include <stdio.h>
- #include <fcntl.h>
--#include <sys/soundcard.h>
-+#include <soundcard.h>
-+
-+/* Pseudo controllers (not midi compatible) */
-+#define CTRL_PITCH_BENDER 255
-+#define CTRL_PITCH_BENDER_RANGE 254
-+#define CTL_PAN 0x0a
-+
-+/* Linux -> NetBSD */
-+#define EV_CHN_COMMON SEQ_CHN_COMMON
-+#define EV_CHN_VOICE SEQ_CHN_VOICE
-+#define SEQ_CONTROLLER SEQOLD_CONTROLLER
-+#define SEQ_EXTENDED SEQOLD_EXTENDED
-+
-+/* Missing soundcard.h definitions */
-+#define SEQ_PGM_CHANGE(dev, chn, patch) \
-+ _CHN_COMMON(dev, MIDI_PGM_CHANGE, chn, patch, 0, 0)
-+#define SEQ_SET_PATCH SEQ_PGM_CHANGE
-+
-+#define _CHN_COMMON(dev, event, chn, p1, p2, w14) \
-+ {_SEQ_NEEDBUF(8);\
-+ _seqbuf[_seqbufptr] = EV_CHN_COMMON;\
-+ _seqbuf[_seqbufptr+1] = (dev);\
-+ _seqbuf[_seqbufptr+2] = (event);\
-+ _seqbuf[_seqbufptr+3] = (chn);\
-+ _seqbuf[_seqbufptr+4] = (p1);\
-+ _seqbuf[_seqbufptr+5] = (p2);\
-+ *(short *)&_seqbuf[_seqbufptr+6] = (w14);\
-+ _SEQ_ADVBUF(8);}
-+#define SEQ_V2_X_CONTROL(dev, voice, controller, value) {_SEQ_NEEDBUF(8);\
-+ _seqbuf[_seqbufptr] = SEQ_EXTENDED;\
-+ _seqbuf[_seqbufptr+1] = SEQ_CONTROLLER;\
-+ _seqbuf[_seqbufptr+2] = (dev);\
-+ _seqbuf[_seqbufptr+3] = (voice);\
-+ _seqbuf[_seqbufptr+4] = (controller);\
-+ _seqbuf[_seqbufptr+5] = ((value)&0xff);\
-+ _seqbuf[_seqbufptr+6] = ((value>>8)&0xff);\
-+ _seqbuf[_seqbufptr+7] = 0;\
-+ _SEQ_ADVBUF(8);}
-+#define _CHN_VOICE(dev, event, chn, note, parm) \
-+ {_SEQ_NEEDBUF(8);\
-+ _seqbuf[_seqbufptr] = EV_CHN_VOICE;\
-+ _seqbuf[_seqbufptr+1] = (dev);\
-+ _seqbuf[_seqbufptr+2] = (event);\
-+ _seqbuf[_seqbufptr+3] = (chn);\
-+ _seqbuf[_seqbufptr+4] = (note);\
-+ _seqbuf[_seqbufptr+5] = (parm);\
-+ _seqbuf[_seqbufptr+6] = (0);\
-+ _seqbuf[_seqbufptr+7] = 0;\
-+ _SEQ_ADVBUF(8);}
-+
-+#define SEQ_START_NOTE(dev, chn, note, vol) \
-+ _CHN_VOICE(dev, MIDI_NOTEON, chn, note, vol)
-+
-+#define SEQ_STOP_NOTE(dev, chn, note, vol) \
-+ _CHN_VOICE(dev, MIDI_NOTEOFF, chn, note, vol)
-+
-+#define SEQ_PITCHBEND(dev, voice, value) SEQ_V2_X_CONTROL(dev, voice, CTRL_PITCH_BENDER, value)
-+#define SEQ_BENDER_RANGE(dev, voice, value) SEQ_V2_X_CONTROL(dev, voice, CTRL_PITCH_BENDER_RANGE, value)
-+#define SEQ_CONTROL(dev, chn, controller, value) \
-+ _CHN_COMMON(dev, MIDI_CTL_CHANGE, chn, controller, 0, value)
-+#define SEQ_PANNING(dev, voice, pos) SEQ_CONTROL(dev, voice, CTL_PAN, (pos+128) / 2)
-+#define SEQ_DEFINEBUF(len) unsigned char _seqbuf[len]; int _seqbuflen = len;int _seqbufptr = 0
-+#define _SEQ_ADVBUF(len) _seqbufptr += len
-+#define _SEQ_NEEDBUF(len) if ((_seqbufptr+(len)) > _seqbuflen) seqbuf_dump()
-+#define SEQ_DUMPBUF seqbuf_dump
-+
-+void seqbuf_dump();
-
- #include "VoxWare.h"
-
-@@ -152,7 +219,7 @@
- * check to see if any synth devices are available
- */
-
-- ioctl ( SequencerFD, SNDCTL_SEQ_NRSYNTHS, &NoDevs );
-+ ioctl ( SequencerFD, SEQUENCER_NRSYNTHS, &NoDevs );
- if ( !NoDevs )
- {
- fprintf( stderr, "No synth devices available, disabling sound.\n");
-@@ -170,7 +237,7 @@
- for ( i = 0; i < NoDevs; i++ )
- {
- info.device = i;
-- ioctl ( SequencerFD, SNDCTL_SYNTH_INFO, &info );
-+ ioctl ( SequencerFD, SEQUENCER_INFO, &info );
- if ( info.synth_type == SYNTH_TYPE_FM )
- SynthDevNo = i;
- break;
Home |
Main Index |
Thread Index |
Old Index