desktop/gnome-session: Patched for wayland session script sourcing.

Signed-off-by: Dave Woodfall <dave@slackbuilds.org>

Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
This commit is contained in:
Bob Funk 2022-08-06 02:14:16 +01:00 committed by Willy Sudiarto Raharjo
parent 638e8d5fe7
commit fb556a691d
No known key found for this signature in database
GPG Key ID: 3F617144D7238786
2 changed files with 66 additions and 1 deletions

View File

@ -0,0 +1,62 @@
diff -Naur gnome-session-42.0/gnome-session/gnome-session.in gnome-session-42.0-patched/gnome-session/gnome-session.in
--- gnome-session-42.0/gnome-session/gnome-session.in 2022-08-03 19:15:53.227967625 -0000
+++ gnome-session-42.0-patched/gnome-session/gnome-session.in 2022-08-03 19:17:49.002962878 -0000
@@ -10,6 +10,58 @@
exec bash -c "exec -l '$SHELL' -c '$0 -l $*'"
else
shift
+
+ # Source some profile scripts in gnome so we dont have to
+ # depend on a systemd locale service.
+ # This code was copied from KDE's "wayland-session" script.
+ # Copyright (C) 2015-2016 Pier Luigi Fiorini <pierluigi.fiorini@gmail.com>
+ # This file is extracted from kde-workspace (kdm/kfrontend/genkdmconf.c)
+ # Copyright (C) 2001-2005 Oswald Buddenhagen <ossi@kde.org>
+ # Added to gnome's "gnome-session" script by Bob Funk <bobfunk11@gmail.com>
+ # Note that the respective logout scripts are not sourced.
+ case $SHELL in
+ */bash)
+ [ -z "$BASH" ] && exec $SHELL $0 "$@"
+ set +o posix
+ [ -f /etc/profile ] && . /etc/profile
+ if [ -f $HOME/.bash_profile ]; then
+ . $HOME/.bash_profile
+ elif [ -f $HOME/.bash_login ]; then
+ . $HOME/.bash_login
+ elif [ -f $HOME/.profile ]; then
+ . $HOME/.profile
+ fi
+ ;;
+ */zsh)
+ [ -z "$ZSH_NAME" ] && exec $SHELL $0 "$@"
+ [ -d /etc/zsh ] && zdir=/etc/zsh || zdir=/etc
+ zhome=${ZDOTDIR:-$HOME}
+ # zshenv is always sourced automatically.
+ [ -f $zdir/zprofile ] && . $zdir/zprofile
+ [ -f $zhome/.zprofile ] && . $zhome/.zprofile
+ [ -f $zdir/zlogin ] && . $zdir/zlogin
+ [ -f $zhome/.zlogin ] && . $zhome/.zlogin
+ emulate -R sh
+ ;;
+ */csh|*/tcsh)
+ # [t]cshrc is always sourced automatically.
+ # Note that sourcing csh.login after .cshrc is non-standard.
+ wlsess_tmp=`mktemp /tmp/wlsess-env-XXXXXX`
+ $SHELL -c "if (-f /etc/csh.login) source /etc/csh.login; if (-f ~/.login) source ~/.login; /bin/sh -c 'export -p' >! $wlsess_tmp"
+ . $wlsess_tmp
+ rm -f $wlsess_tmp
+ ;;
+ */fish)
+ xsess_tmp=`mktemp /tmp/xsess-env-XXXXXX`
+ $SHELL --login -c "/bin/sh -c 'export -p' > $xsess_tmp"
+ . $xsess_tmp
+ rm -f $xsess_tmp
+ ;;
+ *) # Plain sh, ksh, and anything we do not know.
+ [ -f /etc/profile ] && . /etc/profile
+ [ -f $HOME/.profile ] && . $HOME/.profile
+ ;;
+ esac
fi
fi

View File

@ -26,7 +26,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PRGNAM=gnome-session
VERSION=${VERSION:-42.0}
BUILD=${BUILD:-1}
BUILD=${BUILD:-2}
TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz}
@ -79,6 +79,9 @@ find -L . \
# Patch gnome-session so it can be built with elogind:
patch -Np1 -i $CWD/0001-meson-add-elogind-support.patch
# Patch the gnome-session wrapper script to source profile scripts:
patch -Np1 -i $CWD/0002-gnome-session-add-profile-sourcing.patch
mkdir build
cd build
CFLAGS="$SLKCFLAGS" \