anchor.diff: -{ lib, stdenv, fetchurl, erlang, elixir, python, libxml2, libxslt, xmlto
  -, docbook_xml_dtd_45, docbook_xsl, zip, unzip, rsync, getconf, socat
  -, procps, coreutils, gnused, systemd, glibcLocales
  -, AppKit, Carbon, Cocoa
  +{ lib
  +, stdenv
  +, fetchurl
  +, erlang
  +, elixir
  +, python
  +, libxml2
  +, libxslt
  +, xmlto
  +, docbook_xml_dtd_45
  +, docbook_xsl
  +, zip
  +, unzip
  +, rsync
  +, getconf
  +, socat
  +, procps
  +, coreutils
  +, gnused
  +, systemd
  +, glibcLocales
  +, AppKit
  +, Carbon
  +, Cocoa
   , nixosTests
   }:
   
   stdenv.mkDerivation rec {
     pname = "rabbitmq-server";
  -
     version = "3.9.1";
   
     # when updating, consider bumping elixir version in all-packages.nix
  
positive.code:   runtimePath = lib.makeBinPath ([
      erlang
      getconf # for getting memory limits
      socat procps
      gnused coreutils # used by helper scripts
    ] ++ lib.optionals stdenv.isLinux [ systemd ]); # for systemd unit activation check
    postInstall = ''
      # rabbitmq-env calls to sed/coreutils, so provide everything early
      sed -i $out/sbin/rabbitmq-env -e '2s|^|PATH=${runtimePath}\''${PATH:+:}\$PATH/\n|'
  
negative.code:   };
  
    nativeBuildInputs = [ unzip xmlto docbook_xml_dtd_45 docbook_xsl zip rsync ];
    buildInputs = [ erlang elixir python libxml2 libxslt glibcLocales ]
      ++ lib.optionals stdenv.isDarwin [ AppKit Carbon Cocoa ];
  
    outputs = [ "out" "man" "doc" ];
  