From fe16f7d7f91317e087e96089c2a2b9bfe0ab50d0 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Sun, 24 Nov 2019 19:58:19 +0000 Subject: 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. --- doc/builders/fetchers.xml | 11 +++++++++++ pkgs/build-support/fetchgitiles/default.nix | 10 ++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 3 files changed, 23 insertions(+) create mode 100644 pkgs/build-support/fetchgitiles/default.nix diff --git a/doc/builders/fetchers.xml b/doc/builders/fetchers.xml index ff398833491..f07c310dcdf 100644 --- a/doc/builders/fetchers.xml +++ b/doc/builders/fetchers.xml @@ -105,6 +105,17 @@ stdenv.mkDerivation { + + + fetchFromGitiles + + + + This is used with Gitiles repositories. The arguments expected + are similar to fetchgit. + + + fetchFromBitbucket diff --git a/pkgs/build-support/fetchgitiles/default.nix b/pkgs/build-support/fetchgitiles/default.nix new file mode 100644 index 00000000000..827680992d6 --- /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 1730e1436cc..856b4a85b73 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 { }; -- cgit 1.4.1 From a8e63e4f74bfd96ec7a840c6d4d7be098a1ea1d8 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Mon, 2 Dec 2019 22:29:40 +0000 Subject: treewide: fetchgit -> fetchFromGitiles This is only the easy cases -- some fetchgit uses that point to Gitiles instances are in generated code, where the generating code would have to know in advance if it was fetching from Gitiles or not. I don't think this is worth it. --- pkgs/applications/misc/redis-desktop-manager/default.nix | 11 ++++++----- pkgs/development/python-modules/gyp/default.nix | 6 +++--- pkgs/os-specific/linux/chromium-xorg-conf/default.nix | 4 ++-- pkgs/tools/security/chaps/default.nix | 16 +++++++++------- pkgs/tools/system/minijail/default.nix | 4 ++-- pkgs/tools/system/vboot_reference/default.nix | 6 +++--- 6 files changed, 25 insertions(+), 22 deletions(-) diff --git a/pkgs/applications/misc/redis-desktop-manager/default.nix b/pkgs/applications/misc/redis-desktop-manager/default.nix index 25f9c6ed4c7..71d79b88f44 100644 --- a/pkgs/applications/misc/redis-desktop-manager/default.nix +++ b/pkgs/applications/misc/redis-desktop-manager/default.nix @@ -1,11 +1,11 @@ -{ stdenv, lib, fetchgit, pkgconfig, libssh2 +{ stdenv, lib, fetchFromGitHub, fetchFromGitiles, pkgconfig, libssh2 , qtbase, qtdeclarative, qtgraphicaleffects, qtimageformats, qtquickcontrols , qtsvg, qttools, qtquick1, qtcharts , qmake }: let - breakpad_lss = fetchgit { + breakpad_lss = fetchFromGitiles { url = "https://chromium.googlesource.com/linux-syscall-support"; rev = "08056836f2b4a5747daff75435d10d649bed22f6"; sha256 = "1ryshs2nyxwa0kn3rlbnd5b3fhna9vqm560yviddcfgdm2jyg0hz"; @@ -17,10 +17,11 @@ stdenv.mkDerivation rec { pname = "redis-desktop-manager"; version = "0.9.1"; - src = fetchgit { - url = "https://github.com/uglide/RedisDesktopManager.git"; + src = fetchFromGitHub { + owner = "uglide"; + repo = "RedisDesktopManager"; fetchSubmodules = true; - rev = "refs/tags/${version}"; + rev = version; sha256 = "0yd4i944d4blw8jky0nxl7sfkkj975q4d328rdcbhizwvf6dx81f"; }; diff --git a/pkgs/development/python-modules/gyp/default.nix b/pkgs/development/python-modules/gyp/default.nix index 3cd89a7d0e1..db828eb222d 100644 --- a/pkgs/development/python-modules/gyp/default.nix +++ b/pkgs/development/python-modules/gyp/default.nix @@ -1,6 +1,6 @@ { stdenv , buildPythonPackage -, fetchgit +, fetchFromGitiles , isPy3k }: @@ -9,8 +9,8 @@ buildPythonPackage { version = "2015-06-11"; disabled = isPy3k; - src = fetchgit { - url = "https://chromium.googlesource.com/external/gyp.git"; + src = fetchFromGitiles { + url = "https://chromium.googlesource.com/external/gyp"; rev = "fdc7b812f99e48c00e9a487bd56751bbeae07043"; sha256 = "1imgxsl4mr1662vsj2mlnpvvrbz71yk00w8p85vi5bkgmc6awgiz"; }; diff --git a/pkgs/os-specific/linux/chromium-xorg-conf/default.nix b/pkgs/os-specific/linux/chromium-xorg-conf/default.nix index 58038923890..d9608650ed9 100644 --- a/pkgs/os-specific/linux/chromium-xorg-conf/default.nix +++ b/pkgs/os-specific/linux/chromium-xorg-conf/default.nix @@ -1,6 +1,6 @@ -{fetchgit }: +{ fetchFromGitiles }: -fetchgit { +fetchFromGitiles { name = "chromium-xorg-conf"; url = "https://chromium.googlesource.com/chromiumos/platform/xorg-conf"; rev = "26fb9d57e195c7e467616b35b17e2b5d279c1514"; diff --git a/pkgs/tools/security/chaps/default.nix b/pkgs/tools/security/chaps/default.nix index e81567c3ed8..c8ee9506968 100644 --- a/pkgs/tools/security/chaps/default.nix +++ b/pkgs/tools/security/chaps/default.nix @@ -1,9 +1,10 @@ -{ stdenv, fetchgit, fetchurl, trousers, leveldb, unzip, scons, pkgconfig -, glib, dbus_cplusplus, dbus, protobuf, openssl, snappy, pam }: +{ stdenv, fetchFromGitiles, fetchFromGitHub, fetchurl, trousers, leveldb, unzip +, scons, pkgconfig, glib, dbus_cplusplus, dbus, protobuf, openssl, snappy, pam +}: let - src_chromebase = fetchgit { - url = "https://chromium.googlesource.com/chromium/src/base.git"; + src_chromebase = fetchFromGitiles { + url = "https://chromium.googlesource.com/chromium/src/base"; rev = "2dfe404711e15e24e79799516400c61b2719d7af"; sha256 = "2bd93a3ace4b6767db2c1bd1e16f426c97b8d2133a9cb15f8372b2516cfa65c5"; }; @@ -13,7 +14,7 @@ let sha256 = "0nq98cpnv2jsx2byp4ilam6kydcnziflkc16ikydajmp4mcvpz16"; }; - src_platform2 = fetchgit { + src_platform2 = fetchFromGitiles { url = "https://chromium.googlesource.com/chromiumos/platform2"; rev = "e999e989eaa71c3db7314fc7b4e20829b2b5473b"; sha256 = "15n1bsv6r7cny7arx0hdb223xzzbk7vkxg2r7xajhl4nsj39adjh"; @@ -25,8 +26,9 @@ stdenv.mkDerivation rec { name = "chaps-0.42-6812"; version = "0.42-6812"; - src = fetchgit { - url = "https://github.com/google/chaps-linux"; + src = fetchFromGitHub { + owner = "google"; + repo = "chaps-linux"; rev = "989aadc45cdb216ca35b0c97d13fc691576fa1d7"; sha256 = "0chk6pnn365d5kcz6vfqx1d0383ksk97icc0lzg0vvb0kvyj0ff1"; }; diff --git a/pkgs/tools/system/minijail/default.nix b/pkgs/tools/system/minijail/default.nix index 74f0a84716a..3291efa9618 100644 --- a/pkgs/tools/system/minijail/default.nix +++ b/pkgs/tools/system/minijail/default.nix @@ -1,11 +1,11 @@ -{ stdenv, fetchgit, libcap }: +{ stdenv, fetchFromGitiles, libcap }: stdenv.mkDerivation rec { shortname = "minijail"; name = "${shortname}-${version}"; version = "android-9.0.0_r3"; - src = fetchgit { + src = fetchFromGitiles { url = "https://android.googlesource.com/platform/external/minijail"; rev = version; sha256 = "1g1g52s3q61amcnx8cv1332sbixpck1bmjzgsrjiw5ix7chrzkp2"; diff --git a/pkgs/tools/system/vboot_reference/default.nix b/pkgs/tools/system/vboot_reference/default.nix index 0bf8a7e85dc..bce6d0c4185 100644 --- a/pkgs/tools/system/vboot_reference/default.nix +++ b/pkgs/tools/system/vboot_reference/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchgit, pkgconfig, libuuid, openssl, libyaml, lzma }: +{ stdenv, fetchFromGitiles, pkgconfig, libuuid, openssl, libyaml, lzma }: stdenv.mkDerivation rec { version = "20180311"; @@ -6,8 +6,8 @@ stdenv.mkDerivation rec { pname = "vboot_reference"; - src = fetchgit { - url = https://chromium.googlesource.com/chromiumos/platform/vboot_reference; + src = fetchFromGitiles { + url = "https://chromium.googlesource.com/chromiumos/platform/vboot_reference"; rev = checkout; sha256 = "1zja4ma6flch08h5j2l1hqnxmw2xwylidnddxxd5y2x05dai9ddj"; }; -- cgit 1.4.1