1{
2 lib,
3 buildPythonPackage,
4 fetchPypi,
5 spglib,
6 numpy,
7 scipy,
8 matplotlib,
9 ase,
10 netcdf4,
11 pythonOlder,
12 cython,
13 cmake,
14 setuptools,
15 setuptools-scm,
16}:
17
18buildPythonPackage rec {
19 pname = "boltztrap2";
20 version = "25.3.1";
21
22 pyproject = true;
23
24 build-system = [
25 setuptools
26 setuptools-scm
27 ];
28
29 disabled = pythonOlder "3.5";
30
31 src = fetchPypi {
32 pname = "boltztrap2";
33 inherit version;
34 hash = "sha256-JUIGh/6AF+xYLmF3QN47/A5E9zPKdhO2lhn97giZJ48=";
35 };
36
37 postPatch = ''
38 substituteInPlace pyproject.toml \
39 --replace-fail "numpy>=2.0.0" "numpy"
40 '';
41
42 dontUseCmakeConfigure = true;
43
44 nativeBuildInputs = [
45 cmake
46 cython
47 ];
48
49 dependencies = [
50 spglib
51 numpy
52 scipy
53 matplotlib
54 ase
55 netcdf4
56 ];
57
58 # pypi release does no include files for tests
59 doCheck = false;
60
61 pythonImportsCheck = [ "BoltzTraP2" ];
62
63 meta = with lib; {
64 description = "Band-structure interpolator and transport coefficient calculator";
65 mainProgram = "btp2";
66 homepage = "http://www.boltztrap.org/";
67 license = licenses.gpl3Plus;
68 maintainers = [ ];
69 };
70}