mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-06-09 19:13:26 +03:00
Xfce 4.20 (#353048)
This commit is contained in:
commit
d8890db135
29 changed files with 360 additions and 115 deletions
|
@ -186,6 +186,11 @@
|
|||
- Cinnamon has been updated to 6.4, please check the [upstream announcement](https://www.linuxmint.com/rel_xia_whatsnew.php) for more details.
|
||||
- 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"`.
|
||||
|
||||
- Xfce has been updated to 4.20, please check the [upstream feature tour](https://www.xfce.org/about/tour420) for more details.
|
||||
- Wayland session is still [experimental](https://wiki.xfce.org/releng/wayland_roadmap) and requires opt-in using `enableWaylandSession` option.
|
||||
- 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.
|
||||
- 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.
|
||||
|
||||
- `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.
|
||||
|
||||
- `services.avahi.ipv6` now defaults to true.
|
||||
|
|
|
@ -69,6 +69,22 @@ in
|
|||
default = true;
|
||||
description = "Enable the XFCE screensaver.";
|
||||
};
|
||||
|
||||
enableWaylandSession = mkEnableOption "the experimental Xfce Wayland session";
|
||||
|
||||
waylandSessionCompositor = mkOption {
|
||||
type = lib.types.str;
|
||||
default = "";
|
||||
example = "wayfire";
|
||||
description = ''
|
||||
Command line to run a Wayland compositor, defaults to `labwc --startup`
|
||||
if not specified. Note that `xfce4-session` will be passed to it as an
|
||||
argument, see `startxfce4 --help` for details.
|
||||
|
||||
Some compositors do not have an option equivalent to labwc's `--startup`
|
||||
and you might have to add xfce4-session somewhere in their configurations.
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
environment.xfce.excludePackages = mkOption {
|
||||
|
@ -134,6 +150,8 @@ in
|
|||
programs.gnupg.agent.pinentryPackage = mkDefault pkgs.pinentry-gtk2;
|
||||
programs.xfconf.enable = true;
|
||||
programs.thunar.enable = true;
|
||||
programs.labwc.enable = mkDefault (cfg.enableWaylandSession && (
|
||||
cfg.waylandSessionCompositor == "" || lib.substring 0 5 cfg.waylandSessionCompositor == "labwc"));
|
||||
|
||||
environment.pathsToLink = [
|
||||
"/share/xfce4"
|
||||
|
@ -144,6 +162,7 @@ in
|
|||
|
||||
services.xserver.desktopManager.session = [{
|
||||
name = "xfce";
|
||||
prettyName = "Xfce Session";
|
||||
desktopNames = [ "XFCE" ];
|
||||
bgSupport = !cfg.noDesktop;
|
||||
start = ''
|
||||
|
@ -152,6 +171,22 @@ in
|
|||
'';
|
||||
}];
|
||||
|
||||
# Copied from https://gitlab.xfce.org/xfce/xfce4-session/-/blob/xfce4-session-4.19.2/xfce-wayland.desktop.in
|
||||
# to maintain consistent l10n state with X11 session file and to support the waylandSessionCompositor option.
|
||||
services.displayManager.sessionPackages = optionals cfg.enableWaylandSession [
|
||||
((pkgs.writeTextDir "share/wayland-sessions/xfce-wayland.desktop" ''
|
||||
[Desktop Entry]
|
||||
Version=1.0
|
||||
Name=Xfce Session (Wayland)
|
||||
Comment=Use this session to run Xfce as your desktop environment
|
||||
Exec=startxfce4 --wayland ${cfg.waylandSessionCompositor}
|
||||
Icon=
|
||||
Type=Application
|
||||
DesktopNames=XFCE
|
||||
Keywords=xfce;wayland;desktop;environment;session;
|
||||
'').overrideAttrs (_: { passthru.providedSessions = [ "xfce-wayland" ]; }))
|
||||
];
|
||||
|
||||
services.xserver.updateDbusEnvironment = true;
|
||||
programs.gdk-pixbuf.modulePackages = [ pkgs.librsvg ];
|
||||
|
||||
|
|
|
@ -279,6 +279,11 @@ in
|
|||
lib.mapCartesianProduct
|
||||
({dm, wm}: let
|
||||
sessionName = "${dm.name}${optionalString (wm.name != "none") ("+" + wm.name)}";
|
||||
prettyName =
|
||||
if dm.name != "none" then
|
||||
"${dm.prettyName or dm.name}${optionalString (wm.name != "none") (" (" + (wm.prettyName or wm.name) + ")")}"
|
||||
else
|
||||
(wm.prettyName or wm.name);
|
||||
script = xsession dm wm;
|
||||
desktopNames = if dm ? desktopNames
|
||||
then lib.concatStringsSep ";" dm.desktopNames
|
||||
|
@ -297,7 +302,7 @@ in
|
|||
Type=XSession
|
||||
TryExec=${script}
|
||||
Exec=${script}
|
||||
Name=${sessionName}
|
||||
Name=${prettyName}
|
||||
DesktopNames=${desktopNames}
|
||||
'';
|
||||
} // {
|
||||
|
|
|
@ -1164,6 +1164,7 @@ in {
|
|||
xandikos = handleTest ./xandikos.nix {};
|
||||
xautolock = handleTest ./xautolock.nix {};
|
||||
xfce = handleTest ./xfce.nix {};
|
||||
xfce-wayland = handleTest ./xfce-wayland.nix {};
|
||||
xmonad = handleTest ./xmonad.nix {};
|
||||
xmonad-xdg-autostart = handleTest ./xmonad-xdg-autostart.nix {};
|
||||
xpadneo = handleTest ./xpadneo.nix {};
|
||||
|
|
73
nixos/tests/xfce-wayland.nix
Normal file
73
nixos/tests/xfce-wayland.nix
Normal file
|
@ -0,0 +1,73 @@
|
|||
import ./make-test-python.nix (
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
name = "xfce-wayland";
|
||||
|
||||
nodes.machine =
|
||||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
./common/user-account.nix
|
||||
];
|
||||
|
||||
services.xserver.enable = true;
|
||||
services.xserver.displayManager.lightdm.enable = true;
|
||||
services.displayManager = {
|
||||
defaultSession = "xfce-wayland";
|
||||
autoLogin = {
|
||||
enable = true;
|
||||
user = "alice";
|
||||
};
|
||||
};
|
||||
|
||||
services.xserver.desktopManager.xfce.enable = true;
|
||||
services.xserver.desktopManager.xfce.enableWaylandSession = true;
|
||||
# https://gitlab.xfce.org/apps/xfce4-screensaver/-/merge_requests/28
|
||||
services.xserver.desktopManager.xfce.enableScreensaver = false;
|
||||
environment.systemPackages = [ pkgs.wlrctl ];
|
||||
};
|
||||
|
||||
enableOCR = true;
|
||||
|
||||
testScript =
|
||||
{ nodes, ... }:
|
||||
let
|
||||
user = nodes.machine.users.users.alice;
|
||||
rtdir = "XDG_RUNTIME_DIR=/run/user/${toString user.uid}";
|
||||
in
|
||||
''
|
||||
machine.wait_for_unit("display-manager.service")
|
||||
|
||||
with subtest("Wait for Wayland server"):
|
||||
machine.wait_for_file("/run/user/${toString user.uid}/wayland-0")
|
||||
|
||||
with subtest("Check that logging in has given the user ownership of devices"):
|
||||
machine.succeed("getfacl -p /dev/snd/timer | grep -q ${user.name}")
|
||||
|
||||
with subtest("Check if Xfce components actually start"):
|
||||
for p in ["labwc", "xfdesktop", "xfce4-notifyd", "xfconfd", "xfce4-panel"]:
|
||||
machine.wait_until_succeeds(f"pgrep {p}")
|
||||
|
||||
with subtest("Open Xfce terminal"):
|
||||
machine.succeed("su - ${user.name} -c '${rtdir} xfce4-terminal >&2 &'")
|
||||
machine.wait_until_succeeds("su - ${user.name} -c '${rtdir} wlrctl toplevel list | grep xfce4-terminal'")
|
||||
|
||||
with subtest("Open Thunar"):
|
||||
machine.succeed("su - ${user.name} -c '${rtdir} thunar >&2 &'")
|
||||
machine.wait_until_succeeds("su - ${user.name} -c '${rtdir} wlrctl toplevel list | grep Thunar'")
|
||||
machine.wait_for_text('(Pictures|Public|Templates|Videos)')
|
||||
|
||||
with subtest("Check if various environment variables are set"):
|
||||
cmd = "xargs --null --max-args=1 echo < /proc/$(pgrep -xf xfce4-panel)/environ"
|
||||
machine.succeed(f"{cmd} | grep 'XDG_SESSION_TYPE' | grep 'wayland'")
|
||||
machine.succeed(f"{cmd} | grep 'XFCE4_SESSION_COMPOSITOR' | grep 'labwc'")
|
||||
machine.succeed(f"{cmd} | grep 'XDG_CURRENT_DESKTOP' | grep 'XFCE'")
|
||||
|
||||
with subtest("Check if any coredumps are found"):
|
||||
machine.succeed("(coredumpctl --json=short 2>&1 || true) | grep 'No coredumps found'")
|
||||
machine.sleep(10)
|
||||
machine.screenshot("screen")
|
||||
'';
|
||||
}
|
||||
)
|
|
@ -45,6 +45,11 @@ stdenv.mkDerivation rec {
|
|||
"--sbindir=${placeholder "out"}/bin" # for wrapGAppsHook3 to wrap automatically
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
# https://github.com/Xubuntu/lightdm-gtk-greeter/pull/178
|
||||
cp data/badges/xfce{,-wayland}_badge-symbolic.svg
|
||||
'';
|
||||
|
||||
preConfigure = ''
|
||||
configureFlagsArray+=( --enable-at-spi-command="${at-spi2-core}/libexec/at-spi-bus-launcher --launch-immediately" )
|
||||
'';
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
fetchpatch,
|
||||
accountsservice,
|
||||
alsa-lib,
|
||||
budgie-screensaver,
|
||||
|
@ -60,7 +61,16 @@ stdenv.mkDerivation (finalAttrs: {
|
|||
"man"
|
||||
];
|
||||
|
||||
patches = [ ./plugins.patch ];
|
||||
patches = [
|
||||
./plugins.patch
|
||||
|
||||
# Adapt to libxfce4windowing v4.19.8
|
||||
# https://github.com/BuddiesOfBudgie/budgie-desktop/pull/627
|
||||
(fetchpatch {
|
||||
url = "https://github.com/BuddiesOfBudgie/budgie-desktop/commit/ba8170b4f3108f9de28331b6a98a9d92bb0ed4de.patch";
|
||||
hash = "sha256-T//1/NmaV81j0jiIYK7vEp8sgKCgF2i10D+Rk9qAAeE=";
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
docbook-xsl-nons
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, fetchpatch
|
||||
, meson
|
||||
, ninja
|
||||
, pkg-config
|
||||
|
@ -22,6 +23,15 @@ stdenv.mkDerivation rec {
|
|||
sha256 = "+MZQ3FThuRFEfoARsF09B7POwytS5RgTs9zYzIHVtfg=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Fix label styles for xfdesktop 4.19
|
||||
# https://github.com/shimmerproject/Greybird/pull/338
|
||||
(fetchpatch {
|
||||
url = "https://github.com/shimmerproject/Greybird/commit/7e4507d7713b2aaf41f8cfef2a1a9e214a4d8b6f.patch";
|
||||
hash = "sha256-awXM2RgFIK/Ik5cJSy4IQYl+ic+XGQV0YwbL3SPclzQ=";
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
meson
|
||||
ninja
|
||||
|
|
|
@ -4,9 +4,9 @@
|
|||
mkXfceDerivation {
|
||||
category = "xfce";
|
||||
pname = "exo";
|
||||
version = "4.18.0";
|
||||
version = "4.20.0";
|
||||
|
||||
sha256 = "sha256-oWlKeUD1v2qqb8vY+2Cu9VJ1iThFPVboP12m/ob5KSQ=";
|
||||
sha256 = "sha256-mlGsFaKy96eEAYgYYqtEI4naq5ZSEe3V7nsWGAEucn0=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
libxslt
|
||||
|
@ -18,13 +18,9 @@ mkXfceDerivation {
|
|||
glib
|
||||
libxfce4ui
|
||||
libxfce4util
|
||||
|
||||
(perl.withPackages(ps: with ps; [ URI ])) # for $out/lib/xfce4/exo/exo-compose-mail
|
||||
];
|
||||
|
||||
# Workaround https://bugzilla.xfce.org/show_bug.cgi?id=15825
|
||||
env.NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0";
|
||||
|
||||
meta = with lib; {
|
||||
description = "Application library for Xfce";
|
||||
maintainers = with maintainers; [ ] ++ teams.xfce.members;
|
||||
|
|
|
@ -3,9 +3,9 @@
|
|||
mkXfceDerivation {
|
||||
category = "xfce";
|
||||
pname = "garcon";
|
||||
version = "4.18.2";
|
||||
version = "4.20.0";
|
||||
|
||||
sha256 = "sha256-J9f9MzZ1I9XIyvwuyINkvXDuXY6/MkjlH2Ct4yaEXsY=";
|
||||
sha256 = "sha256-MeZkDb2QgGMaloO6Nwlj9JmZByepd6ERqpAWqrVv1xw=";
|
||||
|
||||
nativeBuildInputs = [ gobject-introspection ];
|
||||
|
||||
|
|
|
@ -1,16 +1,45 @@
|
|||
{ lib, mkXfceDerivation, gobject-introspection, vala, gtk3, libICE, libSM
|
||||
, libstartup_notification, libgtop, libepoxy, libxfce4util, xfconf }:
|
||||
{
|
||||
mkXfceDerivation,
|
||||
lib,
|
||||
gobject-introspection,
|
||||
vala,
|
||||
libICE,
|
||||
libSM,
|
||||
libepoxy,
|
||||
libgtop,
|
||||
libgudev,
|
||||
libstartup_notification,
|
||||
xfconf,
|
||||
gtk3,
|
||||
libxfce4util,
|
||||
}:
|
||||
|
||||
mkXfceDerivation {
|
||||
category = "xfce";
|
||||
pname = "libxfce4ui";
|
||||
version = "4.18.6";
|
||||
version = "4.20.0";
|
||||
|
||||
sha256 = "sha256-ojmI745tKLHv26uL1qS/v6hAcLmAV/WF2NAtAhQRUkg=";
|
||||
sha256 = "sha256-M+OapPHQ/WxlkUzHPx+ELstVyGoZanCxCL0N8hDWSN8=";
|
||||
|
||||
nativeBuildInputs = [ gobject-introspection vala ];
|
||||
buildInputs = [ gtk3 libstartup_notification libgtop libepoxy xfconf ];
|
||||
propagatedBuildInputs = [ libxfce4util libICE libSM ];
|
||||
nativeBuildInputs = [
|
||||
gobject-introspection
|
||||
vala
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
libICE
|
||||
libSM
|
||||
libepoxy
|
||||
libgtop
|
||||
libgudev
|
||||
libstartup_notification
|
||||
xfconf
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
gtk3
|
||||
libxfce4util
|
||||
];
|
||||
|
||||
configureFlags = [
|
||||
"--with-vendor-info=NixOS"
|
||||
|
@ -19,7 +48,10 @@ mkXfceDerivation {
|
|||
meta = with lib; {
|
||||
description = "Widgets library for Xfce";
|
||||
mainProgram = "xfce4-about";
|
||||
license = with licenses; [ lgpl2Plus lgpl21Plus ];
|
||||
license = with licenses; [
|
||||
lgpl2Plus
|
||||
lgpl21Plus
|
||||
];
|
||||
maintainers = with maintainers; [ ] ++ teams.xfce.members;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,13 +1,26 @@
|
|||
{ lib, mkXfceDerivation, gobject-introspection, vala }:
|
||||
{
|
||||
mkXfceDerivation,
|
||||
lib,
|
||||
gobject-introspection,
|
||||
vala,
|
||||
glib,
|
||||
}:
|
||||
|
||||
mkXfceDerivation {
|
||||
category = "xfce";
|
||||
pname = "libxfce4util";
|
||||
version = "4.18.2";
|
||||
version = "4.20.0";
|
||||
|
||||
sha256 = "sha256-JQ6biE1gxtB6+LWxRGfbUhgJhhITGhLr+8BxFW4/8SU=";
|
||||
sha256 = "sha256-0qbJSCXHsVz3XILHICFhciyz92LgMZiR7XFLAESHRGQ=";
|
||||
|
||||
nativeBuildInputs = [ gobject-introspection vala ];
|
||||
nativeBuildInputs = [
|
||||
gobject-introspection
|
||||
vala
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
glib
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Extension library for Xfce";
|
||||
|
|
|
@ -4,18 +4,21 @@
|
|||
, wayland-scanner
|
||||
, glib
|
||||
, gtk3
|
||||
, libdisplay-info
|
||||
, libwnck
|
||||
, libX11
|
||||
, libXrandr
|
||||
, wayland
|
||||
, wayland-protocols
|
||||
, wlr-protocols
|
||||
}:
|
||||
|
||||
mkXfceDerivation {
|
||||
category = "xfce";
|
||||
pname = "libxfce4windowing";
|
||||
version = "4.19.3";
|
||||
version = "4.20.0";
|
||||
|
||||
sha256 = "sha256-nsobRyGeagUq1WHzYBq6vd9g5A65KEQC4cX+m7w0pqg=";
|
||||
sha256 = "sha256-t/GbsGipc0Ts2tZJaDJBuDF+9XMp8+Trq78NPAuHEpU=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
gobject-introspection
|
||||
|
@ -25,9 +28,12 @@ mkXfceDerivation {
|
|||
buildInputs = [
|
||||
glib
|
||||
gtk3
|
||||
libdisplay-info
|
||||
libwnck
|
||||
libX11
|
||||
libXrandr
|
||||
wayland
|
||||
wayland-protocols
|
||||
wlr-protocols
|
||||
];
|
||||
|
||||
|
|
|
@ -3,11 +3,11 @@
|
|||
mkXfceDerivation {
|
||||
category = "xfce";
|
||||
pname = "thunar-volman";
|
||||
version = "4.18.0";
|
||||
version = "4.20.0";
|
||||
|
||||
buildInputs = [ exo gtk3 libgudev libxfce4ui libxfce4util xfconf ];
|
||||
|
||||
sha256 = "sha256-NRVoakU8jTCJVe+iyJQwW1xPti2vjd/8n8CYrIYGII0=";
|
||||
sha256 = "sha256-XIVs/vRwy3QJQW/U7eLBvGdzplWlhdxn3f1lyTQsmpE=";
|
||||
|
||||
odd-unstable = false;
|
||||
|
||||
|
|
|
@ -23,9 +23,9 @@
|
|||
let unwrapped = mkXfceDerivation {
|
||||
category = "xfce";
|
||||
pname = "thunar";
|
||||
version = "4.18.11";
|
||||
version = "4.20.0";
|
||||
|
||||
sha256 = "sha256-B417gkrU9EG4ZsEdeuH8P2v4FqYUiTwqgKcO4cSi4SI=";
|
||||
sha256 = "sha256-TCroFesFD0IKGdfuootd1BwEsWVECE2XQfUovJqPEh0=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
docbook_xsl
|
||||
|
|
|
@ -19,9 +19,9 @@
|
|||
mkXfceDerivation {
|
||||
category = "xfce";
|
||||
pname = "tumbler";
|
||||
version = "4.18.2";
|
||||
version = "4.20.0";
|
||||
|
||||
sha256 = "sha256-thioE0q2qnV4weJFPz8OWoHIRuUcXnQEviwBtCWsSV4=";
|
||||
sha256 = "sha256-GmEMdG8Ikd4Tq/1ntCHiN0S7ehUXqzMX7OtXsycLd6E=";
|
||||
|
||||
buildInputs = [
|
||||
libxfce4util
|
||||
|
|
|
@ -3,9 +3,9 @@
|
|||
mkXfceDerivation {
|
||||
category = "xfce";
|
||||
pname = "xfce4-appfinder";
|
||||
version = "4.18.1";
|
||||
version = "4.20.0";
|
||||
|
||||
sha256 = "sha256-CZEX1PzFsVt72Fkb4+5PiZjAcDisvYnbzFGFXjFL4sc=";
|
||||
sha256 = "sha256-HovQnkfv5BOsRPowgMkMEWQmESkivVK0Xb7I15ZaOMc=";
|
||||
|
||||
nativeBuildInputs = [ exo ];
|
||||
buildInputs = [ garcon gtk3 libxfce4ui libxfce4util xfconf ];
|
||||
|
|
|
@ -1,27 +1,48 @@
|
|||
{ lib
|
||||
, mkXfceDerivation
|
||||
, autoreconfHook
|
||||
, libxslt
|
||||
, docbook_xsl
|
||||
, autoconf
|
||||
, automake
|
||||
, glib
|
||||
, gtk-doc
|
||||
, intltool
|
||||
, libtool
|
||||
{
|
||||
stdenv,
|
||||
lib,
|
||||
fetchFromGitLab,
|
||||
autoreconfHook,
|
||||
docbook_xsl,
|
||||
libxslt,
|
||||
meson,
|
||||
pkg-config,
|
||||
wrapGAppsHook3,
|
||||
python3,
|
||||
autoconf,
|
||||
automake,
|
||||
glib,
|
||||
gtk-doc,
|
||||
libtool,
|
||||
intltool,
|
||||
gitUpdater,
|
||||
}:
|
||||
|
||||
mkXfceDerivation {
|
||||
category = "xfce";
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "xfce4-dev-tools";
|
||||
version = "4.18.1";
|
||||
version = "4.20.0";
|
||||
|
||||
sha256 = "sha256-JUyFlifNVhSnIMaI9qmgCtGIgkpmzYybMfuhPgJiDOg=";
|
||||
src = fetchFromGitLab {
|
||||
domain = "gitlab.xfce.org";
|
||||
owner = "xfce";
|
||||
repo = "xfce4-dev-tools";
|
||||
rev = "xfce4-dev-tools-${finalAttrs.version}";
|
||||
hash = "sha256-eUfNa/9ksLCKtVwBRtHaVl7Yl95tukUaDdoLNfeR+Ew=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
autoreconfHook
|
||||
libxslt
|
||||
docbook_xsl
|
||||
libxslt # for xsltproc
|
||||
# x-d-t itself is not a meson project, but the xfce-do-release script wants
|
||||
# `meson rewrite kwargs`, thus this is checked by `AC_CHECK_PROGS`.
|
||||
meson
|
||||
pkg-config
|
||||
wrapGAppsHook3
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
python3 # for xdt-gen-visibility
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
@ -33,10 +54,23 @@ mkXfceDerivation {
|
|||
libtool
|
||||
];
|
||||
|
||||
dontUseMesonConfigure = true;
|
||||
configureFlags = [ "--enable-maintainer-mode" ];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
setupHook = ./setup-hook.sh;
|
||||
|
||||
meta = with lib; {
|
||||
description = "Autoconf macros and scripts to augment app build systems";
|
||||
maintainers = with maintainers; [ ] ++ teams.xfce.members;
|
||||
passthru.updateScript = gitUpdater {
|
||||
rev-prefix = "xfce4-dev-tools-";
|
||||
odd-unstable = true;
|
||||
};
|
||||
}
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://gitlab.xfce.org/xfce/xfce4-dev-tools";
|
||||
description = "Autoconf macros and scripts to augment app build systems";
|
||||
license = licenses.gpl2Plus;
|
||||
maintainers = with maintainers; [ ] ++ teams.xfce.members;
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
})
|
||||
|
|
|
@ -1,24 +1,28 @@
|
|||
{ lib
|
||||
, mkXfceDerivation
|
||||
, cairo
|
||||
, exo
|
||||
, garcon
|
||||
, gobject-introspection
|
||||
, gtk-layer-shell
|
||||
, gtk3
|
||||
, libdbusmenu-gtk3
|
||||
, libwnck
|
||||
, libxfce4ui
|
||||
, libxfce4util
|
||||
, libxfce4windowing
|
||||
, tzdata
|
||||
, vala
|
||||
, wayland
|
||||
, xfconf
|
||||
}:
|
||||
|
||||
mkXfceDerivation {
|
||||
category = "xfce";
|
||||
pname = "xfce4-panel";
|
||||
version = "4.18.6";
|
||||
version = "4.20.0";
|
||||
|
||||
sha256 = "sha256-eQLz/LJIx2WkzcSLytRdJdhtGv0woT48mdqG7eHB0U4=";
|
||||
sha256 = "sha256-oB7mlU7RZtRuCQAKgv5I7ZRRu703Za7Ki9+AkHSELRE=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
gobject-introspection
|
||||
|
@ -26,13 +30,17 @@ mkXfceDerivation {
|
|||
];
|
||||
|
||||
buildInputs = [
|
||||
cairo
|
||||
exo
|
||||
garcon
|
||||
gtk-layer-shell
|
||||
libdbusmenu-gtk3
|
||||
libxfce4ui
|
||||
libxfce4windowing
|
||||
libwnck
|
||||
xfconf
|
||||
tzdata
|
||||
wayland
|
||||
xfconf
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
@ -40,8 +48,6 @@ mkXfceDerivation {
|
|||
libxfce4util
|
||||
];
|
||||
|
||||
patches = [ ./xfce4-panel-datadir.patch ];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace plugins/clock/clock.c \
|
||||
--replace-fail "/usr/share/zoneinfo" "${tzdata}/share/zoneinfo"
|
||||
|
|
|
@ -1,24 +0,0 @@
|
|||
diff --git a/panel/panel-module-factory.c b/panel/panel-module-factory.c
|
||||
index 529fe85..8c792b7 100644
|
||||
--- a/panel/panel-module-factory.c
|
||||
+++ b/panel/panel-module-factory.c
|
||||
@@ -39,6 +39,7 @@
|
||||
#include <panel/panel-module.h>
|
||||
#include <panel/panel-module-factory.h>
|
||||
|
||||
+#define DATADIR "/run/current-system/sw/share/xfce4"
|
||||
#define PANEL_PLUGINS_DATA_DIR (DATADIR G_DIR_SEPARATOR_S "panel" G_DIR_SEPARATOR_S "plugins")
|
||||
#define PANEL_PLUGINS_DATA_DIR_OLD (DATADIR G_DIR_SEPARATOR_S "panel-plugins")
|
||||
|
||||
diff --git a/panel/panel-module.c b/panel/panel-module.c
|
||||
index ba39320..519440b 100644
|
||||
--- a/panel/panel-module.c
|
||||
+++ b/panel/panel-module.c
|
||||
@@ -35,6 +35,7 @@
|
||||
#include <panel/panel-plugin-external-wrapper.h>
|
||||
#include <panel/panel-plugin-external-46.h>
|
||||
|
||||
+#define LIBDIR "/run/current-system/sw/lib/xfce4"
|
||||
#define PANEL_PLUGINS_LIB_DIR (LIBDIR G_DIR_SEPARATOR_S "panel" G_DIR_SEPARATOR_S "plugins")
|
||||
#define PANEL_PLUGINS_LIB_DIR_OLD (LIBDIR G_DIR_SEPARATOR_S "panel-plugins")
|
||||
|
|
@ -1,10 +1,14 @@
|
|||
{ lib
|
||||
, mkXfceDerivation
|
||||
, wayland-scanner
|
||||
, gtk3
|
||||
, libnotify
|
||||
, libxfce4ui
|
||||
, libxfce4util
|
||||
, polkit
|
||||
, upower
|
||||
, wayland-protocols
|
||||
, wlr-protocols
|
||||
, xfconf
|
||||
, xfce4-panel
|
||||
}:
|
||||
|
@ -12,16 +16,23 @@
|
|||
mkXfceDerivation {
|
||||
category = "xfce";
|
||||
pname = "xfce4-power-manager";
|
||||
version = "4.18.4";
|
||||
version = "4.20.0";
|
||||
|
||||
sha256 = "sha256-aybY+B8VC/XS6FO3XRpYuJd9Atr9Tc/Uo45q9fh3YLE=";
|
||||
sha256 = "sha256-qKUdrr+giLzNemhT3EQsOKTSiIx50NakmK14Ak7ZOCE=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
wayland-scanner
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
gtk3
|
||||
libnotify
|
||||
libxfce4ui
|
||||
libxfce4util
|
||||
polkit
|
||||
upower
|
||||
wayland-protocols
|
||||
wlr-protocols
|
||||
xfconf
|
||||
xfce4-panel
|
||||
];
|
||||
|
@ -29,8 +40,8 @@ mkXfceDerivation {
|
|||
# using /run/current-system/sw/bin instead of nix store path prevents polkit permission errors on
|
||||
# rebuild. See https://github.com/NixOS/nixpkgs/issues/77485
|
||||
postPatch = ''
|
||||
substituteInPlace src/org.xfce.power.policy.in2 --replace-fail "@sbindir@" "/run/current-system/sw/bin"
|
||||
substituteInPlace common/xfpm-brightness.c --replace-fail "SBINDIR" "\"/run/current-system/sw/bin\""
|
||||
substituteInPlace src/org.xfce.power.policy.in.in --replace-fail "@sbindir@" "/run/current-system/sw/bin"
|
||||
substituteInPlace common/xfpm-brightness-polkit.c --replace-fail "SBINDIR" "\"/run/current-system/sw/bin\""
|
||||
substituteInPlace src/xfpm-suspend.c --replace-fail "SBINDIR" "\"/run/current-system/sw/bin\""
|
||||
'';
|
||||
|
||||
|
|
|
@ -4,9 +4,11 @@
|
|||
, exo
|
||||
, libxfce4util
|
||||
, libxfce4ui
|
||||
, libxfce4windowing
|
||||
, xfconf
|
||||
, iceauth
|
||||
, gtk3
|
||||
, gtk-layer-shell
|
||||
, glib
|
||||
, libwnck
|
||||
, xfce4-session
|
||||
|
@ -15,23 +17,28 @@
|
|||
mkXfceDerivation {
|
||||
category = "xfce";
|
||||
pname = "xfce4-session";
|
||||
version = "4.18.4";
|
||||
version = "4.20.0";
|
||||
|
||||
sha256 = "sha256-YxIHxb8mRggHLJ9TQ+KGb9qjt+DMZrxMn+oFuFRL8GI=";
|
||||
sha256 = "sha256-mn3ky1NzrpQZRkhc605mj+GFhbFq26eW59YKUfnX9X8=";
|
||||
|
||||
buildInputs = [
|
||||
exo
|
||||
gtk3
|
||||
gtk-layer-shell
|
||||
glib
|
||||
libxfce4ui
|
||||
libxfce4util
|
||||
libxfce4windowing
|
||||
libwnck
|
||||
xfconf
|
||||
polkit
|
||||
iceauth
|
||||
];
|
||||
|
||||
configureFlags = [ "--with-xsession-prefix=${placeholder "out"}" ];
|
||||
configureFlags = [
|
||||
"--with-xsession-prefix=${placeholder "out"}"
|
||||
"--with-wayland-session-prefix=${placeholder "out"}"
|
||||
];
|
||||
|
||||
passthru.xinitrc = "${xfce4-session}/etc/xdg/xfce4/xinitrc";
|
||||
|
||||
|
|
|
@ -1,8 +1,10 @@
|
|||
{ lib
|
||||
, mkXfceDerivation
|
||||
, wayland-scanner
|
||||
, exo
|
||||
, garcon
|
||||
, gtk3
|
||||
, gtk-layer-shell
|
||||
, glib
|
||||
, libnotify
|
||||
, libxfce4ui
|
||||
|
@ -12,6 +14,7 @@
|
|||
# Disabled by default on upstream and actually causes issues:
|
||||
# https://gitlab.xfce.org/xfce/xfce4-settings/-/issues/222
|
||||
, withUpower ? false
|
||||
, wlr-protocols
|
||||
, xfconf
|
||||
, xf86inputlibinput
|
||||
, colord
|
||||
|
@ -21,19 +24,25 @@
|
|||
mkXfceDerivation {
|
||||
category = "xfce";
|
||||
pname = "xfce4-settings";
|
||||
version = "4.18.6";
|
||||
version = "4.20.0";
|
||||
|
||||
sha256 = "sha256-xiu26B3dbWu+/AtF/iUC6Wo2U5ZZyzN9RfdbBaQRJ1M=";
|
||||
sha256 = "sha256-0fMuAucyxLr2VzQqAB0CL+HgkHNJctiVNZmUmTNzaPc=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
wayland-scanner
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
exo
|
||||
garcon
|
||||
glib
|
||||
gtk3
|
||||
gtk-layer-shell
|
||||
libnotify
|
||||
libxfce4ui
|
||||
libxfce4util
|
||||
libxklavier
|
||||
wlr-protocols
|
||||
xf86inputlibinput
|
||||
xfconf
|
||||
]
|
||||
|
|
|
@ -8,9 +8,9 @@
|
|||
mkXfceDerivation {
|
||||
category = "xfce";
|
||||
pname = "xfconf";
|
||||
version = "4.18.3";
|
||||
version = "4.20.0";
|
||||
|
||||
sha256 = "sha256-Iu/LHyk/lOvu8uJuJRDxIkabiX0vZB4H99vVKRiugVo=";
|
||||
sha256 = "sha256-U+Sk7ubBr1ZD1GLQXlxrx0NQdhV/WpVBbnLcc94Tjcw=";
|
||||
|
||||
nativeBuildInputs = [ gobject-introspection vala ];
|
||||
|
||||
|
|
|
@ -1,21 +1,37 @@
|
|||
{ lib, mkXfceDerivation, exo, gtk3, libxfce4ui, libxfce4util, libwnck, xfconf, libnotify, garcon, thunar }:
|
||||
{
|
||||
lib,
|
||||
mkXfceDerivation,
|
||||
exo,
|
||||
gtk3,
|
||||
libxfce4ui,
|
||||
libxfce4util,
|
||||
libxfce4windowing,
|
||||
libyaml,
|
||||
xfconf,
|
||||
libnotify,
|
||||
garcon,
|
||||
gtk-layer-shell,
|
||||
thunar,
|
||||
}:
|
||||
|
||||
mkXfceDerivation {
|
||||
category = "xfce";
|
||||
pname = "xfdesktop";
|
||||
version = "4.18.1";
|
||||
version = "4.20.0";
|
||||
|
||||
sha256 = "sha256-33G7X5kA3MCNJ9Aq9ZCafP0Qm/46iUmLFB8clhKwDz8=";
|
||||
sha256 = "sha256-80g3lk1TkQI0fbYf2nXs36TrPlaGTHgH6k/TGOzRd3w=";
|
||||
|
||||
buildInputs = [
|
||||
exo
|
||||
gtk3
|
||||
libxfce4ui
|
||||
libxfce4util
|
||||
libwnck
|
||||
libxfce4windowing
|
||||
libyaml
|
||||
xfconf
|
||||
libnotify
|
||||
garcon
|
||||
gtk-layer-shell
|
||||
thunar
|
||||
];
|
||||
|
||||
|
|
|
@ -5,9 +5,9 @@
|
|||
mkXfceDerivation {
|
||||
category = "xfce";
|
||||
pname = "xfwm4";
|
||||
version = "4.18.0";
|
||||
version = "4.20.0";
|
||||
|
||||
sha256 = "sha256-nTPgxC0XMBJ48lPCeQgCvWWK1/2ZIoQOYsMeaxDpE1c=";
|
||||
sha256 = "sha256-5UZQrAH0oz+G+7cvXCLDJ4GSXNJcyl4Ap9umb7h0f5Q=";
|
||||
|
||||
nativeBuildInputs = [ exo librsvg ];
|
||||
|
||||
|
|
|
@ -61,11 +61,7 @@ makeScopeWithSplicing' {
|
|||
|
||||
xfce4-appfinder = callPackage ./core/xfce4-appfinder { };
|
||||
|
||||
xfce4-dev-tools = callPackage ./core/xfce4-dev-tools {
|
||||
mkXfceDerivation = self.mkXfceDerivation.override {
|
||||
xfce4-dev-tools = null;
|
||||
};
|
||||
};
|
||||
xfce4-dev-tools = callPackage ./core/xfce4-dev-tools { };
|
||||
|
||||
#### APPLICATIONS
|
||||
|
||||
|
|
|
@ -3,32 +3,33 @@
|
|||
, cairo
|
||||
, glib
|
||||
, gtk3
|
||||
, gtk-layer-shell
|
||||
, libX11
|
||||
, libxfce4ui
|
||||
, libxfce4util
|
||||
, xfce4-panel
|
||||
, libwnck
|
||||
, libxfce4windowing
|
||||
}:
|
||||
|
||||
mkXfceDerivation {
|
||||
category = "panel-plugins";
|
||||
pname = "xfce4-docklike-plugin";
|
||||
version = "0.4.2";
|
||||
sha256 = "sha256-M/V8cnEU/nSEDjQ3k8fWiklF5OuNg3uzzJMHBSZBiLU=";
|
||||
version = "0.4.2-unstable-2024-11-04";
|
||||
rev = "1154bf1c9f291d5699663910d5aac71bb3ab2227";
|
||||
sha256 = "sha256-uno3qNyuesK/hJMdAxHZS6XMysr7ySOgJ5ACXGcIWFs=";
|
||||
|
||||
buildInputs = [
|
||||
cairo
|
||||
glib
|
||||
gtk3
|
||||
gtk-layer-shell
|
||||
libX11
|
||||
libxfce4ui
|
||||
libxfce4util
|
||||
xfce4-panel
|
||||
libwnck
|
||||
libxfce4windowing
|
||||
];
|
||||
|
||||
NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0";
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://docs.xfce.org/panel-plugins/xfce4-docklike-plugin/start";
|
||||
description = "Modern, minimalist taskbar for Xfce";
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
, libnotify
|
||||
, libxfce4ui
|
||||
, libxfce4util
|
||||
, libxfce4windowing
|
||||
, xfce4-panel
|
||||
, xfconf
|
||||
, keybinder3
|
||||
|
@ -16,12 +17,8 @@
|
|||
mkXfceDerivation {
|
||||
category = "panel-plugins";
|
||||
pname = "xfce4-pulseaudio-plugin";
|
||||
version = "0.4.8";
|
||||
sha256 = "sha256-7vcjARm0O+/hVNFzOpxcgAnqD+wRNg5/eqXLcq4t/iU=";
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace configure.ac.in --replace gio-2.0 gio-unix-2.0
|
||||
'';
|
||||
version = "0.4.9";
|
||||
sha256 = "sha256-bJp4HicAFPuRATDHus0DfJFy1c6gw6Tkpd2UN7SXqsI=";
|
||||
|
||||
buildInputs = [
|
||||
exo
|
||||
|
@ -33,6 +30,7 @@ mkXfceDerivation {
|
|||
libpulseaudio
|
||||
libxfce4ui
|
||||
libxfce4util
|
||||
libxfce4windowing
|
||||
xfce4-panel
|
||||
xfconf
|
||||
];
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue