summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-emulation/gxemul')
-rw-r--r--app-emulation/gxemul/Manifest1
-rw-r--r--app-emulation/gxemul/files/0.6.0-fix-mkstemp-test.patch10
-rw-r--r--app-emulation/gxemul/files/0.6.0-fix-mymkstemp.patch11
-rw-r--r--app-emulation/gxemul/files/0.6.0-gcc46.patch16
-rw-r--r--app-emulation/gxemul/gxemul-0.6.0-r1.ebuild43
-rw-r--r--app-emulation/gxemul/metadata.xml11
6 files changed, 92 insertions, 0 deletions
diff --git a/app-emulation/gxemul/Manifest b/app-emulation/gxemul/Manifest
new file mode 100644
index 000000000000..ef5f98f1a904
--- /dev/null
+++ b/app-emulation/gxemul/Manifest
@@ -0,0 +1 @@
+DIST gxemul-0.6.0.tar.gz 3598795 SHA256 d3f85c7964b44b085e088862d88b1f31d907fb99c5321900c0b3a723c82581e8 SHA512 38108c7e4f1332bf80046a63e4a7c5e0fbce7f83a62fdeaa4518ef02947d7de83aac20b0307d286b7eb5d9c721b8400d449d4f244b2bc9358a2502fa21f56b73 WHIRLPOOL 47b2a6fd8c821658fcfbede101fb2fd48e9740d113ef66895ee82238c96645e9c9e5fc25cef2e0235f109f0269f9a3fed0d73c76a6717dc5df26b4fab4cb0b69
diff --git a/app-emulation/gxemul/files/0.6.0-fix-mkstemp-test.patch b/app-emulation/gxemul/files/0.6.0-fix-mkstemp-test.patch
new file mode 100644
index 000000000000..88883309b909
--- /dev/null
+++ b/app-emulation/gxemul/files/0.6.0-fix-mkstemp-test.patch
@@ -0,0 +1,10 @@
+--- configure 2012-11-03 09:08:09.373041529 +0000
++++ configure.new 2012-11-03 09:08:31.999585979 +0000
+@@ -705,6 +705,7 @@
+ # mkstemp missing?
+ printf "checking for mkstemp... "
+ printf "#include <unistd.h>
++#include <stdlib.h>
+ int main(int argc, char *argv[]) { int x; char *y = \"abc\";
+ x = mkstemp(y); return 0;}\n" > _tests.cc
+ $CXX $CXXFLAGS _tests.cc -o _tests 2> /dev/null
diff --git a/app-emulation/gxemul/files/0.6.0-fix-mymkstemp.patch b/app-emulation/gxemul/files/0.6.0-fix-mymkstemp.patch
new file mode 100644
index 000000000000..80d69f92c827
--- /dev/null
+++ b/app-emulation/gxemul/files/0.6.0-fix-mymkstemp.patch
@@ -0,0 +1,11 @@
+--- src/old_main/misc.cc 2012-11-03 08:47:34.309732354 +0000
++++ src/old_main/misc.cc.new 2012-11-03 08:47:02.096573614 +0000
+@@ -122,7 +122,7 @@
+ p++;
+ }
+
+- h = open(templ, O_RDWR, 0600);
++ h = open(templ, O_CREAT | O_RDWR, 0600);
+ return h;
+ }
+
diff --git a/app-emulation/gxemul/files/0.6.0-gcc46.patch b/app-emulation/gxemul/files/0.6.0-gcc46.patch
new file mode 100644
index 000000000000..eb0ce26b6e1c
--- /dev/null
+++ b/app-emulation/gxemul/files/0.6.0-gcc46.patch
@@ -0,0 +1,16 @@
+ src/include/refcount_ptr.h | 2 ++
+ 1 files changed, 2 insertions(+), 0 deletions(-)
+
+diff --git a/src/include/refcount_ptr.h b/src/include/refcount_ptr.h
+index 4645769..ebabd58 100644
+--- a/src/include/refcount_ptr.h
++++ b/src/include/refcount_ptr.h
+@@ -1,6 +1,8 @@
+ #ifndef REFCOUNT_PTR_H
+ #define REFCOUNT_PTR_H
+
++#include <stddef.h>
++
+ /*
+ * Copyright (C) 2007-2010 Anders Gavare. All rights reserved.
+ *
diff --git a/app-emulation/gxemul/gxemul-0.6.0-r1.ebuild b/app-emulation/gxemul/gxemul-0.6.0-r1.ebuild
new file mode 100644
index 000000000000..4d8e375f7496
--- /dev/null
+++ b/app-emulation/gxemul/gxemul-0.6.0-r1.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+inherit eutils toolchain-funcs
+
+DESCRIPTION="A Machine Emulator, Mainly emulates MIPS, but supports other CPU types"
+HOMEPAGE="http://gxemul.sourceforge.net/"
+SRC_URI="mirror://sourceforge/project/gxemul/GXemul/${PV}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~mips ~ppc ~sparc ~x86 ~x86-fbsd"
+IUSE="debug X"
+
+RDEPEND="X? ( x11-libs/libX11 )"
+DEPEND="${RDEPEND}
+ X? ( x11-proto/xproto )"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PV}-gcc46.patch
+ epatch "${FILESDIR}"/${PV}-fix-mymkstemp.patch # Bug 441558
+ epatch "${FILESDIR}"/${PV}-fix-mkstemp-test.patch # Bug 441558
+ sed -i configure -e 's|-O3||g' || die "sed configure"
+ tc-export CC CXX
+}
+
+src_configure() {
+ # no autotools
+ ./configure \
+ --disable-valgrind \
+ $(use debug && echo --debug) \
+ $(use X || echo --disable-x) || die "configure failed"
+}
+
+src_install() {
+ dobin gxemul
+ doman man/gxemul.1
+ dodoc HISTORY README
+ dohtml -r doc/*
+}
diff --git a/app-emulation/gxemul/metadata.xml b/app-emulation/gxemul/metadata.xml
new file mode 100644
index 000000000000..f7b826fbae73
--- /dev/null
+++ b/app-emulation/gxemul/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>maintainer-needed@gentoo.org</email>
+ </maintainer>
+ <longdescription>Machine Emulator. Supports emulation across several architectures. Primarily for MIPS support, but other platform support coming soon.</longdescription>
+ <upstream>
+ <remote-id type="sourceforge">gxemul</remote-id>
+ </upstream>
+</pkgmetadata>