summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjc_gargma <jc_gargma@iserlohn-fortress.net>2019-09-26 09:30:44 -0700
committerjc_gargma <jc_gargma@iserlohn-fortress.net>2019-09-26 09:30:44 -0700
commitd8c159f544acedaf33feca3045a35e773377e599 (patch)
tree9601b0ac4ac694292121f77027c7b60ffcd94645
downloadfceux-d8c159f544acedaf33feca3045a35e773377e599.tar.xz
Initial commit
-rw-r--r--PKGBUILD50
-rw-r--r--scons-python3.patch108
2 files changed, 158 insertions, 0 deletions
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 0000000..fbe01af
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,50 @@
+# Maintainer: jc_gargma <jc_gargma@iserlohn-fortress.net>
+# Maintainer (Arch): Alexander F Rødseth <xyproto@archlinux.org>
+# Contriutor (Arch): Eric Belanger <eric@archlinux.org>
+# Contributor (Arch): Jo Christian Bergskås <jcberg@gmail.com>
+
+# # I maintain this because:
+# Arch version lacks additional optimization and hardening flags
+
+pkgname=fceux
+pkgver=2.2.3
+pkgrel=3.2
+url='http://www.fceux.com/'
+pkgdesc='Fast and ultra-compatible NES/Famicom emulator'
+arch=('x86_64')
+license=('GPL')
+depends=('sdl' 'gtk2' 'gd')
+makedepends=('scons' 'mesa-libgl' 'glu')
+source=("https://downloads.sourceforge.net/project/fceultra/Source%20Code/$pkgver%20src/$pkgname-$pkgver.src.tar.gz" scons-python3.patch)
+sha256sums=('4be6dda9a347f941809a3c4a90d21815b502384adfdd596adaa7b2daf088823e'
+ 'ba1828375e00b4a2076311f5ee1802a42d52eb1ef93b358a45459d475c55e6b9')
+
+prepare() {
+ cd $pkgname-$pkgver
+ patch -p1 -i ../scons-python3.patch
+}
+
+build() {
+ export CFLAGS="$CFLAGS -O3 -flto=4 -fPIE"
+ export CXXFLAGS="$CXXFLAGS -O3 -flto=4 -fPIE"
+ export LDFLAGS="$LDFLAGS,-pie"
+ scons -j4 -C "$pkgname-$pkgver"
+}
+
+package() {
+ cd "$pkgname-$pkgver"
+
+ scons install -i --prefix="$pkgdir/usr"
+
+ install -d "$pkgdir/usr/share/doc/$pkgname"
+ cp -r documentation/* "$pkgdir/usr/share/doc/$pkgname/"
+ install -Dm644 changelog.txt "$pkgdir/usr/share/doc/$pkgname/"
+
+ # desktop shortcut
+ install -Dm644 "$pkgname.desktop" \
+ "$pkgdir/usr/share/applications/$pkgname.desktop"
+ install -Dm644 "$pkgname.png" \
+ "$pkgdir/usr/share/pixmaps/$pkgname.png"
+
+ rm -f "$pkgdir/usr/share/$pkgname/"*.dll
+}
diff --git a/scons-python3.patch b/scons-python3.patch
new file mode 100644
index 0000000..d3be48d
--- /dev/null
+++ b/scons-python3.patch
@@ -0,0 +1,108 @@
+--- fceux-2.2.3/SConstruct.orig 2019-07-26 18:04:29.368573309 +0000
++++ fceux-2.2.3/SConstruct 2019-07-26 18:04:31.975265342 +0000
+@@ -46,30 +46,30 @@
+ # Default compiler flags:
+ env.Append(CCFLAGS = ['-Wall', '-Wno-write-strings', '-Wno-sign-compare'])
+
+-if os.environ.has_key('PLATFORM'):
++if os.environ.get('PLATFORM'):
+ env.Replace(PLATFORM = os.environ['PLATFORM'])
+-if os.environ.has_key('CC'):
++if os.environ.get('CC'):
+ env.Replace(CC = os.environ['CC'])
+-if os.environ.has_key('CXX'):
++if os.environ.get('CXX'):
+ env.Replace(CXX = os.environ['CXX'])
+-if os.environ.has_key('WINDRES'):
++if os.environ.get('WINDRES'):
+ env.Replace(WINDRES = os.environ['WINDRES'])
+-if os.environ.has_key('CFLAGS'):
++if os.environ.get('CFLAGS'):
+ env.Append(CCFLAGS = os.environ['CFLAGS'].split())
+-if os.environ.has_key('CXXFLAGS'):
++if os.environ.get('CXXFLAGS'):
+ env.Append(CXXFLAGS = os.environ['CXXFLAGS'].split())
+-if os.environ.has_key('CPPFLAGS'):
++if os.environ.get('CPPFLAGS'):
+ env.Append(CPPFLAGS = os.environ['CPPFLAGS'].split())
+-if os.environ.has_key('LDFLAGS'):
++if os.environ.get('LDFLAGS'):
+ env.Append(LINKFLAGS = os.environ['LDFLAGS'].split())
+-if os.environ.has_key('PKG_CONFIG_PATH'):
++if os.environ.get('PKG_CONFIG_PATH'):
+ env['ENV']['PKG_CONFIG_PATH'] = os.environ['PKG_CONFIG_PATH']
+-if not os.environ.has_key('PKG_CONFIG_PATH') and env['PLATFORM'] == 'darwin':
++if not os.environ.get('PKG_CONFIG_PATH') and env['PLATFORM'] == 'darwin':
+ env['ENV']['PKG_CONFIG_PATH'] = "/usr/local/lib/pkgconfig:/opt/X11/lib/pkgconfig"
+-if os.environ.has_key('PKG_CONFIG_LIBDIR'):
++if os.environ.get('PKG_CONFIG_LIBDIR'):
+ env['ENV']['PKG_CONFIG_LIBDIR'] = os.environ['PKG_CONFIG_LIBDIR']
+
+-print "platform: ", env['PLATFORM']
++print ("platform: ", env['PLATFORM'])
+
+ # compile with clang
+ if env['CLANG']:
+@@ -103,18 +103,18 @@
+ assert conf.CheckLibWithHeader('z', 'zlib.h', 'c', 'inflate;', 1), "please install: zlib"
+ if env['SDL2']:
+ if not conf.CheckLib('SDL2'):
+- print 'Did not find libSDL2 or SDL2.lib, exiting!'
++ print ('Did not find libSDL2 or SDL2.lib, exiting!')
+ Exit(1)
+ env.Append(CPPDEFINES=["_SDL2"])
+ env.ParseConfig('pkg-config sdl2 --cflags --libs')
+ else:
+ if not conf.CheckLib('SDL'):
+- print 'Did not find libSDL or SDL.lib, exiting!'
++ print ('Did not find libSDL or SDL.lib, exiting!')
+ Exit(1)
+ env.ParseConfig('sdl-config --cflags --libs')
+ if env['GTK']:
+ if not conf.CheckLib('gtk-x11-2.0'):
+- print 'Could not find libgtk-2.0, exiting!'
++ print ('Could not find libgtk-2.0, exiting!')
+ Exit(1)
+ # Add compiler and linker flags from pkg-config
+ config_string = 'pkg-config --cflags --libs gtk+-2.0'
+@@ -153,7 +153,7 @@
+ env.Append(CCFLAGS = ["-I/usr/include/lua"])
+ lua_available = True
+ if lua_available == False:
+- print 'Could not find liblua, exiting!'
++ print ('Could not find liblua, exiting!')
+ Exit(1)
+ else:
+ env.Append(CCFLAGS = ["-Isrc/lua/src"])
+@@ -167,7 +167,7 @@
+ gd = conf.CheckLib('gd', autoadd=1)
+ if gd == 0:
+ env['LOGO'] = 0
+- print 'Did not find libgd, you won\'t be able to create a logo screen for your avis.'
++ print ('Did not find libgd, you won\'t be able to create a logo screen for your avis.')
+
+ if env['OPENGL'] and conf.CheckLibWithHeader('GL', 'GL/gl.h', 'c', autoadd=1):
+ conf.env.Append(CCFLAGS = "-DOPENGL")
+@@ -181,8 +181,8 @@
+ if env['FRAMESKIP']:
+ env.Append(CPPDEFINES = ['FRAMESKIP'])
+
+-print "base CPPDEFINES:",env['CPPDEFINES']
+-print "base CCFLAGS:",env['CCFLAGS']
++print ("base CPPDEFINES:",env['CPPDEFINES'])
++print ("base CCFLAGS:",env['CCFLAGS'])
+
+ if env['DEBUG']:
+ env.Append(CPPDEFINES=["_DEBUG"], CCFLAGS = ['-g', '-O0'])
+--- fceux-2.2.3/src/SConscript.orig 2019-07-26 18:08:11.297535443 +0000
++++ fceux-2.2.3/src/SConscript 2019-07-26 18:08:33.857781956 +0000
+@@ -33,7 +33,7 @@
+ platform_files = SConscript('drivers/sdl/SConscript')
+ file_list.append(platform_files)
+
+-print env['LINKFLAGS']
++print (env['LINKFLAGS'])
+
+ if env['PLATFORM'] == 'win32':
+ fceux = env.Program('fceux.exe', file_list)
+