diff mbox series

[bug#67162,gnome-team,v2] gnu: epiphany: Update to 44.7.

Message ID 400a45bb9a56e9d6dd73cc53b7295cf26981bc75.1699961910.git.vivien@planete-kraus.eu
State New
Headers show
Series [bug#67162,gnome-team,v2] gnu: epiphany: Update to 44.7. | expand

Commit Message

Vivien Kraus Nov. 14, 2023, 11:03 a.m. UTC
Soup2 is not supported anymore, we do not need to disable it explicitely.

* gnu/packages/gnome.scm (epiphany): Update to 44.7.
[#:phase 'skip-gtk-update-icon-cache]: Update for build system changes.
[#:phase 'disable-failing-tests]: Partially disable web_view_test.
[#:phase 'pre-check]: Remove.
[#:phase 'check]: Replace with a new phase.
[#:phase 'wrap-epiphany]: New phase.
[#:configure-flags]: Remove soup2.
[native-inputs]: Add bash-minimal.
[inputs]: Replace gcr-3 with gcr and webkitgtk-for-gtk3 with webkitgtk.  Add
gstreamer, gst-plugins-base, gst-plugins-good, libadwaita.  Remove libdazzle
and libhandy.

Change-Id: I95ab6551a1b38254191801549be9dba0abb04593
---
 gnu/packages/gnome.scm | 63 ++++++++++++++++++++++++++++++------------
 1 file changed, 46 insertions(+), 17 deletions(-)


base-commit: 72e886328c14c832b2ed71c400069b63852ee18d

Comments

Liliana Marie Prikler Nov. 15, 2023, 5:27 a.m. UTC | #1
Am Dienstag, dem 14.11.2023 um 12:03 +0100 schrieb Vivien Kraus:
> Soup2 is not supported anymore, we do not need to disable it
> explicitely.
> 
> * gnu/packages/gnome.scm (epiphany): Update to 44.7.
> [#:phase 'skip-gtk-update-icon-cache]: Update for build system
> changes.
> [#:phase 'disable-failing-tests]: Partially disable web_view_test.
> [#:phase 'pre-check]: Remove.
> [#:phase 'check]: Replace with a new phase.
> [#:phase 'wrap-epiphany]: New phase.
> [#:configure-flags]: Remove soup2.
> [native-inputs]: Add bash-minimal.
> [inputs]: Replace gcr-3 with gcr and webkitgtk-for-gtk3 with
> webkitgtk.  Add
> gstreamer, gst-plugins-base, gst-plugins-good, libadwaita.  Remove
> libdazzle
> and libhandy.
> 
> Change-Id: I95ab6551a1b38254191801549be9dba0abb04593
> ---
>  gnu/packages/gnome.scm | 63 ++++++++++++++++++++++++++++++----------
> --
>  1 file changed, 46 insertions(+), 17 deletions(-)
> 
> diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
> index 2958da2cd9..5fd98b336d 100644
> --- a/gnu/packages/gnome.scm
> +++ b/gnu/packages/gnome.scm
> @@ -7095,7 +7095,7 @@ (define-public simple-scan
>  (define-public epiphany
>    (package
>      (name "epiphany")
> -    (version "42.5")
> +    (version "44.7")
>      (source (origin
>                (method url-fetch)
>                (uri (string-append "mirror://gnome/sources/epiphany/"
> @@ -7103,7 +7103,7 @@ (define-public epiphany
>                                    "epiphany-" version ".tar.xz"))
>                (sha256
>                 (base32
> -               
> "0mln4iym0fqkri959650cccdhq3r4d4kfn8yld0vvdmzskmak4a6"))))
> +               
> "1srdbn2rls4c0dvrjk0djfmxxnrd012jbji8aavslgkf8cs5mya4"))))
>      (build-system meson-build-system)
>      (arguments
>       (list
> @@ -7113,8 +7113,9 @@ (define-public epiphany
>            (add-after 'unpack 'skip-gtk-update-icon-cache
>              ;; Don't create 'icon-theme.cache'.
>              (lambda _
> -              (substitute* "post_install.py"
> -                (("gtk-update-icon-cache") "true"))))
> +              (substitute* "meson.build"
> +                (("gtk_update_icon_cache: true")
> +                 "gtk_update_icon_cache: false"))))
>            (add-after 'unpack 'disable-failing-tests
>              (lambda _
>                (substitute* "tests/meson.build"
> @@ -7122,20 +7123,46 @@ (define-public epiphany
>                  ;; supports overriding the ftp schema web_app_utils
> fails due
>                  ;; to missing network access.
>                  (("(embed_shell|web_app_utils)_test,")
> -                 "find_program('sh'), args: ['-c', 'exit 77'],"))))
> -          (add-before 'check 'pre-check
> -            (lambda _
> -              ;; Tests require a running X server.
> -              (system "Xvfb :1 &")
> -              (setenv "DISPLAY" ":1"))))
> +                 "find_program('sh'), args: ['-c', 'exit 77'],")
> +                ;; web_view_test partially fails, because it can’t
> run bwrap.
> +                (("web_view_test,")
> +                 (string-append
> +                  "web_view_test, args: ["
> +                  (string-join
> +                   (map (lambda (test)
> +                          (string-append "'-s', '/embed/ephy-web-
> view/" test "'"))
> +                        '("load_url"
> +                         
> "provisional_load_failure_updates_back_forward_list"
> +                          "error-pages-not-stored-in-history"))
> +                   ", ")
> +                  "],")))))
> +          (replace 'check
> +            (lambda* (#:key parallel-tests? tests? #:allow-other-
> keys)
> +              (when tests?
> +                (setenv "MESON_TESTTHREADS"
> +                        (if parallel-tests?
> +                            (number->string (parallel-job-count))
> +                            "1"))
> +                (setenv "XDG_CACHE_HOME" (getcwd))
> +                ;; Tests require a running X server.
> +                (system "Xvfb :1 &")
> +                (setenv "DISPLAY" ":1")
> +                (invoke "dbus-run-session" "--"
> +                        "meson" "test" "--print-errorlogs" "-t"
> "0"))))
> +         (add-after 'install 'wrap-epiphany
> +           (lambda* (#:key inputs outputs #:allow-other-keys)
> +             (let ((out             (assoc-ref outputs "out"))
> +                   (gst-plugin-path (getenv
> "GST_PLUGIN_SYSTEM_PATH")))
> +               (wrap-program (string-append out "/bin/epiphany")
> +                 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-
> path)))))))
In this case it appears harmless, but I prefer suffix wraps for
GStreamer, as they allow user plugins (which use the same variable) to
be prepended.
There are some phases that already add GST_PLUGIN_SYSTEM_PATH to
inspire naming, but analogous to glib-or-gtk-wrap, we should probably
name this gst-wrap.
>        #:configure-flags
>        ;; Otherwise, the RUNPATH will lack the final 'epiphany' path
> component.
>        #~(list (string-append "-Dc_link_args=-Wl,-rpath="
> -                             #$output "/lib/epiphany")
> -              "-Dsoup2=disabled")))     ;use libsoup 3
> +                             #$output "/lib/epiphany"))))
>      (propagated-inputs (list dconf))
>      (native-inputs
> -     (list desktop-file-utils           ; for update-desktop-
> database
> +     (list bash-minimal                 ; for wrap-program
> +           desktop-file-utils           ; for update-desktop-
> database
>             gettext-minimal
>             `(,glib "bin")               ; for glib-mkenums
>             itstool
> @@ -7144,15 +7171,17 @@ (define-public epiphany
>             xorg-server-for-tests))
>      (inputs
>       (list avahi
> -           gcr-3
> +           gcr
>             glib-networking
>             gnome-desktop
>             gsettings-desktop-schemas
> +           gst-plugins-base
> +           gst-plugins-good
> +           gstreamer
Any reason why those now became necessary?  You might have to split
this into two parts if it's not related to the update.
>             iso-codes
>             json-glib
> +           libadwaita
>             libarchive
> -           libdazzle
> -           libhandy
>             libnotify
>             libportal
>             (librsvg-for-system)         ; for loading SVG files
> @@ -7161,7 +7190,7 @@ (define-public epiphany
>             libxslt
>             nettle                       ; for hogweed
>             sqlite
> -           webkitgtk-for-gtk3))
> +           webkitgtk))
>      (home-page "https://wiki.gnome.org/Apps/Web")
>      (synopsis "GNOME web browser")
>      (description
> 
> base-commit: 72e886328c14c832b2ed71c400069b63852ee18d
Cheers
diff mbox series

Patch

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 2958da2cd9..5fd98b336d 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -7095,7 +7095,7 @@  (define-public simple-scan
 (define-public epiphany
   (package
     (name "epiphany")
-    (version "42.5")
+    (version "44.7")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://gnome/sources/epiphany/"
@@ -7103,7 +7103,7 @@  (define-public epiphany
                                   "epiphany-" version ".tar.xz"))
               (sha256
                (base32
-                "0mln4iym0fqkri959650cccdhq3r4d4kfn8yld0vvdmzskmak4a6"))))
+                "1srdbn2rls4c0dvrjk0djfmxxnrd012jbji8aavslgkf8cs5mya4"))))
     (build-system meson-build-system)
     (arguments
      (list
@@ -7113,8 +7113,9 @@  (define-public epiphany
           (add-after 'unpack 'skip-gtk-update-icon-cache
             ;; Don't create 'icon-theme.cache'.
             (lambda _
-              (substitute* "post_install.py"
-                (("gtk-update-icon-cache") "true"))))
+              (substitute* "meson.build"
+                (("gtk_update_icon_cache: true")
+                 "gtk_update_icon_cache: false"))))
           (add-after 'unpack 'disable-failing-tests
             (lambda _
               (substitute* "tests/meson.build"
@@ -7122,20 +7123,46 @@  (define-public epiphany
                 ;; supports overriding the ftp schema web_app_utils fails due
                 ;; to missing network access.
                 (("(embed_shell|web_app_utils)_test,")
-                 "find_program('sh'), args: ['-c', 'exit 77'],"))))
-          (add-before 'check 'pre-check
-            (lambda _
-              ;; Tests require a running X server.
-              (system "Xvfb :1 &")
-              (setenv "DISPLAY" ":1"))))
+                 "find_program('sh'), args: ['-c', 'exit 77'],")
+                ;; web_view_test partially fails, because it can’t run bwrap.
+                (("web_view_test,")
+                 (string-append
+                  "web_view_test, args: ["
+                  (string-join
+                   (map (lambda (test)
+                          (string-append "'-s', '/embed/ephy-web-view/" test "'"))
+                        '("load_url"
+                          "provisional_load_failure_updates_back_forward_list"
+                          "error-pages-not-stored-in-history"))
+                   ", ")
+                  "],")))))
+          (replace 'check
+            (lambda* (#:key parallel-tests? tests? #:allow-other-keys)
+              (when tests?
+                (setenv "MESON_TESTTHREADS"
+                        (if parallel-tests?
+                            (number->string (parallel-job-count))
+                            "1"))
+                (setenv "XDG_CACHE_HOME" (getcwd))
+                ;; Tests require a running X server.
+                (system "Xvfb :1 &")
+                (setenv "DISPLAY" ":1")
+                (invoke "dbus-run-session" "--"
+                        "meson" "test" "--print-errorlogs" "-t" "0"))))
+         (add-after 'install 'wrap-epiphany
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (let ((out             (assoc-ref outputs "out"))
+                   (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH")))
+               (wrap-program (string-append out "/bin/epiphany")
+                 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path)))))))
       #:configure-flags
       ;; Otherwise, the RUNPATH will lack the final 'epiphany' path component.
       #~(list (string-append "-Dc_link_args=-Wl,-rpath="
-                             #$output "/lib/epiphany")
-              "-Dsoup2=disabled")))     ;use libsoup 3
+                             #$output "/lib/epiphany"))))
     (propagated-inputs (list dconf))
     (native-inputs
-     (list desktop-file-utils           ; for update-desktop-database
+     (list bash-minimal                 ; for wrap-program
+           desktop-file-utils           ; for update-desktop-database
            gettext-minimal
            `(,glib "bin")               ; for glib-mkenums
            itstool
@@ -7144,15 +7171,17 @@  (define-public epiphany
            xorg-server-for-tests))
     (inputs
      (list avahi
-           gcr-3
+           gcr
            glib-networking
            gnome-desktop
            gsettings-desktop-schemas
+           gst-plugins-base
+           gst-plugins-good
+           gstreamer
            iso-codes
            json-glib
+           libadwaita
            libarchive
-           libdazzle
-           libhandy
            libnotify
            libportal
            (librsvg-for-system)         ; for loading SVG files
@@ -7161,7 +7190,7 @@  (define-public epiphany
            libxslt
            nettle                       ; for hogweed
            sqlite
-           webkitgtk-for-gtk3))
+           webkitgtk))
     (home-page "https://wiki.gnome.org/Apps/Web")
     (synopsis "GNOME web browser")
     (description