aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--emulators/bsnes/Makefile74
-rw-r--r--emulators/bsnes/distinfo4
-rw-r--r--emulators/bsnes/files/patch-Makefile14
-rw-r--r--emulators/bsnes/files/patch-nall-file.hpp70
-rw-r--r--emulators/bsnes/files/patch-qt-Makefile15
-rw-r--r--emulators/bsnes/files/patch-serialization.cpp11
-rw-r--r--emulators/bsnes/files/patch-target-ui-Makefile15
-rw-r--r--emulators/bsnes/pkg-plist4
8 files changed, 134 insertions, 73 deletions
diff --git a/emulators/bsnes/Makefile b/emulators/bsnes/Makefile
index 8987326ed232..6a896a490591 100644
--- a/emulators/bsnes/Makefile
+++ b/emulators/bsnes/Makefile
@@ -5,33 +5,28 @@
# $FreeBSD$
PORTNAME= bsnes
-PORTVERSION= 0.70
-PORTREVISION= 1
+PORTVERSION= 0.88
CATEGORIES= emulators
MASTER_SITES= ${MASTER_SITE_GOOGLE_CODE}
-DISTNAME= ${PORTNAME}_v${PORTVERSION:S/.//}
+DISTNAME= ${PORTNAME}_v${PORTVERSION:S/.//}-source
-MAINTAINER= ports@FreeBSD.org
+MAINTAINER= cyberbotx@cyberbotx.com
COMMENT= Super Nintendo/Super Famicom emulator
-BROKEN= does not compile
-
-USE_BZIP2= yes
+USE_XZ= yes
USE_GMAKE= yes
-USE_XORG= videoproto xv x11
-USE_QT_VER= 4
-QT_COMPONENTS= qmake_build uic_build moc_build rcc_build gui
-USE_GCC= 4.4+
+USE_GNOME= gtk20
+USE_GCC= 4.6
ONLY_FOR_ARCHS= i386 amd64
-WRKSRC= ${WRKDIR}/
-MAKE_ENV+= moc=moc-qt4 c="${CC} -std=gnu99" cpp="${CXX} -std=gnu++0x"
+MAKE_ENV+= c="${CC} -std=gnu99" cpp="${CXX} -std=gnu++0x" profile="performance"
USE_LDCONFIG= yes
-OPTIONS= VIDEO_GLX "Build GLX Video Driver" on \
+OPTIONS= GUI_GTK "Build with GTK+ GUI" on \
+ GUI_QT4 "Build with QT4 GUI" off \
+ VIDEO_GLX "Build GLX Video Driver" on \
VIDEO_XV "Build Xv Video Driver" on \
VIDEO_SDL "Build SDL Video Driver" on \
- VIDEO_QT "Build QtImage Video Driver" off \
SOUND_OPENAL "Build OpenAL Sound Driver" off \
SOUND_OSS "Build OSS Sound Driver" on \
SOUND_PULSE "Build Pulseaudio Sound Driver" off \
@@ -39,7 +34,15 @@ OPTIONS= VIDEO_GLX "Build GLX Video Driver" on \
INPUT_X "Build X Input Driver" on \
INPUT_SDL "Build SDL Input Driver" on
-.include <bsd.port.pre.mk>
+.include <bsd.port.options.mk>
+
+.if defined(WITH_GUI_GTK)
+MAKE_ENV+= phoenix="gtk"
+.else
+USE_QT_VER= 4
+QT_COMPONENTS= corelib gui
+MAKE_ENV+= phoenix="qt"
+.endif
.if defined(WITH_VIDEO_GLX)
USE_GL+= gl
@@ -47,18 +50,16 @@ VIDEO_DRIVER+= video.glx
.endif
.if defined(WITH_VIDEO_XV)
+USE_XORG+= xv
VIDEO_DRIVER+= video.xv
.endif
.if defined(WITH_VIDEO_SDL)
+USE_XORG+= xv
USE_SDL+= sdl
VIDEO_DRIVER+= video.sdl
.endif
-.if defined(WITH_VIDEO_QT)
-VIDEO_DRIVER+= video.qtimage
-.endif
-
.if defined(WITH_SOUND_OPENAL)
USE_OPENAL= al
AUDIO_DRIVER+= audio.openal
@@ -87,37 +88,40 @@ USE_SDL+= sdl
INPUT_DRIVER+= input.sdl
.endif
+.if !defined(WITH_GUI_GTK) && !defined(WITH_GUI_QT4)
+IGNORE= you have to choose a GUI
+.endif
+.if defined(WITH_GUI_GTK) && defined(WITH_GUI_QT4)
+IGNORE= you may only choose one GUI
+.endif
+
.if !defined(VIDEO_DRIVER)
-IGNORE= you have to choose at least a video driver first
+IGNORE= you have to choose at least one video driver
.endif
.if !defined(AUDIO_DRIVER)
-IGNORE= you have to choose at least a audio driver first
+IGNORE= you have to choose at least one audio driver
.endif
.if !defined(INPUT_DRIVER)
-IGNORE= you have to choose at least an input driver first
+IGNORE= you have to choose at least one input driver
.endif
post-patch:
- ${REINPLACE_CMD} -e 's|VIDEO|${VIDEO_DRIVER}|' ${WRKSRC}/bsnes/ui-qt/Makefile
- ${REINPLACE_CMD} -e 's|AUDIO|${AUDIO_DRIVER}|' ${WRKSRC}/bsnes/ui-qt/Makefile
- ${REINPLACE_CMD} -e 's|INPUT|${INPUT_DRIVER}|' ${WRKSRC}/bsnes/ui-qt/Makefile
+ ${REINPLACE_CMD} -e 's|VIDEO|${VIDEO_DRIVER}|' ${WRKSRC}/bsnes/target-ui/Makefile
+ ${REINPLACE_CMD} -e 's|AUDIO|${AUDIO_DRIVER}|' ${WRKSRC}/bsnes/target-ui/Makefile
+ ${REINPLACE_CMD} -e 's|INPUT|${INPUT_DRIVER}|' ${WRKSRC}/bsnes/target-ui/Makefile
do-build:
(cd ${WRKSRC}/bsnes && ${GMAKE} ${MAKE_ENV})
- (cd ${WRKSRC}/snesreader && ${GMAKE} ${MAKE_ENV})
- (cd ${WRKSRC}/snesfilter && ${GMAKE} ${MAKE_ENV})
- (cd ${WRKSRC}/supergameboy && ${GMAKE} ${MAKE_ENV})
+ (cd ${WRKSRC}/purify && ${GMAKE} ${MAKE_ENV})
do-install:
${INSTALL_PROGRAM} ${WRKSRC}/bsnes/out/bsnes ${PREFIX}/bin/
+ ${INSTALL_PROGRAM} ${WRKSRC}/purify/purify ${PREFIX}/bin/snespurify
${MKDIR} ${PREFIX}/share/pixmaps
- ${INSTALL_DATA} ${WRKSRC}/bsnes/ui-qt/data/bsnes.png ${PREFIX}/share/pixmaps/
+ ${INSTALL_DATA} ${WRKSRC}/bsnes/data/bsnes.png ${PREFIX}/share/pixmaps/
${MKDIR} ${PREFIX}/share/applications
- ${INSTALL_DATA} ${WRKSRC}/bsnes/ui-qt/data/bsnes.desktop ${PREFIX}/share/applications/
- ${INSTALL_DATA} ${WRKSRC}/snesreader/libsnesreader.so ${PREFIX}/lib/
- ${INSTALL_DATA} ${WRKSRC}/snesfilter/libsnesfilter.so ${PREFIX}/lib/
- ${INSTALL_DATA} ${WRKSRC}/supergameboy/libsupergameboy.so ${PREFIX}/lib/
+ ${INSTALL_DATA} ${WRKSRC}/bsnes/data/bsnes.desktop ${PREFIX}/share/applications/
-.include <bsd.port.post.mk>
+.include <bsd.port.mk>
diff --git a/emulators/bsnes/distinfo b/emulators/bsnes/distinfo
index 3c7ac02c0472..08152935fdf3 100644
--- a/emulators/bsnes/distinfo
+++ b/emulators/bsnes/distinfo
@@ -1,2 +1,2 @@
-SHA256 (bsnes_v070.tar.bz2) = 843fe06200488863510dd4c2923eaef6744977f8d1926cdb0806bb6d470c4b79
-SIZE (bsnes_v070.tar.bz2) = 1020720
+SHA256 (bsnes_v088-source.tar.xz) = edf6decf96c6b83c58f6b167951bb84b57c0ca4f3e5e8cad7af6d3485540273b
+SIZE (bsnes_v088-source.tar.xz) = 993608
diff --git a/emulators/bsnes/files/patch-Makefile b/emulators/bsnes/files/patch-Makefile
index cecf6efe221a..9c1e3891cb40 100644
--- a/emulators/bsnes/files/patch-Makefile
+++ b/emulators/bsnes/files/patch-Makefile
@@ -1,11 +1,11 @@
---- bsnes/Makefile.orig 2010-09-27 03:24:08.000000000 +0200
-+++ bsnes/Makefile 2010-09-27 03:24:26.000000000 +0200
-@@ -19,7 +19,7 @@
-
+--- bsnes/Makefile.orig 2012-04-24 06:30:52.000000000 -0400
++++ bsnes/Makefile 2012-05-06 17:58:01.000000000 -0400
+@@ -31,7 +31,7 @@
# platform
ifeq ($(platform),x)
-- link += -s -ldl -lX11 -lXext
-+ link += -s -lX11 -lXext
+ flags += -march=native
+- link += -ldl -lX11 -lXext
++ link += -lX11 -lXext
else ifeq ($(platform),osx)
else ifeq ($(platform),win)
- link += -mwindows
+ link += $(if $(findstring console,$(options)),-mconsole,-mwindows)
diff --git a/emulators/bsnes/files/patch-nall-file.hpp b/emulators/bsnes/files/patch-nall-file.hpp
new file mode 100644
index 000000000000..fe191b77e67d
--- /dev/null
+++ b/emulators/bsnes/files/patch-nall-file.hpp
@@ -0,0 +1,70 @@
+--- bsnes/nall/file.hpp.orig 2012-03-06 14:03:53.000000000 -0500
++++ bsnes/nall/file.hpp 2012-04-16 23:42:33.000000000 -0400
+@@ -160,8 +160,8 @@
+
+ static bool exists(const string &filename) {
+ #if !defined(_WIN32)
+- struct stat64 data;
+- return stat64(filename, &data) == 0;
++ struct stat data;
++ return stat(filename, &data) == 0;
+ #else
+ struct __stat64 data;
+ return _wstat64(utf16_t(filename), &data) == 0;
+@@ -170,8 +170,8 @@
+
+ static uintmax_t size(const string &filename) {
+ #if !defined(_WIN32)
+- struct stat64 data;
+- stat64(filename, &data);
++ struct stat data;
++ stat(filename, &data);
+ #else
+ struct __stat64 data;
+ _wstat64(utf16_t(filename), &data);
+@@ -181,8 +181,8 @@
+
+ static time_t timestamp(const string &filename, file::time mode = file::time::create) {
+ #if !defined(_WIN32)
+- struct stat64 data;
+- stat64(filename, &data);
++ struct stat data;
++ stat(filename, &data);
+ #else
+ struct __stat64 data;
+ _wstat64(utf16_t(filename), &data);
+--- purify/nall/file.hpp.orig 2012-04-23 02:11:07.000000000 -0400
++++ purify/nall/file.hpp 2012-05-06 22:54:42.000000000 -0400
+@@ -160,8 +160,8 @@
+
+ static bool exists(const string &filename) {
+ #if !defined(_WIN32)
+- struct stat64 data;
+- return stat64(filename, &data) == 0;
++ struct stat data;
++ return stat(filename, &data) == 0;
+ #else
+ struct __stat64 data;
+ return _wstat64(utf16_t(filename), &data) == 0;
+@@ -170,8 +170,8 @@
+
+ static uintmax_t size(const string &filename) {
+ #if !defined(_WIN32)
+- struct stat64 data;
+- stat64(filename, &data);
++ struct stat data;
++ stat(filename, &data);
+ #else
+ struct __stat64 data;
+ _wstat64(utf16_t(filename), &data);
+@@ -181,8 +181,8 @@
+
+ static time_t timestamp(const string &filename, file::time mode = file::time::create) {
+ #if !defined(_WIN32)
+- struct stat64 data;
+- stat64(filename, &data);
++ struct stat data;
++ stat(filename, &data);
+ #else
+ struct __stat64 data;
+ _wstat64(utf16_t(filename), &data);
diff --git a/emulators/bsnes/files/patch-qt-Makefile b/emulators/bsnes/files/patch-qt-Makefile
deleted file mode 100644
index c829b3da5758..000000000000
--- a/emulators/bsnes/files/patch-qt-Makefile
+++ /dev/null
@@ -1,15 +0,0 @@
---- bsnes/ui-qt/Makefile.orig 2010-09-27 03:25:04.000000000 +0200
-+++ bsnes/ui-qt/Makefile 2010-09-27 03:25:16.000000000 +0200
-@@ -13,9 +13,9 @@
-
- # platform
- ifeq ($(platform),x)
-- ruby := video.glx video.xv video.qtraster video.sdl
-- ruby += audio.alsa audio.openal audio.oss audio.pulseaudio audio.pulseaudiosimple audio.ao
-- ruby += input.sdl input.x
-+ ruby := VIDEO
-+ ruby += AUDIO
-+ ruby += INPUT
-
- link += $(if $(findstring audio.openal,$(ruby)),-lopenal)
- else ifeq ($(platform),osx)
diff --git a/emulators/bsnes/files/patch-serialization.cpp b/emulators/bsnes/files/patch-serialization.cpp
deleted file mode 100644
index e58520a06421..000000000000
--- a/emulators/bsnes/files/patch-serialization.cpp
+++ /dev/null
@@ -1,11 +0,0 @@
---- bsnes/snes/system/serialization.cpp.orig 2010-09-02 13:16:20.000000000 +0200
-+++ bsnes/snes/system/serialization.cpp 2010-09-02 13:23:12.000000000 +0200
-@@ -7,7 +7,7 @@
- char profile[16], description[512];
- memset(&profile, 0, sizeof profile);
- memset(&description, 0, sizeof description);
-- strlcpy(profile, Info::Profile, sizeof profile);
-+ nall::strlcpy(profile, Info::Profile, sizeof profile);
-
- s.integer(signature);
- s.integer(version);
diff --git a/emulators/bsnes/files/patch-target-ui-Makefile b/emulators/bsnes/files/patch-target-ui-Makefile
new file mode 100644
index 000000000000..34136a27f46f
--- /dev/null
+++ b/emulators/bsnes/files/patch-target-ui-Makefile
@@ -0,0 +1,15 @@
+--- bsnes/target-ui/Makefile.orig 2012-02-05 20:04:19.000000000 -0500
++++ bsnes/target-ui/Makefile 2012-04-16 23:28:28.000000000 -0400
+@@ -10,9 +10,9 @@
+
+ # platform
+ ifeq ($(platform),x)
+- ruby := video.glx video.xv video.sdl
+- ruby += audio.alsa audio.openal audio.oss audio.pulseaudio audio.pulseaudiosimple audio.ao
+- ruby += input.sdl input.x
++ ruby := VIDEO
++ ruby += AUDIO
++ ruby += INPUT
+ else ifeq ($(platform),osx)
+ ruby :=
+ ruby += audio.openal
diff --git a/emulators/bsnes/pkg-plist b/emulators/bsnes/pkg-plist
index 7083f179266b..0c0b83d40555 100644
--- a/emulators/bsnes/pkg-plist
+++ b/emulators/bsnes/pkg-plist
@@ -1,7 +1,5 @@
bin/bsnes
-lib/libsnesfilter.so
-lib/libsnesreader.so
-lib/libsupergameboy.so
+bin/snespurify
share/applications/bsnes.desktop
share/pixmaps/bsnes.png
@dirrmtry share/applications