Federico Beffa <be...@ieee.org> skribis: > If found a few times the need to download a single, uncompressed file > which needs to be patched. The available fetch methods do not appear > to be appropriate. So, I've added the function > 'uncompressed-file-fetch'. This and the function > 'broken-tarball-fetch' which currently resides in 'engineering.scm' > should probably belong to '(guix build utils)'.
Rather (guix download). > From 6035d4dfd7542a615fbd70bd80527c15424185a3 Mon Sep 17 00:00:00 2001 > From: Federico Beffa <be...@fbengineering.ch> > Date: Sat, 26 Dec 2015 11:02:01 +0100 > Subject: [PATCH 4/6] gnu: Add emacs-constants. > > * gnu/packages/emacs.scm (emacs-constants): New variable. > * gnu/packages/patches/emacs-constants-lisp-like.patch: New patch. > * gnu-system.am (dist_patch_DATA): Add it. [...] > +(define* (uncompressed-file-fetch url hash-algo hash > + #:optional name > + #:key (system (%current-system)) > + (guile (default-guile))) > + (mlet %store-monad ((drv (url-fetch url hash-algo hash name > + #:system system > + #:guile guile))) > + (gexp->derivation (or name (basename url)) > + #~(begin > + (mkdir #$output) > + (setenv "PATH" > + (string-append #$gzip "/bin")) > + (chdir #$output) > + (copy-file #$drv (basename #$url)))))) The dependency on gzip can be removed. Also, the second derivation is okay, but kind of wasteful: it only serves to move the file in a directory so the patch-application logic can work. However, I’m unsure the patch in question really belongs here. After all, there’s just one file, and additionally it’s called ‘constants.el’! ;-) > diff --git a/gnu/packages/patches/emacs-constants-lisp-like.patch > b/gnu/packages/patches/emacs-constants-lisp-like.patch > new file mode 100644 > index 0000000..5ec37f3 > --- /dev/null > +++ b/gnu/packages/patches/emacs-constants-lisp-like.patch > @@ -0,0 +1,81 @@ > +Add Scheme support This is too terse, and I feel like the patch really does upstream work. It seems that the file has a new home (or is it just a mirror?) at https://github.com/emacsmirror/constants/blob/master/constants.el Is the patch yours? If yes, could you find an upstream to submit it too? If there’s no such thing, you could always become the upstream. ;-) Thanks, Ludo’.