summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorAdrian Perez de Castro2017-09-14 14:36:35 +0300
committerAdrian Perez de Castro2017-09-14 14:36:56 +0300
commit1b7e3d3997317da5c73555bf018ace7f69eabb83 (patch)
treecfff3f397a0116b9fca98f5bfd2a856c8eb9af68
parent7b4e51cb7b350d9fd50f92dfd0f21625a0eb41eb (diff)
downloadaur-1b7e3d3997317da5c73555bf018ace7f69eabb83.tar.gz
Bump version to 5.0
This also enables PulseAudio support, and provides a patch which fixes sound in 64-bit platforms.
-rw-r--r--.SRCINFO9
-rw-r--r--PKGBUILD22
-rw-r--r--fix-pulseaudio.patch61
3 files changed, 85 insertions, 7 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 117f4b7b7b40..f0ca81368cc1 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,6 +1,6 @@
pkgbase = fmsx
pkgdesc = Portable MSX/MSX2/MSX2+ emulator
- pkgver = 4.9
+ pkgver = 5.0
pkgrel = 1
url = http://fms.komkon.org/fMSX
arch = i686
@@ -10,8 +10,10 @@ pkgbase = fmsx
depends = libxext
depends = bash
depends = zlib
+ depends = pulseaudio
source = fmsx.sh
- source = http://fms.komkon.org/fMSX/fMSX49.zip
+ source = fix-pulseaudio.patch
+ source = http://fms.komkon.org/fMSX/fMSX50.zip
source = http://fms.komkon.org/fMSX/src/MSX.ROM
source = http://fms.komkon.org/fMSX/src/MSX2.ROM
source = http://fms.komkon.org/fMSX/src/MSX2EXT.ROM
@@ -24,7 +26,8 @@ pkgbase = fmsx
source = http://fms.komkon.org/fMSX/src/KANJI.ROM
source = http://www.msxarchive.nl/pub/msx/emulator/system_roms/Extensions/Rs232/rs232.rom.zip
sha512sums = 1c7b7485525e5798cde0fa4e82153f294ce88c358d4c0366a6266f837b2b3e5ce8540b0f5daf1d67b11e1afcf82912df8379e3a0cbe93854f0d86cb7d54d7d36
- sha512sums = ff4746e3a801457cb72c66db77bfdb3d079ac573d514864dfc9ade7a717dfd32eaf5bca65bec12b1c9ad1c79436d4a3dda44dd3ed233450b415fdac527d2d805
+ sha512sums = a641ec2fa14dd31ae7a7302083b8c46e6589914ec98f822b930c654122466890f0add145dd16f9c02d8ca7c1f7cd5d0a4bdfb9674c60f529f476500ccc50440d
+ sha512sums = 0367a31407badf41b458f51f6193b54ff189a9613db07fe980e3090e361bc00a4a840e171fb920b650217d0acbd40aa19de00980550d34a3b4c4cb5535c6bca0
sha512sums = f8a447906272f69cd545ed439623845cacee4ee98b8ed3fae264a26e35ef006b125b51a2c4e54e8371d53cffe730dac720b2a8d0eccdad0c3c7befdc31864f6c
sha512sums = dc95ef9c17a28319d815780cae359b8a88b3edd5c5d582a16a916e256eb90d79b02f3240b91d2048e9d750239051473f924b807ae2583a65695fb1e18e317a54
sha512sums = c270ee701b19a92c769c9334ff4e843492e7596ee09818b39062f3fcf96da547afe0fc83866493080113fbda20dde08589e3f7aa2ad73bae451b911c773f6850
diff --git a/PKGBUILD b/PKGBUILD
index 02af22248ce9..4e08c26861c4 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,15 +1,17 @@
# Maintainer: Adrián Pérez de Castro <adrian@perezdecastro.org>
pkgname='fmsx'
pkgdesc='Portable MSX/MSX2/MSX2+ emulator'
-pkgver='4.9'
+pkgver='5.0'
pkgrel='1'
_dlname="fMSX${pkgver//./}"
url='http://fms.komkon.org/fMSX'
license=('custom')
arch=('i686' 'x86_64')
-depends=('libxext' 'bash' 'zlib')
+depends=('libxext' 'bash' 'zlib' 'pulseaudio')
makedepends=('sed')
-source=(fmsx.sh "${url}/${_dlname}.zip"
+source=(fmsx.sh
+ fix-pulseaudio.patch
+ "${url}/${_dlname}.zip"
"${url}/src/MSX.ROM"
"${url}/src/MSX2.ROM"
"${url}/src/MSX2EXT.ROM"
@@ -22,7 +24,8 @@ source=(fmsx.sh "${url}/${_dlname}.zip"
"${url}/src/KANJI.ROM"
http://www.msxarchive.nl/pub/msx/emulator/system_roms/Extensions/Rs232/rs232.rom.zip)
sha512sums=('1c7b7485525e5798cde0fa4e82153f294ce88c358d4c0366a6266f837b2b3e5ce8540b0f5daf1d67b11e1afcf82912df8379e3a0cbe93854f0d86cb7d54d7d36'
- 'ff4746e3a801457cb72c66db77bfdb3d079ac573d514864dfc9ade7a717dfd32eaf5bca65bec12b1c9ad1c79436d4a3dda44dd3ed233450b415fdac527d2d805'
+ 'a641ec2fa14dd31ae7a7302083b8c46e6589914ec98f822b930c654122466890f0add145dd16f9c02d8ca7c1f7cd5d0a4bdfb9674c60f529f476500ccc50440d'
+ '0367a31407badf41b458f51f6193b54ff189a9613db07fe980e3090e361bc00a4a840e171fb920b650217d0acbd40aa19de00980550d34a3b4c4cb5535c6bca0'
'f8a447906272f69cd545ed439623845cacee4ee98b8ed3fae264a26e35ef006b125b51a2c4e54e8371d53cffe730dac720b2a8d0eccdad0c3c7befdc31864f6c'
'dc95ef9c17a28319d815780cae359b8a88b3edd5c5d582a16a916e256eb90d79b02f3240b91d2048e9d750239051473f924b807ae2583a65695fb1e18e317a54'
'c270ee701b19a92c769c9334ff4e843492e7596ee09818b39062f3fcf96da547afe0fc83866493080113fbda20dde08589e3f7aa2ad73bae451b911c773f6850'
@@ -38,10 +41,21 @@ sha512sums=('1c7b7485525e5798cde0fa4e82153f294ce88c358d4c0366a6266f837b2b3e5ce85
prepare () {
cd "${srcdir}"
sed -e '1,/\*\*\*\*\//p' -e d fMSX/Menu.c > COPYING
+
+ patch -p0 < "${srcdir}/fix-pulseaudio.patch"
+
+ # Include a snippet from the top-level Makefile, which is used to
+ # configure optional features later on in build().
+ echo "include ${srcdir}/config.mk" >> fMSX/Unix/Makefile
}
build () {
cd "${srcdir}"
+ cat > config.mk <<-EOF
+ DEFINES += -DPULSE_AUDIO
+ CFLAGS += $(pkg-config libpulse-simple --cflags)
+ LIBS += $(pkg-config libpulse-simple --libs)
+ EOF
make -C fMSX/Unix
}
diff --git a/fix-pulseaudio.patch b/fix-pulseaudio.patch
new file mode 100644
index 000000000000..cb7464febc7b
--- /dev/null
+++ b/fix-pulseaudio.patch
@@ -0,0 +1,61 @@
+--- EMULib/Unix/SndUnix.c.orig 2016-01-24 20:00:56.000000000 +0200
++++ EMULib/Unix/SndUnix.c 2017-09-14 14:32:07.611308693 +0300
+@@ -100,7 +100,13 @@
+ #define AUDIO_CONV(A) (128+(A))
+ #endif
+
++#if defined(PULSE_AUDIO)
++#define SOUNDFD_INVALID NULL
++static pa_simple* SoundFD = NULL;
++#else
++#define SOUNDFD_INVALID (-1)
+ static int SoundFD = -1; /* Audio device descriptor */
++#endif
+ static int SndRate = 0; /* Audio sampling rate */
+ static int SndSize = 0; /* SndData[] size */
+ static sample *SndData = 0; /* Audio buffers */
+@@ -118,7 +124,7 @@
+ int J;
+
+ /* Spin until audio has been trashed */
+- for(RPtr=WPtr=0;SndRate&&SndData&&(SoundFD>=0);)
++ for(RPtr=WPtr=0;SndRate&&SndData&&(SoundFD!=SOUNDFD_INVALID);)
+ {
+ #if defined(PULSE_AUDIO)
+ if(SoundFD)
+@@ -158,7 +164,7 @@
+ /* Shut down audio, just to be sure */
+ TrashAudio();
+ SndRate = 0;
+- SoundFD = -1;
++ SoundFD = SOUNDFD_INVALID;
+ SndSize = 0;
+ SndData = 0;
+ RPtr = 0;
+@@ -182,7 +188,7 @@
+ PASpec.channels = 1;
+ /* Try opening PulseAudio */
+ if(!(SoundFD=pa_simple_new(0,"EMULib",PA_STREAM_PLAYBACK,0,"playback",&PASpec,0,0,0)))
+- { SoundFD=-1;return(0); }
++ { SoundFD=SOUNDFD_INVALID;return(0); }
+ }
+
+ #elif defined(ESD_AUDIO)
+@@ -266,7 +272,7 @@
+ if(Thr) pthread_join(Thr,0);
+
+ /* If audio was initialized... */
+- if(SoundFD>=0)
++ if(SoundFD!=SOUNDFD_INVALID)
+ {
+ #if defined(PULSE_AUDIO)
+ if(SoundFD) pa_simple_free(SoundFD);
+@@ -284,7 +290,7 @@
+ if(SndData) free(SndData);
+
+ /* Sound trashed */
+- SoundFD = -1;
++ SoundFD = SOUNDFD_INVALID;
+ SndData = 0;
+ SndSize = 0;
+ RPtr = 0;