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