On Tue, Mar 15, 2016 at 12:11:15PM +0300, Alex Kost wrote: > Leo Famulari (2016-03-15 02:34 +0300) wrote: > > > * gnu/packages/backup.scm (borg): New variable. > > --- > > gnu/packages/backup.scm | 53 > > ++++++++++++++++++++++++++++++++++++++++++++++++- > > 1 file changed, 52 insertions(+), 1 deletion(-) > [...] > > +(define-public borg > > + (package > > + (name "borg") > > + (version "1.0.0") > > + (source (origin > > + (method url-fetch) > > + (uri (pypi-uri "borgbackup" version)) > > + (sha256 > > + (base32 > > + "0wa6cvqs3rni5nwrgagigchcly8a53rxk56z0zn8iaii2cqrw2sh")))) > > + (build-system python-build-system) > > + (arguments > > + `(#:phases > > + (modify-phases %standard-phases > > + (add-before 'build 'set-openssl-prefix > > + (lambda* (#:key inputs #:allow-other-keys) > > + (setenv "BORG_OPENSSL_PREFIX" (assoc-ref inputs "openssl")) > > + #t)) > > + (add-before 'build 'set-lz4-prefix > > + (lambda* (#:key inputs #:allow-other-keys) > > + (setenv "BORG_LZ4_PREFIX" (assoc-ref inputs "lz4")) > > + #t)) > > Would it be better to make a single 'set-env' phase instead? Or better > yet, are these '..._PREFIX' variables used for make command? If so, > they should be specified in #:make-flags argument.
Thank you, that makes the recipe shorter and clearer. > > > + (add-after 'install 'docs > > + (lambda* (#:key outputs #:allow-other-keys) > > + (let* ((out (assoc-ref outputs "out")) > > + (man (string-append out "/share/man/man1"))) > > + (and > > + (zero? (system* "make" "-C" "docs" "man")) > > + (install-file "docs/_build/man/borg.1" man))) > > Since 'install-file' does not specify a returned value, and we are not > really interested in the returned value, I think it is better to use > 'when' instead of 'and' here: > > (when (zero? (system* "make" "-C" "docs" "man")) > (install-file "docs/_build/man/borg.1" man)) Okay, that makes sense. > > > + #t))))) > > -- > Alex