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