[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#56140] [Patch v2 2/2]: gnu: Add distrho-ports.
From: |
Ricardo Wurmus |
Subject: |
[bug#56140] [Patch v2 2/2]: gnu: Add distrho-ports. |
Date: |
Thu, 15 Jun 2023 20:38:56 +0200 |
User-agent: |
mu4e 1.10.2; emacs 28.2 |
Hi Sughosha,
> * gnu/packages/music.scm (distrho-ports): New variable.
Thanks for the patch!
> +(define-public distrho-ports
> + (let ((commit "f2dbaded0a05732e3499fa374a586e5b32370da5")
> + (revision "0"))
> + (package
> + (name "distrho-ports")
> + (version (git-version "0.2021-03-15" revision commit))
> + (source (origin
> + (method git-fetch)
> + (uri (git-reference
> + (url "https://github.com/DISTRHO/DISTRHO-Ports")
> + ;; This commit corresponds to tag 2021-03-15
As far as I can tell the commit corresponding to the tag is actually
fe5bf2e87dd440ba98d3e8ac647b8518e2851f74.
> + (snippet
> + '(with-directory-excursion "ports-juce6"
> + ;; Delete third party libraries.
> + (for-each delete-file-recursively
> + (list "swankyamp/thirdparty"
> + "vitalium/third_party"))
> + ;; Exclude them from building.
> + (substitute*
> + (list "swankyamp/meson.build"
> + "vitalium/meson.build")
It’s nitpicking, but we seem to prefer a quoted list for substitute*.
> + #~(modify-phases %standard-phases
> + (add-after 'unpack 'patch-paths
> + (lambda* (#:key inputs #:allow-other-keys)
> + (with-directory-excursion "libs"
> + (for-each
> + (lambda (dir)
> + (substitute*
> + (string-append dir
> "/source/modules/juce_graphics"
> + "/native/juce_linux_Fonts.cpp")
> + (("/usr/share/fonts")
> + (search-input-directory inputs "/etc/fonts"))))
> + (list "juce5" "juce6" "juce7"))))))))
I’d prefer something like this:
--8<---------------cut here---------------start------------->8---
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-paths
(lambda* (#:key inputs #:allow-other-keys)
(let ((fonts (search-input-directory inputs "/etc/fonts")))
(with-directory-excursion "libs"
(substitute* (find-files "." "juce_linux_Fonts.cpp$")
(("/usr/share/fonts") fonts)))))))
--8<---------------cut here---------------end--------------->8---
More generally, I think we should not use for-each since we already have
a way to pass multiple files to substitute*.
> + (native-inputs
> + (list cmake-minimal
> + concurrentqueue
> + nlohmann-json
> + optional-lite
> + pkg-config))
Why are these libraries native inputs?
> + ;; Licenses for lv2-ttl-generator, The Function, The Pilgrim,
> + ;; juce-demo-host and juce-demo-plugin are not declared.
Then these are nonfree and should be removed. You could report this to
the maintainers and include a link to the issue here, so we can follow
up in the future.
> + (license
> + (list license:asl2.0 ;for msfa
> + license:bsd-2 ;for mingw-std-threads and dsp-utility
> + ;; There is no mention of licenses for dRowAudio plugins,
> + ;; Luftikus, PitchedDelay and ReFine in this repository, but
> the
> + ;; upstream repositories released them under MIT:
> + ;; https://github.com/drowaudio/drowaudio;
> + ;; https://github.com/lkjbdsp/lkjb-plugins.
> + license:expat ;for FFTConvolver
> + (license:fsf-free ;for Temper
> + "file:///ports-juce5/temper/source/TemperDsp.hpp")
> + license:gpl2 ;for juce-plugin, LUFS Meter and Obxd
> + ;; There is no mention of license for Wolpertinger, but the
> + ;; upstream released it under GPLv2+:
> + ;; https://github.com/jkroll20/wolpertinger.
> + license:gpl2+ ;for HiReSam, TAL plugins and Vex
> + ;; There is no mention of license for EasySSP in this
> repository,
> + ;; but the upstream repository released it under GPLv3:
> + ;; https://github.com/automatl/audio-dsp-multi-visualize.
> + license:gpl3 ;for JUCE and CHOW
The release notes for 2021-03-15 say:
CHOW has been removed from plugins to build and install
> + license:gpl3+ ;for Dexed, Swanky Amp, Vitalium and KlangFalter
> + license:lgpl2.0+ ;for DrumSynth, EQinox
> + license:lgpl3+
> + license:lgpl2.1+ ;for juce-opl
> + (license:non-copyleft ;kiss_fft
> + (string-append "file:///ports-juce5/stereosourceseparation"
> + "/source/kiss_fft/kiss_fft.c"))
> + license:wtfpl2))))) ;for FFTReal
Phew, that’s a lot. I haven’t validated any of them. Someone should do
this before applying this patch.
--
Ricardo