summaryrefslogtreecommitdiff
blob: 05e504a712e586fbdad18793d1b4a4f10315450c (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
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$

EAPI=5
inherit cmake-utils readme.gentoo

DESCRIPTION="Midi processing library and a midi player using the gus patch set"
HOMEPAGE="http://www.mindwerks.net/projects/wildmidi/"
SRC_URI="https://github.com/Mindwerks/${PN}/archive/${P}.tar.gz"

LICENSE="GPL-3 LGPL-3"
SLOT="0"
KEYWORDS="~amd64 ~arm ~hppa ~ppc ~ppc64 ~x86"
IUSE="+alsa openal oss +player"

DEPEND="player? (
	alsa? ( media-libs/alsa-lib )
	openal? ( media-libs/openal )
	)"
RDEPEND="${DEPEND}
	media-sound/timidity-freepats"

REQUIRED_USE="player? ( ^^ ( alsa oss openal ) )"

DOC_CONTENTS="${PN} is using timidity-freepats for midi playback.
	A default configuration file was placed on /etc/${PN}/${PN}.cfg.
	For more information please read the ${PN}.cfg manpage."

S="${WORKDIR}"/${PN}-${P}

src_prepare() {
	# alsa openal oss only make sense if player is enabled. See CMakeLists.txt
	if ! use player && (use alsa || use openal || use oss); then
		ewarn
		ewarn "The 'alsa', 'openal' and 'oss' use flags only make sense if"
		ewarn "the 'player' use flags is selected and as a result they will be"
		ewarn "ignored in this build"
		ewarn
	fi
	cmake-utils_src_prepare
}

src_configure() {
	mycmakeargs=(
		$(cmake-utils_use_want alsa)
		$(cmake-utils_use_want openal)
		$(cmake-utils_use_want oss)
		$(cmake-utils_use_want player)
	)
	cmake-utils_src_configure
}

src_install() {
	cmake-utils_src_install
	find "${D}" -name '*.la' -exec rm -f {} +
	insinto /etc/${PN}/
	doins cfg/${PN}.cfg
	readme.gentoo_create_doc
}

pkg_postinst() {
	if [[ -e "${ROOT}"/etc/${PN}.cfg ]]; then
		elog
		elog "Old /etc/${PN}.cfg detected!"
		elog "Please migrate your configuration file to"
		elog "/etc/${PN}/ directory which is now the default"
		elog "location for the ${PN} configuration file."
		elog
	fi
}