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>
This commit is contained in:
Bobby Rong 2024-02-26 15:49:35 +00:00 committed by Maxine Aubrey
parent 9914081155
commit 617e0ee76f
No known key found for this signature in database
GPG key ID: F6FE033DFCB899F7
2 changed files with 17 additions and 5 deletions

View file

@ -28,5 +28,6 @@ with lib;
services.pipewire.enable = true; services.pipewire.enable = true;
systemd.packages = [ pkgs.gnome.gnome-remote-desktop ]; systemd.packages = [ pkgs.gnome.gnome-remote-desktop ];
systemd.tmpfiles.packages = [ pkgs.gnome.gnome-remote-desktop ];
}; };
} }

View file

@ -1,4 +1,5 @@
{ lib, stdenv { stdenv
, lib
, fetchurl , fetchurl
, cairo , cairo
, meson , meson
@ -16,22 +17,24 @@
, systemd , systemd
, libsecret , libsecret
, libnotify , libnotify
, libopus
, libxkbcommon , libxkbcommon
, gdk-pixbuf , gdk-pixbuf
, freerdp , freerdp3
, fdk_aac , fdk_aac
, tpm2-tss , tpm2-tss
, fuse3 , fuse3
, gnome , gnome
, polkit
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "gnome-remote-desktop"; pname = "gnome-remote-desktop";
version = "45.1"; version = "46.0";
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz"; url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
hash = "sha256-3NnBisIwZpVjH88AqIZFw443DroFxp3zn1QCBNTq/Y0="; hash = "sha256-51zhfBKm05JU3DCcMVFOXvFXY/E2YS1kHF9vREXgCsQ=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
@ -45,7 +48,7 @@ stdenv.mkDerivation rec {
buildInputs = [ buildInputs = [
cairo cairo
freerdp freerdp3
fdk_aac fdk_aac
tpm2-tss tpm2-tss
fuse3 fuse3
@ -56,15 +59,23 @@ stdenv.mkDerivation rec {
libdrm libdrm
nv-codec-headers-11 nv-codec-headers-11
libnotify libnotify
libopus
libsecret libsecret
libxkbcommon libxkbcommon
pipewire pipewire
systemd systemd
polkit # For polkit-gobject
]; ];
mesonFlags = [ mesonFlags = [
"-Dconf_dir=/etc/gnome-remote-desktop"
"-Dsystemd_user_unit_dir=${placeholder "out"}/lib/systemd/user" "-Dsystemd_user_unit_dir=${placeholder "out"}/lib/systemd/user"
"-Dsystemd_system_unit_dir=${placeholder "out"}/lib/systemd/system"
"-Dsystemd_sysusers_dir=${placeholder "out"}/lib/sysusers.d"
"-Dsystemd_tmpfiles_dir=${placeholder "out"}/lib/tmpfiles.d"
"-Dtests=false" # Too deep of a rabbit hole. "-Dtests=false" # Too deep of a rabbit hole.
# TODO: investigate who should be fixed here.
"-Dc_args=-I${freerdp3}/include/winpr3"
]; ];
passthru = { passthru = {