mirror of
https://github.com/commercialhaskell/stackage.git
synced 2026-01-11 23:08:30 +01:00
Merge branch 'master' of github.com:fpco/stackage
This commit is contained in:
commit
550de5589b
@ -1,4 +1,4 @@
|
||||
FROM ubuntu:12.04
|
||||
FROM ubuntu:14.04
|
||||
|
||||
ENV HOME /home/stackage
|
||||
ENV LANG en_US.UTF-8
|
||||
@ -7,17 +7,17 @@ RUN mkdir /home/stackage -p
|
||||
RUN locale-gen en_US.UTF-8
|
||||
|
||||
RUN DEBIAN_FRONTEND=noninteractive apt-get update
|
||||
RUN DEBIAN_FRONTEND=noninteractive apt-get install -y software-properties-common python-software-properties
|
||||
RUN DEBIAN_FRONTEND=noninteractive apt-get install -y software-properties-common python-software-properties git
|
||||
RUN DEBIAN_FRONTEND=noninteractive add-apt-repository ppa:hvr/ghc -y
|
||||
|
||||
ADD debian-bootstrap.sh /tmp/debian-bootstrap.sh
|
||||
RUN DEBIAN_FRONTEND=noninteractive bash /tmp/debian-bootstrap.sh
|
||||
RUN rm /tmp/debian-bootstrap.sh
|
||||
|
||||
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
|
||||
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
|
||||
|
||||
ENV 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
|
||||
|
||||
RUN cabal update
|
||||
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
|
||||
RUN cabal install hscolour cabal-install && cp $HOME/.cabal/bin/* /usr/local/bin && rm -rf $HOME/.cabal $HOME/.ghc /tmp/stackage
|
||||
RUN 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
|
||||
|
||||
@ -17,6 +17,11 @@ project information. In addition, we have the following repositories:
|
||||
* [stackage-curator](https://github.com/fpco/stackage-curator) [](https://travis-ci.org/fpco/stackage-curator)
|
||||
* [stackage-types](https://github.com/fpco/stackage-types) [](https://travis-ci.org/fpco/stackage-types)
|
||||
* [lts-haskell](https://github.com/fpco/lts-haskell)
|
||||
* [stackage-nightly](https://github.com/fpco/stackage-nightly)
|
||||
* [stackage-cli](https://github.com/fpco/stackage-cli) [](https://travis-ci.org/fpco/stackage-cli)
|
||||
* [stackage-update](https://github.com/fpco/stackage-update) [](https://travis-ci.org/fpco/stackage-update)
|
||||
* [stackage-upload](https://github.com/fpco/stackage-upload) [](https://travis-ci.org/fpco/stackage-upload)
|
||||
* [stackage-install](https://github.com/fpco/stackage-install) [](https://travis-ci.org/fpco/stackage-install)
|
||||
|
||||
Get your package included
|
||||
-------------------------
|
||||
|
||||
10
automated/.gitignore
vendored
Normal file
10
automated/.gitignore
vendored
Normal file
@ -0,0 +1,10 @@
|
||||
/auth-token
|
||||
/bin/
|
||||
/gitconfig
|
||||
/hackage-creds
|
||||
/ssh-nightly/
|
||||
/ssh-lts/
|
||||
/nighlty/
|
||||
/lts-*/
|
||||
/stackage-curator/
|
||||
/stackage-update/
|
||||
73
automated/build.sh
Executable file
73
automated/build.sh
Executable file
@ -0,0 +1,73 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -eux
|
||||
|
||||
ROOT=$(cd $(dirname $0) ; pwd)
|
||||
TARGET=$1
|
||||
TROOT=$ROOT/$(echo $TARGET | cut -d. -f 1)
|
||||
PLAN_FILE=current-plan.yaml
|
||||
BUNDLE_FILE=current.bundle
|
||||
|
||||
CABAL_DIR=$ROOT/cabal
|
||||
GHC_DIR=$ROOT/ghc
|
||||
CURATOR_DIR=$ROOT/stackage-curator
|
||||
UPDATE_DIR=$ROOT/stackage-update
|
||||
WORKDIR=$TROOT/work
|
||||
SSH_DIR=$ROOT/ssh-$(echo $TARGET | cut -d- -f 1)
|
||||
|
||||
mkdir -p \
|
||||
"$CABAL_DIR" \
|
||||
"$GHC_DIR" \
|
||||
"$CURATOR_DIR" \
|
||||
"$UPDATE_DIR" \
|
||||
"$WORKDIR" \
|
||||
"$SSH_DIR"
|
||||
|
||||
GITCONFIG=$ROOT/gitconfig
|
||||
cat >$GITCONFIG <<EOF
|
||||
[user]
|
||||
email = michael+stackage-build@fpcomplete.com
|
||||
name = Stackage Build host
|
||||
EOF
|
||||
|
||||
cat >$SSH_DIR/known_hosts <<EOF
|
||||
|1|Qn0iij8BnxGZXbyFSozS9zWkH+Q=|YrKKNp2KHO3/oc4UBFIe1zOvhDc= ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ==
|
||||
|1|RxBEt2ljiEppr019szMIhbY12m0=|0FZ2Oji1LphRbPLLEQhFzTmL69I= ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ==
|
||||
EOF
|
||||
|
||||
AUTH_TOKEN=$ROOT/auth-token
|
||||
HACKAGE_CREDS=$ROOT/hackage-creds
|
||||
|
||||
function require_400_file {
|
||||
if [ ! -f "$1" ]
|
||||
then
|
||||
echo File not found: "$1"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
chmod 400 "$1"
|
||||
}
|
||||
|
||||
require_400_file "$SSH_DIR/id_rsa"
|
||||
require_400_file "$AUTH_TOKEN"
|
||||
require_400_file "$HACKAGE_CREDS"
|
||||
|
||||
mkdir -p $ROOT/bin
|
||||
BINDIR=$(cd $ROOT/bin ; pwd)
|
||||
(
|
||||
cd $BINDIR
|
||||
rm -f stackage-curator stackage-curator.bz2
|
||||
wget https://s3.amazonaws.com/stackage-travis/stackage-curator/stackage-curator.bz2
|
||||
bunzip2 stackage-curator.bz2
|
||||
chmod +x stackage-curator
|
||||
)
|
||||
|
||||
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"
|
||||
ARGS_PREBUILD="$ARGS_COMMON -v $CABAL_DIR:/home/stackage/.cabal -v $GHC_DIR:/home/stackage/.ghc -v $UPDATE_DIR:/home/stackage/.stackage-update"
|
||||
ARGS_BUILD="$ARGS_COMMON -v $CABAL_DIR:/home/stackage/.cabal:ro -v $GHC_DIR:/home/stackage/.ghc:ro"
|
||||
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"
|
||||
|
||||
# Use cabal update first to initialize ~/.cabal.config, then use stackage-curator update to get it securely
|
||||
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"
|
||||
docker run $ARGS_BUILD snoyberg/stackage stackage-curator make-bundle --plan-file $PLAN_FILE --bundle-file $BUNDLE_FILE --target $TARGET
|
||||
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"
|
||||
@ -60,7 +60,9 @@ packages:
|
||||
- cairo
|
||||
- cassava
|
||||
- Chart
|
||||
- Chart-diagrams
|
||||
|
||||
# https://github.com/fpco/stackage/issues/541
|
||||
# - Chart-diagrams
|
||||
- compdata
|
||||
- configurator
|
||||
- convertible
|
||||
@ -95,6 +97,10 @@ packages:
|
||||
- stackage
|
||||
- stackage-curator
|
||||
- stackage-types
|
||||
- stackage-update
|
||||
- stackage-upload
|
||||
- stackage-cli
|
||||
- stackage-install
|
||||
- statistics-linreg
|
||||
- th-expand-syns
|
||||
- thyme
|
||||
@ -373,6 +379,7 @@ packages:
|
||||
- accelerate
|
||||
|
||||
"Dan Burton <danburton.email@gmail.com>":
|
||||
- yesod-gitrev
|
||||
- basic-prelude
|
||||
- composition
|
||||
- io-memoize
|
||||
@ -568,6 +575,15 @@ packages:
|
||||
- yesod-auth-hashdb
|
||||
|
||||
"Toralf Wittner <tw@dtex.org>":
|
||||
- bytestring-conversion
|
||||
- cql
|
||||
- cql-io
|
||||
- redis-resp
|
||||
- redis-io
|
||||
- swagger
|
||||
- tinylog
|
||||
- wai-predicates
|
||||
- wai-routing
|
||||
- zeromq4-haskell
|
||||
|
||||
"trupill@gmail.com":
|
||||
@ -737,6 +753,12 @@ packages:
|
||||
- sdl2
|
||||
|
||||
"Leon Mergen leon@solatis.com @solatis":
|
||||
- base58string
|
||||
- bitcoin-block
|
||||
- bitcoin-script
|
||||
- bitcoin-tx
|
||||
- bitcoin-types
|
||||
- hexstring
|
||||
- network-attoparsec
|
||||
- network-anonymous-i2p
|
||||
|
||||
@ -762,6 +784,7 @@ packages:
|
||||
"Adam C. Foltzer acfoltzer@galois.com @acfoltzer":
|
||||
- cryptol
|
||||
- gitrev
|
||||
- persistent-refs
|
||||
|
||||
"Luke Taylor tekul.hs@gmail.com @tekul":
|
||||
- jose-jwt
|
||||
@ -798,6 +821,7 @@ packages:
|
||||
- amazonka-kinesis
|
||||
- amazonka-kms
|
||||
- amazonka-lambda
|
||||
- amazonka-ml
|
||||
- amazonka-opsworks
|
||||
- amazonka-rds
|
||||
- amazonka-redshift
|
||||
@ -813,6 +837,7 @@ packages:
|
||||
- amazonka-sts
|
||||
- amazonka-support
|
||||
- amazonka-swf
|
||||
- amazonka-workspaces
|
||||
- ede
|
||||
- pagerduty
|
||||
- semver
|
||||
@ -863,19 +888,42 @@ packages:
|
||||
|
||||
"Stefan Saasen <stefan@saasen.me>":
|
||||
- jwt
|
||||
|
||||
"Sven Bartscher sven.bartscher@weltraumschlangen.de @kritzefitz":
|
||||
- setlocale
|
||||
|
||||
"Taylor Fausak <taylor@fausak.me> @tfausak":
|
||||
- flow
|
||||
|
||||
"Marios Titas <redneb@gmx.com> @redneb":
|
||||
- btrfs
|
||||
- disk-free-space
|
||||
- hxt-css
|
||||
- islink
|
||||
- linux-file-extents
|
||||
- linux-namespaces
|
||||
|
||||
"Will Coster <willcoster@gmail.com> @fimad":
|
||||
- scalpel
|
||||
|
||||
"Smirnov Alexey <chemistmail@gmail.com> @chemist":
|
||||
- snmp
|
||||
- agentx
|
||||
|
||||
"David Raymond Christiansen <david@davidchristiansen.dk> @david-christiansen":
|
||||
- annotated-wl-pprint
|
||||
|
||||
"Stackage upper bounds":
|
||||
# GHC 7.8 uppdate bound
|
||||
- haddock-api < 2.16
|
||||
- haddock-library < 1.2
|
||||
- hdocs < 0.4.2
|
||||
- haskell-packages < 0.3
|
||||
- compdata < 0.10
|
||||
|
||||
# Force a specific version that's compatible with transformers 0.3
|
||||
- transformers-compat == 0.4.0.3
|
||||
|
||||
# https://github.com/fpco/stackage/issues/467
|
||||
- lens < 4.8
|
||||
|
||||
# https://github.com/fpco/stackage/issues/476
|
||||
- vector-space < 0.10
|
||||
|
||||
@ -904,8 +952,14 @@ packages:
|
||||
# https://github.com/Happstack/happstack-server/issues/6
|
||||
- happstack-server < 7.4.3
|
||||
|
||||
# https://github.com/mgajda/json-autotype/issues/5
|
||||
- json-autotype < 0.4
|
||||
# https://github.com/fpco/stackage/issues/531
|
||||
- sbv < 4.3
|
||||
|
||||
# https://github.com/fpco/stackage/issues/537
|
||||
- zlib < 0.6
|
||||
|
||||
# https://github.com/fpco/stackage/issues/549
|
||||
- tttool < 1.4
|
||||
|
||||
# Package flags are applied to individual packages, and override the values of
|
||||
# global-flags
|
||||
@ -976,6 +1030,13 @@ package-flags:
|
||||
cabal-debian:
|
||||
pretty-112: false
|
||||
|
||||
hledger:
|
||||
old-locale: true
|
||||
hledger-lib:
|
||||
old-locale: true
|
||||
hledger-web:
|
||||
old-locale: true
|
||||
|
||||
# By skipping a test suite, we do not pull in the build dependencies
|
||||
skipped-tests:
|
||||
- ReadArgs # old version of hspec
|
||||
@ -1211,6 +1272,8 @@ expected-test-failures:
|
||||
|
||||
# Requires running server
|
||||
- consul-haskell
|
||||
- hedis
|
||||
- redis-io
|
||||
|
||||
# Haddocks which are expected to fail. Same concept as expected test failures.
|
||||
expected-haddock-failures:
|
||||
@ -1227,6 +1290,9 @@ expected-haddock-failures:
|
||||
# builds. Could consider special-casing this requirement.
|
||||
- gtk
|
||||
|
||||
# Not sure why, but it's a temporary package anyway
|
||||
- Cabal-ide-backend
|
||||
|
||||
# Benchmarks which should not be built. Note that Stackage does *not* generally
|
||||
# build benchmarks. The difference here will be whether dependencies for these
|
||||
# benchmarks are included or not.
|
||||
|
||||
@ -10,9 +10,8 @@
|
||||
# instructions, see:
|
||||
# http://www.stackage.org/install
|
||||
|
||||
add-apt-repository -y ppa:chris-lea/zeromq
|
||||
add-apt-repository -y ppa:floe/libtisch
|
||||
add-apt-repository -y ppa:zoogie/sdl2-snapshots
|
||||
|
||||
apt-get update
|
||||
apt-get install -y \
|
||||
build-essential \
|
||||
@ -21,7 +20,6 @@ apt-get install -y \
|
||||
wget \
|
||||
m4 \
|
||||
texlive-full \
|
||||
libgmp3c2 \
|
||||
libgmp3-dev \
|
||||
zlib1g-dev \
|
||||
libedit2 \
|
||||
|
||||
5
stackage/ChangeLog.md
Normal file
5
stackage/ChangeLog.md
Normal file
@ -0,0 +1,5 @@
|
||||
## 0.7.0.0
|
||||
|
||||
* First release of this incarnation of the stackage package. Previously, this
|
||||
package provided completely different functionality. That functionality has
|
||||
since moved to stackage-curator.
|
||||
20
stackage/LICENSE
Normal file
20
stackage/LICENSE
Normal file
@ -0,0 +1,20 @@
|
||||
Copyright (c) 2015 FP Complete
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of this software and associated documentation files (the
|
||||
"Software"), to deal in the Software without restriction, including
|
||||
without limitation the rights to use, copy, modify, merge, publish,
|
||||
distribute, sublicense, and/or sell copies of the Software, and to
|
||||
permit persons to whom the Software is furnished to do so, subject to
|
||||
the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included
|
||||
in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
2
stackage/README.md
Normal file
2
stackage/README.md
Normal file
@ -0,0 +1,2 @@
|
||||
This is a dummy wrapper package, forcing installation of other packages which
|
||||
provide real functionality.
|
||||
2
stackage/Setup.hs
Normal file
2
stackage/Setup.hs
Normal file
@ -0,0 +1,2 @@
|
||||
import Distribution.Simple
|
||||
main = defaultMain
|
||||
3
stackage/Stackage/Dummy.hs
Normal file
3
stackage/Stackage/Dummy.hs
Normal file
@ -0,0 +1,3 @@
|
||||
-- | This module does absolutely nothing. It's present so that cabal can more
|
||||
-- easily track whether the stackage package is installed.
|
||||
module Stackage.Dummy () where
|
||||
25
stackage/stackage.cabal
Normal file
25
stackage/stackage.cabal
Normal file
@ -0,0 +1,25 @@
|
||||
name: stackage
|
||||
version: 0.7.1.0
|
||||
synopsis: Dummy package forcing installation of other Stackage packages
|
||||
homepage: https://www.stackage.org/
|
||||
license: MIT
|
||||
license-file: LICENSE
|
||||
author: Michael Snoyman
|
||||
maintainer: michael@snoyman.com
|
||||
category: Development
|
||||
build-type: Simple
|
||||
extra-source-files: README.md ChangeLog.md
|
||||
cabal-version: >=1.10
|
||||
|
||||
library
|
||||
exposed-modules: Stackage.Dummy
|
||||
build-depends: base < 10
|
||||
, stackage-cli
|
||||
, stackage-update
|
||||
, stackage-upload
|
||||
, stackage-install
|
||||
default-language: Haskell2010
|
||||
|
||||
source-repository head
|
||||
type: git
|
||||
location: git://github.com/fpco/stackage.git
|
||||
Loading…
Reference in New Issue
Block a user