(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 (guix build-system cargo) #: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 gnupg) #: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 (gnu packages shells) #:use-module (gnu packages ruby) #:use-module (gnu packages tcl) #:use-module (gnu packages crates-io) #:use-module (glicid utils) ) (define-public wazuh-agent (package (name "wazuh-agent") (version "4.4.3") (source (origin (method url-fetch) (uri (string-append "https://github.com/wazuh/wazuh/archive/refs/tags/v" version ".tar.gz" )) (sha256 (base32 "1wr9i4vgqfmm9cgi6yfchbmzakcsnb5bww7vqw38c702c9fa1l31")))) (build-system cmake-build-system) (arguments `( #:phases (modify-phases %standard-phases (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/pcre2" "src/external/libpcre2") (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)) (chmod "src/external/libpcre2" #o750) (for-each (lambda (file) (chmod file #o750)) (find-files "src/external/libpcre2")) (for-each (lambda (file) (chmod file #o750)) (find-files "src/external/libpcre2" #:directories? #t)) #t))) (delete 'configure) (replace 'build (lambda* (#:key outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out")) ) (setenv "CC" ,(cc-for-target)) (setenv "PREFIX" out) (setenv "CONFIG_SHELL" "/gnu/store/m6c5hgqg569mbcjjbp8l8m7q82ascpdl-bash-5.1.16/bin/bash") (setenv "SHELL" "/gnu/store/m6c5hgqg569mbcjjbp8l8m7q82ascpdl-bash-5.1.16/bin/bash") (invoke "make" "-C" "src" "build_sysinfo build_shared_modules") (invoke "make" "-C" "src" "wazuh-agentd agent-auth wazuh-logcollector wazuh-syscheckd wazuh-execd manage_agents active-responses wazuh-modulesd") ; (invoke "make" "-C" "src" "SHELL=/gnu/store/m6c5hgqg569mbcjjbp8l8m7q82ascpdl-bash-5.1.16/bin/bash" "CONFIG_SHELL=/gnu/store/m6c5hgqg569mbcjjbp8l8m7q82ascpdl-bash-5.1.16/bin/bash" (string-append "PREFIX=" out) "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) ("python-wrapper", python-wrapper) ("oksh", oksh) ("rc", rc) ("ruby", ruby) ("expect", expect) ("runscript", runscript) ("bash", bash) ("libgcrypt", libgcrypt) )) (synopsis "") (description "") (home-page "https://github.com/wazuh/wazuh/") (license lic:gpl2))) (define-public runscript (package (name "runscript") (version "1.0.0-beta.7+2") (source (origin (method url-fetch) (uri (string-append "https://github.com/TheOnlyMrCat/runscript/archive/refs/tags/v" version ".tar.gz" )) (sha256 (base32 "168h815vdkvya2jbv0gddcy5lbah08wsvs14v9qcbkpp8ixr59qk")))) (build-system cargo-build-system) (inputs (list rust-atty-0.2 rust-cfg-if-1 rust-clap-3 rust-exitcode-1 rust-glob-0.3 rust-indexmap-1 rust-itertools-0.10 rust-os-info-3 rust-serde-1 rust-tempfile-3 rust-termcolor-1 rust-toml-0.5 rust-uuid-0.8 rust-nix-0.23 rust-winapi-0.3 rust-hermit-abi-0.1 rust-libc-0.2 rust-bitflags-1.2 rust-clap-derive-3 rust-clap-lex-0.2 rust-once-cell-1 rust-strsim-0.10 rust-textwrap-0.16 rust-hashbrown-0.12 rust-autocfg-1 rust-either-1 rust-log-0.4 rust-serde-derive-1 rust-fastrand-1 rust-remove-dir-all-0.5 rust-redox-syscall-0.2 rust-winapi-util-0.1 rust-getrandom-0.2 rust-memoffset-0.6 rust-cc-1 rust-heck-0.4 rust-proc-macro-error-1 rust-proc-macro2-1 rust-quote-1 rust-syn-1 rust-syn-2 rust-os-str-bytes-6 rust-instant-0.1 rust-wasi-0.11 rust-proc-macro-error-attr-1 rust-version-check-0.9 )) (synopsis "") (description "") (home-page "https://github.com/TheOnlyMrCat/runscript") (license lic:asl2.0))) wazuh-agent