Skip to content

Commit

Permalink
feat: libarchive 1.7.5.bcr1 for windows compression filter fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
thesayyn committed Nov 21, 2024
1 parent 0496b68 commit 756957c
Show file tree
Hide file tree
Showing 23 changed files with 1,797 additions and 1 deletion.
16 changes: 16 additions & 0 deletions modules/libarchive/3.7.5.bcr.1/MODULE.bazel
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
module(
name = "libarchive",
version = "3.7.5.bcr.1",
compatibility_level = 1,
bazel_compatibility = [">=7.2.1"]
)

bazel_dep(name = "bzip2", version = "1.0.8.bcr.1")
bazel_dep(name = "lz4", version = "1.9.4")
bazel_dep(name = "xz", version = "5.4.5.bcr.3")
bazel_dep(name = "zlib", version = "1.3.1.bcr.3")
bazel_dep(name = "zstd", version = "1.5.6")
bazel_dep(name = "platforms", version = "0.0.10")
bazel_dep(name = "rules_cc", version = "0.0.9")
bazel_dep(name = "bazel_skylib", version = "1.6.1")
bazel_dep(name = "mbedtls", version = "3.6.0")
6 changes: 6 additions & 0 deletions modules/libarchive/3.7.5.bcr.1/overlay/.bazelrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
common --enable_bzlmod
build --enable_runfiles

build:bcr_presubmit --build_tag_filters=-bcr_presubmit_skip
test:bcr_presubmit --test_tag_filters=-bcr_presubmit_skip

31 changes: 31 additions & 0 deletions modules/libarchive/3.7.5.bcr.1/overlay/BUILD.bazel
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
load("@bazel_skylib//rules:common_settings.bzl", "bool_flag")
load("@rules_cc//cc:defs.bzl", "cc_library")

bool_flag(
name = "use_mbedtls",
build_setting_default = False,
)

config_setting(
name = "use_mbedtls_setting",
flag_values = {":use_mbedtls": "true"},
visibility = ["//:__subpackages__"],
)

cc_library(
name = "config",
visibility = ["//:__subpackages__"],
defines = select({
"//:use_mbedtls_setting": [
"HAVE_LIBMBEDCRYPTO",
"HAVE_MBEDTLS_AES_H",
"HAVE_MBEDTLS_MD_H",
"HAVE_MBEDTLS_PKCS5_H",
],
"//conditions:default": [],
}),
hdrs = select({
"@platforms//os:windows": ["libarchive_bazel_windows_config.h"],
"//conditions:default": ["libarchive_bazel_generic_config.h"],
}),
)
1 change: 1 addition & 0 deletions modules/libarchive/3.7.5.bcr.1/overlay/MODULE.bazel
1 change: 1 addition & 0 deletions modules/libarchive/3.7.5.bcr.1/overlay/bazel/BUILD.bazel
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# empty for patch sake
8 changes: 8 additions & 0 deletions modules/libarchive/3.7.5.bcr.1/overlay/bazel/config.bzl
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
PLATFORM_LOCAL_DEFINES = select({
"@platforms//os:windows": [
"PLATFORM_CONFIG_H=\\\"libarchive_bazel_windows_config.h\\\"",
],
"//conditions:default": [
"PLATFORM_CONFIG_H=\\\"libarchive_bazel_generic_config.h\\\"",
],
})
31 changes: 31 additions & 0 deletions modules/libarchive/3.7.5.bcr.1/overlay/bazel/libarchive_test.bzl
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
load("@bazel_skylib//rules:write_file.bzl", "write_file")
load("@rules_cc//cc:defs.bzl", "cc_library", "cc_test")

def libarchive_test(name = None, tests = None, data = None, deps = [], **kwargs):
if not tests:
tests = [name]
if not data:
data = native.glob(["*.uu"])
write_file(
name = "{}_list_h".format(name),
out = "_{}_list_h/list.h".format(name),
content = ["DEFINE_TEST({})".format(test) for test in tests],
)
cc_library(
name = "{}_list".format(name),
hdrs = ["_{}_list_h/list.h".format(name)],
strip_include_prefix = "_{}_list_h".format(name),
)
cc_test(
name = name,
includes = ["."],
srcs = ["//test_utils:test_main.c"] + ["{}.c".format(name)],
data = data,
deps = deps + [
":{}_list".format(name),
"//test_utils:common",
"//libarchive",
"//libarchive:internal_hdrs",
],
**kwargs
)
22 changes: 22 additions & 0 deletions modules/libarchive/3.7.5.bcr.1/overlay/cat/BUILD.bazel
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
load("@rules_cc//cc:defs.bzl", "cc_binary")

