summary refs log tree commit diff
path: root/pkgs/development/libraries/libdrm/default.nix
diff options
context:
space:
mode:
authorNiklas Hambüchen <mail@nh2.me>2019-08-12 02:26:04 +0200
committerMatthew Bauer <mjbauer95@gmail.com>2019-09-22 18:05:22 -0400
commit23399ff0127093081f51100068b1e412617a48e1 (patch)
treefad94bb97f32e8e941db9e48a17bfaef952635f8 /pkgs/development/libraries/libdrm/default.nix
parent067b4dbb931bec94976a7660353ce8617d558b29 (diff)
downloadnixpkgs-23399ff0127093081f51100068b1e412617a48e1.tar
nixpkgs-23399ff0127093081f51100068b1e412617a48e1.tar.gz
nixpkgs-23399ff0127093081f51100068b1e412617a48e1.tar.bz2
nixpkgs-23399ff0127093081f51100068b1e412617a48e1.tar.lz
nixpkgs-23399ff0127093081f51100068b1e412617a48e1.tar.xz
nixpkgs-23399ff0127093081f51100068b1e412617a48e1.tar.zst
nixpkgs-23399ff0127093081f51100068b1e412617a48e1.zip
libdrm: Add patch to fix musl build. Fixes #66441
(cherry picked from commit b577340eb5bc3b72549f0544b50e2e37df78bf12)

Co-authored-by: Matthew Bauer <mjbauer95@gmail.com>
Diffstat (limited to 'pkgs/development/libraries/libdrm/default.nix')
-rw-r--r--pkgs/development/libraries/libdrm/default.nix12
1 files changed, 10 insertions, 2 deletions
diff --git a/pkgs/development/libraries/libdrm/default.nix b/pkgs/development/libraries/libdrm/default.nix
index 11fb21fe52e..d5cbbccba01 100644
--- a/pkgs/development/libraries/libdrm/default.nix
+++ b/pkgs/development/libraries/libdrm/default.nix
@@ -1,5 +1,5 @@
 { stdenv, lib, fetchurl, pkgconfig, meson, ninja, libpthreadstubs, libpciaccess
-, withValgrind ? valgrind-light.meta.available, valgrind-light
+, withValgrind ? valgrind-light.meta.available, valgrind-light, fetchpatch
 }:
 
 stdenv.mkDerivation rec {
@@ -17,7 +17,15 @@ stdenv.mkDerivation rec {
   buildInputs = [ libpthreadstubs libpciaccess ]
     ++ lib.optional withValgrind valgrind-light;
 
-  patches = [ ./cross-build-nm-path.patch ];
+  patches = [ ./cross-build-nm-path.patch ] ++
+    lib.optionals stdenv.hostPlatform.isMusl [
+      # Fix tests not building on musl because they use the glibc-specific
+      # (non-POSIX) `ioctl()` type signature. See #66441.
+      (fetchpatch {
+        url = "https://raw.githubusercontent.com/openembedded/openembedded-core/30a2af80f5f8c8ddf0f619e4f50451b02baa22dd/meta/recipes-graphics/drm/libdrm/musl-ioctl.patch";
+        sha256 = "0rdmh4k5kb80hhk1sdhlil30yf0s8d8w0fnq0hzyvw3ir1mki3by";
+      })
+    ];
 
   postPatch = ''
     for a in */*-symbol-check ; do