aboutsummaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2018-03-18 16:37:30 -0400
committerArun Isaac <arunisaac@systemreboot.net>2018-05-03 21:48:59 +0530
commit75408149721c93d99d8888920a4389c0484af4aa (patch)
tree46f1ab26760f63e441e97ec1403078f464d69770 /gnu
parent474e14f7d85b02dd84fef7963cc4bd8cb65d04e4 (diff)
downloadgnu-guix-75408149721c93d99d8888920a4389c0484af4aa.tar
gnu-guix-75408149721c93d99d8888920a4389c0484af4aa.tar.gz
gnu: Add emacs-scel.
* gnu/packages/emacs.scm (emacs-scel): New variable. Signed-off-by: Arun Isaac <arunisaac@systemreboot.net>
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/emacs.scm52
1 files changed, 52 insertions, 0 deletions
diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index 69b2084654..388ef4d3b6 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -65,6 +65,7 @@
#:use-module (gnu packages)
#:use-module (gnu packages audio)
#:use-module (gnu packages bash)
+ #:use-module (gnu packages cmake)
#:use-module (gnu packages code)
#:use-module (gnu packages databases)
#:use-module (gnu packages guile)
@@ -2746,6 +2747,57 @@ implementation in Emacs. To use it just load this file and bind that function
to a key in your preferred mode.")
(license license:public-domain))))
+(define-public emacs-scel
+ (let ((version "20170629")
+ (revision "1")
+ (commit "aeea3ad4be9306d14c3a734a4ff54fee10ac135b"))
+ (package
+ (name "emacs-scel")
+ (version (git-version version revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/supercollider/scel.git")
+ (commit commit)))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "0jvmzs1lsjyndqshhii2y4mnr3wghai26i3p75453zrpxpg0zvvw"))))
+ (build-system emacs-build-system)
+ (arguments
+ `(#:modules ((guix build emacs-build-system)
+ ((guix build cmake-build-system) #:prefix cmake:)
+ (guix build utils))
+ #:imported-modules (,@%emacs-build-system-modules
+ (guix build cmake-build-system))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'configure
+ (lambda* (#:key outputs #:allow-other-keys)
+ (substitute* "el/CMakeLists.txt"
+ (("share/emacs/site-lisp/SuperCollider")
+ (string-append
+ "share/emacs/site-lisp/guix.d/scel-" ,version)))
+ ((assoc-ref cmake:%standard-phases 'configure)
+ #:outputs outputs
+ #:configure-flags '("-DSC_EL_BYTECOMPILE=OFF"))))
+ (add-after 'set-emacs-load-path 'add-el-dir-to-emacs-load-path
+ (lambda _
+ (setenv "EMACSLOADPATH"
+ (string-append (getcwd) "/el:" (getenv "EMACSLOADPATH")))
+ #t))
+ (replace 'install (assoc-ref cmake:%standard-phases 'install)))))
+ (inputs
+ `(("supercollider" ,supercollider)))
+ (native-inputs
+ `(("cmake" ,cmake)))
+ (home-page "https://github.com/supercollider/scel")
+ (synopsis "SuperCollider Emacs interface")
+ (description "@code{emacs-scel} is an Emacs interface to SuperCollider.
+SuperCollider is a platform for audio synthesis and algorithmic composition.")
+ (license license:gpl2+))))
+
(define-public emacs-mit-scheme-doc
(package
(name "emacs-mit-scheme-doc")