depot/third_party/nixpkgs/pkgs/applications/misc/udevil/default.nix

45 lines
1.3 KiB
Nix
Raw Normal View History

{ lib, stdenv, fetchFromGitHub, intltool, glib, pkg-config, udev, util-linux, acl }:
stdenv.mkDerivation rec {
pname = "udevil";
version = "0.4.4";
src = fetchFromGitHub {
owner = "IgnorantGuru";
repo = "udevil";
rev = version;
sha256 = "0nd44r8rbxifx4x4m24z5aji1c6k1fhw8cmf5s43wd5qys0bcdad";
};
nativeBuildInputs = [ pkg-config ];
buildInputs = [ intltool glib udev ];
configurePhase = ''
substituteInPlace src/Makefile.in --replace "-o root -g root" ""
# do not set setuid bit in nix store
substituteInPlace src/Makefile.in --replace 4755 0755
./configure \
--prefix=$out \
--with-mount-prog=${util-linux}/bin/mount \
--with-umount-prog=${util-linux}/bin/umount \
--with-losetup-prog=${util-linux}/bin/losetup \
--with-setfacl-prog=${acl.bin}/bin/setfacl \
--sysconfdir=$prefix/etc
'';
postInstall = ''
substituteInPlace $out/lib/systemd/system/devmon@.service \
--replace /usr/bin/devmon "$out/bin/devmon"
'';
patches = [ ./device-info-sys-stat.patch ];
meta = with lib; {
description = "A command line Linux program which mounts and unmounts removable devices without a password, shows device info, and monitors device changes";
homepage = "https://ignorantguru.github.io/udevil/";
platforms = platforms.linux;
license = licenses.gpl3Plus;
};
}