apitrace: reformat using nixfmt

This commit is contained in:
György Kurucz
2025-02-23 00:37:03 +01:00
parent 76834c2bad
commit a101d38330
+56 -50
View File
@@ -30,23 +30,27 @@ stdenv.mkDerivation rec {
# LD_PRELOAD wrappers need to be statically linked to work against all kinds
# of games -- so it's fine to use e.g. bundled snappy.
buildInputs = [
libX11
procps
libdwarf
gtest
brotli
] ++ lib.optionals enableGui [
qtbase
];
buildInputs =
[
libX11
procps
libdwarf
gtest
brotli
]
++ lib.optionals enableGui [
qtbase
];
nativeBuildInputs = [
cmake
pkg-config
python3
] ++ lib.optionals enableGui [
wrapQtAppsHook
];
nativeBuildInputs =
[
cmake
pkg-config
python3
]
++ lib.optionals enableGui [
wrapQtAppsHook
];
cmakeFlags = [
(lib.cmakeBool "ENABLE_GUI" enableGui)
@@ -56,43 +60,45 @@ stdenv.mkDerivation rec {
# `qapitrace`.
dontWrapQtApps = true;
postFixup = ''
postFixup =
''
# Since https://github.com/NixOS/nixpkgs/pull/60985, we add `/run-opengl-driver[-32]`
# to the `RUNPATH` of dispatcher libraries `dlopen()` ing OpenGL drivers.
# `RUNPATH` doesn't propagate throughout the whole application, but only
# from the module performing the `dlopen()`.
#
# Apitrace wraps programs by running them with `LD_PRELOAD` pointing to `.so`
# files in $out/lib/apitrace/wrappers.
#
# Theses wrappers effectively wrap the `dlopen()` calls from `libglvnd`
# and other dispatcher libraries, and run `dlopen()` by themselves.
#
# As `RUNPATH` doesn't propagate through the whole library, and they're now the
# library doing the real `dlopen()`, they also need to have
# `/run-opengl-driver[-32]` added to their `RUNPATH`.
#
# To stay simple, we add paths for 32 and 64 bits unconditionally.
# This doesn't have an impact on closure size, and if the 32 bit drivers
# are not available, that folder is ignored.
for i in $out/lib/apitrace/wrappers/*.so
do
echo "Patching OpenGL driver path for $i"
patchelf --set-rpath "/run/opengl-driver/lib:/run/opengl-driver-32/lib:$(patchelf --print-rpath $i)" $i
done
# Since https://github.com/NixOS/nixpkgs/pull/60985, we add `/run-opengl-driver[-32]`
# to the `RUNPATH` of dispatcher libraries `dlopen()` ing OpenGL drivers.
# `RUNPATH` doesn't propagate throughout the whole application, but only
# from the module performing the `dlopen()`.
#
# Apitrace wraps programs by running them with `LD_PRELOAD` pointing to `.so`
# files in $out/lib/apitrace/wrappers.
#
# Theses wrappers effectively wrap the `dlopen()` calls from `libglvnd`
# and other dispatcher libraries, and run `dlopen()` by themselves.
#
# As `RUNPATH` doesn't propagate through the whole library, and they're now the
# library doing the real `dlopen()`, they also need to have
# `/run-opengl-driver[-32]` added to their `RUNPATH`.
#
# To stay simple, we add paths for 32 and 64 bits unconditionally.
# This doesn't have an impact on closure size, and if the 32 bit drivers
# are not available, that folder is ignored.
for i in $out/lib/apitrace/wrappers/*.so
do
echo "Patching OpenGL driver path for $i"
patchelf --set-rpath "/run/opengl-driver/lib:/run/opengl-driver-32/lib:$(patchelf --print-rpath $i)" $i
done
# Theses open the OpenGL driver at runtime, but it is not listed as NEEDED libraries. They need
# a reference to libglvnd.
for i in $out/bin/eglretrace $out/bin/glretrace
do
echo "Patching RPath for $i"
patchelf --set-rpath "${lib.makeLibraryPath [ libglvnd ]}:$(patchelf --print-rpath $i)" $i
done
# Theses open the OpenGL driver at runtime, but it is not listed as NEEDED libraries. They need
# a reference to libglvnd.
for i in $out/bin/eglretrace $out/bin/glretrace
do
echo "Patching RPath for $i"
patchelf --set-rpath "${lib.makeLibraryPath [ libglvnd ]}:$(patchelf --print-rpath $i)" $i
done
'' + lib.optionalString enableGui ''
wrapQtApp $out/bin/qapitrace
'';
''
+ lib.optionalString enableGui ''
wrapQtApp $out/bin/qapitrace
'';
meta = with lib; {
homepage = "https://apitrace.github.io";