1{
2 stdenv,
3 lib,
4 buildPythonPackage,
5 fetchFromGitHub,
6 setuptools,
7
8 ewmhlib,
9 xlib,
10 typing-extensions,
11 pyobjc-core,
12 pyobjc-framework-Cocoa,
13}:
14
15buildPythonPackage rec {
16 pname = "pywinbox";
17 version = "0.7";
18 pyproject = true;
19
20 src = fetchFromGitHub {
21 owner = "Kalmat";
22 repo = "PyWinBox";
23 rev = "refs/tags/v${version}";
24 hash = "sha256-Z/gedrIFNpQvzRWqGxMEl5MoEIo9znZz/FZLMVl0Eb4=";
25 };
26
27 build-system = [ setuptools ];
28
29 dependencies = [
30 ewmhlib
31 xlib
32 typing-extensions
33 ]
34 ++ lib.optionals stdenv.hostPlatform.isDarwin [
35 pyobjc-core
36 pyobjc-framework-Cocoa
37 ];
38
39 # requires x session (use ewmhlib)
40 pythonImportsCheck = [ ];
41 doCheck = false;
42
43 meta = {
44 homepage = "https://github.com/Kalmat/PyWinBox";
45 license = lib.licenses.bsd3;
46 description = "Cross-Platform and multi-monitor toolkit to handle rectangular areas and windows box";
47 maintainers = with lib.maintainers; [ sigmanificient ];
48 };
49}