mdbx package code Copyright (c) 2026 Pedro Baltazar License: MIT Covers everything outside src/vendor/: the R sources under R/, the binding layer src/r_mdbx.cpp, src/r_mdbx.h, src/r_flags.cpp, src/r_mdbx_hooks.cpp and src/r_mdbx_hooks.h, the cpp11-generated src/cpp11.cpp and R/cpp11.R, the build glue src/Makevars and src/Makevars.win, and the contents of man/ and tests/. The same applies to the maintainer scripts under tools/ in the source repository, which are not part of the distributed package. Vendored third-party code ========================= Component: libmdbx (aka MDBX) Location: src/vendor/libmdbx Upstream: https://libmdbx.dqdkfa.ru Copyright (c) 2015-2026 Leonid Yuriev License: Apache-2.0 The vendored files are mdbx.c, mdbx.h and mdbx-internals.h -- the three files that constitute the official libmdbx amalgamation -- together with the upstream LICENSE, NOTICE and COPYRIGHT, which are retained verbatim in src/vendor/libmdbx and apply to the files there. libmdbx's command-line tools, C++ API, test suite and build system are not vendored. The sources were taken from release tag v0.14.3 (tag object cf3e13938bf974260872e629713f6ecf30e62030, commit f7a3a9323cacacfa9dc6137ae7a7252a67744ff0) via upstream's GitHub mirror at https://github.com/erthink/libmdbx. Per-file SHA-256 digests of the pristine sources are recorded in .agents/vendoring.md in the package's source repository. Local modifications to the vendored sources, which constitute the notice required by section 4(b) of the Apache License, are confined to src/vendor/libmdbx/mdbx.c, src/vendor/libmdbx/mdbx.h and src/vendor/libmdbx/mdbx-internals.h. They route libmdbx's panic path through a package-owned guard that marks the owning handle unusable and raises an R condition instead of calling the platform assert handler or abort(); send log output through R's console instead of stderr; read NT_TIB::Self directly rather than through __readgsqword(), which avoids a false-positive -Warray-bounds from Rtools' MinGW headers; remove nine upstream diagnostic-suppression pragmas (#pragma GCC/clang diagnostic ignored ...), which are unnecessary under R's compilation flags and trip CRAN's pragma check; and restrict the compatibility definitions of bool, true, false and nullptr to compilers older than C23, which promoted all four to keywords; and declare three trailing arrays that are deliberately indexed past their declared length (the dirty-page list, the defragmentation map list and the write-ring gather list) as C99 flexible array members, or index them through a pointer, so that bounds-checking sanitizers do not report them. Allocation sizes are unchanged. Together these ensure no compiled code writes to stderr or terminates the R process. Each change is also recorded as a patch in tools/patches/ in the package's source repository. LICENSE, NOTICE and COPYRIGHT are unmodified. Third-party code within libmdbx =============================== libmdbx was derived from LMDB in 2015 and subsequently rewritten. The copyright notices and licences of that ancestry are reproduced in full in src/vendor/libmdbx/COPYRIGHT, and are in summary: Component: LMDB Copyright (c) 2011-2015 Howard Chu, Symas Corp. All rights reserved. License: OpenLDAP Public License Component: btree.c, from which LMDB derived code Copyright (c) 2009, 2010 Martin Hedenfalk License: ISC-style permissive licence