[PATCH 0/3] gnu: Add hledger-ui

  • Open
  • quality assurance status badge
Details
One participant
  • Tomás Ortín
Owner
unassigned
Submitted by
Tomás Ortín
Severity
normal
T
T
Tomás Ortín wrote on 24 Nov 2023 18:19
(address . guix-patches@gnu.org)
eefd884b-c89f-133b-b841-566ce9a7f923@mailbox.org
This patch set adds hledger-ui and its missing dependencies. It updates
ghc-vty to 5.37 (the version in Haskell LTS for GHC 9.2.5), as required
by one of the dependencies.


Tomás Ortín Fernández (3):
Add ghc-bimap
Add ghc-brick and bump ghc-vty version as required
Add hledger-ui

gnu/packages/finance.scm | 39 +++++++++++
gnu/packages/haskell-xyz.scm | 123 ++++++++++++++++++++++++-----------
2 files changed, 124 insertions(+), 38 deletions(-)


base-commit: 4fd84cec2bff566ddf9eb60ddaa06f86348d63b2
--
2.41.0
T
T
Tomás Ortín wrote on 24 Nov 2023 18:22
[PATCH 1/3] gnu: Add ghc-bimap
(address . 67434@debbugs.gnu.org)
4e7f776c-9464-013b-ecd3-e89c8f7efdf8@mailbox.org
* gnu/packages/haskell-xyz.scm (ghc-bimap): New variable.

Change-Id: I69d4f1c704ad0ffc27693421d2633ed6bcc4cdf5
---
gnu/packages/haskell-xyz.scm | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)

Toggle diff (41 lines)
diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index e34acca909..d733c6a5f6 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -33,6 +33,7 @@
;;; Copyright © 2022 jgart <jgart@dismail.de>
;;; Copyright © 2023 Josselin Poiret <dev@jpoiret.xyz>
;;; Copyright © 2023 zamfofex <zamfofex@twdb.moe>
+;;; Copyright © 2023 Tomás Ortín Fernández <tomasortin@mailbox.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -2918,6 +2919,26 @@ (define-public ghc-data-ordlist
"This module provides set and multiset operations on ordered lists.")
(license license:bsd-3)))

