Package: guix-patches;
Reported by: Carlo Holl <carloholl <at> gmail.com>
Date: Fri, 23 Oct 2020 12:08:01 UTC
Severity: normal
Tags: patch
Done: Christopher Baines <mail <at> cbaines.net>
Bug is archived. No further changes may be made.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 44174 in the body.
You can then email your comments to 44174 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
View this report as an mbox folder, status mbox, maintainer mbox
guix-patches <at> gnu.org
:bug#44174
; Package guix-patches
.
(Fri, 23 Oct 2020 12:08:01 GMT) Full text and rfc822 format available.Carlo Holl <carloholl <at> gmail.com>
:guix-patches <at> gnu.org
.
(Fri, 23 Oct 2020 12:08:01 GMT) Full text and rfc822 format available.Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
From: Carlo Holl <carloholl <at> gmail.com> To: guix-patches <at> gnu.org Cc: Carlo Holl <carloholl <at> gmail.com> Subject: [PATCH 00/16] Add hledger and its dependencies. Date: Fri, 23 Oct 2020 00:46:53 -0700
Guix, This patch series adds hledger, a plaintext accounting program. hledger started as a Haskell reimplementation of Ledger CLI. I use hledger regularly to manage personal finances and those of several businesses, and would not be suprised to find other hledger users in the Guix community. More information is available at https://hledger.org. A couple of notes: 1. The hledger package is placed in (gnu packages finance), and its dependencies in (gnu packages haskell-xyz). 2. The hledger package is *not* prefixed with 'ghc', but its dependencies are. 3. The package ghc-doctest was bumped (minor version), affecting several dependent packages. I was able to build most of these affected packages (querying guix refresh --list-dependents), but it was taking forever so I cut that effort short. I consider this a rough heuristic to determine that there are no substantial changes associated with this version bump. 4. I'm not terribly familiar with the Texinfo format, so there are likely some rough edges there. 5. I am able to build hledger and its dependencies without error, but was unsuccessful building on different architectures with qemu. I wasn't even able to build GHC under qemu so I didn't bother digging any further. This is my first contribution to Guix, and I'm also not a Haskell expert, so expect some headaches. I am happy to attend to any issues as best I am able. Carlo Carlo Holl (16): gnu: Add ghc-control-monad-free. gnu: Add ghc-csv. gnu: Add ghc-decimal. gnu: Upgrade ghc-doctest. gnu: Add ghc-hspec-megaparsec. gnu: Add ghc-lucid. gnu: Add ghc-only. gnu: Add ghc-text-short. gnu: Add ghc-tabular. gnu: Add ghc-uglymemo. gnu: Add ghc-wizards. gnu: Add ghc-cassava. gnu: Add ghc-cassava-megaparsec. gnu: Add ghc-hledger-lib. gnu: Add hledger. Add attribution. gnu/packages/finance.scm | 64 ++++ gnu/packages/haskell-xyz.scm | 579 ++++++++++++++++++++++++++++++++++- 2 files changed, 628 insertions(+), 15 deletions(-) -- 2.28.0
guix-patches <at> gnu.org
:bug#44174
; Package guix-patches
.
(Fri, 23 Oct 2020 17:26:02 GMT) Full text and rfc822 format available.Message #8 received at 44174 <at> debbugs.gnu.org (full text, mbox):
From: Carlo Holl <carloholl <at> gmail.com> To: 44174 <at> debbugs.gnu.org Cc: Carlo Holl <carloholl <at> gmail.com> Subject: [PATCH 01/16] gnu: Add ghc-control-monad-free. Date: Fri, 23 Oct 2020 10:05:29 -0700
--- gnu/packages/haskell-xyz.scm | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm index 5b9da15630..ccbe026142 100644 --- a/gnu/packages/haskell-xyz.scm +++ b/gnu/packages/haskell-xyz.scm @@ -2608,6 +2608,37 @@ a vocabulary for working with them.") @code{ghc-contravariant} package.") (license license:expat))) +(define-public ghc-control-monad-free + (package + (name "ghc-control-monad-free") + (version "0.6.2") + (source + (origin + (method url-fetch) + (uri (string-append + "https://hackage.haskell.org/package/control-monad-free/control-monad-free-" + version + ".tar.gz")) + (sha256 + (base32 + "1habgf7byffqf1rqjkzpihvdhclaafgqsqpfpwp3fgpj5ayk1j33")))) + (build-system haskell-build-system) + (home-page + "https://github.com/pepeiborra/control-monad-free") + (synopsis "Free monads and monad transformers") + (description "This package provides datatypes to construct Free monads, +Free monad transformers, and useful instances. In addition it provides the +constructs to avoid quadratic complexity of left associative bind, as explained in: + +@itemize @bullet +@item +Janis Voigtlander, @cite{Asymptotic Improvement of Computations over +Free Monads, MPC'08} +@end itemize + +") + (license license:public-domain))) + (define-public ghc-convertible (package (name "ghc-convertible") -- 2.28.0
guix-patches <at> gnu.org
:bug#44174
; Package guix-patches
.
(Fri, 23 Oct 2020 17:26:02 GMT) Full text and rfc822 format available.Message #11 received at 44174 <at> debbugs.gnu.org (full text, mbox):
From: Carlo Holl <carloholl <at> gmail.com> To: 44174 <at> debbugs.gnu.org Cc: Carlo Holl <carloholl <at> gmail.com> Subject: [PATCH 02/16] gnu: Add ghc-csv. Date: Fri, 23 Oct 2020 10:05:30 -0700
--- gnu/packages/haskell-xyz.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm index ccbe026142..952e24cd55 100644 --- a/gnu/packages/haskell-xyz.scm +++ b/gnu/packages/haskell-xyz.scm @@ -2665,6 +2665,32 @@ pure @code{Either} value. This means that you need not remember which specific function performs the conversion you desire.") (license license:bsd-3))) +(define-public ghc-csv + (package + (name "ghc-csv") + (version "0.1.2") + (source + (origin + (method url-fetch) + (uri (string-append + "https://hackage.haskell.org/package/csv/csv-" + version + ".tar.gz")) + (sha256 + (base32 + "00767ai09wm7f0yzmpqck3cpgxncpr9djnmmz5l17ajz69139x4c")))) + (build-system haskell-build-system) + (home-page + "http://hackage.haskell.org/package/csv") + (synopsis "CSV loader and dumper") + (description "CSV loader and dumper + +This library parses and dumps documents that are formatted according +to RFC 4180, @cite{The common Format and MIME Type for Comma-Separated +Values (CSV) Files}. This format is used, among many other things, +as a lingua franca for spreadsheets, and for certain web services.") + (license license:expat))) + (define-public ghc-data-accessor (package (name "ghc-data-accessor") -- 2.28.0
guix-patches <at> gnu.org
:bug#44174
; Package guix-patches
.
(Fri, 23 Oct 2020 17:26:02 GMT) Full text and rfc822 format available.Message #14 received at 44174 <at> debbugs.gnu.org (full text, mbox):
From: Carlo Holl <carloholl <at> gmail.com> To: 44174 <at> debbugs.gnu.org Cc: Carlo Holl <carloholl <at> gmail.com> Subject: [PATCH 03/16] gnu: Add ghc-decimal. Date: Fri, 23 Oct 2020 10:05:31 -0700
--- gnu/packages/haskell-xyz.scm | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm index 952e24cd55..803ee995c0 100644 --- a/gnu/packages/haskell-xyz.scm +++ b/gnu/packages/haskell-xyz.scm @@ -2989,6 +2989,37 @@ to add D-Bus support to Haskell applications, without the awkward interfaces common to foreign bindings.") (license license:asl2.0))) +(define-public ghc-decimal + (package + (name "ghc-decimal") + (version "0.5.1") + (source + (origin + (method url-fetch) + (uri (string-append + "https://hackage.haskell.org/package/Decimal/Decimal-" + version + ".tar.gz")) + (sha256 + (base32 + "0k7kh05mr2f54w1lpgq1nln0h8k6s6h99dyp5jzsb9cfbb3aap2p")))) + (build-system haskell-build-system) + (native-inputs + `(("ghc-hunit" ,ghc-hunit) + ("ghc-quickcheck" ,ghc-quickcheck) + ("ghc-test-framework" ,ghc-test-framework) + ("ghc-test-framework-quickcheck2" + ,ghc-test-framework-quickcheck2) + ("ghc-test-framework-hunit" + ,ghc-test-framework-hunit))) + (home-page + "https://github.com/PaulJohnson/Haskell-Decimal") + (synopsis + "Decimal numbers with variable precision") + (description "A decimal number has an integer mantissa and a negative exponent. +The exponent can be interpreted as the number of decimal places in the value.") + (license license:bsd-3))) + (define-public ghc-deepseq-generics (package (name "ghc-deepseq-generics") -- 2.28.0
guix-patches <at> gnu.org
:bug#44174
; Package guix-patches
.
(Fri, 23 Oct 2020 17:26:03 GMT) Full text and rfc822 format available.Message #17 received at 44174 <at> debbugs.gnu.org (full text, mbox):
From: Carlo Holl <carloholl <at> gmail.com> To: 44174 <at> debbugs.gnu.org Cc: Carlo Holl <carloholl <at> gmail.com> Subject: [PATCH 04/16] gnu: Upgrade ghc-doctest. Date: Fri, 23 Oct 2020 10:05:32 -0700
--- gnu/packages/haskell-xyz.scm | 35 ++++++++++++++++++++--------------- 1 file changed, 20 insertions(+), 15 deletions(-) diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm index 803ee995c0..ad9c49ddeb 100644 --- a/gnu/packages/haskell-xyz.scm +++ b/gnu/packages/haskell-xyz.scm @@ -3416,7 +3416,7 @@ Writer monad), where list append quickly becomes too expensive.") (define-public ghc-doctest (package (name "ghc-doctest") - (version "0.16.2") + (version "0.16.3") (source (origin (method url-fetch) @@ -3426,26 +3426,31 @@ Writer monad), where list append quickly becomes too expensive.") ".tar.gz")) (sha256 (base32 - "0lk4cjfzi5bx2snfzw1zi06li0gvgz3ckfh2kwa98l7nxfdl39ag")))) + "1y1l7aa80qkib1z8lsizgg7fpfdmdwhxvi5m255a42jdkjgn5sfg")))) (build-system haskell-build-system) (arguments `(#:tests? #f)) ; FIXME: missing test framework (inputs - `(("ghc-syb" ,ghc-syb) - ("ghc-paths" ,ghc-paths) - ("ghc-base-compat" ,ghc-base-compat) - ("ghc-code-page" ,ghc-code-page) - ("ghc-hunit" ,ghc-hunit) - ("ghc-hspec" ,ghc-hspec) - ("ghc-quickcheck" ,ghc-quickcheck) - ("ghc-stringbuilder" ,ghc-stringbuilder) - ("ghc-silently" ,ghc-silently) - ("ghc-setenv" ,ghc-setenv))) + `(("ghc-base-compat" ,ghc-base-compat) + ("ghc-code-page" ,ghc-code-page) + ("ghc-paths" ,ghc-paths) + ("ghc-syb" ,ghc-syb))) + (native-inputs + `(("ghc-hunit" ,ghc-hunit) + ("ghc-quickcheck" ,ghc-quickcheck) + ("ghc-hspec" ,ghc-hspec) + ("ghc-hspec-core" ,ghc-hspec-core) + ("ghc-mockery" ,ghc-mockery) + ("ghc-setenv" ,ghc-setenv) + ("ghc-silently" ,ghc-silently) + ("ghc-stringbuilder" ,ghc-stringbuilder))) (home-page "https://github.com/sol/doctest#readme") (synopsis "Test interactive Haskell examples") - (description "The doctest program checks examples in source code comments. -It is modeled after doctest for Python, see -@uref{https://docs.python.org/library/doctest.html, the Doctest website}.") + (description + "The doctest program checks examples in source code comments. It is modeled +after doctest for Python (@url{http://docs.python.org/library/doctest.html}). + +Documentation is at @url{https://github.com/sol/doctest#readme}.") (license license:expat))) (define-public ghc-dotgen -- 2.28.0
guix-patches <at> gnu.org
:bug#44174
; Package guix-patches
.
(Fri, 23 Oct 2020 17:26:03 GMT) Full text and rfc822 format available.Message #20 received at 44174 <at> debbugs.gnu.org (full text, mbox):
From: Carlo Holl <carloholl <at> gmail.com> To: 44174 <at> debbugs.gnu.org Cc: Carlo Holl <carloholl <at> gmail.com> Subject: [PATCH 05/16] gnu: Add ghc-hspec-megaparsec. Date: Fri, 23 Oct 2020 10:05:33 -0700
--- gnu/packages/haskell-xyz.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm index ad9c49ddeb..84f28ee5a5 100644 --- a/gnu/packages/haskell-xyz.scm +++ b/gnu/packages/haskell-xyz.scm @@ -5934,6 +5934,34 @@ are described in a file named @code{package.yaml}. Both @code{cabal2nix} and @code{package.yaml}.") (license license:expat))) +(define-public ghc-hspec-megaparsec + (package + (name "ghc-hspec-megaparsec") + (version "2.0.1") + (source + (origin + (method url-fetch) + (uri (string-append + "https://hackage.haskell.org/package/hspec-megaparsec/hspec-megaparsec-" + version + ".tar.gz")) + (sha256 + (base32 + "0w8nn2rh01lkiwsiyqh3gviklhfmy0245rakj94dmliyljw8skfg")))) + (build-system haskell-build-system) + (inputs + `(("ghc-hspec-expectations" + ,ghc-hspec-expectations) + ("ghc-megaparsec" ,ghc-megaparsec))) + (native-inputs `(("ghc-hspec" ,ghc-hspec))) + (home-page + "https://github.com/mrkkrp/hspec-megaparsec") + (synopsis + "Utility functions for testing Megaparsec parsers with Hspec") + (description + "Utility functions for testing Megaparsec parsers with Hspec.") + (license license:bsd-3))) + (define-public ghc-hs-bibutils (package (name "ghc-hs-bibutils") -- 2.28.0
guix-patches <at> gnu.org
:bug#44174
; Package guix-patches
.
(Fri, 23 Oct 2020 17:26:04 GMT) Full text and rfc822 format available.Message #23 received at 44174 <at> debbugs.gnu.org (full text, mbox):
From: Carlo Holl <carloholl <at> gmail.com> To: 44174 <at> debbugs.gnu.org Cc: Carlo Holl <carloholl <at> gmail.com> Subject: [PATCH 06/16] gnu: Add ghc-lucid. Date: Fri, 23 Oct 2020 10:05:34 -0700
--- gnu/packages/haskell-xyz.scm | 48 ++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm index 84f28ee5a5..f090f62b86 100644 --- a/gnu/packages/haskell-xyz.scm +++ b/gnu/packages/haskell-xyz.scm @@ -7290,6 +7290,54 @@ Transformers\" available @uref{http://okmij.org/ftp/papers/LogicT.pdf, online}.") (license license:bsd-3))) +(define-public ghc-lucid + (package + (name "ghc-lucid") + (version "2.9.12") + (source + (origin + (method url-fetch) + (uri (string-append + "https://hackage.haskell.org/package/lucid/lucid-" + version + ".tar.gz")) + (sha256 + (base32 + "156wniydd1hlb7rygbm95zln8ky8lai8rn2apkkv0rax9cdw6jrh")))) + (build-system haskell-build-system) + (inputs + `(("ghc-blaze-builder" ,ghc-blaze-builder) + ("ghc-hashable" ,ghc-hashable) + ("ghc-mmorph" ,ghc-mmorph) + ("ghc-unordered-containers" + ,ghc-unordered-containers))) + (native-inputs + `(("ghc-hunit" ,ghc-hunit) + ("ghc-hspec" ,ghc-hspec) + ("ghc-bifunctors" ,ghc-bifunctors))) + (arguments + `(#:cabal-revision + ("1" + "1f0whk5ncanxfjjanrf6rqyncig2xgc5mh2j0sqy3nrlyjr9aqq9"))) + (home-page "https://github.com/chrisdone/lucid") + (synopsis + "Clear to write, read and edit DSL for HTML") + (description "Clear to write, read and edit DSL for HTML. + +@itemize @bullet +@item +Names are consistent, and do not conflict with base or are keywords +(all have suffix @code{-}). +@item +Same combinator can be used for attributes and elements +(e.g. @code{style_}). +@item +For more, read <https://chrisdone.com/posts/lucid the blog post>. +@end itemize + +See the \"Lucid\" module for more documentation.") + (license license:bsd-3))) + (define-public ghc-lzma (package (name "ghc-lzma") -- 2.28.0
guix-patches <at> gnu.org
:bug#44174
; Package guix-patches
.
(Fri, 23 Oct 2020 17:26:04 GMT) Full text and rfc822 format available.Message #26 received at 44174 <at> debbugs.gnu.org (full text, mbox):
From: Carlo Holl <carloholl <at> gmail.com> To: 44174 <at> debbugs.gnu.org Cc: Carlo Holl <carloholl <at> gmail.com> Subject: [PATCH 07/16] gnu: Add ghc-only. Date: Fri, 23 Oct 2020 10:05:35 -0700
--- gnu/packages/haskell-xyz.scm | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm index f090f62b86..e831c12160 100644 --- a/gnu/packages/haskell-xyz.scm +++ b/gnu/packages/haskell-xyz.scm @@ -8610,6 +8610,39 @@ old @code{time} library. For new projects, the newer @uref{https://hackage.haskell.org/package/time, time library} is recommended.") (license license:bsd-3))) +(define-public ghc-only + (package + (name "ghc-only") + (version "0.1") + (source + (origin + (method url-fetch) + (uri (string-append + "https://hackage.haskell.org/package/Only/Only-" + version + ".tar.gz")) + (sha256 + (base32 + "0rdj3a629fk2vp121jq8mf2smkblrz5w3cxhlsyx6my2x29s2ymb")))) + (build-system haskell-build-system) + (arguments + `(#:cabal-revision + ("1" + "1ahk7p34kmh041mz7lyc10nhcxgv2i4z8nvzxvqm2x34gslmsbzr"))) + (home-page + "https://hackage.haskell.org/package/Only") + (synopsis + "The 1-tuple type or single-value \"collection\"") + (description "This package provides a canonical anonymous 1-tuple +type missing from Haskell for attaching typeclass instances. + +NOTE: There is also the @url{https://hackage.haskell.org/package/OneTuple, +OneTuple package} which by using a boxed @code{data}-type provides a 1-tuple +type which has laziness properties which are more faithful to the ones of +Haskell's native tuples; whereas the primary purpose of @code{Only} is to provide +the traditionally so named type-wrapper for attaching typeclass instances.") + (license license:bsd-3))) + (define-public ghc-opengl (package (name "ghc-opengl") -- 2.28.0
guix-patches <at> gnu.org
:bug#44174
; Package guix-patches
.
(Fri, 23 Oct 2020 17:26:04 GMT) Full text and rfc822 format available.Message #29 received at 44174 <at> debbugs.gnu.org (full text, mbox):
From: Carlo Holl <carloholl <at> gmail.com> To: 44174 <at> debbugs.gnu.org Cc: Carlo Holl <carloholl <at> gmail.com> Subject: [PATCH 08/16] gnu: Add ghc-text-short. Date: Fri, 23 Oct 2020 10:05:36 -0700
--- gnu/packages/haskell-xyz.scm | 41 ++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm index e831c12160..c4a8d4c208 100644 --- a/gnu/packages/haskell-xyz.scm +++ b/gnu/packages/haskell-xyz.scm @@ -8924,6 +8924,47 @@ require aeson (description "Safe conversions between textual types") (license license:isc))) +(define-public ghc-text-short + (package + (name "ghc-text-short") + (version "0.1.3") + (source + (origin + (method url-fetch) + (uri (string-append + "https://hackage.haskell.org/package/text-short/text-short-" + version + ".tar.gz")) + (sha256 + (base32 + "0xyrxlb602z8bc9sr2y1fag0x56a20yj5qrkvy7iwc6hnznrynxz")))) + (build-system haskell-build-system) + (inputs `(("ghc-hashable" ,ghc-hashable))) + (native-inputs + `(("ghc-tasty" ,ghc-tasty) + ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck) + ("ghc-tasty-hunit" ,ghc-tasty-hunit) + ("ghc-quickcheck-instances" + ,ghc-quickcheck-instances))) + (arguments + `(#:cabal-revision + ("2" + "17cb7p0qywf2dsrq3g8qb3ssknd9wl5k0nc2pxz9gc3l8rxpkw51"))) + (home-page + "https://hackage.haskell.org/package/text-short") + (synopsis + "Memory-efficient representation of Unicode text strings") + (description "This package provides the @code{ShortText} type which +is suitable for keeping many short strings in memory. This is similiar +to how @code{ShortByteString} relates to @code{ByteString}. + +The main difference between @code{Text} and @code{ShortText} is that +@code{ShortText} uses UTF-8 instead of UTF-16 internally and also doesn't +support zero-copy slicing (thereby saving 2 words). Consequently, the memory +footprint of a (boxed) @{ShortText} value is 4 words (2 words when unboxed) +plus the length of the UTF-8 encoded payload.") + (license license:bsd-3))) + (define-public ghc-doclayout (package (name "ghc-doclayout") -- 2.28.0
guix-patches <at> gnu.org
:bug#44174
; Package guix-patches
.
(Fri, 23 Oct 2020 17:26:05 GMT) Full text and rfc822 format available.Message #32 received at 44174 <at> debbugs.gnu.org (full text, mbox):
From: Carlo Holl <carloholl <at> gmail.com> To: 44174 <at> debbugs.gnu.org Cc: Carlo Holl <carloholl <at> gmail.com> Subject: [PATCH 09/16] gnu: Add ghc-tabular. Date: Fri, 23 Oct 2020 10:05:37 -0700
--- gnu/packages/haskell-xyz.scm | 40 ++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm index c4a8d4c208..0cce72e9f5 100644 --- a/gnu/packages/haskell-xyz.scm +++ b/gnu/packages/haskell-xyz.scm @@ -12813,6 +12813,46 @@ Unlike the filepath package, this package does not simply reuse String, increasing type safety.") (license license:expat))) +(define-public ghc-tabular + (package + (name "ghc-tabular") + (version "0.2.2.8") + (source + (origin + (method url-fetch) + (uri (string-append + "https://hackage.haskell.org/package/tabular/tabular-" + version + ".tar.gz")) + (sha256 + (base32 + "0z936gh8n8i8qdkagyxwd9gqq13skd5fv013vdvwsibrxkm0czfb")))) + (build-system haskell-build-system) + (inputs + `(("ghc-csv" ,ghc-csv) ("ghc-html" ,ghc-html))) + (home-page "https://github.com/bgamari/tabular") + (synopsis + "Two-dimensional data tables with rendering functions") + (description "Tabular provides a Haskell representation of +two-dimensional data tables, the kind that you might find in a +spreadsheet or or a research report. It also comes with some +default rendering functions for turning those tables into ASCII +art, simple text with an arbitrary delimiter, CSV, HTML or LaTeX. + +Below is an example of the kind of output this library produces. +The tabular package can group rows and columns, each group having +one of three separators (no line, single line, double line) between +its members. + + || memtest 1 | memtest 2 || time test | time test 2 +====++===========+===========++=============+============ +A 1 || hog | terrible || slow | slower +A 2 || pig | not bad || fast | slowest +----++-----------+-----------++-------------+------------ +B 1 || good | awful || intolerable | bearable +B 2 || better | no chance || crawling | amazing +B 3 || meh | well... || worst ever | ok") + (license license:bsd-3))) (define-public ghc-tagged (package -- 2.28.0
guix-patches <at> gnu.org
:bug#44174
; Package guix-patches
.
(Fri, 23 Oct 2020 17:26:05 GMT) Full text and rfc822 format available.Message #35 received at 44174 <at> debbugs.gnu.org (full text, mbox):
From: Carlo Holl <carloholl <at> gmail.com> To: 44174 <at> debbugs.gnu.org Cc: Carlo Holl <carloholl <at> gmail.com> Subject: [PATCH 10/16] gnu: Add ghc-uglymemo. Date: Fri, 23 Oct 2020 10:05:38 -0700
--- gnu/packages/haskell-xyz.scm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm index 0cce72e9f5..269ba898b3 100644 --- a/gnu/packages/haskell-xyz.scm +++ b/gnu/packages/haskell-xyz.scm @@ -13875,6 +13875,35 @@ processes. It wraps around the @code{process} library, and intends to improve upon it.") (license license:expat))) +(define-public ghc-uglymemo + (package + (name "ghc-uglymemo") + (version "0.1.0.1") + (source + (origin + (method url-fetch) + (uri (string-append + "https://hackage.haskell.org/package/uglymemo/uglymemo-" + version + ".tar.gz")) + (sha256 + (base32 + "0ixqg5d0ly1r18jbgaa89i6kjzgi6c5hanw1b1y8c5fbq14yz2gy")))) + (build-system haskell-build-system) + (home-page + "https://hackage.haskell.org/package/uglymemo") + (synopsis + "Simple (but internally ugly) memoization function") + (description "Simple (but internally ugly) memoization function. + +@itemize @bullet +@item +New in 0.1.0.1: Make it exception safe. +@end itemize + +") + (license license:public-domain))) + (define-public ghc-unagi-chan (package (name "ghc-unagi-chan") -- 2.28.0
guix-patches <at> gnu.org
:bug#44174
; Package guix-patches
.
(Fri, 23 Oct 2020 17:26:06 GMT) Full text and rfc822 format available.Message #38 received at 44174 <at> debbugs.gnu.org (full text, mbox):
From: Carlo Holl <carloholl <at> gmail.com> To: 44174 <at> debbugs.gnu.org Cc: Carlo Holl <carloholl <at> gmail.com> Subject: [PATCH 11/16] gnu: Add ghc-wizards. Date: Fri, 23 Oct 2020 10:05:39 -0700
--- gnu/packages/haskell-xyz.scm | 50 ++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm index 269ba898b3..bfbe601ed7 100644 --- a/gnu/packages/haskell-xyz.scm +++ b/gnu/packages/haskell-xyz.scm @@ -14780,6 +14780,56 @@ widths to the Char type.") Haskell value or function.") (license license:bsd-3))) +(define-public ghc-wizards + (package + (name "ghc-wizards") + (version "1.0.3") + (source + (origin + (method url-fetch) + (uri (string-append + "https://hackage.haskell.org/package/wizards/wizards-" + version + ".tar.gz")) + (sha256 + (base32 + "1clvbd1ckhvy29qrbmpkn7bya7300fq6znnps23nn3nxyrxhsr85")))) + (build-system haskell-build-system) + (inputs + `(("ghc-control-monad-free" + ,ghc-control-monad-free))) + (arguments + `(#:cabal-revision + ("1" + "095qd17zrdhqmcvmslbyzfa5sh9glvvsnsvnlz31gzsmi8nnsgim"))) + (home-page + "http://hackage.haskell.org/package/wizards") + (synopsis + "High level, generic library for interrogative user interfaces") + (description "@code{wizards} is a package designed for the quick +and painless development of @emph{interrogative} programs, which revolve around +a \"dialogue\" with the user, who is asked a series of questions in a +sequence much like an installation wizard. + +Everything from interactive system scripts, to installation wizards, to full-blown +shells can be implemented with the support of @code{wizards}. + +It is developed transparently on top of a free monad, which separates out the +semantics of the program from any particular interface. A variety of backends +exist, including console-based @code{System.Console.Wizard.Haskeline} and +@code{System.Console.Wizard.BasicIO}, and the pure @code{System.Console.Wizard.Pure}. +It is also possible to write your own backends, or extend existing back-ends with +new features. While both built-in IO backends operate on a console, there is no +reason why @code{wizards} cannot also be used for making GUI wizard interfaces. + +See the github page for examples on usage: + +@url{http://www.github.com/liamoc/wizards} + +For creating backends, the module @code{System.Console.Wizard.Internal} has a brief +tutorial.") + (license license:bsd-3))) + (define-public ghc-wl-pprint (package (name "ghc-wl-pprint") -- 2.28.0
guix-patches <at> gnu.org
:bug#44174
; Package guix-patches
.
(Fri, 23 Oct 2020 17:26:06 GMT) Full text and rfc822 format available.Message #41 received at 44174 <at> debbugs.gnu.org (full text, mbox):
From: Carlo Holl <carloholl <at> gmail.com> To: 44174 <at> debbugs.gnu.org Cc: Carlo Holl <carloholl <at> gmail.com> Subject: [PATCH 12/16] gnu: Add ghc-cassava. Date: Fri, 23 Oct 2020 10:05:40 -0700
--- gnu/packages/haskell-xyz.scm | 89 ++++++++++++++++++++++++++++++++++++ 1 file changed, 89 insertions(+) diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm index bfbe601ed7..8060c2f034 100644 --- a/gnu/packages/haskell-xyz.scm +++ b/gnu/packages/haskell-xyz.scm @@ -1551,6 +1551,95 @@ constructor which can be parameterised by a string-like type like: the resulting type will be insensitive to cases.") (license license:bsd-3))) +(define-public ghc-cassava + (package + (name "ghc-cassava") + (version "0.5.2.0") + (source + (origin + (method url-fetch) + (uri (string-append + "https://hackage.haskell.org/package/cassava/cassava-" + version + ".tar.gz")) + (sha256 + (base32 + "01h1zrdqb313cjd4rqm1107azzx4czqi018c2djf66a5i7ajl3dk")))) + (build-system haskell-build-system) + (inputs + `(("ghc-attoparsec" ,ghc-attoparsec) + ("ghc-hashable" ,ghc-hashable) + ("ghc-scientific" ,ghc-scientific) + ("ghc-unordered-containers" + ,ghc-unordered-containers) + ("ghc-vector" ,ghc-vector) + ("ghc-only" ,ghc-only) + ("ghc-text-short" ,ghc-text-short) + ("ghc-bytestring-builder" + ,ghc-bytestring-builder))) + (native-inputs + `(("ghc-hunit" ,ghc-hunit) + ("ghc-quickcheck" ,ghc-quickcheck) + ("ghc-quickcheck-instances" + ,ghc-quickcheck-instances) + ("ghc-test-framework" ,ghc-test-framework) + ("ghc-test-framework-hunit" + ,ghc-test-framework-hunit) + ("ghc-test-framework-quickcheck2" + ,ghc-test-framework-quickcheck2))) + (arguments + `(#:cabal-revision + ("1" + "1ph8rf91z4nf1ryrh9s4gd1kq98jlgk2manwddkpch8k0n9xvfk4") + #:configure-flags '("--flags=-bytestring--lt-0_10_4"))) + (home-page "https://github.com/haskell-hvr/cassava") + (synopsis "CSV parsing and encoding library") + (description "@code{cassava} is a library for parsing and encoding +@url{https://tools.ietf.org/html/rfc4180, RFC 4180} compliant @url{https:// +en.wikipedia.org/wiki/Comma-separated_values, comma-separated values (CSV)} +data, which is a textual line-oriented format commonly used for exchanging +tabular data. + +@code{cassava}'s API includes support for + +@itemize @bullet + +@item +Index-based record-conversion +@item +Name-based record-conversion +@item +Typeclass directed conversion of fields and records +@item +Built-in field-conversion instances for standard types +@item +Customizable record-conversion instance derivation via GHC generics +@item +Low-level @url{https://hackage.haskell.org/package/bytestring), bytestring} +builders (see @url{https://hackage.haskell.org/package/cassava-0.5.2.0/docs/ +Data-Csv-Builder.html, Data.Csv.Builder}) +@item +Incremental decoding and encoding API (see @url{https://hackage.haskell.org/ +package/cassava-0.5.2.0/docs/Data-Csv-Incremental.html, Data.Csv.Incremental}) +@item +Streaming API for constant-space decoding (see @url{https://hackage.haskell.org/ +package/cassava-0.5.2.0/docs/Data-Csv-Streaming.html, Data.Csv.Streaming}) +@end itemize + +Moreover, this library is designed to be easy to use; for instance, here's a +very simple example of encoding CSV data: + +@verbatim +>>> Data.Csv.encode [(\"John\",27),(\"Jane\",28)] +\"John,27\r\nJane,28\r\n\" +@end verbatim + +Please refer to the documentation in @url{https://hackage.haskell.org/package/ +cassava-0.5.2.0/docs/Data-Csv.html, Data.Csv} and the included @url{https:// +hackage.haskell.org/package/cassava-0.5.2.0/#readme, README} for more usage +examples.") + (license license:bsd-3))) + (define-public ghc-cborg (package (name "ghc-cborg") -- 2.28.0
guix-patches <at> gnu.org
:bug#44174
; Package guix-patches
.
(Fri, 23 Oct 2020 17:26:07 GMT) Full text and rfc822 format available.Message #44 received at 44174 <at> debbugs.gnu.org (full text, mbox):
From: Carlo Holl <carloholl <at> gmail.com> To: 44174 <at> debbugs.gnu.org Cc: Carlo Holl <carloholl <at> gmail.com> Subject: [PATCH 13/16] gnu: Add ghc-cassava-megaparsec. Date: Fri, 23 Oct 2020 10:05:41 -0700
--- gnu/packages/haskell-xyz.scm | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm index 8060c2f034..46ed95d607 100644 --- a/gnu/packages/haskell-xyz.scm +++ b/gnu/packages/haskell-xyz.scm @@ -1640,6 +1640,39 @@ hackage.haskell.org/package/cassava-0.5.2.0/#readme, README} for more usage examples.") (license license:bsd-3))) +(define-public ghc-cassava-megaparsec + (package + (name "ghc-cassava-megaparsec") + (version "2.0.2") + (source + (origin + (method url-fetch) + (uri (string-append + "https://hackage.haskell.org/package/cassava-megaparsec/" + "cassava-megaparsec-" + version + ".tar.gz")) + (sha256 + (base32 + "03x1462agrfdagklp8c89b8p4z2hd8nbf6d3895sz770zjkawda7")))) + (build-system haskell-build-system) + (inputs + `(("ghc-cassava" ,ghc-cassava) + ("ghc-megaparsec" ,ghc-megaparsec) + ("ghc-unordered-containers" + ,ghc-unordered-containers) + ("ghc-vector" ,ghc-vector))) + (native-inputs + `(("ghc-hspec" ,ghc-hspec) + ("ghc-hspec-megaparsec" ,ghc-hspec-megaparsec))) + (home-page + "https://github.com/stackbuilders/cassava-megaparsec") + (synopsis + "Megaparsec parser of CSV files that plays nicely with Cassava") + (description + "Megaparsec parser of CSV files that plays nicely with Cassava.") + (license license:expat))) + (define-public ghc-cborg (package (name "ghc-cborg") -- 2.28.0
guix-patches <at> gnu.org
:bug#44174
; Package guix-patches
.
(Fri, 23 Oct 2020 17:26:07 GMT) Full text and rfc822 format available.Message #47 received at 44174 <at> debbugs.gnu.org (full text, mbox):
From: Carlo Holl <carloholl <at> gmail.com> To: 44174 <at> debbugs.gnu.org Cc: Carlo Holl <carloholl <at> gmail.com> Subject: [PATCH 14/16] gnu: Add ghc-hledger-lib. Date: Fri, 23 Oct 2020 10:05:42 -0700
--- gnu/packages/haskell-xyz.scm | 64 ++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm index 46ed95d607..eaba188e97 100644 --- a/gnu/packages/haskell-xyz.scm +++ b/gnu/packages/haskell-xyz.scm @@ -5853,6 +5853,70 @@ feature, allowing applications to subscribe to notifications when a file is accessed or modified.") (license license:bsd-3))) +(define-public ghc-hledger-lib + (package + (name "ghc-hledger-lib") + (version "1.19.1") + (source + (origin + (method url-fetch) + (uri (string-append + "https://hackage.haskell.org/package/hledger-lib/hledger-lib-" + version + ".tar.gz")) + (sha256 + (base32 + "0py11011r358nmnvwwkc8mlx6mpy36jm8sqlr4i8ihx3x0zjdgya")))) + (build-system haskell-build-system) + (inputs + `(("ghc-decimal" ,ghc-decimal) + ("ghc-glob" ,ghc-glob) + ("ghc-aeson" ,ghc-aeson) + ("ghc-aeson-pretty" ,ghc-aeson-pretty) + ("ghc-ansi-terminal" ,ghc-ansi-terminal) + ("ghc-base-compat-batteries" + ,ghc-base-compat-batteries) + ("ghc-blaze-markup" ,ghc-blaze-markup) + ("ghc-call-stack" ,ghc-call-stack) + ("ghc-cassava" ,ghc-cassava) + ("ghc-cassava-megaparsec" + ,ghc-cassava-megaparsec) + ("ghc-cmdargs" ,ghc-cmdargs) + ("ghc-data-default" ,ghc-data-default) + ("ghc-extra" ,ghc-extra) + ("ghc-fgl" ,ghc-fgl) + ("ghc-file-embed" ,ghc-file-embed) + ("ghc-hashtables" ,ghc-hashtables) + ("ghc-megaparsec" ,ghc-megaparsec) + ("ghc-old-time" ,ghc-old-time) + ("ghc-parser-combinators" + ,ghc-parser-combinators) + ("ghc-pretty-show" ,ghc-pretty-show) + ("ghc-regex-tdfa" ,ghc-regex-tdfa) + ("ghc-safe" ,ghc-safe) + ("ghc-split" ,ghc-split) + ("ghc-tabular" ,ghc-tabular) + ("ghc-tasty" ,ghc-tasty) + ("ghc-tasty-hunit" ,ghc-tasty-hunit) + ("ghc-timeit" ,ghc-timeit) + ("ghc-uglymemo" ,ghc-uglymemo) + ("ghc-unordered-containers" + ,ghc-unordered-containers) + ("ghc-utf8-string" ,ghc-utf8-string))) + (native-inputs `(("ghc-doctest" ,ghc-doctest))) + (home-page "https://hledger.org") + (synopsis "Reusable library providing the core functionality of hledger") + (description "A reusable library containing hledger's core functionality. +This is used by most hledger* packages so that they support the same common +file formats, command line options, reports etc. + +hledger is a robust, cross-platform set of tools for tracking money, time, +or any other commodity, using double-entry accounting and a simple, editable +file format, with command-line, terminal and web interfaces. It is a Haskell +rewrite of Ledger, and one of the leading implementations of Plain Text Accounting. +Read more at: @url{https://hledger.org}") + (license license:gpl3))) + (define-public ghc-hmatrix (package (name "ghc-hmatrix") -- 2.28.0
guix-patches <at> gnu.org
:bug#44174
; Package guix-patches
.
(Fri, 23 Oct 2020 17:26:07 GMT) Full text and rfc822 format available.Message #50 received at 44174 <at> debbugs.gnu.org (full text, mbox):
From: Carlo Holl <carloholl <at> gmail.com> To: 44174 <at> debbugs.gnu.org Cc: Carlo Holl <carloholl <at> gmail.com> Subject: [PATCH 15/16] gnu: Add hledger. Date: Fri, 23 Oct 2020 10:05:43 -0700
--- gnu/packages/finance.scm | 63 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm index 4397cf8ba8..15a86b8688 100644 --- a/gnu/packages/finance.scm +++ b/gnu/packages/finance.scm @@ -45,6 +45,7 @@ #:use-module (guix build-system cmake) #:use-module (guix build-system copy) #:use-module (guix build-system emacs) + #:use-module (guix build-system haskell) #:use-module (guix build-system python) #:use-module (guix build-system glib-or-gtk) #:use-module (guix build-system go) @@ -72,6 +73,9 @@ #:use-module (gnu packages graphviz) #:use-module (gnu packages groff) #:use-module (gnu packages gtk) + #:use-module (gnu packages haskell-check) + #:use-module (gnu packages haskell-web) + #:use-module (gnu packages haskell-xyz) #:use-module (gnu packages jemalloc) #:use-module (gnu packages libedit) #:use-module (gnu packages libevent) @@ -170,6 +174,65 @@ of the bitcoin protocol. This package provides the Bitcoin Core command line client and a client based on Qt.") (license license:expat))) +(define-public hledger + (package + (name "hledger") + (version "1.19.1") + (source + (origin + (method url-fetch) + (uri (string-append + "https://hackage.haskell.org/package/hledger/hledger-" + version + ".tar.gz")) + (sha256 + (base32 + "0wfsyf2q1kf90mj3lxs0m5ghj153axmpkc8xfy12vkz5imnyphfm")))) + (build-system haskell-build-system) + (inputs + `(("ghc-decimal" ,ghc-decimal) + ("ghc-diff" ,ghc-diff) + ("ghc-aeson" ,ghc-aeson) + ("ghc-ansi-terminal" ,ghc-ansi-terminal) + ("ghc-base-compat-batteries" + ,ghc-base-compat-batteries) + ("ghc-cmdargs" ,ghc-cmdargs) + ("ghc-data-default" ,ghc-data-default) + ("ghc-extra" ,ghc-extra) + ("ghc-hashable" ,ghc-hashable) + ("ghc-hledger-lib" ,ghc-hledger-lib) + ("ghc-lucid" ,ghc-lucid) + ("ghc-math-functions" ,ghc-math-functions) + ("ghc-megaparsec" ,ghc-megaparsec) + ("ghc-old-time" ,ghc-old-time) + ("ghc-pretty-show" ,ghc-pretty-show) + ("ghc-regex-tdfa" ,ghc-regex-tdfa) + ("ghc-safe" ,ghc-safe) + ("ghc-shakespeare" ,ghc-shakespeare) + ("ghc-split" ,ghc-split) + ("ghc-tabular" ,ghc-tabular) + ("ghc-tasty" ,ghc-tasty) + ("ghc-temporary" ,ghc-temporary) + ("ghc-timeit" ,ghc-timeit) + ("ghc-unordered-containers" + ,ghc-unordered-containers) + ("ghc-utf8-string" ,ghc-utf8-string) + ("ghc-utility-ht" ,ghc-utility-ht) + ("ghc-wizards" ,ghc-wizards))) + (home-page "https://hledger.org") + (synopsis + "Command-line interface for the hledger accounting system") + (description "The command-line interface for the hledger accounting +system. Its basic function is to read a plain text file describing financial +transactions and produce useful reports. + +hledger is a robust, cross-platform set of tools for tracking money, time, +or any other commodity, using double-entry accounting and a simple, editable +file format, with command-line, terminal and web interfaces. It is a Haskell +rewrite of Ledger, and one of the leading implementations of Plain Text Accounting. +Read more at: @url{https://hledger.org}") + (license license:gpl3))) + (define-public homebank (package (name "homebank") -- 2.28.0
guix-patches <at> gnu.org
:bug#44174
; Package guix-patches
.
(Fri, 23 Oct 2020 17:26:08 GMT) Full text and rfc822 format available.Message #53 received at 44174 <at> debbugs.gnu.org (full text, mbox):
From: Carlo Holl <carloholl <at> gmail.com> To: 44174 <at> debbugs.gnu.org Cc: Carlo Holl <carloholl <at> gmail.com> Subject: [PATCH 16/16] Add attribution. Date: Fri, 23 Oct 2020 10:05:44 -0700
--- gnu/packages/finance.scm | 1 + gnu/packages/haskell-xyz.scm | 1 + 2 files changed, 2 insertions(+) diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm index 15a86b8688..fe033e9494 100644 --- a/gnu/packages/finance.scm +++ b/gnu/packages/finance.scm @@ -20,6 +20,7 @@ ;;; Copyright © 2020 Tom Zander <tomz <at> freedommail.ch> ;;; Copyright © 2020 Marius Bakke <mbakke <at> fastmail.com> ;;; Copyright © 2020 Vinicius Monego <monego <at> posteo.net> +;;; Copyright © 2020 Carlo Holl <carloholl <at> gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm index eaba188e97..53770ec01d 100644 --- a/gnu/packages/haskell-xyz.scm +++ b/gnu/packages/haskell-xyz.scm @@ -26,6 +26,7 @@ ;;; Copyright © 2020 JoJo <jo <at> jo.zone> ;;; Copyright © 2020 Nicolas Goaziou <mail <at> nicolasgoaziou.fr> ;;; Copyright © 2020 Alexandru-Sergiu Marton <brown121407 <at> member.fsf.org> +;;; Copyright © 2020 Carlo Holl <carloholl <at> gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; -- 2.28.0
guix-patches <at> gnu.org
:bug#44174
; Package guix-patches
.
(Sat, 24 Oct 2020 21:27:01 GMT) Full text and rfc822 format available.Message #56 received at 44174 <at> debbugs.gnu.org (full text, mbox):
From: Christopher Baines <mail <at> cbaines.net> To: Carlo Holl <carloholl <at> gmail.com> Cc: 44174 <at> debbugs.gnu.org Subject: Re: [bug#44174] [PATCH 00/16] Add hledger and its dependencies. Date: Sat, 24 Oct 2020 22:26:43 +0100
[Message part 1 (text/plain, inline)]
Carlo Holl <carloholl <at> gmail.com> writes: > Guix, > > This patch series adds hledger, a plaintext accounting > program. hledger started as a Haskell reimplementation of Ledger > CLI. I use hledger regularly to manage personal finances and those of > several businesses, and would not be suprised to find other hledger > users in the Guix community. > > More information is available at https://hledger.org. Hi Carlo, thanks for the patches! > A couple of notes: > > 1. The hledger package is placed in (gnu packages finance), and > its dependencies in (gnu packages haskell-xyz). That sounds good :) > 2. The hledger package is *not* prefixed with 'ghc', but its > dependencies are. Also fine. > 3. The package ghc-doctest was bumped (minor version), affecting several dependent packages. > I was able to build most of these affected packages (querying guix refresh --list-dependents), > but it was taking forever so I cut that effort short. I consider this a rough heuristic to determine > that there are no substantial changes associated with this > version bump. Sounds good. > 4. I'm not terribly familiar with the Texinfo format, so there are > likely some rough edges there. Looks like you've done pretty well from what I've seen :) > 5. I am able to build hledger and its dependencies without error, but was unsuccessful building > on different architectures with qemu. I wasn't even able to build GHC under qemu so I didn't bother > digging any further. No problem, if it builds on x86_64-linux, that's good enough at least initially. > This is my first contribution to Guix, and I'm also not a Haskell > expert, so expect some headaches. I am happy to attend to any issues > as best I am able. Great, I'll make some more comments on the individual patches, a few general comments though: - The commits should include changelog entries. For new packages, these are pretty easy to write, it's just: * gnu/packages/FILE.scm (PACKAGE): New variable. - The indentation looks off in places, there's some stuff here about indentation [1]. What editor are you using? 1: https://guix.gnu.org/manual/en/html_node/Formatting-Code.html Let me know if you have any questions, and it would be great if you could send an updated set of patches. Thanks, Chris
[signature.asc (application/pgp-signature, inline)]
guix-patches <at> gnu.org
:bug#44174
; Package guix-patches
.
(Sat, 24 Oct 2020 21:28:01 GMT) Full text and rfc822 format available.Message #59 received at 44174 <at> debbugs.gnu.org (full text, mbox):
From: Christopher Baines <mail <at> cbaines.net> To: Carlo Holl <carloholl <at> gmail.com> Cc: 44174 <at> debbugs.gnu.org Subject: Re: [bug#44174] [PATCH 02/16] gnu: Add ghc-csv. Date: Sat, 24 Oct 2020 22:27:45 +0100
[Message part 1 (text/plain, inline)]
Carlo Holl <carloholl <at> gmail.com> writes: > --- > gnu/packages/haskell-xyz.scm | 26 ++++++++++++++++++++++++++ > 1 file changed, 26 insertions(+) > > diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm > index ccbe026142..952e24cd55 100644 > --- a/gnu/packages/haskell-xyz.scm > +++ b/gnu/packages/haskell-xyz.scm > @@ -2665,6 +2665,32 @@ pure @code{Either} value. This means that you need not remember which specific > function performs the conversion you desire.") > (license license:bsd-3))) > > +(define-public ghc-csv > + (package > + (name "ghc-csv") > + (version "0.1.2") > + (source > + (origin > + (method url-fetch) > + (uri (string-append > + "https://hackage.haskell.org/package/csv/csv-" > + version > + ".tar.gz")) > + (sha256 > + (base32 > + "00767ai09wm7f0yzmpqck3cpgxncpr9djnmmz5l17ajz69139x4c")))) > + (build-system haskell-build-system) > + (home-page > + "http://hackage.haskell.org/package/csv") > + (synopsis "CSV loader and dumper") > + (description "CSV loader and dumper This above bit of the description repeats the synopsis, so it should be removed. > +This library parses and dumps documents that are formatted according > +to RFC 4180, @cite{The common Format and MIME Type for Comma-Separated > +Values (CSV) Files}. This format is used, among many other things, > +as a lingua franca for spreadsheets, and for certain web services.") > + (license license:expat))) > + > (define-public ghc-data-accessor > (package > (name "ghc-data-accessor")
[signature.asc (application/pgp-signature, inline)]
guix-patches <at> gnu.org
:bug#44174
; Package guix-patches
.
(Sat, 24 Oct 2020 21:30:02 GMT) Full text and rfc822 format available.Message #62 received at 44174 <at> debbugs.gnu.org (full text, mbox):
From: Christopher Baines <mail <at> cbaines.net> To: Carlo Holl <carloholl <at> gmail.com> Cc: 44174 <at> debbugs.gnu.org Subject: Re: [bug#44174] [PATCH 04/16] gnu: Upgrade ghc-doctest. Date: Sat, 24 Oct 2020 22:29:28 +0100
[Message part 1 (text/plain, inline)]
Carlo Holl <carloholl <at> gmail.com> writes: > --- > gnu/packages/haskell-xyz.scm | 35 ++++++++++++++++++++--------------- > 1 file changed, 20 insertions(+), 15 deletions(-) For the commit message for this package, I'd write: gnu: ghc-doctest: Update to 0.16.3. * gnu/packages/haskell-xyz.scm (ghc-doctest): Update to 0.16.3. [inputs,native-inputs]: Replace with what is generated by guix import. > diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm > index 803ee995c0..ad9c49ddeb 100644 > --- a/gnu/packages/haskell-xyz.scm > +++ b/gnu/packages/haskell-xyz.scm > @@ -3416,7 +3416,7 @@ Writer monad), where list append quickly becomes too expensive.") > (define-public ghc-doctest > (package > (name "ghc-doctest") > - (version "0.16.2") > + (version "0.16.3") > (source > (origin > (method url-fetch) > @@ -3426,26 +3426,31 @@ Writer monad), where list append quickly becomes too expensive.") > ".tar.gz")) > (sha256 > (base32 > - "0lk4cjfzi5bx2snfzw1zi06li0gvgz3ckfh2kwa98l7nxfdl39ag")))) > + "1y1l7aa80qkib1z8lsizgg7fpfdmdwhxvi5m255a42jdkjgn5sfg")))) > (build-system haskell-build-system) > (arguments `(#:tests? #f)) ; FIXME: missing test framework > (inputs > - `(("ghc-syb" ,ghc-syb) > - ("ghc-paths" ,ghc-paths) > - ("ghc-base-compat" ,ghc-base-compat) > - ("ghc-code-page" ,ghc-code-page) > - ("ghc-hunit" ,ghc-hunit) > - ("ghc-hspec" ,ghc-hspec) > - ("ghc-quickcheck" ,ghc-quickcheck) > - ("ghc-stringbuilder" ,ghc-stringbuilder) > - ("ghc-silently" ,ghc-silently) > - ("ghc-setenv" ,ghc-setenv))) > + `(("ghc-base-compat" ,ghc-base-compat) > + ("ghc-code-page" ,ghc-code-page) > + ("ghc-paths" ,ghc-paths) > + ("ghc-syb" ,ghc-syb))) > + (native-inputs > + `(("ghc-hunit" ,ghc-hunit) > + ("ghc-quickcheck" ,ghc-quickcheck) > + ("ghc-hspec" ,ghc-hspec) > + ("ghc-hspec-core" ,ghc-hspec-core) > + ("ghc-mockery" ,ghc-mockery) > + ("ghc-setenv" ,ghc-setenv) > + ("ghc-silently" ,ghc-silently) > + ("ghc-stringbuilder" ,ghc-stringbuilder))) Here you can see the slightly off indentation, the previous level of indentation is what I'd use. > (home-page > "https://github.com/sol/doctest#readme") > (synopsis "Test interactive Haskell examples") > - (description "The doctest program checks examples in source code comments. > -It is modeled after doctest for Python, see > -@uref{https://docs.python.org/library/doctest.html, the Doctest website}.") > + (description > + "The doctest program checks examples in source code comments. It is modeled > +after doctest for Python (@url{http://docs.python.org/library/doctest.html}). > + > +Documentation is at @url{https://github.com/sol/doctest#readme}.") > (license license:expat))) I'd keep the previous description, as I think it's better.
[signature.asc (application/pgp-signature, inline)]
guix-patches <at> gnu.org
:bug#44174
; Package guix-patches
.
(Sat, 24 Oct 2020 21:31:01 GMT) Full text and rfc822 format available.Message #65 received at 44174 <at> debbugs.gnu.org (full text, mbox):
From: Christopher Baines <mail <at> cbaines.net> To: Carlo Holl <carloholl <at> gmail.com> Cc: 44174 <at> debbugs.gnu.org Subject: Re: [bug#44174] [PATCH 05/16] gnu: Add ghc-hspec-megaparsec. Date: Sat, 24 Oct 2020 22:30:18 +0100
[Message part 1 (text/plain, inline)]
Carlo Holl <carloholl <at> gmail.com> writes: > --- > gnu/packages/haskell-xyz.scm | 28 ++++++++++++++++++++++++++++ > 1 file changed, 28 insertions(+) > > diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm > index ad9c49ddeb..84f28ee5a5 100644 > --- a/gnu/packages/haskell-xyz.scm > +++ b/gnu/packages/haskell-xyz.scm > @@ -5934,6 +5934,34 @@ are described in a file named @code{package.yaml}. Both @code{cabal2nix} and > @code{package.yaml}.") > (license license:expat))) > > +(define-public ghc-hspec-megaparsec > + (package > + (name "ghc-hspec-megaparsec") > + (version "2.0.1") > + (source > + (origin > + (method url-fetch) > + (uri (string-append > + "https://hackage.haskell.org/package/hspec-megaparsec/hspec-megaparsec-" > + version > + ".tar.gz")) > + (sha256 > + (base32 > + "0w8nn2rh01lkiwsiyqh3gviklhfmy0245rakj94dmliyljw8skfg")))) > + (build-system haskell-build-system) > + (inputs > + `(("ghc-hspec-expectations" > + ,ghc-hspec-expectations) > + ("ghc-megaparsec" ,ghc-megaparsec))) > + (native-inputs `(("ghc-hspec" ,ghc-hspec))) > + (home-page > + "https://github.com/mrkkrp/hspec-megaparsec") > + (synopsis > + "Utility functions for testing Megaparsec parsers with Hspec") > + (description > + "Utility functions for testing Megaparsec parsers with Hspec.") Would you be able to come up with a more descriptive description? Or at least one that doesn't repeat the synopsis in the same words. I recognise that this is what was probably generated by the importer.
[signature.asc (application/pgp-signature, inline)]
guix-patches <at> gnu.org
:bug#44174
; Package guix-patches
.
(Sat, 24 Oct 2020 21:39:01 GMT) Full text and rfc822 format available.Message #68 received at 44174 <at> debbugs.gnu.org (full text, mbox):
From: Christopher Baines <mail <at> cbaines.net> To: Carlo Holl <carloholl <at> gmail.com> Cc: 44174 <at> debbugs.gnu.org Subject: Re: [bug#44174] [PATCH 09/16] gnu: Add ghc-tabular. Date: Sat, 24 Oct 2020 22:38:15 +0100
[Message part 1 (text/plain, inline)]
Carlo Holl <carloholl <at> gmail.com> writes: > --- > gnu/packages/haskell-xyz.scm | 40 ++++++++++++++++++++++++++++++++++++ > 1 file changed, 40 insertions(+) > > diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm > index c4a8d4c208..0cce72e9f5 100644 > --- a/gnu/packages/haskell-xyz.scm > +++ b/gnu/packages/haskell-xyz.scm > @@ -12813,6 +12813,46 @@ Unlike the filepath package, this package does not simply reuse String, > increasing type safety.") > (license license:expat))) > > +(define-public ghc-tabular > + (package > + (name "ghc-tabular") > + (version "0.2.2.8") > + (source > + (origin > + (method url-fetch) > + (uri (string-append > + "https://hackage.haskell.org/package/tabular/tabular-" > + version > + ".tar.gz")) > + (sha256 > + (base32 > + "0z936gh8n8i8qdkagyxwd9gqq13skd5fv013vdvwsibrxkm0czfb")))) > + (build-system haskell-build-system) > + (inputs > + `(("ghc-csv" ,ghc-csv) ("ghc-html" ,ghc-html))) I'd put each input on it's own line. > + (home-page "https://github.com/bgamari/tabular") > + (synopsis > + "Two-dimensional data tables with rendering functions") > + (description "Tabular provides a Haskell representation of > +two-dimensional data tables, the kind that you might find in a > +spreadsheet or or a research report. It also comes with some > +default rendering functions for turning those tables into ASCII > +art, simple text with an arbitrary delimiter, CSV, HTML or LaTeX. > + > +Below is an example of the kind of output this library produces. > +The tabular package can group rows and columns, each group having > +one of three separators (no line, single line, double line) between > +its members. > + > + || memtest 1 | memtest 2 || time test | time test 2 > +====++===========+===========++=============+============ > +A 1 || hog | terrible || slow | slower > +A 2 || pig | not bad || fast | slowest > +----++-----------+-----------++-------------+------------ > +B 1 || good | awful || intolerable | bearable > +B 2 || better | no chance || crawling | amazing > +B 3 || meh | well... || worst ever | ok") > + (license license:bsd-3))) I'm not sure if this is semantically the best option, but if you put @verbatim before this table, and @end verbatim after it, it should display correctly in ./pre-inst-env guix show ghc-tabular at least.
[signature.asc (application/pgp-signature, inline)]
guix-patches <at> gnu.org
:bug#44174
; Package guix-patches
.
(Sat, 24 Oct 2020 21:40:02 GMT) Full text and rfc822 format available.Message #71 received at 44174 <at> debbugs.gnu.org (full text, mbox):
From: Christopher Baines <mail <at> cbaines.net> To: Carlo Holl <carloholl <at> gmail.com> Cc: 44174 <at> debbugs.gnu.org Subject: Re: [bug#44174] [PATCH 13/16] gnu: Add ghc-cassava-megaparsec. Date: Sat, 24 Oct 2020 22:39:17 +0100
[Message part 1 (text/plain, inline)]
Carlo Holl <carloholl <at> gmail.com> writes: > --- > gnu/packages/haskell-xyz.scm | 33 +++++++++++++++++++++++++++++++++ > 1 file changed, 33 insertions(+) > > diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm > index 8060c2f034..46ed95d607 100644 > --- a/gnu/packages/haskell-xyz.scm > +++ b/gnu/packages/haskell-xyz.scm > @@ -1640,6 +1640,39 @@ hackage.haskell.org/package/cassava-0.5.2.0/#readme, README} for more usage > examples.") > (license license:bsd-3))) > > +(define-public ghc-cassava-megaparsec > + (package > + (name "ghc-cassava-megaparsec") > + (version "2.0.2") > + (source > + (origin > + (method url-fetch) > + (uri (string-append > + "https://hackage.haskell.org/package/cassava-megaparsec/" > + "cassava-megaparsec-" > + version > + ".tar.gz")) > + (sha256 > + (base32 > + "03x1462agrfdagklp8c89b8p4z2hd8nbf6d3895sz770zjkawda7")))) > + (build-system haskell-build-system) > + (inputs > + `(("ghc-cassava" ,ghc-cassava) > + ("ghc-megaparsec" ,ghc-megaparsec) > + ("ghc-unordered-containers" > + ,ghc-unordered-containers) > + ("ghc-vector" ,ghc-vector))) > + (native-inputs > + `(("ghc-hspec" ,ghc-hspec) > + ("ghc-hspec-megaparsec" ,ghc-hspec-megaparsec))) > + (home-page > + "https://github.com/stackbuilders/cassava-megaparsec") > + (synopsis > + "Megaparsec parser of CSV files that plays nicely with Cassava") > + (description > + "Megaparsec parser of CSV files that plays nicely with Cassava.") Similarly to the previous package, it would be good to write something here for the description that doesn't repeat the synopsis.
[signature.asc (application/pgp-signature, inline)]
guix-patches <at> gnu.org
:bug#44174
; Package guix-patches
.
(Sat, 24 Oct 2020 21:41:01 GMT) Full text and rfc822 format available.Message #74 received at 44174 <at> debbugs.gnu.org (full text, mbox):
From: Christopher Baines <mail <at> cbaines.net> To: Carlo Holl <carloholl <at> gmail.com> Cc: 44174 <at> debbugs.gnu.org Subject: Re: [bug#44174] [PATCH 16/16] Add attribution. Date: Sat, 24 Oct 2020 22:40:46 +0100
[Message part 1 (text/plain, inline)]
Carlo Holl <carloholl <at> gmail.com> writes: > --- > gnu/packages/finance.scm | 1 + > gnu/packages/haskell-xyz.scm | 1 + > 2 files changed, 2 insertions(+) > > diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm > index 15a86b8688..fe033e9494 100644 > --- a/gnu/packages/finance.scm > +++ b/gnu/packages/finance.scm > @@ -20,6 +20,7 @@ > ;;; Copyright © 2020 Tom Zander <tomz <at> freedommail.ch> > ;;; Copyright © 2020 Marius Bakke <mbakke <at> fastmail.com> > ;;; Copyright © 2020 Vinicius Monego <monego <at> posteo.net> > +;;; Copyright © 2020 Carlo Holl <carloholl <at> gmail.com> > ;;; > ;;; This file is part of GNU Guix. > ;;; > diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm > index eaba188e97..53770ec01d 100644 > --- a/gnu/packages/haskell-xyz.scm > +++ b/gnu/packages/haskell-xyz.scm > @@ -26,6 +26,7 @@ > ;;; Copyright © 2020 JoJo <jo <at> jo.zone> > ;;; Copyright © 2020 Nicolas Goaziou <mail <at> nicolasgoaziou.fr> > ;;; Copyright © 2020 Alexandru-Sergiu Marton <brown121407 <at> member.fsf.org> > +;;; Copyright © 2020 Carlo Holl <carloholl <at> gmail.com> > ;;; > ;;; This file is part of GNU Guix. > ;;; While most changes are good for their own commits, I'd just make these changes in the first commits that touch each of these files.
[signature.asc (application/pgp-signature, inline)]
guix-patches <at> gnu.org
:bug#44174
; Package guix-patches
.
(Sun, 01 Nov 2020 02:53:02 GMT) Full text and rfc822 format available.Message #77 received at 44174 <at> debbugs.gnu.org (full text, mbox):
From: Carlo Holl <carloholl <at> gmail.com> To: 44174 <at> debbugs.gnu.org Cc: Carlo Holl <carloholl <at> gmail.com> Subject: [PATCH v2 00/15] Add hledger and its dependencies. Date: Sat, 31 Oct 2020 19:02:21 -0700
This patch series adds hledger, a plaintext accounting program. Changes since v1 (based on feedback from Christopher Baines): - Fixed incorrect indentation. - Added changelog entries to each commit message. - Improved descriptions for some of the packages. - Moved attribution to first commits to touch any given file. Notes: Christopher suggested I wrap an ascii table with @verbatim as part of the description for the ghc-tabular package so that it displays correctly, but I couldn't get 'guix show' to work with @verbatim, failing with <<Throw to key `parser-error' with args `(#<input: string 7fdb95dad700> "EOF while reading a token " "reading verbatim")'.>>. I used @example instead, which works under 'guix show', but I'm not sure what the implications are for other output formats. Carlo Holl (15): gnu: Add ghc-control-monad-free. gnu: Add ghc-csv. gnu: Add ghc-decimal. gnu: ghc-doctest: Update to 0.16.3. gnu: Add ghc-hspec-megaparsec. gnu: Add ghc-lucid. gnu: Add ghc-only. gnu: Add ghc-text-short. gnu: Add ghc-tabular. gnu: Add ghc-uglymemo. gnu: Add ghc-wizards. gnu: Add ghc-cassava. gnu: Add ghc-cassava-megaparsec. gnu: Add ghc-hledger-lib. gnu: Add hledger. gnu/packages/finance.scm | 63 ++++ gnu/packages/haskell-xyz.scm | 557 ++++++++++++++++++++++++++++++++++- 2 files changed, 608 insertions(+), 12 deletions(-) -- 2.28.0
guix-patches <at> gnu.org
:bug#44174
; Package guix-patches
.
(Sun, 01 Nov 2020 02:53:02 GMT) Full text and rfc822 format available.Message #80 received at 44174 <at> debbugs.gnu.org (full text, mbox):
From: Carlo Holl <carloholl <at> gmail.com> To: Christopher Baines <mail <at> cbaines.net> Cc: 44174 <at> debbugs.gnu.org Subject: Re: [bug#44174] [PATCH 00/16] Add hledger and its dependencies. Date: Sat, 31 Oct 2020 19:11:25 -0700
On 24.10.2020 22:26, Christopher Baines wrote: > >Carlo Holl <carloholl <at> gmail.com> writes: > >> Guix, >> >> This patch series adds hledger, a plaintext accounting >> program. hledger started as a Haskell reimplementation of Ledger >> CLI. I use hledger regularly to manage personal finances and those of >> several businesses, and would not be suprised to find other hledger >> users in the Guix community. >> >> More information is available at https://hledger.org. > >Hi Carlo, thanks for the patches! > >> A couple of notes: >> >> 1. The hledger package is placed in (gnu packages finance), and >> its dependencies in (gnu packages haskell-xyz). > >That sounds good :) > >> 2. The hledger package is *not* prefixed with 'ghc', but its >> dependencies are. > >Also fine. > >> 3. The package ghc-doctest was bumped (minor version), affecting several dependent packages. >> I was able to build most of these affected packages (querying guix refresh --list-dependents), >> but it was taking forever so I cut that effort short. I consider this a rough heuristic to determine >> that there are no substantial changes associated with this >> version bump. > >Sounds good. > >> 4. I'm not terribly familiar with the Texinfo format, so there are >> likely some rough edges there. > >Looks like you've done pretty well from what I've seen :) > >> 5. I am able to build hledger and its dependencies without error, but was unsuccessful building >> on different architectures with qemu. I wasn't even able to build GHC under qemu so I didn't bother >> digging any further. > >No problem, if it builds on x86_64-linux, that's good enough at least >initially. > >> This is my first contribution to Guix, and I'm also not a Haskell >> expert, so expect some headaches. I am happy to attend to any issues >> as best I am able. > >Great, I'll make some more comments on the individual patches, a few >general comments though: > > - The commits should include changelog entries. For new packages, these > are pretty easy to write, it's just: > >* gnu/packages/FILE.scm (PACKAGE): New variable. > > - The indentation looks off in places, there's some stuff here about > indentation [1]. What editor are you using? > >1: https://guix.gnu.org/manual/en/html_node/Formatting-Code.html > > >Let me know if you have any questions, and it would be great if you >could send an updated set of patches. > >Thanks, > >Chris Chris, Apologies for the late reply, I was away last week. Thank you for the feedback. I've send a new patch series that I think addresses all the issues you raised. Best, -- Carlo Holl carloholl <at> gmail.com
guix-patches <at> gnu.org
:bug#44174
; Package guix-patches
.
(Sun, 01 Nov 2020 03:01:02 GMT) Full text and rfc822 format available.Message #83 received at 44174 <at> debbugs.gnu.org (full text, mbox):
From: Carlo Holl <carloholl <at> gmail.com> To: 44174 <at> debbugs.gnu.org Cc: Carlo Holl <carloholl <at> gmail.com> Subject: [PATCH v2 01/15] gnu: Add ghc-control-monad-free. Date: Sat, 31 Oct 2020 19:02:22 -0700
* gnu/packages/haskell-xyz.scm (ghc-control-monad-free): New variable. --- gnu/packages/haskell-xyz.scm | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm index 5b9da15630..762435fa6b 100644 --- a/gnu/packages/haskell-xyz.scm +++ b/gnu/packages/haskell-xyz.scm @@ -26,6 +26,7 @@ ;;; Copyright © 2020 JoJo <jo <at> jo.zone> ;;; Copyright © 2020 Nicolas Goaziou <mail <at> nicolasgoaziou.fr> ;;; Copyright © 2020 Alexandru-Sergiu Marton <brown121407 <at> member.fsf.org> +;;; Copyright © 2020 Carlo Holl <carloholl <at> gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -2608,6 +2609,36 @@ a vocabulary for working with them.") @code{ghc-contravariant} package.") (license license:expat))) +(define-public ghc-control-monad-free + (package + (name "ghc-control-monad-free") + (version "0.6.2") + (source + (origin + (method url-fetch) + (uri (string-append + "https://hackage.haskell.org/package/control-monad-free/control-monad-free-" + version + ".tar.gz")) + (sha256 + (base32 + "1habgf7byffqf1rqjkzpihvdhclaafgqsqpfpwp3fgpj5ayk1j33")))) + (build-system haskell-build-system) + (home-page "https://github.com/pepeiborra/control-monad-free") + (synopsis "Free monads and monad transformers") + (description "This package provides datatypes to construct Free monads, +Free monad transformers, and useful instances. In addition it provides the +constructs to avoid quadratic complexity of left associative bind, as explained in: + +@itemize @bullet +@item +Janis Voigtlander, @cite{Asymptotic Improvement of Computations over +Free Monads, MPC'08} +@end itemize + +") + (license license:public-domain))) + (define-public ghc-convertible (package (name "ghc-convertible") -- 2.28.0
guix-patches <at> gnu.org
:bug#44174
; Package guix-patches
.
(Sun, 01 Nov 2020 03:01:02 GMT) Full text and rfc822 format available.Message #86 received at 44174 <at> debbugs.gnu.org (full text, mbox):
From: Carlo Holl <carloholl <at> gmail.com> To: 44174 <at> debbugs.gnu.org Cc: Carlo Holl <carloholl <at> gmail.com> Subject: [PATCH v2 02/15] gnu: Add ghc-csv. Date: Sat, 31 Oct 2020 19:02:23 -0700
* gnu/packages/haskell-xyz.scm (ghc-csv): New variable. --- gnu/packages/haskell-xyz.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm index 762435fa6b..46019d74c2 100644 --- a/gnu/packages/haskell-xyz.scm +++ b/gnu/packages/haskell-xyz.scm @@ -2665,6 +2665,30 @@ pure @code{Either} value. This means that you need not remember which specific function performs the conversion you desire.") (license license:bsd-3))) +(define-public ghc-csv + (package + (name "ghc-csv") + (version "0.1.2") + (source + (origin + (method url-fetch) + (uri (string-append + "https://hackage.haskell.org/package/csv/csv-" + version + ".tar.gz")) + (sha256 + (base32 + "00767ai09wm7f0yzmpqck3cpgxncpr9djnmmz5l17ajz69139x4c")))) + (build-system haskell-build-system) + (home-page "http://hackage.haskell.org/package/csv") + (synopsis "CSV loader and dumper") + (description "This library parses and dumps documents that are +formatted according to RFC 4180, @cite{The common Format and MIME Type +for Comma-Separated Values (CSV) Files}. This format is used, among +many other things, as a lingua franca for spreadsheets, and for +certain web services.") + (license license:expat))) + (define-public ghc-data-accessor (package (name "ghc-data-accessor") -- 2.28.0
guix-patches <at> gnu.org
:bug#44174
; Package guix-patches
.
(Sun, 01 Nov 2020 03:01:03 GMT) Full text and rfc822 format available.Message #89 received at 44174 <at> debbugs.gnu.org (full text, mbox):
From: Carlo Holl <carloholl <at> gmail.com> To: 44174 <at> debbugs.gnu.org Cc: Carlo Holl <carloholl <at> gmail.com> Subject: [PATCH v2 03/15] gnu: Add ghc-decimal. Date: Sat, 31 Oct 2020 19:02:24 -0700
* gnu/packages/haskell-xyz.scm (ghc-decimal): New variable. --- gnu/packages/haskell-xyz.scm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm index 46019d74c2..6eea034931 100644 --- a/gnu/packages/haskell-xyz.scm +++ b/gnu/packages/haskell-xyz.scm @@ -2987,6 +2987,35 @@ to add D-Bus support to Haskell applications, without the awkward interfaces common to foreign bindings.") (license license:asl2.0))) +(define-public ghc-decimal + (package + (name "ghc-decimal") + (version "0.5.1") + (source + (origin + (method url-fetch) + (uri (string-append + "https://hackage.haskell.org/package/Decimal/Decimal-" + version + ".tar.gz")) + (sha256 + (base32 + "0k7kh05mr2f54w1lpgq1nln0h8k6s6h99dyp5jzsb9cfbb3aap2p")))) + (build-system haskell-build-system) + (native-inputs + `(("ghc-hunit" ,ghc-hunit) + ("ghc-quickcheck" ,ghc-quickcheck) + ("ghc-test-framework" ,ghc-test-framework) + ("ghc-test-framework-quickcheck2" + ,ghc-test-framework-quickcheck2) + ("ghc-test-framework-hunit" + ,ghc-test-framework-hunit))) + (home-page "https://github.com/PaulJohnson/Haskell-Decimal") + (synopsis "Decimal numbers with variable precision") + (description "A decimal number has an integer mantissa and a negative exponent. +The exponent can be interpreted as the number of decimal places in the value.") + (license license:bsd-3))) + (define-public ghc-deepseq-generics (package (name "ghc-deepseq-generics") -- 2.28.0
guix-patches <at> gnu.org
:bug#44174
; Package guix-patches
.
(Sun, 01 Nov 2020 03:01:03 GMT) Full text and rfc822 format available.Message #92 received at 44174 <at> debbugs.gnu.org (full text, mbox):
From: Carlo Holl <carloholl <at> gmail.com> To: 44174 <at> debbugs.gnu.org Cc: Carlo Holl <carloholl <at> gmail.com> Subject: [PATCH v2 04/15] gnu: ghc-doctest: Update to 0.16.3. Date: Sat, 31 Oct 2020 19:02:25 -0700
* gnu/packages/haskell-xyz.scm (ghc-doctest): Update to 0.16.3. [inputs,native-inputs]: Replace with what is generated by guix import. --- gnu/packages/haskell-xyz.scm | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm index 6eea034931..1e995c90b4 100644 --- a/gnu/packages/haskell-xyz.scm +++ b/gnu/packages/haskell-xyz.scm @@ -3412,7 +3412,7 @@ Writer monad), where list append quickly becomes too expensive.") (define-public ghc-doctest (package (name "ghc-doctest") - (version "0.16.2") + (version "0.16.3") (source (origin (method url-fetch) @@ -3422,22 +3422,24 @@ Writer monad), where list append quickly becomes too expensive.") ".tar.gz")) (sha256 (base32 - "0lk4cjfzi5bx2snfzw1zi06li0gvgz3ckfh2kwa98l7nxfdl39ag")))) + "1y1l7aa80qkib1z8lsizgg7fpfdmdwhxvi5m255a42jdkjgn5sfg")))) (build-system haskell-build-system) - (arguments `(#:tests? #f)) ; FIXME: missing test framework + (arguments `(#:tests? #f)) ; FIXME: missing test framework (inputs - `(("ghc-syb" ,ghc-syb) - ("ghc-paths" ,ghc-paths) - ("ghc-base-compat" ,ghc-base-compat) + `(("ghc-base-compat" ,ghc-base-compat) ("ghc-code-page" ,ghc-code-page) - ("ghc-hunit" ,ghc-hunit) - ("ghc-hspec" ,ghc-hspec) + ("ghc-paths" ,ghc-paths) + ("ghc-syb" ,ghc-syb))) + (native-inputs + `(("ghc-hunit" ,ghc-hunit) ("ghc-quickcheck" ,ghc-quickcheck) - ("ghc-stringbuilder" ,ghc-stringbuilder) + ("ghc-hspec" ,ghc-hspec) + ("ghc-hspec-core" ,ghc-hspec-core) + ("ghc-mockery" ,ghc-mockery) + ("ghc-setenv" ,ghc-setenv) ("ghc-silently" ,ghc-silently) - ("ghc-setenv" ,ghc-setenv))) - (home-page - "https://github.com/sol/doctest#readme") + ("ghc-stringbuilder" ,ghc-stringbuilder))) + (home-page "https://github.com/sol/doctest#readme") (synopsis "Test interactive Haskell examples") (description "The doctest program checks examples in source code comments. It is modeled after doctest for Python, see -- 2.28.0
guix-patches <at> gnu.org
:bug#44174
; Package guix-patches
.
(Sun, 01 Nov 2020 03:01:03 GMT) Full text and rfc822 format available.Message #95 received at 44174 <at> debbugs.gnu.org (full text, mbox):
From: Carlo Holl <carloholl <at> gmail.com> To: 44174 <at> debbugs.gnu.org Cc: Carlo Holl <carloholl <at> gmail.com> Subject: [PATCH v2 05/15] gnu: Add ghc-hspec-megaparsec. Date: Sat, 31 Oct 2020 19:02:26 -0700
* gnu/packages/haskell-xyz.scm (ghc-hspec-megaparsec): New variable. --- gnu/packages/haskell-xyz.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm index 1e995c90b4..4eb4d52c05 100644 --- a/gnu/packages/haskell-xyz.scm +++ b/gnu/packages/haskell-xyz.scm @@ -5927,6 +5927,32 @@ are described in a file named @code{package.yaml}. Both @code{cabal2nix} and @code{package.yaml}.") (license license:expat))) +(define-public ghc-hspec-megaparsec + (package + (name "ghc-hspec-megaparsec") + (version "2.0.1") + (source + (origin + (method url-fetch) + (uri (string-append + "https://hackage.haskell.org/package/hspec-megaparsec/hspec-megaparsec-" + version + ".tar.gz")) + (sha256 + (base32 + "0w8nn2rh01lkiwsiyqh3gviklhfmy0245rakj94dmliyljw8skfg")))) + (build-system haskell-build-system) + (inputs + `(("ghc-hspec-expectations" + ,ghc-hspec-expectations) + ("ghc-megaparsec" ,ghc-megaparsec))) + (native-inputs `(("ghc-hspec" ,ghc-hspec))) + (home-page "https://github.com/mrkkrp/hspec-megaparsec") + (synopsis "Utility functions for testing Megaparsec parsers with Hspec") + (description "Provides a small set of helper functions for testing +Megaparsec parsers with Hspec.") + (license license:bsd-3))) + (define-public ghc-hs-bibutils (package (name "ghc-hs-bibutils") -- 2.28.0
guix-patches <at> gnu.org
:bug#44174
; Package guix-patches
.
(Sun, 01 Nov 2020 03:01:04 GMT) Full text and rfc822 format available.Message #98 received at 44174 <at> debbugs.gnu.org (full text, mbox):
From: Carlo Holl <carloholl <at> gmail.com> To: 44174 <at> debbugs.gnu.org Cc: Carlo Holl <carloholl <at> gmail.com> Subject: [PATCH v2 06/15] gnu: Add ghc-lucid. Date: Sat, 31 Oct 2020 19:02:27 -0700
* gnu/packages/haskell-xyz.scm (ghc-lucid): New variable. --- gnu/packages/haskell-xyz.scm | 46 ++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm index 4eb4d52c05..93ae4b79b9 100644 --- a/gnu/packages/haskell-xyz.scm +++ b/gnu/packages/haskell-xyz.scm @@ -7281,6 +7281,52 @@ Transformers\" available @uref{http://okmij.org/ftp/papers/LogicT.pdf, online}.") (license license:bsd-3))) +(define-public ghc-lucid + (package + (name "ghc-lucid") + (version "2.9.12") + (source + (origin + (method url-fetch) + (uri (string-append + "https://hackage.haskell.org/package/lucid/lucid-" + version + ".tar.gz")) + (sha256 + (base32 + "156wniydd1hlb7rygbm95zln8ky8lai8rn2apkkv0rax9cdw6jrh")))) + (build-system haskell-build-system) + (inputs + `(("ghc-blaze-builder" ,ghc-blaze-builder) + ("ghc-hashable" ,ghc-hashable) + ("ghc-mmorph" ,ghc-mmorph) + ("ghc-unordered-containers" ,ghc-unordered-containers))) + (native-inputs + `(("ghc-hunit" ,ghc-hunit) + ("ghc-hspec" ,ghc-hspec) + ("ghc-bifunctors" ,ghc-bifunctors))) + (arguments + `(#:cabal-revision + ("1" + "1f0whk5ncanxfjjanrf6rqyncig2xgc5mh2j0sqy3nrlyjr9aqq9"))) + (home-page "https://github.com/chrisdone/lucid") + (synopsis "DSL for rendering HTML") + (description "Clear to write, read and edit DSL for HTML + +@itemize @bullet +@item +Names are consistent, and do not conflict with base or are keywords +(all have suffix @code{-}). +@item +Same combinator can be used for attributes and elements +(e.g. @code{style_}). +@item +For more, read <https://chrisdone.com/posts/lucid the blog post>. +@end itemize + +See the \"Lucid\" module for more documentation.") + (license license:bsd-3))) + (define-public ghc-lzma (package (name "ghc-lzma") -- 2.28.0
guix-patches <at> gnu.org
:bug#44174
; Package guix-patches
.
(Sun, 01 Nov 2020 03:01:04 GMT) Full text and rfc822 format available.Message #101 received at 44174 <at> debbugs.gnu.org (full text, mbox):
From: Carlo Holl <carloholl <at> gmail.com> To: 44174 <at> debbugs.gnu.org Cc: Carlo Holl <carloholl <at> gmail.com> Subject: [PATCH v2 07/15] gnu: Add ghc-only. Date: Sat, 31 Oct 2020 19:02:28 -0700
* gnu/packages/haskell-xyz.scm (ghc-only): New variable. --- gnu/packages/haskell-xyz.scm | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm index 93ae4b79b9..85ed28625a 100644 --- a/gnu/packages/haskell-xyz.scm +++ b/gnu/packages/haskell-xyz.scm @@ -8599,6 +8599,37 @@ old @code{time} library. For new projects, the newer @uref{https://hackage.haskell.org/package/time, time library} is recommended.") (license license:bsd-3))) +(define-public ghc-only + (package + (name "ghc-only") + (version "0.1") + (source + (origin + (method url-fetch) + (uri (string-append + "https://hackage.haskell.org/package/Only/Only-" + version + ".tar.gz")) + (sha256 + (base32 + "0rdj3a629fk2vp121jq8mf2smkblrz5w3cxhlsyx6my2x29s2ymb")))) + (build-system haskell-build-system) + (arguments + `(#:cabal-revision + ("1" + "1ahk7p34kmh041mz7lyc10nhcxgv2i4z8nvzxvqm2x34gslmsbzr"))) + (home-page "https://hackage.haskell.org/package/Only") + (synopsis "The 1-tuple type or single-value \"collection\"") + (description "This package provides a canonical anonymous 1-tuple +type missing from Haskell for attaching typeclass instances. + +NOTE: There is also the @url{https://hackage.haskell.org/package/OneTuple, +OneTuple package} which by using a boxed @code{data}-type provides a 1-tuple +type which has laziness properties which are more faithful to the ones of +Haskell's native tuples; whereas the primary purpose of @code{Only} is to provide +the traditionally so named type-wrapper for attaching typeclass instances.") + (license license:bsd-3))) + (define-public ghc-opengl (package (name "ghc-opengl") -- 2.28.0
guix-patches <at> gnu.org
:bug#44174
; Package guix-patches
.
(Sun, 01 Nov 2020 03:01:05 GMT) Full text and rfc822 format available.Message #104 received at 44174 <at> debbugs.gnu.org (full text, mbox):
From: Carlo Holl <carloholl <at> gmail.com> To: 44174 <at> debbugs.gnu.org Cc: Carlo Holl <carloholl <at> gmail.com> Subject: [PATCH v2 08/15] gnu: Add ghc-text-short. Date: Sat, 31 Oct 2020 19:02:29 -0700
* gnu/packages/haskell-xyz.scm (ghc-text-short): New variable. --- gnu/packages/haskell-xyz.scm | 39 ++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm index 85ed28625a..7b49cac093 100644 --- a/gnu/packages/haskell-xyz.scm +++ b/gnu/packages/haskell-xyz.scm @@ -8911,6 +8911,45 @@ require aeson (description "Safe conversions between textual types") (license license:isc))) +(define-public ghc-text-short + (package + (name "ghc-text-short") + (version "0.1.3") + (source + (origin + (method url-fetch) + (uri (string-append + "https://hackage.haskell.org/package/text-short/text-short-" + version + ".tar.gz")) + (sha256 + (base32 + "0xyrxlb602z8bc9sr2y1fag0x56a20yj5qrkvy7iwc6hnznrynxz")))) + (build-system haskell-build-system) + (inputs `(("ghc-hashable" ,ghc-hashable))) + (native-inputs + `(("ghc-tasty" ,ghc-tasty) + ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck) + ("ghc-tasty-hunit" ,ghc-tasty-hunit) + ("ghc-quickcheck-instances" + ,ghc-quickcheck-instances))) + (arguments + `(#:cabal-revision + ("2" + "17cb7p0qywf2dsrq3g8qb3ssknd9wl5k0nc2pxz9gc3l8rxpkw51"))) + (home-page "https://hackage.haskell.org/package/text-short") + (synopsis "Memory-efficient representation of Unicode text strings") + (description "This package provides the @code{ShortText} type which +is suitable for keeping many short strings in memory. This is similiar +to how @code{ShortByteString} relates to @code{ByteString}. + +The main difference between @code{Text} and @code{ShortText} is that +@code{ShortText} uses UTF-8 instead of UTF-16 internally and also doesn't +support zero-copy slicing (thereby saving 2 words). Consequently, the memory +footprint of a (boxed) @{ShortText} value is 4 words (2 words when unboxed) +plus the length of the UTF-8 encoded payload.") + (license license:bsd-3))) + (define-public ghc-doclayout (package (name "ghc-doclayout") -- 2.28.0
guix-patches <at> gnu.org
:bug#44174
; Package guix-patches
.
(Sun, 01 Nov 2020 03:01:05 GMT) Full text and rfc822 format available.Message #107 received at 44174 <at> debbugs.gnu.org (full text, mbox):
From: Carlo Holl <carloholl <at> gmail.com> To: 44174 <at> debbugs.gnu.org Cc: Carlo Holl <carloholl <at> gmail.com> Subject: [PATCH v2 09/15] gnu: Add ghc-tabular. Date: Sat, 31 Oct 2020 19:02:30 -0700
* gnu/packages/haskell-xyz.scm (ghc-tabular): New variable. --- gnu/packages/haskell-xyz.scm | 44 ++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm index 7b49cac093..97d83ad886 100644 --- a/gnu/packages/haskell-xyz.scm +++ b/gnu/packages/haskell-xyz.scm @@ -12798,6 +12798,50 @@ Unlike the filepath package, this package does not simply reuse String, increasing type safety.") (license license:expat))) +(define-public ghc-tabular + (package + (name "ghc-tabular") + (version "0.2.2.8") + (source + (origin + (method url-fetch) + (uri (string-append + "https://hackage.haskell.org/package/tabular/tabular-" + version + ".tar.gz")) + (sha256 + (base32 + "0z936gh8n8i8qdkagyxwd9gqq13skd5fv013vdvwsibrxkm0czfb")))) + (build-system haskell-build-system) + (inputs + `(("ghc-csv" ,ghc-csv) + ("ghc-html" ,ghc-html))) + (home-page "https://github.com/bgamari/tabular") + (synopsis "Two-dimensional data tables with rendering functions") + (description "Tabular provides a Haskell representation of +two-dimensional data tables, the kind that you might find in a +spreadsheet or or a research report. It also comes with some +default rendering functions for turning those tables into ASCII +art, simple text with an arbitrary delimiter, CSV, HTML or LaTeX. + +Below is an example of the kind of output this library produces. +The tabular package can group rows and columns, each group having +one of three separators (no line, single line, double line) between +its members. + +@example + + || memtest 1 | memtest 2 || time test | time test 2 +====++===========+===========++=============+============ +A 1 || hog | terrible || slow | slower +A 2 || pig | not bad || fast | slowest +----++-----------+-----------++-------------+------------ +B 1 || good | awful || intolerable | bearable +B 2 || better | no chance || crawling | amazing +B 3 || meh | well... || worst ever | ok + +@end example") + (license license:bsd-3))) (define-public ghc-tagged (package -- 2.28.0
guix-patches <at> gnu.org
:bug#44174
; Package guix-patches
.
(Sun, 01 Nov 2020 03:01:05 GMT) Full text and rfc822 format available.Message #110 received at 44174 <at> debbugs.gnu.org (full text, mbox):
From: Carlo Holl <carloholl <at> gmail.com> To: 44174 <at> debbugs.gnu.org Cc: Carlo Holl <carloholl <at> gmail.com> Subject: [PATCH v2 10/15] gnu: Add ghc-uglymemo. Date: Sat, 31 Oct 2020 19:02:31 -0700
* gnu/packages/haskell-xyz.scm (ghc-uglymemo): New variable. --- gnu/packages/haskell-xyz.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm index 97d83ad886..19657fa88f 100644 --- a/gnu/packages/haskell-xyz.scm +++ b/gnu/packages/haskell-xyz.scm @@ -13864,6 +13864,33 @@ processes. It wraps around the @code{process} library, and intends to improve upon it.") (license license:expat))) +(define-public ghc-uglymemo + (package + (name "ghc-uglymemo") + (version "0.1.0.1") + (source + (origin + (method url-fetch) + (uri (string-append + "https://hackage.haskell.org/package/uglymemo/uglymemo-" + version + ".tar.gz")) + (sha256 + (base32 + "0ixqg5d0ly1r18jbgaa89i6kjzgi6c5hanw1b1y8c5fbq14yz2gy")))) + (build-system haskell-build-system) + (home-page "https://hackage.haskell.org/package/uglymemo") + (synopsis "Simple (but internally ugly) memoization function") + (description "Simple (but internally ugly) memoization function. + +@itemize @bullet +@item +New in 0.1.0.1: Make it exception safe. +@end itemize + +") + (license license:public-domain))) + (define-public ghc-unagi-chan (package (name "ghc-unagi-chan") -- 2.28.0
guix-patches <at> gnu.org
:bug#44174
; Package guix-patches
.
(Sun, 01 Nov 2020 03:01:06 GMT) Full text and rfc822 format available.Message #113 received at 44174 <at> debbugs.gnu.org (full text, mbox):
From: Carlo Holl <carloholl <at> gmail.com> To: 44174 <at> debbugs.gnu.org Cc: Carlo Holl <carloholl <at> gmail.com> Subject: [PATCH v2 11/15] gnu: Add ghc-wizards. Date: Sat, 31 Oct 2020 19:02:32 -0700
* gnu/packages/haskell-xyz.scm (ghc-wizards): New variable. --- gnu/packages/haskell-xyz.scm | 48 ++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm index 19657fa88f..210df9775c 100644 --- a/gnu/packages/haskell-xyz.scm +++ b/gnu/packages/haskell-xyz.scm @@ -14767,6 +14767,54 @@ widths to the Char type.") Haskell value or function.") (license license:bsd-3))) +(define-public ghc-wizards + (package + (name "ghc-wizards") + (version "1.0.3") + (source + (origin + (method url-fetch) + (uri (string-append + "https://hackage.haskell.org/package/wizards/wizards-" + version + ".tar.gz")) + (sha256 + (base32 + "1clvbd1ckhvy29qrbmpkn7bya7300fq6znnps23nn3nxyrxhsr85")))) + (build-system haskell-build-system) + (inputs + `(("ghc-control-monad-free" + ,ghc-control-monad-free))) + (arguments + `(#:cabal-revision + ("1" + "095qd17zrdhqmcvmslbyzfa5sh9glvvsnsvnlz31gzsmi8nnsgim"))) + (home-page "http://hackage.haskell.org/package/wizards") + (synopsis "High level, generic library for interrogative user interfaces") + (description "@code{wizards} is a package designed for the quick +and painless development of @emph{interrogative} programs, which revolve around +a \"dialogue\" with the user, who is asked a series of questions in a +sequence much like an installation wizard. + +Everything from interactive system scripts, to installation wizards, to full-blown +shells can be implemented with the support of @code{wizards}. + +It is developed transparently on top of a free monad, which separates out the +semantics of the program from any particular interface. A variety of backends +exist, including console-based @code{System.Console.Wizard.Haskeline} and +@code{System.Console.Wizard.BasicIO}, and the pure @code{System.Console.Wizard.Pure}. +It is also possible to write your own backends, or extend existing back-ends with +new features. While both built-in IO backends operate on a console, there is no +reason why @code{wizards} cannot also be used for making GUI wizard interfaces. + +See the github page for examples on usage: + +@url{http://www.github.com/liamoc/wizards} + +For creating backends, the module @code{System.Console.Wizard.Internal} has a brief +tutorial.") + (license license:bsd-3))) + (define-public ghc-wl-pprint (package (name "ghc-wl-pprint") -- 2.28.0
guix-patches <at> gnu.org
:bug#44174
; Package guix-patches
.
(Sun, 01 Nov 2020 03:01:06 GMT) Full text and rfc822 format available.Message #116 received at 44174 <at> debbugs.gnu.org (full text, mbox):
From: Carlo Holl <carloholl <at> gmail.com> To: 44174 <at> debbugs.gnu.org Cc: Carlo Holl <carloholl <at> gmail.com> Subject: [PATCH v2 12/15] gnu: Add ghc-cassava. Date: Sat, 31 Oct 2020 19:02:33 -0700
* gnu/packages/haskell-xyz.scm (ghc-cassava): New variable. --- gnu/packages/haskell-xyz.scm | 89 ++++++++++++++++++++++++++++++++++++ 1 file changed, 89 insertions(+) diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm index 210df9775c..6f5b6c3253 100644 --- a/gnu/packages/haskell-xyz.scm +++ b/gnu/packages/haskell-xyz.scm @@ -1552,6 +1552,95 @@ constructor which can be parameterised by a string-like type like: the resulting type will be insensitive to cases.") (license license:bsd-3))) +(define-public ghc-cassava + (package + (name "ghc-cassava") + (version "0.5.2.0") + (source + (origin + (method url-fetch) + (uri (string-append + "https://hackage.haskell.org/package/cassava/cassava-" + version + ".tar.gz")) + (sha256 + (base32 + "01h1zrdqb313cjd4rqm1107azzx4czqi018c2djf66a5i7ajl3dk")))) + (build-system haskell-build-system) + (inputs + `(("ghc-attoparsec" ,ghc-attoparsec) + ("ghc-hashable" ,ghc-hashable) + ("ghc-scientific" ,ghc-scientific) + ("ghc-unordered-containers" + ,ghc-unordered-containers) + ("ghc-vector" ,ghc-vector) + ("ghc-only" ,ghc-only) + ("ghc-text-short" ,ghc-text-short) + ("ghc-bytestring-builder" + ,ghc-bytestring-builder))) + (native-inputs + `(("ghc-hunit" ,ghc-hunit) + ("ghc-quickcheck" ,ghc-quickcheck) + ("ghc-quickcheck-instances" + ,ghc-quickcheck-instances) + ("ghc-test-framework" ,ghc-test-framework) + ("ghc-test-framework-hunit" + ,ghc-test-framework-hunit) + ("ghc-test-framework-quickcheck2" + ,ghc-test-framework-quickcheck2))) + (arguments + `(#:cabal-revision + ("1" + "1ph8rf91z4nf1ryrh9s4gd1kq98jlgk2manwddkpch8k0n9xvfk4") + #:configure-flags '("--flags=-bytestring--lt-0_10_4"))) + (home-page "https://github.com/haskell-hvr/cassava") + (synopsis "CSV parsing and encoding library") + (description "@code{cassava} is a library for parsing and encoding +@url{https://tools.ietf.org/html/rfc4180, RFC 4180} compliant @url{https:// +en.wikipedia.org/wiki/Comma-separated_values, comma-separated values (CSV)} +data, which is a textual line-oriented format commonly used for exchanging +tabular data. + +@code{cassava}'s API includes support for + +@itemize @bullet + +@item +Index-based record-conversion +@item +Name-based record-conversion +@item +Typeclass directed conversion of fields and records +@item +Built-in field-conversion instances for standard types +@item +Customizable record-conversion instance derivation via GHC generics +@item +Low-level @url{https://hackage.haskell.org/package/bytestring), bytestring} +builders (see @url{https://hackage.haskell.org/package/cassava-0.5.2.0/docs/ +Data-Csv-Builder.html, Data.Csv.Builder}) +@item +Incremental decoding and encoding API (see @url{https://hackage.haskell.org/ +package/cassava-0.5.2.0/docs/Data-Csv-Incremental.html, Data.Csv.Incremental}) +@item +Streaming API for constant-space decoding (see @url{https://hackage.haskell.org/ +package/cassava-0.5.2.0/docs/Data-Csv-Streaming.html, Data.Csv.Streaming}) +@end itemize + +Moreover, this library is designed to be easy to use; for instance, here's a +very simple example of encoding CSV data: + +@verbatim +>>> Data.Csv.encode [(\"John\",27),(\"Jane\",28)] +\"John,27\r\nJane,28\r\n\" +@end verbatim + +Please refer to the documentation in @url{https://hackage.haskell.org/package/ +cassava-0.5.2.0/docs/Data-Csv.html, Data.Csv} and the included @url{https:// +hackage.haskell.org/package/cassava-0.5.2.0/#readme, README} for more usage +examples.") + (license license:bsd-3))) + (define-public ghc-cborg (package (name "ghc-cborg") -- 2.28.0
guix-patches <at> gnu.org
:bug#44174
; Package guix-patches
.
(Sun, 01 Nov 2020 03:01:07 GMT) Full text and rfc822 format available.Message #119 received at 44174 <at> debbugs.gnu.org (full text, mbox):
From: Carlo Holl <carloholl <at> gmail.com> To: 44174 <at> debbugs.gnu.org Cc: Carlo Holl <carloholl <at> gmail.com> Subject: [PATCH v2 13/15] gnu: Add ghc-cassava-megaparsec. Date: Sat, 31 Oct 2020 19:02:34 -0700
* gnu/packages/haskell-xyz.scm (ghc-cassava-megaparsec): New variable. --- gnu/packages/haskell-xyz.scm | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm index 6f5b6c3253..a195503a40 100644 --- a/gnu/packages/haskell-xyz.scm +++ b/gnu/packages/haskell-xyz.scm @@ -1641,6 +1641,39 @@ hackage.haskell.org/package/cassava-0.5.2.0/#readme, README} for more usage examples.") (license license:bsd-3))) +(define-public ghc-cassava-megaparsec + (package + (name "ghc-cassava-megaparsec") + (version "2.0.2") + (source + (origin + (method url-fetch) + (uri (string-append + "https://hackage.haskell.org/package/cassava-megaparsec/" + "cassava-megaparsec-" + version + ".tar.gz")) + (sha256 + (base32 + "03x1462agrfdagklp8c89b8p4z2hd8nbf6d3895sz770zjkawda7")))) + (build-system haskell-build-system) + (inputs + `(("ghc-cassava" ,ghc-cassava) + ("ghc-megaparsec" ,ghc-megaparsec) + ("ghc-unordered-containers" + ,ghc-unordered-containers) + ("ghc-vector" ,ghc-vector))) + (native-inputs + `(("ghc-hspec" ,ghc-hspec) + ("ghc-hspec-megaparsec" ,ghc-hspec-megaparsec))) + (home-page "https://github.com/stackbuilders/cassava-megaparsec") + (synopsis + "Megaparsec parser of CSV files that plays nicely with Cassava") + (description "Alternative parser for the Cassava package written +with Megaparsec that provides for better error messages at the expense +of some speed.") + (license license:expat))) + (define-public ghc-cborg (package (name "ghc-cborg") -- 2.28.0
guix-patches <at> gnu.org
:bug#44174
; Package guix-patches
.
(Sun, 01 Nov 2020 03:01:07 GMT) Full text and rfc822 format available.Message #122 received at 44174 <at> debbugs.gnu.org (full text, mbox):
From: Carlo Holl <carloholl <at> gmail.com> To: 44174 <at> debbugs.gnu.org Cc: Carlo Holl <carloholl <at> gmail.com> Subject: [PATCH v2 14/15] gnu: Add ghc-hledger-lib. Date: Sat, 31 Oct 2020 19:02:35 -0700
* gnu/packages/haskell-xyz.scm (ghc-hledger-lib): New variable. --- gnu/packages/haskell-xyz.scm | 64 ++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm index a195503a40..7c0941960f 100644 --- a/gnu/packages/haskell-xyz.scm +++ b/gnu/packages/haskell-xyz.scm @@ -5846,6 +5846,70 @@ feature, allowing applications to subscribe to notifications when a file is accessed or modified.") (license license:bsd-3))) +(define-public ghc-hledger-lib + (package + (name "ghc-hledger-lib") + (version "1.19.1") + (source + (origin + (method url-fetch) + (uri (string-append + "https://hackage.haskell.org/package/hledger-lib/hledger-lib-" + version + ".tar.gz")) + (sha256 + (base32 + "0py11011r358nmnvwwkc8mlx6mpy36jm8sqlr4i8ihx3x0zjdgya")))) + (build-system haskell-build-system) + (inputs + `(("ghc-decimal" ,ghc-decimal) + ("ghc-glob" ,ghc-glob) + ("ghc-aeson" ,ghc-aeson) + ("ghc-aeson-pretty" ,ghc-aeson-pretty) + ("ghc-ansi-terminal" ,ghc-ansi-terminal) + ("ghc-base-compat-batteries" + ,ghc-base-compat-batteries) + ("ghc-blaze-markup" ,ghc-blaze-markup) + ("ghc-call-stack" ,ghc-call-stack) + ("ghc-cassava" ,ghc-cassava) + ("ghc-cassava-megaparsec" + ,ghc-cassava-megaparsec) + ("ghc-cmdargs" ,ghc-cmdargs) + ("ghc-data-default" ,ghc-data-default) + ("ghc-extra" ,ghc-extra) + ("ghc-fgl" ,ghc-fgl) + ("ghc-file-embed" ,ghc-file-embed) + ("ghc-hashtables" ,ghc-hashtables) + ("ghc-megaparsec" ,ghc-megaparsec) + ("ghc-old-time" ,ghc-old-time) + ("ghc-parser-combinators" + ,ghc-parser-combinators) + ("ghc-pretty-show" ,ghc-pretty-show) + ("ghc-regex-tdfa" ,ghc-regex-tdfa) + ("ghc-safe" ,ghc-safe) + ("ghc-split" ,ghc-split) + ("ghc-tabular" ,ghc-tabular) + ("ghc-tasty" ,ghc-tasty) + ("ghc-tasty-hunit" ,ghc-tasty-hunit) + ("ghc-timeit" ,ghc-timeit) + ("ghc-uglymemo" ,ghc-uglymemo) + ("ghc-unordered-containers" + ,ghc-unordered-containers) + ("ghc-utf8-string" ,ghc-utf8-string))) + (native-inputs `(("ghc-doctest" ,ghc-doctest))) + (home-page "https://hledger.org") + (synopsis "Reusable library providing the core functionality of hledger") + (description "A reusable library containing hledger's core functionality. +This is used by most hledger* packages so that they support the same common +file formats, command line options, reports etc. + +hledger is a robust, cross-platform set of tools for tracking money, time, +or any other commodity, using double-entry accounting and a simple, editable +file format, with command-line, terminal and web interfaces. It is a Haskell +rewrite of Ledger, and one of the leading implementations of Plain Text Accounting. +Read more at: @url{https://hledger.org}") + (license license:gpl3))) + (define-public ghc-hmatrix (package (name "ghc-hmatrix") -- 2.28.0
guix-patches <at> gnu.org
:bug#44174
; Package guix-patches
.
(Sun, 01 Nov 2020 03:01:07 GMT) Full text and rfc822 format available.Message #125 received at 44174 <at> debbugs.gnu.org (full text, mbox):
From: Carlo Holl <carloholl <at> gmail.com> To: 44174 <at> debbugs.gnu.org Cc: Carlo Holl <carloholl <at> gmail.com> Subject: [PATCH v2 15/15] gnu: Add hledger. Date: Sat, 31 Oct 2020 19:02:36 -0700
* gnu/packages/finance.scm (hledger): New variable. --- gnu/packages/finance.scm | 63 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm index 4397cf8ba8..ade4fc56fb 100644 --- a/gnu/packages/finance.scm +++ b/gnu/packages/finance.scm @@ -20,6 +20,7 @@ ;;; Copyright © 2020 Tom Zander <tomz <at> freedommail.ch> ;;; Copyright © 2020 Marius Bakke <mbakke <at> fastmail.com> ;;; Copyright © 2020 Vinicius Monego <monego <at> posteo.net> +;;; Copyright © 2020 Carlo Holl <carloholl <at> gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -45,6 +46,7 @@ #:use-module (guix build-system cmake) #:use-module (guix build-system copy) #:use-module (guix build-system emacs) + #:use-module (guix build-system haskell) #:use-module (guix build-system python) #:use-module (guix build-system glib-or-gtk) #:use-module (guix build-system go) @@ -72,6 +74,9 @@ #:use-module (gnu packages graphviz) #:use-module (gnu packages groff) #:use-module (gnu packages gtk) + #:use-module (gnu packages haskell-check) + #:use-module (gnu packages haskell-web) + #:use-module (gnu packages haskell-xyz) #:use-module (gnu packages jemalloc) #:use-module (gnu packages libedit) #:use-module (gnu packages libevent) @@ -170,6 +175,64 @@ of the bitcoin protocol. This package provides the Bitcoin Core command line client and a client based on Qt.") (license license:expat))) +(define-public hledger + (package + (name "hledger") + (version "1.19.1") + (source + (origin + (method url-fetch) + (uri (string-append + "https://hackage.haskell.org/package/hledger/hledger-" + version + ".tar.gz")) + (sha256 + (base32 + "0wfsyf2q1kf90mj3lxs0m5ghj153axmpkc8xfy12vkz5imnyphfm")))) + (build-system haskell-build-system) + (inputs + `(("ghc-decimal" ,ghc-decimal) + ("ghc-diff" ,ghc-diff) + ("ghc-aeson" ,ghc-aeson) + ("ghc-ansi-terminal" ,ghc-ansi-terminal) + ("ghc-base-compat-batteries" + ,ghc-base-compat-batteries) + ("ghc-cmdargs" ,ghc-cmdargs) + ("ghc-data-default" ,ghc-data-default) + ("ghc-extra" ,ghc-extra) + ("ghc-hashable" ,ghc-hashable) + ("ghc-hledger-lib" ,ghc-hledger-lib) + ("ghc-lucid" ,ghc-lucid) + ("ghc-math-functions" ,ghc-math-functions) + ("ghc-megaparsec" ,ghc-megaparsec) + ("ghc-old-time" ,ghc-old-time) + ("ghc-pretty-show" ,ghc-pretty-show) + ("ghc-regex-tdfa" ,ghc-regex-tdfa) + ("ghc-safe" ,ghc-safe) + ("ghc-shakespeare" ,ghc-shakespeare) + ("ghc-split" ,ghc-split) + ("ghc-tabular" ,ghc-tabular) + ("ghc-tasty" ,ghc-tasty) + ("ghc-temporary" ,ghc-temporary) + ("ghc-timeit" ,ghc-timeit) + ("ghc-unordered-containers" + ,ghc-unordered-containers) + ("ghc-utf8-string" ,ghc-utf8-string) + ("ghc-utility-ht" ,ghc-utility-ht) + ("ghc-wizards" ,ghc-wizards))) + (home-page "https://hledger.org") + (synopsis "Command-line interface for the hledger accounting system") + (description "The command-line interface for the hledger accounting +system. Its basic function is to read a plain text file describing financial +transactions and produce useful reports. + +hledger is a robust, cross-platform set of tools for tracking money, time, +or any other commodity, using double-entry accounting and a simple, editable +file format, with command-line, terminal and web interfaces. It is a Haskell +rewrite of Ledger, and one of the leading implementations of Plain Text Accounting. +Read more at: @url{https://hledger.org}") + (license license:gpl3))) + (define-public homebank (package (name "homebank") -- 2.28.0
Christopher Baines <mail <at> cbaines.net>
:Carlo Holl <carloholl <at> gmail.com>
:Message #130 received at 44174-done <at> debbugs.gnu.org (full text, mbox):
From: Christopher Baines <mail <at> cbaines.net> To: Carlo Holl <carloholl <at> gmail.com> Cc: 44174-done <at> debbugs.gnu.org Subject: Re: [bug#44174] [PATCH v2 00/15] Add hledger and its dependencies. Date: Sun, 01 Nov 2020 13:38:29 +0000
[Message part 1 (text/plain, inline)]
Carlo Holl <carloholl <at> gmail.com> writes: > This patch series adds hledger, a plaintext accounting program. > > Changes since v1 (based on feedback from Christopher Baines): > - Fixed incorrect indentation. > - Added changelog entries to each commit message. > - Improved descriptions for some of the packages. > - Moved attribution to first commits to touch any given file. > > Notes: > > Christopher suggested I wrap an ascii table with @verbatim as part of the description for the ghc-tabular package so that it displays correctly, but I couldn't get 'guix show' to work with @verbatim, failing with <<Throw to key `parser-error' with args `(#<input: string 7fdb95dad700> "EOF while reading a token " "reading verbatim")'.>>. I used @example instead, which works under 'guix show', but I'm not sure what the implications are for other output formats. > > Carlo Holl (15): > gnu: Add ghc-control-monad-free. > gnu: Add ghc-csv. > gnu: Add ghc-decimal. > gnu: ghc-doctest: Update to 0.16.3. > gnu: Add ghc-hspec-megaparsec. > gnu: Add ghc-lucid. > gnu: Add ghc-only. > gnu: Add ghc-text-short. > gnu: Add ghc-tabular. > gnu: Add ghc-uglymemo. > gnu: Add ghc-wizards. > gnu: Add ghc-cassava. > gnu: Add ghc-cassava-megaparsec. > gnu: Add ghc-hledger-lib. > gnu: Add hledger. > > gnu/packages/finance.scm | 63 ++++ > gnu/packages/haskell-xyz.scm | 557 ++++++++++++++++++++++++++++++++++- > 2 files changed, 608 insertions(+), 12 deletions(-) Awesome! I went through and tweaked some descriptions and wrapping and pushed to master as e6bfb02eb79777b760031384d4a3c14239f7fb55. Thanks again, Chris
[signature.asc (application/pgp-signature, inline)]
guix-patches <at> gnu.org
:bug#44174
; Package guix-patches
.
(Sun, 01 Nov 2020 18:21:01 GMT) Full text and rfc822 format available.Message #133 received at 44174-done <at> debbugs.gnu.org (full text, mbox):
From: Ricardo Wurmus <rekado <at> elephly.net> To: Christopher Baines <mail <at> cbaines.net> Cc: 44174-done <at> debbugs.gnu.org, Carlo Holl <carloholl <at> gmail.com> Subject: Re: bug#44174: [PATCH v2 00/15] Add hledger and its dependencies. Date: Sun, 01 Nov 2020 19:22:30 +0100
Christopher Baines <mail <at> cbaines.net> writes: >> Carlo Holl (15): >> gnu: Add ghc-control-monad-free. >> gnu: Add ghc-csv. >> gnu: Add ghc-decimal. >> gnu: ghc-doctest: Update to 0.16.3. >> gnu: Add ghc-hspec-megaparsec. >> gnu: Add ghc-lucid. >> gnu: Add ghc-only. >> gnu: Add ghc-text-short. >> gnu: Add ghc-tabular. >> gnu: Add ghc-uglymemo. >> gnu: Add ghc-wizards. >> gnu: Add ghc-cassava. >> gnu: Add ghc-cassava-megaparsec. >> gnu: Add ghc-hledger-lib. >> gnu: Add hledger. >> >> gnu/packages/finance.scm | 63 ++++ >> gnu/packages/haskell-xyz.scm | 557 ++++++++++++++++++++++++++++++++++- >> 2 files changed, 608 insertions(+), 12 deletions(-) > > Awesome! I went through and tweaked some descriptions and wrapping and > pushed to master as e6bfb02eb79777b760031384d4a3c14239f7fb55. Unfortunately, some of these packages are the latest versions on Hackage, but we need to ensure that all Haskell packages are picked at versions corresponding to the currently supported version of LTSHaskell in Guix. We are behind the current LTSHaskell with our packages, so now we have the situation where we have packages that are *newer* than the latest LTSHaskell release and packages that are *older* than what the latest LTSHaskell release prescribes. We should fix this soon, because mixing Haskell packages from different LTS releases (or even ignoring the LTS releases in favour of the latest versions on Hackage) results in dependency hell for those users who want to use Guix for Haskell development. -- Ricardo
guix-patches <at> gnu.org
:bug#44174
; Package guix-patches
.
(Sun, 01 Nov 2020 21:10:02 GMT) Full text and rfc822 format available.Message #136 received at 44174-done <at> debbugs.gnu.org (full text, mbox):
From: Carlo Holl <carloholl <at> gmail.com> To: Ricardo Wurmus <rekado <at> elephly.net> Cc: 44174-done <at> debbugs.gnu.org, Christopher Baines <mail <at> cbaines.net> Subject: Re: bug#44174: [PATCH v2 00/15] Add hledger and its dependencies. Date: Sun, 1 Nov 2020 13:09:43 -0800
On 01.11.2020 19:22, Ricardo Wurmus wrote: > >Christopher Baines <mail <at> cbaines.net> writes: > >>> Carlo Holl (15): >>> gnu: Add ghc-control-monad-free. >>> gnu: Add ghc-csv. >>> gnu: Add ghc-decimal. >>> gnu: ghc-doctest: Update to 0.16.3. >>> gnu: Add ghc-hspec-megaparsec. >>> gnu: Add ghc-lucid. >>> gnu: Add ghc-only. >>> gnu: Add ghc-text-short. >>> gnu: Add ghc-tabular. >>> gnu: Add ghc-uglymemo. >>> gnu: Add ghc-wizards. >>> gnu: Add ghc-cassava. >>> gnu: Add ghc-cassava-megaparsec. >>> gnu: Add ghc-hledger-lib. >>> gnu: Add hledger. >>> >>> gnu/packages/finance.scm | 63 ++++ >>> gnu/packages/haskell-xyz.scm | 557 ++++++++++++++++++++++++++++++++++- >>> 2 files changed, 608 insertions(+), 12 deletions(-) >> >> Awesome! I went through and tweaked some descriptions and wrapping and >> pushed to master as e6bfb02eb79777b760031384d4a3c14239f7fb55. > >Unfortunately, some of these packages are the latest versions on >Hackage, but we need to ensure that all Haskell packages are picked at >versions corresponding to the currently supported version of LTSHaskell >in Guix. We are behind the current LTSHaskell with our packages, so now >we have the situation where we have packages that are *newer* than the >latest LTSHaskell release and packages that are *older* than what the >latest LTSHaskell release prescribes. > >We should fix this soon, because mixing Haskell packages from different >LTS releases (or even ignoring the LTS releases in favour of the latest >versions on Hackage) results in dependency hell for those users who want >to use Guix for Haskell development. > >-- >Ricardo Ricardo, Thanks for the heads-up. I can have a go at submitting a patch series to deal with this if you like. Since this would involve a downgrade, is there anything I need to watch out for? -- Carlo Holl carloholl <at> gmail.com
Debbugs Internal Request <help-debbugs <at> gnu.org>
to internal_control <at> debbugs.gnu.org
.
(Mon, 30 Nov 2020 12:24:10 GMT) Full text and rfc822 format available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.