From 11de599c5d0675a6da9468d7b80bd535642c9916 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Henrik=20B=C3=A4=C3=A4rnhielm?=
 <henrik.baarnhielm@intel.com>
Date: Fri, 17 Feb 2023 11:20:20 +0100
Subject: [PATCH 1/3] Make stubgen respect MYPY_CACHE_DIR

This is required when using stubgen in a parallel build system, such
as GNU make.
---
 mypy/stubgen.py | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/mypy/stubgen.py b/mypy/stubgen.py
index c13096189f7e..7182dccd6137 100755
--- a/mypy/stubgen.py
+++ b/mypy/stubgen.py
@@ -1588,6 +1588,13 @@ def mypy_options(stubgen_options: Options) -> MypyOptions:
     options.python_version = stubgen_options.pyversion
     options.show_traceback = True
     options.transform_source = remove_misplaced_type_comments
+
+    # Override cache_dir if provided in the environment
+    environ_cache_dir = os.getenv("MYPY_CACHE_DIR", "")
+    if environ_cache_dir.strip():
+        options.cache_dir = environ_cache_dir
+    options.cache_dir = os.path.expanduser(options.cache_dir)
+
     return options
 
 
@@ -1751,6 +1758,9 @@ def generate_stubs(options: Options) -> None:
 manual changes.  This directory is assumed to exist.
 """
 
+FOOTER: Final = """Environment variables:
+  Define MYPY_CACHE_DIR to override configuration cache_dir path."""
+
 
 def parse_options(args: list[str]) -> Options:
     parser = argparse.ArgumentParser(prog="stubgen", usage=HEADER, description=DESCRIPTION)

From 256bf1081411c51a9cb3fd539bac5836eea49295 Mon Sep 17 00:00:00 2001
From: hauntsaninja <hauntsaninja@gmail.com>
Date: Mon, 24 Apr 2023 10:14:12 -0600
Subject: [PATCH 2/3] remove unused variable, okay to not document this in
 --help

---
 mypy/stubgen.py | 4 ----
 1 file changed, 4 deletions(-)

diff --git a/mypy/stubgen.py b/mypy/stubgen.py
index 078e687631a5..5c88f620c33f 100755
--- a/mypy/stubgen.py
+++ b/mypy/stubgen.py
@@ -1759,10 +1759,6 @@ def generate_stubs(options: Options) -> None:
 manual changes.  This directory is assumed to exist.
 """
 
-FOOTER: Final = """Environment variables:
-  Define MYPY_CACHE_DIR to override configuration cache_dir path."""
-
-
 def parse_options(args: list[str]) -> Options:
     parser = argparse.ArgumentParser(prog="stubgen", usage=HEADER, description=DESCRIPTION)
 

From 43bd44d8ff2493f18f7395b4b6578009d6a61156 Mon Sep 17 00:00:00 2001
From: "pre-commit-ci[bot]"
 <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Date: Tue, 25 Apr 2023 05:16:32 +0000
Subject: [PATCH 3/3] [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci
---
 mypy/stubgen.py | 1 +
 1 file changed, 1 insertion(+)

diff --git a/mypy/stubgen.py b/mypy/stubgen.py
index 5c88f620c33f..3dc85bbbb8fa 100755
--- a/mypy/stubgen.py
+++ b/mypy/stubgen.py
@@ -1759,6 +1759,7 @@ def generate_stubs(options: Options) -> None:
 manual changes.  This directory is assumed to exist.
 """
 
+
 def parse_options(args: list[str]) -> Options:
     parser = argparse.ArgumentParser(prog="stubgen", usage=HEADER, description=DESCRIPTION)