all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* [bug#27767] [PATCH] gnu: Add eolie.
@ 2017-07-19 21:56 Ricardo Wurmus
  2017-07-20  0:50 ` rennes
  2017-07-20 10:02 ` [bug#27767] " Roel Janssen
  0 siblings, 2 replies; 5+ messages in thread
From: Ricardo Wurmus @ 2017-07-19 21:56 UTC (permalink / raw)
  To: 27767; +Cc: Ricardo Wurmus

* 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

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [bug#27767] [PATCH] gnu: Add eolie.
  2017-07-19 21:56 [bug#27767] [PATCH] gnu: Add eolie Ricardo Wurmus
@ 2017-07-20  0:50 ` rennes
  2017-07-20  6:42   ` bug#27767: " Ricardo Wurmus
  2017-07-20 10:02 ` [bug#27767] " Roel Janssen
  1 sibling, 1 reply; 5+ messages in thread
From: rennes @ 2017-07-20  0:50 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: 27767

Hello,
It works well for me. Thanks

^ permalink raw reply	[flat|nested] 5+ messages in thread

* bug#27767: [PATCH] gnu: Add eolie.
  2017-07-20  0:50 ` rennes
@ 2017-07-20  6:42   ` Ricardo Wurmus
  0 siblings, 0 replies; 5+ messages in thread
From: Ricardo Wurmus @ 2017-07-20  6:42 UTC (permalink / raw)
  To: rennes; +Cc: 27767-done


rennes <rennes@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

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [bug#27767] [PATCH] gnu: Add eolie.
  2017-07-19 21:56 [bug#27767] [PATCH] gnu: Add eolie Ricardo Wurmus
  2017-07-20  0:50 ` rennes
@ 2017-07-20 10:02 ` Roel Janssen
  2017-07-20 13:15   ` Ricardo Wurmus
  1 sibling, 1 reply; 5+ messages in thread
From: Roel Janssen @ 2017-07-20 10:02 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: 27767

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@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

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [bug#27767] [PATCH] gnu: Add eolie.
  2017-07-20 10:02 ` [bug#27767] " Roel Janssen
@ 2017-07-20 13:15   ` Ricardo Wurmus
  0 siblings, 0 replies; 5+ messages in thread
From: Ricardo Wurmus @ 2017-07-20 13:15 UTC (permalink / raw)
  To: Roel Janssen; +Cc: 27767


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@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

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2017-07-20 13:16 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-07-19 21:56 [bug#27767] [PATCH] gnu: Add eolie Ricardo Wurmus
2017-07-20  0:50 ` rennes
2017-07-20  6:42   ` bug#27767: " Ricardo Wurmus
2017-07-20 10:02 ` [bug#27767] " Roel Janssen
2017-07-20 13:15   ` Ricardo Wurmus

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.