68a09ca2d4
================================================================================ Redis 6.0.3 Released Sat May 16 18:10:21 CEST 2020 ================================================================================ Upgrade urgency CRITICAL: a crash introduced in 6.0.2 is now fixed. 1eab62f7e Remove the client from CLOSE_ASAP list before caching the master. ================================================================================ Redis 6.0.2 Released Fri May 15 22:24:36 CEST 2020 ================================================================================ Upgrade urgency MODERATE: many not critical bugfixes in different areas. Critical fix to client side caching when keys are evicted from the tracking table but no notifications are sent. The following are the most serious fix: * XPENDING should not update consumer's seen-time * optimize memory usage of deferred replies - fixed * Fix CRC64 initialization outside the Redis server itself. * stringmatchlen() should not expect null terminated strings. * Cluster nodes availability checks improved when there is high Pub/Sub load on the cluster bus. * Redis Benchmark: Fix coredump because of double free * Tracking: send eviction messages when evicting entries. * rax.c updated from upstream antirez/rax. * fix redis 6.0 not freeing closed connections during loading. New features: * Support setcpuaffinity on linux/bsd * Client Side Caching: Add Tracking Prefix Number Stats in Server Info * Add --user argument to redis-benchmark.c (ACL)
43 lines
1.7 KiB
Nix
43 lines
1.7 KiB
Nix
{ stdenv, fetchurl, lua, pkgconfig, systemd, jemalloc, nixosTests }:
|
|
|
|
stdenv.mkDerivation rec {
|
|
version = "6.0.3";
|
|
pname = "redis";
|
|
|
|
src = fetchurl {
|
|
url = "http://download.redis.io/releases/${pname}-${version}.tar.gz";
|
|
sha256 = "0fmvbhbgkrw75kqzgpklasylzff4zd0sxy2cvsrgg4pyh776v95w";
|
|
};
|
|
|
|
# Cross-compiling fixes
|
|
configurePhase = ''
|
|
${stdenv.lib.optionalString (stdenv.buildPlatform != stdenv.hostPlatform) ''
|
|
# This fixes hiredis, which has the AR awkwardly coded.
|
|
# Probably a good candidate for a patch upstream.
|
|
makeFlagsArray+=('STLIB_MAKE_CMD=${stdenv.cc.targetPrefix}ar rcs $(STLIBNAME)')
|
|
''}
|
|
'';
|
|
|
|
buildInputs = [ lua pkgconfig ] ++ stdenv.lib.optional (stdenv.isLinux) systemd;
|
|
# More cross-compiling fixes.
|
|
# Note: this enables libc malloc as a temporary fix for cross-compiling.
|
|
# Due to hardcoded configure flags in jemalloc, we can't cross-compile vendored jemalloc properly, and so we're forced to use libc allocator.
|
|
# It's weird that the build isn't failing because of failure to compile dependencies, it's from failure to link them!
|
|
makeFlags = [ "PREFIX=$(out)" ]
|
|
++ stdenv.lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [ "AR=${stdenv.cc.targetPrefix}ar" "RANLIB=${stdenv.cc.targetPrefix}ranlib" "MALLOC=libc" ]
|
|
++ stdenv.lib.optional (stdenv.isLinux) ["USE_SYSTEMD=yes"];
|
|
|
|
enableParallelBuilding = true;
|
|
|
|
doCheck = false; # needs tcl
|
|
|
|
passthru.tests.redis = nixosTests.redis;
|
|
|
|
meta = with stdenv.lib; {
|
|
homepage = "https://redis.io";
|
|
description = "An open source, advanced key-value store";
|
|
license = licenses.bsd3;
|
|
platforms = platforms.unix;
|
|
maintainers = with maintainers; [ berdario globin ];
|
|
};
|
|
}
|