From 6c4df370a29c7e5ceb675dc33abb4fbce398cab8 Mon Sep 17 00:00:00 2001 From: Sam James Date: Sat, 9 Dec 2023 16:37:52 +0000 Subject: x11-apps/xdm: fix modern C issue Closes: https://bugs.gentoo.org/919207 Signed-off-by: Sam James --- 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(+) create mode 100644 x11-apps/xdm/files/xdm-1.1.14-c99.patch create mode 100644 x11-apps/xdm/xdm-1.1.14-r1.ebuild 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 +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 +--- 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 +} -- cgit v1.2.3-65-gdbad