Message ID | 20210427092334.23537-5-rg@raghavgururajan.name |
---|---|
State | Accepted |
Headers | show |
Series | [bug#48028,wip-gnome,v5,1/8] gnu: gtkmm: Change build-system and adjust arguments accordingly. | expand |
Context | Check | Description |
---|---|---|
cbaines/submitting builds | success | |
cbaines/comparison | success | View comparision |
cbaines/git branch | success | View Git branch |
cbaines/applying patch | success | View Laminar job |
cbaines/issue | success | View issue |
Hi, Am Dienstag, den 27.04.2021, 05:23 -0400 schrieb Raghav Gururajan: > * gnu/packages/gnome.scm (libsoup)[inputs]: Add samba and > move glib-networking to ... > [propagated-inputs]: ... here. > --- > gnu/packages/gnome.scm | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm > index 51a72c4e58..e9924b67a0 100644 > --- a/gnu/packages/gnome.scm > +++ b/gnu/packages/gnome.scm > @@ -4972,13 +4972,14 @@ libxml to ease remote use of the RESTful > API.") > ;; libsoup-2.4.pc refers to all these. > `(("brotli" ,google-brotli) > ("glib" ,glib) > + ("glib-networking" ,glib-networking) After looking at this more closely, the comment is a little misleading, since the libsoup-2.4.pc does not actually refer to glib-networking. What is the rationale behind this propagation? In v1 you claimed the .pc file mentions this, but I don't see any of it: libsoup-2.4.pc:Requires: glib-2.0 >= 2.58, gobject-2.0 >= 2.58, gio- 2.0 >= 2.58 libsoup-2.4.pc:Requires.private: libxml-2.0, sqlite3, libpsl >= 0.20, libbrotlidec, zlib libsoup-gnome-2.4.pc:Requires: libsoup-2.4 libsoup-gnome-2.4.pc:Requires.private: glib-2.0 >= 2.58, gobject-2.0 >= 2.58, gio-2.0 >= 2.58, libxml-2.0, sqlite3, libpsl >= 0.20, libbrotlidec, zlib In fact, I had a look at the libsoup source, and even there, using 2.99.4, which is the latest *unstable* release (as opposed to the lastest stable release), the glib_deps from which the pkg-config file is formed, says: glib_deps = [glib_dep, gobject_dep, gio_dep] There doesn't even seem to be a pkg-config file for glib-networking. (Note: I'm running my checks on master to avoid the rebuilds, that come from wip-gnome, but wip-gnome appears to package the same version, so there shouldn't be a difference) Regards, Leo
Hi Leo, > After looking at this more closely, the comment is a little misleading, > since the libsoup-2.4.pc does not actually refer to glib-networking. > What is the rationale behind this propagation? > In v1 you claimed the .pc file mentions this, but I don't see any of > it: > libsoup-2.4.pc:Requires: glib-2.0 >= 2.58, gobject-2.0 >= 2.58, gio- > 2.0 >= 2.58 > libsoup-2.4.pc:Requires.private: libxml-2.0, sqlite3, libpsl >= 0.20, > libbrotlidec, zlib > libsoup-gnome-2.4.pc:Requires: libsoup-2.4 > libsoup-gnome-2.4.pc:Requires.private: glib-2.0 >= 2.58, gobject-2.0 >> = 2.58, gio-2.0 >= 2.58, libxml-2.0, sqlite3, libpsl >= 0.20, > libbrotlidec, zlib It `gio` I was referring to. GIO can mean [glib]/lib/libgio or [glib-networking]/lib/gio/modules/libgio* or both. It depends on what package it is. Libsoup is a networking package, which uses glib-networking as tls backend. So GIO networking modules provided by glib-networking, is required by libsoup at runtime. Regards, RG.
Am Mittwoch, den 28.04.2021, 09:07 -0400 schrieb Raghav Gururajan: > Hi Leo, > > > After looking at this more closely, the comment is a little > > misleading, > > since the libsoup-2.4.pc does not actually refer to glib- > > networking. > > What is the rationale behind this propagation? > > In v1 you claimed the .pc file mentions this, but I don't see any > > of > > it: > > libsoup-2.4.pc:Requires: glib-2.0 >= 2.58, gobject-2.0 >= 2.58, > > gio- > > 2.0 >= 2.58 > > libsoup-2.4.pc:Requires.private: libxml-2.0, sqlite3, libpsl > > >= 0.20, > > libbrotlidec, zlib > > libsoup-gnome-2.4.pc:Requires: libsoup-2.4 > > libsoup-gnome-2.4.pc:Requires.private: glib-2.0 >= 2.58, gobject- > > 2.0 > > > = 2.58, gio-2.0 >= 2.58, libxml-2.0, sqlite3, libpsl >= 0.20, > > libbrotlidec, zlib > > It `gio` I was referring to. GIO can mean [glib]/lib/libgio or > [glib-networking]/lib/gio/modules/libgio* or both. It depends on > what > package it is. Libsoup is a networking package, which uses > glib-networking as tls backend. So GIO networking modules provided > by > glib-networking, is required by libsoup at runtime. I don't think "gio inside .pc" means that, however. I do agree, that it might be worth propagating it as a runtime dependency, but it should be done with a suitable comment. Regards, Leo
Leo Prikler <leo.prikler@student.tugraz.at> writes: > Am Mittwoch, den 28.04.2021, 09:07 -0400 schrieb Raghav Gururajan: >> Hi Leo, >> >> > After looking at this more closely, the comment is a little >> > misleading, >> > since the libsoup-2.4.pc does not actually refer to glib- >> > networking. >> > What is the rationale behind this propagation? >> > In v1 you claimed the .pc file mentions this, but I don't see any >> > of >> > it: >> > libsoup-2.4.pc:Requires: glib-2.0 >= 2.58, gobject-2.0 >= 2.58, >> > gio- >> > 2.0 >= 2.58 >> > libsoup-2.4.pc:Requires.private: libxml-2.0, sqlite3, libpsl >> > >= 0.20, >> > libbrotlidec, zlib >> > libsoup-gnome-2.4.pc:Requires: libsoup-2.4 >> > libsoup-gnome-2.4.pc:Requires.private: glib-2.0 >= 2.58, gobject- >> > 2.0 >> > > = 2.58, gio-2.0 >= 2.58, libxml-2.0, sqlite3, libpsl >= 0.20, >> > libbrotlidec, zlib >> >> It `gio` I was referring to. GIO can mean [glib]/lib/libgio or >> [glib-networking]/lib/gio/modules/libgio* or both. It depends on >> what >> package it is. Libsoup is a networking package, which uses >> glib-networking as tls backend. So GIO networking modules provided >> by >> glib-networking, is required by libsoup at runtime. Yes, glib-networking provides 2 gio modules: - libgiognutls.so: Let GIO based applications access HTTPS (TLS). - libgiognomeproxy.so: Let GIO based applications use GNOME proxy settings. They're required at runtime, and optional (one may argue that HTTPS is a must have feature though). Currently we add glib-networking to webkit browsers's inputs (eg: epiphany, luakit, etc.) directly, and wrap it with 'GIO_EXTRA_MODULES'. By propagated glib-networking in libsoup, we can remove it from inputs of thoese web browsers, but we still have to wrap them... Maybe there is a way to hardcode glib-networking in libsoup so that we can get rid of GIO_EXTRA_MODULES? (another gio module is the gsettings backends dconf, which also need a user dbus-daemon user spawn its backend service...) > I don't think "gio inside .pc" means that, however. I do agree, that > it might be worth propagating it as a runtime dependency, but it should > be done with a suitable comment. I Agree with Leo. Raghav, could you look into if we can get rid of GIO_EXTRA_MODULES for glib-networking or add a specified comment for this comment (maybe: "For HTTPS and GNOME proxy support")? Thanks!
Am Sonntag, den 02.05.2021, 13:14 +0800 schrieb 宋文武: > Leo Prikler <leo.prikler@student.tugraz.at> writes: > > > Am Mittwoch, den 28.04.2021, 09:07 -0400 schrieb Raghav Gururajan: > > > Hi Leo, > > > > > > > After looking at this more closely, the comment is a little > > > > misleading, > > > > since the libsoup-2.4.pc does not actually refer to glib- > > > > networking. > > > > What is the rationale behind this propagation? > > > > In v1 you claimed the .pc file mentions this, but I don't see > > > > any > > > > of > > > > it: > > > > libsoup-2.4.pc:Requires: glib-2.0 >= 2.58, gobject-2.0 > > > > >= 2.58, > > > > gio- > > > > 2.0 >= 2.58 > > > > libsoup-2.4.pc:Requires.private: libxml-2.0, sqlite3, libpsl > > > > > = 0.20, > > > > libbrotlidec, zlib > > > > libsoup-gnome-2.4.pc:Requires: libsoup-2.4 > > > > libsoup-gnome-2.4.pc:Requires.private: glib-2.0 >= 2.58, > > > > gobject- > > > > 2.0 > > > > > = 2.58, gio-2.0 >= 2.58, libxml-2.0, sqlite3, libpsl > > > > > >= 0.20, > > > > libbrotlidec, zlib > > > > > > It `gio` I was referring to. GIO can mean [glib]/lib/libgio or > > > [glib-networking]/lib/gio/modules/libgio* or both. It depends on > > > what > > > package it is. Libsoup is a networking package, which uses > > > glib-networking as tls backend. So GIO networking modules > > > provided > > > by > > > glib-networking, is required by libsoup at runtime. > > Yes, glib-networking provides 2 gio modules: > - libgiognutls.so: Let GIO based applications access HTTPS (TLS). > - libgiognomeproxy.so: Let GIO based applications use GNOME proxy > settings. > > They're required at runtime, and optional (one may argue that HTTPS > is a > must have feature though). Currently we add glib-networking to > webkit > browsers's inputs (eg: epiphany, luakit, etc.) directly, and wrap it > with 'GIO_EXTRA_MODULES'. By propagated glib-networking in libsoup, > we > can remove it from inputs of thoese web browsers, but we still have > to > wrap them... > > Maybe there is a way to hardcode glib-networking in libsoup so that > we > can get rid of GIO_EXTRA_MODULES? (another gio module is the > gsettings > backends dconf, which also need a user dbus-daemon user spawn its > backend service...) > > > I don't think "gio inside .pc" means that, however. I do agree, > > that > > it might be worth propagating it as a runtime dependency, but it > > should > > be done with a suitable comment. > > I Agree with Leo. Raghav, could you look into if we can get rid of > GIO_EXTRA_MODULES for glib-networking or add a specified comment for > this comment (maybe: "For HTTPS and GNOME proxy support")? I didn't go as far as you. All I wanted to say, was that insinuating it to be a pkg-config dependency might be misleading, and that we ought to have a suitable comment. I've already pushed that patch to master with one I wrote myself. I'm not quite sure what's the problem with wrapping here. Does glib- or-gtk-build-system not take care of GIO_EXTRA_MODULES? Regards, Leo
Leo Prikler <leo.prikler@student.tugraz.at> writes: > Am Sonntag, den 02.05.2021, 13:14 +0800 schrieb 宋文武: > [...] >> >> I Agree with Leo. Raghav, could you look into if we can get rid of >> GIO_EXTRA_MODULES for glib-networking or add a specified comment for >> this comment (maybe: "For HTTPS and GNOME proxy support")? > > I didn't go as far as you. All I wanted to say, was that insinuating > it to be a pkg-config dependency might be misleading, and that we ought > to have a suitable comment. I've already pushed that patch to master > with one I wrote myself. Sure, thank you! > > I'm not quite sure what's the problem with wrapping here. Does glib- > or-gtk-build-system not take care of GIO_EXTRA_MODULES? Yes, glib-or-gtk-build-system (and meson-build-system) will do, but that requires the users of the libsoup and webkitgtk package (eg: midori) to use glib-or-gtk-build-system which may not be the cases or can be easily forget.
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 51a72c4e58..e9924b67a0 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -4972,13 +4972,14 @@ libxml to ease remote use of the RESTful API.") ;; libsoup-2.4.pc refers to all these. `(("brotli" ,google-brotli) ("glib" ,glib) + ("glib-networking" ,glib-networking) ("libpsl" ,libpsl) ("libxml2" ,libxml2) ("sqlite" ,sqlite) ("zlib" ,zlib))) (inputs - `(("glib-networking" ,glib-networking) - ("mit-krb5" ,mit-krb5))) + `(("mit-krb5" ,mit-krb5) + ("ntlm_auth" ,samba))) ; For ntlm_auth support (home-page "https://live.gnome.org/LibSoup/") (synopsis "GLib-based HTTP Library") (description