diff --git a/Linux/BigfootBuilder/conanfile.py b/Linux/BigfootBuilder/conanfile.py index 2a43939..abc2969 100644 --- a/Linux/BigfootBuilder/conanfile.py +++ b/Linux/BigfootBuilder/conanfile.py @@ -1,4 +1,5 @@ from conan import ConanFile +from conan.errors import ConanException class RequirementsConan(ConanFile): name = "Requirements" @@ -24,39 +25,57 @@ class RequirementsConan(ConanFile): self.options["benchmark"].enable_exceptions = False self.options["benchmark"].enable_lto = True + def _require_with_fallback(self, pkg_name): + ref = f"{pkg_name}@bigfootdev/{self.options.packages_channel}" + fallback_ref = f"{pkg_name}@bigfootdev/main" + + try: + self.output.info(f"Trying {ref}") + self.requires(ref) + except ConanException: + self.output.warn(f"{ref} not found, falling back to {fallback_ref}") + self.requires(fallback_ref) + def requirements(self): - self.requires(f"eastl/3.27.01@bigfootdev/{self.options.packages_channel}") - self.requires(f"unordered_dense/4.8.1@bigfootdev/{self.options.packages_channel}") - self.requires(f"mimalloc/3.1.5@bigfootdev/{self.options.packages_channel}") - self.requires(f"stduuid/1.2.3@bigfootdev/{self.options.packages_channel}") - self.requires(f"sqlite3/3.51.0@bigfootdev/{self.options.packages_channel}") + + bigfoot_packages = [ + "eastl/3.27.01", + "unordered_dense/4.8.1", + "mimalloc/3.1.5", + "stduuid/1.2.3", + "sqlite3/3.51.0", + "rapidhash/3.0", + "flatbuffers/25.12.19", + "lodepng/cci.20250727", + "vulkan-validationlayers/1.4.313.0", + "vulkan-memory-allocator/3.3.0", + "pixelmatch-cpp17/1.0.3", + "shaderc/2025.3", + "meshoptimizer/1.0", + ] + + for pkg in bigfoot_packages: + self._require_with_fallback(pkg) + self.requires("cli11/2.6.0") - self.requires(f"rapidhash/3.0@bigfootdev/{self.options.packages_channel}") self.requires("effolkronium-random/1.5.0") - self.requires(f"flatbuffers/25.12.19@bigfootdev/{self.options.packages_channel}") self.requires("quill/11.0.2") self.requires("tracy/0.12.2") self.requires("cpptrace/1.0.4") self.requires("glm/1.0.1") - self.requires(f"lodepng/cci.20250727@bigfootdev/{self.options.packages_channel}") self.requires("imgui/1.92.5-docking") self.requires("glfw/3.4") self.requires("vulkan-headers/1.4.313.0") - self.requires(f"vulkan-validationlayers/1.4.313.0@bigfootdev/{self.options.packages_channel}") self.requires("spirv-cross/1.4.313.0") - self.requires(f"vulkan-memory-allocator/3.3.0@bigfootdev/{self.options.packages_channel}") self.requires("gtest/1.17.0") - self.requires(f"pixelmatch-cpp17/1.0.3@bigfootdev/{self.options.packages_channel}") self.requires("stb/cci.20240531", override=True) - self.requires(f"shaderc/2025.3@bigfootdev/{self.options.packages_channel}") self.requires("assimp/6.0.2") - self.requires(f"meshoptimizer/1.0@bigfootdev/{self.options.packages_channel}") self.requires("libsquish/1.15") self.requires("benchmark/1.9.4")