Skip to content

Commit aa4572e

Browse files
committed
Start to build manylinux based docker images
1 parent 590847d commit aa4572e

File tree

2 files changed

+133
-0
lines changed

2 files changed

+133
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,106 @@
1+
FROM aymara/tensorflow_for_lima_1_9-manylinux_2_24
2+
3+
ENV DEBIAN_FRONTEND=noninteractive
4+
5+
ARG BRANCH=master
6+
ARG USE_TENSORFLOW="true"
7+
ARG GITHUB_TOKEN
8+
ARG LIMA_DISABLE_FSW_TESTING
9+
ARG LIMA_DISABLE_CPACK_DEBIAN_PACKAGE_SHLIBDEPS
10+
ARG NLTK_PTB_DP_FILE
11+
12+
# Setup
13+
RUN apt --fix-broken install
14+
RUN apt-get update -y -qq && apt-get install -y gawk ninja-build
15+
16+
RUN wget -q https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.9.5.tar.xz
17+
RUN tar xf git-2.9.5.tar.xz
18+
WORKDIR /git-2.9.5
19+
RUN ./configure --prefix=/usr && make -j && make install
20+
21+
WORKDIR /git-lfs
22+
RUN wget -q https://github.com/git-lfs/git-lfs/releases/download/v3.0.2/git-lfs-linux-amd64-v3.0.2.tar.gz
23+
RUN tar xf git-lfs-linux-amd64-v3.0.2.tar.gz
24+
RUN bash install.sh
25+
26+
RUN git lfs install --skip-repo
27+
28+
RUN apt-get update -y -qq && apt-get install -y python3-nltk qtbase5-dev-tools libqt5xmlpatterns5-dev libqt5qml5 qtdeclarative5-dev qml-module-qtquick-extras qml-module-qtquick-controls qml-module-qtquick-layouts qml-module-qtquick2 libtre-dev libboost-all-dev gnupg libssl-dev nodejs
29+
# Not available in manylinux: libenchant-2-dev npm
30+
31+
WORKDIR /
32+
# Cloning icu ASAP to avoid
33+
RUN git clone https://github.com/unicode-org/icu.git --depth=1 --branch=release-70-1
34+
WORKDIR /icu/icu4c/source
35+
RUN ./runConfigureICU Linux --prefix=/usr --enable-static && make -j && make test && make install
36+
37+
WORKDIR /
38+
39+
# Install recent cmake
40+
WORKDIR /cmake_build
41+
RUN wget --no-check-certificate https://cmake.org/files/v3.16/cmake-3.16.4-Linux-x86_64.sh -q
42+
RUN sh cmake-3.16.4-Linux-x86_64.sh --prefix=/usr --exclude-subdir --skip-license
43+
RUN cmake --version
44+
WORKDIR /
45+
46+
# RUN npm install -g json
47+
48+
RUN sed -ie "s|DEFAULT_URL = 'http://nltk.googlecode.com/svn/trunk/nltk_data/index.xml'|DEFAULT_URL = 'http://nltk.github.com/nltk_data/'|" /usr/lib/python*/*/nltk/downloader.py
49+
RUN python3 -m nltk.downloader -d nltk_data dependency_treebank
50+
RUN cat nltk_data/corpora/dependency_treebank/wsj_*.dp | grep -v "^$" > nltk_data/corpora/dependency_treebank/nltk-ptb.dp
51+
52+
#RUN wget http://osmot.cs.cornell.edu/svm_light/current/svm_light.tar.gz -q
53+
#WORKDIR /svm_light
54+
#RUN tar xzf ../svm_light.tar.gz
55+
#RUN make
56+
#RUN cp svm_classify svm_learn /usr/bin
57+
#RUN rm -Rf /svm_light
58+
59+
WORKDIR /
60+
COPY continuous_integration/svmtool.sh continuous_integration/svmtool-cpp.sh continuous_integration/qhttpserver.sh /
61+
#RUN /svmtool.sh $GITHUB_TOKEN
62+
#RUN /svmtool-cpp.sh $GITHUB_TOKEN
63+
RUN /qhttpserver.sh $GITHUB_TOKEN
64+
65+
RUN mkdir -p /src/
66+
RUN git clone -v --branch=$BRANCH --recurse-submodules https://${GITHUB_TOKEN}@github.com/aymara/lima /src/lima
67+
WORKDIR /src/lima
68+
ARG CACHEBUST=1
69+
RUN git pull
70+
RUN echo "$(git show -s --format=%cI HEAD | sed -e 's/[^0-9]//g')-$(git rev-parse --short HEAD)" > release
71+
72+
RUN mkdir -p /src/lima/build
73+
WORKDIR /src/lima/build
74+
75+
#ENV PERL5LIB /SVMTool-1.3.1/lib:$PERL5LIB
76+
#ENV PATH /SVMTool-1.3.1/bin:/usr/share/apps/lima/scripts:/usr/bin:$PATH
77+
ENV NLTK_PTB_DP_FILE /nltk_data/corpora/dependency_treebank/nltk-ptb.dp
78+
ENV LIMA_DISABLE_FSW_TESTING true
79+
ENV LIMA_DISABLE_CPACK_DEBIAN_PACKAGE_SHLIBDEPS true
80+
ENV LIMA_DIST /usr
81+
ENV LIMA_CONF /usr/share/config/lima
82+
ENV LIMA_RESOURCES /usr/share/apps/lima/resources
83+
84+
# Build
85+
#
86+
RUN cmake -G Ninja -DLIMA_RESOURCES:STRING=build -DCMAKE_INSTALL_PREFIX:PATH=/usr -DCMAKE_BUILD_TYPE:STRING=Release -DLIMA_VERSION_RELEASE:STRING="$(cat /src/lima/release)" -DSHORTEN_POR_CORPUS_FOR_SVMLEARN:BOOL=ON -DTF_SOURCES_PATH:PATH="/usr/include/tensorflow-for-lima/" -DWITH_DEBUG_MESSAGES=ON -DWITH_ARCH=OFF -DWITH_ASAN=OFF -DWITH_GUI=ON ..
87+
RUN ninja && ninja install && ninja package
88+
RUN install -D -t /usr/share/apps/lima/packages /src/lima/build/*.deb
89+
90+
WORKDIR /usr/share/apps/lima/tests
91+
RUN /bin/bash -c "set -o pipefail && tva --language=eng test-eng.*.xml 2>&1 | tee tva-eng.log"
92+
RUN /bin/bash -c "set -o pipefail && tva --language=fre test-fre.default.xml test-fre.disambiguated.xml test-fre.hyphen.xml test-fre.idiom.xml test-fre.sa.xml test-fre.se.xml test-fre.simpleword.xml test-fre.tokenizer.xml 2>&1 | tee tva-fre.log"
93+
WORKDIR /usr/share/apps/lima/tests/xmlreader
94+
RUN /bin/bash -c "set -o pipefail && tvx --language=eng --language=fre test-fre.xmlreader.xml 2>&1 | tee tvx-fre.log"
95+
96+
# install github-release to be able to deploy packages
97+
RUN wget https://github.com/aktau/github-release/releases/download/v0.7.2/linux-amd64-github-release.tar.bz2 -q && tar xjf linux-amd64-github-release.tar.bz2 && cp bin/linux/amd64/github-release /usr/bin
98+
99+
# install python packages necessary to use the language resources install script
100+
RUN apt-get install -y python3-pip -qq
101+
RUN /bin/bash -c "if [ \"$USE_TENSORFLOW\" = true ] ; then pip3 install unix_ar requests tqdm ; fi"
102+
103+
# install English and French UD models
104+
RUN /bin/bash -c "if [ \"$USE_TENSORFLOW\" = true ] ; then lima_models.py -l english ; fi"
105+
RUN /bin/bash -c "if [ \"$USE_TENSORFLOW\" = true ] ; then lima_models.py -l french ; fi"
106+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
FROM quay.io/pypa/manylinux_2_24_x86_64
2+
3+
ENV DEBIAN_FRONTEND=noninteractive
4+
5+
RUN apt-get clean && apt-get update && apt-get install -y locales
6+
RUN locale-gen en_US.UTF-8
7+
ENV LANG en_US.UTF-8
8+
ENV LANGUAGE en_US:en
9+
ENV LC_ALL en_US.UTF-8
10+
RUN locale
11+
12+
ARG BRANCH=master
13+
ARG USE_TENSORFLOW="true"
14+
ARG GITHUB_TOKEN
15+
ARG LIMA_DISABLE_FSW_TESTING
16+
ARG LIMA_DISABLE_CPACK_DEBIAN_PACKAGE_SHLIBDEPS
17+
ARG NLTK_PTB_DP_FILE
18+
19+
RUN apt-get update -y -qq && apt-get install -y cmake git build-essential pkg-config automake python wget
20+
RUN wget -q https://launchpad.net/~limapublisher/+archive/ubuntu/ppa/+sourcefiles/tensorflow-for-lima/1.9-ubuntu2~18.10/tensorflow-for-lima_1.9.orig.tar.xz
21+
RUN tar xf tensorflow-for-lima_1.9.orig.tar.xz
22+
WORKDIR /tensorflow-for-lima-1.9
23+
RUN dpkg-buildpackage
24+
RUN dpkg -i /libtensorflow-for-lima-generic_1.9-ubuntu0~18.04_amd64.deb
25+
RUN dpkg --force-all -i /libtensorflow-for-lima-dev_1.9-ubuntu0~18.04_amd64.deb
26+
RUN rm -Rf /tensorflow-for-lima-1.9
27+

0 commit comments

Comments
 (0)