aboutsummaryrefslogtreecommitdiff
path: root/infra/libkookie/nixpkgs/pkgs/applications/misc/authy/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'infra/libkookie/nixpkgs/pkgs/applications/misc/authy/default.nix')
-rw-r--r--infra/libkookie/nixpkgs/pkgs/applications/misc/authy/default.nix110
1 files changed, 110 insertions, 0 deletions
diff --git a/infra/libkookie/nixpkgs/pkgs/applications/misc/authy/default.nix b/infra/libkookie/nixpkgs/pkgs/applications/misc/authy/default.nix
new file mode 100644
index 000000000000..65200d851770
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/applications/misc/authy/default.nix
@@ -0,0 +1,110 @@
+{ alsaLib, at-spi2-atk, at-spi2-core, atk, autoPatchelfHook, cairo, cups
+, dbus, electron_9, expat, fetchurl, gdk-pixbuf, glib, gtk3, lib
+, libappindicator-gtk3, libdbusmenu-gtk3, libuuid, makeWrapper
+, nspr, nss, pango, squashfsTools, stdenv, systemd, xorg
+}:
+
+let
+ # Currently only works with electron 9
+ electron = electron_9;
+in
+
+stdenv.mkDerivation rec {
+ pname = "authy";
+ version = "1.8.3";
+ rev = "5";
+
+ buildInputs = [
+ alsaLib
+ at-spi2-atk
+ at-spi2-core
+ atk
+ cairo
+ cups
+ dbus
+ expat
+ gdk-pixbuf
+ glib
+ gtk3
+ libappindicator-gtk3
+ libdbusmenu-gtk3
+ libuuid
+ nspr
+ nss
+ pango
+ stdenv.cc.cc
+ systemd
+ xorg.libX11
+ xorg.libXScrnSaver
+ xorg.libXcomposite
+ xorg.libXcursor
+ xorg.libXdamage
+ xorg.libXext
+ xorg.libXfixes
+ xorg.libXi
+ xorg.libXrandr
+ xorg.libXrender
+ xorg.libXtst
+ xorg.libxcb
+ ];
+
+ src = fetchurl {
+ url = "https://api.snapcraft.io/api/v1/snaps/download/H8ZpNgIoPyvmkgxOWw5MSzsXK1wRZiHn_${rev}.snap";
+ sha256 = "1yfvkmy34mc1dan9am11yka88jv7a4dslsszy4kcc8vap4cjmgpn";
+ };
+
+ nativeBuildInputs = [ autoPatchelfHook makeWrapper squashfsTools ];
+
+ unpackPhase = ''
+ runHook preUnpack
+ unsquashfs "$src"
+ cd squashfs-root
+ if ! grep -q '${version}' meta/snap.yaml; then
+ echo "Package version differs from version found in snap metadata:"
+ grep 'version: ' meta/snap.yaml
+ echo "While the nix package specifies: ${version}."
+ echo "You probably chose the wrong revision or forgot to update the nix version."
+ exit 1
+ fi
+ runHook postUnpack
+ '';
+
+ installPhase = ''
+ runHook preInstall
+
+ mkdir -p $out/lib/
+
+ cp -r ./* $out/
+ rm -R ./*
+
+ # The snap package has the `ffmpeg.so` file which is copied over with other .so files
+ mv $out/*.so $out/lib/
+
+ # Replace icon name in Desktop file
+ sed -i 's|''${SNAP}/meta/gui/icon.png|authy|g' "$out/meta/gui/authy.desktop"
+
+ # Move the desktop file, icon, binary to their appropriate locations
+ mkdir -p $out/bin $out/share/applications $out/share/pixmaps/apps
+ cp $out/meta/gui/authy.desktop $out/share/applications/
+ cp $out/meta/gui/icon.png $out/share/pixmaps/authy.png
+ cp $out/${pname} $out/bin/${pname}
+
+ # Cleanup
+ rm -r $out/{data-dir,gnome-platform,meta,scripts,usr,*.sh,*.so}
+
+ runHook postInstall
+ '';
+
+ postFixup = ''
+ makeWrapper ${electron}/bin/electron $out/bin/${pname} \
+ --add-flags $out/resources/app.asar
+ '';
+
+ meta = with lib; {
+ homepage = "https://www.authy.com";
+ description = "Twilio Authy two factor authentication desktop application";
+ license = licenses.unfree;
+ maintainers = with maintainers; [ iammrinal0 ];
+ platforms = [ "x86_64-linux" ];
+ };
+}