mirror of
https://git.savannah.gnu.org/git/guix.git
synced 2025-01-18 21:46:35 +01:00
gnu: Add python-pyglet.
This project was mentioned in #48467, #50505, #52116 and #67131. It's a refreshed version with most of the bindings implemented. * gnu/packages/python-graphics.scm (python-pyglet): New variable. Change-Id: I78718376bc2945184c32cb013309fbba2b2749d0 Co-Authored-By: Adam Kandur <kefironpremise@gmail.com> Co-Authored-By: Daniel Meißner <daniel.meissner-i4k@ruhr-uni-bochum.de> Co-Authored-By: Morgan Smith <Morgan.J.Smith@outlook.com> Co-Authored-By: Adam Faiz <adam.faiz@disroot.org>
This commit is contained in:
parent
194d8e51cf
commit
88471af678
1 changed files with 151 additions and 1 deletions
|
@ -1,4 +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 © 2023 Adam Faiz <adam.faiz@disroot.org>
|
||||
;;; Copyright © 2024 Sharlatan Hellseher <sharlatanus@gmail.com>
|
||||
|
||||
(define-module (gnu packages python-graphics)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
|
@ -8,9 +13,18 @@ (define-module (gnu packages python-graphics)
|
|||
#:use-module (guix gexp)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages audio)
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages fontutils)
|
||||
#:use-module (gnu packages gl)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages gtk)
|
||||
#:use-module (gnu packages pulseaudio)
|
||||
#:use-module (gnu packages python-build)
|
||||
#:use-module (gnu packages python-xyz))
|
||||
#:use-module (gnu packages python-xyz)
|
||||
#:use-module (gnu packages video)
|
||||
#:use-module (gnu packages xorg))
|
||||
|
||||
;;; Commentary:
|
||||
;;;
|
||||
|
@ -21,6 +35,142 @@ (define-module (gnu packages python-graphics)
|
|||
;;;
|
||||
;;; Code:
|
||||
|
||||
(define-public python-pyglet
|
||||
(package
|
||||
(name "python-pyglet")
|
||||
(version "2.0.18")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "pyglet" version))
|
||||
(sha256
|
||||
(base32 "1p4rizj81vfqxal288m3afbrgk0il3w7k5kmhai2sah8f26j7ybw"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:test-flags
|
||||
#~(list "tests"
|
||||
"--ignore=tests/interactive"
|
||||
;; All tests errored
|
||||
"--ignore=tests/integration/media/test_openal.py"
|
||||
"--ignore=tests/integration/text/test_empty_document.py"
|
||||
;; Tests failed
|
||||
"-k" (string-append "not test2"
|
||||
" and not test5"
|
||||
" and not testPad"
|
||||
" and not testPad"
|
||||
" and not testRange"
|
||||
" and not testRect"
|
||||
" and not testRect"
|
||||
" and not testSet"
|
||||
" and not testSquare"
|
||||
" and not testSquare"
|
||||
" and not testTuple"
|
||||
" and not testTupleRange"
|
||||
" and not test_context_noshare_texture"
|
||||
" and not test_context_share_texture"
|
||||
" and not test_method"
|
||||
" and not test_openal_listener"
|
||||
" and not test_parse_all_controller_mappings"
|
||||
" and not test_player_play"
|
||||
" and not test_player_play_multiple"
|
||||
" and not test_stream_write_needed"
|
||||
" and not test_window_caption"
|
||||
" and not test_window_caption_from_argv"))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-lib-paths
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* (list "pyglet/font/fontconfig.py"
|
||||
"pyglet/font/freetype_lib.py"
|
||||
"pyglet/gl/lib_glx.py"
|
||||
"pyglet/input/linux/evdev.py"
|
||||
"pyglet/libs/egl/egl.py"
|
||||
"pyglet/libs/egl/lib.py"
|
||||
"pyglet/libs/x11/xf86vmode.py"
|
||||
"pyglet/libs/x11/xinerama.py"
|
||||
"pyglet/libs/x11/xlib.py"
|
||||
"pyglet/libs/x11/xsync.py"
|
||||
"pyglet/media/drivers/openal/lib_openal.py"
|
||||
"pyglet/media/drivers/pulse/lib_pulseaudio.py")
|
||||
(("'EGL'")
|
||||
(format #f "'~a/~a'" #$(this-package-input "mesa")
|
||||
"lib/libEGL.so"))
|
||||
(("\"fontconfig\"")
|
||||
(format #f "'~a/~a'" #$(this-package-input "fontconfig-minimal")
|
||||
"lib/libfontconfig.so"))
|
||||
(("\"freetype\"")
|
||||
(format #f "'~a/~a'" #$(this-package-input "freetype")
|
||||
"lib/libfreetype.so"))
|
||||
(("'GL'")
|
||||
(format #f "'~a/~a'" #$(this-package-input "mesa")
|
||||
"lib/libGL.so"))
|
||||
(("'GLU'")
|
||||
(format #f "'~a/~a'" #$(this-package-input "glu")
|
||||
"lib/libGLU.so"))
|
||||
(("'X11'")
|
||||
(format #f "'~a/~a'" #$(this-package-input "libx11")
|
||||
"lib/libX11.so"))
|
||||
(("'Xext'")
|
||||
(format #f "'~a/~a'" #$(this-package-input "libxext")
|
||||
"lib/libXext.so"))
|
||||
(("'Xinerama'")
|
||||
(format #f "'~a/~a'" #$(this-package-input "libxinerama")
|
||||
"lib/libXinerama.so"))
|
||||
(("'Xxf86vm'")
|
||||
(format #f "'~a/~a'" #$(this-package-input "libxxf86vm")
|
||||
"lib/libXxf86vm.so"))
|
||||
(("'c'")
|
||||
(format #f "'~a/~a'" #$(this-package-input "glibc")
|
||||
"lib/libc.so"))
|
||||
(("'gdk-x11-2.0'")
|
||||
(format #f "'~a/~a'" #$(this-package-input "gtk+")
|
||||
"lib/gdk-pixbuf-2.0.so"))
|
||||
(("'gdk_pixbuf-2.0'")
|
||||
(format #f "'~a/~a'" #$(this-package-input "gdk-pixbuf")
|
||||
"lib/libgdk_pixbuf-2.0.so"))
|
||||
(("'openal'")
|
||||
(format #f "'~a/~a'" #$(this-package-input "openal")
|
||||
"lib/libopenal.so"))
|
||||
(("'pulse'")
|
||||
(format #f "'~a/~a'" #$(this-package-input "pulseaudio")
|
||||
"lib/libpulse.so")))))
|
||||
(add-before 'check 'prepare-test-environment
|
||||
(lambda _
|
||||
;; The test suite requires a running X server.
|
||||
(system "Xvfb :1 &")
|
||||
(setenv "DISPLAY" ":1")
|
||||
(setenv "HOME" "/tmp")
|
||||
(setenv "PYGLET_HEADLESS" "True"))))))
|
||||
(native-inputs
|
||||
(list python-flit-core
|
||||
python-pytest
|
||||
unzip
|
||||
xorg-server-for-tests))
|
||||
(inputs
|
||||
(list ffmpeg
|
||||
fontconfig
|
||||
freeglut
|
||||
freetype
|
||||
gdk-pixbuf
|
||||
glibc
|
||||
glu
|
||||
gtk+
|
||||
libx11
|
||||
libxext
|
||||
libxinerama
|
||||
libxxf86vm
|
||||
mesa
|
||||
openal
|
||||
pulseaudio))
|
||||
(home-page "https://github.com/pyglet/pyglet")
|
||||
(synopsis "Windowing and multimedia library")
|
||||
(description
|
||||
"Pyglet is a Python library for developing games and other visually-rich
|
||||
applications. It supports windowing, user interface event handling,
|
||||
Joysticks, OpenGL graphics, loading images and videos, playing sounds and
|
||||
music." )
|
||||
(license license:bsd-3)))
|
||||
|
||||
;;;
|
||||
;;; Avoid adding new packages to the end of this file. To reduce the chances
|
||||
|
|
Loading…
Reference in a new issue