GNU bug report logs - #27767
[PATCH] gnu: Add eolie.

Previous Next

Package: guix-patches;

Reported by: Ricardo Wurmus <rekado <at> elephly.net>

Date: Wed, 19 Jul 2017 21:57:02 UTC

Severity: normal

Tags: patch

Done: Ricardo Wurmus <rekado <at> elephly.net>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 27767 in the body.
You can then email your comments to 27767 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#27767; Package guix-patches. (Wed, 19 Jul 2017 21:57:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Ricardo Wurmus <rekado <at> elephly.net>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Wed, 19 Jul 2017 21:57:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Ricardo Wurmus <rekado <at> elephly.net>
To: guix-patches <at> gnu.org
Cc: Ricardo Wurmus <rekado <at> elephly.net>
Subject: [PATCH] gnu: Add eolie.
Date: Wed, 19 Jul 2017 23:56:09 +0200
* gnu/packages/gnome.scm (eolie): New variable.
---
 gnu/packages/gnome.scm | 61 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 61 insertions(+)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 345dc6a74..be00fcff5 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -3886,6 +3886,67 @@ the same backend as XSANE uses. This means that all existing scanners will
 work and the interface is well tested.")
     (license license:gpl3+)))
 
+(define-public eolie
+  (package
+    (name "eolie")
+    (version "0.9.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://github.com/gnumdk/eolie/"
+                                  "releases/download/"
+                                  (version-major+minor version)
+                                  "/eolie-" version ".tar.xz"))
+              (sha256
+               (base32
+                "1lb3rd2as12vq24fcf9nmlhggf8vka3kli2i92i8iylwi7nq5n2a"))))
+    (build-system glib-or-gtk-build-system)
+    (arguments
+     `(#:modules ((guix build glib-or-gtk-build-system)
+                  (guix build utils)
+                  (ice-9 match))
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'wrap 'wrap-more
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (let* ((out  (assoc-ref outputs "out"))
+                    ;; These libraries must be on LD_LIBRARY_PATH.
+                    (libs '("gtkspell3" "webkitgtk" "libsoup" "libsecret"
+                            "atk" "gtk+" "gsettings-desktop-schemas"
+                            "gobject-introspection"))
+                    (path (string-join
+                           (map (lambda (lib)
+                                  (string-append (assoc-ref inputs lib) "/lib"))
+                                libs)
+                           ":")))
+               (wrap-program (string-append out "/bin/eolie")
+                 `("LD_LIBRARY_PATH" ":" prefix (,path))
+                 `("PYTHONPATH" ":" prefix (,(getenv "PYTHONPATH")))
+                 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH")))))
+             #t)))))
+    (native-inputs
+     `(("intltool" ,intltool)
+       ("itstool" ,itstool)
+       ("pkg-config" ,pkg-config)))
+    (inputs
+     `(("gobject-introspection" ,gobject-introspection)
+       ("glib-networking" ,glib-networking)
+       ("cairo" ,cairo)
+       ("gtk+" ,gtk+)
+       ("atk" ,atk)    ; propagated by gtk+, but we need it in LD_LIBRARY_PATH
+       ("python" ,python-wrapper)
+       ("python-pygobject" ,python-pygobject)
+       ("python-pycairo" ,python-pycairo)
+       ("libsecret" ,libsecret)
+       ("gtkspell3" ,gtkspell3)
+       ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
+       ("webkitgtk" ,webkitgtk)))
+    (home-page "https://github.com/gnumdk/eolie/")
+    (synopsis "Web browser for GNOME")
+    (description
+     "Eolie is a new web browser for GNOME.  It features Firefox sync support,
+a secret password store, an adblocker, and a modern UI.")
+    (license license:gpl3+)))
+
 (define-public epiphany
   (package
     (name "epiphany")
-- 
2.13.3






Information forwarded to guix-patches <at> gnu.org:
bug#27767; Package guix-patches. (Thu, 20 Jul 2017 00:51:01 GMT) Full text and rfc822 format available.

Message #8 received at 27767 <at> debbugs.gnu.org (full text, mbox):

From: rennes <rennes <at> openmailbox.org>
To: Ricardo Wurmus <rekado <at> elephly.net>
Cc: 27767 <at> debbugs.gnu.org
Subject: Re: [bug#27767] [PATCH] gnu: Add eolie.
Date: Wed, 19 Jul 2017 19:50:35 -0500
Hello,
It works well for me. Thanks



Reply sent to Ricardo Wurmus <rekado <at> elephly.net>:
You have taken responsibility. (Thu, 20 Jul 2017 06:43:01 GMT) Full text and rfc822 format available.

Notification sent to Ricardo Wurmus <rekado <at> elephly.net>:
bug acknowledged by developer. (Thu, 20 Jul 2017 06:43:02 GMT) Full text and rfc822 format available.

Message #13 received at 27767-done <at> debbugs.gnu.org (full text, mbox):

From: Ricardo Wurmus <rekado <at> elephly.net>
To: rennes <rennes <at> openmailbox.org>
Cc: 27767-done <at> debbugs.gnu.org
Subject: Re: [bug#27767] [PATCH] gnu: Add eolie.
Date: Thu, 20 Jul 2017 08:42:08 +0200
rennes <rennes <at> openmailbox.org> writes:

> Hello,
> It works well for me. Thanks

Thanks for testing it.  I pushed it with commit ab466d79e.

-- 
Ricardo

GPG: BCA6 89B6 3655 3801 C3C6  2150 197A 5888 235F ACAC
https://elephly.net





Information forwarded to guix-patches <at> gnu.org:
bug#27767; Package guix-patches. (Thu, 20 Jul 2017 10:03:02 GMT) Full text and rfc822 format available.

Message #16 received at 27767 <at> debbugs.gnu.org (full text, mbox):

From: Roel Janssen <roel <at> gnu.org>
To: Ricardo Wurmus <rekado <at> elephly.net>
Cc: 27767 <at> debbugs.gnu.org
Subject: Re: [bug#27767] [PATCH] gnu: Add eolie.
Date: Thu, 20 Jul 2017 12:02:36 +0200
Hi Ricardo!

I guess I'm too late, but here are some comments.

Ricardo Wurmus writes:

> * gnu/packages/gnome.scm (eolie): New variable.
> ---
>  gnu/packages/gnome.scm | 61 ++++++++++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 61 insertions(+)
>
> diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
> index 345dc6a74..be00fcff5 100644
> --- a/gnu/packages/gnome.scm
> +++ b/gnu/packages/gnome.scm
> @@ -3886,6 +3886,67 @@ the same backend as XSANE uses. This means that all existing scanners will
>  work and the interface is well tested.")
>      (license license:gpl3+)))
>  
> +(define-public eolie
> +  (package
> +    (name "eolie")
> +    (version "0.9.0")
> +    (source (origin
> +              (method url-fetch)
> +              (uri (string-append "https://github.com/gnumdk/eolie/"
> +                                  "releases/download/"
> +                                  (version-major+minor version)
> +                                  "/eolie-" version ".tar.xz"))
> +              (sha256
> +               (base32
> +                "1lb3rd2as12vq24fcf9nmlhggf8vka3kli2i92i8iylwi7nq5n2a"))))
> +    (build-system glib-or-gtk-build-system)
> +    (arguments
> +     `(#:modules ((guix build glib-or-gtk-build-system)
> +                  (guix build utils)
> +                  (ice-9 match))
> +       #:phases
> +       (modify-phases %standard-phases
> +         (add-after 'wrap 'wrap-more
> +           (lambda* (#:key inputs outputs #:allow-other-keys)
> +             (let* ((out  (assoc-ref outputs "out"))
> +                    ;; These libraries must be on LD_LIBRARY_PATH.
> +                    (libs '("gtkspell3" "webkitgtk" "libsoup" "libsecret"
> +                            "atk" "gtk+" "gsettings-desktop-schemas"
> +                            "gobject-introspection"))
> +                    (path (string-join
> +                           (map (lambda (lib)
> +                                  (string-append (assoc-ref inputs lib) "/lib"))
> +                                libs)
> +                           ":")))
> +               (wrap-program (string-append out "/bin/eolie")
> +                 `("LD_LIBRARY_PATH" ":" prefix (,path))

This makes it work, but is this something we want to do here?
There seems to be a deeper issue with how libraries are found.

> +                 `("PYTHONPATH" ":" prefix (,(getenv "PYTHONPATH")))
> +                 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH")))))
> +             #t)))))
> +    (native-inputs
> +     `(("intltool" ,intltool)
> +       ("itstool" ,itstool)
> +       ("pkg-config" ,pkg-config)))
> +    (inputs
> +     `(("gobject-introspection" ,gobject-introspection)
> +       ("glib-networking" ,glib-networking)
> +       ("cairo" ,cairo)
> +       ("gtk+" ,gtk+)
> +       ("atk" ,atk)    ; propagated by gtk+, but we need it in LD_LIBRARY_PATH
> +       ("python" ,python-wrapper)
> +       ("python-pygobject" ,python-pygobject)
> +       ("python-pycairo" ,python-pycairo)
> +       ("libsecret" ,libsecret)
> +       ("gtkspell3" ,gtkspell3)
> +       ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
> +       ("webkitgtk" ,webkitgtk)))
> +    (home-page "https://github.com/gnumdk/eolie/")
> +    (synopsis "Web browser for GNOME")
> +    (description
> +     "Eolie is a new web browser for GNOME.  It features Firefox sync support,
> +a secret password store, an adblocker, and a modern UI.")
> +    (license license:gpl3+)))
> +
>  (define-public epiphany
>    (package
>      (name "epiphany")

I tested the browser and it seems to work quite well, except for:
- Ads are not blocked, even when the "Block ads" checkbox is checked.
- It seems to be cloning a repository for adblock_js when running the program:

  roel <at> antelope ~/sources/guix$ /gnu/store/ccvdhd5159qkachbzf4y9k5c6ds4cn4n-eolie-0.9.0/bin/eolie 
  Cloning into '/home/roel/.local/share/eolie/adblock_js'...
  Could not initialize PyGObjectremote: Counting objects: 74, done.
  remote: Total 74 (delta 0), reused 0 (delta 0), pack-reused 74
  Unpacking objects: 100% (74/74), done.

  The 'remote' for this repository is:
  https://github.com/gnumdk/eolie-adblock.git


- I get a couple of Gtk-WARNINGs:
  (eolie:4447): Gtk-WARNING **: Duplicate child name in GtkStack: submenu

  (eolie:4447): Gtk-WARNING **: Failed to fetch network locations: Automount failed: Message recipient disconnected from message bus without replying

  (eolie:4447): Gtk-WARNING **: Duplicate child name in GtkStack: submenu

  (eolie:4447): Gtk-WARNING **: Failed to fetch network locations: Automount failed: Message recipient disconnected from message bus without replying

  (eolie:4447): Gtk-WARNING **: Duplicate child name in GtkStack: submenu

  (eolie:4447): Gtk-WARNING **: Failed to fetch network locations: Automount failed: Message recipient disconnected from message bus without replying
  Application::__on_forms_filled(): g-dbus-error-quark: GDBus.Error:org.freedesktop.DBus.Error.NameHasNoOwner: Name "org.gnome.Eolie.Proxy.Page1" does not exist (3)


- And a couple of more warnings:

  Could not initialize PyGObjectApplication::__on_forms_filled(): g-dbus-error-quark: GDBus.Error:org.freedesktop.DBus.Error.NameHasNoOwner: Name "org.gnome.Eolie.Proxy.Page1" does not exist (3)

  Could not initialize PyGObject
  (eolie:4918): Gtk-WARNING **: Duplicate child name in GtkStack: submenu


Hopefully we can address these things in the future.

Kind regards,
Roel Janssen




Information forwarded to guix-patches <at> gnu.org:
bug#27767; Package guix-patches. (Thu, 20 Jul 2017 13:16:01 GMT) Full text and rfc822 format available.

Message #19 received at 27767 <at> debbugs.gnu.org (full text, mbox):

From: Ricardo Wurmus <rekado <at> elephly.net>
To: Roel Janssen <roel <at> gnu.org>
Cc: 27767 <at> debbugs.gnu.org
Subject: Re: [bug#27767] [PATCH] gnu: Add eolie.
Date: Thu, 20 Jul 2017 15:15:27 +0200
Hi Roel,

> I guess I'm too late, but here are some comments.

Thanks for taking the time to comment.

>> +         (add-after 'wrap 'wrap-more
>> +           (lambda* (#:key inputs outputs #:allow-other-keys)
>> +             (let* ((out  (assoc-ref outputs "out"))
>> +                    ;; These libraries must be on LD_LIBRARY_PATH.
>> +                    (libs '("gtkspell3" "webkitgtk" "libsoup" "libsecret"
>> +                            "atk" "gtk+" "gsettings-desktop-schemas"
>> +                            "gobject-introspection"))
>> +                    (path (string-join
>> +                           (map (lambda (lib)
>> +                                  (string-append (assoc-ref inputs lib) "/lib"))
>> +                                libs)
>> +                           ":")))
>> +               (wrap-program (string-append out "/bin/eolie")
>> +                 `("LD_LIBRARY_PATH" ":" prefix (,path))
>
> This makes it work, but is this something we want to do here?
> There seems to be a deeper issue with how libraries are found.

I realise that this is not pretty, but I haven’t been able to find a
better way to fix this.  IIUC the libraries are not loaded by eolie
directly, but through the gobject introspection mechanism.  It seems to
me that we need to find a way to fix that mechanism instead of trying to
change client applications.

> I tested the browser and it seems to work quite well, except for:
> - Ads are not blocked, even when the "Block ads" checkbox is checked.

It seems to me that *some* ads are indeed blocked, but by far not all of
them.  This seems to be due to a very rudimentary adblock list.

> - It seems to be cloning a repository for adblock_js when running the program:
>
>   roel <at> antelope ~/sources/guix$ /gnu/store/ccvdhd5159qkachbzf4y9k5c6ds4cn4n-eolie-0.9.0/bin/eolie
>   Cloning into '/home/roel/.local/share/eolie/adblock_js'...
>   Could not initialize PyGObjectremote: Counting objects: 74, done.
>   remote: Total 74 (delta 0), reused 0 (delta 0), pack-reused 74
>   Unpacking objects: 100% (74/74), done.
>
>   The 'remote' for this repository is:
>   https://github.com/gnumdk/eolie-adblock.git

This is the block list.  Epiphany does something similar regularly,
though it will just fetch a single file and not use git.  I wonder if
eolie will fall back to using some other mechanism to get an up-to-date
block list when git is not available.

> - I get a couple of Gtk-WARNINGs: […]
> - And a couple of more warnings: […]

I get some of these too, but they don’t seem to affect the browser
features much.

--
Ricardo

GPG: BCA6 89B6 3655 3801 C3C6  2150 197A 5888 235F ACAC
https://elephly.net





bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Fri, 18 Aug 2017 11:24:06 GMT) Full text and rfc822 format available.

This bug report was last modified 7 years and 363 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.