1
Fork 0
mirror of https://https.git.savannah.gnu.org/git/guix.git/ synced 2025-07-15 19:40:46 +02:00

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.
This commit is contained in:
Ludovic Courtès 2015-08-28 22:22:22 +02:00
parent 4cc2ed98cf
commit 96c4621056
18 changed files with 68 additions and 114 deletions

View file

@ -228,9 +228,8 @@ computational cluster.")
'install 'install
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
(let ((bin (string-append (assoc-ref outputs "out") "/bin/"))) (let ((bin (string-append (assoc-ref outputs "out") "/bin/")))
(mkdir-p bin)
(for-each (lambda (file) (for-each (lambda (file)
(copy-file file (string-append bin (basename file)))) (install-file file bin))
(find-files "bin" ".*")))) (find-files "bin" ".*"))))
%standard-phases))))) %standard-phases)))))
(home-page "https://github.com/arq5x/bedtools2") (home-page "https://github.com/arq5x/bedtools2")
@ -554,9 +553,8 @@ confidence to have in an alignment.")
'install 'install
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
(let ((bin (string-append (assoc-ref outputs "out") "/bin/"))) (let ((bin (string-append (assoc-ref outputs "out") "/bin/")))
(mkdir-p bin)
(for-each (lambda (file) (for-each (lambda (file)
(copy-file file (string-append bin file))) (install-file file bin))
(find-files "." "bowtie2.*")))) (find-files "." "bowtie2.*"))))
(alist-replace (alist-replace
'check 'check
@ -606,9 +604,9 @@ gapped, local, and paired-end alignment modes.")
(mkdir-p bin) (mkdir-p bin)
(mkdir-p doc) (mkdir-p doc)
(mkdir-p man) (mkdir-p man)
(copy-file "bwa" (string-append bin "/bwa")) (install-file "bwa" bin)
(copy-file "README.md" (string-append doc "/README.md")) (install-file "README.md" doc)
(copy-file "bwa.1" (string-append man "/bwa.1")))) (install-file "bwa.1" man)))
;; no "configure" script ;; no "configure" script
(alist-delete 'configure %standard-phases)))) (alist-delete 'configure %standard-phases))))
(inputs `(("zlib" ,zlib))) (inputs `(("zlib" ,zlib)))
@ -1264,14 +1262,12 @@ estimates transcript expression.")
(alist-replace (alist-replace
'install 'install
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
(let ((bin (string-append (assoc-ref outputs "out") "/bin/"))) (let ((bin (string-append (assoc-ref outputs "out") "/bi/")))
(mkdir-p bin) (for-each (lambda (file)
(for-each (install-file file bin))
(lambda (file) (find-files
(copy-file file (string-append bin file))) "."
(find-files "hisat(-(build|align|inspect)(-(s|l)(-debug)*)*)*$"))))
"."
"hisat(-(build|align|inspect)(-(s|l)(-debug)*)*)*$"))))
(alist-delete 'configure %standard-phases))))) (alist-delete 'configure %standard-phases)))))
(native-inputs (native-inputs
`(("unzip" ,unzip))) `(("unzip" ,unzip)))
@ -1989,17 +1985,14 @@ distribution, coverage uniformity, strand specificity, etc.")
'install 'install-library 'install 'install-library
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
(let ((lib (string-append (assoc-ref outputs "out") "/lib"))) (let ((lib (string-append (assoc-ref outputs "out") "/lib")))
(mkdir-p lib) (install-file "libbam.a" lib)))
(copy-file "libbam.a" (string-append lib "/libbam.a"))))
(alist-cons-after (alist-cons-after
'install 'install-headers 'install 'install-headers
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
(let ((include (string-append (assoc-ref outputs "out") (let ((include (string-append (assoc-ref outputs "out")
"/include/samtools/"))) "/include/samtools/")))
(mkdir-p include)
(for-each (lambda (file) (for-each (lambda (file)
(copy-file file (string-append include (install-file file include))
(basename file))))
(scandir "." (lambda (name) (string-match "\\.h$" name)))) (scandir "." (lambda (name) (string-match "\\.h$" name))))
#t)) #t))
(alist-delete 'configure %standard-phases)))))) (alist-delete 'configure %standard-phases))))))
@ -2254,8 +2247,7 @@ accessed/downloaded on demand across HTTP.")
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
(let ((bin (string-append (assoc-ref outputs "out") (let ((bin (string-append (assoc-ref outputs "out")
"/bin/"))) "/bin/")))
(mkdir-p bin) (install-file "plink" bin)
(copy-file "plink" (string-append bin "plink"))
#t)))))) #t))))))
(inputs (inputs
`(("zlib" ,zlib) `(("zlib" ,zlib)
@ -2477,8 +2469,7 @@ bioinformatics file formats, sequence alignment, and more.")
'install 'install
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
(let ((bin (string-append (assoc-ref outputs "out") "/bin/"))) (let ((bin (string-append (assoc-ref outputs "out") "/bin/")))
(mkdir-p bin) (install-file "STAR" bin)))
(copy-file "STAR" (string-append bin "STAR"))))
(alist-delete (alist-delete
'configure %standard-phases))))) 'configure %standard-phases)))))
(native-inputs (native-inputs

View file

@ -136,10 +136,9 @@ supervised tests.")
,version))) ,version)))
(begin (begin
(for-each mkdir-p (list incdir docdir)) (for-each mkdir-p (list incdir docdir))
(copy-file (string-append source (install-file (string-append source
"/single_include/catch.hpp") "/single_include/catch.hpp")
(string-append incdir incdir)
"/catch.hpp"))
(copy-recursively (string-append source "/docs") (copy-recursively (string-append source "/docs")
docdir)))))) docdir))))))
(home-page "http://catch-lib.net/") (home-page "http://catch-lib.net/")

