mirror of
https://github.com/commaai/agnos-builder.git
synced 2026-08-08 17:55:43 +08:00
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:
+7
-4
@@ -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
|
||||
|
||||
Executable
+19
@@ -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
|
||||
@@ -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
|
||||
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:b5e91958eaa99e98adebc2778d6f30505f913ef279a25b02c21b1e21ecb11b4c
|
||||
size 1923864
|
||||
Reference in New Issue
Block a user