summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
authorGiacomo Leidi <goodoldpaul@autistici.org>2020-05-01 00:24:52 +0200
committerMathieu Othacehe <m.othacehe@gmail.com>2020-05-03 10:31:34 +0200
commit6241eacd708ee82da0fad6b8a9fc867cc82f926c (patch)
treeef61dd02dae26a52a45bdef428f88db32bb1d4fc /gnu
parent1463079a2dc855df2274a2429dd48adc4d31ffdb (diff)
downloadguix-6241eacd708ee82da0fad6b8a9fc867cc82f926c.tar.gz
gnu: supercollider: Enable SCClassLibrary library lookup.
This hardcodes the path of SCClassLibrary to fix a lookup error that was
preventing SCServer's boot.

* gnu/packages/audio.scm (supercollider)[source]: Fetch via git,
[arguments]: build release target and add a new 'patch-scclass-dir phase to
hardcode SCClassLibrary path.

Signed-off-by: Mathieu Othacehe <m.othacehe@gmail.com>
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/audio.scm31
1 files changed, 23 insertions, 8 deletions
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index f518fb7f21..3a452f1458 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -31,6 +31,7 @@
 ;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
 ;;; Copyright © 2020 Guillaume Le Vaillant <glv@posteo.net>
 ;;; Copyright © 2020 Jonathan Frederickson <jonathan@terracrypt.net>
+;;; Copyright © 2020 Giacomo Leidi <goodoldpaul@autistici.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -2320,18 +2321,20 @@ background file post-processing.")
     (name "supercollider")
     (version "3.10.4")
     (source (origin
-              (method url-fetch)
-              (uri (string-append
-                    "https://github.com/supercollider/supercollider"
-                    "/releases/download/Version-" version
-                    "/SuperCollider-" version "-Source-linux.tar.bz2"))
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/supercollider/supercollider.git")
+                    (commit (string-append "Version-" version))
+                    ;; for nova-simd, nova-tt, hidapi, TLSF, oscpack
+                    (recursive? #t)))
+              (file-name (git-file-name name version))
               (sha256
                (base32
-                "0x11g3pfw11m6v18qfpfl5w99dbmf73g4z7wvwhrj1a4qv2dn084"))))
+                "0xdg1dx0y0agircnkn4bg3jpw184xc5pn28k7rrzgjh1rdnyzz24"))))
     (build-system cmake-build-system)
     (arguments
      `(#:configure-flags '("-DSYSTEM_BOOST=on" "-DSYSTEM_YAMLCPP=on"
-                           "-DSC_QT=off"
+                           "-DSC_QT=off" "-DCMAKE_BUILD_TYPE=Release"
                            "-DSC_EL=off") ;scel is packaged individually as
                                           ;emacs-scel
        #:modules ((guix build utils)
@@ -2369,7 +2372,19 @@ background file post-processing.")
                (("add_subdirectory\\(sclang\\)")
                 ""))
              (delete-file "testsuite/sclang/CMakeLists.txt")
-             #t)))))
+             #t))
+         (add-after 'disable-broken-tests 'patch-scclass-dir
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (scclass-dir
+                     (string-append out
+                                    "/share/SuperCollider/SCClassLibrary")))
+               (substitute* "lang/LangSource/SC_LanguageConfig.cpp"
+                 (((string-append
+                    "SC_Filesystem::instance\\(\\)\\.getDirectory"
+                    "\\(DirName::Resource\\) / CLASS_LIB_DIR_NAME"))
+                  (string-append "Path(\"" scclass-dir "\")")))
+               #t))))))
     (native-inputs
      `(("pkg-config" ,pkg-config)))
     (inputs