git: 199158d1bf2c - main - x11/xinit: Update to 1.4.4

From: Emmanuel Vadot <manu_at_FreeBSD.org>
Date: Tue, 01 Jul 2025 13:55:22 UTC
The branch main has been updated by manu:

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

commit 199158d1bf2c68704c8190aa46c6db796f996272
Author:     mew14930xvi <mew14930xvi@inbox.lv>
AuthorDate: 2025-06-14 00:58:12 +0000
Commit:     Emmanuel Vadot <manu@FreeBSD.org>
CommitDate: 2025-07-01 13:54:21 +0000

    x11/xinit: Update to 1.4.4
    
    PR:     287006
---
 x11/xinit/Makefile               | 16 ++++---------
 x11/xinit/distinfo               |  6 ++---
 x11/xinit/files/patch-startx.cpp | 38 ------------------------------
 x11/xinit/files/patch-startx.in  | 50 ++++++++++++++++++++++++++++++++++++++++
 x11/xinit/pkg-descr              |  8 ++++++-
 5 files changed, 64 insertions(+), 54 deletions(-)

diff --git a/x11/xinit/Makefile b/x11/xinit/Makefile
index f4d6269e6cc4..eaf55affe11f 100644
--- a/x11/xinit/Makefile
+++ b/x11/xinit/Makefile
@@ -1,24 +1,16 @@
 PORTNAME=	xinit
-PORTVERSION=	1.4.2
-PORTREVISION=	1
+DISTVERSION=	1.4.4
 PORTEPOCH=	1
 CATEGORIES=	x11
 
 MAINTAINER=	x11@FreeBSD.org
 COMMENT=	X Window System initializer
+WWW=		https://gitlab.freedesktop.org/xorg/app/xinit
 
 LICENSE=	MIT
 LICENSE_FILE=	${WRKSRC}/COPYING
 
-EXTRACT_SUFX=	.tar.xz
-USES=		xorg xorg-cat:app
-USE_XORG=	x11
-
-post-patch:
-	@${REINPLACE_CMD} 's/test.*-traditional.*;/true;/' ${WRKSRC}/configure
-	@${REINPLACE_CMD} -e 's|hexdump|/usr/bin/hexdump|' ${WRKSRC}/startx.cpp
-	@${REINPLACE_CMD} -e 's|/usr/local|${PREFIX}|g' ${WRKSRC}/man/xinit.man
-
-GNU_CONFIGURE_MANPREFIX=	${PREFIX}/share
+USES=		tar:xz xorg xorg-cat:app
+USE_XORG=	x11 xorgproto
 
 .include <bsd.port.mk>
