Skip to content
Merged

Smp #69

Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 25 additions & 2 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,12 @@ matrix:
- compiler: "ghc-8.2.2"
# env: TEST=--disable-tests BENCH=--disable-benchmarks
addons: {apt: {packages: [ghc-ppa-tools,cabal-install-head,ghc-8.2.2], sources: [hvr-ghc]}}
- compiler: "ghc-8.4.1"
env: GHCHEAD=true
addons: {apt: {packages: [ghc-ppa-tools,cabal-install-head,ghc-8.4.1], sources: [hvr-ghc]}}

allow_failures:
- compiler: "ghc-8.4.1"

before_install:
- HC=${CC}
Expand All @@ -67,6 +73,21 @@ install:
- "sed -i.bak 's/^jobs:/-- jobs:/' ${HOME}/.cabal/config"
- rm -fv cabal.project cabal.project.local
- "if [ $HCNUMVER -ge 70800 ]; then sed -i.bak 's/-- ghc-options:.*/ghc-options: -j2/' ${HOME}/.cabal/config; fi"
# Overlay Hackage Package Index for GHC HEAD: https://github.com/hvr/head.hackage
- |
if $GHCHEAD; then
sed -i.bak 's/-- allow-newer:.*/allow-newer: *:base, *:template-haskell, *:ghc, *:Cabal/' ${HOME}/.cabal/config

echo 'repository head.hackage' >> ${HOME}/.cabal/config
echo ' url: http://head.hackage.haskell.org/' >> ${HOME}/.cabal/config
echo ' secure: True' >> ${HOME}/.cabal/config
echo ' root-keys: 07c59cb65787dedfaef5bd5f987ceb5f7e5ebf88b904bbd4c5cbdeb2ff71b740' >> ${HOME}/.cabal/config
echo ' 2e8555dde16ebd8df076f1a8ef13b8f14c66bad8eafefd7d9e37d0ed711821fb' >> ${HOME}/.cabal/config
echo ' 8f79fd2389ab2967354407ec852cbe73f2e8635793ac446d09461ffb99527f6e' >> ${HOME}/.cabal/config
echo ' key-threshold: 3' >> ${HOME}/.cabal.config

cabal new-update head.hackage -v
fi
- grep -Ev -- '^\s*--' ${HOME}/.cabal/config | grep -Ev '^\s*$'
- "printf 'packages: \".\"\\n' > cabal.project"
- cat cabal.project
Expand Down Expand Up @@ -106,9 +127,11 @@ script:
- rm -rf ./dist-newstyle
- if $HADDOCK; then cabal new-haddock -w ${HC} ${TEST} ${BENCH} all; else echo "Skipping haddock generation";fi

- if [ $HCNUMVER -eq 70804 ]; then cabal new-build -w ${HC} --disable-tests --disable-benchmarks --constraint='attoparsec ==0.13.0.1' --constraint='attoparsec-iso8601 ==1.0.0.0' --constraint='bytestring ==0.10.4.0' --constraint='containers ==0.5.5.1' --constraint='hashable ==1.1.2.4' --constraint='http-types ==0.8.6' --constraint='text ==1.1.1.3' --constraint='time ==1.4.2' --constraint='time-local-compat ==0.1.1.0' --constraint='unordered-containers ==0.2.5.0' --constraint='uri-bytestring ==0.1.7' --constraint='uuid-types ==1.0.2' all; else echo skipping...; fi
- if [ $HCNUMVER -eq 70804 ]; then cabal new-build -w ${HC} --disable-tests --disable-benchmarks --constraint='attoparsec ==0.13.0.1' --constraint='attoparsec-iso8601 ==1.0.0.0' --constraint='bytestring ==0.10.4.0' --constraint='containers ==0.5.5.1' --constraint='hashable ==1.1.2.4' --constraint='http-types ==0.8.6' --constraint='semigroups ==0.16' --constraint='text ==1.1.1.3' --constraint='time ==1.4.2' --constraint='time-local-compat ==0.1.1.0' --constraint='unordered-containers ==0.2.6.0' --constraint='uri-bytestring ==0.1.7' --constraint='uuid-types ==1.0.2' all; else echo skipping...; fi

- if [ $HCNUMVER -eq 71003 ]; then cabal new-build -w ${HC} --disable-tests --disable-benchmarks --constraint='attoparsec ==0.13.0.1' --constraint='attoparsec-iso8601 ==1.0.0.0' --constraint='bytestring ==0.10.6.0' --constraint='containers ==0.5.6.1' --constraint='hashable ==1.2.3.2' --constraint='http-types ==0.8.6' --constraint='semigroups ==0.16.0.1' --constraint='text ==1.2.0.2' --constraint='time ==1.5.0.1' --constraint='time-local-compat ==0.1.1.0' --constraint='unordered-containers ==0.2.6.0' --constraint='uri-bytestring ==0.1.7' --constraint='uuid-types ==1.0.2' all; else echo skipping...; fi

