Skip to content

Commit 6687ce0

Browse files
committed
Add MB_ML_VER=2014 for ppc64le plus Dockerfile
1 parent a3c5418 commit 6687ce0

2 files changed

Lines changed: 129 additions & 20 deletions

File tree

.travis.yml

Lines changed: 23 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -692,25 +692,17 @@ matrix:
692692
arch: ppc64le
693693
env:
694694
- MB_PYTHON_VERSION=2.7
695+
- MB_ML_VER=2014
695696
- PLAT=ppc64le
696697
- ENABLE_CONTRIB=0
697698
- ENABLE_HEADLESS=0
698699
cache:
699700
directories: $HOME/.ccache
700-
- os: linux
701-
arch: ppc64le
702-
env:
703-
- MB_PYTHON_VERSION=2.7
704-
- PLAT=ppc64le
705-
- UNICODE_WIDTH=16
706-
- ENABLE_CONTRIB=0
707-
- ENABLE_HEADLESS=0
708-
cache:
709-
directories: $HOME/.ccache
710701
- os: linux
711702
arch: ppc64le
712703
env:
713704
- MB_PYTHON_VERSION=3.5
705+
- MB_ML_VER=2014
714706
- PLAT=ppc64le
715707
- ENABLE_CONTRIB=0
716708
- ENABLE_HEADLESS=0
@@ -720,6 +712,7 @@ matrix:
720712
arch: ppc64le
721713
env:
722714
- MB_PYTHON_VERSION=3.6
715+
- MB_ML_VER=2014
723716
- PLAT=ppc64le
724717
- ENABLE_CONTRIB=0
725718
- ENABLE_HEADLESS=0
@@ -730,6 +723,7 @@ matrix:
730723
arch: ppc64le
731724
env:
732725
- MB_PYTHON_VERSION=3.7
726+
- MB_ML_VER=2014
733727
- PLAT=ppc64le
734728
- ENABLE_CONTRIB=0
735729
- ENABLE_HEADLESS=0
@@ -740,6 +734,7 @@ matrix:
740734
arch: ppc64le
741735
env:
742736
- MB_PYTHON_VERSION=3.8
737+
- MB_ML_VER=2014
743738
- PLAT=ppc64le
744739
- ENABLE_CONTRIB=0
745740
- ENABLE_HEADLESS=0
@@ -752,6 +747,7 @@ matrix:
752747
arch: ppc64le
753748
env:
754749
- MB_PYTHON_VERSION=2.7
750+
- MB_ML_VER=2014
755751
- PLAT=ppc64le
756752
- ENABLE_CONTRIB=0
757753
- ENABLE_HEADLESS=1
@@ -761,6 +757,7 @@ matrix:
761757
arch: ppc64le
762758
env:
763759
- MB_PYTHON_VERSION=2.7
760+
- MB_ML_VER=2014
764761
- PLAT=ppc64le
765762
- UNICODE_WIDTH=16
766763
- ENABLE_CONTRIB=0
@@ -771,6 +768,7 @@ matrix:
771768
arch: ppc64le
772769
env:
773770
- MB_PYTHON_VERSION=3.5
771+
- MB_ML_VER=2014
774772
- PLAT=ppc64le
775773
- ENABLE_CONTRIB=0
776774
- ENABLE_HEADLESS=1
@@ -780,6 +778,7 @@ matrix:
780778
arch: ppc64le
781779
env:
782780
- MB_PYTHON_VERSION=3.6
781+
- MB_ML_VER=2014
783782
- PLAT=ppc64le
784783
- ENABLE_CONTRIB=0
785784
- ENABLE_HEADLESS=1
@@ -790,6 +789,7 @@ matrix:
790789
arch: ppc64le
791790
env:
792791
- MB_PYTHON_VERSION=3.7
792+
- MB_ML_VER=2014
793793
- PLAT=ppc64le
794794
- ENABLE_CONTRIB=0
795795
- ENABLE_HEADLESS=1
@@ -800,6 +800,7 @@ matrix:
800800
arch: ppc64le
801801
env:
802802
- MB_PYTHON_VERSION=3.8
803+
- MB_ML_VER=2014
803804
- PLAT=ppc64le
804805
- ENABLE_CONTRIB=0
805806
- ENABLE_HEADLESS=1
@@ -812,6 +813,7 @@ matrix:
812813
arch: ppc64le
813814
env:
814815
- MB_PYTHON_VERSION=2.7
816+
- MB_ML_VER=2014
815817
- PLAT=ppc64le
816818
- ENABLE_CONTRIB=1
817819
- ENABLE_HEADLESS=0
@@ -821,6 +823,7 @@ matrix:
821823
arch: ppc64le
822824
env:
823825
- MB_PYTHON_VERSION=2.7
826+
- MB_ML_VER=2014
824827
- PLAT=ppc64le
825828
- UNICODE_WIDTH=16
826829
- ENABLE_CONTRIB=1
@@ -831,6 +834,7 @@ matrix:
831834
arch: ppc64le
832835
env:
833836
- MB_PYTHON_VERSION=3.5
837+
- MB_ML_VER=2014
834838
- PLAT=ppc64le
835839
- ENABLE_CONTRIB=1
836840
- ENABLE_HEADLESS=0
@@ -840,6 +844,7 @@ matrix:
840844
arch: ppc64le
841845
env:
842846
- MB_PYTHON_VERSION=3.6
847+
- MB_ML_VER=2014
843848
- PLAT=ppc64le
844849
- TEST_DEPENDS=numpy==1.11.3
845850
- ENABLE_CONTRIB=1
@@ -850,6 +855,7 @@ matrix:
850855
arch: ppc64le
851856
env:
852857
- MB_PYTHON_VERSION=3.7
858+
- MB_ML_VER=2014
853859
- PLAT=ppc64le
854860
- TEST_DEPENDS=numpy==1.14.5
855861
- ENABLE_CONTRIB=1
@@ -860,6 +866,7 @@ matrix:
860866
arch: ppc64le
861867
env:
862868
- MB_PYTHON_VERSION=3.8
869+
- MB_ML_VER=2014
863870
- PLAT=ppc64le
864871
- TEST_DEPENDS=numpy==1.17.3
865872
- ENABLE_CONTRIB=1
@@ -873,25 +880,17 @@ matrix:
873880
arch: ppc64le
874881
env:
875882
- MB_PYTHON_VERSION=2.7
883+
- MB_ML_VER=2014
876884
- PLAT=ppc64le
877885
- ENABLE_CONTRIB=1
878886
- ENABLE_HEADLESS=1
879887
cache:
880888
directories: $HOME/.ccache
881-
- os: linux
882-
arch: ppc64le
883-
env:
884-
- MB_PYTHON_VERSION=2.7
885-
- PLAT=ppc64le
886-
- UNICODE_WIDTH=16
887-
- ENABLE_CONTRIB=1
888-
- ENABLE_HEADLESS=1
889-
cache:
890-
directories: $HOME/.ccache
891889
- os: linux
892890
arch: ppc64le
893891
env:
894892
- MB_PYTHON_VERSION=3.5
893+
- MB_ML_VER=2014
895894
- PLAT=ppc64le
896895
- ENABLE_CONTRIB=1
897896
- ENABLE_HEADLESS=1
@@ -901,6 +900,7 @@ matrix:
901900
arch: ppc64le
902901
env:
903902
- MB_PYTHON_VERSION=3.6
903+
- MB_ML_VER=2014
904904
- PLAT=ppc64le
905905
- TEST_DEPENDS=numpy==1.11.3
906906
- ENABLE_CONTRIB=1
@@ -911,6 +911,7 @@ matrix:
911911
arch: ppc64le
912912
env:
913913
- MB_PYTHON_VERSION=3.7
914+
- MB_ML_VER=2014
914915
- PLAT=ppc64le
915916
- TEST_DEPENDS=numpy==1.14.5
916917
- ENABLE_CONTRIB=1
@@ -921,6 +922,7 @@ matrix:
921922
arch: ppc64le
922923
env:
923924
- MB_PYTHON_VERSION=3.8
925+
- MB_ML_VER=2014
924926
- TEST_DEPENDS=numpy==1.17.3
925927
- ENABLE_CONTRIB=1
926928
- ENABLE_HEADLESS=1
@@ -930,6 +932,7 @@ matrix:
930932
arch: ppc64le
931933
env:
932934
- MB_PYTHON_VERSION=3.8
935+
- MB_ML_VER=2014
933936
- PLAT=ppc64le
934937
- TEST_DEPENDS=numpy==1.17.3
935938
- ENABLE_CONTRIB=1

