From c3255fe8ec326d2c8fe9462d49ed83aa64d3e68f Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Mon, 30 Oct 2017 17:17:07 +0100 Subject: [PATCH] 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. --- pkgs/build-support/fetchgit/gitrepotoname.nix | 19 ------------------- pkgs/build-support/fetchzip/default.nix | 3 ++- pkgs/top-level/all-packages.nix | 12 +++++------- 3 files changed, 7 insertions(+), 27 deletions(-) delete mode 100644 pkgs/build-support/fetchgit/gitrepotoname.nix diff --git a/pkgs/build-support/fetchgit/gitrepotoname.nix b/pkgs/build-support/fetchgit/gitrepotoname.nix deleted file mode 100644 index 90005b545692..000000000000 --- a/pkgs/build-support/fetchgit/gitrepotoname.nix +++ /dev/null @@ -1,19 +0,0 @@ -{ lib }: - -let - inherit (lib) removeSuffix hasPrefix removePrefix splitString stringToCharacters concatMapStrings last elem; - - allowedChars = stringToCharacters "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+-._?="; - sanitizeStoreName = s: - let - s' = concatMapStrings (c: if elem c allowedChars then c else "") (stringToCharacters s); - s'' = if hasPrefix "." s' then "_${removePrefix "." s'}" else s'; - in - s''; -in - urlOrRepo: rev: - let - repo' = last (splitString ":" (baseNameOf (removeSuffix ".git" (removeSuffix "/" urlOrRepo)))); - rev' = baseNameOf rev; - in - "${sanitizeStoreName repo'}-${sanitizeStoreName rev'}-src" diff --git a/pkgs/build-support/fetchzip/default.nix b/pkgs/build-support/fetchzip/default.nix index 751dba56930e..4a5381d71f20 100644 --- a/pkgs/build-support/fetchzip/default.nix +++ b/pkgs/build-support/fetchzip/default.nix @@ -11,10 +11,11 @@ stripRoot ? true , url , extraPostFetch ? "" +, name ? "source" , ... } @ args: lib.overrideDerivation (fetchurl ({ - name = args.name or (baseNameOf url); + inherit name; recursiveHash = true; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 69f1dfc88a41..7295ce09c239 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -195,10 +195,8 @@ with pkgs; fetchzip = callPackage ../build-support/fetchzip { }; - gitRepoToName = callPackage ../build-support/fetchgit/gitrepotoname.nix { }; - fetchFromGitHub = { - owner, repo, rev, name ? gitRepoToName repo rev, + owner, repo, rev, name ? "source", fetchSubmodules ? false, private ? false, githubBase ? "github.com", varPrefix ? null, ... # For hash agility @@ -231,7 +229,7 @@ with pkgs; in fetcher fetcherArgs // { meta.homepage = baseUrl; inherit rev; }; fetchFromBitbucket = { - owner, repo, rev, name ? gitRepoToName repo rev, + owner, repo, rev, name ? "source", ... # For hash agility }@args: fetchzip ({ inherit name; @@ -242,7 +240,7 @@ with pkgs; # cgit example, snapshot support is optional in cgit fetchFromSavannah = { - repo, rev, name ? gitRepoToName repo rev, + repo, rev, name ? "source", ... # For hash agility }@args: fetchzip ({ inherit name; @@ -252,7 +250,7 @@ with pkgs; # gitlab example fetchFromGitLab = { - owner, repo, rev, name ? gitRepoToName repo rev, + owner, repo, rev, name ? "source", ... # For hash agility }@args: fetchzip ({ inherit name; @@ -262,7 +260,7 @@ with pkgs; # gitweb example, snapshot support is optional in gitweb fetchFromRepoOrCz = { - repo, rev, name ? gitRepoToName repo rev, + repo, rev, name ? "source", ... # For hash agility }@args: fetchzip ({ inherit name;