gnu: fish: Update to 2.7.1.
[jackhill/guix/guix.git] / gnu / packages / rsync.scm
1 ;;; GNU Guix --- Functional package management for GNU
2 ;;; Copyright © 2012, 2013 Andreas Enge <andreas@enge.fr>
3 ;;; Copyright © 2016 Mark H Weaver <mhw@netris.org>
4 ;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
5 ;;;
6 ;;; This file is part of GNU Guix.
7 ;;;
8 ;;; GNU Guix is free software; you can redistribute it and/or modify it
9 ;;; under the terms of the GNU General Public License as published by
10 ;;; the Free Software Foundation; either version 3 of the License, or (at
11 ;;; your option) any later version.
12 ;;;
13 ;;; GNU Guix is distributed in the hope that it will be useful, but
14 ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
15 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 ;;; GNU General Public License for more details.
17 ;;;
18 ;;; You should have received a copy of the GNU General Public License
19 ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
20
21 (define-module (gnu packages rsync)
22 #:use-module (gnu packages)
23 #:use-module (gnu packages perl)
24 #:use-module (gnu packages acl)
25 #:use-module (gnu packages base)
26 #:use-module (guix licenses)
27 #:use-module (guix packages)
28 #:use-module (guix download)
29 #:use-module (guix build-system gnu))
30
31
32 (define-public rsync
33 (package
34 (name "rsync")
35 (version "3.1.2")
36 (source (origin
37 (method url-fetch)
38 (uri (string-append "http://rsync.samba.org/ftp/rsync/src/rsync-"
39 version ".tar.gz"))
40 (sha256
41 (base32
42 "1hm1q04hz15509f0p9bflw4d6jzfvpm1d36dxjwihk1wzakn5ypc"))
43 (patches (search-patches "rsync-CVE-2017-16548.patch"
44 "rsync-CVE-2017-17433.patch"
45 "rsync-CVE-2017-17433-fix-tests.patch"
46 "rsync-CVE-2017-17434-pt1.patch"
47 "rsync-CVE-2017-17434-pt2.patch"
48 ))
49 ))
50 (properties `((lint-hidden-cve . ("CVE-2017-15994")))) ; introduced after 3.1.2
51 (build-system gnu-build-system)
52 (inputs `(("perl" ,perl)
53 ("acl" ,acl)))
54 (synopsis "Remote (and local) file copying tool")
55 (description
56 "Rsync is a fast and versatile file copying tool. It can copy locally,
57 to/from another host over any remote shell, or to/from a remote rsync daemon.
58 Its delta-transfer algorithm reduces the amount of data sent over the network
59 by sending only the differences between the source files and the existing
60 files in the destination.")
61 (license gpl3+)
62 (home-page "http://rsync.samba.org/")))
63
64 (define-public librsync
65 (package
66 (name "librsync")
67 (version "0.9.7")
68 (source (origin
69 (method url-fetch)
70 (uri (string-append "mirror://sourceforge/librsync/librsync/"
71 version "/librsync-" version ".tar.gz"))
72 (sha256
73 (base32
74 "1mj1pj99mgf1a59q9f2mxjli2fzxpnf55233pc1klxk2arhf8cv6"))))
75 (build-system gnu-build-system)
76 (native-inputs
77 `(("which" ,which)
78 ("perl" ,perl)))
79 (arguments '(#:configure-flags '("--enable-shared")))
80 (home-page "http://librsync.sourceforge.net/")
81 (synopsis "Implementation of the rsync remote-delta algorithm")
82 (description
83 "Librsync is a free software library that implements the rsync
84 remote-delta algorithm. This algorithm allows efficient remote updates of a
85 file, without requiring the old and new versions to both be present at the
86 sending end. The library uses a \"streaming\" design similar to that of zlib
87 with the aim of allowing it to be embedded into many different applications.")
88 (license lgpl2.1+)))