nixpkgs/pkgs/applications/graphics/flaca/default.nix

44 lines
1.3 KiB
Nix

{ lib
, fetchFromGitHub
, rustPlatform
, fetchurl
, runCommand
, lndir
}:
rustPlatform.buildRustPackage rec {
pname = "flaca";
version = "2.4.6";
src =
let
source = fetchFromGitHub {
owner = "Blobfolio";
repo = pname;
rev = "v${version}";
hash = "sha256-uybEo098+Y92b2P9CniKFmaV8hQZFuOSthgQRGZ/ncc=";
};
lockFile = fetchurl {
url = "https://github.com/Blobfolio/flaca/releases/download/v${version}/Cargo.lock";
hash = "sha256-xAjpw71HgS6fILg5zNuc43s0fIqYcoUMMbCH65xrlww=";
};
in
runCommand "source-with-lock" { nativeBuildInputs = [ lndir ]; } ''
mkdir -p $out
ln -s ${lockFile} $out/Cargo.lock
lndir -silent ${source} $out
'';
cargoHash = "sha256-w+PeuH6VFIu3iH5EXF6gEwyYoGeqXX0yd5jJs2NqisQ=";
meta = with lib; {
description = "A CLI tool to losslessly compress JPEG and PNG images";
longDescription = "A CLI tool for x86-64 Linux machines that simplifies the task of maximally, losslessly compressing JPEG and PNG images for use in production web environments";
homepage = "https://github.com/Blobfolio/flaca";
maintainers = with maintainers; [ zzzsy ];
platforms = platforms.linux;
license = licenses.wtfpl;
mainProgram = "flaca";
};
}