diff --git a/WORKSPACE b/WORKSPACE index 23acd127..b31727ce 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -90,11 +90,22 @@ llvm_toolchain( # }, ) +maybe( + http_archive, + name = "rules_proto", + sha256 = "dc3fb206a2cb3441b485eb1e423165b231235a1ea9b031b4433cf7bc1fa460dd", + strip_prefix = "rules_proto-5.3.0-21.7", + urls = [ + "https://github.com/bazelbuild/rules_proto/archive/refs/tags/5.3.0-21.7.tar.gz", + ], +) + maybe( http_archive, name = "rules_python", - sha256 = "b6d46438523a3ec0f3cead544190ee13223a52f6a6765a29eae7b7cc24cc83a0", - url = "https://github.com/bazelbuild/rules_python/releases/download/0.1.0/rules_python-0.1.0.tar.gz", + sha256 = "5868e73107a8e85d8f323806e60cad7283f34b32163ea6ff1020cf27abef6036", + strip_prefix = "rules_python-0.25.0", + url = "https://github.com/bazelbuild/rules_python/releases/download/0.25.0/rules_python-0.25.0.tar.gz", ) maybe( diff --git a/dependency_support/BUILD.bazel b/dependency_support/BUILD.bazel index 6913f02e..ef6e1aa9 100644 --- a/dependency_support/BUILD.bazel +++ b/dependency_support/BUILD.bazel @@ -1,4 +1,4 @@ -# Copyright 2020 Google LLC +# Copyright 2023 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -11,3 +11,48 @@ # 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. + +load("@bazel_skylib//rules:diff_test.bzl", "diff_test") +load("@bazel_skylib//rules:write_file.bzl", "write_file") +load("@rules_python//python:pip.bzl", "compile_pip_requirements") + +compile_pip_requirements(name = "pip_requirements") + +genrule( + name = "clean_requirements", + srcs = ["@rules_hdl_pip_deps//:requirements.bzl"], + outs = ["requirements.clean.bzl"], + cmd = " | ".join([ + "cat $<", + # Replace the bazel 6.0.0 specific comment with something that bazel 5.4.0 would produce. + # This enables this example to be run as a test under bazel 5.4.0. + """sed -e 's#@rules_hdl//#@//#'""", + ]) + " >$@", +) + +write_file( + name = "gen_update", + out = "update.sh", + content = [ + # This depends on bash, would need tweaks for Windows + "#!/usr/bin/env bash", + # Bazel gives us a way to access the source folder! + "cd $BUILD_WORKSPACE_DIRECTORY", + "cp -fv bazel-bin/dependency_support/requirements.clean.bzl dependency_support/requirements.bzl", + ], +) + +sh_binary( + name = "vendor_requirements", + srcs = ["update.sh"], + data = [":clean_requirements"], +) + +# Similarly ensures that the requirements.bzl file is updated +# based on the requirements.txt lockfile. +diff_test( + name = "test_vendored", + failure_message = "Please run: bazel run //dependency_support:vendor_requirements", + file1 = "requirements.bzl", + file2 = ":clean_requirements", +) diff --git a/dependency_support/com_github_quantamhd_lemon/bundled.BUILD.bazel b/dependency_support/com_github_quantamhd_lemon/bundled.BUILD.bazel index bd8ef6a9..0ff24c7f 100644 --- a/dependency_support/com_github_quantamhd_lemon/bundled.BUILD.bazel +++ b/dependency_support/com_github_quantamhd_lemon/bundled.BUILD.bazel @@ -54,6 +54,7 @@ cc_library( "-fexceptions", ], features = ["-use_header_modules"], # Incompatible with -fexception. + includes = ["."], deps = ["@org_gnu_glpk//:glpk"], visibility = [ "//visibility:public", diff --git a/dependency_support/com_github_yosyshq_nextpnr/bundled.BUILD.bazel b/dependency_support/com_github_yosyshq_nextpnr/bundled.BUILD.bazel index db8f623a..a71fbd9f 100644 --- a/dependency_support/com_github_yosyshq_nextpnr/bundled.BUILD.bazel +++ b/dependency_support/com_github_yosyshq_nextpnr/bundled.BUILD.bazel @@ -43,7 +43,7 @@ DEPS = [ "@boost//:system", "@boost//:thread", "@local_config_python//:python_headers", - "@org_tuxfamily_eigen//:eigen3", + "@eigen//:eigen3", ] DEFINES = [ diff --git a/dependency_support/com_google_absl/com_google_absl.bzl b/dependency_support/com_google_absl/com_google_absl.bzl index 16018d19..314a486e 100644 --- a/dependency_support/com_google_absl/com_google_absl.bzl +++ b/dependency_support/com_google_absl/com_google_absl.bzl @@ -14,14 +14,15 @@ """Registers Bazel workspaces for the GNU readline library.""" -load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") +load("@bazel_tools//tools/build_defs/repo:git.bzl", "git_repository") load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe") def com_google_absl(): maybe( - http_archive, + git_repository, name = "com_google_absl", - strip_prefix = "abseil-cpp-20211102.0", - urls = ["https://github.com/abseil/abseil-cpp/archive/refs/tags/20211102.0.zip"], - sha256 = "a4567ff02faca671b95e31d315bab18b42b6c6f1a60e91c6ea84e5a2142112c2", + tag = "20230125.3", + patches = ["@com_google_ortools//patches:abseil-cpp-20230125.3.patch"], + patch_args = ["-p1"], + remote = "https://github.com/abseil/abseil-cpp.git", ) diff --git a/dependency_support/com_google_ortools/BUILD b/dependency_support/com_google_ortools/BUILD new file mode 100644 index 00000000..b2e9de21 --- /dev/null +++ b/dependency_support/com_google_ortools/BUILD @@ -0,0 +1,15 @@ +# Copyright 2023 Google LLC +# +# Licensed 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. + +# Required to make this a package. diff --git a/dependency_support/com_google_ortools/com_google_ortools.bzl b/dependency_support/com_google_ortools/com_google_ortools.bzl new file mode 100644 index 00000000..f46f59f2 --- /dev/null +++ b/dependency_support/com_google_ortools/com_google_ortools.bzl @@ -0,0 +1,61 @@ +# Copyright 2023 Google LLC +# +# Licensed 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. + +"""Registers Bazel workspaces for the GNU readline library.""" + +load("@bazel_tools//tools/build_defs/repo:git.bzl", "new_git_repository") +load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") +load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe") + +def com_google_ortools(): + maybe( + http_archive, + name = "com_google_ortools", + strip_prefix = "or-tools-9.7", + urls = ["https://github.com/google/or-tools/archive/refs/tags/v9.7.tar.gz"], + sha256 = "054d9517fc6c83f15150c93ef1c2c674ffd7d4a0d1fdc78f6ef8bc3e25c2e339", + ) + maybe( + new_git_repository, + name = "scip", + build_file = "@com_google_ortools//bazel:scip.BUILD", + patches = ["@com_google_ortools//bazel:scip.patch"], + patch_args = ["-p1"], + tag = "v803", + remote = "https://github.com/scipopt/scip.git", + ) + maybe( + http_archive, + name = "bliss", + build_file = "@com_google_ortools//bazel:bliss.BUILD", + patches = ["@com_google_ortools//bazel:bliss-0.73.patch"], + sha256 = "f57bf32804140cad58b1240b804e0dbd68f7e6bf67eba8e0c0fa3a62fd7f0f84", + url = "https://github.com/google/or-tools/releases/download/v9.0/bliss-0.73.zip", + #url = "http://www.tcs.hut.fi/Software/bliss/bliss-0.73.zip", + ) + maybe( + new_git_repository, + name = "eigen", + tag = "3.4.0", + remote = "https://gitlab.com/libeigen/eigen.git", + build_file_content = """ +cc_library( + name = 'eigen3', + srcs = [], + includes = ['.'], + hdrs = glob(['Eigen/**']), + visibility = ['//visibility:public'], +) +""", + ) diff --git a/dependency_support/com_google_protobuf/BUILD b/dependency_support/com_google_protobuf/BUILD new file mode 100644 index 00000000..882dc0a0 --- /dev/null +++ b/dependency_support/com_google_protobuf/BUILD @@ -0,0 +1,15 @@ +# Copyright 2020 Google LLC +# +# Licensed 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. + +# Required to make this a package. diff --git a/dependency_support/org_tuxfamily_eigen/org_tuxfamily_eigen.bzl b/dependency_support/com_google_protobuf/com_google_protobuf.bzl similarity index 56% rename from dependency_support/org_tuxfamily_eigen/org_tuxfamily_eigen.bzl rename to dependency_support/com_google_protobuf/com_google_protobuf.bzl index 80e0ef32..0ca4a3c5 100644 --- a/dependency_support/org_tuxfamily_eigen/org_tuxfamily_eigen.bzl +++ b/dependency_support/com_google_protobuf/com_google_protobuf.bzl @@ -12,17 +12,17 @@ # See the License for the specific language governing permissions and # limitations under the License. -"""Loads the Eigen C++ template library for linear algebra.""" +"""Registers Bazel workspaces for the GNU readline library.""" -load("@bazel_tools//tools/build_defs/repo:git.bzl", "new_git_repository") +load("@bazel_tools//tools/build_defs/repo:git.bzl", "git_repository") load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe") -def org_tuxfamily_eigen(): +def com_google_protobuf(): maybe( - new_git_repository, - name = "org_tuxfamily_eigen", - build_file = Label("@rules_hdl//dependency_support/org_tuxfamily_eigen:bundled.BUILD.bazel"), - commit = "eb71e5db988d4a23e619ed054efd3eb751cdd026", # 2021-03-17 - remote = "https://gitlab.com/libeigen/eigen.git", - shallow_since = "1615946824 +0100", + git_repository, + name = "com_google_protobuf", + tag = "v23.3", + patches = ["@com_google_ortools//patches:protobuf-v23.3.patch"], + patch_args = ["-p1"], + remote = "https://github.com/protocolbuffers/protobuf.git", ) diff --git a/dependency_support/dependency_support.bzl b/dependency_support/dependency_support.bzl index c59b0f05..ee95eec1 100644 --- a/dependency_support/dependency_support.bzl +++ b/dependency_support/dependency_support.bzl @@ -33,6 +33,8 @@ load("@rules_hdl//dependency_support/com_github_yosyshq_prjtrellis:com_github_yo load("@rules_hdl//dependency_support/com_github_yosyshq_prjtrellis_db:com_github_yosyshq_prjtrellis_db.bzl", "com_github_yosyshq_prjtrellis_db") load("@rules_hdl//dependency_support/com_google_absl:com_google_absl.bzl", "com_google_absl") load("@rules_hdl//dependency_support/com_google_googletest:com_google_googletest.bzl", "com_google_googletest") +load("@rules_hdl//dependency_support/com_google_ortools:com_google_ortools.bzl", "com_google_ortools") +load("@rules_hdl//dependency_support/com_google_protobuf:com_google_protobuf.bzl", "com_google_protobuf") load("@rules_hdl//dependency_support/com_google_skywater_pdk:com_google_skywater_pdk.bzl", "com_google_skywater_pdk") load("@rules_hdl//dependency_support/com_icarus_iverilog:com_icarus_iverilog.bzl", "com_icarus_iverilog") load("@rules_hdl//dependency_support/com_opencircuitdesign_magic:com_opencircuitdesign_magic.bzl", "com_opencircuitdesign_magic") @@ -56,7 +58,6 @@ load("@rules_hdl//dependency_support/org_sourceware_libffi:org_sourceware_libffi load("@rules_hdl//dependency_support/org_swig:org_swig.bzl", "org_swig") load("@rules_hdl//dependency_support/org_theopenroadproject:org_theopenroadproject.bzl", "org_theopenroadproject") load("@rules_hdl//dependency_support/org_theopenroadproject_asap7:org_theopenroadproject_asap7.bzl", "org_theopenroadproject_asap7") -load("@rules_hdl//dependency_support/org_tuxfamily_eigen:org_tuxfamily_eigen.bzl", "org_tuxfamily_eigen") load("@rules_hdl//dependency_support/pybind11:pybind11.bzl", "pybind11") load("@rules_hdl//dependency_support/tk_tcl:tk_tcl.bzl", "tk_tcl") load("@rules_hdl//dependency_support/verilator:verilator.bzl", "verilator") @@ -78,6 +79,8 @@ def dependency_support(): com_github_yosyshq_prjtrellis_db() com_google_absl() com_google_googletest() + com_google_protobuf() + com_google_ortools() com_google_skywater_pdk() com_icarus_iverilog() com_opencircuitdesign_magic() @@ -101,7 +104,6 @@ def dependency_support(): org_swig() org_theopenroadproject() org_theopenroadproject_asap7() - org_tuxfamily_eigen() pybind11() tk_tcl() verilator() diff --git a/dependency_support/org_theopenroadproject/0001-logging-change-to-support-silence.patch b/dependency_support/org_theopenroadproject/0001-logging-change-to-support-silence.patch index f1a5748e..889af621 100644 --- a/dependency_support/org_theopenroadproject/0001-logging-change-to-support-silence.patch +++ b/dependency_support/org_theopenroadproject/0001-logging-change-to-support-silence.patch @@ -1,17 +1,17 @@ diff --git a/src/Main.cc b/src/Main.cc -index c0167bf7d..4e33b7636 100755 +index 4285d3850..638690e9c 100644 --- a/src/Main.cc +++ b/src/Main.cc -@@ -89,6 +89,8 @@ int cmd_argc; - char **cmd_argv; +@@ -124,6 +124,8 @@ int cmd_argc; + char** cmd_argv; const char* log_filename = nullptr; const char* metrics_filename = nullptr; +bool quiet_logs = false; +bool silent_logs = false; - static const char *init_filename = ".openroad"; + static const char* init_filename = ".openroad"; -@@ -195,6 +197,14 @@ main(int argc, +@@ -262,6 +264,14 @@ int main(int argc, char* argv[]) remove(metrics_filename); } @@ -26,37 +26,20 @@ index c0167bf7d..4e33b7636 100755 cmd_argc = argc; cmd_argv = argv; #ifdef ENABLE_PYTHON3 -@@ -232,6 +242,7 @@ main(int argc, - } - #endif - -+ - // Set argc to 1 so Tcl_Main doesn't source any files. - // Tcl_Main never returns. - Tcl_Main(1, argv, ord::tclAppInit); -@@ -385,7 +396,7 @@ ord::tclAppInit(Tcl_Interp *interp) - static void - showUsage(const char *prog, const char *init_filename) - { -- printf("Usage: %s [-help] [-version] [-no_init] [-exit] [-gui] [-threads count|max] [-log file_name] cmd_file\n", prog); -+ printf("Usage: %s [-help] [-version] [-no_init] [-exit] [-gui] [-threads count|max] [-log file_name] [-silent] [-quiet] cmd_file\n", prog); - printf(" -help show help and exit\n"); - printf(" -version show version and exit\n"); - printf(" -no_init do not read %s init file\n", init_filename); -@@ -397,6 +408,8 @@ showUsage(const char *prog, const char *init_filename) - printf(" -python start with python interpreter [limited to db operations]\n"); - #endif - printf(" -log write a log in \n"); +@@ -485,6 +495,8 @@ static void showUsage(const char* prog, const char* init_filename) + printf(" -log write a log in \n"); + printf( + " -metrics write metrics in in JSON format\n"); + printf(" -quiet only emit warnings and above to the console\n"); + printf(" -silent do not emit logs to console.\n"); - printf(" cmd_file source cmd_file\n"); + printf(" cmd_file source cmd_file\n"); } diff --git a/src/OpenRoad.cc b/src/OpenRoad.cc -index d5e1a6ed9..01e023493 100755 +index 519c7a9e4..833bb0fef 100644 --- a/src/OpenRoad.cc +++ b/src/OpenRoad.cc -@@ -98,6 +98,8 @@ extern int Odbtcl_Init(Tcl_Interp *interp); +@@ -103,6 +103,8 @@ extern int Upf_Init(Tcl_Interp* interp); // Main.cc set by main() extern const char* log_filename; extern const char* metrics_filename; @@ -65,7 +48,7 @@ index d5e1a6ed9..01e023493 100755 namespace ord { -@@ -204,7 +206,7 @@ OpenRoad::init(Tcl_Interp *tcl_interp) +@@ -182,7 +184,7 @@ void OpenRoad::init(Tcl_Interp* tcl_interp) tcl_interp_ = tcl_interp; // Make components. @@ -75,11 +58,11 @@ index d5e1a6ed9..01e023493 100755 sta_ = makeDbSta(); verilog_network_ = makeDbVerilogNetwork(); diff --git a/src/utl/include/utl/Logger.h b/src/utl/include/utl/Logger.h -index de27099ce..989cc2b79 100644 +index c96abbe49..0f8511944 100644 --- a/src/utl/include/utl/Logger.h +++ b/src/utl/include/utl/Logger.h -@@ -95,12 +95,22 @@ enum ToolId - SIZE // the number of tools, do not put anything after this +@@ -104,19 +104,33 @@ enum ToolId + SIZE // the number of tools, do not put anything after this }; +enum LogMode { @@ -87,38 +70,34 @@ index de27099ce..989cc2b79 100644 + QUIET, + SILENT, +}; ++ + class Logger { public: // Use nullptr if messages or metrics are not logged to a file. -- Logger(const char* filename = nullptr, -- const char *metrics_filename = nullptr); -+ // Passing in true for quiet_logs will set the log level of stdout to warning -+ // and above. -+ // -+ // Passing in true for silent_logs will disable stdout logging. -+ Logger(const char* filename = nullptr, const char* metrics_filename = nullptr, + Logger(const char* filename = nullptr, +- const char* metrics_filename = nullptr); ++ const char* metrics_filename = nullptr, + const bool quiet_logs = false, const bool silent_logs = false); ~Logger(); - static ToolId findToolId(const char *tool_name); - -@@ -108,7 +118,13 @@ class Logger - inline void report(const std::string& message, - const Args&... args) - { -- logger_->log(spdlog::level::level_enum::off, message, args...); -+ spdlog::level::level_enum report_level = spdlog::level::level_enum::off; + static ToolId findToolId(const char* tool_name); + + template + inline void report(const std::string& message, const Args&... args) + { +- logger_->log(spdlog::level::level_enum::off, FMT_RUNTIME(message), args...); ++ spdlog::level::level_enum report_level = spdlog::level::level_enum::off; + -+ if (log_mode_ == LogMode::QUIET || log_mode_ == LogMode::SILENT) { -+ report_level = spdlog::level::level_enum::info; -+ } ++ if (log_mode_ == LogMode::QUIET || log_mode_ == LogMode::SILENT) { ++ report_level = spdlog::level::level_enum::info; ++ } + -+ logger_->log(report_level, message, args...); - } ++ logger_->log(report_level, FMT_RUNTIME(message), args...); + } - // Do NOT call this directly, use the debugPrint macro instead (defined below) -@@ -283,6 +299,7 @@ class Logger + // Do NOT call this directly, use the debugPrint macro instead (defined +@@ -302,6 +316,7 @@ class Logger std::vector sinks_; std::shared_ptr logger_; std::stack metrics_stages_; @@ -127,34 +106,24 @@ index de27099ce..989cc2b79 100644 // This matrix is pre-allocated so it can be safely updated // from multiple threads without locks. diff --git a/src/utl/include/utl/MakeLogger.h b/src/utl/include/utl/MakeLogger.h -index 543d48054..d4953d2b7 100644 +index 34fd71210..996982708 100644 --- a/src/utl/include/utl/MakeLogger.h +++ b/src/utl/include/utl/MakeLogger.h -@@ -45,9 +45,8 @@ struct Tcl_Interp; +@@ -45,7 +45,8 @@ struct Tcl_Interp; namespace ord { --utl::Logger * --makeLogger(const char *log_filename, -- const char *metrics_filename); +-utl::Logger* makeLogger(const char* log_filename, const char* metrics_filename); +utl::Logger *makeLogger(const char *log_filename, const char *metrics_filename, + const bool quiet_logs, const bool silent_logs); - void - initLogger(utl::Logger *logger, - Tcl_Interp *tcl_interp); + void initLogger(utl::Logger* logger, Tcl_Interp* tcl_interp); + + } // namespace ord diff --git a/src/utl/src/Logger.cpp b/src/utl/src/Logger.cpp -index be99dabb9..febef1829 100644 +index e7afdc316..ee4929ee8 100644 --- a/src/utl/src/Logger.cpp +++ b/src/utl/src/Logger.cpp -@@ -35,6 +35,7 @@ - - #include "utl/Logger.h" - -+#include - #include - #include - #include -@@ -42,12 +43,14 @@ +@@ -42,12 +42,14 @@ #include "spdlog/sinks/basic_file_sink.h" #include "spdlog/sinks/stdout_color_sinks.h" #include "spdlog/spdlog.h" @@ -165,17 +134,16 @@ index be99dabb9..febef1829 100644 int Logger::max_message_print = 1000; --Logger::Logger(const char* log_filename, const char *metrics_filename) +-Logger::Logger(const char* log_filename, const char* metrics_filename) +Logger::Logger(const char* log_filename, const char *metrics_filename, const bool quiet_logs, const bool silent_logs) - : debug_on_(false) + : debug_on_(false) { // This ensures it is safe to update the message counters -@@ -55,10 +58,24 @@ Logger::Logger(const char* log_filename, const char *metrics_filename) +@@ -55,7 +57,20 @@ Logger::Logger(const char* log_filename, const char* metrics_filename) static_assert(std::atomic::is_always_lock_free, "message counter should be atomic"); -- sinks_.push_back(std::make_shared()); -- if (log_filename) +- sinks_.push_back(std::make_shared()); + log_mode_ = LogMode::FULL; + auto stdout = std::make_shared(); + @@ -190,24 +158,18 @@ index be99dabb9..febef1829 100644 + sinks_.push_back(stdout); + } + -+ if (log_filename) { - sinks_.push_back(std::make_shared(log_filename)); -- -+ } -+ - logger_ = std::make_shared("logger", sinks_.begin(), sinks_.end()); - logger_->set_pattern(pattern_); - logger_->set_level(spdlog::level::level_enum::debug); + if (log_filename) + sinks_.push_back( + std::make_shared(log_filename)); diff --git a/src/utl/src/MakeLogger.cpp b/src/utl/src/MakeLogger.cpp -index 05ee22281..9ff5785ee 100644 +index 942ee7999..2f20ea5da 100644 --- a/src/utl/src/MakeLogger.cpp +++ b/src/utl/src/MakeLogger.cpp -@@ -46,10 +46,9 @@ namespace ord { +@@ -47,9 +47,9 @@ namespace ord { using utl::Logger; --Logger * --makeLogger(const char *log_filename, const char *metrics_filename) +-Logger* makeLogger(const char* log_filename, const char* metrics_filename) -{ - return new Logger(log_filename, metrics_filename); +Logger *makeLogger(const char *log_filename, const char *metrics_filename, @@ -215,4 +177,4 @@ index 05ee22281..9ff5785ee 100644 + return new Logger(log_filename, metrics_filename, quiet_logs, silent_logs); } - void \ No newline at end of file + void initLogger(Logger* logger, Tcl_Interp* tcl_interp) diff --git a/dependency_support/org_theopenroadproject/0002-ortools-quotes.patch b/dependency_support/org_theopenroadproject/0002-ortools-quotes.patch new file mode 100644 index 00000000..be48c950 --- /dev/null +++ b/dependency_support/org_theopenroadproject/0002-ortools-quotes.patch @@ -0,0 +1,53 @@ +diff --git a/src/gpl/src/mbff.cpp b/src/gpl/src/mbff.cpp +index 795d9c453..0c3e2f5a1 100644 +--- a/src/gpl/src/mbff.cpp ++++ b/src/gpl/src/mbff.cpp +@@ -37,11 +37,11 @@ + #include + #include + #include +-#include +-#include +-#include +-#include +-#include ++#include "ortools/base/logging.h" ++#include "ortools/linear_solver/linear_solver.h" ++#include "ortools/sat/cp_model.h" ++#include "ortools/sat/cp_model.pb.h" ++#include "ortools/sat/cp_model_solver.h" + + #include + #include +diff --git a/src/mpl2/src/bus_synthesis.cpp b/src/mpl2/src/bus_synthesis.cpp +index cbb4d36d4..0e2c9f5f7 100644 +--- a/src/mpl2/src/bus_synthesis.cpp ++++ b/src/mpl2/src/bus_synthesis.cpp +@@ -33,7 +33,7 @@ + + #include "bus_synthesis.h" + +-#include ++#include "ortools/linear_solver/linear_solver.h" + + #include + #include +diff --git a/src/par/src/Utilities.cpp b/src/par/src/Utilities.cpp +index 34c246e21..1a82bea9e 100644 +--- a/src/par/src/Utilities.cpp ++++ b/src/par/src/Utilities.cpp +@@ -37,10 +37,10 @@ + /////////////////////////////////////////////////////////////////////////////// + #include "Utilities.h" + +-#include +-#include +-#include +-#include ++#include "ortools/base/commandlineflags.h" ++#include "ortools/base/logging.h" ++#include "ortools/linear_solver/linear_solver.h" ++#include "ortools/linear_solver/linear_solver.pb.h" + + #include + #include diff --git a/dependency_support/org_theopenroadproject/build_helper.bzl b/dependency_support/org_theopenroadproject/build_helper.bzl new file mode 100644 index 00000000..6756f802 --- /dev/null +++ b/dependency_support/org_theopenroadproject/build_helper.bzl @@ -0,0 +1,414 @@ +"""Source Tracking for OpenROAD""" + +OPENROAD_BINARY_SRCS_WITHOUT_MAIN = [ + #Root OpenRoad + ":openroad_swig", + ":openroad_tcl", + #Utility + ":logger_swig", + #InitFp + ":init_floorplan_swig", + ":init_floorplan_tcl", + #OpenDB + ":opendb_tcl", + ":opendb_tcl_common", + ":upf_swig", + ":upf_tcl", + #DbSTA + ":db_sta_tcl", + ":dbsta_swig", + #ioPlacer + ":ioplacer_tcl", + ":ioplacer_swig", + #Resizer + ":resizer_swig", + ":resizer_tcl", + #OpenDP + ":opendp_swig", + ":opendp_tcl", + #finale + ":finale_swig", + ":finale_tcl", + #TritionMP + ":tritonmp_swig", + ":tritonmp_tcl", + #antenna_checker + ":ant_swig", + ":ant_tcl", + #FastRoute + ":fastroute_swig", + ":fastroute_tcl", + #Replace + ":replace_swig", + ":replace_tcl", + #TritonCTS + ":triton_cts_tcl", + ":triton_cts_swig", + #Tapcell + ":tapcell_swig", + ":tapcell_tcl", + #OpenRCX + ":rcx_swig", + ":rcx_tcl", + #TritonRoute + ":triton_route_swig", + ":triton_route_tcl", + #PDNSim + ":pdn_sim_swig", + ":pdn_sim_tcl", + #PartitionManager + ":partition_manager_swig", + ":partition_manager_tcl", + #PDNGen + ":pdngen_tcl", + ":pdngen_swig", + #MPL2 + ":mpl2_swig", + ":mpl2_tcl", + #RMP + ":rmp_swig", + ":rmp_tcl", + #STT + ":stt_swig", + ":stt_tcl", + #Distributed + ":dst_swig", + ":dst_tcl", + #Dpo + ":dpo_swig", + ":dpo_tcl", + #Pad + ":pad_swig", + ":pad_tcl", + #dft + ":dft_swig", + ":dft_tcl", +] + +OPENROAD_BINARY_SRCS = OPENROAD_BINARY_SRCS_WITHOUT_MAIN + [ + #Root OpenRoad + "src/Main.cc", +] + +OPENROAD_COPTS = [ + "-fexceptions", + "-Wno-error", + "-Wall", + "-Wextra", + "-pedantic", + "-Wno-cast-qual", # typically from TCL swigging + "-Wno-missing-braces", # typically from TCL swigging + "-Wredundant-decls", + "-Wformat-security", + "-Wno-sign-compare", + "-Wno-unused-parameter", +] + +OPENROAD_BINARY_DEPS = [ + ":logger", + ":opendb_lib", + ":openroad_version", + ":opensta_lib", + "@tk_tcl//:tcl", +] + +OPENROAD_LIBRARY_HDRS_INCLUDE = [ + #Root OpenRoad + "include/ord/*.h", + "include/ord/*.hh", + #Utility + "src/utl/include/utl/*.h", + #InitFp + "src/ifp/include/ifp/*.hh", + #GUI + "src/gui/include/gui/*.h", + #DbSTA + "src/dbSta/include/db_sta/*.hh", + #ioPlacer + "src/ppl/include/ppl/*.h", + #Resizer + "src/rsz/include/rsz/*.hh", + #OpenDP + "src/dpl/include/dpl/*.h", + #finale + "src/fin/include/fin/*.h", + #TritonMP + "src/mpl/include/mpl/*.h", + #antenna_checker + "src/ant/include/ant/*.hh", + #FastRoute + "src/grt/src/fastroute/include/*.h", + "src/grt/include/grt/*.h", + #Replace + "src/gpl/include/gpl/*.h", + #TritonCTS + "src/cts/include/cts/*.h", + #Tapcell + "src/tap/include/tap/*.h", + #OpenRCX + "src/rcx/include/rcx/*.h", + #TritonRoute + "src/drt/include/triton_route/*.h", + #PDNSim + "src/psm/include/psm/*.h", + "src/psm/include/psm/*.hh", + #PartitionManager + "src/par/src/*.h", + "src/par/include/par/*.h", + #PDNGen + "src/pdn/include/pdn/*.hh", + #STT + "src/stt/include/stt/*.h", + #MPL2 + "src/mpl2/include/mpl2/*.h", + #RMP + "src/rmp/include/rmp/*.h", + #Distributed + "src/dst/include/dst/*.h", + #Dpo + "src/dpo/include/dpo/*.h", + #pad + "src/pad/include/pad/*.h", + #dft + "src/dft/include/dft/*.hh", + #upf + "src/upf/include/upf/*.h", +] + +OPENROAD_LIBRARY_INCLUDES = [ + #Root OpenRoad + "include", + #OpenDBTCL + "src/odb/src/swig/common", + #DbSTA + "src/dbSta/include", + "src/dbSta/include/db_sta", + #GUI + "src/gui/include", + #InitFp + "src/ifp/include", + #ioPlacer + "src/ppl/include", + "src/ppl/include/ppl", + "src/ppl/src", + #Resizer + "src/rsz/include", + "src/rsz/include/rsz", + "src/rsz/src", + #OpenDP + "src/dpl/src", + "src/dpl/include", + "src/dpl/include/dpl", + #finale + "src/fin/include", + "src/fin/include/fin", + #TritonMP + "src/mpl/include", + "src/mpl/include/mpl", + #antenna_checker + "src/ant/include", + "src/ant/include/ant", + #FastRoute + "src/grt/src/fastroute/include", + "src/grt/include/grt", + "src/grt/include", + "src/grt/src", + #Replace + "src/gpl/include/gpl", + "src/gpl/include", + #TritonCTS + "src/cts/src", + "src/cts/include", + #Tapcell + "src/tap/include/tap", + "src/tap/include", + #OpenRCX + "src/rcx/include/rcx", + "src/rcx/include", + #TritonRoute + "src/drt/include/triton_route", + "src/drt/src", + "src/drt/include", + #PDNSim + "src/psm/include/psm", + "src/psm/include", + #PartitionManager + "src/par/include", + "src/par/include/par", + "src/par/src/MLPart/src", + "src/par/src/MLPart/mlpart", + "src/par/src/MLPart/mlpart/ABKCommon", + #PDNGen + "src/pdn/include", + "src/pdn/include/pdn", + #MPL2 + "src/mpl2/include", + "src/mpl2/src", + #RMP + "src/rmp/include", + #STT + "src/stt/include", + "src/stt/include/stt", + "src/stt/src", + #Distributed + "src/dst/include", + "src/dst/include/dst", + #Dpo + "src/dpo/include", + "src/dpo/include/dpo", + #pad + "src/pad/include", + #utl + "src/utl/src", + #dft + "src/dft/include", + "src/dft/src/clock_domain", + "src/dft/src/config", + "src/dft/src/utils", + "src/dft/src/cells", + "src/dft/src/replace", + "src/dft/src/architect", + "src/dft/src/stitch", + #upf + "src/upf/include", +] + +OPENROAD_LIBRARY_DEPS = [ + ":ParquetFP", + ":logger", + ":munkres", + ":opendb_lib", + ":openroad_version", + ":opensta_lib", + "@com_google_ortools//ortools/base:base", + "@com_google_ortools//ortools/linear_solver:linear_solver", + "@com_google_ortools//ortools/linear_solver:linear_solver_cc_proto", + "@com_google_ortools//ortools/sat:cp_model", + "@edu_berkeley_abc//:abc-lib", + "@com_google_absl//absl/flags:flag", + "@com_google_absl//absl/strings", + "@com_google_absl//absl/types:span", + "@boost//:asio", + "@boost//:geometry", + "@boost//:graph", + "@boost//:heap", + "@boost//:icl", + "@boost//:multi_array", + "@boost//:polygon", + "@boost//:property_tree", + "@boost//:stacktrace", + "@boost//:thread", + "@eigen//:eigen3", + "@com_github_quantamhd_lemon//:lemon", + "@org_llvm_openmp//:openmp", + "@com_github_gabime_spdlog//:spdlog", + "@tk_tcl//:tcl", +] + +OPENROAD_LIBRARY_SRCS_EXCLUDE = [ + "src/Main.cc", + "src/rsz/src/Unused.cc", + "src/drt/src/main.cpp", + "src/utl/src/Logger.cpp", + "src/utl/src/Metrics.cpp", + "src/utl/src/CFileUtils.cpp", + "src/par/src/MLPart/mlpart/ABKCommon/abkrand_templ.cxx", + "src/par/src/MLPart/mlpart/Partitioners/aGreedMoveMan.cxx", + "src/par/src/MLPart/mlpart/Combi/grayPermut.cxx", +] + +OPENROAD_LIBRARY_SRCS_INCLUDE = [ + #Root OpenRoad + "src/*.cc", + "src/*.cpp", + #Utility + "src/utl/src/*.cpp", + "src/utl/src/*.h", + #InitFp + "src/ifp/src/*.cc", + #DbSTA + "src/dbSta/src/*.cc", + "src/dbSta/src/*.cpp", + "src/dbSta/src/*.hh", + "src/dbSta/src/*.h", + #ioPlacer + "src/ppl/src/*.cpp", + "src/ppl/src/*.h", + #Resizer + "src/rsz/src/*.cc", + "src/rsz/src/*.hh", + "src/rsz/src/*.h", + #OpenDP + "src/dpl/src/*.cpp", + "src/dpl/src/*.h", + #finale + "src/fin/src/*.cpp", + "src/fin/src/*.h", + #TritionMP + "src/mpl/src/*.cpp", + "src/mpl/src/*.h", + #antenna_checker + "src/ant/src/*.cc", + #FastRoute + "src/grt/src/fastroute/src/*.cpp", + "src/grt/src/fastroute/src/*.h", + "src/grt/src/*.h", + "src/grt/src/*.cpp", + #Replace + "src/gpl/src/*.cpp", + "src/gpl/src/*.h", + #TritonCTS + "src/cts/src/*.h", + "src/cts/src/*.cpp", + #Tapcell + "src/tap/src/*.cpp", + #OpenRCX + "src/rcx/src/*.cpp", + "src/rcx/src/*.h", + #TritonRoute + "src/drt/src/*.cpp", + "src/drt/src/*.h", + "src/drt/src/**/*.h", + "src/drt/src/**/*.cpp", + "src/drt/src/**/*.cc", + #PDNSim + "src/psm/src/*.cpp", + "src/psm/src/*.h", + #PartitionManager + "src/par/src/*.cpp", + "src/par/src/MLPart/mlpart/**/*.cxx", + "src/par/src/MLPart/mlpart/**/*.h", + "src/par/src/MLPart/mlpart/**/*.inl", + "src/par/src/MLPart/src/*.h", + "src/par/src/MLPart/src/*.cpp", + #PDNGen + "src/pdn/src/*.cc", + "src/pdn/src/*.cpp", + "src/pdn/src/*.h", + #STT + "src/stt/src/*.cpp", + "src/stt/src/*.h", + "src/stt/src/pdr/src/*.h", + "src/stt/src/pdr/src/*.cpp", + "src/stt/src/flt/*.cpp", + #MPL2 + "src/mpl2/src/*.cpp", + "src/mpl2/src/*.h", + #RMP + "src/rmp/src/*.cpp", + #Distributed + "src/dst/src/*.cc", + "src/dst/src/*.h", + #Dpo + "src/dpo/src/*.cpp", + "src/dpo/src/*.cxx", + "src/dpo/src/*.h", + #pad + "src/pad/src/*.cpp", + "src/pad/src/*.h", + #upf + "src/upf/src/*.cpp", + #dft + "src/dft/src/**/*.cpp", + "src/dft/src/**/*.hh", +] diff --git a/dependency_support/org_theopenroadproject/bundled.BUILD.bazel b/dependency_support/org_theopenroadproject/bundled.BUILD.bazel index b573643c..b03a1c2c 100644 --- a/dependency_support/org_theopenroadproject/bundled.BUILD.bazel +++ b/dependency_support/org_theopenroadproject/bundled.BUILD.bazel @@ -12,12 +12,37 @@ # See the License for the specific language governing permissions and # limitations under the License. -load("@rules_hdl//dependency_support/org_theopenroadproject:tcl_wrap_cc.bzl", "tcl_wrap_cc") -load("@rules_hdl//dependency_support/org_theopenroadproject:tcl_encode.bzl", "tcl_encode") -load("@rules_hdl//dependency_support/com_github_westes_flex:flex.bzl", "genlex") +# load("", "py_extension") +# load("", "py_library") +load("@bazel_skylib//rules:common_settings.bzl", "string_flag") + load("@rules_hdl//dependency_support/org_gnu_bison:bison.bzl", "genyacc") +load("@rules_hdl//dependency_support/com_github_westes_flex:flex.bzl", "genlex") + +load( + "@rules_hdl//dependency_support/org_theopenroadproject:build_helper.bzl", + "OPENROAD_BINARY_DEPS", + "OPENROAD_BINARY_SRCS", + "OPENROAD_BINARY_SRCS_WITHOUT_MAIN", + "OPENROAD_COPTS", + "OPENROAD_LIBRARY_DEPS", + "OPENROAD_LIBRARY_HDRS_INCLUDE", + "OPENROAD_LIBRARY_INCLUDES", + "OPENROAD_LIBRARY_SRCS_EXCLUDE", + "OPENROAD_LIBRARY_SRCS_INCLUDE", +) +load("@rules_hdl//dependency_support/org_theopenroadproject:tcl_encode.bzl", "tcl_encode") -package(features = ["-parse_headers"]) +load("@rules_hdl//dependency_support/org_theopenroadproject:tcl_wrap_cc.bzl", "tcl_wrap_cc") + +package( + features = [ + "-parse_headers", + "-layering_check", + # TODO(b/299593765): Fix strict ordering. + "-libcxx_strict_weak_ordering_check", + ], +) # OpenRoad Physical Synthesis licenses(["restricted"]) @@ -27,393 +52,96 @@ exports_files([ "src/sta/etc/TclEncode.tcl", ]) +string_flag( + name = "platform", + build_setting_default = "cli", + values = [ + "cli", + ], +) + +config_setting( + name = "platform_cli", + flag_values = { + ":platform": "cli", + }, +) + cc_binary( name = "openroad", - srcs = [ - #Root OpenRoad - "src/Main.cc", - ":openroad_swig", - ":openroad_tcl", - #Utility - ":logger_swig", - #InitFp - ":init_floorplan_swig", - ":init_floorplan_tcl", - #OpenDB - ":opendb_tcl", - ":opendb_tcl_common", - #DbSTA - ":db_sta_tcl", - ":dbsta_swig", - #ioPlacer - ":ioplacer_tcl", - ":ioplacer_swig", - #Resizer - ":resizer_swig", - ":resizer_tcl", - #OpenDP - ":opendp_swig", - ":opendp_tcl", - #finale - ":finale_swig", - ":finale_tcl", - #TritionMP - ":tritonmp_swig", - ":tritonmp_tcl", - #antenna_checker - ":ant_swig", - ":ant_tcl", - #FastRoute - ":fastroute_swig", - ":fastroute_tcl", - #Replace - ":replace_swig", - ":replace_tcl", - #TritonCTS - ":triton_cts_tcl", - ":triton_cts_swig", - #Tapcell - ":tapcell_swig", - ":tapcell_tcl", - #OpenRCX - ":rcx_swig", - ":rcx_tcl", - #TritonRoute - ":triton_route_swig", - ":triton_route_tcl", - #PDNSim - ":pdn_sim_swig", - ":pdn_sim_tcl", - #PartitionManager - ":partition_manager_swig", - ":partition_manager_tcl", - #PDNGen - ":pdngen_tcl", - ":pdngen_swig", - #MPL2 - ":mpl2_swig", - ":mpl2_tcl", - #RMP - ":rmp_swig", - ":rmp_tcl", - #STT - ":stt_swig", - ":stt_tcl", - #Distributed - ":dst_swig", - ":dst_tcl", - #Dpo - ":dpo_swig", - ":dpo_tcl", - ], - copts = [ - "-fexceptions", - "-Wno-error", - "-Wall", - "-Wextra", - "-pedantic", - "-Wcast-qual", - "-Wredundant-decls", - "-Wformat-security", - "-fopenmp" - ], + srcs = OPENROAD_BINARY_SRCS + select({ + ":platform_cli": [], + }), + copts = OPENROAD_COPTS, features = ["-use_header_modules"], + linkopts = select({ + ":platform_cli": [], + }), visibility = ["//visibility:public"], - deps = [ - ":logger", - ":opendb_lib", - ":openroad_lib", - ":openroad_version", - ":opensta_lib", - "@tk_tcl//:tcl", - "@boost//:stacktrace", - ], + deps = OPENROAD_BINARY_DEPS + select({ + ":platform_cli": [":openroad_lib_private"], + }), ) cc_library( - name = "openroad_lib", + name = "openroad_lib_private", srcs = glob( - include = [ - #Root OpenRoad - "src/*.cc", - "src/*.cpp", - #Utility - "src/utl/src/*.cpp", - #InitFp - "src/ifp/src/*.cc", + include = OPENROAD_LIBRARY_SRCS_INCLUDE + [ #GUI Disabled "src/gui/src/stub.cpp", "src/gui/src/stub_heatMap.cpp", - #DbSTA - "src/dbSta/src/*.cc", - "src/dbSta/src/*.cpp", - "src/dbSta/src/*.hh", - "src/dbSta/src/*.h", - #ioPlacer - "src/ppl/src/*.cpp", - "src/ppl/src/*.h", - #Resizer - "src/rsz/src/*.cc", - "src/rsz/src/*.hh", - #OpenDP - "src/dpl/src/*.cpp", - "src/dpl/src/*.h", - #finale - "src/fin/src/*.cpp", - "src/fin/src/*.h", - #TritionMP - "src/mpl/src/*.cpp", - "src/mpl/src/*.h", - #antenna_checker - "src/ant/src/*.cc", - #FastRoute - "src/grt/src/fastroute/src/*.cpp", - "src/grt/src/fastroute/src/*.h", - "src/grt/src/*.h", - "src/grt/src/*.cpp", - #Replace - "src/gpl/src/*.cpp", - "src/gpl/src/*.h", - #TritonCTS - "src/cts/src/*.h", - "src/cts/src/*.cpp", - #Tapcell - "src/tap/src/*.cpp", - #OpenRCX - "src/rcx/src/*.cpp", - #TritonRoute - "src/drt/src/*.cpp", - "src/drt/src/*.h", - "src/drt/src/**/*.h", - "src/drt/src/**/*.cpp", - "src/drt/src/**/*.cc", - #PDNSim - "src/psm/src/*.cpp", - "src/psm/src/*.h", - #PartitionManager - "src/par/src/*.cpp", - "src/par/src/MLPart/mlpart/**/*.cxx", - "src/par/src/MLPart/mlpart/**/*.h", - "src/par/src/MLPart/mlpart/**/*.inl", - "src/par/src/MLPart/src/*.h", - "src/par/src/MLPart/src/*.cpp", - #PDNGen - "src/pdn/src/*.cc", - "src/pdn/src/*.cpp", - "src/pdn/src/*.h", - #STT - "src/stt/src/*.cpp", - "src/stt/src/pdr/src/*.h", - "src/stt/src/pdr/src/*.cpp", - "src/stt/src/flt/*.cpp", - #MPL2 - "src/mpl2/src/*.cpp", - "src/mpl2/src/*.h", - #RMP - "src/rmp/src/*.cpp", - #Distributed - "src/dst/src/*.cc", - "src/dst/src/*.h", - #Dpo - "src/dpo/src/*.cpp", - "src/dpo/src/*.cxx", - "src/dpo/src/*.h", - ], - exclude = [ - "src/Main.cc", - "src/rsz/src/Unused.cc", - "src/drt/src/main.cpp", - "src/utl/src/Logger.cpp", - "src/par/src/MLPart/mlpart/ABKCommon/abkrand_templ.cxx", - "src/par/src/MLPart/mlpart/Partitioners/aGreedMoveMan.cxx", - "src/par/src/MLPart/mlpart/Combi/grayPermut.cxx", ], + exclude = OPENROAD_LIBRARY_SRCS_EXCLUDE, ) + [ "src/stt/src/flt/etc/POST9.cpp", "src/stt/src/flt/etc/POWV9.cpp", ], - textual_hdrs = [ - "src/par/src/MLPart/mlpart/ABKCommon/abkrand_templ.cxx", - "src/par/src/MLPart/mlpart/Partitioners/aGreedMoveMan.cxx", - ], hdrs = glob( - include = [ - #Root OpenRoad - "include/ord/*.h", - "include/ord/*.hh", - #Utility - "src/utl/include/utl/*.h", - #InitFp - "src/ifp/include/ifp/*.hh", - #GUI - "src/gui/include/gui/*.h", - #DbSTA - "src/dbSta/include/db_sta/*.hh", - #ioPlacer - "src/ppl/include/ppl/*.h", - #Resizer - "src/rsz/include/rsz/*.hh", - #OpenDP - "src/dpl/include/dpl/*.h", - #finale - "src/fin/include/fin/*.h", - #TritonMP - "src/mpl/include/mpl/*.h", - #antenna_checker - "src/ant/include/ant/*.hh", - #FastRoute - "src/grt/src/fastroute/include/*.h", - "src/grt/include/grt/*.h", - #Replace - "src/gpl/include/gpl/*.h", - #TritonCTS - "src/cts/include/cts/*.h", - #Tapcell - "src/tap/include/tap/*.h", - #OpenRCX - "src/rcx/include/rcx/*.h", - #TritonRoute - "src/drt/include/triton_route/*.h", - #PDNSim - "src/psm/include/psm/*.h", - "src/psm/include/psm/*.hh", - #PartitionManager - "src/par/src/*.h", - "src/par/include/par/*.h", - #PDNGen - "src/pdn/include/pdn/*.hh", - #STT - "src/stt/include/stt/*.h", - #MPL2 - "src/mpl2/include/mpl2/*.h", - #RMP - "src/rmp/include/rmp/*.h", - #Distributed - "src/dst/include/dst/*.h", - #Dpo - "src/dpo/include/dpo/*.h", - ], + include = OPENROAD_LIBRARY_HDRS_INCLUDE, exclude = [ "src/utl/include/utl/Logger.h", + "src/utl/include/utl/CFileUtils.h", ], ), - copts = [ - "-fexceptions", - "-Wno-error", - "-Wall", - "-Wextra", - "-pedantic", - "-Wcast-qual", - "-Wredundant-decls", - "-Wformat-security", - "-Iexternal/com_github_quantamhd_lemon", + copts = OPENROAD_COPTS, + defines = [ + "OPENROAD_GIT_DESCRIBE=\\\"bazel_rules_hdl\\\"", + "ENABLE_MPL2", ], features = ["-use_header_modules"], - includes = [ - #Root OpenRoad - "include", - #OpenDBTCL - "src/odb/src/swig/common", - #DbSTA - "src/dbSta/include", - "src/dbSta/include/db_sta", - #GUI - "src/gui/include", - #InitFp - "src/ifp/include", - #ioPlacer - "src/ppl/include", - "src/ppl/include/ppl", - "src/ppl/src", - #Resizer - "src/rsz/include", - "src/rsz/include/rsz", - #OpenDP - "src/dpl/include", - "src/dpl/include/dpl", - #finale - "src/fin/include", - "src/fin/include/fin", - #TritonMP - "src/mpl/include", - "src/mpl/include/mpl", - #antenna_checker - "src/ant/include", - "src/ant/include/ant", - #FastRoute - "src/grt/src/fastroute/include", - "src/grt/include/grt", - "src/grt/include", - #Replace - "src/gpl/include/gpl", - "src/gpl/include", - #TritonCTS - "src/cts/src", - "src/cts/include", - #Tapcell - "src/tap/include/tap", - "src/tap/include", - #OpenRCX - "src/rcx/include/rcx", - "src/rcx/include", - #TritonRoute - "src/drt/include/triton_route", - "src/drt/src", - "src/drt/include", - #PDNSim - "src/psm/include/psm", - "src/psm/include", - #PartitionManager - "src/par/include", - "src/par/include/par", - "src/par/src/MLPart/src", - "src/par/src/MLPart/mlpart", - "src/par/src/MLPart/mlpart/ABKCommon", - #PDNGen - "src/pdn/include", - "src/pdn/include/pdn", - #MPL2 - "src/mpl2/include", - #RMP - "src/rmp/include", - #STT - "src/stt/include", - "src/stt/include/stt", - #Distributed - "src/dst/include", - "src/dst/include/dst", - #Dpo - "src/dpo/include", - "src/dpo/include/dpo", + includes = OPENROAD_LIBRARY_INCLUDES, + deps = OPENROAD_LIBRARY_DEPS, +) + +cc_library( + name = "openroad_lib", + srcs = OPENROAD_BINARY_SRCS_WITHOUT_MAIN + glob( + include = OPENROAD_LIBRARY_SRCS_INCLUDE + [ + #GUI Disabled + "src/gui/src/stub.cpp", + "src/gui/src/stub_heatMap.cpp", + ], + exclude = OPENROAD_LIBRARY_SRCS_EXCLUDE, + ) + [ + "src/stt/src/flt/etc/POST9.cpp", + "src/stt/src/flt/etc/POWV9.cpp", ], + hdrs = glob( + include = OPENROAD_LIBRARY_HDRS_INCLUDE, + exclude = [ + "src/utl/include/utl/Logger.h", + "src/utl/include/utl/CFileUtils.h", + ], + ), + copts = OPENROAD_COPTS, defines = [ - "OPENROAD_GIT_DESCRIBE=\\\"bazel_rules_hdl\\\"" + "OPENROAD_GIT_DESCRIBE=\\\"bazel_rules_hdl\\\"", + "ENABLE_MPL2", ], - linkstatic = True, - deps = [ - ":ParquetFP", - ":logger", - ":munkres", - ":opendb_lib", - ":openroad_version", - ":opensta_lib", - "@boost//:geometry", - "@boost//:multi_array", - "@boost//:property_tree", - "@boost//:icl", - "@boost//:polygon", - "@boost//:graph", - "@boost//:asio", - "@boost//:stacktrace", - "@boost//:thread", - "@edu_berkeley_abc//:abc-lib", - "@org_tuxfamily_eigen//:eigen3", - "@com_github_quantamhd_lemon//:lemon", - "@com_github_gabime_spdlog//:spdlog", - "@tk_tcl//:tcl", - "@org_llvm_openmp//:openmp", - ], - alwayslink = True, + features = ["-use_header_modules"], + includes = OPENROAD_LIBRARY_INCLUDES, + visibility = ["//visibility:public"], + deps = OPENROAD_LIBRARY_DEPS, ) genrule( @@ -449,17 +177,23 @@ cc_library( "src/utl/include/utl/Metrics.h", ], copts = [ + "-fexceptions", "-Wno-error", "-Wall", "-Wextra", "-pedantic", - "-Wcast-qual", + "-Wno-cast-qual", # typically from TCL swigging + "-Wno-missing-braces", # typically from TCL swigging "-Wredundant-decls", "-Wformat-security", + "-Wno-unused-parameter", + "-Wno-sign-compare", ], + features = ["-use_header_modules"], includes = [ "src/utl/include", "src/utl/include/utl", + "src/utl/src", ], visibility = ["@org_theopenroadproject//:__subpackages__"], deps = [ @@ -482,9 +216,12 @@ cc_library( "-Wall", "-Wextra", "-pedantic", - "-Wcast-qual", + "-Wno-cast-qual", # typically from TCL swigging + "-Wno-missing-braces", # typically from TCL swigging "-Wredundant-decls", "-Wformat-security", + "-Wno-unused-parameter", + "-Wno-sign-compare", ], features = ["-use_header_modules"], includes = [ @@ -662,7 +399,6 @@ tcl_encode( tcl_encode( name = "pdngen_tcl", srcs = [ - "src/pdn/src/PdnGen.tcl", "src/pdn/src/pdn.tcl", ], char_array_name = "pdn_tcl_inits", @@ -672,11 +408,18 @@ tcl_encode( name = "openroad_tcl", srcs = [":tcl_util"] + [ "src/OpenRoad.tcl", - "src/pad/src/pad.tcl", ], char_array_name = "openroad_swig_tcl_inits", ) +tcl_encode( + name = "pad_tcl", + srcs = [ + "src/pad/src/pad.tcl", + ], + char_array_name = "pad_tcl_inits", +) + tcl_encode( name = "mpl2_tcl", srcs = [ @@ -717,6 +460,30 @@ tcl_encode( char_array_name = "dpo_tcl_inits", ) +tcl_encode( + name = "gui_tcl", + srcs = [ + "src/gui/src/gui.tcl", + ], + char_array_name = "gui_tcl_inits", +) + +tcl_encode( + name = "upf_tcl", + srcs = [ + "src/upf/src/upf.tcl", + ], + char_array_name = "upf_tcl_inits", +) + +tcl_encode( + name = "dft_tcl", + srcs = [ + "src/dft/src/dft.tcl", + ], + char_array_name = "dft_tcl_inits", +) + tcl_wrap_cc( name = "dst_swig", srcs = [ @@ -736,12 +503,17 @@ tcl_wrap_cc( srcs = [ "src/ifp/src/InitFloorplan.i", ":error_swig", - ], + ] + glob([ + "src/odb/src/swig/tcl/*.i", + "src/odb/src/swig/common/*.i", + ]), module = "ifp", namespace_prefix = "ifp", root_swig_src = "src/ifp/src/InitFloorplan.i", swig_includes = [ "src/ifp/src", + "src/odb/src/swig/common", + "src/odb/src/swig/tcl", ], ) @@ -756,8 +528,8 @@ tcl_wrap_cc( namespace_prefix = "sta", root_swig_src = "src/dbSta/src/dbSta.i", swig_includes = [ - "src/odb/src/swig/common", "src/dbSta/src", + "src/odb/src/swig/common", "src/sta", ], deps = [ @@ -811,6 +583,7 @@ tcl_wrap_cc( name = "logger_swig", srcs = [ "src/utl/src/Logger.i", + "src/utl/src/LoggerCommon.h", ":error_swig", ], module = "utl", @@ -910,11 +683,17 @@ tcl_wrap_cc( srcs = [ "src/tap/src/tapcell.i", ":error_swig", - ], + ] + glob([ + "src/odb/src/swig/tcl/*.i", + "src/odb/src/swig/common/*.i", + "src/odb/include/odb/*.h", + ]), module = "tap", namespace_prefix = "tap", root_swig_src = "src/tap/src/tapcell.i", swig_includes = [ + "src/odb/src/swig/common", + "src/odb/src/swig/tcl", "src/tap/src", ], ) @@ -1009,6 +788,27 @@ tcl_wrap_cc( ], ) +tcl_wrap_cc( + name = "pad_swig", + srcs = [ + "src/pad/src/pad.i", + ":error_swig", + ] + glob([ + "src/odb/src/swig/tcl/*.i", + "src/odb/src/swig/common/*.i", + "src/odb/include/odb/*.h", + ]), + module = "pad", + namespace_prefix = "pad", + root_swig_src = "src/pad/src/pad.i", + swig_includes = [ + "src/odb/include", + "src/odb/src/swig/common", + "src/odb/src/swig/tcl", + "src/pad/src", + ], +) + tcl_wrap_cc( name = "mpl2_swig", srcs = [ @@ -1065,6 +865,35 @@ tcl_wrap_cc( ], ) +tcl_wrap_cc( + name = "dft_swig", + srcs = [ + "src/dft/src/dft.i", + ":error_swig", + ], + module = "dft", + namespace_prefix = "dft", + root_swig_src = "src/dft/src/dft.i", + swig_includes = [ + "src/dft/src", + ], +) + +tcl_wrap_cc( + name = "gui_swig", + srcs = [ + "src/gui/src/gui.i", + ":error_swig", + ], + module = "gui", + namespace_prefix = "gui", + root_swig_src = "src/gui/src/gui.i", + #runtime_header = "src/gui/src/tclSwig.h", + swig_includes = [ + "src/gui/src", + ], +) + filegroup( name = "error_swig", srcs = [ @@ -1096,12 +925,12 @@ tcl_wrap_cc( "src/odb/src/swig/tcl/*.i", "src/odb/src/swig/common/*.i", "src/odb/include/odb/*.h", - ]), + ]) + ["src/Exception.i"], module = "odbtcl", namespace_prefix = "odb", root_swig_src = "src/odb/src/swig/common/odb.i", swig_includes = [ - "src/odb/include", + "src/odb/include", "src/odb/include/odb", "src/odb/src/swig/tcl", ], @@ -1114,6 +943,23 @@ tcl_wrap_cc( ], ) +tcl_wrap_cc( + name = "upf_swig", + srcs = glob([ + "src/odb/include/odb/*.h", + "src/upf/include/upf/*.h", + ]) + [ + "src/upf/src/upf.i", + ], + module = "upf", + namespace_prefix = "upf", + root_swig_src = "src/upf/src/upf.i", + swig_includes = [ + "src/odb/include", + "src/upf/include", + ], +) + cc_library( name = "opendb_lib", srcs = glob([ @@ -1138,8 +984,8 @@ cc_library( "src/odb/include/odb/*.hpp", ]) + [ "src/odb/src/def/def/defiAlias.hpp", - "src/odb/src/def/def/defwWriter.hpp", "src/odb/src/def/def/defrReader.hpp", + "src/odb/src/def/def/defwWriter.hpp", "src/odb/src/lef/lef/lefiDebug.hpp", "src/odb/src/lef/lef/lefiUtil.hpp", "src/odb/src/lef/lef/lefrReader.hpp", @@ -1149,7 +995,7 @@ cc_library( "-Wno-error", ], features = [ - "-use_header_modules", + "-use_header_modules", ], includes = [ "src/odb/include", @@ -1166,18 +1012,18 @@ cc_library( ":logger", ":opendb_def", ":opendb_lef", + "@boost//:algorithm", + "@boost//:bind", + "@boost//:config", + "@boost//:fusion", + "@boost//:lambda", + "@boost//:optional", + "@boost//:phoenix", + "@boost//:polygon", + "@boost//:spirit", "@com_github_gabime_spdlog//:spdlog_with_exceptions", "@tk_tcl//:tcl", "@net_zlib//:zlib", - "@boost//:iostreams", - "@boost//:foreach", - "@boost//:variant", - "@boost//:spirit", - "@boost//:lambda", - "@boost//:fusion", - "@boost//:bind", - "@boost//:algorithm", - "@boost//:thread", ], ) @@ -1196,12 +1042,12 @@ cc_library( "src/odb/src/lef/lef/lefrReader.hpp", ], ) + [ - "src/odb/src/lef/lef/lef_parser.hpp", "src/odb/src/lef/lef/lef_parser.cpp", + "src/odb/src/lef/lef/lef_parser.hpp", ], hdrs = glob([ - "src/odb/include/opendb/*.h", - "src/odb/include/opendb/*.hpp", + "src/odb/include/odb/*.h", + "src/odb/include/odb/*.hpp", ]) + [ "src/odb/src/lef/lef/lefiDebug.hpp", "src/odb/src/lef/lef/lefiUtil.hpp", @@ -1214,11 +1060,13 @@ cc_library( ], features = ["-use_header_modules"], includes = [ - "src/odb/include/opendb", + "src/odb/include/odb", "src/odb/src/lef/lef", "src/odb/src/lef/lefzlib", ], - visibility = ["//visibility:private"], + visibility = [ + "//visibility:private", + ], deps = [ "@net_zlib//:zlib", ], @@ -1239,18 +1087,18 @@ cc_library( "src/odb/src/def/def/defiUtil.hpp", ], ) + [ - "src/odb/src/def/def/def_parser.hpp", "src/odb/src/def/def/def_parser.cpp", + "src/odb/src/def/def/def_parser.hpp", ], hdrs = glob([ - "src/odb/include/opendb/*.h", - "src/odb/include/opendb/*.hpp", + "src/odb/include/odb/*.h", + "src/odb/include/odb/*.hpp", ]) + [ + "src/odb/src/def/def/defiAlias.hpp", "src/odb/src/def/def/defiComponent.hpp", "src/odb/src/def/def/defiUtil.hpp", - "src/odb/src/def/def/defiAlias.hpp", - "src/odb/src/def/def/defwWriter.hpp", "src/odb/src/def/def/defrReader.hpp", + "src/odb/src/def/def/defwWriter.hpp", "src/odb/src/def/defzlib/defzlib.hpp", ], copts = [ @@ -1259,11 +1107,13 @@ cc_library( ], features = ["-use_header_modules"], includes = [ - "src/odb/include/opendb", + "src/odb/include/odb", "src/odb/src/def/def", "src/odb/src/def/defzlib", ], - visibility = ["//visibility:private"], + visibility = [ + "//visibility:private", + ], deps = [ "@net_zlib//:zlib", ], @@ -1369,46 +1219,55 @@ genyacc( # The order here is very important as the script to encode these relies on it tcl_srcs = [ + "src/sta/tcl/Init.tcl", "src/sta/tcl/Util.tcl", + "src/sta/tcl/CmdArgs.tcl", + "src/sta/tcl/CmdUtil.tcl", "src/sta/tcl/Graph.tcl", "src/sta/tcl/Liberty.tcl", "src/sta/tcl/Link.tcl", "src/sta/tcl/Network.tcl", "src/sta/tcl/NetworkEdit.tcl", + "src/sta/tcl/Property.tcl", "src/sta/tcl/Sdc.tcl", "src/sta/tcl/Search.tcl", - "src/sta/tcl/Cmds.tcl", - "src/sta/tcl/Variables.tcl", "src/sta/tcl/Sta.tcl", - "src/sta/tcl/Power.tcl", + "src/sta/tcl/Variables.tcl", + "src/sta/tcl/WritePathSpice.tcl", "src/sta/tcl/Splash.tcl", "src/sta/dcalc/DelayCalc.tcl", "src/sta/parasitics/Parasitics.tcl", + "src/sta/power/Power.tcl", "src/sta/sdf/Sdf.tcl", "src/sta/verilog/Verilog.tcl", ] exported_tcl = [ + "src/sta/dcalc/DelayCalc.tcl", + "src/sta/parasitics/Parasitics.tcl", + "src/sta/power/Power.tcl", + "src/sta/sdf/Sdf.tcl", + "src/sta/tcl/CmdArgs.tcl", + "src/sta/tcl/CmdUtil.tcl", "src/sta/tcl/Graph.tcl", "src/sta/tcl/Liberty.tcl", "src/sta/tcl/Network.tcl", "src/sta/tcl/NetworkEdit.tcl", + "src/sta/tcl/Property.tcl", "src/sta/tcl/Sdc.tcl", "src/sta/tcl/Search.tcl", - "src/sta/tcl/Cmds.tcl", - "src/sta/tcl/Variables.tcl", - "src/sta/tcl/Sta.tcl", - "src/sta/tcl/Power.tcl", "src/sta/tcl/Splash.tcl", - "src/sta/dcalc/DelayCalc.tcl", - "src/sta/parasitics/Parasitics.tcl", - "src/sta/sdf/Sdf.tcl", + "src/sta/tcl/Sta.tcl", + "src/sta/tcl/Variables.tcl", + "src/sta/tcl/WritePathSpice.tcl", ] filegroup( name = "tcl_scripts", srcs = exported_tcl, - visibility = ["@org_theopenroadproject//:__subpackages__"], + visibility = [ + "@org_theopenroadproject//:__subpackages__", + ], ) tcl_encode( @@ -1425,7 +1284,8 @@ genrule( #define STA_VERSION "2.2.1" #define STA_GIT_SHA1 "53d4d57cb8550d2ceed18adad75b73bba7858f4f" #define CUDD 0 - #define SSTA 0' > \"$@\" + #define SSTA 0 + #define ZLIB_FOUND' > \"$@\" """, ) @@ -1435,6 +1295,7 @@ filegroup( "src/sta/app/StaApp.i", "src/sta/dcalc/DelayCalc.i", "src/sta/parasitics/Parasitics.i", + "src/sta/power/Power.i", "src/sta/sdf/Sdf.i", "src/sta/tcl/Exception.i", "src/sta/tcl/NetworkEdit.i", @@ -1454,6 +1315,7 @@ tcl_wrap_cc( swig_includes = [ "src/sta/dcalc", "src/sta/parasitics", + "src/sta/power", "src/sta/sdf", "src/sta/tcl", "src/sta/verilog", @@ -1504,9 +1366,12 @@ cc_binary( "-Wall", "-Wextra", "-pedantic", - "-Wcast-qual", + "-Wno-cast-qual", # typically from TCL swigging + "-Wno-missing-braces", # typically from TCL swigging "-Wredundant-decls", "-Wformat-security", + "-Wno-unused-parameter", + "-Wno-sign-compare", ], features = ["-use_header_modules"], includes = [ @@ -1515,11 +1380,11 @@ cc_binary( "src/sta/include/sta", "src/sta/util", ], + visibility = ["//visibility:public"], deps = [ ":opensta_lib", "@tk_tcl//:tcl", ], - visibility = ["//visibility:public"], ) cc_library( @@ -1533,6 +1398,7 @@ cc_library( "src/sta/sdf/*.hh", "src/sta/search/*.hh", "src/sta/verilog/*.hh", + "src/sta/power/*.hh", ]) + glob( include = [ "src/sta/app/StaMain.cc", @@ -1546,6 +1412,7 @@ cc_library( "src/sta/sdf/*.cc", "src/sta/search/*.cc", "src/sta/verilog/*.cc", + "src/sta/power/*.cc", ], exclude = [ "src/sta/search/WriteSpice.cc", @@ -1554,8 +1421,8 @@ cc_library( "src/sta/util/Machine*.cc", ], ) + [ - ":StaConfig", "src/sta/util/Machine.cc", + ":StaConfig", ], hdrs = glob( include = ["src/sta/include/sta/*.hh"], @@ -1568,9 +1435,12 @@ cc_library( "-Wall", "-Wextra", "-pedantic", - "-Wcast-qual", + "-Wno-cast-qual", # typically from TCL swigging + "-Wno-missing-braces", # typically from TCL swigging "-Wredundant-decls", "-Wformat-security", + "-Wno-unused-parameter", + "-Wno-sign-compare", ], features = [ "-use_header_modules", @@ -1585,6 +1455,7 @@ cc_library( visibility = ["@org_theopenroadproject//:__subpackages__"], deps = [ "@tk_tcl//:tcl", + "@net_zlib//:zlib", ], ) diff --git a/dependency_support/org_theopenroadproject/org_theopenroadproject.bzl b/dependency_support/org_theopenroadproject/org_theopenroadproject.bzl index 113bc810..be4db3c0 100644 --- a/dependency_support/org_theopenroadproject/org_theopenroadproject.bzl +++ b/dependency_support/org_theopenroadproject/org_theopenroadproject.bzl @@ -21,15 +21,14 @@ def org_theopenroadproject(): maybe( new_git_repository, name = "org_theopenroadproject", - commit = "21b84678f4eb0eae2e38b897e4e0d36e145f99cd", + commit = "03f219802d0ee569eb86846529260e15a020c26c", init_submodules = True, remote = "https://github.com/The-OpenROAD-Project/OpenROAD.git", build_file = Label("@rules_hdl//dependency_support/org_theopenroadproject:bundled.BUILD.bazel"), + shallow_since = "1649354925 -0300", patches = [ Label("@rules_hdl//dependency_support/org_theopenroadproject:0001-logging-change-to-support-silence.patch"), + Label("@rules_hdl//dependency_support/org_theopenroadproject:0002-ortools-quotes.patch"), ], - patch_args = [ - "-p1", - ], - shallow_since = "1649354925 -0300", + patch_args = ["-p1"], ) diff --git a/dependency_support/org_tuxfamily_eigen/bundled.BUILD.bazel b/dependency_support/org_tuxfamily_eigen/bundled.BUILD.bazel deleted file mode 100644 index c1709bfc..00000000 --- a/dependency_support/org_tuxfamily_eigen/bundled.BUILD.bazel +++ /dev/null @@ -1,92 +0,0 @@ -# Copyright 2020 Google LLC -# -# Licensed 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. - -licenses(["reciprocal"]) - -exports_files(["LICENSE"]) - -eigen_files = [ - "Eigen/**", - "unsupported/Eigen/**", -] - -eigen_header_files = glob( - eigen_files, - exclude = [ - # This guarantees that any file depending on non MPL2 licensed code - # will not compile. - "Eigen/src/Core/util/NonMPL2.h", - ], -) - -cc_library( - name = "eigen3", - hdrs = eigen_header_files, - copts = ["$(STACK_FRAME_UNLIMITED)"], - defines = [ - "EIGEN_MPL2_ONLY", - ], - includes = ["."], - licenses = ["reciprocal"], - visibility = ["//visibility:public"], -) - -cc_library( - name = "blas", - srcs = [ - "Eigen/src/misc/blas.h", - "blas/complex_double.cpp", - "blas/complex_single.cpp", - "blas/double.cpp", - "blas/f2c/chbmv.c", - "blas/f2c/chpmv.c", - "blas/f2c/complexdots.c", - "blas/f2c/ctbmv.c", - "blas/f2c/datatypes.h", - "blas/f2c/d_cnjg.c", - "blas/f2c/drotm.c", - "blas/f2c/drotmg.c", - "blas/f2c/dsbmv.c", - "blas/f2c/dspmv.c", - "blas/f2c/dtbmv.c", - "blas/f2c/lsame.c", - "blas/f2c/r_cnjg.c", - "blas/f2c/srotm.c", - "blas/f2c/srotmg.c", - "blas/f2c/ssbmv.c", - "blas/f2c/sspmv.c", - "blas/f2c/stbmv.c", - "blas/f2c/zhbmv.c", - "blas/f2c/zhpmv.c", - "blas/f2c/ztbmv.c", - "blas/single.cpp", - "blas/xerbla.cpp", - ], - hdrs = glob([ - "blas/*.h", - ]), - defines = [ - "EIGEN_MPL2_ONLY", - ], - includes = [ - ".", - "blas", - ], - deps = [ - ":eigen3", - ], - copts = ["-w"], - licenses = ["reciprocal"], - visibility = ["//visibility:public"], -) diff --git a/dependency_support/pip_requirements.in b/dependency_support/pip_requirements.in new file mode 100644 index 00000000..b58f61ac --- /dev/null +++ b/dependency_support/pip_requirements.in @@ -0,0 +1,6 @@ +dataclasses-json==0.5.7 +jwt==1.3.1 +requests==2.28.2 +absl-py==1.4.0 +cocotb==1.8.0 +klayout==0.28.8 diff --git a/dependency_support/pip_requirements.txt b/dependency_support/pip_requirements.txt index b58f61ac..49f2613d 100644 --- a/dependency_support/pip_requirements.txt +++ b/dependency_support/pip_requirements.txt @@ -1,6 +1,305 @@ -dataclasses-json==0.5.7 -jwt==1.3.1 -requests==2.28.2 -absl-py==1.4.0 -cocotb==1.8.0 -klayout==0.28.8 +# +# This file is autogenerated by pip-compile with Python 3.8 +# by the following command: +# +# bazel run //dependency_support:pip_requirements.update +# +absl-py==1.4.0 \ + --hash=sha256:0d3fe606adfa4f7db64792dd4c7aee4ee0c38ab75dfd353b7a83ed3e957fcb47 \ + --hash=sha256:d2c244d01048ba476e7c080bd2c6df5e141d211de80223460d5b3b8a2a58433d + # via -r dependency_support/pip_requirements.in +certifi==2023.7.22 \ + --hash=sha256:539cc1d13202e33ca466e88b2807e29f4c13049d6d87031a3c110744495cb082 \ + --hash=sha256:92d6037539857d8206b8f6ae472e8b77db8058fec5937a1ef3f54304089edbb9 + # via requests +cffi==1.15.1 \ + --hash=sha256:00a9ed42e88df81ffae7a8ab6d9356b371399b91dbdf0c3cb1e84c03a13aceb5 \ + --hash=sha256:03425bdae262c76aad70202debd780501fabeaca237cdfddc008987c0e0f59ef \ + --hash=sha256:04ed324bda3cda42b9b695d51bb7d54b680b9719cfab04227cdd1e04e5de3104 \ + --hash=sha256:0e2642fe3142e4cc4af0799748233ad6da94c62a8bec3a6648bf8ee68b1c7426 \ + --hash=sha256:173379135477dc8cac4bc58f45db08ab45d228b3363adb7af79436135d028405 \ + --hash=sha256:198caafb44239b60e252492445da556afafc7d1e3ab7a1fb3f0584ef6d742375 \ + --hash=sha256:1e74c6b51a9ed6589199c787bf5f9875612ca4a8a0785fb2d4a84429badaf22a \ + --hash=sha256:2012c72d854c2d03e45d06ae57f40d78e5770d252f195b93f581acf3ba44496e \ + --hash=sha256:21157295583fe8943475029ed5abdcf71eb3911894724e360acff1d61c1d54bc \ + --hash=sha256:2470043b93ff09bf8fb1d46d1cb756ce6132c54826661a32d4e4d132e1977adf \ + --hash=sha256:285d29981935eb726a4399badae8f0ffdff4f5050eaa6d0cfc3f64b857b77185 \ + --hash=sha256:30d78fbc8ebf9c92c9b7823ee18eb92f2e6ef79b45ac84db507f52fbe3ec4497 \ + --hash=sha256:320dab6e7cb2eacdf0e658569d2575c4dad258c0fcc794f46215e1e39f90f2c3 \ + --hash=sha256:33ab79603146aace82c2427da5ca6e58f2b3f2fb5da893ceac0c42218a40be35 \ + --hash=sha256:3548db281cd7d2561c9ad9984681c95f7b0e38881201e157833a2342c30d5e8c \ + --hash=sha256:3799aecf2e17cf585d977b780ce79ff0dc9b78d799fc694221ce814c2c19db83 \ + --hash=sha256:39d39875251ca8f612b6f33e6b1195af86d1b3e60086068be9cc053aa4376e21 \ + --hash=sha256:3b926aa83d1edb5aa5b427b4053dc420ec295a08e40911296b9eb1b6170f6cca \ + --hash=sha256:3bcde07039e586f91b45c88f8583ea7cf7a0770df3a1649627bf598332cb6984 \ + --hash=sha256:3d08afd128ddaa624a48cf2b859afef385b720bb4b43df214f85616922e6a5ac \ + --hash=sha256:3eb6971dcff08619f8d91607cfc726518b6fa2a9eba42856be181c6d0d9515fd \ + --hash=sha256:40f4774f5a9d4f5e344f31a32b5096977b5d48560c5592e2f3d2c4374bd543ee \ + --hash=sha256:4289fc34b2f5316fbb762d75362931e351941fa95fa18789191b33fc4cf9504a \ + --hash=sha256:470c103ae716238bbe698d67ad020e1db9d9dba34fa5a899b5e21577e6d52ed2 \ + --hash=sha256:4f2c9f67e9821cad2e5f480bc8d83b8742896f1242dba247911072d4fa94c192 \ + --hash=sha256:50a74364d85fd319352182ef59c5c790484a336f6db772c1a9231f1c3ed0cbd7 \ + --hash=sha256:54a2db7b78338edd780e7ef7f9f6c442500fb0d41a5a4ea24fff1c929d5af585 \ + --hash=sha256:5635bd9cb9731e6d4a1132a498dd34f764034a8ce60cef4f5319c0541159392f \ + --hash=sha256:59c0b02d0a6c384d453fece7566d1c7e6b7bae4fc5874ef2ef46d56776d61c9e \ + --hash=sha256:5d598b938678ebf3c67377cdd45e09d431369c3b1a5b331058c338e201f12b27 \ + --hash=sha256:5df2768244d19ab7f60546d0c7c63ce1581f7af8b5de3eb3004b9b6fc8a9f84b \ + --hash=sha256:5ef34d190326c3b1f822a5b7a45f6c4535e2f47ed06fec77d3d799c450b2651e \ + --hash=sha256:6975a3fac6bc83c4a65c9f9fcab9e47019a11d3d2cf7f3c0d03431bf145a941e \ + --hash=sha256:6c9a799e985904922a4d207a94eae35c78ebae90e128f0c4e521ce339396be9d \ + --hash=sha256:70df4e3b545a17496c9b3f41f5115e69a4f2e77e94e1d2a8e1070bc0c38c8a3c \ + --hash=sha256:7473e861101c9e72452f9bf8acb984947aa1661a7704553a9f6e4baa5ba64415 \ + --hash=sha256:8102eaf27e1e448db915d08afa8b41d6c7ca7a04b7d73af6514df10a3e74bd82 \ + --hash=sha256:87c450779d0914f2861b8526e035c5e6da0a3199d8f1add1a665e1cbc6fc6d02 \ + --hash=sha256:8b7ee99e510d7b66cdb6c593f21c043c248537a32e0bedf02e01e9553a172314 \ + --hash=sha256:91fc98adde3d7881af9b59ed0294046f3806221863722ba7d8d120c575314325 \ + --hash=sha256:94411f22c3985acaec6f83c6df553f2dbe17b698cc7f8ae751ff2237d96b9e3c \ + --hash=sha256:98d85c6a2bef81588d9227dde12db8a7f47f639f4a17c9ae08e773aa9c697bf3 \ + --hash=sha256:9ad5db27f9cabae298d151c85cf2bad1d359a1b9c686a275df03385758e2f914 \ + --hash=sha256:a0b71b1b8fbf2b96e41c4d990244165e2c9be83d54962a9a1d118fd8657d2045 \ + --hash=sha256:a0f100c8912c114ff53e1202d0078b425bee3649ae34d7b070e9697f93c5d52d \ + --hash=sha256:a591fe9e525846e4d154205572a029f653ada1a78b93697f3b5a8f1f2bc055b9 \ + --hash=sha256:a5c84c68147988265e60416b57fc83425a78058853509c1b0629c180094904a5 \ + --hash=sha256:a66d3508133af6e8548451b25058d5812812ec3798c886bf38ed24a98216fab2 \ + --hash=sha256:a8c4917bd7ad33e8eb21e9a5bbba979b49d9a97acb3a803092cbc1133e20343c \ + --hash=sha256:b3bbeb01c2b273cca1e1e0c5df57f12dce9a4dd331b4fa1635b8bec26350bde3 \ + --hash=sha256:cba9d6b9a7d64d4bd46167096fc9d2f835e25d7e4c121fb2ddfc6528fb0413b2 \ + --hash=sha256:cc4d65aeeaa04136a12677d3dd0b1c0c94dc43abac5860ab33cceb42b801c1e8 \ + --hash=sha256:ce4bcc037df4fc5e3d184794f27bdaab018943698f4ca31630bc7f84a7b69c6d \ + --hash=sha256:cec7d9412a9102bdc577382c3929b337320c4c4c4849f2c5cdd14d7368c5562d \ + --hash=sha256:d400bfb9a37b1351253cb402671cea7e89bdecc294e8016a707f6d1d8ac934f9 \ + --hash=sha256:d61f4695e6c866a23a21acab0509af1cdfd2c013cf256bbf5b6b5e2695827162 \ + --hash=sha256:db0fbb9c62743ce59a9ff687eb5f4afbe77e5e8403d6697f7446e5f609976f76 \ + --hash=sha256:dd86c085fae2efd48ac91dd7ccffcfc0571387fe1193d33b6394db7ef31fe2a4 \ + --hash=sha256:e00b098126fd45523dd056d2efba6c5a63b71ffe9f2bbe1a4fe1716e1d0c331e \ + --hash=sha256:e229a521186c75c8ad9490854fd8bbdd9a0c9aa3a524326b55be83b54d4e0ad9 \ + --hash=sha256:e263d77ee3dd201c3a142934a086a4450861778baaeeb45db4591ef65550b0a6 \ + --hash=sha256:ed9cb427ba5504c1dc15ede7d516b84757c3e3d7868ccc85121d9310d27eed0b \ + --hash=sha256:fa6693661a4c91757f4412306191b6dc88c1703f780c8234035eac011922bc01 \ + --hash=sha256:fcd131dd944808b5bdb38e6f5b53013c5aa4f334c5cad0c72742f6eba4b73db0 + # via cryptography +charset-normalizer==3.2.0 \ + --hash=sha256:04e57ab9fbf9607b77f7d057974694b4f6b142da9ed4a199859d9d4d5c63fe96 \ + --hash=sha256:09393e1b2a9461950b1c9a45d5fd251dc7c6f228acab64da1c9c0165d9c7765c \ + --hash=sha256:0b87549028f680ca955556e3bd57013ab47474c3124dc069faa0b6545b6c9710 \ + --hash=sha256:1000fba1057b92a65daec275aec30586c3de2401ccdcd41f8a5c1e2c87078706 \ + --hash=sha256:1249cbbf3d3b04902ff081ffbb33ce3377fa6e4c7356f759f3cd076cc138d020 \ + --hash=sha256:1920d4ff15ce893210c1f0c0e9d19bfbecb7983c76b33f046c13a8ffbd570252 \ + --hash=sha256:193cbc708ea3aca45e7221ae58f0fd63f933753a9bfb498a3b474878f12caaad \ + --hash=sha256:1a100c6d595a7f316f1b6f01d20815d916e75ff98c27a01ae817439ea7726329 \ + --hash=sha256:1f30b48dd7fa1474554b0b0f3fdfdd4c13b5c737a3c6284d3cdc424ec0ffff3a \ + --hash=sha256:203f0c8871d5a7987be20c72442488a0b8cfd0f43b7973771640fc593f56321f \ + --hash=sha256:246de67b99b6851627d945db38147d1b209a899311b1305dd84916f2b88526c6 \ + --hash=sha256:2dee8e57f052ef5353cf608e0b4c871aee320dd1b87d351c28764fc0ca55f9f4 \ + --hash=sha256:2efb1bd13885392adfda4614c33d3b68dee4921fd0ac1d3988f8cbb7d589e72a \ + --hash=sha256:2f4ac36d8e2b4cc1aa71df3dd84ff8efbe3bfb97ac41242fbcfc053c67434f46 \ + --hash=sha256:3170c9399da12c9dc66366e9d14da8bf7147e1e9d9ea566067bbce7bb74bd9c2 \ + --hash=sha256:3b1613dd5aee995ec6d4c69f00378bbd07614702a315a2cf6c1d21461fe17c23 \ + --hash=sha256:3bb3d25a8e6c0aedd251753a79ae98a093c7e7b471faa3aa9a93a81431987ace \ + --hash=sha256:3bb7fda7260735efe66d5107fb7e6af6a7c04c7fce9b2514e04b7a74b06bf5dd \ + --hash=sha256:41b25eaa7d15909cf3ac4c96088c1f266a9a93ec44f87f1d13d4a0e86c81b982 \ + --hash=sha256:45de3f87179c1823e6d9e32156fb14c1927fcc9aba21433f088fdfb555b77c10 \ + --hash=sha256:46fb8c61d794b78ec7134a715a3e564aafc8f6b5e338417cb19fe9f57a5a9bf2 \ + --hash=sha256:48021783bdf96e3d6de03a6e39a1171ed5bd7e8bb93fc84cc649d11490f87cea \ + --hash=sha256:4957669ef390f0e6719db3613ab3a7631e68424604a7b448f079bee145da6e09 \ + --hash=sha256:5e86d77b090dbddbe78867a0275cb4df08ea195e660f1f7f13435a4649e954e5 \ + --hash=sha256:6339d047dab2780cc6220f46306628e04d9750f02f983ddb37439ca47ced7149 \ + --hash=sha256:681eb3d7e02e3c3655d1b16059fbfb605ac464c834a0c629048a30fad2b27489 \ + --hash=sha256:6c409c0deba34f147f77efaa67b8e4bb83d2f11c8806405f76397ae5b8c0d1c9 \ + --hash=sha256:7095f6fbfaa55defb6b733cfeb14efaae7a29f0b59d8cf213be4e7ca0b857b80 \ + --hash=sha256:70c610f6cbe4b9fce272c407dd9d07e33e6bf7b4aa1b7ffb6f6ded8e634e3592 \ + --hash=sha256:72814c01533f51d68702802d74f77ea026b5ec52793c791e2da806a3844a46c3 \ + --hash=sha256:7a4826ad2bd6b07ca615c74ab91f32f6c96d08f6fcc3902ceeedaec8cdc3bcd6 \ + --hash=sha256:7c70087bfee18a42b4040bb9ec1ca15a08242cf5867c58726530bdf3945672ed \ + --hash=sha256:855eafa5d5a2034b4621c74925d89c5efef61418570e5ef9b37717d9c796419c \ + --hash=sha256:8700f06d0ce6f128de3ccdbc1acaea1ee264d2caa9ca05daaf492fde7c2a7200 \ + --hash=sha256:89f1b185a01fe560bc8ae5f619e924407efca2191b56ce749ec84982fc59a32a \ + --hash=sha256:8b2c760cfc7042b27ebdb4a43a4453bd829a5742503599144d54a032c5dc7e9e \ + --hash=sha256:8c2f5e83493748286002f9369f3e6607c565a6a90425a3a1fef5ae32a36d749d \ + --hash=sha256:8e098148dd37b4ce3baca71fb394c81dc5d9c7728c95df695d2dca218edf40e6 \ + --hash=sha256:94aea8eff76ee6d1cdacb07dd2123a68283cb5569e0250feab1240058f53b623 \ + --hash=sha256:95eb302ff792e12aba9a8b8f8474ab229a83c103d74a750ec0bd1c1eea32e669 \ + --hash=sha256:9bd9b3b31adcb054116447ea22caa61a285d92e94d710aa5ec97992ff5eb7cf3 \ + --hash=sha256:9e608aafdb55eb9f255034709e20d5a83b6d60c054df0802fa9c9883d0a937aa \ + --hash=sha256:a103b3a7069b62f5d4890ae1b8f0597618f628b286b03d4bc9195230b154bfa9 \ + --hash=sha256:a386ebe437176aab38c041de1260cd3ea459c6ce5263594399880bbc398225b2 \ + --hash=sha256:a38856a971c602f98472050165cea2cdc97709240373041b69030be15047691f \ + --hash=sha256:a401b4598e5d3f4a9a811f3daf42ee2291790c7f9d74b18d75d6e21dda98a1a1 \ + --hash=sha256:a7647ebdfb9682b7bb97e2a5e7cb6ae735b1c25008a70b906aecca294ee96cf4 \ + --hash=sha256:aaf63899c94de41fe3cf934601b0f7ccb6b428c6e4eeb80da72c58eab077b19a \ + --hash=sha256:b0dac0ff919ba34d4df1b6131f59ce95b08b9065233446be7e459f95554c0dc8 \ + --hash=sha256:baacc6aee0b2ef6f3d308e197b5d7a81c0e70b06beae1f1fcacffdbd124fe0e3 \ + --hash=sha256:bf420121d4c8dce6b889f0e8e4ec0ca34b7f40186203f06a946fa0276ba54029 \ + --hash=sha256:c04a46716adde8d927adb9457bbe39cf473e1e2c2f5d0a16ceb837e5d841ad4f \ + --hash=sha256:c0b21078a4b56965e2b12f247467b234734491897e99c1d51cee628da9786959 \ + --hash=sha256:c1c76a1743432b4b60ab3358c937a3fe1341c828ae6194108a94c69028247f22 \ + --hash=sha256:c4983bf937209c57240cff65906b18bb35e64ae872da6a0db937d7b4af845dd7 \ + --hash=sha256:c4fb39a81950ec280984b3a44f5bd12819953dc5fa3a7e6fa7a80db5ee853952 \ + --hash=sha256:c57921cda3a80d0f2b8aec7e25c8aa14479ea92b5b51b6876d975d925a2ea346 \ + --hash=sha256:c8063cf17b19661471ecbdb3df1c84f24ad2e389e326ccaf89e3fb2484d8dd7e \ + --hash=sha256:ccd16eb18a849fd8dcb23e23380e2f0a354e8daa0c984b8a732d9cfaba3a776d \ + --hash=sha256:cd6dbe0238f7743d0efe563ab46294f54f9bc8f4b9bcf57c3c666cc5bc9d1299 \ + --hash=sha256:d62e51710986674142526ab9f78663ca2b0726066ae26b78b22e0f5e571238dd \ + --hash=sha256:db901e2ac34c931d73054d9797383d0f8009991e723dab15109740a63e7f902a \ + --hash=sha256:e03b8895a6990c9ab2cdcd0f2fe44088ca1c65ae592b8f795c3294af00a461c3 \ + --hash=sha256:e1c8a2f4c69e08e89632defbfabec2feb8a8d99edc9f89ce33c4b9e36ab63037 \ + --hash=sha256:e4b749b9cc6ee664a3300bb3a273c1ca8068c46be705b6c31cf5d276f8628a94 \ + --hash=sha256:e6a5bf2cba5ae1bb80b154ed68a3cfa2fa00fde979a7f50d6598d3e17d9ac20c \ + --hash=sha256:e857a2232ba53ae940d3456f7533ce6ca98b81917d47adc3c7fd55dad8fab858 \ + --hash=sha256:ee4006268ed33370957f55bf2e6f4d263eaf4dc3cfc473d1d90baff6ed36ce4a \ + --hash=sha256:eef9df1eefada2c09a5e7a40991b9fc6ac6ef20b1372abd48d2794a316dc0449 \ + --hash=sha256:f058f6963fd82eb143c692cecdc89e075fa0828db2e5b291070485390b2f1c9c \ + --hash=sha256:f25c229a6ba38a35ae6e25ca1264621cc25d4d38dca2942a7fce0b67a4efe918 \ + --hash=sha256:f2a1d0fd4242bd8643ce6f98927cf9c04540af6efa92323e9d3124f57727bfc1 \ + --hash=sha256:f7560358a6811e52e9c4d142d497f1a6e10103d3a6881f18d04dbce3729c0e2c \ + --hash=sha256:f779d3ad205f108d14e99bb3859aa7dd8e9c68874617c72354d7ecaec2a054ac \ + --hash=sha256:f87f746ee241d30d6ed93969de31e5ffd09a2961a051e60ae6bddde9ec3583aa + # via requests +cocotb==1.8.0 \ + --hash=sha256:0321f18e8e399dd011d4f2bfea8d3fbdfd19c8217a368867a43e586763af0be1 \ + --hash=sha256:0dcf0dda9d21caeeb34b0be69167b2e0034fe9da524945c3a67f58487acd8027 \ + --hash=sha256:17dd8bca4ac9e4ef6085d5be15172191d8d55c56ad15f5d1d7afd007bc40408f \ + --hash=sha256:19dab657c314664e012f1d9f7d3ef78c8f01b030c5ba9f89b48488584768757b \ + --hash=sha256:38c8ad50cfe00180296b7d3a9414b54f6127d6c82d600a547e4cced28c5b4b87 \ + --hash=sha256:40bd06d1f0a2bf53a590eccf0229286f47be7208c401d209a190d020f82fd074 \ + --hash=sha256:4d64992f656ef42b480e71f6445f1c122e54a4ac2a2de28dcdbf596794636243 \ + --hash=sha256:561d1146701b1526288c10b885a136e425b644cb7ef03db22bed3d47066270d8 \ + --hash=sha256:575b388a4461cc96dfe5b919a19b567bd2f6b6162aefd279be690a0cd7edda4c \ + --hash=sha256:632ac31d87d191d3339ca291354e17128c4de2857237fd020dcd1bdf018cbe2c \ + --hash=sha256:65e92655403b2e6ea18fbd8cfeea1a0a708db9402334ae7d812f1b687092ef66 \ + --hash=sha256:6e6495997ddb737dbcd47aa00b29d11f2237df8521e9b52064e8f59641231b4a \ + --hash=sha256:81b7b10965916271646a2c1d975596558d15b107e5337fe566ffe9262289a4d7 \ + --hash=sha256:9345c58ed2bb60fe89064bdf27ed7c6c5b642fb81dc6520640301b5e4f8b1486 \ + --hash=sha256:94b5d2f2c940b2b81d04cd3e448a2ce445e02ae13304f31eafdd694e148dcd70 \ + --hash=sha256:997f1734d1bcc7924f1d931793e95d17bc46e5ee47ce566ae7584168d3db41d2 \ + --hash=sha256:99ae6d53d900c13f5f26e4b40fc7040edadf7c04786118e68f163dddbe6b78f5 \ + --hash=sha256:9b8c1c169acef36c56b861f2d1c296842b89a3d7e5bb4e0ec4eff79a914de780 \ + --hash=sha256:9daf891facef23536e600ce98ad43169452224d1b9aa847488c37b2da9fe9506 \ + --hash=sha256:a9546cb1d05c247cb726fc3479cd031b84a80822163304037d6fcc6f517e3340 \ + --hash=sha256:af6bd03561fb819eb7b4f2080fada2315df3a7c4833380a743dabe7266384068 \ + --hash=sha256:bfe75aea1e82ef6aeb2fbc300ca9a0c5f25b5b89031fb7782c5f067318b10d53 \ + --hash=sha256:c356d1556d1266822fbcb21361ba1449087e758a66b83b34b03d41e648060634 \ + --hash=sha256:caa511e5bf58b6b41453a46965cc49fd7b943e398edd3df4516c89f24e381862 \ + --hash=sha256:caee9f42cd645236257205b9435ea46043174c6970e59b1182b5fb27820ffb16 \ + --hash=sha256:cbb335b7d6d1806da27f213dcb7d05f4841e07e490c5d6456f4d9a90e0acc109 \ + --hash=sha256:cccab7fd2835e39c9680df672446883b4ae3b8359574f371699853ed4aa7547f \ + --hash=sha256:cf8ccbc4a7afba4c18714f4ba44af723110e26087c1b355b2056c6a58614a77d \ + --hash=sha256:ee4342cecd3a265a45334f127c66223609288cc3a8c138fc65d89d9ba74f8de5 \ + --hash=sha256:f9d126b0fa0d15fe2234b1c65665c5ffa53aa2ca9b16f80d96faddd145235620 \ + --hash=sha256:fa82154e4526fb5fe884bef33bd21ab91130a1dbb109e11d5ef32fa49dd5c865 + # via -r dependency_support/pip_requirements.in +cryptography==41.0.4 \ + --hash=sha256:004b6ccc95943f6a9ad3142cfabcc769d7ee38a3f60fb0dddbfb431f818c3a67 \ + --hash=sha256:047c4603aeb4bbd8db2756e38f5b8bd7e94318c047cfe4efeb5d715e08b49311 \ + --hash=sha256:0d9409894f495d465fe6fda92cb70e8323e9648af912d5b9141d616df40a87b8 \ + --hash=sha256:23a25c09dfd0d9f28da2352503b23e086f8e78096b9fd585d1d14eca01613e13 \ + --hash=sha256:2ed09183922d66c4ec5fdaa59b4d14e105c084dd0febd27452de8f6f74704143 \ + --hash=sha256:35c00f637cd0b9d5b6c6bd11b6c3359194a8eba9c46d4e875a3660e3b400005f \ + --hash=sha256:37480760ae08065437e6573d14be973112c9e6dcaf5f11d00147ee74f37a3829 \ + --hash=sha256:3b224890962a2d7b57cf5eeb16ccaafba6083f7b811829f00476309bce2fe0fd \ + --hash=sha256:5a0f09cefded00e648a127048119f77bc2b2ec61e736660b5789e638f43cc397 \ + --hash=sha256:5b72205a360f3b6176485a333256b9bcd48700fc755fef51c8e7e67c4b63e3ac \ + --hash=sha256:7e53db173370dea832190870e975a1e09c86a879b613948f09eb49324218c14d \ + --hash=sha256:7febc3094125fc126a7f6fb1f420d0da639f3f32cb15c8ff0dc3997c4549f51a \ + --hash=sha256:80907d3faa55dc5434a16579952ac6da800935cd98d14dbd62f6f042c7f5e839 \ + --hash=sha256:86defa8d248c3fa029da68ce61fe735432b047e32179883bdb1e79ed9bb8195e \ + --hash=sha256:8ac4f9ead4bbd0bc8ab2d318f97d85147167a488be0e08814a37eb2f439d5cf6 \ + --hash=sha256:93530900d14c37a46ce3d6c9e6fd35dbe5f5601bf6b3a5c325c7bffc030344d9 \ + --hash=sha256:9eeb77214afae972a00dee47382d2591abe77bdae166bda672fb1e24702a3860 \ + --hash=sha256:b5f4dfe950ff0479f1f00eda09c18798d4f49b98f4e2006d644b3301682ebdca \ + --hash=sha256:c3391bd8e6de35f6f1140e50aaeb3e2b3d6a9012536ca23ab0d9c35ec18c8a91 \ + --hash=sha256:c880eba5175f4307129784eca96f4e70b88e57aa3f680aeba3bab0e980b0f37d \ + --hash=sha256:cecfefa17042941f94ab54f769c8ce0fe14beff2694e9ac684176a2535bf9714 \ + --hash=sha256:e40211b4923ba5a6dc9769eab704bdb3fbb58d56c5b336d30996c24fcf12aadb \ + --hash=sha256:efc8ad4e6fc4f1752ebfb58aefece8b4e3c4cae940b0994d43649bdfce8d0d4f + # via jwt +dataclasses-json==0.5.7 \ + --hash=sha256:bc285b5f892094c3a53d558858a88553dd6a61a11ab1a8128a0e554385dcc5dd \ + --hash=sha256:c2c11bc8214fbf709ffc369d11446ff6945254a7f09128154a7620613d8fda90 + # via -r dependency_support/pip_requirements.in +find-libpython==0.3.0 \ + --hash=sha256:6e7fe5d9af7fad6dc066cb5515a0e9c90a71f1feb2bb2f8e4cdbb4f83276e9e5 \ + --hash=sha256:93fa14c8d007a7f9e6b650a486e249b49f01fd8d45b83ecf080a78b1a7011214 + # via cocotb +idna==3.4 \ + --hash=sha256:814f528e8dead7d329833b91c5faa87d60bf71824cd12a7530b5526063d02cb4 \ + --hash=sha256:90b77e79eaa3eba6de819a0c442c0b4ceefc341a7a2ab77d7562bf49f425c5c2 + # via requests +jwt==1.3.1 \ + --hash=sha256:61c9170f92e736b530655e75374681d4fcca9cfa8763ab42be57353b2b203494 + # via -r dependency_support/pip_requirements.in +klayout==0.28.8 \ + --hash=sha256:0982d01ff8b7cac1d50a197dee55937e4f7788e2bcd8c1670d94ab9f8a2e1e5d \ + --hash=sha256:09c237c2d77589727e06393b91ea1fb013c999d991c1cdf6b2c832dc4be0db6c \ + --hash=sha256:0ec7fcd0a309106d085446cf1a8848739f1fa9deeee6e6b9f4df67414ec1433b \ + --hash=sha256:17dc40dfd9c909cc384a6a02bbe5290f5ab849d23aa22622d71c31a243aaa2ad \ + --hash=sha256:19ca311cb122638aaf06dbbeab95316e973030098062fd76f7c91ca9393a9957 \ + --hash=sha256:1eeaffebff48e34401065f6bb0dbe183c41ca367a11ab2944d55bc203c2c33ce \ + --hash=sha256:1f0f5dec6440f0ee8a9511e5c92aa2de6bef9e8e9c22a5f828f67d1ee1c10f7e \ + --hash=sha256:211979d747c937e18cde64f5e03fa2e8147c9b0e14c5dc5508ee2ab4119926c0 \ + --hash=sha256:264d7a2d7aeadfc6e2757d2cbd7752268fe1f8d6abca6fc64138720e0d20163a \ + --hash=sha256:2fc6af5f4508d9e1fa3fd9833b00ed1da3f59424150502e81aa0f8917c3b653c \ + --hash=sha256:4013b1bf8ed5ae6dc71bf6107502c8d52823381121a1e0dff123f7878de362c6 \ + --hash=sha256:4a6aa298ccf04cf4f1556cef7ebab4df069976cf94d4238d8b65869144b08416 \ + --hash=sha256:59c46e3d2f425e8e3124a8483a7b4b93c89348605f4360b80d9dcb79cbd5fe7b \ + --hash=sha256:6d308b18f7bfe6787d7724ae3c991d007344f5d56c0104a3820e3fe65d8efae1 \ + --hash=sha256:734edf21686e2288b0c05f9f2342bda272471524fd81f4194587a759ccce79b2 \ + --hash=sha256:7d01821120973d56445f543437c5c7d90cfb5fa5127e4700a6c0634574b61589 \ + --hash=sha256:7f34e168b37361d750faca5862e81cdc8155b3a007d185018efa42f1c4ef3e05 \ + --hash=sha256:9c52543bed7c647f0943d0cc8b2f7bfc411e5adf802f31bf68e680c1d9c839bc \ + --hash=sha256:a557002706c5877e3df1ae996dff242bea64420a2d5540aa5e14a14de44e5b3d \ + --hash=sha256:b1e2875c874e41bdd6e489b58a9a904a8982e41de55322fd2848c8ae4f7fa1d0 \ + --hash=sha256:b498d44447014fdc247789f84c26830378f0ec960a02b1e0fe3a307a8e88d676 \ + --hash=sha256:b4d3bc1ab1a7a3151bfc8e7eeed67b00eacb4f776449ef3c1c6ad684c969c73e \ + --hash=sha256:c767a9828656bb86a1cb6ebb1a8bbc7daa14657af34e0b96cb439e41d6a2908d \ + --hash=sha256:c7998e99329c6ae605e7d065577e02a8e8d939d7b009fe26cf5a433e35ec4e24 \ + --hash=sha256:cc31bee5b29e8133dc5b9efad9849e6a07b0bc869f7eed67cd1014b36f39d780 \ + --hash=sha256:d453761801b66cd57c950ad973e78fc1d0d7424e2575f07f9e397798c08c8dec \ + --hash=sha256:d7bfe42a40706566edd8728f8b3a4eeded5a0962115fdad777497cdd1a1f18bb \ + --hash=sha256:d8cae2bb2d6d079af3261b530c33c2fd25007aba294f1126dd909cae6a9eb4aa \ + --hash=sha256:d96f7db09efcb8e9c242a4b5a69ad9105610d781e30c71bd060eb0575f172c8c \ + --hash=sha256:daf9d97be30d4a0e41751d1820f7d63deabc237621c2e6b098ee1997b6d787de \ + --hash=sha256:e1328ddca93b1d90bf5e9bda82456f6e4fe9be852b6a0877c9df2b79fbd029e0 \ + --hash=sha256:e38a2af9d33222d4a3939fcfee8418624ecd048ed7665742826691e1799ce8b7 \ + --hash=sha256:e58cc9f0d23445059403df3a8fd8cd0c0703aeadb0a9579fe5e0fc0ab5d4b829 \ + --hash=sha256:f614527ae1640f85b5e95e6def1812d2f193f2af1d90f4b095b4524732f8092b \ + --hash=sha256:ffa91e537a5a2b01d440fa90e23596edcd4c6468ce6691ec33df05862bb1b0db + # via -r dependency_support/pip_requirements.in +marshmallow==3.20.1 \ + --hash=sha256:5d2371bbe42000f2b3fb5eaa065224df7d8f8597bc19a1bbfa5bfe7fba8da889 \ + --hash=sha256:684939db93e80ad3561392f47be0230743131560a41c5110684c16e21ade0a5c + # via + # dataclasses-json + # marshmallow-enum +marshmallow-enum==1.5.1 \ + --hash=sha256:38e697e11f45a8e64b4a1e664000897c659b60aa57bfa18d44e226a9920b6e58 \ + --hash=sha256:57161ab3dbfde4f57adeb12090f39592e992b9c86d206d02f6bd03ebec60f072 + # via dataclasses-json +mypy-extensions==1.0.0 \ + --hash=sha256:4392f6c0eb8a5668a69e23d168ffa70f0be9ccfd32b5cc2d26a34ae5b844552d \ + --hash=sha256:75dbf8955dc00442a438fc4d0666508a9a97b6bd41aa2f0ffe9d2f2725af0782 + # via typing-inspect +packaging==23.1 \ + --hash=sha256:994793af429502c4ea2ebf6bf664629d07c1a9fe974af92966e4b8d2df7edc61 \ + --hash=sha256:a392980d2b6cffa644431898be54b0045151319d1e7ec34f0cfed48767dd334f + # via marshmallow +pycparser==2.21 \ + --hash=sha256:8ee45429555515e1f6b185e78100aea234072576aa43ab53aefcae078162fca9 \ + --hash=sha256:e644fdec12f7872f86c58ff790da456218b10f863970249516d60a5eaca77206 + # via cffi +requests==2.28.2 \ + --hash=sha256:64299f4909223da747622c030b781c0d7811e359c37124b4bd368fb8c6518baa \ + --hash=sha256:98b1b2782e3c6c4904938b84c0eb932721069dfdb9134313beff7c83c2df24bf + # via -r dependency_support/pip_requirements.in +typing-extensions==4.8.0 \ + --hash=sha256:8f92fc8806f9a6b641eaa5318da32b44d401efaac0f6678c9bc448ba3605faa0 \ + --hash=sha256:df8e4339e9cb77357558cbdbceca33c303714cf861d1eef15e1070055ae8b7ef + # via typing-inspect +typing-inspect==0.9.0 \ + --hash=sha256:9ee6fc59062311ef8547596ab6b955e1b8aa46242d854bfc78f4f6b0eff35f9f \ + --hash=sha256:b23fc42ff6f6ef6954e4852c1fb512cdd18dbea03134f91f856a95ccc9461f78 + # via dataclasses-json +urllib3==1.26.16 \ + --hash=sha256:8d36afa7616d8ab714608411b4a3b13e58f463aee519024578e062e141dce20f \ + --hash=sha256:8f135f6502756bde6b2a9b28989df5fbe87c9970cecaa69041edcce7f0589b14 + # via requests diff --git a/dependency_support/requirements.bzl b/dependency_support/requirements.bzl new file mode 100755 index 00000000..d600ffba --- /dev/null +++ b/dependency_support/requirements.bzl @@ -0,0 +1,54 @@ +"""Starlark representation of locked requirements. + +@generated by rules_python pip_parse repository rule +from @//dependency_support:pip_requirements.txt +""" + +load("@rules_python//python/pip_install:pip_repository.bzl", "whl_library") + +all_requirements = ["@rules_hdl_pip_deps_absl_py//:pkg", "@rules_hdl_pip_deps_certifi//:pkg", "@rules_hdl_pip_deps_cffi//:pkg", "@rules_hdl_pip_deps_charset_normalizer//:pkg", "@rules_hdl_pip_deps_cocotb//:pkg", "@rules_hdl_pip_deps_cryptography//:pkg", "@rules_hdl_pip_deps_dataclasses_json//:pkg", "@rules_hdl_pip_deps_find_libpython//:pkg", "@rules_hdl_pip_deps_idna//:pkg", "@rules_hdl_pip_deps_jwt//:pkg", "@rules_hdl_pip_deps_klayout//:pkg", "@rules_hdl_pip_deps_marshmallow//:pkg", "@rules_hdl_pip_deps_marshmallow_enum//:pkg", "@rules_hdl_pip_deps_mypy_extensions//:pkg", "@rules_hdl_pip_deps_packaging//:pkg", "@rules_hdl_pip_deps_pycparser//:pkg", "@rules_hdl_pip_deps_requests//:pkg", "@rules_hdl_pip_deps_typing_extensions//:pkg", "@rules_hdl_pip_deps_typing_inspect//:pkg", "@rules_hdl_pip_deps_urllib3//:pkg"] + +all_whl_requirements = ["@rules_hdl_pip_deps_absl_py//:whl", "@rules_hdl_pip_deps_certifi//:whl", "@rules_hdl_pip_deps_cffi//:whl", "@rules_hdl_pip_deps_charset_normalizer//:whl", "@rules_hdl_pip_deps_cocotb//:whl", "@rules_hdl_pip_deps_cryptography//:whl", "@rules_hdl_pip_deps_dataclasses_json//:whl", "@rules_hdl_pip_deps_find_libpython//:whl", "@rules_hdl_pip_deps_idna//:whl", "@rules_hdl_pip_deps_jwt//:whl", "@rules_hdl_pip_deps_klayout//:whl", "@rules_hdl_pip_deps_marshmallow//:whl", "@rules_hdl_pip_deps_marshmallow_enum//:whl", "@rules_hdl_pip_deps_mypy_extensions//:whl", "@rules_hdl_pip_deps_packaging//:whl", "@rules_hdl_pip_deps_pycparser//:whl", "@rules_hdl_pip_deps_requests//:whl", "@rules_hdl_pip_deps_typing_extensions//:whl", "@rules_hdl_pip_deps_typing_inspect//:whl", "@rules_hdl_pip_deps_urllib3//:whl"] + +all_data_requirements = ["@rules_hdl_pip_deps_absl_py//:data", "@rules_hdl_pip_deps_certifi//:data", "@rules_hdl_pip_deps_cffi//:data", "@rules_hdl_pip_deps_charset_normalizer//:data", "@rules_hdl_pip_deps_cocotb//:data", "@rules_hdl_pip_deps_cryptography//:data", "@rules_hdl_pip_deps_dataclasses_json//:data", "@rules_hdl_pip_deps_find_libpython//:data", "@rules_hdl_pip_deps_idna//:data", "@rules_hdl_pip_deps_jwt//:data", "@rules_hdl_pip_deps_klayout//:data", "@rules_hdl_pip_deps_marshmallow//:data", "@rules_hdl_pip_deps_marshmallow_enum//:data", "@rules_hdl_pip_deps_mypy_extensions//:data", "@rules_hdl_pip_deps_packaging//:data", "@rules_hdl_pip_deps_pycparser//:data", "@rules_hdl_pip_deps_requests//:data", "@rules_hdl_pip_deps_typing_extensions//:data", "@rules_hdl_pip_deps_typing_inspect//:data", "@rules_hdl_pip_deps_urllib3//:data"] + +_packages = [("rules_hdl_pip_deps_absl_py", "absl-py==1.4.0 --hash=sha256:0d3fe606adfa4f7db64792dd4c7aee4ee0c38ab75dfd353b7a83ed3e957fcb47 --hash=sha256:d2c244d01048ba476e7c080bd2c6df5e141d211de80223460d5b3b8a2a58433d"), ("rules_hdl_pip_deps_certifi", "certifi==2023.7.22 --hash=sha256:539cc1d13202e33ca466e88b2807e29f4c13049d6d87031a3c110744495cb082 --hash=sha256:92d6037539857d8206b8f6ae472e8b77db8058fec5937a1ef3f54304089edbb9"), ("rules_hdl_pip_deps_cffi", "cffi==1.15.1 --hash=sha256:00a9ed42e88df81ffae7a8ab6d9356b371399b91dbdf0c3cb1e84c03a13aceb5 --hash=sha256:03425bdae262c76aad70202debd780501fabeaca237cdfddc008987c0e0f59ef --hash=sha256:04ed324bda3cda42b9b695d51bb7d54b680b9719cfab04227cdd1e04e5de3104 --hash=sha256:0e2642fe3142e4cc4af0799748233ad6da94c62a8bec3a6648bf8ee68b1c7426 --hash=sha256:173379135477dc8cac4bc58f45db08ab45d228b3363adb7af79436135d028405 --hash=sha256:198caafb44239b60e252492445da556afafc7d1e3ab7a1fb3f0584ef6d742375 --hash=sha256:1e74c6b51a9ed6589199c787bf5f9875612ca4a8a0785fb2d4a84429badaf22a --hash=sha256:2012c72d854c2d03e45d06ae57f40d78e5770d252f195b93f581acf3ba44496e --hash=sha256:21157295583fe8943475029ed5abdcf71eb3911894724e360acff1d61c1d54bc --hash=sha256:2470043b93ff09bf8fb1d46d1cb756ce6132c54826661a32d4e4d132e1977adf --hash=sha256:285d29981935eb726a4399badae8f0ffdff4f5050eaa6d0cfc3f64b857b77185 --hash=sha256:30d78fbc8ebf9c92c9b7823ee18eb92f2e6ef79b45ac84db507f52fbe3ec4497 --hash=sha256:320dab6e7cb2eacdf0e658569d2575c4dad258c0fcc794f46215e1e39f90f2c3 --hash=sha256:33ab79603146aace82c2427da5ca6e58f2b3f2fb5da893ceac0c42218a40be35 --hash=sha256:3548db281cd7d2561c9ad9984681c95f7b0e38881201e157833a2342c30d5e8c --hash=sha256:3799aecf2e17cf585d977b780ce79ff0dc9b78d799fc694221ce814c2c19db83 --hash=sha256:39d39875251ca8f612b6f33e6b1195af86d1b3e60086068be9cc053aa4376e21 --hash=sha256:3b926aa83d1edb5aa5b427b4053dc420ec295a08e40911296b9eb1b6170f6cca --hash=sha256:3bcde07039e586f91b45c88f8583ea7cf7a0770df3a1649627bf598332cb6984 --hash=sha256:3d08afd128ddaa624a48cf2b859afef385b720bb4b43df214f85616922e6a5ac --hash=sha256:3eb6971dcff08619f8d91607cfc726518b6fa2a9eba42856be181c6d0d9515fd --hash=sha256:40f4774f5a9d4f5e344f31a32b5096977b5d48560c5592e2f3d2c4374bd543ee --hash=sha256:4289fc34b2f5316fbb762d75362931e351941fa95fa18789191b33fc4cf9504a --hash=sha256:470c103ae716238bbe698d67ad020e1db9d9dba34fa5a899b5e21577e6d52ed2 --hash=sha256:4f2c9f67e9821cad2e5f480bc8d83b8742896f1242dba247911072d4fa94c192 --hash=sha256:50a74364d85fd319352182ef59c5c790484a336f6db772c1a9231f1c3ed0cbd7 --hash=sha256:54a2db7b78338edd780e7ef7f9f6c442500fb0d41a5a4ea24fff1c929d5af585 --hash=sha256:5635bd9cb9731e6d4a1132a498dd34f764034a8ce60cef4f5319c0541159392f --hash=sha256:59c0b02d0a6c384d453fece7566d1c7e6b7bae4fc5874ef2ef46d56776d61c9e --hash=sha256:5d598b938678ebf3c67377cdd45e09d431369c3b1a5b331058c338e201f12b27 --hash=sha256:5df2768244d19ab7f60546d0c7c63ce1581f7af8b5de3eb3004b9b6fc8a9f84b --hash=sha256:5ef34d190326c3b1f822a5b7a45f6c4535e2f47ed06fec77d3d799c450b2651e --hash=sha256:6975a3fac6bc83c4a65c9f9fcab9e47019a11d3d2cf7f3c0d03431bf145a941e --hash=sha256:6c9a799e985904922a4d207a94eae35c78ebae90e128f0c4e521ce339396be9d --hash=sha256:70df4e3b545a17496c9b3f41f5115e69a4f2e77e94e1d2a8e1070bc0c38c8a3c --hash=sha256:7473e861101c9e72452f9bf8acb984947aa1661a7704553a9f6e4baa5ba64415 --hash=sha256:8102eaf27e1e448db915d08afa8b41d6c7ca7a04b7d73af6514df10a3e74bd82 --hash=sha256:87c450779d0914f2861b8526e035c5e6da0a3199d8f1add1a665e1cbc6fc6d02 --hash=sha256:8b7ee99e510d7b66cdb6c593f21c043c248537a32e0bedf02e01e9553a172314 --hash=sha256:91fc98adde3d7881af9b59ed0294046f3806221863722ba7d8d120c575314325 --hash=sha256:94411f22c3985acaec6f83c6df553f2dbe17b698cc7f8ae751ff2237d96b9e3c --hash=sha256:98d85c6a2bef81588d9227dde12db8a7f47f639f4a17c9ae08e773aa9c697bf3 --hash=sha256:9ad5db27f9cabae298d151c85cf2bad1d359a1b9c686a275df03385758e2f914 --hash=sha256:a0b71b1b8fbf2b96e41c4d990244165e2c9be83d54962a9a1d118fd8657d2045 --hash=sha256:a0f100c8912c114ff53e1202d0078b425bee3649ae34d7b070e9697f93c5d52d --hash=sha256:a591fe9e525846e4d154205572a029f653ada1a78b93697f3b5a8f1f2bc055b9 --hash=sha256:a5c84c68147988265e60416b57fc83425a78058853509c1b0629c180094904a5 --hash=sha256:a66d3508133af6e8548451b25058d5812812ec3798c886bf38ed24a98216fab2 --hash=sha256:a8c4917bd7ad33e8eb21e9a5bbba979b49d9a97acb3a803092cbc1133e20343c --hash=sha256:b3bbeb01c2b273cca1e1e0c5df57f12dce9a4dd331b4fa1635b8bec26350bde3 --hash=sha256:cba9d6b9a7d64d4bd46167096fc9d2f835e25d7e4c121fb2ddfc6528fb0413b2 --hash=sha256:cc4d65aeeaa04136a12677d3dd0b1c0c94dc43abac5860ab33cceb42b801c1e8 --hash=sha256:ce4bcc037df4fc5e3d184794f27bdaab018943698f4ca31630bc7f84a7b69c6d --hash=sha256:cec7d9412a9102bdc577382c3929b337320c4c4c4849f2c5cdd14d7368c5562d --hash=sha256:d400bfb9a37b1351253cb402671cea7e89bdecc294e8016a707f6d1d8ac934f9 --hash=sha256:d61f4695e6c866a23a21acab0509af1cdfd2c013cf256bbf5b6b5e2695827162 --hash=sha256:db0fbb9c62743ce59a9ff687eb5f4afbe77e5e8403d6697f7446e5f609976f76 --hash=sha256:dd86c085fae2efd48ac91dd7ccffcfc0571387fe1193d33b6394db7ef31fe2a4 --hash=sha256:e00b098126fd45523dd056d2efba6c5a63b71ffe9f2bbe1a4fe1716e1d0c331e --hash=sha256:e229a521186c75c8ad9490854fd8bbdd9a0c9aa3a524326b55be83b54d4e0ad9 --hash=sha256:e263d77ee3dd201c3a142934a086a4450861778baaeeb45db4591ef65550b0a6 --hash=sha256:ed9cb427ba5504c1dc15ede7d516b84757c3e3d7868ccc85121d9310d27eed0b --hash=sha256:fa6693661a4c91757f4412306191b6dc88c1703f780c8234035eac011922bc01 --hash=sha256:fcd131dd944808b5bdb38e6f5b53013c5aa4f334c5cad0c72742f6eba4b73db0"), ("rules_hdl_pip_deps_charset_normalizer", "charset-normalizer==3.2.0 --hash=sha256:04e57ab9fbf9607b77f7d057974694b4f6b142da9ed4a199859d9d4d5c63fe96 --hash=sha256:09393e1b2a9461950b1c9a45d5fd251dc7c6f228acab64da1c9c0165d9c7765c --hash=sha256:0b87549028f680ca955556e3bd57013ab47474c3124dc069faa0b6545b6c9710 --hash=sha256:1000fba1057b92a65daec275aec30586c3de2401ccdcd41f8a5c1e2c87078706 --hash=sha256:1249cbbf3d3b04902ff081ffbb33ce3377fa6e4c7356f759f3cd076cc138d020 --hash=sha256:1920d4ff15ce893210c1f0c0e9d19bfbecb7983c76b33f046c13a8ffbd570252 --hash=sha256:193cbc708ea3aca45e7221ae58f0fd63f933753a9bfb498a3b474878f12caaad --hash=sha256:1a100c6d595a7f316f1b6f01d20815d916e75ff98c27a01ae817439ea7726329 --hash=sha256:1f30b48dd7fa1474554b0b0f3fdfdd4c13b5c737a3c6284d3cdc424ec0ffff3a --hash=sha256:203f0c8871d5a7987be20c72442488a0b8cfd0f43b7973771640fc593f56321f --hash=sha256:246de67b99b6851627d945db38147d1b209a899311b1305dd84916f2b88526c6 --hash=sha256:2dee8e57f052ef5353cf608e0b4c871aee320dd1b87d351c28764fc0ca55f9f4 --hash=sha256:2efb1bd13885392adfda4614c33d3b68dee4921fd0ac1d3988f8cbb7d589e72a --hash=sha256:2f4ac36d8e2b4cc1aa71df3dd84ff8efbe3bfb97ac41242fbcfc053c67434f46 --hash=sha256:3170c9399da12c9dc66366e9d14da8bf7147e1e9d9ea566067bbce7bb74bd9c2 --hash=sha256:3b1613dd5aee995ec6d4c69f00378bbd07614702a315a2cf6c1d21461fe17c23 --hash=sha256:3bb3d25a8e6c0aedd251753a79ae98a093c7e7b471faa3aa9a93a81431987ace --hash=sha256:3bb7fda7260735efe66d5107fb7e6af6a7c04c7fce9b2514e04b7a74b06bf5dd --hash=sha256:41b25eaa7d15909cf3ac4c96088c1f266a9a93ec44f87f1d13d4a0e86c81b982 --hash=sha256:45de3f87179c1823e6d9e32156fb14c1927fcc9aba21433f088fdfb555b77c10 --hash=sha256:46fb8c61d794b78ec7134a715a3e564aafc8f6b5e338417cb19fe9f57a5a9bf2 --hash=sha256:48021783bdf96e3d6de03a6e39a1171ed5bd7e8bb93fc84cc649d11490f87cea --hash=sha256:4957669ef390f0e6719db3613ab3a7631e68424604a7b448f079bee145da6e09 --hash=sha256:5e86d77b090dbddbe78867a0275cb4df08ea195e660f1f7f13435a4649e954e5 --hash=sha256:6339d047dab2780cc6220f46306628e04d9750f02f983ddb37439ca47ced7149 --hash=sha256:681eb3d7e02e3c3655d1b16059fbfb605ac464c834a0c629048a30fad2b27489 --hash=sha256:6c409c0deba34f147f77efaa67b8e4bb83d2f11c8806405f76397ae5b8c0d1c9 --hash=sha256:7095f6fbfaa55defb6b733cfeb14efaae7a29f0b59d8cf213be4e7ca0b857b80 --hash=sha256:70c610f6cbe4b9fce272c407dd9d07e33e6bf7b4aa1b7ffb6f6ded8e634e3592 --hash=sha256:72814c01533f51d68702802d74f77ea026b5ec52793c791e2da806a3844a46c3 --hash=sha256:7a4826ad2bd6b07ca615c74ab91f32f6c96d08f6fcc3902ceeedaec8cdc3bcd6 --hash=sha256:7c70087bfee18a42b4040bb9ec1ca15a08242cf5867c58726530bdf3945672ed --hash=sha256:855eafa5d5a2034b4621c74925d89c5efef61418570e5ef9b37717d9c796419c --hash=sha256:8700f06d0ce6f128de3ccdbc1acaea1ee264d2caa9ca05daaf492fde7c2a7200 --hash=sha256:89f1b185a01fe560bc8ae5f619e924407efca2191b56ce749ec84982fc59a32a --hash=sha256:8b2c760cfc7042b27ebdb4a43a4453bd829a5742503599144d54a032c5dc7e9e --hash=sha256:8c2f5e83493748286002f9369f3e6607c565a6a90425a3a1fef5ae32a36d749d --hash=sha256:8e098148dd37b4ce3baca71fb394c81dc5d9c7728c95df695d2dca218edf40e6 --hash=sha256:94aea8eff76ee6d1cdacb07dd2123a68283cb5569e0250feab1240058f53b623 --hash=sha256:95eb302ff792e12aba9a8b8f8474ab229a83c103d74a750ec0bd1c1eea32e669 --hash=sha256:9bd9b3b31adcb054116447ea22caa61a285d92e94d710aa5ec97992ff5eb7cf3 --hash=sha256:9e608aafdb55eb9f255034709e20d5a83b6d60c054df0802fa9c9883d0a937aa --hash=sha256:a103b3a7069b62f5d4890ae1b8f0597618f628b286b03d4bc9195230b154bfa9 --hash=sha256:a386ebe437176aab38c041de1260cd3ea459c6ce5263594399880bbc398225b2 --hash=sha256:a38856a971c602f98472050165cea2cdc97709240373041b69030be15047691f --hash=sha256:a401b4598e5d3f4a9a811f3daf42ee2291790c7f9d74b18d75d6e21dda98a1a1 --hash=sha256:a7647ebdfb9682b7bb97e2a5e7cb6ae735b1c25008a70b906aecca294ee96cf4 --hash=sha256:aaf63899c94de41fe3cf934601b0f7ccb6b428c6e4eeb80da72c58eab077b19a --hash=sha256:b0dac0ff919ba34d4df1b6131f59ce95b08b9065233446be7e459f95554c0dc8 --hash=sha256:baacc6aee0b2ef6f3d308e197b5d7a81c0e70b06beae1f1fcacffdbd124fe0e3 --hash=sha256:bf420121d4c8dce6b889f0e8e4ec0ca34b7f40186203f06a946fa0276ba54029 --hash=sha256:c04a46716adde8d927adb9457bbe39cf473e1e2c2f5d0a16ceb837e5d841ad4f --hash=sha256:c0b21078a4b56965e2b12f247467b234734491897e99c1d51cee628da9786959 --hash=sha256:c1c76a1743432b4b60ab3358c937a3fe1341c828ae6194108a94c69028247f22 --hash=sha256:c4983bf937209c57240cff65906b18bb35e64ae872da6a0db937d7b4af845dd7 --hash=sha256:c4fb39a81950ec280984b3a44f5bd12819953dc5fa3a7e6fa7a80db5ee853952 --hash=sha256:c57921cda3a80d0f2b8aec7e25c8aa14479ea92b5b51b6876d975d925a2ea346 --hash=sha256:c8063cf17b19661471ecbdb3df1c84f24ad2e389e326ccaf89e3fb2484d8dd7e --hash=sha256:ccd16eb18a849fd8dcb23e23380e2f0a354e8daa0c984b8a732d9cfaba3a776d --hash=sha256:cd6dbe0238f7743d0efe563ab46294f54f9bc8f4b9bcf57c3c666cc5bc9d1299 --hash=sha256:d62e51710986674142526ab9f78663ca2b0726066ae26b78b22e0f5e571238dd --hash=sha256:db901e2ac34c931d73054d9797383d0f8009991e723dab15109740a63e7f902a --hash=sha256:e03b8895a6990c9ab2cdcd0f2fe44088ca1c65ae592b8f795c3294af00a461c3 --hash=sha256:e1c8a2f4c69e08e89632defbfabec2feb8a8d99edc9f89ce33c4b9e36ab63037 --hash=sha256:e4b749b9cc6ee664a3300bb3a273c1ca8068c46be705b6c31cf5d276f8628a94 --hash=sha256:e6a5bf2cba5ae1bb80b154ed68a3cfa2fa00fde979a7f50d6598d3e17d9ac20c --hash=sha256:e857a2232ba53ae940d3456f7533ce6ca98b81917d47adc3c7fd55dad8fab858 --hash=sha256:ee4006268ed33370957f55bf2e6f4d263eaf4dc3cfc473d1d90baff6ed36ce4a --hash=sha256:eef9df1eefada2c09a5e7a40991b9fc6ac6ef20b1372abd48d2794a316dc0449 --hash=sha256:f058f6963fd82eb143c692cecdc89e075fa0828db2e5b291070485390b2f1c9c --hash=sha256:f25c229a6ba38a35ae6e25ca1264621cc25d4d38dca2942a7fce0b67a4efe918 --hash=sha256:f2a1d0fd4242bd8643ce6f98927cf9c04540af6efa92323e9d3124f57727bfc1 --hash=sha256:f7560358a6811e52e9c4d142d497f1a6e10103d3a6881f18d04dbce3729c0e2c --hash=sha256:f779d3ad205f108d14e99bb3859aa7dd8e9c68874617c72354d7ecaec2a054ac --hash=sha256:f87f746ee241d30d6ed93969de31e5ffd09a2961a051e60ae6bddde9ec3583aa"), ("rules_hdl_pip_deps_cocotb", "cocotb==1.8.0 --hash=sha256:0321f18e8e399dd011d4f2bfea8d3fbdfd19c8217a368867a43e586763af0be1 --hash=sha256:0dcf0dda9d21caeeb34b0be69167b2e0034fe9da524945c3a67f58487acd8027 --hash=sha256:17dd8bca4ac9e4ef6085d5be15172191d8d55c56ad15f5d1d7afd007bc40408f --hash=sha256:19dab657c314664e012f1d9f7d3ef78c8f01b030c5ba9f89b48488584768757b --hash=sha256:38c8ad50cfe00180296b7d3a9414b54f6127d6c82d600a547e4cced28c5b4b87 --hash=sha256:40bd06d1f0a2bf53a590eccf0229286f47be7208c401d209a190d020f82fd074 --hash=sha256:4d64992f656ef42b480e71f6445f1c122e54a4ac2a2de28dcdbf596794636243 --hash=sha256:561d1146701b1526288c10b885a136e425b644cb7ef03db22bed3d47066270d8 --hash=sha256:575b388a4461cc96dfe5b919a19b567bd2f6b6162aefd279be690a0cd7edda4c --hash=sha256:632ac31d87d191d3339ca291354e17128c4de2857237fd020dcd1bdf018cbe2c --hash=sha256:65e92655403b2e6ea18fbd8cfeea1a0a708db9402334ae7d812f1b687092ef66 --hash=sha256:6e6495997ddb737dbcd47aa00b29d11f2237df8521e9b52064e8f59641231b4a --hash=sha256:81b7b10965916271646a2c1d975596558d15b107e5337fe566ffe9262289a4d7 --hash=sha256:9345c58ed2bb60fe89064bdf27ed7c6c5b642fb81dc6520640301b5e4f8b1486 --hash=sha256:94b5d2f2c940b2b81d04cd3e448a2ce445e02ae13304f31eafdd694e148dcd70 --hash=sha256:997f1734d1bcc7924f1d931793e95d17bc46e5ee47ce566ae7584168d3db41d2 --hash=sha256:99ae6d53d900c13f5f26e4b40fc7040edadf7c04786118e68f163dddbe6b78f5 --hash=sha256:9b8c1c169acef36c56b861f2d1c296842b89a3d7e5bb4e0ec4eff79a914de780 --hash=sha256:9daf891facef23536e600ce98ad43169452224d1b9aa847488c37b2da9fe9506 --hash=sha256:a9546cb1d05c247cb726fc3479cd031b84a80822163304037d6fcc6f517e3340 --hash=sha256:af6bd03561fb819eb7b4f2080fada2315df3a7c4833380a743dabe7266384068 --hash=sha256:bfe75aea1e82ef6aeb2fbc300ca9a0c5f25b5b89031fb7782c5f067318b10d53 --hash=sha256:c356d1556d1266822fbcb21361ba1449087e758a66b83b34b03d41e648060634 --hash=sha256:caa511e5bf58b6b41453a46965cc49fd7b943e398edd3df4516c89f24e381862 --hash=sha256:caee9f42cd645236257205b9435ea46043174c6970e59b1182b5fb27820ffb16 --hash=sha256:cbb335b7d6d1806da27f213dcb7d05f4841e07e490c5d6456f4d9a90e0acc109 --hash=sha256:cccab7fd2835e39c9680df672446883b4ae3b8359574f371699853ed4aa7547f --hash=sha256:cf8ccbc4a7afba4c18714f4ba44af723110e26087c1b355b2056c6a58614a77d --hash=sha256:ee4342cecd3a265a45334f127c66223609288cc3a8c138fc65d89d9ba74f8de5 --hash=sha256:f9d126b0fa0d15fe2234b1c65665c5ffa53aa2ca9b16f80d96faddd145235620 --hash=sha256:fa82154e4526fb5fe884bef33bd21ab91130a1dbb109e11d5ef32fa49dd5c865"), ("rules_hdl_pip_deps_cryptography", "cryptography==41.0.4 --hash=sha256:004b6ccc95943f6a9ad3142cfabcc769d7ee38a3f60fb0dddbfb431f818c3a67 --hash=sha256:047c4603aeb4bbd8db2756e38f5b8bd7e94318c047cfe4efeb5d715e08b49311 --hash=sha256:0d9409894f495d465fe6fda92cb70e8323e9648af912d5b9141d616df40a87b8 --hash=sha256:23a25c09dfd0d9f28da2352503b23e086f8e78096b9fd585d1d14eca01613e13 --hash=sha256:2ed09183922d66c4ec5fdaa59b4d14e105c084dd0febd27452de8f6f74704143 --hash=sha256:35c00f637cd0b9d5b6c6bd11b6c3359194a8eba9c46d4e875a3660e3b400005f --hash=sha256:37480760ae08065437e6573d14be973112c9e6dcaf5f11d00147ee74f37a3829 --hash=sha256:3b224890962a2d7b57cf5eeb16ccaafba6083f7b811829f00476309bce2fe0fd --hash=sha256:5a0f09cefded00e648a127048119f77bc2b2ec61e736660b5789e638f43cc397 --hash=sha256:5b72205a360f3b6176485a333256b9bcd48700fc755fef51c8e7e67c4b63e3ac --hash=sha256:7e53db173370dea832190870e975a1e09c86a879b613948f09eb49324218c14d --hash=sha256:7febc3094125fc126a7f6fb1f420d0da639f3f32cb15c8ff0dc3997c4549f51a --hash=sha256:80907d3faa55dc5434a16579952ac6da800935cd98d14dbd62f6f042c7f5e839 --hash=sha256:86defa8d248c3fa029da68ce61fe735432b047e32179883bdb1e79ed9bb8195e --hash=sha256:8ac4f9ead4bbd0bc8ab2d318f97d85147167a488be0e08814a37eb2f439d5cf6 --hash=sha256:93530900d14c37a46ce3d6c9e6fd35dbe5f5601bf6b3a5c325c7bffc030344d9 --hash=sha256:9eeb77214afae972a00dee47382d2591abe77bdae166bda672fb1e24702a3860 --hash=sha256:b5f4dfe950ff0479f1f00eda09c18798d4f49b98f4e2006d644b3301682ebdca --hash=sha256:c3391bd8e6de35f6f1140e50aaeb3e2b3d6a9012536ca23ab0d9c35ec18c8a91 --hash=sha256:c880eba5175f4307129784eca96f4e70b88e57aa3f680aeba3bab0e980b0f37d --hash=sha256:cecfefa17042941f94ab54f769c8ce0fe14beff2694e9ac684176a2535bf9714 --hash=sha256:e40211b4923ba5a6dc9769eab704bdb3fbb58d56c5b336d30996c24fcf12aadb --hash=sha256:efc8ad4e6fc4f1752ebfb58aefece8b4e3c4cae940b0994d43649bdfce8d0d4f"), ("rules_hdl_pip_deps_dataclasses_json", "dataclasses-json==0.5.7 --hash=sha256:bc285b5f892094c3a53d558858a88553dd6a61a11ab1a8128a0e554385dcc5dd --hash=sha256:c2c11bc8214fbf709ffc369d11446ff6945254a7f09128154a7620613d8fda90"), ("rules_hdl_pip_deps_find_libpython", "find-libpython==0.3.0 --hash=sha256:6e7fe5d9af7fad6dc066cb5515a0e9c90a71f1feb2bb2f8e4cdbb4f83276e9e5 --hash=sha256:93fa14c8d007a7f9e6b650a486e249b49f01fd8d45b83ecf080a78b1a7011214"), ("rules_hdl_pip_deps_idna", "idna==3.4 --hash=sha256:814f528e8dead7d329833b91c5faa87d60bf71824cd12a7530b5526063d02cb4 --hash=sha256:90b77e79eaa3eba6de819a0c442c0b4ceefc341a7a2ab77d7562bf49f425c5c2"), ("rules_hdl_pip_deps_jwt", "jwt==1.3.1 --hash=sha256:61c9170f92e736b530655e75374681d4fcca9cfa8763ab42be57353b2b203494"), ("rules_hdl_pip_deps_klayout", "klayout==0.28.8 --hash=sha256:0982d01ff8b7cac1d50a197dee55937e4f7788e2bcd8c1670d94ab9f8a2e1e5d --hash=sha256:09c237c2d77589727e06393b91ea1fb013c999d991c1cdf6b2c832dc4be0db6c --hash=sha256:0ec7fcd0a309106d085446cf1a8848739f1fa9deeee6e6b9f4df67414ec1433b --hash=sha256:17dc40dfd9c909cc384a6a02bbe5290f5ab849d23aa22622d71c31a243aaa2ad --hash=sha256:19ca311cb122638aaf06dbbeab95316e973030098062fd76f7c91ca9393a9957 --hash=sha256:1eeaffebff48e34401065f6bb0dbe183c41ca367a11ab2944d55bc203c2c33ce --hash=sha256:1f0f5dec6440f0ee8a9511e5c92aa2de6bef9e8e9c22a5f828f67d1ee1c10f7e --hash=sha256:211979d747c937e18cde64f5e03fa2e8147c9b0e14c5dc5508ee2ab4119926c0 --hash=sha256:264d7a2d7aeadfc6e2757d2cbd7752268fe1f8d6abca6fc64138720e0d20163a --hash=sha256:2fc6af5f4508d9e1fa3fd9833b00ed1da3f59424150502e81aa0f8917c3b653c --hash=sha256:4013b1bf8ed5ae6dc71bf6107502c8d52823381121a1e0dff123f7878de362c6 --hash=sha256:4a6aa298ccf04cf4f1556cef7ebab4df069976cf94d4238d8b65869144b08416 --hash=sha256:59c46e3d2f425e8e3124a8483a7b4b93c89348605f4360b80d9dcb79cbd5fe7b --hash=sha256:6d308b18f7bfe6787d7724ae3c991d007344f5d56c0104a3820e3fe65d8efae1 --hash=sha256:734edf21686e2288b0c05f9f2342bda272471524fd81f4194587a759ccce79b2 --hash=sha256:7d01821120973d56445f543437c5c7d90cfb5fa5127e4700a6c0634574b61589 --hash=sha256:7f34e168b37361d750faca5862e81cdc8155b3a007d185018efa42f1c4ef3e05 --hash=sha256:9c52543bed7c647f0943d0cc8b2f7bfc411e5adf802f31bf68e680c1d9c839bc --hash=sha256:a557002706c5877e3df1ae996dff242bea64420a2d5540aa5e14a14de44e5b3d --hash=sha256:b1e2875c874e41bdd6e489b58a9a904a8982e41de55322fd2848c8ae4f7fa1d0 --hash=sha256:b498d44447014fdc247789f84c26830378f0ec960a02b1e0fe3a307a8e88d676 --hash=sha256:b4d3bc1ab1a7a3151bfc8e7eeed67b00eacb4f776449ef3c1c6ad684c969c73e --hash=sha256:c767a9828656bb86a1cb6ebb1a8bbc7daa14657af34e0b96cb439e41d6a2908d --hash=sha256:c7998e99329c6ae605e7d065577e02a8e8d939d7b009fe26cf5a433e35ec4e24 --hash=sha256:cc31bee5b29e8133dc5b9efad9849e6a07b0bc869f7eed67cd1014b36f39d780 --hash=sha256:d453761801b66cd57c950ad973e78fc1d0d7424e2575f07f9e397798c08c8dec --hash=sha256:d7bfe42a40706566edd8728f8b3a4eeded5a0962115fdad777497cdd1a1f18bb --hash=sha256:d8cae2bb2d6d079af3261b530c33c2fd25007aba294f1126dd909cae6a9eb4aa --hash=sha256:d96f7db09efcb8e9c242a4b5a69ad9105610d781e30c71bd060eb0575f172c8c --hash=sha256:daf9d97be30d4a0e41751d1820f7d63deabc237621c2e6b098ee1997b6d787de --hash=sha256:e1328ddca93b1d90bf5e9bda82456f6e4fe9be852b6a0877c9df2b79fbd029e0 --hash=sha256:e38a2af9d33222d4a3939fcfee8418624ecd048ed7665742826691e1799ce8b7 --hash=sha256:e58cc9f0d23445059403df3a8fd8cd0c0703aeadb0a9579fe5e0fc0ab5d4b829 --hash=sha256:f614527ae1640f85b5e95e6def1812d2f193f2af1d90f4b095b4524732f8092b --hash=sha256:ffa91e537a5a2b01d440fa90e23596edcd4c6468ce6691ec33df05862bb1b0db"), ("rules_hdl_pip_deps_marshmallow", "marshmallow==3.20.1 --hash=sha256:5d2371bbe42000f2b3fb5eaa065224df7d8f8597bc19a1bbfa5bfe7fba8da889 --hash=sha256:684939db93e80ad3561392f47be0230743131560a41c5110684c16e21ade0a5c"), ("rules_hdl_pip_deps_marshmallow_enum", "marshmallow-enum==1.5.1 --hash=sha256:38e697e11f45a8e64b4a1e664000897c659b60aa57bfa18d44e226a9920b6e58 --hash=sha256:57161ab3dbfde4f57adeb12090f39592e992b9c86d206d02f6bd03ebec60f072"), ("rules_hdl_pip_deps_mypy_extensions", "mypy-extensions==1.0.0 --hash=sha256:4392f6c0eb8a5668a69e23d168ffa70f0be9ccfd32b5cc2d26a34ae5b844552d --hash=sha256:75dbf8955dc00442a438fc4d0666508a9a97b6bd41aa2f0ffe9d2f2725af0782"), ("rules_hdl_pip_deps_packaging", "packaging==23.1 --hash=sha256:994793af429502c4ea2ebf6bf664629d07c1a9fe974af92966e4b8d2df7edc61 --hash=sha256:a392980d2b6cffa644431898be54b0045151319d1e7ec34f0cfed48767dd334f"), ("rules_hdl_pip_deps_pycparser", "pycparser==2.21 --hash=sha256:8ee45429555515e1f6b185e78100aea234072576aa43ab53aefcae078162fca9 --hash=sha256:e644fdec12f7872f86c58ff790da456218b10f863970249516d60a5eaca77206"), ("rules_hdl_pip_deps_requests", "requests==2.28.2 --hash=sha256:64299f4909223da747622c030b781c0d7811e359c37124b4bd368fb8c6518baa --hash=sha256:98b1b2782e3c6c4904938b84c0eb932721069dfdb9134313beff7c83c2df24bf"), ("rules_hdl_pip_deps_typing_extensions", "typing-extensions==4.8.0 --hash=sha256:8f92fc8806f9a6b641eaa5318da32b44d401efaac0f6678c9bc448ba3605faa0 --hash=sha256:df8e4339e9cb77357558cbdbceca33c303714cf861d1eef15e1070055ae8b7ef"), ("rules_hdl_pip_deps_typing_inspect", "typing-inspect==0.9.0 --hash=sha256:9ee6fc59062311ef8547596ab6b955e1b8aa46242d854bfc78f4f6b0eff35f9f --hash=sha256:b23fc42ff6f6ef6954e4852c1fb512cdd18dbea03134f91f856a95ccc9461f78"), ("rules_hdl_pip_deps_urllib3", "urllib3==1.26.16 --hash=sha256:8d36afa7616d8ab714608411b4a3b13e58f463aee519024578e062e141dce20f --hash=sha256:8f135f6502756bde6b2a9b28989df5fbe87c9970cecaa69041edcce7f0589b14")] +_config = {"download_only": False, "enable_implicit_namespace_pkgs": False, "environment": {}, "extra_pip_args": [], "isolated": True, "pip_data_exclude": [], "python_interpreter": "python3", "python_interpreter_target": "@rules_hdl_cpython//:install/bin/python3", "quiet": True, "repo": "rules_hdl_pip_deps", "repo_prefix": "rules_hdl_pip_deps_", "timeout": 600} +_annotations = {} + +def _clean_name(name): + return name.replace("-", "_").replace(".", "_").lower() + +def requirement(name): + return "@rules_hdl_pip_deps_" + _clean_name(name) + "//:pkg" + +def whl_requirement(name): + return "@rules_hdl_pip_deps_" + _clean_name(name) + "//:whl" + +def data_requirement(name): + return "@rules_hdl_pip_deps_" + _clean_name(name) + "//:data" + +def dist_info_requirement(name): + return "@rules_hdl_pip_deps_" + _clean_name(name) + "//:dist_info" + +def entry_point(pkg, script = None): + if not script: + script = pkg + return "@rules_hdl_pip_deps_" + _clean_name(pkg) + "//:rules_python_wheel_entry_point_" + script + +def _get_annotation(requirement): + # This expects to parse `setuptools==58.2.0 --hash=sha256:2551203ae6955b9876741a26ab3e767bb3242dafe86a32a749ea0d78b6792f11` + # down to `setuptools`. + name = requirement.split(" ")[0].split("=")[0].split("[")[0] + return _annotations.get(name) + +def install_deps(**whl_library_kwargs): + whl_config = dict(_config) + whl_config.update(whl_library_kwargs) + for name, requirement in _packages: + whl_library( + name = name, + requirement = requirement, + annotation = _get_annotation(requirement), + **whl_config + ) diff --git a/init.bzl b/init.bzl index 22b98965..0daaf219 100644 --- a/init.bzl +++ b/init.bzl @@ -15,7 +15,11 @@ """ initializes the bazel_rules_hdl workspace """ load("@bazel_skylib//:workspace.bzl", "bazel_skylib_workspace") -load("@rules_python//python:pip.bzl", "pip_install") +load("@com_google_protobuf//:protobuf_deps.bzl", "protobuf_deps") +load("@rules_proto//proto:repositories.bzl", "rules_proto_dependencies", "rules_proto_toolchains") +load("@rules_python//python:pip.bzl", "pip_parse") +load("@rules_python//python:repositories.bzl", "py_repositories") +load("//dependency_support:requirements.bzl", install_pip_deps = "install_deps") load("//dependency_support/boost:init_boost.bzl", "init_boost") load("//dependency_support/pybind11:init_pybind11.bzl", "init_pybind11") @@ -26,28 +30,45 @@ def init(python_interpreter = None, python_interpreter_target = None): must call `init` to allow @bazel_rules_hdl to set itself up. `python_interpreter` and `python_interpreter_target` are passed to - @bazel_rules_hdl's instance of `pip_install`. They can normally be set to + @bazel_rules_hdl's instance of `pip_parse`. They can normally be set to the default None value, but if the outside workspace has a custom Python toolchain configured, these must be set, otherwise @bazel_rules_hdl will not use the right Python toolchain when installing pip dependencies. + If either is set, the outside workspace must also include: + + load( + "@rules_hdl_pip_deps//:requirements.bzl", + rules_hdl_install_pip_deps = "install_deps", + ) + rules_hdl_install_pip_deps() + Args: python_interpreter: Path to external Python interpreter to use with - `pip_install`. This can be an absolute path or relative to the host's + `pip_parse`. This can be an absolute path or relative to the host's `PATH` environment variable. python_interpreter_target: Bazel target of a Python interpreter to build - to use with `pip_install`. Using `python_interpreter_target` makes it + to use with `pip_parse`. Using `python_interpreter_target` makes it possible to have a hermetic Python toolchain. `python_interpreter_target` takes precedence over `python_interpreter` if both are set. """ - pip_install( + rules_proto_dependencies() + rules_proto_toolchains() + py_repositories() + + # Used only by the rules that vendor requirements.bzl + pip_parse( name = "rules_hdl_pip_deps", - requirements = "@rules_hdl//dependency_support:pip_requirements.txt", + requirements_lock = "@rules_hdl//dependency_support:pip_requirements.txt", python_interpreter = python_interpreter, python_interpreter_target = python_interpreter_target, ) + if (not python_interpreter) or (python_interpreter_target != "@rules_hdl_cpython//:install/bin/python3"): + install_pip_deps() init_boost() init_pybind11() + protobuf_deps() + bazel_skylib_workspace() diff --git a/place_and_route/private/report_power.bzl b/place_and_route/private/report_power.bzl index 11f2662b..ff105053 100644 --- a/place_and_route/private/report_power.bzl +++ b/place_and_route/private/report_power.bzl @@ -30,6 +30,6 @@ def generate_power_results(ctx, output_file): "puts $fp \"corner: \\\"{corner}\\\"\"".format( corner = liberty.basename[:-(len(liberty.extension) + 1)], ), - "puts $fp \"power_maginitude: \\\"[sta::unit_scale_abreviation \"power\"]\\\"\"", + "puts $fp \"power_maginitude: \\\"[sta::unit_scale_abbreviation \"power\"]\\\"\"", "close $fp", ] diff --git a/tools/test_everything.py b/tools/test_everything.py index 1439d6e5..6c3b1f6a 100755 --- a/tools/test_everything.py +++ b/tools/test_everything.py @@ -65,7 +65,6 @@ '@org_swig//...', '@org_theopenroadproject//...', '@org_theopenroadproject_asap7//...', - '@org_tuxfamily_eigen//...', '@pybind11//...', '@rules_pkg//...', '@tk_tcl//...',