diff options
Diffstat (limited to 'kde-plasma/kdebase-startkde')
9 files changed, 376 insertions, 0 deletions
diff --git a/kde-plasma/kdebase-startkde/Manifest b/kde-plasma/kdebase-startkde/Manifest new file mode 100644 index 000000000000..db5163f83985 --- /dev/null +++ b/kde-plasma/kdebase-startkde/Manifest @@ -0,0 +1 @@ +DIST kde-workspace-4.11.22.tar.xz 13553668 SHA256 f035334e843d67ee88551ae9e6c5f64bf7b1edfe311b12501575fe74be0b03b7 SHA512 9def2cc8d1e597259966cd6cc44e9aad7ebe2c7cde5943e362c6782d1344e7da4fff0dddd0fe0c948bca159dba128d8a36006e1ae409415cd22f74955d0a9b95 WHIRLPOOL 14b0fcef19bda4b92a42612387fb6307a50dbb3620e911e3e0aaf5d764fb263e1959baae2e55cb71d92d064542844ae963b170bb960a9b7dc18a11627b731802 diff --git a/kde-plasma/kdebase-startkde/files/KDE-4 b/kde-plasma/kdebase-startkde/files/KDE-4 new file mode 100644 index 000000000000..86a49d88eec8 --- /dev/null +++ b/kde-plasma/kdebase-startkde/files/KDE-4 @@ -0,0 +1,97 @@ +#!/bin/sh +# $XConsortium: Xsession /main/10 1995/12/18 18:21:28 gildea $ + +# source of this file: x11-apps/xinit-1.3.0-r2 + +case $# in +1) + case $1 in + failsafe) + exec xterm -geometry 80x24-0-0 + ;; + esac +esac + +# redirect errors to a file in user's home directory if we can +for errfile in "$HOME/.xsession-errors" "${TMPDIR-/tmp}/xses-$USER" "/tmp/xses-$USER" +do + if ( cp /dev/null "$errfile" 2> /dev/null ) + then + chmod 600 "$errfile" + exec > "$errfile" 2>&1 + break + fi +done + +# clean up after xbanner +if which freetemp 2> /dev/null ; then + freetemp +fi + +userresources=$HOME/.Xresources +usermodmap=$HOME/.Xmodmap +userxkbmap=$HOME/.Xkbmap + +sysresources=/etc/X11/Xresources +sysmodmap=/etc/X11/Xmodmap +sysxkbmap=/etc/X11/Xkbmap + +rh6sysresources=/etc/X11/xinit/Xresources +rh6sysmodmap=/etc/X11/xinit/Xmodmap + + +# merge in defaults +if [ -f "$rh6sysresources" ]; then + xrdb -merge "$rh6sysresources" +fi + +if [ -f "$sysresources" ]; then + xrdb -merge "$sysresources" +fi + +if [ -f "$userresources" ]; then + xrdb -merge "$userresources" +fi + +# merge in keymaps +if [ -f "$sysxkbmap" ]; then + setxkbmap `cat "$sysxkbmap"` + XKB_IN_USE=yes +fi + +if [ -f "$userxkbmap" ]; then + setxkbmap `cat "$userxkbmap"` + XKB_IN_USE=yes +fi + +# +# Eeek, this seems like too much magic here +# +if [ -z "$XKB_IN_USE" -a ! -L /etc/X11/X ]; then + if grep '^exec.*/Xsun' /etc/X11/X > /dev/null 2>&1 && [ -f /etc/X11/XF86Config ]; then + xkbsymbols=`sed -n -e 's/^[ ]*XkbSymbols[ ]*"\(.*\)".*$/\1/p' /etc/X11/XF86Config` + if [ -n "$xkbsymbols" ]; then + setxkbmap -symbols "$xkbsymbols" + XKB_IN_USE=yes + fi + fi +fi + +# xkb and xmodmap don't play nice together +if [ -z "$XKB_IN_USE" ]; then + if [ -f "$rh6sysmodmap" ]; then + xmodmap "$rh6sysmodmap" + fi + + if [ -f "$sysmodmap" ]; then + xmodmap "$sysmodmap" + fi + + if [ -f "$usermodmap" ]; then + xmodmap "$usermodmap" + fi +fi + +unset XKB_IN_USE + +exec "@GENTOO_PORTAGE_EPREFIX@/usr/bin/startkde" diff --git a/kde-plasma/kdebase-startkde/files/agent-shutdown.sh b/kde-plasma/kdebase-startkde/files/agent-shutdown.sh new file mode 100644 index 000000000000..07cf74772b5b --- /dev/null +++ b/kde-plasma/kdebase-startkde/files/agent-shutdown.sh @@ -0,0 +1,13 @@ +#!/bin/sh +# +# This file is executed at kde shutdown. +# Uncomment the following lines to kill the agents +# that were started at session startup. + +#if [ -n "${GPG_AGENT_INFO}" ]; then +# kill $(echo ${GPG_AGENT_INFO} | cut -d':' -f 2) >/dev/null 2>&1 +#fi + +#if [ -n "${SSH_AGENT_PID}" ]; then +# eval "$(ssh-agent -s -k)" +#fi diff --git a/kde-plasma/kdebase-startkde/files/agent-startup.sh b/kde-plasma/kdebase-startkde/files/agent-startup.sh new file mode 100644 index 000000000000..4b99f6e8b63d --- /dev/null +++ b/kde-plasma/kdebase-startkde/files/agent-startup.sh @@ -0,0 +1,29 @@ +# Agents startup file +# +# This file is sourced at kde startup, so that +# the environment variables set here are available +# throughout the session. + +# Uncomment the following lines to start gpg-agent +# and/or ssh-agent at kde startup. +# If you do so, do not forget to uncomment the respective +# lines in KDEDIR/shutdown/agent-shutdown.sh to +# properly kill the agents when the session ends. + +#if [ -x /usr/bin/gpg-agent ]; then +# eval "$(/usr/bin/gpg-agent --daemon)" +#fi + +#if [ -x /usr/bin/ssh-agent ]; then +# eval "$(/usr/bin/ssh-agent -s)" +#fi + +# Uncomment the following lines to start rxvt-unicode which has the ability to +# run multiple terminals in one single process, thus starting up faster and +# saving resources. +# The --opendisplay ensures that the daemon quits when the X server terminates, +# therefore we don't need matching lines in agent-shutdown.sh. + +#if [ -x /usr/bin/urxvtd ]; then +# /usr/bin/urxvtd --opendisplay --fork --quiet +#fi diff --git a/kde-plasma/kdebase-startkde/files/gentoo-startkde4-4.patch b/kde-plasma/kdebase-startkde/files/gentoo-startkde4-4.patch new file mode 100644 index 000000000000..4d5177507700 --- /dev/null +++ b/kde-plasma/kdebase-startkde/files/gentoo-startkde4-4.patch @@ -0,0 +1,26 @@ +--- startkde.cmake.old 2011-03-24 13:07:04.919889148 +0100 ++++ startkde.cmake 2011-03-24 13:14:42.033174445 +0100 +@@ -187,6 +187,11 @@ + done + done + ++# Gentoo part for FHS installs ++for file in "@GENTOO_PORTAGE_EPREFIX@/etc/kde/startup/"*.sh; do ++ test -r "${file}" && . "${file}" ++done ++ + # Set the path for Qt plugins provided by KDE + if test -n "$QT_PLUGIN_PATH"; then + QT_PLUGIN_PATH="$QT_PLUGIN_PATH:`kde4-config --path qtplugins`" +@@ -400,6 +405,11 @@ + done + done + ++# Gentoo part for FHS installs ++for file in "@GENTOO_PORTAGE_EPREFIX@/etc/kde/shutdown/"*.sh; do ++ test -r "${file}" && . "${file}" ++done ++ + unset KDE_FULL_SESSION + xprop -root -remove KDE_FULL_SESSION + unset KDE_SESSION_VERSION diff --git a/kde-plasma/kdebase-startkde/files/kdebase-startkde-kscreen.patch b/kde-plasma/kdebase-startkde/files/kdebase-startkde-kscreen.patch new file mode 100644 index 000000000000..65644aff83a3 --- /dev/null +++ b/kde-plasma/kdebase-startkde/files/kdebase-startkde-kscreen.patch @@ -0,0 +1,20 @@ +Only try to run krandrstartup if it exists wrt bug #524266. + +After f7f5d84c85b6c7f946b94808849648b4cb6ea667, krandrstartup is no longer +available if kde-base/systemsettings is built with USE="kscreen". Otherwise, +KDE will fail to start + +Source: http://pkgs.fedoraproject.org/cgit/kde-workspace.git/tree/startkde.cmake +diff --git a/startkde.cmake b/startkde.cmake +index afc2cfb..4220e64 100644 +--- a/startkde.cmake ++++ b/startkde.cmake +@@ -105,7 +105,7 @@ if test -n "$kcminputrc_mouse_cursortheme" -o -n "$kcminputrc_mouse_cursorsize" + fi + fi + +-. krandrstartup ++KRANDRSTARTUP=`which krandrstartup 2>/dev/null` && . $KRANDRSTARTUP + + if test "$kcmfonts_general_forcefontdpi" -ne 0; then + xrdb -quiet -merge -nocpp <<EOF diff --git a/kde-plasma/kdebase-startkde/files/kdebase-startkde-kwalletd-pam.patch b/kde-plasma/kdebase-startkde/files/kdebase-startkde-kwalletd-pam.patch new file mode 100644 index 000000000000..c70a07f819a1 --- /dev/null +++ b/kde-plasma/kdebase-startkde/files/kdebase-startkde-kwalletd-pam.patch @@ -0,0 +1,25 @@ +From: Àlex Fiestas <afiestas@kde.org> +Date: Mon, 28 Apr 2014 16:05:07 +0000 +Subject: [startkde] Send env to kwalletd in case of pam-kwallet +X-Git-Tag: v4.96.0 +X-Git-Url: http://quickgit.kde.org/?p=plasma-workspace.git&a=commitdiff&h=9581a52a5d734435d0cef759e20d1af2473dd15e +--- +[startkde] Send env to kwalletd in case of pam-kwallet +--- + + +--- a/startkde/startkde.cmake ++++ b/startkde/startkde.cmake +@@ -329,6 +329,11 @@ + + XDG_CURRENT_DESKTOP=KDE + export XDG_CURRENT_DESKTOP ++ ++# At this point all the environment is ready, let's send it to kwalletd if running ++if test -n "PAM_KWALLET_LOGIN" ; then ++ env | socat STDIN UNIX-CONNECT:$PAM_KWALLET_LOGIN ++fi + + # We set LD_BIND_NOW to increase the efficiency of kdeinit. + # kdeinit unsets this variable before loading applications. + diff --git a/kde-plasma/kdebase-startkde/kdebase-startkde-4.11.22-r2.ebuild b/kde-plasma/kdebase-startkde/kdebase-startkde-4.11.22-r2.ebuild new file mode 100644 index 000000000000..7dc313aea2b0 --- /dev/null +++ b/kde-plasma/kdebase-startkde/kdebase-startkde-4.11.22-r2.ebuild @@ -0,0 +1,153 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +KMNAME="kde-workspace" +KMNOMODULE="true" +inherit kde4-meta prefix + +DESCRIPTION="Script which starts a complete Plasma session, and associated scripts" +KEYWORDS="amd64 ~arm x86 ~amd64-linux ~x86-linux" +IUSE="crash-reporter +handbook minimal +wallpapers" + +# The KDE apps called from the startkde script. +# These provide the most minimal KDE desktop. +RDEPEND=" + $(add_kdeapps_dep attica) + $(add_kdeapps_dep kcmshell) + $(add_kdeapps_dep kcontrol) + $(add_kdeapps_dep kdebase-data) + $(add_kdeapps_dep kdebase-desktoptheme) + $(add_kdeapps_dep kdebase-kioslaves) + $(add_kdeapps_dep kdebase-menu) + $(add_kdeapps_dep kdebase-menu-icons) + $(add_kdeapps_dep kdebugdialog) + $(add_kdeapps_dep kdesu) + $(add_kdeapps_dep kdontchangethehostname) + $(add_kdeapps_dep keditfiletype) + $(add_kdeapps_dep kfile) + $(add_kdeapps_dep kfmclient) + $(add_kdeapps_dep kglobalaccel) + $(add_kdeapps_dep kiconfinder) + $(add_kdeapps_dep kimgio) + $(add_kdeapps_dep kioclient) + $(add_kdeapps_dep kmimetypefinder) + $(add_kdeapps_dep knetattach) + $(add_kdeapps_dep knewstuff) + $(add_kdeapps_dep knotify) + $(add_kdeapps_dep knotify) + $(add_kdeapps_dep kpasswdserver) + $(add_kdeapps_dep kquitapp) + $(add_kdeapps_dep kreadconfig) + $(add_kdeapps_dep kstart) + $(add_kdeapps_dep ktimezoned) + $(add_kdeapps_dep ktraderclient) + $(add_kdeapps_dep kuiserver) + $(add_kdeapps_dep kurifilter-plugins) + $(add_kdeapps_dep kwalletd) + $(add_kdeapps_dep kwalletmanager) + $(add_kdeapps_dep phonon-kde) + $(add_kdeapps_dep plasma-apps) + $(add_kdeapps_dep plasma-runtime) + $(add_kdeapps_dep renamedlg-plugins) + $(add_kdeapps_dep solid-runtime) + kde-plasma/kcminit:4 + kde-plasma/krunner:4 + kde-plasma/ksmserver:4 + kde-plasma/ksplash:4 + kde-plasma/kstartupconfig:4 + kde-plasma/kwin:4 + kde-plasma/plasma-workspace:4 + kde-plasma/systemsettings:4 + x11-apps/mkfontdir + x11-apps/xmessage + x11-apps/xprop + x11-apps/xrandr + x11-apps/xrdb + x11-apps/xsetroot + x11-apps/xset + crash-reporter? ( $(add_kdeapps_dep drkonqi ) ) + handbook? ( kde-apps/khelpcenter:* ) + !minimal? ( + $(add_kdeapps_dep kdepasswd) + kde-plasma/freespacenotifier:4 + kde-plasma/kcheckpass:4 + kde-plasma/kdebase-cursors:4 + kde-plasma/kephal:4 + kde-plasma/khotkeys:4 + kde-plasma/kinfocenter:4 + kde-plasma/klipper:4 + kde-plasma/kmenuedit:4 + kde-plasma/kstyles:4 + kde-plasma/ksysguard:4 + kde-plasma/ksystraycmd:4 + kde-plasma/kwrited:4 + kde-plasma/libkworkspace:4 + kde-plasma/liboxygenstyle:4 + kde-plasma/libplasmaclock:4 + kde-plasma/libplasmagenericshell:4 + kde-plasma/libtaskmanager:4 + kde-plasma/powerdevil:4 + kde-plasma/qguiplatformplugin_kde:4 + kde-plasma/solid-actions-kcm:4 + ) + wallpapers? ( kde-plasma/plasma-workspace-wallpapers:5 ) +" + +KMEXTRACTONLY=" + ConfigureChecks.cmake + kdm/ + startkde.cmake +" + +PATCHES=( + "${FILESDIR}/gentoo-startkde4-4.patch" + "${FILESDIR}/${PN}-kscreen.patch" + "${FILESDIR}/${PN}-kwalletd-pam.patch" +) + +src_prepare() { + kde4-meta_src_prepare + + cp "${FILESDIR}/KDE-4" "${T}" + + # fix ${EPREFIX} + eprefixify startkde.cmake "${T}/KDE-4" +} + +src_install() { + kde4-meta_src_install + + # startup and shutdown scripts + insinto /etc/kde/startup + doins "${FILESDIR}/agent-startup.sh" + + insinto /etc/kde/shutdown + doins "${FILESDIR}/agent-shutdown.sh" + + # x11 session script + exeinto /etc/X11/Sessions + doexe "${T}/KDE-4" + + # freedesktop compliant session script + sed -e "s:\${BIN_INSTALL_DIR}:${EPREFIX}/usr/bin:g" \ + "${S}/kdm/kfrontend/sessions/kde-plasma.desktop.cmake" > "${T}/KDE-4.desktop" + insinto /usr/share/xsessions + doins "${T}/KDE-4.desktop" +} + +pkg_postinst () { + kde4-meta_pkg_postinst + + echo + elog "To enable gpg-agent and/or ssh-agent in KDE sessions," + elog "edit ${EPREFIX}/etc/kde/startup/agent-startup.sh and" + elog "${EPREFIX}/etc/kde/shutdown/agent-shutdown.sh" + echo + elog "The name of the session script has changed." + elog "If you currently have XSESSION=\"kde-$(get_kde_version)\" in your" + elog "configuration files, you will need to change it to" + elog "XSESSION=\"KDE-4\"" +} diff --git a/kde-plasma/kdebase-startkde/metadata.xml b/kde-plasma/kdebase-startkde/metadata.xml new file mode 100644 index 000000000000..93c00c0e6670 --- /dev/null +++ b/kde-plasma/kdebase-startkde/metadata.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>kde@gentoo.org</email> + <name>Gentoo KDE Project</name> + </maintainer> + <use> + <flag name="crash-reporter">Builds a gui tool to submit crash information to the upstream backtracker</flag> + <flag name="wallpapers">Install the KDE Plasma wallpapers</flag> + </use> +</pkgmetadata> |