Skip to content

Commit ef13b0b

Browse files
authored
python313Packages.pyopengl: update libgl patching (#403739)
2 parents cd9e846 + 7999234 commit ef13b0b

File tree

1 file changed

+28
-20
lines changed

1 file changed

+28
-20
lines changed

pkgs/development/python-modules/pyopengl/default.nix

Lines changed: 28 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -31,26 +31,27 @@ buildPythonPackage rec {
3131
# Theses lines are patching the name of dynamic libraries
3232
# so pyopengl can find them at runtime.
3333
substituteInPlace OpenGL/platform/glx.py \
34-
--replace '"OpenGL",' '"${pkgs.libGL}/lib/libOpenGL${ext}",' \
35-
--replace '"GL",' '"${pkgs.libGL}/lib/libGL${ext}",' \
36-
--replace '"GLU",' '"${pkgs.libGLU}/lib/libGLU${ext}",' \
37-
--replace '"GLX",' '"${pkgs.libglvnd}/lib/libGLX${ext}",' \
38-
--replace '"glut",' '"${pkgs.libglut}/lib/libglut${ext}",' \
39-
--replace '"GLESv1_CM",' '"${pkgs.libGL}/lib/libGLESv1_CM${ext}",' \
40-
--replace '"GLESv2",' '"${pkgs.libGL}/lib/libGLESv2${ext}",' \
41-
--replace '"gle",' '"${pkgs.gle}/lib/libgle${ext}",' \
42-
--replace "'EGL'" "'${pkgs.libGL}/lib/libEGL${ext}'"
34+
--replace-fail "'OpenGL'" '"${pkgs.libGL}/lib/libOpenGL${ext}"' \
35+
--replace-fail '"GL",' '"${pkgs.libGL}/lib/libGL${ext}",' \
36+
--replace-fail "'GL'" '"${pkgs.libGL}/lib/libGL${ext}"' \
37+
--replace-fail '"GLU",' '"${pkgs.libGLU}/lib/libGLU${ext}",' \
38+
--replace-fail "'GLX'" '"${pkgs.libglvnd}/lib/libGLX${ext}"' \
39+
--replace-fail '"glut",' '"${pkgs.libglut}/lib/libglut${ext}",' \
40+
--replace-fail '"GLESv1_CM",' '"${pkgs.libGL}/lib/libGLESv1_CM${ext}",' \
41+
--replace-fail '"GLESv2",' '"${pkgs.libGL}/lib/libGLESv2${ext}",' \
42+
--replace-fail '"gle",' '"${pkgs.gle}/lib/libgle${ext}",' \
43+
--replace-fail "'EGL'" "'${pkgs.libGL}/lib/libEGL${ext}'"
4344
substituteInPlace OpenGL/platform/egl.py \
44-
--replace "('OpenGL','GL')" "('${pkgs.libGL}/lib/libOpenGL${ext}', '${pkgs.libGL}/lib/libGL${ext}')" \
45-
--replace "'GLU'," "'${pkgs.libGLU}/lib/libGLU${ext}'," \
46-
--replace "'glut'," "'${pkgs.libglut}/lib/libglut${ext}'," \
47-
--replace "'GLESv1_CM'," "'${pkgs.libGL}/lib/libGLESv1_CM${ext}'," \
48-
--replace "'GLESv2'," "'${pkgs.libGL}/lib/libGLESv2${ext}'," \
49-
--replace "'gle'," '"${pkgs.gle}/lib/libgle${ext}",' \
50-
--replace "'EGL'," "'${pkgs.libGL}/lib/libEGL${ext}',"
45+
--replace-fail "('OpenGL','GL')" "('${pkgs.libGL}/lib/libOpenGL${ext}', '${pkgs.libGL}/lib/libGL${ext}')" \
46+
--replace-fail "'GLU'," "'${pkgs.libGLU}/lib/libGLU${ext}'," \
47+
--replace-fail "'glut'," "'${pkgs.libglut}/lib/libglut${ext}'," \
48+
--replace-fail "'GLESv1_CM'," "'${pkgs.libGL}/lib/libGLESv1_CM${ext}'," \
49+
--replace-fail "'GLESv2'," "'${pkgs.libGL}/lib/libGLESv2${ext}'," \
50+
--replace-fail "'gle'," '"${pkgs.gle}/lib/libgle${ext}",' \
51+
--replace-fail "'EGL'," "'${pkgs.libGL}/lib/libEGL${ext}',"
5152
substituteInPlace OpenGL/platform/darwin.py \
52-
--replace "'OpenGL'," "'${pkgs.libGL}/lib/libGL${ext}'," \
53-
--replace "'GLUT'," "'${pkgs.libglut}/lib/libglut${ext}',"
53+
--replace-fail "'OpenGL'," "'${pkgs.libGL}/lib/libGL${ext}'," \
54+
--replace-fail "'GLUT'," "'${pkgs.libglut}/lib/libglut${ext}',"
5455
''
5556
+ ''
5657
# https://github.com/NixOS/nixpkgs/issues/76822
@@ -61,7 +62,7 @@ buildPythonPackage rec {
6162
# The following patch put back the "name" (i.e. the path) in the
6263
# list of possible files.
6364
substituteInPlace OpenGL/platform/ctypesloader.py \
64-
--replace "filenames_to_try = [base_name]" "filenames_to_try = [name]"
65+
--replace-fail "filenames_to_try = [base_name]" "filenames_to_try = [name]"
6566
'';
6667

6768
# Need to fix test runner
@@ -71,7 +72,14 @@ buildPythonPackage rec {
7172
doCheck = false; # does not affect pythonImportsCheck
7273

7374
# OpenGL looks for libraries during import, making this a somewhat decent test of the flaky patching above.
74-
pythonImportsCheck = "OpenGL";
75+
pythonImportsCheck =
76+
[
77+
"OpenGL"
78+
"OpenGL.GL"
79+
]
80+
++ lib.optionals (!stdenv.hostPlatform.isDarwin) [
81+
"OpenGL.GLX"
82+
];
7583

7684
meta = with lib; {
7785
homepage = "https://mcfletch.github.io/pyopengl/";

0 commit comments

Comments
 (0)