From patchwork Fri Jun 16 14:06:40 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sughosha X-Patchwork-Id: 50970 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 40A6027BBEA; Fri, 16 Jun 2023 15:07:09 +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=ham 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 AB0CD27BBE2 for ; Fri, 16 Jun 2023 15:07:05 +0100 (BST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qAA6R-0002kW-Pt; Fri, 16 Jun 2023 10:07: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 1qAA6Q-0002kL-UN for guix-patches@gnu.org; Fri, 16 Jun 2023 10:07: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 1qAA6Q-0006bz-LN for guix-patches@gnu.org; Fri, 16 Jun 2023 10:07:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1qAA6Q-00022n-GH for guix-patches@gnu.org; Fri, 16 Jun 2023 10:07:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#56140] [PATCH v3 2/2] gnu: Add distrho-ports. References: In-Reply-To: Resent-From: Sughosha Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Fri, 16 Jun 2023 14:07:02 +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.16869244157836 (code B ref 56140); Fri, 16 Jun 2023 14:07:02 +0000 Received: (at 56140) by debbugs.gnu.org; 16 Jun 2023 14:06:55 +0000 Received: from localhost ([127.0.0.1]:50098 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qAA6I-00022J-E3 for submit@debbugs.gnu.org; Fri, 16 Jun 2023 10:06:54 -0400 Received: from mail-40130.protonmail.ch ([185.70.40.130]:24579) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qAA6G-00021x-6W for 56140@debbugs.gnu.org; Fri, 16 Jun 2023 10:06:52 -0400 Date: Fri, 16 Jun 2023 14:06:40 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=proton.me; s=protonmail; t=1686924405; x=1687183605; bh=As6rf9paeovZPBBNZRdvKk0ZIDg9AKl1JLAjMA4+CTw=; h=Date:To:From:Cc:Subject:Message-ID:Feedback-ID:From:To:Cc:Date: Subject:Reply-To:Feedback-ID:Message-ID:BIMI-Selector; b=dUhSSYBNwopwdne5qK2DERtIPBECCFTh55P3bt6IIsUND0oTqdEOmjaDcXDrX3P40 8bhpS3nI10FlYwfP/q65qhO+JCmILIT7OJ8CIntfGb92uf0peB8Iou6MxDomn83gxL DfspF2fRq1yw01T4ML5lnESNnia7+2gm2zCDrBPj60H46lEGIjRkHZII2V5Bl25EKa 1KF7j/Wub+i0bqXHbIy7SogHvUMZpyNHnXG1t7qI7vL4XYI8X05T8lmkI7q7AZT9Ct UQxHfy6rhxpnTE7pRFHQeCS/sb+et2u/rKk/Ol6yx3ATSuo73SNVCsnhvq9sjNE55W snAPz0g2eT7sg== Message-ID: 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 | 154 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 154 insertions(+) diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 2e7eddafb0..89b46bd627 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -6344,6 +6344,160 @@ (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)) + (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")