diff options
Diffstat (limited to 'dev-python/pyperclip')
| -rw-r--r-- | dev-python/pyperclip/Manifest | 1 | ||||
| -rw-r--r-- | dev-python/pyperclip/files/pyperclip-1.9.0-fix-test.patch | 41 | ||||
| -rw-r--r-- | dev-python/pyperclip/metadata.xml | 13 | ||||
| -rw-r--r-- | dev-python/pyperclip/pyperclip-1.11.0.ebuild | 61 |
4 files changed, 116 insertions, 0 deletions
diff --git a/dev-python/pyperclip/Manifest b/dev-python/pyperclip/Manifest new file mode 100644 index 000000000000..3fb9b23d5900 --- /dev/null +++ b/dev-python/pyperclip/Manifest @@ -0,0 +1 @@ +DIST pyperclip-1.11.0.tar.gz 12185 BLAKE2B 31ff9747fb084046a8afb62a8799dfccdad8372cb771109cbf6d075df63e23e0a26c48afe56f850b2bbf671336ee942c26dd3f8e661523533d4cef282ead2e15 SHA512 3756e75db1dc321dafe3677956d6d84b7c730bfd282f0293931e7dc5a468f3abaf8397a5f02bee4473953026d0ac373b835fe1972b7f5fe69e661195007901ab diff --git a/dev-python/pyperclip/files/pyperclip-1.9.0-fix-test.patch b/dev-python/pyperclip/files/pyperclip-1.9.0-fix-test.patch new file mode 100644 index 000000000000..a7b2b653485b --- /dev/null +++ b/dev-python/pyperclip/files/pyperclip-1.9.0-fix-test.patch @@ -0,0 +1,41 @@ +Fix the tests for the 1.9.0 release. +See https://github.com/asweigart/pyperclip/issues/263 +From: kulikjak <kulikjak@gmail.com> + +--- a/tests/test_pyperclip.py ++++ b/tests/test_pyperclip.py +@@ -8,7 +8,7 @@ + #import sys + #sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..')) + +-from pyperclip import _executable_exists, HAS_DISPLAY ++from pyperclip import _executable_exists + from pyperclip import (init_osx_pbcopy_clipboard, init_osx_pyobjc_clipboard, + init_dev_clipboard_clipboard, + init_qt_clipboard, +@@ -99,12 +99,11 @@ def test_non_str(self): + self.copy(False) + self.assertEqual(self.paste(), 'False') + +- # All other non-str values raise an exception. +- with self.assertRaises(PyperclipException): +- self.copy(None) ++ self.copy(None) ++ self.assertEqual(self.paste(), 'None') + +- with self.assertRaises(PyperclipException): +- self.copy([2, 4, 6, 8]) ++ self.copy([2, 4, 6, 8]) ++ self.assertEqual(self.paste(), '[2, 4, 6, 8]') + + + class TestCygwin(_TestClipboard): +@@ -135,7 +134,7 @@ class TestOSX(_TestClipboard): + + + class TestQt(_TestClipboard): +- if HAS_DISPLAY: ++ if os.getenv("DISPLAY"): + try: + import PyQt5.QtWidgets + except ImportError: diff --git a/dev-python/pyperclip/metadata.xml b/dev-python/pyperclip/metadata.xml new file mode 100644 index 000000000000..a6e2b09e305a --- /dev/null +++ b/dev-python/pyperclip/metadata.xml @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>python@gentoo.org</email> + </maintainer> + <maintainer type="person"> + <email>prometheanfire@gentoo.org</email> + <name>Matthew Thode</name> + </maintainer> + <stabilize-allarches /> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/dev-python/pyperclip/pyperclip-1.11.0.ebuild b/dev-python/pyperclip/pyperclip-1.11.0.ebuild new file mode 100644 index 000000000000..65734613e821 --- /dev/null +++ b/dev-python/pyperclip/pyperclip-1.11.0.ebuild @@ -0,0 +1,61 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{13..14} ) + +inherit distutils-r1 virtualx pypi + +DESCRIPTION="A cross-platform clipboard module for Python" +HOMEPAGE=" + https://github.com/asweigart/pyperclip/ + https://pypi.org/project/pyperclip/ +" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~mips ~ppc64 ~riscv ~s390 ~sparc x86" + +RDEPEND=" + || ( + x11-misc/xsel + x11-misc/xclip + kde-plasma/plasma-workspace + dev-python/pyqt5[${PYTHON_USEDEP}] + dev-python/qtpy[${PYTHON_USEDEP}] + ) +" +# test at least one backend +BDEPEND=" + test? ( + ${RDEPEND} + ) +" + +src_prepare() { + local PATCHES=( + "${FILESDIR}/${PN}-1.9.0-fix-test.patch" + ) + + # stupid windows + find -type f -exec sed -i -e 's:\r$::' {} + || die + + distutils-r1_src_prepare + + # klipper is hard to get working, and once we make it work, + # it breaks most of the other backends + # wl-copy requires wayland, not Xvfb + sed -e 's:_executable_exists("\(klipper\|wl-copy\)"):False:' \ + -i tests/test_pyperclip.py || die +} + +python_test() { + "${EPYTHON}" tests/test_pyperclip.py -vv || + die "Tests fail on ${EPYTHON}" +} + +src_test() { + virtx distutils-r1_src_test +} |