diff --git a/x11/xinit/distinfo b/x11/xinit/distinfo
index fdac71ab6911..2d6d66be7431 100644
--- a/x11/xinit/distinfo
+++ b/x11/xinit/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1670268068
-SHA256 (xorg/app/xinit-1.4.2.tar.xz) = b7d8dc8d22ef9f15985a10b606ee4f2aad6828befa437359934647e88d331f23
-SIZE (xorg/app/xinit-1.4.2.tar.xz) = 156728
+TIMESTAMP = 1747680265
+SHA256 (xorg/app/xinit-1.4.4.tar.xz) = 40a47c7a164c7f981ce3787b4b37f7e411fb43231dcde543d70094075dacfef9
+SIZE (xorg/app/xinit-1.4.4.tar.xz) = 162496
diff --git a/x11/xinit/files/patch-startx.cpp b/x11/xinit/files/patch-startx.cpp
deleted file mode 100644
index eccc0214aa67..000000000000
--- a/x11/xinit/files/patch-startx.cpp
+++ /dev/null
@@ -1,38 +0,0 @@
-# remove expr GNUisms: use BRE syntax and remove match, based on
-# upstream commit e3bab0cc706880c22f2b205e7abad9d8c0227071, but
-# also shield expr from leading dash of X server args.
-#
-# generate displayname as dictated in the xauth manpage
-#
---- startx.cpp.orig	2018-03-10 01:46:03 UTC
-+++ startx.cpp
-@@ -166,7 +166,7 @@ while [ x"$1" != x ]; do
- 	else
- 	    XCOMM display must be the FIRST server argument
- 	    if [ x"$serverargs" = x ] && @@
--		 expr "$1" : ':[0-9][0-9]*$' > /dev/null 2>&1; then
-+		 expr \( "$1" \) : ':[0-9][0-9]*$' > /dev/null 2>&1; then
- 		display="$1"
- 	    else
- 		serverargs="$serverargs $1"
-@@ -229,7 +229,7 @@ fi
- XCOMM if no vt is specified add vtarg (which may be empty)
- have_vtarg="no"
- for i in $serverargs; do
--    if expr "$i" : 'vt[0-9][0-9]*$' > /dev/null; then
-+    if expr \( "$i" \) : 'vt[0-9][0-9]*$' > /dev/null; then
-         have_vtarg="yes"
-     fi
- done
-@@ -296,9 +296,9 @@ EOF
-     XCOMM now add the same credentials to the client authority file
-     XCOMM if '$displayname' already exists do not overwrite it as another
-     XCOMM server may need it. Add them to the '$xserverauthfile' instead.
--    for displayname in $authdisplay $hostname$authdisplay; do
-+    for displayname in $authdisplay $hostname/unix$authdisplay; do
-         authcookie=`XAUTH list "$displayname" @@
--        | sed -n "s/.*$displayname[[:space:]*].*[[:space:]*]//p"` 2>/dev/null;
-+        | sed -n "s|.*$displayname[[:space:]*].*[[:space:]*]||p"` 2>/dev/null;
-         if [ "z${authcookie}" = "z" ] ; then
-             XAUTH -q << EOF 
- add $displayname . $mcookie
diff --git a/x11/xinit/files/patch-startx.in b/x11/xinit/files/patch-startx.in
new file mode 100644
index 000000000000..3ad43142b845
--- /dev/null
+++ b/x11/xinit/files/patch-startx.in
@@ -0,0 +1,50 @@
+# remove expr GNUisms: use BRE syntax and remove match, based on
+# upstream commit e3bab0cc706880c22f2b205e7abad9d8c0227071, but
+# also shield expr from leading dash of X server args.
+#
+# generate displayname as dictated in the xauth manpage
+#
+--- startx.in.orig	2025-03-09 20:44:26 UTC
++++ startx.in
+@@ -179,7 +179,7 @@ while [ "$1" != "" ]; do
+ 	else
+ 	    # display must be the FIRST server argument
+ 	    if [ "$serverargs" = "" ] && \
+-		 expr "$1" : ':[0-9][0-9]*$' > /dev/null 2>&1; then
++		 expr \( "$1" \) : ':[0-9][0-9]*$' > /dev/null 2>&1; then
+ 		display="$1"
+ 	    else
+ 		serverargs="$serverargs $1"
+@@ -242,7 +242,7 @@ for i in $serverargs; do
+ # if no vt is specified add vtarg (which may be empty)
+ have_vtarg="no"
+ for i in $serverargs; do
+-    if expr "$i" : 'vt[0-9][0-9]*$' > /dev/null; then
++    if expr \( "$i" \) : 'vt[0-9][0-9]*$' > /dev/null; then
+         have_vtarg="yes"
+     fi
+ done
+@@ -271,9 +271,9 @@ if [ "$enable_xauth" = 1 ] ; then
+         mcookie=$($mk_cookie)
+     else
+         if [ -r /dev/urandom ]; then
+-            mcookie=$(dd if=/dev/urandom bs=16 count=1 2>/dev/null | hexdump -e \"%08x\")
++            mcookie=$(dd if=/dev/urandom bs=16 count=1 2>/dev/null | /usr/bin/hexdump -e \"%08x\")
+         else
+-            mcookie=$(dd if=/dev/random bs=16 count=1 2>/dev/null | hexdump -e \"%08x\")
++            mcookie=$(dd if=/dev/random bs=16 count=1 2>/dev/null | /usr/bin/hexdump -e \"%08x\")
+         fi
+     fi
+     if [ "$mcookie" = "" ]; then
+@@ -302,9 +302,9 @@ EOF
+     # now add the same credentials to the client authority file
+     # if '$displayname' already exists do not overwrite it as another
+     # server may need it. Add them to the '$xserverauthfile' instead.
+-    for displayname in $authdisplay $hostname$authdisplay; do
++    for displayname in $authdisplay $hostname/unix$authdisplay; do
+         authcookie=$(xauth list "$displayname" \
+-        | sed -n 's/.*'"$displayname"'[[:space:]*].*[[:space:]*]//p' 2>/dev/null);
++        | sed -n 's|.*'"$displayname"'[[:space:]*].*[[:space:]*]||p' 2>/dev/null);
+         if [ "z${authcookie}" = "z" ] ; then
+             "$xauth" -q << EOF
+ add $displayname . $mcookie
diff --git a/x11/xinit/pkg-descr b/x11/xinit/pkg-descr
index 2676f6a4a1fd..11e0b7845da1 100644
--- a/x11/xinit/pkg-descr
+++ b/x11/xinit/pkg-descr
@@ -1 +1,7 @@
-This package contains xinit, the X Window System initializer.
+The xinit program is used to start the X Window System server and a
+first client program on systems that are not using a display manager
+such as xdm.
+
+The xinit is not intended for naive users. Instead, site administrators
+should design user-friendly scripts that present the desired interface
+when starting up X. The startx script is one such example.