pypy, pypy3: Remove wrapper

The wrapper is not needed because the runpath is already set correctly,
and LD_LIBRARY_PATH was breaking child processes linked against
different libc versions.

Signed-off-by: Anders Kaseorg <andersk@mit.edu>
This commit is contained in:
Anders Kaseorg 2018-12-22 12:47:33 -08:00 committed by Frederik Rietdijk
parent 6282071229
commit 004b908ae6

View File

@ -1,7 +1,7 @@
{ stdenv, substituteAll, fetchurl { stdenv, substituteAll, fetchurl
, zlib ? null, zlibSupport ? true, bzip2, pkgconfig, libffi , zlib ? null, zlibSupport ? true, bzip2, pkgconfig, libffi
, sqlite, openssl, ncurses, python, expat, tcl, tk, tix, xlibsWrapper, libX11 , sqlite, openssl, ncurses, python, expat, tcl, tk, tix, xlibsWrapper, libX11
, makeWrapper, callPackage, self, gdbm, db, lzma , callPackage, self, gdbm, db, lzma
, python-setup-hook , python-setup-hook
# For the Python package set # For the Python package set
, packageOverrides ? (self: super: {}) , packageOverrides ? (self: super: {})
@ -37,7 +37,7 @@ in with passthru; stdenv.mkDerivation rec {
inherit sha256; inherit sha256;
}; };
nativeBuildInputs = [ pkgconfig makeWrapper ]; nativeBuildInputs = [ pkgconfig ];
buildInputs = [ buildInputs = [
bzip2 openssl pythonForPypy libffi ncurses expat sqlite tk tcl xlibsWrapper libX11 gdbm db bzip2 openssl pythonForPypy libffi ncurses expat sqlite tk tcl xlibsWrapper libX11 gdbm db
] ++ optionals isPy3k [ ] ++ optionals isPy3k [
@ -128,15 +128,6 @@ in with passthru; stdenv.mkDerivation rec {
ln -s $out/${executable}/include $out/include/${libPrefix} ln -s $out/${executable}/include $out/include/${libPrefix}
ln -s $out/${executable}-c/lib-python/${if isPy3k then "3" else pythonVersion} $out/lib/${libPrefix} ln -s $out/${executable}-c/lib-python/${if isPy3k then "3" else pythonVersion} $out/lib/${libPrefix}
# We must wrap the original, not the symlink.
# PyPy uses argv[0] to find its standard library, and while it knows
# how to follow symlinks, it doesn't know about wrappers. So, it
# will think the wrapper is the original. As long as the wrapper has
# the same path as the original, this is OK.
wrapProgram "$out/${executable}-c/${executable}-c" \
--set LD_LIBRARY_PATH "${LD_LIBRARY_PATH}:$out/lib" \
--set LIBRARY_PATH "${LIBRARY_PATH}:$out/lib"
# verify cffi modules # verify cffi modules
$out/bin/${executable} -c ${if isPy3k then "'import tkinter;import sqlite3;import curses;import lzma'" else "'import Tkinter;import sqlite3;import curses'"} $out/bin/${executable} -c ${if isPy3k then "'import tkinter;import sqlite3;import curses;import lzma'" else "'import Tkinter;import sqlite3;import curses'"}