summaryrefslogtreecommitdiff
path: root/pcr/reicast-git/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'pcr/reicast-git/PKGBUILD')
-rw-r--r--pcr/reicast-git/PKGBUILD113
1 files changed, 106 insertions, 7 deletions
diff --git a/pcr/reicast-git/PKGBUILD b/pcr/reicast-git/PKGBUILD
index 6f4f6e9e2..5ed2c9fb9 100644
--- a/pcr/reicast-git/PKGBUILD
+++ b/pcr/reicast-git/PKGBUILD
@@ -6,10 +6,10 @@
# read: error-mem.txt
pkgname=reicast-git
-pkgver=r1651.56f8ffa
-pkgrel=2
+pkgver=r1665.915d6b2
+pkgrel=1
pkgdesc="A multiplatform Sega Dreamcast emulator"
-arch=('i686' 'x86_64')
+arch=('i686' 'x86_64' 'armv7h')
url="http://reicast.com/"
license=('GPL2')
provides=('reicast')
@@ -17,9 +17,31 @@ conflicts=('reicast')
makedepends=('git')
depends=('libgl' 'alsa-plugins' 'libpulse' 'python-evdev' )
source=(reicast::"git+https://github.com/reicast/reicast-emulator.git"
- 'enable_multiplayer_support.patch')
+ 'enable_multiplayer_support.patch'
+ 'fix-dyna-constprop.patch'
+ 'futuristic-memops.patch'
+ 'generalize-mappings.patch'
+ 'loop-tracing.patch'
+ 'loungekatt_rm-nonfree-fp.patch'
+ 'multiplayer.patch'
+ 'multiplayer-unstable.patch'
+ 'refactor-rend-stuff.patch'
+ 'sdl-opengl.patch'
+ 'sh-block-graphs.patch'
+ 'ta-hash-logs.patch')
sha256sums=('SKIP'
- '12bfc58e12b3ee79b0c82159cdc70c76a4b6804f5c6986853156602bb0e6beb0')
+ '12bfc58e12b3ee79b0c82159cdc70c76a4b6804f5c6986853156602bb0e6beb0'
+ 'c14287cf2b2289b9de28cedeee06fcb89ca40da50e34607780dce55d7d8e5fd6'
+ 'ce3fe9f10555c473cafbf4e85724ebe7a8535a1fa3bfae3c9bc0fe518024f71e'
+ '4c0227db07dc9fa4713694bc438345261e401e0b10c89b25a3c1d20ac9acd9b9'
+ 'af47982ca67babb18a96014643c2394b45316f474c3b07b4e38079f780606fce'
+ '4a6025daded179e88174057affadbcfd539d919c35c36945aa3273fab0b0cb49'
+ '09097f59200daaa919fee6f50473f4295a7de6702f40ad5e2648d12c9478a080'
+ '7c0e2a158d7d37ddbf99a40d11a0a889e55c1e85f9c17a2602e5a2bc809ff4ac'
+ 'aead8326ac6815b555be03030ffbdc8f6ced625c980e77eca89e570591c5eb34'
+ 'cf386ebaeafce046a1fc971a5b140bb6a1245840ad2c2a341541327ed6f5606c'
+ '94694d1b615facb39b5ee92ed90c6cefc77fab23fb97f2fcc82e0aa6e1cb14c5'
+ 'ead1e44b82c5a58beca6550a7620fc426b7729f0b7e2ebe27583397fac2a574d')
pkgver() {
cd reicast
@@ -30,16 +52,93 @@ prepare () {
cd reicast
# Remove nonfree fp.h header
- rm -v core/deps/libpng/fp.h
+ # rm -v core/deps/libpng/fp.h
# Add Multiplayer support
patch -Np1 -i "$srcdir"/enable_multiplayer_support.patch
+ # Add extra patches
+ patch -Np1 -i "$srcdir"/fix-dyna-constprop.patch
+ patch -Np1 -i "$srcdir"/futuristic-memops.patch
+ patch -Np1 -i "$srcdir"/generalize-mappings.patch
+# patch -Np1 -i "$srcdir"/loop-tracing.patch # failed build on i686
+ patch -Np1 -i "$srcdir"/loungekatt_rm-nonfree-fp.patch
+ patch -Np1 -i "$srcdir"/refactor-rend-stuff.patch
+ patch -Np1 -i "$srcdir"/sdl-opengl.patch
+ patch -Np1 -i "$srcdir"/sh-block-graphs.patch
+ patch -Np1 -i "$srcdir"/ta-hash-logs.patch
+
+ # Add Multiplayer support (unstable)
+ # core/linux-dist/main.cpp
+ # evdev_controllers[port] = { -1, NULL };
+ # evdev_device_id[port] = -1;
+ # maple_controller[port].enabled = true;
+# patch -Np1 -i "$srcdir"/multiplayer-unstable.patch
+# sed -i 's|kcode[[]port[]]|maple_controller[port].buttons|g
+# s|lt[[]port[]]|maple_controller[port].trigger_left|g
+# s|rt[[]port[]]|maple_controller[port].trigger_right|g
+# s|joyx[[]port[]]|maple_controller[port].stick_x|g
+# s|joyy[[]port[]]|maple_controller[port].stick_y|g
+# s|DC_DPAD_LEFT|DC_BTN_DPAD1_LEFT|g
+# s|DC_DPAD_RIGHT|DC_BTN_DPAD1_RIGHT|g
+# s|DC_DPAD_UP|DC_BTN_DPAD1_UP|g
+# s|DC_DPAD_DOWN|DC_BTN_DPAD1_DOWN|g
+# s|DC_DPAD2_LEFT|DC_BTN_DPAD2_LEFT|g
+# s|DC_DPAD2_RIGHT|DC_BTN_DPAD2_RIGHT|g
+# s|DC_DPAD2_UP|DC_BTN_DPAD2_UP|g
+# s|DC_DPAD2_DOWN|DC_BTN_DPAD2_DOWN|g
+# s|const u32 sdl_map_|const DreamcastControllerCodes sdl_map_|
+# s|const u32[*] sdl_map_|const DreamcastControllerCodes* sdl_map_|
+# \|extern u16|d
+# \|extern u32|d
+# \|extern u8 |d
+# \|extern s8 |d
+# \|#define DC_|d
+# \|u16 kcode|d
+# \|u8 rt|d
+# \|u8 lt|d
+# \|u32 vks|d
+# \|s8 joy|d
+# \|int port = 0; port| s|4|MAPLE_NUM_PORTS|
+# \|enum DreamcastController|,+32 d
+# s|#include ["]types[.]h["]|#include "types.h"\n#include "hw/maple/maple_controller.h"|
+# ' core/sdl/sdl.cpp \
+# core/linux-dist/main.cpp \
+# core/linux-dist/main.h \
+# shell/apple/emulator-ios/emulator/EmulatorView.mm
+# sed -i 's|kcode[[]port[]]|maple_controller[port].buttons|g
+# s|lt[[]port[]]|maple_controller[port].trigger_left|g
+# s|rt[[]port[]]|maple_controller[port].trigger_right|g
+# s|joyx[[]port[]]|maple_controller[port].stick_x|g
+# s|joyy[[]port[]]|maple_controller[port].stick_y|g
+# s|DC_DPAD_LEFT|DC_BTN_DPAD1_LEFT|g
+# s|DC_DPAD_RIGHT|DC_BTN_DPAD1_RIGHT|g
+# s|DC_DPAD_UP|DC_BTN_DPAD1_UP|g
+# s|DC_DPAD_DOWN|DC_BTN_DPAD1_DOWN|g
+# s|DC_DPAD2_LEFT|DC_BTN_DPAD2_LEFT|g
+# s|DC_DPAD2_RIGHT|DC_BTN_DPAD2_RIGHT|g
+# s|DC_DPAD2_UP|DC_BTN_DPAD2_UP|g
+# s|DC_DPAD2_DOWN|DC_BTN_DPAD2_DOWN|g
+# \|extern u16|d
+# \|extern u8 |d
+# \|extern s8 |d
+# \|#define key_CONT_|d
+# s|#include ["]glshaders[.]h["]|#include "glshaders.h"\n#include "hw/maple/maple_controller.h"|
+# ' core/rend/gles/gles.cpp
+# sed -i 's|x11_keymap[[]53[]] = DC_BTN_X;|x11_keymap[53] = DC_BTN_X;\nx11_keymap[52] = DC_BTN_Y;|
+# ' core/linux-dist/x11.cpp
+# sed -i 's|DC_BTN_DPAD_|DC_BTN_DPAD1_|
+# ' core/hw/maple/maple_controller.h \
+# core/windows/winmain.cpp \
+# core/rend/gles/gles.cpp \
+# shell/apple/emulator-osx/emulator-osx/osx-main.mm
+
# 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
+ # sed -i 's|DC_AXIS_LT, 0, 0, DC_AXIS_RT|0, 0, DC_AXIS_RT, DC_AXIS_LT|' core/linux-dist/joystick.cpp
+ sed -i 's|DC_AXIS_LT, 0, 0, DC_AXIS_RT|0, 0, DC_AXIS_RT, DC_AXIS_LT|' core/sdl/sdl.cpp # with generalize-mappings.patch
# Enable Pulseaudio
sed -i 's|#USE_PULSEAUDIO|USE_PULSEAUDIO|' shell/linux/Makefile