nixpkgs/pkgs/by-name/so/soteria/package.nix
Alyssa Ross 502c77492b
Merge remote-tracking branch 'origin/staging-next' into staging
Conflicts:
	pkgs/applications/editors/vim/plugins/non-generated/avante-nvim/default.nix
	pkgs/applications/editors/vim/plugins/non-generated/cord-nvim/default.nix
	pkgs/applications/version-management/git-stack/default.nix
	pkgs/by-name/bo/boxbuddy/package.nix
	pkgs/by-name/ca/capnproto-rust/package.nix
	pkgs/by-name/ca/cargo-binstall/package.nix
	pkgs/by-name/ca/cargo-deb/package.nix
	pkgs/by-name/ca/cargo-modules/package.nix
	pkgs/by-name/cl/clapboard/package.nix
	pkgs/by-name/do/dotslash/package.nix
	pkgs/by-name/fe/felix-fm/package.nix
	pkgs/by-name/gi/gitlab-ci-ls/package.nix
	pkgs/by-name/go/gotify-desktop/package.nix
	pkgs/by-name/ha/handlr-regex/package.nix
	pkgs/by-name/ir/iroh/package.nix
	pkgs/by-name/ma/manga-tui/package.nix
	pkgs/by-name/ob/obs-cmd/package.nix
	pkgs/by-name/ox/oxlint/package.nix
	pkgs/by-name/pi/pik/package.nix
	pkgs/by-name/re/reindeer/package.nix
	pkgs/by-name/rn/rnr/package.nix
	pkgs/by-name/ro/routinator/package.nix
	pkgs/by-name/rw/rwpspread/package.nix
	pkgs/by-name/sk/skim/package.nix
	pkgs/by-name/so/sope/package.nix
	pkgs/by-name/so/soteria/package.nix
	pkgs/by-name/sp/spacer/package.nix
	pkgs/by-name/st/stylance-cli/package.nix
	pkgs/by-name/su/subxt/package.nix
	pkgs/by-name/sw/swayfx-unwrapped/package.nix
	pkgs/by-name/te/television/package.nix
	pkgs/by-name/to/toast/package.nix
	pkgs/by-name/wa/wastebin/package.nix
	pkgs/by-name/wi/wit-bindgen/package.nix
	pkgs/by-name/wo/workshop-runner/package.nix
	pkgs/development/interpreters/wasmtime/default.nix
	pkgs/development/tools/rust/cargo-edit/default.nix
	pkgs/development/tools/sentry-cli/default.nix
	pkgs/misc/t-rec/default.nix
	pkgs/tools/video/yaydl/default.nix
2025-01-26 14:55:08 +01:00

64 lines
1.5 KiB
Nix

{
lib,
rustPlatform,
fetchFromGitHub,
pkg-config,
wrapGAppsHook4,
cairo,
gdk-pixbuf,
glib,
gtk4,
pango,
polkit,
}:
let
version = "0.1.1";
in
rustPlatform.buildRustPackage {
pname = "soteria";
inherit version;
src = fetchFromGitHub {
owner = "imvaskel";
repo = "soteria";
tag = "v${version}";
hash = "sha256-CinJEzH4GsCAzU8FiInulPHLm73KI4nLlAcskkjgeJM=";
};
useFetchCargoVendor = true;
cargoHash = "sha256-inesrYFVIRIcckYWjFCG1dYyhLBInC8ODFEXwXgMjb4=";
nativeBuildInputs = [
pkg-config
wrapGAppsHook4
];
buildInputs = [
cairo
gdk-pixbuf
glib
gtk4
pango
];
# From upstream packaging:
# Takes advantage of nixpkgs manually editing PACKAGE_PREFIX by grabbing it from
# the binary itself.
# https://github.com/NixOS/nixpkgs/blob/9b5328b7f761a7bbdc0e332ac4cf076a3eedb89b/pkgs/development/libraries/polkit/default.nix#L142
# https://github.com/polkit-org/polkit/blob/d89c3604e2a86f4904566896c89e1e6b037a6f50/src/polkitagent/polkitagentsession.c#L599
preBuild = ''
export POLKIT_AGENT_HELPER_PATH="$(strings ${polkit.out}/lib/libpolkit-agent-1.so | grep "polkit-agent-helper-1")"
'';
meta = {
description = "Polkit authentication agent written in GTK designed to be used with any desktop environment";
homepage = "https://github.com/ImVaskel/soteria";
license = lib.licenses.asl20;
mainProgram = "soteria";
maintainers = with lib.maintainers; [
NotAShelf
];
inherit (polkit.meta) platforms;
};
}