mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-11-07 15:36:20 -05:00
gnu: Add zpaq.
* gnu/packages/compression.scm (zpaq): New variable.
This commit is contained in:
parent
814b099a20
commit
36df995c94
1 changed files with 60 additions and 1 deletions
|
@ -10,7 +10,7 @@
|
|||
;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com>
|
||||
;;; Copyright © 2016 Danny Milosavljevic <dannym@scratchpost.org>
|
||||
;;; Copyright © 2016 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2016, 2017 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2016 David Craven <david@craven.ch>
|
||||
;;; Copyright © 2016 Kei Kebreau <kei@openmailbox.org>
|
||||
;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com>
|
||||
|
@ -46,6 +46,7 @@ (define-module (gnu packages compression)
|
|||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages valgrind)
|
||||
#:use-module (ice-9 match)
|
||||
#:use-module ((srfi srfi-1) #:select (last)))
|
||||
|
||||
(define-public zlib
|
||||
|
@ -1001,3 +1002,61 @@ (define-public gzstream
|
|||
(description "gzstream is a small library for providing zlib
|
||||
functionality in a C++ iostream.")
|
||||
(license license:lgpl2.1+)))
|
||||
|
||||
(define-public zpaq
|
||||
(package
|
||||
(name "zpaq")
|
||||
(version "7.15")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch/zipbomb)
|
||||
(uri (string-append "http://mattmahoney.net/dc/zpaq"
|
||||
(string-delete #\. version) ".zip"))
|
||||
(sha256
|
||||
(base32
|
||||
"066l94yyladlfzri877nh2dhkvspagjn3m5bmv725fmhkr9c4pp8"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
;; Delete irrelevant pre-compiled binaries.
|
||||
'(for-each delete-file (find-files "." "\\.exe$")))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure)) ; no ‘configure’ script
|
||||
#:make-flags
|
||||
(list
|
||||
(string-append "CPPFLAGS=-Dunix"
|
||||
,(match (or (%current-target-system)
|
||||
(%current-system))
|
||||
("x86_64-linux" "")
|
||||
("i686-linux" "")
|
||||
(_ " -DNOJIT")))
|
||||
;; These should be safe, lowest-common-denominator instruction sets,
|
||||
;; allowing for some optimisation while remaining reproducible.
|
||||
(string-append "CXXFLAGS=-O3 -mtune=generic -DNDEBUG"
|
||||
,(match (or (%current-target-system)
|
||||
(%current-system))
|
||||
("x86_64-linux" " -march=nocona")
|
||||
("i686-linux" " -march=i686")
|
||||
(_ "")))
|
||||
(string-append "PREFIX="
|
||||
(assoc-ref %outputs "out")))))
|
||||
(native-inputs
|
||||
`(("perl" ,perl))) ; for pod2man
|
||||
(home-page "http://mattmahoney.net/dc/zpaq.html")
|
||||
(synopsis "Incremental journaling archiver")
|
||||
(description "ZPAQ is a command-line archiver for realistic situations with
|
||||
many duplicate and already compressed files. It backs up only those files
|
||||
modified since the last update. All previous versions remain untouched and can
|
||||
be independently recovered. Identical files are only stored once (known as
|
||||
@dfn{de-duplication}). Archives can also be encrypted.
|
||||
|
||||
ZPAQ is intended to back up user data, not entire operating systems. It ignores
|
||||
owner and group IDs, ACLs, extended attributes, or special file types like
|
||||
devices, sockets, or named pipes. It does not follow or restore symbolic links
|
||||
or junctions, and always follows hard links.")
|
||||
(license (list license:public-domain
|
||||
;; libzpaq.cpp contains a mix of public-domain and
|
||||
;; expat-licenced (or ‘MIT’) code.
|
||||
license:expat))))
|
||||
|
|
Loading…
Reference in a new issue