|
| 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 | + |
0 commit comments