summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2023-12-09 16:37:52 +0000
committerSam James <sam@gentoo.org>2023-12-09 18:06:00 +0000
commit6c4df370a29c7e5ceb675dc33abb4fbce398cab8 (patch)
tree3b474b0bed1a728192cd970b96e14f05fc6a9c27
parentx11-apps/xlsfonts: fix modern C issue (diff)
downloadgentoo-6c4df370a29c7e5ceb675dc33abb4fbce398cab8.tar.gz
gentoo-6c4df370a29c7e5ceb675dc33abb4fbce398cab8.tar.bz2
gentoo-6c4df370a29c7e5ceb675dc33abb4fbce398cab8.zip
x11-apps/xdm: fix modern C issue
Closes: https://bugs.gentoo.org/919207 Signed-off-by: Sam James <sam@gentoo.org>
-rw-r--r--x11-apps/xdm/files/xdm-1.1.14-c99.patch38
-rw-r--r--x11-apps/xdm/xdm-1.1.14-r1.ebuild83
2 files changed, 121 insertions, 0 deletions
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 <alan.coopersmith@oracle.com>
+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 <alan.coopersmith@oracle.com>
+--- 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
+}