From f3f5876239ae98af61562c09425373b9a2fdfb57 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?coadde=20=5BM=C3=A1rcio=20Alexandre=20Silva=20Delgado=5D?= Date: Wed, 16 Sep 2015 13:17:54 -0300 Subject: pcr/reicast-git: rebuild pkgbuild and add multilib pkg --- pcr/reicast-multilib-git/PKGBUILD | 53 ++++++++++++++++++++++ .../enable_multiplayer_support.patch | 37 +++++++++++++++ 2 files changed, 90 insertions(+) create mode 100644 pcr/reicast-multilib-git/PKGBUILD create mode 100644 pcr/reicast-multilib-git/enable_multiplayer_support.patch (limited to 'pcr/reicast-multilib-git') diff --git a/pcr/reicast-multilib-git/PKGBUILD b/pcr/reicast-multilib-git/PKGBUILD new file mode 100644 index 000000000..e2663fdb3 --- /dev/null +++ b/pcr/reicast-multilib-git/PKGBUILD @@ -0,0 +1,53 @@ +# Maintainer (Arch): carstene1ns - http://git.io/ctPKG +# Maintainer: André Silva +# Maintainer: Márcio Silva + +pkgname=reicast-multilib-git +pkgver=r1651.56f8ffa +pkgrel=2 +pkgdesc="A multiplatform Sega Dreamcast emulator" +arch=('x86_64') +url="http://reicast.com/" +license=('GPL2') +provides=('reicast') +conflicts=('reicast') +makedepends=('git' 'gcc-multilib') +depends=('lib32-libgl' 'lib32-alsa-plugins' 'lib32-libpulse' 'python-evdev' ) +source=(reicast::"git+https://github.com/reicast/reicast-emulator.git" + 'enable_multiplayer_support.patch') +sha256sums=('SKIP' + '12bfc58e12b3ee79b0c82159cdc70c76a4b6804f5c6986853156602bb0e6beb0') + +pkgver() { + cd reicast + printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)" +} + +prepare () { + cd reicast + + # Remove nonfree fp.h header + rm -v core/deps/libpng/fp.h + + # Add Multiplayer support + patch -Np1 -i "$srcdir"/enable_multiplayer_support.patch + + # Add experimental shadow support: http://github.com/reicast-emulator/issues/94 + sed -i 's|//DrawModVols|DrawModVols|' core/rend/gles/gldraw.cpp + + # Fix Xbox Input Axis + sed -i 's|DC_AXIS_LT, 0, 0, DC_AXIS_RT|0, 0, DC_AXIS_RT, DC_AXIS_LT|' core/linux-dist/joystick.cpp + + # Enable Pulseaudio + sed -i 's|#USE_PULSEAUDIO|USE_PULSEAUDIO|' shell/linux/Makefile +} + +build () { + mkdir -vm 0755 "$srcdir"/pkgbuild-dir + linux32 make -C reicast/shell/linux PREFIX=/usr DESTDIR="$srcdir"/pkgbuild-dir install +} + +package () { + cp -va "$srcdir"/pkgbuild-dir/* "$pkgdir" + install -Dm 644 reicast/LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE +} diff --git a/pcr/reicast-multilib-git/enable_multiplayer_support.patch b/pcr/reicast-multilib-git/enable_multiplayer_support.patch new file mode 100644 index 000000000..57794d1eb --- /dev/null +++ b/pcr/reicast-multilib-git/enable_multiplayer_support.patch @@ -0,0 +1,37 @@ +diff -Nur a/core/hw/maple/maple_cfg.cpp b/core/hw/maple/maple_cfg.cpp +--- a/core/hw/maple/maple_cfg.cpp 2015-08-27 12:17:34.718561243 -0300 ++++ b/core/hw/maple/maple_cfg.cpp 2015-08-27 15:57:10.233166402 -0300 +@@ -22,10 +22,12 @@ + */ + void UpdateInputState(u32 port); + +-extern u16 kcode[4]; +-extern u32 vks[4]; +-extern s8 joyx[4],joyy[4]; +-extern u8 rt[4],lt[4]; ++#define NUM_PORTS 4 ++ ++extern u16 kcode[NUM_PORTS]; ++extern u32 vks[NUM_PORTS]; ++extern s8 joyx[NUM_PORTS],joyy[NUM_PORTS]; ++extern u8 rt[NUM_PORTS],lt[NUM_PORTS]; + + u8 GetBtFromSgn(s8 val) + { +@@ -69,10 +71,13 @@ + void mcfg_CreateDevices() + { + #if DC_PLATFORM == DC_PLATFORM_DREAMCAST +- mcfg_Create(MDT_SegaController,0,5); ++ for (int i = 0; i < NUM_PORTS; i++) ++ { ++ mcfg_Create(MDT_SegaController,i,5); + +- mcfg_Create(MDT_SegaVMU,0,0); +- mcfg_Create(MDT_SegaVMU,0,1); ++ mcfg_Create(MDT_SegaVMU,i,0); ++ mcfg_Create(MDT_SegaVMU,i,1); ++ } + #else + mcfg_Create(MDT_NaomiJamma, 0, 5); + #endif -- cgit v1.2.3-2-g168b