diff --git a/pkgs/development/libraries/mlib/default.nix b/pkgs/development/libraries/mlib/default.nix new file mode 100644 index 000000000000..4f9c44e15c4f --- /dev/null +++ b/pkgs/development/libraries/mlib/default.nix @@ -0,0 +1,39 @@ +{ lib +, stdenv +, fetchFromGitHub +}: + +stdenv.mkDerivation rec { + pname = "mlib"; + version = "0.6.0"; + + src = fetchFromGitHub { + owner = "P-p-H-d"; + repo = pname; + rev = "V${version}"; + hash = "sha256-LoDw9nQdEtXuTs0wncScrc2+Z7BW61ps5ee9OfQE4M0="; + }; + + makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" "PREFIX=$(out)" ]; + + doCheck = true; + + meta = with lib; { + description = "Library of generic and type safe containers in pure C language"; + longDescription = '' + M*LIB (M star lib) is a C library enabling to define and use generic and + type safe container, aka handling generic containers in in pure C + language. The objects within the containers can be trivial or very + complex: they can have their own constructor, destructor, operators or can + be basic C type like the C type 'int'. This makes it possible to construct + fully recursive objects (container-of[...]-container-of-type-T), without + erasing type information (typically using void pointers or resorting to C + macro to access the container). + ''; + homepage = "https://github.com/P-p-H-d/mlib"; + changelog = "https://github.com/P-p-H-d/mlib/releases/tag/${src.rev}"; + license = licenses.bsd2; + maintainers = with maintainers; [ azahi ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index ee4e22440c57..cd53cdd4592d 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -20567,6 +20567,8 @@ with pkgs; mlt = callPackage ../development/libraries/mlt { }; + mlib = callPackage ../development/libraries/mlib { }; + mlv-app = libsForQt5.callPackage ../applications/video/mlv-app { }; mono-addins = callPackage ../development/libraries/mono-addins { };