GNOME Bugzilla – Bug 595065
libsoup-2.26.3: build gnome plugin without libsoup library
Last modified: 2012-12-12 10:08:35 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.
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.
Created attachment 143111 [details] [review] New proposal patch (fixed version)
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.
Created attachment 143737 [details] [review] Proposal patch
Fix patch which skipped link relationship to libsoup-2.4.so (found using --no-undefined LDFLAG, and per Daniel's comment) :)
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.
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.