Re: [PATCH] gnu: Remove redundancy where mkdir-p is followed by install-file .

2016-11-21 Thread Leo Famulari
On Mon, Nov 21, 2016 at 08:06:21PM +0100, Petter wrote:
> Subject: [PATCH] gnu: Remove redundancy where mkdir-p  is followed by  
>  install-file  .
> 
> * gnu/packages/bioinformatics.scm (bwa)[arguments]: Remove redundant mkdir-p.
> (eigensoft)[arguments]: Likewise.
> (snap-aligner)[arguments]: Likewise.
> (pardre)[arguments]: Likewise.
> (piranha)[arguments]: Likewise.
> * gnu/packages/maths.scm (hypre)[arguments]: Likewise.
> * gnu/packages/mp3.scm (mpc123)[arguments]: Likewise.
> * gnu/packages/music.scm (tuxguitar)[arguments]: Likewise.
> * gnu/packages/pdf.scm (impressive)[arguments]: Likewise.
> * gnu/packages/qemu.scm (qemu)[arguments]: Likewise.

Thanks! Pushed as daf72603ebcd7e78222d16273d4cda4e71a156de

> Subject: [PATCH] gnu: Remove redundancy where mkdir-p  is followed by  
>  install-file  .
> 
> * gnu/packages/tls.scm (openssl)[arguments]: Remove redundant (mkdir-p).

I mentioned the package name in the commit title (this is our normal
practice), shortened the title, and pushed as
6e388b08399b322121d9113ab7367366ad14eba0. Thanks!



Re: [PATCH] gnu: Remove redundancy where mkdir-p is followed by install-file .

2016-11-21 Thread Petter

Hi,

Leo: Aha, yes you are right. I copy+pasted, and didn't realize those 
[source]

bits referred to fields in a recipe... Now I do, thanks! :)

Sure, I bring to you, two patches this time. One for master, and one for
core-updates. Not sure how to name the patch files properly, so I just 
put

branch name at the end.

Ludo: I like nitpicking ;)

I checked the packages with `guix refresh -l`, output below:

No dependents other than itself: eigensoft-6.1.2-1.b14d1e202
No dependents other than itself: snap-aligner-1.0beta.18
No dependents other than itself: pardre-1.1.5
No dependents other than itself: piranha-1.2.1-1.0466d364b
No dependents other than itself: hypre-2.11.0
No dependents other than itself: mpc123-0.2.4
No dependents other than itself: tuxguitar-1.3.2
No dependents other than itself: impressive-0.11.1

$ guix refresh -l bwa@0.7.12
  A single dependent package: bamm-1.7.3

$ guix refresh -l qemu@2.7.0
  Building the following 2 packages would ensure 5 dependent packages 
are

  rebuilt: virt-manager-1.4.0 python-libvirt-2.0.0



Let me know if there are any more issues.


Best,
Petter

On 2016-11-20 18:05, Leo Famulari wrote:

On Sun, Nov 20, 2016 at 04:28:29PM +0100, Petter wrote:

From 595d438789c7c9a293ae7fac500ace7422073624 Mon Sep 17 00:00:00 2001
From: Petter <pet...@mykolab.ch>
Date: Sun, 20 Nov 2016 13:39:13 +0100
Subject: [PATCH] gnu: Remove redundancy where mkdir-p  is 
followed by

 install-file  .

* gnu/packages/bioinformatics.scm (bwa)[source]: Remove redundant 
mkdir-p.

* gnu/packages/bioinformatics.scm (eigensoft)[source]: Likewise.
* gnu/packages/bioinformatics.scm (snap-aligner)[source]: Likewise.
* gnu/packages/bioinformatics.scm (pardre)[source]: Likewise.
* gnu/packages/bioinformatics.scm (piranha)[source]: Likewise.
* gnu/packages/maths.scm (hypre)[source]: Likewise.
* gnu/packages/mp3.scm (mpc123)[source]: Likewise.
* gnu/packages/music.scm (tuxguitar)[source]: Likewise.
* gnu/packages/pdf.scm (impressive)[source]: Likewise.
* gnu/packages/qemu.scm (qemu)[source]: Likewise.
* gnu/packages/tls.scm (openssl)[source]: Likewise.


Thanks! A few requests...

First, I think that most, if not all, of these changes are not in the
[source] field of the changed package definitions. I bet that they are
all in the [arguments] field. Can you send a revised patch with an
updated commit message?

