diff options
author | Nikos Chantziaras <realnc@gmail.com> | 2022-08-03 09:44:28 +0300 |
---|---|---|
committer | Joonas Niilola <juippis@gentoo.org> | 2022-08-18 10:06:17 +0300 |
commit | eff4c9b4ef74d3ae03f5d8a03451812944e0b653 (patch) | |
tree | 5e2fce3f7d2bc49f8c27f13e51480b5fff88def3 /media-sound/qtractor | |
parent | app-editors/featherpad: add a missing dependency dev-qt/qtdbus:5 (diff) | |
download | gentoo-eff4c9b4ef74d3ae03f5d8a03451812944e0b653.tar.gz gentoo-eff4c9b4ef74d3ae03f5d8a03451812944e0b653.tar.bz2 gentoo-eff4c9b4ef74d3ae03f5d8a03451812944e0b653.zip |
media-sound/qtractor: enable VST2 support
A lot of MIDI instruments now come in the form of Linux VST plugins, so
not having VST support enabled seriously limits Qtractor's use cases
(since the primary use of Qtractor is as a MIDI sequencer) and forces
users to manually build from source.
VST2 support does not actually require any external deps. When the VST2
SDK is not found, it just uses the VST API declared in vestige.h which
comes with qtractor. So just unconditionally enable it, which is what
upstream does when cmake can't find the SDK.
VST3 support does require the VST3 SDK, which is not in portage, so keep
that disabled. Fortunately, VST3 is not that popular, at least for Linux
VST plugins.
Signed-off-by: Nikos Chantziaras <realnc@gmail.com>
Closes: https://github.com/gentoo/gentoo/pull/26717
Signed-off-by: Joonas Niilola <juippis@gentoo.org>
Diffstat (limited to 'media-sound/qtractor')
-rw-r--r-- | media-sound/qtractor/qtractor-0.9.27-r1.ebuild | 103 |
1 files changed, 103 insertions, 0 deletions
diff --git a/media-sound/qtractor/qtractor-0.9.27-r1.ebuild b/media-sound/qtractor/qtractor-0.9.27-r1.ebuild new file mode 100644 index 000000000000..81b259e6c8fa --- /dev/null +++ b/media-sound/qtractor/qtractor-0.9.27-r1.ebuild @@ -0,0 +1,103 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake xdg + +DESCRIPTION="Audio/MIDI multi-track sequencer written in C++ with the Qt framework" +HOMEPAGE="https://qtractor.sourceforge.io" +SRC_URI="mirror://sourceforge/qtractor/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +IUSE="aubio cpu_flags_x86_sse debug dssi ladspa libsamplerate mad osc rubberband vorbis zlib" +REQUIRED_USE="dssi? ( ladspa )" + +BDEPEND=" + dev-qt/linguist-tools:5 + virtual/pkgconfig +" +DEPEND=" + dev-qt/qtcore:5 + dev-qt/qtgui:5 + dev-qt/qtwidgets:5 + dev-qt/qtxml:5 + dev-qt/qtx11extras:5 + media-libs/alsa-lib + media-libs/libsndfile + media-libs/lilv + media-libs/lv2 + media-libs/suil + virtual/jack + aubio? ( media-libs/aubio ) + dssi? ( media-libs/dssi ) + ladspa? ( media-libs/ladspa-sdk ) + libsamplerate? ( media-libs/libsamplerate ) + mad? ( media-libs/libmad ) + osc? ( media-libs/liblo ) + rubberband? ( media-libs/rubberband ) + vorbis? ( media-libs/libvorbis ) + zlib? ( sys-libs/zlib ) +" +RDEPEND="${DEPEND}" + +src_prepare() { + cmake_src_prepare +} + +src_configure() { + local mycmakeargs=( + -DCONFIG_DSSI=$(usex dssi 1 0) + -DCONFIG_GRADIENT=1 + -DCONFIG_JACK_LATENCY=1 + -DCONFIG_JACK_METADATA=1 + -DCONFIG_JACK_SESSION=1 + -DCONFIG_LADSPA=$(usex ladspa 1 0) + -DCONFIG_LIBAUBIO=$(usex aubio 1 0) + -DCONFIG_LIBLILV=1 + -DCONFIG_LIBLO=$(usex osc 1 0) + -DCONFIG_LIBMAD=$(usex mad 1 0) + -DCONFIG_LIBRUBBERBAND=$(usex rubberband 1 0) + -DCONFIG_LIBSAMPLERATE=$(usex libsamplerate 1 0) + -DCONFIG_LIBVORBIS=$(usex vorbis 1 0) + -DCONFIG_LIBZ=$(usex zlib 1 0) + -DCONFIG_LV2=1 + -DCONFIG_LV2_UI_GTK2=0 + -DCONFIG_NSM=0 + -DCONFIG_SSE=$(usex cpu_flags_x86_sse 1 0) + -DCONFIG_STACKTRACE=$(usex debug 1 0) + -DCONFIG_VESTIGE=1 + -DCONFIG_VST=1 + -DCONFIG_VST3=0 + -DCONFIG_XUNIQUE=0 + ) + # Following options are left to the default + # CONFIG_LV2_ATOM + # CONFIG_LV2_BUF_SIZE + # CONFIG_LV2_CVPORT + # CONFIG_LV2_EVENT + # CONFIG_LV2_EXTERNAL_UI + # CONFIG_LV2_MIDNAM + # CONFIG_LV2_OPTIONS + # CONFIG_LV2_PARAMETERS + # CONFIG_LV2_PATCH + # CONFIG_LV2_PORT_EVENT + # CONFIG_LV2_PRESETS + # CONFIG_LV2_PROGRAMS + # CONFIG_LV2_STATE + # CONFIG_LV2_STATE_FILES + # CONFIG_LV2_STATE_MAKE_PATH + # CONFIG_LV2_TIME + # CONFIG_LV2_TIME_POSITION + # CONFIG_LV2_UI + # CONFIG_LV2_UI_IDLE + # CONFIG_LV2_UI_REQ_VALUE + # CONFIG_LV2_UI_SHOW + # CONFIG_LV2_UI_TOUCH + # CONFIG_LV2_WORKER + # CONFIG_LV2_UI_X11 + cmake_src_configure +} |