Subject: [bug#70881] [PATCH v2] gnu: xpra: Update to 6.0.

From: Andy Tai <[email-masked]>
Date: Mon, 13 May 2024 08:43:29 -0700

* gnu/packages/xorg.scm (xpra): Update to 6.0.
  [inputs]: Add xxhash.
  [native-inputs]: Change python-cython to python-cython-3.
* gnu/packages/patches/xpra-6.0-install_libs.patch: New file.
* gnu/packages/patches/xpra-6.0-systemd-run.patch: New file.
* gnu/packages/patches/xpra-5.0-install_libs.patch: Removed.
* gnu/packages/patches/xpra-5.0-systemd-run.patch: Removed.
* gnu/local.mk (dist_patch_DATA): Update accordingly

Change-Id: Ic8ec98296220aebabb3d94951e11a3c957a8fcbc
---
 gnu/local.mk                                  |  4 +--
 ...libs.patch => xpra-6.0-install_libs.patch} | 30 +++++++++----------
 ...d-run.patch => xpra-6.0-systemd-run.patch} | 12 ++++----
 gnu/packages/xorg.scm                         | 12 ++++----
 4 files changed, 30 insertions(+), 28 deletions(-)
 rename gnu/packages/patches/{xpra-5.0-install_libs.patch => xpra-6.0-install_libs.patch} (67%)
 rename gnu/packages/patches/{xpra-5.0-systemd-run.patch => xpra-6.0-systemd-run.patch} (90%)

diff --git a/gnu/local.mk b/gnu/local.mk
index 439fe587b0..bc0fe77e93 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -2231,8 +2231,8 @@ 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-5.0-systemd-run.patch		\
-  %D%/packages/patches/xpra-5.0-install_libs.patch		\
+  %D%/packages/patches/xpra-6.0-systemd-run.patch		\
+  %D%/packages/patches/xpra-6.0-install_libs.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-5.0-install_libs.patch b/gnu/packages/patches/xpra-6.0-install_libs.patch
similarity index 67%
rename from gnu/packages/patches/xpra-5.0-install_libs.patch
rename to gnu/packages/patches/xpra-6.0-install_libs.patch
index 4d40bf1f79..c608b519f4 100644
--- a/gnu/packages/patches/xpra-5.0-install_libs.patch
+++ b/gnu/packages/patches/xpra-6.0-install_libs.patch
@@ -4,39 +4,39 @@ This workaround for Gentoo interferes with our use of --no-compile during
 the 'install stage.
 
 diff --git a/setup.py b/setup.py
-index e254bf99c..90db55c3f 100755
+index 4f066fa8bf..14a9ed65ed 100755
 --- a/setup.py
 +++ b/setup.py
-@@ -663,8 +663,6 @@ if modules_ENABLED:
+@@ -760,8 +760,6 @@ if modules_ENABLED:
  # Utility methods for building with Cython
- 
- def add_cython_ext(*args, **kwargs):
+
+ def do_add_cython_ext(*args, **kwargs):
 -    if "--no-compile" in sys.argv and not ("build" in sys.argv and "install" in sys.argv):
 -        return
      if not cython_ENABLED:
          raise ValueError(f"cannot build {args}: cython compilation is disabled")
      if cython_tracing_ENABLED:
-@@ -1809,9 +1807,6 @@ else:
+@@ -1971,9 +1969,6 @@ else:
              if root_prefix.endswith("/usr"):
-                 #ie: "/" or "/usr/src/rpmbuild/BUILDROOT/xpra-0.18.0-0.20160513r12573.fc23.x86_64/"
+                 # ie: "/" or "/usr/src/rpmbuild/BUILDROOT/xpra-0.18.0-0.20160513r12573.fc23.x86_64/"
                  root_prefix = root_prefix[:-4]
 -            for x in sys.argv:
 -                if x.startswith("--root="):
 -                    root_prefix = x[len("--root="):]
-             print(f"install_data_override.run() root_prefix={root_prefix}")
+             print(f"  root_prefix={root_prefix!r}")
              build_xpra_conf(root_prefix)
- 
-@@ -1955,13 +1950,6 @@ else:
+
+@@ -2116,13 +2111,6 @@ else:
              if uinput_ENABLED:
                  add_data_files("lib/udev/rules.d/", ["fs/lib/udev/rules.d/71-xpra-virtual-pointer.rules"])
- 
--    #gentoo does weird things, calls --no-compile with build *and* install
--    #then expects to find the cython modules!? ie:
+
+-    # gentoo does weird things, calls --no-compile with build *and* install
+-    # then expects to find the cython modules!? ie:
 -    #> python2.7 setup.py build -b build-2.7 install --no-compile \
 -    # --root=/var/tmp/portage/x11-wm/xpra-0.7.0/temp/images/2.7
