aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--emulators/higan/Makefile13
-rw-r--r--emulators/higan/files/patch-target-ethos-AddSharePath30
-rw-r--r--emulators/higan/pkg-plist20
3 files changed, 63 insertions, 0 deletions
diff --git a/emulators/higan/Makefile b/emulators/higan/Makefile
index 95979e254995..e5d0dbbc2cd7 100644
--- a/emulators/higan/Makefile
+++ b/emulators/higan/Makefile
@@ -3,6 +3,7 @@
PORTNAME= higan
PORTVERSION= 0.92
+PORTREVISION= 1
CATEGORIES= emulators
MASTER_SITES= GOOGLE_CODE
DISTNAME= ${PORTNAME}_v${PORTVERSION:S/.//}-source
@@ -19,6 +20,7 @@ USE_LDCONFIG= yes
ONLY_FOR_ARCHS= i386 amd64
MAKE_ENV+= c="${CC} -std=gnu99" cpp="${CXX} -std=gnu++0x"
+OPTIONS= DEBUG
OPTIONS_SINGLE= PROFILE GUI
OPTIONS_SINGLE_PROFILE= ACCURACY BALANCED PERFORMANCE
OPTIONS_SINGLE_GUI= GTK2 QT4
@@ -114,6 +116,14 @@ post-patch:
-e 's|%%AUDIO%%|${AUDIO_DRIVER}|' \
-e 's|%%INPUT%%|${INPUT_DRIVER}|' \
${WRKSRC}/higan/target-ethos/Makefile
+.if ${PORT_OPTIONS:MDEBUG}
+ ${REINPLACE_CMD} -e 's|-O3|-g|g' \
+ ${WRKSRC}/ananke/Makefile \
+ ${WRKSRC}/higan/Makefile
+ ${REINPLACE_CMD} -e 's|:= -s|:= #|g' \
+ ${WRKSRC}/higan/Makefile
+.endif
+ ${RM} ${WRKSRC}/shaders/Sepia.Direct3D.shader
do-build:
.for d in higan ananke
@@ -130,5 +140,8 @@ do-install:
${INSTALL_DATA} ${WRKSRC}/higan/data/higan.png ${PREFIX}/share/pixmaps/
${MKDIR} ${PREFIX}/share/applications
${INSTALL_DATA} ${WRKSRC}/higan/data/higan.desktop ${PREFIX}/share/applications/
+ ${MKDIR} ${DATADIR}/Video\ Shaders
+ (cd ${WRKSRC}/higan/profile && ${COPYTREE_SHARE} \* ${DATADIR}/)
+ ${INSTALL_DATA} ${WRKSRC}/shaders/* ${DATADIR}/Video\ Shaders/
.include <bsd.port.mk>
diff --git a/emulators/higan/files/patch-target-ethos-AddSharePath b/emulators/higan/files/patch-target-ethos-AddSharePath
new file mode 100644
index 000000000000..286474b9c734
--- /dev/null
+++ b/emulators/higan/files/patch-target-ethos-AddSharePath
@@ -0,0 +1,30 @@
+--- higan/target-ethos/ethos.hpp.orig 2012-11-04 00:39:15.000000000 -0400
++++ higan/target-ethos/ethos.hpp 2013-04-30 23:07:49.000000000 -0400
+@@ -41,6 +41,7 @@
+ unsigned depth;
+
+ string basepath;
++ string sharepath;
+ string userpath;
+
+ string normalFont;
+--- higan/target-ethos/ethos.cpp.orig 2013-01-12 17:01:26.000000000 -0500
++++ higan/target-ethos/ethos.cpp 2013-04-30 23:10:23.000000000 -0400
+@@ -18,6 +18,9 @@
+ string path = {basepath, filename};
+ if(file::exists(path)) return path;
+ if(directory::exists(path)) return path;
++ path = {sharepath, filename};
++ if(file::exists(path)) return path;
++ if(directory::exists(path)) return path;
+ return {userpath, filename};
+ }
+
+@@ -44,6 +47,7 @@
+ autopause = false;
+
+ basepath = dir(realpath(argv[0]));
++ sharepath = {parentdir(basepath), "share/higan/"};
+ userpath = {nall::configpath(), "higan/"};
+ directory::create(userpath);
+
diff --git a/emulators/higan/pkg-plist b/emulators/higan/pkg-plist
index 139b312a3711..46f04b3510dd 100644
--- a/emulators/higan/pkg-plist
+++ b/emulators/higan/pkg-plist
@@ -2,5 +2,25 @@ bin/higan
lib/libananke.so.1
lib/libananke.so
share/applications/higan.desktop
+%%DATADIR%%/Famicom.sys/manifest.bml
+%%DATADIR%%/Game Boy Advance.sys/manifest.bml
+%%DATADIR%%/Game Boy Color.sys/boot.rom
+%%DATADIR%%/Game Boy Color.sys/manifest.bml
+%%DATADIR%%/Game Boy.sys/boot.rom
+%%DATADIR%%/Game Boy.sys/manifest.bml
+%%DATADIR%%/Super Famicom.sys/ipl.rom
+%%DATADIR%%/Super Famicom.sys/manifest.bml
+%%DATADIR%%/Video Shaders/Curvature.OpenGL.shader
+%%DATADIR%%/Video Shaders/HQ2x.OpenGL.shader
+%%DATADIR%%/Video Shaders/Pixellate.OpenGL.shader
+%%DATADIR%%/Video Shaders/Scale2x.OpenGL.shader
share/pixmaps/higan.png
+@dirrmtry share/pixmaps
+@dirrm %%DATADIR%%/Video Shaders
+@dirrm %%DATADIR%%/Super Famicom.sys
+@dirrm %%DATADIR%%/Game Boy.sys
+@dirrm %%DATADIR%%/Game Boy Color.sys
+@dirrm %%DATADIR%%/Game Boy Advance.sys
+@dirrm %%DATADIR%%/Famicom.sys
+@dirrm %%DATADIR%%
@dirrmtry share/applications