1{
2 lib,
3 stdenv,
4 fetchFromGitHub,
5 cmake,
6 gtest,
7}:
8
9stdenv.mkDerivation (finalAttrs: {
10 pname = "kassert";
11 version = "0.2.2";
12
13 src = fetchFromGitHub {
14 owner = "kamping-site";
15 repo = "kassert";
16 tag = "v${finalAttrs.version}";
17 hash = "sha256-5UndFUhKtHPFPLfYP0EI/r+eoAptcQBheznALfxh27s=";
18 };
19
20 nativeBuildInputs = [ cmake ];
21
22 cmakeFlags = [
23 # doc generation require git clone doxygen-awesome-css
24 (lib.cmakeBool "KASSERT_BUILD_DOCS" false)
25 (lib.cmakeBool "KASSERT_BUILD_TESTS" finalAttrs.finalPackage.doCheck)
26 (lib.cmakeBool "KASSERT_USE_BUNDLED_GTEST" false)
27 ];
28
29 doCheck = true;
30
31 nativeCheckInputs = [ gtest ];
32
33 meta = {
34 description = "Karlsruhe assertion library for C++";
35 homepage = "https://kamping-site.github.io/kassert/";
36 downloadPage = "https://github.com/kamping-site/kassert";
37 changelog = "https://github.com/kamping-site/kasser/releases/tag/v${finalAttrs.version}";
38 license = with lib.licenses; [ mit ];
39 platforms = lib.platforms.unix;
40 maintainers = with lib.maintainers; [ qbisi ];
41 };
42})