ocamlPackages.hxd: 0.3.2 -> 0.3.3 (#364231)
[NixPkgs.git] / pkgs / by-name / to / tomlplusplus / package.nix
blob38e213eff28c8e503e8b2a956ad4af01ce0f25da
2   cmake,
3   fetchFromGitHub,
4   fetchpatch2,
5   glibcLocales,
6   lib,
7   meson,
8   ninja,
9   nix-update-script,
10   pkg-config,
11   stdenv,
12   testers,
15 stdenv.mkDerivation (finalAttrs: {
16   pname = "tomlplusplus";
17   version = "3.4.0";
19   src = fetchFromGitHub {
20     owner = "marzer";
21     repo = "tomlplusplus";
22     rev = "refs/tags/v${finalAttrs.version}";
23     hash = "sha256-h5tbO0Rv2tZezY58yUbyRVpsfRjY3i+5TPkkxr6La8M=";
24   };
26   patches = [
27     # TODO: Remove this patch at the next update
28     # https://github.com/marzer/tomlplusplus/pull/233
29     (fetchpatch2 {
30       name = "tomlplusplus-install-example-programs.patch";
31       url = "https://github.com/marzer/tomlplusplus/commit/8128eb632325d1820f4d17dd8250dcda6ab07743.patch";
32       hash = "sha256-7m2P+e1/OASHrzm9LSy6RnayS/kGxFC82xOyGBGXeG0=";
33     })
34   ];
36   nativeBuildInputs = [
37     meson
38     cmake
39     ninja
40     pkg-config
41   ];
43   checkInputs = [
44     glibcLocales
45   ];
47   mesonFlags = [
48     "-Dbuild_tests=${lib.boolToString finalAttrs.doCheck}"
49     "-Dbuild_examples=true"
50   ];
52   # almost all tests fail on Darwin with the following exception:
53   # libc++abi: terminating due to uncaught exception of type std::runtime_error: collate_byname<char>::collate_byname failed to construct for
54   doCheck = !stdenv.hostPlatform.isDarwin;
56   passthru = {
57     updateScript = nix-update-script { };
58     tests.pkg-config = testers.hasPkgConfigModules {
59       package = finalAttrs.finalPackage;
60     };
61   };
63   meta = with lib; {
64     homepage = "https://github.com/marzer/tomlplusplus";
65     description = "Header-only TOML config file parser and serializer for C++17";
66     license = licenses.mit;
67     maintainers = with maintainers; [ Scrumplex ];
68     pkgConfigModules = [ "tomlplusplus" ];
69     platforms = platforms.unix;
70   };