diff --git a/local/recipes/kde/kf6-kwayland/recipe.toml b/local/recipes/kde/kf6-kwayland/recipe.toml index 895f865797..8b3662f79d 100644 --- a/local/recipes/kde/kf6-kwayland/recipe.toml +++ b/local/recipes/kde/kf6-kwayland/recipe.toml @@ -16,6 +16,8 @@ dependencies = [ "libwayland", "wayland-protocols", "plasma-wayland-protocols", + # for fakeinput.cpp (Linux input event codes). + "redbear-input-headers", ] script = """ DYNAMIC_INIT diff --git a/local/recipes/kde/plasma-wayland-protocols/recipe.toml b/local/recipes/kde/plasma-wayland-protocols/recipe.toml index f307df99fa..8d20455fae 100644 --- a/local/recipes/kde/plasma-wayland-protocols/recipe.toml +++ b/local/recipes/kde/plasma-wayland-protocols/recipe.toml @@ -38,7 +38,7 @@ cat > "${COOKBOOK_STAGE}/usr/lib/cmake/PlasmaWaylandProtocols/PlasmaWaylandProto set(PLASMA_WAYLAND_PROTOCOLS_DIR "${CMAKE_CURRENT_LIST_DIR}/../../../share/plasma-wayland-protocols") EOF cat > "${COOKBOOK_STAGE}/usr/lib/cmake/PlasmaWaylandProtocols/PlasmaWaylandProtocolsConfigVersion.cmake" << 'EOF' -set(PACKAGE_VERSION "1.16.0") +set(PACKAGE_VERSION "1.21.0") if(PACKAGE_FIND_VERSION VERSION_GREATER PACKAGE_VERSION) set(PACKAGE_VERSION_COMPATIBLE FALSE) else() diff --git a/src/cook/cook_build.rs b/src/cook/cook_build.rs index ff97af773c..ccc235e0ec 100644 --- a/src/cook/cook_build.rs +++ b/src/cook/cook_build.rs @@ -496,7 +496,12 @@ pub fn build( }; } - if !check_source { + // Dependencies normally skip the source check for speed. But --force-rebuild + // must always take effect here — otherwise this early-return fires before the + // force_rebuild handling below, so a stale binary-store artifact whose source + // changed could never be regenerated (the KWayland/plasma-wayland-protocols + // 1.16-vs-1.21 stale-cache bug). + if !check_source && !cook_config.force_rebuild { // TODO: when stage_dirs does not exist due to clean_target was true, extract from stage.pkgar? let stage_present = stage_pkgars.iter().all(|file| file.is_file()); if stage_present && auto_deps_file.is_file() {