at master 3.7 kB view raw
1{ 2 stdenv, 3 buildPlatform, 4 hostPlatform, 5 callPackage, 6 fetchgit, 7 fetchurl, 8 writeText, 9 runCommand, 10 darwin, 11 writeShellScriptBin, 12 depot_toolsCommit ? "7d95eb2eb054447592585c73a8ff7adad97ecba1", 13 depot_toolsHash ? "sha256-F7KDuVg11qLKkohIjuXpNdxpnSsT6Z3hE9+wFIG2sSk=", 14 cipdCommit ? "89ada246fcbf10f330011e4991d017332af2365b", 15 cipdHashes ? { 16 "linux-386" = "7f264198598af2ef9d8878349d33c1940f1f3739e46d986962c352ec4cce2690"; 17 "linux-amd64" = "2ada6b46ad1cd1350522c5c05899d273f5c894c7665e30104e7f57084a5aeeb9"; 18 "linux-arm64" = "96eca7e49f6732c50122b94b793c3a5e62ed77bce1686787a8334906791b4168"; 19 "linux-armv6l" = "06394601130652c5e1b055a7e4605c21fc7c6643af0b3b3cac8d2691491afa81"; 20 "linux-mips64" = "f3eda6542b381b7aa8f582698498b0e197972c894590ec35f18faa467c868f5c"; 21 "linux-mips64le" = "74229ada8e2afd9c8e7c58991126869b2880547780d4a197a27c1dfa96851622"; 22 "linux-mipsle" = "2f3c18ec0ad48cd44a9ff39bb60e9afded83ca43fb9c7a5ea9949f6fdd4e1394"; 23 "linux-ppc64" = "79425c0795fb8ba12b39a8856bf7ccb853e85def4317aa6413222f307d4c2dbd"; 24 "linux-ppc64le" = "f9b3d85dde70f1b78cd7a41d2477834c15ac713a59317490a4cdac9f8f092325"; 25 "linux-riscv64" = "bd695164563a66e8d3799e8835f90a398fbae9a4eec24e876c92d5f213943482"; 26 "linux-s390x" = "6f501af80541e733fda23b4208a21ea05919c95d236036a2121e6b6334a2792c"; 27 "macos-amd64" = "41d05580c0014912d6c32619c720646fd136e4557c9c7d7571ecc8c0462733a1"; 28 "macos-arm64" = "dc672bd16d9faf277dd562f1dc00644b10c03c5d838d3cc3d3ea29925d76d931"; 29 "windows-386" = "fa6ed0022a38ffc51ff8a927e3947fe7e59a64b2019dcddca9d3afacf7630444"; 30 "windows-amd64" = "b5423e4b4429837f7fe4d571ce99c068aa0ccb37ddbebc1978a423fd2b0086df"; 31 }, 32}: 33let 34 constants = callPackage ./constants.nix { platform = buildPlatform; }; 35 host-constants = callPackage ./constants.nix { platform = hostPlatform; }; 36 stdenv-constants = callPackage ./constants.nix { platform = stdenv.hostPlatform; }; 37in 38{ 39 depot_tools = fetchgit { 40 url = "https://chromium.googlesource.com/chromium/tools/depot_tools.git"; 41 rev = depot_toolsCommit; 42 hash = depot_toolsHash; 43 }; 44 45 cipd = 46 let 47 unwrapped = 48 runCommand "cipd-${cipdCommit}" 49 { 50 src = fetchurl { 51 name = "cipd-${cipdCommit}-unwrapped"; 52 url = "https://chrome-infra-packages.appspot.com/client?platform=${stdenv-constants.platform}&version=git_revision:${cipdCommit}"; 53 sha256 = cipdHashes.${stdenv-constants.platform}; 54 }; 55 } 56 '' 57 mkdir -p $out/bin 58 install -m755 $src $out/bin/cipd 59 ''; 60 in 61 writeShellScriptBin "cipd" '' 62 params=$@ 63 64 if [[ "$1" == "ensure" ]]; then 65 shift 1 66 params="ensure" 67 68 while [ "$#" -ne 0 ]; do 69 if [[ "$1" == "-ensure-file" ]]; then 70 ensureFile="$2" 71 shift 2 72 params="$params -ensure-file $ensureFile" 73 74 sed -i 's/''${platform}/${host-constants.platform}/g' "$ensureFile" 75 sed -i 's/gn\/gn\/${stdenv-constants.platform}/gn\/gn\/${constants.platform}/g' "$ensureFile" 76 77 if grep flutter/java/openjdk "$ensureFile" >/dev/null; then 78 sed -i '/src\/flutter\/third_party\/java\/openjdk/,+2 d' "$ensureFile" 79 fi 80 else 81 params="$params $1" 82 shift 1 83 fi 84 done 85 fi 86 87 exec ${unwrapped}/bin/cipd $params 88 ''; 89 90 vpython = 91 pythonPkg: 92 runCommand "vpython3" { } "mkdir -p $out/bin && ln -s ${pythonPkg}/bin/python $out/bin/vpython3"; 93 94 xcode-select = writeShellScriptBin "xcode-select" '' 95 echo ${darwin.xcode}/Contents/Developer 96 ''; 97}