summaryrefslogtreecommitdiff
path: root/.circleci/images
diff options
context:
space:
mode:
authormrkkrp <markkarpov92@gmail.com>2018-03-21 22:11:04 +0700
committerBen Gamari <ben@smart-cactus.org>2018-03-26 02:41:23 -0400
commitd152dab909a13504ebe09884a1ff329ddb796398 (patch)
tree33081d2edad88871229bc52c47d8ad802075baea /.circleci/images
parentefd70cfb4b0b9932a880ab417d75eaf95da3d5e6 (diff)
downloadhaskell-d152dab909a13504ebe09884a1ff329ddb796398.tar.gz
Add a job running on Fedora
Diffstat (limited to '.circleci/images')
-rw-r--r--.circleci/images/x86_64-linux-fedora/Dockerfile26
1 files changed, 26 insertions, 0 deletions
diff --git a/.circleci/images/x86_64-linux-fedora/Dockerfile b/.circleci/images/x86_64-linux-fedora/Dockerfile
new file mode 100644
index 0000000000..066e84fd85
--- /dev/null
+++ b/.circleci/images/x86_64-linux-fedora/Dockerfile
@@ -0,0 +1,26 @@
+FROM fedora:27
+
+ENV LANG C.UTF-8
+
+RUN dnf -y install coreutils binutils which git make automake autoconf gcc perl python3 texinfo xz lbzip2 patch openssh-clients sudo curl zlib-devel sqlite ncurses-compat-libs gmp-devel ncurses-devel gcc-c++ findutils
+
+# Install GHC and cabal
+RUN cd /tmp && curl https://downloads.haskell.org/~ghc/8.2.2/ghc-8.2.2-x86_64-deb8-linux.tar.xz | tar -Jx
+RUN cd /tmp/ghc-8.2.2 && ./configure --prefix=/opt/ghc/8.2.2
+RUN cd /tmp/ghc-8.2.2 && make install
+RUN mkdir -p /opt/cabal/bin
+RUN cd /opt/cabal/bin && curl https://www.haskell.org/cabal/release/cabal-install-2.0.0.1/cabal-install-2.0.0.1-x86_64-unknown-linux.tar.gz | tar -zx
+ENV PATH /opt/ghc/8.2.2/bin:/opt/cabal/bin:$PATH
+
+# Create a normal user.
+RUN adduser ghc --comment "GHC builds"
+RUN echo "ghc ALL = NOPASSWD : ALL" > /etc/sudoers.d/ghc
+USER ghc
+WORKDIR /home/ghc/
+
+# Install Alex, Happy, and HsColor with Cabal
+RUN cabal update
+RUN cabal install alex happy hscolour
+ENV PATH /home/ghc/.cabal/bin:$PATH
+
+CMD ["bash"]