[M5+] swap toolchain to gcc15Stdenv + libstdc++

This commit is contained in:
2026-05-13 23:09:28 +00:00
parent b8171e3d03
commit 5db915e576
6 changed files with 14 additions and 187 deletions

View File

@@ -14,12 +14,6 @@ struct Recipe {
std::string find_package; // post-substitution
std::vector<std::string> targets; // post-substitution
std::string source; // 'curated' | 'manual' | etc.
// Set when the dep needs `.override { stdenv = llvmPkgs.libcxxStdenv; }`
// to link against the user's libc++-built project (e.g. nixpkgs ships
// it built against libstdc++ — abseil-cpp, llvm). verify_link toggles
// this on after a libstdc++/libc++ link failure. Codegen wraps the
// buildInputs entry in the override expression when true.
bool requires_libcxx_override = false;
bool operator==(const Recipe&) const = default;
};
@@ -43,7 +37,6 @@ struct OverlayRow {
std::vector<std::string> targets;
std::string source;
std::int64_t verified_at = 0;
bool requires_libcxx_override = false;
};
// RAII wrapper for an open sqlite3 connection used by the overlay database.
@@ -97,13 +90,6 @@ auto overlay_delete_recipe(OverlayState& state, const std::string& package,
const std::string& source)
-> cargoxx::util::Result<void>;
// Toggle the libcxx-override flag for an existing row. Used by
// `verify_link` after a libstdc++/libc++ link mismatch.
auto overlay_set_libcxx_override(OverlayState& state, const std::string& package,
const std::string& version_range,
const std::string& source, bool value)
-> cargoxx::util::Result<void>;
// Drops every overlay row for `package` whose source is not "manual".
// Used by `cargoxx add` to invalidate stale auto-discovered recipes
// when the resolver/scanner logic has changed under the user — they
@@ -146,11 +132,6 @@ class Database {
const std::string& version_range,
const std::string& source) -> util::Result<void>;
auto set_libcxx_override(const std::string& package,
const std::string& version_range,
const std::string& source, bool value)
-> util::Result<void>;
// Evict every non-manual overlay row for `package`. Called by
// `cargoxx add` so users never have to manually drop stale
// auto-discovered recipes when cargoxx's resolver/scanner logic