Vagrant Cascadian transcribed 3.3K bytes: > I've been unable to use my gnuk usb smartcard token with gnupg on > GuixSD, and it appears this is because scdaemon is built without libusb > support: > > $ gpg --card-status > gpg: selecting openpgp failed: No such device > gpg: OpenPGP card not available: No such device > > Attached is a patch that gets scdaemon working for me and a gnuk... > > Unfortunately, enabling libusb causes one of the tets to hang > indefinitely: > > PASS: tests/openpgp/decrypt-session-key.scm > Checking unwrapping the encryption. > > encsig-2-keys-3 encsig-2-keys-4 < > PASS: tests/openpgp/decrypt-unwrap-verify.scm > Checking signing with the default hash algorithm > >
There should be a test-suite.log in some location in the build chroot, have you checked that? You might need to build with -K. > So far, I've only been able to get it to work by disabling the > tests... so it's obviously not a good idea to enable without further > troubleshooting. > > Another option might be to use pcsc-lite and ccid, but I had even less > luck getting that to work. > > > live well, > vagrant > > > diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm > index f397482ab..0e9e72784 100644 > --- a/gnu/packages/gnupg.scm > +++ b/gnu/packages/gnupg.scm > @@ -39,6 +39,7 @@ > #:use-module (gnu packages curl) > #:use-module (gnu packages crypto) > #:use-module (gnu packages emacs) > + #:use-module (gnu packages libusb) > #:use-module (gnu packages openldap) > #:use-module (gnu packages perl) > #:use-module (gnu packages perl-check) > @@ -232,6 +233,7 @@ compatible to GNU Pth.") > ("libgcrypt" ,libgcrypt) > ("libgpg-error" ,libgpg-error) > ("libksba" ,libksba) > + ("libusb" ,libusb) > ("npth" ,npth) > ("openldap" ,openldap) > ("pcsc-lite" ,pcsc-lite) > @@ -246,12 +248,17 @@ compatible to GNU Pth.") > "--enable-all-tests") > #:phases > (modify-phases %standard-phases > + ;; (delete 'check) > (add-before 'configure 'patch-paths > (lambda* (#:key inputs #:allow-other-keys) > (substitute* "scd/scdaemon.c" > (("\"(libpcsclite\\.so[^\"]*)\"" _ name) > (string-append "\"" (assoc-ref inputs "pcsc-lite") > "/lib/" name "\""))) > + (substitute* "configure" > + (("/usr/include/libusb-1.0") > + (string-append (assoc-ref inputs "libusb") > + "/include/libusb-1.0"))) > #t)) > (add-after 'build 'patch-scheme-tests > (lambda _