{ stdenv, lib, rustPlatform, fetchFromGitHub, pkg-config }: rustPlatform.buildRustPackage rec { pname = "gifski"; version = "1.10.3"; src = fetchFromGitHub { owner = "ImageOptim"; repo = "gifski"; rev = version; sha256 = "sha256-P4t16rCKsL6FwDVXDC2XkgUGcAlWCPt1iXoBmhDZRzk="; }; cargoLock = { lockFile = ./Cargo.lock; outputHashes = { "ffmpeg-sys-next-4.4.0" = "sha256-TpO06VjSLCUe3NH7sr5YPfEF7C0EBBxQIQ2/SbVncnI="; }; }; nativeBuildInputs = lib.optionals stdenv.isLinux [ pkg-config ]; # error: the crate `gifski` is compiled with the panic strategy `abort` which is incompatible with this crate's strategy of `unwind` doCheck = !stdenv.isDarwin; meta = with lib; { description = "GIF encoder based on libimagequant (pngquant)"; homepage = "https://gif.ski/"; license = licenses.agpl3; maintainers = [ maintainers.marsam ]; }; }