Subject: [PATCH v5] gnu: Add wiggle.

From: jgart <[email-masked]>
Date: Fri, 9 Sep 2022 09:06:13 -0500

* gnu/packages/patchutils.scm (wiggle): New variable.

no probs, here's v5
---
 gnu/packages/patchutils.scm | 45 +++++++++++++++++++++++++++++++++++++
 1 file changed, 45 insertions(+)

diff --git a/gnu/packages/patchutils.scm b/gnu/packages/patchutils.scm
index fdbcb8e1e1..e87d0a2e86 100644
--- a/gnu/packages/patchutils.scm
+++ b/gnu/packages/patchutils.scm
@@ -4,6 +4,7 @@
 ;;; Copyright © 2018–2022 Tobias Geerinckx-Rice <[email-masked]>
 ;;; Copyright © 2019 Christopher Baines <[email-masked]>
 ;;; Copyright © 2021 Xinglu Chen <[email-masked]>
+;;; Copyright © 2022 jgart <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -21,6 +22,7 @@
 ;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
 
 (define-module (gnu packages patchutils)
+  #:use-module (guix gexp)
   #:use-module (guix utils)
   #:use-module (guix packages)
   #:use-module (guix licenses)
@@ -40,6 +42,7 @@ (define-module (gnu packages patchutils)
   #:use-module (gnu packages gettext)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gnome)
+  #:use-module (gnu packages groff)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages less)
   #:use-module (gnu packages mail)
@@ -441,6 +444,48 @@ (define pythonpath
     (home-page "http://jk.ozlabs.org/projects/patchwork/")
     (license gpl2+)))
 
+(define-public wiggle
+    (package
+      (name "wiggle")
+      (version "1.3")
+      (source
+       (origin
+         (method git-fetch)
+         (uri
+          (git-reference
+           (url "https://github.com/neilbrown/wiggle")
+           (commit (string-append "v" version))))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32 "18ilzr9sbal1j8p1d94ilm1j5blac5cngvcvjpdmgmpw6diy2ldf"))))
+      (build-system gnu-build-system)
+      (native-inputs (list groff))
+      (inputs
+        (list ncurses))
+      (arguments
+        (list #:make-flags
+              #~(list "-I. -O3"
+                      (string-append "CC=" #$(cc-for-target))
+                      "INSTALL=\"install\""
+                      "STRIP=-s"
+                      (string-append "BINDIR=" #$output "/bin")
+                      (string-append "MANDIR=" #$output "/share/man")
+                      (string-append "CC=" #$(cc-for-target))
+                      (string-append "PREFIX=" #$output))
+               #:phases
+               #~(modify-phases %standard-phases
+                   (delete 'configure)
+                   (replace 'check
+                     (lambda* (#:key inputs ouputs tests? #:allow-other-keys)
+                       (when tests?
+                         (invoke "./dotest")))))))
+      (home-page "http://neil.brown.name/wiggle/")
+      (synopsis "Tool for applying patches with conflicts")
+      (description
+"@code{wiggle} attempts to apply patches to a target file even if the
+patches do not match perfectly.")
+      (license gpl2+)))
+
 (define-public pwclient
   (package
     (name "pwclient")
-- 
2.37.3