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