RossComputerGuy / nixpkgs-llvm-ws

Flake workspace / repo to stage and track Nixpkgs/NixOS's ability to be compiled completely with LLVM
MIT License
14 stars 0 forks source link
llvm nixpkgs testing

nixpkgs-llvm-ws

Flake workspace / repo to stage and track Nixpkgs/NixOS's ability to be compiled completely with LLVM. Goal is to ensure the majority of Nixpkgs works under pkgsLLVM or with LLVM.

Roadmap

Current roadmap as of 2024-07-27:

Contributing

As Nixpkgs is a large repo, there are many packages. To not burden the load on just me (@RossComputerGuy) or other contributors and maintainers, additional help is appreciated.

1. Finding build failures

The best way to find build failures is to use nix build github:NixOS/nixpkgs#pkgsLLVM.*pkgname* and report a build failure to Nixpkgs. Create an issue in this repository with a link to the Nixpkgs issue and work will be done to reproduce and fix here and then upstreaming it.

2. Fixing build failures

The best way to fix is to create a PR to this repository for me (@RossComputerGuy) and other people to look into and fix. Either one of the people involved with this project can upstream it or you can upstream it yourself.

Common Build Failures

Version script causing error: version script assignment of 'xxx' to symbol 'xx' failed: symbol not defined

This usually happens when a library is linked with a version script, the usual solution is to implement something like this:

# Fix undefined reference errors with version script under LLVM.
NIX_LDFLAGS = lib.optionalString (stdenv.cc.bintools.isLLVM && lib.versionAtLeast stdenv.cc.bintools.version "17") "--undefined-version";