67 lines
1.7 KiB
Nix
67 lines
1.7 KiB
Nix
{
|
|
lib,
|
|
fetchFromGitHub,
|
|
rustPlatform,
|
|
openssl,
|
|
pkg-config,
|
|
git,
|
|
versionCheckHook,
|
|
}:
|
|
|
|
rustPlatform.buildRustPackage (finalAttrs: {
|
|
pname = "c2patool";
|
|
version = "0.20.0";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "contentauth";
|
|
repo = "c2pa-rs";
|
|
tag = "c2patool-v${finalAttrs.version}";
|
|
hash = "sha256-GYqH1Gc3oGFvQDZ8vKuFOGUWvIRlDzoPKDK1rTU9H3Y=";
|
|
};
|
|
|
|
cargoHash = "sha256-anpm5touXTQviCAr3kJ1Wm7pAt5yGsJKMwHFYTnNPzI=";
|
|
|
|
# use the non-vendored openssl
|
|
env.OPENSSL_NO_VENDOR = 1;
|
|
|
|
nativeBuildInputs = [
|
|
git
|
|
pkg-config
|
|
];
|
|
|
|
buildInputs = [ openssl ];
|
|
|
|
# could not compile `c2pa` (lib test) due to 102 previous errors
|
|
doCheck = false;
|
|
|
|
checkFlags = [
|
|
# These tests rely on additional executables to be compiled to "target/debug/".
|
|
"--skip=test_fails_for_external_signer_failure"
|
|
"--skip=test_fails_for_external_signer_success_without_stdout"
|
|
"--skip=test_succeed_using_example_signer"
|
|
|
|
# These tests require network access to "http://timestamp.digicert.com", which is disabled in a sandboxed build.
|
|
"--skip=test_manifest_config"
|
|
"--skip=test_fails_for_not_found_external_signer"
|
|
"--skip=tool_embed_jpeg_report"
|
|
"--skip=tool_embed_jpeg_with_ingredients_report"
|
|
"--skip=tool_similar_extensions_match"
|
|
"--skip=tool_test_manifest_ingredient_json"
|
|
];
|
|
|
|
doInstallCheck = true;
|
|
|
|
nativeInstallCheckInputs = [ versionCheckHook ];
|
|
|
|
meta = {
|
|
description = "Command line tool for working with C2PA manifests and media assets";
|
|
homepage = "https://github.com/contentauth/c2pa-rs/tree/main/cli";
|
|
license = with lib.licenses; [
|
|
asl20 # or
|
|
mit
|
|
];
|
|
maintainers = with lib.maintainers; [ ok-nick ];
|
|
mainProgram = "c2patool";
|
|
};
|
|
})
|