nixpkgs/nixos/modules/services/desktops/gnome/gnome-remote-desktop.nix
Bobby Rong 617e0ee76f
gnome.gnome-remote-desktop: 45.1 → 46.0
https://gitlab.gnome.org/GNOME/gnome-remote-desktop/-/compare/45.1...46.0

In file included from ../src/grd-settings.c:28:
/nix/store/xxx-freerdp-3.4.0/lib/pkgconfig/../../include/freerdp3/freerdp/freerdp.h:25:10:
fatal error: winpr/stream.h: No such file or directory
   25 | #include <winpr/stream.h>
      |          ^~~~~~~~~~~~~~~~
compilation terminated.

Ugh. So stuff I am aware of here:

- In freerdp3.pc, winpr3 is in Requires.private.
- In https://github.com/FreeRDP/FreeRDP/blob/3.4.0/include/freerdp/freerdp.h#L25 <winpr/stream.h>
  is included.
- In GNOME/gnome-remote-desktop@d29909a
  <freerdp/freerdp.h> is included in src/grd-settings.c.
- We patched pkg-config in NixOS to not include Requires.private in --cflags according to
  mate-desktop/atril issue 351.
- According to https://gitlab.gnome.org/GNOME/gjs/-/issues/571, Requires.private is probably correct
  if no data types are exposed in public API.

So to fix this somewhere, if src/grd-settings.c has direct usage of winpr, we can PR to g-r-d declaring
the dep. If freerdp/freerdp.h exposes winpr data types we PR to freerdp and move winpr to Requires.
Probably someone can help me do the check, I am committing this simply to unbreak the build for now.

Changelog-Reviewed-By: Maxine Aubrey <max@ine.dev>
2024-04-22 21:10:54 +02:00

33 lines
762 B
Nix

# Remote desktop daemon using Pipewire.
{ config, lib, pkgs, ... }:
with lib;
{
meta = {
maintainers = teams.gnome.members;
};
# Added 2021-05-07
imports = [
(mkRenamedOptionModule
[ "services" "gnome3" "gnome-remote-desktop" "enable" ]
[ "services" "gnome" "gnome-remote-desktop" "enable" ]
)
];
###### interface
options = {
services.gnome.gnome-remote-desktop = {
enable = mkEnableOption "Remote Desktop support using Pipewire";
};
};
###### implementation
config = mkIf config.services.gnome.gnome-remote-desktop.enable {
services.pipewire.enable = true;
systemd.packages = [ pkgs.gnome.gnome-remote-desktop ];
systemd.tmpfiles.packages = [ pkgs.gnome.gnome-remote-desktop ];
};
}