Prechádzať zdrojové kódy

hiredis: new package

Minimalistic C client for Redis >= 1.2

It is minimalistic because it just adds minimal support for
the protocol, but at the same time it uses a high level
printf-alike API in order to make it much higher level than
otherwise suggested by its minimal code base and the lack of
explicit bindings for every Redis command.

https://github.com/redis/hiredis

[Peter: use install -t / -D, fix arguments]
Signed-off-by: Fabrice Fontaine <fabrice.fontaine@orange.com>
Reviewed-by: Romain Naour <romain.naour@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Fabrice Fontaine 8 rokov pred
rodič
commit
c487d0671d

+ 1 - 0
package/Config.in

@@ -945,6 +945,7 @@ menu "Database"
 	source "package/berkeleydb/Config.in"
 	source "package/cppdb/Config.in"
 	source "package/gdbm/Config.in"
+	source "package/hiredis/Config.in"
 	source "package/kompexsqlite/Config.in"
 	source "package/leveldb/Config.in"
 	source "package/libpqxx/Config.in"

+ 12 - 0
package/hiredis/Config.in

@@ -0,0 +1,12 @@
+config BR2_PACKAGE_HIREDIS
+	bool "hiredis"
+	help
+	  Minimalistic C client for Redis >= 1.2
+
+	  It is minimalistic because it just adds minimal support for
+	  the protocol, but at the same time it uses a high level
+	  printf-alike API in order to make it much higher level than
+	  otherwise suggested by its minimal code base and the lack of
+	  explicit bindings for every Redis command.
+
+	  https://github.com/redis/hiredis

+ 2 - 0
package/hiredis/hiredis.hash

@@ -0,0 +1,2 @@
+# Locally computed:
+sha256	717e6fc8dc2819bef522deaca516de9e51b9dfa68fe393b7db5c3b6079196f78	hiredis-v0.13.3.tar.gz

+ 48 - 0
package/hiredis/hiredis.mk

@@ -0,0 +1,48 @@
+################################################################################
+#
+# hiredis
+#
+################################################################################
+
+HIREDIS_VERSION = v0.13.3
+HIREDIS_SITE = $(call github,redis,hiredis,$(HIREDIS_VERSION))
+HIREDIS_LICENSE = BSD-3c
+HIREDIS_LICENSE_FILES = COPYING
+HIREDIS_INSTALL_STAGING = YES
+
+HIREDIS_MAKE_OPTS = \
+	$(TARGET_CONFIGURE_OPTS) \
+	PREFIX=/usr
+
+HIREDIS_TARGETS = hiredis.pc
+ifeq ($(BR2_STATIC_LIBS),y)
+HIREDIS_TARGETS += static
+else ifeq ($(BR2_SHARED_LIBS),y)
+HIREDIS_TARGETS += dynamic
+else ifeq $(BR2_SHARED_STATIC_LIBS),y)
+HIREDIS_TARGETS += dynamic static
+endif
+
+define HIREDIS_BUILD_CMDS
+	$(TARGET_MAKE_ENV) $(MAKE) $(HIREDIS_MAKE_OPTS) -C $(@D) \
+		$(HIREDIS_TARGETS)
+endef
+
+HIREDIS_INCLUDE_DIR = $(STAGING_DIR)/usr/include/hiredis
+
+# Do not call make install as this target will build shared and static libraries
+define HIREDIS_INSTALL_STAGING_CMDS
+	mkdir -p $(HIREDIS_INCLUDE_DIR)
+	cp -dpfr $(@D)/hiredis.h $(@D)/async.h $(@D)/read.h $(@D)/sds.h \
+		$(@D)/adapters $(HIREDIS_INCLUDE_DIR)
+	$(INSTALL) -D -m 0644 $(@D)/hiredis.pc \
+		$(STAGING_DIR)/usr/lib/pkgconfig/hiredis.pc
+	$(INSTALL) -m 0644 -t $(STAGING_DIR)/usr/lib $(@D)/libhiredis*
+endef
+
+define HIREDIS_INSTALL_TARGET_CMDS
+	mkdir -p $(TARGET_DIR)/usr/lib
+	$(INSTALL) -m 0644 -t $(TARGET_DIR)/usr/lib $(@D)/libhiredis*
+endef
+
+$(eval $(generic-package))