summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Birchinger <joker@gentoo.org>2008-09-19 14:54:20 +0000
committerChristian Birchinger <joker@gentoo.org>2008-09-19 14:54:20 +0000
commit2667c1c6d40d90929a480700a1e0429e94103bbd (patch)
tree404b9831ceda396e8ea4e803ae45917accda883b /games-emulation/daphne
parentVersion bump <http://my.opera.com/desktopteam/blog/2008/09/19/another-step>. (diff)
downloadgentoo-2-2667c1c6d40d90929a480700a1e0429e94103bbd.tar.gz
gentoo-2-2667c1c6d40d90929a480700a1e0429e94103bbd.tar.bz2
gentoo-2-2667c1c6d40d90929a480700a1e0429e94103bbd.zip
Version bump. This version includes support for amd64 and contains a fix to work with recent libvorbis 1.2.x releases.
(Portage version: 2.1.4.4)
Diffstat (limited to 'games-emulation/daphne')
-rw-r--r--games-emulation/daphne/ChangeLog12
-rw-r--r--games-emulation/daphne/daphne-1.0.ebuild88
-rw-r--r--games-emulation/daphne/files/daphne-1.0-typefix.patch45
-rw-r--r--games-emulation/daphne/files/daphne-1.0-vorbisfilefix.patch12
4 files changed, 155 insertions, 2 deletions
diff --git a/games-emulation/daphne/ChangeLog b/games-emulation/daphne/ChangeLog
index ba28214527cf..d965c47c8c17 100644
--- a/games-emulation/daphne/ChangeLog
+++ b/games-emulation/daphne/ChangeLog
@@ -1,6 +1,14 @@
# ChangeLog for games-emulation/daphne
-# Copyright 2000-2006 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/games-emulation/daphne/ChangeLog,v 1.11 2006/12/28 00:13:14 nyhm Exp $
+# Copyright 2000-2008 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/games-emulation/daphne/ChangeLog,v 1.12 2008/09/19 14:54:20 joker Exp $
+
+*daphne-1.0 (19 Sep 2008)
+
+ 19 Sep 2008; Christian Birchinger <joker@gentoo.org>
+ +files/daphne-1.0-typefix.patch, +files/daphne-1.0-vorbisfilefix.patch,
+ +daphne-1.0.ebuild:
+ Version bump. This version includes support for amd64 and contains a fix to
+ work with recent libvorbis 1.2.x releases.
*daphne-0.99.7 (28 Dec 2006)
diff --git a/games-emulation/daphne/daphne-1.0.ebuild b/games-emulation/daphne/daphne-1.0.ebuild
new file mode 100644
index 000000000000..42d64bc56d23
--- /dev/null
+++ b/games-emulation/daphne/daphne-1.0.ebuild
@@ -0,0 +1,88 @@
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/games-emulation/daphne/daphne-1.0.ebuild,v 1.1 2008/09/19 14:54:20 joker Exp $
+
+inherit eutils toolchain-funcs games
+
+DESCRIPTION="Laserdisc Arcade Game Emulator"
+HOMEPAGE="http://www.daphne-emu.com/"
+SRC_URI="http://www.daphne-emu.com/download/${P}-src.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="media-libs/libogg
+ media-libs/libvorbis
+ media-libs/libsdl
+ media-libs/sdl-mixer
+ media-libs/glew"
+
+S="${WORKDIR}"/v_1_0/src
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+
+ # Fix no sound issue with >=media-libs/libvorbis-1.2.0
+ epatch "${FILESDIR}/${P}"-vorbisfilefix.patch
+
+ # amd64 does not like int pointers
+ epatch "${FILESDIR}/${P}"-typefix.patch
+
+ sed -i "/m_appdir =/s:\.:${GAMES_DATADIR}/${PN}:" \
+ io/homedir.cpp \
+ || die "sed homedir.cpp failed"
+ sed -i "s:pics/:${GAMES_DATADIR}/${PN}/&:" \
+ video/video.cpp \
+ || die "sed video.cpp failed"
+ sed -i "s:sound/:${GAMES_DATADIR}/${PN}/&:" \
+ sound/sound.cpp \
+ || die "sed sound.cpp failed"
+ sed -i "s:./lib:$(games_get_libdir)/${PN}/lib:" \
+ io/dll.h \
+ || die "sed dll.h failed"
+
+ sed \
+ -e "s:-DNATIVE_CPU_X86::" \
+ -e "s:-DUSE_MMX::" \
+ -e '/export USE_MMX = 1/s:^:# :' \
+ Makefile.vars.linux_x86 >Makefile.vars \
+ || die "sed failed"
+}
+
+src_compile() {
+ local archflags
+
+ if use x86; then
+ archflags="-DNATIVE_CPU_X86 -DMMX_RGB2YUV USE_MMX=1"
+ else
+ # -fPIC is needed on amd64 but fails on x86.
+ archflags="-fPIC"
+ fi
+
+ emake \
+ CXX=$(tc-getCXX) \
+ DFLAGS="${CXXFLAGS} ${archflags}" \
+ || die "src build failed"
+ cd vldp2
+ egamesconf --disable-accel-detect || die
+ emake \
+ -f Makefile.linux \
+ CC=$(tc-getCC) \
+ DFLAGS="${CFLAGS} ${archflags}" \
+ || die "vldp2 build failed"
+}
+
+src_install() {
+ cd ..
+ newgamesbin daphne.bin daphne || die "newgamesbin failed"
+ exeinto "$(games_get_libdir)"/${PN}
+ doexe libvldp2.so || die "doexe failed"
+ insinto "${GAMES_DATADIR}"/${PN}
+ doins -r pics roms sound || die "doins failed"
+ dodoc doc/*.{ini,txt}
+ dohtml -r doc/*
+ prepgamesdirs
+}
diff --git a/games-emulation/daphne/files/daphne-1.0-typefix.patch b/games-emulation/daphne/files/daphne-1.0-typefix.patch
new file mode 100644
index 000000000000..eaa97e46accf
--- /dev/null
+++ b/games-emulation/daphne/files/daphne-1.0-typefix.patch
@@ -0,0 +1,45 @@
+diff -ruN v_1_0.orig/src/ldp-in/ldv1000.cpp v_1_0/src/ldp-in/ldv1000.cpp
+--- v_1_0.orig/src/ldp-in/ldv1000.cpp 2008-01-29 18:04:34.000000000 +0100
++++ v_1_0/src/ldp-in/ldv1000.cpp 2008-09-19 14:29:40.000000000 +0200
+@@ -607,9 +607,9 @@
+
+ void ldv1000_event_callback(void *eventType)
+ {
+- g_ldv1000_last_event = (unsigned int) eventType;
++ g_ldv1000_last_event = (unsigned long) eventType;
+
+- switch ((unsigned int) eventType)
++ switch ((unsigned long) eventType)
+ {
+ case LDV1000_EVENT_VSYNC_END:
+ #ifdef DEBUG
+diff -ruN v_1_0.orig/src/vldp2/libvo/video_out_null.c v_1_0/src/vldp2/libvo/video_out_null.c
+--- v_1_0.orig/src/vldp2/libvo/video_out_null.c 2008-01-29 18:04:43.000000000 +0100
++++ v_1_0/src/vldp2/libvo/video_out_null.c 2008-09-19 14:30:03.000000000 +0200
+@@ -82,7 +82,7 @@
+ // this is the potentially expensive callback that gets the hardware overlay
+ // ready to be displayed, so we do this before we sleep
+ // NOTE : if this callback fails, we don't want to display the frame due to double buffering considerations
+- if (g_in_info->prepare_frame(&g_yuv_buf[(int) id]))
++ if (g_in_info->prepare_frame(&g_yuv_buf[(long) id]))
+ {
+ #ifndef VLDP_BENCHMARK
+
+@@ -133,7 +133,7 @@
+ #endif
+ // draw the frame
+ // we are using the pointer 'id' as an index, kind of risky, but convenient :)
+- g_in_info->display_frame(&g_yuv_buf[(int) id]);
++ g_in_info->display_frame(&g_yuv_buf[(long) id]);
+ #ifndef VLDP_BENCHMARK
+ } // end if we didn't get a new command to interrupt the frame being displayed
+ #endif
+@@ -272,7 +272,7 @@
+ uint8_t ** buf, void ** id)
+ {
+ static buffer_index = 0;
+- *id = (int *) buffer_index; // THIS IS A LITTLE TRICKY
++ *id = (long *) buffer_index; // THIS IS A LITTLE TRICKY
+ // We are setting an integer value to a pointer ...
+ // Because it is convenient to let the pointer hold the value of this integer for us
+ // Hopefully it doesn't cause any trouble later ;)
diff --git a/games-emulation/daphne/files/daphne-1.0-vorbisfilefix.patch b/games-emulation/daphne/files/daphne-1.0-vorbisfilefix.patch
new file mode 100644
index 000000000000..715040243314
--- /dev/null
+++ b/games-emulation/daphne/files/daphne-1.0-vorbisfilefix.patch
@@ -0,0 +1,12 @@
+diff -ruN v_1_0.orig/src/ldp-out/ldp-vldp-audio.cpp v_1_0/src/ldp-out/ldp-vldp-audio.cpp
+--- v_1_0.orig/src/ldp-out/ldp-vldp-audio.cpp 2008-01-29 18:04:07.000000000 +0100
++++ v_1_0/src/ldp-out/ldp-vldp-audio.cpp 2008-09-19 13:43:10.000000000 +0200
+@@ -146,7 +146,7 @@
+ switch (whence)
+ {
+ case SEEK_SET:
+- if (offset < g_audio_filesize)
++ if (offset <= g_audio_filesize)
+ {
+ // make sure offset is positive so we don't get into trouble
+ if (offset >= 0)