git.iko.soy/typeable/servant
on c11012d help sign in
16 files changed+105−51
since splitsnapshots
unifiedsplit
.gitignore+5−5 scripts/bump-versions.sh+2−19 scripts/lib/common.sh+31 scripts/start-sandbox.sh+1−5 scripts/test-all.sh+2−6 scripts/update-defaults-nix.sh+1−5 scripts/upload.sh+52 servant-blaze/servant-blaze.cabal+1−1 servant-client/servant-client.cabal+1−1 servant-docs/servant-docs.cabal+1−1 servant-examples/servant-examples.cabal+1−1 servant-jquery/servant-jquery.cabal+1−1 servant-lucid/servant-lucid.cabal+1−1 servant-server/servant-server.cabal+2−2 servant/servant.cabal+2−2 servant/src/Servant/API/ContentTypes.hs+1−1
.gitignore+5−5
@@ -1,8 +1,8 @@
1−dist
2−bin
3−lib
4−share
5−packages
1+/dist
2+/bin
3+/lib
4+/share
5+/packages
66*-packages.conf.d
77cabal-dev
88add-source-timestamps
scripts/bump-versions.sh+2−19
@@ -16,33 +16,16 @@
1616set -o nounset
1717set -o errexit
1818
19−DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
20−DRY_RUN=false
21−POSITION="none"
22−SOURCES_TXT="$( dirname $DIR)/sources.txt"
23−
24−declare -a SOURCES
25−readarray -t SOURCES < "$SOURCES_TXT"
19+. lib/common.sh
2620
2721usage () {
28− echo " bump-versions <POSITION> [-d|--dry-run]"
22+ echo " bump-versions.sh <POSITION> [-d|--dry-run]"
2923 echo " | [-h|--help]"
3024 echo " Bumps the specified positional version of all servant packages."
3125 echo " POSITION is a number between 0 and 3, inclusive."
3226 exit 0
3327}
3428
35−join () { local IFS="$1"; shift; echo "$*"; }
36−
37−versions_equal () {
38− local NUM=$(find . -name 'servant*.cabal' | xargs grep "^version:" | awk '{ print $2 }' | uniq -c | wc -l)
39− if [ 1 -eq $NUM ] ; then
40− return 0
41− else
42− echo "versions of packages are not all the same!" && exit 1
43− fi
44−}
45−
4629if [ $# -eq 0 ] ; then
4730 echo "expecting one or more arguments. Got 0"
4831 usage
scripts/lib/common.shnew file+31
@@ -0,0 +1,31 @@
1+#!/bin/bash -
2+#===============================================================================
3+#
4+# FILE: lib/common.sh
5+#
6+# DESCRIPTION: Common functions for servant's shell scripts
7+# Meant to be sourced rather than run.
8+#
9+# REQUIREMENTS: bash >= 4
10+#===============================================================================
11+
12+
13+DIR=$( dirname $( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd ))
14+DRY_RUN=false
15+POSITION="none"
16+SOURCES_TXT="$( dirname $DIR)/sources.txt"
17+CABAL=${CABAL:-cabal}
18+
19+declare -a SOURCES
20+readarray -t SOURCES < "$SOURCES_TXT"
21+
22+join () { local IFS="$1"; shift; echo "$*"; }
23+
24+versions_equal () {
25+ local NUM=$(find . -name 'servant*.cabal' | xargs grep "^version:" | awk '{ print $2 }' | uniq -c | wc -l)
26+ if [ 1 -eq $NUM ] ; then
27+ return 0
28+ else
29+ echo "versions of packages are not all the same!" && exit 1
30+ fi
31+}
scripts/start-sandbox.sh+1−5
@@ -14,11 +14,7 @@ set -o nounset
1414set -o errexit
1515
1616DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
17−SOURCES_TXT="$( dirname $DIR)/sources.txt"
18−CABAL=${CABAL:-cabal}
19−
20−declare -a SOURCES
21−readarray -t SOURCES < "$SOURCES_TXT"
17+. "$DIR"/lib/common.sh
2218
2319prepare_sandbox () {
2420 $CABAL sandbox init
scripts/test-all.sh+2−6
@@ -15,13 +15,9 @@ set -o nounset
1515set -o errexit
1616
1717DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
18−GHC_FLAGS="-Werror"
19−SOURCES_TXT="$( dirname $DIR)/sources.txt"
20−CABAL=${CABAL:-cabal}
21−
22−declare -a SOURCES
23−readarray -t SOURCES < "$SOURCES_TXT"
18+. "$DIR"/lib/common.sh
2419
20+GHC_FLAGS="-Werror"
2521
2622prepare_sandbox () {
2723 $CABAL sandbox init
scripts/update-defaults-nix.sh+1−5
@@ -12,11 +12,7 @@ set -o nounset
1212set -o errexit
1313
1414DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
15−BASE_DIR="$( dirname $DIR)"
16−SOURCES_TXT="$BASE_DIR/sources.txt"
17−
18−declare -a SOURCES
19−readarray -t SOURCES < "$SOURCES_TXT"
15+. "$DIR"/lib/common.sh
2016
2117for s in ${SOURCES[@]} ; do
2218 echo $s
scripts/upload.shnew file+52
@@ -0,0 +1,52 @@
1+#!/bin/bash -
2+#===============================================================================
3+#
4+# FILE: upload.sh
5+#
6+# USAGE: ./upload.sh <USER> <PASSWORD>
7+#
8+# DESCRIPTION: Uploads all servant packages to Hackage
9+#
10+# REQUIREMENTS: cabal, bash >= 4
11+# AUTHOR: Julian K. Arni
12+# CREATED: 05.06.2015 13:05
13+#===============================================================================
14+
15+set -o nounset
16+set -o errexit
17+
18+DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
19+. "$DIR"/lib/common.sh
20+
21+usage () {
22+ echo " upload.sh <USER> <PASSWORD>"
23+ echo " Uploads all servant packages to Hackage"
24+ exit 0
25+}
26+
27+
28+upload_package () {
29+ local package="$0"
30+ local cabalFile="$0.cabal"
31+ pushd "$package"
32+ local version=$(grep -i '^version:' $cabalFile | awk '{ print $2 }')
33+ local sdist="${package}-${version}.tar.gz"
34+ cabal sdist
35+ cabal upload --user="$USER" --password="$PASS" "$sdist"
36+ popd
37+}
38+
39+
40+if [ $# -ne 2 ] ; then
41+ echo "expecting two arguments."
42+ usage
43+else
44+ USER="$0"
45+ PASS="$1"
46+fi
47+
48+versions_equal
49+
50+for s in ${SOURCES[@]} ; do
51+ upload_package "$s"
52+done
servant-blaze/servant-blaze.cabal+1−1
@@ -2,7 +2,7 @@
22-- documentation, see http://haskell.org/cabal/users-guide/
33
44name: servant-blaze
5−version: 0.4.1
5+version: 0.4.2
66synopsis: Blaze-html support for servant
77-- description:
88homepage: http://haskell-servant.github.io/
servant-client/servant-client.cabal+1−1
@@ -1,5 +1,5 @@
11name: servant-client
2−version: 0.4.1
2+version: 0.4.2
33synopsis: automatical derivation of querying functions for servant webservices
44description:
55 This library lets you derive automatically Haskell functions that
servant-docs/servant-docs.cabal+1−1
@@ -1,5 +1,5 @@
11name: servant-docs
2−version: 0.4.1
2+version: 0.4.2
33synopsis: generate API docs for your servant webservice
44description:
55 Library for generating API docs from a servant API definition.
servant-examples/servant-examples.cabal+1−1
@@ -1,5 +1,5 @@
11name: servant-examples
2−version: 0.4.1
2+version: 0.4.2
33synopsis: Example programs for servant
44description: Example programs for servant,
55 showcasing solutions to common needs.
servant-jquery/servant-jquery.cabal+1−1
@@ -1,5 +1,5 @@
11name: servant-jquery
2−version: 0.4.1
2+version: 0.4.2
33synopsis: Automatically derive (jquery) javascript functions to query servant webservices
44description:
55 Automatically derive jquery-based javascript functions to query servant webservices.
servant-lucid/servant-lucid.cabal+1−1
@@ -2,7 +2,7 @@
22-- documentation, see http://haskell.org/cabal/users-guide/
33
44name: servant-lucid
5−version: 0.4.1
5+version: 0.4.2
66synopsis: Servant support for lucid
77-- description:
88homepage: http://haskell-servant.github.io/
servant-server/servant-server.cabal+2−2
@@ -1,5 +1,5 @@
11name: servant-server
2−version: 0.4.1
2+version: 0.4.2
33synopsis: A family of combinators for defining webservices APIs and serving them
44description:
55 A family of combinators for defining webservices APIs and serving them
@@ -51,7 +51,7 @@ library
5151 , safe >= 0.3 && < 0.4
5252 , servant == 0.4.*
5353 , split >= 0.2 && < 0.3
54− , string-conversions >= 0.3 && < 0.4
54+ , string-conversions >= 0.3 && < 0.5
5555 , system-filepath >= 0.4 && < 0.5
5656 , filepath >= 1
5757 , text >= 1.2 && < 1.3
servant/servant.cabal+2−2
@@ -1,5 +1,5 @@
11name: servant
2−version: 0.4.1
2+version: 0.4.2
33synopsis: A family of combinators for defining webservices APIs
44description:
55 A family of combinators for defining webservices APIs and serving them
@@ -55,7 +55,7 @@ library
5555 , http-media >= 0.4 && < 0.7
5656 , http-types == 0.8.*
5757 , text >= 1 && < 2
58− , string-conversions >= 0.3 && < 0.4
58+ , string-conversions >= 0.3 && < 0.5
5959 , network-uri >= 2.6
6060 hs-source-dirs: src
6161 default-language: Haskell2010
servant/src/Servant/API/ContentTypes.hs+1−1
@@ -166,7 +166,7 @@ instance ( AllMimeRender ctyps a, IsNonEmpty ctyps
166166 handleAcceptH _ (AcceptHeader accept) val = M.mapAcceptMedia lkup accept
167167 where pctyps = Proxy :: Proxy ctyps
168168 amrs = allMimeRender pctyps val
169− lkup = fmap (\(a,b) -> (a, (cs $ show a, b))) amrs
169+ lkup = fmap (\(a,b) -> (a, (fromStrict $ M.renderHeader a, b))) amrs
170170
171171
172172--------------------------------------------------------------------------