1{
2 lib,
3 stdenv,
4 buildPythonPackage,
5 fetchFromGitHub,
6
7 # build-system
8 scikit-build-core,
9 setuptools,
10 setuptools-scm,
11
12 # nativeBuildInputs
13 cmake,
14 ninja,
15
16 # dependencies
17 numpy,
18 units-llnl,
19
20 # buildInputs
21 boost,
22 eigen,
23 gtest,
24 pybind11,
25 tbb_2022,
26
27 # tests
28 pytestCheckHook,
29 scipy,
30 beautifulsoup4,
31 ipython,
32 matplotlib,
33 pandas,
34 numba,
35 xarray,
36 h5py,
37 hypothesis,
38}:
39
40buildPythonPackage rec {
41 pname = "scipp";
42 version = "25.08.0";
43 pyproject = true;
44
45 src = fetchFromGitHub {
46 owner = "scipp";
47 repo = "Scipp";
48 # https://github.com/scipp/scipp/pull/3722
49 tag = version;
50 hash = "sha256-nLccJlFnnVTpamph2oIaMxRD5ljrw6GlCnnTx7LfrO0=";
51 };
52 env = {
53 SKIP_CONAN = "true";
54 };
55
56 build-system = [
57 scikit-build-core
58 setuptools
59 setuptools-scm
60 ];
61
62 nativeBuildInputs = [
63 cmake
64 ninja
65 ];
66 dontUseCmakeConfigure = true;
67
68 dependencies = [
69 numpy
70 ];
71
72 buildInputs = [
73 boost
74 eigen
75 gtest
76 pybind11
77 units-llnl.passthru.top-level
78 tbb_2022
79 ];
80
81 nativeCheckInputs = [
82 pytestCheckHook
83 scipy
84 beautifulsoup4
85 ipython
86 matplotlib
87 pandas
88 numba
89 xarray
90 h5py
91 hypothesis
92 ];
93 pytestFlags = [
94 # See https://github.com/scipp/scipp/issues/3721
95 "--hypothesis-profile=ci"
96 ];
97
98 pythonImportsCheck = [
99 "scipp"
100 ];
101
102 meta = {
103 description = "Multi-dimensional data arrays with labeled dimensions";
104 homepage = "https://scipp.github.io";
105 license = lib.licenses.bsd3;
106 maintainers = with lib.maintainers; [ doronbehar ];
107 # Got:
108 #
109 # error: a template argument list is expected after a name prefixed by the template keyword [-Wmissing-template-arg-list-after-template-kw]
110 #
111 # Needs debugging along with upstream.
112 broken = stdenv.hostPlatform.isDarwin;
113 };
114}