1{ stdenv, fetchurl, pkgconfig, libpthreadstubs, libpciaccess, valgrind-light }:
2
3stdenv.mkDerivation rec {
4 name = "libdrm-2.4.97";
5
6 src = fetchurl {
7 url = "https://dri.freedesktop.org/libdrm/${name}.tar.bz2";
8 sha256 = "08yimlp6jir1rs5ajgdx74xa5qdzcqahpdzdk0rmkmhh7vdcrl3p";
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 postPatch = ''
20 for a in */*-symbol-check ; do
21 patchShebangs $a
22 done
23 '';
24
25 preConfigure = stdenv.lib.optionalString stdenv.isDarwin
26 "echo : \\\${ac_cv_func_clock_gettime=\'yes\'} > config.cache";
27
28 configureFlags = [ "--enable-install-test-programs" ]
29 ++ stdenv.lib.optionals (stdenv.isAarch32 || stdenv.isAarch64)
30 [ "--enable-tegra-experimental-api" "--enable-etnaviv-experimental-api" ]
31 ++ stdenv.lib.optional stdenv.isDarwin "-C"
32 ++ stdenv.lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) "--disable-intel"
33 ;
34
35 meta = {
36 homepage = https://dri.freedesktop.org/libdrm/;
37 description = "Library for accessing the kernel's Direct Rendering Manager";
38 license = "bsd";
39 platforms = stdenv.lib.platforms.unix;
40 };
41}