2014-05-27 11:04:42 -04:00
|
|
|
;;; GNU Guix --- Functional package management for GNU
|
2015-07-17 03:50:55 -04:00
|
|
|
;;; Copyright © 2014, 2015 Eric Bavier <bavier@member.fsf.org>
|
2014-10-18 22:03:42 -04:00
|
|
|
;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net>
|
2016-03-14 19:34:25 -04:00
|
|
|
;;; Copyright © 2015, 2016 Leo Famulari <leo@famulari.name>
|
2014-05-27 11:04:42 -04:00
|
|
|
;;;
|
|
|
|
;;; This file is part of GNU Guix.
|
|
|
|
;;;
|
|
|
|
;;; GNU Guix is free software; you can redistribute it and/or modify it
|
|
|
|
;;; under the terms of the GNU General Public License as published by
|
|
|
|
;;; the Free Software Foundation; either version 3 of the License, or (at
|
|
|
|
;;; your option) any later version.
|
|
|
|
;;;
|
|
|
|
;;; GNU Guix is distributed in the hope that it will be useful, but
|
|
|
|
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
;;; GNU General Public License for more details.
|
|
|
|
;;;
|
|
|
|
;;; You should have received a copy of the GNU General Public License
|
|
|
|
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
|
|
|
|
(define-module (gnu packages backup)
|
|
|
|
#:use-module (guix packages)
|
Use #:prefix instead of #:renamer with 'symbol-prefix-proc'.
* gnu/packages/abiword.scm, gnu/packages/admin.scm, gnu/packages/aidc.scm,
gnu/packages/backup.scm, gnu/packages/bittorrent.scm,
gnu/packages/boost.scm, gnu/packages/compression.scm,
gnu/packages/cryptsetup.scm, gnu/packages/curl.scm,
gnu/packages/cyrus-sasl.scm, gnu/packages/dc.scm, gnu/packages/emacs.scm,
gnu/packages/fonts.scm, gnu/packages/fontutils.scm, gnu/packages/geeqie.scm,
gnu/packages/ghostscript.scm, gnu/packages/gimp.scm,
gnu/packages/gkrellm.scm, gnu/packages/gl.scm, gnu/packages/glib.scm,
gnu/packages/gnome.scm, gnu/packages/gnunet.scm, gnu/packages/gnupg.scm,
gnu/packages/gnutls.scm, gnu/packages/gnuzilla.scm, gnu/packages/gsasl.scm,
gnu/packages/gtk.scm, gnu/packages/gv.scm, gnu/packages/image.scm,
gnu/packages/indent.scm, gnu/packages/inkscape.scm,
gnu/packages/lesstif.scm, gnu/packages/links.scm, gnu/packages/lisp.scm,
gnu/packages/lsh.scm, gnu/packages/lsof.scm, gnu/packages/maths.scm,
gnu/packages/mp3.scm, gnu/packages/openssl.scm, gnu/packages/ots.scm,
gnu/packages/pciutils.scm, gnu/packages/pcre.scm, gnu/packages/pdf.scm,
gnu/packages/pulseaudio.scm, gnu/packages/python.scm, gnu/packages/slim.scm,
gnu/packages/ssh.scm, gnu/packages/texlive.scm, gnu/packages/vim.scm,
gnu/packages/vpn.scm, gnu/packages/web.scm, gnu/packages/wv.scm,
gnu/packages/xiph.scm, gnu/packages/xml.scm, gnu/packages/xorg.scm,
gnu/packages/yasm.scm, gnu/packages/zip.scm,
guix/build/cmake-build-system.scm, guix/build/perl-build-system.scm,
guix/build/python-build-system.scm, guix/download.scm: Replaces uses of
#:renamer and 'symbol-prefix-proc' with #:prefix.
2014-09-23 16:44:22 -04:00
|
|
|
#:use-module ((guix licenses) #:prefix license:)
|
2014-05-27 11:04:42 -04:00
|
|
|
#:use-module (guix download)
|
2014-10-18 22:03:42 -04:00
|
|
|
#:use-module (guix utils)
|
2014-06-05 00:45:31 -04:00
|
|
|
#:use-module (guix build utils)
|
2014-05-29 17:35:12 -04:00
|
|
|
#:use-module (guix build-system gnu)
|
2014-05-27 11:04:42 -04:00
|
|
|
#:use-module (guix build-system python)
|
|
|
|
#:use-module (gnu packages)
|
2015-09-01 17:33:53 -04:00
|
|
|
#:use-module (gnu packages acl)
|
2016-09-13 10:07:42 -04:00
|
|
|
#:use-module (gnu packages autotools)
|
2014-05-29 17:35:12 -04:00
|
|
|
#:use-module (gnu packages base)
|
|
|
|
#:use-module (gnu packages compression)
|
2015-10-29 12:07:08 -04:00
|
|
|
#:use-module (gnu packages databases)
|
2014-05-29 17:36:42 -04:00
|
|
|
#:use-module (gnu packages dejagnu)
|
2014-05-29 17:35:12 -04:00
|
|
|
#:use-module (gnu packages glib)
|
2014-05-27 11:04:42 -04:00
|
|
|
#:use-module (gnu packages gnupg)
|
2015-10-29 12:07:08 -04:00
|
|
|
#:use-module (gnu packages gperf)
|
|
|
|
#:use-module (gnu packages guile)
|
2014-09-28 16:04:34 -04:00
|
|
|
#:use-module (gnu packages linux)
|
2014-05-29 17:35:12 -04:00
|
|
|
#:use-module (gnu packages mcrypt)
|
2014-05-29 17:36:42 -04:00
|
|
|
#:use-module (gnu packages nettle)
|
|
|
|
#:use-module (gnu packages pcre)
|
2014-05-29 17:35:12 -04:00
|
|
|
#:use-module (gnu packages pkg-config)
|
2015-09-01 17:33:53 -04:00
|
|
|
#:use-module (gnu packages python)
|
2014-05-27 11:04:42 -04:00
|
|
|
#:use-module (gnu packages rsync)
|
2014-05-29 17:35:12 -04:00
|
|
|
#:use-module (gnu packages ssh)
|
2015-09-01 17:33:53 -04:00
|
|
|
#:use-module (gnu packages tls)
|
2014-10-18 22:03:42 -04:00
|
|
|
#:use-module (gnu packages xml))
|
2014-05-27 11:04:42 -04:00
|
|
|
|
|
|
|
(define-public duplicity
|
|
|
|
(package
|
|
|
|
(name "duplicity")
|
2015-07-17 03:50:55 -04:00
|
|
|
(version "0.6.26")
|
2014-05-27 11:04:42 -04:00
|
|
|
(source
|
|
|
|
(origin
|
|
|
|
(method url-fetch)
|
|
|
|
(uri (string-append "https://code.launchpad.net/duplicity/"
|
2014-10-18 22:03:42 -04:00
|
|
|
(version-major+minor version)
|
2014-05-27 11:04:42 -04:00
|
|
|
"-series/" version "/+download/duplicity-"
|
|
|
|
version ".tar.gz"))
|
|
|
|
(sha256
|
|
|
|
(base32
|
2015-07-17 03:50:55 -04:00
|
|
|
"0jh79syhr8n3l81jxlwsmwm1pklb4d923m2lgqbswyavh1fqmvwb"))
|
2016-04-08 08:18:13 -04:00
|
|
|
(patches (search-patches "duplicity-piped-password.patch"
|
|
|
|
"duplicity-test_selection-tmp.patch"))))
|
2014-05-27 11:04:42 -04:00
|
|
|
(build-system python-build-system)
|
|
|
|
(native-inputs
|
2014-09-20 17:38:16 -04:00
|
|
|
`(("python2-setuptools" ,python2-setuptools)
|
|
|
|
("util-linux" ,util-linux))) ;setsid command, for the tests
|
2014-05-27 11:04:42 -04:00
|
|
|
(inputs
|
|
|
|
`(("python" ,python-2)
|
|
|
|
("librsync" ,librsync)
|
|
|
|
("mock" ,python2-mock) ;for testing
|
|
|
|
("lockfile" ,python2-lockfile)
|
2014-09-28 16:04:34 -04:00
|
|
|
("gnupg" ,gnupg-1) ;gpg executable needed
|
|
|
|
("util-linux" ,util-linux) ;for setsid
|
|
|
|
("tzdata" ,tzdata)))
|
2014-05-27 11:04:42 -04:00
|
|
|
(arguments
|
|
|
|
`(#:python ,python-2 ;setup assumes Python 2
|
|
|
|
#:test-target "test"
|
|
|
|
#:phases (alist-cons-before
|
2014-09-28 16:04:34 -04:00
|
|
|
'check 'check-setup
|
|
|
|
(lambda* (#:key inputs #:allow-other-keys)
|
2014-05-27 11:04:42 -04:00
|
|
|
(substitute* "testing/functional/__init__.py"
|
2014-09-28 16:04:34 -04:00
|
|
|
(("/bin/sh") (which "sh")))
|
|
|
|
(setenv "HOME" (getcwd)) ;gpg needs to write to $HOME
|
|
|
|
(setenv "TZDIR" ;some timestamp checks need TZDIR
|
|
|
|
(string-append (assoc-ref inputs "tzdata")
|
|
|
|
"/share/zoneinfo")))
|
2014-05-27 11:04:42 -04:00
|
|
|
%standard-phases)))
|
|
|
|
(home-page "http://duplicity.nongnu.org/index.html")
|
|
|
|
(synopsis "Encrypted backup using rsync algorithm")
|
|
|
|
(description
|
|
|
|
"Duplicity backs up directories by producing encrypted tar-format volumes
|
|
|
|
and uploading them to a remote or local file server. Because duplicity uses
|
|
|
|
librsync, the incremental archives are space efficient and only record the
|
|
|
|
parts of files that have changed since the last backup. Because duplicity
|
|
|
|
uses GnuPG to encrypt and/or sign these archives, they will be safe from
|
|
|
|
spying and/or modification by the server.")
|
2014-05-31 09:25:49 -04:00
|
|
|
(license license:gpl2+)))
|
2014-05-29 17:35:12 -04:00
|
|
|
|
2016-09-13 10:07:42 -04:00
|
|
|
(define-public par2cmdline
|
|
|
|
(package
|
|
|
|
(name "par2cmdline")
|
|
|
|
(version "0.6.14")
|
|
|
|
(source (origin
|
|
|
|
(method url-fetch)
|
|
|
|
(uri (string-append "https://github.com/Parchive/par2cmdline/archive/v"
|
|
|
|
version ".tar.gz"))
|
|
|
|
(file-name (string-append name "-" version ".tar.gz"))
|
|
|
|
(sha256
|
|
|
|
(base32
|
|
|
|
"0ykfb7ar0x0flfdgf6i8xphyv5b93dalbjj2jb6hx7sdjax33n1g"))
|
|
|
|
;; This test merely needs a file to test recovery on, but
|
|
|
|
;; /dev/random is essentially /dev/urandom plus minimum entropy
|
|
|
|
;; locking, making the test hang indefinitely. This change is
|
|
|
|
;; already upstream: remove on upgrade to future 0.6.15.
|
|
|
|
;; https://github.com/Parchive/par2cmdline/commit/27723a678f780da82c79b98592592009c779a4fb
|
|
|
|
(modules '((guix build utils)))
|
|
|
|
(snippet
|
|
|
|
'(substitute* "tests/test20" (("if=/dev/random") "if=/dev/urandom")))))
|
|
|
|
(native-inputs
|
|
|
|
`(("automake" ,automake)
|
|
|
|
("autoconf" ,autoconf)))
|
|
|
|
(build-system gnu-build-system)
|
|
|
|
(arguments
|
|
|
|
`(#:phases
|
|
|
|
(modify-phases %standard-phases
|
|
|
|
(add-after 'unpack 'autoreconf
|
|
|
|
(lambda _ (zero? (system* "autoreconf" "-vfi")))))))
|
|
|
|
(synopsis "File verification and repair tool")
|
|
|
|
(description "Par2cmdline is a tool for generating RAID-like PAR2 recovery
|
|
|
|
files using Reed-Solomon coding. PAR2 files can be stored along side backups
|
|
|
|
or distributed files for recovering from bitrot.")
|
|
|
|
(home-page "https://github.com/Parchive/par2cmdline")
|
|
|
|
(license license:gpl3+)))
|
|
|
|
|
2014-05-29 17:35:12 -04:00
|
|
|
(define-public hdup
|
|
|
|
(package
|
|
|
|
(name "hdup")
|
|
|
|
(version "2.0.14")
|
|
|
|
(source
|
|
|
|
(origin
|
|
|
|
(method url-fetch)
|
2016-07-24 15:29:40 -04:00
|
|
|
(uri "https://fossies.org/linux/privat/old/hdup-2.0.14.tar.bz2")
|
2014-05-29 17:35:12 -04:00
|
|
|
(sha256
|
|
|
|
(base32
|
|
|
|
"02bnczg01cyhajmm4rhbnc0ja0dd9ikv9fwv28asxh1rlx9yr0b7"))))
|
|
|
|
(build-system gnu-build-system)
|
|
|
|
(native-inputs `(("pkg-config" ,pkg-config)))
|
|
|
|
(inputs
|
|
|
|
`(("glib" ,glib)
|
|
|
|
("tar" ,tar)
|
|
|
|
("lzop" ,lzop)
|
|
|
|
("mcrypt" ,mcrypt)
|
|
|
|
("openssh" ,openssh)
|
|
|
|
("gnupg" ,gnupg-1)))
|
|
|
|
(arguments
|
|
|
|
`(#:configure-flags
|
|
|
|
`(,(string-append "--sbindir=" (assoc-ref %outputs "out") "/bin"))
|
|
|
|
#:tests? #f))
|
|
|
|
(home-page "http://archive.miek.nl/projects/hdup/index.html")
|
|
|
|
(synopsis "Simple incremental backup tool")
|
|
|
|
(description
|
2015-07-23 03:40:05 -04:00
|
|
|
"Hdup2 is a backup utility, its aim is to make backup really simple. The
|
2014-05-29 17:35:12 -04:00
|
|
|
backup scheduling is done by means of a cron job. It supports an
|
|
|
|
include/exclude mechanism, remote backups, encrypted backups and split
|
|
|
|
backups (called chunks) to allow easy burning to CD/DVD.")
|
2014-05-31 09:25:49 -04:00
|
|
|
(license license:gpl2)))
|
|
|
|
|
|
|
|
(define-public libarchive
|
|
|
|
(package
|
|
|
|
(name "libarchive")
|
2016-06-21 14:36:12 -04:00
|
|
|
(version "3.2.1")
|
2014-05-31 09:25:49 -04:00
|
|
|
(source
|
|
|
|
(origin
|
|
|
|
(method url-fetch)
|
|
|
|
(uri (string-append "http://libarchive.org/downloads/libarchive-"
|
|
|
|
version ".tar.gz"))
|
2016-10-03 16:55:21 -04:00
|
|
|
(patches (search-patches
|
|
|
|
"libarchive-7zip-heap-overflow.patch"
|
|
|
|
"libarchive-fix-symlink-check.patch"
|
|
|
|
"libarchive-fix-filesystem-attacks.patch"
|
|
|
|
"libarchive-safe_fprintf-buffer-overflow.patch"))
|
2014-05-31 09:25:49 -04:00
|
|
|
(sha256
|
|
|
|
(base32
|
2016-06-21 14:36:12 -04:00
|
|
|
"1lngng84k1kkljl74q0cdqc3s82vn2kimfm02dgm4d6m7x71mvkj"))))
|
2014-05-31 09:25:49 -04:00
|
|
|
(build-system gnu-build-system)
|
2015-10-25 19:13:03 -04:00
|
|
|
;; TODO: Add -L/path/to/nettle in libarchive.pc.
|
2014-05-31 09:25:49 -04:00
|
|
|
(inputs
|
|
|
|
`(("zlib" ,zlib)
|
|
|
|
("nettle" ,nettle)
|
|
|
|
("lzo" ,lzo)
|
|
|
|
("bzip2" ,bzip2)
|
|
|
|
("libxml2" ,libxml2)
|
|
|
|
("xz" ,xz)))
|
|
|
|
(arguments
|
|
|
|
`(#:phases
|
|
|
|
(alist-cons-before
|
|
|
|
'build 'patch-pwd
|
|
|
|
(lambda _
|
|
|
|
(substitute* "Makefile"
|
|
|
|
(("/bin/pwd") (which "pwd"))))
|
|
|
|
(alist-replace
|
|
|
|
'check
|
|
|
|
(lambda _
|
|
|
|
;; XXX: The test_owner_parse, test_read_disk, and
|
|
|
|
;; test_write_disk_lookup tests expect user 'root' to exist, but
|
|
|
|
;; the chroot's /etc/passwd doesn't have it. Turn off those tests.
|
|
|
|
;;
|
|
|
|
;; The tests allow one to disable tests matching a globbing pattern.
|
|
|
|
(and (zero? (system* "make"
|
|
|
|
"libarchive_test" "bsdcpio_test" "bsdtar_test"))
|
|
|
|
;; XXX: This glob disables too much.
|
|
|
|
(zero? (system* "./libarchive_test" "^test_*_disk*"))
|
|
|
|
(zero? (system* "./bsdcpio_test" "^test_owner_parse"))
|
|
|
|
(zero? (system* "./bsdtar_test"))))
|
2016-06-21 14:36:12 -04:00
|
|
|
%standard-phases))
|
|
|
|
;; libarchive/test/test_write_format_gnutar_filenames.c needs to be
|
|
|
|
;; compiled with C99 or C11 or a gnu variant.
|
|
|
|
#:configure-flags '("CFLAGS=-O2 -g -std=c99")))
|
2014-05-31 09:25:49 -04:00
|
|
|
(home-page "http://libarchive.org/")
|
|
|
|
(synopsis "Multi-format archive and compression library")
|
|
|
|
(description
|
|
|
|
"Libarchive provides a flexible interface for reading and writing
|
|
|
|
archives in various formats such as tar and cpio. Libarchive also supports
|
|
|
|
reading and writing archives compressed using various compression filters such
|
|
|
|
as gzip and bzip2. The library is inherently stream-oriented; readers
|
|
|
|
serially iterate through the archive, writers serially add things to the
|
gnu: Some cleanup based on lint checkers.
* gnu/packages/admin.scm, gnu/packages/aidc.scm, gnu/packages/algebra.scm,
gnu/packages/apr.scm, gnu/packages/avahi.scm, gnu/packages/backup.scm,
gnu/packages/base.scm, gnu/packages/calcurse.scm, gnu/packages/cdrom.scm,
gnu/packages/check.scm, gnu/packages/compression.scm, gnu/packages/cook.scm,
gnu/packages/crypto.scm, gnu/packages/cryptsetup.scm, gnu/packages/curl.scm,
gnu/packages/cyrus-sasl.scm, gnu/packages/databases.scm,
gnu/packages/doxygen.scm, gnu/packages/dwm.scm, gnu/packages/elf.scm,
gnu/packages/emacs.scm, gnu/packages/feh.scm, gnu/packages/file.scm,
gnu/packages/fish.scm, gnu/packages/flex.scm, gnu/packages/fltk.scm,
gnu/packages/fontutils.scm, gnu/packages/games.scm, gnu/packages/gcal.scm,
gnu/packages/gcc.scm, gnu/packages/geeqie.scm, gnu/packages/ghostscript.scm,
gnu/packages/gimp.scm, gnu/packages/gl.scm, gnu/packages/glib.scm,
gnu/packages/gnome.scm, gnu/packages/gnunet.scm, gnu/packages/gnupg.scm,
gnu/packages/gperf.scm, gnu/packages/grub.scm, gnu/packages/gsasl.scm,
gnu/packages/gtk.scm, gnu/packages/guile-wm.scm, gnu/packages/guile.scm,
gnu/packages/hurd.scm, gnu/packages/icu4c.scm, gnu/packages/image.scm,
gnu/packages/imagemagick.scm, gnu/packages/irssi.scm, gnu/packages/kde.scm,
gnu/packages/libdaemon.scm, gnu/packages/libevent.scm,
gnu/packages/libidn.scm, gnu/packages/libusb.scm, gnu/packages/linux.scm,
gnu/packages/lout.scm, gnu/packages/lsh.scm, gnu/packages/lsof.scm,
gnu/packages/lua.scm, gnu/packages/maths.scm, gnu/packages/mcrypt.scm,
gnu/packages/mp3.scm, gnu/packages/netpbm.scm, gnu/packages/noweb.scm,
gnu/packages/ocaml.scm, gnu/packages/openssl.scm, gnu/packages/pcre.scm,
gnu/packages/pdf.scm, gnu/packages/pkg-config.scm,
gnu/packages/pretty-print.scm, gnu/packages/python.scm, gnu/packages/qt.scm,
gnu/packages/rsync.scm, gnu/packages/scheme.scm, gnu/packages/scrot.scm,
gnu/packages/sdl.scm, gnu/packages/skribilo.scm, gnu/packages/ssh.scm,
gnu/packages/stalonetray.scm, gnu/packages/tcl.scm, gnu/packages/tcsh.scm,
gnu/packages/telephony.scm, gnu/packages/texlive.scm, gnu/packages/tor.scm,
gnu/packages/valgrind.scm, gnu/packages/version-control.scm,
gnu/packages/vim.scm, gnu/packages/vpn.scm, gnu/packages/w3m.scm,
gnu/packages/web.scm, gnu/packages/wordnet.scm, gnu/packages/xiph.scm,
gnu/packages/xml.scm, gnu/packages/xorg.scm, gnu/packages/zile.scm,
gnu/packages/zip.scm, gnu/packages/zsh.scm [synopsis, description]: Adjust
according to lint checkers.
* gnu/packages/fltk.scm (fltk)[source]: Wrap long line in uri.
* /gnu/packages/xiph.scm (libogg, libtheora, vorbis-tools)[source]: Same.
2014-10-24 00:46:59 -04:00
|
|
|
archive. In particular, note that there is currently no built-in support for
|
2014-05-31 09:25:49 -04:00
|
|
|
random access nor for in-place modification.")
|
|
|
|
(license license:bsd-2)))
|
2014-05-29 17:36:42 -04:00
|
|
|
|
|
|
|
(define-public rdup
|
|
|
|
(package
|
|
|
|
(name "rdup")
|
|
|
|
(version "1.1.14")
|
|
|
|
(source
|
|
|
|
(origin
|
|
|
|
(method url-fetch)
|
|
|
|
(uri (string-append "http://archive.miek.nl/projects/rdup/rdup-"
|
|
|
|
version ".tar.bz2"))
|
|
|
|
(sha256
|
|
|
|
(base32
|
2014-06-05 00:45:31 -04:00
|
|
|
"0aklwd9v7ix0m4ayl762sil685f42cwljzx3jz5skrnjaq32npmj"))
|
|
|
|
(modules '((guix build utils)))
|
|
|
|
(snippet
|
|
|
|
;; Some test scripts are missing shebangs, which cause "could not
|
|
|
|
;; execute" errors. Add shebangs.
|
|
|
|
'(for-each
|
|
|
|
(lambda (testscript)
|
|
|
|
(with-atomic-file-replacement
|
|
|
|
(string-append "testsuite/rdup/" testscript)
|
|
|
|
(lambda (in out)
|
|
|
|
(begin
|
|
|
|
(format out "#!/bin/sh\n" )
|
|
|
|
(dump-port in out)))))
|
|
|
|
'("rdup.hardlink.helper"
|
|
|
|
"rdup.hardlink-strip.helper"
|
|
|
|
"rdup.hardlink-strip2.helper"
|
|
|
|
"rdup.pipeline.helper")))))
|
2014-05-29 17:36:42 -04:00
|
|
|
(build-system gnu-build-system)
|
|
|
|
(native-inputs
|
|
|
|
`(("pkg-config" ,pkg-config)
|
|
|
|
("dejagnu" ,dejagnu)))
|
|
|
|
(inputs
|
|
|
|
`(("glib" ,glib)
|
|
|
|
("pcre" ,pcre)
|
|
|
|
("libarchive" ,libarchive)
|
|
|
|
("nettle" ,nettle)))
|
|
|
|
(arguments
|
|
|
|
`(#:parallel-build? #f ;race conditions
|
|
|
|
#:phases (alist-cons-before
|
|
|
|
'build 'remove-Werror
|
|
|
|
;; rdup uses a deprecated function from libarchive
|
|
|
|
(lambda _
|
|
|
|
(substitute* "GNUmakefile"
|
|
|
|
(("^(CFLAGS=.*)-Werror" _ front) front)))
|
2014-06-05 00:45:31 -04:00
|
|
|
(alist-cons-before
|
|
|
|
'check 'pre-check
|
|
|
|
(lambda _
|
|
|
|
(setenv "HOME" (getcwd))
|
|
|
|
(substitute* "testsuite/rdup/rdup.rdup-up-t-with-file.exp"
|
|
|
|
(("/bin/cat") (which "cat"))))
|
gnu packages: Clean up synopses and descriptions.
* gnu/packages/admin.scm, gnu/packages/algebra.scm, gnu/packages/audio.scm,
gnu/packages/backup.scm, gnu/packages/base.scm, gnu/packages/bittorrent.scm,
gnu/packages/code.scm, gnu/packages/compression.scm,
gnu/packages/databases.scm, gnu/packages/enchant.scm,
gnu/packages/firmware.scm, gnu/packages/fonts.scm,
gnu/packages/freedesktop.scm, gnu/packages/games.scm, gnu/packages/gd.scm,
gnu/packages/gl.scm, gnu/packages/gnome.scm, gnu/packages/gsasl.scm,
gnu/packages/gstreamer.scm, gnu/packages/gtk.scm, gnu/packages/guile.scm,
gnu/packages/haskell.scm, gnu/packages/language.scm,
gnu/packages/lesstif.scm, gnu/packages/libreoffice.scm,
gnu/packages/linux.scm, gnu/packages/llvm.scm, gnu/packages/maths.scm,
gnu/packages/mcrypt.scm, gnu/packages/mit-krb5.scm, gnu/packages/mp3.scm,
gnu/packages/ncdu.scm, gnu/packages/networking.scm, gnu/packages/ntp.scm,
gnu/packages/ocaml.scm, gnu/packages/openbox.scm, gnu/packages/pdf.scm,
gnu/packages/perl.scm, gnu/packages/pretty-print.scm,
gnu/packages/pulseaudio.scm, gnu/packages/python.scm,
gnu/packages/rdesktop.scm, gnu/packages/rdf.scm, gnu/packages/ruby.scm,
gnu/packages/slang.scm, gnu/packages/slim.scm, gnu/packages/telephony.scm,
gnu/packages/tls.scm, gnu/packages/tmux.scm, gnu/packages/tre.scm,
gnu/packages/unrtf.scm, gnu/packages/version-control.scm,
gnu/packages/vpn.scm, gnu/packages/web.scm, gnu/packages/wget.scm,
gnu/packages/xdisorg.scm, gnu/packages/xfce.scm, gnu/packages/xiph.scm:
Fix typos. Trim long lines. Add missing periods in the end of sentences.
Use double spaces between sentences. Remove trailing whitespaces.
2015-07-17 08:16:07 -04:00
|
|
|
|
2014-06-05 00:45:31 -04:00
|
|
|
%standard-phases))))
|
2014-05-29 17:36:42 -04:00
|
|
|
(home-page "http://archive.miek.nl/projects/rdup/index.html")
|
|
|
|
(synopsis "Provide a list of files to backup")
|
|
|
|
(description
|
|
|
|
"Rdup is a utility inspired by rsync and the plan9 way of doing backups.
|
|
|
|
Rdup itself does not backup anything, it only print a list of absolute
|
gnu packages: Clean up synopses and descriptions.
* gnu/packages/admin.scm, gnu/packages/algebra.scm, gnu/packages/audio.scm,
gnu/packages/backup.scm, gnu/packages/base.scm, gnu/packages/bittorrent.scm,
gnu/packages/code.scm, gnu/packages/compression.scm,
gnu/packages/databases.scm, gnu/packages/enchant.scm,
gnu/packages/firmware.scm, gnu/packages/fonts.scm,
gnu/packages/freedesktop.scm, gnu/packages/games.scm, gnu/packages/gd.scm,
gnu/packages/gl.scm, gnu/packages/gnome.scm, gnu/packages/gsasl.scm,
gnu/packages/gstreamer.scm, gnu/packages/gtk.scm, gnu/packages/guile.scm,
gnu/packages/haskell.scm, gnu/packages/language.scm,
gnu/packages/lesstif.scm, gnu/packages/libreoffice.scm,
gnu/packages/linux.scm, gnu/packages/llvm.scm, gnu/packages/maths.scm,
gnu/packages/mcrypt.scm, gnu/packages/mit-krb5.scm, gnu/packages/mp3.scm,
gnu/packages/ncdu.scm, gnu/packages/networking.scm, gnu/packages/ntp.scm,
gnu/packages/ocaml.scm, gnu/packages/openbox.scm, gnu/packages/pdf.scm,
gnu/packages/perl.scm, gnu/packages/pretty-print.scm,
gnu/packages/pulseaudio.scm, gnu/packages/python.scm,
gnu/packages/rdesktop.scm, gnu/packages/rdf.scm, gnu/packages/ruby.scm,
gnu/packages/slang.scm, gnu/packages/slim.scm, gnu/packages/telephony.scm,
gnu/packages/tls.scm, gnu/packages/tmux.scm, gnu/packages/tre.scm,
gnu/packages/unrtf.scm, gnu/packages/version-control.scm,
gnu/packages/vpn.scm, gnu/packages/web.scm, gnu/packages/wget.scm,
gnu/packages/xdisorg.scm, gnu/packages/xfce.scm, gnu/packages/xiph.scm:
Fix typos. Trim long lines. Add missing periods in the end of sentences.
Use double spaces between sentences. Remove trailing whitespaces.
2015-07-17 08:16:07 -04:00
|
|
|
file names to standard output. Auxiliary scripts are needed that act on this
|
2014-05-29 17:36:42 -04:00
|
|
|
list and implement the backup strategy.")
|
2014-05-31 09:25:49 -04:00
|
|
|
(license license:gpl3+)))
|
2014-05-29 17:37:28 -04:00
|
|
|
|
|
|
|
(define-public btar
|
|
|
|
(package
|
|
|
|
(name "btar")
|
|
|
|
(version "1.1.1")
|
|
|
|
(source
|
|
|
|
(origin
|
|
|
|
(method url-fetch)
|
|
|
|
(uri (string-append "http://vicerveza.homeunix.net/~viric/soft/btar/"
|
|
|
|
"btar-" version ".tar.gz"))
|
|
|
|
(sha256
|
|
|
|
(base32
|
|
|
|
"0miklk4bqblpyzh1bni4x6lqn88fa8fjn15x1k1n8bxkx60nlymd"))))
|
|
|
|
(build-system gnu-build-system)
|
|
|
|
(inputs
|
|
|
|
`(("librsync" ,librsync)))
|
|
|
|
(arguments
|
|
|
|
`(#:make-flags `(,(string-append "PREFIX=" (assoc-ref %outputs "out"))
|
|
|
|
"CC=gcc")
|
|
|
|
#:tests? #f ;test input not distributed
|
|
|
|
#:phases
|
|
|
|
(alist-delete
|
|
|
|
'configure ;no configure phase
|
|
|
|
%standard-phases)))
|
|
|
|
(home-page "http://viric.name/cgi-bin/btar/doc/trunk/doc/home.wiki")
|
|
|
|
(synopsis "Tar-compatible archiver")
|
|
|
|
(description
|
|
|
|
"Btar is a tar-compatible archiver which allows arbitrary compression and
|
|
|
|
ciphering, redundancy, differential backup, indexed extraction, multicore
|
|
|
|
compression, input and output serialisation, and tolerance to partial archive
|
|
|
|
errors.")
|
2014-05-31 09:25:49 -04:00
|
|
|
(license license:gpl3+)))
|
2014-05-30 15:29:42 -04:00
|
|
|
|
|
|
|
(define-public rdiff-backup
|
|
|
|
(package
|
|
|
|
(name "rdiff-backup")
|
|
|
|
(version "1.2.8")
|
|
|
|
(source
|
|
|
|
(origin
|
|
|
|
(method url-fetch)
|
|
|
|
(uri (string-append "mirror://savannah/rdiff-backup/rdiff-backup-"
|
|
|
|
version ".tar.gz"))
|
|
|
|
(sha256
|
|
|
|
(base32
|
|
|
|
"1nwmmh816f96h0ff1jxk95ad38ilbhbdl5dgibx1d4cl81dsi48d"))))
|
|
|
|
(build-system python-build-system)
|
|
|
|
(native-inputs
|
|
|
|
`(("python2-setuptools" ,python2-setuptools)))
|
|
|
|
(inputs
|
|
|
|
`(("python" ,python-2)
|
|
|
|
("librsync" ,librsync)))
|
|
|
|
(arguments
|
|
|
|
`(#:python ,python-2
|
|
|
|
#:tests? #f))
|
|
|
|
(home-page "http://www.nongnu.org/rdiff-backup/")
|
|
|
|
(synopsis "Local/remote mirroring+incremental backup")
|
|
|
|
(description
|
|
|
|
"Rdiff-backup backs up one directory to another, possibly over a network.
|
|
|
|
The target directory ends up a copy of the source directory, but extra reverse
|
|
|
|
diffs are stored in a special subdirectory of that target directory, so you
|
|
|
|
can still recover files lost some time ago. The idea is to combine the best
|
|
|
|
features of a mirror and an incremental backup. Rdiff-backup also preserves
|
|
|
|
subdirectories, hard links, dev files, permissions, uid/gid ownership,
|
|
|
|
modification times, extended attributes, acls, and resource forks. Also,
|
|
|
|
rdiff-backup can operate in a bandwidth efficient manner over a pipe, like
|
|
|
|
rsync. Thus you can use rdiff-backup and ssh to securely back a hard drive up
|
|
|
|
to a remote location, and only the differences will be transmitted. Finally,
|
gnu packages: Clean up synopses and descriptions.
* gnu/packages/admin.scm, gnu/packages/algebra.scm, gnu/packages/audio.scm,
gnu/packages/backup.scm, gnu/packages/base.scm, gnu/packages/bittorrent.scm,
gnu/packages/code.scm, gnu/packages/compression.scm,
gnu/packages/databases.scm, gnu/packages/enchant.scm,
gnu/packages/firmware.scm, gnu/packages/fonts.scm,
gnu/packages/freedesktop.scm, gnu/packages/games.scm, gnu/packages/gd.scm,
gnu/packages/gl.scm, gnu/packages/gnome.scm, gnu/packages/gsasl.scm,
gnu/packages/gstreamer.scm, gnu/packages/gtk.scm, gnu/packages/guile.scm,
gnu/packages/haskell.scm, gnu/packages/language.scm,
gnu/packages/lesstif.scm, gnu/packages/libreoffice.scm,
gnu/packages/linux.scm, gnu/packages/llvm.scm, gnu/packages/maths.scm,
gnu/packages/mcrypt.scm, gnu/packages/mit-krb5.scm, gnu/packages/mp3.scm,
gnu/packages/ncdu.scm, gnu/packages/networking.scm, gnu/packages/ntp.scm,
gnu/packages/ocaml.scm, gnu/packages/openbox.scm, gnu/packages/pdf.scm,
gnu/packages/perl.scm, gnu/packages/pretty-print.scm,
gnu/packages/pulseaudio.scm, gnu/packages/python.scm,
gnu/packages/rdesktop.scm, gnu/packages/rdf.scm, gnu/packages/ruby.scm,
gnu/packages/slang.scm, gnu/packages/slim.scm, gnu/packages/telephony.scm,
gnu/packages/tls.scm, gnu/packages/tmux.scm, gnu/packages/tre.scm,
gnu/packages/unrtf.scm, gnu/packages/version-control.scm,
gnu/packages/vpn.scm, gnu/packages/web.scm, gnu/packages/wget.scm,
gnu/packages/xdisorg.scm, gnu/packages/xfce.scm, gnu/packages/xiph.scm:
Fix typos. Trim long lines. Add missing periods in the end of sentences.
Use double spaces between sentences. Remove trailing whitespaces.
2015-07-17 08:16:07 -04:00
|
|
|
rdiff-backup is easy to use and settings have sensible defaults.")
|
2014-05-31 09:25:49 -04:00
|
|
|
(license license:gpl2+)))
|
2015-09-01 17:33:53 -04:00
|
|
|
|
2015-10-29 12:07:08 -04:00
|
|
|
(define-public libchop
|
|
|
|
(package
|
|
|
|
(name "libchop")
|
|
|
|
(version "0.5.2")
|
|
|
|
(source (origin
|
|
|
|
(method url-fetch)
|
|
|
|
(uri (string-append "mirror://savannah/libchop/libchop-"
|
|
|
|
version ".tar.gz"))
|
|
|
|
(sha256
|
|
|
|
(base32
|
|
|
|
"0fpdyxww41ba52d98blvnf543xvirq1v9xz1i3x1gm9lzlzpmc2g"))
|
2016-04-08 08:18:13 -04:00
|
|
|
(patches (search-patches "diffutils-gets-undeclared.patch"))))
|
2015-10-29 12:07:08 -04:00
|
|
|
(build-system gnu-build-system)
|
|
|
|
(native-inputs
|
|
|
|
`(("guile" ,guile-2.0)
|
|
|
|
("gperf" ,gperf)
|
|
|
|
("pkg-config" ,pkg-config)))
|
|
|
|
(inputs
|
|
|
|
`(("guile" ,guile-2.0)
|
|
|
|
("util-linux" ,util-linux)
|
|
|
|
("gnutls" ,gnutls)
|
|
|
|
("tdb" ,tdb)
|
|
|
|
("bdb" ,bdb)
|
|
|
|
("gdbm" ,gdbm)
|
|
|
|
("libgcrypt" ,libgcrypt)
|
|
|
|
("lzo" ,lzo)
|
|
|
|
("bzip2" ,bzip2)
|
|
|
|
("zlib" ,zlib)))
|
|
|
|
(home-page "http://nongnu.org/libchop/")
|
|
|
|
(synopsis "Tools & library for data backup and distributed storage")
|
|
|
|
(description
|
|
|
|
"Libchop is a set of utilities and library for data backup and
|
|
|
|
distributed storage. Its main application is @command{chop-backup}, an
|
|
|
|
encrypted backup program that supports data integrity checks, versioning,
|
|
|
|
distribution among several sites, selective sharing of stored data, adaptive
|
|
|
|
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+)))
|
2016-03-14 19:34:25 -04:00
|
|
|
|
|
|
|
(define-public borg
|
|
|
|
(package
|
|
|
|
(name "borg")
|
2016-10-29 08:24:51 -04:00
|
|
|
(version "1.0.8")
|
2016-03-14 19:34:25 -04:00
|
|
|
(source (origin
|
|
|
|
(method url-fetch)
|
2016-07-07 13:46:00 -04:00
|
|
|
(uri (pypi-uri "borgbackup" version))
|
2016-03-14 19:34:25 -04:00
|
|
|
(sha256
|
|
|
|
(base32
|
2016-10-29 08:24:51 -04:00
|
|
|
"1fdfi0yzzdrrlml6780n4fh61sqm7pw6fcd1y67kfkvw8hy5c0k9"))
|
2016-09-05 08:23:11 -04:00
|
|
|
(modules '((guix build utils)))
|
|
|
|
(snippet
|
|
|
|
'(for-each
|
|
|
|
delete-file (find-files "borg" "^(c|h|p).*\\.c$")))))
|
2016-03-14 19:34:25 -04:00
|
|
|
(build-system python-build-system)
|
|
|
|
(arguments
|
2016-10-17 22:57:52 -04:00
|
|
|
`(#:modules ((srfi srfi-26) ; for cut
|
|
|
|
(guix build utils)
|
|
|
|
(guix build python-build-system))
|
|
|
|
#:phases
|
2016-03-14 19:34:25 -04:00
|
|
|
(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")
|
2016-10-11 01:35:43 -04:00
|
|
|
;; The test 'test_return_codes[python]' fails when
|
|
|
|
;; HOME=/homeless-shelter.
|
|
|
|
(setenv "HOME" "/tmp")
|
2016-03-14 19:34:25 -04:00
|
|
|
#t)))
|
2016-10-11 01:35:43 -04:00
|
|
|
;; The tests need to be run after Borg is installed.
|
|
|
|
(delete 'check)
|
|
|
|
(add-after 'install 'check
|
|
|
|
(lambda _
|
|
|
|
(zero?
|
|
|
|
(system* "py.test" "-v" "--pyargs" "borg.testsuite" "-k"
|
|
|
|
(string-append
|
|
|
|
;; These tests need to write to '/var'.
|
|
|
|
"not test_get_cache_dir "
|
|
|
|
"and not test_get_keys_dir "
|
|
|
|
;; These tests assume there is a root user in
|
|
|
|
;; '/etc/passwd'.
|
|
|
|
"and not test_access_acl "
|
|
|
|
"and not test_default_acl "
|
|
|
|
"and not test_non_ascii_acl "
|
|
|
|
;; This test needs the unpackaged pytest-benchmark.
|
|
|
|
"and not benchmark")))))
|
2016-03-14 19:34:25 -04:00
|
|
|
(add-after 'install 'install-doc
|
|
|
|
(lambda* (#:key outputs #:allow-other-keys)
|
|
|
|
(let* ((out (assoc-ref outputs "out"))
|
2016-10-17 22:57:52 -04:00
|
|
|
(man (string-append out "/share/man/man1"))
|
|
|
|
(misc (string-append out "/share/borg/misc")))
|
|
|
|
(for-each (cut install-file <> misc)
|
|
|
|
'("docs/misc/create_chunker-params.txt"
|
|
|
|
"docs/misc/internals-picture.txt"
|
|
|
|
"docs/misc/prune-example.txt"))
|
2016-03-14 19:34:25 -04:00
|
|
|
(and
|
|
|
|
(zero? (system* "python3" "setup.py" "build_ext" "--inplace"))
|
|
|
|
(zero? (system* "make" "-C" "docs" "man"))
|
|
|
|
(begin
|
|
|
|
(install-file "docs/_build/man/borg.1" man)
|
|
|
|
#t))))))))
|
|
|
|
(native-inputs
|
2016-09-05 08:23:11 -04:00
|
|
|
`(("python-cython" ,python-cython)
|
|
|
|
("python-setuptools-scm" ,python-setuptools-scm)
|
2016-10-30 18:32:30 -04:00
|
|
|
;; Borg 1.0.8's test suite uses 'tmpdir_factory', which was introduced in
|
|
|
|
;; pytest 2.8.
|
|
|
|
("python-pytest" ,python-pytest-2.9.2)
|
2016-03-14 19:34:25 -04:00
|
|
|
;; 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)))
|
2016-09-23 23:36:48 -04:00
|
|
|
|
|
|
|
(define-public attic
|
|
|
|
(package
|
|
|
|
(name "attic")
|
|
|
|
(version "0.16")
|
|
|
|
(source (origin
|
|
|
|
(method url-fetch)
|
|
|
|
(uri (string-append
|
|
|
|
"https://pypi.python.org/packages/source/A/Attic/Attic-"
|
|
|
|
version ".tar.gz"))
|
|
|
|
(sha256
|
|
|
|
(base32
|
|
|
|
"0b5skd36r4c0915lwpkqg5hxm49gls9pprs1b7hc40910wlcsl36"))))
|
|
|
|
(build-system python-build-system)
|
|
|
|
(arguments
|
2016-10-11 00:48:45 -04:00
|
|
|
`(;; The tests assume they are run as root:
|
|
|
|
;; https://github.com/jborg/attic/issues/7
|
|
|
|
#:tests? #f
|
|
|
|
#:phases
|
2016-09-23 23:36:48 -04:00
|
|
|
(modify-phases %standard-phases
|
|
|
|
(add-before
|
|
|
|
'build 'set-openssl-prefix
|
|
|
|
(lambda* (#:key inputs #:allow-other-keys)
|
|
|
|
(setenv "ATTIC_OPENSSL_PREFIX" (assoc-ref inputs "openssl"))
|
|
|
|
#t)))))
|
|
|
|
(inputs
|
|
|
|
`(("acl" ,acl)
|
|
|
|
("openssl" ,openssl)
|
|
|
|
("python-msgpack" ,python-msgpack)
|
|
|
|
|
|
|
|
;; Attic is probably incompatible with llfuse > 0.41.
|
|
|
|
;; These links are to discussions of llfuse compatibility from
|
|
|
|
;; the borg project. Borg is a recent fork of attic, and attic
|
|
|
|
;; has not been updated since the fork, so it's likely that
|
|
|
|
;; llfuse compatibility requirements are still the same.
|
|
|
|
;; https://github.com/borgbackup/borg/issues/642
|
|
|
|
;; https://github.com/borgbackup/borg/issues/643
|
|
|
|
("python-llfuse" ,python-llfuse-0.41)))
|
|
|
|
(synopsis "Deduplicating backup program")
|
|
|
|
(description "Attic is a deduplicating backup program. The main goal of
|
|
|
|
Attic is to provide an efficient and secure way to backup data. The data
|
|
|
|
deduplication technique used makes Attic suitable for daily backups since only
|
|
|
|
changes are stored.")
|
|
|
|
(home-page "https://attic-backup.org/")
|
|
|
|
(license license:bsd-3)
|
|
|
|
(properties `((superseded . ,borg)))))
|