-
Notifications
You must be signed in to change notification settings - Fork 36
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
1.13.2: missig pkgconfig dependency #107
Comments
Kind of only issue is that wpe can be build with and without xkb support and what is in the header files and pkgconfig file should be indicated. Looks like in wpe/input-xkb.h none depends on Also looks like wpe.pc.in file is no longer used because is used meson pkgconfig files generator. |
Temporary I've added patch --- a/meson.build~ 2022-05-16 18:04:51.000000000 +0000
+++ b/meson.build 2022-05-29 02:55:10.721776653 +0000
@@ -106,6 +106,7 @@
name: 'wpe-' + api_version,
subdirs: 'wpe-' + api_version,
libraries: libwpe,
+ requires: 'xkbcommon',
version: meson.project_version(),
extra_cflags: pkg_cflags,
) to have something working however I'm fully aware that this is not right solution. |
xkbcommon is already in Requires.private, so I wonder why this doesn't already work for you? |
If you will look on what does cmake If heder files of exact pkgconfig module are using other pkgconfig module heders it needs to be listed in |
The reason I say this is because pkg-config and pkgconf include the cflags of a private requirement even without using --static. |
This issue is not about --cflags output. [tkloczko@devel-g2v SPECS]$ pkg-config --cflags wpe-1.0
-I/usr/include/wpe-1.0 -DWPE_ENABLE_XKB=1
[tkloczko@devel-g2v SPECS]$ cat /usr/lib64/pkgconfig/wpe-1.0.pc
prefix=/usr
includedir=${prefix}/include
libdir=${prefix}/lib64
Name: wpe-1.0
Description: The wpe library
Version: 1.13.2
Requires.private: xkbcommon
Libs: -L${libdir} -lwpe-1.0
Cflags: -I${includedir}/wpe-1.0 -DWPE_ENABLE_XKB=1
[tkloczko@devel-g2v SPECS]$ pkg-config --cflags wpe-1.0
-I/usr/include/wpe-1.0 -DWPE_ENABLE_XKB=1 Reason for that is because in bot cases includedir is the same. Issue is still the same .. no |
With that temporary altered content of the wpe-1.0.pc with [tkloczko@devel-g2v SPECS]$ pkg-config --print-requires-private wpe-1.0
xkbcommon
[tkloczko@devel-g2v SPECS]$ pkg-config --print-requires wpe-1.0
[tkloczko@devel-g2v SPECS]$ |
The issue is about resolving:
Which means the issue is about making sure that |
--cflags only alters |
Did you try to reporoduce that iisue? [tkloczko@devel-g2v SPECS]$ grep 'pkgconfig(wpe-1.0)' *
webkitgtk.spec:BuildRequires: pkgconfig(wpe-1.0)
wpebackend-fdo.spec:BuildRequires: pkgconfig(wpe-1.0) |
In the case when support for xkbcommon is enabled when building libwpe:
From a theoretical point of view, an application that uses libxkbcommon directly (and maybe calls functions from libwpe that deal with libxkbcommon features) should specify libxkbcommon as a dependency on its own, instead of relying on libwpe to indirectly pull it. I think we can get out of this pickle by keeping |
Forward-declare a few opaque types in "input-xkb.h" in order to avoid needing to list "xkbcommon" as a public dependency in the generated pkg-config module files. This allows programs which do not use libwpe's xkbcommon functions to skip linking against libxkbcommon, even if libwpe has been built with libxkbcommon support. Fixes #107
|
Unfortunately you are wrong. Every version of pkg-config treats Using There have been proposals to add a third field to indicate "internal" requires which aren't parsed at all unless --static is used. |
Forward-declare a few opaque types in "input-xkb.h" in order to avoid needing to list "xkbcommon" as a public dependency in the generated pkg-config module files. This allows programs which do not use libwpe's xkbcommon functions to skip linking against libxkbcommon, even if libwpe has been built with libxkbcommon support. Fixes #107
I've already showed you examples of commands whcih soes not show such connection.
|
Just found that webkitgtk failed on missing xkbcommon. header file.
And indeed wpe-1.pc file has no
Requires: xkbcommon
line.As wpe iuses xkbcommon headers it should depend on in pkgconfig description
The text was updated successfully, but these errors were encountered: