1{ lib, python3, fetchPypi, netcat-openbsd, nix-update-script }:
2
3python3.pkgs.buildPythonApplication rec {
4 pname = "flashfocus";
5 version = "2.3.1";
6
7 src = fetchPypi {
8 inherit pname version;
9 sha256 = "sha256-XT3CKJWn1uKnPPsJC+MWlEAd8sWdVTEXz5b3n0UUedY=";
10 };
11
12 postPatch = ''
13 substituteInPlace bin/nc_flash_window \
14 --replace "nc" "${lib.getExe netcat-openbsd}"
15 '';
16
17 nativeBuildInputs = with python3.pkgs; [
18 pythonRelaxDepsHook
19 ];
20
21 pythonRelaxDeps = [
22 "pyyaml"
23 "xcffib"
24 ];
25
26 propagatedBuildInputs = with python3.pkgs; [
27 i3ipc
28 xcffib
29 click
30 cffi
31 xpybutil
32 marshmallow
33 pyyaml
34 ];
35
36 # Tests require access to a X session
37 doCheck = false;
38
39 pythonImportsCheck = [ "flashfocus" ];
40
41 passthru.updateScript = nix-update-script { };
42
43 meta = with lib; {
44 homepage = "https://github.com/fennerm/flashfocus";
45 description = "Simple focus animations for tiling window managers";
46 license = licenses.mit;
47 platforms = platforms.linux;
48 maintainers = with maintainers; [ artturin ];
49 };
50}