gnu: supercollider: Use G-expressions.
* gnu/packages/audio.scm (supercollider)[source]: Use G-expression in snippet. [arguments]: Use G-expressions. <#:phases>: Replace `(assoc-ref outputs ...)` with `#$output`. Signed-off-by: 宋文武 <iyzsong@member.fsf.org>
This commit is contained in:
parent
c2cac2e985
commit
3972d5f03c
1 changed files with 57 additions and 57 deletions
|
@ -3462,70 +3462,70 @@ background file post-processing.")
|
||||||
;; The build system doesn't allow us to unbundle the following
|
;; The build system doesn't allow us to unbundle the following
|
||||||
;; libraries. hidapi is also heavily patched and upstream not
|
;; libraries. hidapi is also heavily patched and upstream not
|
||||||
;; actively maintained.
|
;; actively maintained.
|
||||||
'(let ((keep-dirs '("nova-simd" "nova-tt" "hidapi"
|
#~(let ((keep-dirs '("nova-simd" "nova-tt" "hidapi"
|
||||||
"TLSF-2.4.6" "oscpack_1_1_0" "." "..")))
|
"TLSF-2.4.6" "oscpack_1_1_0" "." "..")))
|
||||||
(with-directory-excursion "./external_libraries"
|
(with-directory-excursion "./external_libraries"
|
||||||
(for-each
|
(for-each
|
||||||
delete-file-recursively
|
delete-file-recursively
|
||||||
(scandir "."
|
(scandir "."
|
||||||
(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)))))))
|
||||||
;; To find the Guix provided ableton-link library.
|
;; To find the Guix provided ableton-link library.
|
||||||
(substitute* "lang/CMakeLists.txt"
|
(substitute* "lang/CMakeLists.txt"
|
||||||
(("include\\(\\.\\./external_libraries/link/\
|
(("include\\(\\.\\./external_libraries/link/\
|
||||||
AbletonLinkConfig\\.cmake\\)")
|
AbletonLinkConfig\\.cmake\\)")
|
||||||
"find_package(AbletonLink NAMES AbletonLink ableton-link \
|
"find_package(AbletonLink NAMES AbletonLink ableton-link \
|
||||||
link REQUIRED)"))))))
|
link REQUIRED)"))))))
|
||||||
(build-system cmake-build-system)
|
(build-system cmake-build-system)
|
||||||
(outputs
|
(outputs
|
||||||
'("out" ;core language
|
'("out" ;core language
|
||||||
"ide")) ;qt ide
|
"ide")) ;qt ide
|
||||||
(arguments
|
(arguments
|
||||||
`(#:configure-flags '("-DSYSTEM_BOOST=ON"
|
(list
|
||||||
"-DSYSTEM_YAMLCPP=ON"
|
#:configure-flags
|
||||||
"-DSC_QT=ON"
|
#~(list "-DSYSTEM_BOOST=ON"
|
||||||
"-DCMAKE_BUILD_TYPE=Release"
|
"-DSYSTEM_YAMLCPP=ON"
|
||||||
"-DFORTIFY=ON"
|
"-DSC_QT=ON"
|
||||||
"-DLIBSCSYNTH=ON"
|
"-DCMAKE_BUILD_TYPE=Release"
|
||||||
"-DSC_EL=OFF") ;scel is packaged individually as emacs-scel
|
"-DFORTIFY=ON"
|
||||||
#:phases
|
"-DLIBSCSYNTH=ON"
|
||||||
(modify-phases %standard-phases
|
"-DSC_EL=OFF") ;scel is packaged individually as emacs-scel
|
||||||
;; HOME must be defined otherwise supercollider throws a "ERROR:
|
#:phases
|
||||||
;; Primitive '_FileMkDir' failed." error when generating the doc.
|
#~(modify-phases %standard-phases
|
||||||
;; The graphical tests also hang without it.
|
;; HOME must be defined otherwise supercollider throws a "ERROR:
|
||||||
(add-after 'unpack 'set-home-directory
|
;; Primitive '_FileMkDir' failed." error when generating the doc.
|
||||||
(lambda _
|
;; The graphical tests also hang without it.
|
||||||
(setenv "HOME" (getcwd))))
|
(add-after 'unpack 'set-home-directory
|
||||||
(add-after 'unpack 'patch-scclass-dir
|
(lambda _
|
||||||
(lambda* (#:key outputs #:allow-other-keys)
|
(setenv "HOME" (getcwd))))
|
||||||
(let* ((out (assoc-ref outputs "out"))
|
(add-after 'unpack 'patch-scclass-dir
|
||||||
(scclass-dir
|
(lambda _
|
||||||
(string-append out
|
(let* ((scclass-dir
|
||||||
"/share/SuperCollider/SCClassLibrary")))
|
(string-append #$output
|
||||||
(substitute* "lang/LangSource/SC_LanguageConfig.cpp"
|
"/share/SuperCollider/SCClassLibrary")))
|
||||||
(((string-append
|
(substitute* "lang/LangSource/SC_LanguageConfig.cpp"
|
||||||
"SC_Filesystem::instance\\(\\)\\.getDirectory"
|
(((string-append
|
||||||
"\\(DirName::Resource\\) / CLASS_LIB_DIR_NAME"))
|
"SC_Filesystem::instance\\(\\)\\.getDirectory"
|
||||||
(string-append "Path(\"" scclass-dir "\")"))))))
|
"\\(DirName::Resource\\) / CLASS_LIB_DIR_NAME"))
|
||||||
(add-after 'patch-scclass-dir 'fix-struct-SOUNDFILE-tag
|
(string-append "Path(\"" scclass-dir "\")"))))))
|
||||||
(lambda* _
|
(add-after 'patch-scclass-dir 'fix-struct-SOUNDFILE-tag
|
||||||
(display (getcwd)) (newline)
|
(lambda _
|
||||||
(substitute* "include/plugin_interface/SC_SndBuf.h"
|
(display (getcwd)) (newline)
|
||||||
(("SNDFILE_tag")
|
(substitute* "include/plugin_interface/SC_SndBuf.h"
|
||||||
"sf_private_tag"))))
|
(("SNDFILE_tag")
|
||||||
(add-before 'build 'prepare-x
|
"sf_private_tag"))))
|
||||||
(lambda _
|
(add-before 'build 'prepare-x
|
||||||
(system "Xvfb &")
|
(lambda _
|
||||||
(setenv "DISPLAY" ":0")))
|
(system "Xvfb &")
|
||||||
(add-before 'install 'install-ide
|
(setenv "DISPLAY" ":0")))
|
||||||
(lambda* (#:key outputs #:allow-other-keys)
|
(add-before 'install 'install-ide
|
||||||
(let* ((out (assoc-ref outputs "out"))
|
(lambda _
|
||||||
(ide (assoc-ref outputs "ide"))
|
(let* ((ide #$output:ide)
|
||||||
(scide "editors/sc-ide/scide"))
|
(scide "editors/sc-ide/scide"))
|
||||||
(install-file scide
|
(install-file scide
|
||||||
(string-append ide "/bin"))
|
(string-append ide "/bin"))
|
||||||
(delete-file scide)))))))
|
(delete-file scide)))))))
|
||||||
(native-inputs
|
(native-inputs
|
||||||
(list ableton-link pkg-config qttools-5 xorg-server-for-tests))
|
(list ableton-link pkg-config qttools-5 xorg-server-for-tests))
|
||||||
(inputs (list jack-1
|
(inputs (list jack-1
|
||||||
|
|
Reference in a new issue