Merge pull request #14632 from abbradar/wine-fix64bit

Fix 64-bit Wine builds
This commit is contained in:
Nikolay Amiantov 2016-04-12 22:30:23 +04:00
commit c25a8fe831
2 changed files with 12 additions and 5 deletions

View file

@ -1,4 +1,5 @@
{ system, stdenv, stdenv_32bit, lib, pkgs, pkgsi686Linux, callPackage, callPackage_i686,
overrideCC, wrapCCMulti, gcc49,
pulseaudioSupport,
wineRelease ? "stable"
}:
@ -16,6 +17,9 @@ in with src; {
wine64 = callPackage ./base.nix {
name = "wine64-${version}";
inherit src version pulseaudioSupport;
# FIXME: drop this when GCC is updated to >5.3.
# Corresponding bug: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69140
stdenv = overrideCC stdenv gcc49;
pkgArches = [ pkgs ];
geckos = [ gecko64 ];
monos = [ mono ];
@ -25,7 +29,8 @@ in with src; {
wineWow = callPackage ./base.nix {
name = "wine-wow-${version}";
inherit src version pulseaudioSupport;
stdenv = stdenv_32bit;
# FIXME: see above.
stdenv = overrideCC stdenv_32bit (wrapCCMulti gcc49);
pkgArches = [ pkgs pkgsi686Linux ];
geckos = [ gecko32 gecko64 ];
monos = [ mono ];

View file

@ -4044,18 +4044,20 @@ in
gcc = gcc5;
gcc_multi =
wrapCCMulti = cc:
if system == "x86_64-linux" then lowPrio (
let
extraBuildCommands = ''
echo "dontMoveLib64=1" >> $out/nix-support/setup-hook
'';
in wrapCCWith (callPackage ../build-support/cc-wrapper) glibc_multi extraBuildCommands (gcc.cc.override {
stdenv = overrideCC stdenv (wrapCCWith (callPackage ../build-support/cc-wrapper) glibc_multi "" gcc.cc);
in wrapCCWith (callPackage ../build-support/cc-wrapper) glibc_multi extraBuildCommands (cc.cc.override {
stdenv = overrideCC stdenv (wrapCCWith (callPackage ../build-support/cc-wrapper) glibc_multi "" cc.cc);
profiledCompiler = false;
enableMultilib = true;
}))
else throw "Multilib gcc not supported on ${system}";
else throw "Multilib ${cc.name} not supported on ${system}";
gcc_multi = wrapCCMulti gcc;
gcc_debug = lowPrio (wrapCC (gcc.cc.override {
stripped = false;