View file

@ -117,9 +117,8 @@ highlighting your own code that seemed comprehensible when you wrote it.")
(let* ((out (assoc-ref outputs "out")) (let* ((out (assoc-ref outputs "out"))
(data (string-append out "/share/gtags")) (data (string-append out "/share/gtags"))
(lisp (string-append out "/share/emacs/site-lisp"))) (lisp (string-append out "/share/emacs/site-lisp")))
(mkdir-p lisp) (install-file (string-append data "/gtags.el")
(copy-file (string-append data "/gtags.el") lisp)
(string-append lisp "/gtags.el"))
(delete-file (string-append data "/gtags.el")) (delete-file (string-append data "/gtags.el"))
#t)) #t))
%standard-phases))) %standard-phases)))

View file

@ -406,9 +406,9 @@ operations.")
(lisp-dir (string-append %output "/share/emacs/site-lisp"))) (lisp-dir (string-append %output "/share/emacs/site-lisp")))
(setenv "PATH" PATH) (setenv "PATH" PATH)
(system* tar "xvf" source) (system* tar "xvf" source)
(mkdir-p lisp-dir)
(copy-file (string-append ,name "-" ,version "/magit-svn.el") (install-file (string-append ,name "-" ,version "/magit-svn.el")
(string-append lisp-dir "/magit-svn.el")) lisp-dir)
(with-directory-excursion lisp-dir (with-directory-excursion lisp-dir
(parameterize ((%emacs emacs)) (parameterize ((%emacs emacs))
@ -462,18 +462,14 @@ support for Git-SVN.")
out "/share/doc/haskell-mode-" ,version)) out "/share/doc/haskell-mode-" ,version))
(info (string-append out "/share/info"))) (info (string-append out "/share/info")))
(define (copy-to-dir dir files) (define (copy-to-dir dir files)
(mkdir-p dir) (for-each (lambda (f)
(for-each (install-file f dir))
(lambda (f) files))
(copy-file f (string-append dir "/" (basename f))))
files))
(with-directory-excursion "doc" (with-directory-excursion "doc"
(unless (zero? (system* "makeinfo" "haskell-mode.texi")) (unless (zero? (system* "makeinfo" "haskell-mode.texi"))
(error "makeinfo failed")) (error "makeinfo failed"))
(mkdir-p info) (install-file "haskell-mode.info" info))
(copy-file "haskell-mode.info"
(string-append info "/haskell-mode.info")))
(copy-to-dir doc '("CONTRIBUTING.md" "NEWS" "README.md")) (copy-to-dir doc '("CONTRIBUTING.md" "NEWS" "README.md"))
(copy-to-dir el-dir (find-files "." "\\.elc?")) (copy-to-dir el-dir (find-files "." "\\.elc?"))
;; these are now distributed with emacs ;; these are now distributed with emacs
@ -876,11 +872,9 @@ single buffer.")
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
(let ((target (string-append (assoc-ref outputs "out") (let ((target (string-append (assoc-ref outputs "out")
"/share/emacs/site-lisp/"))) "/share/emacs/site-lisp/")))
(mkdir-p target) (for-each (lambda (file)
(for-each (install-file file target))
(lambda (file) (find-files "../lisp" "^(pdf|tab).*\\.elc?"))
(copy-file file (string-append target (basename file))))
(find-files "../lisp" "^(pdf|tab).*\\.elc?"))
(emacs-byte-compile-directory target) (emacs-byte-compile-directory target)
(emacs-generate-autoloads "pdf-tools" target))))))) (emacs-generate-autoloads "pdf-tools" target)))))))
(native-inputs `(("autoconf" ,autoconf) (native-inputs `(("autoconf" ,autoconf)

View file

@ -300,11 +300,9 @@ optimizer; and it can produce photorealistic and design review images.")
(doc (string-append data "/doc/" ,name "-" ,version)) (doc (string-append data "/doc/" ,name "-" ,version))
(examples (string-append doc "/examples"))) (examples (string-append doc "/examples")))
(with-directory-excursion "bin" (with-directory-excursion "bin"
(mkdir-p bin) (for-each (lambda (f)
(for-each (install-file f bin))
(lambda (f) (find-files "." ".*")))
(copy-file f (string-append bin "/" (basename f))))
(find-files "." ".*")))
(copy-recursively "doc" doc) (copy-recursively "doc" doc)
(copy-recursively "examples" examples) (copy-recursively "examples" examples)
#t)))))) #t))))))
@ -350,11 +348,9 @@ multipole-accelerated algorithm.")
(doc (string-append data "/doc/" ,name "-" ,version)) (doc (string-append data "/doc/" ,name "-" ,version))
(examples (string-append doc "/examples"))) (examples (string-append doc "/examples")))
(with-directory-excursion "bin" (with-directory-excursion "bin"
(mkdir-p bin) (for-each (lambda (f)
(for-each (install-file f bin))
(lambda (f) (find-files "." ".*")))
(copy-file f (string-append bin "/" (basename f))))
(find-files "." ".*")))
(copy-recursively "doc" doc) (copy-recursively "doc" doc)
(copy-recursively "examples" examples) (copy-recursively "examples" examples)
#t)))))) #t))))))

