git: 03f3d9287cfd - main - x11/ly: update to 1.3.0
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
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