diff options
author | Profpatsch <mail@profpatsch.de> | 2018-02-19 18:54:16 +0100 |
---|---|---|
committer | Profpatsch <mail@profpatsch.de> | 2018-02-22 17:04:20 +0100 |
commit | 186c76539855a8d1a3e76af0ff95b5de50aa48f8 (patch) | |
tree | bd23dad23081c3fa7edd8e5f120f33f97d911e01 /pkgs/servers/amqp/rabbitmq-server | |
parent | f1dfc2212853daa57d676b1e5d79d3df625c6573 (diff) | |
download | nixlib-186c76539855a8d1a3e76af0ff95b5de50aa48f8.tar nixlib-186c76539855a8d1a3e76af0ff95b5de50aa48f8.tar.gz nixlib-186c76539855a8d1a3e76af0ff95b5de50aa48f8.tar.bz2 nixlib-186c76539855a8d1a3e76af0ff95b5de50aa48f8.tar.lz nixlib-186c76539855a8d1a3e76af0ff95b5de50aa48f8.tar.xz nixlib-186c76539855a8d1a3e76af0ff95b5de50aa48f8.tar.zst nixlib-186c76539855a8d1a3e76af0ff95b5de50aa48f8.zip |
rabbitmq: 3.6.10 -> 3.6.15 (and various improvements)
- split outputs (doc, man, out) - a new runtime dependency on getconf - fix up SCRIPTS_DIR in wrapper - clean output folder of stray doc files - add license & maintainer Tested with `nixos/tests/rabbitmq.nix`, inside a docker image and manually.
Diffstat (limited to 'pkgs/servers/amqp/rabbitmq-server')
-rw-r--r-- | pkgs/servers/amqp/rabbitmq-server/default.nix | 59 |
1 files changed, 46 insertions, 13 deletions
diff --git a/pkgs/servers/amqp/rabbitmq-server/default.nix b/pkgs/servers/amqp/rabbitmq-server/default.nix index 889ec4d3745f..3d4a8902c918 100644 --- a/pkgs/servers/amqp/rabbitmq-server/default.nix +++ b/pkgs/servers/amqp/rabbitmq-server/default.nix @@ -1,40 +1,73 @@ -{ stdenv, fetchurl, erlang, python, libxml2, libxslt, xmlto +{ stdenv, fetchurl, runCommand +, erlang, python, libxml2, libxslt, xmlto , docbook_xml_dtd_45, docbook_xsl, zip, unzip, rsync , AppKit, Carbon, Cocoa }: -stdenv.mkDerivation rec { - name = "rabbitmq-server-${version}"; +let + # we only need that one glibc binary (28k instead of 2.7M) + getconf = runCommand "getconf" {} '' + install -D ${stdenv.lib.getBin stdenv.cc.libc}/bin/getconf $out/bin/getconf + ''; - version = "3.6.10"; +in stdenv.mkDerivation rec { + name = "rabbitmq-server-${version}"; + version = "3.6.15"; src = fetchurl { url = "https://www.rabbitmq.com/releases/rabbitmq-server/v${version}/${name}.tar.xz"; - sha256 = "0k1rhg1a51201b1hp6vaf4fk48hqz7m9hw55b8xnnyz2ld88jiqg"; + sha256 = "1zdmil657mhjmd20jv47s5dfpj2liqwvyg0zv2ky3akanfpgj98y"; }; buildInputs = [ erlang python libxml2 libxslt xmlto docbook_xml_dtd_45 docbook_xsl zip unzip rsync ] ++ stdenv.lib.optionals stdenv.isDarwin [ AppKit Carbon Cocoa ]; - preBuild = - '' - # Fix the "/usr/bin/env" in "calculate-relative". - patchShebangs . - ''; + outputs = [ "out" "man" "doc" ]; + + postPatch = with stdenv.lib; '' + # patch the path to getconf + substituteInPlace deps/rabbit_common/src/vm_memory_monitor.erl \ + --replace "getconf PAGESIZE" "${getconf}/bin/getconf PAGESIZE" + ''; + + preBuild = '' + # Fix the "/usr/bin/env" in "calculate-relative". + patchShebangs . + ''; installFlags = "PREFIX=$(out) RMQ_ERLAPP_DIR=$(out)"; installTargets = "install install-man"; - postInstall = - '' - echo 'PATH=${erlang}/bin:''${PATH:+:}$PATH' >> $out/sbin/rabbitmq-env + postInstall = '' + echo 'PATH=${erlang}/bin:''${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" + + # there’s 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 + + # patched into a source file above; + # needs to be explicitely passed to not be stripped by fixup + mkdir -p $out/nix-support + echo "${getconf}" > $out/nix-support/dont-strip-getconf + ''; 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 ]; }; } |