git: 03f3d9287cfd - main - x11/ly: update to 1.3.0

From: Baptiste Daroussin <bapt_at_FreeBSD.org>
Date: Wed, 31 Dec 2025 13:46:34 UTC
The branch main has been updated by bapt:

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

commit 03f3d9287cfddd50ef76097be2a2e0c95615f3f3
Author:     Baptiste Daroussin <bapt@FreeBSD.org>
AuthorDate: 2025-12-24 15:11:56 +0000
Commit:     Baptiste Daroussin <bapt@FreeBSD.org>
CommitDate: 2025-12-31 13:46:28 +0000

    x11/ly: update to 1.3.0
---
 x11/ly/Makefile                             |  80 +++++++---------
 x11/ly/distinfo                             |  28 +++---
 x11/ly/files/git-submodules-to-gh-tuple.awk |  19 ----
 x11/ly/files/patch-makefile                 |  54 -----------
 x11/ly/files/patch-res_config.ini           |  78 ---------------
 x11/ly/files/patch-res_xsetup.sh            |  41 --------
 x11/ly/files/patch-src_config.c             |  38 --------
 x11/ly/files/patch-src_config.h             |  10 --
 x11/ly/files/patch-src_login.c              | 144 ----------------------------
 x11/ly/files/pkg-message.in                 |  18 ----
 x11/ly/pkg-plist                            |  13 ++-
 11 files changed, 55 insertions(+), 468 deletions(-)

diff --git a/x11/ly/Makefile b/x11/ly/Makefile
index 0811dd9ebb4b..1bead6db3e18 100644
--- a/x11/ly/Makefile
+++ b/x11/ly/Makefile
@@ -1,64 +1,52 @@
 PORTNAME=	ly
 DISTVERSIONPREFIX=	v
-DISTVERSION=	0.6.0
+DISTVERSION=	1.3.0
 CATEGORIES=	x11
-
-PATCH_SITES=	https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/
-PATCHFILES+=	0edb0012abb52ce13d1e9157e7a25557cda01195.patch:-p1
-PATCHFILES+=	42bf929756675f1e6cb922f721665d581574fdc6.patch:-p1
-PATCHFILES+=	2ca870cfc5cd6611bb1fd52dcd67ef40895ad787.patch:-p1
+MASTER_SITES=	https://codeberg.org/AnErrupTion/${PORTNAME}/archive/${DISTVERSIONFULL}${EXTRACT_SUFX}?dummy=/
 
 MAINTAINER=	bapt@FreeBSD.org
 COMMENT=	TUI (ncurses-like) display manager for X and Wayland
-WWW=		https://github.com/fairyglade/ly
+WWW=		https://codeberg.org/AnErrupTion/ly
 
 LICENSE=	WTFPL
 LICENSE_FILE=	${WRKSRC}/license.md
 
-USES=		gmake localbase xorg
-USE_GITHUB=	yes
-GH_ACCOUNT=	fairyglade
-GH_TUPLE=	nullgemm:argoat:36c41f09ecc2a10c9acf35e4194e08b6fa10cf45:argoat/sub/argoat \
-		nullgemm:configator:8227b3a835bf4c7e50a57e4ad6aff620ba0dc349:configator/sub/configator \
-		nullgemm:dragonfail:6b40d1f8b7f6dda9746e688666af623dfbcceb94:dragonfail/sub/dragonfail \
-		nullgemm:termbox_next:2312da153e44face7bb45aa2798ec284289c17ca:termbox_next/sub/termbox_next
+USES=		zig pkgconfig xorg
 USE_XORG=	xcb
+WRKSRC=		${WRKDIR}/${PORTNAME}
 
-MAKEFILE=	makefile
-MAKE_ARGS=	CC="${CC}" \
-		DISTVERSIONFULL="${DISTVERSIONFULL}"
-ALL_TARGET=	final
+USE_GITHUB=	yes
 
-SUB_FILES=	pkg-message
+ZIG_ARGS=	-Dprefix_directory="${PREFIX}" \
+		-Dconfig_directory="${PREFIX}/etc" \
+		-Dinit_system=freebsd
 
