Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 760902 - net-libs/webkit-gtk-2.30.4: cmake can't find xdg-dbus-proxy
Summary: net-libs/webkit-gtk-2.30.4: cmake can't find xdg-dbus-proxy
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo Linux Gnome Desktop Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-12-20 16:34 UTC by David Michael
Modified: 2020-12-24 16:05 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description David Michael 2020-12-20 16:34:29 UTC
The cmake configuration looks for a native xdg-dbus-proxy executable, so building webkit-gtk in a sysroot fails because it's not installed via BDEPEND.

Reproducible: Always

Steps to Reproduce:
1. emerge --rage-clean xdg-dbus-proxy
2. cross-emerge -v webkit-gtk

Actual Results:  
CMake Error at Source/cmake/BubblewrapSandboxChecks.cmake:14 (message):
  xdg-dbus-proxy not found and is needed for ENABLE_BUBBLEWRAP_SANDBOX
Call Stack (most recent call first):
  Source/cmake/OptionsGTK.cmake:491 (include)
  Source/cmake/WebKitCommon.cmake:58 (include)
  CMakeLists.txt:173 (include)

Expected Results:  
It should build and install.

Looking at the build system, the only actual usage of xdg-dbus-proxy seems to be path substitution in Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp to call it at runtime, so it doesn't actually call the native program (i.e. it's correct in RDEPEND).

It could therefore be fixed by adding -DDBUS_PROXY_EXECUTABLE:FILEPATH=${EPREFIX}/usr/bin/xdg-dbus-proxy to cmake args (like it's already doing with -DBWRAP_EXECUTABLE) to work around the bad cmake test, as opposed to adding it to BDEPEND and needlessly compiling a native version.  I just verified it works with the MYCMAKEARGS environment variable.

This is probably the expected way to fix since it prints this warning when cross-compiling:

***--------------------------------------------------------***
***  Cannot check Bubblewrap version when cross-compiling. ***
***  The target system MUST have version 0.3.1 or newer.   ***
***  Use the BWRAP_EXECUTABLE and DBUS_PROXY_EXECUTABLE    ***
***  variables to set the run-time paths for the 'bwrap'   ***
***  and 'xdg-dbus-proxy' programs.                        ***
***--------------------------------------------------------***
Comment 1 Larry the Git Cow gentoo-dev 2020-12-24 16:05:21 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0f261968c53e914d3e339e57c7d157b72bf32f81

commit 0f261968c53e914d3e339e57c7d157b72bf32f81
Author:     Mart Raudsepp <leio@gentoo.org>
AuthorDate: 2020-12-24 15:54:17 +0000
Commit:     Mart Raudsepp <leio@gentoo.org>
CommitDate: 2020-12-24 16:03:07 +0000

    net-libs/webkit-gtk-2.30.4: workaround evolution bug, other improvements
    
    * Porting from cmake-utils.eclass to cmake.eclass made -DNDEBUG not be passed
      anymore, converting some mail-client/evolution issues into aborts. Keep
      passing -DNDEBUG for the time being again.
    * Improve cross-compilation by not requiring sys-apps/xdg-dbus-proxy on CBUILD
    * Build the MiniBrowser with USE=examples
    
    Bug: https://bugs.gentoo.org/761238
    Closes: https://bugs.gentoo.org/760902
    Closes: https://bugs.gentoo.org/758299
    Package-Manager: Portage-3.0.12, Repoman-3.0.2
    Signed-off-by: Mart Raudsepp <leio@gentoo.org>

 net-libs/webkit-gtk/metadata.xml                |   1 +
 net-libs/webkit-gtk/webkit-gtk-2.30.4-r1.ebuild | 300 ++++++++++++++++++++++++
 2 files changed, 301 insertions(+)