about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/libraries/gsl
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2019-05-07 17:46:11 +0000
committerAlyssa Ross <hi@alyssa.is>2019-05-07 17:46:11 +0000
commit0a67dc6d2aa5f6ac3d08a12eb5e26d5fda5734ea (patch)
treead528e0ffd64d471f2bf250670c0732bff57e86b /nixpkgs/pkgs/development/libraries/gsl
parent373507e28edeacd168b5c240840db2dac854882a (diff)
parent2ec5e9595becf05b052ce4c61a05d87ce95d19af (diff)
downloadnixlib-0a67dc6d2aa5f6ac3d08a12eb5e26d5fda5734ea.tar
nixlib-0a67dc6d2aa5f6ac3d08a12eb5e26d5fda5734ea.tar.gz
nixlib-0a67dc6d2aa5f6ac3d08a12eb5e26d5fda5734ea.tar.bz2
nixlib-0a67dc6d2aa5f6ac3d08a12eb5e26d5fda5734ea.tar.lz
nixlib-0a67dc6d2aa5f6ac3d08a12eb5e26d5fda5734ea.tar.xz
nixlib-0a67dc6d2aa5f6ac3d08a12eb5e26d5fda5734ea.tar.zst
nixlib-0a67dc6d2aa5f6ac3d08a12eb5e26d5fda5734ea.zip
Merge commit '2ec5e9595becf05b052ce4c61a05d87ce95d19af'
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/gsl')
-rw-r--r--nixpkgs/pkgs/development/libraries/gsl/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/gsl/disable-fma.patch32
-rw-r--r--nixpkgs/pkgs/development/libraries/gsl/gsl-1_16.nix5
3 files changed, 5 insertions, 38 deletions
diff --git a/nixpkgs/pkgs/development/libraries/gsl/default.nix b/nixpkgs/pkgs/development/libraries/gsl/default.nix
index 9fd3f8a7a998..c8846509d004 100644
--- a/nixpkgs/pkgs/development/libraries/gsl/default.nix
+++ b/nixpkgs/pkgs/development/libraries/gsl/default.nix
@@ -8,10 +8,8 @@ stdenv.mkDerivation rec {
     sha256 = "1395y9hlhqadn5g9j8q22224fds5sd92jxi9czfavjj24myasq04";
   };
 
-  patches = [
-    # ToDo: there might be more impurities than FMA support check
-    ./disable-fma.patch # https://lists.gnu.org/archive/html/bug-gsl/2011-11/msg00019.html
-  ];
+  # do not let -march=skylake to enable FMA (https://lists.gnu.org/archive/html/bug-gsl/2011-11/msg00019.html)
+  NIX_CFLAGS_COMPILE = stdenv.lib.optional stdenv.isx86_64 "-mno-fma";
 
   # https://lists.gnu.org/archive/html/bug-gsl/2015-11/msg00012.html
   doCheck = stdenv.hostPlatform.system != "i686-linux" && stdenv.hostPlatform.system != "aarch64-linux";
diff --git a/nixpkgs/pkgs/development/libraries/gsl/disable-fma.patch b/nixpkgs/pkgs/development/libraries/gsl/disable-fma.patch
deleted file mode 100644
index bb1eda9ccccd..000000000000
--- a/nixpkgs/pkgs/development/libraries/gsl/disable-fma.patch
+++ /dev/null
@@ -1,32 +0,0 @@
---- a/configure.ac        2011-09-22 16:13:22 +0000
-+++ b/configure.ac        2011-11-26 23:55:24 +0000
-@@ -381,6 +381,28 @@
- AC_SUBST(HAVE_DARWIN_IEEE_INTERFACE)
- AC_SUBST(HAVE_DARWIN86_IEEE_INTERFACE)
- 
-+dnl check for compiler flags to disable use of FMA
-+save_cflags="$CFLAGS"
-+AC_CACHE_CHECK([for compiler flags to disable use of FMA], ac_cv_c_fma_flags,
-+[
-+if test X"$GCC" = Xyes; then
-+    fma_flags='-ffp-contract=off'
-+else
-+    fma_flags=
-+fi
-+if test X"$fma_flags" != X; then
-+  CFLAGS="$fma_flags $CFLAGS"
-+  AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[int foo;]])],[ac_cv_c_fma_flags="$fma_flags"],[ac_cv_c_fma_flags="none"])
-+else
-+  ac_cv_c_fma_flags="none"
-+fi])
-+
-+if test "$ac_cv_c_fma_flags" != "none" ; then
-+   CFLAGS="$ac_cv_c_fma_flags $save_cflags"
-+else
-+   CFLAGS="$save_cflags"
-+fi
-+
- dnl Check for IEEE control flags
- 
- save_cflags="$CFLAGS"
-
diff --git a/nixpkgs/pkgs/development/libraries/gsl/gsl-1_16.nix b/nixpkgs/pkgs/development/libraries/gsl/gsl-1_16.nix
index 69fe1b0db554..e5772c8772ec 100644
--- a/nixpkgs/pkgs/development/libraries/gsl/gsl-1_16.nix
+++ b/nixpkgs/pkgs/development/libraries/gsl/gsl-1_16.nix
@@ -8,9 +8,10 @@ stdenv.mkDerivation rec {
     sha256 = "0lrgipi0z6559jqh82yx8n4xgnxkhzj46v96dl77hahdp58jzg3k";
   };
 
+  # do not let -march=skylake to enable FMA (https://lists.gnu.org/archive/html/bug-gsl/2011-11/msg00019.html)
+  NIX_CFLAGS_COMPILE = stdenv.lib.optional stdenv.isx86_64 "-mno-fma";
+
   patches = [
-    # ToDo: there might be more impurities than FMA support check
-    ./disable-fma.patch # https://lists.gnu.org/archive/html/bug-gsl/2011-11/msg00019.html
     (fetchpatch {
       name = "bug-39055.patch";
       url = "https://git.savannah.gnu.org/cgit/gsl.git/patch/?id=9cc12d";