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