diff options
| author | Hannu Nyman <hannu.nyman@iki.fi> | 2022-11-29 16:57:10 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-11-29 16:57:10 +0200 |
| commit | d115eec84f22ca87e83d284c88e525f19e5fa4b4 (patch) | |
| tree | 5a77e2b7cdb0020ecf6d8b422b16d0c1ab507d80 /lang/python | |
| parent | 8bd96675b27584b7686f053af0a6bd63c2484c92 (diff) | |
| parent | 2ad61a4529a5f600da47c071bb1bf2ce7462c14c (diff) | |
Merge pull request #19973 from julienmalik/borg
borgbackup: initial commit
Diffstat (limited to 'lang/python')
| -rw-r--r-- | lang/python/borgbackup/Makefile | 63 | ||||
| -rw-r--r-- | lang/python/python-async-generator/Makefile | 42 | ||||
| -rw-r--r-- | lang/python/python-exceptiongroup/Makefile | 42 | ||||
| -rw-r--r-- | lang/python/python-exceptiongroup/patches/0001-add-setup.py-to-avoid-depending-on-flit-for-building.patch | 31 | ||||
| -rw-r--r-- | lang/python/python-outcome/Makefile | 42 | ||||
| -rw-r--r-- | lang/python/python-pyfuse3/Makefile | 46 | ||||
| -rw-r--r-- | lang/python/python-sniffio/Makefile | 40 | ||||
| -rw-r--r-- | lang/python/python-sortedcontainers/Makefile | 40 | ||||
| -rw-r--r-- | lang/python/python-trio/Makefile | 49 |
9 files changed, 395 insertions, 0 deletions
diff --git a/lang/python/borgbackup/Makefile b/lang/python/borgbackup/Makefile new file mode 100644 index 000000000..8c6a8a924 --- /dev/null +++ b/lang/python/borgbackup/Makefile @@ -0,0 +1,63 @@ +# +# Copyright (C) 2022 Julien Malik <julien.malik@paraiso.me> +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk + +PKG_NAME:=borgbackup +PKG_VERSION:=1.2.2 +PKG_RELEASE:=1 + +PYPI_NAME:=borgbackup +PKG_HASH:=d730687443f1beb602b1d72bae36318f6f9654818fcdc50458540ec579e57260 + +PKG_LICENSE:=BSD-3-Clause +PKG_LICENSE_FILES:=LICENSE +PKG_MAINTAINER:=Julien Malik <julien.malik@paraiso.me> + +include ../pypi.mk +include $(INCLUDE_DIR)/package.mk +include ../python3-package.mk + +define Package/borgbackup + SECTION:=lang + CATEGORY:=Languages + SUBMENU:=Python + TITLE:=Deduplicated, encrypted, authenticated and compressed backups + URL:=https://github.com/borgbackup/borg + DEPENDS:= \ + +python3-light \ + +python3-msgpack \ + +python3-pyfuse3 \ + +libacl \ + +libopenssl \ + +liblz4 \ + +libzstd \ + +libxxhash +endef + +define Package/borgbackup/description + BorgBackup (short: Borg) is a deduplicating backup program. + Optionally, it supports compression and authenticated encryption. + + The main goal of Borg is to provide an efficient and secure way to backup data. + 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 + +HOST_PYTHON3_PACKAGE_BUILD_DEPENDS:=Cython + +# 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" + +$(eval $(call Py3Package,borgbackup)) +$(eval $(call BuildPackage,borgbackup)) +$(eval $(call BuildPackage,borgbackup-src)) diff --git a/lang/python/python-async-generator/Makefile b/lang/python/python-async-generator/Makefile new file mode 100644 index 000000000..b3e649032 --- /dev/null +++ b/lang/python/python-async-generator/Makefile @@ -0,0 +1,42 @@ +# +# Copyright (C) 2022 Julien Malik <julien.malik@paraiso.me> +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk + +PKG_NAME:=python-async-generator +PKG_VERSION:=1.10 +PKG_RELEASE:=1 + +PYPI_NAME:=async_generator +PKG_HASH:=6ebb3d106c12920aaae42ccb6f787ef5eefdcdd166ea3d628fa8476abe712144 + +PKG_LICENSE:=Apache-2.0|MIT +PKG_LICENSE_FILES:=LICENSE.APACHE2|LICENSE.MIT +PKG_MAINTAINER:=Julien Malik <julien.malik@paraiso.me> + +include ../pypi.mk +include $(INCLUDE_DIR)/package.mk +include ../python3-package.mk + +define Package/python3-async-generator + SECTION:=lang + CATEGORY:=Languages + SUBMENU:=Python + TITLE:=Async generators and context managers for Python 3.5+ + URL:=https://github.com/python-trio/async_generator + DEPENDS:=+python3-light +endef + +define Package/python3-async-generator/description + Python 3.6 added async generators. Python 3.7 adds some more tools to make them usable, like contextlib.asynccontextmanager. + + This library gives you all that back to Python 3.5. +endef + +$(eval $(call Py3Package,python3-async-generator)) +$(eval $(call BuildPackage,python3-async-generator)) +$(eval $(call BuildPackage,python3-async-generator-src)) diff --git a/lang/python/python-exceptiongroup/Makefile b/lang/python/python-exceptiongroup/Makefile new file mode 100644 index 000000000..dd64f9210 --- /dev/null +++ b/lang/python/python-exceptiongroup/Makefile @@ -0,0 +1,42 @@ +# +# Copyright (C) 2022 Julien Malik <julien.malik@paraiso.me> +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk + +PKG_NAME:=python-exceptiongroup +PKG_VERSION:=1.0.4 +PKG_RELEASE:=1 + +PYPI_NAME:=exceptiongroup +PKG_HASH:=bd14967b79cd9bdb54d97323216f8fdf533e278df937aa2a90089e7d6e06e5ec + +PKG_LICENSE:=MIT,Python-2.0 +PKG_LICENSE_FILES:=LICENSE +PKG_MAINTAINER:=Julien Malik <julien.malik@paraiso.me> + +include ../pypi.mk +include $(INCLUDE_DIR)/package.mk +include ../python3-package.mk + +define Package/python3-exceptiongroup + SECTION:=lang + CATEGORY:=Languages + SUBMENU:=Python + TITLE:=Backport of PEP 654 (exception groups) + URL:=https://github.com/agronholm/exceptiongroup + DEPENDS:= \ + +python3-light \ + +python3-attrs +endef + +define Package/python3-exceptiongroup/description + This is a backport of the BaseExceptionGroup and ExceptionGroup classes from Python 3.11. +endef + +$(eval $(call Py3Package,python3-exceptiongroup)) +$(eval $(call BuildPackage,python3-exceptiongroup)) +$(eval $(call BuildPackage,python3-exceptiongroup-src)) diff --git a/lang/python/python-exceptiongroup/patches/0001-add-setup.py-to-avoid-depending-on-flit-for-building.patch b/lang/python/python-exceptiongroup/patches/0001-add-setup.py-to-avoid-depending-on-flit-for-building.patch new file mode 100644 index 000000000..ec2763825 --- /dev/null +++ b/lang/python/python-exceptiongroup/patches/0001-add-setup.py-to-avoid-depending-on-flit-for-building.patch @@ -0,0 +1,31 @@ +From 99e590f2177148420f3556bbb0dc2e493e94e45f 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.0.4', ++ 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', ++) ++ diff --git a/lang/python/python-outcome/Makefile b/lang/python/python-outcome/Makefile new file mode 100644 index 000000000..05ec24128 --- /dev/null +++ b/lang/python/python-outcome/Makefile @@ -0,0 +1,42 @@ +# +# Copyright (C) 2022 Julien Malik <julien.malik@paraiso.me> +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk + +PKG_NAME:=python-outcome +PKG_VERSION:=1.2.0 +PKG_RELEASE:=1 + +PYPI_NAME:=outcome +PKG_HASH:=6f82bd3de45da303cf1f771ecafa1633750a358436a8bb60e06a1ceb745d2672 + +PKG_LICENSE:=Apache-2.0|MIT +PKG_LICENSE_FILES:=LICENSE.APACHE2|LICENSE.MIT +PKG_MAINTAINER:=Julien Malik <julien.malik@paraiso.me> + +include ../pypi.mk +include $(INCLUDE_DIR)/package.mk +include ../python3-package.mk + +define Package/python3-outcome + SECTION:=lang + CATEGORY:=Languages + SUBMENU:=Python + TITLE:=Capture the outcome of Python function calls. + URL:=https://outcome.readthedocs.io + DEPENDS:= \ + +python3-light \ + +python3-attrs +endef + +define Package/python3-outcome/description + Capture the outcome of Python function calls. Extracted from the Trio project. +endef + +$(eval $(call Py3Package,python3-outcome)) +$(eval $(call BuildPackage,python3-outcome)) +$(eval $(call BuildPackage,python3-outcome-src)) diff --git a/lang/python/python-pyfuse3/Makefile b/lang/python/python-pyfuse3/Makefile new file mode 100644 index 000000000..fd13ccfc0 --- /dev/null +++ b/lang/python/python-pyfuse3/Makefile @@ -0,0 +1,46 @@ +# +# Copyright (C) 2022 Julien Malik <julien.malik@paraiso.me> +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk + +PKG_NAME:=python-pyfuse3 +PKG_VERSION:=3.2.2 +PKG_RELEASE:=1 + +PYPI_NAME:=pyfuse3 +PKG_HASH:=aa4080913e6148bff1365d4aaacdc96767b87a1e178031fd9caeb5f0b9fc8cec + +PKG_LICENSE:=LGPL-2.0-or-later +PKG_LICENSE_FILES:=LICENSE +PKG_MAINTAINER:=Julien Malik <julien.malik@paraiso.me> + +include ../pypi.mk +include $(INCLUDE_DIR)/package.mk +include ../python3-package.mk + +define Package/python3-pyfuse3 + SECTION:=lang + CATEGORY:=Languages + SUBMENU:=Python + TITLE:=Python 3 bindings for libfuse 3 with async I/O support + URL:=https://github.com/libfuse/pyfuse3 + DEPENDS:= \ + +python3-light \ + +python3-trio \ + +libfuse3 +endef + +define Package/python3-pyfuse3/description + pyfuse3 is a set of Python 3 bindings for libfuse 3. + + It provides an asynchronous API compatible with Trio and asyncio, + and enables you to easily write a full-featured Linux filesystem in Python. +endef + +$(eval $(call Py3Package,python3-pyfuse3)) +$(eval $(call BuildPackage,python3-pyfuse3)) +$(eval $(call BuildPackage,python3-pyfuse3-src)) diff --git a/lang/python/python-sniffio/Makefile b/lang/python/python-sniffio/Makefile new file mode 100644 index 000000000..eef65ad6e --- /dev/null +++ b/lang/python/python-sniffio/Makefile @@ -0,0 +1,40 @@ +# +# Copyright (C) 2022 Julien Malik <julien.malik@paraiso.me> +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk + +PKG_NAME:=python-sniffio +PKG_VERSION:=1.3.0 +PKG_RELEASE:=1 + +PYPI_NAME:=sniffio +PKG_HASH:=e60305c5e5d314f5389259b7f22aaa33d8f7dee49763119234af3755c55b9101 + +PKG_LICENSE:=Apache-2.0|MIT +PKG_LICENSE_FILES:=LICENSE.APACHE2|LICENSE.MIT +PKG_MAINTAINER:=Julien Malik <julien.malik@paraiso.me> + +include ../pypi.mk +include $(INCLUDE_DIR)/package.mk +include ../python3-package.mk + +define Package/python3-sniffio + SECTION:=lang + CATEGORY:=Languages + SUBMENU:=Python + TITLE:=Sniff out which async library your code is running under + URL:=https://sniffio.readthedocs.io + DEPENDS:=+python3-light +endef + +define Package/python3-sniffio/description + This is a tiny package whose only purpose is to let you detect which async library your code is running under. +endef + +$(eval $(call Py3Package,python3-sniffio)) +$(eval $(call BuildPackage,python3-sniffio)) +$(eval $(call BuildPackage,python3-sniffio-src)) diff --git a/lang/python/python-sortedcontainers/Makefile b/lang/python/python-sortedcontainers/Makefile new file mode 100644 index 000000000..b049eb980 --- /dev/null +++ b/lang/python/python-sortedcontainers/Makefile @@ -0,0 +1,40 @@ +# +# Copyright (C) 2022 Julien Malik <julien.malik@paraiso.me> +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk + +PKG_NAME:=python-sortedcontainers +PKG_VERSION:=2.4.0 +PKG_RELEASE:=1 + +PYPI_NAME:=sortedcontainers +PKG_HASH:=25caa5a06cc30b6b83d11423433f65d1f9d76c4c6a0c90e3379eaa43b9bfdb88 + +PKG_LICENSE:=Apache-2.0 +PKG_LICENSE_FILES:=LICENSE +PKG_MAINTAINER:=Julien Malik <julien.malik@paraiso.me> + +include ../pypi.mk +include $(INCLUDE_DIR)/package.mk +include ../python3-package.mk + +define Package/python3-sortedcontainers + SECTION:=lang + CATEGORY:=Languages + SUBMENU:=Python + TITLE:=Sorted Containers -- Sorted List, Sorted Dict, Sorted Set + URL:=https://grantjenks.com/docs/sortedcontainers + DEPENDS:=+python3-light +endef + +define Package/python3-sortedcontainers/description + Sorted Containers is an Apache2 licensed sorted collections library, written in pure-Python, and fast as C-extensions. +endef + +$(eval $(call Py3Package,python3-sortedcontainers)) +$(eval $(call BuildPackage,python3-sortedcontainers)) +$(eval $(call BuildPackage,python3-sortedcontainers-src)) diff --git a/lang/python/python-trio/Makefile b/lang/python/python-trio/Makefile new file mode 100644 index 000000000..8afd6b29a --- /dev/null +++ b/lang/python/python-trio/Makefile @@ -0,0 +1,49 @@ +# +# Copyright (C) 2022 Julien Malik <julien.malik@paraiso.me> +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk + +PKG_NAME:=python-trio +PKG_VERSION:=0.22.0 +PKG_RELEASE:=1 + +PYPI_NAME:=trio +PKG_HASH:=ce68f1c5400a47b137c5a4de72c7c901bd4e7a24fbdebfe9b41de8c6c04eaacf + +PKG_LICENSE:=Apache-2.0|MIT +PKG_LICENSE_FILES:=LICENSE.APACHE2|LICENSE.MIT +PKG_MAINTAINER:=Julien Malik <julien.malik@paraiso.me> + +include ../pypi.mk +include $(INCLUDE_DIR)/package.mk +include ../python3-package.mk + +define Package/python3-trio + SECTION:=lang + CATEGORY:=Languages + SUBMENU:=Python + TITLE:=A friendly Python library for async concurrency and I/O + URL:=https://trio.readthedocs.io + DEPENDS:= \ + +python3-light \ + +python3-attrs \ + +python3-async-generator \ + +python3-cffi \ + +python3-exceptiongroup \ + +python3-idna \ + +python3-outcome \ + +python3-sniffio \ + +python3-sortedcontainers +endef + +define Package/python3-trio/description + The Trio project’s goal is to produce a production-quality, permissively licensed, async/await-native I/O library for Python +endef + +$(eval $(call Py3Package,python3-trio)) +$(eval $(call BuildPackage,python3-trio)) +$(eval $(call BuildPackage,python3-trio-src)) |
