From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) Subject: Re: [GSoC] Package management from Emacs Date: Wed, 05 Mar 2014 19:44:57 +0100 Message-ID: <878usoxz6e.fsf@gnu.org> References: <87d2i52fvq.fsf@gnu.org> <87ppm2hpna.fsf@gnu.org> <87siqxhvxy.fsf_-_@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:60118) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WLGoT-0007N9-Im for guix-devel@gnu.org; Wed, 05 Mar 2014 13:45:10 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WLGoO-0002fw-7G for guix-devel@gnu.org; Wed, 05 Mar 2014 13:45:05 -0500 In-Reply-To: <87siqxhvxy.fsf_-_@gnu.org> (Xue Fuqiao's message of "Wed, 05 Mar 2014 16:49:13 +0800") List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: Xue Fuqiao Cc: guix-devel@gnu.org Xue Fuqiao skribis: > Here's my (tentative) plan of this project: Thanks for sharing your thoughts! > 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. There should also be a link to jump to the package definition, pretty much like that of Emacs=E2=80=99 and Geiser=E2=80=99s docstring buffers. Optionally, the package=E2=80=99s logo could be displayed too (see build-aux/list-packages.scm, which does that for the HTML output.) Also, I think there should be a search facility, with incremental search fashion. For instance, you could type =E2=80=98S=E2=80=99, enter a =E2=80= =9CC lib=E2=80=9D, and that would restrict the package list to the packages that show up in =E2=80=98gu= ix package -S "C lib"=E2=80=99. > `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. Perfect. Ideally, new packages (obtained via =E2=80=98guix pull=E2=80=99) would show= up first, highlighted, as with package.el. That requires support from =E2=80=98guix pull=E2=80=99, but that=E2=80=99s on the to-do list. > 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: [...] Yes, perfect. > `r' > Refresh the package list (`guix-refresh'). This recomputes the > package list. Perhaps there should be something that runs =E2=80=98guix pull=E2=80=99 too= (it=E2=80=99s like =E2=80=98apt-get update=E2=80=99)? > `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?) OK for =E2=80=98R=E2=80=99. We don=E2=80=99t need a roll-back mark, I think, because you=E2=80=99re rol= ling back to the previous generation; it=E2=80=99s not a per-package operation. I was thinking it would also be neat to have a way to visualize generations, basically a =E2=80=9Cgraphical=E2=80=9D and interactive repres= entation of what =E2=80=98guix package --list-generations=E2=80=99 provides. That woul= d show, for instance, the date of the generations and the changes compared to the previous one, and would make it easy to roll back to a specific generation. Perhaps we can keep that last thing as an bonus work item. How do you feel about it? Thanks! Ludo=E2=80=99.