Merge pull request #20801 from jefferyto/python-pyproject

python: Add proper support for pyproject.toml-based builds, update Python packages for new build process
This commit is contained in:
Jeffery To 2023-05-10 12:11:07 +08:00 committed by GitHub
commit 8a36b03870
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
52 changed files with 300 additions and 343 deletions

View File

@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=borgbackup
PKG_VERSION:=1.2.4
PKG_RELEASE:=2
PKG_RELEASE:=3
PYPI_NAME:=borgbackup
PKG_HASH:=a4bd54e9469e81b7a30a6711423115abc818d9cd844ecb1ca0e6104bc5374da8
@ -57,16 +57,7 @@ define Package/borgbackup/description
The data deduplication technique used makes Borg suitable for daily backups since only changes are stored. The authenticated encryption technique makes it suitable for backups to not fully trusted targets.
endef
PKG_BUILD_DEPENDS:=python-cython/host
# borg setup.py shall find these via pkg-config, but depends on python pkgconfig PyPi module
# which quickly becomes a nightmare to build, since it build-depends on poetry which is not
# available in the python package feed, and has a myriad of deps
PYTHON3_PKG_SETUP_VARS:= \
BORG_OPENSSL_PREFIX="/usr/lib" \
BORG_LIBLZ4_PREFIX="/usr/lib" \
BORG_LIBZSTD_PREFIX="/usr/lib" \
BORG_LIBXXHASH_PREFIX="/usr/lib"
PKG_BUILD_DEPENDS:=python-cython/host python-pkgconfig/host python-setuptools-scm/host
$(eval $(call Py3Package,borgbackup))
$(eval $(call BuildPackage,borgbackup))

View File

@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=pillow
PKG_VERSION:=9.5.0
PKG_RELEASE:=1
PKG_RELEASE:=2
PYPI_NAME:=Pillow
PKG_HASH:=bf548479d336726d7a0eceb6e767e179fbde37833ae42794602631a070d630f1
@ -36,17 +36,18 @@ define Package/python3-pillow/description
The friendly PIL fork
endef
PYTHON3_PKG_SETUP_GLOBAL_ARGS += build_ext \
--enable-zlib \
--enable-jpeg \
--enable-webp \
--enable-webpmux \
--enable-tiff \
--enable-freetype \
--disable-lcms \
--disable-jpeg2000 \
--disable-imagequant \
--disable-platform-guessing
PYTHON3_PKG_BUILD_CONFIG_SETTINGS += \
--global-option=build_ext \
--global-option=--enable-zlib \
--global-option=--enable-jpeg \
--global-option=--enable-webp \
--global-option=--enable-webpmux \
--global-option=--enable-tiff \
--global-option=--enable-freetype \
--global-option=--disable-lcms \
--global-option=--disable-jpeg2000 \
--global-option=--disable-imagequant \
--global-option=--disable-platform-guessing
$(eval $(call Py3Package,python3-pillow))
$(eval $(call BuildPackage,python3-pillow))

View File

@ -8,16 +8,18 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=python-astral
PKG_VERSION:=2.2
PKG_VERSION:=3.2
PKG_RELEASE:=1
PYPI_NAME:=astral
PKG_HASH:=e41d9967d5c48be421346552f0f4dedad43ff39a83574f5ff2ad32b6627b6fbe
PKG_HASH:=9b7c3b412e9e69d172cfb24be0e6addcc9f1bd01a28db8bebe66d75ccc533d88
PKG_LICENSE:=Apache-2.0
PKG_LICENSE_FILES:=LICENSE
PKG_MAINTAINER:=Josef Schlehofer <josef.schlehofer@nic.cz>
PKG_BUILD_DEPENDS:=python-poetry-core/host
include ../pypi.mk
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
@ -29,8 +31,7 @@ define Package/python3-astral
TITLE:=Calculations for the position of the sun and moon
URL:=https://github.com/sffjunkie/astral
DEPENDS+= \
+python3-light \
+python3-pytz
+python3-light
endef
define Package/python3-astral/description

View File

@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=python-automat
PKG_VERSION:=20.2.0
PKG_RELEASE:=2
PKG_RELEASE:=3
PYPI_NAME:=Automat
PKG_HASH:=7979803c74610e11ef0c0d68a2942b152df52da55336e0c9d58daf1831cbdf33
@ -22,7 +22,7 @@ include ../pypi.mk
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
PYTHON3_PKG_SETUP_VARS:= \
PYTHON3_PKG_BUILD_VARS:= \
PKG_VERSION="$(PKG_VERSION)"
define Package/python3-automat

View File

@ -17,6 +17,8 @@ PKG_MAINTAINER:=Quintin Hill <stuff@quintin.me.uk>
PKG_LICENSE:=MIT
PKG_LICENSE_FILES:=LICENSE
PKG_BUILD_DEPENDS:=python-poetry-core/host
include ../pypi.mk
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk

View File

@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=python-cached-property
PKG_VERSION:=1.5.2
PKG_RELEASE:=1
PKG_RELEASE:=2
PYPI_NAME:=cached-property
PKG_HASH:=9fa5755838eecbb2d234c3aa390bd80fbd3ac6b6869109bfc1b499f7bd89a130
@ -15,8 +15,6 @@ include ../pypi.mk
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
PYTHON3_PKG_SETUP_ARGS:=
define Package/python3-cached-property
SECTION:=lang
CATEGORY:=Languages

View File

@ -5,7 +5,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=python-crcmod
PKG_VERSION:=1.7
PKG_RELEASE:=1
PKG_RELEASE:=2
PYPI_NAME:=crcmod
PKG_HASH:=dc7051a0db5f2bd48665a990d3ec1cc305a466a77358ca4492826f41f283601e
@ -13,8 +13,6 @@ PKG_HASH:=dc7051a0db5f2bd48665a990d3ec1cc305a466a77358ca4492826f41f283601e
PKG_LICENSE:=MIT
PKG_MAINTAINER:=David Bauer <mail@david-bauer.net>
PYTHON3_PKG_SETUP_ARGS:=
include ../pypi.mk
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk

View File

@ -6,7 +6,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=python-cryptodome
PKG_VERSION:=3.9.7
PKG_RELEASE:=3
PKG_RELEASE:=4
PYPI_NAME:=pycryptodome
PKG_HASH:=f1add21b6d179179b3c177c33d18a2186a09cc0d3af41ff5ed3f377360b869f2
@ -20,8 +20,7 @@ include ../pypi.mk
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
PYTHON3_PKG_SETUP_ARGS:=
PYTHON3_PKG_SETUP_VARS:= \
PYTHON3_PKG_BUILD_VARS:= \
CONFIG_BIG_ENDIAN="$(CONFIG_BIG_ENDIAN)"
define Package/python3-cryptodome

