btrbk: add mainProgram
[NixPkgs.git] / pkgs / by-name / li / libmatroska / package.nix
blob8de6786dfa64999bd82dea639a60bb531ece18cc
2   lib,
3   stdenv,
4   fetchFromGitHub,
5   cmake,
6   libebml,
7   nix-update-script,
8   pkg-config,
9   testers,
10   validatePkgConfig,
11   libmatroska,
14 stdenv.mkDerivation rec {
15   pname = "libmatroska";
16   version = "1.7.1";
18   outputs = [
19     "dev"
20     "out"
21   ];
23   src = fetchFromGitHub {
24     owner = "Matroska-Org";
25     repo = "libmatroska";
26     rev = "release-${version}";
27     hash = "sha256-hfu3Q1lIyMlWFWUM2Pu70Hie0rlQmua7Kq8kSIWnfHE=";
28   };
30   nativeBuildInputs = [
31     cmake
32     pkg-config
33     validatePkgConfig
34   ];
36   buildInputs = [ libebml ];
38   cmakeFlags = [ "-DBUILD_SHARED_LIBS=YES" ];
40   passthru = {
41     tests.pkg-config = testers.hasPkgConfigModules { package = libmatroska; };
42     updateScript = nix-update-script {
43       extraArgs = [
44         "--version-regex"
45         "release-(.*)"
46       ];
47     };
48   };
50   meta = {
51     description = "Library to parse Matroska files";
52     homepage = "https://matroska.org/";
53     changelog = "https://github.com/Matroska-Org/libmatroska/blob/${src.rev}/NEWS.md";
54     license = lib.licenses.lgpl21;
55     maintainers = with lib.maintainers; [ getchoo ];
56     platforms = lib.platforms.unix;
57     pkgConfigModules = [ "libmatroska" ];
58   };