pkgsrc-Changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
CVS commit: pkgsrc/x11/sddm
Module Name: pkgsrc
Committed By: gutteridge
Date: Tue Dec 30 04:00:09 UTC 2025
Added Files:
pkgsrc/x11/sddm: DESCR Makefile PLIST distinfo options.mk
pkgsrc/x11/sddm/files: sddm.sh xinit-session
pkgsrc/x11/sddm/files/xsessions: ctwm.desktop xinitrc.desktop
pkgsrc/x11/sddm/patches: patch-CMakeLists.txt
patch-data_man_sddm.conf.rst.in patch-data_themes_CMakeLists.txt
patch-services_CMakeLists.txt patch-src_common_Configuration.h
patch-src_common_VirtualTerminal.cpp patch-src_common_XAuth.cpp
patch-src_daemon_LogindDBusTypes.cpp patch-src_helper_Backend.cpp
patch-src_helper_CMakeLists.txt patch-src_helper_HelperApp.cpp
patch-src_helper_UserSession.cpp
Log Message:
x11/sddm: add new package, version 0.21.0
Packaged in wip by Stepan Ipatov. (Review and minor changes by me.)
SDDM is a modern display manager for X11 and Wayland aiming to be fast,
simple and beautiful. It uses modern technologies like QtQuick, which in
turn gives the designer the ability to create smooth, animated user interfaces.
SDDM is extremely themeable. We put no restrictions on the user interface
design, it is completely up to the designer. We simply provide a few callbacks
to the user interface which can be used for authentication, suspend, etc.
To generate a diff of this commit:
cvs rdiff -u -r0 -r1.1 pkgsrc/x11/sddm/DESCR pkgsrc/x11/sddm/Makefile \
pkgsrc/x11/sddm/PLIST pkgsrc/x11/sddm/distinfo pkgsrc/x11/sddm/options.mk
cvs rdiff -u -r0 -r1.1 pkgsrc/x11/sddm/files/sddm.sh \
pkgsrc/x11/sddm/files/xinit-session
cvs rdiff -u -r0 -r1.1 pkgsrc/x11/sddm/files/xsessions/ctwm.desktop \
pkgsrc/x11/sddm/files/xsessions/xinitrc.desktop
cvs rdiff -u -r0 -r1.1 pkgsrc/x11/sddm/patches/patch-CMakeLists.txt \
pkgsrc/x11/sddm/patches/patch-data_man_sddm.conf.rst.in \
pkgsrc/x11/sddm/patches/patch-data_themes_CMakeLists.txt \
pkgsrc/x11/sddm/patches/patch-services_CMakeLists.txt \
pkgsrc/x11/sddm/patches/patch-src_common_Configuration.h \
pkgsrc/x11/sddm/patches/patch-src_common_VirtualTerminal.cpp \
pkgsrc/x11/sddm/patches/patch-src_common_XAuth.cpp \
pkgsrc/x11/sddm/patches/patch-src_daemon_LogindDBusTypes.cpp \
pkgsrc/x11/sddm/patches/patch-src_helper_Backend.cpp \
pkgsrc/x11/sddm/patches/patch-src_helper_CMakeLists.txt \
pkgsrc/x11/sddm/patches/patch-src_helper_HelperApp.cpp \
pkgsrc/x11/sddm/patches/patch-src_helper_UserSession.cpp
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Added files:
Index: pkgsrc/x11/sddm/DESCR
diff -u /dev/null pkgsrc/x11/sddm/DESCR:1.1
--- /dev/null Tue Dec 30 04:00:10 2025
+++ pkgsrc/x11/sddm/DESCR Tue Dec 30 04:00:08 2025
@@ -0,0 +1,7 @@
+SDDM is a modern display manager for X11 and Wayland aiming to be fast,
+simple and beautiful. It uses modern technologies like QtQuick, which in
+turn gives the designer the ability to create smooth, animated user interfaces.
+
+SDDM is extremely themeable. We put no restrictions on the user interface
+design, it is completely up to the designer. We simply provide a few callbacks
+to the user interface which can be used for authentication, suspend, etc.
Index: pkgsrc/x11/sddm/Makefile
diff -u /dev/null pkgsrc/x11/sddm/Makefile:1.1
--- /dev/null Tue Dec 30 04:00:10 2025
+++ pkgsrc/x11/sddm/Makefile Tue Dec 30 04:00:08 2025
@@ -0,0 +1,94 @@
+# $NetBSD: Makefile,v 1.1 2025/12/30 04:00:08 gutteridge Exp $
+
+DISTNAME= sddm-0.21.0
+CATEGORIES= x11
+MASTER_SITES= ${MASTER_SITE_GITHUB:=sddm/}
+GITHUB_TAG= refs/tags/v${PKGVERSION_NOREV}
+
+MAINTAINER= pkgsrc-users%NetBSD.org@localhost
+HOMEPAGE= https://github.com/sddm/sddm
+COMMENT= QML-based X11 and Wayland display manager
+LICENSE= gnu-gpl-v2 AND gnu-gpl-v3
+
+WRKSRC= ${WRKDIR}/${DISTNAME}
+
+USE_LANGUAGES= c c++
+USE_CXX_FEATURES+= c++17
+USE_TOOLS+= pkg-config
+
+.if !exists(/etc/login.defs)
+CMAKE_CONFIGURE_ARGS+= -DUID_MIN=1000
+CMAKE_CONFIGURE_ARGS+= -DUID_MAX=65000
+.endif
+CMAKE_CONFIGURE_ARGS+= -DDBUS_CONFIG_DIR=${PREFIX}/share/examples/sddm
+CMAKE_CONFIGURE_ARGS+= -DCMAKE_INSTALL_SYSCONFDIR:PATH=${PKG_SYSCONFDIR:Q}
+CMAKE_CONFIGURE_ARGS+= -DBUILD_MAN_PAGES=ON
+CMAKE_CONFIGURE_ARGS+= -DRST2MAN_EXECUTABLE=${PREFIX}/bin/rst2man-${PYVERSSUFFIX}
+
+TOOL_DEPENDS+= extra-cmake-modules-[0-9]*:../../devel/extra-cmake-modules
+TOOL_DEPENDS+= ${PYPKGPREFIX}-docutils-[0-9]*:../../textproc/py-docutils
+
+.include "options.mk"
+.include "../../mk/bsd.prefs.mk"
+
+.if ${OPSYS} != "Linux"
+CMAKE_CONFIGURE_ARGS+= -DENABLE_JOURNALD=OFF
+CMAKE_CONFIGURE_ARGS+= -DNO_SYSTEMD=ON
+.endif
+
+.if ${OPSYS} == "NetBSD"
+CMAKE_CONFIGURE_ARGS+= -DSDDM_INITIAL_VT=5
+.endif
+
+.if ${OPSYS} == "FreeBSD"
+CMAKE_CONFIGURE_ARGS+= -DSDDM_INITIAL_VT=7
+.endif
+
+SUBST_CLASSES+= vars
+SUBST_STAGE.vars= pre-configure
+SUBST_MESSAGE.vars= Fix hard-coded absolute paths.
+SUBST_FILES.vars= src/common/Configuration.h
+SUBST_FILES.vars+= data/man/sddm.conf.rst.in
+SUBST_VARS.vars= PREFIX X11BASE
+
+SUBST_CLASSES+= paths
+SUBST_STAGE.paths= pre-configure
+SUBST_MESSAGE.paths= Set path to sddm executable.
+SUBST_FILES.paths= ../xinitrc.desktop
+SUBST_VARS.paths= PREFIX
+
+BUILD_DEFS+= VARBASE
+SDDM_GROUP= sddm
+SDDM_USER= sddm
+SDDM_HOME= ${VARBASE}/lib/sddm
+PKG_GROUPS_VARS+= SMDM_GROUP
+PKG_USERS_VARS+= SDDM_USER
+PKG_GROUPS= ${SDDM_GROUP}
+PKG_USERS= ${SDDM_USER}:${SDDM_GROUP}
+PKG_GECOS.${SDDM_USER}= SDDM user
+PKG_HOME.${SDDM_USER}= ${SDDM_HOME}
+
+OWN_DIRS_PERMS+= ${SDDM_HOME} ${SDDM_USER} ${SDDM_GROUP} 0770
+
+.if ${INIT_SYSTEM} == "rc.d"
+DEPENDS+= daemonize-[0-9]*:../../sysutils/daemonize
+RCD_SCRIPTS+= sddm
+.endif
+
+INSTALLATION_DIRS+= share/xsessions
+
+post-extract:
+ ${CP} ${FILESDIR}/xsessions/xinitrc.desktop ${WRKDIR}/xinitrc.desktop
+
+post-install:
+ ${INSTALL_DATA} ${FILESDIR}/xsessions/ctwm.desktop ${DESTDIR}${PREFIX}/share/xsessions/ctwm.desktop
+ ${INSTALL_DATA} ${WRKDIR}/xinitrc.desktop ${DESTDIR}${PREFIX}/share/xsessions/xinitrc.desktop
+ ${INSTALL_SCRIPT} ${FILESDIR}/xinit-session ${DESTDIR}${PREFIX}/share/sddm/scripts/xinit-session
+
+PYTHON_FOR_BUILD_ONLY= yes
+.include "../../devel/cmake/build.mk"
+.include "../../lang/python/pyversion.mk"
+.include "../../sysutils/dbus/buildlink3.mk"
+.include "../../x11/libxcb/buildlink3.mk"
+.include "../../mk/pam.buildlink3.mk"
+.include "../../mk/bsd.pkg.mk"
Index: pkgsrc/x11/sddm/PLIST
diff -u /dev/null pkgsrc/x11/sddm/PLIST:1.1
--- /dev/null Tue Dec 30 04:00:10 2025
+++ pkgsrc/x11/sddm/PLIST Tue Dec 30 04:00:08 2025
@@ -0,0 +1,236 @@
+@comment $NetBSD: PLIST,v 1.1 2025/12/30 04:00:08 gutteridge Exp $
+bin/sddm
+${PLIST.qt5}bin/sddm-greeter
+${PLIST.qt6}bin/sddm-greeter-qt6
+libexec/sddm-helper
+libexec/sddm-helper-start-wayland
+libexec/sddm-helper-start-x11user
+man/man1/sddm-greeter.1
+man/man1/sddm.1
+man/man5/sddm-state.conf.5
+man/man5/sddm.conf.5
+${PLIST.qt5}qt5/qml/SddmComponents/Background.qml
+${PLIST.qt5}qt5/qml/SddmComponents/Button.qml
+${PLIST.qt5}qt5/qml/SddmComponents/Clock.qml
+${PLIST.qt5}qt5/qml/SddmComponents/ComboBox.qml
+${PLIST.qt5}qt5/qml/SddmComponents/ImageButton.qml
+${PLIST.qt5}qt5/qml/SddmComponents/LayoutBox.qml
+${PLIST.qt5}qt5/qml/SddmComponents/Menu.qml
+${PLIST.qt5}qt5/qml/SddmComponents/PasswordBox.qml
+${PLIST.qt5}qt5/qml/SddmComponents/PictureBox.qml
+${PLIST.qt5}qt5/qml/SddmComponents/TextBox.qml
+${PLIST.qt5}qt5/qml/SddmComponents/TextConstants.qml
+${PLIST.qt5}qt5/qml/SddmComponents/qmldir
+${PLIST.qt5}qt5/qml/SddmComponents/warning.png
+${PLIST.qt6}qt6/qml/SddmComponents/Background.qml
+${PLIST.qt6}qt6/qml/SddmComponents/Button.qml
+${PLIST.qt6}qt6/qml/SddmComponents/Clock.qml
+${PLIST.qt6}qt6/qml/SddmComponents/ComboBox.qml
+${PLIST.qt6}qt6/qml/SddmComponents/ImageButton.qml
+${PLIST.qt6}qt6/qml/SddmComponents/LayoutBox.qml
+${PLIST.qt6}qt6/qml/SddmComponents/Menu.qml
+${PLIST.qt6}qt6/qml/SddmComponents/PasswordBox.qml
+${PLIST.qt6}qt6/qml/SddmComponents/PictureBox.qml
+${PLIST.qt6}qt6/qml/SddmComponents/TextBox.qml
+${PLIST.qt6}qt6/qml/SddmComponents/TextConstants.qml
+${PLIST.qt6}qt6/qml/SddmComponents/qmldir
+${PLIST.qt6}qt6/qml/SddmComponents/warning.png
+share/examples/pam.d/sddm
+share/examples/pam.d/sddm-autologin
+share/examples/pam.d/sddm-greeter
+share/examples/sddm/org.freedesktop.DisplayManager.conf
+share/sddm/faces/.face.icon
+share/sddm/faces/root.face.icon
+share/sddm/flags/ae.png
+share/sddm/flags/am.png
+share/sddm/flags/ar.png
+share/sddm/flags/at.png
+share/sddm/flags/az.png
+share/sddm/flags/bd.png
+share/sddm/flags/be.png
+share/sddm/flags/bg.png
+share/sddm/flags/bh.png
+share/sddm/flags/br.png
+share/sddm/flags/by.png
+share/sddm/flags/ca.png
+share/sddm/flags/ch.png
+share/sddm/flags/cu.png
+share/sddm/flags/cz.png
+share/sddm/flags/de.png
+share/sddm/flags/dj.png
+share/sddm/flags/dk.png
+share/sddm/flags/dz.png
+share/sddm/flags/ee.png
+share/sddm/flags/eg.png
+share/sddm/flags/es.png
+share/sddm/flags/eu.png
+share/sddm/flags/fi.png
+share/sddm/flags/fr.png
+share/sddm/flags/gb.png
+share/sddm/flags/ge.png
+share/sddm/flags/gr.png
+share/sddm/flags/hr.png
+share/sddm/flags/hu.png
+share/sddm/flags/il.png
+share/sddm/flags/in.png
+share/sddm/flags/iq.png
+share/sddm/flags/is.png
+share/sddm/flags/it.png
+share/sddm/flags/jo.png
+share/sddm/flags/jp.png
+share/sddm/flags/km.png
+share/sddm/flags/kr.png
+share/sddm/flags/kw.png
+share/sddm/flags/la.png
+share/sddm/flags/lb.png
+share/sddm/flags/lt.png
+share/sddm/flags/lv.png
+share/sddm/flags/ly.png
+share/sddm/flags/ma.png
+share/sddm/flags/mk.png
+share/sddm/flags/mn.png
+share/sddm/flags/mx.png
+share/sddm/flags/nl.png
+share/sddm/flags/no.png
+share/sddm/flags/om.png
+share/sddm/flags/pl.png
+share/sddm/flags/ps.png
+share/sddm/flags/pt.png
+share/sddm/flags/qa.png
+share/sddm/flags/qc.png
+share/sddm/flags/ro.png
+share/sddm/flags/ru.png
+share/sddm/flags/sa.png
+share/sddm/flags/sd.png
+share/sddm/flags/se.png
+share/sddm/flags/si.png
+share/sddm/flags/sk.png
+share/sddm/flags/so.png
+share/sddm/flags/sr.png
+share/sddm/flags/sy.png
+share/sddm/flags/th.png
+share/sddm/flags/tn.png
+share/sddm/flags/tr.png
+share/sddm/flags/ua.png
+share/sddm/flags/uk.png
+share/sddm/flags/un.png
+share/sddm/flags/us.png
+share/sddm/flags/uy.png
+share/sddm/flags/vn.png
+share/sddm/flags/ye.png
+share/sddm/flags/yu.png
+share/sddm/flags/zz.png
+share/sddm/scripts/Xsession
+share/sddm/scripts/Xsetup
+share/sddm/scripts/Xstop
+share/sddm/scripts/wayland-session
+share/sddm/scripts/xinit-session
+share/sddm/themes/elarun/Main.qml
+share/sddm/themes/elarun/README
+share/sddm/themes/elarun/angle-down.png
+share/sddm/themes/elarun/elarun.jpg
+share/sddm/themes/elarun/images/background.png
+share/sddm/themes/elarun/images/lock.png
+share/sddm/themes/elarun/images/login_active.png
+share/sddm/themes/elarun/images/login_normal.png
+share/sddm/themes/elarun/images/rectangle.png
+share/sddm/themes/elarun/images/rectangle_overlay.png
+share/sddm/themes/elarun/images/session_normal.png
+share/sddm/themes/elarun/images/system_hibernate.png
+share/sddm/themes/elarun/images/system_reboot.png
+share/sddm/themes/elarun/images/system_shutdown.png
+share/sddm/themes/elarun/images/system_suspend.png
+share/sddm/themes/elarun/images/system_switch_user.png
+share/sddm/themes/elarun/images/user_icon.png
+share/sddm/themes/elarun/metadata.desktop
+share/sddm/themes/elarun/theme.conf
+${PLIST.qt5}share/sddm/translations-qt5/ar.qm
+${PLIST.qt5}share/sddm/translations-qt5/bg.qm
+${PLIST.qt5}share/sddm/translations-qt5/bn.qm
+${PLIST.qt5}share/sddm/translations-qt5/ca.qm
+${PLIST.qt5}share/sddm/translations-qt5/cs.qm
+${PLIST.qt5}share/sddm/translations-qt5/da.qm
+${PLIST.qt5}share/sddm/translations-qt5/de.qm
+${PLIST.qt5}share/sddm/translations-qt5/es.qm
+${PLIST.qt5}share/sddm/translations-qt5/et.qm
+${PLIST.qt5}share/sddm/translations-qt5/eu.qm
+${PLIST.qt5}share/sddm/translations-qt5/fi.qm
+${PLIST.qt5}share/sddm/translations-qt5/fr.qm
+${PLIST.qt5}share/sddm/translations-qt5/gl.qm
+${PLIST.qt5}share/sddm/translations-qt5/he.qm
+${PLIST.qt5}share/sddm/translations-qt5/hi_IN.qm
+${PLIST.qt5}share/sddm/translations-qt5/hu.qm
+${PLIST.qt5}share/sddm/translations-qt5/ie.qm
+${PLIST.qt5}share/sddm/translations-qt5/is.qm
+${PLIST.qt5}share/sddm/translations-qt5/it.qm
+${PLIST.qt5}share/sddm/translations-qt5/ja.qm
+${PLIST.qt5}share/sddm/translations-qt5/ka.qm
+${PLIST.qt5}share/sddm/translations-qt5/kk.qm
+${PLIST.qt5}share/sddm/translations-qt5/ko.qm
+${PLIST.qt5}share/sddm/translations-qt5/lt.qm
+${PLIST.qt5}share/sddm/translations-qt5/lv.qm
+${PLIST.qt5}share/sddm/translations-qt5/nb.qm
+${PLIST.qt5}share/sddm/translations-qt5/nl.qm
+${PLIST.qt5}share/sddm/translations-qt5/nn.qm
+${PLIST.qt5}share/sddm/translations-qt5/oc.qm
+${PLIST.qt5}share/sddm/translations-qt5/pl.qm
+${PLIST.qt5}share/sddm/translations-qt5/pt_BR.qm
+${PLIST.qt5}share/sddm/translations-qt5/pt_PT.qm
+${PLIST.qt5}share/sddm/translations-qt5/ro.qm
+${PLIST.qt5}share/sddm/translations-qt5/ru.qm
+${PLIST.qt5}share/sddm/translations-qt5/sk.qm
+${PLIST.qt5}share/sddm/translations-qt5/sr.qm
+${PLIST.qt5}share/sddm/translations-qt5/sr%ijekavian.qm@localhost
+${PLIST.qt5}share/sddm/translations-qt5/sr%ijekavianlatin.qm@localhost
+${PLIST.qt5}share/sddm/translations-qt5/sr%latin.qm@localhost
+${PLIST.qt5}share/sddm/translations-qt5/sv.qm
+${PLIST.qt5}share/sddm/translations-qt5/tr.qm
+${PLIST.qt5}share/sddm/translations-qt5/uk.qm
+${PLIST.qt5}share/sddm/translations-qt5/zh_CN.qm
+${PLIST.qt5}share/sddm/translations-qt5/zh_TW.qm
+${PLIST.qt6}share/sddm/translations-qt6/ar.qm
+${PLIST.qt6}share/sddm/translations-qt6/bg.qm
+${PLIST.qt6}share/sddm/translations-qt6/bn.qm
+${PLIST.qt6}share/sddm/translations-qt6/ca.qm
+${PLIST.qt6}share/sddm/translations-qt6/cs.qm
+${PLIST.qt6}share/sddm/translations-qt6/da.qm
+${PLIST.qt6}share/sddm/translations-qt6/de.qm
+${PLIST.qt6}share/sddm/translations-qt6/es.qm
+${PLIST.qt6}share/sddm/translations-qt6/et.qm
+${PLIST.qt6}share/sddm/translations-qt6/eu.qm
+${PLIST.qt6}share/sddm/translations-qt6/fi.qm
+${PLIST.qt6}share/sddm/translations-qt6/fr.qm
+${PLIST.qt6}share/sddm/translations-qt6/gl.qm
+${PLIST.qt6}share/sddm/translations-qt6/he.qm
+${PLIST.qt6}share/sddm/translations-qt6/hi_IN.qm
+${PLIST.qt6}share/sddm/translations-qt6/hu.qm
+${PLIST.qt6}share/sddm/translations-qt6/ie.qm
+${PLIST.qt6}share/sddm/translations-qt6/is.qm
+${PLIST.qt6}share/sddm/translations-qt6/it.qm
+${PLIST.qt6}share/sddm/translations-qt6/ja.qm
+${PLIST.qt6}share/sddm/translations-qt6/ka.qm
+${PLIST.qt6}share/sddm/translations-qt6/kk.qm
+${PLIST.qt6}share/sddm/translations-qt6/ko.qm
+${PLIST.qt6}share/sddm/translations-qt6/lt.qm
+${PLIST.qt6}share/sddm/translations-qt6/lv.qm
+${PLIST.qt6}share/sddm/translations-qt6/nb.qm
+${PLIST.qt6}share/sddm/translations-qt6/nl.qm
+${PLIST.qt6}share/sddm/translations-qt6/nn.qm
+${PLIST.qt6}share/sddm/translations-qt6/oc.qm
+${PLIST.qt6}share/sddm/translations-qt6/pl.qm
+${PLIST.qt6}share/sddm/translations-qt6/pt_BR.qm
+${PLIST.qt6}share/sddm/translations-qt6/pt_PT.qm
+${PLIST.qt6}share/sddm/translations-qt6/ro.qm
+${PLIST.qt6}share/sddm/translations-qt6/ru.qm
+${PLIST.qt6}share/sddm/translations-qt6/sk.qm
+${PLIST.qt6}share/sddm/translations-qt6/sr.qm
+${PLIST.qt6}share/sddm/translations-qt6/sr%ijekavian.qm@localhost
+${PLIST.qt6}share/sddm/translations-qt6/sr%ijekavianlatin.qm@localhost
+${PLIST.qt6}share/sddm/translations-qt6/sr%latin.qm@localhost
+${PLIST.qt6}share/sddm/translations-qt6/sv.qm
+${PLIST.qt6}share/sddm/translations-qt6/tr.qm
+${PLIST.qt6}share/sddm/translations-qt6/uk.qm
+${PLIST.qt6}share/sddm/translations-qt6/zh_CN.qm
+${PLIST.qt6}share/sddm/translations-qt6/zh_TW.qm
+share/xsessions/ctwm.desktop
+share/xsessions/xinitrc.desktop
Index: pkgsrc/x11/sddm/distinfo
diff -u /dev/null pkgsrc/x11/sddm/distinfo:1.1
--- /dev/null Tue Dec 30 04:00:10 2025
+++ pkgsrc/x11/sddm/distinfo Tue Dec 30 04:00:08 2025
@@ -0,0 +1,17 @@
+$NetBSD: distinfo,v 1.1 2025/12/30 04:00:08 gutteridge Exp $
+
+BLAKE2s (sddm-0.21.0.tar.gz) = 074acc30769f11b9efda7e0a6eb5a48603034170bbe4f175f9f0b579ed3e2c8e
+SHA512 (sddm-0.21.0.tar.gz) = 2e8e460e7f318f20a406dcbb1a9fa1dc78b6a5b8d888bfbbaae22b9c642dbc49cf2ac682b4ea9ed847bbafa9bdc361ba08795e59cad970088b370caaaa70f458
+Size (sddm-0.21.0.tar.gz) = 3557266 bytes
+SHA1 (patch-CMakeLists.txt) = d1110dd1eb5b30a1d888e154b65ab4bf21960162
+SHA1 (patch-data_man_sddm.conf.rst.in) = 07b99ddf63108353db0b9490521292bd38b6ed5e
+SHA1 (patch-data_themes_CMakeLists.txt) = 105647648b6b172c89cbe68e5d34136459b8e1da
+SHA1 (patch-services_CMakeLists.txt) = f271ae7044792b22d7ac7427c462400c2cb24d29
+SHA1 (patch-src_common_Configuration.h) = 67d0960dc3b8a01d3c80d3897a1fa3c7575635fe
+SHA1 (patch-src_common_VirtualTerminal.cpp) = fb3be92b0aab514abc883df6b046a0c29a9ef106
+SHA1 (patch-src_common_XAuth.cpp) = 0d828eb6adc19bf7dc69a1ca26e80b92bcc56722
+SHA1 (patch-src_daemon_LogindDBusTypes.cpp) = cd8773a37bdc89196bba67cdb0c41a8a4b416306
+SHA1 (patch-src_helper_Backend.cpp) = 7b9702880840723411b0eb19c45cb66e33b8700c
+SHA1 (patch-src_helper_CMakeLists.txt) = 5e2de779a05f6d7f9ee9d64e615c81b9c9afa409
+SHA1 (patch-src_helper_HelperApp.cpp) = 41e455b406ed948248411e746bf8e8efa65e6659
+SHA1 (patch-src_helper_UserSession.cpp) = 9f89dd07ae5d76a1c380191de1938480002f8cd5
Index: pkgsrc/x11/sddm/options.mk
diff -u /dev/null pkgsrc/x11/sddm/options.mk:1.1
--- /dev/null Tue Dec 30 04:00:10 2025
+++ pkgsrc/x11/sddm/options.mk Tue Dec 30 04:00:08 2025
@@ -0,0 +1,29 @@
+# $NetBSD: options.mk,v 1.1 2025/12/30 04:00:08 gutteridge Exp $
+
+PKG_OPTIONS_VAR= PKG_OPTIONS.sddm
+PKG_OPTIONS_REQUIRED_GROUPS+= gui
+PKG_OPTIONS_GROUP.gui= qt5 qt6
+PKG_SUGGESTED_OPTIONS+= qt6
+
+PLIST_VARS+= qt5
+PLIST_VARS+= qt6
+
+.include "../../mk/bsd.prefs.mk"
+.include "../../mk/bsd.options.mk"
+
+.if !empty(PKG_OPTIONS:Mqt5)
+PLIST.qt5= yes
+CMAKE_CONFIGURE_ARGS+= -DBUILD_WITH_QT6=OFF
+BUILDLINK_API_DEPENDS.qt5-qtbase+= qt5-qtbase>=5.15.17
+.include "../../x11/qt5-qtbase/buildlink3.mk"
+.include "../../x11/qt5-qtdeclarative/buildlink3.mk"
+.include "../../x11/qt5-qttools/buildlink3.mk"
+.endif
+
+.if !empty(PKG_OPTIONS:Mqt6)
+PLIST.qt6= yes
+CMAKE_CONFIGURE_ARGS+= -DBUILD_WITH_QT6=ON
+.include "../../x11/qt6-qtbase/buildlink3.mk"
+.include "../../lang/qt6-qtdeclarative/buildlink3.mk"
+.include "../../devel/qt6-qttools/buildlink3.mk"
+.endif
Index: pkgsrc/x11/sddm/files/sddm.sh
diff -u /dev/null pkgsrc/x11/sddm/files/sddm.sh:1.1
--- /dev/null Tue Dec 30 04:00:10 2025
+++ pkgsrc/x11/sddm/files/sddm.sh Tue Dec 30 04:00:09 2025
@@ -0,0 +1,31 @@
+#!@RCD_SCRIPTS_SHELL@
+#
+# $NetBSD: sddm.sh,v 1.1 2025/12/30 04:00:09 gutteridge Exp $
+#
+# PROVIDE: sddm
+# REQUIRE: DAEMON LOGIN wscons
+# KEYWORD: shutdown
+
+$_rc_subr_loaded . /etc/rc.subr
+
+name="sddm"
+rcvar=$name
+procname="@PREFIX@/bin/$name"
+pidfile="@VARBASE@/run/$name.pid"
+command="@PREFIX@/sbin/daemonize"
+command_args="$command_args -p $pidfile"
+command_args="$command_args $procname"
+
+start_precmd=sddm_prestart
+
+sddm_prestart() {
+ dirs="@VARBASE@/lib/$name"
+ if test ! -d $dir; then
+ /bin/mkdir -p $dir
+ /bin/chmod 0755 $dir
+ /usr/sbin/chown sddm:sddm $dir
+ fi
+}
+
+load_rc_config $name
+run_rc_command "$1"
Index: pkgsrc/x11/sddm/files/xinit-session
diff -u /dev/null pkgsrc/x11/sddm/files/xinit-session:1.1
--- /dev/null Tue Dec 30 04:00:10 2025
+++ pkgsrc/x11/sddm/files/xinit-session Tue Dec 30 04:00:09 2025
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+XINITRC="$HOME/.xinitrc"
+if [ ! -f "$XINITRC" ] ; then
+ XINITRC="/etc/X11/xinit/xinitrc"
+fi
+
+if [ -n "$XINITRC" -a -f "$XINITRC" ] ; then
+ test -x "$XINITRC" && exec "$XINITRC"
+ test -f "$XINITRC" && exec /bin/sh "$XINITRC"
+fi
Index: pkgsrc/x11/sddm/files/xsessions/ctwm.desktop
diff -u /dev/null pkgsrc/x11/sddm/files/xsessions/ctwm.desktop:1.1
--- /dev/null Tue Dec 30 04:00:10 2025
+++ pkgsrc/x11/sddm/files/xsessions/ctwm.desktop Tue Dec 30 04:00:09 2025
@@ -0,0 +1,174 @@
+[Desktop Entry]
+Type=XSession
+Exec=ctwm
+TryExec=ctwm
+Name=CTWM
+Name[af]=CTWM
+Name[ar]=CTWM
+Name[ast]=CTWM
+Name[be]=CTWM
+Name[be@latin]=CTWM
+Name[bg]=CTWM
+Name[bn]=CTWM
+Name[bn_IN]=CTWM
+Name[br]=CTWM
+Name[bs]=CTVM
+Name[ca]=CTWM
+Name[ca@valencia]=CTWM
+Name[cs]=CTWM
+Name[csb]=CTWM
+Name[cy]=CTWM
+Name[da]=CTWM
+Name[de]=CTWM
+Name[el]=CTWM
+Name[en_GB]=CTWM
+Name[eo]=TFAC
+Name[es]=CTWM
+Name[et]=CTWM
+Name[eu]=CTWM
+Name[fi]=CTWM
+Name[fr]=CTWM
+Name[fy]=CTWM
+Name[ga]=CTWM
+Name[gl]=CTWM
+Name[gu]=CTWM
+Name[he]=CTWM
+Name[hi]=सीटीडबल्यूएम
+Name[hne]=सीटीडबल्यूएम
+Name[hr]=CTWM
+Name[hsb]=CTWM
+Name[hu]=CTWM
+Name[ia]=CTWM
+Name[id]=CTWM
+Name[is]=CTWM
+Name[it]=CTWM
+Name[ja]=CTWM
+Name[ka]=CTWM
+Name[kk]=CTWM
+Name[km]=CTWM
+Name[kn]=CTWM
+Name[ko]=CTWM
+Name[ku]=CTWM
+Name[lt]=CTWM
+Name[lv]=CTWM
+Name[mai]=सीटीडबल्यूएम
+Name[mk]=CTWM
+Name[ml]=സിടിഡബ്ലിയുഎം
+Name[mr]=CTWM
+Name[ms]=CTWM
+Name[nb]=CTWM
+Name[nds]=CTWM
+Name[ne]=CTWM
+Name[nl]=CTWM
+Name[nn]=CTWM
+Name[pa]=CTWM
+Name[pl]=CTWM
+Name[pt]=CTWM
+Name[pt_BR]=CTWM
+Name[ro]=CTWM
+Name[ru]=CTWM
+Name[se]=CTWM
+Name[si]=CTWM
+Name[sk]=CTWM
+Name[sl]=CTWM
+Name[sr]=ЦТВМ
+Name[sr@ijekavian]=ЦТВМ
+Name[sr@ijekavianlatin]=CTWM
+Name[sr@latin]=CTWM
+Name[sv]=CTWM
+Name[ta]=CTWM
+Name[te]=సి టి డబ్ల్యు ఎం
+Name[tg]=CTWM
+Name[th]=CTWM
+Name[tr]=CTWM
+Name[ug]=CTWM
+Name[uk]=CTWM
+Name[uz]=CTWM
+Name[uz@cyrillic]=CTWM
+Name[vi]=CTWM
+Name[wa]=CTWM
+Name[x-test]=xxCTWMxx
+Name[zh_CN]=CTWM
+Name[zh_TW]=CTWM
+Comment=Claude's Tab Window Manager, TWM enhanced by virtual screens, etc.
+Comment[af]=Claude se Tab venster bestuurder. Dis TWM wat met virtuele skerms verbeter is
+Comment[ar]=مدير نوافذ كلود بالألسنة, TWM محسن بشاشات افتراضية وغيرها.
+Comment[ast]=Claude's Tab Window Manager, TWM ameyoráu con pantalles virtuales, etc.
+Comment[be]=Кіраўнік вокнаў з укладкамі ад Claude, TWM з падтрымкай віртуальных экранаў і інш.
+Comment[be@latin]=„Claude's Tab Window Manager”: akońnik „TWM” ź lepšymi virtualnymi ekranami
+Comment[bg]=Claude's Tab Window Manager - представлява TWM, подобрен с виртуални екрани и др.
+Comment[bn]=ক্লড-এর ট্যাব উইণ্ডো ম্যানেজার
+Comment[bs]=Claude's Tab Window Manager, TVM dopunjen virtuelnim ekranima itd.
+Comment[ca]=Gestor de finestres amb pestanyes d'en Claude, millores TWM per a pantalles virtuals, etc.
+Comment[ca@valencia]=Gestor de finestres amb pestanyes d'en Claude, millores TWM per a pantalles virtuals, etc.
+Comment[cs]=Claudův správce oken s kartami, TWM vylepšený o virtuální obrazovky a další.
+Comment[csb]=Menadżera òknów Claude, TWM zbògacony ò wirtualné pùltë, ëtp.
+Comment[cy]=Trefnydd Ffenestri Tab Claude, TWM wedi ei wella gan sgriniau rhith, ayyb.
+Comment[da]=Claude's Tab vindueshåndtering, TWM udvidet med virtuelle skærme osv.
+Comment[de]=Claudes Fenstermanager mit Unterfenstern, eine verbesserte Fassung von TWM mit virtuellen Ansichten usw.
+Comment[el]=Ο διαχειριστής παραθύρων Tab του Claude, ο TWM εμπλουτισμένος με εικονικές οθόνες, κτλ.
+Comment[en_GB]=Claude's Tab Window Manager, TWM enhanced by virtual screens, etc.
+Comment[eo]=Taba Fenestroadministrilo de Claude, TWM, bonigita per virtualaj ekranoj ktp.
+Comment[es]=Claude's Tab Window Manager, TWM mejorado con pantallas virtuales, etc.
+Comment[et]=Claude kaartidega aknahaldur, aluseks TWM, mida on täiendatud virtuaaltöölaudadega jne.
+Comment[eu]=Claude's Tab Window Manager, alegiazko pantailez eta abarrez hobetutako TWMa
+Comment[fa]=مدیر پنجره تب Claude، TWM، گسترشیافته توسط پردههای مجازی و غیره.
+Comment[fi]=Claudes Tab Window Manager, TWM, jota on parannettu esimerkiksi virtuaalityöpöydillä
+Comment[fr]=« Claude 's Tab Window Manager », TWM enrichi par des bureaux virtuels, etc.
+Comment[fy]=Claude's Tab _indow Manager, TWM útbreide mei firtuele skermen etc.
+Comment[ga]=Bainisteoir Fuinneog Tab de chuid Claude, TWM feabhsaithe le scáileáin fhíorúla, srl.
+Comment[gl]=Xestor de xanelas de Claude, TWM mellorado con pantallas virtuais etc.
+Comment[gu]=ક્લાઉડેનું ટેબ વિન્ડો વ્યવસ્થાપક, TWM વર્ચ્યુઅલ સ્ક્રિન વગેરે વડે વિસ્તૃત કરેલ.
+Comment[he]=Claude's Tab Window Manager, TWM עם שדרוג של מסכים וירטואליים וכו'
+Comment[hi]=क्लाउडे का टैब युक्त विंडो प्रबंधक, टीडबल्यूएम को आभासी स्क्रीन इत्यादि से बेहतर बनाया गया.
+Comment[hne]=क्लाउडे के टैब सहित विंडो प्रबंधक, टीडबल्यूएम ल आभासी स्क्रीन आदि से बेहतर बनाइस.
+Comment[hr]=Claudov Tab upravitelj prozora, TWM poboljšan virtualnim zaslonima, itd.
+Comment[hsb]=Claude's Tab Window Manager, TWM rozšěrjeny z wirtualnymi powjerchami atd.
+Comment[hu]=Claude lapozós ablakkezelője, lényegében a TWM, kiegészítve virtuális képernyőkkel, egyebekkel
+Comment[ia]=Claude's Tab Window Manager, TWM meliorate per schermos virtual, etc.
+Comment[id]=Claude's Tab Window Manager, TWM ditingkatkan dengan layar virtual, dll.
+Comment[is]=Tab gluggastjórinn eftir Claude sem hefur verið endurbættur með sýndarskjáum og fl.
+Comment[it]=Gestore di finestre con schede di Claude, TWM migliorato con schermi virtuali, eccetera.
+Comment[ja]=TWM に仮想デスクトップなどを強化した Claude のウィンドウマネージャ
+Comment[ka]=Claude's Tab Window Manager - TWM-ის გაუმჯობესებული ვერსია
+Comment[kk]=Claude's Tab Window Manager, TWM-ның жетілдірген нұсқасы.
+Comment[km]=កម្មវិធីគ្រប់គ្រងផ្ទាំងបង្អួចរបស់ Claude TWM ដែលបានធ្វើឲ្យប្រសើរដោយអេក្រង់និមិត្តជាដើម ។ល។
+Comment[kn]=ವಾಸ್ತವಪ್ರಾಯ ತೆರೆಗಳು ಇತ್ಯಾದಿಗಳಿಂದ ಊರ್ಜಿತಗೊಂಡ TWM ,ಕ್ಲಾಡ್ ನ ಟ್ಯಾಬ್ (ಹಾಳೆ ಆಧಾರಿತ) ಕಿಟಕಿ ವ್ಯವಸ್ಥಾಪಕ
+Comment[ko]=Claude의 탭 창 관리자. 가상 스크린 등의 기능을 가진 TWM.
+Comment[lt]=Claude kortelių langų tvarkyklė, TWM praplėsta virtualių ekranų palaikymu ir t.t.
+Comment[lv]=Claude Tab Logu Pārvaldnieks, TWM papildināts ar virtuālajiem ekrāniem, u.c.
+Comment[mai]=क्लाउडे क' टैब युक्त विंडो प्रबंधक, टीडबल्यूएम केँ आभासी स्क्रीन आदि सँ नीक बनाएल गेल.
+Comment[mk]=Claude's Tab Window Manager, TWM подобрен менаџер со виртуелни екрани итн.
+Comment[ml]=ക്ലോഡിന്റെ ടാബ് ജാലപാലകന്, വിര്ച്ച്വല് സ്ക്രീന് പോലുള്ളവ കൊണ്ടു് മെച്ചപ്പെട്ട ടിഡബ്ല്യൂഎം
+Comment[mr]=क्लाउडे चे टैब युक्त चौकट प्रबंधक, TWM ला आभासी स्क्रीन इत्यादि सह उत्तम बनविले गेले.
+Comment[nb]=Claude's Tab Window Manager, TWM forbedret med virtuelle skrivebord,osv.
+Comment[nds]=Claude's Tab Finsterpleger, TWM verbetert üm virtuelle Schriefdischen usw.
+Comment[ne]=क्लाउडको ट्याब सञ्झ्याल प्रबन्धक, अवास्तविक पर्दाद्वारा बृद्धि गरिएको TWM, आदि
+Comment[nl]=Claude's Tab Window Manager, TWM uitgebreid met virtuele schermen etc.
+Comment[nn]=Claude's Tab Window Manager, TWM med virtuelle skrivebord og andre forbetringar
+Comment[pa]=ਕਲਾਉਡੀ ਦਾ ਟੈਬ ਵਿੰਡੋ ਮੈਨੈਜਰ, TWM ਫਰਜ਼ੀ ਪਰਦਿਆਂ ਆਦਿ ਨਾਲ ਲੈੱਸ ਹੈ।
+Comment[pl]=Menadżer okien Claude, TWM wzbogacony o wirtualne pulpity, itp.
+Comment[pt]=O Tab Window Manager do Claude, um TWM melhorado com ecrãs virtuais, etc.
+Comment[pt_BR]=O gerenciador de janelas em abas do Claude, o TWM melhorado pelas telas virtuais, etc.
+Comment[ro]=Administratorul de ferestre al lui Claude, o versiune îmbunătățită de TWM cu ecrane virtuale etc.
+Comment[ru]=Claude's Tab Window Manager - улучшенная версия TWM
+Comment[se]=Claudea Tab Window Manager, TWM mas lea virtuella čállinbeavddit ja eará buorideamit.
+Comment[si]=Claude හී ටැබ් කවුළු කළමණාකරු, අතත්ය තිර හා තවත් දෑ සමඟ TWM දියුණු කර ඇත.
+Comment[sk]=Claude's Tab Window Manager, TWM rozšírený o virtuálne plochy, atď.
+Comment[sl]=Upravljalnik oken Claude's Tab, TWM izboljšan z navideznimi zasloni ipd.
+Comment[sr]=„Клодов менаџер прозора језичак“ (Claude's Tab Window Manager), ТВМ допуњен виртуелним екранима итд.
+Comment[sr@ijekavian]=„Клодов менаџер прозора језичак“ (Claude's Tab Window Manager), ТВМ допуњен виртуелним екранима итд.
+Comment[sr@ijekavianlatin]=„Klodov menadžer prozora jezičak“ (Claude's Tab Window Manager), TWM dopunjen virtuelnim ekranima itd.
+Comment[sr@latin]=„Klodov menadžer prozora jezičak“ (Claude's Tab Window Manager), TWM dopunjen virtuelnim ekranima itd.
+Comment[sv]=Claudes fönsterhanterare med flikar, TWM förbättrad med virtuella skärmar, etc.
+Comment[ta]= க்ளூடின் தத்தல் சாளர மேளாளர், TWM ஆல் மேம்படுத்தப்பட்ட மெய்நிகர் திரைகள்..
+Comment[te]=క్లాడ్యొక్క టాబ్ విండో నిర్వాహిక, TWM వర్చ్యువల్ తెరలద్వారా విస్తరించిన, మొదలైన.
+Comment[tg]=Claude's Tab Window Manager - улучшенная версия TWM
+Comment[th]=ตัวจัดการแท็บหน้าต่างของ Claude คือ TWM ที่เพิ่มความสามารถด้วยหน้าจอเสมือน และอื่นๆ
+Comment[tr]=Claude's Sekme Pencere Yöneticisi, sanal ekranlar ile TWM genişletilmiş, vs.
+Comment[ug]=Claude بەتكۈچلۈك كۆزنەك باشقۇرغۇچ، مەۋھۇم كۆزنەك قاتارلىقلار كۈچەيتىلگەن TWM.
+Comment[uk]=Claude's Tab Window Manager, TWM з підтримкою віртуальних екранів тощо.
+Comment[wa]=Li Manaedjeu des fniesses avou linwetes da Claude, TWM avou des forveyowes waitroûles, evnd.
+Comment[x-test]=xxClaude's Tab Window Manager, TWM enhanced by virtual screens, etc.xx
+Comment[zh_CN]=Claude 的标签式窗口管理器,加强了虚拟屏幕等功能的 TWM。
+Comment[zh_TW]=Claude's Tab 視窗管理程式, 基於 TWM 並加強虛擬螢幕等功能
Index: pkgsrc/x11/sddm/files/xsessions/xinitrc.desktop
diff -u /dev/null pkgsrc/x11/sddm/files/xsessions/xinitrc.desktop:1.1
--- /dev/null Tue Dec 30 04:00:10 2025
+++ pkgsrc/x11/sddm/files/xsessions/xinitrc.desktop Tue Dec 30 04:00:09 2025
@@ -0,0 +1,6 @@
+[Desktop Entry]
+Encoding=UTF-8
+Type=XSession
+Exec=@PREFIX@/share/sddm/scripts/xinit-session
+TryExec=@PREFIX@/share/sddm/scripts/xinit-session
+Name=User Session
Index: pkgsrc/x11/sddm/patches/patch-CMakeLists.txt
diff -u /dev/null pkgsrc/x11/sddm/patches/patch-CMakeLists.txt:1.1
--- /dev/null Tue Dec 30 04:00:10 2025
+++ pkgsrc/x11/sddm/patches/patch-CMakeLists.txt Tue Dec 30 04:00:09 2025
@@ -0,0 +1,24 @@
+$NetBSD: patch-CMakeLists.txt,v 1.1 2025/12/30 04:00:09 gutteridge Exp $
+
+Update the minimum required cmake version to 3.5 to avoid build
+errors on modern cmake versions.
+
+Fix the shutdown command for NetBSD.
+
+--- CMakeLists.txt.orig 2025-10-03 11:58:46.078418066 +0000
++++ CMakeLists.txt
+@@ -1,4 +1,4 @@
+-cmake_minimum_required(VERSION 3.4)
++cmake_minimum_required(VERSION 3.5)
+
+ project(SDDM)
+
+@@ -155,7 +155,7 @@ if (NOT ELOGIND_FOUND AND NOT SYSTEMD_FO
+ # Set the VT on which sddm will normally appear, and the
+ # commands for shutdown and reboot. On FreeBSD, there are
+ # normally more getty's running than on Linux.
+- if("${CMAKE_SYSTEM_NAME}" STREQUAL "FreeBSD")
++ if("${CMAKE_SYSTEM_NAME}" STREQUAL "FreeBSD" OR "${CMAKE_SYSTEM_NAME}" STREQUAL "NetBSD")
+ set(HALT_COMMAND "/sbin/shutdown -p now")
+ else()
+ set(HALT_COMMAND "/sbin/shutdown -h -P now")
Index: pkgsrc/x11/sddm/patches/patch-data_man_sddm.conf.rst.in
diff -u /dev/null pkgsrc/x11/sddm/patches/patch-data_man_sddm.conf.rst.in:1.1
--- /dev/null Tue Dec 30 04:00:10 2025
+++ pkgsrc/x11/sddm/patches/patch-data_man_sddm.conf.rst.in Tue Dec 30 04:00:09 2025
@@ -0,0 +1,47 @@
+$NetBSD: patch-data_man_sddm.conf.rst.in,v 1.1 2025/12/30 04:00:09 gutteridge Exp $
+
+Fix hardcoded absolute paths.
+
+--- data/man/sddm.conf.rst.in.orig 2025-10-06 03:46:40.665247116 +0000
++++ data/man/sddm.conf.rst.in
+@@ -114,7 +114,7 @@ OPTIONS
+
+ `ServerPath=`
+ Path of the X server.
+- Default value is "/usr/bin/X".
++ Default value is "@X11BASE@/bin/X".
+
+ `ServerArguments=`
+ Arguments to the X server.
+@@ -122,11 +122,11 @@ OPTIONS
+
+ `XephyrPath=`
+ Path of the Xephyr.
+- Default value is "/usr/bin/Xephyr".
++ Default value is "@PREFIX@/bin/Xephyr".
+
+ `SessionDir=`
+ Comma-separated list of directories containing session files.
+- Default value is "/usr/local/share/xsessions,/usr/share/xsessions".
++ Default value is "@PREFIX@/share/xsessions,/usr/share/xsessions".
+
+ `SessionCommand=`
+ Path of script to execute when starting the user session. This script
+@@ -174,7 +174,7 @@ The `UserAuthFile=` option was removed,
+
+ `SessionDir=`
+ Comma-separated list of directories containing session files.
+- Default value is "/usr/local/share/wayland-sessions,/usr/share/wayland-sessions".
++ Default value is "@PREFIX@/share/wayland-sessions,/usr/share/wayland-sessions".
+
+ `SessionCommand=`
+ Path of script to execute when starting the user session. This script
+@@ -196,7 +196,7 @@ The `UserAuthFile=` option was removed,
+ `DefaultPath=`
+ Default path to set after successfully logging in.
+ This is also where SDDM looks for programs.
+- Default value is "/usr/local/bin:/usr/bin:/bin".
++ Default value is "@PREFIX@/bin:/usr/bin:/bin".
+
+ `MinimumUid=`
+ Minimum user id of the users to be listed in the
Index: pkgsrc/x11/sddm/patches/patch-data_themes_CMakeLists.txt
diff -u /dev/null pkgsrc/x11/sddm/patches/patch-data_themes_CMakeLists.txt:1.1
--- /dev/null Tue Dec 30 04:00:10 2025
+++ pkgsrc/x11/sddm/patches/patch-data_themes_CMakeLists.txt Tue Dec 30 04:00:09 2025
@@ -0,0 +1,12 @@
+$NetBSD: patch-data_themes_CMakeLists.txt,v 1.1 2025/12/30 04:00:09 gutteridge Exp $
+
+Disable installation of themes distributed under an unsupported license.
+
+--- data/themes/CMakeLists.txt.orig 2025-10-05 08:19:57.818176883 +0000
++++ data/themes/CMakeLists.txt
+@@ -1,4 +1,4 @@
+-set(THEMES elarun maldives maya)
++set(THEMES elarun)
+
+ foreach(THEME ${THEMES})
+ # We assume that theme-specific translations are stored
Index: pkgsrc/x11/sddm/patches/patch-services_CMakeLists.txt
diff -u /dev/null pkgsrc/x11/sddm/patches/patch-services_CMakeLists.txt:1.1
--- /dev/null Tue Dec 30 04:00:10 2025
+++ pkgsrc/x11/sddm/patches/patch-services_CMakeLists.txt Tue Dec 30 04:00:09 2025
@@ -0,0 +1,39 @@
+$NetBSD: patch-services_CMakeLists.txt,v 1.1 2025/12/30 04:00:09 gutteridge Exp $
+
+Install OpenPAM files instead of Linux-Pam for NetBSD.
+
+--- services/CMakeLists.txt.orig 2024-02-26 10:23:03.000000000 +0000
++++ services/CMakeLists.txt
+@@ -21,21 +21,21 @@ configure_file("${CMAKE_CURRENT_SOURCE_D
+
+ if(INSTALL_PAM_CONFIGURATION)
+ if(EXISTS "/etc/debian_version")
+- install(FILES debian.sddm-autologin.pam DESTINATION ${CMAKE_INSTALL_FULL_SYSCONFDIR}/pam.d RENAME sddm-autologin)
+- install(FILES debian.sddm-greeter.pam DESTINATION ${CMAKE_INSTALL_FULL_SYSCONFDIR}/pam.d RENAME sddm-greeter)
+- install(FILES debian.sddm.pam DESTINATION ${CMAKE_INSTALL_FULL_SYSCONFDIR}/pam.d RENAME sddm)
+- elseif(CMAKE_SYSTEM_NAME STREQUAL "FreeBSD")
+- install(FILES freebsd.sddm-autologin.pam DESTINATION ${CMAKE_INSTALL_FULL_SYSCONFDIR}/pam.d RENAME sddm-autologin)
+- install(FILES freebsd.sddm-greeter.pam DESTINATION ${CMAKE_INSTALL_FULL_SYSCONFDIR}/pam.d RENAME sddm-greeter)
+- install(FILES freebsd.sddm.pam DESTINATION ${CMAKE_INSTALL_FULL_SYSCONFDIR}/pam.d RENAME sddm)
++ install(FILES debian.sddm-autologin.pam DESTINATION ${CMAKE_INSTALL_PREFIX}/share/examples/pam.d RENAME sddm-autologin)
++ install(FILES debian.sddm-greeter.pam DESTINATION ${CMAKE_INSTALL_PREFIX}/share/examples/pam.d RENAME sddm-greeter)
++ install(FILES debian.sddm.pam DESTINATION ${CMAKE_INSTALL_PREFIX}/share/examples/pam.d RENAME sddm)
++ elseif(CMAKE_SYSTEM_NAME STREQUAL "FreeBSD" OR CMAKE_SYSTEM_NAME STREQUAL "NetBSD")
++ install(FILES freebsd.sddm-autologin.pam DESTINATION ${CMAKE_INSTALL_PREFIX}/share/examples/pam.d RENAME sddm-autologin)
++ install(FILES freebsd.sddm-greeter.pam DESTINATION ${CMAKE_INSTALL_PREFIX}/share/examples/pam.d RENAME sddm-greeter)
++ install(FILES freebsd.sddm.pam DESTINATION ${CMAKE_INSTALL_PREFIX}/share/examples/pam.d RENAME sddm)
+ else()
+ if(HAVE_PAM_FAILLOCK)
+- install(FILES sddm-autologin.pam DESTINATION ${CMAKE_INSTALL_FULL_SYSCONFDIR}/pam.d RENAME sddm-autologin)
++ install(FILES sddm-autologin.pam DESTINATION ${CMAKE_INSTALL_PREFIX}/share/examples/pam.d RENAME sddm-autologin)
+ else()
+- install(FILES sddm-autologin-tally2.pam DESTINATION ${CMAKE_INSTALL_FULL_SYSCONFDIR}/pam.d RENAME sddm-autologin)
++ install(FILES sddm-autologin-tally2.pam DESTINATION ${CMAKE_INSTALL_PREFIX}/share/examples/pam.d RENAME sddm-autologin)
+ endif()
+
+- install(FILES sddm.pam DESTINATION ${CMAKE_INSTALL_FULL_SYSCONFDIR}/pam.d RENAME sddm)
+- install(FILES "${CMAKE_CURRENT_BINARY_DIR}/sddm-greeter.pam" DESTINATION ${CMAKE_INSTALL_FULL_SYSCONFDIR}/pam.d RENAME sddm-greeter)
++ install(FILES sddm.pam DESTINATION ${CMAKE_INSTALL_PREFIX}/share/examples/pam.d RENAME sddm)
++ install(FILES "${CMAKE_CURRENT_BINARY_DIR}/sddm-greeter.pam" DESTINATION ${CMAKE_INSTALL_PREFIX}/share/examples/pam.d RENAME sddm-greeter)
+ endif()
+ endif()
Index: pkgsrc/x11/sddm/patches/patch-src_common_Configuration.h
diff -u /dev/null pkgsrc/x11/sddm/patches/patch-src_common_Configuration.h:1.1
--- /dev/null Tue Dec 30 04:00:10 2025
+++ pkgsrc/x11/sddm/patches/patch-src_common_Configuration.h Tue Dec 30 04:00:09 2025
@@ -0,0 +1,47 @@
+$NetBSD: patch-src_common_Configuration.h,v 1.1 2025/12/30 04:00:09 gutteridge Exp $
+
+Fix hardcoded absolute paths.
+
+--- src/common/Configuration.h.orig 2024-02-26 10:23:03.000000000 +0000
++++ src/common/Configuration.h
+@@ -47,7 +47,7 @@ namespace SDDM {
+ "NOTE: Currently ignored if autologin is enabled."));
+ Entry(InputMethod, QString, QStringLiteral("qtvirtualkeyboard"), _S("Input method module"));
+ Entry(Namespaces, QStringList, QStringList(), _S("Comma-separated list of Linux namespaces for user session to enter"));
+- Entry(GreeterEnvironment, QStringList, QStringList(), _S("Comma-separated list of environment variables to be set"));
++ Entry(GreeterEnvironment, QStringList, {_S("PATH=@PREFIX@/bin:@X11BASE@/bin:/usr/bin:/bin")}, _S("Comma-separated list of environment variables to be set"));
+ // Name Entries (but it's a regular class again)
+ Section(Theme,
+ Entry(ThemeDir, QString, _S(DATA_INSTALL_DIR "/themes"), _S("Theme directory path"));
+@@ -65,10 +65,10 @@ namespace SDDM {
+
+ // TODO: Not absolutely sure if everything belongs here. Xsessions, VT and probably some more seem universal
+ Section(X11,
+- Entry(ServerPath, QString, _S("/usr/bin/X"), _S("Path to X server binary"));
++ Entry(ServerPath, QString, _S("@X11BASE@/bin/X"), _S("Path to X server binary"));
+ Entry(ServerArguments, QString, _S("-nolisten tcp"), _S("Arguments passed to the X server invocation"));
+- Entry(XephyrPath, QString, _S("/usr/bin/Xephyr"), _S("Path to Xephyr binary"));
+- Entry(SessionDir, QStringList, {_S("/usr/local/share/xsessions"),
++ Entry(XephyrPath, QString, _S("@PREFIX@/bin/Xephyr"), _S("Path to Xephyr binary"));
++ Entry(SessionDir, QStringList, {_S("@PREFIX@/share/xsessions"),
+ _S("/usr/share/xsessions")}, _S("Comma-separated list of directories containing available X sessions"));
+ Entry(SessionCommand, QString, _S(SESSION_COMMAND), _S("Path to a script to execute when starting the desktop session"));
+ Entry(SessionLogFile, QString, _S(".local/share/sddm/xorg-session.log"), _S("Path to the user session log file"));
+@@ -79,7 +79,7 @@ namespace SDDM {
+
+ Section(Wayland,
+ Entry(CompositorCommand, QString, _S("weston --shell=kiosk"), _S("Path of the Wayland compositor to execute when starting the greeter"));
+- Entry(SessionDir, QStringList, {_S("/usr/local/share/wayland-sessions"),
++ Entry(SessionDir, QStringList, {_S("@PREFIX@/share/wayland-sessions"),
+ _S("/usr/share/wayland-sessions")}, _S("Comma-separated list of directories containing available Wayland sessions"));
+ Entry(SessionCommand, QString, _S(WAYLAND_SESSION_COMMAND), _S("Path to a script to execute when starting the desktop session"));
+ Entry(SessionLogFile, QString, _S(".local/share/sddm/wayland-session.log"),_S("Path to the user session log file"));
+@@ -87,7 +87,7 @@ namespace SDDM {
+ );
+
+ Section(Users,
+- Entry(DefaultPath, QString, _S("/usr/local/bin:/usr/bin:/bin"), _S("Default $PATH for logged in users"));
++ Entry(DefaultPath, QString, _S("@PREFIX@/bin:@X11BASE@/bin:/usr/bin:/bin"), _S("Default $PATH for logged in users"));
+ Entry(MinimumUid, int, UID_MIN, _S("Minimum user id for displayed users"));
+ Entry(MaximumUid, int, UID_MAX, _S("Maximum user id for displayed users"));
+ Entry(HideUsers, QStringList, QStringList(), _S("Comma-separated list of users that should not be listed"));
Index: pkgsrc/x11/sddm/patches/patch-src_common_VirtualTerminal.cpp
diff -u /dev/null pkgsrc/x11/sddm/patches/patch-src_common_VirtualTerminal.cpp:1.1
--- /dev/null Tue Dec 30 04:00:10 2025
+++ pkgsrc/x11/sddm/patches/patch-src_common_VirtualTerminal.cpp Tue Dec 30 04:00:09 2025
@@ -0,0 +1,53 @@
+$NetBSD: patch-src_common_VirtualTerminal.cpp,v 1.1 2025/12/30 04:00:09 gutteridge Exp $
+
+Fix tty device for NetBSD.
+
+--- src/common/VirtualTerminal.cpp.orig 2024-02-26 10:23:03.000000000 +0000
++++ src/common/VirtualTerminal.cpp
+@@ -29,6 +29,8 @@
+ #include <signal.h>
+ #ifdef __FreeBSD__
+ #include <sys/consio.h>
++#elif __NetBSD__
++#include <dev/wscons/wsdisplay_usl_io.h>
+ #else
+ #include <linux/vt.h>
+ #include <linux/kd.h>
+@@ -58,6 +60,22 @@ namespace SDDM {
+ }
+ return vtActive;
+ }
++#elif defined(__NetBSD__)
++ static const char *defaultVtPath = "/dev/ttyE0";
++
++ QString path(int vt) {
++ char c = (vt <= 10 ? '0' : 'a') + (vt - 1);
++ return QStringLiteral("/dev/ttyE%1").arg(c);
++ }
++
++ int getVtActive(int fd) {
++ int vtActive = 0;
++ if (ioctl(fd, VT_GETACTIVE, &vtActive) < 0) {
++ qCritical() << "Failed to get current VT:" << strerror(errno);
++ return -1;
++ }
++ return vtActive;
++ }
+ #else
+ static const char *defaultVtPath = "/dev/tty0";
+
+@@ -119,12 +137,12 @@ namespace SDDM {
+
+ if (getmodeReply.mode != VT_AUTO)
+ goto out;
+-
++#ifdef KDGETMODE
+ if (ioctl(fd, KDGETMODE, &kernelDisplayMode) < 0) {
+ qWarning() << "Failed to query kernel display mode:" << strerror(errno);
+ ok = false;
+ }
+-
++#endif
+ if (kernelDisplayMode == KD_TEXT)
+ goto out;
+
Index: pkgsrc/x11/sddm/patches/patch-src_common_XAuth.cpp
diff -u /dev/null pkgsrc/x11/sddm/patches/patch-src_common_XAuth.cpp:1.1
--- /dev/null Tue Dec 30 04:00:10 2025
+++ pkgsrc/x11/sddm/patches/patch-src_common_XAuth.cpp Tue Dec 30 04:00:09 2025
@@ -0,0 +1,15 @@
+$NetBSD: patch-src_common_XAuth.cpp,v 1.1 2025/12/30 04:00:09 gutteridge Exp $
+
+Define HOST_NAME_MAX.
+
+--- src/common/XAuth.cpp.orig 2024-02-26 10:23:03.000000000 +0000
++++ src/common/XAuth.cpp
+@@ -31,7 +31,7 @@
+ #include <unistd.h>
+ #include <X11/Xauth.h>
+
+-#ifdef __FreeBSD__
++#if defined(__FreeBSD__) || defined(__NetBSD__)
+ #define HOST_NAME_MAX _POSIX_HOST_NAME_MAX
+ #endif
+
Index: pkgsrc/x11/sddm/patches/patch-src_daemon_LogindDBusTypes.cpp
diff -u /dev/null pkgsrc/x11/sddm/patches/patch-src_daemon_LogindDBusTypes.cpp:1.1
--- /dev/null Tue Dec 30 04:00:10 2025
+++ pkgsrc/x11/sddm/patches/patch-src_daemon_LogindDBusTypes.cpp Tue Dec 30 04:00:09 2025
@@ -0,0 +1,35 @@
+$NetBSD: patch-src_daemon_LogindDBusTypes.cpp,v 1.1 2025/12/30 04:00:09 gutteridge Exp $
+
+As of version 0.21.0, support for ConsoleKit as a login manager in SDDM is broken.
+
+--- src/daemon/LogindDBusTypes.cpp.orig 2025-10-04 05:07:32.881690547 +0000
++++ src/daemon/LogindDBusTypes.cpp
+@@ -58,17 +58,17 @@ LogindPathInternal::LogindPathInternal()
+ return;
+ }
+
+- if (QDBusConnection::systemBus().interface()->isServiceRegistered(QStringLiteral("org.freedesktop.ConsoleKit"))) {
+- qDebug() << "Console kit interface found";
+- available = true;
+- serviceName = QStringLiteral("org.freedesktop.ConsoleKit");
+- managerPath = QStringLiteral("/org/freedesktop/ConsoleKit/Manager");
+- managerIfaceName = QStringLiteral("org.freedesktop.ConsoleKit.Manager"); //note this doesn't match logind
+- seatIfaceName = QStringLiteral("org.freedesktop.ConsoleKit.Seat");
+- sessionIfaceName = QStringLiteral("org.freedesktop.ConsoleKit.Session");
+- userIfaceName = QStringLiteral("org.freedesktop.ConsoleKit.User");
+- return;
+- }
++ //if (QDBusConnection::systemBus().interface()->isServiceRegistered(QStringLiteral("org.freedesktop.ConsoleKit"))) {
++ // qDebug() << "Console kit interface found";
++ // available = true;
++ // serviceName = QStringLiteral("org.freedesktop.ConsoleKit");
++ // managerPath = QStringLiteral("/org/freedesktop/ConsoleKit/Manager");
++ // managerIfaceName = QStringLiteral("org.freedesktop.ConsoleKit.Manager"); //note this doesn't match logind
++ // seatIfaceName = QStringLiteral("org.freedesktop.ConsoleKit.Seat");
++ // sessionIfaceName = QStringLiteral("org.freedesktop.ConsoleKit.Session");
++ // userIfaceName = QStringLiteral("org.freedesktop.ConsoleKit.User");
++ // return;
++ //}
+ qDebug() << "No session manager found";
+ }
+
Index: pkgsrc/x11/sddm/patches/patch-src_helper_Backend.cpp
diff -u /dev/null pkgsrc/x11/sddm/patches/patch-src_helper_Backend.cpp:1.1
--- /dev/null Tue Dec 30 04:00:10 2025
+++ pkgsrc/x11/sddm/patches/patch-src_helper_Backend.cpp Tue Dec 30 04:00:09 2025
@@ -0,0 +1,47 @@
+$NetBSD: patch-src_helper_Backend.cpp,v 1.1 2025/12/30 04:00:09 gutteridge Exp $
+
+Add environment variables from /etc/login.conf on NetBSD systems.
+
+--- src/helper/Backend.cpp.orig 2024-02-26 10:23:03.000000000 +0000
++++ src/helper/Backend.cpp
+@@ -29,7 +29,7 @@
+
+ #include <pwd.h>
+
+-#if defined(Q_OS_FREEBSD)
++#if defined(Q_OS_FREEBSD) || defined(Q_OS_NETBSD)
+ #include <sys/types.h>
+ #include <login_cap.h>
+ #endif
+@@ -68,7 +68,7 @@ namespace SDDM {
+ env.insert(QStringLiteral("SHELL"), QString::fromLocal8Bit(pw->pw_shell));
+ env.insert(QStringLiteral("USER"), QString::fromLocal8Bit(pw->pw_name));
+ env.insert(QStringLiteral("LOGNAME"), QString::fromLocal8Bit(pw->pw_name));
+-#if defined(Q_OS_FREEBSD)
++#if defined(Q_OS_FREEBSD) || defined(Q_OS_NETBSD)
+ /* get additional environment variables via setclassenvironment();
+ this needs to be done here instead of in UserSession::setupChildProcess
+ as the environment for execve() is prepared here
+@@ -82,6 +82,7 @@ namespace SDDM {
+ QProcessEnvironment::systemEnvironment().clear();
+ QString savedLang = env.value(QStringLiteral("LANG"));
+
++#if defined(Q_OS_FREEBSD)
+ // setclassenvironment() is the implementation inside setusercontext()
+ // so use lowest-level function there
+ setclassenvironment(lc, pw, 1); /* path variables */
+@@ -92,7 +93,13 @@ namespace SDDM {
+ setclassenvironment(lc, pw, 0);
+ login_close(lc);
+ }
+-
++#elif defined(Q_OS_NETBSD)
++ // NetBSD does not have setclassenvironment() function, so
++ // setusercontext() is used to set environment variables.
++ setusercontext(lc, pw, pw->pw_uid, LOGIN_SETPATH);
++ setusercontext(lc, pw, pw->pw_uid, LOGIN_SETENV);
++ login_close(lc);
++#endif
+ // copy all environment variables that are now set
+ env.insert(QProcessEnvironment::systemEnvironment());
+ // for sddm itself, we don't want to set LANG from capabilities.
Index: pkgsrc/x11/sddm/patches/patch-src_helper_CMakeLists.txt
diff -u /dev/null pkgsrc/x11/sddm/patches/patch-src_helper_CMakeLists.txt:1.1
--- /dev/null Tue Dec 30 04:00:10 2025
+++ pkgsrc/x11/sddm/patches/patch-src_helper_CMakeLists.txt Tue Dec 30 04:00:09 2025
@@ -0,0 +1,15 @@
+$NetBSD: patch-src_helper_CMakeLists.txt,v 1.1 2025/12/30 04:00:09 gutteridge Exp $
+
+Add -lutil flag for NetBSD builds
+
+--- src/helper/CMakeLists.txt.orig 2024-02-26 10:23:03.000000000 +0000
++++ src/helper/CMakeLists.txt
+@@ -35,7 +35,7 @@ target_link_libraries(sddm-helper
+ Qt${QT_MAJOR_VERSION}::DBus
+ Qt${QT_MAJOR_VERSION}::Qml
+ ${LIBXAU_LINK_LIBRARIES})
+-if("${CMAKE_SYSTEM_NAME}" STREQUAL "FreeBSD")
++if("${CMAKE_SYSTEM_NAME}" STREQUAL "FreeBSD" OR "${CMAKE_SYSTEM_NAME}" STREQUAL "NetBSD")
+ # On FreeBSD (possibly other BSDs as well), we want to use
+ # setusercontext() to set up the login configuration from login.conf
+ find_library(_have_libutil util)
Index: pkgsrc/x11/sddm/patches/patch-src_helper_HelperApp.cpp
diff -u /dev/null pkgsrc/x11/sddm/patches/patch-src_helper_HelperApp.cpp:1.1
--- /dev/null Tue Dec 30 04:00:10 2025
+++ pkgsrc/x11/sddm/patches/patch-src_helper_HelperApp.cpp Tue Dec 30 04:00:09 2025
@@ -0,0 +1,15 @@
+$NetBSD: patch-src_helper_HelperApp.cpp,v 1.1 2025/12/30 04:00:09 gutteridge Exp $
+
+Fix adding entry line to the accounting database
+
+--- src/helper/HelperApp.cpp.orig 2024-02-26 10:23:03.000000000 +0000
++++ src/helper/HelperApp.cpp
+@@ -375,7 +375,7 @@ namespace SDDM {
+ #if defined(Q_OS_LINUX)
+ // append to wtmp
+ updwtmpx("/var/log/wtmp", &entry);
+-#elif defined(Q_OS_FREEBSD)
++#elif defined(Q_OS_FREEBSD) || defined(Q_OS_NETBSD)
+ pututxline(&entry);
+ #endif
+ }
Index: pkgsrc/x11/sddm/patches/patch-src_helper_UserSession.cpp
diff -u /dev/null pkgsrc/x11/sddm/patches/patch-src_helper_UserSession.cpp:1.1
--- /dev/null Tue Dec 30 04:00:10 2025
+++ pkgsrc/x11/sddm/patches/patch-src_helper_UserSession.cpp Tue Dec 30 04:00:09 2025
@@ -0,0 +1,33 @@
+$NetBSD: patch-src_helper_UserSession.cpp,v 1.1 2025/12/30 04:00:09 gutteridge Exp $
+
+Setting up user context on NetBSD systems.
+
+--- src/helper/UserSession.cpp.orig 2024-02-26 10:23:03.000000000 +0000
++++ src/helper/UserSession.cpp
+@@ -39,7 +39,7 @@
+ #include <unistd.h>
+ #include <fcntl.h>
+ #include <sched.h>
+-#ifdef Q_OS_FREEBSD
++#if defined(Q_OS_FREEBSD) || defined(Q_OS_NETBSD)
+ #include <login_cap.h>
+ #endif
+
+@@ -275,7 +275,7 @@ namespace SDDM {
+ exit(Auth::HELPER_OTHER_ERROR);
+ }
+
+-#if defined(Q_OS_FREEBSD)
++#if defined(Q_OS_FREEBSD) || defined(Q_OS_NETBSD)
+ // execve() uses the environment prepared in Backend::openSession(),
+ // therefore environment variables which are set here are ignored.
+ if (setusercontext(NULL, &pw, pw.pw_uid, LOGIN_SETALL) != 0) {
+@@ -341,7 +341,7 @@ namespace SDDM {
+ qCritical() << "setuid(" << pw.pw_uid << ") failed for user: " << username;
+ exit(Auth::HELPER_OTHER_ERROR);
+ }
+-#endif /* Q_OS_FREEBSD */
++#endif /* defined(Q_OS_FREEBSD) || defined(Q_OS_NETBSD) */
+ if (chdir(pw.pw_dir) != 0) {
+ qCritical() << "chdir(" << pw.pw_dir << ") failed for user: " << username;
+ qCritical() << "verify directory exist and has sufficient permissions";
Home |
Main Index |
Thread Index |
Old Index