nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 fetchFromSourcehut,
3 fetchpatch,
4 hareHook,
5 haredo,
6 lib,
7 scdoc,
8 stdenv,
9}:
10stdenv.mkDerivation (finalAttrs: {
11 pname = "treecat";
12 version = "1.0.2-unstable-2023-11-28";
13
14 outputs = [
15 "out"
16 "man"
17 ];
18
19 src = fetchFromSourcehut {
20 owner = "~autumnull";
21 repo = "treecat";
22 rev = "d277aed99eb48eef891b76916a61029989c41d2d";
23 hash = "sha256-4A01MAGkBSSzkyRw4omNbLoX8z+pHfoUO7/6QvEUu70=";
24 };
25
26 patches = [
27 # Update for Hare 0.24.2.
28 (fetchpatch {
29 url = "https://git.sr.ht/~autumnull/treecat/commit/53ad8126261051dd3b3493c34ae49f23db2c2d16.patch";
30 hash = "sha256-cF/lMZjg1hB93rBXcjecT5Rrzb2Y73u6DSW1WcP5Vek=";
31 })
32 ];
33
34 nativeBuildInputs = [
35 hareHook
36 haredo
37 scdoc
38 ];
39
40 env.PREFIX = placeholder "out";
41
42 dontConfigure = true;
43
44 meta = {
45 description = "Serialize a directory to a tree diagram, and vice versa";
46 longDescription = ''
47 Treecat is an amalgamation of `tree(1)` and `cat(1)`, with the added
48 bonus that it can reconstruct its output back into the original filetree.
49 '';
50 homepage = "https://sr.ht/~autumnull/treecat/";
51 license = lib.licenses.wtfpl;
52 maintainers = with lib.maintainers; [ onemoresuza ];
53 mainProgram = "treecat";
54 inherit (hareHook.meta) platforms badPlatforms;
55 };
56})