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

From: Nicolas Graves <[email-masked]>
Date: Mon, 13 May 2024 09:17:43 +0200

On 2024-05-11 11:15, Andy Tai wrote:

> * 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.

Hi Andy,

Please also don't forget to replace the patches in gnu/local.mk.
Thanks!

Nicolas

>
> Change-Id: Ic8ec98296220aebabb3d94951e11a3c957a8fcbc
> ---
>  ...libs.patch => xpra-6.0-install_libs.patch} | 30 +++++++++----------
>  ...d-run.patch => xpra-6.0-systemd-run.patch} | 12 ++++----
>  gnu/packages/xorg.scm                         | 12 ++++----
>  3 files changed, 28 insertions(+), 26 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/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: 4eb1a5426b93bfd19282db0d255633ca2959efc5

-- 
Best regards,
Nicolas Graves