-_GITDIR=	${WRKDIR}/${GH_PROJECT}-git
-
-post-patch:
-	# Note to maintainers: patches can be regenerated with
-	# "make clean extract do-patch makepatch" (YMMV).
-	@${REINPLACE_CMD} "s|%%ETCDIR%%|${ETCDIR}|g" ${WRKSRC}/src/config.c
-	@${REINPLACE_CMD} -e "s|%%ETCDIR%%|${ETCDIR}|g" \
-		-e "s|%%LOCALBASE%%|${LOCALBASE}|g" \
-		${WRKSRC}/res/config.ini
-	@${REINPLACE_CMD} -e "s|%%LOCALBASE%%|${LOCALBASE}|g" \
-		${WRKSRC}/res/xsetup.sh
+GH_TUPLE=	Hejsil:zig-clap:5289e0753cd274d65344bef1c114284c6:clap/../zig-packages/clap-0.11.0-oBajB-HnAQDPCKYzwF7rO3qDFwRcD39Q0DALlTSz5H7e \
+		AnErrupTion:termbox2:290ac6b8225aacfd16851224682b851b6:termbox2/../zig-packages/N-V-__8AAGcUBQAa5vov1Yi_9AXEffFQ1e2KsXaK4dgygRKq \
+		AnErrupTion:zigini:9281f47702b57779e831d7618e158abb8:zigini/../zig-packages/zigini-0.3.3-36M0FRJJAADZVq5HPm-hYKMpFFTr0OgjbEYcK2ijKZ5n \
+		AnErrupTion:ini:918f16d0dcf893d0c1cdffe204faa08bb3584e04:ini/../zig-packages/ini-0.1.0-YCQ9Ys0pAABixEvvQvhVXAdqRE3wrZk_wiL9TPNHhB8d
 
 post-install:
