Experimental changes to Vervis.

[[ 🗃 ^KrXYo vervis ]] :: [📥 Inbox] [📤 Outbox] [🐤 Followers] [🤝 Collaborators] [🛠 Changes]

Clone

HTTPS: darcs clone https://vervis.peers.community/repos/KrXYo

SSH: darcs clone USERNAME@vervis.peers.community:KrXYo

Tags

TODO

vervis.cabal

name:                vervis
version:             0.1
synopsis:            Hopefully one day a decentralized project hosting platform
description:
  Vervis a software project hosting web application, which aims to be
  decentralized via federation. So far there is no federation yet, but hosting
  of Git and Darcs repositories and issue tracking are available.
  .
  Most of the source code is in the public domain using the CC0 public domain
  dedication, but the application as a whole has GPL dependencies, and is
  released under the AGPL 3 license.
homepage:            https://dev.angeley.es/s/fr33domlover/p/vervis
bug-reports:         https://dev.angeley.es/s/fr33domlover/p/vervis/t
license:             OtherLicense
license-file:        COPYING
author:              fr33domlover
maintainer:          fr33domlover@riseup.net
copyright:           ♡ Copying is an act of love. Please copy, reuse and share.
category:            Development, Distribution, Git, Web
build-type:          Simple
extra-source-files:  AUTHORS
                     CHANGELOG.md
                     COPYING
                     INSTALL.md
                     README.md
cabal-version:       >=1.10

source-repository head
  type:                darcs
  location:            https://dev.angeley.es/s/fr33domlover/r/vervis

flag dev
  description: Turn on development settings, like auto-reload templates.
  default:     False

flag library-only
  description: Build for use with "yesod devel"
  default:     False

