Merge pull request #5 from fpco/master

Sync.
This commit is contained in:
Gregory Schwartz 2017-10-10 11:48:21 -04:00 committed by GitHub
commit 579e451623
8 changed files with 888 additions and 707 deletions

View File

@ -11,7 +11,7 @@ addons:
- libgmp-dev - libgmp-dev
env: env:
- GHCVER=8.0.2 - GHCVER=8.2.1
install: install:
# Download and unpack the stack executable # Download and unpack the stack executable

View File

@ -382,6 +382,9 @@ will upgrade their packages to allow for the new GHC release.
We prefer to prune packages causing upper bounds constraints **after** the LTS We prefer to prune packages causing upper bounds constraints **after** the LTS
release to allow the maximum amount of packages to get into the newest LTS. release to allow the maximum amount of packages to get into the newest LTS.
You will almost always need to update the Win32 package version listed in the
build-constraints.yaml file.
After the first LTS release, the package pruning process may begin in the After the first LTS release, the package pruning process may begin in the
nightly build in order to move forward with getting the latest versions of nightly build in order to move forward with getting the latest versions of
packages compatible with the new GHC release. packages compatible with the new GHC release.

View File

@ -2,7 +2,11 @@ FROM fpco/pid1:16.04
ENV HOME /home/stackage ENV HOME /home/stackage
ENV LANG en_US.UTF-8 ENV LANG en_US.UTF-8
ENV PATH /opt/ghc/8.0.2/bin:/usr/sbin:/usr/bin:/sbin:/bin
# NOTE: also update debian-bootstrap.sh when cuda version changes
ENV PATH /usr/local/cuda-8.0/bin:/opt/ghc/8.2.1/bin:/usr/sbin:/usr/bin:/sbin:/bin
ENV CUDA_PATH /usr/local/cuda-8.0
ENV LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64:/usr/local/cuda-8.0/nvvm/lib64
ADD debian-bootstrap.sh /tmp/debian-bootstrap.sh ADD debian-bootstrap.sh /tmp/debian-bootstrap.sh
RUN /tmp/debian-bootstrap.sh && rm /tmp/debian-bootstrap.sh RUN /tmp/debian-bootstrap.sh && rm /tmp/debian-bootstrap.sh

View File

