17 stdenv.mkDerivation rec {
21 src = fetchFromGitHub {
25 sha256 = "sha256-7OgRbMGYWtGvrZxKfJe0CkpmU3AUkPebF5NyTsfXeGA=";
31 ./guilt-help-mandir.patch
46 ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ openssl ];
52 make -j $NIX_BUILD_CORES doc
56 patchShebangs regression/run-tests regression/*.sh
60 make PREFIX=$out install-doc
64 wrapProgram $out/bin/guilt --prefix PATH : ${lib.makeBinPath buildInputs}
68 description = "Manage patches like quilt, on top of a git repository";
70 Andrew Morton originally developed a set of scripts for
71 maintaining kernel patches outside of any SCM tool. Others
72 extended these into a suite called quilt]. The basic idea behind
73 quilt is to maintain patches instead of maintaining source
74 files. Patches can be added, removed or reordered, and they can
75 be refreshed as you fix bugs or update to a new base
76 revision. quilt is very powerful, but it is not integrated with
77 the underlying SCM tools. This makes it difficult to visualize
80 Guilt allows one to use quilt functionality on top of a Git
81 repository. Changes are maintained as patches which are
82 committed into Git. Commits can be removed or reordered, and the
83 underlying patch can be refreshed based on changes made in the
84 working directory. The patch directory can also be placed under
85 revision control, so you can have a separate history of changes
88 homepage = "https://github.com/jeffpc/guilt";
89 maintainers = with lib.maintainers; [ javimerino ];
90 license = [ licenses.gpl2 ];
91 platforms = platforms.all;
92 mainProgram = "guilt";