Re: info dir clashes

2015-04-05 Thread Ludovic Courtès
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

2015-04-05 Thread Federico Beffa
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

2015-04-05 Thread Mark H Weaver
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

2015-03-28 Thread Ludovic Courtès
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’.