diff --git a/libs/liburing/Makefile b/libs/liburing/Makefile new file mode 100644 index 000000000..7238d5bcc --- /dev/null +++ b/libs/liburing/Makefile @@ -0,0 +1,59 @@ +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 +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:=io_uring library + 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} + +TARGET_CFLAGS += $(if $(CONFIG_USE_MUSL),-Dloff_t=off_t) + +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 ++ + struct __kernel_timespec { + int64_t tv_sec; + long long tv_nsec;