My personal project and infrastructure archive
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
nomicon/pkgs/development/python-modules/clickgen/default.nix

63 lines
1.5 KiB

{ lib
, stdenv
, buildPythonPackage
, pythonOlder
, pythonAtLeast
, fetchFromGitHub
, pillow
, libX11
, libXcursor
, libpng
, python
, pytestCheckHook
}:
buildPythonPackage rec {
pname = "clickgen";
version = "1.2.0";
format = "setuptools";
disabled = pythonOlder "3.8" || pythonAtLeast "3.10";
src = fetchFromGitHub {
owner = "ful1e5";
repo = "clickgen";
rev = "v${version}";
sha256 = "sha256-01c8SVy+J004dq5KCUe62w7i/xUTxTfl/IpvUtGQgw0=";
};
buildInputs = [ libXcursor libX11 libpng ];
propagatedBuildInputs = [ pillow ];
checkInputs = [ pytestCheckHook ];
postBuild = ''
# Needs to build xcursorgen.so
cd src/xcursorgen
make
cd ../..
'';
postInstall = ''
install -m644 src/xcursorgen/xcursorgen.so $out/${python.sitePackages}/clickgen/xcursorgen.so
# Copying scripts directory needed by clickgen script at $out/bin/
cp -R src/clickgen/scripts $out/${python.sitePackages}/clickgen/scripts
'';
pythonImportsCheck = [ "clickgen" ];
meta = with lib; {
homepage = "https://github.com/ful1e5/clickgen";
description = "The hassle-free cursor building toolbox";
longDescription = ''
clickgen is API for building X11 and Windows Cursors from
.png files. clickgen is using anicursorgen and xcursorgen under the hood.
'';
license = licenses.mit;
maintainers = with maintainers; [ AdsonCicilioti ];
# fails with:
# ld: unknown option: -zdefs
broken = stdenv.isDarwin;
};
}