mirror of
https://github.com/commercialhaskell/stackage.git
synced 2026-01-12 15:28:29 +01:00
Merge branch 'commercialhaskell:master' into patch-1
This commit is contained in:
commit
4b34abe99f
@ -308,7 +308,7 @@ info above).
|
||||
### Building LTS minor releases
|
||||
Before running the build, please make sure that the Dockerfile in `automated/dockerfiles/lts-X.Y` is up to date, where X is the major version that you're building and Y is the latest minor version of X for which a Dockerfile exists.
|
||||
* If any changes need to be made, (eg, new GHC version), copy `automated/lts-X.Y/Dockerfile` to `automated/lts-X.Z/Dockerfile`, where Z is the minor version you're building, and include the new changes.
|
||||
* If you are building the first release of a new LTS major version, create a new `lts-X.Z/Dockerfile` based on the previous LTS's, and adjust the variables at the top to match the requirements of the snapshot. Ensure that `STACK_VERSION` is the latest release of Stack, and `BOOTSTRAP_COMMIT` is the commit ID of this repo containing the version of the `bootstrap-commit.sh` used to build the snapshot. Also ensure the FROM image's Ubuntu version matches that used in the [root Dockerfile](Dockerfile) used to build this snapshot.
|
||||
* If you are building the first release of a new LTS major version, create a new `lts-X.0/Dockerfile` based on the previous LTS's, and adjust the variables at the top to match the requirements of the snapshot. Ensure that `STACK_VERSION` is the latest release of Stack, and `BOOTSTRAP_COMMIT` is the commit ID of this repo containing the version of the `bootstrap-commit.sh` used to build the snapshot. Also ensure the FROM image's Ubuntu version matches that used in the [root Dockerfile](Dockerfile) used to build this snapshot.
|
||||
|
||||
First run `build.sh` to regenerate updated `ltsXX/work/constraints.yaml` and `ltsXX/work/snapshot-incomplete.yaml` files.
|
||||
|
||||
@ -354,7 +354,7 @@ resolve any issues before the next curator shift the coming monday.
|
||||
|
||||
* You can detect the problem by running `df`. If you see that `/` is out of space, we have a problem.
|
||||
* If you see that `/var/stackage/` is out of space, you can:
|
||||
* run `./etc/diskspace/clean-old-stack-libs.hs [nightly|lts-XX]`
|
||||
* run `./etc/diskspace/remove-old-stack-work-libs.hs [nightly|lts-XX]`
|
||||
* If that is insufficient then remove all the old builds under the previous ghc/Cabal version:
|
||||
* `rm -r /var/stackage/stackage/automated/work/[nightly|lts-XX]/unpack-dir/unpacked/*/.stack-work/dist/x86_64-linux/Cabal-X.Y.0.0/`
|
||||
|
||||
|
||||
@ -64,13 +64,19 @@ BINDIR=$(cd $ROOT/work/bin ; pwd)
|
||||
cd $BINDIR
|
||||
rm -f curator stack *.bz2
|
||||
|
||||
curl -L "https://github.com/commercialhaskell/curator/releases/download/commit-4ae7a59717f163e15c69ddf75d31d0f775de2561/curator.bz2" | bunzip2 > curator
|
||||
curl -L "https://github.com/commercialhaskell/curator/releases/download/commit-45c4eb5cb7f233c06544843bb479616d63380363/curator.bz2" | bunzip2 > curator
|
||||
chmod +x curator
|
||||
echo -n "curator version: "
|
||||
docker run --rm -v $(pwd)/curator:/exe $IMAGE /exe --version
|
||||
|
||||
STACK_VERSION=2.11.1
|
||||
curl -L https://github.com/commercialhaskell/stack/releases/download/v${STACK_VERSION}/stack-${STACK_VERSION}-linux-x86_64-bin > stack
|
||||
if [ $SHORTNAME = "lts" ]
|
||||
then
|
||||
STACK_VERSION=2.11.1
|
||||
curl -L https://github.com/commercialhaskell/stack/releases/download/v${STACK_VERSION}/stack-${STACK_VERSION}-linux-x86_64-bin > stack
|
||||
else
|
||||
STACK_VERSION=2.13.0.1
|
||||
curl -L https://github.com/commercialhaskell/stack/releases/download/rc%2Fv${STACK_VERSION}/stack-${STACK_VERSION}-linux-x86_64-bin > stack
|
||||
fi
|
||||
chmod +x stack
|
||||
echo -n "stack version: "
|
||||
docker run --rm -v $(pwd)/stack:/exe $IMAGE /exe --version
|
||||
|
||||
90
automated/dockerfiles/lts-21.12/Dockerfile
Normal file
90
automated/dockerfiles/lts-21.12/Dockerfile
Normal file
@ -0,0 +1,90 @@
|
||||
FROM ubuntu:22.04
|
||||
|
||||
LABEL maintainer="manny@fpcomplete.com"
|
||||
|
||||
ARG GHC_VERSION=9.4.7
|
||||
ARG LTS_SLUG=lts-21.12
|
||||
ARG PID1_VERSION=0.1.2.0
|
||||
ARG STACK_VERSION=2.11.1
|
||||
ARG CUDA_VERSION=10.0
|
||||
ARG JVM_PATH=/usr/lib/jvm/java-8-openjdk-amd64
|
||||
ARG LLVM_PATH=/usr/lib/llvm-9
|
||||
ARG BOOTSTRAP_COMMIT=56d27e1cfead1a37ff55942a9d2f14c0733459c9
|
||||
|
||||
ARG DEBIAN_FRONTEND=noninteractive
|
||||
ARG VARIANT=build
|
||||
ARG STACK_ROOT=/home/stackage/.stack
|
||||
|
||||
#
|
||||
# Set encoding to UTF-8 and PATH to find GHC and cabal/stack-installed binaries.
|
||||
#
|
||||
|
||||
ENV LANG=C.UTF-8 \
|
||||
LC_ALL=C.UTF-8 \
|
||||
PATH=/root/.local/bin:/usr/local/cuda-$CUDA_VERSION/bin:$STACK_ROOT/programs/x86_64-linux/ghc-$GHC_VERSION/bin:$PATH \
|
||||
CUDA_PATH=/usr/local/cuda-$CUDA_VERSION \
|
||||
CPATH=$JVM_PATH/include:$JVM_PATH/include/linux:$LLVM_PATH/include
|
||||
|
||||
#
|
||||
# Install pre-requisites
|
||||
#
|
||||
|
||||
RUN apt-get update && \
|
||||
apt-get install -y --no-install-recommends \
|
||||
wget netbase ca-certificates g++ gcc libc6-dev libffi-dev libgmp-dev \
|
||||
make xz-utils zlib1g-dev git gnupg libtinfo-dev jq && \
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
|
||||
#
|
||||
# Use Stackage's docker/*.sh scripts to install system libraries and
|
||||
# tools required to build any Stackage package.
|
||||
# Re-installs 'stack' *after* running docker/*.sh since that may have
|
||||
# installed a different version.
|
||||
# In the case of 'small' image, just install Stack and GHC.
|
||||
#
|
||||
|
||||
RUN if [ "$VARIANT" != "small" ]; then \
|
||||
wget -qO- https://raw.githubusercontent.com/commercialhaskell/stackage/$BOOTSTRAP_COMMIT/docker/01-build-server.sh https://raw.githubusercontent.com/commercialhaskell/stackage/$BOOTSTRAP_COMMIT/docker/02-apt-get-install.sh https://raw.githubusercontent.com/commercialhaskell/stackage/$BOOTSTRAP_COMMIT/docker/03-custom-install.sh https://raw.githubusercontent.com/commercialhaskell/stackage/$BOOTSTRAP_COMMIT/docker/04-cleanup.sh | sed "s/^GHCVER=9.0.1$/GHCVER=$GHC_VERSION/" | GHCVER=$GHC_VERSION bash; \
|
||||
fi && \
|
||||
wget -qO- https://github.com/commercialhaskell/stack/releases/download/v$STACK_VERSION/stack-$STACK_VERSION-linux-x86_64.tar.gz | tar xz --wildcards --strip-components=1 -C /usr/bin '*/stack' && \
|
||||
if [ "$VARIANT" = "small" ]; then \
|
||||
stack setup --resolver ghc-$GHC_VERSION; \
|
||||
fi && \
|
||||
rm -rf /var/lib/apt/lists/* && \
|
||||
cd $STACK_ROOT && \
|
||||
find . -type f -not -path "./programs/x86_64-linux/ghc-$GHC_VERSION/*" -exec rm '{}' \; && \
|
||||
find . -type d -print0 |sort -rz |xargs -0 rmdir 2>/dev/null || true
|
||||
|
||||
#
|
||||
# Configure Stack to use the GHC installed in the Docker image rather than installing its own
|
||||
#
|
||||
|
||||
RUN mkdir /etc/stack/ && \
|
||||
echo "system-ghc: true" >/etc/stack/config.yaml
|
||||
|
||||
#
|
||||
# Use 'stack' to install basic Haskell tools like alex, happy, and cpphs. We
|
||||
# remove most of the STACK_ROOT afterward to save space, but keep the 'share'
|
||||
# files that some of these tools require.
|
||||
#
|
||||
|
||||
RUN stack --resolver=$LTS_SLUG --local-bin-path=/usr/bin install \
|
||||
happy alex cpphs gtk2hs-buildtools hscolour hlint hindent && \
|
||||
cd $STACK_ROOT && \
|
||||
find . -type f -not -path './snapshots/*/share/*' -and -not -path "./programs/x86_64-linux/ghc-$GHC_VERSION/*" -exec rm '{}' \; && \
|
||||
find . -type d -print0 |sort -rz |xargs -0 rmdir 2>/dev/null || true
|
||||
|
||||
#
|
||||
# Install 'pid1' init daemon
|
||||
#
|
||||
|
||||
RUN wget -O- "https://github.com/fpco/pid1/releases/download/v$PID1_VERSION/pid1-$PID1_VERSION-linux-x86_64.tar.gz" | tar xzf - -C /usr/local && \
|
||||
chown root:root /usr/local/sbin && \
|
||||
chown root:root /usr/local/sbin/pid1
|
||||
|
||||
#
|
||||
# Set up pid1 entrypoint and default command
|
||||
#
|
||||
|
||||
ENTRYPOINT ["/usr/local/sbin/pid1"]
|
||||
CMD ["bash"]
|
||||
@ -121,6 +121,7 @@ packages:
|
||||
- newtype
|
||||
- resolv
|
||||
- blaze-builder
|
||||
- netrc
|
||||
|
||||
# Some "grandfathered dependencies" I took over because I contributed to them at some time.
|
||||
# Feel free to snatch them from me!
|
||||
@ -352,10 +353,10 @@ packages:
|
||||
"Scott N. Walck <walck@lvc.edu> @walck":
|
||||
- cyclotomic
|
||||
- learn-physics
|
||||
|
||||
# @ghorn
|
||||
- not-gloss
|
||||
- spatial-math
|
||||
- SpatialMath
|
||||
- Vis
|
||||
- LPFP
|
||||
- LPFP-core
|
||||
|
||||
"Phil de Joux <phil.dejoux@blockscope.com> @philderbeast":
|
||||
- siggy-chardust
|
||||
@ -568,6 +569,7 @@ packages:
|
||||
- explicit-exception
|
||||
- fixed-length
|
||||
- fftw-ffi
|
||||
- ghostscript-parallel
|
||||
- gnuplot
|
||||
- group-by-date
|
||||
- guarded-allocation
|
||||
@ -588,6 +590,7 @@ packages:
|
||||
- non-negative
|
||||
- numeric-prelude
|
||||
- numeric-quest
|
||||
- ods2csv
|
||||
- pathtype
|
||||
- pooled-io
|
||||
- probability
|
||||
@ -1326,8 +1329,8 @@ packages:
|
||||
- liquid-fixpoint
|
||||
|
||||
"Daniel Casanueva <daniel.casanueva@proton.me> @Daniel-Diaz":
|
||||
- bimap-server
|
||||
- binary-list
|
||||
- bounded-qsem
|
||||
- byteset
|
||||
- Clipboard
|
||||
- gmail-simple
|
||||
@ -1837,6 +1840,7 @@ packages:
|
||||
- http-query
|
||||
- hwk
|
||||
- koji
|
||||
- koji-tool
|
||||
- pagure
|
||||
- pagure-cli
|
||||
- pdc
|
||||
@ -4510,7 +4514,6 @@ packages:
|
||||
"Domen Kozar <domen@enlambda.com> @domenkozar":
|
||||
- elm2nix < 0 # 0.3.0 compile fail
|
||||
- mixpanel-client < 0 # 0.3.0 aeson 2, https://github.com/commercialhaskell/stackage/issues/6443
|
||||
- netrc
|
||||
- pretty-sop
|
||||
- servant-auth
|
||||
- servant-auth-server
|
||||
@ -4898,6 +4901,7 @@ packages:
|
||||
|
||||
"8c6794b6 <8c6794b6@gmail.com> @8c6794b6":
|
||||
- hpc-codecov
|
||||
- miniterion
|
||||
|
||||
"Hiromi Ishii <konn.jinro@gmail.com> @konn":
|
||||
- equational-reasoning
|
||||
@ -5240,6 +5244,7 @@ packages:
|
||||
- toml-parser
|
||||
|
||||
"Andreas Ländle @alaendle":
|
||||
- co-log
|
||||
- co-log-core
|
||||
- co-log-polysemy
|
||||
|
||||
@ -8277,6 +8282,13 @@ packages:
|
||||
# https://github.com/commercialhaskell/stackage/issues/7106
|
||||
- tls < 1.9
|
||||
|
||||
# https://github.com/commercialhaskell/stackage/issues/7111
|
||||
- tasty < 1.5
|
||||
- tasty-quickcheck < 0.10.3
|
||||
|
||||
# https://github.com/commercialhaskell/stackage/issues/7124
|
||||
- mpi-hs < 0.7.3
|
||||
|
||||
# end of Stackage upper bounds
|
||||
# end of packages
|
||||
|
||||
@ -8970,6 +8982,7 @@ expected-test-failures:
|
||||
- distributed-process
|
||||
- distributed-process-execution # https://github.com/haskell-distributed/distributed-process-execution/issues/2
|
||||
- distributed-process-task
|
||||
- dl-fedora # status 404 on http download
|
||||
- fft # test-fft: exited with: ExitFailure (-11)
|
||||
- foldl-statistics # https://github.com/data61/foldl-statistics/issues/2
|
||||
- friday # https://github.com/RaphaelJ/friday/issues/37
|
||||
@ -9018,7 +9031,6 @@ expected-test-failures:
|
||||
- dbcleaner # Requires running PostgreSQL server
|
||||
- dbmigrations # PostgreSQL
|
||||
- dbus # #6373/closed
|
||||
- dl-fedora # status 404 on http download
|
||||
- dns # https://github.com/commercialhaskell/stackage/issues/6374
|
||||
- drifter-postgresql # PostgreSQL
|
||||
- egison # executable not found https://github.com/egison/egison/issues/250
|
||||
@ -9160,6 +9172,7 @@ expected-test-failures:
|
||||
- character-cases # 0.1.0.6 https://github.com/aiya000/hs-character-cases/issues/3
|
||||
- codec-beam # 0.2.0 posix_spawnp: does not exist
|
||||
- colonnade # 1.2.0.2 https://github.com/andrewthad/colonnade/issues/31
|
||||
- context-wai-middleware # 0.2.0.1 https://github.com/jship/context/issues/3
|
||||
- control-dsl # 0.2.1.3
|
||||
- crypt-sha512 # 0 Use -p '/crypt.$6$rounds=10$roundstoolow/' to rerun this test only.
|
||||
- curl-runnings # 0.17.0
|
||||
@ -9169,6 +9182,7 @@ expected-test-failures:
|
||||
- fixed-vector-hetero # 0.6.1.1
|
||||
- generic-optics # 2.2.1.0 optimization output https://github.com/kcsongor/generic-lens/issues/133
|
||||
- github-types # https://github.com/commercialhaskell/stackage/issues/6549
|
||||
- hakyll # https://github.com/commercialhaskell/stackage/issues/7110
|
||||
- haskoin-node # https://github.com/commercialhaskell/stackage/issues/6769
|
||||
- heist # https://github.com/commercialhaskell/stackage/issues/6765
|
||||
- hgeometry-combinatorial # 0.14
|
||||
|
||||
@ -111,7 +111,7 @@ withOneDirectory_ act = do
|
||||
[l] -> withCurrentDirectory l act
|
||||
_ -> do
|
||||
cwd <- getCurrentDirectory
|
||||
error $ "more than one directory found in " ++ cwd ++ ": " ++ unwords ls
|
||||
error $ show (length ls) ++ " directories found in " ++ cwd ++ ": " ++ unwords ls
|
||||
|
||||
withOneDirectory :: (FilePath -> IO a) -> IO a
|
||||
withOneDirectory act = do
|
||||
@ -120,4 +120,4 @@ withOneDirectory act = do
|
||||
[l] -> withCurrentDirectory l $ act l
|
||||
_ -> do
|
||||
cwd <- getCurrentDirectory
|
||||
error $ "more than one directory found in " ++ cwd ++ ": " ++ unwords ls
|
||||
error $ show (length ls) ++ " directories found in " ++ cwd ++ ": " ++ unwords ls
|
||||
|
||||
Loading…
Reference in New Issue
Block a user