diff --git a/.python-pyperclip.metadata b/.python-pyperclip.metadata new file mode 100644 index 0000000..c61c5b1 --- /dev/null +++ b/.python-pyperclip.metadata @@ -0,0 +1 @@ +ce2bc12b708e77aac5f4ff7f2ac6d52f146cdbfb SOURCES/pyperclip-1.8.2.tar.gz diff --git a/SOURCES/0001-Skip-tests-irrelevant-in-the-context-of-Fedora-packa.patch b/SOURCES/0001-Skip-tests-irrelevant-in-the-context-of-Fedora-packa.patch new file mode 100644 index 0000000..eab0877 --- /dev/null +++ b/SOURCES/0001-Skip-tests-irrelevant-in-the-context-of-Fedora-packa.patch @@ -0,0 +1,54 @@ +From f00d7ae8478a7ddd36d68ab4fde8934b1641f45b Mon Sep 17 00:00:00 2001 +From: Haikel Guemar +Date: Tue, 16 Jun 2020 10:31:02 -0600 +Subject: [PATCH] Skip tests irrelevant in the context of Fedora packaging + +--- + tests/__init__.py | 0 + tests/test_pyperclip.py | 5 +++++ + 2 files changed, 5 insertions(+) + create mode 100644 tests/__init__.py + +diff --git a/tests/__init__.py b/tests/__init__.py +new file mode 100644 +index 0000000..e69de29 +diff --git a/tests/test_pyperclip.py b/tests/test_pyperclip.py +index 7519d94..62a6f20 100644 +--- a/tests/test_pyperclip.py ++++ b/tests/test_pyperclip.py +@@ -133,6 +133,7 @@ class TestOSX(_TestClipboard): + clipboard = init_osx_pyobjc_clipboard() + + ++@unittest.skip("Not relevant in Fedora package build") + class TestGtk(_TestClipboard): + if HAS_DISPLAY: + try: +@@ -143,6 +144,7 @@ class TestGtk(_TestClipboard): + clipboard = init_gtk_clipboard() + + ++@unittest.skip("Not relevant in Fedora package build") + class TestQt(_TestClipboard): + if HAS_DISPLAY: + try: +@@ -158,16 +160,19 @@ class TestQt(_TestClipboard): + clipboard = init_qt_clipboard() + + ++@unittest.skip("Not relevant in Fedora package build") + class TestXClip(_TestClipboard): + if _executable_exists("xclip"): + clipboard = init_xclip_clipboard() + + ++@unittest.skip("Not relevant in Fedora package build") + class TestXSel(_TestClipboard): + if _executable_exists("xsel"): + clipboard = init_xsel_clipboard() + + ++@unittest.skip("Not relevant in Fedora package build") + class TestKlipper(_TestClipboard): + if _executable_exists("klipper") and _executable_exists("qdbus"): + clipboard = init_klipper_clipboard() diff --git a/SPECS/python-pyperclip.spec b/SPECS/python-pyperclip.spec new file mode 100644 index 0000000..62d4cec --- /dev/null +++ b/SPECS/python-pyperclip.spec @@ -0,0 +1,212 @@ +# Sphinx-generated HTML documentation is not suitable for packaging; see +# https://bugzilla.redhat.com/show_bug.cgi?id=2006555 for discussion. +# +# We can generate PDF documentation as a substitute. +%bcond_with doc_pdf + +%global pypi_name pyperclip + + +Name: python-%{pypi_name} +Version: 1.8.2 +Release: 2%{?dist} +Summary: A cross-platform clipboard module for Python + +License: BSD +URL: https://github.com/asweigart/%{pypi_name} +Source0: %{pypi_source %{pypi_name}} +BuildArch: noarch + +%description +Pyperclip is a cross-platform Python module for copy and paste clipboard +functions. + + +%package -n python3-%{pypi_name} +Summary: %{summary} + +BuildRequires: python3-devel +BuildRequires: python3dist(setuptools) + +# While upstream runs tests directly with Python/unittest, using pytest as the +# runner allows us to more easily skip tests. +BuildRequires: python3dist(pytest) + +# Support graphical tests in non-graphical environment +BuildRequires: xorg-x11-server-Xvfb + +# TestGtk (module gtk) +# (not available; this would be the obsolete PyGTK for GTK2, which never +# supported Python 3) + +# TestQt (module PyQt5.QtWidgets) +BuildRequires: python3dist(pyqt5) + +# TestXClip (executable xclip) +#BuildRequires: /usr/bin/xclip + +# TestXSel (executable xsel) +# These tests *can* pass, but some of them are flaky. It would be nice to +# figure out why. +# BuildRequires: /usr/bin/xsel + +# TestWlClipboard (executable wl-copy) +# These would fail with: +# Failed to connect to a Wayland server +# error: XDG_RUNTIME_DIR not set in the environment. +# BuildRequires: /usr/bin/wl-copy + +# TestKlipper (executables klipper and qdbus) +# These would fail with: +# Could not connect to D-Bus server: +# org.freedesktop.DBus.Error.Spawn.ExecFailed: /usr/bin/dbus-launch +# terminated abnormally without any error message +# BuildRequires: /usr/bin/klipper +# BuildRequires: /usr/bin/qdbus + +%description -n python3-%{pypi_name} +Pyperclip is a cross-platform Python module for copy and paste clipboard +functions. + + +%package -n python-%{pypi_name}-doc +Summary: Pyperclip documentation + +%if %{with doc_pdf} +BuildRequires: make +BuildRequires: python3dist(sphinx) +%if ! 0%{?el8} +BuildRequires: python3-sphinx-latex +%else +BuildRequires: tex(amsmath.sty) +BuildRequires: tex(amsthm.sty) +BuildRequires: tex(anyfontsize.sty) +BuildRequires: tex(article.cls) +BuildRequires: tex(capt-of.sty) +BuildRequires: tex(cmap.sty) +BuildRequires: tex(color.sty) +BuildRequires: tex(ctablestack.sty) +BuildRequires: tex(fancyhdr.sty) +BuildRequires: tex(fancyvrb.sty) +BuildRequires: tex(fncychap.sty) +BuildRequires: tex(framed.sty) +BuildRequires: tex(geometry.sty) +BuildRequires: tex(hyperref.sty) +BuildRequires: tex(kvoptions.sty) +BuildRequires: tex(luatex85.sty) +BuildRequires: tex(needspace.sty) +BuildRequires: tex(parskip.sty) +BuildRequires: tex(polyglossia.sty) +BuildRequires: tex(tabulary.sty) +BuildRequires: tex(titlesec.sty) +BuildRequires: tex(upquote.sty) +BuildRequires: tex(utf8x.def) +BuildRequires: tex(wrapfig.sty) +BuildRequires: texlive-collection-fontsrecommended +BuildRequires: texlive-collection-latex +BuildRequires: texlive-dvipng +BuildRequires: texlive-dvisvgm +%endif +BuildRequires: latexmk +%endif + +%description -n python-%{pypi_name}-doc +Documentation for pyperclip + + +%prep +%autosetup -p1 -n %{pypi_name}-%{version} +# Remove bundled egg-info +rm -rf %{pypi_name}.egg-info + +# Fix ends of line encoding +sed -i 's/\r$//' README.md docs/* + +%build +%py3_build + +%if %{with doc_pdf} +PYTHONPATH="${PWD}/src" %make_build -C docs latex SPHINXOPTS='%{?_smp_mflags}' +%make_build -C docs/_build/latex LATEXMKOPTS='-quiet' +%endif + +%install +%py3_install + +%check +%global __pytest /usr/bin/xvfb-run -a %{python3} -m pytest +# Explicitly skip backends that we know will fail in the mock environment if +# their dependencies happen to be present. See notes in the BuildRequires. +%pytest -k 'not TestGtk and not TestXSel and not TestWlClipboard and not TestKlipper and not TestXClip' -v + +%files -n python3-%{pypi_name} +%license LICENSE.txt +%doc AUTHORS.txt +%doc CHANGES.txt +%doc README.md +%{python3_sitelib}/%{pypi_name} +%{python3_sitelib}/%{pypi_name}-%{version}-py%{python3_version}.egg-info + +%files -n python-%{pypi_name}-doc +%license LICENSE.txt +%if %{with doc_pdf} +%doc docs/_build/latex/Pyperclip.pdf +%endif + +%changelog +* Fri Aug 12 2022 Benjamin A. Beasley - 1.8.2-2 +- Enable running most of the graphical tests +- Switch Sphinx documentation to PDF to sidestep guidelines issues + +* Mon Aug 08 2022 Jonathan Wright - 1.8.2-1 +- Update to 1.8.2 + +* Fri Jul 22 2022 Fedora Release Engineering - 1.8.0-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Mon Jun 13 2022 Python Maint - 1.8.0-7 +- Rebuilt for Python 3.11 + +* Fri Jan 21 2022 Fedora Release Engineering - 1.8.0-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Fri Jul 23 2021 Fedora Release Engineering - 1.8.0-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Fri Jun 04 2021 Python Maint - 1.8.0-4 +- Rebuilt for Python 3.10 + +* Wed Jan 27 2021 Fedora Release Engineering - 1.8.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Wed Jul 29 2020 Fedora Release Engineering - 1.8.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Tue Jun 16 2020 Ken Dreyer - 1.8.0-1 +- Update to 1.8.0 (rhbz#1697423) +- Use non-git autosetup for simplicity + +* Tue May 26 2020 Miro Hrončok - 1.6.4-8 +- Rebuilt for Python 3.9 + +* Thu Jan 30 2020 Fedora Release Engineering - 1.6.4-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Thu Oct 03 2019 Miro Hrončok - 1.6.4-6 +- Rebuilt for Python 3.8.0rc1 (#1748018) + +* Mon Aug 19 2019 Miro Hrončok - 1.6.4-5 +- Rebuilt for Python 3.8 + +* Fri Jul 26 2019 Fedora Release Engineering - 1.6.4-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Sun Mar 17 2019 Miro Hrončok - 1.6.4-3 +- Subpackage python2-pyperclip has been removed + See https://fedoraproject.org/wiki/Changes/Mass_Python_2_Package_Removal + +* Sat Feb 02 2019 Fedora Release Engineering - 1.6.4-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Wed Jul 25 2018 Haïkel Guémar - 1.6.4-1 +- Initial package.