Package: guix-patches;
Reported by: Nicolas Graves <ngraves <at> ngraves.fr>
Date: Sat, 19 Oct 2024 23:10:02 UTC
Severity: normal
Tags: patch
Done: Efraim Flashner <efraim <at> flashner.co.il>
Bug is archived. No further changes may be made.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 73896 in the body.
You can then email your comments to 73896 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
View this report as an mbox folder, status mbox, maintainer mbox
guix-patches <at> gnu.org
:bug#73896
; Package guix-patches
.
(Sat, 19 Oct 2024 23:10:02 GMT) Full text and rfc822 format available.Nicolas Graves <ngraves <at> ngraves.fr>
:guix-patches <at> gnu.org
.
(Sat, 19 Oct 2024 23:10:02 GMT) Full text and rfc822 format available.Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
From: Nicolas Graves <ngraves <at> ngraves.fr> To: guix-patches <at> gnu.org Cc: Nicolas Graves <ngraves <at> ngraves.fr> Subject: [PATCH] gnu: clamav: Add release-monitoring-url property. Date: Sun, 20 Oct 2024 01:08:39 +0200
* 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
guix-patches <at> gnu.org
:bug#73896
; Package guix-patches
.
(Mon, 21 Oct 2024 09:07:02 GMT) Full text and rfc822 format available.Message #8 received at 73896 <at> debbugs.gnu.org (full text, mbox):
From: Nicolas Graves <ngraves <at> ngraves.fr> To: 73896 <at> debbugs.gnu.org Cc: Nicolas Graves <ngraves <at> ngraves.fr> Subject: [PATCH v2 1/2] gnu: clamav: Add release-monitoring-url property. Date: Mon, 21 Oct 2024 11:05:48 +0200
* 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
guix-patches <at> gnu.org
:bug#73896
; Package guix-patches
.
(Mon, 21 Oct 2024 09:07:02 GMT) Full text and rfc822 format available.Message #11 received at 73896 <at> debbugs.gnu.org (full text, mbox):
From: Nicolas Graves <ngraves <at> ngraves.fr> To: 73896 <at> debbugs.gnu.org Cc: Nicolas Graves <ngraves <at> ngraves.fr> Subject: [PATCH v2 2/2] gnu: clamav: Update to 1.4.1. Date: Mon, 21 Oct 2024 11:05:49 +0200
* 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 <at> posteo.net> ;;; Copyright © 2018 Christopher Baines <mail <at> cbaines.net> ;;; Copyright © 2019–2021 Tobias Geerinckx-Rice <me <at> tobias.gr> +;;; Copyright © 2024 Nicolas Graves <ngraves <at> 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
guix-patches <at> gnu.org
:bug#73896
; Package guix-patches
.
(Sun, 03 Nov 2024 01:34:01 GMT) Full text and rfc822 format available.Message #14 received at 73896 <at> debbugs.gnu.org (full text, mbox):
From: Nicolas Graves <ngraves <at> ngraves.fr> To: 73896 <at> debbugs.gnu.org Cc: Nicolas Graves <ngraves <at> ngraves.fr> Subject: [PATCH v3 00/20] Clamav update [security fixes] Date: Sun, 3 Nov 2024 02:30:07 +0100
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
guix-patches <at> gnu.org
:bug#73896
; Package guix-patches
.
(Sun, 03 Nov 2024 01:34:02 GMT) Full text and rfc822 format available.Message #17 received at 73896 <at> debbugs.gnu.org (full text, mbox):
From: Nicolas Graves <ngraves <at> ngraves.fr> To: 73896 <at> debbugs.gnu.org Cc: Nicolas Graves <ngraves <at> ngraves.fr> Subject: [PATCH v3 01/20] gnu: rust-widestring-0.4: Update to 0.4.3. Date: Sun, 3 Nov 2024 02:30:08 +0100
* 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
guix-patches <at> gnu.org
:bug#73896
; Package guix-patches
.
(Sun, 03 Nov 2024 01:34:03 GMT) Full text and rfc822 format available.Message #20 received at 73896 <at> debbugs.gnu.org (full text, mbox):
From: Nicolas Graves <ngraves <at> ngraves.fr> To: 73896 <at> debbugs.gnu.org Cc: Nicolas Graves <ngraves <at> ngraves.fr> Subject: [PATCH v3 02/20] gnu: rust-enum-primitive-derive-0.2: Update to 0.2.2. Date: Sun, 3 Nov 2024 02:30:09 +0100
* 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
guix-patches <at> gnu.org
:bug#73896
; Package guix-patches
.
(Sun, 03 Nov 2024 01:34:03 GMT) Full text and rfc822 format available.Message #23 received at 73896 <at> debbugs.gnu.org (full text, mbox):
From: Nicolas Graves <ngraves <at> ngraves.fr> To: 73896 <at> debbugs.gnu.org Cc: Nicolas Graves <ngraves <at> ngraves.fr> Subject: [PATCH v3 03/20] gnu: Add rust-onenote-parser-0.3. Date: Sun, 3 Nov 2024 02:30:10 +0100
* 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
guix-patches <at> gnu.org
:bug#73896
; Package guix-patches
.
(Sun, 03 Nov 2024 01:34:04 GMT) Full text and rfc822 format available.Message #26 received at 73896 <at> debbugs.gnu.org (full text, mbox):
From: Nicolas Graves <ngraves <at> ngraves.fr> To: 73896 <at> debbugs.gnu.org Cc: Nicolas Graves <ngraves <at> ngraves.fr> Subject: [PATCH v3 04/20] gnu: Add rust-onenote-parser-for-clamav. Date: Sun, 3 Nov 2024 02:30:11 +0100
* 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 <at> 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 <at> 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 <at> 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 <at> 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 <at> gentoo.org> +Co-authored-by: Steven Newbury <steve <at> 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
guix-patches <at> gnu.org
:bug#73896
; Package guix-patches
.
(Sun, 03 Nov 2024 01:34:04 GMT) Full text and rfc822 format available.Message #29 received at 73896 <at> debbugs.gnu.org (full text, mbox):
From: Nicolas Graves <ngraves <at> ngraves.fr> To: 73896 <at> debbugs.gnu.org Cc: Nicolas Graves <ngraves <at> ngraves.fr> Subject: [PATCH v3 05/20] gnu: clamav: Add release-monitoring-url property. Date: Sun, 3 Nov 2024 02:30:12 +0100
* 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
guix-patches <at> gnu.org
:bug#73896
; Package guix-patches
.
(Sun, 03 Nov 2024 01:34:05 GMT) Full text and rfc822 format available.Message #32 received at 73896 <at> debbugs.gnu.org (full text, mbox):
From: Nicolas Graves <ngraves <at> ngraves.fr> To: 73896 <at> debbugs.gnu.org Cc: Nicolas Graves <ngraves <at> ngraves.fr> Subject: [PATCH v3 06/20] gnu: clamav: Update to 1.4.1. Date: Sun, 3 Nov 2024 02:30:13 +0100
* 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 <at> posteo.net> ;;; Copyright © 2018 Christopher Baines <mail <at> cbaines.net> ;;; Copyright © 2019–2021 Tobias Geerinckx-Rice <me <at> tobias.gr> +;;; Copyright © 2024 Nicolas Graves <ngraves <at> 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
guix-patches <at> gnu.org
:bug#73896
; Package guix-patches
.
(Sun, 03 Nov 2024 01:34:05 GMT) Full text and rfc822 format available.Message #35 received at 73896 <at> debbugs.gnu.org (full text, mbox):
From: Nicolas Graves <ngraves <at> ngraves.fr> To: 73896 <at> debbugs.gnu.org Cc: Nicolas Graves <ngraves <at> ngraves.fr> Subject: [PATCH v3 07/20] gnu: Add rust-hamming-0.1. Date: Sun, 3 Nov 2024 02:30:14 +0100
* 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
guix-patches <at> gnu.org
:bug#73896
; Package guix-patches
.
(Sun, 03 Nov 2024 01:34:06 GMT) Full text and rfc822 format available.Message #38 received at 73896 <at> debbugs.gnu.org (full text, mbox):
From: Nicolas Graves <ngraves <at> ngraves.fr> To: 73896 <at> debbugs.gnu.org Cc: Nicolas Graves <ngraves <at> ngraves.fr> Subject: [PATCH v3 08/20] gnu: Add rust-primal-bit-0.3. Date: Sun, 3 Nov 2024 02:30:15 +0100
* 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
guix-patches <at> gnu.org
:bug#73896
; Package guix-patches
.
(Sun, 03 Nov 2024 01:34:06 GMT) Full text and rfc822 format available.Message #41 received at 73896 <at> debbugs.gnu.org (full text, mbox):
From: Nicolas Graves <ngraves <at> ngraves.fr> To: 73896 <at> debbugs.gnu.org Cc: Nicolas Graves <ngraves <at> ngraves.fr> Subject: [PATCH v3 09/20] gnu: Add rust-primal-check-0.3. Date: Sun, 3 Nov 2024 02:30:16 +0100
* 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
guix-patches <at> gnu.org
:bug#73896
; Package guix-patches
.
(Sun, 03 Nov 2024 01:34:07 GMT) Full text and rfc822 format available.Message #44 received at 73896 <at> debbugs.gnu.org (full text, mbox):
From: Nicolas Graves <ngraves <at> ngraves.fr> To: 73896 <at> debbugs.gnu.org Cc: Nicolas Graves <ngraves <at> ngraves.fr> Subject: [PATCH v3 10/20] gnu: Add rust-primal-estimate-0.3. Date: Sun, 3 Nov 2024 02:30:17 +0100
* 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
guix-patches <at> gnu.org
:bug#73896
; Package guix-patches
.
(Sun, 03 Nov 2024 01:34:07 GMT) Full text and rfc822 format available.Message #47 received at 73896 <at> debbugs.gnu.org (full text, mbox):
From: Nicolas Graves <ngraves <at> ngraves.fr> To: 73896 <at> debbugs.gnu.org Cc: Nicolas Graves <ngraves <at> ngraves.fr> Subject: [PATCH v3 11/20] gnu: Add rust-primal-sieve-0.3. Date: Sun, 3 Nov 2024 02:30:18 +0100
* 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
guix-patches <at> gnu.org
:bug#73896
; Package guix-patches
.
(Sun, 03 Nov 2024 01:34:08 GMT) Full text and rfc822 format available.Message #50 received at 73896 <at> debbugs.gnu.org (full text, mbox):
From: Nicolas Graves <ngraves <at> ngraves.fr> To: 73896 <at> debbugs.gnu.org Cc: Nicolas Graves <ngraves <at> ngraves.fr> Subject: [PATCH v3 12/20] gnu: Add rust-primal-slowsieve-0.3. Date: Sun, 3 Nov 2024 02:30:19 +0100
* 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
guix-patches <at> gnu.org
:bug#73896
; Package guix-patches
.
(Sun, 03 Nov 2024 01:34:08 GMT) Full text and rfc822 format available.Message #53 received at 73896 <at> debbugs.gnu.org (full text, mbox):
From: Nicolas Graves <ngraves <at> ngraves.fr> To: 73896 <at> debbugs.gnu.org Cc: Nicolas Graves <ngraves <at> ngraves.fr> Subject: [PATCH v3 13/20] gnu: Add rust-primal-0.3. Date: Sun, 3 Nov 2024 02:30:20 +0100
* 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
guix-patches <at> gnu.org
:bug#73896
; Package guix-patches
.
(Sun, 03 Nov 2024 01:34:09 GMT) Full text and rfc822 format available.Message #56 received at 73896 <at> debbugs.gnu.org (full text, mbox):
From: Nicolas Graves <ngraves <at> ngraves.fr> To: 73896 <at> debbugs.gnu.org Cc: Nicolas Graves <ngraves <at> ngraves.fr> Subject: [PATCH v3 14/20] gnu: rust-crc-any-2: Update to 2.5.0. Date: Sun, 3 Nov 2024 02:30:21 +0100
* 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
guix-patches <at> gnu.org
:bug#73896
; Package guix-patches
.
(Sun, 03 Nov 2024 01:34:09 GMT) Full text and rfc822 format available.Message #59 received at 73896 <at> debbugs.gnu.org (full text, mbox):
From: Nicolas Graves <ngraves <at> ngraves.fr> To: 73896 <at> debbugs.gnu.org Cc: Nicolas Graves <ngraves <at> ngraves.fr> Subject: [PATCH v3 15/20] gnu: Add rust-delharc-0.6. Date: Sun, 3 Nov 2024 02:30:22 +0100
* 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
guix-patches <at> gnu.org
:bug#73896
; Package guix-patches
.
(Sun, 03 Nov 2024 01:34:10 GMT) Full text and rfc822 format available.Message #62 received at 73896 <at> debbugs.gnu.org (full text, mbox):
From: Nicolas Graves <ngraves <at> ngraves.fr> To: 73896 <at> debbugs.gnu.org Cc: Nicolas Graves <ngraves <at> ngraves.fr> Subject: [PATCH v3 16/20] gnu: Add rust-transpose-0.2. Date: Sun, 3 Nov 2024 02:30:23 +0100
* 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
guix-patches <at> gnu.org
:bug#73896
; Package guix-patches
.
(Sun, 03 Nov 2024 01:34:10 GMT) Full text and rfc822 format available.Message #65 received at 73896 <at> debbugs.gnu.org (full text, mbox):
From: Nicolas Graves <ngraves <at> ngraves.fr> To: 73896 <at> debbugs.gnu.org Cc: Nicolas Graves <ngraves <at> ngraves.fr> Subject: [PATCH v3 17/20] gnu: rust-strength-reduce-0.2: Update to 0.2.4. Date: Sun, 3 Nov 2024 02:30:24 +0100
* 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
guix-patches <at> gnu.org
:bug#73896
; Package guix-patches
.
(Sun, 03 Nov 2024 01:34:11 GMT) Full text and rfc822 format available.Message #68 received at 73896 <at> debbugs.gnu.org (full text, mbox):
From: Nicolas Graves <ngraves <at> ngraves.fr> To: 73896 <at> debbugs.gnu.org Cc: Nicolas Graves <ngraves <at> ngraves.fr> Subject: [PATCH v3 18/20] gnu: Add rust-rustfft-6. Date: Sun, 3 Nov 2024 02:30:25 +0100
* 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
guix-patches <at> gnu.org
:bug#73896
; Package guix-patches
.
(Sun, 03 Nov 2024 01:34:11 GMT) Full text and rfc822 format available.Message #71 received at 73896 <at> debbugs.gnu.org (full text, mbox):
From: Nicolas Graves <ngraves <at> ngraves.fr> To: 73896 <at> debbugs.gnu.org Cc: Nicolas Graves <ngraves <at> ngraves.fr> Subject: [PATCH v3 19/20] gnu: Add rust-rustdct-0.7. Date: Sun, 3 Nov 2024 02:30:26 +0100
* 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
guix-patches <at> gnu.org
:bug#73896
; Package guix-patches
.
(Sun, 03 Nov 2024 01:34:12 GMT) Full text and rfc822 format available.Message #74 received at 73896 <at> debbugs.gnu.org (full text, mbox):
From: Nicolas Graves <ngraves <at> ngraves.fr> To: 73896 <at> debbugs.gnu.org Cc: Nicolas Graves <ngraves <at> ngraves.fr> Subject: [PATCH v3 20/20] gnu: clamav: Unbundle rust dependencies. Date: Sun, 3 Nov 2024 02:30:27 +0100
* 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
guix-patches <at> gnu.org
:bug#73896
; Package guix-patches
.
(Tue, 05 Nov 2024 23:16:01 GMT) Full text and rfc822 format available.Message #77 received at 73896 <at> debbugs.gnu.org (full text, mbox):
From: Nicolas Graves <ngraves <at> ngraves.fr> To: 73896 <at> debbugs.gnu.org Cc: Nicolas Graves <ngraves <at> ngraves.fr> Subject: [PATCH v4 01/20] gnu: rust-widestring-0.4: Update to 0.4.3. Date: Wed, 6 Nov 2024 00:14:49 +0100
* 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
guix-patches <at> gnu.org
:bug#73896
; Package guix-patches
.
(Tue, 05 Nov 2024 23:16:02 GMT) Full text and rfc822 format available.Message #80 received at 73896 <at> debbugs.gnu.org (full text, mbox):
From: Nicolas Graves <ngraves <at> ngraves.fr> To: 73896 <at> debbugs.gnu.org Cc: Nicolas Graves <ngraves <at> ngraves.fr> Subject: [PATCH v4 02/20] gnu: rust-enum-primitive-derive-0.2: Update to 0.2.2. Date: Wed, 6 Nov 2024 00:14:50 +0100
* 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
guix-patches <at> gnu.org
:bug#73896
; Package guix-patches
.
(Tue, 05 Nov 2024 23:16:03 GMT) Full text and rfc822 format available.Message #83 received at 73896 <at> debbugs.gnu.org (full text, mbox):
From: Nicolas Graves <ngraves <at> ngraves.fr> To: 73896 <at> debbugs.gnu.org Cc: Nicolas Graves <ngraves <at> ngraves.fr> Subject: [PATCH v4 03/20] gnu: Add rust-onenote-parser-0.3. Date: Wed, 6 Nov 2024 00:14:51 +0100
* 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
guix-patches <at> gnu.org
:bug#73896
; Package guix-patches
.
(Tue, 05 Nov 2024 23:16:03 GMT) Full text and rfc822 format available.Message #86 received at 73896 <at> debbugs.gnu.org (full text, mbox):
From: Nicolas Graves <ngraves <at> ngraves.fr> To: 73896 <at> debbugs.gnu.org Cc: Nicolas Graves <ngraves <at> ngraves.fr> Subject: [PATCH v4 04/20] gnu: Add rust-onenote-parser-for-clamav. Date: Wed, 6 Nov 2024 00:14:52 +0100
* 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 <at> 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 <at> 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 <at> 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 <at> 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 <at> gentoo.org> +Co-authored-by: Steven Newbury <steve <at> 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
guix-patches <at> gnu.org
:bug#73896
; Package guix-patches
.
(Tue, 05 Nov 2024 23:16:04 GMT) Full text and rfc822 format available.Message #89 received at 73896 <at> debbugs.gnu.org (full text, mbox):
From: Nicolas Graves <ngraves <at> ngraves.fr> To: 73896 <at> debbugs.gnu.org Cc: Nicolas Graves <ngraves <at> ngraves.fr> Subject: [PATCH v4 05/20] gnu: clamav: Add release-monitoring-url property. Date: Wed, 6 Nov 2024 00:14:53 +0100
* 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
guix-patches <at> gnu.org
:bug#73896
; Package guix-patches
.
(Tue, 05 Nov 2024 23:16:04 GMT) Full text and rfc822 format available.Message #92 received at 73896 <at> debbugs.gnu.org (full text, mbox):
From: Nicolas Graves <ngraves <at> ngraves.fr> To: 73896 <at> debbugs.gnu.org Cc: Nicolas Graves <ngraves <at> ngraves.fr> Subject: [PATCH v4 06/20] gnu: clamav: Update to 1.4.1. Date: Wed, 6 Nov 2024 00:14:54 +0100
* 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 <at> posteo.net> ;;; Copyright © 2018 Christopher Baines <mail <at> cbaines.net> ;;; Copyright © 2019–2021 Tobias Geerinckx-Rice <me <at> tobias.gr> +;;; Copyright © 2024 Nicolas Graves <ngraves <at> 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
guix-patches <at> gnu.org
:bug#73896
; Package guix-patches
.
(Tue, 05 Nov 2024 23:16:05 GMT) Full text and rfc822 format available.Message #95 received at 73896 <at> debbugs.gnu.org (full text, mbox):
From: Nicolas Graves <ngraves <at> ngraves.fr> To: 73896 <at> debbugs.gnu.org Cc: Nicolas Graves <ngraves <at> ngraves.fr> Subject: [PATCH v4 07/20] gnu: Add rust-hamming-0.1. Date: Wed, 6 Nov 2024 00:14:55 +0100
* 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
guix-patches <at> gnu.org
:bug#73896
; Package guix-patches
.
(Tue, 05 Nov 2024 23:16:05 GMT) Full text and rfc822 format available.Message #98 received at 73896 <at> debbugs.gnu.org (full text, mbox):
From: Nicolas Graves <ngraves <at> ngraves.fr> To: 73896 <at> debbugs.gnu.org Cc: Nicolas Graves <ngraves <at> ngraves.fr> Subject: [PATCH v4 08/20] gnu: Add rust-primal-bit-0.3. Date: Wed, 6 Nov 2024 00:14:56 +0100
* 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
guix-patches <at> gnu.org
:bug#73896
; Package guix-patches
.
(Tue, 05 Nov 2024 23:17:01 GMT) Full text and rfc822 format available.Message #101 received at 73896 <at> debbugs.gnu.org (full text, mbox):
From: Nicolas Graves <ngraves <at> ngraves.fr> To: 73896 <at> debbugs.gnu.org Cc: Nicolas Graves <ngraves <at> ngraves.fr> Subject: [PATCH v4 09/20] gnu: Add rust-primal-check-0.3. Date: Wed, 6 Nov 2024 00:14:57 +0100
* 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
guix-patches <at> gnu.org
:bug#73896
; Package guix-patches
.
(Tue, 05 Nov 2024 23:17:02 GMT) Full text and rfc822 format available.Message #104 received at 73896 <at> debbugs.gnu.org (full text, mbox):
From: Nicolas Graves <ngraves <at> ngraves.fr> To: 73896 <at> debbugs.gnu.org Cc: Nicolas Graves <ngraves <at> ngraves.fr> Subject: [PATCH v4 10/20] gnu: Add rust-primal-estimate-0.3. Date: Wed, 6 Nov 2024 00:14:58 +0100
* 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
guix-patches <at> gnu.org
:bug#73896
; Package guix-patches
.
(Tue, 05 Nov 2024 23:17:02 GMT) Full text and rfc822 format available.Message #107 received at 73896 <at> debbugs.gnu.org (full text, mbox):
From: Nicolas Graves <ngraves <at> ngraves.fr> To: 73896 <at> debbugs.gnu.org Cc: Nicolas Graves <ngraves <at> ngraves.fr> Subject: [PATCH v4 11/20] gnu: Add rust-primal-sieve-0.3. Date: Wed, 6 Nov 2024 00:14:59 +0100
* 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
guix-patches <at> gnu.org
:bug#73896
; Package guix-patches
.
(Tue, 05 Nov 2024 23:17:02 GMT) Full text and rfc822 format available.Message #110 received at 73896 <at> debbugs.gnu.org (full text, mbox):
From: Nicolas Graves <ngraves <at> ngraves.fr> To: 73896 <at> debbugs.gnu.org Cc: Nicolas Graves <ngraves <at> ngraves.fr> Subject: [PATCH v4 12/20] gnu: Add rust-primal-slowsieve-0.3. Date: Wed, 6 Nov 2024 00:15:00 +0100
* 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
guix-patches <at> gnu.org
:bug#73896
; Package guix-patches
.
(Tue, 05 Nov 2024 23:17:03 GMT) Full text and rfc822 format available.Message #113 received at 73896 <at> debbugs.gnu.org (full text, mbox):
From: Nicolas Graves <ngraves <at> ngraves.fr> To: 73896 <at> debbugs.gnu.org Cc: Nicolas Graves <ngraves <at> ngraves.fr> Subject: [PATCH v4 13/20] gnu: Add rust-primal-0.3. Date: Wed, 6 Nov 2024 00:15:01 +0100
* 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
guix-patches <at> gnu.org
:bug#73896
; Package guix-patches
.
(Tue, 05 Nov 2024 23:17:04 GMT) Full text and rfc822 format available.Message #116 received at 73896 <at> debbugs.gnu.org (full text, mbox):
From: Nicolas Graves <ngraves <at> ngraves.fr> To: 73896 <at> debbugs.gnu.org Cc: Nicolas Graves <ngraves <at> ngraves.fr> Subject: [PATCH v4 14/20] gnu: rust-crc-any-2: Update to 2.5.0. Date: Wed, 6 Nov 2024 00:15:02 +0100
* 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
guix-patches <at> gnu.org
:bug#73896
; Package guix-patches
.
(Tue, 05 Nov 2024 23:17:04 GMT) Full text and rfc822 format available.Message #119 received at 73896 <at> debbugs.gnu.org (full text, mbox):
From: Nicolas Graves <ngraves <at> ngraves.fr> To: 73896 <at> debbugs.gnu.org Cc: Nicolas Graves <ngraves <at> ngraves.fr> Subject: [PATCH v4 15/20] gnu: Add rust-delharc-0.6. Date: Wed, 6 Nov 2024 00:15:03 +0100
* 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
guix-patches <at> gnu.org
:bug#73896
; Package guix-patches
.
(Tue, 05 Nov 2024 23:17:05 GMT) Full text and rfc822 format available.Message #122 received at 73896 <at> debbugs.gnu.org (full text, mbox):
From: Nicolas Graves <ngraves <at> ngraves.fr> To: 73896 <at> debbugs.gnu.org Cc: Nicolas Graves <ngraves <at> ngraves.fr> Subject: [PATCH v4 16/20] gnu: Add rust-transpose-0.2. Date: Wed, 6 Nov 2024 00:15:04 +0100
* 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
guix-patches <at> gnu.org
:bug#73896
; Package guix-patches
.
(Tue, 05 Nov 2024 23:17:05 GMT) Full text and rfc822 format available.Message #125 received at 73896 <at> debbugs.gnu.org (full text, mbox):
From: Nicolas Graves <ngraves <at> ngraves.fr> To: 73896 <at> debbugs.gnu.org Cc: Nicolas Graves <ngraves <at> ngraves.fr> Subject: [PATCH v4 17/20] gnu: rust-strength-reduce-0.2: Update to 0.2.4. Date: Wed, 6 Nov 2024 00:15:05 +0100
* 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
guix-patches <at> gnu.org
:bug#73896
; Package guix-patches
.
(Tue, 05 Nov 2024 23:17:06 GMT) Full text and rfc822 format available.Message #128 received at 73896 <at> debbugs.gnu.org (full text, mbox):
From: Nicolas Graves <ngraves <at> ngraves.fr> To: 73896 <at> debbugs.gnu.org Cc: Nicolas Graves <ngraves <at> ngraves.fr> Subject: [PATCH v4 18/20] gnu: Add rust-rustfft-6. Date: Wed, 6 Nov 2024 00:15:06 +0100
* 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
guix-patches <at> gnu.org
:bug#73896
; Package guix-patches
.
(Tue, 05 Nov 2024 23:17:06 GMT) Full text and rfc822 format available.Message #131 received at 73896 <at> debbugs.gnu.org (full text, mbox):
From: Nicolas Graves <ngraves <at> ngraves.fr> To: 73896 <at> debbugs.gnu.org Cc: Nicolas Graves <ngraves <at> ngraves.fr> Subject: [PATCH v4 20/20] gnu: clamav: Unbundle rust dependencies. Date: Wed, 6 Nov 2024 00:15:08 +0100
* 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
guix-patches <at> gnu.org
:bug#73896
; Package guix-patches
.
(Tue, 05 Nov 2024 23:17:07 GMT) Full text and rfc822 format available.Message #134 received at 73896 <at> debbugs.gnu.org (full text, mbox):
From: Nicolas Graves <ngraves <at> ngraves.fr> To: 73896 <at> debbugs.gnu.org Cc: Nicolas Graves <ngraves <at> ngraves.fr> Subject: [PATCH v4 19/20] gnu: Add rust-rustdct-0.7. Date: Wed, 6 Nov 2024 00:15:07 +0100
* 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
guix-patches <at> gnu.org
:bug#73896
; Package guix-patches
.
(Mon, 18 Nov 2024 09:19:01 GMT) Full text and rfc822 format available.Message #137 received at 73896 <at> debbugs.gnu.org (full text, mbox):
From: Ludovic Courtès <ludo <at> gnu.org> To: Nicolas Graves <ngraves <at> ngraves.fr> Cc: 73896 <at> debbugs.gnu.org Subject: Re: [bug#73896] [PATCH v4 01/20] gnu: rust-widestring-0.4: Update to 0.4.3. Date: Mon, 18 Nov 2024 10:18:46 +0100
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’.
guix-patches <at> gnu.org
:bug#73896
; Package guix-patches
.
(Mon, 06 Jan 2025 12:37:02 GMT) Full text and rfc822 format available.Message #140 received at 73896 <at> debbugs.gnu.org (full text, mbox):
From: Nicolas Graves <ngraves <at> ngraves.fr> To: Ludovic Courtès <ludo <at> gnu.org>, efraim <at> flashner.co.il Cc: 73896 <at> debbugs.gnu.org Subject: Re: [bug#73896] [PATCH v4 01/20] gnu: rust-widestring-0.4: Update to 0.4.3. Date: Mon, 06 Jan 2025 13:36:38 +0100
On 2024-11-18 10:18, Ludovic Courtès wrote: > 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? Happy New Year! I'm not sure from which package it comes, but this patch series only updates a few rust crates (rust-widestring-0.4, rust-enum-primitive-derive-0.2), the rest are additions. The option that makes the most sense is to merge it with the rust-team branch: - rust-widestring-0.4 is already at version 0.4.3 - rust-enum-primitive-derive-0.2 is not but doesn't seem to trigger much rebuilds Added Efraim to the loop. -- Best regards, Nicolas Graves
Efraim Flashner <efraim <at> flashner.co.il>
:Nicolas Graves <ngraves <at> ngraves.fr>
:Message #145 received at 73896-done <at> debbugs.gnu.org (full text, mbox):
From: Efraim Flashner <efraim <at> flashner.co.il> To: Nicolas Graves <ngraves <at> ngraves.fr> Cc: Ludovic Courtès <ludo <at> gnu.org>, 73896-done <at> debbugs.gnu.org Subject: Re: [bug#73896] [PATCH v4 01/20] gnu: rust-widestring-0.4: Update to 0.4.3. Date: Thu, 9 Jan 2025 17:11:29 +0200
[Message part 1 (text/plain, inline)]
On Mon, Jan 06, 2025 at 01:36:38PM +0100, Nicolas Graves wrote: > On 2024-11-18 10:18, Ludovic Courtès wrote: > > > 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? > > Happy New Year! > > I'm not sure from which package it comes, but this patch series only > updates a few rust crates (rust-widestring-0.4, > rust-enum-primitive-derive-0.2), the rest are additions. > > The option that makes the most sense is to merge it with the rust-team > branch: > - rust-widestring-0.4 is already at version 0.4.3 > - rust-enum-primitive-derive-0.2 is not but doesn't seem to trigger > much rebuilds > > Added Efraim to the loop. I applied the patches to the rust-team branch. It doesn't seem to cause a world-rebuild on rust-team, so it shouldn't delay merging of the branch. edit: This has been sitting in my drafts for a few days. I normally write the emails and then send them off when I finally push the commits but I forgot for a day or two. This is now in master. -- Efraim Flashner <efraim <at> flashner.co.il> אפרים פלשנר GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 Confidentiality cannot be guaranteed on emails sent or received unencrypted
[signature.asc (application/pgp-signature, inline)]
Debbugs Internal Request <help-debbugs <at> gnu.org>
to internal_control <at> debbugs.gnu.org
.
(Fri, 07 Feb 2025 12:24:23 GMT) Full text and rfc822 format available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.