nixpkgs/pkgs/development/libraries/kinetic-cpp-client/default.nix
Jörg Thalheim b5c1deca8a
treewide: remove wkennington as maintainer
He prefers to contribute to his own nixpkgs fork triton.
Since he is still marked as maintainer in many packages
this leaves the wrong impression he still maintains those.
2019-01-26 10:05:32 +00:00

59 lines
1.6 KiB
Nix

{ stdenv, fetchgit, fetchurl, cmake, protobuf, libunwind, openssl, glog
, google-gflags, gmock, gtest
}:
let
protoTar = fetchurl {
url = "http://github.com/Seagate/kinetic-protocol/archive/3.0.0.tar.gz";
sha256 = "0406pp0sdf0rg6s5g18r2d8si2rin7p6qbzp7c6pma5hyzsygz48";
};
in
stdenv.mkDerivation rec {
name = "kinetic-cpp-client-2015-04-14";
src = fetchgit {
url = "git://github.com/Seagate/kinetic-cpp-client.git";
rev = "015085a5c89db0398f80923053f36b9e0611e107";
sha256 = "0gm34sl6lyidnxgg1lrhkxkxqj8z1y2cqn7zhzz2f1k50pigi5da";
};
patches = [ ./build-fix.patch ];
postPatch = ''
mkdir -p build/kinetic-proto
tar -x --strip-components 1 -C build/kinetic-proto -f ${protoTar}
'';
nativeBuildInputs = [ cmake protobuf ];
buildInputs = [ libunwind glog google-gflags gmock gtest ];
# The headers and library include from these and there is no provided pc file
propagatedBuildInputs = [ protobuf openssl ];
cmakeFlags = [
"-DBUILD_SHARED_LIBS=true"
];
preCheck = ''
# The checks cannot find libkinetic_client.so otherwise
export LD_LIBRARY_PATH="$(pwd)"
'';
installPhase = ''
# There is no included install script so do our best
mkdir -p $out/lib
cp libkinetic_client.so $out/lib
cp -r ../include $out
cp ../src/main/generated/kinetic_client.pb.h $out/include
'';
doCheck = true;
meta = with stdenv.lib; {
homepage = https://github.com/Seagate/kinetic-cpp-client;
description = "Code for producing C and C++ kinetic clients";
license = licenses.lgpl21;
platforms = platforms.unix;
};
}