28b6fb61e6
This is done for the sake of Yosemite, which does not have gcc, and yet this change is also compatible with Linux.
82 lines
2.6 KiB
Nix
82 lines
2.6 KiB
Nix
{ stdenv, fetchurl, pkgconfig, xlibs, flex, bison, mesa, mesa_noglu, alsaLib
|
|
, ncurses, libpng, libjpeg, lcms2, freetype, fontconfig, fontforge
|
|
, libxml2, libxslt, openssl, gnutls, cups, libdrm, makeWrapper
|
|
}:
|
|
|
|
assert stdenv.isLinux;
|
|
assert stdenv.cc.gcc != null;
|
|
|
|
let
|
|
version = "1.6.2";
|
|
name = "wine-${version}";
|
|
|
|
src = fetchurl {
|
|
url = "mirror://sourceforge/wine/${name}.tar.bz2";
|
|
sha256 = "1gmc0ljgfz3qy50mdxcwwjcr2yrpz54jcs2hdszsrk50wpnrxazh";
|
|
};
|
|
|
|
gecko = fetchurl {
|
|
url = "mirror://sourceforge/wine/wine_gecko-2.21-x86.msi";
|
|
sha256 = "1n0zccnvchkg0m896sjx5psk4bxw9if32xyxib1rbfdasykay7zh";
|
|
};
|
|
|
|
gecko64 = fetchurl {
|
|
url = "mirror://sourceforge/wine/wine_gecko-2.21-x86_64.msi";
|
|
sha256 = "0grc86dkq90i59zw43hakh62ra1ajnk11m64667xjrlzi7f0ndxw";
|
|
};
|
|
|
|
mono = fetchurl {
|
|
url = "mirror://sourceforge/wine/wine-mono-0.0.8.msi";
|
|
sha256 = "00jl24qp7vh3hlqv7wsw1s529lr5p0ybif6s73jy85chqaxj7z1x";
|
|
};
|
|
|
|
in stdenv.mkDerivation rec {
|
|
inherit version name src;
|
|
|
|
buildInputs = [
|
|
pkgconfig
|
|
xlibs.xlibs flex bison xlibs.libXi mesa mesa_noglu.osmesa
|
|
xlibs.libXcursor xlibs.libXinerama xlibs.libXrandr
|
|
xlibs.libXrender xlibs.libXxf86vm xlibs.libXcomposite
|
|
alsaLib ncurses libpng libjpeg lcms2 fontforge
|
|
libxml2 libxslt openssl gnutls cups makeWrapper
|
|
];
|
|
|
|
# Wine locates a lot of libraries dynamically through dlopen(). Add
|
|
# them to the RPATH so that the user doesn't have to set them in
|
|
# LD_LIBRARY_PATH.
|
|
NIX_LDFLAGS = map (path: "-rpath ${path}/lib ") [
|
|
freetype fontconfig stdenv.cc.gcc mesa mesa_noglu.osmesa libdrm
|
|
xlibs.libXinerama xlibs.libXrender xlibs.libXrandr
|
|
xlibs.libXcursor xlibs.libXcomposite libpng libjpeg
|
|
openssl gnutls cups
|
|
];
|
|
|
|
# Don't shrink the ELF RPATHs in order to keep the extra RPATH
|
|
# elements specified above.
|
|
dontPatchELF = true;
|
|
|
|
postInstall = ''
|
|
install -D ${gecko} $out/share/wine/gecko/${gecko.name}
|
|
'' + stdenv.lib.optionalString (stdenv.system == "x86_64-linux") ''
|
|
install -D ${gecko} $out/share/wine/gecko/${gecko64.name}
|
|
'' + ''
|
|
install -D ${mono} $out/share/wine/mono/${mono.name}
|
|
|
|
paxmark psmr $out/bin/wine{,-preloader}
|
|
|
|
wrapProgram $out/bin/wine --prefix LD_LIBRARY_PATH : ${stdenv.cc.gcc}/lib
|
|
'';
|
|
|
|
enableParallelBuilding = true;
|
|
|
|
meta = {
|
|
homepage = "http://www.winehq.org/";
|
|
license = "LGPL";
|
|
inherit version;
|
|
description = "An Open Source implementation of the Windows API on top of X, OpenGL, and Unix";
|
|
maintainers = [stdenv.lib.maintainers.raskin];
|
|
platforms = stdenv.lib.platforms.linux;
|
|
};
|
|
}
|