nixpkgs/pkgs/development/libraries/libudev-zero/default.nix
Alyssa Ross a3f918d340 libudev-zero: init at 1.0.0
libudev-zero is a daemonless reimplementation of udev, that is of
additional interest to us in Nixpkgs because (currently with a small
upstreamable build system patch) it's possible to build it statically,
which systemd's udev is unlikely to support in the near future[1].

In future, it might be good to default to using libudev-zero in
pkgsStatic, but for now let's just introduce the package, so people
doing static builds can at least use it themselves using overrides or
overlays.

[1]: https://github.com/systemd/systemd/pull/20621#issuecomment-912014839
2021-12-03 18:21:22 +00:00

39 lines
1.1 KiB
Nix

{ lib, stdenv, fetchFromGitHub, fetchpatch }:
stdenv.mkDerivation rec {
pname = "libudev-zero";
version = "1.0.0";
src = fetchFromGitHub {
owner = "illiliti";
repo = "libudev-zero";
rev = version;
sha256 = "0mln7iwyz7lxz8dx7bx7b47j6yws1dvfq35qsdcwg3wwmd4ngsz6";
};
patches = [
# Fix static.
# https://github.com/illiliti/libudev-zero/pull/48
(fetchpatch {
url = "https://github.com/illiliti/libudev-zero/commit/505c61819b371a1802e054fe2601e64f2dc6d79e.patch";
sha256 = "0y06rgjv73dd7fi3a0dlabcc8ryk3yhbsyrrhnnn3v36y1wz6m0g";
})
];
makeFlags = [ "PREFIX=$(out)" ];
# Just let the installPhase build stuff, because there's no
# non-install target that builds everything anyway.
dontBuild = true;
installTargets = lib.optionals stdenv.hostPlatform.isStatic "install-static";
meta = with lib; {
homepage = "https://github.com/illiliti/libudev-zero";
description = "Daemonless replacement for libudev";
maintainers = with maintainers; [ qyliss shamilton ];
license = licenses.isc;
platforms = platforms.linux;
};
}