Files
nixpkgs/pkgs/by-name/fl/flashfocus/package.nix
Artturin ebb61488cc flashfocus: Apply patch to fix build
Not using the 2.8.0 release because it's messed up and doesn't include this
patch
2026-02-23 15:59:41 +02:00

78 lines
1.5 KiB
Nix

{
lib,
python3Packages,
fetchPypi,
fetchpatch,
netcat-openbsd,
procps,
bash,
nix-update-script,
}:
python3Packages.buildPythonApplication (finalAttrs: {
pname = "flashfocus";
version = "2.4.1";
pyproject = true;
src = fetchPypi {
inherit (finalAttrs) pname version;
hash = "sha256-O6jRQ6e96b8CuumTD6TGELaz26No7WFZgGSnNSlqzuE=";
};
patches = [
(fetchpatch {
name = "bump-marshmallow.patch";
url = "https://github.com/fennerm/flashfocus/commit/0ed8616ad31c5e281be1a890ad9510323fa1b6c7.patch";
hash = "sha256-A7PwvqPpi4koKD3d6SRHVV753hGd9wIf3/nT49f6qoY=";
})
];
postPatch = ''
substituteInPlace bin/nc_flash_window \
--replace-fail "nc" "${lib.getExe netcat-openbsd}"
substituteInPlace src/flashfocus/util.py \
--replace-fail "pidof" "${lib.getExe' procps "pidof"}"
'';
nativeBuildInputs = with python3Packages; [
setuptools
];
buildInputs = [
bash
];
pythonRelaxDeps = [
"pyyaml"
"xcffib"
"cffi"
];
propagatedBuildInputs = with python3Packages; [
i3ipc
xcffib
click
cffi
xpybutil
marshmallow
pyyaml
];
# Tests require access to a X session
doCheck = false;
pythonImportsCheck = [ "flashfocus" ];
passthru.updateScript = nix-update-script { };
meta = {
homepage = "https://github.com/fennerm/flashfocus";
description = "Simple focus animations for tiling window managers";
license = lib.licenses.mit;
platforms = lib.platforms.linux;
maintainers = with lib.maintainers; [ artturin ];
};
})