* [bug#73896] [PATCH] gnu: clamav: Add release-monitoring-url property. @ 2024-10-19 23:08 Nicolas Graves via Guix-patches via 2024-10-21 9:05 ` [bug#73896] [PATCH v2 1/2] " Nicolas Graves via Guix-patches via ` (2 more replies) 0 siblings, 3 replies; 44+ messages in thread From: Nicolas Graves via Guix-patches via @ 2024-10-19 23:08 UTC (permalink / raw) To: 73896; +Cc: Nicolas Graves * gnu/packages/antivirus.scm (clamav) [source]<uri>: Add secondary release URI. [properties]: Add release-monitoring-url. --- gnu/packages/antivirus.scm | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/gnu/packages/antivirus.scm b/gnu/packages/antivirus.scm index d061b18b11..2161d60398 100644 --- a/gnu/packages/antivirus.scm +++ b/gnu/packages/antivirus.scm @@ -48,8 +48,13 @@ (define-public clamav (version "0.103.11") (source (origin (method url-fetch) - (uri (string-append "https://www.clamav.net/downloads/production/" - "clamav-" version ".tar.gz")) + (uri + (list + (string-append "https://www.clamav.net/downloads/production/" + "clamav-" version ".tar.gz") + (string-append "https://github.com/Cisco-Talos/clamav/" + "releases/download/clamav-" version + "/clamav-" version ".tar.gz"))) (sha256 (base32 "04by1g3p6awhi3j1y6zpwzmasdnvjgi6lwm34l2gadlwgkdfpmv1")) @@ -144,6 +149,8 @@ (define-public clamav flexible and scalable multi-threaded daemon, a command line scanner, and advanced tool for automatic database updates. The core of the package is an anti-virus engine available in the form of a shared library.") + (properties `((release-monitoring-url + . "https://github.com/Cisco-Talos/clamav/releases"))) (license (list license:gpl2+ ;ClamAV itself license:lgpl2.1 ;libclamav/mspack.[ch] license:public-domain ;libclamav/7z/*, libclamav/rijndael.[ch], etc... -- 2.46.0 ^ permalink raw reply related [flat|nested] 44+ messages in thread
* [bug#73896] [PATCH v2 1/2] gnu: clamav: Add release-monitoring-url property. 2024-10-19 23:08 [bug#73896] [PATCH] gnu: clamav: Add release-monitoring-url property Nicolas Graves via Guix-patches via @ 2024-10-21 9:05 ` Nicolas Graves via Guix-patches via 2024-10-21 9:05 ` [bug#73896] [PATCH v2 2/2] gnu: clamav: Update to 1.4.1 Nicolas Graves via Guix-patches via 2024-11-03 1:30 ` [bug#73896] [PATCH v3 00/20] Clamav update [security fixes] Nicolas Graves via Guix-patches via 2024-11-05 23:14 ` [bug#73896] [PATCH v4 01/20] gnu: rust-widestring-0.4: Update to 0.4.3 Nicolas Graves via Guix-patches via 2 siblings, 1 reply; 44+ messages in thread From: Nicolas Graves via Guix-patches via @ 2024-10-21 9:05 UTC (permalink / raw) To: 73896; +Cc: Nicolas Graves * gnu/packages/antivirus.scm (clamav) [source]<uri>: Add secondary release URI. [properties]: Add release-monitoring-url. --- gnu/packages/antivirus.scm | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/gnu/packages/antivirus.scm b/gnu/packages/antivirus.scm index d061b18b11..2161d60398 100644 --- a/gnu/packages/antivirus.scm +++ b/gnu/packages/antivirus.scm @@ -48,8 +48,13 @@ (define-public clamav (version "0.103.11") (source (origin (method url-fetch) - (uri (string-append "https://www.clamav.net/downloads/production/" - "clamav-" version ".tar.gz")) + (uri + (list + (string-append "https://www.clamav.net/downloads/production/" + "clamav-" version ".tar.gz") + (string-append "https://github.com/Cisco-Talos/clamav/" + "releases/download/clamav-" version + "/clamav-" version ".tar.gz"))) (sha256 (base32 "04by1g3p6awhi3j1y6zpwzmasdnvjgi6lwm34l2gadlwgkdfpmv1")) @@ -144,6 +149,8 @@ (define-public clamav flexible and scalable multi-threaded daemon, a command line scanner, and advanced tool for automatic database updates. The core of the package is an anti-virus engine available in the form of a shared library.") + (properties `((release-monitoring-url + . "https://github.com/Cisco-Talos/clamav/releases"))) (license (list license:gpl2+ ;ClamAV itself license:lgpl2.1 ;libclamav/mspack.[ch] license:public-domain ;libclamav/7z/*, libclamav/rijndael.[ch], etc... -- 2.46.0 ^ permalink raw reply related [flat|nested] 44+ messages in thread
* [bug#73896] [PATCH v2 2/2] gnu: clamav: Update to 1.4.1. 2024-10-21 9:05 ` [bug#73896] [PATCH v2 1/2] " Nicolas Graves via Guix-patches via @ 2024-10-21 9:05 ` Nicolas Graves via Guix-patches via 0 siblings, 0 replies; 44+ messages in thread From: Nicolas Graves via Guix-patches via @ 2024-10-21 9:05 UTC (permalink / raw) To: 73896; +Cc: Nicolas Graves * gnu/packages/antivirus.scm (clamav): Update to 1.4.1. [source]<origin>: Adapt source. This currently is not unbundling all cargo vendored packages. [build-system]: Switch to cmake-build-system. [arguments]: Move field up. <#:configure-flags>: Set option. <#:imported-modules>: Set option for patching cargo checksums. <#:phases>: Remove all phases except adapted 'skip-clamd_tests. Add phases 'inject-rust-onenote and 'patch-cargo-checksums. [native-inputs]: Remove autoconf, automake, libtool. Add python-minimal, python-pytest, rust and rust:cargo. [inputs]: Remove libltdl, libmspack, llvm-3.6, cyrus-sasl, tomsfastmath. --- gnu/packages/antivirus.scm | 129 +++++++++++++++---------------------- 1 file changed, 51 insertions(+), 78 deletions(-) diff --git a/gnu/packages/antivirus.scm b/gnu/packages/antivirus.scm index 2161d60398..1a23657a61 100644 --- a/gnu/packages/antivirus.scm +++ b/gnu/packages/antivirus.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2016, 2017, 2018, 2019, 2020 Eric Bavier <bavier@posteo.net> ;;; Copyright © 2018 Christopher Baines <mail@cbaines.net> ;;; Copyright © 2019–2021 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2024 Nicolas Graves <ngraves@ngraves.fr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -20,24 +21,23 @@ (define-module (gnu packages antivirus) #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix build-system cargo) + #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) #:use-module (guix gexp) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix utils) #:use-module (gnu packages) - #:use-module (gnu packages autotools) - #:use-module (gnu packages bison) #:use-module (gnu packages check) #:use-module (gnu packages compression) #:use-module (gnu packages curl) - #:use-module (gnu packages cyrus-sasl) - #:use-module (gnu packages flex) - #:use-module (gnu packages llvm) - #:use-module (gnu packages multiprecision) #:use-module (gnu packages ncurses) #:use-module (gnu packages pcre) #:use-module (gnu packages pkg-config) + #:use-module (gnu packages python) + #:use-module (gnu packages python-check) + #:use-module (gnu packages rust) #:use-module (gnu packages tls) #:use-module (gnu packages web) #:use-module (gnu packages xml)) @@ -45,7 +45,7 @@ (define-module (gnu packages antivirus) (define-public clamav (package (name "clamav") - (version "0.103.11") + (version "1.4.1") (source (origin (method url-fetch) (uri @@ -57,90 +57,63 @@ (define-public clamav "/clamav-" version ".tar.gz"))) (sha256 (base32 - "04by1g3p6awhi3j1y6zpwzmasdnvjgi6lwm34l2gadlwgkdfpmv1")) + "1n3a87niad76h3mn3qxq9379gppdjqpkhwb9qkbb79irmj0ff653")) (modules '((guix build utils))) (snippet '(begin + (delete-file "Cargo.lock") + (for-each + delete-file + (find-files ".cargo/vendor" ".cargo-checksum\\.json")) (for-each delete-file-recursively '("win32" ; unnecessary - "libclamav/c++/llvm" ; use system llvm - "libclamav/tomsfastmath" ; use system tomsfastmath - "libclamunrar")))) ; non-free license - (patches - (search-patches "clamav-system-tomsfastmath.patch" - "clamav-config-llvm-libs.patch")))) - (build-system gnu-build-system) + "libclamunrar")))))) ; non-free license + (build-system cmake-build-system) + (arguments + (list + #:configure-flags + #~(list "-DENABLE_MILTER=OFF" "-DENABLE_UNRAR=OFF") + #:imported-modules `((guix build cargo-utils) + ,@%cmake-build-system-modules) + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'inject-rust-onenote + (lambda _ + (substitute* "libclamav_rust/Cargo.toml" + (("onenote_parser = .*") + "onenote_parser = \"0.3.1\"\n")))) + (add-after 'patch-source-shebangs 'patch-cargo-checksums + (lambda _ + (use-modules + (srfi srfi-1) (ice-9 ftw) (guix build cargo-utils)) + (with-directory-excursion ".cargo/vendor" + (for-each generate-all-checksums + (delete "." (delete ".." (scandir "."))))))) + (add-after 'unpack 'skip-clamd-tests + ;; XXX: The check?_clamd tests fail inside the build + ;; chroot, but pass outside. + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (substitute* "unit_tests/CMakeLists.txt" + (("clamd_test\\.py" test) + (string-append + test " -k \"not test_clamd_08_VirusEvent\""))))))))) (native-inputs - (list autoconf - automake - check ; for tests - libtool - pkg-config)) + (list check ; for tests + pkg-config + python-minimal + python-pytest + rust + (list rust "cargo"))) (inputs (list bzip2 curl json-c - libltdl - libmspack - llvm-3.6 ; requires <3.7, for JIT/verifier - ncurses libressl - pcre2 - cyrus-sasl ; for linking curl with libtool - tomsfastmath libxml2 + ncurses + pcre2 zlib)) - (arguments - (list #:configure-flags - #~(let-syntax ((with (syntax-rules () - ((_ name use) - (string-append "--with-" name "=" - (assoc-ref %build-inputs use)))))) - (list "--disable-unrar" - "--enable-llvm" - "--with-system-llvm" - "--with-system-libmspack" - "--without-included-ltdl" - (with "xml" "libxml2") - (with "openssl" "libressl") - (with "libjson" "json-c") - (with "pcre2" "pcre2") - (with "zlib" "zlib") - (with "libcurl" "curl") - ;; For sanity, specifying --enable-* flags turns - ;; "support unavailable" warnings into errors. - "--enable-bzip2" - "--enable-check" - "--sysconfdir=/etc/clamav" - ;; Default database directory needs to be writeable - "--with-dbdir=/var/db/clamav")) - ;; install sample .conf files to %output/etc rather than /etc/clamav - #:make-flags - #~(list (string-append "sysconfdir=" %output "/etc")) - #:phases - #~(modify-phases %standard-phases - ;; Regenerate configure script. Without this we don't get - ;; the correct value for LLVM linker variables. - (add-after 'unpack 'reconf - (lambda _ (invoke "autoreconf" "-vfi"))) - (add-before 'configure 'patch-llvm-config - (lambda _ - (substitute* '("libclamav/c++/detect.cpp" - "libclamav/c++/ClamBCRTChecks.cpp" - "libclamav/c++/bytecode2llvm.cpp") - (("llvm/Config/config.h") "llvm/Config/llvm-config.h")) - ;; `llvm-config --libfiles` inappropriately lists lib*.a - ;; libraries, rather than the lib*.so's that our llvm - ;; contains. They're used only for listing extra build - ;; dependencies, so ignore them until that's fixed. - (substitute* "libclamav/c++/Makefile.in" - (("@LLVMCONFIG_LIBFILES@") "")))) - (add-before 'check 'skip-clamd-tests - ;; XXX: The check?_clamd tests fail inside the build - ;; chroot, but pass outside. - (lambda _ - (substitute* "unit_tests/Makefile" - (("check2_clamd.sh.*check4_clamd.sh") ""))))))) (home-page "https://www.clamav.net") (synopsis "Antivirus engine") (description -- 2.46.0 ^ permalink raw reply related [flat|nested] 44+ messages in thread
* [bug#73896] [PATCH v3 00/20] Clamav update [security fixes] 2024-10-19 23:08 [bug#73896] [PATCH] gnu: clamav: Add release-monitoring-url property Nicolas Graves via Guix-patches via 2024-10-21 9:05 ` [bug#73896] [PATCH v2 1/2] " Nicolas Graves via Guix-patches via @ 2024-11-03 1:30 ` Nicolas Graves via Guix-patches via 2024-11-03 1:30 ` [bug#73896] [PATCH v3 01/20] gnu: rust-widestring-0.4: Update to 0.4.3 Nicolas Graves via Guix-patches via ` (19 more replies) 2024-11-05 23:14 ` [bug#73896] [PATCH v4 01/20] gnu: rust-widestring-0.4: Update to 0.4.3 Nicolas Graves via Guix-patches via 2 siblings, 20 replies; 44+ messages in thread From: Nicolas Graves via Guix-patches via @ 2024-11-03 1:30 UTC (permalink / raw) To: 73896; +Cc: Nicolas Graves This patch series completes the work on clamav update with a complete unbundling of its rust dependencies. Nicolas Graves (20): gnu: rust-widestring-0.4: Update to 0.4.3. gnu: rust-enum-primitive-derive-0.2: Update to 0.2.2. gnu: Add rust-onenote-parser-0.3. gnu: Add rust-onenote-parser-for-clamav. gnu: clamav: Add release-monitoring-url property. gnu: clamav: Update to 1.4.1. gnu: Add rust-hamming-0.1. gnu: Add rust-primal-bit-0.3. gnu: Add rust-primal-check-0.3. gnu: Add rust-primal-estimate-0.3. gnu: Add rust-primal-sieve-0.3. gnu: Add rust-primal-slowsieve-0.3. gnu: Add rust-primal-0.3. gnu: rust-crc-any-2: Update to 2.5.0. gnu: Add rust-delharc-0.6. gnu: Add rust-transpose-0.2. gnu: rust-strength-reduce-0.2: Update to 0.2.4. gnu: Add rust-rustfft-6. gnu: Add rust-rustdct-0.7. gnu: clamav: Unbundle rust dependencies. gnu/local.mk | 3 + gnu/packages/antivirus.scm | 205 ++++++----- gnu/packages/crates-io.scm | 342 +++++++++++++++++- .../rust-onenote-parser-for-clamav-deps.patch | 88 +++++ ...er-for-clamav-parse-in-memory-buffer.patch | 52 +++ ...note-parser-for-clamav-property-type.patch | 30 ++ 6 files changed, 630 insertions(+), 90 deletions(-) create mode 100644 gnu/packages/patches/rust-onenote-parser-for-clamav-deps.patch create mode 100644 gnu/packages/patches/rust-onenote-parser-for-clamav-parse-in-memory-buffer.patch create mode 100644 gnu/packages/patches/rust-onenote-parser-for-clamav-property-type.patch -- 2.46.0 ^ permalink raw reply [flat|nested] 44+ messages in thread
* [bug#73896] [PATCH v3 01/20] gnu: rust-widestring-0.4: Update to 0.4.3. 2024-11-03 1:30 ` [bug#73896] [PATCH v3 00/20] Clamav update [security fixes] Nicolas Graves via Guix-patches via @ 2024-11-03 1:30 ` Nicolas Graves via Guix-patches via 2024-11-03 1:30 ` [bug#73896] [PATCH v3 02/20] gnu: rust-enum-primitive-derive-0.2: Update to 0.2.2 Nicolas Graves via Guix-patches via ` (18 subsequent siblings) 19 siblings, 0 replies; 44+ messages in thread From: Nicolas Graves via Guix-patches via @ 2024-11-03 1:30 UTC (permalink / raw) To: 73896; +Cc: Nicolas Graves * gnu/packages/crates-io.scm (rust-widestring-0.4): Update to 0.4.3. --- gnu/packages/crates-io.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index 90761bb626..474a2a7bfe 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -90694,7 +90694,7 @@ (define-public rust-widestring-0.4 (package (inherit rust-widestring-0.5) (name "rust-widestring") - (version "0.4.2") + (version "0.4.3") (source (origin (method url-fetch) @@ -90702,7 +90702,7 @@ (define-public rust-widestring-0.4 (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "13565qy4jhpg4x0xw8mwxzzsh0p8c93p5208lh6kpwp0q01y6qx7")))) + "0z3ba8qrxb62vpfgk7n2xs2grm9kdaj1cz4q8s0gs8fx8h0r8s61")))) (arguments `(#:cargo-development-inputs (("rust-winapi" ,rust-winapi-0.3)))))) -- 2.46.0 ^ permalink raw reply related [flat|nested] 44+ messages in thread
* [bug#73896] [PATCH v3 02/20] gnu: rust-enum-primitive-derive-0.2: Update to 0.2.2. 2024-11-03 1:30 ` [bug#73896] [PATCH v3 00/20] Clamav update [security fixes] Nicolas Graves via Guix-patches via 2024-11-03 1:30 ` [bug#73896] [PATCH v3 01/20] gnu: rust-widestring-0.4: Update to 0.4.3 Nicolas Graves via Guix-patches via @ 2024-11-03 1:30 ` Nicolas Graves via Guix-patches via 2024-11-03 1:30 ` [bug#73896] [PATCH v3 03/20] gnu: Add rust-onenote-parser-0.3 Nicolas Graves via Guix-patches via ` (17 subsequent siblings) 19 siblings, 0 replies; 44+ messages in thread From: Nicolas Graves via Guix-patches via @ 2024-11-03 1:30 UTC (permalink / raw) To: 73896; +Cc: Nicolas Graves * gnu/packages/crates-io.scm (rust-enum-primitive-derive-0.2): Update to 0.2.2. --- gnu/packages/crates-io.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index 474a2a7bfe..621aeb6c21 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -24068,7 +24068,7 @@ (define-public rust-enum-primitive-0.1 (define-public rust-enum-primitive-derive-0.2 (package (name "rust-enum-primitive-derive") - (version "0.2.1") + (version "0.2.2") (source (origin (method url-fetch) @@ -24077,7 +24077,7 @@ (define-public rust-enum-primitive-derive-0.2 (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0h1k2izdl5lf2na8xnj7rgwjm8gawxc2p1w8j6ahifvyka7jhljz")))) + "03ibjjx8dc4akpq8ck24qda5ix4jybz9jagfxykd0s6vxb2vjxf3")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs -- 2.46.0 ^ permalink raw reply related [flat|nested] 44+ messages in thread
* [bug#73896] [PATCH v3 03/20] gnu: Add rust-onenote-parser-0.3. 2024-11-03 1:30 ` [bug#73896] [PATCH v3 00/20] Clamav update [security fixes] Nicolas Graves via Guix-patches via 2024-11-03 1:30 ` [bug#73896] [PATCH v3 01/20] gnu: rust-widestring-0.4: Update to 0.4.3 Nicolas Graves via Guix-patches via 2024-11-03 1:30 ` [bug#73896] [PATCH v3 02/20] gnu: rust-enum-primitive-derive-0.2: Update to 0.2.2 Nicolas Graves via Guix-patches via @ 2024-11-03 1:30 ` Nicolas Graves via Guix-patches via 2024-11-03 1:30 ` [bug#73896] [PATCH v3 04/20] gnu: Add rust-onenote-parser-for-clamav Nicolas Graves via Guix-patches via ` (16 subsequent siblings) 19 siblings, 0 replies; 44+ messages in thread From: Nicolas Graves via Guix-patches via @ 2024-11-03 1:30 UTC (permalink / raw) To: 73896; +Cc: Nicolas Graves * gnu/packages/crates-io.scm (rust-onenote-parser-0.3): New variable. --- gnu/packages/crates-io.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index 621aeb6c21..d3815e7f28 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -49317,6 +49317,36 @@ (define-public rust-omnipath-0.1 (description "This package provides a path utility library.") (license (list license:expat license:asl2.0)))) +(define-public rust-onenote-parser-0.3 + (package + (name "rust-onenote-parser") + (version "0.3.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "onenote_parser" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "12rj3ixhnxvl2mpkad3ng4b8fx4ynxhdlwzxba36c8i98ls57zzf")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-bytes" ,rust-bytes-0.5) + ("rust-encoding-rs" ,rust-encoding-rs-0.8) + ("rust-enum-primitive-derive" ,rust-enum-primitive-derive-0.2) + ("rust-itertools" ,rust-itertools-0.9) + ("rust-num-traits" ,rust-num-traits-0.2) + ("rust-paste" ,rust-paste-1) + ("rust-thiserror" ,rust-thiserror-1) + ("rust-uuid" ,rust-uuid-0.8) + ("rust-widestring" ,rust-widestring-0.4)) + #:cargo-development-inputs (("rust-insta" ,rust-insta-1)))) + (home-page "https://github.com/msiemens/onenote.rs") + (synopsis "Parser for Microsoft OneNote files") + (description + "This package provides a parser for Microsoft OneNote files.") + (license license:mpl2.0))) + (define-public rust-onig-6 (package (name "rust-onig") -- 2.46.0 ^ permalink raw reply related [flat|nested] 44+ messages in thread
* [bug#73896] [PATCH v3 04/20] gnu: Add rust-onenote-parser-for-clamav. 2024-11-03 1:30 ` [bug#73896] [PATCH v3 00/20] Clamav update [security fixes] Nicolas Graves via Guix-patches via ` (2 preceding siblings ...) 2024-11-03 1:30 ` [bug#73896] [PATCH v3 03/20] gnu: Add rust-onenote-parser-0.3 Nicolas Graves via Guix-patches via @ 2024-11-03 1:30 ` Nicolas Graves via Guix-patches via 2024-11-03 1:30 ` [bug#73896] [PATCH v3 05/20] gnu: clamav: Add release-monitoring-url property Nicolas Graves via Guix-patches via ` (15 subsequent siblings) 19 siblings, 0 replies; 44+ messages in thread From: Nicolas Graves via Guix-patches via @ 2024-11-03 1:30 UTC (permalink / raw) To: 73896; +Cc: Nicolas Graves * gnu/packages/crates-io.scm (rust-onenote-parser-for-clamav): New variable. * gnu/packages/patches/rust-onenote-parser-for-clamav-deps.patch * gnu/packages/patches/rust-onenote-parser-for-clamav-parse-in-memory-buffer.patch * gnu/packages/patches/rust-onenote-parser-for-clamav-property-type.patch Add patches here... * gnu/local.mk: ...and here. --- gnu/local.mk | 3 + gnu/packages/crates-io.scm | 27 ++++++ .../rust-onenote-parser-for-clamav-deps.patch | 88 +++++++++++++++++++ ...er-for-clamav-parse-in-memory-buffer.patch | 52 +++++++++++ ...note-parser-for-clamav-property-type.patch | 30 +++++++ 5 files changed, 200 insertions(+) create mode 100644 gnu/packages/patches/rust-onenote-parser-for-clamav-deps.patch create mode 100644 gnu/packages/patches/rust-onenote-parser-for-clamav-parse-in-memory-buffer.patch create mode 100644 gnu/packages/patches/rust-onenote-parser-for-clamav-property-type.patch diff --git a/gnu/local.mk b/gnu/local.mk index 7e5fb2948e..3c7f27a3d3 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -2133,6 +2133,9 @@ dist_patch_DATA = \ %D%/packages/patches/rust-ndarray-0.13-remove-blas-src.patch \ %D%/packages/patches/rust-ndarray-0.14-remove-blas-src.patch \ %D%/packages/patches/rust-nettle-disable-vendor.patch \ + %D%/packages/patches/rust-onenote-parser-for-clamav-deps.patch \ + %D%/packages/patches/rust-onenote-parser-for-clamav-parse-in-memory-buffer.patch \ + %D%/packages/patches/rust-onenote-parser-for-clamav-property-type.patch \ %D%/packages/patches/rust-poem-1-fewer-deps.patch \ %D%/packages/patches/rust-rspec-1-remove-clippy.patch \ %D%/packages/patches/rust-trash-2-update-windows.patch \ diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index d3815e7f28..2a66385d10 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -49347,6 +49347,33 @@ (define-public rust-onenote-parser-0.3 "This package provides a parser for Microsoft OneNote files.") (license license:mpl2.0))) +(define-public rust-onenote-parser-for-clamav + (package + (inherit rust-onenote-parser-0.3) + (name "rust-onenote-parser-for-clamav") + (source (origin + (inherit (package-source rust-onenote-parser-0.3)) + (patches + (search-patches + "rust-onenote-parser-for-clamav-deps.patch" + "rust-onenote-parser-for-clamav-parse-in-memory-buffer.patch" + "rust-onenote-parser-for-clamav-property-type.patch")) + (snippet #~(begin + (delete-file "Cargo.toml") + (rename-file "Cargo.toml.orig" "Cargo.toml"))))) + (arguments + `(#:cargo-inputs + (("rust-bytes" ,rust-bytes-1) + ("rust-encoding-rs" ,rust-encoding-rs-0.8) + ("rust-enum-primitive-derive" ,rust-enum-primitive-derive-0.2) + ("rust-itertools" ,rust-itertools-0.10) + ("rust-num-traits" ,rust-num-traits-0.2) + ("rust-paste" ,rust-paste-1) + ("rust-thiserror" ,rust-thiserror-1) + ("rust-uuid" ,rust-uuid-1) + ("rust-widestring" ,rust-widestring-1)) + #:cargo-development-inputs (("rust-insta" ,rust-insta-1)))))) + (define-public rust-onig-6 (package (name "rust-onig") diff --git a/gnu/packages/patches/rust-onenote-parser-for-clamav-deps.patch b/gnu/packages/patches/rust-onenote-parser-for-clamav-deps.patch new file mode 100644 index 0000000000..24d5692573 --- /dev/null +++ b/gnu/packages/patches/rust-onenote-parser-for-clamav-deps.patch @@ -0,0 +1,88 @@ +From f940d8c8fa087554583158d50df071af89c516db Mon Sep 17 00:00:00 2001 +From: Simon Lamon <32477463+silamon@users.noreply.github.com> +Date: Sat, 19 Nov 2022 20:32:07 +0100 +Subject: [PATCH] chore: upgrade dependencies (#9) + +Co-authored-by: Markus Siemens <markus@m-siemens.de> +--- + Cargo.toml.orig | 8 ++++---- + src/errors.rs | 6 +++--- + src/reader.rs | 2 +- + src/utils.rs | 5 ++--- + 4 files changed, 10 insertions(+), 11 deletions(-) + +diff --git a/Cargo.toml.orig b/Cargo.toml.orig +index 9afddd0..e302436 100644 +--- a/Cargo.toml.orig ++++ b/Cargo.toml.orig +@@ -14,15 +14,15 @@ categories = ["parser-implementations"] + backtrace = [] + + [dependencies] +-bytes = "0.5" ++bytes = "1.2.0" + encoding_rs = "0.8.31" + enum-primitive-derive = "0.2.2" +-itertools = "0.9.0" ++itertools = "0.10.3" + num-traits = "0.2" + paste = "1.0" + thiserror = "1.0" +-uuid = "0.8" +-widestring = "0.4.3" ++uuid = "1.1.2" ++widestring = "1.0.2" + + [dev-dependencies] + insta = "1.21.1" +diff --git a/src/errors.rs b/src/errors.rs +index 91477b3..50079a3 100644 +--- a/src/errors.rs ++++ b/src/errors.rs +@@ -51,8 +51,8 @@ impl From<std::string::FromUtf16Error> for Error { + } + } + +-impl From<widestring::MissingNulError<u16>> for Error { +- fn from(err: widestring::MissingNulError<u16>) -> Self { ++impl From<widestring::error::MissingNulTerminator> for Error { ++ fn from(err: widestring::error::MissingNulTerminator) -> Self { + ErrorKind::from(err).into() + } + } +@@ -128,6 +128,6 @@ pub enum ErrorKind { + #[error("UTF-16 string is missing null terminator: {err}")] + Utf16MissingNull { + #[from] +- err: widestring::MissingNulError<u16>, ++ err: widestring::error::MissingNulTerminator, + }, + } +diff --git a/src/reader.rs b/src/reader.rs +index 64730d0..318c280 100644 +--- a/src/reader.rs ++++ b/src/reader.rs +@@ -40,7 +40,7 @@ impl<'a> Reader<'a> { + } + + pub(crate) fn bytes(&self) -> &[u8] { +- self.0.bytes() ++ self.0.chunk() + } + + pub(crate) fn remaining(&self) -> usize { +diff --git a/src/utils.rs b/src/utils.rs +index fd77181..074ff50 100644 +--- a/src/utils.rs ++++ b/src/utils.rs +@@ -12,8 +12,7 @@ impl Utf16ToString for &[u8] { + .map(|v| u16::from_le_bytes([v[0], v[1]])) + .collect(); + +- let value = U16CString::from_vec_with_nul(data)?; +- +- Ok(value.to_string()?) ++ let value = U16CString::from_vec_truncate(data); ++ Ok(value.to_string().unwrap()) + } + } diff --git a/gnu/packages/patches/rust-onenote-parser-for-clamav-parse-in-memory-buffer.patch b/gnu/packages/patches/rust-onenote-parser-for-clamav-parse-in-memory-buffer.patch new file mode 100644 index 0000000000..77adc550ca --- /dev/null +++ b/gnu/packages/patches/rust-onenote-parser-for-clamav-parse-in-memory-buffer.patch @@ -0,0 +1,52 @@ +From 8b450447e58143004b68dd21c11b710fdb79be92 Mon Sep 17 00:00:00 2001 +From: Micah Snyder <micasnyd@cisco.com> +Date: Mon, 3 Jul 2023 21:44:57 -0700 +Subject: [PATCH] Add ability to parse section from in memory buffer + +Resolves: https://github.com/msiemens/onenote.rs/issues/12 +--- + src/onenote/mod.rs | 23 ++++++++++++++++++++++- + 1 file changed, 22 insertions(+), 1 deletion(-) + +diff --git a/src/onenote/mod.rs b/src/onenote/mod.rs +index de172c9..8bcb62b 100644 +--- a/src/onenote/mod.rs ++++ b/src/onenote/mod.rs +@@ -6,8 +6,9 @@ use crate::onestore::parse_store; + use crate::reader::Reader; + use std::ffi::OsStr; + use std::fs::File; +-use std::io::{BufReader, Read}; ++use std::io::{BufReader, Read, Cursor}; + use std::path::Path; ++use std::str::FromStr; + + pub(crate) mod content; + pub(crate) mod embedded_file; +@@ -76,6 +77,26 @@ impl Parser { + Ok(Notebook { entries: sections }) + } + ++ /// Parse a OneNote section buffer. ++ /// ++ /// The `data` argument must contain a OneNote section. ++ pub fn parse_section_buffer(&mut self, data: &[u8], file_name: &Path) -> Result<Section> { ++ let packaging = OneStorePackaging::parse(&mut Reader::new(data))?; ++ let store = parse_store(&packaging)?; ++ ++ if store.schema_guid() != guid!({1F937CB4-B26F-445F-B9F8-17E20160E461}) { ++ return Err(ErrorKind::NotASectionFile { ++ file: file_name.to_string_lossy().into_owned(), ++ } ++ .into()); ++ } ++ ++ section::parse_section( ++ store, ++ file_name.to_string_lossy().into_owned(), ++ ) ++ } ++ + /// Parse a OneNote section file. + /// + /// The `path` argument must point to a `.one` file that contains a diff --git a/gnu/packages/patches/rust-onenote-parser-for-clamav-property-type.patch b/gnu/packages/patches/rust-onenote-parser-for-clamav-property-type.patch new file mode 100644 index 0000000000..ff94fa2630 --- /dev/null +++ b/gnu/packages/patches/rust-onenote-parser-for-clamav-property-type.patch @@ -0,0 +1,30 @@ +From 29c08532252b917543ff268284f926f30876bb79 Mon Sep 17 00:00:00 2001 +From: Matt Jolly <Matt.Jolly@footclan.ninja> +Date: Mon, 24 Jun 2024 17:34:05 +1000 +Subject: [PATCH] PropertType: Specify type for custom discriminant values + +We use custom discriminant values for enum variants for "PropertType" without specifying the type. +This causes it to default to "isize" which on 64bit platforms is big enough to hold the 32bit constants, +but causes overflow when isize is 32bit. + +This issue was uncovered due to build failures on arm for Gentoo Linux as a dependency of ClamAV. + +Bug: https://bugs.gentoo.org/927214 +Signed-off-by: Matt Jolly <kangie@gentoo.org> +Co-authored-by: Steven Newbury <steve@snewbury.org.uk> +--- + src/one/property/mod.rs | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/one/property/mod.rs b/src/one/property/mod.rs +index 42841c6..fcc0481 100644 +--- a/src/one/property/mod.rs ++++ b/src/one/property/mod.rs +@@ -23,6 +23,7 @@ mod references; + pub(crate) mod simple; + pub(crate) mod time; + ++#[repr(u32)] + #[derive(Debug, Copy, Clone, PartialEq)] + #[allow(dead_code)] + #[allow(clippy::enum_clike_unportable_variant)] -- 2.46.0 ^ permalink raw reply related [flat|nested] 44+ messages in thread
* [bug#73896] [PATCH v3 05/20] gnu: clamav: Add release-monitoring-url property. 2024-11-03 1:30 ` [bug#73896] [PATCH v3 00/20] Clamav update [security fixes] Nicolas Graves via Guix-patches via ` (3 preceding siblings ...) 2024-11-03 1:30 ` [bug#73896] [PATCH v3 04/20] gnu: Add rust-onenote-parser-for-clamav Nicolas Graves via Guix-patches via @ 2024-11-03 1:30 ` Nicolas Graves via Guix-patches via 2024-11-03 1:30 ` [bug#73896] [PATCH v3 06/20] gnu: clamav: Update to 1.4.1 Nicolas Graves via Guix-patches via ` (14 subsequent siblings) 19 siblings, 0 replies; 44+ messages in thread From: Nicolas Graves via Guix-patches via @ 2024-11-03 1:30 UTC (permalink / raw) To: 73896; +Cc: Nicolas Graves * gnu/packages/antivirus.scm (clamav) [source]<uri>: Add secondary release URI. [properties]: Add release-monitoring-url. --- gnu/packages/antivirus.scm | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/gnu/packages/antivirus.scm b/gnu/packages/antivirus.scm index d061b18b11..2161d60398 100644 --- a/gnu/packages/antivirus.scm +++ b/gnu/packages/antivirus.scm @@ -48,8 +48,13 @@ (define-public clamav (version "0.103.11") (source (origin (method url-fetch) - (uri (string-append "https://www.clamav.net/downloads/production/" - "clamav-" version ".tar.gz")) + (uri + (list + (string-append "https://www.clamav.net/downloads/production/" + "clamav-" version ".tar.gz") + (string-append "https://github.com/Cisco-Talos/clamav/" + "releases/download/clamav-" version + "/clamav-" version ".tar.gz"))) (sha256 (base32 "04by1g3p6awhi3j1y6zpwzmasdnvjgi6lwm34l2gadlwgkdfpmv1")) @@ -144,6 +149,8 @@ (define-public clamav flexible and scalable multi-threaded daemon, a command line scanner, and advanced tool for automatic database updates. The core of the package is an anti-virus engine available in the form of a shared library.") + (properties `((release-monitoring-url + . "https://github.com/Cisco-Talos/clamav/releases"))) (license (list license:gpl2+ ;ClamAV itself license:lgpl2.1 ;libclamav/mspack.[ch] license:public-domain ;libclamav/7z/*, libclamav/rijndael.[ch], etc... -- 2.46.0 ^ permalink raw reply related [flat|nested] 44+ messages in thread
* [bug#73896] [PATCH v3 06/20] gnu: clamav: Update to 1.4.1. 2024-11-03 1:30 ` [bug#73896] [PATCH v3 00/20] Clamav update [security fixes] Nicolas Graves via Guix-patches via ` (4 preceding siblings ...) 2024-11-03 1:30 ` [bug#73896] [PATCH v3 05/20] gnu: clamav: Add release-monitoring-url property Nicolas Graves via Guix-patches via @ 2024-11-03 1:30 ` Nicolas Graves via Guix-patches via 2024-11-03 1:30 ` [bug#73896] [PATCH v3 07/20] gnu: Add rust-hamming-0.1 Nicolas Graves via Guix-patches via ` (13 subsequent siblings) 19 siblings, 0 replies; 44+ messages in thread From: Nicolas Graves via Guix-patches via @ 2024-11-03 1:30 UTC (permalink / raw) To: 73896; +Cc: Nicolas Graves * gnu/packages/antivirus.scm (clamav): Update to 1.4.1. [source]<origin>: Adapt source. This currently is not unbundling all cargo vendored packages. [build-system]: Switch to cmake-build-system. [arguments]: Move field up. <#:configure-flags>: Set option. <#:imported-modules>: Set option for patching cargo checksums. <#:phases>: Remove all phases except adapted 'skip-clamd_tests. Add phases 'inject-rust-onenote and 'patch-cargo-checksums. [native-inputs]: Remove autoconf, automake, libtool. Add python-minimal, python-pytest, rust and rust:cargo. [inputs]: Remove libltdl, libmspack, llvm-3.6, cyrus-sasl, tomsfastmath. --- gnu/packages/antivirus.scm | 129 +++++++++++++++---------------------- 1 file changed, 51 insertions(+), 78 deletions(-) diff --git a/gnu/packages/antivirus.scm b/gnu/packages/antivirus.scm index 2161d60398..1a23657a61 100644 --- a/gnu/packages/antivirus.scm +++ b/gnu/packages/antivirus.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2016, 2017, 2018, 2019, 2020 Eric Bavier <bavier@posteo.net> ;;; Copyright © 2018 Christopher Baines <mail@cbaines.net> ;;; Copyright © 2019–2021 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2024 Nicolas Graves <ngraves@ngraves.fr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -20,24 +21,23 @@ (define-module (gnu packages antivirus) #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix build-system cargo) + #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) #:use-module (guix gexp) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix utils) #:use-module (gnu packages) - #:use-module (gnu packages autotools) - #:use-module (gnu packages bison) #:use-module (gnu packages check) #:use-module (gnu packages compression) #:use-module (gnu packages curl) - #:use-module (gnu packages cyrus-sasl) - #:use-module (gnu packages flex) - #:use-module (gnu packages llvm) - #:use-module (gnu packages multiprecision) #:use-module (gnu packages ncurses) #:use-module (gnu packages pcre) #:use-module (gnu packages pkg-config) + #:use-module (gnu packages python) + #:use-module (gnu packages python-check) + #:use-module (gnu packages rust) #:use-module (gnu packages tls) #:use-module (gnu packages web) #:use-module (gnu packages xml)) @@ -45,7 +45,7 @@ (define-module (gnu packages antivirus) (define-public clamav (package (name "clamav") - (version "0.103.11") + (version "1.4.1") (source (origin (method url-fetch) (uri @@ -57,90 +57,63 @@ (define-public clamav "/clamav-" version ".tar.gz"))) (sha256 (base32 - "04by1g3p6awhi3j1y6zpwzmasdnvjgi6lwm34l2gadlwgkdfpmv1")) + "1n3a87niad76h3mn3qxq9379gppdjqpkhwb9qkbb79irmj0ff653")) (modules '((guix build utils))) (snippet '(begin + (delete-file "Cargo.lock") + (for-each + delete-file + (find-files ".cargo/vendor" ".cargo-checksum\\.json")) (for-each delete-file-recursively '("win32" ; unnecessary - "libclamav/c++/llvm" ; use system llvm - "libclamav/tomsfastmath" ; use system tomsfastmath - "libclamunrar")))) ; non-free license - (patches - (search-patches "clamav-system-tomsfastmath.patch" - "clamav-config-llvm-libs.patch")))) - (build-system gnu-build-system) + "libclamunrar")))))) ; non-free license + (build-system cmake-build-system) + (arguments + (list + #:configure-flags + #~(list "-DENABLE_MILTER=OFF" "-DENABLE_UNRAR=OFF") + #:imported-modules `((guix build cargo-utils) + ,@%cmake-build-system-modules) + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'inject-rust-onenote + (lambda _ + (substitute* "libclamav_rust/Cargo.toml" + (("onenote_parser = .*") + "onenote_parser = \"0.3.1\"\n")))) + (add-after 'patch-source-shebangs 'patch-cargo-checksums + (lambda _ + (use-modules + (srfi srfi-1) (ice-9 ftw) (guix build cargo-utils)) + (with-directory-excursion ".cargo/vendor" + (for-each generate-all-checksums + (delete "." (delete ".." (scandir "."))))))) + (add-after 'unpack 'skip-clamd-tests + ;; XXX: The check?_clamd tests fail inside the build + ;; chroot, but pass outside. + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (substitute* "unit_tests/CMakeLists.txt" + (("clamd_test\\.py" test) + (string-append + test " -k \"not test_clamd_08_VirusEvent\""))))))))) (native-inputs - (list autoconf - automake - check ; for tests - libtool - pkg-config)) + (list check ; for tests + pkg-config + python-minimal + python-pytest + rust + (list rust "cargo"))) (inputs (list bzip2 curl json-c - libltdl - libmspack - llvm-3.6 ; requires <3.7, for JIT/verifier - ncurses libressl - pcre2 - cyrus-sasl ; for linking curl with libtool - tomsfastmath libxml2 + ncurses + pcre2 zlib)) - (arguments - (list #:configure-flags - #~(let-syntax ((with (syntax-rules () - ((_ name use) - (string-append "--with-" name "=" - (assoc-ref %build-inputs use)))))) - (list "--disable-unrar" - "--enable-llvm" - "--with-system-llvm" - "--with-system-libmspack" - "--without-included-ltdl" - (with "xml" "libxml2") - (with "openssl" "libressl") - (with "libjson" "json-c") - (with "pcre2" "pcre2") - (with "zlib" "zlib") - (with "libcurl" "curl") - ;; For sanity, specifying --enable-* flags turns - ;; "support unavailable" warnings into errors. - "--enable-bzip2" - "--enable-check" - "--sysconfdir=/etc/clamav" - ;; Default database directory needs to be writeable - "--with-dbdir=/var/db/clamav")) - ;; install sample .conf files to %output/etc rather than /etc/clamav - #:make-flags - #~(list (string-append "sysconfdir=" %output "/etc")) - #:phases - #~(modify-phases %standard-phases - ;; Regenerate configure script. Without this we don't get - ;; the correct value for LLVM linker variables. - (add-after 'unpack 'reconf - (lambda _ (invoke "autoreconf" "-vfi"))) - (add-before 'configure 'patch-llvm-config - (lambda _ - (substitute* '("libclamav/c++/detect.cpp" - "libclamav/c++/ClamBCRTChecks.cpp" - "libclamav/c++/bytecode2llvm.cpp") - (("llvm/Config/config.h") "llvm/Config/llvm-config.h")) - ;; `llvm-config --libfiles` inappropriately lists lib*.a - ;; libraries, rather than the lib*.so's that our llvm - ;; contains. They're used only for listing extra build - ;; dependencies, so ignore them until that's fixed. - (substitute* "libclamav/c++/Makefile.in" - (("@LLVMCONFIG_LIBFILES@") "")))) - (add-before 'check 'skip-clamd-tests - ;; XXX: The check?_clamd tests fail inside the build - ;; chroot, but pass outside. - (lambda _ - (substitute* "unit_tests/Makefile" - (("check2_clamd.sh.*check4_clamd.sh") ""))))))) (home-page "https://www.clamav.net") (synopsis "Antivirus engine") (description -- 2.46.0 ^ permalink raw reply related [flat|nested] 44+ messages in thread
* [bug#73896] [PATCH v3 07/20] gnu: Add rust-hamming-0.1. 2024-11-03 1:30 ` [bug#73896] [PATCH v3 00/20] Clamav update [security fixes] Nicolas Graves via Guix-patches via ` (5 preceding siblings ...) 2024-11-03 1:30 ` [bug#73896] [PATCH v3 06/20] gnu: clamav: Update to 1.4.1 Nicolas Graves via Guix-patches via @ 2024-11-03 1:30 ` Nicolas Graves via Guix-patches via 2024-11-03 1:30 ` [bug#73896] [PATCH v3 08/20] gnu: Add rust-primal-bit-0.3 Nicolas Graves via Guix-patches via ` (12 subsequent siblings) 19 siblings, 0 replies; 44+ messages in thread From: Nicolas Graves via Guix-patches via @ 2024-11-03 1:30 UTC (permalink / raw) To: 73896; +Cc: Nicolas Graves * gnu/packages/crates-io.scm (rust-hamming-0.1): New variable. --- gnu/packages/crates-io.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index 2a66385d10..5dc34eaa18 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -31388,6 +31388,30 @@ (define-public rust-hamcrest2-0.3 "This package provides a port of the Hamcrest testing library.") (license (list license:expat license:asl2.0)))) +(define-public rust-hamming-0.1 + (package + (name "rust-hamming") + (version "0.1.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "hamming" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1q9hri1l1x1y7vv153kvdw9lkqslmbwgia5r3qj6i39pfji3s135")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-development-inputs + (("rust-quickcheck" ,rust-quickcheck-0.2) + ("rust-rand" ,rust-rand-0.3)))) + (home-page "https://github.com/huonw/hamming") + (synopsis "Count ones fast") + (description + "This package provides a tool to count ones, using rapid popcount +(hamming weight) techniques. This provides a performant popcount and bitwise +hamming distance for a slice of bytes.") + (license (list license:expat license:asl2.0)))) + (define-public rust-hash-hasher-2 (package (name "rust-hash-hasher") -- 2.46.0 ^ permalink raw reply related [flat|nested] 44+ messages in thread
* [bug#73896] [PATCH v3 08/20] gnu: Add rust-primal-bit-0.3. 2024-11-03 1:30 ` [bug#73896] [PATCH v3 00/20] Clamav update [security fixes] Nicolas Graves via Guix-patches via ` (6 preceding siblings ...) 2024-11-03 1:30 ` [bug#73896] [PATCH v3 07/20] gnu: Add rust-hamming-0.1 Nicolas Graves via Guix-patches via @ 2024-11-03 1:30 ` Nicolas Graves via Guix-patches via 2024-11-03 1:30 ` [bug#73896] [PATCH v3 09/20] gnu: Add rust-primal-check-0.3 Nicolas Graves via Guix-patches via ` (11 subsequent siblings) 19 siblings, 0 replies; 44+ messages in thread From: Nicolas Graves via Guix-patches via @ 2024-11-03 1:30 UTC (permalink / raw) To: 73896; +Cc: Nicolas Graves * gnu/packages/crates-io.scm (rust-primal-bit-0.3): New variable. --- gnu/packages/crates-io.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index 5dc34eaa18..b4559865b7 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -56601,6 +56601,27 @@ (define-public rust-prettytable-rs-0.8 formatted tables in terminal.") (license license:bsd-3))) +(define-public rust-primal-bit-0.3 + (package + (name "rust-primal-bit") + (version "0.3.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "primal-bit" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0mb0cdxhlm6phhl2f4d7nf7g4yrnd8xdq07m7liw7b5fp3djj915")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs (("rust-hamming" ,rust-hamming-0.1)))) + (home-page "https://github.com/huonw/primal") + (synopsis "Bit-vector specialised for rust-primal") + (description + "This package provides a bit-vector specialised to the +prime-number-related needs of @code{rust-primal}.") + (license (list license:expat license:asl2.0)))) + (define-public rust-print-bytes-1 (package (name "rust-print-bytes") -- 2.46.0 ^ permalink raw reply related [flat|nested] 44+ messages in thread
* [bug#73896] [PATCH v3 09/20] gnu: Add rust-primal-check-0.3. 2024-11-03 1:30 ` [bug#73896] [PATCH v3 00/20] Clamav update [security fixes] Nicolas Graves via Guix-patches via ` (7 preceding siblings ...) 2024-11-03 1:30 ` [bug#73896] [PATCH v3 08/20] gnu: Add rust-primal-bit-0.3 Nicolas Graves via Guix-patches via @ 2024-11-03 1:30 ` Nicolas Graves via Guix-patches via 2024-11-03 1:30 ` [bug#73896] [PATCH v3 10/20] gnu: Add rust-primal-estimate-0.3 Nicolas Graves via Guix-patches via ` (10 subsequent siblings) 19 siblings, 0 replies; 44+ messages in thread From: Nicolas Graves via Guix-patches via @ 2024-11-03 1:30 UTC (permalink / raw) To: 73896; +Cc: Nicolas Graves * gnu/packages/crates-io.scm (rust-primal-check-0.3): New variable. --- gnu/packages/crates-io.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index b4559865b7..89ce5e176a 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -56622,6 +56622,28 @@ (define-public rust-primal-bit-0.3 prime-number-related needs of @code{rust-primal}.") (license (list license:expat license:asl2.0)))) +(define-public rust-primal-check-0.3 + (package + (name "rust-primal-check") + (version "0.3.4") + (source + (origin + (method url-fetch) + (uri (crate-uri "primal-check" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "025xnak4rhkwa4h970bjb3cvp2k853wviyr84n8gjfhy65dqj3fw")))) + (build-system cargo-build-system) + ;; Circular development input rust-primal + (arguments + `(#:skip-build? #t + #:cargo-inputs (("rust-num-integer" ,rust-num-integer-0.1)))) + (home-page "https://github.com/huonw/primal") + (synopsis "Test primality") + (description + "This package provides a standalone primality testing tool.") + (license (list license:expat license:asl2.0)))) + (define-public rust-print-bytes-1 (package (name "rust-print-bytes") -- 2.46.0 ^ permalink raw reply related [flat|nested] 44+ messages in thread
* [bug#73896] [PATCH v3 10/20] gnu: Add rust-primal-estimate-0.3. 2024-11-03 1:30 ` [bug#73896] [PATCH v3 00/20] Clamav update [security fixes] Nicolas Graves via Guix-patches via ` (8 preceding siblings ...) 2024-11-03 1:30 ` [bug#73896] [PATCH v3 09/20] gnu: Add rust-primal-check-0.3 Nicolas Graves via Guix-patches via @ 2024-11-03 1:30 ` Nicolas Graves via Guix-patches via 2024-11-03 1:30 ` [bug#73896] [PATCH v3 11/20] gnu: Add rust-primal-sieve-0.3 Nicolas Graves via Guix-patches via ` (9 subsequent siblings) 19 siblings, 0 replies; 44+ messages in thread From: Nicolas Graves via Guix-patches via @ 2024-11-03 1:30 UTC (permalink / raw) To: 73896; +Cc: Nicolas Graves * gnu/packages/crates-io.scm (rust-primal-estimate-0.3): New variable. --- gnu/packages/crates-io.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index 89ce5e176a..fccbd97f56 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -56644,6 +56644,28 @@ (define-public rust-primal-check-0.3 "This package provides a standalone primality testing tool.") (license (list license:expat license:asl2.0)))) +(define-public rust-primal-estimate-0.3 + (package + (name "rust-primal-estimate") + (version "0.3.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "primal-estimate" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "08nq0n0r35rni65h79fynync0wyy8agrxy5mfmg0hq9s1c510cm4")))) + (build-system cargo-build-system) + ;; Circular development input rust-primal + (arguments + `(#:skip-build? #t)) + (home-page "https://github.com/huonw/primal") + (synopsis "Estimate upper and lower bounds for the k-th prime") + (description + "This package provides a state-of-the-art estimation of upper and lower +bounds for the number of primes below n and the k-th prime.") + (license (list license:expat license:asl2.0)))) + (define-public rust-print-bytes-1 (package (name "rust-print-bytes") -- 2.46.0 ^ permalink raw reply related [flat|nested] 44+ messages in thread
* [bug#73896] [PATCH v3 11/20] gnu: Add rust-primal-sieve-0.3. 2024-11-03 1:30 ` [bug#73896] [PATCH v3 00/20] Clamav update [security fixes] Nicolas Graves via Guix-patches via ` (9 preceding siblings ...) 2024-11-03 1:30 ` [bug#73896] [PATCH v3 10/20] gnu: Add rust-primal-estimate-0.3 Nicolas Graves via Guix-patches via @ 2024-11-03 1:30 ` Nicolas Graves via Guix-patches via 2024-11-03 1:30 ` [bug#73896] [PATCH v3 12/20] gnu: Add rust-primal-slowsieve-0.3 Nicolas Graves via Guix-patches via ` (8 subsequent siblings) 19 siblings, 0 replies; 44+ messages in thread From: Nicolas Graves via Guix-patches via @ 2024-11-03 1:30 UTC (permalink / raw) To: 73896; +Cc: Nicolas Graves * gnu/packages/crates-io.scm (rust-primal-sieve-0.3): New variable. --- gnu/packages/crates-io.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index fccbd97f56..8c336f5f12 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -56666,6 +56666,29 @@ (define-public rust-primal-estimate-0.3 bounds for the number of primes below n and the k-th prime.") (license (list license:expat license:asl2.0)))) +(define-public rust-primal-sieve-0.3 + (package + (name "rust-primal-sieve") + (version "0.3.7") + (source + (origin + (method url-fetch) + (uri (crate-uri "primal-sieve" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1lzdllk78jqdp93h15l69s4xglbjcf6jlq6khccka0r2v2b2g64f")))) + (build-system cargo-build-system) + (arguments + ;; Circular development input rust-primal + `(#:skip-build? #t + #:cargo-inputs (("rust-primal-bit" ,rust-primal-bit-0.3) + ("rust-primal-estimate" ,rust-primal-estimate-0.3) + ("rust-smallvec" ,rust-smallvec-1)))) + (home-page "https://github.com/huonw/primal") + (synopsis "Prime sieve") + (description "This package provides a high performance prime sieve.") + (license (list license:expat license:asl2.0)))) + (define-public rust-print-bytes-1 (package (name "rust-print-bytes") -- 2.46.0 ^ permalink raw reply related [flat|nested] 44+ messages in thread
* [bug#73896] [PATCH v3 12/20] gnu: Add rust-primal-slowsieve-0.3. 2024-11-03 1:30 ` [bug#73896] [PATCH v3 00/20] Clamav update [security fixes] Nicolas Graves via Guix-patches via ` (10 preceding siblings ...) 2024-11-03 1:30 ` [bug#73896] [PATCH v3 11/20] gnu: Add rust-primal-sieve-0.3 Nicolas Graves via Guix-patches via @ 2024-11-03 1:30 ` Nicolas Graves via Guix-patches via 2024-11-03 1:30 ` [bug#73896] [PATCH v3 13/20] gnu: Add rust-primal-0.3 Nicolas Graves via Guix-patches via ` (7 subsequent siblings) 19 siblings, 0 replies; 44+ messages in thread From: Nicolas Graves via Guix-patches via @ 2024-11-03 1:30 UTC (permalink / raw) To: 73896; +Cc: Nicolas Graves * gnu/packages/crates-io.scm (rust-primal-slowsieve-0.3): New variable. --- gnu/packages/crates-io.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index 8c336f5f12..455d8d2608 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -56689,6 +56689,30 @@ (define-public rust-primal-sieve-0.3 (description "This package provides a high performance prime sieve.") (license (list license:expat license:asl2.0)))) +(define-public rust-primal-slowsieve-0.3 + (package + (name "rust-primal-slowsieve") + (version "0.3.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "primal-slowsieve" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "02pixp7xprkmj0fvjgg6n4dn5f8syr6xj2m2dxn0nyg06b8lipy9")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs (("rust-primal-bit" ,rust-primal-bit-0.3) + ("rust-primal-estimate" ,rust-primal-estimate-0.3)) + #:cargo-development-inputs (("rust-criterion" ,rust-criterion-0.3)))) + (home-page "https://github.com/huonw/primal") + (synopsis "Simple sieve of Eratosthenes") + (description + "This package provides a simple sieve of Eratosthenes designed for +testing faster sieves. For use in Rust crates, use @code{rust-primal-sieve} +or @code{rust-primal} instead.") + (license (list license:expat license:asl2.0)))) + (define-public rust-print-bytes-1 (package (name "rust-print-bytes") -- 2.46.0 ^ permalink raw reply related [flat|nested] 44+ messages in thread
* [bug#73896] [PATCH v3 13/20] gnu: Add rust-primal-0.3. 2024-11-03 1:30 ` [bug#73896] [PATCH v3 00/20] Clamav update [security fixes] Nicolas Graves via Guix-patches via ` (11 preceding siblings ...) 2024-11-03 1:30 ` [bug#73896] [PATCH v3 12/20] gnu: Add rust-primal-slowsieve-0.3 Nicolas Graves via Guix-patches via @ 2024-11-03 1:30 ` Nicolas Graves via Guix-patches via 2024-11-03 1:30 ` [bug#73896] [PATCH v3 14/20] gnu: rust-crc-any-2: Update to 2.5.0 Nicolas Graves via Guix-patches via ` (6 subsequent siblings) 19 siblings, 0 replies; 44+ messages in thread From: Nicolas Graves via Guix-patches via @ 2024-11-03 1:30 UTC (permalink / raw) To: 73896; +Cc: Nicolas Graves * gnu/packages/crates-io.scm (rust-primal-0.3): New variable. --- gnu/packages/crates-io.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index 455d8d2608..108c9a126e 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -56601,6 +56601,33 @@ (define-public rust-prettytable-rs-0.8 formatted tables in terminal.") (license license:bsd-3))) +(define-public rust-primal-0.3 + (package + (name "rust-primal") + (version "0.3.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "primal" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1s6n396cssbr86f9w31sppdf06xsymgrl7y9gw0yccl5jiag7rdi")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs (("rust-primal-check" ,rust-primal-check-0.3) + ("rust-primal-estimate" ,rust-primal-estimate-0.3) + ("rust-primal-sieve" ,rust-primal-sieve-0.3)) + #:cargo-development-inputs + (("rust-primal-slowsieve" ,rust-primal-slowsieve-0.3)))) + (home-page "https://github.com/huonw/primal") + (synopsis "Various tools for prime numbers") + (description + "This package provides various tools to work with prime numbers. It +includes: optimised prime sieves, checking for primality, enumerating primes, +factorising numbers, and state-of-the-art estimation of upper and lower bounds +for the number of primes below n and the k-th prime.") + (license (list license:expat license:asl2.0)))) + (define-public rust-primal-bit-0.3 (package (name "rust-primal-bit") -- 2.46.0 ^ permalink raw reply related [flat|nested] 44+ messages in thread
* [bug#73896] [PATCH v3 14/20] gnu: rust-crc-any-2: Update to 2.5.0. 2024-11-03 1:30 ` [bug#73896] [PATCH v3 00/20] Clamav update [security fixes] Nicolas Graves via Guix-patches via ` (12 preceding siblings ...) 2024-11-03 1:30 ` [bug#73896] [PATCH v3 13/20] gnu: Add rust-primal-0.3 Nicolas Graves via Guix-patches via @ 2024-11-03 1:30 ` Nicolas Graves via Guix-patches via 2024-11-03 1:30 ` [bug#73896] [PATCH v3 15/20] gnu: Add rust-delharc-0.6 Nicolas Graves via Guix-patches via ` (5 subsequent siblings) 19 siblings, 0 replies; 44+ messages in thread From: Nicolas Graves via Guix-patches via @ 2024-11-03 1:30 UTC (permalink / raw) To: 73896; +Cc: Nicolas Graves * gnu/packages/crates-io.scm (rust-crc-any-2): Update to 2.5.0. --- gnu/packages/crates-io.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index 108c9a126e..be8153b11d 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -16925,7 +16925,7 @@ (define-public rust-crc-1 (define-public rust-crc-any-2 (package (name "rust-crc-any") - (version "2.3.12") + (version "2.5.0") (source (origin (method url-fetch) @@ -16933,7 +16933,7 @@ (define-public rust-crc-any-2 (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "0fq85y5akcadahnj5nqbs47qhgp5cpfn2z19zc3gp4wpxr3989kr")))) + (base32 "0wzs26q5cf29fhfnrkrjsr8dpai0rlm4im8b53by8rbrbzzwjbm6")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs -- 2.46.0 ^ permalink raw reply related [flat|nested] 44+ messages in thread
* [bug#73896] [PATCH v3 15/20] gnu: Add rust-delharc-0.6. 2024-11-03 1:30 ` [bug#73896] [PATCH v3 00/20] Clamav update [security fixes] Nicolas Graves via Guix-patches via ` (13 preceding siblings ...) 2024-11-03 1:30 ` [bug#73896] [PATCH v3 14/20] gnu: rust-crc-any-2: Update to 2.5.0 Nicolas Graves via Guix-patches via @ 2024-11-03 1:30 ` Nicolas Graves via Guix-patches via 2024-11-03 1:30 ` [bug#73896] [PATCH v3 16/20] gnu: Add rust-transpose-0.2 Nicolas Graves via Guix-patches via ` (4 subsequent siblings) 19 siblings, 0 replies; 44+ messages in thread From: Nicolas Graves via Guix-patches via @ 2024-11-03 1:30 UTC (permalink / raw) To: 73896; +Cc: Nicolas Graves * gnu/packages/crates-io.scm (rust-delharc-0.6): New variable. --- gnu/packages/crates-io.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index be8153b11d..fac8c5f581 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -20408,6 +20408,33 @@ (define-public rust-dejavu-2 "This package provides the @code{DejaVu} font family for embedding.") (license (list license:expat license:asl2.0)))) +(define-public rust-delharc-0.6 + (package + (name "rust-delharc") + (version "0.6.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "delharc" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "18g5haj6bj92azif4jifhdy9vrv6blg3wyvpmxslh2gm2wkbm4qw")))) + (build-system cargo-build-system) + (arguments + `(#:tests? #f ; Missing files + #:cargo-inputs (("rust-bitflags" ,rust-bitflags-2) + ("rust-chrono" ,rust-chrono-0.4) + ("rust-memchr" ,rust-memchr-2)) + #:cargo-development-inputs (("rust-crc-any" ,rust-crc-any-2) + ("rust-rand" ,rust-rand-0.8)))) + (home-page "https://github.com/royaltm/rust-delharc") + (synopsis + "Parse and extract files from LHA/LZH archives.") + (description + "This package provides a Rust library for parsing and extracting files +from LHA/LZH archives, which are often suffixed @code{.lha} or @code{.lzh}. ") + (license (list license:expat license:asl2.0)))) + (define-public rust-demo-hack-0.0 (package (name "rust-demo-hack") -- 2.46.0 ^ permalink raw reply related [flat|nested] 44+ messages in thread
* [bug#73896] [PATCH v3 16/20] gnu: Add rust-transpose-0.2. 2024-11-03 1:30 ` [bug#73896] [PATCH v3 00/20] Clamav update [security fixes] Nicolas Graves via Guix-patches via ` (14 preceding siblings ...) 2024-11-03 1:30 ` [bug#73896] [PATCH v3 15/20] gnu: Add rust-delharc-0.6 Nicolas Graves via Guix-patches via @ 2024-11-03 1:30 ` Nicolas Graves via Guix-patches via 2024-11-03 1:30 ` [bug#73896] [PATCH v3 17/20] gnu: rust-strength-reduce-0.2: Update to 0.2.4 Nicolas Graves via Guix-patches via ` (3 subsequent siblings) 19 siblings, 0 replies; 44+ messages in thread From: Nicolas Graves via Guix-patches via @ 2024-11-03 1:30 UTC (permalink / raw) To: 73896; +Cc: Nicolas Graves * gnu/packages/crates-io.scm (rust-transpose-0.2): New variable. --- gnu/packages/crates-io.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index fac8c5f581..725fa329e6 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -85035,6 +85035,27 @@ (define-public rust-traitobject-0.1 (license (list license:asl2.0 license:expat)))) +(define-public rust-transpose-0.2 + (package + (name "rust-transpose") + (version "0.2.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "transpose" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0zp74v7jrjg4jr654dncdj6hqvacicsywyhc62jawgxwhvnimmhs")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs (("rust-num-integer" ,rust-num-integer-0.1) + ("rust-strength-reduce" ,rust-strength-reduce-0.2)))) + (home-page "https://github.com/ejmahler/transpose") + (synopsis "Utility for transposing multi-dimensional data") + (description + "This package provides utilities for transposing multi-dimensional data.") + (license (list license:expat license:asl2.0)))) + (define-public rust-trash-3 (package (name "rust-trash") -- 2.46.0 ^ permalink raw reply related [flat|nested] 44+ messages in thread
* [bug#73896] [PATCH v3 17/20] gnu: rust-strength-reduce-0.2: Update to 0.2.4. 2024-11-03 1:30 ` [bug#73896] [PATCH v3 00/20] Clamav update [security fixes] Nicolas Graves via Guix-patches via ` (15 preceding siblings ...) 2024-11-03 1:30 ` [bug#73896] [PATCH v3 16/20] gnu: Add rust-transpose-0.2 Nicolas Graves via Guix-patches via @ 2024-11-03 1:30 ` Nicolas Graves via Guix-patches via 2024-11-03 1:30 ` [bug#73896] [PATCH v3 18/20] gnu: Add rust-rustfft-6 Nicolas Graves via Guix-patches via ` (2 subsequent siblings) 19 siblings, 0 replies; 44+ messages in thread From: Nicolas Graves via Guix-patches via @ 2024-11-03 1:30 UTC (permalink / raw) To: 73896; +Cc: Nicolas Graves * gnu/packages/crates-io.scm (rust-strength-reduce-0.2): Update to 0.2.4. [arguments]<#:skip-build?>: Drop option. <#:cargo-development-inputs>: Add rust-num-bigint. --- gnu/packages/crates-io.scm | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index 725fa329e6..8f515590cb 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -75177,16 +75177,18 @@ (define-public rust-streaming-stats-0.2 (define-public rust-strength-reduce-0.2 (package (name "rust-strength-reduce") - (version "0.2.3") + (version "0.2.4") (source (origin (method url-fetch) (uri (crate-uri "strength_reduce" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "0m12phq654mfxpmh2h5akqkag5ha6nlhjc2bp9jwarr5r1qjzzx3")))) + (base32 "10jdq9dijjdkb20wg1dmwg447rnj37jbq0mwvbadvqi2gys5x2gy")))) (build-system cargo-build-system) - (arguments `(#:skip-build? #t)) + (arguments + `(#:cargo-development-inputs + (("rust-num-bigint" ,rust-num-bigint-0.4)))) (home-page "http://github.com/ejmahler/strength_reduce") (synopsis "Faster integer division and modulus operations") (description "Strength_reduce implements integer division and modulo via -- 2.46.0 ^ permalink raw reply related [flat|nested] 44+ messages in thread
* [bug#73896] [PATCH v3 18/20] gnu: Add rust-rustfft-6. 2024-11-03 1:30 ` [bug#73896] [PATCH v3 00/20] Clamav update [security fixes] Nicolas Graves via Guix-patches via ` (16 preceding siblings ...) 2024-11-03 1:30 ` [bug#73896] [PATCH v3 17/20] gnu: rust-strength-reduce-0.2: Update to 0.2.4 Nicolas Graves via Guix-patches via @ 2024-11-03 1:30 ` Nicolas Graves via Guix-patches via 2024-11-03 1:30 ` [bug#73896] [PATCH v3 19/20] gnu: Add rust-rustdct-0.7 Nicolas Graves via Guix-patches via 2024-11-03 1:30 ` [bug#73896] [PATCH v3 20/20] gnu: clamav: Unbundle rust dependencies Nicolas Graves via Guix-patches via 19 siblings, 0 replies; 44+ messages in thread From: Nicolas Graves via Guix-patches via @ 2024-11-03 1:30 UTC (permalink / raw) To: 73896; +Cc: Nicolas Graves * gnu/packages/crates-io.scm (rust-rustfft-6): New variable. --- gnu/packages/crates-io.scm | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index 8f515590cb..7f78804380 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -66459,6 +66459,38 @@ (define-public rust-rustdoc-types-0.23 (description "Types for rustdoc's json output.") (license (list license:expat license:asl2.0)))) +(define-public rust-rustfft-6 + (package + (name "rust-rustfft") + (version "6.2.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "rustfft" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "11hx83yr2h2jszkba9qhq2d08q9i5rsashq62rfhqvahpihnb023")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-development-inputs + (("rust-rand" ,rust-rand-0.8) + ("rust-paste" ,rust-paste-1) + ("rust-getrandom" ,rust-getrandom-0.2) + ("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.3)) + #:cargo-inputs (("rust-num-complex" ,rust-num-complex-0.4) + ("rust-num-integer" ,rust-num-integer-0.1) + ("rust-num-traits" ,rust-num-traits-0.2) + ("rust-primal-check" ,rust-primal-check-0.3) + ("rust-strength-reduce" ,rust-strength-reduce-0.2) + ("rust-transpose" ,rust-transpose-0.2) + ("rust-version-check" ,rust-version-check-0.9)))) + (home-page "https://github.com/ejmahler/RustFFT") + (synopsis "Rust FFT library") + (description + "This package provides a high-performance FFT (Fast Fourier Transform) +library written in pure Rust.") + (license (list license:expat license:asl2.0)))) + (define-public rust-rustfix-0.8 (package (name "rust-rustfix") -- 2.46.0 ^ permalink raw reply related [flat|nested] 44+ messages in thread
* [bug#73896] [PATCH v3 19/20] gnu: Add rust-rustdct-0.7. 2024-11-03 1:30 ` [bug#73896] [PATCH v3 00/20] Clamav update [security fixes] Nicolas Graves via Guix-patches via ` (17 preceding siblings ...) 2024-11-03 1:30 ` [bug#73896] [PATCH v3 18/20] gnu: Add rust-rustfft-6 Nicolas Graves via Guix-patches via @ 2024-11-03 1:30 ` Nicolas Graves via Guix-patches via 2024-11-03 1:30 ` [bug#73896] [PATCH v3 20/20] gnu: clamav: Unbundle rust dependencies Nicolas Graves via Guix-patches via 19 siblings, 0 replies; 44+ messages in thread From: Nicolas Graves via Guix-patches via @ 2024-11-03 1:30 UTC (permalink / raw) To: 73896; +Cc: Nicolas Graves * gnu/packages/crates-io.scm (rust-rustdct-0.7): New variable. --- gnu/packages/crates-io.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index 7f78804380..7b276676ff 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -66386,6 +66386,28 @@ (define-public rust-rustc-version-0.1 `(#:cargo-inputs (("rust-semver" ,rust-semver-0.1)))))) +(define-public rust-rustdct-0.7 + (package + (name "rust-rustdct") + (version "0.7.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "rustdct" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0lcm1191xx8wizima5j3n25fs90x58v3q1kwg6cbzafn0m8maqcb")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs (("rust-rustfft" ,rust-rustfft-6)) + #:cargo-development-inputs (("rust-rand" ,rust-rand-0.8)))) + (home-page "https://github.com/ejmahler/rust_dct") + (synopsis "Compute Discrete Cosine Transforms (DCT) in pure Rust") + (description + "This package provides a Rust library to compute the main Discrete Cosine +Transforms (DCT) of any size in O(nlogn) time.") + (license (list license:expat license:asl2.0)))) + (define-public rust-rustdoc-json-0.8 (package (name "rust-rustdoc-json") -- 2.46.0 ^ permalink raw reply related [flat|nested] 44+ messages in thread
* [bug#73896] [PATCH v3 20/20] gnu: clamav: Unbundle rust dependencies. 2024-11-03 1:30 ` [bug#73896] [PATCH v3 00/20] Clamav update [security fixes] Nicolas Graves via Guix-patches via ` (18 preceding siblings ...) 2024-11-03 1:30 ` [bug#73896] [PATCH v3 19/20] gnu: Add rust-rustdct-0.7 Nicolas Graves via Guix-patches via @ 2024-11-03 1:30 ` Nicolas Graves via Guix-patches via 19 siblings, 0 replies; 44+ messages in thread From: Nicolas Graves via Guix-patches via @ 2024-11-03 1:30 UTC (permalink / raw) To: 73896; +Cc: Nicolas Graves * gnu/packages/antivirus.scm (clamav) [origin]<snippet>: Unbundle rust dependencies. [build-system]: Switch to cargo-build-system. [arguments]: Adapt to the change of base build-system. [native-inputs]: Add cmake-minimal. Remove rust and rust:cargo. --- gnu/packages/antivirus.scm | 135 +++++++++++++++++++++++++++---------- 1 file changed, 99 insertions(+), 36 deletions(-) diff --git a/gnu/packages/antivirus.scm b/gnu/packages/antivirus.scm index 1a23657a61..b561ff060a 100644 --- a/gnu/packages/antivirus.scm +++ b/gnu/packages/antivirus.scm @@ -31,12 +31,17 @@ (define-module (gnu packages antivirus) #:use-module (gnu packages) #:use-module (gnu packages check) #:use-module (gnu packages compression) + #:use-module (gnu packages cmake) + #:use-module (gnu packages crates-crypto) + #:use-module (gnu packages crates-graphics) + #:use-module (gnu packages crates-io) #:use-module (gnu packages curl) #:use-module (gnu packages ncurses) #:use-module (gnu packages pcre) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) #:use-module (gnu packages python-check) + #:use-module (gnu packages rust-apps) #:use-module (gnu packages rust) #:use-module (gnu packages tls) #:use-module (gnu packages web) @@ -62,49 +67,107 @@ (define-public clamav (snippet '(begin (delete-file "Cargo.lock") - (for-each - delete-file - (find-files ".cargo/vendor" ".cargo-checksum\\.json")) (for-each delete-file-recursively - '("win32" ; unnecessary + '(".cargo" ; vendored rust inputs + "win32" ; unnecessary "libclamunrar")))))) ; non-free license - (build-system cmake-build-system) + (build-system cargo-build-system) (arguments - (list - #:configure-flags - #~(list "-DENABLE_MILTER=OFF" "-DENABLE_UNRAR=OFF") - #:imported-modules `((guix build cargo-utils) - ,@%cmake-build-system-modules) - #:phases - #~(modify-phases %standard-phases - (add-after 'unpack 'inject-rust-onenote - (lambda _ - (substitute* "libclamav_rust/Cargo.toml" - (("onenote_parser = .*") - "onenote_parser = \"0.3.1\"\n")))) - (add-after 'patch-source-shebangs 'patch-cargo-checksums - (lambda _ - (use-modules - (srfi srfi-1) (ice-9 ftw) (guix build cargo-utils)) - (with-directory-excursion ".cargo/vendor" - (for-each generate-all-checksums - (delete "." (delete ".." (scandir "."))))))) - (add-after 'unpack 'skip-clamd-tests - ;; XXX: The check?_clamd tests fail inside the build - ;; chroot, but pass outside. - (lambda* (#:key tests? #:allow-other-keys) - (when tests? - (substitute* "unit_tests/CMakeLists.txt" - (("clamd_test\\.py" test) - (string-append - test " -k \"not test_clamd_08_VirusEvent\""))))))))) + (let ((cargo-inputs + `(("rust-flate2" ,rust-flate2-1) + ("rust-hex" ,rust-hex-0.4) + ("rust-libc" ,rust-libc-0.2) + ("rust-log" ,rust-log-0.4) + ("rust-sha2" ,rust-sha2-0.10) + ("rust-tempfile" ,rust-tempfile-3) + ("rust-thiserror" ,rust-thiserror-1) + ("rust-image" ,rust-image-0.24) + ("rust-rustdct" ,rust-rustdct-0.7) + ("rust-transpose" ,rust-transpose-0.2) + ("rust-num-traits" ,rust-num-traits-0.2) + ("rust-base64" ,rust-base64-0.21) + ("rust-sha1" ,rust-sha1-0.10) + ("rust-unicode-segmentation" ,rust-unicode-segmentation-1) + ("rust-bindgen" ,rust-bindgen-0.66) + ("rust-onenote-parser" ,rust-onenote-parser-for-clamav) + ("rust-hex-literal" ,rust-hex-literal-0.4) + ("rust-inflate" ,rust-inflate-0.4) + ("rust-bzip2-rs" ,rust-bzip2-rs-0.1) + ("rust-byteorder" ,rust-byteorder-1) + ("rust-delharc" ,rust-delharc-0.6))) + (cargo-development-inputs + `(("rust-cbindgen" ,rust-cbindgen-0.26) + ("rust-bindgen" ,rust-bindgen-0.66)))) + (list + #:cargo-inputs cargo-inputs + #:cargo-development-inputs cargo-development-inputs + #:vendor-dir ".cargo/vendor" + #:imported-modules `(,@%cmake-build-system-modules + ,@%cargo-build-system-modules) + #:modules '((guix build cargo-build-system) + ((guix build cmake-build-system) #:prefix cmake:) + (guix build utils)) + #:phases + #~(modify-phases %standard-phases + ;; There is a .exe file used in unit tests. + (delete 'check-for-pregenerated-files) + (add-after 'configure 'fix-cargo-inputs-vendoring + (lambda _ + ;; Reproduce the original layout, fails with config. + (rename-file ".cargo/config" ".cargo/config.toml") + ;; Wrongly placed by configure + (delete-file-recursively + (string-append ".cargo/vendor/clamav-" #$version ".tar.zst")))) + (add-after 'patch-cargo-checksums 'cmake-configure + (lambda* (#:key outputs #:allow-other-keys) + ((assoc-ref cmake:%standard-phases 'configure) + #:configure-flags + (list "-DENABLE_MILTER=OFF" "-DENABLE_UNRAR=OFF") + #:outputs outputs))) + (replace 'build + (assoc-ref cmake:%standard-phases 'build)) + (add-after 'patch-cargo-checksums 'patch-rust-requirements + (lambda _ + (substitute* "libclamav_rust/Cargo.toml" + (("onenote_parser = .*") + (format #f "onenote_parser = ~s~%" + #$(package-version + (car (assoc-ref cargo-inputs + "rust-onenote-parser"))))) + (("^bindgen = .*") + (format #f "bindgen = ~s~%" + #$(package-version + (car (assoc-ref cargo-inputs + "rust-bindgen"))))) + (("cbindgen = \\{ version =\".*\",") + (format #f "cbindgen = { version =~s," + #$(package-version + (car (assoc-ref cargo-development-inputs + "rust-cbindgen")))))))) + (delete 'package) + (replace 'install + (assoc-ref cmake:%standard-phases 'install)) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + ((assoc-ref cmake:%standard-phases 'check) + #:tests? tests? + #:parallel-tests? #t + #:test-target "test"))) + (add-after 'unpack 'skip-clamd-tests + ;; XXX: The check?_clamd tests fail inside the build + ;; chroot, but pass outside. + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (substitute* "unit_tests/CMakeLists.txt" + (("clamd_test\\.py" test) + (string-append + test " -k \"not test_clamd_08_VirusEvent\"")))))))))) (native-inputs (list check ; for tests + cmake-minimal pkg-config python-minimal - python-pytest - rust - (list rust "cargo"))) + python-pytest)) (inputs (list bzip2 curl -- 2.46.0 ^ permalink raw reply related [flat|nested] 44+ messages in thread
* [bug#73896] [PATCH v4 01/20] gnu: rust-widestring-0.4: Update to 0.4.3. 2024-10-19 23:08 [bug#73896] [PATCH] gnu: clamav: Add release-monitoring-url property Nicolas Graves via Guix-patches via 2024-10-21 9:05 ` [bug#73896] [PATCH v2 1/2] " Nicolas Graves via Guix-patches via 2024-11-03 1:30 ` [bug#73896] [PATCH v3 00/20] Clamav update [security fixes] Nicolas Graves via Guix-patches via @ 2024-11-05 23:14 ` Nicolas Graves via Guix-patches via 2024-11-05 23:14 ` [bug#73896] [PATCH v4 02/20] gnu: rust-enum-primitive-derive-0.2: Update to 0.2.2 Nicolas Graves via Guix-patches via ` (18 more replies) 2 siblings, 19 replies; 44+ messages in thread From: Nicolas Graves via Guix-patches via @ 2024-11-05 23:14 UTC (permalink / raw) To: 73896; +Cc: Nicolas Graves * gnu/packages/crates-io.scm (rust-widestring-0.4): Update to 0.4.3. --- gnu/packages/crates-io.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index a377d300c4..f66399c2eb 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -90699,7 +90699,7 @@ (define-public rust-widestring-0.4 (package (inherit rust-widestring-0.5) (name "rust-widestring") - (version "0.4.2") + (version "0.4.3") (source (origin (method url-fetch) @@ -90707,7 +90707,7 @@ (define-public rust-widestring-0.4 (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "13565qy4jhpg4x0xw8mwxzzsh0p8c93p5208lh6kpwp0q01y6qx7")))) + "0z3ba8qrxb62vpfgk7n2xs2grm9kdaj1cz4q8s0gs8fx8h0r8s61")))) (arguments `(#:cargo-development-inputs (("rust-winapi" ,rust-winapi-0.3)))))) -- 2.46.0 ^ permalink raw reply related [flat|nested] 44+ messages in thread
* [bug#73896] [PATCH v4 02/20] gnu: rust-enum-primitive-derive-0.2: Update to 0.2.2. 2024-11-05 23:14 ` [bug#73896] [PATCH v4 01/20] gnu: rust-widestring-0.4: Update to 0.4.3 Nicolas Graves via Guix-patches via @ 2024-11-05 23:14 ` Nicolas Graves via Guix-patches via 2024-11-05 23:14 ` [bug#73896] [PATCH v4 03/20] gnu: Add rust-onenote-parser-0.3 Nicolas Graves via Guix-patches via ` (17 subsequent siblings) 18 siblings, 0 replies; 44+ messages in thread From: Nicolas Graves via Guix-patches via @ 2024-11-05 23:14 UTC (permalink / raw) To: 73896; +Cc: Nicolas Graves * gnu/packages/crates-io.scm (rust-enum-primitive-derive-0.2): Update to 0.2.2. --- gnu/packages/crates-io.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index f66399c2eb..0659a10ca1 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -24068,7 +24068,7 @@ (define-public rust-enum-primitive-0.1 (define-public rust-enum-primitive-derive-0.2 (package (name "rust-enum-primitive-derive") - (version "0.2.1") + (version "0.2.2") (source (origin (method url-fetch) @@ -24077,7 +24077,7 @@ (define-public rust-enum-primitive-derive-0.2 (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0h1k2izdl5lf2na8xnj7rgwjm8gawxc2p1w8j6ahifvyka7jhljz")))) + "03ibjjx8dc4akpq8ck24qda5ix4jybz9jagfxykd0s6vxb2vjxf3")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs -- 2.46.0 ^ permalink raw reply related [flat|nested] 44+ messages in thread
* [bug#73896] [PATCH v4 03/20] gnu: Add rust-onenote-parser-0.3. 2024-11-05 23:14 ` [bug#73896] [PATCH v4 01/20] gnu: rust-widestring-0.4: Update to 0.4.3 Nicolas Graves via Guix-patches via 2024-11-05 23:14 ` [bug#73896] [PATCH v4 02/20] gnu: rust-enum-primitive-derive-0.2: Update to 0.2.2 Nicolas Graves via Guix-patches via @ 2024-11-05 23:14 ` Nicolas Graves via Guix-patches via 2024-11-05 23:14 ` [bug#73896] [PATCH v4 04/20] gnu: Add rust-onenote-parser-for-clamav Nicolas Graves via Guix-patches via ` (16 subsequent siblings) 18 siblings, 0 replies; 44+ messages in thread From: Nicolas Graves via Guix-patches via @ 2024-11-05 23:14 UTC (permalink / raw) To: 73896; +Cc: Nicolas Graves * gnu/packages/crates-io.scm (rust-onenote-parser-0.3): New variable. --- gnu/packages/crates-io.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index 0659a10ca1..2ba9ca3bf0 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -49317,6 +49317,36 @@ (define-public rust-omnipath-0.1 (description "This package provides a path utility library.") (license (list license:expat license:asl2.0)))) +(define-public rust-onenote-parser-0.3 + (package + (name "rust-onenote-parser") + (version "0.3.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "onenote_parser" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "12rj3ixhnxvl2mpkad3ng4b8fx4ynxhdlwzxba36c8i98ls57zzf")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-bytes" ,rust-bytes-0.5) + ("rust-encoding-rs" ,rust-encoding-rs-0.8) + ("rust-enum-primitive-derive" ,rust-enum-primitive-derive-0.2) + ("rust-itertools" ,rust-itertools-0.9) + ("rust-num-traits" ,rust-num-traits-0.2) + ("rust-paste" ,rust-paste-1) + ("rust-thiserror" ,rust-thiserror-1) + ("rust-uuid" ,rust-uuid-0.8) + ("rust-widestring" ,rust-widestring-0.4)) + #:cargo-development-inputs (("rust-insta" ,rust-insta-1)))) + (home-page "https://github.com/msiemens/onenote.rs") + (synopsis "Parser for Microsoft OneNote files") + (description + "This package provides a parser for Microsoft OneNote files.") + (license license:mpl2.0))) + (define-public rust-onig-6 (package (name "rust-onig") -- 2.46.0 ^ permalink raw reply related [flat|nested] 44+ messages in thread
* [bug#73896] [PATCH v4 04/20] gnu: Add rust-onenote-parser-for-clamav. 2024-11-05 23:14 ` [bug#73896] [PATCH v4 01/20] gnu: rust-widestring-0.4: Update to 0.4.3 Nicolas Graves via Guix-patches via 2024-11-05 23:14 ` [bug#73896] [PATCH v4 02/20] gnu: rust-enum-primitive-derive-0.2: Update to 0.2.2 Nicolas Graves via Guix-patches via 2024-11-05 23:14 ` [bug#73896] [PATCH v4 03/20] gnu: Add rust-onenote-parser-0.3 Nicolas Graves via Guix-patches via @ 2024-11-05 23:14 ` Nicolas Graves via Guix-patches via 2024-11-05 23:14 ` [bug#73896] [PATCH v4 05/20] gnu: clamav: Add release-monitoring-url property Nicolas Graves via Guix-patches via ` (15 subsequent siblings) 18 siblings, 0 replies; 44+ messages in thread From: Nicolas Graves via Guix-patches via @ 2024-11-05 23:14 UTC (permalink / raw) To: 73896; +Cc: Nicolas Graves * gnu/packages/crates-io.scm (rust-onenote-parser-for-clamav): New variable. * gnu/packages/patches/rust-onenote-parser-for-clamav-deps.patch * gnu/packages/patches/rust-onenote-parser-for-clamav-parse-in-memory-buffer.patch * gnu/packages/patches/rust-onenote-parser-for-clamav-property-type.patch Add patches here... * gnu/local.mk: ...and here. --- gnu/local.mk | 3 + gnu/packages/crates-io.scm | 27 ++++++ .../rust-onenote-parser-for-clamav-deps.patch | 88 +++++++++++++++++++ ...er-for-clamav-parse-in-memory-buffer.patch | 52 +++++++++++ ...note-parser-for-clamav-property-type.patch | 30 +++++++ 5 files changed, 200 insertions(+) create mode 100644 gnu/packages/patches/rust-onenote-parser-for-clamav-deps.patch create mode 100644 gnu/packages/patches/rust-onenote-parser-for-clamav-parse-in-memory-buffer.patch create mode 100644 gnu/packages/patches/rust-onenote-parser-for-clamav-property-type.patch diff --git a/gnu/local.mk b/gnu/local.mk index 6eb01ca466..8bb2b41e2f 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -2136,6 +2136,9 @@ dist_patch_DATA = \ %D%/packages/patches/rust-ndarray-0.13-remove-blas-src.patch \ %D%/packages/patches/rust-ndarray-0.14-remove-blas-src.patch \ %D%/packages/patches/rust-nettle-disable-vendor.patch \ + %D%/packages/patches/rust-onenote-parser-for-clamav-deps.patch \ + %D%/packages/patches/rust-onenote-parser-for-clamav-parse-in-memory-buffer.patch \ + %D%/packages/patches/rust-onenote-parser-for-clamav-property-type.patch \ %D%/packages/patches/rust-poem-1-fewer-deps.patch \ %D%/packages/patches/rust-rspec-1-remove-clippy.patch \ %D%/packages/patches/rust-trash-2-update-windows.patch \ diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index 2ba9ca3bf0..e7124b088d 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -49347,6 +49347,33 @@ (define-public rust-onenote-parser-0.3 "This package provides a parser for Microsoft OneNote files.") (license license:mpl2.0))) +(define-public rust-onenote-parser-for-clamav + (package + (inherit rust-onenote-parser-0.3) + (name "rust-onenote-parser-for-clamav") + (source (origin + (inherit (package-source rust-onenote-parser-0.3)) + (patches + (search-patches + "rust-onenote-parser-for-clamav-deps.patch" + "rust-onenote-parser-for-clamav-parse-in-memory-buffer.patch" + "rust-onenote-parser-for-clamav-property-type.patch")) + (snippet #~(begin + (delete-file "Cargo.toml") + (rename-file "Cargo.toml.orig" "Cargo.toml"))))) + (arguments + `(#:cargo-inputs + (("rust-bytes" ,rust-bytes-1) + ("rust-encoding-rs" ,rust-encoding-rs-0.8) + ("rust-enum-primitive-derive" ,rust-enum-primitive-derive-0.2) + ("rust-itertools" ,rust-itertools-0.10) + ("rust-num-traits" ,rust-num-traits-0.2) + ("rust-paste" ,rust-paste-1) + ("rust-thiserror" ,rust-thiserror-1) + ("rust-uuid" ,rust-uuid-1) + ("rust-widestring" ,rust-widestring-1)) + #:cargo-development-inputs (("rust-insta" ,rust-insta-1)))))) + (define-public rust-onig-6 (package (name "rust-onig") diff --git a/gnu/packages/patches/rust-onenote-parser-for-clamav-deps.patch b/gnu/packages/patches/rust-onenote-parser-for-clamav-deps.patch new file mode 100644 index 0000000000..24d5692573 --- /dev/null +++ b/gnu/packages/patches/rust-onenote-parser-for-clamav-deps.patch @@ -0,0 +1,88 @@ +From f940d8c8fa087554583158d50df071af89c516db Mon Sep 17 00:00:00 2001 +From: Simon Lamon <32477463+silamon@users.noreply.github.com> +Date: Sat, 19 Nov 2022 20:32:07 +0100 +Subject: [PATCH] chore: upgrade dependencies (#9) + +Co-authored-by: Markus Siemens <markus@m-siemens.de> +--- + Cargo.toml.orig | 8 ++++---- + src/errors.rs | 6 +++--- + src/reader.rs | 2 +- + src/utils.rs | 5 ++--- + 4 files changed, 10 insertions(+), 11 deletions(-) + +diff --git a/Cargo.toml.orig b/Cargo.toml.orig +index 9afddd0..e302436 100644 +--- a/Cargo.toml.orig ++++ b/Cargo.toml.orig +@@ -14,15 +14,15 @@ categories = ["parser-implementations"] + backtrace = [] + + [dependencies] +-bytes = "0.5" ++bytes = "1.2.0" + encoding_rs = "0.8.31" + enum-primitive-derive = "0.2.2" +-itertools = "0.9.0" ++itertools = "0.10.3" + num-traits = "0.2" + paste = "1.0" + thiserror = "1.0" +-uuid = "0.8" +-widestring = "0.4.3" ++uuid = "1.1.2" ++widestring = "1.0.2" + + [dev-dependencies] + insta = "1.21.1" +diff --git a/src/errors.rs b/src/errors.rs +index 91477b3..50079a3 100644 +--- a/src/errors.rs ++++ b/src/errors.rs +@@ -51,8 +51,8 @@ impl From<std::string::FromUtf16Error> for Error { + } + } + +-impl From<widestring::MissingNulError<u16>> for Error { +- fn from(err: widestring::MissingNulError<u16>) -> Self { ++impl From<widestring::error::MissingNulTerminator> for Error { ++ fn from(err: widestring::error::MissingNulTerminator) -> Self { + ErrorKind::from(err).into() + } + } +@@ -128,6 +128,6 @@ pub enum ErrorKind { + #[error("UTF-16 string is missing null terminator: {err}")] + Utf16MissingNull { + #[from] +- err: widestring::MissingNulError<u16>, ++ err: widestring::error::MissingNulTerminator, + }, + } +diff --git a/src/reader.rs b/src/reader.rs +index 64730d0..318c280 100644 +--- a/src/reader.rs ++++ b/src/reader.rs +@@ -40,7 +40,7 @@ impl<'a> Reader<'a> { + } + + pub(crate) fn bytes(&self) -> &[u8] { +- self.0.bytes() ++ self.0.chunk() + } + + pub(crate) fn remaining(&self) -> usize { +diff --git a/src/utils.rs b/src/utils.rs +index fd77181..074ff50 100644 +--- a/src/utils.rs ++++ b/src/utils.rs +@@ -12,8 +12,7 @@ impl Utf16ToString for &[u8] { + .map(|v| u16::from_le_bytes([v[0], v[1]])) + .collect(); + +- let value = U16CString::from_vec_with_nul(data)?; +- +- Ok(value.to_string()?) ++ let value = U16CString::from_vec_truncate(data); ++ Ok(value.to_string().unwrap()) + } + } diff --git a/gnu/packages/patches/rust-onenote-parser-for-clamav-parse-in-memory-buffer.patch b/gnu/packages/patches/rust-onenote-parser-for-clamav-parse-in-memory-buffer.patch new file mode 100644 index 0000000000..77adc550ca --- /dev/null +++ b/gnu/packages/patches/rust-onenote-parser-for-clamav-parse-in-memory-buffer.patch @@ -0,0 +1,52 @@ +From 8b450447e58143004b68dd21c11b710fdb79be92 Mon Sep 17 00:00:00 2001 +From: Micah Snyder <micasnyd@cisco.com> +Date: Mon, 3 Jul 2023 21:44:57 -0700 +Subject: [PATCH] Add ability to parse section from in memory buffer + +Resolves: https://github.com/msiemens/onenote.rs/issues/12 +--- + src/onenote/mod.rs | 23 ++++++++++++++++++++++- + 1 file changed, 22 insertions(+), 1 deletion(-) + +diff --git a/src/onenote/mod.rs b/src/onenote/mod.rs +index de172c9..8bcb62b 100644 +--- a/src/onenote/mod.rs ++++ b/src/onenote/mod.rs +@@ -6,8 +6,9 @@ use crate::onestore::parse_store; + use crate::reader::Reader; + use std::ffi::OsStr; + use std::fs::File; +-use std::io::{BufReader, Read}; ++use std::io::{BufReader, Read, Cursor}; + use std::path::Path; ++use std::str::FromStr; + + pub(crate) mod content; + pub(crate) mod embedded_file; +@@ -76,6 +77,26 @@ impl Parser { + Ok(Notebook { entries: sections }) + } + ++ /// Parse a OneNote section buffer. ++ /// ++ /// The `data` argument must contain a OneNote section. ++ pub fn parse_section_buffer(&mut self, data: &[u8], file_name: &Path) -> Result<Section> { ++ let packaging = OneStorePackaging::parse(&mut Reader::new(data))?; ++ let store = parse_store(&packaging)?; ++ ++ if store.schema_guid() != guid!({1F937CB4-B26F-445F-B9F8-17E20160E461}) { ++ return Err(ErrorKind::NotASectionFile { ++ file: file_name.to_string_lossy().into_owned(), ++ } ++ .into()); ++ } ++ ++ section::parse_section( ++ store, ++ file_name.to_string_lossy().into_owned(), ++ ) ++ } ++ + /// Parse a OneNote section file. + /// + /// The `path` argument must point to a `.one` file that contains a diff --git a/gnu/packages/patches/rust-onenote-parser-for-clamav-property-type.patch b/gnu/packages/patches/rust-onenote-parser-for-clamav-property-type.patch new file mode 100644 index 0000000000..ff94fa2630 --- /dev/null +++ b/gnu/packages/patches/rust-onenote-parser-for-clamav-property-type.patch @@ -0,0 +1,30 @@ +From 29c08532252b917543ff268284f926f30876bb79 Mon Sep 17 00:00:00 2001 +From: Matt Jolly <Matt.Jolly@footclan.ninja> +Date: Mon, 24 Jun 2024 17:34:05 +1000 +Subject: [PATCH] PropertType: Specify type for custom discriminant values + +We use custom discriminant values for enum variants for "PropertType" without specifying the type. +This causes it to default to "isize" which on 64bit platforms is big enough to hold the 32bit constants, +but causes overflow when isize is 32bit. + +This issue was uncovered due to build failures on arm for Gentoo Linux as a dependency of ClamAV. + +Bug: https://bugs.gentoo.org/927214 +Signed-off-by: Matt Jolly <kangie@gentoo.org> +Co-authored-by: Steven Newbury <steve@snewbury.org.uk> +--- + src/one/property/mod.rs | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/one/property/mod.rs b/src/one/property/mod.rs +index 42841c6..fcc0481 100644 +--- a/src/one/property/mod.rs ++++ b/src/one/property/mod.rs +@@ -23,6 +23,7 @@ mod references; + pub(crate) mod simple; + pub(crate) mod time; + ++#[repr(u32)] + #[derive(Debug, Copy, Clone, PartialEq)] + #[allow(dead_code)] + #[allow(clippy::enum_clike_unportable_variant)] -- 2.46.0 ^ permalink raw reply related [flat|nested] 44+ messages in thread
* [bug#73896] [PATCH v4 05/20] gnu: clamav: Add release-monitoring-url property. 2024-11-05 23:14 ` [bug#73896] [PATCH v4 01/20] gnu: rust-widestring-0.4: Update to 0.4.3 Nicolas Graves via Guix-patches via ` (2 preceding siblings ...) 2024-11-05 23:14 ` [bug#73896] [PATCH v4 04/20] gnu: Add rust-onenote-parser-for-clamav Nicolas Graves via Guix-patches via @ 2024-11-05 23:14 ` Nicolas Graves via Guix-patches via 2024-11-05 23:14 ` [bug#73896] [PATCH v4 06/20] gnu: clamav: Update to 1.4.1 Nicolas Graves via Guix-patches via ` (14 subsequent siblings) 18 siblings, 0 replies; 44+ messages in thread From: Nicolas Graves via Guix-patches via @ 2024-11-05 23:14 UTC (permalink / raw) To: 73896; +Cc: Nicolas Graves * gnu/packages/antivirus.scm (clamav) [source]<uri>: Add secondary release URI. [properties]: Add release-monitoring-url. --- gnu/packages/antivirus.scm | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/gnu/packages/antivirus.scm b/gnu/packages/antivirus.scm index d061b18b11..2161d60398 100644 --- a/gnu/packages/antivirus.scm +++ b/gnu/packages/antivirus.scm @@ -48,8 +48,13 @@ (define-public clamav (version "0.103.11") (source (origin (method url-fetch) - (uri (string-append "https://www.clamav.net/downloads/production/" - "clamav-" version ".tar.gz")) + (uri + (list + (string-append "https://www.clamav.net/downloads/production/" + "clamav-" version ".tar.gz") + (string-append "https://github.com/Cisco-Talos/clamav/" + "releases/download/clamav-" version + "/clamav-" version ".tar.gz"))) (sha256 (base32 "04by1g3p6awhi3j1y6zpwzmasdnvjgi6lwm34l2gadlwgkdfpmv1")) @@ -144,6 +149,8 @@ (define-public clamav flexible and scalable multi-threaded daemon, a command line scanner, and advanced tool for automatic database updates. The core of the package is an anti-virus engine available in the form of a shared library.") + (properties `((release-monitoring-url + . "https://github.com/Cisco-Talos/clamav/releases"))) (license (list license:gpl2+ ;ClamAV itself license:lgpl2.1 ;libclamav/mspack.[ch] license:public-domain ;libclamav/7z/*, libclamav/rijndael.[ch], etc... -- 2.46.0 ^ permalink raw reply related [flat|nested] 44+ messages in thread
* [bug#73896] [PATCH v4 06/20] gnu: clamav: Update to 1.4.1. 2024-11-05 23:14 ` [bug#73896] [PATCH v4 01/20] gnu: rust-widestring-0.4: Update to 0.4.3 Nicolas Graves via Guix-patches via ` (3 preceding siblings ...) 2024-11-05 23:14 ` [bug#73896] [PATCH v4 05/20] gnu: clamav: Add release-monitoring-url property Nicolas Graves via Guix-patches via @ 2024-11-05 23:14 ` Nicolas Graves via Guix-patches via 2024-11-05 23:14 ` [bug#73896] [PATCH v4 07/20] gnu: Add rust-hamming-0.1 Nicolas Graves via Guix-patches via ` (13 subsequent siblings) 18 siblings, 0 replies; 44+ messages in thread From: Nicolas Graves via Guix-patches via @ 2024-11-05 23:14 UTC (permalink / raw) To: 73896; +Cc: Nicolas Graves * gnu/packages/antivirus.scm (clamav): Update to 1.4.1. [source]<origin>: Adapt source. This currently is not unbundling all cargo vendored packages. [build-system]: Switch to cmake-build-system. [arguments]: Move field up. <#:configure-flags>: Set option. <#:imported-modules>: Set option for patching cargo checksums. <#:phases>: Remove all phases except adapted 'skip-clamd_tests. Add phases 'inject-rust-onenote and 'patch-cargo-checksums. [native-inputs]: Remove autoconf, automake, libtool. Add python-minimal, python-pytest, rust and rust:cargo. [inputs]: Remove libltdl, libmspack, llvm-3.6, cyrus-sasl, tomsfastmath. --- gnu/packages/antivirus.scm | 129 +++++++++++++++---------------------- 1 file changed, 51 insertions(+), 78 deletions(-) diff --git a/gnu/packages/antivirus.scm b/gnu/packages/antivirus.scm index 2161d60398..1a23657a61 100644 --- a/gnu/packages/antivirus.scm +++ b/gnu/packages/antivirus.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2016, 2017, 2018, 2019, 2020 Eric Bavier <bavier@posteo.net> ;;; Copyright © 2018 Christopher Baines <mail@cbaines.net> ;;; Copyright © 2019–2021 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2024 Nicolas Graves <ngraves@ngraves.fr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -20,24 +21,23 @@ (define-module (gnu packages antivirus) #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix build-system cargo) + #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) #:use-module (guix gexp) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix utils) #:use-module (gnu packages) - #:use-module (gnu packages autotools) - #:use-module (gnu packages bison) #:use-module (gnu packages check) #:use-module (gnu packages compression) #:use-module (gnu packages curl) - #:use-module (gnu packages cyrus-sasl) - #:use-module (gnu packages flex) - #:use-module (gnu packages llvm) - #:use-module (gnu packages multiprecision) #:use-module (gnu packages ncurses) #:use-module (gnu packages pcre) #:use-module (gnu packages pkg-config) + #:use-module (gnu packages python) + #:use-module (gnu packages python-check) + #:use-module (gnu packages rust) #:use-module (gnu packages tls) #:use-module (gnu packages web) #:use-module (gnu packages xml)) @@ -45,7 +45,7 @@ (define-module (gnu packages antivirus) (define-public clamav (package (name "clamav") - (version "0.103.11") + (version "1.4.1") (source (origin (method url-fetch) (uri @@ -57,90 +57,63 @@ (define-public clamav "/clamav-" version ".tar.gz"))) (sha256 (base32 - "04by1g3p6awhi3j1y6zpwzmasdnvjgi6lwm34l2gadlwgkdfpmv1")) + "1n3a87niad76h3mn3qxq9379gppdjqpkhwb9qkbb79irmj0ff653")) (modules '((guix build utils))) (snippet '(begin + (delete-file "Cargo.lock") + (for-each + delete-file + (find-files ".cargo/vendor" ".cargo-checksum\\.json")) (for-each delete-file-recursively '("win32" ; unnecessary - "libclamav/c++/llvm" ; use system llvm - "libclamav/tomsfastmath" ; use system tomsfastmath - "libclamunrar")))) ; non-free license - (patches - (search-patches "clamav-system-tomsfastmath.patch" - "clamav-config-llvm-libs.patch")))) - (build-system gnu-build-system) + "libclamunrar")))))) ; non-free license + (build-system cmake-build-system) + (arguments + (list + #:configure-flags + #~(list "-DENABLE_MILTER=OFF" "-DENABLE_UNRAR=OFF") + #:imported-modules `((guix build cargo-utils) + ,@%cmake-build-system-modules) + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'inject-rust-onenote + (lambda _ + (substitute* "libclamav_rust/Cargo.toml" + (("onenote_parser = .*") + "onenote_parser = \"0.3.1\"\n")))) + (add-after 'patch-source-shebangs 'patch-cargo-checksums + (lambda _ + (use-modules + (srfi srfi-1) (ice-9 ftw) (guix build cargo-utils)) + (with-directory-excursion ".cargo/vendor" + (for-each generate-all-checksums + (delete "." (delete ".." (scandir "."))))))) + (add-after 'unpack 'skip-clamd-tests + ;; XXX: The check?_clamd tests fail inside the build + ;; chroot, but pass outside. + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (substitute* "unit_tests/CMakeLists.txt" + (("clamd_test\\.py" test) + (string-append + test " -k \"not test_clamd_08_VirusEvent\""))))))))) (native-inputs - (list autoconf - automake - check ; for tests - libtool - pkg-config)) + (list check ; for tests + pkg-config + python-minimal + python-pytest + rust + (list rust "cargo"))) (inputs (list bzip2 curl json-c - libltdl - libmspack - llvm-3.6 ; requires <3.7, for JIT/verifier - ncurses libressl - pcre2 - cyrus-sasl ; for linking curl with libtool - tomsfastmath libxml2 + ncurses + pcre2 zlib)) - (arguments - (list #:configure-flags - #~(let-syntax ((with (syntax-rules () - ((_ name use) - (string-append "--with-" name "=" - (assoc-ref %build-inputs use)))))) - (list "--disable-unrar" - "--enable-llvm" - "--with-system-llvm" - "--with-system-libmspack" - "--without-included-ltdl" - (with "xml" "libxml2") - (with "openssl" "libressl") - (with "libjson" "json-c") - (with "pcre2" "pcre2") - (with "zlib" "zlib") - (with "libcurl" "curl") - ;; For sanity, specifying --enable-* flags turns - ;; "support unavailable" warnings into errors. - "--enable-bzip2" - "--enable-check" - "--sysconfdir=/etc/clamav" - ;; Default database directory needs to be writeable - "--with-dbdir=/var/db/clamav")) - ;; install sample .conf files to %output/etc rather than /etc/clamav - #:make-flags - #~(list (string-append "sysconfdir=" %output "/etc")) - #:phases - #~(modify-phases %standard-phases - ;; Regenerate configure script. Without this we don't get - ;; the correct value for LLVM linker variables. - (add-after 'unpack 'reconf - (lambda _ (invoke "autoreconf" "-vfi"))) - (add-before 'configure 'patch-llvm-config - (lambda _ - (substitute* '("libclamav/c++/detect.cpp" - "libclamav/c++/ClamBCRTChecks.cpp" - "libclamav/c++/bytecode2llvm.cpp") - (("llvm/Config/config.h") "llvm/Config/llvm-config.h")) - ;; `llvm-config --libfiles` inappropriately lists lib*.a - ;; libraries, rather than the lib*.so's that our llvm - ;; contains. They're used only for listing extra build - ;; dependencies, so ignore them until that's fixed. - (substitute* "libclamav/c++/Makefile.in" - (("@LLVMCONFIG_LIBFILES@") "")))) - (add-before 'check 'skip-clamd-tests - ;; XXX: The check?_clamd tests fail inside the build - ;; chroot, but pass outside. - (lambda _ - (substitute* "unit_tests/Makefile" - (("check2_clamd.sh.*check4_clamd.sh") ""))))))) (home-page "https://www.clamav.net") (synopsis "Antivirus engine") (description -- 2.46.0 ^ permalink raw reply related [flat|nested] 44+ messages in thread
* [bug#73896] [PATCH v4 07/20] gnu: Add rust-hamming-0.1. 2024-11-05 23:14 ` [bug#73896] [PATCH v4 01/20] gnu: rust-widestring-0.4: Update to 0.4.3 Nicolas Graves via Guix-patches via ` (4 preceding siblings ...) 2024-11-05 23:14 ` [bug#73896] [PATCH v4 06/20] gnu: clamav: Update to 1.4.1 Nicolas Graves via Guix-patches via @ 2024-11-05 23:14 ` Nicolas Graves via Guix-patches via 2024-11-05 23:14 ` [bug#73896] [PATCH v4 08/20] gnu: Add rust-primal-bit-0.3 Nicolas Graves via Guix-patches via ` (12 subsequent siblings) 18 siblings, 0 replies; 44+ messages in thread From: Nicolas Graves via Guix-patches via @ 2024-11-05 23:14 UTC (permalink / raw) To: 73896; +Cc: Nicolas Graves * gnu/packages/crates-io.scm (rust-hamming-0.1): New variable. --- gnu/packages/crates-io.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index e7124b088d..e551600dc7 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -31388,6 +31388,30 @@ (define-public rust-hamcrest2-0.3 "This package provides a port of the Hamcrest testing library.") (license (list license:expat license:asl2.0)))) +(define-public rust-hamming-0.1 + (package + (name "rust-hamming") + (version "0.1.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "hamming" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1q9hri1l1x1y7vv153kvdw9lkqslmbwgia5r3qj6i39pfji3s135")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-development-inputs + (("rust-quickcheck" ,rust-quickcheck-0.2) + ("rust-rand" ,rust-rand-0.3)))) + (home-page "https://github.com/huonw/hamming") + (synopsis "Count ones fast") + (description + "This package provides a tool to count ones, using rapid popcount +(hamming weight) techniques. This provides a performant popcount and bitwise +hamming distance for a slice of bytes.") + (license (list license:expat license:asl2.0)))) + (define-public rust-hash-hasher-2 (package (name "rust-hash-hasher") -- 2.46.0 ^ permalink raw reply related [flat|nested] 44+ messages in thread
* [bug#73896] [PATCH v4 08/20] gnu: Add rust-primal-bit-0.3. 2024-11-05 23:14 ` [bug#73896] [PATCH v4 01/20] gnu: rust-widestring-0.4: Update to 0.4.3 Nicolas Graves via Guix-patches via ` (5 preceding siblings ...) 2024-11-05 23:14 ` [bug#73896] [PATCH v4 07/20] gnu: Add rust-hamming-0.1 Nicolas Graves via Guix-patches via @ 2024-11-05 23:14 ` Nicolas Graves via Guix-patches via 2024-11-05 23:14 ` [bug#73896] [PATCH v4 09/20] gnu: Add rust-primal-check-0.3 Nicolas Graves via Guix-patches via ` (11 subsequent siblings) 18 siblings, 0 replies; 44+ messages in thread From: Nicolas Graves via Guix-patches via @ 2024-11-05 23:14 UTC (permalink / raw) To: 73896; +Cc: Nicolas Graves * gnu/packages/crates-io.scm (rust-primal-bit-0.3): New variable. --- gnu/packages/crates-io.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index e551600dc7..03375f4fe4 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -56602,6 +56602,27 @@ (define-public rust-prettytable-rs-0.8 formatted tables in terminal.") (license license:bsd-3))) +(define-public rust-primal-bit-0.3 + (package + (name "rust-primal-bit") + (version "0.3.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "primal-bit" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0mb0cdxhlm6phhl2f4d7nf7g4yrnd8xdq07m7liw7b5fp3djj915")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs (("rust-hamming" ,rust-hamming-0.1)))) + (home-page "https://github.com/huonw/primal") + (synopsis "Bit-vector specialised for rust-primal") + (description + "This package provides a bit-vector specialised to the +prime-number-related needs of @code{rust-primal}.") + (license (list license:expat license:asl2.0)))) + (define-public rust-print-bytes-1 (package (name "rust-print-bytes") -- 2.46.0 ^ permalink raw reply related [flat|nested] 44+ messages in thread
* [bug#73896] [PATCH v4 09/20] gnu: Add rust-primal-check-0.3. 2024-11-05 23:14 ` [bug#73896] [PATCH v4 01/20] gnu: rust-widestring-0.4: Update to 0.4.3 Nicolas Graves via Guix-patches via ` (6 preceding siblings ...) 2024-11-05 23:14 ` [bug#73896] [PATCH v4 08/20] gnu: Add rust-primal-bit-0.3 Nicolas Graves via Guix-patches via @ 2024-11-05 23:14 ` Nicolas Graves via Guix-patches via 2024-11-05 23:14 ` [bug#73896] [PATCH v4 10/20] gnu: Add rust-primal-estimate-0.3 Nicolas Graves via Guix-patches via ` (10 subsequent siblings) 18 siblings, 0 replies; 44+ messages in thread From: Nicolas Graves via Guix-patches via @ 2024-11-05 23:14 UTC (permalink / raw) To: 73896; +Cc: Nicolas Graves * gnu/packages/crates-io.scm (rust-primal-check-0.3): New variable. --- gnu/packages/crates-io.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index 03375f4fe4..a025472d5e 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -56623,6 +56623,28 @@ (define-public rust-primal-bit-0.3 prime-number-related needs of @code{rust-primal}.") (license (list license:expat license:asl2.0)))) +(define-public rust-primal-check-0.3 + (package + (name "rust-primal-check") + (version "0.3.4") + (source + (origin + (method url-fetch) + (uri (crate-uri "primal-check" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "025xnak4rhkwa4h970bjb3cvp2k853wviyr84n8gjfhy65dqj3fw")))) + (build-system cargo-build-system) + ;; Circular development input rust-primal + (arguments + `(#:skip-build? #t + #:cargo-inputs (("rust-num-integer" ,rust-num-integer-0.1)))) + (home-page "https://github.com/huonw/primal") + (synopsis "Test primality") + (description + "This package provides a standalone primality testing tool.") + (license (list license:expat license:asl2.0)))) + (define-public rust-print-bytes-1 (package (name "rust-print-bytes") -- 2.46.0 ^ permalink raw reply related [flat|nested] 44+ messages in thread
* [bug#73896] [PATCH v4 10/20] gnu: Add rust-primal-estimate-0.3. 2024-11-05 23:14 ` [bug#73896] [PATCH v4 01/20] gnu: rust-widestring-0.4: Update to 0.4.3 Nicolas Graves via Guix-patches via ` (7 preceding siblings ...) 2024-11-05 23:14 ` [bug#73896] [PATCH v4 09/20] gnu: Add rust-primal-check-0.3 Nicolas Graves via Guix-patches via @ 2024-11-05 23:14 ` Nicolas Graves via Guix-patches via 2024-11-05 23:14 ` [bug#73896] [PATCH v4 11/20] gnu: Add rust-primal-sieve-0.3 Nicolas Graves via Guix-patches via ` (9 subsequent siblings) 18 siblings, 0 replies; 44+ messages in thread From: Nicolas Graves via Guix-patches via @ 2024-11-05 23:14 UTC (permalink / raw) To: 73896; +Cc: Nicolas Graves * gnu/packages/crates-io.scm (rust-primal-estimate-0.3): New variable. --- gnu/packages/crates-io.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index a025472d5e..eb26506de7 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -56645,6 +56645,28 @@ (define-public rust-primal-check-0.3 "This package provides a standalone primality testing tool.") (license (list license:expat license:asl2.0)))) +(define-public rust-primal-estimate-0.3 + (package + (name "rust-primal-estimate") + (version "0.3.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "primal-estimate" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "08nq0n0r35rni65h79fynync0wyy8agrxy5mfmg0hq9s1c510cm4")))) + (build-system cargo-build-system) + ;; Circular development input rust-primal + (arguments + `(#:skip-build? #t)) + (home-page "https://github.com/huonw/primal") + (synopsis "Estimate upper and lower bounds for the k-th prime") + (description + "This package provides a state-of-the-art estimation of upper and lower +bounds for the number of primes below n and the k-th prime.") + (license (list license:expat license:asl2.0)))) + (define-public rust-print-bytes-1 (package (name "rust-print-bytes") -- 2.46.0 ^ permalink raw reply related [flat|nested] 44+ messages in thread
* [bug#73896] [PATCH v4 11/20] gnu: Add rust-primal-sieve-0.3. 2024-11-05 23:14 ` [bug#73896] [PATCH v4 01/20] gnu: rust-widestring-0.4: Update to 0.4.3 Nicolas Graves via Guix-patches via ` (8 preceding siblings ...) 2024-11-05 23:14 ` [bug#73896] [PATCH v4 10/20] gnu: Add rust-primal-estimate-0.3 Nicolas Graves via Guix-patches via @ 2024-11-05 23:14 ` Nicolas Graves via Guix-patches via 2024-11-05 23:15 ` [bug#73896] [PATCH v4 12/20] gnu: Add rust-primal-slowsieve-0.3 Nicolas Graves via Guix-patches via ` (8 subsequent siblings) 18 siblings, 0 replies; 44+ messages in thread From: Nicolas Graves via Guix-patches via @ 2024-11-05 23:14 UTC (permalink / raw) To: 73896; +Cc: Nicolas Graves * gnu/packages/crates-io.scm (rust-primal-sieve-0.3): New variable. --- gnu/packages/crates-io.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index eb26506de7..40681cee8a 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -56667,6 +56667,29 @@ (define-public rust-primal-estimate-0.3 bounds for the number of primes below n and the k-th prime.") (license (list license:expat license:asl2.0)))) +(define-public rust-primal-sieve-0.3 + (package + (name "rust-primal-sieve") + (version "0.3.7") + (source + (origin + (method url-fetch) + (uri (crate-uri "primal-sieve" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1lzdllk78jqdp93h15l69s4xglbjcf6jlq6khccka0r2v2b2g64f")))) + (build-system cargo-build-system) + (arguments + ;; Circular development input rust-primal + `(#:skip-build? #t + #:cargo-inputs (("rust-primal-bit" ,rust-primal-bit-0.3) + ("rust-primal-estimate" ,rust-primal-estimate-0.3) + ("rust-smallvec" ,rust-smallvec-1)))) + (home-page "https://github.com/huonw/primal") + (synopsis "Prime sieve") + (description "This package provides a high performance prime sieve.") + (license (list license:expat license:asl2.0)))) + (define-public rust-print-bytes-1 (package (name "rust-print-bytes") -- 2.46.0 ^ permalink raw reply related [flat|nested] 44+ messages in thread
* [bug#73896] [PATCH v4 12/20] gnu: Add rust-primal-slowsieve-0.3. 2024-11-05 23:14 ` [bug#73896] [PATCH v4 01/20] gnu: rust-widestring-0.4: Update to 0.4.3 Nicolas Graves via Guix-patches via ` (9 preceding siblings ...) 2024-11-05 23:14 ` [bug#73896] [PATCH v4 11/20] gnu: Add rust-primal-sieve-0.3 Nicolas Graves via Guix-patches via @ 2024-11-05 23:15 ` Nicolas Graves via Guix-patches via 2024-11-05 23:15 ` [bug#73896] [PATCH v4 13/20] gnu: Add rust-primal-0.3 Nicolas Graves via Guix-patches via ` (7 subsequent siblings) 18 siblings, 0 replies; 44+ messages in thread From: Nicolas Graves via Guix-patches via @ 2024-11-05 23:15 UTC (permalink / raw) To: 73896; +Cc: Nicolas Graves * gnu/packages/crates-io.scm (rust-primal-slowsieve-0.3): New variable. --- gnu/packages/crates-io.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index 40681cee8a..8bab66850e 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -56690,6 +56690,30 @@ (define-public rust-primal-sieve-0.3 (description "This package provides a high performance prime sieve.") (license (list license:expat license:asl2.0)))) +(define-public rust-primal-slowsieve-0.3 + (package + (name "rust-primal-slowsieve") + (version "0.3.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "primal-slowsieve" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "02pixp7xprkmj0fvjgg6n4dn5f8syr6xj2m2dxn0nyg06b8lipy9")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs (("rust-primal-bit" ,rust-primal-bit-0.3) + ("rust-primal-estimate" ,rust-primal-estimate-0.3)) + #:cargo-development-inputs (("rust-criterion" ,rust-criterion-0.3)))) + (home-page "https://github.com/huonw/primal") + (synopsis "Simple sieve of Eratosthenes") + (description + "This package provides a simple sieve of Eratosthenes designed for +testing faster sieves. For use in Rust crates, use @code{rust-primal-sieve} +or @code{rust-primal} instead.") + (license (list license:expat license:asl2.0)))) + (define-public rust-print-bytes-1 (package (name "rust-print-bytes") -- 2.46.0 ^ permalink raw reply related [flat|nested] 44+ messages in thread
* [bug#73896] [PATCH v4 13/20] gnu: Add rust-primal-0.3. 2024-11-05 23:14 ` [bug#73896] [PATCH v4 01/20] gnu: rust-widestring-0.4: Update to 0.4.3 Nicolas Graves via Guix-patches via ` (10 preceding siblings ...) 2024-11-05 23:15 ` [bug#73896] [PATCH v4 12/20] gnu: Add rust-primal-slowsieve-0.3 Nicolas Graves via Guix-patches via @ 2024-11-05 23:15 ` Nicolas Graves via Guix-patches via 2024-11-05 23:15 ` [bug#73896] [PATCH v4 14/20] gnu: rust-crc-any-2: Update to 2.5.0 Nicolas Graves via Guix-patches via ` (6 subsequent siblings) 18 siblings, 0 replies; 44+ messages in thread From: Nicolas Graves via Guix-patches via @ 2024-11-05 23:15 UTC (permalink / raw) To: 73896; +Cc: Nicolas Graves * gnu/packages/crates-io.scm (rust-primal-0.3): New variable. --- gnu/packages/crates-io.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index 8bab66850e..4cb6de28b3 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -56602,6 +56602,33 @@ (define-public rust-prettytable-rs-0.8 formatted tables in terminal.") (license license:bsd-3))) +(define-public rust-primal-0.3 + (package + (name "rust-primal") + (version "0.3.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "primal" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1s6n396cssbr86f9w31sppdf06xsymgrl7y9gw0yccl5jiag7rdi")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs (("rust-primal-check" ,rust-primal-check-0.3) + ("rust-primal-estimate" ,rust-primal-estimate-0.3) + ("rust-primal-sieve" ,rust-primal-sieve-0.3)) + #:cargo-development-inputs + (("rust-primal-slowsieve" ,rust-primal-slowsieve-0.3)))) + (home-page "https://github.com/huonw/primal") + (synopsis "Various tools for prime numbers") + (description + "This package provides various tools to work with prime numbers. It +includes: optimised prime sieves, checking for primality, enumerating primes, +factorising numbers, and state-of-the-art estimation of upper and lower bounds +for the number of primes below n and the k-th prime.") + (license (list license:expat license:asl2.0)))) + (define-public rust-primal-bit-0.3 (package (name "rust-primal-bit") -- 2.46.0 ^ permalink raw reply related [flat|nested] 44+ messages in thread
* [bug#73896] [PATCH v4 14/20] gnu: rust-crc-any-2: Update to 2.5.0. 2024-11-05 23:14 ` [bug#73896] [PATCH v4 01/20] gnu: rust-widestring-0.4: Update to 0.4.3 Nicolas Graves via Guix-patches via ` (11 preceding siblings ...) 2024-11-05 23:15 ` [bug#73896] [PATCH v4 13/20] gnu: Add rust-primal-0.3 Nicolas Graves via Guix-patches via @ 2024-11-05 23:15 ` Nicolas Graves via Guix-patches via 2024-11-05 23:15 ` [bug#73896] [PATCH v4 15/20] gnu: Add rust-delharc-0.6 Nicolas Graves via Guix-patches via ` (5 subsequent siblings) 18 siblings, 0 replies; 44+ messages in thread From: Nicolas Graves via Guix-patches via @ 2024-11-05 23:15 UTC (permalink / raw) To: 73896; +Cc: Nicolas Graves * gnu/packages/crates-io.scm (rust-crc-any-2): Update to 2.5.0. --- gnu/packages/crates-io.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index 4cb6de28b3..bc585b20a5 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -16925,7 +16925,7 @@ (define-public rust-crc-1 (define-public rust-crc-any-2 (package (name "rust-crc-any") - (version "2.3.12") + (version "2.5.0") (source (origin (method url-fetch) @@ -16933,7 +16933,7 @@ (define-public rust-crc-any-2 (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "0fq85y5akcadahnj5nqbs47qhgp5cpfn2z19zc3gp4wpxr3989kr")))) + (base32 "0wzs26q5cf29fhfnrkrjsr8dpai0rlm4im8b53by8rbrbzzwjbm6")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs -- 2.46.0 ^ permalink raw reply related [flat|nested] 44+ messages in thread
* [bug#73896] [PATCH v4 15/20] gnu: Add rust-delharc-0.6. 2024-11-05 23:14 ` [bug#73896] [PATCH v4 01/20] gnu: rust-widestring-0.4: Update to 0.4.3 Nicolas Graves via Guix-patches via ` (12 preceding siblings ...) 2024-11-05 23:15 ` [bug#73896] [PATCH v4 14/20] gnu: rust-crc-any-2: Update to 2.5.0 Nicolas Graves via Guix-patches via @ 2024-11-05 23:15 ` Nicolas Graves via Guix-patches via 2024-11-05 23:15 ` [bug#73896] [PATCH v4 16/20] gnu: Add rust-transpose-0.2 Nicolas Graves via Guix-patches via ` (4 subsequent siblings) 18 siblings, 0 replies; 44+ messages in thread From: Nicolas Graves via Guix-patches via @ 2024-11-05 23:15 UTC (permalink / raw) To: 73896; +Cc: Nicolas Graves * gnu/packages/crates-io.scm (rust-delharc-0.6): New variable. --- gnu/packages/crates-io.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index bc585b20a5..95d29aff87 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -20408,6 +20408,33 @@ (define-public rust-dejavu-2 "This package provides the @code{DejaVu} font family for embedding.") (license (list license:expat license:asl2.0)))) +(define-public rust-delharc-0.6 + (package + (name "rust-delharc") + (version "0.6.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "delharc" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "18g5haj6bj92azif4jifhdy9vrv6blg3wyvpmxslh2gm2wkbm4qw")))) + (build-system cargo-build-system) + (arguments + `(#:tests? #f ; Missing files + #:cargo-inputs (("rust-bitflags" ,rust-bitflags-2) + ("rust-chrono" ,rust-chrono-0.4) + ("rust-memchr" ,rust-memchr-2)) + #:cargo-development-inputs (("rust-crc-any" ,rust-crc-any-2) + ("rust-rand" ,rust-rand-0.8)))) + (home-page "https://github.com/royaltm/rust-delharc") + (synopsis + "Parse and extract files from LHA/LZH archives.") + (description + "This package provides a Rust library for parsing and extracting files +from LHA/LZH archives, which are often suffixed @code{.lha} or @code{.lzh}. ") + (license (list license:expat license:asl2.0)))) + (define-public rust-demo-hack-0.0 (package (name "rust-demo-hack") -- 2.46.0 ^ permalink raw reply related [flat|nested] 44+ messages in thread
* [bug#73896] [PATCH v4 16/20] gnu: Add rust-transpose-0.2. 2024-11-05 23:14 ` [bug#73896] [PATCH v4 01/20] gnu: rust-widestring-0.4: Update to 0.4.3 Nicolas Graves via Guix-patches via ` (13 preceding siblings ...) 2024-11-05 23:15 ` [bug#73896] [PATCH v4 15/20] gnu: Add rust-delharc-0.6 Nicolas Graves via Guix-patches via @ 2024-11-05 23:15 ` Nicolas Graves via Guix-patches via 2024-11-05 23:15 ` [bug#73896] [PATCH v4 17/20] gnu: rust-strength-reduce-0.2: Update to 0.2.4 Nicolas Graves via Guix-patches via ` (3 subsequent siblings) 18 siblings, 0 replies; 44+ messages in thread From: Nicolas Graves via Guix-patches via @ 2024-11-05 23:15 UTC (permalink / raw) To: 73896; +Cc: Nicolas Graves * gnu/packages/crates-io.scm (rust-transpose-0.2): New variable. --- gnu/packages/crates-io.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index 95d29aff87..e3a8609e4f 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -85039,6 +85039,27 @@ (define-public rust-traitobject-0.1 (license (list license:asl2.0 license:expat)))) +(define-public rust-transpose-0.2 + (package + (name "rust-transpose") + (version "0.2.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "transpose" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0zp74v7jrjg4jr654dncdj6hqvacicsywyhc62jawgxwhvnimmhs")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs (("rust-num-integer" ,rust-num-integer-0.1) + ("rust-strength-reduce" ,rust-strength-reduce-0.2)))) + (home-page "https://github.com/ejmahler/transpose") + (synopsis "Utility for transposing multi-dimensional data") + (description + "This package provides utilities for transposing multi-dimensional data.") + (license (list license:expat license:asl2.0)))) + (define-public rust-trash-3 (package (name "rust-trash") -- 2.46.0 ^ permalink raw reply related [flat|nested] 44+ messages in thread
* [bug#73896] [PATCH v4 17/20] gnu: rust-strength-reduce-0.2: Update to 0.2.4. 2024-11-05 23:14 ` [bug#73896] [PATCH v4 01/20] gnu: rust-widestring-0.4: Update to 0.4.3 Nicolas Graves via Guix-patches via ` (14 preceding siblings ...) 2024-11-05 23:15 ` [bug#73896] [PATCH v4 16/20] gnu: Add rust-transpose-0.2 Nicolas Graves via Guix-patches via @ 2024-11-05 23:15 ` Nicolas Graves via Guix-patches via 2024-11-05 23:15 ` [bug#73896] [PATCH v4 18/20] gnu: Add rust-rustfft-6 Nicolas Graves via Guix-patches via ` (2 subsequent siblings) 18 siblings, 0 replies; 44+ messages in thread From: Nicolas Graves via Guix-patches via @ 2024-11-05 23:15 UTC (permalink / raw) To: 73896; +Cc: Nicolas Graves * gnu/packages/crates-io.scm (rust-strength-reduce-0.2): Update to 0.2.4. [arguments]<#:skip-build?>: Drop option. <#:cargo-development-inputs>: Add rust-num-bigint. --- gnu/packages/crates-io.scm | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index e3a8609e4f..aaaa1102fe 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -75180,16 +75180,18 @@ (define-public rust-streaming-stats-0.2 (define-public rust-strength-reduce-0.2 (package (name "rust-strength-reduce") - (version "0.2.3") + (version "0.2.4") (source (origin (method url-fetch) (uri (crate-uri "strength_reduce" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "0m12phq654mfxpmh2h5akqkag5ha6nlhjc2bp9jwarr5r1qjzzx3")))) + (base32 "10jdq9dijjdkb20wg1dmwg447rnj37jbq0mwvbadvqi2gys5x2gy")))) (build-system cargo-build-system) - (arguments `(#:skip-build? #t)) + (arguments + `(#:cargo-development-inputs + (("rust-num-bigint" ,rust-num-bigint-0.4)))) (home-page "http://github.com/ejmahler/strength_reduce") (synopsis "Faster integer division and modulus operations") (description "Strength_reduce implements integer division and modulo via -- 2.46.0 ^ permalink raw reply related [flat|nested] 44+ messages in thread
* [bug#73896] [PATCH v4 18/20] gnu: Add rust-rustfft-6. 2024-11-05 23:14 ` [bug#73896] [PATCH v4 01/20] gnu: rust-widestring-0.4: Update to 0.4.3 Nicolas Graves via Guix-patches via ` (15 preceding siblings ...) 2024-11-05 23:15 ` [bug#73896] [PATCH v4 17/20] gnu: rust-strength-reduce-0.2: Update to 0.2.4 Nicolas Graves via Guix-patches via @ 2024-11-05 23:15 ` Nicolas Graves via Guix-patches via 2024-11-05 23:15 ` [bug#73896] [PATCH v4 19/20] gnu: Add rust-rustdct-0.7 Nicolas Graves via Guix-patches via 2024-11-05 23:15 ` [bug#73896] [PATCH v4 20/20] gnu: clamav: Unbundle rust dependencies Nicolas Graves via Guix-patches via 18 siblings, 0 replies; 44+ messages in thread From: Nicolas Graves via Guix-patches via @ 2024-11-05 23:15 UTC (permalink / raw) To: 73896; +Cc: Nicolas Graves * gnu/packages/crates-io.scm (rust-rustfft-6): New variable. --- gnu/packages/crates-io.scm | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index aaaa1102fe..cb71f71b85 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -66462,6 +66462,38 @@ (define-public rust-rustdoc-types-0.23 (description "Types for rustdoc's json output.") (license (list license:expat license:asl2.0)))) +(define-public rust-rustfft-6 + (package + (name "rust-rustfft") + (version "6.2.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "rustfft" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "11hx83yr2h2jszkba9qhq2d08q9i5rsashq62rfhqvahpihnb023")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-development-inputs + (("rust-rand" ,rust-rand-0.8) + ("rust-paste" ,rust-paste-1) + ("rust-getrandom" ,rust-getrandom-0.2) + ("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.3)) + #:cargo-inputs (("rust-num-complex" ,rust-num-complex-0.4) + ("rust-num-integer" ,rust-num-integer-0.1) + ("rust-num-traits" ,rust-num-traits-0.2) + ("rust-primal-check" ,rust-primal-check-0.3) + ("rust-strength-reduce" ,rust-strength-reduce-0.2) + ("rust-transpose" ,rust-transpose-0.2) + ("rust-version-check" ,rust-version-check-0.9)))) + (home-page "https://github.com/ejmahler/RustFFT") + (synopsis "Rust FFT library") + (description + "This package provides a high-performance FFT (Fast Fourier Transform) +library written in pure Rust.") + (license (list license:expat license:asl2.0)))) + (define-public rust-rustfix-0.8 (package (name "rust-rustfix") -- 2.46.0 ^ permalink raw reply related [flat|nested] 44+ messages in thread
* [bug#73896] [PATCH v4 19/20] gnu: Add rust-rustdct-0.7. 2024-11-05 23:14 ` [bug#73896] [PATCH v4 01/20] gnu: rust-widestring-0.4: Update to 0.4.3 Nicolas Graves via Guix-patches via ` (16 preceding siblings ...) 2024-11-05 23:15 ` [bug#73896] [PATCH v4 18/20] gnu: Add rust-rustfft-6 Nicolas Graves via Guix-patches via @ 2024-11-05 23:15 ` Nicolas Graves via Guix-patches via 2024-11-05 23:15 ` [bug#73896] [PATCH v4 20/20] gnu: clamav: Unbundle rust dependencies Nicolas Graves via Guix-patches via 18 siblings, 0 replies; 44+ messages in thread From: Nicolas Graves via Guix-patches via @ 2024-11-05 23:15 UTC (permalink / raw) To: 73896; +Cc: Nicolas Graves * gnu/packages/crates-io.scm (rust-rustdct-0.7): New variable. --- gnu/packages/crates-io.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index cb71f71b85..b8d544f6b3 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -66389,6 +66389,28 @@ (define-public rust-rustc-version-0.1 `(#:cargo-inputs (("rust-semver" ,rust-semver-0.1)))))) +(define-public rust-rustdct-0.7 + (package + (name "rust-rustdct") + (version "0.7.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "rustdct" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0lcm1191xx8wizima5j3n25fs90x58v3q1kwg6cbzafn0m8maqcb")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs (("rust-rustfft" ,rust-rustfft-6)) + #:cargo-development-inputs (("rust-rand" ,rust-rand-0.8)))) + (home-page "https://github.com/ejmahler/rust_dct") + (synopsis "Compute Discrete Cosine Transforms (DCT) in pure Rust") + (description + "This package provides a Rust library to compute the main Discrete Cosine +Transforms (DCT) of any size in O(nlogn) time.") + (license (list license:expat license:asl2.0)))) + (define-public rust-rustdoc-json-0.8 (package (name "rust-rustdoc-json") -- 2.46.0 ^ permalink raw reply related [flat|nested] 44+ messages in thread
* [bug#73896] [PATCH v4 20/20] gnu: clamav: Unbundle rust dependencies. 2024-11-05 23:14 ` [bug#73896] [PATCH v4 01/20] gnu: rust-widestring-0.4: Update to 0.4.3 Nicolas Graves via Guix-patches via ` (17 preceding siblings ...) 2024-11-05 23:15 ` [bug#73896] [PATCH v4 19/20] gnu: Add rust-rustdct-0.7 Nicolas Graves via Guix-patches via @ 2024-11-05 23:15 ` Nicolas Graves via Guix-patches via 18 siblings, 0 replies; 44+ messages in thread From: Nicolas Graves via Guix-patches via @ 2024-11-05 23:15 UTC (permalink / raw) To: 73896; +Cc: Nicolas Graves * gnu/packages/antivirus.scm (clamav) [origin]<snippet>: Unbundle rust dependencies. [build-system]: Switch to cargo-build-system. [arguments]: Adapt to the change of base build-system. [native-inputs]: Add cmake-minimal. Remove rust and rust:cargo. --- gnu/packages/antivirus.scm | 135 +++++++++++++++++++++++++++---------- 1 file changed, 99 insertions(+), 36 deletions(-) diff --git a/gnu/packages/antivirus.scm b/gnu/packages/antivirus.scm index 1a23657a61..b561ff060a 100644 --- a/gnu/packages/antivirus.scm +++ b/gnu/packages/antivirus.scm @@ -31,12 +31,17 @@ (define-module (gnu packages antivirus) #:use-module (gnu packages) #:use-module (gnu packages check) #:use-module (gnu packages compression) + #:use-module (gnu packages cmake) + #:use-module (gnu packages crates-crypto) + #:use-module (gnu packages crates-graphics) + #:use-module (gnu packages crates-io) #:use-module (gnu packages curl) #:use-module (gnu packages ncurses) #:use-module (gnu packages pcre) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) #:use-module (gnu packages python-check) + #:use-module (gnu packages rust-apps) #:use-module (gnu packages rust) #:use-module (gnu packages tls) #:use-module (gnu packages web) @@ -62,49 +67,107 @@ (define-public clamav (snippet '(begin (delete-file "Cargo.lock") - (for-each - delete-file - (find-files ".cargo/vendor" ".cargo-checksum\\.json")) (for-each delete-file-recursively - '("win32" ; unnecessary + '(".cargo" ; vendored rust inputs + "win32" ; unnecessary "libclamunrar")))))) ; non-free license - (build-system cmake-build-system) + (build-system cargo-build-system) (arguments - (list - #:configure-flags - #~(list "-DENABLE_MILTER=OFF" "-DENABLE_UNRAR=OFF") - #:imported-modules `((guix build cargo-utils) - ,@%cmake-build-system-modules) - #:phases - #~(modify-phases %standard-phases - (add-after 'unpack 'inject-rust-onenote - (lambda _ - (substitute* "libclamav_rust/Cargo.toml" - (("onenote_parser = .*") - "onenote_parser = \"0.3.1\"\n")))) - (add-after 'patch-source-shebangs 'patch-cargo-checksums - (lambda _ - (use-modules - (srfi srfi-1) (ice-9 ftw) (guix build cargo-utils)) - (with-directory-excursion ".cargo/vendor" - (for-each generate-all-checksums - (delete "." (delete ".." (scandir "."))))))) - (add-after 'unpack 'skip-clamd-tests - ;; XXX: The check?_clamd tests fail inside the build - ;; chroot, but pass outside. - (lambda* (#:key tests? #:allow-other-keys) - (when tests? - (substitute* "unit_tests/CMakeLists.txt" - (("clamd_test\\.py" test) - (string-append - test " -k \"not test_clamd_08_VirusEvent\""))))))))) + (let ((cargo-inputs + `(("rust-flate2" ,rust-flate2-1) + ("rust-hex" ,rust-hex-0.4) + ("rust-libc" ,rust-libc-0.2) + ("rust-log" ,rust-log-0.4) + ("rust-sha2" ,rust-sha2-0.10) + ("rust-tempfile" ,rust-tempfile-3) + ("rust-thiserror" ,rust-thiserror-1) + ("rust-image" ,rust-image-0.24) + ("rust-rustdct" ,rust-rustdct-0.7) + ("rust-transpose" ,rust-transpose-0.2) + ("rust-num-traits" ,rust-num-traits-0.2) + ("rust-base64" ,rust-base64-0.21) + ("rust-sha1" ,rust-sha1-0.10) + ("rust-unicode-segmentation" ,rust-unicode-segmentation-1) + ("rust-bindgen" ,rust-bindgen-0.66) + ("rust-onenote-parser" ,rust-onenote-parser-for-clamav) + ("rust-hex-literal" ,rust-hex-literal-0.4) + ("rust-inflate" ,rust-inflate-0.4) + ("rust-bzip2-rs" ,rust-bzip2-rs-0.1) + ("rust-byteorder" ,rust-byteorder-1) + ("rust-delharc" ,rust-delharc-0.6))) + (cargo-development-inputs + `(("rust-cbindgen" ,rust-cbindgen-0.26) + ("rust-bindgen" ,rust-bindgen-0.66)))) + (list + #:cargo-inputs cargo-inputs + #:cargo-development-inputs cargo-development-inputs + #:vendor-dir ".cargo/vendor" + #:imported-modules `(,@%cmake-build-system-modules + ,@%cargo-build-system-modules) + #:modules '((guix build cargo-build-system) + ((guix build cmake-build-system) #:prefix cmake:) + (guix build utils)) + #:phases + #~(modify-phases %standard-phases + ;; There is a .exe file used in unit tests. + (delete 'check-for-pregenerated-files) + (add-after 'configure 'fix-cargo-inputs-vendoring + (lambda _ + ;; Reproduce the original layout, fails with config. + (rename-file ".cargo/config" ".cargo/config.toml") + ;; Wrongly placed by configure + (delete-file-recursively + (string-append ".cargo/vendor/clamav-" #$version ".tar.zst")))) + (add-after 'patch-cargo-checksums 'cmake-configure + (lambda* (#:key outputs #:allow-other-keys) + ((assoc-ref cmake:%standard-phases 'configure) + #:configure-flags + (list "-DENABLE_MILTER=OFF" "-DENABLE_UNRAR=OFF") + #:outputs outputs))) + (replace 'build + (assoc-ref cmake:%standard-phases 'build)) + (add-after 'patch-cargo-checksums 'patch-rust-requirements + (lambda _ + (substitute* "libclamav_rust/Cargo.toml" + (("onenote_parser = .*") + (format #f "onenote_parser = ~s~%" + #$(package-version + (car (assoc-ref cargo-inputs + "rust-onenote-parser"))))) + (("^bindgen = .*") + (format #f "bindgen = ~s~%" + #$(package-version + (car (assoc-ref cargo-inputs + "rust-bindgen"))))) + (("cbindgen = \\{ version =\".*\",") + (format #f "cbindgen = { version =~s," + #$(package-version + (car (assoc-ref cargo-development-inputs + "rust-cbindgen")))))))) + (delete 'package) + (replace 'install + (assoc-ref cmake:%standard-phases 'install)) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + ((assoc-ref cmake:%standard-phases 'check) + #:tests? tests? + #:parallel-tests? #t + #:test-target "test"))) + (add-after 'unpack 'skip-clamd-tests + ;; XXX: The check?_clamd tests fail inside the build + ;; chroot, but pass outside. + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (substitute* "unit_tests/CMakeLists.txt" + (("clamd_test\\.py" test) + (string-append + test " -k \"not test_clamd_08_VirusEvent\"")))))))))) (native-inputs (list check ; for tests + cmake-minimal pkg-config python-minimal - python-pytest - rust - (list rust "cargo"))) + python-pytest)) (inputs (list bzip2 curl -- 2.46.0 ^ permalink raw reply related [flat|nested] 44+ messages in thread
end of thread, other threads:[~2024-11-05 23:54 UTC | newest] Thread overview: 44+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2024-10-19 23:08 [bug#73896] [PATCH] gnu: clamav: Add release-monitoring-url property Nicolas Graves via Guix-patches via 2024-10-21 9:05 ` [bug#73896] [PATCH v2 1/2] " Nicolas Graves via Guix-patches via 2024-10-21 9:05 ` [bug#73896] [PATCH v2 2/2] gnu: clamav: Update to 1.4.1 Nicolas Graves via Guix-patches via 2024-11-03 1:30 ` [bug#73896] [PATCH v3 00/20] Clamav update [security fixes] Nicolas Graves via Guix-patches via 2024-11-03 1:30 ` [bug#73896] [PATCH v3 01/20] gnu: rust-widestring-0.4: Update to 0.4.3 Nicolas Graves via Guix-patches via 2024-11-03 1:30 ` [bug#73896] [PATCH v3 02/20] gnu: rust-enum-primitive-derive-0.2: Update to 0.2.2 Nicolas Graves via Guix-patches via 2024-11-03 1:30 ` [bug#73896] [PATCH v3 03/20] gnu: Add rust-onenote-parser-0.3 Nicolas Graves via Guix-patches via 2024-11-03 1:30 ` [bug#73896] [PATCH v3 04/20] gnu: Add rust-onenote-parser-for-clamav Nicolas Graves via Guix-patches via 2024-11-03 1:30 ` [bug#73896] [PATCH v3 05/20] gnu: clamav: Add release-monitoring-url property Nicolas Graves via Guix-patches via 2024-11-03 1:30 ` [bug#73896] [PATCH v3 06/20] gnu: clamav: Update to 1.4.1 Nicolas Graves via Guix-patches via 2024-11-03 1:30 ` [bug#73896] [PATCH v3 07/20] gnu: Add rust-hamming-0.1 Nicolas Graves via Guix-patches via 2024-11-03 1:30 ` [bug#73896] [PATCH v3 08/20] gnu: Add rust-primal-bit-0.3 Nicolas Graves via Guix-patches via 2024-11-03 1:30 ` [bug#73896] [PATCH v3 09/20] gnu: Add rust-primal-check-0.3 Nicolas Graves via Guix-patches via 2024-11-03 1:30 ` [bug#73896] [PATCH v3 10/20] gnu: Add rust-primal-estimate-0.3 Nicolas Graves via Guix-patches via 2024-11-03 1:30 ` [bug#73896] [PATCH v3 11/20] gnu: Add rust-primal-sieve-0.3 Nicolas Graves via Guix-patches via 2024-11-03 1:30 ` [bug#73896] [PATCH v3 12/20] gnu: Add rust-primal-slowsieve-0.3 Nicolas Graves via Guix-patches via 2024-11-03 1:30 ` [bug#73896] [PATCH v3 13/20] gnu: Add rust-primal-0.3 Nicolas Graves via Guix-patches via 2024-11-03 1:30 ` [bug#73896] [PATCH v3 14/20] gnu: rust-crc-any-2: Update to 2.5.0 Nicolas Graves via Guix-patches via 2024-11-03 1:30 ` [bug#73896] [PATCH v3 15/20] gnu: Add rust-delharc-0.6 Nicolas Graves via Guix-patches via 2024-11-03 1:30 ` [bug#73896] [PATCH v3 16/20] gnu: Add rust-transpose-0.2 Nicolas Graves via Guix-patches via 2024-11-03 1:30 ` [bug#73896] [PATCH v3 17/20] gnu: rust-strength-reduce-0.2: Update to 0.2.4 Nicolas Graves via Guix-patches via 2024-11-03 1:30 ` [bug#73896] [PATCH v3 18/20] gnu: Add rust-rustfft-6 Nicolas Graves via Guix-patches via 2024-11-03 1:30 ` [bug#73896] [PATCH v3 19/20] gnu: Add rust-rustdct-0.7 Nicolas Graves via Guix-patches via 2024-11-03 1:30 ` [bug#73896] [PATCH v3 20/20] gnu: clamav: Unbundle rust dependencies Nicolas Graves via Guix-patches via 2024-11-05 23:14 ` [bug#73896] [PATCH v4 01/20] gnu: rust-widestring-0.4: Update to 0.4.3 Nicolas Graves via Guix-patches via 2024-11-05 23:14 ` [bug#73896] [PATCH v4 02/20] gnu: rust-enum-primitive-derive-0.2: Update to 0.2.2 Nicolas Graves via Guix-patches via 2024-11-05 23:14 ` [bug#73896] [PATCH v4 03/20] gnu: Add rust-onenote-parser-0.3 Nicolas Graves via Guix-patches via 2024-11-05 23:14 ` [bug#73896] [PATCH v4 04/20] gnu: Add rust-onenote-parser-for-clamav Nicolas Graves via Guix-patches via 2024-11-05 23:14 ` [bug#73896] [PATCH v4 05/20] gnu: clamav: Add release-monitoring-url property Nicolas Graves via Guix-patches via 2024-11-05 23:14 ` [bug#73896] [PATCH v4 06/20] gnu: clamav: Update to 1.4.1 Nicolas Graves via Guix-patches via 2024-11-05 23:14 ` [bug#73896] [PATCH v4 07/20] gnu: Add rust-hamming-0.1 Nicolas Graves via Guix-patches via 2024-11-05 23:14 ` [bug#73896] [PATCH v4 08/20] gnu: Add rust-primal-bit-0.3 Nicolas Graves via Guix-patches via 2024-11-05 23:14 ` [bug#73896] [PATCH v4 09/20] gnu: Add rust-primal-check-0.3 Nicolas Graves via Guix-patches via 2024-11-05 23:14 ` [bug#73896] [PATCH v4 10/20] gnu: Add rust-primal-estimate-0.3 Nicolas Graves via Guix-patches via 2024-11-05 23:14 ` [bug#73896] [PATCH v4 11/20] gnu: Add rust-primal-sieve-0.3 Nicolas Graves via Guix-patches via 2024-11-05 23:15 ` [bug#73896] [PATCH v4 12/20] gnu: Add rust-primal-slowsieve-0.3 Nicolas Graves via Guix-patches via 2024-11-05 23:15 ` [bug#73896] [PATCH v4 13/20] gnu: Add rust-primal-0.3 Nicolas Graves via Guix-patches via 2024-11-05 23:15 ` [bug#73896] [PATCH v4 14/20] gnu: rust-crc-any-2: Update to 2.5.0 Nicolas Graves via Guix-patches via 2024-11-05 23:15 ` [bug#73896] [PATCH v4 15/20] gnu: Add rust-delharc-0.6 Nicolas Graves via Guix-patches via 2024-11-05 23:15 ` [bug#73896] [PATCH v4 16/20] gnu: Add rust-transpose-0.2 Nicolas Graves via Guix-patches via 2024-11-05 23:15 ` [bug#73896] [PATCH v4 17/20] gnu: rust-strength-reduce-0.2: Update to 0.2.4 Nicolas Graves via Guix-patches via 2024-11-05 23:15 ` [bug#73896] [PATCH v4 18/20] gnu: Add rust-rustfft-6 Nicolas Graves via Guix-patches via 2024-11-05 23:15 ` [bug#73896] [PATCH v4 19/20] gnu: Add rust-rustdct-0.7 Nicolas Graves via Guix-patches via 2024-11-05 23:15 ` [bug#73896] [PATCH v4 20/20] gnu: clamav: Unbundle rust dependencies Nicolas Graves via Guix-patches via
Code repositories for project(s) associated with this public inbox https://git.savannah.gnu.org/cgit/guix.git This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).