diff --git a/.gitlab/ci/docker/fedora41-hip/Dockerfile b/.gitlab/ci/docker/fedora41-hip/Dockerfile index 606ddcc52a..ac7a0ff305 100644 --- a/.gitlab/ci/docker/fedora41-hip/Dockerfile +++ b/.gitlab/ci/docker/fedora41-hip/Dockerfile @@ -3,25 +3,10 @@ ARG BASE_IMAGE=fedora:41 FROM ${BASE_IMAGE} AS dnf-cache -# Populate DNF cache w/ the fresh metadata and prefetch packages. -RUN --mount=type=bind,source=deps_packages.lst,target=/root/deps_packages.lst \ - --mount=type=tmpfs,target=/var/log \ - --mount=type=tmpfs,target=/tmp \ - dnf install \ - --setopt=install_weak_deps=False \ - --setopt=fastestmirror=True \ - --setopt=max_parallel_downloads=10 \ - --downloadonly \ - -y \ - $(grep -h '^[^#]\+$' /root/*.lst) - -FROM ${BASE_IMAGE} LABEL maintainer="Brad King " - -RUN --mount=type=bind,source=install_deps.sh,target=/root/install_deps.sh \ +RUN --mount=type=bind,source=dnf.conf,target=/etc/dnf/dnf.conf \ --mount=type=bind,source=deps_packages.lst,target=/root/deps_packages.lst \ - --mount=type=cache,from=dnf-cache,source=/var/lib/dnf,target=/var/lib/dnf,sharing=private \ - --mount=type=cache,target=/var/cache/pip \ + --mount=type=cache,target=/var/lib/dnf \ --mount=type=tmpfs,target=/var/log \ --mount=type=tmpfs,target=/tmp \ - sh /root/install_deps.sh + dnf install -y $(grep -h '^[^#]\+$' /root/*.lst) diff --git a/.gitlab/ci/docker/fedora41-hip/dnf.conf b/.gitlab/ci/docker/fedora41-hip/dnf.conf new file mode 100644 index 0000000000..1189746973 --- /dev/null +++ b/.gitlab/ci/docker/fedora41-hip/dnf.conf @@ -0,0 +1,32 @@ +[main] +autocheck_running_kernel=0 +debuglevel=2 +diskspacecheck=0 +fastestmirror=1 +gpgcheck=1 +installonly_limit=5 +install_weak_deps=0 +keepcache=1 +log_rotate=0 +max_parallel_downloads=10 +metadata_expire=90m +multilib_policy=best +plugins=1 +tsflags=nodocs + +# Enable color for all output +color=always + +# Default color options according to yum.conf(5) +color_list_installed_older=bold,black +color_list_installed_newer=bold,yellow +color_list_installed_reinstall=normal +color_list_installed_extra=bold,red +color_list_available_upgrade=bold,blue +color_list_available_downgrade=dim,yellow +color_list_available_install=normal +color_list_available_reinstall =bold,underline,green +color_search_match=bold,magenta +color_update_installed=green +color_update_local=cyan +color_update_remote=yellow diff --git a/.gitlab/ci/docker/fedora41-hip/install_deps.sh b/.gitlab/ci/docker/fedora41-hip/install_deps.sh deleted file mode 100755 index eedff9c3a6..0000000000 --- a/.gitlab/ci/docker/fedora41-hip/install_deps.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/sh - -set -e - -dnf install \ - --setopt=install_weak_deps=False \ - --setopt=fastestmirror=True \ - --setopt=max_parallel_downloads=10 \ - -y \ - $(grep '^[^#]\+$' /root/deps_packages.lst) diff --git a/.gitlab/ci/docker/fedora41/Dockerfile b/.gitlab/ci/docker/fedora41/Dockerfile index 8ae4de7ef2..67bcbbc5d3 100644 --- a/.gitlab/ci/docker/fedora41/Dockerfile +++ b/.gitlab/ci/docker/fedora41/Dockerfile @@ -4,51 +4,107 @@ ARG BASE_IMAGE=fedora:41 FROM ${BASE_IMAGE} AS dnf-cache # Populate DNF cache w/ the fresh metadata and prefetch packages. -RUN --mount=type=bind,source=deps_packages.lst,target=/root/deps_packages.lst \ +RUN --mount=type=bind,source=dnf.conf,target=/etc/dnf/dnf.conf \ + --mount=type=bind,source=deps_packages.lst,target=/root/deps_packages.lst \ --mount=type=bind,source=iwyu_packages.lst,target=/root/iwyu_packages.lst \ + --mount=type=bind,source=rbenv_packages.lst,target=/root/rbenv_packages.lst \ --mount=type=bind,source=rust_packages.lst,target=/root/rust_packages.lst \ --mount=type=bind,source=rvm_packages.lst,target=/root/rvm_packages.lst \ --mount=type=tmpfs,target=/var/log \ --mount=type=tmpfs,target=/tmp \ - dnf install \ - --setopt=install_weak_deps=False \ - --setopt=fastestmirror=True \ - --setopt=max_parallel_downloads=10 \ - --downloadonly \ - -y \ - $(grep -h '^[^#]\+$' /root/*.lst) + dnf install --downloadonly -y $(grep -h '^[^#]\+$' /root/*.lst) -FROM ${BASE_IMAGE} AS rust-build +FROM ${BASE_IMAGE} AS rust-build-env LABEL maintainer="Ben Boeckel " - -RUN --mount=type=bind,source=install_rust.sh,target=/root/install_rust.sh \ +# Pre-install prerequisites to build Rust projects. +RUN --mount=type=bind,source=dnf.conf,target=/etc/dnf/dnf.conf \ --mount=type=bind,source=rust_packages.lst,target=/root/rust_packages.lst \ - --mount=type=cache,from=dnf-cache,source=/var/lib/dnf,target=/var/lib/dnf,sharing=private \ + --mount=type=cache,from=dnf-cache,source=/var/cache/libdnf5,target=/var/cache/libdnf5,sharing=private \ --mount=type=tmpfs,target=/var/log \ --mount=type=tmpfs,target=/tmp \ - sh /root/install_rust.sh + dnf install -y $(grep '^[^#]\+$' /root/rust_packages.lst) -FROM ${BASE_IMAGE} AS rvm-build + +FROM rust-build-env AS rust-build LABEL maintainer="Ben Boeckel " +# Build the needed Rust packages. +# https://doc.rust-lang.org/cargo/guide/cargo-home.html?highlight=.cargo#caching-the-cargo-home-in-ci +RUN --mount=type=bind,source=build_rust.sh,target=/root/build_rust.sh \ + --mount=type=cache,target=/root/.cargo/registry/index \ + --mount=type=cache,target=/root/.cargo/registry/cache \ + --mount=type=tmpfs,target=/tmp \ + sh /root/build_rust.sh -RUN --mount=type=bind,source=install_rvm.sh,target=/root/install_rvm.sh \ + +FROM ${BASE_IMAGE} AS rvm-build-env +LABEL maintainer="Ben Boeckel " +# Pre-install prerequisites for RVM. +RUN --mount=type=bind,source=dnf.conf,target=/etc/dnf/dnf.conf \ --mount=type=bind,source=rvm_packages.lst,target=/root/rvm_packages.lst \ - --mount=type=cache,from=dnf-cache,source=/var/lib/dnf,target=/var/lib/dnf,sharing=private \ + --mount=type=cache,from=dnf-cache,source=/var/cache/libdnf5,target=/var/cache/libdnf5,sharing=private \ --mount=type=tmpfs,target=/var/log \ --mount=type=tmpfs,target=/tmp \ - sh /root/install_rvm.sh + dnf install -y $(grep '^[^#]\+$' /root/rvm_packages.lst) -FROM ${BASE_IMAGE} AS iwyu-build +FROM rvm-build-env AS rvm-build +LABEL maintainer="Ben Boeckel " +# Build Ruby with RVM. +RUN --mount=type=bind,source=build_rvm.sh,target=/root/build_rvm.sh \ + --mount=type=cache,target=/usr/local/rvm/archives \ + --mount=type=cache,target=/usr/local/rvm/gem-cache \ + --mount=type=cache,target=/usr/local/rvm/src \ + --mount=type=tmpfs,target=/tmp \ + sh /root/build_rvm.sh + + +FROM ${BASE_IMAGE} AS rbenv +# Pre-install prerequisites for `rbenv`. +RUN --mount=type=bind,source=dnf.conf,target=/etc/dnf/dnf.conf \ + --mount=type=bind,source=rbenv_packages.lst,target=/root/rbenv_packages.lst \ + --mount=type=cache,from=dnf-cache,source=/var/cache/libdnf5,target=/var/cache/libdnf5,sharing=private \ + --mount=type=tmpfs,target=/var/log \ + --mount=type=tmpfs,target=/tmp \ + dnf install -y $(grep '^[^#]\+$' /root/rbenv_packages.lst) + + +FROM rbenv AS rbenv-build +ENV RBENV_ROOT=/opt/rbenv +ENV RBENV_BUILD_ROOT=/root/.cache/rbenv-build +ENV RUBY_BUILD_CACHE_PATH=/root/.cache/rbenv +# Build Ruby with `rbenv`. +RUN --mount=type=cache,target=/root/.cache \ + --mount=type=bind,source=build_rbenv.sh,target=/root/build_rbenv.sh \ + --mount=type=tmpfs,target=/tmp \ + sh /root/build_rbenv.sh + + +FROM ${BASE_IMAGE} AS iwyu-build-env LABEL maintainer="Kyle Edwards " - -RUN --mount=type=bind,source=install_iwyu.sh,target=/root/install_iwyu.sh \ +# Pre-install prerequisites to build IWYU. +RUN --mount=type=bind,source=dnf.conf,target=/etc/dnf/dnf.conf \ --mount=type=bind,source=iwyu_packages.lst,target=/root/iwyu_packages.lst \ - --mount=type=cache,from=dnf-cache,source=/var/lib/dnf,target=/var/lib/dnf,sharing=private \ + --mount=type=cache,from=dnf-cache,source=/var/cache/libdnf5,target=/var/cache/libdnf5,sharing=private \ --mount=type=tmpfs,target=/var/log \ --mount=type=tmpfs,target=/tmp \ - sh /root/install_iwyu.sh + dnf install -y $(grep '^[^#]\+$' /root/iwyu_packages.lst) + + +FROM iwyu-build-env AS iwyu-build +LABEL maintainer="Kyle Edwards " +# Build IWYU. +RUN --mount=type=bind,source=build_iwyu.sh,target=/root/build_iwyu.sh \ + --mount=type=cache,target=/root/include-what-you-use \ + --mount=type=tmpfs,target=/tmp \ + sh /root/build_iwyu.sh + + +FROM ${BASE_IMAGE} AS p4-dl +# Download Perforce. +# NOTE `curl` is pre-installed in the base image. +RUN curl -C- -L https://www.perforce.com/downloads/perforce/r21.2/bin.linux26x86_64/helix-core-server.tgz \ + | tar -C /usr/local/bin -xvzf - -- p4 p4d FROM ${BASE_IMAGE} @@ -56,19 +112,24 @@ LABEL maintainer="Ben Boeckel " ENV RBENV_ROOT=/opt/rbenv -RUN --mount=type=bind,source=install_deps.sh,target=/root/install_deps.sh \ +COPY --from=p4-dl --chown=root:root /usr/local/bin/p4 /usr/local/bin/p4d /usr/local/bin + +RUN --mount=type=bind,source=dnf.conf,target=/etc/dnf/dnf.conf \ + --mount=type=bind,source=install_deps.sh,target=/root/install_deps.sh \ --mount=type=bind,source=deps_packages.lst,target=/root/deps_packages.lst \ - --mount=type=cache,from=dnf-cache,source=/var/lib/dnf,target=/var/lib/dnf,sharing=private \ - --mount=type=cache,target=/var/cache/pip \ + --mount=type=cache,from=dnf-cache,source=/var/cache/libdnf5,target=/var/cache/libdnf5,sharing=private \ --mount=type=tmpfs,target=/var/log \ --mount=type=tmpfs,target=/tmp \ sh /root/install_deps.sh +RUN --mount=type=bind,from=iwyu-build,source=/root,target=/root \ + tar -C / -xf /root/iwyu.tar + RUN --mount=type=bind,from=rust-build,source=/root,target=/root \ tar -C /usr/local -xf /root/rust.tar RUN --mount=type=bind,from=rvm-build,source=/root,target=/root \ tar -C /usr/local -xf /root/rvm.tar -RUN --mount=type=bind,from=iwyu-build,source=/root,target=/root \ - tar -C / -xf /root/iwyu.tar +RUN --mount=type=bind,from=rbenv-build,source=/root,target=/root \ + tar -C / -xf /root/rbenv.tar && rbenv global 3.1.2 diff --git a/.gitlab/ci/docker/fedora41/build_iwyu.sh b/.gitlab/ci/docker/fedora41/build_iwyu.sh new file mode 100755 index 0000000000..60d5cfd3cd --- /dev/null +++ b/.gitlab/ci/docker/fedora41/build_iwyu.sh @@ -0,0 +1,33 @@ +#!/bin/sh + +set -e + +cd +if [ -d include-what-you-use/.git ]; then + cd include-what-you-use + git pull +else + git clone https://github.com/include-what-you-use/include-what-you-use.git + cd include-what-you-use +fi + +readonly llvm_full_version="$( clang --version | head -n1 | cut -d' ' -f3 )" +readonly llvm_version="$( echo "$llvm_full_version" | cut -d. -f-1 )" +git checkout "clang_$llvm_version" + +mkdir -p build +cd build + +cmake -GNinja \ + --fresh \ + -DCMAKE_BUILD_TYPE=Release \ + -DIWYU_RESOURCE_RELATIVE_TO=clang \ + -DIWYU_RESOURCE_DIR=../lib/clang/"$llvm_version" \ + -DCMAKE_INSTALL_PREFIX=/usr/local/lib/llvm-"$llvm_version" \ + .. + +cmake --build . --parallel + +DESTDIR=~/iwyu-destdir cmake --install . + +tar -C ~/iwyu-destdir -cf ~/iwyu.tar . diff --git a/.gitlab/ci/docker/fedora41/build_rbenv.sh b/.gitlab/ci/docker/fedora41/build_rbenv.sh new file mode 100755 index 0000000000..3ed0033a91 --- /dev/null +++ b/.gitlab/ci/docker/fedora41/build_rbenv.sh @@ -0,0 +1,28 @@ +#!/bin/sh + +set -e + +echo "gem: --no-document" > ~/.gemrc + +# Ruby rbenv +export RUBY_CONFIGURE_OPTS=--disable-install-doc +export RUBY_BUILD_CURL_OPTS=-C- +rbenv install 3.1.2 -k -s -v + +cat </tmp/exclude.lst +*LICENSE* +*/doc/* +*/man/* +*.md +BSDL +CONTRIBUTING.* +COPYING +LEGAL +PSFL +README.rdoc +History.rdoc +gem_make.out +test-unit-*/test +rss-*/test +EOF +tar -cf /root/rbenv.tar --exclude-from=/tmp/exclude.lst ${RBENV_ROOT} diff --git a/.gitlab/ci/docker/fedora41/build_rust.sh b/.gitlab/ci/docker/fedora41/build_rust.sh new file mode 100755 index 0000000000..f20949b980 --- /dev/null +++ b/.gitlab/ci/docker/fedora41/build_rust.sh @@ -0,0 +1,10 @@ +#!/bin/sh + +set -e + +typos_version=1.29.4 +cargo install --root /usr/local --version "$typos_version" typos-cli + +strip /usr/local/bin/typos + +tar -C /usr/local -cf /root/rust.tar bin/typos diff --git a/.gitlab/ci/docker/fedora41/build_rvm.sh b/.gitlab/ci/docker/fedora41/build_rvm.sh new file mode 100755 index 0000000000..a62e9a76d5 --- /dev/null +++ b/.gitlab/ci/docker/fedora41/build_rvm.sh @@ -0,0 +1,41 @@ +#!/bin/sh + +set -e + +echo "gem: --no-document" > ~/.gemrc + +gpg2 --keyserver hkps://keyserver.ubuntu.com \ + --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 \ + 7D2BAF1CF37B13E2069D6956105BD0E739499BDB + +curl -sSL https://get.rvm.io | bash -s stable --ignore-dotfiles + +export rvm_silence_banner=1 + +# keep version in sync with `env_fedora*_makefiles.cmake` +/usr/local/rvm/bin/rvm install ruby-3.0.4 --no-docs --disable-binary + +for p in archives docs examples gem-cache log src; do + touch /usr/local/rvm/${p}/.tar_exclude +done + +cat </tmp/exclude.lst +*LICENSE* +*/doc/* +*/man/* +*.md +BSDL +CONTRIBUTING.* +COPYING +LEGAL +PSFL +README.rdoc +History.rdoc +gem_make.out +test-unit-*/test +rss-*/test +EOF +tar -C /usr/local \ + --exclude-tag-under=.tar_exclude \ + --exclude-from=/tmp/exclude.lst \ + -cf /root/rvm.tar rvm diff --git a/.gitlab/ci/docker/fedora41/deps_packages.lst b/.gitlab/ci/docker/fedora41/deps_packages.lst index eb148f0913..e311d51a47 100644 --- a/.gitlab/ci/docker/fedora41/deps_packages.lst +++ b/.gitlab/ci/docker/fedora41/deps_packages.lst @@ -24,7 +24,6 @@ jsoncpp-devel libarchive-devel libcurl-devel libuv-devel -libuv-devel libzstd-devel rhash-devel xz-devel @@ -33,17 +32,17 @@ zlib-devel # Install documentation tools. python3-sphinx python3-sphinxcontrib-qthelp -texinfo qt5-qttools-devel qt6-qttools-devel +texinfo # Install lint tools. clang-analyzer codespell # Tools needed for the test suite. -findutils file +findutils jq which @@ -52,8 +51,8 @@ nasm # Packages needed to test CTest. breezy -subversion mercurial +subversion # Packages needed to test CPack. rpm-build @@ -61,7 +60,8 @@ rpm-build # Packages needed to test find modules. alsa-lib-devel blas-devel -boost-devel boost-python3-devel +boost-devel +boost-python3-devel bzip2-devel cups-devel DevIL-devel @@ -76,7 +76,8 @@ giflib-devel glew-devel gmock gnutls-devel -grpc-devel grpc-plugins +grpc-devel +grpc-plugins gsl-devel gtest-devel gtk2-devel @@ -91,12 +92,10 @@ lapack-devel libarchive-devel libcurl-devel libicu-devel -libinput-devel systemd-devel +libinput-devel libjpeg-turbo-devel libomp-devel libpng-devel -opensp-devel -postgresql-server-devel libtiff-devel libuv-devel libxml2-devel @@ -104,18 +103,31 @@ libxslt-devel mpich-devel openal-soft-devel openmpi-devel +opensp-devel patch perl -protobuf-devel protobuf-c-devel protobuf-lite-devel -pypy2 pypy2-devel -pypy3 pypy3-devel -python3 python3-devel python3-numpy -python3-jsmin python3-jsonschema -rbenv ruby-build-rbenv -ruby rubygems ruby-devel +postgresql-server-devel +protobuf-c-devel +protobuf-devel +protobuf-lite-devel +pypy2 +pypy2-devel +pypy3 +pypy3-devel +python3 +python3-devel +python3-jsmin +python3-jsonschema +python3-numpy +rbenv +ruby +ruby-build-rbenv +ruby-devel +rubygems SDL-devel sqlite-devel swig +systemd-devel unixODBC-devel wxGTK-devel xalan-c-devel diff --git a/.gitlab/ci/docker/fedora41/dnf.conf b/.gitlab/ci/docker/fedora41/dnf.conf new file mode 100644 index 0000000000..1189746973 --- /dev/null +++ b/.gitlab/ci/docker/fedora41/dnf.conf @@ -0,0 +1,32 @@ +[main] +autocheck_running_kernel=0 +debuglevel=2 +diskspacecheck=0 +fastestmirror=1 +gpgcheck=1 +installonly_limit=5 +install_weak_deps=0 +keepcache=1 +log_rotate=0 +max_parallel_downloads=10 +metadata_expire=90m +multilib_policy=best +plugins=1 +tsflags=nodocs + +# Enable color for all output +color=always + +# Default color options according to yum.conf(5) +color_list_installed_older=bold,black +color_list_installed_newer=bold,yellow +color_list_installed_reinstall=normal +color_list_installed_extra=bold,red +color_list_available_upgrade=bold,blue +color_list_available_downgrade=dim,yellow +color_list_available_install=normal +color_list_available_reinstall =bold,underline,green +color_search_match=bold,magenta +color_update_installed=green +color_update_local=cyan +color_update_remote=yellow diff --git a/.gitlab/ci/docker/fedora41/install_deps.sh b/.gitlab/ci/docker/fedora41/install_deps.sh index 2ed50251c5..d9c9b5ca5a 100755 --- a/.gitlab/ci/docker/fedora41/install_deps.sh +++ b/.gitlab/ci/docker/fedora41/install_deps.sh @@ -2,25 +2,9 @@ set -e -dnf install \ - --setopt=install_weak_deps=False \ - --setopt=fastestmirror=True \ - --setopt=max_parallel_downloads=10 \ - -y \ - $(grep '^[^#]\+$' /root/deps_packages.lst) +dnf install -y $(grep '^[^#]\+$' /root/deps_packages.lst) -# Remove tests for numpy +# Remove tests for Python packages for v in 3.13; do - find /usr/lib64/python${v}/site-packages/numpy -type d -a -name tests -exec rm -rf {} + + find /usr/lib64/python${v}/site-packages -type d -a -name tests -exec rm -rf {} + done - -# Remove some other packages tests -find /usr/lib64/python3.13/site-packages/breezy -type d -a -name tests -exec rm -rf {} + - -# Ruby rbenv -rbenv install 3.1.2 -rbenv global 3.1.2 - -# Perforce -curl -L https://www.perforce.com/downloads/perforce/r21.2/bin.linux26x86_64/helix-core-server.tgz -o - \ - | tar -C /usr/local/bin -xvzf - -- p4 p4d diff --git a/.gitlab/ci/docker/fedora41/install_iwyu.sh b/.gitlab/ci/docker/fedora41/install_iwyu.sh deleted file mode 100755 index 718b3d0c34..0000000000 --- a/.gitlab/ci/docker/fedora41/install_iwyu.sh +++ /dev/null @@ -1,30 +0,0 @@ -#!/bin/sh - -set -e - -# Install development tools. -dnf install \ - --setopt=install_weak_deps=False \ - --setopt=fastestmirror=True \ - --setopt=max_parallel_downloads=10 \ - -y \ - $(grep '^[^#]\+$' /root/iwyu_packages.lst) - -cd /root -git clone "https://github.com/include-what-you-use/include-what-you-use.git" -cd include-what-you-use -readonly llvm_full_version="$( clang --version | head -n1 | cut -d' ' -f3 )" -readonly llvm_version="$( echo "$llvm_full_version" | cut -d. -f-1 )" -git checkout "clang_$llvm_version" -mkdir build -cd build - -cmake -GNinja \ - -DCMAKE_BUILD_TYPE=Release \ - "-DIWYU_RESOURCE_RELATIVE_TO=clang" \ - "-DIWYU_RESOURCE_DIR=../lib/clang/$llvm_version" \ - "-DCMAKE_INSTALL_PREFIX=/usr/local/lib/llvm-$llvm_version" \ - .. -ninja -DESTDIR=/root/iwyu-destdir ninja install -tar -C /root/iwyu-destdir -cf /root/iwyu.tar . diff --git a/.gitlab/ci/docker/fedora41/install_rust.sh b/.gitlab/ci/docker/fedora41/install_rust.sh deleted file mode 100755 index 0e67bf2516..0000000000 --- a/.gitlab/ci/docker/fedora41/install_rust.sh +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh - -set -e - -dnf install \ - --setopt=install_weak_deps=False \ - --setopt=fastestmirror=True \ - --setopt=max_parallel_downloads=10 \ - -y \ - $(grep '^[^#]\+$' /root/rust_packages.lst) - -typos_version=1.29.4 -cargo install --root /usr/local --version "$typos_version" typos-cli - -tar -C /usr/local -cf /root/rust.tar bin/typos diff --git a/.gitlab/ci/docker/fedora41/install_rvm.sh b/.gitlab/ci/docker/fedora41/install_rvm.sh deleted file mode 100755 index 10e7545cf5..0000000000 --- a/.gitlab/ci/docker/fedora41/install_rvm.sh +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/sh - -set -e - -dnf install \ - --setopt=install_weak_deps=False \ - --setopt=fastestmirror=True \ - --setopt=max_parallel_downloads=10 \ - -y \ - $(grep '^[^#]\+$' /root/rvm_packages.lst) - -gpg2 --keyserver hkps://keyserver.ubuntu.com \ - --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 \ - 7D2BAF1CF37B13E2069D6956105BD0E739499BDB - -curl -sSL https://get.rvm.io | bash -s stable - -# keep version in sync with `env_fedora*_makefiles.cmake` -/usr/local/rvm/bin/rvm install ruby-3.0.4 - -for p in archives examples gem-cache log src; do - touch /usr/local/rvm/${p}/.tar_exclude -done - -tar -C /usr/local --exclude-tag-under=.tar_exclude -cf /root/rvm.tar rvm diff --git a/.gitlab/ci/docker/fedora41/iwyu_packages.lst b/.gitlab/ci/docker/fedora41/iwyu_packages.lst index e3551bd315..a98183679c 100644 --- a/.gitlab/ci/docker/fedora41/iwyu_packages.lst +++ b/.gitlab/ci/docker/fedora41/iwyu_packages.lst @@ -1,7 +1,7 @@ clang-devel -llvm-devel -zlib-devel -g++ cmake -ninja-build +gcc-c++ git +llvm-devel +ninja-build +zlib-devel diff --git a/.gitlab/ci/docker/fedora41/rbenv_packages.lst b/.gitlab/ci/docker/fedora41/rbenv_packages.lst new file mode 100644 index 0000000000..d16afff851 --- /dev/null +++ b/.gitlab/ci/docker/fedora41/rbenv_packages.lst @@ -0,0 +1,18 @@ +rbenv +ruby-build-rbenv + +# Packages needed for `rbenv` +# https://github.com/rbenv/ruby-build/wiki#fedora +autoconf +bzip2 +gcc +gdbm-devel +libffi-devel +libyaml-devel +make +ncurses-devel +openssl-devel +patch +readline-devel +rust +zlib-devel diff --git a/.gitlab/os-linux.yml b/.gitlab/os-linux.yml index b405a18a46..eacacad567 100644 --- a/.gitlab/os-linux.yml +++ b/.gitlab/os-linux.yml @@ -65,14 +65,14 @@ ### Fedora .fedora41: - image: "kitware/cmake:ci-fedora41-x86_64-2025-01-23" + image: "kitware/cmake:ci-fedora41-x86_64-2025-02-03" variables: GIT_CLONE_PATH: "$CI_BUILDS_DIR/cmake ci/long file name for testing purposes" CMAKE_ARCH: x86_64 .fedora41_hip: - image: "kitware/cmake:ci-fedora41-hip-x86_64-2024-12-02" + image: "kitware/cmake:ci-fedora41-hip-x86_64-2025-02-03" variables: # FIXME(rocclr): device modules fail loading from binaries in paths with spaces diff --git a/Modules/FindMPI.cmake b/Modules/FindMPI.cmake index 82d1df10d1..e66a42f553 100644 --- a/Modules/FindMPI.cmake +++ b/Modules/FindMPI.cmake @@ -688,7 +688,7 @@ function (_MPI_interrogate_compiler LANG) MPI_ALL_INCLUDE_PATHS "${MPI_COMPILE_CMDLINE}") # If extracting failed to work, we'll try using -showme:incdirs. - # Unlike before, we do this without the environment variables set up, but since only MPICH derivates are affected by any of them, and + # Unlike before, we do this without the environment variables set up, but since only MPICH derivatives are affected by any of them, and # -showme:... is only supported by Open MPI and LAM/MPI, this isn't a concern. if (NOT MPI_ALL_INCLUDE_PATHS) _MPI_check_compiler(${LANG} "-showme:incdirs" MPI_INCDIRS_CMDLINE MPI_INCDIRS_COMPILER_RETURN) diff --git a/Source/CTest/cmCTestReadCustomFilesCommand.h b/Source/CTest/cmCTestReadCustomFilesCommand.h index bf12e9ea4d..d922d309be 100644 --- a/Source/CTest/cmCTestReadCustomFilesCommand.h +++ b/Source/CTest/cmCTestReadCustomFilesCommand.h @@ -11,12 +11,6 @@ class cmExecutionStatus; -/** \class cmCTestReadCustomFiles - * \brief Run a ctest script - * - * cmLibrarysCommand defines a list of executable (i.e., test) - * programs to create. - */ class cmCTestReadCustomFilesCommand : public cmCTestCommand { public: diff --git a/Source/CTest/cmCTestRunScriptCommand.h b/Source/CTest/cmCTestRunScriptCommand.h index 2ccc0e7bae..b17f5c0d74 100644 --- a/Source/CTest/cmCTestRunScriptCommand.h +++ b/Source/CTest/cmCTestRunScriptCommand.h @@ -13,9 +13,6 @@ class cmExecutionStatus; /** \class cmCTestRunScript * \brief Run a ctest script - * - * cmLibrarysCommand defines a list of executable (i.e., test) - * programs to create. */ class cmCTestRunScriptCommand : public cmCTestCommand {