about summary refs log tree commit diff
path: root/pkgs/tools/admin/swapspace
diff options
context:
space:
mode:
authorLuflosi <luflosi@luflosi.de>2023-04-04 13:20:32 +0200
committerLuflosi <luflosi@luflosi.de>2023-04-08 00:54:54 +0200
commit82dd065f7ab665f3cda63bbe9d7c0d308b649d93 (patch)
tree37106cc1685782bce24d68a0eb718b3d0c0d65d8 /pkgs/tools/admin/swapspace
parentb0004e6c970d8f552daddced6f11c352e256b2a1 (diff)
downloadnixlib-82dd065f7ab665f3cda63bbe9d7c0d308b649d93.tar
nixlib-82dd065f7ab665f3cda63bbe9d7c0d308b649d93.tar.gz
nixlib-82dd065f7ab665f3cda63bbe9d7c0d308b649d93.tar.bz2
nixlib-82dd065f7ab665f3cda63bbe9d7c0d308b649d93.tar.lz
nixlib-82dd065f7ab665f3cda63bbe9d7c0d308b649d93.tar.xz
nixlib-82dd065f7ab665f3cda63bbe9d7c0d308b649d93.tar.zst
nixlib-82dd065f7ab665f3cda63bbe9d7c0d308b649d93.zip
swapspace: patch paths to binaries and install systemd unit file
This will be useful when creating a NixOS module for this program.
Diffstat (limited to 'pkgs/tools/admin/swapspace')
-rw-r--r--pkgs/tools/admin/swapspace/default.nix17
1 files changed, 16 insertions, 1 deletions
diff --git a/pkgs/tools/admin/swapspace/default.nix b/pkgs/tools/admin/swapspace/default.nix
index 4d961a810a40..49737edf8bf1 100644
--- a/pkgs/tools/admin/swapspace/default.nix
+++ b/pkgs/tools/admin/swapspace/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, autoreconfHook, installShellFiles }:
+{ lib, stdenv, fetchFromGitHub, autoreconfHook, installShellFiles, util-linux }:
 
 stdenv.mkDerivation rec {
   pname = "swapspace";
@@ -16,8 +16,23 @@ stdenv.mkDerivation rec {
     installShellFiles
   ];
 
+  postPatch = ''
+    substituteInPlace 'swapspace.service' \
+      --replace '/usr/local/sbin/' "$out/bin/"
+    substituteInPlace 'src/support.c' \
+      --replace '/sbin/swapon' '${lib.getBin util-linux}/bin/swapon' \
+      --replace '/sbin/swapoff' '${lib.getBin util-linux}/bin/swapoff'
+    substituteInPlace 'src/swaps.c' \
+      --replace 'mkswap' '${lib.getBin util-linux}/bin/mkswap'
+
+    # Don't create empty directory $out/var/lib/swapspace
+    substituteInPlace 'Makefile.am' \
+      --replace 'install-data-local:' 'do-not-execute:'
+  '';
+
   postInstall = ''
     installManPage doc/swapspace.8
+    install --mode=444 -D 'swapspace.service' "$out/etc/systemd/system/swapspace.service"
   '';
 
   meta = with lib; {