Hi,
(I've marked the question "OT" in the anticipation that the loading of 'glib-networking' is handled entirely within the Gtk+ package, and Gtk2-WebKit simply takes whatever Gtk+ delivers.)
For a demo of the Gtk2-WebKit browser, I have:
use strict;
use warnings;
use Gtk2 -init;
use Gtk2::WebKit;
my $url = 'https://en.wikipedia.org/wiki/Mary_Poppins_(film)';
my $window = Gtk2::Window->new;
$window->set_default_size(320,160);
$window->signal_connect(destroy => sub { Gtk2->main_quit });
my $sw = Gtk2::ScrolledWindow->new;
my $view = Gtk2::WebKit::WebView->new;
$sw->add($view);
$window->add($sw);
$view->open($url);
$window->show_all;
Gtk2->main;
UPDATE: URL in the script was changed - to keep
Karl happy ;-)
So long as the 'glib-networking' module has been loaded, that script works fine, and the webpage displays normally in the Gtk2 browser window (once the window has been maximised, of course).
However, if 'glib-networking' is not loaded, the browser window simply displays:
TLS/SSL support not available; install glib-networking
which is a message that emanates from the Gtk+ libsoup-2.4.1.dll.
The 'glib-networking' module itself is lib/gio/modules/libgiognutls.dll, with some additional resources in the 'share' directory.
If I hide libgiognutls.dll then I get the libsoup error message. But I'm damned if I can work out what detects and pulls in libgiognutls.dll.
My Gtk+ installation is provided by MSYS2 - and it was built using a mingw-w64 port of gcc-5.4.0.
I've built perl-5.24.0 using the same compiler - and this means that the perl-gtk2 modules (including Gtk2-WebKit) build fairly trivially for that particular build of perl.
For that particular perl, everything works quite well (including the loading of 'glib-networking' and the above demo).
However, for perls built with a
different version of gcc, it's not so trivial and I do some hacking.
Of course, in that hacking the 'glib-networking' package fails to load and I'm left with a browser that can't handle TLS/SSL.
I'd like to fix that but I don't give myself much of a chance of doing that if I don't understand the conditions that need to be met ... and hence my question.
I've searched my entire Gtk+ installation looking for a match for the string "giognutls" and there's only one match - in libgiognutls.dll itself.
If the dll is getting loaded, I would have expected at least one match elsewhere.
Searching the Glib, Gtk2 and Gtk2-WebKit sources for the same string results in zero hits.
Cheers,
Rob