feat: release Dever 0.1.5 with direct workers and long transactions

This commit is contained in:
Codex committed 2026-10-11 11:17:33 +00:00
1 parent 89629c2197
commit a900d7e8db
153 files changed
+3676 -3708

No files matched your search

+38 -57
View File
@@ -1,67 +1,48 @@
//! Explicit Linux author inputs shared by opt-in native fixtures.
use std::path::{Path, PathBuf};
pub const LLVM_LIBRARY: &str = "/usr/lib/llvm-18/lib/libLLVM.so.1";
pub fn workspace() -> PathBuf {
let root = std::env::var_os("DEVER_NATIVE_ACCEPTANCE_WORKSPACE")
.map(PathBuf::from)
.unwrap_or_else(|| Path::new(env!("CARGO_MANIFEST_DIR")).join("../.."));
assert!(root.is_absolute());
root
}
pub fn core_libraries() -> Vec<(&'static str, PathBuf)> {
let mut inputs = vec![("libLLVM.so.18.1", PathBuf::from(LLVM_LIBRARY))];
for name in [
"libstdc++.so.6",
"libgcc_s.so.1",
"libz.so.1",
"libffi.so.8",
"libedit.so.2",
"libzstd.so.1",
"libtinfo.so.6",
"libxml2.so.2",
"libbsd.so.0",
"libmd.so.0",
"libicuuc.so.74",
"libicudata.so.74",
"liblzma.so.5",
] {
inputs.push((name, Path::new("/usr/lib/x86_64-linux-gnu").join(name)));
}
inputs
.into_iter()
.map(|(name, path)| {
(
name,
path.canonicalize()
.expect("prepare the explicit GNU compiler-library inputs"),
)
fn prepared_root() -> PathBuf {
workspace().join("target/native-release-inputs")
}
pub fn core_libraries() -> Vec<(String, PathBuf)> {
let mut inputs = std::fs::read_dir(prepared_root().join("core-libraries"))
.expect("prepare the explicit GNU compiler-library closure")
.map(|entry| {
let entry = entry.unwrap();
assert!(entry.file_type().unwrap().is_file());
(entry.file_name().into_string().unwrap(), entry.path())
})
.collect()
.collect::<Vec<_>>();
assert!(!inputs.is_empty(), "compiler-library closure is empty");
inputs.sort_by(|left, right| left.0.cmp(&right.0));
inputs
}
pub fn native_inputs() -> Vec<(&'static str, PathBuf)> {
let workspace = Path::new(env!("CARGO_MANIFEST_DIR")).join("../..");
vec![
(
"runtime.a",
workspace.join("target/native-runtime-abi/debug/libdever_backend_bridge.a"),
),
("crt1.o", "/usr/lib/x86_64-linux-gnu/crt1.o".into()),
("crti.o", "/usr/lib/x86_64-linux-gnu/crti.o".into()),
(
"crtbeginT.o",
"/usr/lib/gcc/x86_64-linux-gnu/13/crtbeginT.o".into(),
),
(
"crtend.o",
"/usr/lib/gcc/x86_64-linux-gnu/13/crtend.o".into(),
),
("crtn.o", "/usr/lib/x86_64-linux-gnu/crtn.o".into()),
("libc.a", "/usr/lib/x86_64-linux-gnu/libc.a".into()),
("libm.a", "/usr/lib/x86_64-linux-gnu/libm-2.39.a".into()),
("libmvec.a", "/usr/lib/x86_64-linux-gnu/libmvec.a".into()),
(
"libgcc.a",
"/usr/lib/gcc/x86_64-linux-gnu/13/libgcc.a".into(),
),
(
"libgcc_eh.a",
"/usr/lib/gcc/x86_64-linux-gnu/13/libgcc_eh.a".into(),
),
let native = prepared_root().join("native");
[
"runtime.a",
"crt1.o",
"crti.o",
"crtbeginT.o",
"crtend.o",
"crtn.o",
"libc.a",
"libm.a",
"libmvec.a",
"libgcc.a",
"libgcc_eh.a",
]
.into_iter()
.map(|name| (name, native.join(name)))
.collect()
}