{
lib,
fetchFromGitHub,
fetchpatch,
pkg-config,
ffmpeg,
rustPlatform,
glib,
installShellFiles,
asciidoc,
}:
rustPlatform.buildRustPackage rec {
pname = "metadata";
version = "0.1.9";
src = fetchFromGitHub {
owner = "zmwangx";
repo = "metadata";
rev = "ec9614cfa64ffc95d74e4b19496ebd9b026e692b";
hash = "sha256-ugirYg3l+zIfKAqp2smLgG99mX9tsy9rmGe6lFAwx5o=";
};
cargoHash = "sha256-OMm39sgbq2wTRJTVoCf5imJe3hmf+Djq9w9tzKBrkIM=";
nativeBuildInputs = [
pkg-config
asciidoc
installShellFiles
rustPlatform.bindgenHook
];
cargoPatches = [
(fetchpatch {
name = "update-crate-ffmpeg-next-version.patch";
url = "https://github.com/myclevorname/metadata/commit/a1bc9f53d9aa0aeb17cbb530a1da1de4fdf85328.diff";
hash = "sha256-LEwOK1UFUwLZhqLnoUor5CSOwz4DDjNFMnMOGq1S1Sc=";
})
postBuild = ''
a2x --doctype manpage --format manpage man/metadata.1.adoc
'';
postInstall = ''
installManPage man/metadata.1
buildInputs = [
ffmpeg
glib
env.FFMPEG_DIR = ffmpeg.dev;
meta = {
description = "Media metadata parser and formatter designed for human consumption, powered by FFmpeg";
maintainers = with lib.maintainers; [ clevor ];
license = lib.licenses.mit;
homepage = "https://github.com/zmwangx/metadata";
mainProgram = "metadata";
}