8a3eb935ac
Fix pytest failure of `test_svg_surface_get_document_unit`. This fix is backported to python 2 from upstream. Upstream has dropped support for python 2, but the fix works regardless of python versions. Hence we backport the fix for python 2, since many nix packages still depend on python2Packages.pycairo. Upstream: https://github.com/pygobject/pycairo/commit/678edd94d8a6dfb5d51f9c3549e6ee8c90a73744 Co-authored-by: Brian Leung <29217594+leungbk@users.noreply.github.com>
63 lines
1.4 KiB
Nix
63 lines
1.4 KiB
Nix
{ lib
|
|
, fetchFromGitHub
|
|
, fetchpatch
|
|
, meson
|
|
, ninja
|
|
, buildPythonPackage
|
|
, pytest
|
|
, pkg-config
|
|
, cairo
|
|
, python
|
|
}:
|
|
|
|
buildPythonPackage rec {
|
|
pname = "pycairo";
|
|
version = "1.18.2";
|
|
|
|
format = "other";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "pygobject";
|
|
repo = "pycairo";
|
|
rev = "v${version}";
|
|
sha256 = "142145a2whvlk92jijrbf3i2bqrzmspwpysj0bfypw0krzi0aa6j";
|
|
};
|
|
|
|
patches = [
|
|
(fetchpatch {
|
|
url = "https://github.com/pygobject/pycairo/commit/678edd94d8a6dfb5d51f9c3549e6ee8c90a73744.patch";
|
|
sha256 = "sha256-HmP69tUGYxZvJ/M9FJHwHTCjb9Kf4aWRyMT4wSymrT0=";
|
|
})
|
|
];
|
|
|
|
nativeBuildInputs = [
|
|
meson
|
|
ninja
|
|
pkg-config
|
|
];
|
|
|
|
buildInputs = [
|
|
cairo
|
|
];
|
|
|
|
# HACK: Don't use the pytestCheckHook because PYTHONPATH
|
|
# will be added by the Python setuptook breaking meson.
|
|
checkPhase = ''
|
|
${pytest}/bin/pytest
|
|
'';
|
|
|
|
mesonFlags = [
|
|
# This is only used for figuring out what version of Python is in
|
|
# use, and related stuff like figuring out what the install prefix
|
|
# should be, but it does need to be able to execute Python code.
|
|
"-Dpython=${python.pythonOnBuildForHost.interpreter}"
|
|
];
|
|
|
|
meta = with lib; {
|
|
description = "Python 2 bindings for cairo";
|
|
homepage = "https://pycairo.readthedocs.io/";
|
|
license = with licenses; [ lgpl21Only mpl11 ];
|
|
platforms = lib.platforms.linux ++ lib.platforms.darwin;
|
|
};
|
|
}
|