gnu: Remove ".git" from "https://github/…/….git".
[jackhill/guix/guix.git] / gnu / packages / rsync.scm
CommitLineData
233e7676 1;;; GNU Guix --- Functional package management for GNU
13fbda90 2;;; Copyright © 2012, 2013 Andreas Enge <andreas@enge.fr>
51a277d8 3;;; Copyright © 2016 Mark H Weaver <mhw@netris.org>
6d29f672 4;;; Copyright © 2017, 2019 Efraim Flashner <efraim@flashner.co.il>
b5989658 5;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
584dbd85 6;;; Copyright © 2019 Leo Famulari <leo@famulari.name>
c8911fa3 7;;;
233e7676 8;;; This file is part of GNU Guix.
c8911fa3 9;;;
233e7676 10;;; GNU Guix is free software; you can redistribute it and/or modify it
c8911fa3
AE
11;;; under the terms of the GNU General Public License as published by
12;;; the Free Software Foundation; either version 3 of the License, or (at
13;;; your option) any later version.
14;;;
233e7676 15;;; GNU Guix is distributed in the hope that it will be useful, but
c8911fa3
AE
16;;; WITHOUT ANY WARRANTY; without even the implied warranty of
17;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18;;; GNU General Public License for more details.
19;;;
20;;; You should have received a copy of the GNU General Public License
233e7676 21;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
c8911fa3 22
1ffa7090 23(define-module (gnu packages rsync)
59a43334 24 #:use-module (gnu packages)
1ffa7090 25 #:use-module (gnu packages acl)
ce0614dd 26 #:use-module (gnu packages base)
584dbd85
LF
27 #:use-module (gnu packages compression)
28 #:use-module (gnu packages perl)
29 #:use-module (gnu packages popt)
30 #:use-module ((guix licenses) #:prefix license:)
c8911fa3
AE
31 #:use-module (guix packages)
32 #:use-module (guix download)
6d29f672 33 #:use-module (guix git-download)
584dbd85 34 #:use-module (guix build-system cmake)
c8911fa3
AE
35 #:use-module (guix build-system gnu))
36
c8911fa3
AE
37(define-public rsync
38 (package
39 (name "rsync")
b5989658 40 (version "3.1.3")
c8911fa3
AE
41 (source (origin
42 (method url-fetch)
1385e86c 43 (uri (string-append "https://rsync.samba.org/ftp/rsync/src/rsync-"
c8911fa3
AE
44 version ".tar.gz"))
45 (sha256
46 (base32
b5989658 47 "1h0011dj6jgqpgribir4anljjv7bbrdcs8g91pbsmzf5zr75bk2m"))))
c8911fa3 48 (build-system gnu-build-system)
acf2b200
TGR
49 (arguments
50 `(#:configure-flags
51 ;; The bundled copies are preferred by default.
52 (list "--without-included-zlib"
53 "--without-included-popt")))
bf16482c
MB
54 (native-inputs
55 `(("perl" ,perl)))
56 (inputs
acf2b200
TGR
57 `(("acl" ,acl)
58 ("popt" ,popt)
59 ("zlib" ,zlib)))
35b9e423 60 (synopsis "Remote (and local) file copying tool")
c8911fa3 61 (description
35b9e423 62 "Rsync is a fast and versatile file copying tool. It can copy locally,
c8911fa3
AE
63to/from another host over any remote shell, or to/from a remote rsync daemon.
64Its delta-transfer algorithm reduces the amount of data sent over the network
65by sending only the differences between the source files and the existing
66files in the destination.")
584dbd85 67 (license license:gpl3+)
1385e86c 68 (home-page "https://rsync.samba.org/")))
7f0635f6
EB
69
70(define-public librsync
71 (package
72 (name "librsync")
f3855bf6 73 (version "2.2.1")
7f0635f6 74 (source (origin
6d29f672
EF
75 (method git-fetch)
76 (uri (git-reference
b0e7b699 77 (url "https://github.com/librsync/librsync")
6d29f672
EF
78 (commit (string-append "v" version))))
79 (file-name (git-file-name name version))
7f0635f6
EB
80 (sha256
81 (base32
f3855bf6 82 "08wdlxsa9zg2pyasz1lwg70d5psi4amv81v4yxwffx67ndzb9yp5"))))
584dbd85
LF
83 (build-system cmake-build-system)
84 (inputs
85 `(("popt" ,popt)))
7f0635f6
EB
86 (native-inputs
87 `(("which" ,which)
88 ("perl" ,perl)))
7f0635f6
EB
89 (home-page "http://librsync.sourceforge.net/")
90 (synopsis "Implementation of the rsync remote-delta algorithm")
91 (description
92 "Librsync is a free software library that implements the rsync
93remote-delta algorithm. This algorithm allows efficient remote updates of a
94file, without requiring the old and new versions to both be present at the
35b9e423 95sending end. The library uses a \"streaming\" design similar to that of zlib
7f0635f6 96with the aim of allowing it to be embedded into many different applications.")
584dbd85
LF
97 (license license:lgpl2.1+)))
98
99(define-public librsync-0.9
100 (package
101 (inherit librsync)
102 (version "0.9.7")
103 (source (origin
104 (method url-fetch)
105 (uri (string-append "mirror://sourceforge/librsync/librsync/"
106 version "/librsync-" version ".tar.gz"))
107 (sha256
108 (base32
109 "1mj1pj99mgf1a59q9f2mxjli2fzxpnf55233pc1klxk2arhf8cv6"))))
110 (build-system gnu-build-system)
111 (arguments '(#:configure-flags '("--enable-shared")))
112 (inputs '())))