Closed psaavedra closed 2 years ago
LGTM-ish, but several jobs fail because cmae cannot find libsystemd.
LGTM-ish, but several jobs fail because cmae cannot find libsystemd.
Good catch. WebKit 2.36 renames USE_SYSTEMD
to ENABLE_JOURNALD_LOG
.
The following changes should address that (PR already pushed with them)
diff --git a/recipes-browser/wpewebkit/wpewebkit.inc b/recipes-browser/wpewebkit/wpewebkit.inc
index ff02afc..715ca60 100644
--- a/recipes-browser/wpewebkit/wpewebkit.inc
+++ b/recipes-browser/wpewebkit/wpewebkit.inc
@@ -57,7 +57,6 @@ export WK_USE_CCACHE="NO"
PACKAGECONFIG ??= "jit dfg-jit mediasource video webaudio webcrypto woff2 gst_gl \
remote-inspector openjpeg unified-builds service-worker \
- ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '' ,d)} \
"
PACKAGECONFIG[reduce-size] = "-DCMAKE_BUILD_TYPE=MinSizeRel,-DCMAKE_BUILD_TYPE=Release,,"
@@ -76,8 +75,6 @@ PACKAGECONFIG[minibrowser] = "-DENABLE_MINIBROWSER=ON,-DENABLE_MINIBROWSER=OFF,"
PACKAGECONFIG[mediasource] = "-DENABLE_MEDIA_SOURCE=ON,-DENABLE_MEDIA_SOURCE=OFF,gstreamer1.0 gstreamer1.0-plugins-good"
PACKAGECONFIG[mediastream] = "-DENABLE_MEDIA_STREAM=ON -DUSE_GSTREAMER_TRANSCODER=OFF,-DENABLE_MEDIA_STREAM=OFF,gstreamer1.0 gstreamer1.0-plugins-bad"
PACKAGECONFIG[service-worker] = "-DENABLE_SERVICE_WORKER=ON,-DENABLE_SERVICE_WORKER=OFF,"
-# Replaced by ENABLE_JOURNALD_LOG in the future 2.36.X
-PACKAGECONFIG[systemd] = "-DUSE_SYSTEMD=ON,-DUSE_SYSTEMD=OFF,systemd"
PACKAGECONFIG[video] = "-DENABLE_VIDEO=ON,-DENABLE_VIDEO=OFF,gstreamer1.0 gstreamer1.0-plugins-base"
PACKAGECONFIG[webaudio] = "-DENABLE_WEB_AUDIO=ON,-DENABLE_WEB_AUDIO=OFF,gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-good"
PACKAGECONFIG[webcrypto] = "-DENABLE_WEB_CRYPTO=ON,-DENABLE_WEB_CRYPTO=OFF,libgcrypt libtasn1"
diff --git a/recipes-browser/wpewebkit/wpewebkit_2.34.6.bb b/recipes-browser/wpewebkit/wpewebkit_2.34.6.bb
index 09d4f71..f86a6b6 100644
--- a/recipes-browser/wpewebkit/wpewebkit_2.34.6.bb
+++ b/recipes-browser/wpewebkit/wpewebkit_2.34.6.bb
@@ -18,8 +18,10 @@ PACKAGECONFIG[lcms] = "-DUSE_LCMS=ON,-DUSE_LCMS=OFF,"
# Removed in 2.36
PACKAGECONFIG[gold] = "-DUSE_LD_GOLD=ON,-DUSE_LD_GOLD=OFF,"
+# Replaced by ENABLE_JOURNALD_LOG in the future 2.36.X
+PACKAGECONFIG[systemd] = "-DUSE_SYSTEMD=ON,-DUSE_SYSTEMD=OFF,systemd"
-PACKAGECONFIG:append = " gold dfg-jit"
+PACKAGECONFIG:append = " gold dfg-jit ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '' ,d)}"
# Disable gold on mips/riscv. Mips/gold does not yet implement: error: .gnu.hash is incompatible with the MIPS ABI
PACKAGECONFIG:remove:riscv32 = "gold"
diff --git a/recipes-browser/wpewebkit/wpewebkit_2.36.0.bb b/recipes-browser/wpewebkit/wpewebkit_2.36.0.bb
index 390092a..ee958d1 100644
--- a/recipes-browser/wpewebkit/wpewebkit_2.36.0.bb
+++ b/recipes-browser/wpewebkit/wpewebkit_2.36.0.bb
@@ -19,6 +19,10 @@ SRC_URI:class-devupstream = "\
# WPE 2.36.X branch was forked from the main branch in this commit
SRCREV:class-devupstream = "b3f12a91b11b34b71aa4ec64c1806616b45bd877"
+# Needed from 2.36
+PACKAGECONFIG[journald] = "-DENABLE_JOURNALD_LOG=ON,-DENABLE_JOURNALD_LOG=OFF,"
+PACKAGECONFIG:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'journald', 'journald', '' ,d)}"
+
# libsoup-3 will be available not before Poky kirkstone.
# http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/meta/recipes-support/libsoup/libsoup_3.0.1.bb?id=de296e2b2be876ca5cf2af309b710111e2b2581e
EXTRA_OECMAKE += "-DUSE_SOUP2=ON"
LGTM-ish, but several jobs fail because cmae cannot find libsystemd.
Good catch. WebKit 2.36 renames
USE_SYSTEMD
toENABLE_JOURNALD_LOG
.The following changes should address that (PR already pushed with them)
Still failing at least on one test: https://gitlab.com/browsers/meta-webkit/-/pipelines/502812348/failures
I suppose that you'll notice at some point, but was checking myself the current status and already saw this problem, so just in case and advancing to try to get it solved earlier.
I forgot to update the webkitgtk recipe.
The
libjxl
build recipe downloads sources using a script instead of listing them inSRC_URI
. I would prefer to see that changed before merging.
Also, have you wondered also contributing the libjxl
recipe to upstream Yocto? That way in the future it will be possible to remove it from meta-webkit
.
ownloads sources using a script instead of listing them in
SRC_URI
. I wouThe
libjxl
build recipe downloads sources using a script instead of listing them inSRC_URI
. I would prefer to see that changed before merging.Also, have you wondered also contributing the
libjxl
recipe to upstream Yocto? That way in the future it will be possible to remove it frommeta-webkit
.
That is a good point. Yes in the future I agree on move this kind of "extra" packages to meta-oe. That is fine.
Finally I had to downgrade the highway package to 0.15.0 because some errors in the build:
/home/bot/yocto-rpi3-manual/builds/raspberrypi3-mesa-wpe-nightly/tmp/work/cortexa9t2hf-neon-poky-linux-gnueabi/libjxl/0.6.1-r0/libjxl-0.6.1/lib/jxl/dec_upsample.cc: In function 'void jxl::N_NEON::{anonymous}::Upsample(const ImageF&, const jxl::Rect&, jxl::ImageF*, const jxl::Rect&, const float*, ssize_t, size_t, float*)':
/home/bot/yocto-rpi3-manual/builds/raspberrypi3-mesa-wpe-nightly/tmp/work/cortexa9t2hf-neon-poky-linux-gnueabi/libjxl/0.6.1-r0/libjxl-0.6.1/lib/jxl/dec_upsample.cc:179:23: error: no matching function for call to 'MinOfLanes(hwy::N_NEON::Vec128<float, 4>&)'
179 | min = MinOfLanes(min);
| ~~~~~~~~~~^~~~~
In file included from /home/bot/yocto-rpi3-manual/builds/raspberrypi3-mesa-wpe-nightly/tmp/work/cortexa9t2hf-neon-poky-linux-gnueabi/libjxl/0.6.1-r0/recipe-sysroot/usr/include/hwy/highway.h:304,
from /home/bot/yocto-rpi3-manual/builds/raspberrypi3-mesa-wpe-nightly/tmp/work/cortexa9t2hf-neon-poky-linux-gnueabi/libjxl/0.6.1-r0/libjxl-0.6.1/lib/jxl/dec_upsample.cc:11:
/home/bot/yocto-rpi3-manual/builds/raspberrypi3-mesa-wpe-nightly/tmp/work/cortexa9t2hf-neon-poky-linux-gnueabi/libjxl/0.6.1-r0/recipe-sysroot/usr/include/hwy/ops/arm_neon-inl.h:4445:22: note: candidate: 'template<class T, unsigned int N> hwy::N_NEON::Vec128<T, N> hwy::N_NEON::MinOfLanes(hwy::N_NEON::Simd<T, kNumLanes, 0>, hwy::N_NEON::Vec128<T, N>)'
4445 | HWY_API Vec128<T, N> MinOfLanes(Simd<T, N, 0> /* tag */, const Vec128<T, N> v) {
| ^~~~~~~~~~
/home/bot/yocto-rpi3-manual/builds/raspberrypi3-mesa-wpe-nightly/tmp/work/cortexa9t2hf-neon-poky-linux-gnueabi/libjxl/0.6.1-r0/recipe-sysroot/usr/include/hwy/ops/arm_neon-inl.h:4445:22: note: template argument deduction/substitution failed:
/home/bot/yocto-rpi3-manual/builds/raspberrypi3-mesa-wpe-nightly/tmp/work/cortexa9t2hf-neon-poky-linux-gnueabi/libjxl/0.6.1-r0/libjxl-0.6.1/lib/jxl/dec_upsample.cc:179:23: note: 'hwy::N_NEON::Vec128<float, 4>' is not derived from 'hwy::N_NEON::Simd<T, kNumLanes, 0>'
179 | min = MinOfLanes(min);
| ~~~~~~~~~~^~~~~
/home/bot/yocto-rpi3-manual/builds/raspberrypi3-mesa-wpe-nightly/tmp/work/cortexa9t2hf-neon-poky-linux-gnueabi/libjxl/0.6.1-r0/libjxl-0.6.1/lib/jxl/dec_upsample.cc:180:23: error: no matching function for call to 'MaxOfLanes(hwy::N_NEON::Vec128<float, 4>&)'
180 | max = MaxOfLanes(max);
| ~~~~~~~~~~^~~~~
home/bot/yocto-rpi3-manual/builds/raspberrypi3-mesa-wpe-nightly/tmp/work/cortexa9t2hf-neon-poky-linux-gnueabi/libjxl/0.6.1-r0/libjxl-0.6.1/lib/jxl/transpose-inl.h:153:38: error: 'InterleaveUpper' was not declared in this scope
153 | const auto r3 = InterleaveUpper(q2, q3);
| ~~~~~~~~~~~~~~~^~~~~~~~
/home/bot/yocto-rpi3-manual/builds/raspberrypi3-mesa-wpe-nightly/tmp/work/cortexa9t2hf-neon-poky-linux-gnueabi/libjxl/0.6.1-r0/libjxl-0.6.1/lib/jxl/transpose-inl.h:153:38: note: suggested alternatives:
In file included from /home/bot/yocto-rpi3-manual/builds/raspberrypi3-mesa-wpe-nightly/tmp/work/cortexa9t2hf-neon-poky-linux-gnueabi/libjxl/0.6.1-r0/recipe-sysroot/usr/include/hwy/highway.h:304,
from /home/bot/yocto-rpi3-manual/builds/raspberrypi3-mesa-wpe-nightly/tmp/work/cortexa9t2hf-neon-poky-linux-gnueabi/libjxl/0.6.1-r0/libjxl-0.6.1/lib/jxl/dec_group.cc:20:
/home/bot/yocto-rpi3-manual/builds/raspberrypi3-mesa-wpe-nightly/tmp/work/cortexa9t2hf-neon-poky-linux-gnueabi/libjxl/0.6.1-r0/recipe-sysroot/usr/include/hwy/ops/arm_neon-inl.h:3666:11: note: 'hwy::N_NEON::InterleaveUpper'
3666 | HWY_API V InterleaveUpper(Simd<T, N, 0> d, V a, V b) {
OTOH, 0.15.0 is the version already used in WPE flatpak as well so I don't foresee a major issue doing this downgrade. I will investigate if we could do something to update this component later.
WARNING: highway-0.15.0-r0 do_package_qa: QA Issue: highway: SRC_URI uses unstable GitHub/GitLab archives, convert recipe to use git protocol [src-uri-bad]
from
for url in d.getVar("SRC_URI").split():
if re.search(r"git(hu|la)b\.com/.+/.+/archive/.+", url):
package_qa_handle_error("src-uri-bad", "%s: SRC_URI uses unstable GitHub/GitLab archives, convert recipe to use git protocol" % pn, d)
and the same happens with libxl
. I will move the sources recipes to git again.
WARNING: highway-0.15.0-r0 do_package_qa: QA Issue: highway: SRC_URI uses unstable GitHub/GitLab archives, convert recipe to use git protocol [src-uri-bad]
from
for url in d.getVar("SRC_URI").split(): if re.search(r"git(hu|la)b\.com/.+/.+/archive/.+", url): package_qa_handle_error("src-uri-bad", "%s: SRC_URI uses unstable GitHub/GitLab archives, convert recipe to use git protocol" % pn, d)
and the same happens with
libxl
. I will move the sources recipes to git again.
What I meant in my comment earlier was to use Git, but with HTTPS as the transport, because the Git protocol is insecure. This is why I mentioned about appending ;protocol=https
to the SRC_URI
entries to make them look like git://host.com/repo;tag=...;protocol=https
😉
WARNING: highway-0.15.0-r0 do_package_qa: QA Issue: highway: SRC_URI uses unstable GitHub/GitLab archives, convert recipe to use git protocol [src-uri-bad]
fromfor url in d.getVar("SRC_URI").split(): if re.search(r"git(hu|la)b\.com/.+/.+/archive/.+", url): package_qa_handle_error("src-uri-bad", "%s: SRC_URI uses unstable GitHub/GitLab archives, convert recipe to use git protocol" % pn, d)
and the same happens with
libxl
. I will move the sources recipes to git again.What I meant in my comment earlier was to use Git, but with HTTPS as the transport, because the Git protocol is insecure. This is why I mentioned about appending
;protocol=https
to theSRC_URI
entries to make them look likegit://host.com/repo;tag=...;protocol=https
wink
Now understood. I think with this last change everything is in place. I will let the CI finish before merging anything.