nixpkgs mirror (for testing) github.com/NixOS/nixpkgs
nix
at devShellTools-shell 82 lines 1.7 kB view raw
1{ 2 stdenv, 3 lib, 4 python3Packages, 5 gettext, 6 qt5, 7 fetchFromGitHub, 8}: 9 10python3Packages.buildPythonApplication rec { 11 pname = "dupeguru"; 12 version = "4.3.1"; 13 14 format = "other"; 15 16 src = fetchFromGitHub { 17 owner = "arsenetar"; 18 repo = "dupeguru"; 19 rev = version; 20 hash = "sha256-/jkZiCapmCLMp7WfgUmpsR8aNCfb3gBELlMYaC4e7zI="; 21 }; 22 23 patches = [ 24 ./remove-setuptools-sandbox.patch 25 ]; 26 27 nativeBuildInputs = [ 28 gettext 29 python3Packages.pyqt5 30 python3Packages.setuptools 31 qt5.wrapQtAppsHook 32 ]; 33 34 propagatedBuildInputs = with python3Packages; [ 35 hsaudiotag3k 36 mutagen 37 polib 38 pyqt5 39 pyqt5-sip 40 semantic-version 41 send2trash 42 sphinx 43 ]; 44 45 makeFlags = [ 46 "PREFIX=${placeholder "out"}" 47 "NO_VENV=1" 48 ]; 49 50 nativeCheckInputs = with python3Packages; [ 51 pytestCheckHook 52 ]; 53 54 preCheck = '' 55 export HOME="$(mktemp -d)" 56 ''; 57 58 # Avoid double wrapping Python programs. 59 dontWrapQtApps = true; 60 61 # TODO: A bug in python wrapper 62 # see https://github.com/NixOS/nixpkgs/pull/75054#discussion_r357656916 63 preFixup = '' 64 makeWrapperArgs="''${qtWrapperArgs[@]}" 65 ''; 66 67 # Executable in $out/bin is a symlink to $out/share/dupeguru/run.py 68 # so wrapPythonPrograms hook does not handle it automatically. 69 postFixup = '' 70 wrapPythonProgramsIn "$out/share/dupeguru" "$out $pythonPath" 71 ''; 72 73 meta = with lib; { 74 broken = stdenv.hostPlatform.isDarwin; 75 description = "GUI tool to find duplicate files in a system"; 76 homepage = "https://github.com/arsenetar/dupeguru"; 77 license = licenses.bsd3; 78 platforms = platforms.unix; 79 maintainers = with maintainers; [ novoxd ]; 80 mainProgram = "dupeguru"; 81 }; 82}