summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTimo Teräs <timo.teras@iki.fi>2014-07-18 11:25:02 +0300
committerTimo Teräs <timo.teras@iki.fi>2014-07-18 11:25:02 +0300
commit74e3144f1a2e9d8525505e5301ffbff7609ce029 (patch)
treef8a56d1d03fc0800c0841f2a9c6ed4949c43f424
parentafdcd4028b69c64298ce535b1dccc0c3725bc4a0 (diff)
downloadaports-74e3144f1a2e9d8525505e5301ffbff7609ce029.tar.bz2
aports-74e3144f1a2e9d8525505e5301ffbff7609ce029.tar.xz
main/lxdm: fix 64-bit musl build
use designed initializer for msghdr since it contains __pad members on musl/64-bit.
-rw-r--r--main/lxdm/APKBUILD6
-rw-r--r--main/lxdm/fix-msghdr-usage.patch40
2 files changed, 45 insertions, 1 deletions
diff --git a/main/lxdm/APKBUILD b/main/lxdm/APKBUILD
index 7c402648f..503d434e4 100644
--- a/main/lxdm/APKBUILD
+++ b/main/lxdm/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: William Pitcock <nenolod@dereferenced.org>
pkgname=lxdm
pkgver=0.5.0
-pkgrel=0
+pkgrel=1
pkgdesc="LXDE desktop login manager"
url="http://wiki.lxde.org/en/LXDM"
license="GPL"
@@ -12,6 +12,7 @@ install=
subpackages="$pkgname-lang"
source="http://downloads.sourceforge.net/lxdm/$pkgname-$pkgver.tar.xz
execinfo.patch
+ fix-msghdr-usage.patch
background.png
lxdm.initd
index.theme.alpine"
@@ -74,16 +75,19 @@ package() {
md5sums="a51686720e606ca456d7f56ae4159d1f lxdm-0.5.0.tar.xz
72ecfef17755c671963c11694bfc51b1 execinfo.patch
+171e655121c7478d12f5ce268734b4af fix-msghdr-usage.patch
a510afe725112947d16f6c1f0602effe background.png
d6455d172d5d897f6bfcefe9a1a632c7 lxdm.initd
06ea32ef440375839851c4bc7caea004 index.theme.alpine"
sha256sums="6e876fe8cc52341f3f55c54517da1c6dcf794aa11caffbf5a929ded442a949d4 lxdm-0.5.0.tar.xz
d7cca99d05f6a47c01190e88bd895adc104ac465a5ded56cc20bc6ede2f3330d execinfo.patch
+3fb10dcbf096875ca66bd2fe74c846caf2286f07953ac58aefd8d07fa7f8fa92 fix-msghdr-usage.patch
85c461814ff8ce3262badc51103b9a4802fbdda21dbe8160e536793224e83aa9 background.png
50b520ae187a71f002e5b246f1961c1ecfc3955681be94768f51ed78caa5ac65 lxdm.initd
223360ecc54cb829fe145dd06ea09b85ed052a08d4baba6517c0fa7ae2175f76 index.theme.alpine"
sha512sums="b25fe570699a94a41f294f20375adebdb5ac0f8f3911c45d2ecafa1c103b7b91353660d7b2ffd01468c5dc156f449a42dd391e795603999ebba6b8b41071d17f lxdm-0.5.0.tar.xz
b66d47a3c026f84c76fb6ae0701ff69d2736a2c0fdf898191836c0c5e2b0d624c7a7846cd38596ee800fab53ebcd843c26779c56c0f655df1659ecc5b251b576 execinfo.patch
+1eaf438e64901168a557d3e278de4dd7eb4e580594175a26f9c8d27bd8de2dae81467ebd3a96f0a4dfb5f19c2257ce1ee5608e753e8d9d53c2e4ba488f798b0e fix-msghdr-usage.patch
89640deb308d4f4f22f664096992a99cc03eab39ca5caa690422611fb724c8f245795ae80260cf8b9cb75e3dddf7877ec3aa0670885e01530facc2628cf84ee0 background.png
2f456cfe46f51a1ac95a95b2a8fe5c166fb2991831368648e8e5912ce7c8fa1cea29c569a588c1d7bc4760fea87d8d7e2ee4d192e12a0b1ddf785a0c18478300 lxdm.initd
1374daa94bde0fb71056cebc8524da32b57c241a8af97501daa930c43dc087aa3fec2d79f10ceab5a73a4dcf9cce478fb77575d7019cafd54ad9731c9e9dd55f index.theme.alpine"
diff --git a/main/lxdm/fix-msghdr-usage.patch b/main/lxdm/fix-msghdr-usage.patch
new file mode 100644
index 000000000..7840c59b1
--- /dev/null
+++ b/main/lxdm/fix-msghdr-usage.patch
@@ -0,0 +1,40 @@
+diff -ru lxdm-0.5.0.orig/src/lxcom.c lxdm-0.5.0/src/lxcom.c
+--- lxdm-0.5.0.orig/src/lxcom.c 2013-10-04 10:40:08.000000000 -0300
++++ lxdm-0.5.0/src/lxcom.c 2014-07-18 11:21:22.734631159 -0300
+@@ -116,12 +116,20 @@
+ char buf[4096];
+ 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 cmsghdr *cmptr;
+ int ret;
+
+- while(1)
++ while (1)
+ {
++ struct iovec v={buf,sizeof(buf)};
++ struct msghdr h={
++ .msg_name = &peer,
++ .msg_namelen = sizeof(peer),
++ .msg_iov = &v,
++ .msg_iovlen = 1,
++ .msg_control = ctrl,
++ .msg_controllen = sizeof(ctrl)
++ };
++
+ peer.sun_family=0;
+ ret=recvmsg(self_server_fd,&h,0);
+
+@@ -315,7 +323,10 @@
+ static ssize_t lxcom_write(int s,const void *buf,size_t count)
+ {
+ struct iovec iov[1] ={{(void*)buf,count,}};
+- struct msghdr msg = { 0, 0, iov, 1, 0, 0, 0 };
++ struct msghdr msg = {
++ .msg_iov = iov,
++ .msg_iovlen = 1
++ };
+ #if !defined(linux) && !defined(__NetBSD__)
+
+ #if defined(__sun)