diff options
author | Alyssa Ross <hi@alyssa.is> | 2019-11-24 19:58:19 +0000 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2019-12-02 22:44:33 +0000 |
commit | fe16f7d7f91317e087e96089c2a2b9bfe0ab50d0 (patch) | |
tree | 35d3d6d57e4695317544aacb4709df435912059d | |
parent | a8508f7266f245756b78557861d315e05625c6b2 (diff) |
fetchFromGitiles: init
This has the same motivation as fetchFromGitHub/fetchFromGitLab -- it's cheaper to download a tarball of a single revision than it is to download a whole history. I could have gone with domain/group/repo, like fetchFromGitLab, but it would have made implementation more difficult, and this syntax means it's a drop-in replacement for fetchgit, so I decided it wasn't worth it.
-rw-r--r-- | doc/builders/fetchers.xml | 11 | ||||
-rw-r--r-- | pkgs/build-support/fetchgitiles/default.nix | 10 | ||||
-rw-r--r-- | pkgs/top-level/all-packages.nix | 2 |
3 files changed, 23 insertions, 0 deletions
diff --git a/doc/builders/fetchers.xml b/doc/builders/fetchers.xml index ff3988334916d..f07c310dcdf1d 100644 --- a/doc/builders/fetchers.xml +++ b/doc/builders/fetchers.xml @@ -107,6 +107,17 @@ stdenv.mkDerivation { </varlistentry> <varlistentry> <term> + <literal>fetchFromGitiles</literal> + </term> + <listitem> + <para> + This is used with Gitiles repositories. The arguments expected + are similar to fetchgit. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term> <literal>fetchFromBitbucket</literal> </term> <listitem> diff --git a/pkgs/build-support/fetchgitiles/default.nix b/pkgs/build-support/fetchgitiles/default.nix new file mode 100644 index 0000000000000..827680992d69d --- /dev/null +++ b/pkgs/build-support/fetchgitiles/default.nix @@ -0,0 +1,10 @@ +{ fetchzip, lib }: + +{ url, rev, name ? "source", ... } @ args: + +fetchzip ({ + inherit name; + url = "${url}/+archive/${rev}.tar.gz"; + stripRoot = false; + meta.homepage = url; +} // removeAttrs args [ "url" "rev" ]) // { inherit rev; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 1730e1436cc40..856b4a85b7345 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -358,6 +358,8 @@ in fetchFromGitLab = callPackage ../build-support/fetchgitlab {}; + fetchFromGitiles = callPackage ../build-support/fetchgitiles {}; + fetchFromRepoOrCz = callPackage ../build-support/fetchrepoorcz {}; fetchNuGet = callPackage ../build-support/fetchnuget { }; |