Nitrokey / pynitrokey

Python client for Nitrokey devices
Apache License 2.0
94 stars 28 forks source link

freebsd 13.2 installation pynitrokey #485

Open UlrichVonRekkenin opened 7 months ago

UlrichVonRekkenin commented 7 months ago

hidapi:

pkg info hidapi
hidapi-0.14.0
Name           : hidapi
Version        : 0.14.0
Installed on   : Mon Oct 16 13:04:19 2023 MSK
Origin         : comms/hidapi
Architecture   : FreeBSD:13:amd64
Prefix         : /usr/local
Categories     : comms
Licenses       : GPLv3 or BSD3CLAUSE
Maintainer     : sstallion@gmail.com
WWW            : https://github.com/libusb/hidapi
Comment        : Library to access USB HID-class devices
Options        :
        DOCS           : on
Shared Libs required:
        libiconv.so.2
Shared Libs provided:
        libhidapi.so.0
Annotations    :
        FreeBSD_version: 1302001
        build_timestamp: 2023-09-08T14:05:04+0000
        built_by       : poudriere-git-3.3.99.20220831
        port_checkout_unclean: no
        port_git_hash  : 940c99edb
        ports_top_checkout_unclean: no
        ports_top_git_hash: 96f645c64
        repo_type      : binary
        repository     : G
Flat size      : 167KiB
Description    :
HIDAPI is a platform independent library that allows applications to
work with USB HID-Class devices.  While it can be used to communicate
with standard HID devices like keyboards, mice, and joysticks, it is
most useful when used with custom (Vendor-Defined) HID devices.

WWW: https://github.com/libusb/hidapi

I'm trying with and without capston4 installed:

capstone4-4.0.2
Name           : capstone4
Version        : 4.0.2
Installed on   : Tue Dec  5 11:10:09 2023 MSK
Origin         : devel/capstone4
Architecture   : FreeBSD:13:amd64
Prefix         : /usr/local
Categories     : devel
Licenses       : BSD3CLAUSE
Maintainer     : oleksii.tsai@gmail.com
WWW            : http://capstone-engine.org/
Comment        : Multi-platform, multi-architecture disassembly framework
Shared Libs provided:
        libcapstone.so.4
Annotations    :
        FreeBSD_version: 1302001
        build_timestamp: 2023-09-12T02:16:59+0000
        built_by       : poudriere-git-3.3.99.20220831
        cpe            : cpe:2.3:a:capstone-engine:capstone:4.0.2:::::freebsd13:x64
        port_checkout_unclean: no
        port_git_hash  : 6d8eb021b
        ports_top_checkout_unclean: no
        ports_top_git_hash: a1dccfe49
        repo_type      : binary
        repository     : G
Flat size      : 18.7MiB
Description    :
Capstone is a lightweight multi-platform, multi-architecture disassembly
framework.

Features:
 * Supported architectures: ARM, ARM64 (aka ARMv8), Mips, PowerPC & X86
 * Clean/simple/lightweight/intuitive architecture-neutral API
 * Provide details on disassembled instruction (called "decomposer")
 * Provide some semantics of the disassembled instruction, such as list of
   implicit registers read & written.
 * Implemented in pure C language, with bindings for Python, Ruby, C#, Java,
   GO, OCaml & Vala available.
 * Native support for Windows & *nix (including MacOSX, Linux, *BSD & Solaris)
 * Thread-safe by design
 * Distributed under the open source BSD license

WWW: http://capstone-engine.org/
arrowd commented 7 months ago

Most likely it should call gmake instead of make on FreeBSD. On the other hand, I'm not sure if this should be handled on the upstream side rather that on FreeBSD Ports side.

monwarez commented 6 months ago

I don't know for pipx, but you could do from the pynitrokey dir LIBCAPSTONE_PATH=/usr/local/lib flit install It will allow to not build the capstone library (so you need to install it) Note that you need to have the FreeBSD version of libusbsio at runtime.