aboutsummaryrefslogtreecommitdiff
path: root/emulators
diff options
context:
space:
mode:
authorJose Alonso Cardenas Marquez <acm@FreeBSD.org>2009-01-14 02:03:05 +0000
committerJose Alonso Cardenas Marquez <acm@FreeBSD.org>2009-01-14 02:03:05 +0000
commit1fa5c449b1fd0ecb9d947f2f078a8c7d19a4904c (patch)
tree5e60a6b4c8fb345218e611db5bee95468cd59dc9 /emulators
parentde94cdf35ba0c0b5c0249c6386f17abcaedae133 (diff)
downloadports-1fa5c449b1fd0ecb9d947f2f078a8c7d19a4904c.tar.gz
ports-1fa5c449b1fd0ecb9d947f2f078a8c7d19a4904c.zip
- Update to 1.5
Notes
Notes: svn path=/head/; revision=226003
Diffstat (limited to 'emulators')
-rw-r--r--emulators/mupen64plus-base/Makefile25
-rw-r--r--emulators/mupen64plus-base/Makefile.common60
-rw-r--r--emulators/mupen64plus-base/distinfo6
-rw-r--r--emulators/mupen64plus-base/files/patch-Makefile34
-rw-r--r--emulators/mupen64plus-base/files/patch-main_romcache.h10
-rw-r--r--emulators/mupen64plus-base/files/patch-pre.mk150
-rw-r--r--emulators/mupen64plus-base/pkg-plist79
-rw-r--r--emulators/mupen64plus-core/Makefile25
-rw-r--r--emulators/mupen64plus-core/Makefile.common60
-rw-r--r--emulators/mupen64plus-core/distinfo6
-rw-r--r--emulators/mupen64plus-core/files/patch-Makefile34
-rw-r--r--emulators/mupen64plus-core/files/patch-main_romcache.h10
-rw-r--r--emulators/mupen64plus-core/files/patch-pre.mk150
-rw-r--r--emulators/mupen64plus-core/pkg-plist79
-rw-r--r--emulators/mupen64plus-glide/files/patch-glide64_Makefile61
-rw-r--r--emulators/mupen64plus-input-sdl/files/patch-blight_input_plugin.c82
-rw-r--r--emulators/mupen64plus-rice/Makefile2
-rw-r--r--emulators/mupen64plus-rice/files/patch-rice_video_Makefile19
-rw-r--r--emulators/mupen64plus-sdlinput/files/patch-blight_input_plugin.c82
-rw-r--r--emulators/mupen64plus-video-rice/Makefile2
-rw-r--r--emulators/mupen64plus-video-rice/files/patch-rice_video_Makefile19
-rw-r--r--emulators/mupen64plus/Makefile3
22 files changed, 507 insertions, 491 deletions
diff --git a/emulators/mupen64plus-base/Makefile b/emulators/mupen64plus-base/Makefile
index fade28b000fc..ed7eb49a98b0 100644
--- a/emulators/mupen64plus-base/Makefile
+++ b/emulators/mupen64plus-base/Makefile
@@ -6,7 +6,7 @@
#
PORTNAME= mupen64plus
-PORTVERSION?= 1.4.1
+PORTVERSION?= 1.5
PORTREVISION?= 0
CATEGORIES= emulators
MASTER_SITES= ${MASTER_SITE_GOOGLE_CODE}
@@ -16,7 +16,6 @@ DIST_SUBDIR= ${PORTNAME}
MAINTAINER?= acm@FreeBSD.org
COMMENT?= A fork of Mupen64 Nintendo 64 emulator
-USE_ZIP= yes
USE_GNOME?= pkgconfig gtk20
USE_GL?= #
USE_SDL?= #
@@ -27,14 +26,30 @@ MAKE_ENV+= PTHREAD_LIBS="${PTHREAD_LIBS}"
OPTIONSFILE= ${PORT_DBDIR}/${PORTNAME}${PKGNAMESUFFIX}/options
FIXFILES?= r4300/r4300.c r4300/recomp.c memory/dma.c r4300/x86/assemble.c \
- r4300/x86_64/assemble.c main/gui_gtk/main_gtk.c main/vcr.c
+ r4300/x86_64/assemble.c main/gui_gtk/main_gtk.c
-OPTIONS?= NOGUI "Build without GUI support" off
+OPTIONS?= NOGUI "Build without GUI support" off \
+ GTK2 "Build GTK2 GUI support" on \
+ QT4 "Build QT4 GUI support" off
.include <bsd.port.pre.mk>
.if defined(WITH_NOGUI)
-HAVE_NOGUI= true
+. if defined(WITH_GTK2) || defined(WITH_QT4)
+IGNORE= only one option must be selected, try make config again
+. endif
+.endif
+
+.if defined(WITH_GTK2)
+. if defined(WITH_NOGUI) || defined(WITH_QT4)
+IGNORE= only one option must be selected, try make config again
+. endif
+.endif
+
+.if defined(WITH_QT4)
+. if defined(WITH_NOGUI) || defined(WITH_GTK2)
+IGNORE= only one option must be selected, try make config again
+. endif
.endif
.include "${MASTERDIR}/Makefile.common"
diff --git a/emulators/mupen64plus-base/Makefile.common b/emulators/mupen64plus-base/Makefile.common
index af5571da5940..00babd5193bf 100644
--- a/emulators/mupen64plus-base/Makefile.common
+++ b/emulators/mupen64plus-base/Makefile.common
@@ -4,26 +4,39 @@ DISTNAME= ${PORTNAME:S/m/M/:S/pl/Pl/}-${PORTVERSION:S/./-/g}-src
PATCHDIR= ${.CURDIR}/files
WRKSRC?= ${WRKDIR}/${DISTNAME}
-EXTRACT_AFTER_ARGS= "${DISTNAME}/Makefile" ${DISTNAME}/pre.mk ${DISTNAME}/release.mk \
- "${DISTNAME}/config/*" "${DISTNAME}/main/*" "${DISTNAME}/plugins/*" \
- "${DISTNAME}/opengl/*"
+EXTRACT_AFTER_ARGS= | ${TAR} -xf - "${DISTNAME}/Makefile" "${DISTNAME}/mupen64plus.desktop.in" \
+ "${DISTNAME}/pre.mk" "${DISTNAME}/release.mk" "${DISTNAME}/config/*" \
+ "${DISTNAME}/main/*" "${DISTNAME}/plugins/*" "${DISTNAME}/opengl/*"
.if ${PKGNAMESUFFIX} == "-base"
USE_GL= yes
USE_SDL= sdl
LIB_DEPENDS+= freetype.9:${PORTSDIR}/print/freetype2
-. if defined(HAVE_VCR)
-LIB_DEPENDS+= aviplay.0:${PORTSDIR}/multimedia/avifile
-MAKE_ENV+= VCR=1
-. endif
-. if defined(HAVE_NOGUI)
+. if defined(WITH_NOGUI)
USE_GNOME= #
-MAKE_ENV+= NOGUI_ONLY=1
+
+MAKE_ENV+= GUI= NONE
. endif
+.if defined(WITH_QT4)
+USE_GNOME= #
+USE_QT_VER= 4
+
+BUILD_DEPENDS+= lrelease-qt4:${PORTSDIR}/devel/qt4-linguist
+
+MAKE_ENV+= GUI= QT4
+HAVE_QT4= yes
+
+PLIST_SUB+= TRANSLATIONS=""
+.else
+PLIST_SUB+= TRANSLATIONS="@comment "
+.endif
+
ALL_TARGET= mupen64plus
-EXTRACT_AFTER_ARGS+= "${DISTNAME}/RELEASE" "${DISTNAME}/README.vcr" "${DISTNAME}/doc/*" "${DISTNAME}/lang/*" \
- "${DISTNAME}/icons/*" "${DISTNAME}/memory/*" "${DISTNAME}/r4300/*" "${DISTNAME}/debugger/*"
+EXTRACT_AFTER_ARGS+= "${DISTNAME}/RELEASE" "${DISTNAME}/README" "${DISTNAME}/doc/*" "${DISTNAME}/lang/*" \
+ "${DISTNAME}/icons/*" "${DISTNAME}/memory/*" "${DISTNAME}/r4300/*" "${DISTNAME}/debugger/*" \
+ "${DISTNAME}/translations/*"
+
MAN1= mupen64plus.1
.else
EXTRA_PATCHES?= ${.CURDIR}/../mupen64plus-base/files/patch-Makefile \
@@ -36,6 +49,16 @@ ALL_TARGET= plugins/dummyaudio.so
EXTRACT_AFTER_ARGS+= "${DISTNAME}/dummy_audio/*"
.endif
+.if ${PKGNAMESUFFIX} == "-dummyinput"
+ALL_TARGET= plugins/dummyinput.so
+EXTRACT_AFTER_ARGS+= "${DISTNAME}/dummy_input/*"
+.endif
+
+.if ${PKGNAMESUFFIX} == "-dummyvideo"
+ALL_TARGET= plugins/dummyvideo.so
+EXTRACT_AFTER_ARGS+= "${DISTNAME}/dummy_video/*"
+.endif
+
.if ${PKGNAMESUFFIX} == "-sdlinput"
ALL_TARGET= plugins/blight_input.so
EXTRACT_AFTER_ARGS+= "${DISTNAME}/blight_input/*"
@@ -83,8 +106,6 @@ ALL_TARGET= plugins/ricevideo.so
EXTRACT_AFTER_ARGS+= "${DISTNAME}/rice_video/*"
.endif
-EXTRACT_AFTER_ARGS+= -d ${WRKDIR}
-
post-configure:
.for f in ${FIXFILES}
@${REINPLACE_CMD} -e 's|malloc.h|stdlib.h|' ${WRKSRC}/${f}
@@ -135,22 +156,29 @@ do-install:
${INSTALL_PROGRAM} ${WRKSRC}/${PORTNAME} ${PREFIX}/bin/
@${MKDIR} ${DATADIR}/config
- ${INSTALL_DATA} ${WRKSRC}/config/mupen64plus.ini ${DATADIR}/config/
${INSTALL_DATA} ${WRKSRC}/config/mupen64plus.conf ${DATADIR}/config/
@${MKDIR} ${DATADIR}/lang
${INSTALL_DATA} ${WRKSRC}/lang/* ${DATADIR}/lang/
@${MKDIR} ${DATADIR}/icons
- ${INSTALL_DATA} ${WRKSRC}/icons/* ${DATADIR}/icons/
+ @cd ${WRKSRC}/icons && \
+ ${FIND} * -type d -exec ${MKDIR} "${DATADIR}/icons/{}" \; && \
+ ${FIND} * -type f -exec ${INSTALL_DATA} "${WRKSRC}/icons/{}" "${DATADIR}/icons/" \;
+ @${MKDIR} ${DESKTOPDIR}
+ ${INSTALL_DATA} ${WRKSRC}/${PORTNAME}.desktop ${DESKTOPDIR}
+
${INSTALL_MAN} ${WRKSRC}/doc/${MAN1} ${PREFIX}/man/man1/
+. if defined(HAVE_QT4)
+ @${MKDIR} ${DATADIR}/translations
+ ${INSTALL_DATA} ${WRKSRC}/translations/*.qm ${DATADIR}/translations
+. endif
. if !defined(NOPORTDOCS)
${MKDIR} ${DOCSDIR}
${INSTALL_DATA} ${WRKSRC}/RELEASE ${DOCSDIR}/RELEASE
- ${INSTALL_DATA} ${WRKSRC}/README.vcr ${DOCSDIR}/README.vcr
. endif
.else
@${MKDIR} ${DATADIR}/plugins
diff --git a/emulators/mupen64plus-base/distinfo b/emulators/mupen64plus-base/distinfo
index 274850df573e..4abc1255a9d0 100644
--- a/emulators/mupen64plus-base/distinfo
+++ b/emulators/mupen64plus-base/distinfo
@@ -1,3 +1,3 @@
-MD5 (mupen64plus/Mupen64Plus-1-4-1-src.zip) = bd59542e17107844e6b3b139a1177551
-SHA256 (mupen64plus/Mupen64Plus-1-4-1-src.zip) = 846698b2066c59970fb9e13ce278b7e04365deb8a2643f42a2661ab410c1a9ae
-SIZE (mupen64plus/Mupen64Plus-1-4-1-src.zip) = 2499700
+MD5 (mupen64plus/Mupen64Plus-1-5-src.tar.gz) = c224b045d343ff02f6f933d328861b01
+SHA256 (mupen64plus/Mupen64Plus-1-5-src.tar.gz) = 58b2da6095ed8f3bcdcb5d7612bb0f1ba81cda1861ca784ef7e46991fd73cf3f
+SIZE (mupen64plus/Mupen64Plus-1-5-src.tar.gz) = 2348443
diff --git a/emulators/mupen64plus-base/files/patch-Makefile b/emulators/mupen64plus-base/files/patch-Makefile
index 31700c2b363d..8c3f72b2c671 100644
--- a/emulators/mupen64plus-base/files/patch-Makefile
+++ b/emulators/mupen64plus-base/files/patch-Makefile
@@ -1,6 +1,25 @@
---- Makefile.orig 2008-12-13 14:53:49.000000000 -0500
-+++ Makefile 2008-12-14 23:40:23.000000000 -0500
-@@ -97,7 +97,7 @@
+--- Makefile 2009-01-04 13:47:07.000000000 -0500
++++ Makefile 2009-01-09 00:52:30.000000000 -0500
+@@ -29,12 +29,18 @@
+ include ./pre.mk
+ endif
+
++ifeq ($OS), FREEBSD)
++ LDFLAGS += -Wl,-export-dynamic
++endif
+ ifeq ($(OS), LINUX)
+ LDFLAGS += -Wl,-export-dynamic
+ endif
+
+ # set executable stack as a linker option for X86 architecture, for dynamic recompiler
+ ifeq ($(CPU), X86)
++ ifeq ($(OS), FREEBSD)
++ LDFLAGS += -z execstack
++ endif
+ ifeq ($(OS), LINUX)
+ LDFLAGS += -z execstack
+ endif
+@@ -159,7 +165,7 @@
# handle dynamic recompiler objects
ifneq ($(NO_ASM), 1)
ifeq ($(CPU), X86)
@@ -9,12 +28,3 @@
DYNAREC = x86_64
else
DYNAREC = x86
-@@ -274,7 +274,7 @@
- all: $(ALL)
-
- mupen64plus: $(OBJECTS)
-- $(MUPENCC) $^ $(LDFLAGS) $(LIBS) -Wl,-export-dynamic -lpthread -ldl -o $@
-+ $(MUPENCC) $^ $(LDFLAGS) $(LIBS) -Wl,-export-dynamic ${PTHREAD_LIBS} -o $@
- $(STRIP) $@
-
- install:
diff --git a/emulators/mupen64plus-base/files/patch-main_romcache.h b/emulators/mupen64plus-base/files/patch-main_romcache.h
new file mode 100644
index 000000000000..76c03cc36786
--- /dev/null
+++ b/emulators/mupen64plus-base/files/patch-main_romcache.h
@@ -0,0 +1,10 @@
+--- main/romcache.h 2009-01-09 01:16:19.000000000 -0500
++++ main/romcache.h 2009-01-09 01:16:33.000000000 -0500
+@@ -23,6 +23,7 @@
+ #define __ROMCACHE_H__
+
+ #include <limits.h>
++#include <time.h>
+ #include "md5.h"
+
+ #define COMMENT_MAXLENGTH 256
diff --git a/emulators/mupen64plus-base/files/patch-pre.mk b/emulators/mupen64plus-base/files/patch-pre.mk
index b1f982798129..8c00a063c926 100644
--- a/emulators/mupen64plus-base/files/patch-pre.mk
+++ b/emulators/mupen64plus-base/files/patch-pre.mk
@@ -1,10 +1,18 @@
---- pre.mk.orig 2008-12-14 22:42:29.000000000 -0500
-+++ pre.mk 2008-12-14 23:37:19.000000000 -0500
-@@ -1,45 +1,28 @@
+--- pre.mk 2009-01-09 00:29:06.000000000 -0500
++++ pre.mk 2009-01-09 00:51:15.000000000 -0500
+@@ -21,26 +21,34 @@
+
# detect system architecture: i386, x86_64, or PPC/PPC64
UNAME = $(shell uname -m)
--ifeq ("$(UNAME)","x86_64")
+ifeq ("$(UNAME)","amd64")
++ CPU = X86
++ ifeq ("$(BITS)", "32")
++ ARCH_DETECTED = 64BITS_32
++ else
++ ARCH_DETECTED = 64BITS
++ endif
++endif
+ ifeq ("$(UNAME)","x86_64")
CPU = X86
ifeq ("$(BITS)", "32")
- ARCH = 64BITS_32
@@ -32,46 +40,59 @@
NO_ASM = 1
endif
--
--# test for presence of SDL
--ifeq ($(shell which sdl-config 2>/dev/null),)
-- # throw error
-- $(error No SDL development libraries found!)
--endif
--
--# test for presence of GTK 2.0
--ifeq ($(shell which pkg-config 2>/dev/null),)
-- # throw error
-- $(error pkg-config not installed!)
--endif
--ifneq ("$(shell pkg-config gtk+-2.0 --modversion | head -c 2)", "2.")
-- # throw error
-- $(error No GTK 2.x development libraries found!)
--endif
--
- # set GTK flags and libraries
- GTK_FLAGS = $(shell pkg-config gtk+-2.0 --cflags) -D_GTK2
- GTK_LIBS = $(shell pkg-config gtk+-2.0 --libs)
-@@ -74,36 +57,36 @@
+@@ -56,6 +64,9 @@
+ OS = OSX
+ LDFLAGS += -liconv -lpng
+ endif
++ifeq ("$(UNAME)","FreeBSD")
++ OS = FREEBSD
++endif
+ ifeq ($(OS),)
+ $(warning OS not supported or detected, using default linux options.)
+@@ -66,8 +77,9 @@
+ ifeq ($(shell which sdl-config 2>/dev/null),)
+ $(error No SDL development libraries found!)
+ endif
+-SDL_FLAGS = $(shell sdl-config --cflags)
+-SDL_LIBS = $(shell sdl-config --libs)
++
++SDL_FLAGS = `${SDL_CONFIG} --cflags`
++SDL_LIBS = `${SDL_CONFIG} --libs`
+
+ # test for presence of FreeType
+ ifeq ($(shell which freetype-config 2>/dev/null),)
+@@ -147,23 +159,26 @@
+ endif
# set base program pointers and flags
-CC = gcc
-CXX = g++
-LD = g++
--STRIP = strip --strip-all
++CC ?= gcc
++CXX ?= g++
++LD ?= g++
+ ifeq ($(OS),LINUX)
+-STRIP = strip -s
++STRIP ?= strip -s
++endif
++ifeq ($(OS),FREEBSD)
++STRIP ?= strip -s
+ endif
+ ifeq ($(OS),OSX)
+-STRIP = strip -x
++STRIP ?= strip -x
+ endif
-RM = rm
+-RM_F = rm -f
-MV = mv
-CP = cp
-MD = mkdir
-FIND = find
-PROF = gprof
-INSTALL = ginstall
-+CC ?= gcc
-+CXX ?= g++
-+LD ?= g++
-+STRIP ?= strip --strip-all
+RM ?= rm
++RM_F ?= rm -f
+MV ?= mv
+CP ?= cp
+MD ?= mkdir
@@ -79,20 +100,38 @@
+PROF ?= gprof
+INSTALL ?= ginstall
- # set base CFLAGS and LDFLAGS for all systems
--CFLAGS = -pipe -O3 -ffast-math -funroll-loops -fexpensive-optimizations -fno-strict-aliasing
+ # create SVN version defines
+ MUPEN_RELEASE = 1.5
+@@ -185,23 +200,40 @@
+ endif
+
+ # set base CFLAGS and LDFLAGS
+-CFLAGS += -pipe -O3 -ffast-math -funroll-loops -fexpensive-optimizations -fno-strict-aliasing
+-CORE_LDFLAGS += -lz -lm -lpng -lfreetype -ldl
+CFLAGS += -ffast-math -funroll-loops -fexpensive-optimizations -fno-strict-aliasing
- LDFLAGS =
++ifeq ($(OS), FREEBSD)
++ CORE_LDFLAGS += -lz -lm -lpng -lfreetype
++else
++ CORE_LDFLAGS += -lz -lm -lpng -lfreetype -ldl
++endif
# set special flags per-system
ifeq ($(CPU), X86)
- ifeq ($(ARCH), 64BITS)
- CFLAGS += -march=athlon64
+ ifeq ($(ARCH_DETECTED), 64BITS)
-+ CFLAGS +=
++ ifeq ($(OS), FREEBSD)
++ CFLAGS +=
++ else
++ CFLAGS += -march=athlon64
++ endif
else
- CFLAGS += -march=i686 -mtune=pentium-m -mmmx -msse
-+ CFLAGS += -mmmx -msse
++ ifeq ($(OS), FREEBSD)
++ CFLAGS += -mmmx -msse
++ else
++ CFLAGS += -march=i686 -mtune=pentium-m -mmmx -msse
++ endif
ifneq ($(PROFILE), 1)
CFLAGS += -fomit-frame-pointer
endif
@@ -102,26 +141,33 @@
- CFLAGS += -m32
- LDFLAGS += -m32 -m elf_i386
+ ifeq ($(ARCH_DETECTED), 64BITS_32)
-+ CFLAGS +=
-+ LDFLAGS +=
++ ifeq ($(OS), FREEBSD)
++ CFLAGS +=
++ LDFLAGS +=
++ else
++ CFLAGS += -m32
++ LDFLAGS += -m32 -m elf_i386
++ endif
endif
endif
ifeq ($(CPU), PPC)
-@@ -129,8 +112,8 @@
+@@ -209,6 +241,9 @@
+ endif
# set CFLAGS, LIBS, and LDFLAGS for external dependencies
++ifeq ($(OS),FREEBSD)
++ PLUGIN_LDFLAGS = -Wl,-Bsymbolic -shared
++endif
+ ifeq ($(OS),LINUX)
+ PLUGIN_LDFLAGS = -Wl,-Bsymbolic -shared
+ endif
+@@ -216,6 +251,9 @@
+ PLUGIN_LDFLAGS = -bundle
+ endif
--SDL_FLAGS = $(shell sdl-config --cflags)
--SDL_LIBS = $(shell sdl-config --libs)
-+SDL_FLAGS = `${SDL_CONFIG} --cflags`
-+SDL_LIBS = `${SDL_CONFIG} --libs`
-
- ifeq ($(VCR), 1)
- # test for presence of avifile
-@@ -148,5 +131,5 @@
-
- PLUGIN_LDFLAGS = -Wl,-Bsymbolic -shared
-
--LIBGL_LIBS = -L/usr/X11R6/lib -lGL -lGLU
-+LIBGL_LIBS = -L${LOCALBASE}/lib -lGL -lGLU
-
++ifeq ($(OS),FREEBSD)
++ LIBGL_LIBS = -L${LOCALBASE}/lib -lGL -lGLU
++endif
+ ifeq ($(OS),LINUX)
+ LIBGL_LIBS = -L/usr/X11R6/lib -lGL -lGLU
+ endif
diff --git a/emulators/mupen64plus-base/pkg-plist b/emulators/mupen64plus-base/pkg-plist
index 54a61922029a..f320fb3c4721 100644
--- a/emulators/mupen64plus-base/pkg-plist
+++ b/emulators/mupen64plus-base/pkg-plist
@@ -1,49 +1,60 @@
bin/mupen64plus
+share/applications/mupen64plus.desktop
%%DATADIR%%/config/mupen64plus.conf
-%%DATADIR%%/config/mupen64plus.ini
-%%DATADIR%%/lang/catalan.lng
-%%DATADIR%%/lang/dutch.lng
-%%DATADIR%%/lang/english.lng
-%%DATADIR%%/lang/french.lng
-%%DATADIR%%/lang/german.lng
-%%DATADIR%%/lang/italian.lng
-%%DATADIR%%/lang/pt_BR.lng
-%%DATADIR%%/lang/spanish.lng
-%%DATADIR%%/lang/swedish.lng
+%%DATADIR%%/icons/view-fullscreen.png
+%%DATADIR%%/icons/cpu.png
+%%DATADIR%%/icons/preferences-system.png
+%%DATADIR%%/icons/media-playback-stop.png
+%%DATADIR%%/icons/audio-card.png
+%%DATADIR%%/icons/edit-delete.png
+%%DATADIR%%/icons/input-gaming.png
+%%DATADIR%%/icons/video-display.png
+%%DATADIR%%/icons/document-open.png
+%%DATADIR%%/icons/document-save-all.png
+%%DATADIR%%/icons/mupen64plus.png
+%%DATADIR%%/icons/gtk-about.png
+%%DATADIR%%/icons/document-save-as.png
+%%DATADIR%%/icons/application-exit.png
+%%DATADIR%%/icons/window-close.png
+%%DATADIR%%/icons/star.png
+%%DATADIR%%/icons/media-playback-pause.png
+%%DATADIR%%/icons/document-save.png
+%%DATADIR%%/icons/mupen64cart.png
+%%DATADIR%%/icons/document-revert.png
+%%DATADIR%%/icons/view-refresh.png
+%%DATADIR%%/icons/media-playback-start.png
+%%DATADIR%%/icons/document-properties.png
+%%DATADIR%%/icons/dialog-warning.png
+%%DATADIR%%/icons/dialog-error.png
+%%DATADIR%%/icons/dialog-question.png
+%%DATADIR%%/icons/LICENSES
+%%DATADIR%%/icons/applications-utilities.png
%%DATADIR%%/icons/australia.png
-%%DATADIR%%/icons/configure-small.png
-%%DATADIR%%/icons/configure.png
%%DATADIR%%/icons/europe.png
%%DATADIR%%/icons/france.png
-%%DATADIR%%/icons/fullscreen-small.png
-%%DATADIR%%/icons/fullscreen.png
%%DATADIR%%/icons/germany.png
-%%DATADIR%%/icons/graphics.png
-%%DATADIR%%/icons/input.png
%%DATADIR%%/icons/italy.png
%%DATADIR%%/icons/japan.png
%%DATADIR%%/icons/japanusa.png
-%%DATADIR%%/icons/logo.png
-%%DATADIR%%/icons/logo.xpm
-%%DATADIR%%/icons/messagebox-error.png
-%%DATADIR%%/icons/messagebox-info.png
-%%DATADIR%%/icons/messagebox-quest.png
-%%DATADIR%%/icons/messagebox-warn.png
-%%DATADIR%%/icons/n64cart.xpm
-%%DATADIR%%/icons/open-small.png
-%%DATADIR%%/icons/open.png
-%%DATADIR%%/icons/pause-small.png
-%%DATADIR%%/icons/pause.png
-%%DATADIR%%/icons/play-small.png
-%%DATADIR%%/icons/play.png
-%%DATADIR%%/icons/rsp.png
-%%DATADIR%%/icons/sound.png
+%%DATADIR%%/icons/mupen64cart.svg
+%%DATADIR%%/icons/mupen64logo.png
+%%DATADIR%%/icons/mupen64logo.svg
+%%DATADIR%%/icons/mupen64plus-large.png
+%%DATADIR%%/icons/mupen64plus.svg
+%%DATADIR%%/icons/preferences-system-network.png
%%DATADIR%%/icons/spain.png
-%%DATADIR%%/icons/stop-small.png
-%%DATADIR%%/icons/stop.png
%%DATADIR%%/icons/usa.png
-%%PORTDOCS%%%%DOCSDIR%%/README.vcr
+%%DATADIR%%/lang/english.lng
+%%TRANSLATIONS%%%%DATADIR%%/translations/mupen64plus_de.ts
+%%TRANSLATIONS%%%%DATADIR%%/translations/mupen64plus_en.ts
+%%TRANSLATIONS%%%%DATADIR%%/translations/mupen64plus_nb.ts
+%%TRANSLATIONS%%%%DATADIR%%/translations/mupen64plus_nl.ts
%%PORTDOCS%%%%DOCSDIR%%/RELEASE
+@dirrmtry share/applications
+%%TRANSLATIONS%%@dirrm %%DATADIR%%/translations
+@dirrm %%DATADIR%%/icons/32x32
+@dirrm %%DATADIR%%/icons/22x22
+@dirrm %%DATADIR%%/icons/16x16
@dirrm %%DATADIR%%/icons
@dirrm %%DATADIR%%/lang
@dirrmtry %%DATADIR%%/config
diff --git a/emulators/mupen64plus-core/Makefile b/emulators/mupen64plus-core/Makefile
index fade28b000fc..ed7eb49a98b0 100644
--- a/emulators/mupen64plus-core/Makefile
+++ b/emulators/mupen64plus-core/Makefile
@@ -6,7 +6,7 @@
#
PORTNAME= mupen64plus
-PORTVERSION?= 1.4.1
+PORTVERSION?= 1.5
PORTREVISION?= 0
CATEGORIES= emulators
MASTER_SITES= ${MASTER_SITE_GOOGLE_CODE}
@@ -16,7 +16,6 @@ DIST_SUBDIR= ${PORTNAME}
MAINTAINER?= acm@FreeBSD.org
COMMENT?= A fork of Mupen64 Nintendo 64 emulator
-USE_ZIP= yes
USE_GNOME?= pkgconfig gtk20
USE_GL?= #
USE_SDL?= #
@@ -27,14 +26,30 @@ MAKE_ENV+= PTHREAD_LIBS="${PTHREAD_LIBS}"
OPTIONSFILE= ${PORT_DBDIR}/${PORTNAME}${PKGNAMESUFFIX}/options
FIXFILES?= r4300/r4300.c r4300/recomp.c memory/dma.c r4300/x86/assemble.c \
- r4300/x86_64/assemble.c main/gui_gtk/main_gtk.c main/vcr.c
+ r4300/x86_64/assemble.c main/gui_gtk/main_gtk.c
-OPTIONS?= NOGUI "Build without GUI support" off
+OPTIONS?= NOGUI "Build without GUI support" off \
+ GTK2 "Build GTK2 GUI support" on \
+ QT4 "Build QT4 GUI support" off
.include <bsd.port.pre.mk>
.if defined(WITH_NOGUI)
-HAVE_NOGUI= true
+. if defined(WITH_GTK2) || defined(WITH_QT4)
+IGNORE= only one option must be selected, try make config again
+. endif
+.endif
+
+.if defined(WITH_GTK2)
+. if defined(WITH_NOGUI) || defined(WITH_QT4)
+IGNORE= only one option must be selected, try make config again
+. endif
+.endif
+
+.if defined(WITH_QT4)
+. if defined(WITH_NOGUI) || defined(WITH_GTK2)
+IGNORE= only one option must be selected, try make config again
+. endif
.endif
.include "${MASTERDIR}/Makefile.common"
diff --git a/emulators/mupen64plus-core/Makefile.common b/emulators/mupen64plus-core/Makefile.common
index af5571da5940..00babd5193bf 100644
--- a/emulators/mupen64plus-core/Makefile.common
+++ b/emulators/mupen64plus-core/Makefile.common
@@ -4,26 +4,39 @@ DISTNAME= ${PORTNAME:S/m/M/:S/pl/Pl/}-${PORTVERSION:S/./-/g}-src
PATCHDIR= ${.CURDIR}/files
WRKSRC?= ${WRKDIR}/${DISTNAME}
-EXTRACT_AFTER_ARGS= "${DISTNAME}/Makefile" ${DISTNAME}/pre.mk ${DISTNAME}/release.mk \
- "${DISTNAME}/config/*" "${DISTNAME}/main/*" "${DISTNAME}/plugins/*" \
- "${DISTNAME}/opengl/*"
+EXTRACT_AFTER_ARGS= | ${TAR} -xf - "${DISTNAME}/Makefile" "${DISTNAME}/mupen64plus.desktop.in" \
+ "${DISTNAME}/pre.mk" "${DISTNAME}/release.mk" "${DISTNAME}/config/*" \
+ "${DISTNAME}/main/*" "${DISTNAME}/plugins/*" "${DISTNAME}/opengl/*"
.if ${PKGNAMESUFFIX} == "-base"
USE_GL= yes
USE_SDL= sdl
LIB_DEPENDS+= freetype.9:${PORTSDIR}/print/freetype2
-. if defined(HAVE_VCR)
-LIB_DEPENDS+= aviplay.0:${PORTSDIR}/multimedia/avifile
-MAKE_ENV+= VCR=1
-. endif
-. if defined(HAVE_NOGUI)
+. if defined(WITH_NOGUI)
USE_GNOME= #
-MAKE_ENV+= NOGUI_ONLY=1
+
+MAKE_ENV+= GUI= NONE
. endif
+.if defined(WITH_QT4)
+USE_GNOME= #
+USE_QT_VER= 4
+
+BUILD_DEPENDS+= lrelease-qt4:${PORTSDIR}/devel/qt4-linguist
+
+MAKE_ENV+= GUI= QT4
+HAVE_QT4= yes
+
+PLIST_SUB+= TRANSLATIONS=""
+.else
+PLIST_SUB+= TRANSLATIONS="@comment "
+.endif
+
ALL_TARGET= mupen64plus
-EXTRACT_AFTER_ARGS+= "${DISTNAME}/RELEASE" "${DISTNAME}/README.vcr" "${DISTNAME}/doc/*" "${DISTNAME}/lang/*" \
- "${DISTNAME}/icons/*" "${DISTNAME}/memory/*" "${DISTNAME}/r4300/*" "${DISTNAME}/debugger/*"
+EXTRACT_AFTER_ARGS+= "${DISTNAME}/RELEASE" "${DISTNAME}/README" "${DISTNAME}/doc/*" "${DISTNAME}/lang/*" \
+ "${DISTNAME}/icons/*" "${DISTNAME}/memory/*" "${DISTNAME}/r4300/*" "${DISTNAME}/debugger/*" \
+ "${DISTNAME}/translations/*"
+
MAN1= mupen64plus.1
.else
EXTRA_PATCHES?= ${.CURDIR}/../mupen64plus-base/files/patch-Makefile \
@@ -36,6 +49,16 @@ ALL_TARGET= plugins/dummyaudio.so
EXTRACT_AFTER_ARGS+= "${DISTNAME}/dummy_audio/*"
.endif
+.if ${PKGNAMESUFFIX} == "-dummyinput"
+ALL_TARGET= plugins/dummyinput.so
+EXTRACT_AFTER_ARGS+= "${DISTNAME}/dummy_input/*"
+.endif
+
+.if ${PKGNAMESUFFIX} == "-dummyvideo"
+ALL_TARGET= plugins/dummyvideo.so
+EXTRACT_AFTER_ARGS+= "${DISTNAME}/dummy_video/*"
+.endif
+
.if ${PKGNAMESUFFIX} == "-sdlinput"
ALL_TARGET= plugins/blight_input.so
EXTRACT_AFTER_ARGS+= "${DISTNAME}/blight_input/*"
@@ -83,8 +106,6 @@ ALL_TARGET= plugins/ricevideo.so
EXTRACT_AFTER_ARGS+= "${DISTNAME}/rice_video/*"
.endif
-EXTRACT_AFTER_ARGS+= -d ${WRKDIR}
-
post-configure:
.for f in ${FIXFILES}
@${REINPLACE_CMD} -e 's|malloc.h|stdlib.h|' ${WRKSRC}/${f}
@@ -135,22 +156,29 @@ do-install:
${INSTALL_PROGRAM} ${WRKSRC}/${PORTNAME} ${PREFIX}/bin/
@${MKDIR} ${DATADIR}/config
- ${INSTALL_DATA} ${WRKSRC}/config/mupen64plus.ini ${DATADIR}/config/
${INSTALL_DATA} ${WRKSRC}/config/mupen64plus.conf ${DATADIR}/config/
@${MKDIR} ${DATADIR}/lang
${INSTALL_DATA} ${WRKSRC}/lang/* ${DATADIR}/lang/
@${MKDIR} ${DATADIR}/icons
- ${INSTALL_DATA} ${WRKSRC}/icons/* ${DATADIR}/icons/
+ @cd ${WRKSRC}/icons && \
+ ${FIND} * -type d -exec ${MKDIR} "${DATADIR}/icons/{}" \; && \
+ ${FIND} * -type f -exec ${INSTALL_DATA} "${WRKSRC}/icons/{}" "${DATADIR}/icons/" \;
+ @${MKDIR} ${DESKTOPDIR}
+ ${INSTALL_DATA} ${WRKSRC}/${PORTNAME}.desktop ${DESKTOPDIR}
+
${INSTALL_MAN} ${WRKSRC}/doc/${MAN1} ${PREFIX}/man/man1/
+. if defined(HAVE_QT4)
+ @${MKDIR} ${DATADIR}/translations
+ ${INSTALL_DATA} ${WRKSRC}/translations/*.qm ${DATADIR}/translations
+. endif
. if !defined(NOPORTDOCS)
${MKDIR} ${DOCSDIR}
${INSTALL_DATA} ${WRKSRC}/RELEASE ${DOCSDIR}/RELEASE
- ${INSTALL_DATA} ${WRKSRC}/README.vcr ${DOCSDIR}/README.vcr
. endif
.else
@${MKDIR} ${DATADIR}/plugins
diff --git a/emulators/mupen64plus-core/distinfo b/emulators/mupen64plus-core/distinfo
index 274850df573e..4abc1255a9d0 100644
--- a/emulators/mupen64plus-core/distinfo
+++ b/emulators/mupen64plus-core/distinfo
@@ -1,3 +1,3 @@
-MD5 (mupen64plus/Mupen64Plus-1-4-1-src.zip) = bd59542e17107844e6b3b139a1177551
-SHA256 (mupen64plus/Mupen64Plus-1-4-1-src.zip) = 846698b2066c59970fb9e13ce278b7e04365deb8a2643f42a2661ab410c1a9ae
-SIZE (mupen64plus/Mupen64Plus-1-4-1-src.zip) = 2499700
+MD5 (mupen64plus/Mupen64Plus-1-5-src.tar.gz) = c224b045d343ff02f6f933d328861b01
+SHA256 (mupen64plus/Mupen64Plus-1-5-src.tar.gz) = 58b2da6095ed8f3bcdcb5d7612bb0f1ba81cda1861ca784ef7e46991fd73cf3f
+SIZE (mupen64plus/Mupen64Plus-1-5-src.tar.gz) = 2348443
diff --git a/emulators/mupen64plus-core/files/patch-Makefile b/emulators/mupen64plus-core/files/patch-Makefile
index 31700c2b363d..8c3f72b2c671 100644
--- a/emulators/mupen64plus-core/files/patch-Makefile
+++ b/emulators/mupen64plus-core/files/patch-Makefile
@@ -1,6 +1,25 @@
---- Makefile.orig 2008-12-13 14:53:49.000000000 -0500
-+++ Makefile 2008-12-14 23:40:23.000000000 -0500
-@@ -97,7 +97,7 @@
+--- Makefile 2009-01-04 13:47:07.000000000 -0500
++++ Makefile 2009-01-09 00:52:30.000000000 -0500
+@@ -29,12 +29,18 @@
+ include ./pre.mk
+ endif
+
++ifeq ($OS), FREEBSD)
++ LDFLAGS += -Wl,-export-dynamic
++endif
+ ifeq ($(OS), LINUX)
+ LDFLAGS += -Wl,-export-dynamic
+ endif
+
+ # set executable stack as a linker option for X86 architecture, for dynamic recompiler
+ ifeq ($(CPU), X86)
++ ifeq ($(OS), FREEBSD)
++ LDFLAGS += -z execstack
++ endif
+ ifeq ($(OS), LINUX)
+ LDFLAGS += -z execstack
+ endif
+@@ -159,7 +165,7 @@
# handle dynamic recompiler objects
ifneq ($(NO_ASM), 1)
ifeq ($(CPU), X86)
@@ -9,12 +28,3 @@
DYNAREC = x86_64
else
DYNAREC = x86
-@@ -274,7 +274,7 @@
- all: $(ALL)
-
- mupen64plus: $(OBJECTS)
-- $(MUPENCC) $^ $(LDFLAGS) $(LIBS) -Wl,-export-dynamic -lpthread -ldl -o $@
-+ $(MUPENCC) $^ $(LDFLAGS) $(LIBS) -Wl,-export-dynamic ${PTHREAD_LIBS} -o $@
- $(STRIP) $@
-
- install:
diff --git a/emulators/mupen64plus-core/files/patch-main_romcache.h b/emulators/mupen64plus-core/files/patch-main_romcache.h
new file mode 100644
index 000000000000..76c03cc36786
--- /dev/null
+++ b/emulators/mupen64plus-core/files/patch-main_romcache.h
@@ -0,0 +1,10 @@
+--- main/romcache.h 2009-01-09 01:16:19.000000000 -0500
++++ main/romcache.h 2009-01-09 01:16:33.000000000 -0500
+@@ -23,6 +23,7 @@
+ #define __ROMCACHE_H__
+
+ #include <limits.h>
++#include <time.h>
+ #include "md5.h"
+
+ #define COMMENT_MAXLENGTH 256
diff --git a/emulators/mupen64plus-core/files/patch-pre.mk b/emulators/mupen64plus-core/files/patch-pre.mk
index b1f982798129..8c00a063c926 100644
--- a/emulators/mupen64plus-core/files/patch-pre.mk
+++ b/emulators/mupen64plus-core/files/patch-pre.mk
@@ -1,10 +1,18 @@
---- pre.mk.orig 2008-12-14 22:42:29.000000000 -0500
-+++ pre.mk 2008-12-14 23:37:19.000000000 -0500
-@@ -1,45 +1,28 @@
+--- pre.mk 2009-01-09 00:29:06.000000000 -0500
++++ pre.mk 2009-01-09 00:51:15.000000000 -0500
+@@ -21,26 +21,34 @@
+
# detect system architecture: i386, x86_64, or PPC/PPC64
UNAME = $(shell uname -m)
--ifeq ("$(UNAME)","x86_64")
+ifeq ("$(UNAME)","amd64")
++ CPU = X86
++ ifeq ("$(BITS)", "32")
++ ARCH_DETECTED = 64BITS_32
++ else
++ ARCH_DETECTED = 64BITS
++ endif
++endif
+ ifeq ("$(UNAME)","x86_64")
CPU = X86
ifeq ("$(BITS)", "32")
- ARCH = 64BITS_32
@@ -32,46 +40,59 @@
NO_ASM = 1
endif
--
--# test for presence of SDL
--ifeq ($(shell which sdl-config 2>/dev/null),)
-- # throw error
-- $(error No SDL development libraries found!)
--endif
--
--# test for presence of GTK 2.0
--ifeq ($(shell which pkg-config 2>/dev/null),)
-- # throw error
-- $(error pkg-config not installed!)
--endif
--ifneq ("$(shell pkg-config gtk+-2.0 --modversion | head -c 2)", "2.")
-- # throw error
-- $(error No GTK 2.x development libraries found!)
--endif
--
- # set GTK flags and libraries
- GTK_FLAGS = $(shell pkg-config gtk+-2.0 --cflags) -D_GTK2
- GTK_LIBS = $(shell pkg-config gtk+-2.0 --libs)
-@@ -74,36 +57,36 @@
+@@ -56,6 +64,9 @@
+ OS = OSX
+ LDFLAGS += -liconv -lpng
+ endif
++ifeq ("$(UNAME)","FreeBSD")
++ OS = FREEBSD
++endif
+ ifeq ($(OS),)
+ $(warning OS not supported or detected, using default linux options.)
+@@ -66,8 +77,9 @@
+ ifeq ($(shell which sdl-config 2>/dev/null),)
+ $(error No SDL development libraries found!)
+ endif
+-SDL_FLAGS = $(shell sdl-config --cflags)
+-SDL_LIBS = $(shell sdl-config --libs)
++
++SDL_FLAGS = `${SDL_CONFIG} --cflags`
++SDL_LIBS = `${SDL_CONFIG} --libs`
+
+ # test for presence of FreeType
+ ifeq ($(shell which freetype-config 2>/dev/null),)
+@@ -147,23 +159,26 @@
+ endif
# set base program pointers and flags
-CC = gcc
-CXX = g++
-LD = g++
--STRIP = strip --strip-all
++CC ?= gcc
++CXX ?= g++
++LD ?= g++
+ ifeq ($(OS),LINUX)
+-STRIP = strip -s
++STRIP ?= strip -s
++endif
++ifeq ($(OS),FREEBSD)
++STRIP ?= strip -s
+ endif
+ ifeq ($(OS),OSX)
+-STRIP = strip -x
++STRIP ?= strip -x
+ endif
-RM = rm
+-RM_F = rm -f
-MV = mv
-CP = cp
-MD = mkdir
-FIND = find
-PROF = gprof
-INSTALL = ginstall
-+CC ?= gcc
-+CXX ?= g++
-+LD ?= g++
-+STRIP ?= strip --strip-all
+RM ?= rm
++RM_F ?= rm -f
+MV ?= mv
+CP ?= cp
+MD ?= mkdir
@@ -79,20 +100,38 @@
+PROF ?= gprof
+INSTALL ?= ginstall
- # set base CFLAGS and LDFLAGS for all systems
--CFLAGS = -pipe -O3 -ffast-math -funroll-loops -fexpensive-optimizations -fno-strict-aliasing
+ # create SVN version defines
+ MUPEN_RELEASE = 1.5
+@@ -185,23 +200,40 @@
+ endif
+
+ # set base CFLAGS and LDFLAGS
+-CFLAGS += -pipe -O3 -ffast-math -funroll-loops -fexpensive-optimizations -fno-strict-aliasing
+-CORE_LDFLAGS += -lz -lm -lpng -lfreetype -ldl
+CFLAGS += -ffast-math -funroll-loops -fexpensive-optimizations -fno-strict-aliasing
- LDFLAGS =
++ifeq ($(OS), FREEBSD)
++ CORE_LDFLAGS += -lz -lm -lpng -lfreetype
++else
++ CORE_LDFLAGS += -lz -lm -lpng -lfreetype -ldl
++endif
# set special flags per-system
ifeq ($(CPU), X86)
- ifeq ($(ARCH), 64BITS)
- CFLAGS += -march=athlon64
+ ifeq ($(ARCH_DETECTED), 64BITS)
-+ CFLAGS +=
++ ifeq ($(OS), FREEBSD)
++ CFLAGS +=
++ else
++ CFLAGS += -march=athlon64
++ endif
else
- CFLAGS += -march=i686 -mtune=pentium-m -mmmx -msse
-+ CFLAGS += -mmmx -msse
++ ifeq ($(OS), FREEBSD)
++ CFLAGS += -mmmx -msse
++ else
++ CFLAGS += -march=i686 -mtune=pentium-m -mmmx -msse
++ endif
ifneq ($(PROFILE), 1)
CFLAGS += -fomit-frame-pointer
endif
@@ -102,26 +141,33 @@
- CFLAGS += -m32
- LDFLAGS += -m32 -m elf_i386
+ ifeq ($(ARCH_DETECTED), 64BITS_32)
-+ CFLAGS +=
-+ LDFLAGS +=
++ ifeq ($(OS), FREEBSD)
++ CFLAGS +=
++ LDFLAGS +=
++ else
++ CFLAGS += -m32
++ LDFLAGS += -m32 -m elf_i386
++ endif
endif
endif
ifeq ($(CPU), PPC)
-@@ -129,8 +112,8 @@
+@@ -209,6 +241,9 @@
+ endif
# set CFLAGS, LIBS, and LDFLAGS for external dependencies
++ifeq ($(OS),FREEBSD)
++ PLUGIN_LDFLAGS = -Wl,-Bsymbolic -shared
++endif
+ ifeq ($(OS),LINUX)
+ PLUGIN_LDFLAGS = -Wl,-Bsymbolic -shared
+ endif
+@@ -216,6 +251,9 @@
+ PLUGIN_LDFLAGS = -bundle
+ endif
--SDL_FLAGS = $(shell sdl-config --cflags)
--SDL_LIBS = $(shell sdl-config --libs)
-+SDL_FLAGS = `${SDL_CONFIG} --cflags`
-+SDL_LIBS = `${SDL_CONFIG} --libs`
-
- ifeq ($(VCR), 1)
- # test for presence of avifile
-@@ -148,5 +131,5 @@
-
- PLUGIN_LDFLAGS = -Wl,-Bsymbolic -shared
-
--LIBGL_LIBS = -L/usr/X11R6/lib -lGL -lGLU
-+LIBGL_LIBS = -L${LOCALBASE}/lib -lGL -lGLU
-
++ifeq ($(OS),FREEBSD)
++ LIBGL_LIBS = -L${LOCALBASE}/lib -lGL -lGLU
++endif
+ ifeq ($(OS),LINUX)
+ LIBGL_LIBS = -L/usr/X11R6/lib -lGL -lGLU
+ endif
diff --git a/emulators/mupen64plus-core/pkg-plist b/emulators/mupen64plus-core/pkg-plist
index 54a61922029a..f320fb3c4721 100644
--- a/emulators/mupen64plus-core/pkg-plist
+++ b/emulators/mupen64plus-core/pkg-plist
@@ -1,49 +1,60 @@
bin/mupen64plus
+share/applications/mupen64plus.desktop
%%DATADIR%%/config/mupen64plus.conf
-%%DATADIR%%/config/mupen64plus.ini
-%%DATADIR%%/lang/catalan.lng
-%%DATADIR%%/lang/dutch.lng
-%%DATADIR%%/lang/english.lng
-%%DATADIR%%/lang/french.lng
-%%DATADIR%%/lang/german.lng
-%%DATADIR%%/lang/italian.lng
-%%DATADIR%%/lang/pt_BR.lng
-%%DATADIR%%/lang/spanish.lng
-%%DATADIR%%/lang/swedish.lng
+%%DATADIR%%/icons/view-fullscreen.png
+%%DATADIR%%/icons/cpu.png
+%%DATADIR%%/icons/preferences-system.png
+%%DATADIR%%/icons/media-playback-stop.png
+%%DATADIR%%/icons/audio-card.png
+%%DATADIR%%/icons/edit-delete.png
+%%DATADIR%%/icons/input-gaming.png
+%%DATADIR%%/icons/video-display.png
+%%DATADIR%%/icons/document-open.png
+%%DATADIR%%/icons/document-save-all.png
+%%DATADIR%%/icons/mupen64plus.png
+%%DATADIR%%/icons/gtk-about.png
+%%DATADIR%%/icons/document-save-as.png
+%%DATADIR%%/icons/application-exit.png
+%%DATADIR%%/icons/window-close.png
+%%DATADIR%%/icons/star.png
+%%DATADIR%%/icons/media-playback-pause.png
+%%DATADIR%%/icons/document-save.png
+%%DATADIR%%/icons/mupen64cart.png
+%%DATADIR%%/icons/document-revert.png
+%%DATADIR%%/icons/view-refresh.png
+%%DATADIR%%/icons/media-playback-start.png
+%%DATADIR%%/icons/document-properties.png
+%%DATADIR%%/icons/dialog-warning.png
+%%DATADIR%%/icons/dialog-error.png
+%%DATADIR%%/icons/dialog-question.png
+%%DATADIR%%/icons/LICENSES
+%%DATADIR%%/icons/applications-utilities.png
%%DATADIR%%/icons/australia.png
-%%DATADIR%%/icons/configure-small.png
-%%DATADIR%%/icons/configure.png
%%DATADIR%%/icons/europe.png
%%DATADIR%%/icons/france.png
-%%DATADIR%%/icons/fullscreen-small.png
-%%DATADIR%%/icons/fullscreen.png
%%DATADIR%%/icons/germany.png
-%%DATADIR%%/icons/graphics.png
-%%DATADIR%%/icons/input.png
%%DATADIR%%/icons/italy.png
%%DATADIR%%/icons/japan.png
%%DATADIR%%/icons/japanusa.png
-%%DATADIR%%/icons/logo.png
-%%DATADIR%%/icons/logo.xpm
-%%DATADIR%%/icons/messagebox-error.png
-%%DATADIR%%/icons/messagebox-info.png
-%%DATADIR%%/icons/messagebox-quest.png
-%%DATADIR%%/icons/messagebox-warn.png
-%%DATADIR%%/icons/n64cart.xpm
-%%DATADIR%%/icons/open-small.png
-%%DATADIR%%/icons/open.png
-%%DATADIR%%/icons/pause-small.png
-%%DATADIR%%/icons/pause.png
-%%DATADIR%%/icons/play-small.png
-%%DATADIR%%/icons/play.png
-%%DATADIR%%/icons/rsp.png
-%%DATADIR%%/icons/sound.png
+%%DATADIR%%/icons/mupen64cart.svg
+%%DATADIR%%/icons/mupen64logo.png
+%%DATADIR%%/icons/mupen64logo.svg
+%%DATADIR%%/icons/mupen64plus-large.png
+%%DATADIR%%/icons/mupen64plus.svg
+%%DATADIR%%/icons/preferences-system-network.png
%%DATADIR%%/icons/spain.png
-%%DATADIR%%/icons/stop-small.png
-%%DATADIR%%/icons/stop.png
%%DATADIR%%/icons/usa.png
-%%PORTDOCS%%%%DOCSDIR%%/README.vcr
+%%DATADIR%%/lang/english.lng
+%%TRANSLATIONS%%%%DATADIR%%/translations/mupen64plus_de.ts
+%%TRANSLATIONS%%%%DATADIR%%/translations/mupen64plus_en.ts
+%%TRANSLATIONS%%%%DATADIR%%/translations/mupen64plus_nb.ts
+%%TRANSLATIONS%%%%DATADIR%%/translations/mupen64plus_nl.ts
%%PORTDOCS%%%%DOCSDIR%%/RELEASE
+@dirrmtry share/applications
+%%TRANSLATIONS%%@dirrm %%DATADIR%%/translations
+@dirrm %%DATADIR%%/icons/32x32
+@dirrm %%DATADIR%%/icons/22x22
+@dirrm %%DATADIR%%/icons/16x16
@dirrm %%DATADIR%%/icons
@dirrm %%DATADIR%%/lang
@dirrmtry %%DATADIR%%/config
diff --git a/emulators/mupen64plus-glide/files/patch-glide64_Makefile b/emulators/mupen64plus-glide/files/patch-glide64_Makefile
index 6937a95debca..a4042e9fbc89 100644
--- a/emulators/mupen64plus-glide/files/patch-glide64_Makefile
+++ b/emulators/mupen64plus-glide/files/patch-glide64_Makefile
@@ -1,58 +1,15 @@
---- glide64/Makefile 2008-10-13 21:31:47.000000000 -0500
-+++ glide64/Makefile 2008-12-15 01:10:56.000000000 -0500
-@@ -4,7 +4,7 @@
- include ../pre.mk
-
- # set BITS
--ifeq ("$(ARCH)","64BITS")
-+ifeq ("$(ARCH_DETECTED)","64BITS")
- BITS=64
- MOPT=-m amd64
- else
-@@ -13,15 +13,15 @@
- endif
-
- # local CFLAGS, LIBS, and LDFLAGS
--CFLAGS = -O3 -Wall -g -DGCC -DUSE_GTK $(SDL_CFLAGS) $(GTK_FLAGS) -Iwrapper/ -ffast-math -funroll-loops
--LDFLAGS = -shared -Wl,-Bsymbolic -lGL -lGLU -L/usr/X11R6/lib $(SDL_LIBS)
-+CFLAGS += -DGCC -DUSE_GTK $(SDL_CFLAGS) $(GTK_FLAGS) -Iwrapper/ -ffast-math -funroll-loops
-+LDFLAGS += -shared -Wl,-Bsymbolic -lGL -lGLU -L${LOCALBASE}/lib $(SDL_LIBS)
-
- # set special flags per-system
- ifeq ($(CPU), X86)
-- ifeq ($(ARCH), 64BITS)
-- CFLAGS += -march=athlon64 -fPIC
-+ ifeq ($(ARCH_DETECTED), 64BITS)
-+ CFLAGS += -fPIC
- else
-- CFLAGS += -march=i686 -mtune=pentium-m -mmmx -msse
-+ CFLAGS += -mmmx -msse
- ifneq ($(PROFILE), 1)
- ifneq ($(VPDEBUG), 1)
- CFLAGS += -fomit-frame-pointer
-@@ -29,9 +29,9 @@
- endif
- endif
- # tweak flags for 32-bit build on 64-bit system
-- ifeq ($(ARCH), 64BITS_32)
-- CFLAGS += -m32
-- LDFLAGS += -m32 -m elf_i386
-+ ifeq ($(ARCH_DETECTED), 64BITS_32)
-+ CFLAGS +=
-+ LDFLAGS +=
- endif
- endif
- ifeq ($(CPU), PPC)
-@@ -122,7 +122,7 @@
+--- glide64/Makefile 2009-01-13 00:45:38.000000000 -0500
++++ glide64/Makefile 2009-01-13 00:46:46.000000000 -0500
+@@ -114,7 +114,7 @@
all: $(TARGET)
- $(TARGET): $(OBJECTS)
-- $(LD) $(OBJECTS) $(GTK_LIBS) $(LDFLAGS) -o $@
-+ $(CC) $(OBJECTS) $(LDFLAGS) $(GTK_LIBS) -o $@
- $(STRIP) --strip-all $@
+ $(TARGET): $(QT_EXTRA) $(OBJECTS)
+- $(LD) $(OBJECTS) $(LDFLAGS) -o $@
++ $(CC) $(OBJECTS) $(LDFLAGS) -o $@
+ $(STRIP) $@
- Main.o: font.h cursor.h
-@@ -135,7 +135,7 @@
+ ui_glide64config.h: glide64config.ui
+@@ -133,7 +133,7 @@
compiletex: compiletex.c
@rm -f compiletex compiletex.o
$(CC) -o compiletex.o -c $<
diff --git a/emulators/mupen64plus-input-sdl/files/patch-blight_input_plugin.c b/emulators/mupen64plus-input-sdl/files/patch-blight_input_plugin.c
deleted file mode 100644
index 3737bc204b3b..000000000000
--- a/emulators/mupen64plus-input-sdl/files/patch-blight_input_plugin.c
+++ /dev/null
@@ -1,82 +0,0 @@
---- blight_input/plugin.c 2008-10-13 21:31:47.000000000 -0500
-+++ blight_input/plugin.c 2008-12-15 02:11:02.000000000 -0500
-@@ -20,7 +20,9 @@
- #include <fcntl.h>
- #include <unistd.h>
- #include <dirent.h>
-+#ifdef __linux__
- #include <linux/input.h>
-+#endif
-
- #include "plugin.h"
-
-@@ -453,9 +455,11 @@
-
- BYTE lastCommand[6];
-
-+#ifdef __linux__
- struct ff_effect ffeffect[3];
- struct ff_effect ffstrong[3];
- struct ff_effect ffweak[3];
-+#endif
-
- BYTE DataCRC( BYTE *Data, int iLenght )
- {
-@@ -513,6 +517,7 @@
- void
- ControllerCommand(int Control, BYTE *Command)
- {
-+#ifdef __linux__
- BYTE *Data = &Command[5];
- struct input_event play;
-
-@@ -580,6 +585,7 @@
- /*printf( "Write eeprom\n" );*/
- break;
- }
-+#endif
- }
-
- /******************************************************************
-@@ -860,7 +866,9 @@
- void
- GetKeys( int Control, BUTTONS *Keys )
- {
-+#ifdef __linux__
- struct input_event play;
-+#endif
- int b, axis_val, axis_max_val, axis_val_tmp;
- SDL_Event event;
- Uint8 *keystate = SDL_GetKeyState( NULL );
-@@ -1086,6 +1094,7 @@
- #endif
- *(int *)Keys = *(int *)&controller[Control].buttons;
-
-+#ifdef __linux__
- /* handle mempack / rumblepak switching (only if rumble is active on joystick) */
- if (controller[Control].event_joystick != 0)
- {
-@@ -1108,6 +1117,7 @@
- perror("Error starting rumble effect");
- }
- }
-+#endif
- }
-
- int InitiateRumble(int cntrl)
-@@ -1165,6 +1175,7 @@
- return 0;
- }
-
-+#ifdef __linux__
- if (ioctl(controller[cntrl].event_joystick, EVIOCGBIT(EV_FF, sizeof(unsigned long) * 4), features) == -1)
- {
- printf("["PLUGIN_NAME"]: Linux kernel communication failed for force feedback (rumble).\n", temp);
-@@ -1205,6 +1216,7 @@
- ioctl(controller[cntrl].event_joystick, EVIOCSFF, &ffweak[cntrl]);
-
- printf("["PLUGIN_NAME"]: Rumble activated on N64 joystick #%i\n", cntrl + 1);
-+#endif
- }
-
- /******************************************************************
diff --git a/emulators/mupen64plus-rice/Makefile b/emulators/mupen64plus-rice/Makefile
index aabc98f6a3c8..8fee40047d36 100644
--- a/emulators/mupen64plus-rice/Makefile
+++ b/emulators/mupen64plus-rice/Makefile
@@ -12,6 +12,8 @@ COMMENT= The rice graphics plugin for Mupen64plus
USE_GL= yes
USE_SDL= sdl
+#USE_GCC= 4.1+
+
FIXFILES= rice_video/liblinux/BMGImage.c rice_video/liblinux/BMGUtils.c
PLUGIN_NAME= ricevideo
diff --git a/emulators/mupen64plus-rice/files/patch-rice_video_Makefile b/emulators/mupen64plus-rice/files/patch-rice_video_Makefile
index 67f1add0d455..793693248c6e 100644
--- a/emulators/mupen64plus-rice/files/patch-rice_video_Makefile
+++ b/emulators/mupen64plus-rice/files/patch-rice_video_Makefile
@@ -1,18 +1,7 @@
---- rice_video/Makefile 2008-10-13 21:31:48.000000000 -0500
-+++ rice_video/Makefile 2008-12-15 01:54:25.000000000 -0500
-@@ -4,8 +4,8 @@
- include ../pre.mk
-
- # local CFLAGS, LIBS, and LDFLAGS
--CFLAGS += -DUSE_GTK `sdl-config --cflags` $(GTK_FLAGS) -fpic -DPIC -Wall
--LDFLAGS += -L/usr/X11R6/lib `sdl-config --libs` -lGL -shared -Wl,-Bsymbolic
-+CFLAGS += -DUSE_GTK $(SDL_FLAGS) $(GTK_FLAGS) -fpic -DPIC -Wall
-+LDFLAGS += -L$(LOCALBASE)/lib $(SDL_LIBS) -lGL -shared -Wl,-Bsymbolic
-
- # set options
-
-@@ -101,7 +101,7 @@
- all: ricevideo.so
+--- rice_video/Makefile 2009-01-13 00:49:24.000000000 -0500
++++ rice_video/Makefile 2009-01-13 00:50:11.000000000 -0500
+@@ -131,7 +131,7 @@
+ all: version.h ricevideo.so
ricevideo.so: $(OBJECTS)
- $(LD) $(OBJECTS) $(GTK_LIBS) $(LDFLAGS) -o $@
diff --git a/emulators/mupen64plus-sdlinput/files/patch-blight_input_plugin.c b/emulators/mupen64plus-sdlinput/files/patch-blight_input_plugin.c
deleted file mode 100644
index 3737bc204b3b..000000000000
--- a/emulators/mupen64plus-sdlinput/files/patch-blight_input_plugin.c
+++ /dev/null
@@ -1,82 +0,0 @@
---- blight_input/plugin.c 2008-10-13 21:31:47.000000000 -0500
-+++ blight_input/plugin.c 2008-12-15 02:11:02.000000000 -0500
-@@ -20,7 +20,9 @@
- #include <fcntl.h>
- #include <unistd.h>
- #include <dirent.h>
-+#ifdef __linux__
- #include <linux/input.h>
-+#endif
-
- #include "plugin.h"
-
-@@ -453,9 +455,11 @@
-
- BYTE lastCommand[6];
-
-+#ifdef __linux__
- struct ff_effect ffeffect[3];
- struct ff_effect ffstrong[3];
- struct ff_effect ffweak[3];
-+#endif
-
- BYTE DataCRC( BYTE *Data, int iLenght )
- {
-@@ -513,6 +517,7 @@
- void
- ControllerCommand(int Control, BYTE *Command)
- {
-+#ifdef __linux__
- BYTE *Data = &Command[5];
- struct input_event play;
-
-@@ -580,6 +585,7 @@
- /*printf( "Write eeprom\n" );*/
- break;
- }
-+#endif
- }
-
- /******************************************************************
-@@ -860,7 +866,9 @@
- void
- GetKeys( int Control, BUTTONS *Keys )
- {
-+#ifdef __linux__
- struct input_event play;
-+#endif
- int b, axis_val, axis_max_val, axis_val_tmp;
- SDL_Event event;
- Uint8 *keystate = SDL_GetKeyState( NULL );
-@@ -1086,6 +1094,7 @@
- #endif
- *(int *)Keys = *(int *)&controller[Control].buttons;
-
-+#ifdef __linux__
- /* handle mempack / rumblepak switching (only if rumble is active on joystick) */
- if (controller[Control].event_joystick != 0)
- {
-@@ -1108,6 +1117,7 @@
- perror("Error starting rumble effect");
- }
- }
-+#endif
- }
-
- int InitiateRumble(int cntrl)
-@@ -1165,6 +1175,7 @@
- return 0;
- }
-
-+#ifdef __linux__
- if (ioctl(controller[cntrl].event_joystick, EVIOCGBIT(EV_FF, sizeof(unsigned long) * 4), features) == -1)
- {
- printf("["PLUGIN_NAME"]: Linux kernel communication failed for force feedback (rumble).\n", temp);
-@@ -1205,6 +1216,7 @@
- ioctl(controller[cntrl].event_joystick, EVIOCSFF, &ffweak[cntrl]);
-
- printf("["PLUGIN_NAME"]: Rumble activated on N64 joystick #%i\n", cntrl + 1);
-+#endif
- }
-
- /******************************************************************
diff --git a/emulators/mupen64plus-video-rice/Makefile b/emulators/mupen64plus-video-rice/Makefile
index aabc98f6a3c8..8fee40047d36 100644
--- a/emulators/mupen64plus-video-rice/Makefile
+++ b/emulators/mupen64plus-video-rice/Makefile
@@ -12,6 +12,8 @@ COMMENT= The rice graphics plugin for Mupen64plus
USE_GL= yes
USE_SDL= sdl
+#USE_GCC= 4.1+
+
FIXFILES= rice_video/liblinux/BMGImage.c rice_video/liblinux/BMGUtils.c
PLUGIN_NAME= ricevideo
diff --git a/emulators/mupen64plus-video-rice/files/patch-rice_video_Makefile b/emulators/mupen64plus-video-rice/files/patch-rice_video_Makefile
index 67f1add0d455..793693248c6e 100644
--- a/emulators/mupen64plus-video-rice/files/patch-rice_video_Makefile
+++ b/emulators/mupen64plus-video-rice/files/patch-rice_video_Makefile
@@ -1,18 +1,7 @@
---- rice_video/Makefile 2008-10-13 21:31:48.000000000 -0500
-+++ rice_video/Makefile 2008-12-15 01:54:25.000000000 -0500
-@@ -4,8 +4,8 @@
- include ../pre.mk
-
- # local CFLAGS, LIBS, and LDFLAGS
--CFLAGS += -DUSE_GTK `sdl-config --cflags` $(GTK_FLAGS) -fpic -DPIC -Wall
--LDFLAGS += -L/usr/X11R6/lib `sdl-config --libs` -lGL -shared -Wl,-Bsymbolic
-+CFLAGS += -DUSE_GTK $(SDL_FLAGS) $(GTK_FLAGS) -fpic -DPIC -Wall
-+LDFLAGS += -L$(LOCALBASE)/lib $(SDL_LIBS) -lGL -shared -Wl,-Bsymbolic
-
- # set options
-
-@@ -101,7 +101,7 @@
- all: ricevideo.so
+--- rice_video/Makefile 2009-01-13 00:49:24.000000000 -0500
++++ rice_video/Makefile 2009-01-13 00:50:11.000000000 -0500
+@@ -131,7 +131,7 @@
+ all: version.h ricevideo.so
ricevideo.so: $(OBJECTS)
- $(LD) $(OBJECTS) $(GTK_LIBS) $(LDFLAGS) -o $@
diff --git a/emulators/mupen64plus/Makefile b/emulators/mupen64plus/Makefile
index d557cc2d6a4b..b6f8e6a186b7 100644
--- a/emulators/mupen64plus/Makefile
+++ b/emulators/mupen64plus/Makefile
@@ -6,7 +6,7 @@
#
PORTNAME= mupen64plus
-PORTVERSION= 1.4.1
+PORTVERSION= 1.5
CATEGORIES= emulators
MASTER_SITES= # empty
DISTFILES= # empty
@@ -28,6 +28,7 @@ RUN_DEPENDS+= ${PLUGINDIR}/blight_input.so:${PORTSDIR}/emulators/mupen64plus-sdl
RUN_DEPENDS+= ${PLUGINDIR}/mupen64_hle_rsp_azimer.so:${PORTSDIR}/emulators/mupen64plus-rsp
# Graphics plugins
+RUN_DEPENDS+= ${PLUGINDIR}/dummyvideo.so:${PORTSDIR}/emulators/mupen64plus-dummyvideo
RUN_DEPENDS+= ${PLUGINDIR}/ricevideo.so:${PORTSDIR}/emulators/mupen64plus-rice
RUN_DEPENDS+= ${PLUGINDIR}/glide64.so:${PORTSDIR}/emulators/mupen64plus-glide
RUN_DEPENDS+= ${PLUGINDIR}/glN64.so:${PORTSDIR}/emulators/mupen64plus-gln64