-
Notifications
You must be signed in to change notification settings - Fork 21
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
docker: refactor manylinux Dockerfile #137
base: master
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,38 +1,52 @@ | ||
FROM quay.io/pypa/manylinux2014_x86_64 | ||
|
||
#defaults, can be overwritten from outside | ||
ARG OPENMS_BRANCH="master" | ||
ARG CONTRIB_BUILD_DIR="/contrib-build" | ||
ARG OPENMS_VERSION="latest" | ||
|
||
# make source files from context available in docker | ||
COPY . /contrib | ||
|
||
RUN yum install -y wget | ||
RUN yum install -y xz qt5-qtbase-devel | ||
RUN yum install -y qt5-qtbase-devel qt5-qtsvg qt5-qtsvg-devel python-devel | ||
# RUN yum install -y libsvm-devel glpk-devel libzip-devel zlib-devel xerces-c-devel bzip2-devel sqlite-devel hdf5-devel | ||
RUN yum install -y libtool | ||
RUN yum install -y \ | ||
# build system dependencies | ||
wget \ | ||
xz \ | ||
libtool \ | ||
cmake3 \ | ||
# OpenMS and PyOpenMS build dependencies | ||
libsvm-devel \ | ||
glpk-devel \ | ||
libzip-devel \ | ||
zlib-devel \ | ||
xerces-c-devel \ | ||
bzip2-devel \ | ||
hdf5-devel \ | ||
qt5-qtbase-devel \ | ||
qt5-qtsvg-devel \ | ||
eigen3-devel \ | ||
python-devel | ||
# TODO: do we need sqlite-devel? | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Yes. It is probably a dependency of something |
||
# TODO: can we install boost from yum? | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Yes probably |
||
# TODO: is coin-or-CoinUtils-devel useful? | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Yes but probably a dependency of other CoinOR libs |
||
# TODO: do we need KissFFT? It's not installed in the regular contrib Dockerfile | ||
Comment on lines
+26
to
+29
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @jpfeuffer I think we don't need KissFFT right? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I think not |
||
|
||
RUN yum install -y cmake3 | ||
RUN ln -s /usr/bin/cmake3 /usr/bin/cmake | ||
|
||
# builds contrib for the current checked out branch | ||
# during cleanup: removes archives | ||
RUN mkdir contrib-build | ||
RUN ls -l | ||
WORKDIR /contrib-build | ||
RUN ls -l | ||
RUN cmake -DBUILD_TYPE=ALL ../contrib && rm -rf archives src | ||
|
||
WORKDIR ${CONTRIB_BUILD_DIR} | ||
RUN cmake -DBUILD_TYPE="BOOST;COINOR;KISSFFT;OPENMP" ../contrib && rm -rf archives src | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. this currently doesn't work because our IT is down (again) There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. On Linux you probably don't need contrib. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. that would simplify things a lot There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I was too quick. Should have known that CoinOR is basically available nowhere.. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. yes, IIRC this was one of the blockers of using yum for everything |
||
|
||
WORKDIR / | ||
|
||
# Metadata | ||
LABEL base.image="manylinux2014_x86_64" | ||
LABEL version="1.0" | ||
LABEL version="${OPENMS_VERSION}" | ||
LABEL software="OpenMS (dependencies for manylinux2014)" | ||
LABEL software.version="$OPENMS_VERSION" | ||
LABEL description="C++ libraries and tools for MS/MS data analysis" | ||
LABEL website="http://www.openms.org/" | ||
LABEL documentation="http://www.openms.org/" | ||
LABEL license="http://www.openms.org/" | ||
LABEL software.version="$OPENMS_VERSION-manylinux2014" | ||
LABEL description="Base image to build OpenMS: C++ libraries and tools for MS/MS data analysis" | ||
LABEL website="https://www.openms.org/" | ||
LABEL documentation="https://www.openms.org/" | ||
LABEL license="https://www.openms.org/" | ||
LABEL tags="Proteomics" | ||
|
||
# to link to repo on github container registry | ||
LABEL org.opencontainers.image.source https://github.com/OpenMS/contrib |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Avoid, if it works with coinor