diodon: init at 1.13.0 (#369078)
[NixPkgs.git] / pkgs / by-name / ml / mlib / package.nix
blobd91702689d07ef107d0bf5053761b264521e8a2f
2   lib,
3   stdenv,
4   fetchFromGitHub,
5 }:
7 stdenv.mkDerivation rec {
8   pname = "mlib";
9   version = "0.7.3";
11   src = fetchFromGitHub {
12     owner = "P-p-H-d";
13     repo = pname;
14     rev = "V${version}";
15     hash = "sha256-r8ol923tNkZ13QXWjWpMrN6rBjjjg5XoBCho4OKdyvY=";
16   };
18   makeFlags = [
19     "CC=${stdenv.cc.targetPrefix}cc"
20     "PREFIX=$(out)"
21   ];
23   doCheck = true;
25   meta = with lib; {
26     description = "Library of generic and type safe containers in pure C language";
27     longDescription = ''
28       M*LIB (M star lib) is a C library enabling to define and use generic and
29       type safe container, aka handling generic containers in in pure C
30       language. The objects within the containers can be trivial or very
31       complex: they can have their own constructor, destructor, operators or can
32       be basic C type like the C type 'int'. This makes it possible to construct
33       fully recursive objects (container-of[...]-container-of-type-T), without
34       erasing type information (typically using void pointers or resorting to C
35       macro to access the container).
36     '';
37     homepage = "https://github.com/P-p-H-d/mlib";
38     changelog = "https://github.com/P-p-H-d/mlib/releases/tag/${src.rev}";
39     license = licenses.bsd2;
40     maintainers = with maintainers; [ azahi ];
41     platforms = platforms.unix;
42   };