blob: 1787b8af9b69c3698cebca453b816dfc78ffd1ec (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
|
# Copyright 1999-2023 Gentoo Authors
# Copyright 2020-2023 The Trinity Desktop Project
# Distributed under the terms of the GNU General Public License v2
EAPI="8"
TRINITY_MODULE_NAME="tdebase"
TRINITY_MODULE_TYPE="core"
TSM_EXTRACT_ALSO="translations/"
inherit linux-info trinity-meta-2
DESCRIPTION="Trinity login manager, similar to XDM and GDM"
if [[ ${PV} != *9999* ]] ; then
KEYWORDS="~amd64 ~arm64 ~x86"
fi
IUSE="+hwlib pam sak +svg xcomposite xdmcp +xrandr"
DEPEND="
sys-apps/dbus
~trinity-base/kcontrol-${PV}
~trinity-base/tdelibs-${PV}[xrandr?]
x11-libs/libXtst
pam? ( trinity-base/tdebase-pam )
svg? ( media-libs/libart_lgpl )
xcomposite? ( x11-libs/libXcomposite )
xdmcp? ( x11-libs/libXdmcp )
"
RDEPEND="${DEPEND}
~trinity-base/tdepasswd-${PV}
x11-apps/xinit
x11-apps/xmessage"
pkg_setup() {
trinity-meta-2_pkg_setup
use sak && TRINITY_SUBMODULE+=" tsak"
}
src_configure() {
local mycmakeargs=(
-DWITH_XTEST=ON
-DWITH_SHADOW=ON
-DWITH_LIBART="$(usex svg)"
-DWITH_XCOMPOSITE="$(usex xcomposite)"
-DWITH_XDMCP="$(usex xdmcp)"
-DWITH_XRANDR="$(usex xrandr)"
-DWITH_TDEHWLIB="$(usex hwlib)"
-DWITH_PAM="$(usex pam)"
-DTDM_PAM_SERVICE=tde
)
trinity-meta-2_src_configure
}
src_install() {
trinity-meta-2_src_install
# Customize the tdmrc configuration
sed -i -e "s:#SessionsDirs=:SessionsDirs=/usr/share/xsessions\n#SessionsDirs=:" \
"${D}/${TDEDIR}/share/config/tdm/tdmrc" || die "sed tdmrc failed"
# Install XSession upstream script seems to be debian-cpecific
cp "${FILESDIR}/${PN}-14.0.8-xsession.script" "${D}/${TDEDIR}/share/config/tdm/Xsession" || die
sed -i -e "s!@TRINITY_INSTALL_PATH@!${TDEDIR}!" "${D}/${TDEDIR}/share/config/tdm/Xsession" \
|| die "sed tdmrc failed"
}
pkg_postinst() {
# Set the default TDM face icon if it's not already set by the system admin
# because this is user-overrideable in that way, it's not in src_install
if [[ ! -e "${ROOT}${TDEDIR}/share/apps/tdm/faces/.default.face.icon" ]]; then
mkdir -p "${ROOT}${TDEDIR}/share/apps/tdm/faces" || die
cp "${ROOT}${TDEDIR}/share/apps/tdm/pics/users/default1.png" \
"${ROOT}${TDEDIR}/share/apps/tdm/faces/.default.face.icon" || die
fi
if [[ ! -e "${ROOT}${TDEDIR}/share/apps/tdm/faces/root.face.icon" ]]; then
mkdir -p "${ROOT}${TDEDIR}/share/apps/tdm/faces" || die
cp "${ROOT}${TDEDIR}/share/apps/tdm/pics/users/root1.png" \
"${ROOT}${TDEDIR}/share/apps/tdm/faces/root.face.icon" || die
fi
if use sak; then
sak_ok=yes
if ! linux_config_exists; then
ewarn "Can't check the linux kernel configuration."
ewarn "You might have some incompatible options enabled."
sak_ok=no
else
if ! linux_chkconfig_present INPUT_UINPUT; then
eerror "You have built tdm with the Secure Attention Key (SAK) feature enabled."
eerror "It requires INPUT_UINPUT support to be enabled in the kernel."
eerror "Please enable it:"
eerror " CONFIG_INPUT_UINPUT=y"
eerror "in /usr/src/linux/.config or"
eerror " Device Drivers --->"
eerror " Input device support --->"
eerror " [*] Miscellaneous devices --->"
eerror " <*> User level driver support"
sak_ok=no
fi
fi
if [[ "$sak_ok" != yes ]]; then
sed -i -e 's:#\?\s*UseSAK=\(true\|false\)\?:UseSAK=false:' \
"${ROOT}${TDEDIR}/share/config/tdm/tdmrc" || die "sed tdmrc failed"
ewarn "SAK feature is disabled. You can enable it yourself by setting UseSAK=true"
ewarn "in ${TDEDIR}/share/config/tdm/tdmrc "
else
ewarn "SAK feature is enabled. You can disable it yourself by setting UseSAK=false"
ewarn "in ${TDEDIR}/share/config/tdm/tdmrc "
fi
fi
}
|