name: hackage-server version: 0.5.0 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 . 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-2014 Duncan Coutts, 2012-2013 Edsko de Vries, 2013 Google Inc., 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/*.html.st templates/UserSignupReset/*.email.st templates/AdminFrontend/*.html.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 flag build-hackage-import default: False manual: True -- Requires working local outgoing email flag test-create-user default: False 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.CacheControl Distribution.Server.Framework.BackupDump Distribution.Server.Framework.BackupRestore Distribution.Server.Framework.ServerEnv Distribution.Server.Framework.Templating Distribution.Server.Framework.HappstackUtils 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.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.Package.HaddockTypes 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.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.GZip Distribution.Server.Util.ContentType Distribution.Server.Util.SigTerm 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.Render 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.PackageList 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.DownloadCount.Backup Distribution.Server.Features.EditCabalFiles Distribution.Server.Features.Html Distribution.Server.Features.HoogleData Distribution.Server.Features.HaskellPlatform Distribution.Server.Features.HaskellPlatform.State Distribution.Server.Features.Search Distribution.Server.Features.Search.BM25F Distribution.Server.Features.Search.DocIdSet Distribution.Server.Features.Search.DocTermIds Distribution.Server.Features.Search.DocFeatVals Distribution.Server.Features.Search.ExtractDescriptionTerms Distribution.Server.Features.Search.ExtractNameTerms Distribution.Server.Features.Search.PkgSearch Distribution.Server.Features.Search.SearchEngine Distribution.Server.Features.Search.SearchIndex Distribution.Server.Features.Search.TermBag 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.Backup Distribution.Server.Features.Tags.State Distribution.Server.Features.UserDetails Distribution.Server.Features.UserSignup Distribution.Server.Features.StaticFiles Distribution.Server.Features.ServerIntrospect 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.10.4.1, --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.*, cereal >= 0.4, 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.0.3, HaXml >= 1.24, Cabal == 1.20.*, csv == 0.1.*, stm >= 2.2 && < 2.5, acid-state >= 0.12.2, happstack-server == 7.3.*, hslogger, mime-mail ==0.4.*, HStringTemplate ==0.7.*, lifted-base >= 0.2.1 && < 0.3, QuickCheck >= 2.5 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.Client.Cron Distribution.Client.UploadLog 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.2.11, Cabal, safecopy, cereal, binary, mtl, unix, aeson 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-import) buildable: False main-is: ImportClient.hs other-modules: Distribution.Client.DistroMap Distribution.Client.HtPasswdDb Distribution.Client.ParseApacheLogs Distribution.Client.PkgIndex Distribution.Client.TagsFile Distribution.Client.UserAddressesDb build-depends: base, containers, array, vector, bytestring, text, pretty, filepath, directory, time, old-locale, random, tar, zlib, network, HTTP >= 4000.2.11, 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 -Wall build-depends: base, bytestring, base64-bytestring, Cabal, directory, filepath, HTTP, network, process, tar, unix, zlib, unordered-containers, aeson, text, vector, xml, random Test-Suite CreateUserTest if ! flag(test-create-user) buildable: False type: exitcode-stdio-1.0 main-is: CreateUserTest.hs hs-source-dirs: tests default-language: Haskell2010 ghc-options: -threaded -Wall build-depends: base, bytestring, base64-bytestring, Cabal, directory, filepath, HTTP, network, process, tar, unix, zlib, unordered-containers, aeson, text, vector, xml, random