about summary refs log tree commit diff
path: root/pkgs/development/libraries/pixman
diff options
context:
space:
mode:
authorEric Seidel <gridaphobe@gmail.com>2015-03-24 20:54:05 -0700
committerEric Seidel <gridaphobe@gmail.com>2015-03-24 20:54:05 -0700
commit0bfce5bb4a61de3df465b6fc4ca37c88c622ab3d (patch)
tree064308f9628a87b477955b8dab2435135282466a /pkgs/development/libraries/pixman
parent69d02b71a062d8850c0679cacb607318503807c9 (diff)
downloadnixlib-0bfce5bb4a61de3df465b6fc4ca37c88c622ab3d.tar
nixlib-0bfce5bb4a61de3df465b6fc4ca37c88c622ab3d.tar.gz
nixlib-0bfce5bb4a61de3df465b6fc4ca37c88c622ab3d.tar.bz2
nixlib-0bfce5bb4a61de3df465b6fc4ca37c88c622ab3d.tar.lz
nixlib-0bfce5bb4a61de3df465b6fc4ca37c88c622ab3d.tar.xz
nixlib-0bfce5bb4a61de3df465b6fc4ca37c88c622ab3d.tar.zst
nixlib-0bfce5bb4a61de3df465b6fc4ca37c88c622ab3d.zip
pixman: patch for clang36
Diffstat (limited to 'pkgs/development/libraries/pixman')
-rw-r--r--pkgs/development/libraries/pixman/default.nix2
-rw-r--r--pkgs/development/libraries/pixman/fix-clang36.patch11
2 files changed, 13 insertions, 0 deletions
diff --git a/pkgs/development/libraries/pixman/default.nix b/pkgs/development/libraries/pixman/default.nix
index d93341b81ff6..14529c6c643b 100644
--- a/pkgs/development/libraries/pixman/default.nix
+++ b/pkgs/development/libraries/pixman/default.nix
@@ -14,6 +14,8 @@ stdenv.mkDerivation rec {
 
   postInstall = glib.flattenInclude;
 
+  patches = stdenv.lib.optional (stdenv.cc.cc.isClang or false) ./fix-clang36.patch;
+
   meta = {
     homepage = http://pixman.org;
     description = "A low-level library for pixel manipulation";
diff --git a/pkgs/development/libraries/pixman/fix-clang36.patch b/pkgs/development/libraries/pixman/fix-clang36.patch
new file mode 100644
index 000000000000..7db3c7ecaba3
--- /dev/null
+++ b/pkgs/development/libraries/pixman/fix-clang36.patch
@@ -0,0 +1,11 @@
+--- a/pixman/pixman-mmx.c	2014-04-24 08:34:14.000000000 +0400
++++ b/pixman/pixman-mmx.c	2015-01-30 20:19:28.000000000 +0300
+@@ -89,7 +89,7 @@
+     return __A;
+ }
+ 
+-#  ifdef __OPTIMIZE__
++#  if defined(__OPTIMIZE__) && !(defined (__clang__) && defined(__clang_major__) && defined(__clang_minor__) && __clang_major__ == 3 && __clang_minor__ >= 6)
+ extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_shuffle_pi16 (__m64 __A, int8_t const __N)
+ {