biome: 1.9.2 -> 1.9.3
[NixPkgs.git] / pkgs / tools / security / beyond-identity / default.nix
blob229d61be1d8aa99b6de9af57e4631c9efb1bb1c8
1 { lib, stdenv, fetchurl, dpkg, buildFHSEnv
2 , glibc, glib, openssl, tpm2-tss
3 , gtk3, gnome-keyring, polkit, polkit_gnome
4 }:
6 let
7   pname = "beyond-identity";
8   version = "2.97.0-0";
9   libPath = lib.makeLibraryPath ([ glib glibc openssl tpm2-tss gtk3 gnome-keyring polkit polkit_gnome ]);
10   meta = with lib; {
11     description = "Passwordless MFA identities for workforces, customers, and developers";
12     homepage = "https://www.beyondidentity.com";
13     downloadPage = "https://app.byndid.com/downloads";
14     sourceProvenance = with sourceTypes; [ binaryNativeCode ];
15     license = licenses.unfree;
16     maintainers = with maintainers; [ klden hornwall ];
17     platforms = [ "x86_64-linux" ];
18   };
20   beyond-identity = stdenv.mkDerivation {
21     inherit pname version meta;
23     src = fetchurl {
24       url = "https://packages.beyondidentity.com/public/linux-authenticator/deb/ubuntu/pool/focal/main/b/be/${pname}_${version}/${pname}_${version}_amd64.deb";
25       hash = "sha512-aOQi0hG7AZ3lIAPCDgGAjqVmNCuqFC62CjI9XPLBpvbxBgr2yi7alP952i31MufzzruzVweoQb8SWgNIHq/zIw==";
26     };
28     nativeBuildInputs = [
29       dpkg
30     ];
32     unpackPhase = ''
33       dpkg -x $src .
34     '';
36     installPhase = ''
37       mkdir -p $out/opt/beyond-identity
39       rm -rf usr/share/doc
41       cp -ar usr/{bin,share} $out
42       cp -ar opt/beyond-identity/bin $out/opt/beyond-identity
44       ln -s $out/opt/beyond-identity/bin/* $out/bin/
45     '';
47     postFixup = ''
48       substituteInPlace \
49         $out/share/applications/com.beyondidentity.endpoint.BeyondIdentity.desktop \
50         --replace /usr/bin/ $out/bin/
51       substituteInPlace \
52         $out/share/applications/com.beyondidentity.endpoint.webserver.BeyondIdentity.desktop \
53         --replace /opt/ $out/opt/
54       substituteInPlace \
55         $out/opt/beyond-identity/bin/byndid-web \
56         --replace /opt/ $out/opt/
57       substituteInPlace \
58         $out/bin/beyond-identity \
59         --replace /opt/ $out/opt/ \
60         --replace /usr/bin/gtk-launch ${gtk3}/bin/gtk-launch
62       patchelf \
63         --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
64         --set-rpath "${libPath}" \
65         --force-rpath \
66         $out/bin/byndid
67     '';
68   };
69 # /usr/bin/pkcheck is hardcoded in binary - we need FHS
70 in buildFHSEnv {
71    inherit pname version meta;
73    targetPkgs = pkgs: [
74      beyond-identity
75      glib glibc openssl tpm2-tss
76      gtk3 gnome-keyring
77      polkit polkit_gnome
78    ];
80    extraInstallCommands = ''
81      ln -s ${beyond-identity}/share $out
82    '';
84    runScript = "beyond-identity";