1{ stdenv, fetchurl, pkgconfig, libpthreadstubs, libpciaccess, valgrind-light }:
2
3stdenv.mkDerivation rec {
4 name = "libdrm-2.4.90";
5
6 src = fetchurl {
7 url = "http://dri.freedesktop.org/libdrm/${name}.tar.bz2";
8 sha256 = "db37ec8f1dbaa2c192ad9903c8d0988b858ae88031e96f169bf76aaf705db68b";
9 };
10
11 outputs = [ "out" "dev" "bin" ];
12
13 nativeBuildInputs = [ pkgconfig ];
14 buildInputs = [ libpthreadstubs libpciaccess valgrind-light ];
15 # libdrm as of 2.4.70 does not actually do anything with udev.
16
17 patches = stdenv.lib.optional stdenv.isDarwin ./libdrm-apple.patch;
18
19 preConfigure = stdenv.lib.optionalString stdenv.isDarwin
20 "echo : \\\${ac_cv_func_clock_gettime=\'yes\'} > config.cache";
21
22 configureFlags = [ "--enable-install-test-programs" ]
23 ++ stdenv.lib.optionals (stdenv.isAarch32 || stdenv.isAarch64)
24 [ "--enable-tegra-experimental-api" "--enable-etnaviv-experimental-api" ]
25 ++ stdenv.lib.optional stdenv.isDarwin "-C";
26
27 crossAttrs.configureFlags = configureFlags ++ [ "--disable-intel" ];
28
29 meta = {
30 homepage = https://dri.freedesktop.org/libdrm/;
31 description = "Library for accessing the kernel's Direct Rendering Manager";
32 license = "bsd";
33 platforms = stdenv.lib.platforms.unix;
34 };
35}