vuls: init at 0.27.0 (#348530)
[NixPkgs.git] / pkgs / by-name / tl / tllist / package.nix
blob62bcbf0241f3bc97c661fe8fa96aa3c6ccca5aa0
1 { stdenv
2 , lib
3 , fetchFromGitea
4 , meson
5 , ninja
6 }:
8 stdenv.mkDerivation (finalAttrs: {
9   pname = "tllist";
10   version = "1.1.0";
12   src = fetchFromGitea {
13     domain = "codeberg.org";
14     owner = "dnkl";
15     repo = "tllist";
16     rev = finalAttrs.version;
17     hash = "sha256-4WW0jGavdFO3LX9wtMPzz3Z1APCPgUQOktpmwAM0SQw=";
18   };
20   nativeBuildInputs = [ meson ninja ];
22   mesonBuildType = "release";
24   doCheck = true;
26   meta = with lib; {
27     homepage = "https://codeberg.org/dnkl/tllist";
28     changelog = "https://codeberg.org/dnkl/tllist/releases/tag/${finalAttrs.version}";
29     description = "C header file only implementation of a typed linked list";
30     longDescription = ''
31       Most C implementations of linked list are untyped. That is, their data
32       carriers are typically void *. This is error prone since your compiler
33       will not be able to help you correct your mistakes (oh, was it a
34       pointer-to-a-pointer... I thought it was just a pointer...).
36       tllist addresses this by using pre-processor macros to implement dynamic
37       types, where the data carrier is typed to whatever you want; both
38       primitive data types are supported as well as aggregated ones such as
39       structs, enums and unions.
40     '';
41     license = licenses.mit;
42     maintainers = with maintainers; [ fionera AndersonTorres ];
43     platforms = platforms.all;
44   };