diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index b1f0564160..bab9d66a2d 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -1952,7 +1952,7 @@ also play midifiles using a Soundfont.") (define-public faust-2 (package (inherit faust) - (version "2.5.23") + (version "2.41.1") (source (origin (method url-fetch) (uri (string-append "https://github.com/grame-cncm/faust/" @@ -1960,15 +1960,29 @@ also play midifiles using a Soundfont.") "/faust-" version ".tar.gz")) (sha256 (base32 - "1yz5jnr76hh7rmxkpdi7gyrw1wp4gyqfpq8zyl97qdi5ga5gjznq")))) - (build-system gnu-build-system) + "0gk8ifxrbykq7ay0nvjns8fjryhp0wfhv5npgrl8xpgw9wfmw53j")))) + (build-system cmake-build-system) (arguments - (substitute-keyword-arguments (package-arguments faust) - ((#:make-flags flags) - `(list (string-append "prefix=" (assoc-ref %outputs "out")) - "world")))) + `(#:tests? #f ; no tests + #:phases + (modify-phases %standard-phases + ;; The upstream package uses make to run cmake during the build stage. + ;; Here we ignore the Makefile and call cmake directly. + (replace 'configure + (lambda _ + (chdir "build") + (invoke "cmake" "-C" "backends/all.cmake" + (string-append "-DCMAKE_INSTALL_PREFIX=" + (assoc-ref %outputs "out"))))) + ;; The sound2faust tool would be built in the Makefile's "world" target + (add-after 'install 'sound2faust + (lambda _ + (chdir "../tools/sound2faust") + (setenv "PREFIX" (assoc-ref %outputs "out")) + (invoke "make") + (invoke "make" "install")))))) (native-inputs - `(("llvm" ,llvm-3.8) + `(("llvm" ,llvm) ("which" ,which) ("xxd" ,xxd) ("ctags" ,emacs-minimal) ; for ctags