Skip to content

Conversation

@nlordell
Copy link
Contributor

This changes how 64-bit ARM Linux (the linux-aarch64 platform) versions are handled to use the official Solidity binaries. Since v0.8.31, Solidity officially releases
linux-arm64 binaries.

Note a few small details:

  1. Solidity calls the platform linux-arm64, while SVM calls it linux-aarch64. I assumed that changing the naming to match Solidity would be a much larger breaking change, so I decided to have the releases::all_releases handle the naming discrepancy.
  2. Some small adjustments were required for the linux_aarch64 install test as it wasn't compiling.
  3. The binary list from nikitastupin/solc does not correctly add prerelease information to the builds field; so in order to differentiate between v0.8.31 (from the official releases) and v0.8.31-pre.1 (from the nikitastupin/solc releases) some additional "fixup" code was added. Right now, the generated svm-builds constants for linux-aarch64 don't correctly include -pre.1 prerelease information.

This changes how 64-bit ARM Linux (the `linux-aarch64` platform)
versions are handled to use the official Solidity binaries. Since
`v0.8.31`, Solidity officially releases
[`linux-arm64`](https://binaries.soliditylang.org/linux-arm64/list.json)
binaries.

Note a few small details:
1. Solidity calls the platform `linux-arm64`, while SVM calls it
   `linux-aarch64`. I assumed that changing the naming to match
   Solidity would be a much larger breaking change, so I decided to
   have the `releases::all_releases` handle the naming discrepancy.
2. Some small adjustments were required for the `linux_aarch64`
   install test as it wasn't compiling.
3. The binary list from `nikitastupin/solc` does not correctly add
   `prerelease` information to the `builds` field; so in order to
   differentiate between `v0.8.31` (from the official releases) and
   `v0.8.31-pre.1` (from the `nikitastupin/solc` releases) some
   additional "fixup" code was added. Right now, the generated
   `svm-builds` constants for `linux-aarch64` don't correctly include
   `-pre.1` prerelease information.
Copy link
Member

@mattsse mattsse left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this lgtm, ty!

pending @grandizzy

@grandizzy grandizzy self-requested a review December 24, 2025 09:17
Copy link
Contributor

@grandizzy grandizzy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thank you, til re official arm builds, makes sense!

@mattsse mattsse merged commit 46521d9 into alloy-rs:master Dec 24, 2025
7 of 8 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