2021-01-19 12:01:21 +00:00
|
|
|
{ stdenv, lib, fetchurl, pkg-config, meson, ninja, docutils
|
|
|
|
, libpthreadstubs, libpciaccess
|
|
|
|
, withValgrind ? valgrind-light.meta.available, valgrind-light
|
2019-07-20 18:13:21 +01:00
|
|
|
}:
|
2005-11-01 20:27:57 +00:00
|
|
|
|
2012-01-16 17:48:33 +00:00
|
|
|
stdenv.mkDerivation rec {
|
2019-07-03 21:03:46 +01:00
|
|
|
pname = "libdrm";
|
2021-01-19 12:01:21 +00:00
|
|
|
version = "2.4.104";
|
2013-02-23 11:07:19 +00:00
|
|
|
|
2005-11-01 20:27:57 +00:00
|
|
|
src = fetchurl {
|
2020-06-18 12:04:29 +01:00
|
|
|
url = "https://dri.freedesktop.org/${pname}/${pname}-${version}.tar.xz";
|
2021-01-19 12:01:21 +00:00
|
|
|
sha256 = "1jqvx9c23hgwhq109zqj6vg3ng40pcvh3r1k2fn1a424qasxhsnn";
|
2008-10-08 18:02:48 +01:00
|
|
|
};
|
|
|
|
|
2017-10-06 18:51:14 +01:00
|
|
|
outputs = [ "out" "dev" "bin" ];
|
2013-08-23 08:54:18 +01:00
|
|
|
|
2021-01-19 12:01:21 +00:00
|
|
|
nativeBuildInputs = [ pkg-config meson ninja docutils ];
|
2019-07-20 18:13:21 +01:00
|
|
|
buildInputs = [ libpthreadstubs libpciaccess ]
|
|
|
|
++ lib.optional withValgrind valgrind-light;
|
2009-04-20 19:43:08 +01:00
|
|
|
|
2020-07-28 14:00:06 +01:00
|
|
|
patches = [ ./cross-build-nm-path.patch ];
|
2019-08-02 11:16:32 +01:00
|
|
|
|
2018-08-08 19:45:53 +01:00
|
|
|
postPatch = ''
|
|
|
|
for a in */*-symbol-check ; do
|
|
|
|
patchShebangs $a
|
|
|
|
done
|
|
|
|
'';
|
|
|
|
|
2019-07-20 18:13:21 +01:00
|
|
|
mesonFlags = [
|
|
|
|
"-Dnm-path=${stdenv.cc.targetPrefix}nm"
|
|
|
|
"-Dinstall-test-programs=true"
|
2019-08-26 22:08:02 +01:00
|
|
|
"-Domap=true"
|
2019-07-20 18:13:21 +01:00
|
|
|
] ++ lib.optionals (stdenv.isAarch32 || stdenv.isAarch64) [
|
|
|
|
"-Dtegra=true"
|
|
|
|
"-Detnaviv=true"
|
2021-01-30 08:53:37 +00:00
|
|
|
];
|
2012-01-16 17:48:33 +00:00
|
|
|
|
2021-01-19 12:01:21 +00:00
|
|
|
meta = with lib; {
|
|
|
|
homepage = "https://gitlab.freedesktop.org/mesa/drm";
|
|
|
|
downloadPage = "https://dri.freedesktop.org/libdrm/";
|
|
|
|
description = "Direct Rendering Manager library and headers";
|
|
|
|
longDescription = ''
|
|
|
|
A userspace library for accessing the DRM (Direct Rendering Manager) on
|
|
|
|
Linux, BSD and other operating systems that support the ioctl interface.
|
|
|
|
The library provides wrapper functions for the ioctls to avoid exposing
|
|
|
|
the kernel interface directly, and for chipsets with drm memory manager,
|
|
|
|
support for tracking relocations and buffers.
|
|
|
|
New functionality in the kernel DRM drivers typically requires a new
|
|
|
|
libdrm, but a new libdrm will always work with an older kernel.
|
|
|
|
|
|
|
|
libdrm is a low-level library, typically used by graphics drivers such as
|
|
|
|
the Mesa drivers, the X drivers, libva and similar projects.
|
|
|
|
'';
|
|
|
|
license = licenses.mit;
|
|
|
|
platforms = platforms.unix;
|
|
|
|
maintainers = with maintainers; [ primeos ];
|
2005-11-01 20:27:57 +00:00
|
|
|
};
|
2012-01-16 17:48:33 +00:00
|
|
|
}
|