git: c1163c525aef - main - x11/sddm: Update to 0.21.0

From: Jason E. Hale <jhale_at_FreeBSD.org>
Date: Fri, 17 May 2024 08:51:10 UTC
The branch main has been updated by jhale:

URL: https://cgit.FreeBSD.org/ports/commit/?id=c1163c525aef7b7ff4b16f9f1364838af5edb472

commit c1163c525aef7b7ff4b16f9f1364838af5edb472
Author:     Jason E. Hale <jhale@FreeBSD.org>
AuthorDate: 2024-05-17 05:25:26 +0000
Commit:     Jason E. Hale <jhale@FreeBSD.org>
CommitDate: 2024-05-17 08:51:03 +0000

    x11/sddm: Update to 0.21.0
    
    Sticking with Qt5 for now. The Qt6 version basically works, i.e., it
    starts up and one can effectively log in, but it doesn't seem to respect
    the user-selected theme. More investigation is required to this point.
    
    The requirement of ECM has thankfully been dropped.
    
    Disable the qtvirtualkeyboard InputMethod by default as it doesn't seem
    to work properly under Qt5 for any included theme, even in the previous
    version, displaying only a black box covering half of the screen where
    the virtual keyboard should be. The breeze theme (installed by
    x11/plasma(5|6)-plasma-workspace) supresses this behavior, and is IMHO
    the most intuitive theme to use, but when the 'virtual keyboard' button
    is clicked, a black box still appears. This change removes that button,
    elimitating further user confusion. Even when working properly under Qt6,
    it is an annoyance, at best, to be bombarded by a virtual keyboard when
    a physical keyboard is present. My impression is, the vast majority of
    FreeBSD users are likely to be using a physical keyboard by default and
    don't want to be bothered by clicking down a functional virtual keyboard
    or to be confused by a black box taking up half of the screen.
    
    Patch self-installed files using the ports framework instead of using
    eyebrow-raising incantations that lead to staging errors. It's generally
    not a good idea to use REINPLACE_CMD on STAGEDIR as it leaves unwanted
    *.bak files.
    
    https://github.com/sddm/sddm/releases/tag/v0.21.0
---
 x11/sddm/Makefile                                  | 16 ++--
 x11/sddm/distinfo                                  |  6 +-
 x11/sddm/files/sddm.conf.default                   |  2 +
 x11/sddm/files/{xinit-session => xinit-session.in} |  6 +-
 x11/sddm/pkg-plist                                 | 90 +++++++++++-----------
 5 files changed, 62 insertions(+), 58 deletions(-)

diff --git a/x11/sddm/Makefile b/x11/sddm/Makefile
index dce6dd4b0339..27f3009d37b6 100644
--- a/x11/sddm/Makefile
+++ b/x11/sddm/Makefile
@@ -1,6 +1,5 @@
 PORTNAME=	sddm
-PORTVERSION=	0.20.0
-PORTREVISION=	3
+PORTVERSION=	0.21.0
 DISTVERSIONPREFIX=	v
 CATEGORIES=	x11
 
@@ -23,10 +22,9 @@ RUN_DEPENDS=	consolekit2>1.2.5:sysutils/consolekit2 \
 		xauth:x11/xauth \
 		xmessage:x11/xmessage
 
-USES=		cmake compiler:c++11-lang cpe kde:5 pkgconfig python:build qt:5 xorg
+USES=		cmake compiler:c++17-lang cpe pkgconfig python:build qt:5 xorg
 CPE_VENDOR=	${PORTNAME}_project
 USE_GITHUB=	yes
-USE_KDE=	ecm:build
 USE_QT=		core declarative dbus gui network \
 		buildtools:build linguisttools:build declarative-test:build \
 		qmake:build testlib:build
@@ -43,7 +41,8 @@ CMAKE_ARGS=	-DUID_MIN=1000 \
 		-DSDDM_INITIAL_VT=7
 
 USE_RC_SUBR=	sddm
-SUB_FILES=	xinitrc.desktop
+SUB_FILES=	xinit-session \
+		xinitrc.desktop
 
 USERS=		sddm
 GROUPS=		sddm
@@ -54,14 +53,15 @@ post-patch:
 		-e 's#/usr/share/#${LOCALBASE}/share/#' \
 		-e 's#%%LOCALBASE%%#${LOCALBASE}#g' \
 		${WRKSRC}/data/scripts/Xsession \
-		${WRKSRC}/src/common/Configuration.h
+		${WRKSRC}/src/common/Configuration.h \
+		${WRKSRC}/src/greeter/waylandkeyboardbackend.cpp
 
 post-install:
 # Install xsession.desktop to launch .xinitrc via sddm.
 	${MKDIR} ${STAGEDIR}${PREFIX}/share/xsessions
+	${INSTALL_DATA} ${FILESDIR}/sddm.conf.default ${STAGEDIR}${PREFIX}/etc
 	${INSTALL_DATA} ${WRKDIR}/xinitrc.desktop ${STAGEDIR}${PREFIX}/share/xsessions