-	@${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/ly
-.for _f in config.ini xsetup.sh wsetup.sh
-	@${MV} ${STAGEDIR}${ETCDIR}/${_f} \
-		${STAGEDIR}${ETCDIR}/${_f}.sample
-.endfor
-
-# Target for maintainers. Use this target to regenerate GH_TUPLE for Git
-# submodules used by the project (and project's dependencies).
-_git-submodules-to-gh-tuple:
-	${RM} -r ${_GITDIR}
-	git clone https://github.com/${GH_ACCOUNT}/${GH_PROJECT} ${_GITDIR}
-	git -C ${_GITDIR} checkout ${GH_TAGNAME}
-	${REINPLACE_CMD} 's/make github/${MAKE_CMD} github/g' ${_GITDIR}/makefile
-	${MAKE_CMD} -C ${_GITDIR} github
-	git -C ${_GITDIR} submodule status --recursive | cut -c 2- | \
-		${AWK} -f ${FILESDIR}/git-submodules-to-gh-tuple.awk
+	${REINPLACE_CMD} 's,$$PREFIX_DIRECTORY,${PREFIX},g ; s,$$EXECUTABLE_NAME,ly,g' \
+		${WRKSRC}/res/ly-freebsd-wrapper
+	${INSTALL_SCRIPT} ${WRKSRC}/res/ly-freebsd-wrapper ${STAGEDIR}${PREFIX}/bin/ly_wrapper
+	${INSTALL_DATA} ${WRKSRC}/res/pam.d/ly-freebsd ${STAGEDIR}${PREFIX}/etc/pam.d/ly
+	${INSTALL_DATA} ${WRKSRC}/res/pam.d/ly-freebsd-autologin ${STAGEDIR}${PREFIX}/etc/pam.d/ly-autologin
+	${MKDIR} ${STAGEDIR}${ETCDIR}/lang
+	${INSTALL_DATA} ${WRKSRC}/res/lang/*.ini ${STAGEDIR}${ETCDIR}/lang/
+	${MKDIR} ${STAGEDIR}${ETCDIR}/custom-sessions
+	${INSTALL_DATA} ${WRKSRC}/res/custom-sessions/README ${STAGEDIR}${ETCDIR}/custom-sessions
+	${REINPLACE_CMD} 's,$$PREFIX_DIRECTORY,${PREFIX},g; \
+		s,$$CONFIG_DIRECTORY,${PREFIX}/etc,g ; \
+		s,^brightness_down_cmd = .*,brightness_down_cmd = /usr/bin/backlight - 10, ; \
+		s,^brightness_up_cmd = .*,brightness_down_cmd = /usr/bin/backlight + 10, ; \
+		s,$$PLATFORM_SHUTDOWN_ARG,-p,g' \
+		${WRKSRC}/res/config.ini
+	${INSTALL_DATA} ${WRKSRC}/res/config.ini ${STAGEDIR}${ETCDIR}/config.ini.sample
+	${REINPLACE_CMD} 's,"$$CONFIG_DIRECTORY"/profile,/etc/profile,g ; \
+		s,$$CONFIG_DIRECTORY/csh.login,/etc/csh.login,g ; \
+		s,"$$CONFIG_DIRECTORY",${PREFIX}/etc,g ;' \
+		${WRKSRC}/res/setup.sh
+	${INSTALL_DATA} ${WRKSRC}/res/setup.sh ${STAGEDIR}${ETCDIR}/setup.sh.sample
 
 .include <bsd.port.mk>
diff --git a/x11/ly/distinfo b/x11/ly/distinfo
index b062c1f86c5d..cf92cc1417c6 100644
--- a/x11/ly/distinfo
+++ b/x11/ly/distinfo
@@ -1,17 +1,11 @@
-TIMESTAMP = 1690811292
-SHA256 (fairyglade-ly-v0.6.0_GH0.tar.gz) = 10b3777f49e0a9370efe5132b3c6618294330700a14a659ee66b5bf313f4baae
-SIZE (fairyglade-ly-v0.6.0_GH0.tar.gz) = 32706
-SHA256 (nullgemm-argoat-36c41f09ecc2a10c9acf35e4194e08b6fa10cf45_GH0.tar.gz) = 5c284cae748b1cec4eef311845f53ad673f91996ec425c6e323f0c40e829e77f
-SIZE (nullgemm-argoat-36c41f09ecc2a10c9acf35e4194e08b6fa10cf45_GH0.tar.gz) = 5497
-SHA256 (nullgemm-configator-8227b3a835bf4c7e50a57e4ad6aff620ba0dc349_GH0.tar.gz) = bde1826acb80092bd551985082dc872c7f3e48e03132c377f0e5cdd2f9f331e3
-SIZE (nullgemm-configator-8227b3a835bf4c7e50a57e4ad6aff620ba0dc349_GH0.tar.gz) = 4501
-SHA256 (nullgemm-dragonfail-6b40d1f8b7f6dda9746e688666af623dfbcceb94_GH0.tar.gz) = c185f739e392313c08b0d5fd27e93891b89c36b7b49b83570b601b9cbfbddae1
-SIZE (nullgemm-dragonfail-6b40d1f8b7f6dda9746e688666af623dfbcceb94_GH0.tar.gz) = 3348
-SHA256 (nullgemm-termbox_next-2312da153e44face7bb45aa2798ec284289c17ca_GH0.tar.gz) = b788c86e1454c32cd218d0478a87def0a4d1322fef407885359d1ed0c343b045
-SIZE (nullgemm-termbox_next-2312da153e44face7bb45aa2798ec284289c17ca_GH0.tar.gz) = 23558
-SHA256 (0edb0012abb52ce13d1e9157e7a25557cda01195.patch) = 0a9fcc8b04d3c2562dc6c3ed81f643a0431aab862680d05d34f9eaeb07db9471
-SIZE (0edb0012abb52ce13d1e9157e7a25557cda01195.patch) = 739
-SHA256 (42bf929756675f1e6cb922f721665d581574fdc6.patch) = 9328794678317d02ce6ac4b9220c14b55f59923c435a2fab76a05aa45bb8db99
-SIZE (42bf929756675f1e6cb922f721665d581574fdc6.patch) = 25931
-SHA256 (2ca870cfc5cd6611bb1fd52dcd67ef40895ad787.patch) = d0f0f9c4d7d3168916776b6b1df4917bf3d95ca2b61af312cada203f73deefe6
-SIZE (2ca870cfc5cd6611bb1fd52dcd67ef40895ad787.patch) = 1215
+TIMESTAMP = 1766585822
+SHA256 (zig/ly-ly-v1.3.0_GH0.tar.gz) = ced87076b513bda7687a0983238d18d316fbf2382c5bbd9b25b686fc6bf63bb4
+SIZE (zig/ly-ly-v1.3.0_GH0.tar.gz) = 106238
+SHA256 (zig/Hejsil-zig-clap-5289e0753cd274d65344bef1c114284c6_GH0.tar.gz) = 9e3501c9015315a90cbf9c014edad69f37b541df848a92a2d8ff56e93970ebc9
+SIZE (zig/Hejsil-zig-clap-5289e0753cd274d65344bef1c114284c6_GH0.tar.gz) = 25748
+SHA256 (zig/AnErrupTion-termbox2-290ac6b8225aacfd16851224682b851b6_GH0.tar.gz) = 8a913d4921b1400e878b3d7cb49e55a81deac0c67d2245ee5fef88ade70aa177
+SIZE (zig/AnErrupTion-termbox2-290ac6b8225aacfd16851224682b851b6_GH0.tar.gz) = 85503
+SHA256 (zig/AnErrupTion-zigini-9281f47702b57779e831d7618e158abb8_GH0.tar.gz) = 9af7cf5ff80a980887f88cb88842909b662605b38a26270d7a6005a23f01894c
+SIZE (zig/AnErrupTion-zigini-9281f47702b57779e831d7618e158abb8_GH0.tar.gz) = 6322
+SHA256 (zig/AnErrupTion-ini-918f16d0dcf893d0c1cdffe204faa08bb3584e04_GH0.tar.gz) = cf620c4b482b7e77f7de1eadcf5111bf68ba81f9d2ea9f28316173f80986a00f
+SIZE (zig/AnErrupTion-ini-918f16d0dcf893d0c1cdffe204faa08bb3584e04_GH0.tar.gz) = 8022
diff --git a/x11/ly/files/git-submodules-to-gh-tuple.awk b/x11/ly/files/git-submodules-to-gh-tuple.awk
deleted file mode 100644
index 65d524ffdf71..000000000000
--- a/x11/ly/files/git-submodules-to-gh-tuple.awk
+++ /dev/null
@@ -1,19 +0,0 @@
-#! /usr/bin/awk -f
-
-BEGIN {
-	group_number = 0
-	printf "GH_TUPLE="
-}
-
-{
-	account = "cylgom"
-	project = $2
-	gsub(".*/", "", project)
-	hash = $1
-	path = $2
-	printf " \\\n\t%s:%s:%s:%s/%s", account, project, hash, project, path
-}
-
-END {
-	printf "\n"
-}
diff --git a/x11/ly/files/patch-makefile b/x11/ly/files/patch-makefile
deleted file mode 100644
index 9c79340c04c1..000000000000
--- a/x11/ly/files/patch-makefile
+++ /dev/null
@@ -1,54 +0,0 @@
---- makefile.orig	2023-06-15 07:30:09 UTC
-+++ makefile
-@@ -3,7 +3,7 @@ FLAGS+= -Wall -Wextra -Werror=vla -Wno-unused-paramete
- FLAGS = -std=c99 -pedantic -g
- FLAGS+= -Wall -Wextra -Werror=vla -Wno-unused-parameter
- #FLAGS+= -DDEBUG
--FLAGS+= -DLY_VERSION=\"$(shell git describe --long --tags | sed 's/\([^-]*-g\)/r\1/;s/-/./g')\"
-+FLAGS+= -DLY_VERSION=\"${DISTVERSIONFULL}\"
- LINK = -lpam -lxcb
- VALGRIND = --show-leak-kinds=all --track-origins=yes --leak-check=full --suppressions=../res/valgrind.supp
- CMD = ./$(NAME)
-@@ -12,6 +12,10 @@ endif
- ifeq ($(OS), Linux)
- 	FLAGS+= -D_DEFAULT_SOURCE
- endif
-+ifeq ($(OS), FreeBSD)
-+	FLAGS+= -D_DEFAULT_SOURCE ${CPPFLAGS} ${CFLAGS}
-+	LINK+=  ${LIBS} -lutil
-+endif
- 
- BIND = bin
- OBJD = obj
-@@ -20,7 +24,7 @@ TESTD = tests
- RESD = res
- TESTD = tests
- 
--DATADIR ?= ${DESTDIR}/etc/ly
-+DATADIR ?= ${DESTDIR}$(PREFIX)/etc/ly
- FLAGS+= -DDATADIR=\"$(DATADIR)\"
- 
- INCL = -I$(SRCD)
-@@ -71,14 +75,14 @@ install: $(BIND)/$(NAME)
- 
- install: $(BIND)/$(NAME)
- 	@echo "installing ly"
--	@install -dZ ${DESTDIR}/etc/ly
--	@install -DZ $(BIND)/$(NAME) -t ${DESTDIR}/usr/bin
--	@install -DZ $(RESD)/config.ini -t ${DESTDIR}/etc/ly
--	@install -DZ $(RESD)/xsetup.sh -t $(DATADIR)
--	@install -DZ $(RESD)/wsetup.sh -t $(DATADIR)
--	@install -dZ $(DATADIR)/lang
--	@install -DZ $(RESD)/lang/* -t $(DATADIR)/lang
--	@install -DZ $(RESD)/pam.d/ly -m 644 -t ${DESTDIR}/etc/pam.d
-+	@install -d ${DESTDIR}$(PREFIX)/etc/ly
-+	@install $(BIND)/$(NAME) ${DESTDIR}$(PREFIX)/bin
-+	@install $(RESD)/config.ini ${DESTDIR}$(PREFIX)/etc/ly
-+	@install $(RESD)/xsetup.sh $(DATADIR)
-+	@install $(RESD)/wsetup.sh $(DATADIR)
-+	@install -d $(DATADIR)/lang
-+	@install $(RESD)/lang/* $(DATADIR)/lang
-+	@install -m 644 $(RESD)/pam.d/ly ${DESTDIR}$(PREFIX)/etc/pam.d
- 
- installnoconf: $(BIND)/$(NAME)
- 	@echo "installing ly without the configuration file"
diff --git a/x11/ly/files/patch-res_config.ini b/x11/ly/files/patch-res_config.ini
deleted file mode 100644
index 40c6a86c2ee1..000000000000
--- a/x11/ly/files/patch-res_config.ini
+++ /dev/null
@@ -1,78 +0,0 @@
---- res/config.ini.orig	2023-07-31 13:38:18 UTC
-+++ res/config.ini
-@@ -1,3 +1,5 @@
-+# This is a FreeBSD-ready patched version of the upstream configuration file.
-+
- # Animation enabled/disabled
- #animate = false
- 
-@@ -74,6 +76,7 @@
- 
- # File in which to save and load the default desktop and login
- #save_file = /etc/ly/save
-+save_file = /usr/local/etc/ly/save
- 
- 
- # Remove power management command hints
-@@ -87,6 +90,7 @@
- 
- # Command executed when pressing shutdown_key
- #shutdown_cmd = /sbin/shutdown -a now
-+shutdown_cmd = /sbin/shutdown -p now
- 
- # Command executed when pressing restart_key
- #restart_cmd = /sbin/shutdown -r now
-@@ -100,11 +104,16 @@
- # tty in use
- #tty = 2
- 
-+# vt in use by X or Wayland
-+#vt = 9
-+
-+
- # Console path
- #console_dev = /dev/console
- 
- # Default path
- #path = /sbin:/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/sbin
-+path = /sbin:/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/usr/bin/env
- 
- 
- # Event timeout in milliseconds
-@@ -118,16 +127,19 @@
- 
- # Cookie generator
- #mcookie_cmd = /usr/bin/mcookie
-+mcookie_cmd = /usr/bin/openssl rand -hex 16
- 
- 
- # Wayland setup command
- #wayland_cmd = /etc/ly/wsetup.sh
-+wayland_cmd = /usr/local/etc/ly/wsetup.sh
- 
- # Add wayland specifier to session names
- #wayland_specifier = false
- 
- # Wayland desktop environments
- #waylandsessions = /usr/share/wayland-sessions
-+waylandsessions = /usr/local/share/wayland-sessions
- 
- 
- # xinitrc
-@@ -135,12 +147,16 @@
- 
- # Xorg server command
- #x_cmd = /usr/bin/X
-+x_cmd = /usr/local/bin/X
- 
- # Xorg setup command
- #x_cmd_setup = /etc/ly/xsetup.sh
-+x_cmd_setup = /usr/local/etc/ly/xsetup.sh
- 
- # Xorg xauthority edition tool
- #xauth_cmd = /usr/bin/xauth
-+xauth_cmd = /usr/local/bin/xauth
- 
- # Xorg desktop environments
- #xsessions = /usr/share/xsessions
-+xsessions = /usr/local/share/xsessions
diff --git a/x11/ly/files/patch-res_xsetup.sh b/x11/ly/files/patch-res_xsetup.sh
deleted file mode 100644
index 2020f9c57065..000000000000
--- a/x11/ly/files/patch-res_xsetup.sh
+++ /dev/null
@@ -1,41 +0,0 @@
---- res/xsetup.sh.orig	2023-06-15 07:30:09 UTC
-+++ res/xsetup.sh
-@@ -55,8 +55,8 @@ esac
- [ -f $HOME/.xprofile ] && . $HOME/.xprofile
- 
- # run all system xinitrc shell scripts.
--if [ -d /etc/X11/xinit/xinitrc.d ]; then
--  for i in /etc/X11/xinit/xinitrc.d/* ; do
-+if [ -d /usr/local/etc/X11/xinit/xinitrc.d ]; then
-+  for i in /usr/local/etc/X11/xinit/xinitrc.d/* ; do
-   if [ -x "$i" ]; then
-     . "$i"
-   fi
-@@ -66,8 +66,8 @@ fi
- # Load Xsession scripts
- # OPTIONFILE, USERXSESSION, USERXSESSIONRC and ALTUSERXSESSION are required
- # by the scripts to work
--xsessionddir="/etc/X11/Xsession.d"
--OPTIONFILE=/etc/X11/Xsession.options
-+xsessionddir="/usr/local/etc/X11/Xsession.d"
-+OPTIONFILE=/usr/local/etc/X11/Xsession.options
- USERXSESSION=$HOME/.xsession
- USERXSESSIONRC=$HOME/.xsessionrc
- ALTUSERXSESSION=$HOME/.Xsession
-@@ -82,12 +82,12 @@ fi
-     done
- fi
- 
--if [ -d /etc/X11/Xresources ]; then
--  for i in /etc/X11/Xresources/*; do
-+if [ -d /usr/local/etc/X11/Xresources ]; then
-+  for i in /usr/local/etc/X11/Xresources/*; do
-     [ -f $i ] && xrdb -merge $i
-   done
--elif [ -f /etc/X11/Xresources ]; then
--  xrdb -merge /etc/X11/Xresources
-+elif [ -f /usr/local/etc/X11/Xresources ]; then
-+  xrdb -merge /usr/local/etc/X11/Xresources
- fi
- [ -f $HOME/.Xresources ] && xrdb -merge $HOME/.Xresources
- [ -f $XDG_CONFIG_HOME/X11/Xresources ] && xrdb -merge $XDG_CONFIG_HOME/X11/Xresources
diff --git a/x11/ly/files/patch-src_config.c b/x11/ly/files/patch-src_config.c
deleted file mode 100644
index 26969398c395..000000000000
--- a/x11/ly/files/patch-src_config.c
+++ /dev/null
@@ -1,38 +0,0 @@
---- src/config.c.orig	2023-07-31 13:38:18 UTC
-+++ src/config.c
-@@ -11,8 +11,8 @@
- #include <unistd.h>
- 
- #ifndef DEBUG
--	#define INI_LANG DATADIR "/lang/%s.ini"
--	#define INI_CONFIG "/etc/ly/config.ini"
-+	#define INI_LANG "/usr/local/etc/ly/lang/%s.ini"
-+	#define INI_CONFIG "/usr/local/etc/ly/config.ini"
- #else
- 	#define INI_LANG "../res/lang/%s.ini"
- 	#define INI_CONFIG "../res/config.ini"
-@@ -190,6 +190,7 @@ void config_load(const char *cfg_path)
- 		{"shutdown_key", &config.shutdown_key, config_handle_str},
- 		{"term_reset_cmd", &config.term_reset_cmd, config_handle_str},
- 		{"tty", &config.tty, config_handle_u8},
-+		{"vt", &config.vt, config_handle_u8},
- 		{"wayland_cmd", &config.wayland_cmd, config_handle_str},
- 		{"wayland_specifier", &config.wayland_specifier, config_handle_bool},
- 		{"waylandsessions", &config.waylandsessions, config_handle_str},
-@@ -200,7 +201,7 @@ void config_load(const char *cfg_path)
- 		{"xsessions", &config.xsessions, config_handle_str},
- 	};
- 
--	uint16_t map_len[] = {41};
-+	uint16_t map_len[] = {42};
- 	struct configator_param* map[] =
- 	{
- 		map_no_section,
-@@ -302,6 +303,7 @@ void config_defaults()
- 	config.shutdown_key = strdup("F1");
- 	config.term_reset_cmd = strdup("/usr/bin/tput reset");
- 	config.tty = 2;
-+	config.vt = 9;
- 	config.wayland_cmd = strdup(DATADIR "/wsetup.sh");
- 	config.wayland_specifier = false;
- 	config.waylandsessions = strdup("/usr/share/wayland-sessions");
diff --git a/x11/ly/files/patch-src_config.h b/x11/ly/files/patch-src_config.h
deleted file mode 100644
index 6a60a97765ec..000000000000
--- a/x11/ly/files/patch-src_config.h
+++ /dev/null
@@ -1,10 +0,0 @@
---- src/config.h.orig	2023-07-31 13:27:47 UTC
-+++ src/config.h
-@@ -94,6 +94,7 @@ struct config
- 	char* shutdown_key;
- 	char* term_reset_cmd;
- 	uint8_t tty;
-+	uint8_t vt;
- 	char* wayland_cmd;
- 	bool wayland_specifier;
- 	char* waylandsessions;
diff --git a/x11/ly/files/patch-src_login.c b/x11/ly/files/patch-src_login.c
deleted file mode 100644
index 0bdfda667e36..000000000000
--- a/x11/ly/files/patch-src_login.c
+++ /dev/null
@@ -1,144 +0,0 @@
---- src/login.c.orig	2023-06-15 07:30:09 UTC
-+++ src/login.c
-@@ -19,9 +19,13 @@
- #include <sys/stat.h>
- #include <sys/wait.h>
- #include <unistd.h>
--#include <utmp.h>
-+#include <utmpx.h>
- #include <xcb/xcb.h>
- 
-+#include <sys/param.h>
-+#include <sys/types.h>
-+#include <login_cap.h>
-+
- int get_free_display()
- {
- 	char xlock[1024];
-@@ -214,13 +218,13 @@
- 	// clean env
- 	environ[0] = NULL;
- 	
--	setenv("TERM", term ? term : "linux", 1);
-+	setenv("TERM", term ? term : "xterm", 1);
- 	setenv("HOME", pwd->pw_dir, 1);
- 	setenv("PWD", pwd->pw_dir, 1);
- 	setenv("SHELL", pwd->pw_shell, 1);
- 	setenv("USER", pwd->pw_name, 1);
- 	setenv("LOGNAME", pwd->pw_name, 1);
--	setenv("LANG", lang ? lang : "C", 1);
-+	setenv("LANG", lang ? lang : "C.UTF-8", 1);
- 
- 	// Set PATH if specified in the configuration
- 	if (strlen(config.path))
-@@ -259,9 +263,15 @@
- 
- void env_xdg(const char* tty_id, const char* desktop_name)
- {
-+	// The "/run/user/%d" directory is not available on FreeBSD. It is much
-+	// better to stick to the defaults and let applications using
-+	// XDG_RUNTIME_DIR to fall back to directories inside user's home
-+	// directory.
-+	/*
-     char user[20];
-     snprintf(user, 20, "/run/user/%d", getuid());
-     setenv("XDG_RUNTIME_DIR", user, 0);
-+    */
-     setenv("XDG_SESSION_CLASS", "user", 0);
-     setenv("XDG_SESSION_ID", "1", 0);
-     setenv("XDG_SESSION_DESKTOP", desktop_name, 0);
-@@ -269,8 +279,8 @@
-     setenv("XDG_VTNR", tty_id, 0);
- }
- 
--void add_utmp_entry(
--	struct utmp *entry,
-+void add_utmpx_entry(
-+	struct utmpx *entry,
- 	char *username,
- 	pid_t display_pid
- ) {
-@@ -281,24 +291,23 @@
- 	/* only correct for ptys named /dev/tty[pqr][0-9a-z] */
- 	strcpy(entry->ut_id, ttyname(STDIN_FILENO) + strlen("/dev/tty"));
- 
--	time((long int *) &entry->ut_time);
-+	time((long int *) &entry->ut_tv.tv_sec);
- 
--	strncpy(entry->ut_user, username, UT_NAMESIZE);
--	memset(entry->ut_host, 0, UT_HOSTSIZE);
--	entry->ut_addr = 0;
--	setutent();
-+	strncpy(entry->ut_user, username, sizeof(entry->ut_user));
-+	memset(entry->ut_host, 0, sizeof(entry->ut_host));
-+	setutxent();
- 
--	pututline(entry);
-+	pututxline(entry);
- }
- 
--void remove_utmp_entry(struct utmp *entry) {
-+void remove_utmpx_entry(struct utmpx *entry) {
- 	entry->ut_type = DEAD_PROCESS;
--	memset(entry->ut_line, 0, UT_LINESIZE);
--	entry->ut_time = 0;
--	memset(entry->ut_user, 0, UT_NAMESIZE);
--	setutent();
--	pututline(entry);
--	endutent();
-+	memset(entry->ut_line, 0, sizeof(entry->ut_line));
-+	entry->ut_tv.tv_sec = 0;
-+	memset(entry->ut_user, 0, sizeof(entry->ut_user));
-+	setutxent();
-+	pututxline(entry);
-+	endutxent();
- }
- 
- void xauth(const char* display_name, const char* shell, char* pwd)
-@@ -598,6 +607,16 @@
- 			exit(EXIT_FAILURE);
- 		}
- 
-+		ok = setusercontext(NULL, pwd, pwd->pw_uid, LOGIN_SETALL);
-+
-+		if (ok != 0)
-+		{
-+			dgn_throw(DGN_USER_UID);
-+			exit(EXIT_FAILURE);
-+		}
-+
-+		/* This is done by setusercontext() on FreeBSD. */
-+#if 0
- 		ok = setgid(pwd->pw_gid);
- 
- 		if (ok != 0)
-@@ -613,10 +632,11 @@
- 			dgn_throw(DGN_USER_UID);
- 			exit(EXIT_FAILURE);
- 		}
-+#endif
- 
- 		// get a display
- 		char vt[5];
--		snprintf(vt, 5, "vt%d", config.tty);
-++		snprintf(vt, 5, "vt%d", config.vt);
- 
- 		// set env (this clears the environment)
- 		env_init(pwd);
-@@ -671,13 +691,13 @@
- 	}
- 
- 	// add utmp audit
--	struct utmp entry;
--	add_utmp_entry(&entry, pwd->pw_name, pid);
-+	struct utmpx entry;
-+	add_utmpx_entry(&entry, pwd->pw_name, pid);
- 
- 	// wait for the session to stop
- 	int status;
- 	waitpid(pid, &status, 0);
--	remove_utmp_entry(&entry);
-+	remove_utmpx_entry(&entry);
- 
- 	reset_terminal(pwd);
- 
diff --git a/x11/ly/files/pkg-message.in b/x11/ly/files/pkg-message.in
deleted file mode 100644
index a5ea04aca381..000000000000
--- a/x11/ly/files/pkg-message.in
+++ /dev/null
@@ -1,18 +0,0 @@
-[
-{ type: install
-  message: <<EOM
-Add the following entry to /etc/gettytab:
-
-Ly:\
-	:lo=%%PREFIX%%/bin/ly:\
-	:al=root:
-
-Modify the command field of the ttyv1 terminal entry in /etc/ttys
-
-ttyv1   "/usr/libexec/getty Ly"         xterm   on secure
-
-Make sure that "tty" is set appropriately in the %%ETCDIR%%/config.ini file if
-you decide to configure a different TTY for Ly instead.
-EOM
-}
-]
diff --git a/x11/ly/pkg-plist b/x11/ly/pkg-plist
index c4076160346f..87deada5f2d4 100644
--- a/x11/ly/pkg-plist
+++ b/x11/ly/pkg-plist
@@ -1,4 +1,10 @@
 bin/ly
