From d5f984dcb2d77f281f0acf4b418276a801235d91 Mon Sep 17 00:00:00 2001 From: Martin Becze 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(-) diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm index ee254c3a9f..b1f6ebcf60 100644 --- a/gnu/packages/finance.scm +++ b/gnu/packages/finance.scm @@ -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