From ef593d1ec529be89d755077eee3869006d8c18ae Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Tue, 27 Jun 2023 13:35:02 +0100 Subject: gentoo auto-resync : 27:06:2023 - 13:35:02 --- x11-misc/Manifest.gz | Bin 47034 -> 47032 bytes x11-misc/py3status/Manifest | 4 +- x11-misc/py3status/py3status-3.50.ebuild | 33 ----- x11-misc/py3status/py3status-3.51.ebuild | 33 +++++ x11-misc/sddm/Manifest | 5 +- .../sddm-0.20.0-fix-use-development-sessions.patch | 83 +++++++++++++ x11-misc/sddm/sddm-0.19.0_p20230608.ebuild | 137 --------------------- x11-misc/sddm/sddm-0.20.0.ebuild | 132 ++++++++++++++++++++ 8 files changed, 253 insertions(+), 174 deletions(-) delete mode 100644 x11-misc/py3status/py3status-3.50.ebuild create mode 100644 x11-misc/py3status/py3status-3.51.ebuild create mode 100644 x11-misc/sddm/files/sddm-0.20.0-fix-use-development-sessions.patch delete mode 100644 x11-misc/sddm/sddm-0.19.0_p20230608.ebuild create mode 100644 x11-misc/sddm/sddm-0.20.0.ebuild (limited to 'x11-misc') diff --git a/x11-misc/Manifest.gz b/x11-misc/Manifest.gz index ff957abad9c9..74a455c69a94 100644 Binary files a/x11-misc/Manifest.gz and b/x11-misc/Manifest.gz differ diff --git a/x11-misc/py3status/Manifest b/x11-misc/py3status/Manifest index c27350200984..f1bf62b710e1 100644 --- a/x11-misc/py3status/Manifest +++ b/x11-misc/py3status/Manifest @@ -1,3 +1,3 @@ -DIST py3status-3.50.tar.gz 421152 BLAKE2B a53f6e67b98da7ebfd82797662c5fffdc44d119b48ee124ad858f0f2b1195bb6b9a1d3d1d0f38c66175886fb937410096a9146051acd755ddb996836d73bf9d4 SHA512 4b542f8724898836dfb5023a8a9230e2b6e5de3dba3d8115ac653251626706ea16d066dc2221a9b2688538425e12cd171e7db0bbe5178c642e97bb4170520c5d -EBUILD py3status-3.50.ebuild 823 BLAKE2B 35a86088e42b13c76b9e62abc5202ed40611de0e1c14aa3fae9333975a2deff85efb907431101135da64718edeea6941a8b1eea339ba37ad3565f4c4757dfee0 SHA512 c179eb78052286e1f99461a66efa0a849d50bcdc2f5e8794cd0f0fe42170e66aa42948a51dc130d1a5da61d85fcf1fe56840fcddd5d94d4fb4865cb76f2c5ebc +DIST py3status-3.51.tar.gz 421336 BLAKE2B 917f7df5ac3825f0a5149f3f180ee4d9286936e8f7505b1004200021150d4d81f38e78c92fe8cc1d0c57c85c4210b6e10afab9406c6cf9f60ee896bd8a259e05 SHA512 b128d41c7fab59b79b8cd9dd8cc2c7ef27c5021dc5e14ae4430da0b87331a62ca81c80c611342749b3c886e1b5bd842bfe79b43cd56c58d773c0b08220f71f53 +EBUILD py3status-3.51.ebuild 823 BLAKE2B 35a86088e42b13c76b9e62abc5202ed40611de0e1c14aa3fae9333975a2deff85efb907431101135da64718edeea6941a8b1eea339ba37ad3565f4c4757dfee0 SHA512 c179eb78052286e1f99461a66efa0a849d50bcdc2f5e8794cd0f0fe42170e66aa42948a51dc130d1a5da61d85fcf1fe56840fcddd5d94d4fb4865cb76f2c5ebc MISC metadata.xml 649 BLAKE2B a3ea307c4d4c613773015caa89c6aab50af43fe2b7fb8ef0ba673cbace9fefa015236819f85e416639e9683c554c06f3c0141bb1b933001b69b5c2d55fd0a0d0 SHA512 fee8d759154f61a9228038eb1ed990d55a2cc70c43afebb213b6d81f7b98ea333dc89775a64c6600adefae8bdc82a76df26dc0c26ad1bbdeac6020c0f065e67e diff --git a/x11-misc/py3status/py3status-3.50.ebuild b/x11-misc/py3status/py3status-3.50.ebuild deleted file mode 100644 index c149a1d0f3dc..000000000000 --- a/x11-misc/py3status/py3status-3.50.ebuild +++ /dev/null @@ -1,33 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -PYTHON_COMPAT=( python{3_9,3_10,3_11} ) -DISTUTILS_USE_SETUPTOOLS=rdepend - -SRC_URI="https://github.com/ultrabug/py3status/archive/${PV}.tar.gz -> ${P}.tar.gz" - -inherit distutils-r1 - -MY_PN="py3status" -MY_P="${MY_PN}-${PV/_/-}" - -DESCRIPTION="py3status is an extensible i3status wrapper written in python" -HOMEPAGE="https://github.com/ultrabug/py3status" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="~amd64 ~x86" -IUSE="minimal +udev" -# It feels useless to run tests on this simple package -# since upstream (I) runs tox on CI -RESTRICT="test" - -RDEPEND=" - !minimal? ( x11-misc/i3status ) - udev? ( >=dev-python/pyudev-0.21.0[${PYTHON_USEDEP}] ) -" -DEPEND="${RDEPEND} - dev-python/setuptools[${PYTHON_USEDEP}]" - -S=${WORKDIR}/${MY_P} diff --git a/x11-misc/py3status/py3status-3.51.ebuild b/x11-misc/py3status/py3status-3.51.ebuild new file mode 100644 index 000000000000..c149a1d0f3dc --- /dev/null +++ b/x11-misc/py3status/py3status-3.51.ebuild @@ -0,0 +1,33 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +PYTHON_COMPAT=( python{3_9,3_10,3_11} ) +DISTUTILS_USE_SETUPTOOLS=rdepend + +SRC_URI="https://github.com/ultrabug/py3status/archive/${PV}.tar.gz -> ${P}.tar.gz" + +inherit distutils-r1 + +MY_PN="py3status" +MY_P="${MY_PN}-${PV/_/-}" + +DESCRIPTION="py3status is an extensible i3status wrapper written in python" +HOMEPAGE="https://github.com/ultrabug/py3status" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="minimal +udev" +# It feels useless to run tests on this simple package +# since upstream (I) runs tox on CI +RESTRICT="test" + +RDEPEND=" + !minimal? ( x11-misc/i3status ) + udev? ( >=dev-python/pyudev-0.21.0[${PYTHON_USEDEP}] ) +" +DEPEND="${RDEPEND} + dev-python/setuptools[${PYTHON_USEDEP}]" + +S=${WORKDIR}/${MY_P} diff --git a/x11-misc/sddm/Manifest b/x11-misc/sddm/Manifest index a4a5dc0f4558..7fe80ab04655 100644 --- a/x11-misc/sddm/Manifest +++ b/x11-misc/sddm/Manifest @@ -11,12 +11,13 @@ AUX sddm-0.18.1-qt-5.15.2.patch 865 BLAKE2B 1198a2a7b9cd0b46648eddd3eddca444d502 AUX sddm-0.18.1-respect-user-flags.patch 774 BLAKE2B 050d261762b872a475ce9f250b464e539e278c4c87ad90767b7a9e8dc8f4785671ff3c5989b3785979b3a59ce805bb5b2ee90b01da0dca831a48aecaddc94280 SHA512 8df7f3b804594d46439e4c93a01a035e71d8e8a53c95193eaff03403970d0010878e70f0f7c8c965545360a948c2cab994e5ce29e011f8f41bc232107402fe78 AUX sddm-0.18.1-revert-honor-PAM-supplemental-groups.patch 3616 BLAKE2B 71a4c6f592214160ff993e86582bf5f550be204193668f5bab7786db88ae9a1a09ee268beb3e3157c1b033e765053ba415f3d291f299b09606aa566c9c197370 SHA512 b33b26517173262194bdc98e63b84fbb1f03005abc3c079332dd9b275167d8ddc680ba5c2a9968be5c54963b64f291aab65ad9f04b9f3f69299d030753cd90f5 AUX sddm-0.20.0-disable-etc-debian-check.patch 1037 BLAKE2B da37f7e7025e0c02f892a08bfca27a1e970e517a2b0fdd5bf45dae903215f6523747f076164868d60faf693ca0676b15e4e052496d3ae57c73ba01152ff7d3ba SHA512 d4fe05d49d067a708231494d8b48ee316b007c6c903be0c125d528492789b07d892b149c87f370263eec4372d11e1ff8ca3cafe855b83f65dec4709998b40514 +AUX sddm-0.20.0-fix-use-development-sessions.patch 3399 BLAKE2B c5a1297a673fab4e198f0c5045cb1e362451b3c12f92e2d11168eb68d60cb33367d24c664d4d49503fa6bde7a4a8be9a23fc227f15835d34963dd05ddf27f737 SHA512 1f9402be49ab5b8937e7b15162dd077c2a09be112b4bd80ad302a865e981138a071b45d36d8080f333075f03ad74451024b8a08bde1902029a5b62ac44172504 AUX sddm-0.20.0-no-default-pam_systemd-module.patch 1487 BLAKE2B e4a270d2c0cb140e6195bb93aa9e15538737585ded1a30db2986d00e21a8a74d0bf6732c2bb3d47ddb7636ca75f44f5be64ff1f5b435a28ab585bd614223a307 SHA512 c598d4ff4ce5b7b88b5e5224d09a8aa336c929e2889eacb6eb76caac719adb112ecc11202f40cba9246a1ad2b0e039f8de6ab378d755126e8598598286171b1f AUX sddm-0.20.0-respect-user-flags.patch 348 BLAKE2B 228f9011992b113afc8a32ef2fdb17d2ca3e3d158718b0bdf8d0638de5b432e830fb9baf83d1b9deea5ee3b2a01e61fecf1ebb81621e7b58df3d7905697a8099 SHA512 e347b6ef36a37751a18affc2f098b55772c8782f5c4826094d1841425f85e29c18e988b47e2252317907804f9b135642367c7e992934aff93edaa58ca67f7dd5 AUX sddm-0.20.0-sddm.pam-use-substack.patch 1173 BLAKE2B 2d4fee0a0f3bc61a0873d4927ff8c3189d77371929448dadccc35a43a114c2be64dd0822825a45708904ff5c70ab7896e9a7cf54931d14f4f48ab79d5dc36d75 SHA512 bfe00511a17e7bd0e0c9c51f65082f9feda38237cba64f36cdb31570adb56ded9d380f7e3b133ed1c3f7bde4d9341f2a5ac9627cd9c72300532b8d84b5cf0dc8 AUX sddm.tmpfiles 31 BLAKE2B 51d22f1d6e25aed3df726c0c315e83193bf28b5e9cafb681b648e6788ad8e9ddd8610ef5c305627373e32465ac104b33d71c333153217f8f8f560ace9ddca45a SHA512 bb5ecdcc6cfcc6b1056a7b10b8a6f323a3e12ea5496a26d80f199a275402fd99ed0fa810fad6687407605964f980784c24082686e177063113a358e1d4220136 DIST sddm-0.18.1.tar.xz 3402972 BLAKE2B 99ab43d374e9a3d318f692a6d496d8a6d68927af3c8e8fc2208d7355ec90649a14758b39f5733dd32f942ed569de88085576d4f5f8666f4f97079e0fb6dcb99e SHA512 ff0637600cda2f4da1f643f047f8ee822bd9651ae4ccbb614b9804175c97360ada7af93e07a7b63832f014ef6e7d1b5380ab2b8959f8024ea520fa5ff17efd60 -DIST sddm-0.19.0_p20230608.tar.gz 3553104 BLAKE2B 41622866f28f9a2aee3b1f6f02f66271d8fe762da71d2215bb6b4b87418504ce321db81625a6cfab099bdaa395da1bf4153a65e795612e745546c2a42e97f270 SHA512 76a591a41d3f171c6c3ec5d57837d3061f3dd094ec1e08003f0bacd90c061613505c899ce0b86c7bd4c5f8c346f7bb15f9cd574377dcece123a756329a805562 +DIST sddm-0.20.0.tar.gz 3552722 BLAKE2B 8086c9555d5ce1598db3279353de077d51adbcc5222a929750e8558a1bcdad395a411f90608bffdc6e1ca7e7ac2b8325e25cf04cbf8476698d787ce7e60c2105 SHA512 0f64b405f1451873a01a2210530feb6f4cbbdea17be9d039c105088963a48322968db7b60c0d20ac5d97c8ec2a19e5130f0a74c0f9de58c61453d8ce8bb6272a EBUILD sddm-0.18.1-r8.ebuild 3785 BLAKE2B d187956247816e988d69e7ecbca870c4f9b95639f135b579a75c3784763dc652b873b219d0767fccd9cca5ad81ebcdd602d29852ad4130ae5c1bf9fefd692a76 SHA512 1582fa4b54e516024f98b811692952e97774b8f671f061e53bc52e51decb934379d2be64935d326d83e3b39d4eb0f036360201715d8ed15de5d727624f449408 -EBUILD sddm-0.19.0_p20230608.ebuild 3660 BLAKE2B 5d08fac97a639a880306a9186b6e94856a9f97303962b9b3847f9a8afece555b8b218e1fd65d37e33527565551292a346d0700a6eabacdb7533c3dcca5d8ef14 SHA512 9af503f5b506dd7bb7582dffbb40877a12b2312306e6c268e937bd94149dbaa1d6ddc47f00e3b73a4ac827f562423d2493a0d23b6e26e12e35b77b75ebe56355 +EBUILD sddm-0.20.0.ebuild 3506 BLAKE2B ebf037259576f6d090edbe051d9e2a6be8c5878cc0d8b2694ae166a1e90a84b4db160ef7fda8f0bdeb32a09f104dfe5a7b96b6458cf203b694b8a4b1421dcba4 SHA512 a7182de101e6ab281dcce2cc78cd0ca43867b15bda0ac7b4f70c4a8647f37feac68e8096d4a408c420c62f206a8612febbe1d531f4ae96ec78dbce2eb1c6ca22 MISC metadata.xml 722 BLAKE2B fc34c0b25b7f3e6ab876c99a30f475dc90cc4b319f497a2ba4bd2beac1dc1189d3d9611999c0c3b078254db23c4c9b2ef0416da41e706c1a1db96d5bbec28177 SHA512 c1fa48632080e295272df6e7ceb7c0a1ad64a41155c7d53d91728f072cb7abf618e7bf4d5cced2ca0b198bbbf5ed1e72c5bfc9ea9d590064e5f5494747d32b0d diff --git a/x11-misc/sddm/files/sddm-0.20.0-fix-use-development-sessions.patch b/x11-misc/sddm/files/sddm-0.20.0-fix-use-development-sessions.patch new file mode 100644 index 000000000000..3213828181ca --- /dev/null +++ b/x11-misc/sddm/files/sddm-0.20.0-fix-use-development-sessions.patch @@ -0,0 +1,83 @@ +From 5b702ae986464fe6dbc8557d4b2da725ac1ed175 Mon Sep 17 00:00:00 2001 +From: Fabian Vogt +Date: Mon, 26 Jun 2023 09:52:05 +0200 +Subject: [PATCH] Session: Parse .desktop files manually again + +Using QSettings::IniFormat doesn't quite work. Implement a custom parser +for those files to handle them according to the specification. + +Fixes #1745 +--- + src/common/Session.cpp | 52 +++++++++++++++++++++++++++++++++++++++++- + 1 file changed, 51 insertions(+), 1 deletion(-) + +diff --git a/src/common/Session.cpp b/src/common/Session.cpp +index 4bb2142ca..5eec64859 100644 +--- a/src/common/Session.cpp ++++ b/src/common/Session.cpp +@@ -34,6 +34,56 @@ + const QString s_entryExtention = QStringLiteral(".desktop"); + + namespace SDDM { ++ // QSettings::IniFormat can't be used to read .desktop files due to different ++ // syntax of values (escape sequences, quoting, automatic QStringList detection). ++ // So implement yet another .desktop file parser. ++ class DesktopFileFormat { ++ static bool readFunc(QIODevice &device, QSettings::SettingsMap &map) ++ { ++ QString currentSectionName; ++ while(!device.atEnd()) ++ { ++ // Iterate each line, remove line terminators ++ const auto line = device.readLine().replace("\r", "").replace("\n", ""); ++ if(line.isEmpty() || line.startsWith('#')) ++ continue; // Ignore empty lines and comments ++ ++ if(line.startsWith('[')) // Section header ++ { ++ // Remove [ and ]. ++ currentSectionName = QString::fromUtf8(line.mid(1, line.length() - 2)); ++ } ++ else if(int equalsPos = line.indexOf('='); equalsPos > 0) // Key=Value ++ { ++ const auto key = QString::fromUtf8(line.left(equalsPos)); ++ ++ // Read the value, handle escape sequences ++ auto valueBytes = line.mid(equalsPos + 1); ++ valueBytes.replace("\\s", " ").replace("\\n", "\n"); ++ valueBytes.replace("\\t", "\t").replace("\\r", "\r"); ++ valueBytes.replace("\\\\", "\\"); ++ ++ auto value = QString::fromUtf8(valueBytes); ++ map.insert(currentSectionName + QLatin1Char('/') + key, value); ++ } ++ } ++ ++ return true; ++ } ++ public: ++ // Register the .desktop file format if necessary, return its id. ++ static QSettings::Format format() ++ { ++ static QSettings::Format s_format = QSettings::InvalidFormat; ++ if (s_format == QSettings::InvalidFormat) ++ s_format = QSettings::registerFormat(QStringLiteral("desktop"), ++ DesktopFileFormat::readFunc, nullptr, ++ Qt::CaseSensitive); ++ ++ return s_format; ++ } ++ }; ++ + Session::Session() + : m_valid(false) + , m_type(UnknownSession) +@@ -169,7 +219,7 @@ namespace SDDM { + if (!file.isOpen()) + return; + +- QSettings settings(m_fileName, QSettings::IniFormat); ++ QSettings settings(m_fileName, DesktopFileFormat::format()); + #if QT_VERSION < QT_VERSION_CHECK(6, 0, 0) + settings.setIniCodec("UTF-8"); + #endif diff --git a/x11-misc/sddm/sddm-0.19.0_p20230608.ebuild b/x11-misc/sddm/sddm-0.19.0_p20230608.ebuild deleted file mode 100644 index 40d21b378104..000000000000 --- a/x11-misc/sddm/sddm-0.19.0_p20230608.ebuild +++ /dev/null @@ -1,137 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -COMMIT=40250a647291ea0cf587631c79f61903ced075e3 -if [[ ${PV} == *9999* ]]; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/${PN}/${PN}.git" -else - SRC_URI="https://github.com/${PN}/${PN}/archive/${COMMIT}.tar.gz -> ${P}.tar.gz" - S="${WORKDIR}/${PN}-${COMMIT}" - KEYWORDS="" -fi - -QTMIN=5.15.2 -inherit cmake linux-info optfeature systemd tmpfiles - -DESCRIPTION="Simple Desktop Display Manager" -HOMEPAGE="https://github.com/sddm/sddm" - -LICENSE="GPL-2+ MIT CC-BY-3.0 CC-BY-SA-3.0 public-domain" -SLOT="0" -IUSE="+elogind systemd test" - -REQUIRED_USE="^^ ( elogind systemd )" -RESTRICT="!test? ( test )" - -COMMON_DEPEND=" - acct-group/sddm - acct-user/sddm - >=dev-qt/qtcore-${QTMIN}:5 - >=dev-qt/qtdbus-${QTMIN}:5 - >=dev-qt/qtdeclarative-${QTMIN}:5 - >=dev-qt/qtgui-${QTMIN}:5 - >=dev-qt/qtnetwork-${QTMIN}:5 - sys-libs/pam - x11-libs/libXau - x11-libs/libxcb:= - elogind? ( sys-auth/elogind[pam] ) - systemd? ( sys-apps/systemd:=[pam] ) - !systemd? ( sys-power/upower ) -" -DEPEND="${COMMON_DEPEND} - test? ( >=dev-qt/qttest-${QTMIN}:5 ) -" -RDEPEND="${COMMON_DEPEND} - !systemd? ( gui-libs/display-manager-init ) -" -BDEPEND=" - dev-python/docutils - >=dev-qt/linguist-tools-${QTMIN}:5 - kde-frameworks/extra-cmake-modules:5 - virtual/pkgconfig -" - -PATCHES=( - # Downstream patches - "${FILESDIR}/${PN}-0.20.0-respect-user-flags.patch" - "${FILESDIR}/${PN}-0.18.1-Xsession.patch" # bug 611210 - "${FILESDIR}/${PN}-0.20.0-sddm.pam-use-substack.patch" # bug 728550 - "${FILESDIR}/${PN}-0.20.0-disable-etc-debian-check.patch" - "${FILESDIR}/${PN}-0.20.0-no-default-pam_systemd-module.patch" # bug 669980 -) - -pkg_setup() { - local CONFIG_CHECK="~DRM" - use kernel_linux && linux-info_pkg_setup -} - -src_prepare() { - touch 01gentoo.conf || die - -cat <<-EOF >> 01gentoo.conf -[General] -# Remove qtvirtualkeyboard as InputMethod default -InputMethod= -EOF - - cmake_src_prepare - - if ! use test; then - sed -e "/^find_package/s/ Test//" -i CMakeLists.txt || die - cmake_comment_add_subdirectory test - fi -} - -src_configure() { - local mycmakeargs=( - -DBUILD_MAN_PAGES=ON - -DDBUS_CONFIG_FILENAME="org.freedesktop.sddm.conf" - -DRUNTIME_DIR=/run/sddm - -DSYSTEMD_TMPFILES_DIR="/usr/lib/tmpfiles.d" - -DNO_SYSTEMD=$(usex !systemd) - -DUSE_ELOGIND=$(usex elogind) - ) - cmake_src_configure -} - -src_install() { - cmake_src_install - - insinto /etc/sddm.conf.d/ - doins "${S}"/01gentoo.conf -} - -pkg_postinst() { - tmpfiles_process "${PN}.conf" - - elog "NOTE: If SDDM startup appears to hang then entropy pool is too low." - elog "This can be fixed by configuring one of the following:" - elog " - Enable CONFIG_RANDOM_TRUST_CPU in linux kernel" - elog " - # emerge sys-apps/haveged && rc-update add haveged boot" - elog " - # emerge sys-apps/rng-tools && rc-update add rngd boot" - elog - elog "SDDM example config can be shown with:" - elog " ${EROOT}/usr/bin/sddm --example-config" - elog "Use ${EROOT}/etc/sddm.conf.d/ directory to override specific options." - elog - elog "For more information on how to configure SDDM, please visit the wiki:" - elog " https://wiki.gentoo.org/wiki/SDDM" - if has_version x11-drivers/nvidia-drivers; then - elog - elog " Nvidia GPU owners in particular should pay attention" - elog " to the troubleshooting section." - fi - - optfeature "X11 DisplayServer support" x11-base/xorg-server - optfeature "Weston DisplayServer support (EXPERIMENTAL)" dev-libs/weston - optfeature "KWin DisplayServer support (EXPERIMENTAL)" kde-plasma/kwin - - if has_version x11-base/xorg-server; then - ewarn "SDDM version no longer pulls in x11-base/xorg-server via USE=X." - fi - - systemd_reenable sddm.service -} diff --git a/x11-misc/sddm/sddm-0.20.0.ebuild b/x11-misc/sddm/sddm-0.20.0.ebuild new file mode 100644 index 000000000000..7d246cd0dea3 --- /dev/null +++ b/x11-misc/sddm/sddm-0.20.0.ebuild @@ -0,0 +1,132 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +if [[ ${PV} == *9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/${PN}/${PN}.git" +else + SRC_URI="https://github.com/${PN}/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86" +fi + +QTMIN=5.15.2 +inherit cmake linux-info optfeature systemd tmpfiles + +DESCRIPTION="Simple Desktop Display Manager" +HOMEPAGE="https://github.com/sddm/sddm" + +LICENSE="GPL-2+ MIT CC-BY-3.0 CC-BY-SA-3.0 public-domain" +SLOT="0" +IUSE="+elogind systemd test" + +REQUIRED_USE="^^ ( elogind systemd )" +RESTRICT="!test? ( test )" + +COMMON_DEPEND=" + acct-group/sddm + acct-user/sddm + >=dev-qt/qtcore-${QTMIN}:5 + >=dev-qt/qtdbus-${QTMIN}:5 + >=dev-qt/qtdeclarative-${QTMIN}:5 + >=dev-qt/qtgui-${QTMIN}:5 + >=dev-qt/qtnetwork-${QTMIN}:5 + sys-libs/pam + x11-libs/libXau + x11-libs/libxcb:= + elogind? ( sys-auth/elogind[pam] ) + systemd? ( sys-apps/systemd:=[pam] ) + !systemd? ( sys-power/upower ) +" +DEPEND="${COMMON_DEPEND} + test? ( >=dev-qt/qttest-${QTMIN}:5 ) +" +RDEPEND="${COMMON_DEPEND} + x11-base/xorg-server + !systemd? ( gui-libs/display-manager-init ) +" +BDEPEND=" + dev-python/docutils + >=dev-qt/linguist-tools-${QTMIN}:5 + kde-frameworks/extra-cmake-modules:5 + virtual/pkgconfig +" + +PATCHES=( + # Downstream patches + "${FILESDIR}/${P}-respect-user-flags.patch" + "${FILESDIR}/${PN}-0.18.1-Xsession.patch" # bug 611210 + "${FILESDIR}/${P}-sddm.pam-use-substack.patch" # bug 728550 + "${FILESDIR}/${P}-disable-etc-debian-check.patch" + "${FILESDIR}/${P}-no-default-pam_systemd-module.patch" # bug 669980 + "${FILESDIR}/${P}-fix-use-development-sessions.patch" # git master +) + +pkg_setup() { + local CONFIG_CHECK="~DRM" + use kernel_linux && linux-info_pkg_setup +} + +src_prepare() { + touch 01gentoo.conf || die + +cat <<-EOF >> 01gentoo.conf +[General] +# Remove qtvirtualkeyboard as InputMethod default +InputMethod= +EOF + + cmake_src_prepare + + if ! use test; then + sed -e "/^find_package/s/ Test//" -i CMakeLists.txt || die + cmake_comment_add_subdirectory test + fi +} + +src_configure() { + local mycmakeargs=( + -DBUILD_MAN_PAGES=ON + -DDBUS_CONFIG_FILENAME="org.freedesktop.sddm.conf" + -DRUNTIME_DIR=/run/sddm + -DSYSTEMD_TMPFILES_DIR="/usr/lib/tmpfiles.d" + -DNO_SYSTEMD=$(usex !systemd) + -DUSE_ELOGIND=$(usex elogind) + ) + cmake_src_configure +} + +src_install() { + cmake_src_install + + insinto /etc/sddm.conf.d/ + doins "${S}"/01gentoo.conf +} + +pkg_postinst() { + tmpfiles_process "${PN}.conf" + + elog "NOTE: If SDDM startup appears to hang then entropy pool is too low." + elog "This can be fixed by configuring one of the following:" + elog " - Enable CONFIG_RANDOM_TRUST_CPU in linux kernel" + elog " - # emerge sys-apps/haveged && rc-update add haveged boot" + elog " - # emerge sys-apps/rng-tools && rc-update add rngd boot" + elog + elog "SDDM example config can be shown with:" + elog " ${EROOT}/usr/bin/sddm --example-config" + elog "Use ${EROOT}/etc/sddm.conf.d/ directory to override specific options." + elog + elog "For more information on how to configure SDDM, please visit the wiki:" + elog " https://wiki.gentoo.org/wiki/SDDM" + if has_version x11-drivers/nvidia-drivers; then + elog + elog " Nvidia GPU owners in particular should pay attention" + elog " to the troubleshooting section." + fi + + optfeature "Weston DisplayServer support (EXPERIMENTAL)" dev-libs/weston + optfeature "KWin DisplayServer support (EXPERIMENTAL)" kde-plasma/kwin + + systemd_reenable sddm.service +} -- cgit v1.2.3