at 24.11-pre 51 lines 1.3 kB view raw
1{ lib 2, rustPlatform 3, fetchCrate 4, cargo-c 5, rust 6, stdenv 7}: 8 9rustPlatform.buildRustPackage rec { 10 pname = "libdovi"; 11 version = "3.3.0"; 12 13 src = fetchCrate { 14 pname = "dolby_vision"; 15 inherit version; 16 hash = "sha256-224fX+9klmWVoakU+XM7HrGa4iP4xsBJtn+686cH0qc="; 17 }; 18 19 cargoLock.lockFile = ./Cargo.lock; 20 21 postPatch = '' 22 ln -s ${./Cargo.lock} Cargo.lock 23 ''; 24 25 nativeBuildInputs = [ cargo-c ]; 26 27 buildPhase = '' 28 runHook preBuild 29 ${rust.envVars.setEnv} cargo cbuild -j $NIX_BUILD_CORES --release --frozen --prefix=${placeholder "out"} --target ${stdenv.hostPlatform.rust.rustcTarget} 30 runHook postBuild 31 ''; 32 33 installPhase = '' 34 runHook preInstall 35 ${rust.envVars.setEnv} cargo cinstall -j $NIX_BUILD_CORES --release --frozen --prefix=${placeholder "out"} --target ${stdenv.hostPlatform.rust.rustcTarget} 36 runHook postInstall 37 ''; 38 39 checkPhase = '' 40 runHook preCheck 41 ${rust.envVars.setEnv} cargo ctest -j $NIX_BUILD_CORES --release --frozen --prefix=${placeholder "out"} --target ${stdenv.hostPlatform.rust.rustcTarget} 42 runHook postCheck 43 ''; 44 45 meta = with lib; { 46 description = "C library for Dolby Vision metadata parsing and writing"; 47 homepage = "https://crates.io/crates/dolby_vision"; 48 license = licenses.mit; 49 maintainers = with maintainers; [ kranzes ]; 50 }; 51}