nixpkgs-immich/pkgs/by-name/va/vaults/package.nix
2024-09-17 10:23:40 -06:00

85 lines
1.5 KiB
Nix

{ fetchFromGitHub
, lib
, stdenv
, appstream-glib
, desktop-file-utils
, meson
, ninja
, pkg-config
, python3
, rustPlatform
, rustc
, cargo
, wrapGAppsHook3
, glib
, gtk4
, libadwaita
, wayland
, gocryptfs
, cryfs
}:
stdenv.mkDerivation rec {
pname = "vaults";
version = "0.7.1";
src = fetchFromGitHub {
owner = "mpobaschnig";
repo = "Vaults";
rev = version;
hash = "sha256-jA7OeyRqc5DxkS4sMx9cIbVlZwd++aCQi09uBQik1oA=";
};
cargoDeps = rustPlatform.fetchCargoTarball {
inherit src;
name = "${pname}-${version}";
hash = "sha256-l9Zer6d6kgjIUNiQ1VdQQ57caVNWfzCkdsMf79X8Ar4=";
};
postPatch = ''
patchShebangs build-aux
'';
makeFlags = [
"PREFIX=${placeholder "out"}"
];
preFixup = ''
gappsWrapperArgs+=(
--prefix PATH : "${lib.makeBinPath [ gocryptfs cryfs ]}"
)
'';
nativeBuildInputs = [
desktop-file-utils
meson
ninja
pkg-config
wrapGAppsHook3
cargo
rustc
rustPlatform.cargoSetupHook
];
buildInputs = [
appstream-glib
gtk4
python3
glib
libadwaita
wayland
gocryptfs
cryfs
];
meta = {
description = "GTK frontend for encrypted vaults supporting gocryptfs and CryFS for encryption";
homepage = "https://mpobaschnig.github.io/vaults/";
changelog = "https://github.com/mpobaschnig/vaults/releases/tag/${version}";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ benneti ];
mainProgram = "vaults";
platforms = lib.platforms.linux;
};
}