aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--media-sound/carla/Manifest1
-rw-r--r--media-sound/carla/carla-2.4.3.ebuild107
-rw-r--r--media-sound/carla/files/carla-2.4.3-metainfo.patch20
-rw-r--r--media-sound/carla/metadata.xml13
4 files changed, 141 insertions, 0 deletions
diff --git a/media-sound/carla/Manifest b/media-sound/carla/Manifest
new file mode 100644
index 0000000..d3573eb
--- /dev/null
+++ b/media-sound/carla/Manifest
@@ -0,0 +1 @@
+DIST carla-2.4.3.tar.gz 10057018 BLAKE2B 2fc4cf69b11b88069049eba84a6f3d88d1fbd35539d32dd8d0204de5c146d7bee4eaf6aca40ef3cc366661238eb06dda2a3a3aec93f6c4b6cf4848055076b616 SHA512 1e062e2bd5c8791d5936dbaa30accf8165cfb8b487e4b7d90800b573f436a6415d7452000849ebdab60ff60f7162161a0f4f50645deaaf115d47a436807ea3b9
diff --git a/media-sound/carla/carla-2.4.3.ebuild b/media-sound/carla/carla-2.4.3.ebuild
new file mode 100644
index 0000000..80f4264
--- /dev/null
+++ b/media-sound/carla/carla-2.4.3.ebuild
@@ -0,0 +1,107 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{8,9,10} )
+inherit python-single-r1 xdg-utils
+
+DESCRIPTION="Fully-featured audio plugin host, supports many audio drivers and plugin formats"
+HOMEPAGE="http://kxstudio.linuxaudio.org/Applications:Carla"
+if [[ ${PV} == *9999 ]]; then
+ # Disable submodules to prevent external plugins from being built and installed
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/falkTX/Carla.git"
+ EGIT_SUBMODULES=()
+ KEYWORDS=""
+else
+ SRC_URI="https://github.com/falkTX/Carla/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ RESTRICT="mirror"
+ KEYWORDS="~amd64"
+ S="${WORKDIR}/Carla-${PV}"
+fi
+LICENSE="GPL-2 LGPL-3"
+SLOT="0"
+
+IUSE="alsa gtk gtk2 opengl osc -pulseaudio rdf sf2 sndfile X"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="${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-sound/pulseaudio )
+ rdf? ( dev-python/rdflib )
+ sf2? ( media-sound/fluidsynth )
+ sndfile? ( media-libs/libsndfile )
+ X? ( x11-base/xorg-server )"
+DEPEND=${RDEPEND}
+
+PATCHES=(
+ "${FILESDIR}/${P}-metainfo.patch"
+)
+
+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"
+ 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
+}
+
+pkg_postinst() {
+ xdg_mimeinfo_database_update
+ xdg_desktop_database_update
+ xdg_icon_cache_update
+}
+
+pkg_postrm() {
+ xdg_mimeinfo_database_update
+ xdg_desktop_database_update
+ xdg_icon_cache_update
+}
diff --git a/media-sound/carla/files/carla-2.4.3-metainfo.patch b/media-sound/carla/files/carla-2.4.3-metainfo.patch
new file mode 100644
index 0000000..e42fee5
--- /dev/null
+++ b/media-sound/carla/files/carla-2.4.3-metainfo.patch
@@ -0,0 +1,20 @@
+--- a/Makefile
++++ b/Makefile
+@@ -451,7 +451,7 @@ endif
+ ifeq ($(HAVE_PYQT),true)
+ # Create directories (gui)
+ install -d $(DESTDIR)$(LIBDIR)/carla/styles
+- install -d $(DESTDIR)$(PREFIX)/share/appdata
++ install -d $(DESTDIR)$(PREFIX)/share/metainfo
+ install -d $(DESTDIR)$(DATADIR)/applications
+ install -d $(DESTDIR)$(DATADIR)/icons/hicolor/16x16/apps
+ install -d $(DESTDIR)$(DATADIR)/icons/hicolor/32x32/apps
+@@ -658,7 +658,7 @@ endif
+
+ # Install app data
+ sed -e 's?X-VERSION-X?$(VERSION)?' \
+- data/appdata.xml.in > $(DESTDIR)$(PREFIX)/share/appdata/studio.kx.carla.appdata.xml
++ data/appdata.xml.in > $(DESTDIR)$(PREFIX)/share/metainfo/studio.kx.carla.appdata.xml
+
+ # Install mime package
+ install -m 644 data/carla.xml $(DESTDIR)$(DATADIR)/mime/packages
diff --git a/media-sound/carla/metadata.xml b/media-sound/carla/metadata.xml
new file mode 100644
index 0000000..639f9fc
--- /dev/null
+++ b/media-sound/carla/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>aaoth@aaoth.xyz</email>
+ <name>la ninpre</name>
+ </maintainer>
+ <use>
+ <flag name="gtk2">Use gtk-2 instead of gtk-3</flag>
+ <flag name="rdf">Enable LADSPA-RDF support</flag>
+ <flag name="sf2">Enable builtin SF2 sample support using <pkg>media-sound/fluidsynth</pkg></flag>
+ </use>
+</pkgmetadata>