library
  exposed-modules:     Control.Applicative.Local
                       Darcs.Local.Repository
                       Data.Attoparsec.ByteString.Local
                       Data.Binary.Local
                       Data.ByteString.Char8.Local
                       Data.ByteString.Local
                       Data.CaseInsensitive.Local
                       Data.Char.Local
                       Data.Either.Local
                       Data.EventTime.Local
                       Data.Functor.Local
                       Data.Git.Local
                       Data.Graph.DirectedAcyclic.View.Tree
                       Data.Graph.Inductive.Query.Cycle
                       Data.Graph.Inductive.Query.Layer
                       Data.Graph.Inductive.Query.Path
                       Data.Graph.Inductive.Query.TransRed
                       Data.HashMap.Lazy.Local
                       Data.Hourglass.Local
                       Data.List.Local
                       Data.Maybe.Local
                       Data.Paginate.Local
                       Data.Text.UTF8.Local
                       Data.Text.Lazy.UTF8.Local
                       Data.Time.Clock.Local
                       Data.Tree.Local
                       Database.Esqueleto.Local
                       Database.Persist.Class.Local
                       Database.Persist.Sql.Graph.Connects
                       Database.Persist.Sql.Graph.Cyclic
                       Database.Persist.Sql.Graph.Path
                       Database.Persist.Sql.Graph.Reachable
                       Database.Persist.Sql.Graph.TransitiveReduction
                       Database.Persist.Sql.Local
                       Database.Persist.Local.Class.PersistEntityGraph
                       Database.Persist.Local.Class.PersistEntityHierarchy
                       Database.Persist.Local.Class.PersistQueryForest
                       Database.Persist.Local.RecursionDoc
                       Database.Persist.Local.Sql
                       Database.Persist.Local.Sql.Orphan.Common
                       Database.Persist.Local.Sql.Orphan.PersistQueryForest
                       Diagrams.IntransitiveDAG
                       Formatting.CaseInsensitive
                       Language.Haskell.TH.Quote.Local
                       Network.SSH.Local
                       Text.Blaze.Local
                       Text.Display
                       Text.Email.Local
                       Text.FilePath.Local
                       Text.Jasmine.Local
                       Web.PathPieces.Local
                       Yesod.Auth.Unverified
                       Yesod.Auth.Unverified.Creds
                       Yesod.Auth.Unverified.Internal
                       Yesod.Paginate.Local
                       Yesod.SessionEntity

                       Vervis.ActivityStreams
                       Vervis.Application
                       Vervis.Avatar
                       Vervis.BinaryBody
                       Vervis.Changes
                       Vervis.ChangeFeed
                       Vervis.Colour
                       Vervis.Content
                       Vervis.Darcs
                       Vervis.Discussion
                       Vervis.Field.Key
                       Vervis.Field.Person
                       Vervis.Field.Project
                       Vervis.Field.Repo
                       Vervis.Field.Role
                       Vervis.Field.Sharer
                       Vervis.Field.Ticket
                       Vervis.Field.Workflow
                       Vervis.Form.Discussion
                       Vervis.Form.Group
                       Vervis.Form.Key
                       Vervis.Form.Person
                       Vervis.Form.Project
                       Vervis.Form.Repo
                       Vervis.Form.Role
                       Vervis.Form.Ticket
                       Vervis.Form.Workflow
                       Vervis.Formatting
                       Vervis.Foundation
                       Vervis.Git
                       Vervis.GitOld
                       Vervis.GraphProxy
                       Vervis.Handler.Common
                       Vervis.Handler.Discussion
                       Vervis.Handler.Git
                       Vervis.Handler.Group
                       Vervis.Handler.Home
                       Vervis.Handler.Key
                       Vervis.Handler.Person
                       Vervis.Handler.Project
                       Vervis.Handler.Repo
                       Vervis.Handler.Repo.Darcs
                       Vervis.Handler.Repo.Git
                       Vervis.Handler.Role
                       Vervis.Handler.Sharer
                       Vervis.Handler.Ticket
                       Vervis.Handler.Wiki
                       Vervis.Handler.Workflow
                       Vervis.Import
                       Vervis.Import.NoFoundation
                       Vervis.MediaType
                       Vervis.Migration
                       Vervis.Migration.Model
                       Vervis.Migration.TH
                       Vervis.Model
                       Vervis.Model.Entity
                       Vervis.Model.Group
                       Vervis.Model.Ident
                       Vervis.Model.Repo
                       Vervis.Model.Role
                       Vervis.Model.Ticket
                       Vervis.Model.TH
                       Vervis.Model.Workflow
                       Vervis.Paginate
                       Vervis.Palette
                       Vervis.Path
                       Vervis.Patch
                       Vervis.Query
                       Vervis.Readme
                       Vervis.Render
                       Vervis.Role
                       Vervis.Secure
                       Vervis.Settings
                       Vervis.Settings.StaticFiles
                       Vervis.SourceTree
                       Vervis.Ssh
                       Vervis.Style
                       Vervis.Ticket
                       Vervis.TicketFilter
                       Vervis.Time
                       Vervis.Widget
                       Vervis.Widget.Discussion
                       Vervis.Widget.Repo
                       Vervis.Widget.Role
                       Vervis.Widget.Sharer
                       Vervis.Widget.Ticket
                       Vervis.Widget.Workflow
                       Vervis.Wiki
  -- other-modules:       
  default-extensions:  TemplateHaskell
                       QuasiQuotes
                       OverloadedStrings
                       NoImplicitPrelude
                       MultiParamTypeClasses
                       TypeFamilies
                       GADTs
                       GeneralizedNewtypeDeriving
                       FlexibleContexts
                       FlexibleInstances
                       EmptyDataDecls
                       NoMonomorphismRestriction
                       DeriveDataTypeable
                       ViewPatterns
                       TupleSections
                       RecordWildCards
  build-depends:       aeson
                       -- for parsing commands sent over SSH and Darcs patch
                       -- metadata
                     , attoparsec
                     , base
                       -- for hex display of Darcs patch hashes
                     , base16-bytestring
                     , base64-bytestring
                       -- for Data.Binary.Local
                     , binary
                     , blaze-html
                       -- for Data.EventTime.Local
                     , blaze-markup
                     , byteable
                     , bytestring
                       -- for Darcs.Local.PatchInfo.Parser
                     , bytestring-lexing
                     , case-insensitive
                     , classy-prelude
                     , classy-prelude-conduit
                       -- for defining colors for use with diagrams
                     , colour
                     , conduit
                     , containers
                       -- for SHA1 hashing when parsing Darcs patch metadata
                     , cryptonite
                       -- for Storage.Hashed because hashed-storage seems
                       -- unmaintained and darcs has its own copy
                     , darcs
                     , darcs-lights
                     , darcs-rev
                     , data-default
                     , data-default-class
                     , data-default-instances-bytestring
                       -- for drawing DAGs: RBAC role inheritance, etc.
                       , diagrams-core
                       , diagrams-lib
                       , diagrams-svg
                     , directory
                       -- for Data.Git.Local
                     , directory-tree
                     , dlist
                     , email-validate
                     , esqueleto
                     , exceptions
                     , fast-logger
                       -- for building a message tree using DFS in
                       -- Vervis.Discussion, possibly also used by some git
                       -- graph related code?
                     , fgl
                     , file-embed
                     , filepath
                     , formatting
                     , hashable
                       -- for source file highlighting
                     , highlighter2
                     , hit
                     , hit-graph >= 0.1
                     , hit-harder >= 0.1
                     , hit-network >= 0.1
                     -- currently discarding all JS so no need for minifier
                     --, hjsmin
                     -- 'hit' uses it for 'GitTime'
                     , hourglass
                     , http-conduit
                     , http-types
                     , libravatar
                       -- for converting Darcs patch hash Digest to ByteString
                     , memory
                     , mime-mail
                     , monad-control
                     , monad-logger
                       -- for Database.Persist.Local
                     , mtl
                     , network
                     , pandoc
                     , pandoc-types
                       -- for PathPiece instance for CI, Web.PathPieces.Local
                     , path-pieces
                     , patience
                     , persistent
                     , persistent-email-address
                     , persistent-migration
                     , persistent-postgresql
                     , persistent-template
                     , process
                       -- for Database.Persist.Local
                     , resourcet
                     , safe
                     , shakespeare
                       -- for pandoc inline code highlighting
                     , skylighting
                     , smtp-mail
                     , ssh
                       -- for rendering diagrams
                     , svg-builder
                       -- for text drawing in 'diagrams'
                     , SVGFonts
                     , template-haskell
                     , text
                     , time
                     , time-interval
                     , time-interval-aeson
                     , time-units
                     , transformers
                       -- probably should be replaced with lenses once I learn
                     , tuple
                     , unordered-containers
                     , vector
                     , wai
                     , wai-extra
                     , wai-logger
                     , warp
                     , xss-sanitize
                     , yaml
                     , yesod
                     , yesod-auth
                     , yesod-auth-account
                     , yesod-core
                     , yesod-form
                     , yesod-mail-send
                     , yesod-newsfeed
                     , yesod-static
                     , yesod-persistent
                       -- for reading gzipped darcs inventory via utils in
                       -- Data.Attoparsec.ByteString.Local
                     , zlib
  hs-source-dirs:      src
  default-language:    Haskell2010

  if flag(dev) || flag(library-only)
    cpp-options:       -DDEVELOPMENT
    ghc-options:       -Wall -fwarn-tabs -O0
  else
    ghc-options:       -Wall -fwarn-tabs -O2

