[PATCH] gnu: clamav: Add release-monitoring-url property.

  • Open
  • quality assurance status badge
Details
One participant
  • Nicolas Graves
Owner
unassigned
Submitted by
Nicolas Graves
Severity
normal
N
N
Nicolas Graves wrote on 20 Oct 01:08 +0200
(address . guix-patches@gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20241019230841.993-1-ngraves@ngraves.fr
* 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(-)

Toggle diff (31 lines)
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
N
N
Nicolas Graves wrote on 21 Oct 11:05 +0200
[PATCH v2 1/2] gnu: clamav: Add release-monitoring-url property.
(address . 73896@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20241021090600.20076-1-ngraves@ngraves.fr
* 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(-)

Toggle diff (31 lines)
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
N
N
Nicolas Graves wrote on 21 Oct 11:05 +0200
[PATCH v2 2/2] gnu: clamav: Update to 1.4.1.
(address . 73896@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20241021090600.20076-2-ngraves@ngraves.fr
* 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(-)

Toggle diff (188 lines)
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
?
Your comment

Commenting via the web interface is currently disabled.

To comment on this conversation send an email to 73896@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 73896
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch