Merge pull request #274440 from bouk/missing-build-rust-env

build-rust-crate: add missing CARGO_PKG env variables
This commit is contained in:
Ryan Lahfa 2024-01-29 17:31:54 +01:00 committed by GitHub
commit ec84d47ff6
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 22 additions and 4 deletions

View file

@ -7,12 +7,17 @@
, completeBuildDeps
, completeDeps
, crateAuthors
, crateLinks
, crateDescription
, crateHomepage
, crateFeatures
, crateHomepage
, crateLicense
, crateLicenseFile
, crateLinks
, crateName
, crateReadme
, crateRenames
, crateRepository
, crateRustVersion
, crateVersion
, extraLinkFlags
, extraRustcOptsForBuildRs
@ -120,6 +125,8 @@ in ''
EXTRA_BUILD=""
BUILD_OUT_DIR=""
# Set up Cargo Environment variables: https://doc.rust-lang.org/cargo/reference/environment-variables.html
export CARGO_PKG_NAME=${crateName}
export CARGO_PKG_VERSION=${crateVersion}
export CARGO_PKG_AUTHORS="${authors}"
@ -147,6 +154,11 @@ in ''
export CARGO_PKG_VERSION_PATCH=${lib.elemAt version 2}
export CARGO_PKG_VERSION_PRE="${versionPre}"
export CARGO_PKG_HOMEPAGE="${crateHomepage}"
export CARGO_PKG_LICENSE="${crateLicense}"
export CARGO_PKG_LICENSE_FILE="${crateLicenseFile}"
export CARGO_PKG_README="${crateReadme}"
export CARGO_PKG_REPOSITORY="${crateRepository}"
export CARGO_PKG_RUST_VERSION="${crateRustVersion}"
export NUM_JOBS=$NIX_BUILD_CORES
export RUSTC="rustc"
export RUSTDOC="rustdoc"

View file

@ -314,11 +314,16 @@ crate_: lib.makeOverridable
# Either set to a concrete sub path to the crate root
# or use `null` for auto-detect.
workspace_member = crate.workspace_member or ".";
crateVersion = crate.version;
crateDescription = crate.description or "";
crateAuthors = if crate ? authors && lib.isList crate.authors then crate.authors else [ ];
crateDescription = crate.description or "";
crateHomepage = crate.homepage or "";
crateLicense = crate.license or "";
crateLicenseFile = crate.license-file or "";
crateLinks = crate.links or "";
crateReadme = crate.readme or "";
crateRepository = crate.repository or "";
crateRustVersion = crate.rust-version or "";
crateVersion = crate.version;
crateType =
if lib.attrByPath [ "procMacro" ] false crate then [ "proc-macro" ] else
if lib.attrByPath [ "plugin" ] false crate then [ "dylib" ] else
@ -341,6 +346,7 @@ crate_: lib.makeOverridable
inherit crateName buildDependencies completeDeps completeBuildDeps crateDescription
crateFeatures crateRenames libName build workspace_member release libPath crateVersion crateLinks
extraLinkFlags extraRustcOptsForBuildRs
crateLicense crateLicenseFile crateReadme crateRepository crateRustVersion
crateAuthors crateHomepage verbose colors codegenUnits;
};
buildPhase = buildCrate {