On Sun, Aug 19, 2018 at 03:48:05PM +0200, Ludovic Courtès wrote: > Hello, > > Efraim Flashner <efr...@flashner.co.il> skribis: > > > On Thu, Aug 02, 2018 at 01:32:02PM +0200, Marius Bakke wrote: > >> Hello! > >> > >> I'm trying to add a patch to 'gzip', but it causes an infinite loop and > >> eventually the system runs out of memory. > >> > >> It can be reproduced by adding this hunk: > >> > > > >> modified gnu/packages/compression.scm > >> @@ -215,6 +215,7 @@ adding and extracting files to/from a tar archive.") > >> (method url-fetch) > >> (uri (string-append "mirror://gnu/gzip/gzip-" > >> version ".tar.xz")) > >> + (snippet '(#t)) > >> (sha256 > >> (base32 > >> "16h8g4acy7fgfxcjacr3wijjsnixwsfd2jhz3zwdi2qrzi262l5f")))) > >> > >> [back] > >> > >> I guess this is because gzip itself is a patch input. Is this something > >> that can be fixed, or do we have to use "patching phases" in these cases? > > > > Its also in commencement.scm, so that might be the loop instead. You > > could try "unpatching" it there. It looks like it has a pseudo-package > > inside of glibc-utf8-locales-final, with grep-final a few packages lower > > being potential inspiration for undoing the modifications in "real > > gzip". > > Indeed. The ‘bootstrap-origin’ procedure, defined in (gnu packages > bootstrap), arranges to use the bootstrap binaries of gzip, patch, > guile, etc. when patching origins. > > Perhaps we’re missing a use of ‘bootstrap-origin’ somewhere in (gnu > packages commencement)? >
Looks like it in the end. the gzip for glibc-utf8-locales-final uses the bootstrap guile for its building, but doesn't get the input rewriting that comes from package-with-bootstrap-guile. With this patch adding the trivial snippet to gzip doesn't cause an infinite loop anymore. Since the patch doesn't change the hash of glibc-utf8-locales-final it should be OK for master. -- Efraim Flashner <efr...@flashner.co.il> אפרים פלשנר GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 Confidentiality cannot be guaranteed on emails sent or received unencrypted
From a3b7f9851e121fd3eb5f52ff4197923553032ec7 Mon Sep 17 00:00:00 2001 From: Efraim Flashner <efr...@flashner.co.il> Date: Wed, 3 Oct 2018 10:33:23 +0300 Subject: [PATCH] gnu: glibc-utf8-locales-final: Wrap inputs with 'package-with-bootstrap-guile'. * gnu/packages/commencement.scm (glibc-utf8-locales-final)[inputs]: Wrap gzip with 'package-with-bootstrap-guile'. --- gnu/packages/commencement.scm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index 30a0ffcec..6c0f4e310 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -870,9 +870,10 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%" (inherit glibc-utf8-locales) (inputs `(("glibc" ,glibc-final) ("gzip" - ,(package-with-explicit-inputs gzip %boot4-inputs - (current-source-location) - #:guile %bootstrap-guile)))))) + ,(package-with-bootstrap-guile + (package-with-explicit-inputs gzip %boot4-inputs + (current-source-location) + #:guile %bootstrap-guile))))))) (define-public ld-wrapper ;; The final 'ld' wrapper, which uses the final Guile and Binutils. -- 2.19.0
signature.asc
Description: PGP signature