aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWolfgang E. Sanyer <ezzieyguywuf@gmail.com>2023-06-04 23:05:32 -0400
committerWolfgang E. Sanyer <ezzieyguywuf@gmail.com>2023-06-04 23:13:17 -0400
commit7bec09d5b280508b14e01f2a7dbb86f13133cec2 (patch)
tree35fe92dfdc2af4af486ebf7927b46aa836ff108c /app-backup
parentapp-backup/b2: Bump PYTHON_COMPAT to 3.11 (diff)
downloadguru-7bec09d5b280508b14e01f2a7dbb86f13133cec2.tar.gz
guru-7bec09d5b280508b14e01f2a7dbb86f13133cec2.tar.bz2
guru-7bec09d5b280508b14e01f2a7dbb86f13133cec2.zip
app-backup/b2: Bump to 3.9.0
Signed-off-by: Wolfgang E. Sanyer <ezzieyguywuf@gmail.com>
Diffstat (limited to 'app-backup')
-rw-r--r--app-backup/b2/Manifest1
-rw-r--r--app-backup/b2/b2-3.9.0.ebuild98
-rw-r--r--app-backup/b2/files/b2-3.9.0-disable-pip-requirement-installs.patch23
-rw-r--r--app-backup/b2/metadata.xml1
4 files changed, 123 insertions, 0 deletions
diff --git a/app-backup/b2/Manifest b/app-backup/b2/Manifest
index 939d66585..1bd1b86f8 100644
--- a/app-backup/b2/Manifest
+++ b/app-backup/b2/Manifest
@@ -1 +1,2 @@
DIST b2-3.4.0.tar.gz 86706 BLAKE2B 2aa1f4934db0bcf8c1334a5def94fd74824a9ca19d293b201b29f8c4511e8d423fd77d71734c386aeb41e60747ea71d36d8c049676cf6fcd3e101354440da8cc SHA512 5b0f411301f9b022c066ab3a1170d2ef3b21a76fe9c4e668d1da0cbd07334d11614f93d283e5c0482cb4f6985466d28b0fe59b4c058a87643218dd7a96857418
+DIST b2-3.9.0.tar.gz 131326 BLAKE2B c357831b7c0b4ae6abc4fafb6e09690f8ffe833d2c58c05610ffdbf94ba276f5fa143dd1528f7e7424b6fa96857c8328be993e6ffc60b61c44037bd9ef0b0e96 SHA512 db2fab07e973d6d39db3931dd7f645ee3c9737f4de0ab29327490607d52aad4df2e9049782ef347ee44f80b76dbe91f495ce273285001d49195abe91d5b2cb5d
diff --git a/app-backup/b2/b2-3.9.0.ebuild b/app-backup/b2/b2-3.9.0.ebuild
new file mode 100644
index 000000000..e7159e74c
--- /dev/null
+++ b/app-backup/b2/b2-3.9.0.ebuild
@@ -0,0 +1,98 @@
+# Copyright 2020-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_10 python3_11 )
+DISTUTILS_USE_PEP517=setuptools
+DISTUTILS_SINGLE_IMPL=1
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Command-line tool for BackBlaze's B2 product"
+HOMEPAGE="https://github.com/Backblaze/B2_Command_Line_Tool"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-2.5.0-nameclash.patch"
+ "${FILESDIR}/${PN}-3.9.0-disable-pip-requirement-installs.patch"
+)
+
+RDEPEND="
+ $(python_gen_cond_dep '
+ >=dev-python/argcomplete-2.1.2[${PYTHON_USEDEP}]
+ >=dev-python/arrow-1.0.2[${PYTHON_USEDEP}]
+ >=dev-python/b2sdk-1.21.0[${PYTHON_USEDEP}]
+ >=dev-python/docutils-0.19[${PYTHON_USEDEP}]
+ >=dev-python/phx-class-registry-4.0.6[${PYTHON_USEDEP}]
+ >=dev-python/tabulate-0.9.0[${PYTHON_USEDEP}]
+ >=dev-python/rst2ansi-0.1.5[${PYTHON_USEDEP}]
+ >=dev-python/tqdm-4.65.0[${PYTHON_USEDEP}]
+ ')
+ $(python_gen_cond_dep '
+ >=dev-python/importlib_metadata-3.3.0[${PYTHON_USEDEP}]
+ ' pypy3 python3_8)
+"
+
+DEPEND="
+ test? (
+ $(python_gen_cond_dep '
+ >=dev-python/backoff-2.2.1[${PYTHON_USEDEP}]
+ >=dev-python/pexpect-4.8.0[${PYTHON_USEDEP}]
+ ')
+ )
+"
+
+distutils_enable_tests pytest
+
+# - integration tests require an application key and id (which is reasonable)
+# - sync tests require network access
+python_test() {
+ epytest \
+ --deselect test/integration/test_autocomplete.py::test_autocomplete_b2_bucket_n_file_name \
+ --deselect test/integration/test_autocomplete.py::test_autocomplete_b2_commands \
+ --deselect test/integration/test_autocomplete.py::test_autocomplete_b2_only_matching_commands \
+ --deselect test/integration/test_b2_command_line.py::test_integration \
+ --deselect test/integration/test_b2_command_line.py::test_download \
+ --deselect test/integration/test_b2_command_line.py::test_basic \
+ --deselect test/integration/test_b2_command_line.py::test_bucket \
+ --deselect test/integration/test_b2_command_line.py::test_key_restrictions \
+ --deselect test/integration/test_b2_command_line.py::test_account \
+ --deselect test/integration/test_b2_command_line.py::test_sync_up \
+ --deselect test/integration/test_b2_command_line.py::test_sync_up_sse_b2 \
+ --deselect test/integration/test_b2_command_line.py::test_sync_up_sse_c \
+ --deselect test/integration/test_b2_command_line.py::test_sync_up_no_prefix \
+ --deselect test/integration/test_b2_command_line.py::test_sync_down \
+ --deselect test/integration/test_b2_command_line.py::test_sync_down_no_prefix \
+ --deselect test/integration/test_b2_command_line.py::test_sync_down_sse_c_no_prefix \
+ --deselect test/integration/test_b2_command_line.py::test_sync_copy \
+ --deselect test/integration/test_b2_command_line.py::test_sync_copy_no_prefix_default_encryption \
+ --deselect test/integration/test_b2_command_line.py::test_sync_copy_no_prefix_no_encryption \
+ --deselect test/integration/test_b2_command_line.py::test_sync_copy_no_prefix_sse_b2 \
+ --deselect test/integration/test_b2_command_line.py::test_sync_copy_no_prefix_sse_c \
+ --deselect test/integration/test_b2_command_line.py::test_sync_copy_sse_c_single_bucket \
+ --deselect test/integration/test_b2_command_line.py::test_sync_long_path \
+ --deselect test/integration/test_b2_command_line.py::test_default_sse_b2 \
+ --deselect test/integration/test_b2_command_line.py::test_sse_b2 \
+ --deselect test/integration/test_b2_command_line.py::test_sse_c \
+ --deselect test/integration/test_b2_command_line.py::test_license[True] \
+ --deselect test/integration/test_b2_command_line.py::test_license[False] \
+ --deselect test/integration/test_b2_command_line.py::test_file_lock \
+ --deselect test/integration/test_b2_command_line.py::test_profile_switch \
+ --deselect test/integration/test_b2_command_line.py::test_replication_basic \
+ --deselect test/integration/test_b2_command_line.py::test_replication_setup \
+ --deselect test/integration/test_b2_command_line.py::test_replication_monitoring \
+ --deselect test/integration/test_b2_command_line.py::test_enable_file_lock_first_retention_second \
+ --deselect test/integration/test_b2_command_line.py::test_enable_file_lock_and_set_retention_at_once \
+ --deselect test/integration/test_b2_command_line.py::test_cut \
+ --deselect test/unit/test_console_tool.py::TestConsoleTool::test_sync_exclude_if_modified_after_exact \
+ --deselect test/unit/test_console_tool.py::TestConsoleTool::test_sync_exclude_if_modified_after_in_range
+}
+
+pkg_postinst() {
+ elog "The b2 executable has been renamed to backblaze2 in order to"
+ elog "avoid a name clash with b2 from boost-build"
+}
diff --git a/app-backup/b2/files/b2-3.9.0-disable-pip-requirement-installs.patch b/app-backup/b2/files/b2-3.9.0-disable-pip-requirement-installs.patch
new file mode 100644
index 000000000..e9ec96911
--- /dev/null
+++ b/app-backup/b2/files/b2-3.9.0-disable-pip-requirement-installs.patch
@@ -0,0 +1,23 @@
+# These configurations attempt to install missing dependencies using pip, which
+# violates the network sandbox. Instead, we'll manage the dependencies in
+# portage.
+--- a/setup.py
++++ b/setup.py
+@@ -104,7 +104,7 @@
+ # requirements files see:
+ # https://packaging.python.org/en/latest/requirements.html
+ dependency_links=[],
+- install_requires=read_requirements(),
++ # install_requires=read_requirements(),
+
+ # List additional groups of dependencies here (e.g. development
+ # dependencies). You can install these using the following syntax,
+@@ -114,7 +114,7 @@
+ 'doc': read_requirements('doc'),
+ 'license': read_requirements('license'),
+ },
+- setup_requires=['setuptools_scm<6.0'],
++ # setup_requires=['setuptools_scm<6.0'],
+ use_scm_version=True,
+
+ # If there are data files included in your packages that need to be
diff --git a/app-backup/b2/metadata.xml b/app-backup/b2/metadata.xml
index cb84a3148..fbab36376 100644
--- a/app-backup/b2/metadata.xml
+++ b/app-backup/b2/metadata.xml
@@ -13,5 +13,6 @@
</longdescription>
<upstream>
<remote-id type="github">Backblaze/B2_Command_Line_Tool</remote-id>
+ <remote-id type="pypi">b2</remote-id>
</upstream>
</pkgmetadata>