about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/libraries/yajl/default.nix
blob: dad884c24842641f931899d742a972d95504295d (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
{ lib, stdenv, fetchFromGitHub, cmake, which, testers }:

stdenv.mkDerivation (finalAttrs: {
  pname = "yajl";
  version = "unstable-2022-04-20";

  src = fetchFromGitHub {
    owner = "containers";
    repo = "yajl";
    rev = "49923ccb2143e36850bcdeb781e2bcdf5ce22f15";
    hash = "sha256-9bMPA5FpyBp8fvG/kkT/MnhYtdqg3QzOnmDFXKwJVW0=";
  };

  patches = [
    # https://github.com/containers/yajl/pull/1
    ./cmake-shared-static-fix.patch
  ];

  nativeBuildInputs = [ cmake ];

  doCheck = true;
  nativeCheckInputs = [ which ];

  passthru = {
    tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
  };

  meta = {
    description = "Yet Another JSON Library";
    longDescription = ''
      YAJL is a small event-driven (SAX-style) JSON parser written in ANSI
      C, and a small validating JSON generator.
    '';
    homepage = "http://lloyd.github.com/yajl/";
    license = lib.licenses.isc;
    pkgConfigModules = [ "yajl" ];
    platforms = with lib.platforms; linux ++ darwin;
    maintainers = with lib.maintainers; [ maggesi ];
  };
})