View file

@ -190,14 +190,12 @@ in the Mozilla clients.")
(obj (match (scandir "dist" (cut string-suffix? "OBJ" <>)) (obj (match (scandir "dist" (cut string-suffix? "OBJ" <>))
((obj) (string-append "dist/" obj))))) ((obj) (string-append "dist/" obj)))))
;; Install nss-config to $out/bin. ;; Install nss-config to $out/bin.
(mkdir-p (string-append out "/bin")) (install-file (string-append obj "/bin/nss-config")
(copy-file (string-append obj "/bin/nss-config") (string-append out "/bin"))
(string-append out "/bin/nss-config"))
(delete-file (string-append obj "/bin/nss-config")) (delete-file (string-append obj "/bin/nss-config"))
;; Install nss.pc to $out/lib/pkgconfig. ;; Install nss.pc to $out/lib/pkgconfig.
(mkdir-p (string-append out "/lib/pkgconfig")) (install-file (string-append obj "/lib/pkgconfig/nss.pc")
(copy-file (string-append obj "/lib/pkgconfig/nss.pc") (string-append out "/lib/pkgconfig"))
(string-append out "/lib/pkgconfig/nss.pc"))
(delete-file (string-append obj "/lib/pkgconfig/nss.pc")) (delete-file (string-append obj "/lib/pkgconfig/nss.pc"))
(rmdir (string-append obj "/lib/pkgconfig")) (rmdir (string-append obj "/lib/pkgconfig"))
;; Install other files. ;; Install other files.

View file

