gnu: Add distrho-ports.
* gnu/packages/music.scm (distrho-ports): New variable. Signed-off-by: Ricardo Wurmus <rekado@elephly.net>
This commit is contained in:
parent
cf2a8755db
commit
a61d86ccaf
1 changed files with 164 additions and 0 deletions
|
@ -6350,6 +6350,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)
|
||||
(let ((fonts (search-input-directory inputs "/etc/fonts")))
|
||||
(with-directory-excursion "libs"
|
||||
(substitute* (find-files "." "juce_linux_Fonts.cpp$")
|
||||
(("/usr/share/fonts") fonts)))))))))
|
||||
(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 audio 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
|
||||
"file:///ports-juce5/stereosourceseparation/\
|
||||
source/kiss_fft/kiss_fft.c")
|
||||
;; dRowAudio uses a non-copyleft license for curl.
|
||||
(license:non-copyleft
|
||||
"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")
|
||||
|
|
Loading…
Reference in a new issue