commit: fbe708e69c95737249e436a9458e304cbd07db06 Author: Michał Górny <mgorny <AT> gentoo <DOT> org> AuthorDate: Wed Jul 9 08:20:51 2025 +0000 Commit: Michał Górny <mgorny <AT> gentoo <DOT> org> CommitDate: Wed Jul 9 09:13:00 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fbe708e6
app-backup/borgbackup: Allow msgpack-1.1.1 Closes: https://bugs.gentoo.org/959360 Signed-off-by: Michał Górny <mgorny <AT> gentoo.org> app-backup/borgbackup/borgbackup-1.4.1-r1.ebuild | 75 ++++++++++++++++++++++ .../files/borgbackup-1.4.1-msgpack-1.1.1.patch | 38 +++++++++++ 2 files changed, 113 insertions(+) diff --git a/app-backup/borgbackup/borgbackup-1.4.1-r1.ebuild b/app-backup/borgbackup/borgbackup-1.4.1-r1.ebuild new file mode 100644 index 000000000000..fea0c048d47a --- /dev/null +++ b/app-backup/borgbackup/borgbackup-1.4.1-r1.ebuild @@ -0,0 +1,75 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{11..13} ) + +inherit bash-completion-r1 distutils-r1 pypi + +DESCRIPTION="Deduplicating backup program with compression and authenticated encryption" +HOMEPAGE="https://borgbackup.readthedocs.io/" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86" + +DEPEND=" + app-arch/lz4 + app-arch/zstd + dev-libs/openssl:0= + >=dev-libs/xxhash-0.8.1 + virtual/acl +" +# borgbackup is *very* picky about which msgpack it work with, +# check pyproject.toml on bumps. +RDEPEND=" + ${DEPEND} + <dev-python/msgpack-1.1.2[${PYTHON_USEDEP}] + dev-python/packaging[${PYTHON_USEDEP}] + dev-python/pyfuse3[${PYTHON_USEDEP}] +" + +BDEPEND=" + dev-python/cython[${PYTHON_USEDEP}] + dev-python/pkgconfig[${PYTHON_USEDEP}] + dev-python/setuptools-scm[${PYTHON_USEDEP}] + test? ( + dev-python/python-dateutil[${PYTHON_USEDEP}] + ) +" + +# some tests randomly fail with xdist, bug #936524 +EPYTEST_PLUGINS=() +distutils_enable_tests pytest + +PATCHES=( + # https://github.com/borgbackup/borg/pull/8904 + "${FILESDIR}/${P}-msgpack-1.1.1.patch" +) + +python_test() { + local EPYTEST_DESELECT=( + # Needs pytest-benchmark fixture + benchmark.py::test_ + ) + + # This disables fuse releated tests + local -x BORG_FUSE_IMPL="none" + epytest --pyargs borg.testsuite +} + +src_install() { + distutils-r1_src_install + doman docs/man/* + + dobashcomp scripts/shell_completions/bash/borg + + insinto /usr/share/zsh/site-functions + doins scripts/shell_completions/zsh/_borg + + insinto /usr/share/fish/vendor_completions.d + doins scripts/shell_completions/fish/borg.fish +} diff --git a/app-backup/borgbackup/files/borgbackup-1.4.1-msgpack-1.1.1.patch b/app-backup/borgbackup/files/borgbackup-1.4.1-msgpack-1.1.1.patch new file mode 100644 index 000000000000..e9a984abfbdf --- /dev/null +++ b/app-backup/borgbackup/files/borgbackup-1.4.1-msgpack-1.1.1.patch @@ -0,0 +1,38 @@ +From d1108e9d2d92d57ec0bf0e5f84027e4d56ddb2c5 Mon Sep 17 00:00:00 2001 +From: TW <[email protected]> +Date: Fri, 6 Jun 2025 20:56:49 +0200 +Subject: [PATCH] Merge pull request #8904 from + ThomasWaldmann/allow-msgpack-111 + +Allow msgpack 1.1.1(rc1) +--- + pyproject.toml | 2 +- + src/borg/helpers/msgpack.py | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/pyproject.toml b/pyproject.toml +index c5457ed4..65b3eb1d 100644 +--- a/pyproject.toml ++++ b/pyproject.toml +@@ -35,7 +35,7 @@ dependencies = [ + # Please note: + # using any other msgpack version is not supported by borg development and + # any feedback related to issues caused by this will be ignored. +- "msgpack >=1.0.3, <=1.1.0", ++ "msgpack >=1.0.3, <=1.1.1", + "packaging", + ] + +diff --git a/src/borg/helpers/msgpack.py b/src/borg/helpers/msgpack.py +index 5c8cedde..5c0d1a02 100644 +--- a/src/borg/helpers/msgpack.py ++++ b/src/borg/helpers/msgpack.py +@@ -137,7 +137,7 @@ def is_slow_msgpack(): + def is_supported_msgpack(): + # DO NOT CHANGE OR REMOVE! See also requirements and comments in pyproject.toml. + import msgpack +- return (1, 0, 3) <= msgpack.version <= (1, 1, 0) and \ ++ return (1, 0, 3) <= msgpack.version <= (1, 1, 1) and \ + msgpack.version not in [] # < add bad releases here to deny list + +
