Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

foundry: init at nightly-deb31169 #284414

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

mitchmindtree
Copy link
Member

Foundry is a portable, modular toolkit for Ethereum application development written in Rust.

An update-svm-lists.sh script is included as a helper for myself / other maintainers to periodically update the solidity binary lists required by the svm-rs crate.

Linux

On my x86_64-linux I was able to build foundry and run each of the tools. I tested forge by:

  1. Creating a new project with forge init test-proj && cd test-proj
  2. Building the project with forge build
$ forge init test-proj && cd test-proj
Initializing /home/mindtree/repo/test-proj...
Installing forge-std in /home/mindtree/repo/test-proj/lib/forge-std (url: Some("https://github.com/foundry-rs/forge-std"), tag: None)
Cloning into '/home/mindtree/repo/test-proj/lib/forge-std'...
remote: Enumerating objects: 2135, done.
remote: Counting objects: 100% (2131/2131), done.
remote: Compressing objects: 100% (696/696), done.
remote: Total 2135 (delta 1419), reused 2049 (delta 1368), pack-reused 4
Receiving objects: 100% (2135/2135), 590.33 KiB | 5.47 MiB/s, done.
Resolving deltas: 100% (1419/1419), done.
Submodule 'lib/ds-test' (https://github.com/dapphub/ds-test) registered for path 'lib/forge-std/lib/ds-test'
Cloning into '/home/mindtree/repo/test-proj/lib/forge-std/lib/ds-test'...
remote: Enumerating objects: 313, done.
remote: Counting objects: 100% (171/171), done.
remote: Compressing objects: 100% (87/87), done.
remote: Total 313 (delta 90), reused 135 (delta 75), pack-reused 142
Receiving objects: 100% (313/313), 71.98 KiB | 3.79 MiB/s, done.
Resolving deltas: 100% (129/129), done.
    Installed forge-std v1.7.6
    Initialized forge project

$ forge build
[⠊] Compiling...
[⠰] Installing Solc version 0.8.23
[⠔] Successfully installed Solc 0.8.23
[⠰] Compiling 24 files with 0.8.23
[⠒] Solc 0.8.23 finished in 2.74s
Compiler run successful!

macOS

For macOS I only have a aarch64-darwin machine available. Disabling the meta.platforms temporarily, I was able to successfully build foundry and run the tools, however as solidity binaries are only available for x86_64 forge build would fail. I've disabled aarch64-darwin until the solidity team begin distributing binaries for aarch64-darwin. I've added a note about this above the meta.platforms attribute.


Closes #239614
Closes #211587

cc @thedavidmeister @EvanPiro in case you're interested in testing this! To do so, fetch this branch, nix-build -A foundry and find the bins in result.

Description of changes

N/A

Things done

  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)
    • sandbox = relaxed
    • sandbox = true
  • Tested, as applicable:
  • Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
  • Tested basic functionality of all binary files (usually in ./result/bin/)
  • 24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)
    • (Package updates) Added a release notes entry if the change is major or breaking
    • (Module updates) Added a release notes entry if the change is significant
    • (Module addition) Added a release notes entry if adding a new NixOS module
  • Fits CONTRIBUTING.md.

Add a 👍 reaction to pull requests you find important.

Foundry is a portable, modular toolkit for Ethereum application
development written in Rust.

An `update-svm-lists.sh` script is included as a helper for myself /
other maintainers to periodically update the solidity binary lists
required by the `svm-rs` crate.
@thedavidmeister
Copy link
Contributor

thanks for the heads up @mitchmindtree i've added a task to my kanban to have a look at some point

@cherryman
Copy link
Contributor

Foundry works on aarch64-linux as well, so it should probably be included. I can test this change for it if needed.

@pbsbot
Copy link

pbsbot commented Jun 8, 2024

Result of nixpkgs-review pr 284414 run on x86_64-linux 1

1 package failed to build:
  • foundry
source> trying https://github.com/foundry-rs/foundry/archive/nightly-deb3116955eea4333f9e4e4516104be4182e9ee2.tar.gz
source>   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
source>                                  Dload  Upload   Total   Spent    Left  Speed
source>   0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
source>   0    14    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
source> curl: (56) The requested URL returned error: 404
source> error: cannot download source from any mirror

@Velnbur
Copy link

Velnbur commented Jun 13, 2024

I'm too interested in this one. Need any help?

@FliegendeWurst FliegendeWurst added the awaiting_changes (old Marvin label, do not use) label Nov 17, 2024
@wegank wegank added the 2.status: stale https://github.com/NixOS/nixpkgs/blob/master/.github/STALE-BOT.md label Jan 2, 2025
@SigmaSquadron SigmaSquadron removed the awaiting_changes (old Marvin label, do not use) label Jan 5, 2025
@msanft msanft mentioned this pull request Jan 6, 2025
13 tasks
@wegank wegank added the 2.status: merge conflict This PR has merge conflicts with the target branch label Feb 15, 2025
@stale stale bot removed the 2.status: stale https://github.com/NixOS/nixpkgs/blob/master/.github/STALE-BOT.md label Feb 15, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
2.status: merge conflict This PR has merge conflicts with the target branch 8.has: package (new) This PR adds a new package 10.rebuild-darwin: 1-10 10.rebuild-darwin: 1 10.rebuild-linux: 1-10 10.rebuild-linux: 1 11.by: package-maintainer This PR was created by the maintainer of the package it changes
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Package request: foundry
8 participants