git: 0abbd58ca625 - main - audio/cardinal: New port: Plugin wrapper around VCV Rack

From: Yuri Victorovich <yuri_at_FreeBSD.org>
Date: Sun, 06 Feb 2022 17:43:19 UTC
The branch main has been updated by yuri:

URL: https://cgit.FreeBSD.org/ports/commit/?id=0abbd58ca625db54744fe1fe32fffafc34c6a484

commit 0abbd58ca625db54744fe1fe32fffafc34c6a484
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2022-02-06 17:38:55 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2022-02-06 17:43:13 +0000

    audio/cardinal: New port: Plugin wrapper around VCV Rack
---
 audio/Makefile                                     |     1 +
 audio/cardinal/Makefile                            |   126 +
 audio/cardinal/distinfo                            |   133 +
 audio/cardinal/files/mntent.h                      |    62 +
 audio/cardinal/files/mntent_compat.c               |   173 +
 .../files/patch-carla_source_modules_AppConfig.h   |    13 +
 audio/cardinal/files/patch-deps_QuickJS_qjs.c      |    12 +
 .../files/patch-deps_QuickJS_quickjs-libc.c        |    11 +
 audio/cardinal/files/patch-deps_QuickJS_quickjs.c  |    12 +
 audio/cardinal/files/patch-src_Makefile            |    24 +
 audio/cardinal/files/patch-src_Rack_Makefile       |    11 +
 audio/cardinal/files/patch-src_Rack_src_system.cpp |    28 +
 audio/cardinal/pkg-descr                           |    10 +
 audio/cardinal/pkg-plist                           | 29861 +++++++++++++++++++
 14 files changed, 30477 insertions(+)

diff --git a/audio/Makefile b/audio/Makefile
index 19761faf08c4..1d1e0be185b7 100644
--- a/audio/Makefile
+++ b/audio/Makefile
@@ -73,6 +73,7 @@
     SUBDIR += cantata
     SUBDIR += caps-lv2
     SUBDIR += caps-plugins
+    SUBDIR += cardinal
     SUBDIR += carla
     SUBDIR += cava
     SUBDIR += ccaudio2
