epoxy: add mesa to libepoxy runpath as fallback

- libepoxy dlopen()s libEGL / libGL but didn't have mesa in its runpath
  -> error unless lib is already open or in LD_LIBRARY_PATH
- change dependency from mesa (should be avoided) to mesa_nonglu
This commit is contained in:
xeji 2018-02-22 09:52:28 +01:00
parent 8d490ca993
commit a7a0d78f1c

View File

@ -1,5 +1,5 @@
{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, utilmacros, python
, mesa, libX11
, mesa_noglu, libX11
}:
stdenv.mkDerivation rec {
@ -16,13 +16,18 @@ stdenv.mkDerivation rec {
outputs = [ "out" "dev" ];
nativeBuildInputs = [ autoreconfHook pkgconfig utilmacros python ];
buildInputs = [ mesa libX11 ];
buildInputs = [ mesa_noglu libX11 ];
preConfigure = stdenv.lib.optional stdenv.isDarwin ''
substituteInPlace configure --replace build_glx=no build_glx=yes
substituteInPlace src/dispatch_common.h --replace "PLATFORM_HAS_GLX 0" "PLATFORM_HAS_GLX 1"
'';
# add mesa_nonglu to rpath because libepoxy dlopen()s libEGL
postFixup = ''
patchelf --set-rpath "${stdenv.lib.makeLibraryPath [ mesa_noglu ]}:$(patchelf --print-rpath $out/lib/libepoxy.so.0.0.0)" $out/lib/libepoxy.so.0.0.0
'';
meta = with stdenv.lib; {
description = "A library for handling OpenGL function pointer management";
homepage = https://github.com/anholt/libepoxy;