summary refs log tree commit diff
path: root/pkgs/servers/nosql
diff options
context:
space:
mode:
authorJamie McClymont <jamie@kwiius.com>2020-05-17 20:11:41 +1200
committerJamie McClymont <jamie@kwiius.com>2020-05-17 20:23:48 +1200
commit8cdc8687bffd411f6f5b5e458071f18b4c9dd109 (patch)
tree2e2148017f9060c26fddaed187b700ea102a0a15 /pkgs/servers/nosql
parent6c195563e1fdaa005f448caeb976cb249f838a7d (diff)
downloadnixpkgs-8cdc8687bffd411f6f5b5e458071f18b4c9dd109.tar
nixpkgs-8cdc8687bffd411f6f5b5e458071f18b4c9dd109.tar.gz
nixpkgs-8cdc8687bffd411f6f5b5e458071f18b4c9dd109.tar.bz2
nixpkgs-8cdc8687bffd411f6f5b5e458071f18b4c9dd109.tar.lz
nixpkgs-8cdc8687bffd411f6f5b5e458071f18b4c9dd109.tar.xz
nixpkgs-8cdc8687bffd411f6f5b5e458071f18b4c9dd109.tar.zst
nixpkgs-8cdc8687bffd411f6f5b5e458071f18b4c9dd109.zip
redis: handle changes to systemd support
The 6.0 changelog notes that systemd support was rewritten. The effects
of that seem to be twofold:

* Redis will silently fail to sd_notify if not built with libsystemd,
  breaking our unit configuration.
* It also appears to misbehave if told to daemonize when running under
  systemd -- note that upstream's sample unit configuration does not
  daemonize:
  https://github.com/antirez/redis/blob/unstable/utils/systemd-redis_server.service
Diffstat (limited to 'pkgs/servers/nosql')
-rw-r--r--pkgs/servers/nosql/redis/default.nix7
1 files changed, 4 insertions, 3 deletions
diff --git a/pkgs/servers/nosql/redis/default.nix b/pkgs/servers/nosql/redis/default.nix
index 16d985f6559..3678f028cfe 100644
--- a/pkgs/servers/nosql/redis/default.nix
+++ b/pkgs/servers/nosql/redis/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, lua, jemalloc, nixosTests }:
+{ stdenv, fetchurl, lua, pkgconfig, systemd, jemalloc, nixosTests }:
 
 stdenv.mkDerivation rec {
   version = "6.0.1";
@@ -18,13 +18,14 @@ stdenv.mkDerivation rec {
     ''}
   '';
 
-  buildInputs = [ lua ];
+  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.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;