Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)

Xfce 4.20 (#353048)

authored by Bobby Rong and committed by GitHub d8890db1 28b4ffa2

+357 -112
+5
nixos/doc/manual/release-notes/rl-2505.section.md
··· 186 186 - Cinnamon has been updated to 6.4, please check the [upstream announcement](https://www.linuxmint.com/rel_xia_whatsnew.php) for more details. 187 187 - Following [changes in Mint 22](https://github.com/linuxmint/mintupgrade/commit/f239cde908288b8c250f938e7311c7ffbc16bd59) we are no longer overriding Qt application styles. You can still restore the previous default with `qt.style = "gtk2"` and `qt.platformTheme = "gtk2"`. 188 188 189 + - Xfce has been updated to 4.20, please check the [upstream feature tour](https://www.xfce.org/about/tour420) for more details. 190 + - Wayland session is still [experimental](https://wiki.xfce.org/releng/wayland_roadmap) and requires opt-in using `enableWaylandSession` option. 191 + - Overriding Wayland compositor is possible using `enableWaylandSession` option, but you might need to take care [`xfce4-session`](https://gitlab.xfce.org/xfce/xfce4-session/-/merge_requests/49), [`dbus-update-activation-environment`](https://github.com/labwc/labwc/blob/eaf11face68ee1f1bcc7ce1498304ca8c108c8ba/src/config/session.c#L234) and [`systemctl --user import-environment`](https://github.com/labwc/labwc/blob/eaf11face68ee1f1bcc7ce1498304ca8c108c8ba/src/config/session.c#L239) on startup. 192 + - For new Xfce installations, default panel layout has [changed](https://gitlab.xfce.org/xfce/xfce4-panel/-/merge_requests/158/diffs) to not include external panel plugins by default. You can still add them yourself using the "Panel Preferences" dialog. 193 + 189 194 - `networking.wireguard` now has an optional networkd backend. It is enabled by default when `networking.useNetworkd` is enabled, and it can be enabled alongside scripted networking with `networking.wireguard.useNetworkd`. Some `networking.wireguard` options have slightly different behavior with the networkd and script-based backends, documented in each option. 190 195 191 196 - `services.avahi.ipv6` now defaults to true.
+35
nixos/modules/services/x11/desktop-managers/xfce.nix
··· 69 69 default = true; 70 70 description = "Enable the XFCE screensaver."; 71 71 }; 72 + 73 + enableWaylandSession = mkEnableOption "the experimental Xfce Wayland session"; 74 + 75 + waylandSessionCompositor = mkOption { 76 + type = lib.types.str; 77 + default = ""; 78 + example = "wayfire"; 79 + description = '' 80 + Command line to run a Wayland compositor, defaults to `labwc --startup` 81 + if not specified. Note that `xfce4-session` will be passed to it as an 82 + argument, see `startxfce4 --help` for details. 83 + 84 + Some compositors do not have an option equivalent to labwc's `--startup` 85 + and you might have to add xfce4-session somewhere in their configurations. 86 + ''; 87 + }; 72 88 }; 73 89 74 90 environment.xfce.excludePackages = mkOption { ··· 134 150 programs.gnupg.agent.pinentryPackage = mkDefault pkgs.pinentry-gtk2; 135 151 programs.xfconf.enable = true; 136 152 programs.thunar.enable = true; 153 + programs.labwc.enable = mkDefault (cfg.enableWaylandSession && ( 154 + cfg.waylandSessionCompositor == "" || lib.substring 0 5 cfg.waylandSessionCompositor == "labwc")); 137 155 138 156 environment.pathsToLink = [ 139 157 "/share/xfce4" ··· 144 162 145 163 services.xserver.desktopManager.session = [{ 146 164 name = "xfce"; 165 + prettyName = "Xfce Session"; 147 166 desktopNames = [ "XFCE" ]; 148 167 bgSupport = !cfg.noDesktop; 149 168 start = '' ··· 151 170 waitPID=$! 152 171 ''; 153 172 }]; 173 + 174 + # Copied from https://gitlab.xfce.org/xfce/xfce4-session/-/blob/xfce4-session-4.19.2/xfce-wayland.desktop.in 175 + # to maintain consistent l10n state with X11 session file and to support the waylandSessionCompositor option. 176 + services.displayManager.sessionPackages = optionals cfg.enableWaylandSession [ 177 + ((pkgs.writeTextDir "share/wayland-sessions/xfce-wayland.desktop" '' 178 + [Desktop Entry] 179 + Version=1.0 180 + Name=Xfce Session (Wayland) 181 + Comment=Use this session to run Xfce as your desktop environment 182 + Exec=startxfce4 --wayland ${cfg.waylandSessionCompositor} 183 + Icon= 184 + Type=Application 185 + DesktopNames=XFCE 186 + Keywords=xfce;wayland;desktop;environment;session; 187 + '').overrideAttrs (_: { passthru.providedSessions = [ "xfce-wayland" ]; })) 188 + ]; 154 189 155 190 services.xserver.updateDbusEnvironment = true; 156 191 programs.gdk-pixbuf.modulePackages = [ pkgs.librsvg ];
+6 -1
nixos/modules/services/x11/display-managers/default.nix
··· 279 279 lib.mapCartesianProduct 280 280 ({dm, wm}: let 281 281 sessionName = "${dm.name}${optionalString (wm.name != "none") ("+" + wm.name)}"; 282 + prettyName = 283 + if dm.name != "none" then 284 + "${dm.prettyName or dm.name}${optionalString (wm.name != "none") (" (" + (wm.prettyName or wm.name) + ")")}" 285 + else 286 + (wm.prettyName or wm.name); 282 287 script = xsession dm wm; 283 288 desktopNames = if dm ? desktopNames 284 289 then lib.concatStringsSep ";" dm.desktopNames ··· 297 302 Type=XSession 298 303 TryExec=${script} 299 304 Exec=${script} 300 - Name=${sessionName} 305 + Name=${prettyName} 301 306 DesktopNames=${desktopNames} 302 307 ''; 303 308 } // {
+1
nixos/tests/all-tests.nix
··· 1164 1164 xandikos = handleTest ./xandikos.nix {}; 1165 1165 xautolock = handleTest ./xautolock.nix {}; 1166 1166 xfce = handleTest ./xfce.nix {}; 1167 + xfce-wayland = handleTest ./xfce-wayland.nix {}; 1167 1168 xmonad = handleTest ./xmonad.nix {}; 1168 1169 xmonad-xdg-autostart = handleTest ./xmonad-xdg-autostart.nix {}; 1169 1170 xpadneo = handleTest ./xpadneo.nix {};
+73
nixos/tests/xfce-wayland.nix
··· 1 + import ./make-test-python.nix ( 2 + { pkgs, ... }: 3 + { 4 + name = "xfce-wayland"; 5 + 6 + nodes.machine = 7 + { pkgs, ... }: 8 + 9 + { 10 + imports = [ 11 + ./common/user-account.nix 12 + ]; 13 + 14 + services.xserver.enable = true; 15 + services.xserver.displayManager.lightdm.enable = true; 16 + services.displayManager = { 17 + defaultSession = "xfce-wayland"; 18 + autoLogin = { 19 + enable = true; 20 + user = "alice"; 21 + }; 22 + }; 23 + 24 + services.xserver.desktopManager.xfce.enable = true; 25 + services.xserver.desktopManager.xfce.enableWaylandSession = true; 26 + # https://gitlab.xfce.org/apps/xfce4-screensaver/-/merge_requests/28 27 + services.xserver.desktopManager.xfce.enableScreensaver = false; 28 + environment.systemPackages = [ pkgs.wlrctl ]; 29 + }; 30 + 31 + enableOCR = true; 32 + 33 + testScript = 34 + { nodes, ... }: 35 + let 36 + user = nodes.machine.users.users.alice; 37 + rtdir = "XDG_RUNTIME_DIR=/run/user/${toString user.uid}"; 38 + in 39 + '' 40 + machine.wait_for_unit("display-manager.service") 41 + 42 + with subtest("Wait for Wayland server"): 43 + machine.wait_for_file("/run/user/${toString user.uid}/wayland-0") 44 + 45 + with subtest("Check that logging in has given the user ownership of devices"): 46 + machine.succeed("getfacl -p /dev/snd/timer | grep -q ${user.name}") 47 + 48 + with subtest("Check if Xfce components actually start"): 49 + for p in ["labwc", "xfdesktop", "xfce4-notifyd", "xfconfd", "xfce4-panel"]: 50 + machine.wait_until_succeeds(f"pgrep {p}") 51 + 52 + with subtest("Open Xfce terminal"): 53 + machine.succeed("su - ${user.name} -c '${rtdir} xfce4-terminal >&2 &'") 54 + machine.wait_until_succeeds("su - ${user.name} -c '${rtdir} wlrctl toplevel list | grep xfce4-terminal'") 55 + 56 + with subtest("Open Thunar"): 57 + machine.succeed("su - ${user.name} -c '${rtdir} thunar >&2 &'") 58 + machine.wait_until_succeeds("su - ${user.name} -c '${rtdir} wlrctl toplevel list | grep Thunar'") 59 + machine.wait_for_text('(Pictures|Public|Templates|Videos)') 60 + 61 + with subtest("Check if various environment variables are set"): 62 + cmd = "xargs --null --max-args=1 echo < /proc/$(pgrep -xf xfce4-panel)/environ" 63 + machine.succeed(f"{cmd} | grep 'XDG_SESSION_TYPE' | grep 'wayland'") 64 + machine.succeed(f"{cmd} | grep 'XFCE4_SESSION_COMPOSITOR' | grep 'labwc'") 65 + machine.succeed(f"{cmd} | grep 'XDG_CURRENT_DESKTOP' | grep 'XFCE'") 66 + 67 + with subtest("Check if any coredumps are found"): 68 + machine.succeed("(coredumpctl --json=short 2>&1 || true) | grep 'No coredumps found'") 69 + machine.sleep(10) 70 + machine.screenshot("screen") 71 + ''; 72 + } 73 + )
+5
pkgs/applications/display-managers/lightdm/gtk-greeter.nix
··· 45 45 "--sbindir=${placeholder "out"}/bin" # for wrapGAppsHook3 to wrap automatically 46 46 ]; 47 47 48 + postPatch = '' 49 + # https://github.com/Xubuntu/lightdm-gtk-greeter/pull/178 50 + cp data/badges/xfce{,-wayland}_badge-symbolic.svg 51 + ''; 52 + 48 53 preConfigure = '' 49 54 configureFlagsArray+=( --enable-at-spi-command="${at-spi2-core}/libexec/at-spi-bus-launcher --launch-immediately" ) 50 55 '';
+11 -1
pkgs/by-name/bu/budgie-desktop/package.nix
··· 2 2 lib, 3 3 stdenv, 4 4 fetchFromGitHub, 5 + fetchpatch, 5 6 accountsservice, 6 7 alsa-lib, 7 8 budgie-screensaver, ··· 60 61 "man" 61 62 ]; 62 63 63 - patches = [ ./plugins.patch ]; 64 + patches = [ 65 + ./plugins.patch 66 + 67 + # Adapt to libxfce4windowing v4.19.8 68 + # https://github.com/BuddiesOfBudgie/budgie-desktop/pull/627 69 + (fetchpatch { 70 + url = "https://github.com/BuddiesOfBudgie/budgie-desktop/commit/ba8170b4f3108f9de28331b6a98a9d92bb0ed4de.patch"; 71 + hash = "sha256-T//1/NmaV81j0jiIYK7vEp8sgKCgF2i10D+Rk9qAAeE="; 72 + }) 73 + ]; 64 74 65 75 nativeBuildInputs = [ 66 76 docbook-xsl-nons
+10
pkgs/by-name/gr/greybird/package.nix
··· 1 1 { lib 2 2 , stdenv 3 3 , fetchFromGitHub 4 + , fetchpatch 4 5 , meson 5 6 , ninja 6 7 , pkg-config ··· 21 22 rev = "v${version}"; 22 23 sha256 = "+MZQ3FThuRFEfoARsF09B7POwytS5RgTs9zYzIHVtfg="; 23 24 }; 25 + 26 + patches = [ 27 + # Fix label styles for xfdesktop 4.19 28 + # https://github.com/shimmerproject/Greybird/pull/338 29 + (fetchpatch { 30 + url = "https://github.com/shimmerproject/Greybird/commit/7e4507d7713b2aaf41f8cfef2a1a9e214a4d8b6f.patch"; 31 + hash = "sha256-awXM2RgFIK/Ik5cJSy4IQYl+ic+XGQV0YwbL3SPclzQ="; 32 + }) 33 + ]; 24 34 25 35 nativeBuildInputs = [ 26 36 meson
+2 -6
pkgs/desktops/xfce/core/exo/default.nix
··· 4 4 mkXfceDerivation { 5 5 category = "xfce"; 6 6 pname = "exo"; 7 - version = "4.18.0"; 7 + version = "4.20.0"; 8 8 9 - sha256 = "sha256-oWlKeUD1v2qqb8vY+2Cu9VJ1iThFPVboP12m/ob5KSQ="; 9 + sha256 = "sha256-mlGsFaKy96eEAYgYYqtEI4naq5ZSEe3V7nsWGAEucn0="; 10 10 11 11 nativeBuildInputs = [ 12 12 libxslt ··· 18 18 glib 19 19 libxfce4ui 20 20 libxfce4util 21 - 22 21 (perl.withPackages(ps: with ps; [ URI ])) # for $out/lib/xfce4/exo/exo-compose-mail 23 22 ]; 24 - 25 - # Workaround https://bugzilla.xfce.org/show_bug.cgi?id=15825 26 - env.NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0"; 27 23 28 24 meta = with lib; { 29 25 description = "Application library for Xfce";
+2 -2
pkgs/desktops/xfce/core/garcon/default.nix
··· 3 3 mkXfceDerivation { 4 4 category = "xfce"; 5 5 pname = "garcon"; 6 - version = "4.18.2"; 6 + version = "4.20.0"; 7 7 8 - sha256 = "sha256-J9f9MzZ1I9XIyvwuyINkvXDuXY6/MkjlH2Ct4yaEXsY="; 8 + sha256 = "sha256-MeZkDb2QgGMaloO6Nwlj9JmZByepd6ERqpAWqrVv1xw="; 9 9 10 10 nativeBuildInputs = [ gobject-introspection ]; 11 11
+40 -8
pkgs/desktops/xfce/core/libxfce4ui/default.nix
··· 1 - { lib, mkXfceDerivation, gobject-introspection, vala, gtk3, libICE, libSM 2 - , libstartup_notification, libgtop, libepoxy, libxfce4util, xfconf }: 1 + { 2 + mkXfceDerivation, 3 + lib, 4 + gobject-introspection, 5 + vala, 6 + libICE, 7 + libSM, 8 + libepoxy, 9 + libgtop, 10 + libgudev, 11 + libstartup_notification, 12 + xfconf, 13 + gtk3, 14 + libxfce4util, 15 + }: 3 16 4 17 mkXfceDerivation { 5 18 category = "xfce"; 6 19 pname = "libxfce4ui"; 7 - version = "4.18.6"; 20 + version = "4.20.0"; 8 21 9 - sha256 = "sha256-ojmI745tKLHv26uL1qS/v6hAcLmAV/WF2NAtAhQRUkg="; 22 + sha256 = "sha256-M+OapPHQ/WxlkUzHPx+ELstVyGoZanCxCL0N8hDWSN8="; 10 23 11 - nativeBuildInputs = [ gobject-introspection vala ]; 12 - buildInputs = [ gtk3 libstartup_notification libgtop libepoxy xfconf ]; 13 - propagatedBuildInputs = [ libxfce4util libICE libSM ]; 24 + nativeBuildInputs = [ 25 + gobject-introspection 26 + vala 27 + ]; 28 + 29 + buildInputs = [ 30 + libICE 31 + libSM 32 + libepoxy 33 + libgtop 34 + libgudev 35 + libstartup_notification 36 + xfconf 37 + ]; 38 + 39 + propagatedBuildInputs = [ 40 + gtk3 41 + libxfce4util 42 + ]; 14 43 15 44 configureFlags = [ 16 45 "--with-vendor-info=NixOS" ··· 19 48 meta = with lib; { 20 49 description = "Widgets library for Xfce"; 21 50 mainProgram = "xfce4-about"; 22 - license = with licenses; [ lgpl2Plus lgpl21Plus ]; 51 + license = with licenses; [ 52 + lgpl2Plus 53 + lgpl21Plus 54 + ]; 23 55 maintainers = with maintainers; [ ] ++ teams.xfce.members; 24 56 }; 25 57 }
+17 -4
pkgs/desktops/xfce/core/libxfce4util/default.nix
··· 1 - { lib, mkXfceDerivation, gobject-introspection, vala }: 1 + { 2 + mkXfceDerivation, 3 + lib, 4 + gobject-introspection, 5 + vala, 6 + glib, 7 + }: 2 8 3 9 mkXfceDerivation { 4 10 category = "xfce"; 5 11 pname = "libxfce4util"; 6 - version = "4.18.2"; 12 + version = "4.20.0"; 13 + 14 + sha256 = "sha256-0qbJSCXHsVz3XILHICFhciyz92LgMZiR7XFLAESHRGQ="; 7 15 8 - sha256 = "sha256-JQ6biE1gxtB6+LWxRGfbUhgJhhITGhLr+8BxFW4/8SU="; 16 + nativeBuildInputs = [ 17 + gobject-introspection 18 + vala 19 + ]; 9 20 10 - nativeBuildInputs = [ gobject-introspection vala ]; 21 + propagatedBuildInputs = [ 22 + glib 23 + ]; 11 24 12 25 meta = with lib; { 13 26 description = "Extension library for Xfce";
+8 -2
pkgs/desktops/xfce/core/libxfce4windowing/default.nix
··· 4 4 , wayland-scanner 5 5 , glib 6 6 , gtk3 7 + , libdisplay-info 7 8 , libwnck 8 9 , libX11 10 + , libXrandr 9 11 , wayland 12 + , wayland-protocols 10 13 , wlr-protocols 11 14 }: 12 15 13 16 mkXfceDerivation { 14 17 category = "xfce"; 15 18 pname = "libxfce4windowing"; 16 - version = "4.19.3"; 19 + version = "4.20.0"; 17 20 18 - sha256 = "sha256-nsobRyGeagUq1WHzYBq6vd9g5A65KEQC4cX+m7w0pqg="; 21 + sha256 = "sha256-t/GbsGipc0Ts2tZJaDJBuDF+9XMp8+Trq78NPAuHEpU="; 19 22 20 23 nativeBuildInputs = [ 21 24 gobject-introspection ··· 25 28 buildInputs = [ 26 29 glib 27 30 gtk3 31 + libdisplay-info 28 32 libwnck 29 33 libX11 34 + libXrandr 30 35 wayland 36 + wayland-protocols 31 37 wlr-protocols 32 38 ]; 33 39
+2 -2
pkgs/desktops/xfce/core/thunar-volman/default.nix
··· 3 3 mkXfceDerivation { 4 4 category = "xfce"; 5 5 pname = "thunar-volman"; 6 - version = "4.18.0"; 6 + version = "4.20.0"; 7 7 8 8 buildInputs = [ exo gtk3 libgudev libxfce4ui libxfce4util xfconf ]; 9 9 10 - sha256 = "sha256-NRVoakU8jTCJVe+iyJQwW1xPti2vjd/8n8CYrIYGII0="; 10 + sha256 = "sha256-XIVs/vRwy3QJQW/U7eLBvGdzplWlhdxn3f1lyTQsmpE="; 11 11 12 12 odd-unstable = false; 13 13
+2 -2
pkgs/desktops/xfce/core/thunar/default.nix
··· 23 23 let unwrapped = mkXfceDerivation { 24 24 category = "xfce"; 25 25 pname = "thunar"; 26 - version = "4.18.11"; 26 + version = "4.20.0"; 27 27 28 - sha256 = "sha256-B417gkrU9EG4ZsEdeuH8P2v4FqYUiTwqgKcO4cSi4SI="; 28 + sha256 = "sha256-TCroFesFD0IKGdfuootd1BwEsWVECE2XQfUovJqPEh0="; 29 29 30 30 nativeBuildInputs = [ 31 31 docbook_xsl
+2 -2
pkgs/desktops/xfce/core/tumbler/default.nix
··· 19 19 mkXfceDerivation { 20 20 category = "xfce"; 21 21 pname = "tumbler"; 22 - version = "4.18.2"; 22 + version = "4.20.0"; 23 23 24 - sha256 = "sha256-thioE0q2qnV4weJFPz8OWoHIRuUcXnQEviwBtCWsSV4="; 24 + sha256 = "sha256-GmEMdG8Ikd4Tq/1ntCHiN0S7ehUXqzMX7OtXsycLd6E="; 25 25 26 26 buildInputs = [ 27 27 libxfce4util
+2 -2
pkgs/desktops/xfce/core/xfce4-appfinder/default.nix
··· 3 3 mkXfceDerivation { 4 4 category = "xfce"; 5 5 pname = "xfce4-appfinder"; 6 - version = "4.18.1"; 6 + version = "4.20.0"; 7 7 8 - sha256 = "sha256-CZEX1PzFsVt72Fkb4+5PiZjAcDisvYnbzFGFXjFL4sc="; 8 + sha256 = "sha256-HovQnkfv5BOsRPowgMkMEWQmESkivVK0Xb7I15ZaOMc="; 9 9 10 10 nativeBuildInputs = [ exo ]; 11 11 buildInputs = [ garcon gtk3 libxfce4ui libxfce4util xfconf ];
+51 -17
pkgs/desktops/xfce/core/xfce4-dev-tools/default.nix
··· 1 - { lib 2 - , mkXfceDerivation 3 - , autoreconfHook 4 - , libxslt 5 - , docbook_xsl 6 - , autoconf 7 - , automake 8 - , glib 9 - , gtk-doc 10 - , intltool 11 - , libtool 1 + { 2 + stdenv, 3 + lib, 4 + fetchFromGitLab, 5 + autoreconfHook, 6 + docbook_xsl, 7 + libxslt, 8 + meson, 9 + pkg-config, 10 + wrapGAppsHook3, 11 + python3, 12 + autoconf, 13 + automake, 14 + glib, 15 + gtk-doc, 16 + libtool, 17 + intltool, 18 + gitUpdater, 12 19 }: 13 20 14 - mkXfceDerivation { 15 - category = "xfce"; 21 + stdenv.mkDerivation (finalAttrs: { 16 22 pname = "xfce4-dev-tools"; 17 - version = "4.18.1"; 23 + version = "4.20.0"; 18 24 19 - sha256 = "sha256-JUyFlifNVhSnIMaI9qmgCtGIgkpmzYybMfuhPgJiDOg="; 25 + src = fetchFromGitLab { 26 + domain = "gitlab.xfce.org"; 27 + owner = "xfce"; 28 + repo = "xfce4-dev-tools"; 29 + rev = "xfce4-dev-tools-${finalAttrs.version}"; 30 + hash = "sha256-eUfNa/9ksLCKtVwBRtHaVl7Yl95tukUaDdoLNfeR+Ew="; 31 + }; 20 32 21 33 nativeBuildInputs = [ 22 34 autoreconfHook 23 - libxslt 24 35 docbook_xsl 36 + libxslt # for xsltproc 37 + # x-d-t itself is not a meson project, but the xfce-do-release script wants 38 + # `meson rewrite kwargs`, thus this is checked by `AC_CHECK_PROGS`. 39 + meson 40 + pkg-config 41 + wrapGAppsHook3 42 + ]; 43 + 44 + buildInputs = [ 45 + python3 # for xdt-gen-visibility 25 46 ]; 26 47 27 48 propagatedBuildInputs = [ ··· 33 54 libtool 34 55 ]; 35 56 57 + dontUseMesonConfigure = true; 58 + configureFlags = [ "--enable-maintainer-mode" ]; 59 + 60 + enableParallelBuilding = true; 61 + 36 62 setupHook = ./setup-hook.sh; 37 63 64 + passthru.updateScript = gitUpdater { 65 + rev-prefix = "xfce4-dev-tools-"; 66 + odd-unstable = true; 67 + }; 68 + 38 69 meta = with lib; { 70 + homepage = "https://gitlab.xfce.org/xfce/xfce4-dev-tools"; 39 71 description = "Autoconf macros and scripts to augment app build systems"; 72 + license = licenses.gpl2Plus; 40 73 maintainers = with maintainers; [ ] ++ teams.xfce.members; 74 + platforms = platforms.linux; 41 75 }; 42 - } 76 + })
+11 -5
pkgs/desktops/xfce/core/xfce4-panel/default.nix
··· 1 1 { lib 2 2 , mkXfceDerivation 3 + , cairo 3 4 , exo 4 5 , garcon 5 6 , gobject-introspection 7 + , gtk-layer-shell 6 8 , gtk3 7 9 , libdbusmenu-gtk3 8 10 , libwnck 9 11 , libxfce4ui 10 12 , libxfce4util 13 + , libxfce4windowing 11 14 , tzdata 12 15 , vala 16 + , wayland 13 17 , xfconf 14 18 }: 15 19 16 20 mkXfceDerivation { 17 21 category = "xfce"; 18 22 pname = "xfce4-panel"; 19 - version = "4.18.6"; 23 + version = "4.20.0"; 20 24 21 - sha256 = "sha256-eQLz/LJIx2WkzcSLytRdJdhtGv0woT48mdqG7eHB0U4="; 25 + sha256 = "sha256-oB7mlU7RZtRuCQAKgv5I7ZRRu703Za7Ki9+AkHSELRE="; 22 26 23 27 nativeBuildInputs = [ 24 28 gobject-introspection ··· 26 30 ]; 27 31 28 32 buildInputs = [ 33 + cairo 29 34 exo 30 35 garcon 36 + gtk-layer-shell 31 37 libdbusmenu-gtk3 32 38 libxfce4ui 39 + libxfce4windowing 33 40 libwnck 34 - xfconf 35 41 tzdata 42 + wayland 43 + xfconf 36 44 ]; 37 45 38 46 propagatedBuildInputs = [ 39 47 gtk3 40 48 libxfce4util 41 49 ]; 42 - 43 - patches = [ ./xfce4-panel-datadir.patch ]; 44 50 45 51 postPatch = '' 46 52 substituteInPlace plugins/clock/clock.c \
-24
pkgs/desktops/xfce/core/xfce4-panel/xfce4-panel-datadir.patch
··· 1 - diff --git a/panel/panel-module-factory.c b/panel/panel-module-factory.c 2 - index 529fe85..8c792b7 100644 3 - --- a/panel/panel-module-factory.c 4 - +++ b/panel/panel-module-factory.c 5 - @@ -39,6 +39,7 @@ 6 - #include <panel/panel-module.h> 7 - #include <panel/panel-module-factory.h> 8 - 9 - +#define DATADIR "/run/current-system/sw/share/xfce4" 10 - #define PANEL_PLUGINS_DATA_DIR (DATADIR G_DIR_SEPARATOR_S "panel" G_DIR_SEPARATOR_S "plugins") 11 - #define PANEL_PLUGINS_DATA_DIR_OLD (DATADIR G_DIR_SEPARATOR_S "panel-plugins") 12 - 13 - diff --git a/panel/panel-module.c b/panel/panel-module.c 14 - index ba39320..519440b 100644 15 - --- a/panel/panel-module.c 16 - +++ b/panel/panel-module.c 17 - @@ -35,6 +35,7 @@ 18 - #include <panel/panel-plugin-external-wrapper.h> 19 - #include <panel/panel-plugin-external-46.h> 20 - 21 - +#define LIBDIR "/run/current-system/sw/lib/xfce4" 22 - #define PANEL_PLUGINS_LIB_DIR (LIBDIR G_DIR_SEPARATOR_S "panel" G_DIR_SEPARATOR_S "plugins") 23 - #define PANEL_PLUGINS_LIB_DIR_OLD (LIBDIR G_DIR_SEPARATOR_S "panel-plugins") 24 -
+15 -4
pkgs/desktops/xfce/core/xfce4-power-manager/default.nix
··· 1 1 { lib 2 2 , mkXfceDerivation 3 + , wayland-scanner 3 4 , gtk3 4 5 , libnotify 5 6 , libxfce4ui 6 7 , libxfce4util 8 + , polkit 7 9 , upower 10 + , wayland-protocols 11 + , wlr-protocols 8 12 , xfconf 9 13 , xfce4-panel 10 14 }: ··· 12 16 mkXfceDerivation { 13 17 category = "xfce"; 14 18 pname = "xfce4-power-manager"; 15 - version = "4.18.4"; 19 + version = "4.20.0"; 16 20 17 - sha256 = "sha256-aybY+B8VC/XS6FO3XRpYuJd9Atr9Tc/Uo45q9fh3YLE="; 21 + sha256 = "sha256-qKUdrr+giLzNemhT3EQsOKTSiIx50NakmK14Ak7ZOCE="; 22 + 23 + nativeBuildInputs = [ 24 + wayland-scanner 25 + ]; 18 26 19 27 buildInputs = [ 20 28 gtk3 21 29 libnotify 22 30 libxfce4ui 23 31 libxfce4util 32 + polkit 24 33 upower 34 + wayland-protocols 35 + wlr-protocols 25 36 xfconf 26 37 xfce4-panel 27 38 ]; ··· 29 40 # using /run/current-system/sw/bin instead of nix store path prevents polkit permission errors on 30 41 # rebuild. See https://github.com/NixOS/nixpkgs/issues/77485 31 42 postPatch = '' 32 - substituteInPlace src/org.xfce.power.policy.in2 --replace-fail "@sbindir@" "/run/current-system/sw/bin" 33 - substituteInPlace common/xfpm-brightness.c --replace-fail "SBINDIR" "\"/run/current-system/sw/bin\"" 43 + substituteInPlace src/org.xfce.power.policy.in.in --replace-fail "@sbindir@" "/run/current-system/sw/bin" 44 + substituteInPlace common/xfpm-brightness-polkit.c --replace-fail "SBINDIR" "\"/run/current-system/sw/bin\"" 34 45 substituteInPlace src/xfpm-suspend.c --replace-fail "SBINDIR" "\"/run/current-system/sw/bin\"" 35 46 ''; 36 47
+10 -3
pkgs/desktops/xfce/core/xfce4-session/default.nix
··· 4 4 , exo 5 5 , libxfce4util 6 6 , libxfce4ui 7 + , libxfce4windowing 7 8 , xfconf 8 9 , iceauth 9 10 , gtk3 11 + , gtk-layer-shell 10 12 , glib 11 13 , libwnck 12 14 , xfce4-session ··· 15 17 mkXfceDerivation { 16 18 category = "xfce"; 17 19 pname = "xfce4-session"; 18 - version = "4.18.4"; 20 + version = "4.20.0"; 19 21 20 - sha256 = "sha256-YxIHxb8mRggHLJ9TQ+KGb9qjt+DMZrxMn+oFuFRL8GI="; 22 + sha256 = "sha256-mn3ky1NzrpQZRkhc605mj+GFhbFq26eW59YKUfnX9X8="; 21 23 22 24 buildInputs = [ 23 25 exo 24 26 gtk3 27 + gtk-layer-shell 25 28 glib 26 29 libxfce4ui 27 30 libxfce4util 31 + libxfce4windowing 28 32 libwnck 29 33 xfconf 30 34 polkit 31 35 iceauth 32 36 ]; 33 37 34 - configureFlags = [ "--with-xsession-prefix=${placeholder "out"}" ]; 38 + configureFlags = [ 39 + "--with-xsession-prefix=${placeholder "out"}" 40 + "--with-wayland-session-prefix=${placeholder "out"}" 41 + ]; 35 42 36 43 passthru.xinitrc = "${xfce4-session}/etc/xdg/xfce4/xinitrc"; 37 44
+11 -2
pkgs/desktops/xfce/core/xfce4-settings/default.nix
··· 1 1 { lib 2 2 , mkXfceDerivation 3 + , wayland-scanner 3 4 , exo 4 5 , garcon 5 6 , gtk3 7 + , gtk-layer-shell 6 8 , glib 7 9 , libnotify 8 10 , libxfce4ui ··· 12 14 # Disabled by default on upstream and actually causes issues: 13 15 # https://gitlab.xfce.org/xfce/xfce4-settings/-/issues/222 14 16 , withUpower ? false 17 + , wlr-protocols 15 18 , xfconf 16 19 , xf86inputlibinput 17 20 , colord ··· 21 24 mkXfceDerivation { 22 25 category = "xfce"; 23 26 pname = "xfce4-settings"; 24 - version = "4.18.6"; 27 + version = "4.20.0"; 28 + 29 + sha256 = "sha256-0fMuAucyxLr2VzQqAB0CL+HgkHNJctiVNZmUmTNzaPc="; 25 30 26 - sha256 = "sha256-xiu26B3dbWu+/AtF/iUC6Wo2U5ZZyzN9RfdbBaQRJ1M="; 31 + nativeBuildInputs = [ 32 + wayland-scanner 33 + ]; 27 34 28 35 buildInputs = [ 29 36 exo 30 37 garcon 31 38 glib 32 39 gtk3 40 + gtk-layer-shell 33 41 libnotify 34 42 libxfce4ui 35 43 libxfce4util 36 44 libxklavier 45 + wlr-protocols 37 46 xf86inputlibinput 38 47 xfconf 39 48 ]
+2 -2
pkgs/desktops/xfce/core/xfconf/default.nix
··· 8 8 mkXfceDerivation { 9 9 category = "xfce"; 10 10 pname = "xfconf"; 11 - version = "4.18.3"; 11 + version = "4.20.0"; 12 12 13 - sha256 = "sha256-Iu/LHyk/lOvu8uJuJRDxIkabiX0vZB4H99vVKRiugVo="; 13 + sha256 = "sha256-U+Sk7ubBr1ZD1GLQXlxrx0NQdhV/WpVBbnLcc94Tjcw="; 14 14 15 15 nativeBuildInputs = [ gobject-introspection vala ]; 16 16
+20 -4
pkgs/desktops/xfce/core/xfdesktop/default.nix
··· 1 - { lib, mkXfceDerivation, exo, gtk3, libxfce4ui, libxfce4util, libwnck, xfconf, libnotify, garcon, thunar }: 1 + { 2 + lib, 3 + mkXfceDerivation, 4 + exo, 5 + gtk3, 6 + libxfce4ui, 7 + libxfce4util, 8 + libxfce4windowing, 9 + libyaml, 10 + xfconf, 11 + libnotify, 12 + garcon, 13 + gtk-layer-shell, 14 + thunar, 15 + }: 2 16 3 17 mkXfceDerivation { 4 18 category = "xfce"; 5 19 pname = "xfdesktop"; 6 - version = "4.18.1"; 20 + version = "4.20.0"; 7 21 8 - sha256 = "sha256-33G7X5kA3MCNJ9Aq9ZCafP0Qm/46iUmLFB8clhKwDz8="; 22 + sha256 = "sha256-80g3lk1TkQI0fbYf2nXs36TrPlaGTHgH6k/TGOzRd3w="; 9 23 10 24 buildInputs = [ 11 25 exo 12 26 gtk3 13 27 libxfce4ui 14 28 libxfce4util 15 - libwnck 29 + libxfce4windowing 30 + libyaml 16 31 xfconf 17 32 libnotify 18 33 garcon 34 + gtk-layer-shell 19 35 thunar 20 36 ]; 21 37
+2 -2
pkgs/desktops/xfce/core/xfwm4/default.nix
··· 5 5 mkXfceDerivation { 6 6 category = "xfce"; 7 7 pname = "xfwm4"; 8 - version = "4.18.0"; 8 + version = "4.20.0"; 9 9 10 - sha256 = "sha256-nTPgxC0XMBJ48lPCeQgCvWWK1/2ZIoQOYsMeaxDpE1c="; 10 + sha256 = "sha256-5UZQrAH0oz+G+7cvXCLDJ4GSXNJcyl4Ap9umb7h0f5Q="; 11 11 12 12 nativeBuildInputs = [ exo librsvg ]; 13 13
+1 -5
pkgs/desktops/xfce/default.nix
··· 61 61 62 62 xfce4-appfinder = callPackage ./core/xfce4-appfinder { }; 63 63 64 - xfce4-dev-tools = callPackage ./core/xfce4-dev-tools { 65 - mkXfceDerivation = self.mkXfceDerivation.override { 66 - xfce4-dev-tools = null; 67 - }; 68 - }; 64 + xfce4-dev-tools = callPackage ./core/xfce4-dev-tools { }; 69 65 70 66 #### APPLICATIONS 71 67
+7 -6
pkgs/desktops/xfce/panel-plugins/xfce4-docklike-plugin/default.nix
··· 3 3 , cairo 4 4 , glib 5 5 , gtk3 6 + , gtk-layer-shell 6 7 , libX11 7 8 , libxfce4ui 8 9 , libxfce4util 9 10 , xfce4-panel 10 - , libwnck 11 + , libxfce4windowing 11 12 }: 12 13 13 14 mkXfceDerivation { 14 15 category = "panel-plugins"; 15 16 pname = "xfce4-docklike-plugin"; 16 - version = "0.4.2"; 17 - sha256 = "sha256-M/V8cnEU/nSEDjQ3k8fWiklF5OuNg3uzzJMHBSZBiLU="; 17 + version = "0.4.2-unstable-2024-11-04"; 18 + rev = "1154bf1c9f291d5699663910d5aac71bb3ab2227"; 19 + sha256 = "sha256-uno3qNyuesK/hJMdAxHZS6XMysr7ySOgJ5ACXGcIWFs="; 18 20 19 21 buildInputs = [ 20 22 cairo 21 23 glib 22 24 gtk3 25 + gtk-layer-shell 23 26 libX11 24 27 libxfce4ui 25 28 libxfce4util 26 29 xfce4-panel 27 - libwnck 30 + libxfce4windowing 28 31 ]; 29 - 30 - NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0"; 31 32 32 33 meta = with lib; { 33 34 homepage = "https://docs.xfce.org/panel-plugins/xfce4-docklike-plugin/start";
+4 -6
pkgs/desktops/xfce/panel-plugins/xfce4-pulseaudio-plugin/default.nix
··· 7 7 , libnotify 8 8 , libxfce4ui 9 9 , libxfce4util 10 + , libxfce4windowing 10 11 , xfce4-panel 11 12 , xfconf 12 13 , keybinder3 ··· 16 17 mkXfceDerivation { 17 18 category = "panel-plugins"; 18 19 pname = "xfce4-pulseaudio-plugin"; 19 - version = "0.4.8"; 20 - sha256 = "sha256-7vcjARm0O+/hVNFzOpxcgAnqD+wRNg5/eqXLcq4t/iU="; 21 - 22 - postPatch = '' 23 - substituteInPlace configure.ac.in --replace gio-2.0 gio-unix-2.0 24 - ''; 20 + version = "0.4.9"; 21 + sha256 = "sha256-bJp4HicAFPuRATDHus0DfJFy1c6gw6Tkpd2UN7SXqsI="; 25 22 26 23 buildInputs = [ 27 24 exo ··· 33 30 libpulseaudio 34 31 libxfce4ui 35 32 libxfce4util 33 + libxfce4windowing 36 34 xfce4-panel 37 35 xfconf 38 36 ];