Re: info dir clashes
Mark H Weaver m...@netris.org skribis: Federico Beffa be...@ieee.org writes: From 06441ea6992808ef96139ab171269172dc65f2db Mon Sep 17 00:00:00 2001 From: Federico Beffa be...@fbengineering.ch Date: Sun, 5 Apr 2015 21:59:18 +0200 Subject: [PATCH] build-system/gnu: Add 'delete-info-dir-file' phase. * guix/build/gnu-build-system.scm (delete-info-dir-file): New procedure. (%standard-phases): Use it. --- guix/build/gnu-build-system.scm | 10 ++ 1 file changed, 10 insertions(+) diff --git a/guix/build/gnu-build-system.scm b/guix/build/gnu-build-system.scm index 5220bda..284d1ee 100644 --- a/guix/build/gnu-build-system.scm +++ b/guix/build/gnu-build-system.scm @@ -538,6 +538,15 @@ DOCUMENTATION-COMPRESSOR-FLAGS. (format #t not compressing documentation~%) #t))) +(define* (delete-info-dir-file #:key outputs #:allow-other-keys) + (every (match-lambda + ((output . directory) + (let ((info-dir-file (string-append directory /share/info/dir))) + (when (file-exists? info-dir-file) + (delete-file info-dir-file)) + #t))) + outputs)) In this case 'for-each' is the appropriate tool, since it ignores the results of the procedure calls, which are made only for their side effects. So you can omit the #t. Agreed. Also add a docstring please. Otherwise, looks good to me for 'core-updates'. One last thing: patch-usr-bin-file patch-source-shebangs configure patch-generated-file-shebangs build check install +delete-info-dir-file patch-shebangs strip validate-runpath validate-documentation-location The phase should go after ‘validate-documentation-location’, which is makes sure things are in share/info/ rather than info/. OK to push to ‘core-updates’ with these changes. Thanks! Ludo’.
Re: info dir clashes
On Sat, Mar 28, 2015 at 3:37 PM, Ludovic Courtès l...@gnu.org wrote: Federico Beffa be...@ieee.org skribis: given that the file .../share/info/dir creates clashes in user profiles and that it is anyway handled with the help of info-dir substitutes, shouldn't we systematically delete them with the help, e.g., of a phase in gnu-build-system? We should do that, indeed. Would you like to prepare a patch for ‘core-updates’? Finally I prepared a patch for this. Regards, Fede From 06441ea6992808ef96139ab171269172dc65f2db Mon Sep 17 00:00:00 2001 From: Federico Beffa be...@fbengineering.ch Date: Sun, 5 Apr 2015 21:59:18 +0200 Subject: [PATCH] build-system/gnu: Add 'delete-info-dir-file' phase. * guix/build/gnu-build-system.scm (delete-info-dir-file): New procedure. (%standard-phases): Use it. --- guix/build/gnu-build-system.scm | 10 ++ 1 file changed, 10 insertions(+) diff --git a/guix/build/gnu-build-system.scm b/guix/build/gnu-build-system.scm index 5220bda..284d1ee 100644 --- a/guix/build/gnu-build-system.scm +++ b/guix/build/gnu-build-system.scm @@ -538,6 +538,15 @@ DOCUMENTATION-COMPRESSOR-FLAGS. (format #t not compressing documentation~%) #t))) +(define* (delete-info-dir-file #:key outputs #:allow-other-keys) + (every (match-lambda + ((output . directory) + (let ((info-dir-file (string-append directory /share/info/dir))) + (when (file-exists? info-dir-file) + (delete-file info-dir-file)) + #t))) + outputs)) + (define %standard-phases ;; Standard build phases, as a list of symbol/procedure pairs. (let-syntax ((phases (syntax-rules () @@ -546,6 +555,7 @@ DOCUMENTATION-COMPRESSOR-FLAGS. patch-usr-bin-file patch-source-shebangs configure patch-generated-file-shebangs build check install +delete-info-dir-file patch-shebangs strip validate-runpath validate-documentation-location -- 2.2.1
Re: info dir clashes
Federico Beffa be...@ieee.org writes: From 06441ea6992808ef96139ab171269172dc65f2db Mon Sep 17 00:00:00 2001 From: Federico Beffa be...@fbengineering.ch Date: Sun, 5 Apr 2015 21:59:18 +0200 Subject: [PATCH] build-system/gnu: Add 'delete-info-dir-file' phase. * guix/build/gnu-build-system.scm (delete-info-dir-file): New procedure. (%standard-phases): Use it. --- guix/build/gnu-build-system.scm | 10 ++ 1 file changed, 10 insertions(+) diff --git a/guix/build/gnu-build-system.scm b/guix/build/gnu-build-system.scm index 5220bda..284d1ee 100644 --- a/guix/build/gnu-build-system.scm +++ b/guix/build/gnu-build-system.scm @@ -538,6 +538,15 @@ DOCUMENTATION-COMPRESSOR-FLAGS. (format #t not compressing documentation~%) #t))) +(define* (delete-info-dir-file #:key outputs #:allow-other-keys) + (every (match-lambda + ((output . directory) + (let ((info-dir-file (string-append directory /share/info/dir))) + (when (file-exists? info-dir-file) + (delete-file info-dir-file)) + #t))) + outputs)) In this case 'for-each' is the appropriate tool, since it ignores the results of the procedure calls, which are made only for their side effects. So you can omit the #t. Otherwise, looks good to me for 'core-updates'. Thanks! Mark
Re: info dir clashes
Federico Beffa be...@ieee.org skribis: given that the file .../share/info/dir creates clashes in user profiles and that it is anyway handled with the help of info-dir substitutes, shouldn't we systematically delete them with the help, e.g., of a phase in gnu-build-system? We should do that, indeed. Would you like to prepare a patch for ‘core-updates’? Thanks, Ludo’.