blob: 02ef4c52f9c34423904bd60ca09afd5d7ba48d0b [file] [log] [blame]
# 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.
#
# WARNING: This example is not a best practice for how to build with bRPC in bazel.
#
workspace(name = "com_github_brpc_brpc_example_build_with_old_bazel")
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
#
# Constants
#
BAZEL_SKYLIB_VERSION = "1.1.1" # 2021-09-27T17:33:49Z
BAZEL_SKYLIB_SHA256 = "c6966ec828da198c5d9adbaa94c05e3a1c7f21bd012a0b29ba8ddbccb2c93b0d"
RULES_PROTO_COMMIT_ID = "9f8407ec90b579cba157ce481682b2beb1f7409f"
RULES_PROTO_SHA256 = "3a27bf90d4cd3e4546afa801857d35c3c4db5f0680c840167f6fb2f7078de177"
RULES_CC_COMMIT_ID = "b7fe9697c0c76ab2fd431a891dbb9a6a32ed7c3e"
RULES_CC_SHA256 = "29daf0159f0cf552fcff60b49d8bcd4f08f08506d2da6e41b07058ec50cfeaec"
#
# Starlark libraries
#
http_archive(
name = "bazel_skylib",
sha256 = BAZEL_SKYLIB_SHA256,
urls = [
"https://github.com/bazelbuild/bazel-skylib/releases/download/{version}/bazel-skylib-{version}.tar.gz".format(version = BAZEL_SKYLIB_VERSION),
"https://mirror.bazel.build/github.com/bazelbuild/bazel-skylib/releases/download/{version}/bazel-skylib-{version}.tar.gz".format(version = BAZEL_SKYLIB_VERSION),
],
)
http_archive(
name = "rules_proto",
sha256 = RULES_PROTO_SHA256,
strip_prefix = "rules_proto-{version}".format(version = RULES_PROTO_COMMIT_ID),
urls = ["https://github.com/bazelbuild/rules_proto/archive/{version}.tar.gz".format(version = RULES_PROTO_COMMIT_ID)],
)
http_archive(
name = "rules_cc",
sha256 = RULES_CC_SHA256,
strip_prefix = "rules_cc-{commit_id}".format(commit_id = RULES_CC_COMMIT_ID),
urls = [
"https://github.com/bazelbuild/rules_cc/archive/{commit_id}.tar.gz".format(commit_id = RULES_CC_COMMIT_ID),
],
)
#
# C++ Dependencies
#
# Ordered lexicographical.
#
local_repository(
name = "com_github_brpc_brpc",
path = "../../",
)
http_archive(
name = "com_github_gflags_gflags",
sha256 = "a8263376b409900dd46830e4e34803a170484707327854cc252fc5865275a57d",
strip_prefix = "gflags-46f73f88b18aee341538c0dfc22b1710a6abedef",
url = "https://github.com/gflags/gflags/archive/46f73f88b18aee341538c0dfc22b1710a6abedef.tar.gz",
)
http_archive(
name = "com_github_google_glog",
build_file = "//:glog.BUILD",
strip_prefix = "glog-a6a166db069520dbbd653c97c2e5b12e08a8bb26",
url = "https://github.com/google/glog/archive/a6a166db069520dbbd653c97c2e5b12e08a8bb26.tar.gz",
)
http_archive(
name = "com_github_google_leveldb",
build_file = "//:leveldb.BUILD",
sha256 = "3912ac36dbb264a62797d68687711c8024919640d89b6733f9342ada1d16cda1",
strip_prefix = "leveldb-a53934a3ae1244679f812d998a4f16f2c7f309a6",
url = "https://github.com/google/leveldb/archive/a53934a3ae1244679f812d998a4f16f2c7f309a6.tar.gz",
)
http_archive(
name = "com_github_madler_zlib", # 2017-01-15T17:57:23Z
build_file = "@com_github_brpc_brpc//bazel/third_party/zlib:zlib.BUILD",
sha256 = "c3e5e9fdd5004dcb542feda5ee4f0ff0744628baf8ed2dd5d66f8ca1197cb1a1",
strip_prefix = "zlib-1.2.11",
urls = ["https://zlib.net/zlib-1.2.11.tar.gz"],
)
http_archive(
name = "com_google_googletest",
strip_prefix = "googletest-0fe96607d85cf3a25ac40da369db62bbee2939a5",
url = "https://github.com/google/googletest/archive/0fe96607d85cf3a25ac40da369db62bbee2939a5.tar.gz",
)
http_archive(
name = "com_google_protobuf",
sha256 = "9510dd2afc29e7245e9e884336f848c8a6600a14ae726adb6befdb4f786f0be2",
strip_prefix = "protobuf-3.6.1.3",
type = "zip",
url = "https://github.com/protocolbuffers/protobuf/archive/v3.6.1.3.zip",
)
# This is not a correct approach, just for simplicity.
# rules_foreign_cc didn't support too early version of bazel.
# bRPC need to be patched to work with boringssl for now.
new_local_repository(
name = "openssl",
build_file = "//:openssl.BUILD",
path = "/usr",
)