View File

@ -6,7 +6,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=python-cryptodomex
PKG_VERSION:=3.10.1
PKG_RELEASE:=1
PKG_RELEASE:=2
PYPI_NAME:=pycryptodomex
PKG_HASH:=541cd3e3e252fb19a7b48f420b798b53483302b7fe4d9954c947605d0a263d62
@ -19,8 +19,7 @@ include ../pypi.mk
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
PYTHON3_PKG_SETUP_ARGS:=
PYTHON3_PKG_SETUP_VARS:= \
PYTHON3_PKG_BUILD_VARS:= \
CONFIG_BIG_ENDIAN="$(CONFIG_BIG_ENDIAN)"
define Package/python3-cryptodomex

View File

@ -1,3 +1,13 @@
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -6,7 +6,6 @@ requires = [
"wheel",
# Must be kept in sync with the `setup_requirements` in `setup.py`
"cffi>=1.12; platform_python_implementation != 'PyPy'",
- "setuptools-rust>=0.11.4",
]
build-backend = "setuptools.build_meta"
--- a/setup.py
+++ b/setup.py
@@ -11,7 +11,7 @@ import sys

View File

@ -6,7 +6,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=pycurl
PKG_VERSION:=7.45.2
PKG_RELEASE:=1
PKG_RELEASE:=3
PYPI_NAME:=$(PKG_NAME)
PKG_HASH:=5730590be0271364a5bddd9e245c9cc0fb710c4cbacbdd95264a3122d23224ca
@ -32,22 +32,20 @@ define Package/python3-curl/description
PycURL is a Python interface to libcurl, the multiprotocol file transfer library.
endef
PYTHON3_PKG_SETUP_ARGS:=
ifdef CONFIG_LIBCURL_OPENSSL
PYTHON3_PKG_SETUP_ARGS+=--with-openssl
PYTHON3_PKG_BUILD_VARS:=PYCURL_SSL_LIBRARY=openssl
endif
ifdef CONFIG_LIBCURL_GNUTLS
PYTHON3_PKG_SETUP_ARGS+=--with-gnutls
PYTHON3_PKG_BUILD_VARS:=PYCURL_SSL_LIBRARY=gnutls
endif
ifdef CONFIG_LIBCURL_MBEDTLS
PYTHON3_PKG_SETUP_ARGS+=--with-mbedtls
PYTHON3_PKG_BUILD_VARS:=PYCURL_SSL_LIBRARY=mbedtls
endif
ifdef CONFIG_LIBCURL_WOLFSSL
PYTHON3_PKG_SETUP_ARGS+=--with-wolfssl
PYTHON3_PKG_BUILD_VARS:=PYCURL_SSL_LIBRARY=wolfssl
endif
$(eval $(call Py3Package,python3-curl))

View File

@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=python-dbus-fast
PKG_VERSION:=1.84.2
PKG_RELEASE:=1
PKG_RELEASE:=2
PYPI_NAME:=dbus-fast
PYPI_SOURCE_NAME:=dbus_fast
@ -18,6 +18,8 @@ PKG_MAINTAINER:=Quintin Hill <stuff@quintin.me.uk>
PKG_LICENSE:=MIT
PKG_LICENSE_FILES:=LICENSE
PKG_BUILD_DEPENDS:=python-poetry-core/host python-cython/host python-wheel/host
include ../pypi.mk
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk

View File

