commit:     f9f0e0bab1bb8213223e5fe44b3f2d7b7d44ead4
Author:     Brian Evans <grknight <AT> gentoo <DOT> org>
AuthorDate: Sun Mar 26 01:28:45 2023 +0000
Commit:     Brian Evans <grknight <AT> gentoo <DOT> org>
CommitDate: Sun Mar 26 01:28:45 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f9f0e0ba

lxde-base/lxdm: Patch socket header failure on musl + clang:16

Makes struct members explicit

Closes: https://bugs.gentoo.org/896032
Patch-by: Sam James <sam <AT> gentoo.org>
Signed-off-by: Brian Evans <grknight <AT> gentoo.org>

 lxde-base/lxdm/files/lxdm-0.5.3-portable-msghdr.patch | 18 ++++++++++++++++++
 lxde-base/lxdm/lxdm-0.5.3-r4.ebuild                   | 14 +++++++++-----
 2 files changed, 27 insertions(+), 5 deletions(-)

diff --git a/lxde-base/lxdm/files/lxdm-0.5.3-portable-msghdr.patch 
b/lxde-base/lxdm/files/lxdm-0.5.3-portable-msghdr.patch
new file mode 100644
index 000000000000..dc7f8ad016e9
--- /dev/null
+++ b/lxde-base/lxdm/files/lxdm-0.5.3-portable-msghdr.patch
@@ -0,0 +1,18 @@
+--- a/src/lxcom.c
++++ b/src/lxcom.c
+@@ -117,7 +117,15 @@
+       char ctrl[/*CMSG_SPACE(sizeof(LXDM_CRED))*/1024];
+       struct sockaddr_un peer;
+       struct iovec v={buf,sizeof(buf)};
+-      struct msghdr h={&peer,sizeof(peer),&v,1,ctrl,sizeof(ctrl),0};
++      struct msghdr h={
++              .msg_name = &peer,
++              .msg_namelen = sizeof(peer),
++              .msg_iov = &v,
++              .msg_iovlen = 1,
++              .msg_control = ctrl,
++              .msg_controllen = sizeof(ctrl),
++              .msg_flags = 0
++      };
+       struct cmsghdr *cmptr;
+       int ret;

diff --git a/lxde-base/lxdm/lxdm-0.5.3-r4.ebuild 
b/lxde-base/lxdm/lxdm-0.5.3-r4.ebuild
index 1242ecf466fa..f4ccc1ad9647 100644
--- a/lxde-base/lxdm/lxdm-0.5.3-r4.ebuild
+++ b/lxde-base/lxdm/lxdm-0.5.3-r4.ebuild
@@ -42,15 +42,19 @@ DOCS=( AUTHORS README TODO )
 
 REQUIRED_USE="?? ( elogind systemd ) elogind? ( pam ) systemd? ( pam )"
 
+PATCHES=(
+       # Fix consolekit and selinux
+       "${FILESDIR}/${P}-pam.patch"
+       # Apply all upstream fixes in git until 2016-11-11
+       "${FILESDIR}/lxdm-0.5.3-upstream-fixes.patch"
+       "${FILESDIR}/lxdm-0.5.3-portable-msghdr.patch"
+)
+
 src_prepare() {
        # Upstream bug, tarball contains pre-made lxdm.conf
        rm "${S}"/data/lxdm.conf || die
 
-       # Fix consolekit and selinux
-       eapply "${FILESDIR}/${P}-pam.patch"
-       # Apply all upstream fixes in git until 2016-11-11
-       eapply "${FILESDIR}/lxdm-0.5.3-upstream-fixes.patch"
-       eapply_user
+       default
 
        # this replaces the bootstrap/autogen script in most packages
        eautoreconf

Reply via email to