# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 inherit cmake systemd toolchain-funcs DESCRIPTION="Greenbone Security Assistant" HOMEPAGE="https://www.greenbone.net https://github.com/greenbone/gsad" SRC_URI="https://github.com/greenbone/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" LICENSE="AGPL-3+" SLOT="0" KEYWORDS="~amd64" IUSE="brotli doc" DEPEND=" acct-user/gvm >=net-libs/libmicrohttpd-0.9.0:= dev-libs/libxml2:2 >=dev-libs/glib-2.42:2 >=net-analyzer/gvm-libs-22.8 >=net-libs/gnutls-3.2.15:= >=sys-libs/zlib-1.2 dev-libs/libgcrypt:0= brotli? ( app-arch/brotli ) " RDEPEND=" ${DEPEND} >=net-analyzer/gvmd-22.4 >=net-analyzer/gsa-22.4 net-analyzer/ospd-openvas " BDEPEND=" dev-python/polib virtual/pkgconfig doc? ( app-text/doxygen[dot] app-text/xmltoman ) " src_prepare() { cmake_src_prepare # QA-Fix | Remove !CLANG doxygen warnings for 9.0.0 if use doc; then if ! tc-is-clang; then local f for f in doc/*.in do sed -i \ -e "s*CLANG_ASSISTED_PARSING = NO*#CLANG_ASSISTED_PARSING = NO*g" \ -e "s*CLANG_OPTIONS*#CLANG_OPTIONS*g" \ "${f}" || die "couldn't disable CLANG parsing" done fi fi # Avoid the use of brotli when not required by the use flag #942193 # Remove brotli automagic dependencies check if ! use brotli; then sed -i \ -e 's*^if (BROTLI_FOUND)*#if (BROTLI_FOUND)*' \ -e 's*set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DHAVE_BROTLI=1")*#set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DHAVE_BROTLI=1")*' \ -e 's*^endif (BROTLI_FOUND)*#endif (BROTLI_FOUND)*' \ src/CMakeLists.txt || die "couldn't disable brotli automagic dependency's check" fi } src_configure() { local mycmakeargs=( "-DLOCALSTATEDIR=${EPREFIX}/var" "-DSYSCONFDIR=${EPREFIX}/etc" "-DSBINDIR=${EPREFIX}/usr/bin" "-DGSAD_RUN_DIR=${EPREFIX}/run/gsad" "-DGVMD_RUN_DIR=${EPREFIX}/run/gvmd" "-DGVM_LOG_DIR=${EPREFIX}/var/log/gvm" "-DSYSTEMD_SERVICE_DIR=$(systemd_get_systemunitdir)" "-DLOGROTATE_DIR=${EPREFIX}/etc/logrotate.d" ) cmake_src_configure } src_compile() { # setting correct PATH for finding react-js NODE_ENV=production PATH="$PATH:${S}/gsa/node_modules/.bin/" cmake_src_compile if use doc; then cmake_build -C "${BUILD_DIR}" doc cmake_build doc-full -C "${BUILD_DIR}" doc fi cmake_build rebuild_cache } src_install() { if use doc; then local HTML_DOCS=( "${BUILD_DIR}/doc/generated/html/." ) fi cmake_src_install systemd_install_serviced "${FILESDIR}/gsad.service.conf" \ ${PN}.service insinto /etc/gvm/sysconfig newins "${FILESDIR}/${PN}-daemon.conf" "${PN}-daemon.conf" newinitd "${FILESDIR}/${PN}-22.init" "${PN}" newconfd "${FILESDIR}/${PN}-daemon.conf" "${PN}" }