all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* [bug#73896] [PATCH] gnu: clamav: Add release-monitoring-url property.
@ 2024-10-19 23:08 Nicolas Graves via Guix-patches via
  2024-10-21  9:05 ` [bug#73896] [PATCH v2 1/2] " Nicolas Graves via Guix-patches via
  0 siblings, 1 reply; 3+ 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] 3+ 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
  0 siblings, 1 reply; 3+ 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] 3+ 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; 3+ 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] 3+ messages in thread

end of thread, other threads:[~2024-10-21  9:07 UTC | newest]

Thread overview: 3+ 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

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

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

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