Subject: [bug#54683] [PATCH] gnu: phodav: Use libsoup 2 instead of libsoup 3.

From: Leo Nikkilä <[email-masked]>
Date: Sat, 2 Apr 2022 21:34:18 +0300

Looks like phodav requires libsoup 2. Example of failing build logs,
wanting libsoup 2.4: <https://ci.guix.gnu.org/build/584454/log/raw>

After swapping the dependency, tests were failing due to HOME not being
writable. I added a new build phase to account for this. I also removed
the start-virtual-dir-server phase which no longer seems required, the
tests pass without it.

* gnu/packages/gnome.scm (phodav): Fix build, tests.
[inputs]: Replace libsoup 3 with libsoup 2.
[arguments]<#:phases>[set-temporary-home]: New phase.
[arguments]<#:phases>[start-virtual-dir-server]: Remove phase.
---
 gnu/packages/gnome.scm | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 8ff59f084b..19adb67423 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -69,6 +69,7 @@
 ;;; Copyright © 2022 Pierre Langlois <[email-masked]>
 ;;; Copyright © 2022 John Kehayias <[email-masked]>
 ;;; Copyright © 2022 Denis 'GNUtoo' Carikli <[email-masked]>
+;;; Copyright © 2022 Leo Nikkilä <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -1191,12 +1192,10 @@ (define-public phodav
               (substitute* "data/meson.build"
                 (("udev\\.get_pkgconfig_variable\\('udevdir'\\)")
                  (format #f "'~a'" rules))))))
-        (add-before 'check 'start-virtual-dir-server
-          ;; The same server when started by tests/virtual-dir returns an
-          ;; unexpected status (4 instead of 200) and fails a test.  It is
-          ;; unclear why starting it manually here makes it pass.
+        (add-before 'check 'set-temporary-home
+          ;; Tests want to write into HOME.
           (lambda _
-            (system "tests/virtual-dir-server &"))))))
+            (setenv "HOME" "/tmp"))))))
    (native-inputs
     `(("docbook-xml" ,docbook-xml-4.3)
       ("gettext" ,gettext-minimal)
@@ -1205,7 +1204,7 @@ (define-public phodav
       ("gtk-doc" ,gtk-doc/stable)
       ("pkg-config" ,pkg-config)))
    (inputs
-    (list avahi libgudev libsoup))
+    (list avahi libgudev libsoup-minimal-2))
    (synopsis "WebDav server implementation using libsoup")
    (description "PhoDav was initially developed as a file-sharing mechanism for Spice,
 but it is generic enough to be reused in other projects,
-- 
2.34.0