blob: 0adb4d32f4bccd7eabcca08d6ef40a5376a0d4a8 (
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
|
# Copyright 1999-2018 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=( python2_7 )
DISTUTILS_OPTIONAL=1
inherit cmake-utils desktop distutils-r1 java-pkg-opt-2
DESCRIPTION="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="~alpha amd64 ~arm ~hppa ~ia64 ~mips ppc ~sparc x86"
IUSE="debug doc java python static-libs test-programs"
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
COMMON_DEPEND="
media-libs/alsa-lib
python? ( ${PYTHON_DEPS} )"
RDEPEND="${COMMON_DEPEND}
java? ( >=virtual/jre-1.6 )"
DEPEND="${COMMON_DEPEND}
app-arch/unzip
doc? (
app-doc/doxygen
dev-tex/xcolor
dev-texlive/texlive-fontsrecommended
dev-texlive/texlive-latexextra
virtual/latex-base
)
java? ( >=virtual/jdk-1.6 )
python? ( >=dev-python/cython-0.12.1[${PYTHON_USEDEP}] )
"
S="${WORKDIR}/${PN}"
PATCHES=(
# fix parallel make failures, fix java support, and allow optional
# components like test programs and static libs to be skipped
"${FILESDIR}"/${P}-cmake.patch
# add include directories and remove references to missing files
"${FILESDIR}"/${P}-python.patch
)
pkg_setup() {
use java && java-pkg-opt-2_pkg_setup
}
src_prepare() {
cmake-utils_src_prepare
# 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
}
src_configure() {
if use debug ; then
CMAKE_BUILD_TYPE=Debug
else
CMAKE_BUILD_TYPE=Release
fi
local mycmakeargs=(
-DPORTMIDI_ENABLE_JAVA=$(usex java)
-DPORTMIDI_ENABLE_STATIC=$(usex static-libs)
-DPORTMIDI_ENABLE_TEST=$(usex test-programs)
)
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-r1_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-r1_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
}
|