nixpkgs mirror (for testing) github.com/NixOS/nixpkgs
nix

python3Packages.pyopengl: support the EGL platform, link libGLESv{1,2}

+19 -2
+19 -2
pkgs/development/python-modules/pyopengl/default.nix
··· 8 8 buildPythonPackage rec { 9 9 pname = "pyopengl"; 10 10 version = "3.1.6"; 11 + format = "setuptools"; 11 12 12 13 src = fetchPypi { 13 14 pname = "PyOpenGL"; ··· 25 24 substituteInPlace OpenGL/platform/glx.py \ 26 25 --replace "'GL'" "'${pkgs.libGL}/lib/libGL${ext}'" \ 27 26 --replace "'GLU'" "'${pkgs.libGLU}/lib/libGLU${ext}'" \ 28 - --replace "'glut'" "'${pkgs.freeglut}/lib/libglut${ext}'" 27 + --replace "'glut'" "'${pkgs.freeglut}/lib/libglut${ext}'" \ 28 + --replace "'GLESv1_CM'," "'${pkgs.libGL}/lib/libGLESv1_CM${ext}'," \ 29 + --replace "'GLESv2'," "'${pkgs.libGL}/lib/libGLESv2${ext}'," 30 + substituteInPlace OpenGL/platform/egl.py \ 31 + --replace "('OpenGL','GL')" "('${pkgs.libGL}/lib/libOpenGL${ext}', '${pkgs.libGL}/lib/libGL${ext}')" \ 32 + --replace "'GLU'," "'${pkgs.libGLU}/lib/libGLU${ext}'," \ 33 + --replace "'glut'," "'${pkgs.freeglut}/lib/libglut${ext}'," \ 34 + --replace "'GLESv1_CM'," "'${pkgs.libGL}/lib/libGLESv1_CM${ext}'," \ 35 + --replace "'GLESv2'," "'${pkgs.libGL}/lib/libGLESv2${ext}'," \ 36 + --replace "'EGL'," "'${pkgs.libGL}/lib/libEGL${ext}'," 37 + substituteInPlace OpenGL/platform/darwin.py \ 38 + --replace "'OpenGL'," "'${pkgs.libGL}/lib/libGL${ext}'," \ 39 + --replace "'GLUT'," "'${pkgs.freeglut}/lib/libglut${ext}'," 40 + # TODO: patch 'gle' in OpenGL/platform/egl.py 29 41 '' + '' 30 42 # https://github.com/NixOS/nixpkgs/issues/76822 31 43 # pyopengl introduced a new "robust" way of loading libraries in 3.1.4. ··· 55 41 # Tests have many dependencies 56 42 # Extension types could not be found. 57 43 # Should run test suite from $out/${python.sitePackages} 58 - doCheck = false; 44 + doCheck = false; # does not affect pythonImportsCheck 45 + 46 + # OpenGL looks for libraries during import, making this a somewhat decent test of the flaky patching above. 47 + pythonImportsCheck = "OpenGL"; 59 48 60 49 meta = with lib; { 61 50 homepage = "https://pyopengl.sourceforge.net/";