unofficial mirror of guix-patches@gnu.org 
 help / color / Atom feed
* [bug#42081] [PATCH] Upgrade xpra to 4.0.2
@ 2020-06-27 13:26 Lars-Dominik Braun
  0 siblings, 0 replies; only message in thread
From: Lars-Dominik Braun @ 2020-06-27 13:26 UTC (permalink / raw)
  To: 42081; +Cc: rhelling

[-- Attachment #1: Type: text/plain, Size: 507 bytes --]

Hi,

the following patchset upgrade xpra to version 4.0.2, which will finally
use Python 3 and GTK 3. It removes the Python 2 variants of PyOpenGL,
because xpra is the only dependent. I’ve been running this package for a
week now and connected to both version 4 and version 3 on an Ubuntu
machine, which still works. OpenGL also works, despite failing tests for
PyOpenGL.

Rutger: You have been working on xpra in the past. Could you take a
look and make sure I did not break any use case?

Cheers,
Lars


[-- Attachment #2: 0001-gnu-Add-python-pyopengl.patch --]
[-- Type: text/x-diff, Size: 2695 bytes --]

From 03f07d5544f5c4ef9baffe5924a14386d2128eff Mon Sep 17 00:00:00 2001
From: Lars-Dominik Braun <lars@6xq.net>
Date: Sat, 27 Jun 2020 15:06:14 +0200
Subject: [PATCH 1/6] gnu: Add python-pyopengl.

* gnu/packages/python-xyz.scm (python-pyopengl): 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 300277f045..d6966dceeb 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -15362,6 +15362,52 @@ library.")
     (description
      "This is the Cython-coded accelerator module for PyOpenGL.")))
 
+(define-public python-pyopengl
+  (package
+    (name "python-pyopengl")
+    (version "3.1.5")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "PyOpenGL" version))
+       (sha256
+        (base32
+         "091lp9bpqi8yf1nmyg19xmvw611lrzq2q94cl1k5gnlh0c6vl1s1"))))
+    (build-system python-build-system)
+    (inputs
+     `(("mesa" ,mesa)
+       ("freeglut" ,freeglut)
+       ("glu" ,glu)))
+    (arguments
+     `(#:tests? #f ; Tests fail: AttributeError: 'GLXPlatform' object has no
+                                        ;attribute 'OSMesa'
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'build 'fix-paths
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (substitute* '("OpenGL/platform/ctypesloader.py")
+               (("filenames_to_try = \\[\\]") "filenames_to_try = [name]"))
+             (substitute* '("OpenGL/platform/glx.py" "tests/check_glut_load.py")
+               (("'GL'")
+                (string-append "'" (assoc-ref inputs "mesa") "/lib/libGL.so'"))
+               (("'GLU'")
+                (string-append "'" (assoc-ref inputs "glu") "/lib/libGLU.so'"))
+               (("'glut',")
+                (string-append "'" (assoc-ref inputs "freeglut") "/lib/libglut.so',"))
+               (("'GLESv1_CM'")
+                (string-append "'" (assoc-ref inputs "mesa") "/lib/libGLESv1_CM.so'"))
+               (("'GLESv2'")
+                (string-append "'" (assoc-ref inputs "mesa") "/lib/libGLESv2.so'")))
+               ;; Not providing libgle. It seems to be very old.
+             #t)))))
+    (home-page "http://pyopengl.sourceforge.net")
+    (synopsis "Standard OpenGL bindings for Python")
+    (description
+     "PyOpenGL is the most common cross platform Python binding to OpenGL and
+related APIs.  The binding is created using the standard @code{ctypes}
+library.")
+    (license license:bsd-3)))
+
 (define-public python-rencode
   (package
    (name "python-rencode")
-- 
2.26.2


[-- Attachment #3: 0004-gnu-xpra-Upgrade-to-4.0.2.patch --]
[-- Type: text/x-diff, Size: 12125 bytes --]

From c78e6e9371c37b91e796ed71451150d332ce40a9 Mon Sep 17 00:00:00 2001
From: Lars-Dominik Braun <lars@6xq.net>
Date: Sat, 27 Jun 2020 15:11:05 +0200
Subject: [PATCH 4/6] gnu: xpra: Upgrade to 4.0.2.

* gnu/packages/xorg.scm (xpra)[version]: Upgrade. [source]: Add patch.
  [inputs]: Adjust to use Python 3 dependencies. [arguments]: Use Python
  3, add phases to patch hardcoded binary paths.
* gnu/local.mk (dist_patch_DATA): Add patch.
* gnu/packages/patches/xpra-4.0.1-systemd-run.patch: New file.
---
 gnu/local.mk                                  |   1 +
 .../patches/xpra-4.0.1-systemd-run.patch      |  34 ++++
 gnu/packages/xorg.scm                         | 153 ++++++++++--------
 3 files changed, 123 insertions(+), 65 deletions(-)
 create mode 100644 gnu/packages/patches/xpra-4.0.1-systemd-run.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 396629cc93..c4a37a4514 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1623,6 +1623,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/xplanet-1.3.1-libdisplay_DisplayOutput.cpp.patch	\
   %D%/packages/patches/xplanet-1.3.1-libimage_gif.c.patch	\
   %D%/packages/patches/xplanet-1.3.1-xpUtil-Add2017LeapSecond.cpp.patch	\
+  %D%/packages/patches/xpra-4.0.1-systemd-run.patch	\
   %D%/packages/patches/xsane-fix-memory-leak.patch		\
   %D%/packages/patches/xsane-fix-pdf-floats.patch		\
   %D%/packages/patches/xsane-fix-snprintf-buffer-length.patch	\
diff --git a/gnu/packages/patches/xpra-4.0.1-systemd-run.patch b/gnu/packages/patches/xpra-4.0.1-systemd-run.patch
new file mode 100644
index 0000000000..1ea11830a5
--- /dev/null
+++ b/gnu/packages/patches/xpra-4.0.1-systemd-run.patch
@@ -0,0 +1,34 @@
+Disable systemd-run if the command is not found.
+
+diff -Naur xpra-4.0.1/xpra/scripts/main.py xpra-4.0.1.patched/xpra/scripts/main.py
+--- xpra-4.0.1/xpra/scripts/main.py	2020-05-17 18:12:15.000000000 +0200
++++ xpra-4.0.1.patched/xpra/scripts/main.py	2020-06-01 12:12:18.500257507 +0200
+@@ -312,16 +312,18 @@
+     if not is_systemd_pid1():
+         return False
+     #test it:
+-    cmd = ["systemd-run", "--quiet", "--user", "--scope", "--", "true"]
+-    proc = Popen(cmd, stdin=None, stdout=None, stderr=None, shell=False)
+-    r = pollwait(proc, timeout=1)
+-    if r is None:
+-        try:
+-            proc.terminate()
+-        except Exception:
+-            pass
+-    return r==0
+-
++    try:
++        cmd = ["systemd-run", "--quiet", "--user", "--scope", "--", "true"]
++        proc = Popen(cmd, stdin=None, stdout=None, stderr=None, shell=False)
++        r = pollwait(proc, timeout=1)
++        if r is None:
++            try:
++                proc.terminate()
++            except Exception:
++                pass
++        return r==0
++    except FileNotFoundError:
++        return False
+ 
+ def run_mode(script_file, error_cb, options, args, mode, defaults):
+     #configure default logging handler:
diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm
index f02d459d28..6eaf733bbd 100644
--- a/gnu/packages/xorg.scm
+++ b/gnu/packages/xorg.scm
@@ -6276,7 +6276,7 @@ basic eye-candy effects.")
 (define-public xpra
   (package
     (name "xpra")
-    (version "2.5.3")
+    (version "4.0.2")
     (source
      (origin
        (method url-fetch)
@@ -6284,85 +6284,108 @@ basic eye-candy effects.")
                            version ".tar.xz"))
        (sha256
         (base32
-         "1ys35lj28903alccks9p055psy1fsk1nxi8ncchvw8bfxkkkvbys"))))
+         "1cs39jzi59hkl421xmhi549ndmdfzkg0ap45f4nlsn9zr9zwmp3x"))
+       (patches (search-patches "xpra-4.0.1-systemd-run.patch"))))
     (build-system python-build-system)
