btrbk: add mainProgram
[NixPkgs.git] / pkgs / by-name / ja / jansson / package.nix
blobbb0035b976694466a1aebf0c19c4eb6642cf4e2f
2   lib,
3   stdenv,
4   fetchFromGitHub,
5   cmake,
6   nix-update-script,
7   testers,
8   validatePkgConfig,
9 }:
11 stdenv.mkDerivation (finalAttrs: {
12   pname = "jansson";
13   version = "2.14";
15   outputs = [
16     "dev"
17     "out"
18   ];
20   src = fetchFromGitHub {
21     owner = "akheron";
22     repo = "jansson";
23     rev = "v${finalAttrs.version}";
24     hash = "sha256-FQgy2+g3AyRVJeniqPQj0KNeHgPdza2pmEIXqSyYry4=";
25   };
27   nativeBuildInputs = [
28     cmake
29     validatePkgConfig
30   ];
32   cmakeFlags = [
33     # networkmanager relies on libjansson.so:
34     #   https://github.com/NixOS/nixpkgs/pull/176302#issuecomment-1150239453
35     "-DJANSSON_BUILD_SHARED_LIBS=${if stdenv.hostPlatform.isStatic then "OFF" else "ON"}"
36   ];
38   passthru = {
39     tests.pkg-config = testers.hasPkgConfigModules { package = finalAttrs.finalPackage; };
40     updateScript = nix-update-script { };
41   };
43   meta = {
44     description = "C library for encoding, decoding and manipulating JSON data";
45     homepage = "https://github.com/akheron/jansson";
46     changelog = "https://github.com/akheron/jansson/raw/${finalAttrs.src.rev}/CHANGES";
47     license = lib.licenses.mit;
48     maintainers = with lib.maintainers; [ getchoo ];
49     platforms = lib.platforms.all;
50     pkgConfigModules = [ "jansson" ];
51   };