mirror of
https://git.asonix.dog/asonix/pict-rs
synced 2024-11-01 10:09:57 +00:00
asonix
f082e48ed8
There's a bug when converting APNG files to WEBP files, which imagemagick delegates to ffmpeg. When doing 'nix build' and running the result, or running pict-rs in the dev shell, it works fine. In the container, this doesn't work at all. imagemagick complains that there's no media to convert, implying ffmpeg has output a zero-sized file. This work is helping to narrow down exactly what pict-rs needs to run, though. This still needs to be tested against h264, h265, vp8, vp9 and av1.
40 lines
925 B
Nix
40 lines
925 B
Nix
{ exiftool
|
|
, ffmpeg6_pict-rs
|
|
, imagemagick7_pict-rs
|
|
, lib
|
|
, makeWrapper
|
|
, nixosTests
|
|
, rustPlatform
|
|
, Security
|
|
, stdenv
|
|
}:
|
|
|
|
rustPlatform.buildRustPackage {
|
|
pname = "pict-rs";
|
|
version = "0.5.13";
|
|
src = ./.;
|
|
|
|
cargoLock = {
|
|
lockFile = ./Cargo.lock;
|
|
};
|
|
|
|
nativeBuildInputs = [ stdenv makeWrapper ];
|
|
buildInputs = lib.optionals stdenv.isDarwin [ Security ];
|
|
|
|
RUSTFLAGS = "--cfg tokio_unstable";
|
|
TARGET_CC = "${stdenv.cc}/bin/${stdenv.cc.targetPrefix}cc";
|
|
TARGET_AR = "${stdenv.cc}/bin/${stdenv.cc.targetPrefix}ar";
|
|
|
|
postInstall = ''
|
|
wrapProgram $out/bin/pict-rs \
|
|
--prefix PATH : "${lib.makeBinPath [ imagemagick7_pict-rs ffmpeg6_pict-rs exiftool ]}"
|
|
'';
|
|
|
|
passthru.tests = { inherit (nixosTests) pict-rs; };
|
|
|
|
meta = with lib; {
|
|
description = "A simple image hosting service";
|
|
homepage = "https://git.asonix.dog/asonix/pict-rs";
|
|
license = with licenses; [ agpl3Plus ];
|
|
};
|
|
}
|