Subject: [bug#69162] [PATCH v2 19/23] gnu: Add ghc-filepattern-bootstrap-for-9.6

From: Saku Laesvuori <[email-masked]>
Date: Thu, 15 Feb 2024 10:50:00 +0200

* gnu/packages/haskell.scm (ghc-filepattern-bootstrap-for-9.6): New
  variable.

Change-Id: I3778f85d7a14474445295ebd6bbb1f4bfbe4f6d5
---
 gnu/packages/haskell.scm | 41 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 41 insertions(+)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 3b591c6ffa..47eab1d5fa 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -1533,6 +1533,47 @@ (define ghc-js-flot-bootstrap-for-9.6
 requirements of downstream users (e.g. Debian).")
     (license license:expat)))
 
+(define ghc-filepattern-bootstrap-for-9.6
+  (package
+    (name "ghc-filepattern-bootstrap")
+    (version "0.1.3")
+    (source (origin
+              (method url-fetch)
+              (uri (hackage-uri "filepattern" version))
+              (sha256
+               (base32
+                "0dlnwnwhsfdkwm69z66wj5d2x9n3la55glq4fsn5rxm2kr1msi6c"))))
+    (build-system haskell-build-system)
+    (properties '((upstream-name . "filepattern")))
+    (arguments (list #:tests? #f
+                     #:haskell ghc-bootstrap-for-9.6))
+    (inputs (list ghc-extra-bootstrap-for-9.6))
+    (home-page "https://github.com/ndmitchell/filepattern#readme")
+    (synopsis "File path glob-like matching")
+    (description
+     "This package provides Haskell library for matching files using patterns
+such as @code{\\\"src\\/**\\/*.png\\\"} for all @@file{.png} files recursively
+under the @@file{src} directory.
+
+Some of its features include:
+
+@itemize
+@item All matching is O(n).
+
+@item Most functions pre-compute some information given only one argument.
+
+@item Uses @code{match} and @code{substitute} to extract suitable strings from
+the @code{*} and @code{**} matches, and substitutes them back into other
+patterns.
+
+@item Uses @code{step} and @code{matchMany} to perform bulk matching of many
+patterns against many paths simultaneously.
+
+@item Uses @code{System.FilePattern.Directory} to perform optimised directory
+traverals using patterns.
+@end itemize")
+    (license license:bsd-3)))
+
 (define ghc-unordered-containers-bootstrap-for-9.6
   (package
     (name "ghc-unordered-containers-bootstrap")
-- 
2.41.0