Repository navigation
Expand file tree
/
Copy pathshell.nix
More file actions
56 lines (49 loc) · 1.46 KB
/
Copy pathshell.nix
File metadata and controls
56 lines (49 loc) · 1.46 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
{ pkgs ? import <nixpkgs> {} }:
pkgs.mkShell {
nativeBuildInputs = with pkgs; [
cmake
ninja
pkg-config
# binutils provides ld.gold, required by the CVISTA_ICF lever
# (-fuse-ld=gold -Wl,--icf=all). The gcc-wrapper already exposes a gold on
# PATH, but declaring binutils makes the ICF toolchain an explicit part of
# the dev/CI environment rather than an incidental gcc-wrapper detail.
binutils
];
buildInputs = with pkgs; [
# Python 3.13 to match the pyvista parity reference interpreter. Must NOT be
# 3.11: VTK's FindPython3 + wrapper-suffix detection use the shell `python3`,
# so a 3.11 here poisons the module ABI tag (cpython-311 in a cp313 wheel)
# and skips Python wrapping for part of the module set.
python313
python313Packages.setuptools
python313Packages.pip
gcc
tbb
xorg.libX11
xorg.libXcursor
xorg.libXext
xorg.libXfixes
xorg.libXrandr
xorg.libXrender
xorg.libXt
xorg.libXinerama
libGL
mesa
# Runtime libs the wheel's smoke/parity step needs when importing the built
# modules + numpy outside the build (libz for numpy, libstdc++ comes from gcc
# above). Harmless for the build itself.
zlib
];
shellHook = ''
export CMAKE_PREFIX_PATH=${pkgs.lib.makeSearchPath "lib/cmake" [
pkgs.tbb
pkgs.xorg.libX11
pkgs.xorg.libXext
pkgs.xorg.libXrandr
pkgs.xorg.libXinerama
pkgs.mesa
pkgs.libGL
]}
'';
}