diff options
Diffstat (limited to 'third_party')
19 files changed, 314 insertions, 0 deletions
diff --git a/third_party/README.md b/third_party/README.md new file mode 100644 index 000000000000..267f23469775 --- /dev/null +++ b/third_party/README.md @@ -0,0 +1,13 @@ +Third-Party Code +================ + +Code under this folder is one of the following: + +1. Externally developed dependencies which have been imported ("vendored") into + this repository. These dependencies come with their own licenses and whatever + else. + +2. Code that is developed inside of this repository, but released to an external + repository via [Copybara][]. + +[Copybara]: https://github.com/google/copybara diff --git a/third_party/default.nix b/third_party/default.nix new file mode 100644 index 000000000000..230f2a7bc1ac --- /dev/null +++ b/third_party/default.nix @@ -0,0 +1,75 @@ +# This file controls the import of external dependencies (i.e. +# third-party code) into my package tree. +# +# This includes *all packages needed from nixpkgs*. + +{ pkgs, ... }: +let + # The pinned commit here is identical to the public nixery.dev + # version, since popularity data has been generated for that. + stableCommit = "3140fa89c51233397f496f49014f6b23216667c2"; + stableSrc = fetchTarball { + url = "https://github.com/NixOS/nixpkgs-channels/archive/${stableCommit}.tar.gz"; + sha256 = "18p0d5lnfvzsyfah02mf6bi249990pfwnylwhqdh8qi70ncrk3f8"; + }; + nixpkgs = import stableSrc { + config.allowUnfree = true; + config.allowBroken = true; + }; + + exposed = { + # Inherit the packages from nixpkgs that should be available inside + # of the repo. They become available under `pkgs.third_party.<name>` + inherit (nixpkgs) + bashInteractive + buildGoPackage + cacert + cachix + cargo + coreutils + darwin + dockerTools + emacs26-nox + emacsPackagesFor + fetchFromGitHub + git + gnutar + go + google-cloud-sdk + gzip + haskell + iana-etc + jq + kontemplate + lib + lispPackages + llvmPackages + makeWrapper + mdbook + nix + openssh + openssl + protobuf + remarshal + ripgrep + rsync + runCommand + rustPlatform + rustc + sbcl + stdenv + symlinkJoin + terraform_0_12 + tree + writeShellScriptBin + writeText + writeTextFile + zlib; + }; + +in exposed // { + callPackage = nixpkgs.lib.callPackageWith exposed; + # Provide the source code of nixpkgs, but do not provide an imported + # version of it. + nixpkgsSrc = stableSrc; +} diff --git a/third_party/gopkgs/cloud.google.com/go/default.nix b/third_party/gopkgs/cloud.google.com/go/default.nix new file mode 100644 index 000000000000..d3855291a9cc --- /dev/null +++ b/third_party/gopkgs/cloud.google.com/go/default.nix @@ -0,0 +1,12 @@ +{ pkgs, ... }: + +pkgs.buildGo.external { + path = "cloud.google.com/go"; + src = builtins.fetchGit { + url = "https://code.googlesource.com/gocloud"; + rev = "4f03f8e4ba168c636e1c218da7ab41a1c8c0d8cf"; + }; + + deps = with pkgs.third_party; map (p: p.gopkg) [ + ]; +} diff --git a/third_party/gopkgs/github.com/golang/groupcache/default.nix b/third_party/gopkgs/github.com/golang/groupcache/default.nix new file mode 100644 index 000000000000..2dfa1241e9c1 --- /dev/null +++ b/third_party/gopkgs/github.com/golang/groupcache/default.nix @@ -0,0 +1,9 @@ +{ pkgs, ... }: + +pkgs.buildGo.external { + path = "github.com/golang/groupcache"; + src = builtins.fetchGit { + url = "https://github.com/golang/groupcache"; + rev = "611e8accdfc92c4187d399e95ce826046d4c8d73"; + }; +} diff --git a/third_party/gopkgs/github.com/golang/protobuf/default.nix b/third_party/gopkgs/github.com/golang/protobuf/default.nix new file mode 100644 index 000000000000..f1c54cd496eb --- /dev/null +++ b/third_party/gopkgs/github.com/golang/protobuf/default.nix @@ -0,0 +1,12 @@ +{ pkgs, ... }: + +pkgs.buildGo.external { + path = "github.com/golang/protobuf"; + src = builtins.fetchGit { + url = "https://github.com/golang/protobuf"; + rev = "ed6926b37a637426117ccab59282c3839528a700"; + }; + + deps = with pkgs.third_party; [ + ]; +} diff --git a/third_party/gopkgs/github.com/googleapis/gax-go/default.nix b/third_party/gopkgs/github.com/googleapis/gax-go/default.nix new file mode 100644 index 000000000000..fe694fdbbece --- /dev/null +++ b/third_party/gopkgs/github.com/googleapis/gax-go/default.nix @@ -0,0 +1,19 @@ +{ pkgs, ... }: + +let + inherit (pkgs) buildGo; + inherit (builtins) fetchGit; +in pkgs.buildGo.external { + path = "github.com/googleapis/gax-go"; + src = fetchGit { + url = "https://github.com/googleapis/gax-go"; + rev = "b443e5a67ec8eeac76f5f384004931878cab24b3"; + }; + + deps = with pkgs.third_party; [ + gopkgs."golang.org".x.net.trace.gopkg + gopkgs."google.golang.org".grpc.gopkg + gopkgs."google.golang.org".grpc.codes.gopkg + gopkgs."google.golang.org".grpc.status.gopkg + ]; +} diff --git a/third_party/gopkgs/github.com/hashicorp/golang-lru/default.nix b/third_party/gopkgs/github.com/hashicorp/golang-lru/default.nix new file mode 100644 index 000000000000..04efc3144d9a --- /dev/null +++ b/third_party/gopkgs/github.com/hashicorp/golang-lru/default.nix @@ -0,0 +1,14 @@ +{ pkgs, ... }: + +pkgs.buildGo.external { + path = "github.com/hashicorp/golang-lru"; + src = builtins.fetchGit { + url = "https://github.com/hashicorp/golang-lru"; + rev = "7f827b33c0f158ec5dfbba01bb0b14a4541fd81d"; + }; + + deps = with pkgs.third_party; map (p: p.gopkg) [ + gopkgs."golang.org".x.net.context.ctxhttp + gopkgs."cloud.google.com".go.compute.metadata + ]; +} diff --git a/third_party/gopkgs/go.opencensus.io/default.nix b/third_party/gopkgs/go.opencensus.io/default.nix new file mode 100644 index 000000000000..4cab5e5dceba --- /dev/null +++ b/third_party/gopkgs/go.opencensus.io/default.nix @@ -0,0 +1,14 @@ +{ pkgs, ... }: + +pkgs.buildGo.external { + path = "go.opencensus.io"; + src = builtins.fetchGit { + url = "https://github.com/census-instrumentation/opencensus-go"; + rev = "643eada29081047b355cfaa1ceb9bc307a10423c"; + }; + + deps = with pkgs.third_party; map (p: p.gopkg) [ + gopkgs."github.com".hashicorp.golang-lru.simplelru + gopkgs."github.com".golang.groupcache.lru + ]; +} diff --git a/third_party/gopkgs/golang.org/x/net/default.nix b/third_party/gopkgs/golang.org/x/net/default.nix new file mode 100644 index 000000000000..400ba6922b58 --- /dev/null +++ b/third_party/gopkgs/golang.org/x/net/default.nix @@ -0,0 +1,15 @@ +{ pkgs, ... }: + +pkgs.buildGo.external { + path = "golang.org/x/net"; + src = builtins.fetchGit { + url = "https://go.googlesource.com/net"; + rev = "c0dbc17a35534bf2e581d7a942408dc936316da4"; + }; + + deps = with pkgs.third_party; [ + gopkgs."golang.org".x.text.secure.bidirule.gopkg + gopkgs."golang.org".x.text.unicode.bidi.gopkg + gopkgs."golang.org".x.text.unicode.norm.gopkg + ]; +} diff --git a/third_party/gopkgs/golang.org/x/oauth2/default.nix b/third_party/gopkgs/golang.org/x/oauth2/default.nix new file mode 100644 index 000000000000..f5e783b6d189 --- /dev/null +++ b/third_party/gopkgs/golang.org/x/oauth2/default.nix @@ -0,0 +1,14 @@ +{ pkgs, ... }: + +pkgs.buildGo.external { + path = "golang.org/x/oauth2"; + src = builtins.fetchGit { + url = "https://go.googlesource.com/oauth2"; + rev = "858c2ad4c8b6c5d10852cb89079f6ca1c7309787"; + }; + + deps = with pkgs.third_party; map (p: p.gopkg) [ + gopkgs."golang.org".x.net.context.ctxhttp + gopkgs."cloud.google.com".go.compute.metadata + ]; +} diff --git a/third_party/gopkgs/golang.org/x/sys/default.nix b/third_party/gopkgs/golang.org/x/sys/default.nix new file mode 100644 index 000000000000..037116009962 --- /dev/null +++ b/third_party/gopkgs/golang.org/x/sys/default.nix @@ -0,0 +1,12 @@ +{ pkgs, ... }: + +pkgs.buildGo.external { + path = "golang.org/x/sys"; + src = builtins.fetchGit { + url = "https://go.googlesource.com/sys"; + rev = "ac6580df4449443a05718fd7858c1f91ad5f8d20"; + }; + + deps = with pkgs.third_party; [ + ]; +} diff --git a/third_party/gopkgs/golang.org/x/text/default.nix b/third_party/gopkgs/golang.org/x/text/default.nix new file mode 100644 index 000000000000..409b0d0b9e2e --- /dev/null +++ b/third_party/gopkgs/golang.org/x/text/default.nix @@ -0,0 +1,12 @@ +{ pkgs, ... }: + +pkgs.buildGo.external { + path = "golang.org/x/text"; + src = builtins.fetchGit { + url = "https://go.googlesource.com/text"; + rev = "cbf43d21aaebfdfeb81d91a5f444d13a3046e686"; + }; + + deps = with pkgs.third_party; [ + ]; +} diff --git a/third_party/gopkgs/google.golang.org/api/default.nix b/third_party/gopkgs/google.golang.org/api/default.nix new file mode 100644 index 000000000000..a4e7339a3f8a --- /dev/null +++ b/third_party/gopkgs/google.golang.org/api/default.nix @@ -0,0 +1,20 @@ +{ pkgs, ... }: + +pkgs.buildGo.external { + path = "google.golang.org/api"; + src = builtins.fetchGit { + url = "https://code.googlesource.com/google-api-go-client"; + rev = "8b4e46d953bd748a9ff098644a42389b3d8dab41"; + }; + + deps = with pkgs.third_party; map (p: p.gopkg) [ + gopkgs."github.com".googleapis.gax-go.v2 + gopkgs."golang.org".x.oauth2.google + gopkgs."golang.org".x.oauth2 + gopkgs."google.golang.org".grpc + gopkgs."google.golang.org".grpc.naming + gopkgs."go.opencensus.io".plugin.ochttp + gopkgs."go.opencensus.io".trace + gopkgs."go.opencensus.io".trace.propagation + ]; +} diff --git a/third_party/gopkgs/google.golang.org/genproto/default.nix b/third_party/gopkgs/google.golang.org/genproto/default.nix new file mode 100644 index 000000000000..50280296b84d --- /dev/null +++ b/third_party/gopkgs/google.golang.org/genproto/default.nix @@ -0,0 +1,14 @@ +{ pkgs, ... }: + +pkgs.buildGo.external { + path = "google.golang.org/genproto"; + src = builtins.fetchGit { + url = "https://github.com/google/go-genproto"; + rev = "0243a4be9c8f1264d238fdc2895620b4d9baf9e1"; + }; + + deps = with pkgs.third_party; [ + gopkgs."github.com".golang.protobuf.proto.gopkg + gopkgs."github.com".golang.protobuf.ptypes.any.gopkg + ]; +} diff --git a/third_party/gopkgs/google.golang.org/grpc/default.nix b/third_party/gopkgs/google.golang.org/grpc/default.nix new file mode 100644 index 000000000000..badc811c9fa8 --- /dev/null +++ b/third_party/gopkgs/google.golang.org/grpc/default.nix @@ -0,0 +1,21 @@ +{ pkgs, ... }: + +pkgs.buildGo.external { + path = "google.golang.org/grpc"; + src = builtins.fetchGit { + url = "https://github.com/grpc/grpc-go"; + rev = "085c980048876e2735d4aba8f0d5bca4d7acaaa5"; + }; + + deps = with pkgs.third_party; map (p: p.gopkg) [ + gopkgs."golang.org".x.net.trace + gopkgs."golang.org".x.net.http2 + gopkgs."golang.org".x.net.http2.hpack + gopkgs."golang.org".x.sys.unix + gopkgs."github.com".golang.protobuf.proto + gopkgs."github.com".golang.protobuf.ptypes + gopkgs."github.com".golang.protobuf.ptypes.duration + gopkgs."github.com".golang.protobuf.ptypes.timestamp + gopkgs."google.golang.org".genproto.googleapis.rpc.status + ]; +} diff --git a/third_party/naersk/default.nix b/third_party/naersk/default.nix new file mode 100644 index 000000000000..918f0c5c0f55 --- /dev/null +++ b/third_party/naersk/default.nix @@ -0,0 +1,9 @@ +{ pkgs, ... }: + +let inherit (pkgs.third_party) callPackage fetchFromGitHub; +in callPackage (fetchFromGitHub { + owner = "nmattia"; + repo = "naersk"; + rev = "68c1c2b2b661913cdc5ecabea518dfdc4f449027"; + sha256 = "1ll310pl44kdbwfslzwvg2v7khf1y0xkg2j5wcfia4k7sj6bcl28"; +}) {} diff --git a/third_party/nixery/default.nix b/third_party/nixery/default.nix new file mode 100644 index 000000000000..b4c083765184 --- /dev/null +++ b/third_party/nixery/default.nix @@ -0,0 +1,18 @@ +# Technically I suppose Nixery is not a third-party program, but it's +# outside of this repository ... +{ pkgs, ... }: + +let src = pkgs.third_party.fetchFromGitHub { + owner = "google"; + repo = "nixery"; + rev = "4f6ce83f9296545d6c74321b37d18545764c8827"; + sha256 = "19aiak1pss6vwm0fwn02827l5ir78fkqglfbdl2gchsyv3gps8bg"; +}; +in import src { + pkgs = pkgs.third_party; + preLaunch = '' + export USER=root + cachix use tazjin + ''; + extraPackages = [ pkgs.third_party.cachix ]; +} diff --git a/third_party/ormolu/default.nix b/third_party/ormolu/default.nix new file mode 100644 index 000000000000..eed5c7981e43 --- /dev/null +++ b/third_party/ormolu/default.nix @@ -0,0 +1,8 @@ +{ pkgs, ... }: + +import (pkgs.third_party.fetchFromGitHub { + owner = "tweag"; + repo = "ormolu"; + rev = "a7076c0f83e5c06ea9067b71171859fa2ba8afd9"; + sha256 = "1p4n2ja4ciw3qfskn65ggpy37mvgf2sslxqmqn8s8jjarnqcyfny"; +}) { pkgs = pkgs.third_party; } diff --git a/third_party/terraform-gcp/default.nix b/third_party/terraform-gcp/default.nix new file mode 100644 index 000000000000..465b74e4e1b9 --- /dev/null +++ b/third_party/terraform-gcp/default.nix @@ -0,0 +1,3 @@ +{ pkgs, ... }: + +pkgs.third_party.terraform_0_12.withPlugins(p: [ p.google p.google-beta ]) |