Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
52 changes: 17 additions & 35 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -24,31 +24,13 @@ RUN --mount=type=cache,target=/var/lib/apt/lists,id=apt-list \
&& apt-get update \
&& echo 'Install packages from https://github.com/qgis/QGIS/blob/<branch>/INSTALL.md \
Remove already in GDAL image: proj, GDAL ->: \
gdal-bin python3-gdal python3-pyproj libgdal-dev libproj-dev \
Remove error with SIP v6: sip-tools python3-pyqtbuild \
Add other: python3-sip-dev' \
gdal-bin python3-gdal libgdal-dev libproj-dev \
Remove error with SIP v6: sip-tools python3-pyqtbuild' \
&& DEBIAN_FRONTEND=noninteractive apt-get install --assume-yes --no-install-recommends \
bison build-essential ca-certificates ccache cmake cmake-curses-gui dh-python doxygen expect flex \
flip git graphviz grass-dev libdraco-dev libexiv2-dev libexpat1-dev libfcgi-dev \
libgeos-dev libgsl-dev libpq-dev libprotobuf-dev libqca-qt5-2-dev \
libqca-qt5-2-plugins libqscintilla2-qt5-dev libqt5opengl5-dev libqt5serialport5-dev \
libqt5sql5-sqlite libqt5svg5-dev libqt5webkit5-dev libqt5xmlpatterns5-dev libqwt-qt5-dev \
libspatialindex-dev libspatialite-dev libsqlite3-dev libsqlite3-mod-spatialite libyaml-tiny-perl \
libzip-dev libzstd-dev lighttpd locales ninja-build ocl-icd-opencl-dev opencl-headers pandoc \
pkg-config poppler-utils protobuf-compiler pyqt5-dev pyqt5-dev-tools pyqt5.qsci-dev python3-all-dev \
python3-autopep8 python3-dev python3-jinja2 python3-lxml python3-mock python3-nose2 \
python3-owslib python3-plotly python3-psycopg2 python3-pygments python3-pyqt5 \
python3-pyqt5.qsci python3-pyqt5.qtmultimedia python3-pyqt5.qtpositioning \
python3-pyqt5.qtserialport python3-pyqt5.qtsql python3-pyqt5.qtsvg python3-pyqt5.qtwebkit \
python3-sip python3-termcolor python3-yaml qt3d-assimpsceneimport-plugin \
qt3d-defaultgeometryloader-plugin qt3d-gltfsceneio-plugin qt3d-scene2d-plugin \
qt3d5-dev qtbase5-dev qtbase5-private-dev qtkeychain-qt5-dev qtmultimedia5-dev qtpositioning5-dev \
qttools5-dev qttools5-dev-tools spawn-fcgi xauth xfonts-100dpi xfonts-75dpi xfonts-base \
xfonts-scalable xvfb \
python3-sip-dev \
bison build-essential ca-certificates ccache cmake cmake-curses-gui dh-python expect flex flip git graphviz grass-dev libdraco-dev libexiv2-dev libexpat1-dev libfcgi-dev libgeos-dev libgsl-dev libmeshoptimizer-dev libpq-dev libprotobuf-dev libqca-qt5-2-dev libqca-qt5-2-plugins libqca-qt6-dev libqca-qt6-plugins libqscintilla2-qt5-dev libqscintilla2-qt6-dev libqt5opengl5-dev libqt5serialport5-dev libqt5sql5-sqlite libqt5svg5-dev libqt5xmlpatterns5-dev libsfcgal-dev libspatialindex-dev libspatialite-dev libsqlite3-dev libsqlite3-mod-spatialite libyaml-tiny-perl libzip-dev libzstd-dev lighttpd locales ninja-build nlohmann-json3-dev ocl-icd-opencl-dev opencl-headers pandoc pkgconf poppler-utils protobuf-compiler pyqt5-dev pyqt5-dev-tools pyqt5.qsci-dev pyqt6-dev pyqt6-dev-tools pyqt6.qsci-dev python3-all-dev python3-autopep8 python3-dev python3-matplotlib python3-mock python3-nose2 python3-owslib python3-packaging python3-psycopg2 python3-pyqt5 python3-pyqt5.qsci python3-pyqt5.qtmultimedia python3-pyqt5.qtpositioning python3-pyqt5.qtserialport python3-pyqt5.qtsql python3-pyqt5.qtsvg python3-pyqt6 python3-pyqt6.qsci python3-pyqt6.qtmultimedia python3-pyqt6.qtpositioning python3-pyqt6.qtserialport python3-pyqt6.qtsvg python3-pyqt6.sip python3-pyqtbuild python3-termcolor python3-yaml qt3d-assimpsceneimport-plugin qt3d-defaultgeometryloader-plugin qt3d-gltfsceneio-plugin qt3d-scene2d-plugin qt3d5-dev qt6-3d-assimpsceneimport-plugin qt6-3d-defaultgeometryloader-plugin qt6-3d-dev qt6-3d-gltfsceneio-plugin qt6-3d-scene2d-plugin qt6-5compat-dev qt6-base-dev qt6-base-private-dev qt6-multimedia-dev qt6-positioning-dev qt6-serialport-dev qt6-svg-dev qt6-tools-dev qt6-tools-dev-tools qt6-webengine-dev qtbase5-dev qtbase5-private-dev qtkeychain-qt5-dev qtkeychain-qt6-dev qtmultimedia5-dev qtpositioning5-dev qttools5-dev qttools5-dev-tools sip-tools spawn-fcgi xauth xfonts-100dpi xfonts-75dpi xfonts-base xfonts-scalable xvfb \
&& echo 'Install some more packages' \
&& DEBIAN_FRONTEND=noninteractive apt-get install --assume-yes --no-install-recommends \
gnupg gcc clang "nodejs=${NODE_MAJOR}.*"
gnupg gcc clang "nodejs=${NODE_MAJOR}.*" python3-sip-dev

