blob: 4e648758bd9f937d3784eb0e958a7147fcc25a95 (
plain)
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
|
{ pkgs ? import <nixpkgs> { }, ... }:
pkgs.stdenvNoCC.mkDerivation rec {
name = "boltzgen-env";
env = pkgs.buildEnv { name = name; paths = buildInputs; };
buildInputs = let
custom-python = let
packageOverrides = self: super: {
pyopencl = super.pyopencl.overridePythonAttrs(old: rec {
buildInputs = with pkgs; [
opencl-headers ocl-icd python37Packages.pybind11
libGLU_combined
];
# Enable OpenGL integration and fix build
preBuild = ''
python configure.py --cl-enable-gl
export HOME=/tmp/pyopencl
'';
});
};
in pkgs.python3.override { inherit packageOverrides; };
boltzgen = (import ../../boltzgen.nix { }).boltzgen custom-python;
local-python = custom-python.withPackages (python-packages: with python-packages; [
boltzgen
numpy
pyopencl setuptools
pyopengl pyrr
]);
in with pkgs; [
local-python
opencl-info
];
shellHook = ''
export NIX_SHELL_NAME="${name}"
export PYOPENCL_COMPILER_OUTPUT=1
export PYTHONPATH="$PWD:$PYTHONPATH"
'';
}
|