mirror of
https://github.com/commercialhaskell/stackage-server.git
synced 2026-01-11 19:58:28 +01:00
* Moved all extensions into modules that are using them, rather than globally, since they mess up ghci session and introduce conflicts among packages. Removed those from `.ghci` file as well * Redesigned the schema to use Pantry and moved it into it's own module * Switched all of the db and cron related stuff to RIO. Yesod part is still on classy-prelude * Got pantry to update stackage-server database from hackage * Got import of stackage-snapshots implemented * Moved some logic from all-cabal-tool * Switched everything to `PackageNameP`, `VersionP`, etc. from a la Text. * Fixed haddock, so it now does proper redirects and pipes the docs correctly. Also implemented piping of json files from S3 bucket, so index-doc.json is also served by stackage-server thus making Ctrl+S feature work properly on haddock. Fix for commercialhaskell/stackage#4301 * Import of modules is done through cabal file parsing, which slows down the initial import process drastically, but incremental update is not a problem. * Just as with modules, dependencies are also imported from cabal file. * In general improved type safety by introducing a few data types: eg. `ModuleNameP`, `HackageCabalInfo`, and many more. * Implemented pulling of deprecation map from hackages and storing it in db * Implementation of forward/backward dependencies within a snapshot only. * Drastically improved performance of cron import job, by checking which snapshots are not up to date * Implemented pulling haddock list from S3 bucket. Modules that have documentation are marked from the availability of actual haddock. This process happens concurrently with snapshots loading. * Rearranged modules a bit: * github related functions went into it's own module * cron related functions where moved from Database to Cron module * Split up some functions to reduce individual complexity * Parallelized package loading in cron job * Implemented parsed cabal file caching. * All queries where reqritten with esqueleto * Syntactic improvements: * Added stylish-haskell config * Formatted all imports and extensions with stylish-haskell. * Fixed inconsistent indentation across all modules * Many improvements to the package page as well as few others. * Reimplemented hoogledb creation. * Dropped dependency on tar in favor of tar-conduit * Added cli for stackage-server-cron * Add cabal sha and size to the package page * Fixed links in hoogle searches. Improved type safety for a hoogle handler * satckage-server-cron is customizable with cli arguments Final adjustments for the new stackage server release: * Upgrade to lts-13.16. * Stackage server related code has been merged to pantry. Made the code compatible with the newer version pantry * Added cli '--snapshots-repo' * Add readme to package page * Adjust snapshots expected format: * Added `publish-time` * Removed name `field` * `compiler` field is now in the `resolver` field with fallback to the root
101 lines
4.5 KiB
Plaintext
101 lines
4.5 KiB
Plaintext
<div .container>
|
|
<div .row .header>
|
|
<div .span6>
|
|
<img src=@{StaticR img_logo_png} .logo>
|
|
<div .span6>
|
|
<form class="hoogle" action="/lts/hoogle">
|
|
<div class="input-append hoogle-q">
|
|
<input class="search span3" type="search" autofocus="" name="q" value="" placeholder="E.g. map, a -> a, etc.">
|
|
<button class="btn" type="submit">
|
|
Search
|
|
<span class="brws-pkgs">
|
|
or
|
|
<a href="/lts">
|
|
browse packages
|
|
<label class="checkbox exact-lookup" for="exact" title="Only find identifiers matching your search term precisely">
|
|
<input type="checkbox" name="exact" id="exact">
|
|
Exact lookup
|
|
|
|
<div .row>
|
|
<div .span12>
|
|
<p>
|
|
Stackage is a stable source of Haskell packages. It guarantees that packages build consistently and pass tests before generating nightly and Long Term Support (LTS) releases.
|
|
<p>
|
|
A Stackage snapshot includes pinned package versions from <a href="https://hackage.haskell.org">Hackage</a> (the index of all Haskell packages in all versions).
|
|
It is a curated set of packages that work well together, similar to how a <a href="https://www.debian.org">Debian</a> release is a curated snapshot of most of the open-source software in the world.
|
|
<p>
|
|
<a href="https://haskellstack.org">Stack</a> is a tool made specifically to make using Stackage snapshots easy and convenient.
|
|
We recommend you to use it.
|
|
But you can also use Stackage in other ways: as a source for packages that work well together, or to ensure that Haskell packages you author or care about work well with others.
|
|
<p>
|
|
Stackage is a community project: Haskell users around the world work together to create the stable snapshots.
|
|
<br />
|
|
Stackage itself and all tools surrounding it are open-source.
|
|
<p>
|
|
Stackage's infrastructure, build machines, initial creation and ongoing maintenance, are proudly sponsored by <a href="https://www.fpcomplete.com">FP Complete</a>.
|
|
|
|
<div .row>
|
|
<div .span6>
|
|
<h3>
|
|
Latest releases
|
|
|
|
<p>
|
|
You browse the latest long term support (#
|
|
<a href="https://github.com/fpco/lts-haskell#readme">what are Long Term Support releases?#
|
|
) release, or the latest
|
|
bleeding-edge nightly release.
|
|
|
|
<p>
|
|
<a href="/lts">
|
|
LTS Haskell
|
|
<p>
|
|
<a href="/nightly">
|
|
Stackage Nightly
|
|
|
|
<p>
|
|
Have more questions? We have a #
|
|
<a href="https://github.com/fpco/stackage#frequently-asked-questions">FAQ section on Github#
|
|
\.
|
|
<h3>
|
|
Related initiatives
|
|
<p>
|
|
Stack is the recommended way to use Stackage.
|
|
<p>
|
|
<a href="https://haskell.fpcomplete.com/get-started">
|
|
Get started with Stack
|
|
on
|
|
<a href="https://haskell.fpcomplete.com/">#
|
|
haskell.fpcomplete.com#
|
|
\.
|
|
|
|
<h3>
|
|
Latest LTS per GHC version
|
|
<ul>
|
|
$forall (major, minor, ghc, date) <- latestLtsByGhc
|
|
<li>
|
|
<a href=@{SnapshotR (SNLts major minor) StackageHomeR}>LTS #{major}.#{minor} for #{ghc}#
|
|
\, published #{dateDiff now' date}
|
|
<h3>
|
|
Package Maintainers
|
|
<p>
|
|
<a href="https://github.com/fpco/stackage/blob/master/MAINTAINERS.md#adding-a-package">
|
|
Add your maintained packages to stackage
|
|
|
|
<div .span6>
|
|
<h3>News
|
|
<a href="/blog">Blog
|
|
<h3>Snapshots
|
|
$forall stackages <- groups
|
|
$forall (_, _, uploaded) <- take 1 stackages
|
|
<h5>
|
|
#{uploaded}
|
|
<ul .snapshots>
|
|
$forall (ident, title, _uploaded) <- stackages
|
|
<li>
|
|
<strong>
|
|
<a href=@{SnapshotR ident StackageHomeR}>
|
|
#{title}
|
|
<p>
|
|
<a href=@{AllSnapshotsR}>
|
|
Snapshots archive
|