COMMENT =	command line interface for Nitrokey Devices

GH_ACCOUNT =	d-e-s-o
GH_PROJECT =	nitrocli
GH_TAGNAME =	v0.4.1
REVISION =	0

CATEGORIES =	security

MAINTAINER =	Ruben Llorente <porting@use.startmail.com>

# GPL-3.0-or-later
PERMIT_PACKAGE =	Yes

MODULES =	devel/cargo

WANTLIB += c++ c++abi c pthread hidapi-libusb m

LIB_DEPENDS =	comms/libhidapi

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

# 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

post-patch:
	${MY_REPLACE_CMD} ${MODCARGO_VENDOR_DIR}${MY_HIDAPI_DIR}${MY_HIDAPI_HEADER}

.include <bsd.port.mk>
