114 lines
2.7 KiB
Bash
114 lines
2.7 KiB
Bash
# Copyright 1999-2022 Gentoo Authors
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
|
|
EAPI=7
|
|
|
|
PYTHON_COMPAT=( python3_{10,11,12} )
|
|
inherit python-single-r1 toolchain-funcs xdg-utils
|
|
|
|
DESCRIPTION="Full featured audio plugin host supporting many audio drivers and plugin formats"
|
|
HOMEPAGE="https://kx.studio/Applications:Carla"
|
|
|
|
if [[ ${PV} == 9999 ]]
|
|
then
|
|
inherit git-r3
|
|
EGIT_REPO_URI="https://github.com/falkTX/${PN}"
|
|
else
|
|
SRC_URI="https://github.com/falkTX/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
|
|
KEYWORDS="~amd64"
|
|
S="${WORKDIR}/${P/c/C}"
|
|
fi
|
|
|
|
LICENSE="GPL-2+ LGPL-3"
|
|
SLOT="0"
|
|
IUSE="+X alsa +gtk gtk2 +juce lto osc pulseaudio +qt5 rdf sf2 +sndfile"
|
|
REQUIRED_USE="
|
|
${PYTHON_REQUIRED_USE}
|
|
juce? ( X )
|
|
"
|
|
|
|
RDEPEND="
|
|
${PYTHON_DEPS}
|
|
X? (
|
|
juce? (
|
|
media-libs/freetype:2
|
|
x11-libs/libXcursor
|
|
x11-libs/libXext
|
|
)
|
|
x11-base/xorg-proto
|
|
x11-libs/libX11
|
|
)
|
|
alsa? ( media-libs/alsa-lib )
|
|
gtk2? ( x11-libs/gtk+:2 )
|
|
gtk? ( x11-libs/gtk+:3 )
|
|
osc? (
|
|
$(python_gen_cond_dep 'dev-python/pyliblo[${PYTHON_USEDEP}]')
|
|
media-libs/liblo
|
|
)
|
|
pulseaudio? ( media-sound/pulseaudio )
|
|
qt5? ( $(python_gen_cond_dep 'dev-python/PyQt5[gui,svg,widgets,${PYTHON_USEDEP}]') )
|
|
rdf? ( dev-python/rdflib )
|
|
sf2? ( media-sound/fluidsynth )
|
|
sndfile? ( media-libs/libsndfile )
|
|
sys-apps/file
|
|
virtual/jack
|
|
"
|
|
DEPEND="${RDEPEND}"
|
|
|
|
PATCHES="${FILESDIR}/carla-2.5.0-clang-unknown-argument.patch"
|
|
|
|
src_prepare() {
|
|
sed -i -e "3s|=.*|=${PYTHON}|; 4,7d" \
|
|
data/carla \
|
|
data/carla-bridge-lv2-modgui \
|
|
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"
|
|
|
|
default
|
|
}
|
|
|
|
src_compile() {
|
|
myemakeargs=(
|
|
CLANG=$(tc-is-clang && echo true || echo false)
|
|
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_PYQT=$(usex qt5 true false)
|
|
HAVE_QT5=$(usex qt5 true false)
|
|
HAVE_SNDFILE=$(usex sndfile true false)
|
|
HAVE_X11=$(usex X true false)
|
|
LIBDIR="/usr/$(get_libdir)"
|
|
SKIP_STRIPPING=true
|
|
USING_JUCE=$(usex juce true false)
|
|
WITH_LTO=$(usex lto true false)
|
|
)
|
|
|
|
emake PREFIX="${EPREFIX}/usr" "${myemakeargs[@]}" features
|
|
|
|
use elibc_musl && export LDFLAGS="-l fts"
|
|
emake PREFIX="${EPREFIX}/usr" "${myemakeargs[@]}"
|
|
}
|
|
|
|
src_install() {
|
|
emake DESTDIR="${D}" PREFIX="${EPREFIX}/usr" "${myemakeargs[@]}" install
|
|
}
|
|
|
|
pkg_postinst() {
|
|
xdg_desktop_database_update
|
|
xdg_icon_cache_update
|
|
xdg_mimeinfo_database_update
|
|
}
|
|
|
|
pkg_postrm() {
|
|
xdg_desktop_database_update
|
|
xdg_icon_cache_update
|
|
xdg_mimeinfo_database_update
|
|
}
|