(define-module (glicid packages wazuh) #:use-module ((guix licenses) #:prefix lic:) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix utils) #:use-module (guix build utils) #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) #:use-module (gnu packages) #:use-module (gnu packages autotools) #:use-module (gnu packages base) #:use-module (gnu packages compression) #:use-module (gnu packages selinux) #:use-module (gnu packages wget) #:use-module (gnu packages curl) #:use-module (gnu packages certs) ; not sure if needed #:use-module (gnu packages perl) #:use-module (gnu packages gawk) #:use-module (gnu packages cmake) #:use-module (gnu packages javascript) #:use-module (gnu packages sqlite) #:use-module (gnu packages serialization) #:use-module (gnu packages admin) #:use-module (gnu packages libffi) #:use-module (gnu packages libusb) #:use-module (gnu packages python-xyz) #:use-module (gnu packages check) #:use-module (gnu packages pcre) #:use-module (gnu packages popt) #:use-module (gnu packages package-management) #:use-module (gnu packages llvm) #:use-module (gnu packages tls) #:use-module (gnu packages commencement) #:use-module (gnu packages python) #:use-module (gnu packages bash) #:use-module (glicid utils) ) (define-public wazuh-agent (package (name "wazuh-agent") (version "4.3.10") (source (origin (method url-fetch) (uri (string-append "https://github.com/wazuh/wazuh/archive/refs/tags/v" version ".tar.gz" )) (sha256 (base32 "0zy6w004n7px2zhy6dws1mz6mj13gcff5jy1c7jnzvf6rasbaah7")))) (build-system cmake-build-system) (arguments `( #:phases (modify-phases %standard-phases (delete 'configure) (add-after 'unpack 'extract-deps (lambda* (#:key inputs native-inputs #:allow-other-keys) (begin (for-each (lambda (deps) (format #t (string-append "decompressing source code for " deps "~%")) (mkdir-p (string-append "src/external/" deps)) (let ((tar (assoc-ref inputs "tar")) (deps-src (assoc-ref inputs deps ))) (invoke (string-append tar "/bin/tar") "xvf" deps-src "--strip-components=1" "-C" (string-append "src/external/" deps)))) (list "zlib" "sqlite" "openssl" "curl" "libyaml" "audit" "libffi" "libplist" "python-cython" "msgpack" "bzip2" "pcre2" "rpm" "popt") ) (for-each (lambda (deps) (format #t (string-append "decompressing source code for " deps "~%")) (let ((deps-src (assoc-ref inputs deps ))) (invoke "cp" "-rv" deps-src (string-append "src/external/" deps)))) (list "cjson" "googletest") ) (invoke "mv" "src/external/audit" "src/external/audit-userspace") (invoke "mv" "src/external/cjson" "src/external/cJSON") (chmod "src/external/cJSON" #o750) (for-each (lambda (file) (chmod file #o750)) (find-files "src/external/cJSON")) (for-each (lambda (file) (chmod file #o750)) (find-files "src/external/cJSON" #:directories? #t)) (chmod "src/external/googletest" #o750) (for-each (lambda (file) (chmod file #o750)) (find-files "src/external/googletest")) (for-each (lambda (file) (chmod file #o750)) (find-files "src/external/googletest" #:directories? #t)) #t))) (replace 'build (lambda _ (setenv "CC" ,(cc-for-target)) (invoke "make" "-C" "src" "TARGET=agent" "build")))))) (inputs `( ("cjson" ,(package-source cjson)) ("zlib" ,(package-source zlib)) ("sqlite" ,(package-source sqlite)) ("openssl" ,(package-source openssl)) ("curl" ,(package-source curl)) ("libyaml" ,(package-source libyaml)) ("audit" ,(package-source audit)) ("libffi" ,(package-source libffi)) ("libplist" ,(package-source libplist)) ("python-cython" ,(package-source python-cython)) ("msgpack" ,(package-source msgpack)) ("bzip2" ,(package-source bzip2)) ("googletest" ,(package-source googletest)) ("pcre2" ,(package-source pcre2)) ("rpm" ,(package-source rpm)) ("popt" ,(package-source popt)) ("zlib" ,(package-source zlib)) ("perl", perl) ("python", python) )) ;(inputs (list autoconf bzip2 coreutils libtool openssl policycoreutils wget python bash grep curl nss-certs le-certs unzip zip gzip tar findutils sed perl gawk cmake cmake-shared clang-toolchain gcc-toolchain cjson)) ; make (synopsis "") (description "") (home-page "https://github.com/wazuh/wazuh/") (license lic:gpl2))) wazuh-agent