all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* [bug#73896] [PATCH] gnu: clamav: Add release-monitoring-url property.
@ 2024-10-19 23:08 Nicolas Graves via Guix-patches via
  2024-10-21  9:05 ` [bug#73896] [PATCH v2 1/2] " Nicolas Graves via Guix-patches via
                   ` (2 more replies)
  0 siblings, 3 replies; 45+ messages in thread
From: Nicolas Graves via Guix-patches via @ 2024-10-19 23:08 UTC (permalink / raw)
  To: 73896; +Cc: Nicolas Graves

* gnu/packages/antivirus.scm (clamav)
[source]<uri>: Add secondary release URI.
[properties]: Add release-monitoring-url.
---
 gnu/packages/antivirus.scm | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/antivirus.scm b/gnu/packages/antivirus.scm
index d061b18b11..2161d60398 100644
--- a/gnu/packages/antivirus.scm
+++ b/gnu/packages/antivirus.scm
@@ -48,8 +48,13 @@ (define-public clamav
     (version "0.103.11")
     (source (origin
               (method url-fetch)
-              (uri (string-append "https://www.clamav.net/downloads/production/"
-                                  "clamav-" version ".tar.gz"))
+              (uri
+               (list
+                (string-append "https://www.clamav.net/downloads/production/"
+                               "clamav-" version ".tar.gz")
+                (string-append "https://github.com/Cisco-Talos/clamav/"
+                               "releases/download/clamav-" version
+                               "/clamav-" version ".tar.gz")))
               (sha256
                (base32
                 "04by1g3p6awhi3j1y6zpwzmasdnvjgi6lwm34l2gadlwgkdfpmv1"))
@@ -144,6 +149,8 @@ (define-public clamav
 flexible and scalable multi-threaded daemon, a command line scanner, and
 advanced tool for automatic database updates.  The core of the package is an
 anti-virus engine available in the form of a shared library.")
+    (properties `((release-monitoring-url
+                   . "https://github.com/Cisco-Talos/clamav/releases")))
     (license (list license:gpl2+        ;ClamAV itself
                    license:lgpl2.1      ;libclamav/mspack.[ch]
                    license:public-domain ;libclamav/7z/*, libclamav/rijndael.[ch], etc...
-- 
2.46.0





^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [bug#73896] [PATCH v2 1/2] gnu: clamav: Add release-monitoring-url property.
  2024-10-19 23:08 [bug#73896] [PATCH] gnu: clamav: Add release-monitoring-url property Nicolas Graves via Guix-patches via
@ 2024-10-21  9:05 ` Nicolas Graves via Guix-patches via
  2024-10-21  9:05   ` [bug#73896] [PATCH v2 2/2] gnu: clamav: Update to 1.4.1 Nicolas Graves via Guix-patches via
  2024-11-03  1:30 ` [bug#73896] [PATCH v3 00/20] Clamav update [security fixes] Nicolas Graves via Guix-patches via
  2024-11-05 23:14 ` [bug#73896] [PATCH v4 01/20] gnu: rust-widestring-0.4: Update to 0.4.3 Nicolas Graves via Guix-patches via
  2 siblings, 1 reply; 45+ messages in thread
From: Nicolas Graves via Guix-patches via @ 2024-10-21  9:05 UTC (permalink / raw)
  To: 73896; +Cc: Nicolas Graves

* gnu/packages/antivirus.scm (clamav)
[source]<uri>: Add secondary release URI.
[properties]: Add release-monitoring-url.
---
 gnu/packages/antivirus.scm | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/antivirus.scm b/gnu/packages/antivirus.scm
index d061b18b11..2161d60398 100644
--- a/gnu/packages/antivirus.scm
+++ b/gnu/packages/antivirus.scm
@@ -48,8 +48,13 @@ (define-public clamav
     (version "0.103.11")
     (source (origin
               (method url-fetch)
-              (uri (string-append "https://www.clamav.net/downloads/production/"
-                                  "clamav-" version ".tar.gz"))
+              (uri
+               (list
+                (string-append "https://www.clamav.net/downloads/production/"
+                               "clamav-" version ".tar.gz")
+                (string-append "https://github.com/Cisco-Talos/clamav/"
+                               "releases/download/clamav-" version
+                               "/clamav-" version ".tar.gz")))
               (sha256
                (base32
                 "04by1g3p6awhi3j1y6zpwzmasdnvjgi6lwm34l2gadlwgkdfpmv1"))
@@ -144,6 +149,8 @@ (define-public clamav
 flexible and scalable multi-threaded daemon, a command line scanner, and
 advanced tool for automatic database updates.  The core of the package is an
 anti-virus engine available in the form of a shared library.")
+    (properties `((release-monitoring-url
+                   . "https://github.com/Cisco-Talos/clamav/releases")))
     (license (list license:gpl2+        ;ClamAV itself
                    license:lgpl2.1      ;libclamav/mspack.[ch]
                    license:public-domain ;libclamav/7z/*, libclamav/rijndael.[ch], etc...
-- 
2.46.0





^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [bug#73896] [PATCH v2 2/2] gnu: clamav: Update to 1.4.1.
  2024-10-21  9:05 ` [bug#73896] [PATCH v2 1/2] " Nicolas Graves via Guix-patches via
@ 2024-10-21  9:05   ` Nicolas Graves via Guix-patches via
  0 siblings, 0 replies; 45+ messages in thread
From: Nicolas Graves via Guix-patches via @ 2024-10-21  9:05 UTC (permalink / raw)
  To: 73896; +Cc: Nicolas Graves

* gnu/packages/antivirus.scm (clamav): Update to 1.4.1.
[source]<origin>: Adapt source. This currently is not unbundling all
cargo vendored packages.
[build-system]: Switch to cmake-build-system.
[arguments]: Move field up.
<#:configure-flags>: Set option.
<#:imported-modules>: Set option for patching cargo checksums.
<#:phases>: Remove all phases except adapted 'skip-clamd_tests. Add
phases 'inject-rust-onenote and 'patch-cargo-checksums.
[native-inputs]: Remove autoconf, automake, libtool. Add
python-minimal, python-pytest, rust and rust:cargo.
[inputs]: Remove libltdl, libmspack, llvm-3.6, cyrus-sasl,
tomsfastmath.
---
 gnu/packages/antivirus.scm | 129 +++++++++++++++----------------------
 1 file changed, 51 insertions(+), 78 deletions(-)

diff --git a/gnu/packages/antivirus.scm b/gnu/packages/antivirus.scm
index 2161d60398..1a23657a61 100644
--- a/gnu/packages/antivirus.scm
+++ b/gnu/packages/antivirus.scm
@@ -2,6 +2,7 @@
 ;;; Copyright © 2016, 2017, 2018, 2019, 2020 Eric Bavier <bavier@posteo.net>
 ;;; Copyright © 2018 Christopher Baines <mail@cbaines.net>
 ;;; Copyright © 2019–2021 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2024 Nicolas Graves <ngraves@ngraves.fr>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -20,24 +21,23 @@
 
 (define-module (gnu packages antivirus)
   #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix build-system cargo)
+  #:use-module (guix build-system cmake)
   #:use-module (guix build-system gnu)
   #:use-module (guix gexp)
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix utils)
   #:use-module (gnu packages)
-  #:use-module (gnu packages autotools)
-  #:use-module (gnu packages bison)
   #:use-module (gnu packages check)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages curl)
-  #:use-module (gnu packages cyrus-sasl)
-  #:use-module (gnu packages flex)
-  #:use-module (gnu packages llvm)
-  #:use-module (gnu packages multiprecision)
   #:use-module (gnu packages ncurses)
   #:use-module (gnu packages pcre)
   #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages python)
+  #:use-module (gnu packages python-check)
+  #:use-module (gnu packages rust)
   #:use-module (gnu packages tls)
   #:use-module (gnu packages web)
   #:use-module (gnu packages xml))
@@ -45,7 +45,7 @@ (define-module (gnu packages antivirus)
 (define-public clamav
   (package
     (name "clamav")
-    (version "0.103.11")
+    (version "1.4.1")
     (source (origin
               (method url-fetch)
               (uri
@@ -57,90 +57,63 @@ (define-public clamav
                                "/clamav-" version ".tar.gz")))
               (sha256
                (base32
-                "04by1g3p6awhi3j1y6zpwzmasdnvjgi6lwm34l2gadlwgkdfpmv1"))
+                "1n3a87niad76h3mn3qxq9379gppdjqpkhwb9qkbb79irmj0ff653"))
               (modules '((guix build utils)))
               (snippet
                '(begin
+                  (delete-file "Cargo.lock")
+                  (for-each
+                   delete-file
+                   (find-files ".cargo/vendor" ".cargo-checksum\\.json"))
                   (for-each delete-file-recursively
                             '("win32"                  ; unnecessary
-                              "libclamav/c++/llvm"     ; use system llvm
-                              "libclamav/tomsfastmath" ; use system tomsfastmath
-                              "libclamunrar"))))       ; non-free license
-              (patches
-               (search-patches "clamav-system-tomsfastmath.patch"
-                               "clamav-config-llvm-libs.patch"))))
-    (build-system gnu-build-system)
+                              "libclamunrar"))))))     ; non-free license
+    (build-system cmake-build-system)
+    (arguments
+     (list
+      #:configure-flags
+      #~(list "-DENABLE_MILTER=OFF" "-DENABLE_UNRAR=OFF")
+      #:imported-modules `((guix build cargo-utils)
+                           ,@%cmake-build-system-modules)
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'inject-rust-onenote
+            (lambda _
+              (substitute* "libclamav_rust/Cargo.toml"
+                (("onenote_parser = .*")
+                 "onenote_parser = \"0.3.1\"\n"))))
+          (add-after 'patch-source-shebangs 'patch-cargo-checksums
+            (lambda _
+              (use-modules
+               (srfi srfi-1) (ice-9 ftw) (guix build cargo-utils))
+              (with-directory-excursion ".cargo/vendor"
+                (for-each generate-all-checksums
+                          (delete "." (delete ".." (scandir ".")))))))
+          (add-after 'unpack 'skip-clamd-tests
+            ;; XXX: The check?_clamd tests fail inside the build
+            ;; chroot, but pass outside.
+            (lambda* (#:key tests? #:allow-other-keys)
+              (when tests?
+                (substitute* "unit_tests/CMakeLists.txt"
+                  (("clamd_test\\.py" test)
+                   (string-append
+                    test " -k \"not test_clamd_08_VirusEvent\"")))))))))
     (native-inputs
-     (list autoconf
-           automake
-           check ; for tests
-           libtool
-           pkg-config))
+     (list check ; for tests
+           pkg-config
+           python-minimal
+           python-pytest
+           rust
+           (list rust "cargo")))
     (inputs
       (list bzip2
             curl
             json-c
-            libltdl
-            libmspack
-            llvm-3.6               ; requires <3.7, for JIT/verifier
-            ncurses
             libressl
-            pcre2
-            cyrus-sasl             ; for linking curl with libtool
-            tomsfastmath
             libxml2
+            ncurses
+            pcre2
             zlib))
-    (arguments
-      (list #:configure-flags
-            #~(let-syntax ((with (syntax-rules ()
-                            ((_ name use)
-                             (string-append "--with-" name "="
-                                            (assoc-ref %build-inputs use))))))
-              (list "--disable-unrar"
-                    "--enable-llvm"
-                    "--with-system-llvm"
-                    "--with-system-libmspack"
-                    "--without-included-ltdl"
-                    (with "xml" "libxml2")
-                    (with "openssl" "libressl")
-                    (with "libjson" "json-c")
-                    (with "pcre2" "pcre2")
-                    (with "zlib" "zlib")
-                    (with "libcurl" "curl")
-                    ;; For sanity, specifying --enable-* flags turns
-                    ;; "support unavailable" warnings into errors.
-                    "--enable-bzip2"
-                    "--enable-check"
-                    "--sysconfdir=/etc/clamav"
-                    ;; Default database directory needs to be writeable
-                    "--with-dbdir=/var/db/clamav"))
-            ;; install sample .conf files to %output/etc rather than /etc/clamav
-            #:make-flags
-            #~(list (string-append "sysconfdir=" %output "/etc"))
-            #:phases
-            #~(modify-phases %standard-phases
-                ;; Regenerate configure script.  Without this we don't get
-                ;; the correct value for LLVM linker variables.
-                (add-after 'unpack 'reconf
-                  (lambda _ (invoke "autoreconf" "-vfi")))
-                (add-before 'configure 'patch-llvm-config
-                  (lambda _
-                    (substitute* '("libclamav/c++/detect.cpp"
-                                   "libclamav/c++/ClamBCRTChecks.cpp"
-                                   "libclamav/c++/bytecode2llvm.cpp")
-                      (("llvm/Config/config.h") "llvm/Config/llvm-config.h"))
-                    ;; `llvm-config --libfiles` inappropriately lists lib*.a
-                    ;; libraries, rather than the lib*.so's that our llvm
-                    ;; contains.  They're used only for listing extra build
-                    ;; dependencies, so ignore them until that's fixed.
-                    (substitute* "libclamav/c++/Makefile.in"
-                      (("@LLVMCONFIG_LIBFILES@") ""))))
-                (add-before 'check 'skip-clamd-tests
-                  ;; XXX: The check?_clamd tests fail inside the build
-                  ;; chroot, but pass outside.
-                  (lambda _
-                    (substitute* "unit_tests/Makefile"
-                      (("check2_clamd.sh.*check4_clamd.sh") "")))))))
     (home-page "https://www.clamav.net")
     (synopsis "Antivirus engine")
     (description
-- 
2.46.0





^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [bug#73896] [PATCH v3 00/20] Clamav update [security fixes]
  2024-10-19 23:08 [bug#73896] [PATCH] gnu: clamav: Add release-monitoring-url property Nicolas Graves via Guix-patches via
  2024-10-21  9:05 ` [bug#73896] [PATCH v2 1/2] " Nicolas Graves via Guix-patches via
@ 2024-11-03  1:30 ` Nicolas Graves via Guix-patches via
  2024-11-03  1:30   ` [bug#73896] [PATCH v3 01/20] gnu: rust-widestring-0.4: Update to 0.4.3 Nicolas Graves via Guix-patches via
                     ` (19 more replies)
  2024-11-05 23:14 ` [bug#73896] [PATCH v4 01/20] gnu: rust-widestring-0.4: Update to 0.4.3 Nicolas Graves via Guix-patches via
  2 siblings, 20 replies; 45+ messages in thread
From: Nicolas Graves via Guix-patches via @ 2024-11-03  1:30 UTC (permalink / raw)
  To: 73896; +Cc: Nicolas Graves

This patch series completes the work on clamav update with a complete
unbundling of its rust dependencies.

Nicolas Graves (20):
  gnu: rust-widestring-0.4: Update to 0.4.3.
  gnu: rust-enum-primitive-derive-0.2: Update to 0.2.2.
  gnu: Add rust-onenote-parser-0.3.
  gnu: Add rust-onenote-parser-for-clamav.
  gnu: clamav: Add release-monitoring-url property.
  gnu: clamav: Update to 1.4.1.
  gnu: Add rust-hamming-0.1.
  gnu: Add rust-primal-bit-0.3.
  gnu: Add rust-primal-check-0.3.
  gnu: Add rust-primal-estimate-0.3.
  gnu: Add rust-primal-sieve-0.3.
  gnu: Add rust-primal-slowsieve-0.3.
  gnu: Add rust-primal-0.3.
  gnu: rust-crc-any-2: Update to 2.5.0.
  gnu: Add rust-delharc-0.6.
  gnu: Add rust-transpose-0.2.
  gnu: rust-strength-reduce-0.2: Update to 0.2.4.
  gnu: Add rust-rustfft-6.
  gnu: Add rust-rustdct-0.7.
  gnu: clamav: Unbundle rust dependencies.

 gnu/local.mk                                  |   3 +
 gnu/packages/antivirus.scm                    | 205 ++++++-----
 gnu/packages/crates-io.scm                    | 342 +++++++++++++++++-
 .../rust-onenote-parser-for-clamav-deps.patch |  88 +++++
 ...er-for-clamav-parse-in-memory-buffer.patch |  52 +++
 ...note-parser-for-clamav-property-type.patch |  30 ++
 6 files changed, 630 insertions(+), 90 deletions(-)
 create mode 100644 gnu/packages/patches/rust-onenote-parser-for-clamav-deps.patch
 create mode 100644 gnu/packages/patches/rust-onenote-parser-for-clamav-parse-in-memory-buffer.patch
 create mode 100644 gnu/packages/patches/rust-onenote-parser-for-clamav-property-type.patch

-- 
2.46.0





^ permalink raw reply	[flat|nested] 45+ messages in thread

* [bug#73896] [PATCH v3 01/20] gnu: rust-widestring-0.4: Update to 0.4.3.
  2024-11-03  1:30 ` [bug#73896] [PATCH v3 00/20] Clamav update [security fixes] Nicolas Graves via Guix-patches via
@ 2024-11-03  1:30   ` Nicolas Graves via Guix-patches via
  2024-11-03  1:30   ` [bug#73896] [PATCH v3 02/20] gnu: rust-enum-primitive-derive-0.2: Update to 0.2.2 Nicolas Graves via Guix-patches via
                     ` (18 subsequent siblings)
  19 siblings, 0 replies; 45+ messages in thread
From: Nicolas Graves via Guix-patches via @ 2024-11-03  1:30 UTC (permalink / raw)
  To: 73896; +Cc: Nicolas Graves

* gnu/packages/crates-io.scm (rust-widestring-0.4): Update to 0.4.3.
---
 gnu/packages/crates-io.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 90761bb626..474a2a7bfe 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -90694,7 +90694,7 @@ (define-public rust-widestring-0.4
   (package
     (inherit rust-widestring-0.5)
     (name "rust-widestring")
-    (version "0.4.2")
+    (version "0.4.3")
     (source
       (origin
         (method url-fetch)
@@ -90702,7 +90702,7 @@ (define-public rust-widestring-0.4
         (file-name (string-append name "-" version ".tar.gz"))
         (sha256
          (base32
-          "13565qy4jhpg4x0xw8mwxzzsh0p8c93p5208lh6kpwp0q01y6qx7"))))
+          "0z3ba8qrxb62vpfgk7n2xs2grm9kdaj1cz4q8s0gs8fx8h0r8s61"))))
     (arguments
      `(#:cargo-development-inputs
        (("rust-winapi" ,rust-winapi-0.3))))))
-- 
2.46.0





^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [bug#73896] [PATCH v3 02/20] gnu: rust-enum-primitive-derive-0.2: Update to 0.2.2.
  2024-11-03  1:30 ` [bug#73896] [PATCH v3 00/20] Clamav update [security fixes] Nicolas Graves via Guix-patches via
  2024-11-03  1:30   ` [bug#73896] [PATCH v3 01/20] gnu: rust-widestring-0.4: Update to 0.4.3 Nicolas Graves via Guix-patches via
@ 2024-11-03  1:30   ` Nicolas Graves via Guix-patches via
  2024-11-03  1:30   ` [bug#73896] [PATCH v3 03/20] gnu: Add rust-onenote-parser-0.3 Nicolas Graves via Guix-patches via
                     ` (17 subsequent siblings)
  19 siblings, 0 replies; 45+ messages in thread
From: Nicolas Graves via Guix-patches via @ 2024-11-03  1:30 UTC (permalink / raw)
  To: 73896; +Cc: Nicolas Graves

* gnu/packages/crates-io.scm (rust-enum-primitive-derive-0.2): Update to 0.2.2.
---
 gnu/packages/crates-io.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 474a2a7bfe..621aeb6c21 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -24068,7 +24068,7 @@ (define-public rust-enum-primitive-0.1
 (define-public rust-enum-primitive-derive-0.2
   (package
     (name "rust-enum-primitive-derive")
-    (version "0.2.1")
+    (version "0.2.2")
     (source
      (origin
        (method url-fetch)
@@ -24077,7 +24077,7 @@ (define-public rust-enum-primitive-derive-0.2
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "0h1k2izdl5lf2na8xnj7rgwjm8gawxc2p1w8j6ahifvyka7jhljz"))))
+         "03ibjjx8dc4akpq8ck24qda5ix4jybz9jagfxykd0s6vxb2vjxf3"))))
     (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs
-- 
2.46.0





^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [bug#73896] [PATCH v3 03/20] gnu: Add rust-onenote-parser-0.3.
  2024-11-03  1:30 ` [bug#73896] [PATCH v3 00/20] Clamav update [security fixes] Nicolas Graves via Guix-patches via
  2024-11-03  1:30   ` [bug#73896] [PATCH v3 01/20] gnu: rust-widestring-0.4: Update to 0.4.3 Nicolas Graves via Guix-patches via
  2024-11-03  1:30   ` [bug#73896] [PATCH v3 02/20] gnu: rust-enum-primitive-derive-0.2: Update to 0.2.2 Nicolas Graves via Guix-patches via
@ 2024-11-03  1:30   ` Nicolas Graves via Guix-patches via
  2024-11-03  1:30   ` [bug#73896] [PATCH v3 04/20] gnu: Add rust-onenote-parser-for-clamav Nicolas Graves via Guix-patches via
                     ` (16 subsequent siblings)
  19 siblings, 0 replies; 45+ messages in thread
From: Nicolas Graves via Guix-patches via @ 2024-11-03  1:30 UTC (permalink / raw)
  To: 73896; +Cc: Nicolas Graves

* gnu/packages/crates-io.scm (rust-onenote-parser-0.3): New variable.
---
 gnu/packages/crates-io.scm | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 621aeb6c21..d3815e7f28 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -49317,6 +49317,36 @@ (define-public rust-omnipath-0.1
     (description "This package provides a path utility library.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-onenote-parser-0.3
+  (package
+    (name "rust-onenote-parser")
+    (version "0.3.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "onenote_parser" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "12rj3ixhnxvl2mpkad3ng4b8fx4ynxhdlwzxba36c8i98ls57zzf"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-bytes" ,rust-bytes-0.5)
+        ("rust-encoding-rs" ,rust-encoding-rs-0.8)
+        ("rust-enum-primitive-derive" ,rust-enum-primitive-derive-0.2)
+        ("rust-itertools" ,rust-itertools-0.9)
+        ("rust-num-traits" ,rust-num-traits-0.2)
+        ("rust-paste" ,rust-paste-1)
+        ("rust-thiserror" ,rust-thiserror-1)
+        ("rust-uuid" ,rust-uuid-0.8)
+        ("rust-widestring" ,rust-widestring-0.4))
+       #:cargo-development-inputs (("rust-insta" ,rust-insta-1))))
+    (home-page "https://github.com/msiemens/onenote.rs")
+    (synopsis "Parser for Microsoft OneNote files")
+    (description
+     "This package provides a parser for Microsoft OneNote files.")
+    (license license:mpl2.0)))
+
 (define-public rust-onig-6
   (package
     (name "rust-onig")
-- 
2.46.0





^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [bug#73896] [PATCH v3 04/20] gnu: Add rust-onenote-parser-for-clamav.
  2024-11-03  1:30 ` [bug#73896] [PATCH v3 00/20] Clamav update [security fixes] Nicolas Graves via Guix-patches via
                     ` (2 preceding siblings ...)
  2024-11-03  1:30   ` [bug#73896] [PATCH v3 03/20] gnu: Add rust-onenote-parser-0.3 Nicolas Graves via Guix-patches via
@ 2024-11-03  1:30   ` Nicolas Graves via Guix-patches via
  2024-11-03  1:30   ` [bug#73896] [PATCH v3 05/20] gnu: clamav: Add release-monitoring-url property Nicolas Graves via Guix-patches via
                     ` (15 subsequent siblings)
  19 siblings, 0 replies; 45+ messages in thread
From: Nicolas Graves via Guix-patches via @ 2024-11-03  1:30 UTC (permalink / raw)
  To: 73896; +Cc: Nicolas Graves

* gnu/packages/crates-io.scm (rust-onenote-parser-for-clamav): New
variable.
* gnu/packages/patches/rust-onenote-parser-for-clamav-deps.patch
* gnu/packages/patches/rust-onenote-parser-for-clamav-parse-in-memory-buffer.patch
* gnu/packages/patches/rust-onenote-parser-for-clamav-property-type.patch
Add patches here...
* gnu/local.mk: ...and here.
---
 gnu/local.mk                                  |  3 +
 gnu/packages/crates-io.scm                    | 27 ++++++
 .../rust-onenote-parser-for-clamav-deps.patch | 88 +++++++++++++++++++
 ...er-for-clamav-parse-in-memory-buffer.patch | 52 +++++++++++
 ...note-parser-for-clamav-property-type.patch | 30 +++++++
 5 files changed, 200 insertions(+)
 create mode 100644 gnu/packages/patches/rust-onenote-parser-for-clamav-deps.patch
 create mode 100644 gnu/packages/patches/rust-onenote-parser-for-clamav-parse-in-memory-buffer.patch
 create mode 100644 gnu/packages/patches/rust-onenote-parser-for-clamav-property-type.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 7e5fb2948e..3c7f27a3d3 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -2133,6 +2133,9 @@ dist_patch_DATA =						\
   %D%/packages/patches/rust-ndarray-0.13-remove-blas-src.patch	\
   %D%/packages/patches/rust-ndarray-0.14-remove-blas-src.patch	\
   %D%/packages/patches/rust-nettle-disable-vendor.patch		 \
+  %D%/packages/patches/rust-onenote-parser-for-clamav-deps.patch	\
+  %D%/packages/patches/rust-onenote-parser-for-clamav-parse-in-memory-buffer.patch	\
+  %D%/packages/patches/rust-onenote-parser-for-clamav-property-type.patch	\
   %D%/packages/patches/rust-poem-1-fewer-deps.patch		\
   %D%/packages/patches/rust-rspec-1-remove-clippy.patch	\
   %D%/packages/patches/rust-trash-2-update-windows.patch	\
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index d3815e7f28..2a66385d10 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -49347,6 +49347,33 @@ (define-public rust-onenote-parser-0.3
      "This package provides a parser for Microsoft OneNote files.")
     (license license:mpl2.0)))
 
+(define-public rust-onenote-parser-for-clamav
+  (package
+    (inherit rust-onenote-parser-0.3)
+    (name "rust-onenote-parser-for-clamav")
+    (source (origin
+              (inherit (package-source rust-onenote-parser-0.3))
+              (patches
+               (search-patches
+                "rust-onenote-parser-for-clamav-deps.patch"
+                "rust-onenote-parser-for-clamav-parse-in-memory-buffer.patch"
+                "rust-onenote-parser-for-clamav-property-type.patch"))
+              (snippet #~(begin
+                           (delete-file "Cargo.toml")
+                           (rename-file "Cargo.toml.orig" "Cargo.toml")))))
+    (arguments
+     `(#:cargo-inputs
+       (("rust-bytes" ,rust-bytes-1)
+        ("rust-encoding-rs" ,rust-encoding-rs-0.8)
+        ("rust-enum-primitive-derive" ,rust-enum-primitive-derive-0.2)
+        ("rust-itertools" ,rust-itertools-0.10)
+        ("rust-num-traits" ,rust-num-traits-0.2)
+        ("rust-paste" ,rust-paste-1)
+        ("rust-thiserror" ,rust-thiserror-1)
+        ("rust-uuid" ,rust-uuid-1)
+        ("rust-widestring" ,rust-widestring-1))
+       #:cargo-development-inputs (("rust-insta" ,rust-insta-1))))))
+
 (define-public rust-onig-6
   (package
     (name "rust-onig")
diff --git a/gnu/packages/patches/rust-onenote-parser-for-clamav-deps.patch b/gnu/packages/patches/rust-onenote-parser-for-clamav-deps.patch
new file mode 100644
index 0000000000..24d5692573
--- /dev/null
+++ b/gnu/packages/patches/rust-onenote-parser-for-clamav-deps.patch
@@ -0,0 +1,88 @@
+From f940d8c8fa087554583158d50df071af89c516db Mon Sep 17 00:00:00 2001
+From: Simon Lamon <32477463+silamon@users.noreply.github.com>
+Date: Sat, 19 Nov 2022 20:32:07 +0100
+Subject: [PATCH] chore: upgrade dependencies (#9)
+
+Co-authored-by: Markus Siemens <markus@m-siemens.de>
+---
+ Cargo.toml.orig | 8 ++++----
+ src/errors.rs   | 6 +++---
+ src/reader.rs   | 2 +-
+ src/utils.rs    | 5 ++---
+ 4 files changed, 10 insertions(+), 11 deletions(-)
+
+diff --git a/Cargo.toml.orig b/Cargo.toml.orig
+index 9afddd0..e302436 100644
+--- a/Cargo.toml.orig
++++ b/Cargo.toml.orig
+@@ -14,15 +14,15 @@ categories = ["parser-implementations"]
+ backtrace = []
+ 
+ [dependencies]
+-bytes = "0.5"
++bytes = "1.2.0"
+ encoding_rs = "0.8.31"
+ enum-primitive-derive = "0.2.2"
+-itertools = "0.9.0"
++itertools = "0.10.3"
+ num-traits = "0.2"
+ paste = "1.0"
+ thiserror = "1.0"
+-uuid = "0.8"
+-widestring = "0.4.3"
++uuid = "1.1.2"
++widestring = "1.0.2"
+ 
+ [dev-dependencies]
+ insta = "1.21.1"
+diff --git a/src/errors.rs b/src/errors.rs
+index 91477b3..50079a3 100644
+--- a/src/errors.rs
++++ b/src/errors.rs
+@@ -51,8 +51,8 @@ impl From<std::string::FromUtf16Error> for Error {
+     }
+ }
+ 
+-impl From<widestring::MissingNulError<u16>> for Error {
+-    fn from(err: widestring::MissingNulError<u16>) -> Self {
++impl From<widestring::error::MissingNulTerminator> for Error {
++    fn from(err: widestring::error::MissingNulTerminator) -> Self {
+         ErrorKind::from(err).into()
+     }
+ }
+@@ -128,6 +128,6 @@ pub enum ErrorKind {
+     #[error("UTF-16 string is missing null terminator: {err}")]
+     Utf16MissingNull {
+         #[from]
+-        err: widestring::MissingNulError<u16>,
++        err: widestring::error::MissingNulTerminator,
+     },
+ }
+diff --git a/src/reader.rs b/src/reader.rs
+index 64730d0..318c280 100644
+--- a/src/reader.rs
++++ b/src/reader.rs
+@@ -40,7 +40,7 @@ impl<'a> Reader<'a> {
+     }
+ 
+     pub(crate) fn bytes(&self) -> &[u8] {
+-        self.0.bytes()
++        self.0.chunk()
+     }
+ 
+     pub(crate) fn remaining(&self) -> usize {
+diff --git a/src/utils.rs b/src/utils.rs
+index fd77181..074ff50 100644
+--- a/src/utils.rs
++++ b/src/utils.rs
+@@ -12,8 +12,7 @@ impl Utf16ToString for &[u8] {
+             .map(|v| u16::from_le_bytes([v[0], v[1]]))
+             .collect();
+ 
+-        let value = U16CString::from_vec_with_nul(data)?;
+-
+-        Ok(value.to_string()?)
++        let value = U16CString::from_vec_truncate(data);
++        Ok(value.to_string().unwrap())
+     }
+ }
diff --git a/gnu/packages/patches/rust-onenote-parser-for-clamav-parse-in-memory-buffer.patch b/gnu/packages/patches/rust-onenote-parser-for-clamav-parse-in-memory-buffer.patch
new file mode 100644
index 0000000000..77adc550ca
--- /dev/null
+++ b/gnu/packages/patches/rust-onenote-parser-for-clamav-parse-in-memory-buffer.patch
@@ -0,0 +1,52 @@
+From 8b450447e58143004b68dd21c11b710fdb79be92 Mon Sep 17 00:00:00 2001
+From: Micah Snyder <micasnyd@cisco.com>
+Date: Mon, 3 Jul 2023 21:44:57 -0700
+Subject: [PATCH] Add ability to parse section from in memory buffer
+
+Resolves: https://github.com/msiemens/onenote.rs/issues/12
+---
+ src/onenote/mod.rs | 23 ++++++++++++++++++++++-
+ 1 file changed, 22 insertions(+), 1 deletion(-)
+
+diff --git a/src/onenote/mod.rs b/src/onenote/mod.rs
+index de172c9..8bcb62b 100644
+--- a/src/onenote/mod.rs
++++ b/src/onenote/mod.rs
+@@ -6,8 +6,9 @@ use crate::onestore::parse_store;
+ use crate::reader::Reader;
+ use std::ffi::OsStr;
+ use std::fs::File;
+-use std::io::{BufReader, Read};
++use std::io::{BufReader, Read, Cursor};
+ use std::path::Path;
++use std::str::FromStr;
+ 
+ pub(crate) mod content;
+ pub(crate) mod embedded_file;
+@@ -76,6 +77,26 @@ impl Parser {
+         Ok(Notebook { entries: sections })
+     }
+ 
++    /// Parse a OneNote section buffer.
++    ///
++    /// The `data` argument must contain a OneNote section.
++    pub fn parse_section_buffer(&mut self, data: &[u8], file_name: &Path) -> Result<Section> {
++        let packaging = OneStorePackaging::parse(&mut Reader::new(data))?;
++        let store = parse_store(&packaging)?;
++
++        if store.schema_guid() != guid!({1F937CB4-B26F-445F-B9F8-17E20160E461}) {
++            return Err(ErrorKind::NotASectionFile {
++                file: file_name.to_string_lossy().into_owned(),
++            }
++            .into());
++        }
++
++        section::parse_section(
++            store,
++            file_name.to_string_lossy().into_owned(),
++        )
++    }
++
+     /// Parse a OneNote section file.
+     ///
+     /// The `path` argument must point to a `.one` file that contains a
diff --git a/gnu/packages/patches/rust-onenote-parser-for-clamav-property-type.patch b/gnu/packages/patches/rust-onenote-parser-for-clamav-property-type.patch
new file mode 100644
index 0000000000..ff94fa2630
--- /dev/null
+++ b/gnu/packages/patches/rust-onenote-parser-for-clamav-property-type.patch
@@ -0,0 +1,30 @@
+From 29c08532252b917543ff268284f926f30876bb79 Mon Sep 17 00:00:00 2001
+From: Matt Jolly <Matt.Jolly@footclan.ninja>
+Date: Mon, 24 Jun 2024 17:34:05 +1000
+Subject: [PATCH] PropertType: Specify type for custom discriminant values
+
+We use custom discriminant values for enum variants for "PropertType" without specifying the type.
+This causes it to default to "isize" which on 64bit platforms is big enough to hold the 32bit constants,
+but causes overflow when isize is 32bit.
+
+This issue was uncovered due to build failures on arm for Gentoo Linux as a dependency of ClamAV.
+
+Bug: https://bugs.gentoo.org/927214
+Signed-off-by: Matt Jolly <kangie@gentoo.org>
+Co-authored-by: Steven Newbury <steve@snewbury.org.uk>
+---
+ src/one/property/mod.rs | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/one/property/mod.rs b/src/one/property/mod.rs
+index 42841c6..fcc0481 100644
+--- a/src/one/property/mod.rs
++++ b/src/one/property/mod.rs
+@@ -23,6 +23,7 @@ mod references;
+ pub(crate) mod simple;
+ pub(crate) mod time;
+ 
++#[repr(u32)]
+ #[derive(Debug, Copy, Clone, PartialEq)]
+ #[allow(dead_code)]
+ #[allow(clippy::enum_clike_unportable_variant)]
-- 
2.46.0





^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [bug#73896] [PATCH v3 05/20] gnu: clamav: Add release-monitoring-url property.
  2024-11-03  1:30 ` [bug#73896] [PATCH v3 00/20] Clamav update [security fixes] Nicolas Graves via Guix-patches via
                     ` (3 preceding siblings ...)
  2024-11-03  1:30   ` [bug#73896] [PATCH v3 04/20] gnu: Add rust-onenote-parser-for-clamav Nicolas Graves via Guix-patches via
@ 2024-11-03  1:30   ` Nicolas Graves via Guix-patches via
  2024-11-03  1:30   ` [bug#73896] [PATCH v3 06/20] gnu: clamav: Update to 1.4.1 Nicolas Graves via Guix-patches via
                     ` (14 subsequent siblings)
  19 siblings, 0 replies; 45+ messages in thread
From: Nicolas Graves via Guix-patches via @ 2024-11-03  1:30 UTC (permalink / raw)
  To: 73896; +Cc: Nicolas Graves

* gnu/packages/antivirus.scm (clamav)
[source]<uri>: Add secondary release URI.
[properties]: Add release-monitoring-url.
---
 gnu/packages/antivirus.scm | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/antivirus.scm b/gnu/packages/antivirus.scm
index d061b18b11..2161d60398 100644
--- a/gnu/packages/antivirus.scm
+++ b/gnu/packages/antivirus.scm
@@ -48,8 +48,13 @@ (define-public clamav
     (version "0.103.11")
     (source (origin
               (method url-fetch)
-              (uri (string-append "https://www.clamav.net/downloads/production/"
-                                  "clamav-" version ".tar.gz"))
+              (uri
+               (list
+                (string-append "https://www.clamav.net/downloads/production/"
+                               "clamav-" version ".tar.gz")
+                (string-append "https://github.com/Cisco-Talos/clamav/"
+                               "releases/download/clamav-" version
+                               "/clamav-" version ".tar.gz")))
               (sha256
                (base32
                 "04by1g3p6awhi3j1y6zpwzmasdnvjgi6lwm34l2gadlwgkdfpmv1"))
@@ -144,6 +149,8 @@ (define-public clamav
 flexible and scalable multi-threaded daemon, a command line scanner, and
 advanced tool for automatic database updates.  The core of the package is an
 anti-virus engine available in the form of a shared library.")
+    (properties `((release-monitoring-url
+                   . "https://github.com/Cisco-Talos/clamav/releases")))
     (license (list license:gpl2+        ;ClamAV itself
                    license:lgpl2.1      ;libclamav/mspack.[ch]
                    license:public-domain ;libclamav/7z/*, libclamav/rijndael.[ch], etc...
-- 
2.46.0





^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [bug#73896] [PATCH v3 06/20] gnu: clamav: Update to 1.4.1.
  2024-11-03  1:30 ` [bug#73896] [PATCH v3 00/20] Clamav update [security fixes] Nicolas Graves via Guix-patches via
                     ` (4 preceding siblings ...)
  2024-11-03  1:30   ` [bug#73896] [PATCH v3 05/20] gnu: clamav: Add release-monitoring-url property Nicolas Graves via Guix-patches via
@ 2024-11-03  1:30   ` Nicolas Graves via Guix-patches via
  2024-11-03  1:30   ` [bug#73896] [PATCH v3 07/20] gnu: Add rust-hamming-0.1 Nicolas Graves via Guix-patches via
                     ` (13 subsequent siblings)
  19 siblings, 0 replies; 45+ messages in thread
From: Nicolas Graves via Guix-patches via @ 2024-11-03  1:30 UTC (permalink / raw)
  To: 73896; +Cc: Nicolas Graves

* gnu/packages/antivirus.scm (clamav): Update to 1.4.1.
[source]<origin>: Adapt source. This currently is not unbundling all
cargo vendored packages.
[build-system]: Switch to cmake-build-system.
[arguments]: Move field up.
<#:configure-flags>: Set option.
<#:imported-modules>: Set option for patching cargo checksums.
<#:phases>: Remove all phases except adapted 'skip-clamd_tests. Add
phases 'inject-rust-onenote and 'patch-cargo-checksums.
[native-inputs]: Remove autoconf, automake, libtool. Add
python-minimal, python-pytest, rust and rust:cargo.
[inputs]: Remove libltdl, libmspack, llvm-3.6, cyrus-sasl,
tomsfastmath.
---
 gnu/packages/antivirus.scm | 129 +++++++++++++++----------------------
 1 file changed, 51 insertions(+), 78 deletions(-)

diff --git a/gnu/packages/antivirus.scm b/gnu/packages/antivirus.scm
index 2161d60398..1a23657a61 100644
--- a/gnu/packages/antivirus.scm
+++ b/gnu/packages/antivirus.scm
@@ -2,6 +2,7 @@
 ;;; Copyright © 2016, 2017, 2018, 2019, 2020 Eric Bavier <bavier@posteo.net>
 ;;; Copyright © 2018 Christopher Baines <mail@cbaines.net>
 ;;; Copyright © 2019–2021 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2024 Nicolas Graves <ngraves@ngraves.fr>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -20,24 +21,23 @@
 
 (define-module (gnu packages antivirus)
   #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix build-system cargo)
+  #:use-module (guix build-system cmake)
   #:use-module (guix build-system gnu)
   #:use-module (guix gexp)
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix utils)
   #:use-module (gnu packages)
-  #:use-module (gnu packages autotools)
-  #:use-module (gnu packages bison)
   #:use-module (gnu packages check)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages curl)
-  #:use-module (gnu packages cyrus-sasl)
-  #:use-module (gnu packages flex)
-  #:use-module (gnu packages llvm)
-  #:use-module (gnu packages multiprecision)
   #:use-module (gnu packages ncurses)
   #:use-module (gnu packages pcre)
   #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages python)
+  #:use-module (gnu packages python-check)
+  #:use-module (gnu packages rust)
   #:use-module (gnu packages tls)
   #:use-module (gnu packages web)
   #:use-module (gnu packages xml))
@@ -45,7 +45,7 @@ (define-module (gnu packages antivirus)
 (define-public clamav
   (package
     (name "clamav")
-    (version "0.103.11")
+    (version "1.4.1")
     (source (origin
               (method url-fetch)
               (uri
@@ -57,90 +57,63 @@ (define-public clamav
                                "/clamav-" version ".tar.gz")))
               (sha256
                (base32
-                "04by1g3p6awhi3j1y6zpwzmasdnvjgi6lwm34l2gadlwgkdfpmv1"))
+                "1n3a87niad76h3mn3qxq9379gppdjqpkhwb9qkbb79irmj0ff653"))
               (modules '((guix build utils)))
               (snippet
                '(begin
+                  (delete-file "Cargo.lock")
+                  (for-each
+                   delete-file
+                   (find-files ".cargo/vendor" ".cargo-checksum\\.json"))
                   (for-each delete-file-recursively
                             '("win32"                  ; unnecessary
-                              "libclamav/c++/llvm"     ; use system llvm
-                              "libclamav/tomsfastmath" ; use system tomsfastmath
-                              "libclamunrar"))))       ; non-free license
-              (patches
-               (search-patches "clamav-system-tomsfastmath.patch"
-                               "clamav-config-llvm-libs.patch"))))
-    (build-system gnu-build-system)
+                              "libclamunrar"))))))     ; non-free license
+    (build-system cmake-build-system)
+    (arguments
+     (list
+      #:configure-flags
+      #~(list "-DENABLE_MILTER=OFF" "-DENABLE_UNRAR=OFF")
+      #:imported-modules `((guix build cargo-utils)
+                           ,@%cmake-build-system-modules)
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'inject-rust-onenote
+            (lambda _
+              (substitute* "libclamav_rust/Cargo.toml"
+                (("onenote_parser = .*")
+                 "onenote_parser = \"0.3.1\"\n"))))
+          (add-after 'patch-source-shebangs 'patch-cargo-checksums
+            (lambda _
+              (use-modules
+               (srfi srfi-1) (ice-9 ftw) (guix build cargo-utils))
+              (with-directory-excursion ".cargo/vendor"
+                (for-each generate-all-checksums
+                          (delete "." (delete ".." (scandir ".")))))))
+          (add-after 'unpack 'skip-clamd-tests
+            ;; XXX: The check?_clamd tests fail inside the build
+            ;; chroot, but pass outside.
+            (lambda* (#:key tests? #:allow-other-keys)
+              (when tests?
+                (substitute* "unit_tests/CMakeLists.txt"
+                  (("clamd_test\\.py" test)
+                   (string-append
+                    test " -k \"not test_clamd_08_VirusEvent\"")))))))))
     (native-inputs
-     (list autoconf
-           automake
-           check ; for tests
-           libtool
-           pkg-config))
+     (list check ; for tests
+           pkg-config
+           python-minimal
+           python-pytest
+           rust
+           (list rust "cargo")))
     (inputs
       (list bzip2
             curl
             json-c
-            libltdl
-            libmspack
-            llvm-3.6               ; requires <3.7, for JIT/verifier
-            ncurses
             libressl
-            pcre2
-            cyrus-sasl             ; for linking curl with libtool
-            tomsfastmath
             libxml2
+            ncurses
+            pcre2
             zlib))
-    (arguments
-      (list #:configure-flags
-            #~(let-syntax ((with (syntax-rules ()
-                            ((_ name use)
-                             (string-append "--with-" name "="
-                                            (assoc-ref %build-inputs use))))))
-              (list "--disable-unrar"
-                    "--enable-llvm"
-                    "--with-system-llvm"
-                    "--with-system-libmspack"
-                    "--without-included-ltdl"
-                    (with "xml" "libxml2")
-                    (with "openssl" "libressl")
-                    (with "libjson" "json-c")
-                    (with "pcre2" "pcre2")
-                    (with "zlib" "zlib")
-                    (with "libcurl" "curl")
-                    ;; For sanity, specifying --enable-* flags turns
-                    ;; "support unavailable" warnings into errors.
-                    "--enable-bzip2"
-                    "--enable-check"
-                    "--sysconfdir=/etc/clamav"
-                    ;; Default database directory needs to be writeable
-                    "--with-dbdir=/var/db/clamav"))
-            ;; install sample .conf files to %output/etc rather than /etc/clamav
-            #:make-flags
-            #~(list (string-append "sysconfdir=" %output "/etc"))
-            #:phases
-            #~(modify-phases %standard-phases
-                ;; Regenerate configure script.  Without this we don't get
-                ;; the correct value for LLVM linker variables.
-                (add-after 'unpack 'reconf
-                  (lambda _ (invoke "autoreconf" "-vfi")))
-                (add-before 'configure 'patch-llvm-config
-                  (lambda _
-                    (substitute* '("libclamav/c++/detect.cpp"
-                                   "libclamav/c++/ClamBCRTChecks.cpp"
-                                   "libclamav/c++/bytecode2llvm.cpp")
-                      (("llvm/Config/config.h") "llvm/Config/llvm-config.h"))
-                    ;; `llvm-config --libfiles` inappropriately lists lib*.a
-                    ;; libraries, rather than the lib*.so's that our llvm
-                    ;; contains.  They're used only for listing extra build
-                    ;; dependencies, so ignore them until that's fixed.
-                    (substitute* "libclamav/c++/Makefile.in"
-                      (("@LLVMCONFIG_LIBFILES@") ""))))
-                (add-before 'check 'skip-clamd-tests
-                  ;; XXX: The check?_clamd tests fail inside the build
-                  ;; chroot, but pass outside.
-                  (lambda _
-                    (substitute* "unit_tests/Makefile"
-                      (("check2_clamd.sh.*check4_clamd.sh") "")))))))
     (home-page "https://www.clamav.net")
     (synopsis "Antivirus engine")
     (description
-- 
2.46.0





^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [bug#73896] [PATCH v3 07/20] gnu: Add rust-hamming-0.1.
  2024-11-03  1:30 ` [bug#73896] [PATCH v3 00/20] Clamav update [security fixes] Nicolas Graves via Guix-patches via
                     ` (5 preceding siblings ...)
  2024-11-03  1:30   ` [bug#73896] [PATCH v3 06/20] gnu: clamav: Update to 1.4.1 Nicolas Graves via Guix-patches via
@ 2024-11-03  1:30   ` Nicolas Graves via Guix-patches via
  2024-11-03  1:30   ` [bug#73896] [PATCH v3 08/20] gnu: Add rust-primal-bit-0.3 Nicolas Graves via Guix-patches via
                     ` (12 subsequent siblings)
  19 siblings, 0 replies; 45+ messages in thread
From: Nicolas Graves via Guix-patches via @ 2024-11-03  1:30 UTC (permalink / raw)
  To: 73896; +Cc: Nicolas Graves

* gnu/packages/crates-io.scm (rust-hamming-0.1): New variable.
---
 gnu/packages/crates-io.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 2a66385d10..5dc34eaa18 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -31388,6 +31388,30 @@ (define-public rust-hamcrest2-0.3
      "This package provides a port of the Hamcrest testing library.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-hamming-0.1
+  (package
+    (name "rust-hamming")
+    (version "0.1.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "hamming" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1q9hri1l1x1y7vv153kvdw9lkqslmbwgia5r3qj6i39pfji3s135"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-development-inputs
+       (("rust-quickcheck" ,rust-quickcheck-0.2)
+        ("rust-rand" ,rust-rand-0.3))))
+    (home-page "https://github.com/huonw/hamming")
+    (synopsis "Count ones fast")
+    (description
+     "This package provides a tool to count ones, using rapid popcount
+(hamming weight) techniques.  This provides a performant popcount and bitwise
+hamming distance for a slice of bytes.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-hash-hasher-2
   (package
     (name "rust-hash-hasher")
-- 
2.46.0





^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [bug#73896] [PATCH v3 08/20] gnu: Add rust-primal-bit-0.3.
  2024-11-03  1:30 ` [bug#73896] [PATCH v3 00/20] Clamav update [security fixes] Nicolas Graves via Guix-patches via
                     ` (6 preceding siblings ...)
  2024-11-03  1:30   ` [bug#73896] [PATCH v3 07/20] gnu: Add rust-hamming-0.1 Nicolas Graves via Guix-patches via
@ 2024-11-03  1:30   ` Nicolas Graves via Guix-patches via
  2024-11-03  1:30   ` [bug#73896] [PATCH v3 09/20] gnu: Add rust-primal-check-0.3 Nicolas Graves via Guix-patches via
                     ` (11 subsequent siblings)
  19 siblings, 0 replies; 45+ messages in thread
From: Nicolas Graves via Guix-patches via @ 2024-11-03  1:30 UTC (permalink / raw)
  To: 73896; +Cc: Nicolas Graves

* gnu/packages/crates-io.scm (rust-primal-bit-0.3): New variable.
---
 gnu/packages/crates-io.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 5dc34eaa18..b4559865b7 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -56601,6 +56601,27 @@ (define-public rust-prettytable-rs-0.8
 formatted tables in terminal.")
     (license license:bsd-3)))
 
+(define-public rust-primal-bit-0.3
+  (package
+    (name "rust-primal-bit")
+    (version "0.3.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "primal-bit" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0mb0cdxhlm6phhl2f4d7nf7g4yrnd8xdq07m7liw7b5fp3djj915"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs (("rust-hamming" ,rust-hamming-0.1))))
+    (home-page "https://github.com/huonw/primal")
+    (synopsis "Bit-vector specialised for rust-primal")
+    (description
+     "This package provides a bit-vector specialised to the
+prime-number-related needs of @code{rust-primal}.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-print-bytes-1
   (package
     (name "rust-print-bytes")
-- 
2.46.0





^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [bug#73896] [PATCH v3 09/20] gnu: Add rust-primal-check-0.3.
  2024-11-03  1:30 ` [bug#73896] [PATCH v3 00/20] Clamav update [security fixes] Nicolas Graves via Guix-patches via
                     ` (7 preceding siblings ...)
  2024-11-03  1:30   ` [bug#73896] [PATCH v3 08/20] gnu: Add rust-primal-bit-0.3 Nicolas Graves via Guix-patches via
@ 2024-11-03  1:30   ` Nicolas Graves via Guix-patches via
  2024-11-03  1:30   ` [bug#73896] [PATCH v3 10/20] gnu: Add rust-primal-estimate-0.3 Nicolas Graves via Guix-patches via
                     ` (10 subsequent siblings)
  19 siblings, 0 replies; 45+ messages in thread
From: Nicolas Graves via Guix-patches via @ 2024-11-03  1:30 UTC (permalink / raw)
  To: 73896; +Cc: Nicolas Graves

* gnu/packages/crates-io.scm (rust-primal-check-0.3): New variable.
---
 gnu/packages/crates-io.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index b4559865b7..89ce5e176a 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -56622,6 +56622,28 @@ (define-public rust-primal-bit-0.3
 prime-number-related needs of @code{rust-primal}.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-primal-check-0.3
+  (package
+    (name "rust-primal-check")
+    (version "0.3.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "primal-check" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "025xnak4rhkwa4h970bjb3cvp2k853wviyr84n8gjfhy65dqj3fw"))))
+    (build-system cargo-build-system)
+    ;; Circular development input rust-primal
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs (("rust-num-integer" ,rust-num-integer-0.1))))
+    (home-page "https://github.com/huonw/primal")
+    (synopsis "Test primality")
+    (description
+     "This package provides a standalone primality testing tool.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-print-bytes-1
   (package
     (name "rust-print-bytes")
-- 
2.46.0





^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [bug#73896] [PATCH v3 10/20] gnu: Add rust-primal-estimate-0.3.
  2024-11-03  1:30 ` [bug#73896] [PATCH v3 00/20] Clamav update [security fixes] Nicolas Graves via Guix-patches via
                     ` (8 preceding siblings ...)
  2024-11-03  1:30   ` [bug#73896] [PATCH v3 09/20] gnu: Add rust-primal-check-0.3 Nicolas Graves via Guix-patches via
@ 2024-11-03  1:30   ` Nicolas Graves via Guix-patches via
  2024-11-03  1:30   ` [bug#73896] [PATCH v3 11/20] gnu: Add rust-primal-sieve-0.3 Nicolas Graves via Guix-patches via
                     ` (9 subsequent siblings)
  19 siblings, 0 replies; 45+ messages in thread
From: Nicolas Graves via Guix-patches via @ 2024-11-03  1:30 UTC (permalink / raw)
  To: 73896; +Cc: Nicolas Graves

* gnu/packages/crates-io.scm (rust-primal-estimate-0.3): New variable.
---
 gnu/packages/crates-io.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 89ce5e176a..fccbd97f56 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -56644,6 +56644,28 @@ (define-public rust-primal-check-0.3
      "This package provides a standalone primality testing tool.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-primal-estimate-0.3
+  (package
+    (name "rust-primal-estimate")
+    (version "0.3.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "primal-estimate" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "08nq0n0r35rni65h79fynync0wyy8agrxy5mfmg0hq9s1c510cm4"))))
+    (build-system cargo-build-system)
+    ;; Circular development input rust-primal
+    (arguments
+     `(#:skip-build? #t))
+    (home-page "https://github.com/huonw/primal")
+    (synopsis "Estimate upper and lower bounds for the k-th prime")
+    (description
+     "This package provides a state-of-the-art estimation of upper and lower
+bounds for the number of primes below n and the k-th prime.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-print-bytes-1
   (package
     (name "rust-print-bytes")
-- 
2.46.0





^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [bug#73896] [PATCH v3 11/20] gnu: Add rust-primal-sieve-0.3.
  2024-11-03  1:30 ` [bug#73896] [PATCH v3 00/20] Clamav update [security fixes] Nicolas Graves via Guix-patches via
                     ` (9 preceding siblings ...)
  2024-11-03  1:30   ` [bug#73896] [PATCH v3 10/20] gnu: Add rust-primal-estimate-0.3 Nicolas Graves via Guix-patches via
@ 2024-11-03  1:30   ` Nicolas Graves via Guix-patches via
  2024-11-03  1:30   ` [bug#73896] [PATCH v3 12/20] gnu: Add rust-primal-slowsieve-0.3 Nicolas Graves via Guix-patches via
                     ` (8 subsequent siblings)
  19 siblings, 0 replies; 45+ messages in thread
From: Nicolas Graves via Guix-patches via @ 2024-11-03  1:30 UTC (permalink / raw)
  To: 73896; +Cc: Nicolas Graves

* gnu/packages/crates-io.scm (rust-primal-sieve-0.3): New variable.
---
 gnu/packages/crates-io.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index fccbd97f56..8c336f5f12 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -56666,6 +56666,29 @@ (define-public rust-primal-estimate-0.3
 bounds for the number of primes below n and the k-th prime.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-primal-sieve-0.3
+  (package
+    (name "rust-primal-sieve")
+    (version "0.3.7")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "primal-sieve" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1lzdllk78jqdp93h15l69s4xglbjcf6jlq6khccka0r2v2b2g64f"))))
+    (build-system cargo-build-system)
+    (arguments
+    ;; Circular development input rust-primal
+     `(#:skip-build? #t
+       #:cargo-inputs (("rust-primal-bit" ,rust-primal-bit-0.3)
+                       ("rust-primal-estimate" ,rust-primal-estimate-0.3)
+                       ("rust-smallvec" ,rust-smallvec-1))))
+    (home-page "https://github.com/huonw/primal")
+    (synopsis "Prime sieve")
+    (description "This package provides a high performance prime sieve.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-print-bytes-1
   (package
     (name "rust-print-bytes")
-- 
2.46.0





^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [bug#73896] [PATCH v3 12/20] gnu: Add rust-primal-slowsieve-0.3.
  2024-11-03  1:30 ` [bug#73896] [PATCH v3 00/20] Clamav update [security fixes] Nicolas Graves via Guix-patches via
                     ` (10 preceding siblings ...)
  2024-11-03  1:30   ` [bug#73896] [PATCH v3 11/20] gnu: Add rust-primal-sieve-0.3 Nicolas Graves via Guix-patches via
@ 2024-11-03  1:30   ` Nicolas Graves via Guix-patches via
  2024-11-03  1:30   ` [bug#73896] [PATCH v3 13/20] gnu: Add rust-primal-0.3 Nicolas Graves via Guix-patches via
                     ` (7 subsequent siblings)
  19 siblings, 0 replies; 45+ messages in thread
From: Nicolas Graves via Guix-patches via @ 2024-11-03  1:30 UTC (permalink / raw)
  To: 73896; +Cc: Nicolas Graves

* gnu/packages/crates-io.scm (rust-primal-slowsieve-0.3): New variable.
---
 gnu/packages/crates-io.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 8c336f5f12..455d8d2608 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -56689,6 +56689,30 @@ (define-public rust-primal-sieve-0.3
     (description "This package provides a high performance prime sieve.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-primal-slowsieve-0.3
+  (package
+    (name "rust-primal-slowsieve")
+    (version "0.3.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "primal-slowsieve" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "02pixp7xprkmj0fvjgg6n4dn5f8syr6xj2m2dxn0nyg06b8lipy9"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs (("rust-primal-bit" ,rust-primal-bit-0.3)
+                       ("rust-primal-estimate" ,rust-primal-estimate-0.3))
+       #:cargo-development-inputs (("rust-criterion" ,rust-criterion-0.3))))
+    (home-page "https://github.com/huonw/primal")
+    (synopsis "Simple sieve of Eratosthenes")
+    (description
+     "This package provides a simple sieve of Eratosthenes designed for
+testing faster sieves.  For use in Rust crates, use @code{rust-primal-sieve}
+or @code{rust-primal} instead.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-print-bytes-1
   (package
     (name "rust-print-bytes")
-- 
2.46.0





^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [bug#73896] [PATCH v3 13/20] gnu: Add rust-primal-0.3.
  2024-11-03  1:30 ` [bug#73896] [PATCH v3 00/20] Clamav update [security fixes] Nicolas Graves via Guix-patches via
                     ` (11 preceding siblings ...)
  2024-11-03  1:30   ` [bug#73896] [PATCH v3 12/20] gnu: Add rust-primal-slowsieve-0.3 Nicolas Graves via Guix-patches via
@ 2024-11-03  1:30   ` Nicolas Graves via Guix-patches via
  2024-11-03  1:30   ` [bug#73896] [PATCH v3 14/20] gnu: rust-crc-any-2: Update to 2.5.0 Nicolas Graves via Guix-patches via
                     ` (6 subsequent siblings)
  19 siblings, 0 replies; 45+ messages in thread
From: Nicolas Graves via Guix-patches via @ 2024-11-03  1:30 UTC (permalink / raw)
  To: 73896; +Cc: Nicolas Graves

* gnu/packages/crates-io.scm (rust-primal-0.3): New variable.
---
 gnu/packages/crates-io.scm | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 455d8d2608..108c9a126e 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -56601,6 +56601,33 @@ (define-public rust-prettytable-rs-0.8
 formatted tables in terminal.")
     (license license:bsd-3)))
 
+(define-public rust-primal-0.3
+  (package
+    (name "rust-primal")
+    (version "0.3.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "primal" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1s6n396cssbr86f9w31sppdf06xsymgrl7y9gw0yccl5jiag7rdi"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs (("rust-primal-check" ,rust-primal-check-0.3)
+                       ("rust-primal-estimate" ,rust-primal-estimate-0.3)
+                       ("rust-primal-sieve" ,rust-primal-sieve-0.3))
+       #:cargo-development-inputs
+       (("rust-primal-slowsieve" ,rust-primal-slowsieve-0.3))))
+    (home-page "https://github.com/huonw/primal")
+    (synopsis "Various tools for prime numbers")
+    (description
+     "This package provides various tools to work with prime numbers.  It
+includes: optimised prime sieves, checking for primality, enumerating primes,
+factorising numbers, and state-of-the-art estimation of upper and lower bounds
+for the number of primes below n and the k-th prime.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-primal-bit-0.3
   (package
     (name "rust-primal-bit")
-- 
2.46.0





^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [bug#73896] [PATCH v3 14/20] gnu: rust-crc-any-2: Update to 2.5.0.
  2024-11-03  1:30 ` [bug#73896] [PATCH v3 00/20] Clamav update [security fixes] Nicolas Graves via Guix-patches via
                     ` (12 preceding siblings ...)
  2024-11-03  1:30   ` [bug#73896] [PATCH v3 13/20] gnu: Add rust-primal-0.3 Nicolas Graves via Guix-patches via
@ 2024-11-03  1:30   ` Nicolas Graves via Guix-patches via
  2024-11-03  1:30   ` [bug#73896] [PATCH v3 15/20] gnu: Add rust-delharc-0.6 Nicolas Graves via Guix-patches via
                     ` (5 subsequent siblings)
  19 siblings, 0 replies; 45+ messages in thread
From: Nicolas Graves via Guix-patches via @ 2024-11-03  1:30 UTC (permalink / raw)
  To: 73896; +Cc: Nicolas Graves

* gnu/packages/crates-io.scm (rust-crc-any-2): Update to 2.5.0.
---
 gnu/packages/crates-io.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 108c9a126e..be8153b11d 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -16925,7 +16925,7 @@ (define-public rust-crc-1
 (define-public rust-crc-any-2
   (package
     (name "rust-crc-any")
-    (version "2.3.12")
+    (version "2.5.0")
     (source
      (origin
        (method url-fetch)
@@ -16933,7 +16933,7 @@ (define-public rust-crc-any-2
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
-        (base32 "0fq85y5akcadahnj5nqbs47qhgp5cpfn2z19zc3gp4wpxr3989kr"))))
+        (base32 "0wzs26q5cf29fhfnrkrjsr8dpai0rlm4im8b53by8rbrbzzwjbm6"))))
     (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs
-- 
2.46.0





^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [bug#73896] [PATCH v3 15/20] gnu: Add rust-delharc-0.6.
  2024-11-03  1:30 ` [bug#73896] [PATCH v3 00/20] Clamav update [security fixes] Nicolas Graves via Guix-patches via
                     ` (13 preceding siblings ...)
  2024-11-03  1:30   ` [bug#73896] [PATCH v3 14/20] gnu: rust-crc-any-2: Update to 2.5.0 Nicolas Graves via Guix-patches via
@ 2024-11-03  1:30   ` Nicolas Graves via Guix-patches via
  2024-11-03  1:30   ` [bug#73896] [PATCH v3 16/20] gnu: Add rust-transpose-0.2 Nicolas Graves via Guix-patches via
                     ` (4 subsequent siblings)
  19 siblings, 0 replies; 45+ messages in thread
From: Nicolas Graves via Guix-patches via @ 2024-11-03  1:30 UTC (permalink / raw)
  To: 73896; +Cc: Nicolas Graves

* gnu/packages/crates-io.scm (rust-delharc-0.6): New variable.
---
 gnu/packages/crates-io.scm | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index be8153b11d..fac8c5f581 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -20408,6 +20408,33 @@ (define-public rust-dejavu-2
      "This package provides the @code{DejaVu} font family for embedding.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-delharc-0.6
+  (package
+    (name "rust-delharc")
+    (version "0.6.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "delharc" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "18g5haj6bj92azif4jifhdy9vrv6blg3wyvpmxslh2gm2wkbm4qw"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:tests? #f  ; Missing files
+       #:cargo-inputs (("rust-bitflags" ,rust-bitflags-2)
+                       ("rust-chrono" ,rust-chrono-0.4)
+                       ("rust-memchr" ,rust-memchr-2))
+       #:cargo-development-inputs (("rust-crc-any" ,rust-crc-any-2)
+                                   ("rust-rand" ,rust-rand-0.8))))
+    (home-page "https://github.com/royaltm/rust-delharc")
+    (synopsis
+     "Parse and extract files from LHA/LZH archives.")
+    (description
+     "This package provides a Rust library for parsing and extracting files
+from LHA/LZH archives, which are often suffixed @code{.lha} or @code{.lzh}. ")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-demo-hack-0.0
   (package
     (name "rust-demo-hack")
-- 
2.46.0





^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [bug#73896] [PATCH v3 16/20] gnu: Add rust-transpose-0.2.
  2024-11-03  1:30 ` [bug#73896] [PATCH v3 00/20] Clamav update [security fixes] Nicolas Graves via Guix-patches via
                     ` (14 preceding siblings ...)
  2024-11-03  1:30   ` [bug#73896] [PATCH v3 15/20] gnu: Add rust-delharc-0.6 Nicolas Graves via Guix-patches via
@ 2024-11-03  1:30   ` Nicolas Graves via Guix-patches via
  2024-11-03  1:30   ` [bug#73896] [PATCH v3 17/20] gnu: rust-strength-reduce-0.2: Update to 0.2.4 Nicolas Graves via Guix-patches via
                     ` (3 subsequent siblings)
  19 siblings, 0 replies; 45+ messages in thread
From: Nicolas Graves via Guix-patches via @ 2024-11-03  1:30 UTC (permalink / raw)
  To: 73896; +Cc: Nicolas Graves

* gnu/packages/crates-io.scm (rust-transpose-0.2): New variable.
---
 gnu/packages/crates-io.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index fac8c5f581..725fa329e6 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -85035,6 +85035,27 @@ (define-public rust-traitobject-0.1
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-transpose-0.2
+  (package
+    (name "rust-transpose")
+    (version "0.2.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "transpose" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0zp74v7jrjg4jr654dncdj6hqvacicsywyhc62jawgxwhvnimmhs"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs (("rust-num-integer" ,rust-num-integer-0.1)
+                       ("rust-strength-reduce" ,rust-strength-reduce-0.2))))
+    (home-page "https://github.com/ejmahler/transpose")
+    (synopsis "Utility for transposing multi-dimensional data")
+    (description
+     "This package provides utilities for transposing multi-dimensional data.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-trash-3
   (package
     (name "rust-trash")
-- 
2.46.0





^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [bug#73896] [PATCH v3 17/20] gnu: rust-strength-reduce-0.2: Update to 0.2.4.
  2024-11-03  1:30 ` [bug#73896] [PATCH v3 00/20] Clamav update [security fixes] Nicolas Graves via Guix-patches via
                     ` (15 preceding siblings ...)
  2024-11-03  1:30   ` [bug#73896] [PATCH v3 16/20] gnu: Add rust-transpose-0.2 Nicolas Graves via Guix-patches via
@ 2024-11-03  1:30   ` Nicolas Graves via Guix-patches via
  2024-11-03  1:30   ` [bug#73896] [PATCH v3 18/20] gnu: Add rust-rustfft-6 Nicolas Graves via Guix-patches via
                     ` (2 subsequent siblings)
  19 siblings, 0 replies; 45+ messages in thread
From: Nicolas Graves via Guix-patches via @ 2024-11-03  1:30 UTC (permalink / raw)
  To: 73896; +Cc: Nicolas Graves

* gnu/packages/crates-io.scm (rust-strength-reduce-0.2): Update to 0.2.4.
[arguments]<#:skip-build?>: Drop option.
<#:cargo-development-inputs>: Add rust-num-bigint.
---
 gnu/packages/crates-io.scm | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 725fa329e6..8f515590cb 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -75177,16 +75177,18 @@ (define-public rust-streaming-stats-0.2
 (define-public rust-strength-reduce-0.2
   (package
     (name "rust-strength-reduce")
-    (version "0.2.3")
+    (version "0.2.4")
     (source
      (origin
        (method url-fetch)
        (uri (crate-uri "strength_reduce" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
-        (base32 "0m12phq654mfxpmh2h5akqkag5ha6nlhjc2bp9jwarr5r1qjzzx3"))))
+        (base32 "10jdq9dijjdkb20wg1dmwg447rnj37jbq0mwvbadvqi2gys5x2gy"))))
     (build-system cargo-build-system)
-    (arguments `(#:skip-build? #t))
+    (arguments
+     `(#:cargo-development-inputs
+       (("rust-num-bigint" ,rust-num-bigint-0.4))))
     (home-page "http://github.com/ejmahler/strength_reduce")
     (synopsis "Faster integer division and modulus operations")
     (description "Strength_reduce implements integer division and modulo via
-- 
2.46.0





^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [bug#73896] [PATCH v3 18/20] gnu: Add rust-rustfft-6.
  2024-11-03  1:30 ` [bug#73896] [PATCH v3 00/20] Clamav update [security fixes] Nicolas Graves via Guix-patches via
                     ` (16 preceding siblings ...)
  2024-11-03  1:30   ` [bug#73896] [PATCH v3 17/20] gnu: rust-strength-reduce-0.2: Update to 0.2.4 Nicolas Graves via Guix-patches via
@ 2024-11-03  1:30   ` Nicolas Graves via Guix-patches via
  2024-11-03  1:30   ` [bug#73896] [PATCH v3 19/20] gnu: Add rust-rustdct-0.7 Nicolas Graves via Guix-patches via
  2024-11-03  1:30   ` [bug#73896] [PATCH v3 20/20] gnu: clamav: Unbundle rust dependencies Nicolas Graves via Guix-patches via
  19 siblings, 0 replies; 45+ messages in thread
From: Nicolas Graves via Guix-patches via @ 2024-11-03  1:30 UTC (permalink / raw)
  To: 73896; +Cc: Nicolas Graves

* gnu/packages/crates-io.scm (rust-rustfft-6): New variable.
---
 gnu/packages/crates-io.scm | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 8f515590cb..7f78804380 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -66459,6 +66459,38 @@ (define-public rust-rustdoc-types-0.23
     (description "Types for rustdoc's json output.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-rustfft-6
+  (package
+    (name "rust-rustfft")
+    (version "6.2.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "rustfft" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "11hx83yr2h2jszkba9qhq2d08q9i5rsashq62rfhqvahpihnb023"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-development-inputs
+       (("rust-rand" ,rust-rand-0.8)
+        ("rust-paste" ,rust-paste-1)
+        ("rust-getrandom" ,rust-getrandom-0.2)
+        ("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.3))
+       #:cargo-inputs (("rust-num-complex" ,rust-num-complex-0.4)
+                       ("rust-num-integer" ,rust-num-integer-0.1)
+                       ("rust-num-traits" ,rust-num-traits-0.2)
+                       ("rust-primal-check" ,rust-primal-check-0.3)
+                       ("rust-strength-reduce" ,rust-strength-reduce-0.2)
+                       ("rust-transpose" ,rust-transpose-0.2)
+                       ("rust-version-check" ,rust-version-check-0.9))))
+    (home-page "https://github.com/ejmahler/RustFFT")
+    (synopsis "Rust FFT library")
+    (description
+     "This package provides a high-performance FFT (Fast Fourier Transform)
+library written in pure Rust.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-rustfix-0.8
   (package
     (name "rust-rustfix")
-- 
2.46.0





^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [bug#73896] [PATCH v3 19/20] gnu: Add rust-rustdct-0.7.
  2024-11-03  1:30 ` [bug#73896] [PATCH v3 00/20] Clamav update [security fixes] Nicolas Graves via Guix-patches via
                     ` (17 preceding siblings ...)
  2024-11-03  1:30   ` [bug#73896] [PATCH v3 18/20] gnu: Add rust-rustfft-6 Nicolas Graves via Guix-patches via
@ 2024-11-03  1:30   ` Nicolas Graves via Guix-patches via
  2024-11-03  1:30   ` [bug#73896] [PATCH v3 20/20] gnu: clamav: Unbundle rust dependencies Nicolas Graves via Guix-patches via
  19 siblings, 0 replies; 45+ messages in thread
From: Nicolas Graves via Guix-patches via @ 2024-11-03  1:30 UTC (permalink / raw)
  To: 73896; +Cc: Nicolas Graves

* gnu/packages/crates-io.scm (rust-rustdct-0.7): New variable.
---
 gnu/packages/crates-io.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 7f78804380..7b276676ff 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -66386,6 +66386,28 @@ (define-public rust-rustc-version-0.1
      `(#:cargo-inputs
        (("rust-semver" ,rust-semver-0.1))))))
 
+(define-public rust-rustdct-0.7
+  (package
+    (name "rust-rustdct")
+    (version "0.7.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "rustdct" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0lcm1191xx8wizima5j3n25fs90x58v3q1kwg6cbzafn0m8maqcb"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs (("rust-rustfft" ,rust-rustfft-6))
+       #:cargo-development-inputs (("rust-rand" ,rust-rand-0.8))))
+    (home-page "https://github.com/ejmahler/rust_dct")
+    (synopsis "Compute Discrete Cosine Transforms (DCT) in pure Rust")
+    (description
+     "This package provides a Rust library to compute the main Discrete Cosine
+Transforms (DCT) of any size in O(nlogn) time.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-rustdoc-json-0.8
   (package
     (name "rust-rustdoc-json")
-- 
2.46.0





^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [bug#73896] [PATCH v3 20/20] gnu: clamav: Unbundle rust dependencies.
  2024-11-03  1:30 ` [bug#73896] [PATCH v3 00/20] Clamav update [security fixes] Nicolas Graves via Guix-patches via
                     ` (18 preceding siblings ...)
  2024-11-03  1:30   ` [bug#73896] [PATCH v3 19/20] gnu: Add rust-rustdct-0.7 Nicolas Graves via Guix-patches via
@ 2024-11-03  1:30   ` Nicolas Graves via Guix-patches via
  19 siblings, 0 replies; 45+ messages in thread
From: Nicolas Graves via Guix-patches via @ 2024-11-03  1:30 UTC (permalink / raw)
  To: 73896; +Cc: Nicolas Graves

* gnu/packages/antivirus.scm (clamav)
[origin]<snippet>: Unbundle rust dependencies.
[build-system]: Switch to cargo-build-system.
[arguments]: Adapt to the change of base build-system.
[native-inputs]: Add cmake-minimal. Remove rust and rust:cargo.
---
 gnu/packages/antivirus.scm | 135 +++++++++++++++++++++++++++----------
 1 file changed, 99 insertions(+), 36 deletions(-)

diff --git a/gnu/packages/antivirus.scm b/gnu/packages/antivirus.scm
index 1a23657a61..b561ff060a 100644
--- a/gnu/packages/antivirus.scm
+++ b/gnu/packages/antivirus.scm
@@ -31,12 +31,17 @@ (define-module (gnu packages antivirus)
   #:use-module (gnu packages)
   #:use-module (gnu packages check)
   #:use-module (gnu packages compression)
+  #:use-module (gnu packages cmake)
+  #:use-module (gnu packages crates-crypto)
+  #:use-module (gnu packages crates-graphics)
+  #:use-module (gnu packages crates-io)
   #:use-module (gnu packages curl)
   #:use-module (gnu packages ncurses)
   #:use-module (gnu packages pcre)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages python)
   #:use-module (gnu packages python-check)
+  #:use-module (gnu packages rust-apps)
   #:use-module (gnu packages rust)
   #:use-module (gnu packages tls)
   #:use-module (gnu packages web)
@@ -62,49 +67,107 @@ (define-public clamav
               (snippet
                '(begin
                   (delete-file "Cargo.lock")
-                  (for-each
-                   delete-file
-                   (find-files ".cargo/vendor" ".cargo-checksum\\.json"))
                   (for-each delete-file-recursively
-                            '("win32"                  ; unnecessary
+                            '(".cargo"                 ; vendored rust inputs
+                              "win32"                  ; unnecessary
                               "libclamunrar"))))))     ; non-free license
-    (build-system cmake-build-system)
+    (build-system cargo-build-system)
     (arguments
-     (list
-      #:configure-flags
-      #~(list "-DENABLE_MILTER=OFF" "-DENABLE_UNRAR=OFF")
-      #:imported-modules `((guix build cargo-utils)
-                           ,@%cmake-build-system-modules)
-      #:phases
-      #~(modify-phases %standard-phases
-          (add-after 'unpack 'inject-rust-onenote
-            (lambda _
-              (substitute* "libclamav_rust/Cargo.toml"
-                (("onenote_parser = .*")
-                 "onenote_parser = \"0.3.1\"\n"))))
-          (add-after 'patch-source-shebangs 'patch-cargo-checksums
-            (lambda _
-              (use-modules
-               (srfi srfi-1) (ice-9 ftw) (guix build cargo-utils))
-              (with-directory-excursion ".cargo/vendor"
-                (for-each generate-all-checksums
-                          (delete "." (delete ".." (scandir ".")))))))
-          (add-after 'unpack 'skip-clamd-tests
-            ;; XXX: The check?_clamd tests fail inside the build
-            ;; chroot, but pass outside.
-            (lambda* (#:key tests? #:allow-other-keys)
-              (when tests?
-                (substitute* "unit_tests/CMakeLists.txt"
-                  (("clamd_test\\.py" test)
-                   (string-append
-                    test " -k \"not test_clamd_08_VirusEvent\"")))))))))
+     (let ((cargo-inputs
+            `(("rust-flate2" ,rust-flate2-1)
+              ("rust-hex" ,rust-hex-0.4)
+              ("rust-libc" ,rust-libc-0.2)
+              ("rust-log" ,rust-log-0.4)
+              ("rust-sha2" ,rust-sha2-0.10)
+              ("rust-tempfile" ,rust-tempfile-3)
+              ("rust-thiserror" ,rust-thiserror-1)
+              ("rust-image" ,rust-image-0.24)
+              ("rust-rustdct" ,rust-rustdct-0.7)
+              ("rust-transpose" ,rust-transpose-0.2)
+              ("rust-num-traits" ,rust-num-traits-0.2)
+              ("rust-base64" ,rust-base64-0.21)
+              ("rust-sha1" ,rust-sha1-0.10)
+              ("rust-unicode-segmentation" ,rust-unicode-segmentation-1)
+              ("rust-bindgen" ,rust-bindgen-0.66)
+              ("rust-onenote-parser" ,rust-onenote-parser-for-clamav)
+              ("rust-hex-literal" ,rust-hex-literal-0.4)
+              ("rust-inflate" ,rust-inflate-0.4)
+              ("rust-bzip2-rs" ,rust-bzip2-rs-0.1)
+              ("rust-byteorder" ,rust-byteorder-1)
+              ("rust-delharc" ,rust-delharc-0.6)))
+           (cargo-development-inputs
+            `(("rust-cbindgen" ,rust-cbindgen-0.26)
+              ("rust-bindgen" ,rust-bindgen-0.66))))
+       (list
+        #:cargo-inputs cargo-inputs
+        #:cargo-development-inputs cargo-development-inputs
+        #:vendor-dir ".cargo/vendor"
+        #:imported-modules `(,@%cmake-build-system-modules
+                             ,@%cargo-build-system-modules)
+        #:modules '((guix build cargo-build-system)
+                    ((guix build cmake-build-system) #:prefix cmake:)
+                    (guix build utils))
+        #:phases
+        #~(modify-phases %standard-phases
+            ;; There is a .exe file used in unit tests.
+            (delete 'check-for-pregenerated-files)
+            (add-after 'configure 'fix-cargo-inputs-vendoring
+              (lambda _
+                ;; Reproduce the original layout, fails with config.
+                (rename-file ".cargo/config" ".cargo/config.toml")
+                ;; Wrongly placed by configure
+                (delete-file-recursively
+                 (string-append ".cargo/vendor/clamav-" #$version ".tar.zst"))))
+            (add-after 'patch-cargo-checksums 'cmake-configure
+              (lambda* (#:key outputs #:allow-other-keys)
+                ((assoc-ref cmake:%standard-phases 'configure)
+                 #:configure-flags
+                 (list "-DENABLE_MILTER=OFF" "-DENABLE_UNRAR=OFF")
+                 #:outputs outputs)))
+            (replace 'build
+              (assoc-ref cmake:%standard-phases 'build))
+            (add-after 'patch-cargo-checksums 'patch-rust-requirements
+              (lambda _
+                (substitute* "libclamav_rust/Cargo.toml"
+                  (("onenote_parser = .*")
+                   (format #f "onenote_parser = ~s~%"
+                           #$(package-version
+                              (car (assoc-ref cargo-inputs
+                                              "rust-onenote-parser")))))
+                  (("^bindgen = .*")
+                   (format #f "bindgen = ~s~%"
+                           #$(package-version
+                              (car (assoc-ref cargo-inputs
+                                              "rust-bindgen")))))
+                  (("cbindgen = \\{ version =\".*\",")
+                   (format #f "cbindgen = { version =~s,"
+                           #$(package-version
+                              (car (assoc-ref cargo-development-inputs
+                                              "rust-cbindgen"))))))))
+            (delete 'package)
+            (replace 'install
+              (assoc-ref cmake:%standard-phases 'install))
+            (replace 'check
+              (lambda* (#:key tests? #:allow-other-keys)
+                ((assoc-ref cmake:%standard-phases 'check)
+                 #:tests? tests?
+                 #:parallel-tests? #t
+                 #:test-target "test")))
+            (add-after 'unpack 'skip-clamd-tests
+              ;; XXX: The check?_clamd tests fail inside the build
+              ;; chroot, but pass outside.
+              (lambda* (#:key tests? #:allow-other-keys)
+                (when tests?
+                  (substitute* "unit_tests/CMakeLists.txt"
+                    (("clamd_test\\.py" test)
+                     (string-append
+                      test " -k \"not test_clamd_08_VirusEvent\""))))))))))
     (native-inputs
      (list check ; for tests
+           cmake-minimal
            pkg-config
            python-minimal
-           python-pytest
-           rust
-           (list rust "cargo")))
+           python-pytest))
     (inputs
       (list bzip2
             curl
-- 
2.46.0





^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [bug#73896] [PATCH v4 01/20] gnu: rust-widestring-0.4: Update to 0.4.3.
  2024-10-19 23:08 [bug#73896] [PATCH] gnu: clamav: Add release-monitoring-url property Nicolas Graves via Guix-patches via
  2024-10-21  9:05 ` [bug#73896] [PATCH v2 1/2] " Nicolas Graves via Guix-patches via
  2024-11-03  1:30 ` [bug#73896] [PATCH v3 00/20] Clamav update [security fixes] Nicolas Graves via Guix-patches via
@ 2024-11-05 23:14 ` Nicolas Graves via Guix-patches via
  2024-11-05 23:14   ` [bug#73896] [PATCH v4 02/20] gnu: rust-enum-primitive-derive-0.2: Update to 0.2.2 Nicolas Graves via Guix-patches via
                     ` (19 more replies)
  2 siblings, 20 replies; 45+ messages in thread
From: Nicolas Graves via Guix-patches via @ 2024-11-05 23:14 UTC (permalink / raw)
  To: 73896; +Cc: Nicolas Graves

* gnu/packages/crates-io.scm (rust-widestring-0.4): Update to 0.4.3.
---
 gnu/packages/crates-io.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index a377d300c4..f66399c2eb 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -90699,7 +90699,7 @@ (define-public rust-widestring-0.4
   (package
     (inherit rust-widestring-0.5)
     (name "rust-widestring")
-    (version "0.4.2")
+    (version "0.4.3")
     (source
       (origin
         (method url-fetch)
@@ -90707,7 +90707,7 @@ (define-public rust-widestring-0.4
         (file-name (string-append name "-" version ".tar.gz"))
         (sha256
          (base32
-          "13565qy4jhpg4x0xw8mwxzzsh0p8c93p5208lh6kpwp0q01y6qx7"))))
+          "0z3ba8qrxb62vpfgk7n2xs2grm9kdaj1cz4q8s0gs8fx8h0r8s61"))))
     (arguments
      `(#:cargo-development-inputs
        (("rust-winapi" ,rust-winapi-0.3))))))
-- 
2.46.0





^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [bug#73896] [PATCH v4 02/20] gnu: rust-enum-primitive-derive-0.2: Update to 0.2.2.
  2024-11-05 23:14 ` [bug#73896] [PATCH v4 01/20] gnu: rust-widestring-0.4: Update to 0.4.3 Nicolas Graves via Guix-patches via
@ 2024-11-05 23:14   ` Nicolas Graves via Guix-patches via
  2024-11-05 23:14   ` [bug#73896] [PATCH v4 03/20] gnu: Add rust-onenote-parser-0.3 Nicolas Graves via Guix-patches via
                     ` (18 subsequent siblings)
  19 siblings, 0 replies; 45+ messages in thread
From: Nicolas Graves via Guix-patches via @ 2024-11-05 23:14 UTC (permalink / raw)
  To: 73896; +Cc: Nicolas Graves

* gnu/packages/crates-io.scm (rust-enum-primitive-derive-0.2): Update to 0.2.2.
---
 gnu/packages/crates-io.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index f66399c2eb..0659a10ca1 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -24068,7 +24068,7 @@ (define-public rust-enum-primitive-0.1
 (define-public rust-enum-primitive-derive-0.2
   (package
     (name "rust-enum-primitive-derive")
-    (version "0.2.1")
+    (version "0.2.2")
     (source
      (origin
        (method url-fetch)
@@ -24077,7 +24077,7 @@ (define-public rust-enum-primitive-derive-0.2
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "0h1k2izdl5lf2na8xnj7rgwjm8gawxc2p1w8j6ahifvyka7jhljz"))))
+         "03ibjjx8dc4akpq8ck24qda5ix4jybz9jagfxykd0s6vxb2vjxf3"))))
     (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs
-- 
2.46.0





^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [bug#73896] [PATCH v4 03/20] gnu: Add rust-onenote-parser-0.3.
  2024-11-05 23:14 ` [bug#73896] [PATCH v4 01/20] gnu: rust-widestring-0.4: Update to 0.4.3 Nicolas Graves via Guix-patches via
  2024-11-05 23:14   ` [bug#73896] [PATCH v4 02/20] gnu: rust-enum-primitive-derive-0.2: Update to 0.2.2 Nicolas Graves via Guix-patches via
@ 2024-11-05 23:14   ` Nicolas Graves via Guix-patches via
  2024-11-05 23:14   ` [bug#73896] [PATCH v4 04/20] gnu: Add rust-onenote-parser-for-clamav Nicolas Graves via Guix-patches via
                     ` (17 subsequent siblings)
  19 siblings, 0 replies; 45+ messages in thread
From: Nicolas Graves via Guix-patches via @ 2024-11-05 23:14 UTC (permalink / raw)
  To: 73896; +Cc: Nicolas Graves

* gnu/packages/crates-io.scm (rust-onenote-parser-0.3): New variable.
---
 gnu/packages/crates-io.scm | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 0659a10ca1..2ba9ca3bf0 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -49317,6 +49317,36 @@ (define-public rust-omnipath-0.1
     (description "This package provides a path utility library.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-onenote-parser-0.3
+  (package
+    (name "rust-onenote-parser")
+    (version "0.3.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "onenote_parser" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "12rj3ixhnxvl2mpkad3ng4b8fx4ynxhdlwzxba36c8i98ls57zzf"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-bytes" ,rust-bytes-0.5)
+        ("rust-encoding-rs" ,rust-encoding-rs-0.8)
+        ("rust-enum-primitive-derive" ,rust-enum-primitive-derive-0.2)
+        ("rust-itertools" ,rust-itertools-0.9)
+        ("rust-num-traits" ,rust-num-traits-0.2)
+        ("rust-paste" ,rust-paste-1)
+        ("rust-thiserror" ,rust-thiserror-1)
+        ("rust-uuid" ,rust-uuid-0.8)
+        ("rust-widestring" ,rust-widestring-0.4))
+       #:cargo-development-inputs (("rust-insta" ,rust-insta-1))))
+    (home-page "https://github.com/msiemens/onenote.rs")
+    (synopsis "Parser for Microsoft OneNote files")
+    (description
+     "This package provides a parser for Microsoft OneNote files.")
+    (license license:mpl2.0)))
+
 (define-public rust-onig-6
   (package
     (name "rust-onig")
-- 
2.46.0





^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [bug#73896] [PATCH v4 04/20] gnu: Add rust-onenote-parser-for-clamav.
  2024-11-05 23:14 ` [bug#73896] [PATCH v4 01/20] gnu: rust-widestring-0.4: Update to 0.4.3 Nicolas Graves via Guix-patches via
  2024-11-05 23:14   ` [bug#73896] [PATCH v4 02/20] gnu: rust-enum-primitive-derive-0.2: Update to 0.2.2 Nicolas Graves via Guix-patches via
  2024-11-05 23:14   ` [bug#73896] [PATCH v4 03/20] gnu: Add rust-onenote-parser-0.3 Nicolas Graves via Guix-patches via
@ 2024-11-05 23:14   ` Nicolas Graves via Guix-patches via
  2024-11-05 23:14   ` [bug#73896] [PATCH v4 05/20] gnu: clamav: Add release-monitoring-url property Nicolas Graves via Guix-patches via
                     ` (16 subsequent siblings)
  19 siblings, 0 replies; 45+ messages in thread
From: Nicolas Graves via Guix-patches via @ 2024-11-05 23:14 UTC (permalink / raw)
  To: 73896; +Cc: Nicolas Graves

* gnu/packages/crates-io.scm (rust-onenote-parser-for-clamav): New
variable.
* gnu/packages/patches/rust-onenote-parser-for-clamav-deps.patch
* gnu/packages/patches/rust-onenote-parser-for-clamav-parse-in-memory-buffer.patch
* gnu/packages/patches/rust-onenote-parser-for-clamav-property-type.patch
Add patches here...
* gnu/local.mk: ...and here.
---
 gnu/local.mk                                  |  3 +
 gnu/packages/crates-io.scm                    | 27 ++++++
 .../rust-onenote-parser-for-clamav-deps.patch | 88 +++++++++++++++++++
 ...er-for-clamav-parse-in-memory-buffer.patch | 52 +++++++++++
 ...note-parser-for-clamav-property-type.patch | 30 +++++++
 5 files changed, 200 insertions(+)
 create mode 100644 gnu/packages/patches/rust-onenote-parser-for-clamav-deps.patch
 create mode 100644 gnu/packages/patches/rust-onenote-parser-for-clamav-parse-in-memory-buffer.patch
 create mode 100644 gnu/packages/patches/rust-onenote-parser-for-clamav-property-type.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 6eb01ca466..8bb2b41e2f 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -2136,6 +2136,9 @@ dist_patch_DATA =						\
   %D%/packages/patches/rust-ndarray-0.13-remove-blas-src.patch	\
   %D%/packages/patches/rust-ndarray-0.14-remove-blas-src.patch	\
   %D%/packages/patches/rust-nettle-disable-vendor.patch		 \
+  %D%/packages/patches/rust-onenote-parser-for-clamav-deps.patch	\
+  %D%/packages/patches/rust-onenote-parser-for-clamav-parse-in-memory-buffer.patch	\
+  %D%/packages/patches/rust-onenote-parser-for-clamav-property-type.patch	\
   %D%/packages/patches/rust-poem-1-fewer-deps.patch		\
   %D%/packages/patches/rust-rspec-1-remove-clippy.patch	\
   %D%/packages/patches/rust-trash-2-update-windows.patch	\
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 2ba9ca3bf0..e7124b088d 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -49347,6 +49347,33 @@ (define-public rust-onenote-parser-0.3
      "This package provides a parser for Microsoft OneNote files.")
     (license license:mpl2.0)))
 
+(define-public rust-onenote-parser-for-clamav
+  (package
+    (inherit rust-onenote-parser-0.3)
+    (name "rust-onenote-parser-for-clamav")
+    (source (origin
+              (inherit (package-source rust-onenote-parser-0.3))
+              (patches
+               (search-patches
+                "rust-onenote-parser-for-clamav-deps.patch"
+                "rust-onenote-parser-for-clamav-parse-in-memory-buffer.patch"
+                "rust-onenote-parser-for-clamav-property-type.patch"))
+              (snippet #~(begin
+                           (delete-file "Cargo.toml")
+                           (rename-file "Cargo.toml.orig" "Cargo.toml")))))
+    (arguments
+     `(#:cargo-inputs
+       (("rust-bytes" ,rust-bytes-1)
+        ("rust-encoding-rs" ,rust-encoding-rs-0.8)
+        ("rust-enum-primitive-derive" ,rust-enum-primitive-derive-0.2)
+        ("rust-itertools" ,rust-itertools-0.10)
+        ("rust-num-traits" ,rust-num-traits-0.2)
+        ("rust-paste" ,rust-paste-1)
+        ("rust-thiserror" ,rust-thiserror-1)
+        ("rust-uuid" ,rust-uuid-1)
+        ("rust-widestring" ,rust-widestring-1))
+       #:cargo-development-inputs (("rust-insta" ,rust-insta-1))))))
+
 (define-public rust-onig-6
   (package
     (name "rust-onig")
diff --git a/gnu/packages/patches/rust-onenote-parser-for-clamav-deps.patch b/gnu/packages/patches/rust-onenote-parser-for-clamav-deps.patch
new file mode 100644
index 0000000000..24d5692573
--- /dev/null
+++ b/gnu/packages/patches/rust-onenote-parser-for-clamav-deps.patch
@@ -0,0 +1,88 @@
+From f940d8c8fa087554583158d50df071af89c516db Mon Sep 17 00:00:00 2001
+From: Simon Lamon <32477463+silamon@users.noreply.github.com>
+Date: Sat, 19 Nov 2022 20:32:07 +0100
+Subject: [PATCH] chore: upgrade dependencies (#9)
+
+Co-authored-by: Markus Siemens <markus@m-siemens.de>
+---
+ Cargo.toml.orig | 8 ++++----
+ src/errors.rs   | 6 +++---
+ src/reader.rs   | 2 +-
+ src/utils.rs    | 5 ++---
+ 4 files changed, 10 insertions(+), 11 deletions(-)
+
+diff --git a/Cargo.toml.orig b/Cargo.toml.orig
+index 9afddd0..e302436 100644
+--- a/Cargo.toml.orig
++++ b/Cargo.toml.orig
+@@ -14,15 +14,15 @@ categories = ["parser-implementations"]
+ backtrace = []
+ 
+ [dependencies]
+-bytes = "0.5"
++bytes = "1.2.0"
+ encoding_rs = "0.8.31"
+ enum-primitive-derive = "0.2.2"
+-itertools = "0.9.0"
++itertools = "0.10.3"
+ num-traits = "0.2"
+ paste = "1.0"
+ thiserror = "1.0"
+-uuid = "0.8"
+-widestring = "0.4.3"
++uuid = "1.1.2"
++widestring = "1.0.2"
+ 
+ [dev-dependencies]
+ insta = "1.21.1"
+diff --git a/src/errors.rs b/src/errors.rs
+index 91477b3..50079a3 100644
+--- a/src/errors.rs
++++ b/src/errors.rs
+@@ -51,8 +51,8 @@ impl From<std::string::FromUtf16Error> for Error {
+     }
+ }
+ 
+-impl From<widestring::MissingNulError<u16>> for Error {
+-    fn from(err: widestring::MissingNulError<u16>) -> Self {
++impl From<widestring::error::MissingNulTerminator> for Error {
++    fn from(err: widestring::error::MissingNulTerminator) -> Self {
+         ErrorKind::from(err).into()
+     }
+ }
+@@ -128,6 +128,6 @@ pub enum ErrorKind {
+     #[error("UTF-16 string is missing null terminator: {err}")]
+     Utf16MissingNull {
+         #[from]
+-        err: widestring::MissingNulError<u16>,
++        err: widestring::error::MissingNulTerminator,
+     },
+ }
+diff --git a/src/reader.rs b/src/reader.rs
+index 64730d0..318c280 100644
+--- a/src/reader.rs
++++ b/src/reader.rs
+@@ -40,7 +40,7 @@ impl<'a> Reader<'a> {
+     }
+ 
+     pub(crate) fn bytes(&self) -> &[u8] {
+-        self.0.bytes()
++        self.0.chunk()
+     }
+ 
+     pub(crate) fn remaining(&self) -> usize {
+diff --git a/src/utils.rs b/src/utils.rs
+index fd77181..074ff50 100644
+--- a/src/utils.rs
++++ b/src/utils.rs
+@@ -12,8 +12,7 @@ impl Utf16ToString for &[u8] {
+             .map(|v| u16::from_le_bytes([v[0], v[1]]))
+             .collect();
+ 
+-        let value = U16CString::from_vec_with_nul(data)?;
+-
+-        Ok(value.to_string()?)
++        let value = U16CString::from_vec_truncate(data);
++        Ok(value.to_string().unwrap())
+     }
+ }
diff --git a/gnu/packages/patches/rust-onenote-parser-for-clamav-parse-in-memory-buffer.patch b/gnu/packages/patches/rust-onenote-parser-for-clamav-parse-in-memory-buffer.patch
new file mode 100644
index 0000000000..77adc550ca
--- /dev/null
+++ b/gnu/packages/patches/rust-onenote-parser-for-clamav-parse-in-memory-buffer.patch
@@ -0,0 +1,52 @@
+From 8b450447e58143004b68dd21c11b710fdb79be92 Mon Sep 17 00:00:00 2001
+From: Micah Snyder <micasnyd@cisco.com>
+Date: Mon, 3 Jul 2023 21:44:57 -0700
+Subject: [PATCH] Add ability to parse section from in memory buffer
+
+Resolves: https://github.com/msiemens/onenote.rs/issues/12
+---
+ src/onenote/mod.rs | 23 ++++++++++++++++++++++-
+ 1 file changed, 22 insertions(+), 1 deletion(-)
+
+diff --git a/src/onenote/mod.rs b/src/onenote/mod.rs
+index de172c9..8bcb62b 100644
+--- a/src/onenote/mod.rs
++++ b/src/onenote/mod.rs
+@@ -6,8 +6,9 @@ use crate::onestore::parse_store;
+ use crate::reader::Reader;
+ use std::ffi::OsStr;
+ use std::fs::File;
+-use std::io::{BufReader, Read};
++use std::io::{BufReader, Read, Cursor};
+ use std::path::Path;
++use std::str::FromStr;
+ 
+ pub(crate) mod content;
+ pub(crate) mod embedded_file;
+@@ -76,6 +77,26 @@ impl Parser {
+         Ok(Notebook { entries: sections })
+     }
+ 
++    /// Parse a OneNote section buffer.
++    ///
++    /// The `data` argument must contain a OneNote section.
++    pub fn parse_section_buffer(&mut self, data: &[u8], file_name: &Path) -> Result<Section> {
++        let packaging = OneStorePackaging::parse(&mut Reader::new(data))?;
++        let store = parse_store(&packaging)?;
++
++        if store.schema_guid() != guid!({1F937CB4-B26F-445F-B9F8-17E20160E461}) {
++            return Err(ErrorKind::NotASectionFile {
++                file: file_name.to_string_lossy().into_owned(),
++            }
++            .into());
++        }
++
++        section::parse_section(
++            store,
++            file_name.to_string_lossy().into_owned(),
++        )
++    }
++
+     /// Parse a OneNote section file.
+     ///
+     /// The `path` argument must point to a `.one` file that contains a
diff --git a/gnu/packages/patches/rust-onenote-parser-for-clamav-property-type.patch b/gnu/packages/patches/rust-onenote-parser-for-clamav-property-type.patch
new file mode 100644
index 0000000000..ff94fa2630
--- /dev/null
+++ b/gnu/packages/patches/rust-onenote-parser-for-clamav-property-type.patch
@@ -0,0 +1,30 @@
+From 29c08532252b917543ff268284f926f30876bb79 Mon Sep 17 00:00:00 2001
+From: Matt Jolly <Matt.Jolly@footclan.ninja>
+Date: Mon, 24 Jun 2024 17:34:05 +1000
+Subject: [PATCH] PropertType: Specify type for custom discriminant values
+
+We use custom discriminant values for enum variants for "PropertType" without specifying the type.
+This causes it to default to "isize" which on 64bit platforms is big enough to hold the 32bit constants,
+but causes overflow when isize is 32bit.
+
+This issue was uncovered due to build failures on arm for Gentoo Linux as a dependency of ClamAV.
+
+Bug: https://bugs.gentoo.org/927214
+Signed-off-by: Matt Jolly <kangie@gentoo.org>
+Co-authored-by: Steven Newbury <steve@snewbury.org.uk>
+---
+ src/one/property/mod.rs | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/one/property/mod.rs b/src/one/property/mod.rs
+index 42841c6..fcc0481 100644
+--- a/src/one/property/mod.rs
++++ b/src/one/property/mod.rs
+@@ -23,6 +23,7 @@ mod references;
+ pub(crate) mod simple;
+ pub(crate) mod time;
+ 
++#[repr(u32)]
+ #[derive(Debug, Copy, Clone, PartialEq)]
+ #[allow(dead_code)]
+ #[allow(clippy::enum_clike_unportable_variant)]
-- 
2.46.0





^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [bug#73896] [PATCH v4 05/20] gnu: clamav: Add release-monitoring-url property.
  2024-11-05 23:14 ` [bug#73896] [PATCH v4 01/20] gnu: rust-widestring-0.4: Update to 0.4.3 Nicolas Graves via Guix-patches via
                     ` (2 preceding siblings ...)
  2024-11-05 23:14   ` [bug#73896] [PATCH v4 04/20] gnu: Add rust-onenote-parser-for-clamav Nicolas Graves via Guix-patches via
@ 2024-11-05 23:14   ` Nicolas Graves via Guix-patches via
  2024-11-05 23:14   ` [bug#73896] [PATCH v4 06/20] gnu: clamav: Update to 1.4.1 Nicolas Graves via Guix-patches via
                     ` (15 subsequent siblings)
  19 siblings, 0 replies; 45+ messages in thread
From: Nicolas Graves via Guix-patches via @ 2024-11-05 23:14 UTC (permalink / raw)
  To: 73896; +Cc: Nicolas Graves

* gnu/packages/antivirus.scm (clamav)
[source]<uri>: Add secondary release URI.
[properties]: Add release-monitoring-url.
---
 gnu/packages/antivirus.scm | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/antivirus.scm b/gnu/packages/antivirus.scm
index d061b18b11..2161d60398 100644
--- a/gnu/packages/antivirus.scm
+++ b/gnu/packages/antivirus.scm
@@ -48,8 +48,13 @@ (define-public clamav
     (version "0.103.11")
     (source (origin
               (method url-fetch)
-              (uri (string-append "https://www.clamav.net/downloads/production/"
-                                  "clamav-" version ".tar.gz"))
+              (uri
+               (list
+                (string-append "https://www.clamav.net/downloads/production/"
+                               "clamav-" version ".tar.gz")
+                (string-append "https://github.com/Cisco-Talos/clamav/"
+                               "releases/download/clamav-" version
+                               "/clamav-" version ".tar.gz")))
               (sha256
                (base32
                 "04by1g3p6awhi3j1y6zpwzmasdnvjgi6lwm34l2gadlwgkdfpmv1"))
@@ -144,6 +149,8 @@ (define-public clamav
 flexible and scalable multi-threaded daemon, a command line scanner, and
 advanced tool for automatic database updates.  The core of the package is an
 anti-virus engine available in the form of a shared library.")
+    (properties `((release-monitoring-url
+                   . "https://github.com/Cisco-Talos/clamav/releases")))
     (license (list license:gpl2+        ;ClamAV itself
                    license:lgpl2.1      ;libclamav/mspack.[ch]
                    license:public-domain ;libclamav/7z/*, libclamav/rijndael.[ch], etc...
-- 
2.46.0





^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [bug#73896] [PATCH v4 06/20] gnu: clamav: Update to 1.4.1.
  2024-11-05 23:14 ` [bug#73896] [PATCH v4 01/20] gnu: rust-widestring-0.4: Update to 0.4.3 Nicolas Graves via Guix-patches via
                     ` (3 preceding siblings ...)
  2024-11-05 23:14   ` [bug#73896] [PATCH v4 05/20] gnu: clamav: Add release-monitoring-url property Nicolas Graves via Guix-patches via
@ 2024-11-05 23:14   ` Nicolas Graves via Guix-patches via
  2024-11-05 23:14   ` [bug#73896] [PATCH v4 07/20] gnu: Add rust-hamming-0.1 Nicolas Graves via Guix-patches via
                     ` (14 subsequent siblings)
  19 siblings, 0 replies; 45+ messages in thread
From: Nicolas Graves via Guix-patches via @ 2024-11-05 23:14 UTC (permalink / raw)
  To: 73896; +Cc: Nicolas Graves

* gnu/packages/antivirus.scm (clamav): Update to 1.4.1.
[source]<origin>: Adapt source. This currently is not unbundling all
cargo vendored packages.
[build-system]: Switch to cmake-build-system.
[arguments]: Move field up.
<#:configure-flags>: Set option.
<#:imported-modules>: Set option for patching cargo checksums.
<#:phases>: Remove all phases except adapted 'skip-clamd_tests. Add
phases 'inject-rust-onenote and 'patch-cargo-checksums.
[native-inputs]: Remove autoconf, automake, libtool. Add
python-minimal, python-pytest, rust and rust:cargo.
[inputs]: Remove libltdl, libmspack, llvm-3.6, cyrus-sasl,
tomsfastmath.
---
 gnu/packages/antivirus.scm | 129 +++++++++++++++----------------------
 1 file changed, 51 insertions(+), 78 deletions(-)

diff --git a/gnu/packages/antivirus.scm b/gnu/packages/antivirus.scm
index 2161d60398..1a23657a61 100644
--- a/gnu/packages/antivirus.scm
+++ b/gnu/packages/antivirus.scm
@@ -2,6 +2,7 @@
 ;;; Copyright © 2016, 2017, 2018, 2019, 2020 Eric Bavier <bavier@posteo.net>
 ;;; Copyright © 2018 Christopher Baines <mail@cbaines.net>
 ;;; Copyright © 2019–2021 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2024 Nicolas Graves <ngraves@ngraves.fr>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -20,24 +21,23 @@
 
 (define-module (gnu packages antivirus)
   #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix build-system cargo)
+  #:use-module (guix build-system cmake)
   #:use-module (guix build-system gnu)
   #:use-module (guix gexp)
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix utils)
   #:use-module (gnu packages)
-  #:use-module (gnu packages autotools)
-  #:use-module (gnu packages bison)
   #:use-module (gnu packages check)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages curl)
-  #:use-module (gnu packages cyrus-sasl)
-  #:use-module (gnu packages flex)
-  #:use-module (gnu packages llvm)
-  #:use-module (gnu packages multiprecision)
   #:use-module (gnu packages ncurses)
   #:use-module (gnu packages pcre)
   #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages python)
+  #:use-module (gnu packages python-check)
+  #:use-module (gnu packages rust)
   #:use-module (gnu packages tls)
   #:use-module (gnu packages web)
   #:use-module (gnu packages xml))
@@ -45,7 +45,7 @@ (define-module (gnu packages antivirus)
 (define-public clamav
   (package
     (name "clamav")
-    (version "0.103.11")
+    (version "1.4.1")
     (source (origin
               (method url-fetch)
               (uri
@@ -57,90 +57,63 @@ (define-public clamav
                                "/clamav-" version ".tar.gz")))
               (sha256
                (base32
-                "04by1g3p6awhi3j1y6zpwzmasdnvjgi6lwm34l2gadlwgkdfpmv1"))
+                "1n3a87niad76h3mn3qxq9379gppdjqpkhwb9qkbb79irmj0ff653"))
               (modules '((guix build utils)))
               (snippet
                '(begin
+                  (delete-file "Cargo.lock")
+                  (for-each
+                   delete-file
+                   (find-files ".cargo/vendor" ".cargo-checksum\\.json"))
                   (for-each delete-file-recursively
                             '("win32"                  ; unnecessary
-                              "libclamav/c++/llvm"     ; use system llvm
-                              "libclamav/tomsfastmath" ; use system tomsfastmath
-                              "libclamunrar"))))       ; non-free license
-              (patches
-               (search-patches "clamav-system-tomsfastmath.patch"
-                               "clamav-config-llvm-libs.patch"))))
-    (build-system gnu-build-system)
+                              "libclamunrar"))))))     ; non-free license
+    (build-system cmake-build-system)
+    (arguments
+     (list
+      #:configure-flags
+      #~(list "-DENABLE_MILTER=OFF" "-DENABLE_UNRAR=OFF")
+      #:imported-modules `((guix build cargo-utils)
+                           ,@%cmake-build-system-modules)
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'inject-rust-onenote
+            (lambda _
+              (substitute* "libclamav_rust/Cargo.toml"
+                (("onenote_parser = .*")
+                 "onenote_parser = \"0.3.1\"\n"))))
+          (add-after 'patch-source-shebangs 'patch-cargo-checksums
+            (lambda _
+              (use-modules
+               (srfi srfi-1) (ice-9 ftw) (guix build cargo-utils))
+              (with-directory-excursion ".cargo/vendor"
+                (for-each generate-all-checksums
+                          (delete "." (delete ".." (scandir ".")))))))
+          (add-after 'unpack 'skip-clamd-tests
+            ;; XXX: The check?_clamd tests fail inside the build
+            ;; chroot, but pass outside.
+            (lambda* (#:key tests? #:allow-other-keys)
+              (when tests?
+                (substitute* "unit_tests/CMakeLists.txt"
+                  (("clamd_test\\.py" test)
+                   (string-append
+                    test " -k \"not test_clamd_08_VirusEvent\"")))))))))
     (native-inputs
-     (list autoconf
-           automake
-           check ; for tests
-           libtool
-           pkg-config))
+     (list check ; for tests
+           pkg-config
+           python-minimal
+           python-pytest
+           rust
+           (list rust "cargo")))
     (inputs
       (list bzip2
             curl
             json-c
-            libltdl
-            libmspack
-            llvm-3.6               ; requires <3.7, for JIT/verifier
-            ncurses
             libressl
-            pcre2
-            cyrus-sasl             ; for linking curl with libtool
-            tomsfastmath
             libxml2
+            ncurses
+            pcre2
             zlib))
-    (arguments
-      (list #:configure-flags
-            #~(let-syntax ((with (syntax-rules ()
-                            ((_ name use)
-                             (string-append "--with-" name "="
-                                            (assoc-ref %build-inputs use))))))
-              (list "--disable-unrar"
-                    "--enable-llvm"
-                    "--with-system-llvm"
-                    "--with-system-libmspack"
-                    "--without-included-ltdl"
-                    (with "xml" "libxml2")
-                    (with "openssl" "libressl")
-                    (with "libjson" "json-c")
-                    (with "pcre2" "pcre2")
-                    (with "zlib" "zlib")
-                    (with "libcurl" "curl")
-                    ;; For sanity, specifying --enable-* flags turns
-                    ;; "support unavailable" warnings into errors.
-                    "--enable-bzip2"
-                    "--enable-check"
-                    "--sysconfdir=/etc/clamav"
-                    ;; Default database directory needs to be writeable
-                    "--with-dbdir=/var/db/clamav"))
-            ;; install sample .conf files to %output/etc rather than /etc/clamav
-            #:make-flags
-            #~(list (string-append "sysconfdir=" %output "/etc"))
-            #:phases
-            #~(modify-phases %standard-phases
-                ;; Regenerate configure script.  Without this we don't get
-                ;; the correct value for LLVM linker variables.
-                (add-after 'unpack 'reconf
-                  (lambda _ (invoke "autoreconf" "-vfi")))
-                (add-before 'configure 'patch-llvm-config
-                  (lambda _
-                    (substitute* '("libclamav/c++/detect.cpp"
-                                   "libclamav/c++/ClamBCRTChecks.cpp"
-                                   "libclamav/c++/bytecode2llvm.cpp")
-                      (("llvm/Config/config.h") "llvm/Config/llvm-config.h"))
-                    ;; `llvm-config --libfiles` inappropriately lists lib*.a
-                    ;; libraries, rather than the lib*.so's that our llvm
-                    ;; contains.  They're used only for listing extra build
-                    ;; dependencies, so ignore them until that's fixed.
-                    (substitute* "libclamav/c++/Makefile.in"
-                      (("@LLVMCONFIG_LIBFILES@") ""))))
-                (add-before 'check 'skip-clamd-tests
-                  ;; XXX: The check?_clamd tests fail inside the build
-                  ;; chroot, but pass outside.
-                  (lambda _
-                    (substitute* "unit_tests/Makefile"
-                      (("check2_clamd.sh.*check4_clamd.sh") "")))))))
     (home-page "https://www.clamav.net")
     (synopsis "Antivirus engine")
     (description
-- 
2.46.0





^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [bug#73896] [PATCH v4 07/20] gnu: Add rust-hamming-0.1.
  2024-11-05 23:14 ` [bug#73896] [PATCH v4 01/20] gnu: rust-widestring-0.4: Update to 0.4.3 Nicolas Graves via Guix-patches via
                     ` (4 preceding siblings ...)
  2024-11-05 23:14   ` [bug#73896] [PATCH v4 06/20] gnu: clamav: Update to 1.4.1 Nicolas Graves via Guix-patches via
@ 2024-11-05 23:14   ` Nicolas Graves via Guix-patches via
  2024-11-05 23:14   ` [bug#73896] [PATCH v4 08/20] gnu: Add rust-primal-bit-0.3 Nicolas Graves via Guix-patches via
                     ` (13 subsequent siblings)
  19 siblings, 0 replies; 45+ messages in thread
From: Nicolas Graves via Guix-patches via @ 2024-11-05 23:14 UTC (permalink / raw)
  To: 73896; +Cc: Nicolas Graves

* gnu/packages/crates-io.scm (rust-hamming-0.1): New variable.
---
 gnu/packages/crates-io.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index e7124b088d..e551600dc7 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -31388,6 +31388,30 @@ (define-public rust-hamcrest2-0.3
      "This package provides a port of the Hamcrest testing library.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-hamming-0.1
+  (package
+    (name "rust-hamming")
+    (version "0.1.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "hamming" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1q9hri1l1x1y7vv153kvdw9lkqslmbwgia5r3qj6i39pfji3s135"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-development-inputs
+       (("rust-quickcheck" ,rust-quickcheck-0.2)
+        ("rust-rand" ,rust-rand-0.3))))
+    (home-page "https://github.com/huonw/hamming")
+    (synopsis "Count ones fast")
+    (description
+     "This package provides a tool to count ones, using rapid popcount
+(hamming weight) techniques.  This provides a performant popcount and bitwise
+hamming distance for a slice of bytes.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-hash-hasher-2
   (package
     (name "rust-hash-hasher")
-- 
2.46.0





^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [bug#73896] [PATCH v4 08/20] gnu: Add rust-primal-bit-0.3.
  2024-11-05 23:14 ` [bug#73896] [PATCH v4 01/20] gnu: rust-widestring-0.4: Update to 0.4.3 Nicolas Graves via Guix-patches via
                     ` (5 preceding siblings ...)
  2024-11-05 23:14   ` [bug#73896] [PATCH v4 07/20] gnu: Add rust-hamming-0.1 Nicolas Graves via Guix-patches via
@ 2024-11-05 23:14   ` Nicolas Graves via Guix-patches via
  2024-11-05 23:14   ` [bug#73896] [PATCH v4 09/20] gnu: Add rust-primal-check-0.3 Nicolas Graves via Guix-patches via
                     ` (12 subsequent siblings)
  19 siblings, 0 replies; 45+ messages in thread
From: Nicolas Graves via Guix-patches via @ 2024-11-05 23:14 UTC (permalink / raw)
  To: 73896; +Cc: Nicolas Graves

* gnu/packages/crates-io.scm (rust-primal-bit-0.3): New variable.
---
 gnu/packages/crates-io.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index e551600dc7..03375f4fe4 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -56602,6 +56602,27 @@ (define-public rust-prettytable-rs-0.8
 formatted tables in terminal.")
     (license license:bsd-3)))
 
+(define-public rust-primal-bit-0.3
+  (package
+    (name "rust-primal-bit")
+    (version "0.3.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "primal-bit" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0mb0cdxhlm6phhl2f4d7nf7g4yrnd8xdq07m7liw7b5fp3djj915"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs (("rust-hamming" ,rust-hamming-0.1))))
+    (home-page "https://github.com/huonw/primal")
+    (synopsis "Bit-vector specialised for rust-primal")
+    (description
+     "This package provides a bit-vector specialised to the
+prime-number-related needs of @code{rust-primal}.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-print-bytes-1
   (package
     (name "rust-print-bytes")
-- 
2.46.0





^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [bug#73896] [PATCH v4 09/20] gnu: Add rust-primal-check-0.3.
  2024-11-05 23:14 ` [bug#73896] [PATCH v4 01/20] gnu: rust-widestring-0.4: Update to 0.4.3 Nicolas Graves via Guix-patches via
                     ` (6 preceding siblings ...)
  2024-11-05 23:14   ` [bug#73896] [PATCH v4 08/20] gnu: Add rust-primal-bit-0.3 Nicolas Graves via Guix-patches via
@ 2024-11-05 23:14   ` Nicolas Graves via Guix-patches via
  2024-11-05 23:14   ` [bug#73896] [PATCH v4 10/20] gnu: Add rust-primal-estimate-0.3 Nicolas Graves via Guix-patches via
                     ` (11 subsequent siblings)
  19 siblings, 0 replies; 45+ messages in thread
From: Nicolas Graves via Guix-patches via @ 2024-11-05 23:14 UTC (permalink / raw)
  To: 73896; +Cc: Nicolas Graves

* gnu/packages/crates-io.scm (rust-primal-check-0.3): New variable.
---
 gnu/packages/crates-io.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 03375f4fe4..a025472d5e 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -56623,6 +56623,28 @@ (define-public rust-primal-bit-0.3
 prime-number-related needs of @code{rust-primal}.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-primal-check-0.3
+  (package
+    (name "rust-primal-check")
+    (version "0.3.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "primal-check" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "025xnak4rhkwa4h970bjb3cvp2k853wviyr84n8gjfhy65dqj3fw"))))
+    (build-system cargo-build-system)
+    ;; Circular development input rust-primal
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs (("rust-num-integer" ,rust-num-integer-0.1))))
+    (home-page "https://github.com/huonw/primal")
+    (synopsis "Test primality")
+    (description
+     "This package provides a standalone primality testing tool.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-print-bytes-1
   (package
     (name "rust-print-bytes")
-- 
2.46.0





^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [bug#73896] [PATCH v4 10/20] gnu: Add rust-primal-estimate-0.3.
  2024-11-05 23:14 ` [bug#73896] [PATCH v4 01/20] gnu: rust-widestring-0.4: Update to 0.4.3 Nicolas Graves via Guix-patches via
                     ` (7 preceding siblings ...)
  2024-11-05 23:14   ` [bug#73896] [PATCH v4 09/20] gnu: Add rust-primal-check-0.3 Nicolas Graves via Guix-patches via
@ 2024-11-05 23:14   ` Nicolas Graves via Guix-patches via
  2024-11-05 23:14   ` [bug#73896] [PATCH v4 11/20] gnu: Add rust-primal-sieve-0.3 Nicolas Graves via Guix-patches via
                     ` (10 subsequent siblings)
  19 siblings, 0 replies; 45+ messages in thread
From: Nicolas Graves via Guix-patches via @ 2024-11-05 23:14 UTC (permalink / raw)
  To: 73896; +Cc: Nicolas Graves

* gnu/packages/crates-io.scm (rust-primal-estimate-0.3): New variable.
---
 gnu/packages/crates-io.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index a025472d5e..eb26506de7 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -56645,6 +56645,28 @@ (define-public rust-primal-check-0.3
      "This package provides a standalone primality testing tool.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-primal-estimate-0.3
+  (package
+    (name "rust-primal-estimate")
+    (version "0.3.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "primal-estimate" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "08nq0n0r35rni65h79fynync0wyy8agrxy5mfmg0hq9s1c510cm4"))))
+    (build-system cargo-build-system)
+    ;; Circular development input rust-primal
+    (arguments
+     `(#:skip-build? #t))
+    (home-page "https://github.com/huonw/primal")
+    (synopsis "Estimate upper and lower bounds for the k-th prime")
+    (description
+     "This package provides a state-of-the-art estimation of upper and lower
+bounds for the number of primes below n and the k-th prime.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-print-bytes-1
   (package
     (name "rust-print-bytes")
-- 
2.46.0





^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [bug#73896] [PATCH v4 11/20] gnu: Add rust-primal-sieve-0.3.
  2024-11-05 23:14 ` [bug#73896] [PATCH v4 01/20] gnu: rust-widestring-0.4: Update to 0.4.3 Nicolas Graves via Guix-patches via
                     ` (8 preceding siblings ...)
  2024-11-05 23:14   ` [bug#73896] [PATCH v4 10/20] gnu: Add rust-primal-estimate-0.3 Nicolas Graves via Guix-patches via
@ 2024-11-05 23:14   ` Nicolas Graves via Guix-patches via
  2024-11-05 23:15   ` [bug#73896] [PATCH v4 12/20] gnu: Add rust-primal-slowsieve-0.3 Nicolas Graves via Guix-patches via
                     ` (9 subsequent siblings)
  19 siblings, 0 replies; 45+ messages in thread
From: Nicolas Graves via Guix-patches via @ 2024-11-05 23:14 UTC (permalink / raw)
  To: 73896; +Cc: Nicolas Graves

* gnu/packages/crates-io.scm (rust-primal-sieve-0.3): New variable.
---
 gnu/packages/crates-io.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index eb26506de7..40681cee8a 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -56667,6 +56667,29 @@ (define-public rust-primal-estimate-0.3
 bounds for the number of primes below n and the k-th prime.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-primal-sieve-0.3
+  (package
+    (name "rust-primal-sieve")
+    (version "0.3.7")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "primal-sieve" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1lzdllk78jqdp93h15l69s4xglbjcf6jlq6khccka0r2v2b2g64f"))))
+    (build-system cargo-build-system)
+    (arguments
+    ;; Circular development input rust-primal
+     `(#:skip-build? #t
+       #:cargo-inputs (("rust-primal-bit" ,rust-primal-bit-0.3)
+                       ("rust-primal-estimate" ,rust-primal-estimate-0.3)
+                       ("rust-smallvec" ,rust-smallvec-1))))
+    (home-page "https://github.com/huonw/primal")
+    (synopsis "Prime sieve")
+    (description "This package provides a high performance prime sieve.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-print-bytes-1
   (package
     (name "rust-print-bytes")
-- 
2.46.0





^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [bug#73896] [PATCH v4 12/20] gnu: Add rust-primal-slowsieve-0.3.
  2024-11-05 23:14 ` [bug#73896] [PATCH v4 01/20] gnu: rust-widestring-0.4: Update to 0.4.3 Nicolas Graves via Guix-patches via
                     ` (9 preceding siblings ...)
  2024-11-05 23:14   ` [bug#73896] [PATCH v4 11/20] gnu: Add rust-primal-sieve-0.3 Nicolas Graves via Guix-patches via
@ 2024-11-05 23:15   ` Nicolas Graves via Guix-patches via
  2024-11-05 23:15   ` [bug#73896] [PATCH v4 13/20] gnu: Add rust-primal-0.3 Nicolas Graves via Guix-patches via
                     ` (8 subsequent siblings)
  19 siblings, 0 replies; 45+ messages in thread
From: Nicolas Graves via Guix-patches via @ 2024-11-05 23:15 UTC (permalink / raw)
  To: 73896; +Cc: Nicolas Graves

* gnu/packages/crates-io.scm (rust-primal-slowsieve-0.3): New variable.
---
 gnu/packages/crates-io.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 40681cee8a..8bab66850e 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -56690,6 +56690,30 @@ (define-public rust-primal-sieve-0.3
     (description "This package provides a high performance prime sieve.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-primal-slowsieve-0.3
+  (package
+    (name "rust-primal-slowsieve")
+    (version "0.3.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "primal-slowsieve" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "02pixp7xprkmj0fvjgg6n4dn5f8syr6xj2m2dxn0nyg06b8lipy9"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs (("rust-primal-bit" ,rust-primal-bit-0.3)
+                       ("rust-primal-estimate" ,rust-primal-estimate-0.3))
+       #:cargo-development-inputs (("rust-criterion" ,rust-criterion-0.3))))
+    (home-page "https://github.com/huonw/primal")
+    (synopsis "Simple sieve of Eratosthenes")
+    (description
+     "This package provides a simple sieve of Eratosthenes designed for
+testing faster sieves.  For use in Rust crates, use @code{rust-primal-sieve}
+or @code{rust-primal} instead.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-print-bytes-1
   (package
     (name "rust-print-bytes")
-- 
2.46.0





^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [bug#73896] [PATCH v4 13/20] gnu: Add rust-primal-0.3.
  2024-11-05 23:14 ` [bug#73896] [PATCH v4 01/20] gnu: rust-widestring-0.4: Update to 0.4.3 Nicolas Graves via Guix-patches via
                     ` (10 preceding siblings ...)
  2024-11-05 23:15   ` [bug#73896] [PATCH v4 12/20] gnu: Add rust-primal-slowsieve-0.3 Nicolas Graves via Guix-patches via
@ 2024-11-05 23:15   ` Nicolas Graves via Guix-patches via
  2024-11-05 23:15   ` [bug#73896] [PATCH v4 14/20] gnu: rust-crc-any-2: Update to 2.5.0 Nicolas Graves via Guix-patches via
                     ` (7 subsequent siblings)
  19 siblings, 0 replies; 45+ messages in thread
From: Nicolas Graves via Guix-patches via @ 2024-11-05 23:15 UTC (permalink / raw)
  To: 73896; +Cc: Nicolas Graves

* gnu/packages/crates-io.scm (rust-primal-0.3): New variable.
---
 gnu/packages/crates-io.scm | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 8bab66850e..4cb6de28b3 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -56602,6 +56602,33 @@ (define-public rust-prettytable-rs-0.8
 formatted tables in terminal.")
     (license license:bsd-3)))
 
+(define-public rust-primal-0.3
+  (package
+    (name "rust-primal")
+    (version "0.3.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "primal" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1s6n396cssbr86f9w31sppdf06xsymgrl7y9gw0yccl5jiag7rdi"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs (("rust-primal-check" ,rust-primal-check-0.3)
+                       ("rust-primal-estimate" ,rust-primal-estimate-0.3)
+                       ("rust-primal-sieve" ,rust-primal-sieve-0.3))
+       #:cargo-development-inputs
+       (("rust-primal-slowsieve" ,rust-primal-slowsieve-0.3))))
+    (home-page "https://github.com/huonw/primal")
+    (synopsis "Various tools for prime numbers")
+    (description
+     "This package provides various tools to work with prime numbers.  It
+includes: optimised prime sieves, checking for primality, enumerating primes,
+factorising numbers, and state-of-the-art estimation of upper and lower bounds
+for the number of primes below n and the k-th prime.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-primal-bit-0.3
   (package
     (name "rust-primal-bit")
-- 
2.46.0





^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [bug#73896] [PATCH v4 14/20] gnu: rust-crc-any-2: Update to 2.5.0.
  2024-11-05 23:14 ` [bug#73896] [PATCH v4 01/20] gnu: rust-widestring-0.4: Update to 0.4.3 Nicolas Graves via Guix-patches via
                     ` (11 preceding siblings ...)
  2024-11-05 23:15   ` [bug#73896] [PATCH v4 13/20] gnu: Add rust-primal-0.3 Nicolas Graves via Guix-patches via
@ 2024-11-05 23:15   ` Nicolas Graves via Guix-patches via
  2024-11-05 23:15   ` [bug#73896] [PATCH v4 15/20] gnu: Add rust-delharc-0.6 Nicolas Graves via Guix-patches via
                     ` (6 subsequent siblings)
  19 siblings, 0 replies; 45+ messages in thread
From: Nicolas Graves via Guix-patches via @ 2024-11-05 23:15 UTC (permalink / raw)
  To: 73896; +Cc: Nicolas Graves

* gnu/packages/crates-io.scm (rust-crc-any-2): Update to 2.5.0.
---
 gnu/packages/crates-io.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 4cb6de28b3..bc585b20a5 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -16925,7 +16925,7 @@ (define-public rust-crc-1
 (define-public rust-crc-any-2
   (package
     (name "rust-crc-any")
-    (version "2.3.12")
+    (version "2.5.0")
     (source
      (origin
        (method url-fetch)
@@ -16933,7 +16933,7 @@ (define-public rust-crc-any-2
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
-        (base32 "0fq85y5akcadahnj5nqbs47qhgp5cpfn2z19zc3gp4wpxr3989kr"))))
+        (base32 "0wzs26q5cf29fhfnrkrjsr8dpai0rlm4im8b53by8rbrbzzwjbm6"))))
     (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs
-- 
2.46.0





^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [bug#73896] [PATCH v4 15/20] gnu: Add rust-delharc-0.6.
  2024-11-05 23:14 ` [bug#73896] [PATCH v4 01/20] gnu: rust-widestring-0.4: Update to 0.4.3 Nicolas Graves via Guix-patches via
                     ` (12 preceding siblings ...)
  2024-11-05 23:15   ` [bug#73896] [PATCH v4 14/20] gnu: rust-crc-any-2: Update to 2.5.0 Nicolas Graves via Guix-patches via
@ 2024-11-05 23:15   ` Nicolas Graves via Guix-patches via
  2024-11-05 23:15   ` [bug#73896] [PATCH v4 16/20] gnu: Add rust-transpose-0.2 Nicolas Graves via Guix-patches via
                     ` (5 subsequent siblings)
  19 siblings, 0 replies; 45+ messages in thread
From: Nicolas Graves via Guix-patches via @ 2024-11-05 23:15 UTC (permalink / raw)
  To: 73896; +Cc: Nicolas Graves

* gnu/packages/crates-io.scm (rust-delharc-0.6): New variable.
---
 gnu/packages/crates-io.scm | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index bc585b20a5..95d29aff87 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -20408,6 +20408,33 @@ (define-public rust-dejavu-2
      "This package provides the @code{DejaVu} font family for embedding.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-delharc-0.6
+  (package
+    (name "rust-delharc")
+    (version "0.6.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "delharc" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "18g5haj6bj92azif4jifhdy9vrv6blg3wyvpmxslh2gm2wkbm4qw"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:tests? #f  ; Missing files
+       #:cargo-inputs (("rust-bitflags" ,rust-bitflags-2)
+                       ("rust-chrono" ,rust-chrono-0.4)
+                       ("rust-memchr" ,rust-memchr-2))
+       #:cargo-development-inputs (("rust-crc-any" ,rust-crc-any-2)
+                                   ("rust-rand" ,rust-rand-0.8))))
+    (home-page "https://github.com/royaltm/rust-delharc")
+    (synopsis
+     "Parse and extract files from LHA/LZH archives.")
+    (description
+     "This package provides a Rust library for parsing and extracting files
+from LHA/LZH archives, which are often suffixed @code{.lha} or @code{.lzh}. ")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-demo-hack-0.0
   (package
     (name "rust-demo-hack")
-- 
2.46.0





^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [bug#73896] [PATCH v4 16/20] gnu: Add rust-transpose-0.2.
  2024-11-05 23:14 ` [bug#73896] [PATCH v4 01/20] gnu: rust-widestring-0.4: Update to 0.4.3 Nicolas Graves via Guix-patches via
                     ` (13 preceding siblings ...)
  2024-11-05 23:15   ` [bug#73896] [PATCH v4 15/20] gnu: Add rust-delharc-0.6 Nicolas Graves via Guix-patches via
@ 2024-11-05 23:15   ` Nicolas Graves via Guix-patches via
  2024-11-05 23:15   ` [bug#73896] [PATCH v4 17/20] gnu: rust-strength-reduce-0.2: Update to 0.2.4 Nicolas Graves via Guix-patches via
                     ` (4 subsequent siblings)
  19 siblings, 0 replies; 45+ messages in thread
From: Nicolas Graves via Guix-patches via @ 2024-11-05 23:15 UTC (permalink / raw)
  To: 73896; +Cc: Nicolas Graves

* gnu/packages/crates-io.scm (rust-transpose-0.2): New variable.
---
 gnu/packages/crates-io.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 95d29aff87..e3a8609e4f 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -85039,6 +85039,27 @@ (define-public rust-traitobject-0.1
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-transpose-0.2
+  (package
+    (name "rust-transpose")
+    (version "0.2.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "transpose" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0zp74v7jrjg4jr654dncdj6hqvacicsywyhc62jawgxwhvnimmhs"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs (("rust-num-integer" ,rust-num-integer-0.1)
+                       ("rust-strength-reduce" ,rust-strength-reduce-0.2))))
+    (home-page "https://github.com/ejmahler/transpose")
+    (synopsis "Utility for transposing multi-dimensional data")
+    (description
+     "This package provides utilities for transposing multi-dimensional data.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-trash-3
   (package
     (name "rust-trash")
-- 
2.46.0





^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [bug#73896] [PATCH v4 17/20] gnu: rust-strength-reduce-0.2: Update to 0.2.4.
  2024-11-05 23:14 ` [bug#73896] [PATCH v4 01/20] gnu: rust-widestring-0.4: Update to 0.4.3 Nicolas Graves via Guix-patches via
                     ` (14 preceding siblings ...)
  2024-11-05 23:15   ` [bug#73896] [PATCH v4 16/20] gnu: Add rust-transpose-0.2 Nicolas Graves via Guix-patches via
@ 2024-11-05 23:15   ` Nicolas Graves via Guix-patches via
  2024-11-05 23:15   ` [bug#73896] [PATCH v4 18/20] gnu: Add rust-rustfft-6 Nicolas Graves via Guix-patches via
                     ` (3 subsequent siblings)
  19 siblings, 0 replies; 45+ messages in thread
From: Nicolas Graves via Guix-patches via @ 2024-11-05 23:15 UTC (permalink / raw)
  To: 73896; +Cc: Nicolas Graves

* gnu/packages/crates-io.scm (rust-strength-reduce-0.2): Update to 0.2.4.
[arguments]<#:skip-build?>: Drop option.
<#:cargo-development-inputs>: Add rust-num-bigint.
---
 gnu/packages/crates-io.scm | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index e3a8609e4f..aaaa1102fe 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -75180,16 +75180,18 @@ (define-public rust-streaming-stats-0.2
 (define-public rust-strength-reduce-0.2
   (package
     (name "rust-strength-reduce")
-    (version "0.2.3")
+    (version "0.2.4")
     (source
      (origin
        (method url-fetch)
        (uri (crate-uri "strength_reduce" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
-        (base32 "0m12phq654mfxpmh2h5akqkag5ha6nlhjc2bp9jwarr5r1qjzzx3"))))
+        (base32 "10jdq9dijjdkb20wg1dmwg447rnj37jbq0mwvbadvqi2gys5x2gy"))))
     (build-system cargo-build-system)
-    (arguments `(#:skip-build? #t))
+    (arguments
+     `(#:cargo-development-inputs
+       (("rust-num-bigint" ,rust-num-bigint-0.4))))
     (home-page "http://github.com/ejmahler/strength_reduce")
     (synopsis "Faster integer division and modulus operations")
     (description "Strength_reduce implements integer division and modulo via
-- 
2.46.0





^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [bug#73896] [PATCH v4 18/20] gnu: Add rust-rustfft-6.
  2024-11-05 23:14 ` [bug#73896] [PATCH v4 01/20] gnu: rust-widestring-0.4: Update to 0.4.3 Nicolas Graves via Guix-patches via
                     ` (15 preceding siblings ...)
  2024-11-05 23:15   ` [bug#73896] [PATCH v4 17/20] gnu: rust-strength-reduce-0.2: Update to 0.2.4 Nicolas Graves via Guix-patches via
@ 2024-11-05 23:15   ` Nicolas Graves via Guix-patches via
  2024-11-05 23:15   ` [bug#73896] [PATCH v4 19/20] gnu: Add rust-rustdct-0.7 Nicolas Graves via Guix-patches via
                     ` (2 subsequent siblings)
  19 siblings, 0 replies; 45+ messages in thread
From: Nicolas Graves via Guix-patches via @ 2024-11-05 23:15 UTC (permalink / raw)
  To: 73896; +Cc: Nicolas Graves

* gnu/packages/crates-io.scm (rust-rustfft-6): New variable.
---
 gnu/packages/crates-io.scm | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index aaaa1102fe..cb71f71b85 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -66462,6 +66462,38 @@ (define-public rust-rustdoc-types-0.23
     (description "Types for rustdoc's json output.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-rustfft-6
+  (package
+    (name "rust-rustfft")
+    (version "6.2.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "rustfft" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "11hx83yr2h2jszkba9qhq2d08q9i5rsashq62rfhqvahpihnb023"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-development-inputs
+       (("rust-rand" ,rust-rand-0.8)
+        ("rust-paste" ,rust-paste-1)
+        ("rust-getrandom" ,rust-getrandom-0.2)
+        ("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.3))
+       #:cargo-inputs (("rust-num-complex" ,rust-num-complex-0.4)
+                       ("rust-num-integer" ,rust-num-integer-0.1)
+                       ("rust-num-traits" ,rust-num-traits-0.2)
+                       ("rust-primal-check" ,rust-primal-check-0.3)
+                       ("rust-strength-reduce" ,rust-strength-reduce-0.2)
+                       ("rust-transpose" ,rust-transpose-0.2)
+                       ("rust-version-check" ,rust-version-check-0.9))))
+    (home-page "https://github.com/ejmahler/RustFFT")
+    (synopsis "Rust FFT library")
+    (description
+     "This package provides a high-performance FFT (Fast Fourier Transform)
+library written in pure Rust.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-rustfix-0.8
   (package
     (name "rust-rustfix")
-- 
2.46.0





^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [bug#73896] [PATCH v4 19/20] gnu: Add rust-rustdct-0.7.
  2024-11-05 23:14 ` [bug#73896] [PATCH v4 01/20] gnu: rust-widestring-0.4: Update to 0.4.3 Nicolas Graves via Guix-patches via
                     ` (16 preceding siblings ...)
  2024-11-05 23:15   ` [bug#73896] [PATCH v4 18/20] gnu: Add rust-rustfft-6 Nicolas Graves via Guix-patches via
@ 2024-11-05 23:15   ` Nicolas Graves via Guix-patches via
  2024-11-05 23:15   ` [bug#73896] [PATCH v4 20/20] gnu: clamav: Unbundle rust dependencies Nicolas Graves via Guix-patches via
  2024-11-18  9:18   ` [bug#73896] [PATCH v4 01/20] gnu: rust-widestring-0.4: Update to 0.4.3 Ludovic Courtès
  19 siblings, 0 replies; 45+ messages in thread
From: Nicolas Graves via Guix-patches via @ 2024-11-05 23:15 UTC (permalink / raw)
  To: 73896; +Cc: Nicolas Graves

* gnu/packages/crates-io.scm (rust-rustdct-0.7): New variable.
---
 gnu/packages/crates-io.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index cb71f71b85..b8d544f6b3 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -66389,6 +66389,28 @@ (define-public rust-rustc-version-0.1
      `(#:cargo-inputs
        (("rust-semver" ,rust-semver-0.1))))))
 
+(define-public rust-rustdct-0.7
+  (package
+    (name "rust-rustdct")
+    (version "0.7.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "rustdct" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0lcm1191xx8wizima5j3n25fs90x58v3q1kwg6cbzafn0m8maqcb"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs (("rust-rustfft" ,rust-rustfft-6))
+       #:cargo-development-inputs (("rust-rand" ,rust-rand-0.8))))
+    (home-page "https://github.com/ejmahler/rust_dct")
+    (synopsis "Compute Discrete Cosine Transforms (DCT) in pure Rust")
+    (description
+     "This package provides a Rust library to compute the main Discrete Cosine
+Transforms (DCT) of any size in O(nlogn) time.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-rustdoc-json-0.8
   (package
     (name "rust-rustdoc-json")
-- 
2.46.0





^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [bug#73896] [PATCH v4 20/20] gnu: clamav: Unbundle rust dependencies.
  2024-11-05 23:14 ` [bug#73896] [PATCH v4 01/20] gnu: rust-widestring-0.4: Update to 0.4.3 Nicolas Graves via Guix-patches via
                     ` (17 preceding siblings ...)
  2024-11-05 23:15   ` [bug#73896] [PATCH v4 19/20] gnu: Add rust-rustdct-0.7 Nicolas Graves via Guix-patches via
@ 2024-11-05 23:15   ` Nicolas Graves via Guix-patches via
  2024-11-18  9:18   ` [bug#73896] [PATCH v4 01/20] gnu: rust-widestring-0.4: Update to 0.4.3 Ludovic Courtès
  19 siblings, 0 replies; 45+ messages in thread
From: Nicolas Graves via Guix-patches via @ 2024-11-05 23:15 UTC (permalink / raw)
  To: 73896; +Cc: Nicolas Graves

* gnu/packages/antivirus.scm (clamav)
[origin]<snippet>: Unbundle rust dependencies.
[build-system]: Switch to cargo-build-system.
[arguments]: Adapt to the change of base build-system.
[native-inputs]: Add cmake-minimal. Remove rust and rust:cargo.
---
 gnu/packages/antivirus.scm | 135 +++++++++++++++++++++++++++----------
 1 file changed, 99 insertions(+), 36 deletions(-)

diff --git a/gnu/packages/antivirus.scm b/gnu/packages/antivirus.scm
index 1a23657a61..b561ff060a 100644
--- a/gnu/packages/antivirus.scm
+++ b/gnu/packages/antivirus.scm
@@ -31,12 +31,17 @@ (define-module (gnu packages antivirus)
   #:use-module (gnu packages)
   #:use-module (gnu packages check)
   #:use-module (gnu packages compression)
+  #:use-module (gnu packages cmake)
+  #:use-module (gnu packages crates-crypto)
+  #:use-module (gnu packages crates-graphics)
+  #:use-module (gnu packages crates-io)
   #:use-module (gnu packages curl)
   #:use-module (gnu packages ncurses)
   #:use-module (gnu packages pcre)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages python)
   #:use-module (gnu packages python-check)
+  #:use-module (gnu packages rust-apps)
   #:use-module (gnu packages rust)
   #:use-module (gnu packages tls)
   #:use-module (gnu packages web)
@@ -62,49 +67,107 @@ (define-public clamav
               (snippet
                '(begin
                   (delete-file "Cargo.lock")
-                  (for-each
-                   delete-file
-                   (find-files ".cargo/vendor" ".cargo-checksum\\.json"))
                   (for-each delete-file-recursively
-                            '("win32"                  ; unnecessary
+                            '(".cargo"                 ; vendored rust inputs
+                              "win32"                  ; unnecessary
                               "libclamunrar"))))))     ; non-free license
-    (build-system cmake-build-system)
+    (build-system cargo-build-system)
     (arguments
-     (list
-      #:configure-flags
-      #~(list "-DENABLE_MILTER=OFF" "-DENABLE_UNRAR=OFF")
-      #:imported-modules `((guix build cargo-utils)
-                           ,@%cmake-build-system-modules)
-      #:phases
-      #~(modify-phases %standard-phases
-          (add-after 'unpack 'inject-rust-onenote
-            (lambda _
-              (substitute* "libclamav_rust/Cargo.toml"
-                (("onenote_parser = .*")
-                 "onenote_parser = \"0.3.1\"\n"))))
-          (add-after 'patch-source-shebangs 'patch-cargo-checksums
-            (lambda _
-              (use-modules
-               (srfi srfi-1) (ice-9 ftw) (guix build cargo-utils))
-              (with-directory-excursion ".cargo/vendor"
-                (for-each generate-all-checksums
-                          (delete "." (delete ".." (scandir ".")))))))
-          (add-after 'unpack 'skip-clamd-tests
-            ;; XXX: The check?_clamd tests fail inside the build
-            ;; chroot, but pass outside.
-            (lambda* (#:key tests? #:allow-other-keys)
-              (when tests?
-                (substitute* "unit_tests/CMakeLists.txt"
-                  (("clamd_test\\.py" test)
-                   (string-append
-                    test " -k \"not test_clamd_08_VirusEvent\"")))))))))
+     (let ((cargo-inputs
+            `(("rust-flate2" ,rust-flate2-1)
+              ("rust-hex" ,rust-hex-0.4)
+              ("rust-libc" ,rust-libc-0.2)
+              ("rust-log" ,rust-log-0.4)
+              ("rust-sha2" ,rust-sha2-0.10)
+              ("rust-tempfile" ,rust-tempfile-3)
+              ("rust-thiserror" ,rust-thiserror-1)
+              ("rust-image" ,rust-image-0.24)
+              ("rust-rustdct" ,rust-rustdct-0.7)
+              ("rust-transpose" ,rust-transpose-0.2)
+              ("rust-num-traits" ,rust-num-traits-0.2)
+              ("rust-base64" ,rust-base64-0.21)
+              ("rust-sha1" ,rust-sha1-0.10)
+              ("rust-unicode-segmentation" ,rust-unicode-segmentation-1)
+              ("rust-bindgen" ,rust-bindgen-0.66)
+              ("rust-onenote-parser" ,rust-onenote-parser-for-clamav)
+              ("rust-hex-literal" ,rust-hex-literal-0.4)
+              ("rust-inflate" ,rust-inflate-0.4)
+              ("rust-bzip2-rs" ,rust-bzip2-rs-0.1)
+              ("rust-byteorder" ,rust-byteorder-1)
+              ("rust-delharc" ,rust-delharc-0.6)))
+           (cargo-development-inputs
+            `(("rust-cbindgen" ,rust-cbindgen-0.26)
+              ("rust-bindgen" ,rust-bindgen-0.66))))
+       (list
+        #:cargo-inputs cargo-inputs
+        #:cargo-development-inputs cargo-development-inputs
+        #:vendor-dir ".cargo/vendor"
+        #:imported-modules `(,@%cmake-build-system-modules
+                             ,@%cargo-build-system-modules)
+        #:modules '((guix build cargo-build-system)
+                    ((guix build cmake-build-system) #:prefix cmake:)
+                    (guix build utils))
+        #:phases
+        #~(modify-phases %standard-phases
+            ;; There is a .exe file used in unit tests.
+            (delete 'check-for-pregenerated-files)
+            (add-after 'configure 'fix-cargo-inputs-vendoring
+              (lambda _
+                ;; Reproduce the original layout, fails with config.
+                (rename-file ".cargo/config" ".cargo/config.toml")
+                ;; Wrongly placed by configure
+                (delete-file-recursively
+                 (string-append ".cargo/vendor/clamav-" #$version ".tar.zst"))))
+            (add-after 'patch-cargo-checksums 'cmake-configure
+              (lambda* (#:key outputs #:allow-other-keys)
+                ((assoc-ref cmake:%standard-phases 'configure)
+                 #:configure-flags
+                 (list "-DENABLE_MILTER=OFF" "-DENABLE_UNRAR=OFF")
+                 #:outputs outputs)))
+            (replace 'build
+              (assoc-ref cmake:%standard-phases 'build))
+            (add-after 'patch-cargo-checksums 'patch-rust-requirements
+              (lambda _
+                (substitute* "libclamav_rust/Cargo.toml"
+                  (("onenote_parser = .*")
+                   (format #f "onenote_parser = ~s~%"
+                           #$(package-version
+                              (car (assoc-ref cargo-inputs
+                                              "rust-onenote-parser")))))
+                  (("^bindgen = .*")
+                   (format #f "bindgen = ~s~%"
+                           #$(package-version
+                              (car (assoc-ref cargo-inputs
+                                              "rust-bindgen")))))
+                  (("cbindgen = \\{ version =\".*\",")
+                   (format #f "cbindgen = { version =~s,"
+                           #$(package-version
+                              (car (assoc-ref cargo-development-inputs
+                                              "rust-cbindgen"))))))))
+            (delete 'package)
+            (replace 'install
+              (assoc-ref cmake:%standard-phases 'install))
+            (replace 'check
+              (lambda* (#:key tests? #:allow-other-keys)
+                ((assoc-ref cmake:%standard-phases 'check)
+                 #:tests? tests?
+                 #:parallel-tests? #t
+                 #:test-target "test")))
+            (add-after 'unpack 'skip-clamd-tests
+              ;; XXX: The check?_clamd tests fail inside the build
+              ;; chroot, but pass outside.
+              (lambda* (#:key tests? #:allow-other-keys)
+                (when tests?
+                  (substitute* "unit_tests/CMakeLists.txt"
+                    (("clamd_test\\.py" test)
+                     (string-append
+                      test " -k \"not test_clamd_08_VirusEvent\""))))))))))
     (native-inputs
      (list check ; for tests
+           cmake-minimal
            pkg-config
            python-minimal
-           python-pytest
-           rust
-           (list rust "cargo")))
+           python-pytest))
     (inputs
       (list bzip2
             curl
-- 
2.46.0





^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [bug#73896] [PATCH v4 01/20] gnu: rust-widestring-0.4: Update to 0.4.3.
  2024-11-05 23:14 ` [bug#73896] [PATCH v4 01/20] gnu: rust-widestring-0.4: Update to 0.4.3 Nicolas Graves via Guix-patches via
                     ` (18 preceding siblings ...)
  2024-11-05 23:15   ` [bug#73896] [PATCH v4 20/20] gnu: clamav: Unbundle rust dependencies Nicolas Graves via Guix-patches via
@ 2024-11-18  9:18   ` Ludovic Courtès
  19 siblings, 0 replies; 45+ messages in thread
From: Ludovic Courtès @ 2024-11-18  9:18 UTC (permalink / raw)
  To: Nicolas Graves; +Cc: 73896

Hi Nicolas,

This series involves triggers a world rebuilds (more or less), as can be
seen by running ‘guix build inkscape’.

Do you think we could avoid that?

Ludo’.




^ permalink raw reply	[flat|nested] 45+ messages in thread

end of thread, other threads:[~2024-11-18  9:19 UTC | newest]

Thread overview: 45+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-10-19 23:08 [bug#73896] [PATCH] gnu: clamav: Add release-monitoring-url property Nicolas Graves via Guix-patches via
2024-10-21  9:05 ` [bug#73896] [PATCH v2 1/2] " Nicolas Graves via Guix-patches via
2024-10-21  9:05   ` [bug#73896] [PATCH v2 2/2] gnu: clamav: Update to 1.4.1 Nicolas Graves via Guix-patches via
2024-11-03  1:30 ` [bug#73896] [PATCH v3 00/20] Clamav update [security fixes] Nicolas Graves via Guix-patches via
2024-11-03  1:30   ` [bug#73896] [PATCH v3 01/20] gnu: rust-widestring-0.4: Update to 0.4.3 Nicolas Graves via Guix-patches via
2024-11-03  1:30   ` [bug#73896] [PATCH v3 02/20] gnu: rust-enum-primitive-derive-0.2: Update to 0.2.2 Nicolas Graves via Guix-patches via
2024-11-03  1:30   ` [bug#73896] [PATCH v3 03/20] gnu: Add rust-onenote-parser-0.3 Nicolas Graves via Guix-patches via
2024-11-03  1:30   ` [bug#73896] [PATCH v3 04/20] gnu: Add rust-onenote-parser-for-clamav Nicolas Graves via Guix-patches via
2024-11-03  1:30   ` [bug#73896] [PATCH v3 05/20] gnu: clamav: Add release-monitoring-url property Nicolas Graves via Guix-patches via
2024-11-03  1:30   ` [bug#73896] [PATCH v3 06/20] gnu: clamav: Update to 1.4.1 Nicolas Graves via Guix-patches via
2024-11-03  1:30   ` [bug#73896] [PATCH v3 07/20] gnu: Add rust-hamming-0.1 Nicolas Graves via Guix-patches via
2024-11-03  1:30   ` [bug#73896] [PATCH v3 08/20] gnu: Add rust-primal-bit-0.3 Nicolas Graves via Guix-patches via
2024-11-03  1:30   ` [bug#73896] [PATCH v3 09/20] gnu: Add rust-primal-check-0.3 Nicolas Graves via Guix-patches via
2024-11-03  1:30   ` [bug#73896] [PATCH v3 10/20] gnu: Add rust-primal-estimate-0.3 Nicolas Graves via Guix-patches via
2024-11-03  1:30   ` [bug#73896] [PATCH v3 11/20] gnu: Add rust-primal-sieve-0.3 Nicolas Graves via Guix-patches via
2024-11-03  1:30   ` [bug#73896] [PATCH v3 12/20] gnu: Add rust-primal-slowsieve-0.3 Nicolas Graves via Guix-patches via
2024-11-03  1:30   ` [bug#73896] [PATCH v3 13/20] gnu: Add rust-primal-0.3 Nicolas Graves via Guix-patches via
2024-11-03  1:30   ` [bug#73896] [PATCH v3 14/20] gnu: rust-crc-any-2: Update to 2.5.0 Nicolas Graves via Guix-patches via
2024-11-03  1:30   ` [bug#73896] [PATCH v3 15/20] gnu: Add rust-delharc-0.6 Nicolas Graves via Guix-patches via
2024-11-03  1:30   ` [bug#73896] [PATCH v3 16/20] gnu: Add rust-transpose-0.2 Nicolas Graves via Guix-patches via
2024-11-03  1:30   ` [bug#73896] [PATCH v3 17/20] gnu: rust-strength-reduce-0.2: Update to 0.2.4 Nicolas Graves via Guix-patches via
2024-11-03  1:30   ` [bug#73896] [PATCH v3 18/20] gnu: Add rust-rustfft-6 Nicolas Graves via Guix-patches via
2024-11-03  1:30   ` [bug#73896] [PATCH v3 19/20] gnu: Add rust-rustdct-0.7 Nicolas Graves via Guix-patches via
2024-11-03  1:30   ` [bug#73896] [PATCH v3 20/20] gnu: clamav: Unbundle rust dependencies Nicolas Graves via Guix-patches via
2024-11-05 23:14 ` [bug#73896] [PATCH v4 01/20] gnu: rust-widestring-0.4: Update to 0.4.3 Nicolas Graves via Guix-patches via
2024-11-05 23:14   ` [bug#73896] [PATCH v4 02/20] gnu: rust-enum-primitive-derive-0.2: Update to 0.2.2 Nicolas Graves via Guix-patches via
2024-11-05 23:14   ` [bug#73896] [PATCH v4 03/20] gnu: Add rust-onenote-parser-0.3 Nicolas Graves via Guix-patches via
2024-11-05 23:14   ` [bug#73896] [PATCH v4 04/20] gnu: Add rust-onenote-parser-for-clamav Nicolas Graves via Guix-patches via
2024-11-05 23:14   ` [bug#73896] [PATCH v4 05/20] gnu: clamav: Add release-monitoring-url property Nicolas Graves via Guix-patches via
2024-11-05 23:14   ` [bug#73896] [PATCH v4 06/20] gnu: clamav: Update to 1.4.1 Nicolas Graves via Guix-patches via
2024-11-05 23:14   ` [bug#73896] [PATCH v4 07/20] gnu: Add rust-hamming-0.1 Nicolas Graves via Guix-patches via
2024-11-05 23:14   ` [bug#73896] [PATCH v4 08/20] gnu: Add rust-primal-bit-0.3 Nicolas Graves via Guix-patches via
2024-11-05 23:14   ` [bug#73896] [PATCH v4 09/20] gnu: Add rust-primal-check-0.3 Nicolas Graves via Guix-patches via
2024-11-05 23:14   ` [bug#73896] [PATCH v4 10/20] gnu: Add rust-primal-estimate-0.3 Nicolas Graves via Guix-patches via
2024-11-05 23:14   ` [bug#73896] [PATCH v4 11/20] gnu: Add rust-primal-sieve-0.3 Nicolas Graves via Guix-patches via
2024-11-05 23:15   ` [bug#73896] [PATCH v4 12/20] gnu: Add rust-primal-slowsieve-0.3 Nicolas Graves via Guix-patches via
2024-11-05 23:15   ` [bug#73896] [PATCH v4 13/20] gnu: Add rust-primal-0.3 Nicolas Graves via Guix-patches via
2024-11-05 23:15   ` [bug#73896] [PATCH v4 14/20] gnu: rust-crc-any-2: Update to 2.5.0 Nicolas Graves via Guix-patches via
2024-11-05 23:15   ` [bug#73896] [PATCH v4 15/20] gnu: Add rust-delharc-0.6 Nicolas Graves via Guix-patches via
2024-11-05 23:15   ` [bug#73896] [PATCH v4 16/20] gnu: Add rust-transpose-0.2 Nicolas Graves via Guix-patches via
2024-11-05 23:15   ` [bug#73896] [PATCH v4 17/20] gnu: rust-strength-reduce-0.2: Update to 0.2.4 Nicolas Graves via Guix-patches via
2024-11-05 23:15   ` [bug#73896] [PATCH v4 18/20] gnu: Add rust-rustfft-6 Nicolas Graves via Guix-patches via
2024-11-05 23:15   ` [bug#73896] [PATCH v4 19/20] gnu: Add rust-rustdct-0.7 Nicolas Graves via Guix-patches via
2024-11-05 23:15   ` [bug#73896] [PATCH v4 20/20] gnu: clamav: Unbundle rust dependencies Nicolas Graves via Guix-patches via
2024-11-18  9:18   ` [bug#73896] [PATCH v4 01/20] gnu: rust-widestring-0.4: Update to 0.4.3 Ludovic Courtès

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.