gnu: emacs: Remove unneeded import.
[jackhill/guix/guix.git] / gnu / packages / rsync.scm
index a55febf..0d8217e 100644 (file)
@@ -1,5 +1,9 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2012, 2013 Andreas Enge <andreas@enge.fr>
+;;; Copyright © 2016 Mark H Weaver <mhw@netris.org>
+;;; Copyright © 2017, 2019 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2019 Leo Famulari <leo@famulari.name>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
 
 (define-module (gnu packages rsync)
   #:use-module (gnu packages)
-  #:use-module (gnu packages perl)
   #:use-module (gnu packages acl)
-  #:use-module (gnu packages which)
-  #:use-module (guix licenses)
+  #:use-module (gnu packages base)
+  #:use-module (gnu packages compression)
+  #:use-module (gnu packages perl)
+  #:use-module (gnu packages popt)
+  #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (guix download)
+  #:use-module (guix git-download)
+  #:use-module (guix build-system cmake)
   #:use-module (guix build-system gnu))
 
-
 (define-public rsync
   (package
    (name "rsync")
-   (version "3.1.0")
+   (version "3.1.3")
    (source (origin
             (method url-fetch)
-            (uri (string-append "http://rsync.samba.org/ftp/rsync/src/rsync-"
+            (uri (string-append "https://rsync.samba.org/ftp/rsync/src/rsync-"
                                 version ".tar.gz"))
             (sha256
              (base32
-              "0kirw8wglqvwi1v8bwxp373g03xg857h59j5k3mmgff9gzvj7jl1"))))
+              "1h0011dj6jgqpgribir4anljjv7bbrdcs8g91pbsmzf5zr75bk2m"))))
    (build-system gnu-build-system)
-   (inputs `(("perl" ,perl)
-             ("acl" ,acl)))
-   (synopsis "rsync, a remote (and local) file copying tool")
+   (arguments
+    `(#:configure-flags
+      ;; The bundled copies are preferred by default.
+      (list "--without-included-zlib"
+            "--without-included-popt")))
+   (native-inputs
+    `(("perl" ,perl)))
+   (inputs
+    `(("acl" ,acl)
+      ("popt" ,popt)
+      ("zlib" ,zlib)))
+   (synopsis "Remote (and local) file copying tool")
    (description
-    "rsync is a fast and versatile file copying tool. It can copy locally,
+    "Rsync is a fast and versatile file copying tool.  It can copy locally,
 to/from another host over any remote shell, or to/from a remote rsync daemon.
 Its delta-transfer algorithm reduces the amount of data sent over the network
 by sending only the differences between the source files and the existing
 files in the destination.")
-   (license gpl3+)
-   (home-page "http://rsync.samba.org/")))
+   (license license:gpl3+)
+   (home-page "https://rsync.samba.org/")))
 
 (define-public librsync
   (package
     (name "librsync")
-    (version "0.9.7")
+    (version "2.2.1")
        (source (origin
-            (method url-fetch)
-            (uri (string-append "mirror://sourceforge/projects/librsync/librsync/"
-                                version "/librsync-" version ".tar.gz"))
+            (method git-fetch)
+            (uri (git-reference
+                   (url "https://github.com/librsync/librsync.git")
+                   (commit (string-append "v" version))))
+            (file-name (git-file-name name version))
             (sha256
              (base32
-              "1mj1pj99mgf1a59q9f2mxjli2fzxpnf55233pc1klxk2arhf8cv6"))))
-   (build-system gnu-build-system)
+              "08wdlxsa9zg2pyasz1lwg70d5psi4amv81v4yxwffx67ndzb9yp5"))))
+   (build-system cmake-build-system)
+   (inputs
+    `(("popt" ,popt)))
    (native-inputs
     `(("which" ,which)
       ("perl" ,perl)))
-   (arguments '(#:configure-flags '("--enable-shared")))
    (home-page "http://librsync.sourceforge.net/")
    (synopsis "Implementation of the rsync remote-delta algorithm")
    (description
     "Librsync is a free software library that implements the rsync
 remote-delta algorithm.  This algorithm allows efficient remote updates of a
 file, without requiring the old and new versions to both be present at the
-sending end. The library uses a \"streaming\" design similar to that of zlib
+sending end.  The library uses a \"streaming\" design similar to that of zlib
 with the aim of allowing it to be embedded into many different applications.")
-   (license lgpl2.1+)))
+   (license license:lgpl2.1+)))
+
+(define-public librsync-0.9
+  (package
+    (inherit librsync)
+    (version "0.9.7")
+        (source (origin
+             (method url-fetch)
+            (uri (string-append "mirror://sourceforge/librsync/librsync/"
+                                version "/librsync-" version ".tar.gz"))
+             (sha256
+              (base32
+              "1mj1pj99mgf1a59q9f2mxjli2fzxpnf55233pc1klxk2arhf8cv6"))))
+    (build-system gnu-build-system)
+    (arguments '(#:configure-flags '("--enable-shared")))
+    (inputs '())))