package(default_visibility = ["//visibility:public"])

cc_binary(
name = "bsdcat",
srcs = [
"bsdcat.c",
"bsdcat.h",
"bsdcat_platform.h",
"cmdline.c",
],
deps = [
"//libarchive",
"//libarchive_fe",
],
)

alias(
name = "cat",
actual = ":bsdcat",
)
28 changes: 28 additions & 0 deletions modules/libarchive/3.7.5.bcr.1/overlay/cpio/BUILD.bazel
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
load("@rules_cc//cc:defs.bzl", "cc_binary")

package(default_visibility = ["//visibility:public"])

cc_binary(
name = "bsdcpio",
srcs = [
"cmdline.c",
"cpio.c",
"cpio.h",
"cpio_platform.h",
] + select({
"@platforms//os:windows": [
"cpio_windows.c",
"cpio_windows.h",
],
"//conditions:default": [],
}),
deps = [
"//libarchive",
"//libarchive_fe",
],
)

alias(
name = "cpio",
actual = ":bsdcpio",
)
220 changes: 220 additions & 0 deletions modules/libarchive/3.7.5.bcr.1/overlay/libarchive/BUILD.bazel
Original file line number Diff line number Diff line change
@@ -0,0 +1,220 @@
load("@rules_cc//cc:defs.bzl", "cc_library")
load("//bazel:config.bzl", "PLATFORM_LOCAL_DEFINES")

package(default_visibility = ["//visibility:public"])

cc_library(
name = "internal_hdrs",
visibility = ["//:__subpackages__"],
hdrs = glob(["*.h"]),
strip_include_prefix = ".",
)