Second, we can't change the OpenSSL package on the master branch,
because many things depend on it:

$ guix refresh -l openssl@1.0.2
Building the following 1090 packages would ensure 2981 dependent
packages are rebuilt
[...]

We do non-security related changes to that sort of "core" package on 
the

core-updates branch, which is merged into master every couple months.
Otherwise, we'd be rebuilding everything constantly, and users would be
unhappy.

So, will you submit a separate patch for the OpenSSL change? Make sure
it applies cleanly to the core-updates branch. You don't need to try
building this; it will take forever, as you noticed.From f0b2abe1fcbfcd16f2e6a6165f985dd9dd7dcff2 Mon Sep 17 00:00:00 2001
From: Petter <pet...@mykolab.ch>
Date: Mon, 21 Nov 2016 19:18:55 +0100
Subject: [PATCH] gnu: Remove redundancy where mkdir-p  is followed by  
 install-file  .

* gnu/packages/bioinformatics.scm (bwa)[arguments]: Remove redundant mkdir-p.
(eigensoft)[arguments]: Likewise.
(snap-aligner)[arguments]: Likewise.
(pardre)[arguments]: Likewise.
(piranha)[arguments]: Likewise.
* gnu/packages/maths.scm (hypre)[arguments]: Likewise.
* gnu/packages/mp3.scm (mpc123)[arguments]: Likewise.
* gnu/packages/music.scm (tuxguitar)[arguments]: Likewise.
* gnu/packages/pdf.scm (impressive)[arguments]: Likewise.
* gnu/packages/qemu.scm (qemu)[arguments]: Likewise.
---
 gnu/packages/bioinformatics.scm | 7 ---
 gnu/packages/maths.scm  | 1 -
 gnu/packages/mp3.scm| 1 -
 gnu/packages/music.scm  | 1 -
 gnu/packages/pdf.scm| 1 -
 gnu/packages/qemu.scm   | 1 -
 6 files changed, 12 deletions(-)

diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 64c7bba..97d3e48 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -1261,9 +1261,6 @@ splice junctions between exons.")
   (assoc-ref outputs "out") "/share/doc/bwa"))
 (man (string-append
   (assoc-ref outputs "out") "/share/man/man1")))
-(mkdir-p bin)
-(mkdir-p doc)
-(mkdir-p man)
 (install-file "bwa" bin)
 (install-file "README.md" doc)
 (install-file "bwa.1" man)))
@@ -2155,7 +2152,6 @@ of nucleic acid binding proteins.")
  (lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
   (bin  (string-append out "/bin")))
-

Re: [PATCH] gnu: Remove redundancy where mkdir-p is followed by install-file .

2016-11-21 Thread Leo Famulari
On Sun, Nov 20, 2016 at 04:28:29PM +0100, Petter wrote:
> From 595d438789c7c9a293ae7fac500ace7422073624 Mon Sep 17 00:00:00 2001
> From: Petter <pet...@mykolab.ch>
> Date: Sun, 20 Nov 2016 13:39:13 +0100
> Subject: [PATCH] gnu: Remove redundancy where mkdir-p  is followed by
>  install-file  .
> 
> * gnu/packages/bioinformatics.scm (bwa)[source]: Remove redundant mkdir-p.
> * gnu/packages/bioinformatics.scm (eigensoft)[source]: Likewise.
> * gnu/packages/bioinformatics.scm (snap-aligner)[source]: Likewise.
> * gnu/packages/bioinformatics.scm (pardre)[source]: Likewise.
> * gnu/packages/bioinformatics.scm (piranha)[source]: Likewise.
> * gnu/packages/maths.scm (hypre)[source]: Likewise.
> * gnu/packages/mp3.scm (mpc123)[source]: Likewise.
> * gnu/packages/music.scm (tuxguitar)[source]: Likewise.
> * gnu/packages/pdf.scm (impressive)[source]: Likewise.
> * gnu/packages/qemu.scm (qemu)[source]: Likewise.
> * gnu/packages/tls.scm (openssl)[source]: Likewise.

Thanks! A few requests...

First, I think that most, if not all, of these changes are not in the
[source] field of the changed package definitions. I bet that they are
all in the [arguments] field. Can you send a revised patch with an
updated commit message?

Second, we can't change the OpenSSL package on the master branch,
because many things depend on it:

$ guix refresh -l openssl@1.0.2
Building the following 1090 packages would ensure 2981 dependent packages are 
rebuilt
[...]

