Skip to content

Conversation

@Jesssullivan
Copy link
Owner

@Jesssullivan Jesssullivan commented Jan 26, 2026

Adding some things I want here on this jesssullivan/chapel fork, mostly relating to learning / experimenting with nix flakes and off-github work with LLVM 21.

  • include 27941 & 28002
  • Split out container for multistage builds and be all OCI cache friendly
  • figure out github actions as a confused, curmudgeonly gitlab runner native 🗺️

Add flake.nix with LLVM 21 support (bundled LLVM default)

  • chapel: bundled LLVM for LLVM 14-21 support

  • chapel-system-llvm: system LLVM 19 from nixpkgs

  • chapel-gnu: GNU backend only (no LLVM)

  • chpl-language-server: standalone LSP package

  • Development shells with proper LLVM environment

  • Add Containerfile.multi-stage with LLVM 21 default

    • 6-stage build for modular deployment
    • Auto-adds LLVM.org apt repo for versions >= 20
    • Targets: chapel-full, chapel-lsp, chapel-runtime, chapel-gasnet
  • Add .github/workflows/nix.yml for Nix CI

    • Flake check, GNU build, system LLVM build, dev shell test
  • Update prereqs.rst to document LLVM 21 support

Signed-off-by: Jade Abraham <[email protected]>
Signed-off-by: Jade Abraham <[email protected]>
Signed-off-by: Jade Abraham <[email protected]>
Signed-off-by: Jade Abraham <[email protected]>
Signed-off-by: Jade Abraham <[email protected]>
Signed-off-by: Jade Abraham <[email protected]>
@Jesssullivan Jesssullivan self-assigned this Jan 26, 2026
- Add flake.nix with LLVM 21 support (bundled LLVM default)
  - chapel: bundled LLVM for LLVM 14-21 support
  - chapel-system-llvm: system LLVM 19 from nixpkgs
  - chapel-gnu: GNU backend only (no LLVM)
  - chpl-language-server: standalone LSP package
  - Development shells with proper LLVM environment

- Add Containerfile.multi-stage with LLVM 21 default
  - 6-stage build for modular deployment
  - Auto-adds LLVM.org apt repo for versions >= 20
  - Targets: chapel-full, chapel-lsp, chapel-runtime, chapel-gasnet

- Add .github/workflows/nix.yml for Nix CI
  - Flake check, GNU build, system LLVM build, dev shell test

- Update prereqs.rst to document LLVM 21 support
The chpl binary requires CHPL_HOME to be set to function.
Use Nix's wrapProgram to automatically set CHPL_HOME to
the share/chapel directory where runtime files are installed.
The chpl binary fails to find libChplFrontend.so because the
rpath isn't set correctly. autoPatchelfHook automatically
fixes library paths in ELF binaries.
@Jesssullivan Jesssullivan merged commit fa41a18 into main Jan 26, 2026
7 of 14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants