2021-01-23 13:26:19 +01:00
|
|
|
{ lib, stdenv, fetchurl, ncurses, groff }:
|
2017-05-31 14:12:06 +02:00
|
|
|
|
|
|
|
stdenv.mkDerivation {
|
|
|
|
|
2020-01-30 18:43:20 +01:00
|
|
|
name = "wiggle-1.2";
|
2017-05-31 14:12:06 +02:00
|
|
|
|
|
|
|
src = fetchurl {
|
2020-01-30 18:43:20 +01:00
|
|
|
url = "https://github.com/neilbrown/wiggle/archive/v1.2.tar.gz";
|
|
|
|
sha256 = "1gckj0zv2xznzg7i70p9dfmkhdpdg3953msi4gg5h6mpmmiiiwrw";
|
2017-05-31 14:12:06 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
buildInputs = [ ncurses groff ];
|
|
|
|
|
|
|
|
configurePhase = ''
|
|
|
|
makeFlagsArray=( CFLAGS="-I. -O3"
|
2017-08-02 15:36:48 +02:00
|
|
|
STRIP="-s"
|
2017-05-31 14:12:06 +02:00
|
|
|
INSTALL="install"
|
|
|
|
BINDIR="$out/bin"
|
|
|
|
MANDIR="$out/share/man"
|
|
|
|
)
|
|
|
|
patchShebangs .
|
|
|
|
'';
|
|
|
|
|
|
|
|
meta = {
|
2020-04-01 03:11:51 +02:00
|
|
|
homepage = "http://blog.neil.brown.name/category/wiggle/";
|
2017-05-31 14:12:06 +02:00
|
|
|
description = "Tool for applying patches with conflicts";
|
|
|
|
|
|
|
|
longDescription = ''
|
|
|
|
Wiggle applies patches to a file in a similar manner to the patch(1)
|
|
|
|
program. The distinctive difference is, however, that wiggle will
|
|
|
|
attempt to apply a patch even if the "before" part of the patch doesn't
|
|
|
|
match the target file perfectly. This is achieved by breaking the file
|
|
|
|
and patch into words and finding the best alignment of words in the file
|
|
|
|
with words in the patch. Once this alignment has been found, any
|
|
|
|
differences (word-wise) in the patch are applied to the file as best as
|
|
|
|
possible. Also, wiggle will (in some cases) detect changes that have
|
|
|
|
already been applied, and will ignore them.
|
|
|
|
'';
|
|
|
|
|
2021-01-23 13:26:19 +01:00
|
|
|
license = lib.licenses.gpl2Plus;
|
|
|
|
platforms = lib.platforms.all;
|
2017-05-31 14:12:06 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
}
|