I think what's happening is that the linker automatically adds DT_NEEDED dependencies to some libraries because it finds these libraries are being used directly, but because they're not linked explicitly with -lflags, the gcc wrapper does not add them to RUNPATH.
		
			
				
	
	
		
			32 lines
		
	
	
		
			911 B
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			32 lines
		
	
	
		
			911 B
		
	
	
	
		
			Nix
		
	
	
	
	
	
{ stdenv, fetchurl, pkgconfig, python, isPy3k, isPyPy, wxGTK, openglSupport ? true, pyopengl
 | 
						|
, version, sha256, wrapPython, setuptools, libX11, ...
 | 
						|
}:
 | 
						|
 | 
						|
assert wxGTK.unicode;
 | 
						|
 | 
						|
stdenv.mkDerivation rec {
 | 
						|
  name = "wxPython-${version}";
 | 
						|
  inherit version;
 | 
						|
 | 
						|
  disabled = isPy3k || isPyPy;
 | 
						|
  doCheck = false;
 | 
						|
 | 
						|
  src = fetchurl {
 | 
						|
    url = "mirror://sourceforge/wxpython/wxPython-src-${version}.tar.bz2";
 | 
						|
    inherit sha256;
 | 
						|
  };
 | 
						|
 | 
						|
  pythonPath = [ python setuptools ];
 | 
						|
  buildInputs = [ python setuptools pkgconfig wxGTK (wxGTK.gtk) wrapPython libX11 ]  ++ stdenv.lib.optional openglSupport pyopengl;
 | 
						|
  preConfigure = "cd wxPython";
 | 
						|
 | 
						|
  NIX_LDFLAGS = "-lX11 -lgdk-x11-2.0";
 | 
						|
 | 
						|
  installPhase = ''
 | 
						|
    ${python.interpreter} setup.py install WXPORT=gtk2 NO_HEADERS=1 BUILD_GLCANVAS=${if openglSupport then "1" else "0"} UNICODE=1 --prefix=$out
 | 
						|
    wrapPythonPrograms
 | 
						|
  '';
 | 
						|
 | 
						|
  passthru = { inherit wxGTK openglSupport; };
 | 
						|
}
 |