On Sun, Dec 05 2021, Christian Weisgerber <na...@mips.inka.de> wrote: > I ran another amd64 bulk build with base clang updated to LLVM 13 > and --allow-shlib-undefined as the default again (~patrick/llvm.v6). > I also put in a tentative fix for security/nss. > > Failure logs: > http://build-failures.rhaalovely.net/amd64-clang/2021-12-04/ > > Triage:
[...] > security/encfs C++: no matching constructor I had to diff an old /usr/include/c++/v1/memory and a new /usr/include/c++/v1/__memory/shared_ptr.h to get a hint about what was going wrong. Which lead to: /usr/include/c++/v1/__memory/shared_ptr.h:464:9: note: candidate template ignored: requirement '__shared_ptr_deleter_ctor_reqs<encfs::NullDestructor, encfs::NullKey, encfs::AbstractCipherKey>::value' was not satisfied [with _Yp = encfs::NullKey, _Dp = encfs::NullDestructor] shared_ptr(_Yp* __p, _Dp __d, -> https://reviews.llvm.org/D81414 The tentative diff below fixes the signature of the destructor/deleter. Reviews from people versed into C++ could be helpful. ok? While here: - fix HOMEPAGE, the previous one was replaced with a generic https://www.arg0.net/projects with the encfs entry pointing to the github repo. - respect CXXFLAGS (repairing the mistake I introduced) - re-enable tests Index: Makefile =================================================================== RCS file: /cvs/ports/security/encfs/Makefile,v retrieving revision 1.24 diff -u -p -r1.24 Makefile --- Makefile 4 Dec 2021 11:35:34 -0000 1.24 +++ Makefile 6 Dec 2021 23:03:05 -0000 @@ -4,11 +4,11 @@ COMMENT = fuse-based cryptographic file V = 1.9.5 DISTNAME = encfs-$V -REVISION = 3 +REVISION = 4 CATEGORIES = security -HOMEPAGE = http://www.arg0.net/encfs +HOMEPAGE = https://github.com/vgough/encfs # GPLv3+ PERMIT_PACKAGE = Yes @@ -32,9 +32,9 @@ LIB_DEPENDS = devel/gettext,-runtime \ CONFIGURE_ARGS = -DUSE_INTERNAL_TINYXML=Off \ -DCMAKE_DISABLE_FIND_PACKAGE_Git=On -CONFIGURE_ENV = CXXFLAGS="-DHAVE_UTIMENSAT -D_DIRENT_HAVE_D_TYPE" +CXXFLAGS+= -DHAVE_UTIMENSAT -D_DIRENT_HAVE_D_TYPE -TEST_TARGET = unittests test +TEST_TARGET = unittests test/test .include <bsd.port.mk> Index: patches/patch-encfs_NullCipher_cpp =================================================================== RCS file: patches/patch-encfs_NullCipher_cpp diff -N patches/patch-encfs_NullCipher_cpp --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-encfs_NullCipher_cpp 6 Dec 2021 23:03:05 -0000 @@ -0,0 +1,16 @@ +$OpenBSD$ + +Fix str::shared_ptr destructor signature. + +Index: encfs/NullCipher.cpp +--- encfs/NullCipher.cpp.orig ++++ encfs/NullCipher.cpp +@@ -76,7 +76,7 @@ class NullDestructor { + NullDestructor &operator=(const NullDestructor &) = delete; // copy assignment + NullDestructor& operator=(NullDestructor&& other) = delete; // move assignment + +- void operator()(NullKey *&) {} ++ void operator()(NullKey *) {} + }; + std::shared_ptr<AbstractCipherKey> gNullKey(new NullKey(), NullDestructor()); + -- jca | PGP : 0x1524E7EE / 5135 92C1 AD36 5293 2BDF DDCC 0DFA 74AE 1524 E7EE