diff options
author | Peter Simons <simons@cryp.to> | 2017-05-31 14:12:06 +0200 |
---|---|---|
committer | Peter Simons <simons@cryp.to> | 2017-05-31 14:12:06 +0200 |
commit | e25ab373db8382f33ae2095c47acd1402a4e4be5 (patch) | |
tree | 7b416c97165d8fa6d11ce8b17bfc80942a999006 /pkgs/development/tools/wiggle | |
parent | 1c0b50c91821dcf62176e1931bd06e15db2eec99 (diff) | |
download | nixpkgs-e25ab373db8382f33ae2095c47acd1402a4e4be5.tar nixpkgs-e25ab373db8382f33ae2095c47acd1402a4e4be5.tar.gz nixpkgs-e25ab373db8382f33ae2095c47acd1402a4e4be5.tar.bz2 nixpkgs-e25ab373db8382f33ae2095c47acd1402a4e4be5.tar.lz nixpkgs-e25ab373db8382f33ae2095c47acd1402a4e4be5.tar.xz nixpkgs-e25ab373db8382f33ae2095c47acd1402a4e4be5.tar.zst nixpkgs-e25ab373db8382f33ae2095c47acd1402a4e4be5.zip |
wiggle: initial version 1.0
Wiggle is a tool for applying patches with conflicts.
Diffstat (limited to 'pkgs/development/tools/wiggle')
-rw-r--r-- | pkgs/development/tools/wiggle/default.nix | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/pkgs/development/tools/wiggle/default.nix b/pkgs/development/tools/wiggle/default.nix new file mode 100644 index 00000000000..5a97eb09e4b --- /dev/null +++ b/pkgs/development/tools/wiggle/default.nix @@ -0,0 +1,43 @@ +{ stdenv, fetchurl, ncurses, groff }: + +stdenv.mkDerivation { + + name = "wiggle-1.0"; + + src = fetchurl { + url = "https://github.com/neilbrown/wiggle/archive/v1.0.tar.gz"; + sha256 = "0552dkdvl001b2jasj0jwb69s7zy6wbc8gcysqj69b4qgl9c54cs"; + }; + + buildInputs = [ ncurses groff ]; + + configurePhase = '' + makeFlagsArray=( CFLAGS="-I. -O3" + INSTALL="install" + BINDIR="$out/bin" + MANDIR="$out/share/man" + ) + patchShebangs . + ''; + + meta = { + homepage = http://blog.neil.brown.name/category/wiggle/; + 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. + ''; + + license = stdenv.lib.licenses.gpl2Plus; + platforms = stdenv.lib.platforms.all; + }; + +} |