1{ lib
2, stdenv
3, fetchurl
4, buildPythonPackage
5, pkg-config
6, glib
7, gobject-introspection
8, pycairo
9, cairo
10, which
11, ncurses
12, meson
13, ninja
14, isPy3k
15, gnome
16}:
17
18buildPythonPackage rec {
19 pname = "pygobject";
20 version = "3.40.1";
21
22 outputs = [ "out" "dev" ];
23
24 disabled = !isPy3k;
25
26 format = "other";
27
28 src = fetchurl {
29 url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
30 sha256 = "0d80g5kgf2i9cginyhalvb7ibfk9g30yilqzmcsw6h6byj8xbih0";
31 };
32
33 nativeBuildInputs = [
34 pkg-config
35 meson
36 ninja
37 gobject-introspection
38 ];
39
40 buildInputs = [
41 glib
42 gobject-introspection
43 ] ++ lib.optionals stdenv.isDarwin [
44 ncurses
45 ];
46
47 propagatedBuildInputs = [
48 pycairo
49 cairo
50 ];
51
52 passthru = {
53 updateScript = gnome.updateScript {
54 packageName = pname;
55 attrPath = "python3.pkgs.${pname}3";
56 versionPolicy = "odd-unstable";
57 };
58 };
59
60 meta = with lib; {
61 homepage = "https://pygobject.readthedocs.io/";
62 description = "Python bindings for Glib";
63 license = licenses.lgpl21Plus;
64 maintainers = with maintainers; [ jtojnar ];
65 platforms = platforms.unix;
66 };
67}