about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/libraries/libdrm
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2019-05-17 10:56:54 +0000
committerAlyssa Ross <hi@alyssa.is>2019-05-17 10:56:54 +0000
commitc1d22074139ab0d048a05b5e5116265d099114d6 (patch)
tree97977009422d675f8930f97c309b010481289e72 /nixpkgs/pkgs/development/libraries/libdrm
parent4dc8afe4fd6b18437150129e0a1ecc23c6a1c0b9 (diff)
parentbc9df0f66110039e495b6debe3a6cda4a1bb0fed (diff)
downloadnixlib-c1d22074139ab0d048a05b5e5116265d099114d6.tar
nixlib-c1d22074139ab0d048a05b5e5116265d099114d6.tar.gz
nixlib-c1d22074139ab0d048a05b5e5116265d099114d6.tar.bz2
nixlib-c1d22074139ab0d048a05b5e5116265d099114d6.tar.lz
nixlib-c1d22074139ab0d048a05b5e5116265d099114d6.tar.xz
nixlib-c1d22074139ab0d048a05b5e5116265d099114d6.tar.zst
nixlib-c1d22074139ab0d048a05b5e5116265d099114d6.zip
Merge commit 'bc9df0f66110039e495b6debe3a6cda4a1bb0fed'
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/libdrm')
-rw-r--r--nixpkgs/pkgs/development/libraries/libdrm/default.nix5
-rw-r--r--nixpkgs/pkgs/development/libraries/libdrm/libdrm-apple.patch88
2 files changed, 0 insertions, 93 deletions
diff --git a/nixpkgs/pkgs/development/libraries/libdrm/default.nix b/nixpkgs/pkgs/development/libraries/libdrm/default.nix
index a0bd7d864548..a8daf5754165 100644
--- a/nixpkgs/pkgs/development/libraries/libdrm/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libdrm/default.nix
@@ -14,17 +14,12 @@ stdenv.mkDerivation rec {
   buildInputs = [ libpthreadstubs libpciaccess valgrind-light ];
     # libdrm as of 2.4.70 does not actually do anything with udev.
 
-  patches = stdenv.lib.optional stdenv.isDarwin ./libdrm-apple.patch;
-
   postPatch = ''
     for a in */*-symbol-check ; do
       patchShebangs $a
     done
   '';
 
-  preConfigure = stdenv.lib.optionalString stdenv.isDarwin
-    "echo : \\\${ac_cv_func_clock_gettime=\'yes\'} > config.cache";
-
   configureFlags = [ "--enable-install-test-programs" ]
     ++ stdenv.lib.optionals (stdenv.isAarch32 || stdenv.isAarch64)
       [ "--enable-tegra-experimental-api" "--enable-etnaviv-experimental-api" ]
diff --git a/nixpkgs/pkgs/development/libraries/libdrm/libdrm-apple.patch b/nixpkgs/pkgs/development/libraries/libdrm/libdrm-apple.patch
deleted file mode 100644
index 17b447789c2f..000000000000
--- a/nixpkgs/pkgs/development/libraries/libdrm/libdrm-apple.patch
+++ /dev/null
@@ -1,88 +0,0 @@
-diff -Naur libdrm-2.4.26-orig/intel/intel_bufmgr_gem.c libdrm-2.4.26/intel/intel_bufmgr_gem.c
---- libdrm-2.4.26-orig/intel/intel_bufmgr_gem.c	2011-04-01 10:30:51.000000000 -0400
-+++ libdrm-2.4.26/intel/intel_bufmgr_gem.c	2011-08-29 02:17:20.000000000 -0400
-@@ -51,6 +51,7 @@
- #include <sys/stat.h>
- #include <sys/types.h>
- #include <stdbool.h>
-+#include <sys/time.h>
- 
- #include "errno.h"
- #include "libdrm_lists.h"
-@@ -987,9 +988,9 @@
- 	if (atomic_dec_and_test(&bo_gem->refcount)) {
- 		drm_intel_bufmgr_gem *bufmgr_gem =
- 		    (drm_intel_bufmgr_gem *) bo->bufmgr;
--		struct timespec time;
-+		struct timeval time;
- 
--		clock_gettime(CLOCK_MONOTONIC, &time);
-+		gettimeofday(&time, NULL);
- 
- 		pthread_mutex_lock(&bufmgr_gem->lock);
- 		drm_intel_gem_bo_unreference_final(bo, time.tv_sec);
-diff -Naur libdrm-2.4.26-orig/xf86drm.c libdrm-2.4.26/xf86drm.c
---- libdrm-2.4.26-orig/xf86drm.c	2011-03-21 09:39:24.000000000 -0400
-+++ libdrm-2.4.26/xf86drm.c	2011-08-29 02:17:49.000000000 -0400
-@@ -51,6 +51,9 @@
- #include <sys/mman.h>
- #include <sys/time.h>
- #include <stdarg.h>
-+#if defined(__APPLE__) && defined(__MACH__)
-+#include <mach/mach_time.h>
-+#endif
- 
- /* Not all systems have MAP_FAILED defined */
- #ifndef MAP_FAILED
-@@ -1941,20 +1944,43 @@
-  */
- int drmWaitVBlank(int fd, drmVBlankPtr vbl)
- {
-+#if defined(__APPLE__) && defined(__MACH__)
-+    uint64_t start, end, elapsed, elapsedNano;
-+    static const uint64_t maxElapsed = 2000000000;
-+    static mach_timebase_info_data_t timebaseInfo;
-+    if ( timebaseInfo.denom == 0 ) {
-+	(void) mach_timebase_info(&timebaseInfo);
-+    }
-+#else
-     struct timespec timeout, cur;
-+#endif
-     int ret;
- 
-+#if defined(__APPLE__) && defined(__MACH__)
-+    start = mach_absolute_time();
-+#else
-     ret = clock_gettime(CLOCK_MONOTONIC, &timeout);
-     if (ret < 0) {
- 	fprintf(stderr, "clock_gettime failed: %s\n", strerror(ret));
- 	goto out;
-     }
-     timeout.tv_sec++;
-+#endif
- 
-     do {
-        ret = ioctl(fd, DRM_IOCTL_WAIT_VBLANK, vbl);
-        vbl->request.type &= ~DRM_VBLANK_RELATIVE;
-        if (ret && errno == EINTR) {
-+#if defined(__APPLE__) && defined(__MACH__)
-+	       end = mach_absolute_time();
-+	       elapsed = end - start;
-+	       elapsedNano = elapsed * timebaseInfo.numer / timebaseInfo.denom;
-+	       if (elapsedNano > maxElapsed) {
-+		   errno = EBUSY;
-+		   ret = -1;
-+		   break;
-+	       }
-+#else
- 	       clock_gettime(CLOCK_MONOTONIC, &cur);
- 	       /* Timeout after 1s */
- 	       if (cur.tv_sec > timeout.tv_sec + 1 ||
-@@ -1964,6 +1990,7 @@
- 		       ret = -1;
- 		       break;
- 	       }
-+#endif
-        }
-     } while (ret && errno == EINTR);
-