- if [ $HCNUMVER -eq 71003 ]; then cabal new-build -w ${HC} --disable-tests --disable-benchmarks --constraint='attoparsec ==0.13.0.1' --constraint='attoparsec-iso8601 ==1.0.0.0' --constraint='bytestring ==0.10.6.0' --constraint='containers ==0.5.6.1' --constraint='hashable ==1.2.3.2' --constraint='http-types ==0.8.6' --constraint='text ==1.2.0.2' --constraint='time ==1.5.0.1' --constraint='time-local-compat ==0.1.1.0' --constraint='unordered-containers ==0.2.5.1' --constraint='uri-bytestring ==0.1.7' --constraint='uuid-types ==1.0.2' all; else echo skipping...; fi
- if [ $HCNUMVER -eq 80002 ]; then cabal new-build -w ${HC} --disable-tests --disable-benchmarks --constraint='attoparsec ==0.13.0.1' --constraint='attoparsec-iso8601 ==1.0.0.0' --constraint='bytestring ==0.10.6.0' --constraint='containers ==0.5.7.0' --constraint='hashable ==1.2.4.0' --constraint='http-types ==0.8.6' --constraint='text ==1.2.2.0' --constraint='time ==1.5.0.1' --constraint='time-local-compat ==0.1.1.0' --constraint='unordered-containers ==0.2.6.0' --constraint='uri-bytestring ==0.2.1.0' --constraint='uuid-types ==1.0.2' all; else echo skipping...; fi

# REGENDATA ["--config","--output",".travis.yml","http-api-data.cabal"]
# EOF
22 changes: 20 additions & 2 deletions cabal.make-travis-yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,11 @@ constraint-set lower-bounds-7.8.4
containers ==0.5.5.1,
hashable ==1.1.2.4,
http-types ==0.8.6,
semigroups ==0.16,
text ==1.1.1.3,
time ==1.4.2,
time-local-compat ==0.1.1.0,
unordered-containers ==0.2.5.0,
unordered-containers ==0.2.6.0,
uri-bytestring ==0.1.7,
uuid-types ==1.0.2

Expand All @@ -30,9 +31,26 @@ constraint-set lower-bounds-7.10.3
containers ==0.5.6.1,
hashable ==1.2.3.2,
http-types ==0.8.6,
semigroups ==0.16.0.1,
text ==1.2.0.2,
time ==1.5.0.1,
time-local-compat ==0.1.1.0,
unordered-containers ==0.2.5.1,
unordered-containers ==0.2.6.0,
uri-bytestring ==0.1.7,
uuid-types ==1.0.2

constraint-set lower-bounds-8.0.2
ghc: == 8.0.2
constraints:
attoparsec ==0.13.0.1,
attoparsec-iso8601 ==1.0.0.0,
bytestring ==0.10.6.0,
containers ==0.5.7.0,
hashable ==1.2.4.0,
http-types ==0.8.6,
text ==1.2.2.0,
time ==1.5.0.1,
time-local-compat ==0.1.1.0,
unordered-containers ==0.2.6.0,
uri-bytestring ==0.2.1.0,
uuid-types ==1.0.2
7 changes: 5 additions & 2 deletions http-api-data.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,8 @@ tested-with:
GHC==7.8.4,
GHC==7.10.3,
GHC==8.0.2,
GHC==8.2.2
GHC==8.2.2,
GHC==8.4.1

custom-setup
setup-depends:
Expand All @@ -49,9 +50,11 @@ library
, text >= 1.1.1.3 && < 1.3
, time >= 1.4.2 && < 1.9
, time-locale-compat >= 0.1.1.0 && < 0.2
, unordered-containers >= 0.2.5.0 && < 0.3
, unordered-containers >= 0.2.6.0 && < 0.3
, uri-bytestring >= 0.1.7 && < 0.4
, uuid-types >= 1.0.2 && <1.1
if !impl(ghc >= 8.0)
build-depends: semigroups >= 0.16 && < 0.19
if flag(use-text-show)
cpp-options: -DUSE_TEXT_SHOW
build-depends: text-show >= 2
Expand Down
3 changes: 2 additions & 1 deletion src/Web/Internal/FormUrlEncoded.hs
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ import Data.List (intersperse, sortBy)
import Data.Map (Map)
import qualified Data.Map as Map
import Data.Monoid
import qualified Data.Semigroup as Semi
import Data.Ord (comparing)

import Data.Text (Text)
Expand Down Expand Up @@ -183,7 +184,7 @@ instance FromFormKey Natural where parseFormKey = parseQueryParam
--
-- 'Form' can be URL-encoded with 'urlEncodeForm' and URL-decoded with 'urlDecodeForm'.
newtype Form = Form { unForm :: HashMap Text [Text] }
deriving (Eq, Read, Generic, Monoid)
deriving (Eq, Read, Generic, Semi.Semigroup, Monoid)

instance Show Form where
showsPrec d form = showParen (d > 10) $
Expand Down