diff options
Diffstat (limited to 'games-emulation/daphne')
-rw-r--r-- | games-emulation/daphne/Manifest | 1 | ||||
-rw-r--r-- | games-emulation/daphne/daphne-1.0.ebuild | 90 | ||||
-rw-r--r-- | games-emulation/daphne/files/daphne-1.0-gcc43.patch | 12 | ||||
-rw-r--r-- | games-emulation/daphne/files/daphne-1.0-ldflags.patch | 22 | ||||
-rw-r--r-- | games-emulation/daphne/files/daphne-1.0-system-lmpeg2.patch | 41 | ||||
-rw-r--r-- | games-emulation/daphne/files/daphne-1.0-typefix.patch | 47 | ||||
-rw-r--r-- | games-emulation/daphne/files/daphne-1.0-underlink.patch | 8 | ||||
-rw-r--r-- | games-emulation/daphne/files/daphne-1.0-vorbisfilefix.patch | 14 | ||||
-rw-r--r-- | games-emulation/daphne/files/daphne-1.0-zlib.patch | 13 | ||||
-rw-r--r-- | games-emulation/daphne/metadata.xml | 5 |
10 files changed, 253 insertions, 0 deletions
diff --git a/games-emulation/daphne/Manifest b/games-emulation/daphne/Manifest new file mode 100644 index 000000000000..93315985e795 --- /dev/null +++ b/games-emulation/daphne/Manifest @@ -0,0 +1 @@ +DIST daphne-1.0-src.tar.gz 4316387 SHA256 b3df3cbb49b3b0d1c2d9f8ab9ae22ef39b1627db09b67a4d10122d754443a588 SHA512 e15e3e86cd03b8eea410eedb667c878f9e2fb044a9bf2cc54e54db641f1c2c6fd99e889cfab308bf972336b577059e13d6cf2a353016ded8e28dae9ddedc0ad4 WHIRLPOOL 6e6be7bcd6beb472881870044d7df36c1493585fd2decdaa70b083fa93338a23b07c93be0fa9634df5c84709d5736579684e5fd663f4122b87f9c0317306948c diff --git a/games-emulation/daphne/daphne-1.0.ebuild b/games-emulation/daphne/daphne-1.0.ebuild new file mode 100644 index 000000000000..2a2289028585 --- /dev/null +++ b/games-emulation/daphne/daphne-1.0.ebuild @@ -0,0 +1,90 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +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 + sys-libs/zlib + media-libs/libsdl[joystick,video] + media-libs/sdl-mixer + media-libs/libmpeg2 + virtual/opengl + media-libs/glew" +RDEPEND=${DEPEND} + +S=${WORKDIR}/v_1_0/src + +src_prepare() { + epatch \ + "${FILESDIR}"/${P}-vorbisfilefix.patch \ + "${FILESDIR}"/${P}-typefix.patch \ + "${FILESDIR}"/${P}-gcc43.patch \ + "${FILESDIR}"/${P}-ldflags.patch \ + "${FILESDIR}"/${P}-zlib.patch \ + "${FILESDIR}"/${P}-underlink.patch \ + "${FILESDIR}"/${P}-system-lmpeg2.patch + + sed -i "/m_appdir =/s:\.:${GAMES_DATADIR}/${PN}:" \ + io/homedir.cpp || die + sed -i "s:pics/:${GAMES_DATADIR}/${PN}/&:" \ + video/video.cpp || die + sed -i "s:sound/:${GAMES_DATADIR}/${PN}/&:" \ + sound/sound.cpp || die + sed -i "s:./lib:$(games_get_libdir)/${PN}/lib:" \ + io/dll.h || die + + sed \ + -e "s:-DNATIVE_CPU_X86::" \ + -e "s:-DUSE_MMX::" \ + -e '/export USE_MMX = 1/s:^:# :' \ + Makefile.vars.linux_x86 >Makefile.vars || die +} + +src_configure() { + cd vldp2 + egamesconf --disable-accel-detect +} + +src_compile() { + local archflags + + if use x86; then + archflags="-DNATIVE_CPU_X86 -DMMX_RGB2YUV -DUSE_MMX" + export USE_MMX=1 + else + # -fPIC is needed on amd64 but fails on x86. + archflags="-fPIC" + fi + + emake \ + CXX=$(tc-getCXX) \ + DFLAGS="${CXXFLAGS} ${archflags}" + emake -C vldp2 \ + -f Makefile.linux \ + CC=$(tc-getCC) \ + DFLAGS="${CFLAGS} ${archflags}" +} + +src_install() { + cd .. + newgamesbin daphne.bin daphne + exeinto "$(games_get_libdir)"/${PN} + doexe libvldp2.so + insinto "${GAMES_DATADIR}"/${PN} + doins -r pics roms sound + dodoc doc/*.{ini,txt} + dohtml -r doc/* + prepgamesdirs +} diff --git a/games-emulation/daphne/files/daphne-1.0-gcc43.patch b/games-emulation/daphne/files/daphne-1.0-gcc43.patch new file mode 100644 index 000000000000..289757d4a50c --- /dev/null +++ b/games-emulation/daphne/files/daphne-1.0-gcc43.patch @@ -0,0 +1,12 @@ +--- Makefile.old 2009-01-19 16:22:07.000000000 +0100 ++++ Makefile 2009-01-19 16:22:17.000000000 +0100 +@@ -33,7 +33,7 @@ + endif + + # Platform specific cflags defined in the Makefile.vars file +-export CFLAGS = ${PFLAGS} ${DEFINE_STATIC_VLDP} -Wall -Winline -Werror ++export CFLAGS = ${PFLAGS} ${DEFINE_STATIC_VLDP} -Wall -Winline + + OBJS = ldp-out/*.o cpu/*.o game/*.o io/*.o timer/*.o ldp-in/*.o video/*.o \ + sound/*.o daphne.o cpu/x86/*.o scoreboard/*.o ${VLDP_OBJS} + diff --git a/games-emulation/daphne/files/daphne-1.0-ldflags.patch b/games-emulation/daphne/files/daphne-1.0-ldflags.patch new file mode 100644 index 000000000000..a5096a5b3927 --- /dev/null +++ b/games-emulation/daphne/files/daphne-1.0-ldflags.patch @@ -0,0 +1,22 @@ +--- Makefile.old 2010-10-05 08:48:46.000000000 +0200 ++++ Makefile 2010-10-05 08:49:10.000000000 +0200 +@@ -43,7 +43,7 @@ + .SUFFIXES: .cpp + + all: ${LOCAL_OBJS} sub +- ${CXX} ${DFLAGS} ${OBJS} -o ${EXE} ${LIBS} ++ ${CXX} $(LDFLAGS) ${DFLAGS} ${OBJS} -o ${EXE} ${LIBS} + + sub: + cd ldp-out && $(MAKE) +--- vldp2/Makefile.linux.old 2010-10-05 09:29:52.000000000 +0200 ++++ vldp2/Makefile.linux 2010-10-05 09:30:13.000000000 +0200 +@@ -33,7 +33,7 @@ + all: vldp2 + + vldp2: ${OBJS} +- ${CC} -shared -o ${LIBNAME} ${OBJS} ${LIBS} ++ ${CC} $(LDFLAGS) -shared -o ${LIBNAME} ${OBJS} ${LIBS} + cp ${LIBNAME} ../../. + + clean: diff --git a/games-emulation/daphne/files/daphne-1.0-system-lmpeg2.patch b/games-emulation/daphne/files/daphne-1.0-system-lmpeg2.patch new file mode 100644 index 000000000000..7eed630d13f7 --- /dev/null +++ b/games-emulation/daphne/files/daphne-1.0-system-lmpeg2.patch @@ -0,0 +1,41 @@ +diff -ur v_1_0.old/src/vldp2/Makefile.am v_1_0/src/vldp2/Makefile.am +--- v_1_0.old/src/vldp2/Makefile.am 2009-12-29 18:04:15.000000000 +0200 ++++ v_1_0/src/vldp2/Makefile.am 2009-12-29 18:10:42.000000000 +0200 +@@ -1,3 +1,3 @@ +-SUBDIRS = autotools include libmpeg2 libvo doc src vc++ test ++SUBDIRS = autotools + + EXTRA_DIST = bootstrap +diff -ur v_1_0.old/src/vldp2/Makefile.in v_1_0/src/vldp2/Makefile.in +--- v_1_0.old/src/vldp2/Makefile.in 2009-12-29 18:04:15.000000000 +0200 ++++ v_1_0/src/vldp2/Makefile.in 2009-12-29 18:10:51.000000000 +0200 +@@ -128,7 +128,7 @@ + sharedstatedir = @sharedstatedir@ + sysconfdir = @sysconfdir@ + target_alias = @target_alias@ +-SUBDIRS = autotools include libmpeg2 libvo doc src vc++ test ++SUBDIRS = autotools + + EXTRA_DIST = bootstrap + subdir = . +diff -ur v_1_0.old/src/vldp2/Makefile.linux v_1_0/src/vldp2/Makefile.linux +--- v_1_0.old/src/vldp2/Makefile.linux 2009-12-29 18:04:15.000000000 +0200 ++++ v_1_0/src/vldp2/Makefile.linux 2009-12-29 18:13:12.000000000 +0200 +@@ -14,14 +14,9 @@ + DFLAGS = -O3 -march=i686 -fomit-frame-pointer -funroll-loops + + CFLAGS = ${DFLAGS} `sdl-config --cflags` -I./include +-LIBS = `sdl-config --libs` ++LIBS = `sdl-config --libs` -lmpeg2 + +-OBJS = vldp/vldp.o vldp/vldp_internal.o vldp/mpegscan.o \ +- libmpeg2/cpu_accel.o libmpeg2/alloc.o libmpeg2/cpu_state.o \ +- libmpeg2/decode.o libmpeg2/header.o libmpeg2/motion_comp.o \ +- libmpeg2/idct.o libmpeg2/idct_mmx.o libmpeg2/motion_comp_mmx.o \ +- libmpeg2/slice.o \ +- libvo/video_out.o libvo/video_out_null.o ++OBJS = vldp/vldp.o vldp/vldp_internal.o vldp/mpegscan.o + + LIBNAME = libvldp2.so + + 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..f47511a0cd03 --- /dev/null +++ b/games-emulation/daphne/files/daphne-1.0-typefix.patch @@ -0,0 +1,47 @@ +amd64 does not like int pointers + +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-underlink.patch b/games-emulation/daphne/files/daphne-1.0-underlink.patch new file mode 100644 index 000000000000..f04f3f6c5fd1 --- /dev/null +++ b/games-emulation/daphne/files/daphne-1.0-underlink.patch @@ -0,0 +1,8 @@ +--- Makefile.vars.linux_x86.old 2011-09-21 12:27:42.480566742 +0200 ++++ Makefile.vars.linux_x86 2011-09-21 12:27:57.490564959 +0200 +@@ -24,4 +24,4 @@ + -DUSE_MMX -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DUSE_OPENGL + + # platform-specific lib flags +-LIBS = `sdl-config --libs` -ldl -lz -logg -lvorbis -lvorbisfile -lGLEW ++LIBS = `sdl-config --libs` -ldl -lz -logg -lvorbis -lvorbisfile -lGLEW -lGL -lm 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..49eb1aaab62d --- /dev/null +++ b/games-emulation/daphne/files/daphne-1.0-vorbisfilefix.patch @@ -0,0 +1,14 @@ +Fix no sound issue with >=media-libs/libvorbis-1.2.0 + +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) diff --git a/games-emulation/daphne/files/daphne-1.0-zlib.patch b/games-emulation/daphne/files/daphne-1.0-zlib.patch new file mode 100644 index 000000000000..dbae7b31fe9c --- /dev/null +++ b/games-emulation/daphne/files/daphne-1.0-zlib.patch @@ -0,0 +1,13 @@ +--- io/unzip.h.old 2011-09-21 12:13:28.911668053 +0200 ++++ io/unzip.h 2011-09-21 12:14:53.074658064 +0200 +@@ -57,6 +57,10 @@ + #include "zlib.h" + #endif + ++#ifndef OF ++#define OF _Z_OF ++#endif ++ + #if defined(STRICTUNZIP) || defined(STRICTZIPUNZIP) + /* like the STRICT of WIN32, we define a pointer that cannot be converted + from (void*) without cast */ diff --git a/games-emulation/daphne/metadata.xml b/games-emulation/daphne/metadata.xml new file mode 100644 index 000000000000..d3c2cc926f0b --- /dev/null +++ b/games-emulation/daphne/metadata.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>games</herd> +</pkgmetadata> |