commit:     6c4df370a29c7e5ceb675dc33abb4fbce398cab8
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Dec  9 16:37:52 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Dec  9 18:06:00 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6c4df370

x11-apps/xdm: fix modern C issue

Closes: https://bugs.gentoo.org/919207
Signed-off-by: Sam James <sam <AT> gentoo.org>

 x11-apps/xdm/files/xdm-1.1.14-c99.patch | 38 +++++++++++++++
 x11-apps/xdm/xdm-1.1.14-r1.ebuild       | 83 +++++++++++++++++++++++++++++++++
 2 files changed, 121 insertions(+)

diff --git a/x11-apps/xdm/files/xdm-1.1.14-c99.patch 
b/x11-apps/xdm/files/xdm-1.1.14-c99.patch
new file mode 100644
index 000000000000..a72d961e3f60
--- /dev/null
+++ b/x11-apps/xdm/files/xdm-1.1.14-c99.patch
@@ -0,0 +1,38 @@
+https://bugs.gentoo.org/919207
+https://gitlab.freedesktop.org/xorg/app/xdm/-/issues/15
+https://gitlab.freedesktop.org/xorg/app/xdm/-/merge_requests/18
+
+From bccb77746528134aa2e865ca4f44fd9424738b3f Mon Sep 17 00:00:00 2001
+From: Alan Coopersmith <[email protected]>
+Date: Tue, 5 Dec 2023 17:25:28 -0800
+Subject: [PATCH] Fix -Wincompatible-pointer-types warning from gcc (issue #15)
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+chooser.c:280:26: warning: passing argument 2 of ‘XawListChange’ from
+ incompatible pointer type [-Wincompatible-pointer-types]
+  280 |     XawListChange (list, newTable, size, 0, TRUE);
+      |                          ^~~~~~~~
+      |                          |
+      |                          char **
+In file included from chooser.c:59:
+/usr/include/X11/Xaw/List.h:170:27: note: expected ‘const char **’ but
+ argument is of type ‘char **’
+  170 |  _Xconst char           **list,
+
+Closes: #15
+Signed-off-by: Alan Coopersmith <[email protected]>
+--- a/chooser/chooser.c
++++ b/chooser/chooser.c
+@@ -277,7 +277,7 @@ RebuildTable (int size)
+           newTable[i] = names->fullname;
+       qsort (newTable, size, sizeof (char *), HostnameCompare);
+     }
+-    XawListChange (list, newTable, size, 0, TRUE);
++    XawListChange (list, (_Xconst char **) newTable, size, 0, TRUE);
+     free (NameTable);
+     NameTable = newTable;
+     NameTableSize = size;
+-- 
+GitLab

diff --git a/x11-apps/xdm/xdm-1.1.14-r1.ebuild 
b/x11-apps/xdm/xdm-1.1.14-r1.ebuild
new file mode 100644
index 000000000000..05afdd6ad05a
--- /dev/null
+++ b/x11-apps/xdm/xdm-1.1.14-r1.ebuild
@@ -0,0 +1,83 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+XORG_TARBALL_SUFFIX="xz"
+inherit xorg-3 pam systemd
+
+DEFAULTVT=vt7
+
+DESCRIPTION="X.Org xdm application"
+
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv 
~s390 ~sparc ~x86"
+IUSE="pam systemd truetype xinerama xpm"
+
+RDEPEND="
+       x11-apps/sessreg
+       x11-apps/xconsole
+       x11-apps/xinit
+       x11-apps/xrdb
+       x11-apps/xsm
+       x11-libs/libX11
+       x11-libs/libXau
+       x11-libs/libXaw
+       x11-libs/libXdmcp
+       x11-libs/libXext
+       x11-libs/libXmu
+       x11-libs/libXt
+       virtual/libcrypt:=
+       pam? ( sys-libs/pam )
+       systemd? ( >=sys-apps/systemd-209:= )
+       truetype? (
+               x11-libs/libXrender
+               x11-libs/libXft
+       )
+       xinerama? ( x11-libs/libXinerama )
+       xpm? ( x11-libs/libXpm )
+       elibc_glibc? ( dev-libs/libbsd )"
+DEPEND="${RDEPEND}
+       x11-base/xorg-proto"
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-1.1.14-c99.patch
+)
+
+src_prepare() {
+       sed -i -e 's:^Alias=.*$:Alias=display-manager.service:' \
+               xdm.service.in || die
+
+       # Disable XDM-AUTHORIZATION-1 (bug #445662).
+       # it causes issue with libreoffice and SDL games (bug #306223).
+       sed -i -e '/authorize/a DisplayManager*authName:        
MIT-MAGIC-COOKIE-1' \
+                       config/xdm-config.in || die
+
+       xorg-3_src_prepare
+}
+
+src_configure() {
+       local XORG_CONFIGURE_OPTIONS=(
+               --enable-ipv6
+               $(use_with pam)
+               $(use_with systemd systemd-daemon)
+               $(use_with truetype xft)
+               $(use_with xinerama)
+               $(use_enable xpm xpm-logos)
+               --with-systemdsystemunitdir="$(systemd_get_systemunitdir)"
+               --with-default-vt=${DEFAULTVT}
+               --with-xdmconfigdir=/etc/X11/xdm
+       )
+       xorg-3_src_configure
+}
+
+src_install() {
+       xorg-3_src_install
+
+       exeinto /usr/$(get_libdir)/X11/xdm
+       doexe "${FILESDIR}"/Xsession
+
+       use pam && pamd_mimic system-local-login xdm auth account session
+
+       # Keep /var/lib/xdm. This is where authfiles are stored. See #286350.
+       keepdir /var/lib/xdm
+}

Reply via email to