From d5f984dcb2d77f281f0acf4b418276a801235d91 Mon Sep 17 00:00:00 2001
From: Martin Becze <mjbecze@riseup.net>
Date: Wed, 15 Apr 2020 19:37:53 -0500
Subject: [PATCH v2] gnu: Add trezor-common
* gnu/packages/finance.scm (trezor-common): New variable.
(trezord): Install udev rules from trezor-common.
---
gnu/packages/finance.scm | 50 +++++++++++++++++++++++++++++++++++++---
1 file changed, 47 insertions(+), 3 deletions(-)
@@ -41,6 +41,7 @@
#:use-module (guix git-download)
#:use-module (guix build-system gnu)
#:use-module (guix build-system cmake)
+ #:use-module (guix build-system copy)
#:use-module (guix build-system emacs)
#:use-module (guix build-system python)
#:use-module (guix build-system glib-or-gtk)
@@ -1165,6 +1166,35 @@ information.")
(home-page "https://grisbi.org")
(license license:gpl2+)))
+(define-public trezor-common
+ (let ((commit "bff7fdfe436c727982cc553bdfb29a9021b423b0")
+ (revision "0"))
+ (package
+ (name "trezor-common")
+ (version (git-version "0.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/trezor/trezor-common.git")
+ (commit commit)))
+ (sha256
+ (base32
+ "14mrirrn68if7ja6qdk9qlxs1hv0f21vrxy5ncnms0gx9iwakp2l"))
+ (file-name (git-file-name name version))))
+ (build-system copy-build-system)
+ (arguments
+ '(#:install-plan
+ ;; currently we only have use for the udev rules
+ '(("./udev/51-trezor.rules" "lib/udev/rules.d/"))))
+ (home-page "https://github.com/trezor/trezor-common")
+ (synopsis "This project contains files shared among Trezor projects.")
+ (description
+ "This project contains files shared among Trezor projects,
+including the udev rules for trezord")
+ (properties '((hidden? . #t)))
+ (license license:lgpl3+))))
+
(define-public trezord
(package
(name "trezord")
@@ -1173,15 +1203,29 @@ information.")
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/trezor/trezord-go.git")
- (commit (string-append "v" version))))
+ (url "https://github.com/trezor/trezord-go.git")
+ (commit (string-append "v" version))))
(sha256
(base32
"1ks1fa0027s3xp0z6qp0dxmayvrb4dwwscfhbx7da0khp153f2cp"))
(file-name (git-file-name name version))))
(build-system go-build-system)
+ (native-inputs
+ `(("trezor-common" ,trezor-common)))
(arguments
- '(#:import-path "github.com/trezor/trezord-go"))
+ '(#:import-path "github.com/trezor/trezord-go"
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'install 'check
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (common (assoc-ref inputs "trezor-common"))
+ (rule-path "/lib/udev/rules.d/51-trezor.rules")
+ (input-path (string-append common rule-path))
+ (output-path (string-append out rule-path)))
+
+ ;; install the udev rules
+ (install-file input-path output-path)))))))
(home-page "https://trezor.io")
(synopsis "Trezor Communication Daemon aka Trezor Bridge (written in Go)")
(description "This allows a Trezor hardware wallet to communicate to the
--
2.26.1