From 35b1ff862ef66c756ed01755552f977a98138cdd Mon Sep 17 00:00:00 2001 From: Pierre Langlois Date: Sat, 3 Oct 2020 12:13:50 +0100 Subject: [PATCH] gnu: Add emacs-ob-sclang. Remove emacs-org-contrib's dependency on SuperCollider by extracting ob-sclang.el into its own package. * gnu/packages/emacs-xyz.scm (emacs-org-contrib)[source]: Add snippet that deletes ob-sclang.el. [propagated-inputs]: Remove emacs-scel. (emacs-ob-sclang): New variable. --- gnu/packages/emacs-xyz.scm | 31 ++++++++++++++++++++++++++++--- 1 file changed, 28 insertions(+), 3 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index e3ec431d94..66c61aa182 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -9825,7 +9825,11 @@ programming and reproducible research.") (uri (string-append "https://orgmode.org/elpa/" "org-plus-contrib-" version ".tar")) (sha256 - (base32 "1naq25g4d95cx29axx428rnpc4m9hd0j7w1l0vqwkdjyr5qfj0ab")))) + (base32 "1naq25g4d95cx29axx428rnpc4m9hd0j7w1l0vqwkdjyr5qfj0ab")) + ;; ob-sclang.el is packaged separately to avoid the dependency on + ;; SuperCollider and qtwebengine. + (modules '((guix build utils))) + (snippet '(begin (delete-file "ob-sclang.el") #t)))) (arguments `(#:modules ((guix build emacs-build-system) (guix build utils) @@ -9852,8 +9856,7 @@ programming and reproducible research.") (propagated-inputs `(("arduino-mode" ,emacs-arduino-mode) ("cider" ,emacs-cider) - ("org" ,emacs-org) - ("scel" ,emacs-scel))) + ("org" ,emacs-org))) (synopsis "Contributed packages to Org mode") (description "Org is an Emacs mode for keeping notes, maintaining TODO lists, and project planning with a fast and effective plain-text system. @@ -9861,6 +9864,28 @@ lists, and project planning with a fast and effective plain-text system. This package is equivalent to org-plus-contrib, but only includes additional files that you would find in @file{contrib/} from the git repository."))) +(define-public emacs-ob-sclang + (package + (inherit emacs-org-contrib) + (name "emacs-ob-sclang") + (source + (origin (inherit (package-source emacs-org-contrib)) + (modules '((guix build utils))) + (snippet + '(begin + (for-each (lambda (file) + (unless (equal? file "./ob-sclang.el") + (delete-file file))) + (find-files "." "\\.el")) + #t)))) + (propagated-inputs + `(("org" ,emacs-org) + ("scel" ,emacs-scel))) + (synopsis "Org-babel support for SuperCollider") + (description "This package adds support for evaluating @code{sclang} +Org-mode source blocks. It is extracted from the @code{emacs-org-contrib} +package."))) + (define-public emacs-org-edna (package (name "emacs-org-edna") -- 2.28.0