summaryrefslogtreecommitdiffstats
path: root/arch/tde-core/tde-tdebase
diff options
context:
space:
mode:
Diffstat (limited to 'arch/tde-core/tde-tdebase')
-rw-r--r--arch/tde-core/tde-tdebase/PKGBUILD155
-rw-r--r--arch/tde-core/tde-tdebase/agent-shutdown.sh13
-rw-r--r--arch/tde-core/tde-tdebase/agent-startup.sh19
-rw-r--r--arch/tde-core/tde-tdebase/tdm-trinity40
-rw-r--r--arch/tde-core/tde-tdebase/tdm.service9
-rw-r--r--arch/tde-core/tde-tdebase/trinity-tdebase.install17
-rw-r--r--arch/tde-core/tde-tdebase/trinity.desktop8
-rw-r--r--arch/tde-core/tde-tdebase/xsession.patch28
8 files changed, 289 insertions, 0 deletions
diff --git a/arch/tde-core/tde-tdebase/PKGBUILD b/arch/tde-core/tde-tdebase/PKGBUILD
new file mode 100644
index 000000000..1f76515b4
--- /dev/null
+++ b/arch/tde-core/tde-tdebase/PKGBUILD
@@ -0,0 +1,155 @@
+# Maintainer: Michael Manley <mmanley@nasutek.com>
+# Contributor: David C. Rankin <drankinatty at gmail dot com>
+
+_mod=tdebase
+_cat=core/
+_kdemod="${_mod/tde/kde}"
+
+pkgname="tde-${_mod}"
+pkgver=14.1.1
+pkgrel=1
+pkgdesc="Trinity Desktop Enviroment base components"
+arch=('i686' 'x86_64' 'aarch64' 'armv7h' 'powerpc64le')
+url="https://scm.trinitydesktop.org/scm/git/${_mod}"
+license=('GPL')
+provides=("${_mod}")
+groups=('tde-core')
+depends=('htdig'
+ 'libraw1394'
+ 'libssh'
+ 'libxss'
+ 'libxtst'
+ 'lm_sensors'
+ 'openssl'
+ 'tde-dbus-1-tqt'
+ 'tde-tdelibs'
+ 'ttf-dejavu'
+ 'ttf-freefont'
+ 'xorg-server'
+ 'xorg-xinit')
+makedepends=('tde-cmake-trinity'
+ 'libxkbfile'
+ 'rpcsvc-proto'
+ 'smbclient'
+ 'systemd-sysvcompat'
+ 'xorg-bdftopcf'
+ 'xscreensaver')
+optdepends=('desktop-file-utils: Command line utilities for working with desktop entries'
+ 'pciutils: PCI bus configuration space access library and tools'
+ 'samba: file sharing over SMB'
+ 'tde-extra: (meta-package) extra utilities and applications for TDE'
+ 'tde-multimedia: (meta-package) multimedia applications, k3b, rosegarden, etc..'
+ 'tde-complete: (meta-package) install all of TDE'
+ 'tde-avahi-tqt: Trinity Avahi-TQt implementation'
+ 'tde-libcaldav: A client library adding support for the CalDAV protocol'
+ 'tde-libcarddav: A client library adding support for the CardDAV protocol'
+ 'tde-tqca-tls: Trinity SSL/TLS plugin for TQt Cryptographic Architecture (TQCA)'
+ 'xorg-fonts-75dpi: X.org 75dpi fonts collection'
+ 'xscreensaver: Screen saver and locker for the X Window System')
+conflicts=("trinity-${_kdemod}" "kdemod3-${_kdemod}")
+replaces=("trinity-${_mod}")
+options=('staticlibs' 'libtool' '!strip')
+install="trinity-${_mod}.install"
+
+source=("https://mirror.ppa.trinitydesktop.org/trinity/releases/R${pkgver}/main/${_cat}${_mod}-trinity-${pkgver}.tar.xz"
+ 'agent-shutdown.sh'
+ 'agent-startup.sh'
+ 'tdm-trinity'
+ 'trinity.desktop'
+ 'tdm.service'
+ 'xsession.patch')
+
+md5sums=('105b7a69e0ed95af0e4ff0f141958205'
+ '18e8d01124b19f7df2937c06e177bf7f'
+ 'c963ef6e37c9051119972a58c67f05fb'
+ 'bb4c25e560fa719e8e8f49ef80bd1c99'
+ '091f4e1045867bbbc15bf323731aae82'
+ 'e0ddb96fc86bd081ce691744a68d2f9a'
+ 'a761787a4d2f917389ced194552addca')
+
+[ -n "$TDEDIR" ] || TDEDIR=/opt/trinity
+
+build() {
+ msg "Creating out-of-source build directory: ${srcdir}/build"
+ mkdir -p ${srcdir}/build
+ cd ${srcdir}/build
+
+ msg "Starting cmake..."
+
+ cmake ${srcdir}/${pkgname#*-}-trinity-${pkgver}/ \
+ -GNinja \
+ -DCMAKE_INSTALL_PREFIX=${TDEDIR} \
+ -DSYSCONF_INSTALL_DIR=${TDEDIR}/etc \
+ -DWITH_SASL=ON \
+ -DWITH_LDAP=ON \
+ -DWITH_SAMBA=ON \
+ -DWITH_OPENEXR=ON \
+ -DWITH_XCOMPOSITE=ON \
+ -DWITH_XCURSOR=ON \
+ -DWITH_XFIXES=ON \
+ -DWITH_XRANDR=ON \
+ -DWITH_XRENDER=ON \
+ -DWITH_XTEST=ON \
+ -DWITH_OPENGL=ON \
+ -DWITH_XSCREENSAVER=ON \
+ -DWITH_LIBART=ON \
+ -DWITH_LIBRAW1394=ON \
+ -DWITH_PAM=ON \
+ -DWITH_XDMCP=ON \
+ -DWITH_XINERAMA=ON \
+ -DWITH_ARTS=ON \
+ -DWITH_I8K=ON \
+ -DWITH_SENSORS=ON \
+ -DWITH_TDEHWLIB=ON \
+ -DWITH_UPOWER=ON \
+ -DBUILD_ALL=ON \
+ -DWITH_GCC_VISIBILITY=ON \
+ -DKCHECKPASS_PAM_SERVICE=tde-checkpass \
+ -DTDM_PAM_SERVICE=tde \
+ -DTDESCREENSAVER_PAM_SERVICE=tde-screensaver
+
+ ninja $NUMJOBS
+}
+
+package() {
+ msg "Packaging - $pkgname-$pkgver"
+ cd $srcdir/build
+ DESTDIR="$pkgdir" ninja -j1 install
+
+ # install X11 session file /usr/share/xsessions (changed from /etc/X11 sessions)
+ install -d -m755 ${pkgdir}/usr/share/xsessions
+ install -m755 ${srcdir}/trinity.desktop ${pkgdir}/usr/share/xsessions/trinity.desktop
+
+ # update the Xsession file, this resolves problem with kdm dropping back
+ # to the login screen.
+
+ patch -N ${pkgdir}${TDEDIR}/share/config/tdm/Xsession < ${srcdir}/xsession.patch
+
+ ## we will need systemd service files created
+ install -D -m644 "${srcdir}"/tdm.service \
+ "${pkgdir}"/usr/lib/systemd/system/tdm.service
+
+ # create the starttrinity link
+ # do we need this? wouldn't be better to rename startkde script
+ # to starttrinity? (renamed to starttde) Create for compatibility sake.
+ ln -sf $TDEDIR/bin/starttde ${pkgdir}$TDEDIR/bin/starttrinity
+
+ # install mkpamserv script, so we can auto-generate pam.d configs in post_install()
+ install -D -m755 ${srcdir}/${pkgname#*-}-trinity-${pkgver}/mkpamserv ${pkgdir}${TDEDIR}/bin/mkpamserv
+
+ # add startup/shutdown agents for ssh and gpg-agent
+ install -m644 -D $srcdir/agent-startup.sh ${pkgdir}$TDEDIR/env/agent-startup.sh
+ install -m755 -D $srcdir/agent-shutdown.sh ${pkgdir}$TDEDIR/shutdown/agent-shutdown.sh
+
+ # fix kde icons for gnome by creating symlinks
+ mkdir -p ${pkgdir}$TDEDIR/share/icons/gnome/{128x128,64x64,32x32,16x16,48x48,22x22,scalable}
+ mkdir -p ${pkgdir}$TDEDIR/share/icons/crystalsvg/{128x128/apps,64x64/apps,32x32/apps,16x16/apps,48x48/apps,22x22/apps,scalable/apps}
+
+ cd ${pkgdir}$TDEDIR/share/icons/gnome/
+
+ for i in *; do
+ cd $i
+ ln -sf ../../crystalsvg/$i/apps/ apps
+ cd ..
+ done
+}
diff --git a/arch/tde-core/tde-tdebase/agent-shutdown.sh b/arch/tde-core/tde-tdebase/agent-shutdown.sh
new file mode 100644
index 000000000..71b056af3
--- /dev/null
+++ b/arch/tde-core/tde-tdebase/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 [ "${GPG_AGENT_INFO}" ]; then
+ kill $(echo ${GPG_AGENT_INFO} | cut -d':' -f 2) >/dev/null 2>&1
+fi
+#
+if [ "${SSH_AGENT_PID}" ]; then
+ ssh-agent -k
+fi
diff --git a/arch/tde-core/tde-tdebase/agent-startup.sh b/arch/tde-core/tde-tdebase/agent-startup.sh
new file mode 100644
index 000000000..88d1373a1
--- /dev/null
+++ b/arch/tde-core/tde-tdebase/agent-startup.sh
@@ -0,0 +1,19 @@
+# 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
diff --git a/arch/tde-core/tde-tdebase/tdm-trinity b/arch/tde-core/tde-tdebase/tdm-trinity
new file mode 100644
index 000000000..9f425b809
--- /dev/null
+++ b/arch/tde-core/tde-tdebase/tdm-trinity
@@ -0,0 +1,40 @@
+#!/bin/bash
+
+# general config
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+PID=`pidof -o %PPID /opt/trinity/bin/tdm`
+case "$1" in
+ start)
+ #Check for running tdm, start when not running
+ stat_busy "Starting TDE Desktop Manager (tdm)"
+ [ -z "$PID" ] && /opt/trinity/bin/tdm &> /dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ echo $PID > /var/run/tdm.pid
+ add_daemon tdm-trinity
+ stat_done
+ fi
+ ;;
+ stop)
+ stat_busy "Stopping TDE Desktop Manager (tdm)"
+ [ ! -z "$PID" ] && kill $PID &> /dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ rm_daemon tdm-trinity
+ stat_done
+ fi
+ ;;
+ restart)
+ $0 stop
+ sleep 1
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart}"
+ ;;
+esac
+exit 0
diff --git a/arch/tde-core/tde-tdebase/tdm.service b/arch/tde-core/tde-tdebase/tdm.service
new file mode 100644
index 000000000..181f6cf1d
--- /dev/null
+++ b/arch/tde-core/tde-tdebase/tdm.service
@@ -0,0 +1,9 @@
+[Unit]
+Description=TDE Display Manager
+After=systemd-user-sessions.service
+
+[Service]
+ExecStart=/opt/trinity/bin/tdm
+
+[Install]
+Alias=display-manager.service
diff --git a/arch/tde-core/tde-tdebase/trinity-tdebase.install b/arch/tde-core/tde-tdebase/trinity-tdebase.install
new file mode 100644
index 000000000..b2ba604ef
--- /dev/null
+++ b/arch/tde-core/tde-tdebase/trinity-tdebase.install
@@ -0,0 +1,17 @@
+post_install() {
+ ldconfig &> /dev/null
+ [ -n "$TDEDIR" ] || TDEDIR=/opt/trinity
+ $TDEDIR/bin/mkpamserv tde
+ $TDEDIR/bin/mkpamserv tde-screensaver
+ $TDEDIR/bin/mkpamserv tde-checkpass
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ ldconfig &> /dev/null
+ rm /etc/pam.d/{tde,tde-screensaver,tde-checkpass}
+}
+
diff --git a/arch/tde-core/tde-tdebase/trinity.desktop b/arch/tde-core/tde-tdebase/trinity.desktop
new file mode 100644
index 000000000..6594afb2d
--- /dev/null
+++ b/arch/tde-core/tde-tdebase/trinity.desktop
@@ -0,0 +1,8 @@
+[Desktop Entry]
+Encoding=UTF-8
+Type=XSession
+Exec=/opt/trinity/bin/starttde
+TryExec=/opt/trinity/bin/starttde
+Name=Trinity
+Comment=The Trinity Desktop Environment (TDE). A powerful Open Source graphical desktop environment.
+
diff --git a/arch/tde-core/tde-tdebase/xsession.patch b/arch/tde-core/tde-tdebase/xsession.patch
new file mode 100644
index 000000000..8084fda40
--- /dev/null
+++ b/arch/tde-core/tde-tdebase/xsession.patch
@@ -0,0 +1,28 @@
+--- /mnt/archlinux/opt/trinity/share/config/kdm/Xsession 2011-12-08 13:08:43.000000000 +0100
++++ /opt/trinity/share/config/tdm/Xsession 2011-09-24 14:52:28.000000000 +0200
+@@ -43,4 +43,24 @@
+ ;;
+ esac
+ # invoke global X session script
+-. /etc/X11/Xsession
++
++
++ case $session in
++ "")
++ exec xmessage -center -buttons OK:0 -default OK "Sorry, $DESKTOP_SESSION is no valid session."
++ ;;
++ failsafe)
++ exec xterm -geometry 80x24-0-0
++ ;;
++ custom)
++ exec $HOME/.xsession
++ ;;
++ default)
++ exec /opt/trinity/bin/starttde
++ ;;
++ *)
++ eval exec "$session"
++ ;;
++ esac
++ exec xmessage -center -buttons OK:0 -default OK "Sorry, cannot execute $session. Check $DESKTOP_SESSION.desktop."
++