summaryrefslogtreecommitdiff
blob: f08ae5509df5f462568fc740ac037bc952303ebd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/games-emulation/sdlmametools/sdlmametools-0.149.ebuild,v 1.1 2013/06/26 13:17:17 hasufell Exp $

EAPI=5
PYTHON_COMPAT=( python2_6 python2_7 )
inherit eutils flag-o-matic python-any-r1 games

MY_PV=${PV/.}
MY_P=${PN%tools}${MY_PV}
MY_P=${MY_P%%_p*}

# patches
SRC_URI="$(for PATCH_VER in $(seq 1 ${PV##*_p}) ; do echo "http://dev.gentoo.org/~hasufell/distfiles/${MY_P}u${PATCH_VER}_diff.zip"; done)"

DESCRIPTION="Set of development tools shared between sdlmame and sdlmess"
HOMEPAGE="http://mamedev.org/"
# Upstream doesn't allow fetching with unknown User-Agent such as wget
SRC_URI="$SRC_URI http://dev.gentoo.org/~hasufell/distfiles/${MY_P/sdl}s.zip"

LICENSE="XMAME"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~x86"
IUSE=""

RDEPEND="
	dev-libs/expat
	media-libs/flac
	>=media-libs/libsdl-1.2.10
	media-libs/sdl-ttf
	sys-libs/zlib"
DEPEND="${RDEPEND}
	${PYTHON_DEPS}
	app-arch/unzip
	virtual/pkgconfig"

S=${WORKDIR}

# Function to disable a makefile option
disable_feature() {
	sed -i \
		-e "/$1.*=/s:^:# :" \
		"${S}"/${2:-makefile} \
		|| die "sed failed"
}

# Function to enable a makefile option
enable_feature() {
	sed -i \
		-e "/^#.*$1.*=/s:^#::"  \
		"${S}"/${2:-makefile} \
		|| die "sed failed"
}

pkg_setup() {
	games_pkg_setup
	python-any-r1_pkg_setup
}

src_unpack() {
	default
	unpack ./mame.zip
	rm -f mame.zip
}

src_prepare() {
	if [[ $PV == *_p* ]] ; then
		edos2unix $(find $(grep +++ *diff | awk '{ print $2 }' | sort -u) 2>/dev/null) *diff
		einfo "Patching release with source updates"
		epatch ${MY_PV%%_p*}*.diff
	fi
	edos2unix makefile src/osd/sdl/{osdsdl.h,sdl.mak}

	epatch \
		"${FILESDIR}"/${P}-QA.patch \
		"${FILESDIR}"/${P}-system-lua.patch \
		"${FILESDIR}"/${P}-no-opengl.patch \
		"${FILESDIR}"/${P}-debugger-linking.patch

	# Don't compile zlib and expat
	einfo "Disabling embedded libraries: expat, flac, jpeg, zlib, lua"
	disable_feature BUILD_EXPAT
	disable_feature BUILD_FLAC
	disable_feature BUILD_JPEG
	disable_feature BUILD_ZLIB

	# unused, avoid linking
#	disable_feature BUILD_LUA

	if use amd64; then
		einfo "Enabling 64-bit support"
		enable_feature PTR64
	fi

	if use ppc; then
		einfo "Enabling PPC support"
		enable_feature BIGENDIAN
	fi

	enable_feature NO_USE_MIDI src/osd/sdl/sdl.mak
	enable_feature NO_USE_QTDEBUG src/osd/sdl/sdl.mak
	enable_feature NO_OPENGL src/osd/sdl/sdl.mak
	enable_feature NO_X11 src/osd/sdl/sdl.mak
}

src_compile() {
	emake \
		NO_DEBUGGER=1 tools
}

src_install() {
	for i in chdman jedutil ldresample ldverify romcmp testkeys ; do
		newgamesbin ${i} sdlmame-${i}
		nonfatal newman src/osd/sdl/man/${i}.1 sdlmame-${i}.1
	done

	prepgamesdirs
}