From patchwork Fri Jun 16 15:04:10 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sughosha X-Patchwork-Id: 50978 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 1281B27BBE9; Fri, 16 Jun 2023 16:05:18 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,SPF_HELO_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id ED49627BBE2 for ; Fri, 16 Jun 2023 16:05:15 +0100 (BST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qAB0Z-0008TE-GS; Fri, 16 Jun 2023 11:05:03 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qAB0Y-0008T4-BP for guix-patches@gnu.org; Fri, 16 Jun 2023 11:05:02 -0400 Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qAB0Y-0007Rc-1H for guix-patches@gnu.org; Fri, 16 Jun 2023 11:05:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1qAB0X-0003ic-Sb for guix-patches@gnu.org; Fri, 16 Jun 2023 11:05:01 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#56140] [PATCH v4 2/2] gnu: Add distrho-ports. Resent-From: Sughosha Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Fri, 16 Jun 2023 15:05:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 56140 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: "rekado@elephly.net" Cc: 56140@debbugs.gnu.org Received: via spool by 56140-submit@debbugs.gnu.org id=B56140.168692787114247 (code B ref 56140); Fri, 16 Jun 2023 15:05:01 +0000 Received: (at 56140) by debbugs.gnu.org; 16 Jun 2023 15:04:31 +0000 Received: from localhost ([127.0.0.1]:50201 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qAB03-0003hi-1y for submit@debbugs.gnu.org; Fri, 16 Jun 2023 11:04:31 -0400 Received: from mail-4319.protonmail.ch ([185.70.43.19]:60401) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qAB00-0003hT-Go for 56140@debbugs.gnu.org; Fri, 16 Jun 2023 11:04:29 -0400 Date: Fri, 16 Jun 2023 15:04:10 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=proton.me; s=protonmail; t=1686927862; x=1687187062; bh=wmXpQ0uZAa9CH9we5/TWNB4a5ZVlY0sOxaVRhXugZ0I=; h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References: Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID: Message-ID:BIMI-Selector; b=AfFahFQ6hLPpHIkZBrl2qnpuIFbbveETaHLhBTaQ+oJSehNvjRzpYIQKxz9c4YDPN DNnX9qG57l4e9p70GqmSlg8f+PmXYNWZ0U8F3vxvRIcc0VzPiAGDpTPhTEByE1Bpqk GPj3Ermw2L5rdqozgPEZMIYToMCMvo3wp5lTHS1cGCIqUUtSv2UpbpY6fjhzKZgn93 T482+fe8mpLcaFx9LgtufwCI8u8BOKrAsBmdaRjbBTcgGkPI2QsW3me7dW6VKGS/gX rDkhYRY0axFRpc8yOLMLd7khxomkHqv9O6Pqq81h/egJKh5hOMVcAngSeT7VQnMsv4 55ZKkNKKzu0Iw== Message-ID: In-Reply-To: References: Feedback-ID: 45211691:user:proton MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-to: Sughosha X-ACL-Warn: , Sughosha via Guix-patches X-Patchwork-Original-From: Sughosha via Guix-patches via From: Sughosha Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches * gnu/packages/music.scm (distrho-ports): New variable. --- gnu/packages/music.scm | 164 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 164 insertions(+) diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 2e7eddafb0..a21a16cfc7 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -6344,6 +6344,170 @@ (define-public mamba ones.") (license license:bsd-0))) +(define-public distrho-ports + ;; From 2021-03-15 to this commit various important changes are made + ;; including improved directory structure and updated JUCE versions. + (let ((commit "f2dbaded0a05732e3499fa374a586e5b32370da5") + (revision "0")) + (package + (name "distrho-ports") + (version (git-version "2021-03-15" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/DISTRHO/DISTRHO-Ports") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1rrnqwask2qg05ynisk6bpj118cl7c3w53rqrfg5x3sx847rjjgc")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Delete third party libraries, libraries without licenses + ;; and unneeded libraries. + (for-each delete-file-recursively + (list "ports-juce5/arctican-function" ;no license + "ports-juce5/arctican-pilgrim" ;no license + "ports-juce5/drowaudio-tremolo" ;no license + "ports-juce5/juce-demo-host" ;not used + "ports-juce5/juce-demo-plugin" ;not used + "ports-juce5/temper/source/faust" ;bundled + "ports-juce6/chow" ;not used + "ports-juce6/swankyamp/thirdparty" ;bundled + "ports-juce6/vitalium/third_party")) ;bundled + ;; Exclude them from building. + (substitute* (find-files "." "meson.build$") + (("'arctican") "#'arctican") + (("'drowaudio-tremolo") "#'drowaudio-tremolo") + (("'third") "#'third")) + ;; Use system provided "nlohmann/json.hpp". + (with-directory-excursion "ports-juce6/vitalium/source" + (substitute* + (list "common/line_generator.h" + "common/load_save.h" + "common/tuning.h" + "common/wavetable/wavetable_component.h" + "common/wavetable/wavetable_creator.h" + "common/wavetable/wavetable_keyframe.h" + "interface/editor_sections/save_section.h" + "interface/look_and_feel/skin.h" + "synthesis/producers/sample_source.h") + (("json/json\\.h") "nlohmann/json.hpp"))))))) + (build-system meson-build-system) + (arguments + (list #:tests? #f ;no test target + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch-juce-fonts + (lambda* (#:key inputs #:allow-other-keys) + (for-each + (lambda (file) + (substitute* file + (("/usr/share/fonts") + (search-input-directory inputs "/etc/fonts")))) + (find-files "libs" "juce_linux_Fonts.cpp$"))))))) + (native-inputs + (list cmake-minimal + concurrentqueue + faust + nlohmann-json + optional-lite + pkg-config)) + (inputs + (list alsa-lib + fontconfig + freetype + fftwf + libx11 + libxcursor + libxext + libxrender + mesa)) + (native-search-paths + (list (search-path-specification + (variable "LV2_PATH") + (files '("lib/lv2"))) + (search-path-specification + (variable "VST2_PATH") + (files '("lib/vst"))) + (search-path-specification + (variable "VST3_PATH") + (files '("lib/vst3"))))) + (home-page "https://github.com/DISTRHO/DISTRHO-Ports") + (synopsis "Audio plugins and LV2 ports") + (description + "This package contains LV2 ports of the following plugins: +@itemize +@item Dexed, +@item dRowAudio plugins (Distortion, Distortion Shaper, Flanger, Reverb, + Tremolo), +@item DrumSynth, +@item EasySSP, +@item EQinox, +@item HiReSam, +@item JuceOPL, +@item KlangFalter, +@item LUFS Meter, +@item Luftikus, +@item Obxd, +@item PitchedDelay, +@item ReFine, +@item StereoSourceSeperation, +@item Swanky Amp, +@item TAL plugins (Dub-3, Filter, Filter-2, Noize Mak3r, Reverb, Reverb-II, + Reverb-III, Vocoder-II), +@item Temper, +@item Vex, +@item Vitalium, and +@item Wolpertinger. +@end itemize") + (license + (list license:asl2.0 ;used by Dexed + ;; mingw-std-threads and EasySSP (for dsp-utility) use FreeBSD. + license:bsd-2 + ;; Licenses for dRowAudio is not found in this repository, but + ;; the upstream project is licensed under MIT: + ;; https://github.com/drowaudio/drowaudio. + ;; Luftikus, PitchedDelay and ReFine are ported from lkjb plugins + ;; which is licensed under MIT: + ;; https://github.com/lkjbdsp/lkjb-plugins. + license:expat + (license:fsf-free ;used by Temper + "file:///ports-juce5/temper/source/TemperDsp.hpp") + ;; juce-plugin, LUFS Meter, Obxd and TAL plugins use GPLv2. + license:gpl2 + ;; License for Wolpertinger is not found in this repository, but + ;; the upstream project is licensed under GPLv2+: + ;; https://github.com/jkroll20/wolpertinger. + ;; dRowAudio plugins, juced, HiReSam and Vex use this license. + ;; Packages using files from JUCETICE project use this license. + license:gpl2+ + ;; License for EasySSP is not found in this repository, but the + ;; upstream project is licensed under GPLv3: + ;; https://github.com/automatl/audio-dsp-multi-visualize. + license:gpl3 ;used by JUCE + ;; Dexed, Swanky Amp, Vitalium and KlangFalter use GPLv3+. + license:gpl3+ + ;; License for lv2-ttl-generator is not found in this repository, + ;; but is a part of DPF-Plugins and is licensed under ISC: + ;; https://github.com/DISTRHO/DPF. + ;; JUCE uses this license for juce_audio_basics, + ;; juce_audio_devices, juce_blocks_basics, juce_core and + ;; juce_events. + license:isc + license:lgpl2.0+ ;used by DrumSynth and EQinox + license:lgpl2.1+ ;used by SoundTouch and juce-opl + ;; StereoSourceSeperation uses a non-copyleft license. + (license:non-copyleft + (string-append "file:///ports-juce5/stereosourceseparation" + "/source/kiss_fft/kiss_fft.c")) + ;; dRowAudio uses a non-copyleft license for curl. + (license:non-copyleft + (string-append "file:///libs/drowaudio/source/dRowAudio" + "/network/curl/include/curl/curl.h")) + license:wtfpl2))))) ;used by dRowAudio for FFTReal + (define-public dpf-plugins (package (name "dpf-plugins")