-
Notifications
You must be signed in to change notification settings - Fork 167
/
grpc.yaml
119 lines (109 loc) · 3 KB
/
grpc.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
package:
name: grpc
version: 1.62.1
epoch: 0
description: The C based gRPC
copyright:
- license: Apache-2.0 AND BSD-3-Clause AND MIT
environment:
contents:
packages:
- abseil-cpp-dev
- autoconf
- automake
- benchmark-dev
- build-base
- busybox
- c-ares-dev
- ca-certificates-bundle
- chrpath
- cmake
- curl
- cython~0
- icu-dev
- libstdc++-dev
- libsystemd
- libtool
- linux-headers
- openssl-dev
- protobuf-dev
- py3-setuptools
- python3
- python3-dev
- re2
- re2-dev
- samurai
- systemd-dev
- wolfi-base
- xxhash-dev
- yaml-dev
- zlib-dev
pipeline:
- uses: git-checkout
with:
repository: https://github.com/grpc/grpc
tag: v${{package.version}}
expected-commit: 6d7a55890e076a3a8abc8185b6bf0153fcf9d179
- runs: |
cd third_party
git submodule update --init --recursive
- runs: |
mkdir -p "${{targets.destdir}}"/usr/share/doc/grpc
cmake -B _build -G Ninja \
-DCMAKE_BUILD_TYPE=None \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_CXX_STANDARD=17 \
-DBUILD_SHARED_LIBS=True \
-DgRPC_INSTALL=ON \
-DgRPC_CARES_PROVIDER=package \
-DgRPC_SSL_PROVIDER=package \
-DgRPC_ZLIB_PROVIDER=package \
-DgRPC_PROTOBUF_PROVIDER=package \
-DgRPC_ABSL_PROVIDER=package \
-DgRPC_RE2_PROVIDER=package \
-DgRPC_BENCHMARK_PROVIDER=package \
-DgRPC_BACKWARDS_COMPATIBILITY_MODE=OFF \
-DgRPC_BUILD_TESTS=OFF
cmake --build _build
GRPC_PYTHON_CFLAGS="-std=c++17" \
GRPC_PYTHON_DISABLE_LIBC_COMPATIBILITY=1 \
GRPC_PYTHON_BUILD_SYSTEM_CARES=1 \
GRPC_PYTHON_BUILD_SYSTEM_OPENSSL=1 \
GRPC_PYTHON_BUILD_SYSTEM_ZLIB=1 \
GRPC_PYTHON_BUILD_SYSTEM_RE2=1 \
GRPC_PYTHON_BUILD_SYSTEM_ABSL=1 \
python3 setup.py build
# grpcio-tools
cd tools/distrib/python
python3 make_grpcio_tools.py
- runs: |
DESTDIR="${{targets.destdir}}" cmake --install _build
python3 setup.py install --skip-build --root="${{targets.destdir}}"
cd doc
find ./ -type f -print -exec install -Dm644 {} "${{targets.destdir}}"/usr/share/doc/grpc/{} \;
rm "${{targets.destdir}}"/usr/share/doc/grpc/.gitignore
find "${{targets.destdir}}" -type f -name roots.pem -exec \
sh -c 'rm $0 && ln -s /etc/ssl/certs/ca-certificates.crt $0' "{}" \;
subpackages:
- name: py3-grpcio
description: "gRPC Python HTTP/2-based RPC framework"
dependencies:
runtime:
- py3-six
pipeline:
- runs: |
mkdir -p "${{targets.subpkgdir}}"/usr/lib
mv ${{targets.destdir}}/usr/lib/python3* ${{targets.subpkgdir}}/usr/lib/
- name: grpc-dev
pipeline:
- uses: split/dev
dependencies:
runtime:
- grpc
description: grpc dev
update:
enabled: true
github:
identifier: grpc/grpc
strip-prefix: v
use-tag: true