summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
authorNicolas Graves via Guix-patches via <guix-patches@gnu.org>2024-05-13 12:49:32 +0200
committerAndrew Tropin <andrew@trop.in>2024-05-14 13:58:05 +0300
commita682ddd70846d488cfbd82d65e8566ec6739813c (patch)
treea234589d821728757e4ccb9fb791ded33490cda4 /gnu
parent37719d3ec8db7f2380903c2ac6e4efb2e4639cc7 (diff)
downloadguix-a682ddd70846d488cfbd82d65e8566ec6739813c.tar.gz
gnu: Add emacs-helm-org-ql.
* gnu/packages/emacs-xyz.scm (emacs-helm-org-ql): New variable.
(emacs-org-ql)[phases]: Add phase 'remove-helm-org-ql.
[propagated-inputs]: Remove emacs-helm, emacs-helm-org.

The author didn't mean to make the package depend on helm :
"Note that Helm is not declared as a package dependency, so this does
not cause Helm to be installed.", but the way we packaged it in Guix
did. Split the extension into a separate dependency instead, this
avoids 3 Mo to be propagated in a profile where it's not meant.

Change-Id: I3537c0b08cfffac3d66b761173761a3806497358
Signed-off-by: Andrew Tropin <andrew@trop.in>
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/emacs-xyz.scm37
1 files changed, 34 insertions, 3 deletions
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 9e3bd5ae64..0109ff71bd 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -23860,15 +23860,18 @@ interactive commands and functions, such as @code{completing-read}.")
     (arguments
      (list
       #:tests? #f                       ;FIXME: check phase freezes
-      #:test-command #~(list "buttercup" "-L" ".")))
+      #:test-command #~(list "buttercup" "-L" ".")
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'remove-helm-org-ql
+            (lambda _
+              (delete-file "helm-org-ql.el"))))))
     (native-inputs
      (list emacs-buttercup emacs-with-simulated-input emacs-xr))
     (propagated-inputs
      (list emacs-compat
            emacs-dash
            emacs-f
-           emacs-helm
-           emacs-helm-org
            emacs-org
            emacs-org-super-agenda
            emacs-ov
@@ -23881,6 +23884,34 @@ interactive commands and functions, such as @code{completing-read}.")
 files, allowing for actions to be performed based on search criteria.")
     (license license:gpl3+)))
 
+(define-public emacs-helm-org-ql
+  (package
+    (inherit emacs-org-ql)
+    (name "emacs-helm-org-ql")
+    (arguments
+     (list
+      #:tests? #f                       ;no tests
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'remove-emacs-org-ql
+            (lambda _
+              (install-file "helm-org-ql.el" "..")
+              (let ((cwd (getcwd)))
+                (with-directory-excursion ".."
+                  (delete-file-recursively cwd)
+                  (mkdir cwd)
+                  (install-file "helm-org-ql.el" cwd))))))))
+    (propagated-inputs
+     (list emacs-dash
+           emacs-helm
+           emacs-helm-org
+           emacs-org-ql
+           emacs-s))
+    (synopsis "Helm commands for @code{emacs-org-ql}")
+    (description "This package provides @code{emacs-helm} commands for
+@{emacs-org-ql}, a Lispy query language for Org files, allowing for actions to
+be performed based on search criteria.")))
+
 (define-public emacs-bing-dict
   (package
     (name "emacs-bing-dict")