@ -452,7 +452,7 @@ http:://json.org specification. These are the main features:
scm-files) scm-files)
;; Also copy over the README. ;; Also copy over the README.
(copy-file "README.org" (string-append doc "/README.org")) (install-file "README.org" doc)
#t)))) #t))))
(inputs (inputs
`(("guile" ,guile-2.0))) `(("guile" ,guile-2.0)))

View file

@ -102,8 +102,8 @@
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
(let ((java (string-append (assoc-ref outputs "out") (let ((java (string-append (assoc-ref outputs "out")
"/share/java"))) "/share/java")))
(mkdir-p java) (install-file "swt.jar" java)
(copy-file "swt.jar" (string-append java "/swt.jar"))) #t) #t))
(alist-delete 'configure %standard-phases)))))) (alist-delete 'configure %standard-phases))))))
(inputs (inputs
`(("xulrunner" ,icecat) `(("xulrunner" ,icecat)

View file

@ -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. ;; But of course, there are exceptions to this rule.
(let ((grep (assoc-ref %build-inputs "grep"))) (let ((grep (assoc-ref %build-inputs "grep")))
(copy-file (string-append grep "/bin/fgrep") (install-file (string-append grep "/bin/fgrep") bin)
(string-append bin "/fgrep")) (install-file (string-append grep "/bin/egrep") bin))
(copy-file (string-append grep "/bin/egrep")
(string-append bin "/egrep")))
;; Clear references to the store path. ;; Clear references to the store path.
(for-each remove-store-references (for-each remove-store-references

View file

@ -1828,21 +1828,17 @@ specifications.")
(string-append lib "/liblpsolve55.a")) (string-append lib "/liblpsolve55.a"))
(copy-file "lpsolve55/bin/ux64/liblpsolve55.so" (copy-file "lpsolve55/bin/ux64/liblpsolve55.so"
(string-append lib "/liblpsolve55.so")) (string-append lib "/liblpsolve55.so"))
(mkdir-p bin) (install-file "lp_solve/bin/ux64/lp_solve" bin)
(copy-file "lp_solve/bin/ux64/lp_solve"
(string-append bin "/lp_solve"))
(mkdir-p include)
;; Install a subset of the header files as on Debian ;; Install a subset of the header files as on Debian
;; (plus lp_bit.h, which matches the regular expression). ;; (plus lp_bit.h, which matches the regular expression).
(for-each (for-each (lambda (name)
(lambda (name) (install-file name include))
(copy-file name (string-append include "/" name))) (find-files "." "lp_[HMSa-z].*\\.h$"))
(find-files "." "lp_[HMSa-z].*\\.h$"))
(with-directory-excursion "shared" (with-directory-excursion "shared"
(for-each (for-each (lambda (name)
(lambda (name) (install-file name include))
(copy-file name (string-append include "/" name))) (find-files "." "\\.h$")))
(find-files "." "\\.h$")))
#t)))))) #t))))))
(home-page "http://lpsolve.sourceforge.net/") (home-page "http://lpsolve.sourceforge.net/")
(synopsis "Mixed integer linear programming (MILP) solver") (synopsis "Mixed integer linear programming (MILP) solver")

View file

@ -435,7 +435,7 @@ format.")
(let* ((out (assoc-ref outputs "out")) (let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin"))) (bin (string-append out "/bin")))
(mkdir-p bin) (mkdir-p bin)
(copy-file "mpc123" (string-append bin "/mpc123")))) (install-file "mpc123" bin)))
%standard-phases)) %standard-phases))
#:tests? #f)) #:tests? #f))

View file

@ -66,11 +66,8 @@
(let* ((out (assoc-ref outputs "out")) (let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin")) (bin (string-append out "/bin"))
(doc (string-append out "/share/doc/ninja"))) (doc (string-append out "/share/doc/ninja")))
(mkdir-p bin) (install-file "ninja" bin)
(copy-file "ninja" (string-append bin "/ninja")) (install-file "doc/manual.asciidoc" doc)
(mkdir-p doc)
(copy-file "doc/manual.asciidoc"
(string-append doc "/manual.asciidoc"))
#t)))))) #t))))))
(home-page "http://martine.github.io/ninja/") (home-page "http://martine.github.io/ninja/")
(synopsis "Small build system") (synopsis "Small build system")

View file

@ -2784,7 +2784,7 @@ association studies (GWAS) on extremely large data sets.")
(tgt-dir (string-append html "/" dir))) (tgt-dir (string-append html "/" dir)))
(unless (equal? "." dir) (unless (equal? "." dir)
(mkdir-p tgt-dir)) (mkdir-p tgt-dir))
(copy-file file (string-append html "/" file)))) (install-file file html)))
(find-files "." ".*")))))) (find-files "." ".*"))))))
,phases))))))) ,phases)))))))
@ -2828,7 +2828,7 @@ association studies (GWAS) on extremely large data sets.")
(for-each (for-each
(lambda (dir tgt) (lambda (dir tgt)
(map (lambda (file) (map (lambda (file)
(copy-file file (string-append tgt "/" (basename file)))) (install-file file tgt))
(find-files dir ".*"))) (find-files dir ".*")))
(list "docs" "htmldoc" "examples") (list "docs" "htmldoc" "examples")
(list doc html-doc examples)))) (list doc html-doc examples))))
@ -3140,9 +3140,7 @@ atlas_libs = openblas
(for-each (lambda (file) (for-each (lambda (file)
(let* ((dir (dirname file)) (let* ((dir (dirname file))
(tgt-dir (string-append html "/" dir))) (tgt-dir (string-append html "/" dir)))
(unless (equal? "." dir) (install-file file html)))
(mkdir-p tgt-dir))
(copy-file file (string-append html "/" file))))
(find-files "." ".*")))))) (find-files "." ".*"))))))
;; Tests can only be run after the library has been installed and not ;; Tests can only be run after the library has been installed and not
;; within the source directory. ;; within the source directory.

