ripasso-cursive: cosmetic changes (#361736)
[NixPkgs.git] / pkgs / by-name / ud / udiskie / package.nix
blob50abfb13e57eda61f0d7969f130f02b71f202fb2
1 { lib
2 , asciidoc
3 , fetchFromGitHub
4 , gobject-introspection
5 , gtk3
6 , installShellFiles
7 , libappindicator-gtk3
8 , libnotify
9 , librsvg
10 , python3Packages
11 , udisks2
12 , wrapGAppsHook3
13 , testers
14 , udiskie
17 python3Packages.buildPythonApplication rec {
18   pname = "udiskie";
19   version = "2.5.3";
21   pyproject = true;
23   src = fetchFromGitHub {
24     owner = "coldfix";
25     repo = "udiskie";
26     rev = "v${version}";
27     hash = "sha256-asrVQR0d+5l76COsXp88srtGZQHU+AwbP3HwDiwRlnE=";
28   };
30   patches = [
31     ./locale-path.patch
32   ];
34   postPatch = ''
35     substituteInPlace udiskie/locale.py --subst-var out
36   '';
38   nativeBuildInputs = [
39     asciidoc # Man page
40     gobject-introspection
41     installShellFiles
42     wrapGAppsHook3
43   ];
45   build-system = with python3Packages; [
46     setuptools
47   ];
49   dontWrapGApps = true;
51   buildInputs = [
52     gtk3
53     libappindicator-gtk3
54     libnotify
55     librsvg # SVG icons
56     udisks2
57   ];
59   dependencies = with python3Packages; [
60     docopt
61     keyutils
62     pygobject3
63     pyyaml
64   ];
66   postBuild = ''
67     make -C doc
68   '';
70   postInstall = ''
71     installManPage doc/udiskie.8
73     installShellCompletion \
74       --bash completions/bash/* \
75       --zsh completions/zsh/*
76   '';
78   preFixup = ''
79     makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
80   '';
82   nativeCheckInputs = with python3Packages; [
83     pytestCheckHook
84   ];
86   passthru.tests.version = testers.testVersion {
87     package = udiskie;
88   };
90   meta = with lib; {
91     homepage = "https://github.com/coldfix/udiskie";
92     changelog = "https://github.com/coldfix/udiskie/blob/${src.rev}/CHANGES.rst";
93     description = "Removable disk automounter for udisks";
94     longDescription = ''
95       udiskie is a udisks2 front-end that allows to manage removeable media such
96       as CDs or flash drives from userspace.
98       Its features include:
99       - automount removable media
100       - notifications
101       - tray icon
102       - command line tools for manual un-/mounting
103       - LUKS encrypted devices
104       - unlocking with keyfiles (requires udisks 2.6.4)
105       - loop devices (mounting iso archives)
106       - password caching (requires python keyutils 0.3)
107     '';
108     license = licenses.mit;
109     maintainers = with maintainers; [ dotlambda ];
110   };