1{ 2 lib, 3 buildPythonPackage, 4 fetchFromGitHub, 5 6 # build-system 7 setuptools, 8 9 # dependencies 10 moderngl, 11 numpy, 12 pillow, 13 pyglet, 14 pyglm, 15 16 # optional-dependencies 17 trimesh, 18 scipy, 19 glfw, 20 pygame, 21 pysdl2, 22 pyside2, 23 pyqt5, 24 reportlab, 25 av, 26 27 mesa, 28}: 29 30buildPythonPackage rec { 31 pname = "moderngl-window"; 32 version = "3.1.1"; 33 pyproject = true; 34 35 src = fetchFromGitHub { 36 owner = "moderngl"; 37 repo = "moderngl_window"; 38 tag = version; 39 hash = "sha256-pElSwzNbZlZT8imK1UsLy2TyvS8TEM7hsVqLxEK1tbg="; 40 }; 41 42 build-system = [ 43 setuptools 44 ]; 45 46 dependencies = [ 47 moderngl 48 numpy 49 pillow 50 pyglet 51 pyglm 52 ]; 53 54 optional-dependencies = { 55 trimesh = [ 56 trimesh 57 scipy 58 ]; 59 glfw = [ glfw ]; 60 pygame = [ pygame ]; 61 PySDL2 = [ pysdl2 ]; 62 PySide2 = [ pyside2 ]; 63 pyqt5 = [ pyqt5 ]; 64 pdf = [ reportlab ]; 65 av = [ av ]; 66 }; 67 68 # Tests need a display to run. 69 doCheck = false; 70 71 pythonImportsCheck = [ "moderngl_window" ]; 72 73 meta = { 74 description = "Cross platform helper library for ModernGL making window creation and resource loading simple"; 75 homepage = "https://github.com/moderngl/moderngl-window"; 76 changelog = "https://github.com/moderngl/moderngl-window/blob/${version}/CHANGELOG.md"; 77 license = lib.licenses.mit; 78 maintainers = with lib.maintainers; [ c0deaddict ]; 79 inherit (mesa.meta) platforms; 80 }; 81}