diff options
author | Ben Siraphob <bensiraphob@gmail.com> | 2021-11-12 22:29:43 -0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-11-12 22:29:43 -0600 |
commit | 281d13c4db8be5b79d91a51c2f273922d2cb3468 (patch) | |
tree | 1c7bbb8117f0f7059826dbd7bdb91b5741779d8e | |
parent | d372457bf00a6f32f9cf4df8b66f3a1074ebba77 (diff) | |
parent | 869a386eedd003ea113f216e9a059a840101301b (diff) | |
download | nixpkgs-281d13c4db8be5b79d91a51c2f273922d2cb3468.tar nixpkgs-281d13c4db8be5b79d91a51c2f273922d2cb3468.tar.gz nixpkgs-281d13c4db8be5b79d91a51c2f273922d2cb3468.tar.bz2 nixpkgs-281d13c4db8be5b79d91a51c2f273922d2cb3468.tar.lz nixpkgs-281d13c4db8be5b79d91a51c2f273922d2cb3468.tar.xz nixpkgs-281d13c4db8be5b79d91a51c2f273922d2cb3468.tar.zst nixpkgs-281d13c4db8be5b79d91a51c2f273922d2cb3468.zip |
Merge pull request #145710 from veprbl/pr/vc_0_7_darwin_fix
vc_0_7: fix darwin build
-rw-r--r-- | pkgs/development/libraries/vc/0.7.nix | 3 | ||||
-rw-r--r-- | pkgs/development/libraries/vc/vc_0_7_clang_fix.patch | 28 |
2 files changed, 31 insertions, 0 deletions
diff --git a/pkgs/development/libraries/vc/0.7.nix b/pkgs/development/libraries/vc/0.7.nix index dd5b03f2dc5..310635d9cbf 100644 --- a/pkgs/development/libraries/vc/0.7.nix +++ b/pkgs/development/libraries/vc/0.7.nix @@ -11,6 +11,9 @@ stdenv.mkDerivation rec { sha256 = "190s4r2n3jsivl4j2m288j3rqmgjj6gl308hi9mzwyhcfn17q8br"; }; + # Avoid requesting an unreasonable intrinsic + patches = lib.optional stdenv.cc.isClang ./vc_0_7_clang_fix.patch; + nativeBuildInputs = [ cmake ]; postPatch = '' diff --git a/pkgs/development/libraries/vc/vc_0_7_clang_fix.patch b/pkgs/development/libraries/vc/vc_0_7_clang_fix.patch new file mode 100644 index 00000000000..29ea6f52949 --- /dev/null +++ b/pkgs/development/libraries/vc/vc_0_7_clang_fix.patch @@ -0,0 +1,28 @@ +diff -ur a/sse/intrinsics.h b/sse/intrinsics.h +--- a/sse/intrinsics.h 2021-11-12 22:09:50.000000000 -0500 ++++ b/sse/intrinsics.h 2021-11-12 22:14:08.000000000 -0500 +@@ -498,16 +498,6 @@ + case 0: + f = _mm_cvtss_f32(v); + break; +-#if defined VC_IMPL_SSE4_1 && !defined VC_MSVC +- default: +-#ifdef VC_GCC +- f = __builtin_ia32_vec_ext_v4sf(static_cast<__v4sf>(v), (i)); +-#else +- // MSVC fails to compile this because it can't optimize i to an immediate +- _MM_EXTRACT_FLOAT(f, v, i); +-#endif +- break; +-#else + case 1: + f = _mm_cvtss_f32(_mm_castsi128_ps(_mm_srli_si128(_mm_castps_si128(v), 4))); + break; +@@ -517,7 +507,6 @@ + case 3: + f = _mm_cvtss_f32(_mm_castsi128_ps(_mm_srli_si128(_mm_castps_si128(v), 12))); + break; +-#endif + } + return f; + } |