···
+
inherit (lib) optionals concatStringsSep;
+
inherit (rust.envVars) setEnv;
+
rustPlatform.buildRustPackage (finalAttrs: {
+
__structuredAttrs = true;
+
inherit (hdr10plus_tool)
+
nativeBuildInputs = [ cargo-c ];
+
buildInputs = [ fontconfig ];
+
"--prefix=${placeholder "out"}"
+
"--includedir=${placeholder "dev"}/include"
+
"--pkgconfigdir=${placeholder "dev"}/lib/pkgconfig"
+
"--target=${stdenv.hostPlatform.rust.rustcTarget}"
+
optionals (finalAttrs.cargoBuildType != "debug") [
+
"--profile=${finalAttrs.cargoBuildType}"
+
++ optionals (finalAttrs.cargoBuildNoDefaultFeatures) [
+
"--no-default-features"
+
++ optionals (finalAttrs.cargoBuildFeatures != [ ]) [
+
"--features=${concatStringsSep "," finalAttrs.cargoBuildFeatures}"
+
optionals (finalAttrs.cargoCheckType != "debug") [
+
"--profile=${finalAttrs.cargoCheckType}"
+
++ optionals (finalAttrs.cargoCheckNoDefaultFeatures) [
+
"--no-default-features"
+
++ optionals (finalAttrs.cargoCheckFeatures != [ ]) [
+
"--features=${concatStringsSep "," finalAttrs.cargoCheckFeatures}"
+
# let stdenv handle stripping
+
export "CARGO_PROFILE_''${cargoBuildType@U}_STRIP"=false
+
prependToVar cargoCFlags -j "$NIX_BUILD_CORES"
+
${setEnv} cargo cbuild "''${cargoCFlags[@]}" "''${cargoCBuildFlags[@]}"
+
${setEnv} cargo ctest "''${cargoCFlags[@]}" "''${cargoCTestFlags[@]}"
+
${setEnv} cargo cinstall "''${cargoCFlags[@]}" "''${cargoCBuildFlags[@]}"
+
inherit hdr10plus_tool;
+
description = "Library to work with HDR10+ in HEVC files";
+
homepage = "https://github.com/quietvoid/hdr10plus_tool";
+
changelog = "https://github.com/quietvoid/hdr10plus_tool/releases/tag/${hdr10plus_tool.version}";
+
license = lib.licenses.mit;
+
maintainers = with lib.maintainers; [ mvs ];
+
pkgConfigModules = [ "hdr10plus-rs" ];