blob: cc1b3d3093dba66a814b37bbaa629ed02928b8bf (
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
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
|
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI="4"
PYTHON_DEPEND="python? 2:2.6"
SUPPORT_PYTHON_ABIS="1"
RESTRICT_PYTHON_ABIS="3.*"
PYTHON_MODNAME="pyportmidi"
inherit cmake-utils distutils eutils multilib java-pkg-opt-2
DESCRIPTION="A library for real time MIDI input and output"
HOMEPAGE="http://portmedia.sourceforge.net/"
SRC_URI="mirror://sourceforge/portmedia/${PN}-src-${PV}.zip"
LICENSE="MIT"
SLOT="0"
KEYWORDS="amd64 x86"
IUSE="debug doc java python static-libs test-programs"
CDEPEND="media-libs/alsa-lib"
RDEPEND="${CDEPEND}
java? ( >=virtual/jre-1.6 )"
DEPEND="${CDEPEND}
app-arch/unzip
java? ( >=virtual/jdk-1.6 )
python? ( >=dev-python/cython-0.12.1 )
doc? (
app-doc/doxygen
dev-texlive/texlive-fontsrecommended
dev-texlive/texlive-latexextra
dev-tex/xcolor
virtual/latex-base
)"
S=${WORKDIR}/${PN}
pkg_setup() {
use java && java-pkg-opt-2_pkg_setup
use python && python_pkg_setup
}
src_prepare() {
# fix parallel make failures, fix java support, and allow optional
# components like test programs and static libs to be skipped
epatch "${FILESDIR}"/${P}-cmake.patch
# add include directories and remove references to missing files
epatch "${FILESDIR}"/${P}-python.patch
# install wrapper for pmdefaults
if use java ; then
cat > pm_java/pmdefaults/pmdefaults <<-EOF
#!/bin/sh
java -Djava.library.path="${EPREFIX}/usr/$(get_libdir)/" \\
-jar "${EPREFIX}/usr/share/${PN}/lib/pmdefaults.jar"
EOF
[[ $? -ne 0 ]] && die "cat pmdefaults failed"
fi
use python && python_copy_sources
}
src_configure() {
if use debug ; then
CMAKE_BUILD_TYPE=Debug
else
CMAKE_BUILD_TYPE=Release
fi
local mycmakeargs=(
$(cmake-utils_use java PORTMIDI_ENABLE_JAVA)
$(cmake-utils_use static-libs PORTMIDI_ENABLE_STATIC)
$(cmake-utils_use test-programs PORTMIDI_ENABLE_TEST)
)
if use java ; then
mycmakeargs+=(-DJAR_INSTALL_DIR="${EPREFIX}/usr/share/${PN}/lib")
fi
cmake-utils_src_configure
}
src_compile() {
cmake-utils_src_compile
if use python ; then
sed -i -e "/library_dirs=.*linux/s#./linux#${CMAKE_BUILD_DIR}#" pm_python/setup.py || die
pushd pm_python > /dev/null
distutils_src_compile
popd > /dev/null
fi
if use doc ; then
doxygen || die "doxygen failed"
pushd latex > /dev/null
VARTEXFONTS="${T}"/fonts emake
popd > /dev/null
fi
}
src_install() {
cmake-utils_src_install
dodoc CHANGELOG.txt README.txt pm_linux/README_LINUX.txt
use doc && dodoc latex/refman.pdf
if use python ; then
pushd pm_python > /dev/null
distutils_src_install
popd > /dev/null
fi
if use java ; then
newdoc pm_java/README.txt README_JAVA.txt
newicon pm_java/pmdefaults/pmdefaults-icon.png pmdefaults.png
make_desktop_entry pmdefaults Pmdefaults pmdefaults "AudioVideo;Audio;Midi;"
fi
if use test-programs ; then
exeinto /usr/$(get_libdir)/${PN}
local app
for app in latency midiclock midithread midithru mm qtest sysex test ; do
doexe "${CMAKE_BUILD_DIR}"/${app}
done
fi
}
pkg_postinst() {
use python && distutils_pkg_postinst
}
pkg_postrm() {
use python && distutils_pkg_postrm
}
|