Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{ 2 lib, 3 stdenv, 4 buildPythonPackage, 5 fetchFromGitHub, 6 setuptools, 7 glfw, 8 moderngl, 9 numpy, 10 pillow, 11 pygame, 12 pyglet, 13 pyqt5, 14 pyrr, 15 pysdl2, 16 pyside2, 17 pythonOlder, 18 scipy, 19 trimesh, 20}: 21 22buildPythonPackage rec { 23 pname = "moderngl-window"; 24 version = "2.4.6"; 25 pyproject = true; 26 27 disabled = pythonOlder "3.8"; 28 29 src = fetchFromGitHub { 30 owner = "moderngl"; 31 repo = "moderngl_window"; 32 rev = "refs/tags/${version}"; 33 hash = "sha256-zTygSXU/vQZaFCuHbRBpO9/BYYA2UOid+wvhyc2bWMI="; 34 }; 35 36 pythonRelaxDeps = [ "pillow" ]; 37 38 nativeBuildInputs = [ 39 setuptools 40 ]; 41 42 propagatedBuildInputs = [ 43 numpy 44 moderngl 45 pyglet 46 pillow 47 pyrr 48 ]; 49 50 passthru.optional-dependencies = { 51 trimesh = [ 52 trimesh 53 scipy 54 ]; 55 glfw = [ glfw ]; 56 pygame = [ pygame ]; 57 PySDL2 = [ pysdl2 ]; 58 PySide2 = [ pyside2 ]; 59 pyqt5 = [ pyqt5 ]; 60 }; 61 62 # Tests need a display to run. 63 doCheck = false; 64 65 pythonImportsCheck = [ "moderngl_window" ]; 66 67 meta = with lib; { 68 description = "Cross platform helper library for ModernGL making window creation and resource loading simple"; 69 homepage = "https://github.com/moderngl/moderngl-window"; 70 changelog = "https://github.com/moderngl/moderngl-window/blob/${version}/CHANGELOG.md"; 71 license = licenses.mit; 72 maintainers = with maintainers; [ c0deaddict ]; 73 platforms = platforms.mesaPlatforms; 74 broken = stdenv.isDarwin; 75 }; 76}