all repos — la-ninpre-overlay @ 7fa85e4431140b6edcb8074c46921a24c6db7df7

personal gentoo overlay

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}