diff mbox series

[bug#70917] gnu: Add emacs-helm-org-ql.

Message ID 20240513104938.13078-1-ngraves@ngraves.fr
State New
Headers show
Series [bug#70917] gnu: Add emacs-helm-org-ql. | expand

Commit Message

Nicolas Graves May 13, 2024, 10:49 a.m. UTC
* 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
---
 gnu/packages/emacs-xyz.scm | 36 +++++++++++++++++++++++++++++++++---
 1 file changed, 33 insertions(+), 3 deletions(-)

Comments

Andrew Tropin May 14, 2024, 11:08 a.m. UTC | #1
On 2024-05-13 12:49, Nicolas Graves via Guix-patches via wrote:

> * 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
> ---
>  gnu/packages/emacs-xyz.scm | 36 +++++++++++++++++++++++++++++++++---
>  1 file changed, 33 insertions(+), 3 deletions(-)
>
> diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
> index 9e3bd5ae647..861402f9f52 100644
> --- a/gnu/packages/emacs-xyz.scm
> +++ b/gnu/packages/emacs-xyz.scm
> @@ -23860,15 +23860,18 @@ (define-public emacs-org-ql
>      (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,33 @@ (define-public emacs-org-ql
>  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

Changed package/inherit macro to (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")

Applied, pushed as
https://git.savannah.gnu.org/cgit/guix.git/commit/?id=a682ddd708, thank
you!
diff mbox series

Patch

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 9e3bd5ae647..861402f9f52 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -23860,15 +23860,18 @@  (define-public emacs-org-ql
     (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,33 @@  (define-public emacs-org-ql
 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")