@@ -18888,6 +18888,64 @@ library.")
(description
"This is the Cython-coded accelerator module for PyOpenGL.")))
+(define-public python-glcontext
+ (package
+ (name "python-glcontext")
+ (version "2.3.4")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/moderngl/glcontext")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1m2zkl696vqmgrd5k1c5kl0krk6qgjgsz88qhahwva0l40bswvhp"))))
+ (build-system python-build-system)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'fix-lib-paths
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let ((mesa (assoc-ref inputs "mesa"))
+ (libx11 (assoc-ref inputs "libx11")))
+ (substitute* '("glcontext/x11.cpp" "glcontext/egl.cpp")
+ (("\"libGL.so\"")
+ (string-append "\"" mesa "/lib/libGL.so\""))
+ (("\"libEGL.so\"")
+ (string-append "\"" mesa "/lib/libEGL.so\""))
+ (("\"libX11.so\"")
+ (string-append "\"" libx11 "/lib/libX11.so\"")))
+ (substitute* '("glcontext/__init__.py")
+ (("find_library\\('GL'\\)")
+ (string-append "'" mesa "/lib/libGL.so'"))
+ (("find_library\\('EGL'\\)")
+ (string-append "'" mesa "/lib/libEGL.so'"))
+ (("find_library\\(\"X11\"\\)")
+ (string-append "'" libx11 "/lib/libX11.so'"))))))
+ (add-before 'check 'prepare-x
+ (lambda _
+ (system "Xvfb :1 &")
+ (setenv "DISPLAY" ":1")))
+ (replace 'check
+ (lambda* (#:key inputs outputs tests? #:allow-other-keys)
+ (when tests?
+ (add-installed-pythonpath inputs outputs)
+ (invoke "pytest" "tests")))))))
+ (inputs
+ `(("libx11" ,libx11)
+ ("mesa" ,mesa)))
+ (native-inputs
+ `(("xorg-server" ,xorg-server-for-tests)
+ ("python-pytest" ,python-pytest)
+ ("python-psutil" ,python-psutil)))
+ (home-page "https://github.com/moderngl/glcontext")
+ (synopsis "Portable OpenGL Context for ModernGL")
+ (description "Python-glcontext is a library providing an OpenGL
+implementation for ModernGL on multiple platforms.")
+ (license license:expat)))
+
(define-public python-rencode
(package
(name "python-rencode")