mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-19 04:02:10 +00:00
trezord: init at 1.2.0 (#22054)
This commit is contained in:
parent
ae02508c2a
commit
3082647e74
|
@ -81,6 +81,7 @@
|
|||
c0dehero = "CodeHero <codehero@nerdpol.ch>";
|
||||
calrama = "Moritz Maxeiner <moritz@ucworks.org>";
|
||||
campadrenalin = "Philip Horger <campadrenalin@gmail.com>";
|
||||
canndrew = "Andrew Cann <shum@canndrew.org>";
|
||||
carlsverre = "Carl Sverre <accounts@carlsverre.com>";
|
||||
cdepillabout = "Dennis Gosnell <cdep.illabout@gmail.com>";
|
||||
cfouche = "Chaddaï Fouché <chaddai.fouche@gmail.com>";
|
||||
|
|
|
@ -206,6 +206,7 @@
|
|||
./services/hardware/tcsd.nix
|
||||
./services/hardware/tlp.nix
|
||||
./services/hardware/thinkfan.nix
|
||||
./services/hardware/trezord.nix
|
||||
./services/hardware/udev.nix
|
||||
./services/hardware/udisks2.nix
|
||||
./services/hardware/upower.nix
|
||||
|
|
54
nixos/modules/services/hardware/trezord.nix
Normal file
54
nixos/modules/services/hardware/trezord.nix
Normal file
|
@ -0,0 +1,54 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
let
|
||||
cfg = config.services.trezord;
|
||||
in {
|
||||
|
||||
### interface
|
||||
|
||||
options = {
|
||||
services.trezord = {
|
||||
enable = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = ''
|
||||
Enable Trezor bridge daemon, for use with Trezor hardware bitcoin wallets.
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
### implementation
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
services.udev.packages = lib.singleton (pkgs.writeTextFile {
|
||||
name = "trezord-udev-rules";
|
||||
destination = "/etc/udev/rules.d/51-trezor.rules";
|
||||
text = ''
|
||||
SUBSYSTEM=="usb", ATTR{idVendor}=="534c", ATTR{idProduct}=="0001", MODE="0666", GROUP="dialout", SYMLINK+="trezor%n"
|
||||
KERNEL=="hidraw*", ATTRS{idVendor}=="534c", ATTRS{idProduct}=="0001", MODE="0666", GROUP="dialout"
|
||||
'';
|
||||
});
|
||||
|
||||
systemd.services.trezord = {
|
||||
description = "TREZOR Bridge";
|
||||
after = [ "systemd-udev-settle.service" "network.target" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
path = [];
|
||||
serviceConfig = {
|
||||
Type = "simple";
|
||||
ExecStart = "${pkgs.trezord}/bin/trezord -f";
|
||||
User = "trezord";
|
||||
};
|
||||
};
|
||||
|
||||
users.users.trezord = {
|
||||
group = "trezord";
|
||||
description = "Trezor bridge daemon user";
|
||||
};
|
||||
|
||||
users.groups.trezord = {};
|
||||
};
|
||||
}
|
||||
|
51
pkgs/servers/trezord/default.nix
Normal file
51
pkgs/servers/trezord/default.nix
Normal file
|
@ -0,0 +1,51 @@
|
|||
{ stdenv, fetchgit, curl, cmake, boost, gcc5, protobuf, pkgconfig, jsoncpp
|
||||
, libusb1, libmicrohttpd
|
||||
}:
|
||||
|
||||
let
|
||||
version = "1.2.0";
|
||||
in
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "trezord-${version}";
|
||||
|
||||
src = fetchgit {
|
||||
url = "https://github.com/trezor/trezord";
|
||||
rev = "refs/tags/v${version}";
|
||||
sha256 = "1606j5cfngryk4q21yiga1zvc3zpx4q8vqn6ljrvr679hpvlwni4";
|
||||
};
|
||||
|
||||
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
|
||||
gcc5
|
||||
pkgconfig
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
curl
|
||||
boost
|
||||
protobuf
|
||||
libusb1
|
||||
libmicrohttpd
|
||||
jsoncpp
|
||||
];
|
||||
|
||||
LD_LIBRARY_PATH = "${stdenv.lib.makeLibraryPath [ curl ]}";
|
||||
cmakeFlags="-DJSONCPP_LIBRARY='${jsoncpp}/lib/libjsoncpp.so'";
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin
|
||||
cp trezord $out/bin
|
||||
'';
|
||||
}
|
||||
|
18
pkgs/servers/trezord/dynamic-link.patch
Normal file
18
pkgs/servers/trezord/dynamic-link.patch
Normal file
|
@ -0,0 +1,18 @@
|
|||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 7c0e2cf..0e3f4ac 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -59,13 +59,6 @@ target_link_libraries(trezord ${OS_LIBRARIES})
|
||||
find_package(CURL REQUIRED)
|
||||
find_package(libmicrohttpd REQUIRED)
|
||||
|
||||
-# add static libs
|
||||
-if (NOT ${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
|
||||
- set(CMAKE_FIND_LIBRARY_SUFFIXES ".a")
|
||||
- set(BUILD_SHARED_LIBS off)
|
||||
- set(Boost_USE_STATIC_LIBS on)
|
||||
- set(CMAKE_FIND_STATIC FIRST)
|
||||
-endif(NOT ${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
|
||||
find_package(Boost 1.53.0 REQUIRED
|
||||
regex thread system unit_test_framework program_options chrono)
|
||||
find_package(Protobuf 2.5.0 REQUIRED)
|
|
@ -4086,6 +4086,8 @@ with pkgs;
|
|||
|
||||
tpm-luks = callPackage ../tools/security/tpm-luks { };
|
||||
|
||||
trezord = callPackage ../servers/trezord { };
|
||||
|
||||
tthsum = callPackage ../applications/misc/tthsum { };
|
||||
|
||||
chaps = callPackage ../tools/security/chaps { };
|
||||
|
|
Loading…
Reference in a new issue