95 lines
2.4 KiB
Bash
95 lines
2.4 KiB
Bash
# Copyright 1999-2023 Gentoo Authors
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
|
|
EAPI=8
|
|
|
|
PYTHON_COMPAT=( python3_{8..12} )
|
|
inherit python-single-r1 xdg
|
|
|
|
if [[ ${PV} == 9999 ]]; then
|
|
inherit git-r3
|
|
EGIT_REPO_URI="https://github.com/falkTX/Carla.git"
|
|
EGIT_SUBMODULES=() # Prevent Carla-Plugins from installing
|
|
else
|
|
SRC_URI="https://github.com/falkTX/Carla/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
|
KEYWORDS="~amd64"
|
|
MY_PN="Carla"
|
|
MY_P="${MY_PN}-${PV}"
|
|
S="${WORKDIR}/${MY_P}"
|
|
fi
|
|
|
|
DESCRIPTION="Fully-featured audio plugin host, supports many audio drivers and plugin formats"
|
|
HOMEPAGE="https://kx.studio/Applications:Carla"
|
|
LICENSE="GPL-2 LGPL-3"
|
|
SLOT="0"
|
|
IUSE="alsa gtk gtk2 opengl osc pulseaudio rdf sf2 sndfile X"
|
|
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
|
|
|
|
DEPEND="
|
|
${PYTHON_DEPS}
|
|
$(python_gen_cond_dep 'dev-python/PyQt5[gui,opengl?,svg,widgets,${PYTHON_USEDEP}]')
|
|
virtual/jack
|
|
alsa? ( media-libs/alsa-lib )
|
|
gtk? ( x11-libs/gtk+:3 )
|
|
gtk2? ( x11-libs/gtk+:2 )
|
|
osc? (
|
|
media-libs/liblo
|
|
media-libs/pyliblo
|
|
)
|
|
pulseaudio? ( media-libs/libpulse )
|
|
rdf? ( dev-python/rdflib )
|
|
sf2? ( media-sound/fluidsynth )
|
|
sndfile? ( media-libs/libsndfile )
|
|
X? ( x11-libs/libX11 )
|
|
"
|
|
RDEPEND="${DEPEND}"
|
|
BDEPEND="${DEPEND}"
|
|
|
|
src_prepare() {
|
|
sed -i -e "s|exec \$PYTHON|exec ${PYTHON}|" \
|
|
data/carla \
|
|
data/carla-control \
|
|
data/carla-database \
|
|
data/carla-jack-multi \
|
|
data/carla-jack-single \
|
|
data/carla-patchbay \
|
|
data/carla-rack \
|
|
data/carla-settings || die "sed failed"
|
|
sed -i "s;/share/appdata;/share/metainfo;g" "${S}/Makefile" || die "sed failed"
|
|
default
|
|
}
|
|
|
|
src_compile() {
|
|
myemakeargs=(
|
|
LIBDIR="/usr/$(get_libdir)"
|
|
SKIP_STRIPPING=true
|
|
HAVE_FFMPEG=false
|
|
HAVE_ZYN_DEPS=false
|
|
HAVE_ZYN_UI_DEPS=false
|
|
HAVE_QT4=false
|
|
HAVE_QT5=true
|
|
HAVE_PYQT5=true
|
|
DEFAULT_QT=5
|
|
HAVE_ALSA=$(usex alsa true false)
|
|
HAVE_FLUIDSYNTH=$(usex sf2 true false)
|
|
HAVE_GTK2=$(usex gtk2 true false)
|
|
HAVE_GTK3=$(usex gtk true false)
|
|
HAVE_LIBLO=$(usex osc true false)
|
|
HAVE_PULSEAUDIO=$(usex pulseaudio true false)
|
|
HAVE_SNDFILE=$(usex sndfile true false)
|
|
HAVE_X11=$(usex X true false)
|
|
)
|
|
|
|
# Print which options are enabled/disabled
|
|
make features PREFIX="/usr" "${myemakeargs[@]}"
|
|
|
|
emake PREFIX="/usr" "${myemakeargs[@]}"
|
|
}
|
|
|
|
src_install() {
|
|
emake DESTDIR="${D}" PREFIX="/usr" "${myemakeargs[@]}" install
|
|
if ! use osc; then
|
|
find "${D}/usr" -iname "carla-control*" | xargs rm
|
|
fi
|
|
}
|