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) + {