summaryrefslogtreecommitdiff
path: root/x11/xinit
diff options
context:
space:
mode:
Diffstat (limited to 'x11/xinit')
-rw-r--r--x11/xinit/Makefile16
-rw-r--r--x11/xinit/distinfo6
-rw-r--r--x11/xinit/files/patch-startx.cpp38
-rw-r--r--x11/xinit/files/patch-startx.in50
-rw-r--r--x11/xinit/pkg-descr8
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.