diff --git a/audio/cardinal/Makefile b/audio/cardinal/Makefile
new file mode 100644
index 000000000000..bf868e5a5c89
--- /dev/null
+++ b/audio/cardinal/Makefile
@@ -0,0 +1,126 @@
+PORTNAME=	cardinal
+PORTVERSION=	g20220206
+CATEGORIES=	audio
+
+MAINTAINER=	yuri@FreeBSD.org
+COMMENT=	Plugin wrapper around VCV Rack
+
+LICENSE=	GPLv3
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+BUILD_DEPENDS=	${LOCALBASE}/include/FuzzySearchDatabase.hpp:textproc/fuzzysearchdatabase \
+		bash:shells/bash
+LIB_DEPENDS=	libdbus-1.so:devel/dbus \
+		libjansson.so:devel/jansson \
+		liblo.so:audio/liblo \
+		libpffft.so:math/pffft \
+		libpulse-simple.so:audio/pulseaudio \
+		libsamplerate.so:audio/libsamplerate \
+		libsndfile.so:audio/libsndfile \
+		libspeexdsp.so:audio/speexdsp
+
+USES=		gl gmake libarchive localbase:ldflags pkgconfig python shebangfix xorg
+USE_XORG=	x11 xcursor xext xrandr
+USE_GL=		gl
+
+USE_GITHUB=	yes
+GH_ACCOUNT=	DISTRHO
+GH_PROJECT=	Cardinal
+GH_TAGNAME=	d0224fc
+
+GH_TUPLE=	\
+		craigsapp:midifile:99e87b684f88ebff6417ef25f269f1a95b780ad2:craigsapp_midifile/plugins/BaconPlugs/libs/midifile \
+		\
+		LancePutnam:Gamma:70ba31c92db6afa160523940fd046a2bc249e8ad:LancePutnam_Gamma/plugins/HetrickCV/Gamma \
+		\
+		pichenettes:avril:276b2887e4110ca913294fcbb313163dfb28a448:pichenettes_avril/plugins/AudibleInstruments/eurorack/avrlib \
+		pichenettes:avrilx:868d6e74eb8555f9575b5149202256156e5c03fa:pichenettes_avrilx/plugins/AudibleInstruments/eurorack/avrlibx \
+		pichenettes:stmlib:8998429236d6edd4934b6c9ae8e0f167e3d30aa7:pichenettes_stmlib/plugins/AudibleInstruments/eurorack/stmlib \
+		pichenettes:stm-audio-bootloader:1ec7d6374e2d305cb710170eb80de9b66e795792:pichenettes_stm_audio_bootloader/plugins/AudibleInstruments/eurorack/stm_audio_bootloader \
+		pichenettes:avr-audio-bootloader:0de2be5928afdf7fb3e5ada60544ed6c15ab808f:pichenettes_avr_audio_bootloader/plugins/AudibleInstruments/eurorack/avr_audio_bootloader \
+		\
+		CardinalModules:eurorack:87bf3b1da88147e3fcc8c57e3072eec67ccd380a:CardinalModules_eurorack/plugins/AudibleInstruments/eurorack \
+		\
+		Chowdhury-DSP:chowdsp_utils:b75c3401fa93bbc596a72d21f50e1268fce415a4:Chowdhury_DSP_chowdsp_utils/plugins/ChowDSP/lib/chowdsp_utils \
+		\
+		JerrySievert:SynthDevKit:0f322e58f00f1a04276ecc3eadb610b418f040d5:JerrySievert_SynthDevKit/plugins/DrumKit/deps/SynthDevKit \
+		\
+		falkTX:Carla-Plugins:4d9d457d86bebe68f76640718d20f9b72b0a57c6:falkTX_Carla_Plugins/carla/source/native-plugins/external \
+		\
+		VCVRack:nanovg:0bebdb314aff9cfa28fde4744bcb037a2b3fd756:VCVRack_nanovg/src/Rack/dep/nanovg \
+		memononen:nanosvg:25241c5a8f8451d41ab1b02ab2d865b01600d949:memononen_nanosvg/src/Rack/dep/nanosvg \
+		AndrewBelt:osdialog:21b9dcc2a1bbdacb9b46da477ffd82a4ce9204b9:AndrewBelt_osdialog/src/Rack/dep/osdialog \
+		VCVRack:oui-blendish:2fc6405883f8451944ed080547d073c8f9f31898:VCVRack_oui_blendish/src/Rack/dep/oui-blendish \
+		VCVRack:rtaudio:8128053f4bd83463c7c901d9f5d40b272c2f4e4e:VCVRack_rtaudio/src/Rack/dep/rtaudio \
+		VCVRack:glfw:0e18076016f4ba57c314eeebd85654c70644abe3:VCVRack_glfw/src/Rack/dep/glfw \
+		gulrak:filesystem:7e37433f318488ae4bc80f80e12df12a01579874:gulrak_filesystem/src/Rack/dep/filesystem \
+		\
+		DISTRHO:pugl:b1d9703ecbdb0a033fe0b9acdf58b90f7d81a8e5:DISTRHO_pugl/dpf/dgl/src/pugl-upstream \
+		\
+		VCVRack:Rack:0d003b96476af45102117c2bb958aeb59eb523cf:VCVRack_Rack/src/Rack \
+		DISTRHO:DPF:7e6e3cc84b60727599120a8756396caa2919d46e:DISTRHO_DPF/dpf \
+		meganz:mingw-std-threads:f6365f900fb9b1cd6014c8d1cf13ceacf8faf3de:meganz_mingw_std_threads/include/mingw-std-threads \
+		DLTcollab:sse2neon:be721a98e7829ce5824a53da78d8210c024ba6c0:DLTcollab_sse2neon/include/sse2neon \
+		CardinalModules:Fundamental:50f8ccce5ec433470d87894c94762df133d940f1:CardinalModules_Fundamental/plugins/Fundamental \
+		VCVRack:Befaco:ec406ce181f340bce8e475cb508c4db0db02fdc6:VCVRack_Befaco/plugins/Befaco \
+		CardinalModules:AudibleInstruments:fec73bc29fc3771d23e6ea03132597774f61c92e:CardinalModules_AudibleInstruments/plugins/AudibleInstruments \
+		AnimatedCircuits:RackModules:bd45fc5e9b472182bcc74da264f865d1424a76be:AnimatedCircuits_RackModules/plugins/AnimatedCircuits \
+		mhampton:ZetaCarinaeModules:7fa3a59e71cf5f541a335e89bc45102923a3fd62:mhampton_ZetaCarinaeModules/plugins/ZetaCarinaeModules \
+		dbgrande:GrandeModular:40a197698496030a30ead69658b1484eca2ae299:dbgrande_GrandeModular/plugins/GrandeModular \
+		bogaudio:BogaudioModules:8e982f462c4117f84794cbf6a13740992ff17d92:bogaudio_BogaudioModules/plugins/BogaudioModules \
+		CardinalModules:Bidoo:988c2372a95d163b71d04b217080e612b767c539:CardinalModules_Bidoo/plugins/Bidoo \
+		VCVRack:ESeries:cb665989f48db6c4fe96924b9e42c804ee15d5cf:VCVRack_ESeries/plugins/ESeries \
+		jeremywen:JW-Modules:68f04a5a8a1a656e7a3aa7e217524f0feb91167e:jeremywen_JW_Modules/plugins/JW-Modules \
+		CardinalModules:rackwindows:60dfe5dff94b82fc42a43d971e41e64e296b0220:CardinalModules_rackwindows/plugins/rackwindows \
+		MarcBoule:ImpromptuModular:368cbd6ee17398c7329b263dde0409bf7a57ce3b:MarcBoule_ImpromptuModular/plugins/ImpromptuModular \
+		jhoar:AmalgamatedHarmonics:35b89c93152ac2194eecffbd4aa39e71caa90cc0:jhoar_AmalgamatedHarmonics/plugins/AmalgamatedHarmonics \
+		CardinalModules:cf:16470fb91bc14a7bb1aa8e646b6461af82f81275:CardinalModules_cf/plugins/cf \
+		MarcBoule:MindMeldModular:621a29f3f1b521582fd11ca7f17635d19faa340c:MarcBoule_MindMeldModular/plugins/MindMeldModular \
+		ValleyAudio:ValleyRackFree:440553f3371eab4a84e2b6dcbd3b44ca027871d7:ValleyAudio_ValleyRackFree/plugins/ValleyAudio \
+		SVModular:DrumKit:8d78f221927f5aa75d99e4fb8a6b8750141e0933:SVModular_DrumKit/plugins/DrumKit \
+		falkTX:Carla:afc25ae3137be9cb7addedd16ff45fbe0ab4ea97:falkTX_Carla/carla \
+		Xenakios:Atelier:b84dea414c3a2bac231d1c5b837c3003d60a6446:Xenakios_Atelier/plugins/Atelier \
+		CardinalModules:mscHack:cf6b1aa5ae47a9e56a0f2ddb0c1aa54927134fb5:CardinalModules_mscHack/plugins/mscHack \
+		zezic:ZZC:268c15711a7fe184970b1525c98f17e72db64af5:zezic_ZZC/plugins/ZZC \
+		wiqid:repelzen:185e07ea94086a04b3daacb4bf94c0fbd3544725:wiqid_repelzen/plugins/repelzen \
+		CardinalModules:AriaModules:90f8009e1431341225c616bb3a9c250b02bce2c1:CardinalModules_AriaModules/plugins/AriaModules \
+		baconpaul:BaconPlugs:0a6c390eedf98884393f82cb066038a78a316ea5:baconpaul_BaconPlugs/plugins/BaconPlugs \
+		RCameron93:FehlerFabrik:9b5897828dc1b757f42cb707b5979488acb67401:RCameron93_FehlerFabrik/plugins/FehlerFabrik \
+		CardinalModules:Mog-VCV:01c4fac9f2e91f60125d36767224f457b2057fb7:CardinalModules_Mog_VCV/plugins/Mog \
+		jatinchowdhury18:ChowDSP-VCV:80f61cd0171bb7d988c9ec3a144e0566d62c767c:jatinchowdhury18_ChowDSP_VCV/plugins/ChowDSP \
+		gluethegiant:gtg-rack:54fed7f78bbaac1f1d6275aa737acc39aebc6e72:gluethegiant_gtg_rack/plugins/GlueTheGiant \
+		mhetrick:hetrickcv:2fc83df75154c32b83addd3ed68b35eb6156ca0d:mhetrick_hetrickcv/plugins/HetrickCV \
+		VegaDeftwing:LyraeModules:1c32b02bd11a549d28da0620719541ac6f966652:VegaDeftwing_LyraeModules/plugins/LyraeModules \
+		mgunyho:Little-Utils:b7ce2244835fa376201b21b2274937152dcd1121:mgunyho_Little_Utils/plugins/LittleUtils \
+		SteveRussell33:Prism:453da225742f3829ba037770245333a28751fbb8:SteveRussell33_Prism/plugins/Prism \
+		EaterOfSheep:Extratone:9fb70500b17fe2495aba9f5f77ddf496d5c09f13:EaterOfSheep_Extratone/plugins/Extratone \
+		SteveRussell33:LifeFormModular:c7b8d096f618c421d7d45784b894c0ac2f3395b0:SteveRussell33_LifeFormModular/plugins/LifeFormModular \
+		netboy3:21kHz-rack-plugins:0bee82247151e2fe2885f1e15fbbd74ddb4f48d0:netboy3_21kHz_rack_plugins/plugins/21kHz \
+		DISTRHO:PawPaw:b41a693b64cdba1abd8d278c9985fb690b522854:DISTRHO_PawPaw/deps/PawPaw \
+		LomasModules:LomasModules:a4b802ae1ac12415cbeaeaef5f949dd8d38dfc5c:LomasModules_LomasModules/plugins/LomasModules \
+		expertsleepersltd:vcvrack-encoders:df096a635fe8d3ea86a1e6451a55e45ccee5b83d:expertsleepersltd_vcvrack_encoders/plugins/ExpertSleepers-Encoders \
+		CardinalModules:ihtsyn:31c4229eb328f6aaa4024f76c595b55213cdf1cf:CardinalModules_ihtsyn/plugins/ihtsyn \
+		JerrySievert:QuickJS:b70d5344013836544631c361ae20569b978176c9:JerrySievert_QuickJS/deps/QuickJS \
+		NikolaiVChr:Autinn:bc880d9d8fb59016de61e3253aff2b543d7bb665:NikolaiVChr_Autinn/plugins/Autinn
+
+USE_GITLAB=	nodefault
+GL_TUPLE=	sonusdept:sonusmodular:b63a685c6c68be188f5a3d5d9f6582eb94d62e53:sonusmodular/plugins/sonusmodular
+
+SHEBANG_GLOB=	*.sh
+
+CFLAGS+=	-I${FILESDIR}
+CXXFLAGS+=	-I${LOCALBASE}/include/pffft \
+		-Daligned_alloc_16=malloc \
+		-Daligned_free_16=free \
+		-pthread
+LDFLAGS+=	-lpffft \
+		-lpthread \
+		${FILESDIR}/mntent_compat.c
+
+MAKE_ENV=	LD_PRELOAD=/usr/lib/libpthread.so # workaround for https://github.com/DISTRHO/Cardinal/issues/128#issuecomment-1030817359
+MAKE_ARGS=	SYSDEPS=true
+
+BINARY_ALIAS=	gcc-ar=ar \
+		python3=${PYTHON_CMD}
+
+.include <bsd.port.mk>
diff --git a/audio/cardinal/distinfo b/audio/cardinal/distinfo
new file mode 100644
index 000000000000..fea3c8c352cd
--- /dev/null
+++ b/audio/cardinal/distinfo
@@ -0,0 +1,133 @@
+TIMESTAMP = 1644168027
+SHA256 (DISTRHO-Cardinal-g20220206-d0224fc_GH0.tar.gz) = e5195206e5797fa4a41972f951768a02fb4a32d247885d516b4208225444df09
+SIZE (DISTRHO-Cardinal-g20220206-d0224fc_GH0.tar.gz) = 3694449
+SHA256 (craigsapp-midifile-99e87b684f88ebff6417ef25f269f1a95b780ad2_GH0.tar.gz) = 2730b84ff18e444c9e86f257f1bb757615143a5103a7f10e1d577c8384314d76
+SIZE (craigsapp-midifile-99e87b684f88ebff6417ef25f269f1a95b780ad2_GH0.tar.gz) = 149938
+SHA256 (LancePutnam-Gamma-70ba31c92db6afa160523940fd046a2bc249e8ad_GH0.tar.gz) = 13aeaf5ff83df1b2039744b3b7d0e5d9b773df9f60fdaef5c43d0b73b3e13cc9
+SIZE (LancePutnam-Gamma-70ba31c92db6afa160523940fd046a2bc249e8ad_GH0.tar.gz) = 3553692
+SHA256 (pichenettes-avril-276b2887e4110ca913294fcbb313163dfb28a448_GH0.tar.gz) = c734d663be1f5ec4fc370fa703069b133afea625180d23e20ca74d525718a629
+SIZE (pichenettes-avril-276b2887e4110ca913294fcbb313163dfb28a448_GH0.tar.gz) = 97537
+SHA256 (pichenettes-avrilx-868d6e74eb8555f9575b5149202256156e5c03fa_GH0.tar.gz) = 35591f85e556e90ebaa85f8364b7d664871194bf40afdde4e63684d60c02522c
+SIZE (pichenettes-avrilx-868d6e74eb8555f9575b5149202256156e5c03fa_GH0.tar.gz) = 99528
+SHA256 (pichenettes-stmlib-8998429236d6edd4934b6c9ae8e0f167e3d30aa7_GH0.tar.gz) = 50cab27e0f1e10ff282eadb09b911273bea852ce9cca2057db50e1380f267466
+SIZE (pichenettes-stmlib-8998429236d6edd4934b6c9ae8e0f167e3d30aa7_GH0.tar.gz) = 5999428
+SHA256 (pichenettes-stm-audio-bootloader-1ec7d6374e2d305cb710170eb80de9b66e795792_GH0.tar.gz) = d71de49de49dfa7ec7dfe0e6aff0dba5554e0d986f1c90e184446c3f09c312e1
+SIZE (pichenettes-stm-audio-bootloader-1ec7d6374e2d305cb710170eb80de9b66e795792_GH0.tar.gz) = 12610
+SHA256 (pichenettes-avr-audio-bootloader-0de2be5928afdf7fb3e5ada60544ed6c15ab808f_GH0.tar.gz) = 65ff5dfdbca728b79d58d031523c74cf05bfdfac0aadf61b199b990d9fb6d3b8
+SIZE (pichenettes-avr-audio-bootloader-0de2be5928afdf7fb3e5ada60544ed6c15ab808f_GH0.tar.gz) = 8096
+SHA256 (CardinalModules-eurorack-87bf3b1da88147e3fcc8c57e3072eec67ccd380a_GH0.tar.gz) = fcf13cb1c916e070e7ebe7db06aea9c2df28bdc3b757ff08eaaa7102d4f61c37
+SIZE (CardinalModules-eurorack-87bf3b1da88147e3fcc8c57e3072eec67ccd380a_GH0.tar.gz) = 32020980
+SHA256 (Chowdhury-DSP-chowdsp_utils-b75c3401fa93bbc596a72d21f50e1268fce415a4_GH0.tar.gz) = 303823f6d9ad632b8f316ef482d7af99ec68ce8554b5fb4b28935ffe601b76ce
+SIZE (Chowdhury-DSP-chowdsp_utils-b75c3401fa93bbc596a72d21f50e1268fce415a4_GH0.tar.gz) = 691350
+SHA256 (JerrySievert-SynthDevKit-0f322e58f00f1a04276ecc3eadb610b418f040d5_GH0.tar.gz) = e3b96e74ad3679bf1552f7f11cbecc4158045fa4d8f926c3f630dab794f795ba
+SIZE (JerrySievert-SynthDevKit-0f322e58f00f1a04276ecc3eadb610b418f040d5_GH0.tar.gz) = 11297
+SHA256 (falkTX-Carla-Plugins-4d9d457d86bebe68f76640718d20f9b72b0a57c6_GH0.tar.gz) = f08a2d33a29e48fcb421cbda42a09f4099093971439bb434189eaca3fa6027b2
+SIZE (falkTX-Carla-Plugins-4d9d457d86bebe68f76640718d20f9b72b0a57c6_GH0.tar.gz) = 2766090
+SHA256 (VCVRack-nanovg-0bebdb314aff9cfa28fde4744bcb037a2b3fd756_GH0.tar.gz) = 043d67b2fd81d52b80c5db366292a8d1910a70abdf0b3cc7750bd8705cf5fb96
+SIZE (VCVRack-nanovg-0bebdb314aff9cfa28fde4744bcb037a2b3fd756_GH0.tar.gz) = 2033873
+SHA256 (memononen-nanosvg-25241c5a8f8451d41ab1b02ab2d865b01600d949_GH0.tar.gz) = d957259360bf108858388bb01686a8cb0fc31d90db2d996ddf65575b37bb20d4
+SIZE (memononen-nanosvg-25241c5a8f8451d41ab1b02ab2d865b01600d949_GH0.tar.gz) = 295923
+SHA256 (AndrewBelt-osdialog-21b9dcc2a1bbdacb9b46da477ffd82a4ce9204b9_GH0.tar.gz) = da6c2b5cd661dd1875af867e02bac4dee4e2db7ea6ed3e8a7fd840223d7ce642
+SIZE (AndrewBelt-osdialog-21b9dcc2a1bbdacb9b46da477ffd82a4ce9204b9_GH0.tar.gz) = 12559
+SHA256 (VCVRack-oui-blendish-2fc6405883f8451944ed080547d073c8f9f31898_GH0.tar.gz) = f5c5a814b3302ac865ab648ec69f586b67cc0e9d2e51f77bcd4f495e75af6930
+SIZE (VCVRack-oui-blendish-2fc6405883f8451944ed080547d073c8f9f31898_GH0.tar.gz) = 1091722
+SHA256 (VCVRack-rtaudio-8128053f4bd83463c7c901d9f5d40b272c2f4e4e_GH0.tar.gz) = 5429f117d84e57b3d8c27891e3912aec011d5dc28a1220156a2d5b7e4ef3976d
+SIZE (VCVRack-rtaudio-8128053f4bd83463c7c901d9f5d40b272c2f4e4e_GH0.tar.gz) = 237135
+SHA256 (VCVRack-glfw-0e18076016f4ba57c314eeebd85654c70644abe3_GH0.tar.gz) = f87deb0f6bbec1b18ed55ce0abd5fef00f5a8504ea178ff19b67ff086b377747
+SIZE (VCVRack-glfw-0e18076016f4ba57c314eeebd85654c70644abe3_GH0.tar.gz) = 767785
+SHA256 (gulrak-filesystem-7e37433f318488ae4bc80f80e12df12a01579874_GH0.tar.gz) = 15e1dacd2a52d7cf67afcc548cc92b218f88a2726488e50887922e86c1493f68
+SIZE (gulrak-filesystem-7e37433f318488ae4bc80f80e12df12a01579874_GH0.tar.gz) = 166424
+SHA256 (DISTRHO-pugl-b1d9703ecbdb0a033fe0b9acdf58b90f7d81a8e5_GH0.tar.gz) = 9f19d4c8a2f5385b87471189c7417c0012fb27cd84e0df00b4edc48da1207f33
+SIZE (DISTRHO-pugl-b1d9703ecbdb0a033fe0b9acdf58b90f7d81a8e5_GH0.tar.gz) = 193083
+SHA256 (VCVRack-Rack-0d003b96476af45102117c2bb958aeb59eb523cf_GH0.tar.gz) = df5bec910223cd37d9be0df1e48b196895e251c38b864bd7350b3678d22c535e
+SIZE (VCVRack-Rack-0d003b96476af45102117c2bb958aeb59eb523cf_GH0.tar.gz) = 1339448
+SHA256 (DISTRHO-DPF-7e6e3cc84b60727599120a8756396caa2919d46e_GH0.tar.gz) = 8a723151d3c508598b6064398742947a12762f53cab6957459e5c3c52494b8b2
+SIZE (DISTRHO-DPF-7e6e3cc84b60727599120a8756396caa2919d46e_GH0.tar.gz) = 3366282
+SHA256 (meganz-mingw-std-threads-f6365f900fb9b1cd6014c8d1cf13ceacf8faf3de_GH0.tar.gz) = 4007ba029b79596cc56dd656977ae19b9691cba03df22c3171ffe9620bde3086
+SIZE (meganz-mingw-std-threads-f6365f900fb9b1cd6014c8d1cf13ceacf8faf3de_GH0.tar.gz) = 31976
+SHA256 (DLTcollab-sse2neon-be721a98e7829ce5824a53da78d8210c024ba6c0_GH0.tar.gz) = a0fbde11391d0f0b30b49926bf7810c490d87656c2627663954184a99ba39405
+SIZE (DLTcollab-sse2neon-be721a98e7829ce5824a53da78d8210c024ba6c0_GH0.tar.gz) = 99097
+SHA256 (CardinalModules-Fundamental-50f8ccce5ec433470d87894c94762df133d940f1_GH0.tar.gz) = cf234159cd100f8804ff673ab62d51791c31a2d6b55aaefa7bf214b2ed568a3e
+SIZE (CardinalModules-Fundamental-50f8ccce5ec433470d87894c94762df133d940f1_GH0.tar.gz) = 277285
+SHA256 (VCVRack-Befaco-ec406ce181f340bce8e475cb508c4db0db02fdc6_GH0.tar.gz) = 0d74a5431c081818ab0d236330ad80d6cb26df762c3f6f29eaf34e1cb78ccc38
+SIZE (VCVRack-Befaco-ec406ce181f340bce8e475cb508c4db0db02fdc6_GH0.tar.gz) = 776284
+SHA256 (CardinalModules-AudibleInstruments-fec73bc29fc3771d23e6ea03132597774f61c92e_GH0.tar.gz) = c9837cc8e30b3ff72c325363b8eacef4ea4226acd1331dbeca8d23d8652f5f2e
+SIZE (CardinalModules-AudibleInstruments-fec73bc29fc3771d23e6ea03132597774f61c92e_GH0.tar.gz) = 6610037
+SHA256 (AnimatedCircuits-RackModules-bd45fc5e9b472182bcc74da264f865d1424a76be_GH0.tar.gz) = e21c1ef4acfead40776efb8119a25f2e64d0f932b9d7c06e96dc6f86e75858a4
+SIZE (AnimatedCircuits-RackModules-bd45fc5e9b472182bcc74da264f865d1424a76be_GH0.tar.gz) = 103202
+SHA256 (mhampton-ZetaCarinaeModules-7fa3a59e71cf5f541a335e89bc45102923a3fd62_GH0.tar.gz) = 873a6df86873f2bff91da3dd536af2a952ad59de022d0cd5f6b54f56031b1438
+SIZE (mhampton-ZetaCarinaeModules-7fa3a59e71cf5f541a335e89bc45102923a3fd62_GH0.tar.gz) = 11293930
+SHA256 (dbgrande-GrandeModular-40a197698496030a30ead69658b1484eca2ae299_GH0.tar.gz) = 9a2f781715bde491ab37fb4b606ef5ab4e2e00a4750753b22b91d5b8e67e5f6e
+SIZE (dbgrande-GrandeModular-40a197698496030a30ead69658b1484eca2ae299_GH0.tar.gz) = 1285729
+SHA256 (bogaudio-BogaudioModules-8e982f462c4117f84794cbf6a13740992ff17d92_GH0.tar.gz) = 975d5ce7e9a3a15ddf724ded26225299866b78ca63060c5a0a35b017f6e0d00e
+SIZE (bogaudio-BogaudioModules-8e982f462c4117f84794cbf6a13740992ff17d92_GH0.tar.gz) = 6846913
+SHA256 (CardinalModules-Bidoo-988c2372a95d163b71d04b217080e612b767c539_GH0.tar.gz) = c1674e7024b8ced7f8e13860cd47476cf580e007375f903ba8b8889faa970eda
+SIZE (CardinalModules-Bidoo-988c2372a95d163b71d04b217080e612b767c539_GH0.tar.gz) = 4161158
+SHA256 (VCVRack-ESeries-cb665989f48db6c4fe96924b9e42c804ee15d5cf_GH0.tar.gz) = c7817f5c8526844283e6feca4a0125c8e3fb4f16a13bf87c922751691835a8cb
+SIZE (VCVRack-ESeries-cb665989f48db6c4fe96924b9e42c804ee15d5cf_GH0.tar.gz) = 38519
+SHA256 (jeremywen-JW-Modules-68f04a5a8a1a656e7a3aa7e217524f0feb91167e_GH0.tar.gz) = d8ea6d1db241446bf1e2efc24676ef5939905fabcb62f81a8cfd003084fa2c24
+SIZE (jeremywen-JW-Modules-68f04a5a8a1a656e7a3aa7e217524f0feb91167e_GH0.tar.gz) = 11004081
+SHA256 (CardinalModules-rackwindows-60dfe5dff94b82fc42a43d971e41e64e296b0220_GH0.tar.gz) = ecb9c1b54897116e1f147bb6ae96844579c41ce35f7af7b6d7ff230905ee0cc0
+SIZE (CardinalModules-rackwindows-60dfe5dff94b82fc42a43d971e41e64e296b0220_GH0.tar.gz) = 878053
+SHA256 (MarcBoule-ImpromptuModular-368cbd6ee17398c7329b263dde0409bf7a57ce3b_GH0.tar.gz) = dc331c7a6a98d98aa5ea4dd1a99246ac1a03ffbf0e32d5876ea7827e7d9f0346
+SIZE (MarcBoule-ImpromptuModular-368cbd6ee17398c7329b263dde0409bf7a57ce3b_GH0.tar.gz) = 2709822
+SHA256 (jhoar-AmalgamatedHarmonics-35b89c93152ac2194eecffbd4aa39e71caa90cc0_GH0.tar.gz) = 73e696efac113acfb2ba6349849f90f98261ca5f8b4eb6718b92a216e8b5034b
+SIZE (jhoar-AmalgamatedHarmonics-35b89c93152ac2194eecffbd4aa39e71caa90cc0_GH0.tar.gz) = 1749568
+SHA256 (CardinalModules-cf-16470fb91bc14a7bb1aa8e646b6461af82f81275_GH0.tar.gz) = a3ca97a75107be0d1b598dabde8de8c69a06f0d383f87eb6f91d028ca0b11d1e
+SIZE (CardinalModules-cf-16470fb91bc14a7bb1aa8e646b6461af82f81275_GH0.tar.gz) = 2835805
+SHA256 (MarcBoule-MindMeldModular-621a29f3f1b521582fd11ca7f17635d19faa340c_GH0.tar.gz) = cec37cfd79e1aa40cd093ecd73ea8bf0972ba438268430e559cf22a855bf3bdc
+SIZE (MarcBoule-MindMeldModular-621a29f3f1b521582fd11ca7f17635d19faa340c_GH0.tar.gz) = 11628707
+SHA256 (ValleyAudio-ValleyRackFree-440553f3371eab4a84e2b6dcbd3b44ca027871d7_GH0.tar.gz) = 6b1b850c9f084bc5eff3a0f6ceff2398d8ef5ed001eec4c3a5c35acba75e0b22
+SIZE (ValleyAudio-ValleyRackFree-440553f3371eab4a84e2b6dcbd3b44ca027871d7_GH0.tar.gz) = 15876964
+SHA256 (SVModular-DrumKit-8d78f221927f5aa75d99e4fb8a6b8750141e0933_GH0.tar.gz) = 4daa1cbca515de38f568be18a7f4d38e01f5ff209a28d1863b6efc796ec60feb
+SIZE (SVModular-DrumKit-8d78f221927f5aa75d99e4fb8a6b8750141e0933_GH0.tar.gz) = 7033941
+SHA256 (falkTX-Carla-afc25ae3137be9cb7addedd16ff45fbe0ab4ea97_GH0.tar.gz) = 09fd3157ed7cba931997f70a8d007532a86ea5f15fae33be3613c3c25dfffe3a
+SIZE (falkTX-Carla-afc25ae3137be9cb7addedd16ff45fbe0ab4ea97_GH0.tar.gz) = 10056036
+SHA256 (Xenakios-Atelier-b84dea414c3a2bac231d1c5b837c3003d60a6446_GH0.tar.gz) = a111aed4da3336e07590ac5c32bfb492a9ac2a7cd3da47836432100cf5af7cf5
+SIZE (Xenakios-Atelier-b84dea414c3a2bac231d1c5b837c3003d60a6446_GH0.tar.gz) = 5032900
+SHA256 (CardinalModules-mscHack-cf6b1aa5ae47a9e56a0f2ddb0c1aa54927134fb5_GH0.tar.gz) = fce929cc43b4316ed3c4a8109929eeb53ddf142edb45461e47bf9b0ea39f52f7
+SIZE (CardinalModules-mscHack-cf6b1aa5ae47a9e56a0f2ddb0c1aa54927134fb5_GH0.tar.gz) = 1920163
+SHA256 (zezic-ZZC-268c15711a7fe184970b1525c98f17e72db64af5_GH0.tar.gz) = 95f6721e72492de42e8b30b5cc1a264914602b0e0350abfed8ac0554bbd852ef
+SIZE (zezic-ZZC-268c15711a7fe184970b1525c98f17e72db64af5_GH0.tar.gz) = 1716986
+SHA256 (wiqid-repelzen-185e07ea94086a04b3daacb4bf94c0fbd3544725_GH0.tar.gz) = 14459d45c7c0473ee5d9d265813ddd437b66cb3815adf347cc62807e40e80616
+SIZE (wiqid-repelzen-185e07ea94086a04b3daacb4bf94c0fbd3544725_GH0.tar.gz) = 839790
+SHA256 (CardinalModules-AriaModules-90f8009e1431341225c616bb3a9c250b02bce2c1_GH0.tar.gz) = d5349650933efec0b382cedb0cb6594eca6a182cb6ee29133d0f3cee4376b5db
+SIZE (CardinalModules-AriaModules-90f8009e1431341225c616bb3a9c250b02bce2c1_GH0.tar.gz) = 5225984
+SHA256 (baconpaul-BaconPlugs-0a6c390eedf98884393f82cb066038a78a316ea5_GH0.tar.gz) = 95765b6dbbe4d3e69280535aaca1badb6c85d0be5a8a0be86a7f173ef03eeeaf
+SIZE (baconpaul-BaconPlugs-0a6c390eedf98884393f82cb066038a78a316ea5_GH0.tar.gz) = 10620875
+SHA256 (RCameron93-FehlerFabrik-9b5897828dc1b757f42cb707b5979488acb67401_GH0.tar.gz) = 767ce81d986b77f90cd0cb89324840e44017ea634771ea3a47e2ff13159e146c
+SIZE (RCameron93-FehlerFabrik-9b5897828dc1b757f42cb707b5979488acb67401_GH0.tar.gz) = 6935039
+SHA256 (CardinalModules-Mog-VCV-01c4fac9f2e91f60125d36767224f457b2057fb7_GH0.tar.gz) = b568099abb83383a67f6c815bbd7266487c43f129bdbb92f7256c998334fd82e
+SIZE (CardinalModules-Mog-VCV-01c4fac9f2e91f60125d36767224f457b2057fb7_GH0.tar.gz) = 237960
+SHA256 (jatinchowdhury18-ChowDSP-VCV-80f61cd0171bb7d988c9ec3a144e0566d62c767c_GH0.tar.gz) = 455c6e431f9473f101a67841e6e1029b866591fa4e9fe7634f74993bc21e9ac7
+SIZE (jatinchowdhury18-ChowDSP-VCV-80f61cd0171bb7d988c9ec3a144e0566d62c767c_GH0.tar.gz) = 1982455
+SHA256 (gluethegiant-gtg-rack-54fed7f78bbaac1f1d6275aa737acc39aebc6e72_GH0.tar.gz) = 9b83c7e37d2a2cbec0cda67dba14611a33736a9caf756f2b78b495127e1f927b
+SIZE (gluethegiant-gtg-rack-54fed7f78bbaac1f1d6275aa737acc39aebc6e72_GH0.tar.gz) = 3549896
+SHA256 (mhetrick-hetrickcv-2fc83df75154c32b83addd3ed68b35eb6156ca0d_GH0.tar.gz) = 8fbfcf2eeab18d639540ab28b481769b8aeaceec166b73b96afd70e422787dcf
+SIZE (mhetrick-hetrickcv-2fc83df75154c32b83addd3ed68b35eb6156ca0d_GH0.tar.gz) = 6960521
+SHA256 (VegaDeftwing-LyraeModules-1c32b02bd11a549d28da0620719541ac6f966652_GH0.tar.gz) = 4ea20e946812e9f8ed0a113d3d30af3115c4df5f42267ae435d9c8ed91b125a2
+SIZE (VegaDeftwing-LyraeModules-1c32b02bd11a549d28da0620719541ac6f966652_GH0.tar.gz) = 2418017
+SHA256 (mgunyho-Little-Utils-b7ce2244835fa376201b21b2274937152dcd1121_GH0.tar.gz) = a0cd89c328ebba43b6c8c270f3a75d5e84dc1df72d8e0574879bf6def6a5bbeb
+SIZE (mgunyho-Little-Utils-b7ce2244835fa376201b21b2274937152dcd1121_GH0.tar.gz) = 1243950
+SHA256 (SteveRussell33-Prism-453da225742f3829ba037770245333a28751fbb8_GH0.tar.gz) = ca5fd74e0cfe2d83145c8f5986b532ddfcc7cbef65092e0ea17ac60623751d64
+SIZE (SteveRussell33-Prism-453da225742f3829ba037770245333a28751fbb8_GH0.tar.gz) = 51023410
+SHA256 (EaterOfSheep-Extratone-9fb70500b17fe2495aba9f5f77ddf496d5c09f13_GH0.tar.gz) = afa069bf261abb30f8cf87140dd0028749ae6a331aab79c5f0c97579bf209e54
+SIZE (EaterOfSheep-Extratone-9fb70500b17fe2495aba9f5f77ddf496d5c09f13_GH0.tar.gz) = 430398
+SHA256 (SteveRussell33-LifeFormModular-c7b8d096f618c421d7d45784b894c0ac2f3395b0_GH0.tar.gz) = 83635c1abba1debc9e2cd4f4942830f48a45e81402867c2e04cc4fcffacd06bf
+SIZE (SteveRussell33-LifeFormModular-c7b8d096f618c421d7d45784b894c0ac2f3395b0_GH0.tar.gz) = 382142
+SHA256 (netboy3-21kHz-rack-plugins-0bee82247151e2fe2885f1e15fbbd74ddb4f48d0_GH0.tar.gz) = a670f575d9d3782e668e0a982f0e56af58da48f9a8c7e0c5d0bd93aed53fc042
+SIZE (netboy3-21kHz-rack-plugins-0bee82247151e2fe2885f1e15fbbd74ddb4f48d0_GH0.tar.gz) = 402213
+SHA256 (DISTRHO-PawPaw-b41a693b64cdba1abd8d278c9985fb690b522854_GH0.tar.gz) = 2a46ae08cde10cb870488b408bf7eb2d4546180e1930c45e1cc1a7ae4c73bff7
+SIZE (DISTRHO-PawPaw-b41a693b64cdba1abd8d278c9985fb690b522854_GH0.tar.gz) = 199216
+SHA256 (LomasModules-LomasModules-a4b802ae1ac12415cbeaeaef5f949dd8d38dfc5c_GH0.tar.gz) = c45c10324983c114ded91447e2eb67fae295009f295793fcb331f19f052938d0
+SIZE (LomasModules-LomasModules-a4b802ae1ac12415cbeaeaef5f949dd8d38dfc5c_GH0.tar.gz) = 545639
+SHA256 (expertsleepersltd-vcvrack-encoders-df096a635fe8d3ea86a1e6451a55e45ccee5b83d_GH0.tar.gz) = 11fa995134a963ff7db6be60e82d88772b13c9e60c5bcba5122e2bc2e6cc8886
+SIZE (expertsleepersltd-vcvrack-encoders-df096a635fe8d3ea86a1e6451a55e45ccee5b83d_GH0.tar.gz) = 27230
+SHA256 (CardinalModules-ihtsyn-31c4229eb328f6aaa4024f76c595b55213cdf1cf_GH0.tar.gz) = 65dcf68f789ab41b87ee82d1dd96c0d69a5266779b22dfc832b44966ec5dcbdc
+SIZE (CardinalModules-ihtsyn-31c4229eb328f6aaa4024f76c595b55213cdf1cf_GH0.tar.gz) = 98093
+SHA256 (JerrySievert-QuickJS-b70d5344013836544631c361ae20569b978176c9_GH0.tar.gz) = 2fc6b14db190ae21030051c59e3d38a877543a03dafe02c22448e7bf34a77227
+SIZE (JerrySievert-QuickJS-b70d5344013836544631c361ae20569b978176c9_GH0.tar.gz) = 931668
+SHA256 (NikolaiVChr-Autinn-bc880d9d8fb59016de61e3253aff2b543d7bb665_GH0.tar.gz) = af71ac1af5410bafff914b308677dc29d019f371deaa9f8fa634e39af5365c8d
+SIZE (NikolaiVChr-Autinn-bc880d9d8fb59016de61e3253aff2b543d7bb665_GH0.tar.gz) = 210895
+SHA256 (sonusdept-sonusmodular-b63a685c6c68be188f5a3d5d9f6582eb94d62e53_GL0.tar.gz) = cb1da2600249ae62c223f5c3c4b50e4eac69c7aae689e997f6084f6c227936e7
+SIZE (sonusdept-sonusmodular-b63a685c6c68be188f5a3d5d9f6582eb94d62e53_GL0.tar.gz) = 323260
diff --git a/audio/cardinal/files/mntent.h b/audio/cardinal/files/mntent.h
new file mode 100644
index 000000000000..e61cddd89c82
--- /dev/null
+++ b/audio/cardinal/files/mntent.h
@@ -0,0 +1,62 @@
+/*
+ *  mntent
+ *  mntent.h - compatability header for FreeBSD
+ *
+ *  Copyright (c) 2001 David Rufino <daverufino@btinternet.com>
+ *  All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#if defined(HAVE_MNTENT_H)
+#include <mntent.h>
+#else
+#ifndef _MNTENT_H
+#define _MNTENT_H
+#include <stdio.h>
+
+#define MOUNTED "dummy"
+
+#define MNTTYPE_NFS "nfs"
+
+struct mntent {
+	char *mnt_fsname;
+	char *mnt_dir;
+	char *mnt_type;
+	char *mnt_opts;
+	int mnt_freq;
+	int mnt_passno;
+};
+
+#define setmntent(x,y) ((FILE *)0x1)
+#ifdef __cplusplus
+extern "C" {
+#endif
+struct mntent *getmntent __P ((FILE *fp));
+char *hasmntopt __P ((const struct mntent *mnt, const char *option));
+#ifdef __cplusplus
+}; // extern "C"
+#endif
+#define endmntent(x) ((int)1)
+
+#endif /* _MNTENT_H */
+#endif /* HAVE_MNTENT_H */
diff --git a/audio/cardinal/files/mntent_compat.c b/audio/cardinal/files/mntent_compat.c
new file mode 100644
index 000000000000..9160ff6b78fb
--- /dev/null
+++ b/audio/cardinal/files/mntent_compat.c
@@ -0,0 +1,173 @@
+/*
+ * Copyright (c) 1980, 1989, 1993, 1994
+ *      The Regents of the University of California.  All rights reserved.
+ * Copyright (c) 2001
+ *      David Rufino <daverufino@btinternet.com>
+ * Copyright (c) 2006
+ *      Stanislav Sedov <ssedov@mbsd.msk.ru>
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ *    must display the following acknowledgement:
+ *      This product includes software developed by the University of
+ *      California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ *    may be used to endorse or promote products derived from this software
+ *    without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+/* most of this was ripped from the mount(3) source */
+
+#include "mntent.h"
+#include <stdlib.h>
+#include <string.h>
+#include <sys/param.h>
+#include <sys/ucred.h>
+#include <sys/mount.h>
+
+static int pos = -1;
+static int mntsize = -1;
+static struct mntent _mntent;
+
+struct {
+	int		m_flag;
+	const char	*m_option;
+} mntoptions[] = {
+	{ MNT_ASYNC,		"async" },
+	{ MNT_NOATIME,		"noatime"},
+	{ MNT_NOEXEC,		"noexec"},
+	{ MNT_NOSUID,		"nosuid"},
+	{ MNT_NOSYMFOLLOW,	"nosymfollow"},
+	{ MNT_SYNCHRONOUS,	"sync"},
+	{ MNT_UNION,		"union"},
+	{ MNT_NOCLUSTERR,	"noclusterr"},
+	{ (int)MNT_NOCLUSTERW,	"noclusterw"},
+	{ MNT_SUIDDIR,		"suiddir"},
+#ifdef MNT_SNAPSHOT
+	{ MNT_SNAPSHOT,		"snapshot"},
+#endif
+#ifdef MNT_MULTILABEL
+	{ MNT_MULTILABEL,	"multilabel"},
+#endif
+#ifdef MNT_ACLS
+	{ MNT_ACLS,		"acls"},
+#endif
+#ifdef MNT_NODEV
+	{ MNT_NODEV,		"nodev"},
+#endif
+};
+
+#define N_OPTS (sizeof(mntoptions) / sizeof(*mntoptions))
+
+char *
+hasmntopt (const struct mntent *mnt, const char *option)
+{
+	int found;
+	char *opt, *optbuf;
+
+	optbuf = strdup(mnt->mnt_opts);
+	found = 0;
+	for (opt = optbuf; (opt = strtok(opt, " ")) != NULL; opt = NULL) {
+		if (!strcasecmp(opt, option)) {
+			opt = opt - optbuf + mnt->mnt_opts;
+			free (optbuf);
+			return (opt);
+		}
+	}
+	free (optbuf);
+	return (NULL);
+}
+
+static char *
+catopt (char *s0, const char *s1)
+{
+	size_t newlen;
+	char *cp;
+
+	if (s1 == NULL || *s1 == '\0')
+		return s0;
+
+	if (s0 != NULL) {
+		newlen = strlen(s0) + strlen(s1) + 1 + 1;
+		if ((cp = (char *)realloc(s0, newlen)) == NULL)
+			return (NULL);
+
+		(void)strcat(cp, " ");
+		(void)strcat(cp, s1);
+	} else
+		cp = strdup(s1);
+
+	return (cp);
+}
+
+
+static char *
+flags2opts (int flags)
+{
+	char *res = NULL;
+	int i;
+
+	res = catopt(res, (flags & MNT_RDONLY) ? "ro" : "rw");
+
+	for (i = 0; i < N_OPTS; i++)
+		if (flags & mntoptions[i].m_flag)
+			res = catopt(res, mntoptions[i].m_option);
+	return res;
+}
+
+static struct mntent *
+statfs_to_mntent (struct statfs *mntbuf)
+{
+	static char opts_buf[40], *tmp;
+	
+	_mntent.mnt_fsname = mntbuf->f_mntfromname;
+	_mntent.mnt_dir = mntbuf->f_mntonname;
+	_mntent.mnt_type = mntbuf->f_fstypename;
+	tmp = flags2opts (mntbuf->f_flags);
+	if (tmp) {
+		opts_buf[sizeof(opts_buf) - 1] = '\0';
+		strncpy (opts_buf, tmp, sizeof(opts_buf)-1);
+		free (tmp);
+	} else {
+		*opts_buf = '\0';
+	}
+	_mntent.mnt_opts = opts_buf;	
+	_mntent.mnt_freq = _mntent.mnt_passno = 0;
+	return (&_mntent);
+}
+
+struct mntent *
+getmntent (FILE *fp)
+{
+	struct statfs *mntbuf;
+
+	if (pos == -1 || mntsize == -1)
+		mntsize = getmntinfo (&mntbuf, MNT_NOWAIT);
+
+	++pos;
+	if (pos == mntsize) {
+		pos = mntsize = -1;
+		return (NULL);
+	}
+
+	return (statfs_to_mntent (&mntbuf[pos]));
+}
diff --git a/audio/cardinal/files/patch-carla_source_modules_AppConfig.h b/audio/cardinal/files/patch-carla_source_modules_AppConfig.h
new file mode 100644
index 000000000000..50e1f191e41f
--- /dev/null
+++ b/audio/cardinal/files/patch-carla_source_modules_AppConfig.h
@@ -0,0 +1,13 @@
+- for now treat FreeBSD as Linux for simplicity
+
+--- carla/source/modules/AppConfig.h.orig	2022-01-30 04:43:57 UTC
++++ carla/source/modules/AppConfig.h
+@@ -27,7 +27,7 @@
+ # define APPCONFIG_OS_WIN32
+ #elif defined(__APPLE__)
+ # define APPCONFIG_OS_MAC
+-#elif defined(__linux__) || defined(__linux)
++#elif defined(__linux__) || defined(__linux) || defined(__FreeBSD__)
+ # define APPCONFIG_OS_LINUX
+ #else
+ # error Unsupported platform!
diff --git a/audio/cardinal/files/patch-deps_QuickJS_qjs.c b/audio/cardinal/files/patch-deps_QuickJS_qjs.c
new file mode 100644
index 000000000000..17b256d2694a
--- /dev/null
+++ b/audio/cardinal/files/patch-deps_QuickJS_qjs.c
@@ -0,0 +1,12 @@
+--- deps/QuickJS/qjs.c.orig	2022-01-30 05:00:00 UTC
++++ deps/QuickJS/qjs.c
+@@ -37,6 +37,9 @@
+ #elif defined(__linux__)
+ #include <malloc.h>
+ #endif
++#if defined(__FreeBSD__)
++#include <malloc_np.h> // for malloc_usable_size
++#endif
+ 
+ #include "cutils.h"
+ #include "quickjs-libc.h"
diff --git a/audio/cardinal/files/patch-deps_QuickJS_quickjs-libc.c b/audio/cardinal/files/patch-deps_QuickJS_quickjs-libc.c
new file mode 100644
index 000000000000..0a95166de914
--- /dev/null
+++ b/audio/cardinal/files/patch-deps_QuickJS_quickjs-libc.c
@@ -0,0 +1,11 @@
+--- deps/QuickJS/quickjs-libc.c.orig	2022-01-30 05:03:46 UTC
++++ deps/QuickJS/quickjs-libc.c
+@@ -45,7 +45,7 @@
+ #include <termios.h>
+ #include <sys/ioctl.h>
+ #include <sys/wait.h>
+-#if defined(__APPLE__)
++#if defined(__APPLE__) || defined(__FreeBSD__)
+ typedef sig_t sighandler_t;
+ #endif
+ #endif
diff --git a/audio/cardinal/files/patch-deps_QuickJS_quickjs.c b/audio/cardinal/files/patch-deps_QuickJS_quickjs.c
new file mode 100644
index 000000000000..31b100dd019a
--- /dev/null
+++ b/audio/cardinal/files/patch-deps_QuickJS_quickjs.c
@@ -0,0 +1,12 @@
+--- deps/QuickJS/quickjs.c.orig	2022-01-30 04:37:43 UTC
++++ deps/QuickJS/quickjs.c
+@@ -37,6 +37,9 @@
+ #elif defined(__linux__)
+ #include <malloc.h>
+ #endif
++#if defined(__FreeBSD__)
++#include <malloc_np.h> // for malloc_usable_size
++#endif
+ 
+ #include "cutils.h"
+ #include "list.h"
diff --git a/audio/cardinal/files/patch-src_Makefile b/audio/cardinal/files/patch-src_Makefile
new file mode 100644
index 000000000000..25048a1b67a1
--- /dev/null
+++ b/audio/cardinal/files/patch-src_Makefile
@@ -0,0 +1,24 @@
+- use pffft from the package, see https://github.com/DISTRHO/Cardinal/issues/130
+
+--- src/Makefile.orig	2022-02-06 00:30:19 UTC
++++ src/Makefile
+@@ -50,7 +50,7 @@ BASE_FLAGS += -IRack/dep/glfw/include
+ BASE_FLAGS += -IRack/dep/nanosvg/src
+ BASE_FLAGS += -IRack/dep/osdialog
+ BASE_FLAGS += -IRack/dep/oui-blendish
+-BASE_FLAGS += -IRack/dep/pffft
++#BASE_FLAGS += -IRack/dep/pffft
+ 
+ ifeq ($(DEBUG),true)
+ BASE_FLAGS += -UDEBUG
+@@ -108,8 +108,8 @@ RACK_FILES += override/MenuBar.cpp
+ RACK_FILES += override/Model.cpp
+ RACK_FILES += override/Scene.cpp
+ 
+-RACK_FILES += Rack/dep/pffft/pffft.c
+-RACK_FILES += Rack/dep/pffft/fftpack.c
++#RACK_FILES += Rack/dep/pffft/pffft.c
++#RACK_FILES += Rack/dep/pffft/fftpack.c
+ RACK_FILES += Rack/dep/osdialog/osdialog.c
+ 
+ IGNORED_FILES  = Rack/src/asset.cpp
diff --git a/audio/cardinal/files/patch-src_Rack_Makefile b/audio/cardinal/files/patch-src_Rack_Makefile
new file mode 100644
index 000000000000..c23ed7898755
--- /dev/null
+++ b/audio/cardinal/files/patch-src_Rack_Makefile
@@ -0,0 +1,11 @@
+--- src/Rack/Makefile.orig	2022-02-06 00:28:59 UTC
++++ src/Rack/Makefile
+@@ -12,7 +12,7 @@ include arch.mk
+ SOURCES += dep/nanovg/src/nanovg.c
+ SOURCES += dep/osdialog/osdialog.c
+ SOURCES += dep/oui-blendish/blendish.c
+-SOURCES += dep/pffft/pffft.c dep/pffft/fftpack.c
++#SOURCES += dep/pffft/pffft.c dep/pffft/fftpack.c
+ SOURCES += $(wildcard src/*.c src/*/*.c)
+ SOURCES += $(wildcard src/*.cpp src/*/*.cpp)
+ 
diff --git a/audio/cardinal/files/patch-src_Rack_src_system.cpp b/audio/cardinal/files/patch-src_Rack_src_system.cpp
new file mode 100644
index 000000000000..26cc3b7a8a38
--- /dev/null
+++ b/audio/cardinal/files/patch-src_Rack_src_system.cpp
@@ -0,0 +1,28 @@
+- CLOCK_MONOTONIC_RAW is not available on FreeBSD
+
+--- src/Rack/src/system.cpp.orig	2022-02-06 00:32:17 UTC
++++ src/Rack/src/system.cpp
+@@ -742,7 +742,11 @@ static void initTime() {
+ #endif
+ #if defined ARCH_LIN
+ 	struct timespec ts;
++#ifdef __FreeBSD__
++	clock_gettime(CLOCK_MONOTONIC_PRECISE, &ts);
++#else
+ 	clock_gettime(CLOCK_MONOTONIC_RAW, &ts);
++#endif
+ 	startTime = int64_t(ts.tv_sec) * 1000000000LL + ts.tv_nsec;
+ #endif
+ #if defined ARCH_MAC
+@@ -763,7 +767,11 @@ double getTime() {
+ #endif
+ #if defined ARCH_LIN
+ 	struct timespec ts;
++#ifdef __FreeBSD__
++	clock_gettime(CLOCK_MONOTONIC_PRECISE, &ts);
++#else
+ 	clock_gettime(CLOCK_MONOTONIC_RAW, &ts);
++#endif
+ 	int64_t time = int64_t(ts.tv_sec) * 1000000000LL + ts.tv_nsec;
+ 	return (time - startTime) / 1e9;
+ #endif
diff --git a/audio/cardinal/pkg-descr b/audio/cardinal/pkg-descr
new file mode 100644
index 000000000000..332e640ff501
--- /dev/null
+++ b/audio/cardinal/pkg-descr
@@ -0,0 +1,10 @@
+A virtual Eurorack modular synthesizer platform, available as JACK
+standalone and LV2, VST2 and VST3 audio plugin for Linux, macOS and
+Windows.
+
+This is a DPF-based plugin wrapper around VCV Rack, using its code
+directly instead of forking the project.
+The target is to have a proper, self-contained, fully free and
+open-source plugin version of Rack.
+
+WWW: https://github.com/DISTRHO/Cardinal
diff --git a/audio/cardinal/pkg-plist b/audio/cardinal/pkg-plist
new file mode 100644
index 000000000000..975da1a181b7
--- /dev/null
+++ b/audio/cardinal/pkg-plist
@@ -0,0 +1,29861 @@
+bin/Cardinal
+lib/lv2/Cardinal.lv2/Cardinal.d
+lib/lv2/Cardinal.lv2/Cardinal.so
+lib/lv2/Cardinal.lv2/Cardinal.ttl
+lib/lv2/Cardinal.lv2/manifest.ttl
+lib/lv2/Cardinal.lv2/resources/21kHz/res/Components/kHzButton_0.svg
+lib/lv2/Cardinal.lv2/resources/21kHz/res/Components/kHzButton_1.svg
+lib/lv2/Cardinal.lv2/resources/21kHz/res/Components/kHzKnob.svg
+lib/lv2/Cardinal.lv2/resources/21kHz/res/Components/kHzKnobSmall.svg
+lib/lv2/Cardinal.lv2/resources/21kHz/res/Components/kHzKnobTiny.svg
+lib/lv2/Cardinal.lv2/resources/21kHz/res/Components/kHzPort.svg
+lib/lv2/Cardinal.lv2/resources/21kHz/res/Components/kHzScrew.svg
+lib/lv2/Cardinal.lv2/resources/21kHz/res/Panels/D_Inf.svg
+lib/lv2/Cardinal.lv2/resources/21kHz/res/Panels/PalmLoop.svg
+lib/lv2/Cardinal.lv2/resources/21kHz/res/Panels/TachyonEntangler.svg
+lib/lv2/Cardinal.lv2/resources/AmalgamatedHarmonics/res/Arp31c.svg
+lib/lv2/Cardinal.lv2/resources/AmalgamatedHarmonics/res/Arp32p.svg
+lib/lv2/Cardinal.lv2/resources/AmalgamatedHarmonics/res/Arpeggiator2.svg
+lib/lv2/Cardinal.lv2/resources/AmalgamatedHarmonics/res/Bombe.svg
+lib/lv2/Cardinal.lv2/resources/AmalgamatedHarmonics/res/Chord.svg
+lib/lv2/Cardinal.lv2/resources/AmalgamatedHarmonics/res/Circle.svg
+lib/lv2/Cardinal.lv2/resources/AmalgamatedHarmonics/res/ComponentLibrary/AHBigKnob.svg
+lib/lv2/Cardinal.lv2/resources/AmalgamatedHarmonics/res/ComponentLibrary/AHButton.svg
+lib/lv2/Cardinal.lv2/resources/AmalgamatedHarmonics/res/ComponentLibrary/AHHugeKnob.svg
+lib/lv2/Cardinal.lv2/resources/AmalgamatedHarmonics/res/ComponentLibrary/AHJack.svg
+lib/lv2/Cardinal.lv2/resources/AmalgamatedHarmonics/res/ComponentLibrary/AHKnob.svg
+lib/lv2/Cardinal.lv2/resources/AmalgamatedHarmonics/res/ComponentLibrary/AHTrimpot.svg
+lib/lv2/Cardinal.lv2/resources/AmalgamatedHarmonics/res/DSEG14ClassicMini-BoldItalic.ttf
+lib/lv2/Cardinal.lv2/resources/AmalgamatedHarmonics/res/Galaxy.svg
+lib/lv2/Cardinal.lv2/resources/AmalgamatedHarmonics/res/Generative.svg
+lib/lv2/Cardinal.lv2/resources/AmalgamatedHarmonics/res/Imp.svg
+lib/lv2/Cardinal.lv2/resources/AmalgamatedHarmonics/res/Imperfect2.svg
+lib/lv2/Cardinal.lv2/resources/AmalgamatedHarmonics/res/MuxDeMux.svg
+lib/lv2/Cardinal.lv2/resources/AmalgamatedHarmonics/res/PolyProbe.svg
+lib/lv2/Cardinal.lv2/resources/AmalgamatedHarmonics/res/PolyScope.svg
+lib/lv2/Cardinal.lv2/resources/AmalgamatedHarmonics/res/PolyUtils.svg
+lib/lv2/Cardinal.lv2/resources/AmalgamatedHarmonics/res/PolyVolt.svg
+lib/lv2/Cardinal.lv2/resources/AmalgamatedHarmonics/res/Progress.svg
+lib/lv2/Cardinal.lv2/resources/AmalgamatedHarmonics/res/Progress2.svg
+lib/lv2/Cardinal.lv2/resources/AmalgamatedHarmonics/res/Roboto-Light.ttf
+lib/lv2/Cardinal.lv2/resources/AmalgamatedHarmonics/res/RobotoCondensed-Bold.ttf
+lib/lv2/Cardinal.lv2/resources/AmalgamatedHarmonics/res/Ruckus.svg
+lib/lv2/Cardinal.lv2/resources/AmalgamatedHarmonics/res/SLN.svg
+lib/lv2/Cardinal.lv2/resources/AmalgamatedHarmonics/res/ScaleQuantizer.svg
+lib/lv2/Cardinal.lv2/resources/AmalgamatedHarmonics/res/ScaleQuantizerMkII.svg
+lib/lv2/Cardinal.lv2/resources/AnimatedCircuits/res/FoldingLight.svg
+lib/lv2/Cardinal.lv2/resources/AnimatedCircuits/res/Knob_Black_Light_21.svg
+lib/lv2/Cardinal.lv2/resources/AnimatedCircuits/res/Knob_Blue_Light_42.svg
+lib/lv2/Cardinal.lv2/resources/AnimatedCircuits/res/Knob_Cap_Light_42_fg.svg
+lib/lv2/Cardinal.lv2/resources/AnimatedCircuits/res/Knob_Ring_Light_42_bg.svg
+lib/lv2/Cardinal.lv2/resources/AnimatedCircuits/res/Knob_White_Light_42.svg
+lib/lv2/Cardinal.lv2/resources/AnimatedCircuits/res/PlugLight.svg
+lib/lv2/Cardinal.lv2/resources/AnimatedCircuits/res/Switch_Blue_LinExp_ExpOn_Light.svg
+lib/lv2/Cardinal.lv2/resources/AnimatedCircuits/res/Switch_Blue_LinExp_LinOn_Light.svg
+lib/lv2/Cardinal.lv2/resources/AnimatedCircuits/res/Switch_Grey_Bi_Off.svg
+lib/lv2/Cardinal.lv2/resources/AnimatedCircuits/res/Switch_Grey_Bi_On.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/Arcane/0.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/Arcane/1.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/Arcane/10.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/Arcane/11.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/Arcane/12.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/Arcane/13.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/Arcane/14.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/Arcane/15.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/Arcane/16.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/Arcane/17.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/Arcane/18.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/Arcane/19.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/Arcane/2.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/Arcane/20.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/Arcane/21.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/Arcane/3.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/Arcane/4.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/Arcane/5.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/Arcane/6.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/Arcane/7.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/Arcane/8.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/Arcane/9.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/Arcane/Aleister.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/Arcane/Arcane.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/Arcane/Atout.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/components/fortune-off.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/components/fortune-on.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/components/grabby-bg.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/components/grabby-knob.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/components/jack-transparent.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/components/keyboard-off.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/components/keyboard-on.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/components/knob-820-arrow.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/components/knob-820-transparent.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/components/knob-820.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/components/label-button-bottom-off.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/components/label-button-bottom-on.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/components/label-button-right-off.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/components/label-button-right-on.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/components/pb-bg.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/components/pb-knob.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/components/pmbutton-minus-off.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/components/pmbutton-minus-on.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/components/pmbutton-plus-off.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/components/pmbutton-plus-on.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/components/psychopump-ms12-reference.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/components/psychopump-mute-off.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/components/psychopump-mute-on.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/components/psychopump-out1-off.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/components/psychopump-out1-on.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/components/psychopump-out2-off.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/components/psychopump-out2-on.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/components/psychopump-solo-off.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/components/psychopump-solo-on.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/components/pushbutton-500-off.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/components/pushbutton-500-on.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/components/pushbutton-500-pink.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/components/pushbutton-700-off.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/components/pushbutton-700-on.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/components/pushbutton-700-pink.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/components/pushbutton-820-light-only.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/components/pushbutton-820-off.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/components/pushbutton-820-on.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/components/pushbutton-820-padlock-off.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/components/pushbutton-820-padlock-on.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/components/pushbutton-820-pink.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/components/quantize-off.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/components/quantize-on.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/components/quantize-pink.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/components/rocker-switch-800-d.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/components/rocker-switch-800-l.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/components/rocker-switch-800-r.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/components/rocker-switch-800-u.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/components/rocker-switch-ub-b.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/components/rocker-switch-ub-u.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/components/screw.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/components/solomon-delay-lit.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/components/solomon-next-lit.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/components/solomon-play-lit.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/components/solomon-queue-lit.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/dseg/DSEG14ClassicMini-Italic.ttf
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/faceplates/Bendlet-src.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/faceplates/Bendlet.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/faceplates/Blank.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/faceplates/Darius.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/faceplates/Grabby.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/faceplates/Pokies.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/faceplates/Psychopump.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/faceplates/Q.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/faceplates/Qqqq.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/faceplates/Quack.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/faceplates/Quale.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/faceplates/Rotatoes.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/faceplates/Smerge.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/faceplates/Solomon16.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/faceplates/Solomon4.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/faceplates/Solomon8.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/faceplates/Spleet.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/faceplates/Splirge.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/faceplates/Splort.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/faceplates/Srot.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/faceplates/Swerge.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/faceplates/Test.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/faceplates/Undular.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/lcd/Fixed_v01/100.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/lcd/Fixed_v01/101.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/lcd/Fixed_v01/102.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/lcd/Fixed_v01/103.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/lcd/Fixed_v01/104.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/lcd/Fixed_v01/105.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/lcd/Fixed_v01/106.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/lcd/Fixed_v01/107.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/lcd/Fixed_v01/108.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/lcd/Fixed_v01/109.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/lcd/Fixed_v01/110.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/lcd/Fixed_v01/111.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/lcd/Fixed_v01/112.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/lcd/Fixed_v01/113.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/lcd/Fixed_v01/114.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/lcd/Fixed_v01/115.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/lcd/Fixed_v01/116.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/lcd/Fixed_v01/117.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/lcd/Fixed_v01/118.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/lcd/Fixed_v01/119.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/lcd/Fixed_v01/120.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/lcd/Fixed_v01/121.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/lcd/Fixed_v01/122.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/lcd/Fixed_v01/123.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/lcd/Fixed_v01/124.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/lcd/Fixed_v01/125.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/lcd/Fixed_v01/126.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/lcd/Fixed_v01/32.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/lcd/Fixed_v01/33.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/lcd/Fixed_v01/34.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/lcd/Fixed_v01/35.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/lcd/Fixed_v01/36.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/lcd/Fixed_v01/37.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/lcd/Fixed_v01/38.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/lcd/Fixed_v01/39.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/lcd/Fixed_v01/40.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/lcd/Fixed_v01/41.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/lcd/Fixed_v01/42.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/lcd/Fixed_v01/43.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/lcd/Fixed_v01/44.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/lcd/Fixed_v01/45.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/lcd/Fixed_v01/46.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/lcd/Fixed_v01/47.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/lcd/Fixed_v01/48.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/lcd/Fixed_v01/49.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/lcd/Fixed_v01/50.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/lcd/Fixed_v01/51.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/lcd/Fixed_v01/52.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/lcd/Fixed_v01/53.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/lcd/Fixed_v01/54.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/lcd/Fixed_v01/55.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/lcd/Fixed_v01/56.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/lcd/Fixed_v01/57.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/lcd/Fixed_v01/58.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/lcd/Fixed_v01/59.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/lcd/Fixed_v01/60.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/lcd/Fixed_v01/61.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/lcd/Fixed_v01/62.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/lcd/Fixed_v01/63.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/lcd/Fixed_v01/64.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/lcd/Fixed_v01/65.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/lcd/Fixed_v01/66.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/lcd/Fixed_v01/67.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/lcd/Fixed_v01/68.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/lcd/Fixed_v01/69.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/lcd/Fixed_v01/70.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/lcd/Fixed_v01/71.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/lcd/Fixed_v01/72.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/lcd/Fixed_v01/73.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/lcd/Fixed_v01/74.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/lcd/Fixed_v01/75.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/lcd/Fixed_v01/76.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/lcd/Fixed_v01/77.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/lcd/Fixed_v01/78.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/lcd/Fixed_v01/79.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/lcd/Fixed_v01/80.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/lcd/Fixed_v01/81.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/lcd/Fixed_v01/82.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/lcd/Fixed_v01/83.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/lcd/Fixed_v01/84.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/lcd/Fixed_v01/85.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/lcd/Fixed_v01/86.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/lcd/Fixed_v01/87.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/lcd/Fixed_v01/88.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/lcd/Fixed_v01/89.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/lcd/Fixed_v01/90.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/lcd/Fixed_v01/91.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/lcd/Fixed_v01/92.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/lcd/Fixed_v01/93.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/lcd/Fixed_v01/94.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/lcd/Fixed_v01/95.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/lcd/Fixed_v01/96.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/lcd/Fixed_v01/97.svg
+lib/lv2/Cardinal.lv2/resources/AriaModules/res/lcd/Fixed_v01/98.svg
*** 29607 LINES SKIPPED ***