We do non-security related changes to that sort of "core" package on the
core-updates branch, which is merged into master every couple months.
Otherwise, we'd be rebuilding everything constantly, and users would be
unhappy.

So, will you submit a separate patch for the OpenSSL change? Make sure
it applies cleanly to the core-updates branch. You don't need to try
building this; it will take forever, as you noticed.



Re: [PATCH] gnu: Remove redundancy where mkdir-p is followed by install-file .

2016-11-21 Thread Ludovic Courtès
Hi Petter,

Sounds like a good idea.

Petter <pet...@mykolab.ch> skribis:

> From 595d438789c7c9a293ae7fac500ace7422073624 Mon Sep 17 00:00:00 2001
> From: Petter <pet...@mykolab.ch>
> Date: Sun, 20 Nov 2016 13:39:13 +0100
> Subject: [PATCH] gnu: Remove redundancy where mkdir-p  is followed by
>  install-file  .
>
> * gnu/packages/bioinformatics.scm (bwa)[source]: Remove redundant mkdir-p.
> * gnu/packages/bioinformatics.scm (eigensoft)[source]: Likewise.
> * gnu/packages/bioinformatics.scm (snap-aligner)[source]: Likewise.
> * gnu/packages/bioinformatics.scm (pardre)[source]: Likewise.
> * gnu/packages/bioinformatics.scm (piranha)[source]: Likewise.

Nitpick: no need to repeat the file name for each entry here.

> * gnu/packages/maths.scm (hypre)[source]: Likewise.
> * gnu/packages/mp3.scm (mpc123)[source]: Likewise.
> * gnu/packages/music.scm (tuxguitar)[source]: Likewise.
> * gnu/packages/pdf.scm (impressive)[source]: Likewise.
> * gnu/packages/qemu.scm (qemu)[source]: Likewise.
> * gnu/packages/tls.scm (openssl)[source]: Likewise.

The only question here before we can apply is how much gets rebuilt as a
consequence of this change.

Changing openssl would rebuild too much for instance, so that would go
to the ‘core-updates’ branch.

The rest looks OK for master, but could you check with ‘guix refresh -l’
and submit separate patches accordingly?  See
<https://lists.gnu.org/archive/html/guix-devel/2016-10/msg00933.html>
on how to choose a branch.

Thank you!

Ludo’.



[PATCH] gnu: Remove redundancy where mkdir-p is followed by install-file .

2016-11-20 Thread Petter

Forgot the patch in the initial message :/From 595d438789c7c9a293ae7fac500ace7422073624 Mon Sep 17 00:00:00 2001
From: Petter <pet...@mykolab.ch>
Date: Sun, 20 Nov 2016 13:39:13 +0100
Subject: [PATCH] gnu: Remove redundancy where mkdir-p  is followed by
 install-file  .

* gnu/packages/bioinformatics.scm (bwa)[source]: Remove redundant mkdir-p.
* gnu/packages/bioinformatics.scm (eigensoft)[source]: Likewise.
* gnu/packages/bioinformatics.scm (snap-aligner)[source]: Likewise.
* gnu/packages/bioinformatics.scm (pardre)[source]: Likewise.
* gnu/packages/bioinformatics.scm (piranha)[source]: Likewise.
* gnu/packages/maths.scm (hypre)[source]: Likewise.
* gnu/packages/mp3.scm (mpc123)[source]: Likewise.
* gnu/packages/music.scm (tuxguitar)[source]: Likewise.
* gnu/packages/pdf.scm (impressive)[source]: Likewise.
* gnu/packages/qemu.scm (qemu)[source]: Likewise.
* gnu/packages/tls.scm (openssl)[source]: Likewise.
---
 gnu/packages/bioinformatics.scm | 7 ---
 gnu/packages/maths.scm  | 1 -
 gnu/packages/mp3.scm| 1 -
 gnu/packages/music.scm  | 1 -
 gnu/packages/pdf.scm| 1 -
 gnu/packages/qemu.scm   | 1 -
 gnu/packages/tls.scm| 1 -
 7 files changed, 13 deletions(-)

diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 64c7bba..97d3e48 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -1261,9 +1261,6 @@ splice junctions between exons.")
   (assoc-ref outputs "out") "/share/doc/bwa"))
 (man (string-append
   (assoc-ref outputs "out") "/share/man/man1")))
