games-emulation/visualboyadvance: Fix building with latest glibmm/libsigc++ (#566694)
authorPacho Ramos <pacho@gentoo.org>
Fri, 25 Dec 2015 16:35:11 +0000 (17:35 +0100)
committerPacho Ramos <pacho@gentoo.org>
Fri, 25 Dec 2015 16:36:37 +0000 (17:36 +0100)
Package-Manager: portage-2.2.26

games-emulation/visualboyadvance/files/visualboyadvance-1.7.2-libsigc26.patch [new file with mode: 0644]
games-emulation/visualboyadvance/visualboyadvance-1.7.2-r4.ebuild [new file with mode: 0644]

diff --git a/games-emulation/visualboyadvance/files/visualboyadvance-1.7.2-libsigc26.patch b/games-emulation/visualboyadvance/files/visualboyadvance-1.7.2-libsigc26.patch
new file mode 100644 (file)
index 0000000..bd98676
--- /dev/null
@@ -0,0 +1,17 @@
+From: Etienne Millon <me@emillon.org>
+Subject: Remove deprecated header in sigccompat.h
+
+libsigc++ 2.5.2 removed the <sigc++/object.h> header as it was useless.
+Removing the #include directive makes the build succeed with later versions of
+libsigc++.
+
+--- a/src/gtk/sigccompat.h
++++ b/src/gtk/sigccompat.h
+@@ -25,7 +25,6 @@
+ #include <sigc++/connection.h>
+ 
+ #include <sigc++/slot.h>
+-#include <sigc++/object.h>
+ #include <sigc++/functors/mem_fun.h>
+ 
+ 
diff --git a/games-emulation/visualboyadvance/visualboyadvance-1.7.2-r4.ebuild b/games-emulation/visualboyadvance/visualboyadvance-1.7.2-r4.ebuild
new file mode 100644 (file)
index 0000000..a2090db
--- /dev/null
@@ -0,0 +1,86 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils flag-o-matic autotools games
+
+DESCRIPTION="gameboy, gameboy color, and gameboy advance emulator"
+HOMEPAGE="http://vba.ngemu.com/"
+SRC_URI="mirror://sourceforge/vba/VisualBoyAdvance-src-${PV}.tar.gz
+       mirror://gentoo/${P}-deprecatedsigc++.patch.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86 ~x86-fbsd"
+IUSE="gtk cpu_flags_x86_mmx nls"
+
+RDEPEND="media-libs/libpng:0
+       media-libs/libsdl[sound,video]
+       sys-libs/zlib[minizip]
+       gtk? (
+               >=x11-libs/gtk+-2.4:2
+               >=dev-cpp/gtkmm-2.4:2.4
+               >=dev-cpp/libglademm-2.4:2.4
+               >=dev-libs/libsigc++-2.6:2
+       )
+       nls? ( virtual/libintl )"
+DEPEND="${RDEPEND}
+       virtual/pkgconfig
+       cpu_flags_x86_mmx? ( dev-lang/nasm )
+       nls? ( sys-devel/gettext )"
+
+S=${WORKDIR}/VisualBoyAdvance-${PV}
+
+src_prepare() {
+       cat >> src/i386/2xSaImmx.asm <<-EOF
+               %ifidn __OUTPUT_FORMAT__,elf
+               section .note.GNU-stack noalloc noexec nowrite progbits
+               %endif
+       EOF
+
+       epatch \
+               "${FILESDIR}"/${PV}-homedir.patch \
+               "${FILESDIR}"/${PV}-gcc34.patch \
+               "${FILESDIR}"/${PV}-gcc41.patch \
+               "${FILESDIR}"/${P}-gcc47.patch \
+               "${WORKDIR}"/${P}-deprecatedsigc++.patch \
+               "${FILESDIR}"/${P}-uninit.patch \
+               "${FILESDIR}"/${P}-glibc2.10.patch \
+               "${FILESDIR}"/${P}-ovflfix.patch \
+               "${FILESDIR}"/${P}-libpng15.patch \
+               "${FILESDIR}"/${P}-zlib.patch \
+               "${FILESDIR}"/${P}-zlib-1.2.6.patch \
+               "${FILESDIR}"/${P}-sys-types.patch \
+               "${FILESDIR}"/${P}-libsigc26.patch
+
+       mv configure.in configure.ac || die
+       eautoreconf
+
+       sed -i \
+               -e 's:$(localedir):/usr/share/locale:' \
+               -e 's:$(datadir)/locale:/usr/share/locale:' \
+               $(find . -name 'Makefile.in*') || die
+}
+
+src_configure() {
+       # -O3 causes GCC to behave badly and hog memory, bug #64670.
+       replace-flags -O3 -O2
+
+       append-cxxflags -std=c++11
+
+       # Removed --enable-c-core as it *should* determine this based on arch
+       egamesconf \
+               $(use_with cpu_flags_x86_mmx mmx) \
+               $(use_enable gtk gtk 2.4) \
+               $(use_enable nls)
+}
+
+src_install() {
+       default
+       if use gtk ; then
+               newicon src/gtk/images/vba-64.png ${PN}.png
+               make_desktop_entry gvba VisualBoyAdvance
+       fi
+       prepgamesdirs
+}