Skip to content

Commit 8897bab

Browse files
feat: 更新补丁
1 parent 4b7fdba commit 8897bab

5 files changed

Lines changed: 45 additions & 59 deletions

File tree

.github/workflows/build-manylinux-images-custom.yml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,6 @@ jobs:
9393
run: |
9494
mkdir -p docker/manylinux2014
9595
wget -qO docker/manylinux2014/Dockerfile_ppc64le https://github.com/opencv/opencv-python/raw/refs/tags/${version}/docker/manylinux2014/Dockerfile_x86_64
96-
patch -p1 < ppc64le.patch
9796
cd docker/manylinux2014
9897
sed -i "s@FROM quay.io/pypa/manylinux2014_x86_64@FROM quay.io/pypa/manylinux2014_ppc64le@g" Dockerfile_ppc64le
9998
image_tag=$(cat Dockerfile_ppc64le | grep "Version:" | sed 's/# Version: //')
@@ -133,7 +132,6 @@ jobs:
133132
run: |
134133
mkdir -p docker/manylinux2014
135134
wget -qO docker/manylinux2014/Dockerfile_s390x https://github.com/opencv/opencv-python/raw/refs/tags/${version}/docker/manylinux2014/Dockerfile_x86_64
136-
patch -p1 < s390x.patch
137135
cd docker/manylinux2014
138136
sed -i "s@FROM quay.io/pypa/manylinux2014_x86_64@FROM quay.io/pypa/manylinux2014_s390x@g" Dockerfile_s390x
139137
image_tag=$(cat Dockerfile_s390x | grep "Version:" | sed 's/# Version: //')

.github/workflows/build_wheels_linux.yml

Lines changed: 30 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ jobs:
1616
- name: Check version
1717
id: check_version
1818
run: |
19-
version=$(curl -s "https://api.github.com/repos/opencv/opencv-python/releases/latest" | jq -r .tag_name)
19+
version=$(curl --retry 10 -s "https://api.github.com/repos/opencv/opencv-python/releases/latest" | jq -r .tag_name)
2020
if [ -z "${version}" ] || [ "${version}" == "null" ]; then
2121
echo "Failed to get version"
2222
exit 1
@@ -44,23 +44,28 @@ jobs:
4444
fail-fast: false
4545
matrix:
4646
python-version: ['3.9']
47-
platform: [x64]
47+
platform: [loongarch64]
48+
manylinux: [2_38]
4849
with_contrib: [0, 1]
4950
without_gui: [0, 1]
5051
build_sdist: [0]
52+
include:
53+
- platform: loongarch64
54+
manylinux: 2_38
55+
DOCKER_IMAGE: ghcr.io/loong64/opencv-python-manylinux_2_38-loongarch64:latest
5156
env:
5257
ACTIONS_ALLOW_UNSECURE_COMMANDS: true
5358
REPO_DIR: .
5459
PROJECT_SPEC: opencv-python
5560
MB_PYTHON_VERSION: ${{ matrix.python-version }}
5661
TRAVIS_PYTHON_VERSION: ${{ matrix.python-version }}
57-
MB_ML_VER: _2_38
62+
MB_ML_VER: ${{ matrix.manylinux }}
5863
TRAVIS_BUILD_DIR: ${{ github.workspace }}
5964
CONFIG_PATH: travis_config.sh
60-
DOCKER_IMAGE: ghcr.io/loong64/opencv-python-manylinux_2_38-loongarch64:latest
65+
DOCKER_IMAGE: ${{ matrix.DOCKER_IMAGE }}
6166
USE_CCACHE: 0
6267
UNICODE_WIDTH: 32
63-
PLAT: loongarch64
68+
PLAT: ${{ matrix.platform }}
6469
SDIST: ${{ matrix.build_sdist || 0 }}
6570
ENABLE_HEADLESS: ${{ matrix.without_gui }}
6671
ENABLE_CONTRIB: ${{ matrix.with_contrib }}
@@ -70,20 +75,35 @@ jobs:
7075
run: find . -mindepth 1 -delete
7176
working-directory: ${{ github.workspace }}
7277
- name: Checkout
73-
uses: actions/checkout@v3
78+
uses: actions/checkout@v6
7479
with:
7580
repository: opencv/opencv-python
7681
ref: ${{ env.VERSION }}
77-
submodules: false
82+
submodules: true
7883
fetch-depth: 0
7984
- name: Setup QEMU
80-
uses: docker/setup-qemu-action@v3
85+
uses: docker/setup-qemu-action@v4
86+
- name: Prepare build
87+
run: |
88+
cd opencv/3rdparty/mlas/lib/loongarch64/
89+
if [ ! -f "FgemmKernelCommon.h" ]; then
90+
wget https://github.com/microsoft/onnxruntime/raw/refs/heads/main/onnxruntime/core/mlas/lib/loongarch64/FgemmKernelCommon.h
91+
fi
92+
if [ ! -f "FgemmKernelLsxCommon.h" ]; then
93+
wget https://github.com/microsoft/onnxruntime/raw/refs/heads/main/onnxruntime/core/mlas/lib/loongarch64/FgemmKernelLsxCommon.h
94+
fi
95+
if [ ! -f "FgemmKernelLasxCommon.h" ]; then
96+
wget https://github.com/microsoft/onnxruntime/raw/refs/heads/main/onnxruntime/core/mlas/lib/loongarch64/FgemmKernelLasxCommon.h
97+
fi
98+
if [ ! -f "SgemmKernelCommon.h" ]; then
99+
wget https://github.com/microsoft/onnxruntime/raw/refs/heads/main/onnxruntime/core/mlas/lib/loongarch64/SgemmKernelCommon.h
100+
fi
81101
- name: Build a package
82102
run: source scripts/build.sh
83103
env:
84104
DOCKER_DEFAULT_PLATFORM: linux/loong64
85105
- name: Saving a wheel accordingly to matrix
86-
uses: actions/upload-artifact@v4
106+
uses: actions/upload-artifact@v7
87107
with:
88108
name: wheel-${{ matrix.with_contrib }}-${{ matrix.without_gui }}-${{ matrix.build_sdist }}
89109
path: wheelhouse/opencv*.whl
@@ -98,7 +118,7 @@ jobs:
98118
run:
99119
shell: bash
100120
steps:
101-
- uses: actions/download-artifact@v4
121+
- uses: actions/download-artifact@v8
102122
with:
103123
pattern: wheel-*
104124
path: wheelhouse/

