;;; 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.
;;;
#: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
(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
("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.
("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))