summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorJan Tojnar <jtojnar@gmail.com>2021-05-15 16:25:54 +0200
committerGitHub <noreply@github.com>2021-05-15 16:25:54 +0200
commit80a3e0dc0ef11ecd7c6171318d2e3f2f5390b6ac (patch)
tree04aadfc8683e34677f3c4d26b8fdcb6a342da41d /pkgs
parent9645178ab02e365e88090d1db105f521b3c7fb19 (diff)
parenta87c60a9c392af3f2bd86d59c8bd6e2a6a4a487c (diff)
downloadnixpkgs-80a3e0dc0ef11ecd7c6171318d2e3f2f5390b6ac.tar
nixpkgs-80a3e0dc0ef11ecd7c6171318d2e3f2f5390b6ac.tar.gz
nixpkgs-80a3e0dc0ef11ecd7c6171318d2e3f2f5390b6ac.tar.bz2
nixpkgs-80a3e0dc0ef11ecd7c6171318d2e3f2f5390b6ac.tar.lz
nixpkgs-80a3e0dc0ef11ecd7c6171318d2e3f2f5390b6ac.tar.xz
nixpkgs-80a3e0dc0ef11ecd7c6171318d2e3f2f5390b6ac.tar.zst
nixpkgs-80a3e0dc0ef11ecd7c6171318d2e3f2f5390b6ac.zip
Merge pull request #122997 from NixOS/gnome-40
GNOME 40: more updates
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/desktops/gnome/apps/gnome-calendar/default.nix4
-rw-r--r--pkgs/desktops/gnome/apps/gnome-connections/default.nix48
-rw-r--r--pkgs/desktops/gnome/apps/gnome-todo/default.nix54
-rw-r--r--pkgs/desktops/gnome/core/gnome-remote-desktop/default.nix18
-rw-r--r--pkgs/desktops/gnome/core/gnome-shell-extensions/default.nix59
-rw-r--r--pkgs/desktops/gnome/core/gnome-shell/default.nix15
-rw-r--r--pkgs/desktops/gnome/core/mutter/default.nix15
-rw-r--r--pkgs/desktops/gnome/extensions/sound-output-device-chooser/default.nix16
-rw-r--r--pkgs/development/libraries/graphene/0001-meson-add-options-for-tests-installation-dirs.patch42
-rw-r--r--pkgs/development/libraries/graphene/default.nix21
-rw-r--r--pkgs/development/libraries/gtk-frdp/default.nix54
-rw-r--r--pkgs/development/libraries/libportal/default.nix21
-rw-r--r--pkgs/development/tools/misc/d-feet/default.nix4
-rw-r--r--pkgs/top-level/all-packages.nix2
14 files changed, 217 insertions, 156 deletions
diff --git a/pkgs/desktops/gnome/apps/gnome-calendar/default.nix b/pkgs/desktops/gnome/apps/gnome-calendar/default.nix
index 3e80575a33d..9c0b1f65976 100644
--- a/pkgs/desktops/gnome/apps/gnome-calendar/default.nix
+++ b/pkgs/desktops/gnome/apps/gnome-calendar/default.nix
@@ -24,11 +24,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-calendar";
-  version = "40.0";
+  version = "40.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "0d74hng9jdmwdcjgj4xfrcink2gwkbp1k1mad4wanaf7q31c6f38";
+    sha256 = "2M30n57uHDo8aZHDL4VjxKfE2w23ymPOUcyRjkM7M6U=";
   };
 
   patches = [
diff --git a/pkgs/desktops/gnome/apps/gnome-connections/default.nix b/pkgs/desktops/gnome/apps/gnome-connections/default.nix
index abdf751baeb..a00b239641f 100644
--- a/pkgs/desktops/gnome/apps/gnome-connections/default.nix
+++ b/pkgs/desktops/gnome/apps/gnome-connections/default.nix
@@ -1,46 +1,45 @@
-{ lib, stdenv
+{ lib
+, stdenv
 , fetchurl
-, gnome
 , meson
 , ninja
-, vala
 , pkg-config
+, vala
+, gettext
+, itstool
+, python3
+, appstream-glib
+, desktop-file-utils
+, wrapGAppsHook
 , glib
 , gtk3
-, python3
 , libxml2
 , gtk-vnc
-, gettext
-, desktop-file-utils
-, appstream-glib
-, gobject-introspection
-, freerdp
-, wrapGAppsHook
+, gtk-frdp
+, gnome
 }:
 
 stdenv.mkDerivation rec {
   pname = "gnome-connections";
-  version = "3.38.1";
+  version = "40.0.1";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/connections/${lib.versions.majorMinor version}/connections-${version}.tar.xz";
-    hash = "sha256-5c7uBFkh9Vsw6bWWUDjNTMDrrFqI5JEgYlsWpfyuTpA=";
+    url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
+    hash = "sha256-vpvLoHzz+vWs4M5UzSL4YJtNx3ZuJe5f2cGAw5WbTRE=";
   };
 
   nativeBuildInputs = [
-    desktop-file-utils
-    gettext
-    glib # glib-compile-resources
     meson
-    appstream-glib
     ninja
     pkg-config
-    python3
     vala
+    gettext
+    itstool
+    python3
+    appstream-glib
+    desktop-file-utils
+    glib # glib-compile-resources
     wrapGAppsHook
-
-    # for gtk-frdp subproject
-    gobject-introspection
   ];
 
   buildInputs = [
@@ -48,9 +47,7 @@ stdenv.mkDerivation rec {
     gtk-vnc
     gtk3
     libxml2
-
-    # for gtk-frdp subproject
-    freerdp
+    gtk-frdp
   ];
 
   postPatch = ''
@@ -60,8 +57,7 @@ stdenv.mkDerivation rec {
 
   passthru = {
     updateScript = gnome.updateScript {
-      packageName = "connections";
-      attrPath = "gnome-connections";
+      packageName = pname;
     };
   };
 
diff --git a/pkgs/desktops/gnome/apps/gnome-todo/default.nix b/pkgs/desktops/gnome/apps/gnome-todo/default.nix
index 885f21cf3ec..ae1334cd562 100644
--- a/pkgs/desktops/gnome/apps/gnome-todo/default.nix
+++ b/pkgs/desktops/gnome/apps/gnome-todo/default.nix
@@ -1,4 +1,5 @@
-{ lib, stdenv
+{ lib
+, stdenv
 , fetchurl
 , fetchpatch
 , meson
@@ -9,13 +10,14 @@
 , gettext
 , gnome
 , glib
-, gtk3
+, gtk4
+, wayland
+, libadwaita
 , libpeas
 , gnome-online-accounts
 , gsettings-desktop-schemas
+, libportal
 , evolution-data-server
-, libxml2
-, libsoup
 , libical
 , librest
 , json-glib
@@ -23,26 +25,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-todo";
-  version = "3.28.1";
+  version = "40.0";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "08ygqbib72jlf9y0a16k54zz51sncpq2wa18wp81v46q8301ymy7";
+    url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
+    sha256 = "aAl8lvBnXHFCZn0QQ0ToNHLdf8xTj+wKzb9gJrucobE=";
   };
 
-  patches = [
-    # fix build with libecal 2.0
-    (fetchpatch {
-      name = "gnome-todo-eds-libecal-2.0.patch";
-      url = "https://src.fedoraproject.org/rpms/gnome-todo/raw/bed44b8530f3c79589982e03b430b3a125e9bceb/f/gnome-todo-eds-libecal-2.0.patch";
-      sha256 = "1ghrz973skal36j90wm2z13m3panw983r6y0k7z9gpj5lxgz92mq";
-    })
-  ];
-  postPatch = ''
-    chmod +x meson_post_install.py
-    patchShebangs meson_post_install.py
-  '';
-
   nativeBuildInputs = [
     meson
     ninja
@@ -54,23 +43,30 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     glib
-    gtk3
+    gtk4
+    wayland # required by gtk header
+    libadwaita
     libpeas
     gnome-online-accounts
     gsettings-desktop-schemas
     gnome.adwaita-icon-theme
+
     # Plug-ins
-    evolution-data-server
-    libxml2
-    libsoup
+    libportal # background
+    evolution-data-server # eds
     libical
-    librest
-    json-glib
+    librest # todoist
+    json-glib # todoist
   ];
 
-  # Fix parallel building: missing dependency from src/gtd-application.c
-  # Probably remove for 3.30+ https://gitlab.gnome.org/GNOME/gnome-todo/issues/170
-  preBuild = "ninja src/gtd-vcs-identifier.h";
+  postPatch = ''
+    chmod +x build-aux/meson/meson_post_install.py
+    patchShebangs build-aux/meson/meson_post_install.py
+
+    # https://gitlab.gnome.org/GNOME/gnome-todo/merge_requests/103
+    substituteInPlace src/meson.build \
+      --replace 'Gtk-3.0' 'Gtk-4.0'
+  '';
 
   passthru = {
     updateScript = gnome.updateScript {
diff --git a/pkgs/desktops/gnome/core/gnome-remote-desktop/default.nix b/pkgs/desktops/gnome/core/gnome-remote-desktop/default.nix
index 8411b2edecb..fda0f6e2ffd 100644
--- a/pkgs/desktops/gnome/core/gnome-remote-desktop/default.nix
+++ b/pkgs/desktops/gnome/core/gnome-remote-desktop/default.nix
@@ -12,17 +12,20 @@
 , libvncserver
 , libsecret
 , libnotify
+, libxkbcommon
 , gdk-pixbuf
 , freerdp
+, fuse3
+, gnome
 }:
 
 stdenv.mkDerivation rec {
   pname = "gnome-remote-desktop";
-  version = "0.1.9";
+  version = "40.1";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    hash = "sha256-8iZtp4tBRT7NNRKuzwop3rcMvq16RG/I2sAlEIsJ0M8=";
+    url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
+    hash = "sha256-mvpuUlVwo3IJP5cwM4JwkDiU87H5+KnfX1eDbqHSnek=";
   };
 
   nativeBuildInputs = [
@@ -36,11 +39,13 @@ stdenv.mkDerivation rec {
   buildInputs = [
     cairo
     freerdp
+    fuse3
     gdk-pixbuf # For libnotify
     glib
     libnotify
     libsecret
     libvncserver
+    libxkbcommon
     pipewire
     systemd
   ];
@@ -54,6 +59,13 @@ stdenv.mkDerivation rec {
     "-Dsystemd_user_unit_dir=${placeholder "out"}/lib/systemd/user"
   ];
 
+  passthru = {
+    updateScript = gnome.updateScript {
+      packageName = pname;
+      attrPath = "gnome.${pname}";
+    };
+  };
+
   meta = with lib; {
     homepage = "https://wiki.gnome.org/Projects/Mutter/RemoteDesktop";
     description = "GNOME Remote Desktop server";
diff --git a/pkgs/desktops/gnome/core/gnome-shell-extensions/default.nix b/pkgs/desktops/gnome/core/gnome-shell-extensions/default.nix
index 6c38b790959..6e8168a306a 100644
--- a/pkgs/desktops/gnome/core/gnome-shell-extensions/default.nix
+++ b/pkgs/desktops/gnome/core/gnome-shell-extensions/default.nix
@@ -1,20 +1,23 @@
-{ lib, stdenv, fetchurl, fetchpatch, meson, ninja, gettext, pkg-config, spidermonkey_68, glib
-, gnome, gnome-menus, substituteAll }:
+{ lib
+, stdenv
+, fetchurl
+, meson
+, ninja
+, gettext
+, pkg-config
+, glib
+, gnome
+, gnome-menus
+, substituteAll
+}:
 
 stdenv.mkDerivation rec {
   pname = "gnome-shell-extensions";
-  version = "40.0";
+  version = "40.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-shell-extensions/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "15hak4prx2nx1svfii39clxy1lll8crdf7p91if85jcsh6r8ab8p";
-  };
-
-  passthru = {
-    updateScript = gnome.updateScript {
-      packageName = pname;
-      attrPath = "gnome.${pname}";
-    };
+    sha256 = "T7/OCtQ1e+5zrn3Bjqoe9MqnOF5PlPavuN/HJR/RqL8=";
   };
 
   patches = [
@@ -22,24 +25,19 @@ stdenv.mkDerivation rec {
       src = ./fix_gmenu.patch;
       gmenu_path = "${gnome-menus}/lib/girepository-1.0";
     })
-
-    # Do not show welcome dialog in gnome-classic.
-    # Needed for gnome-shell 40.1.
-    # https://gitlab.gnome.org/GNOME/gnome-shell-extensions/merge_requests/169
-    (fetchpatch {
-      url = "https://gitlab.gnome.org/GNOME/gnome-shell-extensions/commit/3e8bbb07ea7109c44d5ac7998f473779e742d041.patch";
-      sha256 = "jSmPwSBgRBfPPP9mGVjw1mSWumIXQqtA6tSqHr3U+3w=";
-    })
   ];
 
-  doCheck = true;
-  # 60 is required for tests
-  # https://gitlab.gnome.org/GNOME/gnome-shell-extensions/blob/3.34.0/meson.build#L23
-  checkInputs = [ spidermonkey_68 ];
-
-  nativeBuildInputs = [ meson ninja pkg-config gettext glib ];
+  nativeBuildInputs = [
+    meson
+    ninja
+    pkg-config
+    gettext
+    glib
+  ];
 
-  mesonFlags = [ "-Dextension_set=all" ];
+  mesonFlags = [
+    "-Dextension_set=all"
+  ];
 
   preFixup = ''
     # The meson build doesn't compile the schemas.
@@ -63,11 +61,18 @@ stdenv.mkDerivation rec {
     done
   '';
 
+  passthru = {
+    updateScript = gnome.updateScript {
+      packageName = pname;
+      attrPath = "gnome.${pname}";
+    };
+  };
+
   meta = with lib; {
     homepage = "https://wiki.gnome.org/Projects/GnomeShell/Extensions";
     description = "Modify and extend GNOME Shell functionality and behavior";
     maintainers = teams.gnome.members;
-    license = licenses.gpl2;
+    license = licenses.gpl2Plus;
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/desktops/gnome/core/gnome-shell/default.nix b/pkgs/desktops/gnome/core/gnome-shell/default.nix
index 66eaafb2cc7..41d2fac5e61 100644
--- a/pkgs/desktops/gnome/core/gnome-shell/default.nix
+++ b/pkgs/desktops/gnome/core/gnome-shell/default.nix
@@ -1,6 +1,5 @@
 { fetchurl
 , fetchpatch
-, fetchgit
 , substituteAll
 , lib, stdenv
 , meson
@@ -67,20 +66,14 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "gnome-shell";
-  version = "40.0-unstable-2021-05-01";
+  version = "40.1";
 
   outputs = [ "out" "devdoc" ];
 
-  src = fetchgit {
-    url = "https://gitlab.gnome.org/GNOME/gnome-shell.git";
-    rev = "a8a79c03330427808e776c344f7ebc42782a1b5a";
-    sha256 = "ivHV0SRpnBqsdC7fu1Xhtd/BA55O0UdbUyDLy5KHNYs=";
-    fetchSubmodules = true;
+  src = fetchurl {
+    url = "mirror://gnome/sources/gnome-shell/${lib.versions.major version}/${pname}-${version}.tar.xz";
+    sha256 = "sha256-9j4r7Zm9iVjPMT2F9EoBjVn4UqBbqfKap8t0S+xvprc=";
   };
-  # src = fetchurl {
-  #   url = "mirror://gnome/sources/gnome-shell/${lib.versions.major version}/${pname}-${version}.tar.xz";
-  #   sha256 = "sha256-vOcfQC36qcXiab9lv0iiI0PYlubPmiw0ZpOS1/v2hHg=";
-  # };
 
   patches = [
     # Hardcode paths to various dependencies so that they can be found at runtime.
diff --git a/pkgs/desktops/gnome/core/mutter/default.nix b/pkgs/desktops/gnome/core/mutter/default.nix
index 9f6a64ef182..4ad082dabfc 100644
--- a/pkgs/desktops/gnome/core/mutter/default.nix
+++ b/pkgs/desktops/gnome/core/mutter/default.nix
@@ -1,8 +1,8 @@
 { fetchurl
-, fetchpatch
 , substituteAll
 , runCommand
-, lib, stdenv
+, lib
+, stdenv
 , pkg-config
 , gnome
 , gettext
@@ -45,13 +45,13 @@
 
 let self = stdenv.mkDerivation rec {
   pname = "mutter";
-  version = "40.0";
+  version = "40.1";
 
   outputs = [ "out" "dev" "man" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/mutter/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-enGzEuWmZ8U3SJUYilBqP2tnF2i8s2K2jv3FYnc9GY4=";
+    sha256 = "sha256-pl8ycpYRM4KWh9QQcmfk4ZKQ5thueAf62H6rCDHB4MA=";
   };
 
   patches = [
@@ -63,13 +63,6 @@ let self = stdenv.mkDerivation rec {
       src = ./fix-paths.patch;
       inherit zenity;
     })
-
-    # Fix non-deterministic build failure:
-    # https://gitlab.gnome.org/GNOME/mutter/-/issues/1682
-    (fetchpatch {
-      url = "https://gitlab.gnome.org/GNOME/mutter/commit/91117bb052ed0d69c8ea4159c1df15c814d90627.patch";
-      sha256 = "ek8hEoPP4S2TGOm6SGGOhUVIp4OT68nz0SQzZrceFUU=";
-    })
   ];
 
   mesonFlags = [
diff --git a/pkgs/desktops/gnome/extensions/sound-output-device-chooser/default.nix b/pkgs/desktops/gnome/extensions/sound-output-device-chooser/default.nix
index e58d8ce6e42..f01a2cd545e 100644
--- a/pkgs/desktops/gnome/extensions/sound-output-device-chooser/default.nix
+++ b/pkgs/desktops/gnome/extensions/sound-output-device-chooser/default.nix
@@ -7,13 +7,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-shell-extension-sound-output-device-chooser";
-  version = "35";
+  version = "38";
 
   src = fetchFromGitHub {
     owner = "kgshank";
     repo = "gse-sound-output-device-chooser";
     rev = version;
-    sha256 = "sha256-Yl5ut6kJAkAAdCBiNFpwDgshXCLMmFH3/zhnFGpyKqs=";
+    sha256 = "sha256-LZ+C9iK+j7+DEscYCIObxXc0Bn0Z0xSsEFMZxc8REWA=";
   };
 
   patches = [
@@ -28,11 +28,13 @@ stdenv.mkDerivation rec {
   dontBuild = true;
 
   uuid = "sound-output-device-chooser@kgshank.net";
-  installPhase = ''
-    runHook preInstall
-    mkdir -p $out/share/gnome-shell/extensions
-    cp -r ${uuid} $out/share/gnome-shell/extensions
-    runHook postInstall
+
+  makeFlags = [
+    "INSTALL_DIR=${placeholder "out"}/share/gnome-shell/extensions"
+  ];
+
+  preInstall = ''
+    mkdir -p ${placeholder "out"}/share/gnome-shell/extensions
   '';
 
   meta = with lib; {
diff --git a/pkgs/development/libraries/graphene/0001-meson-add-options-for-tests-installation-dirs.patch b/pkgs/development/libraries/graphene/0001-meson-add-options-for-tests-installation-dirs.patch
index 51bc206659d..a82a06d427b 100644
--- a/pkgs/development/libraries/graphene/0001-meson-add-options-for-tests-installation-dirs.patch
+++ b/pkgs/development/libraries/graphene/0001-meson-add-options-for-tests-installation-dirs.patch
@@ -1,18 +1,18 @@
-From 2bf6614a6d7516e194e39eb691c05b486860153c Mon Sep 17 00:00:00 2001
+From 57bed86429db9d871f1442c94f14e94e38972ca3 Mon Sep 17 00:00:00 2001
 From: worldofpeace <worldofpeace@protonmail.ch>
 Date: Thu, 16 May 2019 21:15:15 -0400
 Subject: [PATCH] meson: add options for tests installation dirs
 
 ---
  meson_options.txt |  6 ++++++
- tests/meson.build | 19 ++++++++++++++-----
- 2 files changed, 20 insertions(+), 5 deletions(-)
+ tests/meson.build | 23 ++++++++++++++++-------
+ 2 files changed, 22 insertions(+), 7 deletions(-)
 
 diff --git a/meson_options.txt b/meson_options.txt
-index 578bdae..6f5fa23 100644
+index b9a2fb5..4b8629f 100644
 --- a/meson_options.txt
 +++ b/meson_options.txt
-@@ -22,3 +22,9 @@ option('tests', type: 'boolean',
+@@ -23,3 +23,9 @@ option('tests', type: 'boolean',
  option('installed_tests', type: 'boolean',
         value: true,
         description: 'Install tests')
@@ -23,12 +23,12 @@ index 578bdae..6f5fa23 100644
 +       value: '',
 +       description: 'Installation directory for binary files in tests')
 diff --git a/tests/meson.build b/tests/meson.build
-index 1f9bd0e..0253ac3 100644
+index 77281f5..c4c7fac 100644
 --- a/tests/meson.build
 +++ b/tests/meson.build
-@@ -22,8 +22,17 @@ unit_tests = [
- python = python3.find_python()
- gen_installed_test = join_paths(meson.current_source_dir(), 'gen-installed-test.py')
+@@ -21,8 +21,17 @@ unit_tests = [
+ 
+ gen_installed_test = find_program('gen-installed-test.py')
  
 -installed_test_datadir = join_paths(get_option('prefix'), get_option('datadir'), 'installed-tests', graphene_api_path)
 -installed_test_bindir = join_paths(get_option('prefix'), get_option('libexecdir'), 'installed-tests', graphene_api_path)
@@ -46,9 +46,9 @@ index 1f9bd0e..0253ac3 100644
  
  # Make tests conditional on having mutest-1 installed system-wide, or
  # available as a subproject
-@@ -42,13 +51,13 @@ if mutest_dep.found()
+@@ -40,13 +49,13 @@ if mutest_dep.found()
+       output: wrapper,
        command: [
-         python,
          gen_installed_test,
 -        '--testdir=@0@'.format(installed_test_bindir),
 +        '--testdir=@0@'.format(test_bindir),
@@ -62,7 +62,7 @@ index 1f9bd0e..0253ac3 100644
      )
  
      test(unit,
-@@ -57,7 +66,7 @@ if mutest_dep.found()
+@@ -55,7 +64,7 @@ if mutest_dep.found()
          include_directories: graphene_inc,
          c_args: common_cflags,
          install: get_option('installed_tests'),
@@ -71,6 +71,22 @@ index 1f9bd0e..0253ac3 100644
        ),
        env: ['MUTEST_OUTPUT=tap'],
        protocol: 'tap',
+@@ -70,13 +79,13 @@ if build_gir and host_system == 'linux' and not meson.is_cross_build()
+       output: wrapper,
+       command: [
+         gen_installed_test,
+-        '--testdir=@0@'.format(installed_test_bindir),
++        '--testdir=@0@'.format(test_bindir),
+         '--testname=@0@'.format(unit),
+         '--outdir=@OUTDIR@',
+         '--outfile=@0@'.format(wrapper),
+       ],
+       install: get_option('installed_tests'),
+-      install_dir: installed_test_datadir,
++      install_dir: test_datadir,
+     )
+ 
+     test(unit,
 -- 
-2.22.0
+2.31.1
 
diff --git a/pkgs/development/libraries/graphene/default.nix b/pkgs/development/libraries/graphene/default.nix
index b1b27a3d298..a9c647268ac 100644
--- a/pkgs/development/libraries/graphene/default.nix
+++ b/pkgs/development/libraries/graphene/default.nix
@@ -16,7 +16,7 @@
 
 stdenv.mkDerivation rec {
   pname = "graphene";
-  version = "1.10.2";
+  version = "1.10.6";
 
   outputs = [ "out" "devdoc" "installedTests" ];
 
@@ -24,19 +24,14 @@ stdenv.mkDerivation rec {
     owner = "ebassi";
     repo = pname;
     rev = version;
-    sha256 = "1ljhhjafi1nlndjswx7mg0d01zci90wz77yvz5w8bd9mm8ssw38s";
+    sha256 = "v6YH3fRMTzhp7wmU8in9ukcavzHmOAW54EK9ZwQyFxc=";
   };
 
   patches = [
+    # Add option for changing installation path of installed tests.
     ./0001-meson-add-options-for-tests-installation-dirs.patch
   ];
 
-  mesonFlags = [
-    "-Dgtk_doc=true"
-    "-Dinstalled_test_datadir=${placeholder "installedTests"}/share"
-    "-Dinstalled_test_bindir=${placeholder "installedTests"}/libexec"
-  ];
-
   nativeBuildInputs = [
     docbook_xml_dtd_43
     docbook_xsl
@@ -57,8 +52,18 @@ stdenv.mkDerivation rec {
     mutest
   ];
 
+  mesonFlags = [
+    "-Dgtk_doc=true"
+    "-Dinstalled_test_datadir=${placeholder "installedTests"}/share"
+    "-Dinstalled_test_bindir=${placeholder "installedTests"}/libexec"
+  ];
+
   doCheck = true;
 
+  postPatch = ''
+    patchShebangs tests/gen-installed-test.py
+  '';
+
   passthru = {
     tests = {
       installedTests = nixosTests.installed-tests.graphene;
diff --git a/pkgs/development/libraries/gtk-frdp/default.nix b/pkgs/development/libraries/gtk-frdp/default.nix
new file mode 100644
index 00000000000..e6c6d939193
--- /dev/null
+++ b/pkgs/development/libraries/gtk-frdp/default.nix
@@ -0,0 +1,54 @@
+{ lib
+, stdenv
+, fetchFromGitLab
+, meson
+, ninja
+, pkg-config
+, vala
+, gobject-introspection
+, glib
+, gtk3
+, freerdp
+, nix-update-script
+}:
+
+stdenv.mkDerivation rec {
+  pname = "gtk-frdp";
+  version = "3.37.1-unstable-2020-10-26";
+
+  src = fetchFromGitLab {
+    domain = "gitlab.gnome.org";
+    owner = "GNOME";
+    repo = pname;
+    rev = "805721e82ca1df6a50da3b5bd3b75d6747016482";
+    sha256 = "q/UFKYj3LUkAzll3KeKd6oec0GJnDtTuFMTTatKFlcs=";
+  };
+
+  nativeBuildInputs = [
+    meson
+    ninja
+    pkg-config
+    vala
+    gobject-introspection
+  ];
+
+  buildInputs = [
+    glib
+    gtk3
+    freerdp
+  ];
+
+  passthru = {
+    updateScript = nix-update-script {
+      attrPath = pname;
+    };
+  };
+
+  meta = with lib; {
+    homepage = "https://gitlab.gnome.org/GNOME/gtk-frdp";
+    description = "RDP viewer widget for GTK";
+    maintainers = teams.gnome.members;
+    license = licenses.lgpl3Plus;
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/development/libraries/libportal/default.nix b/pkgs/development/libraries/libportal/default.nix
index 5eacdaa8f3c..97c5303eabe 100644
--- a/pkgs/development/libraries/libportal/default.nix
+++ b/pkgs/development/libraries/libportal/default.nix
@@ -1,6 +1,6 @@
-{ lib, stdenv
+{ stdenv
+, lib
 , fetchFromGitHub
-, fetchpatch
 , meson
 , ninja
 , pkg-config
@@ -12,7 +12,7 @@
 
 stdenv.mkDerivation rec {
   pname = "libportal";
-  version = "0.3";
+  version = "0.4";
 
   outputs = [ "out" "dev" "devdoc" ];
 
@@ -20,22 +20,9 @@ stdenv.mkDerivation rec {
     owner = "flatpak";
     repo = pname;
     rev = version;
-    sha256 = "1s3g17zbbmq3m5jfs62fl94p4irln9hfhpybj7jb05z0p1939rk3";
+    sha256 = "fuYZWGkdazq6H0rThqpF6KIcvwgc17o+CiISb1LjBso=";
   };
 
-  patches = [
-    # Fix build and .pc file
-    # https://github.com/flatpak/libportal/pull/20
-    (fetchpatch {
-      url = "https://github.com/flatpak/libportal/commit/7828be4ec8f05f8de7b129a1e35b5039d8baaee3.patch";
-      sha256 = "04nadcxx69mbnzljwjrzm88cgapn14x3mghpkhr8b9yrjn7yj86h";
-    })
-    (fetchpatch {
-      url = "https://github.com/flatpak/libportal/commit/bf5de2f6fefec65f701b4ec8712b48b29a33fb71.patch";
-      sha256 = "1v0b09diq49c01j5gg2bpvn5f5gfw1a5nm1l8grc4qg4z9jck1z8";
-    })
-  ];
-
   nativeBuildInputs = [
     meson
     ninja
diff --git a/pkgs/development/tools/misc/d-feet/default.nix b/pkgs/development/tools/misc/d-feet/default.nix
index 73126752b98..a44b5ed8c76 100644
--- a/pkgs/development/tools/misc/d-feet/default.nix
+++ b/pkgs/development/tools/misc/d-feet/default.nix
@@ -16,13 +16,13 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "d-feet";
-  version = "0.3.15";
+  version = "0.3.16";
 
   format = "other";
 
   src = fetchurl {
     url = "mirror://gnome/sources/d-feet/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1cgxgpj546jgpyns6z9nkm5k48lid8s36mvzj8ydkjqws2d19zqz";
+    sha256 = "hzPOS5qaVOwYWx2Fv02p2dEQUogqiAdg/2D5d5stHMs=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 11d313fc0ed..177e25ea3c9 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -5363,6 +5363,8 @@ in
 
   gtkperf = callPackage ../development/tools/misc/gtkperf { };
 
+  gtk-frdp = callPackage ../development/libraries/gtk-frdp {};
+
   gtk-vnc = callPackage ../tools/admin/gtk-vnc {};
 
   gtmess = callPackage ../applications/networking/instant-messengers/gtmess {