loong64.patch

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,27 @@ diff --git a/docker/manylinux_2_38/Dockerfile_loongarch64 b/docker/manylinux_2_3
22
index 3ed3aa4..783ee6a 100644
33
--- a/docker/manylinux_2_38/Dockerfile_loongarch64
44
+++ b/docker/manylinux_2_38/Dockerfile_loongarch64
5-
@@ -44,6 +44,7 @@
5+
@@ -14,9 +14,10 @@
6+
ENV LD_LIBRARY_PATH /usr/local/lib:$LD_LIBRARY_PATH
7+
8+
# epel-release need for aarch64 to get openblas packages
9+
-RUN yum install zlib-devel curl-devel xcb-util-renderutil-devel xcb-util-devel xcb-util-image-devel xcb-util-keysyms-devel xcb-util-wm-devel mesa-libGL-devel libxkbcommon-devel libxkbcommon-x11-devel libXi-devel lapack-devel epel-release -y && \
10+
+RUN yum install zlib-devel curl-devel xcb-util-renderutil-devel xcb-util-devel xcb-util-image-devel xcb-util-keysyms-devel xcb-util-wm-devel mesa-libGL-devel libxkbcommon-devel libxkbcommon-x11-devel libXi-devel lapack-devel -y && \
11+
yum install openblas-devel dejavu-sans-fonts ccache yasm nasm ninja-build openssl openssl-devel -y && \
12+
# libpng will be built from source
13+
+ cp -R /usr/share/fonts/dejavu-sans-fonts /usr/share/fonts/dejavu && \
14+
yum remove libpng -y
15+
16+
RUN mkdir ~/libpng_sources && \
17+
@@ -44,6 +45,7 @@
618
RUN curl -O -L https://download.qt.io/archive/qt/5.15/${QT_VERSION}/single/qt-everywhere-opensource-src-${QT_VERSION}.tar.xz && \
719
tar -xf qt-everywhere-opensource-src-${QT_VERSION}.tar.xz && \
820
cd qt-everywhere-src-${QT_VERSION} && \
921
+ sed -i 's/defined(__mips__) || /defined(__mips__) || defined(__loongarch__) || /g' qtbase/src/3rdparty/double-conversion/include/double-conversion/utils.h && \
1022
export MAKEFLAGS=-j$(nproc) && \
1123
./configure -prefix /opt/Qt${QT_VERSION} -release -opensource -confirm-license -qtnamespace QtOpenCVPython -xcb -xcb-xlib -bundled-xcb-xinput -no-openssl -no-dbus -skip qt3d -skip qtactiveqt -skip qtcanvas3d -skip qtconnectivity -skip qtdatavis3d -skip qtdoc -skip qtgamepad -skip qtgraphicaleffects -skip qtimageformats -skip qtlocation -skip qtmultimedia -skip qtpurchasing -skip qtqa -skip qtremoteobjects -skip qtrepotools -skip qtscript -skip qtscxml -skip qtsensors -skip qtserialbus -skip qtserialport -skip qtspeech -skip qttranslations -skip qtwayland -skip qtwebchannel -skip qtwebengine -skip qtwebsockets -skip qtwebview -skip xmlpatterns -skip declarative -make libs && \
1224
make && \
13-
@@ -58,6 +59,8 @@
25+
@@ -58,6 +60,8 @@
1426
cd ~/libvpx_sources && \
1527
git clone --depth 1 -b ${VPX_VERSION} https://chromium.googlesource.com/webm/libvpx.git && \
1628
cd libvpx && \
@@ -19,7 +31,7 @@ index 3ed3aa4..783ee6a 100644
1931
./configure --prefix="/ffmpeg_build" --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=yasm --enable-pic --enable-shared && \
2032
make -j$(getconf _NPROCESSORS_ONLN) && \
2133
make install && \
22-
@@ -109,6 +112,7 @@
34+
@@ -109,6 +113,7 @@
2335
# Git security vulnerability: https://github.blog/2022-04-12-git-security-vulnerability-announced
2436
RUN git config --global --add safe.directory /io
2537

ppc64le.patch

Lines changed: 0 additions & 22 deletions
This file was deleted.

s390x.patch

Lines changed: 0 additions & 22 deletions
This file was deleted.

0 commit comments

Comments
 (0)