name: hackage-server version: 0.4 category: Distribution synopsis: The Hackage web server description: The new implementation of the Hackage web server, based on the Happstack architecture. This is the implementation used to power http://hackage.haskell.org/ . It is designed to be easy to run your own instance. It also includes a doc builder client and a mirroring client. author: Duncan Coutts , David Himmelstrup , Ross Paterson , Matthew Gruen maintainer: Duncan Coutts , Matthew Gruen copyright: 2008-2013 Duncan Coutts, 2012-2013 Edsko de Vries, 2010-2011 Matthew Gruen, 2009-2010 Antoine Latter, 2008 David Himmelstrup, 2007 Ross Paterson license: BSD3 license-file: LICENSE build-type: Simple cabal-version: >=1.10 data-dir: datafiles data-files: templates/*.html.st templates/*.st templates/*.txt.st templates/EditCabalFile/*.html.st templates/Html/*.html.st templates/LegacyPasswds/*.html.st templates/Search/*.xml.st templates/UserSignupReset/*.st static/*.css static/*.ico static/*.png source-repository head type: git location: https://github.com/haskell/hackage-server flag minimal default: False description: Include only the minimum feature set. manual: True flag debug default: False description: Include debugging features manual: True flag build-hackage-server default: True manual: True flag build-hackage-mirror default: True manual: True flag build-hackage-build default: True manual: True executable hackage-server if ! flag(build-hackage-server) buildable: False main-is: Main.hs other-modules: Data.IntTrie Data.StringTable Data.TarIndex Distribution.Server Distribution.Server.Framework Distribution.Server.Framework.Auth Distribution.Server.Framework.AuthTypes Distribution.Server.Framework.AuthCrypt Distribution.Server.Framework.BlobStorage Distribution.Server.Framework.Cache Distribution.Server.Framework.Error Distribution.Server.Framework.Logging Distribution.Server.Framework.Feature Distribution.Server.Framework.Hook Distribution.Server.Framework.Instances Distribution.Server.Framework.MemState Distribution.Server.Framework.MemSize Distribution.Server.Framework.Resource Distribution.Server.Framework.RequestContentTypes Distribution.Server.Framework.ResponseContentTypes Distribution.Server.Framework.BackupDump Distribution.Server.Framework.BackupRestore Distribution.Server.Framework.ServerEnv Distribution.Server.Packages.Index Distribution.Server.Packages.ModuleForest Distribution.Server.Packages.PackageIndex Distribution.Server.Packages.Types Distribution.Server.Packages.Unpack Distribution.Server.Packages.Render Distribution.Server.Packages.ChangeLog Distribution.Server.Pages.BuildReports Distribution.Server.Pages.Distributions Distribution.Server.Pages.Group Distribution.Server.Pages.Index Distribution.Server.Pages.Package Distribution.Server.Pages.Package.HaddockHtml Distribution.Server.Pages.Package.HaddockLex Distribution.Server.Pages.Package.HaddockParse Distribution.Server.Pages.Recent -- [reverse index disabled] Distribution.Server.Pages.Reverse Distribution.Server.Pages.Template Distribution.Server.Pages.Util Distribution.Server.Users.Group Distribution.Server.Users.State Distribution.Server.Users.Types Distribution.Server.Users.Backup Distribution.Server.Users.Users Distribution.Server.Util.Happstack Distribution.Server.Util.Histogram Distribution.Server.Util.CountingMap Distribution.Server.Util.Index Distribution.Server.Util.NameIndex Distribution.Server.Util.Parse Distribution.Server.Util.ServeTarball Distribution.Server.Util.TarIndex Distribution.Server.Util.TextSearch Distribution.Server.Features Distribution.Server.Features.Core Distribution.Server.Features.Core.State Distribution.Server.Features.Core.Backup Distribution.Server.Features.Mirror Distribution.Server.Features.Upload Distribution.Server.Features.Upload.State Distribution.Server.Features.Upload.Backup Distribution.Server.Features.Users if flag(minimal) cpp-options: -DMINIMAL else other-modules: Distribution.Server.Features.TarIndexCache Distribution.Server.Features.TarIndexCache.State Distribution.Server.Features.LegacyRedirects Distribution.Server.Features.LegacyPasswds Distribution.Server.Features.LegacyPasswds.Auth Distribution.Server.Features.PackageContents Distribution.Server.Features.BuildReports Distribution.Server.Features.BuildReports.BuildReport Distribution.Server.Features.BuildReports.BuildReports Distribution.Server.Features.BuildReports.Backup Distribution.Server.Features.BuildReports.State Distribution.Server.Features.PackageCandidates Distribution.Server.Features.PackageCandidates.Types Distribution.Server.Features.PackageCandidates.State Distribution.Server.Features.PackageCandidates.Backup Distribution.Server.Features.Distro Distribution.Server.Features.Distro.Distributions Distribution.Server.Features.Distro.Backup Distribution.Server.Features.Distro.State Distribution.Server.Features.Distro.Types Distribution.Server.Features.Documentation Distribution.Server.Features.Documentation.State Distribution.Server.Features.DownloadCount Distribution.Server.Features.DownloadCount.State Distribution.Server.Features.EditCabalFiles Distribution.Server.Features.Html Distribution.Server.Features.Search Distribution.Server.Features.RecentPackages Distribution.Server.Features.PreferredVersions Distribution.Server.Features.PreferredVersions.State Distribution.Server.Features.PreferredVersions.Backup -- [reverse index disabled] Distribution.Server.Features.ReverseDependencies -- [reverse index disabled] Distribution.Server.Features.ReverseDependencies.State Distribution.Server.Features.Tags Distribution.Server.Features.Tags.State Distribution.Server.Features.UserDetails Distribution.Server.Features.UserSignup Distribution.Server.Features.StaticFiles if flag(debug) cpp-options: -DDEBUG other-modules: Distribution.Server.Features.Crash build-depends: base == 4.*, filepath >= 1.1, directory >= 1.0 && < 1.3, random >= 1.0, array >= 0.1, vector >= 0.10, containers >= 0.4, pretty >= 1.0, base64-bytestring ==0.1.* || == 1.0.*, base16-bytestring ==0.1.*, bytestring >= 0.9, --TODO: drop blaze builder in favour of bytestring-0.10 builder blaze-builder, text >= 0.11, split >= 0.2, time >= 1.1 && < 1.5, old-locale >= 1.0, deepseq == 1.1.* || == 1.3.*, transformers >= 0.3, mtl >= 2.0, parsec == 3.1.*, network >= 2.1, unix < 2.7, zlib >= 0.5.3 && < 0.6, tar == 0.4.* && >= 0.4.0.1, async == 2.0.*, binary == 0.5.*, cereal == 0.3.*, safecopy >= 0.6 && < 0.9, crypto-api >= 0.12 && < 0.13, pureMD5 >= 0.2, xhtml >= 3000.1, -- The instances created by deriveJSON in later versions of Aeson are -- different from the instances created by this version; this would be ok -- if we only used the Aeson-created instance, but we also hand-create -- JSON in various places (for instance, in 'putUserDetails' in the import -- client). aeson == 0.6.1.*, unordered-containers >= 0.2.3.0, rss == 3000.2.*, Cabal >= 1.16 && < 1.17, csv == 0.1.*, stm >= 2.2 && < 2.5, acid-state == 0.8.*, happstack-server == 7.0.* || ==7.1.* && >= 7.0.6, hslogger, mime-mail ==0.4.*, HStringTemplate ==0.7.*, lifted-base >= 0.2.1 && < 0.3 if ! flag(minimal) build-depends: snowball == 1.0.*, tokenize >= 0.1.3 && < 0.2 build-tools: alex >= 2.2 && < 3.2, happy >= 1.17 && < 1.20 if !os(darwin) extra-libraries: crypt default-language: Haskell2010 ghc-options: -Wall -fwarn-tabs -fno-warn-unused-do-bind -fno-warn-deprecated-flags -threaded -funbox-strict-fields other-extensions: TemplateHaskell if impl(ghc >= 7.0) ghc-options: -rtsopts -with-rtsopts=-I0 executable hackage-mirror if ! flag(build-hackage-mirror) buildable: False main-is: MirrorClient.hs other-modules: Distribution.Client Distribution.Server.Users.Types Distribution.Server.Util.Index Distribution.Server.Util.Merge build-depends: base, containers, array, vector, bytestring, text, pretty, filepath, directory, time, old-locale, random, tar, zlib, network, HTTP >= 4000.1.3, Cabal, safecopy, cereal, binary, mtl, unix default-language: Haskell2010 ghc-options: -Wall -fwarn-tabs executable hackage-build if ! flag(build-hackage-build) buildable: False main-is: BuildClient.hs other-modules: Distribution.Client Distribution.Server.Users.Types Distribution.Server.Util.Index Distribution.Server.Util.Merge build-depends: base, containers, array, vector, bytestring, text, pretty, filepath, directory, process >= 1.0, time, old-locale, tar, zlib, network, HTTP, Cabal, safecopy, cereal, binary, mtl, -- See comment above why we insist on this version of Aeson aeson == 0.6.1.*, random, unix, -- Runtime dependency only: hscolour >= 1.8 default-language: Haskell2010 -- the -threaded option is necessary for correct handling -- of CTRL-C (not sure why :( ) ghc-options: -Wall -fwarn-tabs -threaded executable hackage-import if ! flag(build-hackage-mirror) buildable: False main-is: ImportClient.hs other-modules: build-depends: base, containers, array, vector, bytestring, text, pretty, filepath, directory, time, old-locale, random, tar, zlib, network, HTTP >= 4000.1.3, Cabal, safecopy, cereal, binary, mtl, csv, async, attoparsec, -- See comment above why we insist on this version of Aeson aeson == 0.6.1.*, unordered-containers default-language: Haskell2010 ghc-options: -Wall -fwarn-tabs Test-Suite HighLevelTest type: exitcode-stdio-1.0 main-is: HighLevelTest.hs hs-source-dirs: tests default-language: Haskell2010 ghc-options: -threaded build-depends: base, bytestring, base64-bytestring, Cabal, directory, filepath, HTTP, network, process, tar, unix, zlib