summaryrefslogtreecommitdiff
path: root/emulators/gem5
diff options
context:
space:
mode:
Diffstat (limited to 'emulators/gem5')
-rw-r--r--emulators/gem5/Makefile12
-rw-r--r--emulators/gem5/files/patch-SConstruct18
-rw-r--r--emulators/gem5/files/patch-src_SConscript11
-rw-r--r--emulators/gem5/files/patch-src_mem_physical.cc14
4 files changed, 50 insertions, 5 deletions
diff --git a/emulators/gem5/Makefile b/emulators/gem5/Makefile
index 635aed2873ff..762e8df9e614 100644
--- a/emulators/gem5/Makefile
+++ b/emulators/gem5/Makefile
@@ -8,13 +8,11 @@ CATEGORIES= emulators
MAINTAINER= vg@FreeBSD.org
COMMENT= gem5 Simulator System
-BROKEN= Uses removed MAP_NORESERVE
-DEPRECATED= Broken for more than 6 months
-EXPIRATION_DATE= 2015-12-30
-
BUILD_DEPENDS= swig2.0:${PORTSDIR}/devel/swig20 \
scons:${PORTSDIR}/devel/scons
+BROKEN_i386= does not build
+
DATE= 20140422
USE_GITHUB= yes
GH_ACCOUNT= CTSRD-CHERI
@@ -28,6 +26,12 @@ USES= gmake
IGNORE= does not support FreeBSD versions < 10.0
.endif
+post-patch:
+ @${REINPLACE_CMD} -e 's|sys/termios.h|termios.h|' \
+ ${WRKSRC}/src/base/vnc/vncserver.cc \
+ ${WRKSRC}/src/dev/terminal.cc \
+ ${WRKSRC}/util/term/term.c
+
do-build:
cd ${WRKSRC} && ${GMAKE} -C util/term
cd ${WRKSRC} && ${SETENV} SWIG="${PREFIX}/bin/${SWIG_BIN}" scons \
diff --git a/emulators/gem5/files/patch-SConstruct b/emulators/gem5/files/patch-SConstruct
index 982859f1d5c7..5f5d89fd2921 100644
--- a/emulators/gem5/files/patch-SConstruct
+++ b/emulators/gem5/files/patch-SConstruct
@@ -1,4 +1,4 @@
---- SConstruct.orig 2015-04-21 17:46:54 UTC
+--- SConstruct.orig 2015-04-21 15:32:43 UTC
+++ SConstruct
@@ -534,6 +534,9 @@ Export('MakeAction')
main['LTO_CCFLAGS'] = []
@@ -10,3 +10,19 @@
# According to the readme, tcmalloc works best if the compiler doesn't
# assume that we're using the builtin malloc and friends. These flags
# are compiler-specific, so we need to set them after we detect which
+@@ -785,13 +788,8 @@ if main['GCC'] and compareVersions(gcc_v
+ swig_flags=Split('-c++ -python -modern -templatereduce $_CPPINCFLAGS')
+ main.Append(SWIGFLAGS=swig_flags)
+
+-# Check for 'timeout' from GNU coreutils. If present, regressions will
+-# be run with a time limit. We require version 8.13 since we rely on
+-# support for the '--foreground' option.
+-timeout_lines = readCommand(['timeout', '--version'],
+- exception='').splitlines()
+-# Get the first line and tokenize it
+-timeout_version = timeout_lines[0].split() if timeout_lines else []
++# It expects GNU timeout, FreeBSD one (on 11.x+) is not compatible
++timeout_version = []
+ main['TIMEOUT'] = timeout_version and \
+ compareVersions(timeout_version[-1], '8.13') >= 0
+
diff --git a/emulators/gem5/files/patch-src_SConscript b/emulators/gem5/files/patch-src_SConscript
new file mode 100644
index 000000000000..50bc9affc724
--- /dev/null
+++ b/emulators/gem5/files/patch-src_SConscript
@@ -0,0 +1,11 @@
+--- src/SConscript.orig 2015-04-21 15:32:43 UTC
++++ src/SConscript
+@@ -165,7 +165,7 @@ class Source(SourceFile):
+ '''specify the source file, and any guards'''
+ super(Source, self).__init__(source, **guards)
+
+- self.Werror = Werror
++ self.Werror = False
+ self.swig = swig
+
+ class PySource(SourceFile):
diff --git a/emulators/gem5/files/patch-src_mem_physical.cc b/emulators/gem5/files/patch-src_mem_physical.cc
new file mode 100644
index 000000000000..a2b568bcb7a0
--- /dev/null
+++ b/emulators/gem5/files/patch-src_mem_physical.cc
@@ -0,0 +1,14 @@
+--- src/mem/physical.cc.orig 2015-04-21 15:32:43 UTC
++++ src/mem/physical.cc
+@@ -62,11 +62,9 @@
+ * host. On OSX the MAP_NORESERVE flag does not exist, so simply make
+ * it 0.
+ */
+-#if defined(__APPLE__)
+ #ifndef MAP_NORESERVE
+ #define MAP_NORESERVE 0
+ #endif
+-#endif
+
+ using namespace std;
+