Unverified Commit ef13b0b2 authored by Peder Bergebakken Sundt's avatar Peder Bergebakken Sundt Committed by GitHub
Browse files

python313Packages.pyopengl: update libgl patching (#403739)

parents cd9e8468 79992345
Loading
Loading
Loading
Loading
+28 −20
Original line number Diff line number Diff line
@@ -31,26 +31,27 @@ buildPythonPackage rec {
      # Theses lines are patching the name of dynamic libraries
      # so pyopengl can find them at runtime.
      substituteInPlace OpenGL/platform/glx.py \
        --replace '"OpenGL",' '"${pkgs.libGL}/lib/libOpenGL${ext}",' \
        --replace '"GL",' '"${pkgs.libGL}/lib/libGL${ext}",' \
        --replace '"GLU",' '"${pkgs.libGLU}/lib/libGLU${ext}",' \
        --replace '"GLX",' '"${pkgs.libglvnd}/lib/libGLX${ext}",' \
        --replace '"glut",' '"${pkgs.libglut}/lib/libglut${ext}",' \
        --replace '"GLESv1_CM",' '"${pkgs.libGL}/lib/libGLESv1_CM${ext}",' \
        --replace '"GLESv2",' '"${pkgs.libGL}/lib/libGLESv2${ext}",' \
        --replace '"gle",' '"${pkgs.gle}/lib/libgle${ext}",' \
        --replace "'EGL'" "'${pkgs.libGL}/lib/libEGL${ext}'"
        --replace-fail "'OpenGL'"  '"${pkgs.libGL}/lib/libOpenGL${ext}"' \
        --replace-fail '"GL",' '"${pkgs.libGL}/lib/libGL${ext}",' \
        --replace-fail "'GL'"  '"${pkgs.libGL}/lib/libGL${ext}"' \
        --replace-fail '"GLU",' '"${pkgs.libGLU}/lib/libGLU${ext}",' \
        --replace-fail "'GLX'" '"${pkgs.libglvnd}/lib/libGLX${ext}"' \
        --replace-fail '"glut",' '"${pkgs.libglut}/lib/libglut${ext}",' \
        --replace-fail '"GLESv1_CM",' '"${pkgs.libGL}/lib/libGLESv1_CM${ext}",' \
        --replace-fail '"GLESv2",' '"${pkgs.libGL}/lib/libGLESv2${ext}",' \
        --replace-fail '"gle",' '"${pkgs.gle}/lib/libgle${ext}",' \
        --replace-fail "'EGL'" "'${pkgs.libGL}/lib/libEGL${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.libglut}/lib/libglut${ext}'," \
        --replace "'GLESv1_CM'," "'${pkgs.libGL}/lib/libGLESv1_CM${ext}'," \
        --replace "'GLESv2'," "'${pkgs.libGL}/lib/libGLESv2${ext}'," \
        --replace "'gle'," '"${pkgs.gle}/lib/libgle${ext}",' \
        --replace "'EGL'," "'${pkgs.libGL}/lib/libEGL${ext}',"
        --replace-fail "('OpenGL','GL')" "('${pkgs.libGL}/lib/libOpenGL${ext}', '${pkgs.libGL}/lib/libGL${ext}')" \
        --replace-fail "'GLU'," "'${pkgs.libGLU}/lib/libGLU${ext}'," \
        --replace-fail "'glut'," "'${pkgs.libglut}/lib/libglut${ext}'," \
        --replace-fail "'GLESv1_CM'," "'${pkgs.libGL}/lib/libGLESv1_CM${ext}'," \
        --replace-fail "'GLESv2'," "'${pkgs.libGL}/lib/libGLESv2${ext}'," \
        --replace-fail "'gle'," '"${pkgs.gle}/lib/libgle${ext}",' \
        --replace-fail "'EGL'," "'${pkgs.libGL}/lib/libEGL${ext}',"
      substituteInPlace OpenGL/platform/darwin.py \
        --replace "'OpenGL'," "'${pkgs.libGL}/lib/libGL${ext}'," \
        --replace "'GLUT'," "'${pkgs.libglut}/lib/libglut${ext}',"
        --replace-fail "'OpenGL'," "'${pkgs.libGL}/lib/libGL${ext}'," \
        --replace-fail "'GLUT'," "'${pkgs.libglut}/lib/libglut${ext}',"
    ''
    + ''
      # https://github.com/NixOS/nixpkgs/issues/76822
@@ -61,7 +62,7 @@ buildPythonPackage rec {
      # The following patch put back the "name" (i.e. the path) in the
      # list of possible files.
      substituteInPlace OpenGL/platform/ctypesloader.py \
        --replace "filenames_to_try = [base_name]" "filenames_to_try = [name]"
        --replace-fail "filenames_to_try = [base_name]" "filenames_to_try = [name]"
    '';

  # Need to fix test runner
@@ -71,7 +72,14 @@ buildPythonPackage rec {
  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";
  pythonImportsCheck =
    [
      "OpenGL"
      "OpenGL.GL"
    ]
    ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [
      "OpenGL.GLX"
    ];

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