diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm index 10512cc1cd..6815b0e337 100644 --- a/gnu/packages/backup.scm +++ b/gnu/packages/backup.scm @@ -564,6 +564,13 @@ (define-public libchop (modules '((guix build utils))) (snippet '(begin + ;; Gnulib's refers to 'gets' for the purposes of + ;; warning against its use, but 'gets' is no longer declared + ;; in glibc's . Remove that warning. + (substitute* "lib/stdio.in.h" + (("_GL_WARN_ON_USE \\(gets,.*") + "\n/* 'gets' is gone, rejoice! */\n")) + ;; Include all the libtirpc headers necessary to get the ;; definitions of 'u_int', etc. (substitute* '("src/block-server.c" @@ -572,8 +579,7 @@ (define-public libchop (("#include " _ header) (string-append "#include \n" "#include \n" - "#include \n"))) - #t)))) + "#include \n"))))))) (build-system gnu-build-system) (arguments '(;; Link against libtirpc. @@ -598,12 +604,16 @@ (define-public libchop (string-append (getenv "CPATH") ":" tirpc)) (setenv "CPATH" tirpc))))) - (add-before 'check 'skip-test + (add-before 'check 'adjust-test (lambda _ - ;; XXX: This test fails (1) because current GnuTLS no - ;; longer supports OpenPGP authentication, and (2) for - ;; some obscure reason. Better skip it. - (setenv "XFAIL_TESTS" "utils/block-server")))))) + ;; This test uses a weird construct to spawn + ;; 'chop-block-server' in the background. Replace it + ;; with something that actually works. + (substitute* "tests/utils/block-server" + (("chop_fail_if ! chop-block-server") + "chop-block-server") + (("'&'") + "&"))))))) (native-inputs (list guile-2.0 gperf-3.0 ;see pkg-config rpcsvc-proto)) ;for 'rpcgen'