mirror of
https://github.com/GothenburgBitFactory/timewarrior.git
synced 2025-07-07 20:06:39 +02:00

This replaces the generation of man pages on project setup by a on-demand generation via asciidoctor. An exception are the man pages for the commands `day`, `month`, and `week` which are simply redirects to the man page `timew-chart.1`. Those are now static files in the Timewarrior repository. A CMake find module to detect asciidoctor was added. If asciidoctor is found, the targets `doc`, `man1`, and `man7` are created. Those targets are also added to the default build target. If asciidoctor is not available, the target `doc` is available, but it only emits a message to install asciidoctor first. Signed-off-by: Thomas Lauf <thomas.lauf@tngtech.com>
48 lines
1.4 KiB
Text
48 lines
1.4 KiB
Text
FROM ubuntu:16.04
|
|
|
|
ENV DEBIAN_FRONTEND noninteractive
|
|
|
|
RUN apt-get update && \
|
|
apt-get install -y build-essential software-properties-common && \
|
|
add-apt-repository -y ppa:ubuntu-toolchain-r/test
|
|
RUN apt-get update && \
|
|
apt-get install -y \
|
|
asciidoctor \
|
|
cmake \
|
|
gcc-snapshot \
|
|
g++-6 \
|
|
git \
|
|
locales \
|
|
man \
|
|
python3 \
|
|
python3-dateutil \
|
|
tzdata
|
|
|
|
# Setup environment
|
|
RUN update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-6 60 \
|
|
--slave /usr/bin/g++ g++ /usr/bin/g++-6 && \
|
|
update-alternatives --config gcc && \
|
|
update-alternatives --install /usr/bin/python python /usr/bin/python3 10
|
|
RUN ln -fs /usr/share/zoneinfo/Europe/Berlin /etc/localtime
|
|
RUN dpkg-reconfigure -f noninteractive tzdata
|
|
|
|
ENV LC_ALL en_US.UTF-8
|
|
ENV LANG en_US.UTF-8
|
|
ENV LANGUAGE en_US.UTF-8
|
|
RUN locale-gen "en_US.UTF-8"
|
|
|
|
# Setup timewarrior
|
|
ADD . /root/code/
|
|
WORKDIR /root/code/
|
|
RUN git clean -dfx
|
|
RUN git submodule init
|
|
RUN git submodule update
|
|
RUN cmake -DCMAKE_BUILD_TYPE=debug .
|
|
RUN make -j2
|
|
RUN make install
|
|
|
|
# Setup tests
|
|
WORKDIR /root/code/test/
|
|
RUN make
|
|
|
|
CMD ["bash", "-c", "./run_all -v ; cat all.log | grep 'not ok' ; ./problems ; FAILED=$? ; echo timew $( timew --version ) ; python --version ; cmake --version ; gcc --version ; exit $FAILED"]
|