mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-23 14:11:36 +00:00
Merge pull request #14632 from abbradar/wine-fix64bit
Fix 64-bit Wine builds
This commit is contained in:
commit
c25a8fe831
|
@ -1,4 +1,5 @@
|
||||||
{ system, stdenv, stdenv_32bit, lib, pkgs, pkgsi686Linux, callPackage, callPackage_i686,
|
{ system, stdenv, stdenv_32bit, lib, pkgs, pkgsi686Linux, callPackage, callPackage_i686,
|
||||||
|
overrideCC, wrapCCMulti, gcc49,
|
||||||
pulseaudioSupport,
|
pulseaudioSupport,
|
||||||
wineRelease ? "stable"
|
wineRelease ? "stable"
|
||||||
}:
|
}:
|
||||||
|
@ -16,6 +17,9 @@ in with src; {
|
||||||
wine64 = callPackage ./base.nix {
|
wine64 = callPackage ./base.nix {
|
||||||
name = "wine64-${version}";
|
name = "wine64-${version}";
|
||||||
inherit src version pulseaudioSupport;
|
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 ];
|
pkgArches = [ pkgs ];
|
||||||
geckos = [ gecko64 ];
|
geckos = [ gecko64 ];
|
||||||
monos = [ mono ];
|
monos = [ mono ];
|
||||||
|
@ -25,7 +29,8 @@ in with src; {
|
||||||
wineWow = callPackage ./base.nix {
|
wineWow = callPackage ./base.nix {
|
||||||
name = "wine-wow-${version}";
|
name = "wine-wow-${version}";
|
||||||
inherit src version pulseaudioSupport;
|
inherit src version pulseaudioSupport;
|
||||||
stdenv = stdenv_32bit;
|
# FIXME: see above.
|
||||||
|
stdenv = overrideCC stdenv_32bit (wrapCCMulti gcc49);
|
||||||
pkgArches = [ pkgs pkgsi686Linux ];
|
pkgArches = [ pkgs pkgsi686Linux ];
|
||||||
geckos = [ gecko32 gecko64 ];
|
geckos = [ gecko32 gecko64 ];
|
||||||
monos = [ mono ];
|
monos = [ mono ];
|
||||||
|
|
|
@ -4044,18 +4044,20 @@ in
|
||||||
|
|
||||||
gcc = gcc5;
|
gcc = gcc5;
|
||||||
|
|
||||||
gcc_multi =
|
wrapCCMulti = cc:
|
||||||
if system == "x86_64-linux" then lowPrio (
|
if system == "x86_64-linux" then lowPrio (
|
||||||
let
|
let
|
||||||
extraBuildCommands = ''
|
extraBuildCommands = ''
|
||||||
echo "dontMoveLib64=1" >> $out/nix-support/setup-hook
|
echo "dontMoveLib64=1" >> $out/nix-support/setup-hook
|
||||||
'';
|
'';
|
||||||
in wrapCCWith (callPackage ../build-support/cc-wrapper) glibc_multi extraBuildCommands (gcc.cc.override {
|
in wrapCCWith (callPackage ../build-support/cc-wrapper) glibc_multi extraBuildCommands (cc.cc.override {
|
||||||
stdenv = overrideCC stdenv (wrapCCWith (callPackage ../build-support/cc-wrapper) glibc_multi "" gcc.cc);
|
stdenv = overrideCC stdenv (wrapCCWith (callPackage ../build-support/cc-wrapper) glibc_multi "" cc.cc);
|
||||||
profiledCompiler = false;
|
profiledCompiler = false;
|
||||||
enableMultilib = true;
|
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 {
|
gcc_debug = lowPrio (wrapCC (gcc.cc.override {
|
||||||
stripped = false;
|
stripped = false;
|
||||||
|
|
Loading…
Reference in a new issue