Subject: bug#55617: closed (Re: bug#55617: [PATCH 0/2] gnu: rsync: Update to 3.2.4.)

From: [email-masked] (GNU bug Tracking System)
Date: Mon, 30 May 2022 14:16:02 +0000

Your bug report

#55617: [PATCH 0/2] gnu: rsync: Update to 3.2.4.

which was filed against the guix-patches package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
55617: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=55617
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#55617: [PATCH 0/2] gnu: rsync: Update to 3.2.4.
From: Ludovic Courtès <[email-masked]>
To: Greg Hogan <[email-masked]>
Cc: Maxime Devos <[email-masked]>, [email-masked]
Date: Mon, 30 May 2022 16:15:30 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Hi,

Greg Hogan <[email-masked]> skribis:

> From ecaee327cfb0edcb663bb00d32a04a0da2d78ceb Mon Sep 17 00:00:00 2001
> From: Greg Hogan <[email-masked]>
> Date: Tue, 3 May 2022 17:55:02 +0000
> Subject: [PATCH 1/2] gnu: rsync: Update to 3.2.4.
>
> * gnu/packages/rsync.scm (rsync): Update to 3.2.4.

[...]

> From 208b49b03614d6412447e01b06ca8026de6dd668 Mon Sep 17 00:00:00 2001
> From: Greg Hogan <[email-masked]>
> Date: Tue, 3 May 2022 17:54:16 +0000
> Subject: [PATCH 2/2] gnu: casync: Update to 99559cd1.
>
> * gnu/packages/sync.scm (casync): Update to 99559cd1.
> [source]: Remove patch.
> [arguments]: Fix installation.
> [native-inputs]: Add python.
> [inputs]: Add eudev.
> * gnu/packages/patches/casync-renameat2-declaration.patch: Delete file.
> * gnu/local.mk: Remove it.

Applied, thanks!

Ludo’.

Subject: [PATCH 0/2] gnu: rsync: Update to 3.2.4.
From: Greg Hogan <[email-masked]>
To: [email-masked]
Date: Tue, 24 May 2022 15:52:46 -0400
List-Id: <debbugs-submit.debbugs.gnu.org>

$ ./pre-inst-env guix refresh -l rsync
Building the following 39 packages would ensure 124 dependent packages
are rebuilt ...

This patchset also fixes the casync build.

The only dependency failing to build is ocaml-craml, for which the
only release was in 2018 and has had no commits since other than the
addition of a deprecation notice with a given alternative of mdx,
which is available in guix as ocaml-mdx. No other packages depend on
ocaml-craml. Should this package be removed?

Greg
From fa8bff56cfd05312396e0b0ad8b6699aae8f93d7 Mon Sep 17 00:00:00 2001
From: Greg Hogan <[email-masked]>
Date: Tue, 3 May 2022 17:54:16 +0000
Subject: [PATCH 2/2] gnu: casync: Update to 99559cd1.

* gnu/packages/sync.scm (casync): Update to 99559cd1.
[source]: Remove patch.
[arguments]: Fix build and installation.
[native-inputs]: Add python.
[inputs]: Add eudev.
* gnu/packages/patches/casync-renameat2-declaration.patch: Delete file.
* gnu/local.mk: Remove it.
---
 gnu/local.mk                                  |  1 -
 .../casync-renameat2-declaration.patch        | 27 -------
 gnu/packages/sync.scm                         | 74 +++++++++++--------
 3 files changed, 44 insertions(+), 58 deletions(-)
 delete mode 100644 gnu/packages/patches/casync-renameat2-declaration.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 2cadb8c42c..7be78ce2e1 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -934,7 +934,6 @@ dist_patch_DATA =						\
   %D%/packages/patches/calibre-no-updates-dialog.patch		\
   %D%/packages/patches/calibre-remove-test-sqlite.patch		\
   %D%/packages/patches/calibre-remove-test-unrar.patch		\
-  %D%/packages/patches/casync-renameat2-declaration.patch	\
   %D%/packages/patches/catdoc-CVE-2017-11110.patch		\
   %D%/packages/patches/circos-remove-findbin.patch		\
   %D%/packages/patches/cdparanoia-fpic.patch			\
