summaryrefslogtreecommitdiff
path: root/lang/python
diff options
context:
space:
mode:
authorHannu Nyman <hannu.nyman@iki.fi>2022-11-29 16:57:10 +0200
committerGitHub <noreply@github.com>2022-11-29 16:57:10 +0200
commitd115eec84f22ca87e83d284c88e525f19e5fa4b4 (patch)
tree5a77e2b7cdb0020ecf6d8b422b16d0c1ab507d80 /lang/python
parent8bd96675b27584b7686f053af0a6bd63c2484c92 (diff)
parent2ad61a4529a5f600da47c071bb1bf2ce7462c14c (diff)
Merge pull request #19973 from julienmalik/borg
borgbackup: initial commit
Diffstat (limited to 'lang/python')
-rw-r--r--lang/python/borgbackup/Makefile63
-rw-r--r--lang/python/python-async-generator/Makefile42
-rw-r--r--lang/python/python-exceptiongroup/Makefile42
-rw-r--r--lang/python/python-exceptiongroup/patches/0001-add-setup.py-to-avoid-depending-on-flit-for-building.patch31
-rw-r--r--lang/python/python-outcome/Makefile42
-rw-r--r--lang/python/python-pyfuse3/Makefile46
-rw-r--r--lang/python/python-sniffio/Makefile40
-rw-r--r--lang/python/python-sortedcontainers/Makefile40
-rw-r--r--lang/python/python-trio/Makefile49
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))