unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#64840] [PATCH 00/12] Add elm-format.
@ 2023-07-24 20:15 Distopico
  2023-07-24 20:23 ` [bug#64840] [PATCH 01/12] gnu: ghc-quickcheck-instances: Update to 0.3.29 Distopico
  2023-08-31 17:48 ` [bug#64840] [PATCH 00/12] " Distopico
  0 siblings, 2 replies; 14+ messages in thread
From: Distopico @ 2023-07-24 20:15 UTC (permalink / raw)
  To: 64840; +Cc: Distopico

Adds `elm-format` tool form Elm language and all the depdencies required to build it,

Also, this fixes various ghc packages that didn't have 'text' as an explicit dependency and
were using the internal type, which created a type conflict manifested when building elm-format,
which required a version greater than what the other packages were using.

Distopico (12):
  gnu: ghc-quickcheck-instances: Update to 0.3.29.
  gnu: Add ghc-generically.
  gnu: Add ghc-aeson-2.1.
  gnu: Add ghc-data-array-byte.
  gnu: Add ghc-pooled-io.
  gnu: Add ghc-text.
  gnu: Add ghc-relude.
  gnu: Add ghc-concurrent-split.
  gnu: Add ghc-hspec-golden.
  gnu: Add ghc-bimap.
  gnu: Fix missing required ghc-text dependency.
  gnu: Add elm-format.

 gnu/packages/elm.scm           | 197 +++++++++++++++++++++++++++++++++
 gnu/packages/haskell-check.scm |   6 +-
 gnu/packages/haskell-web.scm   |  40 ++++++-
 gnu/packages/haskell-xyz.scm   | 177 ++++++++++++++++++++++++++++-
 4 files changed, 411 insertions(+), 9 deletions(-)


base-commit: cf9904bcc8dd03e73675475bb4d8746dc434e415
-- 
2.41.0





^ permalink raw reply	[flat|nested] 14+ messages in thread

* [bug#64840] [PATCH 01/12] gnu: ghc-quickcheck-instances: Update to 0.3.29.
  2023-07-24 20:15 [bug#64840] [PATCH 00/12] Add elm-format Distopico
@ 2023-07-24 20:23 ` Distopico
  2023-07-24 20:23   ` [bug#64840] [PATCH 02/12] gnu: Add ghc-generically Distopico
                     ` (10 more replies)
  2023-08-31 17:48 ` [bug#64840] [PATCH 00/12] " Distopico
  1 sibling, 11 replies; 14+ messages in thread
From: Distopico @ 2023-07-24 20:23 UTC (permalink / raw)
  To: 64840; +Cc: Distopico

* gnu/packages/haskell-check.scm (ghc-quickcheck-instances): Update to 0.3.29.
---
 gnu/packages/haskell-check.scm | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/haskell-check.scm b/gnu/packages/haskell-check.scm
index 5447ecec1e..65c5bb460c 100644
--- a/gnu/packages/haskell-check.scm
+++ b/gnu/packages/haskell-check.scm
@@ -365,13 +365,13 @@ (define-public ghc-tasty-expected-failure
 (define-public ghc-quickcheck-instances
   (package
     (name "ghc-quickcheck-instances")
-    (version "0.3.28")
+    (version "0.3.29")
     (source (origin
               (method url-fetch)
               (uri (hackage-uri "quickcheck-instances" version))
               (sha256
                (base32
-                "1jycijv7gaj6qrkp219nllrdv9zd0ifp0mb0rch430fm95xin4f4"))))
+                "12pxldi6rp40cvfwdaalwr33dr7xgv6azygwbb7s143hhj19gpwb"))))
     (build-system haskell-build-system)
     (properties '((upstream-name . "quickcheck-instances")))
     (inputs (list ghc-quickcheck
@@ -386,6 +386,7 @@ (define-public ghc-quickcheck-instances
                   ghc-scientific
                   ghc-strict
                   ghc-tagged
+                  ghc-data-array-byte
                   ghc-these
                   ghc-time-compat
                   ghc-transformers-compat
@@ -868,6 +869,7 @@ (define-public ghc-hedgehog
                   ghc-barbies
                   ghc-concurrent-output
                   ghc-erf
+                  ghc-text
                   ghc-lifted-async
                   ghc-mmorph
                   ghc-monad-control
-- 
2.41.0





^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [bug#64840] [PATCH 02/12] gnu: Add ghc-generically.
  2023-07-24 20:23 ` [bug#64840] [PATCH 01/12] gnu: ghc-quickcheck-instances: Update to 0.3.29 Distopico
@ 2023-07-24 20:23   ` Distopico
  2023-07-24 20:23   ` [bug#64840] [PATCH 03/12] gnu: Add ghc-aeson-2.1 Distopico
                     ` (9 subsequent siblings)
  10 siblings, 0 replies; 14+ messages in thread
From: Distopico @ 2023-07-24 20:23 UTC (permalink / raw)
  To: 64840; +Cc: Distopico

* gnu/packages/haskell-web.scm (ghc-generically): New variable.
---
 gnu/packages/haskell-web.scm | 24 +++++++++++++++++++++++-
 1 file changed, 23 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/haskell-web.scm b/gnu/packages/haskell-web.scm
index 75b84b10a7..6c6122299d 100644
--- a/gnu/packages/haskell-web.scm
+++ b/gnu/packages/haskell-web.scm
@@ -13,6 +13,7 @@
 ;;; Copyright © 2020 Alexandru-Sergiu Marton <brown121407@member.fsf.org>
 ;;; Copyright © 2020 Giacomo Leidi <goodoldpaul@autistici.org>
 ;;; Copyright © 2022 Alice Brenon <alice.brenon@ens-lyon.fr>
+;;; Copyright © 2023 Camilo Q.S. (Distopico) <distopico@riseup.net>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -1067,6 +1068,28 @@ (define-public ghc-aeson-better-errors
 @url{http://harry.garrood.me/blog/aeson-better-errors/}.")
     (license license:expat)))
 
+(define-public ghc-generically
+  (package
+    (name "ghc-generically")
+    (version "0.1.1")
+    (source (origin
+              (method url-fetch)
+              (uri (hackage-uri "generically" version))
+              (sha256
+               (base32
+                "1ks3pi6mpma83xffplz8vmimyhvzpnhmcgvk3bvl3c64pqva9i84"))))
+    (build-system haskell-build-system)
+    (properties '((upstream-name . "generically")))
+    (arguments
+     `(#:cabal-revision ("1"
+                         "0pkyhym7q9v03pplpfjg80vmpk0cbgc56panfx9vcbzadvxmx6rb")))
+    (home-page "https://hackage.haskell.org/package/generically")
+    (synopsis "Generically newtype to use with DerivingVia in Haskell")
+    (description
+     "This is a compatibility package as @code{Generically} and @code{Generically1}
+newtypes are available since base-4.17 in @code{GHC.Generics}.")
+    (license license:bsd-3)))
+
 (define-public ghc-multipart
   (package
     (name "ghc-multipart")
@@ -2171,4 +2194,3 @@ (define-public ghc-network-run
     (description
      "This package provides a simple network runner library in Haskell.")
     (license license:bsd-3)))
-
-- 
2.41.0





^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [bug#64840] [PATCH 03/12] gnu: Add ghc-aeson-2.1.
  2023-07-24 20:23 ` [bug#64840] [PATCH 01/12] gnu: ghc-quickcheck-instances: Update to 0.3.29 Distopico
  2023-07-24 20:23   ` [bug#64840] [PATCH 02/12] gnu: Add ghc-generically Distopico
@ 2023-07-24 20:23   ` Distopico
  2023-07-24 20:23   ` [bug#64840] [PATCH 04/12] gnu: Add ghc-data-array-byte Distopico
                     ` (8 subsequent siblings)
  10 siblings, 0 replies; 14+ messages in thread
From: Distopico @ 2023-07-24 20:23 UTC (permalink / raw)
  To: 64840; +Cc: Distopico

* gnu/packages/haskell-web.scm (ghc-aeson-2.1): New variable.
---
 gnu/packages/haskell-web.scm | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/gnu/packages/haskell-web.scm b/gnu/packages/haskell-web.scm
index 6c6122299d..967ff77eec 100644
--- a/gnu/packages/haskell-web.scm
+++ b/gnu/packages/haskell-web.scm
@@ -977,6 +977,22 @@ (define-public ghc-aeson
 naming: in Greek mythology, Aeson was the father of Jason.)")
     (license license:bsd-3)))
 
+(define-public ghc-aeson-2.1
+  (package
+    (inherit ghc-aeson)
+    (version "2.1.2.1")
+    (source (origin
+              (method url-fetch)
+              (uri (hackage-uri "aeson" version))
+              (sha256
+               (base32
+                "1ii26lz9czxqhck11pzhqlhfhm9zgbrhiydv4gh1w66f0fwl4h2x"))))
+    (inputs (modify-inputs (package-inputs ghc-aeson)
+              (prepend ghc-generically)))
+    (arguments
+     `(#:cabal-revision ("1"
+                         "1yiib3ay9961pzs1bb09waw40qkk8w74553bwjp5gkym3dk3q3zi")))))
+
 (define-public ghc-aeson-pretty
   (package
     (name "ghc-aeson-pretty")
-- 
2.41.0





^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [bug#64840] [PATCH 04/12] gnu: Add ghc-data-array-byte.
  2023-07-24 20:23 ` [bug#64840] [PATCH 01/12] gnu: ghc-quickcheck-instances: Update to 0.3.29 Distopico
  2023-07-24 20:23   ` [bug#64840] [PATCH 02/12] gnu: Add ghc-generically Distopico
  2023-07-24 20:23   ` [bug#64840] [PATCH 03/12] gnu: Add ghc-aeson-2.1 Distopico
@ 2023-07-24 20:23   ` Distopico
  2023-07-24 20:23   ` [bug#64840] [PATCH 05/12] gnu: Add ghc-pooled-io Distopico
                     ` (7 subsequent siblings)
  10 siblings, 0 replies; 14+ messages in thread
From: Distopico @ 2023-07-24 20:23 UTC (permalink / raw)
  To: 64840; +Cc: Distopico

* gnu/packages/haskell-xyz.scm (ghc-data-array-byte): New variable.
---
 gnu/packages/haskell-xyz.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index 71df4192dc..4be7bd970c 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -33,6 +33,7 @@
 ;;; Copyright © 2022 jgart <jgart@dismail.de>
 ;;; Copyright © 2023 Josselin Poiret <dev@jpoiret.xyz>
 ;;; Copyright © 2023 zamfofex <zamfofex@twdb.moe>
+;;; Copyright © 2023 Camilo Q.S. (Distopico) <distopico@riseup.net>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -2612,6 +2613,28 @@ (define-public ghc-csv
 lingua franca for spreadsheets, and for certain web services.")
     (license license:expat)))
 
+(define-public ghc-data-array-byte
+  (package
+    (name "ghc-data-array-byte")
+    (version "0.1.0.1")
+    (source (origin
+              (method url-fetch)
+              (uri (hackage-uri "data-array-byte" version))
+              (sha256
+               (base32
+                "002n0af7q08q3fmgsc5b47s1clirxy0lrqglwxzhabg0nfhfrdhv"))))
+    (build-system haskell-build-system)
+    (properties '((upstream-name . "data-array-byte")))
+    (native-inputs (list ghc-tasty ghc-tasty-quickcheck
+                         ghc-quickcheck-classes-base))
+    (home-page "https://hackage.haskell.org/package/data-array-byte")
+    (synopsis "Haskell compatibility layer for Data.Array.Byte")
+    (description
+     "This package provides Haskell compatibility layer for @code{Data.Array.Byte},
+providing boxed wrappers for @code{ByteArray} and @code{MutableByteArray} and relevant
+instances for GHC < 9.4.")
+    (license license:bsd-3)))
+
 (define-public ghc-data-accessor
   (package
     (name "ghc-data-accessor")
-- 
2.41.0





^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [bug#64840] [PATCH 05/12] gnu: Add ghc-pooled-io.
  2023-07-24 20:23 ` [bug#64840] [PATCH 01/12] gnu: ghc-quickcheck-instances: Update to 0.3.29 Distopico
                     ` (2 preceding siblings ...)
  2023-07-24 20:23   ` [bug#64840] [PATCH 04/12] gnu: Add ghc-data-array-byte Distopico
@ 2023-07-24 20:23   ` Distopico
  2023-07-24 20:23   ` [bug#64840] [PATCH 06/12] gnu: Add ghc-text Distopico
                     ` (6 subsequent siblings)
  10 siblings, 0 replies; 14+ messages in thread
From: Distopico @ 2023-07-24 20:23 UTC (permalink / raw)
  To: 64840; +Cc: Distopico

* gnu/packages/haskell-xyz.scm (ghc-pooled-io): New variable.
---
 gnu/packages/haskell-xyz.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index 4be7bd970c..879d662da6 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -8987,6 +8987,29 @@ (define-public ghc-pipes
 @end itemize")
     (license license:bsd-3)))
 
+(define-public ghc-pooled-io
+  (package
+    (name "ghc-pooled-io")
+    (version "0.0.2.3")
+    (source (origin
+              (method url-fetch)
+              (uri (hackage-uri "pooled-io" version))
+              (sha256
+               (base32
+                "0ysgfwlppilj21sqhbcq7xbyc5hnc26mzb58y7mm9rd5piw3v7mc"))))
+    (build-system haskell-build-system)
+    (properties '((upstream-name . "pooled-io")))
+    (inputs (list ghc-utility-ht ghc-unsafe ghc-concurrent-split))
+    (home-page "https://hub.darcs.net/thielema/pooled-io")
+    (synopsis
+     "Run jobs on a limited number of threads and support data dependencies")
+    (description
+     "This package provide run computations on multiple cores that need to write
+intermediate results to disk.  The functions restrict the number of simultaneously
+running jobs to a user given number or to the number of capabilities the Haskell
+program.")
+    (license license:bsd-3)))
+
 (define-public ghc-pointedlist
   (package
     (name "ghc-pointedlist")
-- 
2.41.0





^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [bug#64840] [PATCH 06/12] gnu: Add ghc-text.
  2023-07-24 20:23 ` [bug#64840] [PATCH 01/12] gnu: ghc-quickcheck-instances: Update to 0.3.29 Distopico
                     ` (3 preceding siblings ...)
  2023-07-24 20:23   ` [bug#64840] [PATCH 05/12] gnu: Add ghc-pooled-io Distopico
@ 2023-07-24 20:23   ` Distopico
  2023-07-24 20:23   ` [bug#64840] [PATCH 07/12] gnu: Add ghc-relude Distopico
                     ` (5 subsequent siblings)
  10 siblings, 0 replies; 14+ messages in thread
From: Distopico @ 2023-07-24 20:23 UTC (permalink / raw)
  To: 64840; +Cc: Distopico

* gnu/packages/haskell-xyz.scm (ghc-text): 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 879d662da6..f25fb89950 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -12098,6 +12098,32 @@ (define-public ghc-tar-conduit
 interface for extracting and creating tar files.")
     (license license:expat)))
 
+(define-public ghc-text
+  (package
+    (name "ghc-text")
+    (version "2.0.2")
+    (source (origin
+              (method url-fetch)
+              (uri (hackage-uri "text" version))
+              (sha256
+               (base32
+                "1bggb4gq15r7z685w7c7hbm3w4n6day451ickz70d1l919jvwdf7"))))
+    (build-system haskell-build-system)
+    (properties '((upstream-name . "text")))
+    (arguments
+     ;; Disable otherwise crate a circular
+     ;; dependency with tasty
+     (list #:tests? #f))
+    (home-page "https://hackage.haskell.org/package/text")
+    (synopsis "Haskell library for immutable Unicode text type")
+    (description
+     "This package provides a library for immutable Unicode text type
+(both strict and lazy).  The Text type represents Unicode character
+strings, in a time and space-efficient manner.  Also provides text
+processing capabilities that are optimized for performance critical
+use, both in terms of large data quantities and high speed.")
+    (license license:bsd-2)))
+
 (define-public ghc-temporary
   (package
     (name "ghc-temporary")
-- 
2.41.0





^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [bug#64840] [PATCH 07/12] gnu: Add ghc-relude.
  2023-07-24 20:23 ` [bug#64840] [PATCH 01/12] gnu: ghc-quickcheck-instances: Update to 0.3.29 Distopico
                     ` (4 preceding siblings ...)
  2023-07-24 20:23   ` [bug#64840] [PATCH 06/12] gnu: Add ghc-text Distopico
@ 2023-07-24 20:23   ` Distopico
  2023-07-24 20:23   ` [bug#64840] [PATCH 08/12] gnu: Add ghc-concurrent-split Distopico
                     ` (4 subsequent siblings)
  10 siblings, 0 replies; 14+ messages in thread
From: Distopico @ 2023-07-24 20:23 UTC (permalink / raw)
  To: 64840; +Cc: Distopico

* gnu/packages/haskell-xyz.scm (ghc-relude): New variable.
---
 gnu/packages/haskell-xyz.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index f25fb89950..837c8ade16 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -10052,6 +10052,29 @@ (define-public ghc-regex-tdfa
 inspired by libtre.")
     (license license:bsd-3)))
 
+(define-public ghc-relude
+  (package
+    (name "ghc-relude")
+    (version "1.1.0.0")
+    (source (origin
+              (method url-fetch)
+              (uri (hackage-uri "relude" version))
+              (sha256
+               (base32
+                "02dn99v2qmykj0l1qmn15k36hyxccy71b7iqavfk24zgjf5g07dm"))))
+    (build-system haskell-build-system)
+    (properties '((upstream-name . "relude")))
+    (arguments
+     (list #:tests? #f))
+    (native-inputs (list ghc-doctest ghc-glob))
+    (inputs (list ghc-text ghc-hashable ghc-unordered-containers))
+    (home-page "https://hackage.haskell.org/package/relude")
+    (synopsis "Haskell standard library alternative for prelude library")
+    (description
+     "This package provide an haskell standard library alternative for
+the default haskell prelude library.")
+    (license license:expat)))
+
 (define-public ghc-repline
   (package
     (name "ghc-repline")
-- 
2.41.0





^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [bug#64840] [PATCH 08/12] gnu: Add ghc-concurrent-split.
  2023-07-24 20:23 ` [bug#64840] [PATCH 01/12] gnu: ghc-quickcheck-instances: Update to 0.3.29 Distopico
                     ` (5 preceding siblings ...)
  2023-07-24 20:23   ` [bug#64840] [PATCH 07/12] gnu: Add ghc-relude Distopico
@ 2023-07-24 20:23   ` Distopico
  2023-07-24 20:23   ` [bug#64840] [PATCH 09/12] gnu: Add ghc-hspec-golden Distopico
                     ` (3 subsequent siblings)
  10 siblings, 0 replies; 14+ messages in thread
From: Distopico @ 2023-07-24 20:23 UTC (permalink / raw)
  To: 64840; +Cc: Distopico

* gnu/packages/haskell-xyz.scm (ghc-concurrent-split): New variable.
---
 gnu/packages/haskell-xyz.scm | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index 837c8ade16..34a1a32cc7 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -13345,6 +13345,26 @@ (define-public ghc-unordered-containers-bootstrap
     (native-inputs '())
     (properties '((hidden? #t)))))
 
+(define-public ghc-concurrent-split
+  (package
+    (name "ghc-concurrent-split")
+    (version "0.0.1.1")
+    (source (origin
+              (method url-fetch)
+              (uri (hackage-uri "concurrent-split" version))
+              (sha256
+               (base32
+                "0i9gak7q3ay8g1kzq7dg0bs36bg88n7kwy3h1r6jrni7mz7jh05f"))))
+    (build-system haskell-build-system)
+    (properties '((upstream-name . "concurrent-split")))
+    (home-page "https://hub.darcs.net/thielema/concurrent-split")
+    (synopsis "MVars and Channels with distinguished input and output side")
+    (description
+     "This package provides MVars and Channels with distinguished input and
+output side around the standard concurrency communication channels that make
+the distinction clear and type safe.")
+    (license license:bsd-3)))
+
 (define-public ghc-commutative-semigroups
   (package
     (name "ghc-commutative-semigroups")
-- 
2.41.0





^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [bug#64840] [PATCH 09/12] gnu: Add ghc-hspec-golden.
  2023-07-24 20:23 ` [bug#64840] [PATCH 01/12] gnu: ghc-quickcheck-instances: Update to 0.3.29 Distopico
                     ` (6 preceding siblings ...)
  2023-07-24 20:23   ` [bug#64840] [PATCH 08/12] gnu: Add ghc-concurrent-split Distopico
@ 2023-07-24 20:23   ` Distopico
  2023-07-24 20:23   ` [bug#64840] [PATCH 10/12] gnu: Add ghc-bimap Distopico
                     ` (2 subsequent siblings)
  10 siblings, 0 replies; 14+ messages in thread
From: Distopico @ 2023-07-24 20:23 UTC (permalink / raw)
  To: 64840; +Cc: Distopico

* gnu/packages/haskell-xyz.scm (ghc-hspec-golden): 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 34a1a32cc7..e3c5d525b1 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -16606,6 +16606,32 @@ (define-public ghc-newtype
 such as ala'.")
     (license license:bsd-3)))
 
+(define-public ghc-hspec-golden
+  (package
+    (name "ghc-hspec-golden")
+    (version "0.2.1.0")
+    (source (origin
+              (method url-fetch)
+              (uri (hackage-uri "hspec-golden" version))
+              (sha256
+               (base32
+                "07bfwj10n75l5zskwx4yzi86xxp5b4f692bjjkqs5b970h6gw33y"))))
+    (build-system haskell-build-system)
+    (properties '((upstream-name . "hspec-golden")))
+    (inputs (list ghc-hspec
+                  ghc-hspec-core
+                  ghc-silently
+                  ghc-optparse-applicative
+                  hspec-discover))
+    (home-page "https://hackage.haskell.org/package/hspec-golden")
+    (synopsis "Haskell golden tests for hspec")
+    (description
+     "This package provides golden tests store the expected output in a
+separated file.
+Each time a golden test is executed the output of the subject
+under test (SUT) is compared with the expected output.")
+    (license license:expat)))
+
 (define-public ghc-hspec-hedgehog
   (package
     (name "ghc-hspec-hedgehog")
-- 
2.41.0





^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [bug#64840] [PATCH 10/12] gnu: Add ghc-bimap.
  2023-07-24 20:23 ` [bug#64840] [PATCH 01/12] gnu: ghc-quickcheck-instances: Update to 0.3.29 Distopico
                     ` (7 preceding siblings ...)
  2023-07-24 20:23   ` [bug#64840] [PATCH 09/12] gnu: Add ghc-hspec-golden Distopico
@ 2023-07-24 20:23   ` Distopico
  2023-07-24 20:23   ` [bug#64840] [PATCH 11/12] gnu: Fix missing required ghc-text dependency Distopico
  2023-07-24 20:23   ` [bug#64840] [PATCH 12/12] gnu: Add elm-format Distopico
  10 siblings, 0 replies; 14+ messages in thread
From: Distopico @ 2023-07-24 20:23 UTC (permalink / raw)
  To: 64840; +Cc: Distopico

* gnu/packages/haskell-xyz.scm (ghc-bimap): New variable.
---
 gnu/packages/haskell-xyz.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index e3c5d525b1..337dcac4d8 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -936,6 +936,27 @@ (define-public ghc-bencode
 storing and transmitting loosely structured data.")
     (license license:bsd-3)))
 
+(define-public ghc-bimap
+  (package
+    (name "ghc-bimap")
+    (version "0.5.0")
+    (source (origin
+              (method url-fetch)
+              (uri (hackage-uri "bimap" version))
+              (sha256
+               (base32
+                "158cdwk9jwklcfgbn62dqq255i40w13ifggsdps87sxc5q7lpd5h"))))
+    (build-system haskell-build-system)
+    (properties '((upstream-name . "bimap")))
+    (native-inputs (list ghc-quickcheck))
+    (home-page "https://hackage.haskell.org/package/bimap")
+    (synopsis "Bidirectional mapping between two key types for Haskell")
+    (description
+     "This pckage provides data structure representing a bidirectional
+mapping between two key types.  Each value in the bimap is associated
+with exactly one value of the opposite type.")
+    (license license:bsd-3)))
+
 (define-public ghc-bifunctors
   (package
     (name "ghc-bifunctors")
-- 
2.41.0





^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [bug#64840] [PATCH 11/12] gnu: Fix missing required ghc-text dependency.
  2023-07-24 20:23 ` [bug#64840] [PATCH 01/12] gnu: ghc-quickcheck-instances: Update to 0.3.29 Distopico
                     ` (8 preceding siblings ...)
  2023-07-24 20:23   ` [bug#64840] [PATCH 10/12] gnu: Add ghc-bimap Distopico
@ 2023-07-24 20:23   ` Distopico
  2023-07-24 20:23   ` [bug#64840] [PATCH 12/12] gnu: Add elm-format Distopico
  10 siblings, 0 replies; 14+ messages in thread
From: Distopico @ 2023-07-24 20:23 UTC (permalink / raw)
  To: 64840; +Cc: Distopico

Several package require `text` haskell library as dependency but those are
using the internal haskell type creation a mismatch of types

An example of this is
https://hackage.haskell.org/package/pretty-show-1.10/dependencies

* gnu/packages/haskell-xyz.scm.
---
 gnu/packages/haskell-xyz.scm | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)

diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index 337dcac4d8..f1955dd1c2 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -425,7 +425,7 @@ (define-public ghc-ansi-wl-pprint
      `(#:cabal-revision
        ("2" "1xrv66v5hqchjhj8a0g3awy1qpsswk2jqb4w4yh3mm1py5s0dlr0")))
     (inputs
-     (list ghc-ansi-terminal))
+     (list ghc-text ghc-ansi-terminal))
     (home-page "https://github.com/ekmett/ansi-wl-pprint")
     (synopsis "Wadler/Leijen Pretty Printer for colored ANSI terminal output")
     (description "This is a pretty printing library based on Wadler's paper
@@ -1494,7 +1494,7 @@ (define-public ghc-cassava
 @item
 Customizable record-conversion instance derivation via GHC generics
 @item
-Low-level @url{https://hackage.haskell.org/package/bytestring), bytestring}
+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
@@ -4904,6 +4904,7 @@ (define-public ghc-hashable
     (build-system haskell-build-system)
     (properties '((upstream-name . "hashable")))
     (native-inputs (list ghc-hunit
+                         ghc-text
                          ghc-quickcheck
                          ghc-random
                          ghc-test-framework
@@ -8207,7 +8208,7 @@ (define-public ghc-optparse-applicative
                 "097p1bkvw9r3rvcr65w53yw14drb0s46ldkkl1jbmq5g7m6jwnw2"))))
     (build-system haskell-build-system)
     (properties '((upstream-name . "optparse-applicative")))
-    (inputs (list ghc-transformers-compat ghc-ansi-wl-pprint))
+    (inputs (list ghc-text ghc-transformers-compat ghc-ansi-wl-pprint))
     (native-inputs (list ghc-quickcheck))
     (home-page "https://github.com/pcapriotti/optparse-applicative")
     (synopsis "Utilities and combinators for parsing command line options")
@@ -9232,7 +9233,7 @@ (define-public ghc-pretty-show
     (build-system haskell-build-system)
     (properties '((upstream-name . "pretty-show")))
     (inputs
-     (list ghc-haskell-lexer ghc-happy))
+     (list ghc-text ghc-haskell-lexer ghc-happy))
     (home-page "https://wiki.github.com/yav/pretty-show")
     (synopsis "Tools for working with derived `Show` instances")
     (description
@@ -9947,6 +9948,7 @@ (define-public ghc-regex-base
                 "1w9fxad1dwi040r3db9i2cjhhrl86p3hngj13ixbcnqgb27l16bv"))))
     (build-system haskell-build-system)
     (properties '((upstream-name . "regex-base")))
+    (inputs (list ghc-text))
     (arguments
      `(#:cabal-revision ("1"
                          "1k2gzjm7xz69f7zr08wh2wzb5dhb659cvimsvx0g9p8cf5f45x2g")))
@@ -10816,7 +10818,7 @@ (define-public ghc-semigroups
                 "1qbk6scp1rzb69dy8mz26p6az5vi16g2lzwmwnfshh3br4rjwbch"))))
     (build-system haskell-build-system)
     (properties '((upstream-name . "semigroups")))
-    (inputs (list ghc-nats ghc-tagged ghc-hashable ghc-unordered-containers
+    (inputs (list ghc-text ghc-nats ghc-tagged ghc-hashable ghc-unordered-containers
                   ghc-transformers-compat))
     (home-page "http://github.com/ekmett/semigroups/")
     (synopsis "Semigroup operations for Haskell")
@@ -14053,6 +14055,7 @@ (define-public ghc-wl-pprint-annotated
          "1br7qyf27iza213inwhf9bm2k6in0zbmfw6w4clqlc9f9cj2nrkb"))))
     (build-system haskell-build-system)
     (properties '((upstream-name . "wl-pprint-annotated")))
+    (inputs (list ghc-text))
     (native-inputs
      (list ghc-tasty ghc-tasty-hunit))
     (home-page
@@ -14224,6 +14227,7 @@ (define-public ghc-xml
          "0g814lj7vaxvib2g3r734221k80k7ap9czv9hinifn8syals3l9j"))))
     (build-system haskell-build-system)
     (properties '((upstream-name . "xml")))
+    (inputs (list ghc-text))
     (home-page "https://github.com/GaloisInc/xml")
     (synopsis "Simple XML library for Haskell")
     (description "This package provides a simple XML library for Haskell.")
@@ -16909,4 +16913,3 @@ (define-public ghc-ref-tf
 ;;; of a merge conflict, place them above by existing packages with similar
 ;;; functionality or similar names.
 ;;;
-
-- 
2.41.0





^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [bug#64840] [PATCH 12/12] gnu: Add elm-format.
  2023-07-24 20:23 ` [bug#64840] [PATCH 01/12] gnu: ghc-quickcheck-instances: Update to 0.3.29 Distopico
                     ` (9 preceding siblings ...)
  2023-07-24 20:23   ` [bug#64840] [PATCH 11/12] gnu: Fix missing required ghc-text dependency Distopico
@ 2023-07-24 20:23   ` Distopico
  10 siblings, 0 replies; 14+ messages in thread
From: Distopico @ 2023-07-24 20:23 UTC (permalink / raw)
  To: 64840; +Cc: Distopico

* gnu/packages/elm.scm (elm-format): New variable.
---
 gnu/packages/elm.scm | 197 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 197 insertions(+)

diff --git a/gnu/packages/elm.scm b/gnu/packages/elm.scm
index a74d294ae5..5361634abb 100644
--- a/gnu/packages/elm.scm
+++ b/gnu/packages/elm.scm
@@ -2,6 +2,7 @@
 ;;; Copyright © 2019 Robert Vollmert <rob@vllmrt.net>
 ;;; Copyright © 2022 Philip McGrath <philip@philipmcgrath.com>
 ;;; Copyright © 2022 jgart <jgart@dismail.de>
+;;; Copyright © 2023 Camilo Q.S. (Distopico) <distopico@riseup.net>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -384,6 +385,202 @@ (define-public elm-bytes
 and @code{DataView}.")
     (license license:bsd-3)))
 
+(define elm-format-avh4-lib
+  (let ((commit "b5cca4c26b473dab06e5d73b98148637e4770d45"))
+    (package
+      (name "elm-format-avh4-lib")
+      (version "0.0.0.1")
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/avh4/elm-format")
+                      (commit commit)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "04l1bn4w8q3ifd6mc4mfrqxfbihmqnpfjdn6gr0x2jqcasjbk0bi"))))
+      (build-system haskell-build-system)
+      (properties '((upstream-name . "avh4-lib") (hidden? #t)))
+      (arguments
+       ;; Require and use ghc-text but ghc doesn't detect it
+       `(#:configure-flags (list "--ghc-option=-Wno-error=unused-packages")
+         #:tests? #f
+         #:phases (modify-phases %standard-phases
+                    (add-after 'unpack 'enter-lib-subdirectory
+                      (lambda _
+                        (chdir "avh4-lib"))))))
+      (inputs (list ghc-pooled-io ghc-text ghc-relude))
+      (native-inputs (list ghc-tasty ghc-tasty-hunit ghc-tasty-hspec))
+      (home-page "https://github.com/avh4/elm-format/tree/main/avh4-lib")
+      (synopsis "Common code for elm-format packages")
+      (description
+       "This packages provides common code for @command{elm-format} haskell projects.")
+      (license license:bsd-3))))
+
+(define elm-format-test-lib
+  (let ((commit "b5cca4c26b473dab06e5d73b98148637e4770d45"))
+    (package
+      (name "elm-format-test-lib")
+      (version "0.0.0.1")
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/avh4/elm-format")
+                      (commit commit)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "04l1bn4w8q3ifd6mc4mfrqxfbihmqnpfjdn6gr0x2jqcasjbk0bi"))))
+      (build-system haskell-build-system)
+      (properties '((upstream-name . "elm-format-test-lib") (hidden? #t)))
+      (arguments
+       `(#:tests? #f
+         #:phases (modify-phases %standard-phases
+                    (add-after 'unpack 'enter-lib-subdirectory
+                      (lambda _
+                        (chdir "elm-format-test-lib"))))))
+      (inputs (list elm-format-avh4-lib ghc-split ghc-text))
+      (native-inputs (list ghc-hspec-golden ghc-hspec ghc-tasty-hspec
+                           ghc-tasty-hunit))
+      (home-page
+       "https://github.com/avh4/elm-format/tree/main/elm-format-test-lib")
+      (synopsis "Test helpers used by elm-format")
+      (description "This package provides elf-format helpers for test used by
+@command{elm-format}, elm-format-tests and elm-refactor-tests.")
+      (license license:bsd-3))))
+
+(define elm-format-markdown
+  (let ((commit "b5cca4c26b473dab06e5d73b98148637e4770d45"))
+    (package
+      (name "elm-format-markdown")
+      (version "0.0.0.1")
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/avh4/elm-format")
+                      (commit commit)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "04l1bn4w8q3ifd6mc4mfrqxfbihmqnpfjdn6gr0x2jqcasjbk0bi"))))
+      (build-system haskell-build-system)
+      (properties '((upstream-name . "elm-format-markdown") (hidden? #t)))
+      (arguments
+       `(#:tests? #f
+         #:phases (modify-phases %standard-phases
+                    (add-after 'unpack 'enter-lib-subdirectory
+                      (lambda _
+                        (chdir "elm-format-markdown"))))))
+      (inputs (list elm-format-avh4-lib ghc-split ghc-text))
+      (native-inputs (list ghc-hspec-golden ghc-tasty ghc-tasty-hunit
+                           ghc-tasty-hspec))
+      (home-page
+       "https://github.com/avh4/elm-format/blob/main/elm-format-markdown")
+      (synopsis "Markdown parsing for Elm documentation comments")
+      (description "This package provides an markdown parsing for Elm
+documentation comments used by @command{elm-format}.")
+      (license license:bsd-3))))
+
+(define elm-format-lib
+  (let ((commit "b5cca4c26b473dab06e5d73b98148637e4770d45"))
+    (package
+      (name "elm-format-lib")
+      (version "0.0.0.1")
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/avh4/elm-format")
+                      (commit commit)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "04l1bn4w8q3ifd6mc4mfrqxfbihmqnpfjdn6gr0x2jqcasjbk0bi"))))
+      (build-system haskell-build-system)
+      (properties '((upstream-name . "elm-format-lib") (hidden? #t)))
+      (arguments
+       `(#:tests? #f
+         #:phases (modify-phases %standard-phases
+                    (add-after 'unpack 'enter-lib-subdirectory
+                      (lambda _
+                        (chdir "elm-format-lib"))))))
+      (inputs
+       (list elm-format-avh4-lib
+             elm-format-markdown
+             ghc-optparse-applicative
+             ghc-aeson-2.1
+             ghc-bimap
+             ghc-relude
+             ghc-text))
+      (native-inputs
+       (list elm-format-test-lib
+             ghc-split
+             ghc-hspec
+             ghc-tasty
+             ghc-tasty-hspec
+             ghc-tasty-hunit))
+      (home-page "https://github.com/avh4/elm-format/blob/main/elm-format-lib")
+      (synopsis "Common code used by elm-format")
+      (description "This package provides elm-format library with common code
+used by @command{elm-format} and elm-refactor.")
+      (license license:bsd-3))))
+
+(define-public elm-format
+  (package
+    (name "elm-format")
+    (version "0.8.7")
+    (source (origin
+              (method git-fetch)
+              (file-name (git-file-name name version))
+              (uri (git-reference
+                    (url "https://github.com/avh4/elm-format")
+                    (commit version)))
+              (sha256
+               (base32
+                "04l1bn4w8q3ifd6mc4mfrqxfbihmqnpfjdn6gr0x2jqcasjbk0bi"))
+              (modules '((guix build utils)))
+              (snippet
+               '(begin
+                  ;; We don't build these library in this packages.
+                  (delete-file-recursively "avh4-lib")
+                  (delete-file-recursively "elm-format-lib")
+                  (delete-file-recursively "elm-format-test-lib")
+                  (delete-file-recursively "elm-format-markdown")))))
+    (build-system haskell-build-system)
+    (arguments
+     `(#:phases (modify-phases %standard-phases
+                  (add-before 'configure 'ganerate-build-file
+                    (lambda _
+                      ;; We need crate manually this build file
+                      ;; because elm-format use `hpack`.
+                      (mkdir "generated")
+                      (let ((f (open-file "generated/Build_elm_format.hs" "a")))
+                        (display "module Build_elm_format where\n" f)
+                        (display "gitDescribe :: String\n" f)
+                        (display (string-append "gitDescribe = \""
+                                                ,(package-version elm-format)
+                                                "\"") f)
+                        (close-port f)))))))
+    (inputs
+     (list elm-format-avh4-lib
+           elm-format-lib
+           ghc-aeson
+           ghc-text
+           ghc-relude
+           ghc-aeson-2.1
+           ghc-ansi-wl-pprint
+           ghc-quickcheck
+           ghc-hspec))
+    (native-inputs
+     (list elm-format-test-lib ghc-tasty ghc-tasty-quickcheck
+           ghc-tasty-hunit ghc-tasty-hspec))
+    (home-page "https://github.com/avh4/elm-format")
+    (synopsis "Source code formatter for Elm programming language")
+    (description
+     "Formats @url{https://elm-lang.org/, Elm} programming language
+source code according to a standard set of rules based on the
+@url{https://elm-lang.org/docs/style-guide, official Elm Style Guide}.")
+    (license license:bsd-3)))
+
 (define-public elm-file
   (package
     (name "elm-file")
-- 
2.41.0





^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [bug#64840] [PATCH 00/12] Add elm-format.
  2023-07-24 20:15 [bug#64840] [PATCH 00/12] Add elm-format Distopico
  2023-07-24 20:23 ` [bug#64840] [PATCH 01/12] gnu: ghc-quickcheck-instances: Update to 0.3.29 Distopico
@ 2023-08-31 17:48 ` Distopico
  1 sibling, 0 replies; 14+ messages in thread
From: Distopico @ 2023-08-31 17:48 UTC (permalink / raw)
  To: 64840
  Cc: lars, paren, mail, ludo, othacehe, rg, rekado, zimon.toutoune, me,
	jgart

[-- Attachment #1: Type: text/plain, Size: 1246 bytes --]


Hi All, Just a friendly reminder about this one, any feedback?

Best!

On 2023-07-24, Distopico <distopico@riseup.net> wrote:

> Adds `elm-format` tool form Elm language and all the depdencies required to build it,
>
> Also, this fixes various ghc packages that didn't have 'text' as an explicit dependency and
> were using the internal type, which created a type conflict manifested when building elm-format,
> which required a version greater than what the other packages were using.
>
> Distopico (12):
>   gnu: ghc-quickcheck-instances: Update to 0.3.29.
>   gnu: Add ghc-generically.
>   gnu: Add ghc-aeson-2.1.
>   gnu: Add ghc-data-array-byte.
>   gnu: Add ghc-pooled-io.
>   gnu: Add ghc-text.
>   gnu: Add ghc-relude.
>   gnu: Add ghc-concurrent-split.
>   gnu: Add ghc-hspec-golden.
>   gnu: Add ghc-bimap.
>   gnu: Fix missing required ghc-text dependency.
>   gnu: Add elm-format.
>
>  gnu/packages/elm.scm           | 197 +++++++++++++++++++++++++++++++++
>  gnu/packages/haskell-check.scm |   6 +-
>  gnu/packages/haskell-web.scm   |  40 ++++++-
>  gnu/packages/haskell-xyz.scm   | 177 ++++++++++++++++++++++++++++-
>  4 files changed, 411 insertions(+), 9 deletions(-)
>
>
> base-commit: cf9904bcc8dd03e73675475bb4d8746dc434e415


[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 515 bytes --]

^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2023-08-31 17:51 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-07-24 20:15 [bug#64840] [PATCH 00/12] Add elm-format Distopico
2023-07-24 20:23 ` [bug#64840] [PATCH 01/12] gnu: ghc-quickcheck-instances: Update to 0.3.29 Distopico
2023-07-24 20:23   ` [bug#64840] [PATCH 02/12] gnu: Add ghc-generically Distopico
2023-07-24 20:23   ` [bug#64840] [PATCH 03/12] gnu: Add ghc-aeson-2.1 Distopico
2023-07-24 20:23   ` [bug#64840] [PATCH 04/12] gnu: Add ghc-data-array-byte Distopico
2023-07-24 20:23   ` [bug#64840] [PATCH 05/12] gnu: Add ghc-pooled-io Distopico
2023-07-24 20:23   ` [bug#64840] [PATCH 06/12] gnu: Add ghc-text Distopico
2023-07-24 20:23   ` [bug#64840] [PATCH 07/12] gnu: Add ghc-relude Distopico
2023-07-24 20:23   ` [bug#64840] [PATCH 08/12] gnu: Add ghc-concurrent-split Distopico
2023-07-24 20:23   ` [bug#64840] [PATCH 09/12] gnu: Add ghc-hspec-golden Distopico
2023-07-24 20:23   ` [bug#64840] [PATCH 10/12] gnu: Add ghc-bimap Distopico
2023-07-24 20:23   ` [bug#64840] [PATCH 11/12] gnu: Fix missing required ghc-text dependency Distopico
2023-07-24 20:23   ` [bug#64840] [PATCH 12/12] gnu: Add elm-format Distopico
2023-08-31 17:48 ` [bug#64840] [PATCH 00/12] " Distopico

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).