devel/libddwaf: Update to 2.1.0 Changes: https://github.com/DataDog/libddwaf/releasesd3848aea41
Port details
devel/libddwaf 2.1.0
Datadog WAF engine
Port info
- Maintainer
- sunpoet@FreeBSD.org
- Packages
- latest: 2.1.0
- Upstream
- up to date
- Last update
- to 2.1.0 · d3848aea41
- Quarterly
- 2026Q4: 2.1.0
- WWW
- https://github.com/DataDog/libddwaf
- Links
- cgit · VuXML
Install
- Package
# pkg install libddwafinstalls 2.1.0 fromlatest; fromquarterly(2026Q4) 2.1.0- Port
# cd /usr/ports/devel/libddwaf && make install clean- Size
- 1,016 KiB download · 6.8 MiB installed
- Depends on
- devel/libac g20240916, devel/libinjection 4.0.0, devel/re2 20251105, textproc/utf8proc 2.12.0
- License
- APACHE20 or BSD3CLAUSE
Packages by version and architecture
latest
| FreeBSD version | amd64 | aarch64 | i386 |
|---|---|---|---|
| FreeBSD 16 | 2.1.0 | 2.1.0 | – |
| FreeBSD 15 | 2.1.0 | 2.1.0 | – |
| FreeBSD 14 | 2.1.0 | 2.1.0 | 2.1.0 |
quarterly (2026Q4)
| FreeBSD version | amd64 | aarch64 | i386 |
|---|---|---|---|
| FreeBSD 15 | 2.1.0 | 2.1.0 | – |
| FreeBSD 14 | 2.1.0 | 2.1.0 | 2.1.0 |
version as in the ports tree (latest) or the most common one (quarterly) · different version · ✗ not built · – no packages for this platform. Package sets that have not been rebuilt for 60 days are left out.
Unaddressed and VuXML only (0)
No unaddressed CVE and nothing reported by
pkg audit for the packaged version 2.1.0.Fixed (0)
No VuXML entries for this package.
Problem reports (0) · open in Bugzilla, most recently changed first
None.
Commits (39)
devel/libddwaf: Update to 2.0.1 Changes: https://github.com/DataDog/libddwaf/releases7dc877e9c9
devel/libddwaf: Update to 2.0.0 Changes: https://github.com/DataDog/libddwaf/releases8ae06c977d
devel/libinjection: Update to 4.0.0 - Bump PORTREVISION of dependent ports for shlib change Changes: https://github.com/libinjection/libinjection/releases9564cf81b8
devel/libddwaf: fix build with clang 21
With clang 21 devel/libddwaf fails to build, with errors similar to:
In file included from /wrkdirs/usr/ports/devel/libddwaf/work/libddwaf-1.30.1/src/vendor/fmt/format.cc:8:
/wrkdirs/usr/ports/devel/libddwaf/work/libddwaf-1.30.1/src/vendor/fmt/format-inl.h:61:19: error: call to consteval function 'ddwaf::fmt::basic_format_string<char, ddwaf::fmt::basic_string_view<char> &, const char (&)[3]>::basic_format_string<FMT_COMPILE_STRING, 0>' is not a constant expression
61 | format_to(it, FMT_STRING("{}{}"), message, SEP);
| ^
/wrkdirs/usr/ports/devel/libddwaf/work/libddwaf-1.30.1/src/vendor/fmt/format.h:1905:23: note: expanded from macro 'FMT_STRING'
1905 | #define FMT_STRING(s) FMT_STRING_IMPL(s, fmt::detail::compile_string, )
| ^
/wrkdirs/usr/ports/devel/libddwaf/work/libddwaf-1.30.1/src/vendor/fmt/format.h:1882:3: note: expanded from macro 'FMT_STRING_IMPL'
1882 | [] { \
| ^
/wrkdirs/usr/ports/devel/libddwaf/work/libddwaf-1.30.1/src/vendor/fmt/core.h:688:54: note: subexpression not valid in a constant expression
688 | format_str_.remove_prefix(detail::to_unsigned(it - begin()));
| ~~~^~~~~~~~~
/wrkdirs/usr/ports/devel/libddwaf/work/libddwaf-1.30.1/src/vendor/fmt/core.h:2639:5: note: in call to 'this->context_.advance_to(&"{}{}"[1])'
2639 | context_.advance_to(begin);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
/wrkdirs/usr/ports/devel/libddwaf/work/libddwaf-1.30.1/src/vendor/fmt/core.h:2634:5: note: in call to 'this->on_format_specs(0, &"{}{}"[1], &"{}{}"[1])'
2634 | on_format_specs(id, begin, begin); // Call parse() on empty specs.
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/wrkdirs/usr/ports/devel/libddwaf/work/libddwaf-1.30.1/src/vendor/fmt/core.h:2459:5: note: in call to 'handler.on_replacement_field(0, &"{}{}"[1])'
2459 | handler.on_replacement_field(handler.on_arg_id(), begin);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/wrkdirs/usr/ports/devel/libddwaf/work/libddwaf-1.30.1/src/vendor/fmt/core.h:2491:21: note: in call to 'parse_replacement_field<char, ddwaf::fmt::detail::format_string_checker<char, ddwaf::fmt::basic_string_view<char>, char[3]> &>(&"{}{}"[1], &"{}{}"[4], checker(s))'
2491 | begin = p = parse_replacement_field(p - 1, end, handler);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/wrkdirs/usr/ports/devel/libddwaf/work/libddwaf-1.30.1/src/vendor/fmt/core.h:2742:7: note: in call to 'parse_format_string<true, char, ddwaf::fmt::detail::format_string_checker<char, ddwaf::fmt::basic_string_view<char>, char[3]>>({&"{}{}"[0], 4}, checker(s))'
2742 | detail::parse_format_string<true>(str_, checker(s));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/wrkdirs/usr/ports/devel/libddwaf/work/libddwaf-1.30.1/src/vendor/fmt/format-inl.h:61:19: note: in call to 'basic_format_string<FMT_COMPILE_STRING, 0>([] {
struct __attribute__((visibility("hidden"))) FMT_COMPILE_STRING : fmt::detail::compile_string {
using char_type [[maybe_unused]] = fmt::remove_cvref_t<decltype("{}{}"[0])>;
[[maybe_unused]] constexpr operator fmt::basic_string_view<char_type>() const {
return fmt::detail_exported::compile_string_to_view<char_type>("{}{}");
}
};
return FMT_COMPILE_STRING();
}())'
61 | format_to(it, FMT_STRING("{}{}"), message, SEP);
| ^~~~~~~~~~~~~~~~~~
/wrkdirs/usr/ports/devel/libddwaf/work/libddwaf-1.30.1/src/vendor/fmt/format.h:1905:23: note: expanded from macro 'FMT_STRING'
1905 | #define FMT_STRING(s) FMT_STRING_IMPL(s, fmt::detail::compile_string, )
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/wrkdirs/usr/ports/devel/libddwaf/work/libddwaf-1.30.1/src/vendor/fmt/format.h:1882:3: note: expanded from macro 'FMT_STRING_IMPL'
1882 | [] { \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1883 | /* Use the hidden visibility as a workaround for a GCC bug (#1973). */ \
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1884 | /* Use a macro-like name to avoid shadowing warnings. */ \
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1885 | struct FMT_VISIBILITY("hidden") FMT_COMPILE_STRING : base { \
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1886 | using char_type FMT_MAYBE_UNUSED = fmt::remove_cvref_t<decltype(s[0])>; \
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1887 | FMT_MAYBE_UNUSED FMT_CONSTEXPR explicit \
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1888 | operator fmt::basic_string_view<char_type>() const { \
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1889 | return fmt::detail_exported::compile_string_to_view<char_type>(s); \
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1890 | } \
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1891 | }; \
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1892 | return FMT_COMPILE_STRING(); \
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1893 | }()
| ~~~
This is caused by an outdated vendored version of the fmt library, from
<https://github.com/fmtlib/fmt>. Upstream libddwaf updated their
vendored copy in <https://github.com/DataDog/libddwaf/commit/d9dd3eb>,
which is a bit large due to the vendor update, but the patch applies
with a minimum of fuzz, and makes libddwaf build with clang 21.
PR: 293165
Approved by: sunpoet (maintainer)
MFH: 2026Q176122faa9ddevel/libddwaf: Update to 1.30.1 Changes: https://github.com/DataDog/libddwaf/releases83371b9de4
devel/libddwaf: Update to 1.30.0 Changes: https://github.com/DataDog/libddwaf/releasesaac22cbefc
devel/libddwaf: Update to 1.29.0 Changes: https://github.com/DataDog/libddwaf/releases0e673de6ed
devel/libddwaf: Update to 1.28.1 Changes: https://github.com/DataDog/libddwaf/releases4ed23b4562
devel/libddwaf: Update to 1.27.0 Changes: https://github.com/DataDog/libddwaf/releasesba3f6c6bb9
devel/libddwaf: Update to 1.26.0 Changes: https://github.com/DataDog/libddwaf/releasesaa56c7d5f6
devel/libddwaf: Update to 1.25.1 Changes: https://github.com/DataDog/libddwaf/releases06015aaf7e
devel/libddwaf: Update to 1.24.1 Changes: https://github.com/DataDog/libddwaf/releasesb8ea7ff4ea
devel/libddwaf: Update to 1.23.0 Changes: https://github.com/DataDog/libddwaf/releasesfd95b8efe0
devel/libddwaf: Update to 1.22.0 Changes: https://github.com/DataDog/libddwaf/releases939c4f08d1
devel/libddwaf: Update to 1.21.0 Changes: https://github.com/DataDog/libddwaf/releases2dab6c1e74
devel/libddwaf: Update to 1.20.1 Changes: https://github.com/DataDog/libddwaf/releases520db3d624
devel/libddwaf: Update to 1.20.0 Changes: https://github.com/DataDog/libddwaf/releases6b9ae8789c
devel/libddwaf: Update to 1.19.1 Changes: https://github.com/DataDog/libddwaf/releases7f4213093d
devel/libddwaf: Update to 1.19.0 Changes: https://github.com/DataDog/libddwaf/releases1af18ee1a5
devel/libddwaf: Update to 1.18.0 Changes: https://github.com/DataDog/libddwaf/releases9da1103306
devel/libddwaf: Update to 1.17.0 Changes: https://github.com/DataDog/libddwaf/releasesbd517ed2fc
devel/libddwaf: Update to 1.16.1 Changes: https://github.com/DataDog/libddwaf/releases25e609b3b1
devel/libddwaf: Update to 1.16.0 - Clean up LIB_DEPENDS Changes: https://github.com/DataDog/libddwaf/releases946604ae19
devel/libfmt: Update to 10.1.1 - Bump PORTREVISION of dependent ports for shlib change Changes: https://github.com/fmtlib/fmt/releasesec5f6e2261
devel/libddwaf: Update to 1.15.1 Changes: https://github.com/DataDog/libddwaf/releases1a7c8c2749
devel/libddwaf: Update to 1.15.0 Changes: https://github.com/DataDog/libddwaf/releases20d1ed50cf
*/*: Treewide: Bump consumers of textproc/utf8proc ...after commit a71f6f1f41195fc156071640e2cd200541c21e52 Reported by: vvdb63a90c49c
devel/re2: Update to 20230801 - Bump PORTREVISION of dependent ports for shlib change Changes: https://github.com/google/re2/releases0c509fb2dc
devel/libddwaf: Update to 1.14.0 Changes: https://github.com/DataDog/libddwaf/releases65c756fec1
devel/libddwaf: Update to 1.13.1 Changes: https://github.com/DataDog/libddwaf/releasescf08fa4e9d
devel/libddwaf: Update to 1.13.0 Changes: https://github.com/DataDog/libddwaf/releases7763ad8dc1
devel/libddwaf: Update to 1.12.0 Changes: https://github.com/DataDog/libddwaf/releasesdaaa4bf356
devel/libddwaf: Spell CMAKE_ON correctly LIBDDWAF_BUILD_SHARED and LIBDDWAF_BUILD_STATIC are already on by default. Reported by: portfmt scan04310ee1d6
devel/libddwaf: Update to 1.11.0 Changes: https://github.com/DataDog/libddwaf/releases35f40735a0
devel/libddwaf: Update to 1.10.0 Changes: https://github.com/DataDog/libddwaf/releases2013ec8f18
devel/re2: Update to 20230301 - Bump PORTREVISION of dependent ports for shlib change Changes: https://github.com/google/re2/releases94713bad76
devel/libddwaf: Update to 1.9.0 Changes: https://github.com/DataDog/libddwaf/releases95625128ac
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.bca243c240