3
0
Fork 0
forked from mirrors/nixpkgs

Merge pull request from zhaofengli/openblas-riscv

openblas: Enable riscv64-linux
This commit is contained in:
Martin Weinelt 2021-06-17 00:29:41 +02:00 committed by GitHub
commit 80b5db5713
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -1,4 +1,4 @@
{ lib, stdenv, fetchFromGitHub, perl, which
{ lib, stdenv, fetchFromGitHub, fetchpatch, perl, which
# Most packages depending on openblas expect integer width to match
# pointer width, but some expect to use 32-bit integers always
# (for compatibility with reference BLAS).
@ -94,6 +94,13 @@ let
DYNAMIC_ARCH = setDynamicArch true;
USE_OPENMP = !stdenv.hostPlatform.isMusl;
};
riscv64-linux = {
BINARY = 64;
TARGET = setTarget "RISCV64_GENERIC";
DYNAMIC_ARCH = setDynamicArch false;
USE_OPENMP = true;
};
};
in
@ -133,6 +140,20 @@ stdenv.mkDerivation rec {
sha256 = "1qjr02cqncv20abdp1yzr55n7smhx6h9chqvb0xbp18byynvj87w";
};
# remove both patches when updating to 0.3.16
patches = [
(fetchpatch {
name = "riscv64-imin-fix-wrong-comparison.patch";
url = "https://github.com/xianyi/OpenBLAS/commit/1e0192a5ccac28fc0c749f49d36ec7eda9757428.patch";
sha256 = "0kjkmrj8023vcjxhgin5dqs5w3gf93hzhwdhg0vsjhdra2ghkwzj";
})
(fetchpatch {
name = "riscv64-generic-use-generic-kernel-for-dsdot.patch";
url = "https://github.com/xianyi/OpenBLAS/commit/3521cd48cbfb3d50f6ae9a10377382d37075c696.patch";
sha256 = "0ljwbldff4db377s8rzmqxrszilqdivy656yqvfq46x5338v3gi0";
})
];
inherit blas64;
# Some hardening features are disabled due to sporadic failures in