summaryrefslogtreecommitdiff
path: root/pkgs/applications/misc/authenticator/default.nix
diff options
context:
space:
mode:
authorRobin Gloster <mail@glob.in>2021-05-24 09:55:24 -0500
committerRobin Gloster <mail@glob.in>2021-05-24 09:55:24 -0500
commit4bc5fbef9d159e143fb7e2c3231932e6e76f667c (patch)
treee2198f5c552e0667d838b8ec764ddb3a4d8f6dec /pkgs/applications/misc/authenticator/default.nix
parentjq: fix build with structured-attrs on darwin (diff)
parentMerge pull request #123802 from superherointj/package-virtmanager-bugfix (diff)
downloadnixpkgs-origin/structured-attrs.tar.gz
Merge remote-tracking branch 'upstream/master' into structured-attrsorigin/structured-attrs
Diffstat (limited to 'pkgs/applications/misc/authenticator/default.nix')
-rw-r--r--pkgs/applications/misc/authenticator/default.nix99
1 files changed, 99 insertions, 0 deletions
diff --git a/pkgs/applications/misc/authenticator/default.nix b/pkgs/applications/misc/authenticator/default.nix
new file mode 100644
index 000000000000..46b61720d0a3
--- /dev/null
+++ b/pkgs/applications/misc/authenticator/default.nix
@@ -0,0 +1,99 @@
+{ lib
+, stdenv
+, fetchFromGitLab
+, fetchpatch
+, appstream-glib
+, desktop-file-utils
+, meson
+, ninja
+, pkg-config
+, python3
+, rustPlatform
+, wrapGAppsHook
+, gdk-pixbuf
+, glib
+, gst_all_1
+, gtk4
+, libadwaita
+, openssl
+, sqlite
+, wayland
+, zbar
+}:
+
+stdenv.mkDerivation rec {
+ pname = "authenticator";
+ version = "4.0.3";
+
+ src = fetchFromGitLab {
+ domain = "gitlab.gnome.org";
+ owner = "World";
+ repo = "Authenticator";
+ rev = version;
+ sha256 = "0fvs76f3fm5pxn7wg6sjbqpgip5w2j7xrh4siasdcl2bx6vsld8b";
+ };
+
+ cargoDeps = rustPlatform.fetchCargoTarball {
+ inherit src;
+ name = "${pname}-${version}";
+ sha256 = "1s97jyszxf24rs3ni11phiyvmp1wm8sicb0rh1jgwz4bn1cnakx4";
+ };
+
+ postPatch = ''
+ patchShebangs build-aux
+ '';
+
+ nativeBuildInputs = [
+ appstream-glib
+ desktop-file-utils
+ meson
+ ninja
+ pkg-config
+ python3
+ wrapGAppsHook
+ ] ++ (with rustPlatform; [
+ cargoSetupHook
+ rust.cargo
+ rust.rustc
+ ]);
+
+ buildInputs = [
+ gdk-pixbuf
+ glib
+ gst_all_1.gstreamer
+ gst_all_1.gst-plugins-base
+
+ # gst-plugins-good needs gtk4 support:
+ # https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/767
+ # We copy the way it is built from the Flatpak:
+ # https://gitlab.gnome.org/World/Authenticator/-/blob/master/build-aux/com.belmoussaoui.Authenticator.Devel.json
+ (gst_all_1.gst-plugins-good.overrideAttrs (old: {
+ patches = old.patches or [ ] ++ [
+ "${src}/build-aux/767.patch"
+ ];
+ mesonFlags = old.mesonFlags ++ [
+ "-Dgtk3=disabled"
+ "-Dgtk4=enabled"
+ "-Dgtk4-experiments=true"
+ ];
+ buildInputs = old.buildInputs ++ [
+ gtk4
+ ];
+ }))
+
+ (gst_all_1.gst-plugins-bad.override { enableZbar = true; })
+ gtk4
+ libadwaita
+ openssl
+ sqlite
+ wayland
+ zbar
+ ];
+
+ meta = with lib; {
+ description = "Two-factor authentication code generator for GNOME";
+ homepage = "https://gitlab.gnome.org/World/Authenticator";
+ license = licenses.gpl3Plus;
+ maintainers = with maintainers; [ dotlambda ];
+ };
+}