aboutsummaryrefslogtreecommitdiffstats
path: root/emulators
diff options
context:
space:
mode:
authordinoex <dinoex@FreeBSD.org>2004-10-12 13:00:24 +0800
committerdinoex <dinoex@FreeBSD.org>2004-10-12 13:00:24 +0800
commit53c264ef6e18f5580038f851be454e04bcec0564 (patch)
tree4ef8ce113d98a53b7f288f87c245cc66d3103384 /emulators
parent1a031425515aa36a3afbcb7a87c915684cacb20d (diff)
downloadfreebsd-ports-gnome-53c264ef6e18f5580038f851be454e04bcec0564.tar.gz
freebsd-ports-gnome-53c264ef6e18f5580038f851be454e04bcec0564.tar.zst
freebsd-ports-gnome-53c264ef6e18f5580038f851be454e04bcec0564.zip
glN64 graphics plugin for Mupen64
- Mupen64 is a highly portable Nintendo 64 emulator. It has been developed on/for Linux originally but has already been ported successfully to other operating systems. The program can easily be ported to all operating systems supported by the SDL library. In its current state, the emulator is highly compatible and uses a plugin system. With the correct plugins ("correct" can be computer dependent), it can achieve nearly perfect graphics and sound in many games. WWW: http://mupen64.emulation64.com/ PR: 71895 Submitted by: Travis Poppe
Diffstat (limited to 'emulators')
-rw-r--r--emulators/Makefile1
-rw-r--r--emulators/mupen64-gln64/Makefile55
-rw-r--r--emulators/mupen64-gln64/distinfo2
-rw-r--r--emulators/mupen64-gln64/files/patch-Combiner.cpp11
-rw-r--r--emulators/mupen64-gln64/files/patch-Makefile21
-rw-r--r--emulators/mupen64-gln64/files/patch-winlnxdefs.h24
-rw-r--r--emulators/mupen64-gln64/pkg-descr15
-rw-r--r--emulators/mupen64-gln64/pkg-message9
8 files changed, 138 insertions, 0 deletions
diff --git a/emulators/Makefile b/emulators/Makefile
index 8f52617e6d05..b8f06659b60e 100644
--- a/emulators/Makefile
+++ b/emulators/Makefile
@@ -63,6 +63,7 @@
SUBDIR += mupen64-base
SUBDIR += mupen64-dummyaudio
SUBDIR += mupen64-glide
+ SUBDIR += mupen64-gln64
SUBDIR += osf1_base
SUBDIR += p-interp
SUBDIR += pcemu
diff --git a/emulators/mupen64-gln64/Makefile b/emulators/mupen64-gln64/Makefile
new file mode 100644
index 000000000000..e478d3a5c676
--- /dev/null
+++ b/emulators/mupen64-gln64/Makefile
@@ -0,0 +1,55 @@
+# New ports collection makefile for: mupen64-gln64
+# Date created: 11.Aug 2004
+# Whom: dirk.meyer@dinoex.sub.org
+#
+# $FreeBSD$
+#
+
+PORTNAME= mupen64
+PORTVERSION= 0.4.1
+CATEGORIES+= emulators
+MASTER_SITES= http://mupen64.emulation64.com/files/0.4/
+PKGNAMESUFFIX= -gln64
+DISTNAME= glN64-${PORTVERSION}-rc2
+
+MAINTAINER?= tlp@LiquidX.org
+COMMENT= GlN64 graphics plugin for Mupen64
+
+USE_BZIP2= yes
+USE_REINPLACE= yes
+USE_GMAKE= yes
+USE_SDL= sdl
+USE_GNOME= gtk12
+USE_GCC= 3.4
+ONLY_FOR_ARCHS= i386
+
+PLUGIN_NAME= glN64-${PORTVERSION}
+PLIST_FILES= share/mupen64/plugins/${PLUGIN_NAME}.so
+PLIST_DIRS= share/mupen64/plugins
+PLIST_DIRS+= share/mupen64
+
+ALL_TARGET= ${PLUGIN_NAME}.so
+
+post-patch:
+ @${REINPLACE_CMD} -e 's|malloc.h|stdlib.h|' ${WRKSRC}/DepthBuffer.cpp
+
+do-install:
+ @${MKDIR} ${PREFIX}/share/mupen64/plugins
+ ${INSTALL_SCRIPT} ${WRKSRC}/${PLUGIN_NAME}.so \
+ ${PREFIX}/share/mupen64/plugins/
+
+.include <bsd.port.pre.mk>
+
+CFLAGS+= -I. -D__LINUX__ -D__USE_GNU `${SDL_CONFIG} --cflags`
+CFLAGS+= -DUSE_GTK `${GTK_CONFIG} --cflags gtk gthread` `${GLIB_CONFIG} --cflags` -fPIC
+CFLAGS+= -O3 -fomit-frame-pointer -funroll-loops -ffast-math -finline-functions -Wall -pipe
+CFLAGS+= -DX86_ASM -mcpu=athlon
+LDFLAGS+= -shared -Wl,-Bsymbolic
+LDFLAGS+= `${SDL_CONFIG} --libs` `${GTK_CONFIG} --libs gtk gthread` `${GLIB_CONFIG} --libs` -lGL -lGLU
+
+MAKE_ARGS+= CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" LD="${CXX}"
+
+post-install:
+ @${CAT} ${PKGMESSAGE}
+
+.include <bsd.port.post.mk>
diff --git a/emulators/mupen64-gln64/distinfo b/emulators/mupen64-gln64/distinfo
new file mode 100644
index 000000000000..575188783da4
--- /dev/null
+++ b/emulators/mupen64-gln64/distinfo
@@ -0,0 +1,2 @@
+MD5 (glN64-0.4.1-rc2.tar.bz2) = 0cb22a6bce17723a18ab0b16118eb37a
+SIZE (glN64-0.4.1-rc2.tar.bz2) = 137423
diff --git a/emulators/mupen64-gln64/files/patch-Combiner.cpp b/emulators/mupen64-gln64/files/patch-Combiner.cpp
new file mode 100644
index 000000000000..b9545cf967c1
--- /dev/null
+++ b/emulators/mupen64-gln64/files/patch-Combiner.cpp
@@ -0,0 +1,11 @@
+--- Combiner.cpp.orig Tue Sep 21 16:59:01 2004
++++ Combiner.cpp Tue Sep 21 16:59:37 2004
+@@ -348,7 +348,7 @@
+ void Combiner_SelectCombine( u64 mux )
+ {
+ // Hack for the Banjo-Tooie shadow (framebuffer textures must be enabled too)
+- if ((gDP.otherMode.cycleType == G_CYC_1CYCLE) && (mux == 0x00ffe7ffffcf9fcf) && (cache.current[0]->frameBufferTexture))
++ if ((gDP.otherMode.cycleType == G_CYC_1CYCLE) && (mux == 0x00ffe7ffffcf9fcfLL) && (cache.current[0]->frameBufferTexture))
+ {
+ mux = EncodeCombineMode( 0, 0, 0, 0, TEXEL0, 0, PRIMITIVE, 0,
+ 0, 0, 0, 0, TEXEL0, 0, PRIMITIVE, 0 );
diff --git a/emulators/mupen64-gln64/files/patch-Makefile b/emulators/mupen64-gln64/files/patch-Makefile
new file mode 100644
index 000000000000..7d61968c4097
--- /dev/null
+++ b/emulators/mupen64-gln64/files/patch-Makefile
@@ -0,0 +1,21 @@
+--- Makefile.orig Sat Jul 3 22:34:59 2004
++++ Makefile Thu Aug 12 16:48:48 2004
+@@ -1,13 +1,13 @@
+ DEFINES = -D__LINUX__ -DX86_ASM
+-CXX = g++
+-CXXFLAGS = -I. $(DEFINES) `sdl-config --cflags` `gtk-config --cflags gtk gthread` \
++#CXX = g++
++#CXXFLAGS = -I. $(DEFINES) `sdl-config --cflags` `gtk-config --cflags gtk gthread` \
+ `glib-config --cflags` -finline-functions -funroll-loops \
+ -ffast-math -fomit-frame-pointer -mcpu=`uname -m` -O3
+ #CXXFLAGS = -I. $(DEFINES) `sdl-config --cflags` `gtk-config --cflags gtk gthread` \
+ # `glib-config --cflags` -g3 #-DDEBUG
+-LD = g++
+-LDFLAGS = -shared -Wl,-Bsymbolic
+-LIBS = `sdl-config --libs` `gtk-config --libs gtk gthread` `glib-config --libs` -lGL -lGLU
++#LD = g++
++#LDFLAGS = -shared -Wl,-Bsymbolic
++#LIBS = `sdl-config --libs` `gtk-config --libs gtk gthread` `glib-config --libs` -lGL -lGLU
+ TARGET = glN64-0.4.1.so
+ OBJECTS = 2xSAI.o \
+ CRC.o \
diff --git a/emulators/mupen64-gln64/files/patch-winlnxdefs.h b/emulators/mupen64-gln64/files/patch-winlnxdefs.h
new file mode 100644
index 000000000000..2ff16f96000e
--- /dev/null
+++ b/emulators/mupen64-gln64/files/patch-winlnxdefs.h
@@ -0,0 +1,24 @@
+--- winlnxdefs.h.orig Thu Oct 16 01:01:08 2003
++++ winlnxdefs.h Wed Sep 22 05:32:54 2004
+@@ -30,7 +30,9 @@
+ #ifndef WINLNXDEFS_H
+ #define WINLNXDEFS_H
+
++#ifndef __FreeBSD__
+ #include <features.h> // we want GNU extensions
++#endif
+ #include <dlfcn.h>
+ #include <errno.h>
+ #include <limits.h> // PATH_MAX
+@@ -113,7 +115,11 @@
+ {
+ fprintf( stderr, "(WW) Couldn't get path of .so, trying to get emulator's path\n" );
+ #endif // __USE_GNU
++#ifndef __FreeBSD__
+ if (readlink( "/proc/self/exe", path, PATH_MAX ) == -1)
++#else
++ if (readlink( "/proc/curproc/file", path, PATH_MAX ) == -1)
++#endif // __FreeBSD__
+ {
+ fprintf( stderr, "(WW) readlink() /proc/self/exe failed: %s\n", strerror( errno ) );
+ path[0] = '.';
diff --git a/emulators/mupen64-gln64/pkg-descr b/emulators/mupen64-gln64/pkg-descr
new file mode 100644
index 000000000000..a016fd024232
--- /dev/null
+++ b/emulators/mupen64-gln64/pkg-descr
@@ -0,0 +1,15 @@
+glN64 graphics plugin for Mupen64
+-
+Mupen64 is a highly portable Nintendo 64 emulator. It has been developed
+on/for Linux originally but has already been ported successfully to other
+operating systems. The program can easily be ported to all operating systems
+supported by the SDL library.
+
+In its current state, the emulator is highly compatible and uses a plugin
+system. With the correct plugins ("correct" can be computer dependent), it
+can achieve nearly perfect graphics and sound in many games.
+
+WWW: http://mupen64.emulation64.com/
+
+- Travis Poppe
+tlp@liquidx.org
diff --git a/emulators/mupen64-gln64/pkg-message b/emulators/mupen64-gln64/pkg-message
new file mode 100644
index 000000000000..d53470396a22
--- /dev/null
+++ b/emulators/mupen64-gln64/pkg-message
@@ -0,0 +1,9 @@
+-------------------------------------------------------------------------------
+If you have installed/upgraded any new plugins or are upgrading from a previous
+version of Mupen64, please note that in order for these changes to take effect,
+you -must- backup and then remove ~/.mupen64 first. After you have removed the
+directory, run 'mupen64' to re-create it. Then, manually copy back your save
+files/other data you need from the backup if necessary.
+
+Enjoy!
+-------------------------------------------------------------------------------