unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* [PATCH] gnu: Remove redundancy where mkdir-p <dir> is followed by install-file <file> <dir>.
@ 2016-11-20 15:25 Petter
  0 siblings, 0 replies; 6+ messages in thread
From: Petter @ 2016-11-20 15:25 UTC (permalink / raw)
  To: guix-devel

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

^ permalink raw reply	[flat|nested] 6+ messages in thread
* [PATCH] gnu: Remove redundancy where mkdir-p <dir> is followed by install-file <file> <dir>.
@ 2016-11-20 15:28 Petter
  2016-11-20 17:05 ` Leo Famulari
  2016-11-21 14:22 ` Ludovic Courtès
  0 siblings, 2 replies; 6+ messages in thread
From: Petter @ 2016-11-20 15:28 UTC (permalink / raw)
  To: guix-devel

[-- Attachment #1: Type: text/plain, Size: 42 bytes --]

Forgot the patch in the initial message :/

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-gnu-Remove-redundancy-where-mkdir-p-dir-is-followed-.patch --]
[-- Type: text/x-diff; name=0001-gnu-Remove-redundancy-where-mkdir-p-dir-is-followed-.patch, Size: 6585 bytes --]

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

* 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-append share "/java"))
                     (swt   (assoc-ref inputs "java-swt")))
                (mkdir-p bin)
-               (mkdir-p lib)
                ;; install all jars
                (for-each (lambda (file)
                            (install-file file lib))
diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm
index 9c6e9a9..39f4d02 100644
--- a/gnu/packages/pdf.scm
+++ b/gnu/packages/pdf.scm
@@ -701,7 +701,6 @@ vector formats.")
                             (,(string-append sdl "/lib")))
                           `("PATH" ":" prefix     ;for pdftoppm
                             (,(string-append xpdf "/bin"))))
-                        (mkdir-p man1)
                         (install-file "impressive.1" man1)
                         #t))))))
     (home-page "http://impressive.sourceforge.net")
diff --git a/gnu/packages/qemu.scm b/gnu/packages/qemu.scm
index f6e34ca..3c48b7a 100644
--- a/gnu/packages/qemu.scm
+++ b/gnu/packages/qemu.scm
@@ -117,7 +117,6 @@
                  (let ((out (assoc-ref outputs "out")))
                    (and (zero? (system* "make" "info"))
                         (let ((infodir (string-append out "/share/info")))
-                          (mkdir-p infodir)
                           (for-each (lambda (info)
                                       (install-file info infodir))
                                     (find-files "." "\\.info$"))
diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm
index 74cc25b..bea15fa 100644
--- a/gnu/packages/tls.scm
+++ b/gnu/packages/tls.scm
@@ -294,7 +294,6 @@ required structures.")
                    (lib    (string-append out "/lib"))
                    (static (assoc-ref outputs "static"))
                    (slib   (string-append static "/lib")))
-              (mkdir-p slib)
               (for-each (lambda (file)
                           (install-file file slib)
                           (delete-file file))
-- 
2.10.1


^ permalink raw reply related	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2016-11-21 19:43 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-11-20 15:25 [PATCH] gnu: Remove redundancy where mkdir-p <dir> is followed by install-file <file> <dir> Petter
  -- strict thread matches above, loose matches on Subject: below --
2016-11-20 15:28 Petter
2016-11-20 17:05 ` Leo Famulari
2016-11-21 19:06   ` Petter
2016-11-21 19:43     ` Leo Famulari
2016-11-21 14:22 ` Ludovic Courtès

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).