From: ng0 <n...@we.make.ritual.n0.is> * gnu/packages/music.scm (supercollider): New variable. --- gnu/packages/music.scm | 77 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+)
diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index b8b97eb14..3b4d5f320 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -8,6 +8,7 @@ ;;; Copyright © 2016 Kei Kebreau <k...@openmailbox.org> ;;; Copyright © 2016 John J. Foerch <jjfoe...@earthlink.net> ;;; Copyright © 2016 Alex Griffin <a...@ajgrf.com> +;;; Copyright © 2016 ng0 <n...@we.make.ritual.n0.is> ;;; ;;; This file is part of GNU Guix. ;;; @@ -39,6 +40,7 @@ #:use-module (gnu packages algebra) #:use-module (gnu packages apr) #:use-module (gnu packages audio) + #:use-module (gnu packages avahi) #:use-module (gnu packages autotools) #:use-module (gnu packages backup) #:use-module (gnu packages base) ;libbdf @@ -76,6 +78,7 @@ #:use-module (gnu packages libffi) #:use-module (gnu packages llvm) #:use-module (gnu packages man) + #:use-module (gnu packages maths) #:use-module (gnu packages mp3) #:use-module (gnu packages mpd) #:use-module (gnu packages ncurses) @@ -91,6 +94,7 @@ #:use-module (gnu packages readline) #:use-module (gnu packages rsync) #:use-module (gnu packages sdl) + #:use-module (gnu packages serialization) #:use-module (gnu packages tcl) #:use-module (gnu packages texinfo) #:use-module (gnu packages tex) @@ -2769,3 +2773,76 @@ collections and wantlists, inventory, and orders.") (define-public python2-discogs-client (package-with-python2 python-discogs-client)) + +(define-public supercollider + (package + (name "supercollider") + (version "3.7.2") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/supercollider/supercollider/" + "releases/download/Version-" version + "/SuperCollider-" version "-Source-linux.tar.bz2")) + (file-name (string-append name "-" version ".tar.bz2")) + (sha256 + (base32 + "1mybxcnl7flliz74kdfnvh18v5dwd9zbdsw2kc7wpl4idcly1n0s")))) + (build-system cmake-build-system) + ;; TODO: + ;; Dependencies for the QT5 ide: + ;; qt, qtdeclarative, qttools, qt-qtwebkit + ;; Dependency for wiimote: + ;; cwiid + (inputs + `(("jack-1" ,jack-1) + ("boost" ,boost) + ("curl" ,curl) ; ??? + ("gedit" ,gedit) ; sc_ed + ("libsndfile" ,libsndfile) + ("yaml-cpp" ,yaml-cpp) + ("fftw" ,fftw) + ("libxt" ,libxt) + ("alsa-lib" ,alsa-lib) + ("eudev" ,eudev) + ("emacs-minimal" ,emacs-minimal) ; scel + ("readline" ,readline) + ("openlibm" ,openlibm) + ("python" ,python) + ("avahi" ,avahi))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (arguments + `(;;#:tests? #f ; Disabled until it suceeds. + #:configure-flags + (list ;;"-DCMAKE_BUILD_TYPE=Release" + "-DSTATIC_LIBS=OFF" + "-DSYSTEM_YAMLCPP=ON" + "-DSYSTEM_BOOST=ON" + "-DFFT_GREEN=OFF" + "-DSC_QT=OFF" "-DSC_IDE=OFF"))) + (synopsis "Environment and programming language for real time audio synthesis") + (description + "SuperCollider is a platform for audio synthesis and algorithmic composition, +used by musicians, artists, and researchers working with sound. + +SuperCollider features three major components: +@enumerate +@item scsynth, a real-time audio server, forms the core of the platform. + It features unit generators (\"UGens\") for analysis, synthesis, + and processing. Its granularity allows the fluid combination of + many known and unknown audio techniques, moving between additive + and subtractive synthesis, FM, granular synthesis, FFT, and + physical modelling. +@item sclang, an interpreted programming language. It is focused on + sound, but not limited to any specific domain. sclang controls + scsynth via Open Sound Control. You can use it for algorithmic + composition and sequencing, finding new sound synthesis methods, + connecting your app to external hardware including MIDI + controllers, network music, writing GUIs and visual displays, or + for your daily programming experiments. It has a stock of + user-contributed extensions called Quarks. +@item scide is an editor for sclang with an integrated help system. +@end enumerate\n") + (home-page "https://supercollider.github.io/") + (license license:gpl3+))) -- 2.11.0