From nobody Wed Apr 5 17:33:10 2023 X-Original-To: dev-commits-ports-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4PsBYL5D4zz43ntL; Wed, 5 Apr 2023 17:33:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PsBYL4ykHz46py; Wed, 5 Apr 2023 17:33:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1680715990; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Ds8c/s8KSCeUqy1lZWLUsE4iZKQrTZ75pDEeq2etecI=; b=Jg0644HPNHcCsD1ucqrBJYtRb2qmpbuSQ2CAdfdw3zfM9qb00Tf+buSS7PWnZ2mcy5Lifu t7ZpMwgoqLPXZ8pEtX3QDBBJ7D7S4cDTRT+WNQtA8pKpRAaxfrQDkUjFfp60GBOj3GCHKp Ky1F3He846Lwwh5gKE3Z+Yr2gu2UlBnao8koopI1gfjig5eY7OKToLgw0IHbNb9F1u+SoJ MsxkhIVtm1XLciW2gBjAHbXcwDzAMBLP/dVP/INNhv4Uw3Ue1Tol2pdQVEsxRupjTUjCqO sE+9ltjaCo3EnTsPvmL14Sy3goFmQulUokUu2UoRn7qzLUywr2XS2hm3gSho9w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1680715990; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Ds8c/s8KSCeUqy1lZWLUsE4iZKQrTZ75pDEeq2etecI=; b=G+r871jPNE+f1HRmWXucQinNijXeTXR5J1TqE+j1mOzRUuk38Kv1HxJz3/J/5tR32jXhSv V1YGGqq5f1YaET4tuVDO8m6XwFHppBKyvD+9ElEW+/Z4+gJskxiYQtu63ofs484dFoyYKf +U/6UJqScsArWN1N99RnVEn8IW46cTUZwgb+vzFHZmVajfgP7Aq3A9gvo6RARY0XyRPsDg ci5XHsJcBTifv2BrYVu+dImxDzN9wbqfzNBghaxPT5rlKNTkZQzuVNLb+S+plfIQUaJdf1 fZkssIPkEiFVat/OsTi0TCIfGfN6obiY61rbz9P9D2iGw8Hc8dZ8akJtawpMAg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1680715990; a=rsa-sha256; cv=none; b=he4OVp+YWebrlYeosHXEAMu4H/8NccQR82k70fsyA8no28ZI7oDC0cmrC+mvWxKVBdinWa 0FZxsS1YUDg/7shFF/e9m/XCW8DE+hcG2jxW1zxS1FPo9KvKTuQcMAxCrktPtT4VFe4sw4 k3J3qic3FTn9fOaXvqnvbnadH1Da6IFlmuPXr3sS1yZoSlZYRK5EhwPZHBrQ06gIG61N39 gh3yLblj/4qjeN6ojPKjAr6pQ+MLRlpkbvom4tNdFuW7VoSoUSb3Buh/cFJMvktsHaemMS SaElTS8Cb86TnSNAaidud7jX5um3yI6WDDP50bHo6N3Xj/zXIAUn9grBYGX8MA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4PsBYL3s1dzWx9; Wed, 5 Apr 2023 17:33:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 335HXATC083135; Wed, 5 Apr 2023 17:33:10 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 335HXA53083134; Wed, 5 Apr 2023 17:33:10 GMT (envelope-from git) Date: Wed, 5 Apr 2023 17:33:10 GMT Message-Id: <202304051733.335HXA53083134@gitrepo.freebsd.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org From: Po-Chuan Hsieh Subject: git: bca243c24043 - main - devel/libddwaf: Add libddwaf 1.8.2 List-Id: Commits to the main branch of the FreeBSD ports repository List-Archive: https://lists.freebsd.org/archives/dev-commits-ports-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-ports-main@freebsd.org X-BeenThere: dev-commits-ports-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: sunpoet X-Git-Repository: ports X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: bca243c2404302e2c0c34f85f0a532d1ae6096fc Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by sunpoet: URL: https://cgit.FreeBSD.org/ports/commit/?id=bca243c2404302e2c0c34f85f0a532d1ae6096fc commit bca243c2404302e2c0c34f85f0a532d1ae6096fc Author: Po-Chuan Hsieh AuthorDate: 2023-04-05 17:07:18 +0000 Commit: Po-Chuan Hsieh CommitDate: 2023-04-05 17:29:37 +0000 devel/libddwaf: Add libddwaf 1.8.2 libddwaf is Datadog's implementation of a Web Application Firewall (WAF) engine, with a goal of low performance and memory overhead, and embeddability in a wide variety of language runtimes through a C API. --- devel/Makefile | 1 + devel/libddwaf/Makefile | 38 +++ devel/libddwaf/distinfo | 7 + devel/libddwaf/files/patch-CMakeLists.txt | 207 +++++++++++++ devel/libddwaf/files/patch-perf-CMakeLists.txt | 19 ++ devel/libddwaf/files/patch-src-ip_utils.cpp | 10 + .../files/patch-third_party-CMakeLists.txt | 328 +++++++++++++++++++++ devel/libddwaf/pkg-descr | 3 + devel/libddwaf/pkg-plist | 5 + 9 files changed, 618 insertions(+) diff --git a/devel/Makefile b/devel/Makefile index e0762d7ac67b..26ccd15a6148 100644 --- a/devel/Makefile +++ b/devel/Makefile @@ -1183,6 +1183,7 @@ SUBDIR += libdbusmenu SUBDIR += libdbusmenu-qt SUBDIR += libddoc + SUBDIR += libddwaf SUBDIR += libdevq SUBDIR += libdfui SUBDIR += libdill diff --git a/devel/libddwaf/Makefile b/devel/libddwaf/Makefile new file mode 100644 index 000000000000..ef17746a4c1b --- /dev/null +++ b/devel/libddwaf/Makefile @@ -0,0 +1,38 @@ +PORTNAME= libddwaf +PORTVERSION= 1.8.2 +CATEGORIES= devel + +MAINTAINER= sunpoet@FreeBSD.org +COMMENT= Datadog WAF engine +WWW= https://github.com/DataDog/libddwaf + +LICENSE= APACHE20 BSD3CLAUSE +LICENSE_COMB= dual +LICENSE_FILE_APACHE20= ${WRKSRC}/LICENSE.Apache +LICENSE_FILE_BSD3CLAUSE=${WRKSRC}/LICENSE.BSD3 + +BUILD_DEPENDS= rapidjson>=1.1.0.524:devel/rapidjson +LIB_DEPENDS= libac.so:devel/libac \ + libbenchmark.so:devel/benchmark \ + libgtest.so:devel/googletest \ + libinjection.so:devel/libinjection \ + libre2.so:devel/re2 \ + libutf8proc.so:textproc/utf8proc \ + libyaml-cpp.so:devel/yaml-cpp + +USES= cmake compiler:c++17-lang localbase:ldflags + +CMAKE_OFF= LIBDDWAF_KEEP_SYMBOL_FILE LIBDDWAF_TESTING +CMAEK_ON= LIBDDWAF_BUILD_SHARED LIBDDWAF_BUILD_STATIC + +USE_GITHUB= yes +GH_ACCOUNT= DataDog +GH_TUPLE= DataDog:appsec-event-rules:1.3.2:DataDog_appsec_event_rules/third_party/proj_event_rules \ + Tencent:rapidjson:22a62fc:Tencent_rapidjson/third_party/rapidjson + +post-patch: +# Clean up bundled libraries + @${RM} -r ${WRKSRC}/third_party/libinjection/ + @${RM} -r ${WRKSRC}/third_party/lua-aho-corasick/ + +.include diff --git a/devel/libddwaf/distinfo b/devel/libddwaf/distinfo new file mode 100644 index 000000000000..86e7503999e1 --- /dev/null +++ b/devel/libddwaf/distinfo @@ -0,0 +1,7 @@ +TIMESTAMP = 1679498480 +SHA256 (DataDog-libddwaf-1.8.2_GH0.tar.gz) = f8f645088f555fcd3be54447513c64cb863c10324e3294712c6651cc6780412b +SIZE (DataDog-libddwaf-1.8.2_GH0.tar.gz) = 691348 +SHA256 (DataDog-appsec-event-rules-1.3.2_GH0.tar.gz) = c890c46b5ae19f0a58fdec920dc5616b406ef5bac57ae8b1bffac91f05cf7bfd +SIZE (DataDog-appsec-event-rules-1.3.2_GH0.tar.gz) = 140353 +SHA256 (Tencent-rapidjson-22a62fc_GH0.tar.gz) = 94068810b413fb5e7334a8bab6e8190b6f56497b660110e212a619793fc2d93f +SIZE (Tencent-rapidjson-22a62fc_GH0.tar.gz) = 1107453 diff --git a/devel/libddwaf/files/patch-CMakeLists.txt b/devel/libddwaf/files/patch-CMakeLists.txt new file mode 100644 index 000000000000..d57eba89f9e0 --- /dev/null +++ b/devel/libddwaf/files/patch-CMakeLists.txt @@ -0,0 +1,207 @@ +--- CMakeLists.txt.orig 2023-01-17 18:39:22 UTC ++++ CMakeLists.txt +@@ -8,23 +8,23 @@ set(CMAKE_PROJECT_VERSION ${version}) + configure_file(src/version.hpp.in ${CMAKE_CURRENT_SOURCE_DIR}/src/version.hpp) + + set(CMAKE_OSX_DEPLOYMENT_TARGET "10.12" CACHE STRING "Minimum OS X deployment version") +-if(CMAKE_OSX_ARCHITECTURES MATCHES "x86_64" OR +- CMAKE_OSX_ARCHITECTURES MATCHES "arm64") +- set(CPU_TYPE ${CMAKE_OSX_ARCHITECTURES}) +-endif() ++#if(CMAKE_OSX_ARCHITECTURES MATCHES "x86_64" OR ++# CMAKE_OSX_ARCHITECTURES MATCHES "arm64") ++# set(CPU_TYPE ${CMAKE_OSX_ARCHITECTURES}) ++#endif() + + set(CMAKE_C_STANDARD 99) + set(CMAKE_CXX_STANDARD 17) + set(CMAKE_EXPORT_COMPILE_COMMANDS ON) + +-set(LIBDDWAF_SHARED_LINKER_FLAGS "-static-libstdc++" CACHE STRING "Shared library extra linker flags") ++#set(LIBDDWAF_SHARED_LINKER_FLAGS "-static-libstdc++" CACHE STRING "Shared library extra linker flags") + set(LIBDDWAF_EXE_LINKER_FLAGS "" CACHE STRING "Executable extra linker flags") + set(LIBDDWAF_PACKAGE_SUFFIX "" CACHE STRING "Suffix for packaging purposes") +-if(CMAKE_OSX_ARCHITECTURES MATCHES "arm64") +- set(LIBDDWAF_PACKAGE_PROCESSOR ${CMAKE_OSX_ARCHITECTURES} CACHE STRING "Alternative processor for packaging purposes") +-else() +- set(LIBDDWAF_PACKAGE_PROCESSOR ${CMAKE_SYSTEM_PROCESSOR} CACHE STRING "Alternative processor for packaging purposes") +-endif() ++#if(CMAKE_OSX_ARCHITECTURES MATCHES "arm64") ++# set(LIBDDWAF_PACKAGE_PROCESSOR ${CMAKE_OSX_ARCHITECTURES} CACHE STRING "Alternative processor for packaging purposes") ++#else() ++# set(LIBDDWAF_PACKAGE_PROCESSOR ${CMAKE_SYSTEM_PROCESSOR} CACHE STRING "Alternative processor for packaging purposes") ++#endif() + + option(LIBDDWAF_BUILD_SHARED "Build shared library" ON) + option(LIBDDWAF_BUILD_STATIC "Build shared library" ON) +@@ -59,7 +59,7 @@ endif() + + include(GNUInstallDirs) + +-add_subdirectory(third_party) ++#add_subdirectory(third_party) + + set(LIBDDWAF_SOURCE + ${libddwaf_SOURCE_DIR}/src/clock.cpp +@@ -121,7 +121,8 @@ install(FILES ${libddwaf_SOURCE_DIR}/include/ddwaf.h D + # System dependencies + set(LIBDDWAF_INTERFACE_LIBRARIES "") + set(LIBDDWAF_PRIVATE_LIBRARIES +- lib_re2 lib_rapidjson lib_ac lib_injection lib_radix lib_utf8proc) ++# lib_re2 lib_rapidjson lib_ac lib_injection lib_radix lib_utf8proc) ++ lib_radix) + + if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux") + # needed for glibc <2.17. We compile with --as-needed so the library won't +@@ -149,6 +150,27 @@ if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux") + elseif(WIN32) + list(APPEND LIBDDWAF_INTERFACE_LIBRARIES ws2_32) + endif() ++find_library(LIBAC ac) ++if (LIBAC) ++ list(APPEND LIBDDWAF_INTERFACE_LIBRARIES ac) ++endif() ++find_library(LIBINJECTION injection) ++if (LIBINJECTION) ++ list(APPEND LIBDDWAF_INTERFACE_LIBRARIES injection) ++endif() ++add_library(lib_radix STATIC ${PROJECT_SOURCE_DIR}/third_party/radixlib/radixlib.c) ++target_include_directories(lib_radix INTERFACE ${PROJECT_SOURCE_DIR}/third_party/radixlib) ++set_target_properties(lib_radix PROPERTIES POSITION_INDEPENDENT_CODE 1) ++add_library(lib_rapidjson INTERFACE IMPORTED GLOBAL) ++target_include_directories(lib_rapidjson INTERFACE ${PROJECT_SOURCE_DIR}/third_party/rapidjson/include) ++find_library(LIBRE2 re2) ++if (LIBRE2) ++ list(APPEND LIBDDWAF_INTERFACE_LIBRARIES re2) ++endif() ++find_library(LIBUTF8PROC utf8proc) ++if (LIBUTF8PROC) ++ list(APPEND LIBDDWAF_INTERFACE_LIBRARIES utf8proc) ++endif() + + target_link_libraries(libddwaf_objects + PRIVATE ${LIBDDWAF_PRIVATE_LIBRARIES} +@@ -173,66 +195,67 @@ if (LIBDDWAF_BUILD_STATIC) + INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) + + # Post-processing on the static library +- if(MSVC) +- add_custom_command(TARGET libddwaf_static POST_BUILD +- COMMAND ${CMAKE_COMMAND} -E make_directory lib_comb +- COMMAND ${CMAKE_COMMAND} -E chdir lib_comb lib.exe +- /OUT:combined${CMAKE_STATIC_LIBRARY_SUFFIX} +- $ $ $ +- $ $ $ +- COMMAND ${CMAKE_COMMAND} -E copy lib_comb/combined${CMAKE_STATIC_LIBRARY_SUFFIX} $ +- WORKING_DIRECTORY ${CMAKE_BINARY_DIR}) +- else() +- if(CMAKE_OSX_ARCHITECTURES MATCHES "arm64") +- add_custom_command(TARGET libddwaf_static POST_BUILD +- COMMAND ${CMAKE_COMMAND} -E make_directory ar_comb +- COMMAND ${CMAKE_COMMAND} -E chdir ar_comb ${CMAKE_AR} -x $ +- COMMAND ${CMAKE_COMMAND} -E chdir ar_comb ${CMAKE_AR} -x $ +- COMMAND ${CMAKE_COMMAND} -E chdir ar_comb ${CMAKE_AR} -x $ +- COMMAND ${CMAKE_COMMAND} -E chdir ar_comb ${CMAKE_AR} -x $ +- COMMAND ${CMAKE_COMMAND} -E chdir ar_comb ${CMAKE_AR} -x $ +- COMMAND ${CMAKE_COMMAND} -E chdir ar_comb ${CMAKE_AR} -x $ +- COMMAND libtool -static -o ar_comb/combined.a -arch_only ${CMAKE_OSX_ARCHITECTURES} ar_comb/*.o* +- +- COMMAND ${CMAKE_COMMAND} -E copy ar_comb/combined${CMAKE_STATIC_LIBRARY_SUFFIX} $ +- COMMAND rm -rf ar_comb +- WORKING_DIRECTORY ${CMAKE_BINARY_DIR}) +- else() +- add_custom_command(TARGET libddwaf_static POST_BUILD +- COMMAND ${CMAKE_COMMAND} -E make_directory ar_comb +- COMMAND ${CMAKE_COMMAND} -E chdir ar_comb ${CMAKE_AR} -x $ +- COMMAND ${CMAKE_COMMAND} -E chdir ar_comb ${CMAKE_AR} -x $ +- COMMAND ${CMAKE_COMMAND} -E chdir ar_comb ${CMAKE_AR} -x $ +- COMMAND ${CMAKE_COMMAND} -E chdir ar_comb ${CMAKE_AR} -x $ +- COMMAND ${CMAKE_COMMAND} -E chdir ar_comb ${CMAKE_AR} -x $ +- COMMAND ${CMAKE_COMMAND} -E chdir ar_comb ${CMAKE_AR} -x $ +- COMMAND ${CMAKE_AR} -qcs ar_comb/combined${CMAKE_STATIC_LIBRARY_SUFFIX} ar_comb/*.o* +- +- COMMAND ${CMAKE_COMMAND} -E copy ar_comb/combined${CMAKE_STATIC_LIBRARY_SUFFIX} $ +- COMMAND rm -rf ar_comb +- WORKING_DIRECTORY ${CMAKE_BINARY_DIR}) +- endif() +- if(NOT (CMAKE_BUILD_TYPE MATCHES Debug)) +- if (CMAKE_SYSTEM_NAME STREQUAL Darwin OR CMAKE_SYSTEM_NAME STREQUAL Linux) +- find_program(STRIP strip) +- if (STRIP STREQUAL "STRIP-NOTFOUND") +- message(FATAL_ERROR "strip not found") +- endif() +- add_custom_command(TARGET libddwaf_static POST_BUILD +- COMMAND ${STRIP} -x -S $ -o $.stripped) +- install(FILES $.stripped DESTINATION ${CMAKE_INSTALL_LIBDIR}) +- endif() +- endif() +- endif() ++# if(MSVC) ++# add_custom_command(TARGET libddwaf_static POST_BUILD ++# COMMAND ${CMAKE_COMMAND} -E make_directory lib_comb ++# COMMAND ${CMAKE_COMMAND} -E chdir lib_comb lib.exe ++# /OUT:combined${CMAKE_STATIC_LIBRARY_SUFFIX} ++# $ $ $ ++# $ $ $ ++# COMMAND ${CMAKE_COMMAND} -E copy lib_comb/combined${CMAKE_STATIC_LIBRARY_SUFFIX} $ ++# WORKING_DIRECTORY ${CMAKE_BINARY_DIR}) ++# else() ++# if(CMAKE_OSX_ARCHITECTURES MATCHES "arm64") ++# add_custom_command(TARGET libddwaf_static POST_BUILD ++# COMMAND ${CMAKE_COMMAND} -E make_directory ar_comb ++# COMMAND ${CMAKE_COMMAND} -E chdir ar_comb ${CMAKE_AR} -x $ ++# COMMAND ${CMAKE_COMMAND} -E chdir ar_comb ${CMAKE_AR} -x $ ++# COMMAND ${CMAKE_COMMAND} -E chdir ar_comb ${CMAKE_AR} -x $ ++# COMMAND ${CMAKE_COMMAND} -E chdir ar_comb ${CMAKE_AR} -x $ ++# COMMAND ${CMAKE_COMMAND} -E chdir ar_comb ${CMAKE_AR} -x $ ++# COMMAND ${CMAKE_COMMAND} -E chdir ar_comb ${CMAKE_AR} -x $ ++# COMMAND libtool -static -o ar_comb/combined.a -arch_only ${CMAKE_OSX_ARCHITECTURES} ar_comb/*.o* ++# ++# COMMAND ${CMAKE_COMMAND} -E copy ar_comb/combined${CMAKE_STATIC_LIBRARY_SUFFIX} $ ++# COMMAND rm -rf ar_comb ++# WORKING_DIRECTORY ${CMAKE_BINARY_DIR}) ++# else() ++# add_custom_command(TARGET libddwaf_static POST_BUILD ++# COMMAND ${CMAKE_COMMAND} -E make_directory ar_comb ++# COMMAND ${CMAKE_COMMAND} -E chdir ar_comb ${CMAKE_AR} -x $ ++# COMMAND ${CMAKE_COMMAND} -E chdir ar_comb ${CMAKE_AR} -x $ ++# COMMAND ${CMAKE_COMMAND} -E chdir ar_comb ${CMAKE_AR} -x $ ++# COMMAND ${CMAKE_COMMAND} -E chdir ar_comb ${CMAKE_AR} -x $ ++# COMMAND ${CMAKE_COMMAND} -E chdir ar_comb ${CMAKE_AR} -x $ ++# COMMAND ${CMAKE_COMMAND} -E chdir ar_comb ${CMAKE_AR} -x $ ++# COMMAND ${CMAKE_AR} -qcs ar_comb/combined${CMAKE_STATIC_LIBRARY_SUFFIX} ar_comb/*.o* ++# ++# COMMAND ${CMAKE_COMMAND} -E copy ar_comb/combined${CMAKE_STATIC_LIBRARY_SUFFIX} $ ++# COMMAND rm -rf ar_comb ++# WORKING_DIRECTORY ${CMAKE_BINARY_DIR}) ++# endif() ++# if(NOT (CMAKE_BUILD_TYPE MATCHES Debug)) ++# if (CMAKE_SYSTEM_NAME STREQUAL Darwin OR CMAKE_SYSTEM_NAME STREQUAL Linux) ++# find_program(STRIP strip) ++# if (STRIP STREQUAL "STRIP-NOTFOUND") ++# message(FATAL_ERROR "strip not found") ++# endif() ++# add_custom_command(TARGET libddwaf_static POST_BUILD ++# COMMAND ${STRIP} -x -S $ -o $.stripped) ++# install(FILES $.stripped DESTINATION ${CMAKE_INSTALL_LIBDIR}) ++# endif() ++# endif() ++# endif() + endif() + + # Shared library + if (LIBDDWAF_BUILD_SHARED) +- execute_process(COMMAND git rev-parse HEAD +- WORKING_DIRECTORY ${libddwaf_SOURCE_DIR} +- OUTPUT_VARIABLE BUILD_ID +- OUTPUT_STRIP_TRAILING_WHITESPACE +- ) ++# execute_process(COMMAND git rev-parse HEAD ++# WORKING_DIRECTORY ${libddwaf_SOURCE_DIR} ++# OUTPUT_VARIABLE BUILD_ID ++# OUTPUT_STRIP_TRAILING_WHITESPACE ++# ) ++ set(BUILD_ID "4be56b648aa8ce8b86255b0edad78862d102f65d") + message(STATUS "Build id is ${BUILD_ID}") + string(SUBSTRING "${BUILD_ID}" 0 2 BUILD_ID_PREFIX) + string(SUBSTRING "${BUILD_ID}" 2 39 BUILD_ID_SUFFIX) diff --git a/devel/libddwaf/files/patch-perf-CMakeLists.txt b/devel/libddwaf/files/patch-perf-CMakeLists.txt new file mode 100644 index 000000000000..2a537f2ef704 --- /dev/null +++ b/devel/libddwaf/files/patch-perf-CMakeLists.txt @@ -0,0 +1,19 @@ +--- perf/CMakeLists.txt.orig 2022-09-22 09:00:38 UTC ++++ perf/CMakeLists.txt +@@ -13,8 +13,8 @@ target_link_libraries(benchcmp PRIVATE lib_yamlcpp m) + add_executable(benchmerge benchmerge.cpp) + target_link_libraries(benchmerge PRIVATE lib_yamlcpp m) + +-ExternalProject_Get_property(proj_event_rules SOURCE_DIR) +-set(EVENT_RULES_SOURCE_DIR ${SOURCE_DIR}) ++#ExternalProject_Get_property(proj_event_rules SOURCE_DIR) ++set(EVENT_RULES_SOURCE_DIR ${CMAKE_BINARY_DIR}/third_party/proj_event_rules) + + add_custom_target(run_benchmark + COMMAND ${CMAKE_BINARY_DIR}/perf/benchmark +@@ -27,4 +27,4 @@ add_custom_target(run_benchmark + WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} + ) + +-add_dependencies(run_benchmark benchmark proj_event_rules) ++#add_dependencies(run_benchmark benchmark proj_event_rules) diff --git a/devel/libddwaf/files/patch-src-ip_utils.cpp b/devel/libddwaf/files/patch-src-ip_utils.cpp new file mode 100644 index 000000000000..bc710d42960a --- /dev/null +++ b/devel/libddwaf/files/patch-src-ip_utils.cpp @@ -0,0 +1,10 @@ +--- src/ip_utils.cpp.orig 2023-01-17 18:39:22 UTC ++++ src/ip_utils.cpp +@@ -22,6 +22,7 @@ + + # include + #else ++# include + # include + # include + #endif diff --git a/devel/libddwaf/files/patch-third_party-CMakeLists.txt b/devel/libddwaf/files/patch-third_party-CMakeLists.txt new file mode 100644 index 000000000000..ae2315a1b211 --- /dev/null +++ b/devel/libddwaf/files/patch-third_party-CMakeLists.txt @@ -0,0 +1,328 @@ +--- third_party/CMakeLists.txt.orig 2022-09-22 09:00:38 UTC ++++ third_party/CMakeLists.txt +@@ -9,24 +9,24 @@ set(INSTALL_DIR ${CMAKE_BINARY_DIR}/third_party) + # workaround for using it in target_include_directories + file(MAKE_DIRECTORY ${INSTALL_DIR}/include) + +-set(RAPIDJSON_COMMIT 22a62fcc2c2fa2418f5d358cdf65c1df73b418ae) +-ExternalProject_Add(proj_rapidjson +- URL https://github.com/Tencent/rapidjson/archive/${RAPIDJSON_COMMIT}.tar.gz +- INSTALL_DIR ${INSTALL_DIR} +- CMAKE_ARGS -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE} +- -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER} +- -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} +- -DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS} +- -DCMAKE_CXX_FLAGS_RELEASE=${CMAKE_CXX_FLAGS_RELEASE} +- -DCMAKE_CXX_FLAGS_RELWITHDEBINFO=${CMAKE_CXX_FLAGS_RELWITHDEBINFO} +- -DCMAKE_CXX_FLAGS_DEBUG=${CMAKE_CXX_FLAGS_DEBUG} +- -DCMAKE_OSX_ARCHITECTURES=${CMAKE_OSX_ARCHITECTURES} +- BUILD_COMMAND "" +- INSTALL_COMMAND ${CMAKE_COMMAND} -E copy_directory "/include/" "/include/" +-) ++#set(RAPIDJSON_COMMIT 22a62fcc2c2fa2418f5d358cdf65c1df73b418ae) ++#ExternalProject_Add(proj_rapidjson ++# URL https://github.com/Tencent/rapidjson/archive/${RAPIDJSON_COMMIT}.tar.gz ++# INSTALL_DIR ${INSTALL_DIR} ++# CMAKE_ARGS -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE} ++# -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER} ++# -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} ++# -DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS} ++# -DCMAKE_CXX_FLAGS_RELEASE=${CMAKE_CXX_FLAGS_RELEASE} ++# -DCMAKE_CXX_FLAGS_RELWITHDEBINFO=${CMAKE_CXX_FLAGS_RELWITHDEBINFO} ++# -DCMAKE_CXX_FLAGS_DEBUG=${CMAKE_CXX_FLAGS_DEBUG} ++# -DCMAKE_OSX_ARCHITECTURES=${CMAKE_OSX_ARCHITECTURES} ++# BUILD_COMMAND "" ++# INSTALL_COMMAND ${CMAKE_COMMAND} -E copy_directory "/include/" "/include/" ++#) + add_library(lib_rapidjson INTERFACE IMPORTED GLOBAL) +-target_include_directories(lib_rapidjson INTERFACE ${INSTALL_DIR}/include) +-add_dependencies(lib_rapidjson proj_rapidjson) ++target_include_directories(lib_rapidjson INTERFACE ${INSTALL_DIR}/rapidjson/include) ++#add_dependencies(lib_rapidjson proj_rapidjson) + target_compile_definitions(lib_rapidjson INTERFACE RAPIDJSON_HAS_STDSTRING=1) + + if(NOT MSVC) +@@ -38,153 +38,153 @@ endif() + # To avoid building everything for re2, including test binvaries: + # BUILD_COMMAND cmake --build --target re2 + # But this is not enough, because the install target run afterwards insists on building everything +-set(RE2_COMMIT 885eb38accf49e2ccdd2fa6786f3590cf40a3e23) +-ExternalProject_Add(proj_re2 +- URL https://github.com/google/re2/archive/${RE2_COMMIT}.tar.gz +- INSTALL_DIR ${INSTALL_DIR} +- CMAKE_ARGS -DCMAKE_VERBOSE_MAKEFILE=1 -DCMAKE_INSTALL_PREFIX:PATH= +- -DCMAKE_INSTALL_LIBDIR=lib +- -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE} +- -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER} +- -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} +- -DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS} +- -DCMAKE_CXX_FLAGS_RELEASE=${CMAKE_CXX_FLAGS_RELEASE} +- -DCMAKE_CXX_FLAGS_RELWITHDEBINFO=${CMAKE_CXX_FLAGS_RELWITHDEBINFO} +- -DCMAKE_CXX_FLAGS_DEBUG=${CMAKE_CXX_FLAGS_DEBUG} +- -DCMAKE_OSX_ARCHITECTURES=${CMAKE_OSX_ARCHITECTURES} +- -DRE2_BUILD_TESTING=0 +-) ++#set(RE2_COMMIT 885eb38accf49e2ccdd2fa6786f3590cf40a3e23) ++#ExternalProject_Add(proj_re2 ++# URL https://github.com/google/re2/archive/${RE2_COMMIT}.tar.gz ++# INSTALL_DIR ${INSTALL_DIR} ++# CMAKE_ARGS -DCMAKE_VERBOSE_MAKEFILE=1 -DCMAKE_INSTALL_PREFIX:PATH= ++# -DCMAKE_INSTALL_LIBDIR=lib ++# -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE} ++# -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER} ++# -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} ++# -DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS} ++# -DCMAKE_CXX_FLAGS_RELEASE=${CMAKE_CXX_FLAGS_RELEASE} ++# -DCMAKE_CXX_FLAGS_RELWITHDEBINFO=${CMAKE_CXX_FLAGS_RELWITHDEBINFO} ++# -DCMAKE_CXX_FLAGS_DEBUG=${CMAKE_CXX_FLAGS_DEBUG} ++# -DCMAKE_OSX_ARCHITECTURES=${CMAKE_OSX_ARCHITECTURES} ++# -DRE2_BUILD_TESTING=0 ++#) + # alas, we can't use find_package because by the package is not downloaded by config time + # so manually creating the library +-add_library(lib_re2 STATIC IMPORTED GLOBAL) +-set_property(TARGET lib_re2 PROPERTY IMPORTED_LOCATION ${INSTALL_DIR}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}re2${CMAKE_STATIC_LIBRARY_SUFFIX}) +-target_include_directories(lib_re2 INTERFACE ${INSTALL_DIR}/include) +-if(NOT MSVC) +- target_link_libraries(lib_re2 INTERFACE -lpthread) +-endif() +-add_dependencies(lib_re2 proj_re2) ++#add_library(lib_re2 STATIC IMPORTED GLOBAL) ++#set_property(TARGET lib_re2 PROPERTY IMPORTED_LOCATION ${INSTALL_DIR}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}re2${CMAKE_STATIC_LIBRARY_SUFFIX}) ++#target_include_directories(lib_re2 INTERFACE ${INSTALL_DIR}/include) ++#if(NOT MSVC) ++# target_link_libraries(lib_re2 INTERFACE -lpthread) ++#endif() ++#add_dependencies(lib_re2 proj_re2) + +-set(GOOGLETEST_COMMIT 955c7f837efad184ec63e771c42542d37545eaef) +-ExternalProject_Add(proj_gtest +- URL https://github.com/google/googletest/archive/${GOOGLETEST_COMMIT}.tar.gz +- INSTALL_DIR ${INSTALL_DIR} +- CMAKE_ARGS -DCMAKE_INSTALL_PREFIX:PATH= +- -DCMAKE_INSTALL_LIBDIR=lib +- -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE} +- -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER} +- -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} +- -DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS} +- -DCMAKE_CXX_FLAGS_RELEASE=${CMAKE_CXX_FLAGS_RELEASE} +- -DCMAKE_CXX_FLAGS_RELWITHDEBINFO=${CMAKE_CXX_FLAGS_RELWITHDEBINFO} +- -DCMAKE_CXX_FLAGS_DEBUG=${CMAKE_CXX_FLAGS_DEBUG} +- -DCMAKE_OSX_ARCHITECTURES=${CMAKE_OSX_ARCHITECTURES} +- -DBUILD_SHARED_LIBS=0 +-) +-if(CMAKE_BUILD_TYPE MATCHES Debug) +- set(LIBGTEST_FILENAME ${CMAKE_STATIC_LIBRARY_PREFIX}gtestd${CMAKE_STATIC_LIBRARY_SUFFIX}) +-else() +- set(LIBGTEST_FILENAME ${CMAKE_STATIC_LIBRARY_PREFIX}gtest${CMAKE_STATIC_LIBRARY_SUFFIX}) +-endif() ++#set(GOOGLETEST_COMMIT 955c7f837efad184ec63e771c42542d37545eaef) ++#ExternalProject_Add(proj_gtest ++# URL https://github.com/google/googletest/archive/${GOOGLETEST_COMMIT}.tar.gz ++# INSTALL_DIR ${INSTALL_DIR} ++# CMAKE_ARGS -DCMAKE_INSTALL_PREFIX:PATH= ++# -DCMAKE_INSTALL_LIBDIR=lib ++# -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE} ++# -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER} ++# -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} ++# -DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS} ++# -DCMAKE_CXX_FLAGS_RELEASE=${CMAKE_CXX_FLAGS_RELEASE} ++# -DCMAKE_CXX_FLAGS_RELWITHDEBINFO=${CMAKE_CXX_FLAGS_RELWITHDEBINFO} ++# -DCMAKE_CXX_FLAGS_DEBUG=${CMAKE_CXX_FLAGS_DEBUG} ++# -DCMAKE_OSX_ARCHITECTURES=${CMAKE_OSX_ARCHITECTURES} ++# -DBUILD_SHARED_LIBS=0 ++#) ++#if(CMAKE_BUILD_TYPE MATCHES Debug) ++# set(LIBGTEST_FILENAME ${CMAKE_STATIC_LIBRARY_PREFIX}gtestd${CMAKE_STATIC_LIBRARY_SUFFIX}) ++#else() ++# set(LIBGTEST_FILENAME ${CMAKE_STATIC_LIBRARY_PREFIX}gtest${CMAKE_STATIC_LIBRARY_SUFFIX}) ++#endif() + +-add_library(lib_gtest STATIC IMPORTED GLOBAL) +-set_property(TARGET lib_gtest PROPERTY IMPORTED_LOCATION ${INSTALL_DIR}/lib/${LIBGTEST_FILENAME}) +-target_include_directories(lib_gtest INTERFACE ${INSTALL_DIR}/include) +-if(NOT MSVC) +- target_link_libraries(lib_gtest INTERFACE -lpthread) +-endif() +-add_dependencies(lib_gtest proj_gtest) +-set_target_properties(lib_gtest proj_gtest PROPERTIES EXCLUDE_FROM_ALL TRUE) ++#add_library(lib_gtest STATIC IMPORTED GLOBAL) ++#set_property(TARGET lib_gtest PROPERTY IMPORTED_LOCATION ${INSTALL_DIR}/lib/${LIBGTEST_FILENAME}) ++#target_include_directories(lib_gtest INTERFACE ${INSTALL_DIR}/include) ++#if(NOT MSVC) ++# target_link_libraries(lib_gtest INTERFACE -lpthread) ++#endif() ++#add_dependencies(lib_gtest proj_gtest) ++#set_target_properties(lib_gtest proj_gtest PROPERTIES EXCLUDE_FROM_ALL TRUE) + +-add_library(lib_injection STATIC +- libinjection/src/xss.c +- libinjection/src/libinjection_html5.c +- libinjection/src/libinjection_xss.c +- libinjection/src/libinjection_sqli.c) +-target_include_directories(lib_injection INTERFACE ${PROJECT_SOURCE_DIR}/libinjection/src) +-set_target_properties(lib_injection PROPERTIES POSITION_INDEPENDENT_CODE 1) ++#add_library(lib_injection STATIC ++# libinjection/src/xss.c ++# libinjection/src/libinjection_html5.c ++# libinjection/src/libinjection_xss.c ++# libinjection/src/libinjection_sqli.c) ++#target_include_directories(lib_injection INTERFACE ${PROJECT_SOURCE_DIR}/libinjection/src) ++#set_target_properties(lib_injection PROPERTIES POSITION_INDEPENDENT_CODE 1) + +-add_library(lib_ac STATIC +- lua-aho-corasick/ac_fast.cxx +- lua-aho-corasick/ac_slow.cxx +- lua-aho-corasick/ac.cxx) +-target_include_directories(lib_ac INTERFACE ${PROJECT_SOURCE_DIR}/lua-aho-corasick) +-set_target_properties(lib_ac PROPERTIES POSITION_INDEPENDENT_CODE 1) ++#add_library(lib_ac STATIC ++# lua-aho-corasick/ac_fast.cxx ++# lua-aho-corasick/ac_slow.cxx ++# lua-aho-corasick/ac.cxx) ++#target_include_directories(lib_ac INTERFACE ${PROJECT_SOURCE_DIR}/lua-aho-corasick) ++#set_target_properties(lib_ac PROPERTIES POSITION_INDEPENDENT_CODE 1) + + add_library(lib_radix STATIC + radixlib/radixlib.c) + target_include_directories(lib_radix INTERFACE ${PROJECT_SOURCE_DIR}/radixlib) + set_target_properties(lib_radix PROPERTIES POSITION_INDEPENDENT_CODE 1) + +-set(UTF8PROC_VERSION v2.7.0) +-ExternalProject_Add(proj_utf8proc +- URL https://github.com/JuliaStrings/utf8proc/archive/refs/tags/${UTF8PROC_VERSION}.tar.gz +- INSTALL_DIR ${INSTALL_DIR} +- CMAKE_ARGS -DCMAKE_VERBOSE_MAKEFILE=1 -DCMAKE_INSTALL_PREFIX:PATH= +- -DCMAKE_INSTALL_LIBDIR=lib +- -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE} +- -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} +- -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} +- -DCMAKE_C_FLAGS=${CMAKE_C_FLAGS} +- -DCMAKE_C_FLAGS_RELEASE=${CMAKE_C_FLAGS_RELEASE} +- -DCMAKE_C_FLAGS_RELWITHDEBINFO=${CMAKE_C_FLAGS_RELWITHDEBINFO} +- -DCMAKE_C_FLAGS_DEBUG=${CMAKE_C_FLAGS_DEBUG} +- -DCMAKE_OSX_ARCHITECTURES=${CMAKE_OSX_ARCHITECTURES} +-) ++#set(UTF8PROC_VERSION v2.7.0) ++#ExternalProject_Add(proj_utf8proc ++# URL https://github.com/JuliaStrings/utf8proc/archive/refs/tags/${UTF8PROC_VERSION}.tar.gz ++# INSTALL_DIR ${INSTALL_DIR} ++# CMAKE_ARGS -DCMAKE_VERBOSE_MAKEFILE=1 -DCMAKE_INSTALL_PREFIX:PATH= ++# -DCMAKE_INSTALL_LIBDIR=lib ++# -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE} ++# -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} ++# -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} ++# -DCMAKE_C_FLAGS=${CMAKE_C_FLAGS} ++# -DCMAKE_C_FLAGS_RELEASE=${CMAKE_C_FLAGS_RELEASE} ++# -DCMAKE_C_FLAGS_RELWITHDEBINFO=${CMAKE_C_FLAGS_RELWITHDEBINFO} ++# -DCMAKE_C_FLAGS_DEBUG=${CMAKE_C_FLAGS_DEBUG} ++# -DCMAKE_OSX_ARCHITECTURES=${CMAKE_OSX_ARCHITECTURES} ++#) + +-add_library(lib_utf8proc STATIC IMPORTED GLOBAL) +-if (MSVC) +- set_property(TARGET lib_utf8proc PROPERTY IMPORTED_LOCATION ${INSTALL_DIR}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}utf8proc_static${CMAKE_STATIC_LIBRARY_SUFFIX}) +-else () +- set_property(TARGET lib_utf8proc PROPERTY IMPORTED_LOCATION ${INSTALL_DIR}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}utf8proc${CMAKE_STATIC_LIBRARY_SUFFIX}) +-endif() +-target_include_directories(lib_utf8proc INTERFACE ${INSTALL_DIR}/include) +-add_dependencies(lib_utf8proc proj_utf8proc) ++#add_library(lib_utf8proc STATIC IMPORTED GLOBAL) ++#if (MSVC) ++# set_property(TARGET lib_utf8proc PROPERTY IMPORTED_LOCATION ${INSTALL_DIR}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}utf8proc_static${CMAKE_STATIC_LIBRARY_SUFFIX}) ++#else () ++# set_property(TARGET lib_utf8proc PROPERTY IMPORTED_LOCATION ${INSTALL_DIR}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}utf8proc${CMAKE_STATIC_LIBRARY_SUFFIX}) ++#endif() ++#target_include_directories(lib_utf8proc INTERFACE ${INSTALL_DIR}/include) ++#add_dependencies(lib_utf8proc proj_utf8proc) + + # yaml-cpp +-ExternalProject_Add(proj_yamlcpp +- URL https://github.com/jbeder/yaml-cpp/archive/refs/tags/yaml-cpp-0.7.0.zip +- INSTALL_DIR ${INSTALL_DIR} +- CMAKE_ARGS -DCMAKE_INSTALL_PREFIX:PATH= +- -DCMAKE_INSTALL_LIBDIR=lib +- -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER} +- -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} +- -DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS} +- -DCMAKE_CXX_FLAGS_RELEASE=${CMAKE_CXX_FLAGS_RELEASE} +- -DCMAKE_CXX_FLAGS_RELWITHDEBINFO=${CMAKE_CXX_FLAGS_RELWITHDEBINFO} +- -DCMAKE_CXX_FLAGS_DEBUG=${CMAKE_CXX_FLAGS_DEBUG} +- -DYAML_CPP_BUILD_TESTS=OFF +- -DYAML_CPP_BUILD_CONTRIB=OFF +- -DYAML_CPP_BUILD_TOOLS=OFF +- -DYAML_CPP_INSTALL=ON +- -DYAML_BUILD_SHARED_LIBS=OFF +- -DYAML_MSVC_SHARED_RT=OFF +- -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE} +- -DCMAKE_OSX_ARCHITECTURES=${CMAKE_OSX_ARCHITECTURES} +-) +-add_library(lib_yamlcpp STATIC IMPORTED GLOBAL) +-if (NOT MSVC) +- if(CMAKE_BUILD_TYPE MATCHES Debug) +- set(LIBYAML_FILENAME libyaml-cppd${CMAKE_STATIC_LIBRARY_SUFFIX}) +- else() +- set(LIBYAML_FILENAME libyaml-cpp${CMAKE_STATIC_LIBRARY_SUFFIX}) +- endif() +-else() +- set(LIBYAML_FILENAME yaml-cpp${CMAKE_STATIC_LIBRARY_SUFFIX}) +-endif() ++#ExternalProject_Add(proj_yamlcpp ++# URL https://github.com/jbeder/yaml-cpp/archive/refs/tags/yaml-cpp-0.7.0.zip ++# INSTALL_DIR ${INSTALL_DIR} ++# CMAKE_ARGS -DCMAKE_INSTALL_PREFIX:PATH= ++# -DCMAKE_INSTALL_LIBDIR=lib ++# -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER} ++# -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} ++# -DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS} ++# -DCMAKE_CXX_FLAGS_RELEASE=${CMAKE_CXX_FLAGS_RELEASE} ++# -DCMAKE_CXX_FLAGS_RELWITHDEBINFO=${CMAKE_CXX_FLAGS_RELWITHDEBINFO} ++# -DCMAKE_CXX_FLAGS_DEBUG=${CMAKE_CXX_FLAGS_DEBUG} ++# -DYAML_CPP_BUILD_TESTS=OFF ++# -DYAML_CPP_BUILD_CONTRIB=OFF ++# -DYAML_CPP_BUILD_TOOLS=OFF ++# -DYAML_CPP_INSTALL=ON ++# -DYAML_BUILD_SHARED_LIBS=OFF ++# -DYAML_MSVC_SHARED_RT=OFF ++# -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE} ++# -DCMAKE_OSX_ARCHITECTURES=${CMAKE_OSX_ARCHITECTURES} ++#) ++#add_library(lib_yamlcpp STATIC IMPORTED GLOBAL) ++#if (NOT MSVC) ++# if(CMAKE_BUILD_TYPE MATCHES Debug) ++# set(LIBYAML_FILENAME libyaml-cppd${CMAKE_STATIC_LIBRARY_SUFFIX}) ++# else() ++# set(LIBYAML_FILENAME libyaml-cpp${CMAKE_STATIC_LIBRARY_SUFFIX}) ++# endif() ++#else() ++# set(LIBYAML_FILENAME yaml-cpp${CMAKE_STATIC_LIBRARY_SUFFIX}) ++#endif() + +-set_target_properties(lib_yamlcpp PROPERTIES IMPORTED_LOCATION ${INSTALL_DIR}/lib/${LIBYAML_FILENAME}) +-target_include_directories(lib_yamlcpp INTERFACE ${INSTALL_DIR}/include) +-add_dependencies(lib_yamlcpp proj_yamlcpp) +-set_target_properties(lib_yamlcpp proj_yamlcpp PROPERTIES EXCLUDE_FROM_ALL TRUE) ++#set_target_properties(lib_yamlcpp PROPERTIES IMPORTED_LOCATION ${INSTALL_DIR}/lib/${LIBYAML_FILENAME}) ++#target_include_directories(lib_yamlcpp INTERFACE ${INSTALL_DIR}/include) ++#add_dependencies(lib_yamlcpp proj_yamlcpp) ++#set_target_properties(lib_yamlcpp proj_yamlcpp PROPERTIES EXCLUDE_FROM_ALL TRUE) + + # Appsec event rules +-ExternalProject_Add(proj_event_rules +- GIT_REPOSITORY https://github.com/DataDog/appsec-event-rules.git +- GIT_TAG 1.3.2 +- GIT_SHALLOW ON +- CONFIGURE_COMMAND "" +- BUILD_COMMAND "" +- INSTALL_COMMAND "") ++#ExternalProject_Add(proj_event_rules ++# GIT_REPOSITORY https://github.com/DataDog/appsec-event-rules.git ++# GIT_TAG 1.3.2 ++# GIT_SHALLOW ON ++# CONFIGURE_COMMAND "" ++# BUILD_COMMAND "" ++# INSTALL_COMMAND "") + +-set_target_properties(proj_event_rules PROPERTIES EXCLUDE_FROM_ALL TRUE) ++#set_target_properties(proj_event_rules PROPERTIES EXCLUDE_FROM_ALL TRUE) + # vim: et diff --git a/devel/libddwaf/pkg-descr b/devel/libddwaf/pkg-descr new file mode 100644 index 000000000000..1f74c29624fc --- /dev/null +++ b/devel/libddwaf/pkg-descr @@ -0,0 +1,3 @@ +libddwaf is Datadog's implementation of a Web Application Firewall (WAF) engine, +with a goal of low performance and memory overhead, and embeddability in a wide +variety of language runtimes through a C API. diff --git a/devel/libddwaf/pkg-plist b/devel/libddwaf/pkg-plist new file mode 100644 index 000000000000..811a6838b441 --- /dev/null +++ b/devel/libddwaf/pkg-plist @@ -0,0 +1,5 @@ +include/ddwaf.h +lib/libddwaf.a +lib/libddwaf.so +share/cmake/libddwaf/libddwaf-config-%%CMAKE_BUILD_TYPE%%.cmake +share/cmake/libddwaf/libddwaf-config.cmake