diff options
author | Ayke van Laethem <[email protected]> | 2024-10-11 14:57:38 +0200 |
---|---|---|
committer | Ron Evans <[email protected]> | 2024-10-17 14:21:58 +0100 |
commit | 505e68057d86e154f124f1ebd1921c33f9f4b2e3 (patch) | |
tree | 8acf2b80f1d63503562da686a2f1be80b9e7bcc3 | |
parent | 87c6e19921ae916a7af53e1695e37995aa112607 (diff) | |
download | tinygo-505e68057d86e154f124f1ebd1921c33f9f4b2e3.tar.gz tinygo-505e68057d86e154f124f1ebd1921c33f9f4b2e3.zip |
nix: use LLVM 18 instead of LLVM 17
This should fix some CI issues we're currently having.
Thanks to @sylv-io for discovering that we need to remove LLVM to avoid
an Xtensa backend linker error.
-rw-r--r-- | .github/workflows/nix.yml | 5 | ||||
-rw-r--r-- | flake.lock | 8 | ||||
-rw-r--r-- | flake.nix | 12 |
3 files changed, 15 insertions, 10 deletions
diff --git a/.github/workflows/nix.yml b/.github/workflows/nix.yml index 62da55672..7ad4911d6 100644 --- a/.github/workflows/nix.yml +++ b/.github/workflows/nix.yml @@ -15,6 +15,11 @@ jobs: nix-test: runs-on: ubuntu-latest steps: + - name: Uninstall system LLVM + # Hack to work around issue where we still include system headers for + # some reason. + # See: https://github.com/tinygo-org/tinygo/pull/4516#issuecomment-2416363668 + run: sudo apt-get remove llvm-18 - name: Checkout uses: actions/checkout@v4 - name: Pull musl diff --git a/flake.lock b/flake.lock index 6c453ad9b..d541b769c 100644 --- a/flake.lock +++ b/flake.lock @@ -20,16 +20,16 @@ }, "nixpkgs": { "locked": { - "lastModified": 1703068421, - "narHash": "sha256-WSw5Faqlw75McIflnl5v7qVD/B3S2sLh+968bpOGrWA=", + "lastModified": 1728500571, + "narHash": "sha256-dOymOQ3AfNI4Z337yEwHGohrVQb4yPODCW9MDUyAc4w=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "d65bceaee0fb1e64363f7871bc43dc1c6ecad99f", + "rev": "d51c28603def282a24fa034bcb007e2bcb5b5dd0", "type": "github" }, "original": { "id": "nixpkgs", - "ref": "nixos-23.11", + "ref": "nixos-24.05", "type": "indirect" } }, @@ -35,7 +35,7 @@ inputs = { # Use a recent stable release, but fix the version to make it reproducible. # This version should be updated from time to time. - nixpkgs.url = "nixpkgs/nixos-23.11"; + nixpkgs.url = "nixpkgs/nixos-24.05"; flake-utils.url = "github:numtide/flake-utils"; }; outputs = { self, nixpkgs, flake-utils }: @@ -49,11 +49,11 @@ buildInputs = [ # These dependencies are required for building tinygo (go install). go - llvmPackages_17.llvm - llvmPackages_17.libclang + llvmPackages_18.llvm + llvmPackages_18.libclang # Additional dependencies needed at runtime, for building and/or # flashing. - llvmPackages_17.lld + llvmPackages_18.lld avrdude binaryen # Additional dependencies needed for on-chip debugging. @@ -68,7 +68,7 @@ # Without setting these explicitly, Homebrew versions might be used # or the default `ar` and `nm` tools might be used (which don't # support wasi). - export CLANG="clang-17 -resource-dir ${llvmPackages_17.clang.cc.lib}/lib/clang/17" + export CLANG="clang-18 -resource-dir ${llvmPackages_18.clang.cc.lib}/lib/clang/18" export LLVM_AR=llvm-ar export LLVM_NM=llvm-nm @@ -77,7 +77,7 @@ export MD5SUM=md5sum # Ugly hack to make the Clang resources directory available. - export GOFLAGS="\"-ldflags=-X github.com/tinygo-org/tinygo/goenv.clangResourceDir=${llvmPackages_17.clang.cc.lib}/lib/clang/17\" -tags=llvm17" + export GOFLAGS="\"-ldflags=-X github.com/tinygo-org/tinygo/goenv.clangResourceDir=${llvmPackages_18.clang.cc.lib}/lib/clang/18\" -tags=llvm18" ''; }; } |