media-sound/carla/carla-2.5.1.ebuild (view raw)
1# Copyright 1999-2022 Gentoo Authors
2# Distributed under the terms of the GNU General Public License v2
3
4EAPI=8
5
6PYTHON_COMPAT=( python3_{9,10,11} )
7inherit python-single-r1 xdg
8
9DESCRIPTION="Fully-featured audio plugin host, supports many audio drivers and plugin formats"
10HOMEPAGE="http://kxstudio.linuxaudio.org/Applications:Carla"
11SRC_URI="https://github.com/falkTX/Carla/archive/v${PV}.tar.gz -> ${P}.tar.gz"
12RESTRICT="mirror"
13S="${WORKDIR}/Carla-${PV}"
14KEYWORDS="~amd64"
15LICENSE="GPL-2 LGPL-3"
16SLOT="0"
17
18IUSE="alsa gtk gtk2 opengl osc pulseaudio rdf sf2 sndfile X"
19REQUIRED_USE="${PYTHON_REQUIRED_USE}"
20
21RDEPEND="${PYTHON_DEPS}
22 $(python_gen_cond_dep 'dev-python/PyQt5[gui,opengl?,svg,widgets,${PYTHON_USEDEP}]')
23 virtual/jack
24 alsa? ( media-libs/alsa-lib )
25 gtk? ( x11-libs/gtk+:3 )
26 gtk2? ( x11-libs/gtk+:2 )
27 osc? (
28 media-libs/liblo
29 )
30 pulseaudio? ( media-sound/pulseaudio )
31 rdf? ( dev-python/rdflib )
32 sf2? ( media-sound/fluidsynth )
33 sndfile? ( media-libs/libsndfile )
34 X? ( x11-base/xorg-server )"
35DEPEND=${RDEPEND}
36
37PATCHES=(
38 "${FILESDIR}/${P}-metainfo.patch"
39)
40
41src_prepare() {
42 sed -i -e "s|exec \$PYTHON|exec ${PYTHON}|" \
43 data/carla \
44 data/carla-control \
45 data/carla-database \
46 data/carla-jack-multi \
47 data/carla-jack-single \
48 data/carla-patchbay \
49 data/carla-rack \
50 data/carla-settings || die "sed failed"
51 default
52}
53
54src_compile() {
55 myemakeargs=(
56 LIBDIR="/usr/$(get_libdir)"
57 SKIP_STRIPPING=true
58 HAVE_FFMPEG=false
59 HAVE_ZYN_DEPS=false
60 HAVE_ZYN_UI_DEPS=false
61 HAVE_QT4=false
62 HAVE_QT5=true
63 HAVE_PYQT5=true
64 DEFAULT_QT=5
65 HAVE_ALSA=$(usex alsa true false)
66 HAVE_FLUIDSYNTH=$(usex sf2 true false)
67 HAVE_GTK2=$(usex gtk2 true false)
68 HAVE_GTK3=$(usex gtk true false)
69 HAVE_LIBLO=$(usex osc true false)
70 HAVE_PULSEAUDIO=$(usex pulseaudio true false)
71 HAVE_SNDFILE=$(usex sndfile true false)
72 HAVE_X11=$(usex X true false)
73 )
74
75 # Print which options are enabled/disabled
76 make features PREFIX="/usr" "${myemakeargs[@]}"
77
78 emake PREFIX="/usr" "${myemakeargs[@]}"
79}
80
81src_install() {
82 emake DESTDIR="${D}" PREFIX="/usr" "${myemakeargs[@]}" install
83 if ! use osc; then
84 find "${D}/usr" -iname "carla-control*" | xargs rm
85 fi
86}