docker/Dockerfile_ppc64le

Lines changed: 106 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,106 @@
1+
FROM quay.io/pypa/manylinux2014_ppc64le:latest
2+
3+
RUN curl -O -L https://download.qt.io/archive/qt/4.8/4.8.7/qt-everywhere-opensource-src-4.8.7.tar.gz && \
4+
tar -xf qt-everywhere-opensource-src-4.8.7.tar.gz && \
5+
cd qt-everywhere* && \
6+
#configure does a bootstrap make under the hood
7+
#manylinux1 is too old to have `nproc`
8+
export MAKEFLAGS=-j$(getconf _NPROCESSORS_ONLN) && \
9+
#OpenCV only links against QtCore, QtGui, QtTest
10+
./configure -prefix /opt/Qt4.8.7 -release -opensource -confirm-license \
11+
-no-sql-sqlite -no-qt3support -no-xmlpatterns -no-multimedia \
12+
-no-webkit -no-script -no-declarative -no-dbus -make libs && \
13+
make && \
14+
make install && \
15+
cd .. && \
16+
rm -rf qt-everywhere-opensource-src-4.8.7 && \
17+
rm qt-everywhere-opensource-src-4.8.7.tar.gz
18+
19+
ENV QTDIR /opt/Qt4.8.7
20+
ENV PATH "$QTDIR/bin:$PATH"
21+
22+
RUN curl -O -L https://cmake.org/files/v3.9/cmake-3.9.0.tar.gz && \
23+
tar -xf cmake-3.9.0.tar.gz && \
24+
cd cmake-3.9.0 && \
25+
#manylinux1 provides curl-devel equivalent and libcurl statically linked
26+
# against the same newer OpenSSL as other source-built tools
27+
# (1.0.2s as of this writing)
28+
yum -y install zlib-devel && \
29+
#configure does a bootstrap make under the hood
30+
export MAKEFLAGS=-j$(getconf _NPROCESSORS_ONLN) && \
31+
./configure --system-curl && \
32+
make && \
33+
make install && \
34+
cd .. && \
35+
rm -rf cmake-3.9.0*
36+
37+
# https://trac.ffmpeg.org/wiki/CompilationGuide/Centos#GettheDependencies
38+
# manylinux provides the toolchain and git; we provide cmake
39+
RUN yum install freetype-devel bzip2-devel zlib-devel -y && \
40+
mkdir ~/ffmpeg_sources
41+
42+
# Newer openssl configure requires newer perl
43+
RUN curl -O -L https://www.cpan.org/src/5.0/perl-5.20.1.tar.gz && \
44+
tar -xf perl-5.20.1.tar.gz && \
45+
cd perl-5.20.1 && \
46+
./Configure -des -Dprefix="$HOME/openssl_build" && \
47+
#perl build scripts do much redundant work
48+
# if running "make install" separately
49+
make install -j$(getconf _NPROCESSORS_ONLN) && \
50+
cd .. && \
51+
rm -rf perl-5.20.1*
52+
53+
RUN cd ~/ffmpeg_sources && \
54+
curl -O -L https://github.com/openssl/openssl/archive/OpenSSL_1_1_1c.tar.gz && \
55+
tar -xf OpenSSL_1_1_1c.tar.gz && \
56+
cd openssl-OpenSSL_1_1_1c && \
57+
PERL="$HOME/openssl_build/bin/perl" ./config --prefix="$HOME/ffmpeg_build" --openssldir="$HOME/ffmpeg_build" shared zlib && \
58+
make -j$(getconf _NPROCESSORS_ONLN) && \
59+
#skip installing documentation
60+
make install_sw && \
61+
rm -rf ~/openssl_build
62+
63+
RUN cd ~/ffmpeg_sources && \
64+
curl -O -L http://www.nasm.us/pub/nasm/releasebuilds/2.14.01/nasm-2.14.01.tar.bz2 && \
65+
tar -xf nasm-2.14.01.tar.bz2 && cd nasm-2.14.01 && ./autogen.sh && \
66+
./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" && \
67+
make -j$(getconf _NPROCESSORS_ONLN) && \
68+
make install
69+
70+
RUN cd ~/ffmpeg_sources && \
71+
curl -O -L http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz && \
72+
tar -xf yasm-1.3.0.tar.gz && \
73+
cd yasm-1.3.0 && \
74+
./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" && \
75+
make -j$(getconf _NPROCESSORS_ONLN) && \
76+
make install
77+
78+
RUN cd ~/ffmpeg_sources && \
79+
git clone --depth 1 https://chromium.googlesource.com/webm/libvpx.git && \
80+
cd libvpx && \
81+
./configure --prefix="$HOME/ffmpeg_build" --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=yasm --enable-pic --enable-shared && \
82+
make -j$(getconf _NPROCESSORS_ONLN) && \
83+
make install
84+
85+
RUN cd ~/ffmpeg_sources && \
86+
curl -O -L https://ffmpeg.org/releases/ffmpeg-snapshot.tar.bz2 && \
87+
tar -xf ffmpeg-snapshot.tar.bz2 && \
88+
cd ffmpeg && \
89+
PATH=~/bin:$PATH && \
90+
PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" ./configure --prefix="$HOME/ffmpeg_build" --extra-cflags="-I$HOME/ffmpeg_build/include" --extra-ldflags="-L$HOME/ffmpeg_build/lib" --enable-openssl --enable-libvpx --enable-shared --enable-pic --bindir="$HOME/bin" && \
91+
make -j$(getconf _NPROCESSORS_ONLN) && \
92+
make install && \
93+
echo "/root/ffmpeg_build/lib/" >> /etc/ld.so.conf && \
94+
ldconfig && \
95+
rm -rf ~/ffmpeg_sources
96+
97+
ENV PKG_CONFIG_PATH /usr/local/lib/pkgconfig:/root/ffmpeg_build/lib/pkgconfig
98+
ENV LDFLAGS -L/root/ffmpeg_build/lib
99+
100+
RUN curl -O https://raw.githubusercontent.com/torvalds/linux/v4.14/include/uapi/linux/videodev2.h && \
101+
curl -O https://raw.githubusercontent.com/torvalds/linux/v4.14/include/uapi/linux/v4l2-common.h && \
102+
curl -O https://raw.githubusercontent.com/torvalds/linux/v4.14/include/uapi/linux/v4l2-controls.h && \
103+
curl -O https://raw.githubusercontent.com/torvalds/linux/v4.14/include/linux/compiler.h && \
104+
mv videodev2.h v4l2-common.h v4l2-controls.h compiler.h /usr/include/linux
105+
106+
ENV PATH "$HOME/bin:$PATH"

0 commit comments

Comments
 (0)