{ stdenv, fetchFromGitHub, automake, autoconf, libtool, autoreconfHook, gmpxx }: stdenv.mkDerivation rec { name = "${pname}-${version}"; pname = "givaro"; version = "4.1.1"; src = fetchFromGitHub { owner = "linbox-team"; repo = "${pname}"; rev = "v${version}"; sha256 = "11wz57q6ijsvfs5r82masxgr319as92syi78lnl9lgdblpc6xigk"; }; enableParallelBuilding = true; nativeBuildInputs = [ autoreconfHook ]; buildInputs = [autoconf automake libtool gmpxx]; configureFlags = [ "--disable-optimization" ] ++ stdenv.lib.optionals stdenv.isx86_64 { # disable SIMD instructions (which are enabled *when available* by default) "default" = [ "--disable-sse3" "--disable-ssse3" "--disable-sse41" "--disable-sse42" "--disable-avx" "--disable-avx2" "--disable-fma" "--disable-fma4" ]; "westmere" = [ "--disable-avx" "--disable-avx2" "--disable-fma" "--disable-fma4" ]; "sandybridge" = [ "--disable-avx2" "--disable-fma" "--disable-fma4" ]; "ivybridge" = [ "--disable-avx2" "--disable-fma" "--disable-fma4" ]; "haswell" = [ "--disable-fma4" ]; "broadwell" = [ "--disable-fma4" ]; "skylake" = [ "--disable-fma4" ]; "skylake-avx512" = [ "--disable-fma4" ]; }.${stdenv.hostPlatform.platform.gcc.arch or "default"}; # On darwin, tests are linked to dylib in the nix store, so we need to make # sure tests run after installPhase. doInstallCheck = true; installCheckTarget = "check"; doCheck = false; meta = { inherit version; description = ''A C++ library for arithmetic and algebraic computations''; license = stdenv.lib.licenses.cecill-b; maintainers = [stdenv.lib.maintainers.raskin]; platforms = stdenv.lib.platforms.unix; }; }