-
-
Notifications
You must be signed in to change notification settings - Fork 14.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Prune unused/unneeded/old versions of llvm #44372
Comments
So... we delete all unreferenced versions (after some time) and then see if someone minds? Is there some other way to find which are likely to be useful? |
See also #30229 |
One alternative might be to at least not (re)building all of them on Hydra all the time, but in any case I'd try to find at least a couple to remove completely. |
Huge 👍to this. How much I mind old versions for me is roughly proportional to how long the builds are (if they all take 5 seconds, I don't really care) and how much duplicated code there is between them (LLVM is an awful offender here). As someone who often needs changes to LLVM because of its integration with the Darwin stdenv, old versions of LLVM have been the bane of my existence. |
This comment was marked as resolved.
This comment was marked as resolved.
LLVM5:
LLVM6
LLVM7
|
I don't have a short and sweet explanation, but more context can be found at #127902. |
It seems like a packaging mistake: UniformTypeIdentifiers/UniformTypeIdentifiers.h seems to come from a macOS framework: UniformTypeIdentifiers.framework. Of course, it may not fix the underlying issue. |
Following issue #44372 logic, we want to get rid of older LLVMs.
According to ghc docs https://downloads.haskell.org/ghc/8.8.4/docs/html/users_guide/8.8.1-notes.html#llvm-backend ghc 8.8 is only compatible with LLVM 7. We have not yet decided to drop 8.8.4, yet. So until then, I think it’s best llvm 7 stays. Otoh @sternenseemann might have more insight. |
Do you have a vision on when 8.8.4 will be deprecated/dropped? |
@RaitoBezarius the latest mrustc tag (v0.10) supports Rust 1.54.0, which does support LLVM 12.0.0 (not sure about >= 12.0.1 though) |
The patch bumps should be compatible by design. |
If you have any time to bump it before the branch off, that would be extremely awesome. :) |
I had some issues with mrustc 0.10 last I tried, but unstable seems to be working okay. I already had a wip bump to unstable, and I was planning to wait until the next mrustc release but I'll go ahead and open a PR later so we can get on rust 1.54 with llvm 12. |
WIP at #224970 |
Given that this was the default nixpkgs LLVM version not that long ago, I'm not sure if it is prudent to remove it already. In general it seems to me that a push to remove old stuff just for the sake of it is just annoying busywork that usually only has the tangible result of annoying downstream users. I do not think that removing old versions of LLVM helps us with refactoring the LLVM expressions. Only unifying all LLVM >= 8 expressions is already an incredibly big task. I'd rather recommend having a common expression going forward, i.e. git, 15, 16, … that we continuously update to also support whatever new version comes out. That being said, GHC 8.8.4 is not strictly needed anymore from a nixpkgs perspective, i.e. it is neither used for bootstrapping nor required by any specific package, but there is also no particular reason to remove it either. |
Dropping LLVM 5 & 6 for NixOS 23.11. |
Dropping only LLVM 5 because GHC 8.6.5 depends on LLVM 6… |
We have 8 versions of LLVM currently:
Let's get rid of the older ones where possible.
The text was updated successfully, but these errors were encountered: