[PATCH] Add Hoogle

  • Done
  • quality assurance status badge
Details
3 participants
  • John Soo
  • Robert Vollmert
  • Timothy Sample
Owner
unassigned
Submitted by
John Soo
Severity
normal

Debbugs page

John Soo wrote 6 years ago
(address . guix-patches@gnu.org)
CAKf5CqXs_hf9OTFGLezBvX5MeRO4HEPizEon2kCwwU7W-puuzA@mail.gmail.com
Hi Guix,

Hoogle is a search tool that is invaluable when writing Haskell. I have
linted, formatted, and built --rounds=2 all the following.

Thank you,

John
Attachment: file
From 6bbf429770499656be09185e3c1ee276f3f36152 Mon Sep 17 00:00:00 2001
From: John Soo <jsoo@panosoft.com>
Date: Sun, 7 Jul 2019 17:23:35 -0700
Subject: [PATCH 01/13] gnu: Add ghc-mtl.

---
gnu/packages/haskell.scm | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)

Toggle diff (36 lines)
diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index d3ff27412f..6e62c2dd90 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -2733,6 +2733,29 @@ the paper \"Splittable Pseudorandom Number Generators Using Cryptographic
Hashing\" by Claessen, Pałka for details and the rationale of the design.")
(license license:bsd-3)))
+(define-public ghc-mtl
+ (package
+ (name "ghc-mtl")
+ (version "2.2.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append "https://hackage.haskell.org/package/mtl/mtl-"
+ version ".tar.gz"))
+ (sha256
+ (base32 "1xmy5741h8cyy0d91ahvqdz2hykkk20l8br7lg1rccnkis5g80w8"))))
+ (build-system haskell-build-system)
+ (home-page "https://github.com/haskell/mtl")
+ (synopsis "Monad classes, using functional dependencies")
+ (description
+ "Monad classes using functional dependencies, with instances for various
+monad transformers, inspired by the paper \"Functional Programming with
+Overloading and Higher-Order Polymorphism\", by Mark P Jones, in \"Advanced
+School of Functional Programming\", 1995
+http://web.cecs.pdx.edu/~mpj/pubs/springschool.html.")
+ (license license:bsd-3)))
+
(define-public ghc-transformers-base
(package
(name "ghc-transformers-base")
--
2.22.0
From b006e86bd78927c034856d9e6401c15f47e251f5 Mon Sep 17 00:00:00 2001
From: John Soo <jsoo@panosoft.com>
Date: Sun, 7 Jul 2019 17:30:41 -0700
Subject: [PATCH 03/13] gnu: Add ghc-non-negative.

---
gnu/packages/haskell.scm | 29 +++++++++++++++++++++++++++++
1 file changed, 29 insertions(+)

Toggle diff (42 lines)
diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 0096ed76c0..d5ca32027a 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -2784,6 +2784,35 @@ transformers 0.3 and 0.4 for users who need strict transformers 0.2 or 0.3
compatibility to run on old versions of the platform.")
(license license:bsd-3)))
+(define-public ghc-non-negative
+ (package
+ (name "ghc-non-negative")
+ (version "0.1.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append
+ "https://hackage.haskell.org/package/non-negative/non-negative-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0f01q916dzkl1i0v15qrw9cviycki5g3fgi6x8gs45iwbzssq52n"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-semigroups" ,ghc-semigroups)
+ ("ghc-utility-ht" ,ghc-utility-ht)
+ ("ghc-quickcheck" ,ghc-quickcheck)))
+ (arguments `(#:tests? #f))
+ (home-page "https://hackage.haskell.org/package/non-negative")
+ (synopsis "Non-negative numbers")
+ (description
+ "Provides a class for non-negative numbers, a wrapper which can turn any
+ordered numeric type into a member of that class, and a lazy number type for
+non-negative numbers (a generalization of Peano numbers). This library is used
+by the event-list package.")
+ (license license:gpl3+)))
+
(define-public ghc-transformers-compat
(package
(name "ghc-transformers-compat")
--
2.22.0
From 05fb6e8334d5819fad1ae532a2190b3bdaeebad7 Mon Sep 17 00:00:00 2001
From: John Soo <jsoo@panosoft.com>
Date: Sun, 7 Jul 2019 17:32:28 -0700
Subject: [PATCH 04/13] gnu: Add ghc-timeit.

---
gnu/packages/haskell.scm | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)

Toggle diff (35 lines)
diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index d5ca32027a..7126d7a6de 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -2813,6 +2813,28 @@ non-negative numbers (a generalization of Peano numbers). This library is used
by the event-list package.")
(license license:gpl3+)))
+(define-public ghc-timeit
+ (package
+ (name "ghc-timeit")
+ (version "2.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append
+ "https://hackage.haskell.org/package/timeit/timeit-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1sliqpvl501rlcj6s0lhmsf5ym24j4h881wzc1f1wdyvg3jz8kd1"))))
+ (build-system haskell-build-system)
+ (arguments `(#:tests? #f))
+ (home-page "https://github.com/merijn/timeit")
+ (synopsis "Time monadic computations with an IO base")
+ (description "A simple wrapper to show the used CPU time of monadic
+computation with an IO base.")
+ (license license:bsd-3)))
+
(define-public ghc-transformers-compat
(package
(name "ghc-transformers-compat")
--
2.22.0
From e9f914e9af030ca65fb2cb1c21892307b1dc0d2e Mon Sep 17 00:00:00 2001
From: John Soo <jsoo@panosoft.com>
Date: Sun, 7 Jul 2019 17:27:42 -0700
Subject: [PATCH 02/13] gnu: Add ghc-unsafe.

---
gnu/packages/haskell.scm | 35 +++++++++++++++++++++++++++++++++++
1 file changed, 35 insertions(+)

Toggle diff (48 lines)
diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 6e62c2dd90..0096ed76c0 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -2857,6 +2857,41 @@ package. This package re-exports the unix package when available. When it
isn't available, portable implementations are used.")
(license license:bsd-3)))
+(define-public ghc-unsafe
+ (package
+ (name "ghc-unsafe")
+ (version "0.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append
+ "https://hackage.haskell.org/package/unsafe/unsafe-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0hc6xr1i3hkz25gdgfx1jqgpsc9mwa05bkfynp0mcfdlyz6782nz"))))
+ (build-system haskell-build-system)
+ (arguments `(#:tests? #f))
+ (home-page "https://hackage.haskell.org/package/unsafe")
+ (synopsis "Unified interface to unsafe functions")
+ (description
+ "SafeHaskell introduced the notion of safe and unsafe modules. In order to
+make as many as possible modules \\\"safe\\\", the well-known unsafe functions
+were moved to distinguished modules. This makes it hard to write packages that
+work with both old and new versions of GHC. This package provides a single
+module System.Unsafe that exports the unsafe functions from the base package.
+It provides them in a style ready for qualification, that is, you should import
+them by
+
+import qualified System.Unsafe as Unsafe
+
+The package also contains a script called rename-unsafe.sh. It replaces all
+occurrences of the original identifiers with the qualified identifiers from this
+package. You still have to adapt the import commands. It uses the
+darcs-replace-rec script from the darcs-scripts package.")
+ (license license:bsd-3)))
+
(define-public ghc-indents
(package
(name "ghc-indents")
--
2.22.0
From 42325a8183404c5a497b8f1d81c9db3c17b3d8b1 Mon Sep 17 00:00:00 2001
From: John Soo <jsoo@panosoft.com>
Date: Sun, 7 Jul 2019 17:35:45 -0700
Subject: [PATCH 05/13] gnu: Add ghc-storablevector.

---
gnu/packages/haskell.scm | 38 ++++++++++++++++++++++++++++++++++++++
1 file changed, 38 insertions(+)

Toggle diff (51 lines)
diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 7126d7a6de..bb3c55070b 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -2835,6 +2835,44 @@ by the event-list package.")
computation with an IO base.")
(license license:bsd-3)))
+(define-public ghc-storablevector
+ (package
+ (name "ghc-storablevector")
+ (version "0.2.13")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append
+ "https://hackage.haskell.org/package/storablevector/storablevector-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1zmr738vwnhnyxbikayqnaz31ilv2qlmscp6iqgl7adcfbal4dzq"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-non-negative" ,ghc-non-negative)
+ ("ghc-utility-ht" ,ghc-utility-ht)
+ ("ghc-semigroups" ,ghc-semigroups)
+ ("ghc-unsafe" ,ghc-unsafe)
+ ("ghc-quickcheck" ,ghc-quickcheck)
+ ("ghc-syb" ,ghc-syb)))
+ (arguments `(#:tests? #f))
+ (home-page "https://www.haskell.org/haskellwiki/Storable_Vector")
+ (synopsis "Fast, packed, strict storable arrays with a list interface")
+ (description
+ "Fast, packed, strict storable arrays with a list interface, a chunky
+lazy list interface with variable chunk size and an interface for write
+access via the ST monad. This is much like bytestring and binary but can be
+used for every @code{Foreign.Storable.Storable} type. See also package with a
+similar intention at http://hackage.haskell.org/package/vector.
+
+We do not provide advanced fusion optimization, since especially for lazy
+vectors this would either be incorrect or not applicable. However we provide
+fusion with lazy lists in the package
+http://hackage.haskell.org/package/storablevector-streamfusion.")
+ (license license:bsd-3)))
+
(define-public ghc-transformers-compat
(package
(name "ghc-transformers-compat")
--
2.22.0
From 8150d6f7c69a943a47a6d45fadfb2cbe085192e9 Mon Sep 17 00:00:00 2001
From: John Soo <jsoo@panosoft.com>
Date: Sun, 7 Jul 2019 17:36:43 -0700
Subject: [PATCH 06/13] gnu: Add ghc-fmlist.

---
gnu/packages/haskell.scm | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)

Toggle diff (38 lines)
diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index bb3c55070b..fced27227a 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -2835,6 +2835,31 @@ by the event-list package.")
computation with an IO base.")
(license license:bsd-3)))
+(define-public ghc-fmlist
+ (package
+ (name "ghc-fmlist")
+ (version "0.9.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append
+ "https://hackage.haskell.org/package/fmlist/fmlist-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "02868865hqm189h5wjd916abvqwkhbrx5b0119s1dwp70ifvbi4g"))))
+ (build-system haskell-build-system)
+ (arguments `(#:tests? #f))
+ (home-page "https://github.com/sjoerdvisscher/fmlist")
+ (synopsis "FoldMap lists")
+ (description
+ "FoldMap lists are lists represented by their foldMap function. FoldMap
+lists have O(1) cons, snoc and append, just like DLists, but other operations
+might have favorable performance characteristics as well. These wild claims
+are still completely unverified though.")
+ (license license:bsd-3)))
+
(define-public ghc-storablevector
(package
(name "ghc-storablevector")
--
2.22.0
From c67646174d748596407d74661204b8820f4327e4 Mon Sep 17 00:00:00 2001
From: John Soo <jsoo@panosoft.com>
Date: Sun, 7 Jul 2019 17:40:12 -0700
Subject: [PATCH 07/13] gnu: Add ghc-storable-record.

---
gnu/packages/haskell.scm | 33 +++++++++++++++++++++++++++++++++
1 file changed, 33 insertions(+)

Toggle diff (46 lines)
diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index fced27227a..fa3063c684 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -2860,6 +2860,39 @@ might have favorable performance characteristics as well. These wild claims
are still completely unverified though.")
(license license:bsd-3)))
+(define-public ghc-storable-record
+ (package
+ (name "ghc-storable-record")
+ (version "0.0.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append
+ "https://hackage.haskell.org/package/storable-record/storable-record-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0hjs1km0fc9ch0i1rbycxia5w3939hk4p4md73ikgg4aipqb5zyf"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-semigroups" ,ghc-semigroups)
+ ("ghc-utility-ht" ,ghc-utility-ht)
+ ("ghc-storablevector" ,ghc-storablevector)
+ ("ghc-timeit" ,ghc-timeit)))
+ (arguments `(#:tests? #f))
+ (home-page "https://hackage.haskell.org/package/storable-record")
+ (synopsis "Elegant definition of Storable instances for records")
+ (description
+ "With this package you can build a Storable instance of a record type
+from Storable instances of its elements in an elegant way. It does not do any
+magic, just a bit arithmetic to compute the right offsets, that would be
+otherwise done manually or by a preprocessor like C2HS. I cannot promise that
+the generated memory layout is compatible with that of a corresponding C
+struct. However, the module generates the smallest layout that is possible
+with respect to the alignment of the record elements.")
+ (license license:bsd-3)))
+
(define-public ghc-storablevector
(package
(name "ghc-storablevector")
--
2.22.0
From b618422a83b120679357029c7a1428163a9c42e4 Mon Sep 17 00:00:00 2001
From: John Soo <jsoo@panosoft.com>
Date: Sun, 7 Jul 2019 17:52:53 -0700
Subject: [PATCH 08/13] gnu: Add ghc-listlike.

---
gnu/packages/haskell.scm | 36 ++++++++++++++++++++++++++++++++++++
1 file changed, 36 insertions(+)

Toggle diff (49 lines)
diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index fa3063c684..dfd5981f39 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -2931,6 +2931,42 @@ fusion with lazy lists in the package
http://hackage.haskell.org/package/storablevector-streamfusion.")
(license license:bsd-3)))
+(define-public ghc-listlike
+ (package
+ (name "ghc-listlike")
+ (version "4.6.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append
+ "https://hackage.haskell.org/package/ListLike/ListLike-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0m65x8yaq7q50gznln8mga2wrc8cvjx6gw9rim8s7xqcrx6y5zjh"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-vector" ,ghc-vector)
+ ("ghc-dlist" ,ghc-dlist)
+ ("ghc-fmlist" ,ghc-fmlist)
+ ("ghc-utf8-string" ,ghc-utf8-string)))
+ (arguments `(#:tests? #f))
+ (home-page "https://github.com/JohnLato/listlike")
+ (synopsis "Generic support for list-like structures")
+ (description
+ "Generic support for list-like structures in Haskell.
+
+The ListLike module provides a common interface to the various Haskell types
+that are list-like. Predefined interfaces include standard Haskell lists,
+Arrays, ByteStrings, and lazy ByteStrings. Custom types can easily be made
+ListLike instances as well.
+
+ListLike also provides for String-like types, such as String and ByteString,
+for types that support input and output, and for types that can handle
+infinite lists.")
+ (license license:bsd-3)))
+
(define-public ghc-transformers-compat
(package
(name "ghc-transformers-compat")
--
2.22.0
From 8cfc73828fb61d66c225155f3e76ccc634801f95 Mon Sep 17 00:00:00 2001
From: John Soo <jsoo@panosoft.com>
Date: Sun, 7 Jul 2019 17:56:20 -0700
Subject: [PATCH 09/13] gnu: Add ghc-storable-tuple.

---
gnu/packages/haskell.scm | 29 +++++++++++++++++++++++++++++
1 file changed, 29 insertions(+)

Toggle diff (42 lines)
diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index dfd5981f39..9c8d0c3d12 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -4516,6 +4516,35 @@ vector types are supported. Specific instances are provided for unboxed,
boxed and storable vectors.")
(license license:bsd-3)))
+(define-public ghc-storable-tuple
+ (package
+ (name "ghc-storable-tuple")
+ (version "0.0.3.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append
+ "https://hackage.haskell.org/package/storable-tuple/storable-tuple-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0dfzhxgkn1l6ls7zh6iifhyvhm8l47n40z0ar23c6ibsa94w1ynw"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-storable-record" ,ghc-storable-record)
+ ("ghc-utility-ht" ,ghc-utility-ht)
+ ("ghc-base-orphans" ,ghc-base-orphans)))
+ (arguments `(#:tests? #f))
+ (home-page "https://hackage.haskell.org/package/storable-tuple")
+ (synopsis "Storable instance for pairs and triples")
+ (description
+ "Provides a Storable instance for pair and triple which should be binary
+compatible with C99 and C++. The only purpose of this package is to provide a
+standard location for this instance so that other packages needing this
+instance can play nicely together.")
+ (license license:bsd-3)))
+
(define-public ghc-bloomfilter
(package
(name "ghc-bloomfilter")
--
2.22.0
From 3ad345d8e655f7554eab8173832d5d9086725d6d Mon Sep 17 00:00:00 2001
From: John Soo <jsoo@panosoft.com>
Date: Sun, 7 Jul 2019 17:59:28 -0700
Subject: [PATCH 10/13] gnu: Add ghc-process-extras.

---
gnu/packages/haskell.scm | 30 ++++++++++++++++++++++++++++++
1 file changed, 30 insertions(+)

Toggle diff (43 lines)
diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 9c8d0c3d12..bbcf63f732 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -4516,6 +4516,36 @@ vector types are supported. Specific instances are provided for unboxed,
boxed and storable vectors.")
(license license:bsd-3)))
+(define-public ghc-process-extras
+ (package
+ (name "ghc-process-extras")
+ (version "0.7.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append
+ "https://hackage.haskell.org/package/process-extras/process-extras-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0klqgr37f1z2z6i0a9b0giapmq0p35l5k9kz1p7f0k1597w7agi9"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-data-default" ,ghc-data-default)
+ ("ghc-listlike" ,ghc-listlike)
+ ("ghc-mtl" ,ghc-mtl)
+ ("ghc-generic-deriving" ,ghc-generic-deriving)))
+ (arguments `(#:tests? #f))
+ (home-page "https://github.com/seereason/process-extras")
+ (synopsis "Process extras")
+ (description
+ "Extends http://hackage.haskell.org/package/process. Read process
+input and output as ByteStrings or Text, or write your own ProcessOutput
+instance. Lazy process input and output. ProcessMaker class for more
+flexibility in the process creation API.")
+ (license license:expat)))
+
(define-public ghc-storable-tuple
(package
(name "ghc-storable-tuple")
--
2.22.0
From 9eed9d4c3397ac54a02b28bf4feafcce39bed87b Mon Sep 17 00:00:00 2001
From: John Soo <jsoo@panosoft.com>
Date: Sun, 7 Jul 2019 18:00:52 -0700
Subject: [PATCH 11/13] gnu: Add ghc-js-jquery.

---
gnu/packages/haskell-web.scm | 26 ++++++++++++++++++++++++++
1 file changed, 26 insertions(+)

Toggle diff (36 lines)
diff --git a/gnu/packages/haskell-web.scm b/gnu/packages/haskell-web.scm
index 6b7103562f..57bcc4b027 100644
--- a/gnu/packages/haskell-web.scm
+++ b/gnu/packages/haskell-web.scm
@@ -1347,3 +1347,29 @@ derivations of regular expressions.")
"The Haskell XML Toolbox bases on the ideas of HaXml and HXML, but
introduces a more general approach for processing XML with Haskell.")
(license license:expat)))
+
+(define-public ghc-js-jquery
+ (package
+ (name "ghc-js-jquery")
+ (version "3.3.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append
+ "https://hackage.haskell.org/package/js-jquery/js-jquery-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "16q68jzbs7kp07dnq8cprdcc8fd41rim38039vg0w4x11lgniq70"))))
+ (build-system haskell-build-system)
+ (arguments `(#:tests? #f))
+ (home-page "https://github.com/ndmitchell/js-jquery#readme")
+ (synopsis "Obtain minified jQuery code")
+ (description
+ "This package bundles the minified jQuery code (http://jquery.com/)
+into a Haskell package, so it can be depended upon by Cabal packages. The
+first three components of the version number match the upstream jQuery version.
+The package is designed to meet the redistribution requirements of downstream
+users (e.g. Debian).")
+ (license license:expat)))
--
2.22.0
From bb3d813501cc61b399dc904bec8334157287ed5e Mon Sep 17 00:00:00 2001
From: John Soo <jsoo@panosoft.com>
Date: Sun, 7 Jul 2019 18:03:26 -0700
Subject: [PATCH 13/13] gnu: Add hoogle.

---
gnu/packages/haskell-apps.scm | 53 +++++++++++++++++++++++++++++++++++
1 file changed, 53 insertions(+)

Toggle diff (63 lines)
diff --git a/gnu/packages/haskell-apps.scm b/gnu/packages/haskell-apps.scm
index d675863090..038bfd7600 100644
--- a/gnu/packages/haskell-apps.scm
+++ b/gnu/packages/haskell-apps.scm
@@ -398,3 +398,56 @@ play inspired from classics Lemmings and The Incredible Machine. The project
proved to be an excellent learning experience for the programmers. Everything
is programmed in Haskell.")
(license license:bsd-3)))
+
+(define-public hoogle
+ (package
+ (name "hoogle")
+ (version "5.0.17.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append
+ "https://hackage.haskell.org/package/hoogle/hoogle-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "174gp41v0krzj37m75pnr3aawyhkbk2wq4q6zk2z3zh0avvvmgk6"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-network-uri" ,ghc-network-uri)
+ ("ghc-network" ,ghc-network)
+ ("ghc-quickcheck" ,ghc-quickcheck)
+ ("ghc-aeson" ,ghc-aeson)
+ ("ghc-cmdargs" ,ghc-cmdargs)
+ ("ghc-conduit" ,ghc-conduit)
+ ("ghc-conduit-extra" ,ghc-conduit-extra)
+ ("ghc-connection" ,ghc-connection)
+ ("ghc-extra" ,ghc-extra)
+ ("ghc-old-locale" ,ghc-old-locale)
+ ("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
+ ("ghc-http-conduit" ,ghc-http-conduit)
+ ("ghc-http-types" ,ghc-http-types)
+ ("ghc-js-flot" ,ghc-js-flot)
+ ("ghc-js-jquery" ,ghc-js-jquery)
+ ("ghc-mmap" ,ghc-mmap)
+ ("ghc-process-extras" ,ghc-process-extras)
+ ("ghc-resourcet" ,ghc-resourcet)
+ ("ghc-storable-tuple" ,ghc-storable-tuple)
+ ("ghc-tar" ,ghc-tar)
+ ("ghc-uniplate" ,ghc-uniplate)
+ ("ghc-utf8-string" ,ghc-utf8-string)
+ ("ghc-vector" ,ghc-vector)
+ ("ghc-wai" ,ghc-wai)
+ ("ghc-wai-logger" ,ghc-wai-logger)
+ ("ghc-warp" ,ghc-warp)
+ ("ghc-warp-tls" ,ghc-warp-tls)
+ ("ghc-zlib" ,ghc-zlib)))
+ (arguments `(#:tests? #f))
+ (home-page "https://hoogle.haskell.org/")
+ (synopsis "Haskell API Search")
+ (description
+ "Hoogle is a Haskell API search engine, which allows you to search many
+standard Haskell libraries by either function name, or by approximate type
+signature.")
+ (license license:bsd-3)))
--
2.22.0
From 178b2deab3c7c755d37d46a2711e8e130c2c22ce Mon Sep 17 00:00:00 2001
From: John Soo <jsoo@panosoft.com>
Date: Sun, 7 Jul 2019 18:01:54 -0700
Subject: [PATCH 12/13] gnu: Add ghc-js-flot.

---
gnu/packages/haskell-web.scm | 26 ++++++++++++++++++++++++++
1 file changed, 26 insertions(+)

Toggle diff (36 lines)
diff --git a/gnu/packages/haskell-web.scm b/gnu/packages/haskell-web.scm
index 57bcc4b027..3655a5a7d9 100644
--- a/gnu/packages/haskell-web.scm
+++ b/gnu/packages/haskell-web.scm
@@ -1373,3 +1373,29 @@ first three components of the version number match the upstream jQuery version.
The package is designed to meet the redistribution requirements of downstream
users (e.g. Debian).")
(license license:expat)))
+
+(define-public ghc-js-flot
+ (package
+ (name "ghc-js-flot")
+ (version "0.8.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append
+ "https://hackage.haskell.org/package/js-flot/js-flot-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0yjyzqh3qzhy5h3nql1fckw0gcfb0f4wj9pm85nafpfqp2kg58hv"))))
+ (build-system haskell-build-system)
+ (arguments `(#:tests? #f))
+ (home-page "https://github.com/ndmitchell/js-flot#readme")
+ (synopsis "Obtain minified flot code")
+ (description
+ "This package bundles the minified Flot code (http://www.flotcharts.org/)
+(a jQuery plotting library) into a Haskell package, so it can be depended upon
+by Cabal packages. The first three components of the version number match the
+upstream flot version. The package is designed to meet the redistribution
+requirements of downstream users (e.g. Debian).")
+ (license license:expat)))
--
2.22.0
Robert Vollmert wrote 6 years ago
two issues
(address . 36545@debbugs.gnu.org)
A7FEB17C-45D9-4B15-B46C-33553544D765@vllmrt.net
Hi John,

indeed hoogle would be nice to have. Thanks for packagin it!

Two remarks from looking over the patch set:

- ghc-mtl shouldn’t be packaged, as it’s a GHC-bundled library. New
versions of `guix import` were updated to take that into account
properly, but it should “just work” to remove patch 0001 and delete
the dependency lines for `ghc-mtl` where they occur.

- Is there a particular reason that tests are disabled? The general
approach seems to be to build packages with tests unless there’s a
specific reason not to, in which case it would be great if you could
add a comment explaining that next to the “#:tests? #f” line.

Cheers
Robert
John Soo wrote 6 years ago
[PATCH] Add Hoogle
(address . rob@vllmrt.net)(address . 36545@debbugs.gnu.org)
CAKf5CqVrVUN8pvKKZ+zx5KgYiHSc-mErcVMX-khyoyEmOaR7KA@mail.gmail.com
Hi Robert,

Thank you for your patience.

Toggle quote (2 lines)
> - ghc-mtl shouldn’t be packaged, as it’s a GHC-bundled library.

I removed all references to ghc-mtl

Toggle quote (2 lines)
> - Is there a particular reason that tests are disabled?

I had removed them for expedience but I have added them back. There is
one exception whose tests do network IO, so I added a comment there.

I rebased the patches on current master a few minutes ago. Thanks again!

- John
Attachment: file
From 6087cfb33e8792daa2ed67541f74a5a15c819690 Mon Sep 17 00:00:00 2001
From: John Soo <jsoo@panosoft.com>
Date: Sun, 7 Jul 2019 17:30:41 -0700
Subject: [PATCH 02/12] gnu: Add ghc-non-negative.

* gnu/packages/haskell.scm (ghc-non-negative): New variable.
---
gnu/packages/haskell.scm | 28 ++++++++++++++++++++++++++++
1 file changed, 28 insertions(+)

Toggle diff (41 lines)
diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index fe762a2a9a..e3de0d7807 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -2709,6 +2709,34 @@ transformers 0.3 and 0.4 for users who need strict transformers 0.2 or 0.3
compatibility to run on old versions of the platform.")
(license license:bsd-3)))
+(define-public ghc-non-negative
+ (package
+ (name "ghc-non-negative")
+ (version "0.1.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append
+ "https://hackage.haskell.org/package/non-negative/non-negative-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0f01q916dzkl1i0v15qrw9cviycki5g3fgi6x8gs45iwbzssq52n"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-semigroups" ,ghc-semigroups)
+ ("ghc-utility-ht" ,ghc-utility-ht)
+ ("ghc-quickcheck" ,ghc-quickcheck)))
+ (home-page "https://hackage.haskell.org/package/non-negative")
+ (synopsis "Non-negative numbers")
+ (description
+ "Provides a class for non-negative numbers, a wrapper which can turn any
+ordered numeric type into a member of that class, and a lazy number type for
+non-negative numbers (a generalization of Peano numbers). This library is used
+by the event-list package.")
+ (license license:gpl3+)))
+
(define-public ghc-transformers-compat
(package
(name "ghc-transformers-compat")
--
2.22.0
From 5cfdd0a80b094335af673fac7d472ca291445f86 Mon Sep 17 00:00:00 2001
From: John Soo <jsoo@panosoft.com>
Date: Sun, 7 Jul 2019 17:27:42 -0700
Subject: [PATCH 01/12] gnu: Add ghc-unsafe.

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

Toggle diff (55 lines)
diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 8787f10789..fe762a2a9a 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -19,6 +19,7 @@
;;; Copyright © 2018, 2019 Gabriel Hondet <gabrielhondet@gmail.com>
;;; Copyright © 2019 Robert Vollmert <rob@vllmrt.net>
;;; Copyright © 2019 Jacob MacDonald <jaccarmac@gmail.com>
+;;; Copyright © 2019 John Soo <jsoo1@asu.edu>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -2781,6 +2782,40 @@ package. This package re-exports the unix package when available. When it
isn't available, portable implementations are used.")
(license license:bsd-3)))
+(define-public ghc-unsafe
+ (package
+ (name "ghc-unsafe")
+ (version "0.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append
+ "https://hackage.haskell.org/package/unsafe/unsafe-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0hc6xr1i3hkz25gdgfx1jqgpsc9mwa05bkfynp0mcfdlyz6782nz"))))
+ (build-system haskell-build-system)
+ (home-page "https://hackage.haskell.org/package/unsafe")
+ (synopsis "Unified interface to unsafe functions")
+ (description
+ "SafeHaskell introduced the notion of safe and unsafe modules. In order to
+make as many as possible modules \\\"safe\\\", the well-known unsafe functions
+were moved to distinguished modules. This makes it hard to write packages that
+work with both old and new versions of GHC. This package provides a single
+module System.Unsafe that exports the unsafe functions from the base package.
+It provides them in a style ready for qualification, that is, you should import
+them by
+
+import qualified System.Unsafe as Unsafe
+
+The package also contains a script called rename-unsafe.sh. It replaces all
+occurrences of the original identifiers with the qualified identifiers from this
+package. You still have to adapt the import commands. It uses the
+darcs-replace-rec script from the darcs-scripts package.")
+ (license license:bsd-3)))
+
(define-public ghc-indents
(package
(name "ghc-indents")
--
2.22.0
From 86f3e4afb869b93867a2169758ce5e033a5df972 Mon Sep 17 00:00:00 2001
From: John Soo <jsoo@panosoft.com>
Date: Sun, 7 Jul 2019 17:35:45 -0700
Subject: [PATCH 04/12] gnu: Add ghc-storablevector.

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

Toggle diff (50 lines)
diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 0b9951bebd..2cc490eade 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -2758,6 +2758,43 @@ by the event-list package.")
computation with an IO base.")
(license license:bsd-3)))
+(define-public ghc-storablevector
+ (package
+ (name "ghc-storablevector")
+ (version "0.2.13")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append
+ "https://hackage.haskell.org/package/storablevector/storablevector-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1zmr738vwnhnyxbikayqnaz31ilv2qlmscp6iqgl7adcfbal4dzq"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-non-negative" ,ghc-non-negative)
+ ("ghc-utility-ht" ,ghc-utility-ht)
+ ("ghc-semigroups" ,ghc-semigroups)
+ ("ghc-unsafe" ,ghc-unsafe)
+ ("ghc-quickcheck" ,ghc-quickcheck)
+ ("ghc-syb" ,ghc-syb)))
+ (home-page "https://www.haskell.org/haskellwiki/Storable_Vector")
+ (synopsis "Fast, packed, strict storable arrays with a list interface")
+ (description
+ "Fast, packed, strict storable arrays with a list interface, a chunky
+lazy list interface with variable chunk size and an interface for write
+access via the ST monad. This is much like bytestring and binary but can be
+used for every @code{Foreign.Storable.Storable} type. See also package with a
+similar intention at http://hackage.haskell.org/package/vector.
+
+We do not provide advanced fusion optimization, since especially for lazy
+vectors this would either be incorrect or not applicable. However we provide
+fusion with lazy lists in the package
+http://hackage.haskell.org/package/storablevector-streamfusion.")
+ (license license:bsd-3)))
+
(define-public ghc-transformers-compat
(package
(name "ghc-transformers-compat")
--
2.22.0
From 844b795dd59915d7878222592cb5ade445815b15 Mon Sep 17 00:00:00 2001
From: John Soo <jsoo@panosoft.com>
Date: Sun, 7 Jul 2019 17:36:43 -0700
Subject: [PATCH 05/12] gnu: Add ghc-fmlist.

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

Toggle diff (37 lines)
diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 2cc490eade..6188e477e2 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -2758,6 +2758,30 @@ by the event-list package.")
computation with an IO base.")
(license license:bsd-3)))
+(define-public ghc-fmlist
+ (package
+ (name "ghc-fmlist")
+ (version "0.9.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append
+ "https://hackage.haskell.org/package/fmlist/fmlist-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "02868865hqm189h5wjd916abvqwkhbrx5b0119s1dwp70ifvbi4g"))))
+ (build-system haskell-build-system)
+ (home-page "https://github.com/sjoerdvisscher/fmlist")
+ (synopsis "FoldMap lists")
+ (description
+ "FoldMap lists are lists represented by their foldMap function. FoldMap
+lists have O(1) cons, snoc and append, just like DLists, but other operations
+might have favorable performance characteristics as well. These wild claims
+are still completely unverified though.")
+ (license license:bsd-3)))
+
(define-public ghc-storablevector
(package
(name "ghc-storablevector")
--
2.22.0
From bd58bee32e955e520c502fb47a27e30ccdd95474 Mon Sep 17 00:00:00 2001
From: John Soo <jsoo@panosoft.com>
Date: Sun, 7 Jul 2019 17:32:28 -0700
Subject: [PATCH 03/12] gnu: Add ghc-timeit.

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

Toggle diff (34 lines)
diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index e3de0d7807..0b9951bebd 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -2737,6 +2737,27 @@ non-negative numbers (a generalization of Peano numbers). This library is used
by the event-list package.")
(license license:gpl3+)))
+(define-public ghc-timeit
+ (package
+ (name "ghc-timeit")
+ (version "2.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append
+ "https://hackage.haskell.org/package/timeit/timeit-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1sliqpvl501rlcj6s0lhmsf5ym24j4h881wzc1f1wdyvg3jz8kd1"))))
+ (build-system haskell-build-system)
+ (home-page "https://github.com/merijn/timeit")
+ (synopsis "Time monadic computations with an IO base")
+ (description "A simple wrapper to show the used CPU time of monadic
+computation with an IO base.")
+ (license license:bsd-3)))
+
(define-public ghc-transformers-compat
(package
(name "ghc-transformers-compat")
--
2.22.0
From 12d82736d9f743b6066eaf33ecc2b2828f4af6a9 Mon Sep 17 00:00:00 2001
From: John Soo <jsoo@panosoft.com>
Date: Sun, 7 Jul 2019 17:40:12 -0700
Subject: [PATCH 06/12] gnu: Add ghc-storable-record.

* gnu/packages/haskell.scm (ghc-storable-record): New variable.
---
gnu/packages/haskell.scm | 32 ++++++++++++++++++++++++++++++++
1 file changed, 32 insertions(+)

Toggle diff (45 lines)
diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 6188e477e2..6638868ab9 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -2782,6 +2782,38 @@ might have favorable performance characteristics as well. These wild claims
are still completely unverified though.")
(license license:bsd-3)))
+(define-public ghc-storable-record
+ (package
+ (name "ghc-storable-record")
+ (version "0.0.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append
+ "https://hackage.haskell.org/package/storable-record/storable-record-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0hjs1km0fc9ch0i1rbycxia5w3939hk4p4md73ikgg4aipqb5zyf"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-semigroups" ,ghc-semigroups)
+ ("ghc-utility-ht" ,ghc-utility-ht)
+ ("ghc-storablevector" ,ghc-storablevector)
+ ("ghc-timeit" ,ghc-timeit)))
+ (home-page "https://hackage.haskell.org/package/storable-record")
+ (synopsis "Elegant definition of Storable instances for records")
+ (description
+ "With this package you can build a Storable instance of a record type
+from Storable instances of its elements in an elegant way. It does not do any
+magic, just a bit arithmetic to compute the right offsets, that would be
+otherwise done manually or by a preprocessor like C2HS. I cannot promise that
+the generated memory layout is compatible with that of a corresponding C
+struct. However, the module generates the smallest layout that is possible
+with respect to the alignment of the record elements.")
+ (license license:bsd-3)))
+
(define-public ghc-storablevector
(package
(name "ghc-storablevector")
--
2.22.0
From 2effbe01d4fd46fa5551b9bbea03d08da128ffd6 Mon Sep 17 00:00:00 2001
From: John Soo <jsoo@panosoft.com>
Date: Sun, 7 Jul 2019 17:52:53 -0700
Subject: [PATCH 07/12] gnu: Add ghc-listlike.

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

Toggle diff (51 lines)
diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 6638868ab9..4ffcc2d7e5 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -2851,6 +2851,44 @@ fusion with lazy lists in the package
http://hackage.haskell.org/package/storablevector-streamfusion.")
(license license:bsd-3)))
+(define-public ghc-listlike
+ (package
+ (name "ghc-listlike")
+ (version "4.6.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append
+ "https://hackage.haskell.org/package/ListLike/ListLike-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0m65x8yaq7q50gznln8mga2wrc8cvjx6gw9rim8s7xqcrx6y5zjh"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-vector" ,ghc-vector)
+ ("ghc-dlist" ,ghc-dlist)
+ ("ghc-fmlist" ,ghc-fmlist)
+ ("ghc-hunit" ,ghc-hunit)
+ ("ghc-quickcheck" ,ghc-quickcheck)
+ ("ghc-random" ,ghc-random)
+ ("ghc-utf8-string" ,ghc-utf8-string)))
+ (home-page "https://github.com/JohnLato/listlike")
+ (synopsis "Generic support for list-like structures")
+ (description
+ "Generic support for list-like structures in Haskell.
+
+The ListLike module provides a common interface to the various Haskell types
+that are list-like. Predefined interfaces include standard Haskell lists,
+Arrays, ByteStrings, and lazy ByteStrings. Custom types can easily be made
+ListLike instances as well.
+
+ListLike also provides for String-like types, such as String and ByteString,
+for types that support input and output, and for types that can handle
+infinite lists.")
+ (license license:bsd-3)))
+
(define-public ghc-transformers-compat
(package
(name "ghc-transformers-compat")
--
2.22.0
From c6b48db69c51bd74eeb3aae1809d4ad5d4ecd6e9 Mon Sep 17 00:00:00 2001
From: John Soo <jsoo@panosoft.com>
Date: Sun, 7 Jul 2019 17:56:20 -0700
Subject: [PATCH 08/12] gnu: Add ghc-storable-tuple.

* gnu/packages/haskell.scm (ghc-storable-tuple): New variable.
---
gnu/packages/haskell.scm | 28 ++++++++++++++++++++++++++++
1 file changed, 28 insertions(+)

Toggle diff (41 lines)
diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 4ffcc2d7e5..1eb061246d 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -4366,6 +4366,34 @@ vector types are supported. Specific instances are provided for unboxed,
boxed and storable vectors.")
(license license:bsd-3)))
+(define-public ghc-storable-tuple
+ (package
+ (name "ghc-storable-tuple")
+ (version "0.0.3.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append
+ "https://hackage.haskell.org/package/storable-tuple/storable-tuple-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0dfzhxgkn1l6ls7zh6iifhyvhm8l47n40z0ar23c6ibsa94w1ynw"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-storable-record" ,ghc-storable-record)
+ ("ghc-utility-ht" ,ghc-utility-ht)
+ ("ghc-base-orphans" ,ghc-base-orphans)))
+ (home-page "https://hackage.haskell.org/package/storable-tuple")
+ (synopsis "Storable instance for pairs and triples")
+ (description
+ "Provides a Storable instance for pair and triple which should be binary
+compatible with C99 and C++. The only purpose of this package is to provide a
+standard location for this instance so that other packages needing this
+instance can play nicely together.")
+ (license license:bsd-3)))
+
(define-public ghc-bloomfilter
(package
(name "ghc-bloomfilter")
--
2.22.0
From 09733dc55eaf84bf29efc43c0b16d2db88896f2a Mon Sep 17 00:00:00 2001
From: John Soo <jsoo@panosoft.com>
Date: Sun, 7 Jul 2019 17:59:28 -0700
Subject: [PATCH 09/12] gnu: Add ghc-process-extras.

* gnu/packages/haskell.scm (ghc-process-extras): New variable.
---
gnu/packages/haskell.scm | 29 +++++++++++++++++++++++++++++
1 file changed, 29 insertions(+)

Toggle diff (42 lines)
diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 1eb061246d..fbd99a6cf1 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -4366,6 +4366,35 @@ vector types are supported. Specific instances are provided for unboxed,
boxed and storable vectors.")
(license license:bsd-3)))
+(define-public ghc-process-extras
+ (package
+ (name "ghc-process-extras")
+ (version "0.7.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append
+ "https://hackage.haskell.org/package/process-extras/process-extras-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0klqgr37f1z2z6i0a9b0giapmq0p35l5k9kz1p7f0k1597w7agi9"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-data-default" ,ghc-data-default)
+ ("ghc-generic-deriving" ,ghc-generic-deriving)
+ ("ghc-hunit" ,ghc-hunit)
+ ("ghc-listlike" ,ghc-listlike)))
+ (home-page "https://github.com/seereason/process-extras")
+ (synopsis "Process extras")
+ (description
+ "Extends http://hackage.haskell.org/package/process. Read process
+input and output as ByteStrings or Text, or write your own ProcessOutput
+instance. Lazy process input and output. ProcessMaker class for more
+flexibility in the process creation API.")
+ (license license:expat)))
+
(define-public ghc-storable-tuple
(package
(name "ghc-storable-tuple")
--
2.22.0
From d0e9933d8482ce894015ee32ec8d4965398487ca Mon Sep 17 00:00:00 2001
From: John Soo <jsoo@panosoft.com>
Date: Sun, 7 Jul 2019 18:00:52 -0700
Subject: [PATCH 10/12] gnu: Add ghc-js-jquery.

* gnu/packages/haskell-web.scm (ghc-js-jquery): New variable.
---
gnu/packages/haskell-web.scm | 28 ++++++++++++++++++++++++++++
1 file changed, 28 insertions(+)

Toggle diff (45 lines)
diff --git a/gnu/packages/haskell-web.scm b/gnu/packages/haskell-web.scm
index 7cbf8932e6..92fa0529b4 100644
--- a/gnu/packages/haskell-web.scm
+++ b/gnu/packages/haskell-web.scm
@@ -6,6 +6,7 @@
;;; Copyright © 2017 rsiddharth <s@ricketyspace.net>
;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Robert Vollmert <rob@vllmrt.net>
+;;; Copyright © 2019 John Soo <jsoo1@asu.edu>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -1463,3 +1464,30 @@ Together with the snap-core library upon which it depends, it provides a
clean and efficient Haskell programming interface to the HTTP
protocol.")
(license license:bsd-3)))
+
+(define-public ghc-js-jquery
+ (package
+ (name "ghc-js-jquery")
+ (version "3.3.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append
+ "https://hackage.haskell.org/package/js-jquery/js-jquery-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "16q68jzbs7kp07dnq8cprdcc8fd41rim38039vg0w4x11lgniq70"))))
+ (build-system haskell-build-system)
+ ;; Tests do network IO
+ (arguments `(#:tests? #f))
+ (home-page "https://github.com/ndmitchell/js-jquery#readme")
+ (synopsis "Obtain minified jQuery code")
+ (description
+ "This package bundles the minified jQuery code (http://jquery.com/)
+into a Haskell package, so it can be depended upon by Cabal packages. The
+first three components of the version number match the upstream jQuery version.
+The package is designed to meet the redistribution requirements of downstream
+users (e.g. Debian).")
+ (license license:expat)))
--
2.22.0
From 7d5f4593a827fca5e73c6f1711dbf201f2a87037 Mon Sep 17 00:00:00 2001
From: John Soo <jsoo@panosoft.com>
Date: Sun, 7 Jul 2019 18:01:54 -0700
Subject: [PATCH 11/12] gnu: Add ghc-js-flot.

* gnu/packages/haskell-web.scm (ghc-js-flot): New variable.
---
gnu/packages/haskell-web.scm | 27 +++++++++++++++++++++++++++
1 file changed, 27 insertions(+)

Toggle diff (37 lines)
diff --git a/gnu/packages/haskell-web.scm b/gnu/packages/haskell-web.scm
index 92fa0529b4..a1350ca959 100644
--- a/gnu/packages/haskell-web.scm
+++ b/gnu/packages/haskell-web.scm
@@ -1491,3 +1491,30 @@ first three components of the version number match the upstream jQuery version.
The package is designed to meet the redistribution requirements of downstream
users (e.g. Debian).")
(license license:expat)))
+
+(define-public ghc-js-flot
+ (package
+ (name "ghc-js-flot")
+ (version "0.8.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append
+ "https://hackage.haskell.org/package/js-flot/js-flot-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0yjyzqh3qzhy5h3nql1fckw0gcfb0f4wj9pm85nafpfqp2kg58hv"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-http" ,ghc-http)))
+ (home-page "https://github.com/ndmitchell/js-flot#readme")
+ (synopsis "Obtain minified flot code")
+ (description
+ "This package bundles the minified Flot code (http://www.flotcharts.org/)
+(a jQuery plotting library) into a Haskell package, so it can be depended upon
+by Cabal packages. The first three components of the version number match the
+upstream flot version. The package is designed to meet the redistribution
+requirements of downstream users (e.g. Debian).")
+ (license license:expat)))
--
2.22.0
From 82cc15f8a9bc623102b2ca04aa3dfb4c6334945f Mon Sep 17 00:00:00 2001
From: John Soo <jsoo@panosoft.com>
Date: Sun, 7 Jul 2019 18:03:26 -0700
Subject: [PATCH 12/12] gnu: Add hoogle.

* gnu/packages/haskell-apps.scm (hoogle): New variable.
---
gnu/packages/haskell-apps.scm | 53 +++++++++++++++++++++++++++++++++++
1 file changed, 53 insertions(+)

Toggle diff (70 lines)
diff --git a/gnu/packages/haskell-apps.scm b/gnu/packages/haskell-apps.scm
index e77f6d113b..578dbaf2c3 100644
--- a/gnu/packages/haskell-apps.scm
+++ b/gnu/packages/haskell-apps.scm
@@ -7,6 +7,7 @@
;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
;;; Copyright © 2019 Kyle Meyer <kyle@kyleam.com>
+;;; Copyright © 2015 John Soo <jsoo1@asu.edu>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -405,3 +406,55 @@ play inspired from classics Lemmings and The Incredible Machine. The project
proved to be an excellent learning experience for the programmers. Everything
is programmed in Haskell.")
(license license:bsd-3)))
+
+(define-public hoogle
+ (package
+ (name "hoogle")
+ (version "5.0.17.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append
+ "https://hackage.haskell.org/package/hoogle/hoogle-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "174gp41v0krzj37m75pnr3aawyhkbk2wq4q6zk2z3zh0avvvmgk6"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-network-uri" ,ghc-network-uri)
+ ("ghc-network" ,ghc-network)
+ ("ghc-quickcheck" ,ghc-quickcheck)
+ ("ghc-aeson" ,ghc-aeson)
+ ("ghc-cmdargs" ,ghc-cmdargs)
+ ("ghc-conduit" ,ghc-conduit)
+ ("ghc-conduit-extra" ,ghc-conduit-extra)
+ ("ghc-connection" ,ghc-connection)
+ ("ghc-extra" ,ghc-extra)
+ ("ghc-old-locale" ,ghc-old-locale)
+ ("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
+ ("ghc-http-conduit" ,ghc-http-conduit)
+ ("ghc-http-types" ,ghc-http-types)
+ ("ghc-js-flot" ,ghc-js-flot)
+ ("ghc-js-jquery" ,ghc-js-jquery)
+ ("ghc-mmap" ,ghc-mmap)
+ ("ghc-process-extras" ,ghc-process-extras)
+ ("ghc-resourcet" ,ghc-resourcet)
+ ("ghc-storable-tuple" ,ghc-storable-tuple)
+ ("ghc-tar" ,ghc-tar)
+ ("ghc-uniplate" ,ghc-uniplate)
+ ("ghc-utf8-string" ,ghc-utf8-string)
+ ("ghc-vector" ,ghc-vector)
+ ("ghc-wai" ,ghc-wai)
+ ("ghc-wai-logger" ,ghc-wai-logger)
+ ("ghc-warp" ,ghc-warp)
+ ("ghc-warp-tls" ,ghc-warp-tls)
+ ("ghc-zlib" ,ghc-zlib)))
+ (home-page "https://hoogle.haskell.org/")
+ (synopsis "Haskell API Search")
+ (description
+ "Hoogle is a Haskell API search engine, which allows you to search many
+standard Haskell libraries by either function name, or by approximate type
+signature.")
+ (license license:bsd-3)))
--
2.22.0
John Soo wrote 6 years ago
(address . rob@vllmrt.net)(address . 36545@debbugs.gnu.org)
CAKf5CqU_iLhFnKj4f7Sd6f4dMF5H8QGVpbD1szXOzhcgDJHPqQ@mail.gmail.com
Hi Robert and Guix,

I realized just now that I had some incorrect git configuration. I have
attached the updated patches with my correct email address.

Thanks again!

- John
Attachment: file
From 96d08d3085726309762b1e214d6968033c3c552d Mon Sep 17 00:00:00 2001
From: John Soo <jsoo1@asu.edu>
Date: Sun, 7 Jul 2019 17:35:45 -0700
Subject: [PATCH 04/12] gnu: Add ghc-storablevector.

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

Toggle diff (50 lines)
diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 0b9951bebd..2cc490eade 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -2758,6 +2758,43 @@ by the event-list package.")
computation with an IO base.")
(license license:bsd-3)))
+(define-public ghc-storablevector
+ (package
+ (name "ghc-storablevector")
+ (version "0.2.13")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append
+ "https://hackage.haskell.org/package/storablevector/storablevector-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1zmr738vwnhnyxbikayqnaz31ilv2qlmscp6iqgl7adcfbal4dzq"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-non-negative" ,ghc-non-negative)
+ ("ghc-utility-ht" ,ghc-utility-ht)
+ ("ghc-semigroups" ,ghc-semigroups)
+ ("ghc-unsafe" ,ghc-unsafe)
+ ("ghc-quickcheck" ,ghc-quickcheck)
+ ("ghc-syb" ,ghc-syb)))
+ (home-page "https://www.haskell.org/haskellwiki/Storable_Vector")
+ (synopsis "Fast, packed, strict storable arrays with a list interface")
+ (description
+ "Fast, packed, strict storable arrays with a list interface, a chunky
+lazy list interface with variable chunk size and an interface for write
+access via the ST monad. This is much like bytestring and binary but can be
+used for every @code{Foreign.Storable.Storable} type. See also package with a
+similar intention at http://hackage.haskell.org/package/vector.
+
+We do not provide advanced fusion optimization, since especially for lazy
+vectors this would either be incorrect or not applicable. However we provide
+fusion with lazy lists in the package
+http://hackage.haskell.org/package/storablevector-streamfusion.")
+ (license license:bsd-3)))
+
(define-public ghc-transformers-compat
(package
(name "ghc-transformers-compat")
--
2.22.0
From 4e963af34139650201887ea827f779dd74ef3689 Mon Sep 17 00:00:00 2001
From: John Soo <jsoo1@asu.edu>
Date: Sun, 7 Jul 2019 17:36:43 -0700
Subject: [PATCH 05/12] gnu: Add ghc-fmlist.

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

Toggle diff (37 lines)
diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 2cc490eade..6188e477e2 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -2758,6 +2758,30 @@ by the event-list package.")
computation with an IO base.")
(license license:bsd-3)))
+(define-public ghc-fmlist
+ (package
+ (name "ghc-fmlist")
+ (version "0.9.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append
+ "https://hackage.haskell.org/package/fmlist/fmlist-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "02868865hqm189h5wjd916abvqwkhbrx5b0119s1dwp70ifvbi4g"))))
+ (build-system haskell-build-system)
+ (home-page "https://github.com/sjoerdvisscher/fmlist")
+ (synopsis "FoldMap lists")
+ (description
+ "FoldMap lists are lists represented by their foldMap function. FoldMap
+lists have O(1) cons, snoc and append, just like DLists, but other operations
+might have favorable performance characteristics as well. These wild claims
+are still completely unverified though.")
+ (license license:bsd-3)))
+
(define-public ghc-storablevector
(package
(name "ghc-storablevector")
--
2.22.0
From 9d075173b57261433d050f2ed8b1c781c5602987 Mon Sep 17 00:00:00 2001
From: John Soo <jsoo1@asu.edu>
Date: Sun, 7 Jul 2019 17:30:41 -0700
Subject: [PATCH 02/12] gnu: Add ghc-non-negative.

* gnu/packages/haskell.scm (ghc-non-negative): New variable.
---
gnu/packages/haskell.scm | 28 ++++++++++++++++++++++++++++
1 file changed, 28 insertions(+)

Toggle diff (41 lines)
diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index fe762a2a9a..e3de0d7807 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -2709,6 +2709,34 @@ transformers 0.3 and 0.4 for users who need strict transformers 0.2 or 0.3
compatibility to run on old versions of the platform.")
(license license:bsd-3)))
+(define-public ghc-non-negative
+ (package
+ (name "ghc-non-negative")
+ (version "0.1.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append
+ "https://hackage.haskell.org/package/non-negative/non-negative-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0f01q916dzkl1i0v15qrw9cviycki5g3fgi6x8gs45iwbzssq52n"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-semigroups" ,ghc-semigroups)
+ ("ghc-utility-ht" ,ghc-utility-ht)
+ ("ghc-quickcheck" ,ghc-quickcheck)))
+ (home-page "https://hackage.haskell.org/package/non-negative")
+ (synopsis "Non-negative numbers")
+ (description
+ "Provides a class for non-negative numbers, a wrapper which can turn any
+ordered numeric type into a member of that class, and a lazy number type for
+non-negative numbers (a generalization of Peano numbers). This library is used
+by the event-list package.")
+ (license license:gpl3+)))
+
(define-public ghc-transformers-compat
(package
(name "ghc-transformers-compat")
--
2.22.0
From 1c60037da4c591072f591964d8faad41f34b52d4 Mon Sep 17 00:00:00 2001
From: John Soo <jsoo1@asu.edu>
Date: Sun, 7 Jul 2019 17:27:42 -0700
Subject: [PATCH 01/12] gnu: Add ghc-unsafe.

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

Toggle diff (55 lines)
diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 8787f10789..fe762a2a9a 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -19,6 +19,7 @@
;;; Copyright © 2018, 2019 Gabriel Hondet <gabrielhondet@gmail.com>
;;; Copyright © 2019 Robert Vollmert <rob@vllmrt.net>
;;; Copyright © 2019 Jacob MacDonald <jaccarmac@gmail.com>
+;;; Copyright © 2019 John Soo <jsoo1@asu.edu>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -2781,6 +2782,40 @@ package. This package re-exports the unix package when available. When it
isn't available, portable implementations are used.")
(license license:bsd-3)))
+(define-public ghc-unsafe
+ (package
+ (name "ghc-unsafe")
+ (version "0.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append
+ "https://hackage.haskell.org/package/unsafe/unsafe-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0hc6xr1i3hkz25gdgfx1jqgpsc9mwa05bkfynp0mcfdlyz6782nz"))))
+ (build-system haskell-build-system)
+ (home-page "https://hackage.haskell.org/package/unsafe")
+ (synopsis "Unified interface to unsafe functions")
+ (description
+ "SafeHaskell introduced the notion of safe and unsafe modules. In order to
+make as many as possible modules \\\"safe\\\", the well-known unsafe functions
+were moved to distinguished modules. This makes it hard to write packages that
+work with both old and new versions of GHC. This package provides a single
+module System.Unsafe that exports the unsafe functions from the base package.
+It provides them in a style ready for qualification, that is, you should import
+them by
+
+import qualified System.Unsafe as Unsafe
+
+The package also contains a script called rename-unsafe.sh. It replaces all
+occurrences of the original identifiers with the qualified identifiers from this
+package. You still have to adapt the import commands. It uses the
+darcs-replace-rec script from the darcs-scripts package.")
+ (license license:bsd-3)))
+
(define-public ghc-indents
(package
(name "ghc-indents")
--
2.22.0
From e632c125af63afe2bdbef13e8981a02bb75afd48 Mon Sep 17 00:00:00 2001
From: John Soo <jsoo1@asu.edu>
Date: Sun, 7 Jul 2019 17:32:28 -0700
Subject: [PATCH 03/12] gnu: Add ghc-timeit.

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

Toggle diff (34 lines)
diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index e3de0d7807..0b9951bebd 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -2737,6 +2737,27 @@ non-negative numbers (a generalization of Peano numbers). This library is used
by the event-list package.")
(license license:gpl3+)))
+(define-public ghc-timeit
+ (package
+ (name "ghc-timeit")
+ (version "2.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append
+ "https://hackage.haskell.org/package/timeit/timeit-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1sliqpvl501rlcj6s0lhmsf5ym24j4h881wzc1f1wdyvg3jz8kd1"))))
+ (build-system haskell-build-system)
+ (home-page "https://github.com/merijn/timeit")
+ (synopsis "Time monadic computations with an IO base")
+ (description "A simple wrapper to show the used CPU time of monadic
+computation with an IO base.")
+ (license license:bsd-3)))
+
(define-public ghc-transformers-compat
(package
(name "ghc-transformers-compat")
--
2.22.0
From d952a143ec404de8d06a0098485494a1cba0073d Mon Sep 17 00:00:00 2001
From: John Soo <jsoo1@asu.edu>
Date: Sun, 7 Jul 2019 17:52:53 -0700
Subject: [PATCH 07/12] gnu: Add ghc-listlike.

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

Toggle diff (51 lines)
diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 6638868ab9..4ffcc2d7e5 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -2851,6 +2851,44 @@ fusion with lazy lists in the package
http://hackage.haskell.org/package/storablevector-streamfusion.")
(license license:bsd-3)))
+(define-public ghc-listlike
+ (package
+ (name "ghc-listlike")
+ (version "4.6.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append
+ "https://hackage.haskell.org/package/ListLike/ListLike-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0m65x8yaq7q50gznln8mga2wrc8cvjx6gw9rim8s7xqcrx6y5zjh"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-vector" ,ghc-vector)
+ ("ghc-dlist" ,ghc-dlist)
+ ("ghc-fmlist" ,ghc-fmlist)
+ ("ghc-hunit" ,ghc-hunit)
+ ("ghc-quickcheck" ,ghc-quickcheck)
+ ("ghc-random" ,ghc-random)
+ ("ghc-utf8-string" ,ghc-utf8-string)))
+ (home-page "https://github.com/JohnLato/listlike")
+ (synopsis "Generic support for list-like structures")
+ (description
+ "Generic support for list-like structures in Haskell.
+
+The ListLike module provides a common interface to the various Haskell types
+that are list-like. Predefined interfaces include standard Haskell lists,
+Arrays, ByteStrings, and lazy ByteStrings. Custom types can easily be made
+ListLike instances as well.
+
+ListLike also provides for String-like types, such as String and ByteString,
+for types that support input and output, and for types that can handle
+infinite lists.")
+ (license license:bsd-3)))
+
(define-public ghc-transformers-compat
(package
(name "ghc-transformers-compat")
--
2.22.0
From 81133a71bc4240b03c3a1cf712797765ec41679d Mon Sep 17 00:00:00 2001
From: John Soo <jsoo1@asu.edu>
Date: Sun, 7 Jul 2019 17:40:12 -0700
Subject: [PATCH 06/12] gnu: Add ghc-storable-record.

* gnu/packages/haskell.scm (ghc-storable-record): New variable.
---
gnu/packages/haskell.scm | 32 ++++++++++++++++++++++++++++++++
1 file changed, 32 insertions(+)

Toggle diff (45 lines)
diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 6188e477e2..6638868ab9 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -2782,6 +2782,38 @@ might have favorable performance characteristics as well. These wild claims
are still completely unverified though.")
(license license:bsd-3)))
+(define-public ghc-storable-record
+ (package
+ (name "ghc-storable-record")
+ (version "0.0.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append
+ "https://hackage.haskell.org/package/storable-record/storable-record-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0hjs1km0fc9ch0i1rbycxia5w3939hk4p4md73ikgg4aipqb5zyf"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-semigroups" ,ghc-semigroups)
+ ("ghc-utility-ht" ,ghc-utility-ht)
+ ("ghc-storablevector" ,ghc-storablevector)
+ ("ghc-timeit" ,ghc-timeit)))
+ (home-page "https://hackage.haskell.org/package/storable-record")
+ (synopsis "Elegant definition of Storable instances for records")
+ (description
+ "With this package you can build a Storable instance of a record type
+from Storable instances of its elements in an elegant way. It does not do any
+magic, just a bit arithmetic to compute the right offsets, that would be
+otherwise done manually or by a preprocessor like C2HS. I cannot promise that
+the generated memory layout is compatible with that of a corresponding C
+struct. However, the module generates the smallest layout that is possible
+with respect to the alignment of the record elements.")
+ (license license:bsd-3)))
+
(define-public ghc-storablevector
(package
(name "ghc-storablevector")
--
2.22.0
From df586495eeff93fdb8d5cabe8f4ca328e6be7788 Mon Sep 17 00:00:00 2001
From: John Soo <jsoo1@asu.edu>
Date: Sun, 7 Jul 2019 17:56:20 -0700
Subject: [PATCH 08/12] gnu: Add ghc-storable-tuple.

* gnu/packages/haskell.scm (ghc-storable-tuple): New variable.
---
gnu/packages/haskell.scm | 28 ++++++++++++++++++++++++++++
1 file changed, 28 insertions(+)

Toggle diff (41 lines)
diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 4ffcc2d7e5..1eb061246d 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -4366,6 +4366,34 @@ vector types are supported. Specific instances are provided for unboxed,
boxed and storable vectors.")
(license license:bsd-3)))
+(define-public ghc-storable-tuple
+ (package
+ (name "ghc-storable-tuple")
+ (version "0.0.3.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append
+ "https://hackage.haskell.org/package/storable-tuple/storable-tuple-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0dfzhxgkn1l6ls7zh6iifhyvhm8l47n40z0ar23c6ibsa94w1ynw"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-storable-record" ,ghc-storable-record)
+ ("ghc-utility-ht" ,ghc-utility-ht)
+ ("ghc-base-orphans" ,ghc-base-orphans)))
+ (home-page "https://hackage.haskell.org/package/storable-tuple")
+ (synopsis "Storable instance for pairs and triples")
+ (description
+ "Provides a Storable instance for pair and triple which should be binary
+compatible with C99 and C++. The only purpose of this package is to provide a
+standard location for this instance so that other packages needing this
+instance can play nicely together.")
+ (license license:bsd-3)))
+
(define-public ghc-bloomfilter
(package
(name "ghc-bloomfilter")
--
2.22.0
From ced95372d220516ed2fd1dc405e3a77ec17b2c28 Mon Sep 17 00:00:00 2001
From: John Soo <jsoo1@asu.edu>
Date: Sun, 7 Jul 2019 17:59:28 -0700
Subject: [PATCH 09/12] gnu: Add ghc-process-extras.

* gnu/packages/haskell.scm (ghc-process-extras): New variable.
---
gnu/packages/haskell.scm | 29 +++++++++++++++++++++++++++++
1 file changed, 29 insertions(+)

Toggle diff (42 lines)
diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 1eb061246d..fbd99a6cf1 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -4366,6 +4366,35 @@ vector types are supported. Specific instances are provided for unboxed,
boxed and storable vectors.")
(license license:bsd-3)))
+(define-public ghc-process-extras
+ (package
+ (name "ghc-process-extras")
+ (version "0.7.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append
+ "https://hackage.haskell.org/package/process-extras/process-extras-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0klqgr37f1z2z6i0a9b0giapmq0p35l5k9kz1p7f0k1597w7agi9"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-data-default" ,ghc-data-default)
+ ("ghc-generic-deriving" ,ghc-generic-deriving)
+ ("ghc-hunit" ,ghc-hunit)
+ ("ghc-listlike" ,ghc-listlike)))
+ (home-page "https://github.com/seereason/process-extras")
+ (synopsis "Process extras")
+ (description
+ "Extends http://hackage.haskell.org/package/process. Read process
+input and output as ByteStrings or Text, or write your own ProcessOutput
+instance. Lazy process input and output. ProcessMaker class for more
+flexibility in the process creation API.")
+ (license license:expat)))
+
(define-public ghc-storable-tuple
(package
(name "ghc-storable-tuple")
--
2.22.0
From 051cfa4724d82d9ebfd11f92af85d0b1390b482b Mon Sep 17 00:00:00 2001
From: John Soo <jsoo1@asu.edu>
Date: Sun, 7 Jul 2019 18:00:52 -0700
Subject: [PATCH 10/12] gnu: Add ghc-js-jquery.

* gnu/packages/haskell-web.scm (ghc-js-jquery): New variable.
---
gnu/packages/haskell-web.scm | 28 ++++++++++++++++++++++++++++
1 file changed, 28 insertions(+)

Toggle diff (45 lines)
diff --git a/gnu/packages/haskell-web.scm b/gnu/packages/haskell-web.scm
index 7cbf8932e6..92fa0529b4 100644
--- a/gnu/packages/haskell-web.scm
+++ b/gnu/packages/haskell-web.scm
@@ -6,6 +6,7 @@
;;; Copyright © 2017 rsiddharth <s@ricketyspace.net>
;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Robert Vollmert <rob@vllmrt.net>
+;;; Copyright © 2019 John Soo <jsoo1@asu.edu>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -1463,3 +1464,30 @@ Together with the snap-core library upon which it depends, it provides a
clean and efficient Haskell programming interface to the HTTP
protocol.")
(license license:bsd-3)))
+
+(define-public ghc-js-jquery
+ (package
+ (name "ghc-js-jquery")
+ (version "3.3.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append
+ "https://hackage.haskell.org/package/js-jquery/js-jquery-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "16q68jzbs7kp07dnq8cprdcc8fd41rim38039vg0w4x11lgniq70"))))
+ (build-system haskell-build-system)
+ ;; Tests do network IO
+ (arguments `(#:tests? #f))
+ (home-page "https://github.com/ndmitchell/js-jquery#readme")
+ (synopsis "Obtain minified jQuery code")
+ (description
+ "This package bundles the minified jQuery code (http://jquery.com/)
+into a Haskell package, so it can be depended upon by Cabal packages. The
+first three components of the version number match the upstream jQuery version.
+The package is designed to meet the redistribution requirements of downstream
+users (e.g. Debian).")
+ (license license:expat)))
--
2.22.0
From e8af1694bee7023f2394450677d850e788f9f2c1 Mon Sep 17 00:00:00 2001
From: John Soo <jsoo1@asu.edu>
Date: Sun, 7 Jul 2019 18:01:54 -0700
Subject: [PATCH 11/12] gnu: Add ghc-js-flot.

* gnu/packages/haskell-web.scm (ghc-js-flot): New variable.
---
gnu/packages/haskell-web.scm | 27 +++++++++++++++++++++++++++
1 file changed, 27 insertions(+)

Toggle diff (37 lines)
diff --git a/gnu/packages/haskell-web.scm b/gnu/packages/haskell-web.scm
index 92fa0529b4..a1350ca959 100644
--- a/gnu/packages/haskell-web.scm
+++ b/gnu/packages/haskell-web.scm
@@ -1491,3 +1491,30 @@ first three components of the version number match the upstream jQuery version.
The package is designed to meet the redistribution requirements of downstream
users (e.g. Debian).")
(license license:expat)))
+
+(define-public ghc-js-flot
+ (package
+ (name "ghc-js-flot")
+ (version "0.8.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append
+ "https://hackage.haskell.org/package/js-flot/js-flot-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0yjyzqh3qzhy5h3nql1fckw0gcfb0f4wj9pm85nafpfqp2kg58hv"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-http" ,ghc-http)))
+ (home-page "https://github.com/ndmitchell/js-flot#readme")
+ (synopsis "Obtain minified flot code")
+ (description
+ "This package bundles the minified Flot code (http://www.flotcharts.org/)
+(a jQuery plotting library) into a Haskell package, so it can be depended upon
+by Cabal packages. The first three components of the version number match the
+upstream flot version. The package is designed to meet the redistribution
+requirements of downstream users (e.g. Debian).")
+ (license license:expat)))
--
2.22.0
From d02e4ed8a0b9357d1985d44fd638b8841014b3c9 Mon Sep 17 00:00:00 2001
From: John Soo <jsoo1@asu.edu>
Date: Sun, 7 Jul 2019 18:03:26 -0700
Subject: [PATCH 12/12] gnu: Add hoogle.

* gnu/packages/haskell-apps.scm (hoogle): New variable.
---
gnu/packages/haskell-apps.scm | 53 +++++++++++++++++++++++++++++++++++
1 file changed, 53 insertions(+)

Toggle diff (70 lines)
diff --git a/gnu/packages/haskell-apps.scm b/gnu/packages/haskell-apps.scm
index e77f6d113b..578dbaf2c3 100644
--- a/gnu/packages/haskell-apps.scm
+++ b/gnu/packages/haskell-apps.scm
@@ -7,6 +7,7 @@
;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
;;; Copyright © 2019 Kyle Meyer <kyle@kyleam.com>
+;;; Copyright © 2015 John Soo <jsoo1@asu.edu>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -405,3 +406,55 @@ play inspired from classics Lemmings and The Incredible Machine. The project
proved to be an excellent learning experience for the programmers. Everything
is programmed in Haskell.")
(license license:bsd-3)))
+
+(define-public hoogle
+ (package
+ (name "hoogle")
+ (version "5.0.17.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append
+ "https://hackage.haskell.org/package/hoogle/hoogle-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "174gp41v0krzj37m75pnr3aawyhkbk2wq4q6zk2z3zh0avvvmgk6"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-network-uri" ,ghc-network-uri)
+ ("ghc-network" ,ghc-network)
+ ("ghc-quickcheck" ,ghc-quickcheck)
+ ("ghc-aeson" ,ghc-aeson)
+ ("ghc-cmdargs" ,ghc-cmdargs)
+ ("ghc-conduit" ,ghc-conduit)
+ ("ghc-conduit-extra" ,ghc-conduit-extra)
+ ("ghc-connection" ,ghc-connection)
+ ("ghc-extra" ,ghc-extra)
+ ("ghc-old-locale" ,ghc-old-locale)
+ ("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
+ ("ghc-http-conduit" ,ghc-http-conduit)
+ ("ghc-http-types" ,ghc-http-types)
+ ("ghc-js-flot" ,ghc-js-flot)
+ ("ghc-js-jquery" ,ghc-js-jquery)
+ ("ghc-mmap" ,ghc-mmap)
+ ("ghc-process-extras" ,ghc-process-extras)
+ ("ghc-resourcet" ,ghc-resourcet)
+ ("ghc-storable-tuple" ,ghc-storable-tuple)
+ ("ghc-tar" ,ghc-tar)
+ ("ghc-uniplate" ,ghc-uniplate)
+ ("ghc-utf8-string" ,ghc-utf8-string)
+ ("ghc-vector" ,ghc-vector)
+ ("ghc-wai" ,ghc-wai)
+ ("ghc-wai-logger" ,ghc-wai-logger)
+ ("ghc-warp" ,ghc-warp)
+ ("ghc-warp-tls" ,ghc-warp-tls)
+ ("ghc-zlib" ,ghc-zlib)))
+ (home-page "https://hoogle.haskell.org/")
+ (synopsis "Haskell API Search")
+ (description
+ "Hoogle is a Haskell API search engine, which allows you to search many
+standard Haskell libraries by either function name, or by approximate type
+signature.")
+ (license license:bsd-3)))
--
2.22.0
Robert Vollmert wrote 6 years ago
(name . John Soo)(address . jsoo1@asu.edu)(address . 36545@debbugs.gnu.org)
24FFD6A0-24D2-4145-B829-20B43C0C5BA6@vllmrt.net
Hi John,

looks good to me! Hoogle builds and fine, and seems to run.

I’ve applied the patches to the wip-haskell-updates branch, will see
to get that merged soon.

Cheers
Robert

Toggle quote (10 lines)
> On 16. Aug 2019, at 07:58, John Soo <jsoo1@asu.edu> wrote:
>
> Hi Robert and Guix,
>
> I realized just now that I had some incorrect git configuration. I have attached the updated patches with my correct email address.
>
> Thanks again!
>
> - John
> <0004-gnu-Add-ghc-storablevector.patch><0005-gnu-Add-ghc-fmlist.patch><0002-gnu-Add-ghc-non-negative.patch><0001-gnu-Add-ghc-unsafe.patch><0003-gnu-Add-ghc-timeit.patch><0007-gnu-Add-ghc-listlike.patch><0006-gnu-Add-ghc-storable-record.patch><0008-gnu-Add-ghc-storable-tuple.patch><0009-gnu-Add-ghc-process-extras.patch><0010-gnu-Add-ghc-js-jquery.patch><0011-gnu-Add-ghc-js-flot.patch><0012-gnu-Add-hoogle.patch>
John Soo wrote 6 years ago
(name . Robert Vollmert)(address . rob@vllmrt.net)(address . 36545@debbugs.gnu.org)
CAKf5CqXGCZu1czwHkhRT5QgKspy-hP4jooWWAEsHppEr+qnuDw@mail.gmail.com
Excellent, thank you!

On Fri, Aug 16, 2019 at 12:22 PM Robert Vollmert <rob@vllmrt.net> wrote:

Toggle quote (24 lines)
> Hi John,
>
> looks good to me! Hoogle builds and fine, and seems to run.
>
> I’ve applied the patches to the wip-haskell-updates branch, will see
> to get that merged soon.
>
> Cheers
> Robert
>
> > On 16. Aug 2019, at 07:58, John Soo <jsoo1@asu.edu> wrote:
> >
> > Hi Robert and Guix,
> >
> > I realized just now that I had some incorrect git configuration. I have
> attached the updated patches with my correct email address.
> >
> > Thanks again!
> >
> > - John
> >
> <0004-gnu-Add-ghc-storablevector.patch><0005-gnu-Add-ghc-fmlist.patch><0002-gnu-Add-ghc-non-negative.patch><0001-gnu-Add-ghc-unsafe.patch><0003-gnu-Add-ghc-timeit.patch><0007-gnu-Add-ghc-listlike.patch><0006-gnu-Add-ghc-storable-record.patch><0008-gnu-Add-ghc-storable-tuple.patch><0009-gnu-Add-ghc-process-extras.patch><0010-gnu-Add-ghc-js-jquery.patch><0011-gnu-Add-ghc-js-flot.patch><0012-gnu-Add-hoogle.patch>
>
>
Attachment: file
Timothy Sample wrote 6 years ago
Re: [bug#36545] [PATCH] Add Hoogle
(name . John Soo)(address . jsoo1@asu.edu)(address . 36545-done@debbugs.gnu.org)(name . Robert Vollmert)(address . rob@vllmrt.net)
87sgpeysn7.fsf@ngyro.com
Hi John,

I finally got around to processing the “wip-haskell-updates” branch
(thanks for your patience). This patch series has now landed in master
as commits a52f4c5740–6ec2450f1e.

Thanks for the packages!

(And thanks to Robert too, for moving them into “haskell-xyz”.)


-- Tim
Closed
?
Your comment

This issue is archived.

To comment on this conversation send an email to 36545@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 36545
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch
You may also tag this issue. See list of standard tags. For example, to set the confirmed and easy tags
mumi command -t +confirmed -t +easy
Or, remove the moreinfo tag and set the help tag
mumi command -t -moreinfo -t +help