After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 595065 - libsoup-2.26.3: build gnome plugin without libsoup library
libsoup-2.26.3: build gnome plugin without libsoup library
Status: RESOLVED WONTFIX
Product: libsoup
Classification: Core
Component: API
2.26.x
Other All
: Normal enhancement
: ---
Assigned To: libsoup-maint@gnome.bugs
libsoup-maint@gnome.bugs
Depends on:
Blocks:
 
 
Reported: 2009-09-13 11:18 UTC by Romain Perier
Modified: 2012-12-12 10:08 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Proposal patch (5.46 KB, patch)
2009-09-13 11:18 UTC, Romain Perier
none Details | Review
New proposal patch (fixed version) (5.46 KB, patch)
2009-09-13 17:31 UTC, Romain Perier
none Details | Review
Proposal patch (5.84 KB, patch)
2009-09-22 19:14 UTC, Romain Perier
none Details | Review
libsoup-gnome-split.patch (6.89 KB, patch)
2012-07-22 08:19 UTC, Priit Laes (IRC: plaes)
none Details | Review

Description Romain Perier 2009-09-13 11:18:27 UTC
Created attachment 143098 [details] [review]
Proposal patch

Hey,

This patch could be weird, but it helps us a lot by fixing a circular
dependency for libsoup on gentoo.

The actual problem in libsoup was the following:
 - if libsoup is built using gnome support it depends on libproxy.
 - Then if libproxy is built using webkit support, it will depend on
webkit-gtk.
 - Finally webkit-gtk depends on libsoup (unconditionnally without any
supports).

The solution we found was to write this patch in order to be able to build
gnome plugin without libsoup library (assuming libsoup system library is used
in this specific case).

Then we just move libsoup-gnome package into libsoup's PDEPEND, then portage is
able to solve the circular dependency itself (and libsoup-gnome depends on
libsoup of course)

see http://devmanual.gentoo.org/general-concepts/dependencies/index.html about
PDEPEND stuffs.

see bug https://bugs.gentoo.org/show_bug.cgi?id=269747 for more details.

It could be useful for meta distro like sabayon, funtoo and gentoo (which use
ebuilds).
May be this patch isn't perfect, so feel free to commented out it.

Regards,
Romain.
Comment 1 Nirbheek Chauhan 2009-09-13 11:49:16 UTC
You will probably not be interested in merging this for 2.26.x, could this be done for 2.28? (since it's only touches the build system)

Also, this is relevant for binary distros (ubuntu, debian, etc) since they split libsoup into libsoup and libsoup-gnome anyway.
Comment 2 Romain Perier 2009-09-13 17:31:30 UTC
Created attachment 143111 [details] [review]
New proposal patch (fixed version)
Comment 3 Daniel Macks 2009-09-14 00:28:34 UTC
Fink would love this! We've hacked several other "library + gnome-component" packages to be separately-buildable (rather than "can only enable/disable gnome-component") and it solves a lot of circular problems and other packaging headaches.

For the patch, I don't see where the system-supplied libsoup is detected and flags propagated. In plain-language meaning of the --with-libsoup-system flag, need to PKG_CHECK_MODULES(LIBSOUP,libsoup-2.4) and pass LIBSOUP_{CFLAGS,LIBS} to the libsoup_gnome_2_4_la_{CPPFLAGS,LDFLAGS} instead of using the source-directory-supplied libsoup  base library.
Comment 4 Romain Perier 2009-09-22 19:14:35 UTC
Created attachment 143737 [details] [review]
Proposal patch
Comment 5 Romain Perier 2009-09-22 19:15:53 UTC
Fix patch which skipped link relationship to libsoup-2.4.so (found using --no-undefined LDFLAG, and per Daniel's comment)

:)
Comment 6 Priit Laes (IRC: plaes) 2012-07-22 08:19:11 UTC
Created attachment 219408 [details] [review]
libsoup-gnome-split.patch

We've been carrying this patch around for a while now, so here's the latest one.
Comment 7 Dan Winship 2012-12-12 10:08:35 UTC
As of yesterday in libsoup master, libsoup-gnome no longer depends on any libraries that libsoup does not. So there's no longer any advantage to building them separately, and since libsoup-gnome is basically now deprecated, I don't really want to add more build system infrastructure for dealing with it.