Build great on 15, but not on main: ===> Building for gpgmepp-2.0.0 [ 2% 1/47] /ccache/libexec/ccache/c++ -DGPG_ERR_SOURCE_DEFAULT=GPG_ERR_SOURCE_GPGME -DGpgmepp_EXPORTS -D_LARGEFILE64_SOURCE -I/wrkdirs/usr/ports/security/gpgmepp/work/.build/src -I/wrkdirs/usr/ports/security/gpgmepp/work/gpgmepp-2.0.0/src -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -Wall -Wextra -Wno-shadow -Wzero-as-null-pointer-constant -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -DNDEBUG -std=c++17 -fPIC -fvisibility=hidden -MD -MT src/CMakeFiles/Gpgmepp.dir/callbacks.cpp.o -MF src/CMakeFiles/Gpgmepp.dir/callbacks.cpp.o.d -o src/CMakeFiles/Gpgmepp.dir/callbacks.cpp.o -c /wrkdirs/usr/ports/security/gpgmepp/work/gpgmepp-2.0.0/src/callbacks.cpp FAILED: [code=1] src/CMakeFiles/Gpgmepp.dir/callbacks.cpp.o /ccache/libexec/ccache/c++ -DGPG_ERR_SOURCE_DEFAULT=GPG_ERR_SOURCE_GPGME -DGpgmepp_EXPORTS -D_LARGEFILE64_SOURCE -I/wrkdirs/usr/ports/security/gpgmepp/work/.build/src -I/wrkdirs/usr/ports/security/gpgmepp/work/gpgmepp-2.0.0/src -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -Wall -Wextra -Wno-shadow -Wzero-as-null-pointer-constant -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -DNDEBUG -std=c++17 -fPIC -fvisibility=hidden -MD -MT src/C MakeFiles/Gpgmepp.dir/callbacks.cpp.o -MF src/CMakeFiles/Gpgmepp.dir/callbacks.cpp.o.d -o src/CMakeFiles/Gpgmepp.dir/callbacks.cpp.o -c /wrkdirs/usr/ports/security/gpgmepp/work/gpgmepp-2.0.0/src/callbacks.cpp In file included from /wrkdirs/usr/ports/security/gpgmepp/work/gpgmepp-2.0.0/src/callbacks.cpp:29: /wrkdirs/usr/ports/security/gpgmepp/work/gpgmepp-2.0.0/src/callbacks.h:31:10: fatal error: 'gpgme.h' file not found 31 | #include <gpgme.h> | ^~~~~~~~~ 1 error generated. ninja: build stopped: subcommand failed. *** Error code 1
Adding a "CXXFLAGS+= -I${LOCALBASE}/include" fixes the build, but this seems dirty because I don’t understand the root cause.
Is this using poudriere? I haven't received any pkg-fallout for main. Could you attach the full build log? gpgmepp uses a CMake module (${WRKSRC}/cmake/modules/FindGpgme.cmake) to detect gpgme and pkgconfig is involved in that process to set Gpgme_INCLUDE_DIRS. You're right that adding USES=localbase or CXXFLAGS is an ugly hack, though.
Created attachment 269542 [details] build log
When you built this successfully on 15.0, were you using the same ccache setup? What I'm seeing compared my tests is that CMake is stripping out `-isystem /usr/local/include` and not passing this flag to ninja. I feel like the culprit is your custom ccache setup since I cannot reproduce this locally and the official package builders also seem fine. If that actually is the case, hacking this individual port won't fix the larger issue. Does it build without ccache?