diff --git a/community/higan/PKGBUILD b/community/higan/PKGBUILD index 66242b14f..b3ca489f6 100644 --- a/community/higan/PKGBUILD +++ b/community/higan/PKGBUILD @@ -5,10 +5,10 @@ # - patch for AArch64 pkgname=higan -pkgver=104 +pkgver=106 pkgrel=1 pkgdesc='Nintendo multi-system emulator' -arch=('i686' 'x86_64') +arch=('x86_64') url='http://byuu.org/' license=('GPL3') depends=('alsa-lib' 'cairo' 'gcc-libs' 'gdk-pixbuf2' 'glib2' 'glibc' 'gtk2' @@ -18,36 +18,43 @@ depends=('alsa-lib' 'cairo' 'gcc-libs' 'gdk-pixbuf2' 'glib2' 'glibc' 'gtk2' makedepends=('mesa') conflicts=('higan-gtk' 'higan-qt') replaces=('higan-gtk' 'higan-qt') -install='higan.install' source=("https://download.byuu.org/higan_v${pkgver}-source.7z" 'higan-flags.patch' + 'higan-paths.patch' '0001-AArch64-fixes.patch') -sha256sums=('342400ba494b37a95210f11e6d941566e50a772095586406c14d75293f525544' - '6ee3489a3cf3e8d09beaa5c1f809824593aa08b61dc9a8c9ddc12a09c89ae6cb' +sha256sums=('6564f91f232040c46c052de763dc139e94005e0f2376959fdacbb6ccd3fd6d18' + '6cff6f9570de186bdfa4620d3a2b6e315118b6f6be45b35f3346995865f1718e' + '6d0bf69e00c9ea5c5155b52b5ee59c253f2bacbc64f044826f53d4d6ae175c68' '0855c62824138ca02a9e775b7a6cca08b2cb20f99ce2713112be1a9d62e23509') prepare() { cd higan_v${pkgver}-source patch -Np1 -i ../higan-flags.patch + patch -Np1 -i ../higan-paths.patch patch -Np1 -i ../0001-AArch64-fixes.patch } build() { cd higan_v${pkgver}-source - make -C icarus make -C higan + make -C icarus } package() { cd higan_v${pkgver}-source - install -Dm 755 icarus/out/icarus -t "${pkgdir}"/usr/bin/ install -Dm 755 higan/out/higan -t "${pkgdir}"/usr/bin/ install -Dm 644 higan/data/higan.desktop -t "${pkgdir}"/usr/share/applications/ install -Dm 644 higan/data/higan.png -t "${pkgdir}"/usr/share/pixmaps/ cp -dr --no-preserve='ownership' higan/systems "${pkgdir}"/usr/share/higan + + install -Dm 755 icarus/out/icarus -t "${pkgdir}"/usr/bin/ + install -Dm 644 icarus/data/icarus.desktop -t "${pkgdir}"/usr/share/applications/ + install -Dm 644 icarus/data/icarus.png -t "${pkgdir}"/usr/share/pixmaps/ + install -dm 755 "${pkgdir}"/usr/share/icarus + cp -dr --no-preserve='ownership' icarus/Database "${pkgdir}"/usr/share/icarus/ } # vim: ts=2 sw=2 et: diff --git a/community/higan/higan-flags.patch b/community/higan/higan-flags.patch index 71fd27498..aaca8d0e2 100755 --- a/community/higan/higan-flags.patch +++ b/community/higan/higan-flags.patch @@ -1,20 +1,34 @@ -diff -rupN higan_v097-source.orig/higan/GNUmakefile higan_v097-source/higan/GNUmakefile ---- higan_v097-source.orig/higan/GNUmakefile 2016-01-24 09:21:45.822940200 +0100 -+++ higan_v097-source/higan/GNUmakefile 2016-01-24 09:24:03.028722500 +0100 -@@ -36,7 +36,7 @@ ifeq ($(platform),windows) - else ifeq ($(platform),macosx) - flags += -march=native - else ifneq ($(filter $(platform),linux bsd),) -- flags += -march=native -fopenmp -+ flags += -fopenmp +diff -rupN higan_v106-source.orig/higan/GNUmakefile higan_v106-source/higan/GNUmakefile +--- higan_v106-source.orig/higan/GNUmakefile 2017-12-27 23:12:21.263872763 +0100 ++++ higan_v106-source/higan/GNUmakefile 2017-12-27 23:12:30.243627883 +0100 +@@ -1,4 +1,4 @@ +-build := optimize ++build := release + include ../nall/GNUmakefile + + binary := application +@@ -26,7 +26,6 @@ else ifneq ($(filter $(platform),linux b + flags += -fopenmp link += -fopenmp - link += -Wl,-export-dynamic - link += -lX11 -lXext -diff -rupN higan_v097-source.orig/nall/GNUmakefile higan_v097-source/nall/GNUmakefile ---- higan_v097-source.orig/nall/GNUmakefile 2016-01-24 09:21:46.021749600 +0100 -+++ higan_v097-source/nall/GNUmakefile 2016-01-24 09:25:06.347100800 +0100 -@@ -40,8 +40,8 @@ cflags := -x c -std=c99 - objcflags := -x objective-c -std=c99 + ifeq ($(binary),application) +- flags += -march=native + link += -Wl,-export-dynamic + link += -lX11 -lXext + else ifeq ($(binary),library) +diff -rupN higan_v106-source.orig/icarus/GNUmakefile higan_v106-source/icarus/GNUmakefile +--- higan_v106-source.orig/icarus/GNUmakefile 2017-12-27 23:12:21.280538976 +0100 ++++ higan_v106-source/icarus/GNUmakefile 2017-12-27 23:12:30.243627883 +0100 +@@ -1,4 +1,4 @@ +-build := optimize ++build := release + include ../nall/GNUmakefile + include ../hiro/GNUmakefile + +diff -rupN higan_v106-source.orig/nall/GNUmakefile higan_v106-source/nall/GNUmakefile +--- higan_v106-source.orig/nall/GNUmakefile 2017-12-27 23:12:21.283872217 +0100 ++++ higan_v106-source/nall/GNUmakefile 2017-12-27 23:12:44.326577547 +0100 +@@ -40,8 +40,8 @@ cflags := -x c -std=c11 + objcflags := -x objective-c -std=c11 cppflags := -x c++ -std=c++14 objcppflags := -x objective-c++ -std=c++14 -flags := @@ -24,15 +38,12 @@ diff -rupN higan_v097-source.orig/nall/GNUmakefile higan_v097-source/nall/GNUmak # compiler detection ifeq ($(compiler),) -@@ -51,9 +51,9 @@ ifeq ($(compiler),) - else ifeq ($(platform),macosx) - compiler := clang++ - else ifeq ($(platform),linux) -- compiler := g++-4.9 -+ compiler := g++ - else ifeq ($(platform),bsd) -- compiler := g++49 -+ compiler := g++ - else - compiler := g++ - endif +@@ -120,7 +120,7 @@ ifeq ($(threaded),true) + endif + + # paths +-prefix := $(HOME)/.local ++prefix := /usr + + # function rwildcard(directory, pattern) + rwildcard = \ diff --git a/community/higan/higan-paths.patch b/community/higan/higan-paths.patch new file mode 100644 index 000000000..dcb3eaf89 --- /dev/null +++ b/community/higan/higan-paths.patch @@ -0,0 +1,26 @@ +diff -rupN higan_v106-source.orig/higan/target-tomoko/tomoko.cpp higan_v106-source/higan/target-tomoko/tomoko.cpp +--- higan_v106-source.orig/higan/target-tomoko/tomoko.cpp 2017-12-27 23:48:31.103245742 +0100 ++++ higan_v106-source/higan/target-tomoko/tomoko.cpp 2017-12-27 23:49:19.728586352 +0100 +@@ -11,6 +11,9 @@ auto locate(string name) -> string { + location = {Path::config(), "higan/", name}; + if(inode::exists(location)) return location; + ++ location = {Path::shared(), "higan/", name}; ++ if(inode::exists(location)) return location; ++ + directory::create({Path::local(), "higan/"}); + return {Path::local(), "higan/", name}; + } +diff -rupN higan_v106-source.orig/icarus/icarus.cpp higan_v106-source/icarus/icarus.cpp +--- higan_v106-source.orig/icarus/icarus.cpp 2017-12-27 23:48:31.109912227 +0100 ++++ higan_v106-source/icarus/icarus.cpp 2017-12-27 23:49:02.672384569 +0100 +@@ -11,6 +11,9 @@ auto locate(string name) -> string { + location = {Path::config(), "icarus/", name}; + if(inode::exists(location)) return location; + ++ location = {Path::shared(), "icarus/", name}; ++ if(inode::exists(location)) return location; ++ + directory::create({Path::local(), "icarus/"}); + return {Path::local(), "icarus/", name}; + } diff --git a/community/higan/higan.install b/community/higan/higan.install deleted file mode 100644 index 273b3a30e..000000000 --- a/community/higan/higan.install +++ /dev/null @@ -1,12 +0,0 @@ -post_install() { -cat << EOF -higan needs the system files located in /usr/share/higan to be present inside -your ~/Emulation directory, please copy them over before using the emulator. -EOF -} - -post_upgrade() { - post_install -} - -# vim: ts=2 sw=2 et: