python313Packages.traits: fix build (#373698)
[NixPkgs.git] / pkgs / development / libraries / libpeas / default.nix
blobdf0398797df0d339292667df9add66c655ed4138
2   stdenv,
3   lib,
4   fetchurl,
5   substituteAll,
6   meson,
7   ninja,
8   pkg-config,
9   gettext,
10   gi-docgen,
11   gnome,
12   glib,
13   gtk3,
14   gobject-introspection,
15   python3,
16   ncurses,
17   wrapGAppsHook3,
20 stdenv.mkDerivation rec {
21   pname = "libpeas";
22   version = "1.36.0";
24   outputs = [
25     "out"
26     "dev"
27     "devdoc"
28   ];
30   src = fetchurl {
31     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
32     sha256 = "KXy5wszNjoYXYj0aPoQVtFMLjlqJPjUnu/0e3RMje0w=";
33   };
35   patches = [
36     # Make PyGObject’s gi library available.
37     (substituteAll {
38       src = ./fix-paths.patch;
39       pythonPaths = lib.concatMapStringsSep ", " (pkg: "'${pkg}/${python3.sitePackages}'") [
40         python3.pkgs.pygobject3
41       ];
42     })
43   ];
45   depsBuildBuild = [
46     pkg-config
47   ];
49   nativeBuildInputs = [
50     pkg-config
51     meson
52     ninja
53     gettext
54     gi-docgen
55     gobject-introspection
56     wrapGAppsHook3
57   ];
59   buildInputs = [
60     glib
61     gtk3
62     ncurses
63     python3
64     python3.pkgs.pygobject3
65   ];
67   propagatedBuildInputs = [
68     # Required by libpeas-1.0.pc
69     gobject-introspection
70   ];
72   mesonFlags = [
73     "-Dgtk_doc=true"
74   ];
76   postFixup = ''
77     # Cannot be in postInstall, otherwise _multioutDocs hook in preFixup will move right back.
78     moveToOutput "share/doc" "$devdoc"
79   '';
81   passthru = {
82     updateScript = gnome.updateScript {
83       packageName = pname;
84       versionPolicy = "odd-unstable";
85       freeze = true;
86     };
87   };
89   meta = with lib; {
90     description = "GObject-based plugins engine";
91     mainProgram = "peas-demo";
92     homepage = "https://gitlab.gnome.org/GNOME/libpeas";
93     license = licenses.gpl2Plus;
94     platforms = platforms.unix;
95     maintainers = teams.gnome.members;
96   };