about summary refs log tree commit diff
path: root/pkgs/development/tools
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/tools')
-rw-r--r--pkgs/development/tools/analysis/include-what-you-use/default.nix6
-rw-r--r--pkgs/development/tools/build-managers/bazel/default.nix2
-rw-r--r--pkgs/development/tools/build-managers/gradle/default.nix10
-rw-r--r--pkgs/development/tools/cargo-web/default.nix8
-rw-r--r--pkgs/development/tools/cask/default.nix6
-rw-r--r--pkgs/development/tools/continuous-integration/fly/default.nix6
-rw-r--r--pkgs/development/tools/continuous-integration/jenkins/default.nix4
-rw-r--r--pkgs/development/tools/misc/lsof/darwin-dfile.patch12
-rw-r--r--pkgs/development/tools/misc/lsof/default.nix32
-rw-r--r--pkgs/development/tools/misc/one_gadget/Gemfile.lock6
-rw-r--r--pkgs/development/tools/misc/one_gadget/gemset.nix8
-rw-r--r--pkgs/development/tools/ocaml/utop/default.nix8
-rw-r--r--pkgs/development/tools/pigeon/default.nix22
-rw-r--r--pkgs/development/tools/pigeon/deps.nix66
-rw-r--r--pkgs/development/tools/rust/cargo-bloat/default.nix6
-rw-r--r--pkgs/development/tools/rust/maturin/default.nix (renamed from pkgs/development/tools/rust/pyo3-pack/default.nix)12
-rw-r--r--pkgs/development/tools/yq-go/default.nix31
-rw-r--r--pkgs/development/tools/yq-go/deps.nix57
18 files changed, 228 insertions, 74 deletions
diff --git a/pkgs/development/tools/analysis/include-what-you-use/default.nix b/pkgs/development/tools/analysis/include-what-you-use/default.nix
index fabd4dc03e58f..c05d47e396cf6 100644
--- a/pkgs/development/tools/analysis/include-what-you-use/default.nix
+++ b/pkgs/development/tools/analysis/include-what-you-use/default.nix
@@ -3,10 +3,10 @@
 stdenv.mkDerivation rec {
   pname = "include-what-you-use";
   # Also bump llvmPackages in all-packages.nix to the supported version!
-  version = "0.10";
+  version = "0.12";
 
   src = fetchurl {
-    sha256 = "16alan9rwbhpyfxmlpc7gbfnbqd877wdqrkvgqrjb1jlqkzpg55s";
+    sha256 = "09b0h704fh7r4f5h92p5997cj3zk1v04bqp4jk1j1f6cmfq2z2d5";
     url = "${meta.homepage}/downloads/${pname}-${version}.src.tar.gz";
   };
 
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
 
   postInstall = ''
     substituteInPlace $out/bin/iwyu_tool.py \
-      --replace "['include-what-you-use']" "['$out/bin/include-what-you-use']"
+      --replace "'include-what-you-use'" "'$out/bin/include-what-you-use'"
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/tools/build-managers/bazel/default.nix b/pkgs/development/tools/build-managers/bazel/default.nix
index a7da68da54404..2940542454743 100644
--- a/pkgs/development/tools/build-managers/bazel/default.nix
+++ b/pkgs/development/tools/build-managers/bazel/default.nix
@@ -512,6 +512,8 @@ stdenv.mkDerivation rec {
     # The templates get tar’d up into a .jar,
     # so nix can’t detect python is needed in the runtime closure
     echo "${python3}" >> $out/nix-support/depends
+  '' + lib.optionalString stdenv.isDarwin ''
+    echo "${cctools}" >> $out/nix-support/depends
   '';
 
   dontStrip = true;
diff --git a/pkgs/development/tools/build-managers/gradle/default.nix b/pkgs/development/tools/build-managers/gradle/default.nix
index 3a737f6f3b3f7..5e01438844c6d 100644
--- a/pkgs/development/tools/build-managers/gradle/default.nix
+++ b/pkgs/development/tools/build-managers/gradle/default.nix
@@ -51,15 +51,15 @@ rec {
     };
   };
 
-  gradle_latest = gradle_5_3;
+  gradle_latest = gradle_5_6;
 
-  gradle_5_3 = gradleGen rec {
-    name = "gradle-5.3.1";
-    nativeVersion = "0.17";
+  gradle_5_6 = gradleGen rec {
+    name = "gradle-5.6.1";
+    nativeVersion = "0.18";
 
     src = fetchurl {
       url = "http://services.gradle.org/distributions/${name}-bin.zip";
-      sha256 = "0dkl6f17zl9pc6y2xm8xqz23x53fck4p2648vpq8572f0mxa2n8w";
+      sha256 = "04pccfcry5c59xwm6rr4r3baanwbfr5yrwhxv4r5v8z4414291h9";
     };
   };
 
diff --git a/pkgs/development/tools/cargo-web/default.nix b/pkgs/development/tools/cargo-web/default.nix
index fa45ba689dfea..7ed75d3f6e69c 100644
--- a/pkgs/development/tools/cargo-web/default.nix
+++ b/pkgs/development/tools/cargo-web/default.nix
@@ -4,16 +4,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-web";
-  version = "0.6.25";
+  version = "0.6.26";
 
   src = fetchFromGitHub {
     owner = "koute";
     repo = pname;
     rev = version;
-    sha256 = "0q77bryc7ap8gb4rzp9xk8ngqwxh106qn7899g30lwxycnyii0mf";
+    sha256 = "1dl5brj5fnmxmwl130v36lvy4j64igdpdvjwmxw3jgg2c6r6b7cd";
   };
 
-  cargoSha256 = "1f4sj260q4rlzbajwimya1yhh90hmmbhr47yfg9i8xcv5cg0cqjn";
+  cargoSha256 = "1cbyy9rc33f69hbs0ff00v0v3p92f3lqq8ma5aqid5dm6d8l2dx5";
 
   nativeBuildInputs = [ openssl perl pkgconfig ];
   buildInputs = stdenv.lib.optionals stdenv.isDarwin [ CoreServices Security ];
@@ -22,7 +22,7 @@ rustPlatform.buildRustPackage rec {
     description = "A Cargo subcommand for the client-side Web";
     homepage = https://github.com/koute/cargo-web;
     license = with licenses; [ asl20 /* or */ mit ];
-    maintainers = [ maintainers.kevincox ];
+    maintainers = with maintainers; [ kevincox ];
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/tools/cask/default.nix b/pkgs/development/tools/cask/default.nix
index b245084fe9357..8ec2552aeffb8 100644
--- a/pkgs/development/tools/cask/default.nix
+++ b/pkgs/development/tools/cask/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, python, emacsPackagesNg }:
+{ stdenv, fetchurl, python, emacsPackages }:
 
 stdenv.mkDerivation rec {
   pname = "cask";
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
   };
 
   doCheck = true;
-  buildInputs = with emacsPackagesNg; [
+  buildInputs = with emacsPackages; [
     s f dash ansi ecukes servant ert-runner el-mock
     noflet ert-async shell-split-string git package-build
   ];
@@ -44,5 +44,5 @@ stdenv.mkDerivation rec {
     maintainers = [ maintainers.flexw ];
   };
 
-  nativeBuildInputs = [ emacsPackagesNg.emacs python ];
+  nativeBuildInputs = [ emacsPackages.emacs python ];
 }
diff --git a/pkgs/development/tools/continuous-integration/fly/default.nix b/pkgs/development/tools/continuous-integration/fly/default.nix
index 47af70b37029e..3f394472c40f6 100644
--- a/pkgs/development/tools/continuous-integration/fly/default.nix
+++ b/pkgs/development/tools/continuous-integration/fly/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "fly";
-  version = "5.3.0";
+  version = "5.4.1";
 
   src = fetchFromGitHub {
     owner = "concourse";
     repo = "concourse";
     rev = "v${version}";
-    sha256 = "06ns98k47nafhkkj7gkmxp7msn4ssypyss6ll0fm6380vq2cavnj";
+    sha256 = "15lkhdvxqcryn5k7qflkby666ddj66gpqzga13yxjgjjp7zx2mi3";
   };
 
-  modSha256 = "11rnlmn5hp9nsgkmd716dsjmkr273035j9gzfhjxjsfpiax60i0a";
+  modSha256 = "0wz0v7w2di23cvqpg35zzqs2hvsbjgcrl7pr90ymmpsspq97fkf7";
 
   subPackages = [ "fly" ];
 
diff --git a/pkgs/development/tools/continuous-integration/jenkins/default.nix b/pkgs/development/tools/continuous-integration/jenkins/default.nix
index da237a15a5d5d..26647370821a0 100644
--- a/pkgs/development/tools/continuous-integration/jenkins/default.nix
+++ b/pkgs/development/tools/continuous-integration/jenkins/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "jenkins";
-  version = "2.176.2";
+  version = "2.176.3";
 
   src = fetchurl {
     url = "http://mirrors.jenkins.io/war-stable/${version}/jenkins.war";
-    sha256 = "19chl7dq25hjn73qgx5cd4azs68kg16r30zx563rrppq3hbc79ik";
+    sha256 = "18wsggb4fhlacpxpxkd04zwj56gqjccrbkhs35vkyixwwazcf1ll";
   };
 
   buildCommand = ''
diff --git a/pkgs/development/tools/misc/lsof/darwin-dfile.patch b/pkgs/development/tools/misc/lsof/darwin-dfile.patch
deleted file mode 100644
index 9952228e613a2..0000000000000
--- a/pkgs/development/tools/misc/lsof/darwin-dfile.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -Naur a/dialects/darwin/libproc/dfile.c b/dialects/darwin/libproc/dfile.c
---- a/dialects/darwin/libproc/dfile.c	2018-02-14 09:28:06.000000000 -0500
-+++ b/dialects/darwin/libproc/dfile.c	2018-04-16 18:52:40.828715293 -0400
-@@ -43,7 +43,7 @@
- #include "lsof.h"
- 
- #if	defined(PROC_FP_GUARDED)
--#extern	struct pff_tab	Pgf_tab[];
-+extern	struct pff_tab	Pgf_tab[];
- #endif	/* defined(PROC_FP_GUARDED) */
- 
- 
diff --git a/pkgs/development/tools/misc/lsof/default.nix b/pkgs/development/tools/misc/lsof/default.nix
index d55dd65e5f120..98acccb252a38 100644
--- a/pkgs/development/tools/misc/lsof/default.nix
+++ b/pkgs/development/tools/misc/lsof/default.nix
@@ -1,34 +1,22 @@
-{ stdenv, fetchurl, buildPackages, ncurses }:
+{ stdenv, fetchFromGitHub, buildPackages, ncurses }:
 
 let dialect = with stdenv.lib; last (splitString "-" stdenv.hostPlatform.system); in
 
 stdenv.mkDerivation rec {
   pname = "lsof";
-  version = "4.91";
+  version = "4.93.2";
 
   depsBuildBuild = [ buildPackages.stdenv.cc ];
   buildInputs = [ ncurses ];
 
-  src = fetchurl {
-    urls = ["https://fossies.org/linux/misc/lsof_${version}.tar.bz2"] ++ # Mirrors seem to be down...
-      ["ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/lsof_${version}.tar.bz2"]
-      ++ map (
-        # the tarball is moved after new version is released
-        isOld: "ftp://sunsite.ualberta.ca/pub/Mirror/lsof/"
-        + "${stdenv.lib.optionalString isOld "OLD/"}lsof_${version}.tar.bz2"
-      ) [ false true ]
-      ++ map (
-        # the tarball is moved after new version is released
-        isOld: "http://www.mirrorservice.org/sites/lsof.itap.purdue.edu/pub/tools/unix/lsof/"
-        + "${stdenv.lib.optionalString isOld "OLD/"}lsof_${version}.tar.bz2"
-      ) [ false true ]
-      ;
-    sha256 = "18sh4hbl9jw2szkf0gvgan8g13f3g4c6s2q9h3zq5gsza9m99nn9";
+  src = fetchFromGitHub {
+    owner = "lsof-org";
+    repo = "lsof";
+    rev = "${version}";
+    sha256 = "1gd6r0nv8xz76pmvk52dgmfl0xjvkxl0s51b4jk4a0lphw3393yv";
   };
 
-  unpackPhase = "tar xvjf $src; cd lsof_*; tar xvf lsof_*.tar; sourceRoot=$( echo lsof_*/); ";
-
-  patches = [ ./no-build-info.patch ] ++ stdenv.lib.optional stdenv.isDarwin ./darwin-dfile.patch;
+  patches = [ ./no-build-info.patch ];
 
   postPatch = stdenv.lib.optionalString stdenv.hostPlatform.isMusl ''
     substituteInPlace dialects/linux/dlsof.h --replace "defined(__UCLIBC__)" 1
@@ -47,12 +35,12 @@ stdenv.mkDerivation rec {
 
   installPhase = ''
     mkdir -p $out/bin $out/man/man8
-    cp lsof.8 $out/man/man8/
+    cp Lsof.8 $out/man/man8/lsof.8
     cp lsof $out/bin
   '';
 
   meta = with stdenv.lib; {
-    homepage = https://people.freebsd.org/~abe/;
+    homepage = "https://github.com/lsof-org/lsof";
     description = "A tool to list open files";
     longDescription = ''
       List open files. Can show what process has opened some file,
diff --git a/pkgs/development/tools/misc/one_gadget/Gemfile.lock b/pkgs/development/tools/misc/one_gadget/Gemfile.lock
index 3e02f085ae6be..ea31cc3704fa8 100644
--- a/pkgs/development/tools/misc/one_gadget/Gemfile.lock
+++ b/pkgs/development/tools/misc/one_gadget/Gemfile.lock
@@ -2,10 +2,10 @@ GEM
   remote: https://rubygems.org/
   specs:
     bindata (2.4.4)
-    elftools (1.0.2)
+    elftools (1.1.0)
       bindata (~> 2)
-    one_gadget (1.6.2)
-      elftools (~> 1.0.2)
+    one_gadget (1.7.2)
+      elftools (>= 1.0.2, < 1.2.0)
 
 PLATFORMS
   ruby
diff --git a/pkgs/development/tools/misc/one_gadget/gemset.nix b/pkgs/development/tools/misc/one_gadget/gemset.nix
index 485ddf940fda8..26507a26e915f 100644
--- a/pkgs/development/tools/misc/one_gadget/gemset.nix
+++ b/pkgs/development/tools/misc/one_gadget/gemset.nix
@@ -15,10 +15,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1ajymn59fr9117dkwf5xl8vmr737h6xmrcf1033zjlj2l5qkxn4a";
+      sha256 = "0kdf0ck4rzxpd006y09rfwppdrqb3sxww4gzfpv2053yq4mkimbn";
       type = "gem";
     };
-    version = "1.0.2";
+    version = "1.1.0";
   };
   one_gadget = {
     dependencies = ["elftools"];
@@ -26,9 +26,9 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0wacvysd7ddnbx2jl1vhzbkb28y974riyns7bpx889518zaa09z0";
+      sha256 = "07s2nigjw1yik895gliz3a7ps0m9j5nccq82zwdd30sv740jmf5b";
       type = "gem";
     };
-    version = "1.6.2";
+    version = "1.7.2";
   };
 }
\ No newline at end of file
diff --git a/pkgs/development/tools/ocaml/utop/default.nix b/pkgs/development/tools/ocaml/utop/default.nix
index 4a8a9da28a7bc..28ad85b42e94e 100644
--- a/pkgs/development/tools/ocaml/utop/default.nix
+++ b/pkgs/development/tools/ocaml/utop/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, dune
+{ stdenv, fetchurl, ocaml, findlib, dune
 , lambdaTerm, cppo, makeWrapper
 }:
 
@@ -7,16 +7,16 @@ then throw "utop is not available for OCaml ${ocaml.version}"
 else
 
 stdenv.mkDerivation rec {
-  version = "2.3.0";
   pname = "utop";
+  version = "2.4.1";
 
   src = fetchurl {
     url = "https://github.com/diml/utop/archive/${version}.tar.gz";
-    sha256 = "1g1xf19fhzwsikp33pv1wf6wb2qdc5y7dzqi46h8c4l850cwscjh";
+    sha256 = "0kbg7sfn7jaic7xcy7dm543yzsywirxbgpiv2rzwnp9ny2510f9g";
   };
 
   nativeBuildInputs = [ makeWrapper ];
-  buildInputs = [ ocaml findlib ocamlbuild cppo dune ];
+  buildInputs = [ ocaml findlib cppo dune ];
 
   propagatedBuildInputs = [ lambdaTerm ];
 
diff --git a/pkgs/development/tools/pigeon/default.nix b/pkgs/development/tools/pigeon/default.nix
new file mode 100644
index 0000000000000..ae54353305932
--- /dev/null
+++ b/pkgs/development/tools/pigeon/default.nix
@@ -0,0 +1,22 @@
+{ lib, buildGoPackage, fetchFromGitHub }:
+buildGoPackage {
+  pname = "pigeon";
+  version = "20190810-f3db42a662";
+
+  goPackagePath = "github.com/mna/pigeon";
+  goDeps = ./deps.nix;
+
+  src = fetchFromGitHub {
+    owner = "mna";
+    repo = "pigeon";
+    rev = "f3db42a662eded7550fc7cd11605d05311dfa30f";
+    sha256 = "1n0zqidwbqqfslrirpbqw14ylgiry6ggcp9ll4h8rf1chqwk6dhv";
+  };
+
+  meta = {
+    homepage = "https://github.com/mna/pigeon";
+    description = "A PEG parser generator for Go";
+    maintainers = with lib.maintainers; [ zimbatm ];
+    license = with lib.licenses; [ bsd3 ];
+  };
+}
diff --git a/pkgs/development/tools/pigeon/deps.nix b/pkgs/development/tools/pigeon/deps.nix
new file mode 100644
index 0000000000000..d836dc43c7cde
--- /dev/null
+++ b/pkgs/development/tools/pigeon/deps.nix
@@ -0,0 +1,66 @@
+# file generated from go.mod using vgo2nix (https://github.com/adisbladis/vgo2nix)
+[
+  {
+    goPackagePath = "golang.org/x/crypto";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/crypto";
+      rev = "c2843e01d9a2";
+      sha256 = "01xgxbj5r79nmisdvpq48zfy8pzaaj90bn6ngd4nf33j9ar1dp8r";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/net";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/net";
+      rev = "3b0461eec859";
+      sha256 = "0l00c8l0a8xnv6qdpwfzxxsr58jggacgzdrwiprrfx2xqm37b6d5";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/sync";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/sync";
+      rev = "112230192c58";
+      sha256 = "05i2k43j2d0llq768hg5pf3hb2yhfzp9la1w5wp0rsnnzblr0lfn";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/sys";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/sys";
+      rev = "d0b11bdaac8a";
+      sha256 = "18yfsmw622l7gc5sqriv5qmck6903vvhivpzp8i3xfy3z33dybdl";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/text";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/text";
+      rev = "v0.3.0";
+      sha256 = "0r6x6zjzhr8ksqlpiwm5gdd7s209kwk5p4lw54xjvz10cs3qlq19";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/tools";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/tools";
+      rev = "b29f5f60c37a";
+      sha256 = "118rvb59hc1fykbmif4008rbxw1p0dblc8dxkq96yaapd6p0vbpn";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/xerrors";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/xerrors";
+      rev = "a985d3407aa7";
+      sha256 = "00wzr5w8aadipgc3rkk8f11i41znskfj9ix5nhhaxyg7isrslgcj";
+    };
+  }
+]
diff --git a/pkgs/development/tools/rust/cargo-bloat/default.nix b/pkgs/development/tools/rust/cargo-bloat/default.nix
index e7c8e869c87e5..b5c6f19ddc3d9 100644
--- a/pkgs/development/tools/rust/cargo-bloat/default.nix
+++ b/pkgs/development/tools/rust/cargo-bloat/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-bloat";
-  version = "0.8.2";
+  version = "0.8.3";
 
   src = fetchFromGitHub {
     owner = "RazrFalcon";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1r8d3mqzaiasvhxmry8va55ggq817y82x8yb3vzih84lxq134y8n";
+    sha256 = "088px2kdcfjdb8zfmk7g409h7ij9dngywz336hj2ny82lrdjzazc";
   };
 
-  cargoSha256 = "1ys3wd1k39vkll25c56sfv767rcd53yb46adwgzdkkyl2pjphf1r";
+  cargoSha256 = "11q8j8y7m59gc8047qhz6pp2825qjcpg9xwgj09l8a5aijf25avb";
 
   meta = with lib; {
     description = "A tool and Cargo subcommand that helps you find out what takes most of the space in your executable";
diff --git a/pkgs/development/tools/rust/pyo3-pack/default.nix b/pkgs/development/tools/rust/maturin/default.nix
index a17d50262a0e0..4b07129ae0efb 100644
--- a/pkgs/development/tools/rust/pyo3-pack/default.nix
+++ b/pkgs/development/tools/rust/maturin/default.nix
@@ -4,17 +4,17 @@
 let
   inherit (darwin.apple_sdk.frameworks) Security;
 in rustPlatform.buildRustPackage rec {
-  name = "pyo3-pack-${version}";
-  version = "0.6.1";
+  name = "maturin-${version}";
+  version = "0.7.0";
 
   src = fetchFromGitHub {
     owner = "PyO3";
-    repo = "pyo3-pack";
+    repo = "maturin";
     rev = "v${version}";
-    sha256 = "0zk0jhr7lnl9z6c8pbk7si3wa8b1kqzj3wrslc1n5fjla7xx8fzn";
+    sha256 = "1qscn8ycyg9ldkp1v5178mlw8r5ak2p12x52c0w4hgij7y1q5s39";
   };
 
-  cargoSha256 = "13gycipxc17baxg8nvjzkw96i1pxgncx7qjcrm9aab7p9vi2vrih";
+  cargoSha256 = "0fk9dgwkgkkmxxd8ydl0vp14jhzi65pkz36v5h3nkp4cb4n4cvdj";
 
   nativeBuildInputs = [ pkgconfig ];
 
@@ -27,7 +27,7 @@ in rustPlatform.buildRustPackage rec {
 
   meta = with stdenv.lib; {
     description = "Build and publish crates with pyo3 bindings as python packages";
-    homepage = https://github.com/PyO3/pyo3-pack;
+    homepage = https://github.com/PyO3/maturin;
     license = licenses.mit;
     maintainers = [ maintainers.danieldk ];
     platforms = platforms.all;
diff --git a/pkgs/development/tools/yq-go/default.nix b/pkgs/development/tools/yq-go/default.nix
new file mode 100644
index 0000000000000..3180131c6f78d
--- /dev/null
+++ b/pkgs/development/tools/yq-go/default.nix
@@ -0,0 +1,31 @@
+# This file was generated by https://github.com/kamilchm/go2nix v1.3.0
+{ stdenv, buildGoPackage, fetchFromGitHub }:
+
+# buildGoModule is not supported by the project
+# See https://github.com/mikefarah/yq/issues/227
+buildGoPackage rec {
+  pname = "yq-go";
+  version = "2.4.0";
+
+  goPackagePath = "gopkg.in/mikefarah/yq.v2";
+
+  src = fetchFromGitHub {
+    owner = "mikefarah";
+    rev = version;
+    repo = "yq";
+    sha256 = "0nizg08mdpb8g6hj887kk5chljba6x9v0f5ysqf28py511yp0dym";
+  };
+
+  goDeps = ./deps.nix;
+
+  postInstall = ''
+    mv $bin/bin/yq.v2 $bin/bin/yq
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Portable command-line YAML processor";
+    homepage = http://mikefarah.github.io/yq/;
+    license = [ licenses.mit ];
+    maintainers = [ maintainers.lewo ];
+  };
+}
diff --git a/pkgs/development/tools/yq-go/deps.nix b/pkgs/development/tools/yq-go/deps.nix
new file mode 100644
index 0000000000000..ec2057964ec17
--- /dev/null
+++ b/pkgs/development/tools/yq-go/deps.nix
@@ -0,0 +1,57 @@
+# This file was generated by https://github.com/kamilchm/go2nix v1.3.0
+[
+  {
+    goPackagePath = "github.com/pkg/errors";
+    fetch = {
+      type = "git";
+      url = "https://github.com/pkg/errors";
+      rev = "27936f6d90f9c8e1145f11ed52ffffbfdb9e0af7";
+      sha256 = "0yzmgi6g4ak4q8y7w6x0n5cbinlcn8yc3gwgzy4yck00qdn25d6y";
+    };
+  }
+  {
+    goPackagePath = "github.com/spf13/pflag";
+    fetch = {
+      type = "git";
+      url = "https://github.com/spf13/pflag";
+      rev = "972238283c0625cf3e881de7699ba8f2524c340a";
+      sha256 = "194h0lq3s27wcxcgahjl350x46v116x81zgkgh98q9v5iydig28l";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/imdario/mergo.v0";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/imdario/mergo.v0";
+      rev = "7c29201646fa3de8506f701213473dd407f19646";
+      sha256 = "05ir0jj74w0yfi1lrhjd97v759in1dpsma64cgmbiqvyp6hfmmf8";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/mikefarah/yaml.v2";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/mikefarah/yaml.v2";
+      rev = "1a71b09ff830e9b158685a8657c85f6462559726";
+      sha256 = "0rvix49in3bm3i90v1dp1s49b14m1pyyqm3fv27mgg0spvcqy7vr";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/op/go-logging.v1";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/op/go-logging.v1";
+      rev = "b2cb9fa56473e98db8caba80237377e83fe44db5";
+      sha256 = "01a6lkpj5p82gplddh55az194s9y3014p4j8x4zc8yv886z9c8gn";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/spf13/cobra.v0";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/spf13/cobra.v0";
+      rev = "f2b07da1e2c38d5f12845a4f607e2e1018cbb1f5";
+      sha256 = "0z4x8js65mhwg1gf6sa865pdxfgn45c3av9xlcc1l3xjvcnx32v2";
+    };
+  }
+]