fetchFromGitHub: force re-fetch when rev changes #11
|
@ -27,6 +27,7 @@ lib.makeOverridable (
|
|||
, # Impure env vars (https://nixos.org/nix/manual/#sec-advanced-attributes)
|
||||
# needed for netrcPhase
|
||||
netrcImpureEnvVars ? []
|
||||
, passthru ? {}
|
||||
, meta ? {}
|
||||
, allowedRequisites ? null
|
||||
}:
|
||||
|
@ -103,7 +104,7 @@ stdenvNoCC.mkDerivation {
|
|||
|
||||
inherit preferLocalBuild meta allowedRequisites;
|
||||
|
||||
passthru = {
|
||||
passthru = passthru // {
|
||||
gitRepoUrl = url;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,22 +1,30 @@
|
|||
nit:
nit:
```suggestion
, name ? null # Override with null to use the default value
```
Here's a slightly different proposal: append the github base url as provenance like so: Here's a slightly different proposal: append the github base url as provenance like so: `/nix/store/wzvnh3p7gv1qlqhb3iif878bfffzrvaz-source-pypa-build-refs-tags-1.1.1-github.com.drv`. That's a good self-description, leaves the `source` that people might be used to, and generalizes unambiguously to other `fetchFrom`s. We can also put it before the `owner`.
Only potential issue I see is creating some pretty long path names, but I don't see it being a massive issue. Seems fine to me. Only potential issue I see is creating some pretty long path names, but I don't see it being a *massive* issue. Seems fine to me.
TBH, I'd also change TBH, I'd also change `source` to something like `github-repo`, just to make it clearer in the name that the derivation comes from a GitHub checkout.
nit:
nit:
```suggestion
, name ? null # Override with null to use the default value
```
Here's a slightly different proposal: append the github base url as provenance like so: Here's a slightly different proposal: append the github base url as provenance like so: `/nix/store/wzvnh3p7gv1qlqhb3iif878bfffzrvaz-source-pypa-build-refs-tags-1.1.1-github.com.drv`. That's a good self-description, leaves the `source` that people might be used to, and generalizes unambiguously to other `fetchFrom`s. We can also put it before the `owner`.
Only potential issue I see is creating some pretty long path names, but I don't see it being a massive issue. Seems fine to me. Only potential issue I see is creating some pretty long path names, but I don't see it being a *massive* issue. Seems fine to me.
|
||||
{ lib, fetchgit, fetchzip }:
|
||||
|
||||
lib.makeOverridable (
|
||||
{ owner, repo, rev, name ? "source"
|
||||
TBH, I'd also change TBH, I'd also change `source` to something like `github-repo`, just to make it clearer in the name that the derivation comes from a GitHub checkout.
nit:
nit:
```suggestion
, name ? null # Override with null to use the default value
```
Here's a slightly different proposal: append the github base url as provenance like so: Here's a slightly different proposal: append the github base url as provenance like so: `/nix/store/wzvnh3p7gv1qlqhb3iif878bfffzrvaz-source-pypa-build-refs-tags-1.1.1-github.com.drv`. That's a good self-description, leaves the `source` that people might be used to, and generalizes unambiguously to other `fetchFrom`s. We can also put it before the `owner`.
Only potential issue I see is creating some pretty long path names, but I don't see it being a massive issue. Seems fine to me. Only potential issue I see is creating some pretty long path names, but I don't see it being a *massive* issue. Seems fine to me.
|
||||
{ owner, repo, rev
|
||||
TBH, I'd also change TBH, I'd also change `source` to something like `github-repo`, just to make it clearer in the name that the derivation comes from a GitHub checkout.
nit:
nit:
```suggestion
, name ? null # Override with null to use the default value
```
Here's a slightly different proposal: append the github base url as provenance like so: Here's a slightly different proposal: append the github base url as provenance like so: `/nix/store/wzvnh3p7gv1qlqhb3iif878bfffzrvaz-source-pypa-build-refs-tags-1.1.1-github.com.drv`. That's a good self-description, leaves the `source` that people might be used to, and generalizes unambiguously to other `fetchFrom`s. We can also put it before the `owner`.
Only potential issue I see is creating some pretty long path names, but I don't see it being a massive issue. Seems fine to me. Only potential issue I see is creating some pretty long path names, but I don't see it being a *massive* issue. Seems fine to me.
|
||||
, name ? null # Override with null to use the default value
|
||||
TBH, I'd also change TBH, I'd also change `source` to something like `github-repo`, just to make it clearer in the name that the derivation comes from a GitHub checkout.
nit:
nit:
```suggestion
, name ? null # Override with null to use the default value
```
Here's a slightly different proposal: append the github base url as provenance like so: Here's a slightly different proposal: append the github base url as provenance like so: `/nix/store/wzvnh3p7gv1qlqhb3iif878bfffzrvaz-source-pypa-build-refs-tags-1.1.1-github.com.drv`. That's a good self-description, leaves the `source` that people might be used to, and generalizes unambiguously to other `fetchFrom`s. We can also put it before the `owner`.
Only potential issue I see is creating some pretty long path names, but I don't see it being a massive issue. Seems fine to me. Only potential issue I see is creating some pretty long path names, but I don't see it being a *massive* issue. Seems fine to me.
|
||||
, pname ? "source-${githubBase}-${owner}-${repo}"
|
||||
TBH, I'd also change TBH, I'd also change `source` to something like `github-repo`, just to make it clearer in the name that the derivation comes from a GitHub checkout.
nit:
nit:
```suggestion
, name ? null # Override with null to use the default value
```
Here's a slightly different proposal: append the github base url as provenance like so: Here's a slightly different proposal: append the github base url as provenance like so: `/nix/store/wzvnh3p7gv1qlqhb3iif878bfffzrvaz-source-pypa-build-refs-tags-1.1.1-github.com.drv`. That's a good self-description, leaves the `source` that people might be used to, and generalizes unambiguously to other `fetchFrom`s. We can also put it before the `owner`.
Only potential issue I see is creating some pretty long path names, but I don't see it being a massive issue. Seems fine to me. Only potential issue I see is creating some pretty long path names, but I don't see it being a *massive* issue. Seems fine to me.
|
||||
, fetchSubmodules ? false, leaveDotGit ? null
|
||||
`/nix/store/f291banfgj2vjz1qsvmpm09awn2gl4pj-source-github.com-pypa-build-refs-tags-1.1.1.drv` wdyt @Sorixelle ?
|
||||
, deepClone ? false, private ? false, forceFetchGit ? false
|
||||
, sparseCheckout ? []
|
||||
, githubBase ? "github.com", varPrefix ? null
|
||||
, passthru ? { }
|
||||
TBH, I'd also change TBH, I'd also change `source` to something like `github-repo`, just to make it clearer in the name that the derivation comes from a GitHub checkout.
nit:
nit:
```suggestion
, name ? null # Override with null to use the default value
```
Here's a slightly different proposal: append the github base url as provenance like so: Here's a slightly different proposal: append the github base url as provenance like so: `/nix/store/wzvnh3p7gv1qlqhb3iif878bfffzrvaz-source-pypa-build-refs-tags-1.1.1-github.com.drv`. That's a good self-description, leaves the `source` that people might be used to, and generalizes unambiguously to other `fetchFrom`s. We can also put it before the `owner`.
Only potential issue I see is creating some pretty long path names, but I don't see it being a massive issue. Seems fine to me. Only potential issue I see is creating some pretty long path names, but I don't see it being a *massive* issue. Seems fine to me.
|
||||
, meta ? { }
|
||||
, ... # For hash agility
|
||||
}@args:
|
||||
|
||||
let
|
||||
name = if args.name or null != null then args.name
|
||||
TBH, I'd also change TBH, I'd also change `source` to something like `github-repo`, just to make it clearer in the name that the derivation comes from a GitHub checkout.
nit:
nit:
```suggestion
, name ? null # Override with null to use the default value
```
Here's a slightly different proposal: append the github base url as provenance like so: Here's a slightly different proposal: append the github base url as provenance like so: `/nix/store/wzvnh3p7gv1qlqhb3iif878bfffzrvaz-source-pypa-build-refs-tags-1.1.1-github.com.drv`. That's a good self-description, leaves the `source` that people might be used to, and generalizes unambiguously to other `fetchFrom`s. We can also put it before the `owner`.
Only potential issue I see is creating some pretty long path names, but I don't see it being a massive issue. Seems fine to me. Only potential issue I see is creating some pretty long path names, but I don't see it being a *massive* issue. Seems fine to me.
|
||||
else "${pname}-${rev}";
|
||||
TBH, I'd also change TBH, I'd also change `source` to something like `github-repo`, just to make it clearer in the name that the derivation comes from a GitHub checkout.
nit:
nit:
```suggestion
, name ? null # Override with null to use the default value
```
Here's a slightly different proposal: append the github base url as provenance like so: Here's a slightly different proposal: append the github base url as provenance like so: `/nix/store/wzvnh3p7gv1qlqhb3iif878bfffzrvaz-source-pypa-build-refs-tags-1.1.1-github.com.drv`. That's a good self-description, leaves the `source` that people might be used to, and generalizes unambiguously to other `fetchFrom`s. We can also put it before the `owner`.
Only potential issue I see is creating some pretty long path names, but I don't see it being a massive issue. Seems fine to me. Only potential issue I see is creating some pretty long path names, but I don't see it being a *massive* issue. Seems fine to me.
|
||||
|
||||
position = (if args.meta.description or null != null
|
||||
then builtins.unsafeGetAttrPos "description" args.meta
|
||||
else builtins.unsafeGetAttrPos "rev" args
|
||||
);
|
||||
baseUrl = "https://${githubBase}/${owner}/${repo}";
|
||||
newPassthru = passthru // {
|
||||
TBH, I'd also change TBH, I'd also change `source` to something like `github-repo`, just to make it clearer in the name that the derivation comes from a GitHub checkout.
nit:
nit:
```suggestion
, name ? null # Override with null to use the default value
```
Here's a slightly different proposal: append the github base url as provenance like so: Here's a slightly different proposal: append the github base url as provenance like so: `/nix/store/wzvnh3p7gv1qlqhb3iif878bfffzrvaz-source-pypa-build-refs-tags-1.1.1-github.com.drv`. That's a good self-description, leaves the `source` that people might be used to, and generalizes unambiguously to other `fetchFrom`s. We can also put it before the `owner`.
Only potential issue I see is creating some pretty long path names, but I don't see it being a massive issue. Seems fine to me. Only potential issue I see is creating some pretty long path names, but I don't see it being a *massive* issue. Seems fine to me.
|
||||
inherit rev owner repo;
|
||||
TBH, I'd also change TBH, I'd also change `source` to something like `github-repo`, just to make it clearer in the name that the derivation comes from a GitHub checkout.
nit:
nit:
```suggestion
, name ? null # Override with null to use the default value
```
Here's a slightly different proposal: append the github base url as provenance like so: Here's a slightly different proposal: append the github base url as provenance like so: `/nix/store/wzvnh3p7gv1qlqhb3iif878bfffzrvaz-source-pypa-build-refs-tags-1.1.1-github.com.drv`. That's a good self-description, leaves the `source` that people might be used to, and generalizes unambiguously to other `fetchFrom`s. We can also put it before the `owner`.
Only potential issue I see is creating some pretty long path names, but I don't see it being a massive issue. Seems fine to me. Only potential issue I see is creating some pretty long path names, but I don't see it being a *massive* issue. Seems fine to me.
|
||||
};
|
||||
TBH, I'd also change TBH, I'd also change `source` to something like `github-repo`, just to make it clearer in the name that the derivation comes from a GitHub checkout.
nit:
nit:
```suggestion
, name ? null # Override with null to use the default value
```
Here's a slightly different proposal: append the github base url as provenance like so: Here's a slightly different proposal: append the github base url as provenance like so: `/nix/store/wzvnh3p7gv1qlqhb3iif878bfffzrvaz-source-pypa-build-refs-tags-1.1.1-github.com.drv`. That's a good self-description, leaves the `source` that people might be used to, and generalizes unambiguously to other `fetchFrom`s. We can also put it before the `owner`.
Only potential issue I see is creating some pretty long path names, but I don't see it being a massive issue. Seems fine to me. Only potential issue I see is creating some pretty long path names, but I don't see it being a *massive* issue. Seems fine to me.
|
||||
newMeta = meta // {
|
||||
homepage = meta.homepage or baseUrl;
|
||||
} // lib.optionalAttrs (position != null) {
|
||||
|
@ -53,16 +61,19 @@ let
|
|||
TBH, I'd also change TBH, I'd also change `source` to something like `github-repo`, just to make it clearer in the name that the derivation comes from a GitHub checkout.
nit:
nit:
```suggestion
, name ? null # Override with null to use the default value
```
Here's a slightly different proposal: append the github base url as provenance like so: Here's a slightly different proposal: append the github base url as provenance like so: `/nix/store/wzvnh3p7gv1qlqhb3iif878bfffzrvaz-source-pypa-build-refs-tags-1.1.1-github.com.drv`. That's a good self-description, leaves the `source` that people might be used to, and generalizes unambiguously to other `fetchFrom`s. We can also put it before the `owner`.
Only potential issue I see is creating some pretty long path names, but I don't see it being a massive issue. Seems fine to me. Only potential issue I see is creating some pretty long path names, but I don't see it being a *massive* issue. Seems fine to me.
TBH, I'd also change TBH, I'd also change `source` to something like `github-repo`, just to make it clearer in the name that the derivation comes from a GitHub checkout.
nit:
nit:
```suggestion
, name ? null # Override with null to use the default value
```
Here's a slightly different proposal: append the github base url as provenance like so: Here's a slightly different proposal: append the github base url as provenance like so: `/nix/store/wzvnh3p7gv1qlqhb3iif878bfffzrvaz-source-pypa-build-refs-tags-1.1.1-github.com.drv`. That's a good self-description, leaves the `source` that people might be used to, and generalizes unambiguously to other `fetchFrom`s. We can also put it before the `owner`.
Only potential issue I see is creating some pretty long path names, but I don't see it being a massive issue. Seems fine to me. Only potential issue I see is creating some pretty long path names, but I don't see it being a *massive* issue. Seems fine to me.
|
||||
fetcherArgs = (if useFetchGit
|
||||
then {
|
||||
inherit rev deepClone fetchSubmodules sparseCheckout; url = gitRepoUrl;
|
||||
passthru = newPassthru;
|
||||
TBH, I'd also change TBH, I'd also change `source` to something like `github-repo`, just to make it clearer in the name that the derivation comes from a GitHub checkout.
nit:
nit:
```suggestion
, name ? null # Override with null to use the default value
```
Here's a slightly different proposal: append the github base url as provenance like so: Here's a slightly different proposal: append the github base url as provenance like so: `/nix/store/wzvnh3p7gv1qlqhb3iif878bfffzrvaz-source-pypa-build-refs-tags-1.1.1-github.com.drv`. That's a good self-description, leaves the `source` that people might be used to, and generalizes unambiguously to other `fetchFrom`s. We can also put it before the `owner`.
Only potential issue I see is creating some pretty long path names, but I don't see it being a massive issue. Seems fine to me. Only potential issue I see is creating some pretty long path names, but I don't see it being a *massive* issue. Seems fine to me.
|
||||
} // lib.optionalAttrs (leaveDotGit != null) { inherit leaveDotGit; }
|
||||
else {
|
||||
url = "${baseUrl}/archive/${rev}.tar.gz";
|
||||
|
||||
passthru = {
|
||||
TBH, I'd also change TBH, I'd also change `source` to something like `github-repo`, just to make it clearer in the name that the derivation comes from a GitHub checkout.
nit:
nit:
```suggestion
, name ? null # Override with null to use the default value
```
Here's a slightly different proposal: append the github base url as provenance like so: Here's a slightly different proposal: append the github base url as provenance like so: `/nix/store/wzvnh3p7gv1qlqhb3iif878bfffzrvaz-source-pypa-build-refs-tags-1.1.1-github.com.drv`. That's a good self-description, leaves the `source` that people might be used to, and generalizes unambiguously to other `fetchFrom`s. We can also put it before the `owner`.
Only potential issue I see is creating some pretty long path names, but I don't see it being a massive issue. Seems fine to me. Only potential issue I see is creating some pretty long path names, but I don't see it being a *massive* issue. Seems fine to me.
|
||||
passthru = newPassthru // {
|
||||
TBH, I'd also change TBH, I'd also change `source` to something like `github-repo`, just to make it clearer in the name that the derivation comes from a GitHub checkout.
nit:
nit:
```suggestion
, name ? null # Override with null to use the default value
```
Here's a slightly different proposal: append the github base url as provenance like so: Here's a slightly different proposal: append the github base url as provenance like so: `/nix/store/wzvnh3p7gv1qlqhb3iif878bfffzrvaz-source-pypa-build-refs-tags-1.1.1-github.com.drv`. That's a good self-description, leaves the `source` that people might be used to, and generalizes unambiguously to other `fetchFrom`s. We can also put it before the `owner`.
Only potential issue I see is creating some pretty long path names, but I don't see it being a massive issue. Seems fine to me. Only potential issue I see is creating some pretty long path names, but I don't see it being a *massive* issue. Seems fine to me.
|
||||
inherit gitRepoUrl;
|
||||
};
|
||||
}
|
||||
) // privateAttrs // passthruAttrs // { inherit name; };
|
||||
in
|
||||
|
||||
fetcher fetcherArgs // { meta = newMeta; inherit rev owner repo; }
|
||||
TBH, I'd also change TBH, I'd also change `source` to something like `github-repo`, just to make it clearer in the name that the derivation comes from a GitHub checkout.
nit:
nit:
```suggestion
, name ? null # Override with null to use the default value
```
Here's a slightly different proposal: append the github base url as provenance like so: Here's a slightly different proposal: append the github base url as provenance like so: `/nix/store/wzvnh3p7gv1qlqhb3iif878bfffzrvaz-source-pypa-build-refs-tags-1.1.1-github.com.drv`. That's a good self-description, leaves the `source` that people might be used to, and generalizes unambiguously to other `fetchFrom`s. We can also put it before the `owner`.
Only potential issue I see is creating some pretty long path names, but I don't see it being a massive issue. Seems fine to me. Only potential issue I see is creating some pretty long path names, but I don't see it being a *massive* issue. Seems fine to me.
|
||||
(fetcher fetcherArgs).overrideAttrs (finalAttrs: previousAttrs: {
|
||||
TBH, I'd also change TBH, I'd also change `source` to something like `github-repo`, just to make it clearer in the name that the derivation comes from a GitHub checkout.
nit:
nit:
```suggestion
, name ? null # Override with null to use the default value
```
Here's a slightly different proposal: append the github base url as provenance like so: Here's a slightly different proposal: append the github base url as provenance like so: `/nix/store/wzvnh3p7gv1qlqhb3iif878bfffzrvaz-source-pypa-build-refs-tags-1.1.1-github.com.drv`. That's a good self-description, leaves the `source` that people might be used to, and generalizes unambiguously to other `fetchFrom`s. We can also put it before the `owner`.
Only potential issue I see is creating some pretty long path names, but I don't see it being a massive issue. Seems fine to me. Only potential issue I see is creating some pretty long path names, but I don't see it being a *massive* issue. Seems fine to me.
|
||||
meta = newMeta;
|
||||
TBH, I'd also change TBH, I'd also change `source` to something like `github-repo`, just to make it clearer in the name that the derivation comes from a GitHub checkout.
nit:
nit:
```suggestion
, name ? null # Override with null to use the default value
```
Here's a slightly different proposal: append the github base url as provenance like so: Here's a slightly different proposal: append the github base url as provenance like so: `/nix/store/wzvnh3p7gv1qlqhb3iif878bfffzrvaz-source-pypa-build-refs-tags-1.1.1-github.com.drv`. That's a good self-description, leaves the `source` that people might be used to, and generalizes unambiguously to other `fetchFrom`s. We can also put it before the `owner`.
Only potential issue I see is creating some pretty long path names, but I don't see it being a massive issue. Seems fine to me. Only potential issue I see is creating some pretty long path names, but I don't see it being a *massive* issue. Seems fine to me.
|
||||
})
|
||||
TBH, I'd also change TBH, I'd also change `source` to something like `github-repo`, just to make it clearer in the name that the derivation comes from a GitHub checkout.
nit:
nit:
```suggestion
, name ? null # Override with null to use the default value
```
Here's a slightly different proposal: append the github base url as provenance like so: Here's a slightly different proposal: append the github base url as provenance like so: `/nix/store/wzvnh3p7gv1qlqhb3iif878bfffzrvaz-source-pypa-build-refs-tags-1.1.1-github.com.drv`. That's a good self-description, leaves the `source` that people might be used to, and generalizes unambiguously to other `fetchFrom`s. We can also put it before the `owner`.
Only potential issue I see is creating some pretty long path names, but I don't see it being a massive issue. Seems fine to me. Only potential issue I see is creating some pretty long path names, but I don't see it being a *massive* issue. Seems fine to me.
|
||||
)
|
||||
|
|
|||
TBH, I'd also change TBH, I'd also change `source` to something like `github-repo`, just to make it clearer in the name that the derivation comes from a GitHub checkout.
nit:
nit:
```suggestion
, name ? null # Override with null to use the default value
```
Here's a slightly different proposal: append the github base url as provenance like so: Here's a slightly different proposal: append the github base url as provenance like so: `/nix/store/wzvnh3p7gv1qlqhb3iif878bfffzrvaz-source-pypa-build-refs-tags-1.1.1-github.com.drv`. That's a good self-description, leaves the `source` that people might be used to, and generalizes unambiguously to other `fetchFrom`s. We can also put it before the `owner`.
Only potential issue I see is creating some pretty long path names, but I don't see it being a massive issue. Seems fine to me. Only potential issue I see is creating some pretty long path names, but I don't see it being a *massive* issue. Seems fine to me.
TBH, I'd also change TBH, I'd also change `source` to something like `github-repo`, just to make it clearer in the name that the derivation comes from a GitHub checkout.
nit:
nit:
```suggestion
, name ? null # Override with null to use the default value
```
Here's a slightly different proposal: append the github base url as provenance like so: Here's a slightly different proposal: append the github base url as provenance like so: `/nix/store/wzvnh3p7gv1qlqhb3iif878bfffzrvaz-source-pypa-build-refs-tags-1.1.1-github.com.drv`. That's a good self-description, leaves the `source` that people might be used to, and generalizes unambiguously to other `fetchFrom`s. We can also put it before the `owner`.
Only potential issue I see is creating some pretty long path names, but I don't see it being a massive issue. Seems fine to me. Only potential issue I see is creating some pretty long path names, but I don't see it being a *massive* issue. Seems fine to me.
|
TBH, I'd also change
source
to something likegithub-repo
, just to make it clearer in the name that the derivation comes from a GitHub checkout.