about summary refs log tree commit diff
path: root/pkgs/by-name/ha/haredo/package.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/by-name/ha/haredo/package.nix')
-rw-r--r--pkgs/by-name/ha/haredo/package.nix60
1 files changed, 34 insertions, 26 deletions
diff --git a/pkgs/by-name/ha/haredo/package.nix b/pkgs/by-name/ha/haredo/package.nix
index e31ae96c7832d..a6ef926c85b99 100644
--- a/pkgs/by-name/ha/haredo/package.nix
+++ b/pkgs/by-name/ha/haredo/package.nix
@@ -1,17 +1,22 @@
-{ stdenv
-, lib
-, fetchFromSourcehut
-, hare
-, scdoc
-, nix-update-script
-, makeWrapper
-, bash
+{
+  stdenv,
+  lib,
+  fetchFromSourcehut,
+  hareHook,
+  scdoc,
+  nix-update-script,
+  makeWrapper,
+  bash,
+  substituteAll,
 }:
 stdenv.mkDerivation (finalAttrs: {
   pname = "haredo";
   version = "1.0.5";
 
-  outputs = [ "out" "man" ];
+  outputs = [
+    "out"
+    "man"
+  ];
 
   src = fetchFromSourcehut {
     owner = "~autumnull";
@@ -20,28 +25,33 @@ stdenv.mkDerivation (finalAttrs: {
     hash = "sha256-gpui5FVRw3NKyx0AB/4kqdolrl5vkDudPOgjHc/IE4U=";
   };
 
+  patches = [
+    # Use nix store's bash instead of sh. `@bash@/bin/sh` is used, since haredo expects a posix shell.
+    (substituteAll {
+      src = ./001-use-nix-store-sh.patch;
+      inherit bash;
+    })
+  ];
+
   nativeBuildInputs = [
-    hare
+    hareHook
     makeWrapper
     scdoc
   ];
 
   enableParallelChecking = true;
 
-  doCheck = true;
+  env.PREFIX = builtins.placeholder "out";
 
-  dontConfigure = true;
+  doCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform;
 
-  preBuild = ''
-    HARECACHE="$(mktemp -d --tmpdir harecache.XXXXXXXX)"
-    export HARECACHE
-    export PREFIX=${builtins.placeholder "out"}
-  '';
+  dontConfigure = true;
 
   buildPhase = ''
     runHook preBuild
 
-    ./bootstrap.sh
+    hare build -o bin/haredo ./src
+    scdoc <doc/haredo.1.scd >doc/haredo.1
 
     runHook postBuild
   '';
@@ -57,26 +67,24 @@ stdenv.mkDerivation (finalAttrs: {
   installPhase = ''
     runHook preInstall
 
-    ./bootstrap.sh install
+    mkdir -p $out/bin
+    mkdir -p $out/share/man/man1
+    cp ./bin/haredo $out/bin
+    cp ./doc/haredo.1 $out/share/man/man1
 
     runHook postInstall
   '';
 
-  postFixup = ''
-    wrapProgram $out/bin/haredo \
-      --prefix PATH : "${lib.makeBinPath [bash]}"
-  '';
-
   setupHook = ./setup-hook.sh;
 
   passthru.updateScript = nix-update-script { };
 
   meta = {
-    description = "A simple and unix-idiomatic build automator";
+    description = "Simple and unix-idiomatic build automator";
     homepage = "https://sr.ht/~autumnull/haredo/";
     license = lib.licenses.wtfpl;
     maintainers = with lib.maintainers; [ onemoresuza ];
     mainProgram = "haredo";
-    inherit (hare.meta) platforms badPlatforms;
+    inherit (hareHook.meta) platforms badPlatforms;
   };
 })