aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2015-08-28 22:22:22 +0200
committerLudovic Courtès <ludo@gnu.org>2015-08-29 01:25:08 +0200
commit96c462105627569ae4b82cdc0e0059806f855ba6 (patch)
tree81e23ce00be19c620fa28518284efaec576f75c0
parent4cc2ed98cf7837e042ad4234c91fe730259a7170 (diff)
downloadgnu-guix-96c462105627569ae4b82cdc0e0059806f855ba6.tar
gnu-guix-96c462105627569ae4b82cdc0e0059806f855ba6.tar.gz
gnu: Use 'install-file' instead of 'mkdir-p' and 'copy-file' in obvious cases.
* gnu/packages/bioinformatics.scm (bedtools, bowtie, bwa, hisat, samtools, plink, star): Use 'install-file' instead of 'mkdir-p' + 'copy-file'. * gnu/packages/check.scm (catch-framework): Likewise. * gnu/packages/code.scm (global): Likewise. * gnu/packages/emacs.scm (magit-svn, haskell-mode, emacs-pdf-tools): Likewise. * gnu/packages/engineering.scm (fastcap, fasthenry): Likewise. * gnu/packages/gnuzilla.scm (nss): Likewise. * gnu/packages/guile.scm (guile-minikanren): Likewise. * gnu/packages/java.scm (swt): Likewise. * gnu/packages/make-bootstrap.scm (%static-binaries): Likewise. * gnu/packages/maths.scm (lpsolve): Likewise. * gnu/packages/mp3.scm (mpc123): Likewise. * gnu/packages/ninja.scm (ninja): Likewise. * gnu/packages/python.scm (python-numpy, python-pyparsing): Likewise. * gnu/packages/screen.scm (dtach): Likewise. * gnu/packages/synergy.scm (synergy): Likewise. * gnu/packages/textutils.scm (utf8proc): Likewise. * gnu/packages/version-control.scm (git-test-sequence): Likewise. * gnu/packages/wicd.scm (wicd): Likewise.
-rw-r--r--gnu/packages/bioinformatics.scm39
-rw-r--r--gnu/packages/check.scm5
-rw-r--r--gnu/packages/code.scm5
-rw-r--r--gnu/packages/emacs.scm26
-rw-r--r--gnu/packages/engineering.scm16
-rw-r--r--gnu/packages/gnuzilla.scm10
-rw-r--r--gnu/packages/guile.scm2
-rw-r--r--gnu/packages/java.scm4
-rw-r--r--gnu/packages/make-bootstrap.scm6
-rw-r--r--gnu/packages/maths.scm20
-rw-r--r--gnu/packages/mp3.scm2
-rw-r--r--gnu/packages/ninja.scm7
-rw-r--r--gnu/packages/python.scm8
-rw-r--r--gnu/packages/screen.scm3
-rw-r--r--gnu/packages/synergy.scm8
-rw-r--r--gnu/packages/textutils.scm6
-rw-r--r--gnu/packages/version-control.scm8
-rw-r--r--gnu/packages/wicd.scm7
18 files changed, 68 insertions, 114 deletions
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index d7e4da6fe8..189dd959a5 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -228,9 +228,8 @@ computational cluster.")
'install
(lambda* (#:key outputs #:allow-other-keys)
(let ((bin (string-append (assoc-ref outputs "out") "/bin/")))
- (mkdir-p bin)
(for-each (lambda (file)
- (copy-file file (string-append bin (basename file))))
+ (install-file file bin))
(find-files "bin" ".*"))))
%standard-phases)))))
(home-page "https://github.com/arq5x/bedtools2")
@@ -554,9 +553,8 @@ confidence to have in an alignment.")
'install
(lambda* (#:key outputs #:allow-other-keys)
(let ((bin (string-append (assoc-ref outputs "out") "/bin/")))
- (mkdir-p bin)
(for-each (lambda (file)
- (copy-file file (string-append bin file)))
+ (install-file file bin))
(find-files "." "bowtie2.*"))))
(alist-replace
'check
@@ -606,9 +604,9 @@ gapped, local, and paired-end alignment modes.")
(mkdir-p bin)
(mkdir-p doc)
(mkdir-p man)
- (copy-file "bwa" (string-append bin "/bwa"))
- (copy-file "README.md" (string-append doc "/README.md"))
- (copy-file "bwa.1" (string-append man "/bwa.1"))))
+ (install-file "bwa" bin)
+ (install-file "README.md" doc)
+ (install-file "bwa.1" man)))
;; no "configure" script
(alist-delete 'configure %standard-phases))))
(inputs `(("zlib" ,zlib)))
@@ -1264,14 +1262,12 @@ estimates transcript expression.")
(alist-replace
'install
(lambda* (#:key outputs #:allow-other-keys)
- (let ((bin (string-append (assoc-ref outputs "out") "/bin/")))
- (mkdir-p bin)
- (for-each
- (lambda (file)
- (copy-file file (string-append bin file)))
- (find-files
- "."
- "hisat(-(build|align|inspect)(-(s|l)(-debug)*)*)*$"))))
+ (let ((bin (string-append (assoc-ref outputs "out") "/bi/")))
+ (for-each (lambda (file)
+ (install-file file bin))
+ (find-files
+ "."
+ "hisat(-(build|align|inspect)(-(s|l)(-debug)*)*)*$"))))
(alist-delete 'configure %standard-phases)))))
(native-inputs
`(("unzip" ,unzip)))
@@ -1989,17 +1985,14 @@ distribution, coverage uniformity, strand specificity, etc.")
'install 'install-library
(lambda* (#:key outputs #:allow-other-keys)
(let ((lib (string-append (assoc-ref outputs "out") "/lib")))
- (mkdir-p lib)
- (copy-file "libbam.a" (string-append lib "/libbam.a"))))
+ (install-file "libbam.a" lib)))
(alist-cons-after
'install 'install-headers
(lambda* (#:key outputs #:allow-other-keys)
(let ((include (string-append (assoc-ref outputs "out")
"/include/samtools/")))
- (mkdir-p include)
(for-each (lambda (file)
- (copy-file file (string-append include
- (basename file))))
+ (install-file file include))
(scandir "." (lambda (name) (string-match "\\.h$" name))))
#t))
(alist-delete 'configure %standard-phases))))))
@@ -2254,8 +2247,7 @@ accessed/downloaded on demand across HTTP.")
(lambda* (#:key outputs #:allow-other-keys)
(let ((bin (string-append (assoc-ref outputs "out")
"/bin/")))
- (mkdir-p bin)
- (copy-file "plink" (string-append bin "plink"))
+ (install-file "plink" bin)
#t))))))
(inputs
`(("zlib" ,zlib)
@@ -2477,8 +2469,7 @@ bioinformatics file formats, sequence alignment, and more.")
'install
(lambda* (#:key outputs #:allow-other-keys)
(let ((bin (string-append (assoc-ref outputs "out") "/bin/")))
- (mkdir-p bin)
- (copy-file "STAR" (string-append bin "STAR"))))
+ (install-file "STAR" bin)))
(alist-delete
'configure %standard-phases)))))
(native-inputs
diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm
index e0ee7c4d4f..3b7a243ba7 100644
--- a/gnu/packages/check.scm
+++ b/gnu/packages/check.scm
@@ -136,10 +136,9 @@ supervised tests.")
,version)))
(begin
(for-each mkdir-p (list incdir docdir))
- (copy-file (string-append source
+ (install-file (string-append source
"/single_include/catch.hpp")
- (string-append incdir
- "/catch.hpp"))
+ incdir)
(copy-recursively (string-append source "/docs")
docdir))))))
(home-page "http://catch-lib.net/")
diff --git a/gnu/packages/code.scm b/gnu/packages/code.scm
index e346f7e0c5..ece86a9ed5 100644
--- a/gnu/packages/code.scm
+++ b/gnu/packages/code.scm
@@ -117,9 +117,8 @@ highlighting your own code that seemed comprehensible when you wrote it.")
(let* ((out (assoc-ref outputs "out"))
(data (string-append out "/share/gtags"))
(lisp (string-append out "/share/emacs/site-lisp")))
- (mkdir-p lisp)
- (copy-file (string-append data "/gtags.el")
- (string-append lisp "/gtags.el"))
+ (install-file (string-append data "/gtags.el")
+ lisp)
(delete-file (string-append data "/gtags.el"))
#t))
%standard-phases)))
diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index b0a8b08dbe..9c7a19ad59 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -406,9 +406,9 @@ operations.")
(lisp-dir (string-append %output "/share/emacs/site-lisp")))
(setenv "PATH" PATH)
(system* tar "xvf" source)
- (mkdir-p lisp-dir)
- (copy-file (string-append ,name "-" ,version "/magit-svn.el")
- (string-append lisp-dir "/magit-svn.el"))
+
+ (install-file (string-append ,name "-" ,version "/magit-svn.el")
+ lisp-dir)
(with-directory-excursion lisp-dir
(parameterize ((%emacs emacs))
@@ -462,18 +462,14 @@ support for Git-SVN.")
out "/share/doc/haskell-mode-" ,version))
(info (string-append out "/share/info")))
(define (copy-to-dir dir files)
- (mkdir-p dir)
- (for-each
- (lambda (f)
- (copy-file f (string-append dir "/" (basename f))))
- files))
+ (for-each (lambda (f)
+ (install-file f dir))
+ files))
(with-directory-excursion "doc"
(unless (zero? (system* "makeinfo" "haskell-mode.texi"))
(error "makeinfo failed"))
- (mkdir-p info)
- (copy-file "haskell-mode.info"
- (string-append info "/haskell-mode.info")))
+ (install-file "haskell-mode.info" info))
(copy-to-dir doc '("CONTRIBUTING.md" "NEWS" "README.md"))
(copy-to-dir el-dir (find-files "." "\\.elc?"))
;; these are now distributed with emacs
@@ -876,11 +872,9 @@ single buffer.")
(lambda* (#:key outputs #:allow-other-keys)
(let ((target (string-append (assoc-ref outputs "out")
"/share/emacs/site-lisp/")))
- (mkdir-p target)
- (for-each
- (lambda (file)
- (copy-file file (string-append target (basename file))))
- (find-files "../lisp" "^(pdf|tab).*\\.elc?"))
+ (for-each (lambda (file)
+ (install-file file target))
+ (find-files "../lisp" "^(pdf|tab).*\\.elc?"))
(emacs-byte-compile-directory target)
(emacs-generate-autoloads "pdf-tools" target)))))))
(native-inputs `(("autoconf" ,autoconf)
diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index 7faf61e3c8..bb009e2548 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -300,11 +300,9 @@ optimizer; and it can produce photorealistic and design review images.")
(doc (string-append data "/doc/" ,name "-" ,version))
(examples (string-append doc "/examples")))
(with-directory-excursion "bin"
- (mkdir-p bin)
- (for-each
- (lambda (f)
- (copy-file f (string-append bin "/" (basename f))))
- (find-files "." ".*")))
+ (for-each (lambda (f)
+ (install-file f bin))
+ (find-files "." ".*")))
(copy-recursively "doc" doc)
(copy-recursively "examples" examples)
#t))))))
@@ -350,11 +348,9 @@ multipole-accelerated algorithm.")
(doc (string-append data "/doc/" ,name "-" ,version))
(examples (string-append doc "/examples")))
(with-directory-excursion "bin"
- (mkdir-p bin)
- (for-each
- (lambda (f)
- (copy-file f (string-append bin "/" (basename f))))
- (find-files "." ".*")))
+ (for-each (lambda (f)
+ (install-file f bin))
+ (find-files "." ".*")))
(copy-recursively "doc" doc)
(copy-recursively "examples" examples)
#t))))))
diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm
index bfd1f5dc7b..53e6ea7787 100644
--- a/gnu/packages/gnuzilla.scm
+++ b/gnu/packages/gnuzilla.scm
@@ -190,14 +190,12 @@ in the Mozilla clients.")
(obj (match (scandir "dist" (cut string-suffix? "OBJ" <>))
((obj) (string-append "dist/" obj)))))
;; Install nss-config to $out/bin.
- (mkdir-p (string-append out "/bin"))
- (copy-file (string-append obj "/bin/nss-config")
- (string-append out "/bin/nss-config"))
+ (install-file (string-append obj "/bin/nss-config")
+ (string-append out "/bin"))
(delete-file (string-append obj "/bin/nss-config"))
;; Install nss.pc to $out/lib/pkgconfig.
- (mkdir-p (string-append out "/lib/pkgconfig"))
- (copy-file (string-append obj "/lib/pkgconfig/nss.pc")
- (string-append out "/lib/pkgconfig/nss.pc"))
+ (install-file (string-append obj "/lib/pkgconfig/nss.pc")
+ (string-append out "/lib/pkgconfig"))
(delete-file (string-append obj "/lib/pkgconfig/nss.pc"))
(rmdir (string-append obj "/lib/pkgconfig"))
;; Install other files.
diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm
index 7b4f4c65c2..f06f66c7a5 100644
--- a/gnu/packages/guile.scm
+++ b/gnu/packages/guile.scm
@@ -452,7 +452,7 @@ http:://json.org specification. These are the main features:
scm-files)
;; Also copy over the README.
- (copy-file "README.org" (string-append doc "/README.org"))
+ (install-file "README.org" doc)
#t))))
(inputs
`(("guile" ,guile-2.0)))
diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 0ff70c82b2..9304a92eb9 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -102,8 +102,8 @@
(lambda* (#:key outputs #:allow-other-keys)
(let ((java (string-append (assoc-ref outputs "out")
"/share/java")))
- (mkdir-p java)
- (copy-file "swt.jar" (string-append java "/swt.jar"))) #t)
+ (install-file "swt.jar" java)
+ #t))
(alist-delete 'configure %standard-phases))))))
(inputs
`(("xulrunner" ,icecat)
diff --git a/gnu/packages/make-bootstrap.scm b/gnu/packages/make-bootstrap.scm
index 07e8b5160b..904aaedb73 100644
--- a/gnu/packages/make-bootstrap.scm
+++ b/gnu/packages/make-bootstrap.scm
@@ -253,10 +253,8 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
;; But of course, there are exceptions to this rule.
(let ((grep (assoc-ref %build-inputs "grep")))
- (copy-file (string-append grep "/bin/fgrep")
- (string-append bin "/fgrep"))
- (copy-file (string-append grep "/bin/egrep")
- (string-append bin "/egrep")))
+ (install-file (string-append grep "/bin/fgrep") bin)
+ (install-file (string-append grep "/bin/egrep") bin))
;; Clear references to the store path.
(for-each remove-store-references
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 2fc3ce19df..11ffe4e781 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -1828,21 +1828,17 @@ specifications.")
(string-append lib "/liblpsolve55.a"))
(copy-file "lpsolve55/bin/ux64/liblpsolve55.so"
(string-append lib "/liblpsolve55.so"))
- (mkdir-p bin)
- (copy-file "lp_solve/bin/ux64/lp_solve"
- (string-append bin "/lp_solve"))
- (mkdir-p include)
+ (install-file "lp_solve/bin/ux64/lp_solve" bin)
+
;; Install a subset of the header files as on Debian
;; (plus lp_bit.h, which matches the regular expression).
- (for-each
- (lambda (name)
- (copy-file name (string-append include "/" name)))
- (find-files "." "lp_[HMSa-z].*\\.h$"))
+ (for-each (lambda (name)
+ (install-file name include))
+ (find-files "." "lp_[HMSa-z].*\\.h$"))
(with-directory-excursion "shared"
- (for-each
- (lambda (name)
- (copy-file name (string-append include "/" name)))
- (find-files "." "\\.h$")))
+ (for-each (lambda (name)
+ (install-file name include))
+ (find-files "." "\\.h$")))
#t))))))
(home-page "http://lpsolve.sourceforge.net/")
(synopsis "Mixed integer linear programming (MILP) solver")
diff --git a/gnu/packages/mp3.scm b/gnu/packages/mp3.scm
index ddd90fb72a..d5ca1555db 100644
--- a/gnu/packages/mp3.scm
+++ b/gnu/packages/mp3.scm
@@ -435,7 +435,7 @@ format.")
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin")))
(mkdir-p bin)
- (copy-file "mpc123" (string-append bin "/mpc123"))))
+ (install-file "mpc123" bin)))
%standard-phases))
#:tests? #f))
diff --git a/gnu/packages/ninja.scm b/gnu/packages/ninja.scm
index a0eb109bbb..ea5488afc9 100644
--- a/gnu/packages/ninja.scm
+++ b/gnu/packages/ninja.scm
@@ -66,11 +66,8 @@
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin"))
(doc (string-append out "/share/doc/ninja")))
- (mkdir-p bin)
- (copy-file "ninja" (string-append bin "/ninja"))
- (mkdir-p doc)
- (copy-file "doc/manual.asciidoc"
- (string-append doc "/manual.asciidoc"))
+ (install-file "ninja" bin)
+ (install-file "doc/manual.asciidoc" doc)
#t))))))
(home-page "http://martine.github.io/ninja/")
(synopsis "Small build system")
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 940efeca64..b588dd649a 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -2784,7 +2784,7 @@ association studies (GWAS) on extremely large data sets.")
(tgt-dir (string-append html "/" dir)))
(unless (equal? "." dir)
(mkdir-p tgt-dir))
- (copy-file file (string-append html "/" file))))
+ (install-file file html)))
(find-files "." ".*"))))))
,phases)))))))
@@ -2828,7 +2828,7 @@ association studies (GWAS) on extremely large data sets.")
(for-each
(lambda (dir tgt)
(map (lambda (file)
- (copy-file file (string-append tgt "/" (basename file))))
+ (install-file file tgt))
(find-files dir ".*")))
(list "docs" "htmldoc" "examples")
(list doc html-doc examples))))
@@ -3140,9 +3140,7 @@ atlas_libs = openblas
(for-each (lambda (file)
(let* ((dir (dirname file))
(tgt-dir (string-append html "/" dir)))
- (unless (equal? "." dir)
- (mkdir-p tgt-dir))
- (copy-file file (string-append html "/" file))))
+ (install-file file html)))
(find-files "." ".*"))))))
;; Tests can only be run after the library has been installed and not
;; within the source directory.
diff --git a/gnu/packages/screen.scm b/gnu/packages/screen.scm
index 3a39c36478..84cc8c9dc5 100644
--- a/gnu/packages/screen.scm
+++ b/gnu/packages/screen.scm
@@ -79,8 +79,7 @@ view to show two terminals at once.")
'install
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
- (mkdir-p (string-append out "/bin"))
- (copy-file "dtach" (string-append out "/bin/dtach"))))
+ (install-file "dtach" (string-append out "/bin"))))
%standard-phases)
;; No check target.
#:tests? #f))
diff --git a/gnu/packages/synergy.scm b/gnu/packages/synergy.scm
index 9a038bb545..905ef82af4 100644
--- a/gnu/packages/synergy.scm
+++ b/gnu/packages/synergy.scm
@@ -92,19 +92,15 @@
(ex (string-append out "/share/doc/synergy-"
,version "/examples")))
(begin
- (mkdir-p bin)
(for-each
(lambda (f)
- (copy-file (string-append srcdir "/bin/" f)
- (string-append bin "/" f)))
+ (install-file (string-append srcdir "/bin/" f) bin))
'("synergyc" "synergys" "synergyd"
"usynergy" "syntool"))
;; Install example configuration files
- (mkdir-p ex)
(for-each
(lambda (e)
- (copy-file (string-append srcdir "/doc/" e)
- (string-append ex "/" e)))
+ (install-file (string-append srcdir "/doc/" e) ex))
'("synergy.conf.example"
"synergy.conf.example-advanced"
"synergy.conf.example-basic")))))
diff --git a/gnu/packages/textutils.scm b/gnu/packages/textutils.scm
index 08b1b64c57..95a8ad1da9 100644
--- a/gnu/packages/textutils.scm
+++ b/gnu/packages/textutils.scm
@@ -111,11 +111,9 @@ libenca and several charset conversion libraries and tools.")
(lambda* (#:key outputs #:allow-other-keys)
(let ((lib (string-append (assoc-ref outputs "out") "/lib/"))
(include (string-append (assoc-ref outputs "out") "/include/")))
- (mkdir-p lib)
- (mkdir-p include)
- (copy-file "utf8proc.h" (string-append include "utf8proc.h"))
+ (install-file "utf8proc.h" include)
(for-each (lambda (file)
- (copy-file file (string-append lib (basename file))))
+ (install-file file lib))
'("libutf8proc.a" "libutf8proc.so"))))
;; no configure script
(alist-delete 'configure %standard-phases))))
diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index 8d8003fe4c..4d7c37fb4f 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -432,11 +432,9 @@ lot easier.")
(output (assoc-ref %outputs "out"))
(bindir (string-append output "/bin"))
(script "git-test-sequence"))
- (begin
- (mkdir-p bindir)
- (copy-file (string-append source "/" script)
- (string-append bindir "/" script))
- #t)))))
+ (install-file (string-append source "/" script)
+ bindir)
+ #t))))
(home-page "http://dustin.sallings.org/2010/03/28/git-test-sequence.html")
(synopsis "Run a command over a sequence of commits")
(description
diff --git a/gnu/packages/wicd.scm b/gnu/packages/wicd.scm
index 26b1c7d3f9..33953eebf0 100644
--- a/gnu/packages/wicd.scm
+++ b/gnu/packages/wicd.scm
@@ -174,16 +174,13 @@
;; directory.
(let ((dest-dir (string-append out "/etc/wicd"))
(name "dhclient.conf.template.default"))
- (mkdir-p dest-dir)
- (copy-file (string-append "other/" name)
- (string-append dest-dir "/" name)))
+ (install-file (string-append "other/" name) dest-dir))
;; Copy index.theme from hicolor-icon-theme. This is needed to
;; allow wicd-gtk to find its icons.
(let ((hicolor (assoc-ref inputs "hicolor-icon-theme"))
(name "/share/icons/hicolor/index.theme"))
- (copy-file (string-append hicolor name)
- (string-append out name)))
+ (install-file (string-append hicolor name) out))
#t))
%standard-phases))))
(synopsis "Network connection manager")