python312Packages.llama-index: 0.12.9 -> 0.12.9.post1 (#371957)
[NixPkgs.git] / pkgs / by-name / li / libxsmm / package.nix
blobfcb99e8c346cfd7dad15b129579ee54a0847f6da
2   lib,
3   stdenv,
4   fetchFromGitHub,
5   gfortran,
6   python3,
7   util-linux,
8   which,
10   enableStatic ? stdenv.hostPlatform.isStatic,
13 stdenv.mkDerivation rec {
14   pname = "libxsmm";
15   version = "1.17";
17   src = fetchFromGitHub {
18     owner = "libxsmm";
19     repo = "libxsmm";
20     rev = version;
21     sha256 = "sha256-s/NEFU4IwQPLyPLwMmrrpMDd73q22Sk2BNid/kedawY=";
22   };
24   # Fixes /build references in the rpath
25   patches = [ ./rpath.patch ];
27   outputs = [
28     "out"
29     "dev"
30     "doc"
31   ];
33   nativeBuildInputs = [
34     gfortran
35     python3
36     util-linux
37     which
38   ];
40   enableParallelBuilding = true;
42   dontConfigure = true;
44   makeFlags =
45     let
46       static = if enableStatic then "1" else "0";
47     in
48     [
49       "OMP=1"
50       "PREFIX=$(out)"
51       "STATIC=${static}"
52     ];
54   postInstall = ''
55     mkdir -p $dev/lib/pkgconfig
56     mv $out/lib/*.pc $dev/lib/pkgconfig
58     moveToOutput "share/libxsmm" ''${!outputDoc}
59   '';
61   prePatch = ''
62     patchShebangs .
63   '';
65   meta = with lib; {
66     broken = (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64);
67     description = "Library targeting Intel Architecture for specialized dense and sparse matrix operations, and deep learning primitives";
68     mainProgram = "libxsmm_gemm_generator";
69     license = licenses.bsd3;
70     homepage = "https://github.com/hfp/libxsmm";
71     platforms = platforms.linux;
72     maintainers = with lib.maintainers; [ chessai ];
73   };