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. > + (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)) > + #t))))) -- Alex