--    #otherwise we use the flags to skip pkgconfig
--    if ("--no-compile" in sys.argv or "--skip-build" in sys.argv) and not ("build" in sys.argv and "install" in sys.argv):
+-    # otherwise we use the flags to skip pkgconfig
+-    if ("--no-compile" in sys.argv or "--skip-build" in sys.argv) and not ("build" in sys.argv and "install" in sys.argv):  # noqa: E501
 -        pkgconfig = no_pkgconfig
- 
+
      if OSX and "py2app" in sys.argv:
          import py2app    #@UnresolvedImport
diff --git a/gnu/packages/patches/xpra-5.0-systemd-run.patch b/gnu/packages/patches/xpra-6.0-systemd-run.patch
similarity index 90%
rename from gnu/packages/patches/xpra-5.0-systemd-run.patch
rename to gnu/packages/patches/xpra-6.0-systemd-run.patch
index 437a8cc37f..2d60c29423 100644
--- a/gnu/packages/patches/xpra-5.0-systemd-run.patch
+++ b/gnu/packages/patches/xpra-6.0-systemd-run.patch
@@ -3,12 +3,12 @@ Distriction specific patch, not going upstream
 Disable systemd-run if the command is not found.
 
 diff --git a/xpra/scripts/main.py b/xpra/scripts/main.py
-index 3813331a5..46e2c83a6 100755
+index 1c5e8ddaad..084aabe792 100755
 --- a/xpra/scripts/main.py
 +++ b/xpra/scripts/main.py
-@@ -337,23 +337,26 @@ def use_systemd_run(s) -> bool:
+@@ -396,23 +396,26 @@ def use_systemd_run(s) -> bool:
      cmd = ["systemd-run", "--quiet"]
-     if getuid()!=0:
+     if getuid() != 0:
          cmd += ["--user"]
 -    cmd += ["--scope", "--", "true"]
 -    proc = Popen(cmd, stdout=PIPE, stderr=PIPE, shell=False)
@@ -30,7 +30,7 @@ index 3813331a5..46e2c83a6 100755
 +            r = proc.returncode
          except TimeoutExpired:  # pragma: no cover
              r = None
--    return r==0
+-    return r == 0
 +        if r is None:
 +            try:
 +                proc.terminate()
@@ -43,6 +43,6 @@ index 3813331a5..46e2c83a6 100755
 +        return r==0
 +    except FileNotFoundError:
 +        return False
- 
+
+
  def verify_gir():
-     try:
diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm
index 74059a2691..1f1fe4d7c6 100644
--- a/gnu/packages/xorg.scm
+++ b/gnu/packages/xorg.scm
@@ -76,6 +76,7 @@ (define-module (gnu packages xorg)
   #:use-module (gnu packages check)
   #:use-module (gnu packages cups)
   #:use-module (gnu packages compression)
+  #:use-module (gnu packages digest)
   #:use-module (gnu packages emacs)
   #:use-module (gnu packages flex)
   #:use-module (gnu packages fonts)
@@ -6157,16 +6158,16 @@ (define-public xcompmgr
 (define-public xpra
   (package
     (name "xpra")
-    (version "5.0.8")
+    (version "6.0")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "https://www.xpra.org/src/xpra-"
                            version ".tar.xz"))
        (sha256
-        (base32 "0ml9nv6gwrqgyrn3hp5kkxsbdl5fpz5w8vjsvn0qfdsgbvq617wy"))
-       (patches (search-patches "xpra-5.0-systemd-run.patch"
-                                "xpra-5.0-install_libs.patch"))))
+        (base32 "1dh89k2whvim4lgnryr9hisdq2zzcc5md9c3vm49y6jsp4j77glq"))
+       (patches (search-patches "xpra-6.0-systemd-run.patch"
+                                "xpra-6.0-install_libs.patch"))))
     (build-system python-build-system)
     (inputs
      (list bash-minimal                 ; for wrap-program
@@ -6192,6 +6193,7 @@ (define-public xpra
            xf86-video-dummy
            xf86-input-mouse
            xf86-input-keyboard
+           xxhash
            python-pillow
            ;; Optional dependencies.
            libx264
@@ -6207,7 +6209,7 @@ (define-public xpra
            python-lz4                   ; Faster compression than zlib.
            python-netifaces
            python-pycups))
-    (native-inputs (list pkg-config pandoc python-cython))
+    (native-inputs (list pkg-config pandoc python-cython-3))
     (arguments
      (list
       #:configure-flags #~(list "--without-Xdummy"

base-commit: 7ca9809cdbfe326294a5d8c64b4b8c59d0e76bea
-- 
2.34.1