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