guilt: init at 0.37-rc1
This commit is contained in:
parent
9867343397
commit
9288bd0433
4 changed files with 129 additions and 0 deletions
20
pkgs/applications/version-management/guilt/darwin-fix.patch
Normal file
20
pkgs/applications/version-management/guilt/darwin-fix.patch
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
uname -s is used to determine the differences between the command line
|
||||||
|
utilities like stat or awk in linux and darwin. However, in nix, guilt
|
||||||
|
will be using the nix versions of this programs, not the ones
|
||||||
|
installed in the system. Therefore, guilt should use the command-line
|
||||||
|
parameters that the linux forms of these commands expect, even if it
|
||||||
|
is being run on Darwin.
|
||||||
|
|
||||||
|
diff --git a/guilt b/guilt
|
||||||
|
index bf50343..cfc9332 100755
|
||||||
|
--- a/guilt
|
||||||
|
+++ b/guilt
|
||||||
|
@@ -986,7 +986,7 @@ guards_file="$GUILT_DIR/$branch/guards"
|
||||||
|
pager="more"
|
||||||
|
[ ! -z "$PAGER" ] && pager="$PAGER"
|
||||||
|
|
||||||
|
-UNAME_S=`uname -s`
|
||||||
|
+UNAME_S="Linux"
|
||||||
|
|
||||||
|
if [ -r "$GUILT_PATH/os.$UNAME_S" ]; then
|
||||||
|
. "$GUILT_PATH/os.$UNAME_S"
|
92
pkgs/applications/version-management/guilt/default.nix
Normal file
92
pkgs/applications/version-management/guilt/default.nix
Normal file
|
@ -0,0 +1,92 @@
|
||||||
|
{ asciidoc
|
||||||
|
, docbook_xml_dtd_45
|
||||||
|
, docbook_xsl
|
||||||
|
, fetchFromGitHub
|
||||||
|
, gawk
|
||||||
|
, git
|
||||||
|
, gnused
|
||||||
|
, lib
|
||||||
|
, makeWrapper
|
||||||
|
, openssl
|
||||||
|
, perl
|
||||||
|
, stdenv
|
||||||
|
, xmlto
|
||||||
|
}:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
pname = "guilt";
|
||||||
|
version = "0.37-rc1";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "jeffpc";
|
||||||
|
repo = "guilt";
|
||||||
|
rev = "v${version}";
|
||||||
|
sha256 = "sha256-7OgRbMGYWtGvrZxKfJe0CkpmU3AUkPebF5NyTsfXeGA=";
|
||||||
|
};
|
||||||
|
|
||||||
|
doCheck = true;
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
./guilt-help-mandir.patch
|
||||||
|
./darwin-fix.patch
|
||||||
|
];
|
||||||
|
nativeBuildInputs = [
|
||||||
|
asciidoc
|
||||||
|
docbook_xml_dtd_45
|
||||||
|
docbook_xsl
|
||||||
|
makeWrapper
|
||||||
|
perl
|
||||||
|
xmlto
|
||||||
|
];
|
||||||
|
buildInputs = [
|
||||||
|
gawk
|
||||||
|
git
|
||||||
|
gnused
|
||||||
|
] ++ lib.optionals stdenv.isDarwin [ openssl ];
|
||||||
|
makeFlags = [
|
||||||
|
"PREFIX=$(out)"
|
||||||
|
];
|
||||||
|
|
||||||
|
postBuild = ''
|
||||||
|
make -j $NIX_BUILD_CORES doc
|
||||||
|
'';
|
||||||
|
|
||||||
|
preCheck = ''
|
||||||
|
patchShebangs regression/run-tests regression/*.sh
|
||||||
|
'';
|
||||||
|
|
||||||
|
postInstall = ''
|
||||||
|
make PREFIX=$out install-doc
|
||||||
|
'';
|
||||||
|
|
||||||
|
postFixup = ''
|
||||||
|
wrapProgram $out/bin/guilt --prefix PATH : ${lib.makeBinPath buildInputs}
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Manage patches like quilt, on top of a git repository";
|
||||||
|
longDescription = ''
|
||||||
|
Andrew Morton originally developed a set of scripts for
|
||||||
|
maintaining kernel patches outside of any SCM tool. Others
|
||||||
|
extended these into a suite called quilt]. The basic idea behind
|
||||||
|
quilt is to maintain patches instead of maintaining source
|
||||||
|
files. Patches can be added, removed or reordered, and they can
|
||||||
|
be refreshed as you fix bugs or update to a new base
|
||||||
|
revision. quilt is very powerful, but it is not integrated with
|
||||||
|
the underlying SCM tools. This makes it difficult to visualize
|
||||||
|
your changes.
|
||||||
|
|
||||||
|
Guilt allows one to use quilt functionality on top of a Git
|
||||||
|
repository. Changes are maintained as patches which are
|
||||||
|
committed into Git. Commits can be removed or reordered, and the
|
||||||
|
underlying patch can be refreshed based on changes made in the
|
||||||
|
working directory. The patch directory can also be placed under
|
||||||
|
revision control, so you can have a separate history of changes
|
||||||
|
made to your patches.
|
||||||
|
'';
|
||||||
|
homepage = "https://github.com/jeffpc/guilt";
|
||||||
|
maintainers = with lib.maintainers; [ javimerino ];
|
||||||
|
license = [ licenses.gpl2 ];
|
||||||
|
platforms = platforms.all;
|
||||||
|
};
|
||||||
|
}
|
|
@ -0,0 +1,15 @@
|
||||||
|
nixpkgs' post-installation fixup moves the pages to share/man. Tell guilt-help so that it can find them.
|
||||||
|
|
||||||
|
diff --git a/guilt-help b/guilt-help
|
||||||
|
index 93442a3..b29e059 100755
|
||||||
|
--- a/guilt-help
|
||||||
|
+++ b/guilt-help
|
||||||
|
@@ -34,7 +34,7 @@ case $# in
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
-MANDIR=`dirname $0`/../man
|
||||||
|
+MANDIR=`dirname $0`/../share/man
|
||||||
|
MANDIR=`(cd "$MANDIR"; pwd)`
|
||||||
|
exec man -M "$MANDIR" "$page"
|
||||||
|
|
|
@ -2446,6 +2446,8 @@ with pkgs;
|
||||||
|
|
||||||
gst = callPackage ../applications/version-management/gst { };
|
gst = callPackage ../applications/version-management/gst { };
|
||||||
|
|
||||||
|
guilt = callPackage ../applications/version-management/guilt { };
|
||||||
|
|
||||||
gut = callPackage ../applications/version-management/gut { };
|
gut = callPackage ../applications/version-management/gut { };
|
||||||
|
|
||||||
hred = callPackage ../development/tools/hred { };
|
hred = callPackage ../development/tools/hred { };
|
||||||
|
|
Loading…
Reference in a new issue