aboutsummaryrefslogtreecommitdiffstats
path: root/package/libs/libbsd
diff options
context:
space:
mode:
Diffstat (limited to 'package/libs/libbsd')
-rw-r--r--package/libs/libbsd/Makefile57
-rw-r--r--package/libs/libbsd/patches/001-aarch64_support.patch19
2 files changed, 76 insertions, 0 deletions
diff --git a/package/libs/libbsd/Makefile b/package/libs/libbsd/Makefile
new file mode 100644
index 0000000..ca5e761
--- /dev/null
+++ b/package/libs/libbsd/Makefile
@@ -0,0 +1,57 @@
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=libbsd
+PKG_VERSION:=0.3.0
+PKG_RELEASE:=1
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=http://libbsd.freedesktop.org/releases
+#PKG_MD5SUM:=d0870f2de55d59c1c8419f36e8fac150
+
+PKG_LICENSE:=BSD-4-Clause
+PKG_LICENSE_FILES:=COPYING
+
+include $(INCLUDE_DIR)/package.mk
+
+PKG_INSTALL:=1
+
+define Package/libbsd
+ SECTION:=libs
+ CATEGORY:=Libraries
+ DEPENDS:=@USE_GLIBC
+ TITLE:=common BSD library
+endef
+
+define Package/libbsd/description
+ This library provides useful functions commonly found on BSD systems, and lacking on others like GNU systems, thus making it easier to port projects with strong BSD origins, without needing to embed the same code over and over again on each project.
+endef
+
+define Build/InstallDev
+ $(INSTALL_DIR) \
+ $(1)/lib \
+ $(1)/usr/include
+
+ $(CP) \
+ $(PKG_INSTALL_DIR)/lib/libbsd.so* \
+ $(1)/lib/
+
+ $(CP) \
+ $(PKG_INSTALL_DIR)/usr/include/* \
+ $(1)/usr/include/
+
+ ( cd $(1)/lib ; $(LN) libbsd.so.$(PKG_VERSION) libbsd.so )
+endef
+
+define Package/libbsd/install
+ $(INSTALL_DIR) \
+ $(1)/lib
+
+ $(CP) \
+ $(PKG_INSTALL_DIR)/lib/libbsd.so* \
+ $(1)/lib/
+
+ ( cd $(1)/lib ; $(LN) libbsd.so.$(PKG_VERSION) libbsd.so )
+endef
+
+$(eval $(call BuildPackage,libbsd))
+
diff --git a/package/libs/libbsd/patches/001-aarch64_support.patch b/package/libs/libbsd/patches/001-aarch64_support.patch
new file mode 100644
index 0000000..6229148
--- /dev/null
+++ b/package/libs/libbsd/patches/001-aarch64_support.patch
@@ -0,0 +1,19 @@
+--- a/src/local-elf.h
++++ b/src/local-elf.h
+@@ -165,6 +165,16 @@
+ #endif
+ #define ELF_TARG_DATA ELFDATA2MSB
+
++#elif defined(__aarch64__)
++
++#define ELF_TARG_MACH EM_AARCH64
++#define ELF_TARG_CLASS ELFCLASS64
++#ifdef __AARCH64EB__
++#define ELF_TARG_DATA ELFDATA2MSB
++#else
++#define ELF_TARG_DATA ELFDATA2LSB
++#endif
++
+ #else
+
+ #error Unknown ELF machine type