diff --git a/pkgs/development/libraries/libdrm/default.nix b/pkgs/development/libraries/libdrm/default.nix index d37b7dd0b7fb..7c0127bf7100 100644 --- a/pkgs/development/libraries/libdrm/default.nix +++ b/pkgs/development/libraries/libdrm/default.nix @@ -1,28 +1,31 @@ -{stdenv, fetchurl, pkgconfig, libpthreadstubs}: +{stdenv, fetchurl, pkgconfig, libpthreadstubs, libpciaccess, cairo, udev}: -stdenv.mkDerivation (rec { - name = "libdrm-2.4.24"; +stdenv.mkDerivation rec { + name = "libdrm-2.4.29"; src = fetchurl { url = "http://dri.freedesktop.org/libdrm/${name}.tar.bz2"; - sha256 = "19dnzy7g6jqfjz38dp187b97vb4a8h4k748x56gsyn24ys0j60f7"; + sha256 = "0bj5ihmnzpbbgdrvp5f8bgsk0k19haixr893449pjd4k7v4jshz2"; }; - buildInputs = [ pkgconfig libpthreadstubs ]; + buildNativeInputs = [ pkgconfig ]; + buildInputs = [ libpthreadstubs libpciaccess cairo udev ]; - patches = [ ./libdrm-apple.patch ]; + patches = stdenv.lib.optional stdenv.isDarwin ./libdrm-apple.patch; - preConfigure = '' - # General case: non intel. - if test -n "$crossConfig"; then - configureFlags="$configureFlags --disable-intel"; - fi - '' + stdenv.lib.optionalString stdenv.isDarwin + preConfigure = stdenv.lib.optionalString stdenv.isDarwin "echo : \\\${ac_cv_func_clock_gettime=\'yes\'} > config.cache"; + configureFlags = [ "--enable-nouveau-experimental-api" "--enable-udev" ] + ++ stdenv.lib.optional stdenv.isDarwin "-C"; + + crossAttrs.configureFlags = configureFlags ++ [ "--disable-intel" ]; + meta = { homepage = http://dri.freedesktop.org/libdrm/; description = "Library for accessing the kernel's Direct Rendering Manager"; license = "bsd"; + maintainers = [ stdenv.lib.maintainers.urkud ]; + platforms = stdenv.lib.platforms.linux; }; -} // (stdenv.lib.optionalAttrs stdenv.isDarwin { configureFlags = [ "-C" ]; })) +} diff --git a/pkgs/development/libraries/libdrm/libdrm-apple.patch b/pkgs/development/libraries/libdrm/libdrm-apple.patch index e9fd63c5faec..17b447789c2f 100644 --- a/pkgs/development/libraries/libdrm/libdrm-apple.patch +++ b/pkgs/development/libraries/libdrm/libdrm-apple.patch @@ -2,9 +2,9 @@ diff -Naur libdrm-2.4.26-orig/intel/intel_bufmgr_gem.c libdrm-2.4.26/intel/intel --- libdrm-2.4.26-orig/intel/intel_bufmgr_gem.c 2011-04-01 10:30:51.000000000 -0400 +++ libdrm-2.4.26/intel/intel_bufmgr_gem.c 2011-08-29 02:17:20.000000000 -0400 @@ -51,6 +51,7 @@ - #include #include #include + #include +#include #include "errno.h" diff --git a/pkgs/development/libraries/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix index 6a1de4d95e4a..0419615c6c08 100644 --- a/pkgs/development/libraries/mesa/default.nix +++ b/pkgs/development/libraries/mesa/default.nix @@ -1,37 +1,39 @@ -{ stdenv, fetchurl, flex, bison, pkgconfig, x11, xlibs, libdrm, file, expat +{ stdenv, fetchurl, flex, bison, pkgconfig, libdrm, file, expat, makedepend +, libXxf86vm, libXfixes, libXdamage, glproto, dri2proto, libX11, libxcb, libXext +, libXt, udev, enableTextureFloats ? false, , 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 +let version = "7.11.2"; in stdenv.mkDerivation { name = "mesa-${version}"; src = fetchurl { url = "ftp://ftp.freedesktop.org/pub/mesa/${version}/MesaLib-${version}.tar.bz2"; - sha256 = "1h451vgsfsp0h0wig66spqgxmjalsy28gvd9viynfwmq7741yw0y"; + sha256 = "0msk1fh4yw4yi7z37v75vhpa23z49lkwgin6drczbihbqsl6lx2p"; }; patches = [ ./swrast-settexbuffer.patch ]; - postPatch = '' - find . -name "*.py" -exec sed -i -e "s|#! */usr/bin/env python|#! ${python}/bin/python|" {} + - ''; + prePatch = "patchShebangs ."; +# r300 configureFlags = " --with-driver=dri --enable-gl-osmesa --enable-gles1" - + " --enable-gallium --enable-gallium-r600 --enable-gles2" - + " --enable-gallium-swrast --enable-gallium-egl --disable-glx-tls" - + " --enable-xcb --enable-egl --disable-glut"; + + " --with-gallium-drivers=i915,i965,nouveau,r600,svga,swrast" + + " --enable-gles2 --enable-gallium-egl --disable-glx-tls" + + " --enable-xcb --enable-egl --disable-glut" + # Texture floats are patented, see docs/patents.txt + + stdenv.lib.optionalString enableTextureFloats " --enable-texture-float"; - buildInputs = - [ pkgconfig expat x11 libdrm xlibs.makedepend xlibs.glproto - xlibs.libXxf86vm xlibs.libXfixes xlibs.libXdamage xlibs.dri2proto - lipo file python libxml2Python flex bison - ]; + buildInputs = [ expat libdrm libXxf86vm libXfixes libXdamage glproto dri2proto + libxml2Python libX11 libXext libxcb lipo libXt udev ]; + + buildNativeInputs = [ pkgconfig python makedepend file flex bison ]; enableParallelBuilding = true;