1{ stdenv, fetchurl, pkgconfig, libpthreadstubs, libpciaccess, valgrind-light }:
2
3stdenv.mkDerivation rec {
4 name = "libdrm-2.4.83";
5
6 src = fetchurl {
7 url = "http://dri.freedesktop.org/libdrm/${name}.tar.bz2";
8 sha256 = "1minzvsyz5hgm6ixpj8ysa6jsv7vm8qc8nx390jxdsk0v9ljd983";
9 };
10
11 outputs = [ "out" "dev" ];
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 = [ ]
23 ++ stdenv.lib.optionals (stdenv.isArm || stdenv.isAarch64) [ "--enable-tegra-experimental-api" "--enable-etnaviv-experimental-api" ]
24 ++ stdenv.lib.optional stdenv.isDarwin "-C";
25
26 crossAttrs.configureFlags = configureFlags ++ [ "--disable-intel" ];
27
28 meta = {
29 homepage = https://dri.freedesktop.org/libdrm/;
30 description = "Library for accessing the kernel's Direct Rendering Manager";
31 license = "bsd";
32 platforms = stdenv.lib.platforms.unix;
33 };
34}