Hello, I recently joined the LLVM team for Nixpkgs. I am making this post to explain my involvement and plans with the LLVM package as this is a critical package and I think people will find it informative. To start, my involvement with LLVM began with packaging LLVM 17. I needed it at the time because of my involvement with the Zig Programming Language.
Some time later, I went to the first NixCon NA and met some great people. From there, I decided to become more involved with LLVM in Nixpkgs. Over the past month, I have packages LLVM 18 and worked on refactoring the LLVM Nix code. This refactoring involves moving every subpackage of LLVM for each version of LLVM to rely on a single Nix file for a package. This has an estimated code removal of 6k.
My plans for LLVM’s future is to go from a reactive approach with updating to a proactive one. The reactive approach was to update LLVM’s git version to a newer commit, make the necessary fixes to it, and copy that to a new folder with the name of the version. However, this approach isn’t the best when LLVM can induce changes which causes the Nix code to fail. So I have come up with a proactive approach. My goal is to do an LLVM git update every week on Sunday. Any issues with the LLVM git package gets discovered very quickly. If a patch is required then the goal is to upstream that patch into LLVM itself.
With my involvement, I hope LLVM will become a better managed package as it is considered a core package. If anyone has any PR’s which they wish me to look at for LLVM, please don’t hesitate to mention me on Matrix, Discord, or GitHub. However, just be warned that I may have limited time from time to time so communicating with me first is the best way to get things done.