Gentoo Archives: gentoo-commits

From: "Anthony G. Basile" <blueness@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/hardened-dev:musl commit in: net-libs/libtirpc/, net-libs/libtirpc/files/
Date: Sat, 31 Jan 2015 21:33:44
Message-Id: 1422739979.74727efe17783c5bb57916f8f86009af1bd28c2a.blueness@gentoo
1 commit: 74727efe17783c5bb57916f8f86009af1bd28c2a
2 Author: Dagg <daggs <AT> gmx <DOT> com>
3 AuthorDate: Sat Jan 10 14:46:39 2015 +0000
4 Commit: Anthony G. Basile <blueness <AT> gentoo <DOT> org>
5 CommitDate: Sat Jan 31 21:32:59 2015 +0000
6 URL: http://sources.gentoo.org/gitweb/?p=proj/hardened-dev.git;a=commit;h=74727efe
7
8 net-libs/libtirpc: multiple fixes
9
10 ---
11 ...rpcbynumber-and-getrpcbyname-if-those-are.patch | 85 ++
12 .../libtirpc/files/0002-Misc-header-fixes.patch | 40 +
13 .../libtirpc/files/0003-fix_cdefs_h_include.patch | 618 ++++++++++
14 net-libs/libtirpc/files/0004-fix_DECLS.patch | 1226 ++++++++++++++++++++
15 .../libtirpc/files/0005-fix_remaining_issues.patch | 14 +
16 .../libtirpc/files/0006-fix_queue_h_include.patch | 44 +
17 net-libs/libtirpc/files/0007-no-des.patch | 29 +
18 .../libtirpc/files/libtirpc-0.2.5-stdarg.patch | 29 +
19 net-libs/libtirpc/libtirpc-0.2.5-r99.ebuild | 74 ++
20 net-libs/libtirpc/metadata.xml | 5 +
21 10 files changed, 2164 insertions(+)
22
23 diff --git a/net-libs/libtirpc/files/0001-Provide-getrpcbynumber-and-getrpcbyname-if-those-are.patch b/net-libs/libtirpc/files/0001-Provide-getrpcbynumber-and-getrpcbyname-if-those-are.patch
24 new file mode 100644
25 index 0000000..3708638
26 --- /dev/null
27 +++ b/net-libs/libtirpc/files/0001-Provide-getrpcbynumber-and-getrpcbyname-if-those-are.patch
28 @@ -0,0 +1,85 @@
29 +From d3b5ffed6d7d49cc93b2343afcf0e4502a3e54ce Mon Sep 17 00:00:00 2001
30 +From: Natanael Copa <ncopa@×××××××××××.org>
31 +Date: Thu, 24 Apr 2014 09:19:45 +0200
32 +Subject: [PATCH 1/2] Provide getrpcbynumber and getrpcbyname if those are
33 + missing
34 +
35 +We enable the config.h again and check fi getrpcbynumber and
36 +getrpcbyname exists on the building patform. If it does not exist, then
37 +provide those functions.
38 +
39 +This is needed for musl libc.
40 +---
41 + configure.ac | 6 ++++--
42 + src/getrpcent.c | 10 ++++++++--
43 + 2 files changed, 12 insertions(+), 4 deletions(-)
44 +
45 +diff --git a/configure.ac b/configure.ac
46 +index 10d17ea..0180801 100644
47 +--- a/configure.ac
48 ++++ b/configure.ac
49 +@@ -24,14 +24,16 @@ if test "x$enable_ipv6" != xno; then
50 + fi
51 +
52 + AC_PROG_CC
53 +-m4_pattern_allow(AM_CONFIG_HEADERS(config.h))
54 ++AC_CONFIG_HEADERS([config.h])
55 + AC_PROG_LIBTOOL
56 + AC_HEADER_DIRENT
57 + AC_PREFIX_DEFAULT(/usr)
58 + AC_CHECK_HEADERS([arpa/inet.h fcntl.h libintl.h limits.h locale.h netdb.h netinet/in.h stddef.h stdint.h stdlib.h string.h sys/ioctl.h sys/param.h sys/socket.h sys/time.h syslog.h unistd.h])
59 + AC_CHECK_LIB([pthread], [pthread_create])
60 + AC_CHECK_LIB([nsl], [yp_get_default_domain])
61 +-
62 ++AC_CHECK_FUNCS([getrpcbyname getrpcbynumber])
63 +
64 + AC_CONFIG_FILES([Makefile src/Makefile man/Makefile doc/Makefile])
65 + AC_OUTPUT(libtirpc.pc)
66 ++
67 ++
68 +diff --git a/src/getrpcent.c b/src/getrpcent.c
69 +index 1b54b6d..6da006a 100644
70 +--- a/src/getrpcent.c
71 ++++ b/src/getrpcent.c
72 +@@ -50,6 +50,10 @@
73 + #include <libc_private.h>
74 + #endif
75 +
76 ++#if HAVE_CONFIG_H
77 ++#include "config.h"
78 ++#endif
79 ++
80 + /*
81 + * Internet version.
82 + */
83 +@@ -89,7 +93,7 @@ _rpcdata()
84 + return (d);
85 + }
86 +
87 +-#ifdef GQ
88 ++#if !HAVE_GETRPCBYNYMBER
89 + struct rpcent *
90 + getrpcbynumber(number)
91 + int number;
92 +@@ -135,7 +139,9 @@ no_yp:
93 + endrpcent();
94 + return (p);
95 + }
96 ++#endif /* !HAVE_GETRPCBYNUMBER */
97 +
98 ++#if !HAVE_GETRPCBYNAME
99 + struct rpcent *
100 + getrpcbyname(name)
101 + const char *name;
102 +@@ -158,7 +164,7 @@ done:
103 + endrpcent();
104 + return (rpc);
105 + }
106 +-#endif /* GQ */
107 ++#endif /* !HAVE_GETRPCBYNAME */
108 +
109 + void
110 + setrpcent(f)
111 +--
112 +1.9.2
113 +
114
115 diff --git a/net-libs/libtirpc/files/0002-Misc-header-fixes.patch b/net-libs/libtirpc/files/0002-Misc-header-fixes.patch
116 new file mode 100644
117 index 0000000..9287d03
118 --- /dev/null
119 +++ b/net-libs/libtirpc/files/0002-Misc-header-fixes.patch
120 @@ -0,0 +1,40 @@
121 +From ed6dc31ed1092baf42f99278ef9c5c297805c3d0 Mon Sep 17 00:00:00 2001
122 +From: Natanael Copa <ncopa@×××××××××××.org>
123 +Date: Thu, 24 Apr 2014 08:58:20 +0200
124 +Subject: [PATCH 2/2] Misc header fixes
125 +
126 +src/bindresvport.c: IPPORT_RESERVED needs netdb.h
127 +
128 +Misc fixes for building on musl libc
129 +---
130 + src/bindresvport.c | 1 +
131 + tirpc/netconfig.h | 1 +
132 + tirpc/rpc/rpcent.h | 2 +-
133 + tirpc/rpc/types.h | 1 +
134 + 4 files changed, 4 insertions(+), 1 deletion(-)
135 +
136 +diff --git a/src/bindresvport.c b/src/bindresvport.c
137 +index d6d9c14..5a7a1a9 100644
138 +--- a/src/bindresvport.c
139 ++++ b/src/bindresvport.c
140 +@@ -37,6 +37,7 @@
141 + #include <sys/types.h>
142 + #include <sys/socket.h>
143 +
144 ++#include <netdb.h>
145 + #include <netinet/in.h>
146 +
147 + #include <errno.h>
148 +diff --git a/tirpc/rpc/rpcent.h b/tirpc/rpc/rpcent.h
149 +index c865e51..a36cf91 100644
150 +--- a/tirpc/rpc/rpcent.h
151 ++++ b/tirpc/rpc/rpcent.h
152 +@@ -47,7 +47,7 @@
153 + __BEGIN_DECLS
154 +
155 + /* These are defined in /usr/include/rpc/netdb.h */
156 +-#if 0
157 ++#if !defined(__GLIBC__)
158 + struct rpcent {
159 + char *r_name; /* name of server for this rpc program */
160 + char **r_aliases; /* alias list */
161
162 diff --git a/net-libs/libtirpc/files/0003-fix_cdefs_h_include.patch b/net-libs/libtirpc/files/0003-fix_cdefs_h_include.patch
163 new file mode 100644
164 index 0000000..4f09b70
165 --- /dev/null
166 +++ b/net-libs/libtirpc/files/0003-fix_cdefs_h_include.patch
167 @@ -0,0 +1,618 @@
168 +--- ./tirpc/rpc/xdr.h.orig 2014-11-28 09:09:44.902289976 +0000
169 ++++ ./tirpc/rpc/xdr.h 2014-11-28 09:09:44.903289976 +0000
170 +@@ -40,7 +40,9 @@
171 +
172 + #ifndef _TIRPC_XDR_H
173 + #define _TIRPC_XDR_H
174 ++#ifdef __GLIBC__
175 + #include <sys/cdefs.h>
176 ++#endif
177 + #include <stdio.h>
178 + #include <netinet/in.h>
179 +
180 +--- ./tirpc/rpc/pmap_prot.h.orig 2014-11-28 09:09:44.901289976 +0000
181 ++++ ./tirpc/rpc/pmap_prot.h 2014-11-28 09:09:44.902289976 +0000
182 +@@ -71,7 +71,9 @@
183 +
184 + #ifndef _RPC_PMAP_PROT_H
185 + #define _RPC_PMAP_PROT_H
186 ++#ifdef __GLIBC__
187 + #include <sys/cdefs.h>
188 ++#endif
189 +
190 + #define PMAPPORT ((u_short)111)
191 + #define PMAPPROG ((u_long)100000)
192 +--- ./tirpc/rpc/auth.h.orig 2014-11-28 09:09:44.896289976 +0000
193 ++++ ./tirpc/rpc/auth.h 2014-11-28 09:09:44.897289976 +0000
194 +@@ -48,7 +48,9 @@
195 +
196 + #include <rpc/xdr.h>
197 + #include <rpc/clnt_stat.h>
198 ++#ifdef __GLIBC__
199 + #include <sys/cdefs.h>
200 ++#endif
201 + #include <sys/socket.h>
202 + #include <sys/types.h>
203 +
204 +--- ./tirpc/rpc/svc.h.orig 2014-11-28 09:09:44.904289976 +0000
205 ++++ ./tirpc/rpc/svc.h 2014-11-28 09:09:44.905289976 +0000
206 +@@ -40,7 +40,9 @@
207 +
208 + #ifndef _TIRPC_SVC_H
209 + #define _TIRPC_SVC_H
210 ++#ifdef __GLIBC__
211 + #include <sys/cdefs.h>
212 ++#endif
213 +
214 + /*
215 + * This interface must manage two items concerning remote procedure calling:
216 +--- ./tirpc/rpc/svc_soc.h.orig 2014-11-28 09:09:44.906289976 +0000
217 ++++ ./tirpc/rpc/svc_soc.h 2014-11-28 09:09:44.907289976 +0000
218 +@@ -38,7 +38,9 @@
219 +
220 + #ifndef _RPC_SVC_SOC_H
221 + #define _RPC_SVC_SOC_H
222 ++#ifdef __GLIBC__
223 + #include <sys/cdefs.h>
224 ++#endif
225 +
226 + /* #pragma ident "@(#)svc_soc.h 1.11 94/04/25 SMI" */
227 + /* svc_soc.h 1.8 89/05/01 SMI */
228 +--- ./tirpc/rpc/clnt_soc.h.orig 2014-11-28 09:09:44.893289976 +0000
229 ++++ ./tirpc/rpc/clnt_soc.h 2014-11-28 09:09:44.894289976 +0000
230 +@@ -46,7 +46,9 @@
231 + * with TS-RPC.
232 + */
233 +
234 ++#ifdef __GLIBC__
235 + #include <sys/cdefs.h>
236 ++#endif
237 +
238 + #define UDPMSGSIZE 8800 /* rpc imposed limit on udp msg size */
239 +
240 +--- ./tirpc/rpc/rpc_com.h.orig 2014-11-28 09:09:44.894289976 +0000
241 ++++ ./tirpc/rpc/rpc_com.h 2014-11-28 09:09:44.894289976 +0000
242 +@@ -41,7 +41,9 @@
243 + #ifndef _RPC_RPCCOM_H
244 + #define _RPC_RPCCOM_H
245 +
246 ++#ifdef __GLIBC__
247 + #include <sys/cdefs.h>
248 ++#endif
249 +
250 + /* #pragma ident "@(#)rpc_com.h 1.11 93/07/05 SMI" */
251 +
252 +--- ./tirpc/rpc/auth_unix.h.orig 2014-11-28 09:09:44.905289976 +0000
253 ++++ ./tirpc/rpc/auth_unix.h 2014-11-28 09:09:44.906289976 +0000
254 +@@ -45,7 +45,9 @@
255 +
256 + #ifndef _TIRPC_AUTH_UNIX_H
257 + #define _TIRPC_AUTH_UNIX_H
258 ++#ifdef __GLIBC__
259 + #include <sys/cdefs.h>
260 ++#endif
261 +
262 + /* The machine name is part of a credential; it may not exceed 255 bytes */
263 + #define MAX_MACHINE_NAME 255
264 +--- ./tirpc/rpc/pmap_rmt.h.orig 2014-11-28 09:09:44.899289976 +0000
265 ++++ ./tirpc/rpc/pmap_rmt.h 2014-11-28 09:09:44.900289976 +0000
266 +@@ -41,7 +41,9 @@
267 +
268 + #ifndef _RPC_PMAP_RMT_H
269 + #define _RPC_PMAP_RMT_H
270 ++#ifdef __GLIBC__
271 + #include <sys/cdefs.h>
272 ++#endif
273 +
274 + struct rmtcallargs {
275 + u_long prog, vers, proc, arglen;
276 +--- ./tirpc/rpc/des_crypt.h.orig 2014-11-28 09:09:44.900289976 +0000
277 ++++ ./tirpc/rpc/des_crypt.h 2014-11-28 09:09:44.901289976 +0000
278 +@@ -43,7 +43,9 @@
279 + #ifndef _DES_DES_CRYPT_H
280 + #define _DES_DES_CRYPT_H
281 +
282 ++#ifdef __GLIBC__
283 + #include <sys/cdefs.h>
284 ++#endif
285 + #include <rpc/rpc.h>
286 +
287 + #define DES_MAXDATA 8192 /* max bytes encrypted in one call */
288 +--- ./tirpc/rpc/clnt.h.orig 2014-11-28 09:09:44.897289976 +0000
289 ++++ ./tirpc/rpc/clnt.h 2014-11-28 09:09:44.899289976 +0000
290 +@@ -42,7 +42,9 @@
291 + #include <rpc/clnt_stat.h>
292 + #include <rpc/auth.h>
293 +
294 ++#ifdef __GLIBC__
295 + #include <sys/cdefs.h>
296 ++#endif
297 + #include <netconfig.h>
298 + #include <sys/un.h>
299 +
300 +--- ./tirpc/rpc/pmap_clnt.h.orig 2014-11-28 09:09:44.895289976 +0000
301 ++++ ./tirpc/rpc/pmap_clnt.h 2014-11-28 09:09:44.895289976 +0000
302 +@@ -63,7 +63,9 @@
303 +
304 + #ifndef _RPC_PMAP_CLNT_H_
305 + #define _RPC_PMAP_CLNT_H_
306 ++#ifdef __GLIBC__
307 + #include <sys/cdefs.h>
308 ++#endif
309 +
310 + __BEGIN_DECLS
311 + extern bool_t pmap_set(u_long, u_long, int, int);
312 +--- ./tirpc/rpcsvc/crypt.x.orig 2014-11-28 09:09:44.907289976 +0000
313 ++++ ./tirpc/rpcsvc/crypt.x 2014-11-28 09:09:44.908289976 +0000
314 +@@ -31,7 +31,9 @@
315 + */
316 +
317 + #ifndef RPC_HDR
318 +-%#include <sys/cdefs.h>
319 ++%#ifdef __GLIBC__
320 ++%#include <sys/cdefs.h>
321 ++%#endif
322 + %__FBSDID("$FreeBSD: src/include/rpcsvc/crypt.x,v 1.5 2003/05/04 02:51:42 obrien Exp $");
323 + #endif
324 +
325 +--- ./src/auth_none.c.orig 2014-11-28 09:09:44.875289976 +0000
326 ++++ ./src/auth_none.c 2014-11-28 09:09:44.876289976 +0000
327 +@@ -31,7 +31,9 @@
328 + static char *sccsid = "@(#)auth_none.c 1.19 87/08/11 Copyr 1984 Sun Micro";
329 + static char *sccsid = "@(#)auth_none.c 2.1 88/07/29 4.0 RPCSRC";
330 + #endif
331 ++#ifdef __GLIBC__
332 + #include <sys/cdefs.h>
333 ++#endif
334 + __FBSDID("$FreeBSD: src/lib/libc/rpc/auth_none.c,v 1.12 2002/03/22 23:18:35 obrien Exp $");
335 + */
336 +
337 +--- ./src/crypt_client.c.orig 2014-11-28 09:09:44.886289976 +0000
338 ++++ ./src/crypt_client.c 2014-11-28 09:09:44.886289976 +0000
339 +@@ -30,7 +30,9 @@
340 + * SUCH DAMAGE.
341 + */
342 +
343 ++#ifdef __GLIBC__
344 + #include <sys/cdefs.h>
345 ++#endif
346 +
347 + #include <err.h>
348 + #include <sys/types.h>
349 +--- ./src/xdr_reference.c.orig 2014-11-28 09:09:44.858289976 +0000
350 ++++ ./src/xdr_reference.c 2014-11-28 09:09:44.859289976 +0000
351 +@@ -26,8 +26,12 @@
352 + * POSSIBILITY OF SUCH DAMAGE.
353 + */
354 +
355 ++#ifdef __GLIBC__
356 + #include <sys/cdefs.h>
357 ++#endif
358 ++#ifdef __GLIBC__
359 + #include <sys/cdefs.h>
360 ++#endif
361 +
362 + /*
363 + * xdr_reference.c, Generic XDR routines impelmentation.
364 +--- ./src/auth_unix.c.orig 2014-11-28 09:09:44.863289976 +0000
365 ++++ ./src/auth_unix.c 2014-11-28 09:09:44.864289976 +0000
366 +@@ -26,7 +26,9 @@
367 + * POSSIBILITY OF SUCH DAMAGE.
368 + */
369 +
370 ++#ifdef __GLIBC__
371 + #include <sys/cdefs.h>
372 ++#endif
373 +
374 + /*
375 + * auth_unix.c, Implements UNIX style authentication parameters.
376 +--- ./src/authdes_prot.c.orig 2014-11-28 09:09:44.868289976 +0000
377 ++++ ./src/authdes_prot.c 2014-11-28 09:09:44.869289976 +0000
378 +@@ -1,4 +1,6 @@
379 ++#ifdef __GLIBC__
380 + #include <sys/cdefs.h>
381 ++#endif
382 + /*
383 + * Copyright (c) 2009, Sun Microsystems, Inc.
384 + * All rights reserved.
385 +--- ./src/rpcb_st_xdr.c.orig 2014-11-28 09:09:44.847289976 +0000
386 ++++ ./src/rpcb_st_xdr.c 2014-11-28 09:09:44.848289976 +0000
387 +@@ -35,7 +35,9 @@
388 + * routines used with the rpcbind stats facility.
389 + */
390 +
391 ++#ifdef __GLIBC__
392 + #include <sys/cdefs.h>
393 ++#endif
394 +
395 + #include <rpc/rpc.h>
396 +
397 +--- ./src/auth_time.c.orig 2014-11-28 09:09:44.887289976 +0000
398 ++++ ./src/auth_time.c 2014-11-28 09:09:44.888289976 +0000
399 +@@ -25,7 +25,9 @@
400 + * needed to deal with TCP connections.
401 + */
402 +
403 ++#ifdef __GLIBC__
404 + #include <sys/cdefs.h>
405 ++#endif
406 + #include <stdio.h>
407 + #include <syslog.h>
408 + #include <string.h>
409 +--- ./src/des_crypt.c.orig 2014-11-28 09:09:44.871289976 +0000
410 ++++ ./src/des_crypt.c 2014-11-28 09:09:44.872289976 +0000
411 +@@ -39,7 +39,9 @@
412 + static char sccsid[] = "@(#)des_crypt.c 2.2 88/08/10 4.0 RPCSRC; from 1.13 88/02/08 SMI";
413 + #endif
414 + #endif
415 ++#ifdef __GLIBC__
416 + #include <sys/cdefs.h>
417 ++#endif
418 +
419 + static int common_crypt( char *, char *, unsigned, unsigned, struct desparams * );
420 + int (*__des_crypt_LOCAL)() = 0;
421 +--- ./src/svc_vc.c.orig 2014-11-28 09:09:44.878289976 +0000
422 ++++ ./src/svc_vc.c 2014-11-28 09:09:44.879289976 +0000
423 +@@ -27,7 +27,9 @@
424 + * POSSIBILITY OF SUCH DAMAGE.
425 + */
426 +
427 ++#ifdef __GLIBC__
428 + #include <sys/cdefs.h>
429 ++#endif
430 +
431 + /*
432 + * svc_vc.c, Server side for Connection Oriented based RPC.
433 +--- ./src/xdr_float.c.orig 2014-11-28 09:09:44.882289976 +0000
434 ++++ ./src/xdr_float.c 2014-11-28 09:09:44.883289976 +0000
435 +@@ -27,7 +27,9 @@
436 + * POSSIBILITY OF SUCH DAMAGE.
437 + */
438 +
439 ++#ifdef __GLIBC__
440 + #include <sys/cdefs.h>
441 ++#endif
442 +
443 + /*
444 + * xdr_float.c, Generic XDR routines implementation.
445 +--- ./src/xdr_sizeof.c.orig 2014-11-28 09:09:44.865289976 +0000
446 ++++ ./src/xdr_sizeof.c 2014-11-28 09:09:44.866289976 +0000
447 +@@ -34,7 +34,9 @@
448 + * when serialized using XDR.
449 + */
450 +
451 ++#ifdef __GLIBC__
452 + #include <sys/cdefs.h>
453 ++#endif
454 +
455 + #include <rpc/types.h>
456 + #include <rpc/xdr.h>
457 +--- ./src/xdr_array.c.orig 2014-11-28 09:09:44.892289976 +0000
458 ++++ ./src/xdr_array.c 2014-11-28 09:09:44.893289976 +0000
459 +@@ -27,7 +27,9 @@
460 + * POSSIBILITY OF SUCH DAMAGE.
461 + */
462 +
463 ++#ifdef __GLIBC__
464 + #include <sys/cdefs.h>
465 ++#endif
466 +
467 + /*
468 + * xdr_array.c, Generic XDR routines impelmentation.
469 +--- ./src/rpc_generic.c.orig 2014-11-28 09:09:44.842289976 +0000
470 ++++ ./src/rpc_generic.c 2014-11-28 09:09:44.844289976 +0000
471 +@@ -29,7 +29,9 @@
472 + * Copyright (c) 1986-1991 by Sun Microsystems Inc.
473 + */
474 +
475 ++#ifdef __GLIBC__
476 + #include <sys/cdefs.h>
477 ++#endif
478 +
479 + /*
480 + * rpc_generic.c, Miscl routines for RPC.
481 +--- ./src/getpeereid.c.orig 2014-11-28 09:09:44.855289976 +0000
482 ++++ ./src/getpeereid.c 2014-11-28 09:09:44.856289976 +0000
483 +@@ -24,7 +24,9 @@
484 + * SUCH DAMAGE.
485 + */
486 +
487 ++#ifdef __GLIBC__
488 + #include <sys/cdefs.h>
489 ++#endif
490 +
491 + #include <sys/param.h>
492 + #include <sys/socket.h>
493 +--- ./src/xdr_stdio.c.orig 2014-11-28 09:09:44.880289976 +0000
494 ++++ ./src/xdr_stdio.c 2014-11-28 09:09:44.881289976 +0000
495 +@@ -26,7 +26,9 @@
496 + * POSSIBILITY OF SUCH DAMAGE.
497 + */
498 +
499 ++#ifdef __GLIBC__
500 + #include <sys/cdefs.h>
501 ++#endif
502 +
503 + /*
504 + * xdr_stdio.c, XDR implementation on standard i/o file.
505 +--- ./src/clnt_bcast.c.orig 2014-11-28 09:09:44.859289976 +0000
506 ++++ ./src/clnt_bcast.c 2014-11-28 09:09:44.861289976 +0000
507 +@@ -28,7 +28,9 @@
508 + /*
509 + * Copyright (c) 1986-1991 by Sun Microsystems Inc.
510 + */
511 ++#ifdef __GLIBC__
512 + #include <sys/cdefs.h>
513 ++#endif
514 +
515 + /*
516 + * clnt_bcast.c
517 +--- ./src/xdr_mem.c.orig 2014-11-28 09:09:44.876289976 +0000
518 ++++ ./src/xdr_mem.c 2014-11-28 09:09:44.877289976 +0000
519 +@@ -26,7 +26,9 @@
520 + * POSSIBILITY OF SUCH DAMAGE.
521 + */
522 +
523 ++#ifdef __GLIBC__
524 + #include <sys/cdefs.h>
525 ++#endif
526 +
527 + /*
528 + * xdr_mem.h, XDR implementation using memory buffers.
529 +--- ./src/key_call.c.orig 2014-11-28 09:09:44.889289976 +0000
530 ++++ ./src/key_call.c 2014-11-28 09:09:44.890289976 +0000
531 +@@ -30,7 +30,9 @@
532 + */
533 +
534 +
535 ++#ifdef __GLIBC__
536 + #include <sys/cdefs.h>
537 ++#endif
538 +
539 + /*
540 + * key_call.c, Interface to keyserver
541 +--- ./src/svc_simple.c.orig 2014-11-28 09:09:44.874289976 +0000
542 ++++ ./src/svc_simple.c 2014-11-28 09:09:44.875289976 +0000
543 +@@ -29,7 +29,9 @@
544 + * Copyright (c) 1986-1991 by Sun Microsystems Inc.
545 + */
546 +
547 ++#ifdef __GLIBC__
548 + #include <sys/cdefs.h>
549 ++#endif
550 +
551 + /*
552 + * svc_simple.c
553 +--- ./src/mt_misc.c.orig 2014-11-28 09:09:44.870289976 +0000
554 ++++ ./src/mt_misc.c 2014-11-28 09:09:44.871289976 +0000
555 +@@ -1,5 +1,7 @@
556 +
557 ++#ifdef __GLIBC__
558 + #include <sys/cdefs.h>
559 ++#endif
560 + #include <pthread.h>
561 + #include <reentrant.h>
562 + #include <rpc/rpc.h>
563 +--- ./src/authunix_prot.c.orig 2014-11-28 09:09:44.885289976 +0000
564 ++++ ./src/authunix_prot.c 2014-11-28 09:09:44.885289976 +0000
565 +@@ -26,7 +26,9 @@
566 + * POSSIBILITY OF SUCH DAMAGE.
567 + */
568 +
569 ++#ifdef __GLIBC__
570 + #include <sys/cdefs.h>
571 ++#endif
572 +
573 + /*
574 + * authunix_prot.c
575 +--- ./src/des_soft.c.orig 2014-11-28 09:09:44.851289976 +0000
576 ++++ ./src/des_soft.c 2014-11-28 09:09:44.851289976 +0000
577 +@@ -1,4 +1,6 @@
578 +-//#include <sys/cdefs.h>
579 ++//#ifdef __GLIBC__
580 ++#include <sys/cdefs.h>
581 ++#endif
582 +
583 + /*
584 + * Copyright (c) 2009, Sun Microsystems, Inc.
585 +--- ./src/rpcdname.c.orig 2014-11-28 09:09:44.850289976 +0000
586 ++++ ./src/rpcdname.c 2014-11-28 09:09:44.850289976 +0000
587 +@@ -25,7 +25,9 @@
588 + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
589 + * POSSIBILITY OF SUCH DAMAGE.
590 + */
591 ++#ifdef __GLIBC__
592 + #include <sys/cdefs.h>
593 ++#endif
594 +
595 + /*
596 + * rpcdname.c
597 +--- ./src/getnetpath.c.orig 2014-11-28 09:09:44.884289976 +0000
598 ++++ ./src/getnetpath.c 2014-11-28 09:09:44.884289976 +0000
599 +@@ -25,13 +25,17 @@
600 + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
601 + * POSSIBILITY OF SUCH DAMAGE.
602 + */
603 ++#ifdef __GLIBC__
604 + #include <sys/cdefs.h>
605 ++#endif
606 +
607 + /*
608 + * Copyright (c) 1989 by Sun Microsystems, Inc.
609 + */
610 +
611 ++#ifdef __GLIBC__
612 + #include <sys/cdefs.h>
613 ++#endif
614 + #include <stdio.h>
615 + #include <errno.h>
616 + #include <netconfig.h>
617 +--- ./src/svc_dg.c.orig 2014-11-28 09:09:44.852289976 +0000
618 ++++ ./src/svc_dg.c 2014-11-28 09:09:44.853289976 +0000
619 +@@ -31,7 +31,9 @@
620 + * Copyright (c) 1986-1991 by Sun Microsystems Inc.
621 + */
622 +
623 ++#ifdef __GLIBC__
624 + #include <sys/cdefs.h>
625 ++#endif
626 +
627 + /*
628 + * svc_dg.c, Server side for connectionless RPC.
629 +--- ./src/rpc_com.h.orig 2014-11-28 09:09:44.845289976 +0000
630 ++++ ./src/rpc_com.h 2014-11-28 09:09:44.846289976 +0000
631 +@@ -40,7 +40,9 @@
632 + #ifndef _TIRPC_RPCCOM_H
633 + #define _TIRPC_RPCCOM_H
634 +
635 ++#ifdef __GLIBC__
636 + #include <sys/cdefs.h>
637 ++#endif
638 +
639 + /* #pragma ident "@(#)rpc_com.h 1.11 93/07/05 SMI" */
640 +
641 +--- ./src/pmap_getmaps.c.orig 2014-11-28 09:09:44.891289976 +0000
642 ++++ ./src/pmap_getmaps.c 2014-11-28 09:09:44.892289976 +0000
643 +@@ -26,7 +26,9 @@
644 + * POSSIBILITY OF SUCH DAMAGE.
645 + */
646 +
647 ++#ifdef __GLIBC__
648 + #include <sys/cdefs.h>
649 ++#endif
650 +
651 + /*
652 + * pmap_getmap.c
653 +--- ./src/pmap_clnt.c.orig 2014-11-28 09:09:44.869289976 +0000
654 ++++ ./src/pmap_clnt.c 2014-11-28 09:09:44.870289976 +0000
655 +@@ -26,7 +26,9 @@
656 + * POSSIBILITY OF SUCH DAMAGE.
657 + */
658 +
659 ++#ifdef __GLIBC__
660 + #include <sys/cdefs.h>
661 ++#endif
662 +
663 + /*
664 + * pmap_clnt.c
665 +--- ./src/bindresvport.c.orig 2014-11-28 09:09:44.848289976 +0000
666 ++++ ./src/bindresvport.c 2014-11-28 09:09:44.849289976 +0000
667 +@@ -26,7 +26,9 @@
668 + * POSSIBILITY OF SUCH DAMAGE.
669 + */
670 +
671 ++#ifdef __GLIBC__
672 + #include <sys/cdefs.h>
673 ++#endif
674 +
675 + /*
676 + * Copyright (c) 1987 by Sun Microsystems, Inc.
677 +--- ./src/xdr_rec.c.orig 2014-11-28 09:09:44.866289976 +0000
678 ++++ ./src/xdr_rec.c 2014-11-28 09:09:44.868289976 +0000
679 +@@ -27,8 +27,12 @@
680 + * POSSIBILITY OF SUCH DAMAGE.
681 + */
682 +
683 ++#ifdef __GLIBC__
684 + #include <sys/cdefs.h>
685 ++#endif
686 ++#ifdef __GLIBC__
687 + #include <sys/cdefs.h>
688 ++#endif
689 +
690 + /*
691 + * xdr_rec.c, Implements TCP/IP based XDR streams with a "record marking"
692 +--- ./src/clnt_perror.c.orig 2014-11-28 09:09:44.854289976 +0000
693 ++++ ./src/clnt_perror.c 2014-11-28 09:09:44.855289976 +0000
694 +@@ -27,7 +27,9 @@
695 + */
696 +
697 + /*
698 ++#ifdef __GLIBC__
699 + #include <sys/cdefs.h>
700 ++#endif
701 + */
702 + /*
703 + * clnt_perror.c
704 +--- ./src/key_prot_xdr.c.orig 2014-11-28 09:09:44.888289976 +0000
705 ++++ ./src/key_prot_xdr.c 2014-11-28 09:09:44.889289976 +0000
706 +@@ -33,7 +33,9 @@
707 + */
708 + /* Copyright (c) 1990, 1991 Sun Microsystems, Inc. */
709 +
710 ++#ifdef __GLIBC__
711 + #include <sys/cdefs.h>
712 ++#endif
713 +
714 + /*
715 + * Compiled from key_prot.x using rpcgen.
716 +--- ./src/getnetconfig.c.orig 2014-11-28 09:09:44.856289976 +0000
717 ++++ ./src/getnetconfig.c 2014-11-28 09:09:44.858289976 +0000
718 +@@ -32,7 +32,9 @@
719 +
720 + #include <pthread.h>
721 + #include <reentrant.h>
722 ++#ifdef __GLIBC__
723 + #include <sys/cdefs.h>
724 ++#endif
725 + #include <stdio.h>
726 + #include <errno.h>
727 + #include <netconfig.h>
728 +--- ./src/getpublickey.c.orig 2014-11-28 09:09:44.844289976 +0000
729 ++++ ./src/getpublickey.c 2014-11-28 09:09:44.845289976 +0000
730 +@@ -26,7 +26,9 @@
731 + * POSSIBILITY OF SUCH DAMAGE.
732 + */
733 + /*
734 ++#ifdef __GLIBC__
735 + #include <sys/cdefs.h>
736 ++#endif
737 + */
738 +
739 + /*
740 +--- ./src/clnt_simple.c.orig 2014-11-28 09:09:44.881289976 +0000
741 ++++ ./src/clnt_simple.c 2014-11-28 09:09:44.882289976 +0000
742 +@@ -29,7 +29,9 @@
743 + * Copyright (c) 1986-1991 by Sun Microsystems Inc.
744 + */
745 +
746 ++#ifdef __GLIBC__
747 + #include <sys/cdefs.h>
748 ++#endif
749 +
750 + /*
751 + * clnt_simple.c
752 +--- ./src/auth_des.c.orig 2014-11-28 09:09:44.872289976 +0000
753 ++++ ./src/auth_des.c 2014-11-28 09:09:44.874289976 +0000
754 +@@ -38,7 +38,9 @@
755 + #include <string.h>
756 + #include <stdlib.h>
757 + #include <unistd.h>
758 ++#ifdef __GLIBC__
759 + #include <sys/cdefs.h>
760 ++#endif
761 + #include <rpc/des_crypt.h>
762 + #include <syslog.h>
763 + #include <rpc/types.h>
764 +@@ -52,7 +54,9 @@
765 +
766 + #if defined(LIBC_SCCS) && !defined(lint)
767 + #endif
768 ++#ifdef __GLIBC__
769 + #include <sys/cdefs.h>
770 ++#endif
771 +
772 + #include "debug.h"
773 +
774 +--- ./src/xdr.c.orig 2014-11-28 09:09:44.861289976 +0000
775 ++++ ./src/xdr.c 2014-11-28 09:09:44.863289976 +0000
776 +@@ -26,7 +26,9 @@
777 + * POSSIBILITY OF SUCH DAMAGE.
778 + */
779 +
780 ++#ifdef __GLIBC__
781 + #include <sys/cdefs.h>
782 ++#endif
783 +
784 + /*
785 + * xdr.c, Generic XDR routines implementation.
786
787 diff --git a/net-libs/libtirpc/files/0004-fix_DECLS.patch b/net-libs/libtirpc/files/0004-fix_DECLS.patch
788 new file mode 100644
789 index 0000000..86abf77
790 --- /dev/null
791 +++ b/net-libs/libtirpc/files/0004-fix_DECLS.patch
792 @@ -0,0 +1,1226 @@
793 +--- ./tirpc/rpc/xdr.h.orig 2014-11-28 09:16:53.990289976 +0000
794 ++++ ./tirpc/rpc/xdr.h 2014-11-28 09:16:53.991289976 +0000
795 +@@ -289,7 +289,11 @@ struct xdr_discrim {
796 + /*
797 + * These are the "generic" xdr routines.
798 + */
799 ++#ifdef __GLIBC__
800 + __BEGIN_DECLS
801 ++#elif defined(__cplusplus)
802 ++extern "C" {
803 ++#endif
804 + extern bool_t xdr_void(void);
805 + extern bool_t xdr_int(XDR *, int *);
806 + extern bool_t xdr_u_int(XDR *, u_int *);
807 +@@ -332,7 +336,11 @@ extern bool_t xdr_hyper(XDR *, quad_t *)
808 + extern bool_t xdr_u_hyper(XDR *, u_quad_t *);
809 + extern bool_t xdr_longlong_t(XDR *, quad_t *);
810 + extern bool_t xdr_u_longlong_t(XDR *, u_quad_t *);
811 ++#ifdef __GLIBC__
812 + __END_DECLS
813 ++#elif defined(__cplusplus)
814 ++}
815 ++#endif
816 +
817 + /*
818 + * Common opaque bytes objects used by many rpc protocols;
819 +@@ -350,7 +358,11 @@ extern bool_t xdr_netobj(XDR *, struct
820 + * These are the public routines for the various implementations of
821 + * xdr streams.
822 + */
823 ++#ifdef __GLIBC__
824 + __BEGIN_DECLS
825 ++#elif defined(__cplusplus)
826 ++extern "C" {
827 ++#endif
828 + /* XDR using memory buffers */
829 + extern void xdrmem_create(XDR *, char *, u_int, enum xdr_op);
830 +
831 +@@ -371,6 +383,10 @@ extern bool_t xdrrec_skiprecord(XDR *);
832 + /* true if no more input */
833 + extern bool_t xdrrec_eof(XDR *);
834 + extern u_int xdrrec_readbytes(XDR *, caddr_t, u_int);
835 ++#ifdef __GLIBC__
836 + __END_DECLS
837 ++#elif defined(__cplusplus)
838 ++}
839 ++#endif
840 +
841 + #endif /* !_TIRPC_XDR_H */
842 +--- ./tirpc/rpc/auth_des.h.orig 2014-11-28 09:16:53.994289976 +0000
843 ++++ ./tirpc/rpc/auth_des.h 2014-11-28 09:16:53.995289976 +0000
844 +@@ -114,17 +114,33 @@ struct authdes_verf {
845 + * Map a des credential into a unix cred.
846 + *
847 + */
848 ++#ifdef __GLIBC__
849 + __BEGIN_DECLS
850 ++#elif defined(__cplusplus)
851 ++extern "C" {
852 ++#endif
853 + extern int authdes_getucred( struct authdes_cred *, uid_t *, gid_t *, int *, gid_t * );
854 ++#ifdef __GLIBC__
855 + __END_DECLS
856 ++#elif defined(__cplusplus)
857 ++}
858 ++#endif
859 +
860 ++#ifdef __GLIBC__
861 + __BEGIN_DECLS
862 ++#elif defined(__cplusplus)
863 ++extern "C" {
864 ++#endif
865 + extern bool_t xdr_authdes_cred(XDR *, struct authdes_cred *);
866 + extern bool_t xdr_authdes_verf(XDR *, struct authdes_verf *);
867 + extern int rtime(dev_t, struct netbuf *, int, struct timeval *,
868 + struct timeval *);
869 + extern void kgetnetname(char *);
870 + extern enum auth_stat _svcauth_des(struct svc_req *, struct rpc_msg *);
871 ++#ifdef __GLIBC__
872 + __END_DECLS
873 ++#elif defined(__cplusplus)
874 ++}
875 ++#endif
876 +
877 + #endif /* ndef _TI_AUTH_DES_ */
878 +--- ./tirpc/rpc/pmap_prot.h.orig 2014-11-28 09:16:53.988289976 +0000
879 ++++ ./tirpc/rpc/pmap_prot.h 2014-11-28 09:16:53.989289976 +0000
880 +@@ -99,10 +99,18 @@ struct pmaplist {
881 + struct pmaplist *pml_next;
882 + };
883 +
884 ++#ifdef __GLIBC__
885 + __BEGIN_DECLS
886 ++#elif defined(__cplusplus)
887 ++extern "C" {
888 ++#endif
889 + extern bool_t xdr_pmap(XDR *, struct pmap *);
890 + extern bool_t xdr_pmaplist(XDR *, struct pmaplist **);
891 + extern bool_t xdr_pmaplist_ptr(XDR *, struct pmaplist *);
892 ++#ifdef __GLIBC__
893 + __END_DECLS
894 ++#elif defined(__cplusplus)
895 ++}
896 ++#endif
897 +
898 + #endif /* !_RPC_PMAP_PROT_H */
899 +--- ./tirpc/rpc/auth.h.orig 2014-11-28 09:16:53.982289976 +0000
900 ++++ ./tirpc/rpc/auth.h 2014-11-28 09:16:53.983289976 +0000
901 +@@ -166,9 +166,17 @@ union des_block {
902 + char c[8];
903 + };
904 + typedef union des_block des_block;
905 ++#ifdef __GLIBC__
906 + __BEGIN_DECLS
907 ++#elif defined(__cplusplus)
908 ++extern "C" {
909 ++#endif
910 + extern bool_t xdr_des_block(XDR *, des_block *);
911 ++#ifdef __GLIBC__
912 + __END_DECLS
913 ++#elif defined(__cplusplus)
914 ++}
915 ++#endif
916 +
917 + /*
918 + * Authentication info. Opaque to client.
919 +@@ -279,9 +287,17 @@ auth_put(AUTH *auth)
920 + xfunc, xwhere))
921 +
922 +
923 ++#ifdef __GLIBC__
924 + __BEGIN_DECLS
925 ++#elif defined(__cplusplus)
926 ++extern "C" {
927 ++#endif
928 + extern struct opaque_auth _null_auth;
929 ++#ifdef __GLIBC__
930 + __END_DECLS
931 ++#elif defined(__cplusplus)
932 ++}
933 ++#endif
934 +
935 + /*
936 + * Any style authentication. These routines can be used by any
937 +@@ -302,11 +318,19 @@ int authany_wrap(void), authany_unwrap(v
938 + * int len;
939 + * int *aup_gids;
940 + */
941 ++#ifdef __GLIBC__
942 + __BEGIN_DECLS
943 ++#elif defined(__cplusplus)
944 ++extern "C" {
945 ++#endif
946 + extern AUTH *authunix_create(char *, uid_t, uid_t, int, uid_t *);
947 + extern AUTH *authunix_create_default(void); /* takes no parameters */
948 + extern AUTH *authnone_create(void); /* takes no parameters */
949 ++#ifdef __GLIBC__
950 + __END_DECLS
951 ++#elif defined(__cplusplus)
952 ++}
953 ++#endif
954 + /*
955 + * DES style authentication
956 + * AUTH *authsecdes_create(servername, window, timehost, ckey)
957 +@@ -315,15 +339,31 @@ __END_DECLS
958 + * const char *timehost; - optional hostname to sync with
959 + * des_block *ckey; - optional conversation key to use
960 + */
961 ++#ifdef __GLIBC__
962 + __BEGIN_DECLS
963 ++#elif defined(__cplusplus)
964 ++extern "C" {
965 ++#endif
966 + extern AUTH *authdes_create (char *, u_int, struct sockaddr *, des_block *);
967 + extern AUTH *authdes_seccreate (const char *, const u_int, const char *,
968 + const des_block *);
969 ++#ifdef __GLIBC__
970 + __END_DECLS
971 ++#elif defined(__cplusplus)
972 ++}
973 ++#endif
974 +
975 ++#ifdef __GLIBC__
976 + __BEGIN_DECLS
977 ++#elif defined(__cplusplus)
978 ++extern "C" {
979 ++#endif
980 + extern bool_t xdr_opaque_auth (XDR *, struct opaque_auth *);
981 ++#ifdef __GLIBC__
982 + __END_DECLS
983 ++#elif defined(__cplusplus)
984 ++}
985 ++#endif
986 +
987 + #define authsys_create(c,i1,i2,i3,ip) authunix_create((c),(i1),(i2),(i3),(ip))
988 + #define authsys_create_default() authunix_create_default()
989 +@@ -331,36 +371,60 @@ __END_DECLS
990 + /*
991 + * Netname manipulation routines.
992 + */
993 ++#ifdef __GLIBC__
994 + __BEGIN_DECLS
995 ++#elif defined(__cplusplus)
996 ++extern "C" {
997 ++#endif
998 + extern int getnetname(char *);
999 + extern int host2netname(char *, const char *, const char *);
1000 + extern int user2netname(char *, const uid_t, const char *);
1001 + extern int netname2user(char *, uid_t *, gid_t *, int *, gid_t *);
1002 + extern int netname2host(char *, char *, const int);
1003 + extern void passwd2des ( char *, char * );
1004 ++#ifdef __GLIBC__
1005 + __END_DECLS
1006 ++#elif defined(__cplusplus)
1007 ++}
1008 ++#endif
1009 +
1010 + /*
1011 + *
1012 + * These routines interface to the keyserv daemon
1013 + *
1014 + */
1015 ++#ifdef __GLIBC__
1016 + __BEGIN_DECLS
1017 ++#elif defined(__cplusplus)
1018 ++extern "C" {
1019 ++#endif
1020 + extern int key_decryptsession(const char *, des_block *);
1021 + extern int key_encryptsession(const char *, des_block *);
1022 + extern int key_gendes(des_block *);
1023 + extern int key_setsecret(const char *);
1024 + extern int key_secretkey_is_set(void);
1025 ++#ifdef __GLIBC__
1026 + __END_DECLS
1027 ++#elif defined(__cplusplus)
1028 ++}
1029 ++#endif
1030 +
1031 + /*
1032 + * Publickey routines.
1033 + */
1034 ++#ifdef __GLIBC__
1035 + __BEGIN_DECLS
1036 ++#elif defined(__cplusplus)
1037 ++extern "C" {
1038 ++#endif
1039 + extern int getpublickey (const char *, char *);
1040 + extern int getpublicandprivatekey (char *, char *);
1041 + extern int getsecretkey (char *, char *, char *);
1042 ++#ifdef __GLIBC__
1043 + __END_DECLS
1044 ++#elif defined(__cplusplus)
1045 ++}
1046 ++#endif
1047 +
1048 + #ifdef KERBEROS
1049 + /*
1050 +@@ -373,10 +437,18 @@ __END_DECLS
1051 + * const char *timehost; - optional hostname to sync with
1052 + * int *status; - kerberos status returned
1053 + */
1054 ++#ifdef __GLIBC__
1055 + __BEGIN_DECLS
1056 ++#elif defined(__cplusplus)
1057 ++extern "C" {
1058 ++#endif
1059 + extern AUTH *authkerb_seccreate(const char *, const char *, const char *,
1060 + const u_int, const char *, int *);
1061 ++#ifdef __GLIBC__
1062 + __END_DECLS
1063 ++#elif defined(__cplusplus)
1064 ++}
1065 ++#endif
1066 +
1067 + /*
1068 + * Map a kerberos credential into a unix cred.
1069 +@@ -389,20 +461,36 @@ __END_DECLS
1070 + * int *groups;
1071 + *
1072 + */
1073 ++#ifdef __GLIBC__
1074 + __BEGIN_DECLS
1075 ++#elif defined(__cplusplus)
1076 ++extern "C" {
1077 ++#endif
1078 + extern int authkerb_getucred(/* struct svc_req *, uid_t *, gid_t *,
1079 + short *, int * */);
1080 ++#ifdef __GLIBC__
1081 + __END_DECLS
1082 ++#elif defined(__cplusplus)
1083 ++}
1084 ++#endif
1085 + #endif /* KERBEROS */
1086 +
1087 ++#ifdef __GLIBC__
1088 + __BEGIN_DECLS
1089 ++#elif defined(__cplusplus)
1090 ++extern "C" {
1091 ++#endif
1092 + struct svc_req;
1093 + struct rpc_msg;
1094 + enum auth_stat _svcauth_none (struct svc_req *, struct rpc_msg *);
1095 + enum auth_stat _svcauth_short (struct svc_req *, struct rpc_msg *);
1096 + enum auth_stat _svcauth_unix (struct svc_req *, struct rpc_msg *);
1097 + enum auth_stat _svcauth_gss (struct svc_req *, struct rpc_msg *, bool_t *);
1098 ++#ifdef __GLIBC__
1099 + __END_DECLS
1100 ++#elif defined(__cplusplus)
1101 ++}
1102 ++#endif
1103 +
1104 + #define AUTH_NONE 0 /* no authentication */
1105 + #define AUTH_NULL 0 /* backward compatibility */
1106 +--- ./tirpc/rpc/svc.h.orig 2014-11-28 09:16:53.992289976 +0000
1107 ++++ ./tirpc/rpc/svc.h 2014-11-28 09:16:53.993289976 +0000
1108 +@@ -202,11 +202,19 @@ struct svc_req {
1109 + * const struct netconfig *nconf;
1110 + */
1111 +
1112 ++#ifdef __GLIBC__
1113 + __BEGIN_DECLS
1114 ++#elif defined(__cplusplus)
1115 ++extern "C" {
1116 ++#endif
1117 + extern bool_t svc_reg(SVCXPRT *, const rpcprog_t, const rpcvers_t,
1118 + void (*)(struct svc_req *, SVCXPRT *),
1119 + const struct netconfig *);
1120 ++#ifdef __GLIBC__
1121 + __END_DECLS
1122 ++#elif defined(__cplusplus)
1123 ++}
1124 ++#endif
1125 +
1126 + /*
1127 + * Service un-registration
1128 +@@ -216,9 +224,17 @@ __END_DECLS
1129 + * const rpcvers_t vers;
1130 + */
1131 +
1132 ++#ifdef __GLIBC__
1133 + __BEGIN_DECLS
1134 ++#elif defined(__cplusplus)
1135 ++extern "C" {
1136 ++#endif
1137 + extern void svc_unreg(const rpcprog_t, const rpcvers_t);
1138 ++#ifdef __GLIBC__
1139 + __END_DECLS
1140 ++#elif defined(__cplusplus)
1141 ++}
1142 ++#endif
1143 +
1144 + /*
1145 + * Transport registration.
1146 +@@ -226,9 +242,17 @@ __END_DECLS
1147 + * xprt_register(xprt)
1148 + * SVCXPRT *xprt;
1149 + */
1150 ++#ifdef __GLIBC__
1151 + __BEGIN_DECLS
1152 ++#elif defined(__cplusplus)
1153 ++extern "C" {
1154 ++#endif
1155 + extern void xprt_register(SVCXPRT *);
1156 ++#ifdef __GLIBC__
1157 + __END_DECLS
1158 ++#elif defined(__cplusplus)
1159 ++}
1160 ++#endif
1161 +
1162 + /*
1163 + * Transport un-register
1164 +@@ -236,9 +260,17 @@ __END_DECLS
1165 + * xprt_unregister(xprt)
1166 + * SVCXPRT *xprt;
1167 + */
1168 ++#ifdef __GLIBC__
1169 + __BEGIN_DECLS
1170 ++#elif defined(__cplusplus)
1171 ++extern "C" {
1172 ++#endif
1173 + extern void xprt_unregister(SVCXPRT *);
1174 ++#ifdef __GLIBC__
1175 + __END_DECLS
1176 ++#elif defined(__cplusplus)
1177 ++}
1178 ++#endif
1179 +
1180 +
1181 + /*
1182 +@@ -267,7 +299,11 @@ __END_DECLS
1183 + * deadlock the caller and server processes!
1184 + */
1185 +
1186 ++#ifdef __GLIBC__
1187 + __BEGIN_DECLS
1188 ++#elif defined(__cplusplus)
1189 ++extern "C" {
1190 ++#endif
1191 + extern bool_t svc_sendreply(SVCXPRT *, xdrproc_t, void *);
1192 + extern void svcerr_decode(SVCXPRT *);
1193 + extern void svcerr_weakauth(SVCXPRT *);
1194 +@@ -279,7 +315,11 @@ extern void svcerr_systemerr(SVCXPRT *);
1195 + extern int rpc_reg(rpcprog_t, rpcvers_t, rpcproc_t,
1196 + char *(*)(char *), xdrproc_t, xdrproc_t,
1197 + char *);
1198 ++#ifdef __GLIBC__
1199 + __END_DECLS
1200 ++#elif defined(__cplusplus)
1201 ++}
1202 ++#endif
1203 +
1204 + /*
1205 + * Lowest level dispatching -OR- who owns this process anyway.
1206 +@@ -308,11 +348,23 @@ extern int svc_fds;
1207 + * a small program implemented by the svc_rpc implementation itself;
1208 + * also see clnt.h for protocol numbers.
1209 + */
1210 ++#ifdef __GLIBC__
1211 + __BEGIN_DECLS
1212 ++#elif defined(__cplusplus)
1213 ++extern "C" {
1214 ++#endif
1215 + extern void rpctest_service(void);
1216 ++#ifdef __GLIBC__
1217 + __END_DECLS
1218 ++#elif defined(__cplusplus)
1219 ++}
1220 ++#endif
1221 +
1222 ++#ifdef __GLIBC__
1223 + __BEGIN_DECLS
1224 ++#elif defined(__cplusplus)
1225 ++extern "C" {
1226 ++#endif
1227 + extern void svc_getreq(int);
1228 + extern void svc_getreqset(fd_set *);
1229 + extern void svc_getreq_common(int);
1230 +@@ -321,7 +373,11 @@ extern void svc_getreq_poll(struct pollf
1231 +
1232 + extern void svc_run(void);
1233 + extern void svc_exit(void);
1234 ++#ifdef __GLIBC__
1235 + __END_DECLS
1236 ++#elif defined(__cplusplus)
1237 ++}
1238 ++#endif
1239 +
1240 + /*
1241 + * Socket to use on svcxxx_create call to get default socket
1242 +@@ -333,7 +389,11 @@ __END_DECLS
1243 + * These are the existing service side transport implementations
1244 + */
1245 +
1246 ++#ifdef __GLIBC__
1247 + __BEGIN_DECLS
1248 ++#elif defined(__cplusplus)
1249 ++extern "C" {
1250 ++#endif
1251 + /*
1252 + * Transport independent svc_create routine.
1253 + */
1254 +@@ -429,7 +489,11 @@ int svc_dg_enablecache(SVCXPRT *, const
1255 +
1256 + int __rpc_get_local_uid(SVCXPRT *_transp, uid_t *_uid);
1257 +
1258 ++#ifdef __GLIBC__
1259 + __END_DECLS
1260 ++#elif defined(__cplusplus)
1261 ++}
1262 ++#endif
1263 +
1264 +
1265 + /* for backward compatibility */
1266 +--- ./tirpc/rpc/rpc.h.orig 2014-11-28 09:16:53.994289976 +0000
1267 ++++ ./tirpc/rpc/rpc.h 2014-11-28 09:16:53.994289976 +0000
1268 +@@ -79,7 +79,11 @@
1269 + #define UDPMSGSIZE 8800
1270 + #endif
1271 +
1272 ++#ifdef __GLIBC__
1273 + __BEGIN_DECLS
1274 ++#elif defined(__cplusplus)
1275 ++extern "C" {
1276 ++#endif
1277 + extern int get_myaddress(struct sockaddr_in *);
1278 + extern int bindresvport(int, struct sockaddr_in *) __THROW;
1279 + extern int registerrpc(int, int, int, char *(*)(char [UDPMSGSIZE]),
1280 +@@ -93,18 +97,30 @@ struct netbuf *uaddr2taddr(const struct
1281 +
1282 + struct sockaddr;
1283 + extern int bindresvport_sa(int, struct sockaddr *);
1284 ++#ifdef __GLIBC__
1285 + __END_DECLS
1286 ++#elif defined(__cplusplus)
1287 ++}
1288 ++#endif
1289 +
1290 + /*
1291 + * The following are not exported interfaces, they are for internal library
1292 + * and rpcbind use only. Do not use, they may change without notice.
1293 + */
1294 ++#ifdef __GLIBC__
1295 + __BEGIN_DECLS
1296 ++#elif defined(__cplusplus)
1297 ++extern "C" {
1298 ++#endif
1299 + int __rpc_nconf2fd(const struct netconfig *);
1300 + int __rpc_nconf2fd_flags(const struct netconfig *, int);
1301 + int __rpc_nconf2sockinfo(const struct netconfig *, struct __rpc_sockinfo *);
1302 + int __rpc_fd2sockinfo(int, struct __rpc_sockinfo *);
1303 + u_int __rpc_get_t_size(int, int, int);
1304 ++#ifdef __GLIBC__
1305 + __END_DECLS
1306 ++#elif defined(__cplusplus)
1307 ++}
1308 ++#endif
1309 +
1310 + #endif /* !_RPC_RPC_H */
1311 +--- ./tirpc/rpc/svc_soc.h.orig 2014-11-28 09:16:53.998289976 +0000
1312 ++++ ./tirpc/rpc/svc_soc.h 2014-11-28 09:16:53.999289976 +0000
1313 +@@ -66,10 +66,18 @@
1314 + * void (*dispatch)();
1315 + * int protocol; like TCP or UDP, zero means do not register
1316 + */
1317 ++#ifdef __GLIBC__
1318 + __BEGIN_DECLS
1319 ++#elif defined(__cplusplus)
1320 ++extern "C" {
1321 ++#endif
1322 + extern bool_t svc_register(SVCXPRT *, u_long, u_long,
1323 + void (*)(struct svc_req *, SVCXPRT *), int);
1324 ++#ifdef __GLIBC__
1325 + __END_DECLS
1326 ++#elif defined(__cplusplus)
1327 ++}
1328 ++#endif
1329 +
1330 + /*
1331 + * Service un-registration
1332 +@@ -78,44 +86,84 @@ __END_DECLS
1333 + * u_long prog;
1334 + * u_long vers;
1335 + */
1336 ++#ifdef __GLIBC__
1337 + __BEGIN_DECLS
1338 ++#elif defined(__cplusplus)
1339 ++extern "C" {
1340 ++#endif
1341 + extern void svc_unregister(u_long, u_long);
1342 ++#ifdef __GLIBC__
1343 + __END_DECLS
1344 ++#elif defined(__cplusplus)
1345 ++}
1346 ++#endif
1347 +
1348 +
1349 + /*
1350 + * Memory based rpc for testing and timing.
1351 + */
1352 ++#ifdef __GLIBC__
1353 + __BEGIN_DECLS
1354 ++#elif defined(__cplusplus)
1355 ++extern "C" {
1356 ++#endif
1357 + extern SVCXPRT *svcraw_create(void);
1358 ++#ifdef __GLIBC__
1359 + __END_DECLS
1360 ++#elif defined(__cplusplus)
1361 ++}
1362 ++#endif
1363 +
1364 +
1365 + /*
1366 + * Udp based rpc.
1367 + */
1368 ++#ifdef __GLIBC__
1369 + __BEGIN_DECLS
1370 ++#elif defined(__cplusplus)
1371 ++extern "C" {
1372 ++#endif
1373 + extern SVCXPRT *svcudp_create(int);
1374 + extern SVCXPRT *svcudp_bufcreate(int, u_int, u_int);
1375 + extern int svcudp_enablecache(SVCXPRT *, u_long);
1376 + extern SVCXPRT *svcudp6_create(int);
1377 + extern SVCXPRT *svcudp6_bufcreate(int, u_int, u_int);
1378 ++#ifdef __GLIBC__
1379 + __END_DECLS
1380 ++#elif defined(__cplusplus)
1381 ++}
1382 ++#endif
1383 +
1384 +
1385 + /*
1386 + * Tcp based rpc.
1387 + */
1388 ++#ifdef __GLIBC__
1389 + __BEGIN_DECLS
1390 ++#elif defined(__cplusplus)
1391 ++extern "C" {
1392 ++#endif
1393 + extern SVCXPRT *svctcp_create(int, u_int, u_int);
1394 + extern SVCXPRT *svctcp6_create(int, u_int, u_int);
1395 ++#ifdef __GLIBC__
1396 + __END_DECLS
1397 ++#elif defined(__cplusplus)
1398 ++}
1399 ++#endif
1400 +
1401 + /*
1402 + * Fd based rpc.
1403 + */
1404 ++#ifdef __GLIBC__
1405 + __BEGIN_DECLS
1406 ++#elif defined(__cplusplus)
1407 ++extern "C" {
1408 ++#endif
1409 + extern SVCXPRT *svcfd_create(int, u_int, u_int);
1410 ++#ifdef __GLIBC__
1411 + __END_DECLS
1412 ++#elif defined(__cplusplus)
1413 ++}
1414 ++#endif
1415 +
1416 + #endif /* !_RPC_SVC_SOC_H */
1417 +--- ./tirpc/rpc/clnt_soc.h.orig 2014-11-28 09:16:53.976289976 +0000
1418 ++++ ./tirpc/rpc/clnt_soc.h 2014-11-28 09:16:53.977289976 +0000
1419 +@@ -63,27 +63,51 @@
1420 + * u_int sendsz;
1421 + * u_int recvsz;
1422 + */
1423 ++#ifdef __GLIBC__
1424 + __BEGIN_DECLS
1425 ++#elif defined(__cplusplus)
1426 ++extern "C" {
1427 ++#endif
1428 + extern CLIENT *clnttcp_create(struct sockaddr_in *, u_long, u_long, int *,
1429 + u_int, u_int);
1430 ++#ifdef __GLIBC__
1431 + __END_DECLS
1432 ++#elif defined(__cplusplus)
1433 ++}
1434 ++#endif
1435 +
1436 + /*
1437 + * Raw (memory) rpc.
1438 + */
1439 ++#ifdef __GLIBC__
1440 + __BEGIN_DECLS
1441 ++#elif defined(__cplusplus)
1442 ++extern "C" {
1443 ++#endif
1444 + extern CLIENT *clntraw_create(u_long, u_long);
1445 ++#ifdef __GLIBC__
1446 + __END_DECLS
1447 ++#elif defined(__cplusplus)
1448 ++}
1449 ++#endif
1450 +
1451 +
1452 + /*
1453 + IPv6 socket version
1454 + */
1455 + #ifdef INET6
1456 ++#ifdef __GLIBC__
1457 + __BEGIN_DECLS
1458 ++#elif defined(__cplusplus)
1459 ++extern "C" {
1460 ++#endif
1461 + extern CLIENT *clnttcp6_create(struct sockaddr_in6 *, u_long, u_long, int *,
1462 + u_int, u_int);
1463 ++#ifdef __GLIBC__
1464 + __END_DECLS
1465 ++#elif defined(__cplusplus)
1466 ++}
1467 ++#endif
1468 + #endif
1469 +
1470 + /*
1471 +@@ -107,7 +131,11 @@ __END_DECLS
1472 + * u_int sendsz;
1473 + * u_int recvsz;
1474 + */
1475 ++#ifdef __GLIBC__
1476 + __BEGIN_DECLS
1477 ++#elif defined(__cplusplus)
1478 ++extern "C" {
1479 ++#endif
1480 + extern CLIENT *clntudp_create(struct sockaddr_in *, u_long, u_long,
1481 + struct timeval, int *);
1482 + extern CLIENT *clntudp_bufcreate(struct sockaddr_in *, u_long, u_long,
1483 +@@ -118,7 +146,11 @@ extern CLIENT *clntudp6_create(struct so
1484 + extern CLIENT *clntudp6_bufcreate(struct sockaddr_in6 *, u_long, u_long,
1485 + struct timeval, int *, u_int, u_int);
1486 + #endif
1487 ++#ifdef __GLIBC__
1488 + __END_DECLS
1489 ++#elif defined(__cplusplus)
1490 ++}
1491 ++#endif
1492 +
1493 +
1494 + #endif /* _RPC_CLNT_SOC_H */
1495 +--- ./tirpc/rpc/rpc_com.h.orig 2014-11-28 09:16:53.977289976 +0000
1496 ++++ ./tirpc/rpc/rpc_com.h 2014-11-28 09:16:53.978289976 +0000
1497 +@@ -57,7 +57,11 @@
1498 + #define __RPC_GETXID(now) ((u_int32_t)getpid() ^ (u_int32_t)(now)->tv_sec ^ \
1499 + (u_int32_t)(now)->tv_usec)
1500 +
1501 ++#ifdef __GLIBC__
1502 + __BEGIN_DECLS
1503 ++#elif defined(__cplusplus)
1504 ++extern "C" {
1505 ++#endif
1506 + extern u_int __rpc_get_a_size(int);
1507 + extern int __rpc_dtbsize(void);
1508 + extern int _rpc_dtablesize(void);
1509 +@@ -79,6 +83,10 @@ bool_t rpc_control(int,void *);
1510 +
1511 + char *_get_next_token(char *, int);
1512 +
1513 ++#ifdef __GLIBC__
1514 + __END_DECLS
1515 ++#elif defined(__cplusplus)
1516 ++}
1517 ++#endif
1518 +
1519 + #endif /* _RPC_RPCCOM_H */
1520 +--- ./tirpc/rpc/auth_unix.h.orig 2014-11-28 09:16:53.998289976 +0000
1521 ++++ ./tirpc/rpc/auth_unix.h 2014-11-28 09:16:53.998289976 +0000
1522 +@@ -69,9 +69,17 @@ struct authunix_parms {
1523 +
1524 + #define authsys_parms authunix_parms
1525 +
1526 ++#ifdef __GLIBC__
1527 + __BEGIN_DECLS
1528 ++#elif defined(__cplusplus)
1529 ++extern "C" {
1530 ++#endif
1531 + extern bool_t xdr_authunix_parms(XDR *, struct authunix_parms *);
1532 ++#ifdef __GLIBC__
1533 + __END_DECLS
1534 ++#elif defined(__cplusplus)
1535 ++}
1536 ++#endif
1537 +
1538 + /*
1539 + * If a response verifier has flavor AUTH_SHORT,
1540 +--- ./tirpc/rpc/pmap_rmt.h.orig 2014-11-28 09:16:53.986289976 +0000
1541 ++++ ./tirpc/rpc/pmap_rmt.h 2014-11-28 09:16:53.986289976 +0000
1542 +@@ -58,9 +58,17 @@ struct rmtcallres {
1543 + xdrproc_t xdr_results;
1544 + };
1545 +
1546 ++#ifdef __GLIBC__
1547 + __BEGIN_DECLS
1548 ++#elif defined(__cplusplus)
1549 ++extern "C" {
1550 ++#endif
1551 + extern bool_t xdr_rmtcall_args(XDR *, struct rmtcallargs *);
1552 + extern bool_t xdr_rmtcallres(XDR *, struct rmtcallres *);
1553 ++#ifdef __GLIBC__
1554 + __END_DECLS
1555 ++#elif defined(__cplusplus)
1556 ++}
1557 ++#endif
1558 +
1559 + #endif /* !_RPC_PMAP_RMT_H */
1560 +--- ./tirpc/rpc/des_crypt.h.orig 2014-11-28 09:16:53.987289976 +0000
1561 ++++ ./tirpc/rpc/des_crypt.h 2014-11-28 09:16:53.988289976 +0000
1562 +@@ -85,23 +85,47 @@
1563 + /*
1564 + * Cipher Block Chaining mode
1565 + */
1566 ++#ifdef __GLIBC__
1567 + __BEGIN_DECLS
1568 ++#elif defined(__cplusplus)
1569 ++extern "C" {
1570 ++#endif
1571 + int cbc_crypt( char *, char *, unsigned int, unsigned int, char *);
1572 ++#ifdef __GLIBC__
1573 + __END_DECLS
1574 ++#elif defined(__cplusplus)
1575 ++}
1576 ++#endif
1577 +
1578 + /*
1579 + * Electronic Code Book mode
1580 + */
1581 ++#ifdef __GLIBC__
1582 + __BEGIN_DECLS
1583 ++#elif defined(__cplusplus)
1584 ++extern "C" {
1585 ++#endif
1586 + int ecb_crypt( char *, char *, unsigned int, unsigned int );
1587 ++#ifdef __GLIBC__
1588 + __END_DECLS
1589 ++#elif defined(__cplusplus)
1590 ++}
1591 ++#endif
1592 +
1593 + /*
1594 + * Set des parity for a key.
1595 + * DES parity is odd and in the low bit of each byte
1596 + */
1597 ++#ifdef __GLIBC__
1598 + __BEGIN_DECLS
1599 ++#elif defined(__cplusplus)
1600 ++extern "C" {
1601 ++#endif
1602 + void des_setparity( char *);
1603 ++#ifdef __GLIBC__
1604 + __END_DECLS
1605 ++#elif defined(__cplusplus)
1606 ++}
1607 ++#endif
1608 +
1609 + #endif /* _DES_DES_CRYPT_H */
1610 +--- ./tirpc/rpc/rpcb_clnt.h.orig 2014-11-28 09:16:53.979289976 +0000
1611 ++++ ./tirpc/rpc/rpcb_clnt.h 2014-11-28 09:16:53.979289976 +0000
1612 +@@ -59,7 +59,11 @@
1613 +
1614 + #include <rpc/types.h>
1615 + #include <rpc/rpcb_prot.h>
1616 ++#ifdef __GLIBC__
1617 + __BEGIN_DECLS
1618 ++#elif defined(__cplusplus)
1619 ++extern "C" {
1620 ++#endif
1621 + extern bool_t rpcb_set(const rpcprog_t, const rpcvers_t,
1622 + const struct netconfig *, const struct netbuf *);
1623 + extern bool_t rpcb_unset(const rpcprog_t, const rpcvers_t,
1624 +@@ -78,6 +82,10 @@ extern bool_t rpcb_getaddr(const rpcprog
1625 + extern bool_t rpcb_gettime(const char *, time_t *);
1626 + extern char *rpcb_taddr2uaddr(struct netconfig *, struct netbuf *);
1627 + extern struct netbuf *rpcb_uaddr2taddr(struct netconfig *, char *);
1628 ++#ifdef __GLIBC__
1629 + __END_DECLS
1630 ++#elif defined(__cplusplus)
1631 ++}
1632 ++#endif
1633 +
1634 + #endif /* !_RPC_RPCB_CLNT_H */
1635 +--- ./tirpc/rpc/clnt.h.orig 2014-11-28 09:16:53.984289976 +0000
1636 ++++ ./tirpc/rpc/clnt.h 2014-11-28 09:16:53.985289976 +0000
1637 +@@ -269,7 +269,11 @@ struct rpc_timers {
1638 + * Generic client creation routine. Supported protocols are those that
1639 + * belong to the nettype namespace (/etc/netconfig).
1640 + */
1641 ++#ifdef __GLIBC__
1642 + __BEGIN_DECLS
1643 ++#elif defined(__cplusplus)
1644 ++extern "C" {
1645 ++#endif
1646 + extern CLIENT *clnt_create(const char *, const rpcprog_t, const rpcvers_t,
1647 + const char *);
1648 + /*
1649 +@@ -416,32 +420,60 @@ extern CLIENT *clnt_dg_create(const int,
1650 + */
1651 + extern CLIENT *clnt_raw_create(rpcprog_t, rpcvers_t);
1652 +
1653 ++#ifdef __GLIBC__
1654 + __END_DECLS
1655 ++#elif defined(__cplusplus)
1656 ++}
1657 ++#endif
1658 +
1659 +
1660 + /*
1661 + * Print why creation failed
1662 + */
1663 ++#ifdef __GLIBC__
1664 + __BEGIN_DECLS
1665 ++#elif defined(__cplusplus)
1666 ++extern "C" {
1667 ++#endif
1668 + extern void clnt_pcreateerror(const char *); /* stderr */
1669 + extern char *clnt_spcreateerror(const char *); /* string */
1670 ++#ifdef __GLIBC__
1671 + __END_DECLS
1672 ++#elif defined(__cplusplus)
1673 ++}
1674 ++#endif
1675 +
1676 + /*
1677 + * Like clnt_perror(), but is more verbose in its output
1678 + */
1679 ++#ifdef __GLIBC__
1680 + __BEGIN_DECLS
1681 ++#elif defined(__cplusplus)
1682 ++extern "C" {
1683 ++#endif
1684 + extern void clnt_perrno(enum clnt_stat); /* stderr */
1685 + extern char *clnt_sperrno(enum clnt_stat); /* string */
1686 ++#ifdef __GLIBC__
1687 + __END_DECLS
1688 ++#elif defined(__cplusplus)
1689 ++}
1690 ++#endif
1691 +
1692 + /*
1693 + * Print an English error message, given the client error code
1694 + */
1695 ++#ifdef __GLIBC__
1696 + __BEGIN_DECLS
1697 ++#elif defined(__cplusplus)
1698 ++extern "C" {
1699 ++#endif
1700 + extern void clnt_perror(CLIENT *, const char *); /* stderr */
1701 + extern char *clnt_sperror(CLIENT *, const char *); /* string */
1702 ++#ifdef __GLIBC__
1703 + __END_DECLS
1704 ++#elif defined(__cplusplus)
1705 ++}
1706 ++#endif
1707 +
1708 +
1709 + /*
1710 +@@ -452,9 +484,17 @@ struct rpc_createerr {
1711 + struct rpc_err cf_error; /* useful when cf_stat == RPC_PMAPFAILURE */
1712 + };
1713 +
1714 ++#ifdef __GLIBC__
1715 + __BEGIN_DECLS
1716 ++#elif defined(__cplusplus)
1717 ++extern "C" {
1718 ++#endif
1719 + extern struct rpc_createerr *__rpc_createerr(void);
1720 ++#ifdef __GLIBC__
1721 + __END_DECLS
1722 ++#elif defined(__cplusplus)
1723 ++}
1724 ++#endif
1725 + #define get_rpc_createerr() (*(__rpc_createerr()))
1726 + #define rpc_createerr (*(__rpc_createerr()))
1727 +
1728 +@@ -471,12 +511,20 @@ __END_DECLS
1729 + * char *out;
1730 + * const char *nettype;
1731 + */
1732 ++#ifdef __GLIBC__
1733 + __BEGIN_DECLS
1734 ++#elif defined(__cplusplus)
1735 ++extern "C" {
1736 ++#endif
1737 + extern enum clnt_stat rpc_call(const char *, const rpcprog_t,
1738 + const rpcvers_t, const rpcproc_t,
1739 + const xdrproc_t, const char *,
1740 + const xdrproc_t, char *, const char *);
1741 ++#ifdef __GLIBC__
1742 + __END_DECLS
1743 ++#elif defined(__cplusplus)
1744 ++}
1745 ++#endif
1746 +
1747 + /*
1748 + * RPC broadcast interface
1749 +@@ -524,7 +572,11 @@ __END_DECLS
1750 +
1751 + typedef bool_t (*resultproc_t)(caddr_t, ...);
1752 +
1753 ++#ifdef __GLIBC__
1754 + __BEGIN_DECLS
1755 ++#elif defined(__cplusplus)
1756 ++extern "C" {
1757 ++#endif
1758 + extern enum clnt_stat rpc_broadcast(const rpcprog_t, const rpcvers_t,
1759 + const rpcproc_t, const xdrproc_t,
1760 + caddr_t, const xdrproc_t, caddr_t,
1761 +@@ -534,7 +586,11 @@ extern enum clnt_stat rpc_broadcast_exp(
1762 + caddr_t, const xdrproc_t, caddr_t,
1763 + const resultproc_t, const int,
1764 + const int, const char *);
1765 ++#ifdef __GLIBC__
1766 + __END_DECLS
1767 ++#elif defined(__cplusplus)
1768 ++}
1769 ++#endif
1770 +
1771 + /* For backward compatibility */
1772 + #include <rpc/clnt_soc.h>
1773 +--- ./tirpc/rpc/rpcent.h.orig 2014-11-28 09:16:53.996289976 +0000
1774 ++++ ./tirpc/rpc/rpcent.h 2014-11-28 09:16:53.996289976 +0000
1775 +@@ -44,7 +44,11 @@
1776 + /* #pragma ident "@(#)rpcent.h 1.13 94/04/25 SMI" */
1777 + /* @(#)rpcent.h 1.1 88/12/06 SMI */
1778 +
1779 ++#ifdef __GLIBC__
1780 + __BEGIN_DECLS
1781 ++#elif defined(__cplusplus)
1782 ++extern "C" {
1783 ++#endif
1784 +
1785 + /* These are defined in /usr/include/rpc/netdb.h */
1786 + #if 0
1787 +@@ -62,6 +66,10 @@ extern struct rpcent *getrpcent(void);
1788 +
1789 + extern void setrpcent(int) __THROW;
1790 + extern void endrpcent(void) __THROW;
1791 ++#ifdef __GLIBC__
1792 + __END_DECLS
1793 ++#elif defined(__cplusplus)
1794 ++}
1795 ++#endif
1796 +
1797 + #endif /* !_RPC_CENT_H */
1798 +--- ./tirpc/rpc/pmap_clnt.h.orig 2014-11-28 09:16:53.980289976 +0000
1799 ++++ ./tirpc/rpc/pmap_clnt.h 2014-11-28 09:16:53.980289976 +0000
1800 +@@ -67,7 +67,11 @@
1801 + #include <sys/cdefs.h>
1802 + #endif
1803 +
1804 ++#ifdef __GLIBC__
1805 + __BEGIN_DECLS
1806 ++#elif defined(__cplusplus)
1807 ++extern "C" {
1808 ++#endif
1809 + extern bool_t pmap_set(u_long, u_long, int, int);
1810 + extern bool_t pmap_unset(u_long, u_long);
1811 + extern struct pmaplist *pmap_getmaps(struct sockaddr_in *);
1812 +@@ -82,6 +86,10 @@ extern enum clnt_stat clnt_broadcast(u_l
1813 + resultproc_t);
1814 + extern u_short pmap_getport(struct sockaddr_in *,
1815 + u_long, u_long, u_int);
1816 ++#ifdef __GLIBC__
1817 + __END_DECLS
1818 ++#elif defined(__cplusplus)
1819 ++}
1820 ++#endif
1821 +
1822 + #endif /* !_RPC_PMAP_CLNT_H_ */
1823 +--- ./tirpc/rpc/auth_gss.h.orig 2014-11-28 09:16:53.989289976 +0000
1824 ++++ ./tirpc/rpc/auth_gss.h 2014-11-28 09:16:53.990289976 +0000
1825 +@@ -104,7 +104,11 @@ struct rpc_gss_init_res {
1826 + #define MAXSEQ 0x80000000
1827 +
1828 + /* Prototypes. */
1829 ++#ifdef __GLIBC__
1830 + __BEGIN_DECLS
1831 ++#elif defined(__cplusplus)
1832 ++extern "C" {
1833 ++#endif
1834 + bool_t xdr_rpc_gss_cred __P((XDR *xdrs, struct rpc_gss_cred *p));
1835 + bool_t xdr_rpc_gss_init_args __P((XDR *xdrs, gss_buffer_desc *p));
1836 + bool_t xdr_rpc_gss_init_res __P((XDR *xdrs, struct rpc_gss_init_res *p));
1837 +@@ -126,6 +130,10 @@ void gss_log_status __P((char *m, OM_ui
1838 + OM_uint32 minor));
1839 + void gss_log_hexdump __P((const u_char *buf, int len, int offset));
1840 +
1841 ++#ifdef __GLIBC__
1842 + __END_DECLS
1843 ++#elif defined(__cplusplus)
1844 ++}
1845 ++#endif
1846 +
1847 + #endif /* !_TIRPC_AUTH_GSS_H */
1848 +--- ./tirpc/rpc/rpc_msg.h.orig 2014-11-28 09:16:53.996289976 +0000
1849 ++++ ./tirpc/rpc/rpc_msg.h 2014-11-28 09:16:53.997289976 +0000
1850 +@@ -161,7 +161,11 @@ struct rpc_msg {
1851 + #define acpted_rply ru.RM_rmb.ru.RP_ar
1852 + #define rjcted_rply ru.RM_rmb.ru.RP_dr
1853 +
1854 ++#ifdef __GLIBC__
1855 + __BEGIN_DECLS
1856 ++#elif defined(__cplusplus)
1857 ++extern "C" {
1858 ++#endif
1859 + /*
1860 + * XDR routine to handle a rpc message.
1861 + * xdr_callmsg(xdrs, cmsg)
1862 +@@ -210,6 +214,10 @@ extern bool_t xdr_rejected_reply(XDR *,
1863 + * struct rpc_err *error;
1864 + */
1865 + extern void _seterr_reply(struct rpc_msg *, struct rpc_err *);
1866 ++#ifdef __GLIBC__
1867 + __END_DECLS
1868 ++#elif defined(__cplusplus)
1869 ++}
1870 ++#endif
1871 +
1872 + #endif /* !_TIRPC_RPC_MSG_H */
1873 +--- ./tirpc/rpc/nettype.h.orig 2014-11-28 09:16:53.981289976 +0000
1874 ++++ ./tirpc/rpc/nettype.h 2014-11-28 09:16:53.982289976 +0000
1875 +@@ -53,11 +53,19 @@
1876 + #define _RPC_TCP 7
1877 + #define _RPC_UDP 8
1878 +
1879 ++#ifdef __GLIBC__
1880 + __BEGIN_DECLS
1881 ++#elif defined(__cplusplus)
1882 ++extern "C" {
1883 ++#endif
1884 + extern void *__rpc_setconf(const char *);
1885 + extern void __rpc_endconf(void *);
1886 + extern struct netconfig *__rpc_getconf(void *);
1887 + extern struct netconfig *__rpc_getconfip(const char *);
1888 ++#ifdef __GLIBC__
1889 + __END_DECLS
1890 ++#elif defined(__cplusplus)
1891 ++}
1892 ++#endif
1893 +
1894 + #endif /* !_TIRPC_NETTYPE_H */
1895 +--- ./tirpc/rpc/svc_auth.h.orig 2014-11-28 09:16:53.986289976 +0000
1896 ++++ ./tirpc/rpc/svc_auth.h 2014-11-28 09:16:53.987289976 +0000
1897 +@@ -65,13 +65,21 @@ typedef struct SVCAUTH {
1898 + /*
1899 + * Server side authenticator
1900 + */
1901 ++#ifdef __GLIBC__
1902 + __BEGIN_DECLS
1903 ++#elif defined(__cplusplus)
1904 ++extern "C" {
1905 ++#endif
1906 + extern enum auth_stat _gss_authenticate(struct svc_req *, struct rpc_msg *,
1907 + bool_t *);
1908 + extern enum auth_stat _authenticate(struct svc_req *, struct rpc_msg *);
1909 + extern int svc_auth_reg(int, enum auth_stat (*)(struct svc_req *,
1910 + struct rpc_msg *));
1911 +
1912 ++#ifdef __GLIBC__
1913 + __END_DECLS
1914 ++#elif defined(__cplusplus)
1915 ++}
1916 ++#endif
1917 +
1918 + #endif /* !_RPC_SVC_AUTH_H */
1919 +--- ./tirpc/rpcsvc/nis.h.orig 2014-11-28 09:16:54.001289976 +0000
1920 ++++ ./tirpc/rpcsvc/nis.h 2014-11-28 09:16:54.002289976 +0000
1921 +@@ -36,7 +36,11 @@
1922 + #include <rpc/rpc.h>
1923 + #include <rpcsvc/nis_tags.h>
1924 +
1925 ++#ifdef __GLIBC__
1926 + __BEGIN_DECLS
1927 ++#elif defined(__cplusplus)
1928 ++extern "C" {
1929 ++#endif
1930 +
1931 + /*
1932 + * nis.h
1933 +@@ -611,6 +615,10 @@ extern nis_error * nis_rmdir_3_svc (nis
1934 + extern nis_error * nis_updkeys_3 (nis_name *, CLIENT *) __THROW;
1935 + extern nis_error * nis_updkeys_3_svc (nis_name *, struct svc_req *) __THROW;
1936 +
1937 ++#ifdef __GLIBC__
1938 + __END_DECLS
1939 ++#elif defined(__cplusplus)
1940 ++}
1941 ++#endif
1942 +
1943 + #endif /* ! _RPCSVC_NIS_H */
1944 +--- ./tirpc/rpcsvc/nislib.h.orig 2014-11-28 09:16:53.999289976 +0000
1945 ++++ ./tirpc/rpcsvc/nislib.h 2014-11-28 09:16:54.000289976 +0000
1946 +@@ -23,7 +23,11 @@
1947 +
1948 + #include <features.h>
1949 +
1950 ++#ifdef __GLIBC__
1951 + __BEGIN_DECLS
1952 ++#elif defined(__cplusplus)
1953 ++extern "C" {
1954 ++#endif
1955 +
1956 + typedef const char *const_nis_name;
1957 +
1958 +@@ -283,6 +287,10 @@ extern nis_error __nisfind_server (const
1959 +
1960 + #endif
1961 +
1962 ++#ifdef __GLIBC__
1963 + __END_DECLS
1964 ++#elif defined(__cplusplus)
1965 ++}
1966 ++#endif
1967 +
1968 + #endif /* __RPCSVC_NISLIB_H__ */
1969 +--- ./tirpc/netconfig.h.orig 2014-11-28 09:16:54.003289976 +0000
1970 ++++ ./tirpc/netconfig.h 2014-11-28 09:16:54.003289976 +0000
1971 +@@ -74,7 +74,11 @@ typedef struct {
1972 + #define NC_UDP "udp"
1973 + #define NC_ICMP "icmp"
1974 +
1975 ++#ifdef __GLIBC__
1976 + __BEGIN_DECLS
1977 ++#elif defined(__cplusplus)
1978 ++extern "C" {
1979 ++#endif
1980 +
1981 + extern void *setnetconfig (void);
1982 + extern struct netconfig *getnetconfig (void *);
1983 +@@ -89,6 +93,10 @@ extern int endnetpath (void *);
1984 + extern void nc_perror (const char *);
1985 + extern char *nc_sperror (void);
1986 +
1987 ++#ifdef __GLIBC__
1988 + __END_DECLS
1989 ++#elif defined(__cplusplus)
1990 ++}
1991 ++#endif
1992 +
1993 + #endif /* _NETCONFIG_H_ */
1994 +--- ./src/rpc_com.h.orig 2014-11-28 09:16:53.975289976 +0000
1995 ++++ ./src/rpc_com.h 2014-11-28 09:16:53.975289976 +0000
1996 +@@ -56,7 +56,11 @@
1997 + #define __RPC_GETXID(now) ((u_int32_t)getpid() ^ (u_int32_t)(now)->tv_sec ^ \
1998 + (u_int32_t)(now)->tv_usec)
1999 +
2000 ++#ifdef __GLIBC__
2001 + __BEGIN_DECLS
2002 ++#elif defined(__cplusplus)
2003 ++extern "C" {
2004 ++#endif
2005 + extern u_int __rpc_get_a_size(int);
2006 + extern int __rpc_dtbsize(void);
2007 + extern struct netconfig * __rpcgettp(int);
2008 +@@ -92,6 +96,10 @@ void __xprt_set_raddr(SVCXPRT *, const s
2009 + SVCXPRT **__svc_xports;
2010 + int __svc_maxrec;
2011 +
2012 ++#ifdef __GLIBC__
2013 + __END_DECLS
2014 ++#elif defined(__cplusplus)
2015 ++}
2016 ++#endif
2017 +
2018 + #endif /* _TIRPC_RPCCOM_H */
2019
2020 diff --git a/net-libs/libtirpc/files/0005-fix_remaining_issues.patch b/net-libs/libtirpc/files/0005-fix_remaining_issues.patch
2021 new file mode 100644
2022 index 0000000..538e79e
2023 --- /dev/null
2024 +++ b/net-libs/libtirpc/files/0005-fix_remaining_issues.patch
2025 @@ -0,0 +1,14 @@
2026 +--- ./tirpc/rpc/rpcent.h 2014-11-21 21:33:50.421928818 +0000
2027 ++++ ./tirpc/rpc/rpcent.h 2014-11-21 21:35:05.140928818 +0000
2028 +@@ -64,6 +64,10 @@ extern struct rpcent *getrpcbynumber(int
2029 + extern struct rpcent *getrpcent(void);
2030 + #endif
2031 +
2032 ++#ifndef __GLIBC__
2033 ++#define __THROW
2034 ++#endif
2035 ++
2036 + extern void setrpcent(int) __THROW;
2037 + extern void endrpcent(void) __THROW;
2038 + #ifdef __GLIBC__
2039 +
2040
2041 diff --git a/net-libs/libtirpc/files/0006-fix_queue_h_include.patch b/net-libs/libtirpc/files/0006-fix_queue_h_include.patch
2042 new file mode 100644
2043 index 0000000..9db410c
2044 --- /dev/null
2045 +++ b/net-libs/libtirpc/files/0006-fix_queue_h_include.patch
2046 @@ -0,0 +1,44 @@
2047 +--- src/clnt_bcast.c.orig 2014-11-28 09:31:22.462289976 +0000
2048 ++++ src/clnt_bcast.c 2014-11-28 09:34:06.588289976 +0000
2049 +@@ -43,8 +43,41 @@
2050 + */
2051 + #include <sys/socket.h>
2052 + #include <sys/types.h>
2053 ++#ifdef __GLIBC__
2054 + #include <sys/queue.h>
2055 ++#else
2056 ++/*
2057 ++ * * Tail queue definitions.
2058 ++ * */
2059 ++#define _TAILQ_HEAD(name, type, qual) \
2060 ++struct name { \
2061 ++ qual type *tqh_first; /* first element */ \
2062 ++ qual type *qual *tqh_last; /* addr of last next element */ \
2063 ++}
2064 ++#define TAILQ_HEAD(name, type) _TAILQ_HEAD(name, struct type,)
2065 +
2066 ++#define _TAILQ_ENTRY(type, qual) \
2067 ++struct { \
2068 ++ qual type *tqe_next; /* next element */ \
2069 ++ qual type *qual *tqe_prev; /* address of previous next element */\
2070 ++}
2071 ++#define TAILQ_ENTRY(type) _TAILQ_ENTRY(struct type,)
2072 ++/*
2073 ++ * * Tail queue functions.
2074 ++ * */
2075 ++#define TAILQ_INIT(head) do { \
2076 ++ (head)->tqh_first = NULL; \
2077 ++ (head)->tqh_last = &(head)->tqh_first; \
2078 ++} while (/*CONSTCOND*/0)
2079 ++
2080 ++#define TAILQ_INSERT_TAIL(head, elm, field) do { \
2081 ++ (elm)->field.tqe_next = NULL; \
2082 ++ (elm)->field.tqe_prev = (head)->tqh_last; \
2083 ++ *(head)->tqh_last = (elm); \
2084 ++ (head)->tqh_last = &(elm)->field.tqe_next; \
2085 ++} while (/*CONSTCOND*/0)
2086 ++
2087 ++#endif
2088 + #include <net/if.h>
2089 + #include <netinet/in.h>
2090 + #include <ifaddrs.h>
2091
2092 diff --git a/net-libs/libtirpc/files/0007-no-des.patch b/net-libs/libtirpc/files/0007-no-des.patch
2093 new file mode 100644
2094 index 0000000..4347261
2095 --- /dev/null
2096 +++ b/net-libs/libtirpc/files/0007-no-des.patch
2097 @@ -0,0 +1,29 @@
2098 +--- libtirpc-0.2.5.orig/src/Makefile.am
2099 ++++ libtirpc-0.2.5/src/Makefile.am
2100 +@@ -51,7 +51,7 @@
2101 + rpc_callmsg.c rpc_generic.c rpc_soc.c rpcb_clnt.c rpcb_prot.c \
2102 + rpcb_st_xdr.c svc.c svc_auth.c svc_dg.c svc_auth_unix.c svc_auth_none.c \
2103 + svc_generic.c svc_raw.c svc_run.c svc_simple.c svc_vc.c getpeereid.c \
2104 +- auth_time.c auth_des.c authdes_prot.c debug.c
2105 ++ auth_time.c debug.c
2106 +
2107 + ## XDR
2108 + libtirpc_la_SOURCES += xdr.c xdr_rec.c xdr_array.c xdr_float.c xdr_mem.c xdr_reference.c xdr_stdio.c
2109 +--- libtirpc-0.2.5.orig/src/rpc_soc.c
2110 ++++ libtirpc-0.2.5/src/rpc_soc.c
2111 +@@ -520,6 +520,7 @@
2112 + (resultproc_t) rpc_wrap_bcast, "udp");
2113 + }
2114 +
2115 ++#if 0
2116 + /*
2117 + * Create the client des authentication object. Obsoleted by
2118 + * authdes_seccreate().
2119 +@@ -551,6 +552,7 @@
2120 + dummy = authdes_seccreate(servername, window, NULL, ckey);
2121 + return (dummy);
2122 + }
2123 ++#endif
2124 +
2125 + /*
2126 + * Create a client handle for a unix connection. Obsoleted by clnt_vc_create()
2127
2128 diff --git a/net-libs/libtirpc/files/libtirpc-0.2.5-stdarg.patch b/net-libs/libtirpc/files/libtirpc-0.2.5-stdarg.patch
2129 new file mode 100644
2130 index 0000000..8006de3
2131 --- /dev/null
2132 +++ b/net-libs/libtirpc/files/libtirpc-0.2.5-stdarg.patch
2133 @@ -0,0 +1,29 @@
2134 +From d26607bade0893fe8652e1a0983f9fae59c64649 Mon Sep 17 00:00:00 2001
2135 +From: Mike Frysinger <vapier@g.o>
2136 +Date: Tue, 12 Aug 2014 03:11:41 -0400
2137 +Subject: [PATCH libtirpc] include stdarg.h when used
2138 +
2139 +The debug.h header uses va_list but doesn't include stdarg.h which
2140 +can lead to random build failures.
2141 +
2142 +Signed-off-by: Mike Frysinger <vapier@g.o>
2143 +---
2144 + src/debug.h | 2 ++
2145 + 1 file changed, 2 insertions(+)
2146 +
2147 +diff --git a/src/debug.h b/src/debug.h
2148 +index afc8d57..c971ac3 100644
2149 +--- a/src/debug.h
2150 ++++ b/src/debug.h
2151 +@@ -21,6 +21,8 @@
2152 +
2153 + #ifndef _DEBUG_H
2154 + #define _DEBUG_H
2155 ++
2156 ++#include <stdarg.h>
2157 + #include <syslog.h>
2158 +
2159 + extern int libtirpc_debug_level;
2160 +--
2161 +2.0.0
2162 +
2163
2164 diff --git a/net-libs/libtirpc/libtirpc-0.2.5-r99.ebuild b/net-libs/libtirpc/libtirpc-0.2.5-r99.ebuild
2165 new file mode 100644
2166 index 0000000..74341b7
2167 --- /dev/null
2168 +++ b/net-libs/libtirpc/libtirpc-0.2.5-r99.ebuild
2169 @@ -0,0 +1,74 @@
2170 +# Copyright 1999-2014 Gentoo Foundation
2171 +# Distributed under the terms of the GNU General Public License v2
2172 +# $Header: /var/cvsroot/gentoo-x86/net-libs/libtirpc/libtirpc-0.2.5.ebuild,v 1.4 2014/12/30 18:09:41 maekke Exp $
2173 +
2174 +EAPI="4"
2175 +
2176 +inherit multilib-minimal toolchain-funcs autotools
2177 +
2178 +DESCRIPTION="Transport Independent RPC library (SunRPC replacement)"
2179 +HOMEPAGE="http://libtirpc.sourceforge.net/"
2180 +SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2
2181 + mirror://gentoo/${PN}-glibc-nfs.tar.xz"
2182 +
2183 +LICENSE="GPL-2"
2184 +SLOT="0"
2185 +KEYWORDS="amd64 arm ~mips ppc x86"
2186 +IUSE="ipv6 kerberos static-libs"
2187 +
2188 +RDEPEND="kerberos? ( >=virtual/krb5-0-r1[${MULTILIB_USEDEP}] )"
2189 +DEPEND="${RDEPEND}
2190 + app-arch/xz-utils
2191 + >=virtual/pkgconfig-0-r1[${MULTILIB_USEDEP}]"
2192 +RDEPEND="${RDEPEND}
2193 + abi_x86_32? (
2194 + !<=app-emulation/emul-linux-x86-baselibs-20140508-r7
2195 + !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
2196 + )"
2197 +
2198 +src_unpack() {
2199 + unpack ${A}
2200 + cp -r tirpc "${S}"/ || die
2201 +}
2202 +
2203 +src_prepare() {
2204 + epatch "${FILESDIR}"/${P}-stdarg.patch
2205 + epatch "${FILESDIR}"/0001-Provide-getrpcbynumber-and-getrpcbyname-if-those-are.patch
2206 + epatch "${FILESDIR}"/0002-Misc-header-fixes.patch
2207 + epatch "${FILESDIR}"/0003-fix_cdefs_h_include.patch
2208 + epatch "${FILESDIR}"/0004-fix_DECLS.patch
2209 + epatch "${FILESDIR}"/0005-fix_remaining_issues.patch
2210 + epatch "${FILESDIR}"/0006-fix_queue_h_include.patch
2211 + epatch "${FILESDIR}"/0007-no-des.patch
2212 + eautoconf
2213 + eautoreconf
2214 +}
2215 +
2216 +multilib_src_configure() {
2217 + ECONF_SOURCE=${S} \
2218 + econf \
2219 + $(use_enable ipv6) \
2220 + $(use_enable kerberos gssapi) \
2221 + $(use_enable static-libs static)
2222 +}
2223 +
2224 +multilib_src_install() {
2225 + default
2226 +
2227 + # libtirpc replaces rpc support in glibc, so we need it in /
2228 + multilib_is_native_abi && gen_usr_ldscript -a tirpc
2229 +}
2230 +
2231 +multilib_src_install_all() {
2232 + einstalldocs
2233 +
2234 + insinto /etc
2235 + doins doc/netconfig
2236 +
2237 + insinto /usr/include/tirpc
2238 + doins -r "${WORKDIR}"/tirpc/*
2239 +
2240 + # makes sure that the linking order for nfs-utils is proper, as
2241 + # libtool would inject a libgssglue dependency in the list.
2242 + use static-libs || prune_libtool_files
2243 +}
2244
2245 diff --git a/net-libs/libtirpc/metadata.xml b/net-libs/libtirpc/metadata.xml
2246 new file mode 100644
2247 index 0000000..ca66751
2248 --- /dev/null
2249 +++ b/net-libs/libtirpc/metadata.xml
2250 @@ -0,0 +1,5 @@
2251 +<?xml version="1.0" encoding="UTF-8"?>
2252 +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
2253 +<pkgmetadata>
2254 +<herd>net-fs</herd>
2255 +</pkgmetadata>