biome: 1.9.2 -> 1.9.3
[NixPkgs.git] / pkgs / applications / misc / dupeguru / default.nix
blob8ec9dfc35033bf6b27ffa51bd0aa8c572a8ea73d
1 { stdenv, lib, python3Packages, gettext, qt5, fetchFromGitHub }:
3 python3Packages.buildPythonApplication rec {
4   pname = "dupeguru";
5   version = "4.3.1";
7   format = "other";
9   src = fetchFromGitHub {
10     owner = "arsenetar";
11     repo = "dupeguru";
12     rev = version;
13     hash = "sha256-/jkZiCapmCLMp7WfgUmpsR8aNCfb3gBELlMYaC4e7zI=";
14   };
16   nativeBuildInputs = [
17     gettext
18     python3Packages.pyqt5
19     python3Packages.setuptools
20     qt5.wrapQtAppsHook
21   ];
23   propagatedBuildInputs = with python3Packages; [
24     hsaudiotag3k
25     mutagen
26     polib
27     pyqt5
28     pyqt5-sip
29     semantic-version
30     send2trash
31     sphinx
32   ];
34   makeFlags = [
35     "PREFIX=${placeholder "out"}"
36     "NO_VENV=1"
37   ];
39   nativeCheckInputs = with python3Packages; [
40     pytestCheckHook
41   ];
43   preCheck = ''
44     export HOME="$(mktemp -d)"
45   '';
47   # Avoid double wrapping Python programs.
48   dontWrapQtApps = true;
50   # TODO: A bug in python wrapper
51   # see https://github.com/NixOS/nixpkgs/pull/75054#discussion_r357656916
52   preFixup = ''
53     makeWrapperArgs="''${qtWrapperArgs[@]}"
54   '';
56   # Executable in $out/bin is a symlink to $out/share/dupeguru/run.py
57   # so wrapPythonPrograms hook does not handle it automatically.
58   postFixup = ''
59     wrapPythonProgramsIn "$out/share/dupeguru" "$out $pythonPath"
60   '';
62   meta = with lib; {
63     broken = stdenv.hostPlatform.isDarwin;
64     description = "GUI tool to find duplicate files in a system";
65     homepage = "https://github.com/arsenetar/dupeguru";
66     license = licenses.bsd3;
67     platforms = platforms.unix;
68     maintainers = with maintainers; [ novoxd ];
69     mainProgram = "dupeguru";
70   };