nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{ lib
2, buildPythonPackage
3, fetchFromGitHub
4, pythonOlder
5, cython
6, h5py
7, matplotlib
8, numpy
9, phonopy
10, pymatgen
11, scipy
12, seekpath
13, spglib
14, castepxbin
15, pytestCheckHook
16}:
17
18buildPythonPackage rec {
19 pname = "sumo";
20 version = "2.3.0";
21 format = "setuptools";
22
23 disabled = pythonOlder "3.6";
24
25 src = fetchFromGitHub {
26 owner = "SMTG-UCL";
27 repo = "sumo";
28 rev = "refs/tags/v${version}";
29 sha256 = "sha256-apI5Qt7Wrr4FXKL48iqqIQJDX2BIf3PPz/qIgSO7nuo=";
30 };
31
32 nativeBuildInputs = [
33 cython
34 ];
35
36 propagatedBuildInputs = [
37 spglib
38 numpy
39 scipy
40 h5py
41 pymatgen
42 phonopy
43 matplotlib
44 seekpath
45 castepxbin
46 ];
47
48 checkInputs = [
49 pytestCheckHook
50 ];
51
52 disabledTests = [
53 # slight disagreement between caastepxbin versions
54 "test_castep_phonon_read_bands"
55 ];
56
57 postPatch = ''
58 substituteInPlace setup.py \
59 --replace "castepxbin==0.1.0" "castepxbin>=0.1.0"
60 '';
61
62 pythonImportsCheck = [
63 "sumo"
64 ];
65
66 meta = with lib; {
67 description = "Toolkit for plotting and analysis of ab initio solid-state calculation data";
68 homepage = "https://github.com/SMTG-UCL/sumo";
69 license = licenses.mit;
70 maintainers = with maintainers; [ psyanticy ];
71 };
72}