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