mirror of
https://codeberg.org/guix/guix.git
synced 2025-10-02 02:15:12 +00:00
gnu: Remove extempore.
* gnu/packages/music.scm (extempore): Delete variable. Change-Id: Ifd801d299c429f01dc20c1e0292243c7f7a6fb43
This commit is contained in:
parent
11dcc36d5e
commit
6ff714dfb1
1 changed files with 0 additions and 218 deletions
|
@ -1150,224 +1150,6 @@ It supports MP3, MP2, MP4/AAC, FLAC, Ogg Opus, Ogg Speex, Ogg Vorbis,
|
|||
MusePack, Monkey's Audio, and WavPack files.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public extempore
|
||||
(package
|
||||
(name "extempore")
|
||||
(version "0.8.9")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/digego/extempore")
|
||||
(commit (string-append "v" version))))
|
||||
(sha256
|
||||
(base32
|
||||
"16i12zl3g1zpx6lhg5pg821xirdf9rxx5m11b68inf83wn6hknhb"))
|
||||
(file-name (git-file-name name version))
|
||||
(patches (search-patches
|
||||
"extempore-unbundle-external-dependencies.patch"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
;; Remove bundled sources.
|
||||
(map delete-file-recursively
|
||||
'("src/pcre"))
|
||||
#t))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags (list "-DJACK=ON"
|
||||
"-DPACKAGE=ON"
|
||||
(string-append "-DEXT_SHARE_DIR="
|
||||
(assoc-ref %outputs "out")
|
||||
"/share"))
|
||||
#:modules ((ice-9 match)
|
||||
(guix build cmake-build-system)
|
||||
(guix build utils))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'build 'build-aot-libs
|
||||
(lambda _
|
||||
(for-each (lambda (target)
|
||||
(invoke "make" target))
|
||||
'("aot_base"
|
||||
"aot_math"
|
||||
"aot_instruments"))
|
||||
#t))
|
||||
(add-after 'unpack 'patch-install-locations
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(substitute* "CMakeLists.txt"
|
||||
(("EXT_SHARE_DIR=\"\\.\"\\)")
|
||||
"EXT_SHARE_DIR=\"${EXT_SHARE_DIR}/extempore\")")
|
||||
(("DESTINATION \"\\.\"\\)") "DESTINATION bin)")
|
||||
(("DESTINATION \"\\.\"\n") "DESTINATION share/extempore\n"))
|
||||
#t))
|
||||
(add-after 'unpack 'patch-directories
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(substitute* "extras/extempore.el"
|
||||
(("\\(runtime-directory \\(concat default-directory \"runtime\"\\)\\)")
|
||||
(string-append "(runtime-directory \""
|
||||
(assoc-ref outputs "out")
|
||||
"/share/extempore/runtime"
|
||||
"\")")))
|
||||
#t))
|
||||
(add-after 'unpack 'link-with-additional-libs
|
||||
(lambda _
|
||||
;; The executable must be linked with libffi and zlib.
|
||||
(substitute* "CMakeLists.txt"
|
||||
(("target_link_libraries\\(extempore PRIVATE dl" line)
|
||||
(string-append line " ffi z")))
|
||||
#t))
|
||||
;; FIXME: All examples that are used as tests segfault for some
|
||||
;; unknown reason.
|
||||
(add-after 'unpack 'disable-broken-tests
|
||||
(lambda _
|
||||
(substitute* "CMakeLists.txt"
|
||||
(("extempore_add_example_as_test\\(.*") ""))
|
||||
#t))
|
||||
(add-after 'unpack 'hardcode-external-lib-paths
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(use-modules (ice-9 match))
|
||||
(for-each
|
||||
(match-lambda
|
||||
((file-name lib pkg-name)
|
||||
(substitute* (string-append "libs/external/" file-name ".xtm")
|
||||
((lib) (string-append (assoc-ref inputs pkg-name)
|
||||
"/lib/" lib)))))
|
||||
'(("assimp" "libassimp.so" "assimp")
|
||||
("portmidi" "libportmidi.so" "portmidi")
|
||||
("sndfile" "libsndfile.so" "libsndfile")
|
||||
("fft" "libkiss_fft.so" "kiss-fft")
|
||||
("stb_image" "libstb_image.so" "stb-image")
|
||||
("nanovg" "libnanovg.so" "nanovg")
|
||||
("glext" "libGL.so" "mesa")
|
||||
("glfw3" "libglfw.so" "glfw")
|
||||
("gl/glcore-directbind" "libGL.so" "mesa")
|
||||
("gl/glcompat-directbind" "libGL.so" "mesa")))
|
||||
#t))
|
||||
(add-after 'hardcode-external-lib-paths 'hardcode-contrib-lib-paths
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* "libs/contrib/rtmidi.xtm"
|
||||
(("librtmidic.so")
|
||||
(search-input-file inputs "lib/librtmidi.so")))))
|
||||
(add-after 'unpack 'use-own-llvm
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(setenv "EXT_LLVM_DIR" (assoc-ref inputs "llvm"))
|
||||
;; Our LLVM builds shared libraries, so Extempore should use
|
||||
;; those.
|
||||
(substitute* "CMakeLists.txt"
|
||||
(("CMAKE_STATIC_LIBRARY") "CMAKE_SHARED_LIBRARY"))
|
||||
#t))
|
||||
(add-after 'unpack 'fix-aot-compilation
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(substitute* "CMakeLists.txt"
|
||||
;; Extempore needs to be told where the runtime is to be found.
|
||||
;; While we're at it we disable automatic tuning for a specific
|
||||
;; CPU to make binary substitution possible.
|
||||
(("COMMAND extempore" prefix)
|
||||
(string-append prefix " --sharedir " (getcwd)
|
||||
" --mcpu=generic --attr=none")))
|
||||
#t))
|
||||
(add-after 'unpack 'symlink-assets
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let ((assets (assoc-ref inputs "extempore-assets")))
|
||||
(symlink assets "assets")
|
||||
#t))))))
|
||||
(inputs
|
||||
`(("llvm"
|
||||
,(package
|
||||
(inherit llvm-3.8)
|
||||
(name "llvm-for-extempore")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://extempore.moso.com.au/extras/"
|
||||
"llvm-3.8.0.src-patched-for-extempore.tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1svdl6fxn8l01ni8mpm0bd5h856ahv3h9sdzgmymr6fayckjvqzs"))))))
|
||||
("extempore-assets"
|
||||
,(let ((commit "0c9f32c18169b3fbc24bc1ad66283125b54a0c85")
|
||||
(revision "0")
|
||||
(version "0.0.0"))
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/extemporelang/extempore-assets")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name "extempore-assets"
|
||||
(git-version version revision commit)))
|
||||
(sha256
|
||||
(base32 "1pxmcbngd9qx8m71d5rfsmf4h31jnsnd3wjh8vb0rwskif22xz8l")))))
|
||||
("libffi" ,libffi)
|
||||
("jack" ,jack-1)
|
||||
("libsndfile" ,libsndfile)
|
||||
("rtmidi" ,rtmidi-4.0)
|
||||
("glfw" ,glfw)
|
||||
("apr" ,apr)
|
||||
("stb-image"
|
||||
,(let ((revision "1")
|
||||
(commit "152a250a702bf28951bb0220d63bc0c99830c498"))
|
||||
(package
|
||||
(inherit stb-image)
|
||||
(name "stb-image-for-extempore")
|
||||
(version (git-version "0" revision commit))
|
||||
(source
|
||||
(origin (method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/extemporelang/stb")
|
||||
(commit commit)))
|
||||
(sha256
|
||||
(base32
|
||||
"0y0aa20pj9311x2ii06zg8xs34idg14hfgldqc5ymizc6cf1qiqv"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments `(#:tests? #f)) ;no tests included
|
||||
(inputs '()))))
|
||||
("kiss-fft" ,kiss-fft-for-extempore)
|
||||
("nanovg" ,nanovg-for-extempore)
|
||||
("portmidi"
|
||||
,(let ((version "217")
|
||||
(revision "0")
|
||||
(commit "8602f548f71daf5ef638b2f7d224753400cb2158"))
|
||||
(package
|
||||
(inherit portmidi)
|
||||
(name "portmidi-for-extempore")
|
||||
(version (git-version version revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/extemporelang/portmidi")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1qidzl1s3kzhczzm96rcd2ppn27a97k2axgfh1zhvyf0s52d7m4w"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments `(#:tests? #f)) ;no tests
|
||||
(native-inputs '()))))
|
||||
("assimp" ,assimp)
|
||||
("alsa-lib" ,alsa-lib)
|
||||
("portaudio" ,portaudio)
|
||||
("mesa" ,mesa)
|
||||
("pcre" ,pcre)
|
||||
("zlib" ,zlib)))
|
||||
(native-inputs
|
||||
`(("perl" ,perl)
|
||||
("emacs" ,emacs-no-x)))
|
||||
;; Extempore refuses to build on architectures other than x86_64
|
||||
(supported-systems '("x86_64-linux"))
|
||||
(home-page "https://github.com/digego/extempore")
|
||||
(synopsis "Programming environment for live coding of multimedia")
|
||||
(description
|
||||
"Extempore is a programming language and runtime environment designed
|
||||
with live programming in mind. It supports interactive programming in a REPL
|
||||
style, compiling and binding code just-in-time. Although Extempore has its
|
||||
roots in 'live coding' of audiovisual media art, it is suitable for any task
|
||||
domain where dynamic run-time modifiability and good numerical performance are
|
||||
required. Extempore also has strong timing and concurrency semantics, which
|
||||
are helpful when working in problem spaces where timing is important (such as
|
||||
audio and video).")
|
||||
(license license:bsd-2)))
|
||||
|
||||
(define-public flacon
|
||||
(package
|
||||
(name "flacon")
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue