@@ -19,15 +19,15 @@ RUN yum --enablerepo=extras install epel-release -y
1919RUN yum update -y
2020
2121# Install packages
22- RUN yum install tk-devel lapack-devel cmake tcl tcl-devel expect tkinter openssh-server gcc gcc-c++ wget xz make vim openssl-devel openssh-clients rpm-build ruby-devel libpng libpng-devel sqlite-devel qt5-qtbase qt5-qtbase- devel -y
22+ RUN yum install libxkbcommon tk-devel lapack-devel cmake tcl tcl-devel expect tkinter openssh-server gcc gcc-c++ wget xz make vim openssl-devel openssh-clients rpm-build ruby-devel libpng libpng-devel sqlite-devel freeglut-devel libxcb libxcb-devel xcb-util xcb-util- devel git -y
2323
2424# Download python 2.7.11
2525# For more information about the compilation of the Python: http://www.mathworks.com/help/matlab/matlab_external/system-requirements-for-matlab-engine-for-python.html?requestedDomain=www.mathworks.com
2626WORKDIR /tmp
2727RUN wget -q https://www.python.org/ftp/python/2.7.11/Python-2.7.11.tar.xz && \
2828 tar xJvf Python-2.7.11.tar.xz && \
29- cd Python-2.7.11 && ./configure --enable-shared --enable-unicode=ucs4 --prefix=/opt/mlc-python-2.7.11 && \
30- make && make install
29+ cd Python-2.7.11 && ./configure --enable-shared --enable-unicode=ucs4 --prefix=/opt/mlc-python-2.7.11 && make && make install && \
30+ rm -rf /tmp/Python-2.7.11*
3131
3232# Create .sh who will load the desired enviroment to run python within it
3333RUN echo '#!/bin/bash' >> /opt/mlc-python-2.7.11/bin/mlc_python && \
@@ -44,17 +44,17 @@ RUN echo '#!/bin/bash' >> /opt/mlc-python-2.7.11/bin/mlc_python && \
4444 echo "fi" >> /opt/mlc-python-2.7.11/bin/mlc_python && \
4545 chmod 755 /opt/mlc-python-2.7.11/bin/mlc_python
4646
47-
4847# Install Python Setuptools
4948RUN wget -q https://pypi.python.org/packages/source/s/setuptools/setuptools-20.1.1.tar.gz#md5=10a0f4feb9f2ea99acf634c8d7136d6d && \
5049 tar xzvf setuptools-20.1.1.tar.gz && \
51- cd setuptools-20.1.1 && /opt/mlc-python-2.7.11/bin/mlc_python setup.py build && /opt/mlc-python-2.7.11/bin/mlc_python setup.py install
52-
50+ cd setuptools-20.1.1 && /opt/mlc-python-2.7.11/bin/mlc_python setup.py build && /opt/mlc-python-2.7.11/bin/mlc_python setup.py install && \
51+ rm -rf /tmp/setuptools-20.1.1*
5352
5453# Idem with pip
5554RUN wget -q https://pypi.python.org/packages/source/p/pip/pip-8.0.2.tar.gz#md5=3a73c4188f8dbad6a1e6f6d44d117eeb && \
5655 tar xzvf pip-8.0.2.tar.gz && \
57- cd pip-8.0.2 && /opt/mlc-python-2.7.11/bin/mlc_python setup.py build && /opt/mlc-python-2.7.11/bin/mlc_python setup.py install
56+ cd pip-8.0.2 && /opt/mlc-python-2.7.11/bin/mlc_python setup.py build && /opt/mlc-python-2.7.11/bin/mlc_python setup.py install && \
57+ rm -rf /tmp/pip-8.0.2*
5858
5959# Create .sh who will load the desired enviroment to run pip within it
6060RUN echo '#!/bin/bash' >> /opt/mlc-python-2.7.11/bin/mlc_pip && \
@@ -71,37 +71,66 @@ RUN echo '#!/bin/bash' >> /opt/mlc-python-2.7.11/bin/mlc_pip && \
7171 echo "fi" >> /opt/mlc-python-2.7.11/bin/mlc_pip && \
7272 chmod 755 /opt/mlc-python-2.7.11/bin/mlc_pip
7373
74+ # Install Qt5.7
75+ RUN git clone git://code.qt.io/qt/qtbase.git && \
76+ cd qtbase && \
77+ git checkout 5.7 && \
78+ ./configure --prefix=/opt/mlc-python-2.7.11/Qt-5.7.1 -xkb-config-root /usr/share/X11/xkb -no-gtk -nomake tests -nomake examples -qt-xcb --opensource --confirm-license && make -j4 && make install && \
79+ rm -rf /tmp/qtbase
7480
75- # Install mlc dependencies
76- RUN /opt/mlc-python-2.7.11/bin/mlc_pip install pyserial numpy nose matplotlib scipy pyyaml flask requests
77-
78- # Create .sh who will load the desired enviroment to run nosetests within it
79- RUN echo '#!/bin/bash' >> /opt/mlc-python-2.7.11/bin/mlc_nosetests && \
80- echo "" >> /opt/mlc-python-2.7.11/bin/mlc_nosetests \
81- echo "# Add the correct path to the LD_LIBRARY_PATH enviroment variable" >> /opt/mlc-python-2.7.11/bin/mlc_nosetests \
82- echo 'export LD_LIBRARY_PATH=/opt/mlc-python-2.7.11/lib:$LD_LIBRARY_PATH' >> /opt/mlc-python-2.7.11/bin/mlc_nosetests \
83- echo 'NOSETESTS="/opt/mlc-python-2.7.11/bin/nosetests"' >> /opt/mlc-python-2.7.11/bin/mlc_nosetests \
84- echo "" >> /opt/mlc-python-2.7.11/bin/mlc_nosetests \
85- echo "# Run the dynamically compiled nosetests" >> /opt/mlc-python-2.7.11/bin/mlc_nosetests \
86- echo 'if [ "$#" -ne 0 ]; then' >> /opt/mlc-python-2.7.11/bin/mlc_nosetests \
87- echo ' $NOSETESTS $@' >> /opt/mlc-python-2.7.11/bin/mlc_nosetests \
88- echo "else" >> /opt/mlc-python-2.7.11/bin/mlc_nosetests \
89- echo ' $NOSETESTS' >> /opt/mlc-python-2.7.11/bin/mlc_nosetests \
90- echo "fi" >> /opt/mlc-python-2.7.11/bin/mlc_nosetests \
91- chmod 755 /opt/mlc-python-2.7.11/bin/mlc_nosetests
92-
93- # Install PyQt5 Environment
94- RUN wget https://sourceforge.net/projects/pyqt/files/sip/sip-4.18.1/sip-4.18.1.tar.gz && \
95- tar xzvf sip-4.18.1.tar.gz && \
96- cd sip-4.18.1 && \
81+ RUN git clone git://code.qt.io/qt/qtcharts.git && \
82+ cd qtcharts && \
83+ git checkout 5.7 && \
84+ /opt/mlc-python-2.7.11/Qt-5.7.1/bin/qmake CONFIG+=release && make -j4 && make install && \
85+ rm -rf /tmp/qtcharts
86+
87+ RUN git clone git://code.qt.io/qt/qtdatavis3d.git && \
88+ cd qtdatavis3d && \
89+ git checkout 5.7 && \
90+ /opt/mlc-python-2.7.11/Qt-5.7.1/bin/qmake CONFIG+=release && make -j4 && make install && \
91+ rm -rf /tmp/qtdatavis3d
92+
93+ RUN git clone git://code.qt.io/qt/qtdeclarative.git && \
94+ cd qtdeclarative && \
95+ git checkout 5.7 && \
96+ /opt/mlc-python-2.7.11/Qt-5.7.1/bin/qmake CONFIG+=release && make -j4 && make install && \
97+ rm -rf /tmp/qtdeclarative
98+
99+ RUN git clone git://code.qt.io/qt/qtx11extras.git && \
100+ cd qtx11extras && \
101+ git checkout 5.7 && \
102+ /opt/mlc-python-2.7.11/Qt-5.7.1/bin/qmake CONFIG+=release && make -j4 && make install && \
103+ rm -rf /tmp/qtx11extras
104+
105+ # Add PyQt5 Support
106+ RUN wget https://sourceforge.net/projects/pyqt/files/sip/sip-4.19/sip-4.19.tar.gz && \
107+ tar xzvf sip-4.19.tar.gz && \
108+ cd sip-4.19 && \
97109 /opt/mlc-python-2.7.11/bin/mlc_python configure.py && \
98- make && make install
110+ make -j4 && make install && \
111+ rm -rf /tmp/sip-4.19*
99112
100- RUN wget https://sourceforge.net/projects/pyqt/files/PyQt5/PyQt-5.7/PyQt5_gpl-5.7.tar.gz && \
101- tar xzvf PyQt5_gpl-5.7.tar.gz && \
102- cd PyQt5_gpl-5.7 && \
103- /opt/mlc-python-2.7.11/bin/mlc_python configure.py --qmake /usr/bin/qmake-qt5 --confirm-license --sip /opt/mlc-python-2.7.11/bin/sip && \
104- make && make install
113+ RUN wget https://sourceforge.net/projects/pyqt/files/PyQt5/PyQt-5.7.1/PyQt5_gpl-5.7.1.tar.gz && \
114+ tar xzvf PyQt5_gpl-5.7.1.tar.gz && \
115+ cd PyQt5_gpl-5.7.1 && \
116+ /opt/mlc-python-2.7.11/bin/mlc_python configure.py --qmake /opt/mlc-python-2.7.11/Qt-5.7.1/bin/qmake --confirm-license --sip /opt/mlc-python-2.7.11/bin/sip && \
117+ make -j4 && make install && \
118+ rm -rf /tmp/PyQt5_gpl-5.7.1*
119+
120+ # Add PyQt5 Charts
121+ RUN wget https://sourceforge.net/projects/pyqt/files/PyQtChart/PyQtChart-5.7.1/PyQtChart_gpl-5.7.1.tar.gz && \
122+ tar xzvf PyQtChart_gpl-5.7.1.tar.gz && \
123+ cd PyQtChart_gpl-5.7.1 && \
124+ /opt/mlc-python-2.7.11/bin/mlc_python configure.py --qmake /opt/mlc-python-2.7.11/Qt-5.7.1/bin/qmake --sip /opt/mlc-python-2.7.11/bin/sip && \
125+ make -j4 && make install && \
126+ rm -rf /tmp/PyQtChart_gpl-5.7.1*
127+
128+ RUN wget https://sourceforge.net/projects/pyqt/files/PyQtDataVisualization/PyQtDataVisualization-5.7.1/PyQtDataVisualization_gpl-5.7.1.tar.gz/download -O PyQtDataVisualization_gpl-5.7.1.tar.gz && \
129+ tar xzvf PyQtDataVisualization_gpl-5.7.1.tar.gz && \
130+ cd PyQtDataVisualization_gpl-5.7.1 && \
131+ /opt/mlc-python-2.7.11/bin/mlc_python configure.py --qmake /opt/mlc-python-2.7.11/Qt-5.7.1/bin/qmake --sip /opt/mlc-python-2.7.11/bin/sip && \
132+ make -j4 && make install && \
133+ rm -rf /tmp/PyQtDataVisualization_gpl-5.7.1*
105134
106135# Create .sh who will load the desired enviroment to run pip within it
107136RUN echo '#!/bin/bash' >> /opt/mlc-python-2.7.11/bin/mlc_pyuic5 && \
@@ -118,18 +147,23 @@ RUN echo '#!/bin/bash' >> /opt/mlc-python-2.7.11/bin/mlc_pyuic5 && \
118147 echo "fi" >> /opt/mlc-python-2.7.11/bin/mlc_pyuic5 && \
119148 chmod 755 /opt/mlc-python-2.7.11/bin/mlc_pyuic5
120149
121- # Add PyQt5 Charts
122- RUN yum update -y && yum install git -y
123- RUN git clone git://code.qt.io/qt/qtcharts.git && \
124- cd qtcharts && \
125- git checkout release-2.1.0 && \
126- /usr/bin/qmake-qt5 && make && make install
150+ # Install mlc dependencies
151+ RUN /opt/mlc-python-2.7.11/bin/mlc_pip install pyserial numpy nose matplotlib scipy pyyaml flask requests
127152
128- RUN wget https://sourceforge.net/projects/pyqt/files/PyQtChart/PyQtChart-5.7/PyQtChart_gpl-5.7.tar.gz && \
129- tar xzvf PyQtChart_gpl-5.7.tar.gz && \
130- cd PyQtChart_gpl-5.7 && \
131- /opt/mlc-python-2.7.11/bin/mlc_python configure.py --qmake /usr/bin/qmake-qt5 --qtchart-version=2.1.0 --sip /opt/mlc-python-2.7.11/bin/sip && \
132- make && make install
153+ # Create .sh who will load the desired enviroment to run nosetests within it
154+ RUN echo '#!/bin/bash' >> /opt/mlc-python-2.7.11/bin/mlc_nosetests && \
155+ echo "" >> /opt/mlc-python-2.7.11/bin/mlc_nosetests \
156+ echo "# Add the correct path to the LD_LIBRARY_PATH enviroment variable" >> /opt/mlc-python-2.7.11/bin/mlc_nosetests \
157+ echo 'export LD_LIBRARY_PATH=/opt/mlc-python-2.7.11/lib:$LD_LIBRARY_PATH' >> /opt/mlc-python-2.7.11/bin/mlc_nosetests \
158+ echo 'NOSETESTS="/opt/mlc-python-2.7.11/bin/nosetests"' >> /opt/mlc-python-2.7.11/bin/mlc_nosetests \
159+ echo "" >> /opt/mlc-python-2.7.11/bin/mlc_nosetests \
160+ echo "# Run the dynamically compiled nosetests" >> /opt/mlc-python-2.7.11/bin/mlc_nosetests \
161+ echo 'if [ "$#" -ne 0 ]; then' >> /opt/mlc-python-2.7.11/bin/mlc_nosetests \
162+ echo ' $NOSETESTS $@' >> /opt/mlc-python-2.7.11/bin/mlc_nosetests \
163+ echo "else" >> /opt/mlc-python-2.7.11/bin/mlc_nosetests \
164+ echo ' $NOSETESTS' >> /opt/mlc-python-2.7.11/bin/mlc_nosetests \
165+ echo "fi" >> /opt/mlc-python-2.7.11/bin/mlc_nosetests \
166+ chmod 755 /opt/mlc-python-2.7.11/bin/mlc_nosetests
133167
134168# Install fpm and create .deb package
135- RUN gem install fpm && fpm -s dir -t rpm -v 0.4 -n mlc-python /opt/mlc-python-2.7.11
169+ RUN gem install fpm && fpm -s dir -t rpm -v 0.5 -n mlc-python /opt/mlc-python-2.7.11
0 commit comments