aptos-labs / aptos-core

Aptos is a layer 1 blockchain built to support the widespread use of blockchain through better technology and user experience.
https://aptosfoundation.org
Other
6.15k stars 3.62k forks source link

[Feature Request] Homebrew repo for Mac Arm64 versions of needed tools for Move prover and tests #9478

Open brmataptos opened 1 year ago

brmataptos commented 1 year ago

🚀 Feature Request

We need a Homebrew repo in github for Z3 and Solidity for Arm64 Macs.

Motivation

Move build stack and tests depend on older versions of a few tools (Z3 and Solidity). These are not easily available natively for Mac Arm64, as the tool makers don't have Mac Arm64 builds for those versions. Meanwhile, Homebrew has these tools for Mac Arm64, but only the latest versions. It's possible to build the old versions for Arm64 from the sources and host our own on github, making it fairly easy for new developers (or the dev_setup.sh script) to install on their machines using brew.

Additional context

While Z3 version 4.11.2 easily builds on Mac Arm64, building Solidity version "v0.8.11+commit.d7f03943" requires first installing a different old version of Z3, then patching the Solidity source code to build on Arm64. Once the Aptos Labs Homebrew repo is set up I can probably upload that.

brmataptos commented 1 year ago

See also https://github.com/aptos-labs/aptos-core/issues/9350 and https://github.com/aptos-labs/aptos-core/issues/8718.

8718 was fixed already by https://github.com/aptos-labs/aptos-core/pull/8750.

9350 workaround is still pending on PR https://github.com/aptos-labs/aptos-core/issues/9350.

brmataptos commented 1 week ago

@rahxephon89 might be interested in following up on this?

rahxephon89 commented 1 week ago

@brmataptos, instead of using homebrew, we plan to use CLI command to install prover dependencies: https://github.com/aptos-labs/aptos-core/pull/14683