about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--pkgs/os-specific/linux/ldm/default.nix38
-rw-r--r--pkgs/top-level/all-packages.nix2
2 files changed, 40 insertions, 0 deletions
diff --git a/pkgs/os-specific/linux/ldm/default.nix b/pkgs/os-specific/linux/ldm/default.nix
new file mode 100644
index 0000000000000..df98b5260c6b7
--- /dev/null
+++ b/pkgs/os-specific/linux/ldm/default.nix
@@ -0,0 +1,38 @@
+{ stdenv, fetchgit, udev, utillinux, mountPath ? "/media/" }:
+
+assert mountPath != "";
+
+let
+  name = "ldm-0.4.2";
+in
+stdenv.mkDerivation {
+  inherit name;
+
+  # There is a stable release, but we'll use the lvm branch, which
+  # contains important fixes for LVM setups.
+  src = fetchgit {
+    url = "https://github.com/LemonBoy/ldm.git";
+    rev = "26633ce07b";
+    sha256 = "bb733d3b9b3bd5843b9cf1507a04a063c5aa45b398480411709fc727ae10b8b1";
+  };
+
+  buildInputs = [ udev utillinux ];
+
+  preBuild = ''
+    substituteInPlace ldm.c \
+      --replace "/mnt/" "${mountPath}"
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp -v ldm $out/bin
+  '';
+
+  meta = {
+    description = "A lightweight device mounter, with libudev as only dependency";
+    license = "MIT";
+
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.the-kenny ];
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index f462c62b4f20f..95e3babe777ef 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -6567,6 +6567,8 @@ let
 
   latencytop = callPackage ../os-specific/linux/latencytop { };
 
+  ldm = callPackage ../os-specific/linux/ldm { };
+
   libaio = callPackage ../os-specific/linux/libaio { };
 
   libatasmart = callPackage ../os-specific/linux/libatasmart { };