61 lines
1.6 KiB
Nix
61 lines
1.6 KiB
Nix
{
|
|
inputs = {
|
|
nixpkgs.url = "nixpkgs/nixos-23.05";
|
|
flake-utils.url = "github:numtide/flake-utils";
|
|
solo1-cli-src = {
|
|
url = "github:solokeys/solo1-cli";
|
|
flake = false;
|
|
};
|
|
};
|
|
outputs = { self, nixpkgs, flake-utils, solo1-cli-src, ... }:
|
|
flake-utils.lib.eachSystem [
|
|
"x86_64-linux" "i686-linux" "aarch64-linux"
|
|
] (system:
|
|
let
|
|
|
|
pkgs = nixpkgs.legacyPackages.${system};
|
|
#python-pkgs = pkgs.python38Packages;
|
|
python-pkgs = pkgs.python3Packages;
|
|
solo1-cli = python-pkgs.buildPythonApplication {
|
|
name = "solo1-cli";
|
|
format = "flit";
|
|
|
|
propagatedBuildInputs = with python-pkgs; [
|
|
click
|
|
cryptography
|
|
ecdsa
|
|
fido2
|
|
intelhex
|
|
pyserial
|
|
pyusb
|
|
requests
|
|
|
|
black
|
|
flake8
|
|
#flit_core
|
|
#flit
|
|
ipython
|
|
isort
|
|
];
|
|
src = solo1-cli-src;
|
|
|
|
# python-fido2 changed CTAP1 -> Ctap1 and CTAP2 -> Ctap2 at some point
|
|
postPatch = ''
|
|
#substituteInPlace solo/devices/base.py --replace 'CTAP1' 'Ctap1'
|
|
substituteInPlace solo/devices/solo_v1.py --replace 'CTAP1' 'Ctap1'
|
|
|
|
substituteInPlace solo/devices/base.py --replace 'CTAP2' 'Ctap2'
|
|
substituteInPlace solo/devices/solo_v1.py --replace 'CTAP2' 'Ctap2'
|
|
'';
|
|
|
|
#enableParallelBuilding = true;
|
|
};
|
|
|
|
in
|
|
{
|
|
packages.default = solo1-cli;
|
|
packages.solo1-cli = solo1-cli;
|
|
}
|
|
);
|
|
}
|