diff --git a/Dockerfile b/Dockerfile index 42383f54..6cf3af07 100644 --- a/Dockerfile +++ b/Dockerfile @@ -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//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 ./ @@ -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 \ @@ -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 @@ -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/ diff --git a/acceptance_tests/poetry.lock b/acceptance_tests/poetry.lock index d3060805..41e04978 100644 --- a/acceptance_tests/poetry.lock +++ b/acceptance_tests/poetry.lock @@ -14,14 +14,14 @@ files = [ [[package]] name = "c2cwsgiutils" -version = "6.1.7" +version = "6.1.8" description = "Common utilities for Camptocamp WSGI applications" optional = false python-versions = ">=3.10" groups = ["dev"] files = [ - {file = "c2cwsgiutils-6.1.7-py3-none-any.whl", hash = "sha256:ca141a151a0dd19975f76aba91cac12c4a28aec69fb29cf665d8018d0ace6d61"}, - {file = "c2cwsgiutils-6.1.7.tar.gz", hash = "sha256:21b43e9b476bc73540279817a2ad4eb69a08216f78c0cdecc4e5c979bf0795e4"}, + {file = "c2cwsgiutils-6.1.8-py3-none-any.whl", hash = "sha256:c70b5ee20bc22f9279bdb2a263b0cadc2bd8b307cc6109964de43adcd0e87b5e"}, + {file = "c2cwsgiutils-6.1.8.tar.gz", hash = "sha256:3652aec8ae6a967107a10e0f9869f222b89aa6bce1c12c04a6f7ae744539bf31"}, ] [package.dependencies] @@ -31,6 +31,7 @@ lxml = {version = "*", optional = true, markers = "extra == \"tests\" or extra = pyyaml = "*" requests = "*" ujson = "*" +urllib3 = "*" [package.extras] alembic = ["alembic"] @@ -615,4 +616,4 @@ zstd = ["zstandard (>=0.18.0)"] [metadata] lock-version = "2.1" python-versions = ">=3.13,<3.14" -content-hash = "5aee83517f6ac046d6bc5d6fd9a4fadb3131b15aaa25905a8d7b69a771ba2e36" +content-hash = "839515d027e8204b690e262e67877b1a918d4b1faafac0e24ca59c54418ad00a" diff --git a/acceptance_tests/pyproject.toml b/acceptance_tests/pyproject.toml index 11f14e80..b5ef8933 100644 --- a/acceptance_tests/pyproject.toml +++ b/acceptance_tests/pyproject.toml @@ -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"