depot/third_party/nixpkgs/pkgs/by-name/us/usbguard-notifier/package.nix

55 lines
1.4 KiB
Nix

{
lib,
stdenv,
fetchFromGitHub,
fetchpatch,
autoreconfHook,
pkg-config,
libqb,
usbguard,
librsvg,
libnotify,
catch2,
asciidoc,
}:
stdenv.mkDerivation rec {
pname = "usbguard-notifier";
version = "0.1.0";
src = fetchFromGitHub {
owner = "Cropi";
repo = pname;
rev = "${pname}-${version}";
hash = "sha256-gWvCGSbOuey2ELAPD2WCG4q77IClL0S7rE2RaUJDc1I=";
};
patches = [
# gcc-13 compatibility upstream fix:
# https://github.com/Cropi/usbguard-notifier/pull/74
(fetchpatch {
name = "gcc-13.patch";
url = "https://github.com/Cropi/usbguard-notifier/commit/f4586b732c8a7379aacbc9899173beeacfd54793.patch";
hash = "sha256-2q/qD6yEQUPxA/UutGIZKFJ3hHJ8ZlGMZI1wJyMRbmo=";
})
];
nativeBuildInputs = [ autoreconfHook pkg-config asciidoc ];
buildInputs = [ libqb usbguard librsvg libnotify ];
configureFlags = [ "CPPFLAGS=-I${catch2}/include/catch2" ];
prePatch = ''
substituteInPlace configure.ac \
--replace 'AC_MSG_FAILURE([Cannot detect the systemd system unit dir])' \
'systemd_unit_dir="$out/lib/systemd/user"'
'';
meta = {
description = "Notifications for detecting usbguard policy and device presence changes";
homepage = "https://github.com/Cropi/usbguard-notifier";
maintainers = with lib.maintainers; [ fpletz ];
platforms = lib.platforms.linux;
license = lib.licenses.gpl2Plus;
};
}