10 python3Packages.buildPythonApplication rec {
15 src = fetchFromGitLab {
16 domain = "gitlab.gnome.org";
20 hash = "sha256-hWjxNAf0qy/aJ4Y7nLA5m69k3mEn3/1XaJ58aHQrWug=";
24 substituteInPlace ./install.py \
25 --replace-fail "/usr" "$out" \
26 --replace-fail "gtk-update-icon-cache" "gtk4-update-icon-cache"
34 buildInputs = [ libadwaita ];
36 build-system = with python3Packages; [ setuptools ];
38 dependencies = with python3Packages; [
46 python ./install.py install
49 # Avoid wrapping two times
52 # Make sure we patch other scripts after wrapper is generated
53 # to get $program_PYTHONPATH
54 dontWrapPythonPrograms = true;
58 makeWrapperArgs+=(''${gappsWrapperArgs[@]})
61 # Dialogs are not imported, but executed. The same does
62 # nautilus-python plugins. So we need to patch them as well.
64 for dialog_scripts in $out/lib/python*/site-packages/turtlevcs/dialogs/*.py; do
65 patchPythonScript $dialog_scripts
67 for nautilus_extensions in $out/share/nautilus-python/extensions/*.py; do
68 patchPythonScript $nautilus_extensions
73 description = "Graphical interface for version control intended to run on gnome and nautilus";
74 homepage = "https://gitlab.gnome.org/philippun1/turtle";
75 license = lib.licenses.gpl3Plus;
76 mainProgram = "turtle_cli";
77 maintainers = with lib.maintainers; [ aleksana ];
78 platforms = lib.platforms.unix;