git: bca243c24043 - main - devel/libddwaf: Add libddwaf 1.8.2

From: Po-Chuan Hsieh <sunpoet_at_FreeBSD.org>
Date: Wed, 05 Apr 2023 17:33:10 UTC
The branch main has been updated by sunpoet:

URL: https://cgit.FreeBSD.org/ports/commit/?id=bca243c2404302e2c0c34f85f0a532d1ae6096fc

commit bca243c2404302e2c0c34f85f0a532d1ae6096fc
Author:     Po-Chuan Hsieh <sunpoet@FreeBSD.org>
AuthorDate: 2023-04-05 17:07:18 +0000
Commit:     Po-Chuan Hsieh <sunpoet@FreeBSD.org>
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 <bsd.port.mk>
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}
+-                $<TARGET_FILE:libddwaf_static> $<TARGET_FILE:lib_re2> $<TARGET_FILE:lib_ac>
+-                $<TARGET_FILE:lib_injection> $<TARGET_FILE:lib_utf8proc> $<TARGET_FILE:lib_radix>
+-            COMMAND ${CMAKE_COMMAND} -E copy lib_comb/combined${CMAKE_STATIC_LIBRARY_SUFFIX} $<TARGET_FILE:libddwaf_static>
+-            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 $<TARGET_FILE:libddwaf_static>
+-              COMMAND ${CMAKE_COMMAND} -E chdir ar_comb ${CMAKE_AR} -x $<TARGET_FILE:lib_re2>
+-              COMMAND ${CMAKE_COMMAND} -E chdir ar_comb ${CMAKE_AR} -x $<TARGET_FILE:lib_ac>
+-              COMMAND ${CMAKE_COMMAND} -E chdir ar_comb ${CMAKE_AR} -x $<TARGET_FILE:lib_injection>
+-              COMMAND ${CMAKE_COMMAND} -E chdir ar_comb ${CMAKE_AR} -x $<TARGET_FILE:lib_utf8proc>
+-              COMMAND ${CMAKE_COMMAND} -E chdir ar_comb ${CMAKE_AR} -x $<TARGET_FILE:lib_radix>
+-              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} $<TARGET_FILE:libddwaf_static>
+-              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 $<TARGET_FILE:libddwaf_static>
+-              COMMAND ${CMAKE_COMMAND} -E chdir ar_comb ${CMAKE_AR} -x $<TARGET_FILE:lib_re2>
+-              COMMAND ${CMAKE_COMMAND} -E chdir ar_comb ${CMAKE_AR} -x $<TARGET_FILE:lib_ac>
+-              COMMAND ${CMAKE_COMMAND} -E chdir ar_comb ${CMAKE_AR} -x $<TARGET_FILE:lib_injection>
+-              COMMAND ${CMAKE_COMMAND} -E chdir ar_comb ${CMAKE_AR} -x $<TARGET_FILE:lib_utf8proc>
+-              COMMAND ${CMAKE_COMMAND} -E chdir ar_comb ${CMAKE_AR} -x $<TARGET_FILE:lib_radix>
+-              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} $<TARGET_FILE:libddwaf_static>
+-              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 $<TARGET_FILE:libddwaf_static> -o $<TARGET_FILE:libddwaf_static>.stripped)
+-              install(FILES $<TARGET_FILE:libddwaf_static>.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}
++#                $<TARGET_FILE:libddwaf_static> $<TARGET_FILE:lib_re2> $<TARGET_FILE:lib_ac>
++#                $<TARGET_FILE:lib_injection> $<TARGET_FILE:lib_utf8proc> $<TARGET_FILE:lib_radix>
++#            COMMAND ${CMAKE_COMMAND} -E copy lib_comb/combined${CMAKE_STATIC_LIBRARY_SUFFIX} $<TARGET_FILE:libddwaf_static>
++#            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 $<TARGET_FILE:libddwaf_static>
++#              COMMAND ${CMAKE_COMMAND} -E chdir ar_comb ${CMAKE_AR} -x $<TARGET_FILE:lib_re2>
++#              COMMAND ${CMAKE_COMMAND} -E chdir ar_comb ${CMAKE_AR} -x $<TARGET_FILE:lib_ac>
++#              COMMAND ${CMAKE_COMMAND} -E chdir ar_comb ${CMAKE_AR} -x $<TARGET_FILE:lib_injection>
++#              COMMAND ${CMAKE_COMMAND} -E chdir ar_comb ${CMAKE_AR} -x $<TARGET_FILE:lib_utf8proc>
++#              COMMAND ${CMAKE_COMMAND} -E chdir ar_comb ${CMAKE_AR} -x $<TARGET_FILE:lib_radix>
++#              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} $<TARGET_FILE:libddwaf_static>
++#              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 $<TARGET_FILE:libddwaf_static>
++#              COMMAND ${CMAKE_COMMAND} -E chdir ar_comb ${CMAKE_AR} -x $<TARGET_FILE:lib_re2>
++#              COMMAND ${CMAKE_COMMAND} -E chdir ar_comb ${CMAKE_AR} -x $<TARGET_FILE:lib_ac>
++#              COMMAND ${CMAKE_COMMAND} -E chdir ar_comb ${CMAKE_AR} -x $<TARGET_FILE:lib_injection>
++#              COMMAND ${CMAKE_COMMAND} -E chdir ar_comb ${CMAKE_AR} -x $<TARGET_FILE:lib_utf8proc>
++#              COMMAND ${CMAKE_COMMAND} -E chdir ar_comb ${CMAKE_AR} -x $<TARGET_FILE:lib_radix>
++#              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} $<TARGET_FILE:libddwaf_static>
++#              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 $<TARGET_FILE:libddwaf_static> -o $<TARGET_FILE:libddwaf_static>.stripped)
++#              install(FILES $<TARGET_FILE:libddwaf_static>.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 <ws2tcpip.h>
+ #else
++#  include <sys/socket.h>
+ #  include <arpa/inet.h>
+ #  include <netinet/in.h>
+ #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 "<SOURCE_DIR>/include/" "<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 "<SOURCE_DIR>/include/" "<INSTALL_DIR>/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 <BINARY_DIR> --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=<INSTALL_DIR>
+-    -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=<INSTALL_DIR>
++#    -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=<INSTALL_DIR>
+-                -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=<INSTALL_DIR>
++#                -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=<INSTALL_DIR>
+-    -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=<INSTALL_DIR>
++#    -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=<INSTALL_DIR>
+-                -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=<INSTALL_DIR>
++#                -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