Perform qtwayland5 compilation within dockerfile (#192)

* separate out qtwayland5 compilation

* qt5-qmake qtbase5-dev qtbase5-dev-tools already in qt5-default

---------

Co-authored-by: Justin Newberry <justin@comma.ai>
This commit is contained in:
Andrei Radulescu
2024-01-22 23:54:53 +02:00
committed by GitHub
parent caf8406a70
commit 7cf97ce7fe
5 changed files with 26 additions and 12 deletions
+7 -4
View File
@@ -47,6 +47,11 @@ FROM agnos-compiler as agnos-compiler-mapbox-gl-native
COPY ./userspace/compile-mapbox-gl-native.sh /tmp/agnos/
RUN /tmp/agnos/compile-mapbox-gl-native.sh
FROM agnos-compiler as agnos-compiler-qtwayland5
COPY ./userspace/compile-qtwayland5.sh /tmp/agnos/
COPY ./userspace/qtwayland/patch /tmp/agnos/
RUN /tmp/agnos/compile-qtwayland5.sh
# ################### #
# ###### AGNOS ###### #
# ################### #
@@ -109,10 +114,8 @@ RUN /tmp/agnos/install_extras.sh
COPY ./userspace/qtwayland/libffi.so.6 /lib/aarch64-linux-gnu/
COPY ./userspace/qtwayland/libwayland-client.so.0 /lib/aarch64-linux-gnu/libwayland-client.so.0
# Patched qtwayland that does not use EGL EXT, and outputs a fixed screen size
# Clone qtwayland submodule, checkout 5.12.9 (5.12.8 leaks timers, see https://bugreports.qt.io/browse/QTBUG-82914), apply patch, qmake, make
COPY ./userspace/qtwayland/libqwayland-egl.so /lib/aarch64-linux-gnu/qt5/plugins/platforms/libqwayland-egl.so
COPY ./userspace/qtwayland/libQt5WaylandClient.so.5.12.8 /lib/aarch64-linux-gnu/libQt5WaylandClient.so.5.12.8
COPY --from=agnos-compiler-qtwayland5 /tmp/qtwayland5.deb /tmp/qtwayland5.deb
RUN cd /tmp && apt-get -o Dpkg::Options::="--force-overwrite" install -yq --allow-downgrades ./qtwayland5.deb
# Patched libeglSubDriverWayland with fixed nullptr deref in CommitBuffer
COPY ./userspace/files/libeglSubDriverWayland.so.patched /lib/aarch64-linux-gnu/libeglSubDriverWayland.so
+19
View File
@@ -0,0 +1,19 @@
#!/bin/bash -e
# Patched qtwayland that outputs a fixed screen size
# Clone qtwayland submodule, checkout 5.12.9 (5.12.8 leaks timers, see https://bugreports.qt.io/browse/QTBUG-82914), apply patch, qmake, make
cd /tmp
git clone --branch v5.12.9 https://github.com/qt/qtwayland.git
cd qtwayland
git apply /tmp/agnos/patch
mkdir /tmp/build && cd /tmp/build
qmake /tmp/qtwayland
export MAKEFLAGS="-j$(nproc)"
make
checkinstall -yD --install=no --pkgversion="5.12.8" --pkgname=qtwayland5 --pkgarch=arm64 --replaces=qtwayland5,libqt5waylandclient5,libqt5waylandcompositor5
mv qtwayland5*.deb /tmp/qtwayland5.deb
-2
View File
@@ -1,4 +1,2 @@
libffi.so.6 filter=lfs diff=lfs merge=lfs -text
libqwayland-egl.so filter=lfs diff=lfs merge=lfs -text
libwayland-client.so.0 filter=lfs diff=lfs merge=lfs -text
libQt5WaylandClient.so.5.12.8 filter=lfs diff=lfs merge=lfs -text
@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:450f3b0ab9edad9492d3b28c66472c45226db6f9634e45de439597812388baa4
size 21755080
-3
View File
@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b5e91958eaa99e98adebc2778d6f30505f913ef279a25b02c21b1e21ecb11b4c
size 1923864