From 2468d51854e19dd34f2c0876d3b4337cbd2387ef Mon Sep 17 00:00:00 2001 From: Daniel Wagner-Hall Date: Mon, 9 Dec 2024 08:46:48 +0000 Subject: [PATCH] Add openssl 3.3.1.bcr.0 (#3350) Closes #3304 --- modules/openssl/3.3.1.bcr.0/MODULE.bazel | 17 + .../openssl/3.3.1.bcr.0/overlay/BUILD.bazel | 359 ++++++++++++++++++ .../openssl/3.3.1.bcr.0/overlay/MODULE.bazel | 1 + .../overlay/test_bazel_build/BUILD.bazel | 31 ++ modules/openssl/3.3.1.bcr.0/overlay/utils.bzl | 2 + modules/openssl/3.3.1.bcr.0/presubmit.yml | 18 + modules/openssl/3.3.1.bcr.0/source.json | 11 + modules/openssl/metadata.json | 21 + 8 files changed, 460 insertions(+) create mode 100644 modules/openssl/3.3.1.bcr.0/MODULE.bazel create mode 100644 modules/openssl/3.3.1.bcr.0/overlay/BUILD.bazel create mode 120000 modules/openssl/3.3.1.bcr.0/overlay/MODULE.bazel create mode 100644 modules/openssl/3.3.1.bcr.0/overlay/test_bazel_build/BUILD.bazel create mode 100644 modules/openssl/3.3.1.bcr.0/overlay/utils.bzl create mode 100644 modules/openssl/3.3.1.bcr.0/presubmit.yml create mode 100644 modules/openssl/3.3.1.bcr.0/source.json create mode 100644 modules/openssl/metadata.json diff --git a/modules/openssl/3.3.1.bcr.0/MODULE.bazel b/modules/openssl/3.3.1.bcr.0/MODULE.bazel new file mode 100644 index 00000000000..e7d32c8241c --- /dev/null +++ b/modules/openssl/3.3.1.bcr.0/MODULE.bazel @@ -0,0 +1,17 @@ +module( + name = "openssl", + version = "3.3.1.bcr.0", + compatibility_level = 3030100, +) + +bazel_dep(name = "platforms", version = "0.0.10") +bazel_dep(name = "rules_cc", version = "0.0.13") +bazel_dep(name = "rules_perl", version = "0.2.4") + +http_archive = use_repo_rule("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") + +http_archive( + name = "openssl-generated-overlay", + integrity = "sha256-QW4VrBbb8a1UJNrO6wYlydgWAR3/5HWhfYJCq7wR2w4=", + url = "https://github.com/raccoons-build/bazel-openssl-cc/releases/download/3.3.1.bcr.0/bazel-openssl-cc-3.3.1.bcr.0.tar.gz", +) diff --git a/modules/openssl/3.3.1.bcr.0/overlay/BUILD.bazel b/modules/openssl/3.3.1.bcr.0/overlay/BUILD.bazel new file mode 100644 index 00000000000..858afdbf785 --- /dev/null +++ b/modules/openssl/3.3.1.bcr.0/overlay/BUILD.bazel @@ -0,0 +1,359 @@ +# This code is heavily based on the implementation in `dbx_build_tools`: +# Ref: https://github.com/dropbox/dbx_build_tools/blob/master/thirdparty/openssl/BUILD.openssl.tail + +load("@rules_cc//cc:defs.bzl", "cc_binary", "cc_library") +load("@openssl-generated-overlay//:common.bzl", "COMMON_GENERATED_FILES") +load( + "@openssl-generated-overlay//:constants-darwin64-arm64-cc.bzl", + _DARWIN_ARM64_GEN_FILES = "GEN_FILES", + _DARWIN_ARM64_LIBCRYPTO_DEFINES = "LIBCRYPTO_DEFINES", + _DARWIN_ARM64_LIBCRYPTO_SRCS = "LIBCRYPTO_SRCS", + _DARWIN_ARM64_LIBSSL_DEFINES = "LIBSSL_DEFINES", + _DARWIN_ARM64_LIBSSL_SRCS = "LIBSSL_SRCS", + _DARWIN_ARM64_OPENSSL_APP_DEFINES = "LIBSSL_DEFINES", + _DARWIN_ARM64_OPENSSL_APP_SRCS = "OPENSSL_APP_SRCS", + _DARWIN_ARM64_OPENSSL_DEFINES = "OPENSSL_DEFINES", + _DARWIN_ARM64_PERLASM_GEN = "PERLASM_GEN", + _DARWIN_ARM64_PERLASM_OUTS = "PERLASM_OUTS", + _DARWIN_ARM64_PERLASM_TOOLS = "PERLASM_TOOLS", +) +load( + "@openssl-generated-overlay//:constants-darwin64-x86_64-cc.bzl", + _DARWIN_X86_64_GEN_FILES = "GEN_FILES", + _DARWIN_X86_64_LIBCRYPTO_DEFINES = "LIBCRYPTO_DEFINES", + _DARWIN_X86_64_LIBCRYPTO_SRCS = "LIBCRYPTO_SRCS", + _DARWIN_X86_64_LIBSSL_DEFINES = "LIBSSL_DEFINES", + _DARWIN_X86_64_LIBSSL_SRCS = "LIBSSL_SRCS", + _DARWIN_X86_64_OPENSSL_APP_DEFINES = "LIBSSL_DEFINES", + _DARWIN_X86_64_OPENSSL_APP_SRCS = "OPENSSL_APP_SRCS", + _DARWIN_X86_64_OPENSSL_DEFINES = "OPENSSL_DEFINES", + _DARWIN_X86_64_PERLASM_GEN = "PERLASM_GEN", + _DARWIN_X86_64_PERLASM_TOOLS = "PERLASM_TOOLS", +) +load( + "@openssl-generated-overlay//:constants-linux-aarch64.bzl", + _LINUX_ARM64_GEN_FILES = "GEN_FILES", + _LINUX_ARM64_LIBCRYPTO_DEFINES = "LIBCRYPTO_DEFINES", + _LINUX_ARM64_LIBCRYPTO_SRCS = "LIBCRYPTO_SRCS", + _LINUX_ARM64_LIBSSL_DEFINES = "LIBSSL_DEFINES", + _LINUX_ARM64_LIBSSL_SRCS = "LIBSSL_SRCS", + _LINUX_ARM64_OPENSSL_APP_DEFINES = "LIBSSL_DEFINES", + _LINUX_ARM64_OPENSSL_APP_SRCS = "OPENSSL_APP_SRCS", + _LINUX_ARM64_OPENSSL_DEFINES = "OPENSSL_DEFINES", + _LINUX_ARM64_PERLASM_GEN = "PERLASM_GEN", + _LINUX_ARM64_PERLASM_OUTS = "PERLASM_OUTS", + _LINUX_ARM64_PERLASM_TOOLS = "PERLASM_TOOLS", +) +load( + "@openssl-generated-overlay//:constants-linux-x86_64-clang.bzl", + _LINUX_X86_64_GEN_FILES = "GEN_FILES", + _LINUX_X86_64_LIBCRYPTO_DEFINES = "LIBCRYPTO_DEFINES", + _LINUX_X86_64_LIBCRYPTO_SRCS = "LIBCRYPTO_SRCS", + _LINUX_X86_64_LIBSSL_DEFINES = "LIBSSL_DEFINES", + _LINUX_X86_64_LIBSSL_SRCS = "LIBSSL_SRCS", + _LINUX_X86_64_OPENSSL_APP_DEFINES = "LIBSSL_DEFINES", + _LINUX_X86_64_OPENSSL_APP_SRCS = "OPENSSL_APP_SRCS", + _LINUX_X86_64_OPENSSL_DEFINES = "OPENSSL_DEFINES", + _LINUX_X86_64_PERLASM_GEN = "PERLASM_GEN", + _LINUX_X86_64_PERLASM_OUTS = "PERLASM_OUTS", + _LINUX_X86_64_PERLASM_TOOLS = "PERLASM_TOOLS", +) +load("//:utils.bzl", "get_repo_name") + +_REPO_NAME = get_repo_name() + +cc_library( + name = "crypto-textual-hdrs", + textual_hdrs = [ + "crypto/des/ncbc_enc.c", + "crypto/LPdir_unix.c", + ], +) + +COMMON_OPENSSL_APP_SRCS = glob( + [ + "include/internal/*.h", + "apps/include/*.h", + "apps/*.h", + "include/openssl/*.h", + ], + exclude = COMMON_GENERATED_FILES, +) + [ + ":apps/progs.h", + ":include/openssl/asn1.h", + ":include/openssl/asn1t.h", + ":include/openssl/conf.h", + ":include/openssl/crypto.h", + ":include/openssl/ct.h", + ":include/openssl/err.h", + ":include/openssl/bio.h", + ":include/openssl/cmp.h", + ":include/openssl/cms.h", + ":include/openssl/crmf.h", + ":include/openssl/configuration.h", + ":include/openssl/core_names.h", + ":include/openssl/fipskey.h", + ":include/openssl/ess.h", + ":include/openssl/lhash.h", + ":include/openssl/opensslconf.h", + ":include/openssl/opensslv.h", + ":include/openssl/ocsp.h", + ":include/openssl/pkcs7.h", + ":include/openssl/pkcs12.h", + ":include/openssl/safestack.h", + ":include/openssl/srp.h", + ":include/openssl/ssl.h", + ":include/openssl/ui.h", + ":include/openssl/x509.h", + ":include/openssl/x509v3.h", + ":include/openssl/x509_vfy.h", +] + +cc_binary( + name = "openssl", + srcs = COMMON_OPENSSL_APP_SRCS + select({ + "@bazel_tools//src/conditions:linux_aarch64": _LINUX_ARM64_OPENSSL_APP_SRCS, + "@bazel_tools//src/conditions:linux_x86_64": _LINUX_X86_64_OPENSSL_APP_SRCS, + "@bazel_tools//src/conditions:darwin_arm64": _DARWIN_ARM64_OPENSSL_APP_SRCS, + "@bazel_tools//src/conditions:darwin_x86_64": _DARWIN_X86_64_OPENSSL_APP_SRCS, + }), + copts = [ + "-iquote", + "$(BINDIR)/external/{}/apps".format(_REPO_NAME), + "-iquote", + "external/{}/apps".format(_REPO_NAME), + "-iquote", + "external/{}/apps/include".format(_REPO_NAME), + ] + select({ + "@bazel_tools//src/conditions:linux_aarch64": _LINUX_ARM64_OPENSSL_APP_DEFINES, + "@bazel_tools//src/conditions:linux_x86_64": _LINUX_X86_64_OPENSSL_APP_DEFINES, + "@bazel_tools//src/conditions:darwin_arm64": _DARWIN_ARM64_OPENSSL_APP_DEFINES, + "@bazel_tools//src/conditions:darwin_x86_64": _DARWIN_X86_64_OPENSSL_APP_DEFINES, + }), + visibility = ["//visibility:public"], + deps = [":ssl"], +) + +COMMON_OPENSSL_COPTS = [ + # As described in https://github.com/openssl/openssl/issues/4575, OpenSSL doesn't mark its + # assembly files as not requiring an executable stack. Pass --noexecstack to the assembler + # to do this. + "-Wa,--noexecstack", + # If someone wants to link with -fPIC, the objects they're linking need to have been built with it. + # Add this flag so that people can choose to link that way if they want to. + "-fPIC", + "-Wno-unused-command-line-argument", + "-I", + "external/{}/include".format(_REPO_NAME), +] + [ + # This hardcoded path into the system mean we will find the system certs. Note Debian sets + # OPENSSLDIR=/usr/lib/ssl, but /usr/lib/ssl mostly consists of symlinks into /etc/ssl. We + # must set /etc/ssl here because some environments (e.g., YSS root filesystems) don't have + # /usr/lib/ssl at all. + "-DOPENSSLDIR=\\\"/etc/ssl\\\"", + # This is basically a no-op, since we've disabled dynamic loading of engines. + '-DENGINESDIR=\\"/usr/lib/engines-3.0\\"', + # also basically a no-op + "-DMODULESDIR=\\\"/dev/null\\\"", + "-DL_ENDIAN", + "-DOPENSSL_USE_NODELETE", +] + select({ + "@bazel_tools//src/conditions:linux_aarch64": ["-mno-outline-atomics"], + "//conditions:default": [], +}) + +COMMON_LIBCRYPTO_SRCS = glob( + [ + "crypto/**/*.h", + "crypto/*.h", + "include/crypto/**/*.h", + "include/internal/*.h", + "include/openssl/*.h", + "providers/**/*.h", + "providers/*.inc", + "providers/implementations/**/*.inc", + ], + exclude = COMMON_GENERATED_FILES, +) + +cc_library( + name = "crypto", + srcs = COMMON_LIBCRYPTO_SRCS + select({ + "@bazel_tools//src/conditions:linux_aarch64": _LINUX_ARM64_LIBCRYPTO_SRCS, + "@bazel_tools//src/conditions:linux_x86_64": _LINUX_X86_64_LIBCRYPTO_SRCS, + "@bazel_tools//src/conditions:darwin_arm64": _DARWIN_ARM64_LIBCRYPTO_SRCS, + "@bazel_tools//src/conditions:darwin_x86_64": _DARWIN_X86_64_LIBCRYPTO_SRCS, + }), + hdrs = glob( + [ + "include/openssl/*.h", + "include/openssl/**/*.h", + "include/crypto/*.h", + "include/crypto/**/*.h", + ], + exclude = COMMON_GENERATED_FILES, + ), + additional_compiler_inputs = [":generated-headers"] + glob( + # There are some .c files that are conditionally included textually, we want them to be + # available + ["providers/implementations/**/*.c"], + exclude = COMMON_GENERATED_FILES, + ), + copts = COMMON_OPENSSL_COPTS + [ + "-iquote", + "external/{}/providers/implementations/macs".format(_REPO_NAME), + "-iquote", + "external/{}/providers/implementations/include".format(_REPO_NAME), + "-I", + "external/{}/providers/implementations/include".format(_REPO_NAME), + "-iquote", + "external/{}/providers/common/include".format(_REPO_NAME), + "-iquote", + "$(BINDIR)/external/{}/providers/common/include".format(_REPO_NAME), + "-iquote", + "$(BINDIR)/external/{}/crypto".format(_REPO_NAME), + "-iquote", + "external/{}/crypto".format(_REPO_NAME), + ] + select({ + "@bazel_tools//src/conditions:linux_aarch64": _LINUX_ARM64_OPENSSL_DEFINES, + "@bazel_tools//src/conditions:linux_x86_64": _LINUX_X86_64_OPENSSL_DEFINES, + "@bazel_tools//src/conditions:darwin_arm64": _DARWIN_ARM64_OPENSSL_DEFINES, + "@bazel_tools//src/conditions:darwin_x86_64": _DARWIN_X86_64_OPENSSL_DEFINES, + }) + select({ + "@bazel_tools//src/conditions:linux_aarch64": _LINUX_ARM64_LIBCRYPTO_DEFINES, + "@bazel_tools//src/conditions:linux_x86_64": _LINUX_X86_64_LIBCRYPTO_DEFINES, + "@bazel_tools//src/conditions:darwin_arm64": _DARWIN_ARM64_LIBCRYPTO_DEFINES, + "@bazel_tools//src/conditions:darwin_x86_64": _DARWIN_X86_64_LIBCRYPTO_DEFINES, + }), + # To make sure downstream targets add the right copts to be able to include the headers. + includes = ["include"], + linkopts = [ + "-lc", + "-pthread", + ], + visibility = ["//visibility:public"], + deps = [":crypto-textual-hdrs"], +) + +COMMON_LIBSSL_SRCS = glob( + ["ssl/**/*.h"], + exclude = COMMON_GENERATED_FILES, +) + +cc_library( + name = "ssl", + srcs = COMMON_LIBSSL_SRCS + select({ + "@bazel_tools//src/conditions:linux_aarch64": _LINUX_ARM64_LIBSSL_SRCS, + "@bazel_tools//src/conditions:linux_x86_64": _LINUX_X86_64_LIBSSL_SRCS, + "@bazel_tools//src/conditions:darwin_arm64": _DARWIN_ARM64_LIBSSL_SRCS, + "@bazel_tools//src/conditions:darwin_x86_64": _DARWIN_X86_64_LIBSSL_SRCS, + }), + hdrs = glob( + ["include/openssl/*.h"], + exclude = COMMON_GENERATED_FILES, + ), + additional_compiler_inputs = [":generated-headers"], + copts = COMMON_OPENSSL_COPTS + select({ + "@bazel_tools//src/conditions:linux_aarch64": _LINUX_ARM64_OPENSSL_DEFINES, + "@bazel_tools//src/conditions:linux_x86_64": _LINUX_X86_64_OPENSSL_DEFINES, + "@bazel_tools//src/conditions:darwin_arm64": _DARWIN_ARM64_OPENSSL_DEFINES, + "@bazel_tools//src/conditions:darwin_x86_64": _DARWIN_X86_64_OPENSSL_DEFINES, + }) + select({ + "@bazel_tools//src/conditions:linux_aarch64": _LINUX_ARM64_LIBSSL_DEFINES, + "@bazel_tools//src/conditions:linux_x86_64": _LINUX_X86_64_LIBSSL_DEFINES, + "@bazel_tools//src/conditions:darwin_arm64": _DARWIN_ARM64_LIBSSL_DEFINES, + "@bazel_tools//src/conditions:darwin_x86_64": _DARWIN_X86_64_LIBSSL_DEFINES, + }), + # To make sure downstream targets add the right copts to be able to include the headers. + includes = ["include"], + linkopts = ["-lc"], + visibility = ["//visibility:public"], + deps = [ + ":crypto", + ], +) + +PERLASM_TOOLS = glob( + ["crypto/perlasm/*.pl"], + exclude = COMMON_GENERATED_FILES, +) + +CC_ENV_CMD = """export CC=$(CC)\n""" + +# Outs does not support select, so we trick a bit. Each architecture has its own +# list of files, and we use the architecture as the key. +[ + genrule( + name = "asm_" + k, + srcs = ["crypto/ec/ecp_nistz256_table.c"], + outs = v, + cmd = select({ + "@bazel_tools//src/conditions:linux_aarch64": CC_ENV_CMD + _LINUX_ARM64_PERLASM_GEN, + "@bazel_tools//src/conditions:linux_x86_64": CC_ENV_CMD + _LINUX_X86_64_PERLASM_GEN, + "@bazel_tools//src/conditions:darwin_arm64": CC_ENV_CMD + _DARWIN_ARM64_PERLASM_GEN, + "@bazel_tools//src/conditions:darwin_x86_64": CC_ENV_CMD + _DARWIN_X86_64_PERLASM_GEN, + }), + target_compatible_with = [{ + "arm64": "@platforms//cpu:arm64", + "x86_64": "@platforms//cpu:x86_64", + }[k]], + toolchains = [ + "@bazel_tools//tools/cpp:current_cc_toolchain", + "@rules_perl//:current_toolchain", + ], + tools = PERLASM_TOOLS + select({ + "@bazel_tools//src/conditions:linux_aarch64": depset(direct = _LINUX_ARM64_PERLASM_TOOLS).to_list(), + "@bazel_tools//src/conditions:linux_x86_64": depset(direct = _LINUX_X86_64_PERLASM_TOOLS).to_list(), + "@bazel_tools//src/conditions:darwin_arm64": depset(direct = _DARWIN_ARM64_PERLASM_TOOLS).to_list(), + "@bazel_tools//src/conditions:darwin_x86_64": depset(direct = _DARWIN_X86_64_PERLASM_TOOLS).to_list(), + }), + ) + for k, v in { + "arm64": _DARWIN_ARM64_PERLASM_OUTS, + "x86_64": _LINUX_X86_64_PERLASM_OUTS, + }.items() +] + +filegroup( + name = "generated-headers", + srcs = COMMON_GENERATED_FILES + [":generate-platform-specific-headers"], +) + +[ + genrule( + name = "copy_generated_{}".format(src), + cmd = "cp $< $@", + srcs = ["@openssl-generated-overlay//:{}".format(src)], + outs = [src], + ) + for src in COMMON_GENERATED_FILES +] + +GEN_FILE_CMD = """ +cat << 'E_O_F' >$(location {filename}) +{contents} +E_O_F +""" + +genrule( + name = "generate-platform-specific-headers", + outs = sorted(_DARWIN_ARM64_GEN_FILES.keys()), + cmd = select({ + "@bazel_tools//src/conditions:linux_aarch64": "\n".join([GEN_FILE_CMD.format( + contents = v, + filename = k, + ) for k, v in _LINUX_ARM64_GEN_FILES.items()]), + "@bazel_tools//src/conditions:linux_x86_64": "\n".join([GEN_FILE_CMD.format( + contents = v, + filename = k, + ) for k, v in _LINUX_X86_64_GEN_FILES.items()]), + "@bazel_tools//src/conditions:darwin_arm64": "\n".join([GEN_FILE_CMD.format( + contents = v, + filename = k, + ) for k, v in _DARWIN_ARM64_GEN_FILES.items()]), + "@bazel_tools//src/conditions:darwin_x86_64": "\n".join([GEN_FILE_CMD.format( + contents = v, + filename = k, + ) for k, v in _DARWIN_X86_64_GEN_FILES.items()]), + }), +) diff --git a/modules/openssl/3.3.1.bcr.0/overlay/MODULE.bazel b/modules/openssl/3.3.1.bcr.0/overlay/MODULE.bazel new file mode 120000 index 00000000000..9b599e3ad9c --- /dev/null +++ b/modules/openssl/3.3.1.bcr.0/overlay/MODULE.bazel @@ -0,0 +1 @@ +../MODULE.bazel \ No newline at end of file diff --git a/modules/openssl/3.3.1.bcr.0/overlay/test_bazel_build/BUILD.bazel b/modules/openssl/3.3.1.bcr.0/overlay/test_bazel_build/BUILD.bazel new file mode 100644 index 00000000000..9316a0c9639 --- /dev/null +++ b/modules/openssl/3.3.1.bcr.0/overlay/test_bazel_build/BUILD.bazel @@ -0,0 +1,31 @@ +sh_test( + name = "sha256_test", + srcs = ["sha256_test.sh"], + args = ["$(rootpath //:openssl)"], + data = ["//:openssl"], +) + +genrule( + name = "gen_sha256_test", + outs = ["sha256_test.sh"], + cmd = """cat >$@ <<'EOF' +#!/bin/bash + +set -euo pipefail + +if [[ "$$#" -ne 1 ]]; then + echo >&2 "Usage: $$0 /path/to/openssl" + exit 1 +fi +openssl="$$1" + +out="$$(echo -n "European Burmese" | "$${openssl}" dgst -sha256 | awk '{print $$2}')" + +if [[ "$${out}" != "693d8db7b05e99c6b7a7c0616456039d89c555029026936248085193559a0b5d" ]]; then + echo >2 "Wrong hash - got $${out}" + exit 1 +fi +EOF +""", + executable = True, +) diff --git a/modules/openssl/3.3.1.bcr.0/overlay/utils.bzl b/modules/openssl/3.3.1.bcr.0/overlay/utils.bzl new file mode 100644 index 00000000000..72589614ccb --- /dev/null +++ b/modules/openssl/3.3.1.bcr.0/overlay/utils.bzl @@ -0,0 +1,2 @@ +def get_repo_name(): + return Label("//:BUILD.bazel").workspace_name diff --git a/modules/openssl/3.3.1.bcr.0/presubmit.yml b/modules/openssl/3.3.1.bcr.0/presubmit.yml new file mode 100644 index 00000000000..600922d3511 --- /dev/null +++ b/modules/openssl/3.3.1.bcr.0/presubmit.yml @@ -0,0 +1,18 @@ +matrix: + platform: + - ubuntu2004 + - ubuntu2004_arm64 + - macos + - macos_arm64 + bazel: + - 7.x + - 8.0.0rc6 +tasks: + verify_targets: + name: Build and test + platform: ${{ platform }} + bazel: ${{ bazel }} + build_targets: + - "@openssl//..." + test_targets: + - "@openssl//test_bazel_build/..." diff --git a/modules/openssl/3.3.1.bcr.0/source.json b/modules/openssl/3.3.1.bcr.0/source.json new file mode 100644 index 00000000000..efb24135542 --- /dev/null +++ b/modules/openssl/3.3.1.bcr.0/source.json @@ -0,0 +1,11 @@ +{ + "integrity": "sha256-d3zVlihMiDN1oqehG/XSeG/FQTJV76sgxQ1v/m0CC34=", + "overlay": { + "BUILD.bazel": "sha256-hBMZk+V6pq+esAExveJxQPfOofNDi1r55ZWXWvEdmfM=", + "MODULE.bazel": "sha256-/cNYZfMLqC8noyAEsmvfSWD2I/RNqP2ahtsmi3n19P8=", + "test_bazel_build/BUILD.bazel": "sha256-bYZOArDSirDzt21qIOGhAPl4U6sCU3ApHKqbwUbZ+18=", + "utils.bzl": "sha256-rqwRRvbG3dvvn1mcBze1i35dLLr0JZB4xrEGt35Y44k=" + }, + "strip_prefix": "openssl-3.3.1", + "url": "https://github.com/openssl/openssl/releases/download/openssl-3.3.1/openssl-3.3.1.tar.gz" +} diff --git a/modules/openssl/metadata.json b/modules/openssl/metadata.json new file mode 100644 index 00000000000..1a9ff1cae7e --- /dev/null +++ b/modules/openssl/metadata.json @@ -0,0 +1,21 @@ +{ + "homepage": "https://www.openssl.org/", + "maintainers": [ + { + "email": "github@raccoons.build", + "github": "raccoons-build", + "name": "Raccoons Build" + }, + { + "email": "dawagner@gmail.com", + "github": "illicitonion", + "name": "Daniel Wagner-Hall" + } + ], + "repository": [ + "github:openssl/openssl" + ], + "versions": [ + "3.3.1.bcr.0" + ] +}