diff --git a/Makefile b/Makefile index 402b200797..14ca8b518f 100644 --- a/Makefile +++ b/Makefile @@ -366,6 +366,7 @@ SUBDIR+= capnproto SUBDIR+= cardpeek SUBDIR+= cargo-audit SUBDIR+= caribou +SUBDIR+= carla SUBDIR+= cartago SUBDIR+= casady-fonts SUBDIR+= castget diff --git a/carla/DESCR b/carla/DESCR new file mode 100644 index 0000000000..16b85eb84b --- /dev/null +++ b/carla/DESCR @@ -0,0 +1,8 @@ +Carla is a fully-featured modular audio plugin host, with support for many +audio drivers and plugin formats. + +Carla currently supports LADSPA (including LRDF), DSSI, LV2, VST2, VST3 and +AU plugin formats, plus SF2 and SFZ file support. + +It uses JACK as the default and preferred audio driver but also supports +native drivers like ALSA, DirectSound or CoreAudio. diff --git a/carla/Makefile b/carla/Makefile new file mode 100644 index 0000000000..6b28d73f5d --- /dev/null +++ b/carla/Makefile @@ -0,0 +1,103 @@ +# $NetBSD$ + +DISTNAME= carla-2.2.0 +CATEGORIES= audio +MASTER_SITES= ${MASTER_SITE_GITHUB:=falkTX/} +GITHUB_PROJECT= Carla +GITHUB_TAG= v${PKGVERSION_NOREV} + +MAINTAINER= pkgsrc-users@NetBSD.org +HOMEPAGE= https://kx.studio/Applications:Carla +COMMENT= Audio plugin host +LICENSE= gnu-gpl-v2 + +DEPENDS+= ${PYPKGPREFIX}-qt5-[0-9]*:../../x11/py-qt5 + +USE_TOOLS+= gmake pkg-config gsed bash:run +USE_LANGUAGES= c c++ + +MAKE_FLAGS+= PREFIX=${PREFIX} + +.include "../../mk/bsd.prefs.mk" + +.if !empty(PKGSRC_COMPILER:M*clang*) +MAKE_FLAGS+= CLANG=true +.endif + +PKGCONFIG_OVERRIDE+= data/carla-native-plugin.pc +PKGCONFIG_OVERRIDE+= data/carla-standalone.pc +PKGCONFIG_OVERRIDE+= data/carla-utils.pc + +REPLACE_BASH+= data/carla +REPLACE_BASH+= data/carla-control +REPLACE_BASH+= data/carla-bridge-lv2-modgui +REPLACE_BASH+= data/carla-database +REPLACE_BASH+= data/carla-jack-multi +REPLACE_BASH+= data/carla-jack-patchbayplugin +REPLACE_BASH+= data/carla-jack-single +REPLACE_BASH+= data/carla-osc-gui +REPLACE_BASH+= data/carla-patchbay +REPLACE_BASH+= data/carla-rack +REPLACE_BASH+= data/carla-settings + +REPLACE_PYTHON+= data/carla-single +REPLACE_PYTHON+= source/frontend/carla +REPLACE_PYTHON+= source/frontend/carla-control +REPLACE_PYTHON+= source/frontend/carla-jack-multi +REPLACE_PYTHON+= source/frontend/carla-jack-single +REPLACE_PYTHON+= source/frontend/carla-patchbay +REPLACE_PYTHON+= source/frontend/carla-plugin +REPLACE_PYTHON+= source/frontend/carla-plugin-patchbay +REPLACE_PYTHON+= source/frontend/carla-rack +REPLACE_PYTHON+= source/frontend/bigmeter-ui +REPLACE_PYTHON+= source/frontend/midipattern-ui +REPLACE_PYTHON+= source/frontend/notes-ui +REPLACE_PYTHON+= source/frontend/xycontroller-ui + +SUBST_CLASSES+= py +SUBST_STAGE.py= pre-configure +SUBST_MESSAGE.py= Correcting the Python executable name. +SUBST_FILES.py+= data/carla-bridge-lv2-modgui +SUBST_FILES.py+= data/carla-control +SUBST_FILES.py+= data/carla-database +SUBST_FILES.py+= data/carla-jack-multi +SUBST_FILES.py+= data/carla-jack-single +SUBST_FILES.py+= data/carla-osc-gui +SUBST_FILES.py+= data/carla-patchbay +SUBST_FILES.py+= data/carla-rack +SUBST_FILES.py+= data/carla-settings +SUBST_SED.py+= -e "s,python3,${PYTHONBIN},g" + +SUBST_CLASSES+= prefix +SUBST_STAGE.prefix= pre-configure +SUBST_MESSAGE.prefix= Fixing paths. +SUBST_FILES.prefix+= source/frontend/carla_shared.py +SUBST_SED.prefix+= -e "s,/usr/local,${PREFIX},g" + +PYTHON_VERSIONS_INCOMPATIBLE= 27 + +post-install: + ${CHMOD} +x ${DESTDIR}${PREFIX}/share/carla/carla + ${CHMOD} +x ${DESTDIR}${PREFIX}/share/carla/carla-control + ${CHMOD} +x ${DESTDIR}${PREFIX}/share/carla/carla-jack-multi + ${CHMOD} +x ${DESTDIR}${PREFIX}/share/carla/carla-jack-single + ${CHMOD} +x ${DESTDIR}${PREFIX}/share/carla/carla-patchbay + ${CHMOD} +x ${DESTDIR}${PREFIX}/share/carla/carla-rack + +.include "../../audio/fluidsynth/buildlink3.mk" +.include "../../audio/jack/buildlink3.mk" +.include "../../audio/liblo/buildlink3.mk" +.include "../../audio/libsndfile/buildlink3.mk" +.include "../../graphics/hicolor-icon-theme/buildlink3.mk" +.include "../../lang/python/application.mk" +.include "../../multimedia/ffmpeg4/buildlink3.mk" +.include "../../sysutils/desktop-file-utils/desktopdb.mk" +.if ${OPSYS} != "Darwin" +. include "../../graphics/MesaLib/buildlink3.mk" +. include "../../x11/gtk2/buildlink3.mk" +. include "../../x11/gtk3/buildlink3.mk" +. include "../../x11/libX11/buildlink3.mk" +. include "../../x11/libXext/buildlink3.mk" +.endif +.include "../../x11/qt5-qtbase/buildlink3.mk" +.include "../../mk/bsd.pkg.mk" diff --git a/carla/PLIST b/carla/PLIST new file mode 100644 index 0000000000..09f756c274 --- /dev/null +++ b/carla/PLIST @@ -0,0 +1,222 @@ +@comment $NetBSD$ +bin/carla +bin/carla-control +bin/carla-database +bin/carla-jack-multi +bin/carla-jack-patchbayplugin +bin/carla-jack-single +bin/carla-osc-gui +bin/carla-patchbay +bin/carla-rack +bin/carla-settings +bin/carla-single +include/carla/CarlaBackend.h +include/carla/CarlaEngine.hpp +include/carla/CarlaHost.h +include/carla/CarlaNative.h +include/carla/CarlaPlugin.hpp +include/carla/CarlaUtils.h +include/carla/includes/CarlaDefines.h +include/carla/includes/CarlaMIDI.h +include/carla/includes/CarlaNative.h +include/carla/includes/CarlaNativePlugin.h +lib/carla/carla-bridge-lv2-gtk2 +lib/carla/carla-bridge-lv2-gtk3 +lib/carla/carla-bridge-lv2-modgui +lib/carla/carla-bridge-lv2-qt5 +lib/carla/carla-bridge-lv2-x11 +lib/carla/carla-bridge-lv2.so +lib/carla/carla-bridge-native +lib/carla/carla-discovery-native +lib/carla/libcarla_native-plugin.so +lib/carla/libcarla_standalone2.so +lib/carla/libcarla_utils.so +lib/carla/styles/carlastyle.json +lib/carla/styles/carlastyle.so +lib/lv2/carla.lv2/audiofile.ttl +lib/lv2/carla.lv2/audiogain.ttl +lib/lv2/carla.lv2/audiogain_s.ttl +lib/lv2/carla.lv2/bigmeter.ttl +lib/lv2/carla.lv2/carla-bridge-lv2-gtk2 +lib/lv2/carla.lv2/carla-bridge-lv2-gtk3 +lib/lv2/carla.lv2/carla-bridge-lv2-modgui +lib/lv2/carla.lv2/carla-bridge-lv2-qt5 +lib/lv2/carla.lv2/carla-bridge-lv2-x11 +lib/lv2/carla.lv2/carla-bridge-lv2.so +lib/lv2/carla.lv2/carla-bridge-native +lib/lv2/carla.lv2/carla-discovery-native +lib/lv2/carla.lv2/carla.so +lib/lv2/carla.lv2/carlapatchbay.ttl +lib/lv2/carla.lv2/carlapatchbay16.ttl +lib/lv2/carla.lv2/carlapatchbay32.ttl +lib/lv2/carla.lv2/carlapatchbay3s.ttl +lib/lv2/carla.lv2/carlapatchbay64.ttl +lib/lv2/carla.lv2/carlapatchbaycv.ttl +lib/lv2/carla.lv2/carlarack.ttl +lib/lv2/carla.lv2/lfo.ttl +lib/lv2/carla.lv2/libcarla_native-plugin.so +lib/lv2/carla.lv2/libcarla_utils.so +lib/lv2/carla.lv2/manifest.ttl +lib/lv2/carla.lv2/midichanab.ttl +lib/lv2/carla.lv2/midichanfilter.ttl +lib/lv2/carla.lv2/midichannelize.ttl +lib/lv2/carla.lv2/midifile.ttl +lib/lv2/carla.lv2/midigain.ttl +lib/lv2/carla.lv2/midijoin.ttl +lib/lv2/carla.lv2/midipattern.ttl +lib/lv2/carla.lv2/midisplit.ttl +lib/lv2/carla.lv2/miditranspose.ttl +lib/lv2/carla.lv2/resources +lib/lv2/carla.lv2/styles +lib/pkgconfig/carla-native-plugin.pc +lib/pkgconfig/carla-standalone.pc +lib/pkgconfig/carla-utils.pc +lib/vst/carla.vst/CarlaPatchbay.so +lib/vst/carla.vst/CarlaPatchbay16.so +lib/vst/carla.vst/CarlaPatchbay32.so +lib/vst/carla.vst/CarlaPatchbay64.so +lib/vst/carla.vst/CarlaPatchbayFX.so +lib/vst/carla.vst/CarlaRack.so +lib/vst/carla.vst/CarlaRackFX.so +lib/vst/carla.vst/carla-bridge-lv2-gtk2 +lib/vst/carla.vst/carla-bridge-lv2-gtk3 +lib/vst/carla.vst/carla-bridge-lv2-modgui +lib/vst/carla.vst/carla-bridge-lv2-qt5 +lib/vst/carla.vst/carla-bridge-lv2-x11 +lib/vst/carla.vst/carla-bridge-lv2.so +lib/vst/carla.vst/carla-bridge-native +lib/vst/carla.vst/carla-discovery-native +lib/vst/carla.vst/jack +lib/vst/carla.vst/libcarla_native-plugin.so +lib/vst/carla.vst/libcarla_utils.so +lib/vst/carla.vst/resources +lib/vst/carla.vst/styles +share/applications/carla-control.desktop +share/applications/carla-jack-multi.desktop +share/applications/carla-jack-single.desktop +share/applications/carla-patchbay.desktop +share/applications/carla-rack.desktop +share/applications/carla.desktop +share/carla/carla +share/carla/carla-control +share/carla/carla-jack-multi +share/carla/carla-jack-single +share/carla/carla-patchbay +share/carla/carla-rack +share/carla/carla_app.py +share/carla/carla_backend.py +share/carla/carla_backend_qt.py +share/carla/carla_backend_qtweb.py +share/carla/carla_control.py +share/carla/carla_database.py +share/carla/carla_host.py +share/carla/carla_modgui.py +share/carla/carla_settings.py +share/carla/carla_shared.py +share/carla/carla_skin.py +share/carla/carla_utils.py +share/carla/carla_widgets.py +share/carla/externalui.py +share/carla/ladspa_rdf.py +share/carla/modgui/__init__.py +share/carla/modgui/host.py +share/carla/modgui/webserver.py +share/carla/patchcanvas/__init__.py +share/carla/patchcanvas/canvasbezierline.py +share/carla/patchcanvas/canvasbezierlinemov.py +share/carla/patchcanvas/canvasbox.py +share/carla/patchcanvas/canvasboxshadow.py +share/carla/patchcanvas/canvasfadeanimation.py +share/carla/patchcanvas/canvasicon.py +share/carla/patchcanvas/canvasline.py +share/carla/patchcanvas/canvaslinemov.py +share/carla/patchcanvas/canvasport.py +share/carla/patchcanvas/canvasportglow.py +share/carla/patchcanvas/patchcanvas.py +share/carla/patchcanvas/scene.py +share/carla/patchcanvas/theme.py +share/carla/patchcanvas/utils.py +share/carla/resources/bigmeter-ui +share/carla/resources/carla-plugin +share/carla/resources/carla-plugin-patchbay +share/carla/resources/carla_app.py +share/carla/resources/carla_backend.py +share/carla/resources/carla_backend_qt.py +share/carla/resources/carla_control.py +share/carla/resources/carla_database.py +share/carla/resources/carla_host.py +share/carla/resources/carla_settings.py +share/carla/resources/carla_shared.py +share/carla/resources/carla_skin.py +share/carla/resources/carla_utils.py +share/carla/resources/carla_widgets.py +share/carla/resources/externalui.py +share/carla/resources/midipattern-ui +share/carla/resources/modgui +share/carla/resources/notes-ui +share/carla/resources/patchcanvas +share/carla/resources/resources_rc.py +share/carla/resources/ui_carla_about.py +share/carla/resources/ui_carla_about_juce.py +share/carla/resources/ui_carla_add_jack.py +share/carla/resources/ui_carla_database.py +share/carla/resources/ui_carla_edit.py +share/carla/resources/ui_carla_host.py +share/carla/resources/ui_carla_parameter.py +share/carla/resources/ui_carla_plugin_calf.py +share/carla/resources/ui_carla_plugin_classic.py +share/carla/resources/ui_carla_plugin_compact.py +share/carla/resources/ui_carla_plugin_default.py +share/carla/resources/ui_carla_plugin_presets.py +share/carla/resources/ui_carla_refresh.py +share/carla/resources/ui_carla_settings.py +share/carla/resources/ui_carla_settings_driver.py +share/carla/resources/ui_inputdialog_value.py +share/carla/resources/ui_midipattern.py +share/carla/resources/widgets +share/carla/resources/xycontroller-ui +share/carla/resources_rc.py +share/carla/ui_carla_about.py +share/carla/ui_carla_about_juce.py +share/carla/ui_carla_add_jack.py +share/carla/ui_carla_database.py +share/carla/ui_carla_edit.py +share/carla/ui_carla_host.py +share/carla/ui_carla_osc_connect.py +share/carla/ui_carla_parameter.py +share/carla/ui_carla_plugin_calf.py +share/carla/ui_carla_plugin_classic.py +share/carla/ui_carla_plugin_compact.py +share/carla/ui_carla_plugin_default.py +share/carla/ui_carla_plugin_presets.py +share/carla/ui_carla_refresh.py +share/carla/ui_carla_settings.py +share/carla/ui_carla_settings_driver.py +share/carla/ui_inputdialog_value.py +share/carla/ui_midipattern.py +share/carla/ui_xycontroller.py +share/carla/widgets/__init__.py +share/carla/widgets/canvaspreviewframe.py +share/carla/widgets/collapsablewidget.py +share/carla/widgets/digitalpeakmeter.py +share/carla/widgets/draggablegraphicsview.py +share/carla/widgets/ledbutton.py +share/carla/widgets/paramspinbox.py +share/carla/widgets/pianoroll.py +share/carla/widgets/pixmapbutton.py +share/carla/widgets/pixmapdial.py +share/carla/widgets/pixmapkeyboard.py +share/carla/widgets/racklistwidget.py +share/carla/widgets/scalablebutton.py +share/carla/widgets/scalabledial.py +share/icons/hicolor/128x128/apps/carla-control.png +share/icons/hicolor/128x128/apps/carla.png +share/icons/hicolor/16x16/apps/carla-control.png +share/icons/hicolor/16x16/apps/carla.png +share/icons/hicolor/256x256/apps/carla-control.png +share/icons/hicolor/256x256/apps/carla.png +share/icons/hicolor/48x48/apps/carla-control.png +share/icons/hicolor/48x48/apps/carla.png +share/icons/hicolor/scalable/apps/carla-control.svg +share/icons/hicolor/scalable/apps/carla.svg +share/mime/packages/carla.xml diff --git a/carla/TODO b/carla/TODO new file mode 100644 index 0000000000..b979a5d798 --- /dev/null +++ b/carla/TODO @@ -0,0 +1,2 @@ +Some aspects seem buggy, can't figure out how to get it to integrate +with LMMS on NetBSD. diff --git a/carla/buildlink3.mk b/carla/buildlink3.mk new file mode 100644 index 0000000000..cfc2bea7ce --- /dev/null +++ b/carla/buildlink3.mk @@ -0,0 +1,13 @@ +# $NetBSD$ + +BUILDLINK_TREE+= carla + +.if !defined(CARLA_BUILDLINK3_MK) +CARLA_BUILDLINK3_MK:= + +BUILDLINK_API_DEPENDS.carla+= carla>=2.2.0 +BUILDLINK_PKGSRCDIR.carla?= ../../wip/carla + +.endif # CARLA_BUILDLINK3_MK + +BUILDLINK_TREE+= -carla diff --git a/carla/distinfo b/carla/distinfo new file mode 100644 index 0000000000..342e3022b5 --- /dev/null +++ b/carla/distinfo @@ -0,0 +1,9 @@ +$NetBSD$ + +SHA1 (carla-2.2.0.tar.gz) = a28307f2b482048ce075d9bdb9d3d978ba3c87e4 +RMD160 (carla-2.2.0.tar.gz) = a529c5bc99e7c816b691ccaa68acf72d2d13ae24 +SHA512 (carla-2.2.0.tar.gz) = afb2beab979f801817a7fd7663bfdc90800db021679243faa5acb15de60f6dc281032e05c51a8625124c69e7759099fc682678eb98c08507f952763e665ac9c4 +Size (carla-2.2.0.tar.gz) = 9844747 bytes +SHA1 (patch-source_Makefile.mk) = adf4fdbf6c56ca06035c40433f6654244389886f +SHA1 (patch-source_utils_CarlaMutex.hpp) = c50dfe4cc7887f389c8ef776030b4d02d795c422 +SHA1 (patch-source_utils_CarlaScopeUtils.hpp) = aeb077167587908a04c07a27f7137cedefba5c71 diff --git a/carla/patches/patch-source_Makefile.mk b/carla/patches/patch-source_Makefile.mk new file mode 100644 index 0000000000..e46cfc1744 --- /dev/null +++ b/carla/patches/patch-source_Makefile.mk @@ -0,0 +1,18 @@ +$NetBSD$ + +This doesn't work. Just require GNU sed. + +--- source/Makefile.mk.orig 2020-09-26 14:38:36.000000000 +0000 ++++ source/Makefile.mk +@@ -690,11 +690,7 @@ endif + # --------------------------------------------------------------------------------------------------------------------- + # Set arguments used for inline 'sed' + +-ifeq ($(BSD),true) +-SED_ARGS=-i '' -e +-else + SED_ARGS=-i -e +-endif + + # --------------------------------------------------------------------------------------------------------------------- + # Set command used for file symlinking diff --git a/carla/patches/patch-source_utils_CarlaMutex.hpp b/carla/patches/patch-source_utils_CarlaMutex.hpp new file mode 100644 index 0000000000..a764530b0b --- /dev/null +++ b/carla/patches/patch-source_utils_CarlaMutex.hpp @@ -0,0 +1,16 @@ +$NetBSD$ + +NetBSD does not have pthread_condattr_setpshared. + +--- source/utils/CarlaMutex.hpp.orig 2020-09-26 14:38:36.000000000 +0000 ++++ source/utils/CarlaMutex.hpp +@@ -204,7 +204,9 @@ public: + { + pthread_condattr_t cattr; + pthread_condattr_init(&cattr); ++#if defined(PTHREAD_PROCESS_PRIVATE) && !defined(__NetBSD__) + pthread_condattr_setpshared(&cattr, PTHREAD_PROCESS_PRIVATE); ++#endif + pthread_cond_init(&fCondition, &cattr); + pthread_condattr_destroy(&cattr); + diff --git a/carla/patches/patch-source_utils_CarlaScopeUtils.hpp b/carla/patches/patch-source_utils_CarlaScopeUtils.hpp new file mode 100644 index 0000000000..b217b347d3 --- /dev/null +++ b/carla/patches/patch-source_utils_CarlaScopeUtils.hpp @@ -0,0 +1,15 @@ +$NetBSD$ + +NetBSD does not have uselocale. + +--- source/utils/CarlaScopeUtils.hpp.orig 2020-09-26 14:38:36.000000000 +0000 ++++ source/utils/CarlaScopeUtils.hpp +@@ -25,7 +25,7 @@ + #include + #include + +-#if ! (defined(CARLA_OS_HAIKU) || defined(CARLA_OS_MAC) || defined(CARLA_OS_WIN)) ++#if ! (defined(CARLA_OS_HAIKU) || defined(CARLA_OS_MAC) || defined(CARLA_OS_WIN) || defined(__NetBSD__)) + # define CARLA_USE_NEWLOCALE + #endif +