diff --git a/pkgs/build-support/fetch9front/default.nix b/pkgs/build-support/fetch9front/default.nix index 677fee1decd77..f6fa6d29236e8 100644 --- a/pkgs/build-support/fetch9front/default.nix +++ b/pkgs/build-support/fetch9front/default.nix @@ -29,7 +29,10 @@ lib.makeOverridable ( passthru = { inherit gitRepoUrl; }; - }) // passthruAttrs // { inherit name; }; + }) + // passthruAttrs + // { inherit name; } + // { meta.repository = [ gitRepoUrl ]; }; in fetcher fetcherArgs // { inherit rev; } diff --git a/pkgs/build-support/fetchbitbucket/default.nix b/pkgs/build-support/fetchbitbucket/default.nix index 2f9103f2bb3e0..c21fdd24c77a7 100644 --- a/pkgs/build-support/fetchbitbucket/default.nix +++ b/pkgs/build-support/fetchbitbucket/default.nix @@ -7,5 +7,6 @@ lib.makeOverridable ( inherit name; url = "https://bitbucket.org/${owner}/${repo}/get/${rev}.tar.gz"; meta.homepage = "https://bitbucket.org/${owner}/${repo}/"; + meta.repository = [ "https://bitbucket.org/${owner}/${repo}/" ]; } // removeAttrs args [ "owner" "repo" "rev" ]) // { inherit rev; } ) diff --git a/pkgs/build-support/fetchbzr/default.nix b/pkgs/build-support/fetchbzr/default.nix index b7db9e9274da3..94eed7c6eea39 100644 --- a/pkgs/build-support/fetchbzr/default.nix +++ b/pkgs/build-support/fetchbzr/default.nix @@ -12,4 +12,6 @@ stdenvNoCC.mkDerivation { outputHash = sha256; inherit url rev; + + meta.repository = [ url ]; } diff --git a/pkgs/build-support/fetchcvs/default.nix b/pkgs/build-support/fetchcvs/default.nix index 43a10c3aa5529..5acb1855f3ce4 100644 --- a/pkgs/build-support/fetchcvs/default.nix +++ b/pkgs/build-support/fetchcvs/default.nix @@ -18,5 +18,7 @@ stdenvNoCC.mkDerivation { outputHash = sha256; inherit cvsRoot module sha256 tag date; + + meta.repository = [ cvsRoot ]; } ) diff --git a/pkgs/build-support/fetchdarcs/default.nix b/pkgs/build-support/fetchdarcs/default.nix index 6073efec28159..722c1154418c3 100644 --- a/pkgs/build-support/fetchdarcs/default.nix +++ b/pkgs/build-support/fetchdarcs/default.nix @@ -17,5 +17,7 @@ stdenvNoCC.mkDerivation { outputHash = sha256; inherit url rev context name; + + meta.repository = [ url ]; } ) diff --git a/pkgs/build-support/fetchfossil/default.nix b/pkgs/build-support/fetchfossil/default.nix index 3f3bf69db0477..36f4cccac15bf 100644 --- a/pkgs/build-support/fetchfossil/default.nix +++ b/pkgs/build-support/fetchfossil/default.nix @@ -30,4 +30,6 @@ stdenv.mkDerivation { inherit url rev; preferLocalBuild = true; + + meta.repository = [ url ]; } diff --git a/pkgs/build-support/fetchgit/default.nix b/pkgs/build-support/fetchgit/default.nix index 66bb3b7c09ffc..184c49c3318fc 100644 --- a/pkgs/build-support/fetchgit/default.nix +++ b/pkgs/build-support/fetchgit/default.nix @@ -101,10 +101,14 @@ stdenvNoCC.mkDerivation { ]; - inherit preferLocalBuild meta allowedRequisites; + inherit preferLocalBuild allowedRequisites; passthru = { gitRepoUrl = url; }; + + meta = { + repository = [ url ]; + } // meta; } ) diff --git a/pkgs/build-support/fetchgithub/default.nix b/pkgs/build-support/fetchgithub/default.nix index 4ce3c6e84d768..eab1904e3dd6b 100644 --- a/pkgs/build-support/fetchgithub/default.nix +++ b/pkgs/build-support/fetchgithub/default.nix @@ -19,6 +19,7 @@ let baseUrl = "https://${githubBase}/${owner}/${repo}"; newMeta = meta // { homepage = meta.homepage or baseUrl; + repository = meta.repository or [ baseUrl ]; } // lib.optionalAttrs (position != null) { # to indicate where derivation originates, similar to make-derivation.nix's mkDerivation position = "${position.file}:${toString position.line}"; diff --git a/pkgs/build-support/fetchgitiles/default.nix b/pkgs/build-support/fetchgitiles/default.nix index be81c6e8a4c21..4e4e34ac3886b 100644 --- a/pkgs/build-support/fetchgitiles/default.nix +++ b/pkgs/build-support/fetchgitiles/default.nix @@ -8,5 +8,6 @@ fetchzip ({ url = "${url}/+archive/${rev}.tar.gz"; stripRoot = false; meta.homepage = url; + meta.repository = [ url ]; } // removeAttrs args [ "url" "rev" ]) // { inherit rev; } ) diff --git a/pkgs/build-support/fetchgitlab/default.nix b/pkgs/build-support/fetchgitlab/default.nix index 749883f2365eb..33d7614b55598 100644 --- a/pkgs/build-support/fetchgitlab/default.nix +++ b/pkgs/build-support/fetchgitlab/default.nix @@ -32,5 +32,8 @@ let }) // passthruAttrs // { inherit name; }; in -fetcher fetcherArgs // { meta.homepage = "${protocol}://${domain}/${slug}/"; inherit rev owner repo; } -) +fetcher fetcherArgs // { + meta.homepage = "${protocol}://${domain}/${slug}/"; + meta.repository = [ gitRepoUrl ]; + inherit rev owner repo; +}) diff --git a/pkgs/build-support/fetchhg/default.nix b/pkgs/build-support/fetchhg/default.nix index 6af886bf09344..ec022413b59f7 100644 --- a/pkgs/build-support/fetchhg/default.nix +++ b/pkgs/build-support/fetchhg/default.nix @@ -31,4 +31,6 @@ stdenvNoCC.mkDerivation { inherit url rev; inherit preferLocalBuild; + + meta.repository = [ url ]; } diff --git a/pkgs/build-support/fetchpijul/default.nix b/pkgs/build-support/fetchpijul/default.nix index fd41cfa55355c..992f3009a03af 100644 --- a/pkgs/build-support/fetchpijul/default.nix +++ b/pkgs/build-support/fetchpijul/default.nix @@ -55,5 +55,7 @@ else inherit url change state channel; impureEnvVars = lib.fetchers.proxyImpureEnvVars; + + meta.repository = [ url ]; } ) diff --git a/pkgs/build-support/fetchrepoorcz/default.nix b/pkgs/build-support/fetchrepoorcz/default.nix index 3ac7cace0dcf7..ecb851cf05d46 100644 --- a/pkgs/build-support/fetchrepoorcz/default.nix +++ b/pkgs/build-support/fetchrepoorcz/default.nix @@ -7,4 +7,5 @@ inherit name; url = "https://repo.or.cz/${repo}.git/snapshot/${rev}.tar.gz"; meta.homepage = "https://repo.or.cz/${repo}.git/"; + meta.repository = [ "https://repo.or.cz/${repo}.git/" ]; } // removeAttrs args [ "repo" "rev" ]) // { inherit rev; } diff --git a/pkgs/build-support/fetchsavannah/default.nix b/pkgs/build-support/fetchsavannah/default.nix index e75e25fc1e70b..66a740dd74b4a 100644 --- a/pkgs/build-support/fetchsavannah/default.nix +++ b/pkgs/build-support/fetchsavannah/default.nix @@ -8,5 +8,6 @@ lib.makeOverridable ( inherit name; url = "https://git.savannah.gnu.org/cgit/${repo}.git/snapshot/${repo}-${rev}.tar.gz"; meta.homepage = "https://git.savannah.gnu.org/cgit/${repo}.git/"; + meta.repository = [ "https://git.savannah.gnu.org/cgit/${repo}.git/" ]; } // removeAttrs args [ "repo" "rev" ]) // { inherit rev; } ) diff --git a/pkgs/build-support/fetchsourcehut/default.nix b/pkgs/build-support/fetchsourcehut/default.nix index 42d437b3555e6..2692bb1e40c73 100644 --- a/pkgs/build-support/fetchsourcehut/default.nix +++ b/pkgs/build-support/fetchsourcehut/default.nix @@ -58,5 +58,6 @@ let in cases.${fetcher}.fetch cases.${fetcher}.arguments // { inherit rev; meta.homepage = "${baseUrl}"; + meta.repository = [ "${baseUrl}" ]; } ) diff --git a/pkgs/build-support/fetchsvn/default.nix b/pkgs/build-support/fetchsvn/default.nix index 41752eb55a7a8..efb15f81388cf 100644 --- a/pkgs/build-support/fetchsvn/default.nix +++ b/pkgs/build-support/fetchsvn/default.nix @@ -56,4 +56,6 @@ stdenvNoCC.mkDerivation { impureEnvVars = lib.fetchers.proxyImpureEnvVars; inherit preferLocalBuild; + + meta.repository = [ url ]; } diff --git a/pkgs/stdenv/generic/check-meta.nix b/pkgs/stdenv/generic/check-meta.nix index 502343f01fb32..03c0488151e32 100644 --- a/pkgs/stdenv/generic/check-meta.nix +++ b/pkgs/stdenv/generic/check-meta.nix @@ -318,6 +318,10 @@ let (listOf licenseType) licenseType ]; + repository = union [ + (listOf str) + str + ]; sourceProvenance = listOf attrs; maintainers = listOf (attrsOf any); # TODO use the maintainer type from lib/tests/maintainer-module.nix priority = int; @@ -461,6 +465,10 @@ let # Let's have a clean always accessible version here. name = attrs.name or "${attrs.pname}-${attrs.version}"; + # `repository` shall default to an empty list + + repository = attrs.repository or []; + # If the packager hasn't specified `outputsToInstall`, choose a default, # which is the name of `p.bin or p.out or p` along with `p.man` when # present.