* [Buildroot] [PATCH 1/1] package/python-gpiozero: bump to version 2.0
@ 2023-11-05 7:17 James Hilliard
2023-11-06 22:23 ` Thomas Petazzoni via buildroot
0 siblings, 1 reply; 2+ messages in thread
From: James Hilliard @ 2023-11-05 7:17 UTC (permalink / raw)
To: buildroot; +Cc: James Hilliard, Asaf Kahlon
Drop patch which is now upstream.
Migrate to pypi based sources.
Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
---
.../0001-Migrate-to-setup.cfg.patch | 855 ------------------
package/python-gpiozero/python-gpiozero.hash | 7 +-
package/python-gpiozero/python-gpiozero.mk | 5 +-
3 files changed, 7 insertions(+), 860 deletions(-)
delete mode 100644 package/python-gpiozero/0001-Migrate-to-setup.cfg.patch
diff --git a/package/python-gpiozero/0001-Migrate-to-setup.cfg.patch b/package/python-gpiozero/0001-Migrate-to-setup.cfg.patch
deleted file mode 100644
index 090bcbc4a3..0000000000
--- a/package/python-gpiozero/0001-Migrate-to-setup.cfg.patch
+++ /dev/null
@@ -1,855 +0,0 @@
-From d56ca0ee4fde7fa4ad82a532f9ea387f9f33d389 Mon Sep 17 00:00:00 2001
-From: Dave Jones <dave@waveform.org.uk>
-Date: Tue, 16 Mar 2021 17:52:49 +0000
-Subject: [PATCH] Migrate to setup.cfg
-
-(cherry picked from commit b167bef82c3bf2739707f062b35fcabbb9cc11ad)
-
-setup.cfg seems to be mandatory since (at least) setuptools 67.8.0
-otherwise gpiozero dependencies are not properly detected
-
-File "/builds/buildroot.org/buildroot/test-output/TestPythonPy3Gpiozero/host/lib/python3.11/site-packages/pkg_resources/__init__.py",
-line 868, in _resolve_dist
- raise DistributionNotFound(req, requirers)
-pkg_resources.DistributionNotFound: The 'colorzero' distribution was not found
-and is required by the application
-
-Upstream: https://github.com/gpiozero/gpiozero/commit/b167bef82c3bf2739707f062b35fcabbb9cc11ad
-
-See:
-http://lists.busybox.net/pipermail/buildroot/2023-June/669207.html
-
-[Romain: rebase on 1.6.2]
-Signed-off-by: Romain Naour <romain.naour@smile.fr>
----
- MANIFEST.in | 4 --
- Makefile | 88 +++++---------------------------
- copyrights | 56 +++++++++++---------
- copyrights.cfg | 11 ----
- coverage.cfg | 18 -------
- docs/conf.py | 99 +++++++++++++++--------------------
- setup.cfg | 98 +++++++++++++++++++++++++++++++++++
- setup.py | 136 +++++--------------------------------------------
- 8 files changed, 196 insertions(+), 314 deletions(-)
- delete mode 100644 MANIFEST.in
- delete mode 100644 copyrights.cfg
- delete mode 100644 coverage.cfg
- create mode 100644 setup.cfg
-
-diff --git a/MANIFEST.in b/MANIFEST.in
-deleted file mode 100644
-index bb562ea..0000000
---- a/MANIFEST.in
-+++ /dev/null
-@@ -1,4 +0,0 @@
--include README.rst
--recursive-include gpiozero/fonts *.txt
--recursive-include tests *.py
--include LICENSE.rst
-diff --git a/Makefile b/Makefile
-index c9ddd90..264a73c 100644
---- a/Makefile
-+++ b/Makefile
-@@ -4,44 +4,18 @@
- PYTHON=python
- PIP=pip
- PYTEST=py.test
--COVERAGE=coverage
- TWINE=twine
- PYFLAGS=
- DEST_DIR=/
-
--# Horrid hack to ensure setuptools is installed in our python environment. This
--# is necessary with Python 3.3's venvs which don't install it by default.
--ifeq ($(shell python -c "import setuptools" 2>&1),)
--SETUPTOOLS:=
--else
--SETUPTOOLS:=$(shell wget https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py -O - | $(PYTHON))
--endif
--
- # Calculate the base names of the distribution, the location of all source,
- # documentation, packaging, icon, and executable script files
- NAME:=$(shell $(PYTHON) $(PYFLAGS) setup.py --name)
- VER:=$(shell $(PYTHON) $(PYFLAGS) setup.py --version)
--ifeq ($(shell lsb_release -si),Ubuntu)
--DEB_SUFFIX:=ubuntu1
--else
--DEB_SUFFIX:=
--endif
--DEB_ARCH:=$(shell dpkg --print-architecture)
- PYVER:=$(shell $(PYTHON) $(PYFLAGS) -c "import sys; print('py%d.%d' % sys.version_info[:2])")
- PY_SOURCES:=$(shell \
- $(PYTHON) $(PYFLAGS) setup.py egg_info >/dev/null 2>&1 && \
- grep -v "\.egg-info" $(NAME).egg-info/SOURCES.txt)
--DEB_SOURCES:=debian/changelog \
-- debian/control \
-- debian/copyright \
-- debian/rules \
-- debian/docs \
-- $(wildcard debian/*.init) \
-- $(wildcard debian/*.default) \
-- $(wildcard debian/*.manpages) \
-- $(wildcard debian/*.docs) \
-- $(wildcard debian/*.doc-base) \
-- $(wildcard debian/*.desktop)
- DOC_SOURCES:=docs/conf.py \
- $(wildcard docs/*.png) \
- $(wildcard docs/*.svg) \
-@@ -56,17 +30,6 @@ SUBDIRS:=
- DIST_WHEEL=dist/$(NAME)-$(VER)-py2.py3-none-any.whl
- DIST_TAR=dist/$(NAME)-$(VER).tar.gz
- DIST_ZIP=dist/$(NAME)-$(VER).zip
--DIST_DEB=dist/python-$(NAME)_$(VER)$(DEB_SUFFIX)_all.deb \
-- dist/python3-$(NAME)_$(VER)$(DEB_SUFFIX)_all.deb \
-- dist/python-$(NAME)-doc_$(VER)$(DEB_SUFFIX)_all.deb \
-- dist/$(NAME)_$(VER)$(DEB_SUFFIX)_$(DEB_ARCH).build \
-- dist/$(NAME)_$(VER)$(DEB_SUFFIX)_$(DEB_ARCH).buildinfo \
-- dist/$(NAME)_$(VER)$(DEB_SUFFIX)_$(DEB_ARCH).changes
--DIST_DSC=dist/$(NAME)_$(VER)$(DEB_SUFFIX).tar.xz \
-- dist/$(NAME)_$(VER)$(DEB_SUFFIX).dsc \
-- dist/$(NAME)_$(VER)$(DEB_SUFFIX)_source.build \
-- dist/$(NAME)_$(VER)$(DEB_SUFFIX)_source.buildinfo \
-- dist/$(NAME)_$(VER)$(DEB_SUFFIX)_source.changes
-
-
- # Default target
-@@ -76,10 +39,9 @@ all:
- @echo "make test - Run tests"
- @echo "make doc - Generate HTML and PDF documentation"
- @echo "make source - Create source package"
-- @echo "make egg - Generate a PyPI egg package"
-+ @echo "make wheel - Generate a PyPI wheel package"
- @echo "make zip - Generate a source zip package"
- @echo "make tar - Generate a source tar package"
-- @echo "make deb - Generate Debian packages"
- @echo "make dist - Generate all packages"
- @echo "make clean - Get rid of all generated files"
- @echo "make release - Create and tag a new release"
-@@ -102,9 +64,7 @@ zip: $(DIST_ZIP)
-
- tar: $(DIST_TAR)
-
--deb: $(DIST_DEB) $(DIST_DSC)
--
--dist: $(DIST_WHEEL) $(DIST_DEB) $(DIST_DSC) $(DIST_TAR) $(DIST_ZIP)
-+dist: $(DIST_WHEEL) $(DIST_TAR) $(DIST_ZIP)
-
- develop:
- @# These have to be done separately to avoid a cockup...
-@@ -113,18 +73,17 @@ develop:
- $(PIP) install -e .[doc,test]
-
- test:
-- $(COVERAGE) run --rcfile coverage.cfg -m $(PYTEST) tests -v -r sx
-- $(COVERAGE) report --rcfile coverage.cfg
-+ $(PYTEST) tests
-
- clean:
-- dh_clean
-- rm -fr dist/ $(NAME).egg-info/ tags
-+ rm -fr dist/ build/ .pytest_cache/ .mypy_cache/ $(NAME).egg-info/ tags .coverage
- for dir in $(SUBDIRS); do \
- $(MAKE) -C $$dir clean; \
- done
-+ find $(CURDIR) -name "*.pyc" -delete
-
- tags: $(PY_SOURCES)
-- ctags -R --exclude="build/*" --exclude="debian/*" --exclude="docs/*" --languages="Python"
-+ ctags -R --exclude="build/*" --exclude="docs/*" --languages="Python"
-
- $(SUBDIRS):
- $(MAKE) -C $@
-@@ -138,37 +97,14 @@ $(DIST_ZIP): $(PY_SOURCES) $(SUBDIRS)
- $(DIST_WHEEL): $(PY_SOURCES) $(SUBDIRS)
- $(PYTHON) $(PYFLAGS) setup.py bdist_wheel --universal
-
--$(DIST_DEB): $(PY_SOURCES) $(SUBDIRS) $(DEB_SOURCES) $(DIST_TAR)
-- cp $(DIST_TAR) ../$(NAME)_$(VER).orig.tar.gz
-- debuild -b
-- mkdir -p dist/
-- for f in $(DIST_DEB); do cp ../$${f##*/} dist/; done
--
--$(DIST_DSC): $(PY_SOURCES) $(SUBDIRS) $(DEB_SOURCES) $(DIST_TAR)
-- cp $(DIST_TAR) ../$(NAME)_$(VER).orig.tar.gz
-- debuild -S
-- mkdir -p dist/
-- for f in $(DIST_DSC); do cp ../$${f##*/} dist/; done
--
--copyrights: $(PY_SOURCES) $(DOC_SOURCES)
-- ./copyrights
--
--changelog: $(PY_SOURCES) $(DOC_SOURCES) $(DEB_SOURCES)
-+release:
- $(MAKE) clean
-- # ensure there are no current uncommitted changes
- test -z "$(shell git status --porcelain)"
-- # update the debian changelog with new release information
-- dch --newversion $(VER)$(DEB_SUFFIX)
-- # commit the changes and add a new tag
-- git commit debian/changelog -m "Updated changelog for release $(VER)"
--
--release: $(DIST_DEB) $(DIST_DSC) $(DIST_TAR) $(DIST_WHEEL)
- git tag -s v$(VER) -m "Release v$(VER)"
-- git push --tags
-- # build a source archive and upload to PyPI
-+ git push origin v$(VER)
-+
-+upload: $(DIST_TAR) $(DIST_WHEEL)
-+ $(TWINE) check $(DIST_TAR) $(DIST_WHEEL)
- $(TWINE) upload $(DIST_TAR) $(DIST_WHEEL)
-- # build the deb source archive and upload to Raspbian
-- dput raspberrypi dist/$(NAME)_$(VER)$(DEB_SUFFIX)_source.changes
-- dput raspberrypi dist/$(NAME)_$(VER)$(DEB_SUFFIX)_$(DEB_ARCH).changes
-
--.PHONY: all install develop test doc source egg wheel zip tar deb dist clean tags release upload $(SUBDIRS)
-+.PHONY: all install develop test doc source wheel zip tar dist clean tags release upload $(SUBDIRS)
-diff --git a/copyrights b/copyrights
-index b709fc8..2f14e78 100755
---- a/copyrights
-+++ b/copyrights
-@@ -6,10 +6,13 @@ derives the authorship and copyright years information from the git history
- of the project; hence, this script must be run within a git repository.
- """
-
-+from __future__ import annotations
-+
- import os
- import sys
- assert sys.version_info >= (3, 6), 'Script requires Python 3.6+'
- import tempfile
-+import typing as t
- from argparse import ArgumentParser, Namespace
- from configparser import ConfigParser
- from operator import attrgetter
-@@ -18,14 +21,13 @@ from datetime import datetime
- from subprocess import Popen, PIPE, DEVNULL
- from pathlib import Path
- from fnmatch import fnmatch
--from typing import NamedTuple, Iterator, List, Tuple, Set, Union, Optional
-
-
- SPDX_PREFIX = 'SPDX-License-Identifier:'
- COPYRIGHT_PREFIX = 'Copyright (c)'
-
-
--def main(args: List[str] = None):
-+def main(args: t.List[str] = None):
- if args is None:
- args = sys.argv[1:]
- config = get_config(args)
-@@ -41,7 +43,7 @@ def main(args: List[str] = None):
- target.write(chunk)
-
-
--def get_config(args: List[str]) -> Namespace:
-+def get_config(args: t.List[str]) -> Namespace:
- config = ConfigParser(
- defaults={
- 'include': '**/*',
-@@ -52,10 +54,10 @@ def get_config(args: List[str]) -> Namespace:
- 'spdx_prefix': SPDX_PREFIX,
- 'copy_prefix': COPYRIGHT_PREFIX,
- },
-- delimiters=('=',), default_section='settings',
-+ delimiters=('=',), default_section='copyrights:settings',
- empty_lines_in_values=False, interpolation=None,
- converters={'list': lambda s: s.strip().splitlines() })
-- config.read('copyrights.cfg')
-+ config.read('setup.cfg')
- sect = config[config.default_section]
-
- parser = ArgumentParser(description=__doc__)
-@@ -113,10 +115,10 @@ def get_config(args: List[str]) -> Namespace:
- return ns
-
-
--class Copyright(NamedTuple):
-+class Copyright(t.NamedTuple):
- author: str
- email: str
-- years: Set[int]
-+ years: t.Set[int]
-
- def __str__(self):
- if len(self.years) > 1:
-@@ -126,8 +128,8 @@ class Copyright(NamedTuple):
- return f'{years} {self.author} <{self.email}>'
-
-
--def get_copyrights(include: Set[str], exclude: Set[str])\
-- -> Iterator[Tuple[Path, List[Copyright]]]:
-+def get_copyrights(include: t.Set[str], exclude: t.Set[str])\
-+ -> t.Iterator[t.Tuple[Path, t.Container[Copyright]]]:
- sorted_blame = sorted(
- get_contributions(include, exclude),
- key=lambda c: (c.path, c.author, c.email)
-@@ -147,15 +149,15 @@ def get_copyrights(include: Set[str], exclude: Set[str])\
- yield path, copyrights
-
-
--class Contribution(NamedTuple):
-+class Contribution(t.NamedTuple):
- author: str
- email: str
- year: int
- path: Path
-
-
--def get_contributions(include: Set[str], exclude: Set[str])\
-- -> Iterator[Contribution]:
-+def get_contributions(include: t.Set[str], exclude: t.Set[str])\
-+ -> t.Iterator[Contribution]:
- for path in get_source_paths(include, exclude):
- blame = Popen(
- ['git', 'blame', '--line-porcelain', 'HEAD', '--', str(path)],
-@@ -186,7 +188,8 @@ def get_contributions(include: Set[str], exclude: Set[str])\
- assert blame.returncode == 0
-
-
--def get_source_paths(include: Set[str], exclude: Set[str]) -> Iterator[Path]:
-+def get_source_paths(include: t.Set[str], exclude: t.Set[str])\
-+ -> t.Iterator[Path]:
- ls_tree = Popen(
- ['git', 'ls-tree', '-r', '--name-only', 'HEAD'],
- stdout=PIPE, stderr=DEVNULL, universal_newlines=True)
-@@ -203,9 +206,9 @@ def get_source_paths(include: Set[str], exclude: Set[str]) -> Iterator[Path]:
- assert ls_tree.returncode == 0
-
-
--class License(NamedTuple):
-- ident: Optional[str]
-- text: List[str]
-+class License(t.NamedTuple):
-+ ident: t.Optional[str]
-+ text: t.List[str]
-
-
- def get_license(path: Path, *, spdx_prefix: str = SPDX_PREFIX) -> License:
-@@ -253,20 +256,26 @@ class CopyWriter:
- '.sql': '--',
- }
-
-- def __init__(self, license='LICENSE.txt', preamble=(),
-- spdx_prefix=SPDX_PREFIX, copy_prefix=COPYRIGHT_PREFIX):
-+ def __init__(self, license: Path=Path('LICENSE.txt'),
-+ preamble: t.List[str]=None,
-+ spdx_prefix: str=SPDX_PREFIX,
-+ copy_prefix: str=COPYRIGHT_PREFIX):
-+ if preamble is None:
-+ preamble = []
- self.license = get_license(license, spdx_prefix=spdx_prefix)
- self.preamble = preamble
- self.spdx_prefix = spdx_prefix
- self.copy_prefix = copy_prefix
-
- @classmethod
-- def from_config(cls, config):
-+ def from_config(cls, config: Namespace) -> CopyWriter:
- return cls(
- config.license, config.preamble,
- config.spdx_prefix, config.copy_prefix)
-
-- def transform(self, source, copyrights, *, comment_prefix=None):
-+ def transform(self, source: t.TextIO,
-+ copyrights: t.List[Copyright], *,
-+ comment_prefix: str=None) -> t.Iterator[str]:
- if comment_prefix is None:
- comment_prefix = self.COMMENTS[Path(source.name).suffix]
- license_start = self.license.text[0]
-@@ -279,7 +288,7 @@ class CopyWriter:
- yield line
- empty = False
- elif linenum < 3 and (
-- 'set fileencoding=' in line or '-*- coding:' in line):
-+ 'fileencoding=' in line or '-*- coding:' in line):
- yield line
- empty = False
- elif line.rstrip() == comment_prefix:
-@@ -313,7 +322,8 @@ class CopyWriter:
- elif state == 'body':
- yield line
-
-- def _generate_header(self, copyrights, comment_prefix, empty):
-+ def _generate_header(self, copyrights: t.Iterable[Copyright],
-+ comment_prefix: str, empty: bool) -> t.Iterator[str]:
- if not empty:
- yield comment_prefix + '\n'
- for line in self.preamble:
-@@ -356,7 +366,7 @@ class AtomicReplaceFile:
- If ``None`` (the default), the temporary file will be opened in binary
- mode. Otherwise, this specifies the encoding to use with text mode.
- """
-- def __init__(self, path: Union[str, Path], encoding: str = None):
-+ def __init__(self, path: t.Union[str, Path], encoding: str = None):
- if isinstance(path, str):
- path = Path(path)
- self._path = path
-diff --git a/copyrights.cfg b/copyrights.cfg
-deleted file mode 100644
-index de68dbe..0000000
---- a/copyrights.cfg
-+++ /dev/null
-@@ -1,11 +0,0 @@
--[settings]
--include=
-- **/*.py
-- **/*.rst
--exclude=
-- docs/examples/*.py
-- docs/license.rst
--license=LICENSE.rst
--preamble=
-- GPIO Zero: a library for controlling the Raspberry Pi's GPIO pins
--strip-preamble=no
-diff --git a/coverage.cfg b/coverage.cfg
-deleted file mode 100644
-index e3f3349..0000000
---- a/coverage.cfg
-+++ /dev/null
-@@ -1,18 +0,0 @@
--[run]
--branch = True
--include = gpiozero/*
--;omit = */bar.py,*/baz.py
--
--[report]
--ignore_errors = True
--show_missing = True
--exclude_lines =
-- pragma: no cover
-- assert False
-- raise AssertionError
-- raise NotImplementedError
-- pass
-- if __name__ == .__main__.:
--
--[html]
--directory = coverage
-diff --git a/docs/conf.py b/docs/conf.py
-index 998ae91..626ae29 100644
---- a/docs/conf.py
-+++ b/docs/conf.py
-@@ -11,62 +11,34 @@
-
- import sys
- import os
-+from pathlib import Path
- from datetime import datetime
--sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..'))
--on_rtd = os.environ.get('READTHEDOCS', None) == 'True'
--import setup as _setup
--
--# Mock out certain modules while building documentation
--class Mock(object):
-- __all__ = []
--
-- def __init__(self, *args, **kw):
-- pass
--
-- def __call__(self, *args, **kw):
-- return Mock()
--
-- def __mul__(self, other):
-- return Mock()
--
-- def __and__(self, other):
-- return Mock()
-+from setuptools.config import read_configuration
-
-- def __bool__(self):
-- return False
--
-- def __nonzero__(self):
-- return False
--
-- @classmethod
-- def __getattr__(cls, name):
-- if name in ('__file__', '__path__'):
-- return '/dev/null'
-- else:
-- return Mock()
--
--sys.modules['RPi'] = Mock()
--sys.modules['RPi.GPIO'] = sys.modules['RPi'].GPIO
--sys.modules['lgpio'] = Mock()
--sys.modules['RPIO'] = Mock()
--sys.modules['RPIO.PWM'] = sys.modules['RPIO'].PWM
--sys.modules['RPIO.Exceptions'] = sys.modules['RPIO'].Exceptions
--sys.modules['pigpio'] = Mock()
--sys.modules['w1thermsensor'] = Mock()
--sys.modules['spidev'] = Mock()
--sys.modules['colorzero'] = Mock()
-+on_rtd = os.environ.get('READTHEDOCS', None) == 'True'
-+config = read_configuration(str(Path(__file__).parent / '..' / 'setup.cfg'))
-+info = config['metadata']
-
- # -- General configuration ------------------------------------------------
-
- extensions = ['sphinx.ext.autodoc', 'sphinx.ext.viewcode', 'sphinx.ext.intersphinx']
-+if on_rtd:
-+ needs_sphinx = '1.4.0'
-+ extensions.append('sphinx.ext.imgmath')
-+ imgmath_image_format = 'svg'
-+ tags.add('rtd')
-+else:
-+ extensions.append('sphinx.ext.mathjax')
-+ mathjax_path = '/usr/share/javascript/mathjax/MathJax.js?config=TeX-AMS_HTML'
-+
- templates_path = ['_templates']
- source_suffix = '.rst'
- #source_encoding = 'utf-8-sig'
- master_doc = 'index'
--project = 'GPIO Zero'
--copyright = '2015-%s %s' % (datetime.now().year, _setup.__author__)
--version = _setup.__version__
--release = _setup.__version__
-+project = info['name']
-+copyright = '2015-{now:%Y} {info[author]}'.format(now=datetime.now(), info=info)
-+version = info['version']
-+#release = None
- #language = None
- #today_fmt = '%B %d, %Y'
- exclude_patterns = ['_build']
-@@ -82,6 +54,15 @@ pygments_style = 'sphinx'
- # -- Autodoc configuration ------------------------------------------------
-
- autodoc_member_order = 'groupwise'
-+autodoc_mock_imports = [
-+ 'RPi',
-+ 'lgpio',
-+ 'RPIO',
-+ 'pigpio',
-+ 'w1thermsensor',
-+ 'spidev',
-+ 'colorzero',
-+]
-
- # -- Intersphinx configuration --------------------------------------------
-
-@@ -94,7 +75,7 @@ intersphinx_mapping = {
- # -- Options for HTML output ----------------------------------------------
-
- html_theme = 'sphinx_rtd_theme'
--html_title = '%s %s Documentation' % (project, version)
-+html_title = '{info[name]} {info[version]} Documentation'.format(info=info)
- #html_theme_path = []
- #html_short_title = None
- #html_logo = None
-@@ -112,7 +93,7 @@ html_static_path = ['_static']
- #html_show_copyright = True
- #html_use_opensearch = ''
- #html_file_suffix = None
--htmlhelp_basename = '%sdoc' % _setup.__project__
-+htmlhelp_basename = '{info[name]}doc'.format(info=info)
-
- # Hack to make wide tables work properly in RTD
- # See https://github.com/snide/sphinx_rtd_theme/issues/117 for details
-@@ -131,12 +112,12 @@ latex_elements = {
-
- latex_documents = [
- (
-- 'index', # source start file
-- '%s.tex' % _setup.__project__, # target filename
-- '%s Documentation' % project, # title
-- _setup.__author__, # author
-- 'manual', # documentclass
-- True, # documents ref'd from toctree only
-+ 'index', # source start file
-+ project + '.tex', # target filename
-+ html_title, # title
-+ info['author'], # author
-+ 'manual', # documentclass
-+ True, # documents ref'd from toctree only
- ),
- ]
-
-@@ -149,11 +130,11 @@ latex_show_urls = 'footnote'
-
- # -- Options for epub output ----------------------------------------------
-
--epub_basename = _setup.__project__
-+epub_basename = project
- #epub_theme = 'epub'
- #epub_title = html_title
--epub_author = _setup.__author__
--epub_identifier = 'https://gpiozero.readthedocs.io/'
-+epub_author = info['author']
-+epub_identifier = 'https://{info[name]}.readthedocs.io/'.format(info=info)
- #epub_tocdepth = 3
- epub_show_urls = 'no'
- #epub_use_index = True
-@@ -161,8 +142,8 @@ epub_show_urls = 'no'
- # -- Options for manual page output ---------------------------------------
-
- man_pages = [
-- ('cli_pinout', 'pinout', 'GPIO Zero pinout tool', [_setup.__author__], 1),
-- ('remote_gpio', 'remote-gpio', 'GPIO Zero remote GPIO guide', [_setup.__author__], 7),
-+ ('cli_pinout', 'pinout', 'GPIO Zero pinout tool', [info['author']], 1),
-+ ('remote_gpio', 'remote-gpio', 'GPIO Zero remote GPIO guide', [info['author']], 7),
- ]
-
- man_show_urls = True
-diff --git a/setup.cfg b/setup.cfg
-new file mode 100644
-index 0000000..db0cfa4
---- /dev/null
-+++ b/setup.cfg
-@@ -0,0 +1,98 @@
-+[metadata]
-+name = gpiozero
-+version = 1.6.2
-+description = A simple interface to GPIO devices with Raspberry Pi
-+long_description = file:README.rst
-+author = Ben Nuttall
-+author_email = ben@bennuttall.com
-+url = https://gpiozero.readthedocs.io/
-+project_urls =
-+ Documentation = https://gpiozero.readthedocs.io/
-+ Source Code = https://github.com/gpiozero/gpiozero
-+ Issue Tracker = https://github.com/gpiozero/gpiozero/issues
-+keywords = raspberrypi gpio
-+license = BSD-3-Clause
-+classifiers =
-+ Development Status :: 5 - Production/Stable
-+ Intended Audience :: Education
-+ Intended Audience :: Developers
-+ Topic :: Education
-+ Topic :: System :: Hardware
-+ License :: OSI Approved :: BSD License
-+ Programming Language :: Python :: 2
-+ Programming Language :: Python :: 2.7
-+ Programming Language :: Python :: 3
-+ Programming Language :: Python :: 3.5
-+ Programming Language :: Python :: 3.6
-+ Programming Language :: Python :: 3.7
-+ Programming Language :: Python :: 3.8
-+ Programming Language :: Python :: 3.9
-+ Programming Language :: Python :: Implementation :: PyPy
-+
-+[options]
-+packages = find:
-+install_requires =
-+ colorzero
-+
-+[options.package_data]
-+gpiozero =
-+ fonts/*.txt
-+
-+[options.extras_require]
-+test =
-+ pytest
-+ pytest-cov
-+doc =
-+ sphinx
-+ sphinx-rtd-theme
-+
-+[options.entry_points]
-+console_scripts =
-+ pinout = gpiozerocli.pinout:main
-+gpiozero_pin_factories =
-+ pigpio = gpiozero.pins.pigpio:PiGPIOFactory
-+ lgpio = gpiozero.pins.lgpio:LGPIOFactory
-+ rpigpio = gpiozero.pins.rpigpio:RPiGPIOFactory
-+ rpio = gpiozero.pins.rpio:RPIOFactory
-+ native = gpiozero.pins.native:NativeFactory
-+ mock = gpiozero.pins.mock:MockFactory
-+ PiGPIOPin = gpiozero.pins.pigpio:PiGPIOFactory
-+ RPiGPIOPin = gpiozero.pins.rpigpio:RPiGPIOFactory
-+ RPIOPin = gpiozero.pins.rpio:RPIOFactory
-+ NativePin = gpiozero.pins.native:NativeFactory
-+gpiozero_mock_pin_classes =
-+ mockpin = gpiozero.pins.mock:MockPin
-+ mockpwmpin = gpiozero.pins.mock:MockPWMPin
-+ mockchargingpin = gpiozero.pins.mock:MockChargingPin
-+ mocktriggerpin = gpiozero.pins.mock:MockTriggerPin
-+
-+[tools:pytest]
-+addopts = -rsx --cov --tb=short
-+testpaths = tests
-+
-+[coverage:run]
-+source = gpiozero
-+branch = true
-+
-+[coverage:report]
-+ignore_errors = true
-+show_missing = true
-+exclude_lines =
-+ pragma: no cover
-+ assert False
-+ raise AssertionError
-+ raise NotImplementedError
-+ pass
-+ if __name__ == .__main__.:
-+
-+[copyrights:settings]
-+include =
-+ **/*.py
-+ **/*.rst
-+exclude =
-+ docs/examples/*.py
-+ docs/license.rst
-+license = LICENSE.rst
-+preamble =
-+ GPIO Zero: a library for controlling the Raspberry Pi's GPIO pins
-+strip-preamble = false
-diff --git a/setup.py b/setup.py
-index 621398a..fc644b6 100644
---- a/setup.py
-+++ b/setup.py
-@@ -1,139 +1,29 @@
--"A simple interface to GPIO devices with Raspberry Pi."
-+from __future__ import (
-+ unicode_literals,
-+ absolute_import,
-+)
-+str = type('')
-
- import io
- import os
--import sys
- import errno
--from setuptools import setup, find_packages
-+from setuptools import setup, config
-
--if sys.version_info[0] == 2:
-- if not sys.version_info >= (2, 7):
-- raise ValueError('This package requires Python 2.7 or above')
--elif sys.version_info[0] == 3:
-- if not sys.version_info >= (3, 2):
-- raise ValueError('This package requires Python 3.2 or above')
--else:
-- raise ValueError('Unrecognized major version of Python')
--
--HERE = os.path.abspath(os.path.dirname(__file__))
--
--# Workaround <http://www.eby-sarna.com/pipermail/peak/2010-May/003357.html>
--try:
-- import multiprocessing
--except ImportError:
-- pass
--
--__project__ = 'gpiozero'
--__version__ = '1.6.2'
--__author__ = 'Ben Nuttall'
--__author_email__ = 'ben@bennuttall.com'
--__url__ = 'https://github.com/gpiozero/gpiozero'
--__platforms__ = 'ALL'
--
--__classifiers__ = [
-- "Development Status :: 5 - Production/Stable",
-- "Intended Audience :: Education",
-- "Intended Audience :: Developers",
-- "Topic :: Education",
-- "Topic :: System :: Hardware",
-- "License :: OSI Approved :: BSD License",
-- "Programming Language :: Python :: 2",
-- "Programming Language :: Python :: 2.7",
-- "Programming Language :: Python :: 3",
-- "Programming Language :: Python :: 3.5",
-- "Programming Language :: Python :: 3.6",
-- "Programming Language :: Python :: 3.7",
-- "Programming Language :: Python :: 3.8",
-- "Programming Language :: Python :: 3.9",
-- "Programming Language :: Python :: Implementation :: PyPy",
--]
--
--__keywords__ = [
-- 'raspberrypi',
-- 'gpio',
--]
--
--__requires__ = [
-- 'colorzero',
--]
--
--__extra_requires__ = {
-- 'doc': ['sphinx', 'sphinx_rtd_theme'],
-- 'test': ['pytest', 'coverage', 'mock'],
--}
--
--if sys.version_info[:2] == (3, 2):
-- # Particular versions are required for Python 3.2 compatibility
-- __extra_requires__['doc'].extend([
-- 'Jinja2<2.7',
-- 'MarkupSafe<0.16',
-- ])
-- __extra_requires__['test'][0] = 'pytest<3.0dev'
-- __extra_requires__['test'][1] = 'coverage<4.0dev'
--elif sys.version_info[:2] == (3, 3):
-- __extra_requires__['test'][0] = 'pytest<3.3dev'
--elif sys.version_info[:2] == (3, 4):
-- __extra_requires__['test'][0] = 'pytest<5.0dev'
-+cfg = config.read_configuration(
-+ os.path.join(os.path.dirname(__file__), 'setup.cfg'))
-
- try:
- # If we're executing on a Raspberry Pi, install all GPIO libraries for
- # testing (except RPIO which doesn't work on the multi-core models yet)
- with io.open('/proc/device-tree/model', 'r') as f:
- if f.read().startswith('Raspberry Pi'):
-- __extra_requires__['test'].append('RPi.GPIO')
-- __extra_requires__['test'].append('pigpio')
-+ cfg['options']['extras_require']['test'].append('RPI.GPIO')
-+ cfg['options']['extras_require']['test'].append('pigpio')
- except IOError as e:
- if e.errno != errno.ENOENT:
- raise
-
--__entry_points__ = {
-- 'gpiozero_pin_factories': [
-- 'pigpio = gpiozero.pins.pigpio:PiGPIOFactory',
-- 'lgpio = gpiozero.pins.lgpio:LGPIOFactory',
-- 'rpigpio = gpiozero.pins.rpigpio:RPiGPIOFactory',
-- 'rpio = gpiozero.pins.rpio:RPIOFactory',
-- 'native = gpiozero.pins.native:NativeFactory',
-- 'mock = gpiozero.pins.mock:MockFactory',
-- # Backwards compatible names
-- 'PiGPIOPin = gpiozero.pins.pigpio:PiGPIOFactory',
-- 'RPiGPIOPin = gpiozero.pins.rpigpio:RPiGPIOFactory',
-- 'RPIOPin = gpiozero.pins.rpio:RPIOFactory',
-- 'NativePin = gpiozero.pins.native:NativeFactory',
-- ],
-- 'gpiozero_mock_pin_classes': [
-- 'mockpin = gpiozero.pins.mock:MockPin',
-- 'mockpwmpin = gpiozero.pins.mock:MockPWMPin',
-- 'mockchargingpin = gpiozero.pins.mock:MockChargingPin',
-- 'mocktriggerpin = gpiozero.pins.mock:MockTriggerPin',
-- ],
-- 'console_scripts': [
-- 'pinout = gpiozerocli.pinout:main',
-- ]
--}
--
--
--def main():
-- import io
-- with io.open(os.path.join(HERE, 'README.rst'), 'r') as readme:
-- setup(
-- name = __project__,
-- version = __version__,
-- description = __doc__,
-- long_description = readme.read(),
-- classifiers = __classifiers__,
-- author = __author__,
-- author_email = __author_email__,
-- url = __url__,
-- license = 'BSD-3-Clause',
-- keywords = __keywords__,
-- packages = find_packages(),
-- include_package_data = True,
-- platforms = __platforms__,
-- install_requires = __requires__,
-- extras_require = __extra_requires__,
-- entry_points = __entry_points__,
-- )
--
-+opts = cfg['metadata']
-+opts.update(cfg['options'])
-
--if __name__ == '__main__':
-- main()
-+setup(**opts)
---
-2.41.0
-
diff --git a/package/python-gpiozero/python-gpiozero.hash b/package/python-gpiozero/python-gpiozero.hash
index 7359f6405e..d019b54346 100644
--- a/package/python-gpiozero/python-gpiozero.hash
+++ b/package/python-gpiozero/python-gpiozero.hash
@@ -1,4 +1,5 @@
-# Locally computed
-sha256 7e6da923774437e24edc0c056e486415bace8c4ba4123c22ac4214147854ea6d python-gpiozero-1.6.2.tar.gz
-# Locally computed
+# md5, sha256 from https://pypi.org/pypi/gpiozero/json
+md5 b8b63443961de2710d88b82671ec6d8a gpiozero-2.0.tar.gz
+sha256 403bcc9e7f24f0877653e7fced91ba51508d5197c9d1f80e383fe6693b9c3c27 gpiozero-2.0.tar.gz
+# Locally computed sha256 checksums
sha256 b6fdd587f3dc3a9b8cc5adae00918e3ffa909b1092bd4decf7e8b1b08fa5d0fb LICENSE.rst
diff --git a/package/python-gpiozero/python-gpiozero.mk b/package/python-gpiozero/python-gpiozero.mk
index a68c39db1f..bce7644a34 100644
--- a/package/python-gpiozero/python-gpiozero.mk
+++ b/package/python-gpiozero/python-gpiozero.mk
@@ -4,8 +4,9 @@
#
################################################################################
-PYTHON_GPIOZERO_VERSION = 1.6.2
-PYTHON_GPIOZERO_SITE = $(call github,gpiozero,gpiozero,v$(PYTHON_GPIOZERO_VERSION))
+PYTHON_GPIOZERO_VERSION = 2.0
+PYTHON_GPIOZERO_SOURCE = gpiozero-$(PYTHON_GPIOZERO_VERSION).tar.gz
+PYTHON_GPIOZERO_SITE = https://files.pythonhosted.org/packages/b3/a7/85676e0689114ea08ea3c88b7813efd988a9ead64dc9e1b24545b17af4fd
PYTHON_GPIOZERO_LICENSE = BSD-3-Clause
PYTHON_GPIOZERO_LICENSE_FILES = LICENSE.rst
PYTHON_GPIOZERO_SETUP_TYPE = setuptools
--
2.34.1
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [Buildroot] [PATCH 1/1] package/python-gpiozero: bump to version 2.0
2023-11-05 7:17 [Buildroot] [PATCH 1/1] package/python-gpiozero: bump to version 2.0 James Hilliard
@ 2023-11-06 22:23 ` Thomas Petazzoni via buildroot
0 siblings, 0 replies; 2+ messages in thread
From: Thomas Petazzoni via buildroot @ 2023-11-06 22:23 UTC (permalink / raw)
To: James Hilliard; +Cc: Asaf Kahlon, buildroot
On Sun, 5 Nov 2023 01:17:59 -0600
James Hilliard <james.hilliard1@gmail.com> wrote:
> Drop patch which is now upstream.
>
> Migrate to pypi based sources.
>
> Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
> ---
> .../0001-Migrate-to-setup.cfg.patch | 855 ------------------
> package/python-gpiozero/python-gpiozero.hash | 7 +-
> package/python-gpiozero/python-gpiozero.mk | 5 +-
> 3 files changed, 7 insertions(+), 860 deletions(-)
> delete mode 100644 package/python-gpiozero/0001-Migrate-to-setup.cfg.patch
Applied to master, thanks.
Thomas
--
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2023-11-06 22:34 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-11-05 7:17 [Buildroot] [PATCH 1/1] package/python-gpiozero: bump to version 2.0 James Hilliard
2023-11-06 22:23 ` Thomas Petazzoni via buildroot
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.