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