From 633e17f41b40b9fcc41e4e6116faab000da51185 Mon Sep 17 00:00:00 2001 From: Xavier Fernandez Date: Wed, 26 Feb 2020 16:16:20 +0100 Subject: [PATCH] Move darwin special config dir to pip wrapper --- src/pip/_internal/utils/appdirs.py | 7 ++++++- src/pip/_vendor/appdirs.py | 4 ---- .../vendoring/patches/appdirs.patch | 21 +++++-------------- 3 files changed, 11 insertions(+), 21 deletions(-) diff --git a/src/pip/_internal/utils/appdirs.py b/src/pip/_internal/utils/appdirs.py index f80e4af45b5..3989ed31c3a 100644 --- a/src/pip/_internal/utils/appdirs.py +++ b/src/pip/_internal/utils/appdirs.py @@ -25,7 +25,12 @@ def user_cache_dir(appname): def user_config_dir(appname, roaming=True): # type: (str, bool) -> str - return _appdirs.user_config_dir(appname, appauthor=False, roaming=roaming) + path = _appdirs.user_config_dir(appname, appauthor=False, roaming=roaming) + if _appdirs.system == "darwin" and not os.path.isdir(path): + path = os.path.expanduser('~/.config/') + if appname: + path = os.path.join(path, appname) + return path # for the discussion regarding site_config_dir locations diff --git a/src/pip/_vendor/appdirs.py b/src/pip/_vendor/appdirs.py index cf37f9820c2..8bd9c9ca0b8 100644 --- a/src/pip/_vendor/appdirs.py +++ b/src/pip/_vendor/appdirs.py @@ -92,10 +92,6 @@ def user_data_dir(appname=None, appauthor=None, version=None, roaming=False): path = os.path.expanduser('~/Library/Application Support/') if appname: path = os.path.join(path, appname) - if not os.path.isdir(path): - path = os.path.expanduser('~/.config/') - if appname: - path = os.path.join(path, appname) else: path = os.getenv('XDG_DATA_HOME', os.path.expanduser("~/.local/share")) if appname: diff --git a/tools/automation/vendoring/patches/appdirs.patch b/tools/automation/vendoring/patches/appdirs.patch index fd3c200ac8a..69afd3e8681 100644 --- a/tools/automation/vendoring/patches/appdirs.patch +++ b/tools/automation/vendoring/patches/appdirs.patch @@ -22,18 +22,7 @@ index ae67001a..3a52b758 100644 Unix: ~/.local/share/ # or in $XDG_DATA_HOME, if defined Win XP (not roaming): C:\Documents and Settings\\Application Data\\ Win XP (roaming): C:\Documents and Settings\\Local Settings\Application Data\\ -@@ -88,6 +92,10 @@ def user_data_dir(appname=None, appauthor=None, version=None, roaming=False): - path = os.path.expanduser('~/Library/Application Support/') - if appname: - path = os.path.join(path, appname) -+ if not os.path.isdir(path): -+ path = os.path.expanduser('~/.config/') -+ if appname: -+ path = os.path.join(path, appname) - else: - path = os.getenv('XDG_DATA_HOME', os.path.expanduser("~/.local/share")) - if appname: -@@ -150,7 +158,7 @@ def site_data_dir(appname=None, appauthor=None, version=None, multipath=False): +@@ -150,7 +154,7 @@ def site_data_dir(appname=None, appauthor=None, version=None, multipath=False): if appname: if version: appname = os.path.join(appname, version) @@ -42,7 +31,7 @@ index ae67001a..3a52b758 100644 if multipath: path = os.pathsep.join(pathlist) -@@ -203,6 +211,8 @@ def user_config_dir(appname=None, appauthor=None, version=None, roaming=False): +@@ -203,6 +203,8 @@ def user_config_dir(appname=None, appauthor=None, version=None, roaming=False): return path @@ -51,7 +40,7 @@ index ae67001a..3a52b758 100644 def site_config_dir(appname=None, appauthor=None, version=None, multipath=False): r"""Return full path to the user-shared data dir for this application. -@@ -238,14 +248,15 @@ def site_config_dir(appname=None, appauthor=None, version=None, multipath=False) +@@ -238,14 +244,15 @@ def site_config_dir(appname=None, appauthor=None, version=None, multipath=False) if appname and version: path = os.path.join(path, version) else: @@ -71,7 +60,7 @@ index ae67001a..3a52b758 100644 if multipath: path = os.pathsep.join(pathlist) -@@ -291,6 +304,10 @@ def user_cache_dir(appname=None, appauthor=None, version=None, opinion=True): +@@ -291,6 +300,10 @@ def user_cache_dir(appname=None, appauthor=None, version=None, opinion=True): if appauthor is None: appauthor = appname path = os.path.normpath(_get_win_folder("CSIDL_LOCAL_APPDATA")) @@ -82,7 +71,7 @@ index ae67001a..3a52b758 100644 if appname: if appauthor is not False: path = os.path.join(path, appauthor, appname) -@@ -557,18 +574,32 @@ def _get_win_folder_with_jna(csidl_name): +@@ -557,18 +570,32 @@ def _get_win_folder_with_jna(csidl_name): if system == "win32": try: