Switch from guix.scm to providing a guix channel
This commit is contained in:
parent
fd2bf119b6
commit
e93c797eef
|
@ -0,0 +1,4 @@
|
|||
(authorizations
|
||||
(version 0)
|
||||
(("A0C9 1947 734F 076F 5F08 E9FF 257D 284A 2A1D 3A32"
|
||||
(name "Saku Laesvuori"))))
|
|
@ -0,0 +1,4 @@
|
|||
(channel
|
||||
(version 0)
|
||||
(url "https://git.datat.fi/ry/datarekisteri.git")
|
||||
(directory ".guix/modules"))
|
|
@ -0,0 +1,694 @@
|
|||
(define-module (datarekisteri-package)
|
||||
#:use-module (guix)
|
||||
#:use-module (guix build-system haskell)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (gnu packages haskell)
|
||||
#:use-module (gnu packages haskell-check)
|
||||
#:use-module (gnu packages haskell-crypto)
|
||||
#:use-module (gnu packages haskell-web)
|
||||
#:use-module (gnu packages haskell-xyz))
|
||||
|
||||
(define vcs-file?
|
||||
(or (git-predicate (string-append (current-source-directory) "/../.."))
|
||||
(const #t)))
|
||||
|
||||
(define-public datarekisteri
|
||||
(package
|
||||
(name "datarekisteri")
|
||||
(version "0.0.1")
|
||||
(source (local-file "../.." "datarekisteri-checkout"
|
||||
#:recursive? #t
|
||||
#:select? vcs-file?))
|
||||
(build-system haskell-build-system)
|
||||
(inputs (list ghc-base64
|
||||
ghc-cryptonite
|
||||
ghc-email-validate
|
||||
ghc-esqueleto
|
||||
ghc-mime-mail
|
||||
ghc-morpheus-graphql
|
||||
ghc-morpheus-graphql-client
|
||||
ghc-persistent
|
||||
ghc-persistent-postgresql
|
||||
ghc-scotty
|
||||
ghc-smtp-mail
|
||||
ghc-wai-cors
|
||||
ghc-wai-extra
|
||||
ghc-yesod
|
||||
ghc-yesod-static
|
||||
ghc-yesod-auth))
|
||||
(home-page "")
|
||||
(synopsis "")
|
||||
(description "")
|
||||
(license license:agpl3+)))
|
||||
|
||||
(define ghc-authenticate
|
||||
(package
|
||||
(name "ghc-authenticate")
|
||||
(version "1.3.5.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "authenticate" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1rhbvdgwdr68gp13p5piddfdqf3l9lmx4w7k249lc98y23780c3x"))))
|
||||
(build-system haskell-build-system)
|
||||
(inputs (list ghc-aeson
|
||||
ghc-http-conduit
|
||||
ghc-case-insensitive
|
||||
ghc-http-types
|
||||
ghc-xml-conduit
|
||||
ghc-blaze-builder
|
||||
ghc-attoparsec
|
||||
ghc-unordered-containers
|
||||
ghc-conduit
|
||||
ghc-html-conduit
|
||||
ghc-resourcet
|
||||
ghc-network-uri))
|
||||
(home-page "http://github.com/yesodweb/authenticate")
|
||||
(synopsis "Authentication methods for Haskell web applications.")
|
||||
(description "API docs and the README are available at
|
||||
<http://www.stackage.org/package/authenticate>.")
|
||||
(license license:expat)))
|
||||
|
||||
(define ghc-yesod-auth
|
||||
(package
|
||||
(name "ghc-yesod-auth")
|
||||
(version "1.6.11")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "yesod-auth" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0fdahk5mc63g0zsafk8axry01qaxahmclpmmwygp2lhfsjy8mby2"))))
|
||||
(build-system haskell-build-system)
|
||||
(inputs (list ghc-aeson
|
||||
ghc-authenticate
|
||||
ghc-base16-bytestring
|
||||
ghc-base64-bytestring
|
||||
ghc-blaze-builder
|
||||
ghc-blaze-html
|
||||
ghc-blaze-markup
|
||||
ghc-conduit
|
||||
ghc-conduit-extra
|
||||
ghc-cryptonite
|
||||
ghc-data-default
|
||||
ghc-email-validate
|
||||
ghc-file-embed
|
||||
ghc-http-client
|
||||
ghc-http-client-tls
|
||||
ghc-http-conduit
|
||||
ghc-http-types
|
||||
ghc-memory
|
||||
ghc-nonce
|
||||
ghc-persistent
|
||||
ghc-random
|
||||
ghc-safe
|
||||
ghc-shakespeare
|
||||
ghc-unliftio
|
||||
ghc-unliftio-core
|
||||
ghc-unordered-containers
|
||||
ghc-wai
|
||||
ghc-yesod-core
|
||||
ghc-yesod-form
|
||||
ghc-yesod-persistent
|
||||
ghc-network-uri))
|
||||
(home-page "http://www.yesodweb.com/")
|
||||
(synopsis "Authentication for Yesod.")
|
||||
(description "API docs and the README are available at
|
||||
<http://www.stackage.org/package/yesod-auth>")
|
||||
(license license:expat)))
|
||||
|
||||
(define ghc-scotty
|
||||
(package
|
||||
(name "ghc-scotty")
|
||||
(version "0.12")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "scotty" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1lpggpdzgjk23mq7aa64yylds5dbm4ynhcvbarqihjxabvh7xmz1"))))
|
||||
(build-system haskell-build-system)
|
||||
(inputs (list ghc-aeson
|
||||
ghc-base-compat-batteries
|
||||
ghc-blaze-builder
|
||||
ghc-case-insensitive
|
||||
ghc-data-default-class
|
||||
ghc-fail
|
||||
ghc-http-types
|
||||
ghc-monad-control
|
||||
ghc-nats
|
||||
ghc-network
|
||||
ghc-regex-compat
|
||||
ghc-transformers-base
|
||||
ghc-transformers-compat
|
||||
ghc-wai
|
||||
ghc-wai-extra
|
||||
ghc-warp))
|
||||
(native-inputs (list ghc-async ghc-hspec ghc-hspec-wai ghc-lifted-base hspec-discover))
|
||||
(arguments
|
||||
`(#:cabal-revision ("7"
|
||||
"1i8icc612w4dbmqmnf99drqpmjvhjnkmqgk9xr63amj8jkz5lp4m")))
|
||||
(home-page "https://github.com/scotty-web/scotty")
|
||||
(synopsis
|
||||
"Haskell web framework inspired by Ruby's Sinatra, using WAI and Warp")
|
||||
(description
|
||||
"This package provides a Haskell web framework inspired by Ruby's Sinatra, using
|
||||
WAI and Warp. . @ {-# LANGUAGE OverloadedStrings #-} . import
|
||||
Web.Scotty . import Data.Monoid (mconcat) . main = scotty 3000 $   get
|
||||
"/:word" $ do     beam <- param "word"
|
||||
    html $ mconcat ["<h1>Scotty, ", beam, "
|
||||
me up!</h1>"] @ . . Scotty is the cheap and cheerful way to write
|
||||
RESTful, declarative web applications. . * A page is as simple as defining the
|
||||
verb, url pattern, and Text content. . * It is template-language agnostic.
|
||||
Anything that returns a Text value will do. . * Conforms to WAI Application
|
||||
interface. . * Uses very fast Warp webserver by default. . As for the name:
|
||||
Sinatra + Warp = Scotty. . [WAI] <http://hackage.haskell.org/package/wai> .
|
||||
[Warp] <http://hackage.haskell.org/package/warp>")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define ghc-hspec-wai
|
||||
(package
|
||||
(name "ghc-hspec-wai")
|
||||
(version "0.11.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "hspec-wai" version))
|
||||
(sha256
|
||||
(base32
|
||||
"03wiksic5y9a2g6a86nsxrnajdgdvpv17w02h5qla0zp9zs6pa1j"))))
|
||||
(build-system haskell-build-system)
|
||||
(inputs (list ghc-quickcheck
|
||||
ghc-base-compat
|
||||
ghc-case-insensitive
|
||||
ghc-hspec-core
|
||||
ghc-hspec-expectations
|
||||
ghc-http-types
|
||||
ghc-wai
|
||||
ghc-wai-extra))
|
||||
(native-inputs (list ghc-hspec hspec-discover))
|
||||
(home-page "https://github.com/hspec/hspec-wai#readme")
|
||||
(synopsis "Experimental Hspec support for testing WAI applications")
|
||||
(description "Experimental Hspec support for testing WAI applications")
|
||||
(license license:expat)))
|
||||
|
||||
(define ghc-morpheus-graphql
|
||||
(package
|
||||
(name "ghc-morpheus-graphql")
|
||||
(version "0.27.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "morpheus-graphql" version))
|
||||
(sha256
|
||||
(base32
|
||||
"04qah7565dzq7v4q43zjz8778pdn5jwnway5rvz4kkibcrscfagn"))))
|
||||
(build-system haskell-build-system)
|
||||
(inputs (list ghc-aeson
|
||||
ghc-morpheus-graphql-app
|
||||
ghc-morpheus-graphql-code-gen
|
||||
ghc-morpheus-graphql-core
|
||||
ghc-morpheus-graphql-server
|
||||
ghc-relude
|
||||
ghc-unordered-containers
|
||||
ghc-vector))
|
||||
(native-inputs (list ghc-morpheus-graphql-subscriptions
|
||||
ghc-morpheus-graphql-tests ghc-tasty ghc-tasty-hunit))
|
||||
(home-page "https://morpheusgraphql.com")
|
||||
(synopsis "Morpheus GraphQL")
|
||||
(description "Build GraphQL APIs with your favourite functional language!")
|
||||
(license license:expat)))
|
||||
|
||||
(define ghc-morpheus-graphql-code-gen
|
||||
(package
|
||||
(name "ghc-morpheus-graphql-code-gen")
|
||||
(version "0.27.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "morpheus-graphql-code-gen" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1rmxcr17xjx99aam048a4sqlwlnxjk41hx8fnb363ljid74vrcrb"))))
|
||||
(build-system haskell-build-system)
|
||||
(inputs (list ghc-file-embed
|
||||
ghc-morpheus-graphql-code-gen-utils
|
||||
ghc-morpheus-graphql-core
|
||||
ghc-morpheus-graphql-server
|
||||
ghc-prettyprinter
|
||||
ghc-relude
|
||||
ghc-unordered-containers
|
||||
ghc-glob
|
||||
ghc-morpheus-graphql-client
|
||||
ghc-optparse-applicative
|
||||
ghc-yaml))
|
||||
(home-page "https://morpheusgraphql.com")
|
||||
(synopsis "Morpheus GraphQL CLI")
|
||||
(description "code generator for Morpheus GraphQL")
|
||||
(license license:bsd-3)))
|
||||
|
||||
|
||||
(define ghc-morpheus-graphql-core
|
||||
(package
|
||||
(name "ghc-morpheus-graphql-core")
|
||||
(version "0.27.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "morpheus-graphql-core" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0dd8bifn6qwpss06hbb0r730fqfkbd4nhwsr2bsrgxc7hvzv9wi7"))))
|
||||
(build-system haskell-build-system)
|
||||
(inputs (list ghc-aeson
|
||||
ghc-hashable
|
||||
ghc-megaparsec
|
||||
ghc-relude
|
||||
ghc-scientific
|
||||
ghc-th-lift-instances
|
||||
ghc-unordered-containers
|
||||
ghc-vector))
|
||||
(native-inputs (list ghc-morpheus-graphql-tests ghc-tasty ghc-tasty-hunit))
|
||||
(home-page "https://morpheusgraphql.com")
|
||||
(synopsis "Morpheus GraphQL Core")
|
||||
(description "Build GraphQL APIs with your favorite functional language!")
|
||||
(license license:expat)))
|
||||
|
||||
|
||||
(define ghc-morpheus-graphql-app
|
||||
(package
|
||||
(name "ghc-morpheus-graphql-app")
|
||||
(version "0.27.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "morpheus-graphql-app" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0dicajcqgxpv1jhnywjjs0g4p5ryv0xlrywib1xwxrb04wy9aa3f"))))
|
||||
(build-system haskell-build-system)
|
||||
(inputs (list ghc-aeson
|
||||
ghc-hashable
|
||||
ghc-megaparsec
|
||||
ghc-morpheus-graphql-core
|
||||
ghc-relude
|
||||
ghc-scientific
|
||||
ghc-th-lift-instances
|
||||
ghc-unordered-containers
|
||||
ghc-vector))
|
||||
(native-inputs (list ghc-morpheus-graphql-tests ghc-tasty ghc-tasty-hunit))
|
||||
(home-page "https://morpheusgraphql.com")
|
||||
(synopsis "Morpheus GraphQL App")
|
||||
(description "Build GraphQL APIs with your favourite functional language!")
|
||||
(license license:expat)))
|
||||
|
||||
|
||||
(define ghc-morpheus-graphql-subscriptions
|
||||
(package
|
||||
(name "ghc-morpheus-graphql-subscriptions")
|
||||
(version "0.27.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "morpheus-graphql-subscriptions" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0gynrshv858g36jwvmh3q2asc6ppkr7hv9w9lx1qfjqfwm7r0140"))))
|
||||
(build-system haskell-build-system)
|
||||
(inputs (list ghc-aeson
|
||||
ghc-morpheus-graphql-app
|
||||
ghc-morpheus-graphql-core
|
||||
ghc-relude
|
||||
ghc-unliftio-core
|
||||
ghc-unordered-containers
|
||||
ghc-uuid
|
||||
ghc-websockets))
|
||||
(home-page "https://morpheusgraphql.com")
|
||||
(synopsis "Morpheus GraphQL Subscriptions")
|
||||
(description "Build GraphQL APIs with your favourite functional language!")
|
||||
(license license:expat)))
|
||||
|
||||
|
||||
(define ghc-morpheus-graphql-client
|
||||
(package
|
||||
(name "ghc-morpheus-graphql-client")
|
||||
(version "0.27.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "morpheus-graphql-client" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1j4r6ar6l462aq8qvxikmwyxd2f8i60gd3j0qf5pxsslgjwmjbi9"))))
|
||||
(build-system haskell-build-system)
|
||||
(inputs (list ghc-aeson
|
||||
ghc-file-embed
|
||||
ghc-modern-uri
|
||||
ghc-morpheus-graphql-code-gen-utils
|
||||
ghc-morpheus-graphql-core
|
||||
ghc-morpheus-graphql-subscriptions
|
||||
ghc-prettyprinter
|
||||
ghc-relude
|
||||
ghc-req
|
||||
ghc-unliftio-core
|
||||
ghc-unordered-containers
|
||||
ghc-websockets
|
||||
ghc-wuss))
|
||||
(native-inputs (list ghc-tasty ghc-tasty-hunit))
|
||||
(home-page "https://morpheusgraphql.com")
|
||||
(synopsis "Morpheus GraphQL Client")
|
||||
(description "Build GraphQL APIs with your favorite functional language!")
|
||||
(license license:expat)))
|
||||
|
||||
|
||||
(define ghc-morpheus-graphql-tests
|
||||
(package
|
||||
(name "ghc-morpheus-graphql-tests")
|
||||
(version "0.27.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "morpheus-graphql-tests" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1s9x4gcqd36gqf5w2wxiqhf7k9y44b7g7zm90y2kbclxqirs9rqf"))))
|
||||
(build-system haskell-build-system)
|
||||
(inputs (list ghc-aeson ghc-relude ghc-tasty ghc-tasty-hunit
|
||||
ghc-unordered-containers))
|
||||
(home-page "https://morpheusgraphql.com")
|
||||
(synopsis "Morpheus GraphQL Test")
|
||||
(description "")
|
||||
(license license:expat)))
|
||||
|
||||
|
||||
(define ghc-morpheus-graphql-server
|
||||
(package
|
||||
(name "ghc-morpheus-graphql-server")
|
||||
(version "0.27.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "morpheus-graphql-server" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1hl2c78pnx2rxx869p6ixvnyhzm46f1hzalqz2vbwrflshpmjv91"))))
|
||||
(build-system haskell-build-system)
|
||||
(inputs (list ghc-aeson
|
||||
ghc-morpheus-graphql-app
|
||||
ghc-morpheus-graphql-core
|
||||
ghc-relude
|
||||
ghc-unordered-containers
|
||||
ghc-vector))
|
||||
(native-inputs (list ghc-file-embed ghc-morpheus-graphql-subscriptions
|
||||
ghc-morpheus-graphql-tests ghc-tasty ghc-tasty-hunit))
|
||||
(home-page "https://morpheusgraphql.com")
|
||||
(synopsis "Morpheus GraphQL")
|
||||
(description "Build GraphQL APIs with your favourite functional language!")
|
||||
(license license:expat)))
|
||||
|
||||
(define 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)
|
||||
(inputs (list ghc-hashable ghc-unordered-containers))
|
||||
(native-inputs (list ghc-hedgehog ghc-doctest ghc-glob))
|
||||
(home-page "https://github.com/kowainik/relude")
|
||||
(synopsis
|
||||
"Safe, performant, user-friendly and lightweight Haskell Standard Library")
|
||||
(description
|
||||
"@__relude__@ is an alternative prelude library. If you find the default
|
||||
@Prelude@ unsatisfying, despite its advantages, consider using @relude@ instead.
|
||||
== Relude goals and design principles * __Productivity.__ You can be more
|
||||
productive with a \"non-standard\" standard library, and @relude@ helps you with
|
||||
writing safer and more efficient code faster. * __Total programming__. Usage of
|
||||
[/partial
|
||||
functions/](https://www.reddit.com/r/haskell/comments/5n51u3/why_are_partial_functions_as_in_head_tail_bad/)
|
||||
can lead to unexpected bugs and runtime exceptions in pure code. The types of
|
||||
partial functions lie about their behaviour. And even if it is not always
|
||||
possible to rely only on total functions, @relude@ strives to encourage
|
||||
best-practices and reduce the chances of introducing a bug.
|
||||
+---------------------------------+--------------------------------------------+
|
||||
| __Partial__ | __Total__ |
|
||||
+=================================+============================================+
|
||||
| @head :: [a] -> a@ | @head :: NonEmpty a -> a@ |
|
||||
+---------------------------------+--------------------------------------------+
|
||||
| @tail :: [a] -> [a]@ | @tail :: NonEmpty a -> [a]@ |
|
||||
+---------------------------------+--------------------------------------------+
|
||||
| @read :: Read a => String -> a@ | @readMaybe :: Read a => String -> Maybe a@ |
|
||||
+---------------------------------+--------------------------------------------+
|
||||
| @fromJust :: Maybe a -> a@ | @fromMaybe :: a -> Maybe a -> a@ |
|
||||
+---------------------------------+--------------------------------------------+
|
||||
* __Type-safety__. We use the /\"make invalid states unrepresentable\"/ motto as
|
||||
one of our guiding principles. If it is possible, we express this concept
|
||||
through the types. /Example:/ @ whenNotNull :: Applicative f => [a] -> (NonEmpty
|
||||
a -> f ()) -> f () @ * __Performance.__ We prefer @Text@ over
|
||||
@[String](https://www.reddit.com/r/haskell/comments/29jw0s/whats_wrong_with_string/)@,
|
||||
use space-leaks-free functions (e.g. our custom performant @sum@ and
|
||||
@product@), introduce @\\{\\-\\# INLINE \\#\\-\\}@ and @\\{\\-\\# SPECIALIZE \\#\\-\\}@
|
||||
pragmas where appropriate, and make efficient container types (e.g. @Map@,
|
||||
@HashMap@, @Set@) more accessible. * __Minimalism__ (low number of
|
||||
dependencies). We do not force users of @relude@ to stick to any specific lens
|
||||
or text formatting or logging library. Where possible, @relude@ depends only on
|
||||
boot libraries. The [Dependency
|
||||
graph](https://raw.githubusercontent.com/kowainik/relude/main/relude-dependency-graph.png)
|
||||
of @relude@ can give you a clearer picture. * __Convenience__. Despite
|
||||
minimalism, we want to bring commonly used types and functions into scope, and
|
||||
make available functions easier to use. Some examples of conveniences: 1. No
|
||||
need to add @containers@, @unordered-containers@, @text@ and @bytestring@ to
|
||||
dependencies in your @.cabal@ file to use the main API of these libraries 2. No
|
||||
need to import types like @NonEmpty@, @Text@, @Set@, @Reader[T]@, @MVar@, @STM@
|
||||
3. Functions like @liftIO@, @fromMaybe@, @sortWith@ are available by default as
|
||||
well 4. @IO@ actions are lifted to @MonadIO@ * __Excellent documentation.__ 1.
|
||||
Tutorial 2. Migration guide from @Prelude@ 3. Haddock for every function with
|
||||
examples tested by [doctest](http://hackage.haskell.org/package/doctest). 4.
|
||||
Documentation regarding [internal module
|
||||
structure](http://hackage.haskell.org/package/relude/docs/Relude.html) 5.
|
||||
@relude@-specific [HLint](http://hackage.haskell.org/package/hlint) rules:
|
||||
@[.hlint.yaml](https://github.com/kowainik/relude/blob/main/.hlint.yaml)@ *
|
||||
__User-friendliness.__ Anyone should be able to quickly migrate to @relude@.
|
||||
Only some basic familiarity with the common libraries like @text@ and
|
||||
@containers@ should be enough (but not necessary). * __Exploration.__ We have
|
||||
space to experiment with new ideas and proposals without introducing breaking
|
||||
changes. @relude@ uses the approach with @Extra.*@ modules which are not
|
||||
exported by default. The chosen approach makes it quite easy for us to provide
|
||||
new functionality without breaking anything and let the users decide to use it
|
||||
or not.")
|
||||
(license license:expat)))
|
||||
|
||||
(define ghc-morpheus-graphql-code-gen-utils
|
||||
(package
|
||||
(name "ghc-morpheus-graphql-code-gen-utils")
|
||||
(version "0.27.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "morpheus-graphql-code-gen-utils" version))
|
||||
(sha256
|
||||
(base32
|
||||
"11dfnyd9wbrwjfjz1qkc188x6l4b149jsyzjwh1gqji0skzsk3f6"))))
|
||||
(build-system haskell-build-system)
|
||||
(inputs (list ghc-morpheus-graphql-core ghc-prettyprinter ghc-relude
|
||||
ghc-unordered-containers))
|
||||
(home-page "https://morpheusgraphql.com")
|
||||
(synopsis "Morpheus GraphQL CLI")
|
||||
(description "code generator for Morpheus GraphQL")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define ghc-wuss
|
||||
(package
|
||||
(name "ghc-wuss")
|
||||
(version "2.0.1.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "wuss" version))
|
||||
(sha256
|
||||
(base32
|
||||
"037dsx4mrp5mz2fif9zqlsp1n35g7v8749wmji281ing8jfiyl37"))))
|
||||
(build-system haskell-build-system)
|
||||
(inputs (list ghc-connection ghc-network ghc-websockets))
|
||||
(home-page "http://hackage.haskell.org/package/wuss")
|
||||
(synopsis "Secure WebSocket (WSS) clients")
|
||||
(description
|
||||
"Wuss is a library that lets you easily create secure WebSocket clients over the
|
||||
WSS protocol. It is a small addition to
|
||||
<https://hackage.haskell.org/package/websockets the websockets package> and is
|
||||
adapted from existing solutions by <https://gist.github.com/jaspervdj/7198388
|
||||
@@jaspervdj>, <https://gist.github.com/mpickering/f1b7ba3190a4bb5884f3
|
||||
@@mpickering>, and <https://gist.github.com/elfenlaid/7b5c28065e67e4cf0767
|
||||
@@elfenlaid>.")
|
||||
(license license:expat)))
|
||||
|
||||
(define ghc-rsa
|
||||
(package
|
||||
(name "ghc-rsa")
|
||||
(version "2.4.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "RSA" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0hchsqrxpfw7mqrqwscfy8ig1w2di6w3nxpzi873w0gibv2diibj"))))
|
||||
(build-system haskell-build-system)
|
||||
(inputs (list ghc-crypto-api ghc-crypto-pubkey-types ghc-sha))
|
||||
(native-inputs (list ghc-quickcheck ghc-tagged ghc-test-framework
|
||||
ghc-test-framework-quickcheck2))
|
||||
(home-page "http://hackage.haskell.org/package/RSA")
|
||||
(synopsis
|
||||
"Implementation of RSA, using the padding schemes of PKCS#1 v2.1.")
|
||||
(description
|
||||
"This library implements the RSA encryption and signature algorithms for
|
||||
arbitrarily-sized ByteStrings. While the implementations work, they are not
|
||||
necessarily the fastest ones on the planet. Particularly key generation. The
|
||||
algorithms included are based of RFC 3447, or the Public-Key Cryptography
|
||||
Standard for RSA, version 2.1 (a.k.a, PKCS#1 v2.1).")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define ghc-crypto-pubkey-types
|
||||
(package
|
||||
(name "ghc-crypto-pubkey-types")
|
||||
(version "0.4.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "crypto-pubkey-types" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0q0wlzjmpx536h1zcdzrpxjkvqw8abj8z0ci38138kpch4igbnby"))))
|
||||
(build-system haskell-build-system)
|
||||
(inputs (list ghc-asn1-types ghc-asn1-encoding))
|
||||
(home-page "http://github.com/vincenthz/hs-crypto-pubkey-types")
|
||||
(synopsis "Generic cryptography Public keys algorithm types")
|
||||
(description "Generic cryptography public keys algorithm types")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define ghc-authenticate-oauth
|
||||
(package
|
||||
(name "ghc-authenticate-oauth")
|
||||
(version "1.7")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "authenticate-oauth" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0y4v46rn0cvm0sr1v8qq1zgzllrlrr3ji5gij1xprgf1zsazcvvl"))))
|
||||
(build-system haskell-build-system)
|
||||
(inputs (list ghc-http-client
|
||||
ghc-crypto-pubkey-types
|
||||
ghc-rsa
|
||||
ghc-data-default
|
||||
ghc-sha
|
||||
ghc-random
|
||||
ghc-http-types
|
||||
ghc-blaze-builder
|
||||
ghc-transformers-compat))
|
||||
(home-page "http://github.com/yesodweb/authenticate")
|
||||
(synopsis
|
||||
"Library to authenticate with OAuth for Haskell web applications.")
|
||||
(description "API docs and the README are available at
|
||||
<http://www.stackage.org/package/authenticate-oauth>.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define ghc-req
|
||||
(package
|
||||
(name "ghc-req")
|
||||
(version "3.13.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "req" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1igs75bj57vs1fwpxj1765l6zkqd4r3p2gbwp6cv2l37drfxjck4"))))
|
||||
(build-system haskell-build-system)
|
||||
(inputs (list ghc-aeson
|
||||
ghc-authenticate-oauth
|
||||
ghc-blaze-builder
|
||||
ghc-case-insensitive
|
||||
ghc-connection
|
||||
ghc-http-api-data
|
||||
ghc-http-client
|
||||
ghc-http-client-tls
|
||||
ghc-http-types
|
||||
ghc-modern-uri
|
||||
ghc-monad-control
|
||||
ghc-retry
|
||||
ghc-transformers-base
|
||||
ghc-unliftio-core))
|
||||
(native-inputs (list ghc-quickcheck ghc-hspec hspec-discover ghc-hspec-core
|
||||
ghc-quickcheck ghc-hspec))
|
||||
(arguments '(#:tests? #f))
|
||||
(home-page "https://github.com/mrkkrp/req")
|
||||
(synopsis "HTTP client library")
|
||||
(description "HTTP client library.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define ghc-modern-uri
|
||||
(package
|
||||
(name "ghc-modern-uri")
|
||||
(version "0.3.6.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "modern-uri" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1lj3il9wg7v88l1hj08k07g3f76xas0gz20l2wy8z6xbpcn5ng6g"))))
|
||||
(build-system haskell-build-system)
|
||||
(inputs (list ghc-quickcheck
|
||||
ghc-contravariant
|
||||
ghc-hashable
|
||||
ghc-megaparsec
|
||||
ghc-profunctors
|
||||
ghc-reflection
|
||||
ghc-tagged))
|
||||
(native-inputs (list ghc-hspec hspec-discover ghc-hspec-megaparsec))
|
||||
(home-page "https://github.com/mrkkrp/modern-uri")
|
||||
(synopsis "Modern library for working with URIs")
|
||||
(description "Modern library for working with URIs.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define ghc-mime-mail
|
||||
(package
|
||||
(name "ghc-mime-mail")
|
||||
(version "0.5.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "mime-mail" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1s1wp8v1xlvw3r4qk1lv9zpm99ihka7a785zjl6i3fq1maqq955g"))))
|
||||
(build-system haskell-build-system)
|
||||
(inputs (list ghc-base64-bytestring ghc-random ghc-blaze-builder))
|
||||
(native-inputs (list ghc-hspec hspec-discover))
|
||||
(home-page "http://github.com/snoyberg/mime-mail")
|
||||
(synopsis "Compose MIME email messages.")
|
||||
(description
|
||||
"Hackage documentation generation is not reliable. For up to date documentation,
|
||||
please see: <http://www.stackage.org/package/mime-mail>.")
|
||||
(license license:expat)))
|
||||
|
||||
(define ghc-smtp-mail
|
||||
(package
|
||||
(name "ghc-smtp-mail")
|
||||
(version "0.3.0.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "smtp-mail" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0q81m4mi43cd0f1azm6984xw3qw2s6ygszdn86j5z3g5sjj5dax4"))))
|
||||
(build-system haskell-build-system)
|
||||
(inputs (list ghc-base16-bytestring
|
||||
ghc-base64-bytestring
|
||||
ghc-connection
|
||||
ghc-mime-mail
|
||||
ghc-network
|
||||
ghc-network-bsd
|
||||
ghc-cryptonite
|
||||
ghc-memory))
|
||||
(home-page "http://github.com/jhickner/smtp-mail")
|
||||
(synopsis "Simple email sending via SMTP")
|
||||
(description
|
||||
"This packages provides a simple interface for mail over SMTP. PLease see the
|
||||
README for more information.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
datarekisteri
|
692
guix.scm
692
guix.scm
|
@ -1,692 +0,0 @@
|
|||
; also load guix.scm for id-rekisteri
|
||||
(use-modules ((guix licenses) #:prefix license:)
|
||||
(guix packages)
|
||||
(guix)
|
||||
(guix download)
|
||||
(guix build-system haskell)
|
||||
(gnu packages haskell)
|
||||
(gnu packages haskell-xyz)
|
||||
(gnu packages haskell-crypto)
|
||||
(gnu packages haskell-check)
|
||||
(gnu packages haskell-web))
|
||||
|
||||
(define-public datarekisteri
|
||||
(package
|
||||
(name "datarekisteri")
|
||||
(version "0.0.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri "file:///home/saku/koodi/rekisteri/datarekisteri")
|
||||
(sha256
|
||||
(base32
|
||||
"1lpggpdzgjk23mq7aa64yylds5dbm4ynhcvbarqihjxabvh7xmz1"))))
|
||||
(build-system haskell-build-system)
|
||||
(inputs (list ghc-base64
|
||||
ghc-cryptonite
|
||||
ghc-email-validate
|
||||
ghc-esqueleto
|
||||
ghc-mime-mail
|
||||
ghc-morpheus-graphql
|
||||
ghc-morpheus-graphql-client
|
||||
ghc-persistent
|
||||
ghc-persistent-postgresql
|
||||
ghc-scotty
|
||||
ghc-smtp-mail
|
||||
ghc-wai-cors
|
||||
ghc-wai-extra
|
||||
ghc-yesod
|
||||
ghc-yesod-static
|
||||
ghc-yesod-auth))
|
||||
(home-page "")
|
||||
(synopsis "")
|
||||
(description "")
|
||||
(license license:agpl3+)))
|
||||
|
||||
(define-public ghc-authenticate
|
||||
(package
|
||||
(name "ghc-authenticate")
|
||||
(version "1.3.5.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "authenticate" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1rhbvdgwdr68gp13p5piddfdqf3l9lmx4w7k249lc98y23780c3x"))))
|
||||
(build-system haskell-build-system)
|
||||
(inputs (list ghc-aeson
|
||||
ghc-http-conduit
|
||||
ghc-case-insensitive
|
||||
ghc-http-types
|
||||
ghc-xml-conduit
|
||||
ghc-blaze-builder
|
||||
ghc-attoparsec
|
||||
ghc-unordered-containers
|
||||
ghc-conduit
|
||||
ghc-html-conduit
|
||||
ghc-resourcet
|
||||
ghc-network-uri))
|
||||
(home-page "http://github.com/yesodweb/authenticate")
|
||||
(synopsis "Authentication methods for Haskell web applications.")
|
||||
(description "API docs and the README are available at
|
||||
<http://www.stackage.org/package/authenticate>.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public ghc-yesod-auth
|
||||
(package
|
||||
(name "ghc-yesod-auth")
|
||||
(version "1.6.11")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "yesod-auth" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0fdahk5mc63g0zsafk8axry01qaxahmclpmmwygp2lhfsjy8mby2"))))
|
||||
(build-system haskell-build-system)
|
||||
(inputs (list ghc-aeson
|
||||
ghc-authenticate
|
||||
ghc-base16-bytestring
|
||||
ghc-base64-bytestring
|
||||
ghc-blaze-builder
|
||||
ghc-blaze-html
|
||||
ghc-blaze-markup
|
||||
ghc-conduit
|
||||
ghc-conduit-extra
|
||||
ghc-cryptonite
|
||||
ghc-data-default
|
||||
ghc-email-validate
|
||||
ghc-file-embed
|
||||
ghc-http-client
|
||||
ghc-http-client-tls
|
||||
ghc-http-conduit
|
||||
ghc-http-types
|
||||
ghc-memory
|
||||
ghc-nonce
|
||||
ghc-persistent
|
||||
ghc-random
|
||||
ghc-safe
|
||||
ghc-shakespeare
|
||||
ghc-unliftio
|
||||
ghc-unliftio-core
|
||||
ghc-unordered-containers
|
||||
ghc-wai
|
||||
ghc-yesod-core
|
||||
ghc-yesod-form
|
||||
ghc-yesod-persistent
|
||||
ghc-network-uri))
|
||||
(home-page "http://www.yesodweb.com/")
|
||||
(synopsis "Authentication for Yesod.")
|
||||
(description "API docs and the README are available at
|
||||
<http://www.stackage.org/package/yesod-auth>")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public ghc-scotty
|
||||
(package
|
||||
(name "ghc-scotty")
|
||||
(version "0.12")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "scotty" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1lpggpdzgjk23mq7aa64yylds5dbm4ynhcvbarqihjxabvh7xmz1"))))
|
||||
(build-system haskell-build-system)
|
||||
(inputs (list ghc-aeson
|
||||
ghc-base-compat-batteries
|
||||
ghc-blaze-builder
|
||||
ghc-case-insensitive
|
||||
ghc-data-default-class
|
||||
ghc-fail
|
||||
ghc-http-types
|
||||
ghc-monad-control
|
||||
ghc-nats
|
||||
ghc-network
|
||||
ghc-regex-compat
|
||||
ghc-transformers-base
|
||||
ghc-transformers-compat
|
||||
ghc-wai
|
||||
ghc-wai-extra
|
||||
ghc-warp))
|
||||
(native-inputs (list ghc-async ghc-hspec ghc-hspec-wai ghc-lifted-base hspec-discover))
|
||||
(arguments
|
||||
`(#:cabal-revision ("7"
|
||||
"1i8icc612w4dbmqmnf99drqpmjvhjnkmqgk9xr63amj8jkz5lp4m")))
|
||||
(home-page "https://github.com/scotty-web/scotty")
|
||||
(synopsis
|
||||
"Haskell web framework inspired by Ruby's Sinatra, using WAI and Warp")
|
||||
(description
|
||||
"This package provides a Haskell web framework inspired by Ruby's Sinatra, using
|
||||
WAI and Warp. . @ {-# LANGUAGE OverloadedStrings #-} . import
|
||||
Web.Scotty . import Data.Monoid (mconcat) . main = scotty 3000 $   get
|
||||
"/:word" $ do     beam <- param "word"
|
||||
    html $ mconcat ["<h1>Scotty, ", beam, "
|
||||
me up!</h1>"] @ . . Scotty is the cheap and cheerful way to write
|
||||
RESTful, declarative web applications. . * A page is as simple as defining the
|
||||
verb, url pattern, and Text content. . * It is template-language agnostic.
|
||||
Anything that returns a Text value will do. . * Conforms to WAI Application
|
||||
interface. . * Uses very fast Warp webserver by default. . As for the name:
|
||||
Sinatra + Warp = Scotty. . [WAI] <http://hackage.haskell.org/package/wai> .
|
||||
[Warp] <http://hackage.haskell.org/package/warp>")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public ghc-hspec-wai
|
||||
(package
|
||||
(name "ghc-hspec-wai")
|
||||
(version "0.11.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "hspec-wai" version))
|
||||
(sha256
|
||||
(base32
|
||||
"03wiksic5y9a2g6a86nsxrnajdgdvpv17w02h5qla0zp9zs6pa1j"))))
|
||||
(build-system haskell-build-system)
|
||||
(inputs (list ghc-quickcheck
|
||||
ghc-base-compat
|
||||
ghc-case-insensitive
|
||||
ghc-hspec-core
|
||||
ghc-hspec-expectations
|
||||
ghc-http-types
|
||||
ghc-wai
|
||||
ghc-wai-extra))
|
||||
(native-inputs (list ghc-hspec hspec-discover))
|
||||
(home-page "https://github.com/hspec/hspec-wai#readme")
|
||||
(synopsis "Experimental Hspec support for testing WAI applications")
|
||||
(description "Experimental Hspec support for testing WAI applications")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public ghc-morpheus-graphql
|
||||
(package
|
||||
(name "ghc-morpheus-graphql")
|
||||
(version "0.27.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "morpheus-graphql" version))
|
||||
(sha256
|
||||
(base32
|
||||
"04qah7565dzq7v4q43zjz8778pdn5jwnway5rvz4kkibcrscfagn"))))
|
||||
(build-system haskell-build-system)
|
||||
(inputs (list ghc-aeson
|
||||
ghc-morpheus-graphql-app
|
||||
ghc-morpheus-graphql-code-gen
|
||||
ghc-morpheus-graphql-core
|
||||
ghc-morpheus-graphql-server
|
||||
ghc-relude
|
||||
ghc-unordered-containers
|
||||
ghc-vector))
|
||||
(native-inputs (list ghc-morpheus-graphql-subscriptions
|
||||
ghc-morpheus-graphql-tests ghc-tasty ghc-tasty-hunit))
|
||||
(home-page "https://morpheusgraphql.com")
|
||||
(synopsis "Morpheus GraphQL")
|
||||
(description "Build GraphQL APIs with your favourite functional language!")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public ghc-morpheus-graphql-code-gen
|
||||
(package
|
||||
(name "ghc-morpheus-graphql-code-gen")
|
||||
(version "0.27.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "morpheus-graphql-code-gen" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1rmxcr17xjx99aam048a4sqlwlnxjk41hx8fnb363ljid74vrcrb"))))
|
||||
(build-system haskell-build-system)
|
||||
(inputs (list ghc-file-embed
|
||||
ghc-morpheus-graphql-code-gen-utils
|
||||
ghc-morpheus-graphql-core
|
||||
ghc-morpheus-graphql-server
|
||||
ghc-prettyprinter
|
||||
ghc-relude
|
||||
ghc-unordered-containers
|
||||
ghc-glob
|
||||
ghc-morpheus-graphql-client
|
||||
ghc-optparse-applicative
|
||||
ghc-yaml))
|
||||
(home-page "https://morpheusgraphql.com")
|
||||
(synopsis "Morpheus GraphQL CLI")
|
||||
(description "code generator for Morpheus GraphQL")
|
||||
(license license:bsd-3)))
|
||||
|
||||
|
||||
(define-public ghc-morpheus-graphql-core
|
||||
(package
|
||||
(name "ghc-morpheus-graphql-core")
|
||||
(version "0.27.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "morpheus-graphql-core" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0dd8bifn6qwpss06hbb0r730fqfkbd4nhwsr2bsrgxc7hvzv9wi7"))))
|
||||
(build-system haskell-build-system)
|
||||
(inputs (list ghc-aeson
|
||||
ghc-hashable
|
||||
ghc-megaparsec
|
||||
ghc-relude
|
||||
ghc-scientific
|
||||
ghc-th-lift-instances
|
||||
ghc-unordered-containers
|
||||
ghc-vector))
|
||||
(native-inputs (list ghc-morpheus-graphql-tests ghc-tasty ghc-tasty-hunit))
|
||||
(home-page "https://morpheusgraphql.com")
|
||||
(synopsis "Morpheus GraphQL Core")
|
||||
(description "Build GraphQL APIs with your favorite functional language!")
|
||||
(license license:expat)))
|
||||
|
||||
|
||||
(define-public ghc-morpheus-graphql-app
|
||||
(package
|
||||
(name "ghc-morpheus-graphql-app")
|
||||
(version "0.27.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "morpheus-graphql-app" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0dicajcqgxpv1jhnywjjs0g4p5ryv0xlrywib1xwxrb04wy9aa3f"))))
|
||||
(build-system haskell-build-system)
|
||||
(inputs (list ghc-aeson
|
||||
ghc-hashable
|
||||
ghc-megaparsec
|
||||
ghc-morpheus-graphql-core
|
||||
ghc-relude
|
||||
ghc-scientific
|
||||
ghc-th-lift-instances
|
||||
ghc-unordered-containers
|
||||
ghc-vector))
|
||||
(native-inputs (list ghc-morpheus-graphql-tests ghc-tasty ghc-tasty-hunit))
|
||||
(home-page "https://morpheusgraphql.com")
|
||||
(synopsis "Morpheus GraphQL App")
|
||||
(description "Build GraphQL APIs with your favourite functional language!")
|
||||
(license license:expat)))
|
||||
|
||||
|
||||
(define-public ghc-morpheus-graphql-subscriptions
|
||||
(package
|
||||
(name "ghc-morpheus-graphql-subscriptions")
|
||||
(version "0.27.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "morpheus-graphql-subscriptions" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0gynrshv858g36jwvmh3q2asc6ppkr7hv9w9lx1qfjqfwm7r0140"))))
|
||||
(build-system haskell-build-system)
|
||||
(inputs (list ghc-aeson
|
||||
ghc-morpheus-graphql-app
|
||||
ghc-morpheus-graphql-core
|
||||
ghc-relude
|
||||
ghc-unliftio-core
|
||||
ghc-unordered-containers
|
||||
ghc-uuid
|
||||
ghc-websockets))
|
||||
(home-page "https://morpheusgraphql.com")
|
||||
(synopsis "Morpheus GraphQL Subscriptions")
|
||||
(description "Build GraphQL APIs with your favourite functional language!")
|
||||
(license license:expat)))
|
||||
|
||||
|
||||
(define-public ghc-morpheus-graphql-client
|
||||
(package
|
||||
(name "ghc-morpheus-graphql-client")
|
||||
(version "0.27.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "morpheus-graphql-client" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1j4r6ar6l462aq8qvxikmwyxd2f8i60gd3j0qf5pxsslgjwmjbi9"))))
|
||||
(build-system haskell-build-system)
|
||||
(inputs (list ghc-aeson
|
||||
ghc-file-embed
|
||||
ghc-modern-uri
|
||||
ghc-morpheus-graphql-code-gen-utils
|
||||
ghc-morpheus-graphql-core
|
||||
ghc-morpheus-graphql-subscriptions
|
||||
ghc-prettyprinter
|
||||
ghc-relude
|
||||
ghc-req
|
||||
ghc-unliftio-core
|
||||
ghc-unordered-containers
|
||||
ghc-websockets
|
||||
ghc-wuss))
|
||||
(native-inputs (list ghc-tasty ghc-tasty-hunit))
|
||||
(home-page "https://morpheusgraphql.com")
|
||||
(synopsis "Morpheus GraphQL Client")
|
||||
(description "Build GraphQL APIs with your favorite functional language!")
|
||||
(license license:expat)))
|
||||
|
||||
|
||||
(define-public ghc-morpheus-graphql-tests
|
||||
(package
|
||||
(name "ghc-morpheus-graphql-tests")
|
||||
(version "0.27.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "morpheus-graphql-tests" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1s9x4gcqd36gqf5w2wxiqhf7k9y44b7g7zm90y2kbclxqirs9rqf"))))
|
||||
(build-system haskell-build-system)
|
||||
(inputs (list ghc-aeson ghc-relude ghc-tasty ghc-tasty-hunit
|
||||
ghc-unordered-containers))
|
||||
(home-page "https://morpheusgraphql.com")
|
||||
(synopsis "Morpheus GraphQL Test")
|
||||
(description "")
|
||||
(license license:expat)))
|
||||
|
||||
|
||||
(define-public ghc-morpheus-graphql-server
|
||||
(package
|
||||
(name "ghc-morpheus-graphql-server")
|
||||
(version "0.27.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "morpheus-graphql-server" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1hl2c78pnx2rxx869p6ixvnyhzm46f1hzalqz2vbwrflshpmjv91"))))
|
||||
(build-system haskell-build-system)
|
||||
(inputs (list ghc-aeson
|
||||
ghc-morpheus-graphql-app
|
||||
ghc-morpheus-graphql-core
|
||||
ghc-relude
|
||||
ghc-unordered-containers
|
||||
ghc-vector))
|
||||
(native-inputs (list ghc-file-embed ghc-morpheus-graphql-subscriptions
|
||||
ghc-morpheus-graphql-tests ghc-tasty ghc-tasty-hunit))
|
||||
(home-page "https://morpheusgraphql.com")
|
||||
(synopsis "Morpheus GraphQL")
|
||||
(description "Build GraphQL APIs with your favourite functional language!")
|
||||
(license license:expat)))
|
||||
|
||||
(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)
|
||||
(inputs (list ghc-hashable ghc-unordered-containers))
|
||||
(native-inputs (list ghc-hedgehog ghc-doctest ghc-glob))
|
||||
(home-page "https://github.com/kowainik/relude")
|
||||
(synopsis
|
||||
"Safe, performant, user-friendly and lightweight Haskell Standard Library")
|
||||
(description
|
||||
"@__relude__@ is an alternative prelude library. If you find the default
|
||||
@Prelude@ unsatisfying, despite its advantages, consider using @relude@ instead.
|
||||
== Relude goals and design principles * __Productivity.__ You can be more
|
||||
productive with a \"non-standard\" standard library, and @relude@ helps you with
|
||||
writing safer and more efficient code faster. * __Total programming__. Usage of
|
||||
[/partial
|
||||
functions/](https://www.reddit.com/r/haskell/comments/5n51u3/why_are_partial_functions_as_in_head_tail_bad/)
|
||||
can lead to unexpected bugs and runtime exceptions in pure code. The types of
|
||||
partial functions lie about their behaviour. And even if it is not always
|
||||
possible to rely only on total functions, @relude@ strives to encourage
|
||||
best-practices and reduce the chances of introducing a bug.
|
||||
+---------------------------------+--------------------------------------------+
|
||||
| __Partial__ | __Total__ |
|
||||
+=================================+============================================+
|
||||
| @head :: [a] -> a@ | @head :: NonEmpty a -> a@ |
|
||||
+---------------------------------+--------------------------------------------+
|
||||
| @tail :: [a] -> [a]@ | @tail :: NonEmpty a -> [a]@ |
|
||||
+---------------------------------+--------------------------------------------+
|
||||
| @read :: Read a => String -> a@ | @readMaybe :: Read a => String -> Maybe a@ |
|
||||
+---------------------------------+--------------------------------------------+
|
||||
| @fromJust :: Maybe a -> a@ | @fromMaybe :: a -> Maybe a -> a@ |
|
||||
+---------------------------------+--------------------------------------------+
|
||||
* __Type-safety__. We use the /\"make invalid states unrepresentable\"/ motto as
|
||||
one of our guiding principles. If it is possible, we express this concept
|
||||
through the types. /Example:/ @ whenNotNull :: Applicative f => [a] -> (NonEmpty
|
||||
a -> f ()) -> f () @ * __Performance.__ We prefer @Text@ over
|
||||
@[String](https://www.reddit.com/r/haskell/comments/29jw0s/whats_wrong_with_string/)@,
|
||||
use space-leaks-free functions (e.g. our custom performant @sum@ and
|
||||
@product@), introduce @\\{\\-\\# INLINE \\#\\-\\}@ and @\\{\\-\\# SPECIALIZE \\#\\-\\}@
|
||||
pragmas where appropriate, and make efficient container types (e.g. @Map@,
|
||||
@HashMap@, @Set@) more accessible. * __Minimalism__ (low number of
|
||||
dependencies). We do not force users of @relude@ to stick to any specific lens
|
||||
or text formatting or logging library. Where possible, @relude@ depends only on
|
||||
boot libraries. The [Dependency
|
||||
graph](https://raw.githubusercontent.com/kowainik/relude/main/relude-dependency-graph.png)
|
||||
of @relude@ can give you a clearer picture. * __Convenience__. Despite
|
||||
minimalism, we want to bring commonly used types and functions into scope, and
|
||||
make available functions easier to use. Some examples of conveniences: 1. No
|
||||
need to add @containers@, @unordered-containers@, @text@ and @bytestring@ to
|
||||
dependencies in your @.cabal@ file to use the main API of these libraries 2. No
|
||||
need to import types like @NonEmpty@, @Text@, @Set@, @Reader[T]@, @MVar@, @STM@
|
||||
3. Functions like @liftIO@, @fromMaybe@, @sortWith@ are available by default as
|
||||
well 4. @IO@ actions are lifted to @MonadIO@ * __Excellent documentation.__ 1.
|
||||
Tutorial 2. Migration guide from @Prelude@ 3. Haddock for every function with
|
||||
examples tested by [doctest](http://hackage.haskell.org/package/doctest). 4.
|
||||
Documentation regarding [internal module
|
||||
structure](http://hackage.haskell.org/package/relude/docs/Relude.html) 5.
|
||||
@relude@-specific [HLint](http://hackage.haskell.org/package/hlint) rules:
|
||||
@[.hlint.yaml](https://github.com/kowainik/relude/blob/main/.hlint.yaml)@ *
|
||||
__User-friendliness.__ Anyone should be able to quickly migrate to @relude@.
|
||||
Only some basic familiarity with the common libraries like @text@ and
|
||||
@containers@ should be enough (but not necessary). * __Exploration.__ We have
|
||||
space to experiment with new ideas and proposals without introducing breaking
|
||||
changes. @relude@ uses the approach with @Extra.*@ modules which are not
|
||||
exported by default. The chosen approach makes it quite easy for us to provide
|
||||
new functionality without breaking anything and let the users decide to use it
|
||||
or not.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public ghc-morpheus-graphql-code-gen-utils
|
||||
(package
|
||||
(name "ghc-morpheus-graphql-code-gen-utils")
|
||||
(version "0.27.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "morpheus-graphql-code-gen-utils" version))
|
||||
(sha256
|
||||
(base32
|
||||
"11dfnyd9wbrwjfjz1qkc188x6l4b149jsyzjwh1gqji0skzsk3f6"))))
|
||||
(build-system haskell-build-system)
|
||||
(inputs (list ghc-morpheus-graphql-core ghc-prettyprinter ghc-relude
|
||||
ghc-unordered-containers))
|
||||
(home-page "https://morpheusgraphql.com")
|
||||
(synopsis "Morpheus GraphQL CLI")
|
||||
(description "code generator for Morpheus GraphQL")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public ghc-wuss
|
||||
(package
|
||||
(name "ghc-wuss")
|
||||
(version "2.0.1.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "wuss" version))
|
||||
(sha256
|
||||
(base32
|
||||
"037dsx4mrp5mz2fif9zqlsp1n35g7v8749wmji281ing8jfiyl37"))))
|
||||
(build-system haskell-build-system)
|
||||
(inputs (list ghc-connection ghc-network ghc-websockets))
|
||||
(home-page "http://hackage.haskell.org/package/wuss")
|
||||
(synopsis "Secure WebSocket (WSS) clients")
|
||||
(description
|
||||
"Wuss is a library that lets you easily create secure WebSocket clients over the
|
||||
WSS protocol. It is a small addition to
|
||||
<https://hackage.haskell.org/package/websockets the websockets package> and is
|
||||
adapted from existing solutions by <https://gist.github.com/jaspervdj/7198388
|
||||
@@jaspervdj>, <https://gist.github.com/mpickering/f1b7ba3190a4bb5884f3
|
||||
@@mpickering>, and <https://gist.github.com/elfenlaid/7b5c28065e67e4cf0767
|
||||
@@elfenlaid>.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public ghc-rsa
|
||||
(package
|
||||
(name "ghc-rsa")
|
||||
(version "2.4.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "RSA" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0hchsqrxpfw7mqrqwscfy8ig1w2di6w3nxpzi873w0gibv2diibj"))))
|
||||
(build-system haskell-build-system)
|
||||
(inputs (list ghc-crypto-api ghc-crypto-pubkey-types ghc-sha))
|
||||
(native-inputs (list ghc-quickcheck ghc-tagged ghc-test-framework
|
||||
ghc-test-framework-quickcheck2))
|
||||
(home-page "http://hackage.haskell.org/package/RSA")
|
||||
(synopsis
|
||||
"Implementation of RSA, using the padding schemes of PKCS#1 v2.1.")
|
||||
(description
|
||||
"This library implements the RSA encryption and signature algorithms for
|
||||
arbitrarily-sized ByteStrings. While the implementations work, they are not
|
||||
necessarily the fastest ones on the planet. Particularly key generation. The
|
||||
algorithms included are based of RFC 3447, or the Public-Key Cryptography
|
||||
Standard for RSA, version 2.1 (a.k.a, PKCS#1 v2.1).")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public ghc-crypto-pubkey-types
|
||||
(package
|
||||
(name "ghc-crypto-pubkey-types")
|
||||
(version "0.4.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "crypto-pubkey-types" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0q0wlzjmpx536h1zcdzrpxjkvqw8abj8z0ci38138kpch4igbnby"))))
|
||||
(build-system haskell-build-system)
|
||||
(inputs (list ghc-asn1-types ghc-asn1-encoding))
|
||||
(home-page "http://github.com/vincenthz/hs-crypto-pubkey-types")
|
||||
(synopsis "Generic cryptography Public keys algorithm types")
|
||||
(description "Generic cryptography public keys algorithm types")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public ghc-authenticate-oauth
|
||||
(package
|
||||
(name "ghc-authenticate-oauth")
|
||||
(version "1.7")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "authenticate-oauth" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0y4v46rn0cvm0sr1v8qq1zgzllrlrr3ji5gij1xprgf1zsazcvvl"))))
|
||||
(build-system haskell-build-system)
|
||||
(inputs (list ghc-http-client
|
||||
ghc-crypto-pubkey-types
|
||||
ghc-rsa
|
||||
ghc-data-default
|
||||
ghc-sha
|
||||
ghc-random
|
||||
ghc-http-types
|
||||
ghc-blaze-builder
|
||||
ghc-transformers-compat))
|
||||
(home-page "http://github.com/yesodweb/authenticate")
|
||||
(synopsis
|
||||
"Library to authenticate with OAuth for Haskell web applications.")
|
||||
(description "API docs and the README are available at
|
||||
<http://www.stackage.org/package/authenticate-oauth>.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public ghc-req
|
||||
(package
|
||||
(name "ghc-req")
|
||||
(version "3.13.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "req" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1igs75bj57vs1fwpxj1765l6zkqd4r3p2gbwp6cv2l37drfxjck4"))))
|
||||
(build-system haskell-build-system)
|
||||
(inputs (list ghc-aeson
|
||||
ghc-authenticate-oauth
|
||||
ghc-blaze-builder
|
||||
ghc-case-insensitive
|
||||
ghc-connection
|
||||
ghc-http-api-data
|
||||
ghc-http-client
|
||||
ghc-http-client-tls
|
||||
ghc-http-types
|
||||
ghc-modern-uri
|
||||
ghc-monad-control
|
||||
ghc-retry
|
||||
ghc-transformers-base
|
||||
ghc-unliftio-core))
|
||||
(native-inputs (list ghc-quickcheck ghc-hspec hspec-discover ghc-hspec-core
|
||||
ghc-quickcheck ghc-hspec))
|
||||
(arguments '(#:tests? #f))
|
||||
(home-page "https://github.com/mrkkrp/req")
|
||||
(synopsis "HTTP client library")
|
||||
(description "HTTP client library.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public ghc-modern-uri
|
||||
(package
|
||||
(name "ghc-modern-uri")
|
||||
(version "0.3.6.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "modern-uri" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1lj3il9wg7v88l1hj08k07g3f76xas0gz20l2wy8z6xbpcn5ng6g"))))
|
||||
(build-system haskell-build-system)
|
||||
(inputs (list ghc-quickcheck
|
||||
ghc-contravariant
|
||||
ghc-hashable
|
||||
ghc-megaparsec
|
||||
ghc-profunctors
|
||||
ghc-reflection
|
||||
ghc-tagged))
|
||||
(native-inputs (list ghc-hspec hspec-discover ghc-hspec-megaparsec))
|
||||
(home-page "https://github.com/mrkkrp/modern-uri")
|
||||
(synopsis "Modern library for working with URIs")
|
||||
(description "Modern library for working with URIs.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public ghc-mime-mail
|
||||
(package
|
||||
(name "ghc-mime-mail")
|
||||
(version "0.5.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "mime-mail" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1s1wp8v1xlvw3r4qk1lv9zpm99ihka7a785zjl6i3fq1maqq955g"))))
|
||||
(build-system haskell-build-system)
|
||||
(inputs (list ghc-base64-bytestring ghc-random ghc-blaze-builder))
|
||||
(native-inputs (list ghc-hspec hspec-discover))
|
||||
(home-page "http://github.com/snoyberg/mime-mail")
|
||||
(synopsis "Compose MIME email messages.")
|
||||
(description
|
||||
"Hackage documentation generation is not reliable. For up to date documentation,
|
||||
please see: <http://www.stackage.org/package/mime-mail>.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public ghc-smtp-mail
|
||||
(package
|
||||
(name "ghc-smtp-mail")
|
||||
(version "0.3.0.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "smtp-mail" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0q81m4mi43cd0f1azm6984xw3qw2s6ygszdn86j5z3g5sjj5dax4"))))
|
||||
(build-system haskell-build-system)
|
||||
(inputs (list ghc-base16-bytestring
|
||||
ghc-base64-bytestring
|
||||
ghc-connection
|
||||
ghc-mime-mail
|
||||
ghc-network
|
||||
ghc-network-bsd
|
||||
ghc-cryptonite
|
||||
ghc-memory))
|
||||
(home-page "http://github.com/jhickner/smtp-mail")
|
||||
(synopsis "Simple email sending via SMTP")
|
||||
(description
|
||||
"This packages provides a simple interface for mail over SMTP. PLease see the
|
||||
README for more information.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
datarekisteri
|
Loading…
Reference in New Issue