(define-module (datarekisteri-package) #:use-module (guix) #:use-module (guix build-system go) #: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 golang) #:use-module (gnu packages syncthing) #: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-backend (package (name "datarekisteri-backend") (version "0.0.1") (source (local-file "../../backend" "datarekisteri-backend-checkout" #:recursive? #t #:select? vcs-file?)) (build-system haskell-build-system) (inputs (list dbmate ghc-base64 ghc-cryptonite ghc-datarekisteri-core ghc-data-default ghc-echo ghc-email-validate ghc-esqueleto ghc-mime-mail ghc-morpheus-graphql ghc-optparse-applicative ghc-persistent ghc-persistent-postgresql ghc-scotty ghc-smtp-mail ghc-wai-cors ghc-wai-extra)) (arguments (list #:phases #~(modify-phases %standard-phases (add-after 'install 'wrap-binaries (lambda _ (wrap-program (string-append #$output "/bin/datarekisteri-backend") `("PATH" prefix (,(string-append #$(this-package-input "dbmate") "/bin"))))))))) (home-page "") (synopsis "") (description "") (license license:agpl3+))) (define-public datarekisteri-frontend (package (name "datarekisteri-frontend") (version "0.0.1") (source (local-file "../../frontend" "datarekisteri-frontend-checkout" #:recursive? #t #:select? vcs-file?)) (build-system haskell-build-system) (inputs (list dbmate ghc-base64 ghc-cryptonite ghc-datarekisteri-core ghc-email-validate ghc-esqueleto ghc-mime-mail ghc-morpheus-graphql ghc-morpheus-graphql-client ghc-optparse-applicative ghc-persistent ghc-persistent-postgresql ghc-wai-extra ghc-yesod ghc-yesod-static ghc-yesod-auth)) (home-page "") (synopsis "") (description "") (license license:agpl3+))) (define-public ghc-datarekisteri-core (package (name "datarekisteri-core") (version "0.0.1") (source (local-file "../../core" "datarekisteri-core-checkout" #:recursive? #t #:select? vcs-file?)) (build-system haskell-build-system) (inputs (list ghc-base64 ghc-cryptonite ghc-email-validate ghc-mime-mail ghc-morpheus-graphql ghc-morpheus-graphql-client ghc-persistent ghc-persistent-postgresql)) (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 .") (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 ") (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] . [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 and is adapted from existing solutions by , , and .") (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 .") (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: .") (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))) (define-public go-github-com-jmoiron-sqlx (package (name "go-github-com-jmoiron-sqlx") (version "1.3.5") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/jmoiron/sqlx") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "09snd3gfi3sm3gib7jdc6p8zxpn2ah0isqnibbag6f63k473yj14")))) (build-system go-build-system) (arguments '(#:import-path "github.com/jmoiron/sqlx")) (propagated-inputs (list go-github-com-mattn-go-sqlite3 go-github-com-lib-pq go-github-com-go-sql-driver-mysql)) (home-page "https://github.com/jmoiron/sqlx") (synopsis "sqlx") (description "Package sqlx provides general purpose extensions to database/sql.") (license license:expat))) (define-public go-github-com-pierrec-lz4 (package (name "go-github-com-pierrec-lz4") (version "v2.0.5+incompatible") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/pierrec/lz4") (commit (go-version->git-ref version)))) (file-name (git-file-name name version)) (sha256 (base32 "0y5rh7z01zycd59nnjpkqq0ydyjmcg9j1xw15q1i600l9j9g617p")))) (build-system go-build-system) (arguments '(#:import-path "github.com/pierrec/lz4")) (home-page "https://github.com/pierrec/lz4") (synopsis "lz4 : LZ4 compression in pure Go") (description "Package lz4 implements reading and writing lz4 compressed data (a frame), as specified in @url{http://fastcompression.blogspot.fr/2013/04/lz4-streaming-format-final.html,http://fastcompression.blogspot.fr/2013/04/lz4-streaming-format-final.html}.") (license license:bsd-3))) (define-public go-github-com-clickhouse-clickhouse-go (package (name "go-github-com-clickhouse-clickhouse-go") (version "1.5.4") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/ClickHouse/clickhouse-go") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "15yf96mx3fkjyyasb8gjw6ml476k9qacp54bdjrb14pafz3p3rgf")))) (build-system go-build-system) (arguments '(#:import-path "github.com/ClickHouse/clickhouse-go" #:tests? #f)) (propagated-inputs (list go-github-com-stretchr-testify go-github-com-pierrec-lz4 go-github-com-jmoiron-sqlx go-github-com-cloudflare-golz4 go-github-com-bkaradzic-go-lz4)) (home-page "https://github.com/ClickHouse/clickhouse-go") (synopsis "ClickHouse") (description "Golang SQL database driver for @url{https://clickhouse.yandex/,Yandex ClickHouse}") (license license:expat))) (define-public go-github-com-joho-godotenv (package (name "go-github-com-joho-godotenv") (version "1.4.0") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/joho/godotenv") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "1036h59vyhb58n817az6yg0zw5wa87yb86i7fnbdq8cw46mnjgw8")))) (build-system go-build-system) (arguments '(#:import-path "github.com/joho/godotenv")) (home-page "https://github.com/joho/godotenv") (synopsis "GoDotEnv") (description "Package godotenv is a go port of the ruby dotenv library (@url{https://github.com/bkeepers/dotenv,https://github.com/bkeepers/dotenv})") (license license:expat))) (define-public go-github-com-kami-zh-go-capturer (package (name "go-github-com-kami-zh-go-capturer") (version "0.0.0-20211219060012-52ea6c8fed04") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/zenizh/go-capturer") (commit (go-version->git-ref version)))) (file-name (git-file-name name version)) (sha256 (base32 "0zwz9gr1863z32gz9nyysg66mg124w6nql4m99g2dg6fbq2klda4")))) (build-system go-build-system) (arguments '(#:import-path "github.com/kami-zh/go-capturer")) (home-page "https://github.com/kami-zh/go-capturer") (synopsis "go-capturer") (description "Capture @code{os.Stdout} and/or @code{os.Stderr} in Go. This package is useful for writing tests which print some outputs using @code{fmt} package.") (license license:expat))) (define-public go-github-com-cloudflare-golz4 (package (name "go-github-com-cloudflare-golz4") (version "0.0.0-20150217214814-ef862a3cdc58") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/cloudflare/golz4") (commit (go-version->git-ref version)))) (file-name (git-file-name name version)) (sha256 (base32 "0ckiwp3aa010sdnki6vd32f0n08768ppnggc8d7syzh3kkn9zvn1")))) (build-system go-build-system) (arguments '(#:import-path "github.com/cloudflare/golz4" #:tests? #f)) (home-page "https://github.com/cloudflare/golz4") (synopsis "golz4") (description "Package lz4 implements compression using lz4.c and lz4hc.c") (license license:bsd-3))) (define-public go-github-com-cpuguy83-go-md2man-v2 (package (name "go-github-com-cpuguy83-go-md2man-v2") (version "2.0.2") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/cpuguy83/go-md2man") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "19qri18cinpzxblkid6ngz2vcxslv73s1aid900q0gfzvc71mqqb")))) (build-system go-build-system) (arguments '(#:import-path "github.com/cpuguy83/go-md2man/v2")) (propagated-inputs (list go-github-com-russross-blackfriday-v2)) (home-page "https://github.com/cpuguy83/go-md2man") (synopsis "go-md2man") (description "Converts markdown into roff (man pages).") (license license:expat))) (define-public go-github-com-russross-blackfriday-v2 (package (name "go-github-com-russross-blackfriday-v2") (version "2.1.0") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/russross/blackfriday") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "0d1rg1drrfmabilqjjayklsz5d0n3hkf979sr3wsrw92bfbkivs7")))) (build-system go-build-system) (arguments '(#:import-path "github.com/russross/blackfriday/v2")) (home-page "https://github.com/russross/blackfriday") (synopsis "Blackfriday") (description "Package blackfriday is a markdown processor.") (license license:bsd-2))) (define-public dbmate (package (name "dbmate") (version "1.15.0") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/amacneil/dbmate") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "1dbhm2aqppn4m55xnx18017shsy109hqv2nhksxb4ix83bjaq5vq")))) (build-system go-build-system) (arguments '(#:import-path "github.com/amacneil/dbmate")) (propagated-inputs (list go-gopkg-in-yaml-v3 go-github-com-russross-blackfriday-v2 go-github-com-pmezard-go-difflib go-github-com-davecgh-go-spew go-github-com-cpuguy83-go-md2man-v2 go-github-com-cloudflare-golz4 go-github-com-urfave-cli-v2 go-github-com-stretchr-testify go-github-com-mattn-go-sqlite3 go-github-com-lib-pq go-github-com-kami-zh-go-capturer go-github-com-joho-godotenv go-github-com-go-sql-driver-mysql go-github-com-clickhouse-clickhouse-go)) (home-page "https://github.com/amacneil/dbmate") (synopsis "Sql database migration tool") (description "Dbmate is a database migration tool, to keep your database schema in sync across multiple developers and your production servers.") (license license:expat))) (list datarekisteri-backend datarekisteri-frontend ghc-datarekisteri-core)