[Top][All Lists]

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

Re: [PATCH] Emacs interface for Guix

From: Ludovic Courtès
Subject: Re: [PATCH] Emacs interface for Guix
Date: Tue, 12 Aug 2014 16:19:34 +0200
User-agent: Gnus/5.130011 (Ma Gnus v0.11) Emacs/24.3 (gnu/linux)

Alex Kost <address@hidden> skribis:

> Thanks for pointing.  I've never contributed to a real project, so I
> don't know the rules actually :)

No problem.  :-)  There might still be unwritten rules, but we can fix
that as we go.

> From af4b8495969d70d59aa9f3f296628daeaf80b0d2 Mon Sep 17 00:00:00 2001
> From: Alex Kost <address@hidden>
> Date: Tue, 12 Aug 2014 12:32:16 +0400
> Subject: [PATCH 1/2] profiles: Add 'manifest-add'.
> * guix/profiles.scm (manifest-add): New procedure.
> * tests/profiles.scm (guile-1.8.8): New variable.
>   ("manifest-add"): New test.

Perfect.  I’ve pushed it, followed by a patch that changes
guix/scripts/package.scm to use ‘manifest-add’ (comments welcome.)

> From 5fd45b3f4216921837f522d56b20c4be0a58fe8e Mon Sep 17 00:00:00 2001
> From: Alex Kost <address@hidden>
> Date: Tue, 12 Aug 2014 13:54:23 +0400
> Subject: [PATCH 2/2] guix package: Add 'process-package-actions'.
> * guix/scripts/package.scm (process-package-actions): New procedure.
>   (guix-package): Use it.
>   [ensure-default-profile]: Move to top-level.
>   [substitutes?]: New variable.
>   [same-package?]: Remove.
>   (options->installable, options->removable): Change according to
>   'process-package-actions'.

This patch would need to be rebased on top of f48624f.

Were you planning on using ‘process-package-actions’ in the Emacs

That seems like a coarse-grain and clumsy interface.  Perhaps there are
tinier parts of it that could be moved to (guix profiles)?  For
instance, there’s no ‘manifest-upgrade’ at the moment.

What about introducing a <manifest-transaction> type that would contain
a list of packages to install, to remove, and to upgrade, and we could do:

  ;; Show what will/would be installed, removed, etc.
  (show-transaction manifest transaction #:dry-run? bool)

  ;; Do the installation/removal/upgrades listed in TRANSACTION, and
  ;; return the new manifest.
  (manifest-perform-transaction manifest transaction)



reply via email to

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