about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/python-modules/pyopengl/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/python-modules/pyopengl/default.nix')
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyopengl/default.nix21
1 files changed, 19 insertions, 2 deletions
diff --git a/nixpkgs/pkgs/development/python-modules/pyopengl/default.nix b/nixpkgs/pkgs/development/python-modules/pyopengl/default.nix
index 94b5d38d3fc8..318f2aa033b6 100644
--- a/nixpkgs/pkgs/development/python-modules/pyopengl/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyopengl/default.nix
@@ -8,6 +8,7 @@
 buildPythonPackage rec {
   pname = "pyopengl";
   version = "3.1.6";
+  format = "setuptools";
 
   src = fetchPypi {
     pname = "PyOpenGL";
@@ -24,7 +25,20 @@ buildPythonPackage rec {
     substituteInPlace OpenGL/platform/glx.py \
       --replace "'GL'" "'${pkgs.libGL}/lib/libGL${ext}'" \
       --replace "'GLU'" "'${pkgs.libGLU}/lib/libGLU${ext}'" \
-      --replace "'glut'" "'${pkgs.freeglut}/lib/libglut${ext}'"
+      --replace "'glut'" "'${pkgs.freeglut}/lib/libglut${ext}'" \
+      --replace "'GLESv1_CM'," "'${pkgs.libGL}/lib/libGLESv1_CM${ext}'," \
+      --replace "'GLESv2'," "'${pkgs.libGL}/lib/libGLESv2${ext}',"
+    substituteInPlace OpenGL/platform/egl.py \
+      --replace "('OpenGL','GL')" "('${pkgs.libGL}/lib/libOpenGL${ext}', '${pkgs.libGL}/lib/libGL${ext}')" \
+      --replace "'GLU'," "'${pkgs.libGLU}/lib/libGLU${ext}'," \
+      --replace "'glut'," "'${pkgs.freeglut}/lib/libglut${ext}'," \
+      --replace "'GLESv1_CM'," "'${pkgs.libGL}/lib/libGLESv1_CM${ext}'," \
+      --replace "'GLESv2'," "'${pkgs.libGL}/lib/libGLESv2${ext}'," \
+      --replace "'EGL'," "'${pkgs.libGL}/lib/libEGL${ext}',"
+    substituteInPlace OpenGL/platform/darwin.py \
+      --replace "'OpenGL'," "'${pkgs.libGL}/lib/libGL${ext}'," \
+      --replace "'GLUT'," "'${pkgs.freeglut}/lib/libglut${ext}',"
+    # TODO: patch 'gle' in OpenGL/platform/egl.py
   '' + ''
     # https://github.com/NixOS/nixpkgs/issues/76822
     # pyopengl introduced a new "robust" way of loading libraries in 3.1.4.
@@ -41,7 +55,10 @@ buildPythonPackage rec {
   # Tests have many dependencies
   # Extension types could not be found.
   # Should run test suite from $out/${python.sitePackages}
-  doCheck = false;
+  doCheck = false; # does not affect pythonImportsCheck
+
+  # OpenGL looks for libraries during import, making this a somewhat decent test of the flaky patching above.
+  pythonImportsCheck = "OpenGL";
 
   meta = with lib; {
     homepage = "https://pyopengl.sourceforge.net/";