Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/rosscomputerguy/nixpkgs-llvm-ws
Flake workspace / repo to stage and track Nixpkgs/NixOS's ability to be compiled completely with LLVM
https://github.com/rosscomputerguy/nixpkgs-llvm-ws
llvm nixpkgs testing
Last synced: 29 days ago
JSON representation
Flake workspace / repo to stage and track Nixpkgs/NixOS's ability to be compiled completely with LLVM
- Host: GitHub
- URL: https://github.com/rosscomputerguy/nixpkgs-llvm-ws
- Owner: RossComputerGuy
- License: mit
- Created: 2024-06-16T02:24:45.000Z (5 months ago)
- Default Branch: master
- Last Pushed: 2024-08-15T05:56:01.000Z (3 months ago)
- Last Synced: 2024-10-11T00:04:14.839Z (29 days ago)
- Topics: llvm, nixpkgs, testing
- Language: Nix
- Homepage:
- Size: 4.3 MB
- Stars: 15
- Watchers: 2
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 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:
- [x] Working minimal NixOS config
- [ ] Enable Hydra testing
- [ ] Automated build failure reports
- [ ] Working graphical NixOS config## 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](https://github.com/NixOS/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:```nix
# 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";
```