diff options
author | Nikolay Amiantov <ab@fmap.me> | 2016-04-12 22:30:23 +0400 |
---|---|---|
committer | Nikolay Amiantov <ab@fmap.me> | 2016-04-12 22:30:23 +0400 |
commit | c25a8fe8317a47a61a0bf2983800895e584ec24f (patch) | |
tree | 6364c592b3482ef5bda9e500551c128f77e1c0a6 | |
parent | a42698d2a496516da08f31cfc7daab3d6f69a0fe (diff) | |
parent | 24835df32201c22a4d9d8e18042260aefeb78002 (diff) | |
download | nixlib-c25a8fe8317a47a61a0bf2983800895e584ec24f.tar nixlib-c25a8fe8317a47a61a0bf2983800895e584ec24f.tar.gz nixlib-c25a8fe8317a47a61a0bf2983800895e584ec24f.tar.bz2 nixlib-c25a8fe8317a47a61a0bf2983800895e584ec24f.tar.lz nixlib-c25a8fe8317a47a61a0bf2983800895e584ec24f.tar.xz nixlib-c25a8fe8317a47a61a0bf2983800895e584ec24f.tar.zst nixlib-c25a8fe8317a47a61a0bf2983800895e584ec24f.zip |
Merge pull request #14632 from abbradar/wine-fix64bit
Fix 64-bit Wine builds
-rw-r--r-- | pkgs/misc/emulators/wine/packages.nix | 7 | ||||
-rw-r--r-- | pkgs/top-level/all-packages.nix | 10 |
2 files changed, 12 insertions, 5 deletions
diff --git a/pkgs/misc/emulators/wine/packages.nix b/pkgs/misc/emulators/wine/packages.nix index 45c48182f284..206deb01b8bb 100644 --- a/pkgs/misc/emulators/wine/packages.nix +++ b/pkgs/misc/emulators/wine/packages.nix @@ -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 ]; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 188788955ffe..02df6bd55323 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -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; |