Right now I have no idea how it works, but it builds with "stack build" and serves something on localhost:3000. I am not exactly happy that building and interactive development depends on "stack(1)" instead of more familiar "cabal repl", but I can live with it. It requires Postgres database running on the localhost, which is configured in my NixOS configuration, and not inside of this repository. Probably can be done better.
100 lines
2.0 KiB
YAML
100 lines
2.0 KiB
YAML
name: chirp
|
|
version: "0.0.0"
|
|
|
|
dependencies:
|
|
|
|
- base >=4.9.1.0 && <5
|
|
- yesod >=1.6 && <1.7
|
|
- yesod-core >=1.6 && <1.7
|
|
- yesod-auth >=1.6 && <1.7
|
|
- yesod-static >=1.6 && <1.7
|
|
- yesod-form >=1.6 && <1.8
|
|
- classy-prelude >=1.5 && <1.6
|
|
- classy-prelude-conduit >=1.5 && <1.6
|
|
- classy-prelude-yesod >=1.5 && <1.6
|
|
- bytestring >=0.10 && <0.12
|
|
- text >=0.11 && <2.0
|
|
- persistent >=2.9 && <2.14
|
|
- persistent-postgresql >=2.13 && <2.14
|
|
- persistent-template >=2.5 && <2.14
|
|
- template-haskell
|
|
- shakespeare >=2.0 && <2.1
|
|
- hjsmin >=0.1 && <0.3
|
|
- monad-control >=0.3 && <1.1
|
|
- wai-extra >=3.0 && <3.2
|
|
- yaml >=0.11 && <0.12
|
|
- http-client-tls >=0.3 && <0.4
|
|
- http-conduit >=2.3 && <2.4
|
|
- directory >=1.1 && <1.4
|
|
- warp >=3.0 && <3.4
|
|
- data-default
|
|
- aeson >=1.4 && <2.1
|
|
- conduit >=1.0 && <2.0
|
|
- monad-logger >=0.3 && <0.4
|
|
- fast-logger >=2.2 && <3.2
|
|
- wai-logger >=2.2 && <2.5
|
|
- file-embed
|
|
- safe
|
|
- unordered-containers
|
|
- containers
|
|
- vector
|
|
- time
|
|
- case-insensitive
|
|
- wai
|
|
- foreign-store
|
|
|
|
# The library contains all of our application code. The executable
|
|
# defined below is just a thin wrapper.
|
|
library:
|
|
source-dirs: src
|
|
when:
|
|
- condition: (flag(dev)) || (flag(library-only))
|
|
then:
|
|
ghc-options:
|
|
- -Wall
|
|
- -fwarn-tabs
|
|
- -O0
|
|
cpp-options: -DDEVELOPMENT
|
|
else:
|
|
ghc-options:
|
|
- -Wall
|
|
- -fwarn-tabs
|
|
- -O2
|
|
|
|
# Runnable executable for our application
|
|
executables:
|
|
chirp:
|
|
main: main.hs
|
|
source-dirs: app
|
|
ghc-options:
|
|
- -threaded
|
|
- -rtsopts
|
|
- -with-rtsopts=-N
|
|
dependencies:
|
|
- chirp
|
|
when:
|
|
- condition: flag(library-only)
|
|
buildable: false
|
|
|
|
# Test suite
|
|
tests:
|
|
chirp-test:
|
|
main: Spec.hs
|
|
source-dirs: test
|
|
ghc-options: -Wall
|
|
dependencies:
|
|
- chirp
|
|
- hspec >=2.0.0
|
|
- yesod-test
|
|
|
|
# Define flags used by "yesod devel" to make compilation faster
|
|
flags:
|
|
library-only:
|
|
description: Build for use with "yesod devel"
|
|
manual: false
|
|
default: false
|
|
dev:
|
|
description: Turn on development settings, like auto-reload templates.
|
|
manual: false
|
|
default: false
|