* [bug#50505] [PATCH 00/12] gnu: Add python-manim
@ 2021-09-10 11:22 Daniel Meißner via Guix-patches via
2021-09-10 11:24 ` [bug#50505] [PATCH 01/12] gnu: Add python-cloup Daniel Meißner via Guix-patches via
` (17 more replies)
0 siblings, 18 replies; 59+ messages in thread
From: Daniel Meißner via Guix-patches via @ 2021-09-10 11:22 UTC (permalink / raw)
To: 50505; +Cc: Daniel Meißner
Hi Guix!
This patch series adds the necessary packages for Manim, an animation engine
for mathematical animations which can be used in educational maths videos. I
have read the "Submitting Patches" section in the Guix manual and have
confirmed that the packages build as expected. However, I have disabled tests
for the following packages:
* python-manim
* python-mapbox-earcut
* python-moderngl-window
* python-pyglet
* python-moderngl
This is either because they need a DISPLAY to conduct the tests or because the
tests are failing and I don't know how to fix it. Your help will be
appreciated :)
Thanks,
Daniel
Daniel Meißner (12):
gnu: Add python-cloup.
gnu: Add python-cloup-0.7.
gnu: Add python-glcontext.
gnu: Add python-moderngl.
gnu: Add python-pyglet.
gnu: Add python-multipledispatch.
gnu: Add python-pyrr.
gnu: Add python-screeninfo.
gnu: Add python-moderngl-window.
gnu: Add python-manimpango.
gnu: Add python-mapbox-earcut.
gnu: Add python-manim 0.9.0.
gnu/local.mk | 2 +
.../python-manimpango-remove-manim-dep.patch | 172 +++++++++++
gnu/packages/python-science.scm | 82 +++++
gnu/packages/python-xyz.scm | 289 ++++++++++++++++++
4 files changed, 545 insertions(+)
create mode 100644 gnu/packages/patches/python-manimpango-remove-manim-dep.patch
--
2.33.0
^ permalink raw reply [flat|nested] 59+ messages in thread
* [bug#50505] [PATCH 01/12] gnu: Add python-cloup.
2021-09-10 11:22 [bug#50505] [PATCH 00/12] gnu: Add python-manim Daniel Meißner via Guix-patches via
@ 2021-09-10 11:24 ` Daniel Meißner via Guix-patches via
2021-09-10 11:24 ` [bug#50505] [PATCH 02/12] gnu: Add python-cloup-0.7 Daniel Meißner via Guix-patches via
` (11 more replies)
2021-09-10 14:40 ` [bug#50505] [PATCH 00/12] gnu: Add python-manim Liliana Marie Prikler
` (16 subsequent siblings)
17 siblings, 12 replies; 59+ messages in thread
From: Daniel Meißner via Guix-patches via @ 2021-09-10 11:24 UTC (permalink / raw)
To: 50505; +Cc: Daniel Meißner
* gnu/packages/python-xyz.scm (python-cloup): New variable.
---
gnu/packages/python-science.scm | 1 +
gnu/packages/python-xyz.scm | 31 +++++++++++++++++++++++++++++++
2 files changed, 32 insertions(+)
diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm
index 738b504e3b..d3730fadcc 100644
--- a/gnu/packages/python-science.scm
+++ b/gnu/packages/python-science.scm
@@ -14,6 +14,7 @@
;;; Copyright © 2021 Roel Janssen <roel@gnu.org>
;;; Copyright © 2021 Paul Garlick <pgarlick@tourbillion-technology.com>
;;; Copyright © 2021 Arun Isaac <arunisaac@systemreboot.net>
+;;; Copyright © 2021 Daniel Meißner <daniel.meissner-i4k@ruhr-uni-bochum.de>
;;;
;;; This file is part of GNU Guix.
;;;
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index e98eec19bc..6c7ab10216 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -3308,6 +3308,37 @@ with sensible defaults out of the box.")
(base32 "0njsm0wn31l21bi118g5825ma5sa3rwn7v2x4wjd7yiiahkri337"))))
(arguments `())))
+(define-public python-cloup
+ (package
+ (name "python-cloup")
+ (version "0.11.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "cloup" version))
+ (sha256
+ (base32
+ "07kxw81bml137w9bfmwkjbdzbldkk1k1lws82wffz9244pp7k8ib"))))
+ (build-system python-build-system)
+ (arguments
+ '(#:phases (modify-phases %standard-phases
+ ;; test phase fails with "error: invalid command pytest"
+ (delete 'check))))
+ (propagated-inputs
+ `(("python-click" ,python-click)))
+ (native-inputs
+ `(("python-setuptools" ,python-setuptools)
+ ("python-setuptools-scm" ,python-setuptools-scm/next)
+ ("python-pytest" ,python-pytest)))
+ (home-page "https://github.com/janLuke/cloup")
+ (synopsis "Extension library for python-click")
+ (description
+ "Cloup — originally from \"Click + option groups\" — enriches Click with
+several features that make it more expressive and configurable: option groups,
+constraints, subcommand aliases, subcommands sections and a themeable
+HelpFormatter.")
+ (license license:bsd-3)))
+
(define-public python-vcversioner
(package
(name "python-vcversioner")
--
2.33.0
^ permalink raw reply related [flat|nested] 59+ messages in thread
* [bug#50505] [PATCH 02/12] gnu: Add python-cloup-0.7.
2021-09-10 11:24 ` [bug#50505] [PATCH 01/12] gnu: Add python-cloup Daniel Meißner via Guix-patches via
@ 2021-09-10 11:24 ` Daniel Meißner via Guix-patches via
2021-09-10 11:24 ` [bug#50505] [PATCH 03/12] gnu: Add python-glcontext Daniel Meißner via Guix-patches via
` (10 subsequent siblings)
11 siblings, 0 replies; 59+ messages in thread
From: Daniel Meißner via Guix-patches via @ 2021-09-10 11:24 UTC (permalink / raw)
To: 50505; +Cc: Daniel Meißner
* gnu/packages/python-xyz.scm (python-cloup-0.7): New variable.
---
gnu/packages/python-xyz.scm | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 6c7ab10216..75646aec7f 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -3339,6 +3339,18 @@ constraints, subcommand aliases, subcommands sections and a themeable
HelpFormatter.")
(license license:bsd-3)))
+(define-public python-cloup-0.7
+ (package (inherit python-cloup)
+ (name "python-cloup-0.7")
+ (version "0.7.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "cloup" version))
+ (sha256
+ (base32
+ "0yyxibwlxmdkm4866fm4rwpdgy3d6y18n061992ckr54vl0cav7j"))))))
+
(define-public python-vcversioner
(package
(name "python-vcversioner")
--
2.33.0
^ permalink raw reply related [flat|nested] 59+ messages in thread
* [bug#50505] [PATCH 03/12] gnu: Add python-glcontext.
2021-09-10 11:24 ` [bug#50505] [PATCH 01/12] gnu: Add python-cloup Daniel Meißner via Guix-patches via
2021-09-10 11:24 ` [bug#50505] [PATCH 02/12] gnu: Add python-cloup-0.7 Daniel Meißner via Guix-patches via
@ 2021-09-10 11:24 ` Daniel Meißner via Guix-patches via
2021-09-11 19:42 ` Xinglu Chen
2021-09-10 11:24 ` [bug#50505] [PATCH 04/12] gnu: Add python-moderngl Daniel Meißner via Guix-patches via
` (9 subsequent siblings)
11 siblings, 1 reply; 59+ messages in thread
From: Daniel Meißner via Guix-patches via @ 2021-09-10 11:24 UTC (permalink / raw)
To: 50505; +Cc: Daniel Meißner
* gnu/packages/python-xyz.scm (python-glcontext): New variable.
---
gnu/packages/python-xyz.scm | 46 +++++++++++++++++++++++++++++++++++++
1 file changed, 46 insertions(+)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 75646aec7f..251aad5b61 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -18884,6 +18884,52 @@ 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)
+ (substitute* '("glcontext/x11.cpp" "glcontext/egl.cpp")
+ (("\"libGL.so\"")
+ (string-append "\"" (assoc-ref inputs "mesa") "/lib/libGL.so\""))
+ (("\"libEGL.so\"")
+ (string-append "\"" (assoc-ref inputs "mesa") "/lib/libEGL.so\""))
+ (("\"libX11.so\"")
+ (string-append "\"" (assoc-ref inputs "libx11") "/lib/libX11.so\"")))
+ (substitute* '("glcontext/__init__.py")
+ (("find_library\\('GL'\\)")
+ (string-append "'" (assoc-ref inputs "mesa") "/lib/libGL.so'"))
+ (("find_library\\('EGL'\\)")
+ (string-append "'" (assoc-ref inputs "mesa") "/lib/libEGL.so'"))
+ (("find_library\\(\"X11\"\\)")
+ (string-append "'" (assoc-ref inputs "libx11") "/lib/libX11.so'")))
+ #t))
+ ;; tests fail with: Exception: (standalone) XOpenDisplay: cannot open display
+ (delete 'check))))
+ (inputs
+ `(("libx11" ,libx11)
+ ("mesa" ,mesa)))
+ (home-page "https://github.com/moderngl/glcontext")
+ (synopsis "Portable OpenGL Context for ModernGL")
+ (description "Python-glcontext is a library providing OpenGL implementation
+for ModernGL on multiple platforms.")
+ (license license:expat)))
+
(define-public python-rencode
(package
(name "python-rencode")
--
2.33.0
^ permalink raw reply related [flat|nested] 59+ messages in thread
* [bug#50505] [PATCH 04/12] gnu: Add python-moderngl.
2021-09-10 11:24 ` [bug#50505] [PATCH 01/12] gnu: Add python-cloup Daniel Meißner via Guix-patches via
2021-09-10 11:24 ` [bug#50505] [PATCH 02/12] gnu: Add python-cloup-0.7 Daniel Meißner via Guix-patches via
2021-09-10 11:24 ` [bug#50505] [PATCH 03/12] gnu: Add python-glcontext Daniel Meißner via Guix-patches via
@ 2021-09-10 11:24 ` Daniel Meißner via Guix-patches via
2021-09-11 19:46 ` Xinglu Chen
2021-09-10 11:24 ` [bug#50505] [PATCH 05/12] gnu: Add python-pyglet Daniel Meißner via Guix-patches via
` (8 subsequent siblings)
11 siblings, 1 reply; 59+ messages in thread
From: Daniel Meißner via Guix-patches via @ 2021-09-10 11:24 UTC (permalink / raw)
To: 50505; +Cc: Daniel Meißner
* gnu/packages/python-xyz.scm (python-moderngl): New variable.
---
gnu/packages/python-xyz.scm | 27 +++++++++++++++++++++++++++
1 file changed, 27 insertions(+)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 251aad5b61..394f30226f 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -18930,6 +18930,33 @@ library.")
for ModernGL on multiple platforms.")
(license license:expat)))
+(define-public python-moderngl
+ (package
+ (name "python-moderngl")
+ (version "5.6.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "moderngl" version))
+ (sha256
+ (base32
+ "1ysinnyr3rkdisbihdrn1623l3rw45nx8p2j31dgffsykxah8vcc"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-glcontext" ,python-glcontext)))
+ (home-page
+ "https://github.com/moderngl/moderngl")
+ (synopsis
+ "Python wrapper for OpenGL")
+ (description "ModernGL is a python wrapper over OpenGL 3.3+ core that
+simplifies the creation of simple graphics applications like scientific
+simulations, games or user interfaces. Usually, acquiring in-depth knowledge
+of OpenGL requires a steep learning curve. In contrast, ModernGL is easy to
+learn and use, moreover it is capable of rendering with high performance and
+quality, with less code written. The majority of the moderngl code base is
+also written in C++ for high performance.")
+ (license license:expat)))
+
(define-public python-rencode
(package
(name "python-rencode")
--
2.33.0
^ permalink raw reply related [flat|nested] 59+ messages in thread
* [bug#50505] [PATCH 05/12] gnu: Add python-pyglet.
2021-09-10 11:24 ` [bug#50505] [PATCH 01/12] gnu: Add python-cloup Daniel Meißner via Guix-patches via
` (2 preceding siblings ...)
2021-09-10 11:24 ` [bug#50505] [PATCH 04/12] gnu: Add python-moderngl Daniel Meißner via Guix-patches via
@ 2021-09-10 11:24 ` Daniel Meißner via Guix-patches via
2021-09-11 19:49 ` Xinglu Chen
2021-09-10 11:24 ` [bug#50505] [PATCH 06/12] gnu: Add python-multipledispatch Daniel Meißner via Guix-patches via
` (7 subsequent siblings)
11 siblings, 1 reply; 59+ messages in thread
From: Daniel Meißner via Guix-patches via @ 2021-09-10 11:24 UTC (permalink / raw)
To: 50505; +Cc: Daniel Meißner
* gnu/packages/python-xyz.scm (python-pyglet): New variable.
---
gnu/packages/python-xyz.scm | 42 +++++++++++++++++++++++++++++++++++++
1 file changed, 42 insertions(+)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 394f30226f..e1e676490b 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -18957,6 +18957,48 @@ quality, with less code written. The majority of the moderngl code base is
also written in C++ for high performance.")
(license license:expat)))
+(define-public python-pyglet
+ (package
+ (name "python-pyglet")
+ (version "1.5.18")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "pyglet" version ".zip"))
+ (sha256
+ (base32
+ "044ib8x6pv5rjwj210hq37ry7vi5bizmqkkv1zj8967prk5ii8sq"))))
+ (build-system python-build-system)
+ (arguments
+ '(;; tests fail with: TypeError: don't know how to make test from:
+ ;; <pyglet._ModuleProxy object at ...>
+ #:tests? #f
+ #:phases (modify-phases %standard-phases
+ (add-before 'build 'fix-lib-paths
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (substitute* '("pyglet/gl/lib_glx.py")
+ (("'GL'")
+ (string-append "\"" (assoc-ref inputs "mesa")
+ "/lib/libGL.so\""))
+ (("'GLU'")
+ (string-append "\"" (assoc-ref inputs "glu")
+ "/lib/libGLU.so\"")))
+ #t)))))
+ (inputs
+ `(("mesa" ,mesa)
+ ("glu" ,glu)))
+ (native-inputs `(("unzip" ,unzip)))
+ (home-page
+ "https://pyglet.readthedocs.io")
+ (synopsis
+ "Cross-platform windowing and multimedia Python 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, and playing sounds and
+music. All of this with a friendly Pythonic API that's simple to learn.")
+ (license license:bsd-3)))
+
(define-public python-rencode
(package
(name "python-rencode")
--
2.33.0
^ permalink raw reply related [flat|nested] 59+ messages in thread
* [bug#50505] [PATCH 06/12] gnu: Add python-multipledispatch.
2021-09-10 11:24 ` [bug#50505] [PATCH 01/12] gnu: Add python-cloup Daniel Meißner via Guix-patches via
` (3 preceding siblings ...)
2021-09-10 11:24 ` [bug#50505] [PATCH 05/12] gnu: Add python-pyglet Daniel Meißner via Guix-patches via
@ 2021-09-10 11:24 ` Daniel Meißner via Guix-patches via
2021-09-11 19:52 ` Xinglu Chen
2021-09-10 11:24 ` [bug#50505] [PATCH 07/12] gnu: Add python-pyrr Daniel Meißner via Guix-patches via
` (6 subsequent siblings)
11 siblings, 1 reply; 59+ messages in thread
From: Daniel Meißner via Guix-patches via @ 2021-09-10 11:24 UTC (permalink / raw)
To: 50505; +Cc: Daniel Meißner
* gnu/packages/python-xyz.scm (python-multipledispatch): New variable.
---
gnu/packages/python-xyz.scm | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index e1e676490b..0102dbc4bb 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -18957,6 +18957,26 @@ quality, with less code written. The majority of the moderngl code base is
also written in C++ for high performance.")
(license license:expat)))
+(define-public python-multipledispatch
+ (package
+ (name "python-multipledispatch")
+ (version "0.6.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "multipledispatch" version))
+ (sha256
+ (base32
+ "1slblghfjg9fdi9zpd7gmrkvfbv20nrdgnrymcnbky8bzm8i9ax7"))))
+ (build-system python-build-system)
+ (propagated-inputs `(("python-six" ,python-six)))
+ (home-page
+ "https://github.com/mrocklin/multipledispatch/")
+ (synopsis "Multiple dispatch library for Python")
+ (description "This library defines a decorator that makes dispatching on
+types more concise to write. ")
+ (license license:bsd-3)))
+
(define-public python-pyglet
(package
(name "python-pyglet")
--
2.33.0
^ permalink raw reply related [flat|nested] 59+ messages in thread
* [bug#50505] [PATCH 07/12] gnu: Add python-pyrr.
2021-09-10 11:24 ` [bug#50505] [PATCH 01/12] gnu: Add python-cloup Daniel Meißner via Guix-patches via
` (4 preceding siblings ...)
2021-09-10 11:24 ` [bug#50505] [PATCH 06/12] gnu: Add python-multipledispatch Daniel Meißner via Guix-patches via
@ 2021-09-10 11:24 ` Daniel Meißner via Guix-patches via
2021-09-11 19:58 ` Xinglu Chen
2021-09-10 11:24 ` [bug#50505] [PATCH 08/12] gnu: Add python-screeninfo Daniel Meißner via Guix-patches via
` (5 subsequent siblings)
11 siblings, 1 reply; 59+ messages in thread
From: Daniel Meißner via Guix-patches via @ 2021-09-10 11:24 UTC (permalink / raw)
To: 50505; +Cc: Daniel Meißner
* gnu/packages/python-xyz.scm (python-pyrr): New variable.
---
gnu/packages/python-xyz.scm | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 0102dbc4bb..eb0e67c98d 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -18977,6 +18977,31 @@ also written in C++ for high performance.")
types more concise to write. ")
(license license:bsd-3)))
+(define-public python-pyrr
+ (package
+ (name "python-pyrr")
+ (version "0.10.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "pyrr" version))
+ (sha256
+ (base32
+ "07byxkq8dcc8n6fc2q7g3vq3mxzzj0hqzm8hlq3gfwbf68h7n3rw"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-multipledispatch" ,python-multipledispatch)
+ ("python-numpy" ,python-numpy)))
+ (home-page
+ "https://github.com/adamlwgriffiths/Pyrr")
+ (synopsis
+ "Mathematical functions for 3D graphics using NumPy")
+ (description
+ "A collection of object-oriented and procedural interfaces for working
+with matrices, quaternions, vectors and plane/line/ray objects for 3D
+graphics.")
+ (license license:bsd-3)))
+
(define-public python-pyglet
(package
(name "python-pyglet")
--
2.33.0
^ permalink raw reply related [flat|nested] 59+ messages in thread
* [bug#50505] [PATCH 08/12] gnu: Add python-screeninfo.
2021-09-10 11:24 ` [bug#50505] [PATCH 01/12] gnu: Add python-cloup Daniel Meißner via Guix-patches via
` (5 preceding siblings ...)
2021-09-10 11:24 ` [bug#50505] [PATCH 07/12] gnu: Add python-pyrr Daniel Meißner via Guix-patches via
@ 2021-09-10 11:24 ` Daniel Meißner via Guix-patches via
2021-09-10 11:24 ` [bug#50505] [PATCH 09/12] gnu: Add python-moderngl-window Daniel Meißner via Guix-patches via
` (4 subsequent siblings)
11 siblings, 0 replies; 59+ messages in thread
From: Daniel Meißner via Guix-patches via @ 2021-09-10 11:24 UTC (permalink / raw)
To: 50505; +Cc: Daniel Meißner
* gnu/packages/python-xyz.scm (python-screeninfo): New variable.
---
gnu/packages/python-xyz.scm | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index eb0e67c98d..bdda967d94 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -19044,6 +19044,28 @@ Joysticks, OpenGL graphics, loading images and videos, and playing sounds and
music. All of this with a friendly Pythonic API that's simple to learn.")
(license license:bsd-3)))
+(define-public python-screeninfo
+ (package
+ (name "python-screeninfo")
+ (version "0.7")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "screeninfo" version))
+ (sha256
+ (base32
+ "007m7sqv30qak56885dxbijksrg2hd121hfpvg2llm734wspra8j"))))
+ (build-system python-build-system)
+ (native-inputs `(("python-pytest" ,python-pytest)))
+ (home-page "https://github.com/rr-/screeninfo")
+ (synopsis
+ "Obtain information about physical screens")
+ (description
+ "This python module provides means to access information about physical
+screens like resolution, height and width of the screen, connecting port
+etc.")
+ (license (list license:expat license:bsd-3))))
+
(define-public python-rencode
(package
(name "python-rencode")
--
2.33.0
^ permalink raw reply related [flat|nested] 59+ messages in thread
* [bug#50505] [PATCH 09/12] gnu: Add python-moderngl-window.
2021-09-10 11:24 ` [bug#50505] [PATCH 01/12] gnu: Add python-cloup Daniel Meißner via Guix-patches via
` (6 preceding siblings ...)
2021-09-10 11:24 ` [bug#50505] [PATCH 08/12] gnu: Add python-screeninfo Daniel Meißner via Guix-patches via
@ 2021-09-10 11:24 ` Daniel Meißner via Guix-patches via
2021-09-10 11:25 ` [bug#50505] [PATCH 10/12] gnu: Add python-manimpango Daniel Meißner via Guix-patches via
` (3 subsequent siblings)
11 siblings, 0 replies; 59+ messages in thread
From: Daniel Meißner via Guix-patches via @ 2021-09-10 11:24 UTC (permalink / raw)
To: 50505; +Cc: Daniel Meißner
* gnu/packages/python-xyz.scm (python-moderngl-window): New variable.
---
gnu/packages/python-xyz.scm | 35 +++++++++++++++++++++++++++++++++++
1 file changed, 35 insertions(+)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index bdda967d94..765b3f0a57 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -19044,6 +19044,41 @@ Joysticks, OpenGL graphics, loading images and videos, and playing sounds and
music. All of this with a friendly Pythonic API that's simple to learn.")
(license license:bsd-3)))
+(define-public python-moderngl-window
+ (package
+ (name "python-moderngl-window")
+ (version "2.4.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/moderngl/moderngl-window")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1fvhm6ln3q5kl5m5q3gzfmx1kpyn054fhpcrgpqz8809dxi7pzcv"))))
+ (build-system python-build-system)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ ;; tests fail with: TypeError: don't know how to make test from:
+ ;; <moderngl_window.resources.data.DataFiles object at ...>
+ (delete 'check))))
+ (propagated-inputs
+ `(("python-pillow" ,python-pillow)
+ ("python-pyrr" ,python-pyrr)
+ ("python-numpy" ,python-numpy)
+ ("python-moderngl" ,python-moderngl)
+ ("python-pyglet" ,python-pyglet)))
+ (home-page "https://github.com/moderngl/moderngl-window")
+ (synopsis "Cross-platform utility library for ModernGL")
+ (description "This ModernGL utility library simplifies window creation and
+resource loading. You can create a window for ModernGL using pyglet, pygame,
+PySide2, GLFW, SDL2, PyQt5 or tkinter. Events are unified into a single event
+system. Resource loading includes loading of 2D textures/texture arrays,
+shaders and objects/scenes.")
+ (license license:expat)))
+
(define-public python-screeninfo
(package
(name "python-screeninfo")
--
2.33.0
^ permalink raw reply related [flat|nested] 59+ messages in thread
* [bug#50505] [PATCH 10/12] gnu: Add python-manimpango.
2021-09-10 11:24 ` [bug#50505] [PATCH 01/12] gnu: Add python-cloup Daniel Meißner via Guix-patches via
` (7 preceding siblings ...)
2021-09-10 11:24 ` [bug#50505] [PATCH 09/12] gnu: Add python-moderngl-window Daniel Meißner via Guix-patches via
@ 2021-09-10 11:25 ` Daniel Meißner via Guix-patches via
2021-09-10 11:25 ` [bug#50505] [PATCH 11/12] gnu: Add python-mapbox-earcut Daniel Meißner via Guix-patches via
` (2 subsequent siblings)
11 siblings, 0 replies; 59+ messages in thread
From: Daniel Meißner via Guix-patches via @ 2021-09-10 11:25 UTC (permalink / raw)
To: 50505; +Cc: Daniel Meißner
* gnu/packages/python-science.scm (python-manimpango): New variable.
---
gnu/local.mk | 2 +
.../python-manimpango-remove-manim-dep.patch | 172 ++++++++++++++++++
gnu/packages/python-science.scm | 28 +++
3 files changed, 202 insertions(+)
create mode 100644 gnu/packages/patches/python-manimpango-remove-manim-dep.patch
diff --git a/gnu/local.mk b/gnu/local.mk
index 175e691a63..87be4a1b0a 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -44,6 +44,7 @@
# Copyright © 2021 Arun Isaac <arunisaac@systemreboot.net>
# Copyright © 2021 Sharlatan Hellseher <sharlatanus@gmail.com>
# Copyright © 2021 Dmitry Polyakov <polyakov@liltechdude.xyz>
+# Copyright © 2021 Daniel Meißner <daniel.meissner-i4k@ruhr-uni-bochum.de>
#
# This file is part of GNU Guix.
#
@@ -1646,6 +1647,7 @@ dist_patch_DATA = \
%D%/packages/patches/python-pyfakefs-remove-bad-test.patch \
%D%/packages/patches/python-flint-includes.patch \
%D%/packages/patches/python-libxml2-utf8.patch \
+ %D%/packages/patches/python-manimpango-remove-manim-dep.patch \
%D%/packages/patches/python-matplotlib-run-under-wayland-gtk3.patch \
%D%/packages/patches/python-memcached-syntax-warnings.patch \
%D%/packages/patches/python-mox3-python3.6-compat.patch \
diff --git a/gnu/packages/patches/python-manimpango-remove-manim-dep.patch b/gnu/packages/patches/python-manimpango-remove-manim-dep.patch
new file mode 100644
index 0000000000..579c2302d8
--- /dev/null
+++ b/gnu/packages/patches/python-manimpango-remove-manim-dep.patch
@@ -0,0 +1,172 @@
+Fix dependency on manim for tests
+
+This fixes a circular dependency between manim and manimpango.
+
+Extracted from upstream:
+https://github.com/ManimCommunity/ManimPango/commit/7e2b17aa14b10bd58af0598cc2de51a406682797
+
+diff --git a/tests/_manim.py b/tests/_manim.py
+index 3ea4676..b11d3e9 100644
+--- a/tests/_manim.py
++++ b/tests/_manim.py
+@@ -2,11 +2,12 @@
+ """This file contains helpers for the tests copied and modified
+ from Manim.
+ """
+-
++import copy
+ import os
++import re
+ from pathlib import Path
+
+-from manimpango import Alignment, MarkupUtils
++from manimpango import Alignment, MarkupUtils, TextSetting, text2svg
+
+
+ class MarkupText:
+@@ -104,3 +105,115 @@ class MarkupText:
+
+ def __repr__(self):
+ return f"MarkupText({repr(self.original_text)})"
++
++
++class Text:
++ def __init__(
++ self,
++ text: str,
++ fill_opacity: float = 1.0,
++ stroke_width: int = 0,
++ size: int = 1,
++ line_spacing: int = -1,
++ font: str = "",
++ slant: str = "NORMAL",
++ weight: str = "NORMAL",
++ gradient: tuple = None,
++ tab_width: int = 4,
++ disable_ligatures: bool = False,
++ filename: str = "text.svg",
++ **kwargs,
++ ) -> None:
++ self.size = size
++ self.filename = filename
++ self.line_spacing = line_spacing
++ self.font = font
++ self.slant = slant
++ self.weight = weight
++ self.gradient = gradient
++ self.tab_width = tab_width
++ self.original_text = text
++ self.disable_ligatures = disable_ligatures
++ text_without_tabs = text
++ self.t2f = self.t2s = self.t2w = {}
++ if text.find("\t") != -1:
++ text_without_tabs = text.replace("\t", " " * self.tab_width)
++ self.text = text_without_tabs
++ if self.line_spacing == -1:
++ self.line_spacing = self.size + self.size * 0.3
++ else:
++ self.line_spacing = self.size + self.size * self.line_spacing
++ self.text2svg()
++
++ def text2settings(self):
++ """Internally used function. Converts the texts and styles
++ to a setting for parsing."""
++ settings = []
++ t2x = [self.t2f, self.t2s, self.t2w]
++ for i in range(len(t2x)):
++ fsw = [self.font, self.slant, self.weight]
++ if t2x[i]:
++ for word, x in list(t2x[i].items()):
++ for start, end in self.find_indexes(word, self.text):
++ fsw[i] = x
++ settings.append(TextSetting(start, end, *fsw))
++ # Set all text settings (default font, slant, weight)
++ fsw = [self.font, self.slant, self.weight]
++ settings.sort(key=lambda setting: setting.start)
++ temp_settings = settings.copy()
++ start = 0
++ for setting in settings:
++ if setting.start != start:
++ temp_settings.append(TextSetting(start, setting.start, *fsw))
++ start = setting.end
++ if start != len(self.text):
++ temp_settings.append(TextSetting(start, len(self.text), *fsw))
++ settings = sorted(temp_settings, key=lambda setting: setting.start)
++
++ if re.search(r"\n", self.text):
++ line_num = 0
++ for start, end in self.find_indexes("\n", self.text):
++ for setting in settings:
++ if setting.line_num == -1:
++ setting.line_num = line_num
++ if start < setting.end:
++ line_num += 1
++ new_setting = copy.copy(setting)
++ setting.end = end
++ new_setting.start = end
++ new_setting.line_num = line_num
++ settings.append(new_setting)
++ settings.sort(key=lambda setting: setting.start)
++ break
++ for setting in settings:
++ if setting.line_num == -1:
++ setting.line_num = 0
++ return settings
++
++ def text2svg(self):
++ """Internally used function.
++ Convert the text to SVG using Pango
++ """
++ size = self.size * 10
++ line_spacing = self.line_spacing * 10
++ dir_name = Path(self.filename).parent
++ disable_liga = self.disable_ligatures
++ if not os.path.exists(dir_name):
++ os.makedirs(dir_name)
++ file_name = self.filename
++ settings = self.text2settings()
++ width = 600
++ height = 400
++
++ return text2svg(
++ settings,
++ size,
++ line_spacing,
++ disable_liga,
++ file_name,
++ 30,
++ 30,
++ width,
++ height,
++ self.text,
++ )
+diff --git a/tests/test_fonts.py b/tests/test_fonts.py
+index 51e7eb4..da42895 100644
+--- a/tests/test_fonts.py
++++ b/tests/test_fonts.py
+@@ -3,13 +3,12 @@ import sys
+ from pathlib import Path
+ from shutil import copyfile
+
+-import manim
+ import pytest
+
+ import manimpango
+
+ from . import FONT_DIR
+-from ._manim import MarkupText
++from ._manim import MarkupText, Text
+
+ font_lists = {
+ (FONT_DIR / "AdobeVFPrototype.ttf").absolute(): "Adobe Variable Font Prototype",
+@@ -38,7 +37,7 @@ def test_register_font(font_name):
+ @pytest.mark.parametrize("font_name", font_lists.values())
+ def test_warning(capfd, font_name):
+ print(font_name)
+- manim.Text("Testing", font=font_name)
++ Text("Testing", font=font_name)
+ captured = capfd.readouterr()
+ assert "Pango-WARNING **" not in captured.err, "Looks like pango raised a warning?"
+
+--
+2.32.0
diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm
index d3730fadcc..fcd983520c 100644
--- a/gnu/packages/python-science.scm
+++ b/gnu/packages/python-science.scm
@@ -38,6 +38,7 @@
#:use-module (gnu packages check)
#:use-module (gnu packages databases)
#:use-module (gnu packages gcc)
+ #:use-module (gnu packages gtk)
#:use-module (gnu packages image-processing)
#:use-module (gnu packages machine-learning)
#:use-module (gnu packages maths)
@@ -982,3 +983,30 @@ pandas notebooks, scripts, and libraries. Unlike other distributed DataFrame
libraries, Modin provides seamless integration and compatibility with existing
pandas code.")
(license license:asl2.0)))
+
+(define-public python-manimpango
+ (package
+ (name "python-manimpango")
+ (version "0.3.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "ManimPango" version))
+ (sha256
+ (base32
+ "1j2mbhf7d82718nkc0r8x7cf35hlh13b67qkczjbbys3w24nyfsw"))
+ (patches (search-patches "python-manimpango-remove-manim-dep.patch"))))
+ (build-system python-build-system)
+ (native-inputs
+ `(("pkg-config" ,pkg-config)
+ ("Cython" ,python-cython)
+ ("python-pytest" ,python-pytest)))
+ (inputs
+ `(("pango" ,pango)))
+ (home-page "https://manimpango.manim.community/")
+ (synopsis
+ "Bindings for pango for use with Manim")
+ (description
+ "These are Python bindings for Pango to be used with the mathematical
+animation software Manim.")
+ (license license:gpl3+)))
--
2.33.0
^ permalink raw reply related [flat|nested] 59+ messages in thread
* [bug#50505] [PATCH 11/12] gnu: Add python-mapbox-earcut.
2021-09-10 11:24 ` [bug#50505] [PATCH 01/12] gnu: Add python-cloup Daniel Meißner via Guix-patches via
` (8 preceding siblings ...)
2021-09-10 11:25 ` [bug#50505] [PATCH 10/12] gnu: Add python-manimpango Daniel Meißner via Guix-patches via
@ 2021-09-10 11:25 ` Daniel Meißner via Guix-patches via
2021-09-10 11:25 ` [bug#50505] [PATCH 12/12] gnu: Add python-manim 0.9.0 Daniel Meißner via Guix-patches via
2021-09-11 19:33 ` [bug#50505] [PATCH 01/12] gnu: Add python-cloup Xinglu Chen
11 siblings, 0 replies; 59+ messages in thread
From: Daniel Meißner via Guix-patches via @ 2021-09-10 11:25 UTC (permalink / raw)
To: 50505; +Cc: Daniel Meißner
* gnu/packages/python-science.scm (python-mapbox-earcut): New variable.
---
gnu/packages/python-xyz.scm | 29 +++++++++++++++++++++++++++++
1 file changed, 29 insertions(+)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 765b3f0a57..00ed032855 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -19079,6 +19079,35 @@ system. Resource loading includes loading of 2D textures/texture arrays,
shaders and objects/scenes.")
(license license:expat)))
+(define-public python-mapbox-earcut
+ (package
+ (name "python-mapbox-earcut")
+ (version "0.12.10")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "mapbox_earcut" version))
+ (sha256
+ (base32
+ "0ly48lijgd9inq07x42pfp9c24fn16vn9axpmfwqrkn979krbnah"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-numpy" ,python-numpy)))
+ (native-inputs
+ `(("python-pytest" ,python-pytest)
+ ("python-wheel" ,python-wheel)
+ ("setuptools-scm" ,python-setuptools-scm)
+ ("cmake" ,cmake)))
+ (home-page
+ "https://github.com/skogler/mapbox_earcut_python")
+ (synopsis
+ "Python bindings for the Mapbox Earcut C++ polygon triangulation library")
+ (description
+ "The Mapbox Earcut library is a header-only C++ library which provides a
+fast and robust triangulation of 2D polygons. This package provides Python
+bindings for this library.")
+ (license license:isc)))
+
(define-public python-screeninfo
(package
(name "python-screeninfo")
--
2.33.0
^ permalink raw reply related [flat|nested] 59+ messages in thread
* [bug#50505] [PATCH 12/12] gnu: Add python-manim 0.9.0.
2021-09-10 11:24 ` [bug#50505] [PATCH 01/12] gnu: Add python-cloup Daniel Meißner via Guix-patches via
` (9 preceding siblings ...)
2021-09-10 11:25 ` [bug#50505] [PATCH 11/12] gnu: Add python-mapbox-earcut Daniel Meißner via Guix-patches via
@ 2021-09-10 11:25 ` Daniel Meißner via Guix-patches via
2021-09-11 19:33 ` [bug#50505] [PATCH 01/12] gnu: Add python-cloup Xinglu Chen
11 siblings, 0 replies; 59+ messages in thread
From: Daniel Meißner via Guix-patches via @ 2021-09-10 11:25 UTC (permalink / raw)
To: 50505; +Cc: Daniel Meißner
* gnu/packages/python-science.scm (python-manim): New variable.
---
gnu/packages/python-science.scm | 53 +++++++++++++++++++++++++++++++++
1 file changed, 53 insertions(+)
diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm
index fcd983520c..d653ebca95 100644
--- a/gnu/packages/python-science.scm
+++ b/gnu/packages/python-science.scm
@@ -36,6 +36,7 @@
#:use-module (gnu packages)
#:use-module (gnu packages base)
#:use-module (gnu packages check)
+ #:use-module (gnu packages cmake)
#:use-module (gnu packages databases)
#:use-module (gnu packages gcc)
#:use-module (gnu packages gtk)
@@ -1010,3 +1011,55 @@ pandas code.")
"These are Python bindings for Pango to be used with the mathematical
animation software Manim.")
(license license:gpl3+)))
+
+(define-public python-manim
+ (package
+ (name "python-manim")
+ (version "0.9.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "manim" version))
+ (sha256
+ (base32
+ "0ksp57wcy45xkjips5i4wwm690mhbs2dmlcgsbmiwx78mfk4z0r3"))))
+ (build-system python-build-system)
+ (arguments '(;; tests fail with:
+ ;; pyglet.canvas.xlib.NoSuchDisplayException: Cannot connect
+ ;; to "None"
+ #:tests? #f))
+ (propagated-inputs
+ `(("python-click" ,python-click)
+ ("python-click-default-group"
+ ,python-click-default-group)
+ ("python-cloup" ,python-cloup-0.7)
+ ("python-colour" ,python-colour)
+ ("python-decorator" ,python-decorator)
+ ("python-manimpango" ,python-manimpango)
+ ("python-mapbox-earcut" ,python-mapbox-earcut)
+ ("python-moderngl" ,python-moderngl)
+ ("python-moderngl-window"
+ ,python-moderngl-window)
+ ("python-networkx" ,python-networkx)
+ ("python-numpy" ,python-numpy)
+ ("python-pillow" ,python-pillow)
+ ("python-pycairo" ,python-pycairo)
+ ("python-pydub" ,python-pydub)
+ ("python-pygments" ,python-pygments)
+ ("python-requests" ,python-requests)
+ ("python-rich" ,python-rich)
+ ("python-scipy" ,python-scipy)
+ ("python-screeninfo" ,python-screeninfo)
+ ("python-tqdm" ,python-tqdm)
+ ("python-watchdog" ,python-watchdog)))
+ (native-inputs
+ `(("python-wheel" ,python-wheel)))
+ (home-page "https://www.manim.community/")
+ (synopsis
+ "Python animation engine for explanatory math videos")
+ (description
+ "Manim is a Python library for creating mathematical animations. The
+animations are written as Python code which is based on predefined objects.
+You can make animations with maths formulas (LaTeX-based), simple shapes, 3D
+objects, function graphs and more.")
+ (license license:expat)))
--
2.33.0
^ permalink raw reply related [flat|nested] 59+ messages in thread
* [bug#50505] [PATCH 00/12] gnu: Add python-manim
2021-09-10 11:22 [bug#50505] [PATCH 00/12] gnu: Add python-manim Daniel Meißner via Guix-patches via
2021-09-10 11:24 ` [bug#50505] [PATCH 01/12] gnu: Add python-cloup Daniel Meißner via Guix-patches via
@ 2021-09-10 14:40 ` Liliana Marie Prikler
2021-09-13 14:30 ` Daniel Meißner via Guix-patches via
2021-09-15 15:25 ` [bug#50505] [PATCH v2 00/13] " Daniel Meißner via Guix-patches via
` (15 subsequent siblings)
17 siblings, 1 reply; 59+ messages in thread
From: Liliana Marie Prikler @ 2021-09-10 14:40 UTC (permalink / raw)
To: Daniel Meißner, 50505
Hi Daniel,
Am Freitag, den 10.09.2021, 13:22 +0200 schrieb Daniel Meißner:
> Hi Guix!
>
> This patch series adds the necessary packages for Manim, an animation
> engine for mathematical animations which can be used in educational
> maths videos. I have read the "Submitting Patches" section in the
> Guix manual and have confirmed that the packages build as
> expected. However, I have disabled tests for the following packages:
>
> * python-manim
> * python-mapbox-earcut
> * python-moderngl-window
> * python-pyglet
> * python-moderngl
>
> This is either because they need a DISPLAY to conduct the tests or
> because the tests are failing and I don't know how to fix it. Your
> help will be appreciated :)
For the tests that need DISPLAY, the usual thing we do here is to spawn
an Xvfb for display :1 and set DISPLAY accordingly. There are several
variants depending on what exactly else you need (some with dbus, some
without), simply grep for "xorg-server-for-tests" and you ought to find
one that fits your needs.
Once we find out the packages that fail regardless, that have no easy
fix, it is still acceptable to fix a few failing tests manually by
patching the test suite, or if all else fails use `#:tests? #f' with an
appropriate comment.
Regards
^ permalink raw reply [flat|nested] 59+ messages in thread
* [bug#50505] [PATCH 01/12] gnu: Add python-cloup.
2021-09-10 11:24 ` [bug#50505] [PATCH 01/12] gnu: Add python-cloup Daniel Meißner via Guix-patches via
` (10 preceding siblings ...)
2021-09-10 11:25 ` [bug#50505] [PATCH 12/12] gnu: Add python-manim 0.9.0 Daniel Meißner via Guix-patches via
@ 2021-09-11 19:33 ` Xinglu Chen
2021-09-15 14:54 ` Daniel Meißner via Guix-patches via
11 siblings, 1 reply; 59+ messages in thread
From: Xinglu Chen @ 2021-09-11 19:33 UTC (permalink / raw)
To: 50505; +Cc: Daniel Meißner
[-- Attachment #1.1: Type: text/plain, Size: 2717 bytes --]
On Fri, Sep 10 2021, Daniel Meißner via Guix-patches via wrote:
> * gnu/packages/python-xyz.scm (python-cloup): New variable.
> ---
> gnu/packages/python-science.scm | 1 +
> gnu/packages/python-xyz.scm | 31 +++++++++++++++++++++++++++++++
> 2 files changed, 32 insertions(+)
>
> diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm
> index 738b504e3b..d3730fadcc 100644
> --- a/gnu/packages/python-science.scm
> +++ b/gnu/packages/python-science.scm
> @@ -14,6 +14,7 @@
> ;;; Copyright © 2021 Roel Janssen <roel@gnu.org>
> ;;; Copyright © 2021 Paul Garlick <pgarlick@tourbillion-technology.com>
> ;;; Copyright © 2021 Arun Isaac <arunisaac@systemreboot.net>
> +;;; Copyright © 2021 Daniel Meißner <daniel.meissner-i4k@ruhr-uni-bochum.de>
> ;;;
> ;;; This file is part of GNU Guix.
> ;;;
> diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
> index e98eec19bc..6c7ab10216 100644
> --- a/gnu/packages/python-xyz.scm
> +++ b/gnu/packages/python-xyz.scm
> @@ -3308,6 +3308,37 @@ with sensible defaults out of the box.")
> (base32 "0njsm0wn31l21bi118g5825ma5sa3rwn7v2x4wjd7yiiahkri337"))))
> (arguments `())))
>
> +(define-public python-cloup
> + (package
> + (name "python-cloup")
> + (version "0.11.0")
> + (source
> + (origin
> + (method url-fetch)
> + (uri (pypi-uri "cloup" version))
> + (sha256
> + (base32
> + "07kxw81bml137w9bfmwkjbdzbldkk1k1lws82wffz9244pp7k8ib"))))
> + (build-system python-build-system)
> + (arguments
> + '(#:phases (modify-phases %standard-phases
> + ;; test phase fails with "error: invalid command pytest"
> + (delete 'check))))
The tests run after applying the attached patch. I also took the
liberty of fixing the formatting of the synopsis and description. :-)
> + (propagated-inputs
> + `(("python-click" ,python-click)))
> + (native-inputs
> + `(("python-setuptools" ,python-setuptools)
> + ("python-setuptools-scm" ,python-setuptools-scm/next)
> + ("python-pytest" ,python-pytest)))
> + (home-page "https://github.com/janLuke/cloup")
> + (synopsis "Extension library for python-click")
> + (description
> + "Cloup — originally from \"Click + option groups\" — enriches Click with
> +several features that make it more expressive and configurable: option groups,
> +constraints, subcommand aliases, subcommands sections and a themeable
> +HelpFormatter.")
> + (license license:bsd-3)))
> +
> (define-public python-vcversioner
> (package
> (name "python-vcversioner")
> --
> 2.33.0
[-- Attachment #1.2: 0001-gnu-Add-python-cloup.patch --]
[-- Type: text/x-patch, Size: 2936 bytes --]
From 574d6706ee0472b2e5e10a42af9bf9ded017a3f1 Mon Sep 17 00:00:00 2001
Message-Id: <574d6706ee0472b2e5e10a42af9bf9ded017a3f1.1631388580.git.public@yoctocell.xyz>
From: =?UTF-8?q?Daniel=20Mei=C3=9Fner=20via=20Guix-patches=20via?=
<guix-patches@gnu.org>
Date: Fri, 10 Sep 2021 13:24:51 +0200
Subject: [PATCH] gnu: Add python-cloup.
* gnu/packages/python-xyz.scm (python-cloup): New variable.
Co-authored-by: Xinglu Chen <public@yoctocell.xyz>
---
gnu/packages/python-science.scm | 1 +
gnu/packages/python-xyz.scm | 35 +++++++++++++++++++++++++++++++++
2 files changed, 36 insertions(+)
diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm
index 738b504e3b..d3730fadcc 100644
--- a/gnu/packages/python-science.scm
+++ b/gnu/packages/python-science.scm
@@ -14,6 +14,7 @@
;;; Copyright © 2021 Roel Janssen <roel@gnu.org>
;;; Copyright © 2021 Paul Garlick <pgarlick@tourbillion-technology.com>
;;; Copyright © 2021 Arun Isaac <arunisaac@systemreboot.net>
+;;; Copyright © 2021 Daniel Meißner <daniel.meissner-i4k@ruhr-uni-bochum.de>
;;;
;;; This file is part of GNU Guix.
;;;
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 7c70829de9..2db7ccc0ee 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -3307,6 +3307,41 @@ with sensible defaults out of the box.")
(base32 "0njsm0wn31l21bi118g5825ma5sa3rwn7v2x4wjd7yiiahkri337"))))
(arguments `())))
+(define-public python-cloup
+ (package
+ (name "python-cloup")
+ (version "0.11.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "cloup" version))
+ (sha256
+ (base32
+ "07kxw81bml137w9bfmwkjbdzbldkk1k1lws82wffz9244pp7k8ib"))))
+ (build-system python-build-system)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key inputs outputs tests? #:allow-other-keys)
+ (when tests?
+ (add-installed-pythonpath inputs outputs)
+ (invoke "python" "-m" "pytest")))))))
+ (propagated-inputs
+ `(("python-click" ,python-click)))
+ (native-inputs
+ `(("python-setuptools" ,python-setuptools)
+ ("python-setuptools-scm" ,python-setuptools-scm/next)
+ ("python-pytest" ,python-pytest)))
+ (home-page "https://github.com/janLuke/cloup")
+ (synopsis "Extension library for @code{python-click}")
+ (description
+ "Cloup---originally from ``Click + option groups''---enriches
+@code{python-click} with several features that make it more expressive and
+configurable: option groups, constraints, subcommand aliases, subcommands
+sections, and a themeable @code{HelpFormatter}.")
+ (license license:bsd-3)))
+
(define-public python-vcversioner
(package
(name "python-vcversioner")
--
2.33.0
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 861 bytes --]
^ permalink raw reply related [flat|nested] 59+ messages in thread
* [bug#50505] [PATCH 03/12] gnu: Add python-glcontext.
2021-09-10 11:24 ` [bug#50505] [PATCH 03/12] gnu: Add python-glcontext Daniel Meißner via Guix-patches via
@ 2021-09-11 19:42 ` Xinglu Chen
0 siblings, 0 replies; 59+ messages in thread
From: Xinglu Chen @ 2021-09-11 19:42 UTC (permalink / raw)
To: 50505; +Cc: Daniel Meißner
[-- Attachment #1: Type: text/plain, Size: 2961 bytes --]
On Fri, Sep 10 2021, Daniel Meißner via Guix-patches via wrote:
> * gnu/packages/python-xyz.scm (python-glcontext): New variable.
> ---
> gnu/packages/python-xyz.scm | 46 +++++++++++++++++++++++++++++++++++++
> 1 file changed, 46 insertions(+)
>
> diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
> index 75646aec7f..251aad5b61 100644
> --- a/gnu/packages/python-xyz.scm
> +++ b/gnu/packages/python-xyz.scm
> @@ -18884,6 +18884,52 @@ 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)
> + (substitute* '("glcontext/x11.cpp" "glcontext/egl.cpp")
> + (("\"libGL.so\"")
> + (string-append "\"" (assoc-ref inputs "mesa") "/lib/libGL.so\""))
> + (("\"libEGL.so\"")
> + (string-append "\"" (assoc-ref inputs "mesa") "/lib/libEGL.so\""))
> + (("\"libX11.so\"")
> + (string-append "\"" (assoc-ref inputs "libx11") "/lib/libX11.so\"")))
Please keep lines =<80 columns wide. Also I would use a ‘let’ form to
avoid writing (assoc-ref inputs "mesa") twice.
> + (substitute* '("glcontext/__init__.py")
> + (("find_library\\('GL'\\)")
> + (string-append "'" (assoc-ref inputs "mesa") "/lib/libGL.so'"))
> + (("find_library\\('EGL'\\)")
> + (string-append "'" (assoc-ref inputs "mesa") "/lib/libEGL.so'"))
Likewise (‘let’ form).
> + (("find_library\\(\"X11\"\\)")
> + (string-append "'" (assoc-ref inputs "libx11") "/lib/libX11.so'")))
> + #t))
Phases don’t need to return #t once the ‘core-updates-frozen’ branch
gets merged, which should happen soon™. :-)
> + ;; tests fail with: Exception: (standalone) XOpenDisplay: cannot open display
> + (delete 'check))))
> + (inputs
> + `(("libx11" ,libx11)
> + ("mesa" ,mesa)))
> + (home-page "https://github.com/moderngl/glcontext")
> + (synopsis "Portable OpenGL Context for ModernGL")
> + (description "Python-glcontext is a library providing OpenGL implementation
> +for ModernGL on multiple platforms.")
“providing an OpenGL implementation” (missing article).
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 861 bytes --]
^ permalink raw reply [flat|nested] 59+ messages in thread
* [bug#50505] [PATCH 04/12] gnu: Add python-moderngl.
2021-09-10 11:24 ` [bug#50505] [PATCH 04/12] gnu: Add python-moderngl Daniel Meißner via Guix-patches via
@ 2021-09-11 19:46 ` Xinglu Chen
0 siblings, 0 replies; 59+ messages in thread
From: Xinglu Chen @ 2021-09-11 19:46 UTC (permalink / raw)
To: 50505; +Cc: Daniel Meißner
[-- Attachment #1: Type: text/plain, Size: 1842 bytes --]
On Fri, Sep 10 2021, Daniel Meißner via Guix-patches via wrote:
> * gnu/packages/python-xyz.scm (python-moderngl): New variable.
> ---
> gnu/packages/python-xyz.scm | 27 +++++++++++++++++++++++++++
> 1 file changed, 27 insertions(+)
>
> diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
> index 251aad5b61..394f30226f 100644
> --- a/gnu/packages/python-xyz.scm
> +++ b/gnu/packages/python-xyz.scm
> @@ -18930,6 +18930,33 @@ library.")
> for ModernGL on multiple platforms.")
> (license license:expat)))
>
> +(define-public python-moderngl
> + (package
> + (name "python-moderngl")
> + (version "5.6.4")
> + (source
> + (origin
> + (method url-fetch)
> + (uri (pypi-uri "moderngl" version))
> + (sha256
> + (base32
> + "1ysinnyr3rkdisbihdrn1623l3rw45nx8p2j31dgffsykxah8vcc"))))
> + (build-system python-build-system)
> + (propagated-inputs
> + `(("python-glcontext" ,python-glcontext)))
> + (home-page
> + "https://github.com/moderngl/moderngl")
Nit: no need for a newline :-)
> + (synopsis
> + "Python wrapper for OpenGL")
Likewise.
> + (description "ModernGL is a python wrapper over OpenGL 3.3+ core that
> +simplifies the creation of simple graphics applications like scientific
> +simulations, games or user interfaces. Usually, acquiring in-depth knowledge
> +of OpenGL requires a steep learning curve. In contrast, ModernGL is easy to
> +learn and use, moreover it is capable of rendering with high performance and
> +quality, with less code written. The majority of the moderngl code base is
> +also written in C++ for high performance.")
> + (license license:expat)))
> +
> (define-public python-rencode
> (package
> (name "python-rencode")
> --
> 2.33.0
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 861 bytes --]
^ permalink raw reply [flat|nested] 59+ messages in thread
* [bug#50505] [PATCH 05/12] gnu: Add python-pyglet.
2021-09-10 11:24 ` [bug#50505] [PATCH 05/12] gnu: Add python-pyglet Daniel Meißner via Guix-patches via
@ 2021-09-11 19:49 ` Xinglu Chen
0 siblings, 0 replies; 59+ messages in thread
From: Xinglu Chen @ 2021-09-11 19:49 UTC (permalink / raw)
To: 50505; +Cc: Daniel Meißner
[-- Attachment #1: Type: text/plain, Size: 2659 bytes --]
On Fri, Sep 10 2021, Daniel Meißner via Guix-patches via wrote:
> * gnu/packages/python-xyz.scm (python-pyglet): New variable.
> ---
> gnu/packages/python-xyz.scm | 42 +++++++++++++++++++++++++++++++++++++
> 1 file changed, 42 insertions(+)
>
> diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
> index 394f30226f..e1e676490b 100644
> --- a/gnu/packages/python-xyz.scm
> +++ b/gnu/packages/python-xyz.scm
> @@ -18957,6 +18957,48 @@ quality, with less code written. The majority of the moderngl code base is
> also written in C++ for high performance.")
> (license license:expat)))
>
> +(define-public python-pyglet
> + (package
> + (name "python-pyglet")
> + (version "1.5.18")
> + (source
> + (origin
> + (method url-fetch)
> + (uri (pypi-uri "pyglet" version ".zip"))
> + (sha256
> + (base32
> + "044ib8x6pv5rjwj210hq37ry7vi5bizmqkkv1zj8967prk5ii8sq"))))
> + (build-system python-build-system)
> + (arguments
> + '(;; tests fail with: TypeError: don't know how to make test from:
> + ;; <pyglet._ModuleProxy object at ...>
> + #:tests? #f
> + #:phases (modify-phases %standard-phases
Nit: ‘modify-phase’ is usually on its own line.
> + (add-before 'build 'fix-lib-paths
> + (lambda* (#:key inputs outputs #:allow-other-keys)
> + (substitute* '("pyglet/gl/lib_glx.py")
> + (("'GL'")
> + (string-append "\"" (assoc-ref inputs "mesa")
> + "/lib/libGL.so\""))
> + (("'GLU'")
> + (string-append "\"" (assoc-ref inputs "glu")
> + "/lib/libGLU.so\"")))
> + #t)))))
No need for trailing #t.
> + (inputs
> + `(("mesa" ,mesa)
> + ("glu" ,glu)))
> + (native-inputs `(("unzip" ,unzip)))
> + (home-page
> + "https://pyglet.readthedocs.io")
No need for a newline.
> + (synopsis
> + "Cross-platform windowing and multimedia Python 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, and playing sounds and
> +music. All of this with a friendly Pythonic API that's simple to learn.")
> + (license license:bsd-3)))
> +
> (define-public python-rencode
> (package
> (name "python-rencode")
> --
> 2.33.0
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 861 bytes --]
^ permalink raw reply [flat|nested] 59+ messages in thread
* [bug#50505] [PATCH 06/12] gnu: Add python-multipledispatch.
2021-09-10 11:24 ` [bug#50505] [PATCH 06/12] gnu: Add python-multipledispatch Daniel Meißner via Guix-patches via
@ 2021-09-11 19:52 ` Xinglu Chen
0 siblings, 0 replies; 59+ messages in thread
From: Xinglu Chen @ 2021-09-11 19:52 UTC (permalink / raw)
To: 50505; +Cc: Daniel Meißner
[-- Attachment #1: Type: text/plain, Size: 1599 bytes --]
On Fri, Sep 10 2021, Daniel Meißner via Guix-patches via wrote:
> * gnu/packages/python-xyz.scm (python-multipledispatch): New variable.
> ---
> gnu/packages/python-xyz.scm | 20 ++++++++++++++++++++
> 1 file changed, 20 insertions(+)
>
> diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
> index e1e676490b..0102dbc4bb 100644
> --- a/gnu/packages/python-xyz.scm
> +++ b/gnu/packages/python-xyz.scm
> @@ -18957,6 +18957,26 @@ quality, with less code written. The majority of the moderngl code base is
> also written in C++ for high performance.")
> (license license:expat)))
>
> +(define-public python-multipledispatch
> + (package
> + (name "python-multipledispatch")
> + (version "0.6.0")
> + (source
> + (origin
> + (method url-fetch)
> + (uri (pypi-uri "multipledispatch" version))
> + (sha256
> + (base32
> + "1slblghfjg9fdi9zpd7gmrkvfbv20nrdgnrymcnbky8bzm8i9ax7"))))
> + (build-system python-build-system)
> + (propagated-inputs `(("python-six" ,python-six)))
> + (home-page
> + "https://github.com/mrocklin/multipledispatch/")
No need for a newline.
> + (synopsis "Multiple dispatch library for Python")
> + (description "This library defines a decorator that makes dispatching on
> +types more concise to write. ")
^
Trailing whitespace; ‘guix lint’ should have caught this. :-)
> + (license license:bsd-3)))
> +
> (define-public python-pyglet
> (package
> (name "python-pyglet")
> --
> 2.33.0
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 861 bytes --]
^ permalink raw reply [flat|nested] 59+ messages in thread
* [bug#50505] [PATCH 07/12] gnu: Add python-pyrr.
2021-09-10 11:24 ` [bug#50505] [PATCH 07/12] gnu: Add python-pyrr Daniel Meißner via Guix-patches via
@ 2021-09-11 19:58 ` Xinglu Chen
0 siblings, 0 replies; 59+ messages in thread
From: Xinglu Chen @ 2021-09-11 19:58 UTC (permalink / raw)
To: 50505; +Cc: Daniel Meißner
[-- Attachment #1: Type: text/plain, Size: 1969 bytes --]
On Fri, Sep 10 2021, Daniel Meißner via Guix-patches via wrote:
> * gnu/packages/python-xyz.scm (python-pyrr): New variable.
> ---
> gnu/packages/python-xyz.scm | 25 +++++++++++++++++++++++++
> 1 file changed, 25 insertions(+)
>
> diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
> index 0102dbc4bb..eb0e67c98d 100644
> --- a/gnu/packages/python-xyz.scm
> +++ b/gnu/packages/python-xyz.scm
> @@ -18977,6 +18977,31 @@ also written in C++ for high performance.")
> types more concise to write. ")
> (license license:bsd-3)))
>
> +(define-public python-pyrr
> + (package
> + (name "python-pyrr")
> + (version "0.10.3")
> + (source
> + (origin
> + (method url-fetch)
> + (uri (pypi-uri "pyrr" version))
> + (sha256
> + (base32
> + "07byxkq8dcc8n6fc2q7g3vq3mxzzj0hqzm8hlq3gfwbf68h7n3rw"))))
> + (build-system python-build-system)
> + (propagated-inputs
> + `(("python-multipledispatch" ,python-multipledispatch)
> + ("python-numpy" ,python-numpy)))
> + (home-page
> + "https://github.com/adamlwgriffiths/Pyrr")
No need for a newline :-)
> + (synopsis
> + "Mathematical functions for 3D graphics using NumPy")
Likewise.
> + (description
> + "A collection of object-oriented and procedural interfaces for working
> +with matrices, quaternions, vectors and plane/line/ray objects for 3D
> +graphics.")
The description should consist of one or more complete sentences, see
“16.4.4 Synopses and Descriptions” in the manual. Maybe
This Python package provides collection of object-oriented and
procedural interfaces for working with matrices, quaternions, vectors
and plane/line/ray objects for 3D graphics.
?
> + (license license:bsd-3)))
The LICENSE file looks more like BSD-2.
> +
> (define-public python-pyglet
> (package
> (name "python-pyglet")
> --
> 2.33.0
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 861 bytes --]
^ permalink raw reply [flat|nested] 59+ messages in thread
* [bug#50505] [PATCH 00/12] gnu: Add python-manim
2021-09-10 14:40 ` [bug#50505] [PATCH 00/12] gnu: Add python-manim Liliana Marie Prikler
@ 2021-09-13 14:30 ` Daniel Meißner via Guix-patches via
2021-09-13 14:46 ` Liliana Marie Prikler
0 siblings, 1 reply; 59+ messages in thread
From: Daniel Meißner via Guix-patches via @ 2021-09-13 14:30 UTC (permalink / raw)
To: Liliana Marie Prikler, 50505
Hi Liliana,
Liliana writes:
> For the tests that need DISPLAY, the usual thing we do here is to spawn
> an Xvfb for display :1 and set DISPLAY accordingly. There are several
> variants depending on what exactly else you need (some with dbus, some
> without), simply grep for "xorg-server-for-tests" and you ought to find
> one that fits your needs.
Thanks for your advice, I was able to spawn an Xvfb for display :1 like
you suggested but apparently, the tests for python-manim want to create
some type of cache folder. The tests now raise a different error:
`Failed to create //.cache for shader cache (Permission
denied)---disabling.' I have to investigate where this error message
comes from. I suppose I have to set some environment variable.
Nevertheless, what would be an appriopiate writable location for the
cache?
> Once we find out the packages that fail regardless, that have no easy
> fix, it is still acceptable to fix a few failing tests manually by
> patching the test suite, or if all else fails use `#:tests? #f' with an
> appropriate comment.
Alright, thank you. I will give the other tests another try.
Best Daniel
^ permalink raw reply [flat|nested] 59+ messages in thread
* [bug#50505] [PATCH 00/12] gnu: Add python-manim
2021-09-13 14:30 ` Daniel Meißner via Guix-patches via
@ 2021-09-13 14:46 ` Liliana Marie Prikler
2021-09-13 14:49 ` Liliana Marie Prikler
0 siblings, 1 reply; 59+ messages in thread
From: Liliana Marie Prikler @ 2021-09-13 14:46 UTC (permalink / raw)
To: Daniel Meißner, 50505
Hi Daniel,
Am Montag, den 13.09.2021, 16:30 +0200 schrieb Daniel Meißner:
> Hi Liliana,
>
> Liliana writes:
> > For the tests that need DISPLAY, the usual thing we do here is to
> > spawn an Xvfb for display :1 and set DISPLAY accordingly. There
> > are several variants depending on what exactly else you need (some
> > with dbus, some without), simply grep for "xorg-server-for-tests"
> > and you ought to find one that fits your needs.
>
> Thanks for your advice, I was able to spawn an Xvfb for display :1
> like you suggested but apparently, the tests for python-manim want to
> create some type of cache folder. The tests now raise a different
> error: `Failed to create //.cache for shader cache (Permission
> denied)---disabling.' I have to investigate where this error message
> comes from. I suppose I have to set some environment variable.
> Nevertheless, what would be an appriopiate writable location for the
> cache?
Normally, such tests want to write to $HOME/.cache. I'm not sure why
HOME isn't homeless-shelter in this output, but setting HOME or
XDG_CACHE_HOME appropriately ought to resolve this one.
Regards,
Liliana
^ permalink raw reply [flat|nested] 59+ messages in thread
* [bug#50505] [PATCH 00/12] gnu: Add python-manim
2021-09-13 14:46 ` Liliana Marie Prikler
@ 2021-09-13 14:49 ` Liliana Marie Prikler
2021-09-15 14:32 ` Daniel Meißner via Guix-patches via
0 siblings, 1 reply; 59+ messages in thread
From: Liliana Marie Prikler @ 2021-09-13 14:49 UTC (permalink / raw)
To: Daniel Meißner, 50505
Am Montag, den 13.09.2021, 16:46 +0200 schrieb Liliana Marie Prikler:
> Hi Daniel,
>
> Am Montag, den 13.09.2021, 16:30 +0200 schrieb Daniel Meißner:
> > Hi Liliana,
> >
> > Liliana writes:
> > > For the tests that need DISPLAY, the usual thing we do here is to
> > > spawn an Xvfb for display :1 and set DISPLAY accordingly. There
> > > are several variants depending on what exactly else you need
> > > (some with dbus, some without), simply grep for "xorg-server-for-
> > > tests" and you ought to find one that fits your needs.
> >
> > Thanks for your advice, I was able to spawn an Xvfb for display :1
> > like you suggested but apparently, the tests for python-manim want
> > to create some type of cache folder. The tests now raise a
> > different error: `Failed to create //.cache for shader cache
> > (Permission denied)---disabling.' I have to investigate where this
> > error message comes from. I suppose I have to set some environment
> > variable. Nevertheless, what would be an appriopiate writable
> > location for the cache?
> Normally, such tests want to write to $HOME/.cache. I'm not sure why
> HOME isn't homeless-shelter in this output, but setting HOME or
> XDG_CACHE_HOME appropriately ought to resolve this one.
Oops, forgot about the value, normally we do (setenv "HOME" (getcwd))
in the build directory, for XDG_CACHE_HOME that'd be (string-append
(getcwd) "/.cache"). If whatever creates this cache doesn't honour
XDG_CACHE_HOME, you'll have to find out which variable it honours or
potentially patch it.
Happy hacking!
^ permalink raw reply [flat|nested] 59+ messages in thread
* [bug#50505] [PATCH 00/12] gnu: Add python-manim
2021-09-13 14:49 ` Liliana Marie Prikler
@ 2021-09-15 14:32 ` Daniel Meißner via Guix-patches via
0 siblings, 0 replies; 59+ messages in thread
From: Daniel Meißner via Guix-patches via @ 2021-09-15 14:32 UTC (permalink / raw)
To: Liliana Marie Prikler; +Cc: 50505
Hi Liliana,
Liliana writes:
> > Normally, such tests want to write to $HOME/.cache. I'm not sure
> > why
> > HOME isn't homeless-shelter in this output, but setting HOME or
> > XDG_CACHE_HOME appropriately ought to resolve this one.
> Oops, forgot about the value, normally we do (setenv "HOME" (getcwd))
> in the build directory, for XDG_CACHE_HOME that'd be (string-append
> (getcwd) "/.cache"). If whatever creates this cache doesn't honour
> XDG_CACHE_HOME, you'll have to find out which variable it honours or
> potentially patch it.
I couldn't find the right variable to make this error message
disappear. I am not even sure where the error message comes from. It
appears somewhere during the check phase of python-pyglet. However,
turned out that this error message was not responsible for the failing
tests and the tests now pass.
Best
Daniel
^ permalink raw reply [flat|nested] 59+ messages in thread
* [bug#50505] [PATCH 01/12] gnu: Add python-cloup.
2021-09-11 19:33 ` [bug#50505] [PATCH 01/12] gnu: Add python-cloup Xinglu Chen
@ 2021-09-15 14:54 ` Daniel Meißner via Guix-patches via
0 siblings, 0 replies; 59+ messages in thread
From: Daniel Meißner via Guix-patches via @ 2021-09-15 14:54 UTC (permalink / raw)
To: Xinglu Chen; +Cc: 50505
Hi Xinglu,
thanks for your thorough review and the fix :) I will prepare a new
patchset implementing the comments.
Best
Daniel
^ permalink raw reply [flat|nested] 59+ messages in thread
* [bug#50505] [PATCH v2 00/13] Add python-manim
2021-09-10 11:22 [bug#50505] [PATCH 00/12] gnu: Add python-manim Daniel Meißner via Guix-patches via
2021-09-10 11:24 ` [bug#50505] [PATCH 01/12] gnu: Add python-cloup Daniel Meißner via Guix-patches via
2021-09-10 14:40 ` [bug#50505] [PATCH 00/12] gnu: Add python-manim Liliana Marie Prikler
@ 2021-09-15 15:25 ` Daniel Meißner via Guix-patches via
2021-09-15 15:25 ` [bug#50505] [PATCH v2 01/13] gnu: Add python-cloup Daniel Meißner via Guix-patches via
` (14 subsequent siblings)
17 siblings, 0 replies; 59+ messages in thread
From: Daniel Meißner via Guix-patches via @ 2021-09-15 15:25 UTC (permalink / raw)
To: 50505; +Cc: Daniel Meißner, Xinglu Chen, Liliana Marie Prikler
Hi!
The following patchset implements the suggestions by Xinglu and Liliana.
Main points:
* fix tests for all packages
BUT: python-moderngl-window still has some failing tests
* Fix formatting as suggested by Xinglu Chen
* Fix dependencies of python-manim and python-pyglet
Open problems:
Some of the tests of python-moderngl-window fail during `guix build
--keep-failed python-moderngl-window'. However, when changing into the build
directory and running `pytest tests' in a guix environment where the
dependencies are installed, the tests pass. Any ideas?
The package python-manim has an optional LaTeX dependency to allow LaTeX
rendering of equations. The docs[1] say that the full package list they use
is:
amsmath babel-english cbfonts-fd cm-super ctex doublestroke dvisvgm everysel
fontspec frcursive fundus-calligra gnu-freefont jknapltx latex-bin
mathastext microtype ms physics preview ragged2e relsize rsfs
setspace standalone tipa wasy wasysym xcolor xetex xkeyval
Since texlive is a relatively large package: What is the best way to deal with
this optional dependency?
1: https://docs.manim.community/en/stable/installation/linux.html#optional-dependencies
Daniel Meißner (13):
gnu: Add python-cloup.
gnu: Add python-cloup-0.7.
gnu: Add python-glcontext.
gnu: Add python-moderngl.
gnu: Add python-pyglet.
gnu: Add python-multipledispatch.
gnu: Add python-pyrr.
gnu: Add python-screeninfo.
gnu: Add python-moderngl-window.
gnu: Add python-manimpango.
gnu: Add python-mapbox-earcut.
gnu: Add python-screeninfo-0.6.
gnu: Add python-manim 0.9.0.
gnu/local.mk | 3 +
.../python-manimpango-remove-manim-dep.patch | 172 +++++++++
.../python-moderngl-window-skip-tests.patch | 62 ++++
gnu/packages/python-science.scm | 93 +++++
gnu/packages/python-xyz.scm | 341 ++++++++++++++++++
5 files changed, 671 insertions(+)
create mode 100644 gnu/packages/patches/python-manimpango-remove-manim-dep.patch
create mode 100644 gnu/packages/patches/python-moderngl-window-skip-tests.patch
--
2.33.0
^ permalink raw reply [flat|nested] 59+ messages in thread
* [bug#50505] [PATCH v2 01/13] gnu: Add python-cloup.
2021-09-10 11:22 [bug#50505] [PATCH 00/12] gnu: Add python-manim Daniel Meißner via Guix-patches via
` (2 preceding siblings ...)
2021-09-15 15:25 ` [bug#50505] [PATCH v2 00/13] " Daniel Meißner via Guix-patches via
@ 2021-09-15 15:25 ` Daniel Meißner via Guix-patches via
2021-09-15 15:25 ` [bug#50505] [PATCH v2 02/13] gnu: Add python-cloup-0.7 Daniel Meißner via Guix-patches via
` (13 subsequent siblings)
17 siblings, 0 replies; 59+ messages in thread
From: Daniel Meißner via Guix-patches via @ 2021-09-15 15:25 UTC (permalink / raw)
To: 50505; +Cc: Daniel Meißner, Xinglu Chen
* gnu/packages/python-xyz.scm (python-cloup): New variable.
Co-authored-by: Xinglu Chen <public@yoctocell.xyz>
---
gnu/packages/python-science.scm | 1 +
gnu/packages/python-xyz.scm | 35 +++++++++++++++++++++++++++++++++
2 files changed, 36 insertions(+)
diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm
index 738b504e3b..d3730fadcc 100644
--- a/gnu/packages/python-science.scm
+++ b/gnu/packages/python-science.scm
@@ -14,6 +14,7 @@
;;; Copyright © 2021 Roel Janssen <roel@gnu.org>
;;; Copyright © 2021 Paul Garlick <pgarlick@tourbillion-technology.com>
;;; Copyright © 2021 Arun Isaac <arunisaac@systemreboot.net>
+;;; Copyright © 2021 Daniel Meißner <daniel.meissner-i4k@ruhr-uni-bochum.de>
;;;
;;; This file is part of GNU Guix.
;;;
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index e98eec19bc..202cf569d5 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -3308,6 +3308,41 @@ with sensible defaults out of the box.")
(base32 "0njsm0wn31l21bi118g5825ma5sa3rwn7v2x4wjd7yiiahkri337"))))
(arguments `())))
+(define-public python-cloup
+ (package
+ (name "python-cloup")
+ (version "0.11.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "cloup" version))
+ (sha256
+ (base32
+ "07kxw81bml137w9bfmwkjbdzbldkk1k1lws82wffz9244pp7k8ib"))))
+ (build-system python-build-system)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key inputs outputs tests? #:allow-other-keys)
+ (when tests?
+ (add-installed-pythonpath inputs outputs)
+ (invoke "python" "-m" "pytest")))))))
+ (propagated-inputs
+ `(("python-click" ,python-click)))
+ (native-inputs
+ `(("python-setuptools" ,python-setuptools)
+ ("python-setuptools-scm" ,python-setuptools-scm/next)
+ ("python-pytest" ,python-pytest)))
+ (home-page "https://github.com/janLuke/cloup")
+ (synopsis "Extension library for @code{python-click}")
+ (description
+ "Cloup---originally from ``Click + option groups''---enriches
+@code{python-click} with several features that make it more expressive and
+configurable: option groups, constraints, subcommand aliases, subcommands
+sections, and a themeable @code{HelpFormatter}.")
+ (license license:bsd-3)))
+
(define-public python-vcversioner
(package
(name "python-vcversioner")
--
2.33.0
^ permalink raw reply related [flat|nested] 59+ messages in thread
* [bug#50505] [PATCH v2 02/13] gnu: Add python-cloup-0.7.
2021-09-10 11:22 [bug#50505] [PATCH 00/12] gnu: Add python-manim Daniel Meißner via Guix-patches via
` (3 preceding siblings ...)
2021-09-15 15:25 ` [bug#50505] [PATCH v2 01/13] gnu: Add python-cloup Daniel Meißner via Guix-patches via
@ 2021-09-15 15:25 ` Daniel Meißner via Guix-patches via
2021-09-15 15:25 ` [bug#50505] [PATCH v2 03/13] gnu: Add python-glcontext Daniel Meißner via Guix-patches via
` (12 subsequent siblings)
17 siblings, 0 replies; 59+ messages in thread
From: Daniel Meißner via Guix-patches via @ 2021-09-15 15:25 UTC (permalink / raw)
To: 50505; +Cc: Daniel Meißner
* gnu/packages/python-xyz.scm (python-cloup-0.7): New variable.
---
gnu/packages/python-xyz.scm | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 202cf569d5..659a02e7e6 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -3343,6 +3343,18 @@ configurable: option groups, constraints, subcommand aliases, subcommands
sections, and a themeable @code{HelpFormatter}.")
(license license:bsd-3)))
+(define-public python-cloup-0.7
+ (package (inherit python-cloup)
+ (name "python-cloup-0.7")
+ (version "0.7.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "cloup" version))
+ (sha256
+ (base32
+ "0yyxibwlxmdkm4866fm4rwpdgy3d6y18n061992ckr54vl0cav7j"))))))
+
(define-public python-vcversioner
(package
(name "python-vcversioner")
--
2.33.0
^ permalink raw reply related [flat|nested] 59+ messages in thread
* [bug#50505] [PATCH v2 03/13] gnu: Add python-glcontext.
2021-09-10 11:22 [bug#50505] [PATCH 00/12] gnu: Add python-manim Daniel Meißner via Guix-patches via
` (4 preceding siblings ...)
2021-09-15 15:25 ` [bug#50505] [PATCH v2 02/13] gnu: Add python-cloup-0.7 Daniel Meißner via Guix-patches via
@ 2021-09-15 15:25 ` Daniel Meißner via Guix-patches via
2021-09-15 15:25 ` [bug#50505] [PATCH v2 04/13] gnu: Add python-moderngl Daniel Meißner via Guix-patches via
` (11 subsequent siblings)
17 siblings, 0 replies; 59+ messages in thread
From: Daniel Meißner via Guix-patches via @ 2021-09-15 15:25 UTC (permalink / raw)
To: 50505; +Cc: Daniel Meißner
* gnu/packages/python-xyz.scm (python-glcontext): New variable.
---
gnu/packages/python-xyz.scm | 58 +++++++++++++++++++++++++++++++++++++
1 file changed, 58 insertions(+)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 659a02e7e6..09df43b41d 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -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")
--
2.33.0
^ permalink raw reply related [flat|nested] 59+ messages in thread
* [bug#50505] [PATCH v2 04/13] gnu: Add python-moderngl.
2021-09-10 11:22 [bug#50505] [PATCH 00/12] gnu: Add python-manim Daniel Meißner via Guix-patches via
` (5 preceding siblings ...)
2021-09-15 15:25 ` [bug#50505] [PATCH v2 03/13] gnu: Add python-glcontext Daniel Meißner via Guix-patches via
@ 2021-09-15 15:25 ` Daniel Meißner via Guix-patches via
2021-09-15 15:25 ` [bug#50505] [PATCH v2 05/13] gnu: Add python-pyglet Daniel Meißner via Guix-patches via
` (10 subsequent siblings)
17 siblings, 0 replies; 59+ messages in thread
From: Daniel Meißner via Guix-patches via @ 2021-09-15 15:25 UTC (permalink / raw)
To: 50505; +Cc: Daniel Meißner
* gnu/packages/python-xyz.scm (python-moderngl): New variable.
---
gnu/packages/python-xyz.scm | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 09df43b41d..f10858d315 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -18946,6 +18946,31 @@ library.")
implementation for ModernGL on multiple platforms.")
(license license:expat)))
+(define-public python-moderngl
+ (package
+ (name "python-moderngl")
+ (version "5.6.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "moderngl" version))
+ (sha256
+ (base32
+ "1ysinnyr3rkdisbihdrn1623l3rw45nx8p2j31dgffsykxah8vcc"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-glcontext" ,python-glcontext)))
+ (home-page "https://github.com/moderngl/moderngl")
+ (synopsis "Python wrapper for OpenGL")
+ (description "ModernGL is a python wrapper over OpenGL 3.3+ core that
+simplifies the creation of simple graphics applications like scientific
+simulations, games or user interfaces. Usually, acquiring in-depth knowledge
+of OpenGL requires a steep learning curve. In contrast, ModernGL is easy to
+learn and use, moreover it is capable of rendering with high performance and
+quality, with less code written. The majority of the moderngl code base is
+also written in C++ for high performance.")
+ (license license:expat)))
+
(define-public python-rencode
(package
(name "python-rencode")
--
2.33.0
^ permalink raw reply related [flat|nested] 59+ messages in thread
* [bug#50505] [PATCH v2 05/13] gnu: Add python-pyglet.
2021-09-10 11:22 [bug#50505] [PATCH 00/12] gnu: Add python-manim Daniel Meißner via Guix-patches via
` (6 preceding siblings ...)
2021-09-15 15:25 ` [bug#50505] [PATCH v2 04/13] gnu: Add python-moderngl Daniel Meißner via Guix-patches via
@ 2021-09-15 15:25 ` Daniel Meißner via Guix-patches via
2021-09-15 15:25 ` [bug#50505] [PATCH v2 06/13] gnu: Add python-multipledispatch Daniel Meißner via Guix-patches via
` (9 subsequent siblings)
17 siblings, 0 replies; 59+ messages in thread
From: Daniel Meißner via Guix-patches via @ 2021-09-15 15:25 UTC (permalink / raw)
To: 50505; +Cc: Daniel Meißner
* gnu/packages/python-xyz.scm (python-pyglet): New variable.
---
gnu/packages/python-xyz.scm | 58 +++++++++++++++++++++++++++++++++++++
1 file changed, 58 insertions(+)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index f10858d315..a48c228158 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -18971,6 +18971,64 @@ quality, with less code written. The majority of the moderngl code base is
also written in C++ for high performance.")
(license license:expat)))
+(define-public python-pyglet
+ (package
+ (name "python-pyglet")
+ (version "1.5.18")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "pyglet" version ".zip"))
+ (sha256
+ (base32
+ "044ib8x6pv5rjwj210hq37ry7vi5bizmqkkv1zj8967prk5ii8sq"))))
+ (build-system python-build-system)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'fix-lib-paths
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (substitute* '("pyglet/gl/lib_glx.py")
+ (("'GL'")
+ (string-append "\"" (assoc-ref inputs "mesa")
+ "/lib/libGL.so\""))
+ (("'GLU'")
+ (string-append "\"" (assoc-ref inputs "glu")
+ "/lib/libGLU.so\"")))
+ (substitute* '("pyglet/font/freetype_lib.py")
+ (("'freetype'")
+ (string-append "\"" (assoc-ref inputs "freetype")
+ "/lib/libfreetype.so\"")))
+ (substitute* '("pyglet/font/fontconfig.py")
+ (("'fontconfig'")
+ (string-append "\"" (assoc-ref inputs "fontconfig")
+ "/lib/libfontconfig.so\"")))))
+ (add-before 'check 'prepare-x
+ (lambda _
+ (system "Xvfb :1 &")
+ (setenv "DISPLAY" ":1")))
+ (replace 'check
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (add-installed-pythonpath inputs outputs)
+ (invoke "pytest" "tests/unit"))))))
+ (inputs
+ `(("mesa" ,mesa)
+ ("glu" ,glu)
+ ("freetype" ,freetype)
+ ("fontconfig" ,fontconfig)))
+ (native-inputs
+ `(("unzip" ,unzip)
+ ("python-pytest" ,python-pytest)
+ ("xorg-server" ,xorg-server-for-tests)))
+ (home-page "https://pyglet.readthedocs.io")
+ (synopsis "Cross-platform windowing and multimedia Python 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, and playing sounds and
+music. All of this with a friendly Pythonic API that's simple to learn.")
+ (license license:bsd-3)))
+
(define-public python-rencode
(package
(name "python-rencode")
--
2.33.0
^ permalink raw reply related [flat|nested] 59+ messages in thread
* [bug#50505] [PATCH v2 06/13] gnu: Add python-multipledispatch.
2021-09-10 11:22 [bug#50505] [PATCH 00/12] gnu: Add python-manim Daniel Meißner via Guix-patches via
` (7 preceding siblings ...)
2021-09-15 15:25 ` [bug#50505] [PATCH v2 05/13] gnu: Add python-pyglet Daniel Meißner via Guix-patches via
@ 2021-09-15 15:25 ` Daniel Meißner via Guix-patches via
2021-09-15 15:25 ` [bug#50505] [PATCH v2 07/13] gnu: Add python-pyrr Daniel Meißner via Guix-patches via
` (8 subsequent siblings)
17 siblings, 0 replies; 59+ messages in thread
From: Daniel Meißner via Guix-patches via @ 2021-09-15 15:25 UTC (permalink / raw)
To: 50505; +Cc: Daniel Meißner
* gnu/packages/python-xyz.scm (python-multipledispatch): New variable.
---
gnu/packages/python-xyz.scm | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index a48c228158..0f445e15bc 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -18971,6 +18971,25 @@ quality, with less code written. The majority of the moderngl code base is
also written in C++ for high performance.")
(license license:expat)))
+(define-public python-multipledispatch
+ (package
+ (name "python-multipledispatch")
+ (version "0.6.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "multipledispatch" version))
+ (sha256
+ (base32
+ "1slblghfjg9fdi9zpd7gmrkvfbv20nrdgnrymcnbky8bzm8i9ax7"))))
+ (build-system python-build-system)
+ (propagated-inputs `(("python-six" ,python-six)))
+ (home-page "https://github.com/mrocklin/multipledispatch/")
+ (synopsis "Multiple dispatch library for Python")
+ (description "This library defines a decorator that makes dispatching on
+types more concise to write.")
+ (license license:bsd-3)))
+
(define-public python-pyglet
(package
(name "python-pyglet")
--
2.33.0
^ permalink raw reply related [flat|nested] 59+ messages in thread
* [bug#50505] [PATCH v2 07/13] gnu: Add python-pyrr.
2021-09-10 11:22 [bug#50505] [PATCH 00/12] gnu: Add python-manim Daniel Meißner via Guix-patches via
` (8 preceding siblings ...)
2021-09-15 15:25 ` [bug#50505] [PATCH v2 06/13] gnu: Add python-multipledispatch Daniel Meißner via Guix-patches via
@ 2021-09-15 15:25 ` Daniel Meißner via Guix-patches via
2021-09-15 15:25 ` [bug#50505] [PATCH v2 08/13] gnu: Add python-screeninfo Daniel Meißner via Guix-patches via
` (7 subsequent siblings)
17 siblings, 0 replies; 59+ messages in thread
From: Daniel Meißner via Guix-patches via @ 2021-09-15 15:25 UTC (permalink / raw)
To: 50505; +Cc: Daniel Meißner
* gnu/packages/python-xyz.scm (python-pyrr): New variable.
---
gnu/packages/python-xyz.scm | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 0f445e15bc..4fa193f47e 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -18990,6 +18990,29 @@ also written in C++ for high performance.")
types more concise to write.")
(license license:bsd-3)))
+(define-public python-pyrr
+ (package
+ (name "python-pyrr")
+ (version "0.10.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "pyrr" version))
+ (sha256
+ (base32
+ "07byxkq8dcc8n6fc2q7g3vq3mxzzj0hqzm8hlq3gfwbf68h7n3rw"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-multipledispatch" ,python-multipledispatch)
+ ("python-numpy" ,python-numpy)))
+ (home-page "https://github.com/adamlwgriffiths/Pyrr")
+ (synopsis "Mathematical functions for 3D graphics using NumPy")
+ (description
+ "This Python package provides a collection of object-oriented and
+procedural interfaces for working with matrices, quaternions, vectors and
+plane/line/ray objects for 3D graphics.")
+ (license license:bsd-2)))
+
(define-public python-pyglet
(package
(name "python-pyglet")
--
2.33.0
^ permalink raw reply related [flat|nested] 59+ messages in thread
* [bug#50505] [PATCH v2 08/13] gnu: Add python-screeninfo.
2021-09-10 11:22 [bug#50505] [PATCH 00/12] gnu: Add python-manim Daniel Meißner via Guix-patches via
` (9 preceding siblings ...)
2021-09-15 15:25 ` [bug#50505] [PATCH v2 07/13] gnu: Add python-pyrr Daniel Meißner via Guix-patches via
@ 2021-09-15 15:25 ` Daniel Meißner via Guix-patches via
2021-09-15 15:25 ` [bug#50505] [PATCH v2 09/13] gnu: Add python-moderngl-window Daniel Meißner via Guix-patches via
` (6 subsequent siblings)
17 siblings, 0 replies; 59+ messages in thread
From: Daniel Meißner via Guix-patches via @ 2021-09-15 15:25 UTC (permalink / raw)
To: 50505; +Cc: Daniel Meißner
* gnu/packages/python-xyz.scm (python-screeninfo): New variable.
---
gnu/packages/python-xyz.scm | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 4fa193f47e..3a984eaa68 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -19071,6 +19071,28 @@ Joysticks, OpenGL graphics, loading images and videos, and playing sounds and
music. All of this with a friendly Pythonic API that's simple to learn.")
(license license:bsd-3)))
+(define-public python-screeninfo
+ (package
+ (name "python-screeninfo")
+ (version "0.7")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "screeninfo" version))
+ (sha256
+ (base32
+ "007m7sqv30qak56885dxbijksrg2hd121hfpvg2llm734wspra8j"))))
+ (build-system python-build-system)
+ (native-inputs `(("python-pytest" ,python-pytest)))
+ (home-page "https://github.com/rr-/screeninfo")
+ (synopsis
+ "Obtain information about physical screens")
+ (description
+ "This python module provides means to access information about physical
+screens like resolution, height and width of the screen, connecting port
+etc.")
+ (license (list license:expat license:bsd-3))))
+
(define-public python-rencode
(package
(name "python-rencode")
--
2.33.0
^ permalink raw reply related [flat|nested] 59+ messages in thread
* [bug#50505] [PATCH v2 09/13] gnu: Add python-moderngl-window.
2021-09-10 11:22 [bug#50505] [PATCH 00/12] gnu: Add python-manim Daniel Meißner via Guix-patches via
` (10 preceding siblings ...)
2021-09-15 15:25 ` [bug#50505] [PATCH v2 08/13] gnu: Add python-screeninfo Daniel Meißner via Guix-patches via
@ 2021-09-15 15:25 ` Daniel Meißner via Guix-patches via
2021-09-15 15:25 ` [bug#50505] [PATCH v2 10/13] gnu: Add python-manimpango Daniel Meißner via Guix-patches via
` (5 subsequent siblings)
17 siblings, 0 replies; 59+ messages in thread
From: Daniel Meißner via Guix-patches via @ 2021-09-15 15:25 UTC (permalink / raw)
To: 50505; +Cc: Daniel Meißner
* gnu/packages/python-xyz.scm (python-moderngl-window): New variable.
---
gnu/local.mk | 1 +
.../python-moderngl-window-skip-tests.patch | 62 +++++++++++++++++++
gnu/packages/python-xyz.scm | 49 +++++++++++++++
3 files changed, 112 insertions(+)
create mode 100644 gnu/packages/patches/python-moderngl-window-skip-tests.patch
diff --git a/gnu/local.mk b/gnu/local.mk
index 175e691a63..d738f97ca8 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1648,6 +1648,7 @@ dist_patch_DATA = \
%D%/packages/patches/python-libxml2-utf8.patch \
%D%/packages/patches/python-matplotlib-run-under-wayland-gtk3.patch \
%D%/packages/patches/python-memcached-syntax-warnings.patch \
+ %D%/packages/patches/python-moderngl-window-skip-tests.patch \
%D%/packages/patches/python-mox3-python3.6-compat.patch \
%D%/packages/patches/python-testtools.patch \
%D%/packages/patches/python-packaging-test-arch.patch \
diff --git a/gnu/packages/patches/python-moderngl-window-skip-tests.patch b/gnu/packages/patches/python-moderngl-window-skip-tests.patch
new file mode 100644
index 0000000000..cbfefa6c3a
--- /dev/null
+++ b/gnu/packages/patches/python-moderngl-window-skip-tests.patch
@@ -0,0 +1,62 @@
+Skip tests for optional dependencies
+
+The Python packages pywavefront and trimesh are optional dependencies and not
+yet packaged in Guix but the tests try to load the modules anyway. Therefore
+skip them.
+
+diff --git a/tests/test_docs.py b/tests/test_docs.py
+index e4a38df..99a2aa0 100644
+--- a/tests/test_docs.py
++++ b/tests/test_docs.py
+@@ -133,20 +133,11 @@ class TestCase(unittest.TestCase):
+
+ # --- Loaders : Scene ---
+
+- def test_loaders_wavefront(self):
+- self.validate('loaders/wavefront.rst', 'moderngl_window.loaders.scene.wavefront', 'Loader')
+-
+ def test_loaders_gltf(self):
+ self.validate('loaders/gltf2.rst', 'moderngl_window.loaders.scene.gltf2', 'Loader')
+
+- def test_loaders_stl(self):
+- self.validate('loaders/wavefront.rst', 'moderngl_window.loaders.scene.stl', 'Loader')
+-
+ # --- Loaders : Program ---
+
+- def test_loader_single(self):
+- self.validate('loaders/single.rst', 'moderngl_window.loaders.program.single', 'Loader')
+-
+ def test_loader_separate(self):
+ self.validate('loaders/separate.rst', 'moderngl_window.loaders.program.separate', 'Loader')
+
+diff --git a/tests/test_loaders_scene.py b/tests/test_loaders_scene.py
+index c577315..2eef889 100644
+--- a/tests/test_loaders_scene.py
++++ b/tests/test_loaders_scene.py
+@@ -16,16 +16,6 @@ class SceneLoadersTestCase(HeadlessTestCase):
+ window_size = (16, 16)
+ aspect_ratio = 1.0
+
+- def test_wavefront(self):
+- """Load wavefront file"""
+- scene = resources.scenes.load(SceneDescription(path='scenes/crate/crate.obj'))
+- self.assertIsInstance(scene, Scene)
+-
+- def test_wavefont_not_found(self):
+- """Ensure ImproperlyConfigured is raised when wavefront is not found"""
+- with self.assertRaises(ImproperlyConfigured):
+- resources.scenes.load(SceneDescription(path='scenes/doesnotexist.obj'))
+-
+ def test_gltf(self):
+ """Load standard gltf"""
+ scene = resources.scenes.load(SceneDescription(path='scenes/BoxTextured/glTF/BoxTextured.gltf'))
+@@ -45,7 +35,3 @@ class SceneLoadersTestCase(HeadlessTestCase):
+ """Attempt to load nonexisting gltf"""
+ with self.assertRaises(ImproperlyConfigured):
+ resources.scenes.load(SceneDescription(path='scenes/doesnotexist.gltf'))
+-
+- def test_stl(self):
+- scene = resources.scenes.load(SceneDescription(path='scenes/uplink.stl'))
+- self.assertIsInstance(scene, Scene)
+--
+2.33.0
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 3a984eaa68..0d3efe2700 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -19071,6 +19071,55 @@ Joysticks, OpenGL graphics, loading images and videos, and playing sounds and
music. All of this with a friendly Pythonic API that's simple to learn.")
(license license:bsd-3)))
+(define-public python-moderngl-window
+ (package
+ (name "python-moderngl-window")
+ (version "2.4.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/moderngl/moderngl-window")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (patches
+ (search-patches "python-moderngl-window-skip-tests.patch"))
+ (sha256
+ (base32
+ "1fvhm6ln3q5kl5m5q3gzfmx1kpyn054fhpcrgpqz8809dxi7pzcv"))))
+ (build-system python-build-system)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'prepare-x
+ (lambda _
+ (system "Xvfb :1 &")
+ (setenv "DISPLAY" ":1")))
+ (add-before 'check 'fix-test
+ (lambda _
+ (substitute* '("tests/test_windowconfig.py")
+ (("terrain_Vs.glsl") "terrain_vs.glsl"))))
+ (replace 'check
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (add-installed-pythonpath inputs outputs)
+ (invoke "pytest" "tests" ))))))
+ (propagated-inputs
+ `(("python-pillow" ,python-pillow)
+ ("python-pyrr" ,python-pyrr)
+ ("python-numpy" ,python-numpy)
+ ("python-moderngl" ,python-moderngl)
+ ("python-pyglet" ,python-pyglet)))
+ (native-inputs
+ `(("python-pytest" ,python-pytest)
+ ("xorg-server" ,xorg-server-for-tests)))
+ (home-page "https://github.com/moderngl/moderngl-window")
+ (synopsis "Cross-platform utility library for ModernGL")
+ (description "This ModernGL utility library simplifies window creation and
+resource loading. You can create a window for ModernGL using pyglet, pygame,
+PySide2, GLFW, SDL2, PyQt5 or tkinter. Events are unified into a single event
+system. Resource loading includes loading of 2D textures/texture arrays,
+shaders and objects/scenes.")
+ (license license:expat)))
+
(define-public python-screeninfo
(package
(name "python-screeninfo")
--
2.33.0
^ permalink raw reply related [flat|nested] 59+ messages in thread
* [bug#50505] [PATCH v2 10/13] gnu: Add python-manimpango.
2021-09-10 11:22 [bug#50505] [PATCH 00/12] gnu: Add python-manim Daniel Meißner via Guix-patches via
` (11 preceding siblings ...)
2021-09-15 15:25 ` [bug#50505] [PATCH v2 09/13] gnu: Add python-moderngl-window Daniel Meißner via Guix-patches via
@ 2021-09-15 15:25 ` Daniel Meißner via Guix-patches via
2021-09-15 15:25 ` [bug#50505] [PATCH v2 11/13] gnu: Add python-mapbox-earcut Daniel Meißner via Guix-patches via
` (4 subsequent siblings)
17 siblings, 0 replies; 59+ messages in thread
From: Daniel Meißner via Guix-patches via @ 2021-09-15 15:25 UTC (permalink / raw)
To: 50505; +Cc: Daniel Meißner
* gnu/packages/python-science.scm (python-manimpango): New variable.
---
gnu/local.mk | 2 +
.../python-manimpango-remove-manim-dep.patch | 172 ++++++++++++++++++
gnu/packages/python-science.scm | 28 +++
3 files changed, 202 insertions(+)
create mode 100644 gnu/packages/patches/python-manimpango-remove-manim-dep.patch
diff --git a/gnu/local.mk b/gnu/local.mk
index d738f97ca8..640b9e3b95 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -44,6 +44,7 @@
# Copyright © 2021 Arun Isaac <arunisaac@systemreboot.net>
# Copyright © 2021 Sharlatan Hellseher <sharlatanus@gmail.com>
# Copyright © 2021 Dmitry Polyakov <polyakov@liltechdude.xyz>
+# Copyright © 2021 Daniel Meißner <daniel.meissner-i4k@ruhr-uni-bochum.de>
#
# This file is part of GNU Guix.
#
@@ -1646,6 +1647,7 @@ dist_patch_DATA = \
%D%/packages/patches/python-pyfakefs-remove-bad-test.patch \
%D%/packages/patches/python-flint-includes.patch \
%D%/packages/patches/python-libxml2-utf8.patch \
+ %D%/packages/patches/python-manimpango-remove-manim-dep.patch \
%D%/packages/patches/python-matplotlib-run-under-wayland-gtk3.patch \
%D%/packages/patches/python-memcached-syntax-warnings.patch \
%D%/packages/patches/python-moderngl-window-skip-tests.patch \
diff --git a/gnu/packages/patches/python-manimpango-remove-manim-dep.patch b/gnu/packages/patches/python-manimpango-remove-manim-dep.patch
new file mode 100644
index 0000000000..579c2302d8
--- /dev/null
+++ b/gnu/packages/patches/python-manimpango-remove-manim-dep.patch
@@ -0,0 +1,172 @@
+Fix dependency on manim for tests
+
+This fixes a circular dependency between manim and manimpango.
+
+Extracted from upstream:
+https://github.com/ManimCommunity/ManimPango/commit/7e2b17aa14b10bd58af0598cc2de51a406682797
+
+diff --git a/tests/_manim.py b/tests/_manim.py
+index 3ea4676..b11d3e9 100644
+--- a/tests/_manim.py
++++ b/tests/_manim.py
+@@ -2,11 +2,12 @@
+ """This file contains helpers for the tests copied and modified
+ from Manim.
+ """
+-
++import copy
+ import os
++import re
+ from pathlib import Path
+
+-from manimpango import Alignment, MarkupUtils
++from manimpango import Alignment, MarkupUtils, TextSetting, text2svg
+
+
+ class MarkupText:
+@@ -104,3 +105,115 @@ class MarkupText:
+
+ def __repr__(self):
+ return f"MarkupText({repr(self.original_text)})"
++
++
++class Text:
++ def __init__(
++ self,
++ text: str,
++ fill_opacity: float = 1.0,
++ stroke_width: int = 0,
++ size: int = 1,
++ line_spacing: int = -1,
++ font: str = "",
++ slant: str = "NORMAL",
++ weight: str = "NORMAL",
++ gradient: tuple = None,
++ tab_width: int = 4,
++ disable_ligatures: bool = False,
++ filename: str = "text.svg",
++ **kwargs,
++ ) -> None:
++ self.size = size
++ self.filename = filename
++ self.line_spacing = line_spacing
++ self.font = font
++ self.slant = slant
++ self.weight = weight
++ self.gradient = gradient
++ self.tab_width = tab_width
++ self.original_text = text
++ self.disable_ligatures = disable_ligatures
++ text_without_tabs = text
++ self.t2f = self.t2s = self.t2w = {}
++ if text.find("\t") != -1:
++ text_without_tabs = text.replace("\t", " " * self.tab_width)
++ self.text = text_without_tabs
++ if self.line_spacing == -1:
++ self.line_spacing = self.size + self.size * 0.3
++ else:
++ self.line_spacing = self.size + self.size * self.line_spacing
++ self.text2svg()
++
++ def text2settings(self):
++ """Internally used function. Converts the texts and styles
++ to a setting for parsing."""
++ settings = []
++ t2x = [self.t2f, self.t2s, self.t2w]
++ for i in range(len(t2x)):
++ fsw = [self.font, self.slant, self.weight]
++ if t2x[i]:
++ for word, x in list(t2x[i].items()):
++ for start, end in self.find_indexes(word, self.text):
++ fsw[i] = x
++ settings.append(TextSetting(start, end, *fsw))
++ # Set all text settings (default font, slant, weight)
++ fsw = [self.font, self.slant, self.weight]
++ settings.sort(key=lambda setting: setting.start)
++ temp_settings = settings.copy()
++ start = 0
++ for setting in settings:
++ if setting.start != start:
++ temp_settings.append(TextSetting(start, setting.start, *fsw))
++ start = setting.end
++ if start != len(self.text):
++ temp_settings.append(TextSetting(start, len(self.text), *fsw))
++ settings = sorted(temp_settings, key=lambda setting: setting.start)
++
++ if re.search(r"\n", self.text):
++ line_num = 0
++ for start, end in self.find_indexes("\n", self.text):
++ for setting in settings:
++ if setting.line_num == -1:
++ setting.line_num = line_num
++ if start < setting.end:
++ line_num += 1
++ new_setting = copy.copy(setting)
++ setting.end = end
++ new_setting.start = end
++ new_setting.line_num = line_num
++ settings.append(new_setting)
++ settings.sort(key=lambda setting: setting.start)
++ break
++ for setting in settings:
++ if setting.line_num == -1:
++ setting.line_num = 0
++ return settings
++
++ def text2svg(self):
++ """Internally used function.
++ Convert the text to SVG using Pango
++ """
++ size = self.size * 10
++ line_spacing = self.line_spacing * 10
++ dir_name = Path(self.filename).parent
++ disable_liga = self.disable_ligatures
++ if not os.path.exists(dir_name):
++ os.makedirs(dir_name)
++ file_name = self.filename
++ settings = self.text2settings()
++ width = 600
++ height = 400
++
++ return text2svg(
++ settings,
++ size,
++ line_spacing,
++ disable_liga,
++ file_name,
++ 30,
++ 30,
++ width,
++ height,
++ self.text,
++ )
+diff --git a/tests/test_fonts.py b/tests/test_fonts.py
+index 51e7eb4..da42895 100644
+--- a/tests/test_fonts.py
++++ b/tests/test_fonts.py
+@@ -3,13 +3,12 @@ import sys
+ from pathlib import Path
+ from shutil import copyfile
+
+-import manim
+ import pytest
+
+ import manimpango
+
+ from . import FONT_DIR
+-from ._manim import MarkupText
++from ._manim import MarkupText, Text
+
+ font_lists = {
+ (FONT_DIR / "AdobeVFPrototype.ttf").absolute(): "Adobe Variable Font Prototype",
+@@ -38,7 +37,7 @@ def test_register_font(font_name):
+ @pytest.mark.parametrize("font_name", font_lists.values())
+ def test_warning(capfd, font_name):
+ print(font_name)
+- manim.Text("Testing", font=font_name)
++ Text("Testing", font=font_name)
+ captured = capfd.readouterr()
+ assert "Pango-WARNING **" not in captured.err, "Looks like pango raised a warning?"
+
+--
+2.32.0
diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm
index d3730fadcc..fcd983520c 100644
--- a/gnu/packages/python-science.scm
+++ b/gnu/packages/python-science.scm
@@ -38,6 +38,7 @@
#:use-module (gnu packages check)
#:use-module (gnu packages databases)
#:use-module (gnu packages gcc)
+ #:use-module (gnu packages gtk)
#:use-module (gnu packages image-processing)
#:use-module (gnu packages machine-learning)
#:use-module (gnu packages maths)
@@ -982,3 +983,30 @@ pandas notebooks, scripts, and libraries. Unlike other distributed DataFrame
libraries, Modin provides seamless integration and compatibility with existing
pandas code.")
(license license:asl2.0)))
+
+(define-public python-manimpango
+ (package
+ (name "python-manimpango")
+ (version "0.3.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "ManimPango" version))
+ (sha256
+ (base32
+ "1j2mbhf7d82718nkc0r8x7cf35hlh13b67qkczjbbys3w24nyfsw"))
+ (patches (search-patches "python-manimpango-remove-manim-dep.patch"))))
+ (build-system python-build-system)
+ (native-inputs
+ `(("pkg-config" ,pkg-config)
+ ("Cython" ,python-cython)
+ ("python-pytest" ,python-pytest)))
+ (inputs
+ `(("pango" ,pango)))
+ (home-page "https://manimpango.manim.community/")
+ (synopsis
+ "Bindings for pango for use with Manim")
+ (description
+ "These are Python bindings for Pango to be used with the mathematical
+animation software Manim.")
+ (license license:gpl3+)))
--
2.33.0
^ permalink raw reply related [flat|nested] 59+ messages in thread
* [bug#50505] [PATCH v2 11/13] gnu: Add python-mapbox-earcut.
2021-09-10 11:22 [bug#50505] [PATCH 00/12] gnu: Add python-manim Daniel Meißner via Guix-patches via
` (12 preceding siblings ...)
2021-09-15 15:25 ` [bug#50505] [PATCH v2 10/13] gnu: Add python-manimpango Daniel Meißner via Guix-patches via
@ 2021-09-15 15:25 ` Daniel Meißner via Guix-patches via
2021-09-15 15:25 ` [bug#50505] [PATCH v2 12/13] gnu: Add python-screeninfo-0.6 Daniel Meißner via Guix-patches via
` (3 subsequent siblings)
17 siblings, 0 replies; 59+ messages in thread
From: Daniel Meißner via Guix-patches via @ 2021-09-15 15:25 UTC (permalink / raw)
To: 50505; +Cc: Daniel Meißner
* gnu/packages/python-science.scm (python-mapbox-earcut): New variable.
---
gnu/packages/python-xyz.scm | 29 +++++++++++++++++++++++++++++
1 file changed, 29 insertions(+)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 0d3efe2700..c5163d93a3 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -19120,6 +19120,35 @@ system. Resource loading includes loading of 2D textures/texture arrays,
shaders and objects/scenes.")
(license license:expat)))
+(define-public python-mapbox-earcut
+ (package
+ (name "python-mapbox-earcut")
+ (version "0.12.10")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "mapbox_earcut" version))
+ (sha256
+ (base32
+ "0ly48lijgd9inq07x42pfp9c24fn16vn9axpmfwqrkn979krbnah"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-numpy" ,python-numpy)))
+ (native-inputs
+ `(("python-pytest" ,python-pytest)
+ ("python-wheel" ,python-wheel)
+ ("setuptools-scm" ,python-setuptools-scm)
+ ("cmake" ,cmake)))
+ (home-page
+ "https://github.com/skogler/mapbox_earcut_python")
+ (synopsis
+ "Python bindings for the Mapbox Earcut C++ polygon triangulation library")
+ (description
+ "The Mapbox Earcut library is a header-only C++ library which provides a
+fast and robust triangulation of 2D polygons. This package provides Python
+bindings for this library.")
+ (license license:isc)))
+
(define-public python-screeninfo
(package
(name "python-screeninfo")
--
2.33.0
^ permalink raw reply related [flat|nested] 59+ messages in thread
* [bug#50505] [PATCH v2 12/13] gnu: Add python-screeninfo-0.6.
2021-09-10 11:22 [bug#50505] [PATCH 00/12] gnu: Add python-manim Daniel Meißner via Guix-patches via
` (13 preceding siblings ...)
2021-09-15 15:25 ` [bug#50505] [PATCH v2 11/13] gnu: Add python-mapbox-earcut Daniel Meißner via Guix-patches via
@ 2021-09-15 15:25 ` Daniel Meißner via Guix-patches via
2021-09-15 15:25 ` [bug#50505] [PATCH v2 13/13] gnu: Add python-manim 0.9.0 Daniel Meißner via Guix-patches via
` (2 subsequent siblings)
17 siblings, 0 replies; 59+ messages in thread
From: Daniel Meißner via Guix-patches via @ 2021-09-15 15:25 UTC (permalink / raw)
To: 50505; +Cc: Daniel Meißner
* (python-screeninfo-0.6): New variable.
---
gnu/packages/python-xyz.scm | 17 ++++++++++++++---
1 file changed, 14 insertions(+), 3 deletions(-)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index c5163d93a3..592e41f057 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -19149,17 +19149,17 @@ fast and robust triangulation of 2D polygons. This package provides Python
bindings for this library.")
(license license:isc)))
-(define-public python-screeninfo
+(define-public python-screeninfo-0.6
(package
(name "python-screeninfo")
- (version "0.7")
+ (version "0.6.7")
(source
(origin
(method url-fetch)
(uri (pypi-uri "screeninfo" version))
(sha256
(base32
- "007m7sqv30qak56885dxbijksrg2hd121hfpvg2llm734wspra8j"))))
+ "1jv9m9xhl7zr2hzfx0w5zyw9pajn4b4zpln4rdl3zni9lcfaqjqw"))))
(build-system python-build-system)
(native-inputs `(("python-pytest" ,python-pytest)))
(home-page "https://github.com/rr-/screeninfo")
@@ -19171,6 +19171,17 @@ screens like resolution, height and width of the screen, connecting port
etc.")
(license (list license:expat license:bsd-3))))
+(define-public python-screeninfo
+ (package/inherit python-screeninfo-0.6
+ (version "0.7")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "screeninfo" version))
+ (sha256
+ (base32
+ "007m7sqv30qak56885dxbijksrg2hd121hfpvg2llm734wspra8j"))))))
+
(define-public python-rencode
(package
(name "python-rencode")
--
2.33.0
^ permalink raw reply related [flat|nested] 59+ messages in thread
* [bug#50505] [PATCH v2 13/13] gnu: Add python-manim 0.9.0.
2021-09-10 11:22 [bug#50505] [PATCH 00/12] gnu: Add python-manim Daniel Meißner via Guix-patches via
` (14 preceding siblings ...)
2021-09-15 15:25 ` [bug#50505] [PATCH v2 12/13] gnu: Add python-screeninfo-0.6 Daniel Meißner via Guix-patches via
@ 2021-09-15 15:25 ` Daniel Meißner via Guix-patches via
2022-01-01 23:51 ` [bug#50505] [PATCH v3 00/13] Add python-manim and its missing dependencies Daniel Meißner via Guix-patches via
2024-10-18 20:17 ` [bug#50505] [PATCH 00/12] gnu: Add python-manim Sharlatan Hellseher
17 siblings, 0 replies; 59+ messages in thread
From: Daniel Meißner via Guix-patches via @ 2021-09-15 15:25 UTC (permalink / raw)
To: 50505; +Cc: Daniel Meißner
* gnu/packages/python-science.scm (python-manim): New variable.
---
gnu/packages/python-science.scm | 64 +++++++++++++++++++++++++++++++++
1 file changed, 64 insertions(+)
diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm
index fcd983520c..df105d5103 100644
--- a/gnu/packages/python-science.scm
+++ b/gnu/packages/python-science.scm
@@ -36,6 +36,7 @@
#:use-module (gnu packages)
#:use-module (gnu packages base)
#:use-module (gnu packages check)
+ #:use-module (gnu packages cmake)
#:use-module (gnu packages databases)
#:use-module (gnu packages gcc)
#:use-module (gnu packages gtk)
@@ -55,6 +56,7 @@
#:use-module (gnu packages sphinx)
#:use-module (gnu packages statistics)
#:use-module (gnu packages time)
+ #:use-module (gnu packages video)
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
@@ -1010,3 +1012,65 @@ pandas code.")
"These are Python bindings for Pango to be used with the mathematical
animation software Manim.")
(license license:gpl3+)))
+
+(define-public python-manim
+ (package
+ (name "python-manim")
+ (version "0.9.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "manim" version))
+ (sha256
+ (base32
+ "0ksp57wcy45xkjips5i4wwm690mhbs2dmlcgsbmiwx78mfk4z0r3"))))
+ (build-system python-build-system)
+ (arguments '(#:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'fix-ffmpeg-path
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (substitute* '("manim/constants.py")
+ (("FFMPEG_BIN: str = \"ffmpeg\"")
+ (string-append "FFMPEG_BIN: str = \""
+ (assoc-ref inputs "ffmpeg")
+ "/bin/ffmpeg\"")))))
+ ;; PyPI package contains no tests for manim but the
+ ;; setup.py test command fails, so remove it
+ (delete 'check))))
+ (propagated-inputs
+ `(("python-click" ,python-click)
+ ("python-click-default-group"
+ ,python-click-default-group)
+ ("python-cloup" ,python-cloup-0.7)
+ ("python-colour" ,python-colour)
+ ("python-decorator" ,python-decorator)
+ ("python-manimpango" ,python-manimpango)
+ ("python-mapbox-earcut" ,python-mapbox-earcut)
+ ("python-moderngl" ,python-moderngl)
+ ("python-moderngl-window"
+ ,python-moderngl-window)
+ ("python-networkx" ,python-networkx)
+ ("python-numpy" ,python-numpy)
+ ("python-pillow" ,python-pillow)
+ ("python-pycairo" ,python-pycairo)
+ ("python-pydub" ,python-pydub)
+ ("python-pygments" ,python-pygments)
+ ("python-requests" ,python-requests)
+ ("python-rich" ,python-rich)
+ ("python-scipy" ,python-scipy)
+ ("python-screeninfo" ,python-screeninfo-0.6)
+ ("python-tqdm" ,python-tqdm)
+ ("python-watchdog" ,python-watchdog)))
+ (inputs
+ `(("ffmpeg" ,ffmpeg)))
+ (native-inputs
+ `(("python-wheel" ,python-wheel)))
+ (home-page "https://www.manim.community/")
+ (synopsis
+ "Python animation engine for explanatory math videos")
+ (description
+ "Manim is a Python library for creating mathematical animations. The
+animations are written as Python code which is based on predefined objects.
+You can make animations with maths formulas (LaTeX-based), simple shapes, 3D
+objects, function graphs and more.")
+ (license license:expat)))
--
2.33.0
^ permalink raw reply related [flat|nested] 59+ messages in thread
* [bug#50505] [PATCH v3 00/13] Add python-manim and its missing dependencies
2021-09-10 11:22 [bug#50505] [PATCH 00/12] gnu: Add python-manim Daniel Meißner via Guix-patches via
` (15 preceding siblings ...)
2021-09-15 15:25 ` [bug#50505] [PATCH v2 13/13] gnu: Add python-manim 0.9.0 Daniel Meißner via Guix-patches via
@ 2022-01-01 23:51 ` Daniel Meißner via Guix-patches via
2022-01-01 23:51 ` [bug#50505] [PATCH v3 01/12] gnu: Add python-cloup Daniel Meißner via Guix-patches via
` (11 more replies)
2024-10-18 20:17 ` [bug#50505] [PATCH 00/12] gnu: Add python-manim Sharlatan Hellseher
17 siblings, 12 replies; 59+ messages in thread
From: Daniel Meißner via Guix-patches via @ 2022-01-01 23:51 UTC (permalink / raw)
To: 50505; +Cc: Daniel Meißner, Xinglu Chen, Liliana Marie Prikler
Hi Liliana, hi Xinglu,
I have adapted the patch set to the new input field style and I would be very
happy if you could, once more, review the patches and push them to master if
they look fine to you.
Thanks,
Daniel
Daniel Meißner (13):
gnu: Add python-cloup.
gnu: Add python-cloup-0.7.
gnu: Add python-glcontext.
gnu: Add python-moderngl.
gnu: Add python-pyglet.
gnu: Add python-multipledispatch.
gnu: Add python-pyrr.
gnu: Add python-screeninfo.
gnu: Add python-moderngl-window.
gnu: Add python-manimpango.
gnu: Add python-mapbox-earcut.
gnu: Add python-screeninfo-0.6.
gnu: Add python-manim 0.9.0.
gnu/local.mk | 3 +
.../python-manimpango-remove-manim-dep.patch | 172 ++++++++++
.../python-moderngl-window-skip-tests.patch | 146 +++++++++
gnu/packages/python-science.scm | 88 +++++
gnu/packages/python-xyz.scm | 303 ++++++++++++++++++
5 files changed, 712 insertions(+)
create mode 100644 gnu/packages/patches/python-manimpango-remove-manim-dep.patch
create mode 100644 gnu/packages/patches/python-moderngl-window-skip-tests.patch
--
2.34.0
^ permalink raw reply [flat|nested] 59+ messages in thread
* [bug#50505] [PATCH v3 01/12] gnu: Add python-cloup.
2022-01-01 23:51 ` [bug#50505] [PATCH v3 00/13] Add python-manim and its missing dependencies Daniel Meißner via Guix-patches via
@ 2022-01-01 23:51 ` Daniel Meißner via Guix-patches via
2022-01-01 23:51 ` [bug#50505] [PATCH v3 02/12] gnu: Add python-cloup-0.7 Daniel Meißner via Guix-patches via
` (10 subsequent siblings)
11 siblings, 0 replies; 59+ messages in thread
From: Daniel Meißner via Guix-patches via @ 2022-01-01 23:51 UTC (permalink / raw)
To: 50505; +Cc: Daniel Meißner, Xinglu Chen, Liliana Marie Prikler
* gnu/packages/python-xyz.scm (python-cloup): New variable.
Co-authored-by: Xinglu Chen <public@yoctocell.xyz>
---
gnu/packages/python-science.scm | 1 +
gnu/packages/python-xyz.scm | 33 +++++++++++++++++++++++++++++++++
2 files changed, 34 insertions(+)
diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm
index 1311fbad0c..65f1dbf014 100644
--- a/gnu/packages/python-science.scm
+++ b/gnu/packages/python-science.scm
@@ -15,6 +15,7 @@
;;; Copyright © 2021 Paul Garlick <pgarlick@tourbillion-technology.com>
;;; Copyright © 2021 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2021 Felix Gruber <felgru@posteo.net>
+;;; Copyright © 2021 Daniel Meißner <daniel.meissner-i4k@ruhr-uni-bochum.de>
;;;
;;; This file is part of GNU Guix.
;;;
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 27f8c11c9c..db511a178f 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -3430,6 +3430,39 @@ (define-public python-cligj
well-tested and interoperable CLIs for handling GeoJSON.")
(license license:bsd-3)))
+(define-public python-cloup
+ (package
+ (name "python-cloup")
+ (version "0.11.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "cloup" version))
+ (sha256
+ (base32
+ "07kxw81bml137w9bfmwkjbdzbldkk1k1lws82wffz9244pp7k8ib"))))
+ (build-system python-build-system)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key inputs outputs tests? #:allow-other-keys)
+ (when tests?
+ (add-installed-pythonpath inputs outputs)
+ (invoke "python" "-m" "pytest")))))))
+ (propagated-inputs
+ (list python-click))
+ (native-inputs
+ (list python-setuptools python-setuptools-scm python-pytest))
+ (home-page "https://github.com/janLuke/cloup")
+ (synopsis "Extension library for @code{python-click}")
+ (description
+ "Cloup---originally from ``Click + option groups''---enriches
+@code{python-click} with several features that make it more expressive and
+configurable: option groups, constraints, subcommand aliases, subcommands
+sections, and a themeable @code{HelpFormatter}.")
+ (license license:bsd-3)))
+
(define-public python-vcversioner
(package
(name "python-vcversioner")
--
2.34.0
^ permalink raw reply related [flat|nested] 59+ messages in thread
* [bug#50505] [PATCH v3 02/12] gnu: Add python-cloup-0.7.
2022-01-01 23:51 ` [bug#50505] [PATCH v3 00/13] Add python-manim and its missing dependencies Daniel Meißner via Guix-patches via
2022-01-01 23:51 ` [bug#50505] [PATCH v3 01/12] gnu: Add python-cloup Daniel Meißner via Guix-patches via
@ 2022-01-01 23:51 ` Daniel Meißner via Guix-patches via
2022-01-01 23:51 ` [bug#50505] [PATCH v3 03/12] gnu: Add python-glcontext Daniel Meißner via Guix-patches via
` (9 subsequent siblings)
11 siblings, 0 replies; 59+ messages in thread
From: Daniel Meißner via Guix-patches via @ 2022-01-01 23:51 UTC (permalink / raw)
To: 50505; +Cc: Daniel Meißner, Xinglu Chen, Liliana Marie Prikler
* gnu/packages/python-xyz.scm (python-cloup-0.7): New variable.
---
gnu/packages/python-xyz.scm | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index db511a178f..deff85e797 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -3463,6 +3463,18 @@ (define-public python-cloup
sections, and a themeable @code{HelpFormatter}.")
(license license:bsd-3)))
+(define-public python-cloup-0.7
+ (package (inherit python-cloup)
+ (name "python-cloup-0.7")
+ (version "0.7.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "cloup" version))
+ (sha256
+ (base32
+ "0yyxibwlxmdkm4866fm4rwpdgy3d6y18n061992ckr54vl0cav7j"))))))
+
(define-public python-vcversioner
(package
(name "python-vcversioner")
--
2.34.0
^ permalink raw reply related [flat|nested] 59+ messages in thread
* [bug#50505] [PATCH v3 03/12] gnu: Add python-glcontext.
2022-01-01 23:51 ` [bug#50505] [PATCH v3 00/13] Add python-manim and its missing dependencies Daniel Meißner via Guix-patches via
2022-01-01 23:51 ` [bug#50505] [PATCH v3 01/12] gnu: Add python-cloup Daniel Meißner via Guix-patches via
2022-01-01 23:51 ` [bug#50505] [PATCH v3 02/12] gnu: Add python-cloup-0.7 Daniel Meißner via Guix-patches via
@ 2022-01-01 23:51 ` Daniel Meißner via Guix-patches via
2022-01-02 0:31 ` Liliana Marie Prikler
2022-01-01 23:51 ` [bug#50505] [PATCH v3 04/12] gnu: Add python-moderngl Daniel Meißner via Guix-patches via
` (8 subsequent siblings)
11 siblings, 1 reply; 59+ messages in thread
From: Daniel Meißner via Guix-patches via @ 2022-01-01 23:51 UTC (permalink / raw)
To: 50505; +Cc: Daniel Meißner, Xinglu Chen, Liliana Marie Prikler
* gnu/packages/python-xyz.scm (python-glcontext): New variable.
---
gnu/packages/python-xyz.scm | 53 +++++++++++++++++++++++++++++++++++++
1 file changed, 53 insertions(+)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index deff85e797..d8e6fa070e 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -19555,6 +19555,59 @@ (define-public python-pyopengl-accelerate
(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'"))))))
+ (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 xorg-server-for-tests python-pytest 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")
--
2.34.0
^ permalink raw reply related [flat|nested] 59+ messages in thread
* [bug#50505] [PATCH v3 04/12] gnu: Add python-moderngl.
2022-01-01 23:51 ` [bug#50505] [PATCH v3 00/13] Add python-manim and its missing dependencies Daniel Meißner via Guix-patches via
` (2 preceding siblings ...)
2022-01-01 23:51 ` [bug#50505] [PATCH v3 03/12] gnu: Add python-glcontext Daniel Meißner via Guix-patches via
@ 2022-01-01 23:51 ` Daniel Meißner via Guix-patches via
2022-01-02 0:33 ` Liliana Marie Prikler
2022-01-01 23:51 ` [bug#50505] [PATCH v3 05/12] gnu: Add python-pyglet Daniel Meißner via Guix-patches via
` (7 subsequent siblings)
11 siblings, 1 reply; 59+ messages in thread
From: Daniel Meißner via Guix-patches via @ 2022-01-01 23:51 UTC (permalink / raw)
To: 50505; +Cc: Daniel Meißner, Xinglu Chen, Liliana Marie Prikler
* gnu/packages/python-xyz.scm (python-moderngl): New variable.
---
gnu/packages/python-xyz.scm | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index d8e6fa070e..21cf780338 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -19608,6 +19608,31 @@ (define-public python-glcontext
implementation for ModernGL on multiple platforms.")
(license license:expat)))
+(define-public python-moderngl
+ (package
+ (name "python-moderngl")
+ (version "5.6.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "moderngl" version))
+ (sha256
+ (base32
+ "1ysinnyr3rkdisbihdrn1623l3rw45nx8p2j31dgffsykxah8vcc"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ (list python-glcontext))
+ (home-page "https://github.com/moderngl/moderngl")
+ (synopsis "Python wrapper for OpenGL")
+ (description "ModernGL is a python wrapper over OpenGL 3.3+ core that
+simplifies the creation of simple graphics applications like scientific
+simulations, games or user interfaces. Usually, acquiring in-depth knowledge
+of OpenGL requires a steep learning curve. In contrast, ModernGL is easy to
+learn and use, moreover it is capable of rendering with high performance and
+quality, with less code written. The majority of the moderngl code base is
+also written in C++ for high performance.")
+ (license license:expat)))
+
(define-public python-rencode
(package
(name "python-rencode")
--
2.34.0
^ permalink raw reply related [flat|nested] 59+ messages in thread
* [bug#50505] [PATCH v3 05/12] gnu: Add python-pyglet.
2022-01-01 23:51 ` [bug#50505] [PATCH v3 00/13] Add python-manim and its missing dependencies Daniel Meißner via Guix-patches via
` (3 preceding siblings ...)
2022-01-01 23:51 ` [bug#50505] [PATCH v3 04/12] gnu: Add python-moderngl Daniel Meißner via Guix-patches via
@ 2022-01-01 23:51 ` Daniel Meißner via Guix-patches via
2022-01-02 0:36 ` Liliana Marie Prikler
2022-01-01 23:51 ` [bug#50505] [PATCH v3 06/12] gnu: Add python-pyrr Daniel Meißner via Guix-patches via
` (6 subsequent siblings)
11 siblings, 1 reply; 59+ messages in thread
From: Daniel Meißner via Guix-patches via @ 2022-01-01 23:51 UTC (permalink / raw)
To: 50505; +Cc: Daniel Meißner, Xinglu Chen, Liliana Marie Prikler
* gnu/packages/python-xyz.scm (python-pyglet): New variable.
---
gnu/packages/python-xyz.scm | 55 +++++++++++++++++++++++++++++++++++++
1 file changed, 55 insertions(+)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 21cf780338..e0d65daf91 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -19633,6 +19633,61 @@ (define-public python-moderngl
also written in C++ for high performance.")
(license license:expat)))
+(define-public python-pyglet
+ (package
+ (name "python-pyglet")
+ (version "1.5.18")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "pyglet" version ".zip"))
+ (sha256
+ (base32
+ "044ib8x6pv5rjwj210hq37ry7vi5bizmqkkv1zj8967prk5ii8sq"))))
+ (build-system python-build-system)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'fix-lib-paths
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (substitute* '("pyglet/gl/lib_glx.py")
+ (("'GL'")
+ (string-append "\"" (assoc-ref inputs "mesa")
+ "/lib/libGL.so\""))
+ (("'GLU'")
+ (string-append "\"" (assoc-ref inputs "glu")
+ "/lib/libGLU.so\"")))
+ (substitute* '("pyglet/font/freetype_lib.py")
+ (("'freetype'")
+ (string-append "\"" (assoc-ref inputs "freetype")
+ "/lib/libfreetype.so\"")))
+ (substitute* '("pyglet/font/fontconfig.py")
+ (("'fontconfig'")
+ (string-append "\"" (assoc-ref inputs "fontconfig")
+ "/lib/libfontconfig.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/unit")))))))
+ (inputs
+ `(("mesa" ,mesa)
+ ("glu" ,glu)
+ ("freetype" ,freetype)
+ ("fontconfig" ,fontconfig)))
+ (native-inputs
+ (list unzip python-pytest xorg-server-for-tests))
+ (home-page "https://pyglet.readthedocs.io")
+ (synopsis "Cross-platform windowing and multimedia Python 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, and playing sounds and
+music. All of this with a friendly Pythonic API that's simple to learn.")
+ (license license:bsd-3)))
+
(define-public python-rencode
(package
(name "python-rencode")
--
2.34.0
^ permalink raw reply related [flat|nested] 59+ messages in thread
* [bug#50505] [PATCH v3 06/12] gnu: Add python-pyrr.
2022-01-01 23:51 ` [bug#50505] [PATCH v3 00/13] Add python-manim and its missing dependencies Daniel Meißner via Guix-patches via
` (4 preceding siblings ...)
2022-01-01 23:51 ` [bug#50505] [PATCH v3 05/12] gnu: Add python-pyglet Daniel Meißner via Guix-patches via
@ 2022-01-01 23:51 ` Daniel Meißner via Guix-patches via
2022-01-01 23:51 ` [bug#50505] [PATCH v3 07/12] gnu: Add python-screeninfo Daniel Meißner via Guix-patches via
` (5 subsequent siblings)
11 siblings, 0 replies; 59+ messages in thread
From: Daniel Meißner via Guix-patches via @ 2022-01-01 23:51 UTC (permalink / raw)
To: 50505; +Cc: Daniel Meißner, Xinglu Chen, Liliana Marie Prikler
* gnu/packages/python-xyz.scm (python-pyrr): New variable.
---
gnu/packages/python-xyz.scm | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index e0d65daf91..d706d208af 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -19633,6 +19633,28 @@ (define-public python-moderngl
also written in C++ for high performance.")
(license license:expat)))
+(define-public python-pyrr
+ (package
+ (name "python-pyrr")
+ (version "0.10.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "pyrr" version))
+ (sha256
+ (base32
+ "07byxkq8dcc8n6fc2q7g3vq3mxzzj0hqzm8hlq3gfwbf68h7n3rw"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ (list python-multipledispatch python-numpy))
+ (home-page "https://github.com/adamlwgriffiths/Pyrr")
+ (synopsis "Mathematical functions for 3D graphics using NumPy")
+ (description
+ "This Python package provides a collection of object-oriented and
+procedural interfaces for working with matrices, quaternions, vectors and
+plane/line/ray objects for 3D graphics.")
+ (license license:bsd-2)))
+
(define-public python-pyglet
(package
(name "python-pyglet")
--
2.34.0
^ permalink raw reply related [flat|nested] 59+ messages in thread
* [bug#50505] [PATCH v3 07/12] gnu: Add python-screeninfo.
2022-01-01 23:51 ` [bug#50505] [PATCH v3 00/13] Add python-manim and its missing dependencies Daniel Meißner via Guix-patches via
` (5 preceding siblings ...)
2022-01-01 23:51 ` [bug#50505] [PATCH v3 06/12] gnu: Add python-pyrr Daniel Meißner via Guix-patches via
@ 2022-01-01 23:51 ` Daniel Meißner via Guix-patches via
2022-01-01 23:51 ` [bug#50505] [PATCH v3 08/12] gnu: Add python-moderngl-window Daniel Meißner via Guix-patches via
` (4 subsequent siblings)
11 siblings, 0 replies; 59+ messages in thread
From: Daniel Meißner via Guix-patches via @ 2022-01-01 23:51 UTC (permalink / raw)
To: 50505; +Cc: Daniel Meißner, Xinglu Chen, Liliana Marie Prikler
* gnu/packages/python-xyz.scm (python-screeninfo): New variable.
---
gnu/packages/python-xyz.scm | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index d706d208af..0dbc9db830 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -19710,6 +19710,28 @@ (define-public python-pyglet
music. All of this with a friendly Pythonic API that's simple to learn.")
(license license:bsd-3)))
+(define-public python-screeninfo
+ (package
+ (name "python-screeninfo")
+ (version "0.7")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "screeninfo" version))
+ (sha256
+ (base32
+ "007m7sqv30qak56885dxbijksrg2hd121hfpvg2llm734wspra8j"))))
+ (build-system python-build-system)
+ (native-inputs `(("python-pytest" ,python-pytest)))
+ (home-page "https://github.com/rr-/screeninfo")
+ (synopsis
+ "Obtain information about physical screens")
+ (description
+ "This python module provides means to access information about physical
+screens like resolution, height and width of the screen, connecting port
+etc.")
+ (license (list license:expat license:bsd-3))))
+
(define-public python-rencode
(package
(name "python-rencode")
--
2.34.0
^ permalink raw reply related [flat|nested] 59+ messages in thread
* [bug#50505] [PATCH v3 08/12] gnu: Add python-moderngl-window.
2022-01-01 23:51 ` [bug#50505] [PATCH v3 00/13] Add python-manim and its missing dependencies Daniel Meißner via Guix-patches via
` (6 preceding siblings ...)
2022-01-01 23:51 ` [bug#50505] [PATCH v3 07/12] gnu: Add python-screeninfo Daniel Meißner via Guix-patches via
@ 2022-01-01 23:51 ` Daniel Meißner via Guix-patches via
2022-01-02 0:47 ` Liliana Marie Prikler
2022-01-01 23:51 ` [bug#50505] [PATCH v3 09/12] gnu: Add python-manimpango Daniel Meißner via Guix-patches via
` (3 subsequent siblings)
11 siblings, 1 reply; 59+ messages in thread
From: Daniel Meißner via Guix-patches via @ 2022-01-01 23:51 UTC (permalink / raw)
To: 50505; +Cc: Daniel Meißner, Xinglu Chen, Liliana Marie Prikler
* gnu/packages/python-xyz.scm (python-moderngl-window): New variable.
---
gnu/local.mk | 1 +
.../python-moderngl-window-skip-tests.patch | 146 ++++++++++++++++++
gnu/packages/python-xyz.scm | 44 ++++++
3 files changed, 191 insertions(+)
create mode 100644 gnu/packages/patches/python-moderngl-window-skip-tests.patch
diff --git a/gnu/local.mk b/gnu/local.mk
index 852f9f3246..ff3e80ea68 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1685,6 +1685,7 @@ dist_patch_DATA = \
%D%/packages/patches/python-magic-python-bytecode.patch \
%D%/packages/patches/python-matplotlib-run-under-wayland-gtk3.patch \
%D%/packages/patches/python-memcached-syntax-warnings.patch \
+ %D%/packages/patches/python-moderngl-window-skip-tests.patch \
%D%/packages/patches/python-mox3-python3.6-compat.patch \
%D%/packages/patches/python-typing-inspect-fix.patch \
%D%/packages/patches/python-packaging-test-arch.patch \
diff --git a/gnu/packages/patches/python-moderngl-window-skip-tests.patch b/gnu/packages/patches/python-moderngl-window-skip-tests.patch
new file mode 100644
index 0000000000..aee4b71e2a
--- /dev/null
+++ b/gnu/packages/patches/python-moderngl-window-skip-tests.patch
@@ -0,0 +1,146 @@
+Skip failing tests and tests for optional dependencies
+
+The Python packages pywavefront and trimesh are optional dependencies and not
+yet packaged in Guix but the tests try to load the modules anyway. Therefore
+skip them.
+
+The tests test_texture_mimpamps, test_texture_abspath, test_load_texture_2d
+and test_load_texture_array fail when Guix builds the package. This is not
+the case when running the tests directly from a source tree.
+
+diff --git a/tests/test_docs.py b/tests/test_docs.py
+index e4a38df..99a2aa0 100644
+--- a/tests/test_docs.py
++++ b/tests/test_docs.py
+@@ -133,20 +133,11 @@ class TestCase(unittest.TestCase):
+
+ # --- Loaders : Scene ---
+
+- def test_loaders_wavefront(self):
+- self.validate('loaders/wavefront.rst', 'moderngl_window.loaders.scene.wavefront', 'Loader')
+-
+ def test_loaders_gltf(self):
+ self.validate('loaders/gltf2.rst', 'moderngl_window.loaders.scene.gltf2', 'Loader')
+
+- def test_loaders_stl(self):
+- self.validate('loaders/wavefront.rst', 'moderngl_window.loaders.scene.stl', 'Loader')
+-
+ # --- Loaders : Program ---
+
+- def test_loader_single(self):
+- self.validate('loaders/single.rst', 'moderngl_window.loaders.program.single', 'Loader')
+-
+ def test_loader_separate(self):
+ self.validate('loaders/separate.rst', 'moderngl_window.loaders.program.separate', 'Loader')
+
+diff --git a/tests/test_loaders_scene.py b/tests/test_loaders_scene.py
+index c577315..2eef889 100644
+--- a/tests/test_loaders_scene.py
++++ b/tests/test_loaders_scene.py
+@@ -16,16 +16,6 @@ class SceneLoadersTestCase(HeadlessTestCase):
+ window_size = (16, 16)
+ aspect_ratio = 1.0
+
+- def test_wavefront(self):
+- """Load wavefront file"""
+- scene = resources.scenes.load(SceneDescription(path='scenes/crate/crate.obj'))
+- self.assertIsInstance(scene, Scene)
+-
+- def test_wavefont_not_found(self):
+- """Ensure ImproperlyConfigured is raised when wavefront is not found"""
+- with self.assertRaises(ImproperlyConfigured):
+- resources.scenes.load(SceneDescription(path='scenes/doesnotexist.obj'))
+-
+ def test_gltf(self):
+ """Load standard gltf"""
+ scene = resources.scenes.load(SceneDescription(path='scenes/BoxTextured/glTF/BoxTextured.gltf'))
+@@ -45,7 +35,3 @@ class SceneLoadersTestCase(HeadlessTestCase):
+ """Attempt to load nonexisting gltf"""
+ with self.assertRaises(ImproperlyConfigured):
+ resources.scenes.load(SceneDescription(path='scenes/doesnotexist.gltf'))
+-
+- def test_stl(self):
+- scene = resources.scenes.load(SceneDescription(path='scenes/uplink.stl'))
+- self.assertIsInstance(scene, Scene)
+diff --git a/tests/test_loaders_texture.py b/tests/test_loaders_texture.py
+index fcd4d72..8e13037 100644
+--- a/tests/test_loaders_texture.py
++++ b/tests/test_loaders_texture.py
+@@ -55,39 +55,3 @@ class TextureLoadersTestCase(HeadlessTestCase):
+ kind='cube',
+ ))
+ self.assertIsInstance(texture, moderngl.TextureCube)
+-
+- def test_texture_mimpamps(self):
+- """Load texture with mipmapping and anisotropy"""
+- desc = TextureDescription(
+- path='textures/crate.png',
+- mipmap_levels=(0, 2),
+- anisotropy=4.0,
+- )
+- texture = resources.textures.load(desc)
+- self.assertEqual(texture.anisotropy, 4.0)
+- self.assertEqual(desc.mipmap, True)
+-
+- # Texture Array
+- desc = TextureDescription(
+- path='textures/array.png',
+- kind="array",
+- layers=10,
+- mipmap_levels=(0, 5),
+- anisotropy=8.0,
+- )
+- texture = resources.textures.load(desc)
+- self.assertEqual(texture.anisotropy, 8.0)
+- self.assertEqual(desc.mipmap, True)
+-
+- def test_texture_abspath(self):
+- """Strip search directories and use absolute path"""
+- path = (Path(__file__).parent / "fixtures/resources/textures/crate.png").resolve()
+- with resources.temporary_dirs([]):
+- desc = TextureDescription(
+- path=path,
+- mipmap_levels=(0, 2),
+- anisotropy=4.0,
+- )
+- texture = resources.textures.load(desc)
+- self.assertEqual(texture.anisotropy, 4.0)
+- self.assertEqual(desc.mipmap, True)
+diff --git a/tests/test_windowconfig.py b/tests/test_windowconfig.py
+index 185c36e..2eb6f39 100644
+--- a/tests/test_windowconfig.py
++++ b/tests/test_windowconfig.py
+@@ -94,31 +94,6 @@ class WindowConfigTestCase(WindowConfigTestCase):
+ with self.assertRaises(ValueError):
+ self.window.resize_func = "Hello"
+
+- def test_load_texture_2d(self):
+- """Load texture with shortcut method"""
+- texture = self.config.load_texture_2d(
+- "textures/crate.png",
+- flip=True,
+- mipmap_levels=(0, 2),
+- anisotropy=4.0,
+- )
+- self.assertIsInstance(texture, moderngl.Texture)
+- self.assertEqual(texture.anisotropy, 4.0)
+-
+- def test_load_texture_array(self):
+- """Load texture array with shortcut method"""
+- texture = self.config.load_texture_array(
+- 'textures/array.png',
+- layers=10,
+- flip=True,
+- mipmap=False,
+- mipmap_levels=(0, 2),
+- anisotropy=4.0,
+- )
+- self.assertIsInstance(texture, moderngl.TextureArray)
+- self.assertEqual(texture.anisotropy, 4.0)
+- self.assertEqual(texture.layers, 10)
+-
+ def test_load_program_single(self):
+ """Load a single glsl program"""
+ prog = self.config.load_program(path='programs/white.glsl')
+--
+2.33.0
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 0dbc9db830..eee2fc0077 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -19710,6 +19710,50 @@ (define-public python-pyglet
music. All of this with a friendly Pythonic API that's simple to learn.")
(license license:bsd-3)))
+(define-public python-moderngl-window
+ (package
+ (name "python-moderngl-window")
+ (version "2.4.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/moderngl/moderngl-window")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (patches
+ (search-patches "python-moderngl-window-skip-tests.patch"))
+ (sha256
+ (base32
+ "1fvhm6ln3q5kl5m5q3gzfmx1kpyn054fhpcrgpqz8809dxi7pzcv"))))
+ (build-system python-build-system)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'fix-test
+ (lambda _
+ (substitute* '("tests/test_windowconfig.py")
+ (("terrain_Vs.glsl") "terrain_vs.glsl"))))
+ (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" )))))))
+ (propagated-inputs
+ (list python-pillow python-pyrr python-numpy python-moderngl
+ python-pyglet))
+ (native-inputs
+ (list python-pytest xorg-server-for-tests))
+ (home-page "https://github.com/moderngl/moderngl-window")
+ (synopsis "Cross-platform utility library for ModernGL")
+ (description "This ModernGL utility library simplifies window creation and
+resource loading. You can create a window for ModernGL using pyglet, pygame,
+PySide2, GLFW, SDL2, PyQt5 or tkinter. Events are unified into a single event
+system. Resource loading includes loading of 2D textures/texture arrays,
+shaders and objects/scenes.")
+ (license license:expat)))
+
(define-public python-screeninfo
(package
(name "python-screeninfo")
--
2.34.0
^ permalink raw reply related [flat|nested] 59+ messages in thread
* [bug#50505] [PATCH v3 09/12] gnu: Add python-manimpango.
2022-01-01 23:51 ` [bug#50505] [PATCH v3 00/13] Add python-manim and its missing dependencies Daniel Meißner via Guix-patches via
` (7 preceding siblings ...)
2022-01-01 23:51 ` [bug#50505] [PATCH v3 08/12] gnu: Add python-moderngl-window Daniel Meißner via Guix-patches via
@ 2022-01-01 23:51 ` Daniel Meißner via Guix-patches via
2022-01-01 23:51 ` [bug#50505] [PATCH v3 10/12] gnu: Add python-mapbox-earcut Daniel Meißner via Guix-patches via
` (2 subsequent siblings)
11 siblings, 0 replies; 59+ messages in thread
From: Daniel Meißner via Guix-patches via @ 2022-01-01 23:51 UTC (permalink / raw)
To: 50505; +Cc: Daniel Meißner, Xinglu Chen, Liliana Marie Prikler
* gnu/packages/python-science.scm (python-manimpango): New variable.
---
gnu/local.mk | 2 +
.../python-manimpango-remove-manim-dep.patch | 172 ++++++++++++++++++
gnu/packages/python-science.scm | 26 +++
3 files changed, 200 insertions(+)
create mode 100644 gnu/packages/patches/python-manimpango-remove-manim-dep.patch
diff --git a/gnu/local.mk b/gnu/local.mk
index ff3e80ea68..c5fe7d87b8 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -47,6 +47,7 @@
# Copyright © 2021 Dmitry Polyakov <polyakov@liltechdude.xyz>
# Copyright © 2021 Andrew Tropin <andrew@trop.in>
# Copyright © 2021 Simon Tournier <zimon.toutoune@gmail.com>
+# Copyright © 2021 Daniel Meißner <daniel.meissner-i4k@ruhr-uni-bochum.de>
#
# This file is part of GNU Guix.
#
@@ -1683,6 +1684,7 @@ dist_patch_DATA = \
%D%/packages/patches/python-flint-includes.patch \
%D%/packages/patches/python-libxml2-utf8.patch \
%D%/packages/patches/python-magic-python-bytecode.patch \
+ %D%/packages/patches/python-manimpango-remove-manim-dep.patch \
%D%/packages/patches/python-matplotlib-run-under-wayland-gtk3.patch \
%D%/packages/patches/python-memcached-syntax-warnings.patch \
%D%/packages/patches/python-moderngl-window-skip-tests.patch \
diff --git a/gnu/packages/patches/python-manimpango-remove-manim-dep.patch b/gnu/packages/patches/python-manimpango-remove-manim-dep.patch
new file mode 100644
index 0000000000..579c2302d8
--- /dev/null
+++ b/gnu/packages/patches/python-manimpango-remove-manim-dep.patch
@@ -0,0 +1,172 @@
+Fix dependency on manim for tests
+
+This fixes a circular dependency between manim and manimpango.
+
+Extracted from upstream:
+https://github.com/ManimCommunity/ManimPango/commit/7e2b17aa14b10bd58af0598cc2de51a406682797
+
+diff --git a/tests/_manim.py b/tests/_manim.py
+index 3ea4676..b11d3e9 100644
+--- a/tests/_manim.py
++++ b/tests/_manim.py
+@@ -2,11 +2,12 @@
+ """This file contains helpers for the tests copied and modified
+ from Manim.
+ """
+-
++import copy
+ import os
++import re
+ from pathlib import Path
+
+-from manimpango import Alignment, MarkupUtils
++from manimpango import Alignment, MarkupUtils, TextSetting, text2svg
+
+
+ class MarkupText:
+@@ -104,3 +105,115 @@ class MarkupText:
+
+ def __repr__(self):
+ return f"MarkupText({repr(self.original_text)})"
++
++
++class Text:
++ def __init__(
++ self,
++ text: str,
++ fill_opacity: float = 1.0,
++ stroke_width: int = 0,
++ size: int = 1,
++ line_spacing: int = -1,
++ font: str = "",
++ slant: str = "NORMAL",
++ weight: str = "NORMAL",
++ gradient: tuple = None,
++ tab_width: int = 4,
++ disable_ligatures: bool = False,
++ filename: str = "text.svg",
++ **kwargs,
++ ) -> None:
++ self.size = size
++ self.filename = filename
++ self.line_spacing = line_spacing
++ self.font = font
++ self.slant = slant
++ self.weight = weight
++ self.gradient = gradient
++ self.tab_width = tab_width
++ self.original_text = text
++ self.disable_ligatures = disable_ligatures
++ text_without_tabs = text
++ self.t2f = self.t2s = self.t2w = {}
++ if text.find("\t") != -1:
++ text_without_tabs = text.replace("\t", " " * self.tab_width)
++ self.text = text_without_tabs
++ if self.line_spacing == -1:
++ self.line_spacing = self.size + self.size * 0.3
++ else:
++ self.line_spacing = self.size + self.size * self.line_spacing
++ self.text2svg()
++
++ def text2settings(self):
++ """Internally used function. Converts the texts and styles
++ to a setting for parsing."""
++ settings = []
++ t2x = [self.t2f, self.t2s, self.t2w]
++ for i in range(len(t2x)):
++ fsw = [self.font, self.slant, self.weight]
++ if t2x[i]:
++ for word, x in list(t2x[i].items()):
++ for start, end in self.find_indexes(word, self.text):
++ fsw[i] = x
++ settings.append(TextSetting(start, end, *fsw))
++ # Set all text settings (default font, slant, weight)
++ fsw = [self.font, self.slant, self.weight]
++ settings.sort(key=lambda setting: setting.start)
++ temp_settings = settings.copy()
++ start = 0
++ for setting in settings:
++ if setting.start != start:
++ temp_settings.append(TextSetting(start, setting.start, *fsw))
++ start = setting.end
++ if start != len(self.text):
++ temp_settings.append(TextSetting(start, len(self.text), *fsw))
++ settings = sorted(temp_settings, key=lambda setting: setting.start)
++
++ if re.search(r"\n", self.text):
++ line_num = 0
++ for start, end in self.find_indexes("\n", self.text):
++ for setting in settings:
++ if setting.line_num == -1:
++ setting.line_num = line_num
++ if start < setting.end:
++ line_num += 1
++ new_setting = copy.copy(setting)
++ setting.end = end
++ new_setting.start = end
++ new_setting.line_num = line_num
++ settings.append(new_setting)
++ settings.sort(key=lambda setting: setting.start)
++ break
++ for setting in settings:
++ if setting.line_num == -1:
++ setting.line_num = 0
++ return settings
++
++ def text2svg(self):
++ """Internally used function.
++ Convert the text to SVG using Pango
++ """
++ size = self.size * 10
++ line_spacing = self.line_spacing * 10
++ dir_name = Path(self.filename).parent
++ disable_liga = self.disable_ligatures
++ if not os.path.exists(dir_name):
++ os.makedirs(dir_name)
++ file_name = self.filename
++ settings = self.text2settings()
++ width = 600
++ height = 400
++
++ return text2svg(
++ settings,
++ size,
++ line_spacing,
++ disable_liga,
++ file_name,
++ 30,
++ 30,
++ width,
++ height,
++ self.text,
++ )
+diff --git a/tests/test_fonts.py b/tests/test_fonts.py
+index 51e7eb4..da42895 100644
+--- a/tests/test_fonts.py
++++ b/tests/test_fonts.py
+@@ -3,13 +3,12 @@ import sys
+ from pathlib import Path
+ from shutil import copyfile
+
+-import manim
+ import pytest
+
+ import manimpango
+
+ from . import FONT_DIR
+-from ._manim import MarkupText
++from ._manim import MarkupText, Text
+
+ font_lists = {
+ (FONT_DIR / "AdobeVFPrototype.ttf").absolute(): "Adobe Variable Font Prototype",
+@@ -38,7 +37,7 @@ def test_register_font(font_name):
+ @pytest.mark.parametrize("font_name", font_lists.values())
+ def test_warning(capfd, font_name):
+ print(font_name)
+- manim.Text("Testing", font=font_name)
++ Text("Testing", font=font_name)
+ captured = capfd.readouterr()
+ assert "Pango-WARNING **" not in captured.err, "Looks like pango raised a warning?"
+
+--
+2.32.0
diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm
index 65f1dbf014..61628ec956 100644
--- a/gnu/packages/python-science.scm
+++ b/gnu/packages/python-science.scm
@@ -39,6 +39,7 @@ (define-module (gnu packages python-science)
#:use-module (gnu packages check)
#:use-module (gnu packages databases)
#:use-module (gnu packages gcc)
+ #:use-module (gnu packages gtk)
#:use-module (gnu packages image-processing)
#:use-module (gnu packages machine-learning)
#:use-module (gnu packages maths)
@@ -1037,3 +1038,28 @@ (define-public python-modin
libraries, Modin provides seamless integration and compatibility with existing
pandas code.")
(license license:asl2.0)))
+
+(define-public python-manimpango
+ (package
+ (name "python-manimpango")
+ (version "0.3.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "ManimPango" version))
+ (sha256
+ (base32
+ "1j2mbhf7d82718nkc0r8x7cf35hlh13b67qkczjbbys3w24nyfsw"))
+ (patches (search-patches "python-manimpango-remove-manim-dep.patch"))))
+ (build-system python-build-system)
+ (native-inputs
+ (list pkg-config python-cython python-pytest))
+ (inputs
+ (list pango))
+ (home-page "https://manimpango.manim.community/")
+ (synopsis
+ "Bindings for pango for use with Manim")
+ (description
+ "These are Python bindings for Pango to be used with the mathematical
+animation software Manim.")
+ (license license:gpl3+)))
--
2.34.0
^ permalink raw reply related [flat|nested] 59+ messages in thread
* [bug#50505] [PATCH v3 10/12] gnu: Add python-mapbox-earcut.
2022-01-01 23:51 ` [bug#50505] [PATCH v3 00/13] Add python-manim and its missing dependencies Daniel Meißner via Guix-patches via
` (8 preceding siblings ...)
2022-01-01 23:51 ` [bug#50505] [PATCH v3 09/12] gnu: Add python-manimpango Daniel Meißner via Guix-patches via
@ 2022-01-01 23:51 ` Daniel Meißner via Guix-patches via
2022-01-01 23:51 ` [bug#50505] [PATCH v3 11/12] gnu: Add python-screeninfo-0.6 Daniel Meißner via Guix-patches via
2022-01-01 23:51 ` [bug#50505] [PATCH v3 12/12] gnu: Add python-manim 0.9.0 Daniel Meißner via Guix-patches via
11 siblings, 0 replies; 59+ messages in thread
From: Daniel Meißner via Guix-patches via @ 2022-01-01 23:51 UTC (permalink / raw)
To: 50505; +Cc: Daniel Meißner, Xinglu Chen, Liliana Marie Prikler
* gnu/packages/python-science.scm (python-mapbox-earcut): New variable.
---
gnu/packages/python-xyz.scm | 26 ++++++++++++++++++++++++++
1 file changed, 26 insertions(+)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index eee2fc0077..5e43b0ca03 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -19754,6 +19754,32 @@ (define-public python-moderngl-window
shaders and objects/scenes.")
(license license:expat)))
+(define-public python-mapbox-earcut
+ (package
+ (name "python-mapbox-earcut")
+ (version "0.12.10")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "mapbox_earcut" version))
+ (sha256
+ (base32
+ "0ly48lijgd9inq07x42pfp9c24fn16vn9axpmfwqrkn979krbnah"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ (list python-numpy))
+ (native-inputs
+ (list python-pytest python-wheel python-setuptools-scm cmake))
+ (home-page
+ "https://github.com/skogler/mapbox_earcut_python")
+ (synopsis
+ "Python bindings for the Mapbox Earcut C++ polygon triangulation library")
+ (description
+ "The Mapbox Earcut library is a header-only C++ library which provides a
+fast and robust triangulation of 2D polygons. This package provides Python
+bindings for this library.")
+ (license license:isc)))
+
(define-public python-screeninfo
(package
(name "python-screeninfo")
--
2.34.0
^ permalink raw reply related [flat|nested] 59+ messages in thread
* [bug#50505] [PATCH v3 11/12] gnu: Add python-screeninfo-0.6.
2022-01-01 23:51 ` [bug#50505] [PATCH v3 00/13] Add python-manim and its missing dependencies Daniel Meißner via Guix-patches via
` (9 preceding siblings ...)
2022-01-01 23:51 ` [bug#50505] [PATCH v3 10/12] gnu: Add python-mapbox-earcut Daniel Meißner via Guix-patches via
@ 2022-01-01 23:51 ` Daniel Meißner via Guix-patches via
2022-01-01 23:51 ` [bug#50505] [PATCH v3 12/12] gnu: Add python-manim 0.9.0 Daniel Meißner via Guix-patches via
11 siblings, 0 replies; 59+ messages in thread
From: Daniel Meißner via Guix-patches via @ 2022-01-01 23:51 UTC (permalink / raw)
To: 50505; +Cc: Daniel Meißner, Xinglu Chen, Liliana Marie Prikler
* (python-screeninfo-0.6): New variable.
---
gnu/packages/python-xyz.scm | 19 +++++++++++++++----
1 file changed, 15 insertions(+), 4 deletions(-)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 5e43b0ca03..640edabd23 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -19780,19 +19780,19 @@ (define-public python-mapbox-earcut
bindings for this library.")
(license license:isc)))
-(define-public python-screeninfo
+(define-public python-screeninfo-0.6
(package
(name "python-screeninfo")
- (version "0.7")
+ (version "0.6.7")
(source
(origin
(method url-fetch)
(uri (pypi-uri "screeninfo" version))
(sha256
(base32
- "007m7sqv30qak56885dxbijksrg2hd121hfpvg2llm734wspra8j"))))
+ "1jv9m9xhl7zr2hzfx0w5zyw9pajn4b4zpln4rdl3zni9lcfaqjqw"))))
(build-system python-build-system)
- (native-inputs `(("python-pytest" ,python-pytest)))
+ (native-inputs (list python-pytest))
(home-page "https://github.com/rr-/screeninfo")
(synopsis
"Obtain information about physical screens")
@@ -19802,6 +19802,17 @@ (define-public python-screeninfo
etc.")
(license (list license:expat license:bsd-3))))
+(define-public python-screeninfo
+ (package/inherit python-screeninfo-0.6
+ (version "0.7")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "screeninfo" version))
+ (sha256
+ (base32
+ "007m7sqv30qak56885dxbijksrg2hd121hfpvg2llm734wspra8j"))))))
+
(define-public python-rencode
(package
(name "python-rencode")
--
2.34.0
^ permalink raw reply related [flat|nested] 59+ messages in thread
* [bug#50505] [PATCH v3 12/12] gnu: Add python-manim 0.9.0.
2022-01-01 23:51 ` [bug#50505] [PATCH v3 00/13] Add python-manim and its missing dependencies Daniel Meißner via Guix-patches via
` (10 preceding siblings ...)
2022-01-01 23:51 ` [bug#50505] [PATCH v3 11/12] gnu: Add python-screeninfo-0.6 Daniel Meißner via Guix-patches via
@ 2022-01-01 23:51 ` Daniel Meißner via Guix-patches via
2022-01-02 0:52 ` Liliana Marie Prikler
11 siblings, 1 reply; 59+ messages in thread
From: Daniel Meißner via Guix-patches via @ 2022-01-01 23:51 UTC (permalink / raw)
To: 50505; +Cc: Daniel Meißner, Xinglu Chen, Liliana Marie Prikler
* gnu/packages/python-science.scm (python-manim): New variable.
---
gnu/packages/python-science.scm | 61 +++++++++++++++++++++++++++++++++
1 file changed, 61 insertions(+)
diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm
index 61628ec956..ce451a3d28 100644
--- a/gnu/packages/python-science.scm
+++ b/gnu/packages/python-science.scm
@@ -37,6 +37,7 @@ (define-module (gnu packages python-science)
#:use-module (gnu packages)
#:use-module (gnu packages base)
#:use-module (gnu packages check)
+ #:use-module (gnu packages cmake)
#:use-module (gnu packages databases)
#:use-module (gnu packages gcc)
#:use-module (gnu packages gtk)
@@ -56,6 +57,7 @@ (define-module (gnu packages python-science)
#:use-module (gnu packages sphinx)
#:use-module (gnu packages statistics)
#:use-module (gnu packages time)
+ #:use-module (gnu packages video)
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
@@ -1063,3 +1065,62 @@ (define-public python-manimpango
"These are Python bindings for Pango to be used with the mathematical
animation software Manim.")
(license license:gpl3+)))
+
+(define-public python-manim
+ (package
+ (name "python-manim")
+ (version "0.9.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "manim" version))
+ (sha256
+ (base32
+ "0ksp57wcy45xkjips5i4wwm690mhbs2dmlcgsbmiwx78mfk4z0r3"))))
+ (build-system python-build-system)
+ (arguments '(#:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'fix-ffmpeg-path
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (substitute* '("manim/constants.py")
+ (("FFMPEG_BIN: str = \"ffmpeg")
+ (string-append "FFMPEG_BIN: str = \""
+ (search-input-file inputs "/bin/ffmpeg"))))))
+ ;; PyPI package contains no tests for manim but the
+ ;; setup.py test command fails, so remove it
+ (delete 'check))))
+ (propagated-inputs
+ (list python-click
+ python-click-default-group
+ python-cloup-0.7
+ python-colour
+ python-decorator
+ python-manimpango
+ python-mapbox-earcut
+ python-moderngl
+ python-moderngl-window
+ python-networkx
+ python-numpy
+ python-pillow
+ python-pycairo
+ python-pydub
+ python-pygments
+ python-requests
+ python-rich
+ python-scipy
+ python-screeninfo-0.6
+ python-tqdm
+ python-watchdog))
+ (inputs
+ (list ffmpeg))
+ (native-inputs
+ (list python-wheel))
+ (home-page "https://www.manim.community/")
+ (synopsis
+ "Python animation engine for explanatory math videos")
+ (description
+ "Manim is a Python library for creating mathematical animations. The
+animations are written as Python code which is based on predefined objects.
+You can make animations with maths formulas (LaTeX-based), simple shapes, 3D
+objects, function graphs and more.")
+ (license license:expat)))
--
2.34.0
^ permalink raw reply related [flat|nested] 59+ messages in thread
* [bug#50505] [PATCH v3 03/12] gnu: Add python-glcontext.
2022-01-01 23:51 ` [bug#50505] [PATCH v3 03/12] gnu: Add python-glcontext Daniel Meißner via Guix-patches via
@ 2022-01-02 0:31 ` Liliana Marie Prikler
0 siblings, 0 replies; 59+ messages in thread
From: Liliana Marie Prikler @ 2022-01-02 0:31 UTC (permalink / raw)
To: Daniel Meißner, 50505; +Cc: Xinglu Chen
Am Sonntag, dem 02.01.2022 um 00:51 +0100 schrieb Daniel Meißner:
> * gnu/packages/python-xyz.scm (python-glcontext): New variable.
> ---
> gnu/packages/python-xyz.scm | 53 +++++++++++++++++++++++++++++++++++++
> 1 file changed, 53 insertions(+)
>
> diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
> index deff85e797..d8e6fa070e 100644
> --- a/gnu/packages/python-xyz.scm
> +++ b/gnu/packages/python-xyz.scm
> @@ -19555,6 +19555,59 @@ (define-public python-pyopengl-accelerate
> (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'"))))))
Use of (assoc-ref inputs input) in new code is discouraged in favour of
this-package-input or search-input-file. Leo Famulari started a thread
on which of the two to prefer over in guix-devel [1]. My personal
opinion is that search-input-file ought to be fine here.
[1] https://lists.gnu.org/archive/html/guix-devel/2021-12/msg00240.html
^ permalink raw reply [flat|nested] 59+ messages in thread
* [bug#50505] [PATCH v3 04/12] gnu: Add python-moderngl.
2022-01-01 23:51 ` [bug#50505] [PATCH v3 04/12] gnu: Add python-moderngl Daniel Meißner via Guix-patches via
@ 2022-01-02 0:33 ` Liliana Marie Prikler
0 siblings, 0 replies; 59+ messages in thread
From: Liliana Marie Prikler @ 2022-01-02 0:33 UTC (permalink / raw)
To: Daniel Meißner, 50505; +Cc: Xinglu Chen
Am Sonntag, dem 02.01.2022 um 00:51 +0100 schrieb Daniel Meißner:
> + (description "ModernGL is a python wrapper over OpenGL 3.3+ core
> that
> +simplifies the creation of simple graphics applications like
> scientific
> +simulations, games or user interfaces. Usually, acquiring in-depth
> knowledge
> +of OpenGL requires a steep learning curve. In contrast, ModernGL is
> easy to
> +learn and use, moreover it is capable of rendering with high
> performance and
> +quality, with less code written. The majority of the moderngl code
> base is
> +also written in C++ for high performance.")
The first sentence is enough, we don't need ads :)
^ permalink raw reply [flat|nested] 59+ messages in thread
* [bug#50505] [PATCH v3 05/12] gnu: Add python-pyglet.
2022-01-01 23:51 ` [bug#50505] [PATCH v3 05/12] gnu: Add python-pyglet Daniel Meißner via Guix-patches via
@ 2022-01-02 0:36 ` Liliana Marie Prikler
0 siblings, 0 replies; 59+ messages in thread
From: Liliana Marie Prikler @ 2022-01-02 0:36 UTC (permalink / raw)
To: Daniel Meißner, 50505; +Cc: Xinglu Chen
Am Sonntag, dem 02.01.2022 um 00:51 +0100 schrieb Daniel Meißner:
> + (add-before 'build 'fix-lib-paths
> + (lambda* (#:key inputs outputs #:allow-other-keys)
> + (substitute* '("pyglet/gl/lib_glx.py")
> + (("'GL'")
> + (string-append "\"" (assoc-ref inputs "mesa")
> + "/lib/libGL.so\""))
> + (("'GLU'")
> + (string-append "\"" (assoc-ref inputs "glu")
> + "/lib/libGLU.so\"")))
> + (substitute* '("pyglet/font/freetype_lib.py")
> + (("'freetype'")
> + (string-append "\"" (assoc-ref inputs "freetype")
> + "/lib/libfreetype.so\"")))
> + (substitute* '("pyglet/font/fontconfig.py")
> + (("'fontconfig'")
> + (string-append "\"" (assoc-ref inputs "fontconfig")
> + "/lib/libfontconfig.so\"")))))
Here as well, friendship ended with assoc-ref ;)
> + (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/unit")))))))
We typically use a pre-check phase to set things up. Does python
support #:test-target?
> + (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, and playing
> sounds and
> +music. All of this with a friendly Pythonic API that's simple to
> learn.")
Last sentence sounds like an ad statement, the others can stay.
^ permalink raw reply [flat|nested] 59+ messages in thread
* [bug#50505] [PATCH v3 08/12] gnu: Add python-moderngl-window.
2022-01-01 23:51 ` [bug#50505] [PATCH v3 08/12] gnu: Add python-moderngl-window Daniel Meißner via Guix-patches via
@ 2022-01-02 0:47 ` Liliana Marie Prikler
2022-01-10 8:40 ` Daniel Meißner via Guix-patches via
0 siblings, 1 reply; 59+ messages in thread
From: Liliana Marie Prikler @ 2022-01-02 0:47 UTC (permalink / raw)
To: Daniel Meißner, 50505; +Cc: Xinglu Chen
Am Sonntag, dem 02.01.2022 um 00:51 +0100 schrieb Daniel Meißner:
> * gnu/packages/python-xyz.scm (python-moderngl-window): New variable.
> ---
> gnu/local.mk | 1 +
> .../python-moderngl-window-skip-tests.patch | 146
> ++++++++++++++++++
> gnu/packages/python-xyz.scm | 44 ++++++
> 3 files changed, 191 insertions(+)
> create mode 100644 gnu/packages/patches/python-moderngl-window-skip-
> tests.patch
>
> diff --git a/gnu/local.mk b/gnu/local.mk
> index 852f9f3246..ff3e80ea68 100644
> --- a/gnu/local.mk
> +++ b/gnu/local.mk
> @@ -1685,6 +1685,7 @@ dist_patch_DATA
> = \
> %D%/packages/patches/python-magic-python-bytecode.patch \
> %D%/packages/patches/python-matplotlib-run-under-wayland-
> gtk3.patch \
> %D%/packages/patches/python-memcached-syntax-warnings.patch \
> + %D%/packages/patches/python-moderngl-window-skip-tests.patch \
Document this addition as well as the file itself (New file.) in the
commit log.
> %D%/packages/patches/python-mox3-python3.6-compat.patch \
> %D%/packages/patches/python-typing-inspect-fix.patch \
> %D%/packages/patches/python-packaging-test-
> arch.patch \
> diff --git a/gnu/packages/patches/python-moderngl-window-skip-
> tests.patch b/gnu/packages/patches/python-moderngl-window-skip-
> tests.patch
> new file mode 100644
> index 0000000000..aee4b71e2a
> --- /dev/null
> +++ b/gnu/packages/patches/python-moderngl-window-skip-tests.patch
> @@ -0,0 +1,146 @@
> +Skip failing tests and tests for optional dependencies
> +
> +The Python packages pywavefront and trimesh are optional
> dependencies and not
> +yet packaged in Guix but the tests try to load the modules anyway.
> Therefore
> +skip them.
Okay.
> +The tests test_texture_mimpamps, test_texture_abspath,
> test_load_texture_2d
> +and test_load_texture_array fail when Guix builds the package. This
> is not
> +the case when running the tests directly from a source tree.
> +
You might be missing an X extension here. Try adjusting the Xvfb call.
Btw. I checked python-build-system and it relies on setup.py to do
tests, so the check phase can stay, both here and where I previously
criticised it. Sorry for the noise.
^ permalink raw reply [flat|nested] 59+ messages in thread
* [bug#50505] [PATCH v3 12/12] gnu: Add python-manim 0.9.0.
2022-01-01 23:51 ` [bug#50505] [PATCH v3 12/12] gnu: Add python-manim 0.9.0 Daniel Meißner via Guix-patches via
@ 2022-01-02 0:52 ` Liliana Marie Prikler
0 siblings, 0 replies; 59+ messages in thread
From: Liliana Marie Prikler @ 2022-01-02 0:52 UTC (permalink / raw)
To: Daniel Meißner, 50505; +Cc: Xinglu Chen
Am Sonntag, dem 02.01.2022 um 00:51 +0100 schrieb Daniel Meißner:
> + ;; PyPI package contains no tests for manim but
> the
> + ;; setup.py test command fails, so remove it
> + (delete 'check))))
Use #:tests? #f then, either with the same comment or a shortened one.
^ permalink raw reply [flat|nested] 59+ messages in thread
* [bug#50505] [PATCH v3 08/12] gnu: Add python-moderngl-window.
2022-01-02 0:47 ` Liliana Marie Prikler
@ 2022-01-10 8:40 ` Daniel Meißner via Guix-patches via
0 siblings, 0 replies; 59+ messages in thread
From: Daniel Meißner via Guix-patches via @ 2022-01-10 8:40 UTC (permalink / raw)
To: Liliana Marie Prikler, 50505; +Cc: Xinglu Chen
Hi Liliana,
Liliana Marie Prikler writes:
> Am Sonntag, dem 02.01.2022 um 00:51 +0100 schrieb Daniel Meißner:
>> +The tests test_texture_mimpamps, test_texture_abspath,
>> test_load_texture_2d
>> +and test_load_texture_array fail when Guix builds the package. This
>> is not
>> +the case when running the tests directly from a source tree.
>> +
> You might be missing an X extension here. Try adjusting the Xvfb call.
After some research on the internet and grepping Guix sources I adjusted
the invocation of Xvfb to the following:
Xvfb :1 +extension GLX &
as used for example in the package definition of gtk. However, the same
four tests still fail. Do you have an idea what other X extensions
might be missing?
Thanks,
Daniel
^ permalink raw reply [flat|nested] 59+ messages in thread
* [bug#50505] [PATCH 00/12] gnu: Add python-manim
2021-09-10 11:22 [bug#50505] [PATCH 00/12] gnu: Add python-manim Daniel Meißner via Guix-patches via
` (16 preceding siblings ...)
2022-01-01 23:51 ` [bug#50505] [PATCH v3 00/13] Add python-manim and its missing dependencies Daniel Meißner via Guix-patches via
@ 2024-10-18 20:17 ` Sharlatan Hellseher
17 siblings, 0 replies; 59+ messages in thread
From: Sharlatan Hellseher @ 2024-10-18 20:17 UTC (permalink / raw)
To: 50505
[-- Attachment #1: Type: text/plain, Size: 588 bytes --]
Hi,
I've refreshed python-pyglet with combined efforts from:
- 48467 [PATCH] gnu: Add python-pyglet.
;;; Copyright © 2021 Adam Kandur <kefironpremise@gmail.com>
- 50505 [PATCH 00/12] gnu: Add python-manim
;;; Copyright © 2021 Daniel Meißner <daniel.meissner-i4k@ruhr-uni-bochum.de>
- 52116 [PATCH 0/2] gnu: Add printrun.
;;; Copyright © 2021 Morgan Smith <Morgan.J.Smith@outlook.com>
- 67131 [PATCH 0/7] gnu: Add tuxemon.
;;; Copyright © 2023 Adam Faiz <adam.faiz@disroot.org>
Pushed as
88471af678959b1eb4e357a47293030d05de8658 to master.
--
Thanks,
Oleg
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]
^ permalink raw reply [flat|nested] 59+ messages in thread
end of thread, other threads:[~2024-10-18 20:19 UTC | newest]
Thread overview: 59+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-09-10 11:22 [bug#50505] [PATCH 00/12] gnu: Add python-manim Daniel Meißner via Guix-patches via
2021-09-10 11:24 ` [bug#50505] [PATCH 01/12] gnu: Add python-cloup Daniel Meißner via Guix-patches via
2021-09-10 11:24 ` [bug#50505] [PATCH 02/12] gnu: Add python-cloup-0.7 Daniel Meißner via Guix-patches via
2021-09-10 11:24 ` [bug#50505] [PATCH 03/12] gnu: Add python-glcontext Daniel Meißner via Guix-patches via
2021-09-11 19:42 ` Xinglu Chen
2021-09-10 11:24 ` [bug#50505] [PATCH 04/12] gnu: Add python-moderngl Daniel Meißner via Guix-patches via
2021-09-11 19:46 ` Xinglu Chen
2021-09-10 11:24 ` [bug#50505] [PATCH 05/12] gnu: Add python-pyglet Daniel Meißner via Guix-patches via
2021-09-11 19:49 ` Xinglu Chen
2021-09-10 11:24 ` [bug#50505] [PATCH 06/12] gnu: Add python-multipledispatch Daniel Meißner via Guix-patches via
2021-09-11 19:52 ` Xinglu Chen
2021-09-10 11:24 ` [bug#50505] [PATCH 07/12] gnu: Add python-pyrr Daniel Meißner via Guix-patches via
2021-09-11 19:58 ` Xinglu Chen
2021-09-10 11:24 ` [bug#50505] [PATCH 08/12] gnu: Add python-screeninfo Daniel Meißner via Guix-patches via
2021-09-10 11:24 ` [bug#50505] [PATCH 09/12] gnu: Add python-moderngl-window Daniel Meißner via Guix-patches via
2021-09-10 11:25 ` [bug#50505] [PATCH 10/12] gnu: Add python-manimpango Daniel Meißner via Guix-patches via
2021-09-10 11:25 ` [bug#50505] [PATCH 11/12] gnu: Add python-mapbox-earcut Daniel Meißner via Guix-patches via
2021-09-10 11:25 ` [bug#50505] [PATCH 12/12] gnu: Add python-manim 0.9.0 Daniel Meißner via Guix-patches via
2021-09-11 19:33 ` [bug#50505] [PATCH 01/12] gnu: Add python-cloup Xinglu Chen
2021-09-15 14:54 ` Daniel Meißner via Guix-patches via
2021-09-10 14:40 ` [bug#50505] [PATCH 00/12] gnu: Add python-manim Liliana Marie Prikler
2021-09-13 14:30 ` Daniel Meißner via Guix-patches via
2021-09-13 14:46 ` Liliana Marie Prikler
2021-09-13 14:49 ` Liliana Marie Prikler
2021-09-15 14:32 ` Daniel Meißner via Guix-patches via
2021-09-15 15:25 ` [bug#50505] [PATCH v2 00/13] " Daniel Meißner via Guix-patches via
2021-09-15 15:25 ` [bug#50505] [PATCH v2 01/13] gnu: Add python-cloup Daniel Meißner via Guix-patches via
2021-09-15 15:25 ` [bug#50505] [PATCH v2 02/13] gnu: Add python-cloup-0.7 Daniel Meißner via Guix-patches via
2021-09-15 15:25 ` [bug#50505] [PATCH v2 03/13] gnu: Add python-glcontext Daniel Meißner via Guix-patches via
2021-09-15 15:25 ` [bug#50505] [PATCH v2 04/13] gnu: Add python-moderngl Daniel Meißner via Guix-patches via
2021-09-15 15:25 ` [bug#50505] [PATCH v2 05/13] gnu: Add python-pyglet Daniel Meißner via Guix-patches via
2021-09-15 15:25 ` [bug#50505] [PATCH v2 06/13] gnu: Add python-multipledispatch Daniel Meißner via Guix-patches via
2021-09-15 15:25 ` [bug#50505] [PATCH v2 07/13] gnu: Add python-pyrr Daniel Meißner via Guix-patches via
2021-09-15 15:25 ` [bug#50505] [PATCH v2 08/13] gnu: Add python-screeninfo Daniel Meißner via Guix-patches via
2021-09-15 15:25 ` [bug#50505] [PATCH v2 09/13] gnu: Add python-moderngl-window Daniel Meißner via Guix-patches via
2021-09-15 15:25 ` [bug#50505] [PATCH v2 10/13] gnu: Add python-manimpango Daniel Meißner via Guix-patches via
2021-09-15 15:25 ` [bug#50505] [PATCH v2 11/13] gnu: Add python-mapbox-earcut Daniel Meißner via Guix-patches via
2021-09-15 15:25 ` [bug#50505] [PATCH v2 12/13] gnu: Add python-screeninfo-0.6 Daniel Meißner via Guix-patches via
2021-09-15 15:25 ` [bug#50505] [PATCH v2 13/13] gnu: Add python-manim 0.9.0 Daniel Meißner via Guix-patches via
2022-01-01 23:51 ` [bug#50505] [PATCH v3 00/13] Add python-manim and its missing dependencies Daniel Meißner via Guix-patches via
2022-01-01 23:51 ` [bug#50505] [PATCH v3 01/12] gnu: Add python-cloup Daniel Meißner via Guix-patches via
2022-01-01 23:51 ` [bug#50505] [PATCH v3 02/12] gnu: Add python-cloup-0.7 Daniel Meißner via Guix-patches via
2022-01-01 23:51 ` [bug#50505] [PATCH v3 03/12] gnu: Add python-glcontext Daniel Meißner via Guix-patches via
2022-01-02 0:31 ` Liliana Marie Prikler
2022-01-01 23:51 ` [bug#50505] [PATCH v3 04/12] gnu: Add python-moderngl Daniel Meißner via Guix-patches via
2022-01-02 0:33 ` Liliana Marie Prikler
2022-01-01 23:51 ` [bug#50505] [PATCH v3 05/12] gnu: Add python-pyglet Daniel Meißner via Guix-patches via
2022-01-02 0:36 ` Liliana Marie Prikler
2022-01-01 23:51 ` [bug#50505] [PATCH v3 06/12] gnu: Add python-pyrr Daniel Meißner via Guix-patches via
2022-01-01 23:51 ` [bug#50505] [PATCH v3 07/12] gnu: Add python-screeninfo Daniel Meißner via Guix-patches via
2022-01-01 23:51 ` [bug#50505] [PATCH v3 08/12] gnu: Add python-moderngl-window Daniel Meißner via Guix-patches via
2022-01-02 0:47 ` Liliana Marie Prikler
2022-01-10 8:40 ` Daniel Meißner via Guix-patches via
2022-01-01 23:51 ` [bug#50505] [PATCH v3 09/12] gnu: Add python-manimpango Daniel Meißner via Guix-patches via
2022-01-01 23:51 ` [bug#50505] [PATCH v3 10/12] gnu: Add python-mapbox-earcut Daniel Meißner via Guix-patches via
2022-01-01 23:51 ` [bug#50505] [PATCH v3 11/12] gnu: Add python-screeninfo-0.6 Daniel Meißner via Guix-patches via
2022-01-01 23:51 ` [bug#50505] [PATCH v3 12/12] gnu: Add python-manim 0.9.0 Daniel Meißner via Guix-patches via
2022-01-02 0:52 ` Liliana Marie Prikler
2024-10-18 20:17 ` [bug#50505] [PATCH 00/12] gnu: Add python-manim Sharlatan Hellseher
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).