+(define-public ghc-bimap
+ (package
+ (name "ghc-bimap")
+ (version "0.5.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (hackage-uri "bimap" version))
+ (sha256
+ (base32 "158cdwk9jwklcfgbn62dqq255i40w13ifggsdps87sxc5q7lpd5h"))))
+ (build-system haskell-build-system)
+ (native-inputs (list ghc-quickcheck))
+ (properties '((upstream-name . "bimap")))
+ (home-page "https://github.com/joelwilliamson/bimap")
+ (synopsis "Bidirectional mapping between two key types")
+ (description
+ "Data structure representing a bidirectional mapping between two
+key types.")
+ (license license:bsd-3)))
+
(define-public ghc-dbus
(package
(name "ghc-dbus")
--
2.41.0
T
T
Tomás Ortín wrote on 24 Nov 2023 18:25
[PATCH 2/3] gnu: Add ghc-brick and bump ghc-vty version as required
(address . 67434@debbugs.gnu.org)
fbc9b6f4-fbe0-5ed0-ba09-e43af8ed6a3f@mailbox.org
* gnu/packages/haskell-xyz.scm (ghc-vty): Update to 5.37.
* gnu/packages/haskell-xyz.scm (ghc-brick): New variable.

Change-Id: I7f1f302c9811e0409a68806412c73bf643f91ce4
---
gnu/packages/haskell-xyz.scm | 102 ++++++++++++++++++++++-------------
1 file changed, 64 insertions(+), 38 deletions(-)

Toggle diff (119 lines)
diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index d733c6a5f6..c8df26bc3b 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -13969,45 +13969,71 @@ (define-public ghc-void

(define-public ghc-vty
(package
- (name "ghc-vty")
- (version "5.35.1")
- (source
- (origin
- (method url-fetch)
- (uri (hackage-uri "vty" version))
- (sha256
- (base32 "062dpz8fxrnggzpl041zpbph0xj56jki98ajm2s78dldg5vy0c9k"))))
- (build-system haskell-build-system)
- (native-inputs
- (list ghc-hunit
- ghc-quickcheck
- ghc-quickcheck-assertions
- ghc-random
- ghc-smallcheck
- ghc-string-qq
- ghc-test-framework
- ghc-test-framework-smallcheck
- ghc-test-framework-hunit))
- (inputs
- (list ghc-ansi-terminal
- ghc-blaze-builder
- ghc-hashable
- ghc-microlens
- ghc-microlens-mtl
- ghc-microlens-th
- ghc-parallel
- ghc-utf8-string
- ghc-vector))
- (arguments
- `(#:cabal-revision ("1"
-
"1zqcvgqhcij92241g20zn3c3a4033biid3f3cqg05q1ygrmznxb5")))
- (properties '((upstream-name . "vty")))
- (home-page "https://github.com/jtdaugherty/vty")
- (synopsis "Simple terminal UI library")
- (description
- "vty is a terminal GUI library in the niche of ncurses, intended to
be easy
+ (name "ghc-vty")
+ (version "5.37")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (hackage-uri "vty" version))
+ (sha256
+ (base32 "1w6dc25npvlaflxcyzdssnymgi7x03zkwg7swyjw6cjjfdmkgqb7"))))
+ (build-system haskell-build-system)
+ (native-inputs (list ghc-hunit
+ ghc-quickcheck
+ ghc-quickcheck-assertions
+ ghc-random
+ ghc-smallcheck
+ ghc-string-qq
+ ghc-test-framework
+ ghc-test-framework-smallcheck
+ ghc-test-framework-hunit))
+ (inputs (list ghc-ansi-terminal
+ ghc-blaze-builder
+ ghc-hashable
+ ghc-microlens
+ ghc-microlens-mtl
+ ghc-microlens-th
+ ghc-parallel
+ ghc-utf8-string
+ ghc-vector))
+ (properties '((upstream-name . "vty")))
+ (home-page "https://github.com/jtdaugherty/vty")
+ (synopsis "Simple terminal UI library")
+ (description
+ "vty is a terminal GUI library in the niche of ncurses, intended
to be easy
to use and to provide good support for common terminal types.")
- (license license:bsd-3)))
+ (license license:bsd-3)))
+
+(define-public ghc-brick
+ (package
+ (name "ghc-brick")
+ (version "1.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (hackage-uri "brick" version))
+ (sha256
+ (base32 "12gwwqq38x0k6hjcn72dpcdwi0lrvyy8gxmp884h22l73xa4vda6"))))
+ (build-system haskell-build-system)
+ (properties '((upstream-name . "brick")))
+ (inputs (list ghc-bimap
+ ghc-config-ini
+ ghc-contravariant
+ ghc-data-clist
+ ghc-microlens
+ ghc-microlens-mtl
+ ghc-microlens-th
+ ghc-text-zipper
+ ghc-vector
+ ghc-vty
+ ghc-word-wrap))
+ (native-inputs (list ghc-quickcheck))
+ (home-page "https://github.com/jtdaugherty/brick")
+ (synopsis "Declarative terminal user interface (TUI) programming
+toolkit")
+ (description "Terminal user interface programming tooklit providing
+a declarative, purely functional API.")
+ (license license:expat)))

(define-public ghc-wave
(package
--
2.41.0
T
T
Tomás Ortín wrote on 24 Nov 2023 18:27
[PATCH 3/3] gnu: Add hledger-ui
(address . 67434@debbugs.gnu.org)
917ec38d-fd3f-6208-49be-0c4f93fba7ef@mailbox.org
* gnu/packages/finance.scm (hledger-ui): New variable.

Change-Id: I03b0bed2b4236502f59319a0ec43331a23a5a918
---
gnu/packages/finance.scm | 39 +++++++++++++++++++++++++++++++++++++++
1 file changed, 39 insertions(+)

Toggle diff (61 lines)
diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm
index cd419f2102..11a1d60770 100644
--- a/gnu/packages/finance.scm
+++ b/gnu/packages/finance.scm
@@ -36,6 +36,7 @@
;;; Copyright © 2023 Skylar Hill <stellarskylark@posteo.net>
;;; Copyright © 2023 Foundation Devices, Inc.
<hello@foundationdevices.com>
;;; Copyright © 2023 Attila Lendvai <attila@lendvai.name>
+;;; Copyright © 2023 Tomás Ortín Fernández <tomasortin@mailbox.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -2092,6 +2093,44 @@ (define-public hledger-web
editing on the Web.")
(license license:gpl3)))

+(define-public hledger-ui
+ (package
+ (name "hledger-ui")
+ (version "1.27.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (hackage-uri "hledger-ui" version))
+ (sha256
+ (base32 "1srzlz0mdcp0259k0vsc8xkisd9l59s30j1k1x9bnsn179n8bi22"))))
+ (build-system haskell-build-system)
+ (inputs (list ghc-ansi-terminal
+ ghc-async
+ ghc-breakpoint
+ ghc-brick
+ ghc-cmdargs
+ ghc-data-default
+ ghc-doclayout
+ ghc-extra
+ ghc-fsnotify
+ ghc-hledger
+ ghc-hledger-lib
+ ghc-microlens-platform
+ ghc-safe
+ ghc-split))
+ (properties '((upstream-name . "hledger-ui")))
+ (arguments
+ (list
+ #:haddock? #f))
+ (home-page "http://hledger.org")
+ (synopsis
+ "Curses-style terminal user interface for the hledger accounting
system")
+ (description
+ "This package provides a simple curses-style terminal user interface
+(TUI) for the hledger accounting system, as a convenient alternative to
+the hledger command line interface.")
+ (license license:gpl3)))
+
(define-public quantlib
(package
(name "quantlib")
--
2.41.0
?