rekahsoft-guix/rekahsoft-gnu/packages/haskell-apps.scm

167 lines
7.3 KiB
Scheme

;; (C) Copyright Collin J. Doering 2021
;;
;; This program is free software: you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation, either version 3 of the License, or
;; (at your option) any later version.
;;
;; This program is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;;
;; You should have received a copy of the GNU General Public License
;; along with this program. If not, see <http://www.gnu.org/licenses/>.
;; File: haskell-apps.scm
;; Author: Collin J. Doering <collin.doering@rekahsoft.ca>
;; Date: Dec 22, 2021
(define-module (rekahsoft-gnu packages haskell-apps)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (gnu packages)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix build-system haskell)
#:use-module (gnu packages haskell-web)
#:use-module (gnu packages haskell-xyz)
#:use-module (gnu packages haskell-check)
#:use-module (gnu packages version-control)
#:use-module (gnu packages finance)
#:use-module (rekahsoft-gnu packages haskell-web))
(define-public ghc-vty
(package
(name "ghc-vty")
(version "5.33")
(source
(origin
(method url-fetch)
(uri (hackage-uri "vty" version))
(sha256
(base32 "0qsx4lwlkp6mwyr7rm1r9dg5ic1lc1awqgyag0nj1qgj2gnv6nc9"))))
(build-system haskell-build-system)
(inputs
`(("ghc-blaze-builder" ,ghc-blaze-builder)
("ghc-microlens" ,ghc-microlens)
("ghc-microlens-mtl" ,ghc-microlens-mtl)
("ghc-microlens-th" ,ghc-microlens-th)
("ghc-hashable" ,ghc-hashable)
("ghc-parallel" ,ghc-parallel)
("ghc-utf8-string" ,ghc-utf8-string)
("ghc-vector" ,ghc-vector)
("ghc-ansi-terminal" ,ghc-ansi-terminal)))
(native-inputs
`(("ghc-hunit" ,ghc-hunit)
("ghc-quickcheck" ,ghc-quickcheck)
("ghc-quickcheck-assertions" ,ghc-quickcheck-assertions)
("ghc-random" ,ghc-random)
("ghc-smallcheck" ,ghc-smallcheck)
("ghc-string-qq" ,ghc-string-qq)
("ghc-test-framework" ,ghc-test-framework)
("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
("ghc-test-framework-smallcheck" ,ghc-test-framework-smallcheck)
("ghc-test-framework-smallcheck" ,ghc-test-framework-smallcheck)))
(arguments
`(#:cabal-revision
("1" "1in66nd2xkb6mxxzazny900pz1xj83iqsql42c0rwk72chnnb8cd")))
(home-page "https://github.com/jtdaugherty/vty")
(synopsis "A simple terminal UI library")
(description
"vty is terminal GUI library in the niche of ncurses. It is intended to be easy to use, have no confusing corner cases, and good support for common terminal types. . See the @vty-examples@ package as well as the program @test/interactive_terminal_test.hs@ included in the @vty@ package for examples on how to use the library. . Import the \"Graphics.Vty\" convenience module to get access to the core parts of the library. . &#169; 2006-2007 Stefan O'Rear; BSD3 license. . &#169; Corey O'Connor; BSD3 license. . &#169; Jonathan Daugherty; BSD3 license.")
(license license:bsd-3)))
(define-public ghc-brick
(package
(name "ghc-brick")
(version "0.65")
(source
(origin
(method url-fetch)
(uri (hackage-uri "brick" version))
(sha256
(base32 "1yk9r5igg5p7aixlpls167z2fajq3vp0xxqcjw4cg168g20lnhbs"))))
(build-system haskell-build-system)
(inputs
`(("ghc-vty" ,ghc-vty)
("ghc-data-clist" ,ghc-data-clist)
("ghc-dlist" ,ghc-dlist)
("ghc-microlens" ,ghc-microlens)
("ghc-microlens-th" ,ghc-microlens-th)
("ghc-microlens-mtl" ,ghc-microlens-mtl)
("ghc-config-ini" ,ghc-config-ini)
("ghc-vector" ,ghc-vector)
("ghc-contravariant" ,ghc-contravariant)
("ghc-text-zipper" ,ghc-text-zipper)
("ghc-word-wrap" ,ghc-word-wrap)
("ghc-random" ,ghc-random)))
(native-inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
(home-page "https://github.com/jtdaugherty/brick/")
(synopsis "A declarative terminal user interface library")
(description
"Write terminal user interfaces (TUIs) painlessly with 'brick'! You write an event handler and a drawing function and the library does the rest. . . > module Main where > > import Brick > > ui :: Widget () > ui = str \"Hello, world!\" > > main :: IO () > main = simpleMain ui . . To get started, see: . * <https://github.com/jtdaugherty/brick/blob/master/README.md The README> . * The <https://github.com/jtdaugherty/brick/blob/master/docs/guide.rst Brick user guide> . * The demonstration programs in the 'programs' directory . . This package deprecates <http://hackage.haskell.org/package/vty-ui vty-ui>.")
(license license:bsd-3)))
(define-public hledger-ui
(package
(name "hledger-ui")
(version "1.21")
(source
(origin
(method url-fetch)
(uri (hackage-uri name version))
(sha256
(base32 "1h9d686z0y8cvq6780g6r8fdrs76y9649js0c350b6xnhzggbx0l"))))
(build-system haskell-build-system)
(native-inputs `(("ghc-hspec-discover" ,ghc-hspec-discover)))
(inputs
`(("ghc-ansi-terminal" ,ghc-ansi-terminal)
("ghc-async" ,ghc-async)
("ghc-brick" ,ghc-brick)
("ghc-cmdargs" ,ghc-cmdargs)
("ghc-data-default" ,ghc-data-default)
("ghc-doclayout" ,ghc-doclayout)
("ghc-extra" ,ghc-extra)
("ghc-fsnotify" ,ghc-fsnotify)
("hledger" ,hledger)
("ghc-hledger-lib" ,ghc-hledger-lib)
("ghc-megaparsec" ,ghc-megaparsec)
("ghc-microlens" ,ghc-microlens)
("ghc-microlens-platform" ,ghc-microlens-platform)
("ghc-safe" ,ghc-safe)
("ghc-split" ,ghc-split)
("ghc-text-zipper" ,ghc-text-zipper)
("ghc-vector" ,ghc-vector)
("ghc-vty" ,ghc-vty)))
(home-page "https://hledger.org")
(synopsis
"Curses-style terminal interface for the hledger accounting system")
(description
"A simple curses-style terminal user interface for the hledger
accounting system. It can be a more convenient way to browse your accounts
than the CLI. This package currently does not support Microsoft Windows, except
in WSL.")
(license license:gpl3)))
(define-public ghc-js-dgtable
(package
(name "ghc-js-dgtable")
(version "0.5.2")
(source
(origin
(method url-fetch)
(uri (hackage-uri "js-dgtable" version))
(sha256
(base32 "1b10kx703kbkb5q1ggdpqcrxqjb33kh24khk21rb30w0xrdxd3g2"))))
(build-system haskell-build-system)
(home-page "https://github.com/ndmitchell/js-dgtable#readme")
(synopsis "Obtain minified jquery.dgtable code")
(description
"This package bundles the minified <https://github.com/danielgindi/jquery.dgtable
jquery.dgtable> code into a Haskell package, so it can be depended upon by Cabal
packages. The first three components of the version number match the upstream
jquery.dgtable version. The package is designed to meet the redistribution
requirements of downstream users (e.g. Debian).")
(license license:expat)))