summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Thode <prometheanfire@gentoo.org>2012-07-17 21:43:36 +0000
committerMatthew Thode <prometheanfire@gentoo.org>2012-07-17 21:43:36 +0000
commit7c03c5976849acadc503fd8306ee4f097354cc71 (patch)
tree3e116c74620a23b9f8c107f38042aa92edf71bf8 /games-emulation/zsnes
parentApplied upstream patch to fix bug 377033 (diff)
downloadgentoo-2-7c03c5976849acadc503fd8306ee4f097354cc71.tar.gz
gentoo-2-7c03c5976849acadc503fd8306ee4f097354cc71.tar.bz2
gentoo-2-7c03c5976849acadc503fd8306ee4f097354cc71.zip
enabled pax marking for bug #427032
(Portage version: 2.1.10.65/cvs/Linux x86_64)
Diffstat (limited to 'games-emulation/zsnes')
-rw-r--r--games-emulation/zsnes/ChangeLog7
-rw-r--r--games-emulation/zsnes/metadata.xml3
-rw-r--r--games-emulation/zsnes/zsnes-1.51-r3.ebuild96
3 files changed, 105 insertions, 1 deletions
diff --git a/games-emulation/zsnes/ChangeLog b/games-emulation/zsnes/ChangeLog
index a5914d44d421..c04f7e287b82 100644
--- a/games-emulation/zsnes/ChangeLog
+++ b/games-emulation/zsnes/ChangeLog
@@ -1,6 +1,11 @@
# ChangeLog for games-emulation/zsnes
# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/games-emulation/zsnes/ChangeLog,v 1.49 2012/06/04 20:04:18 mr_bones_ Exp $
+# $Header: /var/cvsroot/gentoo-x86/games-emulation/zsnes/ChangeLog,v 1.50 2012/07/17 21:43:36 prometheanfire Exp $
+
+*zsnes-1.51-r3 (17 Jul 2012)
+
+ 17 Jul 2012; Matthew Thode <prometheanfire@gentoo.org> +zsnes-1.51-r3.ebuild:
+ new ebuild to add hardened support, bug 427032.
04 Jun 2012; Michael Sterrett <mr_bones_@gentoo.org> zsnes-1.51-r2.ebuild,
files/zsnes-1.51-CC-quotes.patch,
diff --git a/games-emulation/zsnes/metadata.xml b/games-emulation/zsnes/metadata.xml
index f72870c0c28d..330d9049409e 100644
--- a/games-emulation/zsnes/metadata.xml
+++ b/games-emulation/zsnes/metadata.xml
@@ -2,4 +2,7 @@
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<herd>games</herd>
+ <use>
+ <flag name='pax_kernel'>Triggers a paxmarking of the binary</flag>
+ </use>
</pkgmetadata>
diff --git a/games-emulation/zsnes/zsnes-1.51-r3.ebuild b/games-emulation/zsnes/zsnes-1.51-r3.ebuild
new file mode 100644
index 000000000000..aa8836fcc5f2
--- /dev/null
+++ b/games-emulation/zsnes/zsnes-1.51-r3.ebuild
@@ -0,0 +1,96 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/games-emulation/zsnes/zsnes-1.51-r3.ebuild,v 1.1 2012/07/17 21:43:36 prometheanfire Exp $
+
+EAPI=2
+inherit eutils autotools flag-o-matic toolchain-funcs multilib games pax-utils
+
+DESCRIPTION="SNES (Super Nintendo) emulator that uses x86 assembly"
+HOMEPAGE="http://www.zsnes.com/ http://ipherswipsite.com/zsnes/"
+SRC_URI="mirror://sourceforge/zsnes/${PN}${PV//./}src.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux"
+IUSE="ao custom-cflags opengl pax_kernel png"
+
+RDEPEND="media-libs/libsdl[audio,video]
+ >=sys-libs/zlib-1.2.3-r1
+ amd64? ( >=app-emulation/emul-linux-x86-sdl-10.1 )
+ ao? ( media-libs/libao )
+ opengl? ( virtual/opengl )
+ png? ( media-libs/libpng )"
+DEPEND="${RDEPEND}
+ dev-lang/nasm
+ amd64? ( >=sys-apps/portage-2.1 )"
+
+S=${WORKDIR}/${PN}_${PV//./_}/src
+
+src_prepare() {
+ # Fixing compilation without libpng installed
+ # Fix bug #186111
+ # Fix bug #214697
+ # Fix bug #170108
+ # Fix bug #260247
+ # Fix compability with libpng15 wrt #378735
+ # Fix buffer overwrite #257963
+ # Fix gcc47 compile #419635
+ epatch \
+ "${FILESDIR}"/${P}-libpng.patch \
+ "${FILESDIR}"/${P}-archopt-july-23-update.patch \
+ "${FILESDIR}"/${P}-gcc43.patch \
+ "${FILESDIR}"/${P}-libao-thread.patch \
+ "${FILESDIR}"/${P}-depbuild.patch \
+ "${FILESDIR}"/${P}-CC-quotes.patch \
+ "${FILESDIR}"/${P}-libpng15.patch \
+ "${FILESDIR}"/${P}-buffer.patch \
+ "${FILESDIR}"/${P}-gcc47.patch
+
+ sed -i -e '67i#define OF(x) x' zip/zunzip.h || die
+
+ # Remove hardcoded CFLAGS and LDFLAGS
+ sed -i \
+ -e '/^CFLAGS=.*local/s:-pipe.*:-Wall -I.":' \
+ -e '/^LDFLAGS=.*local/d' \
+ -e '/\w*CFLAGS=.*fomit/s:-O3.*$STRIP::' \
+ configure.in \
+ || die "sed failed"
+ eautoreconf
+}
+
+src_configure() {
+ tc-export CC
+ use amd64 && multilib_toolchain_setup x86
+ use custom-cflags || strip-flags
+
+ append-flags -U_FORTIFY_SOURCE #257963
+
+ egamesconf \
+ $(use_enable ao libao) \
+ $(use_enable png libpng) \
+ $(use_enable opengl) \
+ --disable-debug \
+ --disable-cpucheck \
+ --enable-release \
+ force_arch=no
+}
+
+src_compile() {
+ emake makefile.dep || die "emake makefile.dep failed"
+ emake || die "emake failed"
+}
+
+src_install() {
+ dogamesbin zsnes || die "dogamesbin failed"
+ if use pax_kernel; then
+ pax-mark m "${GAMES_BINDIR}/zsnes" || die
+ fi
+ newman linux/zsnes.1 zsnes.6
+ dodoc \
+ ../docs/{readme.1st,authors.txt,srcinfo.txt,stdards.txt,support.txt,thanks.txt,todo.txt,README.LINUX} \
+ ../docs/readme.txt/*
+ dohtml -r ../docs/readme.htm/*
+ make_desktop_entry zsnes ZSNES
+ newicon icons/48x48x32.png ${PN}.png
+ prepgamesdirs
+}