summary refs log tree commit diff
path: root/pkgs/os-specific/linux/elogind/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/os-specific/linux/elogind/default.nix')
-rw-r--r--pkgs/os-specific/linux/elogind/default.nix49
1 files changed, 49 insertions, 0 deletions
diff --git a/pkgs/os-specific/linux/elogind/default.nix b/pkgs/os-specific/linux/elogind/default.nix
new file mode 100644
index 000000000000..c93391a5ff96
--- /dev/null
+++ b/pkgs/os-specific/linux/elogind/default.nix
@@ -0,0 +1,49 @@
+{ stdenv, lib, fetchFromGitHub
+, meson, m4, gperf, gettext, pkgconfig, libxslt, ninja
+, libcap, libudev
+, enablePam ? true, pam
+, docbook_xsl, docbook_xml_dtd_42, docbook_xml_dtd_45 }:
+
+stdenv.mkDerivation rec {
+  name = "elogind-${version}";
+  version = "239.2";
+
+  src = fetchFromGitHub {
+    owner = "elogind";
+    repo = "elogind";
+    rev = "v${version}";
+    sha256 = "17khwbzqmkfd3hcscs51kzdpvq9p2llm08vbpsdhy9yxgwfzlfa6";
+  };
+
+  postPatch = ''
+    for f in man/*.xml; do
+      substituteInPlace $f \
+        --replace http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd ${docbook_xml_dtd_42}/xml/dtd/docbook/docbookx.dtd \
+        --replace http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd ${docbook_xml_dtd_45}/xml/dtd/docbook/docbookx.dtd
+    done
+
+    patchShebangs .
+
+    set -x
+  '';
+
+  preConfigure = ''
+    mesonFlagsArray+=(-Drootprefix=$out)
+    mesonFlagsArray+=(-Dsysconfdir=$out/etc)
+    mesonFlagsArray+=(-Dpamconfdir=$out/etc/pam.d)
+    mesonFlagsArray+=(-Dcgroup-controller=elogind)
+  '';
+
+  buildInputs = [ libcap libudev ] ++ lib.optional enablePam pam;
+  nativeBuildInputs = [ meson m4 gperf gettext pkgconfig libxslt ninja docbook_xsl ];
+
+  strictDeps = true;
+
+  meta = with lib; {
+    homepage = https://github.com/elogind/elogind;
+    description = "logind, extracted to a standalone package";
+    license = licenses.lgpl21Plus;
+    maintainers = with maintainers; [ qyliss ];
+    platforms = platforms.linux;
+  };
+}