diff options
author | Robert Gerus <arachnist@i.am-a.cat> | 2015-05-20 09:53:22 +0200 |
---|---|---|
committer | Robert Gerus <arachnist@i.am-a.cat> | 2015-05-20 09:53:22 +0200 |
commit | 49299de898af3375c31ec756d90012da069e0159 (patch) | |
tree | 4b951abeb230bcba2db471192508fe021a87d9e7 | |
parent | 37c3dee21a130b4ba0b2b94cc4fd6b87eaedfe18 (diff) | |
download | gentoo-overlay-49299de898af3375c31ec756d90012da069e0159.tar.gz gentoo-overlay-49299de898af3375c31ec756d90012da069e0159.tar.bz2 gentoo-overlay-49299de898af3375c31ec756d90012da069e0159.tar.xz gentoo-overlay-49299de898af3375c31ec756d90012da069e0159.zip |
Conditionally patch ppp on musl. This is bad. PPP (lack of) build system is bad.
-rw-r--r-- | net-dialup/ppp/files/musl.patch | 136 | ||||
-rw-r--r-- | net-dialup/ppp/ppp-2.4.7-r1.ebuild | 5 |
2 files changed, 141 insertions, 0 deletions
diff --git a/net-dialup/ppp/files/musl.patch b/net-dialup/ppp/files/musl.patch new file mode 100644 index 0000000..802409f --- /dev/null +++ b/net-dialup/ppp/files/musl.patch @@ -0,0 +1,136 @@ +--- pppd/Makefile.linux ++++ pppd/Makefile.linux +@@ -126,7 +126,7 @@ LIBS += -lcrypt + endif + + ifdef USE_LIBUTIL +-CFLAGS += -DHAVE_LOGWTMP=1 ++#CFLAGS += -DHAVE_LOGWTMP=1 + LIBS += -lutil + endif + +--- pppd/plugins/rp-pppoe/if.c ++++ pppd/plugins/rp-pppoe/if.c +@@ -30,10 +30,6 @@ static char const RCSID[] = + #include <linux/if_packet.h> + #endif + +-#ifdef HAVE_NET_ETHERNET_H +-#include <net/ethernet.h> +-#endif +- + #ifdef HAVE_ASM_TYPES_H + #include <asm/types.h> + #endif +--- pppd/plugins/rp-pppoe/plugin.c ++++ pppd/plugins/rp-pppoe/plugin.c +@@ -46,7 +46,6 @@ static char const RCSID[] = + #include <unistd.h> + #include <fcntl.h> + #include <signal.h> +-#include <net/ethernet.h> + #include <net/if_arp.h> + #include <linux/ppp_defs.h> + #include <linux/if_pppox.h> +--- pppd/plugins/rp-pppoe/pppoe-discovery.c ++++ pppd/plugins/rp-pppoe/pppoe-discovery.c +@@ -27,10 +27,6 @@ + #include <linux/if_packet.h> + #endif + +-#ifdef HAVE_NET_ETHERNET_H +-#include <net/ethernet.h> +-#endif +- + #ifdef HAVE_ASM_TYPES_H + #include <asm/types.h> + #endif +@@ -55,6 +51,8 @@ void die(int status) + exit(status); + } + ++#define error(x...) fprintf(stderr, x) ++ + /* Initialize frame types to RFC 2516 values. Some broken peers apparently + use different frame types... sigh... */ + +--- pppd/plugins/rp-pppoe/pppoe.h ++++ pppd/plugins/rp-pppoe/pppoe.h +@@ -86,18 +86,6 @@ typedef unsigned long UINT32_t; + + #include <netinet/in.h> + +-#ifdef HAVE_NETINET_IF_ETHER_H +-#include <sys/types.h> +- +-#ifdef HAVE_SYS_SOCKET_H +-#include <sys/socket.h> +-#endif +-#ifndef HAVE_SYS_DLPI_H +-#include <netinet/if_ether.h> +-#endif +-#endif +- +- + + /* Ethernet frame types according to RFC 2516 */ + #define ETH_PPPOE_DISCOVERY 0x8863 +--- pppd/sys-linux.c ++++ pppd/sys-linux.c +@@ -102,19 +102,11 @@ + #define MAX_ADDR_LEN 7 + #endif + +-#if __GLIBC__ >= 2 + #include <asm/types.h> /* glibc 2 conflicts with linux/types.h */ + #include <net/if.h> + #include <net/if_arp.h> + #include <net/route.h> + #include <netinet/if_ether.h> +-#else +-#include <linux/types.h> +-#include <linux/if.h> +-#include <linux/if_arp.h> +-#include <linux/route.h> +-#include <linux/if_ether.h> +-#endif + #include <netinet/in.h> + #include <arpa/inet.h> + + +--- include/linux/ppp_defs.h.orig 2015-05-10 10:59:27.959155977 +0200 ++++ include/linux/ppp_defs.h 2015-05-10 10:59:50.190403246 +0200 +@@ -50,6 +50,9 @@ + #ifndef _PPP_DEFS_H_ + #define _PPP_DEFS_H_ + ++#ifndef __P ++# define __P(x) x ++#endif + /* + * The basic PPP frame. + */ +--- pppd/magic.h.orig 2015-05-10 11:00:16.687697962 +0200 ++++ pppd/magic.h 2015-05-10 11:00:34.030890864 +0200 +@@ -42,6 +42,10 @@ + * $Id: magic.h,v 1.5 2003/06/11 23:56:26 paulus Exp $ + */ + ++#ifndef __P ++# define __P(x) x ++#endif ++ + void magic_init __P((void)); /* Initialize the magic number generator */ + u_int32_t magic __P((void)); /* Returns the next magic number */ + +--- include/net/ppp_defs.h.orig 2015-05-10 11:09:54.505127657 +0200 ++++ include/net/ppp_defs.h 2015-05-10 11:10:10.753309024 +0200 +@@ -38,6 +38,8 @@ + #ifndef _PPP_DEFS_H_ + #define _PPP_DEFS_H_ + ++#include <sys/time.h> /* time_t */ ++ + /* + * The basic PPP frame. + */ diff --git a/net-dialup/ppp/ppp-2.4.7-r1.ebuild b/net-dialup/ppp/ppp-2.4.7-r1.ebuild index dd596dd..c31afd1 100644 --- a/net-dialup/ppp/ppp-2.4.7-r1.ebuild +++ b/net-dialup/ppp/ppp-2.4.7-r1.ebuild @@ -81,6 +81,11 @@ src_prepare() { einfo "Disabling radius" sed -i -e '/+= radius/s:^:#:' pppd/plugins/Makefile.linux || die fi + + if use elibc_musl ; then + einfo "Conditionally patching for musl" + epatch "${FILESDIR}"/musl.patch + fi } src_compile() { |