cc_library(
name = "archive",
strip_include_prefix = ".",
hdrs = [
"archive.h",
"archive_entry.h",
],
defines = ["LIBARCHIVE_STATIC"],
local_defines = PLATFORM_LOCAL_DEFINES,
srcs = [
"archive_acl.c",
"archive_acl_private.h",
"archive_check_magic.c",
"archive_cmdline.c",
"archive_cmdline_private.h",
"archive_crc32.h",
"archive_cryptor.c",
"archive_cryptor_private.h",
"archive_digest.c",
"archive_digest_private.h",
"archive_endian.h",
"archive_entry.c",
"archive_entry.h",
"archive_entry_copy_stat.c",
"archive_entry_link_resolver.c",
"archive_entry_locale.h",
"archive_entry_private.h",
"archive_entry_sparse.c",
"archive_entry_stat.c",
"archive_entry_strmode.c",
"archive_entry_xattr.c",
"archive_getdate.c",
"archive_getdate.h",
"archive_hmac.c",
"archive_hmac_private.h",
"archive_match.c",
"archive_openssl_evp_private.h",
"archive_openssl_hmac_private.h",
"archive_options.c",
"archive_options_private.h",
"archive_pack_dev.h",
"archive_pack_dev.c",
"archive_pathmatch.c",
"archive_pathmatch.h",
"archive_platform.h",
"archive_platform_acl.h",
"archive_platform_xattr.h",
"archive_ppmd_private.h",
"archive_ppmd8.c",
"archive_ppmd8_private.h",
"archive_ppmd7.c",
"archive_ppmd7_private.h",
"archive_private.h",
"archive_random.c",
"archive_random_private.h",
"archive_rb.c",
"archive_rb.h",
"archive_read.c",
"archive_read_add_passphrase.c",
"archive_read_append_filter.c",
"archive_read_data_into_fd.c",
"archive_read_disk_entry_from_file.c",
"archive_read_disk_posix.c",
"archive_read_disk_private.h",
"archive_read_disk_set_standard_lookup.c",
"archive_read_extract.c",
"archive_read_extract2.c",
"archive_read_open_fd.c",
"archive_read_open_file.c",
"archive_read_open_filename.c",
"archive_read_open_memory.c",
"archive_read_private.h",
"archive_read_set_format.c",
"archive_read_set_options.c",
"archive_read_support_filter_all.c",
"archive_read_support_filter_by_code.c",
"archive_read_support_filter_bzip2.c",
"archive_read_support_filter_compress.c",
"archive_read_support_filter_gzip.c",
"archive_read_support_filter_grzip.c",
"archive_read_support_filter_lrzip.c",
"archive_read_support_filter_lz4.c",
"archive_read_support_filter_lzop.c",
"archive_read_support_filter_none.c",
"archive_read_support_filter_program.c",
"archive_read_support_filter_rpm.c",
"archive_read_support_filter_uu.c",
"archive_read_support_filter_xz.c",
"archive_read_support_filter_zstd.c",
"archive_read_support_format_7zip.c",
"archive_read_support_format_all.c",
"archive_read_support_format_ar.c",
"archive_read_support_format_by_code.c",
"archive_read_support_format_cab.c",
"archive_read_support_format_cpio.c",
"archive_read_support_format_empty.c",
"archive_read_support_format_iso9660.c",
"archive_read_support_format_lha.c",
"archive_read_support_format_mtree.c",
"archive_read_support_format_rar.c",
"archive_read_support_format_rar5.c",
"archive_read_support_format_raw.c",
"archive_read_support_format_tar.c",
"archive_read_support_format_warc.c",
"archive_read_support_format_xar.c",
"archive_read_support_format_zip.c",
"archive_string.c",
"archive_string.h",
"archive_string_composition.h",
"archive_string_sprintf.c",
"archive_util.c",
"archive_version_details.c",
"archive_virtual.c",
"archive_write.c",
"archive_write_disk_posix.c",
"archive_write_disk_private.h",
"archive_write_disk_set_standard_lookup.c",
"archive_write_private.h",
"archive_write_open_fd.c",
"archive_write_open_file.c",
"archive_write_open_filename.c",
"archive_write_open_memory.c",
"archive_write_add_filter.c",
"archive_write_add_filter_b64encode.c",
"archive_write_add_filter_by_name.c",
"archive_write_add_filter_bzip2.c",
"archive_write_add_filter_compress.c",
"archive_write_add_filter_grzip.c",
"archive_write_add_filter_gzip.c",
"archive_write_add_filter_lrzip.c",
"archive_write_add_filter_lz4.c",
"archive_write_add_filter_lzop.c",
"archive_write_add_filter_none.c",
"archive_write_add_filter_program.c",
"archive_write_add_filter_uuencode.c",
"archive_write_add_filter_xz.c",
"archive_write_add_filter_zstd.c",
"archive_write_set_format.c",
"archive_write_set_format_7zip.c",
"archive_write_set_format_ar.c",
"archive_write_set_format_by_name.c",
"archive_write_set_format_cpio.c",
"archive_write_set_format_cpio_binary.c",
"archive_write_set_format_cpio_newc.c",
"archive_write_set_format_cpio_odc.c",
"archive_write_set_format_filter_by_ext.c",
"archive_write_set_format_gnutar.c",
"archive_write_set_format_iso9660.c",
"archive_write_set_format_mtree.c",
"archive_write_set_format_pax.c",
"archive_write_set_format_private.h",
"archive_write_set_format_raw.c",
"archive_write_set_format_shar.c",
"archive_write_set_format_ustar.c",
"archive_write_set_format_v7tar.c",
"archive_write_set_format_warc.c",
"archive_write_set_format_xar.c",
"archive_write_set_format_zip.c",
"archive_write_set_options.c",
"archive_write_set_passphrase.c",
"archive_xxhash.h",
"filter_fork_posix.c",
"filter_fork.h",
"xxhash.c",

# blake2 srcs
"archive_blake2.h",
"archive_blake2_impl.h",
"archive_blake2sp_ref.c",
"archive_blake2s_ref.c",
] + select({
"@platforms//os:windows": [
"archive_entry_copy_bhfi.c",
"archive_read_disk_windows.c",
"archive_windows.c",
"archive_windows.h",
"archive_write_disk_windows.c",
"filter_fork_windows.c",
],
"@platforms//os:macos": ["archive_disk_acl_darwin.c"],
"@platforms//os:linux": ["archive_disk_acl_linux.c"],
"//conditions:default": [],
}),
linkopts = select({
"@rules_cc//cc/compiler:msvc-cl": [
"/DEFAULTLIB:bcrypt",
],
"//conditions:default": [],
}),
deps = [
":internal_hdrs",
"//:config",
"@bzip2//:bz2",
"@lz4",
"@lz4//:lz4_hc",
"@xz//:lzma",
"@zlib",
"@zstd",
] + select({
"//:use_mbedtls_setting": ["@mbedtls"],
"//conditions:default": [],
}),
)

alias(
name = "libarchive",
actual = ":archive",
)
Loading

0 comments on commit 756957c

Please sign in to comment.