summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'x11-apps/xinit')
-rw-r--r--x11-apps/xinit/Manifest2
-rw-r--r--x11-apps/xinit/files/00-xhost7
-rw-r--r--x11-apps/xinit/files/0001-Gentoo-customizations.patch61
-rw-r--r--x11-apps/xinit/files/Xsession107
-rw-r--r--x11-apps/xinit/files/Xsession.desktop8
-rw-r--r--x11-apps/xinit/files/chooser.sh52
-rw-r--r--x11-apps/xinit/files/startDM.sh31
-rw-r--r--x11-apps/xinit/files/xinit-1.3.3-gentoo-customizations.patch61
-rw-r--r--x11-apps/xinit/files/xinit-1.3.4-startx-current-vt.patch21
-rw-r--r--x11-apps/xinit/files/xserverrc2
-rw-r--r--x11-apps/xinit/files/xserverrc.16
-rw-r--r--x11-apps/xinit/metadata.xml14
-rw-r--r--x11-apps/xinit/xinit-1.3.3-r1.ebuild67
-rw-r--r--x11-apps/xinit/xinit-1.3.3.ebuild67
-rw-r--r--x11-apps/xinit/xinit-1.3.4-r1.ebuild75
-rw-r--r--x11-apps/xinit/xinit-1.3.4.ebuild67
16 files changed, 648 insertions, 0 deletions
diff --git a/x11-apps/xinit/Manifest b/x11-apps/xinit/Manifest
new file mode 100644
index 000000000000..f8fa78aa366a
--- /dev/null
+++ b/x11-apps/xinit/Manifest
@@ -0,0 +1,2 @@
+DIST xinit-1.3.3.tar.bz2 163905 SHA256 74b2878de6e3d5b5948f1562a77e7f53b4e10621e505ddb278050c7f3cae00af SHA512 345d9a00991e25df0a565f5b7edfbf504df9e019fc8ca2d31e4d2899e4765d7a18f0fffec0b4dda5eef99982cf8482925656a4e18576105f267393de51257d65 WHIRLPOOL 106656351391ff8de397394d56ea225f910f82be3cbacaf81c0735d2a259437632bd5428fc96900a0b88146fd11f8d8670f07f3dd2869b44ff6525c399b936f4
+DIST xinit-1.3.4.tar.bz2 165881 SHA256 75d88d7397a07e01db253163b7c7a00b249b3d30e99489f2734cac9a0c7902b3 SHA512 ac31e4cac86fc5dd4c0e15cf37cb9ac470ef3ace4f86d0063c7e1091342fe64d41fcd12c1840bd8e1cef4cdd7f66bd2fa76bd4061641e9c70941d76d73d0df2e WHIRLPOOL 2362d69caffcaca6e6d284fcc7438fa6a81c36e79a20f23d32a67a5de9e6d64a9680d2f513e6718312d6e25117af90f28c17f70da0189595021198390eb12222
diff --git a/x11-apps/xinit/files/00-xhost b/x11-apps/xinit/files/00-xhost
new file mode 100644
index 000000000000..82cf10381e68
--- /dev/null
+++ b/x11-apps/xinit/files/00-xhost
@@ -0,0 +1,7 @@
+#!/bin/sh
+# Allow all local connections from the current UID
+# This fixes issues with hostname changes (usually by dhcp clients)
+# see bug 287498 for more info
+
+[ -x /usr/bin/xhost ] && [ -x /usr/bin/id ] &&
+ xhost +si:localuser:`id -un` > /dev/null 2>&1
diff --git a/x11-apps/xinit/files/0001-Gentoo-customizations.patch b/x11-apps/xinit/files/0001-Gentoo-customizations.patch
new file mode 100644
index 000000000000..a25ef4ba2a45
--- /dev/null
+++ b/x11-apps/xinit/files/0001-Gentoo-customizations.patch
@@ -0,0 +1,61 @@
+From d24cea5021fab8a11b1492a031319939d133d221 Mon Sep 17 00:00:00 2001
+From: Tomas Chvatal <scarabeus@gentoo.org>
+Date: Mon, 1 Nov 2010 16:46:36 +0100
+Subject: [PATCH] Gentoo customizations.
+
+
+Signed-off-by: Tomas Chvatal <scarabeus@gentoo.org>
+---
+ xinitrc.cpp | 26 ++++++++++++++++++--------
+ 1 files changed, 18 insertions(+), 8 deletions(-)
+
+diff --git a/xinitrc.cpp b/xinitrc.cpp
+index 049a8e4..80c3ad9 100644
+--- a/xinitrc.cpp
++++ b/xinitrc.cpp
+@@ -2,8 +2,8 @@ XCOMM!SHELL_CMD
+
+ userresources=$HOME/.Xresources
+ usermodmap=$HOME/.Xmodmap
+-sysresources=XINITDIR/.Xresources
+-sysmodmap=XINITDIR/.Xmodmap
++sysresources=XINITDIR/Xresources
++sysmodmap=XINITDIR/Xmodmap
+
+ XCOMM merge in defaults and keymaps
+
+@@ -84,15 +84,25 @@ fi
+ XCOMM This is the fallback case if nothing else is executed above
+ #endif /* !defined(__SCO__) && !defined(__UNIXWARE__) */
+
++if [ -n "`/etc/X11/chooser.sh`" ]; then
++ command="`/etc/X11/chooser.sh`"
++else
++ failsafe="yes"
++fi
++
+ if [ -d XINITDIR/xinitrc.d ] ; then
+- for f in XINITDIR/xinitrc.dXSLASHGLOB.sh ; do
++ for f in XINITDIR/xinitrc.dXSLASHGLOB ; do
+ [ -x "$f" ] && . "$f"
+ done
+ unset f
+ fi
+
+-TWM &
+-XCLOCK -geometry 50x50-1+1 &
+-XTERM -geometry 80x50+494+51 &
+-XTERM -geometry 80x20+494-0 &
+-exec XTERM -geometry 80x66+0+0 -name login
++if [ -n "$failsafe" ]; then
++ TWM &
++ XCLOCK -geometry 50x50-1+1 &
++ XTERM -geometry 80x50+494+51 &
++ XTERM -geometry 80x20+494-0 &
++ exec XTERM -geometry 80x66+0+0 -name login
++else
++ exec $command
++fi
+--
+1.7.3.1
+
diff --git a/x11-apps/xinit/files/Xsession b/x11-apps/xinit/files/Xsession
new file mode 100644
index 000000000000..c86ccee19ff3
--- /dev/null
+++ b/x11-apps/xinit/files/Xsession
@@ -0,0 +1,107 @@
+#!/bin/sh
+# $XConsortium: Xsession /main/10 1995/12/18 18:21:28 gildea $
+
+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
+
+startup=$HOME/.xsession
+
+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
+
+if [ -x "$startup" ]; then
+ exec "$startup"
+elif [ -x "$HOME/.Xclients" ]; then
+ exec "$HOME/.Xclients"
+elif [ -x /etc/X11/xinit/Xclients ]; then
+ exec /etc/X11/xinit/Xclients
+elif [ -x /etc/X11/Xclients ]; then
+ exec /etc/X11/Xclients
+else
+ exec xsm
+fi
diff --git a/x11-apps/xinit/files/Xsession.desktop b/x11-apps/xinit/files/Xsession.desktop
new file mode 100644
index 000000000000..0c5adb9d84f8
--- /dev/null
+++ b/x11-apps/xinit/files/Xsession.desktop
@@ -0,0 +1,8 @@
+[Desktop Entry]
+Name=XSession
+Comment=This session logs you into your custom Xsession
+Exec=/etc/X11/Sessions/Xsession
+TryExec=/etc/X11/Sessions/Xsession
+# no icon yet, only the top three are currently used
+Icon=
+Type=Application
diff --git a/x11-apps/xinit/files/chooser.sh b/x11-apps/xinit/files/chooser.sh
new file mode 100644
index 000000000000..6d14a71d43e6
--- /dev/null
+++ b/x11-apps/xinit/files/chooser.sh
@@ -0,0 +1,52 @@
+#!/bin/sh
+# Copyright 1999-2004 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License, v2
+# Author: Martin Schlemmer <azarah@gentoo.org>
+# $Id$
+
+# Find a match for $XSESSION in /etc/X11/Sessions
+GENTOO_SESSION=""
+for x in /etc/X11/Sessions/* ; do
+ if [ "`echo ${x##*/} | awk '{ print toupper($1) }'`" \
+ = "`echo ${XSESSION} | awk '{ print toupper($1) }'`" ]; then
+ GENTOO_SESSION=${x}
+ break
+ fi
+done
+
+GENTOO_EXEC=""
+
+if [ -n "${XSESSION}" ]; then
+ if [ -f /etc/X11/Sessions/${XSESSION} ]; then
+ if [ -x /etc/X11/Sessions/${XSESSION} ]; then
+ GENTOO_EXEC="/etc/X11/Sessions/${XSESSION}"
+ else
+ GENTOO_EXEC="/bin/sh /etc/X11/Sessions/${XSESSION}"
+ fi
+ elif [ -n "${GENTOO_SESSION}" ]; then
+ if [ -x "${GENTOO_SESSION}" ]; then
+ GENTOO_EXEC="${GENTOO_SESSION}"
+ else
+ GENTOO_EXEC="/bin/sh ${GENTOO_SESSION}"
+ fi
+ else
+ x=""
+ y=""
+
+ for x in "${XSESSION}" \
+ "`echo ${XSESSION} | awk '{ print toupper($1) }'`" \
+ "`echo ${XSESSION} | awk '{ print tolower($1) }'`"
+ do
+ # Fall through ...
+ if [ -x "`which ${x} 2>/dev/null`" ]; then
+ GENTOO_EXEC="`which ${x} 2>/dev/null`"
+ break
+ fi
+ done
+ fi
+fi
+
+echo "${GENTOO_EXEC}"
+
+
+# vim:ts=4
diff --git a/x11-apps/xinit/files/startDM.sh b/x11-apps/xinit/files/startDM.sh
new file mode 100644
index 000000000000..02656595c12f
--- /dev/null
+++ b/x11-apps/xinit/files/startDM.sh
@@ -0,0 +1,31 @@
+#!/bin/sh
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License, v2
+# $Id$
+
+# We need to source /etc/profile for stuff like $LANG to work
+# bug #10190.
+. /etc/profile
+
+. /etc/init.d/functions.sh
+
+# baselayout-1 compat
+if ! type get_options >/dev/null 2>/dev/null ; then
+ [ -r "${svclib}"/sh/rc-services.sh ] && . "${svclib}"/sh/rc-services.sh
+fi
+
+# Great new Gnome2 feature, AA
+# We enable this by default
+export GDK_USE_XFT=1
+
+export SVCNAME=xdm
+EXEC="$(get_options service)"
+NAME="$(get_options name)"
+PIDFILE="$(get_options pidfile)"
+START_STOP_ARGS="$(get_options start_stop_args)"
+
+start-stop-daemon --start --exec ${EXEC} \
+${NAME:+--name} ${NAME} ${PIDFILE:+--pidfile} ${PIDFILE} ${START_STOP_ARGS} || \
+eerror "ERROR: could not start the Display Manager"
+
+# vim:ts=4
diff --git a/x11-apps/xinit/files/xinit-1.3.3-gentoo-customizations.patch b/x11-apps/xinit/files/xinit-1.3.3-gentoo-customizations.patch
new file mode 100644
index 000000000000..48dceabc500e
--- /dev/null
+++ b/x11-apps/xinit/files/xinit-1.3.3-gentoo-customizations.patch
@@ -0,0 +1,61 @@
+From d24cea5021fab8a11b1492a031319939d133d221 Mon Sep 17 00:00:00 2001
+From: Tomas Chvatal <scarabeus@gentoo.org>
+Date: Mon, 1 Nov 2010 16:46:36 +0100
+Subject: [PATCH] Gentoo customizations.
+
+
+Signed-off-by: Tomas Chvatal <scarabeus@gentoo.org>
+---
+ xinitrc.cpp | 26 ++++++++++++++++++--------
+ 1 files changed, 18 insertions(+), 8 deletions(-)
+
+diff --git a/xinitrc.cpp b/xinitrc.cpp
+index 049a8e4..80c3ad9 100644
+--- a/xinitrc.cpp
++++ b/xinitrc.cpp
+@@ -2,8 +2,8 @@ XCOMM!SHELL_CMD
+
+ userresources=$HOME/.Xresources
+ usermodmap=$HOME/.Xmodmap
+-sysresources=XINITDIR/.Xresources
+-sysmodmap=XINITDIR/.Xmodmap
++sysresources=XINITDIR/Xresources
++sysmodmap=XINITDIR/Xmodmap
+
+ XCOMM merge in defaults and keymaps
+
+@@ -84,15 +84,25 @@ fi
+ XCOMM This is the fallback case if nothing else is executed above
+ #endif /* !defined(__SCO__) && !defined(__UNIXWARE__) */
+
++if [ -n "`/etc/X11/chooser.sh`" ]; then
++ command="`/etc/X11/chooser.sh`"
++else
++ failsafe="yes"
++fi
++
+ if [ -d XINITDIR/xinitrc.d ] ; then
+- for f in XINITDIR/xinitrc.d/?*.sh ; do
++ for f in XINITDIR/xinitrc.d/?* ; do
+ [ -x "$f" ] && . "$f"
+ done
+ unset f
+ fi
+
+-TWM &
+-XCLOCK -geometry 50x50-1+1 &
+-XTERM -geometry 80x50+494+51 &
+-XTERM -geometry 80x20+494-0 &
+-exec XTERM -geometry 80x66+0+0 -name login
++if [ -n "$failsafe" ]; then
++ TWM &
++ XCLOCK -geometry 50x50-1+1 &
++ XTERM -geometry 80x50+494+51 &
++ XTERM -geometry 80x20+494-0 &
++ exec XTERM -geometry 80x66+0+0 -name login
++else
++ exec $command
++fi
+--
+1.7.3.1
+
diff --git a/x11-apps/xinit/files/xinit-1.3.4-startx-current-vt.patch b/x11-apps/xinit/files/xinit-1.3.4-startx-current-vt.patch
new file mode 100644
index 000000000000..362b420cfc8f
--- /dev/null
+++ b/x11-apps/xinit/files/xinit-1.3.4-startx-current-vt.patch
@@ -0,0 +1,21 @@
+diff -ur a/startx.cpp b/startx.cpp
+--- a/startx.cpp 2014-09-11 19:31:42.000000000 +0200
++++ b/startx.cpp 2015-02-08 19:09:56.416428623 +0100
+@@ -188,17 +188,6 @@
+ if [ x"$server" = x ]; then
+ server=$defaultserver
+
+-#ifdef __linux__
+- XCOMM When starting the defaultserver start X on the current tty to avoid
+- XCOMM the startx session being seen as inactive:
+- XCOMM "https://bugzilla.redhat.com/show_bug.cgi?id=806491"
+- tty=$(tty)
+- if expr match "$tty" '^/dev/tty[0-9]\+$' > /dev/null; then
+- tty_num=$(echo "$tty" | grep -oE '[0-9]+$')
+- vtarg="vt$tty_num"
+- fi
+-#endif
+-
+ XCOMM For compatibility reasons, only use xserverrc if there were no server command line arguments
+ if [ x"$serverargs" = x -a x"$display" = x ]; then
+ if [ -f "$userserverrc" ]; then
diff --git a/x11-apps/xinit/files/xserverrc b/x11-apps/xinit/files/xserverrc
new file mode 100644
index 000000000000..b4de2528749e
--- /dev/null
+++ b/x11-apps/xinit/files/xserverrc
@@ -0,0 +1,2 @@
+#!/bin/sh
+exec /usr/bin/X -nolisten tcp "$@"
diff --git a/x11-apps/xinit/files/xserverrc.1 b/x11-apps/xinit/files/xserverrc.1
new file mode 100644
index 000000000000..6b57eeba6da3
--- /dev/null
+++ b/x11-apps/xinit/files/xserverrc.1
@@ -0,0 +1,6 @@
+#!/bin/sh
+if [ -z "$XDG_VTNR" ]; then
+ exec /usr/bin/X -nolisten tcp "$@"
+else
+ exec /usr/bin/X -nolisten tcp "$@" vt$XDG_VTNR
+fi
diff --git a/x11-apps/xinit/metadata.xml b/x11-apps/xinit/metadata.xml
new file mode 100644
index 000000000000..f64433cf017d
--- /dev/null
+++ b/x11-apps/xinit/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>x11</herd>
+ <use>
+ <flag name='minimal'>
+ Control dependencies on legacy apps (xterm, twm, ...). Safe to
+ enable if you use a modern desktop environment.
+ </flag>
+ </use>
+ <upstream>
+ <remote-id type="cpe">cpe:/a:x.org:xinit</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/x11-apps/xinit/xinit-1.3.3-r1.ebuild b/x11-apps/xinit/xinit-1.3.3-r1.ebuild
new file mode 100644
index 000000000000..a3267abae0f9
--- /dev/null
+++ b/x11-apps/xinit/xinit-1.3.3-r1.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit xorg-2
+
+DESCRIPTION="X Window System initializer"
+
+LICENSE="${LICENSE} GPL-2"
+KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~arm-linux ~x86-linux"
+IUSE="+minimal"
+
+RDEPEND="
+ !<x11-base/xorg-server-1.8.0
+ x11-apps/xauth
+ x11-libs/libX11
+"
+DEPEND="${RDEPEND}"
+PDEPEND="x11-apps/xrdb
+ !minimal? (
+ x11-apps/xclock
+ x11-apps/xsm
+ x11-terms/xterm
+ x11-wm/twm
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-1.3.3-gentoo-customizations.patch"
+)
+
+src_configure() {
+ XORG_CONFIGURE_OPTIONS=(
+ --with-xinitdir="${EPREFIX}"/etc/X11/xinit
+ )
+ xorg-2_src_configure
+}
+
+src_install() {
+ xorg-2_src_install
+
+ exeinto /etc/X11
+ doexe "${FILESDIR}"/chooser.sh "${FILESDIR}"/startDM.sh
+ exeinto /etc/X11/Sessions
+ doexe "${FILESDIR}"/Xsession
+ exeinto /etc/X11/xinit
+ newexe "${FILESDIR}"/xserverrc.1 xserverrc
+ exeinto /etc/X11/xinit/xinitrc.d/
+ doexe "${FILESDIR}"/00-xhost
+
+ insinto /usr/share/xsessions
+ doins "${FILESDIR}"/Xsession.desktop
+}
+
+pkg_postinst() {
+ xorg-2_pkg_postinst
+ ewarn "If you use startx to start X instead of a login manager like gdm/kdm,"
+ ewarn "you can set the XSESSION variable to anything in /etc/X11/Sessions/ or"
+ ewarn "any executable. When you run startx, it will run this as the login session."
+ ewarn "You can set this in a file in /etc/env.d/ for the entire system,"
+ ewarn "or set it per-user in ~/.bash_profile (or similar for other shells)."
+ ewarn "Here's an example of setting it for the whole system:"
+ ewarn " echo XSESSION=\"Gnome\" > /etc/env.d/90xsession"
+ ewarn " env-update && source /etc/profile"
+}
diff --git a/x11-apps/xinit/xinit-1.3.3.ebuild b/x11-apps/xinit/xinit-1.3.3.ebuild
new file mode 100644
index 000000000000..561f69dcf289
--- /dev/null
+++ b/x11-apps/xinit/xinit-1.3.3.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit xorg-2
+
+DESCRIPTION="X Window System initializer"
+
+LICENSE="${LICENSE} GPL-2"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~arm-linux ~x86-linux"
+IUSE="+minimal"
+
+RDEPEND="
+ !<x11-base/xorg-server-1.8.0
+ x11-apps/xauth
+ x11-libs/libX11
+"
+DEPEND="${RDEPEND}"
+PDEPEND="x11-apps/xrdb
+ !minimal? (
+ x11-apps/xclock
+ x11-apps/xsm
+ x11-terms/xterm
+ x11-wm/twm
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-1.3.3-gentoo-customizations.patch"
+)
+
+src_configure() {
+ XORG_CONFIGURE_OPTIONS=(
+ --with-xinitdir=/etc/X11/xinit
+ )
+ xorg-2_src_configure
+}
+
+src_install() {
+ xorg-2_src_install
+
+ exeinto /etc/X11
+ doexe "${FILESDIR}"/chooser.sh "${FILESDIR}"/startDM.sh
+ exeinto /etc/X11/Sessions
+ doexe "${FILESDIR}"/Xsession
+ exeinto /etc/X11/xinit
+ doexe "${FILESDIR}"/xserverrc
+ exeinto /etc/X11/xinit/xinitrc.d/
+ doexe "${FILESDIR}/00-xhost"
+
+ insinto /usr/share/xsessions
+ doins "${FILESDIR}/Xsession.desktop"
+}
+
+pkg_postinst() {
+ xorg-2_pkg_postinst
+ ewarn "If you use startx to start X instead of a login manager like gdm/kdm,"
+ ewarn "you can set the XSESSION variable to anything in /etc/X11/Sessions/ or"
+ ewarn "any executable. When you run startx, it will run this as the login session."
+ ewarn "You can set this in a file in /etc/env.d/ for the entire system,"
+ ewarn "or set it per-user in ~/.bash_profile (or similar for other shells)."
+ ewarn "Here's an example of setting it for the whole system:"
+ ewarn " echo XSESSION=\"Gnome\" > /etc/env.d/90xsession"
+ ewarn " env-update && source /etc/profile"
+}
diff --git a/x11-apps/xinit/xinit-1.3.4-r1.ebuild b/x11-apps/xinit/xinit-1.3.4-r1.ebuild
new file mode 100644
index 000000000000..a81c864dcec3
--- /dev/null
+++ b/x11-apps/xinit/xinit-1.3.4-r1.ebuild
@@ -0,0 +1,75 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit xorg-2
+
+DESCRIPTION="X Window System initializer"
+
+LICENSE="${LICENSE} GPL-2"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~arm-linux ~x86-linux"
+IUSE="+minimal systemd"
+
+RDEPEND="
+ !<x11-base/xorg-server-1.8.0
+ x11-apps/xauth
+ x11-libs/libX11
+"
+DEPEND="${RDEPEND}"
+PDEPEND="x11-apps/xrdb
+ !minimal? (
+ x11-apps/xclock
+ x11-apps/xsm
+ x11-terms/xterm
+ x11-wm/twm
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-1.3.3-gentoo-customizations.patch"
+)
+
+src_prepare() {
+ # this patch breaks startx on non-systemd systems, bug #526802
+ if use !systemd; then
+ PATCHES+=( "${FILESDIR}"/${PN}-1.3.4-startx-current-vt.patch )
+ fi
+ xorg-2_src_prepare
+}
+
+src_configure() {
+ XORG_CONFIGURE_OPTIONS=(
+ --with-xinitdir="${EPREFIX}"/etc/X11/xinit
+ )
+ xorg-2_src_configure
+}
+
+src_install() {
+ xorg-2_src_install
+
+ exeinto /etc/X11
+ doexe "${FILESDIR}"/chooser.sh "${FILESDIR}"/startDM.sh
+ exeinto /etc/X11/Sessions
+ doexe "${FILESDIR}"/Xsession
+ exeinto /etc/X11/xinit
+ newexe "${FILESDIR}"/xserverrc.1 xserverrc
+ exeinto /etc/X11/xinit/xinitrc.d/
+ doexe "${FILESDIR}"/00-xhost
+
+ insinto /usr/share/xsessions
+ doins "${FILESDIR}"/Xsession.desktop
+}
+
+pkg_postinst() {
+ xorg-2_pkg_postinst
+ ewarn "If you use startx to start X instead of a login manager like gdm/kdm,"
+ ewarn "you can set the XSESSION variable to anything in /etc/X11/Sessions/ or"
+ ewarn "any executable. When you run startx, it will run this as the login session."
+ ewarn "You can set this in a file in /etc/env.d/ for the entire system,"
+ ewarn "or set it per-user in ~/.bash_profile (or similar for other shells)."
+ ewarn "Here's an example of setting it for the whole system:"
+ ewarn " echo XSESSION=\"Gnome\" > /etc/env.d/90xsession"
+ ewarn " env-update && source /etc/profile"
+}
diff --git a/x11-apps/xinit/xinit-1.3.4.ebuild b/x11-apps/xinit/xinit-1.3.4.ebuild
new file mode 100644
index 000000000000..ee3430fb0419
--- /dev/null
+++ b/x11-apps/xinit/xinit-1.3.4.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit xorg-2
+
+DESCRIPTION="X Window System initializer"
+
+LICENSE="${LICENSE} GPL-2"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~arm-linux ~x86-linux"
+IUSE="+minimal"
+
+RDEPEND="
+ !<x11-base/xorg-server-1.8.0
+ x11-apps/xauth
+ x11-libs/libX11
+"
+DEPEND="${RDEPEND}"
+PDEPEND="x11-apps/xrdb
+ !minimal? (
+ x11-apps/xclock
+ x11-apps/xsm
+ x11-terms/xterm
+ x11-wm/twm
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-1.3.3-gentoo-customizations.patch"
+)
+
+src_configure() {
+ XORG_CONFIGURE_OPTIONS=(
+ --with-xinitdir="${EPREFIX}"/etc/X11/xinit
+ )
+ xorg-2_src_configure
+}
+
+src_install() {
+ xorg-2_src_install
+
+ exeinto /etc/X11
+ doexe "${FILESDIR}"/chooser.sh "${FILESDIR}"/startDM.sh
+ exeinto /etc/X11/Sessions
+ doexe "${FILESDIR}"/Xsession
+ exeinto /etc/X11/xinit
+ newexe "${FILESDIR}"/xserverrc.1 xserverrc
+ exeinto /etc/X11/xinit/xinitrc.d/
+ doexe "${FILESDIR}"/00-xhost
+
+ insinto /usr/share/xsessions
+ doins "${FILESDIR}"/Xsession.desktop
+}
+
+pkg_postinst() {
+ xorg-2_pkg_postinst
+ ewarn "If you use startx to start X instead of a login manager like gdm/kdm,"
+ ewarn "you can set the XSESSION variable to anything in /etc/X11/Sessions/ or"
+ ewarn "any executable. When you run startx, it will run this as the login session."
+ ewarn "You can set this in a file in /etc/env.d/ for the entire system,"
+ ewarn "or set it per-user in ~/.bash_profile (or similar for other shells)."
+ ewarn "Here's an example of setting it for the whole system:"
+ ewarn " echo XSESSION=\"Gnome\" > /etc/env.d/90xsession"
+ ewarn " env-update && source /etc/profile"
+}