cabal-version: 2.2 name: vervis version: 0.1 synopsis: Federated project hosting platform description: Vervis a decentralized software project hosting web application, which federates using ActivityPub and ForgeFed. . 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://vervis.peers.community/repos/rjQ3E bug-reports: pere@towards.vision license: AGPL-3.0-or-later license-file: COPYING.AGPL3 author: Pere Lev maintainer: pere@towards.vision copyright: ♡ Copying is an act of love. Please copy, reuse and share. category: Development, Distribution, Git, Web build-type: Simple extra-source-files: AUTHORS.md CHANGELOG.md COPYING FEDERATION.md INSTALL.md README.md source-repository head type: git location: https://vervis.peers.community/repos/rjQ3E 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: Vervis.Application Vervis.Hook other-modules: Control.Applicative.Local Control.Concurrent.Actor Control.Concurrent.Local Control.Concurrent.ResultShare Control.Concurrent.Return Control.Monad.Trans.Except.Local Crypto.ActorKey Crypto.PubKey.Encoding Crypto.PublicVerifKey Darcs.Local.Repository Data.Slab Data.Slab.Backend Data.Slab.Simple Data.Aeson.Encode.Pretty.ToEncoding Data.Aeson.Local Data.Attoparsec.ByteString.Local Data.Binary.Local -- Data.Bitraversable.Local Data.ByteString.Char8.Local Data.ByteString.Local Data.CaseInsensitive.Local Data.Char.Local Data.DList.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.Int.Local Data.KeyFile Data.List.Local Data.List.NonEmpty.Local Data.Maybe.Local Data.MediaType Data.Paginate.Local Data.Patch.Local Data.Text.UTF8.Local Data.Text.Lazy.UTF8.Local Data.Time.Clock.Local Data.Tree.Local Data.Tuple.Local Database.Esqueleto.Local Database.Persist.Box Database.Persist.Box.Internal Database.Persist.Box.Via Database.Persist.Class.Local Database.Persist.JSON Database.Persist.Sql.Local Database.Persist.Sqlite.Local Database.Persist.Local Database.Persist.Local.Class.PersistEntityHierarchy Database.Persist.Local.RecursionDoc Development.PatchMediaType Development.PatchMediaType.JSON Development.PatchMediaType.Persist Diagrams.IntransitiveDAG Formatting.CaseInsensitive Language.Haskell.TH.Quote.Local Network.FedURI Network.HTTP.Client.Conduit.ActivityPub Network.HTTP.Digest Network.SSH.Local System.Process.Typed.Local Text.Blaze.Local Text.Display Text.Email.Local Text.FilePath.Local Text.Jasmine.Local Web.ActivityAccess Web.ActivityPub Web.Actor Web.Actor.Deliver Web.Actor.Persist -- Web.Capability Web.Text Web.Hashids.Local Web.PathPieces.Local Yesod.ActivityPub Yesod.Actor Yesod.Auth.Unverified Yesod.Auth.Unverified.Creds Yesod.Auth.Unverified.Internal Yesod.FedURI Yesod.Form.Local Yesod.Hashids Yesod.MonadSite Yesod.Paginate.Local Yesod.Persist.Local Yesod.RenderSource Yesod.SessionEntity Vervis.Access Vervis.ActivityPub Vervis.Actor Vervis.Actor2 Vervis.Actor.Common Vervis.Actor.Deck Vervis.Actor.Group Vervis.Actor.Loom Vervis.Actor.Person Vervis.Actor.Person.Client Vervis.Actor.Repo Vervis.API Vervis.Avatar Vervis.BinaryBody Vervis.Changes Vervis.ChangeFeed --Vervis.Class.Actor Vervis.Client Vervis.Cloth Vervis.Colour Vervis.Content Vervis.Darcs Vervis.Data.Actor Vervis.Data.Collab Vervis.Data.Discussion Vervis.Data.Follow Vervis.Data.Ticket --Vervis.Federation Vervis.Federation.Auth Vervis.Federation.Collab Vervis.Federation.Discussion Vervis.Federation.Offer --Vervis.Federation.Push Vervis.Federation.Ticket Vervis.Federation.Util Vervis.FedURI Vervis.Fetch 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.Repo --Vervis.Form.Role Vervis.Form.Ticket Vervis.Form.Tracker -- Vervis.Form.Workflow Vervis.Formatting Vervis.Foundation Vervis.Git Vervis.GraphProxy Vervis.Handler.Client Vervis.Handler.Cloth Vervis.Handler.Common Vervis.Handler.Deck -- Vervis.Handler.Git Vervis.Handler.Group --Vervis.Handler.Inbox Vervis.Handler.Key Vervis.Handler.Loom Vervis.Handler.Person Vervis.Handler.Repo --Vervis.Handler.Role --Vervis.Handler.Sharer Vervis.Handler.Ticket -- Vervis.Handler.Wiki -- Vervis.Handler.Workflow Vervis.KeyFile Vervis.Migration Vervis.Migration.Entities Vervis.Migration.Model Vervis.Migration.TH Vervis.Model Vervis.Model.Entity Vervis.Model.Group Vervis.Model.Ident Vervis.Model.Role Vervis.Model.Ticket Vervis.Model.TH Vervis.Model.Workflow Vervis.Paginate Vervis.Palette Vervis.Path Vervis.Persist.Actor Vervis.Persist.Collab Vervis.Persist.Discussion Vervis.Persist.Follow Vervis.Persist.Ticket Vervis.Readme Vervis.Recipient Vervis.RemoteActorStore Vervis.RemoteActorStore.Types --Vervis.Repo Vervis.Secure Vervis.Settings Vervis.Settings.StaticFiles Vervis.Settings.TH Vervis.SourceTree Vervis.Ssh Vervis.Style Vervis.Ticket Vervis.TicketFilter Vervis.Time Vervis.Web.Actor Vervis.Web.Darcs Vervis.Web.Delivery Vervis.Web.Discussion Vervis.Web.Git Vervis.Web.Repo Vervis.Widget Vervis.Widget.Discussion Vervis.Widget.Person Vervis.Widget.Repo --Vervis.Widget.Role Vervis.Widget.Ticket Vervis.Widget.Tracker -- Vervis.Widget.Workflow -- Vervis.Wiki --Vervis.WorkItem default-extensions: TemplateHaskell QuasiQuotes OverloadedStrings MultiParamTypeClasses TypeFamilies GADTs GeneralizedNewtypeDeriving FlexibleContexts FlexibleInstances EmptyDataDecls NoMonomorphismRestriction DeriveDataTypeable ViewPatterns TupleSections RecordWildCards LambdaCase build-depends: aeson -- For activity JSOn display in /inbox test page , aeson-pretty -- For rethrowing in Control.Concurrent.Actor , annotated-exception -- for encoding and decoding of crypto public keys , asn1-encoding , asn1-types -- for parsing commands sent over SSH and Darcs patch -- metadata , attoparsec -- For LocalActorBy and LocalStageBy , barbies , base -- for hex display of Darcs patch hashes , base16-bytestring , base58-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 -- For slab/box/citron serialization , cereal -- for defining colors for use with diagrams , colour , conduit -- For httpAPEither , conduit-extra , containers , cryptonite -- for Storage.Hashed because hashed-storage seems -- unmaintained and darcs has its own copy , darcs , darcs-lights , data-default , data-default-class , data-default-instances-bytestring , data-ordlist -- for drawing DAGs: RBAC role inheritance, etc. , diagrams-core , diagrams-lib , diagrams-svg , directory -- for Data.Git.Local , directory-tree , dlist , dvara , email-validate , email-validate-json , 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 , hashids -- for source file highlighting , highlighter2 , http-client-signature , html-entities , http-signature , git , gitrev , hit-graph , hit-harder , hit-network -- currently discarding all JS so no need for minifier --, hjsmin -- 'git' uses it for 'GitTime' , hourglass , yesod-http-signature , http-client , http-client-tls , http-conduit , http-types , libravatar , memory , mime-mail , monad-control , monad-logger -- for Database.Persist.Local , mtl , network , network-uri , optics-core , pandoc , pandoc-types -- for PathPiece instance for CI, Web.PathPieces.Local , path-pieces , patience , pem , persistent , persistent-email-address , persistent-graph , persistent-migration , persistent-postgresql , persistent-sqlite , persistent-template , process -- for generating hashids salt , random -- for Database.Persist.Local , resourcet , retry , safe , shakespeare -- for json debug highlighting in Yesod.RenderSource , skylighting , smtp-mail , ssh -- for holding actor key in a TVar , stm -- for rendering diagrams , svg-builder -- for text drawing in 'diagrams' , SVGFonts , template-haskell , temporary , text , these , time , time-interval , time-interval-aeson , time-units , tls , transformers -- probably should be replaced with lenses once I learn , tuple , typed-process -- For making git hooks executable, i.e. set file mode , unix -- For httpAPEither , unliftio-core , unliftio , unordered-containers , vector , wai , wai-extra , wai-logger , warp -- for encoding and decoding of crypto public keys , x509 -- for parsing darcs apply's changes XML from env var in -- the vervis post-apply hook program , xml , 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 -Werror=incomplete-patterns -Werror=missing-fields -Werror=overlapping-patterns 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 executable vervis-post-receive main-is: main.hs build-depends: base, vervis hs-source-dirs: hook-git default-language: Haskell2010 ghc-options: -Wall executable vervis-post-apply main-is: main.hs build-depends: base, vervis hs-source-dirs: hook-darcs default-language: Haskell2010 ghc-options: -Wall test-suite test main-is: Spec.hs default-extensions: TemplateHaskell QuasiQuotes OverloadedStrings CPP MultiParamTypeClasses TypeFamilies GADTs GeneralizedNewtypeDeriving FlexibleContexts FlexibleInstances EmptyDataDecls NoMonomorphismRestriction DeriveDataTypeable ViewPatterns TupleSections build-depends: base , vervis , yesod-test , yesod-core , yesod , persistent , persistent-postgresql , resourcet , monad-logger , shakespeare , transformers , hspec >= 2.0.0 , 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