@ -0,0 +1,9 @@
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -97,5 +97,5 @@ module = "docs.*"
ignore_errors = true
[build-system]
-requires = ['setuptools>=65.4.1', 'wheel', 'Cython', "poetry-core>=1.0.0"]
+requires = ['setuptools', 'wheel', 'Cython', "poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api"

View File

@ -8,16 +8,18 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=python-dns
PKG_VERSION:=2.2.0
PKG_VERSION:=2.3.0
PKG_RELEASE:=1
PYPI_NAME:=dnspython
PKG_HASH:=e79351e032d0b606b98d38a4b0e6e2275b31a5b85c873e587cc11b73aca026d6
PKG_HASH:=224e32b03eb46be70e12ef6d64e0be123a64e621ab4c0822ff6d450d52a540b9
PKG_LICENSE:=ISC
PKG_LICENSE_FILES:=LICENSE
PKG_MAINTAINER:=Josef Schlehofer <pepe.schlehofer@gmail.com>
PKG_BUILD_DEPENDS:=python-poetry-core/host
include ../pypi.mk
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk

View File

@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=python-docker
PKG_VERSION:=6.0.1
PKG_RELEASE:=1
PKG_RELEASE:=3
PYPI_NAME:=docker
PKG_HASH:=896c4282e5c7af5c45e8b683b0b0c33932974fe6e50fc6906a0a83616ab3da97
@ -11,12 +11,12 @@ PKG_MAINTAINER:=Javier Marcet <javier@marcet.info>
PKG_LICENSE:=Apache-2.0
PKG_LICENSE_FILES:=LICENSE
PKG_BUILD_DEPENDS:=python-setuptools-scm/host
include ../pypi.mk
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
PYTHON3_PKG_SETUP_ARGS:=
define Package/python3-docker
SECTION:=lang
CATEGORY:=Languages

View File

@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=python-dockerpty
PKG_VERSION:=0.4.1
PKG_RELEASE:=3
PKG_RELEASE:=4
PYPI_NAME:=dockerpty
PKG_HASH:=69a9d69d573a0daa31bcd1c0774eeed5c15c295fe719c61aca550ed1393156ce
@ -15,8 +15,6 @@ include ../pypi.mk
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
PYTHON3_PKG_SETUP_ARGS:=
define Package/python3-dockerpty
SECTION:=lang
CATEGORY:=Languages

View File

@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=python-docopt
PKG_VERSION:=0.6.2
PKG_RELEASE:=2
PKG_RELEASE:=3
PYPI_NAME:=docopt
PKG_HASH:=49b3a825280bd66b3aa83585ef59c4a8c82f2c8a522dbe754a8bc8d08c85c491
@ -15,8 +15,6 @@ include ../pypi.mk
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
PYTHON3_PKG_SETUP_ARGS:=
define Package/python3-docopt
SECTION:=lang
CATEGORY:=Languages

View File

@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=docutils
PKG_VERSION:=0.19
PKG_RELEASE:=1
PKG_RELEASE:=2
PYPI_NAME:=$(PKG_NAME)
PKG_HASH:=33995a6753c30b7f577febfc2c50411fec6aac7f7ffeb7c4cfe5991072dcf9e6
@ -29,8 +29,6 @@ such as HTML, XML, and LaTeX. For input Docutils supports reStructuredText,
an easy-to-read, what-you-see-is-what-you-get plaintext markup syntax.
endef
PYTHON3_PKG_SETUP_ARGS:=
$(eval $(call Py3Package,python3-docutils))
$(eval $(call BuildPackage,python3-docutils))
$(eval $(call BuildPackage,python3-docutils-src))

View File

@ -10,7 +10,7 @@ include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=python-evdev
PKG_VERSION:=1.6.1
PKG_RELEASE:=1
PKG_RELEASE:=2
PKG_LICENSE:=BSD-3-Clause
PKG_MAINTAINER:=Paulo Costa <me@paulo.costa.nom.br>, Alexandru Ardelean <ardeleanalex@gmail.com>
@ -39,10 +39,11 @@ endef
LINUX_EVDEV_HEADERS="$(LINUX_DIR)/include/uapi/linux/input.h:$(LINUX_DIR)/include/uapi/linux/input-event-codes.h"
PYTHON3_PKG_SETUP_GLOBAL_ARGS:= \
build build_ecodes \
--evdev-headers="$(LINUX_EVDEV_HEADERS)" \
build_ext
PYTHON3_PKG_BUILD_CONFIG_SETTINGS:= \
--global-option=build \
--global-option=build_ecodes \
--global-option=--evdev-headers="$(LINUX_EVDEV_HEADERS)" \
--global-option=build_ext
$(eval $(call Py3Package,python3-evdev))
$(eval $(call BuildPackage,python3-evdev))

View File

@ -8,16 +8,18 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=python-exceptiongroup
PKG_VERSION:=1.1.0
PKG_RELEASE:=1
PKG_VERSION:=1.1.1
PKG_RELEASE:=2
PYPI_NAME:=exceptiongroup
PKG_HASH:=bcb67d800a4497e1b404c2dd44fca47d3b7a5e5433dbab67f96c1a685cdfdf23
PKG_HASH:=d484c3090ba2889ae2928419117447a14daf3c1231d5e30d0aae34f354f01785
PKG_LICENSE:=MIT,Python-2.0
PKG_LICENSE_FILES:=LICENSE
PKG_MAINTAINER:=Julien Malik <julien.malik@paraiso.me>
PKG_BUILD_DEPENDS:=python-flit-scm/host
include ../pypi.mk
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
@ -28,9 +30,7 @@ define Package/python3-exceptiongroup
SUBMENU:=Python
TITLE:=Backport of PEP 654 (exception groups)
URL:=https://github.com/agronholm/exceptiongroup
DEPENDS:= \
+python3-light \
+python3-attrs
DEPENDS:=+python3-light
endef
define Package/python3-exceptiongroup/description

View File

@ -1,31 +0,0 @@
From d6a0c3045598597023ee2423144b134fc87f4b6f Mon Sep 17 00:00:00 2001
From: Julien Malik <julien.malik@paraiso.me>
Date: Sat, 26 Nov 2022 13:05:20 +0100
Subject: [PATCH] add setup.py to avoid depending on flit for building
---
setup.py | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
create mode 100644 setup.py
--- /dev/null
+++ b/setup.py
@@ -0,0 +1,18 @@
+#!/usr/bin/env python
+
+import setuptools
+
+setuptools.setup(
+ name='exceptiongroup',
+ version='1.1.0',
+ description='Backport of PEP 654 (exception groups)',
+ author='Alex Grönholm',
+ author_email='Alex Grönholm <alex.gronholm@nextday.fi>',
+ url='https://github.com/agronholm/exceptiongroup',
+ packages=['exceptiongroup'],
+ package_data={'': ['*']},
+ package_dir={'': 'src'},
+ extras_require={'test': ['pytest >= 6']},
+ python_requires='>=3.7',
+)
+

View File

@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=python-gmpy2
PKG_VERSION:=2.0.8
PKG_RELEASE:=5
PKG_RELEASE:=6
PYPI_NAME:=gmpy2
PYPI_SOURCE_EXT:=zip
@ -23,7 +23,7 @@ include ../pypi.mk
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
PYTHON3_PKG_SETUP_ARGS:=--nompfr
PYTHON3_PKG_BUILD_CONFIG_SETTINGS:=--global-option=--nompfr
define Package/python3-gmpy2
SECTION:=lang

View File

@ -1,5 +1,5 @@
#
# Copyright (C) 2018 OpenWrt.org
# Copyright (C) 2018, 2021, 2023 Jeffery To
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
@ -8,11 +8,11 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=python-incremental
PKG_VERSION:=21.3.0
PKG_VERSION:=22.10.0
PKG_RELEASE:=1
PYPI_NAME:=incremental
PKG_HASH:=02f5de5aff48f6b9f665d99d48bfc7ec03b6e3943210de7cfc88856d755d6f57
PKG_HASH:=912feeb5e0f7e0188e6f42241d2f450002e11bbc0937c65865045854c24c0bd0
PKG_LICENSE:=MIT
PKG_LICENSE_FILES:=LICENSE
@ -20,7 +20,9 @@ PKG_MAINTAINER:=Jeffery To <jeffery.to@gmail.com>
include ../pypi.mk
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/host-build.mk
include ../python3-package.mk
include ../python3-host-build.mk
define Package/python3-incremental
SECTION:=lang
@ -28,7 +30,7 @@ define Package/python3-incremental
SUBMENU:=Python
TITLE:=Versions your Python projects
URL:=https://github.com/twisted/incremental
DEPENDS:=+python3-light
DEPENDS:=+python3-light +python3-distutils +python3-pkg-resources
endef
define Package/python3-incremental/description
@ -38,3 +40,4 @@ endef
$(eval $(call Py3Package,python3-incremental))
$(eval $(call BuildPackage,python3-incremental))
$(eval $(call BuildPackage,python3-incremental-src))
$(eval $(call HostBuild))

View File

@ -1,11 +1,14 @@
--- a/setup.py
+++ b/setup.py
@@ -31,7 +31,7 @@ setup(
"Programming Language :: Python :: 3.5",
"Programming Language :: Python :: 3.6",
],
- packages=find_packages("src", exclude=("exampleproj",)),
+ packages=find_packages("src", exclude=("exampleproj", "*.tests", "*.tests.*")),
package_dir={"": "src"},
extras_require={"scripts": ["click>=6.0", "twisted>=16.4.0"]},
license="MIT",
--- a/setup.cfg
+++ b/setup.cfg
@@ -30,7 +30,10 @@ zip_safe = False
[options.packages.find]
where = src
-exclude = exampleproj
+exclude =
+ exampleproj
+ *.tests
+ *.tests.*
[options.package_data]
incremental = py.typed

View File

@ -6,7 +6,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=python-intelhex
PKG_VERSION:=2.2.1
PKG_RELEASE:=3
PKG_RELEASE:=4
PYPI_NAME:=IntelHex
PYPI_SOURCE_NAME:=intelhex
@ -34,8 +34,6 @@ define Package/python3-intelhex/description
scratch and manipulate data from Intel HEX file format.
endef
PYTHON3_PKG_SETUP_ARGS:=
$(eval $(call Py3Package,python3-intelhex))
$(eval $(call BuildPackage,python3-intelhex))
$(eval $(call BuildPackage,python3-intelhex-src))

View File

@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=python-jsonschema
PKG_VERSION:=4.17.3
PKG_RELEASE:=2
PKG_RELEASE:=3
PYPI_NAME:=jsonschema
PKG_HASH:=0f864437ab8b6076ba6707453ef8f98a6a0d512a80e93f8abdb676f737ecb60d
@ -11,7 +11,7 @@ PKG_MAINTAINER:=Javier Marcet <javier@marcet.info>
PKG_LICENSE:=MIT
PKG_LICENSE_FILES:=COPYING
PKG_BUILD_DEPENDS:=python-setuptools-scm/host
PKG_BUILD_DEPENDS:=python-hatchling/host python-hatch-vcs/host python-hatch-fancy-pypi-readme/host
include ../pypi.mk
include $(INCLUDE_DIR)/package.mk

View File

@ -1,104 +0,0 @@
--- /dev/null
+++ b/setup.py
@@ -0,0 +1,2 @@
+from setuptools import setup
+setup(use_scm_version=True)
--- /dev/null
+++ b/setup.cfg
@@ -0,0 +1,96 @@
+[metadata]
+name = jsonschema
+url = https://github.com/python-jsonschema/jsonschema
+project_urls =
+ Funding = https://github.com/sponsors/Julian
+ Tidelift = https://tidelift.com/subscription/pkg/pypi-jsonschema?utm_source=pypi-jsonschema&utm_medium=referral&utm_campaign=pypi-link
+ Documentation = https://python-jsonschema.readthedocs.io/
+ Changelog = https://github.com/python-jsonschema/jsonschema/blob/main/CHANGELOG.rst
+ Source = https://github.com/python-jsonschema/jsonschema
+ Issues = https://github.com/python-jsonschema/jsonschema/issues/
+description = An implementation of JSON Schema validation for Python
+long_description = file: README.rst
+long_description_content_type = text/x-rst
+author = Julian Berman
+author_email = Julian+jsonschema@GrayVines.com
+license = MIT
+classifiers =
+ Development Status :: 5 - Production/Stable
+ Intended Audience :: Developers
+ License :: OSI Approved :: MIT License
+ Operating System :: OS Independent
+ Programming Language :: Python
+ Programming Language :: Python :: 3.7
+ Programming Language :: Python :: 3.8
+ Programming Language :: Python :: 3.9
+ Programming Language :: Python :: 3.10
+ Programming Language :: Python :: 3.11
+ Programming Language :: Python :: Implementation :: CPython
+ Programming Language :: Python :: Implementation :: PyPy
+
+[options]
+packages = find:
+python_requires = >=3.7
+install_requires =
+ attrs>=17.4.0
+ importlib_metadata;python_version<'3.8'
+ importlib_resources>=1.4.0;python_version<'3.9'
+ pyrsistent>=0.14.0,!=0.17.0,!=0.17.1,!=0.17.2
+ typing_extensions;python_version<'3.8'
+
+[options.extras_require]
+format =
+ fqdn
+ idna
+ isoduration
+ jsonpointer>1.13
+ rfc3339-validator
+ rfc3987
+ uri_template
+ webcolors>=1.11
+format_nongpl =
+ fqdn
+ idna
+ isoduration
+ jsonpointer>1.13
+ rfc3339-validator
+ rfc3986-validator>0.1.0
+ uri_template
+ webcolors>=1.11
+
+[options.entry_points]
+console_scripts =
+ jsonschema = jsonschema.cli:main
+
+[options.package_data]
+jsonschema = schemas/*.json, schemas/*/*.json
+
+[flake8]
+ban-relative-imports = true
+inline-quotes = "
+exclude =
+ jsonschema/__init__.py
+ jsonschema/_reflect.py
+ignore =
+ B008, # Barring function calls in default args. Ha, no.
+ B306, # See https://github.com/PyCQA/flake8-bugbear/issues/131
+ W503, # (flake8 default) old PEP8 boolean operator line breaks
+
+[mypy]
+ignore_missing_imports = true
+
+[pydocstyle]
+match = (?!(test_|_|compat|cli)).*\.py # see PyCQA/pydocstyle#323
+add-select =
+ D410, # Trailing whitespace plz
+add-ignore =
+ D107, # Hah, no
+ D200, # 1-line docstrings don't need to be on one line
+ D202, # One line is fine.
+ D412, # Trailing whitespace plz
+ D413, # No trailing whitespace plz
+
+[egg_info]
+tag_build =
+tag_date = 0
+

View File

@ -32,7 +32,7 @@ define Package/python3-packaging
SUBMENU:=Python
TITLE:=Core utilities for Python packages
URL:=https://github.com/pypa/packaging
DEPENDS:=+python3-light +python3-logging +python3-urllib @BROKEN
DEPENDS:=+python3-light +python3-logging +python3-urllib
endef
define Package/python3-packaging/description

View File

@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=python-paramiko
PKG_VERSION:=2.12.0
PKG_RELEASE:=1
PKG_RELEASE:=2
PYPI_NAME:=paramiko
PKG_HASH:=376885c05c5d6aa6e1f4608aac2a6b5b0548b1add40274477324605903d9cd49
@ -15,8 +15,6 @@ include ../pypi.mk
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
PYTHON3_PKG_SETUP_ARGS:=
define Package/python3-paramiko
SECTION:=lang
CATEGORY:=Languages

View File

@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=python-parsley
PKG_VERSION:=1.3
PKG_RELEASE:=5
PKG_RELEASE:=6
PYPI_NAME:=Parsley
PKG_HASH:=9444278d47161d5f2be76a767809a3cbe6db4db822f46a4fd7481d4057208d41
@ -22,8 +22,6 @@ include ../pypi.mk
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
PYTHON3_PKG_SETUP_ARGS:=
define Package/python3-parsley
SECTION:=lang
CATEGORY:=Languages

View File

@ -0,0 +1,48 @@
#
# Copyright (C) 2023 Jeffery To
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=python-pkgconfig
PKG_VERSION:=1.5.5
PKG_RELEASE:=1
PYPI_NAME:=pkgconfig
PKG_HASH:=deb4163ef11f75b520d822d9505c1f462761b4309b1bb713d08689759ea8b899
PKG_LICENSE:=MIT
PKG_LICENSE_FILES:=LICENSE
PKG_MAINTAINER:=Jeffery To <jeffery.to@gmail.com>
PKG_HOST_ONLY:=1
HOST_BUILD_DEPENDS:=python3/host python-build/host python-installer/host python-poetry-core/host
include ../pypi.mk
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/host-build.mk
include ../python3-package.mk
include ../python3-host-build.mk
define Package/python3-pkgconfig
SECTION:=lang
CATEGORY:=Languages
SUBMENU:=Python
TITLE:=Interface Python with pkg-config
URL:=https://github.com/matze/pkgconfig
DEPENDS:=+python3-light
BUILDONLY:=1
endef
define Package/python3-pkgconfig/description
pkgconfig is a Python module to interface with the pkg-config command
line tool for Python 3.3+.
endef
$(eval $(call Py3Package,python3-pkgconfig))
$(eval $(call BuildPackage,python3-pkgconfig))
$(eval $(call BuildPackage,python3-pkgconfig-src))
$(eval $(call HostBuild))

View File

@ -4,16 +4,14 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=python-pycrate
PKG_VERSION:=0.5.5
PKG_VERSION:=0.6.0
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://github.com/P1sec/pycrate/archive/refs/tags/$(PKG_VERSION).tar.gz?
PKG_HASH:=73072234359cdc11d7c6790c367d5565fdaea284a07df882b8b5295f2a4f83d1
PYPI_NAME:=pycrate
PKG_HASH:=b49738c02a3f93ba9f76c0dac82b689a5341882814b36c714e9600e9f560daf7
PKG_BUILD_DIR:=$(BUILD_DIR)/pycrate-$(PKG_VERSION)
PKG_LICENSE:=LGPL-2.1
PKG_LICENSE:=LGPL-2.1-or-later
PKG_LICENSE_FILES:=license.txt
PKG_MAINTAINER:=David Bauer <mail@david-bauer.net>
include ../pypi.mk
@ -21,10 +19,10 @@ include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
define Package/python3-pycrate
SECTION:=lang-python
SECTION:=lang
CATEGORY:=Languages
SUBMENU:=Python
TITLE:=python3-pycrate
TITLE:=A software suite to handle various data formats
URL:=https://github.com/P1sec/pycrate
DEPENDS:=+python3-light
endef

View File

@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=python-pynacl
PKG_VERSION:=1.5.0
PKG_RELEASE:=2
PKG_RELEASE:=3
PYPI_NAME:=PyNaCl
PKG_HASH:=8ac7448f09ab85811607bdd21ec2464495ac8b7c66d146bf545b0f08fb9220ba
@ -13,7 +13,7 @@ PKG_LICENSE_FILES:=LICENSE
PKG_BUILD_DEPENDS:=libffi/host python-cffi/host # cffi>=1.4.1
PYTHON3_PKG_SETUP_VARS:= SODIUM_INSTALL=system
PYTHON3_PKG_BUILD_VARS:=SODIUM_INSTALL=system
include ../pypi.mk
include $(INCLUDE_DIR)/package.mk

View File

@ -8,11 +8,11 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=python-pytest-forked
PKG_VERSION:=1.3.0
PKG_RELEASE:=3
PKG_VERSION:=1.6.0
PKG_RELEASE:=1
PYPI_NAME:=pytest-forked
PKG_HASH:=6aa9ac7e00ad1a539c41bec6d21011332de671e938c7637378ec9710204e37ca
PKG_HASH:=4dafd46a9a600f65d822b8f605133ecf5b3e1941ebb3588e943b4e3eb71a5a3f
PKG_MAINTAINER:=Jan Pavlinec <jan.pavlinec1@gmail.com>
PKG_LICENSE:=MIT

View File

@ -8,11 +8,11 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=python-pytest
PKG_VERSION:=6.2.3
PKG_RELEASE:=2
PKG_VERSION:=7.3.0
PKG_RELEASE:=1
PYPI_NAME:=pytest
PKG_HASH:=671238a46e4df0f3498d1c3270e5deb9b32d25134c99b7d75370a68cfbe9b634
PKG_HASH:=58ecc27ebf0ea643ebfdf7fb1249335da761a00c9f955bcd922349bcb68ee57d
PKG_MAINTAINER:=Jan Pavlinec <jan.pavlinec1@gmail.com>
PKG_LICENSE:=MIT
@ -32,14 +32,11 @@ define Package/python3-pytest
URL:=https://docs.pytest.org/en/latest/
DEPENDS:= \
+python3 \
+python3-more-itertools \
+python3-py \
+python3-attrs \
+python3-pluggy \
+python3-packaging \
+python3-toml \
+python3-iniconfig \
@BROKEN
+python3-tomli \
+python3-exceptiongroup \
+python3-iniconfig
endef
define Package/python3-pytest/description

View File

@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=python-stem
PKG_VERSION:=1.8.1
PKG_RELEASE:=1
PKG_RELEASE:=2
PYPI_NAME:=stem
PKG_HASH:=81d43a7c668ba9d7bc1103b2e7a911e9d148294b373d27a59ae8da79ef7a3e2f
@ -11,8 +11,6 @@ PKG_MAINTAINER:=Javier Marcet <javier@marcet.info>
PKG_LICENSE:=LGPL-3.0-only
PKG_LICENSE_FILES:=LICENSE
PYTHON3_PKG_SETUP_ARGS:=
include ../pypi.mk
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk

View File

@ -1,5 +1,6 @@
#
# Copyright (C) 2006-2011, 2015-2018 OpenWrt.org
# Copyright (C) 2006-2011 OpenWrt.org
# Copyright (C) 2015-2016, 2018-2023 Jeffery To
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
@ -8,11 +9,11 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=python-twisted
PKG_VERSION:=22.4.0
PKG_VERSION:=22.10.0
PKG_RELEASE:=1
PYPI_NAME:=Twisted
PKG_HASH:=a047990f57dfae1e0bd2b7df2526d4f16dcdc843774dc108b78c52f2a5f13680
PKG_HASH:=32acbd40a94f5f46e7b42c109bfae2b302250945561783a8b7a059048f2d4d31
PKG_BUILD_DEPENDS:=libtirpc
@ -21,6 +22,8 @@ PKG_LICENSE_FILES:=LICENSE
PKG_MAINTAINER:=Jeffery To <jeffery.to@gmail.com>
PKG_CPE_ID:=cpe:/a:twistedmatrix:twisted
PKG_BUILD_DEPENDS:=python-incremental/host
include ../pypi.mk
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
@ -39,9 +42,9 @@ define Package/python3-twisted
+python3-bcrypt \
+python3-constantly \
+python3-cryptography \
+python3-hyperlink \
+python3-idna \
+python3-incremental \
+python3-hyperlink \
+python3-pkg-resources \
+python3-pyasn1 \
+python3-pyopenssl \

View File

@ -1,6 +1,6 @@
--- a/setup.cfg
+++ b/setup.cfg
@@ -112,7 +112,6 @@ console_scripts =
@@ -115,7 +115,6 @@ console_scripts =
conch = twisted.conch.scripts.conch:run
mailmail = twisted.mail.scripts.mailmail:run
pyhtmlizer = twisted.scripts.htmlizer:run

View File

@ -1,6 +1,6 @@
--- a/setup.cfg
+++ b/setup.cfg
@@ -104,6 +104,9 @@ mypy =
@@ -107,6 +107,9 @@ mypy =
[options.packages.find]
where = src
@ -10,7 +10,7 @@
[options.entry_points]
console_scripts =
@@ -123,6 +126,7 @@ console_scripts =
@@ -126,6 +129,7 @@ console_scripts =
*.pxi
*.pyx
build.bat

View File

@ -8,18 +8,19 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=python-typing-extensions
PKG_VERSION:=3.10.0.0
PKG_VERSION:=4.5.0
PKG_RELEASE:=1
PYPI_NAME:=typing-extensions
PYPI_SOURCE_NAME:=typing_extensions
PKG_HASH:=50b6f157849174217d0656f99dc82fe932884fb250826c18350e159ec6cdf342
PKG_HASH:=5cb5f4a79139d699607b3ef622a1dedafa84e115ab0024e0d9c044a9479ca7cb
PKG_MAINTAINER:=Jan Pavlinec <jan.pavlinec1@gmail.com>
PKG_MAINTAINER:=Jan Pavlinec <jan.pavlinec1@gmail.com>, Jeffery To <jeffery.to@gmail.com>
PKG_LICENSE:=PSF-2.0
PKG_LICENSE_FILES:=LICENSE
HOST_BUILD_DEPENDS:=python3/host python-build/host python-installer/host python-wheel/host
PKG_BUILD_DEPENDS:=python-flit-core/host
HOST_BUILD_DEPENDS:=python3/host python-build/host python-installer/host python-flit-core/host
include ../pypi.mk
include $(INCLUDE_DIR)/package.mk

View File

@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=python-ubus
PKG_VERSION:=0.1.1
PKG_RELEASE:=1
PKG_RELEASE:=2
PYPI_NAME:=ubus
PKG_HASH:=7e57bda989bc35b48c7075d03ec2818226e722bbf1bde138d7e7ea26d462682a
@ -18,6 +18,8 @@ PKG_MAINTAINER:=Erik Larsson <who+openwrt@cnackers.org>
PKG_LICENSE:=LGPL-2.1-or-later
PKG_LICENSE_FILES:=LICENSE
PYTHON3_PKG_FORCE_DISTUTILS_SETUP:=1
include ../pypi.mk
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk

View File

@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=python-yaml
PKG_VERSION:=6.0
PKG_RELEASE:=2
PKG_RELEASE:=4
PYPI_NAME:=PyYAML
PKG_HASH:=68fb519c14306fec9720a2a5b45bc9f0c8d1b9c72adf45c37baedfcd949c35a2
@ -38,8 +38,7 @@ define Package/python3-yaml/description
PyYAML is a YAML parser and emitter for the Python programming language.
endef
PYTHON3_PKG_SETUP_GLOBAL_ARGS:=--with-libyaml
PYTHON3_PKG_SETUP_ARGS:=
PYTHON3_PKG_BUILD_VARS:=PYYAML_FORCE_LIBYAML=1
$(eval $(call Py3Package,python3-yaml))
$(eval $(call BuildPackage,python3-yaml))

View File

@ -98,12 +98,6 @@ HOST_PYTHON3_PIP_VARS:= \
PIP_CONFIG_FILE=/dev/null \
PIP_DISABLE_PIP_VERSION_CHECK=1
define SetupPyShim
if [ -f $(1)/pyproject.toml ] && [ ! -f $(1)/setup.py ] ; then \
$(CP) $(python3_mk_path)setup.py.shim $(1)setup.py ; \
fi
endef
# Multiple concurrent pip processes can lead to errors or unexpected results: https://github.com/pypa/pip/issues/2361
# $(1) => packages to install
define HostPython3/PipInstall

View File

@ -56,18 +56,6 @@ define Python3/Run
$(HOST_PYTHON3_BIN) $(2)
endef
# $(1) => build subdir
# $(2) => additional arguments to setup.py
# $(3) => additional variables
define Python3/ModSetup
$(INSTALL_DIR) $(PKG_INSTALL_DIR)/$(PYTHON3_PKG_DIR)
$(call SetupPyShim,$(PKG_BUILD_DIR)/$(strip $(1)))
$(call Python3/Run, \
$(PKG_BUILD_DIR)/$(strip $(1)), \
setup.py $(2), \
$(3) PY_PKG_VERSION=$(PKG_VERSION))
endef
define Python3/FixShebang
$(SED) "1"'!'"b;s,^#"'!'".*python.*,#"'!'"/usr/bin/python3," -i --follow-symlinks $(1)
endef
@ -189,10 +177,26 @@ endef
# Py3Build
PYTHON3_PKG_SETUP_DIR ?=
PYTHON3_PKG_SETUP_GLOBAL_ARGS ?=
PYTHON3_PKG_SETUP_ARGS ?= --single-version-externally-managed
PYTHON3_PKG_SETUP_VARS ?=
PYTHON3_PKG_BUILD?=1
PYTHON3_PKG_FORCE_DISTUTILS_SETUP?=
PYTHON3_PKG_SETUP_DIR?=
PYTHON3_PKG_SETUP_GLOBAL_ARGS?=
PYTHON3_PKG_SETUP_ARGS?=--single-version-externally-managed
PYTHON3_PKG_SETUP_VARS?=
PYTHON3_PKG_BUILD_CONFIG_SETTINGS?=
PYTHON3_PKG_BUILD_VARS?=$(PYTHON3_PKG_SETUP_VARS)
PYTHON3_PKG_BUILD_ARGS?=
PYTHON3_PKG_BUILD_PATH?=$(PYTHON3_PKG_SETUP_DIR)
PYTHON3_PKG_INSTALL_VARS?=
PYTHON3_PKG_WHEEL_NAME?=$(subst -,_,$(if $(PYPI_SOURCE_NAME),$(PYPI_SOURCE_NAME),$(PKG_NAME)))
PYTHON3_PKG_WHEEL_VERSION?=$(PKG_VERSION)
PYTHON3_PKG_BUILD_DIR?=$(PKG_BUILD_DIR)/$(PYTHON3_PKG_BUILD_PATH)
PYTHON3_PKG_HOST_PIP_INSTALL_ARGS = \
$(foreach req,$(HOST_PYTHON3_PACKAGE_BUILD_DEPENDS), \
@ -224,21 +228,58 @@ define Py3Build/InstallBuildDepends
)
endef
define Py3Build/Compile/Default
define Py3Build/Compile/Distutils
$(call Py3Build/InstallBuildDepends)
$(call Python3/ModSetup, \
$(PYTHON3_PKG_SETUP_DIR), \
$(PYTHON3_PKG_SETUP_GLOBAL_ARGS) \
install --prefix="/usr" --root="$(PKG_INSTALL_DIR)" \
$(PYTHON3_PKG_SETUP_ARGS), \
$(INSTALL_DIR) $(PKG_INSTALL_DIR)/$(PYTHON3_PKG_DIR)
$(call Python3/Run, \
$(PKG_BUILD_DIR)/$(strip $(PYTHON3_PKG_SETUP_DIR)), \
setup.py \
$(PYTHON3_PKG_SETUP_GLOBAL_ARGS) \
install \
--prefix="/usr" \
--root="$(PKG_INSTALL_DIR)" \
$(PYTHON3_PKG_SETUP_ARGS) \
, \
$(PYTHON3_PKG_SETUP_VARS) \
)
endef
Py3Build/Configure=$(Py3Build/Configure/Default)
Py3Build/Compile=$(Py3Build/Compile/Default)
define Py3Build/Compile/Default
$(call Py3Build/InstallBuildDepends)
$(call Python3/Run, \
$(PKG_BUILD_DIR), \
-m build \
--no-isolation \
--outdir "$(PYTHON3_PKG_BUILD_DIR)"/openwrt-build \
--wheel \
$(foreach setting,$(PYTHON3_PKG_BUILD_CONFIG_SETTINGS),--config-setting=$(setting)) \
$(PYTHON3_PKG_BUILD_ARGS) \
"$(PYTHON3_PKG_BUILD_DIR)" \
, \
$(PYTHON3_PKG_BUILD_VARS) \
)
endef
PYTHON3_PKG_BUILD ?= 1
define Py3Build/Install/Default
$(call Python3/Run, \
$(PKG_BUILD_DIR), \
-m installer \
--destdir "$(PKG_INSTALL_DIR)" \
--no-compile-bytecode \
--prefix /usr \
"$(PYTHON3_PKG_BUILD_DIR)"/openwrt-build/$(PYTHON3_PKG_WHEEL_NAME)-$(PYTHON3_PKG_WHEEL_VERSION)-*.whl \
, \
$(PYTHON3_PKG_INSTALL_VARS) \
)
endef
Py3Build/Compile=$(Py3Build/Compile/Default)
Py3Build/Install=$(Py3Build/Install/Default)
ifeq ($(strip $(PYTHON3_PKG_FORCE_DISTUTILS_SETUP)),1)
Py3Build/Compile=$(Py3Build/Compile/Distutils)
Py3Build/Install:=:
endif
ifeq ($(strip $(PYTHON3_PKG_BUILD)),1)
ifeq ($(PY3),stdlib)
@ -246,4 +287,5 @@ ifeq ($(strip $(PYTHON3_PKG_BUILD)),1)
endif
Hooks/Configure/Post+=Py3Build/CheckHostPipVersionMatch
Build/Compile=$(Py3Build/Compile)
Build/Install=$(Py3Build/Install)
endif

View File

@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=python3-pyroute2
PKG_VERSION:=0.5.16
PKG_RELEASE:=1
PKG_RELEASE:=2
PYPI_NAME:=pyroute2
PKG_HASH:=fe681a2d008cac815b9f287250d69a333fbfc2b2d89c37d58798104057149989
@ -43,8 +43,6 @@ define Package/python3-pyroute2/description
but now it supports many netlink protocols.
endef
PYTHON3_PKG_SETUP_ARGS:=
$(eval $(call Py3Package,python3-pyroute2))
$(eval $(call BuildPackage,python3-pyroute2))
$(eval $(call BuildPackage,python3-pyroute2-src))

View File

@ -11,7 +11,7 @@ include $(TOPDIR)/rules.mk
include ../python3-version.mk
PKG_NAME:=python3
PKG_RELEASE:=3
PKG_RELEASE:=4
PKG_VERSION:=$(PYTHON3_VERSION).$(PYTHON3_VERSION_MICRO)
PKG_SOURCE:=Python-$(PKG_VERSION).tar.xz
@ -45,7 +45,7 @@ PKG_CONFIG_DEPENDS:= \
CONFIG_PACKAGE_python3-pkg-resources \
CONFIG_PACKAGE_python3-setuptools CONFIG_PACKAGE_python3-pip
PKG_BUILD_DEPENDS:=bluez python3/host
PKG_BUILD_DEPENDS:=bluez python3/host python-build/host python-installer/host python-wheel/host
HOST_BUILD_DEPENDS:=bzip2/host libffi/host
include $(INCLUDE_DIR)/host-build.mk

View File

@ -1,6 +0,0 @@
import os
import setuptools
# FIXME: see about getting rid of PY_PKG_VERSION asap when setuptools handles this correctly
if __name__ == "__main__":
setuptools.setup(version=os.environ['PY_PKG_VERSION'])

View File

@ -7,7 +7,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=fail2ban
PKG_VERSION:=0.11.2
PKG_RELEASE:=7
PKG_RELEASE:=8
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/fail2ban/fail2ban/tar.gz/$(PKG_VERSION)?
@ -48,6 +48,11 @@ define Package/fail2ban/conffiles
/etc/config/fail2ban
endef
define Build/Compile
cd $(PKG_BUILD_DIR) && ./fail2ban-2to3
$(call Py3Build/Compile)
endef
define Py3Package/fail2ban/filespec
+|$(PYTHON3_PKG_DIR)
-|$(PYTHON3_PKG_DIR)/fail2ban/tests
@ -77,11 +82,6 @@ define Py3Package/fail2ban/install
$(INSTALL_BIN) ./files/fail2ban.defaults $(1)/etc/uci-defaults/99_fail2ban
endef
define Py3Build/Compile
cd $(PKG_BUILD_DIR) && ./fail2ban-2to3
$(call Py3Build/Compile/Default)
endef
$(eval $(call Py3Package,fail2ban))
$(eval $(call BuildPackage,fail2ban))
$(eval $(call BuildPackage,fail2ban-src))

View File

@ -14,7 +14,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=nmap
PKG_VERSION:=7.93
PKG_RELEASE:=1
PKG_RELEASE:=2
PKG_MAINTAINER:=Nuno Gonçalves <nunojpg@gmail.com>
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
@ -27,6 +27,7 @@ PKG_CPE_ID:=cpe:/a:nmap:nmap
PKG_BUILD_PARALLEL:=1
PKG_INSTALL:=1
PYTHON3_PKG_BUILD:=0
PYTHON3_PKG_FORCE_DISTUTILS_SETUP:=1
include $(INCLUDE_DIR)/package.mk
include ../../lang/python/python3-package.mk
@ -150,6 +151,11 @@ define Build/Compile
$(call Py3Build/Compile)
endef
define Build/Install
$(call Build/Install/Default,)
$(call Py3Build/Install)
endef
define Package/nmap/install
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/nmap $(1)/usr/bin/

View File

@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=onionshare-cli
PKG_VERSION:=2.3.1
PKG_RELEASE:=2
PKG_RELEASE:=3
PYPI_NAME:=onionshare-cli
PYPI_SOURCE_NAME:=onionshare_cli
@ -21,6 +21,8 @@ PKG_LICENSE_FILES:=LICENSE
PKG_BUILD_DEPENDS:=python-setuptools-scm/host
PYTHON3_PKG_FORCE_DISTUTILS_SETUP:=1
include ../../lang/python/pypi.mk
include $(INCLUDE_DIR)/package.mk
include ../../lang/python/python3-package.mk

View File

@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=i2c-tools
PKG_VERSION:=4.3
PKG_RELEASE:=1
PKG_RELEASE:=3
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=@KERNEL/software/utils/i2c-tools
@ -67,8 +67,9 @@ define Package/python3-smbus/description
This package contain the Python3 bindings for Linux SMBus access through i2c-dev.
endef
PYTHON3_PKG_SETUP_ARGS:=
PYTHON3_PKG_SETUP_DIR:=py-smbus
PYTHON3_PKG_BUILD_PATH:=py-smbus
PYTHON3_PKG_WHEEL_NAME:=smbus
PYTHON3_PKG_WHEEL_VERSION:=1.1
define Build/Compile
$(MAKE) -C $(PKG_BUILD_DIR) \
@ -86,6 +87,10 @@ define Build/InstallDev
$(CP) $(PKG_BUILD_DIR)/lib/libi2c.{a,so*} $(1)/usr/lib/
endef
define Build/Install
$(call Py3Build/Install)
endef
define Package/libi2c/install
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_BUILD_DIR)/lib/libi2c.so* $(1)/usr/lib/

View File

@ -12,7 +12,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=xxhash
PKG_VERSION:=0.8.1
PKG_RELEASE:=1
PKG_RELEASE:=2
PKG_SOURCE:=$(PKG_NAME)_$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://github.com/Cyan4973/xxHash/archive/v$(PKG_VERSION)
@ -24,8 +24,12 @@ PKG_LICENSE:=BSD-2-Clause,GPL-2.0-or-later
PKG_LICENSE_FILES:=LICENSE,cli/COPYING
PKG_MAINTAINER:=Julien Malik <julien.malik@paraiso.me>
PKG_INSTALL:=1
include $(INCLUDE_DIR)/package.mk
PKG_UNPACK:=$(HOST_TAR) -C "$(PKG_BUILD_DIR)" --strip-components=1 -xzf "$(DL_DIR)/$(PKG_SOURCE)"
define Package/xxhash/Default
TITLE:=Extremely fast hash algorithm
URL:=https://cyan4973.github.io/xxHash/
@ -64,29 +68,25 @@ define Package/xxhash/description
This package contains the executables.
endef
define Build/Prepare
rm -rf $(PKG_BUILD_DIR)/
mkdir -p $(PKG_BUILD_DIR)/
$(TAR) -xzf $(DL_DIR)/$(PKG_SOURCE) -C $(PKG_BUILD_DIR) --strip 1
endef
MAKE_FLAGS += PREFIX=/usr
define Build/InstallDev
$(INSTALL_DIR) $(1)/usr/include
$(CP) $(PKG_BUILD_DIR)/*.h $(1)/usr/include
$(CP) $(PKG_INSTALL_DIR)/usr/include/*.h $(1)/usr/include/
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_BUILD_DIR)/libxxhash.so* $(1)/usr/lib
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libxxhash.{a,so*} $(1)/usr/lib/
$(INSTALL_DIR) $(1)/usr/lib/pkgconfig
$(CP) $(PKG_BUILD_DIR)/libxxhash.pc.in $(1)/usr/lib/pkgconfig
$(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libxxhash.pc $(1)/usr/lib/pkgconfig/
endef
define Package/libxxhash/install
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_BUILD_DIR)/libxxhash.so.* $(1)/usr/lib
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libxxhash.so.* $(1)/usr/lib/
endef
define Package/xxhash/install
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/xxh*sum $(1)/usr/bin/
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/xxh*sum $(1)/usr/bin/
endef
$(eval $(call BuildPackage,libxxhash))