commit:     76e3234807fd775433555137a464105d1a027c3e
Author:     Aric Belsito <lluixhi <AT> gmail <DOT> com>
AuthorDate: Fri Dec 23 00:04:37 2016 +0000
Commit:     Aric Belsito <lluixhi <AT> gmail <DOT> com>
CommitDate: Fri Dec 23 00:04:37 2016 +0000
URL:        https://gitweb.gentoo.org/proj/musl.git/commit/?id=76e32348

sys-libs/libsepol: Add most recent version

All of the headers contain the <sys/cdefs.h> glibc-specific C++ compatibility
hack.

 sys-libs/libsepol/Manifest                       |   4 +
 sys-libs/libsepol/files/libsepol-2.6-cdefs.patch | 968 +++++++++++++++++++++++
 sys-libs/libsepol/libsepol-2.6.ebuild            |  51 ++
 sys-libs/libsepol/metadata.xml                   |  12 +
 4 files changed, 1035 insertions(+)

diff --git a/sys-libs/libsepol/Manifest b/sys-libs/libsepol/Manifest
new file mode 100644
index 0000000..3653bb7
--- /dev/null
+++ b/sys-libs/libsepol/Manifest
@@ -0,0 +1,4 @@
+AUX libsepol-2.6-cdefs.patch 25998 SHA256 
4b78dbbc32c51e967e452c241f1162b8acfbdde6831876bac2aaa35644d3b275 SHA512 
452937699a223b518b83a3b966c78fb0f8064d1ef4fcf6dd1c364be15775b045f7f2b564936eca258f46501b37af338d4cc896416f2207fb57593c2983b920b6
 WHIRLPOOL 
1524e9a88412282d755ed108b23a1eb1fbd6d294fd13b3487155f294db0f881a64788c449d2e2abb1d6422512c3c206e86e7ce96b3b1899056042902ea19f11c
+DIST libsepol-2.6.tar.gz 442549 SHA256 
d856d6506054f52abeaa3543ea2f2344595a3dc05d0d873ed7f724f7a16b1874 SHA512 
17d007857634e3d581fcc9bafcbb75674a06e382bb258c2c6b3656c141d71493699c42b78c8e1917c628476aeb8ead73bb86e8ccf43d7ce59aa0b7884bea132a
 WHIRLPOOL 
c02b9dc9dcf13ce3f200293695565dec4a220f7a6b29c76121ba5a4f8c05fb347a034763f417927ed7b1952a4989a7738c9327dc47cd976410db695fd6e662ae
+EBUILD libsepol-2.6.ebuild 1207 SHA256 
3106914d6045ef0090a379ef4618b2a6b5e442e0c95ed04a646fa367baf36dec SHA512 
d8f00a2987c3527edb5e8d7cb9ece724d6fa57621015718c14fee0d98e80d09f3e8f27094a0a328039c6b8cbfc5f4cf3f3e2f310b1d36e101eb82b6b0a1db716
 WHIRLPOOL 
2fdd0f9ffc97fa67e015bff7f116ee5c302a3bd54d22146b0e21b975c31de94b287fa8648195b0ca5a818c156a46167854426b95c0e1b7b53aa34ece129ce1d6
+MISC metadata.xml 428 SHA256 
786c53bd0eee5b2d84990b9fc63ef2ef1ca8d0455f48f912a4b3e76c84b6c99f SHA512 
14093ec1e86ac7b7521ab02ace725347013e11628e22cf3ed5362cfe7f30a180374ab00747b58ae251afbb3fabbeb4e328bda798e512bfac9bad643206835192
 WHIRLPOOL 
ccaea270553624ba0a42e06d15d001b78c384df8708dadbc26f064d049feb9808993d1353ecf3a8a69200d490de54e34d8a0db9d0b397ea02207c1f4e9d24aa1

