on master help sign in
Individual stack.yaml files
9cf4a68Michael Snoyman
.travis.yml+18−18
@@ -72,9 +72,9 @@ matrix:
72
72
73 # The Stack builds. We can pass in arbitrary Stack arguments via the ARGS
73 # The Stack builds. We can pass in arbitrary Stack arguments via the ARGS
74 # variable, such as using --stack-yaml to point to a different file.
74 # variable, such as using --stack-yaml to point to a different file.
75− - env: BUILD=stack ARGS=""
75+ #- env: BUILD=stack ARGS=""
76− compiler: ": #stack default"
76+ # compiler: ": #stack default"
77− addons: {apt: {packages: [libfcgi-dev,libgmp-dev]}}
77+ # addons: {apt: {packages: [libfcgi-dev,libgmp-dev]}}
78
78
79 #- env: BUILD=stack ARGS="--resolver lts-2"
79 #- env: BUILD=stack ARGS="--resolver lts-2"
80 # compiler: ": #stack 7.8.4"
80 # compiler: ": #stack 7.8.4"
@@ -84,7 +84,7 @@ matrix:
84 # compiler: ": #stack 7.10.2"
84 # compiler: ": #stack 7.10.2"
85 # addons: {apt: {packages: [libfcgi-dev,libgmp-dev]}}
85 # addons: {apt: {packages: [libfcgi-dev,libgmp-dev]}}
86
86
87− - env: BUILD=stack ARGS="--resolver lts-6"
87+ - env: BUILD=stack ARGS="--resolver lts-6" STACK_YAML="stack-lts-6.yaml"
88 compiler: ": #stack 7.10.3"
88 compiler: ": #stack 7.10.3"
89 addons: {apt: {packages: [libfcgi-dev,libgmp-dev]}}
89 addons: {apt: {packages: [libfcgi-dev,libgmp-dev]}}
90
90
@@ -92,27 +92,27 @@ matrix:
92 # compiler: ": #stack 8.0.1"
92 # compiler: ": #stack 8.0.1"
93 # addons: {apt: {packages: [libfcgi-dev,libgmp-dev]}}
93 # addons: {apt: {packages: [libfcgi-dev,libgmp-dev]}}
94
94
95− - env: BUILD=stack ARGS="--resolver lts-9"
95+ - env: BUILD=stack ARGS="--resolver lts-9" STACK_YAML="stack-lts-9.yaml"
96 compiler: ": #stack 8.0.2"
96 compiler: ": #stack 8.0.2"
97 addons: {apt: {packages: [libfcgi-dev,libgmp-dev]}}
97 addons: {apt: {packages: [libfcgi-dev,libgmp-dev]}}
98
98
99− - env: BUILD=stack ARGS="--resolver lts-11"
99+ - env: BUILD=stack ARGS="--resolver lts-11" STACK_YAML="stack-lts-11.yaml"
100 compiler: ": #stack 8.2.2"
100 compiler: ": #stack 8.2.2"
101 addons: {apt: {packages: [libfcgi-dev,libgmp-dev]}}
101 addons: {apt: {packages: [libfcgi-dev,libgmp-dev]}}
102
102
103− - env: BUILD=stack ARGS="--resolver lts-12"
103+ - env: BUILD=stack ARGS="--resolver lts-12" STACK_YAML="stack-lts-12.yaml"
104 compiler: ": #stack 8.4.3"
104 compiler: ": #stack 8.4.3"
105 addons: {apt: {packages: [libfcgi-dev,libgmp-dev]}}
105 addons: {apt: {packages: [libfcgi-dev,libgmp-dev]}}
106
106
107 # Nightly builds are allowed to fail
107 # Nightly builds are allowed to fail
108− - env: BUILD=stack ARGS="--resolver nightly"
108+ - env: BUILD=stack ARGS="--resolver nightly" STACK_YAML="stack-nightly.yaml"
109 compiler: ": #stack nightly"
109 compiler: ": #stack nightly"
110 addons: {apt: {packages: [libfcgi-dev,libgmp-dev]}}
110 addons: {apt: {packages: [libfcgi-dev,libgmp-dev]}}
111
111
112 # Build on macOS in addition to Linux
112 # Build on macOS in addition to Linux
113− - env: BUILD=stack ARGS=""
113+ #- env: BUILD=stack ARGS=""
114− compiler: ": #stack default osx"
114+ # compiler: ": #stack default osx"
115− os: osx
115+ # os: osx
116
116
117 # Travis includes an macOS which is incompatible with GHC 7.8.4
117 # Travis includes an macOS which is incompatible with GHC 7.8.4
118 #- env: BUILD=stack ARGS="--resolver lts-2"
118 #- env: BUILD=stack ARGS="--resolver lts-2"
@@ -123,7 +123,7 @@ matrix:
123 # compiler: ": #stack 7.10.2 osx"
123 # compiler: ": #stack 7.10.2 osx"
124 # os: osx
124 # os: osx
125
125
126− - env: BUILD=stack ARGS="--resolver lts-6"
126+ - env: BUILD=stack ARGS="--resolver lts-6" STACK_YAML="stack-lts-6.yaml"
127 compiler: ": #stack 7.10.3 osx"
127 compiler: ": #stack 7.10.3 osx"
128 os: osx
128 os: osx
129
129
@@ -131,15 +131,15 @@ matrix:
131 # compiler: ": #stack 8.0.1 osx"
131 # compiler: ": #stack 8.0.1 osx"
132 # os: osx
132 # os: osx
133
133
134− - env: BUILD=stack ARGS="--resolver lts-9"
134+ - env: BUILD=stack ARGS="--resolver lts-9" STACK_YAML="stack-lts-9.yaml"
135 compiler: ": #stack 8.0.2 osx"
135 compiler: ": #stack 8.0.2 osx"
136 os: osx
136 os: osx
137
137
138− - env: BUILD=stack ARGS="--resolver lts-11"
138+ - env: BUILD=stack ARGS="--resolver lts-11" STACK_YAML="stack-lts-11.yaml"
139 compiler: ": #stack 8.2.2 osx"
139 compiler: ": #stack 8.2.2 osx"
140 os: osx
140 os: osx
141
141
142− - env: BUILD=stack ARGS="--resolver lts-12"
142+ - env: BUILD=stack ARGS="--resolver lts-12" STACK_YAML="stack-lts-12.yaml"
143 compiler: ": #stack 8.4.3 osx"
143 compiler: ": #stack 8.4.3 osx"
144 os: osx
144 os: osx
145
145
@@ -149,7 +149,7 @@ matrix:
149
149
150 allow_failures:
150 allow_failures:
151 - env: BUILD=cabal GHCVER=head CABALVER=head HAPPYVER=1.19.5 ALEXVER=3.1.7
151 - env: BUILD=cabal GHCVER=head CABALVER=head HAPPYVER=1.19.5 ALEXVER=3.1.7
152− - env: BUILD=stack ARGS="--resolver nightly"
152+ #- env: BUILD=stack ARGS="--resolver nightly"
153
153
154before_install:
154before_install:
155# Using compiler above sets CC to an invalid value, so unset it
155# Using compiler above sets CC to an invalid value, so unset it
@@ -169,8 +169,8 @@ before_install:
169
169
170 # brew no longer has fcgi
170 # brew no longer has fcgi
171 # brew install fcgi
171 # brew install fcgi
172− grep -v wai-handler-fastcgi < stack.yaml > tmp
172+ grep -v wai-handler-fastcgi < $STACK_YAML > tmp
173− mv tmp stack.yaml
173+ mv tmp $STACK_YAML
174 else
174 else
175 travis_retry curl -L https://get.haskellstack.org/stable/linux-x86_64.tar.gz | tar xz --wildcards --strip-components=1 -C ~/.local/bin '*/stack'
175 travis_retry curl -L https://get.haskellstack.org/stable/linux-x86_64.tar.gz | tar xz --wildcards --strip-components=1 -C ~/.local/bin '*/stack'
176 fi
176 fi
appveyor.yml+5−5
@@ -17,14 +17,14 @@ environment:
17 TMP: "c:\\tmp"
17 TMP: "c:\\tmp"
18
18
19 matrix:
19 matrix:
20− - ARGS: ""
20+ #- ARGS: ""
21 #- ARGS: "--resolver lts-2"
21 #- ARGS: "--resolver lts-2"
22 #- ARGS: "--resolver lts-3"
22 #- ARGS: "--resolver lts-3"
23− - ARGS: "--resolver lts-6"
23+ - ARGS: "--stack-yaml stack-lts-6.yaml"
24 #- ARGS: "--resolver lts-7"
24 #- ARGS: "--resolver lts-7"
25− - ARGS: "--resolver lts-9"
25+ - ARGS: "--stack-yaml stack-lts-9.yaml"
26− - ARGS: "--resolver lts-11"
26+ - ARGS: "--stack-yaml stack-lts-11.yaml"
27− - ARGS: "--resolver lts-12"
27+ - ARGS: "--stack-yaml stack-lts-12.yaml"
28 #- ARGS: "--resolver nightly"
28 #- ARGS: "--resolver nightly"
29
29
30test_script:
30test_script:
hcar-wai.texdeleted−54
@@ -1,54 +0,0 @@
1−% WAI-KW.tex
2−\begin{hcarentry}{WAI}
3−\label{wai}
4−\report{Kazu Yamamoto}%05/18
5−\participants{Michael Snoyman, Greg Weber}
6−\status{stable}
7−\makeheader
8−
9−WAI (Web Application Interface) is an application interface between web
10−applications and handlers in Haskell. The \texttt{Application} data type is
11−defined as follows:
12−
13−\begin{verbatim}
14−type Application
15− = Request
16− -> (Response -> IO ResponseReceived)
17− -> IO ResponseReceived
18−\end{verbatim}
19−
20−That is, a WAI application takes two arguments: a \texttt{Request} and a
21−function to send a \texttt{Response}. So, the typical behavior of WAI
22−application is processing a request, generating a response and passing the
23−response to the function.
24−
25−Historically speaking, this interface made possible to develop handlers other
26−than HTTP. The WAI applications can run through FastCGI
27−(wai-handler-fastcgi), run as stand-alone (wai-handler-webkit), etc. But the
28−most popular handler is based on HTTP, of course. The major HTTP handler for
29−WAI is Warp which now provides both HTTP/1.1 and HTTP/2. TLS (warp-tls) is
30−also available. New transports such as WebSocket (wai-websocket) and Event
31−Source (wai-extra) can be implemented, too.
32−
33−It is possible to develop WAI applications directly. For instance, Hoogle and
34−Mighttpd2 take this way. However, you may want to use web application
35−frameworks such as Apiary, MFlow, rest, Servant, Scotty, Spock, Yesod, etc.
36−
37−WAI also provides \texttt{Middleware}:
38−
39−\begin{verbatim}
40−type Middleware = Application -> Application
41−\end{verbatim}
42−
43−WAI middleware can inspect and transform a request, for example by
44−automatically gzipping a response or logging a request (wai-extra).
45−
46−Since the last HCAR, WAI started using Builder of ByteString instead of
47−Builder of blaze-builder. Because they are identical, no backward
48−compatibility issue happens.
49−
50−\FurtherReading
51−\begin{compactitem}
52−\item\url{https://groups.google.com/d/forum/haskell-wai}
53−\end{compactitem}
54−\end{hcarentry}
hcar-warp.texdeleted−28
@@ -1,28 +0,0 @@
1−% Warp-KW.tex
2−\begin{hcarentry}[updated]{Warp}
3−\label{warp}
4−\report{Kazu Yamamoto}%05/18
5−\participants{Michael Snoyman}
6−\status{stable}
7−\makeheader
8−
9−Warp is a high performance, easy to deploy HTTP handler for WAI~\cref{wai}.
10−Its supports both HTTP/1.1 and HTTP/2.
11−
12−Since the last HCAR, no major changes were made.
13−
14−\FurtherReading
15−\begin{compactitem}
16−\item``Warp: A Haskell Web Server''
17− \begin{compactitem}
18− \item the May/June 2011 issue of IEEE Internet Computing
19− \item Issue page: \url{http://www.computer.org/portal/web/csdl/abs/mags/ic/2011/03/mic201103toc.htm}
20− \item PDF: \url{http://steve.vinoski.net/pdf/IC-Warp\_a\_Haskell\_Web\_Server.pdf}
21− \end{compactitem}
22−\item ``Warp''
23− \begin{compactitem}
24− \item The Performance of Open Source Applications
25− \item HTML: \url{http://www.aosabook.org/en/posa/warp.html}
26− \end{compactitem}
27−\end{compactitem}
28−\end{hcarentry}
sources.txtdeleted−11
@@ -1,11 +0,0 @@
1−./wai
2−./wai-extra
3−./warp
4−./warp-tls
5−./wai-app-static
6−./wai-handler-fastcgi
7−./wai-handler-launch
8−./wai-websockets
9−./wai-conduit
10−./mime-types
11−./auto-update
stack-lts-11.yamlnew file+28
@@ -0,0 +1,28 @@
1+resolver: lts-11.21
2+packages:
3+- ./auto-update
4+- ./mime-types
5+- ./wai
6+- ./wai-extra
7+- ./warp
8+- ./warp-tls
9+- ./wai-app-static
10+- ./wai-handler-fastcgi
11+- ./wai-websockets
12+- ./wai-conduit
13+flags:
14+ wai-extra:
15+ build-example: true
16+extra-deps:
17+- streaming-commons-0.2.1.0@sha256:163af02944f374f316e35257c1afbffefd2c2852a85a151d1ea0ad22152cf28d,4990
18+nix:
19+ enable: false
20+ packages:
21+ - fcgi
22+ - zlib
23+image:
24+ containers:
25+ - base: "fpco/pid1"
26+ name: "yesodweb/warp"
27+ executables:
28+ - warp
stack-lts-12.yamlnew file+26
@@ -0,0 +1,26 @@
1+resolver: lts-12.6
2+packages:
3+- ./auto-update
4+- ./mime-types
5+- ./wai
6+- ./wai-extra
7+- ./warp
8+- ./warp-tls
9+- ./wai-app-static
10+- ./wai-handler-fastcgi
11+- ./wai-websockets
12+- ./wai-conduit
13+flags:
14+ wai-extra:
15+ build-example: true
16+nix:
17+ enable: false
18+ packages:
19+ - fcgi
20+ - zlib
21+image:
22+ containers:
23+ - base: "fpco/pid1"
24+ name: "yesodweb/warp"
25+ executables:
26+ - warp
stack-lts-6.yamlnew file+32
@@ -0,0 +1,32 @@
1+resolver: lts-6.35
2+packages:
3+- ./auto-update
4+- ./mime-types
5+- ./wai
6+- ./wai-extra
7+- ./warp
8+- ./warp-tls
9+- ./wai-app-static
10+- ./wai-handler-fastcgi
11+- ./wai-websockets
12+- ./wai-conduit
13+extra-deps:
14+- bsb-http-chunked-0.0.0.2@sha256:0571ef33ec5530104503d32eaf24f2d7c221f350e5fc475a6dd8e84311bc0ca1,1792
15+- streaming-commons-0.2.1.0@sha256:163af02944f374f316e35257c1afbffefd2c2852a85a151d1ea0ad22152cf28d,4990
16+- tls-session-manager-0.0.0.2@sha256:e3d3f8a026196df46746a19d3d7d31211b2fca3aefed9074e951b2dcc1b8833c,872
17+- wai-logger-2.3.2@sha256:7f5dbc72c0753bd3e0e73f8f542d9d159d1d70f8ff3a3ec16d0b74b500534fc6,1572
18+- gauge-0.2.3@sha256:ce41cb66ebf730a5050181db0338b1a4b3f76ac71331bf5070089bcd4352ff46,3777
19+- psqueues-0.2.7.0@sha256:189970837d0aae01f48cd2a8aac6ce314191939e118cc0488aee1fb12da1956a,4757
20+- basement-0.0.7@rev:0
21+- http-client-0.5.13.1@rev:0
22+nix:
23+ enable: false
24+ packages:
25+ - fcgi
26+ - zlib
27+image:
28+ containers:
29+ - base: "fpco/pid1"
30+ name: "yesodweb/warp"
31+ executables:
32+ - warp
stack-lts-9.yamlnew file+28
@@ -0,0 +1,28 @@
1+resolver: lts-9.21
2+packages:
3+- ./auto-update
4+- ./mime-types
5+- ./wai
6+- ./wai-extra
7+- ./warp
8+- ./warp-tls
9+- ./wai-app-static
10+- ./wai-handler-fastcgi
11+- ./wai-websockets
12+- ./wai-conduit
13+extra-deps:
14+- bsb-http-chunked-0.0.0.2@sha256:0571ef33ec5530104503d32eaf24f2d7c221f350e5fc475a6dd8e84311bc0ca1,1792
15+- streaming-commons-0.2.1.0@sha256:163af02944f374f316e35257c1afbffefd2c2852a85a151d1ea0ad22152cf28d,4990
16+- wai-logger-2.3.2@sha256:7f5dbc72c0753bd3e0e73f8f542d9d159d1d70f8ff3a3ec16d0b74b500534fc6,1572
17+- http-client-0.5.13.1@rev:0
18+nix:
19+ enable: false
20+ packages:
21+ - fcgi
22+ - zlib
23+image:
24+ containers:
25+ - base: "fpco/pid1"
26+ name: "yesodweb/warp"
27+ executables:
28+ - warp
stack-nightly.yamlnew file+26
@@ -0,0 +1,26 @@
1+resolver: nightly-2018-08-17
2+packages:
3+- ./auto-update
4+- ./mime-types
5+- ./wai
6+- ./wai-extra
7+- ./warp
8+- ./warp-tls
9+- ./wai-app-static
10+- ./wai-handler-fastcgi
11+- ./wai-websockets
12+- ./wai-conduit
13+flags:
14+ wai-extra:
15+ build-example: true
16+nix:
17+ enable: false
18+ packages:
19+ - fcgi
20+ - zlib
21+image:
22+ containers:
23+ - base: "fpco/pid1"
24+ name: "yesodweb/warp"
25+ executables:
26+ - warp
stack.yamlmode 100644 → 120000+1−35
@@ -1,35 +0,0 @@
1−resolver: lts-10.0
2−packages:
3−- ./auto-update
4−- ./mime-types
5−- ./wai
6−- ./wai-extra
7−- ./warp
8−- ./warp-tls
9−- ./wai-app-static
10−- ./wai-handler-fastcgi
11−- ./wai-websockets
12−- ./wai-conduit
13−flags:
14− wai-extra:
15− build-example: true
16−extra-deps:
17−- bsb-http-chunked-0
18−- tls-session-manager-0.0.0.2
19−- psqueues-0.2.4.0
20−- streaming-commons-0.2.0.0
21−- wai-logger-2.3.2
22−- http-client-0.5.10
23−- websockets-0.12.4.0
24−- binary-0.8.5.1
25−nix:
26− enable: false
27− packages:
28− - fcgi
29− - zlib
30−image:
31− containers:
32− - base: "fpco/pid1"
33− name: "yesodweb/warp"
34− executables:
35− - warp
@@ -0,0 +1 @@
1+stack-lts-12.yaml