python3Packages.orjson: Disable failing tests on 32 bit
[NixPkgs.git] / pkgs / tools / security / beyond-identity / default.nix
blobeec53d3bf97be1e2ba66469a66ff47522a612100
1 { lib, stdenv, fetchurl, dpkg, buildFHSUserEnv
2 , glibc, glib, openssl, tpm2-tss
3 , gtk3, gnome, polkit, polkit_gnome
4 }:
6 let
7   pname = "beyond-identity";
8   version = "2.60.0-0";
9   libPath = lib.makeLibraryPath ([ glib glibc openssl tpm2-tss gtk3 gnome.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 ];
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       sha512 = "sha512-JrHLf7KkJVbJLxx54OTvOSaIzY3+hjX+bpkeBHKX23YriCJssUUvEP6vlbI4r6gjMMFMhW92k0iikAgD1Tr4ug==";
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       # https://github.com/NixOS/nixpkgs/issues/42117
42       sed -i -e 's/auth_self/yes/g' usr/share/polkit-1/actions/com.beyondidentity.endpoint.stepup.policy
44       cp -ar usr/{bin,share} $out
45       cp -ar opt/beyond-identity/bin $out/opt/beyond-identity
47       ln -s $out/opt/beyond-identity/bin/* $out/bin/
48     '';
50     postFixup = ''
51       substituteInPlace \
52         $out/share/applications/com.beyondidentity.endpoint.BeyondIdentity.desktop \
53         --replace /usr/bin/ $out/bin/
54       substituteInPlace \
55         $out/share/applications/com.beyondidentity.endpoint.webserver.BeyondIdentity.desktop \
56         --replace /opt/ $out/opt/
57       substituteInPlace \
58         $out/opt/beyond-identity/bin/byndid-web \
59         --replace /opt/ $out/opt/
60       substituteInPlace \
61         $out/bin/beyond-identity \
62         --replace /opt/ $out/opt/ \
63         --replace /usr/bin/gtk-launch ${gtk3}/bin/gtk-launch
65       patchelf \
66         --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
67         --set-rpath "${libPath}" \
68         --force-rpath \
69         $out/bin/byndid
70     '';
71   };
72 # /usr/bin/pkcheck is hardcoded in binary - we need FHS
73 in buildFHSUserEnv {
74    inherit meta;
75    name = pname;
77    targetPkgs = pkgs: [
78      beyond-identity
79      glib glibc openssl tpm2-tss
80      gtk3 gnome.gnome-keyring
81      polkit polkit_gnome
82    ];
84    extraInstallCommands = ''
85      ln -s ${beyond-identity}/share $out
86    '';
88    runScript = "beyond-identity";