@ -16,7 +16,7 @@ To add your package, first fork this repository.
In the [`build-constraints.yaml`](https://github.com/fpco/stackage/blob/master/build-constraints.yaml) file, there's a section called `packages`. In the [`build-constraints.yaml`](https://github.com/fpco/stackage/blob/master/build-constraints.yaml) file, there's a section called `packages`.
To add a set of packages, you would add: To add a set of packages, you would add:
"My Name myemail@example.com @mygithubuser": "My Name <myemail@example.com> @mygithubuser":
- package1 - package1
- package2 - package2
- package3 - package3

View File

@ -37,7 +37,6 @@ project information. In addition, we have the following repositories:
* [stackage-server](https://github.com/fpco/stackage-server) [![Build Status](https://travis-ci.org/fpco/stackage-server.svg?branch=master)](https://travis-ci.org/fpco/stackage-server) * [stackage-server](https://github.com/fpco/stackage-server) [![Build Status](https://travis-ci.org/fpco/stackage-server.svg?branch=master)](https://travis-ci.org/fpco/stackage-server)
* [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) * [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)
* [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)
* [lts-haskell](https://github.com/fpco/lts-haskell) * [lts-haskell](https://github.com/fpco/lts-haskell)
* [stackage-nightly](https://github.com/fpco/stackage-nightly) * [stackage-nightly](https://github.com/fpco/stackage-nightly)

File diff suppressed because it is too large Load Diff

2
check
View File

@ -3,4 +3,4 @@
# Convenience script for checking constraints locally # Convenience script for checking constraints locally
cd `dirname $0` cd `dirname $0`
exec stack exec --resolver ghc-8.0.2 stackage-curator check exec stack exec --resolver ghc-8.2.1 stackage-curator check

View File

@ -25,22 +25,21 @@ add-apt-repository -y --keyserver hkp://keyserver.ubuntu.com:80 'deb http://down
add-apt-repository -y --keyserver hkp://keyserver.ubuntu.com:80 'deb http://download.mono-project.com/repo/debian wheezy-apache24-compat main' add-apt-repository -y --keyserver hkp://keyserver.ubuntu.com:80 'deb http://download.mono-project.com/repo/debian wheezy-apache24-compat main'
add-apt-repository -y --keyserver hkp://keyserver.ubuntu.com:80 'deb http://download.mono-project.com/repo/debian wheezy-libjpeg62-compat main' add-apt-repository -y --keyserver hkp://keyserver.ubuntu.com:80 'deb http://download.mono-project.com/repo/debian wheezy-libjpeg62-compat main'
GHCVER=8.0.2 GHCVER=8.2.1
apt-get update apt-get update
apt-get install -y \ apt-get install -y \
build-essential \ build-essential \
ghc-$GHCVER \
ghc-$GHCVER-dyn \
ghc-$GHCVER-prof \
ghc-$GHCVER-htmldocs \
hscolour \
sudo \
curl \ curl \
freeglut3-dev \ freeglut3-dev \
fsharp \ fsharp \
ghc-$GHCVER \
ghc-$GHCVER-dyn \
ghc-$GHCVER-htmldocs \
ghc-$GHCVER-prof \
git \ git \
gradle \ gradle \
hscolour \
libadns1-dev \ libadns1-dev \
libaio1 \ libaio1 \
libalut-dev \ libalut-dev \
@ -48,8 +47,9 @@ apt-get install -y \
libblas-dev \ libblas-dev \
libbz2-dev \ libbz2-dev \
libcairo2-dev \ libcairo2-dev \
libclang-3.7-dev \ libclang-3.9-dev \
libcurl4-openssl-dev \ libcurl4-openssl-dev \
libcwiid-dev \
libdevil-dev \ libdevil-dev \
libedit-dev \ libedit-dev \
libedit2 \ libedit2 \
@ -70,8 +70,10 @@ apt-get install -y \
libgtk2.0-dev \ libgtk2.0-dev \
libgtksourceview-3.0-dev \ libgtksourceview-3.0-dev \
libhidapi-dev \ libhidapi-dev \
libi2c-dev \
libicu-dev \ libicu-dev \
libimlib2-dev \ libimlib2-dev \
libjack-jackd2-dev \
libjudy-dev \ libjudy-dev \
liblapack-dev \ liblapack-dev \
libleveldb-dev \ libleveldb-dev \
@ -92,10 +94,11 @@ apt-get install -y \
libpango1.0-dev \ libpango1.0-dev \
libpcap0.8-dev \ libpcap0.8-dev \
libpq-dev \ libpq-dev \
libsdl1.2-dev \
libsdl2-dev \ libsdl2-dev \
libsdl2-mixer-dev \
libsdl2-image-dev \
libsdl2-gfx-dev \ libsdl2-gfx-dev \
libsdl2-image-dev \
libsdl2-mixer-dev \
libsdl2-ttf-dev \ libsdl2-ttf-dev \
libsnappy-dev \ libsnappy-dev \
libsndfile1-dev \ libsndfile1-dev \
@ -115,7 +118,7 @@ apt-get install -y \
libyaml-dev \ libyaml-dev \
libzip-dev \ libzip-dev \
libzmq3-dev \ libzmq3-dev \
llvm-3.7 \ llvm-3.9 \
locales \ locales \
m4 \ m4 \
minisat \ minisat \
@ -131,6 +134,7 @@ apt-get install -y \
r-base \ r-base \
r-base-dev \ r-base-dev \
ruby-dev \ ruby-dev \
sudo \
wget \ wget \
xclip \ xclip \
z3 \ z3 \
@ -154,9 +158,9 @@ update-alternatives --install "/usr/bin/ld" "ld" "/usr/bin/ld.bfd" 10
# This version is tracked here: # This version is tracked here:
# https://ghc.haskell.org/trac/ghc/wiki/Commentary/Compiler/Backends/LLVM/Installing # https://ghc.haskell.org/trac/ghc/wiki/Commentary/Compiler/Backends/LLVM/Installing
# #
# GHC 8.0 requires LLVM 3.7 tools (specifically, llc-3.7 and opt-3.7). # GHC 8.2 requires LLVM 3.9 tools (specifically, llc-3.9 and opt-3.9).
update-alternatives --install "/usr/bin/llc" "llc" "/usr/bin/llc-3.7" 50 update-alternatives --install "/usr/bin/llc" "llc" "/usr/bin/llc-3.9" 50
update-alternatives --install "/usr/bin/opt" "opt" "/usr/bin/opt-3.7" 50 update-alternatives --install "/usr/bin/opt" "opt" "/usr/bin/opt-3.9" 50
# install ocilib dependencies then build and install ocilib # install ocilib dependencies then build and install ocilib
cd /tmp \ cd /tmp \
@ -187,9 +191,9 @@ echo "/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/server/" > /etc/ld.so.conf
# llvm-4.0 for llvm-hs (separate since it needs wget) # llvm-4.0 for llvm-hs (separate since it needs wget)
wget -O - http://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add - \ wget -O - http://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add - \
&& add-apt-repository "deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-4.0 main" \ && add-apt-repository "deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-5.0 main" \
&& apt-get update \ && apt-get update \
&& apt-get install -y llvm-4.0 && apt-get install -y llvm-5.0
# Install version 3 of the protobuf compiler. (The `protobuf-compiler` package only # Install version 3 of the protobuf compiler. (The `protobuf-compiler` package only
# supports version 2.) # supports version 2.)
@ -203,57 +207,26 @@ curl https://storage.googleapis.com/tensorflow/libtensorflow/libtensorflow-cpu-l
&& rm libtensorflow.tar.gz \ && rm libtensorflow.tar.gz \
&& ldconfig && ldconfig
## non-free repo for mediabus-fdk-aac # NOTE: also update Dockerfile when cuda version changes
#apt-add-repository multiverse \ # Install CUDA toolkit
# && apt-get update \ # The current version can be found at: https://developer.nvidia.com/cuda-downloads
# && apt-get install -y libfdk-aac-dev CUDA_PKG=8.0.61-1 # update this on new version
CUDA_VER=${CUDA_PKG:0:3}
CUDA_APT=${CUDA_VER/./-}
pushd /tmp \
&& wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/cuda-repo-ubuntu1604_${CUDA_PKG}_amd64.deb \
&& dpkg -i cuda-repo-ubuntu1604_${CUDA_PKG}_amd64.deb \
&& apt-get update -qq \
&& apt-get install -y cuda-drivers cuda-core-${CUDA_APT} cuda-cudart-dev-${CUDA_APT} cuda-cufft-dev-${CUDA_APT} cuda-cublas-dev-${CUDA_APT} cuda-cusparse-dev-${CUDA_APT} cuda-cusolver-dev-${CUDA_APT} \
&& rm cuda-repo-ubuntu1604_${CUDA_PKG}_amd64.deb \
&& export CUDA_PATH=/usr/local/cuda-${CUDA_VER} \
&& export LD_LIBRARY_PATH=${CUDA_PATH}/nvvm/lib64:${LD_LIBRARY_PATH+x} \
&& export LD_LIBRARY_PATH=${CUDA_PATH}/lib64:${LD_LIBRARY_PATH} \
&& export PATH=${CUDA_PATH}/bin:${PATH} \
&& popd
################################################################################ # non-free repo for mediabus-fdk-aac
# Install opencv. apt-add-repository multiverse \
&& apt-get update \
OPENCV_VERSION="3.2.0" && apt-get install -y nvidia-cuda-dev
apt-get install -y \
cmake \
pkg-config \
libjpeg-dev \
libtiff5-dev \
libjasper-dev \
libpng12-dev \
libavcodec-dev \
libavformat-dev \
libswscale-dev \
libxvidcore-dev \
libx264-dev \
libv4l-dev \
liblapacke-dev \
libgtk-3-dev \
libopenblas-dev \
libhdf5-dev \
libtesseract-dev \
libleptonica-dev \
python3-dev \
gfortran
# Make a new directory
rm -rf /tmp/opencv-build
mkdir /tmp/opencv-build
cd /tmp/opencv-build
# Download OpenCV
curl -L https://github.com/opencv/opencv/archive/${OPENCV_VERSION}.tar.gz | tar xz
curl -L https://github.com/opencv/opencv_contrib/archive/${OPENCV_VERSION}.tar.gz | tar xz
cd opencv-${OPENCV_VERSION}
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D OPENCV_EXTRA_MODULES_PATH=/tmp/opencv-build/opencv_contrib-${OPENCV_VERSION}/modules
make -j
make install
################################################################################