mailmap: Update entries for Nikita.
[jackhill/guix/guix.git] / gnu / packages / haskell-apps.scm
index f5b45d0..f489f74 100644 (file)
@@ -1,7 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2015 Siniša Biđin <sinisa@bidin.eu>
 ;;; Copyright © 2015, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
-;;; Copyright © 2016, 2017, 2018 ng0 <ng0@n0.is>
+;;; Copyright © 2016, 2017, 2018 Nikita <nikita@n0.is>
 ;;; Copyright © 2017 Danny Milosavljevic <dannym@scratchpost.org>
 ;;; Copyright © 2017, 2018 Alex Vong <alexvong1995@gmail.com>
 ;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
 ;;; Copyright © 2019 Kyle Meyer <kyle@kyleam.com>
 ;;; Copyright © 2015 John Soo <jsoo1@asu.edu>
-;;; Copyright © 2019 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2019 Alex Griffin <a@ajgrf.com>
 ;;; Copyright © 2020 Alexandru-Sergiu Marton <brown121407@member.fsf.org>
+;;; Copyright © 2020 Brian Leung <bkleung89@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -36,6 +37,7 @@
   #:use-module (guix packages)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix build-system haskell)
+  #:use-module (gnu packages)
   #:use-module (gnu packages base)
   #:use-module (gnu packages curl)
   #:use-module (gnu packages gl)
   #:use-module (gnu packages rsync)
   #:use-module (gnu packages version-control))
 
+(define-public apply-refact
+  (package
+    (name "apply-refact")
+    (version "0.6.0.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "https://hackage.haskell.org/package/apply-refact/apply-refact-"
+             version ".tar.gz"))
+       (sha256
+        (base32
+         "0p2mqgjcqr1zcmk8zgr0yq7g8z1agsa6l493lkj6g3ya9lyhxgig"))))
+    (build-system haskell-build-system)
+    (inputs
+     `(("ghc-refact" ,ghc-refact)
+       ("ghc-exactprint" ,ghc-exactprint)
+       ("ghc-syb" ,ghc-syb)
+       ("ghc-temporary" ,ghc-temporary)
+       ("ghc-filemanip" ,ghc-filemanip)
+       ("ghc-unix-compat" ,ghc-unix-compat)
+       ("ghc-optparse-applicative"
+        ,ghc-optparse-applicative)))
+    (native-inputs
+     `(("ghc-tasty" ,ghc-tasty)
+       ("ghc-tasty-golden" ,ghc-tasty-golden)
+       ("ghc-tasty-expected-failure"
+        ,ghc-tasty-expected-failure)
+       ("ghc-silently" ,ghc-silently)))
+    (home-page "https://hackage.haskell.org/package/apply-refact")
+    (synopsis "Perform refactorings specified by the refact library")
+    (description
+     "This package lets you perform refactorings specified by the refact
+library.  It is primarily used with HLint's @code{--refactor} flag.")
+    (license license:bsd-3)))
+
 ;; In Stackage LTS 14, this package is at 2.4.1.0.  However, that
 ;; version requires version 2.4.1.0 of the 'Cabal' package, which is
 ;; provided by GHC 8.6.5 at version 2.4.0.1.  Hence, we use an older
@@ -304,14 +342,15 @@ to @code{cabal repl}).")
 (define-public git-annex
   (package
     (name "git-annex")
-    (version "8.20200309")
+    (version "8.20200501")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "https://hackage.haskell.org/package/"
                            "git-annex/git-annex-" version ".tar.gz"))
+       (patches (search-patches "git-annex-S3v4.patch"))
        (sha256
-        (base32 "1yjb01jh5rccqg44nqh4iyxmbpkcpm6m82lnw7s0s2vizj8891p5"))))
+        (base32 "19rggaymvqy7r61n2rl2nigwdi2hzq5l1afcd5l0k1vbacwgq4jl"))))
     (build-system haskell-build-system)
     (arguments
      `(#:configure-flags
@@ -709,7 +748,7 @@ too slow and you'll get wound up in the scroll and crushed.")
        ("ghc-diff" ,ghc-diff)
        ("ghc-quickcheck" ,ghc-quickcheck)
        ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
-    (home-page "https://github.com/koalaman/shellcheck")
+    (home-page "https://www.shellcheck.net/")
     (synopsis "Static analysis for shell scripts")
     (description "@code{shellcheck} provides static analysis for
 @command{bash} and @command{sh} shell scripts.
@@ -754,8 +793,29 @@ advanced user's otherwise working script to fail under future circumstances.
        ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
     (home-page "https://github.com/jaspervdj/stylish-haskell")
     (synopsis "Haskell code prettifier")
-    (description
-     "A simple Haskell code prettifier.  The goal is not to format all of the
-code in a file, just clean up import statements and a few other tedious
-items.  This tool tries to help where necessary without getting in the way.")
+    (description "Stylish-haskell is a Haskell code prettifier.  The goal is
+not to format all of the code in a file, to avoid \"getting in the way\".
+However, this tool can e.g. clean up import statements and help doing various
+tasks that get tedious very quickly.  It can
+@itemize
+@item
+Align and sort @code{import} statements
+@item
+Group and wrap @code{{-# LANGUAGE #-}} pragmas, remove (some) redundant
+pragmas
+@item
+Remove trailing whitespaces
+@item
+Align branches in @code{case} and fields in records
+@item
+Convert line endings (customisable)
+@item
+Replace tabs by four spaces (turned off by default)
+@item
+Replace some ASCII sequences by their Unicode equivalent (turned off by
+default)
+@end itemize")
     (license license:bsd-3)))
+
+(define-public ghc-stylish-haskell
+  (deprecated-package "ghc-stylish-haskell" stylish-haskell))