summary refs log tree commit diff
path: root/pkgs/development/tools/wiggle
diff options
context:
space:
mode:
authorPeter Simons <simons@cryp.to>2017-05-31 14:12:06 +0200
committerPeter Simons <simons@cryp.to>2017-05-31 14:12:06 +0200
commite25ab373db8382f33ae2095c47acd1402a4e4be5 (patch)
tree7b416c97165d8fa6d11ce8b17bfc80942a999006 /pkgs/development/tools/wiggle
parent1c0b50c91821dcf62176e1931bd06e15db2eec99 (diff)
downloadnixpkgs-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.nix43
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;
+  };
+
+}