commit:     1482e094c60cec18eb2769bc7f7a32a69c643019
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Jul 25 09:16:49 2021 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Jul 25 09:19:50 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1482e094

app-misc/goobook: Patch to use pyxdg rather than xdg

Closes: https://bugs.gentoo.org/804076
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 app-misc/goobook/files/goobook-3.5.1-pyxdg.patch   | 105 +++++++++++++++++++++
 ...ook-3.5.1-r1.ebuild => goobook-3.5.1-r2.ebuild} |  10 +-
 2 files changed, 112 insertions(+), 3 deletions(-)

diff --git a/app-misc/goobook/files/goobook-3.5.1-pyxdg.patch 
b/app-misc/goobook/files/goobook-3.5.1-pyxdg.patch
new file mode 100644
index 00000000000..e40bc051295
--- /dev/null
+++ b/app-misc/goobook/files/goobook-3.5.1-pyxdg.patch
@@ -0,0 +1,105 @@
+From 391c081199f9cba5026460fbffba43c03602fa13 Mon Sep 17 00:00:00 2001
+From: Jan Baier <jba...@suse.cz>
+Date: Mon, 22 Mar 2021 15:04:38 +0100
+Subject: [PATCH] Switch from xdg to pyxdg
+
+As both of them provides the xdg and cannot be installed at the same
+time, pyxdg should be used as it is older, has more features (xdg is a
+subset of pyxdg) and is more used. This change should resolve conflicts
+like https://github.com/srstevenson/xdg/issues/35
+
+Fixes #96
+---
+ CHANGES.rst       |  6 ++++++
+ Pipfile           |  2 +-
+ goobook/config.py | 16 ++++++++--------
+ setup.py          |  4 ++--
+ 4 files changed, 17 insertions(+), 11 deletions(-)
+
+diff --git a/goobook/config.py b/goobook/config.py
+index c948469..05589b1 100644
+--- a/goobook/config.py
++++ b/goobook/config.py
+@@ -10,7 +10,7 @@ import configparser
+ import logging
+ 
+ import oauth2client.client
+-import xdg
++from xdg import BaseDirectory
+ 
+ from goobook.storage import Storage
+ 
+@@ -61,8 +61,8 @@ def read_config(config_file=None):
+     if config_file:  # config file explicitly given on the commandline
+         config_file = os.path.expanduser(config_file)
+     else:  # search for goobookrc in XDG dirs and homedir
+-        config_files = [dir_ / "goobookrc" for dir_ in [xdg.XDG_CONFIG_HOME] +
+-                        xdg.XDG_CONFIG_DIRS] + [LEGACY_CONFIG_FILE]
++        config_files = [dir_ / "goobookrc" for dir_ in 
[pathlib.Path(BaseDirectory.xdg_config_home)] +
++                        [pathlib.Path(p) for p in 
BaseDirectory.xdg_config_dirs]] + [LEGACY_CONFIG_FILE]
+         log.debug("config file search path: %s", config_files)
+         for config_file_ in config_files:
+             if config_file_.exists():
+@@ -93,7 +93,7 @@ def read_config(config_file=None):
+     if config.cache_filename:  # If explicitly specified in config file
+         config.cache_filename = realpath(expanduser(config.cache_filename))
+     else:  # search for goobook_cache in XDG dirs and homedir
+-        cache_files = [xdg.XDG_CACHE_HOME / "goobook_cache", 
LEGACY_CACHE_FILE]
++        cache_files = [pathlib.Path(BaseDirectory.xdg_cache_home) / 
"goobook_cache", LEGACY_CACHE_FILE]
+         log.debug("cache file search path: %s", cache_files)
+         for cache_file in cache_files:
+             cache_file = cache_file.resolve()
+@@ -101,7 +101,7 @@ def read_config(config_file=None):
+                 log.debug("found cache file: %s", cache_file)
+                 break
+         else:  # If there is none, create in XDG_CACHE_HOME
+-            cache_file = xdg.XDG_CACHE_HOME / "goobook_cache"
++            cache_file = pathlib.Path(BaseDirectory.xdg_cache_home) / 
"goobook_cache"
+             log.debug("no cache file found, will use %s", cache_file)
+         config.cache_filename = str(cache_file)
+ 
+@@ -110,8 +110,8 @@ def read_config(config_file=None):
+         config.oauth_db_filename = 
realpath(expanduser(config.oauth_db_filename))
+         auth_file = pathlib.Path(config.oauth_db_filename)
+     else:  # search for goobook_auth.json in XDG dirs and homedir
+-        auth_files = [dir_ / "goobook_auth.json" for dir_ in 
[xdg.XDG_DATA_HOME] +
+-                      xdg.XDG_DATA_DIRS] + [LEGACY_AUTH_FILE]
++        auth_files = [dir_ / "goobook_auth.json" for dir_ in 
[pathlib.Path(BaseDirectory.xdg_data_home)] +
++                      [pathlib.Path(p) for p in BaseDirectory.xdg_data_dirs]] 
+ [LEGACY_AUTH_FILE]
+         log.debug("auth file search path: %s", auth_files)
+         for auth_file in auth_files:
+             auth_file = auth_file.resolve()
+@@ -119,7 +119,7 @@ def read_config(config_file=None):
+                 log.debug("found auth file: %s", auth_file)
+                 break
+         else:  # If there is none, create in XDG_DATA_HOME
+-            auth_file = xdg.XDG_DATA_HOME / "goobook_auth.json"
++            auth_file = pathlib.Path(BaseDirectory.xdg_data_home) / 
"goobook_auth.json"
+             log.debug("no auth file found, will use %s", auth_file)
+         config.oauth_db_filename = str(auth_file)
+ 
+diff --git a/setup.py b/setup.py
+index e2bed5c..4a6c764 100755
+--- a/setup.py
++++ b/setup.py
+@@ -12,7 +12,7 @@ NEWS = open(os.path.join(HERE, 'CHANGES.rst')).read()
+ 
+ setuptools.setup(
+     name='goobook',
+-    version='3.5.1',
++    version='3.6',
+     description='Search your google contacts from the command-line or mutt.',
+     long_description=README + '\n\n' + NEWS,
+     long_description_content_type="text/x-rst",
+@@ -39,7 +39,7 @@ setuptools.setup(
+         'google-api-python-client>=1.7.12',
+         'simplejson>=3.16.0',
+         'oauth2client>=1.5.0,<5.0.0dev',
+-        'xdg>=4.0.1'
++        'pyxdg>=0.26'
+     ],
+     extras_require={
+     },
+-- 
+GitLab
+

diff --git a/app-misc/goobook/goobook-3.5.1-r1.ebuild 
b/app-misc/goobook/goobook-3.5.1-r2.ebuild
similarity index 86%
rename from app-misc/goobook/goobook-3.5.1-r1.ebuild
rename to app-misc/goobook/goobook-3.5.1-r2.ebuild
index 6ea38b8a97e..93031a16eb1 100644
--- a/app-misc/goobook/goobook-3.5.1-r1.ebuild
+++ b/app-misc/goobook/goobook-3.5.1-r2.ebuild
@@ -3,8 +3,7 @@
 
 EAPI=7
 
-PYTHON_COMPAT=( python3_{7..9} )
-DISTUTILS_USE_SETUPTOOLS=rdepend
+PYTHON_COMPAT=( python3_{8..9} )
 inherit distutils-r1 readme.gentoo-r1
 
 DESCRIPTION="Access your Google contacts from the command line"
@@ -20,7 +19,12 @@ RDEPEND="
        >=dev-python/simplejson-3.16.0[${PYTHON_USEDEP}]
        >=dev-python/oauth2client-1.5.0[${PYTHON_USEDEP}]
        <dev-python/oauth2client-5[${PYTHON_USEDEP}]
-       dev-python/xdg[${PYTHON_USEDEP}]"
+       dev-python/pyxdg[${PYTHON_USEDEP}]"
+
+PATCHES=(
+       # https://gitlab.com/goobook/goobook/-/merge_requests/13
+       "${FILESDIR}"/${P}-pyxdg.patch
+)
 
 DISABLE_AUTOFORMATTING=1
 DOC_CONTENTS="

Reply via email to