nixpkgs/pkgs/development/tools/jq/default.nix
Daiderd Jordan 64e550c31f
jq: disable strptime test on darwin
This seems to fail depending on the machine's configuration, probably
something locale or timezone related.
2018-08-01 20:33:44 +02:00

58 lines
1.7 KiB
Nix

{ stdenv, fetchurl, fetchpatch, oniguruma }:
stdenv.mkDerivation rec {
name = "jq-${version}";
version="1.5";
src = fetchurl {
url="https://github.com/stedolan/jq/releases/download/jq-${version}/jq-${version}.tar.gz";
sha256="0g29kyz4ykasdcrb0zmbrp2jqs9kv1wz9swx849i2d1ncknbzln4";
};
outputs = [ "bin" "doc" "man" "dev" "lib" "out" ];
buildInputs = [ oniguruma ];
patches = [
(fetchpatch {
name = "CVE-2015-8863.patch";
url = https://github.com/stedolan/jq/commit/8eb1367ca44e772963e704a700ef72ae2e12babd.diff;
sha256 = "18bjanzvklfzlzzd690y88725l7iwl4f6wnr429na5pfmircbpvh";
})
(fetchpatch {
name = "CVE-2016-4074.patch";
url = https://patch-diff.githubusercontent.com/raw/stedolan/jq/pull/1214.diff;
sha256 = "1w8bapnyp56di6p9casbfczfn8258rw0z16grydavdjddfm280l9";
})
]
++ stdenv.lib.optional stdenv.isDarwin ./darwin-strptime-test.patch;
patchFlags = [ "-p2" ]; # `src` subdir was introduced after v1.5 was released
configureFlags =
[
"--bindir=\${bin}/bin"
"--sbindir=\${bin}/bin"
"--datadir=\${doc}/share"
"--mandir=\${man}/share/man"
]
# jq is linked to libjq:
++ stdenv.lib.optional (!stdenv.isDarwin) "LDFLAGS=-Wl,-rpath,\\\${libdir}";
doInstallCheck = true;
installCheckTarget = "check";
postInstallCheck = ''
$bin/bin/jq --help >/dev/null
'';
meta = with stdenv.lib; {
description = ''A lightweight and flexible command-line JSON processor'';
license = licenses.mit;
maintainers = with maintainers; [ raskin ];
platforms = with platforms; linux ++ darwin;
downloadPage = "http://stedolan.github.io/jq/download/";
updateWalker = true;
inherit version;
};
}