# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License.  You may obtain a copy of the License at
#
#   http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied.  See the License for the
# specific language governing permissions and limitations
# under the License.

[wrap-file]
directory = grpc-1.59.1
source_url = https://github.com/grpc/grpc/archive/refs/tags/v1.59.1.tar.gz
source_filename = grpc-1.59.1.tar.gz
source_hash = 916f88a34f06b56432611aaa8c55befee96d0a7b7d7457733b9deeacbc016f99
patch_filename = grpc_1.59.1-1_patch.zip
patch_url = https://wrapdb.mesonbuild.com/v2/grpc_1.59.1-1/get_patch
patch_hash = 61055ee4df79b0d98e0db8cdd9b534eb9d8ac71f7a8d2219b6efb905419fbe2b
source_fallback_url = https://github.com/mesonbuild/wrapdb/releases/download/grpc_1.59.1-1/grpc-1.59.1.tar.gz
wrapdb_version = 1.59.1-1

[provide]
grpc = grpc_dep
grpc_unsecure = grpc_unsecure_dep
grpc++ = grpcpp_dep
grpc++_unsecure = grpcpp_unsecure_dep
program_names = grpc_cpp_plugin, grpc_python_plugin, grpc_ruby_plugin, grpc_php_plugin, grpc_node_plugin
