summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--abs/extra/snes9x/PKGBUILD33
-rw-r--r--abs/extra/snes9x/snes9x-fix-crash.patch30
2 files changed, 49 insertions, 14 deletions
diff --git a/abs/extra/snes9x/PKGBUILD b/abs/extra/snes9x/PKGBUILD
index 68b8032..a38ac44 100644
--- a/abs/extra/snes9x/PKGBUILD
+++ b/abs/extra/snes9x/PKGBUILD
@@ -1,37 +1,42 @@
-# $Id: PKGBUILD 78959 2012-10-28 04:11:03Z ebelanger $
+# $Id$
# Maintainer: Eric BĂ©langer <eric@archlinux.org>
pkgbase=snes9x
pkgname=('snes9x' 'snes9x-gtk')
pkgver=1.53
-pkgrel=5
+pkgrel=8
arch=('i686' 'x86_64')
url="https://code.google.com/p/snes9x-gtk/"
license=('custom')
-makedepends=('intltool' 'nasm' 'mesa' 'libpng' 'sdl' 'gtk2' 'libxv' \
- 'desktop-file-utils' )
+makedepends=('intltool' 'nasm' 'mesa' 'libpng' 'sdl' 'gtk2' 'libxv'
+ 'desktop-file-utils')
source=(http://snes9x-gtk.googlecode.com/files/${pkgbase}-${pkgver}-src.tar.bz2
- snes9x-gtk2.24.diff.gz)
+ snes9x-gtk2.24.diff.gz snes9x-fix-crash.patch)
sha1sums=('57be6480369f66b9aaaeb722789ce114f58ed1e2'
- '680dbe0a70f1821bc7931539e72f5a1a95e3938c')
+ '680dbe0a70f1821bc7931539e72f5a1a95e3938c'
+ '995495c68ffc00d8266d10a7bd8fc74fb6c147b1')
-build() {
- cd "${srcdir}/${pkgbase}-${pkgver}-src"
+prepare() {
+ cd ${pkgbase}-${pkgver}-src
patch -p1 -i "${srcdir}/snes9x-gtk2.24.diff"
- cd unix
+ patch -p1 -i "${srcdir}/snes9x-fix-crash.patch"
+}
+
+build() {
+ cd ${pkgbase}-${pkgver}-src/unix
./configure --prefix=/usr --with-sdd1-decomp --enable-netplay
make
- cd "${srcdir}/${pkgbase}-${pkgver}-src/gtk"
+ cd ../gtk
./configure --prefix=/usr --with-sdd1-decomp --with-netplay --with-opengl
make
}
package_snes9x() {
pkgdesc="A portable Emulator for the Super Nintendo Entertainment System"
- depends=('gcc-libs' 'libpng' 'libxext' 'libsm')
+ depends=('libpng' 'libxext' 'libsm')
- cd "${srcdir}/${pkgbase}-${pkgver}-src/unix"
+ cd ${pkgbase}-${pkgver}-src/unix
install -D -m755 snes9x "${pkgdir}/usr/bin/snes9x"
install -d "${pkgdir}/usr/share/doc/${pkgname}"
install -D -m644 ../docs/{snes9x.conf.default,{control-inputs,controls,snapshots}.txt} \
@@ -43,10 +48,10 @@ package_snes9x() {
package_snes9x-gtk() {
pkgdesc="A portable Emulator for the Super Nintendo Entertainment System - GTK version"
license=('custom' 'LGPL')
- depends=('sdl' 'libgl' 'libpulse' 'gtk2' 'libxv' 'desktop-file-utils' 'gnome-icon-theme')
+ depends=('sdl' 'libpulse' 'gtk2' 'libxv' 'desktop-file-utils' 'gnome-icon-theme')
install=snes9x-gtk.install
- cd "${srcdir}/${pkgbase}-${pkgver}-src/gtk"
+ cd ${pkgbase}-${pkgver}-src/gtk
make DESTDIR="${pkgdir}" install
install -d "${pkgdir}/usr/share/doc/${pkgname}"
install -D -m644 ../docs/{snes9x.conf.default,{control-inputs,controls,snapshots}.txt} \
diff --git a/abs/extra/snes9x/snes9x-fix-crash.patch b/abs/extra/snes9x/snes9x-fix-crash.patch
new file mode 100644
index 0000000..95ed192
--- /dev/null
+++ b/abs/extra/snes9x/snes9x-fix-crash.patch
@@ -0,0 +1,30 @@
+From 6d74746342a73cf65db215f4fdecdfb0cae66792 Mon Sep 17 00:00:00 2001
+From: Brandon Wright <bearoso@gmail.com>
+Date: Mon, 10 Feb 2014 16:28:05 -0600
+Subject: [PATCH] Fix bug caused by virtual directories.
+
+---
+ gtk/src/gtk_file.cpp | 7 +++++--
+ 1 file changed, 5 insertions(+), 2 deletions(-)
+
+diff --git a/gtk/src/gtk_file.cpp b/gtk/src/gtk_file.cpp
+index a0df75d..9c0e000 100644
+--- a/gtk/src/gtk_file.cpp
++++ b/gtk/src/gtk_file.cpp
+@@ -465,8 +465,11 @@ S9xOpenROMDialog (void)
+ filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (dialog));
+ directory =
+ gtk_file_chooser_get_current_folder (GTK_FILE_CHOOSER (dialog));
+- strncpy (gui_config->last_directory, directory, PATH_MAX);
+- g_free (directory);
++ if (directory)
++ {
++ strncpy (gui_config->last_directory, directory, PATH_MAX);
++ g_free (directory);
++ }
+ }
+
+ else
+--
+1.9.3
+