Download raw body.
[NEW] security/nitrocli
This is a second attempt at the port, incorporating some suggestions
from Klemens Nanni.
I include both a full version of the port (attached) and a patch that
shows the differences between the earlier version and the current
version of the port (attached).
diff -Nur nitrocli.orig/Makefile nitrocli/Makefile
--- nitrocli.orig/Makefile Sun Apr 14 15:28:33 2024
+++ nitrocli/Makefile Mon Apr 22 12:18:42 2024
@@ -18,91 +18,24 @@
LIB_DEPENDS = comms/libhidapi
+RUN_DEPENDS = security/gnupg
+
COMPILER = base-clang ports-gcc
CONFIGURE_STYLE = cargo
MODCARGO_RUSTFLAGS = -L ${LOCALBASE}/lib
-MODCARGO_CRATES += aho-corasick 0.7.18 # Unlicense/MIT
-MODCARGO_CRATES += anyhow 1.0.40 # MIT OR Apache-2.0
-MODCARGO_CRATES += autocfg 1.0.1 # Apache-2.0 OR MIT
-MODCARGO_CRATES += base32 0.4.0 # MIT OR Apache-2.0
-MODCARGO_CRATES += bitflags 1.2.1 # MIT/Apache-2.0
-MODCARGO_CRATES += cc 1.0.67 # MIT/Apache-2.0
-MODCARGO_CRATES += cfg-if 1.0.0 # MIT/Apache-2.0
-MODCARGO_CRATES += clap 2.33.3 # MIT
-MODCARGO_CRATES += directories 3.0.2 # MIT OR Apache-2.0
-MODCARGO_CRATES += dirs-sys 0.3.6 # MIT OR Apache-2.0
-MODCARGO_CRATES += envy 0.4.2 # MIT
-MODCARGO_CRATES += getrandom 0.1.16 # MIT OR Apache-2.0
-MODCARGO_CRATES += getrandom 0.2.2 # MIT OR Apache-2.0
-MODCARGO_CRATES += heck 0.3.2 # MIT OR Apache-2.0
-MODCARGO_CRATES += lazy_static 1.4.0 # MIT/Apache-2.0
-MODCARGO_CRATES += libc 0.2.94 # MIT OR Apache-2.0
-MODCARGO_CRATES += log 0.4.14 # MIT OR Apache-2.0
-MODCARGO_CRATES += memchr 2.4.0 # Unlicense/MIT
-MODCARGO_CRATES += merge 0.1.0 # Apache-2.0 OR MIT
-MODCARGO_CRATES += merge_derive 0.1.0 # Apache-2.0 OR MIT
-MODCARGO_CRATES += nitrokey 0.9.0 # MIT
-MODCARGO_CRATES += nitrokey-sys 3.6.0 # LGPL-3.0
-MODCARGO_CRATES += nitrokey-test 0.5.0 # GPL-3.0-or-later
-MODCARGO_CRATES += nitrokey-test-state 0.1.0 # GPL-3.0-or-later
-MODCARGO_CRATES += num-traits 0.2.14 # MIT OR Apache-2.0
-MODCARGO_CRATES += numtoa 0.1.0 # MIT OR Apache-2.0
-MODCARGO_CRATES += ppv-lite86 0.2.10 # MIT/Apache-2.0
-MODCARGO_CRATES += proc-macro-error 1.0.4 # MIT OR Apache-2.0
-MODCARGO_CRATES += proc-macro-error-attr 1.0.4 # MIT OR Apache-2.0
-MODCARGO_CRATES += proc-macro2 1.0.26 # MIT OR Apache-2.0
-MODCARGO_CRATES += progressing 3.0.2 # Apache-2.0
-MODCARGO_CRATES += quote 1.0.9 # MIT OR Apache-2.0
-MODCARGO_CRATES += rand 0.8.3 # MIT OR Apache-2.0
-MODCARGO_CRATES += rand_chacha 0.3.0 # MIT OR Apache-2.0
-MODCARGO_CRATES += rand_core 0.5.1 # MIT OR Apache-2.0
-MODCARGO_CRATES += rand_core 0.6.2 # MIT OR Apache-2.0
-MODCARGO_CRATES += rand_hc 0.3.0 # MIT OR Apache-2.0
-MODCARGO_CRATES += redox_syscall 0.2.8 # MIT
-MODCARGO_CRATES += redox_termios 0.1.2 # MIT
-MODCARGO_CRATES += redox_users 0.4.0 # MIT
-MODCARGO_CRATES += regex 1.5.4 # MIT OR Apache-2.0
-MODCARGO_CRATES += regex-syntax 0.6.25 # MIT/Apache-2.0
-MODCARGO_CRATES += remove_dir_all 0.5.3 # MIT/Apache-2.0
-MODCARGO_CRATES += serde 1.0.125 # MIT OR Apache-2.0
-MODCARGO_CRATES += serde_derive 1.0.125 # MIT OR Apache-2.0
-MODCARGO_CRATES += structopt 0.3.21 # Apache-2.0 OR MIT
-MODCARGO_CRATES += structopt-derive 0.4.14 # Apache-2.0/MIT
-MODCARGO_CRATES += syn 1.0.72 # MIT OR Apache-2.0
-MODCARGO_CRATES += tempfile 3.2.0 # MIT OR Apache-2.0
-MODCARGO_CRATES += termion 1.5.6 # MIT
-MODCARGO_CRATES += textwrap 0.11.0 # MIT
-MODCARGO_CRATES += toml 0.5.8 # MIT/Apache-2.0
-MODCARGO_CRATES += unicode-segmentation 1.7.1 # MIT/Apache-2.0
-MODCARGO_CRATES += unicode-width 0.1.8 # MIT/Apache-2.0
-MODCARGO_CRATES += unicode-xid 0.2.2 # MIT OR Apache-2.0
-MODCARGO_CRATES += version_check 0.9.3 # MIT/Apache-2.0
+.include "modules.inc"
-# Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT
-MODCARGO_CRATES += wasi 0.9.0+wasi-snapshot-preview1
-
-# Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT
-MODCARGO_CRATES += wasi 0.10.2+wasi-snapshot-preview1
-MODCARGO_CRATES += winapi 0.3.9 # MIT/Apache-2.0
-
-# MIT/Apache-2.0
-MODCARGO_CRATES += winapi-i686-pc-windows-gnu 0.4.0
-
-# MIT/Apache-2.0
-MODCARGO_CRATES += winapi-x86_64-pc-windows-gnu 0.4.0
-
-MODCARGO_VENDOR_DIR = ${WRKSRC}/modcargo-crates
-
-RUN_DEPENDS = security/gnupg
-
MY_REPLACE_CMD = sed -i s/hid_init/hidapi_hid_init/g
-MY_HIDAPI_DIR = /nitrokey-sys-*/libnitrokey-*/libnitrokey/
-MY_HIDAPI_HEADER = hidapi/hidapi.h
+MY_HEADER = /nitrokey-sys-*/libnitrokey-*/libnitrokey/hidapi/hidapi.h
post-patch:
- ${MY_REPLACE_CMD} ${MODCARGO_VENDOR_DIR}${MY_HIDAPI_DIR}${MY_HIDAPI_HEADER}
+ ${MY_REPLACE_CMD} ${MODCARGO_VENDOR_DIR}${MY_HEADER}
+
+post-install:
+ mv ${PREFIX}/bin/shell-complete \
+ ${PREFIX}/bin/nitrocli-shell-complete
.include <bsd.port.mk>
diff -Nur nitrocli.orig/modules.inc nitrocli/modules.inc
--- nitrocli.orig/modules.inc Thu Jan 1 01:00:00 1970
+++ nitrocli/modules.inc Sun Apr 14 15:31:32 2024
@@ -0,0 +1,69 @@
+MODCARGO_CRATES += aho-corasick 0.7.18 # Unlicense/MIT
+MODCARGO_CRATES += anyhow 1.0.40 # MIT OR Apache-2.0
+MODCARGO_CRATES += autocfg 1.0.1 # Apache-2.0 OR MIT
+MODCARGO_CRATES += base32 0.4.0 # MIT OR Apache-2.0
+MODCARGO_CRATES += bitflags 1.2.1 # MIT/Apache-2.0
+MODCARGO_CRATES += cc 1.0.67 # MIT/Apache-2.0
+MODCARGO_CRATES += cfg-if 1.0.0 # MIT/Apache-2.0
+MODCARGO_CRATES += clap 2.33.3 # MIT
+MODCARGO_CRATES += directories 3.0.2 # MIT OR Apache-2.0
+MODCARGO_CRATES += dirs-sys 0.3.6 # MIT OR Apache-2.0
+MODCARGO_CRATES += envy 0.4.2 # MIT
+MODCARGO_CRATES += getrandom 0.1.16 # MIT OR Apache-2.0
+MODCARGO_CRATES += getrandom 0.2.2 # MIT OR Apache-2.0
+MODCARGO_CRATES += heck 0.3.2 # MIT OR Apache-2.0
+MODCARGO_CRATES += lazy_static 1.4.0 # MIT/Apache-2.0
+MODCARGO_CRATES += libc 0.2.94 # MIT OR Apache-2.0
+MODCARGO_CRATES += log 0.4.14 # MIT OR Apache-2.0
+MODCARGO_CRATES += memchr 2.4.0 # Unlicense/MIT
+MODCARGO_CRATES += merge 0.1.0 # Apache-2.0 OR MIT
+MODCARGO_CRATES += merge_derive 0.1.0 # Apache-2.0 OR MIT
+MODCARGO_CRATES += nitrokey 0.9.0 # MIT
+MODCARGO_CRATES += nitrokey-sys 3.6.0 # LGPL-3.0
+MODCARGO_CRATES += nitrokey-test 0.5.0 # GPL-3.0-or-later
+MODCARGO_CRATES += nitrokey-test-state 0.1.0 # GPL-3.0-or-later
+MODCARGO_CRATES += num-traits 0.2.14 # MIT OR Apache-2.0
+MODCARGO_CRATES += numtoa 0.1.0 # MIT OR Apache-2.0
+MODCARGO_CRATES += ppv-lite86 0.2.10 # MIT/Apache-2.0
+MODCARGO_CRATES += proc-macro-error 1.0.4 # MIT OR Apache-2.0
+MODCARGO_CRATES += proc-macro-error-attr 1.0.4 # MIT OR Apache-2.0
+MODCARGO_CRATES += proc-macro2 1.0.26 # MIT OR Apache-2.0
+MODCARGO_CRATES += progressing 3.0.2 # Apache-2.0
+MODCARGO_CRATES += quote 1.0.9 # MIT OR Apache-2.0
+MODCARGO_CRATES += rand 0.8.3 # MIT OR Apache-2.0
+MODCARGO_CRATES += rand_chacha 0.3.0 # MIT OR Apache-2.0
+MODCARGO_CRATES += rand_core 0.5.1 # MIT OR Apache-2.0
+MODCARGO_CRATES += rand_core 0.6.2 # MIT OR Apache-2.0
+MODCARGO_CRATES += rand_hc 0.3.0 # MIT OR Apache-2.0
+MODCARGO_CRATES += redox_syscall 0.2.8 # MIT
+MODCARGO_CRATES += redox_termios 0.1.2 # MIT
+MODCARGO_CRATES += redox_users 0.4.0 # MIT
+MODCARGO_CRATES += regex 1.5.4 # MIT OR Apache-2.0
+MODCARGO_CRATES += regex-syntax 0.6.25 # MIT/Apache-2.0
+MODCARGO_CRATES += remove_dir_all 0.5.3 # MIT/Apache-2.0
+MODCARGO_CRATES += serde 1.0.125 # MIT OR Apache-2.0
+MODCARGO_CRATES += serde_derive 1.0.125 # MIT OR Apache-2.0
+MODCARGO_CRATES += structopt 0.3.21 # Apache-2.0 OR MIT
+MODCARGO_CRATES += structopt-derive 0.4.14 # Apache-2.0/MIT
+MODCARGO_CRATES += syn 1.0.72 # MIT OR Apache-2.0
+MODCARGO_CRATES += tempfile 3.2.0 # MIT OR Apache-2.0
+MODCARGO_CRATES += termion 1.5.6 # MIT
+MODCARGO_CRATES += textwrap 0.11.0 # MIT
+MODCARGO_CRATES += toml 0.5.8 # MIT/Apache-2.0
+MODCARGO_CRATES += unicode-segmentation 1.7.1 # MIT/Apache-2.0
+MODCARGO_CRATES += unicode-width 0.1.8 # MIT/Apache-2.0
+MODCARGO_CRATES += unicode-xid 0.2.2 # MIT OR Apache-2.0
+MODCARGO_CRATES += version_check 0.9.3 # MIT/Apache-2.0
+
+# Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT
+MODCARGO_CRATES += wasi 0.9.0+wasi-snapshot-preview1
+
+# Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT
+MODCARGO_CRATES += wasi 0.10.2+wasi-snapshot-preview1
+MODCARGO_CRATES += winapi 0.3.9 # MIT/Apache-2.0
+
+# MIT/Apache-2.0
+MODCARGO_CRATES += winapi-i686-pc-windows-gnu 0.4.0
+
+# MIT/Apache-2.0
+MODCARGO_CRATES += winapi-x86_64-pc-windows-gnu 0.4.0
diff -Nur nitrocli.orig/pkg/DESCR nitrocli/pkg/DESCR
--- nitrocli.orig/pkg/DESCR Sun Apr 14 15:28:33 2024
+++ nitrocli/pkg/DESCR Sun Apr 14 15:39:00 2024
@@ -1,4 +1,2 @@
nitrocli is a program that provides a command line interface for interaction
with Nitrokey Pro, Nitrokey Storage, and Librem Key devices.
-
-
diff -Nur nitrocli.orig/pkg/PLIST nitrocli/pkg/PLIST
--- nitrocli.orig/pkg/PLIST Sun Apr 14 15:28:33 2024
+++ nitrocli/pkg/PLIST Mon Apr 22 12:25:24 2024
@@ -1,3 +1,3 @@
@bin bin/nitrocli
-@bin bin/shell-complete
+@bin bin/nitrocli-shell-complete
share/doc/pkg-readmes/${PKGSTEM}
diff -Nur nitrocli.orig/pkg/README nitrocli/pkg/README
--- nitrocli.orig/pkg/README Sun Apr 14 15:28:33 2024
+++ nitrocli/pkg/README Mon Apr 22 12:32:06 2024
@@ -8,9 +8,9 @@
the device. You may need to change the permissions of the corresponding
usb(4) , uhid(4) and ugen(4) controllers as a result.
-You may identify the usb(4) device the NitroKey is attatched to with
+You may identify the usb(4) device the NitroKey is attached to with
usbdevs(8). The corresponding uhid(4) and ugen(4) devices can be
-obtained from the ouput of dmesg(8). You may then use chgrp(1) and
+obtained from the output of dmesg(8). You may then use chgrp(1) and
chmod(8) to grant access to the NitroKey. For example, in order to allow
users from the wheel group to use the NitroKey you would issue commands
such as:
@@ -37,3 +37,10 @@
gpg-agent with:
gpgconf --kill gpg-agent
+
+Shell Autocompletion
+===============================
+Upstream nitrocli ships with an utility for generating autocompletion
+configurations for many popular shells. You may invoke
+nitrocli-shell-complete and use its output to configure your shell if
+you want autocompletion.
[NEW] security/nitrocli