Hello Guix! Alex Kost <alez...@gmail.com> skribis:
> Carlo Zancanaro (2016-12-14 13:04 +1100) wrote: > >> I was trying to import some elpa packages recently and found some >> issues, so here are some patches to fix them. >> >> 1. call-with-downloaded-file had behaviour different to how it was >> documented to behave. This was primarily a problem when trying to import >> packages with no description (eg. color-theme-solarized on melpa). >> >> 2. Package dependencies need to be propagated so that emacs can find >> them. > >> Has anyone looked at this? This is relatively minor, but now that the >> 0.12.0 release is done I thought a ping might be appropriate. > > Thanks for pinging! I've also Cc-ed Federico and Ludovic who wrote and > changed this part of code. Sorry for the delay! >> From 0e561aee91b5d389d72906d059ddf486a322f20a Mon Sep 17 00:00:00 2001 >> From: Carlo Zancanaro <ca...@zancanaro.id.au> >> Date: Wed, 14 Dec 2016 12:31:12 +1100 >> Subject: [PATCH 1/2] import: elpa: Fix call-with-downloaded-file >> >> * guix/import/elpa.scm (call-with-downloaded-file): Make function behaviour >> match documentation string. >> --- >> guix/import/elpa.scm | 8 +++++++- >> 1 file changed, 7 insertions(+), 1 deletion(-) >> >> diff --git a/guix/import/elpa.scm b/guix/import/elpa.scm >> index 320a09e8c..5f8b7a9e5 100644 >> --- a/guix/import/elpa.scm >> +++ b/guix/import/elpa.scm >> @@ -89,7 +89,13 @@ NAMES (strings)." >> "Fetch URL, store the content in a temporary file and call PROC with that >> file. Returns the value returned by PROC. On error call ERROR-THUNK and >> return its value or leave if it's false." >> - (proc (http-fetch/cached (string->uri url)))) >> + (catch #t >> + (lambda () >> + (proc (http-fetch/cached (string->uri url)))) >> + (lambda (key . args) >> + (if error-thunk >> + (error-thunk) >> + (apply throw key args))))) > > So here you fixed a regression introduced by commit 218622a73¹, thanks! > I think it's better to call 'leave' on the last line as it was done > originally. > > ¹ > http://git.savannah.gnu.org/cgit/guix.git/commit/?id=218622a73794c3b0d0d81db9176a59125c58df41 ‘http-fetch/cached’ raises an &http-get-error condition (or a ‘getaddrinfo-error’ Guile exception), which I thought would be handled at the top level, but apparently they’re not. So I’ve applied the latest version of this change. >> From 88f23b9c369841837a83225b52e19f4c029906ab Mon Sep 17 00:00:00 2001 >> From: Carlo Zancanaro <ca...@zancanaro.id.au> >> Date: Wed, 14 Dec 2016 12:34:15 +1100 >> Subject: [PATCH 2/2] import: elpa: Import dependencies as propagated-inputs >> >> * guix/import/elpa.scm (elpa-package->sexp): Import dependencies as >> propagated-inputs. >> --- >> guix/import/elpa.scm | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/guix/import/elpa.scm b/guix/import/elpa.scm >> index 5f8b7a9e5..897ce6a69 100644 >> --- a/guix/import/elpa.scm >> +++ b/guix/import/elpa.scm >> @@ -228,7 +228,7 @@ type '<elpa-package>'." >> (bytevector->nix-base32-string (file-sha256 >> tarball)) >> "failed to download package"))))) >> (build-system emacs-build-system) >> - ,@(maybe-inputs 'inputs dependencies) >> + ,@(maybe-inputs 'propagated-inputs dependencies) >> (home-page ,(elpa-package-home-page pkg)) >> (synopsis ,(elpa-package-synopsis pkg)) >> (description ,(elpa-package-description pkg)) > > Using 'propagated-inputs' looks right to me. Applied. Thank you! Ludo’.