summaryrefslogtreecommitdiff
blob: c32335d435444a59f2ae51abc05309135d8e07a5 (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
# Copyright 1999-2005 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/media-sound/sexypsf/sexypsf-0.4.7.ebuild,v 1.3 2005/11/15 20:59:30 kugelfang Exp $

inherit eutils

DESCRIPTION="sexyPSF is an open-source PSF1 (Playstation music) file player"
HOMEPAGE="http://projects.raphnet.net/#sexypsf"
SRC_URI="http://projects.raphnet.net/sexypsf/${P}.tar.bz2"

LICENSE="GPL-2"
SLOT="0"

#-sparc: 0.4.5: Couldn't load minispf
KEYWORDS="~amd64 ~ppc -sparc ~x86"
IUSE="bmp xmms"

DEPEND="sys-libs/zlib
	bmp? ( media-sound/beep-media-player )
	xmms? ( media-sound/xmms )"

S=${WORKDIR}/${PN}

src_unpack() {
	unpack ${A}
	cd "${S}"
	epatch "${FILESDIR}"/${P}-misc.patch
}

src_compile() {
	cd "${S}"/Linux

	# ppc and sparc are big-endian while all other keywords are
	# little-endian (as far as I know)
	use ppc64 || use ppc || use sparc && CPU="MSBFIRST" || CPU="LSBFIRST"

	emake CPU="${CPU}" || die "emake failed"

	if use bmp || use xmms; then
		if ! use xmms; then
			local XMMSCONF=beep-config
		else
			local XMMSCONF=xmms-config
		fi

		cd "${S}"
		# don't generate separate xmms and bmp plugins; they're compatible
		# do make clean to force rebuild with -fPIC
		emake CPU="${CPU}" XMMSCONF="${XMMSCONF}" clean sexypsf || die "emake failed"
	fi
}

src_install() {
	dobin Linux/sexypsf

	if use bmp; then
		exeinto "$(beep-config --input-plugin-dir)"
		doexe libsexypsf.so
	fi

	if use xmms; then
		exeinto "$(xmms-config --input-plugin-dir)"
		doexe libsexypsf.so
	fi

	dodoc Docs/*
}