summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
authorGiacomo Leidi <goodoldpaul@autistici.org>2020-05-05 22:27:16 +0200
committerMarius Bakke <mbakke@fastmail.com>2020-05-06 22:49:56 +0200
commit409d2907b84bc50dd05b73a763e7e276879c6734 (patch)
treedb4ca4edc778ac06354b93edefeca9eef2736329 /gnu
parent17aa4eb4e1e36304c5e7c3eaf36a2bca30cd17c8 (diff)
downloadguix-409d2907b84bc50dd05b73a763e7e276879c6734.tar.gz
gnu: supercollider: Update to 3.11.0.
This also restores IDE support.

* gnu/packages/audio.scm (supercollider): Update to 3.11.0.
[outputs]: Add an "ide" output.
[configure-flags]: Enable Qt IDE, fortify source and build scsynth as a
shared library.
[phases]: Do not delete no longer existing failing tests and add
an 'install-ide phase.
[native-inputs]: Add qttools and ableton-link.
[inputs]: Add qtbase, qtdeclarative, qtsvg, qtwebchannel and qtwebsockets.
[propagated-inputs]: Add qtwebengine.

Signed-off-by: Marius Bakke <mbakke@fastmail.com>
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/audio.scm37
1 files changed, 30 insertions, 7 deletions
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 922df4b356..02d58f552e 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -2320,7 +2320,7 @@ background file post-processing.")
 (define-public supercollider
   (package
     (name "supercollider")
-    (version "3.10.4")
+    (version "3.11.0")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -2331,11 +2331,15 @@ background file post-processing.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "0xdg1dx0y0agircnkn4bg3jpw184xc5pn28k7rrzgjh1rdnyzz24"))))
+                "02v911w2kdbg3kfl593lb2ig4sjbfxzv20a0vbcymhfzpvp1x6xp"))))
     (build-system cmake-build-system)
+    (outputs
+     '("out"   ;core language
+       "ide")) ;qt ide
     (arguments
      `(#:configure-flags '("-DSYSTEM_BOOST=on" "-DSYSTEM_YAMLCPP=on"
-                           "-DSC_QT=off" "-DCMAKE_BUILD_TYPE=Release"
+                           "-DSC_QT=ON" "-DCMAKE_BUILD_TYPE=Release"
+                           "-DFORTIFY=ON" "-DLIBSCSYNTH=ON"
                            "-DSC_EL=off") ;scel is packaged individually as
                                           ;emacs-scel
        #:modules ((guix build utils)
@@ -2356,6 +2360,9 @@ background file post-processing.")
                            (lambda (x)
                              (and (eq? (stat:type (stat x)) 'directory)
                                   (not (member (basename x) keep-dirs))))))))
+             (substitute* "lang/CMakeLists.txt"
+               (("include\\(\\.\\./external_libraries/link/AbletonLinkConfig\\.cmake\\)")
+                "find_package(AbletonLink NAMES AbletonLink ableton-link link REQUIRED)"))
              #t))
          ;; Some tests are broken (see:
          ;; https://github.com/supercollider/supercollider/issues/3555 and
@@ -2367,8 +2374,6 @@ background file post-processing.")
                 "")
                (("perf_counter_test.cpp")
                 ""))
-             (delete-file "testsuite/server/supernova/server_test.cpp")
-             (delete-file "testsuite/server/supernova/perf_counter_test.cpp")
              (substitute* "testsuite/CMakeLists.txt"
                (("add_subdirectory\\(sclang\\)")
                 ""))
@@ -2385,9 +2390,20 @@ background file post-processing.")
                     "SC_Filesystem::instance\\(\\)\\.getDirectory"
                     "\\(DirName::Resource\\) / CLASS_LIB_DIR_NAME"))
                   (string-append "Path(\"" scclass-dir "\")")))
+               #t)))
+         (add-before 'install 'install-ide
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (ide (assoc-ref outputs "ide"))
+                    (scide "editors/sc-ide/scide"))
+               (install-file scide
+                             (string-append ide "/bin"))
+               (delete-file scide)
                #t))))))
     (native-inputs
-     `(("pkg-config" ,pkg-config)))
+     `(("ableton-link" ,ableton-link)
+       ("pkg-config" ,pkg-config)
+       ("qttools" ,qttools)))
     (inputs
      `(("jack" ,jack-1)
        ("libsndfile" ,libsndfile)
@@ -2400,7 +2416,14 @@ background file post-processing.")
        ("icu4c" ,icu4c)
        ("boost" ,boost)
        ("boost-sync" ,boost-sync)
-       ("yaml-cpp" ,yaml-cpp)))
+       ("yaml-cpp" ,yaml-cpp)
+       ("qtbase" ,qtbase)
+       ("qtdeclarative" ,qtdeclarative)
+       ("qtsvg" ,qtsvg)
+       ("qtwebchannel" ,qtwebchannel)
+       ("qtwebsockets" ,qtwebsockets)))
+    (propagated-inputs                  ;to get native-search-path
+     `(("qtwebengine" ,qtwebengine)))
     (home-page "https://github.com/supercollider/supercollider")
     (synopsis "Synthesis engine and programming language")
     (description "SuperCollider is a synthesis engine (@code{scsynth} or