Merge pull request #3860 from ttuegel/openblas
openblas: updates and other maintenance
This commit is contained in:
commit
29c0aa5748
@ -1,5 +1,8 @@
|
|||||||
{ stdenv, fetchurl, gfortran, perl, liblapack }:
|
{ stdenv, fetchurl, gfortran, perl, liblapack, config }:
|
||||||
|
|
||||||
|
let local = config.openblas.preferLocalBuild or false;
|
||||||
|
localTarget = config.openblas.target or "";
|
||||||
|
in
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
version = "0.2.10";
|
version = "0.2.10";
|
||||||
|
|
||||||
@ -16,17 +19,19 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
cpu = builtins.head (stdenv.lib.splitString "-" stdenv.system);
|
cpu = builtins.head (stdenv.lib.splitString "-" stdenv.system);
|
||||||
|
|
||||||
target = if cpu == "i686" then "P2" else
|
target = if local then localTarget else
|
||||||
|
if cpu == "i686" then "P2" else
|
||||||
if cpu == "x86_64" then "CORE2" else
|
if cpu == "x86_64" then "CORE2" else
|
||||||
# allow autodetect
|
# allow autodetect
|
||||||
"";
|
"";
|
||||||
|
|
||||||
makeFlags = "${if target != "" then "TARGET=" else ""}${target} FC=gfortran CC=cc PREFIX=\"\$(out)\" INTERFACE64=1";
|
makeFlags = "${if target != "" then "TARGET=" else ""}${target} FC=gfortran CC=cc PREFIX=\"\$(out)\" INTERFACE64=1";
|
||||||
|
|
||||||
meta = {
|
meta = with stdenv.lib; {
|
||||||
description = "Basic Linear Algebra Subprograms";
|
description = "Basic Linear Algebra Subprograms";
|
||||||
license = stdenv.lib.licenses.bsd3;
|
license = licenses.bsd3;
|
||||||
homepage = "https://github.com/xianyi/OpenBLAS";
|
homepage = "https://github.com/xianyi/OpenBLAS";
|
||||||
platforms = [ "x86_64-linux" ];
|
platforms = [ "x86_64-linux" ];
|
||||||
|
maintainers = with maintainers; [ ttuegel ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
37
pkgs/development/libraries/science/math/openblas/0.2.2.nix
Normal file
37
pkgs/development/libraries/science/math/openblas/0.2.2.nix
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
{ stdenv, fetchurl, gfortran, perl, liblapack, config }:
|
||||||
|
|
||||||
|
let local = config.openblas.preferLocalBuild or false;
|
||||||
|
localTarget = config.openblas.target or "";
|
||||||
|
in
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
version = "0.2.2";
|
||||||
|
|
||||||
|
name = "openblas-${version}";
|
||||||
|
src = fetchurl {
|
||||||
|
url = "https://github.com/xianyi/OpenBLAS/tarball/v${version}";
|
||||||
|
sha256 = "13kdx3knff5ajnmgn419g0dnh83plin07p7akwamr3v7z5qfrzqr";
|
||||||
|
name = "openblas-${version}.tar.gz";
|
||||||
|
};
|
||||||
|
|
||||||
|
preBuild = "cp ${liblapack.src} lapack-${liblapack.meta.version}.tgz";
|
||||||
|
|
||||||
|
buildInputs = [gfortran perl];
|
||||||
|
|
||||||
|
cpu = builtins.head (stdenv.lib.splitString "-" stdenv.system);
|
||||||
|
|
||||||
|
target = if local then localTarget else
|
||||||
|
if cpu == "i686" then "P2" else
|
||||||
|
if cpu == "x86_64" then "CORE2" else
|
||||||
|
# allow autodetect
|
||||||
|
"";
|
||||||
|
|
||||||
|
makeFlags = "${if target != "" then "TARGET=" else ""}${target} FC=gfortran CC=cc PREFIX=\"\$(out)\"";
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
description = "Basic Linear Algebra Subprograms";
|
||||||
|
license = licenses.bsd3;
|
||||||
|
homepage = "https://github.com/xianyi/OpenBLAS";
|
||||||
|
platforms = [ "x86_64-linux" ];
|
||||||
|
maintainers = with maintainers; [ ttuegel ];
|
||||||
|
};
|
||||||
|
}
|
@ -1,12 +1,15 @@
|
|||||||
{ stdenv, fetchurl, gfortran, perl, liblapack }:
|
{ stdenv, fetchurl, gfortran, perl, liblapack, config }:
|
||||||
|
|
||||||
|
let local = config.openblas.preferLocalBuild or false;
|
||||||
|
localTarget = config.openblas.target or "";
|
||||||
|
in
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
version = "0.2.2";
|
version = "0.2.11";
|
||||||
|
|
||||||
name = "openblas-${version}";
|
name = "openblas-${version}";
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/xianyi/OpenBLAS/tarball/v${version}";
|
url = "https://github.com/xianyi/OpenBLAS/tarball/v${version}";
|
||||||
sha256 = "13kdx3knff5ajnmgn419g0dnh83plin07p7akwamr3v7z5qfrzqr";
|
sha256 = "1va4yhzgj2chcj6kaxgfbzirajp1zgvkic61959aka2xq2c5igms";
|
||||||
name = "openblas-${version}.tar.gz";
|
name = "openblas-${version}.tar.gz";
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -16,17 +19,19 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
cpu = builtins.head (stdenv.lib.splitString "-" stdenv.system);
|
cpu = builtins.head (stdenv.lib.splitString "-" stdenv.system);
|
||||||
|
|
||||||
target = if cpu == "i686" then "P2" else
|
target = if local then localTarget else
|
||||||
|
if cpu == "i686" then "P2" else
|
||||||
if cpu == "x86_64" then "CORE2" else
|
if cpu == "x86_64" then "CORE2" else
|
||||||
# allow autodetect
|
# allow autodetect
|
||||||
"";
|
"";
|
||||||
|
|
||||||
makeFlags = "${if target != "" then "TARGET=" else ""}${target} FC=gfortran CC=cc PREFIX=\"\$(out)\"";
|
makeFlags = "${if target != "" then "TARGET=" else ""}${target} FC=gfortran CC=cc PREFIX=\"\$(out)\" INTERFACE64=1";
|
||||||
|
|
||||||
meta = {
|
meta = with stdenv.lib; {
|
||||||
description = "Basic Linear Algebra Subprograms";
|
description = "Basic Linear Algebra Subprograms";
|
||||||
license = stdenv.lib.licenses.bsd3;
|
license = licenses.bsd3;
|
||||||
homepage = "https://github.com/xianyi/OpenBLAS";
|
homepage = "https://github.com/xianyi/OpenBLAS";
|
||||||
platforms = [ "x86_64-linux" ];
|
platforms = [ "x86_64-linux" ];
|
||||||
|
maintainers = with maintainers; [ ttuegel ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -3128,10 +3128,12 @@ let
|
|||||||
juliaGit = callPackage ../development/compilers/julia/git-20131013.nix {
|
juliaGit = callPackage ../development/compilers/julia/git-20131013.nix {
|
||||||
liblapack = liblapack.override {shared = true;};
|
liblapack = liblapack.override {shared = true;};
|
||||||
llvm = llvm_33;
|
llvm = llvm_33;
|
||||||
|
openblas = openblas_0_2_2;
|
||||||
};
|
};
|
||||||
julia021 = callPackage ../development/compilers/julia/0.2.1.nix {
|
julia021 = callPackage ../development/compilers/julia/0.2.1.nix {
|
||||||
liblapack = liblapack.override {shared = true;};
|
liblapack = liblapack.override {shared = true;};
|
||||||
llvm = llvm_33;
|
llvm = llvm_33;
|
||||||
|
openblas = openblas_0_2_2;
|
||||||
};
|
};
|
||||||
julia030 = let
|
julia030 = let
|
||||||
liblapack = liblapack_3_5_0.override {shared = true;};
|
liblapack = liblapack_3_5_0.override {shared = true;};
|
||||||
@ -3140,8 +3142,8 @@ let
|
|||||||
suitesparse = suitesparse.override {
|
suitesparse = suitesparse.override {
|
||||||
inherit liblapack;
|
inherit liblapack;
|
||||||
};
|
};
|
||||||
openblas = openblas_0_2_10;
|
|
||||||
llvm = llvm_34;
|
llvm = llvm_34;
|
||||||
|
openblas = openblas_0_2_10;
|
||||||
};
|
};
|
||||||
julia = julia021;
|
julia = julia021;
|
||||||
|
|
||||||
@ -10914,10 +10916,16 @@ let
|
|||||||
|
|
||||||
liblbfgs = callPackage ../development/libraries/science/math/liblbfgs { };
|
liblbfgs = callPackage ../development/libraries/science/math/liblbfgs { };
|
||||||
|
|
||||||
openblas = callPackage ../development/libraries/science/math/openblas { };
|
# julia is pinned to specific versions of openblas, so keep old versions
|
||||||
|
# until they aren't needed. The un-versioned attribute may continue to track
|
||||||
|
# upstream development.
|
||||||
|
openblas = callPackage ../development/libraries/science/math/openblas {
|
||||||
|
liblapack = liblapack_3_5_0;
|
||||||
|
};
|
||||||
openblas_0_2_10 = callPackage ../development/libraries/science/math/openblas/0.2.10.nix {
|
openblas_0_2_10 = callPackage ../development/libraries/science/math/openblas/0.2.10.nix {
|
||||||
liblapack = liblapack_3_5_0;
|
liblapack = liblapack_3_5_0;
|
||||||
};
|
};
|
||||||
|
openblas_0_2_2 = callPackage ../development/libraries/science/math/openblas/0.2.2.nix { };
|
||||||
|
|
||||||
mathematica = callPackage ../applications/science/math/mathematica { };
|
mathematica = callPackage ../applications/science/math/mathematica { };
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user