Subject: [bug#27767] [PATCH] gnu: Add eolie.

From: Ricardo Wurmus <[email-masked]>
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@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