diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 2ef9ecd39b5c..5399a24f694c 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -24332,6 +24332,12 @@ githubId = 12882091; name = "Sam L. Yes"; }; + samooyo = { + email = "samidarnaud@gmail.com"; + github = "samooyo"; + githubId = 46531012; + name = "Sami Darnaud"; + }; samrose = { email = "samuel.rose@gmail.com"; github = "samrose"; diff --git a/pkgs/by-name/fo/foundry/package.nix b/pkgs/by-name/fo/foundry/package.nix index aad6d8bfde95..c9e1947cf4a3 100644 --- a/pkgs/by-name/fo/foundry/package.nix +++ b/pkgs/by-name/fo/foundry/package.nix @@ -5,6 +5,7 @@ fetchFromGitHub, libusb1, nix-update-script, + perl, pkg-config, rustPlatform, versionCheckHook, @@ -12,18 +13,25 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "foundry"; - version = "1.5.1"; + version = "1.7.0"; + + __structuredAttrs = true; src = fetchFromGitHub { owner = "foundry-rs"; repo = "foundry"; tag = "v${finalAttrs.version}"; - hash = "sha256-dMYuv5noIn86WuUJkUixnoNGLgByacung/TBU+EYhUw="; + hash = "sha256-UCaBo4hMStmh79UiyYu7vEO7UtrvwJshe4PTMkqZV0w="; }; - cargoHash = "sha256-+5RLCkAQR8UepdUIsq1FnQmjKMg7YNC1Sxu0CVpWcnc="; + cargoHash = "sha256-iAWUEVgOgn2Zw9fINxyH9Bynh+flzCY40YFGoVLgG8k="; + + strictDeps = true; nativeBuildInputs = [ + # `sha3-asm`'s build script runs cryptogams perl scripts to generate + # Keccak assembly, so perl must be available at build time. + perl pkg-config ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ darwin.DarwinTools ]; @@ -43,6 +51,13 @@ rustPlatform.buildRustPackage (finalAttrs: { passthru.updateScript = nix-update-script { }; env = { + # The build script in `crates/common/build.rs` uses vergen to embed + # `git describe` / SHA output, but the GitHub source tarball has no `.git` + # directory. Pre-set the values so vergen reuses them instead of shelling + # out to git. + VERGEN_GIT_SHA = finalAttrs.src.rev; + VERGEN_GIT_DESCRIBE = "v${finalAttrs.version}"; + SVM_RELEASES_LIST_JSON = if stdenv.hostPlatform.isDarwin then # Confusingly, these are universal binaries, not amd64. @@ -64,6 +79,7 @@ rustPlatform.buildRustPackage (finalAttrs: { beeb mitchmindtree msanft + samooyo ]; platforms = lib.platforms.unix; };