aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Sturmlechner <asturm@gentoo.org>2018-11-13 18:36:00 +0100
committerAndreas Sturmlechner <asturm@gentoo.org>2018-11-13 18:38:11 +0100
commit63dc5de0f0108967ade6a8339b917f19c5e1e882 (patch)
treeb1e5d7c4080cb48bf05be59e3eca762455f2563c /x11-misc/sddm
parentdev-qt/qdoc: Sync ~ppc64 keyword from Gentoo ebuild repo (diff)
downloadqt-63dc5de0f0108967ade6a8339b917f19c5e1e882.tar.gz
qt-63dc5de0f0108967ade6a8339b917f19c5e1e882.tar.bz2
qt-63dc5de0f0108967ade6a8339b917f19c5e1e882.zip
x11-misc/sddm: Sync with 0.18.0 from Gentoo ebuild repository
Add USE elogind support Use l10n and systemd eclass Raise to Qt 5.9.4 minimum Switch to https Update maintainers Closes: https://bugs.gentoo.org/671076 Package-Manager: Portage-2.3.51, Repoman-2.3.12 Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
Diffstat (limited to 'x11-misc/sddm')
-rw-r--r--x11-misc/sddm/files/sddm-0.12.0-respect-user-flags.patch (renamed from x11-misc/sddm/files/sddm-9999-respect-user-flags.patch)0
-rw-r--r--x11-misc/sddm/files/sddm-0.16.0-ck2-revert.patch20
-rw-r--r--x11-misc/sddm/files/sddm-0.18.0-Xsession.patch24
-rw-r--r--x11-misc/sddm/files/sddm-9999-consolekit.patch11
-rw-r--r--x11-misc/sddm/metadata.xml14
-rw-r--r--x11-misc/sddm/sddm-9999.ebuild104
6 files changed, 116 insertions, 57 deletions
diff --git a/x11-misc/sddm/files/sddm-9999-respect-user-flags.patch b/x11-misc/sddm/files/sddm-0.12.0-respect-user-flags.patch
index fc450169..fc450169 100644
--- a/x11-misc/sddm/files/sddm-9999-respect-user-flags.patch
+++ b/x11-misc/sddm/files/sddm-0.12.0-respect-user-flags.patch
diff --git a/x11-misc/sddm/files/sddm-0.16.0-ck2-revert.patch b/x11-misc/sddm/files/sddm-0.16.0-ck2-revert.patch
new file mode 100644
index 00000000..bbe2a272
--- /dev/null
+++ b/x11-misc/sddm/files/sddm-0.16.0-ck2-revert.patch
@@ -0,0 +1,20 @@
+SDDM 0.16.0 fails to start with consolekit2 because it assumes consolekit2
+has the same interface names as logind.
+
+This patch forces sddm to use legacy behaviour when consolekit2 is detected.
+
+Bug: https://bugs.gentoo.org/633920
+Bug: https://github.com/sddm/sddm/issues/903
+Bug: https://github.com/ConsoleKit2/ConsoleKit2/issues/99
+
+--- a/src/daemon/LogindDBusTypes.cpp
++++ b/src/daemon/LogindDBusTypes.cpp
+@@ -60,7 +60,7 @@
+
+ if (QDBusConnection::systemBus().interface()->isServiceRegistered(QStringLiteral("org.freedesktop.ConsoleKit"))) {
+ qDebug() << "Console kit interface found";
+- available = true;
++ available = false;
+ serviceName = QStringLiteral("org.freedesktop.ConsoleKit");
+ managerPath = QStringLiteral("/org/freedesktop/ConsoleKit/Manager");
+ managerIfaceName = QStringLiteral("/org.freedesktop.ConsoleKit.Manager"); //note this doesn't match logind
diff --git a/x11-misc/sddm/files/sddm-0.18.0-Xsession.patch b/x11-misc/sddm/files/sddm-0.18.0-Xsession.patch
new file mode 100644
index 00000000..41c813a0
--- /dev/null
+++ b/x11-misc/sddm/files/sddm-0.18.0-Xsession.patch
@@ -0,0 +1,24 @@
+--- a/data/scripts/Xsession 2016-08-28 14:52:04.910181422 +0200
++++ b/data/scripts/Xsession 2017-10-21 15:25:47.668886596 +0200
+@@ -50,6 +50,10 @@
+ ;;
+ esac
+
++# Make D-Bus and ConsoleKit start properly, see:
++# /etc/X11/xinit/xinitrc.d/{80-dbus,90-consolekit}
++command="$@"
++
+ [ -f /etc/xprofile ] && . /etc/xprofile
+ [ -f $HOME/.xprofile ] && . $HOME/.xprofile
+
+@@ -94,8 +98,8 @@
+ . "$USERXSESSION"
+ fi
+
+-if [ -z "$*" ]; then
++if [ -z "$command" ]; then
+ exec xmessage -center -buttons OK:0 -default OK "Sorry, $DESKTOP_SESSION is no valid session."
+ else
+- exec $@
++ exec $command
+ fi
diff --git a/x11-misc/sddm/files/sddm-9999-consolekit.patch b/x11-misc/sddm/files/sddm-9999-consolekit.patch
deleted file mode 100644
index 692ee174..00000000
--- a/x11-misc/sddm/files/sddm-9999-consolekit.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-diff --git a/data/scripts/Xsession b/data/scripts/Xsession
-index 0c923a8..eae4f28 100755
---- a/data/scripts/Xsession
-+++ b/data/scripts/Xsession
-@@ -91,5 +91,5 @@ fi
- if [ -z "$@" ]; then
- exec xmessage -center -buttons OK:0 -default OK "Sorry, $DESKTOP_SESSION is no valid session."
- else
-- exec $@
-+ exec ck-launch-session $@
- fi
diff --git a/x11-misc/sddm/metadata.xml b/x11-misc/sddm/metadata.xml
index 292acc2a..43cf40aa 100644
--- a/x11-misc/sddm/metadata.xml
+++ b/x11-misc/sddm/metadata.xml
@@ -1,16 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>jauhien@gentoo.org</email>
- <name>Jauhien Piatlicki</name>
- </maintainer>
<maintainer type="project">
<email>lxqt@gentoo.org</email>
<name>LXQt</name>
</maintainer>
+ <maintainer type="project">
+ <email>kde@gentoo.org</email>
+ <name>Gentoo KDE Project</name>
+ </maintainer>
<use>
- <flag name="consolekit">Use ck-launch-session from sys-auth/consolekit by default in Xsession (no native support)</flag>
+ <flag name="consolekit">Use ck-launch-session from sys-auth/consolekit (no native support)</flag>
+ <flag name="elogind">Use <pkg>sys-auth/elogind</pkg> for session tracking.</flag>
</use>
<longdescription lang="en">
SDDM is a modern display manager for X11 aiming to be fast, simple
@@ -18,4 +19,7 @@
turn gives the designer the ability to create smooth, animated
user interfaces.
</longdescription>
+ <upstream>
+ <remote-id type="github">sddm/sddm</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/x11-misc/sddm/sddm-9999.ebuild b/x11-misc/sddm/sddm-9999.ebuild
index 62e892d9..ab2baac2 100644
--- a/x11-misc/sddm/sddm-9999.ebuild
+++ b/x11-misc/sddm/sddm-9999.ebuild
@@ -1,79 +1,101 @@
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
-inherit cmake-utils git-r3 user
+
+if [[ ${PV} == *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/${PN}/${PN}.git"
+else
+ SRC_URI="https://github.com/${PN}/${PN}/releases/download/v${PV}/${P}.tar.gz"
+ KEYWORDS="amd64 ~arm ~arm64 x86"
+fi
+
+PLOCALES="ar bn ca cs da de es et fi fr hi_IN hu ie is it ja kk ko lt lv nb nl nn pl pt_BR pt_PT ro ru sk sr sr@ijekavian sr@ijekavianlatin sr@latin sv tr uk zh_CN zh_TW"
+inherit cmake-utils l10n systemd user
DESCRIPTION="Simple Desktop Display Manager"
HOMEPAGE="https://github.com/sddm/sddm"
-EGIT_REPO_URI="git://github.com/${PN}/${PN}.git"
-KEYWORDS=""
LICENSE="GPL-2+ MIT CC-BY-3.0 CC-BY-SA-3.0 public-domain"
SLOT="0"
-IUSE="consolekit +pam systemd"
+IUSE="consolekit elogind +pam systemd test"
-RDEPEND=">=dev-qt/qtcore-5.6:5
- >=dev-qt/qtdbus-5.6:5
- >=dev-qt/qtgui-5.6:5
- >=dev-qt/qtdeclarative-5.6:5
- >=dev-qt/qtnetwork-5.6:5
+REQUIRED_USE="?? ( elogind systemd )"
+
+RDEPEND="
+ >=dev-qt/qtcore-5.9.4:5
+ >=dev-qt/qtdbus-5.9.4:5
+ >=dev-qt/qtdeclarative-5.9.4:5
+ >=dev-qt/qtgui-5.9.4:5
+ >=dev-qt/qtnetwork-5.9.4:5
>=x11-base/xorg-server-1.15.1
- x11-libs/libxcb[xkb(-)]
+ x11-libs/libxcb[xkb]
consolekit? ( >=sys-auth/consolekit-0.9.4 )
+ elogind? ( sys-auth/elogind )
pam? ( sys-libs/pam )
systemd? ( sys-apps/systemd:= )
- !systemd? ( || ( sys-power/upower sys-power/upower-pm-utils ) )"
+ !systemd? ( sys-power/upower )"
DEPEND="${RDEPEND}
dev-python/docutils
- >=dev-qt/linguist-tools-5.6:5
- >=dev-qt/qttest-5.6:5
+ >=dev-qt/linguist-tools-5.9.4:5
kde-frameworks/extra-cmake-modules
- virtual/pkgconfig"
+ virtual/pkgconfig
+ test? ( >=dev-qt/qttest-5.9.4:5 )"
-pkg_pretend() {
- if [[ ${MERGE_TYPE} != binary && $(tc-getCC) == *gcc* ]]; then
- if [[ $(gcc-major-version) -lt 4 || $(gcc-major-version) == 4 && $(gcc-minor-version) -lt 7 ]] ; then
- die 'The active compiler needs to be gcc 4.7 (or newer)'
- fi
- fi
-}
+PATCHES=(
+ "${FILESDIR}/${PN}-0.12.0-respect-user-flags.patch" # fix for flags handling and bug 563108
+ "${FILESDIR}/${PN}-0.18.0-Xsession.patch" # bug 611210
+ # TODO: fix properly
+ "${FILESDIR}/${PN}-0.16.0-ck2-revert.patch" # bug 633920
+)
src_prepare() {
- # fix for flags handling and bug 563108
- eapply "${FILESDIR}/${P}-respect-user-flags.patch"
- use consolekit && eapply "${FILESDIR}/${P}-consolekit.patch"
-
cmake-utils_src_prepare
+
+ disable_locale() {
+ sed -e "/${1}\.ts/d" -i data/translations/CMakeLists.txt || die
+ }
+ l10n_find_plocales_changes "data/translations" "" ".ts"
+ l10n_for_each_disabled_locale_do disable_locale
+
+ if ! use test; then
+ sed -e "/^find_package/s/ Test//" -i CMakeLists.txt || die
+ cmake_comment_add_subdirectory test
+ fi
}
src_configure() {
local mycmakeargs=(
-DENABLE_PAM=$(usex pam)
-DNO_SYSTEMD=$(usex '!systemd')
+ -DUSE_ELOGIND=$(usex 'elogind')
-DBUILD_MAN_PAGES=ON
-DDBUS_CONFIG_FILENAME="org.freedesktop.sddm.conf"
- )
-
+ )
cmake-utils_src_configure
}
+src_install() {
+ cmake-utils_src_install
+
+ # Create a default.conf as upstream dropped /etc/sddm.conf w/o replacement
+ local confd="/usr/lib/sddm/sddm.conf.d"
+ dodir ${confd}
+ "${D}"/usr/bin/sddm --example-config > "${D}/${confd}"/00default.conf \
+ || die "Failed to create 00default.conf"
+ sed -e "/^InputMethod/s/qtvirtualkeyboard//" \
+ -i "${D}/${confd}"/00default.conf || die
+}
+
pkg_postinst() {
+ elog "Starting with 0.18.0, SDDM no longer installs /etc/sddm.conf"
+ elog "Use it to override specific options. SDDM defaults are now"
+ elog "found in: /usr/lib/sddm/sddm.conf.d/00default.conf"
+
enewgroup ${PN}
enewuser ${PN} -1 -1 /var/lib/${PN} ${PN},video
- if use consolekit && use pam && [[ -e "${ROOT}"/etc/pam.d/system-login ]]; then
- local line=$(grep "pam_ck_connector.*nox11" "${ROOT}"/etc/pam.d/system-login)
- if [[ -z ${line} ]]; then
- ewarn
- ewarn "Erroneous /etc/pam.d/system-login settings detected!"
- ewarn "Please restore 'nox11' option in the line containing pam_ck_connector:"
- ewarn
- ewarn "session optional pam_ck_connector.so nox11"
- ewarn
- ewarn "or 'emerge -1 sys-auth/pambase' and run etc-update."
- ewarn
- fi
- fi
+ systemd_reenable sddm.service
}