[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug#43777] [PATCH] gnu: Add emacs-ob-sclang.

From: Pierre Langlois
Subject: [bug#43777] [PATCH] gnu: Add emacs-ob-sclang.
Date: Sat, 03 Oct 2020 12:17:56 +0100
User-agent: mu4e 1.4.13; emacs 27.1

Hello Guix!

Recently I realised I had to build/download qtwebengine because of
pulling in supercollider from the emacs-org-contrib package.  I thought
it'd be a good idea to package the supercollider Org-babel support into
its own package to reduce emacs-org-contrib's set of dependencies.

What do you think?


Attachment: signature.asc
Description: PGP signature

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 "";
                            "org-plus-contrib-" version ".tar"))
-        (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))))
      `(#:modules ((guix build emacs-build-system)
                   (guix build utils)
@@ -9852,8 +9856,7 @@ programming and reproducible research.")
      `(("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}
 (define-public emacs-org-edna
     (name "emacs-org-edna")

reply via email to

[Prev in Thread] Current Thread [Next in Thread]