python312Packages.lion-pytorch: 0.2.2 -> 0.2.3 (#364581)
[NixPkgs.git] / pkgs / development / libraries / physics / yoda / default.nix
blob746286254daed2c57afeb9bd0364cf097b7eb9d0
2   lib,
3   stdenv,
4   fetchFromGitLab,
5   autoreconfHook,
6   python,
7   root,
8   makeWrapper,
9   zlib,
10   withRootSupport ? false,
13 stdenv.mkDerivation rec {
14   pname = "yoda";
15   version = "2.0.2";
17   src = fetchFromGitLab {
18     owner = "hepcedar";
19     repo = pname;
20     rev = "yoda-${version}";
21     hash = "sha256-sHvwgLH22fvdlh4oLjr4fzZ2WtBJMAlvr4Vxi9Xdf84=";
22   };
24   nativeBuildInputs = with python.pkgs; [
25     autoreconfHook
26     cython
27     makeWrapper
28   ];
30   buildInputs =
31     [
32       python
33     ]
34     ++ (with python.pkgs; [
35       numpy
36       matplotlib
37     ])
38     ++ lib.optionals withRootSupport [
39       root
40     ];
42   propagatedBuildInputs = [
43     zlib
44   ];
46   enableParallelBuilding = true;
48   postPatch = ''
49     touch pyext/yoda/*.{pyx,pxd}
50     patchShebangs .
52     substituteInPlace pyext/yoda/plotting/script_generator.py \
53       --replace '/usr/bin/env python' '${python.interpreter}'
54   '';
56   postInstall = ''
57     for prog in "$out"/bin/*; do
58       wrapProgram "$prog" --set PYTHONPATH $PYTHONPATH:$(toPythonPath "$out")
59     done
60   '';
62   hardeningDisable = [ "format" ];
64   doInstallCheck = true;
66   installCheckTarget = "check";
68   meta = with lib; {
69     description = "Provides small set of data analysis (specifically histogramming) classes";
70     license = licenses.gpl3Only;
71     homepage = "https://yoda.hepforge.org";
72     changelog = "https://gitlab.com/hepcedar/yoda/-/blob/yoda-${version}/ChangeLog";
73     platforms = platforms.unix;
74     maintainers = with maintainers; [ veprbl ];
75   };