View file

@ -79,8 +79,7 @@ view to show two terminals at once.")
'install 'install
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))) (let ((out (assoc-ref outputs "out")))
(mkdir-p (string-append out "/bin")) (install-file "dtach" (string-append out "/bin"))))
(copy-file "dtach" (string-append out "/bin/dtach"))))
%standard-phases) %standard-phases)
;; No check target. ;; No check target.
#:tests? #f)) #:tests? #f))

View file

@ -92,19 +92,15 @@
(ex (string-append out "/share/doc/synergy-" (ex (string-append out "/share/doc/synergy-"
,version "/examples"))) ,version "/examples")))
(begin (begin
(mkdir-p bin)
(for-each (for-each
(lambda (f) (lambda (f)
(copy-file (string-append srcdir "/bin/" f) (install-file (string-append srcdir "/bin/" f) bin))
(string-append bin "/" f)))
'("synergyc" "synergys" "synergyd" '("synergyc" "synergys" "synergyd"
"usynergy" "syntool")) "usynergy" "syntool"))
;; Install example configuration files ;; Install example configuration files
(mkdir-p ex)
(for-each (for-each
(lambda (e) (lambda (e)
(copy-file (string-append srcdir "/doc/" e) (install-file (string-append srcdir "/doc/" e) ex))
(string-append ex "/" e)))
'("synergy.conf.example" '("synergy.conf.example"
"synergy.conf.example-advanced" "synergy.conf.example-advanced"
"synergy.conf.example-basic"))))) "synergy.conf.example-basic")))))

View file

@ -111,11 +111,9 @@ libenca and several charset conversion libraries and tools.")
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
(let ((lib (string-append (assoc-ref outputs "out") "/lib/")) (let ((lib (string-append (assoc-ref outputs "out") "/lib/"))
(include (string-append (assoc-ref outputs "out") "/include/"))) (include (string-append (assoc-ref outputs "out") "/include/")))
(mkdir-p lib) (install-file "utf8proc.h" include)
(mkdir-p include)
(copy-file "utf8proc.h" (string-append include "utf8proc.h"))
(for-each (lambda (file) (for-each (lambda (file)
(copy-file file (string-append lib (basename file)))) (install-file file lib))
'("libutf8proc.a" "libutf8proc.so")))) '("libutf8proc.a" "libutf8proc.so"))))
;; no configure script ;; no configure script
(alist-delete 'configure %standard-phases)))) (alist-delete 'configure %standard-phases))))

View file

@ -432,11 +432,9 @@ lot easier.")
(output (assoc-ref %outputs "out")) (output (assoc-ref %outputs "out"))
(bindir (string-append output "/bin")) (bindir (string-append output "/bin"))
(script "git-test-sequence")) (script "git-test-sequence"))
(begin (install-file (string-append source "/" script)
(mkdir-p bindir) bindir)
(copy-file (string-append source "/" script) #t))))
(string-append bindir "/" script))
#t)))))
(home-page "http://dustin.sallings.org/2010/03/28/git-test-sequence.html") (home-page "http://dustin.sallings.org/2010/03/28/git-test-sequence.html")
(synopsis "Run a command over a sequence of commits") (synopsis "Run a command over a sequence of commits")
(description (description

View file

@ -174,16 +174,13 @@
;; directory. ;; directory.
(let ((dest-dir (string-append out "/etc/wicd")) (let ((dest-dir (string-append out "/etc/wicd"))
(name "dhclient.conf.template.default")) (name "dhclient.conf.template.default"))
(mkdir-p dest-dir) (install-file (string-append "other/" name) dest-dir))
(copy-file (string-append "other/" name)
(string-append dest-dir "/" name)))
;; Copy index.theme from hicolor-icon-theme. This is needed to ;; Copy index.theme from hicolor-icon-theme. This is needed to
;; allow wicd-gtk to find its icons. ;; allow wicd-gtk to find its icons.
(let ((hicolor (assoc-ref inputs "hicolor-icon-theme")) (let ((hicolor (assoc-ref inputs "hicolor-icon-theme"))
(name "/share/icons/hicolor/index.theme")) (name "/share/icons/hicolor/index.theme"))
(copy-file (string-append hicolor name) (install-file (string-append hicolor name) out))
(string-append out name)))
#t)) #t))
%standard-phases)))) %standard-phases))))
(synopsis "Network connection manager") (synopsis "Network connection manager")