qt6.qtbase: patch QTEST_ASSERT and other macros to remove reference to qtbase.dev via __FILE__ macro

This is safe because they are only used for printing debug messages, alternatives are setting -fmacro-prefix-map=${qtbase.dev}=qtbase.dev in NIX_CFLAGS_COMPILE or injecting #line directives in all header files, but they would interfere with other usages of __FILE__ macro that might depend on the the path to actually point to a file.
This commit is contained in:
Nick Cao 2022-12-31 18:29:44 +08:00
parent 01c8e3d8bb
commit 496a2f43b4
No known key found for this signature in database

View file

@ -271,6 +271,9 @@ stdenv.mkDerivation rec {
-e "/^bindir=/ c bindir=$dev/bin"
patchShebangs $out $dev
# QTEST_ASSERT and other macros keeps runtime reference to qtbase.dev
substituteInPlace "$dev/include/QtTest/qtestassert.h" --replace "__FILE__" "__BASE_FILE__"
'';
dontStrip = debugSymbols;