Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- FROM ubuntu:groovy
- ENV DEBIAN_FRONTEND=noninteractive
- RUN apt-get update
- RUN apt-get -y dist-upgrade
- RUN apt-get -y install gnupg
- RUN echo "deb http://ppa.launchpad.net/fluidity-core/ppa/ubuntu groovy main" > /etc/apt/sources.list.d/fluidity-core-ppa-groovy.list
- # Import the Launchpad PPA public key
- RUN gpg --keyserver keyserver.ubuntu.com --recv 0D45605A33BAC3BE
- RUN gpg --export --armor 33BAC3BE | apt-key add -
- RUN apt-get update
- # Install Fluidity development environment
- RUN echo "Europe/London" > /etc/timezone
- RUN apt-get -y install fluidity-dev
- # Install texlive sufficient for 'make manual'
- RUN apt-get -y install texlive-pstricks texlive texlive-latex-extra texlive-science
- ENV LD_LIBRARY_PATH /usr/lib/petscdir/3.13/lib
- ENV LDFLAGS -L/usr/lib/x86_64-linux-gnu/hdf5/openmpi
- ENV CPPFLAGS "-I/usr/include/hdf5/openmpi -I/usr/include"
- ENV OMPI_MCA_btl_vader_single_copy_mechanism none
- # Add a Fluidity user who will be the default user for this container
- # Make sure the user has a userid matching the host system
- # -- pass this as an argument at build time
- ARG userid=1000
- RUN adduser --disabled-password --gecos "" -u $userid fluidity
- USER fluidity
- WORKDIR /home/fluidity
- USER root
- RUN apt-get -y install devscripts dpkg-dev
- RUN apt-get -y install wget
- RUN apt-get -y install libparmetis-dev
- USER fluidity
- RUN wget https://launchpad.net/~fluidity-core/+archive/ubuntu/ppa/+sourcefiles/zoltan/3.83-1focal1/zoltan_3.83.orig.tar.gz
- RUN wget https://launchpad.net/~fluidity-core/+archive/ubuntu/ppa/+sourcefiles/zoltan/3.83-1focal1/zoltan_3.83-1focal1.dsc
- RUN wget https://launchpad.net/~fluidity-core/+archive/ubuntu/ppa/+sourcefiles/zoltan/3.83-1focal1/zoltan_3.83-1focal1.diff.gz
- RUN dpkg-source -x zoltan_3.83-1focal1.dsc
- RUN mkdir /home/fluidity/zoltan-3.83/Build
- WORKDIR /home/fluidity/zoltan-3.83/Build
- RUN CFLAGS="-g -O2" CXXFLAGS="-g -O2" FCFLAGS="-g -O2" FFLAGS="-g -O2" LDFLAGS="-Wl,-z,defs" ../configure --prefix=/usr --mandir=\$${prefix}/share/man --infodir=\$${prefix}/share/info --enable-mpi --with-mpi-compilers --with-gnumake --enable-zoltan --with-parmetis --enable-zoltan-cppdriver --enable-f90interface --disable-examples --with-scotch --with-scotch-incdir=/usr/include/scotch --with-libs="-lptscotch -lmetis -lparmetis"
- RUN make || true
- WORKDIR /home/fluidity
- RUN git clone https://github.com/fluidityproject/fluidity.git
- WORKDIR /home/fluidity/fluidity
- ENV PETSC_DIR /usr/lib/petscdir/3.13
- RUN ./configure --enable-2d-adaptivity --enable-sam
- RUN make || true
- WORKDIR /home/fluidity
Advertisement
Add Comment
Please, Sign In to add comment