summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTimo Teräs <timo.teras@iki.fi>2013-09-20 14:10:16 +0000
committerTimo Teräs <timo.teras@iki.fi>2013-09-20 14:10:34 +0000
commit7592439604e9c54892319b61862cebbb3e61b1b4 (patch)
tree159511616274c64eda46a82d0bc97e211c91aee8
parentba1f254fce19f57b8f2b969412b6fc107822ce90 (diff)
downloadaports-7592439604e9c54892319b61862cebbb3e61b1b4.tar.bz2
aports-7592439604e9c54892319b61862cebbb3e61b1b4.tar.xz
main/musl: add rfc3678 multicast structures (for openpgm)
-rw-r--r--main/musl/APKBUILD6
-rw-r--r--main/musl/add-rfc3678-mcast-structs.patch76
2 files changed, 81 insertions, 1 deletions
diff --git a/main/musl/APKBUILD b/main/musl/APKBUILD
index a55f6657a..beec7fe38 100644
--- a/main/musl/APKBUILD
+++ b/main/musl/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: William Pitcock <nenolod@dereferenced.org>
pkgname=musl
pkgver=0.9.13
-pkgrel=0
+pkgrel=1
pkgdesc="the musl c library (libc) implementation"
url="http://www.musl-libc.org/"
arch="all"
@@ -14,6 +14,7 @@ install=""
subpackages="$pkgname-dev $pkgname-utils"
[ "${CTARGET#*musl}" = "$CTARGET" ] && subpackages="$subpackages musl-gcc:crosstool"
source="http://www.musl-libc.org/releases/musl-$pkgver.tar.gz
+ add-rfc3678-mcast-structs.patch
getopt_long.c
getent
"
@@ -91,11 +92,14 @@ crosstool() {
}
md5sums="6af97d6157a2f4ee7a17af2316389fd7 musl-0.9.13.tar.gz
+dcdded62320e3aa2a550058a75bc9c6e add-rfc3678-mcast-structs.patch
61c6c1e84ed1df82abbe6d75e90cf21c getopt_long.c
ef81489a6258501cf45db58dfc6d5211 getent"
sha256sums="9ad29ff43dd767956280e58229fd5ae2ff0f3cec026063b381a72d1b743428e5 musl-0.9.13.tar.gz
+6e8c4fe897c88e4b8f5654766cdaa5d14a0bfa51f28518b53cba2628ca700cdb add-rfc3678-mcast-structs.patch
d9b644ec20bc33e81a7c52b9fcf7973d835923a69faf50f03db45534b811bd96 getopt_long.c
d6996273f5aaaed429058257e4646b243d9e3a4d8609522f802762453f5be4cb getent"
sha512sums="623a7addd032b2fed5850451225c45fac07e0496467c9f3b3355baab6d0b8aeb011af6ed7c298dd396b3820d5bd82fc84fe95e79e3dc9ad7ee9b96f954e0cc5b musl-0.9.13.tar.gz
+72789ddf7018bb0878cb1f9c8a47d7b371a9a3e1c58693090d518bf1cc0d26e4edda3e3a405b2ddcdfb06f05a94eb4a358d9e26f742702be891a6578673a0369 add-rfc3678-mcast-structs.patch
140f3f20d30bd95ebce8c41b8cc7f616c6cbedf4ea06c729c21014e74f6043796825cc40ebc5180620ea38173afdba23f09ebf6d8b11fa05440b14d23764fca9 getopt_long.c
4d92f934d760cf5157d80f19fd766be6b673c65317229b32ac824d9d192f6abcc414e2382b2416dfd5c2f757b46ced98c18e4762bf91f5a48647e0ee61813b06 getent"
diff --git a/main/musl/add-rfc3678-mcast-structs.patch b/main/musl/add-rfc3678-mcast-structs.patch
new file mode 100644
index 000000000..b7abcf166
--- /dev/null
+++ b/main/musl/add-rfc3678-mcast-structs.patch
@@ -0,0 +1,76 @@
+From 6f47d853d3bab864020a4e2444aaaa3391ee308e Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Timo=20Ter=C3=A4s?= <timo.teras@iki.fi>
+Date: Wed, 31 Jul 2013 12:05:14 +0300
+Subject: [PATCH] add multicast structures from RFC 3678 to netinet/in.h
+
+and use _GNU_SOURCE || _BSD_SOURCE guards for all of the RFC 3678
+namespace polluting things like glibc/uclibc does.
+---
+ include/netinet/in.h | 43 ++++++++++++++++++++++++++++++++++++++++++-
+ 1 file changed, 42 insertions(+), 1 deletion(-)
+
+diff --git a/include/netinet/in.h b/include/netinet/in.h
+index d886fc2..b7a8a7a 100644
+--- a/include/netinet/in.h
++++ b/include/netinet/in.h
+@@ -204,7 +204,7 @@ uint16_t ntohs(uint16_t);
+ #define IP_MULTICAST_ALL 49
+ #define IP_UNICAST_IF 50
+
+-#ifdef _GNU_SOURCE
++#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
+ #define MCAST_JOIN_GROUP 42
+ #define MCAST_BLOCK_SOURCE 43
+ #define MCAST_UNBLOCK_SOURCE 44
+@@ -249,6 +249,47 @@ struct ip_mreqn
+ int imr_ifindex;
+ };
+
++struct ip_mreq_source {
++ uint32_t imr_multiaddr;
++ uint32_t imr_interface;
++ uint32_t imr_sourceaddr;
++};
++
++struct ip_msfilter {
++ uint32_t imsf_multiaddr;
++ uint32_t imsf_interface;
++ uint32_t imsf_fmode;
++ uint32_t imsf_numsrc;
++ uint32_t imsf_slist[1];
++};
++#define IP_MSFILTER_SIZE(numsrc) \
++ (sizeof(struct ip_msfilter) - sizeof(uint32_t) \
++ + (numsrc) * sizeof(uint32_t))
++
++#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
++struct group_req {
++ uint32_t gr_interface;
++ struct sockaddr_storage gr_group;
++};
++
++struct group_source_req {
++ uint32_t gsr_interface;
++ struct sockaddr_storage gsr_group;
++ struct sockaddr_storage gsr_source;
++};
++
++struct group_filter {
++ uint32_t gf_interface;
++ struct sockaddr_storage gf_group;
++ uint32_t gf_fmode;
++ uint32_t gf_numsrc;
++ struct sockaddr_storage gf_slist[1];
++};
++#define GROUP_FILTER_SIZE(numsrc) \
++ (sizeof(struct group_filter) - sizeof(struct sockaddr_storage) \
++ + (numsrc) * sizeof(struct sockaddr_storage))
++#endif
++
+ struct in_pktinfo
+ {
+ int ipi_ifindex;
+--
+1.8.3.3
+
+