4
4
_realname=grpc
5
5
pkgbase=mingw-w64-${_realname}
6
6
pkgname=(" ${MINGW_PACKAGE_PREFIX} -${_realname} "
7
- " ${MINGW_PACKAGE_PREFIX} -python-grpcio" )
8
- pkgver=1.69.0
7
+ " ${MINGW_PACKAGE_PREFIX} -python-grpcio"
8
+ " ${MINGW_PACKAGE_PREFIX} -python-grpcio-tools" )
9
+ pkgver=1.71.0
9
10
pkgrel=1
10
11
_opencensus_proto_ver=0.4.1
11
12
pkgdesc=" Google's high performance, open source, general RPC framework (mingw-w64)"
@@ -39,7 +40,7 @@ source=("https://github.com/grpc/grpc/archive/v${pkgver}/${_realname}-${pkgver}.
39
40
" 001-fix-building-shared-libraries-with-clang.patch"
40
41
" 002-fix-building-python-module.patch"
41
42
" 003-fix-build-shared-libs-on-mingw.patch" )
42
- sha256sums=(' cd256d91781911d46a57506978b3979bfee45d5086a1b6668a3ae19c5e77f8dc '
43
+ sha256sums=(' 0d631419e54ec5b29def798623ee3bf5520dac77abeab3284ef7027ec2363f91 '
43
44
' e3d89f7f9ed84c9b6eee818c2e9306950519402bf803698b15c310b77ca2f0f3'
44
45
' cf4064ad294bbddf15ac0611a4920dfa133a54ccaebbf813ed4faef6b20d142b'
45
46
' c08e9a6a4dd569155452660825c8b42a06bbc6eb1e924af98796b138e6698e93'
@@ -121,15 +122,32 @@ build() {
121
122
cp -r " ${srcdir} /${_realname} -${pkgver} " " ${srcdir} " /python-build-${MSYSTEM}
122
123
cd " ${srcdir} " /python-build-${MSYSTEM}
123
124
124
- GRPC_PYTHON_BUILD_WITH_CYTHON=1 \
125
+ export GRPC_PYTHON_BUILD_WITH_CYTHON=1
126
+
125
127
GRPC_PYTHON_BUILD_SYSTEM_OPENSSL=1 \
126
128
GRPC_PYTHON_BUILD_SYSTEM_ZLIB=1 \
127
129
GRPC_PYTHON_BUILD_SYSTEM_CARES=1 \
128
130
GRPC_PYTHON_BUILD_SYSTEM_RE2=1 \
129
131
GRPC_PYTHON_BUILD_SYSTEM_ABSL=1 \
130
132
GRPC_BUILD_WITH_BORING_SSL_ASM=0 \
131
133
GRPC_PYTHON_CFLAGS=" -DGPR_MSVC_EMPTY_BASE_CLASS_WORKAROUND='' -DSTRSAFE_NO_DEPRECATE" \
132
- LDFLAGS=" $LDFLAGS -L../build-${MSYSTEM} " \
134
+ LDFLAGS=" ${LDFLAGS} -L../build-${MSYSTEM} " \
135
+ ${MINGW_PREFIX} /bin/python -m build --wheel --skip-dependency-check --no-isolation
136
+
137
+ cd tools/distrib/python/grpcio_tools
138
+
139
+ # use system protobuf for grpcio_tools
140
+ WIN_PREFIX=$( cygpath -m ${MINGW_PREFIX} )
141
+ sed -r -i \
142
+ -e ' /^CC_FILES=\[/,/\]/{/^CC_FILES=\[/n;/\]/!d;}' \
143
+ -e ' /^CC_INCLUDES=\[/,/\]/{/^CC_INCLUDES=\[/n;/\]/!d;}' \
144
+ -e " s@^(PROTO_INCLUDE=')[^']+'@\1${WIN_PREFIX} /include'@" \
145
+ -e ' /^PROTOBUF_SUBMODULE_VERSION=/d' \
146
+ protoc_lib_deps.py
147
+ cp -r " ${srcdir} " /${_realname} -${pkgver} grpc_root
148
+
149
+ GRPC_PYTHON_CFLAGS=" ${CFLAGS} -fno-wrapv -frtti -std=c++17 -DPROTOBUF_USE_DLLS" \
150
+ GRPC_PYTHON_LDFLAGS=" ${LDFLAGS} $( pkgconf --libs protobuf) -lprotoc" \
133
151
${MINGW_PREFIX} /bin/python -m build --wheel --skip-dependency-check --no-isolation
134
152
}
135
153
@@ -147,20 +165,42 @@ package_grpc() {
147
165
148
166
DESTDIR=" ${pkgdir} " ${MINGW_PREFIX} /bin/cmake.exe --install .
149
167
150
- install -Dm644 " ${srcdir} /${_realname} -${pkgver} /LICENSE" " ${pkgdir}${MINGW_PREFIX} /share/licenses/${_realname} /LICENSE"
168
+ install -Dm644 " ${srcdir} " /${_realname} -${pkgver} /LICENSE \
169
+ " ${pkgdir} " ${MINGW_PREFIX} /share/licenses/${_realname} /LICENSE
151
170
}
152
171
153
172
package_python-grpcio () {
154
173
pkgdesc=' Python language bindings for grpc, remote procedure call (RPC) framework (mingw-w64)'
155
174
depends+=(" ${MINGW_PACKAGE_PREFIX} -python" )
175
+ optdepends=(" ${MINGW_PACKAGE_PREFIX} -python-grpcio-tools" )
176
+ options=(! strip)
156
177
157
178
cd " ${srcdir} " /python-build-${MSYSTEM}
158
179
159
180
MSYS2_ARG_CONV_EXCL=" --prefix=" \
160
181
${MINGW_PREFIX} /bin/python -m installer --prefix=${MINGW_PREFIX} \
161
182
--destdir=" ${pkgdir} " dist/* .whl
162
183
163
- install -Dm644 " ${srcdir} /${_realname} -${pkgver} /LICENSE" " ${pkgdir}${MINGW_PREFIX} /share/licenses/python-grpcio/LICENSE"
184
+ install -Dm644 " ${srcdir} " /${_realname} -${pkgver} /LICENSE \
185
+ " ${pkgdir} " ${MINGW_PREFIX} /share/licenses/python-grpcio/LICENSE
186
+ }
187
+
188
+ package_python-grpcio-tools () {
189
+ pkgdesc=' Python protobuf generator for GRPC (mingw-w64)'
190
+ depends+=(" ${MINGW_PACKAGE_PREFIX} -python"
191
+ " ${MINGW_PACKAGE_PREFIX} -python-grpcio"
192
+ " ${MINGW_PACKAGE_PREFIX} -python-protobuf"
193
+ " ${MINGW_PACKAGE_PREFIX} -python-setuptools" )
194
+ options=(! strip)
195
+
196
+ cd " ${srcdir} " /python-build-${MSYSTEM} /tools/distrib/python/grpcio_tools
197
+
198
+ MSYS2_ARG_CONV_EXCL=" --prefix=" \
199
+ ${MINGW_PREFIX} /bin/python -m installer --prefix=${MINGW_PREFIX} \
200
+ --destdir=" ${pkgdir} " dist/* .whl
201
+
202
+ install -Dm644 " ${srcdir} " /${_realname} -${pkgver} /LICENSE \
203
+ " ${pkgdir} " ${MINGW_PREFIX} /share/licenses/python-grpcio-tools/LICENSE
164
204
}
165
205
166
206
# template start; name=mingw-w64-splitpkg-wrappers; version=1.0;
0 commit comments