Since 8.0.0, Redis now uses the fastfloat library as a bundled dependency, and this library is written in C++ (even though the rest of Redis is in plain C). Therefore, we now require a toolchain with C++ support. From https://github.com/redis/redis/blob/8.0.0/00-RELEASENOTES: ======================================================= 8.0 GA (v8.0.0) Released Fri 2 May 2025 12:00:00 IST ======================================================= This is the General Availability release of Redis Open Source 8.0. Redis 8.0 deprecates previous Redis and Redis Stack versions. Stand alone RediSearch, RedisJSON, RedisTimeSeries, and RedisBloom are no longer needed as they are now part of Redis. - Name change: Redis Community Edition is now Redis Open Source - License change: licensed under your choice of - (a) the Redis Source Available License 2.0 (RSALv2); or - (b) the Server Side Public License v1 (SSPLv1); or - (c) the GNU Affero General Public License (AGPLv3) - Redis Query engine and 8 new data structures are now an integral part of Redis 8 - (1) Redis Query Engine, which now supports both horizontal and vertical scaling for search, query and vector workloads - (2) JSON - a queryable JSON document - (3) Time series - (4-8) Five probabilistic data structures: Bloom filter, Cuckoo filter, Count-min sketch, Top-k, and t-digest - (9) Vector set [beta] - a data structure designed for Vector Similarity Search, inspired by Sorted set - These nine components are included in all binary distributions - See instructions in the README.md file on how to build from source with all these components - New configuration file: redis-full.conf - loads Redis with all these components, and contains new configuration parameters for Redis Query engine and the new data structures - New ACL categories: @search, @json, @timeseries, @bloom, @cuckoo, @cms, @topk, @tdigest - Commands are also included in the existing ACL categories (@read, @write, etc.) - More than 30 performance and resource utilization improvements - A new I/O threading implementation which enables throughput increase on multi-core environments (set with `io-threads` configuration parameter) - An improved replication mechanism which is more performant and robust - New hash commands - `HGETDEL`, `HGETEX`, `HSETEX` For more details, see the release notes of 8.0-M01, 8.0-M02, 8.0-M03,8.0-M04, and 8.0-RC1 Signed-off-by: Titouan Christophe <titouan.christophe@mind.be> Signed-off-by: Julien Olivain <ju.o@free.fr>
73 lines
2.0 KiB
Makefile
73 lines
2.0 KiB
Makefile
################################################################################
|
|
#
|
|
# redis
|
|
#
|
|
################################################################################
|
|
|
|
REDIS_VERSION = 8.0.0
|
|
REDIS_SITE = http://download.redis.io/releases
|
|
REDIS_LICENSE = \
|
|
AGPL-3.0 or SSPL-1.0 or RSAL-2.0 (core); \
|
|
MIT and BSD family licenses (Bundled components)
|
|
REDIS_LICENSE_FILES = LICENSE.txt
|
|
REDIS_CPE_ID_VENDOR = redislabs
|
|
REDIS_SELINUX_MODULES = redis
|
|
|
|
define REDIS_USERS
|
|
redis -1 redis -1 * /var/lib/redis /bin/false - Redis Server
|
|
endef
|
|
|
|
# Uses __atomic_fetch_add_4. Adding -latomic to LDFLAGS does not work,
|
|
# because LDFLAGS is used before the list of object files. We need to
|
|
# add -latomic to FINAL_LIBS to provide -latomic at the correct place
|
|
# in the linking command.
|
|
ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y)
|
|
define REDIS_FIX_MAKEFILE
|
|
$(SED) 's/FINAL_LIBS=-lm/FINAL_LIBS=-lm -latomic/' $(@D)/src/Makefile
|
|
endef
|
|
REDIS_POST_PATCH_HOOKS = REDIS_FIX_MAKEFILE
|
|
endif
|
|
|
|
# Redis doesn't support DESTDIR (yet, see
|
|
# https://github.com/antirez/redis/pull/609). We set PREFIX
|
|
# instead.
|
|
REDIS_BUILDOPTS = $(TARGET_CONFIGURE_OPTS) \
|
|
PREFIX=$(TARGET_DIR)/usr MALLOC=libc WARNINGS=
|
|
|
|
ifeq ($(BR2_PACKAGE_SYSTEMD),y)
|
|
REDIS_DEPENDENCIES += systemd
|
|
REDIS_BUILDOPTS += USE_SYSTEMD=yes
|
|
else
|
|
REDIS_BUILDOPTS += USE_SYSTEMD=no
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_LIBOPENSSL),y)
|
|
REDIS_DEPENDENCIES += libopenssl
|
|
REDIS_BUILDOPTS += BUILD_TLS=yes
|
|
else
|
|
REDIS_BUILDOPTS += BUILD_TLS=no
|
|
endif
|
|
|
|
define REDIS_BUILD_CMDS
|
|
$(TARGET_MAKE_ENV) $(MAKE) $(REDIS_BUILDOPTS) -C $(@D)
|
|
endef
|
|
|
|
define REDIS_INSTALL_TARGET_CMDS
|
|
$(TARGET_MAKE_ENV) $(MAKE) $(REDIS_BUILDOPTS) -C $(@D) \
|
|
LDCONFIG=true install
|
|
$(INSTALL) -D -m 0644 $(@D)/redis.conf \
|
|
$(TARGET_DIR)/etc/redis.conf
|
|
endef
|
|
|
|
define REDIS_INSTALL_INIT_SYSV
|
|
$(INSTALL) -m 0755 -D package/redis/S50redis \
|
|
$(TARGET_DIR)/etc/init.d/S50redis
|
|
endef
|
|
|
|
define REDIS_INSTALL_INIT_SYSTEMD
|
|
$(INSTALL) -D -m 0644 package/redis/redis.service \
|
|
$(TARGET_DIR)/usr/lib/systemd/system/redis.service
|
|
endef
|
|
|
|
$(eval $(generic-package))
|