WORKDIR /usr/lib/
COPY package.json package-lock.json ./
Expand Down Expand Up @@ -139,10 +121,10 @@ RUN cmake .. \
-DBUILD_TESTING=OFF \
-DENABLE_TESTS=OFF \
-DWITH_GEOREFERENCER=ON \
-DCMAKE_PREFIX_PATH=/src/external/qt3dextra-headers/cmake \
-DQT5_3DEXTRA_INCLUDE_DIR=/src/external/qt3dextra-headers \
-DQT5_3DEXTRA_LIBRARY=/usr/lib/x86_64-linux-gnu/libQt53DExtras.so \
-DQt53DExtras_DIR=/src/external/qt3dextra-headers/cmake/Qt53DExtras
-DCMAKE_PREFIX_PATH="/src/external/qt3dextra-headers/cmake" \
-DQT6_3DEXTRA_INCLUDE_DIR=/src/external/qt3dextra-headers \
-DQT6_3DEXTRA_LIBRARY=/usr/lib/x86_64-linux-gnu/libQt63DExtras.so \
-DQt63DExtras_DIR=/src/external/qt3dextra-headers/cmake/Qt63DExtras

RUN --mount=type=cache,target=/root/.ccache,id=ccache \
ninja \
Expand All @@ -158,15 +140,15 @@ RUN --mount=type=cache,target=/var/lib/apt/lists,id=apt-list \
apt-get update \
&& DEBIAN_FRONTEND=noninteractive apt-get install --assume-yes --no-install-recommends \
python3 python3-pip \
python3-pyqt5 python3-pyqt5.qtsql python3-pyqt5.qsci python3-pyqt5.qtpositioning \
python3-pyqt5.qtmultimedia python3-pyqt5.qtserialport \
python3-pyqt6 python3-pyqt6.qsci python3-pyqt6.qtpositioning \
python3-pyqt6.qtmultimedia python3-pyqt6.qtserialport \
xfonts-100dpi xfonts-75dpi xfonts-base xfonts-scalable xvfb \
spawn-fcgi xauth apache2 libapache2-mod-fcgid binutils glibc-tools ocl-icd-libopencl1 \
libfcgi libgslcblas0 libqca-qt5-2 libqca-qt5-2-plugins libzip4 \
libqt5opengl5 libqt5sql5-sqlite libqt5concurrent5 libqt5positioning5 libqt5script5 \
libqt5webkit5 libqwt-qt5-6 libspatialindex6 libspatialite8t64 libsqlite3-0 libqt5keychain1 \
libqt5serialport5 libqt5quickwidgets5 libexiv2-27 libprotobuf32t64 libprotobuf-lite32t64 \
libgsl27 libzstd1 libdraco8 libqt5multimediawidgets5
libfcgi libgslcblas0 libqca-qt6-2 libzip4 \
libqt6opengl6 libqt6sql6-sqlite libqt6concurrent6 libqt6positioning6 \
libspatialindex6 libspatialite8t64 libsqlite3-0 libqt6keychain1 \
libqt6serialport6 libqt6quickwidgets6 libexiv2-27 libprotobuf32t64 libprotobuf-lite32t64 \
libgsl27 libzstd1 libdraco8 libqt6multimediawidgets6

WORKDIR /tmp

Expand Down Expand Up @@ -268,8 +250,8 @@ FROM runner AS runner-desktop
RUN --mount=type=cache,target=/var/lib/apt/lists,id=apt-list \
--mount=type=cache,target=/var/cache,id=var-cache,sharing=locked \
DEBIAN_FRONTEND=noninteractive apt-get install --assume-yes --no-install-recommends \
qt3d-assimpsceneimport-plugin qt3d-defaultgeometryloader-plugin qt3d-gltfsceneio-plugin \
qt3d-scene2d-plugin
qt6-3d-assimpsceneimport-plugin qt6-3d-defaultgeometryloader-plugin qt6-3d-gltfsceneio-plugin \
qt6-3d-scene2d-plugin

COPY --from=builder-desktop /usr/local/bin /usr/local/bin/
COPY --from=builder-desktop /usr/local/lib /usr/local/lib/
Expand Down
9 changes: 5 additions & 4 deletions acceptance_tests/poetry.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion acceptance_tests/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,6 @@ authors = []
python = ">=3.13,<3.14"

[tool.poetry.dev-dependencies]
c2cwsgiutils = { extras = ["tests"], version = "6.1.7" }
c2cwsgiutils = { extras = ["tests"], version = "6.1.8" }
psycopg2 = "2.9.10"
pytest = "8.4.1"
Loading