summary refs log tree commit diff
path: root/pkgs/applications/misc/metamorphose2/default.nix
blob: 86b4bc66d2969ff3dfc3e5a8520a5a74e996c7dd (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
{ lib, stdenv, fetchFromGitHub, makeWrapper, gettext
, python3
}:

stdenv.mkDerivation {
  pname = "metamorphose2";
  version = "0.10.0beta";

  # exif-py vendored via submodule
  src = fetchFromGitHub {
    owner = "timinaust";
    repo = "metamorphose2";
    rev = "ba0666dd02e4f3f58c1dadc309e7ec1cc13fe851";
    sha256 = "0w9l1vyyswdhdwrmi71g23qyslvhg1xym4ksifd42vwf9dxy55qp";
    fetchSubmodules = true;
  };

  postPatch = ''
    rm -rf ./src/mutagen
    substituteInPlace messages/Makefile \
      --replace "\$(shell which msgfmt)" "${gettext}/bin/msgfmt"
  '';

  postInstall = ''
    rm $out/bin/metamorphose2
    makeWrapper ${python3.interpreter} $out/bin/metamorphose2 \
      --prefix PYTHONPATH : $PYTHONPATH:$(toPythonPath "$out") \
      --add-flags "-O $out/share/metamorphose2/metamorphose2.py -w=3"
  '';

  buildInput = [ gettext python3 ];
  nativeBuildInputs = [ makeWrapper ];
  propagatedBuildInputs = with python3.pkgs; [ mutagen wxPython_4_1 pillow six ];

  makeFlags = [ "PREFIX=$(out)" ];

  meta = with lib; {
    description = "a graphical mass renaming program for files and folders";
    homepage    = "https://github.com/timinaust/metamorphose2";
    license     = with licenses; gpl3Plus;
    maintainers = with maintainers; [ ramkromberg ];
    platforms   = with platforms; linux;
  };
}