diff --git a/pkgs/development/interpreters/pypy/2.4/default.nix b/pkgs/development/interpreters/pypy/2.4/default.nix index c5d86766d1f..8a6f2b61bb0 100644 --- a/pkgs/development/interpreters/pypy/2.4/default.nix +++ b/pkgs/development/interpreters/pypy/2.4/default.nix @@ -27,9 +27,11 @@ let C_INCLUDE_PATH = stdenv.lib.concatStringsSep ":" (map (p: "${p}/include") buildInputs); LIBRARY_PATH = stdenv.lib.concatStringsSep ":" (map (p: "${p}/lib") buildInputs); - LD_LIBRARY_PATH = stdenv.lib.concatStringsSep ":" (map (p: "${p}/lib") + LD_LIBRARY_PATH = stdenv.lib.concatStringsSep ":" (map (p: "${p}/lib") (stdenv.lib.filter (x : x.outPath != stdenv.cc.libc.outPath or "") buildInputs)); + patches = [ ./fix-gcc-4-9-2.patch ]; + preConfigure = '' substituteInPlace Makefile \ --replace "-Ojit" "-Ojit --batch" \ diff --git a/pkgs/development/interpreters/pypy/2.4/fix-gcc-4-9-2.patch b/pkgs/development/interpreters/pypy/2.4/fix-gcc-4-9-2.patch new file mode 100644 index 00000000000..dc01c5795dd --- /dev/null +++ b/pkgs/development/interpreters/pypy/2.4/fix-gcc-4-9-2.patch @@ -0,0 +1,19 @@ +--- a/rpython/translator/c/gcc/trackgcroot.py ++++ b/rpython/translator/c/gcc/trackgcroot.py +@@ -590,7 +590,7 @@ + + # The various cmov* operations + for name in ''' +- e ne g ge l le a ae b be p np s ns o no ++ e ne g ge l le a ae b be nb p np s ns o no + '''.split(): + locals()['visit_cmov' + name] = binary_insn + locals()['visit_cmov' + name + 'l'] = binary_insn +@@ -837,6 +837,7 @@ + visit_jb = conditional_jump + visit_jbe = conditional_jump + visit_jp = conditional_jump ++ visit_jnb = conditional_jump + visit_jnp = conditional_jump + visit_js = conditional_jump + visit_jns = conditional_jump