diff options
Diffstat (limited to 'poky/meta/recipes-extended/libnsl')
4 files changed, 189 insertions, 0 deletions
diff --git a/poky/meta/recipes-extended/libnsl/libnsl2/0001-include-sys-cdefs.h-explicitly.patch b/poky/meta/recipes-extended/libnsl/libnsl2/0001-include-sys-cdefs.h-explicitly.patch new file mode 100644 index 000000000..bd647ac55 --- /dev/null +++ b/poky/meta/recipes-extended/libnsl/libnsl2/0001-include-sys-cdefs.h-explicitly.patch @@ -0,0 +1,68 @@ +From 508a0ff690dfebc17c4f55a5f81824ed549bed66 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Tue, 18 Apr 2017 09:13:33 -0700 +Subject: [PATCH 1/2] include sys/cdefs.h explicitly + +glibc includes this header indirectly but not musl + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- +Upstream-Status: Pending + + src/rpcsvc/nis.h | 1 + + src/rpcsvc/nislib.h | 1 + + src/rpcsvc/ypclnt.h | 1 + + src/rpcsvc/ypupd.h | 1 + + 4 files changed, 4 insertions(+) + +diff --git a/src/rpcsvc/nis.h b/src/rpcsvc/nis.h +index 933c4d9..88cbca0 100644 +--- a/src/rpcsvc/nis.h ++++ b/src/rpcsvc/nis.h +@@ -32,6 +32,7 @@ + #ifndef _RPCSVC_NIS_H + #define _RPCSVC_NIS_H 1 + ++#include <sys/cdefs.h> + #include <features.h> + #include <rpc/rpc.h> + #include <rpcsvc/nis_tags.h> +diff --git a/src/rpcsvc/nislib.h b/src/rpcsvc/nislib.h +index a59c19b..a53fab3 100644 +--- a/src/rpcsvc/nislib.h ++++ b/src/rpcsvc/nislib.h +@@ -19,6 +19,7 @@ + #ifndef __RPCSVC_NISLIB_H__ + #define __RPCSVC_NISLIB_H__ + ++#include <sys/cdefs.h> + #include <features.h> + + __BEGIN_DECLS +diff --git a/src/rpcsvc/ypclnt.h b/src/rpcsvc/ypclnt.h +index fe43fd4..a686b61 100644 +--- a/src/rpcsvc/ypclnt.h ++++ b/src/rpcsvc/ypclnt.h +@@ -20,6 +20,7 @@ + #ifndef __RPCSVC_YPCLNT_H__ + #define __RPCSVC_YPCLNT_H__ + ++#include <sys/cdefs.h> + #include <features.h> + + /* Some defines */ +diff --git a/src/rpcsvc/ypupd.h b/src/rpcsvc/ypupd.h +index d07fd4d..2c57301 100644 +--- a/src/rpcsvc/ypupd.h ++++ b/src/rpcsvc/ypupd.h +@@ -33,6 +33,7 @@ + #ifndef __RPCSVC_YPUPD_H__ + #define __RPCSVC_YPUPD_H__ + ++#include <sys/cdefs.h> + #include <features.h> + + #include <rpc/rpc.h> +-- +2.12.2 + diff --git a/poky/meta/recipes-extended/libnsl/libnsl2/0001-nis_call.c-Include-stdint.h-for-uintptr_t-definition.patch b/poky/meta/recipes-extended/libnsl/libnsl2/0001-nis_call.c-Include-stdint.h-for-uintptr_t-definition.patch new file mode 100644 index 000000000..e9ae51710 --- /dev/null +++ b/poky/meta/recipes-extended/libnsl/libnsl2/0001-nis_call.c-Include-stdint.h-for-uintptr_t-definition.patch @@ -0,0 +1,27 @@ +From d71cbeb3b76e54778a4d5eec6d387cce653537ca Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Fri, 9 Jun 2017 09:49:35 -0700 +Subject: [PATCH] nis_call.c: Include stdint.h for uintptr_t definition + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- +Upstream-Status: Pending + + src/nisplus/nis_call.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/nisplus/nis_call.c b/src/nisplus/nis_call.c +index 1a2b90c..1dc982d 100644 +--- a/src/nisplus/nis_call.c ++++ b/src/nisplus/nis_call.c +@@ -23,6 +23,7 @@ + #include <errno.h> + #include <fcntl.h> + #include <string.h> ++#include <stdint.h> + #include <libintl.h> + #include <rpc/rpc.h> + #include <rpc/auth.h> +-- +2.13.1 + diff --git a/poky/meta/recipes-extended/libnsl/libnsl2/0002-Define-glibc-specific-macros.patch b/poky/meta/recipes-extended/libnsl/libnsl2/0002-Define-glibc-specific-macros.patch new file mode 100644 index 000000000..75fda4b0f --- /dev/null +++ b/poky/meta/recipes-extended/libnsl/libnsl2/0002-Define-glibc-specific-macros.patch @@ -0,0 +1,57 @@ +From 60282514ea01af004d7f9e66dd3929223b7d2e7b Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Tue, 18 Apr 2017 09:16:12 -0700 +Subject: [PATCH 2/2] Define glibc specific macros + +Check and define +rawmemchr, __asprintf, __mempcpy, __strtok_r +__always_inline, TEMP_FAILURE_RETRY + +if not existing. Helps compiling with musl + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- +Upstream-Status: Pending + +diff --git a/src/rpcsvc/nis.h b/src/rpcsvc/nis.h +index 88cbca0..23fc20c 100644 +--- a/src/rpcsvc/nis.h ++++ b/src/rpcsvc/nis.h +@@ -57,6 +57,34 @@ __BEGIN_DECLS + * <kukuk@suse.de> + */ + ++#ifndef rawmemchr ++#define rawmemchr(s,c) memchr((s),(size_t)-1,(c)) ++#endif ++ ++#ifndef __asprintf ++#define __asprintf asprintf ++#endif ++ ++#ifndef __mempcpy ++#define __mempcpy mempcpy ++#endif ++ ++#ifndef __strtok_r ++#define __strtok_r strtok_r ++#endif ++ ++#ifndef __always_inline ++#define __always_inline __attribute__((__always_inline__)) ++#endif ++ ++#ifndef TEMP_FAILURE_RETRY ++#define TEMP_FAILURE_RETRY(exp) ({ \ ++typeof (exp) _rc; \ ++ do { \ ++ _rc = (exp); \ ++ } while (_rc == -1 && errno == EINTR); \ ++ _rc; }) ++#endif + + #ifndef __nis_object_h + #define __nis_object_h +-- +2.12.2 + diff --git a/poky/meta/recipes-extended/libnsl/libnsl2_git.bb b/poky/meta/recipes-extended/libnsl/libnsl2_git.bb new file mode 100644 index 000000000..a539148ca --- /dev/null +++ b/poky/meta/recipes-extended/libnsl/libnsl2_git.bb @@ -0,0 +1,37 @@ +# Copyright (C) 2017 Khem Raj <raj.khem@gmail.com> +# Released under the MIT license (see COPYING.MIT for the terms) + +SUMMARY = "Library containing NIS functions using TI-RPC (IPv6 enabled)" +DESCRIPTION = "This library contains the public client interface for NIS(YP) and NIS+\ + it was part of glibc and now is standalone packages. it also supports IPv6" +HOMEPAGE = "https://github.com/thkukuk/libnsl" +LICENSE = "LGPL-2.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" +SECTION = "libs" +DEPENDS = "libtirpc" +DEPENDS_append_libc-musl = " bsd-headers" + +PV = "1.0.5+git${SRCPV}" + +SRCREV = "dfa2f313524aff9243c4d8ce1bace73786478356" + +SRC_URI = "git://github.com/thkukuk/libnsl \ + file://0001-include-sys-cdefs.h-explicitly.patch \ + file://0002-Define-glibc-specific-macros.patch \ + file://0001-nis_call.c-Include-stdint.h-for-uintptr_t-definition.patch \ + " + +S = "${WORKDIR}/git" + +inherit autotools pkgconfig gettext + +EXTRA_OECONF += "--libdir=${libdir}/nsl --includedir=${includedir}/nsl" + +do_install_append() { + install -d ${D}${libdir} + mv ${D}${libdir}/nsl/pkgconfig ${D}${libdir} +} + +FILES_${PN} += "${libdir}/nsl/*.so.*" +FILES_${PN}-dev += "${includedir}/nsl ${libdir}/nsl/*.so" +FILES_${PN}-staticdev += "${libdir}/nsl/*.a" |