From f07b330effc24307f1e15c0c528df4f6f9ce3006 Mon Sep 17 00:00:00 2001 From: Timo Kaufmann Date: Thu, 8 Mar 2018 00:14:05 +0100 Subject: [PATCH] linbox: init at 1.5.2 --- pkgs/development/libraries/linbox/default.nix | 79 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 1 + 2 files changed, 80 insertions(+) create mode 100644 pkgs/development/libraries/linbox/default.nix diff --git a/pkgs/development/libraries/linbox/default.nix b/pkgs/development/libraries/linbox/default.nix new file mode 100644 index 000000000000..0f5442bd63b6 --- /dev/null +++ b/pkgs/development/libraries/linbox/default.nix @@ -0,0 +1,79 @@ +{ stdenv +, fetchFromGitHub +, fetchpatch +, autoreconfHook +, givaro +, pkgconfig +, openblas +, liblapack +, fflas-ffpack +, gmpxx +, optimize ? false # impure +, withSage ? false # sage support +}: +stdenv.mkDerivation rec { + name = "${pname}-${version}"; + pname = "linbox"; + version = "1.5.2"; + + src = fetchFromGitHub { + owner = "linbox-team"; + repo = "${pname}"; + rev = "v${version}"; + sha256 = "1wfivlwp30mzdy1697w7rzb8caajim50mc8h27k82yipn2qc5n4i"; + }; + + nativeBuildInputs = [ + autoreconfHook + pkgconfig + ]; + + buildInputs = [ + givaro + (liblapack.override {shared = true;}) + openblas + gmpxx + fflas-ffpack + ]; + + configureFlags = [ + "--with-blas-libs=-lopenblas" + "--with-lapack-libs=-llapack" + "--disable-optimization" + ] ++ stdenv.lib.optionals (!optimize) [ + # disable SIMD instructions (which are enabled *when available* by default) + "--disable-sse" + "--disable-sse2" + "--disable-sse3" + "--disable-ssse3" + "--disable-sse41" + "--disable-sse42" + "--disable-avx" + "--disable-avx2" + "--disable-fma" + "--disable-fma4" + ] ++ stdenv.lib.optionals withSage [ + "--enable-sage" + ]; + + patches = stdenv.lib.optionals withSage [ + # https://trac.sagemath.org/ticket/24214#comment:39 + # Will be resolved by + # https://github.com/linbox-team/linbox/issues/69 + (fetchpatch { + url = "https://raw.githubusercontent.com/sagemath/sage/a843f48b7a4267e44895a3dfa892c89c85b85611/build/pkgs/linbox/patches/linbox_charpoly_fullCRA.patch"; + sha256 = "16nxfzfknra3k2yk3xy0k8cq9rmnmsch3dnkb03kx15h0y0jmibk"; + }) + ]; + + doCheck = true; + + meta = { + inherit version; + description = "C++ library for exact, high-performance linear algebra"; + license = stdenv.lib.licenses.lgpl21Plus; + maintainers = [stdenv.lib.maintainers.timokau]; + platforms = stdenv.lib.platforms.linux; + homepage = http://linalg.org/; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index b83424eabbad..f4a3cac618ae 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8666,6 +8666,7 @@ with pkgs; fflas-ffpack = callPackage ../development/libraries/fflas-ffpack {}; fflas-ffpack_1 = callPackage ../development/libraries/fflas-ffpack/1.nix {}; + linbox = callPackage ../development/libraries/linbox {}; ffmpeg_0_10 = callPackage ../development/libraries/ffmpeg/0.10.nix { inherit (darwin.apple_sdk.frameworks) Cocoa;