-	${INSTALL_SCRIPT} ${FILESDIR}/xinit-session ${STAGEDIR}${PREFIX}/share/sddm/scripts
-	${REINPLACE_CMD} -e 's#@@LOCALBASE@@#${LOCALBASE}#' ${STAGEDIR}${PREFIX}/share/sddm/scripts/xinit-session
+	${INSTALL_SCRIPT} ${WRKDIR}/xinit-session ${STAGEDIR}${PREFIX}/share/sddm/scripts
 	${MV} ${STAGEDIR}${PREFIX}/etc/pam.d/sddm ${STAGEDIR}${PREFIX}/etc/pam.d/sddm.default
 	${MV} ${STAGEDIR}${PREFIX}/etc/pam.d/sddm-autologin ${STAGEDIR}${PREFIX}/etc/pam.d/sddm-autologin.default
 	${MV} ${STAGEDIR}${PREFIX}/etc/pam.d/sddm-greeter ${STAGEDIR}${PREFIX}/etc/pam.d/sddm-greeter.default
diff --git a/x11/sddm/distinfo b/x11/sddm/distinfo
index 22293e126b67..afd4571f2ddc 100644
--- a/x11/sddm/distinfo
+++ b/x11/sddm/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1689196955
-SHA256 (sddm-sddm-v0.20.0_GH0.tar.gz) = 467c8bd91e0d4f76d4bc4e57ab334f1f48a33478482ba9476d93b0b3d7ace9fb
-SIZE (sddm-sddm-v0.20.0_GH0.tar.gz) = 3552722
+TIMESTAMP = 1715911035
+SHA256 (sddm-sddm-v0.21.0_GH0.tar.gz) = f895de2683627e969e4849dbfbbb2b500787481ca5ba0de6d6dfdae5f1549abf
+SIZE (sddm-sddm-v0.21.0_GH0.tar.gz) = 3557266
diff --git a/x11/sddm/files/sddm.conf.default b/x11/sddm/files/sddm.conf.default
new file mode 100644
index 000000000000..585e4bae106c
--- /dev/null
+++ b/x11/sddm/files/sddm.conf.default
@@ -0,0 +1,2 @@
+# Disable virtual keyboard by default
+InputMethod=""
diff --git a/x11/sddm/files/xinit-session b/x11/sddm/files/xinit-session.in
similarity index 76%
rename from x11/sddm/files/xinit-session
rename to x11/sddm/files/xinit-session.in
index d10125d73770..d9b9cbb107b1 100644
--- a/x11/sddm/files/xinit-session
+++ b/x11/sddm/files/xinit-session.in
@@ -7,9 +7,9 @@
 
 RC="$HOME/.xinitrc"
 if [ ! -f "$RC" ] ; then
-	RC="@@LOCALBASE@@/etc/X11/xinit/xinitrc"
+	RC="%%LOCALBASE%%/etc/X11/xinit/xinitrc"
 	# But that one needs at least xterm to do something useful
-	if [ ! -x @@LOCALBASE@@/bin/xterm ] ; then
+	if [ ! -x %%LOCALBASE%%/bin/xterm ] ; then
 		RC=""
 	fi
 fi
@@ -18,5 +18,5 @@ if [ -n "$RC" -a -f "$RC" ] ; then
 	test -x "$RC" && exec "$RC"
 	test -f "$RC" && exec /bin/sh "$RC"
 else
-	exec @@LOCALBASE@@/bin/xmessage -geometry +0+0 "There is no user-session or usable default with xterm"
+	exec %%LOCALBASE%%/bin/xmessage -geometry +0+0 "There is no user-session or usable default with xterm"
 fi
diff --git a/x11/sddm/pkg-plist b/x11/sddm/pkg-plist
index bc24fd18f449..dce3f0959ab0 100644
--- a/x11/sddm/pkg-plist
+++ b/x11/sddm/pkg-plist
@@ -1,9 +1,9 @@
 bin/sddm
 bin/sddm-greeter
-etc/dbus-1/system.d/org.freedesktop.DisplayManager.conf
 @sample etc/pam.d/sddm.default etc/pam.d/sddm
 @sample etc/pam.d/sddm-autologin.default etc/pam.d/sddm-autologin
 @sample etc/pam.d/sddm-greeter.default etc/pam.d/sddm-greeter
+@sample etc/sddm.conf.default etc/sddm.conf
 %%QT_QMLDIR%%/SddmComponents/Background.qml
 %%QT_QMLDIR%%/SddmComponents/Button.qml
 %%QT_QMLDIR%%/SddmComponents/Clock.qml
@@ -20,6 +20,7 @@ etc/dbus-1/system.d/org.freedesktop.DisplayManager.conf
 libexec/sddm-helper
 libexec/sddm-helper-start-wayland
 libexec/sddm-helper-start-x11user
+share/dbus-1/system.d/org.freedesktop.DisplayManager.conf
 share/man/man1/sddm-greeter.1.gz
 share/man/man1/sddm.1.gz
 share/man/man5/sddm-state.conf.5.gz
@@ -151,47 +152,48 @@ share/man/man5/sddm.conf.5.gz
 %%DATADIR%%/themes/maya/metadata.desktop
 %%DATADIR%%/themes/maya/screenshots/hi_IN.png
 %%DATADIR%%/themes/maya/theme.conf