+bin/ly_wrapper
+@sample %%ETCDIR%%/config.ini.sample
+@sample %%ETCDIR%%/setup.sh.sample
+%%ETCDIR%%/custom-sessions/README
+%%ETCDIR%%/lang/ar.ini
+%%ETCDIR%%/lang/bg.ini
 %%ETCDIR%%/lang/cat.ini
 %%ETCDIR%%/lang/cs.ini
 %%ETCDIR%%/lang/de.ini
@@ -6,6 +12,8 @@ bin/ly
 %%ETCDIR%%/lang/es.ini
 %%ETCDIR%%/lang/fr.ini
 %%ETCDIR%%/lang/it.ini
+%%ETCDIR%%/lang/ja_JP.ini
+%%ETCDIR%%/lang/lv.ini
 %%ETCDIR%%/lang/pl.ini
 %%ETCDIR%%/lang/pt.ini
 %%ETCDIR%%/lang/pt_BR.ini
@@ -15,7 +23,6 @@ bin/ly
 %%ETCDIR%%/lang/sv.ini
 %%ETCDIR%%/lang/tr.ini
 %%ETCDIR%%/lang/uk.ini
-@sample %%ETCDIR%%/config.ini.sample
-@sample %%ETCDIR%%/wsetup.sh.sample
-@sample %%ETCDIR%%/xsetup.sh.sample
+%%ETCDIR%%/lang/zh_CN.ini
 etc/pam.d/ly
+etc/pam.d/ly-autologin