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