100 lines
2 KiB
Nix
100 lines
2 KiB
Nix
|
{ 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 ];
|
||
|
};
|
||
|
}
|