nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 stdenv,
4 fetchFromGitHub,
5 cmake,
6 openblas,
7 xtensor,
8 xtl,
9 doctest,
10}:
11
12stdenv.mkDerivation (finalAttrs: {
13 pname = "xtensor-blas";
14 version = "0.23.0";
15
16 src = fetchFromGitHub {
17 owner = "xtensor-stack";
18 repo = "xtensor-blas";
19 tag = finalAttrs.version;
20 hash = "sha256-3g84TMOBWq9q8O6GipwdsugjGhPwkZE1cXbRsnVp3Ls=";
21 };
22
23 # test case THREW exception: Could not find workspace size for gelsd
24 postPatch = ''
25 substituteInPlace test/CMakeLists.txt \
26 --replace-fail "test_lapack.cpp" "" \
27 --replace-fail "test_linalg.cpp" "" \
28 --replace-fail "test_qr.cpp" "" \
29 --replace-fail "test_lstsq.cpp" ""
30 '';
31
32 nativeBuildInputs = [ cmake ];
33 buildInputs = [
34 openblas
35 xtensor
36 xtl
37 ];
38 nativeCheckInputs = [ doctest ];
39
40 cmakeFlags = [
41 (lib.cmakeBool "BUILD_TESTS" finalAttrs.finalPackage.doCheck)
42 ];
43
44 doCheck = true;
45
46 meta = {
47 description = "Extension to the xtensor library offering bindings to BLAS and LAPACK";
48 homepage = "https://github.com/xtensor-stack/xtensor-blas";
49 license = lib.licenses.bsd3;
50 maintainers = with lib.maintainers; [ jherland ];
51 };
52})