blob: 36b34443178262ebc7cce9b8e490e09659b94b95 [file] [log] [blame]
Fabian Meumertzheim8d966c42021-04-24 22:49:08 +02001# Copyright 2021 Code Intelligence GmbH
2#
3# Licensed under the Apache License, Version 2.0 (the "License");
4# you may not use this file except in compliance with the License.
5# You may obtain a copy of the License at
6#
7# http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS,
11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12# See the License for the specific language governing permissions and
13# limitations under the License.
14
15"""Contains the external dependencies required to build Jazzer (but not the examples)."""
16
Fabian Meumertzheim889acea2021-10-08 13:11:02 +020017load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
18load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe")
Fabian Meumertzheim8d966c42021-04-24 22:49:08 +020019
20def jazzer_dependencies():
Fabian Meumertzheim889acea2021-10-08 13:11:02 +020021 maybe(
22 http_archive,
Fabian Meumertzheim8d966c42021-04-24 22:49:08 +020023 name = "platforms",
Fabian Meumertzheim84b9c812021-06-02 07:08:03 +020024 sha256 = "079945598e4b6cc075846f7fd6a9d0857c33a7afc0de868c2ccb96405225135d",
Fabian Meumertzheim8d966c42021-04-24 22:49:08 +020025 urls = [
Fabian Meumertzheim84b9c812021-06-02 07:08:03 +020026 "https://mirror.bazel.build/github.com/bazelbuild/platforms/releases/download/0.0.4/platforms-0.0.4.tar.gz",
27 "https://github.com/bazelbuild/platforms/releases/download/0.0.4/platforms-0.0.4.tar.gz",
Fabian Meumertzheim8d966c42021-04-24 22:49:08 +020028 ],
29 )
30
Fabian Meumertzheim889acea2021-10-08 13:11:02 +020031 maybe(
32 http_archive,
Fabian Meumertzheim8d966c42021-04-24 22:49:08 +020033 name = "bazel_skylib",
Fabian Meumertzheimab3dbbb2021-10-21 09:35:30 +020034 sha256 = "c6966ec828da198c5d9adbaa94c05e3a1c7f21bd012a0b29ba8ddbccb2c93b0d",
Fabian Meumertzheim8d966c42021-04-24 22:49:08 +020035 urls = [
Fabian Meumertzheimab3dbbb2021-10-21 09:35:30 +020036 "https://github.com/bazelbuild/bazel-skylib/releases/download/1.1.1/bazel-skylib-1.1.1.tar.gz",
37 "https://mirror.bazel.build/github.com/bazelbuild/bazel-skylib/releases/download/1.1.1/bazel-skylib-1.1.1.tar.gz",
Fabian Meumertzheim8d966c42021-04-24 22:49:08 +020038 ],
39 )
40
Fabian Meumertzheim889acea2021-10-08 13:11:02 +020041 maybe(
42 http_archive,
Fabian Meumertzheim8d966c42021-04-24 22:49:08 +020043 name = "io_bazel_rules_kotlin",
Fabian Meumertzheim3afd0a62021-10-11 13:03:40 +020044 sha256 = "6cbd4e5768bdfae1598662e40272729ec9ece8b7bded8f0d2c81c8ff96dc139d",
45 url = "https://github.com/bazelbuild/rules_kotlin/releases/download/v1.5.0-beta-4/rules_kotlin_release.tgz",
Fabian Meumertzheim8d966c42021-04-24 22:49:08 +020046 )
47
Fabian Meumertzheim889acea2021-10-08 13:11:02 +020048 maybe(
49 http_archive,
Fabian Meumertzheim8d966c42021-04-24 22:49:08 +020050 name = "com_google_glog",
51 repo_mapping = {"@com_github_gflags_gflags": "@jazzer_com_github_gflags_gflags"},
Fabian Meumertzheim2f098302021-06-22 08:03:47 +020052 sha256 = "5a39d51a6058348e6b683f5343a24d94e01c518c7a045101045e301a27efab13",
53 strip_prefix = "glog-a4a725d547a6c1329607db50af044c4fa329e07a",
54 url = "https://github.com/google/glog/archive/a4a725d547a6c1329607db50af044c4fa329e07a.tar.gz",
Fabian Meumertzheim8d966c42021-04-24 22:49:08 +020055 )
56
Fabian Meumertzheim889acea2021-10-08 13:11:02 +020057 maybe(
58 http_archive,
Fabian Meumertzheim8d966c42021-04-24 22:49:08 +020059 name = "com_google_absl",
Fabian Meumertzheimefb97812021-11-15 13:42:43 +010060 sha256 = "5e1cbf25bf501f8e37866000a6052d02dbdd7b19a5b592251c59a4c9aa5c71ae",
61 strip_prefix = "abseil-cpp-f2dbd918d8d08529800eb72f23bd2829f92104a4",
62 url = "https://github.com/abseil/abseil-cpp/archive/f2dbd918d8d08529800eb72f23bd2829f92104a4.zip",
Fabian Meumertzheim8d966c42021-04-24 22:49:08 +020063 )
64
Fabian Meumertzheim889acea2021-10-08 13:11:02 +020065 maybe(
66 http_archive,
Fabian Meumertzheim8d966c42021-04-24 22:49:08 +020067 name = "com_github_johnynek_bazel_jar_jar",
68 sha256 = "97c5f862482a05f385bd8f9d28a9bbf684b0cf3fae93112ee96f3fb04d34b193",
69 strip_prefix = "bazel_jar_jar-171f268569384c57c19474b04aebe574d85fde0d",
70 url = "https://github.com/johnynek/bazel_jar_jar/archive/171f268569384c57c19474b04aebe574d85fde0d.tar.gz",
71 )
72
Fabian Meumertzheim889acea2021-10-08 13:11:02 +020073 maybe(
74 http_archive,
Fabian Meumertzheimb8509952021-09-19 10:57:12 +020075 name = "com_github_jhalterman_typetools",
Fabian Meumertzheim4cf1d2a2021-12-15 09:26:03 +010076 build_file = Label("//third_party:typetools.BUILD"),
Fabian Meumertzheimb8509952021-09-19 10:57:12 +020077 sha256 = "754f46de7d4c278cee2d4dba3c09ebe08fde03d0e67fc85d700611d9cdfb7868",
78 strip_prefix = "typetools-887153d2a9adf032fac9f145594d0a0248618d48",
79 url = "https://github.com/jhalterman/typetools/archive/887153d2a9adf032fac9f145594d0a0248618d48.tar.gz",
80 )
81
82 maybe(
83 http_archive,
Fabian Meumertzheim4cf1d2a2021-12-15 09:26:03 +010084 build_file = Label("//third_party:classgraph.BUILD"),
Fabian Meumertzheimc91c0cc2021-09-13 21:43:37 +020085 name = "com_github_classgraph_classgraph",
Fabian Meumertzheim09c56b92021-10-21 09:44:31 +020086 sha256 = "535159d80c163d5b4d025c402b4562c92ed2d6d963db8c6c5255c0eb2c4e9f39",
87 strip_prefix = "classgraph-classgraph-4.8.128",
88 url = "https://github.com/classgraph/classgraph/archive/refs/tags/classgraph-4.8.128.tar.gz",
Fabian Meumertzheimc91c0cc2021-09-13 21:43:37 +020089 )
90
Fabian Meumertzheim889acea2021-10-08 13:11:02 +020091 maybe(
92 http_archive,
Fabian Meumertzheim27b15be2021-10-08 15:41:08 +020093 name = "fmeum_rules_jni",
Fabian Meumertzheimf20a7b32021-11-05 14:40:03 +010094 sha256 = "8d685e381cb625e11fac330085de2ebc13ad497d30c4e9b09beb212f7c27e8e7",
95 url = "https://github.com/fmeum/rules_jni/releases/download/v0.3.0/rules_jni-v0.3.0.tar.gz",
Fabian Meumertzheim27b15be2021-10-08 15:41:08 +020096 )
97
98 maybe(
99 http_archive,
Fabian Meumertzheim4cf1d2a2021-12-15 09:26:03 +0100100 build_file = Label("//third_party:asm.BUILD"),
Fabian Meumertzheim8d966c42021-04-24 22:49:08 +0200101 name = "jazzer_ow2_asm",
Fabian Meumertzheim20e44ac2021-07-03 22:48:09 +0200102 sha256 = "7b596cc584b241619911e99c5c96366fccd533b1a50b8720c151c2f74b5915e3",
103 strip_prefix = "asm-ASM_9_2",
104 url = "https://gitlab.ow2.org/asm/asm/-/archive/ASM_9_2/asm-ASM_9_2.tar.gz",
Fabian Meumertzheim8d966c42021-04-24 22:49:08 +0200105 )
106
Fabian Meumertzheim889acea2021-10-08 13:11:02 +0200107 maybe(
108 http_archive,
Fabian Meumertzheim8d966c42021-04-24 22:49:08 +0200109 name = "jazzer_com_github_gflags_gflags",
110 patches = [
Fabian Meumertzheim4cf1d2a2021-12-15 09:26:03 +0100111 Label("//third_party:gflags-use-double-dash-args.patch"),
Fabian Meumertzheim8d966c42021-04-24 22:49:08 +0200112 ],
113 sha256 = "ce2931dd537eaab7dab78b25bec6136a0756ca0b2acbdab9aec0266998c0d9a7",
114 strip_prefix = "gflags-827c769e5fc98e0f2a34c47cef953cc6328abced",
115 url = "https://github.com/gflags/gflags/archive/827c769e5fc98e0f2a34c47cef953cc6328abced.tar.gz",
116 )
117
Fabian Meumertzheim889acea2021-10-08 13:11:02 +0200118 maybe(
119 http_archive,
Fabian Meumertzheim8d966c42021-04-24 22:49:08 +0200120 name = "jazzer_jacoco",
Fabian Meumertzheim4cf1d2a2021-12-15 09:26:03 +0100121 build_file = Label("//third_party:jacoco_internal.BUILD"),
Fabian Meumertzheim8d966c42021-04-24 22:49:08 +0200122 patches = [
Fabian Meumertzheim4cf1d2a2021-12-15 09:26:03 +0100123 Label("//third_party:jacoco-make-probe-adapter-subclassable.patch"),
124 Label("//third_party:jacoco-make-probe-inserter-subclassable.patch"),
Fabian Meumertzheim8d966c42021-04-24 22:49:08 +0200125 ],
Fabian Meumertzheim3b7fc142021-11-16 15:54:42 +0100126 sha256 = "4a3c65b8a8ca58ffcec77288820f557ed93125e8a0b43dd7460b776c58bb8ed9",
127 strip_prefix = "jacoco-0.8.7-jazzer",
128 url = "https://github.com/CodeIntelligenceTesting/jacoco/archive/v0.8.7-jazzer.tar.gz",
Fabian Meumertzheim8d966c42021-04-24 22:49:08 +0200129 )
130
Fabian Meumertzheim889acea2021-10-08 13:11:02 +0200131 maybe(
132 http_archive,
Fabian Meumertzheim8d966c42021-04-24 22:49:08 +0200133 name = "jazzer_libfuzzer",
Fabian Meumertzheim4cf1d2a2021-12-15 09:26:03 +0100134 build_file = Label("//third_party:libFuzzer.BUILD"),
Fabian Meumertzheim5f7dfcb2021-11-30 15:28:21 +0100135 sha256 = "efde37ab5a9e4fff67f8cd43b701be5ea5ddb74a3bc10e4d8e91a614070145c3",
136 url = "https://github.com/CodeIntelligenceTesting/llvm-project-jazzer/releases/download/2021-11-30/jazzer-libfuzzer-2021-11-30.tar.gz",
Fabian Meumertzheim8d966c42021-04-24 22:49:08 +0200137 )