diff options
author | Bobby Rong <rjl931189261@126.com> | 2021-07-18 20:28:38 +0800 |
---|---|---|
committer | Bobby Rong <rjl931189261@126.com> | 2021-09-18 19:33:36 +0800 |
commit | 75473c2d7002b08e53d437f6f88c8975721834e2 (patch) | |
tree | 997ce8d27345153bb30ff098def50f370e7a836b /pkgs/desktops/gnome | |
parent | 634488aa608c863fa54eaaa232024856bc3463dd (diff) |
gnome.gnome-settings-daemon338: init at 3.38.2
light-locker is no longer used in Pantheon 6, we will try using the upstream gnome-settings-daemon
Diffstat (limited to 'pkgs/desktops/gnome')
-rw-r--r-- | pkgs/desktops/gnome/core/gnome-settings-daemon/3.38/default.nix | 135 | ||||
-rw-r--r-- | pkgs/desktops/gnome/core/gnome-settings-daemon/3.38/fix-paths.patch | 15 | ||||
-rw-r--r-- | pkgs/desktops/gnome/default.nix | 3 |
3 files changed, 153 insertions, 0 deletions
diff --git a/pkgs/desktops/gnome/core/gnome-settings-daemon/3.38/default.nix b/pkgs/desktops/gnome/core/gnome-settings-daemon/3.38/default.nix new file mode 100644 index 0000000000000..06a560380537d --- /dev/null +++ b/pkgs/desktops/gnome/core/gnome-settings-daemon/3.38/default.nix @@ -0,0 +1,135 @@ +{ lib, stdenv +, fetchpatch +, substituteAll +, fetchurl +, meson +, ninja +, pkg-config +, gnome +, perl +, gettext +, gtk3 +, glib +, libnotify +, libgnomekbd +, lcms2 +, libpulseaudio +, alsa-lib +, libcanberra-gtk3 +, upower +, colord +, libgweather +, polkit +, gsettings-desktop-schemas +, geoclue2 +, systemd +, libgudev +, libwacom +, libxslt +, libxml2 +, modemmanager +, networkmanager +, gnome-desktop +, geocode-glib +, docbook_xsl +, wrapGAppsHook +, python3 +, tzdata +, nss +, gcr +, gnome-session-ctl +, pantheon +}: + +stdenv.mkDerivation rec { + pname = "gnome-settings-daemon"; + version = "3.38.2"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-settings-daemon/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "136p3prdqvc0lvrcqs4h7crpnfqnimqklpzjivq5w4g1rhbdbhrj"; + }; + + patches = [ + # https://gitlab.gnome.org/GNOME/gnome-settings-daemon/-/merge_requests/202 + (fetchpatch { + url = "https://gitlab.gnome.org/GNOME/gnome-settings-daemon/commit/aae1e774dd9de22fe3520cf9eb2bfbf7216f5eb0.patch"; + sha256 = "O4m0rOW8Zrgu3Q0p0OA8b951VC0FjYbOUk9MLzB9icI="; + }) + + (substituteAll { + src = ./fix-paths.patch; + inherit tzdata; + }) + + # Adjust to libgweather changes. + # https://gitlab.gnome.org/GNOME/gnome-settings-daemon/-/merge_requests/217 + (fetchpatch { + url = "https://gitlab.gnome.org/GNOME/gnome-settings-daemon/commit/82d88014dfca2df7e081712870e1fb017c16b808.patch"; + sha256 = "H5k/v+M2bRaswt5nrDJFNn4gS4BdB0UfzdjUCT4yLKg="; + }) + ]; + + nativeBuildInputs = [ + meson + ninja + pkg-config + perl + gettext + libxml2 + libxslt + docbook_xsl + wrapGAppsHook + python3 + ]; + + buildInputs = [ + gtk3 + glib + gsettings-desktop-schemas + modemmanager + networkmanager + libnotify + libgnomekbd # for org.gnome.libgnomekbd.keyboard schema + gnome-desktop + lcms2 + libpulseaudio + alsa-lib + libcanberra-gtk3 + upower + colord + libgweather + nss + polkit + geocode-glib + geoclue2 + systemd + libgudev + libwacom + gcr + ]; + + mesonFlags = [ + "-Dudev_dir=${placeholder "out"}/lib/udev" + "-Dgnome_session_ctl_path=${gnome-session-ctl}/libexec/gnome-session-ctl" + ]; + + # Default for release buildtype but passed manually because + # we're using plain + NIX_CFLAGS_COMPILE = "-DG_DISABLE_CAST_CHECKS"; + + postPatch = '' + for f in gnome-settings-daemon/codegen.py plugins/power/gsd-power-constants-update.pl meson_post_install.py; do + chmod +x $f + patchShebangs $f + done + ''; + + meta = with lib; { + description = "GNOME Settings Daemon"; + homepage = "https://gitlab.gnome.org/GNOME/gnome-settings-daemon/"; + license = licenses.gpl2Plus; + maintainers = pantheon.maintainers; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome/core/gnome-settings-daemon/3.38/fix-paths.patch b/pkgs/desktops/gnome/core/gnome-settings-daemon/3.38/fix-paths.patch new file mode 100644 index 0000000000000..2229302cab7c0 --- /dev/null +++ b/pkgs/desktops/gnome/core/gnome-settings-daemon/3.38/fix-paths.patch @@ -0,0 +1,15 @@ +--- a/plugins/datetime/tz.h ++++ b/plugins/datetime/tz.h +@@ -27,11 +27,7 @@ + + #include <glib.h> + +-#ifndef __sun +-# define TZ_DATA_FILE "/usr/share/zoneinfo/zone.tab" +-#else +-# define TZ_DATA_FILE "/usr/share/lib/zoneinfo/tab/zone_sun.tab" +-#endif ++#define TZ_DATA_FILE "@tzdata@/share/zoneinfo/zone.tab" + + typedef struct _TzDB TzDB; + typedef struct _TzLocation TzLocation; diff --git a/pkgs/desktops/gnome/default.nix b/pkgs/desktops/gnome/default.nix index c1f0a82f0b5b0..a3f0107c288b1 100644 --- a/pkgs/desktops/gnome/default.nix +++ b/pkgs/desktops/gnome/default.nix @@ -88,6 +88,9 @@ lib.makeScope pkgs.newScope (self: with self; { gnome-settings-daemon = callPackage ./core/gnome-settings-daemon { }; + # Using 3.38 to match Mutter used in Pantheon + gnome-settings-daemon338 = callPackage ./core/gnome-settings-daemon/3.38 { }; + gnome-software = callPackage ./core/gnome-software { }; gnome-system-monitor = callPackage ./core/gnome-system-monitor { }; |