diff --git a/external-dependencies/googletest/Dockerfile b/external-dependencies/googletest/Dockerfile index cffb34465..447229882 100644 --- a/external-dependencies/googletest/Dockerfile +++ b/external-dependencies/googletest/Dockerfile @@ -55,23 +55,26 @@ RUN curl -fsSL http://${RME_ADMINSRV}/rme/deb_and_rpm_signage_key.pub --output / ARG GTEST_VERSION=1.15.2 +# Air-gapped Harbor registry URL +ARG HARBOR_URL=https://internal-repo.sl.defence-elec.de + # Install build dependencies RUN apt-get update && apt-get install -y --no-install-recommends \ - build-essential cmake git \ + build-essential cmake curl \ && rm -rf /var/lib/apt/lists/* -# Clone and build GoogleTest -RUN git clone --depth 1 --branch v${GTEST_VERSION} \ - https://github.com/google/googletest.git /tmp/googletest \ - && cd /tmp/googletest \ - && mkdir build && cd build \ - && cmake -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_INSTALL_PREFIX=/usr/local \ - -DBUILD_SHARED_LIBS=ON \ - .. \ - && cmake --build . -j$(nproc) \ - && cmake --install . \ - && rm -rf /tmp/googletest +# Download and build GoogleTest from air-gapped Harbor registry +RUN curl -L -o /tmp/googletest-${GTEST_VERSION}.tar.gz ${HARBOR_URL}/googletest-${GTEST_VERSION}.tar.gz && \ + tar -xzf /tmp/googletest-${GTEST_VERSION}.tar.gz -C /tmp && \ + cd /tmp/googletest-${GTEST_VERSION} && \ + mkdir build && cd build && \ + cmake -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr/local \ + -DBUILD_SHARED_LIBS=ON \ + .. && \ + cmake --build . -j$(nproc) && \ + cmake --install . && \ + rm -rf /tmp/googletest-${GTEST_VERSION}.tar.gz /tmp/googletest-${GTEST_VERSION} # Update library cache RUN ldconfig diff --git a/external-dependencies/grantlee/Dockerfile b/external-dependencies/grantlee/Dockerfile index 15cfca6d9..2d0daa780 100644 --- a/external-dependencies/grantlee/Dockerfile +++ b/external-dependencies/grantlee/Dockerfile @@ -56,26 +56,29 @@ RUN curl -fsSL http://${RME_ADMINSRV}/rme/deb_and_rpm_signage_key.pub --output / ARG QT_VERSION=6.10.2 ARG GRANTLEE_VERSION=5.3.1 +# Air-gapped Harbor registry URL +ARG HARBOR_URL=https://internal-repo.sl.defence-elec.de + # Install build dependencies RUN apt-get update && apt-get install -y --no-install-recommends \ - build-essential cmake git \ + build-essential cmake curl \ libqt6core6 libqt6gui6 libqt6widgets6 \ qt6-base-dev \ && rm -rf /var/lib/apt/lists/* -# Clone and build Grantlee -RUN git clone --depth 1 --branch ${GRANTLEE_VERSION} \ - https://github.com/steveire/grantlee.git /tmp/grantlee \ - && cd /tmp/grantlee \ - && mkdir build && cd build \ - && cmake -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_INSTALL_PREFIX=/usr/local \ - -DCMAKE_PREFIX_PATH=/opt/Qt/${QT_VERSION}/gcc_64 \ - -DGRANTLEE_BUILD_WITH_QT6=ON \ - .. \ - && cmake --build . -j$(nproc) \ - && cmake --install . \ - && rm -rf /tmp/grantlee +# Download and build Grantlee from air-gapped Harbor registry +RUN curl -L -o /tmp/grantlee-${GRANTLEE_VERSION}.tar.gz ${HARBOR_URL}/grantlee-${GRANTLEE_VERSION}.tar.gz && \ + tar -xzf /tmp/grantlee-${GRANTLEE_VERSION}.tar.gz -C /tmp && \ + cd /tmp/grantlee-${GRANTLEE_VERSION} && \ + mkdir build && cd build && \ + cmake -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr/local \ + -DCMAKE_PREFIX_PATH=/opt/Qt/${QT_VERSION}/gcc_64 \ + -DGRANTLEE_BUILD_WITH_QT6=ON \ + .. && \ + cmake --build . -j$(nproc) && \ + cmake --install . && \ + rm -rf /tmp/grantlee-${GRANTLEE_VERSION}.tar.gz /tmp/grantlee-${GRANTLEE_VERSION} # Update library cache RUN ldconfig diff --git a/external-dependencies/kdreports/Dockerfile b/external-dependencies/kdreports/Dockerfile index 616b33ab0..6caa84f86 100644 --- a/external-dependencies/kdreports/Dockerfile +++ b/external-dependencies/kdreports/Dockerfile @@ -56,25 +56,28 @@ RUN curl -fsSL http://${RME_ADMINSRV}/rme/deb_and_rpm_signage_key.asc --output / ARG QT_VERSION=6.10.2 ARG KDREPORTS_VERSION=2.3.0 +# Air-gapped Harbor registry URL +ARG HARBOR_URL=https://internal-repo.sl.defence-elec.de + # Install build dependencies RUN apt-get update && apt-get install -y --no-install-recommends \ - build-essential cmake git \ + build-essential cmake curl \ libqt6core6 libqt6gui6 libqt6widgets6 libqt6xml6 \ qt6-base-dev \ && rm -rf /var/lib/apt/lists/* -# Clone and build KDReports -RUN git clone --depth 1 --branch kdreports-${KDREPORTS_VERSION} \ - https://github.com/KDAB/KDReports.git /tmp/KDReports \ - && cd /tmp/KDReports \ - && mkdir build && cd build \ - && cmake -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_INSTALL_PREFIX=/usr/local \ - -DCMAKE_PREFIX_PATH=/opt/Qt/${QT_VERSION}/gcc_64 \ - -DKDReports_QT6=ON .. \ - && cmake --build . -j$(nproc) \ - && cmake --install . \ - && rm -rf /tmp/KDReports +# Download and build KDReports from air-gapped Harbor registry +RUN curl -L -o /tmp/KDReports-2.3.0.tar.gz ${HARBOR_URL}/KDReports-2.3.0.tar.gz && \ + tar -xzf /tmp/KDReports-2.3.0.tar.gz -C /tmp && \ + cd /tmp/KDReports && \ + mkdir build && cd build && \ + cmake -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr/local \ + -DCMAKE_PREFIX_PATH=/opt/Qt/${QT_VERSION}/gcc_64 \ + -DKDReports_QT6=ON .. && \ + cmake --build . -j$(nproc) && \ + cmake --install . && \ + rm -rf /tmp/KDReports-2.3.0.tar.gz /tmp/KDReports # Create header alias for legacy includes RUN ln -sfn /usr/local/include/KDReports-qt6 /usr/local/include/KDReports diff --git a/external-dependencies/log4qt/Dockerfile b/external-dependencies/log4qt/Dockerfile index c8f4da115..8392157e6 100644 --- a/external-dependencies/log4qt/Dockerfile +++ b/external-dependencies/log4qt/Dockerfile @@ -56,25 +56,28 @@ RUN curl -fsSL http://${RME_ADMINSRV}/rme/deb_and_rpm_signage_key.pub --output / ARG QT_VERSION=6.10.2 ARG LOG4QT_VERSION=2.0.0 +# Air-gapped Harbor registry URL +ARG HARBOR_URL=https://internal-repo.sl.defence-elec.de + # Install build dependencies RUN apt-get update && apt-get install -y --no-install-recommends \ - build-essential cmake git \ + build-essential cmake curl \ libqt6core6 libqt6gui6 libqt6widgets6 \ qt6-base-dev \ && rm -rf /var/lib/apt/lists/* -# Clone and build Log4Qt -RUN git clone --depth 1 --branch v${LOG4QT_VERSION} \ - https://github.com/MeanEYE/Log4Qt.git /tmp/Log4Qt \ - && cd /tmp/Log4Qt \ - && mkdir build && cd build \ - && cmake -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_INSTALL_PREFIX=/usr/local \ - -DCMAKE_PREFIX_PATH=/opt/Qt/${QT_VERSION}/gcc_64 \ - .. \ - && cmake --build . -j$(nproc) \ - && cmake --install . \ - && rm -rf /tmp/Log4Qt +# Download and build Log4Qt from air-gapped Harbor registry +RUN curl -L -o /tmp/Log4Qt-2.0.0.tar.gz ${HARBOR_URL}/Log4Qt-2.0.0.tar.gz && \ + tar -xzf /tmp/Log4Qt-2.0.0.tar.gz -C /tmp && \ + cd /tmp/Log4Qt && \ + mkdir build && cd build && \ + cmake -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr/local \ + -DCMAKE_PREFIX_PATH=/opt/Qt/${QT_VERSION}/gcc_64 \ + .. && \ + cmake --build . -j$(nproc) && \ + cmake --install . && \ + rm -rf /tmp/Log4Qt-2.0.0.tar.gz /tmp/Log4Qt # Update library cache RUN ldconfig