summary refs log tree commit diff
path: root/gnu/packages
diff options
context:
space:
mode:
authorPierre Langlois <pierre.langlois@gmx.com>2020-10-03 12:13:50 +0100
committerPierre Langlois <pierre.langlois@gmx.com>2020-10-06 20:40:17 +0100
commit38094a4f8d56ea8f3ce200a88a2a11885c929348 (patch)
tree312442c8303e75ca551f43a96f4a61b163b18fe3 /gnu/packages
parent50110a1aa5521f286dc3cfd2571c0050eae751f3 (diff)
downloadguix-38094a4f8d56ea8f3ce200a88a2a11885c929348.tar.gz
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.
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/emacs-xyz.scm31
1 files changed, 28 insertions, 3 deletions
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index cae4c80ac2..8a9089faf1 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -9857,7 +9857,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)
@@ -9884,8 +9888,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.
@@ -9893,6 +9896,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")