pytrainer: unpin python 3.10
[NixPkgs.git] / pkgs / servers / web-apps / pict-rs / default.nix
blobfddfd6fffebd6820a2fedc85ec061c97f4187db5
1 { stdenv
2 , lib
3 , fetchFromGitea
4 , rustPlatform
5 , makeWrapper
6 , protobuf
7 , darwin
8 , imagemagick
9 , ffmpeg
10 , exiftool
11 , nixosTests
14 rustPlatform.buildRustPackage rec {
15   pname = "pict-rs";
16   version = "0.5.16";
18   src = fetchFromGitea {
19     domain = "git.asonix.dog";
20     owner = "asonix";
21     repo = pname;
22     rev = "v${version}";
23     sha256 = "sha256-q0h+H3260CSpZemVuyaiwSHDi8yKXUX8Df9ih3IzAWo=";
24   };
26   cargoHash = "sha256-lMnJyiKhO7fGrjHkyZjheN0w7GgVs7Jnszw1KXo7vTg=";
28   # needed for internal protobuf c wrapper library
29   PROTOC = "${protobuf}/bin/protoc";
30   PROTOC_INCLUDE = "${protobuf}/include";
32   nativeBuildInputs = [ makeWrapper ];
33   buildInputs = lib.optional stdenv.hostPlatform.isDarwin darwin.apple_sdk.frameworks.Security;
35   postInstall = ''
36     wrapProgram "$out/bin/pict-rs" \
37         --prefix PATH : "${lib.makeBinPath [ imagemagick ffmpeg exiftool ]}"
38   '';
40   passthru.tests = { inherit (nixosTests) pict-rs; };
42   meta = with lib; {
43     broken = stdenv.hostPlatform.isDarwin;
44     description = "Simple image hosting service";
45     mainProgram = "pict-rs";
46     homepage = "https://git.asonix.dog/asonix/pict-rs";
47     license = with licenses; [ agpl3Plus ];
48     maintainers = with maintainers; [ happysalada ];
49   };