fetchzip and friends: Set "name" to "source" by default

This makes them produce the same store paths as builtins.fetchgit,
builtins.fetchTarball etc. See
https://github.com/NixOS/nix/commit/65b5f177b5fbb1b0778ede047a13a3cee9c59cfe.

+7 -27
-19
pkgs/build-support/fetchgit/gitrepotoname.nix
··· 1 - { lib }: 2 - 3 - let 4 - inherit (lib) removeSuffix hasPrefix removePrefix splitString stringToCharacters concatMapStrings last elem; 5 - 6 - allowedChars = stringToCharacters "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+-._?="; 7 - sanitizeStoreName = s: 8 - let 9 - s' = concatMapStrings (c: if elem c allowedChars then c else "") (stringToCharacters s); 10 - s'' = if hasPrefix "." s' then "_${removePrefix "." s'}" else s'; 11 - in 12 - s''; 13 - in 14 - urlOrRepo: rev: 15 - let 16 - repo' = last (splitString ":" (baseNameOf (removeSuffix ".git" (removeSuffix "/" urlOrRepo)))); 17 - rev' = baseNameOf rev; 18 - in 19 - "${sanitizeStoreName repo'}-${sanitizeStoreName rev'}-src"
+2 -1
pkgs/build-support/fetchzip/default.nix
··· 11 11 stripRoot ? true 12 12 , url 13 13 , extraPostFetch ? "" 14 + , name ? "source" 14 15 , ... } @ args: 15 16 16 17 lib.overrideDerivation (fetchurl ({ 17 - name = args.name or (baseNameOf url); 18 + inherit name; 18 19 19 20 recursiveHash = true; 20 21
+5 -7
pkgs/top-level/all-packages.nix
··· 195 195 196 196 fetchzip = callPackage ../build-support/fetchzip { }; 197 197 198 - gitRepoToName = callPackage ../build-support/fetchgit/gitrepotoname.nix { }; 199 - 200 198 fetchFromGitHub = { 201 - owner, repo, rev, name ? gitRepoToName repo rev, 199 + owner, repo, rev, name ? "source", 202 200 fetchSubmodules ? false, private ? false, 203 201 githubBase ? "github.com", varPrefix ? null, 204 202 ... # For hash agility ··· 231 229 in fetcher fetcherArgs // { meta.homepage = baseUrl; inherit rev; }; 232 230 233 231 fetchFromBitbucket = { 234 - owner, repo, rev, name ? gitRepoToName repo rev, 232 + owner, repo, rev, name ? "source", 235 233 ... # For hash agility 236 234 }@args: fetchzip ({ 237 235 inherit name; ··· 242 240 243 241 # cgit example, snapshot support is optional in cgit 244 242 fetchFromSavannah = { 245 - repo, rev, name ? gitRepoToName repo rev, 243 + repo, rev, name ? "source", 246 244 ... # For hash agility 247 245 }@args: fetchzip ({ 248 246 inherit name; ··· 252 250 253 251 # gitlab example 254 252 fetchFromGitLab = { 255 - owner, repo, rev, name ? gitRepoToName repo rev, 253 + owner, repo, rev, name ? "source", 256 254 ... # For hash agility 257 255 }@args: fetchzip ({ 258 256 inherit name; ··· 262 260 263 261 # gitweb example, snapshot support is optional in gitweb 264 262 fetchFromRepoOrCz = { 265 - repo, rev, name ? gitRepoToName repo rev, 263 + repo, rev, name ? "source", 266 264 ... # For hash agility 267 265 }@args: fetchzip ({ 268 266 inherit name;