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 - Cinnamon has been updated to 6.4, please check the [upstream announcement](https://www.linuxmint.com/rel_xia_whatsnew.php) for more details. 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 189 - `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 191 - `services.avahi.ipv6` now defaults to true.
··· 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 - 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 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 + 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. 195 196 - `services.avahi.ipv6` now defaults to true.
+35
nixos/modules/services/x11/desktop-managers/xfce.nix
··· 69 default = true; 70 description = "Enable the XFCE screensaver."; 71 }; 72 }; 73 74 environment.xfce.excludePackages = mkOption { ··· 134 programs.gnupg.agent.pinentryPackage = mkDefault pkgs.pinentry-gtk2; 135 programs.xfconf.enable = true; 136 programs.thunar.enable = true; 137 138 environment.pathsToLink = [ 139 "/share/xfce4" ··· 144 145 services.xserver.desktopManager.session = [{ 146 name = "xfce"; 147 desktopNames = [ "XFCE" ]; 148 bgSupport = !cfg.noDesktop; 149 start = '' ··· 151 waitPID=$! 152 ''; 153 }]; 154 155 services.xserver.updateDbusEnvironment = true; 156 programs.gdk-pixbuf.modulePackages = [ pkgs.librsvg ];
··· 69 default = true; 70 description = "Enable the XFCE screensaver."; 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 + }; 88 }; 89 90 environment.xfce.excludePackages = mkOption { ··· 150 programs.gnupg.agent.pinentryPackage = mkDefault pkgs.pinentry-gtk2; 151 programs.xfconf.enable = true; 152 programs.thunar.enable = true; 153 + programs.labwc.enable = mkDefault (cfg.enableWaylandSession && ( 154 + cfg.waylandSessionCompositor == "" || lib.substring 0 5 cfg.waylandSessionCompositor == "labwc")); 155 156 environment.pathsToLink = [ 157 "/share/xfce4" ··· 162 163 services.xserver.desktopManager.session = [{ 164 name = "xfce"; 165 + prettyName = "Xfce Session"; 166 desktopNames = [ "XFCE" ]; 167 bgSupport = !cfg.noDesktop; 168 start = '' ··· 170 waitPID=$! 171 ''; 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 + ]; 189 190 services.xserver.updateDbusEnvironment = true; 191 programs.gdk-pixbuf.modulePackages = [ pkgs.librsvg ];
+6 -1
nixos/modules/services/x11/display-managers/default.nix
··· 279 lib.mapCartesianProduct 280 ({dm, wm}: let 281 sessionName = "${dm.name}${optionalString (wm.name != "none") ("+" + wm.name)}"; 282 script = xsession dm wm; 283 desktopNames = if dm ? desktopNames 284 then lib.concatStringsSep ";" dm.desktopNames ··· 297 Type=XSession 298 TryExec=${script} 299 Exec=${script} 300 - Name=${sessionName} 301 DesktopNames=${desktopNames} 302 ''; 303 } // {
··· 279 lib.mapCartesianProduct 280 ({dm, wm}: let 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); 287 script = xsession dm wm; 288 desktopNames = if dm ? desktopNames 289 then lib.concatStringsSep ";" dm.desktopNames ··· 302 Type=XSession 303 TryExec=${script} 304 Exec=${script} 305 + Name=${prettyName} 306 DesktopNames=${desktopNames} 307 ''; 308 } // {
+1
nixos/tests/all-tests.nix
··· 1164 xandikos = handleTest ./xandikos.nix {}; 1165 xautolock = handleTest ./xautolock.nix {}; 1166 xfce = handleTest ./xfce.nix {}; 1167 xmonad = handleTest ./xmonad.nix {}; 1168 xmonad-xdg-autostart = handleTest ./xmonad-xdg-autostart.nix {}; 1169 xpadneo = handleTest ./xpadneo.nix {};
··· 1164 xandikos = handleTest ./xandikos.nix {}; 1165 xautolock = handleTest ./xautolock.nix {}; 1166 xfce = handleTest ./xfce.nix {}; 1167 + xfce-wayland = handleTest ./xfce-wayland.nix {}; 1168 xmonad = handleTest ./xmonad.nix {}; 1169 xmonad-xdg-autostart = handleTest ./xmonad-xdg-autostart.nix {}; 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 "--sbindir=${placeholder "out"}/bin" # for wrapGAppsHook3 to wrap automatically 46 ]; 47 48 preConfigure = '' 49 configureFlagsArray+=( --enable-at-spi-command="${at-spi2-core}/libexec/at-spi-bus-launcher --launch-immediately" ) 50 '';
··· 45 "--sbindir=${placeholder "out"}/bin" # for wrapGAppsHook3 to wrap automatically 46 ]; 47 48 + postPatch = '' 49 + # https://github.com/Xubuntu/lightdm-gtk-greeter/pull/178 50 + cp data/badges/xfce{,-wayland}_badge-symbolic.svg 51 + ''; 52 + 53 preConfigure = '' 54 configureFlagsArray+=( --enable-at-spi-command="${at-spi2-core}/libexec/at-spi-bus-launcher --launch-immediately" ) 55 '';
+11 -1
pkgs/by-name/bu/budgie-desktop/package.nix
··· 2 lib, 3 stdenv, 4 fetchFromGitHub, 5 accountsservice, 6 alsa-lib, 7 budgie-screensaver, ··· 60 "man" 61 ]; 62 63 - patches = [ ./plugins.patch ]; 64 65 nativeBuildInputs = [ 66 docbook-xsl-nons
··· 2 lib, 3 stdenv, 4 fetchFromGitHub, 5 + fetchpatch, 6 accountsservice, 7 alsa-lib, 8 budgie-screensaver, ··· 61 "man" 62 ]; 63 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 + ]; 74 75 nativeBuildInputs = [ 76 docbook-xsl-nons
+10
pkgs/by-name/gr/greybird/package.nix
··· 1 { lib 2 , stdenv 3 , fetchFromGitHub 4 , meson 5 , ninja 6 , pkg-config ··· 21 rev = "v${version}"; 22 sha256 = "+MZQ3FThuRFEfoARsF09B7POwytS5RgTs9zYzIHVtfg="; 23 }; 24 25 nativeBuildInputs = [ 26 meson
··· 1 { lib 2 , stdenv 3 , fetchFromGitHub 4 + , fetchpatch 5 , meson 6 , ninja 7 , pkg-config ··· 22 rev = "v${version}"; 23 sha256 = "+MZQ3FThuRFEfoARsF09B7POwytS5RgTs9zYzIHVtfg="; 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 + ]; 34 35 nativeBuildInputs = [ 36 meson
+2 -6
pkgs/desktops/xfce/core/exo/default.nix
··· 4 mkXfceDerivation { 5 category = "xfce"; 6 pname = "exo"; 7 - version = "4.18.0"; 8 9 - sha256 = "sha256-oWlKeUD1v2qqb8vY+2Cu9VJ1iThFPVboP12m/ob5KSQ="; 10 11 nativeBuildInputs = [ 12 libxslt ··· 18 glib 19 libxfce4ui 20 libxfce4util 21 - 22 (perl.withPackages(ps: with ps; [ URI ])) # for $out/lib/xfce4/exo/exo-compose-mail 23 ]; 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 28 meta = with lib; { 29 description = "Application library for Xfce";
··· 4 mkXfceDerivation { 5 category = "xfce"; 6 pname = "exo"; 7 + version = "4.20.0"; 8 9 + sha256 = "sha256-mlGsFaKy96eEAYgYYqtEI4naq5ZSEe3V7nsWGAEucn0="; 10 11 nativeBuildInputs = [ 12 libxslt ··· 18 glib 19 libxfce4ui 20 libxfce4util 21 (perl.withPackages(ps: with ps; [ URI ])) # for $out/lib/xfce4/exo/exo-compose-mail 22 ]; 23 24 meta = with lib; { 25 description = "Application library for Xfce";
+2 -2
pkgs/desktops/xfce/core/garcon/default.nix
··· 3 mkXfceDerivation { 4 category = "xfce"; 5 pname = "garcon"; 6 - version = "4.18.2"; 7 8 - sha256 = "sha256-J9f9MzZ1I9XIyvwuyINkvXDuXY6/MkjlH2Ct4yaEXsY="; 9 10 nativeBuildInputs = [ gobject-introspection ]; 11
··· 3 mkXfceDerivation { 4 category = "xfce"; 5 pname = "garcon"; 6 + version = "4.20.0"; 7 8 + sha256 = "sha256-MeZkDb2QgGMaloO6Nwlj9JmZByepd6ERqpAWqrVv1xw="; 9 10 nativeBuildInputs = [ gobject-introspection ]; 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 }: 3 4 mkXfceDerivation { 5 category = "xfce"; 6 pname = "libxfce4ui"; 7 - version = "4.18.6"; 8 9 - sha256 = "sha256-ojmI745tKLHv26uL1qS/v6hAcLmAV/WF2NAtAhQRUkg="; 10 11 - nativeBuildInputs = [ gobject-introspection vala ]; 12 - buildInputs = [ gtk3 libstartup_notification libgtop libepoxy xfconf ]; 13 - propagatedBuildInputs = [ libxfce4util libICE libSM ]; 14 15 configureFlags = [ 16 "--with-vendor-info=NixOS" ··· 19 meta = with lib; { 20 description = "Widgets library for Xfce"; 21 mainProgram = "xfce4-about"; 22 - license = with licenses; [ lgpl2Plus lgpl21Plus ]; 23 maintainers = with maintainers; [ ] ++ teams.xfce.members; 24 }; 25 }
··· 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 + }: 16 17 mkXfceDerivation { 18 category = "xfce"; 19 pname = "libxfce4ui"; 20 + version = "4.20.0"; 21 22 + sha256 = "sha256-M+OapPHQ/WxlkUzHPx+ELstVyGoZanCxCL0N8hDWSN8="; 23 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 + ]; 43 44 configureFlags = [ 45 "--with-vendor-info=NixOS" ··· 48 meta = with lib; { 49 description = "Widgets library for Xfce"; 50 mainProgram = "xfce4-about"; 51 + license = with licenses; [ 52 + lgpl2Plus 53 + lgpl21Plus 54 + ]; 55 maintainers = with maintainers; [ ] ++ teams.xfce.members; 56 }; 57 }
+17 -4
pkgs/desktops/xfce/core/libxfce4util/default.nix
··· 1 - { lib, mkXfceDerivation, gobject-introspection, vala }: 2 3 mkXfceDerivation { 4 category = "xfce"; 5 pname = "libxfce4util"; 6 - version = "4.18.2"; 7 8 - sha256 = "sha256-JQ6biE1gxtB6+LWxRGfbUhgJhhITGhLr+8BxFW4/8SU="; 9 10 - nativeBuildInputs = [ gobject-introspection vala ]; 11 12 meta = with lib; { 13 description = "Extension library for Xfce";
··· 1 + { 2 + mkXfceDerivation, 3 + lib, 4 + gobject-introspection, 5 + vala, 6 + glib, 7 + }: 8 9 mkXfceDerivation { 10 category = "xfce"; 11 pname = "libxfce4util"; 12 + version = "4.20.0"; 13 + 14 + sha256 = "sha256-0qbJSCXHsVz3XILHICFhciyz92LgMZiR7XFLAESHRGQ="; 15 16 + nativeBuildInputs = [ 17 + gobject-introspection 18 + vala 19 + ]; 20 21 + propagatedBuildInputs = [ 22 + glib 23 + ]; 24 25 meta = with lib; { 26 description = "Extension library for Xfce";
+8 -2
pkgs/desktops/xfce/core/libxfce4windowing/default.nix
··· 4 , wayland-scanner 5 , glib 6 , gtk3 7 , libwnck 8 , libX11 9 , wayland 10 , wlr-protocols 11 }: 12 13 mkXfceDerivation { 14 category = "xfce"; 15 pname = "libxfce4windowing"; 16 - version = "4.19.3"; 17 18 - sha256 = "sha256-nsobRyGeagUq1WHzYBq6vd9g5A65KEQC4cX+m7w0pqg="; 19 20 nativeBuildInputs = [ 21 gobject-introspection ··· 25 buildInputs = [ 26 glib 27 gtk3 28 libwnck 29 libX11 30 wayland 31 wlr-protocols 32 ]; 33
··· 4 , wayland-scanner 5 , glib 6 , gtk3 7 + , libdisplay-info 8 , libwnck 9 , libX11 10 + , libXrandr 11 , wayland 12 + , wayland-protocols 13 , wlr-protocols 14 }: 15 16 mkXfceDerivation { 17 category = "xfce"; 18 pname = "libxfce4windowing"; 19 + version = "4.20.0"; 20 21 + sha256 = "sha256-t/GbsGipc0Ts2tZJaDJBuDF+9XMp8+Trq78NPAuHEpU="; 22 23 nativeBuildInputs = [ 24 gobject-introspection ··· 28 buildInputs = [ 29 glib 30 gtk3 31 + libdisplay-info 32 libwnck 33 libX11 34 + libXrandr 35 wayland 36 + wayland-protocols 37 wlr-protocols 38 ]; 39
+2 -2
pkgs/desktops/xfce/core/thunar-volman/default.nix
··· 3 mkXfceDerivation { 4 category = "xfce"; 5 pname = "thunar-volman"; 6 - version = "4.18.0"; 7 8 buildInputs = [ exo gtk3 libgudev libxfce4ui libxfce4util xfconf ]; 9 10 - sha256 = "sha256-NRVoakU8jTCJVe+iyJQwW1xPti2vjd/8n8CYrIYGII0="; 11 12 odd-unstable = false; 13
··· 3 mkXfceDerivation { 4 category = "xfce"; 5 pname = "thunar-volman"; 6 + version = "4.20.0"; 7 8 buildInputs = [ exo gtk3 libgudev libxfce4ui libxfce4util xfconf ]; 9 10 + sha256 = "sha256-XIVs/vRwy3QJQW/U7eLBvGdzplWlhdxn3f1lyTQsmpE="; 11 12 odd-unstable = false; 13
+2 -2
pkgs/desktops/xfce/core/thunar/default.nix
··· 23 let unwrapped = mkXfceDerivation { 24 category = "xfce"; 25 pname = "thunar"; 26 - version = "4.18.11"; 27 28 - sha256 = "sha256-B417gkrU9EG4ZsEdeuH8P2v4FqYUiTwqgKcO4cSi4SI="; 29 30 nativeBuildInputs = [ 31 docbook_xsl
··· 23 let unwrapped = mkXfceDerivation { 24 category = "xfce"; 25 pname = "thunar"; 26 + version = "4.20.0"; 27 28 + sha256 = "sha256-TCroFesFD0IKGdfuootd1BwEsWVECE2XQfUovJqPEh0="; 29 30 nativeBuildInputs = [ 31 docbook_xsl
+2 -2
pkgs/desktops/xfce/core/tumbler/default.nix
··· 19 mkXfceDerivation { 20 category = "xfce"; 21 pname = "tumbler"; 22 - version = "4.18.2"; 23 24 - sha256 = "sha256-thioE0q2qnV4weJFPz8OWoHIRuUcXnQEviwBtCWsSV4="; 25 26 buildInputs = [ 27 libxfce4util
··· 19 mkXfceDerivation { 20 category = "xfce"; 21 pname = "tumbler"; 22 + version = "4.20.0"; 23 24 + sha256 = "sha256-GmEMdG8Ikd4Tq/1ntCHiN0S7ehUXqzMX7OtXsycLd6E="; 25 26 buildInputs = [ 27 libxfce4util
+2 -2
pkgs/desktops/xfce/core/xfce4-appfinder/default.nix
··· 3 mkXfceDerivation { 4 category = "xfce"; 5 pname = "xfce4-appfinder"; 6 - version = "4.18.1"; 7 8 - sha256 = "sha256-CZEX1PzFsVt72Fkb4+5PiZjAcDisvYnbzFGFXjFL4sc="; 9 10 nativeBuildInputs = [ exo ]; 11 buildInputs = [ garcon gtk3 libxfce4ui libxfce4util xfconf ];
··· 3 mkXfceDerivation { 4 category = "xfce"; 5 pname = "xfce4-appfinder"; 6 + version = "4.20.0"; 7 8 + sha256 = "sha256-HovQnkfv5BOsRPowgMkMEWQmESkivVK0Xb7I15ZaOMc="; 9 10 nativeBuildInputs = [ exo ]; 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 12 }: 13 14 - mkXfceDerivation { 15 - category = "xfce"; 16 pname = "xfce4-dev-tools"; 17 - version = "4.18.1"; 18 19 - sha256 = "sha256-JUyFlifNVhSnIMaI9qmgCtGIgkpmzYybMfuhPgJiDOg="; 20 21 nativeBuildInputs = [ 22 autoreconfHook 23 - libxslt 24 docbook_xsl 25 ]; 26 27 propagatedBuildInputs = [ ··· 33 libtool 34 ]; 35 36 setupHook = ./setup-hook.sh; 37 38 meta = with lib; { 39 description = "Autoconf macros and scripts to augment app build systems"; 40 maintainers = with maintainers; [ ] ++ teams.xfce.members; 41 }; 42 - }
··· 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, 19 }: 20 21 + stdenv.mkDerivation (finalAttrs: { 22 pname = "xfce4-dev-tools"; 23 + version = "4.20.0"; 24 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 + }; 32 33 nativeBuildInputs = [ 34 autoreconfHook 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 46 ]; 47 48 propagatedBuildInputs = [ ··· 54 libtool 55 ]; 56 57 + dontUseMesonConfigure = true; 58 + configureFlags = [ "--enable-maintainer-mode" ]; 59 + 60 + enableParallelBuilding = true; 61 + 62 setupHook = ./setup-hook.sh; 63 64 + passthru.updateScript = gitUpdater { 65 + rev-prefix = "xfce4-dev-tools-"; 66 + odd-unstable = true; 67 + }; 68 + 69 meta = with lib; { 70 + homepage = "https://gitlab.xfce.org/xfce/xfce4-dev-tools"; 71 description = "Autoconf macros and scripts to augment app build systems"; 72 + license = licenses.gpl2Plus; 73 maintainers = with maintainers; [ ] ++ teams.xfce.members; 74 + platforms = platforms.linux; 75 }; 76 + })
+11 -5
pkgs/desktops/xfce/core/xfce4-panel/default.nix
··· 1 { lib 2 , mkXfceDerivation 3 , exo 4 , garcon 5 , gobject-introspection 6 , gtk3 7 , libdbusmenu-gtk3 8 , libwnck 9 , libxfce4ui 10 , libxfce4util 11 , tzdata 12 , vala 13 , xfconf 14 }: 15 16 mkXfceDerivation { 17 category = "xfce"; 18 pname = "xfce4-panel"; 19 - version = "4.18.6"; 20 21 - sha256 = "sha256-eQLz/LJIx2WkzcSLytRdJdhtGv0woT48mdqG7eHB0U4="; 22 23 nativeBuildInputs = [ 24 gobject-introspection ··· 26 ]; 27 28 buildInputs = [ 29 exo 30 garcon 31 libdbusmenu-gtk3 32 libxfce4ui 33 libwnck 34 - xfconf 35 tzdata 36 ]; 37 38 propagatedBuildInputs = [ 39 gtk3 40 libxfce4util 41 ]; 42 - 43 - patches = [ ./xfce4-panel-datadir.patch ]; 44 45 postPatch = '' 46 substituteInPlace plugins/clock/clock.c \
··· 1 { lib 2 , mkXfceDerivation 3 + , cairo 4 , exo 5 , garcon 6 , gobject-introspection 7 + , gtk-layer-shell 8 , gtk3 9 , libdbusmenu-gtk3 10 , libwnck 11 , libxfce4ui 12 , libxfce4util 13 + , libxfce4windowing 14 , tzdata 15 , vala 16 + , wayland 17 , xfconf 18 }: 19 20 mkXfceDerivation { 21 category = "xfce"; 22 pname = "xfce4-panel"; 23 + version = "4.20.0"; 24 25 + sha256 = "sha256-oB7mlU7RZtRuCQAKgv5I7ZRRu703Za7Ki9+AkHSELRE="; 26 27 nativeBuildInputs = [ 28 gobject-introspection ··· 30 ]; 31 32 buildInputs = [ 33 + cairo 34 exo 35 garcon 36 + gtk-layer-shell 37 libdbusmenu-gtk3 38 libxfce4ui 39 + libxfce4windowing 40 libwnck 41 tzdata 42 + wayland 43 + xfconf 44 ]; 45 46 propagatedBuildInputs = [ 47 gtk3 48 libxfce4util 49 ]; 50 51 postPatch = '' 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 { lib 2 , mkXfceDerivation 3 , gtk3 4 , libnotify 5 , libxfce4ui 6 , libxfce4util 7 , upower 8 , xfconf 9 , xfce4-panel 10 }: ··· 12 mkXfceDerivation { 13 category = "xfce"; 14 pname = "xfce4-power-manager"; 15 - version = "4.18.4"; 16 17 - sha256 = "sha256-aybY+B8VC/XS6FO3XRpYuJd9Atr9Tc/Uo45q9fh3YLE="; 18 19 buildInputs = [ 20 gtk3 21 libnotify 22 libxfce4ui 23 libxfce4util 24 upower 25 xfconf 26 xfce4-panel 27 ]; ··· 29 # using /run/current-system/sw/bin instead of nix store path prevents polkit permission errors on 30 # rebuild. See https://github.com/NixOS/nixpkgs/issues/77485 31 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\"" 34 substituteInPlace src/xfpm-suspend.c --replace-fail "SBINDIR" "\"/run/current-system/sw/bin\"" 35 ''; 36
··· 1 { lib 2 , mkXfceDerivation 3 + , wayland-scanner 4 , gtk3 5 , libnotify 6 , libxfce4ui 7 , libxfce4util 8 + , polkit 9 , upower 10 + , wayland-protocols 11 + , wlr-protocols 12 , xfconf 13 , xfce4-panel 14 }: ··· 16 mkXfceDerivation { 17 category = "xfce"; 18 pname = "xfce4-power-manager"; 19 + version = "4.20.0"; 20 21 + sha256 = "sha256-qKUdrr+giLzNemhT3EQsOKTSiIx50NakmK14Ak7ZOCE="; 22 + 23 + nativeBuildInputs = [ 24 + wayland-scanner 25 + ]; 26 27 buildInputs = [ 28 gtk3 29 libnotify 30 libxfce4ui 31 libxfce4util 32 + polkit 33 upower 34 + wayland-protocols 35 + wlr-protocols 36 xfconf 37 xfce4-panel 38 ]; ··· 40 # using /run/current-system/sw/bin instead of nix store path prevents polkit permission errors on 41 # rebuild. See https://github.com/NixOS/nixpkgs/issues/77485 42 postPatch = '' 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\"" 45 substituteInPlace src/xfpm-suspend.c --replace-fail "SBINDIR" "\"/run/current-system/sw/bin\"" 46 ''; 47
+10 -3
pkgs/desktops/xfce/core/xfce4-session/default.nix
··· 4 , exo 5 , libxfce4util 6 , libxfce4ui 7 , xfconf 8 , iceauth 9 , gtk3 10 , glib 11 , libwnck 12 , xfce4-session ··· 15 mkXfceDerivation { 16 category = "xfce"; 17 pname = "xfce4-session"; 18 - version = "4.18.4"; 19 20 - sha256 = "sha256-YxIHxb8mRggHLJ9TQ+KGb9qjt+DMZrxMn+oFuFRL8GI="; 21 22 buildInputs = [ 23 exo 24 gtk3 25 glib 26 libxfce4ui 27 libxfce4util 28 libwnck 29 xfconf 30 polkit 31 iceauth 32 ]; 33 34 - configureFlags = [ "--with-xsession-prefix=${placeholder "out"}" ]; 35 36 passthru.xinitrc = "${xfce4-session}/etc/xdg/xfce4/xinitrc"; 37
··· 4 , exo 5 , libxfce4util 6 , libxfce4ui 7 + , libxfce4windowing 8 , xfconf 9 , iceauth 10 , gtk3 11 + , gtk-layer-shell 12 , glib 13 , libwnck 14 , xfce4-session ··· 17 mkXfceDerivation { 18 category = "xfce"; 19 pname = "xfce4-session"; 20 + version = "4.20.0"; 21 22 + sha256 = "sha256-mn3ky1NzrpQZRkhc605mj+GFhbFq26eW59YKUfnX9X8="; 23 24 buildInputs = [ 25 exo 26 gtk3 27 + gtk-layer-shell 28 glib 29 libxfce4ui 30 libxfce4util 31 + libxfce4windowing 32 libwnck 33 xfconf 34 polkit 35 iceauth 36 ]; 37 38 + configureFlags = [ 39 + "--with-xsession-prefix=${placeholder "out"}" 40 + "--with-wayland-session-prefix=${placeholder "out"}" 41 + ]; 42 43 passthru.xinitrc = "${xfce4-session}/etc/xdg/xfce4/xinitrc"; 44
+11 -2
pkgs/desktops/xfce/core/xfce4-settings/default.nix
··· 1 { lib 2 , mkXfceDerivation 3 , exo 4 , garcon 5 , gtk3 6 , glib 7 , libnotify 8 , libxfce4ui ··· 12 # Disabled by default on upstream and actually causes issues: 13 # https://gitlab.xfce.org/xfce/xfce4-settings/-/issues/222 14 , withUpower ? false 15 , xfconf 16 , xf86inputlibinput 17 , colord ··· 21 mkXfceDerivation { 22 category = "xfce"; 23 pname = "xfce4-settings"; 24 - version = "4.18.6"; 25 26 - sha256 = "sha256-xiu26B3dbWu+/AtF/iUC6Wo2U5ZZyzN9RfdbBaQRJ1M="; 27 28 buildInputs = [ 29 exo 30 garcon 31 glib 32 gtk3 33 libnotify 34 libxfce4ui 35 libxfce4util 36 libxklavier 37 xf86inputlibinput 38 xfconf 39 ]
··· 1 { lib 2 , mkXfceDerivation 3 + , wayland-scanner 4 , exo 5 , garcon 6 , gtk3 7 + , gtk-layer-shell 8 , glib 9 , libnotify 10 , libxfce4ui ··· 14 # Disabled by default on upstream and actually causes issues: 15 # https://gitlab.xfce.org/xfce/xfce4-settings/-/issues/222 16 , withUpower ? false 17 + , wlr-protocols 18 , xfconf 19 , xf86inputlibinput 20 , colord ··· 24 mkXfceDerivation { 25 category = "xfce"; 26 pname = "xfce4-settings"; 27 + version = "4.20.0"; 28 + 29 + sha256 = "sha256-0fMuAucyxLr2VzQqAB0CL+HgkHNJctiVNZmUmTNzaPc="; 30 31 + nativeBuildInputs = [ 32 + wayland-scanner 33 + ]; 34 35 buildInputs = [ 36 exo 37 garcon 38 glib 39 gtk3 40 + gtk-layer-shell 41 libnotify 42 libxfce4ui 43 libxfce4util 44 libxklavier 45 + wlr-protocols 46 xf86inputlibinput 47 xfconf 48 ]
+2 -2
pkgs/desktops/xfce/core/xfconf/default.nix
··· 8 mkXfceDerivation { 9 category = "xfce"; 10 pname = "xfconf"; 11 - version = "4.18.3"; 12 13 - sha256 = "sha256-Iu/LHyk/lOvu8uJuJRDxIkabiX0vZB4H99vVKRiugVo="; 14 15 nativeBuildInputs = [ gobject-introspection vala ]; 16
··· 8 mkXfceDerivation { 9 category = "xfce"; 10 pname = "xfconf"; 11 + version = "4.20.0"; 12 13 + sha256 = "sha256-U+Sk7ubBr1ZD1GLQXlxrx0NQdhV/WpVBbnLcc94Tjcw="; 14 15 nativeBuildInputs = [ gobject-introspection vala ]; 16
+20 -4
pkgs/desktops/xfce/core/xfdesktop/default.nix
··· 1 - { lib, mkXfceDerivation, exo, gtk3, libxfce4ui, libxfce4util, libwnck, xfconf, libnotify, garcon, thunar }: 2 3 mkXfceDerivation { 4 category = "xfce"; 5 pname = "xfdesktop"; 6 - version = "4.18.1"; 7 8 - sha256 = "sha256-33G7X5kA3MCNJ9Aq9ZCafP0Qm/46iUmLFB8clhKwDz8="; 9 10 buildInputs = [ 11 exo 12 gtk3 13 libxfce4ui 14 libxfce4util 15 - libwnck 16 xfconf 17 libnotify 18 garcon 19 thunar 20 ]; 21
··· 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 + }: 16 17 mkXfceDerivation { 18 category = "xfce"; 19 pname = "xfdesktop"; 20 + version = "4.20.0"; 21 22 + sha256 = "sha256-80g3lk1TkQI0fbYf2nXs36TrPlaGTHgH6k/TGOzRd3w="; 23 24 buildInputs = [ 25 exo 26 gtk3 27 libxfce4ui 28 libxfce4util 29 + libxfce4windowing 30 + libyaml 31 xfconf 32 libnotify 33 garcon 34 + gtk-layer-shell 35 thunar 36 ]; 37
+2 -2
pkgs/desktops/xfce/core/xfwm4/default.nix
··· 5 mkXfceDerivation { 6 category = "xfce"; 7 pname = "xfwm4"; 8 - version = "4.18.0"; 9 10 - sha256 = "sha256-nTPgxC0XMBJ48lPCeQgCvWWK1/2ZIoQOYsMeaxDpE1c="; 11 12 nativeBuildInputs = [ exo librsvg ]; 13
··· 5 mkXfceDerivation { 6 category = "xfce"; 7 pname = "xfwm4"; 8 + version = "4.20.0"; 9 10 + sha256 = "sha256-5UZQrAH0oz+G+7cvXCLDJ4GSXNJcyl4Ap9umb7h0f5Q="; 11 12 nativeBuildInputs = [ exo librsvg ]; 13
+1 -5
pkgs/desktops/xfce/default.nix
··· 61 62 xfce4-appfinder = callPackage ./core/xfce4-appfinder { }; 63 64 - xfce4-dev-tools = callPackage ./core/xfce4-dev-tools { 65 - mkXfceDerivation = self.mkXfceDerivation.override { 66 - xfce4-dev-tools = null; 67 - }; 68 - }; 69 70 #### APPLICATIONS 71
··· 61 62 xfce4-appfinder = callPackage ./core/xfce4-appfinder { }; 63 64 + xfce4-dev-tools = callPackage ./core/xfce4-dev-tools { }; 65 66 #### APPLICATIONS 67
+7 -6
pkgs/desktops/xfce/panel-plugins/xfce4-docklike-plugin/default.nix
··· 3 , cairo 4 , glib 5 , gtk3 6 , libX11 7 , libxfce4ui 8 , libxfce4util 9 , xfce4-panel 10 - , libwnck 11 }: 12 13 mkXfceDerivation { 14 category = "panel-plugins"; 15 pname = "xfce4-docklike-plugin"; 16 - version = "0.4.2"; 17 - sha256 = "sha256-M/V8cnEU/nSEDjQ3k8fWiklF5OuNg3uzzJMHBSZBiLU="; 18 19 buildInputs = [ 20 cairo 21 glib 22 gtk3 23 libX11 24 libxfce4ui 25 libxfce4util 26 xfce4-panel 27 - libwnck 28 ]; 29 - 30 - NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0"; 31 32 meta = with lib; { 33 homepage = "https://docs.xfce.org/panel-plugins/xfce4-docklike-plugin/start";
··· 3 , cairo 4 , glib 5 , gtk3 6 + , gtk-layer-shell 7 , libX11 8 , libxfce4ui 9 , libxfce4util 10 , xfce4-panel 11 + , libxfce4windowing 12 }: 13 14 mkXfceDerivation { 15 category = "panel-plugins"; 16 pname = "xfce4-docklike-plugin"; 17 + version = "0.4.2-unstable-2024-11-04"; 18 + rev = "1154bf1c9f291d5699663910d5aac71bb3ab2227"; 19 + sha256 = "sha256-uno3qNyuesK/hJMdAxHZS6XMysr7ySOgJ5ACXGcIWFs="; 20 21 buildInputs = [ 22 cairo 23 glib 24 gtk3 25 + gtk-layer-shell 26 libX11 27 libxfce4ui 28 libxfce4util 29 xfce4-panel 30 + libxfce4windowing 31 ]; 32 33 meta = with lib; { 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 , libnotify 8 , libxfce4ui 9 , libxfce4util 10 , xfce4-panel 11 , xfconf 12 , keybinder3 ··· 16 mkXfceDerivation { 17 category = "panel-plugins"; 18 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 - ''; 25 26 buildInputs = [ 27 exo ··· 33 libpulseaudio 34 libxfce4ui 35 libxfce4util 36 xfce4-panel 37 xfconf 38 ];
··· 7 , libnotify 8 , libxfce4ui 9 , libxfce4util 10 + , libxfce4windowing 11 , xfce4-panel 12 , xfconf 13 , keybinder3 ··· 17 mkXfceDerivation { 18 category = "panel-plugins"; 19 pname = "xfce4-pulseaudio-plugin"; 20 + version = "0.4.9"; 21 + sha256 = "sha256-bJp4HicAFPuRATDHus0DfJFy1c6gw6Tkpd2UN7SXqsI="; 22 23 buildInputs = [ 24 exo ··· 30 libpulseaudio 31 libxfce4ui 32 libxfce4util 33 + libxfce4windowing 34 xfce4-panel 35 xfconf 36 ];