@@ -21,7 +21,7 @@ RUN yum --enablerepo=updates-testing update -y
2121RUN yum --enablerepo=updates-testing install openssl-devel -y
2222
2323# Install packages
24- RUN yum install tk-devel lapack-devel cmake tcl tcl-devel expect tkinter openssh-server gcc gcc-c++ wget xz make vim openssh-clients rpm-build ruby-devel libpng libpng-devel sqlite-devel libxkbcommon -y
24+ RUN yum install tk-devel lapack-devel cmake tcl tcl-devel expect tkinter openssh-server gcc gcc-c++ wget xz make vim openssh-clients rpm-build ruby-devel libpng libpng-devel sqlite-devel libxkbcommon freeglut-devel libxcb libxcb-devel xcb-util xcb-util-devel git -y
2525
2626WORKDIR /tmp
2727# Compile Openssl from scratch. There are dependency problems with this packet in Fedora 20
@@ -39,10 +39,13 @@ RUN wget -q https://www.python.org/ftp/python/2.7.11/Python-2.7.11.tar.xz && \
3939
4040# Create .sh who will load the desired enviroment to run python within it
4141RUN echo '#!/bin/bash' >> /opt/mlc-python-2.7.11/bin/mlc_python && \
42+ echo 'export ROOTPATH="$(dirname "$(readlink -f "$0")")/.."' >> /opt/mlc-python-2.7.11/bin/mlc_python && \
4243 echo "" >> /opt/mlc-python-2.7.11/bin/mlc_python && \
4344 echo "# Add the correct path to the LD_LIBRARY_PATH enviroment variable" >> /opt/mlc-python-2.7.11/bin/mlc_python && \
44- echo 'export LD_LIBRARY_PATH=/opt/mlc-python-2.7.11/lib:$LD_LIBRARY_PATH' >> /opt/mlc-python-2.7.11/bin/mlc_python && \
45- echo 'PYTHON="/opt/mlc-python-2.7.11/bin/python2.7"' >> /opt/mlc-python-2.7.11/bin/mlc_python && \
45+ echo 'export LD_LIBRARY_PATH=$ROOTPATH/lib:$LD_LIBRARY_PATH' >> /opt/mlc-python-2.7.11/bin/mlc_python && \
46+ echo 'export LD_LIBRARY_PATH=$ROOTPATH/custom_libs:$LD_LIBRARY_PATH' >> /opt/mlc-python-2.7.11/bin/mlc_python && \
47+ echo 'export LD_LIBRARY_PATH=$ROOTPATH/Qt-5.7.1/lib:$LD_LIBRARY_PATH' >> /opt/mlc-python-2.7.11/bin/mlc_python && \
48+ echo 'PYTHON="$ROOTPATH/bin/python2.7"' >> /opt/mlc-python-2.7.11/bin/mlc_python && \
4649 echo "" >> /opt/mlc-python-2.7.11/bin/mlc_python && \
4750 echo "# Run the dynamically compiled python for matlab" >> /opt/mlc-python-2.7.11/bin/mlc_python && \
4851 echo 'if [ "$#" -ne 0 ]; then' >> /opt/mlc-python-2.7.11/bin/mlc_python && \
@@ -66,20 +69,21 @@ RUN wget -q https://pypi.python.org/packages/source/p/pip/pip-8.0.2.tar.gz#md5=3
6669
6770# Create .sh who will load the desired enviroment to run pip within it
6871RUN echo '#!/bin/bash' >> /opt/mlc-python-2.7.11/bin/mlc_pip && \
72+ echo 'export ROOTPATH="$(dirname "$(readlink -f "$0")")/.."' >> /opt/mlc-python-2.7.11/bin/mlc_pip && \
6973 echo "" >> /opt/mlc-python-2.7.11/bin/mlc_pip && \
7074 echo "# Add the correct path to the LD_LIBRARY_PATH enviroment variable" >> /opt/mlc-python-2.7.11/bin/mlc_pip && \
71- echo 'export LD_LIBRARY_PATH=/opt/mlc-python-2.7.11/lib:$LD_LIBRARY_PATH' >> /opt/mlc-python-2.7.11/bin/mlc_pip && \
72- echo 'PIP="/opt/mlc-python-2.7.11/bin/pip2.7"' >> /opt/mlc-python-2.7.11/bin/mlc_pip && \
75+ echo 'export LD_LIBRARY_PATH=$ROOTPATH/lib:$LD_LIBRARY_PATH' >> /opt/mlc-python-2.7.11/bin/mlc_pip && \
76+ echo 'export LD_LIBRARY_PATH=$ROOTPATH/custom_libs:$LD_LIBRARY_PATH' >> /opt/mlc-python-2.7.11/bin/mlc_pip && \
77+ echo 'export LD_LIBRARY_PATH=$ROOTPATH/Qt-5.7.1/lib:$LD_LIBRARY_PATH' >> /opt/mlc-python-2.7.11/bin/mlc_pip && \
78+ echo 'PIP="$ROOTPATH/bin/pip2.7"' >> /opt/mlc-python-2.7.11/bin/mlc_pip && \
7379 echo "" >> /opt/mlc-python-2.7.11/bin/mlc_pip && \
7480 echo "# Run the dynamically compiled pip" >> /opt/mlc-python-2.7.11/bin/mlc_pip && \
7581 echo 'if [ "$#" -ne 0 ]; then' >> /opt/mlc-python-2.7.11/bin/mlc_pip && \
7682 echo ' $PIP $@' >> /opt/mlc-python-2.7.11/bin/mlc_pip && \
7783 echo "else" >> /opt/mlc-python-2.7.11/bin/mlc_pip && \
7884 echo ' $PIP' >> /opt/mlc-python-2.7.11/bin/mlc_pip && \
7985 echo "fi" >> /opt/mlc-python-2.7.11/bin/mlc_pip && \
80- chmod 755 /opt/mlc-python-2.7.11/bin/mlc_pip
81-
82- RUN yum install freeglut-devel libxcb libxcb-devel xcb-util xcb-util-devel git -y
86+ chmod 755 /opt/mlc-python-2.7.11/bin/mlc_pip
8387
8488# Install Qt5.7
8589RUN git clone git://code.qt.io/qt/qtbase.git && \
@@ -88,6 +92,12 @@ RUN git clone git://code.qt.io/qt/qtbase.git && \
8892 ./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 && \
8993 rm -rf /tmp/qtbase
9094
95+ RUN git clone git://code.qt.io/qt/qttools.git && \
96+ cd qttools && \
97+ git checkout 5.7 && \
98+ /opt/mlc-python-2.7.11/Qt-5.7.1/bin/qmake CONFIG+=release && make -j4 && make install && \
99+ rm -rf /tmp/qttools
100+
91101RUN git clone git://code.qt.io/qt/qtcharts.git && \
92102 cd qtcharts && \
93103 git checkout 5.7 && \
@@ -112,6 +122,18 @@ RUN git clone git://code.qt.io/qt/qtx11extras.git && \
112122 /opt/mlc-python-2.7.11/Qt-5.7.1/bin/qmake CONFIG+=release && make -j4 && make install && \
113123 rm -rf /tmp/qtx11extras
114124
125+ RUN git clone https://github.com/mati75/qt5ct.git && \
126+ cd qt5ct && \
127+ /opt/mlc-python-2.7.11/Qt-5.7.1/bin/qmake PREFIX=/opt/mlc-python-2.7.11/qt5ct && make -j4 && make install && \
128+ rm -rf /tmp/qt5ct
129+
130+ RUN git clone git://code.qt.io/qt/qtstyleplugins.git && \
131+ cd qtstyleplugins && \
132+ /opt/mlc-python-2.7.11/Qt-5.7.1/bin/qmake && make && \
133+ mkdir -p /opt/mlc-python-2.7.11/Qt-5.7.1/plugins/styles && \
134+ cp -r ./plugins/styles/* /opt/mlc-python-2.7.11/Qt-5.7.1/plugins/styles && \
135+ rm -rf /tmp/qtstyleplugins
136+
115137# Add PyQt5 Support
116138RUN wget https://sourceforge.net/projects/pyqt/files/sip/sip-4.19/sip-4.19.tar.gz && \
117139 tar xzvf sip-4.19.tar.gz && \
@@ -144,10 +166,13 @@ RUN wget https://sourceforge.net/projects/pyqt/files/PyQtDataVisualization/PyQtD
144166
145167# Create .sh who will load the desired enviroment to run pip within it
146168RUN echo '#!/bin/bash' >> /opt/mlc-python-2.7.11/bin/mlc_pyuic5 && \
169+ echo 'export ROOTPATH="$(dirname "$(readlink -f "$0")")/.."' >> /opt/mlc-python-2.7.11/bin/mlc_pip && \
147170 echo "" >> /opt/mlc-python-2.7.11/bin/mlc_pyuic5 && \
148171 echo "# Add the correct path to the LD_LIBRARY_PATH enviroment variable" >> /opt/mlc-python-2.7.11/bin/mlc_pyuic5 && \
149- echo 'export LD_LIBRARY_PATH=/opt/mlc-python-2.7.11/lib:$LD_LIBRARY_PATH' >> /opt/mlc-python-2.7.11/bin/mlc_pyuic5 && \
150- echo 'PYUIC="/opt/mlc-python-2.7.11/bin/pyuic5"' >> /opt/mlc-python-2.7.11/bin/mlc_pyuic5 && \
172+ echo 'export LD_LIBRARY_PATH=$ROOTPATH/lib:$LD_LIBRARY_PATH' >> /opt/mlc-python-2.7.11/bin/mlc_pyuic5 && \
173+ echo 'export LD_LIBRARY_PATH=$ROOTPATH/custom_libs:$LD_LIBRARY_PATH' >> /opt/mlc-python-2.7.11/bin/mlc_pyuic5 && \
174+ echo 'export LD_LIBRARY_PATH=$ROOTPATH/Qt-5.7.1/lib:$LD_LIBRARY_PATH' >> /opt/mlc-python-2.7.11/bin/mlc_pyuic5 && \
175+ echo 'PYUIC="$ROOTPATH/bin/pyuic5"' >> /opt/mlc-python-2.7.11/bin/mlc_pyuic5 && \
151176 echo "" >> /opt/mlc-python-2.7.11/bin/mlc_pyuic5 && \
152177 echo "# Run the dynamically compiled pip" >> /opt/mlc-python-2.7.11/bin/mlc_pyuic5 && \
153178 echo 'if [ "$#" -ne 0 ]; then' >> /opt/mlc-python-2.7.11/bin/mlc_pyuic5 && \
@@ -161,19 +186,25 @@ RUN echo '#!/bin/bash' >> /opt/mlc-python-2.7.11/bin/mlc_pyuic5 && \
161186RUN /opt/mlc-python-2.7.11/bin/mlc_pip install pyserial numpy nose matplotlib scipy pyyaml flask requests
162187
163188# Create .sh who will load the desired enviroment to run nosetests within it
164- RUN echo '#!/bin/bash' >> /opt/mlc-python-2.7.11/bin/mlc_nosetests && \
165- echo "" >> /opt/mlc-python-2.7.11/bin/mlc_nosetests \
166- echo "# Add the correct path to the LD_LIBRARY_PATH enviroment variable" >> /opt/mlc-python-2.7.11/bin/mlc_nosetests \
167- echo 'export LD_LIBRARY_PATH=/opt/mlc-python-2.7.11/lib:$LD_LIBRARY_PATH' >> /opt/mlc-python-2.7.11/bin/mlc_nosetests \
168- echo 'NOSETESTS="/opt/mlc-python-2.7.11/bin/nosetests"' >> /opt/mlc-python-2.7.11/bin/mlc_nosetests \
169- echo "" >> /opt/mlc-python-2.7.11/bin/mlc_nosetests \
170- echo "# Run the dynamically compiled nosetests" >> /opt/mlc-python-2.7.11/bin/mlc_nosetests \
171- echo 'if [ "$#" -ne 0 ]; then' >> /opt/mlc-python-2.7.11/bin/mlc_nosetests \
172- echo ' $NOSETESTS $@' >> /opt/mlc-python-2.7.11/bin/mlc_nosetests \
173- echo "else" >> /opt/mlc-python-2.7.11/bin/mlc_nosetests \
174- echo ' $NOSETESTS' >> /opt/mlc-python-2.7.11/bin/mlc_nosetests \
175- echo "fi" >> /opt/mlc-python-2.7.11/bin/mlc_nosetests \
189+ RUN echo '#!/bin/bash' > /opt/mlc-python-2.7.11/bin/mlc_nosetests && \
190+ echo 'export ROOTPATH="$(dirname "$(readlink -f "$0")")/.."' >> /opt/mlc-python-2.7.11/bin/mlc_pip && \
191+ echo "" >> /opt/mlc-python-2.7.11/bin/mlc_nosetests && \
192+ echo "# Add the correct path to the LD_LIBRARY_PATH enviroment variable" >> /opt/mlc-python-2.7.11/bin/mlc_nosetests && \
193+ echo 'export LD_LIBRARY_PATH=$ROOTPATH/lib:$LD_LIBRARY_PATH' >> /opt/mlc-python-2.7.11/bin/mlc_nosetests && \
194+ echo 'export LD_LIBRARY_PATH=$ROOTPATH/custom_libs:$LD_LIBRARY_PATH' >> /opt/mlc-python-2.7.11/bin/mlc_nosetests && \
195+ echo 'export LD_LIBRARY_PATH=$ROOTPATH/Qt-5.7.1/lib:$LD_LIBRARY_PATH' >> /opt/mlc-python-2.7.11/bin/mlc_nosetests && \
196+ echo 'NOSETESTS="$ROOTPATH/bin/nosetests"' >> /opt/mlc-python-2.7.11/bin/mlc_nosetests && \
197+ echo "" >> /opt/mlc-python-2.7.11/bin/mlc_nosetests && \
198+ echo "# Run the dynamically compiled nosetests" >> /opt/mlc-python-2.7.11/bin/mlc_nosetests && \
199+ echo 'if [ "$#" -ne 0 ]; then' >> /opt/mlc-python-2.7.11/bin/mlc_nosetests && \
200+ echo ' $NOSETESTS $@' >> /opt/mlc-python-2.7.11/bin/mlc_nosetests && \
201+ echo "else" >> /opt/mlc-python-2.7.11/bin/mlc_nosetests && \
202+ echo ' $NOSETESTS' >> /opt/mlc-python-2.7.11/bin/mlc_nosetests && \
203+ echo "fi" >> /opt/mlc-python-2.7.11/bin/mlc_nosetests && \
176204 chmod 755 /opt/mlc-python-2.7.11/bin/mlc_nosetests
177205
206+ RUN echo '[Paths]' > /opt/mlc-python-2.7.11/bin/qt.conf && \
207+ echo "Prefix=../Qt-5.7.1" >> /opt/mlc-python-2.7.11/bin/qt.conf
208+
178209# Install fpm and create .deb package
179- RUN gem install fpm && fpm -s dir -t rpm -v 0.5 -n mlc-python-fedora20 /opt/mlc-python-2.7.11
210+ RUN gem install fpm && fpm -s dir -t rpm -v 0.6 -n mlc-python-fedora-20 /opt/mlc-python-2.7.11
0 commit comments