Re: info dir clashes

2015-04-05 Thread Ludovic Courtès
Mark H Weaver  skribis:

> Federico Beffa  writes:
>
>> From 06441ea6992808ef96139ab171269172dc65f2db Mon Sep 17 00:00:00 2001
>> From: Federico Beffa 
>> 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 Mark H Weaver
Federico Beffa  writes:

> From 06441ea6992808ef96139ab171269172dc65f2db Mon Sep 17 00:00:00 2001
> From: Federico Beffa 
> 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-04-05 Thread Federico Beffa
On Sat, Mar 28, 2015 at 3:37 PM, Ludovic Courtès  wrote:
> Federico Beffa  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 
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-03-28 Thread Ludovic Courtès
Federico Beffa  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’.