diff options
Diffstat (limited to 'kde-base/kdebase-startkde')
| -rwxr-xr-x | kde-base/kdebase-startkde/files/KDE-4 | 97 | ||||
| -rw-r--r-- | kde-base/kdebase-startkde/files/agent-shutdown.sh | 13 | ||||
| -rw-r--r-- | kde-base/kdebase-startkde/files/agent-startup.sh | 29 | ||||
| -rw-r--r-- | kde-base/kdebase-startkde/files/gentoo-startkde4-4.patch | 26 | ||||
| -rw-r--r-- | kde-base/kdebase-startkde/files/kdebase-startkde-kscreen.patch | 20 | ||||
| -rw-r--r-- | kde-base/kdebase-startkde/kdebase-startkde-4.11.49.9999.ebuild | 95 | ||||
| -rw-r--r-- | kde-base/kdebase-startkde/metadata.xml | 8 |
7 files changed, 288 insertions, 0 deletions
diff --git a/kde-base/kdebase-startkde/files/KDE-4 b/kde-base/kdebase-startkde/files/KDE-4 new file mode 100755 index 00000000000..86a49d88eec --- /dev/null +++ b/kde-base/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-base/kdebase-startkde/files/agent-shutdown.sh b/kde-base/kdebase-startkde/files/agent-shutdown.sh new file mode 100644 index 00000000000..07cf74772b5 --- /dev/null +++ b/kde-base/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-base/kdebase-startkde/files/agent-startup.sh b/kde-base/kdebase-startkde/files/agent-startup.sh new file mode 100644 index 00000000000..4b99f6e8b63 --- /dev/null +++ b/kde-base/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-base/kdebase-startkde/files/gentoo-startkde4-4.patch b/kde-base/kdebase-startkde/files/gentoo-startkde4-4.patch new file mode 100644 index 00000000000..4d517750770 --- /dev/null +++ b/kde-base/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-base/kdebase-startkde/files/kdebase-startkde-kscreen.patch b/kde-base/kdebase-startkde/files/kdebase-startkde-kscreen.patch new file mode 100644 index 00000000000..65644aff83a --- /dev/null +++ b/kde-base/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-base/kdebase-startkde/kdebase-startkde-4.11.49.9999.ebuild b/kde-base/kdebase-startkde/kdebase-startkde-4.11.49.9999.ebuild new file mode 100644 index 00000000000..373e2dcd7fb --- /dev/null +++ b/kde-base/kdebase-startkde/kdebase-startkde-4.11.49.9999.ebuild @@ -0,0 +1,95 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=5 + +KMNAME="kde-workspace" +KMNOMODULE="true" +inherit kde4-meta prefix + +DESCRIPTION="Startkde script, which starts a complete KDE session, and associated scripts" +KEYWORDS="" +IUSE="+wallpapers" + +# The KDE apps called from the startkde script. +# These provide the most minimal KDE desktop. +RDEPEND=" + $(add_kdebase_dep kcminit) + $(add_kdebase_dep kdebase-runtime-meta) + wallpapers? ( $(add_kdebase_dep kde-wallpapers) ) + $(add_kdebase_dep kfmclient) + $(add_kdebase_dep knotify) + $(add_kdebase_dep kreadconfig) + $(add_kdebase_dep krunner) + $(add_kdebase_dep ksmserver) + $(add_kdebase_dep ksplash) + $(add_kdebase_dep kstartupconfig) + $(add_kdebase_dep kwin) + $(add_kdebase_dep phonon-kde) + $(add_kdebase_dep plasma-apps) + $(add_kdebase_dep plasma-workspace) + $(add_kdebase_dep systemsettings) + x11-apps/mkfontdir + x11-apps/xmessage + x11-apps/xprop + x11-apps/xrandr + x11-apps/xrdb + x11-apps/xsetroot + x11-apps/xset +" + +KMEXTRACTONLY=" + ConfigureChecks.cmake + kdm/ + startkde.cmake +" + +PATCHES=( + "${FILESDIR}/gentoo-startkde4-4.patch" + "${FILESDIR}/${PN}-kscreen.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-base/kdebase-startkde/metadata.xml b/kde-base/kdebase-startkde/metadata.xml new file mode 100644 index 00000000000..783e379c92b --- /dev/null +++ b/kde-base/kdebase-startkde/metadata.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <herd>kde</herd> + <use> + <flag name="wallpapers">Install the KDE wallpapers</flag> + </use> +</pkgmetadata> |