diff --git a/sys-libs/libsepol/files/libsepol-2.6-cdefs.patch 
b/sys-libs/libsepol/files/libsepol-2.6-cdefs.patch
new file mode 100644
index 0000000..2a8fd3f
--- /dev/null
+++ b/sys-libs/libsepol/files/libsepol-2.6-cdefs.patch
@@ -0,0 +1,968 @@
+diff -Naur libsepol-2.6.orig/include/sepol/boolean_record.h 
libsepol-2.6/include/sepol/boolean_record.h
+--- libsepol-2.6.orig/include/sepol/boolean_record.h   2016-12-22 
15:42:47.275594342 -0800
++++ libsepol-2.6/include/sepol/boolean_record.h        2016-12-22 
15:43:40.570149391 -0800
+@@ -3,9 +3,10 @@
+ 
+ #include <stddef.h>
+ #include <sepol/handle.h>
+-#include <sys/cdefs.h>
+ 
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ 
+ struct sepol_bool;
+ struct sepol_bool_key;
+@@ -51,5 +52,7 @@
+ 
+ extern void sepol_bool_free(sepol_bool_t * boolean);
+ 
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+ #endif
+diff -Naur libsepol-2.6.orig/include/sepol/booleans.h 
libsepol-2.6/include/sepol/booleans.h
+--- libsepol-2.6.orig/include/sepol/booleans.h 2016-12-22 15:42:47.275594342 
-0800
++++ libsepol-2.6/include/sepol/booleans.h      2016-12-22 15:44:28.793651565 
-0800
+@@ -5,9 +5,10 @@
+ #include <sepol/policydb.h>
+ #include <sepol/boolean_record.h>
+ #include <sepol/handle.h>
+-#include <sys/cdefs.h>
+ 
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ 
+ /*--------------compatibility--------------*/
+ 
+@@ -59,5 +60,7 @@
+                             int (*fn) (const sepol_bool_t * boolean,
+                                        void *fn_arg), void *arg);
+ 
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+ #endif
+diff -Naur libsepol-2.6.orig/include/sepol/context.h 
libsepol-2.6/include/sepol/context.h
+--- libsepol-2.6.orig/include/sepol/context.h  2016-12-22 15:42:47.275594342 
-0800
++++ libsepol-2.6/include/sepol/context.h       2016-12-22 15:44:51.699890093 
-0800
+@@ -4,9 +4,10 @@
+ #include <sepol/context_record.h>
+ #include <sepol/policydb.h>
+ #include <sepol/handle.h>
+-#include <sys/cdefs.h>
+ 
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ 
+ /* -- Deprecated -- */
+ 
+@@ -26,5 +27,7 @@
+ extern int sepol_mls_check(sepol_handle_t * handle,
+                          const sepol_policydb_t * policydb, const char *mls);
+ 
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+ #endif
+diff -Naur libsepol-2.6.orig/include/sepol/context_record.h 
libsepol-2.6/include/sepol/context_record.h
+--- libsepol-2.6.orig/include/sepol/context_record.h   2016-12-22 
15:42:47.275594342 -0800
++++ libsepol-2.6/include/sepol/context_record.h        2016-12-22 
15:45:07.533054968 -0800
+@@ -2,9 +2,10 @@
+ #define _SEPOL_CONTEXT_RECORD_H_
+ 
+ #include <sepol/handle.h>
+-#include <sys/cdefs.h>
+ 
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ 
+ struct sepol_context;
+ typedef struct sepol_context sepol_context_t;
+@@ -53,5 +54,7 @@
+ extern int sepol_context_to_string(sepol_handle_t * handle,
+                                  const sepol_context_t * con, char **str_ptr);
+ 
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+ #endif
+diff -Naur libsepol-2.6.orig/include/sepol/debug.h 
libsepol-2.6/include/sepol/debug.h
+--- libsepol-2.6.orig/include/sepol/debug.h    2016-12-22 15:42:47.275594342 
-0800
++++ libsepol-2.6/include/sepol/debug.h 2016-12-22 15:45:29.799286831 -0800
+@@ -2,9 +2,10 @@
+ #define _SEPOL_DEBUG_H_
+ 
+ #include <sepol/handle.h>
+-#include <sys/cdefs.h>
+ 
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ 
+ /* Deprecated */
+ extern void sepol_debug(int on);
+@@ -35,5 +36,7 @@
+                                                        const char *fmt, ...),
+                                  void *msg_callback_arg);
+ 
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+ #endif
+diff -Naur libsepol-2.6.orig/include/sepol/errcodes.h 
libsepol-2.6/include/sepol/errcodes.h
+--- libsepol-2.6.orig/include/sepol/errcodes.h 2016-12-22 15:42:47.275594342 
-0800
++++ libsepol-2.6/include/sepol/errcodes.h      2016-12-22 15:45:52.376521934 
-0800
+@@ -4,9 +4,10 @@
+ #define __sepol_errno_h__
+ 
+ #include <errno.h>
+-#include <sys/cdefs.h>
+ 
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ 
+ #define SEPOL_OK             0
+ 
+@@ -25,5 +26,7 @@
+ #define SEPOL_EEXIST         -EEXIST
+ #define SEPOL_ENOENT         -ENOENT
+ 
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+ #endif
+diff -Naur libsepol-2.6.orig/include/sepol/handle.h 
libsepol-2.6/include/sepol/handle.h
+--- libsepol-2.6.orig/include/sepol/handle.h   2016-12-22 15:42:47.275594342 
-0800
++++ libsepol-2.6/include/sepol/handle.h        2016-12-22 15:46:15.192759503 
-0800
+@@ -1,9 +1,9 @@
+ #ifndef _SEPOL_HANDLE_H_
+ #define _SEPOL_HANDLE_H_
+ 
+-#include <sys/cdefs.h>
+-
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ 
+ struct sepol_handle;
+ typedef struct sepol_handle sepol_handle_t;
+@@ -35,5 +35,7 @@
+  * 0 is default and discard such branch, 1 preserves them */
+ void sepol_set_preserve_tunables(sepol_handle_t * sh, int preserve_tunables);
+ 
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+ #endif
+diff -Naur libsepol-2.6.orig/include/sepol/iface_record.h 
libsepol-2.6/include/sepol/iface_record.h
+--- libsepol-2.6.orig/include/sepol/iface_record.h     2016-12-22 
15:42:47.276594352 -0800
++++ libsepol-2.6/include/sepol/iface_record.h  2016-12-22 15:46:43.288052034 
-0800
+@@ -3,9 +3,10 @@
+ 
+ #include <sepol/handle.h>
+ #include <sepol/context_record.h>
+-#include <sys/cdefs.h>
+ 
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ 
+ struct sepol_iface;
+ struct sepol_iface_key;
+@@ -59,5 +60,7 @@
+ 
+ extern void sepol_iface_free(sepol_iface_t * iface);
+ 
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+ #endif
+diff -Naur libsepol-2.6.orig/include/sepol/interfaces.h 
libsepol-2.6/include/sepol/interfaces.h
+--- libsepol-2.6.orig/include/sepol/interfaces.h       2016-12-22 
15:42:47.276594352 -0800
++++ libsepol-2.6/include/sepol/interfaces.h    2016-12-22 15:47:00.812234498 
-0800
+@@ -4,9 +4,10 @@
+ #include <sepol/policydb.h>
+ #include <sepol/iface_record.h>
+ #include <sepol/handle.h>
+-#include <sys/cdefs.h>
+ 
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ 
+ /* Return the number of interfaces */
+ extern int sepol_iface_count(sepol_handle_t * handle,
+@@ -43,5 +44,7 @@
+                              int (*fn) (const sepol_iface_t * iface,
+                                         void *fn_arg), void *arg);
+ 
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+ #endif
+diff -Naur libsepol-2.6.orig/include/sepol/module.h 
libsepol-2.6/include/sepol/module.h
+--- libsepol-2.6.orig/include/sepol/module.h   2016-12-22 15:42:47.276594352 
-0800
++++ libsepol-2.6/include/sepol/module.h        2016-12-22 15:47:25.762494283 
-0800
+@@ -7,9 +7,10 @@
+ 
+ #include <sepol/handle.h>
+ #include <sepol/policydb.h>
+-#include <sys/cdefs.h>
+ 
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ 
+ struct sepol_module_package;
+ typedef struct sepol_module_package sepol_module_package_t;
+@@ -82,5 +83,7 @@
+                              sepol_policydb_t * base,
+                              sepol_policydb_t * out, int verbose, int check);
+ 
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+ #endif
+diff -Naur libsepol-2.6.orig/include/sepol/node_record.h 
libsepol-2.6/include/sepol/node_record.h
+--- libsepol-2.6.orig/include/sepol/node_record.h      2016-12-22 
15:42:47.276594352 -0800
++++ libsepol-2.6/include/sepol/node_record.h   2016-12-22 15:47:41.288655943 
-0800
+@@ -4,9 +4,10 @@
+ #include <stddef.h>
+ #include <sepol/context_record.h>
+ #include <sepol/handle.h>
+-#include <sys/cdefs.h>
+ 
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ 
+ struct sepol_node;
+ struct sepol_node_key;
+@@ -92,5 +93,7 @@
+ 
+ extern void sepol_node_free(sepol_node_t * node);
+ 
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+ #endif
+diff -Naur libsepol-2.6.orig/include/sepol/nodes.h 
libsepol-2.6/include/sepol/nodes.h
+--- libsepol-2.6.orig/include/sepol/nodes.h    2016-12-22 15:42:47.276594352 
-0800
++++ libsepol-2.6/include/sepol/nodes.h 2016-12-22 15:47:56.449813803 -0800
+@@ -4,9 +4,10 @@
+ #include <sepol/handle.h>
+ #include <sepol/policydb.h>
+ #include <sepol/node_record.h>
+-#include <sys/cdefs.h>
+ 
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ 
+ /* Return the number of nodes */
+ extern int sepol_node_count(sepol_handle_t * handle,
+@@ -40,5 +41,7 @@
+                             int (*fn) (const sepol_node_t * node,
+                                        void *fn_arg), void *arg);
+ 
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+ #endif
+diff -Naur libsepol-2.6.orig/include/sepol/policydb/avrule_block.h 
libsepol-2.6/include/sepol/policydb/avrule_block.h
+--- libsepol-2.6.orig/include/sepol/policydb/avrule_block.h    2016-12-22 
15:42:47.277594362 -0800
++++ libsepol-2.6/include/sepol/policydb/avrule_block.h 2016-12-22 
15:50:47.505601422 -0800
+@@ -21,9 +21,10 @@
+ #define _SEPOL_AVRULE_BLOCK_H_
+ 
+ #include <sepol/policydb/policydb.h>
+-#include <sys/cdefs.h>
+ 
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ 
+ extern avrule_block_t *avrule_block_create(void);
+ extern void avrule_block_destroy(avrule_block_t * x);
+@@ -37,5 +38,7 @@
+ extern int is_id_enabled(char *id, policydb_t * p, int symbol_table);
+ extern int is_perm_enabled(char *class_id, char *perm_id, policydb_t * p);
+ 
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+ #endif
+diff -Naur libsepol-2.6.orig/include/sepol/policydb/avtab.h 
libsepol-2.6/include/sepol/policydb/avtab.h
+--- libsepol-2.6.orig/include/sepol/policydb/avtab.h   2016-12-22 
15:42:47.277594362 -0800
++++ libsepol-2.6/include/sepol/policydb/avtab.h        2016-12-22 
15:51:08.757817880 -0800
+@@ -40,11 +40,12 @@
+ #ifndef _SEPOL_POLICYDB_AVTAB_H_
+ #define _SEPOL_POLICYDB_AVTAB_H_
+ 
+-#include <sys/cdefs.h>
+ #include <sys/types.h>
+ #include <stdint.h>
+ 
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ 
+ typedef struct avtab_key {
+       uint16_t source_type;
+@@ -142,7 +143,9 @@
+ /* avtab_alloc uses one bucket per 2-4 elements, so adjust to get maximum 
buckets */
+ #define MAX_AVTAB_SIZE (MAX_AVTAB_HASH_BUCKETS << 1)
+ 
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+ #endif                                /* _AVTAB_H_ */
+ 
+ /* FLASK */
+diff -Naur libsepol-2.6.orig/include/sepol/policydb/conditional.h 
libsepol-2.6/include/sepol/policydb/conditional.h
+--- libsepol-2.6.orig/include/sepol/policydb/conditional.h     2016-12-22 
15:42:47.277594362 -0800
++++ libsepol-2.6/include/sepol/policydb/conditional.h  2016-12-22 
15:51:27.680010607 -0800
+@@ -25,9 +25,10 @@
+ #include <sepol/policydb/avtab.h>
+ #include <sepol/policydb/symtab.h>
+ #include <sepol/policydb/policydb.h>
+-#include <sys/cdefs.h>
+ 
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ 
+ #define COND_EXPR_MAXDEPTH 10
+ 
+@@ -136,5 +137,7 @@
+ extern void cond_compute_av(avtab_t * ctab, avtab_key_t * key,
+                           struct sepol_av_decision *avd);
+ 
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+ #endif                                /* _CONDITIONAL_H_ */
+diff -Naur libsepol-2.6.orig/include/sepol/policydb/constraint.h 
libsepol-2.6/include/sepol/policydb/constraint.h
+--- libsepol-2.6.orig/include/sepol/policydb/constraint.h      2016-12-22 
15:42:47.277594362 -0800
++++ libsepol-2.6/include/sepol/policydb/constraint.h   2016-12-22 
15:52:06.286403822 -0800
+@@ -22,7 +22,9 @@
+ #include <sepol/policydb/ebitmap.h>
+ #include <sepol/policydb/flask_types.h>
+ 
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ 
+ #define CEXPR_MAXDEPTH 5
+ 
+@@ -73,7 +75,9 @@
+ extern int constraint_expr_init(constraint_expr_t * expr);
+ extern void constraint_expr_destroy(constraint_expr_t * expr);
+ 
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+ #endif                                /* _CONSTRAINT_H_ */
+ 
+ /* FLASK */
+diff -Naur libsepol-2.6.orig/include/sepol/policydb/context.h 
libsepol-2.6/include/sepol/policydb/context.h
+--- libsepol-2.6.orig/include/sepol/policydb/context.h 2016-12-22 
15:42:47.277594362 -0800
++++ libsepol-2.6/include/sepol/policydb/context.h      2016-12-22 
15:52:25.606600689 -0800
+@@ -22,7 +22,9 @@
+ #include <sepol/policydb/ebitmap.h>
+ #include <sepol/policydb/mls_types.h>
+ 
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ 
+ /*
+  * A security context consists of an authenticated user
+@@ -95,5 +97,7 @@
+               (c1->type == c2->type) && mls_context_cmp(c1, c2));
+ }
+ 
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+ #endif
+diff -Naur libsepol-2.6.orig/include/sepol/policydb/ebitmap.h 
libsepol-2.6/include/sepol/policydb/ebitmap.h
+--- libsepol-2.6.orig/include/sepol/policydb/ebitmap.h 2016-12-22 
15:42:47.277594362 -0800
++++ libsepol-2.6/include/sepol/policydb/ebitmap.h      2016-12-22 
15:52:47.603825474 -0800
+@@ -19,9 +19,10 @@
+ 
+ #include <stdint.h>
+ #include <string.h>
+-#include <sys/cdefs.h>
+ 
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ 
+ #define MAPTYPE uint64_t      /* portion of bitmap in each node */
+ #define MAPSIZE (sizeof(MAPTYPE) * 8) /* number of bits in node bitmap */
+@@ -92,7 +93,9 @@
+ extern void ebitmap_destroy(ebitmap_t * e);
+ extern int ebitmap_read(ebitmap_t * e, void *fp);
+ 
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+ #endif                                /* _EBITMAP_H_ */
+ 
+ /* FLASK */
+diff -Naur libsepol-2.6.orig/include/sepol/policydb/expand.h 
libsepol-2.6/include/sepol/policydb/expand.h
+--- libsepol-2.6.orig/include/sepol/policydb/expand.h  2016-12-22 
15:42:47.277594362 -0800
++++ libsepol-2.6/include/sepol/policydb/expand.h       2016-12-22 
15:53:06.593019519 -0800
+@@ -28,9 +28,10 @@
+ #include <stddef.h>
+ #include <sepol/handle.h>
+ #include <sepol/policydb/conditional.h>
+-#include <sys/cdefs.h>
+ 
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ 
+ /*
+  * Expand only the avrules for a module. It is valid for this function
+@@ -79,5 +80,7 @@
+ extern int expand_cond_av_list(policydb_t * p, cond_av_list_t * l,
+                              cond_av_list_t ** newl, avtab_t * expa);
+ 
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+ #endif
+diff -Naur libsepol-2.6.orig/include/sepol/policydb/flask_types.h 
libsepol-2.6/include/sepol/policydb/flask_types.h
+--- libsepol-2.6.orig/include/sepol/policydb/flask_types.h     2016-12-22 
15:42:47.278594373 -0800
++++ libsepol-2.6/include/sepol/policydb/flask_types.h  2016-12-22 
15:53:42.755389053 -0800
+@@ -13,9 +13,10 @@
+ 
+ #include <sys/types.h>
+ #include <stdint.h>
+-#include <sys/cdefs.h>
+ 
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ 
+ /*
+  * A security context is a set of security attributes 
+@@ -61,5 +62,7 @@
+       uint32_t seqno;
+ };
+ 
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+ #endif
+diff -Naur libsepol-2.6.orig/include/sepol/policydb/hashtab.h 
libsepol-2.6/include/sepol/policydb/hashtab.h
+--- libsepol-2.6.orig/include/sepol/policydb/hashtab.h 2016-12-22 
15:42:47.278594373 -0800
++++ libsepol-2.6/include/sepol/policydb/hashtab.h      2016-12-22 
15:54:02.697592837 -0800
+@@ -17,9 +17,10 @@
+ 
+ #include <stdint.h>
+ #include <stdio.h>
+-#include <sys/cdefs.h>
+ 
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ 
+ typedef char *hashtab_key_t;  /* generic key type */
+ typedef void *hashtab_datum_t;        /* generic datum type */
+@@ -136,5 +137,7 @@
+ 
+ extern void hashtab_hash_eval(hashtab_t h, char *tag);
+ 
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+ #endif
+diff -Naur libsepol-2.6.orig/include/sepol/policydb/hierarchy.h 
libsepol-2.6/include/sepol/policydb/hierarchy.h
+--- libsepol-2.6.orig/include/sepol/policydb/hierarchy.h       2016-12-22 
15:42:47.278594373 -0800
++++ libsepol-2.6/include/sepol/policydb/hierarchy.h    2016-12-22 
15:54:16.684735768 -0800
+@@ -27,9 +27,10 @@
+ 
+ #include <sepol/policydb/avtab.h>
+ #include <sepol/policydb/policydb.h>
+-#include <sys/cdefs.h>
+ 
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ 
+ extern int hierarchy_add_bounds(sepol_handle_t *handle, policydb_t *p);
+ 
+@@ -43,5 +44,7 @@
+ 
+ extern int hierarchy_check_constraints(sepol_handle_t * handle, policydb_t * 
p);
+ 
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+ #endif
+diff -Naur libsepol-2.6.orig/include/sepol/policydb/link.h 
libsepol-2.6/include/sepol/policydb/link.h
+--- libsepol-2.6.orig/include/sepol/policydb/link.h    2016-12-22 
15:42:47.278594373 -0800
++++ libsepol-2.6/include/sepol/policydb/link.h 2016-12-22 15:57:01.439411892 
-0800
+@@ -10,15 +10,18 @@
+ #include <sepol/errcodes.h>
+ #include <sepol/policydb/policydb.h>
+ 
+
+ #include <stddef.h>
+-#include <sys/cdefs.h>
+ 
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ 
+ extern int link_modules(sepol_handle_t * handle,
+                       policydb_t * b, policydb_t ** mods, int len,
+                       int verbose);
+ 
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+ #endif
+diff -Naur libsepol-2.6.orig/include/sepol/policydb/mls_types.h 
libsepol-2.6/include/sepol/policydb/mls_types.h
+--- libsepol-2.6.orig/include/sepol/policydb/mls_types.h       2016-12-22 
15:42:47.278594373 -0800
++++ libsepol-2.6/include/sepol/policydb/mls_types.h    2016-12-22 
15:54:50.045075508 -0800
+@@ -34,9 +34,10 @@
+ #include <stdlib.h>
+ #include <sepol/policydb/ebitmap.h>
+ #include <sepol/policydb/flask_types.h>
+-#include <sys/cdefs.h>
+ 
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ 
+ typedef struct mls_level {
+       uint32_t sens;          /* sensitivity */
+@@ -152,5 +153,7 @@
+ extern void mls_semantic_range_destroy(mls_semantic_range_t *r);
+ extern int mls_semantic_range_cpy(mls_semantic_range_t *dst, 
mls_semantic_range_t *src);
+ 
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+ #endif
+diff -Naur libsepol-2.6.orig/include/sepol/policydb/module.h 
libsepol-2.6/include/sepol/policydb/module.h
+--- libsepol-2.6.orig/include/sepol/policydb/module.h  2016-12-22 
15:42:47.278594373 -0800
++++ libsepol-2.6/include/sepol/policydb/module.h       2016-12-22 
15:55:07.327250943 -0800
+@@ -27,11 +27,12 @@
+ 
+ #include <sepol/policydb/policydb.h>
+ #include <sepol/policydb/conditional.h>
+-#include <sys/cdefs.h>
+ 
+ #define SEPOL_MODULE_PACKAGE_MAGIC 0xf97cff8f
+ 
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ 
+ struct sepol_module_package {
+       sepol_policydb_t *policy;
+@@ -48,5 +49,7 @@
+ 
+ extern int sepol_module_package_init(sepol_module_package_t * p);
+ 
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+ #endif
+diff -Naur libsepol-2.6.orig/include/sepol/policydb/polcaps.h 
libsepol-2.6/include/sepol/policydb/polcaps.h
+--- libsepol-2.6.orig/include/sepol/policydb/polcaps.h 2016-12-22 
15:42:47.279594383 -0800
++++ libsepol-2.6/include/sepol/policydb/polcaps.h      2016-12-22 
15:55:26.373444286 -0800
+@@ -1,9 +1,9 @@
+ #ifndef _SEPOL_POLICYDB_POLCAPS_H_
+ #define _SEPOL_POLICYDB_POLCAPS_H_
+ 
+-#include <sys/cdefs.h>
+-
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ 
+ /* Policy capabilities */
+ enum {
+@@ -21,5 +21,7 @@
+ /* Convert a capability number to name. */
+ extern const char *sepol_polcap_getname(int capnum);
+ 
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+ #endif /* _SEPOL_POLICYDB_POLCAPS_H_ */
+diff -Naur libsepol-2.6.orig/include/sepol/policydb/policydb.h 
libsepol-2.6/include/sepol/policydb/policydb.h
+--- libsepol-2.6.orig/include/sepol/policydb/policydb.h        2016-12-22 
15:42:47.279594383 -0800
++++ libsepol-2.6/include/sepol/policydb/policydb.h     2016-12-22 
15:55:56.343748521 -0800
+@@ -61,7 +61,6 @@
+ #include <sepol/policydb/context.h>
+ #include <sepol/policydb/constraint.h>
+ #include <sepol/policydb/sidtab.h>
+-#include <sys/cdefs.h>
+ 
+ #define ERRMSG_LEN 1024
+ 
+@@ -69,7 +68,9 @@
+ #define POLICYDB_ERROR       -1
+ #define POLICYDB_UNSUPPORTED -2
+ 
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ 
+ /*
+  * A datum type is defined for each kind of symbol 
+@@ -776,7 +777,9 @@
+ #define POLICYDB_MOD_MAGIC SELINUX_MOD_MAGIC
+ #define POLICYDB_MOD_STRING "SE Linux Module"
+ 
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+ #endif                                /* _POLICYDB_H_ */
+ 
+ /* FLASK */
+diff -Naur libsepol-2.6.orig/include/sepol/policydb/services.h 
libsepol-2.6/include/sepol/policydb/services.h
+--- libsepol-2.6.orig/include/sepol/policydb/services.h        2016-12-22 
15:42:47.279594383 -0800
++++ libsepol-2.6/include/sepol/policydb/services.h     2016-12-22 
15:56:12.606913612 -0800
+@@ -15,9 +15,10 @@
+ #include <sepol/policydb/flask_types.h>
+ #include <sepol/policydb/policydb.h>
+ #include <stddef.h>
+-#include <sys/cdefs.h>
+ 
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ 
+ /* Set the policydb and sidtab structures to be used by
+    the service functions.  If not set, then these default
+@@ -230,5 +231,7 @@
+                          sepol_security_class_t sclass,       /* IN */
+                          sepol_security_id_t * sid);  /* OUT  */
+ 
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+ #endif
+diff -Naur libsepol-2.6.orig/include/sepol/policydb/sidtab.h 
libsepol-2.6/include/sepol/policydb/sidtab.h
+--- libsepol-2.6.orig/include/sepol/policydb/sidtab.h  2016-12-22 
15:42:47.279594383 -0800
++++ libsepol-2.6/include/sepol/policydb/sidtab.h       2016-12-22 
15:56:29.257082631 -0800
+@@ -11,9 +11,10 @@
+ #define _SEPOL_POLICYDB_SIDTAB_H_
+ 
+ #include <sepol/policydb/context.h>
+-#include <sys/cdefs.h>
+ 
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ 
+ typedef struct sidtab_node {
+       sepol_security_id_t sid;        /* security identifier */
+@@ -69,7 +70,9 @@
+ 
+ extern void sepol_sidtab_shutdown(sidtab_t * s);
+ 
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+ #endif                                /* _SIDTAB_H_ */
+ 
+ /* FLASK */
+diff -Naur libsepol-2.6.orig/include/sepol/policydb/symtab.h 
libsepol-2.6/include/sepol/policydb/symtab.h
+--- libsepol-2.6.orig/include/sepol/policydb/symtab.h  2016-12-22 
15:42:47.279594383 -0800
++++ libsepol-2.6/include/sepol/policydb/symtab.h       2016-12-22 
15:56:56.582361953 -0800
+@@ -14,9 +14,10 @@
+ #define _SEPOL_POLICYDB_SYMTAB_H_
+ 
+ #include <sepol/policydb/hashtab.h>
+-#include <sys/cdefs.h>
+ 
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ 
+ /* The symtab_datum struct stores the common information for
+  * all symtab datums. It should the first element in every
+@@ -37,7 +38,9 @@
+ extern int symtab_init(symtab_t *, unsigned int size);
+ extern void symtab_destroy(symtab_t *);
+ 
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+ #endif                                /* _SYMTAB_H_ */
+ 
+ /* FLASK */
+diff -Naur libsepol-2.6.orig/include/sepol/policydb/util.h 
libsepol-2.6/include/sepol/policydb/util.h
+--- libsepol-2.6.orig/include/sepol/policydb/util.h    2016-12-22 
15:42:47.280594393 -0800
++++ libsepol-2.6/include/sepol/policydb/util.h 2016-12-22 15:57:19.902601728 
-0800
+@@ -23,9 +23,9 @@
+ #ifndef __SEPOL_UTIL_H__
+ #define __SEPOL_UTIL_H__
+ 
+-#include <sys/cdefs.h>
+-
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ 
+ extern int add_i_to_a(uint32_t i, uint32_t * cnt, uint32_t ** a);
+ 
+@@ -40,5 +40,7 @@
+  */
+ extern int tokenize(char *line_buf, char delim, int num_args, ...);
+ 
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+ #endif
+diff -Naur libsepol-2.6.orig/include/sepol/policydb.h 
libsepol-2.6/include/sepol/policydb.h
+--- libsepol-2.6.orig/include/sepol/policydb.h 2016-12-22 15:42:47.276594352 
-0800
++++ libsepol-2.6/include/sepol/policydb.h      2016-12-22 15:48:17.853037926 
-0800
+@@ -5,9 +5,10 @@
+ #include <stdio.h>
+ 
+ #include <sepol/handle.h>
+-#include <sys/cdefs.h>
+ 
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ 
+ struct sepol_policy_file;
+ typedef struct sepol_policy_file sepol_policy_file_t;
+@@ -144,5 +145,7 @@
+  */
+ extern int sepol_policydb_compat_net(const sepol_policydb_t * p);
+ 
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+ #endif
+diff -Naur libsepol-2.6.orig/include/sepol/port_record.h 
libsepol-2.6/include/sepol/port_record.h
+--- libsepol-2.6.orig/include/sepol/port_record.h      2016-12-22 
15:42:47.280594393 -0800
++++ libsepol-2.6/include/sepol/port_record.h   2016-12-22 15:48:38.945259850 
-0800
+@@ -3,9 +3,10 @@
+ 
+ #include <sepol/context_record.h>
+ #include <sepol/handle.h>
+-#include <sys/cdefs.h>
+ 
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ 
+ struct sepol_port;
+ struct sepol_port_key;
+@@ -67,5 +68,7 @@
+ 
+ extern void sepol_port_free(sepol_port_t * port);
+ 
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+ #endif
+diff -Naur libsepol-2.6.orig/include/sepol/ports.h 
libsepol-2.6/include/sepol/ports.h
+--- libsepol-2.6.orig/include/sepol/ports.h    2016-12-22 15:42:47.280594393 
-0800
++++ libsepol-2.6/include/sepol/ports.h 2016-12-22 15:48:57.565455765 -0800
+@@ -4,9 +4,10 @@
+ #include <sepol/handle.h>
+ #include <sepol/policydb.h>
+ #include <sepol/port_record.h>
+-#include <sys/cdefs.h>
+ 
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ 
+ /* Return the number of ports */
+ extern int sepol_port_count(sepol_handle_t * handle,
+@@ -40,5 +41,7 @@
+                             int (*fn) (const sepol_port_t * port,
+                                        void *fn_arg), void *arg);
+ 
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+ #endif
+diff -Naur libsepol-2.6.orig/include/sepol/roles.h 
libsepol-2.6/include/sepol/roles.h
+--- libsepol-2.6.orig/include/sepol/roles.h    2016-12-22 15:42:47.280594393 
-0800
++++ libsepol-2.6/include/sepol/roles.h 2016-12-22 15:49:15.901648692 -0800
+@@ -1,9 +1,9 @@
+ #ifndef _SEPOL_ROLES_H_
+ #define _SEPOL_ROLES_H_
+ 
+-#include <sys/cdefs.h>
+-
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ 
+ extern int sepol_role_exists(const sepol_policydb_t * policydb,
+                            const char *role, int *response);
+@@ -11,5 +11,7 @@
+ extern int sepol_role_list(const sepol_policydb_t * policydb,
+                          char ***roles, unsigned int *nroles);
+ 
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+ #endif
+diff -Naur libsepol-2.6.orig/include/sepol/sepol.h 
libsepol-2.6/include/sepol/sepol.h
+--- libsepol-2.6.orig/include/sepol/sepol.h    2016-12-22 15:42:47.280594393 
-0800
++++ libsepol-2.6/include/sepol/sepol.h 2016-12-22 15:49:39.133893132 -0800
+@@ -3,9 +3,10 @@
+ 
+ #include <stddef.h>
+ #include <stdio.h>
+-#include <sys/cdefs.h>
+ 
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ 
+ #include <sepol/user_record.h>
+ #include <sepol/context_record.h>
+@@ -28,5 +29,7 @@
+ /* Set internal policydb from a file for subsequent service calls. */
+ extern int sepol_set_policydb_from_file(FILE * fp);
+ 
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+ #endif
+diff -Naur libsepol-2.6.orig/include/sepol/user_record.h 
libsepol-2.6/include/sepol/user_record.h
+--- libsepol-2.6.orig/include/sepol/user_record.h      2016-12-22 
15:42:47.280594393 -0800
++++ libsepol-2.6/include/sepol/user_record.h   2016-12-22 15:49:58.831100379 
-0800
+@@ -3,9 +3,10 @@
+ 
+ #include <stddef.h>
+ #include <sepol/handle.h>
+-#include <sys/cdefs.h>
+ 
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ 
+ struct sepol_user;
+ struct sepol_user_key;
+@@ -76,5 +77,7 @@
+ 
+ extern void sepol_user_free(sepol_user_t * user);
+ 
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+ #endif
+diff -Naur libsepol-2.6.orig/include/sepol/users.h 
libsepol-2.6/include/sepol/users.h
+--- libsepol-2.6.orig/include/sepol/users.h    2016-12-22 15:42:47.280594393 
-0800
++++ libsepol-2.6/include/sepol/users.h 2016-12-22 15:50:16.287283457 -0800
+@@ -5,9 +5,10 @@
+ #include <sepol/user_record.h>
+ #include <sepol/handle.h>
+ #include <stddef.h>
+-#include <sys/cdefs.h>
+ 
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ 
+ /*---------compatibility------------*/
+ 
+@@ -57,5 +58,7 @@
+                             int (*fn) (const sepol_user_t * user,
+                                        void *fn_arg), void *arg);
+ 
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+ #endif

diff --git a/sys-libs/libsepol/libsepol-2.6.ebuild 
b/sys-libs/libsepol/libsepol-2.6.ebuild
new file mode 100644
index 0000000..25b3dab
--- /dev/null
+++ b/sys-libs/libsepol/libsepol-2.6.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="6"
+
+inherit multilib toolchain-funcs multilib-minimal
+
+MY_P="${P//_/-}"
+MY_RELEASEDATE="20161014"
+
+DESCRIPTION="SELinux binary policy representation library"
+HOMEPAGE="https://github.com/SELinuxProject/selinux/wiki";
+
+if [[ ${PV} == 9999 ]]; then
+       inherit git-r3
+       EGIT_REPO_URI="https://github.com/SELinuxProject/selinux.git";
+       S="${WORKDIR}/${MY_P}/${PN}"
+else
+       
SRC_URI="https://raw.githubusercontent.com/wiki/SELinuxProject/selinux/files/releases/${MY_RELEASEDATE}/${MY_P}.tar.gz";
+       KEYWORDS="amd64 ~arm ~arm64 ~mips x86"
+       S="${WORKDIR}/${MY_P}"
+fi
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE=""
+
+DEPEND=""
+RDEPEND=""
+
+PATCHES=( "${FILESDIR}"/${P}-cdefs.patch )
+
+# tests are not meant to be run outside of the full SELinux userland repo
+RESTRICT="test"
+
+src_prepare() {
+       default
+       multilib_copy_sources
+}
+
+multilib_src_compile() {
+       tc-export RANLIB;
+       LIBDIR="\$(PREFIX)/$(get_libdir)" SHLIBDIR="\$(DESTDIR)/$(get_libdir)" \
+               emake AR="$(tc-getAR)" CC="$(tc-getCC)"
+}
+
+multilib_src_install() {
+       LIBDIR="\$(PREFIX)/$(get_libdir)" SHLIBDIR="\$(DESTDIR)/$(get_libdir)" \
+               emake DESTDIR="${D}" install
+}

diff --git a/sys-libs/libsepol/metadata.xml b/sys-libs/libsepol/metadata.xml
new file mode 100644
index 0000000..ef117d5
--- /dev/null
+++ b/sys-libs/libsepol/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd";>
+<pkgmetadata>
+       <maintainer type="project">
+               <email>seli...@gentoo.org</email>
+               <name>SELinux Team</name>
+       </maintainer>
+       <longdescription>SELinux library for manipulating binary security 
policies</longdescription>
+       <upstream>
+               <remote-id type="github">SELinuxProject/selinux</remote-id>
+       </upstream>
+</pkgmetadata>

Reply via email to