{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RankNTypes #-}

module PkgInfo  where

    import Data.String (IsString)
    import Data.Monoid
    import Prelude hiding ((<>))

    name :: IsString a => Maybe a
    name :: Maybe a
name = Maybe a
forall a. Maybe a
Nothing

    tag :: IsString a => a
    tag :: a
tag = a
""

    revision :: IsString a => a
    revision :: a
revision = a
""

    branch :: IsString a => a
    branch :: a
branch = a
""

    branch' :: IsString a => a
    branch' :: a
branch' = a
""

    vcsVersion :: IsString a => a
    vcsVersion :: a
vcsVersion = a
""

    compiler :: IsString a => a
    compiler :: a
compiler = a
"ghc-8.10.2"

    flags :: IsString a => [a]
    flags :: [a]
flags = []

    optimisation :: IsString a => a
    optimisation :: a
optimisation = a
"none"

    arch :: IsString a => a
    arch :: a
arch = a
"x86_64-linux"

    license :: IsString a => a
    license :: a
license = a
"MIT"

    licenseText :: IsString a => a
    licenseText :: a
licenseText = a
"Copyright (c) 2014 AlephCloud Systems, Inc.\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n\"Software\"), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\nNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\nLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\nOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\nWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"

    copyright :: IsString a => a
    copyright :: a
copyright = a
"(c) 2019-2020 Colin Woodbury <colin@fosskers.ca>,\n(c) 2015-2021 Lars Kuhtz <lakuhtz@gmail.com>,\n(c) 2014-2015 AlephCloud, Inc."

    author :: IsString a => a
    author :: a
author = a
"Lars Kuhtz <lakuhtz@gmail.com>"

    homepage :: IsString a => a
    homepage :: a
homepage = a
"https://github.com/alephcloud/hs-configuration-tools"

    package :: IsString a => a
    package :: a
package = a
"configuration-tools-0.6.1"

    packageName :: IsString a => a
    packageName :: a
packageName = a
"configuration-tools"

    packageVersion :: IsString a => a
    packageVersion :: a
packageVersion = a
"0.6.1"

    dependencies :: IsString a => [a]
    dependencies :: [a]
dependencies = [a
"Cabal-3.2.0.0",a
"StateVar-1.2.2",a
"aeson-2.0.1.0",a
"ansi-terminal-0.11",a
"ansi-wl-pprint-0.6.9",a
"array-0.5.4.0",a
"assoc-1.0.2",a
"attoparsec-0.14.1",a
"base-4.14.1.0",a
"base-compat-0.12.0",a
"base-compat-batteries-0.12.0",a
"base-orphans-0.8.5",a
"base-unicode-symbols-0.2.4.2",a
"bifunctors-5.5.11",a
"binary-0.8.8.0",a
"bytestring-0.10.10.0",a
"case-insensitive-1.2.1.0",a
"colour-2.3.6",a
"comonad-5.0.8",a
"conduit-1.3.4.2",a
"containers-0.6.2.1",a
"contravariant-1.5.5",a
"data-fix-0.3.2",a
"deepseq-1.4.4.0",a
"directory-1.3.6.0",a
"distributive-0.6.2.1",a
"dlist-1.0",a
"exceptions-0.10.4",a
"filepath-1.4.2.1",a
"ghc-boot-th-8.10.2",a
"ghc-prim-0.6.1",a
"hashable-1.3.4.1",a
"indexed-traversable-0.1.1",a
"indexed-traversable-instances-0.1",a
"integer-gmp-1.0.3.0",a
"integer-logarithms-1.0.3.1",a
"libyaml-0.1.2",a
"mono-traversable-1.0.15.3",a
"mtl-2.2.2",a
"network-uri-2.6.4.1",a
"optparse-applicative-0.16.1.0",a
"parsec-3.1.14.0",a
"pretty-1.1.3.6",a
"primitive-0.7.2.0",a
"process-1.6.9.0",a
"profunctors-5.6.2",a
"random-1.2.1",a
"resourcet-1.2.4.3",a
"rts-1.0",a
"scientific-0.3.7.0",a
"semialign-1.2",a
"semigroupoids-5.3.6",a
"semigroups-0.19.2",a
"split-0.2.3.4",a
"splitmix-0.1.0.3",a
"stm-2.5.0.0",a
"strict-0.4.0.1",a
"tagged-0.8.6.1",a
"template-haskell-2.16.0.0",a
"text-1.2.3.2",a
"th-abstraction-0.4.3.0",a
"th-compat-0.1.3",a
"these-1.1.1.1",a
"time-1.9.3",a
"time-compat-1.9.6.1",a
"transformers-0.5.6.2",a
"transformers-compat-0.7",a
"unix-2.7.2.2",a
"unliftio-core-0.2.0.1",a
"unordered-containers-0.2.14.0",a
"uuid-types-1.0.5",a
"vector-0.12.3.1",a
"vector-algorithms-0.8.0.4",a
"witherable-0.4.2",a
"yaml-0.11.7.0"]

    dependenciesWithLicenses :: IsString a => [a]
    dependenciesWithLicenses :: [a]
dependenciesWithLicenses = [a
"Cabal-3.2.0.0 [BSD-3-Clause, 2003-2020, Cabal Development Team (see AUTHORS file)]",a
"StateVar-1.2.2 [BSD-3-Clause, Copyright (C) 2014-2015 Edward A. Kmett, 2009-2021 Sven Panne]",a
"aeson-2.0.1.0 [BSD-3-Clause, (c) 2011-2016 Bryan O'Sullivan (c) 2011 MailRank, Inc.]",a
"ansi-terminal-0.11 [BSD-3-Clause]",a
"ansi-wl-pprint-0.6.9 [BSD-3-Clause]",a
"array-0.5.4.0 [BSD-3-Clause]",a
"assoc-1.0.2 [BSD-3-Clause]",a
"attoparsec-0.14.1 [BSD-3-Clause]",a
"base-4.14.1.0 [BSD-3-Clause]",a
"base-compat-0.12.0 [MIT, (c) 2012-2018 Simon Hengel, (c) 2014-2018 Jo\227o Crist\243v\227o, (c) 2015-2018 Ryan Scott]",a
"base-compat-batteries-0.12.0 [MIT, (c) 2012-2018 Simon Hengel, (c) 2014-2018 Jo\227o Crist\243v\227o, (c) 2015-2018 Ryan Scott]",a
"base-orphans-0.8.5 [MIT, (c) 2012-2017 Simon Hengel, (c) 2014-2017 Jo\227o Crist\243v\227o, (c) 2015-2017 Ryan Scott]",a
"base-unicode-symbols-0.2.4.2 [BSD-3-Clause, 2009\8211\&2019 Roel van Dijk <roel@lambdacube.nl>]",a
"bifunctors-5.5.11 [BSD-3-Clause, Copyright (C) 2008-2016 Edward A. Kmett]",a
"binary-0.8.8.0 [BSD-3-Clause]",a
"bytestring-0.10.10.0 [BSD-3-Clause, Copyright (c) Don Stewart 2005-2009, (c) Duncan Coutts 2006-2015, (c) David Roundy 2003-2005, (c) Jasper Van der Jeugt 2010, (c) Simon Meier 2010-2013.]",a
"case-insensitive-1.2.1.0 [BSD-3-Clause, 2011 Bas van Dijk]",a
"colour-2.3.6 [MIT]",a
"comonad-5.0.8 [BSD-3-Clause, Copyright (C) 2008-2014 Edward A. Kmett, Copyright (C) 2004-2008 Dave Menendez]",a
"conduit-1.3.4.2 [MIT]",a
"containers-0.6.2.1 [BSD-3-Clause]",a
"contravariant-1.5.5 [BSD-3-Clause, Copyright (C) 2007-2015 Edward A. Kmett]",a
"data-fix-0.3.2 [BSD-3-Clause]",a
"deepseq-1.4.4.0 [BSD-3-Clause]",a
"directory-1.3.6.0 [BSD-3-Clause]",a
"distributive-0.6.2.1 [BSD-3-Clause, Copyright (C) 2011-2016 Edward A. Kmett]",a
"dlist-1.0 [BSD-3-Clause, 2006-2009 Don Stewart, 2013-2020 Sean Leather, 2017-2020 Oleg Grenrus, contributors]",a
"exceptions-0.10.4 [BSD-3-Clause, Copyright (C) 2013-2015 Edward A. Kmett Copyright (C) 2012 Google Inc.]",a
"filepath-1.4.2.1 [BSD-3-Clause, Neil Mitchell 2005-2018]",a
"ghc-boot-th-8.10.2 [BSD-3-Clause]",a
"ghc-prim-0.6.1 [BSD-3-Clause]",a
"hashable-1.3.4.1 [BSD-3-Clause]",a
"indexed-traversable-0.1.1 [BSD-2-Clause]",a
"indexed-traversable-instances-0.1 [BSD-2-Clause]",a
"integer-gmp-1.0.3.0 [BSD-3-Clause]",a
"integer-logarithms-1.0.3.1 [MIT, (c) 2011 Daniel Fischer, 2017-2020 Oleg Grenrus, Andrew Lelechenko]",a
"libyaml-0.1.2 [BSD-3-Clause]",a
"mono-traversable-1.0.15.3 [MIT]",a
"mtl-2.2.2 [BSD-3-Clause]",a
"network-uri-2.6.4.1 [BSD-3-Clause]",a
"optparse-applicative-0.16.1.0 [BSD-3-Clause, (c) 2012-2017 Paolo Capriotti <paolo@capriotti.io>]",a
"parsec-3.1.14.0 [BSD-3-Clause]",a
"pretty-1.1.3.6 [BSD-3-Clause]",a
"primitive-0.7.2.0 [BSD-3-Clause, (c) Roman Leshchinskiy 2009-2012]",a
"process-1.6.9.0 [BSD-3-Clause]",a
"profunctors-5.6.2 [BSD-3-Clause, Copyright (C) 2011-2015 Edward A. Kmett]",a
"random-1.2.1 [BSD-3-Clause]",a
"resourcet-1.2.4.3 [BSD-3-Clause]",a
"rts-1.0 [BSD-3-Clause]",a
"scientific-0.3.7.0 [BSD-3-Clause]",a
"semialign-1.2 [BSD-3-Clause]",a
"semigroupoids-5.3.6 [BSD-2-Clause, Copyright (C) 2011-2015 Edward A. Kmett]",a
"semigroups-0.19.2 [BSD-3-Clause, Copyright (C) 2011-2015 Edward A. Kmett]",a
"split-0.2.3.4 [BSD-3-Clause, (c) Brent Yorgey, Louis Wasserman 2008-2012]",a
"splitmix-0.1.0.3 [BSD-3-Clause]",a
"stm-2.5.0.0 [BSD-3-Clause]",a
"strict-0.4.0.1 [BSD-3-Clause, (c) 2006-2008 by Roman Leshchinskiy (c) 2013-2014 by Simon Meier]",a
"tagged-0.8.6.1 [BSD-3-Clause, 2009-2015 Edward A. Kmett]",a
"template-haskell-2.16.0.0 [BSD-3-Clause]",a
"text-1.2.3.2 [BSD-2-Clause, 2009-2011 Bryan O'Sullivan, 2008-2009 Tom Harper]",a
"th-abstraction-0.4.3.0 [ISC, 2017 Eric Mertens]",a
"th-compat-0.1.3 [BSD-3-Clause, (C) 2020 Ryan Scott]",a
"these-1.1.1.1 [BSD-3-Clause]",a
"time-1.9.3 [BSD-3-Clause]",a
"time-compat-1.9.6.1 [BSD-3-Clause]",a
"transformers-0.5.6.2 [BSD-3-Clause]",a
"transformers-compat-0.7 [BSD-3-Clause, Copyright (C) 2012-2015 Edward A. Kmett]",a
"unix-2.7.2.2 [BSD-3-Clause]",a
"unliftio-core-0.2.0.1 [MIT, 2017-2020 FP Complete]",a
"unordered-containers-0.2.14.0 [BSD-3-Clause, 2010-2014 Johan Tibell 2010 Edward Z. Yang]",a
"uuid-types-1.0.5 [BSD-3-Clause, (c) 2017-2018 Herbert Valerio Riedel (c) 2008-2014 Antoine Latter]",a
"vector-0.12.3.1 [BSD-3-Clause, (c) Roman Leshchinskiy 2008-2012]",a
"vector-algorithms-0.8.0.4 [BSD-3-Clause, (c) 2008,2009,2010,2011,2012,2013,2014,2015 Dan Doel (c) 2015 Tim Baumann]",a
"witherable-0.4.2 [BSD-3-Clause, Copyright (c) 2014 Fumiaki Kinoshita]",a
"yaml-0.11.7.0 [BSD-3-Clause]"]

    versionString :: (Monoid a, IsString a) => a
    versionString :: a
versionString = case Maybe a
forall a. IsString a => Maybe a
name of
        Maybe a
Nothing -> a
forall a. IsString a => a
package a -> a -> a
forall a. Semigroup a => a -> a -> a
<> a
" (revision " a -> a -> a
forall a. Semigroup a => a -> a -> a
<> a
forall a. IsString a => a
vcsVersion a -> a -> a
forall a. Semigroup a => a -> a -> a
<> a
")"
        Just a
n -> a
n a -> a -> a
forall a. Semigroup a => a -> a -> a
<> a
"-" a -> a -> a
forall a. Semigroup a => a -> a -> a
<> a
forall a. IsString a => a
packageVersion a -> a -> a
forall a. Semigroup a => a -> a -> a
<> a
" (package " a -> a -> a
forall a. Semigroup a => a -> a -> a
<> a
forall a. IsString a => a
package a -> a -> a
forall a. Semigroup a => a -> a -> a
<> a
" revision " a -> a -> a
forall a. Semigroup a => a -> a -> a
<> a
forall a. IsString a => a
vcsVersion a -> a -> a
forall a. Semigroup a => a -> a -> a
<> a
")"

    info :: (Monoid a, IsString a) => a
    info :: a
info = a
forall a. (Monoid a, IsString a) => a
versionString a -> a -> a
forall a. Semigroup a => a -> a -> a
<> a
"\n" a -> a -> a
forall a. Semigroup a => a -> a -> a
<> a
forall a. IsString a => a
copyright

    longInfo :: (Monoid a, IsString a) => a
    longInfo :: a
longInfo = a
forall a. (Monoid a, IsString a) => a
info a -> a -> a
forall a. Semigroup a => a -> a -> a
<> a
"\n\n"
        a -> a -> a
forall a. Semigroup a => a -> a -> a
<> a
"Author: " a -> a -> a
forall a. Semigroup a => a -> a -> a
<> a
forall a. IsString a => a
author a -> a -> a
forall a. Semigroup a => a -> a -> a
<> a
"\n"
        a -> a -> a
forall a. Semigroup a => a -> a -> a
<> a
"License: " a -> a -> a
forall a. Semigroup a => a -> a -> a
<> a
forall a. IsString a => a
license a -> a -> a
forall a. Semigroup a => a -> a -> a
<> a
"\n"
        a -> a -> a
forall a. Semigroup a => a -> a -> a
<> a
"Homepage: " a -> a -> a
forall a. Semigroup a => a -> a -> a
<> a
forall a. IsString a => a
homepage a -> a -> a
forall a. Semigroup a => a -> a -> a
<> a
"\n"
        a -> a -> a
forall a. Semigroup a => a -> a -> a
<> a
"Build with: " a -> a -> a
forall a. Semigroup a => a -> a -> a
<> a
forall a. IsString a => a
compiler a -> a -> a
forall a. Semigroup a => a -> a -> a
<> a
" (" a -> a -> a
forall a. Semigroup a => a -> a -> a
<> a
forall a. IsString a => a
arch a -> a -> a
forall a. Semigroup a => a -> a -> a
<> a
")" a -> a -> a
forall a. Semigroup a => a -> a -> a
<> a
"\n"
        a -> a -> a
forall a. Semigroup a => a -> a -> a
<> a
"Build flags: " a -> a -> a
forall a. Semigroup a => a -> a -> a
<> [a] -> a
forall a. Monoid a => [a] -> a
mconcat ((a -> a) -> [a] -> [a]
forall a b. (a -> b) -> [a] -> [b]
map (\a
x -> a
" " a -> a -> a
forall a. Semigroup a => a -> a -> a
<> a
x) [a]
forall a. IsString a => [a]
flags) a -> a -> a
forall a. Semigroup a => a -> a -> a
<> a
"\n"
        a -> a -> a
forall a. Semigroup a => a -> a -> a
<> a
"Optimisation: " a -> a -> a
forall a. Semigroup a => a -> a -> a
<> a
forall a. IsString a => a
optimisation a -> a -> a
forall a. Semigroup a => a -> a -> a
<> a
"\n\n"
        a -> a -> a
forall a. Semigroup a => a -> a -> a
<> a
"Dependencies:\n" a -> a -> a
forall a. Semigroup a => a -> a -> a
<> [a] -> a
forall a. Monoid a => [a] -> a
mconcat ((a -> a) -> [a] -> [a]
forall a b. (a -> b) -> [a] -> [b]
map (\a
x -> a
"    " a -> a -> a
forall a. Semigroup a => a -> a -> a
<> a
x a -> a -> a
forall a. Semigroup a => a -> a -> a
<> a
"\n") [a]
forall a. IsString a => [a]
dependenciesWithLicenses)

    pkgInfo :: (Monoid a, IsString a) => (a, a, a, a)
    pkgInfo :: (a, a, a, a)
pkgInfo =
        ( a
forall a. (Monoid a, IsString a) => a
info
        , a
forall a. (Monoid a, IsString a) => a
longInfo
        , a
forall a. (Monoid a, IsString a) => a
versionString
        , a
forall a. IsString a => a
licenseText
        )