all repos — la-ninpre-overlay @ 45d6e78d57dca4c4a1421f12d583e6a5a93bb067

personal gentoo overlay

media-sound/carla/carla-2.4.3.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_{8,9,10} )
  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=()
 16	KEYWORDS=""
 17else
 18	SRC_URI="https://github.com/falkTX/Carla/archive/v${PV}.tar.gz -> ${P}.tar.gz"
 19	RESTRICT="mirror"
 20	KEYWORDS="~amd64"
 21	S="${WORKDIR}/Carla-${PV}"
 22fi
 23LICENSE="GPL-2 LGPL-3"
 24SLOT="0"
 25
 26IUSE="alsa gtk gtk2 opengl osc -pulseaudio rdf sf2 sndfile X"
 27REQUIRED_USE="${PYTHON_REQUIRED_USE}"
 28
 29RDEPEND="${PYTHON_DEPS}
 30	$(python_gen_cond_dep 'dev-python/PyQt5[gui,opengl?,svg,widgets,${PYTHON_USEDEP}]')
 31	virtual/jack
 32	alsa? ( media-libs/alsa-lib )
 33	gtk? ( x11-libs/gtk+:3 )
 34	gtk2? ( x11-libs/gtk+:2 )
 35	osc? (
 36		media-libs/liblo
 37		media-libs/pyliblo
 38	)
 39	pulseaudio? ( media-sound/pulseaudio )
 40	rdf? ( dev-python/rdflib )
 41	sf2? ( media-sound/fluidsynth )
 42	sndfile? ( media-libs/libsndfile )
 43	X? ( x11-base/xorg-server )"
 44DEPEND=${RDEPEND}
 45
 46PATCHES=(
 47	"${FILESDIR}/${P}-metainfo.patch"
 48)
 49
 50src_prepare() {
 51	sed -i -e "s|exec \$PYTHON|exec ${PYTHON}|" \
 52		data/carla \
 53		data/carla-control \
 54		data/carla-database \
 55		data/carla-jack-multi \
 56		data/carla-jack-single \
 57		data/carla-patchbay \
 58		data/carla-rack \
 59		data/carla-settings || die "sed failed"
 60	default
 61}
 62
 63src_compile() {
 64	myemakeargs=(
 65		LIBDIR="/usr/$(get_libdir)"
 66		SKIP_STRIPPING=true
 67		HAVE_FFMPEG=false
 68		HAVE_ZYN_DEPS=false
 69		HAVE_ZYN_UI_DEPS=false
 70		HAVE_QT4=false
 71		HAVE_QT5=true
 72		HAVE_PYQT5=true
 73		DEFAULT_QT=5
 74		HAVE_ALSA=$(usex alsa true false)
 75		HAVE_FLUIDSYNTH=$(usex sf2 true false)
 76		HAVE_GTK2=$(usex gtk2 true false)
 77		HAVE_GTK3=$(usex gtk true false)
 78		HAVE_LIBLO=$(usex osc true false)
 79		HAVE_PULSEAUDIO=$(usex pulseaudio true false)
 80		HAVE_SNDFILE=$(usex sndfile true false)
 81		HAVE_X11=$(usex X true false)
 82	)
 83
 84	# Print which options are enabled/disabled
 85	make features PREFIX="/usr" "${myemakeargs[@]}"
 86
 87	emake PREFIX="/usr" "${myemakeargs[@]}"
 88}
 89
 90src_install() {
 91	emake DESTDIR="${D}" PREFIX="/usr" "${myemakeargs[@]}" install
 92	if ! use osc; then
 93		find "${D}/usr" -iname "carla-control*" | xargs rm
 94	fi
 95}
 96
 97pkg_postinst() {
 98	xdg_mimeinfo_database_update
 99	xdg_desktop_database_update
100	xdg_icon_cache_update
101}
102
103pkg_postrm() {
104	xdg_mimeinfo_database_update
105	xdg_desktop_database_update
106	xdg_icon_cache_update
107}