linuxPackages_latest.broadcom_sta: add patch to compile on Kernel 6.12 (#359484)
[NixPkgs.git] / pkgs / development / python-modules / xcffib / default.nix
blob63e96858b658f5a79ec4805caa99dc33144b0b8e
2   lib,
3   buildPythonPackage,
4   cffi,
5   fetchPypi,
6   pytestCheckHook,
7   pythonOlder,
8   xorg,
9 }:
11 buildPythonPackage rec {
12   pname = "xcffib";
13   version = "1.5.0";
14   format = "setuptools";
16   disabled = pythonOlder "3.7";
18   src = fetchPypi {
19     inherit pname version;
20     hash = "sha256-qVyUZfL5e0/O3mBr0eCEB6Mt9xy3YP1Xv+U2d9tpGsw=";
21   };
23   postPatch = ''
24     # Hardcode cairo library path
25     sed -e 's,ffi\.dlopen(,&"${xorg.libxcb.out}/lib/" + ,' -i xcffib/__init__.py
26   '';
28   propagatedNativeBuildInputs = [ cffi ];
30   propagatedBuildInputs = [ cffi ];
32   nativeCheckInputs = [
33     pytestCheckHook
34     xorg.xeyes
35     xorg.xvfb
36   ];
38   preCheck = ''
39     # import from $out
40     rm -r xcffib
41   '';
43   pythonImportsCheck = [ "xcffib" ];
45   # Tests use xvfb
46   __darwinAllowLocalNetworking = true;
48   meta = with lib; {
49     description = "Drop in replacement for xpyb, an XCB python binding";
50     homepage = "https://github.com/tych0/xcffib";
51     changelog = "https://github.com/tych0/xcffib/releases/tag/v${version}";
52     license = licenses.asl20;
53     platforms = platforms.linux ++ platforms.darwin ++ platforms.windows;
54     maintainers = with maintainers; [ kamilchm ];
55   };