def init_build_system(self, build_system: dict[str, Any]) -> None:
        """Initialize the build system and requires list from the PEP 517 spec"""
        self._hook = BuildBackendHookCaller(
            self.src_dir,
            build_system["build-backend"],
            backend_path=build_system.get("backend-path"),
            runner=self.subprocess_runner,
            python_executable=self.executable,
        )
        self._requires = build_system["requires"]
        self._prefix = (
            _Prefix(
                self.executable,
                # Build backends with the same requires list share the cached base env.
                shared=self.get_shared_env(hash(frozenset(self._requires))),
                # Overlay envs are unique for each source to be built.
                overlay=self.get_overlay_env(os.path.normcase(self.src_dir).rstrip("\\/")),
            )
            if self.isolated
            else None
        )
Initialize the build system and requires list from the PEP 517 spec
src/pdm/builders/base.py