nixpkgs/pkgs/development/libraries/mesa/default.nix

46 lines
1.3 KiB
Nix
Raw Normal View History

{ stdenv, fetchurl, flex, bison, pkgconfig, x11, xlibs, libdrm, file, expat
, python, libxml2Python, lipo ? null }:
if ! stdenv.lib.lists.elem stdenv.system stdenv.lib.platforms.mesaPlatforms then
throw "unsupported platform for Mesa"
else
let version = "7.10.3"; in
stdenv.mkDerivation {
name = "mesa-${version}";
src = fetchurl {
url = "ftp://ftp.freedesktop.org/pub/mesa/${version}/MesaLib-${version}.tar.bz2";
sha256 = "1h451vgsfsp0h0wig66spqgxmjalsy28gvd9viynfwmq7741yw0y";
};
patches = [ ./swrast-settexbuffer.patch ];
postPatch = ''
find . -name "*.py" -exec sed -i -e "s|#! */usr/bin/env python|#! ${python}/bin/python|" {} +
'';
configureFlags =
"--enable-gallium --enable-gl-osmesa --with-dri-drivers=swrast,radeon,r600 "
+ stdenv.lib.optionalString (stdenv.system == "mips64-linux")
" --with-dri-drivers=swrast --with-driver=dri"
+ stdenv.lib.optionalString stdenv.isDarwin " --disable-egl";
buildInputs =
[ pkgconfig expat x11 libdrm xlibs.makedepend xlibs.glproto
xlibs.libXxf86vm xlibs.libXfixes xlibs.libXdamage xlibs.dri2proto
lipo file python libxml2Python flex bison
];
enableParallelBuilding = true;
passthru = { inherit libdrm; };
meta = {
description = "An open source implementation of OpenGL";
homepage = http://www.mesa3d.org/;
license = "bsd";
};
}