1{
2 lib,
3 stdenv,
4 buildPythonPackage,
5 pythonOlder,
6 fetchFromGitHub,
7 attrs,
8 pillow,
9 toml,
10 numpy,
11 pyyaml,
12 python,
13 pytestCheckHook,
14}:
15
16buildPythonPackage rec {
17 pname = "clickgen";
18 version = "2.2.5";
19 format = "setuptools";
20
21 disabled = pythonOlder "3.8";
22
23 src = fetchFromGitHub {
24 owner = "ful1e5";
25 repo = "clickgen";
26 tag = "v${version}";
27 hash = "sha256-yFEkE1VyeHBuebpsumc6CTvv2kpAw7XAWlyUlXibqz0=";
28 };
29
30 propagatedBuildInputs = [
31 attrs
32 numpy
33 pillow
34 pyyaml
35 toml
36 ];
37
38 nativeCheckInputs = [ pytestCheckHook ];
39
40 postInstall = ''
41 # Copying scripts directory needed by clickgen script at $out/bin/
42 cp -R src/clickgen/scripts $out/${python.sitePackages}/clickgen/scripts
43 '';
44
45 pythonImportsCheck = [ "clickgen" ];
46
47 meta = with lib; {
48 homepage = "https://github.com/ful1e5/clickgen";
49 description = "Hassle-free cursor building toolbox";
50 longDescription = ''
51 clickgen is API for building X11 and Windows Cursors from
52 .png files. clickgen is using anicursorgen and xcursorgen under the hood.
53 '';
54 license = licenses.mit;
55 maintainers = with maintainers; [ AdsonCicilioti ];
56 # fails with:
57 # ld: unknown option: -zdefs
58 broken = stdenv.hostPlatform.isDarwin;
59 };
60}