libglvnd, ocl-icd, vulkan-loader: Remove addOpenGLRunpath where not needed.

For APIs that use driver config files, the config files should point to libraries using absolute paths, so `RUNPATH` should be unnecessary. It is still needed for `libGLX` because that does not use config files but the dispatch library receives just a vendor name from the X server.
This commit is contained in:
Ambroz Bizjak 2019-06-08 20:56:13 +02:00 committed by Nikolay Amiantov
parent ebe711a12f
commit 1bba961e2a
3 changed files with 6 additions and 17 deletions

View file

@ -43,10 +43,11 @@ stdenv.mkDerivation rec {
}); });
outputs = [ "out" "dev" ]; outputs = [ "out" "dev" ];
# Set RUNPATH so that driver libraries in /run/opengl-driver(-32)/lib can be found. # Set RUNPATH so that libGLX can find driver libraries in /run/opengl-driver(-32)/lib.
# See the explanation in addOpenGLRunpath. # Note that libEGL does not need it because it uses driver config files which should
# contain absolute paths to libraries.
postFixup = '' postFixup = ''
addOpenGLRunpath $out/lib/libGLX.so $out/lib/libEGL.so addOpenGLRunpath $out/lib/libGLX.so
''; '';
passthru = { inherit (addOpenGLRunpath) driverLink; }; passthru = { inherit (addOpenGLRunpath) driverLink; };

View file

@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
sha256 = "0f14gpa13sdm0kzqv5yycp4pschbmi6n5fj7wl4ilspzsrqcgqr2"; sha256 = "0f14gpa13sdm0kzqv5yycp4pschbmi6n5fj7wl4ilspzsrqcgqr2";
}; };
nativeBuildInputs = [ ruby addOpenGLRunpath ]; nativeBuildInputs = [ ruby ];
buildInputs = [ opencl-headers ]; buildInputs = [ opencl-headers ];
@ -17,12 +17,6 @@ stdenv.mkDerivation rec {
sed -i 's,"/etc/OpenCL/vendors","${addOpenGLRunpath.driverLink}/etc/OpenCL/vendors",g' ocl_icd_loader.c sed -i 's,"/etc/OpenCL/vendors","${addOpenGLRunpath.driverLink}/etc/OpenCL/vendors",g' ocl_icd_loader.c
''; '';
# Set RUNPATH so that driver libraries in /run/opengl-driver(-32)/lib can be found.
# See the explanation in addOpenGLRunpath.
postFixup = ''
addOpenGLRunpath $out/lib/libOpenCL.so
'';
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "OpenCL ICD Loader for ${opencl-headers.name}"; description = "OpenCL ICD Loader for ${opencl-headers.name}";
homepage = https://forge.imag.fr/projects/ocl-icd/; homepage = https://forge.imag.fr/projects/ocl-icd/;

View file

@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
sha256 = "0zhrwj1gi90x2w8gaaaw5h4b969a8gfy244kn0drrplhhb1nqz3b"; sha256 = "0zhrwj1gi90x2w8gaaaw5h4b969a8gfy244kn0drrplhhb1nqz3b";
}; };
nativeBuildInputs = [ pkgconfig addOpenGLRunpath ]; nativeBuildInputs = [ pkgconfig ];
buildInputs = [ cmake python3 xlibsWrapper libxcb libXrandr libXext wayland ]; buildInputs = [ cmake python3 xlibsWrapper libxcb libXrandr libXext wayland ];
enableParallelBuilding = true; enableParallelBuilding = true;
@ -30,12 +30,6 @@ stdenv.mkDerivation rec {
outputs = [ "out" "dev" ]; outputs = [ "out" "dev" ];
# Set RUNPATH so that driver libraries in /run/opengl-driver(-32)/lib can be found.
# See the explanation in addOpenGLRunpath.
postFixup = ''
addOpenGLRunpath $out/lib/libvulkan.so
'';
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "LunarG Vulkan loader"; description = "LunarG Vulkan loader";
homepage = https://www.lunarg.com; homepage = https://www.lunarg.com;