mirror of
https://github.com/qfpl/applied-fp-course.git
synced 2024-11-22 11:23:01 +03:00
97bd67c92f
* Provide a flake, but support `nix-shell` using flake-compat * Use `haskellPackages.developPackage` to call `cabal2nix` for us * Fix a lot of cabal file bounds to bring it into the modern age * Drop support for GHC <8.4.1 because I can't remember the right way to write the conditional `semigroups` dependency * Drop references to Freenode * Clarify some documentation
186 lines
4.5 KiB
Plaintext
186 lines
4.5 KiB
Plaintext
cabal-version: 2.0
|
|
name: applied-fp-course
|
|
version: 0.1.0.0
|
|
synopsis: Simplest of web apps for educational purposes.
|
|
description:
|
|
Haskell course for people looking to start building larger applications.
|
|
license: BSD3
|
|
license-file: LICENCE
|
|
author: QFPL @ Data61
|
|
maintainer: sean.chalmers@data61.csiro.au
|
|
copyright:
|
|
Copyright (C) 2017 Commonwealth Scientific and Industrial Research Organisation (CSIRO)
|
|
category: Education
|
|
build-type: Simple
|
|
extra-source-files: changelog.md
|
|
tested-with: GHC ==8.4.3 || ==8.6.1 || ==8.10.7
|
|
|
|
source-repository head
|
|
type: git
|
|
location: https://github.com/qfpl/applied-fp-course
|
|
|
|
library
|
|
-- Modules included in this executable, other than Main.
|
|
exposed-modules:
|
|
Level01.Core
|
|
Level02.Core
|
|
Level02.Types
|
|
Level04.Conf
|
|
Level04.Core
|
|
Level04.DB
|
|
Level04.DB.Types
|
|
Level04.Types
|
|
Level04.Types.CommentText
|
|
Level04.Types.Error
|
|
Level04.Types.Topic
|
|
Level05.AppM
|
|
Level05.Conf
|
|
Level05.Core
|
|
Level05.DB
|
|
Level05.DB.Types
|
|
Level05.Types
|
|
Level05.Types.CommentText
|
|
Level05.Types.Error
|
|
Level05.Types.Topic
|
|
Level06.AppM
|
|
Level06.Conf
|
|
Level06.Conf.CommandLine
|
|
Level06.Conf.File
|
|
Level06.Core
|
|
Level06.DB
|
|
Level06.DB.Types
|
|
Level06.Types
|
|
Level06.Types.CommentText
|
|
Level06.Types.Error
|
|
Level06.Types.Topic
|
|
Level07.AppM
|
|
Level07.Conf
|
|
Level07.Conf.CommandLine
|
|
Level07.Conf.File
|
|
Level07.Core
|
|
Level07.DB
|
|
Level07.DB.Types
|
|
Level07.Responses
|
|
Level07.Types
|
|
Level07.Types.CommentText
|
|
Level07.Types.Error
|
|
Level07.Types.Topic
|
|
|
|
ghc-options:
|
|
-Wall -fno-warn-unused-binds -fno-warn-unused-do-bind
|
|
-fno-warn-unused-imports -fno-warn-type-defaults -ferror-spans
|
|
|
|
-- Other library packages from which modules are imported.
|
|
build-depends:
|
|
attoparsec >=0.13 && <0.15
|
|
, base >=4.11 && <4.15
|
|
, bytestring ^>=0.10
|
|
, contravariant >=1.4 && <1.6
|
|
, http-types >=0.9 && <0.13
|
|
, lens >=4.15 && <4.20 || >=5 && <5.1
|
|
, mtl ^>=2.2
|
|
, old-locale >=1.0 && <1.5
|
|
, optparse-applicative >=0.13 && <0.17
|
|
, sqlite-simple ^>=0.4
|
|
, sqlite-simple-errors ^>=0.6
|
|
, text ^>=1.2
|
|
, time >=1.4 && <1.10
|
|
, transformers >=0.4 && <0.6
|
|
, waargonaut >=0.6 && <0.9
|
|
, wai >=3.2 && <3.4
|
|
, warp >=3.2 && <3.4
|
|
|
|
-- Directories containing source files.
|
|
hs-source-dirs: src
|
|
|
|
-- Base language which the package is written in.
|
|
default-language: Haskell2010
|
|
|
|
test-suite app-fp-tests
|
|
default-language: Haskell2010
|
|
type: exitcode-stdio-1.0
|
|
hs-source-dirs: tests
|
|
main-is: Test.hs
|
|
build-depends:
|
|
applied-fp-course
|
|
, base
|
|
, bytestring ^>=0.10
|
|
, hedgehog ^>=1.0.1
|
|
, http-types
|
|
, mtl
|
|
, tasty >=0.8 && <1.5
|
|
, tasty-hedgehog ^>=1.1.0.0
|
|
, tasty-hunit >=0.9 && <0.11
|
|
, tasty-wai ^>=0.1
|
|
, text
|
|
, transformers
|
|
, wai
|
|
, wai-extra
|
|
|
|
-- [Challenge] Packages
|
|
test-suite doctests
|
|
default-language: Haskell2010
|
|
type: exitcode-stdio-1.0
|
|
ghc-options: -threaded
|
|
main-is: doctests.hs
|
|
hs-source-dirs: tests
|
|
build-depends:
|
|
applied-fp-course
|
|
, base
|
|
, doctest >=0.11 && <0.18
|
|
|
|
-- Level Executables
|
|
executable level01-exe
|
|
main-is: Level01.hs
|
|
hs-source-dirs: exe
|
|
build-depends:
|
|
applied-fp-course
|
|
, base
|
|
|
|
default-language: Haskell2010
|
|
|
|
executable level02-exe
|
|
main-is: Level02.hs
|
|
hs-source-dirs: exe
|
|
build-depends:
|
|
applied-fp-course
|
|
, base
|
|
|
|
default-language: Haskell2010
|
|
|
|
executable level04-exe
|
|
main-is: Level04.hs
|
|
hs-source-dirs: exe
|
|
build-depends:
|
|
applied-fp-course
|
|
, base
|
|
|
|
default-language: Haskell2010
|
|
|
|
executable level05-exe
|
|
main-is: Level05.hs
|
|
hs-source-dirs: exe
|
|
build-depends:
|
|
applied-fp-course
|
|
, base
|
|
|
|
default-language: Haskell2010
|
|
|
|
executable level06-exe
|
|
main-is: Level06.hs
|
|
hs-source-dirs: exe
|
|
build-depends:
|
|
applied-fp-course
|
|
, base
|
|
|
|
default-language: Haskell2010
|
|
|
|
executable level07-exe
|
|
main-is: Level07.hs
|
|
hs-source-dirs: exe
|
|
build-depends:
|
|
applied-fp-course
|
|
, base
|
|
|
|
default-language: Haskell2010
|