From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) Subject: Re: [PATCH 2/4] emacs: Add 'guix-devel-download-package-source'. Date: Sun, 04 Oct 2015 18:57:32 +0200 Message-ID: <87r3la6077.fsf@gnu.org> References: <1443791046-1015-1-git-send-email-alezost@gmail.com> <1443791046-1015-3-git-send-email-alezost@gmail.com> <87d1wvadw2.fsf@gnu.org> <87bnceah2e.fsf@gmail.com> 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]:55958) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Zimbf-0000JC-KF for guix-devel@gnu.org; Sun, 04 Oct 2015 12:57:56 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZimbP-0006QB-2K for guix-devel@gnu.org; Sun, 04 Oct 2015 12:57:39 -0400 In-Reply-To: <87bnceah2e.fsf@gmail.com> (Alex Kost's message of "Sun, 04 Oct 2015 16:39:37 +0300") 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: Alex Kost Cc: guix-devel@gnu.org Alex Kost skribis: > Ludovic Court=C3=A8s (2015-10-03 23:35 +0300) wrote: > >> Alex Kost skribis: >> >>> * emacs/guix-devel.el (guix-devel-setup-repl): Use (guix packages) modu= le. >>> (guix-devel-download-package-source): New command. >>> (guix-devel-keys-map): Add key binding for it. >>> * doc/emacs.texi (Emacs Development): Document it. >> >> [...] >> >>> +(defun guix-devel-download-package-source () >>> + "Download the source of the current package. >>> +Use this function to compute SHA256 hash of the package source." >>> + (interactive) >>> + (guix-devel-with-definition def >>> + (guix-devel-use-modules "(guix scripts download)") >>> + (when (or (not guix-operation-confirm) >>> + (y-or-n-p (format "Download '%s' package source?" def))) >>> + (guix-geiser-eval-in-repl >>> + (format "(guix-download (origin-uri (package-source %s)))" >>> + def))))) >> >> What about instead building the =E2=80=98package-source-derivation=E2=80= =99 of the >> package? That way, that would do the exact same thing as =E2=80=98guix = build >> -S=E2=80=99 and would work not only with =E2=80=98url-fetch=E2=80=99 but= also with the other >> things. >> >> WDYT? > > The goal of this command is to display a hash. So this would be something one would use as they write a package definition, to fill in the =E2=80=98sha256=E2=80=99 field, right? In that case, I would suggest something based on the URL at point rather than the origin at point. However, if this is =E2=80=9Ctoo convenient=E2=80=9D, I=E2=80=99m afraid th= is would give an incentive to not check OpenPGP signatures when they are available. > At first I also thought about building a package source and then to > calculate the hash of the store file, but this way will lead to the > wrong hashes for "snippet"-ed origins. Or do I miss anything? Well, I think bindings for =E2=80=98package-source-derivation=E2=80=99 woul= d also be useful, but IIUC this is not what you had in mind. Thanks, Ludo=E2=80=99.