-%%DATADIR%%/translations/ar.qm
-%%DATADIR%%/translations/bn.qm
-%%DATADIR%%/translations/ca.qm
-%%DATADIR%%/translations/cs.qm
-%%DATADIR%%/translations/da.qm
-%%DATADIR%%/translations/de.qm
-%%DATADIR%%/translations/es.qm
-%%DATADIR%%/translations/et.qm
-%%DATADIR%%/translations/eu.qm
-%%DATADIR%%/translations/fi.qm
-%%DATADIR%%/translations/fr.qm
-%%DATADIR%%/translations/gl.qm
-%%DATADIR%%/translations/he.qm
-%%DATADIR%%/translations/hi_IN.qm
-%%DATADIR%%/translations/hu.qm
-%%DATADIR%%/translations/ie.qm
-%%DATADIR%%/translations/is.qm
-%%DATADIR%%/translations/it.qm
-%%DATADIR%%/translations/ja.qm
-%%DATADIR%%/translations/ka.qm
-%%DATADIR%%/translations/kk.qm
-%%DATADIR%%/translations/ko.qm
-%%DATADIR%%/translations/lt.qm
-%%DATADIR%%/translations/lv.qm
-%%DATADIR%%/translations/nb.qm
-%%DATADIR%%/translations/nl.qm
-%%DATADIR%%/translations/nn.qm
-%%DATADIR%%/translations/oc.qm
-%%DATADIR%%/translations/pl.qm
-%%DATADIR%%/translations/pt_BR.qm
-%%DATADIR%%/translations/pt_PT.qm
-%%DATADIR%%/translations/ro.qm
-%%DATADIR%%/translations/ru.qm
-%%DATADIR%%/translations/sk.qm
-%%DATADIR%%/translations/sr.qm
-%%DATADIR%%/translations/sr@ijekavian.qm
-%%DATADIR%%/translations/sr@ijekavianlatin.qm
-%%DATADIR%%/translations/sr@latin.qm
-%%DATADIR%%/translations/sv.qm
-%%DATADIR%%/translations/tr.qm
-%%DATADIR%%/translations/uk.qm
-%%DATADIR%%/translations/zh_CN.qm
-%%DATADIR%%/translations/zh_TW.qm
+%%DATADIR%%/translations-qt5/ar.qm
+%%DATADIR%%/translations-qt5/bg.qm
+%%DATADIR%%/translations-qt5/bn.qm
+%%DATADIR%%/translations-qt5/ca.qm
+%%DATADIR%%/translations-qt5/cs.qm
+%%DATADIR%%/translations-qt5/da.qm
+%%DATADIR%%/translations-qt5/de.qm
+%%DATADIR%%/translations-qt5/es.qm
+%%DATADIR%%/translations-qt5/et.qm
+%%DATADIR%%/translations-qt5/eu.qm
+%%DATADIR%%/translations-qt5/fi.qm
+%%DATADIR%%/translations-qt5/fr.qm
+%%DATADIR%%/translations-qt5/gl.qm
+%%DATADIR%%/translations-qt5/he.qm
+%%DATADIR%%/translations-qt5/hi_IN.qm
+%%DATADIR%%/translations-qt5/hu.qm
+%%DATADIR%%/translations-qt5/ie.qm
+%%DATADIR%%/translations-qt5/is.qm
+%%DATADIR%%/translations-qt5/it.qm
+%%DATADIR%%/translations-qt5/ja.qm
+%%DATADIR%%/translations-qt5/ka.qm
+%%DATADIR%%/translations-qt5/kk.qm
+%%DATADIR%%/translations-qt5/ko.qm
+%%DATADIR%%/translations-qt5/lt.qm
+%%DATADIR%%/translations-qt5/lv.qm
+%%DATADIR%%/translations-qt5/nb.qm
+%%DATADIR%%/translations-qt5/nl.qm
+%%DATADIR%%/translations-qt5/nn.qm
+%%DATADIR%%/translations-qt5/oc.qm
+%%DATADIR%%/translations-qt5/pl.qm
+%%DATADIR%%/translations-qt5/pt_BR.qm
+%%DATADIR%%/translations-qt5/pt_PT.qm
+%%DATADIR%%/translations-qt5/ro.qm
+%%DATADIR%%/translations-qt5/ru.qm
+%%DATADIR%%/translations-qt5/sk.qm
+%%DATADIR%%/translations-qt5/sr.qm
+%%DATADIR%%/translations-qt5/sr@ijekavian.qm
+%%DATADIR%%/translations-qt5/sr@ijekavianlatin.qm
+%%DATADIR%%/translations-qt5/sr@latin.qm
+%%DATADIR%%/translations-qt5/sv.qm
+%%DATADIR%%/translations-qt5/tr.qm
+%%DATADIR%%/translations-qt5/uk.qm
+%%DATADIR%%/translations-qt5/zh_CN.qm
+%%DATADIR%%/translations-qt5/zh_TW.qm
 share/xsessions/xinitrc.desktop