diff options
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/xdg-desktop-portal-gnome')
-rw-r--r-- | nixpkgs/pkgs/development/libraries/xdg-desktop-portal-gnome/default.nix | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/libraries/xdg-desktop-portal-gnome/default.nix b/nixpkgs/pkgs/development/libraries/xdg-desktop-portal-gnome/default.nix new file mode 100644 index 000000000000..1fd30139bc14 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/xdg-desktop-portal-gnome/default.nix @@ -0,0 +1,76 @@ +{ stdenv +, lib +, fetchurl +, meson +, ninja +, pkg-config +, wrapGAppsHook4 +, fontconfig +, glib +, gsettings-desktop-schemas +, gtk4 +, libadwaita +, gnome-desktop +, xdg-desktop-portal +, wayland +, gnome +, librsvg +, webp-pixbuf-loader +}: + +stdenv.mkDerivation rec { + pname = "xdg-desktop-portal-gnome"; + version = "45.0"; + + src = fetchurl { + url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz"; + sha256 = "lJWYhhyAAA/r8YzBKzchyVwbsdGTcfwhVtxPM971r/A="; + }; + + nativeBuildInputs = [ + meson + ninja + pkg-config + wrapGAppsHook4 + ]; + + buildInputs = [ + fontconfig + glib + gsettings-desktop-schemas # settings exposed by settings portal + gtk4 + libadwaita + gnome-desktop + xdg-desktop-portal + wayland # required by GTK 4 + ]; + + mesonFlags = [ + "-Dsystemduserunitdir=${placeholder "out"}/lib/systemd/user" + ]; + + postInstall = '' + # Pull in WebP support for gnome-backgrounds. + # In postInstall to run before gappsWrapperArgsHook. + export GDK_PIXBUF_MODULE_FILE="${gnome._gdkPixbufCacheBuilder_DO_NOT_USE { + extraLoaders = [ + librsvg + webp-pixbuf-loader + ]; + }}" + ''; + + passthru = { + updateScript = gnome.updateScript { + packageName = pname; + }; + }; + + meta = with lib; { + description = "Backend implementation for xdg-desktop-portal for the GNOME desktop environment"; + homepage = "https://gitlab.gnome.org/GNOME/xdg-desktop-portal-gnome"; + maintainers = teams.gnome.members; + platforms = platforms.linux; + license = licenses.lgpl21Plus; + }; +} |