diff options
Diffstat (limited to 'pkgs/by-name/tu/tuifimanager/package.nix')
-rw-r--r-- | pkgs/by-name/tu/tuifimanager/package.nix | 48 |
1 files changed, 42 insertions, 6 deletions
diff --git a/pkgs/by-name/tu/tuifimanager/package.nix b/pkgs/by-name/tu/tuifimanager/package.nix index 3e0531f4805f5..7d54de40be3b0 100644 --- a/pkgs/by-name/tu/tuifimanager/package.nix +++ b/pkgs/by-name/tu/tuifimanager/package.nix @@ -1,29 +1,65 @@ -{ lib +{ stdenv +, lib , python3 , fetchFromGitHub +, kdePackages +, gnome +, qt6 +, makeWrapper +, x11Support ? stdenv.isLinux +# pypinput is marked as broken for darwin +, pynputSupport ? stdenv.isLinux +# Experimental Drag & Drop support requires x11 & pyinput suport +, hasDndSupport ? x11Support && pynputSupport +, enableDragAndDrop ? false }: +lib.throwIf (enableDragAndDrop && !hasDndSupport) + "Drag and drop support is only available for linux with xorg." + python3.pkgs.buildPythonApplication rec { pname = "tuifimanager"; - version = "4.0.5"; + version = "4.0.6"; format = "pyproject"; src = fetchFromGitHub { owner = "GiorgosXou"; repo = "TUIFIManager"; - rev = "refs/tags/v${version}"; - hash = "sha256-DuCrIJuADmJ0MHIP0+OJ0zCrQR/oGdgzJ1xck4m/tPo="; + rev = "v.${version}"; + hash = "sha256-pppPlpPA1UYjUCKvGCjUo9jFNyOOkk6aF7/v5sXIptI="; }; nativeBuildInputs = [ python3.pkgs.setuptools python3.pkgs.setuptools-scm - ]; + ] ++ (lib.optionals enableDragAndDrop [ + qt6.wrapQtAppsHook + makeWrapper + ]); propagatedBuildInputs = [ python3.pkgs.send2trash python3.pkgs.unicurses - ]; + ] ++ (lib.optionals enableDragAndDrop [ + python3.pkgs.pynput + python3.pkgs.pyside6 + python3.pkgs.requests + python3.pkgs.xlib + kdePackages.qtbase + kdePackages.qt6gtk2 + ]); + + postFixup = let + # fix missing 'adwaita' warning missing with ncurses tui + # see: https://github.com/NixOS/nixpkgs/issues/60918 + theme = gnome.gnome-themes-extra; + in + lib.optionalString enableDragAndDrop '' + wrapProgram $out/bin/tuifi \ + --prefix GTK_PATH : "${theme}/lib/gtk-2.0" \ + --set tuifi_synth_dnd True + ''; + pythonImportsCheck = [ "TUIFIManager" ]; meta = with lib; { |