unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Xue Fuqiao <xfq@gnu.org>
To: guix-devel@gnu.org
Subject: Re: [GSoC] Package management from Emacs
Date: Wed, 05 Mar 2014 16:49:13 +0800	[thread overview]
Message-ID: <87siqxhvxy.fsf_-_@gnu.org> (raw)
In-Reply-To: 87ppm2hpna.fsf@gnu.org

[-- Attachment #1: Type: text/plain, Size: 2947 bytes --]

Here's my (tentative) plan of this project:

This package (guix.el) will include a facility that lets you easily
install (by name or by expression), remove, upgrade, and roll back
packages.  Of course, guix.el can also list the available and/or
installed packages.

The command `guix-describe-package' (I haven't come up with a good key
binding yet) can prompt for the name of a package, and display a help
buffer describing the package.  The buffer includes the name, version,
source, dependencies, home page, license(s) and other descriptions of
the package.

`M-x guix-list-packages' will bring up a buffer named `*Guix Packages*'
with a list of all packages.  You can install or uninstall packages via
this buffer.  *Note my attached image for the prototype of this buffer.

The `*Guix Packages*' buffer will list all the packages that Guix knows
about, one on each line, with the following information:

   * The package name (e.g., `emacs').

   * The package's version number (e.g., `24.3').

   * The package's status (installed/available).

   * A short description of the package.

The following commands will be available in the `*Guix Packages*' buffer:

`h'
     Print a short message summarizing how to use guix.el
     (`guix-quick-help').

`?'
`<RET>'
     Display a help buffer for the package on the current line
     (`guix-describe-package'), similar to the help window
     displayed by the `C-h P' command.

`i'
     Mark the package on the current line for installation
     (`guix-mark-install').  If the package status is `available', this
     adds an `I' character to the start of the line; typing `x' (see
     below) will download and install the package.

`d'
     Mark the package on the current line for deletion
     (`guix-mark-delete').  If the package status is `installed', this
     adds a `D' character to the start of the line; typing `x' (see
     below) will delete the package.

`u'
     Remove any installation or deletion mark previously added to the
     current line by an `i' or `d' command.

`U'
     Mark all package with a newer available version for “upgrading”
     (`guix-mark-upgrades').  This places an installation mark on the
     new available versions, and a deletion mark on the old installed
     versions.

`x'
     Download and install all packages marked with `i', and their
     dependencies; also, delete all packages marked with `d'
     (`guix-execute').  This also removes the marks.

`r'
     Refresh the package list (`guix-refresh').  This recomputes the
     package list.

`R'
     Roll back to the previous generation of the profile
     (`guix-roll-back').  This undo the last transaction.  (Do we need a
     "roll back" mark?)

For example, you can install a package by typing `i' on the line listing
that package, followed by `x'.

One can also use the command `M-x guix-package-install' and `M-x
guix-package-remove' to install/remove a package.

Any comments?


[-- Attachment #2: guix.el --]
[-- Type: image/png, Size: 75455 bytes --]

[-- Attachment #3: Type: text/plain, Size: 40 bytes --]


-- 
http://www.gnu.org/software/emacs/

  parent reply	other threads:[~2014-03-05  8:49 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-03-02  7:56 About GSoC 2014 Xue Fuqiao
2014-03-03 22:40 ` Ludovic Courtès
2014-03-04  8:11   ` Xue Fuqiao
2014-03-05  8:49   ` Xue Fuqiao [this message]
2014-03-05 18:44     ` [GSoC] Package management from Emacs Ludovic Courtès
2014-03-05 23:39       ` Grim Schjetne
2014-03-06  5:30         ` Xue Fuqiao
2014-03-06 10:54         ` Ludovic Courtès
2014-03-06 22:37           ` Xue Fuqiao
2014-03-07  8:49             ` Ludovic Courtès
2014-03-06  3:24       ` Xue Fuqiao

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87siqxhvxy.fsf_-_@gnu.org \
    --to=xfq@gnu.org \
    --cc=guix-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).