redis.mk 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. ################################################################################
  2. #
  3. # redis
  4. #
  5. ################################################################################
  6. REDIS_VERSION = 6.0.12
  7. REDIS_SITE = http://download.redis.io/releases
  8. REDIS_LICENSE = BSD-3-Clause (core); MIT and BSD family licenses (Bundled components)
  9. REDIS_LICENSE_FILES = COPYING
  10. REDIS_CPE_ID_VENDOR = redislabs
  11. define REDIS_USERS
  12. redis -1 redis -1 * /var/lib/redis /bin/false - Redis Server
  13. endef
  14. # Uses __atomic_fetch_add_4. Adding -latomic to LDFLAGS does not work,
  15. # because LDFLAGS is used before the list of object files. We need to
  16. # add -latomic to FINAL_LIBS to provide -latomic at the correct place
  17. # in the linking command.
  18. ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y)
  19. define REDIS_FIX_MAKEFILE
  20. $(SED) 's/FINAL_LIBS=-lm/FINAL_LIBS=-lm -latomic/' $(@D)/src/Makefile
  21. endef
  22. REDIS_POST_PATCH_HOOKS = REDIS_FIX_MAKEFILE
  23. endif
  24. # Redis doesn't support DESTDIR (yet, see
  25. # https://github.com/antirez/redis/pull/609). We set PREFIX
  26. # instead.
  27. REDIS_BUILDOPTS = $(TARGET_CONFIGURE_OPTS) \
  28. PREFIX=$(TARGET_DIR)/usr MALLOC=libc
  29. ifeq ($(BR2_PACKAGE_SYSTEMD),y)
  30. REDIS_DEPENDENCIES += systemd
  31. REDIS_BUILDOPTS += USE_SYSTEMD=yes
  32. else
  33. REDIS_BUILDOPTS += USE_SYSTEMD=no
  34. endif
  35. ifeq ($(BR2_PACKAGE_LIBOPENSSL),y)
  36. REDIS_DEPENDENCIES += libopenssl
  37. REDIS_BUILDOPTS += BUILD_TLS=yes
  38. else
  39. REDIS_BUILDOPTS += BUILD_TLS=no
  40. endif
  41. define REDIS_BUILD_CMDS
  42. $(TARGET_MAKE_ENV) $(MAKE) $(REDIS_BUILDOPTS) -C $(@D)
  43. endef
  44. define REDIS_INSTALL_TARGET_CMDS
  45. $(TARGET_MAKE_ENV) $(MAKE) $(REDIS_BUILDOPTS) -C $(@D) \
  46. LDCONFIG=true install
  47. $(INSTALL) -D -m 0644 $(@D)/redis.conf \
  48. $(TARGET_DIR)/etc/redis.conf
  49. endef
  50. define REDIS_INSTALL_INIT_SYSV
  51. $(INSTALL) -m 0755 -D package/redis/S50redis \
  52. $(TARGET_DIR)/etc/init.d/S50redis
  53. endef
  54. define REDIS_INSTALL_INIT_SYSTEMD
  55. $(INSTALL) -D -m 0644 package/redis/redis.service \
  56. $(TARGET_DIR)/usr/lib/systemd/system/redis.service
  57. endef
  58. $(eval $(generic-package))