nixpkgs/pkgs/servers/amqp/rabbitmq-server/default.nix
2019-12-09 10:26:33 -08:00

52 lines
1.7 KiB
Nix
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{ stdenv, fetchurl, erlang, elixir, python, libxml2, libxslt, xmlto
, docbook_xml_dtd_45, docbook_xsl, zip, unzip, rsync, getconf, socat
, AppKit, Carbon, Cocoa
}:
stdenv.mkDerivation rec {
pname = "rabbitmq-server";
version = "3.8.2";
# when updating, consider bumping elixir version in all-packages.nix
src = fetchurl {
url = "https://github.com/rabbitmq/rabbitmq-server/releases/download/v${version}/${pname}-${version}.tar.xz";
sha256 = "17gixahxass9n4d697my8sq4an51rw3cicb36fqvl8fbhnwjjrwc";
};
buildInputs =
[ erlang elixir python libxml2 libxslt xmlto docbook_xml_dtd_45 docbook_xsl zip unzip rsync ]
++ stdenv.lib.optionals stdenv.isDarwin [ AppKit Carbon Cocoa ];
outputs = [ "out" "man" "doc" ];
installFlags = "PREFIX=$(out) RMQ_ERLAPP_DIR=$(out)";
installTargets = "install install-man";
runtimePath = stdenv.lib.makeBinPath [getconf erlang socat];
postInstall = ''
echo 'PATH=${runtimePath}:''${PATH:+:}$PATH' >> $out/sbin/rabbitmq-env
# we know exactly where rabbitmq is gonna be,
# so we patch that into the env-script
substituteInPlace $out/sbin/rabbitmq-env \
--replace 'RABBITMQ_SCRIPTS_DIR=`dirname $SCRIPT_PATH`' \
"RABBITMQ_SCRIPTS_DIR=$out/sbin"
# theres a few stray files that belong into share
mkdir -p $doc/share/doc/rabbitmq-server
mv $out/LICENSE* $doc/share/doc/rabbitmq-server
# and an unecessarily copied INSTALL file
rm $out/INSTALL
'';
meta = {
homepage = http://www.rabbitmq.com/;
description = "An implementation of the AMQP messaging protocol";
license = stdenv.lib.licenses.mpl11;
platforms = stdenv.lib.platforms.unix;
maintainers = with stdenv.lib.maintainers; [ Profpatsch ];
};
}