presenterm: 0.9.0 -> 0.10.0 (#378946)
[NixPkgs.git] / pkgs / by-name / li / libdovi / package.nix
blob055c90f7d9c4d8d395e35cf17bf4dac10b3bb613
2   lib,
3   rustPlatform,
4   fetchCrate,
5   cargo-c,
6   rust,
7   stdenv,
8 }:
10 rustPlatform.buildRustPackage rec {
11   pname = "libdovi";
12   version = "3.3.1";
14   src = fetchCrate {
15     pname = "dolby_vision";
16     inherit version;
17     hash = "sha256-ecd+r0JWZtP/rxt4Y3Cj2TkygXIMy5KZhZpXBwJNPx4=";
18   };
20   cargoLock.lockFile = ./Cargo.lock;
22   postPatch = ''
23     ln -s ${./Cargo.lock} Cargo.lock
24   '';
26   nativeBuildInputs = [ cargo-c ];
28   buildPhase = ''
29     runHook preBuild
30     ${rust.envVars.setEnv} cargo cbuild -j $NIX_BUILD_CORES --release --frozen --prefix=${placeholder "out"} --target ${stdenv.hostPlatform.rust.rustcTarget}
31     runHook postBuild
32   '';
34   installPhase = ''
35     runHook preInstall
36     ${rust.envVars.setEnv} cargo cinstall -j $NIX_BUILD_CORES --release --frozen --prefix=${placeholder "out"} --target ${stdenv.hostPlatform.rust.rustcTarget}
37     runHook postInstall
38   '';
40   checkPhase = ''
41     runHook preCheck
42     ${rust.envVars.setEnv} cargo ctest -j $NIX_BUILD_CORES --release --frozen --prefix=${placeholder "out"} --target ${stdenv.hostPlatform.rust.rustcTarget}
43     runHook postCheck
44   '';
46   meta = with lib; {
47     description = "C library for Dolby Vision metadata parsing and writing";
48     homepage = "https://crates.io/crates/dolby_vision";
49     license = licenses.mit;
50     maintainers = with maintainers; [ kranzes ];
51   };