flathub / io.qt.qtwebengine.BaseApp

9 stars 13 forks source link

Copy Qt module pkgconfig files to `/app/lib/pkgconfig` #323

Closed bbhtt closed 8 months ago

bbhtt commented 1 year ago

Fixes https://github.com/flathub/io.qt.qtwebengine.BaseApp/issues/205

Needs backport to branch/6.5, branch/5.15-22.08, branch/5.15-23.08

flathubbot commented 1 year ago

Started test build 79321

flathubbot commented 1 year ago

Build 79321 was cancelled

flathubbot commented 1 year ago

Started test build 79333

flathubbot commented 1 year ago

Build 79333 failed

flathubbot commented 1 year ago

Started test build 79349

flathubbot commented 1 year ago

Build 79349 failed

bbhtt commented 1 year ago
Job failed: {'check_name': 'flathub-hooks', 'build_id': 61954, 'job_id': 97951, 'status': 3, 'status_reason': 'One or more validations failed.', 'results': '{"diagnostics":[{"refstring":"app/io.qt.qtwebengine.BaseApp/x86_64/6.6","is_warning":false,"category":"flatpak_builder_lint","data":{"stdout":{"errors":["appstream-missing-icon-file","appstream-failed-validation"],"warnings":["appstream-missing-developer-name"]},"stderr":""}},{"refstring":"app/io.qt.qtwebengine.BaseApp/aarch64/6.6","is_warning":false,"category":"flatpak_builder_lint","data":{"stdout":{"errors":["appstream-missing-icon-file","appstream-failed-validation"],"warnings":["appstream-missing-developer-name"]},"stderr":""}}]}'}
tsdgeos commented 1 year ago

I'm sorry i really don't have approval rights in this project

bbhtt commented 1 year ago

I'm sorry i really don't have approval rights in this project

I just need an ack if the changes makes sense.

tsdgeos commented 1 year ago

Why does the pkg files need to be in /app/lib/pkgconfig in addition to the arch based path?

in the sdk all the pc files are in

/usr/lib/$arch/pkgconfig

no?

bbhtt commented 1 year ago

Why does the pkg files need to be in /app/lib/pkgconfig in addition to the arch based path?

in the sdk all the pc files are in

/usr/lib/$arch/pkgconfig

no?

/app/lib/pkgconfig is the correct one and is in pkg conf's search path. It comes from the freedesktop-sdk. /app/lib/$(gcc --print-mutilarch)/pkgconfig should not exist.

Usually stuff in /app doesn't get folders per arch because it is going to be separate refs for x86_64, aarch64 etc.

Some build systems sees that the path is PREFIX/lib/$(gcc --print-mutilarch)/ and replaces PREFIX to /app making an extra folder.

I had a similar issue regarding webkit typelib files that CMAKE tries to put in /app/lib/x86_64-linux-gnu/girepository-1.0 instead of /app/lib/girepository-1.0. Only the last one is in search path. https://github.com/flathub/org.fdroid.Repomaker/pull/13#issuecomment-1685474361

tsdgeos commented 12 months ago

/app/lib/pkgconfig is the correct one and is in pkg conf's search path.

Is it? I added a fake .pc file (basically copied a good one there with a different name) to /app/lib/pkgconfig when running

flatpak run --command=bash org.kde.Sdk

and pkg-config --list-all doesn't seem to find that pc file.

Is my test not correct?

bbhtt commented 12 months ago

flatpak run --command=bash org.kde.Sdk

That won't work once it is installed. It gets set only at build time by flatpak-builder https://github.com/flatpak/flatpak-builder/blob/92c1477d605d28c7fc0bcd11f68db09375b28ce7/src/builder-options.c#L1020

It comes from the freedesktop-sdk

Looks like I mistook it for another path. The one fsdk sets is used internally for building the runtime extensions. The SDK/runtime sets nothing.

ntonnaett commented 11 months ago

I added this to my manifest of JackTrip and removed setting the pkg_config_path. This fixes the build for arm64. But currently I'm trying to learn how to use prepend-pkg-config-path per arch.

https://github.com/flathub/org.jacktrip.JackTrip/pull/11

bbhtt commented 11 months ago

But currently I'm trying to learn how to use prepend-pkg-config-path per arch.

You did it correctly.

Added a note to the readme until it is solved https://github.com/flathub/io.qt.qtwebengine.BaseApp/wiki#pkgconfig-files