Subject: [bug#48028] [PATCH wip-gnome 4/8] gnu: libsoup: Simplify adjustment of tests and disable ssl-test.

From: Leo Prikler <[email-masked]>
Date: Mon, 26 Apr 2021 10:34:23 +0200

Am Montag, den 26.04.2021, 04:11 -0400 schrieb Raghav Gururajan:
> * gnu/packages/gnome.scm (libsoup)[phases](adjust-tests): Modify.
> [native-inputs]: Remove gnutls.
> ---
>  gnu/packages/gnome.scm | 70 +++++++---------------------------------
> --
>  1 file changed, 11 insertions(+), 59 deletions(-)
> 
> diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
> index 97cf80c586..29779c39af 100644
> --- a/gnu/packages/gnome.scm
> +++ b/gnu/packages/gnome.scm
> @@ -4927,64 +4927,17 @@ libxml to ease remote use of the RESTful
> API.")
>                 #t)))
>           (add-after 'unpack 'adjust-tests
>             (lambda _
> -             ;; This test fails due to missing /etc/nsswitch.conf
> -             ;; in the build environment.
> -             (substitute* "tests/socket-test.c"
> -               ((".*/sockets/unconnected.*") ""))
> -
> -             ;; These fail because "subdomain.localhost" does not
> resolve in
> -             ;; the build environment.
> -             (substitute* "tests/hsts-test.c"
> -               ((".*/hsts/basic.*") "")
> -               ((".*/hsts/subdomains.*") "")
> -               ((".*/hsts/superdomain.*") "")
> -               ((".*/hsts/utf8-address.*") ""))
> -             (substitute* "tests/hsts-db-test.c"
> -               ((".*/hsts-db/subdomains.*") ""))
> -
> -             ;; Generate a self-signed certificate that has
> "localhost" as its
> -             ;; 'dnsName'.  Failing to do that, and starting with
> GnuTLS
> -             ;; 3.5.12, tests such as "ssl-tests" fail:
> -             ;;
> -             ;; ERROR:ssl-test.c:406:do_tls_interaction_test:
> Unexpected status 6 Unacceptable TLS certificate (expected 200 OK)
> -             ;;
> -             ;; 'certtool' is interactive so we have to pipe it the
> answers.
> -             ;; Reported at <
> https://bugzilla.gnome.org/show_bug.cgi?id=784696>;.
> -             (let ((pipe (open-output-pipe "certtool --generate-
> self-signed \
> - --load-privkey tests/test-key.pem --outfile tests/test-cert.pem")))
> -               (for-each (lambda (line)
> -                           (display line pipe)
> -                           (newline pipe))
> -                         '(""               ;Common name
> -                           ""               ;UID
> -                           "Guix"           ;Organizational unit
> name
> -                           "GNU"            ;Organization name
> -                           ""               ;Locality name
> -                           ""               ;State or province
> -                           ""               ;Country
> -                           ""               ;subject's domain
> component (DC)
> -                           ""               ;E-mail
> -                           ""               ;serial number
> -                           "-1"             ;expiration time
> -                           "N"              ;belong to authority?
> -                           "N"              ;web client certificate?
> -                           "N"              ;IPsec IKE?
> -                           "Y"              ;web server certificate?
> -                           "localhost"      ;dnsName of subject
> -                           ""               ;dnsName of subject
> (end)
> -                           ""               ;URI of subject
> -                           "127.0.0.1"      ;IP address of subject
> -                           ""               ;signing?
> -                           ""               ;encryption (RSA)?
> -                           ""               ;data encryption?
> -                           ""               ;sign OCSP requests?
> -                           ""               ;sign code?
> -                           ""               ;time stamping?
> -                           ""               ;email protection?
> -                           ""               ;URI of the CRL
> distribution point
> -                           "y"              ;above info OK?
> -                           ))
> -               (close-pipe pipe))
> +             (substitute* "tests/meson.build"
> +               ;; These fail because "subdomain.localhost" does not
> resolve in
> +               ;; the build environment.
> +               (("[ \t]*\\['hsts', true, \\[\\]\\],") "")
> +               (("[ \t]*\\['hsts-db', true, \\[\\]\\],") "")
> +               ;; This test fails due to missing /etc/nsswitch.conf
> +               ;; in the build environment.
> +               (("[ \t]*\\['socket', true, \\[\\]\\],") "")
> +               ;; FIX-ME: ssl-test fails, starting with
> +               ;; glib-networking 2.68.x.
> +               (("[ \t]*\\['ssl', true, \\[\\]\\],") ""))
>               #t))
>           (add-after 'install 'move-doc
>             (lambda* (#:key outputs #:allow-other-keys)
> @@ -5006,7 +4959,6 @@ libxml to ease remote use of the RESTful API.")
>         ("vala" ,vala)
>         ("php" ,php)
>         ("curl" ,curl)
> -       ("gnutls" ,gnutls)                         ;for 'certtool'
>         ("httpd" ,httpd)))
>      (propagated-inputs
>       ;; libsoup-2.4.pc refers to all these.
This does not look much like a simplification to me.  Instead, the
regexp seems to have been more complicated, and also the patchee has
been changed from some C file to meson.build.  Is this necessary to
disable the SSL test?  If not, try separating this patch into two
parts.

Regards,
Leo