Skip to content

Commit

Permalink
feat: use patched vendored sources for builds
Browse files Browse the repository at this point in the history
Use patched and filtered vendored sources for
builds.

Signed-off-by: Miguel Martín <[email protected]>
  • Loading branch information
mmartinv committed Mar 26, 2024
1 parent e591653 commit 7ef49e8
Show file tree
Hide file tree
Showing 11,612 changed files with 3,973,484 additions and 2 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
5 changes: 5 additions & 0 deletions .cargo/config.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
[source.crates-io]
replace-with = "vendored-sources"

[source.vendored-sources]
directory = "vendor"
2 changes: 1 addition & 1 deletion .github/workflows/analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ jobs:
- name: Run DevSkim scanner
uses: microsoft/DevSkim-Action@v1
with:
ignore-globs: '**/examples/**'
ignore-globs: '**/examples/**,**/vendor/**'

- name: Upload DevSkim scan results to GitHub Security tab
uses: github/codeql-action/upload-sarif@v3
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ jobs:
check_filenames: true
check_hidden: true
ignore_words_file: .github/spellcheck-ignore
skip: "./docs/Gemfile.lock,./docs/_config.yml,./.github,./.git"
skip: "./docs/Gemfile.lock,./docs/_config.yml,./.github,./.git,./vendor"

fmt:
name: Rustfmt
Expand Down
36 changes: 36 additions & 0 deletions update-vendor.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
#! /bin/bash

set -xe

PLATFORMS=$*

CARGO_CONFIG_FILE=".cargo/config.toml"
VENDOR_DIR=vendor

[ -n "$PLATFORMS" ] || PLATFORMS=$(echo {x86_64,aarch64,powerpc64le,s390x}-unknown-linux-gnu)

for PLATFORM in $PLATFORMS; do
PLATFORM_ARGS+="--platform ${PLATFORM} "
done

# Clean vendor config and dir or the filterer will refuse to do the job
rm -rf "${VENDOR_DIR}" "${CARGO_CONFIG_FILE}"

# We need v0.5.7 because of RHEL rust version
cargo install --quiet cargo-vendor-filterer

# Filter the vendor files for the given platforms
cargo vendor-filterer ${PLATFORM_ARGS} "${VENDOR_DIR}"

cat > "${CARGO_CONFIG_FILE}" <<EOF
[source.crates-io]
replace-with = "vendored-sources"
[source.vendored-sources]
directory = "${VENDOR_DIR}"
EOF

