chromium,chromedriver: 129.0.6668.91 -> 129.0.6668.100
[NixPkgs.git] / pkgs / by-name / ag / age-plugin-fido2-hmac / package.nix
blob6c9571a64d05fb9c556c71d750782259fecb78ef
2   lib,
3   buildGoModule,
4   fetchFromGitHub,
5   stdenv,
6   libfido2,
7   openssl,
8   libcbor
9 }:
10 let
11   darwin_arch = if stdenv.hostPlatform.system == "aarch64-darwin" then "arm64" else "amd64";
12   darwin_configure = ''
13     chmod -R +w vendor/github.com/keys-pub/go-libfido2
14     cat << EOF > vendor/github.com/keys-pub/go-libfido2/fido2_static_${darwin_arch}.go
15     package libfido2
17     /*
18     #cgo darwin LDFLAGS: -framework CoreFoundation -framework IOKit -L${lib.getLib openssl}/lib -L${lib.getLib libcbor}/lib -lfido2
19     #cgo darwin CFLAGS: -I${libfido2.dev}/include -I${openssl.dev}/include
20     */
21     import "C"
22     EOF
23   '';
25 buildGoModule rec {
26   pname = "age-plugin-fido2-hmac";
27   version = "0.2.3";
29   src = fetchFromGitHub {
30     owner = "olastor";
31     repo = "age-plugin-fido2-hmac";
32     rev = "v${version}";
33     hash = "sha256-P2gNOZeuODWEb/puFe6EA1wW3pc0xgM567qe4FKbFXg=";
34   };
36   vendorHash = "sha256-h4/tyq9oZt41IfRJmmsLHUpJiPJ7YuFu59ccM7jHsFo=";
38   ldflags = [ "-s" "-w" "-X main.version=v${version}" ];
40   buildInputs = [ libfido2 ];
42   postConfigure = lib.optional stdenv.hostPlatform.isDarwin darwin_configure;
44   meta = with lib; {
45     description = "Age plugin to encrypt files with fido2 tokens using the hmac-secret extension and non-discoverable credentials";
46     homepage = "https://github.com/olastor/age-plugin-fido2-hmac/";
47     license = licenses.mit;
48     maintainers = with maintainers; [ matthewcroughan ];
49     mainProgram = "age-plugin-fido2-hmac";
50   };