chromium,chromedriver: 129.0.6668.91 -> 129.0.6668.100
[NixPkgs.git] / pkgs / by-name / pk / pkcs11-provider / package.nix
blob3344315877083b19abd775b154e1e9e3a5a1f873
1 { lib, stdenv, fetchFromGitHub
2 , openssl, nss, p11-kit
3 , opensc, gnutls, expect
4 , meson, ninja, pkg-config
5 , nix-update-script
6 }:
8 stdenv.mkDerivation rec {
9   pname = "pkcs11-provider";
10   version = "0.5";
12   src = fetchFromGitHub {
13     owner = "latchset";
14     repo = "pkcs11-provider";
15     rev = "v${version}";
16     hash = "sha256-ii2xQPBgqIjrAP27qTQR9IXbEGZcc79M/cYzFwcAajQ=";
17   };
19   buildInputs = [ openssl nss p11-kit ];
20   nativeBuildInputs = [ meson ninja pkg-config ];
22   # don't add SoftHSM to here: https://github.com/openssl/openssl/issues/22508
23   nativeCheckInputs = [ p11-kit.bin opensc nss.tools gnutls openssl.bin expect ];
25   postPatch = ''
26     patchShebangs --build .
27   '';
29   preInstall = ''
30     # Meson tries to install to `$out/$out` and `$out/''${openssl.out}`; so join them.
31     mkdir -p "$out"
32     for dir in "$out" "${openssl.out}"; do
33       mkdir -p .install/"$(dirname -- "$dir")"
34       ln -s "$out" ".install/$dir"
35     done
36     export DESTDIR="$(realpath .install)"
37   '';
39   enableParallelBuilding = true;
41   # Frequently fails due to a race condition.
42   enableParallelInstalling = false;
44   doCheck = true;
46   passthru.updateScript = nix-update-script {
47     extraArgs = [ "--version-regex" "v(\d\.\d)"];
48   };
50   meta = with lib; {
51     homepage = "https://github.com/latchset/pkcs11-provider";
52     description = "OpenSSL 3.x provider to access hardware or software tokens using the PKCS#11 Cryptographic Token Interface";
53     maintainers = with maintainers; [ numinit ];
54     license = licenses.asl20;
55     platforms = platforms.unix;
56   };