This is an automated email from the ASF dual-hosted git repository.
zhangstar333 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/master by this push:
new 4df43e95c39 [chore](thirdparty) introduce thridparty about lance-c
(#65304)
4df43e95c39 is described below
commit 4df43e95c39c5d844c17723b624f06e1e646f48d
Author: zhangstar333 <[email protected]>
AuthorDate: Fri Jul 17 10:16:40 2026 +0800
[chore](thirdparty) introduce thridparty about lance-c (#65304)
### What problem does this PR solve?
introduce thridparty about lance-c
https://github.com/lance-format/lance-c
---
be/cmake/thirdparty.cmake | 4 +
dist/LICENSE-dist.txt | 3 +
dist/licenses/LICENSE-lance-c-rust-crates.txt | 625 ++++++++++++++++++++++++++
thirdparty/LICENSE.txt | 10 +
thirdparty/build-thirdparty.sh | 75 ++++
thirdparty/vars.sh | 7 +
6 files changed, 724 insertions(+)
diff --git a/be/cmake/thirdparty.cmake b/be/cmake/thirdparty.cmake
index f8598d785df..92dffd98da8 100644
--- a/be/cmake/thirdparty.cmake
+++ b/be/cmake/thirdparty.cmake
@@ -110,6 +110,10 @@ add_thirdparty(arrow_flight_sql LIB64)
add_thirdparty(arrow_dataset LIB64)
add_thirdparty(arrow_acero LIB64)
add_thirdparty(parquet LIB64)
+# liblance_c.a contains compiler_builtins cbrt symbols. Place libm before it
+# so the final linker resolves C math symbols from the system library first.
+add_thirdparty(lance_c LIB64 NOTADD)
+list(APPEND COMMON_THIRDPARTY m lance_c)
add_thirdparty(brpc LIB64)
add_thirdparty(rocksdb)
add_thirdparty(cyrus-sasl LIBNAME "lib/libsasl2.a")
diff --git a/dist/LICENSE-dist.txt b/dist/LICENSE-dist.txt
index b0432407456..1b522d2df14 100644
--- a/dist/LICENSE-dist.txt
+++ b/dist/LICENSE-dist.txt
@@ -1476,6 +1476,9 @@ The Apache Software License, Version 2.0
* opentelemetry-proto: 0.18.0
* opentelemetry-cpp: 1.4.0
* clucene: 2.4.6
+ * lance-c: 0.1.2
+ - source: https://github.com/lance-format/lance-c
+ - transitive Rust crate licenses:
licenses/LICENSE-lance-c-rust-crates.txt
The MIT License -- licenses/LICENSE-MIT.txt
* datatables: 1.12.1
diff --git a/dist/licenses/LICENSE-lance-c-rust-crates.txt
b/dist/licenses/LICENSE-lance-c-rust-crates.txt
new file mode 100644
index 00000000000..41052e9b821
--- /dev/null
+++ b/dist/licenses/LICENSE-lance-c-rust-crates.txt
@@ -0,0 +1,625 @@
+Lance-C Rust crate license list
+
+Generated from lance-c v0.1.2 Cargo.lock using:
+cargo +1.91.0 tree --locked --edges normal,build
+
+This list excludes dev/test-only dependency edges. License values are SPDX
+expressions from Cargo package metadata.
+
+(Apache-2.0 OR MIT) AND BSD-3-Clause
+ * encoding_rs: 0.8.35
+
+(MIT OR Apache-2.0) AND Apache-2.0
+ * moka: 0.12.15
+
+(MIT OR Apache-2.0) AND Unicode-3.0
+ * unicode-ident: 1.0.24
+
+0BSD
+ * mock_instant: 0.6.0
+
+0BSD OR MIT OR Apache-2.0
+ * adler2: 2.0.1
+
+Apache-2.0
+ * approx: 0.5.1
+ * arrow: 57.3.0
+ * arrow-arith: 57.3.0
+ * arrow-array: 57.3.0
+ * arrow-buffer: 57.3.0
+ * arrow-cast: 57.3.0
+ * arrow-csv: 57.3.0
+ * arrow-data: 57.3.0
+ * arrow-ipc: 57.3.0
+ * arrow-json: 57.3.0
+ * arrow-ord: 57.3.0
+ * arrow-row: 57.3.0
+ * arrow-schema: 57.3.0
+ * arrow-select: 57.3.0
+ * arrow-string: 57.3.0
+ * aws-config: 1.8.14
+ * aws-credential-types: 1.2.13
+ * aws-runtime: 1.7.1
+ * aws-sdk-sso: 1.95.0
+ * aws-sdk-ssooidc: 1.97.0
+ * aws-sdk-sts: 1.99.0
+ * aws-sigv4: 1.4.1
+ * aws-smithy-async: 1.2.13
+ * aws-smithy-http: 0.63.5
+ * aws-smithy-http-client: 1.1.11
+ * aws-smithy-json: 0.62.4
+ * aws-smithy-observability: 0.2.5
+ * aws-smithy-query: 0.60.14
+ * aws-smithy-runtime: 1.10.2
+ * aws-smithy-runtime-api: 1.11.5
+ * aws-smithy-types: 1.4.5
+ * aws-smithy-xml: 0.60.14
+ * aws-types: 1.3.13
+ * backon: 1.6.0
+ * datafusion: 52.4.0
+ * datafusion-catalog: 52.4.0
+ * datafusion-catalog-listing: 52.4.0
+ * datafusion-common: 52.4.0
+ * datafusion-common-runtime: 52.4.0
+ * datafusion-datasource: 52.4.0
+ * datafusion-datasource-arrow: 52.4.0
+ * datafusion-datasource-csv: 52.4.0
+ * datafusion-datasource-json: 52.4.0
+ * datafusion-datasource-parquet: 52.4.0
+ * datafusion-doc: 52.4.0
+ * datafusion-execution: 52.4.0
+ * datafusion-expr: 52.4.0
+ * datafusion-expr-common: 52.4.0
+ * datafusion-functions: 52.4.0
+ * datafusion-functions-aggregate: 52.4.0
+ * datafusion-functions-aggregate-common: 52.4.0
+ * datafusion-functions-nested: 52.4.0
+ * datafusion-functions-table: 52.4.0
+ * datafusion-functions-window: 52.4.0
+ * datafusion-functions-window-common: 52.4.0
+ * datafusion-macros: 52.4.0
+ * datafusion-optimizer: 52.4.0
+ * datafusion-physical-expr: 52.4.0
+ * datafusion-physical-expr-adapter: 52.4.0
+ * datafusion-physical-expr-common: 52.4.0
+ * datafusion-physical-optimizer: 52.4.0
+ * datafusion-physical-plan: 52.4.0
+ * datafusion-pruning: 52.4.0
+ * datafusion-session: 52.4.0
+ * datafusion-sql: 52.4.0
+ * datafusion-substrait: 52.4.0
+ * flatbuffers: 25.12.19
+ * fsst: 4.0.1
+ * jsonb: 0.5.5
+ * lance: 4.0.1
+ * lance-arrow: 4.0.1
+ * lance-bitpacking: 4.0.1
+ * lance-c: 0.1.2
+ * lance-core: 4.0.1
+ * lance-datafusion: 4.0.1
+ * lance-datagen: 4.0.1
+ * lance-encoding: 4.0.1
+ * lance-file: 4.0.1
+ * lance-geo: 4.0.1
+ * lance-index: 4.0.1
+ * lance-io: 4.0.1
+ * lance-linalg: 4.0.1
+ * lance-namespace: 4.0.1
+ * lance-namespace-reqwest-client: 0.6.1
+ * lance-table: 4.0.1
+ * object_store_opendal: 0.55.0
+ * opendal: 0.55.0
+ * parquet: 57.3.0
+ * prost: 0.14.3
+ * prost-build: 0.14.3
+ * prost-derive: 0.14.3
+ * prost-types: 0.14.3
+ * reqsign: 0.16.5
+ * serde_tokenstream: 0.2.3
+ * sketches-ddsketch: 0.3.1
+ * sqlparser: 0.59.0
+ * sqlparser_derive: 0.3.0
+ * substrait: 0.62.2
+ * sync_wrapper: 1.0.2
+ * thrift: 0.17.0
+ * typify: 0.5.0
+ * typify-impl: 0.5.0
+ * typify-macro: 0.5.0
+
+Apache-2.0 / MIT
+ * fnv: 1.0.7
+
+Apache-2.0 / MIT / MPL-2.0
+ * htmlescape: 0.3.1
+
+Apache-2.0 AND ISC
+ * ring: 0.17.14
+
+Apache-2.0 OR BSL-1.0
+ * ryu: 1.0.23
+
+Apache-2.0 OR ISC OR MIT
+ * hyper-rustls: 0.27.7
+ * rustls: 0.23.37
+ * rustls-native-certs: 0.8.3
+ * rustls-pemfile: 2.2.0
+
+Apache-2.0 OR MIT
+ * async-channel: 2.5.0
+ * async-lock: 3.4.2
+ * atomic-waker: 1.1.2
+ * autocfg: 1.5.0
+ * base64ct: 1.8.3
+ * concurrent-queue: 2.5.0
+ * const-oid: 0.9.6
+ * der: 0.7.10
+ * equivalent: 1.0.2
+ * event-listener: 5.4.1
+ * event-listener-strategy: 0.5.4
+ * fastrand: 2.3.0
+ * idna_adapter: 1.2.1
+ * indexmap: 2.13.0
+ * parking: 2.2.1
+ * pem-rfc7468: 0.7.0
+ * pin-project: 1.1.11
+ * pin-project-internal: 1.1.11
+ * pin-project-lite: 0.2.17
+ * pkcs1: 0.7.5
+ * pkcs5: 0.7.1
+ * pkcs8: 0.10.2
+ * portable-atomic: 1.13.1
+ * rustc-hash: 2.1.1
+ * signature: 2.2.0
+ * spki: 0.7.3
+ * utf8_iter: 1.0.4
+ * uuid: 1.22.0
+ * zeroize: 1.8.2
+
+Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT
+ * linux-raw-sys: 0.12.1
+ * linux-raw-sys: 0.4.15
+ * rustix: 0.38.44
+ * rustix: 1.1.4
+
+Apache-2.0/MIT
+ * bytes-utils: 0.1.4
+ * crc32c: 0.6.8
+ * permutation: 0.4.1
+
+BSD-2-Clause
+ * arrayref: 0.3.9
+
+BSD-2-Clause OR Apache-2.0 OR MIT
+ * zerocopy: 0.8.47
+ * zerocopy-derive: 0.8.47
+
+BSD-3-Clause
+ * alloc-no-stdlib: 2.0.4
+ * alloc-stdlib: 0.2.2
+ * snap: 1.1.1
+ * subtle: 2.6.1
+
+BSD-3-Clause AND MIT
+ * brotli: 8.0.2
+
+BSD-3-Clause OR MIT OR Apache-2.0
+ * num_enum: 0.7.6
+ * num_enum_derive: 0.7.6
+
+BSD-3-Clause/MIT
+ * brotli-decompressor: 5.0.0
+
+BSL-1.0
+ * xxhash-rust: 0.8.15
+
+CC0-1.0
+ * tiny-keccak: 2.0.2
+
+CC0-1.0 OR Apache-2.0 OR Apache-2.0 WITH LLVM-exception
+ * blake3: 1.8.3
+
+CC0-1.0 OR MIT-0 OR Apache-2.0
+ * constant_time_eq: 0.4.2
+ * dunce: 1.0.5
+
+CDLA-Permissive-2.0
+ * webpki-roots: 1.0.6
+
+ISC
+ * earcutr: 0.4.3
+ * rustls-webpki: 0.103.10
+ * simple_asn1: 0.6.4
+ * untrusted: 0.9.0
+
+ISC AND (Apache-2.0 OR ISC)
+ * aws-lc-rs: 1.16.2
+
+ISC AND (Apache-2.0 OR ISC) AND Apache-2.0 AND MIT AND BSD-3-Clause AND
(Apache-2.0 OR ISC OR MIT) AND (Apache-2.0 OR ISC OR MIT-0)
+ * aws-lc-sys: 0.39.0
+
+MIT
+ * async_cell: 0.2.3
+ * atoi: 2.0.0
+ * base64-simd: 0.8.0
+ * bitpacking: 0.9.3
+ * bitvec: 1.0.1
+ * bytes: 1.11.1
+ * census: 0.4.2
+ * comfy-table: 7.2.2
+ * crunchy: 0.2.4
+ * darling: 0.23.0
+ * darling_core: 0.23.0
+ * darling_macro: 0.23.0
+ * dashmap: 6.1.0
+ * deepsize: 0.2.0
+ * deepsize_derive: 0.1.2
+ * float_next_after: 1.0.0
+ * fs_extra: 1.3.0
+ * funty: 2.0.0
+ * generic-array: 0.14.7
+ * geographiclib-rs: 0.2.7
+ * h2: 0.4.13
+ * http-body: 0.4.6
+ * http-body: 1.0.1
+ * http-body-util: 0.1.3
+ * hyper: 1.8.1
+ * hyper-util: 0.1.20
+ * hyperloglogplus: 0.4.1
+ * i_float: 1.15.0
+ * i_key_sort: 0.6.0
+ * i_overlay: 4.0.7
+ * i_shape: 1.14.0
+ * i_tree: 0.16.0
+ * integer-encoding: 3.0.4
+ * jsonwebtoken: 9.3.1
+ * levenshtein_automata: 0.2.1
+ * libm: 0.2.16
+ * lru: 0.12.5
+ * lz4: 1.28.1
+ * lz4-sys: 1.11.1+lz4-1.10.0
+ * lz4_flex: 0.11.6
+ * lz4_flex: 0.12.1
+ * measure_time: 0.9.0
+ * mime_guess: 2.0.5
+ * mio: 1.1.1
+ * murmurhash32: 0.3.1
+ * nom: 7.1.3
+ * nom: 8.0.0
+ * ordered-float: 2.10.1
+ * ordered-float: 5.1.0
+ * ordered-multimap: 0.7.3
+ * outref: 0.5.2
+ * ownedbytes: 0.9.0
+ * pbjson: 0.8.0
+ * pbjson-build: 0.8.0
+ * pbjson-types: 0.8.0
+ * pem: 3.0.6
+ * phf: 0.12.1
+ * phf_shared: 0.12.1
+ * quick-xml: 0.37.5
+ * quick-xml: 0.38.4
+ * radium: 0.7.0
+ * random_word: 0.5.2
+ * rust-ini: 0.21.3
+ * schemars: 0.8.22
+ * schemars_derive: 0.8.22
+ * simd-adler32: 0.3.8
+ * slab: 0.4.12
+ * spin: 0.9.8
+ * std_prelude: 0.2.12
+ * strsim: 0.11.1
+ * strum: 0.26.3
+ * strum_macros: 0.26.4
+ * synstructure: 0.13.2
+ * tantivy: 0.24.2
+ * tantivy-bitpacker: 0.8.0
+ * tantivy-columnar: 0.5.0
+ * tantivy-common: 0.9.0
+ * tantivy-query-grammar: 0.24.0
+ * tantivy-sstable: 0.5.0
+ * tantivy-stacker: 0.5.0
+ * tantivy-tokenizer-api: 0.5.0
+ * tap: 1.0.1
+ * tokio: 1.50.0
+ * tokio-macros: 2.6.1
+ * tokio-stream: 0.1.18
+ * tokio-util: 0.7.18
+ * tower: 0.5.3
+ * tower-http: 0.6.8
+ * tower-layer: 0.3.3
+ * tower-service: 0.3.3
+ * tracing: 0.1.44
+ * tracing-attributes: 0.1.31
+ * tracing-core: 0.1.36
+ * try-lock: 0.2.5
+ * twox-hash: 2.1.2
+ * unsafe-libyaml: 0.2.11
+ * urlencoding: 2.1.3
+ * vsimd: 0.8.0
+ * want: 0.3.1
+ * winnow: 1.0.0
+ * wyz: 0.5.1
+ * zmij: 1.0.21
+ * zstd: 0.13.3
+
+MIT OR Apache-2.0
+ * aes: 0.8.4
+ * ahash: 0.8.12
+ * allocator-api2: 0.2.21
+ * anyhow: 1.0.102
+ * arc-swap: 1.9.0
+ * arrayvec: 0.7.6
+ * async-compression: 0.4.41
+ * async-recursion: 1.1.1
+ * async-trait: 0.1.89
+ * base64: 0.22.1
+ * bitflags: 2.11.0
+ * blake2: 0.10.6
+ * block-buffer: 0.10.4
+ * block-padding: 0.3.3
+ * bon: 3.9.1
+ * bon-macros: 3.9.1
+ * cbc: 0.1.2
+ * cc: 1.2.57
+ * cfg-if: 1.0.4
+ * chrono: 0.4.44
+ * chrono-tz: 0.10.4
+ * cipher: 0.4.4
+ * cmake: 0.1.57
+ * compression-codecs: 0.4.37
+ * compression-core: 0.4.31
+ * const-random: 0.1.18
+ * const-random-macro: 0.1.16
+ * cpufeatures: 0.2.17
+ * crc32fast: 1.5.0
+ * crossbeam-channel: 0.5.15
+ * crossbeam-deque: 0.8.6
+ * crossbeam-epoch: 0.9.18
+ * crossbeam-queue: 0.3.12
+ * crossbeam-skiplist: 0.1.3
+ * crossbeam-utils: 0.8.21
+ * crypto-common: 0.1.7
+ * deranged: 0.5.8
+ * digest: 0.10.7
+ * dirs: 6.0.0
+ * dirs-sys: 0.5.0
+ * displaydoc: 0.2.5
+ * dlv-list: 0.5.2
+ * downcast-rs: 2.0.2
+ * dyn-clone: 1.0.20
+ * either: 1.15.0
+ * errno: 0.3.14
+ * ethnum: 1.5.2
+ * fast-float2: 0.2.3
+ * find-msvc-tools: 0.1.9
+ * fixedbitset: 0.5.7
+ * flate2: 1.1.9
+ * form_urlencoded: 1.2.2
+ * fs4: 0.8.4
+ * futures: 0.3.32
+ * futures-channel: 0.3.32
+ * futures-core: 0.3.32
+ * futures-executor: 0.3.32
+ * futures-io: 0.3.32
+ * futures-macro: 0.3.32
+ * futures-sink: 0.3.32
+ * futures-task: 0.3.32
+ * futures-util: 0.3.32
+ * geo: 0.31.0
+ * geo-traits: 0.3.0
+ * geo-types: 0.7.18
+ * geoarrow-array: 0.7.0
+ * geoarrow-expr-geo: 0.7.0
+ * geoarrow-schema: 0.7.0
+ * geodatafusion: 0.3.0
+ * getrandom: 0.2.17
+ * getrandom: 0.3.4
+ * getrandom: 0.4.2
+ * glob: 0.3.3
+ * half: 2.7.1
+ * hash32: 0.3.1
+ * hashbrown: 0.14.5
+ * hashbrown: 0.15.5
+ * hashbrown: 0.16.1
+ * heapless: 0.8.0
+ * heck: 0.5.0
+ * hex: 0.4.3
+ * hmac: 0.12.1
+ * home: 0.5.12
+ * http: 0.2.12
+ * http: 1.4.0
+ * httparse: 1.10.1
+ * humantime: 2.3.0
+ * iana-time-zone: 0.1.65
+ * idna: 1.1.0
+ * inout: 0.1.4
+ * ipnet: 2.12.0
+ * iri-string: 0.7.11
+ * itertools: 0.11.0
+ * itertools: 0.13.0
+ * itertools: 0.14.0
+ * itoa: 1.0.18
+ * jobserver: 0.1.34
+ * lazy_static: 1.5.0
+ * libc: 0.2.183
+ * lock_api: 0.4.14
+ * log: 0.4.29
+ * md-5: 0.10.6
+ * memmap2: 0.9.10
+ * mime: 0.3.17
+ * multimap: 0.10.1
+ * ndarray: 0.16.1
+ * num-bigint: 0.4.6
+ * num-complex: 0.4.6
+ * num-conv: 0.2.0
+ * num-integer: 0.1.46
+ * num-iter: 0.1.45
+ * num-traits: 0.2.19
+ * num_cpus: 1.17.0
+ * once_cell: 1.21.4
+ * oneshot: 0.1.13
+ * openssl-probe: 0.2.1
+ * parking_lot: 0.12.5
+ * parking_lot_core: 0.9.12
+ * paste: 1.0.15
+ * path_abs: 0.5.1
+ * pbkdf2: 0.12.2
+ * percent-encoding: 2.3.2
+ * petgraph: 0.8.3
+ * pin-utils: 0.1.0
+ * pkg-config: 0.3.32
+ * powerfmt: 0.2.0
+ * ppv-lite86: 0.2.21
+ * prettyplease: 0.2.37
+ * proc-macro-crate: 3.5.0
+ * proc-macro2: 1.0.106
+ * quote: 1.0.45
+ * rand: 0.8.5
+ * rand: 0.9.2
+ * rand_chacha: 0.3.1
+ * rand_chacha: 0.9.0
+ * rand_core: 0.6.4
+ * rand_core: 0.9.5
+ * rand_distr: 0.4.3
+ * rand_distr: 0.5.1
+ * rand_xoshiro: 0.7.0
+ * rayon: 1.11.0
+ * rayon-core: 1.13.0
+ * regex: 1.12.3
+ * regex-automata: 0.4.14
+ * regex-lite: 0.1.9
+ * regex-syntax: 0.8.10
+ * regress: 0.10.5
+ * reqwest: 0.12.28
+ * roaring: 0.11.3
+ * robust: 1.2.0
+ * rsa: 0.9.10
+ * rstar: 0.12.2
+ * rustc_version: 0.4.1
+ * rustls-pki-types: 1.14.0
+ * rustversion: 1.0.22
+ * salsa20: 0.10.2
+ * scopeguard: 1.2.0
+ * scrypt: 0.11.0
+ * semver: 1.0.27
+ * seq-macro: 0.3.6
+ * serde: 1.0.228
+ * serde_core: 1.0.228
+ * serde_derive: 1.0.228
+ * serde_derive_internals: 0.29.1
+ * serde_json: 1.0.149
+ * serde_repr: 0.1.20
+ * serde_yaml: 0.9.34+deprecated
+ * sha1: 0.10.6
+ * sha2: 0.10.9
+ * shlex: 1.3.0
+ * signal-hook-registry: 1.4.8
+ * simdutf8: 0.1.5
+ * smallvec: 1.15.1
+ * snafu: 0.9.0
+ * snafu-derive: 0.9.0
+ * socket2: 0.6.3
+ * spade: 2.15.0
+ * stable_deref_trait: 1.2.1
+ * stfu8: 0.2.7
+ * syn: 1.0.109
+ * syn: 2.0.117
+ * tempfile: 3.27.0
+ * thiserror: 1.0.69
+ * thiserror: 2.0.18
+ * thiserror-impl: 1.0.69
+ * thiserror-impl: 2.0.18
+ * thread-tree: 0.3.3
+ * time: 0.3.47
+ * time-core: 0.1.8
+ * time-macros: 0.2.27
+ * tokio-rustls: 0.26.4
+ * toml_datetime: 1.1.0+spec-1.1.0
+ * toml_edit: 0.25.8+spec-1.1.0
+ * toml_parser: 1.1.0+spec-1.1.0
+ * typenum: 1.19.0
+ * unicase: 2.9.0
+ * unicode-segmentation: 1.13.0
+ * unicode-width: 0.2.2
+ * url: 2.5.8
+ * wkb: 0.9.2
+ * wkt: 0.14.0
+ * zstd-safe: 7.2.4
+
+MIT OR Zlib OR Apache-2.0
+ * miniz_oxide: 0.8.9
+
+MIT/Apache-2.0
+ * bigdecimal: 0.4.10
+ * geohash: 0.13.1
+ * ident_case: 1.0.1
+ * lexical-core: 1.0.6
+ * lexical-parse-float: 1.0.6
+ * lexical-parse-integer: 1.0.6
+ * lexical-util: 1.0.7
+ * lexical-write-float: 1.0.6
+ * lexical-write-integer: 1.0.6
+ * matrixmultiply: 0.3.10
+ * minimal-lexical: 0.2.1
+ * num-bigint-dig: 0.8.6
+ * object_store: 0.12.5
+ * rangemap: 1.7.1
+ * rawpointer: 0.2.1
+ * serde_urlencoded: 0.7.1
+ * siphasher: 1.0.2
+ * tagptr: 0.2.0
+ * version_check: 0.9.5
+ * xmlparser: 0.13.6
+ * zstd-sys: 2.0.16+zstd.1.5.7
+
+MIT/BSD-3-Clause
+ * rust-stemmers: 1.2.0
+
+MPL-2.0
+ * option-ext: 0.2.0
+
+Unicode-3.0
+ * icu_collections: 2.1.1
+ * icu_locale_core: 2.1.1
+ * icu_normalizer: 2.1.1
+ * icu_normalizer_data: 2.1.1
+ * icu_properties: 2.1.2
+ * icu_properties_data: 2.1.2
+ * icu_provider: 2.1.1
+ * litemap: 0.8.1
+ * potential_utf: 0.1.4
+ * tinystr: 0.8.2
+ * writeable: 0.6.2
+ * yoke: 0.8.1
+ * yoke-derive: 0.8.1
+ * zerofrom: 0.1.6
+ * zerofrom-derive: 0.1.6
+ * zerotrie: 0.2.3
+ * zerovec: 0.11.5
+ * zerovec-derive: 0.11.2
+
+Unlicense OR MIT
+ * aho-corasick: 1.1.4
+ * byteorder: 1.5.0
+ * jiff: 0.2.23
+ * memchr: 2.8.0
+
+Unlicense/MIT
+ * csv: 1.4.0
+ * csv-core: 0.1.13
+ * fst: 0.4.7
+ * same-file: 1.0.6
+ * tantivy-fst: 0.5.0
+ * utf8-ranges: 1.0.5
+ * walkdir: 2.5.0
+
+Zlib
+ * foldhash: 0.1.5
+ * foldhash: 0.2.0
+ * zlib-rs: 0.6.3
+
+Zlib OR Apache-2.0 OR MIT
+ * bytemuck: 1.25.0
+
+zlib-acknowledgement OR MIT
+ * fastdivide: 0.4.2
diff --git a/thirdparty/LICENSE.txt b/thirdparty/LICENSE.txt
index 7db23714ed1..1c29d4f1a8a 100644
--- a/thirdparty/LICENSE.txt
+++ b/thirdparty/LICENSE.txt
@@ -43,6 +43,16 @@ Apache 2.0 License (found in the LICENSE.Apache file in the
root directory)
Doris selects Apache 2.0 License of RocksDB.
+============================================================================================
+Lance-C
+source: https://github.com/lance-format/lance-c
+
+Lance-C is licensed under Apache License Version 2.0.
+
+The static library is built from Rust crates. The transitive Rust crate license
+list for normal/build dependencies is maintained in
+`dist/licenses/LICENSE-lance-c-rust-crates.txt`.
+
============================================================================================
LZO
source: https://github.com/nemequ/lzo
diff --git a/thirdparty/build-thirdparty.sh b/thirdparty/build-thirdparty.sh
index 180333d150f..e6126df77cc 100755
--- a/thirdparty/build-thirdparty.sh
+++ b/thirdparty/build-thirdparty.sh
@@ -2126,6 +2126,79 @@ build_paimon_cpp() {
echo "Paimon-cpp internal dependencies installed successfully"
}
+# lance-c
+build_lance_c() {
+ check_if_source_exist "${LANCE_C_SOURCE}"
+ cd "${TP_SOURCE_DIR}/${LANCE_C_SOURCE}"
+
+ rm -rf "${BUILD_DIR}"
+ mkdir -p "${BUILD_DIR}"
+
+ local cargo_bin="${LANCE_C_CARGO:-${CARGO:-cargo}}"
+ if ! command -v "${cargo_bin}" >/dev/null 2>&1; then
+ echo "cargo is required to build lance-c. Install Rust 1.91.0 or set
LANCE_C_CARGO."
+ exit 1
+ fi
+ if [[ ! -x "${TP_INSTALL_DIR}/bin/protoc" ]]; then
+ echo "protoc is required to build lance-c. Build protobuf first."
+ exit 1
+ fi
+
+ local cargo_env=(
+ "CARGO_BUILD_JOBS=${PARALLEL}"
+ "CARGO_TARGET_DIR=${PWD}/${BUILD_DIR}"
+ "PROTOC=${TP_INSTALL_DIR}/bin/protoc"
+ )
+ if command -v rustup >/dev/null 2>&1 && [[ -z "${RUSTUP_TOOLCHAIN}" ]];
then
+ if rustup toolchain list | grep -q '^1.91.0'; then
+ cargo_env+=("RUSTUP_TOOLCHAIN=1.91.0")
+ fi
+ fi
+
+ local required_rust_version="1.91.0"
+ local cargo_version
+ if ! cargo_version="$(env "${cargo_env[@]}" "${cargo_bin}" --version | awk
'{print $2}')"; then
+ echo "failed to get cargo version for lance-c. Install Rust
${required_rust_version} or set LANCE_C_CARGO/RUSTUP_TOOLCHAIN."
+ exit 1
+ fi
+ if ! awk -v required="${required_rust_version}" -v
actual="${cargo_version}" 'BEGIN {
+ split(required, r, ".");
+ split(actual, a, ".");
+ for (i = 1; i <= 3; i++) {
+ if ((a[i] + 0) > (r[i] + 0)) {
+ exit 0;
+ }
+ if ((a[i] + 0) < (r[i] + 0)) {
+ exit 1;
+ }
+ }
+ exit 0;
+ }'; then
+ echo "lance-c requires Rust/Cargo ${required_rust_version} or newer,
but found ${cargo_version}."
+ echo "Install Rust ${required_rust_version} or set
LANCE_C_CARGO/RUSTUP_TOOLCHAIN."
+ exit 1
+ fi
+
+ if [[ "${KERNEL}" != 'Darwin' ]]; then
+ cargo_env+=("CFLAGS=${CFLAGS:-} -std=gnu17")
+ fi
+
+ local cargo_args=(build --release --locked)
+ if [[ "$(echo "${LANCE_C_CARGO_OFFLINE}" | tr '[:lower:]' '[:upper:]')" ==
"ON" ]]; then
+ cargo_args+=(--offline)
+ fi
+ env "${cargo_env[@]}" "${cargo_bin}" "${cargo_args[@]}"
+
+ mkdir -p "${TP_INSTALL_DIR}/include" "${TP_INSTALL_DIR}/lib64"
+ rm -rf "${TP_INSTALL_DIR}/include/lance"
+ cp -av include/lance "${TP_INSTALL_DIR}/include/"
+ cp -v "${BUILD_DIR}/release/liblance_c.a" "${TP_INSTALL_DIR}/lib64/"
+
+ if [[ "${STRIP_TP_LIB}" = "ON" && "${KERNEL}" != 'Darwin' ]]; then
+ strip --strip-debug --strip-unneeded
"${TP_INSTALL_DIR}/lib64/liblance_c.a"
+ fi
+}
+
if [[ "${#packages[@]}" -eq 0 ]]; then
packages=(
jindofs
@@ -2166,6 +2239,7 @@ if [[ "${#packages[@]}" -eq 0 ]]; then
cares
grpc # after cares, protobuf
arrow
+ lance_c
s2
bitshuffle
croaringbitmap
@@ -2300,6 +2374,7 @@ cleanup_package_source() {
juicefs) src_var="JUICEFS_SOURCE" ;;
pugixml) src_var="PUGIXML_SOURCE" ;;
paimon_cpp) src_var="PAIMON_CPP_SOURCE" ;;
+ lance_c) src_var="LANCE_C_SOURCE" ;;
aws_sdk) src_var="AWS_SDK_SOURCE" ;;
lzma) src_var="LZMA_SOURCE" ;;
xml2) src_var="XML2_SOURCE" ;;
diff --git a/thirdparty/vars.sh b/thirdparty/vars.sh
index af46e566b8a..f8d18a3a2be 100644
--- a/thirdparty/vars.sh
+++ b/thirdparty/vars.sh
@@ -573,6 +573,12 @@ PAIMON_CPP_NAME="paimon-cpp-0a4f4e2.tar.gz"
PAIMON_CPP_SOURCE="doris-thirdparty-paimon-cpp-0a4f4e2"
PAIMON_CPP_MD5SUM="b8599a0421dbf1ec05e2f1a481d64e87"
+# lance-c
+LANCE_C_DOWNLOAD="https://github.com/lance-format/lance-c/archive/refs/tags/v0.1.2.tar.gz"
+LANCE_C_NAME="lance-c-v0.1.2.tar.gz"
+LANCE_C_SOURCE="lance-c-0.1.2"
+LANCE_C_MD5SUM="eb6ec9bc63fa5245864282f24b521d0b"
+
# all thirdparties which need to be downloaded is set in array TP_ARCHIVES
export TP_ARCHIVES=(
'LIBEVENT'
@@ -658,6 +664,7 @@ export TP_ARCHIVES=(
'JUICEFS'
'PUGIXML'
'PAIMON_CPP'
+ 'LANCE_C'
)
if [[ "$(uname -s)" == 'Darwin' ]]; then
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]