Skip to content

rocmPackages.llvm: bug for bug compatible overrideScope usage #440697

Closed
LunNova wants to merge 3 commits intoNixOS:masterfrom
LunNova:lunnova/rocm-llvm-jank
Closed

rocmPackages.llvm: bug for bug compatible overrideScope usage #440697
LunNova wants to merge 3 commits intoNixOS:masterfrom
LunNova:lunnova/rocm-llvm-jank

Conversation

@LunNova
Copy link
Member

@LunNova LunNova commented Sep 6, 2025

Just want CI to run and hopefully prove no rebuilds, intended to provide an idea of an approach for another PR.

@LunNova LunNova force-pushed the lunnova/rocm-llvm-jank branch from 005ff2f to d0fb961 Compare September 6, 2025 15:51
@nixpkgs-ci nixpkgs-ci bot added 10.rebuild-linux: 11-100 This PR causes between 11 and 100 packages to rebuild on Linux. 10.rebuild-darwin: 101-500 This PR causes between 101 and 500 packages to rebuild on Darwin. 6.topic: stdenv Standard environment 6.topic: rocm ROCm is an Advanced Micro Devices software stack for graphics processing unit programming. 6.topic: llvm/clang Issues related to llvmPackages, clangStdenv and related labels Sep 6, 2025
@LunNova
Copy link
Member Author

LunNova commented Sep 6, 2025

nixpkgs-review result

Generated using nixpkgs-review.

Command: nixpkgs-review pr 440697
Commit: d0fb9616812af6832014a7e6794a6e3923b25232


x86_64-linux

✅ 55 packages built:
  • clang_12 (llvmPackages_12.clang, llvmPackages_12.libstdcxxClang)
  • clang_13 (llvmPackages_13.clang, llvmPackages_13.libstdcxxClang)
  • cone
  • llvmPackages.clangNoCompilerRtWithLibc (llvmPackages_19.clangNoCompilerRtWithLibc)
  • llvmPackages_12.clang-tools
  • llvmPackages_12.clangNoLibcNoRt (llvmPackages_12.clangNoCompilerRt)
  • llvmPackages_12.clangNoCompilerRtWithLibc
  • llvmPackages_12.clangNoLibc (llvmPackages_12.clangNoLibcWithBasicRt)
  • llvmPackages_12.clangNoLibcxx (llvmPackages_12.clangWithLibcAndBasicRt)
  • llvmPackages_12.clangUseLLVM
  • llvmPackages_12.clangWithLibcAndBasicRtAndLibcxx
  • llvmPackages_12.compiler-rt (llvmPackages_12.compiler-rt-libc)
  • llvmPackages_12.compiler-rt.dev (llvmPackages_12.compiler-rt-libc.dev)
  • llvmPackages_12.compiler-rt-no-libc
  • llvmPackages_12.compiler-rt-no-libc.dev
  • llvmPackages_12.libcxx
  • llvmPackages_12.libcxx.dev
  • llvmPackages_12.libcxxClang
  • llvmPackages_12.libcxxStdenv
  • llvmPackages_12.libunwind
  • llvmPackages_12.libunwind.dev
  • llvmPackages_12.openmp
  • llvmPackages_12.stdenv
  • llvmPackages_13.clang-tools
  • llvmPackages_13.clangNoLibcNoRt (llvmPackages_13.clangNoCompilerRt)
  • llvmPackages_13.clangNoCompilerRtWithLibc
  • llvmPackages_13.clangNoLibc (llvmPackages_13.clangNoLibcWithBasicRt)
  • llvmPackages_13.clangNoLibcxx (llvmPackages_13.clangWithLibcAndBasicRt)
  • llvmPackages_13.clangUseLLVM
  • llvmPackages_13.clangWithLibcAndBasicRtAndLibcxx
  • llvmPackages_13.compiler-rt (llvmPackages_13.compiler-rt-libc)
  • llvmPackages_13.compiler-rt.dev (llvmPackages_13.compiler-rt-libc.dev)
  • llvmPackages_13.compiler-rt-no-libc
  • llvmPackages_13.compiler-rt-no-libc.dev
  • llvmPackages_13.libcxx
  • llvmPackages_13.libcxx.dev
  • llvmPackages_13.libcxxClang
  • llvmPackages_13.libcxxStdenv
  • llvmPackages_13.libunwind
  • llvmPackages_13.libunwind.dev
  • llvmPackages_13.openmp
  • llvmPackages_13.stdenv
  • llvmPackages_14.clangNoCompilerRtWithLibc
  • llvmPackages_15.clangNoCompilerRtWithLibc
  • llvmPackages_16.clangNoCompilerRtWithLibc
  • llvmPackages_17.clangNoCompilerRtWithLibc
  • llvmPackages_18.clangNoCompilerRtWithLibc
  • llvmPackages_20.clangNoCompilerRtWithLibc
  • llvmPackages_21.clangNoCompilerRtWithLibc
  • tests.cc-wrapper.llvmTests.llvmPackages_12.clang
  • tests.cc-wrapper.llvmTests.llvmPackages_12.libcxx
  • tests.cc-wrapper.llvmTests.llvmPackages_13.clang
  • tests.cc-wrapper.llvmTests.llvmPackages_13.libcxx
  • tests.cc-wrapper.supported
  • wavm

