From 7bec09d5b280508b14e01f2a7dbb86f13133cec2 Mon Sep 17 00:00:00 2001 From: "Wolfgang E. Sanyer" Date: Sun, 4 Jun 2023 23:05:32 -0400 Subject: app-backup/b2: Bump to 3.9.0 Signed-off-by: Wolfgang E. Sanyer --- app-backup/b2/Manifest | 1 + app-backup/b2/b2-3.9.0.ebuild | 98 ++++++++++++++++++++++ ...b2-3.9.0-disable-pip-requirement-installs.patch | 23 +++++ app-backup/b2/metadata.xml | 1 + 4 files changed, 123 insertions(+) create mode 100644 app-backup/b2/b2-3.9.0.ebuild create mode 100644 app-backup/b2/files/b2-3.9.0-disable-pip-requirement-installs.patch (limited to 'app-backup') 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 @@ Backblaze/B2_Command_Line_Tool + b2 -- cgit v1.2.3-65-gdbad