summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/patches/xpra-4.2-install_libs.patch33
-rw-r--r--gnu/packages/xorg.scm11
3 files changed, 42 insertions, 3 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 31354e413f..b39d0ac039 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1965,6 +1965,7 @@ dist_patch_DATA =						\
   %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.2-systemd-run.patch		\
+  %D%/packages/patches/xpra-4.2-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-4.2-install_libs.patch b/gnu/packages/patches/xpra-4.2-install_libs.patch
new file mode 100644
index 0000000000..92193df34a
--- /dev/null
+++ b/gnu/packages/patches/xpra-4.2-install_libs.patch
@@ -0,0 +1,33 @@
+This workaround for Gentoo interferes with our use of --no-compile during
+the 'install stage.
+
+--- a/setup.py	1970-01-01 01:00:01.000000000 +0100
++++ b/setup.py	2022-01-06 14:08:46.710437071 +0100
+@@ -561,12 +561,6 @@
+                  % (cython_version, min_version))
+ 
+ def cython_add(extension, min_version="0.20"):
+-    #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
+-    if "--no-compile" in sys.argv and not ("build" in sys.argv and "install" in sys.argv):
+-        return
+     assert cython_ENABLED, "cython compilation is disabled"
+     cython_version_check(min_version)
+     from Cython.Distutils import build_ext
+@@ -1691,14 +1685,6 @@
+             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:
+-    #> 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):
+-        pkgconfig = no_pkgconfig
+-
+     if OSX and "py2app" in sys.argv:
+         import py2app    #@UnresolvedImport
+         assert py2app is not None
diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm
index f341ccce8c..79d9be9420 100644
--- a/gnu/packages/xorg.scm
+++ b/gnu/packages/xorg.scm
@@ -6323,7 +6323,8 @@ basic eye-candy effects.")
                            version ".tar.gz"))
        (sha256
         (base32 "0nky9j07zq8d5ifx568dima7a0jgs8kwhcqbg8p6gsxlgq5zdw96"))
-       (patches (search-patches "xpra-4.2-systemd-run.patch"))))
+       (patches (search-patches "xpra-4.2-systemd-run.patch"
+                                "xpra-4.2-install_libs.patch"))))
     (build-system python-build-system)
     ;; see also http://xpra.org/trac/wiki/Dependencies
     (inputs `(("bash-minimal" ,bash-minimal)    ; for wrap-program
@@ -6374,8 +6375,12 @@ basic eye-candy effects.")
                                         ; they seem to require python2.
        #:phases
        (modify-phases %standard-phases
-         ;; built by 'install phase
-         (delete 'build)
+         ;; Must pass the same flags as 'install, otherwise enabled modules may
+         ;; not be built.
+         (replace 'build
+           (lambda* (#:key configure-flags #:allow-other-keys)
+             (apply invoke (append (list "python" "setup.py" "build")
+                                   configure-flags))))
          (add-before 'install 'fix-paths
            (lambda* (#:key inputs outputs #:allow-other-keys)
              ;; Fix binary paths.