There were two build issues on GHC 7.4: using atomicModifyIORef' and ByteString.Lazy.toStrict, both of which were missing. These are now fixed. In addition, looking at the IORef code more closely, we want the quite a bit of strictness in the IORef. The common case is that the widget content already exists in the map (every reload of a page will call embedStaticContent), but until we force the map the thunks holding the duplicated generated content will be kept around, leaking memory. This will be the common situation since the vast majority of the time the content already exists. Since the containers module does not have a strict map until 0.5, use unordered containers which does have a strict map.
112 lines
3.8 KiB
Plaintext
112 lines
3.8 KiB
Plaintext
name: yesod-static
|
|
version: 1.2.0.1
|
|
license: MIT
|
|
license-file: LICENSE
|
|
author: Michael Snoyman <michael@snoyman.com>
|
|
maintainer: Michael Snoyman <michael@snoyman.com>, Greg Weber <greg@gregweber.info>
|
|
synopsis: Static file serving subsite for Yesod Web Framework.
|
|
category: Web, Yesod
|
|
stability: Stable
|
|
cabal-version: >= 1.8
|
|
build-type: Simple
|
|
homepage: http://www.yesodweb.com/
|
|
description: Static file serving subsite for Yesod Web Framework.
|
|
extra-source-files:
|
|
sample.hs
|
|
sample-embed.hs
|
|
test/*.hs
|
|
test/fs/bar/baz
|
|
test/fs/tmp/ignored
|
|
test/fs/.ignored
|
|
test/fs/foo
|
|
test/embed-dir/foo
|
|
test/embed-dir/lorem.txt
|
|
test/embed-dir/abc/def.txt
|
|
|
|
library
|
|
build-depends: base >= 4 && < 5
|
|
, containers >= 0.2
|
|
, old-time >= 1.0
|
|
, yesod-core >= 1.2 && < 1.3
|
|
, base64-bytestring >= 0.1.0.1
|
|
, cereal >= 0.3
|
|
, bytestring >= 0.9.1.4
|
|
, template-haskell
|
|
, directory >= 1.0
|
|
, transformers >= 0.2.2
|
|
, wai-app-static >= 1.3.2 && < 1.4
|
|
, wai >= 1.3 && < 1.5
|
|
, text >= 0.9
|
|
, file-embed >= 0.0.4.1 && < 0.5
|
|
, http-types >= 0.7
|
|
, unix-compat >= 0.2
|
|
, conduit >= 0.5
|
|
, crypto-conduit >= 0.4
|
|
, cryptohash-cryptoapi >= 0.1.0
|
|
, system-filepath >= 0.4.6 && < 0.5
|
|
, system-fileio >= 0.3
|
|
, data-default
|
|
, shakespeare-css >= 1.0.3
|
|
, mime-types >= 0.1
|
|
, hjsmin
|
|
, process-conduit >= 1.0 && < 1.1
|
|
, filepath >= 1.3
|
|
, resourcet >= 0.4
|
|
, unordered-containers >= 0.2
|
|
|
|
exposed-modules: Yesod.Static
|
|
Yesod.EmbeddedStatic
|
|
Yesod.EmbeddedStatic.Generators
|
|
Yesod.EmbeddedStatic.Types
|
|
|
|
other-modules: Yesod.EmbeddedStatic.Internal
|
|
|
|
ghc-options: -Wall
|
|
|
|
test-suite tests
|
|
hs-source-dirs: ., test
|
|
main-is: tests.hs
|
|
type: exitcode-stdio-1.0
|
|
cpp-options: -DTEST_EXPORT
|
|
build-depends: base
|
|
, hspec >= 1.3
|
|
, yesod-test >= 1.2
|
|
, wai-test
|
|
, HUnit
|
|
|
|
-- copy from above
|
|
, containers
|
|
, old-time
|
|
, yesod-core
|
|
, base64-bytestring
|
|
, cereal
|
|
, bytestring
|
|
, template-haskell
|
|
, directory
|
|
, transformers
|
|
, wai-app-static
|
|
, wai
|
|
, text
|
|
, file-embed
|
|
, http-types
|
|
, unix-compat
|
|
, conduit
|
|
, crypto-conduit
|
|
, cryptohash-cryptoapi
|
|
, system-filepath
|
|
, system-fileio
|
|
, data-default
|
|
, shakespeare-css
|
|
, mime-types
|
|
, hjsmin
|
|
, process-conduit
|
|
, filepath
|
|
, resourcet
|
|
, unordered-containers
|
|
|
|
ghc-options: -Wall
|
|
|
|
source-repository head
|
|
type: git
|
|
location: https://github.com/yesodweb/yesod
|