aboutsummaryrefslogtreecommitdiffstats
path: root/emulators
diff options
context:
space:
mode:
authormartymac <martymac@FreeBSD.org>2012-01-02 20:16:47 +0800
committermartymac <martymac@FreeBSD.org>2012-01-02 20:16:47 +0800
commit0886d8506b7928ff2ddc87c96132db786bbce312 (patch)
tree44197d33f79cfa4763217e0dd3c67fd9ff7e680c /emulators
parent3f94af66c021c53f695f0122bd706992f8b9556f (diff)
downloadfreebsd-ports-gnome-0886d8506b7928ff2ddc87c96132db786bbce312.tar.gz
freebsd-ports-gnome-0886d8506b7928ff2ddc87c96132db786bbce312.tar.zst
freebsd-ports-gnome-0886d8506b7928ff2ddc87c96132db786bbce312.zip
- Update to 20111213
- Use setrlimit() to have mmap() return an address below 2GB. This avoids using MAP_FIXED, which could discard already mapped pages.
Diffstat (limited to 'emulators')
-rw-r--r--emulators/dolphin-emu-devel/Makefile3
-rw-r--r--emulators/dolphin-emu-devel/distinfo4
-rw-r--r--emulators/dolphin-emu-devel/files/patch-Source-Core-Common-Src-MemoryUtil.cpp40
-rw-r--r--emulators/dolphin-emu-devel/pkg-plist101
4 files changed, 144 insertions, 4 deletions
diff --git a/emulators/dolphin-emu-devel/Makefile b/emulators/dolphin-emu-devel/Makefile
index 53d94c49d9dc..7aa82455b578 100644
--- a/emulators/dolphin-emu-devel/Makefile
+++ b/emulators/dolphin-emu-devel/Makefile
@@ -7,7 +7,6 @@
PORTNAME= dolphin-emu
PORTVERSION= 3.0.r${REVDATE}
-PORTREVISION= 1
CATEGORIES= emulators
MASTER_SITES= http://contribs.martymac.org/FreeBSD-ports/distfiles/ \
LOCAL/martymac
@@ -25,7 +24,7 @@ LIB_DEPENDS= avformat.1:${PORTSDIR}/multimedia/ffmpeg \
lzo2.2:${PORTSDIR}/archivers/lzo2 \
sfml-network.1:${PORTSDIR}/devel/sfml
-REVDATE= 20110912
+REVDATE= 20111213
USE_GNOME= pkgconfig
USE_SDL= sdl
diff --git a/emulators/dolphin-emu-devel/distinfo b/emulators/dolphin-emu-devel/distinfo
index 8359287e1778..3f4eabe2dc29 100644
--- a/emulators/dolphin-emu-devel/distinfo
+++ b/emulators/dolphin-emu-devel/distinfo
@@ -1,2 +1,2 @@
-SHA256 (dolphin-emu-3.0.r20110912.tgz) = aa1edc0c731a50378b103e6d4a2f51632efe37121fae7f2bf74ffc3ecd6129ea
-SIZE (dolphin-emu-3.0.r20110912.tgz) = 27407613
+SHA256 (dolphin-emu-3.0.r20111213.tgz) = c507664e9db3124f8e9b8559f9381d35176f144f68c618074f7e98e16bc7f537
+SIZE (dolphin-emu-3.0.r20111213.tgz) = 28067223
diff --git a/emulators/dolphin-emu-devel/files/patch-Source-Core-Common-Src-MemoryUtil.cpp b/emulators/dolphin-emu-devel/files/patch-Source-Core-Common-Src-MemoryUtil.cpp
new file mode 100644
index 000000000000..3a7bfe39a88a
--- /dev/null
+++ b/emulators/dolphin-emu-devel/files/patch-Source-Core-Common-Src-MemoryUtil.cpp
@@ -0,0 +1,40 @@
+--- Source/Core/Common/Src/MemoryUtil.cpp.orig 2011-12-20 19:12:51.735175478 +0100
++++ Source/Core/Common/Src/MemoryUtil.cpp 2011-12-20 19:22:47.010407665 +0100
+@@ -33,6 +33,13 @@
+ #define round_page(x) ((((unsigned long)(x)) + PAGE_MASK) & ~(PAGE_MASK))
+ #endif
+
++#if defined(__FreeBSD__)
++/* setrlimit(2) */
++#include <sys/types.h>
++#include <sys/time.h>
++#include <sys/resource.h>
++#endif
++
+ // This is purposely not a full wrapper for virtualalloc/mmap, but it
+ // provides exactly the primitive operations that Dolphin needs.
+
+@@ -50,7 +57,23 @@
+ // effect of discarding already mapped pages that happen to be in the
+ // requested virtual memory range (such as the emulated RAM, sometimes).
+ if (low && (!map_hint))
++ {
+ map_hint = (char*)round_page(512*1024*1024); /* 0.5 GB rounded up to the next page */
++#if defined(__FreeBSD__)
++ // XXX Fix maximum data segment size (data + BSS + heap) to 256 MB.
++ // This allows avoiding calling mmap(2) with MAP_FIXED.
++ // On FreeBSD, without lowering this limit, calling mmap(2)
++ // without MAP_FIXED will result in getting an address just
++ // beyond maximum data segment size which will be far beyond
++ // the desired 2 GB.
++ struct rlimit limit;
++ limit.rlim_cur = 0x10000000; // 256 MB
++ limit.rlim_max = 0x10000000;
++ if(setrlimit(RLIMIT_DATA, &limit) != 0) {
++ PanicAlert("Failed to lower maximum data segment size");
++ }
++#endif
++ }
+ #endif
+ void* ptr = mmap(map_hint, size, PROT_READ | PROT_WRITE | PROT_EXEC,
+ MAP_ANON | MAP_PRIVATE
diff --git a/emulators/dolphin-emu-devel/pkg-plist b/emulators/dolphin-emu-devel/pkg-plist
index 5b3a65267d81..210b21cfcd07 100644
--- a/emulators/dolphin-emu-devel/pkg-plist
+++ b/emulators/dolphin-emu-devel/pkg-plist
@@ -70,6 +70,107 @@ bin/dolphin-emu
%%DATADIR%%/user/Shaders/auto_toon2.txt
%%DATADIR%%/user/Shaders/invert_blue.txt
%%DATADIR%%/user/Shaders/invert.txt
+%%DATADIR%%/user/GameConfig/GC3P78.ini
+%%DATADIR%%/user/GameConfig/R8LE20.ini
+%%DATADIR%%/user/GameConfig/SSRPXT.ini
+%%DATADIR%%/user/GameConfig/RZZJEL.ini
+%%DATADIR%%/user/GameConfig/G5DE78.ini
+%%DATADIR%%/user/GameConfig/SUKP01.ini
+%%DATADIR%%/user/GameConfig/RMLK52.ini
+%%DATADIR%%/user/GameConfig/GFAD69.ini
+%%DATADIR%%/user/GameConfig/RMLJH4.ini
+%%DATADIR%%/user/GameConfig/SO3EE9.ini
+%%DATADIR%%/user/GameConfig/SOJP41.ini
+%%DATADIR%%/user/GameConfig/GXOE69.ini
+%%DATADIR%%/user/GameConfig/GC3D78.ini
+%%DATADIR%%/user/GameConfig/GFAP69.ini
+%%DATADIR%%/user/GameConfig/SD2J01.ini
+%%DATADIR%%/user/GameConfig/GTFEA4.ini
+%%DATADIR%%/user/GameConfig/RLGJ52.ini
+%%DATADIR%%/user/GameConfig/GFAE69.ini
+%%DATADIR%%/user/GameConfig/GBWD64.ini
+%%DATADIR%%/user/GameConfig/GC3E78.ini
+%%DATADIR%%/user/GameConfig/GXFF69.ini
+%%DATADIR%%/user/GameConfig/SUKE01.ini
+%%DATADIR%%/user/GameConfig/G5DP78.ini
+%%DATADIR%%/user/GameConfig/SJDY41.ini
+%%DATADIR%%/user/GameConfig/GBWP64.ini
+%%DATADIR%%/user/GameConfig/SOJE41.ini
+%%DATADIR%%/user/GameConfig/GAVY78.ini
+%%DATADIR%%/user/GameConfig/G8FE8P.ini
+%%DATADIR%%/user/GameConfig/GMIP70.ini
+%%DATADIR%%/user/GameConfig/RTMP41.ini
+%%DATADIR%%/user/GameConfig/GUBP69.ini
+%%DATADIR%%/user/GameConfig/SX8E52.ini
+%%DATADIR%%/user/GameConfig/GXFE69.ini
+%%DATADIR%%/user/GameConfig/RMLPH4.ini
+%%DATADIR%%/user/GameConfig/GOAE52.ini
+%%DATADIR%%/user/GameConfig/GC3F78.ini
+%%DATADIR%%/user/GameConfig/GOSE41.ini
+%%DATADIR%%/user/GameConfig/ROLK01.ini
+%%DATADIR%%/user/GameConfig/SUKJ01.ini
+%%DATADIR%%/user/GameConfig/SJDZ41.ini
+%%DATADIR%%/user/GameConfig/GXFP69.ini
+%%DATADIR%%/user/GameConfig/GOSP41.ini
+%%DATADIR%%/user/GameConfig/GBWF64.ini
+%%DATADIR%%/user/GameConfig/RMLP7U.ini
+%%DATADIR%%/user/GameConfig/GFAS69.ini
+%%DATADIR%%/user/GameConfig/SO3J99.ini
+%%DATADIR%%/user/GameConfig/RTME41.ini
+%%DATADIR%%/user/GameConfig/ROLJ01.ini
+%%DATADIR%%/user/GameConfig/GMIE70.ini
+%%DATADIR%%/user/GameConfig/GUBE69.ini
+%%DATADIR%%/user/GameConfig/GEND69.ini
+%%DATADIR%%/user/GameConfig/SFIP01.ini
+%%DATADIR%%/user/GameConfig/GVCE08.ini
+%%DATADIR%%/user/GameConfig/RLGP64.ini
+%%DATADIR%%/user/GameConfig/R8PJ01.ini
+%%DATADIR%%/user/GameConfig/SSRE20.ini
+%%DATADIR%%/user/GameConfig/GT3P52.ini
+%%DATADIR%%/user/GameConfig/GENP69.ini
+%%DATADIR%%/user/GameConfig/R64P01.ini
+%%DATADIR%%/user/GameConfig/GAVP78.ini
+%%DATADIR%%/user/GameConfig/RHDE8P.ini
+%%DATADIR%%/user/GameConfig/SOUP01.ini
+%%DATADIR%%/user/GameConfig/R3NPH3.ini
+%%DATADIR%%/user/GameConfig/GT3D52.ini
+%%DATADIR%%/user/GameConfig/R8DJA4.ini
+%%DATADIR%%/user/GameConfig/SRQE41.ini
+%%DATADIR%%/user/GameConfig/SJDP41.ini
+%%DATADIR%%/user/GameConfig/GXOX69.ini
+%%DATADIR%%/user/GameConfig/R22J01.ini
+%%DATADIR%%/user/GameConfig/RHDP8P.ini
+%%DATADIR%%/user/GameConfig/SOUE01.ini
+%%DATADIR%%/user/GameConfig/R8PK01.ini
+%%DATADIR%%/user/GameConfig/SRQP41.ini
+%%DATADIR%%/user/GameConfig/SJDE41.ini
+%%DATADIR%%/user/GameConfig/SH6E52.ini
+%%DATADIR%%/user/GameConfig/RLGE64.ini
+%%DATADIR%%/user/GameConfig/GLCF52.ini
+%%DATADIR%%/user/GameConfig/GT3E52.ini
+%%DATADIR%%/user/GameConfig/SOUJ01.ini
+%%DATADIR%%/user/GameConfig/SQME52.ini
+%%DATADIR%%/user/GameConfig/R8LP7J.ini
+%%DATADIR%%/user/GameConfig/R22E01.ini
+%%DATADIR%%/user/GameConfig/R64J01.ini
+%%DATADIR%%/user/GameConfig/GP6J01.ini
+%%DATADIR%%/user/GameConfig/RM6EEB.ini
+%%DATADIR%%/user/GameConfig/GTYE69.ini
+%%DATADIR%%/user/GameConfig/GNWP69.ini
+%%DATADIR%%/user/GameConfig/GT3F52.ini
+%%DATADIR%%/user/GameConfig/SPDP52.ini
+%%DATADIR%%/user/GameConfig/SMFP4Q.ini
+%%DATADIR%%/user/GameConfig/SOUK01.ini
+%%DATADIR%%/user/GameConfig/GTYP69.ini
+%%DATADIR%%/user/GameConfig/SPDE52.ini
+%%DATADIR%%/user/GameConfig/R64K01.ini
+%%DATADIR%%/user/GameConfig/GOSX41.ini
+%%DATADIR%%/user/GameConfig/RHDJ8P.ini
+%%DATADIR%%/user/GameConfig/G8MJ01.ini
+%%DATADIR%%/user/GameConfig/R8DEA4.ini
+%%DATADIR%%/user/GameConfig/SQMP52.ini
+%%DATADIR%%/user/GameConfig/R22P01.ini
+%%DATADIR%%/user/GameConfig/GJZE52.ini
%%DATADIR%%/user/GameConfig/GTSE4F.ini
%%DATADIR%%/user/GameConfig/GJUF78.ini
%%DATADIR%%/user/GameConfig/GF6F69.ini