Merge pull request #284633 from FedericoSchonborn/budgie-desktop-10.9
Budgie Desktop 10.9
This commit is contained in:
commit
850bac2305
|
@ -118,9 +118,7 @@ in {
|
||||||
(budgie.budgie-desktop-with-plugins.override { plugins = cfg.extraPlugins; })
|
(budgie.budgie-desktop-with-plugins.override { plugins = cfg.extraPlugins; })
|
||||||
budgie.budgie-desktop-view
|
budgie.budgie-desktop-view
|
||||||
budgie.budgie-screensaver
|
budgie.budgie-screensaver
|
||||||
|
budgie.budgie-session
|
||||||
# Required by the Budgie Desktop session.
|
|
||||||
(gnome.gnome-session.override { gnomeShellSupport = false; })
|
|
||||||
|
|
||||||
# Required by Budgie Menu.
|
# Required by Budgie Menu.
|
||||||
gnome-menus
|
gnome-menus
|
||||||
|
|
|
@ -33,14 +33,13 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: {
|
||||||
''
|
''
|
||||||
with subtest("Wait for login"):
|
with subtest("Wait for login"):
|
||||||
# wait_for_x() checks graphical-session.target, which is expected to be
|
# wait_for_x() checks graphical-session.target, which is expected to be
|
||||||
# inactive on Budgie before #228946 (i.e. systemd managed gnome-session) is
|
# inactive on Budgie before Budgie manages user session with systemd.
|
||||||
# done on upstream.
|
# https://github.com/BuddiesOfBudgie/budgie-desktop/blob/39e9f0895c978f76/src/session/budgie-desktop.in#L16
|
||||||
# https://github.com/BuddiesOfBudgie/budgie-desktop/blob/v10.7.2/src/session/budgie-desktop.in#L16
|
|
||||||
#
|
#
|
||||||
# Previously this was unconditionally touched by xsessionWrapper but was
|
# Previously this was unconditionally touched by xsessionWrapper but was
|
||||||
# changed in #233981 (we have Budgie:GNOME in XDG_CURRENT_DESKTOP).
|
# changed in #233981 (we have Budgie:GNOME in XDG_CURRENT_DESKTOP).
|
||||||
# machine.wait_for_x()
|
# machine.wait_for_x()
|
||||||
machine.wait_until_succeeds('journalctl -t gnome-session-binary --grep "Entering running state"')
|
machine.wait_until_succeeds('journalctl -t budgie-session-binary --grep "Entering running state"')
|
||||||
machine.wait_for_file("${user.home}/.Xauthority")
|
machine.wait_for_file("${user.home}/.Xauthority")
|
||||||
machine.succeed("xauth merge ${user.home}/.Xauthority")
|
machine.succeed("xauth merge ${user.home}/.Xauthority")
|
||||||
|
|
||||||
|
|
|
@ -8,7 +8,6 @@
|
||||||
, glib
|
, glib
|
||||||
, gnome
|
, gnome
|
||||||
, gnome-desktop
|
, gnome-desktop
|
||||||
, gnome-menus
|
|
||||||
, graphene
|
, graphene
|
||||||
, gst_all_1
|
, gst_all_1
|
||||||
, gtk-doc
|
, gtk-doc
|
||||||
|
@ -32,19 +31,20 @@
|
||||||
, sassc
|
, sassc
|
||||||
, upower
|
, upower
|
||||||
, vala
|
, vala
|
||||||
|
, xfce
|
||||||
, wrapGAppsHook
|
, wrapGAppsHook
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation (finalAttrs: {
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
pname = "budgie-desktop";
|
pname = "budgie-desktop";
|
||||||
version = "10.8.2";
|
version = "10.9";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "BuddiesOfBudgie";
|
owner = "BuddiesOfBudgie";
|
||||||
repo = "budgie-desktop";
|
repo = "budgie-desktop";
|
||||||
rev = "v${finalAttrs.version}";
|
rev = "v${finalAttrs.version}";
|
||||||
fetchSubmodules = true;
|
fetchSubmodules = true;
|
||||||
hash = "sha256-K5XUYcFjDJCHhjb/UTO206+UT6lI2P7X1v3SqlYbwPM=";
|
hash = "sha256-yyuLBzTDEQH7rBOWTYBvS+3x2mlbF34f7U7oOUO8BeA=";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
|
@ -68,8 +68,6 @@ stdenv.mkDerivation (finalAttrs: {
|
||||||
budgie-screensaver
|
budgie-screensaver
|
||||||
glib
|
glib
|
||||||
gnome-desktop
|
gnome-desktop
|
||||||
gnome-menus
|
|
||||||
gnome.gnome-bluetooth_1_0
|
|
||||||
gnome.gnome-settings-daemon
|
gnome.gnome-settings-daemon
|
||||||
gnome.mutter
|
gnome.mutter
|
||||||
gnome.zenity
|
gnome.zenity
|
||||||
|
@ -89,6 +87,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||||
polkit
|
polkit
|
||||||
sassc
|
sassc
|
||||||
upower
|
upower
|
||||||
|
xfce.libxfce4windowing
|
||||||
] ++ (with gst_all_1; [
|
] ++ (with gst_all_1; [
|
||||||
gstreamer
|
gstreamer
|
||||||
gst-plugins-base
|
gst-plugins-base
|
||||||
|
|
101
pkgs/desktops/budgie/budgie-session/default.nix
Normal file
101
pkgs/desktops/budgie/budgie-session/default.nix
Normal file
|
@ -0,0 +1,101 @@
|
||||||
|
{ lib
|
||||||
|
, stdenv
|
||||||
|
, fetchFromGitHub
|
||||||
|
, substituteAll
|
||||||
|
, meson
|
||||||
|
, ninja
|
||||||
|
, pkg-config
|
||||||
|
, gnome
|
||||||
|
, glib
|
||||||
|
, gtk3
|
||||||
|
, gsettings-desktop-schemas
|
||||||
|
, gnome-desktop
|
||||||
|
, dbus
|
||||||
|
, json-glib
|
||||||
|
, libICE
|
||||||
|
, xmlto
|
||||||
|
, docbook_xsl
|
||||||
|
, docbook_xml_dtd_412
|
||||||
|
, python3
|
||||||
|
, libxslt
|
||||||
|
, gettext
|
||||||
|
, makeWrapper
|
||||||
|
, systemd
|
||||||
|
, xorg
|
||||||
|
, libepoxy
|
||||||
|
, bash
|
||||||
|
}:
|
||||||
|
|
||||||
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
|
pname = "budgie-session";
|
||||||
|
version = "0.9.1";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "BuddiesOfBudgie";
|
||||||
|
repo = "budgie-session";
|
||||||
|
rev = "v${finalAttrs.version}";
|
||||||
|
hash = "sha256-mz+Yh3NK2Tag+MWVofFFXYYXspxhmYBD6YCiuATpZSI=";
|
||||||
|
};
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
(substituteAll {
|
||||||
|
src = ./fix-paths.patch;
|
||||||
|
gsettings = "${glib.bin}/bin/gsettings";
|
||||||
|
dbusLaunch = "${dbus.lib}/bin/dbus-launch";
|
||||||
|
bash = "${bash}/bin/bash";
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
meson
|
||||||
|
ninja
|
||||||
|
pkg-config
|
||||||
|
gettext
|
||||||
|
makeWrapper
|
||||||
|
xmlto
|
||||||
|
libxslt
|
||||||
|
docbook_xsl
|
||||||
|
docbook_xml_dtd_412
|
||||||
|
python3
|
||||||
|
dbus # for DTD
|
||||||
|
];
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
glib
|
||||||
|
gtk3
|
||||||
|
libICE
|
||||||
|
gnome-desktop
|
||||||
|
json-glib
|
||||||
|
xorg.xtrans
|
||||||
|
gnome.adwaita-icon-theme
|
||||||
|
gnome.gnome-settings-daemon
|
||||||
|
gsettings-desktop-schemas
|
||||||
|
systemd
|
||||||
|
libepoxy
|
||||||
|
];
|
||||||
|
|
||||||
|
postPatch = ''
|
||||||
|
chmod +x meson_post_install.py # patchShebangs requires executable file
|
||||||
|
patchShebangs meson_post_install.py
|
||||||
|
'';
|
||||||
|
|
||||||
|
# `bin/budgie-session` will reset the environment when run in wayland, we
|
||||||
|
# therefor wrap `libexec/budgie-session-binary` instead which is the actual
|
||||||
|
# binary needing wrapping
|
||||||
|
preFixup = ''
|
||||||
|
wrapProgram "$out/libexec/budgie-session-binary" \
|
||||||
|
--prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
|
||||||
|
--suffix XDG_DATA_DIRS : "$out/share:$GSETTINGS_SCHEMAS_PATH" \
|
||||||
|
--suffix XDG_CONFIG_DIRS : "${gnome.gnome-settings-daemon}/etc/xdg"
|
||||||
|
'';
|
||||||
|
|
||||||
|
separateDebugInfo = true;
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "Session manager for Budgie";
|
||||||
|
homepage = "https://github.com/BuddiesOfBudgie/budgie-session";
|
||||||
|
license = lib.licenses.gpl2Plus;
|
||||||
|
maintainers = with lib.maintainers; [federicoschonborn];
|
||||||
|
platforms = lib.platforms.linux;
|
||||||
|
};
|
||||||
|
})
|
35
pkgs/desktops/budgie/budgie-session/fix-paths.patch
Normal file
35
pkgs/desktops/budgie/budgie-session/fix-paths.patch
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
diff --git a/gnome-session/budgie-session.in b/gnome-session/budgie-session.in
|
||||||
|
index 8a91e061..3e2ef031 100755
|
||||||
|
--- a/gnome-session/budgie-session.in
|
||||||
|
+++ b/gnome-session/budgie-session.in
|
||||||
|
@@ -7,13 +7,15 @@ if [ "x$XDG_SESSION_TYPE" = "xwayland" ] &&
|
||||||
|
! (echo "$SHELL" | grep -q "false") &&
|
||||||
|
! (echo "$SHELL" | grep -q "nologin"); then
|
||||||
|
if [ "$1" != '-l' ]; then
|
||||||
|
- exec bash -c "exec -l '$SHELL' -c '$0 -l $*'"
|
||||||
|
+ # Make sure the shell actually sets up the environment.
|
||||||
|
+ unset __NIXOS_SET_ENVIRONMENT_DONE
|
||||||
|
+ exec @bash@ -c "exec -l '$SHELL' -c '$0 -l $*'"
|
||||||
|
else
|
||||||
|
shift
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
-SETTING=$(G_MESSAGES_DEBUG='' gsettings get org.gnome.system.locale region)
|
||||||
|
+SETTING=$(G_MESSAGES_DEBUG='' @gsettings@ get org.gnome.system.locale region)
|
||||||
|
REGION=${SETTING#\'}
|
||||||
|
REGION=${REGION%\'}
|
||||||
|
|
||||||
|
diff --git a/gnome-session/main.c b/gnome-session/main.c
|
||||||
|
index 327c7c7f..301ec7ee 100644
|
||||||
|
--- a/gnome-session/main.c
|
||||||
|
+++ b/gnome-session/main.c
|
||||||
|
@@ -219,7 +219,7 @@ require_dbus_session (int argc,
|
||||||
|
}
|
||||||
|
new_argv[i + 2] = NULL;
|
||||||
|
|
||||||
|
- if (!execvp ("dbus-launch", new_argv)) {
|
||||||
|
+ if (!execvp ("@dbusLaunch@", new_argv)) {
|
||||||
|
g_set_error (error,
|
||||||
|
G_SPAWN_ERROR,
|
||||||
|
G_SPAWN_ERROR_FAILED,
|
|
@ -8,5 +8,6 @@ lib.makeScope pkgs.newScope (self: with self; {
|
||||||
budgie-desktop-with-plugins = callPackage ./budgie-desktop/wrapper.nix { };
|
budgie-desktop-with-plugins = callPackage ./budgie-desktop/wrapper.nix { };
|
||||||
budgie-gsettings-overrides = callPackage ./budgie-gsettings-overrides { };
|
budgie-gsettings-overrides = callPackage ./budgie-gsettings-overrides { };
|
||||||
budgie-screensaver = callPackage ./budgie-screensaver { };
|
budgie-screensaver = callPackage ./budgie-screensaver { };
|
||||||
|
budgie-session = callPackage ./budgie-session { };
|
||||||
magpie = callPackage ./magpie { };
|
magpie = callPackage ./magpie { };
|
||||||
})
|
})
|
||||||
|
|
|
@ -25,7 +25,6 @@
|
||||||
, libepoxy
|
, libepoxy
|
||||||
, bash
|
, bash
|
||||||
, gnome-session-ctl
|
, gnome-session-ctl
|
||||||
, gnomeShellSupport ? true
|
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
|
@ -114,7 +113,7 @@ stdenv.mkDerivation rec {
|
||||||
wrapProgram "$out/libexec/gnome-session-binary" \
|
wrapProgram "$out/libexec/gnome-session-binary" \
|
||||||
--prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
|
--prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
|
||||||
--suffix XDG_DATA_DIRS : "$out/share:$GSETTINGS_SCHEMAS_PATH" \
|
--suffix XDG_DATA_DIRS : "$out/share:$GSETTINGS_SCHEMAS_PATH" \
|
||||||
${lib.optionalString gnomeShellSupport "--suffix XDG_DATA_DIRS : \"${gnome.gnome-shell}/share\""} \
|
--suffix XDG_DATA_DIRS : "${gnome.gnome-shell}/share" \
|
||||||
--suffix XDG_CONFIG_DIRS : "${gnome.gnome-settings-daemon}/etc/xdg"
|
--suffix XDG_CONFIG_DIRS : "${gnome.gnome-settings-daemon}/etc/xdg"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
|
18
pkgs/desktops/xfce/core/libxfce4windowing/default.nix
Normal file
18
pkgs/desktops/xfce/core/libxfce4windowing/default.nix
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
{ lib, mkXfceDerivation, gobject-introspection, glib, gtk3, libwnck, wayland }:
|
||||||
|
|
||||||
|
mkXfceDerivation {
|
||||||
|
category = "xfce";
|
||||||
|
pname = "libxfce4windowing";
|
||||||
|
version = "4.19.2";
|
||||||
|
|
||||||
|
sha256 = "sha256-mXxxyfwZB/AJFVVGFAAXLqC5p7pZAeqmhljQym55hyM=";
|
||||||
|
|
||||||
|
nativeBuildInputs = [ gobject-introspection ];
|
||||||
|
buildInputs = [ glib gtk3 libwnck wayland ];
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "Windowing concept abstraction library for X11 and Wayland";
|
||||||
|
license = lib.licenses.lgpl21Plus;
|
||||||
|
maintainers = with lib; [ maintainers.federicoschonborn ] ++ teams.xfce.members;
|
||||||
|
};
|
||||||
|
}
|
|
@ -32,6 +32,8 @@ makeScopeWithSplicing' {
|
||||||
|
|
||||||
libxfce4util = callPackage ./core/libxfce4util { };
|
libxfce4util = callPackage ./core/libxfce4util { };
|
||||||
|
|
||||||
|
libxfce4windowing = callPackage ./core/libxfce4windowing { };
|
||||||
|
|
||||||
thunar = callPackage ./core/thunar {
|
thunar = callPackage ./core/thunar {
|
||||||
thunarPlugins = [ ];
|
thunarPlugins = [ ];
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in New Issue
Block a user