Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / development / libraries / xdg-desktop-portal-gnome / default.nix
blobc25bc2f512ba8b1c295c09bc170c476ed2f21ee1
1 { stdenv
2 , lib
3 , fetchurl
4 , meson
5 , ninja
6 , pkg-config
7 , wrapGAppsHook4
8 , fontconfig
9 , glib
10 , gsettings-desktop-schemas
11 , gtk4
12 , libadwaita
13 , gnome-desktop
14 , xdg-desktop-portal
15 , wayland
16 , gnome
17 , librsvg
18 , webp-pixbuf-loader
21 stdenv.mkDerivation rec {
22   pname = "xdg-desktop-portal-gnome";
23   version = "44.2";
25   src = fetchurl {
26     url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
27     sha256 = "UO0arCkDA+oLxchAqcEWWRhUarSnOiTFLcqicHK1/yE=";
28   };
30   nativeBuildInputs = [
31     meson
32     ninja
33     pkg-config
34     wrapGAppsHook4
35   ];
37   buildInputs = [
38     fontconfig
39     glib
40     gsettings-desktop-schemas # settings exposed by settings portal
41     gtk4
42     libadwaita
43     gnome-desktop
44     xdg-desktop-portal
45     wayland # required by GTK 4
46   ];
48   mesonFlags = [
49     "-Dsystemduserunitdir=${placeholder "out"}/lib/systemd/user"
50   ];
52   postInstall = ''
53     # Pull in WebP support for gnome-backgrounds.
54     # In postInstall to run before gappsWrapperArgsHook.
55     export GDK_PIXBUF_MODULE_FILE="${gnome._gdkPixbufCacheBuilder_DO_NOT_USE {
56       extraLoaders = [
57         librsvg
58         webp-pixbuf-loader
59       ];
60     }}"
61   '';
63   passthru = {
64     updateScript = gnome.updateScript {
65       packageName = pname;
66     };
67   };
69   meta = with lib; {
70     description = "Backend implementation for xdg-desktop-portal for the GNOME desktop environment";
71     homepage = "https://gitlab.gnome.org/GNOME/xdg-desktop-portal-gnome";
72     maintainers = teams.gnome.members;
73     platforms = platforms.linux;
74     license = licenses.lgpl21Plus;
75   };