commit: eff4c9b4ef74d3ae03f5d8a03451812944e0b653 Author: Nikos Chantziaras <realnc <AT> gmail <DOT> com> AuthorDate: Wed Aug 3 06:44:28 2022 +0000 Commit: Joonas Niilola <juippis <AT> gentoo <DOT> org> CommitDate: Thu Aug 18 07:06:17 2022 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=eff4c9b4
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 <AT> gmail.com> Closes: https://github.com/gentoo/gentoo/pull/26717 Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org> media-sound/qtractor/qtractor-0.9.27-r1.ebuild | 103 +++++++++++++++++++++++++ 1 file changed, 103 insertions(+) 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 +}