redis.mk 1.9 KB

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