-(mkdir-p bin)
-(mkdir-p doc)
-(mkdir-p man)
 (install-file "bwa" bin)
 (install-file "README.md" doc)
 (install-file "bwa.1" man)))
@@ -2155,7 +2152,6 @@ of nucleic acid binding proteins.")
  (lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
   (bin  (string-append out "/bin")))
- (mkdir-p bin)
  (for-each (lambda (file)
  (install-file file bin))
(find-files "../bin" ".*"))
@@ -4834,7 +4830,6 @@ optionally compressed by gzip.")
(lambda* (#:key outputs #:allow-other-keys)
  (let* ((out (assoc-ref outputs "out"))
 (bin (string-append out "/bin")))
-   (mkdir-p bin)
(install-file "snap-aligner" bin)
(install-file "SNAPCommand" bin)
#t))
@@ -5694,7 +5689,6 @@ Needleman-Wunsch).")
  (replace 'install
(lambda* (#:key outputs #:allow-other-keys)
  (let ((bin (string-append (assoc-ref outputs "out") "/bin")))
-   (mkdir-p bin)
(install-file "ParDRe" bin)
#t))
 (inputs
@@ -7572,7 +7566,6 @@ intervals (e.g. genes, sequence alignments).")
  (lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
   (bin (string-append out "/bin")))
- (mkdir-p bin)
  (for-each (lambda (file)
  (install-file file bin))
(find-files "bin" ".*")))
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index a1bd784..0c51f6d 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -2723,7 +2723,6 @@ set.")
  ;; Custom install because docs/Makefile doesn't honor ${docdir}.
  (let* ((doc (assoc-ref outputs "doc"))
 (docdir (string-append doc "/share/doc/hypre-" ,version)))
-   (mkdir-p docdir)
(with-directory-excursion "docs"
  (for-each (lambda (base)
  (install-file (string-append base ".pdf") docdir)
diff --git a/gnu/packages/mp3.scm b/gnu/packages/mp3.scm
index ceef896..7f0099e 100644
--- a/gnu/packages/mp3.scm
+++ b/gnu/packages/mp3.scm
@@ -441,7 +441,6 @@ format.")
(lambda* (#:key outputs #:allow-other-keys)
  (let* ((out (assoc-ref outputs "out"))
 (bin (string-append out "/bin")))
-   (mkdir-p bin)
(install-file "mpc123" bin)
#:tests? #f))
 (native-inputs
diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index 4ec6d6e..1a2a33f 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -1216,7 +1216,6 @@ is subjective.")
 (lib   (string

[PATCH] gnu: Remove redundancy where mkdir-p is followed by install-file .

2016-11-20 Thread Petter

Hi.

Following up on an encouragement by Leo to remove a redundancy in the 
package

recipes.

In several places (mkdir-p) is used right before (install-file), to the 
same

directory. However, (install-file) does (mkdir-p) itself, which makes an
explicit (mkdir-p) redundant.


For reference:

=== guix/build/utils.scm ===
(define (install-file file directory)
  "Create DIRECTORY if it does not exist and copy FILE in there under 
the same

name."
  (mkdir-p directory)
  (copy-file file (string-append directory "/" (basename file



I assume the (mkdir-p)s here could be removed as well.

=== gnu/packages/bioinformatics.scm ===
(mkdir-p lib)
(mkdir-p include)
(for-each (cut install-file <> lib)
  (find-files "." "\\.o$"))
(for-each (cut install-file <> include)
  (find-files "." "\\.hpp$")))


And this (mkdir-p).

=== gnu/packages/ocaml.scm ===
 (mkdir-p doc)
 ;; This file needs write-permissions, because it's
 ;; overwritten by 'docs' during documentation 
generation.

 (chmod "src/strings.ml" #o600)
 (and (zero? (system* "make" "docs"
  "TEXDIRECTIVES=draftfalse"))
  (begin
(for-each (lambda (f)
(install-file f doc))


I did not include them because they're not trivial (to me).



I have not build all the affected packages! It's all a little too much.
Hopefully, someone about to compile these packages can include this 
patch first.



Also, I'm inexperienced with this, so please be extra alert.


Best,
Petter


P.S. If it's of interest to anyone. I used this sed script to locate 
areas with

a possible redundant (mkdir-p):

sed -n '/mkdir-p/{ h; :a; //!{n; H; ba;}; x; /install-file/{F; p;}; 
};'

gnu/packages/*.scm