# Patch the official crates so the build works.
for PATCH in patches/*; do
git apply "${PATCH}"
done
1 change: 1 addition & 0 deletions vendor/addr2line/.cargo-checksum.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"files":{"Cargo.toml":"4eaa59a84cdcfbad9972918831224246ad33a7f21b35f3343616e9b8f488a6d8","src/lib.rs":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"},"package":"8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb"}
89 changes: 89 additions & 0 deletions vendor/addr2line/Cargo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
[dependencies.alloc]
optional = true
package = "rustc-std-workspace-alloc"
version = "1.0.0"

[dependencies.compiler_builtins]
optional = true
version = "0.1.2"

[dependencies.core]
optional = true
package = "rustc-std-workspace-core"
version = "1.0.0"

[dependencies.cpp_demangle]
default-features = false
features = ["alloc"]
optional = true
version = "0.4"

[dependencies.fallible-iterator]
default-features = false
optional = true
version = "0.3.0"

[dependencies.gimli]
default-features = false
features = ["read"]
version = "0.28.0"

[dependencies.memmap2]
optional = true
version = "0.5.5"

[dependencies.object]
default-features = false
features = ["read"]
optional = true
version = "0.32.0"

[dependencies.rustc-demangle]
optional = true
version = "0.1"

[dependencies.smallvec]
default-features = false
optional = true
version = "1"
[dev-dependencies.backtrace]
version = "0.3.13"

[dev-dependencies.clap]
features = ["wrap_help"]
version = "4.3.21"

[dev-dependencies.findshlibs]
version = "0.10"

[dev-dependencies.libtest-mimic]
version = "0.6.1"

[dev-dependencies.typed-arena]
version = "2"

[features]
default = ["rustc-demangle", "cpp_demangle", "std-object", "fallible-iterator", "smallvec", "memmap2"]
rustc-dep-of-std = ["core", "alloc", "compiler_builtins", "gimli/rustc-dep-of-std"]
std = ["gimli/std"]
std-object = ["std", "object", "object/std", "object/compression", "gimli/endian-reader"]

[package]
categories = ["development-tools::debugging"]
description = "A cross-platform symbolication library written in Rust, using `gimli`"
documentation = "https://docs.rs/addr2line"
edition = "2018"
exclude = ["/benches/*", "/fixtures/*", ".github"]
keywords = ["DWARF", "debug", "elf", "symbolicate", "atos"]
license = "Apache-2.0 OR MIT"
name = "addr2line"
readme = "./README.md"
repository = "https://github.com/gimli-rs/addr2line"
rust-version = "1.65"
version = "0.21.0"
[profile.bench]
codegen-units = 1
debug = true

[profile.release]
debug = true
Empty file added vendor/addr2line/src/lib.rs
Empty file.
1 change: 1 addition & 0 deletions vendor/adler/.cargo-checksum.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"files":{"Cargo.toml":"0558da74fe182c10ee10c9cda9244aa11e186183ec45f899e28169b5f6e24ab8","src/lib.rs":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"},"package":"f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"}
49 changes: 49 additions & 0 deletions vendor/adler/Cargo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
[dependencies.compiler_builtins]
optional = true
version = "0.1.2"

[dependencies.core]
optional = true
package = "rustc-std-workspace-core"
version = "1.0.0"
[dev-dependencies.criterion]
version = "0.3.2"

[features]
default = ["std"]
rustc-dep-of-std = ["core", "compiler_builtins"]
std = []

[package]
authors = ["Jonas Schievink <[email protected]>"]
categories = ["algorithms"]
description = "A simple clean-room implementation of the Adler-32 checksum"
documentation = "https://docs.rs/adler/"
keywords = ["checksum", "integrity", "hash", "adler32", "zlib"]
license = "0BSD OR MIT OR Apache-2.0"
name = "adler"
readme = "README.md"
repository = "https://github.com/jonas-schievink/adler.git"
version = "1.0.2"
[package.metadata.docs.rs]
rustdoc-args = ["--cfg=docsrs"]

[package.metadata.release]
no-dev-version = true
pre-release-commit-message = "Release {{version}}"
tag-message = "{{version}}"

[[package.metadata.release.pre-release-replacements]]
file = "CHANGELOG.md"
replace = "## Unreleased\n\nNo changes.\n\n## [{{version}} - {{date}}](https://github.com/jonas-schievink/adler/releases/tag/v{{version}})\n"
search = "## Unreleased\n"

[[package.metadata.release.pre-release-replacements]]
file = "README.md"
replace = "adler = \"{{version}}\""
search = "adler = \"[a-z0-9\\\\.-]+\""

[[package.metadata.release.pre-release-replacements]]
file = "src/lib.rs"
replace = "https://docs.rs/adler/{{version}}"
search = "https://docs.rs/adler/[a-z0-9\\.-]+"
Empty file added vendor/adler/src/lib.rs
Empty file.
1 change: 1 addition & 0 deletions vendor/ahash/.cargo-checksum.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"files":{"Cargo.toml":"a519809f46c9aad28d6c48748f330fe31e05029d234b6d1743522ec403441744","FAQ.md":"9eb41898523ee209a0a937f9bcb78afe45ad55ca0556f8a4d4063558098f6d1e","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"ff8f68cb076caf8cefe7a6430d4ac086ce6af2ca8ce2c4e5a2004d4552ef52a2","README.md":"72185284f100e149998fe5301f70489e617cc4415b51cc77e967c63c6e970a67","build.rs":"f80cb1cdb731a63d16513f1f0b0871d9c077d2c6bf2312af40a202f9c0fefe49","rustfmt.toml":"e090969e99df9360705680cc0097cfaddae10c22dc2e01470592cf3b9787fd36","src/aes_hash.rs":"0b11ce066931396222d2bed7eff678fdd7c8351819485efb721f62a30551866b","src/convert.rs":"f0e78840046493d0679a9ec077c8164cf57cf30d5e852b11bfadfdd996d29bd1","src/fallback_hash.rs":"ec00691bd555c69f7446afe893b6631cb84207cb7b512260dec8ef488e1905f3","src/hash_map.rs":"ed0c79c41c2218ad9591a585670a2b9b983807c9725880b780138a44c126cbfd","src/hash_quality_test.rs":"61695e5cac46ea25021a9d04199fb00c513e0c0c9c0f67aca0c647b9d2f7dd5a","src/hash_set.rs":"dc3d33e290aad62457ab1f5e64d3e33eb79e28c9468bfc8686339f0bbd8b19aa","src/lib.rs":"9fec7d1d412e414231c9b929081b1daa7c3b788a9f91eedd79a55efdf5d0d291","src/operations.rs":"10772e65b8b7106f195428c5eb8dbf6cbd49dd5a2165ac750e54af5995210f88","src/random_state.rs":"ce9689147659efa975887debe1481daddca09386ea8e1d5b4ee90ebeda6c8745","src/specialize.rs":"38d3b56ef4f264d564f48dbcb8ac137928babf90635090c9771c1a62140d1f30","tests/bench.rs":"0851dffebaffd7a437f6f9946ed5e03a957e9a6eb0da7911451af58778c411ec","tests/map_tests.rs":"e0f155f964dd965740b072ee1da110a8c6ef34491c95219f7c89064112c7840f","tests/nopanic.rs":"3363675c4c1a197b86604a0aebbe958fb5ec7c01a414fbfd70e9eb8a29707400"},"package":"891477e0c6a8957309ee5c45a6368af3ae14bb510732d2684ffa19af310920f9"}
149 changes: 149 additions & 0 deletions vendor/ahash/Cargo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,149 @@
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2018"
name = "ahash"
version = "0.7.8"
authors = ["Tom Kaitchuck <[email protected]>"]
build = "./build.rs"
exclude = [
"/smhasher",
"/benchmark_tools",
]
description = "A non-cryptographic hash function using AES-NI for high performance"
documentation = "https://docs.rs/ahash"
readme = "README.md"
keywords = [
"hash",
"hasher",
"hashmap",
"aes",
"no-std",
]
categories = [
"algorithms",
"data-structures",
"no-std",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/tkaitchuck/ahash"

[package.metadata.docs.rs]
features = ["std"]
rustc-args = [
"-C",
"target-feature=+aes",
]
rustdoc-args = [
"-C",
"target-feature=+aes",
]

[profile.bench]
opt-level = 3
lto = "fat"
codegen-units = 1
debug = 0
debug-assertions = false

[profile.release]
opt-level = 3
lto = "fat"
codegen-units = 1
debug = 0
debug-assertions = false

[profile.test]
opt-level = 2
lto = "fat"

[lib]
name = "ahash"
path = "src/lib.rs"
test = true
doctest = true
bench = true
doc = true

[[bench]]
name = "ahash"
path = "tests/bench.rs"
harness = false

[[bench]]
name = "map"
path = "tests/map_tests.rs"
harness = false

[dev-dependencies.criterion]
version = "0.3.2"

[dev-dependencies.fnv]
version = "1.0.5"

[dev-dependencies.fxhash]
version = "0.2.1"

[dev-dependencies.hex]
version = "0.4.2"

[dev-dependencies.no-panic]
version = "0.1.10"

[dev-dependencies.rand]
version = "0.7.3"

[dev-dependencies.seahash]
version = "4.0"

[dev-dependencies.serde_json]
version = "1.0.59"

[build-dependencies.version_check]
version = "0.9"

[features]
atomic-polyfill = [
"dep:atomic-polyfill",
"once_cell/atomic-polyfill",
]
compile-time-rng = ["const-random"]
default = ["std"]
std = []

[target."cfg(any(target_os = \"linux\", target_os = \"android\", target_os = \"windows\", target_os = \"macos\", target_os = \"ios\", target_os = \"freebsd\", target_os = \"openbsd\", target_os = \"netbsd\", target_os = \"dragonfly\", target_os = \"solaris\", target_os = \"illumos\", target_os = \"fuchsia\", target_os = \"redox\", target_os = \"cloudabi\", target_os = \"haiku\", target_os = \"vxworks\", target_os = \"emscripten\", target_os = \"wasi\"))".dependencies.const-random]
version = "0.1.12"
optional = true

[target."cfg(any(target_os = \"linux\", target_os = \"android\", target_os = \"windows\", target_os = \"macos\", target_os = \"ios\", target_os = \"freebsd\", target_os = \"openbsd\", target_os = \"netbsd\", target_os = \"dragonfly\", target_os = \"solaris\", target_os = \"illumos\", target_os = \"fuchsia\", target_os = \"redox\", target_os = \"cloudabi\", target_os = \"haiku\", target_os = \"vxworks\", target_os = \"emscripten\", target_os = \"wasi\"))".dependencies.getrandom]
version = "0.2.3"

[target."cfg(any(target_os = \"linux\", target_os = \"android\", target_os = \"windows\", target_os = \"macos\", target_os = \"ios\", target_os = \"freebsd\", target_os = \"openbsd\", target_os = \"netbsd\", target_os = \"dragonfly\", target_os = \"solaris\", target_os = \"illumos\", target_os = \"fuchsia\", target_os = \"redox\", target_os = \"cloudabi\", target_os = \"haiku\", target_os = \"vxworks\", target_os = \"emscripten\", target_os = \"wasi\"))".dependencies.serde]
version = "1.0.117"
optional = true

[target."cfg(not(all(target_arch = \"arm\", target_os = \"none\")))".dependencies.once_cell]
version = "1.13.1"
features = ["alloc"]
default-features = false

[target."cfg(not(any(target_os = \"linux\", target_os = \"android\", target_os = \"windows\", target_os = \"macos\", target_os = \"ios\", target_os = \"freebsd\", target_os = \"openbsd\", target_os = \"netbsd\", target_os = \"dragonfly\", target_os = \"solaris\", target_os = \"illumos\", target_os = \"fuchsia\", target_os = \"redox\", target_os = \"cloudabi\", target_os = \"haiku\", target_os = \"vxworks\", target_os = \"emscripten\", target_os = \"wasi\")))".dependencies.atomic-polyfill]
version = "1.0.1"
optional = true

[target."cfg(not(any(target_os = \"linux\", target_os = \"android\", target_os = \"windows\", target_os = \"macos\", target_os = \"ios\", target_os = \"freebsd\", target_os = \"openbsd\", target_os = \"netbsd\", target_os = \"dragonfly\", target_os = \"solaris\", target_os = \"illumos\", target_os = \"fuchsia\", target_os = \"redox\", target_os = \"cloudabi\", target_os = \"haiku\", target_os = \"vxworks\", target_os = \"emscripten\", target_os = \"wasi\")))".dependencies.const-random]
version = "0.1.12"
optional = true

[target."cfg(not(any(target_os = \"linux\", target_os = \"android\", target_os = \"windows\", target_os = \"macos\", target_os = \"ios\", target_os = \"freebsd\", target_os = \"openbsd\", target_os = \"netbsd\", target_os = \"dragonfly\", target_os = \"solaris\", target_os = \"illumos\", target_os = \"fuchsia\", target_os = \"redox\", target_os = \"cloudabi\", target_os = \"haiku\", target_os = \"vxworks\", target_os = \"emscripten\", target_os = \"wasi\")))".dependencies.serde]
version = "1.0.117"
optional = true
Loading

0 comments on commit 7ef49e8

Please sign in to comment.