112 lines
2.2 KiB
Nix
112 lines
2.2 KiB
Nix
|
{ lib
|
||
|
, asciidoc
|
||
|
, fetchFromGitHub
|
||
|
, gobject-introspection
|
||
|
, gtk3
|
||
|
, installShellFiles
|
||
|
, libappindicator-gtk3
|
||
|
, libnotify
|
||
|
, librsvg
|
||
|
, python3Packages
|
||
|
, udisks2
|
||
|
, wrapGAppsHook3
|
||
|
, testers
|
||
|
, udiskie
|
||
|
}:
|
||
|
|
||
|
python3Packages.buildPythonApplication rec {
|
||
|
pname = "udiskie";
|
||
|
version = "2.5.3";
|
||
|
|
||
|
pyproject = true;
|
||
|
|
||
|
src = fetchFromGitHub {
|
||
|
owner = "coldfix";
|
||
|
repo = "udiskie";
|
||
|
rev = "v${version}";
|
||
|
hash = "sha256-asrVQR0d+5l76COsXp88srtGZQHU+AwbP3HwDiwRlnE=";
|
||
|
};
|
||
|
|
||
|
patches = [
|
||
|
./locale-path.patch
|
||
|
];
|
||
|
|
||
|
postPatch = ''
|
||
|
substituteInPlace udiskie/locale.py --subst-var out
|
||
|
'';
|
||
|
|
||
|
nativeBuildInputs = [
|
||
|
asciidoc # Man page
|
||
|
gobject-introspection
|
||
|
installShellFiles
|
||
|
wrapGAppsHook3
|
||
|
];
|
||
|
|
||
|
build-system = with python3Packages; [
|
||
|
setuptools
|
||
|
];
|
||
|
|
||
|
dontWrapGApps = true;
|
||
|
|
||
|
buildInputs = [
|
||
|
gtk3
|
||
|
libappindicator-gtk3
|
||
|
libnotify
|
||
|
librsvg # SVG icons
|
||
|
udisks2
|
||
|
];
|
||
|
|
||
|
dependencies = with python3Packages; [
|
||
|
docopt
|
||
|
keyutils
|
||
|
pygobject3
|
||
|
pyyaml
|
||
|
];
|
||
|
|
||
|
postBuild = ''
|
||
|
make -C doc
|
||
|
'';
|
||
|
|
||
|
postInstall = ''
|
||
|
installManPage doc/udiskie.8
|
||
|
|
||
|
installShellCompletion \
|
||
|
--bash completions/bash/* \
|
||
|
--zsh completions/zsh/*
|
||
|
'';
|
||
|
|
||
|
preFixup = ''
|
||
|
makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
|
||
|
'';
|
||
|
|
||
|
nativeCheckInputs = with python3Packages; [
|
||
|
pytestCheckHook
|
||
|
];
|
||
|
|
||
|
passthru.tests.version = testers.testVersion {
|
||
|
package = udiskie;
|
||
|
};
|
||
|
|
||
|
meta = with lib; {
|
||
|
homepage = "https://github.com/coldfix/udiskie";
|
||
|
changelog = "https://github.com/coldfix/udiskie/blob/${src.rev}/CHANGES.rst";
|
||
|
description = "Removable disk automounter for udisks";
|
||
|
longDescription = ''
|
||
|
udiskie is a udisks2 front-end that allows to manage removeable media such
|
||
|
as CDs or flash drives from userspace.
|
||
|
|
||
|
Its features include:
|
||
|
- automount removable media
|
||
|
- notifications
|
||
|
- tray icon
|
||
|
- command line tools for manual un-/mounting
|
||
|
- LUKS encrypted devices
|
||
|
- unlocking with keyfiles (requires udisks 2.6.4)
|
||
|
- loop devices (mounting iso archives)
|
||
|
- password caching (requires python keyutils 0.3)
|
||
|
'';
|
||
|
license = licenses.mit;
|
||
|
maintainers = with maintainers; [ AndersonTorres dotlambda ];
|
||
|
};
|
||
|
}
|