-    (inputs `(("ffmpeg" ,ffmpeg)
-              ("flac" ,flac)
-              ("gtk+-2" ,gtk+-2) ;; no full GTK3 support yet
+    ;; see also http://xpra.org/trac/wiki/Dependencies
+    (inputs `(
+              ;; Essential dependencies.
               ("libjpeg" ,libjpeg-turbo)
-              ("libpng" ,libpng)
-              ("libvpx" ,libvpx)
-              ("libx264" ,libx264)
-              ("libxcomposite" ,libxcomposite)
-              ("libxdamage" ,libxdamage)
-              ("libxi" ,libxi)
-              ("libxkbfile" ,libxkbfile)
+              ("libwebp" ,libwebp)
+              ("ffmpeg" ,ffmpeg)
+              ("libx11" ,libx11)
               ("libxrandr" ,libxrandr)
               ("libxtst" ,libxtst)
-              ("lzo" ,lzo)
-              ("python2-cryptography" ,python2-cryptography)
-              ("python2-dbus" ,python2-dbus)
-              ("python2-lz4" ,python2-lz4)
-              ("python2-lzo" ,python2-lzo)
-              ("python2-netifaces" ,python2-netifaces)
-              ("python2-numpy" ,python2-numpy)
-              ("python2-pillow" ,python2-pillow)
-              ("python2-pycairo" ,python2-pycairo)
-              ("python2-pycrypto" ,python2-pycrypto)
-              ("python2-pygobject" ,python2-pygobject)
-              ("python2-pyopengl" ,python2-pyopengl)
-              ("python2-pyopengl-accelerate" ,python2-pyopengl-accelerate)
-              ("python2-pygtk" ,python2-pygtk)
-              ("python2-rencode" ,python2-rencode)
-              ("xorg-server" ,xorg-server)))
+              ("libxfixes" ,libxfixes)
+              ("libxkbfile" ,libxkbfile)
+              ("libxcomposite" ,libxcomposite)
+              ("libxdamage" ,libxdamage)
+              ("libxext" ,libxext)
+              ("gtk+" ,gtk+)
+              ("python-pycairo" ,python-pycairo)
+              ("python-pygobject" ,python-pygobject)
+              ("xauth" ,xauth)
+              ("xorg-server" ,xorg-server)
+              ("xf86-video-dummy" ,xf86-video-dummy)
+              ("xf86-input-mouse" ,xf86-input-mouse)
+              ("xf86-input-keyboard" ,xf86-input-keyboard)
+              ("python-pillow" ,python-pillow)
+              ;; Optional dependencies.
+              ("python-rencode" ,python-rencode) ; For speed.
+              ("python-numpy", python-numpy)
+              ("python-pyopengl" ,python-pyopengl) ; Drawing acceleration.
+              ("python-pyopengl-accelerate" ,python-pyopengl-accelerate) ; Same.
+              ("python-paramiko" ,python-paramiko) ; Tunneling over SSH.
+              ("python-dbus" ,python-dbus) ; For desktop notifications.
+              ("dbus" ,dbus)               ; For dbus-launch command.
+              ("python-lz4" ,python-lz4) ; Faster compression than zlib.
+              ("python-netifaces" ,python-netifaces)))
     (native-inputs `(("pkg-config" ,pkg-config)
-                     ("python2-cython" ,python2-cython)))
+                     ("python-cython" ,python-cython)))
     (arguments
-     `(#:python ,python-2 ;; no full Python 3 support yet
-       #:configure-flags '("--with-tests"
-                           "--with-bundle_tests"
-                           "--without-Xdummy" ;; We use Xvfb instead.
-                           "--without-Xdummy_wrapper"
-                           "--without-strict")
+     `(#:configure-flags '("--without-Xdummy"
+						   "--without-Xdummy_wrapper"
+                           "--with-opengl"
+                           "--without-debug"
+                           "--without-strict") ; Ignore compiler warnings.
        #:modules ((guix build python-build-system)
                   (guix build utils))
-
+       #:tests? #f ; Do not run test-cases. This would rebuild all modules and
+                                        ; they seem to require python2.
        #:phases
        (modify-phases %standard-phases
+         ;; built by 'install phase
          (delete 'build)
-         (delete 'check) ;; There's no test suite at the moment.
-
-         ;; Remove BUILD_CPU, BUILD_DATE, BUILD_TIME from build info to
-         ;; prevent deterministic issues.  Also correct some directories and
-         ;; use the xvfb binary instead of xorg-server (which doesn't seem to
-         ;; work).
-         (add-before 'install 'remove-timestamps&set-file-names
+         (add-before 'install 'fix-paths
            (lambda* (#:key inputs outputs #:allow-other-keys)
-             (substitute* "add_build_info.py"
-               ((".*\"BUILD_CPU\", get_cpuinfo.*") ""))
-             (substitute* "add_build_info.py"
-               ((".*\"BUILD_DATE\", datetime.*") ""))
-             (substitute* "add_build_info.py"
-               ((".*\"BUILD_TIME\", datetime.*") ""))
-             (substitute* "setup.py"
-               (("/etc/init.d/")
-                (string-append (assoc-ref outputs "out")
-                               "/etc/init.d/")))
-             (substitute* "setup.py"
-               (("/usr/lib/")
-                (string-append (assoc-ref outputs "out") "/lib/")))
-             ;; Use Xvfb with '-nolisten local' to disable abstract X11 sockets.
-             (substitute* "./xpra/scripts/config.py"
-               ((":.*join.*xvfb.*")
-                (string-append ": \"" (assoc-ref inputs "xorg-server")
-                               "/bin/Xvfb +extension Composite"
-                               " -screen 0 5760x2560x24+32 -dpi 96 -nolisten"
-                               " tcp -nolisten local -noreset -auth"
-                               " $XAUTHORITY\",\n")))
+             ;; Fix binary paths.
+             (substitute* '("xpra/scripts/config.py" "xpra/x11/vfb_util.py")
+               (("\"Xvfb\"")
+                (string-append "\"" (assoc-ref inputs "xorg-server") "/bin/Xvfb\""))
+               (("\"Xorg\"")
+                (string-append "\"" (assoc-ref inputs "xorg-server") "/bin/Xorg\""))
+               (("\"xauth\"")
+                (string-append "\"" (assoc-ref inputs "xauth") "/bin/xauth\"")))
+             ;; Fix directory of config files.
+             (substitute* '("xpra/scripts/config.py" "xpra/platform/xposix/paths.py")
+               (("\"/etc/xpra/?\"")
+                (string-append "\"" (assoc-ref outputs "out") "/etc/xpra/\"")))
+             ;; XXX: Stolen from (gnu packages linux)
+             (define (append-to-file name body)
+               (let ((file (open-file name "a")))
+                 (display body file)
+                 (close-port file)))
+             ;; Add Xorg module paths.
+             (append-to-file
+              "etc/xpra/xorg.conf"
+              (string-append "\nSection \"Files\"\nModulePath \""
+                             (assoc-ref inputs "xf86-video-dummy") "/lib/xorg/modules,"
+                             (assoc-ref inputs "xf86-input-mouse") "/lib/xorg/modules,"
+                             (assoc-ref inputs "xf86-input-keyboard") "/lib/xorg/modules,"
+                             (assoc-ref inputs "xorg-server") "/lib/xorg/modules\"\n"
+                             "EndSection\n\n"))
+             (substitute* '("xpra/scripts/config.py"
+                            "etc/xpra/conf.d/60_server.conf.in"
+                            "unittests/unit/server/mixins/notification_test.py")
+               ;; The trailing -- is intentional, so we only replace it inside
+               ;; a command line.
+               (("dbus-launch --")
+                (string-append (assoc-ref inputs "dbus") "/bin/dbus-launch --")))
+             ;; /run/user does not exist on guix system
              (substitute* "./xpra/scripts/config.py"
                (("socket-dir.*: \"\",")
                 "socket-dir\"        : \"~/.xpra\","))
-             #t)))))
+             #t))
+         ;; GTK3 will not be found, if GI can’t find its typelibs.
+         (add-after
+             'install 'wrap-program
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((prog (string-append (assoc-ref outputs "out")
+                                        "/bin/xpra")))
+               ;; XXX: only export typelibs in inputs
+               (wrap-program prog
+                 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
+               #t))))))
     (home-page "https://www.xpra.org/")
     (synopsis "Remote access to individual applications or full desktops")
     (description "Xpra is a persistent remote display server and client for
-- 
2.26.2


[-- Attachment #4: 0002-gnu-Add-python-pyopengl-accelerate.patch --]
[-- Type: text/x-diff, Size: 1587 bytes --]

From d0d12814ae00154a20ad6d8bd9504a20f7d86161 Mon Sep 17 00:00:00 2001
From: Lars-Dominik Braun <lars@6xq.net>
Date: Sat, 27 Jun 2020 15:07:01 +0200
Subject: [PATCH 2/6] gnu: Add python-pyopengl-accelerate.

* gnu/packages/python-xyz.scm (gnu/packages/python-xyz.scm): 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 d6966dceeb..318d55360b 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -15408,6 +15408,31 @@ related APIs.  The binding is created using the standard @code{ctypes}
 library.")
     (license license:bsd-3)))
 
+(define-public python-pyopengl-accelerate
+  (package
+    (inherit python-pyopengl)
+    (name "python-pyopengl-accelerate")
+    (version "3.1.5")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "PyOpenGL-accelerate" version))
+       (sha256
+        (base32
+         "01iggy5jwxv7lxnj51zbmlbhag9wcb7dvrbwgi97i90n0a5m3r8j"))))
+    (inputs
+     `(("mesa" ,mesa)
+       ("python-numpy" ,python-numpy))) ; for cython module
+                                        ; numpy_formathandler, thus not propagated
+    (arguments
+     `(#:tests? #f
+       #:phases
+       (modify-phases %standard-phases
+         (delete 'fix-paths))))
+    (synopsis "Acceleration code for PyOpenGL")
+    (description
+     "This is the Cython-coded accelerator module for PyOpenGL.")))
+
 (define-public python-rencode
   (package
    (name "python-rencode")
-- 
2.26.2


[-- Attachment #5: 0006-gnu-python2-pyopengl-Remove.patch --]
[-- Type: text/x-diff, Size: 1484 bytes --]

From cb4b362f34c1be34bf1e084bca19f8fec65e20e4 Mon Sep 17 00:00:00 2001
From: Lars-Dominik Braun <lars@6xq.net>
Date: Sat, 27 Jun 2020 15:15:03 +0200
Subject: [PATCH 6/6] gnu: python2-pyopengl: Remove.

* gnu/packages/python-xyz.scm (python2-pyopengl): Remove variable.
---
 gnu/packages/python-xyz.scm | 22 ----------------------
 1 file changed, 22 deletions(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index c4eb1cd4f8..afa0bb21c4 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -15324,28 +15324,6 @@ functionality like full case-folding for case-insensitive matches in Unicode.")
 (define-public python2-regex
   (package-with-python2 python-regex))
 
-(define-public python2-pyopengl
-  (package
-   (name "python2-pyopengl")
-   (version "3.1.0")
-   (source
-    (origin
-     (method url-fetch)
-     (uri (pypi-uri "PyOpenGL" version))
-     (sha256
-      (base32
-       "1byxjj6a8rwzhxhjqlc588zdad2qwxdd7vlam2653ylll31waiwv"))))
-   (arguments
-     `(#:python ,python-2))
-   (build-system python-build-system)
-   (home-page "http://pyopengl.sourceforge.net")
-   (synopsis "Standard OpenGL bindings for Python")
-   (description
-    "PyOpenGL is the most common cross platform Python binding to OpenGL and
-related APIs.  The binding is created using the standard @code{ctypes}
-library.")
-   (license license:bsd-3)))
-
 (define-public python-pyopengl
   (package
     (name "python-pyopengl")
-- 
2.26.2


[-- Attachment #6: 0003-gnu-Add-xf86-video-dummy.patch --]
[-- Type: text/x-diff, Size: 1514 bytes --]

From b520f8dcde2dd916b4c94b8e9691292be258af2f Mon Sep 17 00:00:00 2001
From: Lars-Dominik Braun <lars@6xq.net>
Date: Sat, 27 Jun 2020 15:08:02 +0200
Subject: [PATCH 3/6] gnu: Add xf86-video-dummy.

* gnu/packages/xorg.scm (xf86-video-dummy): New variable.
---
 gnu/packages/xorg.scm | 24 ++++++++++++++++++++----
 1 file changed, 20 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm
index 9b663aa158..f02d459d28 100644
--- a/gnu/packages/xorg.scm
+++ b/gnu/packages/xorg.scm
@@ -2827,10 +2827,26 @@ X server.")
 X server.")
     (license license:x11)))
 
-
-;; non-free license
-;; (define-public xf86-video-dummy
-
+(define-public xf86-video-dummy
+  (package
+    (name "xf86-video-dummy")
+    (version "0.3.8")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "mirror://xorg/individual/driver/"
+                           "xf86-video-dummy-" version ".tar.bz2"))
+       (sha256
+        (base32 "1fcm9vwgv8wnffbvkzddk4yxrh3kc0np6w65wj8k88q7jf3bn4ip"))))
+    (build-system gnu-build-system)
+    (inputs `(("xorg-server" ,xorg-server)))
+    (native-inputs `(("pkg-config" ,pkg-config)))
+    (home-page "https://www.x.org/wiki/")
+    (synopsis "Dummy video driver for X server")
+    (description
+     "Virtual/offscreen frame buffer driver for the Xorg X server.")
+    ;; per https://lists.freedesktop.org/archives/xorg/2020-June/060316.html
+    (license license:x11)))
 
 (define-public xf86-video-fbdev
   (package
-- 
2.26.2


[-- Attachment #7: 0005-gnu-python2-pyopengl-accelerate-Remove.patch --]
[-- Type: text/x-diff, Size: 1285 bytes --]

From ca8c4504f025ddd6ad67cf0fe4471c2dd1fa89c9 Mon Sep 17 00:00:00 2001
From: Lars-Dominik Braun <lars@6xq.net>
Date: Sat, 27 Jun 2020 15:14:25 +0200
Subject: [PATCH 5/6] gnu: python2-pyopengl-accelerate: Remove.

* gnu/packages/python-xyz.scm (python2-pyopengl-accelerate): Remove
  variable.
---
 gnu/packages/python-xyz.scm | 16 ----------------
 1 file changed, 16 deletions(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 318d55360b..c4eb1cd4f8 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -15346,22 +15346,6 @@ related APIs.  The binding is created using the standard @code{ctypes}
 library.")
    (license license:bsd-3)))
 
-(define-public python2-pyopengl-accelerate
-  (package
-    (inherit python2-pyopengl)
-    (name "python2-pyopengl-accelerate")
-    (version "3.1.0")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (pypi-uri "PyOpenGL-accelerate" version))
-       (sha256
-        (base32
-         "0464c1ifzk0k92lyndikmvzjgnx1y25r7bkkc8pnxm4kp1q4czwj"))))
-    (synopsis "Acceleration code for PyOpenGL")
-    (description
-     "This is the Cython-coded accelerator module for PyOpenGL.")))
-
 (define-public python-pyopengl
   (package
     (name "python-pyopengl")
-- 
2.26.2


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, back to index

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-06-27 13:26 [bug#42081] [PATCH] Upgrade xpra to 4.0.2 Lars-Dominik Braun

unofficial mirror of guix-patches@gnu.org 

Archives are clonable:
	git clone --mirror https://yhetil.org/guix-patches/1 guix-patches/git/1.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 guix-patches guix-patches/ https://yhetil.org/guix-patches \
		guix-patches@gnu.org
	public-inbox-index guix-patches

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://news.yhetil.org/yhetil.gnu.guix.patches


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git