on master help sign in
Merge branch 'master' of github.com:fpco/stackage
550de55Michael Snoyman
Dockerfile+4−4
@@ -1,4 +1,4 @@
1−FROM ubuntu:12.04
1+FROM ubuntu:14.04
2
2
3ENV HOME /home/stackage
3ENV HOME /home/stackage
4ENV LANG en_US.UTF-8
4ENV LANG en_US.UTF-8
@@ -7,17 +7,17 @@ RUN mkdir /home/stackage -p
7RUN locale-gen en_US.UTF-8
7RUN locale-gen en_US.UTF-8
8
8
9RUN DEBIAN_FRONTEND=noninteractive apt-get update
9RUN DEBIAN_FRONTEND=noninteractive apt-get update
10−RUN DEBIAN_FRONTEND=noninteractive apt-get install -y software-properties-common python-software-properties
10+RUN DEBIAN_FRONTEND=noninteractive apt-get install -y software-properties-common python-software-properties git
11RUN DEBIAN_FRONTEND=noninteractive add-apt-repository ppa:hvr/ghc -y
11RUN DEBIAN_FRONTEND=noninteractive add-apt-repository ppa:hvr/ghc -y
12
12
13ADD debian-bootstrap.sh /tmp/debian-bootstrap.sh
13ADD debian-bootstrap.sh /tmp/debian-bootstrap.sh
14RUN DEBIAN_FRONTEND=noninteractive bash /tmp/debian-bootstrap.sh
14RUN DEBIAN_FRONTEND=noninteractive bash /tmp/debian-bootstrap.sh
15RUN rm /tmp/debian-bootstrap.sh
15RUN rm /tmp/debian-bootstrap.sh
16
16
17−RUN DEBIAN_FRONTEND=noninteractive apt-get install -y cabal-install-1.20 ghc-7.8.4 alex-3.1.3 happy-1.19.4 sudo
17+RUN DEBIAN_FRONTEND=noninteractive apt-get install -y cabal-install-1.20 ghc-7.8.4 ghc-7.8.4-htmldocs alex-3.1.3 happy-1.19.4 sudo
18
18
19ENV PATH /home/stackage/.cabal/bin:/usr/local/sbin:/usr/local/bin:/opt/ghc/7.8.4/bin:/opt/cabal/1.20/bin:/opt/alex/3.1.3/bin:/opt/happy/1.19.4/bin:/usr/sbin:/usr/bin:/sbin:/bin
19ENV PATH /home/stackage/.cabal/bin:/usr/local/sbin:/usr/local/bin:/opt/ghc/7.8.4/bin:/opt/cabal/1.20/bin:/opt/alex/3.1.3/bin:/opt/happy/1.19.4/bin:/usr/sbin:/usr/bin:/sbin:/bin
20
20
21RUN cabal update
21RUN cabal update
22−RUN cabal install hscolour cabal-install --constraint "Cabal < 1.22" && cp $HOME/.cabal/bin/* /usr/local/bin && rm -rf $HOME/.cabal $HOME/.ghc /tmp/stackage
22+RUN cabal install hscolour cabal-install && cp $HOME/.cabal/bin/* /usr/local/bin && rm -rf $HOME/.cabal $HOME/.ghc /tmp/stackage
23RUN wget https://s3.amazonaws.com/stackage-travis/stackage-curator/stackage-curator.bz2 && bunzip2 stackage-curator.bz2 && chmod +x stackage-curator && mv stackage-curator /usr/local/bin
23RUN wget https://s3.amazonaws.com/stackage-travis/stackage-curator/stackage-curator.bz2 && bunzip2 stackage-curator.bz2 && chmod +x stackage-curator && mv stackage-curator /usr/local/bin
README.md+5
@@ -17,6 +17,11 @@ project information. In addition, we have the following repositories:
17* [stackage-curator](https://github.com/fpco/stackage-curator) [![Build Status](https://travis-ci.org/fpco/stackage-curator.svg?branch=master)](https://travis-ci.org/fpco/stackage-curator)
17* [stackage-curator](https://github.com/fpco/stackage-curator) [![Build Status](https://travis-ci.org/fpco/stackage-curator.svg?branch=master)](https://travis-ci.org/fpco/stackage-curator)
18* [stackage-types](https://github.com/fpco/stackage-types) [![Build Status](https://travis-ci.org/fpco/stackage-types.svg?branch=master)](https://travis-ci.org/fpco/stackage-types)
18* [stackage-types](https://github.com/fpco/stackage-types) [![Build Status](https://travis-ci.org/fpco/stackage-types.svg?branch=master)](https://travis-ci.org/fpco/stackage-types)
19* [lts-haskell](https://github.com/fpco/lts-haskell)
19* [lts-haskell](https://github.com/fpco/lts-haskell)
20+* [stackage-nightly](https://github.com/fpco/stackage-nightly)
21+* [stackage-cli](https://github.com/fpco/stackage-cli) [![Build Status](https://travis-ci.org/fpco/stackage-cli.svg?branch=master)](https://travis-ci.org/fpco/stackage-cli)
22+* [stackage-update](https://github.com/fpco/stackage-update) [![Build Status](https://travis-ci.org/fpco/stackage-update.svg?branch=master)](https://travis-ci.org/fpco/stackage-update)
23+* [stackage-upload](https://github.com/fpco/stackage-upload) [![Build Status](https://travis-ci.org/fpco/stackage-upload.svg?branch=master)](https://travis-ci.org/fpco/stackage-upload)
24+* [stackage-install](https://github.com/fpco/stackage-install) [![Build Status](https://travis-ci.org/fpco/stackage-install.svg?branch=master)](https://travis-ci.org/fpco/stackage-install)
20
25
21Get your package included
26Get your package included
22-------------------------
27-------------------------
automated/.gitignorenew file+10
@@ -0,0 +1,10 @@
1+/auth-token
2+/bin/
3+/gitconfig
4+/hackage-creds
5+/ssh-nightly/
6+/ssh-lts/
7+/nighlty/
8+/lts-*/
9+/stackage-curator/
10+/stackage-update/
automated/build.shnew file+73
@@ -0,0 +1,73 @@
1+#!/usr/bin/env bash
2+
3+set -eux
4+
5+ROOT=$(cd $(dirname $0) ; pwd)
6+TARGET=$1
7+TROOT=$ROOT/$(echo $TARGET | cut -d. -f 1)
8+PLAN_FILE=current-plan.yaml
9+BUNDLE_FILE=current.bundle
10+
11+CABAL_DIR=$ROOT/cabal
12+GHC_DIR=$ROOT/ghc
13+CURATOR_DIR=$ROOT/stackage-curator
14+UPDATE_DIR=$ROOT/stackage-update
15+WORKDIR=$TROOT/work
16+SSH_DIR=$ROOT/ssh-$(echo $TARGET | cut -d- -f 1)
17+
18+mkdir -p \
19+ "$CABAL_DIR" \
20+ "$GHC_DIR" \
21+ "$CURATOR_DIR" \
22+ "$UPDATE_DIR" \
23+ "$WORKDIR" \
24+ "$SSH_DIR"
25+
26+GITCONFIG=$ROOT/gitconfig
27+cat >$GITCONFIG <<EOF
28+[user]
29+ email = michael+stackage-build@fpcomplete.com
30+ name = Stackage Build host
31+EOF
32+
33+cat >$SSH_DIR/known_hosts <<EOF
34+|1|Qn0iij8BnxGZXbyFSozS9zWkH+Q=|YrKKNp2KHO3/oc4UBFIe1zOvhDc= ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ==
35+|1|RxBEt2ljiEppr019szMIhbY12m0=|0FZ2Oji1LphRbPLLEQhFzTmL69I= ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ==
36+EOF
37+
38+AUTH_TOKEN=$ROOT/auth-token
39+HACKAGE_CREDS=$ROOT/hackage-creds
40+
41+function require_400_file {
42+ if [ ! -f "$1" ]
43+ then
44+ echo File not found: "$1"
45+ exit 1
46+ fi
47+
48+ chmod 400 "$1"
49+}
50+
51+require_400_file "$SSH_DIR/id_rsa"
52+require_400_file "$AUTH_TOKEN"
53+require_400_file "$HACKAGE_CREDS"
54+
55+mkdir -p $ROOT/bin
56+BINDIR=$(cd $ROOT/bin ; pwd)
57+(
58+cd $BINDIR
59+rm -f stackage-curator stackage-curator.bz2
60+wget https://s3.amazonaws.com/stackage-travis/stackage-curator/stackage-curator.bz2
61+bunzip2 stackage-curator.bz2
62+chmod +x stackage-curator
63+)
64+
65+ARGS_COMMON="--rm -u $USER -v $WORKDIR:/home/stackage/work -w /home/stackage/work -v $BINDIR/stackage-curator:/usr/local/bin/stackage-curator:ro -v /etc/passwd:/etc/passwd:ro -v /etc/group:/etc/group:ro"
66+ARGS_PREBUILD="$ARGS_COMMON -v $CABAL_DIR:/home/stackage/.cabal -v $GHC_DIR:/home/stackage/.ghc -v $UPDATE_DIR:/home/stackage/.stackage-update"
67+ARGS_BUILD="$ARGS_COMMON -v $CABAL_DIR:/home/stackage/.cabal:ro -v $GHC_DIR:/home/stackage/.ghc:ro"
68+ARGS_UPLOAD="$ARGS_COMMON -v $AUTH_TOKEN:/auth-token:ro -v $HACKAGE_CREDS:/hackage-creds:ro -v $CURATOR_DIR:/home/stackage/.stackage-curator -v $SSH_DIR:/home/ubuntu/.ssh:ro -v $GITCONFIG:/home/stackage/.gitconfig:ro"
69+
70+# Use cabal update first to initialize ~/.cabal.config, then use stackage-curator update to get it securely
71+docker run $ARGS_PREBUILD snoyberg/stackage /bin/bash -c "cabal update && stackage-curator update && stackage-curator create-plan --plan-file $PLAN_FILE --target $TARGET && stackage-curator check --plan-file $PLAN_FILE && stackage-curator fetch --plan-file $PLAN_FILE && cabal install random cabal-install"
72+docker run $ARGS_BUILD snoyberg/stackage stackage-curator make-bundle --plan-file $PLAN_FILE --bundle-file $BUNDLE_FILE --target $TARGET
73+docker run $ARGS_UPLOAD snoyberg/stackage /bin/bash -c "stackage-curator upload --bundle-file $BUNDLE_FILE && stackage-curator hackage-distro --plan-file $PLAN_FILE --target $TARGET && stackage-curator upload-github --plan-file $PLAN_FILE --target $TARGET"
build-constraints.yaml+72−6
@@ -60,7 +60,9 @@ packages:
60 - cairo
60 - cairo
61 - cassava
61 - cassava
62 - Chart
62 - Chart
63+
64+ # https://github.com/fpco/stackage/issues/541
63− - Chart-diagrams
65+ # - Chart-diagrams
64 - compdata
66 - compdata
65 - configurator
67 - configurator
66 - convertible
68 - convertible
@@ -95,6 +97,10 @@ packages:
95 - stackage
97 - stackage
96 - stackage-curator
98 - stackage-curator
97 - stackage-types
99 - stackage-types
100+ - stackage-update
101+ - stackage-upload
102+ - stackage-cli
103+ - stackage-install
98 - statistics-linreg
104 - statistics-linreg
99 - th-expand-syns
105 - th-expand-syns
100 - thyme
106 - thyme
@@ -373,6 +379,7 @@ packages:
373 - accelerate
379 - accelerate
374
380
375 "Dan Burton <danburton.email@gmail.com>":
381 "Dan Burton <danburton.email@gmail.com>":
382+ - yesod-gitrev
376 - basic-prelude
383 - basic-prelude
377 - composition
384 - composition
378 - io-memoize
385 - io-memoize
@@ -568,6 +575,15 @@ packages:
568 - yesod-auth-hashdb
575 - yesod-auth-hashdb
569
576
570 "Toralf Wittner <tw@dtex.org>":
577 "Toralf Wittner <tw@dtex.org>":
578+ - bytestring-conversion
579+ - cql
580+ - cql-io
581+ - redis-resp
582+ - redis-io
583+ - swagger
584+ - tinylog
585+ - wai-predicates
586+ - wai-routing
571 - zeromq4-haskell
587 - zeromq4-haskell
572
588
573 "trupill@gmail.com":
589 "trupill@gmail.com":
@@ -737,6 +753,12 @@ packages:
737 - sdl2
753 - sdl2
738
754
739 "Leon Mergen leon@solatis.com @solatis":
755 "Leon Mergen leon@solatis.com @solatis":
756+ - base58string
757+ - bitcoin-block
758+ - bitcoin-script
759+ - bitcoin-tx
760+ - bitcoin-types
761+ - hexstring
740 - network-attoparsec
762 - network-attoparsec
741 - network-anonymous-i2p
763 - network-anonymous-i2p
742
764
@@ -762,6 +784,7 @@ packages:
762 "Adam C. Foltzer acfoltzer@galois.com @acfoltzer":
784 "Adam C. Foltzer acfoltzer@galois.com @acfoltzer":
763 - cryptol
785 - cryptol
764 - gitrev
786 - gitrev
787+ - persistent-refs
765
788
766 "Luke Taylor tekul.hs@gmail.com @tekul":
789 "Luke Taylor tekul.hs@gmail.com @tekul":
767 - jose-jwt
790 - jose-jwt
@@ -798,6 +821,7 @@ packages:
798 - amazonka-kinesis
821 - amazonka-kinesis
799 - amazonka-kms
822 - amazonka-kms
800 - amazonka-lambda
823 - amazonka-lambda
824+ - amazonka-ml
801 - amazonka-opsworks
825 - amazonka-opsworks
802 - amazonka-rds
826 - amazonka-rds
803 - amazonka-redshift
827 - amazonka-redshift
@@ -813,6 +837,7 @@ packages:
813 - amazonka-sts
837 - amazonka-sts
814 - amazonka-support
838 - amazonka-support
815 - amazonka-swf
839 - amazonka-swf
840+ - amazonka-workspaces
816 - ede
841 - ede
817 - pagerduty
842 - pagerduty
818 - semver
843 - semver
@@ -863,19 +888,42 @@ packages:
863
888
864 "Stefan Saasen <stefan@saasen.me>":
889 "Stefan Saasen <stefan@saasen.me>":
865 - jwt
890 - jwt
891+
892+ "Sven Bartscher sven.bartscher@weltraumschlangen.de @kritzefitz":
893+ - setlocale
894+
895+ "Taylor Fausak <taylor@fausak.me> @tfausak":
896+ - flow
897+
898+ "Marios Titas <redneb@gmx.com> @redneb":
899+ - btrfs
900+ - disk-free-space
901+ - hxt-css
902+ - islink
903+ - linux-file-extents
904+ - linux-namespaces
905+
906+ "Will Coster <willcoster@gmail.com> @fimad":
907+ - scalpel
908+
909+ "Smirnov Alexey <chemistmail@gmail.com> @chemist":
910+ - snmp
911+ - agentx
912+
913+ "David Raymond Christiansen <david@davidchristiansen.dk> @david-christiansen":
914+ - annotated-wl-pprint
866
915
867 "Stackage upper bounds":
916 "Stackage upper bounds":
868 # GHC 7.8 uppdate bound
917 # GHC 7.8 uppdate bound
869 - haddock-api < 2.16
918 - haddock-api < 2.16
870 - haddock-library < 1.2
919 - haddock-library < 1.2
871 - hdocs < 0.4.2
920 - hdocs < 0.4.2
921+ - haskell-packages < 0.3
922+ - compdata < 0.10
872
923
873 # Force a specific version that's compatible with transformers 0.3
924 # Force a specific version that's compatible with transformers 0.3
874 - transformers-compat == 0.4.0.3
925 - transformers-compat == 0.4.0.3
875
926
876− # https://github.com/fpco/stackage/issues/467
877− - lens < 4.8
878−
879 # https://github.com/fpco/stackage/issues/476
927 # https://github.com/fpco/stackage/issues/476
880 - vector-space < 0.10
928 - vector-space < 0.10
881
929
@@ -904,8 +952,14 @@ packages:
904 # https://github.com/Happstack/happstack-server/issues/6
952 # https://github.com/Happstack/happstack-server/issues/6
905 - happstack-server < 7.4.3
953 - happstack-server < 7.4.3
906
954
907− # https://github.com/mgajda/json-autotype/issues/5
955+ # https://github.com/fpco/stackage/issues/531
908− - json-autotype < 0.4
956+ - sbv < 4.3
957+
958+ # https://github.com/fpco/stackage/issues/537
959+ - zlib < 0.6
960+
961+ # https://github.com/fpco/stackage/issues/549
962+ - tttool < 1.4
909
963
910# Package flags are applied to individual packages, and override the values of
964# Package flags are applied to individual packages, and override the values of
911# global-flags
965# global-flags
@@ -976,6 +1030,13 @@ package-flags:
976 cabal-debian:
1030 cabal-debian:
977 pretty-112: false
1031 pretty-112: false
978
1032
1033+ hledger:
1034+ old-locale: true
1035+ hledger-lib:
1036+ old-locale: true
1037+ hledger-web:
1038+ old-locale: true
1039+
979# By skipping a test suite, we do not pull in the build dependencies
1040# By skipping a test suite, we do not pull in the build dependencies
980skipped-tests:
1041skipped-tests:
981 - ReadArgs # old version of hspec
1042 - ReadArgs # old version of hspec
@@ -1211,6 +1272,8 @@ expected-test-failures:
1211
1272
1212 # Requires running server
1273 # Requires running server
1213 - consul-haskell
1274 - consul-haskell
1275+ - hedis
1276+ - redis-io
1214
1277
1215# Haddocks which are expected to fail. Same concept as expected test failures.
1278# Haddocks which are expected to fail. Same concept as expected test failures.
1216expected-haddock-failures:
1279expected-haddock-failures:
@@ -1227,6 +1290,9 @@ expected-haddock-failures:
1227 # builds. Could consider special-casing this requirement.
1290 # builds. Could consider special-casing this requirement.
1228 - gtk
1291 - gtk
1229
1292
1293+ # Not sure why, but it's a temporary package anyway
1294+ - Cabal-ide-backend
1295+
1230# Benchmarks which should not be built. Note that Stackage does *not* generally
1296# Benchmarks which should not be built. Note that Stackage does *not* generally
1231# build benchmarks. The difference here will be whether dependencies for these
1297# build benchmarks. The difference here will be whether dependencies for these
1232# benchmarks are included or not.
1298# benchmarks are included or not.
debian-bootstrap.sh+1−3
@@ -10,9 +10,8 @@
10# instructions, see:
10# instructions, see:
11# http://www.stackage.org/install
11# http://www.stackage.org/install
12
12
13−add-apt-repository -y ppa:chris-lea/zeromq
14−add-apt-repository -y ppa:floe/libtisch
15add-apt-repository -y ppa:zoogie/sdl2-snapshots
13add-apt-repository -y ppa:zoogie/sdl2-snapshots
14+
16apt-get update
15apt-get update
17apt-get install -y \
16apt-get install -y \
18 build-essential \
17 build-essential \
@@ -21,7 +20,6 @@ apt-get install -y \
21 wget \
20 wget \
22 m4 \
21 m4 \
23 texlive-full \
22 texlive-full \
24− libgmp3c2 \
25 libgmp3-dev \
23 libgmp3-dev \
26 zlib1g-dev \
24 zlib1g-dev \
27 libedit2 \
25 libedit2 \
stackage/ChangeLog.mdnew file+5
@@ -0,0 +1,5 @@
1+## 0.7.0.0
2+
3+* First release of this incarnation of the stackage package. Previously, this
4+ package provided completely different functionality. That functionality has
5+ since moved to stackage-curator.
stackage/LICENSEnew file+20
@@ -0,0 +1,20 @@
1+Copyright (c) 2015 FP Complete
2+
3+Permission is hereby granted, free of charge, to any person obtaining
4+a copy of this software and associated documentation files (the
5+"Software"), to deal in the Software without restriction, including
6+without limitation the rights to use, copy, modify, merge, publish,
7+distribute, sublicense, and/or sell copies of the Software, and to
8+permit persons to whom the Software is furnished to do so, subject to
9+the following conditions:
10+
11+The above copyright notice and this permission notice shall be included
12+in all copies or substantial portions of the Software.
13+
14+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
17+IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
18+CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
19+TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
20+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
stackage/README.mdnew file+2
@@ -0,0 +1,2 @@
1+This is a dummy wrapper package, forcing installation of other packages which
2+provide real functionality.
stackage/Setup.hsnew file+2
@@ -0,0 +1,2 @@
1+import Distribution.Simple
2+main = defaultMain
stackage/Stackage/Dummy.hsnew file+3
@@ -0,0 +1,3 @@
1+-- | This module does absolutely nothing. It's present so that cabal can more
2+-- easily track whether the stackage package is installed.
3+module Stackage.Dummy () where
stackage/stackage.cabalnew file+25
@@ -0,0 +1,25 @@
1+name: stackage
2+version: 0.7.1.0
3+synopsis: Dummy package forcing installation of other Stackage packages
4+homepage: https://www.stackage.org/
5+license: MIT
6+license-file: LICENSE
7+author: Michael Snoyman
8+maintainer: michael@snoyman.com
9+category: Development
10+build-type: Simple
11+extra-source-files: README.md ChangeLog.md
12+cabal-version: >=1.10
13+
14+library
15+ exposed-modules: Stackage.Dummy
16+ build-depends: base < 10
17+ , stackage-cli
18+ , stackage-update
19+ , stackage-upload
20+ , stackage-install
21+ default-language: Haskell2010
22+
23+source-repository head
24+ type: git
25+ location: git://github.com/fpco/stackage.git