Subject: [PATCH] gnu: Add sc3-plugins.

From: Aleksandr Vityazev <[email-masked]>
Date: Fri, 17 Dec 2021 19:08:08 +0000

* gnu/packages/audio.scm (sc3-plugins): New variable.
---
 gnu/packages/audio.scm | 47 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 47 insertions(+)

diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 05c6354e45..d123ff5ae4 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -3021,6 +3021,53 @@ (define-public supercollider
 using Guix System.")
     (license license:gpl2+)))
 
+(define-public sc3-plugins
+  (package
+    (name "sc3-plugins")
+    (version "3.11.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/supercollider/sc3-plugins")
+             (commit (string-append "Version-" version))
+             ;; for nova-simd, TLSF, stk
+             (recursive? #t)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "1cy7g2mvmikml4dg6v4fzw6qr2yv9c94531iwxp501fr9j6z5jh8"))))
+    (build-system cmake-build-system)
+    (arguments
+     '(#:tests? #f                      ;No target
+       #:configure-flags
+       (list
+        (string-append "-DSC_PATH="
+                       (assoc-ref %build-inputs "supercollider")
+                       "/include/SuperCollider")
+        "-DCMAKE_BUILD_TYPE=Release"
+        "-DSUPERNOVA=ON")
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'configure 'patch-supercollider-version
+           (lambda* (#:key inputs #:allow-other-keys)
+             (substitute* "CMakeLists.txt"
+               (("include\\(\"\\$\\{SC_PATH\\}/SCVersion.txt\"\\)")
+                (string-append "include("
+                               (search-input-file
+                                inputs
+                                "/include/SuperCollider/SCVersion.txt") ")"))))))))
+    (native-inputs
+     (list pkg-config))
+    (inputs (list fftwf supercollider))
+    (home-page "https://github.com/supercollider/sc3-plugins")
+    (synopsis "Community plugins for SuperCollider")
+    (description "Community collection of unit generator plugins
+for @code{SuperCollider}.  An installation extends the functionality of
+@code{SuperCollider} by additional UGens that run on scsynth, the
+@code{SuperCollider} audio synthesis server.")
+    (license license:gpl2+)))
+
 (define-public libshout-idjc
   (package
     (name "libshout-idjc")
-- 
2.34.0

-- 

Aleksandr Vityazev