diff --git a/gnu/packages/patches/casync-renameat2-declaration.patch b/gnu/packages/patches/casync-renameat2-declaration.patch
deleted file mode 100644
index 74c2ca7b3c..0000000000
--- a/gnu/packages/patches/casync-renameat2-declaration.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-Fix build failure on glibc 2.28 where 'renameat2' would end up being
-declared twice: <https://github.com/systemd/casync/issues/166>.
-
-From 625244ca47e8ee1375d2d0092271bfd13b0913ea Mon Sep 17 00:00:00 2001
-From: Daniel Mack <[email-masked]>
-Date: Tue, 13 Nov 2018 17:52:48 +0100
-Subject: [PATCH] meson.build: pass -D_GNU_SOURCE when checking for functions
-
-As described in #166, -D_GNU_SOURCE needs to be passed to the meson function
-availability checker. h/t to @tomeon for providing a link to the solution as
-well.
----
- meson.build | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/meson.build b/meson.build
-index f42ed16..c0f741e 100644
---- a/meson.build
-+++ b/meson.build
-@@ -78,6 +78,6 @@ foreach ident : [
-         ['copy_file_range',   '''#include <sys/syscall.h>
-                                  #include <unistd.h>'''],
- ]
--        have = cc.has_function(ident[0], prefix : ident[1])
-+        have = cc.has_function(ident[0], args : '-D_GNU_SOURCE', prefix : ident[1])
-         conf.set10('HAVE_' + ident[0].to_upper(), have)
- endforeach
diff --git a/gnu/packages/sync.scm b/gnu/packages/sync.scm
index 801aef3f44..87f5643327 100644
--- a/gnu/packages/sync.scm
+++ b/gnu/packages/sync.scm
@@ -451,35 +451,49 @@ (define-public usync
       (license license:expat))))
 
 (define-public casync
-  (package
-    (name "casync")
-    (version "2")
-    (home-page "https://github.com/systemd/casync/")
-    (source (origin
-              (method git-fetch)
-              (uri (git-reference
-                    (url home-page)
-                    (commit (string-append "v" version))))
-              (sha256
-               (base32
-                "0znkp3fcksrykcsv06y2mjvf2lbwmin25snmvfa8i5qfm3f4rm88"))
-              (file-name (string-append name "-" version "-checkout"))
-              (patches (search-patches "casync-renameat2-declaration.patch"))))
-    (build-system meson-build-system)
-    (native-inputs
-     (list pkg-config python-sphinx rsync))                         ;for tests
-    (inputs
-     (list xz ;for liblzma
-           `(,zstd "lib")
-           curl
-           acl
-           libselinux
-           fuse
-           openssl
-           zlib))
-    (synopsis "File synchronization and backup system")
-    (description
-     "casync is a @dfn{content-addressable data synchronizer} that can be used
+  (let ((commit "99559cd1d8cea69b30022261b5ed0b8021415654")
+        (revision "0"))
+    (package
+      (name "casync")
+      (version (git-version "2" revision commit))
+      (home-page "https://github.com/systemd/casync/")
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url home-page)
+                      (commit commit)))
+                (sha256
+                 (base32
+                  "139g82rkwv1kzss6crfmw3p01xnyjzz66b1ckprpbfncxb24047w"))
+                (file-name (string-append name "-" version "-checkout"))))
+      (build-system meson-build-system)
+      (arguments
+       `(#:configure-flags
+         (let ((out (assoc-ref %outputs "out")))
+           (list (string-append "-Dudevrulesdir="
+                                out "/lib/udev/rules.d")))
+         #:phases
+         (modify-phases %standard-phases
+           (add-before 'configure 'patch-build-flags
+             ;; Fix for change to warnings in GCC 10+ causing
+             ;; "error: argument 1 null where non-null expected [-Werror=nonnull]"
+             (lambda _
+               (substitute* "meson.build" (("-Werror=format=2") "")))))))
+      (native-inputs
+       (list pkg-config python python-sphinx rsync))                  ;for tests
+      (inputs
+       (list xz ;for liblzma
+             `(,zstd "lib")
+             curl
+             acl
+             libselinux
+             eudev
+             fuse
+             openssl
+             zlib))
+      (synopsis "File synchronization and backup system")
+      (description
+       "casync is a @dfn{content-addressable data synchronizer} that can be used
 as the basis of a backup system.  It is:
 
 @itemize
@@ -490,7 +504,7 @@ (define-public casync
 over the Internet in an HTTP and CDN friendly way;
 @item An efficient backup system.
 @end itemize\n")
-    (license license:lgpl2.1+)))
+      (license license:lgpl2.1+))))
 
 (define-public rclone
   (package
-- 
2.36.1

From 4daa4ae67a885c9e05f91a53c8efc03c1fe04bcf Mon Sep 17 00:00:00 2001
From: Greg Hogan <[email-masked]>
Date: Tue, 3 May 2022 17:55:02 +0000
Subject: [PATCH 1/2] gnu: rsync: Update to 3.2.4.

* gnu/packages/rsync.scm (rsync): Update to 3.2.4.
---
 gnu/packages/rsync.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/rsync.scm b/gnu/packages/rsync.scm
index 13717f0249..2b3673c90c 100644
--- a/gnu/packages/rsync.scm
+++ b/gnu/packages/rsync.scm
@@ -39,14 +39,14 @@ (define-module (gnu packages rsync)
 (define-public rsync
   (package
    (name "rsync")
-   (version "3.2.3")
+   (version "3.2.4")
    (source (origin
             (method url-fetch)
             (uri (string-append "https://rsync.samba.org/ftp/rsync/src/rsync-"
                                 version ".tar.gz"))
             (sha256
              (base32
-              "03p5dha9g9krq61mdbcrjkpz5nglri0009ks2vs9k97f9i83rk5y"))))
+              "1lgslprbfirl9p9ca16syh0pzr4kgmrzdxwwayvb0ll0s0w1hxkg"))))
    (build-system gnu-build-system)
    (arguments
     `(#:configure-flags
-- 
2.36.1