nixpkgs-suyu/pkgs/servers/amqp/qpid-cpp/default.nix
Maximilian Bosch b71ffc1b25 qpid-cpp: fix build
The compilation broke due to the flag `-Werror=int-in-bool-context`
which caused several compilation errors with GCC v7. Disabling this
warning manually with `-Wno-error` in `NIX_CFLAGS_COMPILE` should be
fine.

This package experienced several radical changes as the entire python
build in `$src/management/python` was broken since the given Python
interpreter missed several needed modules (including
`pythonPackages.qpid-python`). As the CMake build tried to invoke the
affected `setup.py` manually and patched the shebangs with `disutil` and
caused non-functional executables, I split the package up into two
parts, the actual `qpid-cpp` lib and the Python module that will be
composed using `buildEnv`.

Furthermore I added myself as maintainer for the package as the diff
became quite huge and we should have more folks available to maintain
this.

See https://hydra.nixos.org/build/71519082/log
See tickets #36453 and #31747
2018-03-27 19:24:16 +02:00

53 lines
1.5 KiB
Nix

{ stdenv, fetchurl, cmake, python2, boost, libuuid, ruby, buildEnv, buildPythonPackage, qpid-python }:
let
name = "qpid-cpp-${version}";
version = "1.37.0";
src = fetchurl {
url = "mirror://apache/qpid/cpp/${version}/${name}.tar.gz";
sha256 = "1s4hyi867i0lqn81c1crrk6fga1gmsv61675vjv5v41skz56lrsb";
};
meta = with stdenv.lib; {
homepage = http://qpid.apache.org;
repositories.git = git://git.apache.org/qpid.git;
repositories.svn = http://svn.apache.org/repos/asf/qpid;
description = "An AMQP message broker and a C++ messaging API";
license = licenses.asl20;
platforms = platforms.linux;
maintainers = with maintainers; [ cpages ma27 ];
};
qpid-cpp = stdenv.mkDerivation {
inherit src meta name;
nativeBuildInputs = [ cmake ];
buildInputs = [ boost libuuid ruby python2 ];
# the subdir managementgen wants to install python stuff in ${python} and
# the installation tries to create some folders in /var
postPatch = ''
sed -i '/managementgen/d' CMakeLists.txt
sed -i '/ENV/d' src/CMakeLists.txt
sed -i '/management/d' CMakeLists.txt
'';
NIX_CFLAGS_COMPILE = [
"-Wno-error=deprecated-declarations"
"-Wno-error=unused-function"
"-Wno-error=int-in-bool-context"
];
};
python-frontend = buildPythonPackage {
inherit name meta src;
sourceRoot = "${name}/management/python";
propagatedBuildInputs = [ qpid-python ];
};
in buildEnv {
name = "${name}-env";
paths = [ qpid-cpp python-frontend ];
}