2014-05-27 17:04:42 +02:00
|
|
|
|
;;; GNU Guix --- Functional package management for GNU
|
2015-07-17 09:50:55 +02:00
|
|
|
|
;;; Copyright © 2014, 2015 Eric Bavier <bavier@member.fsf.org>
|
2014-10-19 04:03:42 +02:00
|
|
|
|
;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net>
|
2017-07-24 03:09:52 +02:00
|
|
|
|
;;; Copyright © 2015, 2016, 2017 Leo Famulari <leo@famulari.name>
|
2017-12-30 17:03:37 +01:00
|
|
|
|
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
2017-03-08 18:04:58 +01:00
|
|
|
|
;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
|
2017-03-09 18:27:42 +01:00
|
|
|
|
;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
|
2017-08-28 04:27:56 +02:00
|
|
|
|
;;; Copyright © 2017 Kei Kebreau <kkebreau@posteo.net>
|
2017-10-01 20:32:24 +02:00
|
|
|
|
;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
|
2017-10-19 01:13:51 +02:00
|
|
|
|
;;; Copyright © 2017 Christopher Allan Webber <cwebber@dustycloud.org>
|
2017-12-13 09:59:05 +01:00
|
|
|
|
;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com>
|
2018-03-23 07:54:53 +01:00
|
|
|
|
;;; Copyright © 2018 Mark H Weaver <mhw@netris.org>
|
2018-06-13 21:17:05 +02:00
|
|
|
|
;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com>
|
2014-05-27 17:04:42 +02: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 22:44:22 +02:00
|
|
|
|
#:use-module ((guix licenses) #:prefix license:)
|
2014-05-27 17:04:42 +02:00
|
|
|
|
#:use-module (guix download)
|
2014-10-19 04:03:42 +02:00
|
|
|
|
#:use-module (guix utils)
|
2014-05-29 23:35:12 +02:00
|
|
|
|
#:use-module (guix build-system gnu)
|
2018-06-13 21:17:05 +02:00
|
|
|
|
#:use-module (guix build-system go)
|
2014-05-27 17:04:42 +02:00
|
|
|
|
#:use-module (guix build-system python)
|
|
|
|
|
#:use-module (gnu packages)
|
2015-09-01 23:33:53 +02:00
|
|
|
|
#:use-module (gnu packages acl)
|
2016-09-13 16:07:42 +02:00
|
|
|
|
#:use-module (gnu packages autotools)
|
2014-05-29 23:35:12 +02:00
|
|
|
|
#:use-module (gnu packages base)
|
gnu: Move testing packages from python.scm to check.scm.
* gnu/packages/python.scm (python-behave-web-api, python2-behave-web-api,
python-mock, python2-mock, python-mock-2, python-nose, python2-nose,
python-nose2, python2-nose2, python-unittest2, python2-unittest2,
python-pytest, python2-pytest, python-pytest-3.0, python2-pytest-3.0,
python-pytest-cov, python2-pytest-cov, python-pytest-runner,
python2-pytest-runner, python-pytest-mock, python2-pytest-mock,
python-pytest-xdist, python2-pytest-xdist, python-scripttest,
python2-scripttest, python-testtools, python2-testtools, python-testscenarios,
python2-testscenarios, python-testresources, python2-testresources,
python-subunit, python2-subunit, python-fixtures, python2-fixtures,
python-testrepository, python2-testrepository, python-coverage,
python2-coverage, python-cov-core, python2-cov-core, python-testpath,
python2-testpath, python-testlib, python2-testlib, python-pytest-cache,
python2-pytest-cache, python-pytest-localserver, python-pytest-xprocess,
python-pytest-subtesthack, python2-pytest-subtesthack, python-hypothesis,
python2-hypothesis, python-lit, python2-lit, python-pytest-pep8,
python2-pytest-pep8, python-pytest-flakes, python2-pytest-flakes,
python2-coverage-test-runner, python-pylint, python2-pylint,
python-paramunittest, python2-python-paramunittest, python-pytest-warnings,
python2-pytest-warnings, python-pytest-capturelog, python2-pytest-capturelog,
python-pytest-catchlog, python2-pytest-catchlog, python-nosexcover,
python2-nosexcover, python-discover, python2-discover, behave, python-rednose,
python2-rednose, python-nose-randomly, python2-nose-randomly,
python-nose-timer, python2-nose-timer): Move from here...
* gnu/packages/check.scm: ...to here.
* gnu/packages/admin.scm,
gnu/packages/android.scm,
gnu/packages/backup.scm,
gnu/packages/bioinformatics.scm,
gnu/packages/calendar.scm,
gnu/packages/dav.scm,
gnu/packages/django.scm,
gnu/packages/freedesktop.scm,
gnu/packages/haskell.scm,
gnu/packages/image.scm,
gnu/packages/irc.scm,
gnu/packages/jrnl.scm,
gnu/packages/ldc.scm,
gnu/packages/libffi.scm,
gnu/packages/mail.scm,
gnu/packages/mpd.scm,
gnu/packages/openstack.scm,
gnu/packages/package-management.scm,
gnu/packages/password-utils.scm,
gnu/packages/python-crypto.scm,
gnu/packages/python-web.scm,
gnu/packages/rdf.scm,
gnu/packages/statistics.scm,
gnu/packages/storage.scm,
gnu/packages/time.scm,
gnu/packages/tls.scm,
gnu/packages/tor.scm,
gnu/packages/tryton.scm: Adjust accordingly.
2017-11-17 21:42:23 +01:00
|
|
|
|
#:use-module (gnu packages check)
|
2014-05-29 23:35:12 +02:00
|
|
|
|
#:use-module (gnu packages compression)
|
2017-12-30 17:03:37 +01:00
|
|
|
|
#:use-module (gnu packages crypto)
|
2015-10-29 17:07:08 +01:00
|
|
|
|
#:use-module (gnu packages databases)
|
2014-05-29 23:36:42 +02:00
|
|
|
|
#:use-module (gnu packages dejagnu)
|
2017-01-23 19:21:52 +01:00
|
|
|
|
#:use-module (gnu packages ftp)
|
2014-05-29 23:35:12 +02:00
|
|
|
|
#:use-module (gnu packages glib)
|
2014-05-27 17:04:42 +02:00
|
|
|
|
#:use-module (gnu packages gnupg)
|
2018-06-13 21:17:05 +02:00
|
|
|
|
#:use-module (gnu packages golang)
|
2015-10-29 17:07:08 +01:00
|
|
|
|
#:use-module (gnu packages gperf)
|
|
|
|
|
#:use-module (gnu packages guile)
|
2014-09-28 22:04:34 +02:00
|
|
|
|
#:use-module (gnu packages linux)
|
2014-05-29 23:35:12 +02:00
|
|
|
|
#:use-module (gnu packages mcrypt)
|
2014-05-29 23:36:42 +02:00
|
|
|
|
#:use-module (gnu packages nettle)
|
|
|
|
|
#:use-module (gnu packages pcre)
|
2017-03-08 18:04:58 +01:00
|
|
|
|
#:use-module (gnu packages perl)
|
2014-05-29 23:35:12 +02:00
|
|
|
|
#:use-module (gnu packages pkg-config)
|
2015-09-01 23:33:53 +02:00
|
|
|
|
#:use-module (gnu packages python)
|
gnu: Move crypto packages from python to python-crypto.
* gnu/packages/python.scm (python-passlib, python2-passlib)
(python-py-bcrypt, python2-py-bcrypt)
(python-paramiko, python2-paramiko, python-ecdsa, python2-ecdsa)
(python-pycrypto, python2-pycrypto, python-keyring, python2-keyring)
(python-certifi, python2-certifi)
(python-cryptography-vectors, python2-cryptography-vectors)
(python-cryptography, python2-cryptography)
(python-pyopenssl, python2-pyopenssl)
(python-axolotl-curve25519, python2-axolotl-curve25519)
(python-axolotl, python2-axolotl, python2-slowaes)
(python-pyaes, python2-pyaes): Move to...
* gnu/packages/python-crypto.scm: ... here. New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* gnu/packages/admin.scm, gnu/packages/backup.scm,
gnu/packages/crypto.scm, gnu/packages/finance.scm,
gnu/packages/irc.scm, gnu/packages/jrnl.scm,
gnu/packages/messaging.scm, gnu/packages/openstack.scm,
gnu/packages/python-web.scm, gnu/packages/tls.scm,
gnu/packages/xorg.scm: Adjust accordingly.
2017-11-15 14:10:30 +01:00
|
|
|
|
#:use-module (gnu packages python-crypto)
|
gnu: Move web packages from python to python-web.
This is in part to address <https://bugs.gnu.org/27284>.
* gnu/packages/python.scm (python-httplib2, python2-httplib2)
(python-sockjs-tornado, python2-sockjs-tornado)
(python-flask-babel, python2-flask-babel)
(python-html5lib, python2-html5lib)
(python-html5lib-0.9, python2-html5lib-0.9)
(python-html5-parser, python2-html5-parser)
(python-webencodings, python2-webencodings)
(python-openid, python2-openid, python-cssutils, python2-cssutils)
(python-cssselect, python2-cssutils)
(python-openid-cla, python2-openid-cla)
(python-openid-teams, python2-openid-teams)
(python-tornado, python2-tornado)
(python-tornado-http-auth, python-terminado, python2-terminado)
(python-webob, python2-webob, python-zope-event, python2-zope-event)
(python-zope-interface, python2-zope-interface)
(python-zope-exceptions, python2-zope-exceptions)
(python-zope-testing, python2-zope-testing)
(python-zope-testrunner, python2-zope-testrunner)
(python-zope-i18nmessageid, python2-zope-i18nmessageid)
(python-zope-schema, python2-zope-schema)
(python-zope-configuration, python2-zope-configuration)
(python-zope-proxy, python2-zope-proxy)
(python-zope-location, python2-zope-location)
(python-zope-security, python2-zope-security)
(python-zope-component, python2-zope-component)
(python-ndg-httpsclient, python2-ndg-httpsclient)
(python-websocket-client, python2-websocket-client)
(python-requests-toolbelt, python2-requests-toolbelt)
(python-rauth, python2-rauth, python-urllib3, python2-urllib3)
(awscli, python-wsgiproxy2, python2-wsgiproxy2)
(python-pastedeploy, python2-pastedeploy)
(python-webtest, python2-webtest, python-flask, python2-flask)
(python-flast-wtf, python2-flask-wtf)
(python-flask-multistatic, python2-flask-multistatic)
(python-cookies, python2-cookies)
(python-responses, python2-responses)
(python-geventhttpclient, python2-geventhttpclient)
(python-requests-oauthlib, python2-requests-oauthlib)
(python-url, python2-url, python-cachecontrol, python2-cachecontrol)
(python-betamax, python2-betamax)
(python-betamax-matchers, python2-betamax-matchers)
(python-s3transfer, python2-s3transfer)
(python-flask-restful, python-flask-basicauth)
(python-flask-sqlalchemy, python-flask-restplus)
(python-flask-restful-swagger, python-htmlmin, python2-htmlmin)
(python-flask-htmlmin, python2-flask-htmlmin)
(python-flask-login, python2-flask-login)
(python-oauth2client, python-flask-oidc)
(python-webassets, python-cssmin, python2-cssmin)
(python-elasticsearch, python2-elasticsearch)
(python-flask-script, python2-flask-script)
(python-flask-migrate, python2-flask-migrate)
(python-genshi, python2-genshi)
(python-flask-principal, python2-flask-principal)
(python-flask-httpauth, python2-flask-httpauth)
(python-uritemplate, python2-uritemplate): Move to...
* gnu/packages/python-web.scm: ... here. New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* gnu/packages/admin.scm, gnu/packages/backup.scm,
gnu/packages/dav.scm, gnu/packages/django.scm,
gnu/packages/docker.scm, gnu/packages/ebook.scm,
gnu/packages/logging.scm, gnu/packages/mail.scm,
gnu/packages/music.scm, gnu/packages/openstack.scm,
gnu/packages/package-management.scm, gnu/packages/rdf.scm,
gnu/packages/tls.scm, gnu/packages/tor.scm,
gnu/packages/tryton.scm, gnu/packages/version-control.scm,
gnu/packages/web-browsers.scm,
gnu/packages/web.scm: Adjust accordingly.
2017-11-13 23:24:11 +01:00
|
|
|
|
#:use-module (gnu packages python-web)
|
2014-05-27 17:04:42 +02:00
|
|
|
|
#:use-module (gnu packages rsync)
|
2014-05-29 23:35:12 +02:00
|
|
|
|
#:use-module (gnu packages ssh)
|
2015-09-01 23:33:53 +02:00
|
|
|
|
#:use-module (gnu packages tls)
|
2014-10-19 04:03:42 +02:00
|
|
|
|
#:use-module (gnu packages xml))
|
2014-05-27 17:04:42 +02:00
|
|
|
|
|
|
|
|
|
(define-public duplicity
|
|
|
|
|
(package
|
|
|
|
|
(name "duplicity")
|
2018-04-28 17:25:13 +02:00
|
|
|
|
(version "0.7.17")
|
2014-05-27 17:04:42 +02:00
|
|
|
|
(source
|
|
|
|
|
(origin
|
|
|
|
|
(method url-fetch)
|
|
|
|
|
(uri (string-append "https://code.launchpad.net/duplicity/"
|
2014-10-19 04:03:42 +02:00
|
|
|
|
(version-major+minor version)
|
2014-05-27 17:04:42 +02:00
|
|
|
|
"-series/" version "/+download/duplicity-"
|
|
|
|
|
version ".tar.gz"))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
2018-04-28 17:25:13 +02:00
|
|
|
|
"0jmh3h09680xyf33hzxxxl74bwz66zqhzvjlj7j89r9rz3qwa91p"))))
|
2014-05-27 17:04:42 +02:00
|
|
|
|
(build-system python-build-system)
|
|
|
|
|
(native-inputs
|
2017-01-23 19:21:52 +01:00
|
|
|
|
`(("util-linux" ,util-linux) ;setsid command, for the tests
|
2017-02-15 21:40:08 +01:00
|
|
|
|
("par2cmdline" ,par2cmdline)
|
2017-01-23 19:21:52 +01:00
|
|
|
|
("python-pexpect" ,python2-pexpect)
|
2018-04-28 17:25:13 +02:00
|
|
|
|
("python-fasteners" ,python2-fasteners)
|
2017-01-23 19:21:52 +01:00
|
|
|
|
("mock" ,python2-mock)))
|
|
|
|
|
(propagated-inputs
|
|
|
|
|
`(("lockfile" ,python2-lockfile)
|
|
|
|
|
("urllib3" ,python2-urllib3)))
|
2014-05-27 17:04:42 +02:00
|
|
|
|
(inputs
|
2017-01-23 19:21:52 +01:00
|
|
|
|
`(("librsync" ,librsync)
|
|
|
|
|
("lftp" ,lftp)
|
|
|
|
|
("gnupg" ,gnupg) ;gpg executable needed
|
2014-09-28 22:04:34 +02:00
|
|
|
|
("util-linux" ,util-linux) ;for setsid
|
|
|
|
|
("tzdata" ,tzdata)))
|
2014-05-27 17:04:42 +02:00
|
|
|
|
(arguments
|
|
|
|
|
`(#:python ,python-2 ;setup assumes Python 2
|
|
|
|
|
#:test-target "test"
|
2016-12-07 15:31:56 +01:00
|
|
|
|
#:phases
|
|
|
|
|
(modify-phases %standard-phases
|
2017-02-15 21:40:08 +01:00
|
|
|
|
(add-before 'build 'patch-source
|
2016-12-07 15:31:56 +01:00
|
|
|
|
(lambda* (#:key inputs #:allow-other-keys)
|
2017-02-15 21:40:08 +01:00
|
|
|
|
;; embed gpg store name
|
|
|
|
|
(substitute* "duplicity/gpginterface.py"
|
|
|
|
|
(("self.call = 'gpg'")
|
|
|
|
|
(string-append "self.call = '" (assoc-ref inputs "gnupg") "/bin/gpg'")))
|
2018-07-21 13:35:10 +02:00
|
|
|
|
|
|
|
|
|
;; This matches up with an unreleased upstream fix, it should be
|
|
|
|
|
;; removed when the package is updated
|
|
|
|
|
;; https://bazaar.launchpad.net/~duplicity-team/duplicity/0.8-series/revision/1308
|
|
|
|
|
(substitute* "duplicity/gpg.py"
|
|
|
|
|
(("--no-secmem-warning'\\)")
|
|
|
|
|
"--no-secmem-warning')
|
|
|
|
|
gnupg.options.extra_args.append('--ignore-mdc-error')"))
|
|
|
|
|
|
2017-02-15 21:40:08 +01:00
|
|
|
|
(substitute* '("testing/functional/__init__.py"
|
|
|
|
|
"testing/overrides/bin/lftp")
|
2016-12-07 15:31:56 +01:00
|
|
|
|
(("/bin/sh") (which "sh")))
|
2017-02-15 21:40:08 +01:00
|
|
|
|
#t))
|
|
|
|
|
(add-before 'check 'check-setup
|
|
|
|
|
(lambda* (#:key inputs #:allow-other-keys)
|
2016-12-07 15:31:56 +01:00
|
|
|
|
(setenv "HOME" (getcwd)) ;gpg needs to write to $HOME
|
|
|
|
|
(setenv "TZDIR" ;some timestamp checks need TZDIR
|
|
|
|
|
(string-append (assoc-ref inputs "tzdata")
|
|
|
|
|
"/share/zoneinfo"))
|
|
|
|
|
#t)))))
|
2014-05-27 17:04:42 +02:00
|
|
|
|
(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 15:25:49 +02:00
|
|
|
|
(license license:gpl2+)))
|
2014-05-29 23:35:12 +02:00
|
|
|
|
|
2016-09-13 16:07:42 +02:00
|
|
|
|
(define-public par2cmdline
|
|
|
|
|
(package
|
|
|
|
|
(name "par2cmdline")
|
2017-12-13 09:59:05 +01:00
|
|
|
|
(version "0.8.0")
|
2016-09-13 16:07:42 +02:00
|
|
|
|
(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
|
2017-12-13 09:59:05 +01:00
|
|
|
|
"1jpshmmcr81mxly0md2rr231qz9c8c680bbvcmhh100dg9i4a6s6"))))
|
2016-09-13 16:07:42 +02:00
|
|
|
|
(native-inputs
|
|
|
|
|
`(("automake" ,automake)
|
|
|
|
|
("autoconf" ,autoconf)))
|
|
|
|
|
(build-system gnu-build-system)
|
|
|
|
|
(arguments
|
2017-06-01 15:35:38 +02:00
|
|
|
|
`(#:phases
|
2016-09-13 16:07:42 +02:00
|
|
|
|
(modify-phases %standard-phases
|
|
|
|
|
(add-after 'unpack 'autoreconf
|
2018-06-24 20:33:25 +02:00
|
|
|
|
(lambda _ (invoke "autoreconf" "-vfi"))))))
|
2017-07-16 06:43:55 +02:00
|
|
|
|
(synopsis "File verification and repair tools")
|
|
|
|
|
(description "Par2cmdline uses Reed-Solomon error-correcting codes to
|
|
|
|
|
generate and verify PAR2 recovery files. These files can be distributed
|
|
|
|
|
alongside the source files or stored together with back-ups to protect against
|
|
|
|
|
transmission errors or @dfn{bit rot}, the degradation of storage media over
|
|
|
|
|
time.
|
|
|
|
|
Unlike a simple checksum, PAR2 doesn't merely detect errors: as long as the
|
2017-07-16 06:49:07 +02:00
|
|
|
|
damage isn't too extensive (and smaller than the size of the recovery file), it
|
|
|
|
|
can even repair them.")
|
2016-09-13 16:07:42 +02:00
|
|
|
|
(home-page "https://github.com/Parchive/par2cmdline")
|
|
|
|
|
(license license:gpl3+)))
|
|
|
|
|
|
2014-05-29 23:35:12 +02:00
|
|
|
|
(define-public hdup
|
|
|
|
|
(package
|
|
|
|
|
(name "hdup")
|
|
|
|
|
(version "2.0.14")
|
|
|
|
|
(source
|
|
|
|
|
(origin
|
|
|
|
|
(method url-fetch)
|
2016-07-24 21:29:40 +02:00
|
|
|
|
(uri "https://fossies.org/linux/privat/old/hdup-2.0.14.tar.bz2")
|
2014-05-29 23:35:12 +02: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 09:40:05 +02:00
|
|
|
|
"Hdup2 is a backup utility, its aim is to make backup really simple. The
|
2014-05-29 23:35:12 +02: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 15:25:49 +02:00
|
|
|
|
(license license:gpl2)))
|
|
|
|
|
|
|
|
|
|
(define-public libarchive
|
|
|
|
|
(package
|
|
|
|
|
(name "libarchive")
|
2017-10-01 20:29:26 +02:00
|
|
|
|
(version "3.3.2")
|
2014-05-31 15:25:49 +02:00
|
|
|
|
(source
|
|
|
|
|
(origin
|
|
|
|
|
(method url-fetch)
|
|
|
|
|
(uri (string-append "http://libarchive.org/downloads/libarchive-"
|
|
|
|
|
version ".tar.gz"))
|
2017-12-21 19:58:35 +01:00
|
|
|
|
(patches (search-patches "libarchive-CVE-2017-14166.patch"
|
|
|
|
|
"libarchive-CVE-2017-14502.patch"))
|
2014-05-31 15:25:49 +02:00
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
2017-10-01 20:29:26 +02:00
|
|
|
|
"1km0mzfl6in7l5vz9kl09a88ajx562rw93ng9h2jqavrailvsbgd"))))
|
2014-05-31 15:25:49 +02:00
|
|
|
|
(build-system gnu-build-system)
|
|
|
|
|
(inputs
|
|
|
|
|
`(("zlib" ,zlib)
|
|
|
|
|
("nettle" ,nettle)
|
|
|
|
|
("lzo" ,lzo)
|
|
|
|
|
("bzip2" ,bzip2)
|
|
|
|
|
("libxml2" ,libxml2)
|
|
|
|
|
("xz" ,xz)))
|
|
|
|
|
(arguments
|
|
|
|
|
`(#:phases
|
2017-10-01 20:32:24 +02:00
|
|
|
|
(modify-phases %standard-phases
|
|
|
|
|
(add-before 'build 'patch-pwd
|
|
|
|
|
(lambda _
|
|
|
|
|
(substitute* "Makefile"
|
2017-11-01 22:37:54 +01:00
|
|
|
|
(("/bin/pwd") (which "pwd")))
|
|
|
|
|
#t))
|
2017-10-01 20:32:24 +02:00
|
|
|
|
(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.
|
2018-03-23 07:54:53 +01:00
|
|
|
|
(invoke "make" "libarchive_test" "bsdcpio_test" "bsdtar_test")
|
|
|
|
|
;; XXX: This glob disables too much.
|
|
|
|
|
(invoke "./libarchive_test" "^test_*_disk*")
|
|
|
|
|
(invoke "./bsdcpio_test" "^test_owner_parse")
|
2018-03-29 17:37:17 +02:00
|
|
|
|
(invoke "./bsdtar_test")))
|
|
|
|
|
(add-after 'install 'add--L-in-libarchive-pc
|
|
|
|
|
(lambda* (#:key inputs outputs #:allow-other-keys)
|
|
|
|
|
(let* ((out (assoc-ref outputs "out"))
|
|
|
|
|
(lib (string-append out "/lib"))
|
|
|
|
|
(nettle (assoc-ref inputs "nettle"))
|
|
|
|
|
(libxml2 (assoc-ref inputs "libxml2"))
|
|
|
|
|
(xz (assoc-ref inputs "xz"))
|
|
|
|
|
(zlib (assoc-ref inputs "zlib"))
|
|
|
|
|
(bzip2 (assoc-ref inputs "bzip2")))
|
|
|
|
|
(substitute* (string-append lib "/pkgconfig/libarchive.pc")
|
|
|
|
|
(("-lnettle")
|
|
|
|
|
(string-append "-L" nettle "/lib -lnettle"))
|
|
|
|
|
(("-lxml2")
|
|
|
|
|
(string-append "-L" libxml2 "/lib -lxml2"))
|
|
|
|
|
(("-llzma")
|
|
|
|
|
(string-append "-L" xz "/lib -llzma"))
|
|
|
|
|
(("-lz")
|
|
|
|
|
(string-append "-L" zlib "/lib -lz"))
|
|
|
|
|
(("-lbz2")
|
|
|
|
|
(string-append "-L" bzip2 "/lib -lbz2")))
|
|
|
|
|
#t))))
|
|
|
|
|
|
2016-06-21 20:36:12 +02:00
|
|
|
|
;; 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 15:25:49 +02: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 06:46:59 +02:00
|
|
|
|
archive. In particular, note that there is currently no built-in support for
|
2014-05-31 15:25:49 +02:00
|
|
|
|
random access nor for in-place modification.")
|
|
|
|
|
(license license:bsd-2)))
|
2014-05-29 23:36:42 +02:00
|
|
|
|
|
|
|
|
|
(define-public rdup
|
|
|
|
|
(package
|
|
|
|
|
(name "rdup")
|
2018-01-19 02:19:15 +01:00
|
|
|
|
(version "1.1.15")
|
2014-05-29 23:36:42 +02:00
|
|
|
|
(source
|
|
|
|
|
(origin
|
|
|
|
|
(method url-fetch)
|
2018-01-19 02:19:15 +01:00
|
|
|
|
(file-name (string-append name "-" version ".tar.gz"))
|
|
|
|
|
(uri (string-append "https://github.com/miekg/rdup/archive/"
|
|
|
|
|
version ".tar.gz"))
|
2014-05-29 23:36:42 +02:00
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
2018-01-19 02:19:15 +01:00
|
|
|
|
"1jr91hgcf0rrpanqlwws72ql9db6d6grs2i122ki1s4bx0vqqyvq"))))
|
2014-05-29 23:36:42 +02:00
|
|
|
|
(build-system gnu-build-system)
|
|
|
|
|
(native-inputs
|
2018-01-19 02:19:15 +01:00
|
|
|
|
`(("autoconf" ,autoconf)
|
|
|
|
|
("automake" ,automake)
|
|
|
|
|
("pkg-config" ,pkg-config)
|
|
|
|
|
|
|
|
|
|
;; For tests.
|
2014-05-29 23:36:42 +02:00
|
|
|
|
("dejagnu" ,dejagnu)))
|
|
|
|
|
(inputs
|
|
|
|
|
`(("glib" ,glib)
|
|
|
|
|
("pcre" ,pcre)
|
|
|
|
|
("libarchive" ,libarchive)
|
2018-01-19 02:19:15 +01:00
|
|
|
|
("mcrypt" ,mcrypt)
|
2014-05-29 23:36:42 +02:00
|
|
|
|
("nettle" ,nettle)))
|
|
|
|
|
(arguments
|
|
|
|
|
`(#:parallel-build? #f ;race conditions
|
gnu: Use 'modify-phases' syntax.
* gnu/packages/admin.scm (mingetty, clusterssh, wpa-supplicant-minimal,
wpa-supplicant, wakelan, acpica, tree, direvent, dstat)[arguments]: Use
'modify-phases' syntax.
* gnu/packages/algebra.scm (arb)[arguments]: Likewise.
* gnu/packages/apr.scm (apr-util)[arguments]: Likewise.
* gnu/packages/audio.scm (clalsadrv, fluidsynth, faad2, lv2-mda-piano,
lv2-mda-epiano, timidity++, vamp, soundtouch, portaudio, rsound,
zita-convolver, zita-alsa-pcmi)[arguments]: Likewise.
* gnu/packages/backup.scm (rdup, btar)[arguments]: Likewise.
* gnu/packages/bioinformatics.scm (bedops, bwa, crossmap, express,
flexbar, grit, hisat, ngs-sdk, subread)[arguments]: Likewise.
* gnu/packages/bittorrent.scm (transmission)[arguments]: Likewise.
* gnu/packages/cdrom.scm (cd-discid)[arguments]: Likewise.
* gnu/packages/compression.scm (sharutils)[arguments]: Likewise.
* gnu/packages/conky.scm (conky)[arguments]: Likewise.
* gnu/packages/databases.scm (bdb, bdb-5.3)[arguments]: Likewise.
* gnu/packages/debug.scm (delta, c-reduce)[arguments]: Likewise.
* gnu/packages/display-managers.scm (slim)[arguments]: Likewise.
* gnu/packages/dns.scm (dnsmasq)[arguments]: Likewise.
* gnu/packages/emacs.scm (geiser, emacs-wget, bbdb)[arguments]: Likewise.
* gnu/packages/engineering.scm (pcb)[arguments]: Likewise.
* gnu/packages/firmware.scm (ath9k-htc-firmware)[arguments]: Likewise.
* gnu/packages/flashing-tools.scm (flashrom)[arguments]: Likewise.
* gnu/packages/fltk.scm (fltk)[arguments]: Likewise.
* gnu/packages/freedesktop.scm (python-pyxdg)[arguments]: Likewise.
* gnu/packages/gd.scm (perl-gd)[arguments]: Likewise.
* gnu/packages/gkrellm.scm (gkrellm)[arguments]: Likewise.
* gnu/packages/glib.scm (glibmm)[arguments]: Likewise.
* gnu/packages/gl.scm (glew)[arguments]: Likewise.
* gnu/packages/gnome.scm (icon-naming-utils, orbit2, libbonobo, gnome-vfs,
libgnome, libbonoboui, goffice-0.8, dconf)[arguments]: Likewise.
* gnu/packages/gprolog.scm (gprolog)[arguments]: Likewise.
* gnu/packages/gps.scm (gpscorrelate)[arguments]: Likewise.
* gnu/packages/graphics.scm (agg)[arguments]: Likewise.
* gnu/packages/gtk.scm (ganv, girara, gtksourceview-2, guile-present,
python2-pycairo)[arguments]: Likewise.
* gnu/packages/guile.scm (guile-1.8)[arguments]: Likewise.
* gnu/packages/guile-wm.scm (guile-wm)[arguments]: Likewise.
* gnu/packages/hugs.scm (hugs)[arguments]: Likewise.
* gnu/packages/hurd.scm (gnumach-headers, hurd-headers, hurd-minimal)
[arguments]: Likewise.
* gnu/packages/image-viewers.scm (feh, sxiv)[arguments]: Likewise.
* gnu/packages/libcanberra.scm (libcanberra)[arguments]: Likewise.
* gnu/packages/linux.scm (bridge-utils, iw, fuse, unionfs-fuse/static,
lm-sensors, i2c-tools, xsensors, perf, mdadm, libaio, module-init-tools)
[arguments]: Likewise.
* gnu/packages/lisp.scm (ccl)[arguments]: Likewise.
* gnu/packages/lout.scm (lout)[arguments]: Likewise.
* gnu/packages/lua.scm (luajit)[arguments]: Likewise.
* gnu/packages/machine-learning.scm (shogun)[arguments]: Likewise.
* gnu/packages/mail.scm (exim)[arguments]: Likewise.
* gnu/packages/man.scm (man-pages, txt2man)[arguments]: Likewise.
* gnu/packages/maths.scm (lapack, superlu-dist, openlibm, openspecfun)
[arguments]: Likewise.
* gnu/packages/messaging.scm (bitlbee)[arguments]: Likewise.
* gnu/packages/mp3.scm (libmad, id3lib, mp3info)[arguments]: Likewise.
* gnu/packages/music.scm (solfege)[arguments]: Likewise.
* gnu/packages/noweb.scm (noweb)[arguments]: Likewise.
* gnu/packages/patchutils.scm (patchutils, quilt, colordiff)[arguments]:
Likewise.
* gnu/packages/pdf.scm (xpdf, zathura-cb, zathura-ps, zathura-djvu,
zathura-pdf-poppler, zathura, podofo, fbida)[arguments]: Likewise.
* gnu/packages/perl.scm (perl-file-list, perl-test-harness)[arguments]:
Likewise.
* gnu/packages/photo.scm (gphoto2)[arguments]: Likewise.
* gnu/packages/popt.scm (popt)[arguments]: Likewise.
* gnu/packages/pretty-print.scm (source-highlight, astyle)[arguments]:
Likewise.
* gnu/packages/pumpio.scm (pumpa)[arguments]: Likewise.
* gnu/packages/python.scm (python-passlib, python-pycrypto, python2-empy,
python-sqlalchemy, python-docopt)[arguments]: Likewise.
* gnu/packages/rdf.scm (lrdf)[arguments]: Likewise.
* gnu/packages/regex.scm (tre)[arguments]: Likewise.
* gnu/packages/rrdtool.scm (rrdtool)[arguments]: Likewise.
* gnu/packages/ruby.scm (ruby-2.1, ruby-1.8)[arguments]: Likewise.
* gnu/packages/sawfish.scm (sawfish)[arguments]: Likewise.
* gnu/packages/scheme.scm (racket)[arguments]: Likewise.
* gnu/packages/sdl.scm (guile-sdl)[arguments]: Likewise.
* gnu/packages/serveez.scm (serveez)[arguments]: Likewise.
* gnu/packages/skribilo.scm (skribilo)[arguments]: Likewise.
* gnu/packages/smalltalk.scm (smalltalk)[arguments]: Likewise.
* gnu/packages/suckless.scm (dmenu, slock)[arguments]: Likewise.
* gnu/packages/tcl.scm (expect)[arguments]: Likewise.
* gnu/packages/telephony.scm (commoncpp)[arguments]: Likewise.
* gnu/packages/textutils.scm (recode, libgtextutils)[arguments]:
Likewise.
* gnu/packages/time.scm (time)[arguments]: Likewise.
* gnu/packages/tor.scm (privoxy)[arguments]: Likewise.
* gnu/packages/uucp.scm (uucp)[arguments]: Likewise.
* gnu/packages/video.scm (libdvdnav-4)[arguments]: Likewise.
* gnu/packages/web-browsers.scm (lynx)[arguments]: Likewise.
* gnu/packages/web.scm (tinyproxy)[arguments]: Likewise.
* gnu/packages/wicd.scm (wicd)[arguments]: Likewise.
* gnu/packages/wm.scm (bspwm)[arguments]: Likewise.
* gnu/packages/xdisorg.scm (sxhkd, xcape)[arguments]: Likewise.
* gnu/packages/xfce.scm (xfconf)[arguments]: Likewise.
* gnu/packages/xfig.scm (transfig)[arguments]: Likewise.
* gnu/packages/xorg.scm (imake)[arguments]: Likewise.
2017-07-29 17:28:42 +02:00
|
|
|
|
#:phases
|
|
|
|
|
(modify-phases %standard-phases
|
2018-01-19 02:19:15 +01:00
|
|
|
|
(add-before 'build 'qualify-inputs
|
|
|
|
|
(lambda* (#:key inputs #:allow-other-keys)
|
|
|
|
|
;; This script is full of pitfalls. Fix some that particularly
|
|
|
|
|
;; affect Guix users & leave the rest as reader excercises.
|
|
|
|
|
(substitute* "rdup-simple"
|
|
|
|
|
;; Use the input ‘mcrypt’, not whatever's in $PATH at run time.
|
|
|
|
|
(("([' ])mcrypt " all delimiter)
|
|
|
|
|
(string-append delimiter (which "mcrypt") " "))
|
|
|
|
|
;; Avoid frivolous dependency on ‘which’ with a shell builtin.
|
|
|
|
|
(("which") "command -v"))
|
gnu: Use 'modify-phases' syntax.
* gnu/packages/admin.scm (mingetty, clusterssh, wpa-supplicant-minimal,
wpa-supplicant, wakelan, acpica, tree, direvent, dstat)[arguments]: Use
'modify-phases' syntax.
* gnu/packages/algebra.scm (arb)[arguments]: Likewise.
* gnu/packages/apr.scm (apr-util)[arguments]: Likewise.
* gnu/packages/audio.scm (clalsadrv, fluidsynth, faad2, lv2-mda-piano,
lv2-mda-epiano, timidity++, vamp, soundtouch, portaudio, rsound,
zita-convolver, zita-alsa-pcmi)[arguments]: Likewise.
* gnu/packages/backup.scm (rdup, btar)[arguments]: Likewise.
* gnu/packages/bioinformatics.scm (bedops, bwa, crossmap, express,
flexbar, grit, hisat, ngs-sdk, subread)[arguments]: Likewise.
* gnu/packages/bittorrent.scm (transmission)[arguments]: Likewise.
* gnu/packages/cdrom.scm (cd-discid)[arguments]: Likewise.
* gnu/packages/compression.scm (sharutils)[arguments]: Likewise.
* gnu/packages/conky.scm (conky)[arguments]: Likewise.
* gnu/packages/databases.scm (bdb, bdb-5.3)[arguments]: Likewise.
* gnu/packages/debug.scm (delta, c-reduce)[arguments]: Likewise.
* gnu/packages/display-managers.scm (slim)[arguments]: Likewise.
* gnu/packages/dns.scm (dnsmasq)[arguments]: Likewise.
* gnu/packages/emacs.scm (geiser, emacs-wget, bbdb)[arguments]: Likewise.
* gnu/packages/engineering.scm (pcb)[arguments]: Likewise.
* gnu/packages/firmware.scm (ath9k-htc-firmware)[arguments]: Likewise.
* gnu/packages/flashing-tools.scm (flashrom)[arguments]: Likewise.
* gnu/packages/fltk.scm (fltk)[arguments]: Likewise.
* gnu/packages/freedesktop.scm (python-pyxdg)[arguments]: Likewise.
* gnu/packages/gd.scm (perl-gd)[arguments]: Likewise.
* gnu/packages/gkrellm.scm (gkrellm)[arguments]: Likewise.
* gnu/packages/glib.scm (glibmm)[arguments]: Likewise.
* gnu/packages/gl.scm (glew)[arguments]: Likewise.
* gnu/packages/gnome.scm (icon-naming-utils, orbit2, libbonobo, gnome-vfs,
libgnome, libbonoboui, goffice-0.8, dconf)[arguments]: Likewise.
* gnu/packages/gprolog.scm (gprolog)[arguments]: Likewise.
* gnu/packages/gps.scm (gpscorrelate)[arguments]: Likewise.
* gnu/packages/graphics.scm (agg)[arguments]: Likewise.
* gnu/packages/gtk.scm (ganv, girara, gtksourceview-2, guile-present,
python2-pycairo)[arguments]: Likewise.
* gnu/packages/guile.scm (guile-1.8)[arguments]: Likewise.
* gnu/packages/guile-wm.scm (guile-wm)[arguments]: Likewise.
* gnu/packages/hugs.scm (hugs)[arguments]: Likewise.
* gnu/packages/hurd.scm (gnumach-headers, hurd-headers, hurd-minimal)
[arguments]: Likewise.
* gnu/packages/image-viewers.scm (feh, sxiv)[arguments]: Likewise.
* gnu/packages/libcanberra.scm (libcanberra)[arguments]: Likewise.
* gnu/packages/linux.scm (bridge-utils, iw, fuse, unionfs-fuse/static,
lm-sensors, i2c-tools, xsensors, perf, mdadm, libaio, module-init-tools)
[arguments]: Likewise.
* gnu/packages/lisp.scm (ccl)[arguments]: Likewise.
* gnu/packages/lout.scm (lout)[arguments]: Likewise.
* gnu/packages/lua.scm (luajit)[arguments]: Likewise.
* gnu/packages/machine-learning.scm (shogun)[arguments]: Likewise.
* gnu/packages/mail.scm (exim)[arguments]: Likewise.
* gnu/packages/man.scm (man-pages, txt2man)[arguments]: Likewise.
* gnu/packages/maths.scm (lapack, superlu-dist, openlibm, openspecfun)
[arguments]: Likewise.
* gnu/packages/messaging.scm (bitlbee)[arguments]: Likewise.
* gnu/packages/mp3.scm (libmad, id3lib, mp3info)[arguments]: Likewise.
* gnu/packages/music.scm (solfege)[arguments]: Likewise.
* gnu/packages/noweb.scm (noweb)[arguments]: Likewise.
* gnu/packages/patchutils.scm (patchutils, quilt, colordiff)[arguments]:
Likewise.
* gnu/packages/pdf.scm (xpdf, zathura-cb, zathura-ps, zathura-djvu,
zathura-pdf-poppler, zathura, podofo, fbida)[arguments]: Likewise.
* gnu/packages/perl.scm (perl-file-list, perl-test-harness)[arguments]:
Likewise.
* gnu/packages/photo.scm (gphoto2)[arguments]: Likewise.
* gnu/packages/popt.scm (popt)[arguments]: Likewise.
* gnu/packages/pretty-print.scm (source-highlight, astyle)[arguments]:
Likewise.
* gnu/packages/pumpio.scm (pumpa)[arguments]: Likewise.
* gnu/packages/python.scm (python-passlib, python-pycrypto, python2-empy,
python-sqlalchemy, python-docopt)[arguments]: Likewise.
* gnu/packages/rdf.scm (lrdf)[arguments]: Likewise.
* gnu/packages/regex.scm (tre)[arguments]: Likewise.
* gnu/packages/rrdtool.scm (rrdtool)[arguments]: Likewise.
* gnu/packages/ruby.scm (ruby-2.1, ruby-1.8)[arguments]: Likewise.
* gnu/packages/sawfish.scm (sawfish)[arguments]: Likewise.
* gnu/packages/scheme.scm (racket)[arguments]: Likewise.
* gnu/packages/sdl.scm (guile-sdl)[arguments]: Likewise.
* gnu/packages/serveez.scm (serveez)[arguments]: Likewise.
* gnu/packages/skribilo.scm (skribilo)[arguments]: Likewise.
* gnu/packages/smalltalk.scm (smalltalk)[arguments]: Likewise.
* gnu/packages/suckless.scm (dmenu, slock)[arguments]: Likewise.
* gnu/packages/tcl.scm (expect)[arguments]: Likewise.
* gnu/packages/telephony.scm (commoncpp)[arguments]: Likewise.
* gnu/packages/textutils.scm (recode, libgtextutils)[arguments]:
Likewise.
* gnu/packages/time.scm (time)[arguments]: Likewise.
* gnu/packages/tor.scm (privoxy)[arguments]: Likewise.
* gnu/packages/uucp.scm (uucp)[arguments]: Likewise.
* gnu/packages/video.scm (libdvdnav-4)[arguments]: Likewise.
* gnu/packages/web-browsers.scm (lynx)[arguments]: Likewise.
* gnu/packages/web.scm (tinyproxy)[arguments]: Likewise.
* gnu/packages/wicd.scm (wicd)[arguments]: Likewise.
* gnu/packages/wm.scm (bspwm)[arguments]: Likewise.
* gnu/packages/xdisorg.scm (sxhkd, xcape)[arguments]: Likewise.
* gnu/packages/xfce.scm (xfconf)[arguments]: Likewise.
* gnu/packages/xfig.scm (transfig)[arguments]: Likewise.
* gnu/packages/xorg.scm (imake)[arguments]: Likewise.
2017-07-29 17:28:42 +02:00
|
|
|
|
#t))
|
|
|
|
|
(add-before 'check 'pre-check
|
|
|
|
|
(lambda _
|
|
|
|
|
(setenv "HOME" (getcwd))
|
|
|
|
|
(substitute* "testsuite/rdup/rdup.rdup-up-t-with-file.exp"
|
|
|
|
|
(("/bin/cat") (which "cat")))
|
|
|
|
|
#t)))))
|
2018-01-19 02:19:15 +01:00
|
|
|
|
(home-page "https://github.com/miekg/rdup")
|
2014-05-29 23:36:42 +02:00
|
|
|
|
(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 14:16:07 +02:00
|
|
|
|
file names to standard output. Auxiliary scripts are needed that act on this
|
2014-05-29 23:36:42 +02:00
|
|
|
|
list and implement the backup strategy.")
|
2014-05-31 15:25:49 +02:00
|
|
|
|
(license license:gpl3+)))
|
2014-05-29 23:37:28 +02: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
|
gnu: Use 'modify-phases' syntax.
* gnu/packages/admin.scm (mingetty, clusterssh, wpa-supplicant-minimal,
wpa-supplicant, wakelan, acpica, tree, direvent, dstat)[arguments]: Use
'modify-phases' syntax.
* gnu/packages/algebra.scm (arb)[arguments]: Likewise.
* gnu/packages/apr.scm (apr-util)[arguments]: Likewise.
* gnu/packages/audio.scm (clalsadrv, fluidsynth, faad2, lv2-mda-piano,
lv2-mda-epiano, timidity++, vamp, soundtouch, portaudio, rsound,
zita-convolver, zita-alsa-pcmi)[arguments]: Likewise.
* gnu/packages/backup.scm (rdup, btar)[arguments]: Likewise.
* gnu/packages/bioinformatics.scm (bedops, bwa, crossmap, express,
flexbar, grit, hisat, ngs-sdk, subread)[arguments]: Likewise.
* gnu/packages/bittorrent.scm (transmission)[arguments]: Likewise.
* gnu/packages/cdrom.scm (cd-discid)[arguments]: Likewise.
* gnu/packages/compression.scm (sharutils)[arguments]: Likewise.
* gnu/packages/conky.scm (conky)[arguments]: Likewise.
* gnu/packages/databases.scm (bdb, bdb-5.3)[arguments]: Likewise.
* gnu/packages/debug.scm (delta, c-reduce)[arguments]: Likewise.
* gnu/packages/display-managers.scm (slim)[arguments]: Likewise.
* gnu/packages/dns.scm (dnsmasq)[arguments]: Likewise.
* gnu/packages/emacs.scm (geiser, emacs-wget, bbdb)[arguments]: Likewise.
* gnu/packages/engineering.scm (pcb)[arguments]: Likewise.
* gnu/packages/firmware.scm (ath9k-htc-firmware)[arguments]: Likewise.
* gnu/packages/flashing-tools.scm (flashrom)[arguments]: Likewise.
* gnu/packages/fltk.scm (fltk)[arguments]: Likewise.
* gnu/packages/freedesktop.scm (python-pyxdg)[arguments]: Likewise.
* gnu/packages/gd.scm (perl-gd)[arguments]: Likewise.
* gnu/packages/gkrellm.scm (gkrellm)[arguments]: Likewise.
* gnu/packages/glib.scm (glibmm)[arguments]: Likewise.
* gnu/packages/gl.scm (glew)[arguments]: Likewise.
* gnu/packages/gnome.scm (icon-naming-utils, orbit2, libbonobo, gnome-vfs,
libgnome, libbonoboui, goffice-0.8, dconf)[arguments]: Likewise.
* gnu/packages/gprolog.scm (gprolog)[arguments]: Likewise.
* gnu/packages/gps.scm (gpscorrelate)[arguments]: Likewise.
* gnu/packages/graphics.scm (agg)[arguments]: Likewise.
* gnu/packages/gtk.scm (ganv, girara, gtksourceview-2, guile-present,
python2-pycairo)[arguments]: Likewise.
* gnu/packages/guile.scm (guile-1.8)[arguments]: Likewise.
* gnu/packages/guile-wm.scm (guile-wm)[arguments]: Likewise.
* gnu/packages/hugs.scm (hugs)[arguments]: Likewise.
* gnu/packages/hurd.scm (gnumach-headers, hurd-headers, hurd-minimal)
[arguments]: Likewise.
* gnu/packages/image-viewers.scm (feh, sxiv)[arguments]: Likewise.
* gnu/packages/libcanberra.scm (libcanberra)[arguments]: Likewise.
* gnu/packages/linux.scm (bridge-utils, iw, fuse, unionfs-fuse/static,
lm-sensors, i2c-tools, xsensors, perf, mdadm, libaio, module-init-tools)
[arguments]: Likewise.
* gnu/packages/lisp.scm (ccl)[arguments]: Likewise.
* gnu/packages/lout.scm (lout)[arguments]: Likewise.
* gnu/packages/lua.scm (luajit)[arguments]: Likewise.
* gnu/packages/machine-learning.scm (shogun)[arguments]: Likewise.
* gnu/packages/mail.scm (exim)[arguments]: Likewise.
* gnu/packages/man.scm (man-pages, txt2man)[arguments]: Likewise.
* gnu/packages/maths.scm (lapack, superlu-dist, openlibm, openspecfun)
[arguments]: Likewise.
* gnu/packages/messaging.scm (bitlbee)[arguments]: Likewise.
* gnu/packages/mp3.scm (libmad, id3lib, mp3info)[arguments]: Likewise.
* gnu/packages/music.scm (solfege)[arguments]: Likewise.
* gnu/packages/noweb.scm (noweb)[arguments]: Likewise.
* gnu/packages/patchutils.scm (patchutils, quilt, colordiff)[arguments]:
Likewise.
* gnu/packages/pdf.scm (xpdf, zathura-cb, zathura-ps, zathura-djvu,
zathura-pdf-poppler, zathura, podofo, fbida)[arguments]: Likewise.
* gnu/packages/perl.scm (perl-file-list, perl-test-harness)[arguments]:
Likewise.
* gnu/packages/photo.scm (gphoto2)[arguments]: Likewise.
* gnu/packages/popt.scm (popt)[arguments]: Likewise.
* gnu/packages/pretty-print.scm (source-highlight, astyle)[arguments]:
Likewise.
* gnu/packages/pumpio.scm (pumpa)[arguments]: Likewise.
* gnu/packages/python.scm (python-passlib, python-pycrypto, python2-empy,
python-sqlalchemy, python-docopt)[arguments]: Likewise.
* gnu/packages/rdf.scm (lrdf)[arguments]: Likewise.
* gnu/packages/regex.scm (tre)[arguments]: Likewise.
* gnu/packages/rrdtool.scm (rrdtool)[arguments]: Likewise.
* gnu/packages/ruby.scm (ruby-2.1, ruby-1.8)[arguments]: Likewise.
* gnu/packages/sawfish.scm (sawfish)[arguments]: Likewise.
* gnu/packages/scheme.scm (racket)[arguments]: Likewise.
* gnu/packages/sdl.scm (guile-sdl)[arguments]: Likewise.
* gnu/packages/serveez.scm (serveez)[arguments]: Likewise.
* gnu/packages/skribilo.scm (skribilo)[arguments]: Likewise.
* gnu/packages/smalltalk.scm (smalltalk)[arguments]: Likewise.
* gnu/packages/suckless.scm (dmenu, slock)[arguments]: Likewise.
* gnu/packages/tcl.scm (expect)[arguments]: Likewise.
* gnu/packages/telephony.scm (commoncpp)[arguments]: Likewise.
* gnu/packages/textutils.scm (recode, libgtextutils)[arguments]:
Likewise.
* gnu/packages/time.scm (time)[arguments]: Likewise.
* gnu/packages/tor.scm (privoxy)[arguments]: Likewise.
* gnu/packages/uucp.scm (uucp)[arguments]: Likewise.
* gnu/packages/video.scm (libdvdnav-4)[arguments]: Likewise.
* gnu/packages/web-browsers.scm (lynx)[arguments]: Likewise.
* gnu/packages/web.scm (tinyproxy)[arguments]: Likewise.
* gnu/packages/wicd.scm (wicd)[arguments]: Likewise.
* gnu/packages/wm.scm (bspwm)[arguments]: Likewise.
* gnu/packages/xdisorg.scm (sxhkd, xcape)[arguments]: Likewise.
* gnu/packages/xfce.scm (xfconf)[arguments]: Likewise.
* gnu/packages/xfig.scm (transfig)[arguments]: Likewise.
* gnu/packages/xorg.scm (imake)[arguments]: Likewise.
2017-07-29 17:28:42 +02:00
|
|
|
|
;; no configure phase
|
|
|
|
|
(modify-phases %standard-phases
|
|
|
|
|
(delete 'configure))))
|
2014-05-29 23:37:28 +02:00
|
|
|
|
(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 15:25:49 +02:00
|
|
|
|
(license license:gpl3+)))
|
2014-05-30 21:29:42 +02: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)
|
|
|
|
|
(inputs
|
|
|
|
|
`(("python" ,python-2)
|
|
|
|
|
("librsync" ,librsync)))
|
|
|
|
|
(arguments
|
|
|
|
|
`(#:python ,python-2
|
|
|
|
|
#:tests? #f))
|
gnu: Use HTTPS for supported nongnu.org home pages.
* gnu/packages/acl.scm (acl)[home-page]: Use HTTPS.
* gnu/packages/admin.scm (dmidecode)[home-page]: Likewise.
* gnu/packages/attr.scm (attr)[home-page]: Likewise.
* gnu/packages/audio.scm (lash)[home-page]: Likewise.
* gnu/packages/avr.scm (avr-libc)[home-page]: Likewise.
* gnu/packages/backup.scm (rdiff-backup, libchop)[home-page]: Likewise.
* gnu/packages/compression.scm (fastjar, lzip, lziprecover, atool)
(lunzip, clzip, lzlib, plzip)[home-page]: Likewise.
* gnu/packages/emacs.scm (geiser, bbdb, m17n-lib, m17n-lib)[home-page]:
Likewise.
* gnu/packages/flashing-tools.scm (avrdude)[home-page]: Likewise.
* gnu/packages/fontutils.scm (libotf)[home-page]: Likewise.
* gnu/packages/game-development.scm (gzochi)[home-page]: Likewise.
* gnu/packages/games.scm (enigma)[home-page]: Likewise.
* gnu/packages/gsasl.scm (libntlm)[home-page]: Likewise.
* gnu/packages/gtk.scm (guile-cairo)[home-page]: Likewise.
* gnu/packages/guile.scm (guile-reader, guile-lib, guile-json)
(guile-redis, g-wrap)[home-page]: Likewise.
* gnu/packages/libunwind.scm (libunwind)[home-page]: Likewise.
* gnu/packages/lout.scm (lout)[home-page]: Likewise.
* gnu/packages/mpd.scm (sonata)[home-page]: Likewise.
* gnu/packages/networking.scm (quagga)[home-page]: Likewise.
* gnu/packages/ratpoison.scm (ratpoison)[home-page]: Likewise.
* gnu/packages/skribilo.scm (skribilo)[home-page]: Likewise.
* gnu/packages/telephony.scm (exosip)[home-page]: Likewise.
* gnu/packages/texinfo.scm (texi2html)[home-page]: Likewise.
* gnu/packages/xdisorg.scm (xbindkeys)[home-page]: Likewise.
2018-02-16 04:20:44 +01:00
|
|
|
|
(home-page "https://www.nongnu.org/rdiff-backup/")
|
2014-05-30 21:29:42 +02:00
|
|
|
|
(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 14:16:07 +02:00
|
|
|
|
rdiff-backup is easy to use and settings have sensible defaults.")
|
2014-05-31 15:25:49 +02:00
|
|
|
|
(license license:gpl2+)))
|
2015-09-01 23:33:53 +02:00
|
|
|
|
|
2017-03-08 18:04:58 +01:00
|
|
|
|
(define-public rsnapshot
|
|
|
|
|
(package
|
|
|
|
|
(name "rsnapshot")
|
|
|
|
|
(version "1.4.2")
|
|
|
|
|
(source
|
|
|
|
|
(origin
|
|
|
|
|
(method url-fetch)
|
|
|
|
|
(uri (string-append
|
|
|
|
|
"https://github.com/rsnapshot/rsnapshot/releases/download/"
|
|
|
|
|
version "/rsnapshot-" version ".tar.gz"))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
|
|
|
|
"05jfy99a0xs6lvsjfp3wz21z0myqhmwl2grn3jr9clijbg282ah4"))))
|
|
|
|
|
(build-system gnu-build-system)
|
|
|
|
|
(arguments
|
|
|
|
|
`(#:phases
|
|
|
|
|
(modify-phases %standard-phases
|
|
|
|
|
(replace 'check
|
|
|
|
|
(lambda _
|
|
|
|
|
(substitute* '("t/cmd-post_pre-exec/conf/pre-true-post-true.conf"
|
|
|
|
|
"t/backup_exec/conf/backup_exec_fail.conf"
|
|
|
|
|
"t/backup_exec/conf/backup_exec.conf")
|
|
|
|
|
(("/bin/true") (which "true"))
|
|
|
|
|
(("/bin/false") (which "false")))
|
2018-06-24 20:34:45 +02:00
|
|
|
|
(invoke "make" "test"))))))
|
2017-03-08 18:04:58 +01:00
|
|
|
|
(inputs
|
|
|
|
|
`(("perl" ,perl)
|
|
|
|
|
("rsync" ,rsync)))
|
|
|
|
|
(home-page "http://rsnapshot.org")
|
|
|
|
|
(synopsis "Deduplicating snapshot backup utility based on rsync")
|
2018-01-19 16:25:13 +01:00
|
|
|
|
(description "rsnapshot is a file system snapshot utility based on rsync.
|
2017-03-08 18:04:58 +01:00
|
|
|
|
rsnapshot makes it easy to make periodic snapshots of local machines, and
|
|
|
|
|
remote machines over SSH. To reduce the disk space required for each backup,
|
|
|
|
|
rsnapshot uses hard links to deduplicate identical files.")
|
|
|
|
|
(license license:gpl2+)))
|
|
|
|
|
|
2015-10-29 17:07:08 +01: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 14:18:13 +02:00
|
|
|
|
(patches (search-patches "diffutils-gets-undeclared.patch"))))
|
2015-10-29 17:07:08 +01: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)))
|
gnu: Use HTTPS for supported nongnu.org home pages.
* gnu/packages/acl.scm (acl)[home-page]: Use HTTPS.
* gnu/packages/admin.scm (dmidecode)[home-page]: Likewise.
* gnu/packages/attr.scm (attr)[home-page]: Likewise.
* gnu/packages/audio.scm (lash)[home-page]: Likewise.
* gnu/packages/avr.scm (avr-libc)[home-page]: Likewise.
* gnu/packages/backup.scm (rdiff-backup, libchop)[home-page]: Likewise.
* gnu/packages/compression.scm (fastjar, lzip, lziprecover, atool)
(lunzip, clzip, lzlib, plzip)[home-page]: Likewise.
* gnu/packages/emacs.scm (geiser, bbdb, m17n-lib, m17n-lib)[home-page]:
Likewise.
* gnu/packages/flashing-tools.scm (avrdude)[home-page]: Likewise.
* gnu/packages/fontutils.scm (libotf)[home-page]: Likewise.
* gnu/packages/game-development.scm (gzochi)[home-page]: Likewise.
* gnu/packages/games.scm (enigma)[home-page]: Likewise.
* gnu/packages/gsasl.scm (libntlm)[home-page]: Likewise.
* gnu/packages/gtk.scm (guile-cairo)[home-page]: Likewise.
* gnu/packages/guile.scm (guile-reader, guile-lib, guile-json)
(guile-redis, g-wrap)[home-page]: Likewise.
* gnu/packages/libunwind.scm (libunwind)[home-page]: Likewise.
* gnu/packages/lout.scm (lout)[home-page]: Likewise.
* gnu/packages/mpd.scm (sonata)[home-page]: Likewise.
* gnu/packages/networking.scm (quagga)[home-page]: Likewise.
* gnu/packages/ratpoison.scm (ratpoison)[home-page]: Likewise.
* gnu/packages/skribilo.scm (skribilo)[home-page]: Likewise.
* gnu/packages/telephony.scm (exosip)[home-page]: Likewise.
* gnu/packages/texinfo.scm (texi2html)[home-page]: Likewise.
* gnu/packages/xdisorg.scm (xbindkeys)[home-page]: Likewise.
2018-02-16 04:20:44 +01:00
|
|
|
|
(home-page "https://nongnu.org/libchop/")
|
2015-10-29 17:07:08 +01:00
|
|
|
|
(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-15 00:34:25 +01:00
|
|
|
|
|
|
|
|
|
(define-public borg
|
|
|
|
|
(package
|
|
|
|
|
(name "borg")
|
2018-06-11 21:46:24 +02:00
|
|
|
|
(version "1.1.6")
|
2017-12-30 16:37:36 +01:00
|
|
|
|
(source
|
|
|
|
|
(origin
|
|
|
|
|
(method url-fetch)
|
|
|
|
|
(uri (pypi-uri "borgbackup" version))
|
|
|
|
|
(sha256
|
2018-06-11 21:46:24 +02:00
|
|
|
|
(base32 "0c09j46fi8i7klas0bh82a4whlwnajshk0izkgax6fjxr1sf9lm1"))
|
2017-12-30 16:37:36 +01:00
|
|
|
|
(modules '((guix build utils)))
|
|
|
|
|
(snippet
|
|
|
|
|
'(begin
|
2018-07-19 20:08:58 +02:00
|
|
|
|
;; Delete files generated by Cython. We used to have a regex
|
|
|
|
|
;; that created the list of generated files but Borg has
|
|
|
|
|
;; added new non-generated C files that cause the regex to
|
|
|
|
|
;; generate the wrong list.
|
2017-12-30 16:37:36 +01:00
|
|
|
|
(for-each delete-file
|
2018-07-19 20:08:58 +02:00
|
|
|
|
'("src/borg/algorithms/checksums.c"
|
|
|
|
|
"src/borg/chunker.c"
|
|
|
|
|
"src/borg/compress.c"
|
|
|
|
|
"src/borg/crypto/low_level.c"
|
|
|
|
|
"src/borg/hashindex.c"
|
|
|
|
|
"src/borg/item.c"
|
|
|
|
|
"src/borg/platform/darwin.c"
|
|
|
|
|
"src/borg/platform/freebsd.c"
|
|
|
|
|
"src/borg/platform/linux.c"
|
|
|
|
|
"src/borg/platform/posix.c"))
|
2017-12-30 16:37:36 +01:00
|
|
|
|
;; Remove bundled shared libraries.
|
|
|
|
|
(with-directory-excursion "src/borg/algorithms"
|
|
|
|
|
(for-each delete-file-recursively
|
gnu: All snippets report errors using exceptions, else return #t.
* gnu/packages/admin.scm, gnu/packages/algebra.scm, gnu/packages/audio.scm,
gnu/packages/backup.scm, gnu/packages/base.scm,
gnu/packages/bioinformatics.scm, gnu/packages/cdrom.scm,
gnu/packages/chez.scm, gnu/packages/code.scm, gnu/packages/compression.scm,
gnu/packages/cross-base.scm, gnu/packages/crypto.scm, gnu/packages/cups.scm,
gnu/packages/databases.scm, gnu/packages/dns.scm, gnu/packages/emacs.scm,
gnu/packages/emulators.scm, gnu/packages/engineering.scm,
gnu/packages/enlightenment.scm, gnu/packages/fpga.scm,
gnu/packages/freedesktop.scm, gnu/packages/ftp.scm, gnu/packages/games.scm,
gnu/packages/gcc.scm, gnu/packages/geo.scm, gnu/packages/ghostscript.scm,
gnu/packages/gl.scm, gnu/packages/glib.scm, gnu/packages/gnome.scm,
gnu/packages/gnuzilla.scm, gnu/packages/graphics.scm, gnu/packages/gtk.scm,
gnu/packages/guile.scm, gnu/packages/irc.scm, gnu/packages/java.scm,
gnu/packages/kerberos.scm, gnu/packages/linux.scm, gnu/packages/lisp.scm,
gnu/packages/lxde.scm, gnu/packages/machine-learning.scm,
gnu/packages/mail.scm, gnu/packages/maths.scm, gnu/packages/messaging.scm,
gnu/packages/monitoring.scm, gnu/packages/mp3.scm, gnu/packages/music.scm,
gnu/packages/netpbm.scm, gnu/packages/networking.scm, gnu/packages/node.scm,
gnu/packages/nvi.scm, gnu/packages/ocaml.scm, gnu/packages/pdf.scm,
gnu/packages/perl.scm, gnu/packages/php.scm, gnu/packages/plotutils.scm,
gnu/packages/pretty-print.scm, gnu/packages/profiling.scm,
gnu/packages/pulseaudio.scm, gnu/packages/python-crypto.scm,
gnu/packages/python.scm, gnu/packages/qt.scm, gnu/packages/robotics.scm,
gnu/packages/sawfish.scm, gnu/packages/scanner.scm, gnu/packages/scheme.scm,
gnu/packages/scribus.scm, gnu/packages/sdl.scm,
gnu/packages/serialization.scm, gnu/packages/shells.scm,
gnu/packages/slang.scm, gnu/packages/smalltalk.scm, gnu/packages/ssh.scm,
gnu/packages/sync.scm, gnu/packages/syncthing.scm, gnu/packages/tbb.scm,
gnu/packages/terminals.scm, gnu/packages/texinfo.scm,
gnu/packages/text-editors.scm, gnu/packages/textutils.scm,
gnu/packages/tls.scm, gnu/packages/unrtf.scm,
gnu/packages/version-control.scm, gnu/packages/video.scm,
gnu/packages/vpn.scm, gnu/packages/web.scm, gnu/packages/wm.scm,
gnu/packages/wxwidgets.scm, gnu/packages/xdisorg.scm, gnu/packages/xorg.scm:
In all snippets, report errors using exceptions, or else return #t.
2018-03-16 12:47:34 +01:00
|
|
|
|
(list "blake2" "lz4" "zstd")))
|
|
|
|
|
#t))))
|
2016-03-15 00:34:25 +01:00
|
|
|
|
(build-system python-build-system)
|
|
|
|
|
(arguments
|
2016-10-18 04:57:52 +02:00
|
|
|
|
`(#:modules ((srfi srfi-26) ; for cut
|
|
|
|
|
(guix build utils)
|
|
|
|
|
(guix build python-build-system))
|
|
|
|
|
#:phases
|
2016-03-15 00:34:25 +01:00
|
|
|
|
(modify-phases %standard-phases
|
|
|
|
|
(add-after 'unpack 'set-env
|
|
|
|
|
(lambda* (#:key inputs #:allow-other-keys)
|
|
|
|
|
(let ((openssl (assoc-ref inputs "openssl"))
|
2017-12-30 17:03:37 +01:00
|
|
|
|
(libb2 (assoc-ref inputs "libb2"))
|
2017-12-30 16:37:36 +01:00
|
|
|
|
(lz4 (assoc-ref inputs "lz4"))
|
|
|
|
|
(zstd (assoc-ref inputs "zstd")))
|
2016-03-15 00:34:25 +01:00
|
|
|
|
(setenv "BORG_OPENSSL_PREFIX" openssl)
|
2017-12-30 17:03:37 +01:00
|
|
|
|
(setenv "BORG_LIBB2_PREFIX" libb2)
|
2017-12-30 16:37:36 +01:00
|
|
|
|
(setenv "BORG_LIBLZ4_PREFIX" lz4)
|
|
|
|
|
(setenv "BORG_LIBZSTD_PREFIX" zstd)
|
2016-03-15 00:34:25 +01:00
|
|
|
|
(setenv "PYTHON_EGG_CACHE" "/tmp")
|
2016-10-11 07:35:43 +02:00
|
|
|
|
;; The test 'test_return_codes[python]' fails when
|
|
|
|
|
;; HOME=/homeless-shelter.
|
|
|
|
|
(setenv "HOME" "/tmp")
|
2016-03-15 00:34:25 +01:00
|
|
|
|
#t)))
|
2016-10-11 07:35:43 +02:00
|
|
|
|
;; The tests need to be run after Borg is installed.
|
|
|
|
|
(delete 'check)
|
|
|
|
|
(add-after 'install 'check
|
2016-11-30 07:09:08 +01:00
|
|
|
|
(lambda* (#:key inputs outputs #:allow-other-keys)
|
|
|
|
|
;; Make the installed package available for the test suite.
|
|
|
|
|
(add-installed-pythonpath inputs outputs)
|
2016-11-27 18:08:59 +01:00
|
|
|
|
;; The tests should be run in an empty directory.
|
|
|
|
|
(mkdir-p "tests")
|
|
|
|
|
(with-directory-excursion "tests"
|
2018-06-24 21:56:38 +02:00
|
|
|
|
(invoke "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_config_dir "
|
|
|
|
|
"and not test_get_keys_dir "
|
|
|
|
|
"and not test_get_security_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 "
|
|
|
|
|
;; These tests assume the kernel supports FUSE.
|
|
|
|
|
"and not test_fuse "
|
|
|
|
|
"and not test_fuse_allow_damaged_files "
|
|
|
|
|
"and not test_mount_hardlinks")))))
|
2016-03-15 00:34:25 +01:00
|
|
|
|
(add-after 'install 'install-doc
|
2017-10-24 06:33:38 +02:00
|
|
|
|
(lambda* (#:key inputs outputs #:allow-other-keys)
|
2016-03-15 00:34:25 +01:00
|
|
|
|
(let* ((out (assoc-ref outputs "out"))
|
2016-10-18 04:57:52 +02: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"))
|
2017-10-24 06:33:38 +02:00
|
|
|
|
(add-installed-pythonpath inputs outputs)
|
2018-06-24 21:56:38 +02:00
|
|
|
|
(invoke "python3" "setup.py" "build_man")
|
|
|
|
|
(copy-recursively "docs/man" man)
|
|
|
|
|
#t))))))
|
2016-03-15 00:34:25 +01:00
|
|
|
|
(native-inputs
|
2016-09-05 14:23:11 +02:00
|
|
|
|
`(("python-cython" ,python-cython)
|
|
|
|
|
("python-setuptools-scm" ,python-setuptools-scm)
|
gnu: Remove python-pytest@2.
* gnu/packages/python.scm (python-pytest): Update to 3.0.7.
[source]: Move substitution to ...
[arguments]: ... here. Incorporate phase from pytest-3.0.
[native-inputs]: Add PYTHON-HYPOTHESIS.
(python-pytest-3.0): Remove variable.
(python2-pytest-3.0): Rename to ...
(python2-pytest): ... this.
[native-inputs]: Add PYTHON2-ENUM34.
* gnu/packages/backup.scm (borg)[native-inputs]: Replace PYTHON-PYTEST-3.0
with PYTHON-PYTEST.
* gnu/packages/calendar.scm (khal): Likewise.
* gnu/packages/databases.scm (python-orator): Likewise.
* gnu/packages/python.scm (python-sphinx-1.6, python-sphinx-1.5.3,
python-pexpect, python-cryptography, python-pyopenssl, python-pytest-warnings,
python-pytest-capturelog, python-pytest-catchlog, python-marshmallow,
python-apispec, python-flasgger, python-pyjwt, python-grako,
python-honcho): Likewise.
* gnu/packages/web.scm (python-internetarchive): Likewise.
2017-07-30 19:25:26 +02:00
|
|
|
|
("python-pytest" ,python-pytest)
|
2016-03-15 00:34:25 +01:00
|
|
|
|
;; For generating the documentation.
|
|
|
|
|
("python-sphinx" ,python-sphinx)
|
2017-07-24 03:09:52 +02:00
|
|
|
|
("python-guzzle-sphinx-theme" ,python-guzzle-sphinx-theme)))
|
2016-03-15 00:34:25 +01:00
|
|
|
|
(inputs
|
|
|
|
|
`(("acl" ,acl)
|
2017-12-30 17:03:37 +01:00
|
|
|
|
("libb2" ,libb2)
|
2016-03-15 00:34:25 +01:00
|
|
|
|
("lz4" ,lz4)
|
|
|
|
|
("openssl" ,openssl)
|
|
|
|
|
("python-llfuse" ,python-llfuse)
|
2018-03-01 05:20:02 +01:00
|
|
|
|
;; The Python msgpack library changed its name so Borg requires this
|
|
|
|
|
;; transitional package for now:
|
|
|
|
|
;; <https://bugs.gnu.org/30662>
|
|
|
|
|
("python-msgpack" ,python-msgpack-transitional)
|
2017-12-30 16:37:36 +01:00
|
|
|
|
("zstd" ,zstd)))
|
2016-03-15 00:34:25 +01:00
|
|
|
|
(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.")
|
2017-11-27 07:57:35 +01:00
|
|
|
|
(home-page "https://www.borgbackup.org/")
|
2016-03-15 00:34:25 +01:00
|
|
|
|
(license license:bsd-3)))
|
2016-09-24 05:36:48 +02: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 06:48:45 +02:00
|
|
|
|
`(;; The tests assume they are run as root:
|
|
|
|
|
;; https://github.com/jborg/attic/issues/7
|
|
|
|
|
#:tests? #f
|
|
|
|
|
#:phases
|
2016-09-24 05:36:48 +02: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)))))
|
2017-01-03 01:46:07 +01:00
|
|
|
|
|
|
|
|
|
(define-public wimlib
|
|
|
|
|
(package
|
|
|
|
|
(name "wimlib")
|
2017-08-07 00:34:01 +02:00
|
|
|
|
(version "1.12.0")
|
2017-01-03 01:46:07 +01:00
|
|
|
|
(source (origin
|
|
|
|
|
(method url-fetch)
|
|
|
|
|
(uri (string-append "https://wimlib.net/downloads/"
|
|
|
|
|
name "-" version ".tar.gz"))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
2017-08-07 00:34:01 +02:00
|
|
|
|
"0ks6hq7vwq13ljkzxp3a490bf8dnracgl2azf57rg49ad2fzab45"))))
|
2017-01-03 01:46:07 +01:00
|
|
|
|
(build-system gnu-build-system)
|
|
|
|
|
(native-inputs
|
|
|
|
|
`(("pkg-config" ,pkg-config)))
|
|
|
|
|
(inputs
|
|
|
|
|
`(("fuse" ,fuse)
|
|
|
|
|
("libxml2" ,libxml2)
|
|
|
|
|
("ntfs-3g" ,ntfs-3g)
|
|
|
|
|
("openssl" ,openssl)))
|
|
|
|
|
(arguments
|
|
|
|
|
`(#:configure-flags (list "--enable-test-support")))
|
|
|
|
|
(home-page "https://wimlib.net/")
|
|
|
|
|
(synopsis "WIM file manipulation library and utilities")
|
|
|
|
|
(description "wimlib is a C library and set of command-line utilities for
|
|
|
|
|
creating, modifying, extracting, and mounting archives in the Windows Imaging
|
|
|
|
|
Format (@dfn{WIM files}). It can capture and apply WIMs directly from and to
|
|
|
|
|
NTFS volumes using @code{ntfs-3g}, preserving NTFS-specific attributes.")
|
|
|
|
|
;; wimlib is dual-licenced under version 3 or later of either the GPL or
|
|
|
|
|
;; LGPL, except those files explicitly marked as being released into the
|
|
|
|
|
;; public domain (CC0) in their headers.
|
|
|
|
|
(license (list license:gpl3+
|
|
|
|
|
license:lgpl3+
|
|
|
|
|
license:cc0))))
|
2017-03-09 18:27:42 +01:00
|
|
|
|
|
|
|
|
|
(define-public obnam
|
|
|
|
|
(package
|
|
|
|
|
(name "obnam")
|
|
|
|
|
(version "1.21")
|
|
|
|
|
(source
|
|
|
|
|
(origin
|
|
|
|
|
(method url-fetch)
|
|
|
|
|
(uri (string-append
|
|
|
|
|
"http://code.liw.fi/debian/pool/main/o/obnam/obnam_"
|
|
|
|
|
version ".orig.tar.xz"))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
|
|
|
|
"0qlipsq50hca71zc0dp1mg9zs12qm0sbblw7qfzl0hj6mk2rv1by"))))
|
|
|
|
|
(build-system python-build-system)
|
|
|
|
|
(arguments
|
2017-03-18 19:52:56 +01:00
|
|
|
|
`(#:python ,python-2
|
|
|
|
|
#:phases
|
|
|
|
|
(modify-phases %standard-phases
|
|
|
|
|
(replace 'check
|
|
|
|
|
(lambda _
|
|
|
|
|
(substitute* "obnamlib/vfs_local_tests.py"
|
2018-06-24 21:57:38 +02:00
|
|
|
|
;; Check for the nobody user instead of root.
|
2017-03-18 19:52:56 +01:00
|
|
|
|
(("self.fs.get_username\\(0\\), 'root'")
|
|
|
|
|
"self.fs.get_username(65534), 'nobody'")
|
2018-06-24 21:57:38 +02:00
|
|
|
|
;; Disable tests checking for root group.
|
2017-03-18 19:52:56 +01:00
|
|
|
|
(("self.fs.get_groupname\\(0\\)") "'root'"))
|
|
|
|
|
(substitute* "obnamlib/vfs_local.py"
|
2018-06-24 21:57:38 +02:00
|
|
|
|
;; Don't cover get_groupname function.
|
2017-03-18 19:52:56 +01:00
|
|
|
|
(("def get_groupname\\(self, gid\\):")
|
|
|
|
|
"def get_groupname(self, gid): # pragma: no cover"))
|
2018-06-24 21:57:38 +02:00
|
|
|
|
;; Can't run network tests.
|
|
|
|
|
(invoke "./check" "--unit-tests"))))))
|
2017-03-09 18:27:42 +01:00
|
|
|
|
(inputs
|
|
|
|
|
`(("python2-cliapp" ,python2-cliapp)
|
|
|
|
|
("python2-larch" ,python2-larch)
|
|
|
|
|
("python2-paramiko" ,python2-paramiko)
|
|
|
|
|
("python2-pyaml" ,python2-pyaml)
|
|
|
|
|
("python2-tracing" ,python2-tracing)
|
|
|
|
|
("python2-ttystatus" ,python2-ttystatus)))
|
2017-03-18 19:52:56 +01:00
|
|
|
|
(native-inputs
|
|
|
|
|
`(("gnupg" ,gnupg)
|
|
|
|
|
("python2-coverage" ,python2-coverage)
|
|
|
|
|
("python2-coverage-test-runner" ,python2-coverage-test-runner)
|
|
|
|
|
("python2-pep8" ,python2-pep8)
|
|
|
|
|
("python2-pylint" ,python2-pylint)))
|
2017-03-09 18:27:42 +01:00
|
|
|
|
(home-page "https://obnam.org/")
|
|
|
|
|
(synopsis "Easy and secure backup program")
|
|
|
|
|
(description "Obnam is an easy, secure backup program. Features
|
|
|
|
|
include snapshot backups, data de-duplication and encrypted backups
|
|
|
|
|
using GnuPG. Backups can be stored on local hard disks, or online via
|
|
|
|
|
the SSH SFTP protocol. The backup server, if used, does not require
|
|
|
|
|
any special software, on top of SSH.")
|
|
|
|
|
(license license:gpl3+)))
|
2017-10-19 01:13:51 +02:00
|
|
|
|
|
|
|
|
|
(define-public dirvish
|
|
|
|
|
(package
|
|
|
|
|
(name "dirvish")
|
|
|
|
|
(version "1.2.1")
|
|
|
|
|
(build-system gnu-build-system)
|
|
|
|
|
(source (origin
|
|
|
|
|
(method url-fetch)
|
|
|
|
|
(uri (string-append
|
|
|
|
|
"http://dirvish.org/dirvish-" version ".tgz"))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
|
|
|
|
"1kbxa1irszp2zw8hd5qzqnrrzb4vxfivs1vn64yxnj0lak1jjzvb"))))
|
|
|
|
|
(arguments
|
|
|
|
|
`(#:modules ((ice-9 match) (ice-9 rdelim)
|
|
|
|
|
,@%gnu-build-system-modules)
|
|
|
|
|
#:phases
|
|
|
|
|
;; This mostly mirrors the steps taken in the install.sh that ships
|
|
|
|
|
;; with dirvish, but simplified because we aren't prompting interactively
|
|
|
|
|
(modify-phases %standard-phases
|
|
|
|
|
(delete 'configure)
|
|
|
|
|
(delete 'build)
|
|
|
|
|
(delete 'check)
|
|
|
|
|
(replace 'install
|
|
|
|
|
(lambda* (#:key inputs outputs #:allow-other-keys)
|
|
|
|
|
;; These are mostly the same steps the install.sh that comes with
|
|
|
|
|
;; dirvish does
|
|
|
|
|
(let* (;; Files we'll be copying
|
|
|
|
|
(executables
|
|
|
|
|
'("dirvish" "dirvish-runall"
|
|
|
|
|
"dirvish-expire" "dirvish-locate"))
|
|
|
|
|
(man-pages
|
|
|
|
|
'(("dirvish" "8") ("dirvish-runall" "8")
|
|
|
|
|
("dirvish-expire" "8") ("dirvish-locate" "8")
|
|
|
|
|
("dirvish.conf" "5")))
|
|
|
|
|
|
|
|
|
|
(output-dir
|
|
|
|
|
(assoc-ref outputs "out"))
|
|
|
|
|
|
|
|
|
|
;; Just a default... not so useful on guixsd though
|
|
|
|
|
;; You probably want to a service with file(s) to point to.
|
|
|
|
|
(confdir "/etc/dirvish")
|
|
|
|
|
|
|
|
|
|
(perl (string-append (assoc-ref %build-inputs "perl")
|
|
|
|
|
"/bin/perl"))
|
|
|
|
|
(loadconfig.pl (call-with-input-file "loadconfig.pl"
|
|
|
|
|
read-string)))
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(define (write-pl filename)
|
|
|
|
|
(define pl-header
|
|
|
|
|
(string-append "#!" perl "\n\n"
|
|
|
|
|
"$CONFDIR = \"" confdir "\";\n\n"))
|
|
|
|
|
(define input-file-location
|
|
|
|
|
(string-append filename ".pl"))
|
|
|
|
|
(define target-file-location
|
|
|
|
|
(string-append output-dir "/bin/" filename ".pl"))
|
|
|
|
|
(define text-to-write
|
|
|
|
|
(string-append pl-header
|
|
|
|
|
(call-with-input-file input-file-location
|
|
|
|
|
read-string)
|
|
|
|
|
"\n" loadconfig.pl))
|
|
|
|
|
(with-output-to-file target-file-location
|
|
|
|
|
(lambda ()
|
|
|
|
|
(display text-to-write)))
|
|
|
|
|
(chmod target-file-location #o755)
|
|
|
|
|
(wrap-program target-file-location
|
|
|
|
|
`("PERL5LIB" ":" prefix
|
|
|
|
|
,(map (lambda (l) (string-append (assoc-ref %build-inputs l)
|
|
|
|
|
"/lib/perl5/site_perl"))
|
|
|
|
|
'("perl-libtime-period"
|
|
|
|
|
"perl-libtime-parsedate")))))
|
|
|
|
|
|
|
|
|
|
(define write-man
|
|
|
|
|
(match-lambda
|
|
|
|
|
((file-base man-num)
|
|
|
|
|
(let* ((filename
|
|
|
|
|
(string-append file-base "." man-num))
|
|
|
|
|
(output-path
|
|
|
|
|
(string-append output-dir
|
|
|
|
|
"/share/man/man" man-num
|
|
|
|
|
"/" filename)))
|
|
|
|
|
(copy-file filename output-path)))))
|
|
|
|
|
|
|
|
|
|
;; Make directories
|
|
|
|
|
(mkdir-p (string-append output-dir "/bin/"))
|
|
|
|
|
(mkdir-p (string-append output-dir "/share/man/man8/"))
|
|
|
|
|
(mkdir-p (string-append output-dir "/share/man/man5/"))
|
|
|
|
|
|
|
|
|
|
;; Write out executables
|
|
|
|
|
(for-each write-pl executables)
|
|
|
|
|
;; Write out man pages
|
|
|
|
|
(for-each write-man man-pages)
|
|
|
|
|
#t))))))
|
|
|
|
|
(inputs
|
|
|
|
|
`(("perl" ,perl)
|
|
|
|
|
("rsync" ,rsync)
|
|
|
|
|
("perl-libtime-period" ,perl-libtime-period)
|
|
|
|
|
("perl-libtime-parsedate" ,perl-libtime-parsedate)))
|
|
|
|
|
(home-page "http://dirvish.org/")
|
|
|
|
|
(synopsis "Fast, disk based, rotating network backup system")
|
|
|
|
|
(description
|
|
|
|
|
"With dirvish you can maintain a set of complete images of your
|
2018-01-19 16:25:13 +01:00
|
|
|
|
file systems with unattended creation and expiration. A dirvish backup vault
|
2017-10-19 01:13:51 +02:00
|
|
|
|
is like a time machine for your data. ")
|
|
|
|
|
(license (license:fsf-free "file://COPYING"
|
|
|
|
|
"Open Software License 2.0"))))
|
2018-06-13 21:17:05 +02:00
|
|
|
|
|
2018-06-18 18:14:27 +02:00
|
|
|
|
(define-public restic
|
2018-06-13 21:17:05 +02:00
|
|
|
|
(package
|
|
|
|
|
(name "restic")
|
|
|
|
|
(version "0.9.1")
|
2018-06-18 18:14:27 +02:00
|
|
|
|
;; TODO Try packaging the bundled / vendored dependencies in the 'vendor/'
|
|
|
|
|
;; directory.
|
2018-06-13 21:17:05 +02:00
|
|
|
|
(source (origin
|
|
|
|
|
(method url-fetch)
|
|
|
|
|
(uri (string-append
|
|
|
|
|
"https://github.com/restic/restic/releases/download/"
|
|
|
|
|
"v" version "/restic-" version ".tar.gz"))
|
|
|
|
|
(file-name (string-append name "-" version ".tar.gz"))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
|
|
|
|
"15f0rsm2lxk4lmn4773q28g49p68pqyyx0ccp7r556asan73p79m"))))
|
|
|
|
|
(build-system go-build-system)
|
|
|
|
|
(arguments
|
|
|
|
|
`(#:import-path "github.com/restic/restic"
|
|
|
|
|
#:unpack-path "github.com/restic"
|
|
|
|
|
;; We don't need to install the source code for end-user applications.
|
|
|
|
|
#:install-source? #f
|
|
|
|
|
#:phases
|
|
|
|
|
(modify-phases %standard-phases
|
|
|
|
|
(replace 'build
|
|
|
|
|
(lambda* (#:key inputs #:allow-other-keys)
|
|
|
|
|
(with-directory-excursion (string-append
|
|
|
|
|
"src/github.com/restic/restic-"
|
|
|
|
|
,version)
|
|
|
|
|
(invoke "go" "run" "build.go"))))
|
|
|
|
|
|
2018-08-08 07:25:05 +02:00
|
|
|
|
(replace 'check
|
|
|
|
|
(lambda _
|
|
|
|
|
(with-directory-excursion (string-append
|
|
|
|
|
"src/github.com/restic/restic-"
|
|
|
|
|
,version)
|
|
|
|
|
;; unexpected error: fusermount: exit status 1
|
|
|
|
|
(delete-file "cmd/restic/integration_fuse_test.go")
|
|
|
|
|
(invoke "go" "run" "build.go" "--test"))))
|
|
|
|
|
|
2018-06-13 21:17:05 +02:00
|
|
|
|
(replace 'install
|
|
|
|
|
(lambda* (#:key outputs #:allow-other-keys)
|
|
|
|
|
(let ((out (assoc-ref outputs "out"))
|
|
|
|
|
(src (string-append "src/github.com/restic/restic-"
|
|
|
|
|
,version)))
|
|
|
|
|
(install-file (string-append src "/restic")
|
|
|
|
|
(string-append out "/bin"))
|
|
|
|
|
#t)))
|
|
|
|
|
|
|
|
|
|
(add-after 'install 'install-docs
|
|
|
|
|
(lambda* (#:key outputs #:allow-other-keys)
|
|
|
|
|
(let* ((out (assoc-ref outputs "out"))
|
|
|
|
|
(man "/share/man")
|
|
|
|
|
(man-section (string-append man "/man"))
|
|
|
|
|
(src (string-append "src/github.com/restic/restic-"
|
|
|
|
|
,version "/doc/man/")))
|
|
|
|
|
;; Install all the man pages to "out".
|
|
|
|
|
(for-each
|
|
|
|
|
(lambda (file)
|
|
|
|
|
(install-file file
|
|
|
|
|
(string-append out man-section
|
|
|
|
|
(string-take-right file 1))))
|
|
|
|
|
(find-files src "\\.[1-9]"))
|
|
|
|
|
#t)))
|
|
|
|
|
|
|
|
|
|
(add-after 'install-docs 'install-shell-completion
|
|
|
|
|
(lambda* (#:key outputs #:allow-other-keys)
|
|
|
|
|
(let* ((out (assoc-ref outputs "out"))
|
|
|
|
|
(bin (string-append out "/bin"))
|
|
|
|
|
(etc (string-append out "/etc"))
|
|
|
|
|
(share (string-append out "/share")))
|
|
|
|
|
(for-each
|
|
|
|
|
(lambda (shell)
|
|
|
|
|
(let* ((shell-name (symbol->string shell))
|
|
|
|
|
(dir (string-append "etc/completion/" shell-name)))
|
|
|
|
|
(mkdir-p dir)
|
|
|
|
|
(invoke (string-append bin "/restic") "generate"
|
|
|
|
|
(string-append "--" shell-name "-completion")
|
|
|
|
|
(string-append dir "/"
|
|
|
|
|
(case shell
|
|
|
|
|
((bash) "restic")
|
|
|
|
|
((zsh) "_restic"))))))
|
|
|
|
|
'(bash zsh))
|
|
|
|
|
(with-directory-excursion "etc/completion"
|
|
|
|
|
(install-file "bash/restic"
|
|
|
|
|
(string-append etc "/bash_completion.d"))
|
|
|
|
|
(install-file "zsh/_restic"
|
|
|
|
|
(string-append share "/zsh/site-functions")))
|
|
|
|
|
#t))))))
|
|
|
|
|
(home-page "https://restic.net/")
|
|
|
|
|
(synopsis "Backup program with multiple revisions, encryption and more")
|
|
|
|
|
(description "Restic is a program that does backups right and was designed
|
|
|
|
|
with the following principles in mind:
|
|
|
|
|
|
|
|
|
|
@itemize
|
|
|
|
|
@item Easy: Doing backups should be a frictionless process, otherwise you
|
|
|
|
|
might be tempted to skip it. Restic should be easy to configure and use, so
|
|
|
|
|
that, in the event of a data loss, you can just restore it. Likewise,
|
|
|
|
|
restoring data should not be complicated.
|
|
|
|
|
|
|
|
|
|
@item Fast: Backing up your data with restic should only be limited by your
|
|
|
|
|
network or hard disk bandwidth so that you can backup your files every day.
|
|
|
|
|
Nobody does backups if it takes too much time. Restoring backups should only
|
|
|
|
|
transfer data that is needed for the files that are to be restored, so that
|
|
|
|
|
this process is also fast.
|
|
|
|
|
|
|
|
|
|
@item Verifiable: Much more important than backup is restore, so restic
|
|
|
|
|
enables you to easily verify that all data can be restored. @item Secure:
|
|
|
|
|
Restic uses cryptography to guarantee confidentiality and integrity of your
|
|
|
|
|
data. The location the backup data is stored is assumed not to be a trusted
|
|
|
|
|
environment (e.g. a shared space where others like system administrators are
|
|
|
|
|
able to access your backups). Restic is built to secure your data against
|
|
|
|
|
such attackers.
|
|
|
|
|
|
|
|
|
|
@item Efficient: With the growth of data, additional snapshots should only
|
|
|
|
|
take the storage of the actual increment. Even more, duplicate data should be
|
|
|
|
|
de-duplicated before it is actually written to the storage back end to save
|
|
|
|
|
precious backup space.
|
|
|
|
|
@end itemize")
|
|
|
|
|
(license license:bsd-2)))
|