@LunNova LunNova force-pushed the lunnova/rocm-llvm-jank branch 2 times, most recently from efc3a7b to 1071572 Compare September 8, 2025 16:20
@nixpkgs-ci nixpkgs-ci bot added 10.rebuild-linux: 101-500 This PR causes between 101 and 500 packages to rebuild on Linux. and removed 10.rebuild-linux: 11-100 This PR causes between 11 and 100 packages to rebuild on Linux. labels Sep 8, 2025
@LunNova LunNova force-pushed the lunnova/rocm-llvm-jank branch from 1071572 to 17f2ecb Compare September 9, 2025 00:04
@nixpkgs-ci nixpkgs-ci bot added 10.rebuild-linux: 11-100 This PR causes between 11 and 100 packages to rebuild on Linux. and removed 10.rebuild-linux: 101-500 This PR causes between 101 and 500 packages to rebuild on Linux. labels Sep 9, 2025
@LunNova LunNova force-pushed the lunnova/rocm-llvm-jank branch 2 times, most recently from 16fd4fa to 76144e6 Compare September 9, 2025 00:16
Uses new overrideScope feature to override base LLVM packages
without risking leaking incorrect non-overridden packages
from the base LLVM version.

To achieve no rebuilds or new attrs:
- Explicit list of packages to expose in an inherit instead
  of the entire scope
- Noting where workarounds for lack of overrideScope should
  be removed in a followup such as re-attaching a
  replaceVars patch or disabling separate tblgen package,
  but are kept for now to avoid a rebuild
- Override compiler-rt to continue incorrectly using
  the base LLVM's libllvm. This was an accident in
  the prior version, overrideScope tries to help us
  by correcting this mistake.

To avoid a large formatting diff a small helper has
been introduced that allows an overrideScope call with a single
arg, convincing nixfmt not to indent the scope body further.
@LunNova LunNova force-pushed the lunnova/rocm-llvm-jank branch from 76144e6 to 47393c7 Compare September 9, 2025 00:59
@nixpkgs-ci nixpkgs-ci bot added the 2.status: merge conflict This PR has merge conflicts with the target branch label Sep 16, 2025
@LunNova LunNova closed this Sep 25, 2025
@github-project-automation github-project-automation bot moved this to Done in Stdenv Sep 25, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

2.status: merge conflict This PR has merge conflicts with the target branch 6.topic: llvm/clang Issues related to llvmPackages, clangStdenv and related 6.topic: rocm ROCm is an Advanced Micro Devices software stack for graphics processing unit programming. 6.topic: stdenv Standard environment 10.rebuild-darwin: 101-500 This PR causes between 101 and 500 packages to rebuild on Darwin. 10.rebuild-linux: 11-100 This PR causes between 11 and 100 packages to rebuild on Linux.

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

2 participants