diff options
Diffstat (limited to 'nixpkgs/pkgs/applications/misc/elogind/default.nix')
-rw-r--r-- | nixpkgs/pkgs/applications/misc/elogind/default.nix | 82 |
1 files changed, 82 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/applications/misc/elogind/default.nix b/nixpkgs/pkgs/applications/misc/elogind/default.nix new file mode 100644 index 000000000000..78dc54497dd9 --- /dev/null +++ b/nixpkgs/pkgs/applications/misc/elogind/default.nix @@ -0,0 +1,82 @@ +{ stdenv +, lib +, fetchFromGitHub +, meson +, ninja +, m4 +, gperf +, getent +, libcap +, gettext +, pkgconfig +, udev +, eudev +, libxslt +, python3 +, docbook5 +, docbook_xsl +, docbook_xsl_ns +, docbook_xml_dtd_42 +, docbook_xml_dtd_45 + +# Defaulting to false because usually the rationale for using elogind is to +# use it in situation where a systemd dependency does not work (especially +# when building with musl, which elogind explicitly supports). +, enableSystemd ? false +}: + +with stdenv.lib; + +stdenv.mkDerivation rec { + pname = "elogind"; + version = "243.7"; + + src = fetchFromGitHub { + owner = "elogind"; + repo = pname; + rev = "v${version}"; + sha256 = "0cihdf7blhncm2359qxli24j9l3dkn15gjys5vpjwny80zlym5ma"; + }; + + nativeBuildInputs = [ + meson + ninja + m4 + pkgconfig + gperf + getent + libcap + gettext + libxslt.bin # xsltproc + docbook5 docbook_xsl docbook_xsl_ns docbook_xml_dtd_42 docbook_xml_dtd_45 # needed for docbook without Internet + (python3.withPackages (p: with p; [ lxml ])) # fixes: man/meson.build:111:0: ERROR: Could not execute command "/build/source/tools/xml_helper.py". + ]; + + buildInputs = + if enableSystemd then [ udev ] else [ eudev ]; + + # Inspired by the systemd `preConfigure`. + # Conceptually we should patch all files required during the build, but not scripts + # supposed to run at run-time of the software (important for cross-compilation). + # This package seems to have mostly scripts that run at build time. + preConfigure = '' + for dir in tools src/test; do + patchShebangs $dir + done + + patchShebangs src/basic/generate-*.{sh,py} + ''; + + mesonFlags = [ + "-Drootprefix=${placeholder "out"}" + "-Dsysconfdir=${placeholder "out"}/etc" + ]; + + meta = { + homepage = "https://github.com/elogind/elogind"; + description = ''The systemd project's "logind", extracted to a standalone package''; + platforms = platforms.linux; # probably more + license = licenses.lgpl21Plus; + maintainers = with maintainers; [ nh2 ]; + }; +} |