executable vervis
  main-is:             main.hs
  build-depends:       base, vervis
  hs-source-dirs:      app
  default-language:    Haskell2010
  ghc-options:         -Wall -threaded -rtsopts -with-rtsopts=-N

  if flag(library-only)
    buildable: False

test-suite test
  main-is:             Spec.hs
  default-extensions:  TemplateHaskell
                       QuasiQuotes
                       OverloadedStrings
                       NoImplicitPrelude
                       CPP
                       MultiParamTypeClasses
                       TypeFamilies
                       GADTs
                       GeneralizedNewtypeDeriving
                       FlexibleContexts
                       FlexibleInstances
                       EmptyDataDecls
                       NoMonomorphismRestriction
                       DeriveDataTypeable
                       ViewPatterns
                       TupleSections
  build-depends:       base
                     , vervis
                     , yesod-test >= 1.5.0.1 && < 1.6
                     , yesod-core
                     , yesod
                     , persistent
                     , persistent-postgresql
                     , resourcet
                     , monad-logger
                     , shakespeare
                     , transformers
                     , hspec >= 2.0.0
                     , classy-prelude
                     , classy-prelude-yesod
                     , aeson
  hs-source-dirs:      test
  default-language:    Haskell2010
  ghc-options:         -Wall
  type:                exitcode-stdio-1.0

-- test-suite test-graph
--   main-is:             Test.hs
--   build-depends:       base
--                      , fgl
--                      , fgl-arbitrary
--                      , hspec
--                      , vervis
--   hs-source-dirs:      test
--   default-language:    Haskell2010
--   ghc-options:         -Wall
--   type:                exitcode-stdio-1.0

[See repo JSON]