all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Leo Famulari <leo@famulari.name>
To: Alex Kost <alezost@gmail.com>
Cc: guix-devel@gnu.org
Subject: Re: [PATCH 5/6] gnu: Add borg.
Date: Mon, 21 Mar 2016 18:35:19 -0400	[thread overview]
Message-ID: <20160321223519.GA6523@jasmine> (raw)
In-Reply-To: <20160321213115.GA2717@jasmine>

[-- Attachment #1: Type: text/plain, Size: 1358 bytes --]

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?

[-- Attachment #2: 0005-gnu-Add-borg.patch --]
[-- Type: text/x-diff, Size: 3667 bytes --]

From f5e9039a6d161d8b834b33a660e865d043627684 Mon Sep 17 00:00:00 2001
Message-Id: <f5e9039a6d161d8b834b33a660e865d043627684.1458599643.git.leo@famulari.name>
In-Reply-To: <90ce1642eb4e527227b4c2bce25dcf25b484e22f.1458599643.git.leo@famulari.name>
References: <90ce1642eb4e527227b4c2bce25dcf25b484e22f.1458599643.git.leo@famulari.name>
From: Leo Famulari <leo@famulari.name>
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 <bavier@member.fsf.org>
 ;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net>
-;;; Copyright © 2015 Leo Famulari <leo@famulari.name>
+;;; Copyright © 2015, 2016 Leo Famulari <leo@famulari.name>
 ;;;
 ;;; 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


  reply	other threads:[~2016-03-21 22:35 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-03-14 23:34 [PATCH 0/6] Add borg Leo Famulari
2016-03-14 23:34 ` [PATCH 1/6] gnu: python-msgpack: Update to 0.4.7 Leo Famulari
2016-03-14 23:34 ` [PATCH 2/6] gnu: python-msgpack: Use 'python2-variant' Leo Famulari
2016-03-14 23:34 ` [PATCH 3/6] gnu: attic: Specify dependency on python-llfuse@0.41 Leo Famulari
2016-03-15  8:58   ` Alex Kost
2016-03-15  9:13     ` Leo Famulari
2016-03-14 23:34 ` [PATCH 4/6] gnu: python-llfuse: Update to 1.0, keep 0.41 variant Leo Famulari
2016-03-15  8:53   ` Alex Kost
2016-03-15  9:13     ` Leo Famulari
2016-03-15 10:12       ` Mathieu Lirzin
2016-03-15 16:25         ` Ludovic Courtès
2016-03-21  2:49           ` Leo Famulari
2016-03-21  8:52             ` Alex Kost
2016-03-14 23:34 ` [PATCH 5/6] gnu: Add borg Leo Famulari
2016-03-15  9:11   ` Alex Kost
2016-03-15  9:18     ` Leo Famulari
2016-03-21 21:31       ` Leo Famulari
2016-03-21 22:35         ` Leo Famulari [this message]
2016-03-21 22:52           ` Leo Famulari
2016-03-22 20:20             ` Alex Kost
2016-03-22 21:25               ` Leo Famulari
2016-03-23  8:14                 ` Alex Kost
2016-03-23 20:49                   ` Efraim Flashner
2016-03-14 23:34 ` [PATCH 6/6] gnu: python-llfuse@0.41: Update to 0.41.1 Leo Famulari
2016-03-24 21:55 ` [PATCH 0/6] Add borg Leo Famulari

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20160321223519.GA6523@jasmine \
    --to=leo@famulari.name \
    --cc=alezost@gmail.com \
    --cc=guix-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.