From mboxrd@z Thu Jan 1 00:00:00 1970 From: Leo Famulari Subject: Re: [PATCH 5/6] gnu: Add borg. Date: Mon, 21 Mar 2016 18:35:19 -0400 Message-ID: <20160321223519.GA6523@jasmine> References: <14fe75ec9c8b651be6a5240dd5444e558615e1e1.1457998381.git.leo@famulari.name> <878u1k2jik.fsf@gmail.com> <20160315091845.GA9602@jasmine> <20160321213115.GA2717@jasmine> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="/9DWx/yDrRhgMJTb" Content-Transfer-Encoding: 8bit Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:60074) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ai8Pz-0004aP-QU for guix-devel@gnu.org; Mon, 21 Mar 2016 18:35:25 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ai8Pw-0004NK-Il for guix-devel@gnu.org; Mon, 21 Mar 2016 18:35:23 -0400 Received: from out1-smtp.messagingengine.com ([66.111.4.25]:55383) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ai8Pw-0004NB-EJ for guix-devel@gnu.org; Mon, 21 Mar 2016 18:35:20 -0400 Content-Disposition: inline In-Reply-To: <20160321213115.GA2717@jasmine> List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: Alex Kost Cc: guix-devel@gnu.org --/9DWx/yDrRhgMJTb Content-Type: text/plain; charset=us-ascii Content-Disposition: inline On Mon, Mar 21, 2016 at 05:31:15PM -0400, Leo Famulari wrote: > On Tue, Mar 15, 2016 at 05:18:45AM -0400, Leo Famulari wrote: > > On Tue, Mar 15, 2016 at 12:11:15PM +0300, Alex Kost wrote: > > > Leo Famulari (2016-03-15 02:34 +0300) wrote: > > > > + (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. > > I didn't test the change before replying ;) > > There is no #:make-flags for the python-build-system, so I have used a > single set-env phase instead. I asked upstream about some warnings during the docs generation, and they pointed out that I needed to add a command line. I've attached a revised patch. Can I get some feedback on it? --/9DWx/yDrRhgMJTb Content-Type: text/x-diff; charset=iso-8859-1 Content-Disposition: attachment; filename="0005-gnu-Add-borg.patch" Content-Transfer-Encoding: 8bit >From f5e9039a6d161d8b834b33a660e865d043627684 Mon Sep 17 00:00:00 2001 Message-Id: In-Reply-To: <90ce1642eb4e527227b4c2bce25dcf25b484e22f.1458599643.git.leo@famulari.name> References: <90ce1642eb4e527227b4c2bce25dcf25b484e22f.1458599643.git.leo@famulari.name> From: Leo Famulari Date: Mon, 14 Mar 2016 19:34:25 -0400 Subject: [PATCH 5/6] gnu: Add borg. * gnu/packages/backup.scm (borg): New variable. --- gnu/packages/backup.scm | 54 ++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 53 insertions(+), 1 deletion(-) diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm index 4a69b7a..d5c304b 100644 --- a/gnu/packages/backup.scm +++ b/gnu/packages/backup.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014, 2015 Eric Bavier ;;; Copyright © 2014 Ian Denhardt -;;; Copyright © 2015 Leo Famulari +;;; Copyright © 2015, 2016 Leo Famulari ;;; ;;; This file is part of GNU Guix. ;;; @@ -406,3 +406,55 @@ compression, and more. The library itself implements storage techniques such as content-addressable storage, content hash keys, Merkle trees, similarity detection, and lossless compression.") (license license:gpl3+))) + +(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-after 'unpack 'set-env + (lambda* (#:key inputs #:allow-other-keys) + (let ((openssl (assoc-ref inputs "openssl")) + (lz4 (assoc-ref inputs "lz4"))) + (setenv "BORG_OPENSSL_PREFIX" openssl) + (setenv "BORG_LZ4_PREFIX" lz4) + (setenv "PYTHON_EGG_CACHE" "/tmp") + #t))) + (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* "python3" "setup.py" "build_ext" "--inplace")) + (zero? (system* "make" "-C" "docs" "man")) + (install-file "docs/_build/man/borg.1" man))) + #t))))) + (native-inputs + `(("python-setuptools-scm" ,python-setuptools-scm) + ;; For generating the documentation. + ("python-sphinx" ,python-sphinx) + ("python-sphinx-rtd-theme" ,python-sphinx-rtd-theme))) + (inputs + `(("acl" ,acl) + ("lz4" ,lz4) + ("openssl" ,openssl) + ("python-llfuse" ,python-llfuse) + ("python-msgpack" ,python-msgpack))) + (synopsis "Deduplicated, encrypted, authenticated and compressed backups") + (description "Borg is a deduplicating backup program. Optionally, it +supports compression and authenticated encryption. The main goal of Borg is to +provide an efficient and secure way to backup data. The data deduplication +technique used makes Borg suitable for daily backups since only changes are +stored. The authenticated encryption technique makes it suitable for backups +to not fully trusted targets. Borg is a fork of Attic.") + (home-page "https://borgbackup.github.io/borgbackup/") + (license license:bsd-3))) -- 2.7.3 --/9DWx/yDrRhgMJTb--