summary refs log tree commit diff
path: root/gnu/packages/music.scm
diff options
context:
space:
mode:
authorAlexandros Theodotou <alex@zrythm.org>2020-04-08 17:21:19 +0100
committerLudovic Courtès <ludo@gnu.org>2020-04-23 23:59:23 +0200
commit59be2959a652e6eaf22be5808009e1cd1400e043 (patch)
tree4d5a3ad617667e4dbf6043f14364c836521b9773 /gnu/packages/music.scm
parent62bc3c5b04d43ccd24922e45b79fab00f7298e10 (diff)
downloadguix-59be2959a652e6eaf22be5808009e1cd1400e043.tar.gz
gnu: Add wolf-shaper.
* gnu/packages/music.scm (wolf-shaper): New variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Diffstat (limited to 'gnu/packages/music.scm')
-rw-r--r--gnu/packages/music.scm57
1 files changed, 57 insertions, 0 deletions
diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index cad6bf35ea..1e44fe23d5 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -5423,3 +5423,60 @@ plugin and a standalone JACK application.")
   offers an LV2 version ported by moddevices.")
       (home-page "http://tap-plugins.sourceforge.net/")
       (license license:gpl2))))
+
+(define-public wolf-shaper
+  (package
+    (name "wolf-shaper")
+    (version "0.1.7")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/pdesaulniers/wolf-shaper.git")
+               (commit (string-append "v" version))
+               ;; Bundles a specific commit of the DISTRHO plugin framework.
+               (recursive? #t)))
+        (file-name (git-file-name name version))
+        (sha256
+          (base32
+            "0lllgcbnnh1m95bp29hh17x170hl7170zizjrvy892qfkn36830d"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:tests? #f                      ; no check target
+       #:make-flags (list "CC=gcc")
+       #:phases
+       (modify-phases %standard-phases
+         (delete 'configure)            ;no configure target
+         (replace 'install              ;no install target
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (bin (string-append out "/bin"))
+                    (lv2 (string-append out "/lib/lv2")))
+               ;; Install LV2.
+               (for-each
+                (lambda (file)
+                  (copy-recursively file
+                                    (string-append lv2 "/" (basename file))))
+                (find-files "bin" "\\.lv2$" #:directories? #t))
+               ;; Install executables.
+               (for-each
+                 (lambda (file)
+                   (install-file file bin))
+                 (find-files "bin"
+                             (lambda (name stat)
+                               (and
+                                 (equal? (dirname name) "bin")
+                                 (not (string-suffix? ".so" name))
+                                 (not (string-suffix? ".lv2" name))))))
+               #t))))))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (inputs
+      `(("jack", jack-1)
+        ("lv2", lv2)
+        ("mesa", mesa)))
+    (synopsis "Waveshaper plugin")
+    (description "Wolf Shaper is a waveshaper plugin with a graph editor.
+It is provided as an LV2 plugin and as a standalone Jack application.")
+    (home-page "https://pdesaulniers.github.io/wolf-shaper/")
+    (license license:gpl3)))