diff options
author | Andreas Sturmlechner <asturm@gentoo.org> | 2018-11-13 18:36:00 +0100 |
---|---|---|
committer | Andreas Sturmlechner <asturm@gentoo.org> | 2018-11-13 18:38:11 +0100 |
commit | 63dc5de0f0108967ade6a8339b917f19c5e1e882 (patch) | |
tree | b1e5d7c4080cb48bf05be59e3eca762455f2563c /x11-misc/sddm | |
parent | dev-qt/qdoc: Sync ~ppc64 keyword from Gentoo ebuild repo (diff) | |
download | qt-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.patch | 20 | ||||
-rw-r--r-- | x11-misc/sddm/files/sddm-0.18.0-Xsession.patch | 24 | ||||
-rw-r--r-- | x11-misc/sddm/files/sddm-9999-consolekit.patch | 11 | ||||
-rw-r--r-- | x11-misc/sddm/metadata.xml | 14 | ||||
-rw-r--r-- | x11-misc/sddm/sddm-9999.ebuild | 104 |
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 } |