1{ lib, stdenv, python3, fetchFromGitHub, exiftool, makeWrapper }:
2let
3 pythonEnv = python3.withPackages (p: with p; [ tqdm ]);
4in
5stdenv.mkDerivation rec {
6 pname = "phockup";
7 version = "1.10.1";
8
9 src = fetchFromGitHub {
10 owner = "ivandokov";
11 repo = "phockup";
12 rev = version;
13 sha256 = "sha256-wnTdNzH/2Lcr3FXqm84ITiAmbKpFWLo/0/cf0fCv+4M=";
14 };
15
16 nativeBuildInputs = [ makeWrapper ];
17
18 installPhase = ''
19 runHook preInstall
20
21 # based roughly on https://github.com/ivandokov/phockup#linux-without-snap
22 mkdir -p $out/bin $out/opt
23 mv * $out/opt
24 makeWrapper ${pythonEnv.interpreter} $out/bin/phockup --add-flags "$out/opt/phockup.py" --suffix PATH : ${lib.makeBinPath [ exiftool ]}
25
26 runHook postInstall
27 '';
28
29 meta = with lib; {
30 description = "Media sorting tool to organize photos and videos from your camera in folders by year, month and day";
31 homepage = "https://github.com/ivandokov/phockup";
32 license = licenses.mit;
33 maintainers = with maintainers; [ aanderse ];
34 };
35}