diff options
author | Sharlatan Hellseher <sharlatanus@gmail.com> | 2024-10-18 12:19:17 +0100 |
---|---|---|
committer | Sharlatan Hellseher <sharlatanus@gmail.com> | 2024-10-18 21:09:33 +0100 |
commit | af7e1d89e630bf2a71507da6bcd24f5fbb742f69 (patch) | |
tree | c295ad03d40cbe9815ca1cc3b6f4d0124f59a52d /gnu/packages/python-graphics.scm | |
parent | 81702aa7433e5fcf0a83eaf771d263e53ebdbf26 (diff) |
gnu: python-glcontext: Move to python-graphics.
* gnu/packages/python-xyz.scm (python-glcontext): Move from here ...
* gnu/packages/python-graphics.scm: ... to here.
Change-Id: If984a8b0c128df8bcaffae2cce8d9caabda7890b
Diffstat (limited to 'gnu/packages/python-graphics.scm')
-rw-r--r-- | gnu/packages/python-graphics.scm | 66 |
1 files changed, 65 insertions, 1 deletions
diff --git a/gnu/packages/python-graphics.scm b/gnu/packages/python-graphics.scm index d0b4a1df74..29b199922c 100644 --- a/gnu/packages/python-graphics.scm +++ b/gnu/packages/python-graphics.scm @@ -1,8 +1,9 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2021 Adam Kandur <kefironpremise@gmail.com> -;;; Copyright © 2021 Daniel Meißner <daniel.meissner-i4k@ruhr-uni-bochum.de> ;;; Copyright © 2021 Morgan Smith <Morgan.J.Smith@outlook.com> +;;; Copyright © 2021, 2023 Daniel Meißner <daniel.meissner-i4k@ruhr-uni-bochum.de> ;;; Copyright © 2023 Adam Faiz <adam.faiz@disroot.org> +;;; Copyright © 2023 Simon Tournier <zimon.toutoune@gmail.com> ;;; Copyright © 2024 Sharlatan Hellseher <sharlatanus@gmail.com> (define-module (gnu packages python-graphics) @@ -11,6 +12,7 @@ #:use-module (guix build-system pyproject) #:use-module (guix download) #:use-module (guix gexp) + #:use-module (guix git-download) #:use-module (guix packages) #:use-module (gnu packages) #:use-module (gnu packages audio) @@ -35,6 +37,68 @@ ;;; ;;; Code: +(define-public python-glcontext + (let (;; Upstream is known for abusing mutable tag, hence pinpoint the + ;; relevant commit. + (revision "2") + (commit "f2875abdb18b24e785c3958cc22845c81725d5cd")) + (package + (name "python-glcontext") + (version (git-version "3.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/moderngl/glcontext") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "15pngnc4agdvm8crq782vjlb5v1qrclln5xpqiyhz3jhmipsqb8q")))) + (build-system pyproject-build-system) + (arguments + (list + #: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'")))))) + (replace 'check + (lambda* (#:key inputs outputs tests? #:allow-other-keys) + (when tests? + (system "Xvfb :1 &") + (setenv "DISPLAY" ":1") + (add-installed-pythonpath inputs outputs) + (invoke "pytest" "tests"))))))) + (inputs + (list libx11 + mesa)) + (native-inputs + (list python-psutil + python-pytest + xorg-server-for-tests)) + (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-pyglet (package (name "python-pyglet") |