nixpkgs/pkgs/servers/trezord/default.nix

66 lines
1.4 KiB
Nix
Raw Normal View History

{ stdenv, fetchgit, fetchFromGitHub, curl, cmake, boost, gcc, protobuf, pkgconfig, jsoncpp
2017-02-08 16:18:22 +00:00
, libusb1, libmicrohttpd
}:
let
version = "1.2.1";
2017-02-08 16:18:22 +00:00
in
stdenv.mkDerivation rec {
name = "trezord-${version}";
src = fetchgit {
url = "https://github.com/trezor/trezord";
rev = "refs/tags/v${version}";
sha256 = "1iaxmwyidjdcrc6jg0859v6v5x3qnz5b0p78pq0bypvmgyijhpm4";
2017-02-08 16:18:22 +00:00
};
common = fetchFromGitHub {
owner = "trezor";
repo = "trezor-common";
rev = "b55fb61218431e9c99c9d6c1673801902fc9e92e";
sha256 = "1zanbgz1qjs8wfwp0z91sqcvj77a9iis694k415jyd2dn4riqhdg";
};
2017-02-08 16:18:22 +00:00
meta = with stdenv.lib; {
description = "TREZOR Bridge daemon for TREZOR bitcoin hardware wallet";
homepage = https://mytrezor.com;
license = licenses.gpl3;
maintainers = with stdenv.lib.maintainers; [ canndrew jb55 ];
platforms = platforms.linux;
};
patches = [ ./dynamic-link.patch ];
nativeBuildInputs = [
cmake
gcc
2017-02-08 16:18:22 +00:00
pkgconfig
];
buildInputs = [
curl
boost
protobuf
libusb1
libmicrohttpd
jsoncpp
];
preConfigure = ''
( cd src/config
ln -s $common/protob/config.proto
protoc -I . --cpp_out=. config.proto
)
'';
2017-02-08 16:18:22 +00:00
LD_LIBRARY_PATH = "${stdenv.lib.makeLibraryPath [ curl ]}";
cmakeFlags = [ "-DJSONCPP_LIBRARY='${jsoncpp}/lib/libjsoncpp.so'" ];
2017-02-08 16:18:22 +00:00
installPhase = ''
mkdir -p $out/bin
cp trezord $out/bin
'';
}