diff options
author | Timo Teräs <timo.teras@iki.fi> | 2013-09-20 14:10:16 +0000 |
---|---|---|
committer | Timo Teräs <timo.teras@iki.fi> | 2013-09-20 14:10:34 +0000 |
commit | 7592439604e9c54892319b61862cebbb3e61b1b4 (patch) | |
tree | 159511616274c64eda46a82d0bc97e211c91aee8 | |
parent | ba1f254fce19f57b8f2b969412b6fc107822ce90 (diff) | |
download | aports-7592439604e9c54892319b61862cebbb3e61b1b4.tar.bz2 aports-7592439604e9c54892319b61862cebbb3e61b1b4.tar.xz |
main/musl: add rfc3678 multicast structures (for openpgm)
-rw-r--r-- | main/musl/APKBUILD | 6 | ||||
-rw-r--r-- | main/musl/add-rfc3678-mcast-structs.patch | 76 |
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 + + |