first pass on wazuh

This commit is contained in:
Jean-François GUILLAUME 2023-03-06 13:07:41 +01:00
parent e6dd55dc09
commit dbc43497a7
GPG key ID: 38751DAE145EFB5A

115
glicid/packages/wazuh.scm Normal file
View file

@ -0,0 +1,115 @@
(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