diff --git a/docker/pinocchio/Dockerfile.nolts b/docker/pinocchio/Dockerfile.nolts new file mode 100644 index 0000000000000000000000000000000000000000..0987447254e2a1011385c9327e6697aa4bdc1839 --- /dev/null +++ b/docker/pinocchio/Dockerfile.nolts @@ -0,0 +1,64 @@ +ARG UBUNTU=disco +FROM ubuntu:$UBUNTU + +SHELL ["/bin/bash", "-c"] + +ARG UBUNTU=disco +ARG PYTHON=python3 +ARG HPP_FCL=1.1.3 +ARG EIGENPY=1.6.0 +ARG MAKE_JOBS=1 + +ENV CTEST_PARALLEL_LEVEL=$MAKE_JOBS CTEST_OUTPUT_ON_FAILURE=true PYTHON=$PYTHON + +RUN apt-get update -y \ + && apt-get install -y \ + assimp-utils \ + build-essential \ + cmake \ + curl \ + git \ + libassimp-dev \ + libboost-all-dev \ + libccd-dev \ + libeigen3-dev \ + liboctomap-dev \ + lib${PYTHON}\*-dev \ + libtinyxml-dev \ + liburdfdom-dev \ + ${PYTHON/2/} \ + ${PYTHON/2/}-numpy \ + && rm -rf /var/lib/apt/lists/* + +# hpp-fcl +ADD https://github.com/humanoid-path-planner/hpp-fcl/releases/download/v${HPP_FCL}/hpp-fcl-${HPP_FCL}.tar.gz / +RUN tar xvf /hpp-fcl-${HPP_FCL}.tar.gz \ + && mkdir /hpp-fcl-${HPP_FCL}/build \ + && cd /hpp-fcl-${HPP_FCL}/build \ + && cmake .. \ + && make -j$MAKE_JOBS \ + && make install + +# eigenpy +ADD https://github.com/stack-of-tasks/eigenpy/releases/download/v${EIGENPY}/eigenpy-${EIGENPY}.tar.gz / +RUN tar xvf /eigenpy-${EIGENPY}.tar.gz \ + && mkdir /eigenpy-${EIGENPY}/build \ + && cd /eigenpy-${EIGENPY}/build \ + && cmake -DPYTHON_EXECUTABLE=$(which $PYTHON) .. \ + && make -j$MAKE_JOBS \ + && make install + +# (in)validate docker build cache with the HTTP "Last-Modified" header from github +ARG NAMESPACE=stack-of-tasks +ARG BRANCH=devel +ADD https://github.com/$NAMESPACE/pinocchio/archive/$BRANCH.zip . + +# but this zip doesn't come with .git nor submodules +RUN git clone --recursive --branch $BRANCH https://github.com/$NAMESPACE/pinocchio.git \ + && mkdir pinocchio/build + +WORKDIR /pinocchio/build + +RUN cmake -DPYTHON_EXECUTABLE=$(which $PYTHON) .. \ + && make -j${MAKE_JOBS} \ + || true