aboutsummaryrefslogtreecommitdiff
path: root/libs/liburing
diff options
context:
space:
mode:
authorChristian Lachner <gladiac@gmail.com>2020-06-30 11:18:44 +0200
committerChristian Lachner <gladiac@gmail.com>2020-06-30 11:18:44 +0200
commitbded5cdbbca837ebbc2c9fe55912d0be69555c22 (patch)
treedf628ddd138ff67fe64e286e6a5ffbbc662843dd /libs/liburing
parenta8a1fbfa0da2676583f0289e7ed2806a3191800c (diff)
liburing: new package: liburing v0.6
- Add initial Makefile - Add patch to fix inttypes.h inclusion when __kernel_timespec is unavailable Signed-off-by: Christian Lachner <gladiac@gmail.com>
Diffstat (limited to 'libs/liburing')
-rw-r--r--libs/liburing/Makefile65
-rw-r--r--libs/liburing/patches/000-OPENWRT-add-int64_t-detection.patch11
2 files changed, 76 insertions, 0 deletions
diff --git a/libs/liburing/Makefile b/libs/liburing/Makefile
new file mode 100644
index 000000000..f3968d2f6
--- /dev/null
+++ b/libs/liburing/Makefile
@@ -0,0 +1,65 @@
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=liburing
+PKG_VERSION:=0.6
+PKG_RELEASE:=1
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=https://git.kernel.dk/cgit/liburing/snapshot
+PKG_HASH:=44c99b9f148a885d882acd7aa63658141675eae251298cbf79bb9a4ab307ef9c
+
+PKG_MAINTAINER:=Christian Lachner <gladiac@gmail.com>
+PKG_LICENSE:=MIT
+PKG_LICENSE_FILES:=COPYING
+
+PKG_INSTALL:=1
+PKG_BUILD_PARALLEL:=1
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/liburing
+ SECTION:=libs
+ CATEGORY:=Libraries
+ TITLE:=liburing
+ URL:=https://git.kernel.dk/cgit/liburing
+endef
+
+define Package/liburing/description
+ liburing provides helpers to setup and teardown io_uring instances,
+ and also a simplified interface for applications that don't need
+ (or want) to deal with the full kernel side implementation.
+ For more info on io_uring, please see: https://kernel.dk/io_uring.pdf
+endef
+
+CONFIGURE_ARGS:=--prefix=$(CONFIGURE_PREFIX) --cc=${TARGET_CC}
+
+ifeq ($(CONFIG_USE_MUSL),y)
+ TARGET_CFLAGS+=-Dloff_t=off_t
+endif
+
+ifeq ($(CONFIG_USE_UCLIBC),y)
+ TARGET_CFLAGS+=-fno-stack-protector
+endif
+
+define Build/Compile
+ $(MAKE) $(PKG_BUILD_DIR) \
+ DSTROOT="$(PKG_INSTALL_DIR)"
+endef
+
+define Build/InstallDev
+ $(INSTALL_DIR) $(1)/usr/include/
+ $(CP) $(PKG_INSTALL_DIR)/usr/include/* $(1)/usr/include/
+ $(INSTALL_DIR) $(1)/usr/lib/
+ $(CP) $(PKG_INSTALL_DIR)/usr/lib/*.{so*,a} $(1)/usr/lib/
+ $(INSTALL_DIR) $(1)/usr/lib/pkgconfig/
+ $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/liburing.pc $(1)/usr/lib/pkgconfig/
+ $(SED) 's,/usr/include,$$$${prefix}/include,g' $(1)/usr/lib/pkgconfig/liburing.pc
+ $(SED) 's,/usr/lib,$$$${prefix}/lib,g' $(1)/usr/lib/pkgconfig/liburing.pc
+endef
+
+define Package/liburing/install
+ $(INSTALL_DIR) $(1)/usr/lib/
+ $(CP) $(PKG_INSTALL_DIR)/usr/lib/liburing.so $(PKG_INSTALL_DIR)/usr/lib/liburing.so.* $(1)/usr/lib/
+endef
+
+$(eval $(call BuildPackage,liburing))
diff --git a/libs/liburing/patches/000-OPENWRT-add-int64_t-detection.patch b/libs/liburing/patches/000-OPENWRT-add-int64_t-detection.patch
new file mode 100644
index 000000000..6409956ee
--- /dev/null
+++ b/libs/liburing/patches/000-OPENWRT-add-int64_t-detection.patch
@@ -0,0 +1,11 @@
+--- ./configure
++++ ./configure
+@@ -301,6 +301,8 @@
+ fi
+ if test "$__kernel_timespec" != "yes"; then
+ cat >> $compat_h << EOF
++#include <inttypes.h>
++
+ struct __kernel_timespec {
+ int64_t tv_sec;
+ long long tv_nsec;