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>
This commit is contained in:
Giacomo Leidi 2020-05-05 22:27:16 +02:00 committed by Marius Bakke
parent 17aa4eb4e1
commit 409d2907b8
No known key found for this signature in database
GPG key ID: A2A06DF2A33A54FA

View file

@ -2320,7 +2320,7 @@ (define-public qjackrcd
(define-public supercollider (define-public supercollider
(package (package
(name "supercollider") (name "supercollider")
(version "3.10.4") (version "3.11.0")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -2331,11 +2331,15 @@ (define-public supercollider
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0xdg1dx0y0agircnkn4bg3jpw184xc5pn28k7rrzgjh1rdnyzz24")))) "02v911w2kdbg3kfl593lb2ig4sjbfxzv20a0vbcymhfzpvp1x6xp"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(outputs
'("out" ;core language
"ide")) ;qt ide
(arguments (arguments
`(#:configure-flags '("-DSYSTEM_BOOST=on" "-DSYSTEM_YAMLCPP=on" `(#: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 "-DSC_EL=off") ;scel is packaged individually as
;emacs-scel ;emacs-scel
#:modules ((guix build utils) #:modules ((guix build utils)
@ -2356,6 +2360,9 @@ (define-public supercollider
(lambda (x) (lambda (x)
(and (eq? (stat:type (stat x)) 'directory) (and (eq? (stat:type (stat x)) 'directory)
(not (member (basename x) keep-dirs)))))))) (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)) #t))
;; Some tests are broken (see: ;; Some tests are broken (see:
;; https://github.com/supercollider/supercollider/issues/3555 and ;; https://github.com/supercollider/supercollider/issues/3555 and
@ -2367,8 +2374,6 @@ (define-public supercollider
"") "")
(("perf_counter_test.cpp") (("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" (substitute* "testsuite/CMakeLists.txt"
(("add_subdirectory\\(sclang\\)") (("add_subdirectory\\(sclang\\)")
"")) ""))
@ -2385,9 +2390,20 @@ (define-public supercollider
"SC_Filesystem::instance\\(\\)\\.getDirectory" "SC_Filesystem::instance\\(\\)\\.getDirectory"
"\\(DirName::Resource\\) / CLASS_LIB_DIR_NAME")) "\\(DirName::Resource\\) / CLASS_LIB_DIR_NAME"))
(string-append "Path(\"" scclass-dir "\")"))) (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)))))) #t))))))
(native-inputs (native-inputs
`(("pkg-config" ,pkg-config))) `(("ableton-link" ,ableton-link)
("pkg-config" ,pkg-config)
("qttools" ,qttools)))
(inputs (inputs
`(("jack" ,jack-1) `(("jack" ,jack-1)
("libsndfile" ,libsndfile) ("libsndfile" ,libsndfile)
@ -2400,7 +2416,14 @@ (define-public supercollider
("icu4c" ,icu4c) ("icu4c" ,icu4c)
("boost" ,boost) ("boost" ,boost)
("boost-sync" ,boost-sync) ("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") (home-page "https://github.com/supercollider/supercollider")
(synopsis "Synthesis engine and programming language") (synopsis "Synthesis engine and programming language")
(description "SuperCollider is a synthesis engine (@code{scsynth} or (description "SuperCollider is a synthesis engine (@code{scsynth} or