PKG_NAME:=nyx
PKG_VERSION:=2.1.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PYPI_NAME:=nyx
PKG_HASH:=88521488d1c9052e457b9e66498a4acfaaa3adf3adc5a199892632f129a5390b
URL:=https://nyx.torproject.org/
TITLE:=Terminal status monitor for Tor
DEPENDS:=+python3 +python3-stem
- VARIANT:=python3
endef
define Package/nyx/description
PKG_NAME:=asu
PKG_VERSION:=0.2.3
-PKG_RELEASE=2
+PKG_RELEASE:=3
PKG_LICENSE:=GPL-3.0
+gunicorn3 +python3-openssl +python3-pyodbc +python3-yaml \
+libustream-mbedtls +ca-certificates +gnupg
USERID:=asu:asu
- VARIANT:=python3
endef
define Package/asu/description
include $(TOPDIR)/rules.mk
PKG_NAME:=meson
-PKG_VERSION:=0.53.2
-PKG_RELEASE:=1
+PKG_VERSION:=0.54.0
+PKG_RELEASE:=2
PYPI_NAME:=meson
-PKG_HASH:=3e8f830f33184397c2eb0b651ec502adb63decb28978bdc84b3558d71284c21f
+PKG_HASH:=dde5726d778112acbd4a67bb3633ab2ee75d33d1e879a6283a7b4a44c3363c27
PKG_MAINTAINER:=Andre Heider <a.heider@gmail.com>
PKG_LICENSE:=Apache-2.0
TITLE:=meson
URL:=https://mesonbuild.com/
DEPENDS:=+ninja +python3-pkg-resources
- VARIANT:=python3
endef
define Package/meson/description
--cross-file $(PKG_BUILD_DIR)/openwrt-cross.txt \
$(MESON_ARGS) \
$(MESON_BUILD_DIR) \
- $(PKG_BUILD_DIR), \
+ $(MESON_BUILD_DIR)/.., \
$(MESON_VARS))
endef
include $(TOPDIR)/rules.mk
GO_VERSION_MAJOR_MINOR:=1.14
-GO_VERSION_PATCH:=1
+GO_VERSION_PATCH:=2
PKG_NAME:=golang
PKG_VERSION:=$(GO_VERSION_MAJOR_MINOR)$(if $(GO_VERSION_PATCH),.$(GO_VERSION_PATCH))
PKG_SOURCE:=go$(PKG_VERSION).src.tar.gz
PKG_SOURCE_URL:=$(GO_SOURCE_URLS)
-PKG_HASH:=2ad2572115b0d1b4cb4c138e6b3a31cee6294cb48af75ee86bec3dca04507676
+PKG_HASH:=98de84e69726a66da7b4e58eac41b99cbe274d7e8906eeb8a5b7eb0aadee7f7c
PKG_MAINTAINER:=Jeffery To <jeffery.to@gmail.com>
PKG_LICENSE:=BSD-3-Clause
--- /dev/null
+#
+# Copyright (C) 2020 Philip Prindeville, Redfish Solutions, LLC
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=perl-net-cidr-lite
+PKG_VERSION:=0.21
+PKG_RELEASE:=1
+
+PKG_SOURCE:=Net-CIDR-Lite-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=https://cpan.metacpan.org/authors/id/D/DO/DOUGW
+PKG_HASH:=cfa125e8a2aef9259bc3a44e07cbdfb7894b64d22e7c0cee92aee2f5c7915093
+PKG_BUILD_DIR:=$(BUILD_DIR)/perl/Net-CIDR-Lite-$(PKG_VERSION)
+
+PKG_MAINTAINER:=Philip Prindeville <philipp@redfish-solutions.com>
+PKG_LICENSE:=GPL-1.0-or-later Artistic-1.0-Perl
+
+include $(INCLUDE_DIR)/package.mk
+include ../perl/perlmod.mk
+
+define Package/perl-net-cidr-lite
+ SUBMENU:=Perl
+ SECTION:=lang
+ CATEGORY:=Languages
+ TITLE:=Perl extension for merging IPv4 or IPv6 CIDR addresses
+ URL:=https://search.cpan.org/dist/Net-CIDR-Lite/
+ DEPENDS:=perl +perlbase-essential +perlbase-config +perlbase-io +perlbase-dynaloader
+ PKGARCH:=all
+endef
+
+define Build/Configure
+ $(call perlmod/Configure,,)
+endef
+
+define Build/Compile
+ $(call perlmod/Compile,,)
+endef
+
+define Package/perl-net-cidr-lite/install
+ $(call perlmod/Install,$(1),Net Net/CIDR Net/CIDR/Lite.pm)
+endef
+
+
+$(eval $(call BuildPackage,perl-net-cidr-lite))
include $(TOPDIR)/rules.mk
PKG_NAME:=php
-PKG_VERSION:=7.4.4
+PKG_VERSION:=7.4.5
PKG_RELEASE:=1
PKG_MAINTAINER:=Michael Heimpold <mhei@heimpold.de>
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=http://www.php.net/distributions/
-PKG_HASH:=1873c4cefdd3df9a78dcffb2198bba5c2f0464f55c9c960720c84df483fca74c
+PKG_HASH:=d059fd7f55bdc4d2eada15a00a2976697010d3631ef6f83149cc5289e1f23c2c
PKG_BUILD_PARALLEL:=1
PKG_USE_MIPS16:=0
PKG_NAME:=Flask
PKG_VERSION:=1.1.1
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PYPI_NAME:=$(PKG_NAME)
PKG_HASH:=13f9f196f330c7c2c5d7a5cf91af894110ca0215ac051b5844701f2bfd934d52
+python3-itsdangerous +python3-jinja2 +python3 +python3-logging \
+python3-markupsafe +python3-multiprocessing +python3-setuptools \
+python3-werkzeug
- VARIANT:=python3
endef
define Package/python3-flask/description
PKG_NAME:=Jinja2
PKG_VERSION:=2.10.3
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PYPI_NAME:=$(PKG_NAME)
PKG_HASH:=9fe95f19286cfefaa917656583d020be14e7859c6b0252588391e47db34527de
TITLE:=Jinja2
URL:=http://jinja.pocoo.org/
DEPENDS:=+python3-light +python3-markupsafe
- VARIANT:=python3
endef
define Package/python3-jinja2/description
PKG_NAME:=MarkupSafe
PKG_VERSION:=1.1.1
-PKG_RELEASE:=2
+PKG_RELEASE:=3
PYPI_NAME:=$(PKG_NAME)
PKG_HASH:=29872e92839765e546828bb7754a68c418d927cd064fd4708fab9fe9c8bb116b
TITLE:=MarkupSafe
URL:=https://palletsprojects.com/p/markupsafe/
DEPENDS:=+python3-light
- VARIANT:=python3
endef
define Package/python3-markupsafe/description
# Python packages folder
-:warning: **Python 2 will soon be unsupported and removed from the feed - [see below](#python-2-end-of-life)** :warning:
-
## Table of contents
1. [Description](#description)
-2. [Python 2 end-of-life](#python-2-end-of-life)
- 1. [Transition policy / schedule](#transition-policy--schedule)
-3. [Introduction](#introduction)
-4. [Using Python[3] in external/other package feeds](#using-python3-in-externalother-package-feeds)
+2. [Introduction](#introduction)
+3. [Python 2 end-of-life](#python-2-end-of-life)
+4. [Using Python in external/other package feeds](#using-python-in-externalother-package-feeds)
5. [Build considerations](#build-considerations)
6. [General folder structure](#general-folder-structure)
-7. [Building a Python[3] package](#building-a-python3-package)
- 1. [Include python[3]-package.mk](#include-python3-packagemk)
+7. [Building a Python package](#building-a-python-package)
+ 1. [Include python3-package.mk](#include-python3-packagemk)
2. [Add Package/<PKG_NAME> OpenWrt definitions](#add-packagepkg_name-openwrt-definitions)
3. [Wrapping things up so that they build](#wrapping-things-up-so-that-they-build)
4. [Customizing things](#customizing-things)
This section describes specifics for the Python packages that are present in this repo, and how things are structured.
-In terms of license, contributing guide, etc, all of that information is described in the top [README.md](README.md) file, and it applies here as well. This document attempts to cover only technical aspects of Python/Python3 packages, and maybe some explanations about how things are (and why they are as they are).
-
-## Python 2 end-of-life
-
-Python 2 will not be maintained past [1 January 2020](https://pythonclock.org/). As such, we will be transitioning Python 2 programs and libraries to Python 3, and Python 2 packages will be removed in early 2020.
-
-(Discussion for how to handle this transition can be found in [#8520](https://github.com/openwrt/packages/issues/8520).)
-
-### Transition policy / schedule
-
-A mass removal event ("The Snap") will occur on 31 March 2020, or 2 weeks before the freeze for a 20.x release, whichever is sooner. The exact date will be confirmed when the 20.x release schedule is known, or by 15 March 2020.
-
-All Python 2 packages (the Python 2 interpreter, programs that depend on Python 2, and Python 2-only libraries) will be removed during this event.
-
-Leading up to "The Snap":
-
-* In general, new Python 2 packages are no longer accepted
- * Exceptions can be made on a case-by-case basis, given extraordinary circumstances or reasons, until 31 May 2019
- * From 31 May 2019 onward, absolutely no new Python 2 packages will be accepted
-
-* The Python 2 interpreter will remain in the feed until "The Snap"
- * The interpreter will continue to be updated, including the last release in January 2020 (if there is one)
-
-* Programs that depend on Python 2 will be transitioned to Python 3 (see [#8893](https://github.com/openwrt/packages/issues/8893))
- * If a program cannot be transitioned, a suitable replacement will be found
- * If a replacement cannot be found, the program will be removed during "The Snap"
-
-* Python 2 libraries will remain in the feed until "The Snap"
- * For any Python 2-only libraries, a Python 3 version will be added (or a suitable replacement found), if its Python 3 version is a dependency of another package in the feed
- * Python 2 libraries will receive normal updates until 31 October 2019
- * From 31 October 2019 onward:
- * Python 2-only libraries will receive security updates only
- * Python 2 libraries that share the same Makefile as their Python 3 version will continue to receive normal updates
+In terms of license, contributing guide, etc, all of that information is described in the top [README.md](README.md) file, and it applies here as well. This document attempts to cover only technical aspects of Python packages, and maybe some explanations about how things are (and why they are as they are).
## Introduction
This sub-tree came to exist after a number of contributions (Python packages) were made to this repo, and the [lang](lang) subtree grew to a point where a decision was made to move all Python packages under [lang/python](lang/python).
-It contains the 2 Python interpreters (Python & Python3) and Python packages. Most of the Python packages are downloaded from [pypi.org](https://pypi.org/). Python packages from [pypi.org](https://pypi.org/) are typically preferred when adding new packages.
+It contains the Python 3 interpreter and Python packages. Most of the Python packages are downloaded from [pypi.org](https://pypi.org/). Python packages from [pypi.org](https://pypi.org/) are typically preferred when adding new packages.
+
+If more packages (than the ones packaged here) are needed, they can be downloaded via [pip](https://pip.pypa.io). Note that the versions of `pip` & `setuptools` [available in this repo] are the ones that are packaged inside the Python package (yes, Python comes packaged with `pip` & `setuptools`).
-If more packages (than the ones packaged here) are needed, they can be downloaded via [pip or pip3](https://pip.pypa.io). Note that the versions of `pip` & `setuptools` [available in this repo] are the ones that are packaged inside the Python & Python3 packages (yes, Python & Python3 come packaged with `pip` & `setuptools`).
+## Python 2 end-of-life
+
+Python 2 [will not be maintained past 2020](https://www.python.org/dev/peps/pep-0373/). All Python 2 packages have been removed from the packages feed (this repo) and archived in the [abandoned packages feed](https://github.com/openwrt/packages-abandoned).
-## Using Python[3] in external/other package feeds
+## Using Python in external/other package feeds
In the feeds.conf (or feeds.conf.default file, whatever is preferred), the packages repo should be present.
src-git someotherfeed https://github.com/<github-user>/<some-other-package>
```
-Assuming that there are Python packages in the `<some-other-package>`, they should include `python[3]-package.mk` like this:
+Assuming that there are Python packages in the `<some-other-package>`, they should include `python3-package.mk` like this:
```
-include $(TOPDIR)/feeds/packages/lang/python/python-package.mk
include $(TOPDIR)/feeds/packages/lang/python/python3-package.mk
```
-Same rules apply for `python[3]-package.mk` as the Python packages in this repo.
-And if only 1 of `python-package.mk` or `python3-package.mk` is needed, then only the needed mk file should be included (though it's not an issue if both are included).
+Same rules apply for `python3-package.mk` as the Python packages in this repo.
**One important consideration:**: if the local name is not `packages`, it's something else, like `openwrt-packages`. And in `feeds.conf[.default]` it's:
```
Then, the inclusions also change:
```
-include $(TOPDIR)/feeds/openwrt-packages/lang/python/python-package.mk
include $(TOPDIR)/feeds/openwrt-packages/lang/python/python3-package.mk
```
In case there is a need/requirement such that the local package feed is named something else than `packages`, one approach to make the package flexible to change is:
```
-PYTHON_PACKAGE_MK:=$(wildcard $(TOPDIR)/feeds/*/lang/python/python-package.mk)
+PYTHON3_PACKAGE_MK:=$(wildcard $(TOPDIR)/feeds/*/lang/python/python3-package.mk)
# verify that there is only one single file returned
-ifneq (1,$(words $(PYTHON_PACKAGE_MK)))
-ifeq (0,$(words $(PYTHON_PACKAGE_MK)))
-$(error did not find python-package.mk in any feed)
+ifneq (1,$(words $(PYTHON3_PACKAGE_MK)))
+ifeq (0,$(words $(PYTHON3_PACKAGE_MK)))
+$(error did not find python3-package.mk in any feed)
else
-$(error found multiple python-package.mk files in the feeds)
+$(error found multiple python3-package.mk files in the feeds)
endif
else
-$(info found python-package.mk at $(PYTHON_PACKAGE_MK))
+$(info found python3-package.mk at $(PYTHON3_PACKAGE_MK))
endif
-include $(PYTHON_PACKAGE_MK)
+include $(PYTHON3_PACKAGE_MK)
```
-Same can be done for `python3-package.mk`.
-This should solve the corner-case where the `python[3]-package.mk` can be in some other feed, or if the packages feed will be named something else locally.
+This should solve the corner-case where the `python3-package.mk` can be in some other feed, or if the packages feed will be named something else locally.
## Build considerations
-In order to build the Python[3] interpreters, a host Python/Python3 interpreter needs to be built, in order to process some of the build for the target Python/Python3 build. The host Python[3] interpreters are also needed so that Python bytecodes are generated, so the host interpreters need to be the exact versions as on the target. And finally, the host Python[3] interpreters also provide pip & pip3, so that they may be used to install some Python[3] packages that are required to build other Python[3] packages.
-That's why you'll also see a Python/Python3 build & staging directories.
+In order to build the Python interpreter, a host Python interpreter needs to be built, in order to process some of the build for the target Python build. The host Python interpreter is also needed so that Python bytecodes are generated, so the host interpreter needs to be the exact version as on the target. And finally, the host Python interpreter also provides pip, so that it may be used to install some Python packages that are required to build other Python packages.
+That's why you'll also see a Python build & staging directories.
-As you're probably thinking, this sounds [and is] somewhat too much complication [just for packaging], but the status of things is-as-it-is, and it's probably much worse than what's currently visible on the surface [with respect to packaging Python[3] & packages].
+As you're probably thinking, this sounds [and is] somewhat too much complication [just for packaging], but the status of things is-as-it-is, and it's probably much worse than what's currently visible on the surface [with respect to packaging Python & packages].
-As mentioned earlier, Python[3] packages are shipped with bytecodes, and the reason for this is simply performance & size.
+As mentioned earlier, Python packages are shipped with bytecodes, and the reason for this is simply performance & size.
The thought/discussion matrix derives a bit like this:
* shipping both Python source-code & bytecodes takes too much space on some devices ; Python source code & byte-code take about similar disk-size
* shipping only Python source code has a big performance penalty [on some lower end systems] ; something like 500 msecs (Python source-only) -> 70 msecs (Python byte-codes) time reduction for a simple "Hello World" script
-* shipping only Python byte-codes seems like a good trade-off, and this means that `python-src` & `python3-src` can be provided for people that want the source code
+* shipping only Python byte-codes seems like a good trade-off, and this means that `python3-src` can be provided for people that want the source code
-By default, automatic Python[3] byte-code generation is disabled when running a Python script, in order to prevent a disk from accidentally filling up. Since some disks reside in RAM, this also means not filling up the RAM. If someone wants to convert Python source to byte-code then he/she is free to compile it [directly on the device] manually via the Python interpreter & library.
+By default, automatic Python byte-code generation is disabled when running a Python script, in order to prevent a disk from accidentally filling up. Since some disks reside in RAM, this also means not filling up the RAM. If someone wants to convert Python source to byte-code then he/she is free to compile it [directly on the device] manually via the Python interpreter & library.
## General folder structure
-The basis of all these packages are:
-* [lang/python/python](lang/python/python) - The Python 2.7.y interpreter (supposedly, there won't ever by a 2.8.y)
+The basis of all these packages is:
* [lang/python/python3](lang/python/python3) - The Python 3.x.y interpreter
-These 2 are normal OpenWrt packages, which will build the Python interpreters. They also provide `python[3]-pip` & `python[3]-setuptools`. Each Python or Python3 package is actually split into multiple sub-packages [e.g. python-email, python-sqlite3, etc]. This can be viewed inside [lang/python/python/files](lang/python/python/files) & [lang/python/python3/files](lang/python/python3/files).
-
-The reason for this splitting, is purely to offer a way for some people to package Python/Python3 in as-minimal-as-possible-and-still-runable way, and also to be somewhat maintainable when packaging. A standard Python[3] installation can take ~20-30 MBs of disk, which can be somewhat big for some people, so there are the `python[3]-base` packages which bring that down to ~5 MBs. This seems to be good enough (and interesting) for a number of people.
+This is a normal OpenWrt package, which will build the Python interpreter. This also provides `python3-pip` & `python3-setuptools`. Each Python package is actually split into multiple sub-packages [e.g. python3-email, python3-sqlite3, etc]. This can be viewed inside [lang/python/python3/files](lang/python/python3/files).
-The Python[3] interpreters are structured like this:
-* `python-base` (and `python3-base`), which is just the minimal package to startup Python[3] and run basic commands
-* `python` (and `python3`) are meta-packages, which install almost everything (python[3]-base [plus] Python[3] library [minus] some unit-tests & some windows-y things)
-* `python-light` (and `python3-light`) are `python` (and `python3`) [minus] packages that are in [lang/python/python/files](lang/python/python/files) or [lang/python/python3/files](lang/python/python3/files) ; the size of these 2 packages may be sensible (and interesting) to another group of people
+The reason for this splitting, is purely to offer a way for some people to package Python in as-minimal-as-possible-and-still-runable way, and also to be somewhat maintainable when packaging. A standard Python installation can take ~20-30 MBs of disk, which can be somewhat big for some people, so there is the `python3-base` package which brings that down to ~5 MBs. This seems to be good enough (and interesting) for a number of people.
-All other Python & Python3 packages (aside from the 2 intepreters) typically use these files:
-* **python[3]-host.mk** - this file contains paths and build rules for running the Python[3] interpreters on the host-side; they also provide paths to host interprete, host Python lib-dir & so on
-* **python[3]-package.mk**
- * includes **python[3]-host.mk**
- * contains all the default build rules for Python[3] packages; these will be detailed below in the [Building a Python[3] package](#Building a Python[3] package) section
+The Python interpreter is structured like this:
+* `python3-base`, which is just the minimal package to startup Python and run basic commands
+* `python3` is a meta-package, which installs almost everything (python3-base [plus] Python library [minus] some unit-tests & some windows-y things)
+* `python3-light` is `python3` [minus] packages that are in [lang/python/python3/files](lang/python/python3/files) ; the size of this package may be sensible (and interesting) to another group of people
-**Note** that Python/Python3 packages don't need to use these files (i.e. `python[3]-package.mk` & `python[3]-host.mk`), but they do provide some ease-of-use & reduction of duplicate code, especially when packaging for both Python & Python3. And they do contain some learned-lessons about packaging Python/Python3 packages, so it's a good idea to use them.
+All other Python packages (aside from the intepreter) typically use these files:
+* **python3-host.mk** - this file contains paths and build rules for running the Python interpreter on the host-side; they also provide paths to host interprete, host Python lib-dir & so on
+* **python3-package.mk**
+ * includes **python3-host.mk**
+ * contains all the default build rules for Python packages; these will be detailed below in the [Building a Python package](#Building a Python package) section
-## Building a Python[3] package
+**Note** that Python packages don't need to use these files (i.e. `python3-package.mk` & `python3-host.mk`), but they do provide some ease-of-use & reduction of duplicate code. And they do contain some learned-lessons about packaging Python packages, so it's a good idea to use them.
-A Python package can be packaged for either Python or Python3 or both.
+## Building a Python package
-This section will describe both, and then it can be inferred which is for which.
+Packaging for Python uses the `VARIANT` mechanism for packaging inside OpenWrt. (#### FIXME: find a link for this later if it exists)
-Packaging for both Python & Python3 uses the `VARIANT` mechanism for packaging inside OpenWrt. (#### FIXME: find a link for this later if it exists)
+### Include python3-package.mk
-### Include python[3]-package.mk
-
-If packaging for Python, add this after `include $(INCLUDE_DIR)/package.mk`
-```
-include ../python-package.mk
-```
-
-If packaging for Python3, add this after `include $(INCLUDE_DIR)/package.mk`
+Add this after `include $(INCLUDE_DIR)/package.mk`
```
include ../python3-package.mk
```
-Order doesn't matter between `python-package.mk` & `python3-package.mk`.
-
-These will make sure that build rules for Python or Python3 can be specified and picked up for build.
+This will make sure that build rules for Python can be specified and picked up for build.
### Include pypi.mk (optional)
### Add Package/<PKG_NAME> OpenWrt definitions
This part is similar to default OpenWrt packages.
-It's usually recommended to have a `Package/<PKG_NAME>/Default` section that's common for both Python & Python3.
Example:
```
-define Package/python-lxml/Default
+define Package/python3-lxml
SECTION:=lang
CATEGORY:=Languages
SUBMENU:=Python
+ TITLE:=Pythonic XML processing library
URL:=https://lxml.de
- DEPENDS:=+libxml2 +libxslt +libexslt
-endef
-```
-
-Then for each variant do something like:
-```
-define Package/python-lxml
-$(call Package/python-lxml/Default)
- TITLE:=python-lxml
- DEPENDS+=+PACKAGE_python-lxml:python-light +PACKAGE_python-lxml:python-codecs
- VARIANT:=python
-endef
-
-define Package/python3-lxml
-$(call Package/python-lxml/Default)
- TITLE:=python3-lxml
- DEPENDS+=+PACKAGE_python3-lxml:python3-light
+ DEPENDS:=+python3-light +libxml2 +libxslt +libexslt
VARIANT:=python3
endef
-```
-
-Some considerations here (based on the example above):
-* be sure to make sure that `DEPENDS` are correct for both variants; as seen in the example above, `python-codecs` is needed only for `python-lxml` (see **[note-encodings](#note-encodings)**)
-* consider adding conditional DEPENDS for each variant ; so for each Python[3] package add `+PACKAGE_python-lxml:<dep>` as seen in the above example ; the reason for this is build-time reduction ; if you want to build Python3 only packages, this won't build Python & Python packages + dependencies ; this is a known functionality of OpenWrt build deps
- * this should not happen anymore, but if adding `+PACKAGE_python-lxml` conditional deps creates circular dependencies, then open an issue so this can be resolved again.
-* `VARIANT=python` or `VARIANT=python3` must be added
-* typically each variant package is named `Package/python-<something>` & `Package/python3-<something>` ; this convention makes things easier to follow, though it could work without naming things this way
-* `TITLE` can be something a bit more verbose/neat ; typically the name is short as seen above
-
-<a name="note-encodings">**note-encodings**</a>: That's because some character encodings are needed, which are present in `python3-base` but not in `python-light` (but are present in `python-codecs`) ; this is because Python3 is designed to be more Unicode friendly than Python2 (it's one of the fundamental differences between the 2), and Python3 won't start without those encodings being present.
-
-
-Following these, 2 more definitions are required:
-```
-define Package/python-lxml/description
-The lxml XML toolkit is a Pythonic binding
-for the C libraries libxml2 and libxslt.
-endef
define Package/python3-lxml/description
-$(call Package/python-lxml/description)
-.
-(Variant for Python3)
+ The lxml XML toolkit is a Pythonic binding
+ for the C libraries libxml2 and libxslt.
endef
```
-Typically, the description is the same for both, so just mentioning that one is a variant of the other is sufficient.
+Some considerations here (based on the example above):
+* `VARIANT=python3` must be added
+* typically the package is named `Package/python3-<something>` ; this convention makes things easier to follow, though it could work without naming things this way
+* `TITLE` can be something a bit more verbose/neat ; typically the name is short as seen above
### Wrapping things up so that they build
If all the above prerequisites have been met, all that's left is:
```
-$(eval $(call PyPackage,python-lxml))
-$(eval $(call BuildPackage,python-lxml))
-
$(eval $(call Py3Package,python3-lxml))
$(eval $(call BuildPackage,python3-lxml))
```
-The `$(eval $(call PyPackage,python-lxml))` part will instantiate all the default Python build rules so that the final Python package is packaged into an OpenWrt.
-And `$(eval $(call BuildPackage,python-lxml))` will bind all the rules generated with `$(eval $(call PyPackage,python-lxml))` into the OpenWrt build system.
+The `$(eval $(call Py3Package,python3-lxml))` part will instantiate all the default Python build rules so that the final Python package is packaged into an OpenWrt.
+And `$(eval $(call BuildPackage,python3-lxml))` will bind all the rules generated with `$(eval $(call Py3Package,python3-lxml))` into the OpenWrt build system.
These packages will contain byte-codes and binaries (shared libs & other stuff).
-If a user wishes to ship source code, adding 2 more lines creates 2 more packages that ship Python source code:
+If a user wishes to ship source code, adding one more line creates one more package that ship Python source code:
```
-$(eval $(call PyPackage,python-lxml))
-$(eval $(call BuildPackage,python-lxml))
-$(eval $(call BuildPackage,python-lxml-src))
-
$(eval $(call Py3Package,python3-lxml))
$(eval $(call BuildPackage,python3-lxml))
$(eval $(call BuildPackage,python3-lxml-src))
```
-The name `*-src` must be the Python package name; so for `python-lxml-src` a equivalent `python-lxml` name must exist.
+The name `*-src` must be the Python package name; so for `python3-lxml-src` a equivalent `python3-lxml` name must exist.
### Customizing things
Some packages need custom build rules (because they do).
-The default package build and install processes are defined in `python[3]-package.mk`.
+The default package build and install processes are defined in `python3-package.mk`.
#### Building
There are several Makefile variables that can be used to customize this process (all optional):
-* `PYTHON_PKG_SETUP_DIR` / `PYTHON3_PKG_SETUP_DIR`: Path where `setup.py` can be found, relative to the package directory (`PKG_BUILD_DIR`).
+* `PYTHON3_PKG_SETUP_DIR`: Path where `setup.py` can be found, relative to the package directory (`PKG_BUILD_DIR`).
Default: empty value (`setup.py` is in the package directory)
-* `PYTHON_PKG_SETUP_VARS` / `PYTHON3_PKG_SETUP_VARS`: Additional environment variables to set for the call to `setup.py`. Should be in the form of `VARIABLE1=value VARIABLE2=value ...`.
+* `PYTHON3_PKG_SETUP_VARS`: Additional environment variables to set for the call to `setup.py`. Should be in the form of `VARIABLE1=value VARIABLE2=value ...`.
Default: empty value
-* `PYTHON_PKG_SETUP_GLOBAL_ARGS` / `PYTHON3_PKG_SETUP_GLOBAL_ARGS`: Additional command line arguments to pass to `setup.py`, before / in front of the `install` command.
+* `PYTHON3_PKG_SETUP_GLOBAL_ARGS`: Additional command line arguments to pass to `setup.py`, before / in front of the `install` command.
Default: empty value
-* `PYTHON_PKG_SETUP_ARGS` / `PYTHON3_PKG_SETUP_ARGS`: Additional command line arguments to pass to `setup.py`, after the `install` command.
+* `PYTHON3_PKG_SETUP_ARGS`: Additional command line arguments to pass to `setup.py`, after the `install` command.
Default: `--single-version-externally-managed`
-Conceptually, these variables are used in this way (using a Python 2 package as an example):
+Conceptually, these variables are used in this way:
```
-cd $(PKG_BUILD_DIR)/$(PYTHON_PKG_SETUP_DIR)
-$(PYTHON_PKG_SETUP_VARS) python setup.py $(PYTHON_PKG_SETUP_GLOBAL_ARGS) install $(PYTHON_PKG_SETUP_ARGS)
+cd $(PKG_BUILD_DIR)/$(PYTHON3_PKG_SETUP_DIR)
+$(PYTHON3_PKG_SETUP_VARS) python3 setup.py $(PYTHON3_PKG_SETUP_GLOBAL_ARGS) install $(PYTHON3_PKG_SETUP_ARGS)
```
-The default build process can be completely overridden by defining custom `PyBuild/Compile` & `Py3Build/Compile` rules in the package Makefile.
+The default build process can be completely overridden by defining a custom `Py3Build/Compile` rule in the package Makefile.
#### Installing
The default install process copies some/all of the files from `PKG_INSTALL_DIR`, placed there by the build process, to a location passed to the install rule as the first argument (`$(1)`). The OpenWrt build system will then take those files and create the actual .ipk package archives.
This default process uses 2 build rules:
-* `PyPackage/<package>/filespec` & `Py3Package/<package>/filespec` which are Python library files relative to `/usr/lib/pythonX.Y` ; by default this is `/usr/lib/python$(PYTHON[3]_VERSION)/site-packages` (`PYTHON[3]_PKG_DIR`) ; most Python[3] packages generate files that get installed in this sub-folder
-* `PyPackage/<package>/install` & `Py3Package/<package>/install` is similar to `Package/<package>/install` ; these allow binary (or other files) to be installed on the target
+* `Py3Package/<package>/filespec` which are Python library files relative to `/usr/lib/pythonX.Y` ; by default this is `/usr/lib/python$(PYTHON3_VERSION)/site-packages` (`PYTHON3_PKG_DIR`) ; most Python packages generate files that get installed in this sub-folder
+* `Py3Package/<package>/install` is similar to `Package/<package>/install` ; this allows binary (or other files) to be installed on the target
-Both the 2 above rules generate a `Package/<package>/install` build rule, which gets picked up by the build system. Both can be used together (they are not mutually exclusive), and provide a good enough flexibility for specifying Python[3] packages.
+Both the 2 above rules generate a `Package/<package>/install` build rule, which gets picked up by the build system. Both can be used together (they are not mutually exclusive), and provide a good enough flexibility for specifying Python packages.
-The `PyPackage/<package>/filespec` & `Py3Package/<package>/filespec` rules contain one or more lines of the following format (whitespace added for clarity):
+The `Py3Package/<package>/filespec` rule contains one or more lines of the following format (whitespace added for clarity):
```
<one of: +-=> | <file/directory path> | <file permissions>
* File permissions is not used / ignored in this case.
* `=`: Assign the given file permissions to the given path. File permissions is required in this case.
-As mentioned, the default `PyPackage/<package>/filespec` & `Py3Package/<package>/filespec` install `PYTHON[3]_PKG_DIR`:
+As mentioned, the default `Py3Package/<package>/filespec` installs `PYTHON3_PKG_DIR`:
```
-define PyPackage/python-example/filespec
-+|$(PYTHON_PKG_DIR)
+define Py3Package/python3-example/filespec
++|$(PYTHON3_PKG_DIR)
endef
```
-If the package installs a `example_package` directory inside `PYTHON_PKG_DIR`, and there is an `examples` directory and `test_*.py` files that can be omitted to save space, this can be specified as:
+If the package installs a `example_package` directory inside `PYTHON3_PKG_DIR`, and there is an `examples` directory and `test_*.py` files that can be omitted to save space, this can be specified as:
```
-define PyPackage/python-example/filespec
-+|$(PYTHON_PKG_DIR)
--|$(PYTHON_PKG_DIR)/example_package/examples
--|$(PYTHON_PKG_DIR)/example_package/test_*.py
+define Py3Package/python3-example/filespec
++|$(PYTHON3_PKG_DIR)
+-|$(PYTHON3_PKG_DIR)/example_package/examples
+-|$(PYTHON3_PKG_DIR)/example_package/test_*.py
endef
```
Which is why [for example] if you need python cffi on the host build, it's easier to just add it via:
```
-HOST_PYTHON_PACKAGE_BUILD_DEPENDS:="cffi==$(PKG_VERSION)"
HOST_PYTHON3_PACKAGE_BUILD_DEPENDS:="cffi==$(PKG_VERSION)"
```
-[cffi is one of those packages that needs a host-side package installed for both Python & Python3].
+[cffi is one of those packages that needs a host-side package installed].
This works reasonably well in the current OpenWrt build system, as binaries get built for this package and get installed in the staging-dir `$(STAGING_DIR)/usr/lib/pythonX.Y/site-packages`.
PKG_NAME:=Werkzeug
PKG_VERSION:=0.16.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PYPI_NAME:=$(PKG_NAME)
PKG_HASH:=7280924747b5733b246fe23972186c6b348f9ae29724135a6dfc1e53cea433e7
TITLE:=Werkzeug
URL:=https://palletsprojects.com/p/werkzeug/
DEPENDS:=+python3-light +python3-email
- VARIANT:=python3
endef
define Package/python3-werkzeug/description
PKG_NAME:=bcrypt
PKG_VERSION:=3.1.7
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PYPI_NAME:=$(PKG_NAME)
PKG_HASH:=0b0069c752ec14172c5f78208f1863d7ad6755a6fae6fe76ec2c80d13be41e42
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
-define Package/bcrypt/Default
+define Package/python3-bcrypt
SECTION:=lang
CATEGORY:=Languages
SUBMENU:=Python
TITLE:=Modern password hashing
URL:=https://github.com/pyca/bcrypt/
-endef
-
-define Package/python3-bcrypt
-$(call Package/bcrypt/Default)
DEPENDS:= \
- +PACKAGE_python3-bcrypt:python3 \
- +PACKAGE_python3-bcrypt:python3-cffi \
- +PACKAGE_python3-bcrypt:python3-six
- VARIANT:=python3
+ +python3 \
+ +python3-cffi \
+ +python3-six
endef
define Package/python3-bcrypt/description
Good password hashing for your software and your servers.
-.
-(Variant for Python3)
endef
$(eval $(call Py3Package,python3-bcrypt))
PKG_NAME:=click-log
PKG_VERSION:=0.3.2
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_MAINTAINER:=Karel Kočí <cynerd@email.cz>
PKG_SOURCE_URL:=https://codeload.github.com/click-contrib/click-log/tar.gz/$(PKG_VERSION)?
URL:=http://github.com/mitsuhiko/click
TITLE:=python3-click-log
DEPENDS:=+python3-click
- VARIANT:=python3
endef
define Package/python3-click-log/description
PKG_NAME:=click
PKG_VERSION:=7.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PYPI_NAME:=$(PKG_NAME)
PYPI_SOURCE_NAME:=Click
TITLE:=Click
URL:=https://palletsprojects.com/p/click/
DEPENDS:=+python3-light
- VARIANT:=python3
endef
define Package/python3-click/description
PKG_NAME:=django-appconf
PKG_VERSION:=1.0.3
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PYPI_NAME:=$(PKG_NAME)
PKG_HASH:=35f13ca4d567f132b960e2cd4c832c2d03cb6543452d34e29b7ba10371ba80e3
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
-define Package/django-appconf/Default
+define Package/python3-django-appconf
SUBMENU:=Python
SECTION:=lang
CATEGORY:=Languages
TITLE:=Helper class for handling config defaults
URL:=https://django-appconf.readthedocs.io
-endef
-
-define Package/python3-django-appconf
-$(call Package/django-appconf/Default)
DEPENDS:= \
- +PACKAGE_python3-django-appconf:python3 \
- +PACKAGE_python3-django-appconf:python3-django1 \
- +PACKAGE_python3-django-appconf:python3-six
- VARIANT:=python3
+ +python3 \
+ +python3-django1 \
+ +python3-six
endef
define Package/python3-django-appconf/description
A helper class for handling configuration defaults of packaged apps gracefully
-.
-(Variant for Python3)
endef
$(eval $(call Py3Package,python3-django-appconf))
PKG_NAME:=django-compressor
PKG_VERSION:=2.2
-PKG_RELEASE:=7
+PKG_RELEASE:=8
PYPI_NAME:=$(PKG_NAME)
PYPI_SOURCE_NAME:=django_compressor
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
-define Package/django-compressor/Default
+define Package/python3-django-compressor
SUBMENU:=Python
SECTION:=lang
CATEGORY:=Languages
TITLE:=Compress CSS/JS into single cached files
URL:=https://django-compressor.readthedocs.io
-endef
-
-define Package/python3-django-compressor
-$(call Package/django-compressor/Default)
DEPENDS:= \
- +PACKAGE_python3-django-compressor:python3 \
- +PACKAGE_python3-django-compressor:python3-django1 \
- +PACKAGE_python3-django-compressor:python3-django-appconf \
- +PACKAGE_python3-django-compressor:python3-rcssmin
- VARIANT:=python3
+ +python3 \
+ +python3-django1 \
+ +python3-django-appconf \
+ +python3-rcssmin
endef
define Package/python3-django-compressor/description
Note that the JavaScript filter is not being installed as a dependency.
You'll need to build the rjsmin module (it is not par of the openwrt standard
feeds) to use JavaScript functionality.
-.
-(Variant for Python3)
endef
$(eval $(call Py3Package,python3-django-compressor))
+++ /dev/null
-#
-# Copyright (C) 2007-2017 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:=django-constance
-PKG_VERSION:=2.3.1
-PKG_RELEASE:=5
-
-PYPI_NAME:=$(PKG_NAME)
-PKG_HASH:=a49735063b2c30015d2e52a90609ea9798da722ed070f091de51714758a5d018
-
-PKG_MAINTAINER:=Alexandru Ardelean <ardeleanalex@gmail.com>
-PKG_LICENSE:=BSD-3-Clause
-
-include ../pypi.mk
-include $(INCLUDE_DIR)/package.mk
-include ../python3-package.mk
-
-define Package/python-django-constance/Default
- SUBMENU:=Python
- SECTION:=lang
- CATEGORY:=Languages
- TITLE:=Django live settings with pluggable backends, including Redis.
- URL:=https://github.com/jazzband/django-constance
-endef
-
-define Package/python3-django-constance
-$(call Package/python-django-constance/Default)
- DEPENDS:= \
- +PACKAGE_python3-django-constance:python3 \
- +PACKAGE_python3-django-constance:python3-django1
- VARIANT:=python3
-endef
-
-define Package/python3-django-constance/description
- Django live settings with pluggable backends, including Redis.
-.
-(Variant for Python3)
-endef
-
-$(eval $(call Py3Package,python3-django-constance))
-$(eval $(call BuildPackage,python3-django-constance))
-$(eval $(call BuildPackage,python3-django-constance-src))
PKG_NAME:=django-formtools
PKG_VERSION:=2.1
-PKG_RELEASE:=7
+PKG_RELEASE:=8
PYPI_NAME:=$(PKG_NAME)
PKG_HASH:=7703793f1675aa6e871f9fed147e8563816d7a5b9affdc5e3459899596217f7c
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
-define Package/django-formtools/Default
+define Package/python3-django-formtools
SUBMENU:=Python
SECTION:=lang
CATEGORY:=Languages
TITLE:=High-level abstractions for Django forms
URL:=https://django-formtools.readthedocs.io
-endef
-
-define Package/python3-django-formtools
-$(call Package/django-formtools/Default)
DEPENDS:= \
- +PACKAGE_python3-django-formtools:python3 \
- +PACKAGE_python3-django-formtools:python3-django1
- VARIANT:=python3
+ +python3 \
+ +python3-django1
endef
define Package/python3-django-formtools/description
Django "formtools" is a set of high-level abstractions for Django forms.
Currently for form previews and multi-step forms.
-.
-(Variant for Python3)
endef
$(eval $(call Py3Package,python3-django-formtools))
PKG_NAME:=django-jsonfield
PKG_VERSION:=2.1.1
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PYPI_NAME:=jsonfield
PKG_HASH:=ed7c5e1829e9453e24a8bebef1e702ffe402e6def6b326f0e0b88764c59a6dc7
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
-define Package/django-jsonfield/Default
+define Package/python3-django-jsonfield
SUBMENU:=Python
SECTION:=lang
CATEGORY:=Languages
TITLE:=A reusable Django field to store validated JSON in models
URL:=https://github.com/rpkilby/jsonfield
-endef
-
-define Package/python3-django-jsonfield
-$(call Package/django-jsonfield/Default)
DEPENDS:= \
- +PACKAGE_python3-django-jsonfield:python3 \
- +PACKAGE_python3-django-jsonfield:python3-django1 \
- +PACKAGE_python3-django-jsonfield:python3-six
- VARIANT:=python3
+ +python3 \
+ +python3-django1 \
+ +python3-six
endef
define Package/python3-django-jsonfield/description
jsonfield is a reusable model field that allows you to store validated
JSON, automatically handling serialization to and from the database.
-.
-(Variant for Python3)
endef
$(eval $(call Py3Package,python3-django-jsonfield))
PKG_NAME:=django-picklefield
PKG_VERSION:=2.1.1
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PYPI_NAME:=$(PKG_NAME)
PKG_HASH:=67a5e156343e3b032cac2f65565f0faa81635a99c7da74b0f07a0f5db467b646
PYTHON3_PKG_SETUP_VARS:= \
PKG_VERSION="$(PKG_VERSION)"
-define Package/django-picklefield/Default
+define Package/python3-django-picklefield
SUBMENU:=Python
SECTION:=lang
CATEGORY:=Languages
TITLE:=Pickled object field for Django
URL:=https://github.com/gintas/django-picklefield/
-endef
-
-define Package/python3-django-picklefield
-$(call Package/django-picklefield/Default)
DEPENDS:= \
- +PACKAGE_python3-django-picklefield:python3 \
- +PACKAGE_python3-django-picklefield:python3-django1
- VARIANT:=python3
+ +python3 \
+ +python3-django1
endef
define Package/python3-django-picklefield/description
Pickled object field for Django
-.
-(Variant for Python3)
endef
$(eval $(call Py3Package,python3-django-picklefield))
PKG_NAME:=django-postoffice
PKG_VERSION:=3.2.1
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PYPI_NAME:=django-post-office
PYPI_SOURCE_NAME:=django-post_office
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
-define Package/django-postoffice/Default
+define Package/python3-django-postoffice
SUBMENU:=Python
SECTION:=lang
CATEGORY:=Languages
TITLE:=A Django app to monitor and send mail asynchronously
URL:=https://github.com/ui/django-post_office
-endef
-
-define Package/python3-django-postoffice
-$(call Package/django-postoffice/Default)
DEPENDS:= \
- +PACKAGE_python3-django-postoffice:python3 \
- +PACKAGE_python3-django-postoffice:python3-django1 \
- +PACKAGE_python3-django-postoffice:python3-django-jsonfield
- VARIANT:=python3
+ +python3 \
+ +python3-django1 \
+ +python3-django-jsonfield
endef
define Package/python3-django-postoffice/description
A Django app to monitor and send mail asynchronously, complete with template
support
-.
-(Variant for Python3)
endef
$(eval $(call Py3Package,python3-django-postoffice))
PKG_NAME:=django-ranged-response
PKG_VERSION:=0.2.0
-PKG_RELEASE:=7
+PKG_RELEASE:=8
PYPI_NAME:=$(PKG_NAME)
PKG_HASH:=f71fff352a37316b9bead717fc76e4ddd6c9b99c4680cdf4783b9755af1cf985
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
-define Package/django-ranged-response/Default
+define Package/python3-django-ranged-response
SUBMENU:=Python
SECTION:=lang
CATEGORY:=Languages
TITLE:=Add Content-Range: to FileResponse
URL:=https://github.com/i3thuan5/django-ranged-response
-endef
-
-define Package/python3-django-ranged-response
-$(call Package/django-ranged-response/Default)
DEPENDS:= \
- +PACKAGE_python3-django-ranged-response:python3 \
- +PACKAGE_python3-django-ranged-response:python3-django1
- VARIANT:=python3
+ +python3 \
+ +python3-django1
endef
define Package/python3-django-ranged-response/description
Modified Django FileResponse that adds Content-Range headers.
-.
-(Variant for Python3)
endef
$(eval $(call Py3Package,python3-django-ranged-response))
PKG_NAME:=django-restframework
PKG_VERSION:=3.11.0
-PKG_RELEASE:=2
+PKG_RELEASE:=3
PYPI_NAME:=djangorestframework
PKG_HASH:=e782087823c47a26826ee5b6fa0c542968219263fb3976ec3c31edab23a4001f
TITLE:=Web APIs for Django, made easy.
URL:=https://www.django-rest-framework.org
DEPENDS:=+python3 +django
- VARIANT:=python3
endef
define Package/python3-django-restframework/description
Web APIs for Django, made easy.
-.
-(Variant for Python3)
endef
$(eval $(call Py3Package,python3-django-restframework))
PKG_NAME:=django-restframework39
PKG_VERSION:=3.9.4
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PYPI_NAME:=djangorestframework
PKG_HASH:=c12869cfd83c33d579b17b3cb28a2ae7322a53c3ce85580c2a2ebe4e3f56c4fb
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
-define Package/django-restframework39/Default
+define Package/python3-django-restframework39
SUBMENU:=Python
SECTION:=lang
CATEGORY:=Languages
TITLE:=Web APIs for Django, made easy.
URL:=https://www.django-rest-framework.org
-endef
-
-define Package/python3-django-restframework39
-$(call Package/django-restframework39/Default)
DEPENDS:= \
- +PACKAGE_python3-django-restframework39:python3 \
- +PACKAGE_python3-django-restframework39:python3-django1
+ +python3 \
+ +python3-django1
CONFLICTS:=python3-django-restframework
- VARIANT:=python3
endef
define Package/python3-django-restframework39/description
Web APIs for Django, made easy. (3.9 series)
-.
-(Variant for Python3)
endef
$(eval $(call Py3Package,python3-django-restframework39))
PKG_NAME:=django-simple-captcha
PKG_VERSION:=0.5.12
-PKG_RELEASE:=3
+PKG_RELEASE:=4
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/mbi/django-simple-captcha/tar.gz/v$(PKG_VERSION)?
PKG_LICENSE:=MIT
PKG_LICENSE_FILES:=LICENSE
-PKG_BUILD_DIR:=$(BUILD_DIR)/$(BUILD_VARIANT)-$(PKG_NAME)-$(PKG_VERSION)
-
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
-PKG_UNPACK:=$(HOST_TAR) -C $(PKG_BUILD_DIR) --strip-components=1 -xzf $(DL_DIR)/$(PKG_SOURCE)
-
-define Package/django-simple-captcha/Default
+define Package/python3-django-simple-captcha
SUBMENU:=Python
SECTION:=lang
CATEGORY:=Languages
TITLE:=Simple Django captcha application
URL:=https://github.com/mbi/django-simple-captcha
-endef
-
-define Package/python3-django-simple-captcha
-$(call Package/django-simple-captcha/Default)
DEPENDS:= \
- +PACKAGE_python3-django-simple-captcha:python3 \
- +PACKAGE_python3-django-simple-captcha:python3-six \
- +PACKAGE_python3-django-simple-captcha:python3-django1 \
- +PACKAGE_python3-django-simple-captcha:python3-pillow \
- +PACKAGE_python3-django-simple-captcha:python3-django-ranged-response
- VARIANT:=python3
+ +python3 \
+ +python3-six \
+ +python3-django1 \
+ +python3-pillow \
+ +python3-django-ranged-response
endef
define Package/python3-django-simple-captcha/description
Django Simple Captcha is an extremely simple, yet highly customizable Django
application to add captcha images to any Django form.
-.
-(Variant for Python3)
endef
$(eval $(call Py3Package,python3-django-simple-captcha))
PKG_NAME:=django-statici18n
PKG_VERSION:=1.9.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PYPI_NAME:=$(PKG_NAME)
PKG_HASH:=913dd056c1abcbe129b1db806cb4cfb821c4077d7e857d6eb29043ea64f4d1d0
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
-define Package/django-statici18n/Default
+define Package/python3-django-statici18n
SUBMENU:=Python
SECTION:=lang
CATEGORY:=Languages
TITLE:=Helper for generating JavaScript catalog to static files
URL:=https://django-statici18n.readthedocs.io
-endef
-
-define Package/python3-django-statici18n
-$(call Package/django-statici18n/Default)
DEPENDS:= \
- +PACKAGE_python3-django-statici18n:python3 \
- +PACKAGE_python3-django-statici18n:python3-django1 \
- +PACKAGE_python3-django-statici18n:python3-django-appconf \
- +PACKAGE_python3-django-statici18n:python3-six
- VARIANT:=python3
+ +python3 \
+ +python3-django1 \
+ +python3-django-appconf \
+ +python3-six
endef
define Package/python3-django-statici18n/description
A Django app that provides helper for generating JavaScript catalog to static files.
-.
-(Variant for Python3)
endef
$(eval $(call Py3Package,python3-django-statici18n))
PKG_NAME:=django-webpack-loader
PKG_VERSION:=0.6.0
-PKG_RELEASE:=7
+PKG_RELEASE:=8
PYPI_NAME:=$(PKG_NAME)
PKG_HASH:=60bab6b9a037a5346fad12d2a70a6bc046afb33154cf75ed640b93d3ebd5f520
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
-define Package/django-webpack-loader/Default
+define Package/python3-django-webpack-loader
SUBMENU:=Python
SECTION:=lang
CATEGORY:=Languages
TITLE:=Transparently use webpack in django
URL:=https://github.com/owais/django-webpack-loader
-endef
-
-define Package/python3-django-webpack-loader
-$(call Package/django-webpack-loader/Default)
DEPENDS:= \
- +PACKAGE_python3-django-webpack-loader:python3 \
- +PACKAGE_python3-django-webpack-loader:python3-django1
- VARIANT:=python3
+ +python3 \
+ +python3-django1
endef
define Package/python3-django-webpack-loader/description
Use webpack to generate your static bundles without django’s staticfiles or opaque wrappers.
-.
-(Variant for Python3)
endef
$(eval $(call Py3Package,python3-django-webpack-loader))
PKG_NAME:=django
PKG_VERSION:=3.0.5
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PYPI_NAME:=Django
PKG_HASH:=d4666c2edefa38c5ede0ec1655424c56dc47ceb04b6d8d62a7eac09db89545c1
DEPENDS:= +python3 +python3-pytz +python3-sqlparse +python3-asgiref
CONFLICTS:=python3-django1 python-django1-common
PROVIDES:=django
- VARIANT:=python3
endef
define Package/python3-django/description
- The web framework for perfectionists with deadlines (LTS 2.2 series).
- Python3 only.
+ The web framework for perfectionists with deadlines.
endef
define Py3Package/python3-django/install
PKG_NAME:=django1
PKG_VERSION:=1.11.29
-PKG_RELEASE:=2
+PKG_RELEASE:=3
PYPI_NAME:=Django
PKG_HASH:=4200aefb6678019a0acf0005cd14cfce3a5e6b9b90d06145fcdd2e474ad4329c
define Package/python3-django1
$(call Package/django1/Default)
DEPENDS:= \
- +PACKAGE_python3-django1:python3 \
- +PACKAGE_python3-django1:python3-pytz \
- +PACKAGE_python3-django1:python-django1-common
- VARIANT:=python3
+ +python3 \
+ +python3-pytz \
+ +python-django1-common
PROVIDES:=django
endef
define Package/python3-django1/description
The web framework for perfectionists with deadlines (LTS 1.11 series).
-.
-(Variant for Python3)
endef
define Package/python-django1-common
+++ /dev/null
-#
-# Copyright (C) 2007-2016 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:=flup
-PKG_VERSION:=1.0.3
-PKG_RELEASE:=3
-
-PYPI_NAME:=$(PKG_NAME)
-PKG_HASH:=5eb09f26eb0751f8380d8ac43d1dfb20e1d42eca0fa45ea9289fa532a79cd159
-
-PKG_MAINTAINER:=Alexandru Ardelean <ardeleanalex@gmail.com>
-PKG_LICENSE:=BSD-3-Clause
-PKG_LICENSE_FILES:=PKG-INFO
-
-include ../pypi.mk
-include $(INCLUDE_DIR)/package.mk
-include ../python3-package.mk
-
-define Package/flup/Default
- SECTION:=lang
- CATEGORY:=Languages
- SUBMENU:=Python
- TITLE:=Random assortment of WSGI servers
- URL:=https://www.saddi.com/software/flup/
-endef
-
-define Package/python3-flup
-$(call Package/flup/Default)
- DEPENDS+= \
- +PACKAGE_python3-flup:python3-light \
- +PACKAGE_python3-flup:python3-logging
- VARIANT:=python3
-endef
-
-define Package/python3-flup/description
- Random assortment of WSGI servers.
-.
-(Variant for Python3)
-endef
-
-$(eval $(call Py3Package,python3-flup))
-$(eval $(call BuildPackage,python3-flup))
-$(eval $(call BuildPackage,python3-flup-src))
include $(TOPDIR)/rules.mk
PKG_NAME:=gunicorn
-PKG_VERSION:=19.9.0
-PKG_RELEASE=2
+PKG_VERSION:=20.0.4
+PKG_RELEASE:=2
PYPI_NAME:=$(PKG_NAME)
-PKG_HASH:=fa2662097c66f920f53f70621c6c58ca4a3c4d3434205e608e121b5b3b71f4f3
+PKG_HASH:=1904bb2b8a43658807108d59c3f3d56c2b6121a701161de0ddf9ad140073c626
PKG_MAINTAINER:=Alexandru Ardelean <ardeleanalex@gmail.com>
PKG_LICENSE:=MIT
define Package/python3-gunicorn
$(call Package/gunicorn/Default)
+ TITLE:=WSGI HTTP Server for UNIX (library)
DEPENDS:=+python3
- VARIANT:=python3
endef
define Package/python3-gunicorn/description
WSGI HTTP Server for UNIX (libraries)
-.
-(Variant for Python3)
endef
# Make sure that the binaries are not installed with the libraries
define Package/gunicorn3
$(call Package/gunicorn/Default)
- DEPENDS:=+python3 +python3-pkg-resources +python3-gunicorn
+ DEPENDS:=+python3 +python3-setuptools +python3-gunicorn
endef
define Package/gunicorn3/description
WSGI HTTP Server for UNIX (daemon)
-.
-(Variant for Python3)
endef
define Package/gunicorn3/install
$(INSTALL_BIN) \
$(PKG_INSTALL_DIR)/usr/bin/gunicorn \
$(1)/usr/bin/gunicorn3
- $(INSTALL_BIN) \
- $(PKG_INSTALL_DIR)/usr/bin/gunicorn_paster \
- $(1)/usr/bin/gunicorn3_paster
- $(call Py3Shebang,$(1)/usr/bin/*)
+ $(LN) gunicorn3 $(1)/usr/bin/gunicorn
+ $(call Python3/FixShebang,$(1)/usr/bin/*)
endef
$(eval $(call Py3Package,python3-gunicorn))
PKG_NAME:=itsdangerous
PKG_VERSION:=1.1.0
-PKG_RELEASE:=2
+PKG_RELEASE:=3
PYPI_NAME:=$(PKG_NAME)
PKG_HASH:=321b033d07f2a4136d3ec762eac9f16a10ccd60f53c0c91af90217ace7ba1f19
TITLE:=ItsDangerous
URL:=https://palletsprojects.com/p/itsdangerous/
DEPENDS:=+python3-light
- VARIANT:=python3
endef
define Package/python3-itsdangerous/description
include $(TOPDIR)/rules.mk
PKG_NAME:=python-openpyxl
-PKG_VERSION:=2.6.2
-PKG_RELEASE:=1
+PKG_VERSION:=3.0.3
+PKG_RELEASE:=2
PKG_MAINTAINER:=Alexandru Ardelean <ardeleanalex@gmail.com>
PKG_LICENSE:=MIT
PKG_LICENSE_FILES:=LICENCE.rst
PYPI_NAME:=openpyxl
-PKG_HASH:=1d2af392cef8c8227bd2ac3ebe3a28b25aba74fd4fa473ce106065f0b73bfe2e
+PKG_HASH:=547a9fc6aafcf44abe358b89ed4438d077e9d92e4f182c87e2dc294186dc4b64
include ../pypi.mk
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
-define Package/python-openpyxl/Default
+define Package/python3-openpyxl
SUBMENU:=Python
SECTION:=lang
CATEGORY:=Languages
TITLE:=A Python library to read/write Excel 2010 xlsx/xlsm files
URL:=https://openpyxl.readthedocs.org/
-endef
-
-define Package/python3-openpyxl
- $(call Package/python-openpyxl/Default)
- DEPENDS:= \
- +PACKAGE_python3-openpyxl:python3 \
- +PACKAGE_python3-openpyxl:python3-defusedxml \
- +PACKAGE_python3-openpyxl:python3-et_xmlfile \
- +PACKAGE_python3-openpyxl:python3-jdcal
- VARIANT:=python3
+ DEPENDS:=+python3 +python3-defusedxml +python3-et_xmlfile +python3-jdcal
endef
define Package/python3-openpyxl/description
A Python library to read/write Excel 2010 xlsx/xlsm files
-.
-(Variant for Python3)
endef
$(eval $(call Py3Package,python3-openpyxl))
PKG_NAME:=passlib
PKG_VERSION:=1.7.2
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_LICENSE:=BSD-3-Clause
PYPI_NAME:=$(PKG_NAME)
include ../python3-package.mk
-define Package/passlib/Default
+define Package/python3-passlib
SUBMENU:=Python
SECTION:=lang
CATEGORY:=Languages
TITLE:=Comprehensive password hashing framework
URL:=https://bitbucket.org/ecollins/passlib
-endef
-
-define Package/python3-passlib
-$(call Package/passlib/Default)
- DEPENDS:=+PACKAGE_python3-passlib:python3 +PACKAGE_python3-passlib:python3-dateutil
- VARIANT:=python3
+ DEPENDS:=+python3 +python3-dateutil
endef
define Package/python3-passlib/description
designed to be useful for a wide range of tasks, from verifying a hash
found in /etc/shadow, to providing full-strength password hashing for
multi-user applications.
-.
-(Variant for Python3)
endef
$(eval $(call Py3Package,python3-passlib))
include $(TOPDIR)/rules.mk
PKG_NAME:=pillow
-PKG_VERSION:=6.2.1
-PKG_RELEASE:=1
+PKG_VERSION:=7.1.1
+PKG_RELEASE:=2
PYPI_NAME:=Pillow
-PKG_HASH:=bf4e972a88f8841d8fdc6db1a75e0f8d763e66e3754b03006cbc3854d89f1cb1
+PKG_HASH:=0f89ddc77cf421b8cd34ae852309501458942bf370831b4a9b406156b599a14e
PKG_MAINTAINER:=Alexandru Ardelean <ardeleanalex@gmail.com>
PKG_LICENSE:=HPND
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
-define Package/python-pillow/Default
+define Package/python3-pillow
SUBMENU:=Python
SECTION:=lang
CATEGORY:=Languages
TITLE:=The friendly PIL fork
URL:=https://python-pillow.org/
- DEPENDS:=+libfreetype +libjpeg +libtiff +zlib
-endef
-
-define Package/python3-pillow
-$(call Package/python-pillow/Default)
- DEPENDS+=+PACKAGE_python3-pillow:python3
- VARIANT:=python3
+ DEPENDS:=+libfreetype +libjpeg +libtiff +zlib +python3
endef
define Package/python3-pillow/description
The friendly PIL fork
-.
-(Variant for Python3)
endef
PYTHON3_PKG_SETUP_GLOBAL_ARGS += build_ext \
PKG_NAME:=pyjwt
PKG_VERSION:=1.7.1
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_MAINTAINER:=Eneas U de Queiroz <cote2004-github@yahoo.com>
PKG_LICENSE:=MIT
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
-define Package/python-pyjwt/Default
+define Package/python3-pyjwt
SUBMENU:=Python
SECTION:=lang
CATEGORY:=Languages
TITLE:=JSON Web Token implementation in Python
URL:=http://github.com/jpadilla/pyjwt
-endef
-
-define Package/python3-pyjwt
- $(call Package/python-pyjwt/Default)
- DEPENDS:=+PACKAGE_python3-pyjwt:python3
- VARIANT:=python3
+ DEPENDS:=+python3
endef
define Package/python3-pyjwt/description
A Python implementation of RFC 7519.
-.
-(Variant for Python3)
endef
$(eval $(call Py3Package,python3-pyjwt))
PKG_NAME:=pymysql
PKG_VERSION:=0.9.3
-PKG_RELEASE:=2
+PKG_RELEASE:=3
PYPI_NAME:=PyMySQL
PKG_HASH:=d8c059dcd81dedb85a9f034d5e22dcb4442c0b201908bede99e306d65ea7c8e7
TITLE:=Pure Python MySQL Client
URL:=https://pymysql.readthedocs.io/
DEPENDS:=+python3 +PYTHON3_PYMYSQL_SHA_PASSWORD_SUPPORT:python3-cryptography
- VARIANT:=python3
endef
define Package/python3-pymysql/config
PKG_NAME:=pyodbc
PKG_VERSION:=4.0.26
-PKG_RELEASE:=2
+PKG_RELEASE:=3
PYPI_NAME:=$(PKG_NAME)
PKG_HASH:=e52700b5d24a846483b5ab80acd9153f8e593999c9184ffea11596288fb33de3
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
-define Package/python-pyodbc/Default
+define Package/python3-pyodbc
SECTION:=lang
CATEGORY:=Languages
SUBMENU:=Python
- URL:=https://github.com/mkleehammer/pyodbc
- DEPENDS:=+unixodbc $(CXX_DEPENDS)
-endef
-
-define Package/python3-pyodbc
-$(call Package/python-pyodbc/Default)
TITLE:=python3-pyodbc
- DEPENDS+=+PACKAGE_python3-pyodbc:python3-light
- VARIANT:=python3
+ URL:=https://github.com/mkleehammer/pyodbc
+ DEPENDS:=+unixodbc +python3-light $(CXX_DEPENDS)
endef
define Package/python3-pyodbc/description
A Python DB API 2 module for ODBC. This project provides an up-to-date,
convenient interface to ODBC using native data types like datetime and decimal.
-
-(Variant for Python3)
endef
$(eval $(call Py3Package,python3-pyodbc))
PKG_NAME:=aiohttp-cors
PKG_VERSION:=0.7.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PYPI_NAME:=aiohttp_cors
PYPI_SOURCE_NAME:=aiohttp-cors
DEPENDS:= \
+python3-aiohttp \
+python3-light
- VARIANT:=python3
endef
define Package/python3-aiohttp-cors/description
PKG_NAME:=aiohttp
PKG_VERSION:=3.6.1
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PYPI_NAME:=$(PKG_NAME)
PKG_HASH:=fc55b1fec0e4cc1134ffb09ea3970783ee2906dc5dfd7cd16917913f2cfed65b
+python3-codecs \
+python3-cgi \
+python3-openssl
- VARIANT:=python3
endef
define Package/python3-aiohttp/description
PKG_NAME:=python-appdirs
PKG_VERSION:=1.4.3
-PKG_RELEASE:=1
+PKG_RELEASE:=3
PKG_MAINTAINER:=Karel Kočí <cynerd@email.cz>
PYPI_NAME:=appdirs
CATEGORY:=Languages
SUBMENU:=Python
URL:=https://github.com/ActiveState/appdirs
- TITLE:=python3-appdirs
+ TITLE:=Determining platform-specific dirs
DEPENDS:=+python3-light
- VARIANT:=python3
endef
define Package/python-appdirs/description
- The Universal Character Encoding Detector
+ A small Python module for determining appropriate platform-specific
+ dirs, e.g. a "user data dir".
endef
$(eval $(call Py3Package,python3-appdirs))
PKG_NAME:=python-asn1crypto
PKG_VERSION:=1.3.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PYPI_NAME:=asn1crypto
PKG_HASH:=5a215cb8dc12f892244e3a113fe05397ee23c5c4ca7a69cd6e69811755efc42d
URL:=https://github.com/wbond/asn1crypto
TITLE:=Fast pure Python lib for ASN1 structures
DEPENDS:=+python3-light
- VARIANT:=python3
endef
define Package/python3-asn1crypto/description
PKG_NAME:=python-astral
PKG_VERSION:=1.10.1
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PYPI_NAME:=astral
PKG_HASH:=d2a67243c4503131c856cafb1b1276de52a86e5b8a1d507b7e08bee51cb67bf1
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
-define Package/python-astral/Default
+define Package/python3-astral
SECTION:=lang
CATEGORY:=Languages
SUBMENU:=Python
TITLE:=Calculations for the position of the sun and moon
URL:=https://github.com/sffjunkie/astral
-endef
-
-define Package/python3-astral
-$(call Package/python-astral/Default)
DEPENDS+= \
- +PACKAGE_python3-astral:python3-light \
- +PACKAGE_python3-astral:python3-pytz
- VARIANT:=python3
+ +python3-light \
+ +python3-pytz
endef
define Package/python3-astral/description
Astral is a python module for calculating the times of various aspects of the sun and moon.
-.
-(Variant for Python3)
endef
$(eval $(call Py3Package,python3-astral))
PKG_NAME:=async-timeout
PKG_VERSION:=3.0.1
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PYPI_NAME:=async_timeout
PYPI_SOURCE_NAME:=async-timeout
DEPENDS:= \
+python3-light \
+python3-asyncio
- VARIANT:=python3
endef
define Package/python3-async-timeout/description
PKG_NAME:=python-atomicwrites
PKG_VERSION:=1.3.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PYPI_NAME:=atomicwrites
PKG_HASH:=75a9445bac02d8d058d5e1fe689654ba5a6556a1dfd8ce6ec55a0ed79866cfa6
TITLE:=Atomic file writes
URL:=https://github.com/untitaker/python-atomicwrites
DEPENDS:=+python3-light
- VARIANT:=python3
endef
define Package/python3-atomicwrites/description
PKG_NAME:=python-attrs
PKG_VERSION:=19.3.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PYPI_NAME:=attrs
PKG_HASH:=f7b7ce16570fe9965acd6d30101a28f62fb4a7f9e926b3bbc9b61f8b04247e72
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
-define Package/python-attrs/Default
+define Package/python3-attrs
SECTION:=lang
CATEGORY:=Languages
SUBMENU:=Python
TITLE:=Classes Without Boilerplate
URL:=https://www.attrs.org/
-endef
-
-define Package/python3-attrs
-$(call Package/python-attrs/Default)
- DEPENDS:=+PACKAGE_python3-attrs:python3-light
- VARIANT:=python3
+ DEPENDS:=+python3-light
endef
define Package/python3-attrs/description
attrs is an MIT-licensed Python package with class decorators that ease
the chores of implementing the most common attribute-related object
protocols.
-.
-(Variant for Python3)
endef
$(eval $(call Py3Package,python3-attrs))
PKG_NAME:=python-automat
PKG_VERSION:=20.2.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PYPI_NAME:=Automat
PKG_HASH:=7979803c74610e11ef0c0d68a2942b152df52da55336e0c9d58daf1831cbdf33
PYTHON3_PKG_SETUP_VARS:= \
PKG_VERSION="$(PKG_VERSION)"
-define Package/python-automat/Default
+define Package/python3-automat
SECTION:=lang
CATEGORY:=Languages
SUBMENU:=Python
TITLE:=Concise, idiomatic finite-state automata
URL:=https://github.com/glyph/Automat
-endef
-
-define Package/python3-automat
-$(call Package/python-automat/Default)
DEPENDS:= \
- +PACKAGE_python3-automat:python3-light \
- +PACKAGE_python3-automat:python3-attrs \
- +PACKAGE_python3-automat:python3-six
- VARIANT:=python3
+ +python3-light \
+ +python3-attrs \
+ +python3-six
endef
define Package/python3-automat/description
Automat is a library for concise, idiomatic Python expression of
finite-state automata (particularly deterministic finite-state
transducers).
-.
-(Variant for Python3)
endef
define Py3Package/python3-automat/filespec
PKG_NAME:=awscli
PKG_VERSION:=1.16.75
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PYPI_NAME:=$(PKG_NAME)
PKG_HASH:=8d96ec0de325ea8271cc6aa95b7392bbf548ec4aabd3ffbcdc0619b64edd4a45
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
-define Package/python-awscli/Default
+define Package/python3-awscli
SUBMENU:=Python
SECTION:=lang
CATEGORY:=Languages
TITLE:=awscli
URL:=https://github.com/aws/aws-cli
-endef
-
-define Package/python3-awscli
-$(call Package/python-awscli/Default)
- DEPENDS:=+PACKAGE_python3-awscli:python3 \
- +PACKAGE_python3-awscli:python3-yaml \
- +PACKAGE_python3-awscli:python3-pyasn1 \
- +PACKAGE_python3-awscli:python3-botocore \
- +PACKAGE_python3-awscli:python3-rsa \
- +PACKAGE_python3-awscli:python3-colorama \
- +PACKAGE_python3-awscli:python3-docutils \
- +PACKAGE_python3-awscli:python3-s3transfer
- VARIANT:=python3
+ DEPENDS:=+python3 \
+ +python3-yaml \
+ +python3-pyasn1 \
+ +python3-botocore \
+ +python3-rsa \
+ +python3-colorama \
+ +python3-docutils \
+ +python3-s3transfer
endef
define Package/python3-awscli/description
This package provides a unified command line interface to Amazon Web Services.
-.
-(Variant for Python3)
endef
$(eval $(call Py3Package,python3-awscli))
PKG_NAME:=boto3
PKG_VERSION:=1.9.135
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PYPI_NAME:=$(PKG_NAME)
PKG_HASH:=5e5805992e873e5687b5ef3b4c56c386ccb4df1c3364f8b8601d289e2f275be1
+python3-jmespath \
+python3-botocore \
+python3-s3transfer
- VARIANT:=python3
endef
define Package/python3-boto3/description
PKG_NAME:=botocore
PKG_VERSION:=1.12.66
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PYPI_NAME:=$(PKG_NAME)
PKG_HASH:=25c39ecc71356287cf79d66981ec77deca374e28043b19b2f818d48aa34272a1
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
-define Package/python-botocore/Default
+define Package/python3-botocore
SUBMENU:=Python
SECTION:=lang
CATEGORY:=Languages
TITLE:=botocore
URL:=https://github.com/boto/botocore
-endef
-
-define Package/python3-botocore
-$(call Package/python-botocore/Default)
- DEPENDS:=+PACKAGE_python3-botocore:python3 \
- +PACKAGE_python3-botocore:python3-urllib3 \
- +PACKAGE_python3-botocore:python3-docutils \
- +PACKAGE_python3-botocore:python3-dateutil \
- +PACKAGE_python3-botocore:python3-jmespath \
- +PACKAGE_python3-botocore:python3-requests
- VARIANT:=python3
+ DEPENDS:=+python3 \
+ +python3-urllib3 \
+ +python3-docutils \
+ +python3-dateutil \
+ +python3-jmespath \
+ +python3-requests
endef
define Package/python3-botocore/description
A low-level interface to a growing number of Amazon Web Services.
The botocore package is the foundation for the AWS CLI as well as boto3.
-.
-(Variant for Python3)
endef
$(eval $(call Py3Package,python3-botocore))
PKG_NAME:=python-cachelib
PKG_VERSION:=0.1
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PYPI_NAME:=cachelib
PKG_HASH:=8b889b509d372095357b8705966e1282d40835c4126d7c2b07fd414514d8ae8d
TITLE:=cachelib
URL:=https://github.com/pallets/cachelib
DEPENDS:=+python3-light
- VARIANT:=python3
endef
define Package/python3-cachelib/description
PKG_NAME:=python-cachetools
PKG_VERSION:=3.1.1
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PYPI_NAME:=cachetools
PKG_HASH:=8ea2d3ce97850f31e4a08b0e2b5e6c34997d7216a9d2c98e0f3978630d4da69a
TITLE:=Extensible memoizing collections and decorators
URL:=https://github.com/tkem/cachetools
DEPENDS:=+python3-light
- VARIANT:=python3
endef
define Package/python3-cachetools/description
PKG_NAME:=python-certifi
PKG_VERSION:=2019.11.28
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_MAINTAINER:=Eneas U de Queiroz <cote2004-github@yahoo.com>
PKG_LICENSE:=MPL-2.0
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
-define Package/python-certifi/Default
+define Package/python3-certifi
SUBMENU:=Python
SECTION:=lang
CATEGORY:=Languages
TITLE:=Python package for Mozilla's CA Bundle
URL:=http://certifi.io/
-endef
-
-define Package/python3-certifi
- $(call Package/python-certifi/Default)
- DEPENDS:=+PACKAGE_python3-certifi:python3-light
- VARIANT:=python3
+ DEPENDS:=+python3-light
endef
define Package/python3-certifi/description
Certifi is a carefully curated collection of Root Certificates for validating the
trustworthiness of SSL certificates while verifying the identity of TLS hosts.
-.
-(Variant for Python3)
endef
$(eval $(call Py3Package,python3-certifi))
PKG_NAME:=python-cffi
PKG_VERSION:=1.14.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PYPI_NAME:=cffi
PKG_HASH:=2d384f4a127a15ba701207f7639d94106693b6cd64173d6c8988e2c25f3ac2b6
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
-define Package/python-cffi/Default
+define Package/python3-cffi
SECTION:=lang
CATEGORY:=Languages
SUBMENU:=Python
TITLE:=C Foreign Function Interface
URL:=https://cffi.readthedocs.org/
- DEPENDS:=+libffi
-endef
-
-define Package/python3-cffi
-$(call Package/python-cffi/Default)
- DEPENDS+= \
- +PACKAGE_python3-cffi:python3-light \
- +PACKAGE_python3-cffi:python3-pycparser
- VARIANT:=python3
+ DEPENDS:= \
+ +libffi \
+ +python3-light \
+ +python3-pycparser
endef
define Package/python3-cffi/description
Foreign Function Interface for Python calling C code.
-.
-(Variant for Python3)
endef
$(eval $(call Py3Package,python3-cffi))
PKG_NAME:=python-chardet
PKG_VERSION:=3.0.4
-PKG_RELEASE:=2
+PKG_RELEASE:=3
PKG_LICENSE:=LGPL-2.1
PYPI_NAME:=chardet
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
-define Package/python-chardet/Default
+define Package/python3-chardet
SUBMENU:=Python
SECTION:=lang
CATEGORY:=Languages
MAINTAINER:=Alexandru Ardelean <ardeleanalex@gmail.com>
URL:=https://github.com/chardet/chardet
-endef
-
-define Package/python3-chardet
-$(call Package/python-chardet/Default)
- TITLE:=Universal encoding detector for Python3
- DEPENDS:=+PACKAGE_python3-chardet:python3-light
- VARIANT:=python3
+ TITLE:=Universal encoding detector
+ DEPENDS:=+python3-light
endef
define Package/python3-chardet/description
Universal encoding detector for Python 2 and 3
-.
-(Variant for Python3)
endef
define Py3Package/python3-chardet/install
PKG_NAME:=colorama
PKG_VERSION:=0.4.1
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PYPI_NAME:=$(PKG_NAME)
PKG_HASH:=05eed71e2e327246ad6b38c540c4a3117230b19679b875190486ddd2d721422d
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
-define Package/python-colorama/Default
+define Package/python3-colorama
SUBMENU:=Python
SECTION:=lang
CATEGORY:=Languages
TITLE:=colorama
URL:=https://github.com/tartley/colorama
-endef
-
-define Package/python3-colorama
-$(call Package/python-colorama/Default)
- DEPENDS:=+PACKAGE_python3-colorama:python3
- VARIANT:=python3
+ DEPENDS:=+python3
endef
define Package/python3-colorama/description
Makes ANSI escape character sequences
(for producing colored terminal text and cursor positioning) work under MS Windows.
-.
-(Variant for Python3)
endef
$(eval $(call Py3Package,python3-colorama))
PKG_NAME:=python-constantly
PKG_VERSION:=15.1.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PYPI_NAME:=constantly
PKG_HASH:=586372eb92059873e29eba4f9dec8381541b4d3834660707faf8ba59146dfc35
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
-define Package/python-constantly/Default
+define Package/python3-constantly
SECTION:=lang
CATEGORY:=Languages
SUBMENU:=Python
TITLE:=Symbolic constants in Python
URL:=https://github.com/twisted/constantly
-endef
-
-define Package/python3-constantly
-$(call Package/python-constantly/Default)
- DEPENDS:=+PACKAGE_python3-constantly:python3-light
- VARIANT:=python3
+ DEPENDS:=+python3-light
endef
define Package/python3-constantly/description
A library that provides symbolic constant support. It includes
collections and constants with text, numeric, and bit flag values.
Originally twisted.python.constants from the Twisted project.
-.
-(Variant for Python3)
endef
$(eval $(call Py3Package,python3-constantly))
PKG_NAME:=python-contextlib2
PKG_VERSION:=0.5.5
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_MAINTAINER:=Karel Kočí <cynerd@email.cz>
PYPI_NAME:=contextlib2
URL:=http://contextlib2.readthedocs.org
TITLE:=python3-contextlib2
DEPENDS:=+python3-light
- VARIANT:=python3
endef
define Package/python-contextlib2/description
PKG_NAME:=python-crypto
PKG_VERSION:=2.6.1
-PKG_RELEASE:=4
+PKG_RELEASE:=5
PYPI_NAME:=pycrypto
PKG_HASH:=f2ce1e989b272cfcb677616763e0a2e7ec659effa67a88aa92b3a65528f60a3c
PYTHON3_PKG_SETUP_VARS:= \
CONFIG_BIG_ENDIAN="$(CONFIG_BIG_ENDIAN)"
-define Package/python-crypto/Default
+define Package/python3-crypto
SECTION:=lang-python
CATEGORY:=Languages
SUBMENU:=Python
TITLE:=Python Cryptography Toolkit
URL:=https://www.dlitz.net/software/pycrypto/
- DEPENDS:=+libgmp
-endef
-
-define Package/python3-crypto
-$(call Package/python-crypto/Default)
- DEPENDS+=+PACKAGE_python3-crypto:python3
- VARIANT:=python3
+ DEPENDS:=+libgmp +python3
endef
define Package/python3-crypto/description
A collection of both secure hash functions (such as MD5 and SHA),
and various encryption algorithms (AES, DES, IDEA, RSA, ElGamal, etc.).
-.
-(Variant for Python3)
endef
$(eval $(call Py3Package,python3-crypto))
include $(TOPDIR)/rules.mk
PKG_NAME:=python-cryptodome
-PKG_VERSION:=3.9.0
-PKG_RELEASE:=1
+PKG_VERSION:=3.9.7
+PKG_RELEASE:=2
PYPI_NAME:=pycryptodome
-PKG_HASH:=dbeb08ad850056747aa7d5f33273b7ce0b9a77910604a1be7b7a6f2ef076213f
+PKG_HASH:=f1add21b6d179179b3c177c33d18a2186a09cc0d3af41ff5ed3f377360b869f2
PKG_LICENSE:=BSD-2-Clause
PKG_LICENSE_FILES:=LICENSE.rst
PYTHON3_PKG_SETUP_VARS:= \
CONFIG_BIG_ENDIAN="$(CONFIG_BIG_ENDIAN)"
-define Package/python-cryptodome/Default
+define Package/python3-cryptodome
SECTION:=lang-python
CATEGORY:=Languages
SUBMENU:=Python
TITLE:=A self-contained cryptographic library for Python
URL:=https://www.pycryptodome.org/
- DEPENDS:=+libgmp
-endef
-
-define Package/python3-cryptodome
-$(call Package/python-cryptodome/Default)
- DEPENDS+=+PACKAGE_python3-cryptodome:python3
- VARIANT:=python3
+ DEPENDS:=+libgmp +python3
CONFLICTS:=python3-crypto
endef
define Package/python3-cryptodome/description
PyCryptodome is a self-contained Python package of low-level
cryptographic primitives.
-.
-(Variant for Python3)
endef
$(eval $(call Py3Package,python3-cryptodome))
include $(TOPDIR)/rules.mk
PKG_NAME:=python-cryptodomex
-PKG_VERSION:=3.9.0
-PKG_RELEASE:=1
+PKG_VERSION:=3.9.7
+PKG_RELEASE:=2
PYPI_NAME:=pycryptodomex
-PKG_HASH:=8b604f4fa1de456d6d19771b01c2823675a75a2c60e51a6b738f71fdfe865370
+PKG_HASH:=50163324834edd0c9ce3e4512ded3e221c969086e10fdd5d3fdcaadac5e24a78
PKG_LICENSE:=BSD-2-Clause
PKG_LICENSE_FILES:=LICENSE.rst
PYTHON3_PKG_SETUP_VARS:= \
CONFIG_BIG_ENDIAN="$(CONFIG_BIG_ENDIAN)"
-define Package/python-cryptodomex/Default
+define Package/python3-cryptodomex
SECTION:=lang-python
CATEGORY:=Languages
SUBMENU:=Python
TITLE:=A self-contained cryptographic library for Python
URL:=https://www.pycryptodome.org/
- DEPENDS:=+libgmp
-endef
-
-define Package/python3-cryptodomex
-$(call Package/python-cryptodomex/Default)
- DEPENDS+=+PACKAGE_python3-cryptodomex:python3
- VARIANT:=python3
+ DEPENDS:=+libgmp +python3
endef
define Package/python3-cryptodomex/description
PyCryptodome is a self-contained Python package of low-level
cryptographic primitives.
-.
-(Variant for Python3)
endef
$(eval $(call Py3Package,python3-cryptodomex))
include $(TOPDIR)/rules.mk
PKG_NAME:=python-cryptography
-PKG_VERSION:=2.8
-PKG_RELEASE:=1
+PKG_VERSION:=2.9
+PKG_RELEASE:=2
PYPI_NAME:=cryptography
-PKG_HASH:=3cda1f0ed8747339bbdf71b9f38ca74c7b592f24f65cdb3ab3765e4b02871651
+PKG_HASH:=0cacd3ef5c604b8e5f59bf2582c076c98a37fe206b31430d0cd08138aff0986e
PKG_LICENSE:=Apache-2.0 BSD-3-Clause
PKG_LICENSE_FILES:=LICENSE.APACHE LICENSE.BSD
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
-define Package/python-cryptography/Default
+define Package/python3-cryptography
SECTION:=lang
CATEGORY:=Languages
SUBMENU:=Python
TITLE:=Cryptographic recipes and primitives
URL:=https://github.com/pyca/cryptography
- DEPENDS:=+libopenssl
-endef
-
-define Package/python3-cryptography
-$(call Package/python-cryptography/Default)
- DEPENDS+= \
- +PACKAGE_python3-cryptography:python3 \
- +PACKAGE_python3-cryptography:python3-cffi \
- +PACKAGE_python3-cryptography:python3-six
- VARIANT:=python3
+ DEPENDS:= \
+ +libopenssl \
+ +python3 \
+ +python3-cffi \
+ +python3-six
endef
define Package/python3-cryptography/description
cryptography is a package which provides cryptographic recipes and
primitives to Python developers. Our goal is for it to be your "cryptographic
standard library". It supports Python 2.6-2.7, Python 3.3+, and PyPy 2.6+.
-.
-(Variant for Python3)
endef
$(eval $(call Py3Package,python3-cryptography))
+++ /dev/null
---- a/setup.py
-+++ b/setup.py
-@@ -243,6 +243,7 @@ class DummyPyTest(test):
- with open(os.path.join(base_dir, "README.rst")) as f:
- long_description = f.read()
-
-+setup_requirements=[]
-
- setup(
- name=about["__title__"],
PKG_NAME:=pycurl
PKG_VERSION:=7.43.0.5
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PYPI_NAME:=$(PKG_NAME)
PKG_HASH:=ec7dd291545842295b7b56c12c90ffad2976cc7070c98d7b1517b7b6cd5994b3
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
-define Package/python-curl/Default
+define Package/python3-curl
CATEGORY:=Languages
SECTION:=lang
SUBMENU:=Python
TITLE:=Python module interface to the cURL library
URL:=http://pycurl.io/
- DEPENDS:=+libcurl
-endef
-
-define Package/python3-curl
-$(call Package/python-curl/Default)
- DEPENDS+=+PACKAGE_python3-curl:python3
- VARIANT:=python3
+ DEPENDS:=+libcurl +python3
endef
define Package/python3-curl/description
PycURL is a Python interface to libcurl, the multiprotocol file transfer library.
-.
-(Variant for Python3)
endef
PYTHON3_PKG_SETUP_ARGS:=
PKG_NAME:=python-dateutil
PKG_VERSION:=2.8.1
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_LICENSE:=BSD-2-Clause
PYPI_NAME:=$(PKG_NAME)
include ../python3-package.mk
-define Package/python-dateutil/Default
+define Package/python3-dateutil
SUBMENU:=Python
SECTION:=lang
CATEGORY:=Languages
TITLE:=Extensions to the standard Python datetime module
URL:=https://dateutil.readthedocs.org/
-endef
-
-define Package/python3-dateutil
-$(call Package/python-dateutil/Default)
- DEPENDS:=+PACKAGE_python3-dateutil:python3 +PACKAGE_python3-dateutil:python3-six
- VARIANT:=python3
+ DEPENDS:=+python3 +python3-six
endef
define Package/python3-dateutil/description
Extensions to the standard Python datetime module
-.
-(Variant for Python3)
endef
$(eval $(call Py3Package,python3-dateutil))
PKG_NAME:=python-decorator
PKG_VERSION:=4.3.2
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_MAINTAINER:=Karel Kočí <cynerd@email.cz>
PKG_CPE_ID:=cpe:/a:python:decorator
URL:=https://github.com/micheles/decorator
TITLE:=python3-decodator
DEPENDS:=+python3-light
- VARIANT:=python3
endef
$(eval $(call Py3Package,python3-decorator))
PKG_NAME:=python-defusedxml
PKG_VERSION:=0.6.0
-PKG_RELEASE:=2
+PKG_RELEASE:=3
PKG_MAINTAINER:=Eneas U de Queiroz <cote2004-github@yahoo.com>
PKG_LICENSE:=Python-2.0
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
-define Package/python-defusedxml/Default
+define Package/python3-defusedxml
SUBMENU:=Python
SECTION:=lang
CATEGORY:=Languages
TITLE:=XML bomb protection for Python
URL:=https://github.com/tiran/defusedxml
-endef
-
-define Package/python3-defusedxml
- $(call Package/python-defusedxml/Default)
DEPENDS:= \
- +PACKAGE_python3-defusedxml:python3-light \
- +PACKAGE_python3-defusedxml:python3-xml
- VARIANT:=python3
+ +python3-light \
+ +python3-xml
endef
define Package/python3-defusedxml/description
The defusedxml package contains several Python-only workarounds and fixes for
denial of service and other vulnerabilities in Python’s XML libraries.
-.
-(Variant for Python3)
endef
$(eval $(call Py3Package,python3-defusedxml))
PKG_NAME:=python-dns
PKG_VERSION:=1.16.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_SOURCE:=dnspython-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=http://www.dnspython.org/kits/1.16.0/
PKG_MAINTAINER:=Josef Schlehofer <pepe.schlehofer@gmail.com>
PKG_CPE_ID:=cpe:/a:debian:python-dns
-PKG_BUILD_DIR:=$(BUILD_DIR)/$(BUILD_VARIANT)-dnspython-$(PKG_VERSION)
+PKG_BUILD_DIR:=$(BUILD_DIR)/dnspython-$(PKG_VERSION)
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
-PKG_UNPACK:=$(HOST_TAR) -C $(PKG_BUILD_DIR) --strip-components=1 -xzf $(DL_DIR)/$(PKG_SOURCE)
-
-define Package/python-dns/Default
+define Package/python3-dns
SUBMENU:=Python
SECTION:=lang
CATEGORY:=Languages
TITLE:=dnspython
URL:=http://www.dnspython.org/
-endef
-
-define Package/python3-dns
-$(call Package/python-dns/Default)
- DEPENDS:=+PACKAGE_python3-dns:python3
- VARIANT:=python3
+ DEPENDS:=+python3
endef
define Package/python3-dns/description
dnspython is a DNS toolkit for Python. It supports almost all record types. It can be used for queries, zone transfers, and dynamic updates. It supports TSIG authenticated messages and EDNS0.
-.
-(Variant for Python3)
endef
$(eval $(call Py3Package,python3-dns))
PKG_NAME:=docutils
PKG_VERSION:=0.14
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PYPI_NAME:=$(PKG_NAME)
PKG_HASH:=51e64ef2ebfb29cae1faa133b3710143496eca21c530f3f71424d77687764274
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
-define Package/python-docutils/Default
+define Package/python3-docutils
SUBMENU:=Python
SECTION:=lang
CATEGORY:=Languages
TITLE:=docutils
URL:=http://docutils.sourceforge.net
-endef
-
-define Package/python3-docutils
-$(call Package/python-docutils/Default)
- DEPENDS:=+PACKAGE_python3-docutils:python3
- VARIANT:=python3
+ DEPENDS:=+python3
endef
define Package/python3-docutils/description
Docutils is a modular system for processing documentation into useful formats,
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.
-.
-(Variant for Python3)
endef
PYTHON3_PKG_SETUP_ARGS:=
PKG_NAME:=python-et_xmlfile
PKG_VERSION:=1.0.1
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_MAINTAINER:=Alexandru Ardelean <ardeleanalex@gmail.com>, Eneas U de Queiroz <cote2004-github@yahoo.com>
PKG_LICENSE:=MIT
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
-define Package/python-et_xmlfile/Default
+define Package/python3-et_xmlfile
SUBMENU:=Python
SECTION:=lang
CATEGORY:=Languages
TITLE:=Low memory library for creating large XML files.
URL:=https://bitbucket.org/openpyxl/et_xmlfile
-endef
-
-define Package/python3-et_xmlfile
-$(call Package/python-et_xmlfile/Default)
DEPENDS:= \
+python3-light \
+python3-lxml
- VARIANT:=python3
endef
define Package/python3-et_xmlfile/description
An implementation of lxml.xmlfile for the standard library.
It is based upon the xmlfile module from lxml with the aim of
allowing code to be developed that will work with both libraries.
-.
-(Variant for Python3)
endef
$(eval $(call Py3Package,python3-et_xmlfile))
PKG_NAME:=python-evdev
PKG_VERSION:=1.3.0
-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>
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
-define Package/python-evdev/Default
+define Package/python3-evdev
SUBMENU:=Python
SECTION:=lang
CATEGORY:=Languages
- URL:=https://github.com/gvalkov/python-evdev
-endef
-
-define Package/python3-evdev
-$(call Package/python-evdev/Default)
TITLE:=python3-evdev
+ URL:=https://github.com/gvalkov/python-evdev
DEPENDS:= \
- +PACKAGE_python3-evdev:python3-light \
- +PACKAGE_python3-evdev:python3-ctypes
- VARIANT:=python3
+ +python3-light \
+ +python3-ctypes
endef
define Package/python3-evdev/description
Bindings to the Linux input handling subsystem
-.
-(Variant for Python3)
endef
LINUX_EVDEV_HEADERS="$(LINUX_DIR)/include/uapi/linux/input.h:$(LINUX_DIR)/include/uapi/linux/input-event-codes.h"
PKG_NAME:=python-flask-login
PKG_VERSION:=0.5.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PYPI_NAME:=Flask-Login
PKG_HASH:=6d33aef15b5bcead780acc339464aae8a6e28f13c90d8b1cf9de8b549d1c0b4b
TITLE:=User session management plugin for Flask
URL:=https://github.com/maxcountryman/flask-login
DEPENDS:=+python3-light +python3-flask
- VARIANT:=python3
endef
define Package/python3-flask-login/description
PKG_NAME:=python-gmpy2
PKG_VERSION:=2.0.8
-PKG_RELEASE:=4
+PKG_RELEASE:=5
PYPI_NAME:=gmpy2
PYPI_SOURCE_EXT:=zip
PYTHON3_PKG_SETUP_ARGS:=--nompfr
-define Package/python-gmpy2/Default
+define Package/python3-gmpy2
SECTION:=lang
CATEGORY:=Languages
SUBMENU:=Python
TITLE:=GMP/MPIR, MPFR, and MPC interface
URL:=https://github.com/aleaxit/gmpy
- DEPENDS:=+libgmp
-endef
-
-define Package/python3-gmpy2
-$(call Package/python-gmpy2/Default)
- DEPENDS+=+PACKAGE_python3-gmpy2:python3-light
- VARIANT:=python3
+ DEPENDS:=+libgmp +python3-light
endef
define Package/python3-gmpy2/description
rounded complex floating-point arithmetic) libraries. gmpy2 also updates the
API and naming conventions to be more consistent and support the additional
functionality.
-.
-(Variant for Python3)
endef
$(eval $(call Py3Package,python3-gmpy2))
PKG_NAME:=python-gnupg
PKG_VERSION:=0.4.4
-PKG_RELEASE:=2
+PKG_RELEASE:=3
PYPI_NAME:=$(PKG_NAME)
PKG_HASH:=45daf020b370bda13a1429c859fcdff0b766c0576844211446f9266cae97fb0e
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
-define Package/python-gnupg/Default
+define Package/python3-gnupg
SECTION:=lang
CATEGORY:=Languages
SUBMENU:=Python
- URL:=https://gnupg.readthedocs.io/en/latest/
- DEPENDS:=+gnupg
-endef
-
-define Package/python3-gnupg
-$(call Package/python-gnupg/Default)
TITLE:=python3-gnupg
- DEPENDS+=+PACKAGE_python3-gnupg:python3-light
- VARIANT:=python3
+ URL:=https://gnupg.readthedocs.io/en/latest/
+ DEPENDS:=+gnupg +python3-light
endef
define Package/python3-gnupg/description
networked applications requiring direct user input. It is intended for
use on Windows, MacOS X, BSD, or Linux, with Python 2.6, Python 2.7,
Python 3.3, Python 3.4, or PyPy.
-
-(Variant for Python3)
endef
define Py3Build/Compile
- $(call Build/Compile/Py3Mod,,\
+ $(call Python3/ModSetup,,\
install --prefix="/usr" --root="$(PKG_INSTALL_DIR)" \
)
endef
+++ /dev/null
-#
-# Copyright (C) 2015-2016 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-# Note: include this after `include $(TOPDIR)/rules.mk in your package Makefile
-# if `python-package.mk` is included, this will already be included
-
-ifneq ($(__python_host_mk_inc),1)
-__python_host_mk_inc=1
-
-# For PYTHON_VERSION
-python_mk_path:=$(dir $(lastword $(MAKEFILE_LIST)))
-include $(python_mk_path)python-version.mk
-
-HOST_PYTHON_DIR:=$(STAGING_DIR_HOSTPKG)
-HOST_PYTHON_INC_DIR:=$(HOST_PYTHON_DIR)/include/python$(PYTHON_VERSION)
-HOST_PYTHON_LIB_DIR:=$(HOST_PYTHON_DIR)/lib/python$(PYTHON_VERSION)
-
-HOST_PYTHON_PKG_DIR:=$(HOST_PYTHON_DIR)/lib/python$(PYTHON_VERSION)/site-packages
-
-HOST_PYTHON_BIN:=$(HOST_PYTHON_DIR)/bin/python$(PYTHON_VERSION)
-
-HOST_PYTHONPATH:=$(HOST_PYTHON_LIB_DIR):$(HOST_PYTHON_PKG_DIR)
-
-define HostPython
- if [ "$(strip $(3))" == "HOST" ]; then \
- export PYTHONPATH="$(HOST_PYTHONPATH)"; \
- export PYTHONDONTWRITEBYTECODE=0; \
- else \
- export PYTHONPATH="$(PYTHONPATH)"; \
- export PYTHONDONTWRITEBYTECODE=1; \
- export _python_sysroot="$(STAGING_DIR)"; \
- export _python_prefix="/usr"; \
- export _python_exec_prefix="/usr"; \
- fi; \
- export PYTHONOPTIMIZE=""; \
- $(1) \
- $(HOST_PYTHON_BIN) $(2);
-endef
-
-define host_python_settings
- ARCH="$(HOST_ARCH)" \
- CC="$(HOSTCC)" \
- CCSHARED="$(HOSTCC) $(HOST_FPIC)" \
- CXX="$(HOSTCXX)" \
- LD="$(HOSTCC)" \
- LDSHARED="$(HOSTCC) -shared" \
- CFLAGS="$(HOST_CFLAGS)" \
- CPPFLAGS="$(HOST_CPPFLAGS) -I$(HOST_PYTHON_INC_DIR)" \
- LDFLAGS="$(HOST_LDFLAGS) -lpython$(PYTHON_VERSION) -Wl$(comma)-rpath=$(STAGING_DIR_HOSTPKG)/lib" \
- _PYTHON_HOST_PLATFORM=linux2
-endef
-
-# $(1) => commands to execute before running pythons script
-# $(2) => python script and its arguments
-# $(3) => additional variables
-define Build/Compile/HostPyRunHost
- $(call HostPython, \
- $(if $(1),$(1);) \
- $(call host_python_settings) \
- $(3) \
- , \
- $(2) \
- , \
- HOST \
- )
-endef
-
-# Note: I shamelessly copied this from Yousong's logic (from python-packages);
-HOST_PYTHON_PIP:=$(STAGING_DIR_HOSTPKG)/bin/pip$(PYTHON_VERSION)
-
-# $(1) => packages to install
-define Build/Compile/HostPyPipInstall
- $(call host_python_settings) \
- $(HOST_PYTHON_PIP) \
- --disable-pip-version-check \
- --cache-dir "$(DL_DIR)/pip-cache" \
- install \
- $(1)
-endef
-
-# $(1) => build subdir
-# $(2) => additional arguments to setup.py
-# $(3) => additional variables
-define Build/Compile/HostPyMod
- $(call Build/Compile/HostPyRunHost, \
- cd $(HOST_BUILD_DIR)/$(strip $(1)), \
- ./setup.py $(2), \
- $(3))
-endef
-
-endif # __python_host_mk_inc
PKG_NAME:=python-hyperlink
PKG_VERSION:=19.0.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PYPI_NAME:=hyperlink
PKG_HASH:=4288e34705da077fada1111a24a0aa08bb1e76699c9ce49876af722441845654
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
-define Package/python-hyperlink/Default
+define Package/python3-hyperlink
SECTION:=lang
CATEGORY:=Languages
SUBMENU:=Python
TITLE:=Pure-Python immutable URLs
URL:=https://github.com/python-hyper/hyperlink
-endef
-
-define Package/python3-hyperlink
-$(call Package/python-hyperlink/Default)
DEPENDS:= \
- +PACKAGE_python3-hyperlink:python3-light \
- +PACKAGE_python3-hyperlink:python3-idna
- VARIANT:=python3
+ +python3-light \
+ +python3-idna
endef
define Package/python3-hyperlink/description
Hyperlink provides a pure-Python implementation of immutable URLs. Based
on RFC 3986 and 3987, the Hyperlink URL makes working with both URIs and
IRIs easy.
-.
-(Variant for Python3)
endef
$(eval $(call Py3Package,python3-hyperlink))
PKG_NAME:=python-idna
PKG_VERSION:=2.9
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PYPI_NAME:=idna
PKG_HASH:=7588d1c14ae4c77d74036e8c22ff447b26d0fde8f007354fd48a7814db15b7cb
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
-define Package/python-idna/Default
+define Package/python3-idna
SECTION:=lang
CATEGORY:=Languages
SUBMENU:=Python
TITLE:=IDNA library
URL:=https://github.com/kjd/idna
-endef
-
-define Package/python3-idna
-$(call Package/python-idna/Default)
DEPENDS:= \
- +PACKAGE_python3-idna:python3-light \
- +PACKAGE_python3-idna:python3-codecs
- VARIANT:=python3
+ +python3-light \
+ +python3-codecs
endef
define Package/python3-idna/description
(IDNA) protocol as specified in RFC 5891. This version of the protocol
is often referred to as "IDNA2008" and can produce different results
from the earlier standard from 2003.
-.
-(Variant for Python3)
endef
$(eval $(call Py3Package,python3-idna))
PKG_NAME:=python-ifaddr
PKG_VERSION:=0.1.6
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PYPI_NAME:=ifaddr
PKG_HASH:=c19c64882a7ad51a394451dabcbbed72e98b5625ec1e79789924d5ea3e3ecb93
DEPENDS:= \
+python3-light \
+python3-ctypes
- VARIANT:=python3
endef
define Package/python3-ifaddr/description
PKG_NAME:=python-incremental
PKG_VERSION:=17.5.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PYPI_NAME:=incremental
PKG_HASH:=7b751696aaf36eebfab537e458929e194460051ccad279c72b755a167eebd4b3
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
-define Package/python-incremental/Default
+define Package/python3-incremental
SECTION:=lang
CATEGORY:=Languages
SUBMENU:=Python
TITLE:=Versions your Python projects
URL:=https://github.com/twisted/incremental
-endef
-
-define Package/python3-incremental
-$(call Package/python-incremental/Default)
- DEPENDS:=+PACKAGE_python3-incremental:python3-light
- VARIANT:=python3
+ DEPENDS:=+python3-light
endef
define Package/python3-incremental/description
Incremental is a small library that versions your Python projects.
-.
-(Variant for Python3)
endef
$(eval $(call Py3Package,python3-incremental))
PKG_NAME:=python-influxdb
PKG_VERSION:=5.2.2
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_MAINTAINER:=Karel Kočí <cynerd@email.cz>
PYPI_NAME:=influxdb
URL:=https://github.com/influxdb/influxdb-python
TITLE:=python3-influxdb
DEPENDS:=+python3-requests +python3-pytz +python3-six +python3-dateutil
- VARIANT:=python3
endef
define Package/python3-influxdb/description
PKG_NAME:=python-intelhex
PKG_VERSION:=2.2.1
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PYPI_NAME:=IntelHex
PYPI_SOURCE_NAME:=intelhex
TITLE:=python3-intelhex
URL:=https://github.com/bialix/intelhex
DEPENDS:=+python3-light
- VARIANT:=python3
endef
define Package/python3-intelhex/description
PKG_NAME:=python-jdcal
PKG_VERSION:=1.4.1
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_MAINTAINER:=Alexandru Ardelean <ardeleanalex@gmail.com>, Eneas U de Queiroz <cote2004-github@yahoo.com>
PKG_LICENSE:=BSD-2-Clause
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
-define Package/python-jdcal/Default
+define Package/python3-jdcal
SUBMENU:=Python
SECTION:=lang
CATEGORY:=Languages
TITLE:=Julian dates from proleptic Gregorian and Julian calendars
URL:=https://github.com/phn/jdcal
-endef
-
-define Package/python3-jdcal
-$(call Package/python-jdcal/Default)
- DEPENDS:= +PACKAGE_python3-jdcal:python3-light
- VARIANT:=python3
+ DEPENDS:= +python3-light
endef
define Package/python3-jdcal/description
This module contains functions for converting between Julian dates and calendar dates.
-.
-(Variant for Python3)
endef
$(eval $(call Py3Package,python3-jdcal))
PKG_NAME:=jmespath
PKG_VERSION:=0.9.3
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PYPI_NAME:=$(PKG_NAME)
PKG_HASH:=6a81d4c9aa62caf061cb517b4d9ad1dd300374cd4706997aff9cd6aedd61fc64
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
-define Package/python-jmespath/Default
+define Package/python3-jmespath
SUBMENU:=Python
SECTION:=lang
CATEGORY:=Languages
TITLE:=jmespath
URL:=https://github.com/jmespath/jmespath.py
-endef
-
-define Package/python3-jmespath
-$(call Package/python-jmespath/Default)
- DEPENDS:=+PACKAGE_python3-jmespath:python3
- VARIANT:=python3
+ DEPENDS:=+python3
endef
define Package/python3-jmespath/description
JMESPath (pronounced “james path”) allows you to declaratively specify how to extract
elements from a JSON document.
-.
-(Variant for Python3)
endef
$(eval $(call Py3Package,python3-jmespath))
PKG_NAME:=python-jsonpath-ng
PKG_VERSION:=1.4.3
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_MAINTAINER:=Karel Kočí <cynerd@email.cz>
PYPI_NAME:=jsonpath-ng
URL:=https://github.com/h2non/jsonpath-ng
TITLE:=python3-jsonpath-ng
DEPENDS:=+python3-ply +python3-six +python3-decorator
- VARIANT:=python3
endef
$(eval $(call Py3Package,python3-jsonpath-ng))
PKG_NAME:=python-libmodbus
PKG_VERSION:=0.5.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_LICENSE:=BSD-3-Clause
PKG_MAINTAINER:=Daniel Golle <daniel@makrotopia.org>
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
-define Package/python-libmodbus/Default
+define Package/python3-libmodbus
SUBMENU:=Python
SECTION:=lang
CATEGORY:=Languages
- URL:=https://pypi.org/project/pylibmodbus
-endef
-
-define Package/python3-libmodbus
-$(call Package/python-libmodbus/Default)
TITLE:=pylibmodbus
+ URL:=https://pypi.org/project/pylibmodbus
DEPENDS:=+libmodbus \
- +PACKAGE_python3-libmodbus:python3-light \
- +PACKAGE_python3-libmodbus:python3-cffi
- VARIANT:=python3
+ +python3-light \
+ +python3-cffi
endef
define Package/python3-libmodbus/description
Python Interface for libmodbus written with CFFI.
-.
-(Variant for Python3)
endef
$(eval $(call Py3Package,python3-libmodbus))
PKG_NAME:=python-lxml
PKG_VERSION:=4.4.2
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PYPI_NAME:=lxml
PKG_HASH:=eff69ddbf3ad86375c344339371168640951c302450c5d3e9936e98d6459db06
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
-define Package/python-lxml/Default
+define Package/python3-lxml
SECTION:=lang
CATEGORY:=Languages
SUBMENU:=Python
- URL:=https://lxml.de
- DEPENDS:=+libxml2 +libxslt +libexslt
-endef
-
-define Package/python3-lxml
-$(call Package/python-lxml/Default)
TITLE:=python3-lxml
- DEPENDS+=+PACKAGE_python3-lxml:python3-light
- VARIANT:=python3
+ URL:=https://lxml.de
+ DEPENDS:=+libxml2 +libxslt +libexslt +python3-light
endef
define Package/python3-lxml/description
The lxml XML toolkit is a Pythonic binding
for the C libraries libxml2 and libxslt.
-.
-(Variant for Python3)
endef
TARGET_LDFLAGS += -lxml2 -lxslt -lexslt
define Py3Build/Compile
- $(call Build/Compile/Py3Mod,, \
+ $(call Python3/ModSetup,, \
install --prefix="/usr" --root="$(PKG_INSTALL_DIR)" \
--static \
--single-version-externally-managed \
PKG_NAME:=python-markdown
PKG_VERSION:=3.2.1
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PYPI_NAME:=Markdown
PKG_HASH:=90fee683eeabe1a92e149f7ba74e5ccdc81cd397bd6c516d93a8da0ef90b6902
+python3-light \
+python3-setuptools \
+python3-logging
- VARIANT:=python3
endef
define Package/python3-markdown/description
PKG_NAME:=python-more-itertools
PKG_VERSION:=8.2.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PYPI_NAME:=more-itertools
PKG_HASH:=b1ddb932186d8a6ac451e1d95844b382f55e12686d51ca0c68b6f61f2ab7a507
TITLE:=More routines for operating on iterables, beyond itertools
URL:=https://github.com/erikrose/more-itertools
DEPENDS:=+python3-light
- VARIANT:=python3
endef
define Package/python3-more-itertools/description
PKG_NAME:=multidict
PKG_VERSION:=4.5.2
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PYPI_NAME:=$(PKG_NAME)
PKG_HASH:=024b8129695a952ebd93373e45b5d341dbb87c17ce49637b34000093f243dd4f
DEPENDS:= \
+python3-light \
+python3-attrs
- VARIANT:=python3
endef
define Package/python3-multidict/description
PKG_NAME:=python-mysqlclient
PKG_VERSION:=1.4.6
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_LICENSE:=GPL-2.0
PYPI_NAME:=mysqlclient
# python-mysqlclient needs iconv
include $(INCLUDE_DIR)/nls.mk
-define Package/python-mysqlclient/Default
+define Package/python3-mysqlclient
SUBMENU:=Python
SECTION:=lang
CATEGORY:=Languages
+ TITLE:=MySQL database adapter
URL:=https://mysqlclient.readthedocs.io/
-endef
-
-define Package/python3-mysqlclient
- $(call Package/python-mysqlclient/Default)
- TITLE:=MySQL database adapter for Python3
- DEPENDS:=+PACKAGE_python3-mysqlclient:python3 +libmysqlclient
- VARIANT:=python3
+ DEPENDS:=+python3 +libmysqlclient
endef
define Package/python3-mysqlclient/description
MySQLdb is an thread-compatible interface to the popular MySQL database
server that provides the Python database API.
-.
-(Variant for Python3)
endef
$(eval $(call Py3Package,python3-mysqlclient))
PKG_NAME:=python-netdisco
PKG_VERSION:=2.6.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PYPI_NAME:=netdisco
PKG_HASH:=2b3aca14a1807712a053f11fd80dc251dd821ee4899aefece515287981817762
+python3-light \
+python3-requests \
+python3-zeroconf
- VARIANT:=python3
endef
define Package/python3-netdisco/description
PKG_NAME:=python-oauthlib
PKG_VERSION:=3.1.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_MAINTAINER:=Eneas U de Queiroz <cotequeiroz@gmail.com>
PKG_LICENSE:=BSD-3-Clause
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
-define Package/python-oauthlib/Default
+define Package/python3-oauthlib
SUBMENU:=Python
SECTION:=lang
CATEGORY:=Languages
TITLE:=OAuth request-signing logic for Python
URL:=https://github.com/oauthlib/oauthlib
-endef
-
-define Package/python3-oauthlib
- $(call Package/python-oauthlib/Default)
- DEPENDS:=+PACKAGE_python3-oauthlib:python3-light
- VARIANT:=python3
+ DEPENDS:=+python3-light
endef
define Package/python3-oauthlib/description
A generic, spec-compliant, thorough implementation of the OAuth request-signing
logic for Python
-.
-(Variant for Python3)
endef
$(eval $(call Py3Package,python3-oauthlib))
#!/bin/sh
set -e
-[ -z "$SOURCE_DATE_EPOCH" ] || {
- PYTHONHASHSEED="$SOURCE_DATE_EPOCH"
- export PYTHONHASHSEED
-}
-
process_filespec() {
local src_dir="$1"
local dst_dir="$2"
)
}
-delete_empty_dirs() {
- local dst_dir="$1"
- if [ -d "$dst_dir/usr" ] ; then
- find "$dst_dir/usr" -empty -type d -delete
- fi
-}
-
-ver="$1"
-src_dir="$2"
-dst_dir="$3"
-python="$4"
-mode="$5"
-filespec="$6"
-
-find "$src_dir" -name "*.exe" -delete
+src_dir="$1"
+dst_dir="$2"
+filespec="$3"
process_filespec "$src_dir" "$dst_dir" "$filespec" || {
echo "process filespec error-ed"
exit 1
}
-
-if [ "$mode" == "sources" ] ; then
- # Copy only python source files
- find "$dst_dir" -not -type d -not -name "*.py" -delete
-
- delete_empty_dirs "$dst_dir"
- exit 0
-fi
-
-if [ "$ver" == "3" ] ; then
- legacy="-b"
-fi
-# default max recursion is 10
-max_recursion_level=20
-
-# XXX [So that you won't goof as I did]
-# Note: Yes, I tried to use the -O & -OO flags here.
-# However the generated byte-codes were not portable.
-# So, we just stuck to un-optimized byte-codes,
-# which is still way better/faster than running
-# Python sources all the time.
-$python -m compileall -r "$max_recursion_level" $legacy -d '/' "$dst_dir" || {
- echo "python -m compileall err-ed"
- exit 1
-}
-
-# Delete source files and pyc [ un-optimized bytecode files ]
-# We may want to make this optimization thing configurable later, but not sure atm
-find "$dst_dir" -type f -name "*.py" -delete
-
-delete_empty_dirs "$dst_dir"
-
-exit 0
+++ /dev/null
-#
-# Copyright (C) 2006-2016 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-# Note: include this after `include $(TOPDIR)/rules.mk in your package Makefile
-
-python_mk_path:=$(dir $(lastword $(MAKEFILE_LIST)))
-include $(python_mk_path)python-host.mk
-
-PYTHON_DIR:=$(STAGING_DIR)/usr
-PYTHON_BIN_DIR:=$(PYTHON_DIR)/bin
-PYTHON_INC_DIR:=$(PYTHON_DIR)/include/python$(PYTHON_VERSION)
-PYTHON_LIB_DIR:=$(PYTHON_DIR)/lib/python$(PYTHON_VERSION)
-
-PYTHON_PKG_DIR:=/usr/lib/python$(PYTHON_VERSION)/site-packages
-
-PYTHON:=python$(PYTHON_VERSION)
-
-PYTHONPATH:=$(PYTHON_LIB_DIR):$(STAGING_DIR)/$(PYTHON_PKG_DIR):$(PKG_INSTALL_DIR)/$(PYTHON_PKG_DIR)
-
-# These configure args are needed in detection of path to Python header files
-# using autotools.
-CONFIGURE_ARGS += \
- _python_sysroot="$(STAGING_DIR)" \
- _python_prefix="/usr" \
- _python_exec_prefix="/usr"
-
-PKG_USE_MIPS16:=0
-# This is required in addition to PKG_USE_MIPS16:=0 because otherwise MIPS16
-# flags are inherited from the Python base package (via sysconfig module)
-ifdef CONFIG_USE_MIPS16
- TARGET_CFLAGS += -mno-mips16 -mno-interlink-mips16
-endif
-
-define PyShebang
-$(SED) "1"'!'"b;s,^#"'!'".*python.*,#"'!'"/usr/bin/python2," -i --follow-symlinks $(1)
-endef
-
-define PyPackage
-
- define Package/$(1)-src
- $(call Package/$(1))
- DEPENDS:=
- CONFLICTS:=
- PROVIDES:=
- EXTRA_DEPENDS:=
- TITLE+= (sources)
- USERID:=
- MENU:=
- endef
-
- define Package/$(1)-src/description
- $(call Package/$(1)/description).
- (Contains the Python sources for this package).
- endef
-
- # Add default PyPackage filespec none defined
- ifndef PyPackage/$(1)/filespec
- define PyPackage/$(1)/filespec
- +|$(PYTHON_PKG_DIR)
- endef
- endif
-
- ifndef PyPackage/$(1)/install
- define PyPackage/$(1)/install
- if [ -d $(PKG_INSTALL_DIR)/usr/bin ]; then \
- $(INSTALL_DIR) $$(1)/usr/bin ; \
- $(CP) $(PKG_INSTALL_DIR)/usr/bin/* $$(1)/usr/bin/ ; \
- fi
- endef
- endif
-
- ifndef Package/$(1)/install
- $(call shexport,PyPackage/$(1)/filespec)
-
- define Package/$(1)/install
- $$(call PyPackage/$(1)/install,$$(1))
- $(SHELL) $(python_mk_path)python-package-install.sh "2" \
- "$(PKG_INSTALL_DIR)" "$$(1)" \
- "$(HOST_PYTHON_BIN)" "$$(2)" \
- "$$$$$$$$$$(call shvar,PyPackage/$(1)/filespec)" && \
- if [ -d "$$(1)/usr/bin" ]; then \
- $(call PyShebang,$$(1)/usr/bin/*) ; \
- fi
- endef
-
- define Package/$(1)-src/install
- $$(call Package/$(1)/install,$$(1),sources)
- endef
- endif # Package/$(1)/install
-endef
-
-# $(1) => commands to execute before running pythons script
-# $(2) => python script and its arguments
-# $(3) => additional variables
-define Build/Compile/HostPyRunTarget
- $(call HostPython, \
- $(if $(1),$(1);) \
- CC="$(TARGET_CC)" \
- CCSHARED="$(TARGET_CC) $(FPIC)" \
- CXX="$(TARGET_CXX)" \
- LD="$(TARGET_CC)" \
- LDSHARED="$(TARGET_CC) -shared" \
- CFLAGS="$(TARGET_CFLAGS)" \
- CPPFLAGS="$(TARGET_CPPFLAGS) -I$(PYTHON_INC_DIR)" \
- LDFLAGS="$(TARGET_LDFLAGS) -lpython$(PYTHON_VERSION)" \
- _PYTHON_HOST_PLATFORM=linux2 \
- __PYVENV_LAUNCHER__="/usr/bin/$(PYTHON)" \
- $(3) \
- , \
- $(2) \
- )
-endef
-
-# $(1) => build subdir
-# $(2) => additional arguments to setup.py
-# $(3) => additional variables
-define Build/Compile/PyMod
- $(INSTALL_DIR) $(PKG_INSTALL_DIR)/$(PYTHON_PKG_DIR)
- $(call Build/Compile/HostPyRunTarget, \
- cd $(PKG_BUILD_DIR)/$(strip $(1)), \
- ./setup.py $(2), \
- $(3))
-endef
-
-PYTHON_PKG_SETUP_DIR ?=
-PYTHON_PKG_SETUP_GLOBAL_ARGS ?=
-PYTHON_PKG_SETUP_ARGS ?= --single-version-externally-managed
-PYTHON_PKG_SETUP_VARS ?=
-
-define PyBuild/Compile/Default
- $(if $(HOST_PYTHON_PACKAGE_BUILD_DEPENDS),
- $(call Build/Compile/HostPyPipInstall,$(HOST_PYTHON_PACKAGE_BUILD_DEPENDS))
- )
- $(call Build/Compile/PyMod, \
- $(PYTHON_PKG_SETUP_DIR), \
- $(PYTHON_PKG_SETUP_GLOBAL_ARGS) \
- install --prefix="/usr" --root="$(PKG_INSTALL_DIR)" \
- $(PYTHON_PKG_SETUP_ARGS), \
- $(PYTHON_PKG_SETUP_VARS) \
- )
-endef
-
-PyBuild/Compile=$(PyBuild/Compile/Default)
-
-ifeq ($(BUILD_VARIANT),python)
-define Build/Compile
- $(call PyBuild/Compile)
-endef
-endif # python
PKG_NAME:=python-packaging
PKG_VERSION:=20.3
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PYPI_NAME:=packaging
PKG_HASH:=3c292b474fda1671ec57d46d739d072bfd495a4f51ad01a055121d81e952b7a3
TITLE:=Core utilities for Python packages
URL:=https://github.com/pypa/packaging
DEPENDS:=+python3-light +python3-pyparsing +python3-six +python3-logging +python3-distutils
- VARIANT:=python3
endef
define Package/python3-packaging/description
PKG_NAME:=python-paho-mqtt
PKG_VERSION:=1.5.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_MAINTAINER:=Josef Schlehofer <josef.schlehofer@nic.cz>, Alexandru Ardelean <ardeleanalex@gmail.com>
PKG_LICENSE:=EPL-1.0 Eclipse Distribution License v1.0
TITLE:=python3-paho-mqtt
URL:=http://eclipse.org/paho
DEPENDS:=+python3-light
- VARIANT:=python3
endef
define Package/python3-paho-mqtt/description
PKG_NAME:=python-parsley
PKG_VERSION:=1.3
-PKG_RELEASE:=4
+PKG_RELEASE:=5
PYPI_NAME:=Parsley
PKG_HASH:=9444278d47161d5f2be76a767809a3cbe6db4db822f46a4fd7481d4057208d41
PYTHON3_PKG_SETUP_ARGS:=
-define Package/python-parsley/Default
+define Package/python3-parsley
SECTION:=lang
CATEGORY:=Languages
SUBMENU:=Python
TITLE:=Parsing and pattern matching
URL:=http://launchpad.net/parsley
-endef
-
-define Package/python3-parsley
-$(call Package/python-parsley/Default)
- DEPENDS:=+PACKAGE_python3-parsley:python3-light
- VARIANT:=python3
+ DEPENDS:=+python3-light
endef
define Package/python3-parsley/description
Parsing and pattern matching made easy.
-.
-(Variant for Python3)
endef
$(eval $(call Py3Package,python3-parsley))
--- /dev/null
+#
+# Copyright (C) 2020 CZ.NIC, z. s. p. o. (https://www.nic.cz/)
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=python-pluggy
+PKG_VERSION:=0.13.1
+PKG_RELEASE:=2
+
+PYPI_NAME:=pluggy
+PKG_HASH:=15b2acde666561e1298d71b523007ed7364de07029219b604cf808bfa1c765b0
+
+PKG_MAINTAINER:=Jan Pavlinec <jan.pavlinec@nic.cz>
+PKG_LICENSE:=MIT
+PKG_LICENSE_FILES:=LICENSE
+
+include ../pypi.mk
+include $(INCLUDE_DIR)/package.mk
+include ../python3-package.mk
+
+HOST_PYTHON3_PACKAGE_BUILD_DEPENDS:=setuptools-scm
+
+define Package/python3-pluggy
+ SUBMENU:=Python
+ SECTION:=lang
+ CATEGORY:=Languages
+ TITLE:=Plugin and hook calling mechanisms for Python
+ URL:=https://github.com/pytest-dev/pluggy
+ DEPENDS:=+python3-light
+endef
+
+define Package/python3-pluggy/description
+ A minimalist production ready plugin system for python
+endef
+
+$(eval $(call Py3Package,python3-pluggy))
+$(eval $(call BuildPackage,python3-pluggy))
+$(eval $(call BuildPackage,python3-pluggy-src))
PKG_NAME:=python-ply
PKG_VERSION:=3.11
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PYPI_NAME:=ply
PKG_HASH:=00c7c1aaa88358b9c765b6d3000c6eec0ba42abca5351b095321aef446081da3
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
-define Package/python-ply/Default
+define Package/python3-ply
SECTION:=lang
CATEGORY:=Languages
SUBMENU:=Python
TITLE:=lex and yacc for Python
URL:=http://www.dabeaz.com/ply/
-endef
-
-define Package/python3-ply
-$(call Package/python-ply/Default)
- DEPENDS:=+PACKAGE_python3-ply:python3-light
- VARIANT:=python3
+ DEPENDS:=+python3-light
endef
define Package/python3-ply/description
PLY is a 100% Python implementation of the common parsing tools lex
and yacc.
-.
-(Variant for Python3)
endef
$(eval $(call Py3Package,python3-ply))
PKG_NAME:=python-py
PKG_VERSION:=1.8.1
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PYPI_NAME:=py
PKG_HASH:=5e27081401262157467ad6e7f851b7aa402c5852dbcb3dae06768434de5752aa
TITLE:=py
URL:=https://github.com/pytest-dev/py
DEPENDS:=+python3-light
- VARIANT:=python3
endef
define Package/python3-py/description
PKG_NAME:=python-pyasn1-modules
PKG_VERSION:=0.2.8
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PYPI_NAME:=pyasn1-modules
PKG_HASH:=905f84c712230b2c592c19470d3ca8d552de726050d1d1716282a1f6146be65e
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
-define Package/python-pyasn1-modules/Default
+define Package/python3-pyasn1-modules
SECTION:=lang
CATEGORY:=Languages
SUBMENU:=Python
TITLE:=Collection of ASN.1 modules
URL:=https://github.com/etingof/pyasn1-modules
-endef
-
-define Package/python3-pyasn1-modules
-$(call Package/python-pyasn1-modules/Default)
DEPENDS:= \
- +PACKAGE_python3-pyasn1-modules:python3-light \
- +PACKAGE_python3-pyasn1-modules:python3-pyasn1
- VARIANT:=python3
+ +python3-light \
+ +python3-pyasn1
endef
define Package/python3-pyasn1-modules/description
This is a small but growing collection of ASN.1 data structures
expressed in Python terms using pyasn1 data model.
-.
-(Variant for Python3).
endef
$(eval $(call Py3Package,python3-pyasn1-modules))
PKG_NAME:=python-pyasn1
PKG_VERSION:=0.4.8
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PYPI_NAME:=pyasn1
PKG_HASH:=aef77c9fb94a3ac588e87841208bdec464471d9871bd5050a287cc9a475cd0ba
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
-define Package/python-pyasn1/Default
+define Package/python3-pyasn1
SECTION:=lang
CATEGORY:=Languages
SUBMENU:=Python
TITLE:=ASN.1 library for Python
URL:=https://github.com/etingof/pyasn1
-endef
-
-define Package/python3-pyasn1
-$(call Package/python-pyasn1/Default)
- DEPENDS:=+PACKAGE_python3-pyasn1:python3-light
- VARIANT:=python3
+ DEPENDS:=+python3-light
endef
define Package/python3-pyasn1/description
language. It has been first written to support particular protocol (SNMP)
but then generalized to be suitable for a wide range of protocols
based on ASN.1 specification.
-.
-(Variant for Python3)
endef
$(eval $(call Py3Package,python3-pyasn1))
PKG_NAME:=python-pycparser
PKG_VERSION:=2.20
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PYPI_NAME:=pycparser
PKG_HASH:=2d475327684562c3a96cc71adf7dc8c4f0565175cf86b6d7a404ff4c771f15f0
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
-define Package/python-pycparser/Default
+define Package/python3-pycparser
SECTION:=lang
CATEGORY:=Languages
SUBMENU:=Python
TITLE:=C parser in Python
URL:=https://github.com/eliben/pycparser
-endef
-
-define Package/python3-pycparser
-$(call Package/python-pycparser/Default)
DEPENDS:= \
- +PACKAGE_python3-pycparser:python3-light \
- +PACKAGE_python3-pycparser:python3-ply
- VARIANT:=python3
+ +python3-light \
+ +python3-ply
endef
define Package/python3-pycparser/description
pycparser is a parser for the C language, written in pure Python. It is a
module designed to be easily integrated into applications that need to parse
C source code.
-.
-(Variant for Python3)
endef
$(eval $(call Py3Package,python3-pycparser))
PKG_NAME:=python-pyopenssl
PKG_VERSION:=19.1.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PYPI_NAME:=pyOpenSSL
PKG_HASH:=9a24494b2602aaf402be5c9e30a0b82d4a5c67528fe8fb475e3f3bc00dd69507
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
-define Package/python-pyopenssl/Default
+define Package/python3-pyopenssl
SECTION:=lang
CATEGORY:=Languages
SUBMENU:=Python
TITLE:=OpenSSL wrapper
URL:=https://pyopenssl.org/
-endef
-
-define Package/python3-pyopenssl
-$(call Package/python-pyopenssl/Default)
DEPENDS:= \
- +PACKAGE_python3-pyopenssl:python3-light \
- +PACKAGE_python3-pyopenssl:python3-cryptography \
- +PACKAGE_python3-pyopenssl:python3-six
- VARIANT:=python3
+ +python3-light \
+ +python3-cryptography \
+ +python3-six
endef
define Package/python3-pyopenssl/description
Python wrapper module around the OpenSSL library
-.
-(Variant for Python3).
endef
$(eval $(call Py3Package,python3-pyopenssl))
PKG_NAME:=pyotp
PKG_VERSION:=2.3.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PYPI_NAME:=$(PKG_NAME)
PKG_HASH:=fc537e8acd985c5cbf51e11b7d53c42276fee017a73aec7c07380695671ca1a1
TITLE:=Python One-Time Password Library
URL:=https://github.com/pyauth/pyotp
DEPENDS:=+python3-light
- VARIANT:=python3
endef
define Package/python3-pyotp/description
include $(TOPDIR)/rules.mk
PKG_NAME:=python-pyparsing
-PKG_VERSION:=2.4.6
-PKG_RELEASE:=1
+PKG_VERSION:=2.4.7
+PKG_RELEASE:=2
PYPI_NAME:=pyparsing
-PKG_HASH:=4c830582a84fb022400b85429791bc551f1f4871c33f23e44f353119e92f969f
+PKG_HASH:=c203ec8783bf771a155b207279b9bccb8dea02d8f0c9e5f8ead507bc3246ecc1
PKG_MAINTAINER:=Jan Pavlinec <jan.pavlinec@nic.cz>
PKG_LICENSE:=MIT
TITLE:=Library for constructing grammar directly in python
URL:=https://github.com/pyparsing/pyparsing/
DEPENDS:=+python3-light
- VARIANT:=python3
endef
define Package/python3-pyparsing/description
PKG_NAME:=python-pyrsistent
PKG_VERSION:=0.15.4
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PYPI_NAME:=pyrsistent
PKG_HASH:=34b47fa169d6006b32e99d4b3c4031f155e6e68ebcc107d6454852e8e0ee6533
TITLE:=Persistent/Functional/Immutable data structures
URL:=https://github.com/tobgu/pyrsistent
DEPENDS:=+python3-light +python3-six
- VARIANT:=python3
endef
define Package/python3-pyrsistent/description
PKG_NAME:=python-pyserial
PKG_VERSION:=3.4
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PYPI_NAME:=pyserial
PKG_HASH:=6e2d401fdee0eab996cf734e67773a0143b932772ca8b42451440cfed942c627
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
-define Package/python-pyserial/Default
+define Package/python3-pyserial
SECTION:=lang-python
CATEGORY:=Languages
SUBMENU:=Python
- URL:=https://github.com/pyserial/pyserial
-endef
-
-define Package/python3-pyserial
-$(call Package/python-pyserial/Default)
TITLE:=python3-pyserial
- DEPENDS:=+PACKAGE_python3-pyserial:python3-light
- VARIANT:=python3
+ URL:=https://github.com/pyserial/pyserial
+ DEPENDS:=+python3-light
endef
define Package/python3-pyserial/description
for Python running on Windows, OSX, Linux, BSD (possibly any POSIX compliant
system) and IronPython. The module named "serial" automatically selects the
appropriate backend.
-.
-(Variant for Python3)
endef
$(eval $(call Py3Package,python3-pyserial))
--- /dev/null
+#
+# Copyright (C) 2020 CZ.NIC, z. s. p. o. (https://www.nic.cz/)
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=python-pytest
+PKG_VERSION:=5.4.1
+PKG_RELEASE:=2
+
+PYPI_NAME:=pytest
+PKG_HASH:=84dde37075b8805f3d1f392cc47e38a0e59518fb46a431cfdaf7cf1ce805f970
+
+PKG_MAINTAINER:=Jan Pavlinec <jan.pavlinec@nic.cz>
+PKG_LICENSE:=MIT
+PKG_LICENSE_FILES:=LICENSE
+
+HOST_PYTHON3_PACKAGE_BUILD_DEPENDS:=setuptools-scm
+
+include ../pypi.mk
+include $(INCLUDE_DIR)/package.mk
+include ../python3-package.mk
+
+define Package/python3-pytest
+ SUBMENU:=Python
+ SECTION:=lang
+ CATEGORY:=Languages
+ TITLE:=Python testing framework
+ URL:=https://docs.pytest.org/en/latest/
+ DEPENDS:= \
+ +python3-light \
+ +python3-more-itertools \
+ +python3-py \
+ +python3-attrs \
+ +python3-pluggy \
+ +python3-packaging \
+ +python3-wcwidth \
+ +python3-decimal \
+ +python3-logging \
+ +python3-urllib
+endef
+
+define Package/python3-pytest/description
+ The pytest framework makes it easy to write small tests, yet scales to support
+ complex functional testing for applications and libraries.
+endef
+
+$(eval $(call Py3Package,python3-pytest))
+$(eval $(call BuildPackage,python3-pytest))
+$(eval $(call BuildPackage,python3-pytest-src))
PKG_NAME:=python-pytz
PKG_VERSION:=2019.3
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PYPI_NAME:=pytz
PKG_HASH:=b02c06db6cf09c12dd25137e563b31700d3b80fcc4ad23abb7a315f2789819be
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
-define Package/python-pytz/Default
+define Package/python3-pytz
SUBMENU:=Python
SECTION:=lang
CATEGORY:=Languages
+ TITLE:=World timezone definitions, modern and historical
URL:=https://pythonhosted.org/pytz/
-endef
-
-define Package/python3-pytz
-$(call Package/python-pytz/Default)
- TITLE:=World timezone definitions, modern and historical for Python3
- DEPENDS:=+PACKAGE_python3-pytz:python3-light
- VARIANT:=python3
+ DEPENDS:=+python3-light
endef
define Package/python3-pytz/description
World timezone definitions, modern and historical
-.
-(Variant for Python3)
endef
$(eval $(call Py3Package,python3-pytz))
PKG_NAME:=python-qrcode
PKG_VERSION:=6.1
-PKG_RELEASE:=2
+PKG_RELEASE:=3
PYPI_NAME:=qrcode
PKG_HASH:=505253854f607f2abf4d16092c61d4e9d511a3b4392e60bff957a68592b04369
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
-define Package/python-qrcode/Default
+define Package/python3-qrcode
SECTION:=lang
CATEGORY:=Languages
SUBMENU:=Python
TITLE:=QR Code image generator
URL:=https://github.com/lincolnloop/python-qrcode
-endef
-
-define Package/python3-qrcode
-$(call Package/python-qrcode/Default)
DEPENDS:= \
- +PACKAGE_python3-qrcode:python3 \
- +PACKAGE_python3-qrcode:python3-setuptools \
- +PACKAGE_python3-qrcode:python3-six \
- +PACKAGE_python3-qrcode:python3-pillow
- VARIANT:=python3
+ +python3 \
+ +python3-setuptools \
+ +python3-six \
+ +python3-pillow
endef
define Package/python3-qrcode/description
Pure python QR Code generator
-.
-(Variant for Python3)
endef
$(eval $(call Py3Package,python3-qrcode))
PKG_NAME:=python-rcssmin
PKG_VERSION:=1.0.6
-PKG_RELEASE=1
+PKG_RELEASE:=2
PKG_MAINTAINER:=Alexandru Ardelean <ardeleanalex@gmail.com>, Eneas U de Queiroz <cote2004-github@yahoo.com>
PKG_LICENSE:=Apache-2.0
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
-define Package/python-rcssmin/Default
+define Package/python3-rcssmin
SUBMENU:=Python
SECTION:=lang
CATEGORY:=Languages
TITLE:=Fast CSS minifier for Python
URL:=http://opensource.perlig.de/rcssmin/
-endef
-
-define Package/python3-rcssmin
- $(call Package/python-rcssmin/Default)
DEPENDS:= \
- +PACKAGE_python3-rcssmin:python3-light
- VARIANT:=python3
+ +python3-light
endef
define Package/python3-rcssmin/description
RCSSmin does syntactical compression only (removing spaces, comments and possibly
semicolons). It does not provide semantic compression (like removing empty blocks,
collapsing redundant properties etc).
-.
-(Variant for Python3)
endef
$(eval $(call Py3Package,python3-rcssmin))
PKG_NAME:=python-requests-oauthlib
PKG_VERSION:=1.3.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_MAINTAINER:=Eneas U de Queiroz <cotequeiroz@gmail.com>
PKG_LICENSE:=ISC
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
-define Package/python-requests-oauthlib/Default
+define Package/python3-requests-oauthlib
SUBMENU:=Python
SECTION:=lang
CATEGORY:=Languages
TITLE:=OAuthlib auth for Requests
URL:=https://github.com/requests/requests-oauthlib
-endef
-
-define Package/python3-requests-oauthlib
- $(call Package/python-requests-oauthlib/Default)
DEPENDS:= \
- +PACKAGE_python3-requests-oauthlib:python3 \
- +PACKAGE_python3-requests-oauthlib:python3-oauthlib \
- +PACKAGE_python3-requests-oauthlib:python3-requests
- VARIANT:=python3
+ +python3 \
+ +python3-oauthlib \
+ +python3-requests
endef
define Package/python3-requests-oauthlib/description
This python package provides first-class OAuth library support
for Requests.
-.
-(Variant for Python3)
endef
$(eval $(call Py3Package,python3-requests-oauthlib))
PKG_NAME:=python-requests
PKG_VERSION:=2.23.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_MAINTAINER:=Josef Schlehofer <josef.schlehofer@nic.cz>, Alexandru Ardelean <ardeleanalex@gmail.com>
PKG_LICENSE:=Apache-2.0
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
-define Package/python-requests/Default
+define Package/python3-requests
SUBMENU:=Python
SECTION:=lang
CATEGORY:=Languages
TITLE:=HTTP library for Python
URL:=https://2.python-requests.org/
-endef
-
-define Package/python3-requests
-$(call Package/python-requests/Default)
DEPENDS:= \
- +PACKAGE_python3-requests:python3-light \
- +PACKAGE_python3-requests:python3-chardet \
- +PACKAGE_python3-requests:python3-idna \
- +PACKAGE_python3-requests:python3-urllib3 \
- +PACKAGE_python3-requests:python3-certifi
- VARIANT:=python3
+ +python3-light \
+ +python3-chardet \
+ +python3-idna \
+ +python3-urllib3 \
+ +python3-certifi
endef
define Package/python3-requests/description
Requests is the only Non-GMO HTTP library for Python, safe for human consumption
-.
-(Variant for Python3)
endef
$(eval $(call Py3Package,python3-requests))
PKG_NAME:=rsa
PKG_VERSION:=4.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PYPI_NAME:=$(PKG_NAME)
PKG_HASH:=1a836406405730121ae9823e19c6e806c62bbad73f890574fff50efa4122c487
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
-define Package/python-rsa/Default
+define Package/python3-rsa
SUBMENU:=Python
SECTION:=lang
CATEGORY:=Languages
TITLE:=rsa
URL:=https://stuvel.eu/rsa
-endef
-
-define Package/python3-rsa
-$(call Package/python-rsa/Default)
- DEPENDS:=+PACKAGE_python3-rsa:python3 +PACKAGE_python3-rsa:python3-pyasn1
- VARIANT:=python3
+ DEPENDS:=+python3 +python3-pyasn1
endef
define Package/python3-rsa/description
Is a pure-Python RSA implementation. It supports encryption and decryption,
signing and verifying signatures, and key generation according to PKCS#1 version 1.5.
It can be used as a Python library as well as on the commandline.
-.
-(Variant for Python3)
endef
$(eval $(call Py3Package,python3-rsa))
PKG_NAME:=s3transfer
PKG_VERSION:=0.2.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PYPI_NAME:=$(PKG_NAME)
PKG_HASH:=f23d5cb7d862b104401d9021fc82e5fa0e0cf57b7660a1331425aab0c691d021
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
-define Package/python-s3transfer/Default
+define Package/python3-s3transfer
SECTION:=lang
CATEGORY:=Languages
SUBMENU:=Python
TITLE:=s3transfer
URL:=https://github.com/boto/s3transfer
-endef
-
-define Package/python3-s3transfer
-$(call Package/python-s3transfer/Default)
DEPENDS:= \
- +PACKAGE_python3-s3transfer:python3 \
- +PACKAGE_python3-s3transfer:python3-botocore
- VARIANT:=python3
+ +python3 \
+ +python3-botocore
endef
define Package/python3-s3transfer/description
S3transfer is a Python library for managing Amazon S3 transfers.
-.
-(Variant for Python3)
endef
$(eval $(call Py3Package,python3-s3transfer))
PKG_NAME:=python-schedule
PKG_VERSION:=0.6.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PYPI_NAME:=schedule
PKG_HASH:=f9fb5181283de4db6e701d476dd01b6a3dd81c38462a54991ddbb9d26db857c9
TITLE:=Job scheduling for humans
URL:=https://github.com/dbader/schedule
DEPENDS:=+python3-light +python3-logging
- VARIANT:=python3
endef
define Package/python3-schedule/description
PKG_NAME:=python-schema
PKG_VERSION:=0.7.1
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_MAINTAINER:=Karel Kočí <cynerd@email.cz>
PKG_SOURCE_URL:=https://codeload.github.com/keleshev/schema/tar.gz/v$(PKG_VERSION)?
URL:=https://github.com/keleshev/schema
TITLE:=python3-schema
DEPENDS:=+python3-light +python3-contextlib2
- VARIANT:=python3
endef
define Package/python3-schema/description
PKG_NAME:=python-sentry-sdk
PKG_VERSION:=0.13.5
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PYPI_NAME:=sentry-sdk
PKG_HASH:=c6b919623e488134a728f16326c6f0bcdab7e3f59e7f4c472a90eea4d6d8fe82
+python3-light \
+python3-logging \
+python3-urllib3
- VARIANT:=python3
endef
define Package/python3-sentry-sdk/description
PKG_NAME:=python-service-identity
PKG_VERSION:=18.1.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PYPI_NAME:=service_identity
PKG_HASH:=0858a54aabc5b459d1aafa8a518ed2081a285087f349fe3e55197989232e2e2d
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
-define Package/python-service-identity/Default
+define Package/python3-service-identity
SECTION:=lang
CATEGORY:=Languages
SUBMENU:=Python
TITLE:=Service identity verification
URL:=https://service-identity.readthedocs.io/
-endef
-
-define Package/python3-service-identity
-$(call Package/python-service-identity/Default)
DEPENDS:= \
- +PACKAGE_python3-service-identity:python3-light \
- +PACKAGE_python3-service-identity:python3-attrs \
- +PACKAGE_python3-service-identity:python3-cryptography \
- +PACKAGE_python3-service-identity:python3-pyasn1 \
- +PACKAGE_python3-service-identity:python3-pyasn1-modules
- VARIANT:=python3
+ +python3-light \
+ +python3-attrs \
+ +python3-cryptography \
+ +python3-pyasn1 \
+ +python3-pyasn1-modules
endef
define Package/python3-service-identity/description
service_identity aspires to give you all the tools you need for
verifying whether a certificate is valid for the intended purposes.
-.
-(Variant for Python3)
endef
$(eval $(call Py3Package,python3-service-identity))
PKG_NAME:=python-simplejson
PKG_VERSION:=3.17.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_LICENSE:=MIT
PKG_CPE_ID:=cpe:/a:simplejson_project:simplejson
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
-define Package/python-simplejson/Default
+define Package/python3-simplejson
SUBMENU:=Python
SECTION:=lang
CATEGORY:=Languages
MAINTAINER:=Alexandru Ardelean <ardeleanalex@gmail.com>
+ TITLE:=Simple, fast, extensible JSON encoder/decoder
URL:=https://simplejson.readthedocs.org/
-endef
-
-define Package/python3-simplejson
-$(call Package/python-simplejson/Default)
- TITLE:=Simple, fast, extensible JSON encoder/decoder for Python3
- DEPENDS:=+PACKAGE_python3-simplejson:python3-light +PACKAGE_python3-simplejson:python3-decimal
- VARIANT:=python3
+ DEPENDS:=+python3-light +python3-decimal
endef
define Package/python3-simplejson/description
Simple, fast, extensible JSON encoder/decoder for Python
-.
-(Variant for Python3)
endef
define Py3Package/python3-simplejson/filespec
PKG_NAME:=python-six
PKG_VERSION:=1.14.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PYPI_NAME:=six
PKG_HASH:=236bdbdce46e6e6a3d61a337c0f8b763ca1e8717c03b369e87a7ec7ce1319c0a
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
-define Package/python-six/Default
+define Package/python3-six
SECTION:=lang
CATEGORY:=Languages
SUBMENU:=Python
TITLE:=Python 2 and 3 compatibility library
URL:=https://github.com/benjaminp/six
-endef
-
-define Package/python3-six
-$(call Package/python-six/Default)
- DEPENDS:=+PACKAGE_python3-six:python3-light
- VARIANT:=python3
+ DEPENDS:=+python3-light
endef
define Package/python3-six/description
for smoothing over the differences between the Python versions with the goal of
writing Python code that is compatible on both Python versions. See the
documentation for more information on what is provided.
-.
-(Variant for Python3)
endef
define Host/Compile
- $(call Build/Compile/HostPy3Mod,,install --prefix="" --root="$(STAGING_DIR_HOSTPKG)")
+ $(call HostPython3/ModSetup,,install --prefix="" --root="$(STAGING_DIR_HOSTPKG)")
endef
Host/Install:=
PKG_NAME:=python-slugify
PKG_VERSION:=4.0.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PYPI_NAME:=$(PKG_NAME)
PKG_HASH:=a8fc3433821140e8f409a9831d13ae5deccd0b033d4744d94b31fea141bdd84c
+python3-codecs \
+python3-setuptools \
+python3-text-unidecode
- VARIANT:=python3
endef
define Package/python3-slugify/description
PKG_NAME:=python-sqlalchemy
PKG_VERSION:=1.3.13
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PYPI_NAME:=SQLAlchemy
PKG_HASH:=64a7b71846db6423807e96820993fa12a03b89127d278290ca25c0b11ed7b4fb
+python3-urllib \
+python3-decimal \
+python3-logging
- VARIANT:=python3
endef
define Package/python3-sqlalchemy/description
PKG_NAME:=python-stem
PKG_VERSION:=1.8.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PYPI_NAME:=stem
PKG_HASH:=a0b48ea6224e95f22aa34c0bc3415f0eb4667ddeae3dfb5e32a6920c185568c2
TITLE:=A controller library for Tor
URL:=https://stem.torproject.org/
DEPENDS:=+python3
- VARIANT:=python3
endef
define Package/python3-stem/description
PKG_NAME:=python-twisted
PKG_VERSION:=20.3.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PYPI_NAME:=Twisted
PYPI_SOURCE_EXT:=tar.bz2
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
-define Package/python-twisted/Default
+define Package/python3-twisted
SECTION:=lang
CATEGORY:=Languages
SUBMENU:=Python
TITLE:=Asynchronous networking framework
URL:=https://twistedmatrix.com/
-endef
-
-define Package/python3-twisted
-$(call Package/python-twisted/Default)
DEPENDS:= \
- +PACKAGE_python3-twisted:python3-light \
- +PACKAGE_python3-twisted:python3-attrs \
- +PACKAGE_python3-twisted:python3-automat \
- +PACKAGE_python3-twisted:python3-constantly \
- +PACKAGE_python3-twisted:python3-incremental \
- +PACKAGE_python3-twisted:python3-hyperlink \
- +PACKAGE_python3-twisted:python3-setuptools \
- +PACKAGE_python3-twisted:python3-zope-interface
- VARIANT:=python3
+ +python3-light \
+ +python3-attrs \
+ +python3-automat \
+ +python3-constantly \
+ +python3-incremental \
+ +python3-hyperlink \
+ +python3-setuptools \
+ +python3-zope-interface
endef
define Package/python3-twisted/description
Twisted is a networking engine written in Python, supporting numerous
protocols. It contains a web server, numerous chat clients, chat servers,
mail servers, and more.
-.
-(Variant for Python3)
endef
define Py3Package/python3-twisted/filespec
PKG_NAME:=python-urllib3
PKG_VERSION:=1.25.7
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_MAINTAINER:=Josef Schlehofer <pepe.schlehofer@gmail.com>
PKG_LICENSE:=MIT
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
-define Package/python-urllib3/Default
+define Package/python3-urllib3
SUBMENU:=Python
SECTION:=lang
CATEGORY:=Languages
TITLE:=Sanity-friendly HTTP client
URL:=https://urllib3.readthedocs.io/
-endef
-
-define Package/python3-urllib3
-$(call Package/python-urllib3/Default)
- DEPENDS:=+PACKAGE_python3-urllib3:python3
- VARIANT:=python3
+ DEPENDS:=+python3
endef
define Package/python3-urllib3/description
HTTP library with thread-safe connection pooling, file post, and more.
-.
-(Variant for Python3)
endef
$(eval $(call Py3Package,python3-urllib3))
+++ /dev/null
-#
-# Copyright (C) 2016 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-PYTHON_VERSION:=2.7
-PYTHON_VERSION_MICRO:=17
-
-PYTHON_SETUPTOOLS_PKG_RELEASE:=1
-PYTHON_PIP_PKG_RELEASE:=1
-
-PYTHON_SETUPTOOLS_VERSION:=41.2.0
-PYTHON_PIP_VERSION:=19.2.3
PKG_NAME:=voluptuous-serialize
PKG_VERSION:=2.3.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PYPI_NAME:=$(PKG_NAME)
PKG_HASH:=740cd00ce2ecf0f3345d550163fdd2f20de2e0a60c3c678450e68314c2f592f5
DEPENDS:= \
+python3-light \
+python3-voluptuous
- VARIANT:=python3
endef
define Package/python3-voluptuous-serialize/description
PKG_NAME:=python-voluptuous
PKG_VERSION:=0.11.7
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PYPI_NAME:=voluptuous
PKG_HASH:=2abc341dbc740c5e2302c7f9b8e2e243194fb4772585b991931cb5b22e9bf456
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
-define Package/python-voluptuous/Default
+define Package/python3-voluptuous
SECTION:=lang
CATEGORY:=Languages
SUBMENU:=Python
TITLE:=Data validation library
URL:=https://github.com/alecthomas/voluptuous
-endef
-
-define Package/python3-voluptuous
-$(call Package/python-voluptuous/Default)
DEPENDS:= \
- +PACKAGE_python3-voluptuous:python3-light
- VARIANT:=python3
+ +python3-light
endef
define Package/python3-voluptuous/description
It is primarily intended for validating data coming into Python as JSON, YAML, etc.
-.
-(Variant for Python3)
endef
$(eval $(call Py3Package,python3-voluptuous))
PKG_NAME:=python-wcwidth
PKG_VERSION:=0.1.9
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PYPI_NAME:=wcwidth
PKG_HASH:=ee73862862a156bf77ff92b09034fc4825dd3af9cf81bc5b360668d425f3c5f1
TITLE:=Terminal width calculation library
URL:=https://github.com/jquast/wcwidth
DEPENDS:=+python3-light
- VARIANT:=python3
endef
define Package/python3-wcwidth/description
include $(TOPDIR)/rules.mk
PKG_NAME:=python-yaml
-PKG_VERSION:=5.3
-PKG_RELEASE:=1
+PKG_VERSION:=5.3.1
+PKG_RELEASE:=2
PYPI_NAME:=PyYAML
-PKG_HASH:=e9f45bd5b92c7974e59bcd2dcc8631a6b6cc380a904725fce7bc08872e691615
+PKG_HASH:=b8eac752c5e14d3eca0e6dd9199cd627518cb5ec06add0de9d32baeee6fe645d
PKG_MAINTAINER:=Josef Schlehofer <josef.schlehofer@nic.cz>
PKG_LICENSE:=MIT
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
-define Package/python-yaml/Default
+define Package/python3-yaml
SECTION:=lang
CATEGORY:=Languages
SUBMENU:=Python
TITLE:=YAML parser and emitter for Python
URL:=https://github.com/yaml/pyyaml
- DEPENDS:=+libyaml
-endef
-
-define Package/python3-yaml
-$(call Package/python-yaml/Default)
- DEPENDS+=+PACKAGE_python3-yaml:python3-light
- VARIANT:=python3
+ DEPENDS:=+libyaml +python3-light
endef
define Package/python3-yaml/description
PyYAML is a YAML parser and emitter for the Python programming language.
-.
-(Variant for Python3)
endef
PYTHON3_PKG_SETUP_GLOBAL_ARGS:=--with-libyaml
PKG_NAME:=yarl
PKG_VERSION:=1.3.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PYPI_NAME:=$(PKG_NAME)
PKG_HASH:=024ecdc12bc02b321bc66b41327f930d1c2c543fa9a561b39861da9388ba7aa9
+python3-multidict \
+python3-urllib \
+python3-idna
- VARIANT:=python3
endef
define Package/python3-yarl/description
PKG_NAME:=python-zeroconf
PKG_VERSION:=0.24.4
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PYPI_NAME:=zeroconf
PKG_HASH:=f66d38f16026097572939ab78b1f46a97f556bca415491eb0fd094d0b5827dfe
+python3-light \
+python3-logging \
+python3-ifaddr
- VARIANT:=python3
endef
define Package/python3-zeroconf/description
PKG_NAME:=python-zipp
PKG_VERSION:=3.1.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PYPI_NAME:=zipp
PKG_HASH:=c599e4d75c98f6798c509911d08a22e6c021d074469042177c8c86fb92eefd96
TITLE:=Zipfile object wrapper
URL:=https://github.com/jaraco/zipp
DEPENDS:=+python3-light
- VARIANT:=python3
endef
HOST_PYTHON3_PACKAGE_BUILD_DEPENDS:="setuptools_scm[toml] >= 3.4.1"
include $(TOPDIR)/rules.mk
PKG_NAME:=python-zope-interface
-PKG_VERSION:=5.0.1
+PKG_VERSION:=5.1.0
PKG_RELEASE:=1
PYPI_NAME:=zope.interface
-PKG_HASH:=dd0bc4016ec9ffa6d327bf3ba2f044c3ff376880661e5cc38c622e1ae023076f
+PKG_HASH:=40e4c42bd27ed3c11b2c983fecfb03356fae1209de10686d03c02c8696a1d90e
PKG_LICENSE:=ZPL-2.1
PKG_LICENSE_FILES:=LICENSE.txt
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
-define Package/python-zope-interface/Default
+define Package/python3-zope-interface
SECTION:=lang
CATEGORY:=Languages
SUBMENU:=Python
TITLE:=Interfaces for Python
URL:=https://github.com/zopefoundation/zope.interface
-endef
-
-define Package/python3-zope-interface
-$(call Package/python-zope-interface/Default)
- DEPENDS:=+PACKAGE_python3-zope-interface:python3-light
- VARIANT:=python3
+ DEPENDS:=+python3-light
endef
define Package/python3-zope-interface/description
Python. Interfaces are a mechanism for labeling objects as conforming to
a given API or contract. So, this package can be considered as
implementation of the Design By Contract methodology support in Python.
-.
-(Variant for Python3)
endef
$(eval $(call Py3Package,python3-zope-interface))
+++ /dev/null
-menu "Configuration"
-
-config PYTHON_BLUETOOTH_SUPPORT
- bool "Enable Bluetooth support"
- default n
-
-endmenu
+++ /dev/null
-#
-# Copyright (C) 2006-2016 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-include $(TOPDIR)/rules.mk
-
-# For PYTHON_VERSION
-include ../python-version.mk
-
-PKG_NAME:=python
-PKG_VERSION:=$(PYTHON_VERSION).$(PYTHON_VERSION_MICRO)
-PKG_RELEASE:=2
-
-PKG_SOURCE:=Python-$(PKG_VERSION).tar.xz
-PKG_SOURCE_URL:=https://www.python.org/ftp/python/$(PKG_VERSION)
-PKG_HASH:=4d43f033cdbd0aa7b7023c81b0e986fd11e653b5248dac9144d508f11812ba41
-
-PKG_LICENSE:=Python/2.0
-PKG_LICENSE_FILES:=LICENSE Doc/copyright.rst Doc/license.rst Modules/_ctypes/darwin/LICENSE Modules/_ctypes/libffi/LICENSE Modules/_ctypes/libffi_osx/LICENSE Modules/expat/COPYING
-PKG_CPE_ID:=cpe:/a:python:python
-
-PKG_MAINTAINER:=Alexandru Ardelean <ardeleanalex@gmail.com>, Jeffery To <jeffery.to@gmail.com>
-
-# This file provides the necsessary host build variables
-include ../python-host.mk
-
-# For PyPackage
-include ../python-package.mk
-
-PKG_FIXUP:=autoreconf
-PKG_INSTALL:=1
-PKG_BUILD_PARALLEL:=1
-HOST_BUILD_PARALLEL:=1
-
-PKG_BUILD_DIR:=$(BUILD_DIR)/Python-$(PKG_VERSION)
-HOST_BUILD_DIR:=$(BUILD_DIR_HOST)/Python-$(PKG_VERSION)
-
-PKG_CONFIG_DEPENDS:= \
- CONFIG_PACKAGE_python-pkg-resources \
- CONFIG_PACKAGE_python-setuptools CONFIG_PACKAGE_python-pip \
- CONFIG_PYTHON_BLUETOOTH_SUPPORT
-
-PKG_BUILD_DEPENDS:=python/host
-HOST_BUILD_DEPENDS:=bzip2/host expat/host
-
-include $(INCLUDE_DIR)/host-build.mk
-include $(INCLUDE_DIR)/package.mk
-
-define Package/python/Default
- SUBMENU:=Python
- SECTION:=lang
- CATEGORY:=Languages
- TITLE:=Python $(PYTHON_VERSION) programming language
- URL:=https://www.python.org/
-endef
-
-define Package/python/Default/description
- Python is a dynamic object-oriented programming language that can be used
- for many kinds of software development. It offers strong support for
- integration with other languages and tools, comes with extensive standard
- libraries, and can be learned in a few days. Many Python programmers
- report substantial productivity gains and feel the language encourages
- the development of higher quality, more maintainable code.
-endef
-
-define Package/python-base
-$(call Package/python/Default)
- TITLE:=Python $(PYTHON_VERSION) interpreter
- DEPENDS:=+libpthread +zlib
-endef
-
-define Package/python-base/description
- This package contains only the interpreter and the bare minimum
- for the interpreter to start.
-endef
-
-define Package/python-light
-$(call Package/python/Default)
- TITLE:=Python $(PYTHON_VERSION) light installation
- DEPENDS:=+python-base +libffi +libbz2 +PYTHON_BLUETOOTH_SUPPORT:bluez-libs
-endef
-
-define Package/python-light/config
- source "$(SOURCE)/Config-python-light.in"
-endef
-
-define Package/python-light/description
- This package is essentially the python-base package plus
- a few of the rarely used (and big) libraries stripped out
- into separate packages.
-endef
-
-PYTHON_LIB_FILES_DEL:=
-PYTHON_PACKAGES:=
-PYTHON_PACKAGES_DEPENDS:=
-define PyBasePackage
- PYTHON_PACKAGES+=$(1)
- ifeq ($(3),)
- PYTHON_PACKAGES_DEPENDS+=$(1)
- endif
- PYTHON_LIB_FILES_DEL+=$(2)
- define PyPackage/$(1)/filespec
- ifneq ($(2),)
- $(subst $(space),$(newline),$(foreach lib_file,$(2),+|$(lib_file)))
- -|/usr/lib/python$(PYTHON_VERSION)/*/test
- -|/usr/lib/python$(PYTHON_VERSION)/*/tests
- endif
- endef
- PyPackage/$(1)/install?=:
-endef
-
-include ./files/python-package-*.mk
-
-define Package/python
-$(call Package/python/Default)
- DEPENDS:=+python-light $(foreach package,$(PYTHON_PACKAGES_DEPENDS),+$(package))
-endef
-
-define Package/python/description
- This package contains the (almost) full Python install.
- It's python-light + all other packages.
-endef
-
-MAKE_FLAGS+=\
- CROSS_COMPILE=yes \
- LD="$(TARGET_CC)" \
- PGEN=pgen2
-
-EXTRA_CFLAGS+= \
- -DNDEBUG -fno-inline
-EXTRA_LDFLAGS+= \
- -L$(PKG_BUILD_DIR)
-
-ENABLE_IPV6:=
-ifeq ($(CONFIG_IPV6),y)
- ENABLE_IPV6 += --enable-ipv6
-endif
-
-PYTHON_FOR_BUILD:= \
- _PYTHON_PROJECT_BASE=$(PKG_BUILD_DIR) \
- _PYTHON_HOST_PLATFORM=linux2 \
- PYTHONPATH="$(PKG_BUILD_DIR)/Lib:$(PKG_BUILD_DIR)/build/lib.linux2-$(PYTHON_VERSION)" \
- _PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata \
- $(HOST_PYTHON_BIN)
-
-DISABLE_BLUETOOTH:= \
- ac_cv_header_bluetooth_bluetooth_h=no \
- ac_cv_header_bluetooth_h=no
-
-CONFIGURE_ARGS+= \
- --sysconfdir=/etc \
- --enable-shared \
- --without-cxx-main \
- --with-threads \
- --with-system-ffi \
- --with-ensurepip=no \
- --without-pymalloc \
- $(if $(CONFIG_PYTHON_BLUETOOTH_SUPPORT),,$(DISABLE_BLUETOOTH)) \
- PYTHON_FOR_BUILD="$(PYTHON_FOR_BUILD)" \
- $(ENABLE_IPV6) \
- CONFIG_SITE="$(PKG_BUILD_DIR)/config.site" \
- OPT="$(TARGET_CFLAGS)"
-
-define Build/Prepare
- $(call Build/Prepare/Default)
- $(CP) ./files/config.site $(PKG_BUILD_DIR)/config.site
-endef
-
-ifdef CONFIG_PACKAGE_python-setuptools
-PYTHON_SETUPTOOLS_BUILD:=1
-endif
-
-ifdef CONFIG_PACKAGE_python-pkg-resources
-PYTHON_SETUPTOOLS_BUILD:=1
-endif
-
-ifeq ($(PYTHON_SETUPTOOLS_BUILD),1)
-define Build/Compile/python-setuptools
- $(HOST_PYTHON_PIP) \
- --disable-pip-version-check \
- --cache-dir "$(DL_DIR)/pip-cache" \
- install \
- --ignore-installed \
- --root=$(PKG_BUILD_DIR)/install-setuptools \
- --prefix=/usr \
- $(PKG_BUILD_DIR)/Lib/ensurepip/_bundled/setuptools-$(PYTHON_SETUPTOOLS_VERSION)-py2.py3-none-any.whl
- $(call PatchDir,$(PKG_BUILD_DIR)/install-setuptools/usr/lib/python$(PYTHON_VERSION)/site-packages,./patches-setuptools,)
-endef
-endif # CONFIG_PACKAGE_python-setuptools
-
-ifdef CONFIG_PACKAGE_python-pip
-define Build/Compile/python-pip
- $(HOST_PYTHON_PIP) \
- --disable-pip-version-check \
- --cache-dir "$(DL_DIR)/pip-cache" \
- install \
- --ignore-installed \
- --root=$(PKG_BUILD_DIR)/install-pip \
- --prefix=/usr \
- $(PKG_BUILD_DIR)/Lib/ensurepip/_bundled/pip-$(PYTHON_PIP_VERSION)-py2.py3-none-any.whl
- $(call PatchDir,$(PKG_BUILD_DIR)/install-pip/usr/lib/python$(PYTHON_VERSION)/site-packages,./patches-pip,)
-endef
-endif # CONFIG_PACKAGE_python-pip
-
-define Build/Compile
- $(call Build/Compile/Default)
- # Use host pip to install python-setuptools
- $(call Build/Compile/python-setuptools)
- $(call Build/Compile/python-pip)
-endef
-
-define Build/InstallDev
- $(INSTALL_DIR) $(1)/usr/include $(1)/usr/lib $(1)/usr/lib/pkgconfig
- $(INSTALL_DIR) $(2)/bin
- $(INSTALL_DIR) $(1)/usr/lib/python$(PYTHON_VERSION)-openwrt
- $(CP) \
- $(PKG_INSTALL_DIR)/usr/include/python$(PYTHON_VERSION) \
- $(1)/usr/include/
- $(CP) \
- $(PKG_INSTALL_DIR)/usr/lib/python$(PYTHON_VERSION) \
- $(PKG_INSTALL_DIR)/usr/lib/libpython$(PYTHON_VERSION).so* \
- $(1)/usr/lib/
- $(CP) \
- $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/python*.pc \
- $(1)/usr/lib/pkgconfig
- $(INSTALL_BIN) \
- ./files/python-config.in \
- $(2)/bin/python$(PYTHON_VERSION)-config
- $(SED) \
- 's|@EXENAME@|$(HOST_PYTHON_DIR)/bin/python$(PYTHON_VERSION)|' \
- -e 's|@TARGET_PREFIX@|$(PYTHON_DIR)|' \
- $(2)/bin/python$(PYTHON_VERSION)-config
- $(CP) \
- $(PKG_INSTALL_DIR)/usr/lib/python$(PYTHON_VERSION)/_sysconfigdata.py \
- $(1)/usr/lib/python$(PYTHON_VERSION)-openwrt/_sysconfigdatatarget.py
-endef
-
-PYTHON_BASE_LIB_FILES:= \
- /usr/lib/python$(PYTHON_VERSION)/_abcoll.py \
- /usr/lib/python$(PYTHON_VERSION)/_sysconfigdata.py \
- /usr/lib/python$(PYTHON_VERSION)/_weakrefset.py \
- /usr/lib/python$(PYTHON_VERSION)/abc.py \
- /usr/lib/python$(PYTHON_VERSION)/copy_reg.py \
- /usr/lib/python$(PYTHON_VERSION)/genericpath.py \
- /usr/lib/python$(PYTHON_VERSION)/linecache.py \
- /usr/lib/python$(PYTHON_VERSION)/posixpath.py \
- /usr/lib/python$(PYTHON_VERSION)/os.py \
- /usr/lib/python$(PYTHON_VERSION)/re.py \
- /usr/lib/python$(PYTHON_VERSION)/site.py \
- /usr/lib/python$(PYTHON_VERSION)/sre_compile.py \
- /usr/lib/python$(PYTHON_VERSION)/sre_constants.py \
- /usr/lib/python$(PYTHON_VERSION)/sre_parse.py \
- /usr/lib/python$(PYTHON_VERSION)/sysconfig.py \
- /usr/lib/python$(PYTHON_VERSION)/stat.py \
- /usr/lib/python$(PYTHON_VERSION)/traceback.py \
- /usr/lib/python$(PYTHON_VERSION)/types.py \
- /usr/lib/python$(PYTHON_VERSION)/UserDict.py \
- /usr/lib/python$(PYTHON_VERSION)/warnings.py
-
-PYTHON_LIB_FILES_DEL+=$(PYTHON_BASE_LIB_FILES)
-
-define PyPackage/python-base/filespec
-+|/usr/bin/python$(PYTHON_VERSION)
-$(subst $(space),$(newline),$(foreach lib_file,$(PYTHON_BASE_LIB_FILES),+|$(lib_file)))
-endef
-
-define PyPackage/python-light/filespec
-+|/usr/lib/python$(PYTHON_VERSION)
--|/usr/lib/python$(PYTHON_VERSION)/distutils/cygwinccompiler.py
--|/usr/lib/python$(PYTHON_VERSION)/distutils/command/wininst*
--|/usr/lib/python$(PYTHON_VERSION)/ensurepip
--|/usr/lib/python$(PYTHON_VERSION)/idlelib
--|/usr/lib/python$(PYTHON_VERSION)/lib-tk
--|/usr/lib/python$(PYTHON_VERSION)/lib-dynload/_testcapi.so
--|/usr/lib/python$(PYTHON_VERSION)/pdb.doc
--|/usr/lib/python$(PYTHON_VERSION)/test
--|/usr/lib/python$(PYTHON_VERSION)/webbrowser.py
--|/usr/lib/python$(PYTHON_VERSION)/*/test
--|/usr/lib/python$(PYTHON_VERSION)/*/tests
--|/usr/lib/python$(PYTHON_VERSION)/lib-dynload/readline.so
-$(subst $(space),$(newline),$(foreach lib_file,$(PYTHON_LIB_FILES_DEL),-|$(lib_file)))
-endef
-
-define PyPackage/python-base/install
- $(INSTALL_DIR) $(1)/usr/bin $(1)/usr/lib
- $(LN) python$(PYTHON_VERSION) $(1)/usr/bin/python
- $(LN) python$(PYTHON_VERSION) $(1)/usr/bin/python2
- $(CP) $(PKG_INSTALL_DIR)/usr/lib/libpython$(PYTHON_VERSION).so* $(1)/usr/lib/
-endef
-
-PyPackage/python-light/install:=:
-PyPackage/python/install:=:
-
-define PyPackage/python/filespec
--|$(PYTHON_PKG_DIR)
-endef
-
-HOST_LDFLAGS += \
- -Wl$(comma)-rpath$(comma)$(STAGING_DIR_HOSTPKG)/lib
-
-ifeq ($(HOST_OS),Linux)
-HOST_LDFLAGS += \
- -Wl,--no-as-needed -lrt
-endif
-
-ifeq ($(HOST_OS),Darwin)
-HOST_CONFIGURE_VARS += \
- ac_cv_header_libintl_h=no
-endif
-
-HOST_CONFIGURE_ARGS+= \
- --without-cxx-main \
- --without-pymalloc \
- --with-threads \
- --prefix=$(HOST_PYTHON_DIR) \
- --exec-prefix=$(HOST_PYTHON_DIR) \
- --with-system-expat=$(STAGING_DIR_HOSTPKG) \
- --with-ensurepip=upgrade \
- CONFIG_SITE=
-
-define Host/Configure
- $(SED) 's/^ENABLE_USER_SITE = None$$$$/ENABLE_USER_SITE = False/' $(HOST_BUILD_DIR)/Lib/site.py
- $(call Host/Configure/Default)
-endef
-
-define Host/Compile
- $(call Host/Compile/Default,python Parser/pgen sharedmods)
-endef
-
-define Host/Install
- $(if $(wildcard $(HOST_PYTHON_PKG_DIR)/.setuptools_installed_$(PYTHON_SETUPTOOLS_VERSION)-$(PYTHON_SETUPTOOLS_PKG_RELEASE)),,
- rm -rf \
- $(HOST_PYTHON_PKG_DIR)/easy_install.py \
- $(HOST_PYTHON_PKG_DIR)/pkg_resources \
- $(HOST_PYTHON_PKG_DIR)/setuptools \
- $(HOST_PYTHON_PKG_DIR)/setuptools-* \
- $(HOST_PYTHON_PKG_DIR)/.setuptools-patched* \
- $(HOST_PYTHON_PKG_DIR)/.setuptools_installed_*
- )
- $(if $(wildcard $(HOST_PYTHON_PKG_DIR)/.pip_installed_$(PYTHON_PIP_VERSION)-$(PYTHON_PIP_PKG_RELEASE)),,
- rm -rf \
- $(HOST_PYTHON_PKG_DIR)/pip \
- $(HOST_PYTHON_PKG_DIR)/pip-* \
- $(HOST_PYTHON_PKG_DIR)/.pip-patched* \
- $(HOST_PYTHON_PKG_DIR)/.pip_installed_*
- )
- $(MAKE) -C $(HOST_BUILD_DIR) install
- $(INSTALL_DIR) $(HOST_PYTHON_DIR)/bin/
- $(INSTALL_BIN) $(HOST_BUILD_DIR)/Parser/pgen $(HOST_PYTHON_DIR)/bin/pgen2
- $(if $(wildcard $(HOST_PYTHON_PKG_DIR)/.setuptools_installed_$(PYTHON_SETUPTOOLS_VERSION)-$(PYTHON_SETUPTOOLS_PKG_RELEASE)),,
- $(call HostPatchDir,$(HOST_PYTHON_PKG_DIR),./patches-setuptools,)
- touch $(HOST_PYTHON_PKG_DIR)/.setuptools_installed_$(PYTHON_SETUPTOOLS_VERSION)-$(PYTHON_SETUPTOOLS_PKG_RELEASE)
- )
- $(if $(wildcard $(HOST_PYTHON_PKG_DIR)/.pip_installed_$(PYTHON_PIP_VERSION)-$(PYTHON_PIP_PKG_RELEASE)),,
- $(call HostPatchDir,$(HOST_PYTHON_PKG_DIR),./patches-pip,)
- touch $(HOST_PYTHON_PKG_DIR)/.pip_installed_$(PYTHON_PIP_VERSION)-$(PYTHON_PIP_PKG_RELEASE)
- )
-endef
-
-$(eval $(call HostBuild))
-
-$(foreach package, $(PYTHON_PACKAGES), \
- $(eval $(call PyPackage,$(package))) \
- $(eval $(call BuildPackage,$(package))) \
- $(eval $(call BuildPackage,$(package)-src)) \
-)
-
-$(eval $(call PyPackage,python-base))
-$(eval $(call PyPackage,python-light))
-$(eval $(call PyPackage,python))
-
-$(eval $(call BuildPackage,python-base))
-$(eval $(call BuildPackage,python-light))
-$(eval $(call BuildPackage,python))
-
-$(eval $(call BuildPackage,python-base-src))
-$(eval $(call BuildPackage,python-light-src))
+++ /dev/null
-#! /bin/sh
-#
-# Copyright (C) 2007-2014 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-ac_cv_file__dev_ptmx=yes
-ac_cv_file__dev_ptc=no
-ac_cv_buggy_getaddrinfo=no
-
+++ /dev/null
-#!@EXENAME@
-
-import sys
-import os
-import getopt
-from distutils import sysconfig
-
-# start changes
-host_prefix = sysconfig.PREFIX
-
-target_prefix = '@TARGET_PREFIX@'
-
-target_data_dir = os.path.join(target_prefix, 'lib', 'python' + sysconfig.get_config_var('VERSION') + '-openwrt')
-sys.path.append(target_data_dir)
-
-try:
- from _sysconfigdatatarget import build_time_vars
- sysconfig._config_vars = {}
- sysconfig._config_vars.update(build_time_vars)
-except ImportError:
- print >>sys.stderr, "Could not import target data from %s" % (target_data_dir)
- sys.exit(1)
-# end changes
-# plus .replace(host_prefix, target_prefix) below
-
-valid_opts = ['prefix', 'exec-prefix', 'includes', 'libs', 'cflags',
- 'ldflags', 'help']
-
-def exit_with_usage(code=1):
- print >>sys.stderr, "Usage: %s [%s]" % (sys.argv[0],
- '|'.join('--'+opt for opt in valid_opts))
- sys.exit(code)
-
-try:
- opts, args = getopt.getopt(sys.argv[1:], '', valid_opts)
-except getopt.error:
- exit_with_usage()
-
-if not opts:
- exit_with_usage()
-
-pyver = sysconfig.get_config_var('VERSION')
-getvar = sysconfig.get_config_var
-
-opt_flags = [flag for (flag, val) in opts]
-
-if '--help' in opt_flags:
- exit_with_usage(code=0)
-
-for opt in opt_flags:
- if opt == '--prefix':
- #print sysconfig.PREFIX
- print target_prefix
-
- elif opt == '--exec-prefix':
- #print sysconfig.EXEC_PREFIX
- print target_prefix
-
- elif opt in ('--includes', '--cflags'):
- flags = ['-I' + sysconfig.get_python_inc(),
- '-I' + sysconfig.get_python_inc(plat_specific=True)]
- if opt == '--cflags':
- flags.extend(getvar('CFLAGS').split())
- #print ' '.join(flags)
- print ' '.join(flags).replace(host_prefix, target_prefix)
-
- elif opt in ('--libs', '--ldflags'):
- libs = ['-lpython' + pyver]
- libs += getvar('LIBS').split()
- libs += getvar('SYSLIBS').split()
- # add the prefix/lib/pythonX.Y/config dir, but only if there is no
- # shared library in prefix/lib/.
- if opt == '--ldflags':
- if not getvar('Py_ENABLE_SHARED'):
- libs.insert(0, '-L' + getvar('LIBPL'))
- if not getvar('PYTHONFRAMEWORK'):
- libs.extend(getvar('LINKFORSHARED').split())
- #print ' '.join(libs)
- print ' '.join(libs).replace(host_prefix, target_prefix)
-
+++ /dev/null
-#
-# Copyright (C) 2006-2016 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-define Package/python-codecs
-$(call Package/python/Default)
- TITLE:=Python $(PYTHON_VERSION) codecs + unicode support
- DEPENDS:=+python-light
-endef
-
-$(eval $(call PyBasePackage,python-codecs, \
- /usr/lib/python$(PYTHON_VERSION)/encodings \
- /usr/lib/python$(PYTHON_VERSION)/lib-dynload/_codecs_cn.so \
- /usr/lib/python$(PYTHON_VERSION)/lib-dynload/_codecs_hk.so \
- /usr/lib/python$(PYTHON_VERSION)/lib-dynload/_codecs_iso2022.so \
- /usr/lib/python$(PYTHON_VERSION)/lib-dynload/_codecs_jp.so \
- /usr/lib/python$(PYTHON_VERSION)/lib-dynload/_codecs_kr.so \
- /usr/lib/python$(PYTHON_VERSION)/lib-dynload/_codecs_tw.so \
- /usr/lib/python$(PYTHON_VERSION)/lib-dynload/unicodedata.so \
-))
+++ /dev/null
-#
-# Copyright (C) 2006-2016 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-define Package/python-compiler
-$(call Package/python/Default)
- TITLE:=Python $(PYTHON_VERSION) compiler module
- DEPENDS:=+python-light
-endef
-
-$(eval $(call PyBasePackage,python-compiler, \
- /usr/lib/python$(PYTHON_VERSION)/compiler \
-))
+++ /dev/null
-#
-# Copyright (C) 2006-2016 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-define Package/python-ctypes
-$(call Package/python/Default)
- TITLE:=Python $(PYTHON_VERSION) ctypes module
- DEPENDS:=+python-light
-endef
-
-$(eval $(call PyBasePackage,python-ctypes, \
- /usr/lib/python$(PYTHON_VERSION)/ctypes \
- /usr/lib/python$(PYTHON_VERSION)/lib-dynload/_ctypes.so \
- /usr/lib/python$(PYTHON_VERSION)/lib-dynload/_ctypes_test.so \
-))
+++ /dev/null
-#
-# Copyright (C) 2006-2016 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-define Package/python-db
-$(call Package/python/Default)
- TITLE:=Python $(PYTHON_VERSION) db module
- DEPENDS:=+python-light +libdb47
-endef
-
-$(eval $(call PyBasePackage,python-db, \
- /usr/lib/python$(PYTHON_VERSION)/bsddb \
- /usr/lib/python$(PYTHON_VERSION)/lib-dynload/_bsddb.so \
- /usr/lib/python$(PYTHON_VERSION)/lib-dynload/dbm.so \
-))
+++ /dev/null
-#
-# Copyright (C) 2006-2016 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-define Package/python-decimal
-$(call Package/python/Default)
- TITLE:=Python $(PYTHON_VERSION) decimal module
- DEPENDS:=+python-light
-endef
-
-$(eval $(call PyBasePackage,python-decimal, \
- /usr/lib/python$(PYTHON_VERSION)/decimal.py \
-))
+++ /dev/null
-#
-# Copyright (C) 2006-2016 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-define Package/python-dev
-$(call Package/python/Default)
- TITLE:=Python $(PYTHON_VERSION) development files
- DEPENDS:=+python +python-lib2to3
-endef
-
-define PyPackage/python-dev/install
- $(INSTALL_DIR) $(1)/usr/bin $(1)/usr/lib
- $(CP) $(PKG_INSTALL_DIR)/usr/bin/python*config $(1)/usr/bin
- $(CP) $(PKG_INSTALL_DIR)/usr/lib/python$(PYTHON_VERSION)/config/libpython$(PYTHON_VERSION).a $(1)/usr/lib
-endef
-
-$(eval $(call PyBasePackage,python-dev, \
- /usr/lib/python$(PYTHON_VERSION)/config \
- /usr/include/python$(PYTHON_VERSION) \
- /usr/lib/pkgconfig \
- , \
- DO_NOT_ADD_TO_PACKAGE_DEPENDS \
-))
-
+++ /dev/null
-#
-# Copyright (C) 2006-2016 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-define Package/python-distutils
-$(call Package/python/Default)
- TITLE:=Python $(PYTHON_VERSION) distutils
- DEPENDS:=+python-light
-endef
-
-$(eval $(call PyBasePackage,python-distutils, \
- /usr/lib/python$(PYTHON_VERSION)/distutils \
-))
+++ /dev/null
-#
-# Copyright (C) 2006-2016 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-define Package/python-email
-$(call Package/python/Default)
- TITLE:=Python $(PYTHON_VERSION) email module
- DEPENDS:=+python-light
-endef
-
-$(eval $(call PyBasePackage,python-email, \
- /usr/lib/python$(PYTHON_VERSION)/email \
-))
+++ /dev/null
-#
-# Copyright (C) 2006-2016 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-define Package/python-gdbm
-$(call Package/python/Default)
- TITLE:=Python $(PYTHON_VERSION) gdbm module
- DEPENDS:=+python-light +libgdbm
-endef
-
-$(eval $(call PyBasePackage,python-gdbm, \
- /usr/lib/python$(PYTHON_VERSION)/lib-dynload/gdbm.so \
-))
+++ /dev/null
-#
-# Copyright (C) 2006-2016 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-define Package/python-lib2to3
-$(call Package/python/Default)
- TITLE:=Python $(PYTHON_VERSION) lib2to3 module
- DEPENDS:=+python
-endef
-
-$(eval $(call PyBasePackage,python-lib2to3, \
- /usr/lib/python$(PYTHON_VERSION)/lib2to3 \
- , \
- DO_NOT_ADD_TO_PACKAGE_DEPENDS \
-))
+++ /dev/null
-#
-# Copyright (C) 2006-2016 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-define Package/python-logging
-$(call Package/python/Default)
- TITLE:=Python $(PYTHON_VERSION) logging module
- DEPENDS:=+python-light
-endef
-
-$(eval $(call PyBasePackage,python-logging, \
- /usr/lib/python$(PYTHON_VERSION)/logging \
-))
+++ /dev/null
-#
-# Copyright (C) 2006-2016 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-define Package/python-multiprocessing
-$(call Package/python/Default)
- TITLE:=Python $(PYTHON_VERSION) multiprocessing
- DEPENDS:=+python-light
-endef
-
-$(eval $(call PyBasePackage,python-multiprocessing, \
- /usr/lib/python$(PYTHON_VERSION)/multiprocessing \
- /usr/lib/python$(PYTHON_VERSION)/lib-dynload/_multiprocessing.so \
-))
+++ /dev/null
-#
-# Copyright (C) 2006-2016 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-define Package/python-ncurses
-$(call Package/python/Default)
- TITLE:=Python $(PYTHON_VERSION) ncurses module
- DEPENDS:=+python-light +libncurses
-endef
-
-$(eval $(call PyBasePackage,python-ncurses, \
- /usr/lib/python$(PYTHON_VERSION)/curses \
- /usr/lib/python$(PYTHON_VERSION)/lib-dynload/_curses.so \
- /usr/lib/python$(PYTHON_VERSION)/lib-dynload/_curses_panel.so \
-))
+++ /dev/null
-#
-# Copyright (C) 2006-2016 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-define Package/python-openssl
-$(call Package/python/Default)
- TITLE:=Python $(PYTHON_VERSION) SSL module
- DEPENDS:=+python-light +libopenssl
-endef
-
-$(eval $(call PyBasePackage,python-openssl, \
- /usr/lib/python$(PYTHON_VERSION)/lib-dynload/_hashlib.so \
- /usr/lib/python$(PYTHON_VERSION)/lib-dynload/_ssl.so \
-))
+++ /dev/null
-#
-# Copyright (C) 2017 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-define Package/python-pip
-$(call Package/python/Default)
- TITLE:=Python $(PYTHON_VERSION) pip module
- VERSION:=$(PYTHON_PIP_VERSION)-$(PYTHON_PIP_PKG_RELEASE)
- LICENSE:=MIT
- LICENSE_FILES:=LICENSE.txt
-# CPE_ID:=cpe:/a:python:pip # not currently handled this way by uscan
- DEPENDS:=+python +python-setuptools +python-pip-conf
-endef
-
-define PyPackage/python-pip/install
- $(INSTALL_DIR) $(1)/usr/bin $(1)/usr/lib/python$(PYTHON_VERSION)/site-packages
- $(CP) $(PKG_BUILD_DIR)/install-pip/usr/bin/* $(1)/usr/bin
- $(CP) \
- $(PKG_BUILD_DIR)/install-pip/usr/lib/python$(PYTHON_VERSION)/site-packages/pip \
- $(PKG_BUILD_DIR)/install-pip/usr/lib/python$(PYTHON_VERSION)/site-packages/pip-$(PYTHON_PIP_VERSION).dist-info \
- $(1)/usr/lib/python$(PYTHON_VERSION)/site-packages/
-endef
-
-$(eval $(call PyBasePackage,python-pip, \
- , \
- DO_NOT_ADD_TO_PACKAGE_DEPENDS \
-))
+++ /dev/null
-#
-# Copyright (C) 2019 Alexandru Ardelean <ardeleanalex@gmail.com>
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-define Package/python-pkg-resources
-$(call Package/python/Default)
- TITLE:=Python $(PYTHON_VERSION) pkg_resources module (part of etuptools)
- VERSION:=$(PYTHON_SETUPTOOLS_VERSION)-$(PYTHON_SETUPTOOLS_PKG_RELEASE)
- LICENSE:=MIT
- LICENSE_FILES:=LICENSE
-# CPE_ID:=cpe:/a:python:setuptools # not currently handled this way by uscan
- DEPENDS:=+python
-endef
-
-define PyPackage/python-pkg-resources/install
- $(INSTALL_DIR) $(1)/usr/lib/python$(PYTHON_VERSION)/site-packages
- $(CP) \
- $(PKG_BUILD_DIR)/install-setuptools/usr/lib/python$(PYTHON_VERSION)/site-packages/pkg_resources \
- $(1)/usr/lib/python$(PYTHON_VERSION)/site-packages
-endef
-
-$(eval $(call PyBasePackage,python-pkg-resources, \
- , \
- DO_NOT_ADD_TO_PACKAGE_DEPENDS \
-))
+++ /dev/null
-#
-# Copyright (C) 2006-2016 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-define Package/python-pydoc
-$(call Package/python/Default)
- TITLE:=Python $(PYTHON_VERSION) pydoc module
- DEPENDS:=+python-light
-endef
-
-$(eval $(call PyBasePackage,python-pydoc, \
- /usr/lib/python$(PYTHON_VERSION)/doctest.py \
- /usr/lib/python$(PYTHON_VERSION)/pydoc.py \
- /usr/lib/python$(PYTHON_VERSION)/pydoc_data \
-))
+++ /dev/null
-#
-# Copyright (C) 2017 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-define Package/python-setuptools
-$(call Package/python/Default)
- TITLE:=Python $(PYTHON_VERSION) setuptools module
- VERSION:=$(PYTHON_SETUPTOOLS_VERSION)-$(PYTHON_SETUPTOOLS_PKG_RELEASE)
- LICENSE:=MIT
- LICENSE_FILES:=LICENSE
-# CPE_ID:=cpe:/a:python:setuptools # not currently handled this way by uscan
- DEPENDS:=+python +python-pkg-resources
-endef
-
-define PyPackage/python-setuptools/install
- $(INSTALL_DIR) $(1)/usr/bin $(1)/usr/lib/python$(PYTHON_VERSION)/site-packages
- $(CP) $(PKG_BUILD_DIR)/install-setuptools/usr/bin/* $(1)/usr/bin
- $(CP) \
- $(PKG_BUILD_DIR)/install-setuptools/usr/lib/python$(PYTHON_VERSION)/site-packages/setuptools \
- $(PKG_BUILD_DIR)/install-setuptools/usr/lib/python$(PYTHON_VERSION)/site-packages/setuptools-$(PYTHON_SETUPTOOLS_VERSION).dist-info \
- $(PKG_BUILD_DIR)/install-setuptools/usr/lib/python$(PYTHON_VERSION)/site-packages/easy_install.py \
- $(1)/usr/lib/python$(PYTHON_VERSION)/site-packages
-endef
-
-$(eval $(call PyBasePackage,python-setuptools, \
- , \
- DO_NOT_ADD_TO_PACKAGE_DEPENDS \
-))
+++ /dev/null
-#
-# Copyright (C) 2006-2016 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-define Package/python-sqlite3
-$(call Package/python/Default)
- TITLE:=Python $(PYTHON_VERSION) sqlite3 module
- DEPENDS:=+python-light +libsqlite3
-endef
-
-$(eval $(call PyBasePackage,python-sqlite3, \
- /usr/lib/python$(PYTHON_VERSION)/lib-dynload/_sqlite3.so \
- /usr/lib/python$(PYTHON_VERSION)/sqlite3 \
-))
+++ /dev/null
-#
-# Copyright (C) 2006-2016 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-define Package/python-unittest
-$(call Package/python/Default)
- TITLE:=Python $(PYTHON_VERSION) unittest module
- DEPENDS:=+python-light
-endef
-
-$(eval $(call PyBasePackage,python-unittest, \
- /usr/lib/python$(PYTHON_VERSION)/unittest \
-))
+++ /dev/null
-#
-# Copyright (C) 2006-2016 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-define Package/python-xml
-$(call Package/python/Default)
- TITLE:=Python $(PYTHON_VERSION) xml libs
- DEPENDS:=+python-light +libexpat
-endef
-
-$(eval $(call PyBasePackage,python-xml, \
- /usr/lib/python$(PYTHON_VERSION)/xml \
- /usr/lib/python$(PYTHON_VERSION)/xmllib.py \
- /usr/lib/python$(PYTHON_VERSION)/xmlrpclib.py \
- /usr/lib/python$(PYTHON_VERSION)/lib-dynload/_elementtree.so \
- /usr/lib/python$(PYTHON_VERSION)/lib-dynload/pyexpat.so \
-))
+++ /dev/null
-https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=848136
-https://sources.debian.org/patches/python-setuptools/40.8.0-1/reproducible.diff/
-
-Index: b/setuptools/command/easy_install.py
-===================================================================
---- a/setuptools/command/easy_install.py
-+++ b/setuptools/command/easy_install.py
-@@ -436,7 +436,7 @@ consider to install to another location,
- for spec in self.args:
- self.easy_install(spec, not self.no_deps)
- if self.record:
-- outputs = self.outputs
-+ outputs = list(sorted(self.outputs))
- if self.root: # strip any package prefix
- root_len = len(self.root)
- for counter in range(len(outputs)):
+++ /dev/null
-https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=804249
-https://sources.debian.org/patches/python-setuptools/40.8.0-1/sorted-requires.diff/
-
-Index: b/setuptools/command/egg_info.py
-===================================================================
---- a/setuptools/command/egg_info.py
-+++ b/setuptools/command/egg_info.py
-@@ -621,7 +621,7 @@ def warn_depends_obsolete(cmd, basename,
- def _write_requirements(stream, reqs):
- lines = yield_lines(reqs or ())
- append_cr = lambda line: line + '\n'
-- lines = map(append_cr, lines)
-+ lines = map(append_cr, sorted(lines))
- stream.writelines(lines)
-
-
+++ /dev/null
-https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=894215
-https://sources.debian.org/patches/python-setuptools/40.8.0-1/PKG-INFO-output-reproducible.diff/
-
---- a/setuptools/dist.py
-+++ b/setuptools/dist.py
-@@ -191,7 +191,7 @@ def write_pkg_file(self, file):
- self.long_description_content_type
- )
- if self.provides_extras:
-- for extra in self.provides_extras:
-+ for extra in sorted(self.provides_extras):
- write_field('Provides-Extra', extra)
-
-
+++ /dev/null
-From 6eeab87bc852481e599325549c854b701bf2e39f Mon Sep 17 00:00:00 2001
-From: Alexandru Ardelean <aa@ocedo.com>
-Date: Thu, 25 Sep 2014 18:18:29 +0300
-Subject: [PATCH] enable zlib
-
----
- Modules/Setup.dist | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
---- a/Modules/Setup.dist
-+++ b/Modules/Setup.dist
-@@ -464,7 +464,7 @@ GLHACK=-Dclear=__GLclear
- # Andrew Kuchling's zlib module.
- # This require zlib 1.1.3 (or later).
- # See http://www.gzip.org/zlib/
--#zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz
-+zlib zlibmodule.c -lz
-
- # Interface to the Expat XML parser
- # More information on Expat can be found at www.libexpat.org.
+++ /dev/null
---- a/setup.py
-+++ b/setup.py
-@@ -543,7 +543,8 @@ class PyBuildExt(build_ext):
- add_dir_to_list(dir_list, directory)
-
- if os.path.normpath(sys.prefix) != '/usr' \
-- and not sysconfig.get_config_var('PYTHONFRAMEWORK'):
-+ and not sysconfig.get_config_var('PYTHONFRAMEWORK') \
-+ and not cross_compiling:
- # OSX note: Don't add LIBDIR and INCLUDEDIR to building a framework
- # (PYTHONFRAMEWORK is set) to avoid # linking problems when
- # building a framework with different architectures than
+++ /dev/null
---- a/Makefile.pre.in
-+++ b/Makefile.pre.in
-@@ -1133,6 +1133,7 @@ libinstall: build_all $(srcdir)/Lib/$(PL
- done; \
- done
- $(INSTALL_DATA) $(srcdir)/LICENSE $(DESTDIR)$(LIBDEST)/LICENSE.txt
-+ifeq (@COMPILE_ALL_TESTS@,yes)
- if test -d $(DESTDIR)$(LIBDEST)/distutils/tests; then \
- $(INSTALL_DATA) $(srcdir)/Modules/xxmodule.c \
- $(DESTDIR)$(LIBDEST)/distutils/tests ; \
-@@ -1159,6 +1160,7 @@ libinstall: build_all $(srcdir)/Lib/$(PL
- $(PYTHON_FOR_BUILD) -m lib2to3.pgen2.driver $(DESTDIR)$(LIBDEST)/lib2to3/Grammar.txt
- -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
- $(PYTHON_FOR_BUILD) -m lib2to3.pgen2.driver $(DESTDIR)$(LIBDEST)/lib2to3/PatternGrammar.txt
-+endif
-
- # Create the PLATDIR source directory, if one wasn't distributed..
- $(srcdir)/Lib/$(PLATDIR):
+++ /dev/null
---- a/Python/pythonrun.c
-+++ b/Python/pythonrun.c
-@@ -71,7 +71,7 @@ int Py_InteractiveFlag; /* Needed by Py_
- int Py_InspectFlag; /* Needed to determine whether to exit at SystemExit */
- int Py_NoSiteFlag; /* Suppress 'import site' */
- int Py_BytesWarningFlag; /* Warn on comparison between bytearray and unicode */
--int Py_DontWriteBytecodeFlag; /* Suppress writing bytecode files (*.py[co]) */
-+int Py_DontWriteBytecodeFlag = 1; /* Suppress writing bytecode files (*.py[co]) */
- int Py_UseClassExceptionsFlag = 1; /* Needed by bltinmodule.c: deprecated */
- int Py_FrozenFlag; /* Needed by getpath.c */
- int Py_UnicodeFlag = 0; /* Needed by compile.c */
+++ /dev/null
---- a/configure
-+++ b/configure
-@@ -7084,7 +7084,7 @@ sys/param.h sys/poll.h sys/random.h sys/
- sys/termio.h sys/time.h \
- sys/times.h sys/types.h sys/un.h sys/utsname.h sys/wait.h pty.h libutil.h \
- sys/resource.h netpacket/packet.h sysexits.h bluetooth.h \
--bluetooth/bluetooth.h linux/tipc.h spawn.h util.h alloca.h sys/sysmacros.h
-+linux/tipc.h spawn.h util.h alloca.h sys/sysmacros.h
- do :
- as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
- ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-@@ -7306,6 +7306,24 @@ fi
- fi
-
-
-+# bluetooth/bluetooth.h has been known to not compile with -std=c99.
-+# http://permalink.gmane.org/gmane.linux.bluez.kernel/22294
-+SAVE_CFLAGS=$CFLAGS
-+CFLAGS="-std=c99 $CFLAGS"
-+for ac_header in bluetooth/bluetooth.h
-+do :
-+ ac_fn_c_check_header_mongrel "$LINENO" "bluetooth/bluetooth.h" "ac_cv_header_bluetooth_bluetooth_h" "$ac_includes_default"
-+if test "x$ac_cv_header_bluetooth_bluetooth_h" = xyes; then :
-+ cat >>confdefs.h <<_ACEOF
-+#define HAVE_BLUETOOTH_BLUETOOTH_H 1
-+_ACEOF
-+
-+fi
-+
-+done
-+
-+CFLAGS=$SAVE_CFLAGS
-+
- # On Linux, netlink.h requires asm/types.h
- for ac_header in linux/netlink.h
- do :
---- a/configure.ac
-+++ b/configure.ac
-@@ -1739,10 +1739,17 @@ sys/param.h sys/poll.h sys/random.h sys/
- sys/termio.h sys/time.h \
- sys/times.h sys/types.h sys/un.h sys/utsname.h sys/wait.h pty.h libutil.h \
- sys/resource.h netpacket/packet.h sysexits.h bluetooth.h \
--bluetooth/bluetooth.h linux/tipc.h spawn.h util.h alloca.h sys/sysmacros.h)
-+linux/tipc.h spawn.h util.h alloca.h sys/sysmacros.h)
- AC_HEADER_DIRENT
- AC_HEADER_MAJOR
-
-+# bluetooth/bluetooth.h has been known to not compile with -std=c99.
-+# http://permalink.gmane.org/gmane.linux.bluez.kernel/22294
-+SAVE_CFLAGS=$CFLAGS
-+CFLAGS="-std=c99 $CFLAGS"
-+AC_CHECK_HEADERS(bluetooth/bluetooth.h)
-+CFLAGS=$SAVE_CFLAGS
-+
- # On Linux, netlink.h requires asm/types.h
- AC_CHECK_HEADERS(linux/netlink.h,,,[
- #ifdef HAVE_ASM_TYPES_H
+++ /dev/null
---- a/setup.py
-+++ b/setup.py
-@@ -500,13 +500,8 @@ class PyBuildExt(build_ext):
- os.unlink(tmpfile)
-
- def detect_modules(self):
-- # Ensure that /usr/local is always used
-- if not cross_compiling:
-- add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib')
-- add_dir_to_list(self.compiler.include_dirs, '/usr/local/include')
- if cross_compiling:
- self.add_gcc_paths()
-- self.add_multiarch_paths()
-
- # Add paths specified in the environment variables LDFLAGS and
- # CPPFLAGS for header and library files.
+++ /dev/null
---- a/Lib/distutils/command/build_scripts.py
-+++ b/Lib/distutils/command/build_scripts.py
-@@ -89,6 +89,7 @@ class build_scripts (Command):
- adjust = 1
- post_interp = match.group(1) or ''
-
-+ adjust = 0
- if adjust:
- log.info("copying and adjusting %s -> %s", script,
- self.build_dir)
+++ /dev/null
-Adjust library/header paths for cross-compilation
-
-When cross-compiling third-party extensions, the get_python_inc() or
-get_python_lib() can be called, to return the path to headers or
-libraries. However, they use the sys.prefix of the host Python, which
-returns incorrect paths when cross-compiling (paths pointing to host
-headers and libraries).
-
-In order to fix this, we introduce the _python_sysroot, _python_prefix
-and _python_exec_prefix variables, that allow to override these
-values, and get correct header/library paths when cross-compiling
-third-party Python modules.
-
-The _python_sysroot variable is also used to prefix the LIBDIR value
-taken from the sysconfigdata module.
-
-Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-
---- a/Lib/distutils/sysconfig.py
-+++ b/Lib/distutils/sysconfig.py
-@@ -19,8 +19,13 @@ import sys
- from distutils.errors import DistutilsPlatformError
-
- # These are needed in a couple of spots, so just compute them once.
--PREFIX = os.path.normpath(sys.prefix)
--EXEC_PREFIX = os.path.normpath(sys.exec_prefix)
-+if "_python_sysroot" in os.environ:
-+ _sysroot=os.environ.get('_python_sysroot')
-+ PREFIX = os.path.normpath(_sysroot + os.environ.get('_python_prefix'))
-+ EXEC_PREFIX = os.path.normpath(_sysroot + os.environ.get('_python_exec_prefix'))
-+else:
-+ PREFIX = os.path.normpath(sys.prefix)
-+ EXEC_PREFIX = os.path.normpath(sys.exec_prefix)
-
- # Path to the base directory of the project. On Windows the binary may
- # live in project/PCBuild9. If we're dealing with an x64 Windows build,
---- a/Lib/distutils/command/build_ext.py
-+++ b/Lib/distutils/command/build_ext.py
-@@ -240,7 +240,10 @@ class build_ext (Command):
- if (sysconfig.get_config_var('Py_ENABLE_SHARED')):
- if not sysconfig.python_build:
- # building third party extensions
-- self.library_dirs.append(sysconfig.get_config_var('LIBDIR'))
-+ libdir = sysconfig.get_config_var('LIBDIR')
-+ if "_python_sysroot" in os.environ:
-+ libdir = os.environ.get("_python_sysroot") + libdir
-+ self.library_dirs.append(libdir)
- else:
- # building python standard extensions
- self.library_dirs.append('.')
+++ /dev/null
---- a/setup.py
-+++ b/setup.py
-@@ -1129,6 +1129,7 @@ class PyBuildExt(build_ext):
- if db_setup_debug: print "db lib: ", dblib, "not found"
-
- except db_found:
-+ rt_dblib_dir = None if cross_compiling else dblib_dir
- if db_setup_debug:
- print "bsddb using BerkeleyDB lib:", db_ver, dblib
- print "bsddb lib dir:", dblib_dir, " inc dir:", db_incdir
-@@ -1143,7 +1144,7 @@ class PyBuildExt(build_ext):
- exts.append(Extension('_bsddb', ['_bsddb.c'],
- depends = ['bsddb.h'],
- library_dirs=dblib_dir,
-- runtime_library_dirs=dblib_dir,
-+ runtime_library_dirs=rt_dblib_dir,
- include_dirs=db_incs,
- libraries=dblibs))
- else:
-@@ -1354,10 +1355,11 @@ class PyBuildExt(build_ext):
- break
- elif cand == "bdb":
- if db_incs is not None:
-+ rt_dblib_dir = None if cross_compiling else dblib_dir
- print "building dbm using bdb"
- dbmext = Extension('dbm', ['dbmmodule.c'],
- library_dirs=dblib_dir,
-- runtime_library_dirs=dblib_dir,
-+ runtime_library_dirs=rt_dblib_dir,
- include_dirs=db_incs,
- define_macros=[
- ('HAVE_BERKDB_H', None),
+++ /dev/null
---- a/setup.py
-+++ b/setup.py
-@@ -509,8 +509,9 @@ class PyBuildExt(build_ext):
- # directly since an inconsistently reproducible issue comes up where
- # the environment variable is not set even though the value were passed
- # into configure and stored in the Makefile (issue found on OS X 10.3).
-+ rt_lib_dirs = [] if cross_compiling else self.compiler.runtime_library_dirs
- for env_var, arg_name, dir_list in (
-- ('LDFLAGS', '-R', self.compiler.runtime_library_dirs),
-+ ('LDFLAGS', '-R', rt_lib_dirs),
- ('LDFLAGS', '-L', self.compiler.library_dirs),
- ('CPPFLAGS', '-I', self.compiler.include_dirs)):
- env_val = sysconfig.get_config_var(env_var)
+++ /dev/null
---- a/Lib/py_compile.py
-+++ b/Lib/py_compile.py
-@@ -108,6 +108,7 @@ def compile(file, cfile=None, dfile=None
- timestamp = long(os.fstat(f.fileno()).st_mtime)
- except AttributeError:
- timestamp = long(os.stat(file).st_mtime)
-+ timestamp = long(os.getenv('SOURCE_DATE_EPOCH', timestamp))
- codestring = f.read()
- try:
- codeobject = __builtin__.compile(codestring, dfile or file,'exec')
+++ /dev/null
---- a/Makefile.pre.in
-+++ b/Makefile.pre.in
-@@ -634,6 +634,16 @@ regen-all: regen-opcode-targets regen-gr
- ############################################################################
- # Special rules for object files
-
-+DATE_FMT = %b %d %Y
-+TIME_FMT = %H:%M:%S
-+ifdef SOURCE_DATE_EPOCH
-+ BUILD_DATE ?= $(shell date -u -d "@$(SOURCE_DATE_EPOCH)" "+$(DATE_FMT)" 2>/dev/null || date -u -r "$(SOURCE_DATE_EPOCH)" "+$(DATE_FMT)" 2>/dev/null || date -u "+$(DATE_FMT)")
-+ BUILD_TIME ?= $(shell date -u -d "@$(SOURCE_DATE_EPOCH)" "+$(TIME_FMT)" 2>/dev/null || date -u -r "$(SOURCE_DATE_EPOCH)" "+$(TIME_FMT)" 2>/dev/null || date -u "+$(TIME_FMT)")
-+else
-+ BUILD_DATE ?= $(shell date "+$(DATE_FMT)")
-+ BUILD_TIME ?= $(shell date "+$(TIME_FMT)")
-+endif
-+
- Modules/getbuildinfo.o: $(PARSER_OBJS) \
- $(OBJECT_OBJS) \
- $(PYTHON_OBJS) \
-@@ -642,6 +652,8 @@ Modules/getbuildinfo.o: $(PARSER_OBJS) \
- $(MODOBJS) \
- $(srcdir)/Modules/getbuildinfo.c
- $(CC) -c $(PY_CFLAGS) \
-+ -DDATE="\"$(BUILD_DATE)\"" \
-+ -DTIME="\"$(BUILD_TIME)\"" \
- -DGITVERSION="\"`LC_ALL=C $(GITVERSION)`\"" \
- -DGITTAG="\"`LC_ALL=C $(GITTAG)`\"" \
- -DGITBRANCH="\"`LC_ALL=C $(GITBRANCH)`\"" \
+++ /dev/null
---- a/Lib/compileall.py
-+++ b/Lib/compileall.py
-@@ -152,10 +152,10 @@ def main():
- """Script main program."""
- import getopt
- try:
-- opts, args = getopt.getopt(sys.argv[1:], 'lfqd:x:i:')
-+ opts, args = getopt.getopt(sys.argv[1:], 'lr:fqd:x:i:')
- except getopt.error, msg:
- print msg
-- print "usage: python compileall.py [-l] [-f] [-q] [-d destdir] " \
-+ print "usage: python compileall.py [-l] [-r recursion] [-f] [-q] [-d destdir] " \
- "[-x regexp] [-i list] [directory|file ...]"
- print
- print "arguments: zero or more file and directory names to compile; " \
-@@ -164,6 +164,7 @@ def main():
- print
- print "options:"
- print "-l: don't recurse into subdirectories"
-+ print "-r recursion: control the maximum recursion level"
- print "-f: force rebuild even if timestamps are up-to-date"
- print "-q: output only error messages"
- print "-d destdir: directory to prepend to file paths for use in " \
-@@ -187,6 +188,7 @@ def main():
- flist = None
- for o, a in opts:
- if o == '-l': maxlevels = 0
-+ if o == '-r': maxlevels = int(a)
- if o == '-d': ddir = a
- if o == '-f': force = 1
- if o == '-q': quiet = 1
+++ /dev/null
-https://bugs.python.org/issue21622
-
-Based on the patch from Alpine Linux
-https://git.alpinelinux.org/aports/tree/main/python2/musl-find_library.patch
-
---- a/Lib/ctypes/util.py
-+++ b/Lib/ctypes/util.py
-@@ -86,6 +86,8 @@ if os.name == "posix" and sys.platform =
- elif os.name == "posix":
- # Andreas Degert's find functions, using gcc, /sbin/ldconfig, objdump
- import re, tempfile, errno
-+ from glob import glob
-+ musl_ldso = glob('/lib/ld-musl-*.so.1')
-
- def _findLib_gcc(name):
- # Run GCC's linker with the -t (aka --trace) option and examine the
-@@ -232,6 +234,57 @@ elif os.name == "posix":
- def find_library(name, is64 = False):
- return _get_soname(_findLib_crle(name, is64) or _findLib_gcc(name))
-
-+ elif musl_ldso and os.path.isfile(musl_ldso[0]):
-+
-+ def _is_elf(filepath):
-+ try:
-+ with open(filepath, 'rb') as fh:
-+ return fh.read(4) == b'\x7fELF'
-+ except:
-+ return False
-+
-+ def find_library(name):
-+ # absolute name?
-+ if os.path.isabs(name):
-+ if _is_elf(name):
-+ return name
-+ else:
-+ return None
-+
-+ # special case for unified standard libs
-+ stdlibs = ['libcrypt.so', 'libdl.so', 'libm.so', 'libpthread.so', 'libresolv.so', 'librt.so', 'libutil.so', 'libxnet.so']
-+ if name in stdlibs:
-+ name = 'libc.so'
-+ elif ('lib' + name + '.so') in stdlibs:
-+ name = 'c'
-+
-+ paths = []
-+ # read path list from /etc/ld-musl-$(ARCH).path
-+ path_list = musl_ldso[0].replace('/lib/', '/etc/').replace('.so.1', '.path')
-+ try:
-+ with open(path_list, 'r') as fh:
-+ paths = [path for line in fh for path in line.rstrip('\n').split(':') if path]
-+ except:
-+ paths = []
-+ # default path list if /etc/ld-musl-$(ARCH).path is empty or does not exist
-+ if not paths:
-+ paths = ['/lib', '/usr/local/lib', '/usr/lib']
-+
-+ # prepend paths from LD_LIBRARY_PATH
-+ if 'LD_LIBRARY_PATH' in os.environ:
-+ paths = os.environ['LD_LIBRARY_PATH'].split(':') + paths
-+
-+ for d in paths:
-+ f = os.path.join(d, name)
-+ if _is_elf(f):
-+ return os.path.basename(f)
-+
-+ prefix = os.path.join(d, 'lib'+name)
-+ for suffix in ['.so', '.so.*']:
-+ for f in glob('{0}{1}'.format(prefix, suffix)):
-+ if _is_elf(f):
-+ return os.path.basename(f)
-+
- else:
-
- def _findSoname_ldconfig(name):
+++ /dev/null
---- a/Modules/posixmodule.c
-+++ b/Modules/posixmodule.c
-@@ -3070,7 +3070,7 @@ done:
- if (arg == Py_None) {
- /* optional time values not given */
- Py_BEGIN_ALLOW_THREADS
-- res = utime(path, NULL);
-+ res = utimes(path, NULL);
- Py_END_ALLOW_THREADS
- }
- else if (!PyTuple_Check(arg) || PyTuple_Size(arg) != 2) {
+++ /dev/null
-From 2a9c3805ddedf282881ef7811a561c70b74f80b1 Mon Sep 17 00:00:00 2001
-From: Ross Burton <ross@burtonini.com>
-Date: Wed, 19 Sep 2018 07:25:48 +0100
-Subject: [PATCH] closes bpo-34585: Don't do runtime test to get float byte
- order. (GH-9085)
-
-Currently configure.ac uses AC_RUN_IFELSE to determine the byte order of doubles, but this silently fails under cross compilation and Python doesn't do floats properly.
-
-Instead, steal a macro from autoconf-archive which compiles code using magic doubles (which encode to ASCII) and grep for the representation in the binary.
-
-RFC because this doesn't yet handle the weird ancient ARMv4 OABI 'mixed-endian' encoding properly. This encoding is ancient and I don't believe the union of "Python 3.8 users" and "OABI users" has anything in. Should the support for this just be dropped too? Alternatively, someone will need to find an OABI toolchain to verify the encoding of the magic double.
----
- .../2018-09-18-16-28-31.bpo-34585.CGMu0h.rst | 3 +
- configure.ac | 76 +++--------------
- m4/ax_c_float_words_bigendian.m4 | 83 +++++++++++++++++++
- 3 files changed, 99 insertions(+), 63 deletions(-)
- create mode 100644 Misc/NEWS.d/next/Build/2018-09-18-16-28-31.bpo-34585.CGMu0h.rst
- create mode 100644 m4/ax_c_float_words_bigendian.m4
-
-diff --git a/Misc/NEWS.d/next/Build/2018-09-18-16-28-31.bpo-34585.CGMu0h.rst b/Misc/NEWS.d/next/Build/2018-09-18-16-28-31.bpo-34585.CGMu0h.rst
-new file mode 100644
-index 0000000000000..01318e6e46a32
---- /dev/null
-+++ b/Misc/NEWS.d/next/Build/2018-09-18-16-28-31.bpo-34585.CGMu0h.rst
-@@ -0,0 +1,3 @@
-+Check for floating-point byte order in configure.ac using compilation tests
-+instead of executing code, so that these checks work in cross-compiled
-+builds.
-diff --git a/configure.ac b/configure.ac
-index 03638f8ae9bc7..96331ec221be2 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -4206,74 +4206,24 @@ fi
- # * Check for various properties of floating point *
- # **************************************************
-
--AC_MSG_CHECKING(whether C doubles are little-endian IEEE 754 binary64)
--AC_CACHE_VAL(ac_cv_little_endian_double, [
--AC_RUN_IFELSE([AC_LANG_SOURCE([[
--#include <string.h>
--int main() {
-- double x = 9006104071832581.0;
-- if (memcmp(&x, "\x05\x04\x03\x02\x01\xff\x3f\x43", 8) == 0)
-- return 0;
-- else
-- return 1;
--}
--]])],
--[ac_cv_little_endian_double=yes],
--[ac_cv_little_endian_double=no],
--[ac_cv_little_endian_double=no])])
--AC_MSG_RESULT($ac_cv_little_endian_double)
--if test "$ac_cv_little_endian_double" = yes
--then
-- AC_DEFINE(DOUBLE_IS_LITTLE_ENDIAN_IEEE754, 1,
-- [Define if C doubles are 64-bit IEEE 754 binary format, stored
-- with the least significant byte first])
--fi
--
--AC_MSG_CHECKING(whether C doubles are big-endian IEEE 754 binary64)
--AC_CACHE_VAL(ac_cv_big_endian_double, [
--AC_RUN_IFELSE([AC_LANG_SOURCE([[
--#include <string.h>
--int main() {
-- double x = 9006104071832581.0;
-- if (memcmp(&x, "\x43\x3f\xff\x01\x02\x03\x04\x05", 8) == 0)
-- return 0;
-- else
-- return 1;
--}
--]])],
--[ac_cv_big_endian_double=yes],
--[ac_cv_big_endian_double=no],
--[ac_cv_big_endian_double=no])])
--AC_MSG_RESULT($ac_cv_big_endian_double)
--if test "$ac_cv_big_endian_double" = yes
-+AX_C_FLOAT_WORDS_BIGENDIAN
-+if test "$ax_cv_c_float_words_bigendian" = "yes"
- then
- AC_DEFINE(DOUBLE_IS_BIG_ENDIAN_IEEE754, 1,
- [Define if C doubles are 64-bit IEEE 754 binary format, stored
- with the most significant byte first])
--fi
--
--# Some ARM platforms use a mixed-endian representation for doubles.
--# While Python doesn't currently have full support for these platforms
--# (see e.g., issue 1762561), we can at least make sure that float <-> string
--# conversions work.
--AC_MSG_CHECKING(whether C doubles are ARM mixed-endian IEEE 754 binary64)
--AC_CACHE_VAL(ac_cv_mixed_endian_double, [
--AC_RUN_IFELSE([AC_LANG_SOURCE([[
--#include <string.h>
--int main() {
-- double x = 9006104071832581.0;
-- if (memcmp(&x, "\x01\xff\x3f\x43\x05\x04\x03\x02", 8) == 0)
-- return 0;
-- else
-- return 1;
--}
--]])],
--[ac_cv_mixed_endian_double=yes],
--[ac_cv_mixed_endian_double=no],
--[ac_cv_mixed_endian_double=no])])
--AC_MSG_RESULT($ac_cv_mixed_endian_double)
--if test "$ac_cv_mixed_endian_double" = yes
-+elif test "$ax_cv_c_float_words_bigendian" = "no"
- then
-+ AC_DEFINE(DOUBLE_IS_LITTLE_ENDIAN_IEEE754, 1,
-+ [Define if C doubles are 64-bit IEEE 754 binary format, stored
-+ with the least significant byte first])
-+else
-+ # Some ARM platforms use a mixed-endian representation for doubles.
-+ # While Python doesn't currently have full support for these platforms
-+ # (see e.g., issue 1762561), we can at least make sure that float <-> string
-+ # conversions work.
-+ # FLOAT_WORDS_BIGENDIAN doesnt actually detect this case, but if it's not big
-+ # or little, then it must be this?
- AC_DEFINE(DOUBLE_IS_ARM_MIXED_ENDIAN_IEEE754, 1,
- [Define if C doubles are 64-bit IEEE 754 binary format, stored
- in ARM mixed-endian order (byte order 45670123)])
-diff --git a/m4/ax_c_float_words_bigendian.m4 b/m4/ax_c_float_words_bigendian.m4
-new file mode 100644
-index 0000000000000..216b90d803187
---- /dev/null
-+++ b/m4/ax_c_float_words_bigendian.m4
-@@ -0,0 +1,83 @@
-+# ===============================================================================
-+# https://www.gnu.org/software/autoconf-archive/ax_c_float_words_bigendian.html
-+# ===============================================================================
-+#
-+# SYNOPSIS
-+#
-+# AX_C_FLOAT_WORDS_BIGENDIAN([ACTION-IF-TRUE], [ACTION-IF-FALSE], [ACTION-IF-UNKNOWN])
-+#
-+# DESCRIPTION
-+#
-+# Checks the ordering of words within a multi-word float. This check is
-+# necessary because on some systems (e.g. certain ARM systems), the float
-+# word ordering can be different from the byte ordering. In a multi-word
-+# float context, "big-endian" implies that the word containing the sign
-+# bit is found in the memory location with the lowest address. This
-+# implementation was inspired by the AC_C_BIGENDIAN macro in autoconf.
-+#
-+# The endianness is detected by first compiling C code that contains a
-+# special double float value, then grepping the resulting object file for
-+# certain strings of ASCII values. The double is specially crafted to have
-+# a binary representation that corresponds with a simple string. In this
-+# implementation, the string "noonsees" was selected because the
-+# individual word values ("noon" and "sees") are palindromes, thus making
-+# this test byte-order agnostic. If grep finds the string "noonsees" in
-+# the object file, the target platform stores float words in big-endian
-+# order. If grep finds "seesnoon", float words are in little-endian order.
-+# If neither value is found, the user is instructed to specify the
-+# ordering.
-+#
-+# LICENSE
-+#
-+# Copyright (c) 2008 Daniel Amelang <dan@amelang.net>
-+#
-+# Copying and distribution of this file, with or without modification, are
-+# permitted in any medium without royalty provided the copyright notice
-+# and this notice are preserved. This file is offered as-is, without any
-+# warranty.
-+
-+#serial 11
-+
-+AC_DEFUN([AX_C_FLOAT_WORDS_BIGENDIAN],
-+ [AC_CACHE_CHECK(whether float word ordering is bigendian,
-+ ax_cv_c_float_words_bigendian, [
-+
-+ax_cv_c_float_words_bigendian=unknown
-+AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
-+
-+double d = 90904234967036810337470478905505011476211692735615632014797120844053488865816695273723469097858056257517020191247487429516932130503560650002327564517570778480236724525140520121371739201496540132640109977779420565776568942592.0;
-+
-+]])], [
-+
-+if grep noonsees conftest.$ac_objext >/dev/null ; then
-+ ax_cv_c_float_words_bigendian=yes
-+fi
-+if grep seesnoon conftest.$ac_objext >/dev/null ; then
-+ if test "$ax_cv_c_float_words_bigendian" = unknown; then
-+ ax_cv_c_float_words_bigendian=no
-+ else
-+ ax_cv_c_float_words_bigendian=unknown
-+ fi
-+fi
-+
-+])])
-+
-+case $ax_cv_c_float_words_bigendian in
-+ yes)
-+ m4_default([$1],
-+ [AC_DEFINE([FLOAT_WORDS_BIGENDIAN], 1,
-+ [Define to 1 if your system stores words within floats
-+ with the most significant word first])]) ;;
-+ no)
-+ $2 ;;
-+ *)
-+ m4_default([$3],
-+ [AC_MSG_ERROR([
-+
-+Unknown float word ordering. You need to manually preset
-+ax_cv_c_float_words_bigendian=no (or yes) according to your system.
-+
-+ ])]) ;;
-+esac
-+
-+])# AX_C_FLOAT_WORDS_BIGENDIAN
+++ /dev/null
-From b3b8cb419e496629873fa7dda82a01863f58617a Mon Sep 17 00:00:00 2001
-From: Benjamin Peterson <benjamin@python.org>
-Date: Tue, 18 Sep 2018 23:49:05 -0700
-Subject: [PATCH] run autoconf (GH-9411)
-
-Follow up to 2a9c3805ddedf282881ef7811a561c70b74f80b1 (bpo-34585).
----
- aclocal.m4 | 1 +
- configure | 146 ++++++++++++++++----------------------------------
- pyconfig.h.in | 4 ++
- 3 files changed, 51 insertions(+), 100 deletions(-)
-
-diff --git a/aclocal.m4 b/aclocal.m4
-index 6a24d8e6b9c00..030e6877de9f7 100644
---- a/aclocal.m4
-+++ b/aclocal.m4
-@@ -288,3 +288,4 @@ AS_VAR_COPY([$1], [pkg_cv_][$1])
- AS_VAR_IF([$1], [""], [$5], [$4])dnl
- ])dnl PKG_CHECK_VAR
-
-+m4_include([m4/ax_c_float_words_bigendian.m4])
-diff --git a/configure b/configure
-index 7b0c734b5e25e..38546d6ca7b40 100755
---- a/configure
-+++ b/configure
-@@ -13853,131 +13853,77 @@ fi
- # * Check for various properties of floating point *
- # **************************************************
-
--{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C doubles are little-endian IEEE 754 binary64" >&5
--$as_echo_n "checking whether C doubles are little-endian IEEE 754 binary64... " >&6; }
--if ${ac_cv_little_endian_double+:} false; then :
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether float word ordering is bigendian" >&5
-+$as_echo_n "checking whether float word ordering is bigendian... " >&6; }
-+if ${ax_cv_c_float_words_bigendian+:} false; then :
- $as_echo_n "(cached) " >&6
- else
-
--if test "$cross_compiling" = yes; then :
-- ac_cv_little_endian_double=no
--else
-- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-+
-+ax_cv_c_float_words_bigendian=unknown
-+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h. */
-
--#include <string.h>
--int main() {
-- double x = 9006104071832581.0;
-- if (memcmp(&x, "\x05\x04\x03\x02\x01\xff\x3f\x43", 8) == 0)
-- return 0;
-- else
-- return 1;
--}
-
--_ACEOF
--if ac_fn_c_try_run "$LINENO"; then :
-- ac_cv_little_endian_double=yes
--else
-- ac_cv_little_endian_double=no
--fi
--rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-- conftest.$ac_objext conftest.beam conftest.$ac_ext
--fi
-+double d = 90904234967036810337470478905505011476211692735615632014797120844053488865816695273723469097858056257517020191247487429516932130503560650002327564517570778480236724525140520121371739201496540132640109977779420565776568942592.0;
-
--fi
-
--{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_little_endian_double" >&5
--$as_echo "$ac_cv_little_endian_double" >&6; }
--if test "$ac_cv_little_endian_double" = yes
--then
-+_ACEOF
-+if ac_fn_c_try_compile "$LINENO"; then :
-
--$as_echo "#define DOUBLE_IS_LITTLE_ENDIAN_IEEE754 1" >>confdefs.h
-
-+if grep noonsees conftest.$ac_objext >/dev/null ; then
-+ ax_cv_c_float_words_bigendian=yes
-+fi
-+if grep seesnoon conftest.$ac_objext >/dev/null ; then
-+ if test "$ax_cv_c_float_words_bigendian" = unknown; then
-+ ax_cv_c_float_words_bigendian=no
-+ else
-+ ax_cv_c_float_words_bigendian=unknown
-+ fi
- fi
-
--{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C doubles are big-endian IEEE 754 binary64" >&5
--$as_echo_n "checking whether C doubles are big-endian IEEE 754 binary64... " >&6; }
--if ${ac_cv_big_endian_double+:} false; then :
-- $as_echo_n "(cached) " >&6
--else
--
--if test "$cross_compiling" = yes; then :
-- ac_cv_big_endian_double=no
--else
-- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
--/* end confdefs.h. */
--
--#include <string.h>
--int main() {
-- double x = 9006104071832581.0;
-- if (memcmp(&x, "\x43\x3f\xff\x01\x02\x03\x04\x05", 8) == 0)
-- return 0;
-- else
-- return 1;
--}
-
--_ACEOF
--if ac_fn_c_try_run "$LINENO"; then :
-- ac_cv_big_endian_double=yes
--else
-- ac_cv_big_endian_double=no
- fi
--rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-- conftest.$ac_objext conftest.beam conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- fi
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_c_float_words_bigendian" >&5
-+$as_echo "$ax_cv_c_float_words_bigendian" >&6; }
-
--fi
-+case $ax_cv_c_float_words_bigendian in
-+ yes)
-
--{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_big_endian_double" >&5
--$as_echo "$ac_cv_big_endian_double" >&6; }
--if test "$ac_cv_big_endian_double" = yes
--then
-+$as_echo "#define FLOAT_WORDS_BIGENDIAN 1" >>confdefs.h
-+ ;;
-+ no)
-+ ;;
-+ *)
-+ as_fn_error $? "
-
--$as_echo "#define DOUBLE_IS_BIG_ENDIAN_IEEE754 1" >>confdefs.h
-+Unknown float word ordering. You need to manually preset
-+ax_cv_c_float_words_bigendian=no (or yes) according to your system.
-
--fi
-+ " "$LINENO" 5 ;;
-+esac
-
--# Some ARM platforms use a mixed-endian representation for doubles.
--# While Python doesn't currently have full support for these platforms
--# (see e.g., issue 1762561), we can at least make sure that float <-> string
--# conversions work.
--{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C doubles are ARM mixed-endian IEEE 754 binary64" >&5
--$as_echo_n "checking whether C doubles are ARM mixed-endian IEEE 754 binary64... " >&6; }
--if ${ac_cv_mixed_endian_double+:} false; then :
-- $as_echo_n "(cached) " >&6
--else
-
--if test "$cross_compiling" = yes; then :
-- ac_cv_mixed_endian_double=no
--else
-- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
--/* end confdefs.h. */
-+if test "$ax_cv_c_float_words_bigendian" = "yes"
-+then
-
--#include <string.h>
--int main() {
-- double x = 9006104071832581.0;
-- if (memcmp(&x, "\x01\xff\x3f\x43\x05\x04\x03\x02", 8) == 0)
-- return 0;
-- else
-- return 1;
--}
-+$as_echo "#define DOUBLE_IS_BIG_ENDIAN_IEEE754 1" >>confdefs.h
-
--_ACEOF
--if ac_fn_c_try_run "$LINENO"; then :
-- ac_cv_mixed_endian_double=yes
--else
-- ac_cv_mixed_endian_double=no
--fi
--rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-- conftest.$ac_objext conftest.beam conftest.$ac_ext
--fi
-+elif test "$ax_cv_c_float_words_bigendian" = "no"
-+then
-
--fi
-+$as_echo "#define DOUBLE_IS_LITTLE_ENDIAN_IEEE754 1" >>confdefs.h
-
--{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_mixed_endian_double" >&5
--$as_echo "$ac_cv_mixed_endian_double" >&6; }
--if test "$ac_cv_mixed_endian_double" = yes
--then
-+else
-+ # Some ARM platforms use a mixed-endian representation for doubles.
-+ # While Python doesn't currently have full support for these platforms
-+ # (see e.g., issue 1762561), we can at least make sure that float <-> string
-+ # conversions work.
-+ # FLOAT_WORDS_BIGENDIAN doesnt actually detect this case, but if it's not big
-+ # or little, then it must be this?
-
- $as_echo "#define DOUBLE_IS_ARM_MIXED_ENDIAN_IEEE754 1" >>confdefs.h
-
-diff --git a/pyconfig.h.in b/pyconfig.h.in
-index 360f79994fafe..41e0479cad2e3 100644
---- a/pyconfig.h.in
-+++ b/pyconfig.h.in
-@@ -30,6 +30,10 @@
- /* Define if --enable-ipv6 is specified */
- #undef ENABLE_IPV6
-
-+/* Define to 1 if your system stores words within floats with the most
-+ significant word first */
-+#undef FLOAT_WORDS_BIGENDIAN
-+
- /* Define if flock needs to be linked with bsd library. */
- #undef FLOCK_NEEDS_LIBBSD
-
PKG_NAME:=asgiref
PKG_VERSION:=3.2.7
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PYPI_NAME:=asgiref
PKG_HASH:=8036f90603c54e93521e5777b2b9a39ba1bad05773fcf2d208f0299d1df58ce5
TITLE:=Standard for Python asynchronous web apps and servers.
URL:=https://asgi.readthedocs.io/en/latest/
DEPENDS:=+python3-light +python3-logging +python3-asyncio
- VARIANT:=python3
endef
define Package/python3-asgiref/description
PKG_NAME:=python3-bottle
PKG_VERSION:=0.12.17
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PYPI_NAME:=bottle
PKG_HASH:=e9eaa412a60cc3d42ceb42f58d15864d9ed1b92e9d630b8130c871c5bb16107c
TITLE:=Fast and simple WSGI-framework for small web-applications
URL:=https://bottlepy.org
DEPENDS:=+python3
- VARIANT:=python3
endef
define Package/python3-bottle/description
PKG_NAME:=django-cors-headers
PKG_VERSION:=3.2.1
-PKG_RELEASE:=2
+PKG_RELEASE:=3
PYPI_NAME:=django-cors-headers
PKG_HASH:=a5960addecc04527ab26617e51b8ed42f0adab4594b24bb0f3c33e2bd3857c3f
TITLE:=Django application for handling the server headers required for Cross-Origin Resource Sharing (CORS).
URL:=https://github.com/ottoyiu/django-cors-headers
DEPENDS:=+django +python3-urllib +python3-light
- VARIANT:=python3
endef
define Package/python3-django-cors-headers/description
PKG_NAME:=django-etesync-journal
PKG_VERSION:=1.2.0
-PKG_RELEASE:=2
+PKG_RELEASE:=3
PYPI_NAME:=django-etesync-journal
PKG_HASH:=1b481f592217186482be9faee686f0c132790db4177deb1f5152b73e99ac6338
TITLE:=The server side implementation of the EteSync protocol.
URL:=https://www.etesync.com/
DEPENDS:=+django +python3-django-restframework +python3-light
- VARIANT:=python3
endef
define Package/python3-django-etesync-journal/description
PKG_NAME:=drf-nested-routers
PKG_VERSION:=0.91
-PKG_RELEASE:=2
+PKG_RELEASE:=3
PYPI_NAME:=drf-nested-routers
PKG_HASH:=46e5c3abc15c782cafafd7d75028e8f9121bbc6228e3599bbb48a3daa4585034
TITLE:=Nested resources for the Django Rest Framework
URL:=https://github.com/alanjds/drf-nested-routers
DEPENDS:=+python3-django-restframework +django +python3-light
- VARIANT:=python3
endef
define Package/python3-drf-nested-routers/description
# See /LICENSE for more information.
#
-# Note: include this after `include $(TOPDIR)/rules.mk in your package Makefile
+# Note: include this file after `include $(TOPDIR)/rules.mk in your package Makefile
# if `python3-package.mk` is included, this will already be included
-ifneq ($(__python3_host_mk_inc),1)
-__python3_host_mk_inc=1
-
# For PYTHON3_VERSION
python3_mk_path:=$(dir $(lastword $(MAKEFILE_LIST)))
include $(python3_mk_path)python3-version.mk
HOST_PYTHON3PATH:=$(HOST_PYTHON3_LIB_DIR):$(HOST_PYTHON3_PKG_DIR)
-define HostPython3
- if [ "$(strip $(3))" == "HOST" ]; then \
- export PYTHONPATH="$(HOST_PYTHON3PATH)"; \
- export PYTHONDONTWRITEBYTECODE=0; \
- else \
- export PYTHONPATH="$(PYTHON3PATH)"; \
- export PYTHONDONTWRITEBYTECODE=1; \
- export _python_sysroot="$(STAGING_DIR)"; \
- export _python_prefix="/usr"; \
- export _python_exec_prefix="/usr"; \
- fi; \
- export PYTHONOPTIMIZE=""; \
- $(1) \
- $(HOST_PYTHON3_BIN) $(2);
-endef
-
-define host_python3_settings
+HOST_PYTHON3_VARS = \
ARCH="$(HOST_ARCH)" \
CC="$(HOSTCC)" \
CCSHARED="$(HOSTCC) $(HOST_FPIC)" \
CFLAGS="$(HOST_CFLAGS)" \
CPPFLAGS="$(HOST_CPPFLAGS) -I$(HOST_PYTHON3_INC_DIR)" \
LDFLAGS="$(HOST_LDFLAGS) -lpython$(PYTHON3_VERSION) -Wl$(comma)-rpath=$(STAGING_DIR_HOSTPKG)/lib" \
- _PYTHON_HOST_PLATFORM=linux2
-endef
+ _PYTHON_HOST_PLATFORM=linux2 \
+ PYTHONPATH="$(HOST_PYTHON3PATH)" \
+ PYTHONDONTWRITEBYTECODE=0 \
+ PYTHONOPTIMIZE=""
-# $(1) => commands to execute before running pythons script
+# $(1) => directory of python script
# $(2) => python script and its arguments
# $(3) => additional variables
-define Build/Compile/HostPy3RunHost
- $(call HostPython3, \
- $(if $(1),$(1);) \
- $(call host_python3_settings) \
- $(3) \
- , \
- $(2) \
- , \
- HOST \
- )
+define HostPython3/Run
+ cd "$(if $(strip $(1)),$(strip $(1)),.)" && \
+ $(HOST_PYTHON3_VARS) \
+ $(3) \
+ $(HOST_PYTHON3_BIN) $(2)
endef
# Note: I shamelessly copied this from Yousong's logic (from python-packages);
HOST_PYTHON3_PIP:=$(STAGING_DIR_HOSTPKG)/bin/pip$(PYTHON3_VERSION)
# $(1) => packages to install
-define Build/Compile/HostPy3PipInstall
- $(call host_python3_settings) \
+define HostPython3/PipInstall
+ $(HOST_PYTHON3_VARS) \
$(HOST_PYTHON3_PIP) \
--disable-pip-version-check \
--cache-dir "$(DL_DIR)/pip-cache" \
# $(1) => build subdir
# $(2) => additional arguments to setup.py
# $(3) => additional variables
-define Build/Compile/HostPy3Mod
- $(call Build/Compile/HostPy3RunHost, \
- cd $(HOST_BUILD_DIR)/$(strip $(1)), \
- ./setup.py $(2), \
+define HostPython3/ModSetup
+ $(call HostPython3/Run, \
+ $(HOST_BUILD_DIR)/$(strip $(1)), \
+ setup.py $(2), \
$(3))
endef
-
-endif # __python3_host_mk_inc
PKG_NAME:=maxminddb
PKG_VERSION:=1.5.2
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PYPI_NAME:=$(PKG_NAME)
PKG_HASH:=d0ce131d901eb11669996b49a59f410efd3da2c6dbe2c0094fe2fef8d85b6336
TITLE:=Reader for the MaxMind DB format
URL:=https://dev.maxmind.com/
DEPENDS:=+python3-light +libmaxminddb
- VARIANT:=python3
endef
define Package/python3-maxminddb/description
PKG_NAME:=python3-netifaces
PKG_VERSION:=0.10.9
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PYPI_NAME:=netifaces
PKG_HASH:=2dee9ffdd16292878336a58d04a20f0ffe95555465fee7c9bd23b3490ef2abf3
TITLE:=Portable network interface information
URL:=https://github.com/al45tair/netifaces
DEPENDS:=+python3-light
- VARIANT:=python3
endef
define Package/python3-netifaces/description
# See /LICENSE for more information.
#
-# Note: include this after `include $(TOPDIR)/rules.mk in your package Makefile
+# Note: include this file after `include $(TOPDIR)/rules.mk in your package Makefile
+
python3_mk_path:=$(dir $(lastword $(MAKEFILE_LIST)))
include $(python3_mk_path)python3-host.mk
PYTHON3_DIR:=$(STAGING_DIR)/usr
-PYTHON3_BIN_DIR:=$(PYTHON3_DIR)/bin
PYTHON3_INC_DIR:=$(PYTHON3_DIR)/include/python$(PYTHON3_VERSION)
PYTHON3_LIB_DIR:=$(PYTHON3_DIR)/lib/python$(PYTHON3_VERSION)
_python_prefix="/usr" \
_python_exec_prefix="/usr"
-PKG_USE_MIPS16:=0
-# This is required in addition to PKG_USE_MIPS16:=0 because otherwise MIPS16
-# flags are inherited from the Python base package (via sysconfig module)
-ifdef CONFIG_USE_MIPS16
- TARGET_CFLAGS += -mno-mips16 -mno-interlink-mips16
-endif
+PYTHON3_VARS = \
+ CC="$(TARGET_CC)" \
+ CCSHARED="$(TARGET_CC) $(FPIC)" \
+ CXX="$(TARGET_CXX)" \
+ LD="$(TARGET_CC)" \
+ LDSHARED="$(TARGET_CC) -shared" \
+ CFLAGS="$(TARGET_CFLAGS)" \
+ CPPFLAGS="$(TARGET_CPPFLAGS) -I$(PYTHON3_INC_DIR)" \
+ LDFLAGS="$(TARGET_LDFLAGS) -lpython$(PYTHON3_VERSION)" \
+ _PYTHON_HOST_PLATFORM=linux2 \
+ __PYVENV_LAUNCHER__="/usr/bin/$(PYTHON3)" \
+ PYTHONPATH="$(PYTHON3PATH)" \
+ PYTHONDONTWRITEBYTECODE=1 \
+ PYTHONOPTIMIZE="" \
+ _python_sysroot="$(STAGING_DIR)" \
+ _python_prefix="/usr" \
+ _python_exec_prefix="/usr"
-define Py3Shebang
-$(SED) "1"'!'"b;s,^#"'!'".*python.*,#"'!'"/usr/bin/python3," -i --follow-symlinks $(1)
+# $(1) => directory of python script
+# $(2) => python script and its arguments
+# $(3) => additional variables
+define Python3/Run
+ cd "$(if $(strip $(1)),$(strip $(1)),.)" && \
+ $(PYTHON3_VARS) \
+ $(3) \
+ $(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 Python3/Run, \
+ $(PKG_BUILD_DIR)/$(strip $(1)), \
+ setup.py $(2), \
+ $(3))
+endef
+
+define Python3/FixShebang
+ $(SED) "1"'!'"b;s,^#"'!'".*python.*,#"'!'"/usr/bin/python3," -i --follow-symlinks $(1)
+endef
+
+# default max recursion is 10
+PYTHON3_COMPILEALL_MAX_RECURSION_LEVEL:=20
+
+# $(1) => directory of python source files to compile
+#
+# XXX [So that you won't goof as I did]
+# Note: Yes, I tried to use the -O & -OO flags here.
+# However the generated byte-codes were not portable.
+# So, we just stuck to un-optimized byte-codes,
+# which is still way better/faster than running
+# Python sources all the time.
+#
+# Setting a fixed hash seed value is less secure than using
+# random seed values, but is necessary for reproducible builds
+# (for now).
+#
+# Should revisit this when https://bugs.python.org/issue37596
+# (and other related reproducibility issues) are fixed.
+define Python3/CompileAll
+ $(call Python3/Run,, \
+ -m compileall -r "$(PYTHON3_COMPILEALL_MAX_RECURSION_LEVEL)" -b -d '/' $(1),
+ $(if $(SOURCE_DATE_EPOCH),PYTHONHASHSEED="$(SOURCE_DATE_EPOCH)")
+ )
+endef
+
+# $(1) => target directory
+define Python3/DeleteSourceFiles
+ $(FIND) $(1) -type f -name '*.py' -delete
+endef
+
+# $(1) => target directory
+define Python3/DeleteNonSourceFiles
+ $(FIND) $(1) -not -type d -not -name '*.py' -delete
+endef
+
+# $(1) => target directory
+define Python3/DeleteEmptyDirs
+ $(FIND) $(1) -mindepth 1 -empty -type d -not -path '$(1)/CONTROL' -not -path '$(1)/CONTROL/*' -delete
endef
-define Py3Package
+# Py3Package
+
+define Py3Package/filespec/Default
++|$(PYTHON3_PKG_DIR)
+endef
+
+# $(1) => package name
+# $(2) => src directory
+# $(3) => dest directory
+define Py3Package/ProcessFilespec
+ $(eval $(call shexport,Py3Package/$(1)/filespec))
+ $(SHELL) $(python3_mk_path)python-package-install.sh \
+ "$(2)" "$(3)" "$$$$$(call shvar,Py3Package/$(1)/filespec)"
+endef
+
+define Py3Package
define Package/$(1)-src
$(call Package/$(1))
DEPENDS:=
endef
define Package/$(1)-src/description
- $(call Package/$(1)/description).
- (Contains the Python3 sources for this package).
+ $$(call Package/$(1)/description)
+
+ This package contains the Python source files for $(1).
+ endef
+
+ define Package/$(1)-src/config
+ depends on PACKAGE_$(1)
endef
# Add default PyPackage filespec none defined
- ifndef Py3Package/$(1)/filespec
- define Py3Package/$(1)/filespec
- +|$(PYTHON3_PKG_DIR)
- endef
+ ifeq ($(origin Py3Package/$(1)/filespec),undefined)
+ Py3Package/$(1)/filespec=$$(Py3Package/filespec/Default)
endif
ifndef Py3Package/$(1)/install
define Py3Package/$(1)/install
- if [ -d $(PKG_INSTALL_DIR)/usr/bin ]; then \
- $(INSTALL_DIR) $$(1)/usr/bin ; \
- $(CP) $(PKG_INSTALL_DIR)/usr/bin/* $$(1)/usr/bin/ ; \
- fi
+ if [ -d $(PKG_INSTALL_DIR)/usr/bin ]; then \
+ $(INSTALL_DIR) $$(1)/usr/bin ; \
+ $(CP) $(PKG_INSTALL_DIR)/usr/bin/* $$(1)/usr/bin/ ; \
+ fi
endef
endif
ifndef Package/$(1)/install
- $(call shexport,Py3Package/$(1)/filespec)
-
- define Package/$(1)/install
+ define Package/$(1)/install
$$(call Py3Package/$(1)/install,$$(1))
- $(SHELL) $(python3_mk_path)python-package-install.sh "3" \
- "$(PKG_INSTALL_DIR)" "$$(1)" \
- "$(HOST_PYTHON3_BIN)" "$$(2)" \
- "$$$$$$$$$$(call shvar,Py3Package/$(1)/filespec)" && \
- if [ -d "$$(1)/usr/bin" ]; then \
- $(call Py3Shebang,$$(1)/usr/bin/*) ; \
+ $$(call Py3Package/ProcessFilespec,$(1),$(PKG_INSTALL_DIR),$$(1))
+ $(FIND) $$(1) -name '*.exe' -delete
+ $$(call Python3/CompileAll,$$(1))
+ $$(call Python3/DeleteSourceFiles,$$(1))
+ $$(call Python3/DeleteEmptyDirs,$$(1))
+ if [ -d "$$(1)/usr/bin" ]; then \
+ $$(call Python3/FixShebang,$$(1)/usr/bin/*) ; \
fi
- endef
+ endef
- define Package/$(1)-src/install
- $$(call Package/$(1)/install,$$(1),sources)
- endef
+ define Package/$(1)-src/install
+ $$(call Py3Package/$(1)/install,$$(1))
+ $$(call Py3Package/ProcessFilespec,$(1),$(PKG_INSTALL_DIR),$$(1))
+ $$(call Python3/DeleteNonSourceFiles,$$(1))
+ $$(call Python3/DeleteEmptyDirs,$$(1))
+ endef
endif # Package/$(1)/install
endef
-# $(1) => commands to execute before running pythons script
-# $(2) => python script and its arguments
-# $(3) => additional variables
-define Build/Compile/HostPy3RunTarget
- $(call HostPython3, \
- $(if $(1),$(1);) \
- CC="$(TARGET_CC)" \
- CCSHARED="$(TARGET_CC) $(FPIC)" \
- CXX="$(TARGET_CXX)" \
- LD="$(TARGET_CC)" \
- LDSHARED="$(TARGET_CC) -shared" \
- CFLAGS="$(TARGET_CFLAGS)" \
- CPPFLAGS="$(TARGET_CPPFLAGS) -I$(PYTHON3_INC_DIR)" \
- LDFLAGS="$(TARGET_LDFLAGS) -lpython$(PYTHON3_VERSION)" \
- _PYTHON_HOST_PLATFORM=linux2 \
- __PYVENV_LAUNCHER__="/usr/bin/$(PYTHON3)" \
- $(3) \
- , \
- $(2) \
- )
-endef
-# $(1) => build subdir
-# $(2) => additional arguments to setup.py
-# $(3) => additional variables
-define Build/Compile/Py3Mod
- $(INSTALL_DIR) $(PKG_INSTALL_DIR)/$(PYTHON3_PKG_DIR)
- $(call Build/Compile/HostPy3RunTarget, \
- cd $(PKG_BUILD_DIR)/$(strip $(1)), \
- ./setup.py $(2), \
- $(3))
-endef
+# Py3Build
PYTHON3_PKG_SETUP_DIR ?=
-PYTHON3_PKG_SETUP_GLOABL_ARGS ?=
+PYTHON3_PKG_SETUP_GLOBAL_ARGS ?=
PYTHON3_PKG_SETUP_ARGS ?= --single-version-externally-managed
PYTHON3_PKG_SETUP_VARS ?=
define Py3Build/Compile/Default
$(if $(HOST_PYTHON3_PACKAGE_BUILD_DEPENDS),
- $(call Build/Compile/HostPy3PipInstall,$(HOST_PYTHON3_PACKAGE_BUILD_DEPENDS))
+ $(call HostPython3/PipInstall,$(HOST_PYTHON3_PACKAGE_BUILD_DEPENDS))
)
- $(call Build/Compile/Py3Mod, \
+ $(call Python3/ModSetup, \
$(PYTHON3_PKG_SETUP_DIR), \
$(PYTHON3_PKG_SETUP_GLOBAL_ARGS) \
install --prefix="/usr" --root="$(PKG_INSTALL_DIR)" \
Py3Build/Compile=$(Py3Build/Compile/Default)
-ifeq ($(BUILD_VARIANT),python3)
-define Build/Compile
- $(call Py3Build/Compile)
-endef
-endif # python3
+PYTHON3_PKG_BUILD ?= 1
+
+ifeq ($(strip $(PYTHON3_PKG_BUILD)),1)
+ Build/Compile=$(Py3Build/Compile)
+endif
define Build/Compile
$(foreach pkg,$(CONFIG_PACKAGE_python3-packages-list-host),
- $(call Build/Compile/HostPy3RunHost,,$(HOST_PYTHON3_PIP_INSTALL_HOST) $(pkg))
+ $(call HostPython3/Run,,$(HOST_PYTHON3_PIP_INSTALL_HOST) $(pkg))
)
$(foreach pkg,$(CONFIG_PACKAGE_python3-packages-list),
- $(call Build/Compile/HostPy3RunTarget,,$(call HOST_PYTHON3_PIP_INSTALL_TARGET,$(pkg)) $(pkg),$(CONFIG_PACKAGE_python3-packages-envs))
+ $(call Python3/Run,,$(call HOST_PYTHON3_PIP_INSTALL_TARGET,$(pkg)) $(pkg),$(CONFIG_PACKAGE_python3-packages-envs))
)
$(foreach pkg,$(CONFIG_PACKAGE_python3-packages-list-cleanup),
- $(call Build/Compile/HostPy3RunTarget,,$(HOST_PYTHON3_PIP_INSTALL_CLEANUP) $(pkg),$(CONFIG_PACKAGE_python3-packages-envs))
+ $(call Python3/Run,,$(HOST_PYTHON3_PIP_INSTALL_CLEANUP) $(pkg),$(CONFIG_PACKAGE_python3-packages-envs))
)
endef
PKG_NAME:=python3-pyroute2
PKG_VERSION:=0.5.7
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PYPI_NAME:=pyroute2
PKG_HASH:=963fce07da2841456d39e3b932b071f6de28d23dadfae014022d67a752916f98
+python3-multiprocessing \
+python3-sqlite3 \
+python3-ctypes
- VARIANT:=python3
endef
define Package/python3-pyroute2/description
PKG_NAME:=python3-speedtest-cli
PKG_VERSION:=2.1.2
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PYPI_NAME:=speedtest-cli
PKG_HASH:=cf1d386222f94c324e3125ba9a0d187e46d4a13dca08c023bdb9a23096be2e54
URL:=https://github.com/sivel/speedtest-cli
DEPENDS:=+python3-light +python3-pkg-resources +python3-xml +python3-email \
+python3-urllib +python3-codecs +python3-openssl
- VARIANT:=python3
endef
define Package/python3-speedtest-cli/description
PKG_NAME:=sqlparse
PKG_VERSION:=0.3.1
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PYPI_NAME:=sqlparse
PKG_HASH:=e162203737712307dfe78860cc56c8da8a852ab2ee33750e33aeadf38d12c548
TITLE:=Non-validating SQL parser module.
URL:=https://github.com/andialbrecht/sqlparse
DEPENDS:=+python3-light
- VARIANT:=python3
endef
define Package/python3-sqlparse/description
PKG_NAME:=python3-unidecode
PKG_VERSION:=1.1.1
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PYPI_NAME:=Unidecode
PKG_HASH:=2b6aab710c2a1647e928e36d69c21e76b453cd455f4e2621000e54b2a9b8cce8
TITLE:=ASCII transliterations of Unicode text
URL:=https://github.com/avian2/unidecode
DEPENDS:=+python3-light
- VARIANT:=python3
endef
define Package/python-unidecode/description
PYTHON3_VERSION:=$(PYTHON3_VERSION_MAJOR).$(PYTHON3_VERSION_MINOR)
PYTHON3_SETUPTOOLS_PKG_RELEASE:=1
-PYTHON3_PIP_PKG_RELEASE:=1
+PYTHON3_PIP_PKG_RELEASE:=2
PYTHON3_SETUPTOOLS_VERSION:=41.2.0
PYTHON3_PIP_VERSION:=19.2.3
include $(TOPDIR)/rules.mk
-# The file included below defines PYTHON_VERSION
+# The file included below defines PYTHON3_VERSION
include ../python3-version.mk
-PYTHON_VERSION:=$(PYTHON3_VERSION)
-PYTHON_VERSION_MICRO:=$(PYTHON3_VERSION_MICRO)
-
PKG_NAME:=python3
-PKG_RELEASE:=1
-PKG_VERSION:=$(PYTHON_VERSION).$(PYTHON_VERSION_MICRO)
+PKG_RELEASE:=2
+PKG_VERSION:=$(PYTHON3_VERSION).$(PYTHON3_VERSION_MICRO)
PKG_SOURCE:=Python-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=https://www.python.org/ftp/python/$(PKG_VERSION)
include ../python3-host.mk
# For Py3Package
+PYTHON3_PKG_BUILD:=0
include ../python3-package.mk
PKG_FIXUP:=autoreconf
SUBMENU:=Python
SECTION:=lang
CATEGORY:=Languages
- TITLE:=Python $(PYTHON_VERSION) programming language
+ TITLE:=Python $(PYTHON3_VERSION) programming language
URL:=https://www.python.org/
endef
define Package/python3-base
$(call Package/python3/Default)
- TITLE:=Python $(PYTHON_VERSION) interpreter
+ TITLE:=Python $(PYTHON3_VERSION) interpreter
DEPENDS:=+libpthread +zlib
endef
define Package/python3-light
$(call Package/python3/Default)
- TITLE:=Python $(PYTHON_VERSION) light installation
+ TITLE:=Python $(PYTHON3_VERSION) light installation
DEPENDS:=+python3-base +libffi +libbz2 +PYTHON3_BLUETOOTH_SUPPORT:bluez-libs +libuuid
endef
define Py3Package/$(1)/filespec
ifneq ($(2),)
$(subst $(space),$(newline),$(foreach lib_file,$(2),+|$(lib_file)))
- -|/usr/lib/python$(PYTHON_VERSION)/*/test
- -|/usr/lib/python$(PYTHON_VERSION)/*/tests
+ -|/usr/lib/python$(PYTHON3_VERSION)/*/test
+ -|/usr/lib/python$(PYTHON3_VERSION)/*/tests
endif
endef
Py3Package/$(1)/install?=:
PYTHON_FOR_BUILD:= \
_PYTHON_PROJECT_BASE=$(PKG_BUILD_DIR) \
_PYTHON_HOST_PLATFORM=linux2 \
- PYTHONPATH="$(PKG_BUILD_DIR)/Lib:$(PKG_BUILD_DIR)/build/lib.linux2-$(PYTHON_VERSION)" \
+ PYTHONPATH="$(PKG_BUILD_DIR)/Lib:$(PKG_BUILD_DIR)/build/lib.linux2-$(PYTHON3_VERSION)" \
_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata \
$(HOST_PYTHON3_BIN)
$(INSTALL_DIR) $(1)/usr/include $(1)/usr/lib $(1)/usr/lib/pkgconfig
$(INSTALL_DIR) $(2)/bin
$(CP) \
- $(PKG_INSTALL_DIR)/usr/include/python$(PYTHON_VERSION) \
+ $(PKG_INSTALL_DIR)/usr/include/python$(PYTHON3_VERSION) \
$(1)/usr/include/
$(CP) \
- $(PKG_INSTALL_DIR)/usr/lib/python$(PYTHON_VERSION) \
- $(PKG_INSTALL_DIR)/usr/lib/libpython$(PYTHON_VERSION).so* \
+ $(PKG_INSTALL_DIR)/usr/lib/python$(PYTHON3_VERSION) \
+ $(PKG_INSTALL_DIR)/usr/lib/libpython$(PYTHON3_VERSION).so* \
$(1)/usr/lib/
$(CP) \
$(PKG_INSTALL_DIR)/usr/lib/pkgconfig/python*.pc \
$(1)/usr/lib/pkgconfig
$(INSTALL_BIN) \
- $(PKG_INSTALL_DIR)/usr/bin/python$(PYTHON_VERSION)-config \
+ $(PKG_INSTALL_DIR)/usr/bin/python$(PYTHON3_VERSION)-config \
$(2)/bin/
$(SED) \
's|^prefix_real=.*$$$$|prefix_real="$(PYTHON3_DIR)"|' \
- $(2)/bin/python$(PYTHON_VERSION)-config
+ $(2)/bin/python$(PYTHON3_VERSION)-config
endef
PYTHON3_BASE_LIB_FILES:= \
- /usr/lib/python$(PYTHON_VERSION)/encodings \
- /usr/lib/python$(PYTHON_VERSION)/_collections_abc.py \
- /usr/lib/python$(PYTHON_VERSION)/_sitebuiltins.py \
- /usr/lib/python$(PYTHON_VERSION)/_sysconfigdata.py \
- /usr/lib/python$(PYTHON_VERSION)/_weakrefset.py \
- /usr/lib/python$(PYTHON_VERSION)/abc.py \
- /usr/lib/python$(PYTHON_VERSION)/codecs.py \
- /usr/lib/python$(PYTHON_VERSION)/genericpath.py \
- /usr/lib/python$(PYTHON_VERSION)/io.py \
- /usr/lib/python$(PYTHON_VERSION)/os.py \
- /usr/lib/python$(PYTHON_VERSION)/posixpath.py \
- /usr/lib/python$(PYTHON_VERSION)/site.py \
- /usr/lib/python$(PYTHON_VERSION)/sysconfig.py \
- /usr/lib/python$(PYTHON_VERSION)/stat.py
+ /usr/lib/python$(PYTHON3_VERSION)/encodings \
+ /usr/lib/python$(PYTHON3_VERSION)/_collections_abc.py \
+ /usr/lib/python$(PYTHON3_VERSION)/_sitebuiltins.py \
+ /usr/lib/python$(PYTHON3_VERSION)/_sysconfigdata.py \
+ /usr/lib/python$(PYTHON3_VERSION)/_weakrefset.py \
+ /usr/lib/python$(PYTHON3_VERSION)/abc.py \
+ /usr/lib/python$(PYTHON3_VERSION)/codecs.py \
+ /usr/lib/python$(PYTHON3_VERSION)/genericpath.py \
+ /usr/lib/python$(PYTHON3_VERSION)/io.py \
+ /usr/lib/python$(PYTHON3_VERSION)/os.py \
+ /usr/lib/python$(PYTHON3_VERSION)/posixpath.py \
+ /usr/lib/python$(PYTHON3_VERSION)/site.py \
+ /usr/lib/python$(PYTHON3_VERSION)/sysconfig.py \
+ /usr/lib/python$(PYTHON3_VERSION)/stat.py
PYTHON3_LIB_FILES_DEL+=$(PYTHON3_BASE_LIB_FILES)
define Py3Package/python3-base/filespec
-+|/usr/bin/python$(PYTHON_VERSION)
++|/usr/bin/python$(PYTHON3_VERSION)
$(subst $(space),$(newline),$(foreach lib_file,$(PYTHON3_BASE_LIB_FILES),+|$(lib_file)))
endef
define Py3Package/python3-light/filespec
-+|/usr/lib/python$(PYTHON_VERSION)
--|/usr/lib/python$(PYTHON_VERSION)/distutils/cygwinccompiler.py
--|/usr/lib/python$(PYTHON_VERSION)/distutils/command/wininst*
--|/usr/lib/python$(PYTHON_VERSION)/ensurepip
--|/usr/lib/python$(PYTHON_VERSION)/idlelib
--|/usr/lib/python$(PYTHON_VERSION)/tkinter
--|/usr/lib/python$(PYTHON_VERSION)/turtledemo
--|/usr/lib/python$(PYTHON_VERSION)/lib-dynload/_test*.so
--|/usr/lib/python$(PYTHON_VERSION)/lib-dynload/readline*.so
--|/usr/lib/python$(PYTHON_VERSION)/pdb.doc
--|/usr/lib/python$(PYTHON_VERSION)/test
--|/usr/lib/python$(PYTHON_VERSION)/webbrowser.py
--|/usr/lib/python$(PYTHON_VERSION)/*/test
--|/usr/lib/python$(PYTHON_VERSION)/*/tests
--|/usr/lib/python$(PYTHON_VERSION)/_osx_support.py
++|/usr/lib/python$(PYTHON3_VERSION)
+-|/usr/lib/python$(PYTHON3_VERSION)/distutils/cygwinccompiler.py
+-|/usr/lib/python$(PYTHON3_VERSION)/distutils/command/wininst*
+-|/usr/lib/python$(PYTHON3_VERSION)/ensurepip
+-|/usr/lib/python$(PYTHON3_VERSION)/idlelib
+-|/usr/lib/python$(PYTHON3_VERSION)/tkinter
+-|/usr/lib/python$(PYTHON3_VERSION)/turtledemo
+-|/usr/lib/python$(PYTHON3_VERSION)/lib-dynload/_test*.so
+-|/usr/lib/python$(PYTHON3_VERSION)/lib-dynload/readline*.so
+-|/usr/lib/python$(PYTHON3_VERSION)/pdb.doc
+-|/usr/lib/python$(PYTHON3_VERSION)/test
+-|/usr/lib/python$(PYTHON3_VERSION)/webbrowser.py
+-|/usr/lib/python$(PYTHON3_VERSION)/*/test
+-|/usr/lib/python$(PYTHON3_VERSION)/*/tests
+-|/usr/lib/python$(PYTHON3_VERSION)/_osx_support.py
$(subst $(space),$(newline),$(foreach lib_file,$(PYTHON3_LIB_FILES_DEL),-|$(lib_file)))
endef
define Py3Package/python3-base/install
# Adding the lib-dynload folder (even just empty) suppresses 2 warnings when starting Python
- $(INSTALL_DIR) $(1)/usr/lib/python$(PYTHON_VERSION)/lib-dynload/
+ $(INSTALL_DIR) $(1)/usr/lib/python$(PYTHON3_VERSION)/lib-dynload/
$(INSTALL_DIR) $(1)/usr/bin
- $(LN) python$(PYTHON_VERSION) $(1)/usr/bin/python3
- $(CP) $(PKG_INSTALL_DIR)/usr/lib/libpython$(PYTHON_VERSION).so* $(1)/usr/lib/
+ $(LN) python$(PYTHON3_VERSION) $(1)/usr/bin/python3
+ $(LN) python$(PYTHON3_VERSION) $(1)/usr/bin/python
+ $(CP) $(PKG_INSTALL_DIR)/usr/lib/libpython$(PYTHON3_VERSION).so* $(1)/usr/lib/
endef
Py3Package/python3-light/install:=:
$(INSTALL_DIR) $(1)/usr/bin $(1)/usr/lib
$(CP) $(PKG_INSTALL_DIR)/usr/bin/python$(PYTHON3_VERSION)-config $(1)/usr/bin
$(LN) python$(PYTHON3_VERSION)-config $(1)/usr/bin/python3-config
- $(LN) python$(PYTHON_VERSION)/config-$(PYTHON_VERSION)/libpython$(PYTHON3_VERSION).a $(1)/usr/lib/
+ $(LN) python$(PYTHON3_VERSION)/config-$(PYTHON3_VERSION)/libpython$(PYTHON3_VERSION).a $(1)/usr/lib/
endef
$(eval $(call Py3BasePackage,python3-dev, \
- /usr/lib/python$(PYTHON_VERSION)/config-$(PYTHON_VERSION) \
- /usr/include/python$(PYTHON_VERSION) \
+ /usr/lib/python$(PYTHON3_VERSION)/config-$(PYTHON3_VERSION) \
+ /usr/include/python$(PYTHON3_VERSION) \
/usr/lib/pkgconfig \
, \
DO_NOT_ADD_TO_PACKAGE_DEPENDS \
define Py3Package/python3-pip/install
$(INSTALL_DIR) $(1)/usr/bin $(1)/usr/lib/python$(PYTHON3_VERSION)/site-packages
- $(CP) $(PKG_BUILD_DIR)/install-pip/usr/bin/pip3* $(1)/usr/bin
+ $(CP) $(PKG_BUILD_DIR)/install-pip/usr/bin/pip$(PYTHON3_VERSION) $(1)/usr/bin
+ $(LN) pip$(PYTHON3_VERSION) $(1)/usr/bin/pip3
$(CP) \
$(PKG_BUILD_DIR)/install-pip/usr/lib/python$(PYTHON3_VERSION)/site-packages/pip \
$(PKG_BUILD_DIR)/install-pip/usr/lib/python$(PYTHON3_VERSION)/site-packages/pip-$(PYTHON3_PIP_VERSION).dist-info \
PKG_NAME:=ruamel-yaml
PKG_VERSION:=0.15.100
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PYPI_NAME:=ruamel.yaml
PKG_HASH:=8e42f3067a59e819935a2926e247170ed93c8f0b2ab64526f888e026854db2e4
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
-define Package/ruamel-yaml/Default
+define Package/python3-ruamel-yaml
SECTION:=lang
CATEGORY:=Languages
SUBMENU:=Python
TITLE:=YAML 1.2 loader/dumper package for Python
URL:=https://bitbucket.org/ruamel/yaml
-endef
-
-define Package/python3-ruamel-yaml
-$(call Package/ruamel-yaml/Default)
DEPENDS:= \
- +PACKAGE_python3-ruamel-yaml:python3-light
- VARIANT:=python3
+ +python3-light
endef
define Package/python3-ruamel-yaml/description
ruamel-yaml is a YAML parser/emitter that supports roundtrip preservation of comments, seq/map flow style, and map key order
-.
-(Variant for Python3)
endef
$(eval $(call Py3Package,python3-ruamel-yaml))
PKG_NAME:=python-text-unidecode
PKG_VERSION:=1.3
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PYPI_NAME:=text-unidecode
PKG_HASH:=bad6603bb14d279193107714b288be206cac565dfa49aa5b105294dd5c4aab93
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
-define Package/python-text-unidecode/Default
+define Package/python3-text-unidecode
SECTION:=lang
CATEGORY:=Languages
SUBMENU:=Python
TITLE:=The most basic Text::Unidecode port
URL:=https://github.com/kmike/text-unidecode/
-endef
-
-define Package/python3-text-unidecode
-$(call Package/python-text-unidecode/Default)
DEPENDS:= \
- +PACKAGE_python3-text-unidecode:python3-light
- VARIANT:=python3
+ +python3-light
endef
define Package/python3-text-unidecode/description
text-unidecode is the most basic port of the Text::Unidecode Perl library.
-.
-(Variant for Python3)
endef
$(eval $(call Py3Package,python3-text-unidecode))
PKG_NAME:=vobject
PKG_VERSION:=0.9.6.1
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_LICENSE:=Apache-2.0
PYPI_NAME:=$(PKG_NAME)
include ../python3-package.mk
-define Package/python-vobject/Default
+define Package/python3-vobject
SUBMENU:=Python
SECTION:=lang
CATEGORY:=Languages
- MAINTAINER:=Daniel Dickinson <cshored@thecshore.com>
TITLE:=VObject
URL:=http://eventable.github.io/vobject/
-endef
-
-define Package/python3-vobject
-$(call Package/python-vobject/Default)
- DEPENDS:=+PACKAGE_python3-vobject:python3 +PACKAGE_python3-vobject:python3-dateutil
- VARIANT:=python3
+ DEPENDS:=+python3 +python3-dateutil
endef
define Package/python3-vobject/description
vCard and vCalendar support for Python
-.
-(Variant for Python3)
endef
$(eval $(call Py3Package,python3-vobject))
PKG_NAME:=python-xmltodict
PKG_VERSION:=0.12.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PYPI_NAME:=xmltodict
PKG_HASH:=50d8c638ed7ecb88d90561beedbf720c9b4e851a9fa6c47ebd64e99d166d8a21
+python3-light \
+python3-xml \
+python3-urllib
- VARIANT:=python3
endef
define Package/python3-xmltodict/description
#
# Copyright (C) 2006-2016 OpenWrt.org
-# Copyright (C) 2017-2018 Luiz Angelo Daros de Luca <luizluca@gmail.com>
+# Copyright (C) 2017-2020 Luiz Angelo Daros de Luca <luizluca@gmail.com>
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
include $(TOPDIR)/rules.mk
PKG_NAME:=ruby
-PKG_VERSION:=2.6.5
-PKG_RELEASE:=3
+PKG_VERSION:=2.7.1
+PKG_RELEASE:=1
# First two numbes
PKG_ABI_VERSION:=$(subst $(space),.,$(wordlist 1, 2, $(subst .,$(space),$(PKG_VERSION))))
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=https://cache.ruby-lang.org/pub/ruby/$(PKG_ABI_VERSION)/
-PKG_HASH:=d5d6da717fd48524596f9b78ac5a2eeb9691753da5c06923a6c31190abe01a62
+PKG_HASH:=b224f9844646cc92765df8288a46838511c1cec5b550d8874bd4686a904fcee7
PKG_MAINTAINER:=Luiz Angelo Daros de Luca <luizluca@gmail.com>
PKG_LICENSE:=BSD-2-Clause
PKG_LICENSE_FILES:=COPYING
define Package/ruby-dev
$(call Package/ruby/Default)
TITLE+= (dev files)
- DEPENDS:=+libruby
+ DEPENDS:=+libruby ruby
endef
define Package/ruby-dev/description
Header files for compiling extension modules for the Ruby $(PKG_ABI_VERSION)
/bin/true
endef
+define Package/ruby-benchmark/files
+/usr/lib/ruby/$(PKG_ABI_VERSION)/benchmark.rb
+/usr/lib/ruby/$(PKG_ABI_VERSION)/benchmark/
+/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/gems/benchmark-*/
+/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/specifications/default/benchmark-*.gemspec
+endef
+
define Package/ruby-bigdecimal/files
/usr/lib/ruby/$(PKG_ABI_VERSION)/*/bigdecimal.so
-/usr/lib/ruby/$(PKG_ABI_VERSION)/*/bigdecimal/
/usr/lib/ruby/$(PKG_ABI_VERSION)/bigdecimal/
/usr/lib/ruby/$(PKG_ABI_VERSION)/bigdecimal.rb
/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/specifications/default/bigdecimal-*.gemspec
endef
define Package/ruby-cgi/files
-/usr/lib/ruby/$(PKG_ABI_VERSION)/cgi
/usr/lib/ruby/$(PKG_ABI_VERSION)/cgi.rb
+/usr/lib/ruby/$(PKG_ABI_VERSION)/cgi/
+/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/gems/cgi-*/
+/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/specifications/default/cgi-*.gemspec
/usr/lib/ruby/$(PKG_ABI_VERSION)/*/cgi/escape.so
endef
-define Package/ruby-cmath/files
-/usr/lib/ruby/$(PKG_ABI_VERSION)/cmath.rb
-/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/specifications/default/cmath-*.gemspec
-endef
-
define Package/ruby-csv/files
/usr/lib/ruby/$(PKG_ABI_VERSION)/csv.rb
/usr/lib/ruby/$(PKG_ABI_VERSION)/csv/
endef
define Package/ruby-debuglib/files
-/usr/lib/ruby/$(PKG_ABI_VERSION)/profile.rb
-/usr/lib/ruby/$(PKG_ABI_VERSION)/profiler.rb
/usr/lib/ruby/$(PKG_ABI_VERSION)/debug.rb
-/usr/lib/ruby/$(PKG_ABI_VERSION)/benchmark.rb
/usr/lib/ruby/$(PKG_ABI_VERSION)/*/objspace.so
endef
+define Package/ruby-delegate/files
+/usr/lib/ruby/$(PKG_ABI_VERSION)/delegate.rb
+/usr/lib/ruby/$(PKG_ABI_VERSION)/delegate/
+/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/gems/delegate-*/
+/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/specifications/default/delegate-*.gemspec
+endef
+
define Package/ruby-did-you-mean/files
-/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/specifications/did_you_mean-*.gemspec
+/usr/lib/ruby/$(PKG_ABI_VERSION)/did_you_mean.rb
+/usr/lib/ruby/$(PKG_ABI_VERSION)/did_you_mean/
/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/gems/did_you_mean-*/
-endef
-define Package/ruby-did-you-mean/files-excluded
-/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/gems/did_you_mean-*/benchmark
-/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/gems/did_you_mean-*/doc
-/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/gems/did_you_mean-*/evaluation
-/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/gems/did_you_mean-*/test
-/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/gems/did_you_mean-*/*.md
-/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/gems/did_you_mean-*/*.txt
-/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/gems/did_you_mean-*/.travis.yml
+/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/specifications/default/did_you_mean-*.gemspec
endef
define Package/ruby-digest/description
/usr/lib/ruby/$(PKG_ABI_VERSION)/*/enc/euc_jp.so
endef
-define Package/ruby-e2mmap/files
-/usr/lib/ruby/$(PKG_ABI_VERSION)/e2mmap.rb
-/usr/lib/ruby/$(PKG_ABI_VERSION)/e2mmap/
-/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/specifications/default/e2mmap-*.gemspec
-endef
-
define Package/ruby-enc-extra/files
/usr/lib/ruby/$(PKG_ABI_VERSION)/*/enc
endef
define Package/ruby-fileutils/files
/usr/lib/ruby/$(PKG_ABI_VERSION)/fileutils.rb
-/usr/lib/ruby/$(PKG_ABI_VERSION)/fileutils/
+/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/gems/fileutils-*/
/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/specifications/default/fileutils-*.gemspec
endef
$(call RubyBuildPackage/install,gems,$(1))
endef
+define Package/ruby-getoptlong/files
+/usr/lib/ruby/$(PKG_ABI_VERSION)/getoptlong.rb
+/usr/lib/ruby/$(PKG_ABI_VERSION)/getoptlong/
+/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/gems/getoptlong-*/
+/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/specifications/default/getoptlong-*.gemspec
+endef
define Package/ruby-io-console/files
/usr/lib/ruby/$(PKG_ABI_VERSION)/*/io/console.so
define Package/ruby-logger/files
/usr/lib/ruby/$(PKG_ABI_VERSION)/logger.rb
+/usr/lib/ruby/$(PKG_ABI_VERSION)/logger/
/usr/lib/ruby/$(PKG_ABI_VERSION)/syslog/logger.rb
/usr/lib/ruby/$(PKG_ABI_VERSION)/*/syslog.so
/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/specifications/default/logger-*.gemspec
/usr/lib/ruby/$(PKG_ABI_VERSION)/abbrev.rb
/usr/lib/ruby/$(PKG_ABI_VERSION)/base64.rb
/usr/lib/ruby/$(PKG_ABI_VERSION)/coverage.rb
-/usr/lib/ruby/$(PKG_ABI_VERSION)/delegate.rb
/usr/lib/ruby/$(PKG_ABI_VERSION)/expect.rb
-/usr/lib/ruby/$(PKG_ABI_VERSION)/getoptlong.rb
-/usr/lib/ruby/$(PKG_ABI_VERSION)/open3.rb
/usr/lib/ruby/$(PKG_ABI_VERSION)/securerandom.rb
/usr/lib/ruby/$(PKG_ABI_VERSION)/set.rb
/usr/lib/ruby/$(PKG_ABI_VERSION)/shellwords.rb
define Package/ruby-multithread/files
/usr/lib/ruby/$(PKG_ABI_VERSION)/monitor.rb
-/usr/lib/ruby/$(PKG_ABI_VERSION)/timeout.rb
+/usr/lib/ruby/$(PKG_ABI_VERSION)/*/monitor.so
/usr/lib/ruby/$(PKG_ABI_VERSION)/*/io/wait.so
/usr/lib/ruby/$(PKG_ABI_VERSION)/*/io/nonblock.so
endef
/usr/lib/ruby/$(PKG_ABI_VERSION)/open-uri.rb
/usr/lib/ruby/$(PKG_ABI_VERSION)/net/*
endef
+define Package/ruby-net/files-excluded
+/usr/lib/ruby/$(PKG_ABI_VERSION)/net/pop.rb
+/usr/lib/ruby/$(PKG_ABI_VERSION)/net/pop/*
+/usr/lib/ruby/$(PKG_ABI_VERSION)/net/smtp.rb
+/usr/lib/ruby/$(PKG_ABI_VERSION)/net/smtp/*
+endef
+
+define Package/ruby-net-pop/files
+/usr/lib/ruby/$(PKG_ABI_VERSION)/net/pop.rb
+/usr/lib/ruby/$(PKG_ABI_VERSION)/net/pop/
+/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/gems/net-pop-*/
+/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/specifications/default/net-pop-*.gemspec
+endef
+
+define Package/ruby-net-smtp/files
+/usr/lib/ruby/$(PKG_ABI_VERSION)/net/smtp.rb
+/usr/lib/ruby/$(PKG_ABI_VERSION)/net/smtp/
+/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/gems/net-smtp-*/
+/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/specifications/default/net-smtp-*.gemspec
+endef
define Package/ruby-net-telnet/files
/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/specifications/net-telnet-*.gemspec
/usr/lib/ruby/$(PKG_ABI_VERSION)/*/nkf.so
endef
+define Package/ruby-observer/files
+/usr/lib/ruby/$(PKG_ABI_VERSION)/observer.rb
+/usr/lib/ruby/$(PKG_ABI_VERSION)/observer/
+/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/gems/observer-*/
+/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/specifications/default/observer-*.gemspec
+endef
+
+define Package/ruby-open3/files
+/usr/lib/ruby/$(PKG_ABI_VERSION)/open3.rb
+/usr/lib/ruby/$(PKG_ABI_VERSION)/open3/
+/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/gems/open3-*/
+/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/specifications/default/open3-*.gemspec
+endef
+
define Package/ruby-openssl/files
/usr/lib/ruby/$(PKG_ABI_VERSION)/openssl
/usr/lib/ruby/$(PKG_ABI_VERSION)/openssl.rb
define Package/ruby-ostruct/files
/usr/lib/ruby/$(PKG_ABI_VERSION)/ostruct.rb
+/usr/lib/ruby/$(PKG_ABI_VERSION)/ostruct/
/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/specifications/default/ostruct-*.gemspec
endef
-define Package/ruby-patterns/files
-/usr/lib/ruby/$(PKG_ABI_VERSION)/observer.rb
-/usr/lib/ruby/$(PKG_ABI_VERSION)/singleton.rb
-endef
-
define Package/ruby-powerassert/files
/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/specifications/power_assert-*.gemspec
/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/gems/power_assert-*
define Package/ruby-pstore/files
/usr/lib/ruby/$(PKG_ABI_VERSION)/pstore.rb
+/usr/lib/ruby/$(PKG_ABI_VERSION)/pstore/
+/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/gems/pstore-*/
+/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/specifications/default/pstore-*.gemspec
endef
define Package/ruby-psych/files
endef
define Package/ruby-racc/files
+/usr/lib/ruby/$(PKG_ABI_VERSION)/racc.rb
/usr/lib/ruby/$(PKG_ABI_VERSION)/racc
/usr/lib/ruby/$(PKG_ABI_VERSION)/*/racc/*.so
+/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/gems/racc-*/
+/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/specifications/default/racc-*.gemspec
+endef
+define Package/ruby-racc/install
+ $(INSTALL_DIR) $(1)/usr/bin
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/racc $(1)/usr/bin/;
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/racc2y $(1)/usr/bin/;
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/y2racc $(1)/usr/bin/;
+ $(call RubyBuildPackage/install,racc,$(1))
endef
define Package/ruby-rake/files
/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/gems/rdoc-*
/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/specifications/default/rdoc-*.gemspec
endef
-define Package/ruby-rdoc/files-excluded
-/usr/lib/ruby/$(PKG_ABI_VERSION)/rdoc/test_case.rb
-/usr/lib/ruby/$(PKG_ABI_VERSION)/rdoc/markup/formatter_test_case.rb
-/usr/lib/ruby/$(PKG_ABI_VERSION)/rdoc/markup/text_formatter_test_case.rb
-endef
define Package/ruby-rdoc/install
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/rdoc $(1)/usr/bin/
endef
define Package/ruby-readline/files
+/usr/lib/ruby/$(PKG_ABI_VERSION)/readline.rb
+/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/gems/readline-0*
+/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/specifications/default/readline-0*.gemspec
+endef
+
+define Package/ruby-readline-ext/files
/usr/lib/ruby/$(PKG_ABI_VERSION)/*/readline.so
+/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/gems/readline-ext-*
+/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/specifications/default/readline-ext-*.gemspec
+endef
+
+define Package/ruby-reline/files
+/usr/lib/ruby/$(PKG_ABI_VERSION)/reline.rb
+/usr/lib/ruby/$(PKG_ABI_VERSION)/reline
+/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/gems/reline-*
+/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/specifications/default/reline-*.gemspec
endef
define Package/ruby-rexml/files
/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/specifications/default/rss-*.gemspec
endef
-define Package/ruby-scanf/files
-/usr/lib/ruby/$(PKG_ABI_VERSION)/scanf.rb
-/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/specifications/default/scanf-*.gemspec
-endef
-
define Package/ruby-sdbm/files
/usr/lib/ruby/$(PKG_ABI_VERSION)/*/sdbm.so
/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/specifications/default/sdbm-*.gemspec
endef
-define Package/ruby-shell/files
-/usr/lib/ruby/$(PKG_ABI_VERSION)/shell.rb
-/usr/lib/ruby/$(PKG_ABI_VERSION)/shell
-/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/specifications/default/shell-*.gemspec
+define Package/ruby-singleton/files
+/usr/lib/ruby/$(PKG_ABI_VERSION)/singleton.rb
+/usr/lib/ruby/$(PKG_ABI_VERSION)/singleton/
+/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/gems/singleton-*
+/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/specifications/default/singleton-*.gemspec
endef
define Package/ruby-socket/files
/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/specifications/default/strscan-*.gemspec
endef
-define Package/ruby-sync/files
-/usr/lib/ruby/$(PKG_ABI_VERSION)/sync.rb
-/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/specifications/default/sync-*.gemspec
-endef
-
define Package/ruby-testunit/files
/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/specifications/test-unit-*.gemspec
/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/gems/test-unit-*
/usr/lib/ruby/$(PKG_ABI_VERSION)/time.rb
endef
-define Package/ruby-thwait/files
-/usr/lib/ruby/$(PKG_ABI_VERSION)/thwait.rb
-/usr/lib/ruby/$(PKG_ABI_VERSION)/thwait/
-/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/specifications/default/thwait-*.gemspec
+define Package/ruby-timeout/files
+/usr/lib/ruby/$(PKG_ABI_VERSION)/timeout.rb
+/usr/lib/ruby/$(PKG_ABI_VERSION)/timeout/
+/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/gems/timeout-*
+/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/specifications/default/timeout-*.gemspec
endef
define Package/ruby-tracer/files
define Package/ruby-uri/files
/usr/lib/ruby/$(PKG_ABI_VERSION)/uri.rb
/usr/lib/ruby/$(PKG_ABI_VERSION)/uri
+/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/gems/uri-*/
+/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/specifications/default/uri-*.gemspec
endef
define Package/ruby-webrick/files
define Package/ruby-yaml/files
/usr/lib/ruby/$(PKG_ABI_VERSION)/yaml
/usr/lib/ruby/$(PKG_ABI_VERSION)/yaml.rb
+/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/gems/yaml-*/
+/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/specifications/default/yaml-*.gemspec
endef
define Package/ruby-zlib/files
$(eval $(call BuildPackage,libruby))
$(eval $(call BuildPackage,ruby))
$(eval $(call BuildPackage,ruby-dev))
+$(eval $(call RubyBuildPackage,benchmark,Performance benchmarking library,))
$(eval $(call RubyBuildPackage,bigdecimal,Arbitrary-precision decimal floating-point library,))
-$(eval $(call RubyBuildPackage,bundler,Manage dependencies,))
+$(eval $(call RubyBuildPackage,bundler,Manage dependencies,+ruby-irb +ruby-openssl +ruby-readline))
$(eval $(call RubyBuildPackage,cgi,CGI support toolkit,+ruby-filelib +ruby-pstore +ruby-stringio))
-$(eval $(call RubyBuildPackage,cmath,Trigonometric and transcendental functions for complex numbers,))
$(eval $(call RubyBuildPackage,csv,CSV Reading and Writing,+ruby-date +ruby-forwardable +ruby-misc +ruby-stringio +ruby-strscan))
$(eval $(call RubyBuildPackage,date,Comparable module for handling dates,))
$(eval $(call RubyBuildPackage,dbm,Wrapper for the UNIX-style Database Manager Library,+libdb47))
$(eval $(call RubyBuildPackage,debuglib,debug library,+ruby-filelib +ruby-prettyprint +ruby-tracer))
+$(eval $(call RubyBuildPackage,delegate,lib to delegate method calls to an object,))
$(eval $(call RubyBuildPackage,did-you-mean,did you mean? experience,+ruby-misc))
$(eval $(call RubyBuildPackage,digest,Digest Library,+RUBY_DIGEST_USE_OPENSSL:libopenssl))
-$(eval $(call RubyBuildPackage,drb,distributed object system,+ruby-filelib +ruby-ipaddr +ruby-patterns))
-$(eval $(call RubyBuildPackage,e2mmap,custom exceptions with specific messages,))
+$(eval $(call RubyBuildPackage,drb,distributed object system,+ruby-filelib +ruby-ipaddr +ruby-observer +ruby-singleton))
$(eval $(call RubyBuildPackage,enc,character re-coding library charset (small subset),))
$(eval $(call RubyBuildPackage,enc-extra,character re-coding library charset (extra subset),+ruby-enc))
$(eval $(call RubyBuildPackage,erb,(embedded interpreter),+ruby-cgi +ruby-strscan))
$(eval $(call RubyBuildPackage,etc,Access info typically stored in /etc,))
$(eval $(call RubyBuildPackage,fcntl,Loads constants defined in the OS fcntl.h C header file,))
$(eval $(call RubyBuildPackage,fiddle,Libffi wrapper for Ruby,+libffi))
-$(eval $(call RubyBuildPackage,filelib,file utils library,+ruby-fileutils +ruby-misc))
-$(eval $(call RubyBuildPackage,fileutils,File utility methods for copying moving removing etc,+ruby-enc +ruby-etc +ruby-rbconfig))
+$(eval $(call RubyBuildPackage,filelib,file utils library,+ruby-fileutils))
+$(eval $(call RubyBuildPackage,fileutils,File utility methods for copying moving removing etc,+ruby-enc +ruby-etc +ruby-rbconfig +ruby-socket))
$(eval $(call RubyBuildPackage,forwardable,delegation of methods to a object,))
$(eval $(call RubyBuildPackage,gdbm,Ruby extension for GNU dbm,+libgdbm))
-$(eval $(call RubyBuildPackage,gems,gems packet management,))
+$(eval $(call RubyBuildPackage,gems,gems packet management,+ruby-net +ruby-open3 +ruby-rdoc))
+$(eval $(call RubyBuildPackage,getoptlong,implementation of getoptLong,))
$(eval $(call RubyBuildPackage,io-console,Console interface,))
$(eval $(call RubyBuildPackage,ipaddr,Set of methods to manipulate an IP address,+ruby-socket))
-$(eval $(call RubyBuildPackage,irb,(interactive shell),))
+$(eval $(call RubyBuildPackage,irb,(interactive shell),+ruby-gems +ruby-reline +ruby-tracer))
$(eval $(call RubyBuildPackage,json,JSON Implementation for Ruby,+ruby-date +ruby-ostruct))
$(eval $(call RubyBuildPackage,logger,logger and syslog library,+ruby-multithread))
-$(eval $(call RubyBuildPackage,matrix,implementation of Matrix and Vector classes,+ruby-e2mmap))
-$(eval $(call RubyBuildPackage,minitest,Gem minitest,+ruby-mutex_m))
-$(eval $(call RubyBuildPackage,misc,standard libraries subset (miscellaneous files),))
+$(eval $(call RubyBuildPackage,matrix,implementation of Matrix and Vector classes,))
+$(eval $(call RubyBuildPackage,minitest,Gem minitest,+ruby-gems +ruby-mutex_m))
+$(eval $(call RubyBuildPackage,misc,standard libraries subset (miscellaneous files),+ruby-delegate))
$(eval $(call RubyBuildPackage,mkmf,makefile library,+ruby-filelib +ruby-optparse))
-$(eval $(call RubyBuildPackage,multithread,multithread library,+ruby-misc))
+$(eval $(call RubyBuildPackage,multithread,multithread library,))
$(eval $(call RubyBuildPackage,mutex_m,extend objects to be handled like a Mutex,))
-$(eval $(call RubyBuildPackage,net,Network Protocols Library,+ruby-time +ruby-digest +ruby-filelib +ruby-socket +ruby-stringio +ruby-strscan +ruby-uri))
+$(eval $(call RubyBuildPackage,net,Network Protocols Library,+ruby-time +ruby-digest +ruby-filelib +ruby-stringio +ruby-strscan +ruby-uri))
+$(eval $(call RubyBuildPackage,net-pop,POP3 lib,+ruby-net +ruby-openssl))
+$(eval $(call RubyBuildPackage,net-smtp,SMTP lib,+ruby-net +ruby-openssl))
$(eval $(call RubyBuildPackage,net-telnet,telnet client,+ruby-net))
$(eval $(call RubyBuildPackage,nkf,Network Kanji Filter,+ruby-enc))
+$(eval $(call RubyBuildPackage,observer,Observer design pattern,))
+$(eval $(call RubyBuildPackage,open3,popen with stderr,))
$(eval $(call RubyBuildPackage,openssl,SSL TLS and general purpose cryptography,+ruby-digest +ruby-enc +ruby-ipaddr +ruby-stringio +libopenssl))
$(eval $(call RubyBuildPackage,ostruct,build custom data structures,))
$(eval $(call RubyBuildPackage,optparse,command-line option analysis,+ruby-misc +ruby-time))
-$(eval $(call RubyBuildPackage,patterns,design patterns implementation,))
$(eval $(call RubyBuildPackage,powerassert,Gem power_assert,+ruby-prettyprint +ruby-ripper))
$(eval $(call RubyBuildPackage,prettyprint,PrettyPrint library,+ruby-etc))
-$(eval $(call RubyBuildPackage,prime,Prime numbers and factorization library,+ruby-forwardable +ruby-patterns))
+$(eval $(call RubyBuildPackage,prime,Prime numbers and factorization library,+ruby-forwardable +ruby-singleton))
$(eval $(call RubyBuildPackage,pstore,file based persistence,+ruby-digest +ruby-enc))
$(eval $(call RubyBuildPackage,psych,YAML parser and emitter,+ruby-bigdecimal +ruby-date +ruby-enc +ruby-stringio +ruby-strscan +libyaml))
-$(eval $(call RubyBuildPackage,racc,LALR parser generator,))
-$(eval $(call RubyBuildPackage,rake,Rake (make replacement),+ruby-fileutils +ruby-multithread +ruby-optparse +ruby-ostruct +ruby-patterns))
+$(eval $(call RubyBuildPackage,racc,LALR parser generator,+ruby-forwardable +ruby-optparse +ruby-rbconfig +ruby-stringio +ruby-strscan))
+$(eval $(call RubyBuildPackage,rake,Rake (make replacement),+ruby-fileutils +ruby-optparse +ruby-ostruct +ruby-singleton))
$(eval $(call RubyBuildPackage,rbconfig,RbConfig,))
-$(eval $(call RubyBuildPackage,rdoc,RDoc produces HTML and command-line documentation for Ruby projects,+ruby-debuglib +ruby-did-you-mean +ruby-erb +ruby-json +ruby-racc +ruby-rake +ruby-ripper +ruby-yaml +ruby-zlib))
-$(eval $(call RubyBuildPackage,readline,support for readline,+libncurses +libreadline))
-$(eval $(call RubyBuildPackage,rexml,XML toolkit,+ruby-enc +ruby-forwardable +ruby-misc +ruby-stringio +ruby-strscan))
+$(eval $(call RubyBuildPackage,rdoc,RDoc produces HTML and command-line documentation for Ruby projects,+ruby-did-you-mean +ruby-erb +ruby-json +ruby-prettyprint +ruby-racc +ruby-rake +ruby-ripper +ruby-yaml +ruby-zlib))
+$(eval $(call RubyBuildPackage,readline,loads readline-ext(native) or reline(ruby),+ruby-reline))
+$(eval $(call RubyBuildPackage,readline-ext,support for native GNU readline,+libncurses +libreadline))
+$(eval $(call RubyBuildPackage,reline,alternative to readline-ext in pure ruby,+ruby-fiddle +ruby-filelib +ruby-forwardable +ruby-io-console))
+$(eval $(call RubyBuildPackage,rexml,XML toolkit,+ruby-enc +ruby-forwardable +ruby-misc +ruby-prettyprint +ruby-stringio +ruby-strscan))
$(eval $(call RubyBuildPackage,rinda,Linda paradigm implementation,+ruby-drb +ruby-forwardable))
$(eval $(call RubyBuildPackage,ripper,script parser,))
$(eval $(call RubyBuildPackage,rss,RSS toolkit,+ruby-net +ruby-nkf +ruby-rexml))
-$(eval $(call RubyBuildPackage,scanf,Implementation of the C function scanf(3),))
$(eval $(call RubyBuildPackage,sdbm,simple file-based key-value dbm implementation,))
-$(eval $(call RubyBuildPackage,shell,idiomatic Ruby interface,+ruby-e2mmap +ruby-forwardable +ruby-sync))
-$(eval $(call RubyBuildPackage,socket,socket support,+ruby-misc +ruby-multithread))
+$(eval $(call RubyBuildPackage,singleton,Singleton pattern,))
+$(eval $(call RubyBuildPackage,socket,socket support,+ruby-misc +ruby-multithread +ruby-timeout))
$(eval $(call RubyBuildPackage,stringio,Pseudo `IO` class from/to `String`,))
$(eval $(call RubyBuildPackage,strscan,Lexical scanning operations on a String,))
-$(eval $(call RubyBuildPackage,sync,two-phase lock with a counter,))
$(eval $(call RubyBuildPackage,testunit,Gem test-unit,+ruby-csv +ruby-erb +ruby-optparse +ruby-powerassert +ruby-rexml +ruby-yaml))
$(eval $(call RubyBuildPackage,time,Extends Time with additional methods for parsing and converting Times,+ruby-date))
-$(eval $(call RubyBuildPackage,thwait,Watches for termination of multiple threads,+ruby-e2mmap))
+$(eval $(call RubyBuildPackage,timeout,Auto-terminate potentially long-running operations,))
$(eval $(call RubyBuildPackage,tracer,Outputs a source level execution trace of a Ruby program,))
$(eval $(call RubyBuildPackage,unicodenormalize,String additions for Unicode normalization,+ruby-enc +ruby-enc-extra))
$(eval $(call RubyBuildPackage,uri,library to handle URI,+ruby-enc))
-$(eval $(call RubyBuildPackage,webrick,HTTP server toolkit,+ruby-erb +ruby-net +ruby-patterns))
+$(eval $(call RubyBuildPackage,webrick,HTTP server toolkit,+ruby-erb +ruby-net +ruby-singleton))
$(eval $(call RubyBuildPackage,xmlrpc,XML-RPC toolkit,+ruby-rexml +ruby-webrick))
$(eval $(call RubyBuildPackage,yaml,YAML toolkit,+ruby-dbm +ruby-pstore +ruby-psych))
$(eval $(call RubyBuildPackage,zlib,compression/decompression library interface,))
+++ /dev/null
-From 74f94b3e6ebf15b76f3b357e754095412b006e94 Mon Sep 17 00:00:00 2001
-From: nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>
-Date: Fri, 8 Feb 2019 07:22:55 +0000
-Subject: [PATCH] configure.ac: check finite,isinf,isnan as macros first
-
-[ruby-core:91487] [Bug #15595]
-
-git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67036 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
----
- aclocal.m4 | 1 +
- configure.ac | 13 ++++---------
- tool/m4/ruby_replace_funcs.m4 | 13 +++++++++++++
- 3 files changed, 18 insertions(+), 9 deletions(-)
- create mode 100644 tool/m4/ruby_replace_funcs.m4
-
---- a/aclocal.m4
-+++ b/aclocal.m4
-@@ -35,6 +35,7 @@ m4_include([tool/m4/ruby_func_attribute.
- m4_include([tool/m4/ruby_mingw32.m4])
- m4_include([tool/m4/ruby_prepend_option.m4])
- m4_include([tool/m4/ruby_prog_gnu_ld.m4])
-+m4_include([tool/m4/ruby_replace_funcs.m4])
- m4_include([tool/m4/ruby_replace_type.m4])
- m4_include([tool/m4/ruby_rm_recursive.m4])
- m4_include([tool/m4/ruby_setjmp_type.m4])
---- a/configure.ac
-+++ b/configure.ac
-@@ -946,9 +946,6 @@ main()
- ac_cv_func_fsync=yes
- ac_cv_func_seekdir=yes
- ac_cv_func_telldir=yes
-- ac_cv_func_isinf=yes
-- ac_cv_func_isnan=yes
-- ac_cv_func_finite=yes
- ac_cv_func_lchown=yes
- ac_cv_func_link=yes
- ac_cv_func_readlink=yes
-@@ -999,9 +996,6 @@ main()
- [netbsd*], [ LIBS="-lm $LIBS"
- ],
- [dragonfly*], [ LIBS="-lm $LIBS"
-- # isinf() and isnan() are macros on DragonFly.
-- ac_cv_func_isinf=yes
-- ac_cv_func_isnan=yes
- ],
- [aix*],[ LIBS="-lm $LIBS"
- ac_cv_func_round=no
-@@ -1724,11 +1718,8 @@ AC_REPLACE_FUNCS(dup2)
- AC_REPLACE_FUNCS(erf)
- AC_REPLACE_FUNCS(explicit_bzero)
- AC_REPLACE_FUNCS(ffs)
--AC_REPLACE_FUNCS(finite)
- AC_REPLACE_FUNCS(flock)
- AC_REPLACE_FUNCS(hypot)
--AC_REPLACE_FUNCS(isinf)
--AC_REPLACE_FUNCS(isnan)
- AC_REPLACE_FUNCS(lgamma_r)
- AC_REPLACE_FUNCS(memmove)
- AC_REPLACE_FUNCS(nan)
-@@ -1741,6 +1732,10 @@ AC_REPLACE_FUNCS(strlcpy)
- AC_REPLACE_FUNCS(strstr)
- AC_REPLACE_FUNCS(tgamma)
-
-+RUBY_REPLACE_FUNC([finite], [@%:@include <math.h>])
-+RUBY_REPLACE_FUNC([isinf], [@%:@include <math.h>])
-+RUBY_REPLACE_FUNC([isnan], [@%:@include <math.h>])
-+
- # for missing/setproctitle.c
- AS_CASE(["$target_os"],
- [aix* | k*bsd*-gnu | kopensolaris*-gnu | linux* | darwin*], [AC_DEFINE(SPT_TYPE,SPT_REUSEARGV)],
---- /dev/null
-+++ b/tool/m4/ruby_replace_funcs.m4
-@@ -0,0 +1,13 @@
-+# -*- Autoconf -*-
-+dnl RUBY_REPLACE_FUNC [func] [included]
-+AC_DEFUN([RUBY_REPLACE_FUNC], [dnl
-+ AC_CHECK_DECL([$1],dnl
-+ [AC_DEFINE(AS_TR_CPP(HAVE_[$1]))],dnl
-+ [AC_REPLACE_FUNCS($1)],dnl
-+ [$2])dnl
-+])
-+
-+dnl RUBY_REPLACE_FUNCS [funcs] [included]
-+AC_DEFUN([RUBY_REPLACE_FUNCS] [dnl
-+ m4_map_args_w([$1], [RUBY_REPLACE_FUNC(], [), [$2]])dnl
-+])
--- /dev/null
+--- a/coroutine/copy/Context.h
++++ b/coroutine/copy/Context.h
+@@ -13,6 +13,7 @@
+ #include <string.h>
+ #include <stdlib.h>
+ #include <alloca.h>
++#include <sys/types.h>
+
+ #define COROUTINE __attribute__((noreturn)) void
+
+--- a/configure.ac
++++ b/configure.ac
+@@ -2344,7 +2344,10 @@ AS_CASE([$rb_cv_coroutine], [yes|''], [
+ rb_cv_coroutine=copy
+ ],
+ [*], [
+- rb_cv_coroutine=ucontext
++ AC_CHECK_FUNCS([getcontext swapcontext makecontext],
++ [rb_cv_coroutine=ucontext],
++ [rb_cv_coroutine=copy; break]
++ )
+ ]
+ )
+ AC_MSG_RESULT(${rb_cv_coroutine})
require_regex=/^require ["']([^"']+)["'].*/
require_regex_ignore=/^require ([a-zA-Z\$]|["']$|.*\/$)/
-require_ignore=%w{drb/invokemethod16 foo rubygems/defaults/operating_system win32console java Win32API
+require_ignore=%w{foo rubygems/defaults/operating_system win32console java Win32API
builder/xchar json/pure simplecov win32/sspi rdoc/markdown/literals_1_8 enumerator win32/resolv rbtree
- nqxml/streamingparser nqxml/treeparser xmlscan/parser xmlscan/scanner xmltreebuilder xml/parser xmlparser xml/encoding-ja xmlencoding-ja
+ xmlscan/parser xmlscan/scanner xmltreebuilder xml/parser xmlparser xml/encoding-ja xmlencoding-ja
iconv uconv win32ole gettext/po_parser gettext/mo libxml psych.jar psych_jars jar-dependencies thread minitest/proveit
bundler pry bcrypt net/http/pipeline capistrano/version rubygems/builder rubygems/format diff/lcs graphviz
+ win32api racc/cparse-jruby.jar profile profiler
}
builtin_enc=[
next
end
if not require_regex =~ line
- $stderr.puts "Unknown require: '#{line}' at file #{file}:#{lineno}"
+ puts "Unknown require: '#{line}' at file #{file}:#{lineno}"
failed=true
end
require=line.gsub(require_regex,"\\1")
"ruby-debuglib"=>["ruby-readline"], #debug.rb
"ruby-drb"=>["ruby-openssl"], #drb/ssl.rb
"ruby-irb"=>["ruby-rdoc", "ruby-readline"], #irb/cmd/help.rb
-"ruby-gems"=>["ruby-openssl","ruby-io-console","ruby-webrick"], #rubygems/commands/cert_command.rb rubygems/user_interaction.rb rubygems/server.rb
+"ruby-gems"=>["ruby-openssl","ruby-io-console","ruby-webrick", #rubygems/commands/cert_command.rb rubygems/user_interaction.rb rubygems/server.rb
+ "ruby-bundler"], #rubygems.rb
"ruby-mkmf"=>["ruby-webrick"], #un.rb
"ruby-net"=>["ruby-openssl","ruby-io-console","ruby-zlib"], #net/*.rb
"ruby-optparse"=>["ruby-uri","ruby-datetime"], #optparse/date.rb optparse/uri.rb
+"ruby-racc"=>["ruby-gems"], #/usr/bin/racc*
"ruby-rake"=>["ruby-net","ruby-gems"], #rake/contrib/ftptools.rb /usr/bin/rake
"ruby-rdoc"=>["ruby-gems","ruby-readline","ruby-webrick", #/usr/bin/rdoc and others
"ruby-io-console"], #rdoc/stats/normal.rb
package_dependencies.each do
|(pkg,deps)|
next if deps.empty?
+ deps.each {|dep| puts "#{pkg}: #{dep} also depends on #{pkg}" if package_dependencies[dep].include?(pkg) }
deps_new = deps.collect {|dep| [dep] + package_dependencies[dep] }.inject([],:+).uniq.sort
if not deps == deps_new
puts "#{pkg}: #{deps.join(",")}"
puts "#{pkg}: #{deps_new.join(",")}"
package_dependencies[pkg]=deps_new
+
+ if deps_new.include?(pkg)
+ $stderr.puts "#{pkg}: Circular dependency detected (#1)!"
+ exit 1
+ end
changed=true
end
end
package_dependencies.each do
|(pkg,deps)|
if deps.include? pkg
- $stderr.puts "#{pkg}: Cycle dependency detected! "
+ $stderr.puts "#{pkg}: Circular dependency detected (#2)!"
failed = true
end
end
function list_staging_files {
cd "$1"; find \
\( \( -name "root-*" -or -name "packages" -or -name "stamp" -or -name "pkginfo" -or -name "host" -or -name man \) -prune \) -or -true \
- \( -path "*ruby*" -or -name "erb" -or -name "gem" -or -name "irb" -or -name "rake" -or -name "rdoc" -or -name "ri" -or -name "testrb" \) \
- -not -path "*/usr/include/*" -not -path "*/usr/lib/pkgconfig/*" -not -path "*/usr/lib/lib*.a" \
+ \( -path "*ruby*" -or -name "erb" -or -name "gem" -or -name "irb" -or -name "rake" -or -name "rdoc" -or -name "ri" -or -name "testrb" -or -name "racc" -or -name "racc2y" -or -name "y2racc" \) \
-not -path "*/usr/lib/ruby/gems/*/cache/*" \
- -not -path "*/usr/lib/libruby.so" \
-not -name "*test_case.rb" \
-not -name "*.rdoc" \
-not -name "*.doc" \
include $(TOPDIR)/rules.mk
PKG_NAME:=alsa-lib
-PKG_VERSION:=1.1.9
+PKG_VERSION:=1.2.2
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=ftp://ftp.alsa-project.org/pub/lib/ \
http://distfiles.gentoo.org/distfiles/
-PKG_HASH:=488373aef5396682f3a411a6d064ae0ad196b9c96269d0bb912fbdeec94b994b
+PKG_HASH:=d8e853d8805574777bbe40937812ad1419c9ea7210e176f0def3e6ed255ab3ec
PKG_MAINTAINER:=Ted Hess <thess@kitschensync.net>, \
Peter Wagner <tripolar@gmx.at>
TITLE:=ALSA (Advanced Linux Sound Architecture) library
URL:=http://www.alsa-project.org/
DEPENDS:=@AUDIO_SUPPORT +kmod-sound-core +libpthread +librt
- LICENSE:=LGPLv2.1-or-later
+ LICENSE:=LGPL-2.1-or-later
LICENSE_FILES:=COPYING
endef
You must have enabled the ALSA support in the kernel.
endef
+define Package/aserver
+ SECTION:=sound
+ CATEGORY:=Sound
+ TITLE:=ALSA (Advanced Linux Sound Architecture) server
+ URL:=http://www.alsa-project.org/
+ DEPENDS:=+alsa-lib
+ LICENSE:=GPL-2.0-or-later
+ LICENSE_FILES:=aserver/COPYING
+endef
+
+define Package/aserver/description
+ This is the aserver application for ALSA.
+endef
+
define Package/alsa-lib/conffiles
/etc/asound.conf
endef
--disable-python \
--disable-debug \
--without-debug \
- $(SOFT_FLOAT_CONFIG_OPTION) \
- --with-versioned=no
+ --without-versioned \
+ $(SOFT_FLOAT_CONFIG_OPTION)
define Build/InstallDev
$(INSTALL_DIR) $(1)/usr/include/
$(CP) \
$(PKG_INSTALL_DIR)/usr/lib/libasound.{la,so*} \
$(1)/usr/lib/
+ $(CP) \
+ $(PKG_INSTALL_DIR)/usr/lib/libatopology.{la,so*} \
+ $(1)/usr/lib/
$(INSTALL_DATA) \
$(PKG_INSTALL_DIR)/usr/lib/pkgconfig/alsa.pc \
$(1)/usr/lib/pkgconfig/
$(CP) \
$(PKG_INSTALL_DIR)/usr/lib/libasound.so.* \
$(1)/usr/lib/
+ $(CP) \
+ $(PKG_INSTALL_DIR)/usr/lib/libatopology.so.* \
+ $(1)/usr/lib/
$(INSTALL_DIR) $(1)/usr/share/alsa/{cards,pcm}
$(INSTALL_DATA) \
$(1)/usr/share/alsa/cards/
endef
+define Package/aserver/install
+ $(INSTALL_DIR) $(1)/usr/bin
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/aserver $(1)/usr/bin
+endef
+
$(eval $(call BuildPackage,alsa-lib))
+$(eval $(call BuildPackage,aserver))
--- a/src/Makefile.in
+++ b/src/Makefile.in
-@@ -493,7 +493,7 @@ clean-libLTLIBRARIES:
+@@ -490,7 +490,7 @@ clean-libLTLIBRARIES:
}
libasound.la: $(libasound_la_OBJECTS) $(libasound_la_DEPENDENCIES) $(EXTRA_libasound_la_DEPENDENCIES)
--- /dev/null
+--- a/src/pcm/pcm_shm.c
++++ b/src/pcm/pcm_shm.c
+@@ -45,6 +45,14 @@
+ #include <netdb.h>
+ #include "aserver.h"
+
++#if _POSIX_C_SOURCE >= 200809L
++#define usleep(a) \
++ do { \
++ const struct timespec req = {0, a * 1000}; \
++ nanosleep(&req, NULL); \
++ } while(0)
++#endif
++
+ #ifndef PIC
+ /* entry for static linking */
+ const char *_snd_module_pcm_shm = "";
+--- a/src/ucm/ucm_local.h
++++ b/src/ucm/ucm_local.h
+@@ -53,6 +53,14 @@
+ #define SEQUENCE_ELEMENT_TYPE_CSET_TLV 6
+ #define SEQUENCE_ELEMENT_TYPE_CMPT_SEQ 7
+
++#if _POSIX_C_SOURCE >= 200809L
++#define usleep(a) \
++ do { \
++ const struct timespec req = {0, a * 1000}; \
++ nanosleep(&req, NULL); \
++ } while(0)
++#endif
++
+ struct ucm_value {
+ struct list_head list;
+ char *name;
PKG_NAME:=avahi
PKG_VERSION:=0.8
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://github.com/lathiat/avahi/releases/download/v$(PKG_VERSION) \
$(INSTALL_DIR) $(1)/usr/lib/pkgconfig
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/* $(1)/usr/lib/pkgconfig/
$(SED) 's,/usr/lib,$$$${exec_prefix}/lib,g' $(1)/usr/lib/pkgconfig/avahi-core.pc
+ $(SED) 's,/usr/lib,$$$${exec_prefix}/lib,g' $(1)/usr/lib/pkgconfig/avahi-client.pc
ifneq ($(CONFIG_PACKAGE_libavahi-compat-libdnssd),)
ifeq ($(BUILD_VARIANT),dbus)
- $(SED) 's,/usr/lib,$$$${exec_prefix}/lib,g' $(1)/usr/lib/pkgconfig/avahi-client.pc
$(SED) 's,/usr/lib,$$$${exec_prefix}/lib,g' $(1)/usr/lib/pkgconfig/avahi-compat-libdns_sd.pc
endif
endif
PKG_INSTALL:=1
PKG_BUILD_PARALLEL:=0
-PKG_BUILD_DEPENDS:=gettext-full/host
include $(INCLUDE_DIR)/package.mk
PKG_NAME:=h2o
PKG_VERSION:=2.2.6
-PKG_RELEASE:=4
+PKG_RELEASE:=5
PKG_SOURCE_URL:=https://codeload.github.com/h2o/h2o/tar.gz/v${PKG_VERSION}?
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
--- /dev/null
+--- a/deps/neverbleed/neverbleed.c
++++ b/deps/neverbleed/neverbleed.c
+@@ -1486,6 +1486,7 @@ int neverbleed_init(neverbleed_t *nb, char *errbuf)
+ close(pipe_fds[0]);
+ pipe_fds[0] = -1;
+
++#ifndef OPENSSL_NO_ENGINE
+ /* setup engine */
+ if ((nb->engine = ENGINE_new()) == NULL || !ENGINE_set_id(nb->engine, "neverbleed") ||
+ !ENGINE_set_name(nb->engine, "privilege separation software engine") || !ENGINE_set_RSA(nb->engine, rsa_method)
+@@ -1497,6 +1498,7 @@ int neverbleed_init(neverbleed_t *nb, char *errbuf)
+ goto Fail;
+ }
+ ENGINE_add(nb->engine);
++#endif
+
+ /* setup thread key */
+ pthread_key_create(&nb->thread_key, dispose_thread_data);
+@@ -1515,7 +1517,9 @@ Fail:
+ if (listen_fd != -1)
+ close(listen_fd);
+ if (nb->engine != NULL) {
++#ifndef OPENSSL_NO_ENGINE
+ ENGINE_free(nb->engine);
++#endif
+ nb->engine = NULL;
+ }
+ return -1;
PKG_NAME:=libcgroup
PKG_VERSION:=0.41
-PKG_RELEASE:=1
-PKG_LICENSE:=LGPL
-PKG_LICENSE_FILES:=COPYING
+PKG_RELEASE:=2
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=@SF/libcg
PKG_HASH:=e4e38bdc7ef70645ce33740ddcca051248d56b53283c0dc6d404e17706f6fb51
+
PKG_MAINTAINER:=Daniel Danzberger <daniel@dd-wrt.com>
+PKG_LICENSE:=LGPL-2.1-or-later
+PKG_LICENSE_FILES:=COPYING
+PKG_INSTALL:=1
PKG_BUILD_PARALLEL:=1
-PKG_FIXUP:=autoreconf
include $(INCLUDE_DIR)/package.mk
TITLE:=CGroup config and exec library
SECTION:=libs
CATEGORY:=Libraries
- DEPENDS:=+musl-fts +@KERNEL_CGROUPS
+ DEPENDS:=+USE_MUSL:musl-fts +@KERNEL_CGROUPS
endef
define Package/cgroup-tools
Helpers utils for working with cgroups.
endef
-CONFIGURE_ARGS += --enable-tools \
- --enable-shared \
- --disable-daemon \
- --disable-pam
+CONFIGURE_ARGS += \
+ --enable-tools \
+ --enable-shared \
+ --disable-daemon \
+ --disable-pam
+
+TARGET_LDFLAGS += $(if $(CONFIG_USE_MUSL),-lfts)
define Build/InstallDev
$(INSTALL_DIR) $(1)/usr/include $(1)/usr/lib $(1)/usr/lib/pkgconfig
- $(CP) $(PKG_BUILD_DIR)/include/libcgroup.h $(1)/usr/include
- $(CP) $(PKG_BUILD_DIR)/include/libcgroup $(1)/usr/include
- $(CP) $(PKG_BUILD_DIR)/src/.libs/libcgroup.so* $(1)/usr/lib
- $(CP) $(PKG_BUILD_DIR)/libcgroup.pc $(1)/usr/lib/pkgconfig/
+ $(CP) $(PKG_INSTALL_DIR)/usr/include/libcgroup.h $(1)/usr/include
+ $(CP) $(PKG_INSTALL_DIR)/usr/include/libcgroup $(1)/usr/include
+ $(CP) $(PKG_INSTALL_DIR)/usr/lib/libcgroup.so* $(1)/usr/lib
+ $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libcgroup.pc $(1)/usr/lib/pkgconfig/
endef
define Package/libcgroup/install
$(INSTALL_DIR) $(1)/usr/lib
- $(CP) $(PKG_BUILD_DIR)/src/.libs/libcgroup.so* $(1)/usr/lib
+ $(CP) $(PKG_INSTALL_DIR)/usr/lib/libcgroup.so* $(1)/usr/lib
endef
define Package/cgroup-tools/install
- $(INSTALL_DIR) $(1)/usr/bin
- $(INSTALL_BIN) $(PKG_BUILD_DIR)/src/tools/.libs/* $(1)/usr/bin
+ $(INSTALL_DIR) $(1)/usr/bin $(1)/usr/sbin
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/* $(1)/usr/bin
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/* $(1)/usr/sbin
endef
$(eval $(call BuildPackage,libcgroup))
+++ /dev/null
-diff --git a/configure.in b/configure.in
-index 75f4a51..f70b37c 100644
---- a/configure.in
-+++ b/configure.in
-@@ -193,6 +193,19 @@ if test x$with_pam = xtrue; then
- header files!])])
- fi
-
-+AC_CHECK_LIB(
-+ [fts],
-+ [fts_open],
-+ [],
-+ [AC_MSG_ERROR([Cannot compile without fts!])]
-+)
-+
-+AC_CHECK_HEADERS(
-+ [fts.h],
-+ [],
-+ [AC_MSG_ERROR([Cannot compile without fts.h])]
-+)
-+
- AC_CONFIG_FILES([Makefile
- tests/Makefile
- tests/tools/testenv.sh
--- /dev/null
+--- a/include/libcgroup/config.h
++++ b/include/libcgroup/config.h
+@@ -5,12 +5,10 @@
+ #error "Only <libcgroup.h> should be included directly."
+ #endif
+
+-#ifndef SWIG
+-#include <features.h>
++#ifdef __cplusplus
++extern "C" {
+ #endif
+
+-__BEGIN_DECLS
+-
+ /**
+ * @defgroup group_config 5. Configuration
+ * @{
+@@ -107,6 +105,8 @@ int cgroup_config_create_template_group(
+ * @}
+ * @}
+ */
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ #endif /*_LIBCGROUP_CONFIG_H*/
+--- a/include/libcgroup/error.h
++++ b/include/libcgroup/error.h
+@@ -5,12 +5,10 @@
+ #error "Only <libcgroup.h> should be included directly."
+ #endif
+
+-#ifndef SWIG
+-#include <features.h>
++#ifdef __cplusplus
++extern "C" {
+ #endif
+
+-__BEGIN_DECLS
+-
+ /**
+ * @defgroup group_errors 6. Error handling
+ * @{
+@@ -99,6 +97,8 @@ int cgroup_get_last_errno(void);
+ * @}
+ * @}
+ */
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ #endif /* _LIBCGROUP_INIT_H */
+--- a/include/libcgroup/groups.h
++++ b/include/libcgroup/groups.h
+@@ -6,12 +6,13 @@
+ #endif
+
+ #ifndef SWIG
+-#include <features.h>
+ #include <sys/types.h>
+ #include <stdbool.h>
+ #endif
+
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+
+ /**
+ * Flags for cgroup_delete_cgroup_ext().
+@@ -577,6 +578,8 @@ char *cgroup_get_cgroup_name(struct cgroup *cgroup);
+ */
+
+
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ #endif /* _LIBCGROUP_GROUPS_H */
+--- a/include/libcgroup/init.h
++++ b/include/libcgroup/init.h
+@@ -5,12 +5,10 @@
+ #error "Only <libcgroup.h> should be included directly."
+ #endif
+
+-#ifndef SWIG
+-#include <features.h>
++#ifdef __cplusplus
++extern "C" {
+ #endif
+
+-__BEGIN_DECLS
+-
+ /**
+ * @defgroup group_init 1. Initialization
+ * @{
+@@ -58,6 +56,8 @@ int cgroup_get_subsys_mount_point(const char *controller, char **mount_point);
+ * @}
+ * @}
+ */
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ #endif /* _LIBCGROUP_INIT_H */
+--- a/include/libcgroup/iterators.h
++++ b/include/libcgroup/iterators.h
+@@ -8,10 +8,11 @@
+ #ifndef SWIG
+ #include <sys/types.h>
+ #include <stdio.h>
+-#include <features.h>
+ #endif
+
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+
+ /**
+ * @defgroup group_iterators 3. Iterators
+@@ -423,6 +424,8 @@ int cgroup_get_subsys_mount_point_end(void **handle);
+ * @}
+ */
+
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ #endif /* _LIBCGROUP_ITERATORS_H */
+--- a/include/libcgroup/log.h
++++ b/include/libcgroup/log.h
+@@ -5,13 +5,11 @@
+ #error "Only <libcgroup.h> should be included directly."
+ #endif
+
+-#ifndef SWIG
+-#include <features.h>
+-#endif
+-
+ #include <stdarg.h>
+
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+
+ /**
+ * @defgroup group_log 7. Logging
+@@ -142,6 +140,8 @@ extern int cgroup_parse_log_level_str(const char *levelstr);
+ * @}
+ * @}
+ */
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ #endif /* _LIBCGROUP_LOG_H */
+--- a/include/libcgroup/tasks.h
++++ b/include/libcgroup/tasks.h
+@@ -8,11 +8,12 @@
+ #include <libcgroup/groups.h>
+
+ #ifndef SWIG
+-#include <features.h>
+ #include <stdbool.h>
+ #endif
+
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+
+ /** Flags for cgroup_change_cgroup_uid_gid(). */
+ enum cgflags {
+@@ -204,6 +205,8 @@ int cgroup_register_unchanged_process(pid_t pid, int flags);
+ * @}
+ * @}
+ */
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ #endif /* _LIBCGROUP_TASKS_H */
+--- a/src/daemon/cgrulesengd.h
++++ b/src/daemon/cgrulesengd.h
+@@ -15,9 +15,9 @@
+ #ifndef _CGRULESENGD_H
+ #define _CGRULESENGD_H
+
+-#include <features.h>
+-
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+
+ #include "config.h"
+ #include "libcgroup.h"
+@@ -119,7 +119,9 @@ void cgre_flash_templates(int signum);
+ */
+ void cgre_catch_term(int signum);
+
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ #endif /* _CGRULESENGD_H */
+
+--- a/src/libcgroup-internal.h
++++ b/src/libcgroup-internal.h
+@@ -16,7 +16,9 @@
+
+ #define __LIBCG_INTERNAL
+
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+
+ #include "config.h"
+ #include <fts.h>
+@@ -279,6 +281,8 @@ extern void cgroup_dictionary_iterator_end(void **handle);
+ */
+ int cg_chmod_path(const char *path, mode_t mode, int owner_is_umask);
+
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ #endif
include $(TOPDIR)/rules.mk
PKG_NAME:=libdrm
-PKG_VERSION:=2.4.97
+PKG_VERSION:=2.4.101
PKG_RELEASE:=1
PKG_SOURCE_URL:=https://dri.freedesktop.org/libdrm
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
-PKG_HASH:=77d0ccda3e10d6593398edb70b1566bfe1a23a39bd3da98ace2147692eadd123
-
-PKG_INSTALL:=1
-PKG_BUILD_PARALLEL:=1
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
+PKG_HASH:=ddf31baa8e49473624860bd166ce654dc349873f7a6c7b3305964249315c78a7
PKG_MAINTAINER:=Lucian Cristian <lucian.cristian@gmail.com>
+PKG_LICENSE:=BSD-3-Clause
+
+PKG_INSTALL:=1
+PKG_BUILD_DEPENDS:=meson/host
include $(INCLUDE_DIR)/package.mk
+include ../../devel/meson/meson.mk
define Package/libdrm
SECTION:=libs
of the DRI protocol.
endef
-CONFIGURE_ARGS += \
- --disable-udev \
- --enable-kms \
- --disable-omap-experimental-api \
- --disable-exynos-experimental-api \
- --disable-tegra-experimental-api \
- --disable-cairo-tests \
- --disable-manpages \
- --disable-valgrind
+MESON_ARGS += \
+ -Dlibkms=false \
+ -Dintel=false \
+ -Dradeon=false \
+ -Damdgpu=false \
+ -Dnouveau=false \
+ -Dvmwgfx=false \
+ -Domap=false \
+ -Dexynos=false \
+ -Dfreedreno=false \
+ -Dtegra=false \
+ -Dvc4=false \
+ -Detnaviv=false \
+ -Dcairo-tests=false \
+ -Dman-pages=false \
+ -Dvalgrind=false \
+ -Dfreedreno-kgsl=false \
+ -Dinstall-test-programs=false \
+ -Dudev=false
define Build/InstallDev
$(INSTALL_DIR) \
include $(TOPDIR)/rules.mk
PKG_NAME:=libevdev
-PKG_VERSION:=1.6.0
+PKG_VERSION:=1.9.0
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=https://www.freedesktop.org/software/libevdev/
-PKG_HASH:=f5005c865987d980cc1279b9ec6131b06a89fd9892f649f2a68262b8786ef814
+PKG_HASH:=e7e18a64264f2dea19b6c50a481f8c062529d42919ccda0bc861495bce28eb9e
+PKG_MAINTAINER:=Daniel Golle <daniel@makrotopia.org>
PKG_LICENSE:=MIT
PKG_LICENSE_FILES:=COPYING
-PKG_MAINTAINER:=Daniel Golle <daniel@makrotopia.org>
-PKG_FIXUP:=autoreconf
PKG_INSTALL:=1
+PKG_BUILD_DEPENDS:=meson/host
include $(INCLUDE_DIR)/package.mk
+include ../../devel/meson/meson.mk
define Package/libevdev
SECTION:=libs
evdev devices, thus making direct access unnecessary.
endef
+MESON_ARGS += \
+ -Dtests=disabled \
+ -Ddocumentation=disabled \
+ -Dcoverity=false
+
define Build/InstallDev
$(INSTALL_DIR) $(1)/usr/include
$(CP) $(PKG_INSTALL_DIR)/usr/include/* $(1)/usr/include/
$(INSTALL_DIR) $(1)/usr/lib
- $(CP) $(PKG_INSTALL_DIR)/usr/lib/*.{a,so*} $(1)/usr/lib/
+ $(CP) $(PKG_INSTALL_DIR)/usr/lib/*.so* $(1)/usr/lib/
$(INSTALL_DIR) $(1)/usr/lib/pkgconfig
$(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/* $(1)/usr/lib/pkgconfig/
endef
+++ /dev/null
---- a/test/test-libevdev-init.c
-+++ b/test/test-libevdev-init.c
-@@ -32,6 +32,11 @@
- #include <libevdev/libevdev-uinput.h>
- #include "test-common.h"
-
-+/* work-around CLOCK_MONOTONIC_RAW definition missing in uClibc */
-+#ifndef CLOCK_MONOTONIC_RAW
-+#define CLOCK_MONOTONIC_RAW 4
-+#endif
-+
- START_TEST(test_new_device)
- {
- struct libevdev *dev;
include $(TOPDIR)/rules.mk
PKG_NAME:=libffi
-PKG_VERSION:=3.2.1
-PKG_RELEASE:=4
+PKG_VERSION:=3.3
+PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=ftp://sourceware.org/pub/libffi/
-PKG_HASH:=d06ebb8e1d9a22d19e38d63fdb83954253f39bedc5d46232a05645685722ca37
+PKG_SOURCE_URL:=https://sourceware.org/pub/libffi/
+PKG_HASH:=72fba7922703ddfa7a028d513ac15a85c8d54c8d67f55fa5a4802885dc652056
PKG_LICENSE:=MIT
PKG_LICENSE_FILES:=LICENSE
-PKG_FIXUP:=autoreconf
PKG_INSTALL:=1
+PKG_BUILD_PARALLEL:=1
PKG_USE_MIPS16:=0
include $(INCLUDE_DIR)/package.mk
between the two languages.
endef
+HOST_CONFIGURE_ARGS += \
+ --disable-debug \
+ --disable-docs \
+ --disable-multi-os-directory \
+ --disable-raw-api \
+ --disable-structs
+
+CONFIGURE_ARGS += \
+ --disable-debug \
+ --disable-docs \
+ --disable-multi-os-directory \
+ --disable-raw-api \
+ --disable-structs
+
define Build/InstallDev
$(INSTALL_DIR) $(1)/usr/lib/pkgconfig
$(CP) \
$(CP) \
$(PKG_INSTALL_DIR)/usr/lib/pkgconfig/* \
$(1)/usr/lib/pkgconfig/
- sed -i -e 's,includedir=.*,includedir=$$$${prefix}/include,' $(1)/usr/lib/pkgconfig/libffi.pc
+ $(SED) 's,includedir=.*,includedir=$$$${prefix}/include,' $(1)/usr/lib/pkgconfig/libffi.pc
$(INSTALL_DIR) $(1)/usr/include
$(CP) \
- $(PKG_INSTALL_DIR)/usr/lib/$(PKG_NAME)-$(PKG_VERSION)/include/*.h \
+ $(PKG_INSTALL_DIR)/usr/include/*.h \
$(1)/usr/include/
endef
$(1)/usr/lib/
endef
-define Host/Install
- $(call Host/Install/Default)
- # Adjust host libffi headers ; the default rule does
- # not seem to install them to the proper include folder
- $(INSTALL_DIR) $(STAGING_DIR_HOSTPKG)/include
- $(CP) \
- $(STAGING_DIR_HOSTPKG)/lib/libffi-$(PKG_VERSION)/include/*.h \
- $(STAGING_DIR_HOSTPKG)/include
-endef
-
$(eval $(call HostBuild))
$(eval $(call BuildPackage,libffi))
+++ /dev/null
-diff -rupN libffi-3.2.1.orig/configure libffi-3.2.1/configure
---- libffi-3.2.1.orig/configure 2014-11-12 12:59:57.000000000 +0100
-+++ libffi-3.2.1/configure 2016-05-11 17:14:58.606625260 +0200
-@@ -18725,12 +18725,6 @@ if test "x$GCC" = "xyes"; then
- toolexecdir="${libdir}"/gcc-lib/'$(target_alias)'
- toolexeclibdir="${libdir}"
- fi
-- multi_os_directory=`$CC $CFLAGS -print-multi-os-directory`
-- case $multi_os_directory in
-- .) ;; # Avoid trailing /.
-- ../*) toolexeclibdir=$toolexeclibdir/$multi_os_directory ;;
-- esac
--
- else
- toolexeclibdir="${libdir}"
- fi
-diff -rupN libffi-3.2.1.orig/configure.ac libffi-3.2.1/configure.ac
---- libffi-3.2.1.orig/configure.ac 2014-11-12 12:56:51.000000000 +0100
-+++ libffi-3.2.1/configure.ac 2016-05-11 17:15:19.694626266 +0200
-@@ -601,11 +601,6 @@ if test "x$GCC" = "xyes"; then
- toolexecdir="${libdir}"/gcc-lib/'$(target_alias)'
- toolexeclibdir="${libdir}"
- fi
-- multi_os_directory=`$CC $CFLAGS -print-multi-os-directory`
-- case $multi_os_directory in
-- .) ;; # Avoid trailing /.
-- ../*) toolexeclibdir=$toolexeclibdir/$multi_os_directory ;;
-- esac
- AC_SUBST(toolexecdir)
- else
- toolexeclibdir="${libdir}"
-From bfeac1b2d18b12c1c3c64a41a09c90f93d0ed4ca Mon Sep 17 00:00:00 2001
-From: Yousong Zhou <yszhou4tech@gmail.com>
-Date: Mon, 15 Aug 2016 15:00:13 +0800
-Subject: [PATCH] mips: fix MIPS softfloat build issue
+From 76c0cfea70f78586231d7994492396eebfb12d5f Mon Sep 17 00:00:00 2001
+From: Carl Hurd <carl.m.hurd@gmail.com>
+Date: Fri, 29 Nov 2019 14:46:11 -0500
+Subject: [PATCH] Fixed missed #ifndef for __mips_soft_float (#442)
-The patch for o32.S is taken from OpenWrt packages repo 3a7a4bf "libffi:
-fix MIPS softfloat build issue with current binutils"
-
-Signed-off-by: Felix Fietkau <nbd@openwrt.org>
-Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
+Thank you!
---
- src/mips/n32.S | 17 +++++++++++++++++
- src/mips/o32.S | 17 +++++++++++++++++
- 2 files changed, 34 insertions(+)
+ src/mips/o32.S | 2 ++
+ 1 file changed, 2 insertions(+)
-diff --git a/src/mips/n32.S b/src/mips/n32.S
-index c6985d3..8f25994 100644
---- a/src/mips/n32.S
-+++ b/src/mips/n32.S
-@@ -107,6 +107,16 @@ loadregs:
-
- REG_L t6, 3*FFI_SIZEOF_ARG($fp) # load the flags word into t6.
-
-+#ifdef __mips_soft_float
-+ REG_L a0, 0*FFI_SIZEOF_ARG(t9)
-+ REG_L a1, 1*FFI_SIZEOF_ARG(t9)
-+ REG_L a2, 2*FFI_SIZEOF_ARG(t9)
-+ REG_L a3, 3*FFI_SIZEOF_ARG(t9)
-+ REG_L a4, 4*FFI_SIZEOF_ARG(t9)
-+ REG_L a5, 5*FFI_SIZEOF_ARG(t9)
-+ REG_L a6, 6*FFI_SIZEOF_ARG(t9)
-+ REG_L a7, 7*FFI_SIZEOF_ARG(t9)
-+#else
- and t4, t6, ((1<<FFI_FLAG_BITS)-1)
- REG_L a0, 0*FFI_SIZEOF_ARG(t9)
- beqz t4, arg1_next
-@@ -193,6 +203,7 @@ arg7_next:
- arg8_doublep:
- l.d $f19, 7*FFI_SIZEOF_ARG(t9)
- arg8_next:
-+#endif
-
- callit:
- # Load the function pointer
-@@ -214,6 +225,7 @@ retint:
- b epilogue
-
- retfloat:
-+#ifndef __mips_soft_float
- bne t6, FFI_TYPE_FLOAT, retdouble
- jal t9
- REG_L t4, 4*FFI_SIZEOF_ARG($fp)
-@@ -272,6 +284,7 @@ retstruct_f_d:
- s.s $f0, 0(t4)
- s.d $f2, 8(t4)
- b epilogue
-+#endif
-
- retstruct_d_soft:
- bne t6, FFI_TYPE_STRUCT_D_SOFT, retstruct_f_soft
-@@ -429,6 +442,7 @@ ffi_closure_N32:
- REG_S a6, A6_OFF2($sp)
- REG_S a7, A7_OFF2($sp)
-
-+#ifndef __mips_soft_float
- # Store all possible float/double registers.
- s.d $f12, F12_OFF2($sp)
- s.d $f13, F13_OFF2($sp)
-@@ -438,6 +452,7 @@ ffi_closure_N32:
- s.d $f17, F17_OFF2($sp)
- s.d $f18, F18_OFF2($sp)
- s.d $f19, F19_OFF2($sp)
-+#endif
-
- # Call ffi_closure_mips_inner_N32 to do the real work.
- LA t9, ffi_closure_mips_inner_N32
-@@ -458,6 +473,7 @@ cls_retint:
- b cls_epilogue
-
- cls_retfloat:
-+#ifndef __mips_soft_float
- bne v0, FFI_TYPE_FLOAT, cls_retdouble
- l.s $f0, V0_OFF2($sp)
- b cls_epilogue
-@@ -500,6 +516,7 @@ cls_retstruct_f_d:
- l.s $f0, V0_OFF2($sp)
- l.d $f2, V1_OFF2($sp)
- b cls_epilogue
-+#endif
-
- cls_retstruct_small2:
- REG_L v0, V0_OFF2($sp)
diff --git a/src/mips/o32.S b/src/mips/o32.S
-index eb27981..429dd0a 100644
+index 44e74cb9..799139b2 100644
--- a/src/mips/o32.S
+++ b/src/mips/o32.S
-@@ -82,13 +82,16 @@ sixteen:
-
- ADDU $sp, 4 * FFI_SIZEOF_ARG # adjust $sp to new args
-
-+#ifndef __mips_soft_float
- bnez t0, pass_d # make it quick for int
-+#endif
- REG_L a0, 0*FFI_SIZEOF_ARG($sp) # just go ahead and load the
- REG_L a1, 1*FFI_SIZEOF_ARG($sp) # four regs.
- REG_L a2, 2*FFI_SIZEOF_ARG($sp)
- REG_L a3, 3*FFI_SIZEOF_ARG($sp)
- b call_it
-
-+#ifndef __mips_soft_float
- pass_d:
- bne t0, FFI_ARGS_D, pass_f
- l.d $f12, 0*FFI_SIZEOF_ARG($sp) # load $fp regs from args
-@@ -130,6 +133,7 @@ pass_f_d:
- # bne t0, FFI_ARGS_F_D, call_it
- l.s $f12, 0*FFI_SIZEOF_ARG($sp) # load $fp regs from args
- l.d $f14, 2*FFI_SIZEOF_ARG($sp) # passing double and float
-+#endif
-
- call_it:
- # Load the function pointer
-@@ -158,14 +162,23 @@ retfloat:
- bne t2, FFI_TYPE_FLOAT, retdouble
- jalr t9
- REG_L t0, SIZEOF_FRAME + 4*FFI_SIZEOF_ARG($fp)
-+#ifndef __mips_soft_float
- s.s $f0, 0(t0)
-+#else
-+ REG_S v0, 0(t0)
-+#endif
- b epilogue
-
- retdouble:
- bne t2, FFI_TYPE_DOUBLE, noretval
- jalr t9
- REG_L t0, SIZEOF_FRAME + 4*FFI_SIZEOF_ARG($fp)
-+#ifndef __mips_soft_float
- s.d $f0, 0(t0)
-+#else
-+ REG_S v1, 4(t0)
-+ REG_S v0, 0(t0)
-+#endif
- b epilogue
-
- noretval:
-@@ -261,9 +274,11 @@ $LCFI7:
+@@ -282,9 +282,11 @@ $LCFI12:
li $13, 1 # FFI_O32
bne $16, $13, 1f # Skip fp save if FFI_O32_SOFT_FLOAT
s.d $f12, FA_0_0_OFF2($fp)
s.d $f14, FA_1_0_OFF2($fp)
+#endif
- 1:
- # Call ffi_closure_mips_inner_O32 to do the work.
- la t9, ffi_closure_mips_inner_O32
-@@ -281,6 +296,7 @@ $LCFI7:
- li $13, 1 # FFI_O32
- bne $16, $13, 1f # Skip fp restore if FFI_O32_SOFT_FLOAT
-
-+#ifndef __mips_soft_float
- li $9, FFI_TYPE_FLOAT
- l.s $f0, V0_OFF2($fp)
- beq $8, $9, closure_done
-@@ -288,6 +304,7 @@ $LCFI7:
- li $9, FFI_TYPE_DOUBLE
- l.d $f0, V0_OFF2($fp)
- beq $8, $9, closure_done
-+#endif
- 1:
- REG_L $3, V1_OFF2($fp)
- REG_L $2, V0_OFF2($fp)
---
-2.6.4
-
+ 1:
+ # prepare arguments for ffi_closure_mips_inner_O32
+ REG_L a0, 4($15) # cif
include $(TOPDIR)/rules.mk
PKG_NAME:=libfmt
-PKG_VERSION:=6.1.2
+PKG_VERSION:=6.2.0
PKG_RELEASE:=1
PKG_SOURCE_NAME:=fmt
PKG_SOURCE:=$(PKG_SOURCE_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/fmtlib/$(PKG_SOURCE_NAME)/tar.gz/$(PKG_VERSION)?
-PKG_HASH:=1cafc80701b746085dddf41bd9193e6d35089e1c6ec1940e037fcb9c98f62365
+PKG_HASH:=fe6e4ff397e01c379fc4532519339c93da47404b9f6674184a458a9967a76575
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_SOURCE_NAME)-$(PKG_VERSION)
PKG_MAINTAINER:=Othmar Truniger <github@truniger.ch>
PKG_NAME:=libgd
PKG_VERSION:=2.3.0
-PKG_RELEASE:=1
+PKG_RELEASE:=3
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=https://github.com/$(PKG_NAME)/$(PKG_NAME)/releases/download/gd-$(PKG_VERSION)/
PKG_LICENSE_FILES:=COPYING
PKG_CPE_ID:=cpe:/a:libgd:libgd
-CMAKE_INSTALL:=1
PKG_BUILD_PARALLEL:=1
include $(INCLUDE_DIR)/package.mk
endif
+define Build/InstallDev
+ $(call Build/InstallDev/cmake,$(1))
+ $(SED) 's,/usr/lib,$(STAGING_DIR)/usr/lib,g' $(1)/usr/lib/pkgconfig/gdlib.pc
+ $(SED) 's,/usr/include,$(STAGING_DIR)/include,g' $(1)/usr/lib/pkgconfig/gdlib.pc
+endef
+
define Package/libgd/install
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libgd.so* $(1)/usr/lib/
--- /dev/null
+From 635dd9a3065ed88e1741e6b963044b80e913f96a Mon Sep 17 00:00:00 2001
+From: Remi Collet <remi@remirepo.net>
+Date: Tue, 24 Mar 2020 08:01:01 +0100
+Subject: [PATCH] distribute getlib.sh
+
+---
+ config/getlib.sh | 42 ++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 42 insertions(+)
+ create mode 100755 config/getlib.sh
+
+diff --git a/config/getlib.sh b/config/getlib.sh
+new file mode 100755
+index 0000000..4835cf6
+--- /dev/null
++++ b/config/getlib.sh
+@@ -0,0 +1,42 @@
++#!/bin/sh
++
++GETVER="${0%/*}/getver.pl"
++GDLIB_MAJOR=$("${GETVER}" MAJOR)
++GDLIB_MINOR=$("${GETVER}" MINOR)
++GDLIB_REVISION=$("${GETVER}" RELEASE)
++
++# Dynamic library version information
++# See http://www.gnu.org/software/libtool/manual/libtool.html#Updating-version-info
++
++GDLIB_LT_CURRENT=3
++# This is the version where the soname (current above) changes. We use it
++# to reset the revision base back to zero. It's a bit of a pain, but some
++# systems restrict the revision range below to [0..255] (like OS X).
++GDLIB_PREV_MAJOR=2
++GDLIB_PREV_MINOR=2
++# This isn't 100% correct, but it tends to be a close enough approximation
++# for how we manage the codebase. It's rare to do a release that doesn't
++# modify the library since this project is centered around the library.
++GDLIB_LT_REVISION=$(( ((GDLIB_MAJOR - GDLIB_PREV_MAJOR) << 6) | ((GDLIB_MINOR - GDLIB_PREV_MINOR) << 3) | GDLIB_REVISION ))
++GDLIB_LT_AGE=0
++
++# The first three fields we feed into libtool and the OS target determines how
++# they get used. The last two fields we feed into cmake. We use the same rules
++# as Linux SONAME versioning in libtool, but cmake should handle it for us.
++case $1 in
++CURRENT)
++ printf '%s' "${GDLIB_LT_CURRENT}"
++ ;;
++REVISION)
++ printf '%s' "${GDLIB_LT_REVISION}"
++ ;;
++AGE)
++ printf '%s' "${GDLIB_LT_AGE}"
++ ;;
++VERSION)
++ printf '%s' "$(( GDLIB_LT_CURRENT - GDLIB_LT_AGE )).${GDLIB_LT_AGE}.${GDLIB_LT_REVISION}"
++ ;;
++SONAME)
++ printf '%s' "$(( GDLIB_LT_CURRENT - GDLIB_LT_AGE ))"
++ ;;
++esac
+--
+2.25.1
+
PKG_INSTALL:=1
PKG_BUILD_PARALLEL:=1
+PYTHON3_PKG_BUILD:=0
include $(INCLUDE_DIR)/package.mk
include ../../lang/python/python3-package.mk
PKG_BUILD_DEPENDS:=node swig/host node/host
CMAKE_INSTALL:=1
PKG_USE_MIPS16:=0
+PYTHON3_PKG_BUILD:=0
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/cmake.mk
-include $(TOPDIR)/feeds/packages/lang/python/python3-package.mk
+include ../../lang/python/python3-package.mk
CMAKE_OPTIONS=-DENABLEEXAMPLES=0 \
-DFIRMATA=ON
include $(TOPDIR)/rules.mk
PKG_NAME:=re2
-PKG_VERSION:=2019-06-01
-PKG_RELEASE:=2
+PKG_VERSION:=2020-04-01
+PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/google/re2/tar.gz/$(PKG_VERSION)?
-PKG_HASH:=02b7d73126bd18e9fbfe5d6375a8bb13fadaf8e99e48cbb062e4500fc18e8e2e
+PKG_HASH:=98794bc5416326817498384a9c43cbb5a406bab8da9f84f83c39ecad43ed5cea
+PKG_MAINTAINER:=
PKG_LICENSE:=BSD-3-Clause
PKG_LICENSE_FILES:=LICENSE
+CMAKE_INSTALL:=1
+PKG_BUILD_PARALLEL:=1
+
include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/host-build.mk
include $(INCLUDE_DIR)/cmake.mk
-PKG_BUILD_PARALLEL:=1
-HOST_BUILD_PARALLEL:=1
-CMAKE_OPTIONS:= \
- -DBUILD_SHARED_LIBS=$(if $(CONFIG_RE2_SHARED),ON,OFF)
-CMAKE_INSTALL:=1
-
define Package/re2
- SECTION:=libs
- CATEGORY:=Libraries
- DEPENDS:=+libstdcpp
- TITLE:=RE2 is a fast, safe, thread-friendly alternative to backtracking regular expression engines like those used in PCRE, Perl, and Python. It is a C++ library.
- URL:=https://github.com/google/re2
- MAINTAINER:=Amol Bhave <ambhave@fb.com>
-endef
-
-define Package/re2/config
- choice
- prompt "Compile RE2 library."
- default RE2_SHARED
- help
- Choose which version to compile.
- -> Shared:
- - Only Shared lib will be compiled.
- -> Static:
- - Only Static lib will be compiled.
-
- config RE2_SHARED
- bool "Shared"
-
- config RE2_STATIC
- bool "Static"
- endchoice
+ SECTION:=libs
+ CATEGORY:=Libraries
+ DEPENDS:=+libstdcpp
+ TITLE:=RE2 - C++ regular expression library
+ URL:=https://github.com/google/re2
+ ABI_VERSION:=6
endef
define Package/re2/description
- RE2 is a fast, safe, thread-friendly alternative to backtracking regular
- expression engines like those used in PCRE, Perl, and Python.
- It is a C++ library.
+ RE2 is a fast, safe, thread-friendly alternative to backtracking regular
+ expression engines like those used in PCRE, Perl, and Python.
+ It is a C++ library.
endef
+CMAKE_OPTIONS += \
+ -DBUILD_SHARED_LIBS=ON
+
+TARGET_LDFLAGS += \
+ $(if $(CONFIG_USE_GLIBC),-lm) \
+ -Wl,--as-needed,--gc-sections
+
define Package/re2/install
$(INSTALL_DIR) $(1)/usr/lib
- $(CP) $(PKG_INSTALL_DIR)/usr/lib/libre2.so* $(1)/usr/lib/
+ $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/libre2.so $(1)/usr/lib/
endef
$(eval $(call BuildPackage,re2))
-$(eval $(call HostBuild))
--- /dev/null
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -38,9 +38,9 @@ if(CMAKE_CXX_COMPILER_ID MATCHES "MSVC")
+ add_compile_options(/utf-8)
+ elseif(CYGWIN OR MINGW)
+ # See https://stackoverflow.com/questions/38139631 for details.
+- add_compile_options(-std=gnu++11)
++ add_compile_options(-std=gnu++17)
+ elseif(CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang")
+- add_compile_options(-std=c++11)
++ add_compile_options(-std=c++17)
+ endif()
+
+ if(WIN32)
+--- a/re2.pc
++++ b/re2.pc
+@@ -6,5 +6,5 @@ libdir=@libdir@
+ Name: re2
+ Description: RE2 is a fast, safe, thread-friendly regular expression engine.
+ Version: 0.0.0
+-Cflags: -std=c++11 -pthread -I${includedir}
++Cflags: -std=c++17 -pthread -I${includedir}
+ Libs: -pthread -L${libdir} -lre2
PKG_NAME:=libsearpc
PKG_VERSION:=3.2.0
-PKG_RELEASE:=2
+PKG_RELEASE:=4
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=https://codeload.github.com/haiwen/libsearpc/tar.gz/v$(PKG_VERSION)?
-PKG_HASH:=c479d85e405674c3450eac040abe143af5a9fafe7f1b74926e2a05280ab5420e
+PKG_SOURCE_PROTO:=git
+PKG_SOURCE_URL:=https://github.com/haiwen/libsearpc.git
+PKG_SOURCE_VERSION:=d1fd7518a20b25766ff98d6fde6e40c63626ca0d
+PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)-$(call version_abbrev,$(PKG_SOURCE_VERSION))
+PKG_MIRROR_HASH:=ee8b8b50b480afbcb71bd73cd9c2a96cfa72e9dafaf5773574adbf348e49a0d4
PKG_MAINTAINER:=Alexandru Ardelean <ardeleanalex@gmail.com>, Jeffery To <jeffery.to@gmail.com>
PKG_LICENSE:=Apache-2.0
PKG_LICENSE_FILES:=LICENSE.txt
PKG_FIXUP:=autoreconf
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_SOURCE_SUBDIR)
PKG_BUILD_PARALLEL:=1
PKG_INSTALL:=1
+PYTHON3_PKG_BUILD:=0
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/nls.mk
SUBMENU:=Python
TITLE:=Python bindings for Searpc
DEPENDS:=+libsearpc +python3-light +python3-logging
- VARIANT:=python3
endef
define Package/python3-searpc/description
$(call Package/libsearpc/description)
- This package contains the Python bindings for Searpc.
+ This package contains Python bindings for Searpc.
endef
CONFIGURE_ARGS += \
--disable-compile-demo \
--disable-server-pkg
+CONFIGURE_VARS += \
+ PYTHON="$(HOST_PYTHON3_BIN)"
+
define Build/InstallDev
$(INSTALL_DIR) $(1)/usr/{bin,include}
$(INSTALL_DIR) $(1)/usr/lib/pkgconfig
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libsearpc.so* $(1)/usr/lib/
endef
-define Py3Build/Compile
- rm -rf $(PKG_INSTALL_DIR)$(PYTHON3_PKG_DIR)/pysearpc
- $(INSTALL_DIR) $(PKG_INSTALL_DIR)$(PYTHON3_PKG_DIR)/pysearpc
- $(INSTALL_DATA) $(PKG_BUILD_DIR)/pysearpc/*.py $(PKG_INSTALL_DIR)$(PYTHON3_PKG_DIR)/pysearpc/
- rm -f $(PKG_INSTALL_DIR)$(PYTHON3_PKG_DIR)/pysearpc/{pygencode,test_pysearpc}.py
-endef
-
Py3Package/python3-searpc/install:=:
$(eval $(call BuildPackage,libsearpc))
+++ /dev/null
-From 9b2e2dc65213fb22ed400dc54e4c2279564df62b Mon Sep 17 00:00:00 2001
-From: ly1217 <yu.liu@seafile.com>
-Date: Thu, 31 Oct 2019 00:31:38 -0700
-Subject: [PATCH] Fix memory leak.
-
----
- lib/searpc-named-pipe-transport.c | 1 +
- 1 file changed, 1 insertion(+)
-
---- a/lib/searpc-named-pipe-transport.c
-+++ b/lib/searpc-named-pipe-transport.c
-@@ -377,6 +377,7 @@ void searpc_free_client_with_pipe_transp
- close(pipe_client->pipe_fd);
- #endif
- g_free (pipe_client);
-+ g_free (data->service);
- g_free (data);
- searpc_client_free (client);
- }
--- /dev/null
+--- a/pysearpc/Makefile.am
++++ b/pysearpc/Makefile.am
+@@ -1,4 +1,4 @@
+
+ pysearpcdir=${pyexecdir}/pysearpc
+
+-pysearpc_PYTHON = __init__.py client.py common.py errors.py named_pipe.py server.py transport.py utils.py
++pysearpc_DATA = __init__.py client.py common.py errors.py named_pipe.py server.py transport.py utils.py
PKG_NAME:=libshout
PKG_VERSION:=2.4.3
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://downloads.us.xiph.org/releases/libshout/
PKG_HASH:=0d8af55d1141bf90710bcd41a768c9cc5adb251502a0af1dd22c8da215d40dfe
PKG_MAINTAINER:=Ted Hess <thess@kitschensync.net>
-PKG_LICENSE:=LGPL-2.0-or-later
+PKG_LICENSE:=LGPL-2.1-or-later
PKG_LICENSE_FILES:=COPYING
PKG_CPE_ID:=cpe:/a:libshout:libshout
--- /dev/null
+--- a/examples/nonblocking.c
++++ b/examples/nonblocking.c
+@@ -70,8 +70,10 @@ int main()
+ if (ret == SHOUTERR_BUSY)
+ printf("Connection pending...\n");
+
++ const struct timespec req = {0, 10 * 1000 * 1000};
++ struct timespec rem;
+ while (ret == SHOUTERR_BUSY) {
+- usleep(10000);
++ nanosleep(&req, &rem);
+ ret = shout_get_connected(shout);
+ }
+
include $(TOPDIR)/rules.mk
PKG_NAME:=libssh
-PKG_VERSION:=0.9.3
-PKG_RELEASE:=3
+PKG_VERSION:=0.9.4
+PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=https://www.libssh.org/files/0.9/
-PKG_HASH:=2c8b5f894dced58b3d629f16f3afa6562c20b4bdc894639163cf657833688f0c
+PKG_HASH:=150897a569852ac05aac831dc417a7ba8e610c86ca2e0154a99c6ade2486226b
PKG_MAINTAINER:=Mislav Novakovic <mislav.novakovic@sartura.hr>
PKG_LICENSE:=LGPL-2.1-or-later BSD-2-Clause
CMAKE_BINARY_SUBDIR:=build
PKG_USE_MIPS16:=0
PKG_BUILD_PARALLEL:=1
+PYTHON3_PKG_BUILD:=0
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/cmake.mk
-include $(TOPDIR)/feeds/packages/lang/python/python3-package.mk
+include ../../lang/python/python3-package.mk
UPM_MODULES:= \
a110x abp ad8232 adafruitms1438 adafruitss adc121c021 adis16448 ads1x15 adxl335 adxl345 \
include $(TOPDIR)/rules.mk
PKG_NAME:=libupnp
-PKG_VERSION:=1.8.6
-PKG_RELEASE:=2
+PKG_VERSION:=1.8.7
+PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=@SF/pupnp
-PKG_HASH:=65faf240f8ccee50cc0e7fe7fb21dcd79f743fc227a9b652b091f50f6956c2c7
+PKG_HASH:=e38c69b2b67322e67cd53680db9b02c7c1f720a47a3cd626fd89d57d2dca93b8
PKG_MAINTAINER:=Ted Hess <thess@kitschensync.net>
PKG_LICENSE:=BSD-3-Clause
include $(TOPDIR)/rules.mk
PKG_NAME:=v4l-utils
-PKG_VERSION:=1.16.6
-PKG_RELEASE:=2
+PKG_VERSION:=1.16.8
+PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=https://www.linuxtv.org/downloads/v4l-utils
-PKG_HASH:=f9dac1878e3d5636eab7f56bb209fdfc66b94ee8a2aae54dcb4282fe63a678ae
+PKG_HASH:=84346bf200bd30efb8a80a65ded1b81d39ae7e0ff2272e98f478b4eee8f40d13
PKG_MAINTAINER:=Ted Hess <thess@kitschensync.net>
-PKG_LICENSE:=GPL-2.0 LGPL-2.1
-PKG_LICENSE_FILES:=COPYING COPYING.libv4l
PKG_USE_MIPS16:=0
PKG_FIXUP:=autoreconf
PKG_INSTALL:=1
+PKG_BUILD_PARALLEL:=1
-PKG_BUILD_DEPENDS:=argp-standalone
+PKG_BUILD_DEPENDS:=!USE_GLIBC:argp-standalone
include $(INCLUDE_DIR)/uclibc++.mk
include $(INCLUDE_DIR)/package.mk
CATEGORY:=Libraries
TITLE+= wrapper libraries
DEPENDS := +libpthread +librt $(ICONV_DEPENDS)
+ LICENSE:=LGPL-2.1-or-later
+ LICENSE_FILES:=COPYING.libv4l
endef
define Package/libv4l/description
SECTION:=utils
CATEGORY:=Utilities
TITLE+= utilities
- DEPENDS := +libv4l $(CXX_DEPENDS) $(ICONV_DEPENDS) $(INTL_DEPENDS)
+ DEPENDS:= +libv4l $(CXX_DEPENDS) $(ICONV_DEPENDS) $(INTL_DEPENDS)
+ LICENSE:=GPL-2.0-or-later
+ LICENSE_FILES:=COPYING
endef
define Package/v4l-utils/description
endef
TARGET_CFLAGS += -flto
-TARGET_LDFLAGS += -largp -Wl,--gc-sections
+TARGET_CXXFLAGS += -std=c++11
+TARGET_LDFLAGS += \
+ $(if $(CONFIG_LIBC_USE_GLIBC),,-largp) \
+ -Wl,--gc-sections,--as-needed
CONFIGURE_ARGS+= \
--disable-bpf \
--disable-libdvbv5 \
--disable-qv4l2 \
--disable-qvidcap \
- --without-jpeg \
+ --without-jpeg
define Build/InstallDev
$(INSTALL_DIR) $(1)/usr/include
--- /dev/null
+--- a/utils/keytable/keytable.c
++++ b/utils/keytable/keytable.c
+@@ -61,6 +61,10 @@ struct input_keymap_entry_v2 {
+ u_int8_t scancode[32];
+ };
+
++#ifndef input_event_sec
++#define input_event_sec time.tv_sec
++#define input_event_usec time.tv_usec
++#endif
+
+ #define IR_PROTOCOLS_USER_DIR IR_KEYTABLE_USER_DIR "/protocols"
+ #define IR_PROTOCOLS_SYSTEM_DIR IR_KEYTABLE_SYSTEM_DIR "/protocols"
include $(TOPDIR)/rules.mk
PKG_NAME:=libvpx
-PKG_VERSION:=1.8.1
+PKG_VERSION:=1.8.2
PKG_RELEASE:=1
-PKG_REV:=v$(PKG_VERSION)
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_REV).tar.gz
-PKG_MIRROR_HASH:=6703842a870727b621a82efe5b2ff6f5553d41f7b0905dd4fde1f8bdf062d6ea
-PKG_SOURCE_URL:=https://chromium.googlesource.com/webm/libvpx
PKG_SOURCE_PROTO:=git
-PKG_SOURCE_VERSION:=$(PKG_REV)
-PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
-PKG_CPE_ID:=cpe:/a:john_koleszar:libvpx
+PKG_SOURCE_URL:=https://chromium.googlesource.com/webm/libvpx
+PKG_MIRROR_HASH:=51e871a928fe98f14fd08285cb9b64c0d540b36b630ee7d47bc464e909366db7
+PKG_SOURCE_VERSION:=v$(PKG_VERSION)
PKG_MAINTAINER:=Luiz Angelo Daros de Luca <luizluca@gmail.com>
-
PKG_LICENSE:=BSD-3-Clause
PKG_LICENSE_FILES:=LICENSE
+PKG_CPE_ID:=cpe:/a:john_koleszar:libvpx
+PKG_BUILD_PARALLEL:=1
PKG_ABI_VERSION:=$(subst $(space),.,$(wordlist 1, 2, $(subst .,$(space),$(PKG_VERSION))))
SECTION:=libs
CATEGORY:=Libraries
TITLE:=libvpx
- URL:=http://www.webmproject.org/
+ URL:=https://www.webmproject.org/
DEPENDS:=+libpthread
ABI_VERSION:=$(PKG_ABI_VERSION)
endef
include $(TOPDIR)/rules.mk
PKG_NAME:=mtdev
-PKG_VERSION:=1.1.5
+PKG_VERSION:=1.1.6
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=http://bitmath.org/code/mtdev/
-PKG_HASH:=6677d5708a7948840de734d8b4675d5980d4561171c5a8e89e54adf7a13eba7f
+PKG_HASH:=15d7b28da8ac71d8bc8c9287c2045fd174267bc740bec10cfda332dc1204e0e0
+PKG_MAINTAINER:=Daniel Golle <daniel@makrotopia.org>
PKG_LICENSE:=MIT
PKG_LICENSE_FILES:=COPYING
-PKG_MAINTAINER:=Daniel Golle <daniel@makrotopia.org>
-PKG_FIXUP:=autoreconf
PKG_INSTALL:=1
+PKG_BUILD_PARALLEL:=1
include $(INCLUDE_DIR)/package.mk
PKG_NAME:=newt
PKG_VERSION:=0.52.21
-PKG_RELEASE:=3
+PKG_RELEASE:=4
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://releases.pagure.org/newt
PKG_BUILD_PARALLEL:=1
PKG_INSTALL:=1
+PYTHON3_PKG_BUILD:=0
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/nls.mk
SUBMENU:=Python
TITLE+= module for Python
DEPENDS:=+libnewt +python3-light
- VARIANT:=python3
endef
define Package/python3-newt/description
MAKE_VARS+= PYTHON_CONFIG_PATH="$(STAGING_DIR)/host/bin"
-Build/Compile=$(call Build/Compile/Default,)
-
define Build/InstallDev
$(INSTALL_DIR) $(1)/usr/include
$(CP) $(PKG_INSTALL_DIR)/usr/include/newt.h $(1)/usr/include/
include $(TOPDIR)/rules.mk
PKG_NAME:=nss
-PKG_VERSION:=3.51
+PKG_VERSION:=3.51.1
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:= \
https://download.cdn.mozilla.net/pub/security/$(PKG_NAME)/releases/NSS_$(subst .,_,$(PKG_VERSION))_RTM/src \
https://archive.mozilla.org/pub/security/$(PKG_NAME)/releases/NSS_$(subst .,_,$(PKG_VERSION))_RTM/src
-PKG_HASH:=75348b3b3229362486c57a880db917da1f96ef4eb639dc9cc2ff17d72268459c
+PKG_HASH:=085c5eaceef040eddea639e2e068e70f0e368f840327a678ef74ae3d6c15ca78
PKG_MAINTAINER:=Lucian Cristian <lucian.cristian@gmail.com>
PKG_LICENCE:=MPL-2.0
Description: Adds auto-generated nss.pc and nss-config script, and
allows building without nspr in the source tree.
For 3.40.1, Requires: updated to nspr >= 4.20.
+ For 3.46.1, Requires: updated to nspr >= 4.21.
+ For 3.48, Requires: updated to nspr >= 4.24.
+ For 3.51.1, Requires: updated to nspr >= 4.25.
diff -Naurp nss-3.28-orig/nss/Makefile nss-3.28/nss/Makefile
--- nss-3.28-orig/nss/Makefile 2016-12-21 05:56:27.000000000 -0600
+Name: NSS
+Description: Network Security Services
+Version: @NSS_MAJOR_VERSION@.@NSS_MINOR_VERSION@.@NSS_PATCH_VERSION@
-+Requires: nspr >= 4.20
++Requires: nspr >= 4.25
+Libs: -L@libdir@ -lnss@NSS_MAJOR_VERSION@ -lnssutil@NSS_MAJOR_VERSION@ -lsmime@NSS_MAJOR_VERSION@ -lssl@NSS_MAJOR_VERSION@ -lsoftokn@NSS_MAJOR_VERSION@
+Cflags: -I${includedir}
+
ifeq (,$(filter-out WIN%,$(OS_TARGET)))
--- a/nss/coreconf/Linux.mk 2019-04-01 10:08:59.129269177 +0300
+++ b/nss/coreconf/Linux.mk 2019-04-01 10:09:15.557782574 +0300
-@@ -143,6 +143,7 @@
+@@ -144,7 +144,8 @@
DEFINES += -D_REENTRANT
endif
+ifndef USE_NATIVE
- DSO_CFLAGS = -fPIC
+-DSO_CFLAGS = -fPIC
++DSO_CFLAGS = $(fpic)
DSO_LDOPTS = -shared $(ARCHFLAG) -Wl,--gc-sections
# The linker on Red Hat Linux 7.2 and RHEL 2.1 (GNU ld version 2.11.90.0.8)
-@@ -153,6 +154,7 @@
+ # incorrectly reports undefined references in the libraries we link with, so
+@@ -154,6 +155,7 @@
ZDEFS_FLAG = -Wl,-z,defs
DSO_LDOPTS += $(if $(findstring 2.11.90.0.8,$(shell ld -v)),,$(ZDEFS_FLAG))
LDFLAGS += $(ARCHFLAG) -z noexecstack
# On Maemo, we need to use the -rpath-link flag for even the standard system
# library directories.
---- a/nss/coreconf/Linux.mk 2019-04-01 23:10:19.091912203 +0300
-+++ b/nss/coreconf/Linux.mk 2019-04-06 14:07:13.499169075 +0300
-@@ -144,7 +144,7 @@
- endif
-
- ifndef USE_NATIVE
--DSO_CFLAGS = -fPIC
-+DSO_CFLAGS = $(fpic)
- DSO_LDOPTS = -shared $(ARCHFLAG) -Wl,--gc-sections
- # The linker on Red Hat Linux 7.2 and RHEL 2.1 (GNU ld version 2.11.90.0.8)
- # incorrectly reports undefined references in the libraries we link with, so
--- a/nss/coreconf/Linux.mk 2019-04-06 20:25:36.431663894 +0300
+++ b/nss/coreconf/Linux.mk 2019-04-06 20:26:23.397129525 +0300
-@@ -107,11 +107,6 @@
+@@ -108,11 +108,6 @@
endif
ifdef BUILD_OPT
include $(TOPDIR)/rules.mk
PKG_NAME:=p11-kit
-PKG_VERSION:=0.23.18.1
-PKG_RELEASE:=2
+PKG_VERSION:=0.23.20
+PKG_RELEASE:=1
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=https://github.com/p11-glue/p11-kit/releases/download/$(PKG_VERSION)
-PKG_HASH:=34c3bd8c0050dd7c4e6228aecf0f168de0a1b34562ddbf74a1c70904c2523c6f
+PKG_HASH:=14d86024c3dfd6b967d9bc0b4ec7b2973014fe7423481f4d230a1a63b8aa6104
PKG_MAINTAINER:=Nikos Mavrogiannopoulos <n.mavrogiannopoulos@gmail.com>
PKG_LICENSE:=BSD-3-Clause
PKG_LICENSE_FILES:=COPYING
-PKG_BUILD_PARALLEL:=1
PKG_INSTALL:=1
+PKG_BUILD_DEPENDS:=meson/host
include $(INCLUDE_DIR)/package.mk
+include ../../devel/meson/meson.mk
define Package/p11-kit
SECTION:=libs
TARGET_LDFLAGS += -Wl,--gc-sections,--as-needed
-CONFIGURE_ARGS+= \
- --disable-debug \
- --disable-rpath \
- --disable-trust-module \
- --without-libffi \
- --without-systemd
-
-CONFIGURE_VARS += \
- ac_cv_have_decl_program_invocation_short_name=yes
+MESON_ARGS += \
+ -Dhash_impl=internal \
+ -Dlibffi=disabled \
+ -Dtrust_module=disabled \
+ -Dstrict=false \
+ -Dsystemd=disabled \
+ -Dgtk_doc=false \
+ -Dman=false
define Build/InstallDev
$(INSTALL_DIR) $(1)/usr/include/p11-kit-1/p11-kit/
$(CP) $(PKG_INSTALL_DIR)/usr/include/p11-kit-1/p11-kit/* $(1)/usr/include/p11-kit-1/p11-kit/
$(INSTALL_DIR) $(1)/usr/lib
- $(CP) $(PKG_INSTALL_DIR)/usr/lib/libp11-kit.so $(1)/usr/lib/
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libp11-kit.so* $(1)/usr/lib/
$(INSTALL_DIR) $(1)/usr/lib/pkgconfig/
$(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/p11-kit-1.pc $(1)/usr/lib/pkgconfig/p11-kit-1.pc
PKG_NAME:=quasselc
PKG_SOURCE_DATE:=2017-01-11
PKG_SOURCE_VERSION:=a0a1e6bd87d3eac68b5369972d1c2035cfe47e94
-PKG_RELEASE:=2
+PKG_RELEASE:=3
PKG_SOURCE:=$(PKG_NAME)-$(PKG_SOURCE_DATE).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/phhusson/QuasselC/tar.gz/$(PKG_SOURCE_VERSION)?
An implementation of the Quassel protocol in pure C.
endef
+TARGET_LDFLAGS += -liconv
+
define Build/InstallDev
$(INSTALL_DIR) $(1)/usr/include/quasselc
$(CP) $(PKG_INSTALL_DIR)/usr/include/quasselc/* $(1)/usr/include/quasselc/
VERSION = 0
INSTALL = install
-LDLIBS:=$(shell pkg-config glib-2.0 --libs) -lz
-+LDLIBS+=$(shell pkg-config glib-2.0 --libs) -lz
++LDFLAGS+=$(shell pkg-config glib-2.0 --libs) -lz
BOTLIBS := -Wl,-rpath,.
+@@ -15,10 +15,10 @@ lib_objects=setters.o getters.o main.o cmds.o negotiation.o io.o symbols.o
+ all: bot libquasselc.so.$(VERSION) quasselc.pc
+
+ libquasselc.so.$(VERSION): $(lib_objects)
+- $(CC) -shared -o $@ -Wl,-soname,libquasselc.so.$(SO_VERSION) $^ $(LDLIBS)
++ $(CC) -shared -o $@ -Wl,-soname,libquasselc.so.$(SO_VERSION) $^ $(LDFLAGS)
+
+ bot: bot.o display.o libquasselc.so.$(VERSION)
+- $(CC) -o $@ $^ $(LDLIBS) $(BOTLIBS)
++ $(CC) -o $@ $^ $(LDFLAGS) $(BOTLIBS)
+
+ clean:
+ rm -f *.o bot libquasselc.so.$(VERSION) quasselc.pc
include $(TOPDIR)/rules.mk
PKG_NAME:=redis
-PKG_VERSION:=5.0.8
+PKG_VERSION:=5.0.9
PKG_RELEASE:=1
PKG_SOURCE_URL:=http://download.redis.io/releases/
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_HASH:=f3c7eac42f433326a8d981b50dba0169fdfaf46abb23fcda2f933a7552ee4ed7
+PKG_HASH:=53d0ae164cd33536c3d4b720ae9a128ea6166ebf04ff1add3b85f1242090cb85
PKG_MAINTAINER:=Jan Pavlinec <jan.pavlinec@nic.cz>
PKG_LICENSE:=BSD-3-Clause
PKG_NAME:=websocketpp
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/zaphoyd/websocketpp/archive/$(PKG_VERSION)/
CATEGORY:=Libraries
TITLE:=WebSocket++
URL:=https://www.zaphoyd.com/websocketpp
+ BUILDONLY:=1
endef
define Package/websocketpp/description
--- /dev/null
+From c769c9238ad62178f506038178714a1c35aa2769 Mon Sep 17 00:00:00 2001
+From: Stefan Floeren <42731906+stefan-floeren@users.noreply.github.com>
+Date: Tue, 16 Apr 2019 08:38:01 +0200
+Subject: [PATCH 1/4] Replace make_shared with new in some cases
+
+Replace make_shared for asio types that take a lib::ref as a parameter.
+This should fix the ASIO change (boostorg/asio@59066d8) for 1.70,
+while keeping it backwards compatible to older boost versions.
+
+diff --git a/websocketpp/transport/asio/connection.hpp b/websocketpp/transport/asio/connection.hpp
+index 60f88a7..1ccda8f 100644
+--- a/websocketpp/transport/asio/connection.hpp
++++ b/websocketpp/transport/asio/connection.hpp
+@@ -311,9 +311,10 @@ public:
+ * needed.
+ */
+ timer_ptr set_timer(long duration, timer_handler callback) {
+- timer_ptr new_timer = lib::make_shared<lib::asio::steady_timer>(
+- lib::ref(*m_io_service),
+- lib::asio::milliseconds(duration)
++ timer_ptr new_timer(
++ new lib::asio::steady_timer(
++ *m_io_service,
++ lib::asio::milliseconds(duration))
+ );
+
+ if (config::enable_multithreading) {
+diff --git a/websocketpp/transport/asio/endpoint.hpp b/websocketpp/transport/asio/endpoint.hpp
+index ddab2c7..4b719a9 100644
+--- a/websocketpp/transport/asio/endpoint.hpp
++++ b/websocketpp/transport/asio/endpoint.hpp
+@@ -195,8 +195,7 @@ public:
+
+ m_io_service = ptr;
+ m_external_io_service = true;
+- m_acceptor = lib::make_shared<lib::asio::ip::tcp::acceptor>(
+- lib::ref(*m_io_service));
++ m_acceptor.reset(new lib::asio::ip::tcp::acceptor(*m_io_service));
+
+ m_state = READY;
+ ec = lib::error_code();
+diff --git a/websocketpp/transport/asio/security/none.hpp b/websocketpp/transport/asio/security/none.hpp
+index 5c8293d..6c7d352 100644
+--- a/websocketpp/transport/asio/security/none.hpp
++++ b/websocketpp/transport/asio/security/none.hpp
+@@ -168,8 +168,7 @@ protected:
+ return socket::make_error_code(socket::error::invalid_state);
+ }
+
+- m_socket = lib::make_shared<lib::asio::ip::tcp::socket>(
+- lib::ref(*service));
++ m_socket.reset(new lib::asio::ip::tcp::socket(*service));
+
+ if (m_socket_init_handler) {
+ m_socket_init_handler(m_hdl, *m_socket);
+diff --git a/websocketpp/transport/asio/security/tls.hpp b/websocketpp/transport/asio/security/tls.hpp
+index c76fd9a..04ac379 100644
+--- a/websocketpp/transport/asio/security/tls.hpp
++++ b/websocketpp/transport/asio/security/tls.hpp
+@@ -193,8 +193,7 @@ protected:
+ if (!m_context) {
+ return socket::make_error_code(socket::error::invalid_tls_context);
+ }
+- m_socket = lib::make_shared<socket_type>(
+- _WEBSOCKETPP_REF(*service),lib::ref(*m_context));
++ m_socket.reset(new socket_type(*service, *m_context));
+
+ if (m_socket_init_handler) {
+ m_socket_init_handler(m_hdl, get_socket());
+diff --git a/websocketpp/transport/asio/connection.hpp b/websocketpp/transport/asio/connection.hpp
+index 1ccda8f..57dda74 100644
+--- a/websocketpp/transport/asio/connection.hpp
++++ b/websocketpp/transport/asio/connection.hpp
+@@ -462,8 +462,7 @@ protected:
+ m_io_service = io_service;
+
+ if (config::enable_multithreading) {
+- m_strand = lib::make_shared<lib::asio::io_service::strand>(
+- lib::ref(*io_service));
++ m_strand.reset(new lib::asio::io_service::strand(*io_service));
+ }
+
+ lib::error_code ec = socket_con_type::init_asio(io_service, m_strand,
+diff --git a/websocketpp/transport/asio/endpoint.hpp b/websocketpp/transport/asio/endpoint.hpp
+index 4b719a9..94509ad 100644
+--- a/websocketpp/transport/asio/endpoint.hpp
++++ b/websocketpp/transport/asio/endpoint.hpp
+@@ -687,9 +687,7 @@ public:
+ * @since 0.3.0
+ */
+ void start_perpetual() {
+- m_work = lib::make_shared<lib::asio::io_service::work>(
+- lib::ref(*m_io_service)
+- );
++ m_work.reset(new lib::asio::io_service::work(*m_io_service));
+ }
+
+ /// Clears the endpoint's perpetual flag, allowing it to exit when empty
+@@ -853,8 +851,7 @@ protected:
+
+ // Create a resolver
+ if (!m_resolver) {
+- m_resolver = lib::make_shared<lib::asio::ip::tcp::resolver>(
+- lib::ref(*m_io_service));
++ m_resolver.reset(new lib::asio::ip::tcp::resolver(*m_io_service));
+ }
+
+ tcon->set_uri(u);
+--
+2.26.1
include $(TOPDIR)/rules.mk
PKG_NAME:=postfix
-PKG_RELEASE:=3
-PKG_VERSION:=3.4.6
+PKG_RELEASE:=1
+PKG_VERSION:=3.5.0
PKG_SOURCE_URL:= \
https://cdn.postfix.johnriley.me/mirrors/postfix-release/official/ \
http://ftp.porcupine.org/mirrors/postfix-release/official/
-PKG_HASH:=d674a9b40602ee30420ee7ff93c3600e8913eeb2ea9bfb0ac1d140dac5dbe326
+PKG_HASH:=22ac929733449a294252ac8deda4b264ff48a997ff3847007291a2ee53ef55cc
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_MAINTAINER:=Denis Shulyaka <Shulyaka@gmail.com>
PKG_LICENSE:=IPL-1.0
--- /dev/null
+#
+# Copyright (C) 2011-2020 Entware
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=gerbera
+PKG_VERSION:=1.4.0
+PKG_RELEASE:=1
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=https://codeload.github.com/gerbera/gerbera/tar.gz/v$(PKG_VERSION)?
+PKG_HASH:=904a9031c85ac805e4c139f363510226952683d7257acd1dee25ba1e97fd7651
+
+PKG_MAINTAINER:=
+PKG_LICENSE:=GPL-2.0-or-later
+PKG_LICENSE_FILES:=LICENSE.md
+
+PKG_BUILD_PARALLEL:=1
+
+include $(INCLUDE_DIR)/package.mk
+include $(INCLUDE_DIR)/cmake.mk
+include $(INCLUDE_DIR)/nls.mk
+
+define Package/gerbera
+ SECTION:=multimedia
+ CATEGORY:=Multimedia
+ DEPENDS:=+file +libupnp +libsqlite3 +libexif +libexpat +libuuid +libstdcpp $(ICONV_DEPENDS)
+ TITLE:=A free media server
+ URL:=https://gerbera.io
+ USERID:=gerbera:gerbera
+endef
+
+define Package/gerbera/description
+ Gerbera - UPnP Media Server based on Mediatomb.
+endef
+
+define Package/gerbera/conffiles
+/etc/gerbera/config.xml
+endef
+
+CMAKE_OPTIONS += \
+ -DICONV_INCLUDE_DIR=$(ICONV_PREFIX)/include \
+ -DICONV_LIBRARIES=$(ICONV_PREFIX)/lib/libiconv.a \
+ -DWITH_MAGIC=1 \
+ -DWITH_MYSQL=0 \
+ -DWITH_CURL=0 \
+ -DWITH_INOTIFY=1 \
+ -DWITH_JS=0 \
+ -DWITH_TAGLIB=0 \
+ -DWITH_AVCODEC=0 \
+ -DWITH_FFMPEGTHUMBNAILER=0 \
+ -DWITH_EXIF=1 \
+ -DWITH_EXIV2=0 \
+ -DWITH_MATROSKA=0 \
+ -DWITH_SYSTEMD=0 \
+ -DWITH_LASTFM=0 \
+ -DWITH_DEBUG=0 \
+ -DWITH_TESTS=0
+
+TARGET_CFLAGS += -ffunction-sections -fdata-sections -flto
+TARGET_LDFLAGS += -Wl,--gc-sections,--as-needed
+
+define Package/gerbera/install
+ $(INSTALL_DIR) $(1)/usr/bin
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/gerbera $(1)/usr/bin
+ $(INSTALL_DIR) $(1)/usr/share
+ $(CP) $(PKG_INSTALL_DIR)/usr/share/gerbera $(1)/usr/share
+ $(INSTALL_DIR) $(1)/etc/config
+ $(INSTALL_CONF) ./files/gerbera.config $(1)/etc/config/gerbera
+ $(INSTALL_DIR) $(1)/etc/init.d
+ $(INSTALL_BIN) ./files/gerbera.init $(1)/etc/init.d/gerbera
+endef
+
+$(eval $(call BuildPackage,gerbera))
--- /dev/null
+config gerbera config
+ option enabled '0'
+ option home '/tmp/gerbera'
--- /dev/null
+#!/bin/sh /etc/rc.common
+
+START=82
+
+USE_PROCD=1
+PROG=/usr/bin/gerbera
+
+start_service() {
+ local enabled
+ local home
+
+ config_load 'gerbera'
+ config_get_bool enabled config 'enabled' '0'
+
+ [ "$enabled" -eq 0 ] && {
+ echo "Gerbera not enabled. Please enable in /etc/config/gerbera"
+ return 1
+ }
+
+ config_get home config 'home' '/tmp/gerbera'
+
+ [ -d "$home" ] || {
+ mkdir -p "$home"
+ chown gerbera:gerbera "$home"
+
+ gerbera -m "$home" -f '' --create-config > "$home/config.xml" 2> /dev/null
+ echo "Created default gerbera config at $home/config.xml"
+ echo "Please edit to your liking and restart."
+ return 2
+ }
+
+ procd_open_instance
+ procd_set_param user gerbera
+ procd_set_param group gerbera
+ procd_set_param command "$PROG" -c "$home/config.xml"
+ procd_set_param stderr 1
+ procd_close_instance
+}
include $(TOPDIR)/rules.mk
PKG_NAME:=graphicsmagick
-PKG_VERSION:=1.3.34
+PKG_VERSION:=1.3.35
PKG_RELEASE:=1
PKG_BUILD_DIR:=$(BUILD_DIR)/GraphicsMagick-$(PKG_VERSION)
PKG_SOURCE:=GraphicsMagick-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=@SF/graphicsmagick
-PKG_HASH:=7e1904c924cc3574aecc7ca6879fc6cf01070859e3ca4a06182b3e0eb346a0c2
+PKG_HASH:=7fd0b49903eb35df4ab5ca76139ab3f023f47485a4913fbdcf5c642c6e5f01fc
PKG_LICENSE:=MIT
PKG_LICENSE_FILES:=Copyright.txt
include $(TOPDIR)/rules.mk
PKG_NAME:=gst1-libav
-PKG_VERSION:=1.16.1
+PKG_VERSION:=1.16.2
PKG_RELEASE:=1
PKG_MAINTAINER:=W. Michael Petullo <mike@flyn.org> \
PKG_SOURCE:=gst-libav-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=https://gstreamer.freedesktop.org/src/gst-libav
-PKG_HASH:=e8a5748ae9a4a7be9696512182ea9ffa6efe0be9b7976916548e9d4381ca61c4
+PKG_HASH:=c724f612700c15a933c7356fbeabb0bb9571fb5538f8b1b54d4d2d94188deef2
PKG_LICENSE:=GPL-2.0 LGPL-2.0
PKG_LICENSE_FILES:=COPYING COPYING.LIB
include $(TOPDIR)/rules.mk
PKG_NAME:=gst1-plugins-bad
-PKG_VERSION:=1.16.1
-PKG_RELEASE:=2
-
-PKG_MAINTAINER:=W. Michael Petullo <mike@flyn.org> \
- Ted Hess <thess@kitschensync.net>
-
-PKG_LICENSE:=LGPLv2 GPLv2
-PKG_LICENSE_FILES:=COPYING.LIB COPYING
+PKG_VERSION:=1.16.2
+PKG_RELEASE:=1
PKG_BUILD_DIR:=$(BUILD_DIR)/gst-plugins-bad-$(PKG_VERSION)
PKG_SOURCE:=gst-plugins-bad-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=http://gstreamer.freedesktop.org/src/gst-plugins-bad/
-PKG_HASH:=56481c95339b8985af13bac19b18bc8da7118c2a7d9440ed70e7dcd799c2adb5
+PKG_HASH:=f1cb7aa2389569a5343661aae473f0a940a90b872001824bc47fa8072a041e74
+
+PKG_MAINTAINER:=W. Michael Petullo <mike@flyn.org> \
+ Ted Hess <thess@kitschensync.net>
+PKG_LICENSE:=LGPL-2.1-or-later GPL-2.0-or-later
+PKG_LICENSE_FILES:=COPYING.LIB COPYING
-PKG_FIXUP:=autoreconf
-PKG_BUILD_PARALLEL:=1
PKG_INSTALL:=1
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/nls.mk
+include ../../devel/meson/meson.mk
GST_BAD_LIBS:=
GST_BAD_MODULES:=
endef
+GST_COND_SELECT = -D$(1)=$(if $(CONFIG_PACKAGE_gst1-mod-$(1)),en,dis)abled
+
GST_VERSION:=1.0
-CONFIGURE_ARGS += \
- --disable-Bsymbolic \
- --disable-debug \
- --disable-examples \
- --disable-fatal-warnings \
- --disable-glib-asserts \
- --disable-gobject-cast-checks \
- --disable-gtk-doc-html \
- --disable-introspection \
- --disable-valgrind \
- --disable-rpath \
+MESON_ARGS += \
+ $(call GST_COND_SELECT,adpcmdec) \
+ $(call GST_COND_SELECT,adpcmenc) \
+ $(call GST_COND_SELECT,aiff) \
+ $(call GST_COND_SELECT,asfmux) \
+ $(call GST_COND_SELECT,audiobuffersplit) \
+ $(call GST_COND_SELECT,audiofxbad) \
+ $(call GST_COND_SELECT,audiolatency) \
+ $(call GST_COND_SELECT,audiomixmatrix) \
+ $(call GST_COND_SELECT,audiovisualizers) \
+ $(call GST_COND_SELECT,autoconvert) \
+ $(call GST_COND_SELECT,bayer) \
+ -Dcamerabin2=$(if $(CONFIG_PACKAGE_gst1-mod-camerabin),en,dis)abled \
+ $(call GST_COND_SELECT,coloreffects) \
+ -Ddebugutils=$(if $(CONFIG_PACKAGE_gst1-mod-debugutilsbad),en,dis)abled \
+ $(call GST_COND_SELECT,dvbsuboverlay) \
+ $(call GST_COND_SELECT,dvdspu) \
+ $(call GST_COND_SELECT,faceoverlay) \
+ $(call GST_COND_SELECT,festival) \
+ $(call GST_COND_SELECT,fieldanalysis) \
+ $(call GST_COND_SELECT,freeverb) \
+ $(call GST_COND_SELECT,frei0r) \
+ $(call GST_COND_SELECT,gaudieffects) \
+ $(call GST_COND_SELECT,gdp) \
+ $(call GST_COND_SELECT,geometrictransform) \
+ $(call GST_COND_SELECT,id3tag) \
+ $(call GST_COND_SELECT,inter) \
+ $(call GST_COND_SELECT,interlace) \
+ $(call GST_COND_SELECT,ivfparse) \
+ $(call GST_COND_SELECT,ivtc) \
+ $(call GST_COND_SELECT,jp2kdecimator) \
+ $(call GST_COND_SELECT,jpegformat) \
+ -Dlibrfb=$(if $(CONFIG_PACKAGE_gst1-mod-rfbsrc),en,dis)abled \
+ $(call GST_COND_SELECT,midi) \
+ -Dmpegdemux=$(if $(CONFIG_PACKAGE_gst1-mod-mpegpsdemux),en,dis)abled \
+ $(call GST_COND_SELECT,mpegpsmux) \
+ $(call GST_COND_SELECT,mpegtsdemux) \
+ $(call GST_COND_SELECT,mpegtsmux) \
+ $(call GST_COND_SELECT,mxf) \
+ $(call GST_COND_SELECT,netsim) \
+ -Donvif=$(if $(CONFIG_PACKAGE_gst1-mod-rtponvif),en,dis)abled \
+ $(call GST_COND_SELECT,pcapparse) \
+ $(call GST_COND_SELECT,pnm) \
+ $(call GST_COND_SELECT,proxy) \
+ -Drawparse=$(if $(CONFIG_PACKAGE_gst1-mod-legacyrawparse),en,dis)abled \
+ $(call GST_COND_SELECT,removesilence) \
+ -Dsdp=$(if $(CONFIG_PACKAGE_gst1-mod-sdpelem),en,dis)abled \
+ $(call GST_COND_SELECT,segmentclip) \
+ $(call GST_COND_SELECT,siren) \
+ $(call GST_COND_SELECT,smooth) \
+ $(call GST_COND_SELECT,speed) \
+ $(call GST_COND_SELECT,subenc) \
+ $(call GST_COND_SELECT,timecode) \
+ -Dvideofilters=$(if $(CONFIG_PACKAGE_gst1-mod-videofiltersbad),en,dis)abled \
+ $(call GST_COND_SELECT,videoframe_audiolevel) \
+ -Dvideoparsers=$(if $(CONFIG_PACKAGE_gst1-mod-videoparsersbad),en,dis)abled \
+ $(call GST_COND_SELECT,videosignal) \
+ $(call GST_COND_SELECT,vmnc) \
+ -Dy4m=$(if $(CONFIG_PACKAGE_gst1-mod-y4mdec),en,dis)abled \
+ $(call GST_COND_SELECT,yadif) \
\
- --disable-directsound \
- --disable-directdraw \
- --disable-osx_video \
- --disable-quicktime \
- --disable-vcd \
- --disable-assrender \
- --disable-apexsink \
- --disable-bz2 \
- --disable-dc1394 \
- --disable-directfb \
- --disable-dts \
- --disable-resindvd \
- --disable-faac \
- --disable-faad \
- --disable-flite \
- --disable-gsm \
- --disable-kate \
- --disable-ladspa \
- --disable-lv2 \
- --disable-modplug \
- --disable-mimic \
- --disable-libmms \
- --disable-mpeg2enc \
- --disable-mplex \
- --disable-musepack \
- --disable-mythtv \
- --disable-nas \
- --disable-neon \
- --disable-ofa \
- --disable-rsvg \
- --disable-timidity \
- --disable-wildmidi \
- --disable-sdl \
- --disable-sdltest \
- --disable-sndfile \
- --disable-soundtouch \
- --disable-spc \
- --disable-gme \
- --disable-xvid \
- --disable-dvb \
- --disable-wininet \
- --disable-acm \
- --disable-vdpau \
- --disable-schro \
- --disable-zbar \
- --disable-srtp \
+ -Dopencv=disabled \
+ -Dwayland=disabled \
+ -Dx11=disabled \
\
- --with-hls-crypto=nettle \
- --without-html-dir \
- --without-libiconv-prefix \
- --without-libintl-prefix \
- --with-libgcrypt-prefix="$(STAGING_DIR)/usr" \
- --with-pic
+ -Daom=disabled \
+ -Dandroidmedia=disabled \
+ -Dapplemedia=disabled \
+ -Dassrender=disabled \
+ $(call GST_COND_SELECT,bluez) \
+ -Dbs2b=disabled \
+ $(call GST_COND_SELECT,bz2) \
+ -Dchromaprint=disabled \
+ -Dclosedcaption=disabled \
+ -Dcolormanagement=disabled \
+ -Dcurl=disabled \
+ -Dcurl-ssh2=disabled \
+ -Dd3dvideosink=disabled \
+ -Ddash=disabled \
+ -Ddc1394=disabled \
+ -Ddecklink=disabled \
+ -Ddirectfb=disabled \
+ -Ddirectsound=disabled \
+ $(call GST_COND_SELECT,dtls) \
+ -Ddts=disabled \
+ -Ddvb=disabled \
+ -Dfaac=disabled \
+ $(call GST_COND_SELECT,faad) \
+ -Dfbdev=$(if $(CONFIG_PACKAGE_gst1-mod-fbdevsink),en,dis)abled \
+ -Dfdkaac=disabled \
+ -Dflite=disabled \
+ -Dfluidsynth=disabled \
+ -Dgl=disabled \
+ -Dgme=disabled \
+ -Dgsm=disabled \
+ -Dipcpipeline=disabled \
+ -Diqa=disabled \
+ -Dkate=disabled \
+ -Dladspa=disabled \
+ -Dlibde265=disabled \
+ -Dlibmms=disabled \
+ -Dlv2=disabled \
+ -Dmodplug=disabled \
+ -Dmpeg2enc=disabled \
+ -Dmplex=disabled \
+ -Dmsdk=disabled \
+ -Dmusepack=disabled \
+ -Dneon=disabled \
+ -Dnvdec=disabled \
+ -Dnvenc=disabled \
+ -Dofa=disabled \
+ -Dopenal=disabled \
+ -Dopenexr=disabled \
+ -Dopenh264=disabled \
+ -Dopenjpeg=disabled \
+ -Dopenmpt=disabled \
+ -Dopenni2=disabled \
+ -Dopensles=disabled \
+ -Dopus=$(if $(CONFIG_PACKAGE_gst1-mod-opusparse),en,dis)abled \
+ -Dresindvd=disabled \
+ -Drsvg=disabled \
+ -Drtmp=disabled \
+ $(call GST_COND_SELECT,sbc) \
+ -Dsctp=disabled \
+ -Dsmoothstreaming=disabled \
+ $(call GST_COND_SELECT,sndfile) \
+ -Dsoundtouch=disabled \
+ -Dspandsp=disabled \
+ -Dsrt=disabled \
+ -Dsrtp=disabled \
+ -Dteletext=disabled \
+ -Dtinyalsa=disabled \
+ -Dttml=disabled \
+ -Duvch264=disabled \
+ -Dvdpau=disabled \
+ -Dvoaacenc=disabled \
+ -Dvoamrwbenc=disabled \
+ -Dvulkan=disabled \
+ -Dwasapi=disabled \
+ $(call GST_COND_SELECT,webp) \
+ -Dwebrtc=disabled \
+ -Dwebrtcdsp=disabled \
+ -Dwildmidi=disabled \
+ -Dwinks=disabled \
+ -Dwinscreencap=disabled \
+ -Dx265=disabled \
+ -Dzbar=disabled \
+ -Dwpe=disabled \
+ \
+ $(call GST_COND_SELECT,hls) \
+ -Dhls-crypto=nettle \
+ -Dexamples=disabled \
+ -Dtests=disabled \
+ -Dintrospection=disabled \
+ -Dorc=disabled \
+ -Dgobject-cast-checks=disabled \
+ -Dglib-asserts=disabled \
+ -Dglib-checks=disabled
define Package/gst1-plugins-bad/install
/bin/true
$(eval $(call GstBuildPlugin,adpcmenc,adpcm encoding support,audio,,))
$(eval $(call GstBuildPlugin,aiff,aiff support,audio tag,,))
$(eval $(call GstBuildPlugin,asfmux,asf muxing support,rtp,,))
+$(eval $(call GstBuildPlugin,audiobuffersplit,audiobuffersplit support,audio,,))
+$(eval $(call GstBuildPlugin,audiofxbad,audiofxbad support,audio,,))
+$(eval $(call GstBuildPlugin,audiolatency,audiolatency support,audio,,))
+$(eval $(call GstBuildPlugin,audiomixmatrix,audiomixmatrix support,audio,,))
+$(eval $(call GstBuildPlugin,audiovisualizers,audiovisualizers support,audio,,))
$(eval $(call GstBuildPlugin,autoconvert,autoconvert support,,,))
$(eval $(call GstBuildPlugin,bayer,bayer support,video,,))
+$(eval $(call GstBuildPlugin,bluez,bluez support,,,+bluez-libs))
+$(eval $(call GstBuildPlugin,bz2,bzip2 support,,,+libbz2))
$(eval $(call GstBuildPlugin,camerabin,camerabin support,basecamerabinsrc photography pbutils app,,))
+$(eval $(call GstBuildPlugin,coloreffects,coloreffects support,video,,))
#$(eval $(call GstBuildPlugin,dataurisrc,dataurisrc support,,,))
$(eval $(call GstBuildPlugin,debugutilsbad,debugutils support,video,,))
$(eval $(call GstBuildPlugin,dtls,DTLS support,,,+libopenssl))
+$(eval $(call GstBuildPlugin,dvbsuboverlay,dvbsuboverlay support,video,,))
$(eval $(call GstBuildPlugin,dvdspu,dvdspu support,video,,))
+$(eval $(call GstBuildPlugin,faad,faad support,audio,,+libfaad2))
+$(eval $(call GstBuildPlugin,faceoverlay,faceoverlay support,pbutils,,))
$(eval $(call GstBuildPlugin,fbdevsink,fbdev support,video,,))
$(eval $(call GstBuildPlugin,festival,festival support,audio,,))
-$(eval $(call GstBuildPlugin,hls,HLS support,pbutils adaptivedemux,multifile,+libnettle))
+$(eval $(call GstBuildPlugin,fieldanalysis,fieldanalysis support,audio,,))
+$(eval $(call GstBuildPlugin,freeverb,freeverb support,,,))
$(eval $(call GstBuildPlugin,frei0r,frei0r support,controller video,,))
+$(eval $(call GstBuildPlugin,gaudieffects,gaudieffects support,audio,,))
+$(eval $(call GstBuildPlugin,gdp,gdp support,,,))
+$(eval $(call GstBuildPlugin,geometrictransform,geometrictransform support,,,))
+$(eval $(call GstBuildPlugin,hls,HLS support,pbutils adaptivedemux,multifile,+libnettle))
$(eval $(call GstBuildPlugin,id3tag,id3tag support,tag,,))
+$(eval $(call GstBuildPlugin,inter,inter support,,,))
+$(eval $(call GstBuildPlugin,interlace,interlace support,,,))
+$(eval $(call GstBuildPlugin,ivfparse,ivfparse support,,,))
+$(eval $(call GstBuildPlugin,ivtc,ivtc support,,,))
+$(eval $(call GstBuildPlugin,jp2kdecimator,jp2kdecimator support,,,))
$(eval $(call GstBuildPlugin,jpegformat,jpegformat support,tag,,))
+$(eval $(call GstBuildPlugin,legacyrawparse,rawparse support,audio video,,))
+$(eval $(call GstBuildPlugin,midi,midi support,audio,,))
$(eval $(call GstBuildPlugin,mpegpsdemux,mpegpsdemux support,pbutils,,))
$(eval $(call GstBuildPlugin,mpegpsmux,mpegpsmux support,,,))
#$(eval $(call GstBuildPlugin,mpegtsdemux,mpegtsdemux support,mpegts pbutils,,))
#$(eval $(call GstBuildPlugin,mpegtsmux,mpegtsmux support,video,,))
$(eval $(call GstBuildPlugin,mxf,mxf support,audio video,,))
+$(eval $(call GstBuildPlugin,netsim,netsim support,,,))
$(eval $(call GstBuildPlugin,opusparse,OPUS streams library,pbutils,,+libopus))
$(eval $(call GstBuildPlugin,pcapparse,pcapparse support,,,))
$(eval $(call GstBuildPlugin,pnm,pnm support,video,,))
-#$(eval $(call GstBuildPlugin,rawparse,rawparse support,audio video,,))
+$(eval $(call GstBuildPlugin,proxy,proxy support,,,))
+$(eval $(call GstBuildPlugin,removesilence,removesilence support,audio,,))
$(eval $(call GstBuildPlugin,rfbsrc,librfb support,video,,))
+$(eval $(call GstBuildPlugin,rtponvif,rtponvif support,,,))
+$(eval $(call GstBuildPlugin,sbc,sbc support,audio,,+sbc))
$(eval $(call GstBuildPlugin,sdpelem,sdp support,rtp sdp,,))
$(eval $(call GstBuildPlugin,segmentclip,segmentclip support,audio,,))
$(eval $(call GstBuildPlugin,shm,POSIX shared memory source and sink,,,+librt))
$(eval $(call GstBuildPlugin,siren,siren support,audio rtp,,))
+$(eval $(call GstBuildPlugin,smooth,smooth support,,,))
+$(eval $(call GstBuildPlugin,sndfile,sndfile support,audio,,+libsndfile))
$(eval $(call GstBuildPlugin,speed,speed support,audio,,))
$(eval $(call GstBuildPlugin,subenc,subenc support,controller,,))
#$(eval $(call GstBuildPlugin,srtp,srtp support,rtp,,+libsrtp))
+$(eval $(call GstBuildPlugin,timecode,timecode support,,,))
+$(eval $(call GstBuildPlugin,videofiltersbad,videofiltersbad support,,,))
+$(eval $(call GstBuildPlugin,videoframe_audiolevel,videoframe_audiolevel support,,,))
+#$(eval $(call GstBuildPlugin,videoparsersbad,videoparsersbad support,,,))
+$(eval $(call GstBuildPlugin,videosignal,videosignal support,,,))
+$(eval $(call GstBuildPlugin,vmnc,vmnc support,,,))
+$(eval $(call GstBuildPlugin,webp,webp support,,,+libwebp))
+$(eval $(call GstBuildPlugin,y4mdec,y4mdec support,,,))
+$(eval $(call GstBuildPlugin,yadif,yadif support,,,))
$(eval $(call BuildPackage,gstreamer1-plugins-bad))
$(eval $(call BuildPackage,gst1-plugins-bad))
+++ /dev/null
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -2,11 +2,11 @@ DISTCHECK_CONFIGURE_FLAGS=--enable-gtk-doc
-
- SUBDIRS = \
- gst-libs gst sys ext pkgconfig \
-- m4 common docs tests po tools
-+ m4 common docs tests tools
-
- DIST_SUBDIRS = \
- gst gst-libs sys ext pkgconfig \
-- m4 common docs tests po tools
-+ m4 common docs tests tools
-
- EXTRA_DIST = \
- depcomp \
---- a/configure.ac
-+++ b/configure.ac
-@@ -2686,7 +2686,6 @@ ext/dtls/Makefile
- ext/webrtc/Makefile
- ext/webrtcdsp/Makefile
- ext/ttml/Makefile
--po/Makefile.in
- docs/Makefile
- docs/plugins/Makefile
- docs/libs/Makefile
include $(TOPDIR)/rules.mk
PKG_NAME:=gst1-plugins-base
-PKG_VERSION:=1.16.1
+PKG_VERSION:=1.16.2
PKG_RELEASE:=1
+PKG_SOURCE:=gst-plugins-base-$(PKG_VERSION).tar.xz
+PKG_SOURCE_URL:=https://gstreamer.freedesktop.org/src/gst-plugins-base
+PKG_HASH:=b13e73e2fe74a4166552f9577c3dcb24bed077021b9c7fa600d910ec6987816a
+PKG_BUILD_DIR:=$(BUILD_DIR)/gst-plugins-base-$(PKG_VERSION)
+
PKG_MAINTAINER:=W. Michael Petullo <mike@flyn.org> \
Ted Hess <thess@kitschensync.net>
-
-PKG_LICENSE:=LGPLv2 GPLv2
+PKG_LICENSE:=LGPL-2.1-or-later GPL-2.0-or-later
PKG_LICENSE_FILES:=COPYING.LIB COPYING
PKG_CPE_ID:=cpe:/a:gstreamer:gst-plugins-base
-PKG_BUILD_DIR:=$(BUILD_DIR)/gst-plugins-base-$(PKG_VERSION)
-PKG_SOURCE:=gst-plugins-base-$(PKG_VERSION).tar.xz
-PKG_SOURCE_URL:=https://gstreamer.freedesktop.org/src/gst-plugins-base
-PKG_HASH:=5c3cc489933d0597087c9bc6ba251c93693d64554bcc563539a084fa2d5fcb2b
+PKG_INSTALL:=1
+
+include $(INCLUDE_DIR)/package.mk
+include $(INCLUDE_DIR)/nls.mk
+include ../../devel/meson/meson.mk
PKG_CONFIG_DEPENDS:= \
CONFIG_PACKAGE_gst1-mod-alsa \
CONFIG_PACKAGE_gst1-mod-audiorate \
CONFIG_PACKAGE_gst1-mod-audioresample \
CONFIG_PACKAGE_gst1-mod-audiotestsrc \
+ CONFIG_PACKAGE_gst1-mod-playback \
CONFIG_PACKAGE_gst1-mod-gio \
CONFIG_PACKAGE_gst1-mod-ogg \
+ CONFIG_PACKAGE_gst1-mod-opus \
CONFIG_PACKAGE_gst1-mod-tcp \
CONFIG_PACKAGE_gst1-mod-theora \
+ CONFIG_PACKAGE_gst1-mod-typefind \
CONFIG_PACKAGE_gst1-mod-videoconvert \
+ CONFIG_PACKAGE_gst1-mod-videorate \
+ CONFIG_PACKAGE_gst1-mod-videoscale \
CONFIG_PACKAGE_gst1-mod-videotestsrc \
CONFIG_PACKAGE_gst1-mod-volume \
CONFIG_PACKAGE_gst1-mod-vorbis \
- CONFIG_PACKAGE_libgst1app \
-
-PKG_FIXUP:=autoreconf
-PKG_BUILD_PARALLEL:=1
-PKG_INSTALL:=1
-
-include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/nls.mk
+ CONFIG_PACKAGE_libgst1app
GST_BASE_LIBS:=
GST_BASE_MODULES:=
endef
-GST_COND_SELECT = $(patsubst %,$(if $(CONFIG_PACKAGE_gst1-mod-$(1)),--enable,--disable)-%,$(1))
+GST_COND_SELECT = -D$(1)=$(if $(CONFIG_PACKAGE_gst1-mod-$(1)),en,dis)abled
GST_VERSION:=1.0
-CONFIGURE_ARGS += \
- --disable-debug \
- --disable-examples \
- --disable-fatal-warnings \
- --disable-glib-asserts \
- --disable-gobject-cast-checks \
- --disable-gtk-doc-html \
- --disable-introspection \
- --disable-rpath \
- --disable-valgrind \
- --without-html-dir \
- --with-pic \
+MESON_ARGS += \
+ -Daudioresample_format=int \
+ -Dgl=disabled \
\
- $(call GST_COND_SELECT,alsa) \
+ $(call GST_COND_SELECT,adder) \
$(call GST_COND_SELECT,app) \
$(call GST_COND_SELECT,audioconvert) \
+ $(call GST_COND_SELECT,audiomixer) \
$(call GST_COND_SELECT,audiorate) \
$(call GST_COND_SELECT,audioresample) \
$(call GST_COND_SELECT,audiotestsrc) \
- --disable-cdparanoia \
+ $(call GST_COND_SELECT,compositor) \
+ $(call GST_COND_SELECT,encoding) \
$(call GST_COND_SELECT,gio) \
- --disable-libvisual \
- $(call GST_COND_SELECT,ogg) \
- --disable-pango \
- --disable-subparse \
+ $(call GST_COND_SELECT,overlaycomposition) \
+ $(call GST_COND_SELECT,pbtypes) \
+ $(call GST_COND_SELECT,playback) \
+ $(call GST_COND_SELECT,rawparse) \
+ $(call GST_COND_SELECT,subparse) \
$(call GST_COND_SELECT,tcp) \
- $(call GST_COND_SELECT,theora) \
+ -Dtypefind=$(if $(CONFIG_PACKAGE_gst1-mod-typefindfunctions),en,dis)abled \
+ $(call GST_COND_SELECT,videoconvert) \
$(call GST_COND_SELECT,videorate) \
$(call GST_COND_SELECT,videoscale) \
- $(call GST_COND_SELECT,videoconvert) \
$(call GST_COND_SELECT,videotestsrc) \
$(call GST_COND_SELECT,volume) \
- $(call GST_COND_SELECT,vorbis) \
- --disable-x \
- --disable-xshm \
- --disable-xvideo \
\
- --without-libiconv-prefix \
- --without-libintl-prefix \
+ $(call GST_COND_SELECT,alsa) \
+ $(call GST_COND_SELECT,cdparanoia) \
+ $(call GST_COND_SELECT,ogg) \
+ $(call GST_COND_SELECT,opus) \
+ $(call GST_COND_SELECT,pango) \
+ $(call GST_COND_SELECT,theora) \
+ $(call GST_COND_SELECT,vorbis) \
+ -Dx11=disabled \
+ -Dxshm=disabled \
+ -Dxvideo=disabled \
\
- --with-audioresample-format=int \
+ -Dexamples=disabled \
+ -Dtests=disabled \
+ -Dtools=disabled \
+ -Dgtk_doc=disabled \
+ -Dintrospection=disabled \
+ -Dnls=enabled \
+ -Dorc=disabled \
+ -Dgobject-cast-checks=disabled \
+ -Dglib-asserts=disabled \
+ -Dglib-checks=disabled
define Build/InstallDev
$(INSTALL_DIR) $(1)/usr/include/gstreamer-$(GST_VERSION)
)
$(INSTALL_DIR) $(1)/usr/lib
( cd $(PKG_INSTALL_DIR); $(CP) \
- ./usr/lib/libgst*-$(GST_VERSION).{la,so*} \
+ ./usr/lib/libgst*-$(GST_VERSION).so* \
$(1)/usr/lib/ \
)
$(INSTALL_DIR) $(1)/usr/lib/gstreamer-$(GST_VERSION)
( cd $(PKG_INSTALL_DIR); $(CP) \
- ./usr/lib/gstreamer-$(GST_VERSION)/libgst*.{la,so} \
+ ./usr/lib/gstreamer-$(GST_VERSION)/libgst*.so \
$(1)/usr/lib/gstreamer-$(GST_VERSION)/ \
)
$(INSTALL_DIR) $(1)/usr/lib/pkgconfig
+++ /dev/null
-diff -u --recursive gst-plugins-base-1.15.2-vanilla/configure.ac gst-plugins-base-1.15.2/configure.ac
---- gst-plugins-base-1.15.2-vanilla/configure.ac 2019-02-26 06:39:03.000000000 -0500
-+++ gst-plugins-base-1.15.2/configure.ac 2019-03-16 13:30:18.212618930 -0400
-@@ -1044,7 +1044,6 @@
- docs/libs/Makefile
- docs/plugins/Makefile
- docs/version.entities
--po/Makefile.in
- common/Makefile
- common/m4/Makefile
- m4/Makefile
-diff -u --recursive gst-plugins-base-1.15.2-vanilla/Makefile.am gst-plugins-base-1.15.2/Makefile.am
---- gst-plugins-base-1.15.2-vanilla/Makefile.am 2019-01-26 13:51:01.000000000 -0500
-+++ gst-plugins-base-1.15.2/Makefile.am 2019-03-16 13:30:03.006572636 -0400
-@@ -13,7 +13,6 @@
- tools \
- tests \
- docs \
-- po \
- common \
- m4
-
-@@ -24,7 +23,6 @@
- gst sys ext \
- tools \
- tests \
-- po \
- common \
- m4
-
include $(TOPDIR)/rules.mk
PKG_NAME:=gst1-plugins-good
-PKG_VERSION:=1.16.1
+PKG_VERSION:=1.16.2
PKG_RELEASE:=1
+PKG_SOURCE:=gst-plugins-good-$(PKG_VERSION).tar.xz
+PKG_SOURCE_URL:=https://gstreamer.freedesktop.org/src/gst-plugins-good/
+PKG_HASH:=40bb3bafda25c0b739c8fc36e48380fccf61c4d3f83747e97ac3f9b0171b1319
+PKG_BUILD_DIR:=$(BUILD_DIR)/gst-plugins-good-$(PKG_VERSION)
+
PKG_MAINTAINER:=W. Michael Petullo <mike@flyn.org> \
Ted Hess <thess@kitschensync.net>
-
-PKG_LICENSE:=LGPLv2
+PKG_LICENSE:=LGPL-2.1-or-later
PKG_LICENSE_FILES:=COPYING
PKG_CPE_ID:=cpe:/a:gstreamer:good_plug-ins
-PKG_BUILD_DIR:=$(BUILD_DIR)/gst-plugins-good-$(PKG_VERSION)
-PKG_SOURCE:=gst-plugins-good-$(PKG_VERSION).tar.xz
-PKG_SOURCE_URL:=https://gstreamer.freedesktop.org/src/gst-plugins-good/
-PKG_HASH:=9fbabe69018fcec707df0b71150168776040cde6c1a26bb5a82a136755fa8f1f
-
-PKG_CONFIG_DEPENDS:= \
- CONFIG_PACKAGE_gst1-mod-lame \
- CONFIG_PACKAGE_gst1-mod-mpg123 \
-
-PKG_FIXUP:=autoreconf
-PKG_BUILD_PARALLEL:=1
PKG_INSTALL:=1
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/nls.mk
+include ../../devel/meson/meson.mk
+
+PKG_CONFIG_DEPENDS:= \
+ CONFIG_PACKAGE_gst1-mod-lame \
+ CONFIG_PACKAGE_gst1-mod-mpg123
GST_GOOD_MODULES:=
endef
-GST_COND_SELECT = $(patsubst %,$(if $(CONFIG_PACKAGE_gst1-mod-$(1)),--enable,--disable)-%,$(1))
+GST_COND_SELECT = -D$(1)=$(if $(CONFIG_PACKAGE_gst1-mod-$(1)),en,dis)abled
GST_VERSION:=1.0
-CONFIGURE_ARGS += \
- $(call GST_COND_SELECT,lame) \
- $(call GST_COND_SELECT,mpg123) \
+MESON_ARGS += \
+ $(call GST_COND_SELECT,alpha) \
+ $(call GST_COND_SELECT,apetag) \
+ $(call GST_COND_SELECT,audiofx) \
+ $(call GST_COND_SELECT,audioparsers) \
+ $(call GST_COND_SELECT,auparse) \
+ $(call GST_COND_SELECT,autodetect) \
+ $(call GST_COND_SELECT,avi) \
+ $(call GST_COND_SELECT,cutter) \
+ -Ddebugutils=$(if $(CONFIG_PACKAGE_gst1-mod-debug),en,dis)abled \
+ $(call GST_COND_SELECT,deinterlace) \
+ $(call GST_COND_SELECT,dtmf) \
+ $(call GST_COND_SELECT,effectv) \
+ $(call GST_COND_SELECT,equalizer) \
+ $(call GST_COND_SELECT,flv) \
+ -Dflx=$(if $(CONFIG_PACKAGE_gst1-mod-flxdec),en,dis)abled \
+ $(call GST_COND_SELECT,goom) \
+ $(call GST_COND_SELECT,goom2k1) \
+ $(call GST_COND_SELECT,icydemux) \
+ $(call GST_COND_SELECT,id3demux) \
+ $(call GST_COND_SELECT,imagefreeze) \
+ $(call GST_COND_SELECT,interleave) \
+ $(call GST_COND_SELECT,isomp4) \
+ -Dlaw=$(if $(CONFIG_PACKAGE_gst1-mod-mulaw),en,dis)abled \
+ $(call GST_COND_SELECT,level) \
+ $(call GST_COND_SELECT,matroska) \
+ $(call GST_COND_SELECT,monoscope) \
+ $(call GST_COND_SELECT,multifile) \
+ $(call GST_COND_SELECT,multipart) \
+ $(call GST_COND_SELECT,replaygain) \
+ $(call GST_COND_SELECT,rtp) \
+ $(call GST_COND_SELECT,rtpmanager) \
+ $(call GST_COND_SELECT,rtsp) \
+ $(call GST_COND_SELECT,shapewipe) \
+ $(call GST_COND_SELECT,smpte) \
+ $(call GST_COND_SELECT,spectrum) \
+ $(call GST_COND_SELECT,udp) \
+ $(call GST_COND_SELECT,videobox) \
+ $(call GST_COND_SELECT,videofilter) \
+ $(call GST_COND_SELECT,videomixer) \
+ $(call GST_COND_SELECT,wavenc) \
+ $(call GST_COND_SELECT,wavparse) \
+ $(call GST_COND_SELECT,y4m) \
\
- --disable-Bsymbolic \
- --disable-debug \
- --disable-examples \
- --disable-fatal-warnings \
- --disable-glib-asserts \
- --disable-gobject-cast-checks \
- --disable-gtk-doc-html \
- --disable-rpath \
- --disable-valgrind \
- \
- --disable-aalib \
- --disable-annodex \
- --disable-bz2 \
- --disable-cairo \
- --disable-directsound \
- --disable-dv1394 \
- --disable-esd \
- --disable-gconf \
- --disable-gconftool \
- --disable-gdk_pixbuf \
- --disable-hal \
- --disable-libcaca \
- --disable-libdv \
- --disable-osx_audio \
- --disable-osx_video \
- --disable-pulse \
- --disable-qtdemux \
- --disable-rtspmanager \
- --disable-shout2 \
- --disable-sunaudio \
- --disable-wavpack \
- --disable-x \
- --disable-xshm \
- --disable-xvideo \
- --disable-y4m \
- --disable-zlib \
+ -Daalib=disabled \
+ -Dbz2=disabled \
+ -Dcairo=disabled \
+ -Ddirectsound=disabled \
+ -Ddv=disabled \
+ -Ddv1394=disabled \
+ $(call GST_COND_SELECT,flac) \
+ -Dgdk-pixbuf=disabled \
+ -Dgtk3=disabled \
+ -Djack=disabled \
+ $(call GST_COND_SELECT,jpeg) \
+ $(call GST_COND_SELECT,lame) \
+ -Dlibcaca=disabled \
+ $(call GST_COND_SELECT,mpg123) \
+ -Doss=$(if $(CONFIG_PACKAGE_gst1-mod-ossaudio),en,dis)abled \
+ $(call GST_COND_SELECT,oss4) \
+ -Dosxaudio=disabled \
+ -Dosxvideo=disabled \
+ $(call GST_COND_SELECT,png) \
+ -Dpulse=disabled \
+ -Dqt5=disabled \
+ $(call GST_COND_SELECT,shout2) \
+ $(call GST_COND_SELECT,soup) \
+ $(call GST_COND_SELECT,speex) \
+ -Dtaglib=disabled \
+ -Dtwolame=disabled \
+ $(call GST_COND_SELECT,vpx) \
+ -Dwaveform=disabled \
+ -Dwavpack=disabled \
\
- --without-gudev \
- --without-libv4l2 \
- --without-libiconv-prefix \
- --without-libintl-prefix
+ -Dximagesrc=disabled \
+ -Dv4l2=$(if $(CONFIG_PACKAGE_gst1-mod-video4linux2),en,dis)abled \
+ -Dexamples=disabled \
+ -Dtests=disabled \
+ -Dnls=enabled \
+ -Dorc=disabled \
+ -Dgobject-cast-checks=disabled \
+ -Dglib-asserts=disabled \
+ -Dglib-checks=disabled
define Package/gst1-plugins-good/install
/bin/true
$(eval $(call GstBuildPlugin,rtp,RTP,audio rtp tag pbutils video,,))
$(eval $(call GstBuildPlugin,rtsp,RTSP,net rtp rtsp sdp,,))
$(eval $(call GstBuildPlugin,shapewipe,shapewipe support,video,,))
-#$(eval $(call GstBuildPlugin,shout2,shout2 support,,,))
+$(eval $(call GstBuildPlugin,shout2,shout2 support,audio,,+libshout))
$(eval $(call GstBuildPlugin,smpte,smpte support,video,,))
$(eval $(call GstBuildPlugin,soup,soup input,audio tag,,+libsoup))
$(eval $(call GstBuildPlugin,spectrum,spectrum data output,audio fft,,))
-#$(eval $(call GstBuildPlugin,speex,speex support,audio tag,,))
-#$(eval $(call GstBuildPlugin,sty4menc,sty4menc support,video,,))
+$(eval $(call GstBuildPlugin,speex,speex support,audio tag,,+libspeex))
#$(eval $(call GstBuildPlugin,taglib,taglib support,tag,,))
$(eval $(call GstBuildPlugin,udp,UDP,net,,))
$(eval $(call GstBuildPlugin,video4linux2,video4linux2 support,video allocators,,+libv4l))
#$(eval $(call GstBuildPlugin,wavpack,Wav packer,audio riff tag,,))
$(eval $(call GstBuildPlugin,wavparse,Wav parser,audio riff tag,,))
#$(eval $(call GstBuildPlugin,ximagesrc,ximagesrc support,video,,))
+#$(eval $(call GstBuildPlugin,y4m,sty4menc support,video,,))
$(eval $(call BuildPackage,gstreamer1-plugins-good))
$(eval $(call BuildPackage,gst1-plugins-good))
+++ /dev/null
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -4,7 +4,6 @@ ALWAYS_SUBDIRS = \
- gst sys ext \
- tests \
- docs \
-- po \
- common \
- m4 \
- pkgconfig
---- a/configure.ac
-+++ b/configure.ac
-@@ -1292,7 +1292,6 @@ sys/osxvideo/Makefile
- sys/v4l2/Makefile
- sys/waveform/Makefile
- sys/ximage/Makefile
--po/Makefile.in
- tests/Makefile
- tests/check/Makefile
- tests/examples/Makefile
include $(TOPDIR)/rules.mk
PKG_NAME:=gst1-plugins-ugly
-PKG_VERSION:=1.16.1
+PKG_VERSION:=1.16.2
PKG_RELEASE:=1
-PKG_MAINTAINER:=W. Michael Petullo <mike@flyn.org> \
- Ted Hess <thess@kitschensync.net>
-
-PKG_LICENSE:=LGPLv2
-PKG_LICENSE_FILES:=COPYING
-
-PKG_BUILD_DIR:=$(BUILD_DIR)/gst-plugins-ugly-$(PKG_VERSION)
PKG_SOURCE:=gst-plugins-ugly-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=https://gstreamer.freedesktop.org/src/gst-plugins-ugly
-PKG_HASH:=4bf913b2ca5195ac3b53b5e3ade2dc7c45d2258507552ddc850c5fa425968a1d
+PKG_HASH:=5500415b865e8b62775d4742cbb9f37146a50caecfc0e7a6fc0160d3c560fbca
+PKG_BUILD_DIR:=$(BUILD_DIR)/gst-plugins-ugly-$(PKG_VERSION)
-PKG_CONFIG_DEPENDS:= \
- CONFIG_PACKAGE_gst1-mod-asf \
- CONFIG_PACKAGE_gst1-mod-mpeg2dec \
+PKG_MAINTAINER:=W. Michael Petullo <mike@flyn.org> \
+ Ted Hess <thess@kitschensync.net>
+PKG_LICENSE:=LGPL-2.1-or-later
+PKG_LICENSE_FILES:=COPYING
-PKG_FIXUP:=autoreconf
-PKG_BUILD_PARALLEL:=1
PKG_INSTALL:=1
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/nls.mk
+include ../../devel/meson/meson.mk
+
+PKG_CONFIG_DEPENDS:= \
+ CONFIG_PACKAGE_gst1-mod-asf \
+ CONFIG_PACKAGE_gst1-mod-mpeg2dec \
GST_UGLY_MODULES:=
endef
-GST_COND_SELECT = $(patsubst %,$(if $(CONFIG_PACKAGE_gst1-mod-$(1)),--enable,--disable)-%,$(1))
+GST_COND_SELECT = -D$(1)=$(if $(CONFIG_PACKAGE_gst1-mod-$(1)),en,dis)abled
GST_VERSION:=1.0
-CONFIGURE_ARGS += \
- --disable-debug \
- --disable-examples \
- --disable-fatal-warnings \
- --disable-glib-asserts \
- --disable-gobject-cast-checks \
- --disable-gtk-doc-html \
- --disable-valgrind \
- --disable-rpath \
+MESON_ARGS += \
+ -Dasfdemux=$(if $(CONFIG_PACKAGE_gst1-mod-asf),en,dis)abled \
+ -Ddvdlpcmdec=disabled \
+ -Ddvdsub=disabled \
+ -Drealmedia=disabled \
+ -Dxingmux=disabled \
\
- --disable-a52dec \
- --disable-amrnb \
- --disable-amrwb \
- $(call GST_COND_SELECT,asf) \
- --disable-cdio \
- --disable-dvdlpcmdec \
- --disable-dvdread \
- --disable-dvdsub \
- --disable-iec958 \
+ -Da52dec=disabled \
+ -Damrnb=disabled \
+ -Damrwbdec=disabled \
+ -Dcdio=disabled \
+ -Ddvdread=disabled \
$(call GST_COND_SELECT,mpeg2dec) \
- --disable-mpegaudioparse \
- --disable-mpegstream \
- --disable-realmedia \
- --disable-sidplay \
- --disable-synaesthesia \
- --disable-twolame \
- --disable-x264 \
+ -Dsidplay=disabled \
+ -Dx264=disabled \
\
- --without-libiconv-prefix \
- --without-libintl-prefix \
- --with-pic
+ -Dnls=enabled \
+ -Dorc=disabled \
+ -Dtests=disabled \
+ -Dgobject-cast-checks=disabled \
+ -Dglib-asserts=disabled \
+ -Dglib-checks=disabled
define Package/gst1-plugins-ugly/install
/bin/true
+++ /dev/null
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -1,7 +1,7 @@
- DISTCHECK_CONFIGURE_FLAGS=--enable-gtk-doc
-
- SUBDIRS = \
-- gst-libs gst ext docs m4 tests common pkgconfig po
-+ gst-libs gst ext docs m4 tests common pkgconfig
-
- EXTRA_DIST = \
- depcomp \
---- a/configure.ac
-+++ b/configure.ac
-@@ -427,7 +427,6 @@ tests/Makefile
- tests/check/Makefile
- tests/files/Makefile
- m4/Makefile
--po/Makefile.in
- pkgconfig/Makefile
- pkgconfig/gstreamer-plugins-ugly-uninstalled.pc
- )
include $(TOPDIR)/rules.mk
PKG_NAME:=gstreamer1
-PKG_VERSION:=1.16.1
+PKG_VERSION:=1.16.2
PKG_RELEASE:=1
+PKG_SOURCE:=gstreamer-$(PKG_VERSION).tar.xz
+PKG_SOURCE_URL:=https://gstreamer.freedesktop.org/src/gstreamer
+PKG_HASH:=e3f044246783fd685439647373fa13ba14f7ab0b346eadd06437092f8419e94e
+PKG_BUILD_DIR:=$(BUILD_DIR)/gstreamer-$(PKG_VERSION)
+
PKG_MAINTAINER:=W. Michael Petullo <mike@flyn.org> \
Ted Hess <thess@kitschensync.net>
-
-PKG_LICENSE:=LGPLv2
+PKG_LICENSE:=LGPL-2.1-or-later
PKG_LICENSE_FILES:=COPYING
PKG_CPE_ID:=cpe:/a:gstreamer_project:gstreamer
-PKG_BUILD_DIR:=$(BUILD_DIR)/gstreamer-$(PKG_VERSION)
-PKG_SOURCE:=gstreamer-$(PKG_VERSION).tar.xz
-PKG_SOURCE_URL:=https://gstreamer.freedesktop.org/src/gstreamer
-PKG_HASH:=02211c3447c4daa55919c5c0f43a82a6fbb51740d57fc3af0639d46f1cf4377d
-
-PKG_FIXUP:=autoreconf
-PKG_REMOVE_FILES:=autogen.sh aclocal.m4
-
-PKG_BUILD_PARALLEL:=1
PKG_INSTALL:=1
+PKG_BUILD_DEPENDS:=meson/host glib2/host
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/nls.mk
+include ../../devel/meson/meson.mk
define Package/gstreamer1/Default
CATEGORY:=Multimedia
SECTION:=multimedia
TITLE:=GStreamer
- URL:=http://gstreamer.freedesktop.org/
+ URL:=https://gstreamer.freedesktop.org/
DEPENDS:= $(ICONV_DEPENDS) $(INTL_DEPENDS)
endef
GST_VERSION:=1.0
-CONFIGURE_ARGS += \
- --enable-static \
- --disable-Bsymbolic \
- --disable-benchmarks \
- --disable-debug \
- --disable-examples \
- --disable-failing-tests \
- --disable-fatal-warnings \
- --disable-introspection \
- --disable-glib-asserts \
- --disable-gobject-cast-checks \
- --disable-gst-tracer-hooks \
- --disable-gst-debug \
- --disable-gtk-doc-html \
- --disable-rpath \
- --disable-tests \
- --disable-valgrind \
- --without-dw \
- --without-libiconv-prefix \
- --without-libintl-prefix \
- --without-unwind
+MESON_ARGS += \
+ -Dgst_debug=false \
+ -Dgst_parse=true \
+ -Dregistry=false \
+ -Dtracer_hooks=false \
+ -Dptp-helper-setuid-user=none \
+ -Dextra-checks=false \
+ -Doption-parsing=false \
+ -Dpoisoning=false \
+ -Dcheck=enabled \
+ -Dlibunwind=disabled \
+ -Dlibdw=disabled \
+ -Ddbghelp=disabled \
+ -Dbash-completion=disabled \
+ -Dexamples=disabled \
+ -Dbenchmarks=disabled \
+ -Dtools=enabled \
+ -Dgtk_doc=disabled \
+ -Dintrospection=disabled \
+ -Dnls=enabled \
+ -Dgobject-cast-checks=disabled \
+ -Dglib-asserts=disabled
define Build/InstallDev
$(INSTALL_DIR) $(1)/usr/include/gstreamer-$(GST_VERSION)
)
$(INSTALL_DIR) $(1)/usr/lib
( cd $(PKG_INSTALL_DIR); $(CP) \
- ./usr/lib/libgst*-$(GST_VERSION).{a,la,so*} \
+ ./usr/lib/libgst*-$(GST_VERSION).so* \
$(1)/usr/lib/ \
)
$(INSTALL_DIR) $(1)/usr/lib/gstreamer-$(GST_VERSION)
( cd $(PKG_INSTALL_DIR); $(CP) \
- ./usr/lib/gstreamer-$(GST_VERSION)/libgst*.{la,so} \
+ ./usr/lib/gstreamer-$(GST_VERSION)/libgst*.so \
$(1)/usr/lib/gstreamer-$(GST_VERSION)/ \
)
$(INSTALL_DIR) $(1)/usr/lib/pkgconfig
./usr/lib/gstreamer-$(GST_VERSION)/libgst*.so \
$(1)/usr/lib/gstreamer-$(GST_VERSION)/ \
)
- $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/gstreamer-$(GST_VERSION)/gst-plugin-scanner \
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/libexec/gstreamer-$(GST_VERSION)/gst-plugin-scanner \
$(1)/usr/lib/gstreamer-$(GST_VERSION)
endef
PKG_NAME:=youtube-dl
PKG_VERSION:=2020.3.24
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PYPI_NAME:=youtube_dl
PKG_HASH:=4b03efe439f7cae26eba909821d1df00a9a4eb82741cb2e8b78fe29702bd4633
+python3-codecs \
+python3-ctypes \
+python3-setuptools
- VARIANT:=python3
endef
define Package/youtube-dl/description
PKG_NAME:=acme
PKG_VERSION:=2.8.5
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/Neilpang/acme.sh/tar.gz/$(PKG_VERSION)?
define Package/acme
SECTION:=net
CATEGORY:=Network
- DEPENDS:=+gnu-wget +ca-bundle +openssl-util +socat
+ DEPENDS:=+wget-ssl +ca-bundle +openssl-util +socat
TITLE:=ACME (Letsencrypt) client
URL:=https://acme.sh
PKGARCH:=all
SECTION:=luci
CATEGORY:=LuCI
TITLE:=ACME package - LuCI interface
- DEPENDS:= lua luci-base luci-compat +acme
+ DEPENDS:= +luci-compat +acme
SUBMENU:=3. Applications
PKGARCH:=all
endef
include $(TOPDIR)/rules.mk
PKG_NAME:=adblock
-PKG_VERSION:=4.0.1
-PKG_RELEASE:=2
+PKG_VERSION:=4.0.4
+PKG_RELEASE:=4
PKG_LICENSE:=GPL-3.0-or-later
PKG_MAINTAINER:=Dirk Brenken <dev@brenken.org>
SECTION:=net
CATEGORY:=Network
TITLE:=Powerful adblock script to block ad/abuse domains by using DNS
- DEPENDS:=+jshn +jsonfilter +coreutils +coreutils-sort
+ DEPENDS:=+jshn +jsonfilter +coreutils +coreutils-sort +ca-bundle
PKGARCH:=all
endef
| adaway | x | S | mobile | [Link](https://github.com/AdAway/adaway.github.io) |
| adguard | x | L | general | [Link](https://adguard.com) |
| andryou | | L | compilation | [Link](https://gitlab.com/andryou/block/-/blob/master/readme.md) |
+| anudeep | | M | compilation | [Link](https://github.com/anudeepND/blacklist) |
| bitcoin | | S | mining | [Link](https://github.com/hoshsadiq/adblock-nocoin-list) |
| disconnect | x | S | general | [Link](https://disconnect.me) |
| dshield | | XL | general | [Link](https://dshield.org) |
| energized_blu | | XL | compilation | [Link](https://github.com/EnergizedProtection/block) |
| energized_porn | | XXL | compilation+porn | [Link](https://github.com/EnergizedProtection/block) |
| energized_unified | | XXL | compilation | [Link](https://github.com/EnergizedProtection/block) |
-| hphosts | | M | general | [Link](https://hosts-file.net) |
| malwaredomains | | M | malware | [Link](https://malwaredomains.com) |
| malwarelist | | S | malware | [Link](https://www.malwaredomainlist.com) |
| notracking | | XL | tracking | [Link](https://github.com/notracking/hosts-blocklists) |
| reg_fi | | S | reg_finland | [Link](https://github.com/finnish-easylist-addition) |
| reg_id | | M | reg_indonesia | [Link](https://easylist.to) |
| reg_nl | | M | reg_netherlands | [Link](https://easylist.to) |
-| reg_pl | | S | reg_poland | [Link](http://adblocklist.org) |
+| reg_pl | | M | reg_poland | [Link](https://kadantiscam.netlify.com) |
| reg_ro | | M | reg_romania | [Link](https://easylist.to) |
| reg_ru | | M | reg_russia | [Link](https://easylist.to) |
+| reg_vn | | M | reg_vietnam | [Link](https://bigdargon.github.io/hostsVN) |
| shallalist | | L | general | [Link](https://www.shallalist.de) |
| shallalist_porn | | XXL | general+porn | [Link](https://www.shallalist.de) |
| smarttv | | S | smarttv | [Link](https://github.com/Perflyst/PiHoleBlocklist) |
| spam404 | | S | general | [Link](https://github.com/Dawsey21) |
| stevenblack | | L | compilation | [Link](https://github.com/StevenBlack/hosts) |
+| stopforumspam | | S | spam | [Link](https://www.stopforumspam.com) |
| sysctl | | M | general | [Link](http://sysctl.org/cameleon) |
| utcapitole | | L | general | [Link](https://dsi.ut-capitole.fr/blacklists/index_en.php) |
| utcapitole_porn | | XXL | general+porn | [Link](https://dsi.ut-capitole.fr/blacklists/index_en.php) |
+| wally3k | | S | compilation | [Link](https://firebog.net/about) |
| whocares | | M | general | [Link](https://someonewhocares.org) |
| winhelp | | S | general | [Link](http://winhelp2002.mvps.org) |
| winspy | | S | win_telemetry | [Link](https://github.com/crazy-max/WindowsSpyBlocker) |
+| youtube | | M | youtube | [Link](https://github.com/kboghdady/youTube_ads_4_pi-hole) |
| yoyo | x | S | general | [Link](http://pgl.yoyo.org/adservers) |
* List of supported and fully pre-configured adblock sources, already active sources are pre-selected.
<b><em>To avoid OOM errors, please do not select too many lists!</em></b>
- List size recommendations as follows:
+ List size information with the respective domain ranges as follows:
• <b>S</b> (-10k), <b>M</b> (10k-30k) and <b>L</b> (30k-80k) should work for 128 MByte devices,
• <b>XL</b> (80k-200k) should work for 256-512 MByte devices,
• <b>XXL</b> (200k-) needs more RAM and Multicore support, e.g. x86 or raspberry devices.
<b>Please note:</b> Devices with less than 128 MByte RAM are _not_ supported!
* A usual setup with an enabled DNS backend at minimum - dump AP modes without a working DNS backend are _not_ supported
* A download utility with SSL support: 'wget', 'uclient-fetch' with one of the 'libustream-*' ssl libraries, 'aria2c' or 'curl' is required
+* A certificate store such as 'ca-bundle' or 'ca-certificates', as adblock checks the validity of the SSL certificates of all download sites by default
* Optional E-Mail notification support: for E-Mail notifications you need to install the additional 'msmtp' package
* Optional DNS Query Report support: for DNS reporting you need to install the additional package 'tcpdump-mini' or 'tcpdump'
+* Optional support for gnu awk as alternative to the busybox default, install the additional package 'gawk'
## Installation & Usage
* Update your local opkg repository (_opkg update_)
## Adblock CLI Options
* All important adblock functions are accessible via CLI as well.
-Please note: The 'status' command in 19.07.x and TurrisOS is only available via 'status_service'
+<b>Please note:</b> The 'status' command in 19.07.x and TurrisOS is only available via 'status_service'
<pre><code>
/etc/init.d/adblock
Syntax: /etc/init.d/adblock [command]
## Adblock Config Options
* Usually the auto pre-configured adblock setup works quite well and no manual overrides are needed
-| Option | Default | Description/Valid Values |
-| :---------------- | :------------------------ | :--------------------------------------------------------------------------------------------- |
-| adb_enabled | 1, enabled | set to 0 to disable the adblock service |
-| adb_dns | -, auto-detected | 'dnsmasq', 'unbound', 'named', 'kresd' or 'raw' |
-| adb_fetchutil | -, auto-detected | 'uclient-fetch', 'wget', 'curl' or 'aria2c' |
-| adb_fetchparm | -, auto-detected | special config options for the selected download utility |
-| adb_trigger | -, not set | trigger network interface or 'not set' to use a time-based startup |
-| adb_triggerdelay | 2 | additional trigger delay in seconds before adblock processing begins |
-| adb_debug | 0, disabled | set to 1 to enable the debug output |
-| adb_nice | 0, standard prio. | valid nice level range 0-19 of the adblock processes |
-| adb_forcedns | 0, disabled | set to 1 to force DNS requests to the local resolver |
-| adb_maxqueue | 4 | size of the download queue to handle downloads & list processing in parallel |
-| adb_dnsdir | -, auto-detected | path for the generated blocklist file 'adb_list.overall' |
-| adb_dnstimeout | 10 | timeout in seconds to wait for a successful DNS backend restart |
-| adb_dnsinstance | 0, first instance | set to the relevant dns backend instance used by adblock (dnsmasq only) |
-| adb_dnsfilereset | 0, disabled | set to 1 to purge the final DNS blocklist file after DNS backend loading |
-| adb_dnsflush | 0, disabled | set to 1 to flush the DNS Cache before & after adblock processing |
-| adb_dnsinotify | -, not set | set to 1 to prevent adblock triggered restarts for DNS backends with autoload functions |
-| adb_dnsallow | -, not set | set to 1 to disable selective DNS whitelisting (RPZ pass through) |
-| adb_lookupdomain | example.com | external domain to check for a successful DNS backend restart or 'false' to disable this check |
-| adb_portlist | 53 853 5353 | space separated list of firewall ports which should be redirected locally |
-| adb_report | 0, disabled | set to 1 to enable the background tcpdump gathering process for reporting |
-| adb_reportdir | /tmp | path for DNS related report files |
-| adb_repiface | -, auto-detected | name of the reporting interface or 'any' used by tcpdump |
-| adb_replisten | 53 | space separated list of reporting port(s) used by tcpdump |
-| adb_repchunkcnt | 5 | report chunk count used by tcpdump |
-| adb_repchunksize | 1 | report chunk size used by tcpdump in MB |
-| adb_backup | 1, enabled | set to 0 to disable the backup function |
-| adb_backupdir | /tmp | path for adblock backups |
-| adb_tmpbase | /tmp | path for all adblock related runtime operations, e.g. downloading, sorting, merging etc. |
-| adb_safesearch | 0, disabled | set to 1 to enforce SafeSearch for google, bing, duckduckgo, yandex, youtube and pixabay |
-| adb_safesearchmod | 0, disabled | set to 1 to enable moderate SafeSearch filters for youtube |
-| adb_mail | 0, disabled | set to 1 to enable notification E-Mails in case of a processing errors |
-| adb_mailreceiver | -, not set | receiver address for adblock notification E-Mails |
-| adb_mailsender | no-reply@adblock | sender address for adblock notification E-Mails |
-| adb_mailtopic | adblock notification | topic for adblock notification E-Mails |
-| adb_mailprofile | adb_notify | mail profile used in 'msmtp' for adblock notification E-Mails |
-| adb_mailcnt | 0 | minimum domain count to trigger E-Mail notifications |
-| adb_jail | 0 | set to 1 to enable the additional, restrictive 'adb_list.jail' creation |
-| adb_jaildir | /tmp | path for the generated jail list |
+| Option | Default | Description/Valid Values |
+| :---------------- | :--------------------------------- | :--------------------------------------------------------------------------------------------- |
+| adb_enabled | 1, enabled | set to 0 to disable the adblock service |
+| adb_srcarc | -, /etc/adblock/adblock.sources.gz | full path to the used adblock source archive |
+| adb_srcfile | -, /tmp/adb_sources.json | full path to the used adblock source file, which has a higher precedence than the archive file |
+| adb_dns | -, auto-detected | 'dnsmasq', 'unbound', 'named', 'kresd' or 'raw' |
+| adb_fetchutil | -, auto-detected | 'uclient-fetch', 'wget', 'curl' or 'aria2c' |
+| adb_fetchparm | -, auto-detected | config options for the selected download utility, e.g. to disable the certificate check |
+| adb_trigger | -, not set | trigger network interface or 'not set' to use a time-based startup |
+| adb_triggerdelay | 2 | additional trigger delay in seconds before adblock processing begins |
+| adb_debug | 0, disabled | set to 1 to enable the debug output |
+| adb_nice | 0, standard prio. | valid nice level range 0-19 of the adblock processes |
+| adb_forcedns | 0, disabled | set to 1 to force DNS requests to the local resolver |
+| adb_maxqueue | 4 | size of the download queue to handle downloads & list processing in parallel |
+| adb_dnsdir | -, auto-detected | path for the generated blocklist file 'adb_list.overall' |
+| adb_dnstimeout | 10 | timeout in seconds to wait for a successful DNS backend restart |
+| adb_dnsinstance | 0, first instance | set to the relevant dns backend instance used by adblock (dnsmasq only) |
+| adb_dnsfilereset | 0, disabled | set to 1 to purge the final DNS blocklist file after DNS backend loading |
+| adb_dnsflush | 0, disabled | set to 1 to flush the DNS Cache before & after adblock processing |
+| adb_dnsinotify | -, not set | set to 1 to prevent adblock triggered restarts for DNS backends with autoload functions |
+| adb_dnsallow | -, not set | set to 1 to disable selective DNS whitelisting (RPZ pass through) |
+| adb_lookupdomain | example.com | external domain to check for a successful DNS backend restart or 'false' to disable this check |
+| adb_portlist | 53 853 5353 | space separated list of firewall ports which should be redirected locally |
+| adb_report | 0, disabled | set to 1 to enable the background tcpdump gathering process for reporting |
+| adb_reportdir | /tmp | path for DNS related report files |
+| adb_repiface | -, auto-detected | name of the reporting interface or 'any' used by tcpdump |
+| adb_replisten | 53 | space separated list of reporting port(s) used by tcpdump |
+| adb_repchunkcnt | 5 | report chunk count used by tcpdump |
+| adb_repchunksize | 1 | report chunk size used by tcpdump in MB |
+| adb_backup | 1, enabled | set to 0 to disable the backup function |
+| adb_backupdir | /tmp | path for adblock backups |
+| adb_tmpbase | /tmp | path for all adblock related runtime operations, e.g. downloading, sorting, merging etc. |
+| adb_safesearch | 0, disabled | set to 1 to enforce SafeSearch for google, bing, duckduckgo, yandex, youtube and pixabay |
+| adb_safesearchmod | 0, disabled | set to 1 to enable moderate SafeSearch filters for youtube |
+| adb_mail | 0, disabled | set to 1 to enable notification E-Mails in case of a processing errors |
+| adb_mailreceiver | -, not set | receiver address for adblock notification E-Mails |
+| adb_mailsender | no-reply@adblock | sender address for adblock notification E-Mails |
+| adb_mailtopic | adblock notification | topic for adblock notification E-Mails |
+| adb_mailprofile | adb_notify | mail profile used in 'msmtp' for adblock notification E-Mails |
+| adb_mailcnt | 0 | minimum domain count to trigger E-Mail notifications |
+| adb_jail | 0 | set to 1 to enable the additional, restrictive 'adb_list.jail' creation |
+| adb_jaildir | /tmp | path for the generated jail list |
## Examples
**Change the DNS backend to 'unbound':**
**Change the DNS backend to 'kresd':**
Adblock deposits the final blocklist 'adb_list.overall' in '/etc/kresd', no further configuration needed.
-Please note: The knot-resolver (kresd) is only available on Turris devices and does not support the SafeSearch functionality yet.
+<b>Please note:</b> The knot-resolver (kresd) is only available on Turris devices and does not support the SafeSearch functionality yet.
**Enable E-Mail notification via 'msmtp':**
To use the email notification you have to install & configure the package 'msmtp'.
/etc/init.d/adblock status_service
::: adblock runtime information
+ adblock_status : enabled
- + adblock_version : 4.0.0
+ + adblock_version : 4.0.2
+ blocked_domains : 52420
+ active_sources : adaway adguard andryou bitcoin disconnect winspy yoyo
+ dns_backend : kresd, /etc/kresd
+ run_ifaces : trigger: trm_wwan, report: br-lan
+ run_directories : base: /tmp, backup: /tmp, report: /tmp, jail: /tmp
+ run_flags : backup: 1, reset: 0, flush: 0, force: 1, search: 0, report: 1, mail: 0, jail: 0
- + last_run : start, 0m 17s, 496/198/218, 27.03.2020 08:55:14
+ + last_run : start, 0m 17s, 496/198/218, 03.04.2020 08:55:14
+ system : CZ.NIC Turris Mox Board, TurrisOS 5.1.0 81264ebb51991aa2d17489852854e3b5ec3f514d
</code></pre>
-The 'last\_run' line includes the used start type, the duration of the last run, the memory footprint after DNS backend loading (total/free/available) and the date/time of the last run.
+The 'last\_run' line includes the used start type, the run duration, the memory footprint after DNS backend loading (total/free/available) and the date/time of the last run.
**Edit, add new adblock sources:**
The adblock blocklist sources are stored in an external, compressed JSON file '/etc/adblock/adblock.sources.gz'.
},
[...]
</code></pre>
-Add an unique object name, make the required changes to 'url', 'rule', 'size' and 'descurl' and finally compress the changed JSON file _gzip /etc/adblock/adblock.sources.gz_ to use the new source object in adblock.
+Add an unique object name, make the required changes to 'url', 'rule', 'size' and 'descurl' and finally compress the changed JSON file _gzip /etc/adblock/adblock.sources.gz_ to use the new source object in adblock.
+<b>Please note:</b> if you're going to add new sources on your own, please make a copy of the default file and work with that copy further on, cause the default will be overwritten with every adblock update. To reference your copy set the option 'adb\_srcarc' which points by default to '/etc/adblock/adblock.sources.gz'
+<b>Please note:</b> when adblock starts, it looks for the uncompressed 'adb\_srcfile', only if this file is not found the archive 'adb\_srcarc' is unpacked once and then the uncompressed file is used
## Support
Please join the adblock discussion in this [forum thread](https://forum.openwrt.org/t/adblock-support-thread/507) or contact me by mail <dev@brenken.org>
src_archive="$(uci_get adblock global adb_srcarc "/etc/adblock/adblock.sources.gz")"
src_file="$(uci_get adblock global adb_srcfile "/tmp/adb_sources.json")"
src_enabled="$(uci -q show adblock.global.adb_sources)"
- if [ -r "${src_archive}" ]
+ if [ ! -r "${src_file}" ]
then
- zcat "${src_archive}" > "${src_file}"
- else
- printf "%s\\n" "::: adblock source archive '${src_archive}' not found"
+ if [ -r "${src_archive}" ]
+ then
+ zcat "${src_archive}" > "${src_file}"
+ else
+ printf "%s\\n" "::: adblock source archive '${src_archive}' not found"
+ fi
fi
if [ -r "${src_file}" ]
then
# This is free software, licensed under the GNU General Public License v3.
# set (s)hellcheck exceptions
-# shellcheck disable=1091 disable=2016 disable=2039 disable=2086 disable=2143 disable=2181 disable=2188
+# shellcheck disable=1091,2016,2039,2059,2086,2143,2181,2188
# set initial defaults
#
export LC_ALL=C
export PATH="/usr/sbin:/usr/bin:/sbin:/bin"
set -o pipefail
-adb_ver="4.0.1"
+adb_ver="4.0.4"
adb_enabled=0
adb_debug=0
adb_forcedns=0
adb_whitelist="/etc/adblock/adblock.whitelist"
adb_ubusservice="/etc/adblock/adblock.monitor"
adb_mailservice="/etc/adblock/adblock.mail"
-adb_srcarc="/etc/adblock/adblock.sources.gz"
adb_dnsfile="${adb_dnsprefix}.overall"
adb_dnsjail="${adb_dnsprefix}.jail"
+adb_srcarc="/etc/adblock/adblock.sources.gz"
adb_srcfile="${adb_tmpbase}/adb_sources.json"
adb_rtfile="${adb_tmpbase}/adb_runtime.json"
adb_loggercmd="$(command -v logger)"
if [ "${dns_up}" != "true" ]
then
f_dnsup 4
- if [ "${rc}" -ne 0 ]
+ if [ "${?}" -ne 0 ]
then
f_log "err" "dns backend '${adb_dns}' not running or executable"
fi
fi
case "${adb_fetchutil}" in
"aria2c")
- adb_fetchparm="${adb_fetchparm:-"--timeout=20 --allow-overwrite=true --auto-file-renaming=false --check-certificate=true --dir=" " -o"}"
+ adb_fetchparm="${adb_fetchparm:-"--timeout=20 --allow-overwrite=true --auto-file-renaming=false --check-certificate=true --dir= -o"}"
;;
"curl")
adb_fetchparm="${adb_fetchparm:-"--connect-timeout 20 --silent --show-error --location -o"}"
#
f_extconf()
{
- local config instance port fwcfg
+ local config config_dir config_file port fwcfg
case "${adb_dns}" in
"dnsmasq")
config="dhcp"
- for instance in ${adb_dnsinstance}
- do
- if [ "${adb_enabled}" -eq 1 ] && [ -z "$(uci_get dhcp "@dnsmasq[${instance}]" confdir | grep -Fo "${adb_dnsdir}")" ]
- then
- uci_set dhcp "@dnsmasq[${instance}]" confdir "${adb_dnsdir}"
- elif [ "${adb_enabled}" -eq 0 ] && [ -n "$(uci_get dhcp "@dnsmasq[${instance}]" confdir | grep -Fo "${adb_dnsdir}")" ]
- then
- uci_remove dhcp "@dnsmasq[${instance}]" confdir
- fi
- done
+ config_dir="$(uci_get dhcp "@dnsmasq[${adb_dnsinstance}]" confdir | grep -Fo "${adb_dnsdir}")"
+ if [ "${adb_enabled}" -eq 1 ] && [ -z "${config_dir}" ]
+ then
+ uci_set dhcp "@dnsmasq[${adb_dnsinstance}]" confdir "${adb_dnsdir}" 2>/dev/null
+ fi
;;
"kresd")
config="resolver"
- if [ "${adb_enabled}" -eq 1 ] && [ -z "$(uci_get resolver kresd rpz_file | grep -Fo "${adb_dnsdir}/${adb_dnsfile}")" ]
+ config_file="$(uci_get resolver kresd rpz_file | grep -Fo "${adb_dnsdir}/${adb_dnsfile}")"
+ if [ "${adb_enabled}" -eq 1 ] && [ -z "${config_file}" ]
then
uci -q add_list resolver.kresd.rpz_file="${adb_dnsdir}/${adb_dnsfile}"
- elif [ "${adb_enabled}" -eq 0 ] && [ -n "$(uci_get resolver kresd rpz_file | grep -Fo "${adb_dnsdir}/${adb_dnsfile}")" ]
+ elif [ "${adb_enabled}" -eq 0 ] && [ -n "${config_file}" ]
then
uci -q del_list resolver.kresd.rpz_file="${adb_dnsdir}/${adb_dnsfile}"
fi
- if [ "${adb_enabled}" -eq 1 ] && [ "${adb_dnsflush}" -eq 0 ] && [ "$(uci_get resolver kresd keep_cache)" != "1" ]
- then
- uci_set resolver kresd keep_cache "1"
- elif [ "${adb_enabled}" -eq 0 ] || { [ "${adb_dnsflush}" -eq 1 ] && [ "$(uci_get resolver kresd keep_cache)" = "1" ]; }
- then
- uci_set resolver kresd keep_cache "0"
- fi
;;
esac
f_uci "${config}"
do
if [ -z "$(printf "%s" "${fwcfg}" | grep -Fo -m1 "adblock_dns_${port}")" ]
then
- uci_add firewall "redirect" "adblock_dns_${port}"
- uci_set firewall "adblock_dns_${port}" "name" "Adblock DNS, port ${port}"
- uci_set firewall "adblock_dns_${port}" "src" "lan"
- uci_set firewall "adblock_dns_${port}" "proto" "tcp udp"
- uci_set firewall "adblock_dns_${port}" "src_dport" "${port}"
- uci_set firewall "adblock_dns_${port}" "dest_port" "${port}"
- uci_set firewall "adblock_dns_${port}" "target" "DNAT"
+ uci -q batch <<-EOC
+ set firewall."adblock_dns_${port}"="redirect"
+ set firewall."adblock_dns_${port}".name="Adblock DNS, port ${port}"
+ set firewall."adblock_dns_${port}".src="lan"
+ set firewall."adblock_dns_${port}".proto="tcp udp"
+ set firewall."adblock_dns_${port}".src_dport="${port}"
+ set firewall."adblock_dns_${port}".dest_port="${port}"
+ set firewall."adblock_dns_${port}".target="DNAT"
+ EOC
fi
done
elif [ "${adb_enabled}" -eq 0 ] || [ "${adb_forcedns}" -eq 0 ]
"/etc/init.d/${adb_dns}" restart >/dev/null 2>&1
restart_rc="${?}"
fi
- if [ "${restart_rc}" -eq 0 ]
+ if [ "${restart_rc}" = "0" ]
then
while [ "${cnt}" -le "${adb_dnstimeout}" ]
do
fi
else
sleep ${adb_dnstimeout}
+ cnt=${adb_dnstimeout}
out_rc=0
break
fi
then
eval "${adb_dnsallow}" "${adb_tmpdir}/tmp.raw.${src_name}" > "${adb_tmpdir}/tmp.add.${src_name}"
out_rc="${?}"
- if [ "${out_rc}" -eq 0 ] && [ "${adb_jail}" = "1" ] && [ "${adb_dnssstop}" != "0" ]
+ if [ "${out_rc}" -eq 0 ] && [ "${adb_jail}" = "1" ] && [ "${adb_dnsstop}" != "0" ]
then
> "${adb_jaildir}/${adb_dnsjail}"
if [ -n "${adb_dnsheader}" ]
then
if [ -s "${adb_tmpdir}/tmp.rem.whitelist" ]
then
- "${adb_awk}" "${src_rset}" "${src_tmpload}" | \
- grep -Evf "${adb_tmpdir}/tmp.rem.whitelist" | \
- "${adb_awk}" 'BEGIN{FS="."}{for(f=NF;f>1;f--)printf "%s.",$f;print $1}' > "${src_tmpsort}"
+ "${adb_awk}" "${src_rset}" "${src_tmpload}" | sed "s/\r//g" | \
+ grep -Evf "${adb_tmpdir}/tmp.rem.whitelist" | "${adb_awk}" 'BEGIN{FS="."}{for(f=NF;f>1;f--)printf "%s.",$f;print $1}' > "${src_tmpsort}"
else
- "${adb_awk}" "${src_rset}" "${src_tmpload}" | \
+ "${adb_awk}" "${src_rset}" "${src_tmpload}" | sed "s/\r//g" | \
"${adb_awk}" 'BEGIN{FS="."}{for(f=NF;f>1;f--)printf "%s.",$f;print $1}' > "${src_tmpsort}"
fi
rm -f "${src_tmpload}"
then
if [ -s "${adb_tmpdir}/tmp.rem.whitelist" ]
then
- "${adb_awk}" "${src_rset}" "${src_tmpload}" | \
- grep -Evf "${adb_tmpdir}/tmp.rem.whitelist" | \
- "${adb_awk}" 'BEGIN{FS="."}{for(f=NF;f>1;f--)printf "%s.",$f;print $1}' > "${src_tmpsort}"
+ "${adb_awk}" "${src_rset}" "${src_tmpload}" | sed "s/\r//g" | \
+ grep -Evf "${adb_tmpdir}/tmp.rem.whitelist" | "${adb_awk}" 'BEGIN{FS="."}{for(f=NF;f>1;f--)printf "%s.",$f;print $1}' > "${src_tmpsort}"
else
- "${adb_awk}" "${src_rset}" "${src_tmpload}" | \
+ "${adb_awk}" "${src_rset}" "${src_tmpload}" | sed "s/\r//g" | \
"${adb_awk}" 'BEGIN{FS="."}{for(f=NF;f>1;f--)printf "%s.",$f;print $1}' > "${src_tmpsort}"
fi
rm -f "${src_tmpload}"
do
(
"${adb_dumpcmd}" -tttt -r "${file}" 2>/dev/null | \
- "${adb_awk}" -v cnt="${cnt}" '!/\.lan\. |PTR\? | SOA\? /&&/ A[\? ]+|NXDomain|0\.0\.0\.0/{a=$1;b=substr($2,0,8);c=$4;sub(/\.[0-9]+$/,"",c);d=cnt $7;sub(/\*$/,"",d);e=$(NF-1);sub(/[0-9]\/[0-9]\/[0-9]|0\.0\.0\.0/,"NX",e);sub(/\.$/,"",e);sub(/([0-9]{1,3}\.){3}[0-9]{1,3}/,"OK",e);printf "%s\t%s\t%s\t%s\t%s\n",d,e,a,b,c}' >> "${adb_reportdir}/adb_report.raw"
+ "${adb_awk}" -v cnt="${cnt}" '!/\.lan\. |PTR\? | SOA\? /&&/ A[\? ]+|NXDomain|0\.0\.0\.0/{a=$1;b=substr($2,0,8);c=$4;sub(/\.[0-9]+$/,"",c);d=cnt $7;sub(/\*$/,"",d);
+ e=$(NF-1);sub(/[0-9]\/[0-9]\/[0-9]|0\.0\.0\.0/,"NX",e);sub(/\.$/,"",e);sub(/([0-9]{1,3}\.){3}[0-9]{1,3}/,"OK",e);printf "%s\t%s\t%s\t%s\t%s\n",d,e,a,b,c}' >> "${adb_reportdir}/adb_report.raw"
)&
hold=$((cnt%adb_maxqueue))
if [ "${hold}" -eq 0 ]
wait
if [ -s "${adb_reportdir}/adb_report.raw" ]
then
- sort ${adb_srtopts} -k 3 -k 4 -k 5 -k 1 -ur "${adb_reportdir}/adb_report.raw" | \
- "${adb_awk}" '{currA=($1+0);currB=$1;currC=substr($1,length($1),1);if(reqA==currB){reqA=0;printf "%s\t%s\n",d,$2}else if(currC=="+"){reqA=currA;d=$3"\t"$4"\t"$5"\t"$2}}' > "${adb_reportdir}/adb_report.srt"
+ sort ${adb_srtopts} -k1 -k3 -k4 -k5 -k1 -ur "${adb_reportdir}/adb_report.raw" | \
+ "${adb_awk}" '{currA=($1+0);currB=$1;currC=substr($1,length($1),1);if(reqA==currB){reqA=0;printf "%s\t%s\n",d,$2}else if(currC=="+"){reqA=currA;d=$3"\t"$4"\t"$5"\t"$2}}' | \
+ sort ${adb_srtopts} -k1 -k2 -k3 -k4 -ur > "${adb_reportdir}/adb_report.srt"
+ rm -f "${adb_reportdir}/adb_report.raw"
fi
if [ -s "${adb_reportdir}/adb_report.srt" ]
case "${top}" in
"top_clients")
"${adb_awk}" '{print $3}' "${adb_reportdir}/adb_report.srt" | sort ${adb_srtopts} | uniq -c | \
- sort ${adb_srtopts} -nr | "${adb_awk}" '{ORS=" ";if(NR==1)printf "\{ \"count\": \"%s\", \"address\": \"%s\" }",$1,$2; else if(NR<10)printf ", \{ \"count\": \"%s\", \"address\": \"%s\" }",$1,$2}' >> "${adb_reportdir}/adb_report.json"
+ sort ${adb_srtopts} -nr | "${adb_awk}" '{ORS=" ";if(NR==1)printf "{ \"count\": \"%s\", \"address\": \"%s\" }",$1,$2; else if(NR<10)printf ", { \"count\": \"%s\", \"address\": \"%s\" }",$1,$2}' >> "${adb_reportdir}/adb_report.json"
;;
"top_domains")
"${adb_awk}" '{if($5!="NX")print $4}' "${adb_reportdir}/adb_report.srt" | sort ${adb_srtopts} | uniq -c | \
- sort ${adb_srtopts} -nr | "${adb_awk}" '{ORS=" ";if(NR==1)printf "\{ \"count\": \"%s\", \"address\": \"%s\" }",$1,$2; else if(NR<10)printf ", \{ \"count\": \"%s\", \"address\": \"%s\" }",$1,$2}' >> "${adb_reportdir}/adb_report.json"
+ sort ${adb_srtopts} -nr | "${adb_awk}" '{ORS=" ";if(NR==1)printf "{ \"count\": \"%s\", \"address\": \"%s\" }",$1,$2; else if(NR<10)printf ", { \"count\": \"%s\", \"address\": \"%s\" }",$1,$2}' >> "${adb_reportdir}/adb_report.json"
;;
"top_blocked")
"${adb_awk}" '{if($5=="NX")print $4}' "${adb_reportdir}/adb_report.srt" | sort ${adb_srtopts} | uniq -c | \
- sort ${adb_srtopts} -nr | "${adb_awk}" '{ORS=" ";if(NR==1)printf "\{ \"count\": \"%s\", \"address\": \"%s\" }",$1,$2; else if(NR<10)printf ", \{ \"count\": \"%s\", \"address\": \"%s\" }",$1,$2}' >> "${adb_reportdir}/adb_report.json"
+ sort ${adb_srtopts} -nr | "${adb_awk}" '{ORS=" ";if(NR==1)printf "{ \"count\": \"%s\", \"address\": \"%s\" }",$1,$2; else if(NR<10)printf ", { \"count\": \"%s\", \"address\": \"%s\" }",$1,$2}' >> "${adb_reportdir}/adb_report.json"
;;
esac
printf "%s" " ], " >> "${adb_reportdir}/adb_report.json"
done
search="${search//./\\.}"
search="${search//[+*~%\$&\"\' ]/}"
- "${adb_awk}" "BEGIN{i=0;printf \"%s\",\"\\\"requests\\\": [ \" }/(${search})/{i++;if(i==1)printf \"\{ \\\"date\\\": \\\"%s\\\", \\\"time\\\": \\\"%s\\\", \\\"client\\\": \\\"%s\\\", \\\"domain\\\": \\\"%s\\\", \\\"rc\\\": \\\"%s\\\" }\",\$1,\$2,\$3,\$4,\$5;else if(i<=${count})printf \", { \\\"date\\\": \\\"%s\\\", \\\"time\\\": \\\"%s\\\", \\\"client\\\": \\\"%s\\\", \\\"domain\\\": \\\"%s\\\", \\\"rc\\\": \\\"%s\\\" }\",\$1,\$2,\$3,\$4,\$5}END{printf \"%s\" \" \] } }\n\"}" "${adb_reportdir}/adb_report.srt" >> "${adb_reportdir}/adb_report.json"
+ "${adb_awk}" "BEGIN{i=0;printf \"\\\"requests\\\": [ \" }/(${search})/{i++;if(i==1)printf \"{ \\\"date\\\": \\\"%s\\\", \\\"time\\\": \\\"%s\\\", \\\"client\\\": \\\"%s\\\", \\\"domain\\\": \\\"%s\\\", \\\"rc\\\": \\\"%s\\\" }\",\$1,\$2,\$3,\$4,\$5;else if(i<=${count})printf \", { \\\"date\\\": \\\"%s\\\", \\\"time\\\": \\\"%s\\\", \\\"client\\\": \\\"%s\\\", \\\"domain\\\": \\\"%s\\\", \\\"rc\\\": \\\"%s\\\" }\",\$1,\$2,\$3,\$4,\$5}END{printf \" ] } }\n\"}" "${adb_reportdir}/adb_report.srt" >> "${adb_reportdir}/adb_report.json"
+ rm -f "${adb_reportdir}/adb_report.srt"
fi
- rm -f "${adb_reportdir}/adb_report.raw" "${adb_reportdir}/adb_report.srt"
fi
if [ -s "${adb_reportdir}/adb_report.json" ]
"focus": "compilation",
"descurl": "https://gitlab.com/andryou/block/-/blob/master/readme.md"
},
+ "anudeep": {
+ "url": "https://raw.githubusercontent.com/anudeepND/blacklist/master/adservers.txt",
+ "rule": "/^0\\.0\\.0\\.0[[:space:]]+([[:alnum:]_-]+\\.)+[[:alpha:]]+([[:space:]]|$)/{print tolower($2)}",
+ "size": "M",
+ "focus": "compilation",
+ "descurl": "https://github.com/anudeepND/blacklist"
+ },
"bitcoin": {
"url": "https://raw.githubusercontent.com/hoshsadiq/adblock-nocoin-list/master/hosts.txt",
"rule": "/^0\\.0\\.0\\.0[[:space:]]+([[:alnum:]_-]+\\.)+[[:alpha:]]+([[:space:]]|$)/{print tolower($2)}",
"focus": "compilation",
"descurl": "https://github.com/EnergizedProtection/block"
},
- "hphosts": {
- "url": "https://hosts-file.net/ad_servers.txt",
- "rule": "/^127\\.0\\.0\\.1[[:space:]]+([[:alnum:]_-]+\\.)+[[:alpha:]]+([[:space:]]|$)/{print tolower($2)}",
- "size": "M",
- "focus": "general",
- "descurl": "https://hosts-file.net"
- },
"malwaredomains": {
"url": "http://mirror.espoch.edu.ec/malwaredomains/justdomains",
"rule": "/^([[:alnum:]_-]+\\.)+[[:alpha:]]+([[:space:]]|$)/{print tolower($1)}",
"descurl": "https://easylist.to"
},
"reg_pl": {
- "url": "http://adblocklist.org/adblock-pxf-polish.txt",
- "rule": "BEGIN{FS=\"[|^]\"}/^\\|\\|([[:alnum:]_-]+\\.)+[[:alpha:]]+\\^(\\$third-party)?$/{print tolower($3)}",
+ "url": "https://raw.githubusercontent.com/PolishFiltersTeam/KADhosts/master/KADhosts_without_controversies.txt",
+ "rule": "/^0\\.0\\.0\\.0[[:space:]]+([[:alnum:]_-]+\\.)+[[:alpha:]]+([[:space:]]|$)/{print tolower($2)}",
"size": "S",
"focus": "reg_poland",
- "descurl": "http://adblocklist.org"
+ "descurl": "https://kadantiscam.netlify.com"
},
"reg_ro": {
"url": "https://easylist-downloads.adblockplus.org/rolist+easylist.txt",
"focus": "reg_russia",
"descurl": "https://easylist.to"
},
+ "reg_vn": {
+ "url": "https://raw.githubusercontent.com/bigdargon/hostsVN/master/hosts",
+ "rule": "/^0\\.0\\.0\\.0[[:space:]]+([[:alnum:]_-]+\\.)+[[:alpha:]]+([[:space:]]|$)/{print tolower($2)}",
+ "size": "S",
+ "focus": "reg_vietnam",
+ "descurl": "https://bigdargon.github.io/hostsVN"
+ },
"shallalist": {
"url": "https://www.shallalist.de/Downloads/shallalist.tar.gz",
"rule": "/^([[:alnum:]_-]+\\.)+[[:alpha:]]+([[:space:]]|$)/{print tolower($1)}",
"focus": "compilation",
"descurl": "https://github.com/StevenBlack/hosts"
},
+ "stopforumspam": {
+ "url": "https://www.stopforumspam.com/downloads/toxic_domains_whole.txt",
+ "rule": "/^[[:space:]]*([[:alnum:]_-]+\\.)+[[:alpha:]]+([[:space:]]|$)/{print tolower($1)}",
+ "size": "S",
+ "focus": "spam",
+ "descurl": "https://www.stopforumspam.com"
+ },
"sysctl": {
"url": "http://sysctl.org/cameleon/hosts",
"rule": "/^127\\.0\\.0\\.1[[:space:]]+([[:alnum:]_-]+\\.)+[[:alpha:]]+([[:space:]]|$)/{print tolower($2)}",
"focus": "general+porn",
"descurl": "https://dsi.ut-capitole.fr/blacklists/index_en.php"
},
+ "wally3k": {
+ "url": "https://v.firebog.net/hosts/static/w3kbl.txt",
+ "rule": "/^([[:alnum:]_-]+\\.)+[[:alpha:]]+([[:space:]]|$)/{print tolower($1)}",
+ "size": "S",
+ "focus": "compilation",
+ "descurl": "https://firebog.net/about"
+ },
"whocares": {
"url": "https://someonewhocares.org/hosts/hosts",
"rule": "/^127\\.0\\.0\\.1[[:space:]]+([[:alnum:]_-]+\\.)+[[:alpha:]]+([[:space:]]|$)/{print tolower($2)}",
"focus": "win_telemetry",
"descurl": "https://github.com/crazy-max/WindowsSpyBlocker"
},
+ "youtube": {
+ "url": "https://raw.githubusercontent.com/kboghdady/youTube_ads_4_pi-hole/master/black.list",
+ "rule": "/^([[:alnum:]_-]+\\.)+[[:alpha:]]+([[:space:]]|$)/{print tolower($1)}",
+ "size": "M",
+ "focus": "youtube",
+ "descurl": "https://github.com/kboghdady/youTube_ads_4_pi-hole"
+ },
"yoyo": {
"url": "https://pgl.yoyo.org/adservers/serverlist.php?hostformat=nohtml&showintro=0&mimetype=plaintext",
"rule": "/^([[:alnum:]_-]+\\.)+[[:alpha:]]+([[:space:]]|$)/{print tolower($1)}",
include $(TOPDIR)/rules.mk
PKG_NAME:=apache
-PKG_VERSION:=2.4.41
-PKG_RELEASE:=6
+PKG_VERSION:=2.4.43
+PKG_RELEASE:=1
PKG_SOURCE_NAME:=httpd
PKG_SOURCE:=$(PKG_SOURCE_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=@APACHE/httpd/
-PKG_HASH:=133d48298fe5315ae9366a0ec66282fa4040efa5d566174481077ade7d18ea40
+PKG_HASH:=a497652ab3fc81318cdc2a203090a999150d86461acff97c1065dc910fe10f43
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_SOURCE_NAME)-$(PKG_VERSION)
ac_cv_gettid=yes \
ap_cv_void_ptr_lt_long=no
-define Build/Prepare
- $(call Build/Prepare/Default)
- $(INSTALL_DATA) ./files/openwrt.layout $(PKG_BUILD_DIR)/config.layout
-endef
-
define Build/InstallDev
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/apxs $(1)/usr/bin
$(INSTALL_DIR) $(1)/usr/share/apache2/build
$(CP) $(PKG_INSTALL_DIR)/usr/share/apache2/build/* \
$(1)/usr/share/apache2/build
- $(SED) 's%/usr/share/apache2/build%$(STAGING_DIR)/usr/share/apache2/build%' \
- $(1)/usr/bin/apxs
$(SED) 's%^prefix =.*%prefix = $(STAGING_DIR)/usr%' \
$(1)/usr/share/apache2/build/config_vars.mk
endef
+++ /dev/null
-
-<Layout OpenWrt>
- prefix: /usr
- exec_prefix: ${prefix}
- bindir: ${prefix}/bin
- sbindir: ${prefix}/sbin
- libdir: ${prefix}/lib
- libexecdir: ${prefix}/lib+
- mandir: ${prefix}/share/man
- sysconfdir: /etc+
- datadir: ${prefix}/share+
- installbuilddir: ${datadir}/build
- errordir: ${datadir}/error
- iconsdir: ${datadir}/icons
- htdocsdir: ${datadir}/htdocs
- manualdir: /usr/share/doc/apache2/manual
- cgidir: ${datadir}/cgi-bin
- includedir: ${prefix}/include+
- localstatedir: /var
- runtimedir: ${localstatedir}/run+
- logfiledir: ${localstatedir}/log+
- proxycachedir: ${localstatedir}/cache/apache2
-</Layout>
-
+++ /dev/null
---- a/modules/ssl/mod_ssl.c
-+++ b/modules/ssl/mod_ssl.c
-@@ -328,6 +328,7 @@ static int modssl_is_prelinked(void)
-
- static apr_status_t ssl_cleanup_pre_config(void *data)
- {
-+#if MODSSL_USE_OPENSSL_PRE_1_1_API
- /*
- * Try to kill the internals of the SSL library.
- */
-@@ -343,11 +344,9 @@ static apr_status_t ssl_cleanup_pre_config(void *data)
- #if OPENSSL_VERSION_NUMBER >= 0x1000200fL
- #ifndef OPENSSL_NO_COMP
- SSL_COMP_free_compression_methods();
--#endif
- #endif
-
- /* Usually needed per thread, but this parent process is single-threaded */
--#if MODSSL_USE_OPENSSL_PRE_1_1_API
- #if OPENSSL_VERSION_NUMBER >= 0x1000000fL
- ERR_remove_thread_state(NULL);
- #else
-@@ -376,6 +375,7 @@ static apr_status_t ssl_cleanup_pre_config(void *data)
- * (when enabled) at this late stage in the game:
- * CRYPTO_mem_leaks_fp(stderr);
- */
-+#endif
- return APR_SUCCESS;
- }
-
-@@ -400,14 +400,16 @@ static int ssl_hook_pre_config(apr_pool_t *pconf,
- #else
- OPENSSL_malloc_init();
- #endif
-+#if MODSSL_USE_OPENSSL_PRE_1_1_API
- ERR_load_crypto_strings();
- SSL_load_error_strings();
- SSL_library_init();
-+ OpenSSL_add_all_algorithms();
-+ OPENSSL_load_builtin_modules();
-+#endif
- #if HAVE_ENGINE_LOAD_BUILTIN_ENGINES
- ENGINE_load_builtin_engines();
- #endif
-- OpenSSL_add_all_algorithms();
-- OPENSSL_load_builtin_modules();
-
- if (OBJ_txt2nid("id-on-dnsSRV") == NID_undef) {
- (void)OBJ_create("1.3.6.1.5.5.7.8.7", "id-on-dnsSRV",
---- a/modules/ssl/ssl_engine_init.c
-+++ b/modules/ssl/ssl_engine_init.c
-@@ -88,6 +88,8 @@ static int DH_set0_pqg(DH *dh, BIGNUM *p, BIGNUM *q, BIGNUM *g)
-
- return 1;
- }
-+
-+#define OpenSSL_version_num SSLeay
- #endif
-
- /*
-@@ -223,7 +225,7 @@ apr_status_t ssl_init_Module(apr_pool_t *p, apr_pool_t *plog,
- apr_status_t rv;
- apr_array_header_t *pphrases;
-
-- if (SSLeay() < MODSSL_LIBRARY_VERSION) {
-+ if (OpenSSL_version_num() < MODSSL_LIBRARY_VERSION) {
- ap_log_error(APLOG_MARK, APLOG_WARNING, 0, base_server, APLOGNO(01882)
- "Init: this version of mod_ssl was compiled against "
- "a newer library (%s, version currently loaded is %s)"
---- a/modules/ssl/ssl_engine_io.c
-+++ b/modules/ssl/ssl_engine_io.c
-@@ -1255,9 +1255,9 @@ static apr_status_t ssl_io_filter_handshake(ssl_filter_ctx_t *filter_ctx)
- if (dc->proxy->ssl_check_peer_expire != FALSE) {
- if (!cert
- || (X509_cmp_current_time(
-- X509_get_notBefore(cert)) >= 0)
-+ X509_get0_notBefore(cert)) >= 0)
- || (X509_cmp_current_time(
-- X509_get_notAfter(cert)) <= 0)) {
-+ X509_get0_notAfter(cert)) <= 0)) {
- proxy_ssl_check_peer_ok = FALSE;
- ap_log_cerror(APLOG_MARK, APLOG_INFO, 0, c, APLOGNO(02004)
- "SSL Proxy: Peer certificate is expired");
---- a/modules/ssl/ssl_engine_log.c
-+++ b/modules/ssl/ssl_engine_log.c
-@@ -163,10 +163,10 @@ static void ssl_log_cert_error(const char *file, int line, int level,
- BIO_puts(bio, "(ERROR)");
-
- BIO_puts(bio, " / notbefore: ");
-- ASN1_TIME_print(bio, X509_get_notBefore(cert));
-+ ASN1_TIME_print(bio, X509_get0_notBefore(cert));
-
- BIO_puts(bio, " / notafter: ");
-- ASN1_TIME_print(bio, X509_get_notAfter(cert));
-+ ASN1_TIME_print(bio, X509_get0_notAfter(cert));
-
- BIO_puts(bio, "]");
-
---- a/modules/ssl/ssl_engine_vars.c
-+++ b/modules/ssl/ssl_engine_vars.c
-@@ -495,13 +495,13 @@ static char *ssl_var_lookup_ssl_cert(apr_pool_t *p, request_rec *r, X509 *xs,
- result = ssl_var_lookup_ssl_cert_serial(p, xs);
- }
- else if (strcEQ(var, "V_START")) {
-- result = ssl_var_lookup_ssl_cert_valid(p, X509_get_notBefore(xs));
-+ result = ssl_var_lookup_ssl_cert_valid(p, X509_getm_notBefore(xs));
- }
- else if (strcEQ(var, "V_END")) {
-- result = ssl_var_lookup_ssl_cert_valid(p, X509_get_notAfter(xs));
-+ result = ssl_var_lookup_ssl_cert_valid(p, X509_getm_notAfter(xs));
- }
- else if (strcEQ(var, "V_REMAIN")) {
-- result = ssl_var_lookup_ssl_cert_remain(p, X509_get_notAfter(xs));
-+ result = ssl_var_lookup_ssl_cert_remain(p, X509_getm_notAfter(xs));
- resdup = FALSE;
- }
- else if (*var && strcEQ(var+1, "_DN")) {
---- a/modules/ssl/ssl_private.h
-+++ b/modules/ssl/ssl_private.h
-@@ -92,6 +92,8 @@
- #include <openssl/x509.h>
- #include <openssl/pem.h>
- #include <openssl/crypto.h>
-+#include <openssl/bn.h>
-+#include <openssl/dh.h>
- #include <openssl/evp.h>
- #include <openssl/rand.h>
- #include <openssl/x509v3.h>
-@@ -234,6 +236,10 @@
- #define BIO_get_shutdown(x) (x->shutdown)
- #define BIO_set_shutdown(x,v) (x->shutdown=v)
- #define DH_bits(x) (BN_num_bits(x->p))
-+#define X509_get0_notBefore X509_get_notBefore
-+#define X509_get0_notAfter X509_get_notAfter
-+#define X509_getm_notBefore X509_get_notBefore
-+#define X509_getm_notAfter X509_get_notAfter
- #else
- void init_bio_methods(void);
- void free_bio_methods(void);
---- a/support/ab.c
-+++ b/support/ab.c
-@@ -205,6 +205,10 @@ typedef STACK_OF(X509) X509_STACK_TYPE;
- #define SSL_CTX_set_max_proto_version(ctx, version) \
- SSL_CTX_ctrl(ctx, SSL_CTRL_SET_MAX_PROTO_VERSION, version, NULL)
- #endif
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
-+#define X509_get0_notBefore X509_get_notBefore
-+#define X509_get0_notAfter X509_get_notAfter
-+#endif
- #endif
-
- #include <math.h>
-@@ -652,11 +656,11 @@ static void ssl_print_cert_info(BIO *bio, X509 *cert)
-
- BIO_printf(bio, "Certificate version: %ld\n", X509_get_version(cert)+1);
- BIO_printf(bio,"Valid from: ");
-- ASN1_UTCTIME_print(bio, X509_get_notBefore(cert));
-+ ASN1_UTCTIME_print(bio, X509_get0_notBefore(cert));
- BIO_printf(bio,"\n");
-
- BIO_printf(bio,"Valid to : ");
-- ASN1_UTCTIME_print(bio, X509_get_notAfter(cert));
-+ ASN1_UTCTIME_print(bio, X509_get0_notAfter(cert));
- BIO_printf(bio,"\n");
-
- pk = X509_get_pubkey(cert);
-@@ -2634,8 +2638,10 @@ int main(int argc, const char * const argv[])
- CRYPTO_malloc_init();
- #endif
- #endif
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
- SSL_load_error_strings();
- SSL_library_init();
-+#endif
- bio_out=BIO_new_fp(stdout,BIO_NOCLOSE);
- bio_err=BIO_new_fp(stderr,BIO_NOCLOSE);
-
#
# Copyright (C) 2006-2012 OpenWrt.org
-# 2014-2017 Noah Meyerhans <frodo@morgul.net>
+# 2014-2020 Noah Meyerhans <frodo@morgul.net>
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
include $(TOPDIR)/rules.mk
PKG_NAME:=bind
-PKG_VERSION:=9.14.8
+PKG_VERSION:=9.16.1
PKG_RELEASE:=1
USERID:=bind=57:bind=57
PKG_LICENSE_FILES:=LICENSE
PKG_CPE_ID:=cpe:/a:isc:bind
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:= \
https://www.mirrorservice.org/sites/ftp.isc.org/isc/bind9/$(PKG_VERSION) \
https://ftp.isc.org/isc/bind9/$(PKG_VERSION)
-PKG_HASH:=e545aa75ced6695a9bf4b591606ef00260fb3c055c2865b299cfe0fe6eeea076
+PKG_HASH:=a913d7e78135b9123d233215b58102fa0f18130fb1e158465a1c2b6f3bd75e91
PKG_FIXUP:=autoreconf
PKG_REMOVE_FILES:=aclocal.m4 libtool.m4
CONFIG_BIND_LIBJSON \
CONFIG_BIND_LIBXML2
-ifdef CONFIG_BIND_LIBXML2
- PKG_BUILD_DEPENDS += libxml2
-endif
-ifdef CONFIG_BIND_LIBJSON
- PKG_BUILD_DEPENDS += libjson-c
-endif
+PKG_BUILD_DEPENDS += BIND_LIBXML2:libxml2 BIND_LIBJSON:libjson-c
include $(INCLUDE_DIR)/package.mk
define Package/bind-libs
SECTION:=libs
CATEGORY:=Libraries
- DEPENDS:=+libopenssl +zlib +libpthread +libatomic
+ DEPENDS:=+libopenssl +zlib +libpthread +libatomic +libuv \
+ +BIND_LIBXML2:libxml2 +BIND_LIBJSON:libjson-c
TITLE:=bind shared libraries
URL:=https://www.isc.org/software/bind
-ifdef CONFIG_BIND_LIBJSON
- DEPENDS+= +libjson-c
-endif
-ifdef CONFIG_BIND_LIBXML2
- DEPENDS+= +libxml2
-endif
endef
define Package/bind-server
define Package/bind-server-filter-aaaa
$(call Package/bind-server)
- DEPENDS:=+bind-server
+ DEPENDS:=bind-server
TITLE+= filter AAAA plugin
endef
--sysconfdir=/etc/bind
ifdef CONFIG_BIND_LIBJSON
+ TARGET_CFLAGS += -DHAVE_JSON_C -UHAVE_JSON
CONFIGURE_ARGS += \
- --with-libjson="$(STAGING_DIR)/usr"
+ --with-json-c=yes
else
CONFIGURE_ARGS += \
- --without-libjson
+ --with-json-c=no
endif
ifdef CONFIG_BIND_LIBXML2
CONFIGURE_ARGS += \
- --with-libxml2="$(STAGING_DIR)/usr"
+ --with-libxml2=yes
else
CONFIGURE_ARGS += \
- --without-libxml2
+ --with-libxml2=no
endif
CONFIGURE_VARS += \
--- /dev/null
+# Copyright 2020 by Christian Dreihsig and Steffen Möller
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=boinc
+PKG_VERSION:=7.16.6
+PKG_VERSION_SHORT:=$(shell echo $(PKG_VERSION)| cut -f1,2 -d.)
+PKG_RELEASE:=1
+
+PKG_SOURCE_DATE:=2020-02-25
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=https://codeload.github.com/BOINC/boinc/tar.gz/client_release/$(PKG_VERSION_SHORT)/$(PKG_VERSION)?
+PKG_HASH:=caa567da8d3eb50859efe2eeba1c23c7b27d3b0f15b548136e75302713b25303
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-client_release-$(PKG_VERSION_SHORT)-$(PKG_VERSION)
+
+PKG_MAINTAINER:=Christian Dreihsig <christian.dreihsig@t-online.de>, Steffen Moeller <moeller@debian.org>
+PKG_LICENSE:=GPL-3.0-or-later
+PKG_LICENSE_FILES:=COPYING
+PKG_CPE_ID:=cpe:/a:boinc_project:boinc
+
+PKG_INSTALL:=1
+PKG_BUILD_PARALLEL:=0
+PKG_FIXUP:=autoreconf
+
+include $(INCLUDE_DIR)/package.mk
+include $(INCLUDE_DIR)/target.mk
+
+define Package/boinc
+ SECTION:=net
+ CATEGORY:=Network
+ TITLE:=BOINC client
+ DEPENDS:=+curl +bzip2 +libstdcpp +libopenssl +zlib
+ USERID:=boinc:boinc
+ URL:=https://github.com/BOINC/boinc/
+endef
+
+define Package/boinc/description
+ The Berkeley Open Infrastructure for Network Computing (BOINC) is a
+ software platform for distributed computing: several initiatives of
+ various scientific disciplines all compete for the idle time of
+ desktop computers. The developers' web site at the University of
+ Berkeley serves as a common portal to the otherwise independently run
+ projects.
+
+ This package provides the BOINC core client program that is
+ required to participate in any project that uses BOINC to control what
+ projects to join and to determine constraints for the computation
+ like the percentage of CPU time. OpenWrt does not
+ provide the graphical BOINC Manager, but you can connect to this
+ machine from the BOINC Manager of your desktop computer.
+endef
+
+CONFIGURE_ARGS += \
+ --disable-server --disable-manager --enable-client --enable-libraries \
+ --disable-boinczip --enable-install-headers --enable-dynamic-client-linkage \
+ --with-boinc-platform=$(REAL_GNU_TARGET_NAME) \
+ --with-boinc-alt-platform=$(ARCH)-$(BOARD)-$(DEVICE_TYPE)-openwrt-$(TARGET_SUFFIX)
+
+define Build/InstallDev
+ $(INSTALL_DIR) $(1)/usr/include/boinc
+ $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/include/boinc/* $(1)/usr/include/boinc/
+ $(CP) $(PKG_BUILD_DIR)/*.h $(1)/usr/include/boinc/ # project_specific_defines.h, config.h, version.h, svn_version.h
+ $(INSTALL_DIR) $(1)/usr/lib
+ $(CP) $(PKG_INSTALL_DIR)/usr/lib/*.a $(1)/usr/lib/
+endef
+
+define Package/boinc/install
+ $(INSTALL_DIR) $(1)/usr/bin
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/* $(1)/usr/bin/
+ $(INSTALL_DIR) $(1)/usr/lib
+ $(CP) $(PKG_INSTALL_DIR)/usr/lib/*.{la,so}* $(1)/usr/lib/
+ $(INSTALL_DIR) $(1)/etc/init.d
+ $(INSTALL_BIN) ./files/boinc-client.init $(1)/etc/init.d/boinc-client
+ $(INSTALL_DIR) $(1)/opt/boinc
+ $(INSTALL_DIR) $(1)/usr/share/boinc
+ $(CP) ./files/global_prefs_override.xml $(1)/usr/share/boinc/global_prefs_override.xml
+ $(CP) ./files/remote_hosts.cfg $(1)/usr/share/boinc/remote_hosts.cfg
+endef
+
+$(eval $(call BuildPackage,boinc))
--- /dev/null
+#!/bin/sh /etc/rc.common
+
+START=99
+USE_PROCD=1
+
+BOINCEXE_NAME=boinc_client
+BOINCDIR=/opt/boinc/
+PRESETDIR=/usr/share/boinc
+BOINCUSR=boinc
+BOINCEXE_OPTS="--check_all_logins --redirectio --dir $BOINCDIR"
+PID_FILE="/var/run/$BOINCEXE_NAME.pid"
+
+start_service() {
+ # First check that BOINCDIR exists
+ if ! [ -d "$BOINCDIR" ]; then
+ if ! mkdir -p $BOINCDIR 2>/dev/null ; then
+ echo "ERROR: $BOINCDIR doesn't exist and couldn't be created"
+ return 1
+ fi
+ fi
+
+ # adjust some presettings if necessary
+ for f in global_prefs_override.xml remote_hosts.cfg; do
+ if ! [ -f $BOINCDIR/$f ]; then
+ cp $PRESETDIR/$f $BOINCDIR
+ fi
+ done
+
+ # and ensure it is accessible by boinc
+ BOINCDIR_OWNER="$(ls -ld $BOINCDIR | awk '{print $3}')"
+ if [ "$BOINCUSR" != "$BOINCDIR_OWNER" ] ; then
+ chown -R $BOINCUSR:$BOINCUSR $BOINCDIR
+ BOINCDIR_OWNER="$(ls -ld $BOINCDIR | awk '{print $3}')"
+
+ if [ "$BOINCUSR" != "$BOINCDIR_OWNER" ] ; then
+ echo "User boinc can't access $BOINC_DIR"
+ return 3
+ fi
+ fi
+
+ # now use procd to start boinc
+ procd_open_instance $BOINCEXE_NAME
+
+ procd_set_param command $BOINCEXE_NAME
+ procd_append_param command $BOINCEXE_OPTS
+ procd_set_param user $BOINCUSR
+ procd_set_param limits core="unlimited"
+ procd_set_param stdout 1
+ procd_set_param stderr 1
+ procd_set_param pidfile $PID_FILE
+
+ procd_close_instance
+}
--- /dev/null
+<global_preferences>
+ <max_ncpus_pct>50.000000</max_ncpus_pct>
+ <disk_interval>21600.000000</disk_interval>
+<global_preferences>
--- /dev/null
+# This file contains a list of hostnames or IP addresses (one per line)
+# of remote hosts, that are allowed to connect and to control the local
+# BOINC core client via GUI RPCs.
+# Lines beginning with a # or a ; are treated like comments and will be
+# ignored.
+#
+#host.example.com
+#192.168.0.180
--- /dev/null
+Index: boinc-client_release-7.16-7.16.5/configure.ac
+===================================================================
+--- boinc-client_release-7.16-7.16.5.orig/configure.ac
++++ boinc-client_release-7.16-7.16.5/configure.ac
+@@ -506,8 +506,10 @@ SAH_CHECK_LIB([dl], [dlopen],
+ [BOINC_EXTRA_LIBS="${BOINC_EXTRA_LIBS} ${sah_lib_last}"])
+ SAH_CHECK_LIB([nsl], [gethostbyname],
+ [BOINC_EXTRA_LIBS="${BOINC_EXTRA_LIBS} ${sah_lib_last}"])
++if test "${enable_manager}" = yes ; then
+ SAH_CHECK_LIB([freetype], [fopen],
+ [BOINC_EXTRA_LIBS="${BOINC_EXTRA_LIBS} ${sah_lib_last}"])
++fi
+ SAH_CHECK_LIB([socket], [bind],
+ [BOINC_EXTRA_LIBS="${BOINC_EXTRA_LIBS} ${sah_lib_last}"])
+ SAH_CHECK_LIB([z], [gzopen],
--- /dev/null
+Index: boinc-client_release-7.16-7.16.6/client/cs_platforms.cpp
+===================================================================
+--- boinc-client_release-7.16-7.16.6.orig/client/cs_platforms.cpp
++++ boinc-client_release-7.16-7.16.6/client/cs_platforms.cpp
+@@ -76,6 +76,21 @@ void CLIENT_STATE::add_platform(const ch
+ //
+ void CLIENT_STATE::detect_platforms() {
+
++// if specified - use it
++#ifdef HOSTTYPE
++ add_platform(HOSTTYPE);
++#endif
++
++// if specified - use it
++#ifdef HOSTTYPEALT
++ add_platform(HOSTTYPEALT);
++#endif
++
++// if both the hosttype and its alternative are specified,
++// there is no need to look further and one should go directly
++// to the inspection of the cc_config.xml data
++#if !defined(HOSTTYPE) || !defined(HOSTTYPEALT)
++
+ #if defined(_WIN32) && !defined(__CYGWIN32__)
+ #if defined(_WIN64) && defined(_M_X64)
+ add_platform("windows_x86_64");
+@@ -206,15 +221,6 @@ void CLIENT_STATE::detect_platforms() {
+ add_platform("i686-pc-linux-gnu");
+ }
+
+- if (!(support64 || support32)) {
+- // Something went wrong. Assume HOSTTYPE and HOSTTYPEALT
+- // are correct
+- add_platform(HOSTTYPE);
+-#ifdef HOSTTYPEALT
+- add_platform(HOSTTYPEALT);
+-#endif
+- }
+-
+ #elif defined(sun)
+ // Check if we can run 64-bit binaries...
+ // this assumes there isn't a 64-bit only solaris. (Every 64-bit solaris can run 32 bit binaries)
+@@ -290,6 +296,8 @@ void CLIENT_STATE::detect_platforms() {
+ #endif
+
+ #endif
++
++#endif
+
+ if (cc_config.no_alt_platform) {
+ PLATFORM p = platforms[0];
--- /dev/null
+#
+# Copyright (C) 2020 Oleg Derevenetz <oleg.derevenetz@gmail.com>
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=bwping
+PKG_VERSION:=1.16
+PKG_RELEASE:=1
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=@SF/bwping
+PKG_HASH:=c0a0c61f779d7b497bfc264103614d013002e74502a868d678e8b569a3017687
+
+PKG_MAINTAINER:=Oleg Derevenetz <oleg.derevenetz@gmail.com>
+PKG_LICENSE:=BSD-2-Clause
+PKG_LICENSE_FILES:=COPYING
+
+PKG_BUILD_PARALLEL:=1
+PKG_INSTALL:=1
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/bwping
+ SECTION:=net
+ CATEGORY:=Network
+ TITLE:=Tool to measure bandwidth and RTT between two hosts using ICMP
+ URL:=https://bwping.sourceforge.io/
+endef
+
+define Package/bwping/description
+ BWPing is a tool to measure bandwidth and response times between two
+ hosts using Internet Control Message Protocol (ICMP) echo request/echo
+ reply mechanism. It does not require any special software on the remote
+ host. The only requirement is the ability to respond on ICMP echo request
+ messages. BWPing supports both IPv4 and IPv6 networks.
+endef
+
+define Package/bwping/install
+ $(INSTALL_DIR) $(1)/usr/sbin
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/$(PKG_NAME) $(1)/usr/sbin/
+endef
+
+$(eval $(call BuildPackage,bwping))
include $(TOPDIR)/rules.mk
PKG_NAME:=dawn
-PKG_SOURCE_DATE:=2020-03-29
+PKG_SOURCE_DATE:=2020-04-17
PKG_RELEASE:=1
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://github.com/berlin-open-wireless-lab/DAWN.git
-PKG_SOURCE_VERSION:=a25bb91f3751dea3a43ae3b3835a5a6bf7239259
-PKG_MIRROR_HASH:=7f60d026b15f6768a950d31007a247ad7bfb6c8a3b67bd938a1f345be62ca0c4
+PKG_SOURCE_VERSION:=2ff3b3017fc5e5477f494e6aa85d6b0b4acd68bb
+PKG_MIRROR_HASH:=b9260dad56f40a371157a6d9c54ac295bdbfc5f853915df18e4152eb8f3110f9
PKG_MAINTAINER:=Nick Hainke <vincent@systemli.org>
PKG_LICENSE:=GPL-2.0-only
option broadcast_ip '10.0.0.255'
option broadcast_port '1025'
option tcp_port '1026'
- option network_option '2' # 0 udp broadcast, 1 mutlicast, 2 tcp
+ option network_option '2' # 0 udp broadcast, 1 multicast, 2 tcp
option shared_key 'Niiiiiiiiiiiiiik'
option iv 'Niiiiiiiiiiiiiik'
option use_symm_enc '1'
option hostapd_dir '/var/run/hostapd'
config times
- option update_client '10'
- option denied_req_threshold '30'
- option remove_client '15'
- option remove_probe '30'
- option remove_ap '460'
- option update_hostapd '10'
- option update_tcp_con '10'
- option update_chan_util '5'
+ option update_client '10'
+ option denied_req_threshold '30'
+ option remove_client '15'
+ option remove_probe '30'
+ option remove_ap '460'
+ option update_hostapd '10'
+ option update_tcp_con '10'
+ option update_chan_util '5'
+ option update_beacon_reports '20'
config metric
option ap_weight '0'
option chan_util_val '140'
option max_chan_util_val '170'
option min_probe_count '0'
- option bandwith_threshold '6'
+ option bandwidth_threshold '6'
option use_station_count '1'
option max_station_diff '1'
option eval_probe_req '0'
option use_driver_recog '1'
option min_number_to_kick '3'
option chan_util_avg_period '3'
+ option set_hostapd_nr '1'
+ option op_class '0' #802.11k stuff...
+ option duration '0'
+ option mode '0'
+ option scan_channel '0'
#!/bin/sh /etc/rc.common
-
+
USE_PROCD=1
-START=50
-STOP=50
+START=81
+STOP=81
PROG=/usr/sbin/dawn
NAME=dawn
+wait_for_network()
+{
+ ubus -t 15 wait_for network.interface.$1 2>/dev/null
+}
+
+boot()
+{
+ ubus -t 5 wait_for umdns 2>/dev/null
+ config_load network
+ config_foreach wait_for_network interface
+ rc_procd start_service
+}
+
reload_service()
{
if service_running; then
config_get _tcp_buffer "$1" tcp_port
}
config_foreach load_tcp_port network
-
+
touch /tmp/dawn_mac_list
echo "Starting Service..."
include $(TOPDIR)/rules.mk
PKG_NAME:=dnscrypt-proxy2
-PKG_VERSION:=2.0.39
+PKG_VERSION:=2.0.42
PKG_RELEASE:=1
PKG_SOURCE:=dnscrypt-proxy-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/DNSCrypt/dnscrypt-proxy/tar.gz/$(PKG_VERSION)?
-PKG_HASH:=c943c74c0894bb51336529e733ca3811dffdb914a59b9707c63a327f2c8ff835
+PKG_HASH:=c000ca4e159c6606cb3476ea9e34ed64b5c46c710d70cc5651f14f1125c8d352
PKG_BUILD_DIR:=$(BUILD_DIR)/dnscrypt-proxy-$(PKG_VERSION)
PKG_MAINTAINER:=Josef Schlehofer <josef.schlehofer@nic.cz>
comment "SSL Support"
choice
prompt "Selected SSL library"
- default DNSDIST_OPENSSSL
+ default DNSDIST_OPENSSL
config DNSDIST_OPENSSL
bool "OpenSSL"
--- /dev/null
+#
+# Copyright (c) 2020 Gregory L. Dietsche <Gregory.Dietsche@cuw.edu>
+# This is free software, licensed under the MIT License
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=family-dns
+PKG_VERSION:=1.0.0
+PKG_RELEASE:=1
+PKG_LICENSE:=MIT
+PKG_MAINTAINER:=Gregory L. Dietsche <Gregory.Dietsche@cuw.edu>
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/family-dns
+ SECTION:=net
+ CATEGORY:=Network
+ TITLE:=Family DNS
+ PKGARCH:=all
+endef
+
+define Package/family-dns/description
+This package configures your router to block adult websites.
+The default settings are designed to be appropriate for most businesses,
+schools and families.
+endef
+
+define Package/family-dns/conffiles
+/etc/config/family-dns
+endef
+
+define Build/Compile
+endef
+
+define Package/family-dns/install
+ $(INSTALL_DIR) $(1)/etc/uci-defaults
+ $(INSTALL_DATA) ./files/family-dns.uci-defaults $(1)/etc/uci-defaults/family-dns
+
+ $(INSTALL_DIR) $(1)/etc/config
+ $(INSTALL_CONF) ./files/family-dns.conf $(1)/etc/config/family-dns
+
+ $(INSTALL_DIR) $(1)/usr/sbin
+ $(INSTALL_BIN) ./files/family-dns-update $(1)/usr/sbin/family-dns-update
+ $(INSTALL_BIN) ./files/test-family-dns $(1)/usr/sbin/test-family-dns
+endef
+
+define Package/family-dns/prerm
+#!/bin/sh
+if [ -z "$${IPGK_INSTROOT}" ]; then
+ /usr/sbin/family-dns-update uninstall
+fi
+exit 0
+endef
+
+$(eval $(call BuildPackage,family-dns))
--- /dev/null
+# Package: net/family-dns
+
+This package configures your router to block access to adult websites.
+
+The default settings are designed to be appropriate for most businesses, schools, and families.
+
+Enabled and disable Family DNS by editing /etc/config/family-dns. To make
+your changes active, run family-dns-update.
+
+- Default DNS Filter
+ - CleanBrowsing.org Adult Filter
+ - https://cleanbrowsing.org/filters#adult
+ - Blocks access to all adult, pornographic and explicit sites. It does not block proxy or VPNs, nor mixed-content sites. Sites like Reddit are allowed. Google and Bing are set to the Safe Mode. Malicious and Phishing domains are blocked.
+- Alternate DNS Filters:
+ - CleanBrowsing.org Family Filter
+ - https://cleanbrowsing.org/filters#family
+ - Blocks access to all adult, pornographic and explicit sites. It also blocks proxy and VPN domains that are used to bypass the filters. Mixed content sites (like Reddit) are also blocked. Google, Bing and Youtube are set to the Safe Mode. Malicious and Phishing domains are blocked.
+ - Cisco Family Shield
+ - https://www.opendns.com/home-internet-security/
+ - https://www.opendns.com/setupguide/#familyshield
+ - FamilyShield will block domains that are categorized as: Tasteless, Proxy/Anonymizer, Sexuality and Pornography.
--- /dev/null
+#!/bin/sh
+#
+# Copyright (c) 2020 Gregory L. Dietsche <Gregory.Dietsche@cuw.edu>
+# This is free software, licensed under the MIT License
+#
+. /lib/functions.sh
+
+config_load 'family-dns'
+config_get_bool enabled default enabled 0
+config_get_bool redirect_dns default redirect_dns 0
+config_get dns default dns default
+
+#uninstall and disable are designed to be equivalent.
+if [ "$1" = "uninstall" ] ; then
+ enabled=0
+fi
+
+# Set OpenWrt Defaults
+uci -q batch <<-EOT
+ set network.wan.peerdns='1'
+ set network.wan6.peerdns='1'
+ delete network.wan.dns
+ delete network.wan6.dns
+ delete firewall.family_dns_lan
+EOT
+
+if [ "$enabled" -ne 1 ] ; then
+ echo 'Activating Default ISP DNS server(s)'
+else
+ # We don't want to use ISP DNS servers because they don't filter queries
+ uci set network.wan.peerdns='0'
+ uci set network.wan6.peerdns='0'
+
+ # Configure the DNS server(s) that will handle filtering.
+ echo "Activating $dns"
+ case $dns in
+ cleanbrowsing-adult-filter)
+ uci add_list network.wan.dns=185.228.168.10
+ uci add_list network.wan.dns=185.228.169.11
+ uci add_list network.wan6.dns=2a0d:2a00:1::1
+ uci add_list network.wan6.dns=2a0d:2a00:2::1
+ ;;
+ cleanbrowsing-family-filter)
+ uci add_list network.wan.dns=185.228.168.168
+ uci add_list network.wan.dns=185.228.169.168
+ uci add_list network.wan6.dns=2a0d:2a00:1::
+ uci add_list network.wan6.dns=2a0d:2a00:2::
+ ;;
+ cloudflare-malware-and-adult-content)
+ uci add_list network.wan.dns=1.1.1.3
+ uci add_list network.wan.dns=1.0.0.3
+ uci add_list network.wan6.dns=2606:4700:4700::1113
+ uci add_list network.wan6.dns=2606:4700:4700::1003
+ ;;
+ cisco-family-shield)
+ uci add_list network.wan.dns=208.67.222.123
+ uci add_list network.wan.dns=208.67.220.123
+ uci add_list network.wan6.dns=::ffff:d043:de7b
+ uci add_list network.wan6.dns=::ffff:d043:dc7b
+ ;;
+ *)
+ echo "$dns" is not supported.
+ uci revert network
+ redirect_dns=0
+ ;;
+ esac
+
+ if [ "$redirect_dns" -eq 1 ] ; then
+ echo Activating DNS redirect
+ zone=lan
+ ip=$(uci get network.$zone.ipaddr)
+
+ uci -q batch <<-EOT
+ set firewall.family_dns_lan=redirect
+ add_list firewall.family_dns_lan.proto='tcp'
+ add_list firewall.family_dns_lan.proto='udp'
+ set firewall.family_dns_lan.src_dport='53'
+ set firewall.family_dns_lan.dest_ip='$ip'
+ set firewall.family_dns_lan.target='DNAT'
+ set firewall.family_dns_lan.src='$zone'
+ set firewall.family_dns_lan.dest='$zone'
+ set firewall.family_dns_lan.name='family-dns redirect for $zone zone'
+EOT
+ fi
+fi
+
+uci -q batch <<-EOT
+ commit network
+ commit firewall
+EOT
+
+/etc/init.d/network reload
+/etc/init.d/dnsmasq reload
+/etc/init.d/firewall reload 2>/dev/null
+
--- /dev/null
+# Copyright (c) 2020 Gregory L. Dietsche
+# This is free software, licensed under the MIT License
+#
+# run family-dns-update after making configuration changes.
+#
+
+config family-dns default
+ option enabled 1
+ option redirect_dns 1
+ option dns 'cleanbrowsing-adult-filter'
+ #option dns 'cleanbrowsing-family-filter'
+ #option dns 'cloudflare-malware-and-adult-content'
+ #option dns 'cisco-family-shield'
+
--- /dev/null
+#!/bin/sh
+#
+# Copyright (c) 2020 Gregory L. Dietsche <Gregory.Dietsche@cuw.edu>
+# This is free software, licensed under the MIT License
+#
+
+/usr/sbin/family-dns-update
+
+exit 0
--- /dev/null
+#!/bin/sh
+#
+# Copyright (c) 2020 Gregory L. Dietsche <Gregory.Dietsche@cuw.edu>
+# This is free software, licensed under the MIT License
+#
+
+########################
+#Yucky global variables#
+########################
+global_result=0
+
+# A list of adult websites that support both IPv4 and IPv6
+IPv4andIPv6EnabledSiteList="https://xhamster.com https://www.watchmyexgf.net https://gaymaletube.com"
+
+expect_not_safe(){
+ title=$1
+ size=$2
+ web=$3
+
+ actual=$(wget -4 -O - "$web" | wc -l) 2> /dev/null
+ if [ "$actual" -gt "$size" ] ; then
+ echo "$title: IPv4: $size/$actual. NOT SAFE"
+ else
+ echo "$title: IPv4: SAFE. $actual (expected not safe!) ***************"
+ global_result=1
+ fi
+
+ actual=$(wget -6 -O - "$web" | wc -l) 2> /dev/null
+ if [ "$actual" -gt "$size" ] ; then
+ echo "$title: IPv6: $size/$actual. NOT SAFE"
+ else
+ echo "$title: IPv6: SAFE. $actual (expected not safe!) ***************"
+ global_result=1
+ fi
+ return $global_result
+}
+
+expect_safe(){
+ title=$1
+ size=$2
+ web=$3
+
+ actual=$(wget -4 -O - "$web" | wc -l) 2> /dev/null
+ if [ "$actual" -gt "$size" ] ; then
+ echo "$title: IPv4: $size/$actual. NOT SAFE ******************"
+ global_result=1
+ else
+ echo "$title: IPv4: SAFE. $actual"
+ fi
+
+ actual=$(wget -6 -O - "$web" | wc -l) 2> /dev/null
+ if [ "$actual" -gt "$size" ] ; then
+ echo "$title: IPv6: $size/$actual. NOT SAFE ******************"
+ global_result=1
+ else
+ echo "$title: IPv6: SAFE. $actual"
+ fi
+}
+
+
+test_not_safe(){
+ uci set family-dns.default.enabled=0
+ uci commit family-dns
+ family-dns-update
+
+ echo "******************************"
+ echo "Testing Without Protection ***"
+ echo "******************************"
+ c=0
+ for site in ${IPv4andIPv6EnabledSiteList}; do
+ expect_not_safe "Site $c" 500 "$site"
+ c=$((c+1))
+ done
+
+ uci set family-dns.default.enabled=1
+ uci commit family-dns
+ family-dns-update
+
+ echo
+}
+
+test_filter(){
+ echo "******************************"
+ echo "Testing With Protection ***"
+ echo "******************************"
+ echo testing "$1"
+
+ uci set family-dns.default.dns="$1"
+ uci commit family-dns
+ family-dns-update
+
+ c=0
+ for site in ${IPv4andIPv6EnabledSiteList}; do
+ expect_safe "Testing Site $c" 500 "$site"
+ c=$((c+1))
+ done
+
+ echo
+}
+
+#############################################
+## Main Tests ##
+#############################################
+test_not_safe
+test_filter cisco-family-shield
+test_filter cloudflare-malware-and-adult-content
+test_filter cleanbrowsing-family-filter
+test_filter cleanbrowsing-adult-filter
+
+# with cleanbrowsing-adult-filter on, run this test on a different device (not the router)
+# the result should be 0 when redirect_dns=1 and the result should be 1 when redirect_dns=0
+#count=$(nslookup -query=A www.sex.com 8.8.8.8 | grep NXDOMAIN | wc -l)
+#if [ $count -eq 1 ]; then
+# echo Clean Browsing returned NXDOMAIN. This is expected.
+#else
+# echo Clean Browsing did not return NXDOMAIN. This is NOT expected.
+#fi
+
+
+
+if [ $global_result -ne 0 ]; then
+ echo '************ Test(s) failed! ********************************************************'
+fi
+exit $global_result
PKG_BUILD_DIR:=$(BUILD_DIR)/freeradius-server-$(PKG_VERSION)
PKG_FIXUP:=autoreconf
+PYTHON3_PKG_BUILD:=0
PKG_CONFIG_DEPENDS := \
FREERADIUS3_OPENSSL \
CFLAGS += $(FPIC)
include $(INCLUDE_DIR)/package.mk
-include $(TOPDIR)/feeds/packages/lang/python/python3-package.mk
+include ../../lang/python/python3-package.mk
define Package/freeradius3/config
source "$(SOURCE)/Config.in"
$(eval $(call BuildPlugin,freeradius3-mod-pap,rlm_pap,))
$(eval $(call BuildPlugin,freeradius3-mod-passwd,rlm_passwd,))
$(eval $(call BuildPlugin,freeradius3-mod-preprocess,rlm_preprocess,))
-$(eval $(call Py3Package,freeradius3-mod-python3))
$(eval $(call BuildPlugin,freeradius3-mod-python3,rlm_python3,))
$(eval $(call BuildPlugin,freeradius3-mod-radutmp,rlm_radutmp,))
$(eval $(call BuildPlugin,freeradius3-mod-realm,rlm_realm,))
include $(TOPDIR)/rules.mk
PKG_NAME:=frp
-PKG_VERSION:=0.31.1
+PKG_VERSION:=0.32.1
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/fatedier/frp/tar.gz/v${PKG_VERSION}?
-PKG_HASH:=b1fa893c09e61db084bf6ddc0abcaf105c2828a887ee0fc376bef1a66da9b095
+PKG_HASH:=3a6ef59163f5a1d41b67908269e924000a8ccb2984e4bdfc18bd1405b5dbaf22
PKG_MAINTAINER:=Richard Yu <yurichard3839@gmail.com>
PKG_LICENSE:=Apache-2.0
include $(TOPDIR)/rules.mk
PKG_NAME:=git
-PKG_VERSION:=2.25.1
+PKG_VERSION:=2.26.2
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=@KERNEL/software/scm/git/
-PKG_HASH:=222796cc6e3bf2f9fd765f8f097daa3c3999bb7865ac88a8c974d98182e29f26
+PKG_HASH:=6d65132471df9e531807cb2746f8be317e22a343b9385bbe11c9ce7f0d2fc848
PKG_INSTALL:=1
PKG_FIXUP:=autoreconf
include $(TOPDIR)/rules.mk
PKG_NAME:=haproxy
-PKG_VERSION:=2.1.3
+PKG_VERSION:=2.1.4
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://www.haproxy.org/download/2.1/src
-PKG_HASH:=bb678e550374d0d9d9312885fb9d270b501dae9e3b336f0a4379c667dae00b59
+PKG_HASH:=51030ff696d7067162b4d24d354044293aecfbb36d7acc2f840c8d928bfe91cd
PKG_MAINTAINER:=Thomas Heil <heil@terminal-consulting.de>, \
Christian Lachner <gladiac@gmail.com>
#!/bin/sh
CLONEURL=https://git.haproxy.org/git/haproxy-2.1.git
-BASE_TAG=v2.1.3
+BASE_TAG=v2.1.4
TMP_REPODIR=tmprepo
PATCHESDIR=patches
--- /dev/null
+commit c7a203a6c75e4efff5f3d5d675d925f11b47dba1
+Author: Frédéric Lécaille <flecaille@haproxy.com>
+Date: Thu Apr 2 14:24:31 2020 +0200
+
+ BUG/MINOR: protocol_buffer: Wrong maximum shifting.
+
+ This patch fixes a bad stop condition when decoding a protocol buffer variable integer
+ whose maximum lenghts are 10, shifting a uint64_t value by more than 63.
+
+ Thank you to Ilya for having reported this issue.
+
+ Must be backported to 2.1 and 2.0.
+
+ (cherry picked from commit 876ed55d9b8d0c298b6cac1003ec365a19bf7aad)
+ Signed-off-by: Willy Tarreau <w@1wt.eu>
+
+diff --git a/include/proto/protocol_buffers.h b/include/proto/protocol_buffers.h
+index 69f0bdf81..0426d83d2 100644
+--- a/include/proto/protocol_buffers.h
++++ b/include/proto/protocol_buffers.h
+@@ -158,7 +158,7 @@ protobuf_varint(uint64_t *val, unsigned char *pos, size_t len)
+
+ shift += 7;
+ /* The maximum length in bytes of a 64-bit encoded value is 10. */
+- if (shift > 70)
++ if (shift > 63)
+ return 0;
+ }
+
+@@ -194,7 +194,7 @@ protobuf_decode_varint(uint64_t *val, unsigned char **pos, size_t *len)
+
+ shift += 7;
+ /* The maximum length in bytes of a 64-bit encoded value is 10. */
+- if (shift > 70)
++ if (shift > 63)
+ return 0;
+ }
+
+@@ -227,7 +227,7 @@ protobuf_skip_varint(unsigned char **pos, size_t *len, size_t vlen)
+
+ shift += 7;
+ /* The maximum length in bytes of a 64-bit encoded value is 10. */
+- if (shift > 70)
++ if (shift > 63)
+ return 0;
+ }
+
+@@ -263,7 +263,7 @@ protobuf_varint_getlen(unsigned char *pos, size_t len)
+
+ shift += 7;
+ /* The maximum length in bytes of a 64-bit encoded value is 10. */
+- if (shift > 70)
++ if (shift > 63)
+ return -1;
+ }
+
+++ /dev/null
---- a/Makefile
-+++ b/Makefile
-@@ -339,6 +339,15 @@ ifeq ($(TARGET),linux-glibc)
- USE_ACCEPT4 USE_LINUX_SPLICE USE_PRCTL USE_THREAD_DUMP USE_GETADDRINFO)
- endif
-
-+# For linux >= 2.6.28 and uclibc
-+ifeq ($(TARGET),linux-uclibc)
-+ set_target_defaults = $(call default_opts, \
-+ USE_POLL USE_TPROXY USE_DL USE_RT USE_NETFILTER \
-+ USE_CPU_AFFINITY USE_THREAD USE_EPOLL USE_FUTEX USE_LINUX_TPROXY \
-+ USE_ACCEPT4 USE_LINUX_SPLICE USE_PRCTL USE_THREAD_DUMP USE_NS USE_TFO \
-+ USE_GETADDRINFO)
-+endif
-+
- # Solaris 8 and above
- ifeq ($(TARGET),solaris)
- # We also enable getaddrinfo() which works since solaris 8.
--- /dev/null
+--- a/Makefile
++++ b/Makefile
+@@ -342,6 +342,15 @@ ifeq ($(TARGET),linux-glibc)
+ USE_ACCEPT4 USE_LINUX_SPLICE USE_PRCTL USE_THREAD_DUMP USE_GETADDRINFO)
+ endif
+
++# For linux >= 2.6.28 and uclibc
++ifeq ($(TARGET),linux-uclibc)
++ set_target_defaults = $(call default_opts, \
++ USE_POLL USE_TPROXY USE_DL USE_RT USE_NETFILTER \
++ USE_CPU_AFFINITY USE_THREAD USE_EPOLL USE_FUTEX USE_LINUX_TPROXY \
++ USE_ACCEPT4 USE_LINUX_SPLICE USE_PRCTL USE_THREAD_DUMP USE_NS USE_TFO \
++ USE_GETADDRINFO)
++endif
++
+ # Solaris 8 and above
+ ifeq ($(TARGET),solaris)
+ # We also enable getaddrinfo() which works since solaris 8.
include $(TOPDIR)/rules.mk
PKG_NAME:=https-dns-proxy
-PKG_VERSION:=2019-12-03
-PKG_RELEASE=5
+PKG_VERSION:=2020-04-09
+PKG_RELEASE=1
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://github.com/aarond10/https_dns_proxy
-PKG_SOURCE_DATE:=2019-12-03
-PKG_SOURCE_VERSION:=2adeafb67cbe8d67148219c48334856ae4f3bd75
-PKG_MIRROR_HASH:=58088baa092cd9634652d65f9b5650db88d2e102cb370710654db7b15f2f0e42
+PKG_SOURCE_DATE:=2020-04-09
+PKG_SOURCE_VERSION:=40647ce94c62a47e9d53efae8018fb3142e277b9
+PKG_MIRROR_HASH:=4a8052b8bd482a17b769bcd4ee2620368f8c91955c5e976088be8d2ab002dde6
PKG_MAINTAINER:=Stan Grishin <stangri@melmac.net>
PKG_LICENSE:=MIT
PKG_LICENSE_FILES:=LICENSE
PKG_NAME:=isc-dhcp
UPSTREAM_NAME:=dhcp
PKG_VERSION:=4.4.1
-PKG_RELEASE:=5
+PKG_RELEASE:=6
PKG_LICENSE:=BSD-3-Clause
PKG_LICENSE_FILES:=LICENSE
echo "nameserver 127.0.0.1" >> /tmp/resolv.conf
}
+# base procd hooks
+
+boot() {
+ DHCPD_BOOT=1
+ start "$@"
+}
+
start_service() {
+ local domain dhcp_ifs authoritative
+
if [ -n "$DHCPD_BOOT" ] ; then
return 0
fi
touch $lease_file
fi
- local domain dhcp_ifs
-
if [ -e "/etc/dhcpd.conf" ] ; then
config_file="/etc/dhcpd.conf"
else
. /lib/functions/network.sh
config_load dhcp
- local authoritative
+
general_config > $config_file
config_foreach dhcpd_add dhcp
procd_close_instance
}
-boot() {
- DHCPD_BOOT=1
- start "$@"
+reload_service() {
+ rc_procd start_service "$@"
+ prodcd_send_signal dhcpd "$@"
}
-service_triggers()
-{
- procd_add_reload_trigger "dhcp"
- procd_add_raw_trigger "interface.*" 3000 /etc/init.d/dhcpd reload
+add_interface_trigger() {
+ local cfg=$1
+ local trigger ignore
+
+ config_get trigger "$cfg" interface
+ config_get_bool ignore "$cfg" ignore 0
+
+ if [ -n "$trigger" -a $ignore -eq 0 ] ; then
+ procd_add_reload_interface_trigger "$trigger"
+ fi
}
+
+service_triggers() {
+ if [ -n "$DHCPD_BOOT" ] ; then
+ # Make the first start robust to slow interfaces; wait a while
+ procd_add_raw_trigger "interface.*.up" 5000 /etc/init.d/dhcpd restart
+
+ else
+ # reload with normal parameters
+ procd_add_reload_trigger "network" "dhcp"
+ config_load dhcp
+ config_foreach add_interface_trigger dhcp
+ fi
+}
+
include $(TOPDIR)/rules.mk
PKG_NAME:=knxd
-PKG_VERSION:=0.14.31
+PKG_VERSION:=0.14.35
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/knxd/knxd/tar.gz/$(PKG_VERSION)?
-PKG_HASH:=3bc21f1db9a72d4e6ad817f60e70af8421ede1529a57a2c12b70304e51a79d02
+PKG_HASH:=697bc68b64a27f0be478d8c861498533d18f0aef067cf95e9dc5e7c0653f1044
PKG_MAINTAINER:=Othmar Truniger <github@truniger.ch>
PKG_LICENSE:=GPL-2.0-or-later
--- a/src/client/Makefile.am 2017-01-25 20:17:14.000000000 +0100
+++ b/src/client/Makefile.am 2017-01-25 20:18:50.639995000 +0100
@@ -4,5 +4,5 @@
- BUILDJAVA =
+ BUILDJAVA =
endif
-
+
-SUBDIRS=def c $(BUILDJAVA) php perl cs python pascal ruby lua go .
+SUBDIRS=def c $(BUILDJAVA) php perl cs .
+
--- /dev/null
+--- a/tools/version.sh 2020-04-08 19:39:40.349461034 +0200
++++ b/tools/version.sh 2020-04-08 19:40:26.354277094 +0200
+@@ -1,8 +1,2 @@
+ #!/bin/sh
+-sed -ne '1s/.*(\(.*\)).*/\1/' -e '1s/-1$//' -e '1p' debian/changelog | tr -d "\n"
+-test -d .git || exit
+-git=$(git rev-parse --short HEAD)
+-lgit=$(git rev-parse --short $(git rev-list -1 HEAD debian/changelog) )
+-if test "$git" != "$lgit" ; then
+- echo -n ":$git"
+-fi
++echo -n "0.14.35"
include $(TOPDIR)/rules.mk
PKG_NAME:=mac-telnet
-PKG_VERSION:=2015-09-02
-PKG_RELEASE=$(PKG_SOURCE_VERSION)+1
+PKG_RELEASE:=2
PKG_SOURCE_PROTO:=git
-PKG_SOURCE_URL:=https://github.com/jow-/MAC-Telnet.git
-PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
+PKG_SOURCE_URL=https://github.com/jow-/MAC-Telnet.git
+PKG_SOURCE_DATE:=2015-09-02
PKG_SOURCE_VERSION:=37d83cbc9c07266d6c957d27bf75285b305eceab
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
-PKG_MIRROR_HASH:=13429f1a870121cdbbfb687e0581967904798000eca1f8f9c1e9dc87dee5669b
+PKG_MIRROR_HASH:=ed414f3fb08f1e2bb4313d00fb99327df697de7c60284fe588fc7eb3769adb7a
PKG_LICENSE:=GPL-2.0-or-later
PKG_MAINTAINER:=Jo-Philipp Wich <jo@mein.io>
$(INSTALL_DIR) $$(1)/etc/init.d
$(INSTALL_BIN) ./files/mactelnet.init $$(1)/etc/init.d/mactelnet
$(INSTALL_DIR) $$(1)/etc/config
- $(INSTALL_DATA) ./files/mactelnet.config $$(1)/etc/config/mactelnet
+ $(INSTALL_CONF) ./files/mactelnet.config $$(1)/etc/config/mactelnet
+endef
+
+define Package/mac-telnet-server/conffiles
+/etc/config/mactelnet
endef
include $(TOPDIR)/rules.mk
PKG_NAME:=netifyd
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_MAINTAINER:=Darryl Sokoloski <darryl@egloo.ca>
PKG_LICENSE:=GPL-3.0-or-later
--- /dev/null
+--- a/src/nd-netlink.cpp
++++ b/src/nd-netlink.cpp
+@@ -144,7 +144,7 @@ ndNetlink::ndNetlink(const nd_ifaces &ifaces)
+ throw ndNetlinkException(strerror(rc));
+ }
+
+- if (bind(nd,
++ if (::bind(nd,
+ (struct sockaddr *)&sa, sizeof(struct sockaddr_nl)) < 0) {
+ rc = errno;
+ nd_printf("Error binding netlink socket: %s\n", strerror(rc));
include $(TOPDIR)/rules.mk
PKG_NAME:=nginx
-PKG_VERSION:=1.17.9
+PKG_VERSION:=1.17.10
PKG_RELEASE:=1
PKG_SOURCE:=nginx-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://nginx.org/download/
-PKG_HASH:=7dd65d405c753c41b7fdab9415cfb4bdbaf093ec6d9f7432072d52cb7bcbb689
+PKG_HASH:=a9aa73f19c352a6b166d78e2a664bb3ef1295bbe6d3cc5aa7404bd4664ab4b83
PKG_MAINTAINER:=Thomas Heil <heil@terminal-consulting.de> \
Ansuel Smith <ansuelsmth@gmail.com>
define Package/nginx-ssl/prerm
#!/bin/sh
[ -z "$${IPKG_INSTROOT}" ] || exit 0
-if [ "$${PKG_UPGRADE}" == "1" ]; then
+if [ "$${PKG_UPGRADE}" = "1" ]; then
eval $$(/usr/bin/nginx-util get_env)
TMP_CRT=$$(mktemp -p "$${CONF_DIR}" "$${LAN_NAME}.crt.tmp-XXXXXX")
ln -f "$${CONF_DIR}$${LAN_NAME}.crt" "$${TMP_CRT}"
ln -f "$${CONF_DIR}$${LAN_NAME}.key" "$${TMP_KEY}"
fi
/usr/bin/nginx-util del_ssl
-[ -f "$${TMP_CRT}" ] && mv -f "$${TMP_CRT}" "$${CONF_DIR}$${LAN_NAME}.crt"
-[ -f "$${TMP_KEY}" ] && mv -f "$${TMP_KEY}" "$${CONF_DIR}$${LAN_NAME}.key"
+[ -f "$${TMP_CRT}" ] &&
+rm -f "$${CONF_DIR}$${LAN_NAME}.crt" &&
+mv -f "$${TMP_CRT}" "$${CONF_DIR}$${LAN_NAME}.crt"
+[ -f "$${TMP_KEY}" ] &&
+rm -f "$${CONF_DIR}$${LAN_NAME}.key" &&
+mv -f "$${TMP_KEY}" "$${CONF_DIR}$${LAN_NAME}.key"
exit 0
endef
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://github.com/jow-/nlbwmon.git
-PKG_SOURCE_DATE:=2019-06-13
-PKG_SOURCE_VERSION:=e921ca0af9957d3cb05797acfb8bde4d7d2278e5
-PKG_MIRROR_HASH:=1f6ed5086e978beeba4c22c255b4ed893d598119c3f2c03061501464910ea421
+PKG_SOURCE_DATE:=2020-04-11.1
+PKG_SOURCE_VERSION:=34a188769750927d839ad27fbfc90c973fe7bb06
+PKG_MIRROR_HASH:=75cd4e2eccb91256a91a3d48440cb347a696db64db2e71c050d284d20f98a77c
CMAKE_INSTALL:=1
config nlbwmon
+ # The buffer size for receiving netlink conntrack results, in bytes.
+ # If the chosen size is too small, accounting information might get
+ # lost, leading to skewed traffic counting results
+ option netlink_buffer_size 524288
+
# Interval at which the temporary in-memory database is committed to
# the persistent database directory
option commit_interval 24h
mkdir -p "$dir"
procd_append_param command -o "$dir"
+ add_option "$cfg" -b netlink_buffer_size 524288
add_option "$cfg" -i commit_interval 24h
add_option "$cfg" -r refresh_interval 30s
add_option "$cfg" -p protocol_database /usr/share/nlbwmon/protocols
PKG_NAME:=nmap
PKG_VERSION:=7.80
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_MAINTAINER:=Nuno Goncalves <nunojpg@gmail.com>
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_BUILD_PARALLEL:=1
PKG_INSTALL:=1
+PYTHON3_PKG_BUILD:=0
include $(INCLUDE_DIR)/package.mk
include ../../lang/python/python3-package.mk
define Package/ndiff
$(call Package/nmap/default)
DEPENDS:=+python3-light +python3-xml
- VARIANT:=python3
TITLE:=Utility to compare the results of Nmap scans
endef
PYTHON3_PKG_SETUP_DIR:=ndiff
PYTHON3_PKG_SETUP_ARGS:=
-ifeq ($(BUILD_VARIANT),python3)
- Build/Configure:=:
- Build/Install:=:
-endif
+define Build/Compile
+ $(call Build/Compile/Default,)
+ $(call Py3Build/Compile)
+endef
define Package/nmap/install
$(INSTALL_DIR) $(1)/usr/bin
PKG_NAME:=ntpclient
PKG_VERSION:=2015_365
-PKG_RELEASE:=2
+PKG_RELEASE:=4
PKG_SOURCE:=$(PKG_NAME)_$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=http://doolittle.icarus.com/ntpclient
--- /dev/null
+--- a/adjtimex.c
++++ b/adjtimex.c
+@@ -36,6 +36,7 @@
+ * gcc -Wall -O adjtimex_1.c -o adjtimex
+ */
+
++#include <inttypes.h>
+ #include <stdio.h>
+ #include <sys/types.h>
+ #include <stdlib.h>
+@@ -143,12 +144,12 @@ int main(int argc, char ** argv)
+ " precision: %ld\n"
+ " tolerance: %ld\n"
+ "-t tick: %ld\n"
+- " time.tv_sec: %ld\n"
+- " time.tv_usec: %ld\n"
++ " time.tv_sec: %" PRId64 "\n"
++ " time.tv_usec: %" PRId64 "\n"
+ " return value: %d (%s)\n",
+ txc.constant,
+ txc.precision, txc.tolerance, txc.tick,
+- txc.time.tv_sec, txc.time.tv_usec, ret,
++ (int64_t)txc.time.tv_sec, (int64_t)txc.time.tv_usec, ret,
+ (ret >= 0 && ret <= 5) ? ret_code_descript[ret] : "error" );
+ }
+ return (ret<0);
+--- a/ntpclient.c
++++ b/ntpclient.c
+@@ -29,6 +29,7 @@
+ * labelled "XXX fixme - non-automatic build configuration".
+ */
+
++#include <inttypes.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
+@@ -181,7 +182,7 @@ static void set_time(struct ntptime *new)
+ exit(1);
+ }
+ if (debug) {
+- printf("set time to %lu.%.9lu\n", tv_set.tv_sec, tv_set.tv_nsec);
++ printf("set time to %" PRId64 ".%.9" PRId64 "\n", (int64_t)tv_set.tv_sec, (int64_t)tv_set.tv_nsec);
+ }
+ #else
+ /* Traditional Linux way to set the system clock
+@@ -196,7 +197,7 @@ static void set_time(struct ntptime *new)
+ exit(1);
+ }
+ if (debug) {
+- printf("set time to %lu.%.6lu\n", tv_set.tv_sec, tv_set.tv_usec);
++ printf("set time to %" PRId64 ".%.6" PRId64 "\n", (int64_t)tv_set.tv_sec, (int64_t)tv_set.tv_usec);
+ }
+ #endif
+ }
--- /dev/null
+--- a/ntpclient.c
++++ b/ntpclient.c
+@@ -43,6 +43,9 @@
+ #include <errno.h>
+ #ifdef PRECISION_SIOCGSTAMP
+ #include <sys/ioctl.h>
++#ifdef __GLIBC__
++#include <linux/sockios.h>
++#endif
+ #endif
+ #ifdef USE_OBSOLETE_GETTIMEOFDAY
+ #include <sys/time.h>
include $(TOPDIR)/rules.mk
PKG_NAME:=openssh
-PKG_VERSION:=8.1p1
-PKG_RELEASE:=1
+PKG_VERSION:=8.2p1
+PKG_RELEASE:=2
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/ \
- https://ftp.spline.de/pub/OpenBSD/OpenSSH/portable/ \
- https://anorien.csc.warwick.ac.uk/pub/OpenBSD/OpenSSH/portable/
-PKG_HASH:=02f5dbef3835d0753556f973cd57b4c19b6b1f6cd24c03445e23ac77ca1b93ff
+ https://ftp.spline.de/pub/OpenBSD/OpenSSH/portable/
+PKG_HASH:=43925151e6cf6cee1450190c0e9af4dc36b41c12737619edff8bcebdff64e671
PKG_LICENSE:=BSD ISC
PKG_LICENSE_FILES:=LICENCE
PROG=/usr/sbin/sshd
start_service() {
- for type in rsa ecdsa ed25519
+ for type in rsa ed25519
do
# check for keys
key=/etc/ssh/ssh_host_${type}_key
PKG_BUILD_PARALLEL:=1
PKG_FIXUP:=autoreconf
PKG_INSTALL:=1
+PYTHON3_PKG_BUILD:=0
PKG_MAINTAINER:=Yousong Zhou <yszhou4tech@gmail.com>
--- /dev/null
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=overture
+PKG_VERSION:=1.6
+PKG_RELEASE:=1
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=https://codeload.github.com/shawn1m/overture/tar.gz/v${PKG_VERSION}?
+PKG_HASH:=a7a568cc65f2a1714f036c555b95d3be27234b98ae951cb748198fecce1bb1e4
+
+PKG_MAINTAINER:=Richard Yu <yurichard3839@gmail.com>
+PKG_LICENSE:=MIT
+PKG_LICENSE_FILES:=LICENSE
+
+PKG_BUILD_DEPENDS:=golang/host
+PKG_BUILD_PARALLEL:=1
+PKG_USE_MIPS16:=0
+
+GO_PKG:=github.com/shawn1m/overture
+GO_PKG_BUILD_PKG:=$(GO_PKG)/main
+
+include $(INCLUDE_DIR)/package.mk
+include ../../lang/golang/golang-package.mk
+
+define Package/overture
+ SECTION:=net
+ CATEGORY:=Network
+ SUBMENU:=IP Addresses and Names
+ TITLE:=A customized DNS forwarder written in Go
+ URL:=https://github.com/shawn1m/overture
+ DEPENDS:=$(GO_ARCH_DEPENDS)
+endef
+
+define Package/overture/description
+ Overture is a DNS server/forwarder/dispatcher written in Go.
+endef
+
+define Package/overture/install
+ $(call GoPackage/Package/Install/Bin,$(PKG_INSTALL_DIR))
+
+ $(INSTALL_DIR) $(1)/usr/bin/
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/main $(1)/usr/bin/$(PKG_NAME)
+ $(INSTALL_DIR) $(1)/etc/$(PKG_NAME)/
+ $(INSTALL_DATA) $(PKG_BUILD_DIR)/config.sample.json $(1)/etc/$(PKG_NAME)/config.json
+ $(INSTALL_DATA) ./files/*_sample $(1)/etc/$(PKG_NAME)/
+ $(INSTALL_DIR) $(1)/etc/init.d/
+ $(INSTALL_BIN) ./files/$(PKG_NAME).init $(1)/etc/init.d/$(PKG_NAME)
+endef
+
+$(eval $(call GoBinPackage,overture))
+$(eval $(call BuildPackage,overture))
--- /dev/null
+alternative.example
\ No newline at end of file
--- /dev/null
+primary.example
\ No newline at end of file
--- /dev/null
+ttl.example 1000
\ No newline at end of file
--- /dev/null
+127.0.0.1 localhost
\ No newline at end of file
--- /dev/null
+127.0.0.10/32
\ No newline at end of file
--- /dev/null
+127.0.0.9/32
\ No newline at end of file
--- /dev/null
+#!/bin/sh /etc/rc.common
+
+START=99
+USE_PROCD=1
+
+start_service() {
+ procd_open_instance
+ procd_set_param command /usr/bin/overture -c /etc/overture/config.json
+ procd_set_param file /etc/overture/config.json
+ procd_set_param stdout 1
+ procd_set_param stderr 1
+ procd_set_param respawn
+ procd_close_instance
+}
PKG_NAME:=pdns
PKG_VERSION:=4.2.1
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=https://downloads.powerdns.com/releases/
--- /dev/null
+--- a/pdns/opensslsigners.cc
++++ b/pdns/opensslsigners.cc
+@@ -29,6 +29,7 @@
+ #if defined(HAVE_LIBCRYPTO_ED25519) || defined(HAVE_LIBCRYPTO_ED448)
+ #include <openssl/evp.h>
+ #endif
++#include <openssl/bn.h>
+ #include <openssl/sha.h>
+ #include <openssl/rand.h>
+ #include <openssl/rsa.h>
+--- a/pdns/pkcs11signers.cc
++++ b/pdns/pkcs11signers.cc
+@@ -15,6 +15,7 @@
+ #include "pdns/lock.hh"
+
+ #ifdef HAVE_LIBCRYPTO_ECDSA
++#include <openssl/bn.h>
+ #include <openssl/ec.h>
+ #endif
+
PKG_NAME:=port-mirroring
PKG_VERSION:=1.4.4
-PKG_RELEASE:=2
+PKG_RELEASE:=3
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/mmaraya/port-mirroring/tar.gz/v$(PKG_VERSION)?
--- /dev/null
+--- a/src/main.c
++++ b/src/main.c
+@@ -252,7 +252,7 @@ void packet_handler_ex(const struct pcap_pkthdr* header, const u_char* pkt_data,
+ if (handle == NULL || pcap_sendpacket(handle, pkt_data, header->len) != 0)
+ {
+ //error detected
+- long nowTime;
++ time_t nowTime;
+ time(&nowTime);
+ if (nowTime - cfg.init_time > ERRTIMEOUT && header->len < 1500)
+ {
+@@ -282,7 +282,7 @@ void packet_handler_ex(const struct pcap_pkthdr* header, const u_char* pkt_data,
+ if (handle == NULL || pcap_sendpacket(handle, buf, header->len) != 0)
+ {
+ //error detected
+- long nowTime;
++ time_t nowTime;
+ time(&nowTime);
+ if (nowTime - cfg.init_time > ERRTIMEOUT && header->len < 1500)
+ {
PKG_NAME:=radicale
PKG_VERSION:=1.1.6
-PKG_RELEASE:=3
+PKG_RELEASE:=4
PYPI_NAME:=Radicale
PKG_HASH:=c007198ea45ef797344672c681d4c13f8b4aa85c15c41a1156225767a405c92b
+python3-xml
USERID:=radicale=5232:radicale=5232
PROVIDES:=radicale-py2 radicale-py3
- VARIANT:=python3
endef
define Package/radicale/description
PKG_NAME:=radicale2
PKG_VERSION:=2.1.11
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_LICENSE:=GPL-3.0
PKG_LICENSE_FILES:=COPYING
USERID:=radicale2=225:radicale2=225
DEPENDS:=+python3 +python3-dateutil +python3-vobject +python3-setuptools
CONFLICTS:=radicale
- VARIANT:=python3
endef
define Package/radicale2-examples
CONFIG_PACKAGE_kmod-fs-btrfs \
CONFIG_PACKAGE_kmod-fs-xfs
+PYTHON3_PKG_BUILD:=0
+
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/host-build.mk
include $(INCLUDE_DIR)/kernel.mk
include $(INCLUDE_DIR)/version.mk
-include $(TOPDIR)/feeds/packages/lang/python/python3-host.mk
-#include $(TOPDIR)/feeds/packages/lang/python/python-package.mk
-include $(TOPDIR)/feeds/packages/lang/python/python3-package.mk
+include ../../lang/python/python3-host.mk
+include ../../lang/python/python3-package.mk
define Package/samba4/Default
SECTION:=net
endef
define Build/Compile
- $(call Build/Compile/Py3Mod,., \
+ $(call Python3/ModSetup,., \
install --prefix="/usr" --root="$(PKG_INSTALL_DIR)", \
)
endef
include $(TOPDIR)/rules.mk
PKG_NAME:=seafile-ccnet
-PKG_VERSION:=7.1.2
+PKG_VERSION:=7.1.3
PKG_RELEASE:=2
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/haiwen/ccnet-server/tar.gz/v$(PKG_VERSION)-server?
-PKG_HASH:=32d3d7290415497c52ab407a64468538662dde81ccd139b6e4499e3f2c5b8d4b
+PKG_HASH:=148d9b1af9218943de310f3f2e29e542e7279dbfba307a1cdd894bf8b7faf2e8
PKG_MAINTAINER:=Alexandru Ardelean <ardeleanalex@gmail.com>, Jeffery To <jeffery.to@gmail.com>
PKG_LICENSE:=AGPL-3.0-only
PKG_FIXUP:=autoreconf
PKG_BUILD_PARALLEL:=1
PKG_INSTALL:=1
+PYTHON3_PKG_BUILD:=0
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/nls.mk
SUBMENU:=Python
TITLE:=Python bindings for Seafile Ccnet
DEPENDS:=+seafile-ccnet +python3-light +python3-searpc
- VARIANT:=python3
endef
define Package/python3-seafile-ccnet/description
--enable-python \
--with-mysql="$(STAGING_DIR)/usr/bin/mysql_config"
+CONFIGURE_VARS += \
+ PYTHON="$(HOST_PYTHON3_BIN)"
+
define Package/seafile-ccnet/install
$(INSTALL_DIR) $(1)/usr/{lib,libexec}
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/* $(1)/usr/libexec/
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libccnet.{a,la,so*} $(1)/usr/lib/
endef
-define Py3Build/Compile
- rm -rf $(PKG_INSTALL_DIR)$(PYTHON3_PKG_DIR)/ccnet
- $(INSTALL_DIR) $(PKG_INSTALL_DIR)$(PYTHON3_PKG_DIR)/ccnet
- $(INSTALL_DATA) $(PKG_BUILD_DIR)/python/ccnet/*.py $(PKG_INSTALL_DIR)$(PYTHON3_PKG_DIR)/ccnet/
-endef
-
Py3Package/python3-seafile-ccnet/install:=:
$(eval $(call BuildPackage,seafile-ccnet))
--- /dev/null
+--- a/python/ccnet/Makefile.am
++++ b/python/ccnet/Makefile.am
+@@ -1,2 +1,2 @@
+ ccnetdir=${pyexecdir}/ccnet
+-ccnet_PYTHON = __init__.py rpc.py
++ccnet_DATA = __init__.py rpc.py
include $(TOPDIR)/rules.mk
PKG_NAME:=seafile-seahub
-PKG_VERSION:=7.1.2
-PKG_RELEASE:=1
+PKG_VERSION:=7.1.3
+PKG_RELEASE:=2
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/haiwen/seahub/tar.gz/v$(PKG_VERSION)-server?
-PKG_HASH:=647dca870c996ed00844d3bf45bc15f22fdf5268cfd3ac4c0dd9e4c15360361d
+PKG_HASH:=a2cf1ad1ff357b06c112f3f80e2e4a2ef109813496c96afc309449f6915e8797
PKG_MAINTAINER:=Alexandru Ardelean <ardeleanalex@gmail.com>, Jeffery To <jeffery.to@gmail.com>
PKG_LICENSE:=Apache-2.0
HOST_PYTHON3_PACKAGE_BUILD_DEPENDS:="Django~=1.11"
PKG_BUILD_PARALLEL:=1
+PYTHON3_PKG_BUILD:=0
include $(INCLUDE_DIR)/package.mk
include ../../lang/python/python3-package.mk
+python3-requests-oauthlib \
+python3-seafile-ccnet \
+python3-searpc
- VARIANT:=python3
endef
define Package/seafile-seahub/description
PYTHON="$(HOST_PYTHON3_BIN)" \
DJANGO_ADMIN_PY="$(STAGING_DIR_HOSTPKG)/bin/django-admin"
-define Py3Build/Compile
- $(call Build/Compile/HostPy3PipInstall,$(HOST_PYTHON3_PACKAGE_BUILD_DEPENDS))
+define Build/Compile
+ $(call HostPython3/PipInstall,$(HOST_PYTHON3_PACKAGE_BUILD_DEPENDS))
$(call Build/Compile/Default,locale)
- $(INSTALL_DIR) $(PKG_INSTALL_DIR)/$(PYTHON3_PKG_DIR)
endef
define Py3Package/seafile-seahub/install
mv $(1)/usr/share/seafile/seafile-server/seahub/media/avatars $(1)/usr/share/seafile/seafile-server/seahub/media/avatars_default
endef
+Py3Package/seafile-seahub/filespec:=
+
$(eval $(call Py3Package,seafile-seahub))
$(eval $(call BuildPackage,seafile-seahub))
$(eval $(call BuildPackage,seafile-seahub-src))
os.path.join(PROJECT_ROOT, 'seahub/templates'),
],
'APP_DIRS': True,
-@@ -627,7 +627,7 @@ CAPTCHA_IMAGE_SIZE = (90, 42)
+@@ -630,7 +630,7 @@ CAPTCHA_IMAGE_SIZE = (90, 42)
ENABLE_THUMBNAIL = True
# Absolute filesystem path to the directory that will hold thumbnail files.
if os.path.exists(SEAHUB_DATA_ROOT):
THUMBNAIL_ROOT = os.path.join(SEAHUB_DATA_ROOT, 'thumbnail')
else:
-@@ -790,7 +790,7 @@ except ImportError:
+@@ -793,7 +793,7 @@ except ImportError:
pass
else:
# In server release, sqlite3 db file is <topdir>/seahub.db
include $(TOPDIR)/rules.mk
PKG_NAME:=seafile-server
-PKG_VERSION:=7.1.2
+PKG_VERSION:=7.1.3
PKG_RELEASE:=2
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/haiwen/seafile-server/tar.gz/v$(PKG_VERSION)-server?
-PKG_HASH:=30b972d17eb13da28f4dffcbabd2a2a4a7426a017f694e0fb8440e93fd5bd355
+PKG_HASH:=79f7722a34c304adb78462194e64d6a610bd5ee40def37f4e4cdf5befed44fcd
PKG_MAINTAINER:=Alexandru Ardelean <ardeleanalex@gmail.com>, Jeffery To <jeffery.to@gmail.com>
PKG_LICENSE:=AGPL-3.0-only
PKG_FIXUP:=autoreconf
PKG_BUILD_PARALLEL:=1
PKG_INSTALL:=1
+PYTHON3_PKG_BUILD:=0
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/nls.mk
SUBMENU:=Python
TITLE:=Python bindings for Seafile server
DEPENDS:=+python3-light +python3-logging +python3-searpc +python3-seafile-ccnet
- VARIANT:=python3
endef
define Package/python3-seafile-server/description
--enable-python \
--with-mysql="$(STAGING_DIR)/usr/bin/mysql_config"
-# This is required as python3-package.mk overrides the default setting of having interlinking enabled
-ifdef CONFIG_USE_MIPS16
- TARGET_CFLAGS += -minterlink-mips16
-endif
+CONFIGURE_VARS += \
+ PYTHON="$(HOST_PYTHON3_BIN)"
ifdef CONFIG_GCC_LIBSSP
TARGET_LDFLAGS += -lssp
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libseafile.pc $(1)/usr/lib/pkgconfig/
endef
-define Py3Build/Compile
- rm -rf $(PKG_INSTALL_DIR)$(PYTHON3_PKG_DIR)/{seafile,seaserv}
- $(INSTALL_DIR) $(PKG_INSTALL_DIR)$(PYTHON3_PKG_DIR)/{seafile,seaserv}
- $(INSTALL_DATA) $(PKG_BUILD_DIR)/python/seafile/*.py $(PKG_INSTALL_DIR)$(PYTHON3_PKG_DIR)/seafile/
- $(INSTALL_DATA) $(PKG_BUILD_DIR)/python/seaserv/*.py $(PKG_INSTALL_DIR)$(PYTHON3_PKG_DIR)/seaserv/
-endef
-
define Package/seafile-server-fuse/install
$(INSTALL_DIR) $(1)/usr/{bin,libexec}
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/seaf-fuse $(1)/usr/libexec/
--- /dev/null
+--- a/python/seafile/Makefile.am
++++ b/python/seafile/Makefile.am
+@@ -1,3 +1,3 @@
+ seafiledir=${pyexecdir}/seafile
+
+-seafile_PYTHON = __init__.py rpcclient.py
++seafile_DATA = __init__.py rpcclient.py
+--- a/python/seaserv/Makefile.am
++++ b/python/seaserv/Makefile.am
+@@ -1,3 +1,3 @@
+ seaservdir=${pyexecdir}/seaserv
+
+-seaserv_PYTHON = __init__.py service.py api.py
++seaserv_DATA = __init__.py service.py api.py
PKG_NAME:=shorewall-core
PKG_MAJOR_MINOR_VERSION:=5.2
PKG_BUGFIX_MAJOR_VERSION:=4
-PKG_BUGFIX_MINOR_VERSION:=
+PKG_BUGFIX_MINOR_VERSION:=.1
PKG_VERSION:=$(PKG_MAJOR_MINOR_VERSION).$(PKG_BUGFIX_MAJOR_VERSION)$(PKG_BUGFIX_MINOR_VERSION)
PKG_DIRECTORY:=$(PKG_MAJOR_MINOR_VERSION).$(PKG_BUGFIX_MAJOR_VERSION)
PKG_RELEASE:=1
http://www.shorewall.no/pub/shorewall/$(PKG_MAJOR_MINOR_VERSION)/shorewall-$(PKG_DIRECTORY)/ \
http://france.shorewall.net/$(PKG_MAJOR_MINOR_VERSION)/shorewall-$(PKG_DIRECTORY)/
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
-PKG_HASH:=792290534e7599214f3707d7c6dc3fb6ade0a3ed360ead05a2d599eeace11671
+PKG_HASH:=da6c7c9c40085a718d16f9096e5c7b8e9ceaab90b78343a84799d3bc5a212f4f
PKG_MAINTAINER:=Willem van den Akker <wvdakker@wilsoft.nl>
PKG_LICENSE:=GPL-2.0-or-later
PKG_NAME:=shorewall-lite
PKG_MAJOR_MINOR_VERSION:=5.2
PKG_BUGFIX_MAJOR_VERSION:=4
-PKG_BUGFIX_MINOR_VERSION:=
+PKG_BUGFIX_MINOR_VERSION:=.1
PKG_VERSION:=$(PKG_MAJOR_MINOR_VERSION).$(PKG_BUGFIX_MAJOR_VERSION)$(PKG_BUGFIX_MINOR_VERSION)
PKG_DIRECTORY:=$(PKG_MAJOR_MINOR_VERSION).$(PKG_BUGFIX_MAJOR_VERSION)
PKG_RELEASE:=1
http://www.shorewall.no/pub/shorewall/$(PKG_MAJOR_MINOR_VERSION)/shorewall-$(PKG_DIRECTORY)/ \
http://france.shorewall.net/$(PKG_MAJOR_MINOR_VERSION)/shorewall-$(PKG_DIRECTORY)/
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
-PKG_HASH:=1d2cbb64a3c983dc46ca1dc1e6975abb22e721b0f14a36ce3b29225f72b06a59
+PKG_HASH:=e361da6bf74a20e5ed1b8019c1b6fe3f883bbe95b1b7dbb0ab6561408765b727
PKG_MAINTAINER:=Willem van den Akker <wvdakker@wilsoft.nl>
PKG_LICENSE:=GPL-2.0-or-later
PKG_NAME:=shorewall
PKG_MAJOR_MINOR_VERSION:=5.2
PKG_BUGFIX_MAJOR_VERSION:=4
-PKG_BUGFIX_MINOR_VERSION:=
+PKG_BUGFIX_MINOR_VERSION:=.1
PKG_VERSION:=$(PKG_MAJOR_MINOR_VERSION).$(PKG_BUGFIX_MAJOR_VERSION)$(PKG_BUGFIX_MINOR_VERSION)
PKG_DIRECTORY:=$(PKG_MAJOR_MINOR_VERSION).$(PKG_BUGFIX_MAJOR_VERSION)
PKG_RELEASE:=1
http://www.shorewall.no/pub/shorewall/$(PKG_MAJOR_MINOR_VERSION)/shorewall-$(PKG_DIRECTORY)/ \
http://france.shorewall.net/$(PKG_MAJOR_MINOR_VERSION)/shorewall-$(PKG_DIRECTORY)/
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
-PKG_HASH:=fd53cc2db7f879c4e22c430ce146125ec81d373485f1ea6dfef90ee28a07104d
+PKG_HASH:=2f2338c50ac495e300a29a57576f1510302cf85975ee45445d3635fd23ca3085
PKG_MAINTAINER:=Willem van den Akker <wvdakker@wilsoft.nl>
PKG_LICENSE:=GPL-2.0-or-later
PKG_NAME:=shorewall6-lite
PKG_MAJOR_MINOR_VERSION:=5.2
PKG_BUGFIX_MAJOR_VERSION:=4
-PKG_BUGFIX_MINOR_VERSION:=
+PKG_BUGFIX_MINOR_VERSION:=.1
PKG_VERSION:=$(PKG_MAJOR_MINOR_VERSION).$(PKG_BUGFIX_MAJOR_VERSION)$(PKG_BUGFIX_MINOR_VERSION)
PKG_DIRECTORY:=$(PKG_MAJOR_MINOR_VERSION).$(PKG_BUGFIX_MAJOR_VERSION)
PKG_RELEASE:=1
http://www.shorewall.no/pub/shorewall/$(PKG_MAJOR_MINOR_VERSION)/shorewall-$(PKG_DIRECTORY)/ \
http://france.shorewall.net/$(PKG_MAJOR_MINOR_VERSION)/shorewall-$(PKG_DIRECTORY)/
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
-PKG_HASH:=376896152bb2f31cf5533988f3506395dde980842c5d9f123857d895c21a1768
+PKG_HASH:=e17171d881caf304580e8df7c21421cceb47a8c0b30afa90127046655be91aa6
PKG_MAINTAINER:=Willem van den Akker <wvdakker@wilsoft.nl>
PKG_LICENSE:=GPL-2.0-or-later
PKG_NAME:=shorewall6
PKG_MAJOR_MINOR_VERSION:=5.2
PKG_BUGFIX_MAJOR_VERSION:=4
-PKG_BUGFIX_MINOR_VERSION:=
+PKG_BUGFIX_MINOR_VERSION:=.1
PKG_VERSION:=$(PKG_MAJOR_MINOR_VERSION).$(PKG_BUGFIX_MAJOR_VERSION)$(PKG_BUGFIX_MINOR_VERSION)
PKG_DIRECTORY:=$(PKG_MAJOR_MINOR_VERSION).$(PKG_BUGFIX_MAJOR_VERSION)
PKG_RELEASE:=1
http://www.shorewall.no/pub/shorewall/$(PKG_MAJOR_MINOR_VERSION)/shorewall-$(PKG_DIRECTORY)/ \
http://france.shorewall.net/$(PKG_MAJOR_MINOR_VERSION)/shorewall-$(PKG_DIRECTORY)/
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
-PKG_HASH:=3da28c71b8c5fe9935cfb8eacb260fdf31d57f5ebf6ba8f3e87956e56d3e5cc9
+PKG_HASH:=53bfd9edc444374ed51413e5200d92a93b40da3a3306c734463ec0fcd69bcce0
PKG_MAINTAINER:=Willem van den Akker <wvdakker@wilsoft.nl>
PKG_LICENSE:=GPL-2.0-or-later
PKG_NAME:=simple-adblock
PKG_VERSION:=1.8.3
-PKG_RELEASE:=1
+PKG_RELEASE:=3
PKG_MAINTAINER:=Stan Grishin <stangri@melmac.net>
PKG_LICENSE:=GPL-3.0-or-later
# blocklist too big for most routers
# list blacklist_hosts_url 'http://sysctl.org/cameleon/hosts'
-# File size: 1.7M
+# File size: 1.6M
# blocklist too big for most routers
-# list blacklist_hosts_url 'https://hosts-file.net/ad_servers.txt'
+# list blacklist_hosts_url 'https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts'
# File size: 3.1M
# blocklist too big for most routers
# list blacklist_hosts_url 'https://hostsfile.mine.nu/Hosts'
+# File size: 23.0M
+# blocklist too big for most routers
+# list blacklist_hosts_url 'https://dbl.oisd.nl/'
+
# site was down on last check
# list blacklist_domains_url 'http://support.it-mate.co.uk/downloads/hosts.txt'
-
#!/bin/sh /etc/rc.common
-# Copyright 2017-2019 Stan Grishin (stangri@melmac.net)
-# shellcheck disable=SC2039
-# shellcheck disable=SC1091
+# Copyright 2017-2020 Stan Grishin (stangri@melmac.net)
+# shellcheck disable=SC2039,SC1091
PKG_VERSION='dev-test'
export START=94
output() {
# Can take a single parameter (text) to be output at any verbosity
# Or target verbosity level and text to be output at specifc verbosity
- local msg memmsg
+ local msg memmsg logmsg
if [ $# -ne 1 ]; then
if [ $((verbosity & $1)) -gt 0 ] || [ "$verbosity" = "$1" ]; then shift; else return 0; fi
fi
msg="${1//$serviceName /service }";
if [ "$(printf "%b" "$msg" | wc -l)" -gt 0 ]; then
[ -s "$sharedMemoryOutput" ] && memmsg="$(cat "$sharedMemoryOutput")"
- logger -t "${packageName:-service} [$$]" "$(printf "%b" "${memmsg}${msg}")"
+ logmsg="$(printf "%b" "${memmsg}${msg}" | sed 's/\x1b\[[0-9;]*m//g')"
+ logger -t "${packageName:-service} [$$]" "$(printf "%b" "$logmsg")"
rm -f "$sharedMemoryOutput"
else
printf "%b" "$msg" >> "$sharedMemoryOutput"
triggers)
curReload="$parallelDL $debug $dlTimeout $whitelist_domains $blacklist_domains $whitelist_domains_urls $blacklist_domains_urls $blacklist_hosts_urls $targetDNS"
curRestart="$compressedCache $forceDNS $led"
- if [ "$curReload" != "$readReload" ]; then
+ if [ ! -s "$jsonFile" ]; then
+ ret='on_boot'
+ elif [ "$curReload" != "$readReload" ]; then
ret='download'
elif [ "$curRestart" != "$readRestart" ]; then
ret='restart'
if create_lock; then
sleep "$bootDelay"
remove_lock
- rc_procd start_service && rc_procd service_triggers
+ rc_procd start_service 'on_boot' && rc_procd service_triggers
fi
}
stats="$(tmpfs get stats)"
action="$(tmpfs get triggers)"
- if [ "$action" = 'download' ] || [ "$1" = 'download' ] || [ -n "$error" ]; then
- action='download'
- elif [ ! -s "$outputFile" ] && ! cacheOps 'test' && ! cacheOps 'testGzip'; then
+ if [ "$action" = 'on_boot' ] || [ "$1" = 'on_boot' ]; then
+ if cacheOps 'testGzip' || cacheOps 'test'; then
+ action='restore'
+ else
+ action='download'
+ fi
+ elif [ "$action" = 'download' ] || [ "$1" = 'download' ] || [ -n "$error" ]; then
action='download'
- elif [ ! -s "$outputFile" ] && cacheOps 'testGzip' || cacheOps 'test'; then
- action='restore'
+ elif [ ! -s "$outputFile" ]; then
+ if cacheOps 'testGzip' || cacheOps 'test'; then
+ action='restore'
+ else
+ action='download'
+ fi
elif [ "$action" = 'restart' ] || [ "$1" = 'restart' ]; then
action='restart'
elif [ -s "$outputFile" ] && [ "$status" = "statusSuccess" ] && [ -z "$error" ]; then
endef
define Package/smcroute/conffiles
- /etc/smcroute.conf
+/etc/smcroute.conf
endef
CONFIGURE_ARGS += \
PKG_NAME:=softflowd
PKG_VERSION:=1.0.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/irino/softflowd/tar.gz/softflowd-$(PKG_VERSION)?
--- /dev/null
+--- a/common.h
++++ b/common.h
+@@ -179,7 +179,7 @@ struct ip6_ext {
+
+ /* following lines are copy from unistd.h in Linux for avoidance warnings in compilation */
+ #if defined(HAVE_SETRESGID) && !defined(_GNU_SOURCE)
+-extern int setresgid (__uid_t __ruid, __uid_t __euid, __uid_t __suid);
++extern int setresgid (uid_t __ruid, uid_t __euid, uid_t __suid);
+ #endif
+ #if defined(HAVE_SETRESUID) && !defined(_GNU_SOURCE)
+ extern int setresuid (__uid_t __ruid, __uid_t __euid, __uid_t __suid);
PKG_NAME:=sqm-scripts
PKG_SOURCE_VERSION:=ab763cba8b1516b3afa99760e0ca884f8b8d93b8
PKG_VERSION:=1.4.0
-PKG_RELEASE:=6
+PKG_RELEASE:=7
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://github.com/tohojo/sqm-scripts
make -C $(PKG_BUILD_DIR) DESTDIR=$(1) PLATFORM=openwrt install
endef
-define Package/luci-app-sqm
- SECTION:=luci
- CATEGORY:=LuCI
- TITLE:=SQM Scripts - LuCI interface
- PKGARCH:=all
- DEPENDS:=+luci-compat +sqm-scripts
- SUBMENU:=3. Applications
-endef
-
-define Package/luci-app-sqm/description
- Luci interface for the SQM scripts queue management configuration package.
-endef
-
-define Package/luci-app-sqm/install
- $(MAKE) -C $(PKG_BUILD_DIR) DESTDIR=$(1) PLATFORM=openwrt install-luci
- $(INSTALL_DIR) $(1)/etc/uci-defaults
- $(INSTALL_BIN) ./files/luci-app-sqm.defaults $(1)/etc/uci-defaults
-endef
-
-define Package/luci-app-sqm/postrm
-#!/bin/sh
-which uci > /dev/null || exit 0
-uci -q get ucitrack.@sqm[0] > /dev/null && {
- uci delete ucitrack.@sqm[0]
- uci del_list ucitrack.@firewall[0].affects=sqm
- uci commit
-} || exit 0
-endef
-
$(eval $(call BuildPackage,sqm-scripts))
-$(eval $(call BuildPackage,luci-app-sqm))
+++ /dev/null
-#!/bin/sh
-
-uci -q get ucitrack.@sqm[0] >/dev/null || {
- uci add ucitrack sqm > /dev/null
- uci set ucitrack.@sqm[0].init=sqm
- uci add_list ucitrack.@firewall[0].affects=sqm
- uci commit
-}
CMAKE_INSTALL:=1
PKG_BUILD_PARALLEL:=1
PKG_BUILD_DEPENDS:=swig/host
+PYTHON3_PKG_BUILD:=0
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/cmake.mk
--- /dev/null
+#
+# Copyright (C) 02020 CZ.NIC, z. s. p. o. (https://www.nic.cz/)
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=tor-hs
+PKG_VERSION:=0.0.1
+PKG_RELEASE:=1
+
+PKG_MAINTAINER:=Jan Pavlinec <jan.pavlinec@nic.cz>
+PKG_LICENSE:=GPL-3.0-or-later
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/tor-hs
+ SECTION:=net
+ CATEGORY:=Network
+ SUBMENU:=IP Addresses and Names
+ TITLE:=Tor hidden service configurator
+ DEPENDS:=+tor
+endef
+
+define Package/tor-hs/description
+ Tor Hidden Service configurator
+endef
+
+define Package/tor-hs/conffiles
+/etc/config/tor-hs
+endef
+
+define Build/Compile
+endef
+
+define Build/Install
+endef
+
+define Package/tor-hs/install
+ $(INSTALL_DIR) $(1)/etc/config/
+ $(CP) ./files/tor-hs.conf $(1)/etc/config/tor-hs
+ $(INSTALL_DIR) $(1)/etc/init.d/
+ $(INSTALL_BIN) ./files/tor-hs.init $(1)/etc/init.d/tor-hs
+ $(INSTALL_DIR) $(1)/etc/tor/
+ $(INSTALL_BIN) ./files/nextcloud-update.sh $(1)/etc/tor/
+ $(INSTALL_DIR) $(1)/usr/libexec/rpcd
+ $(INSTALL_BIN) ./files/tor_rpcd.sh $(1)/usr/libexec/rpcd/
+endef
+
+$(eval $(call BuildPackage,tor-hs))
--- /dev/null
+# Tor Hidden service configurator
+**tor-hs** packages tries to simplify creating of hidden services on OpenWrt routers.
+
+## Requirements
+To run **tor-hs**, you need Tor package with uci config support (it was added
+with [this commit](https://github.com/openwrt/packages/commit/ca6528f002d74445e3d0a336aeb9074fc337307a) ).
+
+## Instalation
+To install package simple run
+```
+opkg update
+opkg install tor-hs
+```
+
+## Configuration
+Uci configuration is located in **/etc/config/tor-hs**
+
+### Required section of configuration
+There is one required section **common**
+
+Example of this section
+```
+config tor-hs common
+ option GenConf "/etc/tor/torrc_hs"
+ option HSDir "/etc/tor/hidden_service"
+ option RestartTor "true"
+ option UpdateTorConf "true"
+```
+
+#### Table with options description
+| Type | Name | Default | Description |
+| ------ | ------ | ------ | ------ |
+| option |GenConf | /etc/tor/torrc_generated|Generated config by tor-hs.|
+| option | HSDir |/etc/tor/hidden_service|Directory with meta-data for hidden services (hostname,keys,etc).|
+| option | RestartTor | true| It will restart tor after running **/etc/init.d/tor-hs start**.|
+| option | UpdateTorConf | true|Update /etc/config/tor with config from **GenConf** option.|
+
+### Hidden service configuration
+If you want to create a new hidden service, you have to add a hidden-service section. For every hidden service, there should be a new **hidden-service** section.
+
+Example of hidden service section for ssh server:
+
+```
+config hidden-service
+ option Name 'sshd'
+ option Description "Hidden service for ssh"
+ option Enabled 'false'
+ option IPv4 '127.0.0.1'
+ #public port=2222, local port=22
+ list PublicLocalPort '2222;22'
+```
+
+#### Table with options description
+
+| Type | Name | Example value | Description |
+| ------ | ------ | ------ | ------ |
+| option | Name | sshd| Name of hidden service. It is used as directory name in **HSDir**|
+| option | Description| Hidden service for ssh| Description used in **rpcd** service|
+| option | Enabled |false| Enable hidden service after running **tor-hs** init script|
+| option |IPv4 |127.0.0.1|Local IPv4 address of service. Service could run on another device, in that case OpenWrt will redirect comunication. |
+| list | PublicLocalPort| 2222;22| Public port is port accesible via Tor network. Local port is normal port of service.|
+|option| HookScript |'/etc/tor/nextcloud-update.php'| Path to script which is executed after starting tor-hs. Script is executed with paramters **--update-onion** **hostname** . Hostname is replaced with Onion v3 address for given hidden service.
+
+## Running service
+
+To enable tor-hs service run
+```
+/etc/init.d/tor-hs enable
+/etc/init.d/tor-hs start
+
+```
+In case you enabled option *RestartTor* and *UpdateTorConf* hidden service should be running.
+Otherwise, you should also restart tor daemon.
+
+```
+/etc/init.d/tor restart
+```
+
+After that you should also restart rpcd daemon, so you can use tor-hs RPCD service.
+```
+/etc/init.d/rpcd restart
+```
+
+### RPCD
+
+RPCD servis helps users to access basic informations about hidden services on router. After running HS it contains onion url for given hidden service in hostname value.
+```
+root@turris:/# ubus call tor_rpcd.sh list-hs '{}'
+{
+ "hs-list": [
+ {
+ "name": "sshd",
+ "description": "Hidden service for ssh",
+ "enabled": "1",
+ "ipv4": "127.0.0.1",
+ "hostname": "****hidden-service-hostname****.onion",
+ "ports": [
+ "22;22"
+ ]
+ }
+ ]
+}
+```
+
--- /dev/null
+#!/bin/sh
+# This is example script for tor-hs uci config
+# HookScript option. Script is then called after running
+# hidden service.
+# It disables trusted domain check for nextcloud.
+
+NEXTCLOUD_CLI_SCRIPT="/srv/www/nextcloud/occ"
+
+nextcloud_cli() {
+ sudo -u nobody php-cli "$NEXTCLOUD_CLI_SCRIPT" "$@"
+}
+
+
+nextcloud_add_domain() {
+ onion="$1"
+ if [ -n "$onion" ] && nextcloud_cli config:system:get trusted_domains |grep "$onion" ; then
+ echo "Info: Trusted domains already disabled. Nothing to do." >&2
+ else
+ echo "Info: Disabling trusted domains." >&2
+ nextcloud_cli config:system:set trusted_domains 1000 --value=$onion
+ fi
+}
+
+print_help() {
+ echo "Help"
+}
+
+# Check occ command
+[ -f "$NEXTCLOUD_CLI_SCRIPT" ] || {
+ echo "Error: occ command not found!" >&2
+ exit 1
+}
+
+################################################################
+
+case "$1" in
+--update-onion)
+ nextcloud_add_domain "$2"
+;;
+
+*)
+ print_help
+;;
+esac
--- /dev/null
+config tor-hs common
+ #option GenConf "/etc/tor/torrc_hs"
+ option GenConf "/etc/tor/torrc_generated"
+ option HSDir "/etc/tor/hidden_service"
+ option RestartTor "true"
+ option UpdateTorConf "true"
+
+#config hidden-service
+# option Name 'sshd'
+# option Description "Hidden service for ssh"
+# option Enabled 'false'
+# option IPv4 '127.0.0.1'
+# #public port=2222, local port=22
+# list PublicLocalPort '2222;22'
+
+#config hidden-service
+# option Name 'nextcloud'
+# option Description "Hidden service for Nextcloud"
+# option Enabled 'false'
+# option IPv4 '127.0.0.1'
+# option HookScript '/etc/tor/nextcloud-update.sh'
+# list PublicLocalPort '80;80'
--- /dev/null
+#!/bin/sh /etc/rc.common
+
+START=52
+STOP=52
+
+USE_PROCD=1
+
+TORRC_FILE=/etc/tor/torrc_generated # file with torrc config
+HS_DIR_PATH=/etc/tor/hidden_service #hidden service directory path
+TOR_USER=tor
+
+clean_hs() {
+ local name=""
+}
+
+config_tor() {
+ local restart_tor update_config
+ config_get_bool restart_tor "common" RestartTor
+ config_get_bool update_config "common" UpdateTorConf
+
+ tail_conf=$(uci show tor.conf.tail_include 2>/dev/null)
+ head_conf=$(uci show tor.conf.head_include 2>/dev/null)
+ echo "tail_conf $tail_conf"
+
+ if [ "$update_config" = "1" ]; then
+ if [ -n "$(echo $tail_conf | grep $TORRC_FILE)" ] || [ -n "$(echo $head_conf | grep $TORRC_FILE)" ]; then
+ echo "Info. Not updating tor configuration"
+ else
+ #uci add_list
+ echo "Info. Updating tor configuration"
+ uci add_list tor.conf.tail_include="$TORRC_FILE"
+ uci commit tor
+ fi
+ fi
+
+ if [ "$restart_tor" = "1" ]; then
+ /etc/init.d/tor restart
+ fi
+}
+
+handle_hs_ports_conf() {
+ local public_port local_port
+ local value="$1"
+ local ipv4="$2"
+ local name="$3"
+
+ public_port=$(echo "$value"|awk -F';' '{print $1}')
+ local_port=$(echo "$value"|awk -F';' '{print $2}')
+ echo "HiddenServicePort $public_port $ipv4:$local_port">>$TORRC_FILE
+}
+
+parse_hs_conf() {
+ local name public_port local_port enable_hs ipv4
+ local config="$1"
+
+ config_get name "$config" Name
+ config_get description "$config" Description
+
+ config_get_bool enable_hs "$config" Enabled 0
+ config_get ipv4 "$config" IPv4
+
+ if [ "$enable_hs" = "1" ]; then
+ mkdir -p "$HS_DIR_PATH/$name"
+ chown "$TOR_USER":"$TOR_USER" "$HS_DIR_PATH/"
+ chown "$TOR_USER:$TOR_USER" "$HS_DIR_PATH/$name"
+ chmod 700 "$HS_DIR_PATH/"
+ chmod 700 "$HS_DIR_PATH/$name/"
+
+ echo "HiddenServiceDir $HS_DIR_PATH/$name" >>$TORRC_FILE
+ config_list_foreach "$config" PublicLocalPort handle_hs_ports_conf "$ipv4" "$name"
+ fi
+}
+
+parse_hs_conf_hooks() {
+ local name hook_script enable_hs hostname_file
+ local config="$1"
+
+ config_get enable_hs "$config" Enabled 0
+ config_get hook_script "$config" HookScript
+ config_get name "$config" Name
+
+ hostname="$HS_DIR_PATH/$name/hostname"
+
+ # check if we should run hook_script
+ if [ "$enable_hs" = "true" ] && [ -x "$hook_script" ] && [ -f "$hostname" ] ; then
+ hostname_uri=$(cat "$hostname")
+ # call hook script
+ $hook_script "--update-onion" "$hostname_uri"
+ fi
+}
+
+parse_common_conf() {
+ local hs_dir generated_config
+ config_get generated_config "common" GenConf
+ config_get hs_dir "common" HSDir
+ [ -n "$hs_dir" ] && HS_DIR_PATH="$hs_dir"
+ [ -n "$generated_config" ] && TORRC_FILE="$generated_config"
+}
+
+start_service() {
+ config_load tor-hs
+ # clean config
+ echo "" > $TORRC_FILE # clean config
+
+ # load common config
+ parse_common_conf
+
+ # load hs service
+ config_foreach parse_hs_conf hidden-service
+
+ # update tor config
+ config_tor
+
+ # load and run tor-hs hooks
+ config_foreach parse_hs_conf_hooks hidden-service
+}
--- /dev/null
+#!/bin/sh
+
+. /lib/functions.sh
+
+get_onion_hostname() {
+ local name="$1"
+ config_get hs_dir common HSDir
+ if [ -f "$hs_dir/$name/hostname" ]; then
+ cat "$hs_dir/$name/hostname"
+ fi
+}
+
+get_port_list() {
+ local config="$1"
+ config_get ports "$config" PublicLocalPort
+ tmp="$(echo $ports |sed "s| |','|g")"
+ echo -ne "['$tmp']"
+}
+
+parse_hs_conf() {
+ local name description public_port local_port enable_bool public_local_port ipv4
+ local config="$1"
+ local custom="$2"
+
+ config_get name "$config" Name
+ config_get description "$config" Description
+
+ config_get_bool enable_hs "$config" Enabled 0
+ config_get ipv4 "$config" IPv4
+
+ hostname="$(get_onion_hostname $name)"
+ port_list="$(get_port_list $config)"
+ echo "{"
+ echo \"name\":\"$name\",
+ echo \"description\":\"$description\",
+ echo \"enabled\":\"$enable_hs\",
+ echo \"ipv4\":\"$ipv4\",
+ echo \"hostname\":\"$hostname\",
+ echo \"ports\":$port_list
+ echo "},"
+}
+
+get_tor_hs_list() {
+ config_load tor-hs
+ echo "{"
+ echo '"hs-list":['
+ config_foreach parse_hs_conf hidden-service
+ echo "]"
+ echo "}"
+}
+
+
+
+case "$1" in
+ list)
+ echo '{ "list-hs": { } }'
+ ;;
+ call)
+ case "$2" in
+ list-hs)
+ # return json object
+ get_tor_hs_list
+ ;;
+ esac
+ ;;
+esac
+
+
+
PKG_NAME:=transmission
PKG_VERSION:=2.94
-PKG_RELEASE:=15
+PKG_RELEASE:=16
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=@GITHUB/transmission/transmission-releases/master
# Copyright (C) 2010-2015 OpenWrt.org
START=99
+STOP=10
USE_PROCD=1
PROG="/usr/bin/transmission-daemon"
#
-# Copyright (c) 2016-2019 Dirk Brenken (dev@brenken.org)
+# Copyright (c) 2016-2020 Dirk Brenken (dev@brenken.org)
# This is free software, licensed under the GNU General Public License v3.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=travelmate
-PKG_VERSION:=1.5.3
+PKG_VERSION:=1.5.4
PKG_RELEASE:=1
PKG_LICENSE:=GPL-3.0-or-later
PKG_MAINTAINER:=Dirk Brenken <dev@brenken.org>
START=25
USE_PROCD=1
+EXTRA_COMMANDS="status_service"
+
trm_init="/etc/init.d/travelmate"
trm_script="/usr/bin/travelmate.sh"
trm_pidfile="/var/run/travelmate.pid"
#
LC_ALL=C
PATH="/usr/sbin:/usr/bin:/sbin:/bin"
-trm_ver="1.5.3"
+trm_ver="1.5.4"
trm_enabled=0
trm_debug=0
trm_iface="trm_wwan"
elif [ -n "${trm_radio}" ] && [ -z "${trm_radiolist}" ]
then
trm_radiolist="$(f_trim "$(printf "%s" "${trm_radio}" | \
- awk '{while(match(tolower($0),/radio[0-9]/)){ORS=" ";print substr(tolower($0),RSTART,RLENGTH);$0=substr($0,RSTART+RLENGTH)}}')")"
+ awk '{while(match(tolower($0),/[a-z0-9]+/)){ORS=" ";print substr(tolower($0),RSTART,RLENGTH);$0=substr($0,RSTART+RLENGTH)}}')")"
fi
if [ "${mode}" = "sta" ] && [ "${network}" = "${trm_iface}" ]
then
{
local IFS result
- result="$(${trm_fetch} --timeout=$((trm_maxwait/6)) "${trm_captiveurl}" -O /dev/null 2>&1 | \
- awk '/^Failed to redirect|^Redirected/{printf "%s" "net cp \047"$NF"\047";exit}/^Download completed/{printf "%s" "net ok";exit}/^Failed|Connection error/{printf "%s" "net nok";exit}')"
+ result="$(${trm_fetch} --timeout=$((trm_maxwait/6)) "${trm_captiveurl}" -O /dev/null 2>&1 | tail -n 1)"
+ result="$(printf "%s" "${result//[\?\$\%\&\+\|\'\"\:]*/}" | awk '/^Failed to redirect|^Redirected/{printf "%s" "net cp \047"$NF"\047";exit}/^Download completed/{printf "%s" "net ok";exit}/^Failed|Connection error/{printf "%s" "net nok";exit}')"
printf "%s" "${result}"
f_log "debug" "f_net ::: fetch: ${trm_fetch}, timeout: $((trm_maxwait/6)), url: ${trm_captiveurl}, result: ${result}"
}
#
f_check()
{
- local IFS ifname radio dev_status config sta_essid sta_bssid result uci_essid uci_bssid login_command login_command_args wait_time=1 mode="${1}" status="${2:-"false"}" cp_domain="${3:-"false"}"
+ local IFS ifname radio dev_status result uci_section login_command login_command_args wait_time=1 mode="${1}" status="${2:-"false"}" cp_domain="${3:-"false"}"
if [ "${mode}" != "initial" ] && [ "${mode}" != "dev" ] && [ "${status}" = "false" ]
then
if [ "${cp_domain}" = "true" ]
then
cp_domain="$(printf "%s" "${result}" | awk -F "[\\'| ]" '/^net cp/{printf "%s" $4}')"
- uci_essid="$(printf "%s" "${dev_status}" | jsonfilter -l1 -e '@.*.interfaces[@.config.mode="sta"].config.ssid')"
- uci_essid="${uci_essid//[^[:alnum:]_]/_}"
- uci_bssid="$(printf "%s" "${dev_status}" | jsonfilter -l1 -e '@.*.interfaces[@.config.mode="sta"].config.bssid')"
- uci_bssid="${uci_bssid//[^[:alnum:]_]/_}"
+ uci_section="$(printf "%s" "${dev_status}" | jsonfilter -l1 -e '@.*.interfaces[@.config.mode="sta"].section')"
fi
fi
if [ "${trm_ifquality}" -ge "${trm_minquality}" ] && [ "${result}" != "net nok" ]
do
result="$(f_net)"
cp_domain="$(printf "%s" "${result}" | awk -F "[\\'| ]" '/^net cp/{printf "%s" $4}')"
- uci_essid="$(printf "%s" "${dev_status}" | jsonfilter -l1 -e '@.*.interfaces[@.config.mode="sta"].config.ssid')"
- uci_essid="${uci_essid//[^[:alnum:]_]/_}"
- uci_bssid="$(printf "%s" "${dev_status}" | jsonfilter -l1 -e '@.*.interfaces[@.config.mode="sta"].config.bssid')"
- uci_bssid="${uci_bssid//[^[:alnum:]_]/_}"
+ uci_section="$(printf "%s" "${dev_status}" | jsonfilter -l1 -e '@.*.interfaces[@.config.mode="sta"].section')"
if [ "${trm_netcheck}" -eq 1 ] && [ "${result}" = "net nok" ]
then
trm_ifstatus="${status}"
fi
uci -q add_list dhcp.@dnsmasq[0].rebind_domain="${cp_domain}"
f_log "info" "captive portal domain '${cp_domain}' added to to dhcp rebind whitelist"
- if [ -z "$(uci_get "travelmate" "${trm_radio}_${uci_essid}_${uci_bssid}")" ]
+ if [ -z "$(uci_get "travelmate" "${uci_section}")" ]
then
- uci_add travelmate "login" "${trm_radio}_${uci_essid}_${uci_bssid}"
- uci_set travelmate "${trm_radio}_${uci_essid}_${uci_bssid}" "command" "none"
- f_log "info" "captive portal login section '${trm_radio}_${uci_essid}_${uci_bssid}' added to travelmate config section"
+ uci_add travelmate "login" "${uci_section}"
+ uci_set travelmate "${uci_section}" "command" "none"
+ f_log "info" "captive portal login section '${uci_section}' added to travelmate config section"
fi
done
if [ -n "$(uci -q changes "dhcp")" ]
uci_commit "travelmate"
fi
fi
- if [ -n "${cp_domain}" ] && [ "${cp_domain}" != "false" ] && [ -n "${uci_essid}" ] && [ "${trm_captive}" -eq 1 ]
+ if [ -n "${cp_domain}" ] && [ "${cp_domain}" != "false" ] && [ -n "${uci_section}" ] && [ "${trm_captive}" -eq 1 ]
then
trm_connection="${result:-"-"}/${trm_ifquality}"
f_jsnup
- login_command="$(uci_get "travelmate" "${trm_radio}_${uci_essid}_${uci_bssid}" "command")"
+ login_command="$(uci_get "travelmate" "${uci_section}" "command")"
if [ -x "${login_command}" ]
then
- login_command_args="$(uci_get "travelmate" "${trm_radio}_${uci_essid}_${uci_bssid}" "command_args")"
+ login_command_args="$(uci_get "travelmate" "${uci_section}" "command_args")"
"${login_command}" ${login_command_args} >/dev/null 2>&1
rc=${?}
f_log "info" "captive portal login '${login_command:0:40} ${login_command_args:0:20}' for '${cp_domain}' has been executed with rc '${rc}'"
fi
elif [ -n "${trm_connection}" ]
then
- sta_essid="$(printf "%s" "${dev_status}" | jsonfilter -l1 -e '@.*.interfaces[@.config.mode="sta"].*.ssid')"
- sta_bssid="$(printf "%s" "${dev_status}" | jsonfilter -l1 -e '@.*.interfaces[@.config.mode="sta"].*.bssid')"
+ uci_section="$(printf "%s" "${dev_status}" | jsonfilter -l1 -e '@.*.interfaces[@.config.mode="sta"].section')"
if [ "${trm_ifquality}" -lt "${trm_minquality}" ]
then
unset trm_connection
trm_ifstatus="${status}"
- f_log "info" "uplink '${sta_essid:-"-"}/${sta_bssid:-"-"}' is out of range (${trm_ifquality}/${trm_minquality})"
+ f_log "info" "uplink '${uci_section}' is out of range (${trm_ifquality}/${trm_minquality})"
elif [ "${trm_netcheck}" -eq 1 ] && [ "${result}" = "net nok" ]
then
unset trm_connection
trm_ifstatus="${status}"
- f_log "info" "uplink '${sta_essid:-"-"}/${sta_bssid:-"-"}' has no internet (${result})"
+ f_log "info" "uplink '${uci_section}' has no internet (${result})"
fi
f_jsnup
break
#
f_jsnup()
{
- local IFS config d1 d2 d3 last_date last_station sta_iface sta_radio sta_essid sta_bssid last_status dev_status wpa_status status="${trm_ifstatus}" faulty_list faulty_station="${1}"
+ local IFS uci_section d1 d2 d3 last_date last_station sta_iface sta_radio sta_essid sta_bssid last_status dev_status wpa_status status="${trm_ifstatus}" faulty_list faulty_station="${1}"
dev_status="$(ubus -S call network.wireless status 2>/dev/null)"
if [ -n "${dev_status}" ]
then
- config="$(printf "%s" "${dev_status}" | jsonfilter -l1 -e '@.*.interfaces[@.config.mode="sta"].section')"
- if [ -n "${config}" ]
+ uci_section="$(printf "%s" "${dev_status}" | jsonfilter -l1 -e '@.*.interfaces[@.config.mode="sta"].section')"
+ if [ -n "${uci_section}" ]
then
- sta_iface="$(uci_get "wireless" "${config}" "network")"
- sta_radio="$(uci_get "wireless" "${config}" "device")"
- sta_essid="$(uci_get "wireless" "${config}" "ssid")"
- sta_bssid="$(uci_get "wireless" "${config}" "bssid")"
+ sta_iface="$(uci_get "wireless" "${uci_section}" "network")"
+ sta_radio="$(uci_get "wireless" "${uci_section}" "device")"
+ sta_essid="$(uci_get "wireless" "${uci_section}" "ssid")"
+ sta_bssid="$(uci_get "wireless" "${uci_section}" "bssid")"
fi
fi
json_add_string "last_rundate" "${last_date}"
json_add_string "system" "${trm_sysver}"
json_dump > "${trm_rtfile}"
- f_log "debug" "f_jsnup ::: config: ${config:-"-"}, status: ${status:-"-"}, sta_iface: ${sta_iface:-"-"}, sta_radio: ${sta_radio:-"-"}, sta_essid: ${sta_essid:-"-"}, sta_bssid: ${sta_bssid:-"-"}, faulty_list: ${faulty_list:-"-"}, list_expiry: ${trm_listexpiry}"
+ f_log "debug" "f_jsnup ::: uci_section: ${uci_section:-"-"}, status: ${status:-"-"}, sta_iface: ${sta_iface:-"-"}, sta_radio: ${sta_radio:-"-"}, sta_essid: ${sta_essid:-"-"}, sta_bssid: ${sta_bssid:-"-"}, faulty_list: ${faulty_list:-"-"}, list_expiry: ${trm_listexpiry}"
}
# write to syslog
#
f_main()
{
- local IFS cnt dev config spec scan_list scan_essid scan_bssid scan_open scan_quality uci_essid cfg_essid faulty_list
+ local IFS cnt dev config spec scan_dev scan_list scan_essid scan_bssid scan_open scan_quality uci_essid cfg_essid faulty_list
local station_id sta sta_essid sta_bssid sta_radio sta_iface active_essid active_bssid active_radio
f_check "initial" "false" "true"
f_log "debug" "f_main ::: sta_radio: ${sta_radio}, sta_essid: \"${sta_essid}\", sta_bssid: ${sta_bssid:-"-"}"
if [ -z "${scan_list}" ]
then
- scan_list="$("${trm_iwinfo}" "${dev}" scan 2>/dev/null | \
+ scan_dev="$(ubus -S call network.wireless status 2>/dev/null | jsonfilter -l1 -e "@.${dev}.interfaces.*.ifname")"
+ scan_list="$("${trm_iwinfo}" "${scan_dev:-${dev}}" scan 2>/dev/null | \
awk 'BEGIN{FS="[[:space:]]"}/Address:/{var1=$NF}/ESSID:/{var2="";for(i=12;i<=NF;i++)if(var2==""){var2=$i}else{var2=var2" "$i};
gsub(/,/,".",var2)}/Quality:/{split($NF,var0,"/")}/Encryption:/{if($NF=="none"){var3="+"}else{var3="-"};printf "%i,%s,%s,%s\n",(var0[1]*100/var0[2]),var1,var2,var3}' | \
sort -rn | awk -v buf="${trm_scanbuffer}" 'BEGIN{ORS=","}{print substr($0,1,buf)}')"
- f_log "debug" "f_main ::: scan_radio: ${dev}, scan_buffer: ${trm_scanbuffer}, scan_list: ${scan_list}"
+ f_log "debug" "f_main ::: scan_radio: ${dev}, scan_device: ${scan_dev:-"-"}, scan_buffer: ${trm_scanbuffer}, scan_list: ${scan_list:-"-"}"
if [ -z "${scan_list}" ]
then
f_log "debug" "f_main ::: no scan results on '${dev}' - continue"
#
if [ -n "${sec_token}" ]
then
- "${cmd}" "http://${domain}/en/" -H "Cookie: csrf=${sec_token}" --data "login=true&CSRFToken=${sec_token}&connect="
+ "${cmd}" "http://${domain}/en/" -H "Cookie: csrf=${sec_token}" --data "login=true&CSRFToken=${sec_token}&connect=" -s -o /dev/null
else
exit 3
fi
include $(TOPDIR)/rules.mk
PKG_NAME:=uacme
-PKG_VERSION:=1.0.22
+PKG_VERSION:=1.2.1
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/ndilieto/uacme/tar.gz/upstream/$(PKG_VERSION)?
-PKG_HASH:=08070779232c9711a227189ee2d3cb55042f6be2ea0aa59525cb7b554c4688b0
+PKG_HASH:=ccd6001e96ec2eb22a1d557bf8dcc4152a567782afc9a1e017a93d7de3b49833
PKG_MAINTAINER:=Lucian Cristian <lucian.cristian@gmail.com>
PKG_LICENSE:=GPL-3.0-or-later
CONFIGURE_ARGS+= \
--disable-maintainer-mode \
--disable-docs \
+ --without-ualpn \
$(if $(CONFIG_LIBCURL_GNUTLS),--with-gnutls --without-mbedtls --without-openssl,) \
$(if $(CONFIG_LIBCURL_MBEDTLS),--without-gnutls --with-mbedtls --without-openssl,) \
$(if $(CONFIG_LIBCURL_OPENSSL),--without-gnutls --without-mbedtls --with-openssl,) \
PKG_HASH:=4972ac538800fb2d421027f49b4a1869b66048839507ccf0aa2fda792d99f583
PKG_BUILD_DIR:=$(BUILD_DIR)/uwsgi-$(PKG_VERSION)
PKG_BUILD_DEPENDS:=python3/host
+PYTHON3_PKG_BUILD:=0
PKG_LICENSE:=GPL-2.0-or-later
PKG_LICENSE_FILES:=LICENSE
$(call Build/Compile/Default,plugin.logfile PROFILE=openwrt)
$(call Build/Compile/Default,plugin.syslog PROFILE=openwrt)
$(call Build/Compile/Default,plugin.cgi PROFILE=openwrt)
- $(call Build/Compile/HostPy3RunTarget, \
- cd $(PKG_BUILD_DIR), \
+ $(call Python3/Run, \
+ $(PKG_BUILD_DIR), \
uwsgiconfig.py --plugin plugins/python openwrt, \
CPP="$(TARGET_CROSS)cpp" \
LINUX_UNAME_VERSION=$(LINUX_UNAME_VERSION) \
ifneq ($(CONFIG_USE_MUSL),)
NLSSTRING:=-lcrypt
+else ifneq ($(CONFIG_USE_GLIBC),)
+ NLSSTRING:=-lcrypt
else
NLSSTRING:=-lcrypt -lnsl
endif
PKG_NAME:=wget
PKG_VERSION:=1.20.3
-PKG_RELEASE:=3
+PKG_RELEASE:=4
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=@GNU/$(PKG_NAME)
DEPENDS+= +libopenssl +librt
TITLE+= (with SSL support)
VARIANT:=ssl
+ PROVIDES+=wget-ssl
ALTERNATIVES:=300:/usr/bin/wget:/usr/bin/wget-ssl
endef
include $(TOPDIR)/rules.mk
PKG_NAME:=wifidog-ng
-PKG_VERSION:=2.0.1
+PKG_VERSION:=2.0.2
PKG_RELEASE:=1
PKG_BUILD_DIR=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)
PKG_LICENSE:=LGPL-2.1
PKG_LICENSE_FILES:=LICENSE
-PKG_MAINTAINER:=Jianhui Zhao <jianhuizhao329@gmail.com>
+PKG_MAINTAINER:=Jianhui Zhao <zhaojh329@gmail.com>
include $(INCLUDE_DIR)/package.mk
/*
- * Copyright (C) 2017 jianhui zhao <jianhuizhao329@gmail.com>
+ * Copyright (C) 2017 jianhui zhao <zhaojh329@gmail.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
#include <linux/uaccess.h>
#include <linux/inetdevice.h>
#include <linux/seq_file.h>
+#include <linux/version.h>
#include "config.h"
int ret = 0;
struct net_device *dev;
struct in_device *in_dev;
+#if LINUX_VERSION_CODE > KERNEL_VERSION(5, 2, 21)
+ const struct in_ifaddr *ifa;
+#endif
dev = dev_get_by_name(&init_net, interface);
if (!dev) {
goto QUIT;
}
+#if LINUX_VERSION_CODE > KERNEL_VERSION(5, 2, 21)
+ in_dev_for_each_ifa_rcu(ifa, in_dev) {
+ if (ifa->ifa_flags & IFA_F_SECONDARY)
+ continue;
+#else
for_primary_ifa(in_dev) {
+#endif
conf.interface_ipaddr = ifa->ifa_local;
conf.interface_mask = ifa->ifa_mask;
conf.interface_broadcast = ifa->ifa_broadcast;
pr_info("Found ip from %s: %pI4\n", interface, &conf.interface_ipaddr);
break;
+#if LINUX_VERSION_CODE > KERNEL_VERSION(5, 2, 21)
+ }
+#else
} endfor_ifa(in_dev)
-
+#endif
+
QUIT:
dev_put(dev);
/*
- * Copyright (C) 2017 jianhui zhao <jianhuizhao329@gmail.com>
+ * Copyright (C) 2017 jianhui zhao <zhaojh329@gmail.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
/*
- * Copyright (C) 2017 jianhui zhao <jianhuizhao329@gmail.com>
+ * Copyright (C) 2017 jianhui zhao <zhaojh329@gmail.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
#include <linux/tcp.h>
#include <linux/udp.h>
#include <net/netfilter/nf_nat.h>
+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 1, 0)
#include <net/netfilter/nf_nat_l3proto.h>
+#endif
#include "utils.h"
#include "config.h"
if (ct->status & IPS_HIJACKED) {
if (is_allowed_mac(skb, state)) {
/* Avoid duplication of authentication */
+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 4, 0)
nf_reset(skb);
+#else
+ nf_reset_ct(skb);
+#endif
nf_ct_kill(ct);
}
return NF_ACCEPT;
if (ret)
return ret;
-#if LINUX_VERSION_CODE > KERNEL_VERSION(4, 17, 19)
+#if LINUX_VERSION_CODE > KERNEL_VERSION(5, 0, 21)
+ ret = nf_nat_ipv4_register_fn(&init_net, &wifidog_ops);
+#elif LINUX_VERSION_CODE > KERNEL_VERSION(4, 17, 19)
ret = nf_nat_l3proto_ipv4_register_fn(&init_net, &wifidog_ops);
#elif LINUX_VERSION_CODE > KERNEL_VERSION(4, 12, 14)
ret = nf_register_net_hook(&init_net, &wifidog_ops);
{
deinit_config();
-#if LINUX_VERSION_CODE > KERNEL_VERSION(4, 17, 19)
+#if LINUX_VERSION_CODE > KERNEL_VERSION(5, 0, 21)
+ nf_nat_ipv4_unregister_fn(&init_net, &wifidog_ops);
+#elif LINUX_VERSION_CODE > KERNEL_VERSION(4, 17, 19)
nf_nat_l3proto_ipv4_unregister_fn(&init_net, &wifidog_ops);
#elif LINUX_VERSION_CODE > KERNEL_VERSION(4, 12, 14)
nf_unregister_net_hook(&init_net, &wifidog_ops);
module_init(wifidog_init);
module_exit(wifidog_exit);
-MODULE_AUTHOR("jianhui zhao <jianhuizhao329@gmail.com>");
+MODULE_AUTHOR("jianhui zhao <zhaojh329@gmail.com>");
MODULE_LICENSE("GPL");
/*
- * Copyright (C) 2017 jianhui zhao <jianhuizhao329@gmail.com>
+ * Copyright (C) 2017 jianhui zhao <zhaojh329@gmail.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
# syntax of dependencies permits...
DEPENDS:=iptables +iptables-mod-geoip \
+perl +perlbase-getopt +perlbase-io +perl-text-csv_xs \
- +!BUSYBOX_CONFIG_WGET:wget +!BUSYBOX_CONFIG_GZIP:gzip +!BUSYBOX_CONFIG_UNZIP:unzip
+ +!BUSYBOX_CONFIG_FEATURE_WGET_HTTPS:wget +!BUSYBOX_CONFIG_ZCAT:gzip
endef
define Package/iptgeoip/install
include $(TOPDIR)/rules.mk
PKG_NAME:=yggdrasil
-PKG_VERSION:=0.3.13
+PKG_VERSION:=0.3.14
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/yggdrasil-network/yggdrasil-go/tar.gz/v$(PKG_VERSION)?
-PKG_HASH:=ba2149024152c4df65e68722e7d4d1050fec71907904a7bdf9757159d94cd83d
+PKG_HASH:=e8579a04bf289434e7b8caaf621e2c0b853e83cc06f136c4f9e4bfc667df5a27
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-go-$(PKG_VERSION)
PKG_MAINTAINER:=William Fleurant <meshnet@protonmail.com>
include $(TOPDIR)/rules.mk
PKG_NAME:=alsa-utils
-PKG_VERSION:=1.1.9
+PKG_VERSION:=1.2.2
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=ftp://ftp.alsa-project.org/pub/utils/ \
http://distfiles.gentoo.org/distfiles/
-PKG_HASH:=5ddf2cbddb4bd1a4a2a6492a09c25898b08c3ad64893c3655be14194cf0a213a
+PKG_HASH:=44807bd578c5f6df6e91a11b8d37e546424a5a1ea8d8e659ee359fe01730e4f3
PKG_MAINTAINER:=Ted Hess <thess@kitschensync.net>
PKG_LICENSE:=GPL-2.0-or-later
URL:=https://www.alsa-project.org/
endef
-CONFIGURE_ARGS+= \
+CONFIGURE_ARGS += \
--disable-rpath \
--disable-alsatest \
--disable-bat \
--disable-rst2man \
--with-curses=ncursesw
+CONFIGURE_VARS += \
+ ac_cv_header_samplerate_h=no
+
+TARGET_LDFLAGS += -latopology
+
define Package/alsa-utils/install
$(INSTALL_DIR) $(1)/usr/{s,}bin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/amixer $(1)/usr/bin/
+++ /dev/null
---- a/alsamixer/volume_mapping.c
-+++ b/alsamixer/volume_mapping.c
-@@ -108,9 +108,9 @@ static double get_normalized_volume(snd_
- if (use_linear_dB_scale(min, max))
- return (value - min) / (double)(max - min);
-
-- normalized = exp10((value - max) / 6000.0);
-+ normalized = pow(10, (value - max) / 6000.0);
- if (min != SND_CTL_TLV_DB_GAIN_MUTE) {
-- min_norm = exp10((min - max) / 6000.0);
-+ min_norm = pow(10, (min - max) / 6000.0);
- normalized = (normalized - min_norm) / (1 - min_norm);
- }
-
-@@ -143,7 +143,7 @@ static int set_normalized_volume(snd_mix
- }
-
- if (min != SND_CTL_TLV_DB_GAIN_MUTE) {
-- min_norm = exp10((min - max) / 6000.0);
-+ min_norm = pow(10, (min - max) / 6000.0);
- volume = volume * (1 - min_norm) + min_norm;
- }
- value = lrint_dir(6000.0 * log10(volume), dir) + max;
+++ /dev/null
---- a/alsaloop/Makefile.am
-+++ b/alsaloop/Makefile.am
-@@ -1,9 +1,9 @@
- AM_CPPFLAGS = -I$(top_srcdir)/include
- LDADD = -lm
- AM_CFLAGS = -D_GNU_SOURCE
--if HAVE_SAMPLERATE
--LDADD += -lsamplerate
--endif
-+# if HAVE_SAMPLERATE
-+# LDADD += -lsamplerate
-+# endif
- # LDFLAGS = -static
- # CFLAGS += -g -Wall
-
---- a/configure.ac
-+++ b/configure.ac
-@@ -38,8 +38,8 @@ AC_CHECK_HEADERS([alsa/use-case.h], [have_ucm="yes"], [have_ucm="no"],
- [#include <alsa/asoundlib.h>])
- AC_CHECK_HEADERS([alsa/topology.h], [have_topology="yes"], [have_topology="no"],
- [#include <alsa/asoundlib.h>])
--AC_CHECK_HEADERS([samplerate.h], [have_samplerate="yes"], [have_samplerate="no"],
-- [#include <samplerate.h>])
-+dnl AC_CHECK_HEADERS([samplerate.h], [have_samplerate="no"], [have_samplerate="no"],
-+dnl [#include <samplerate.h>])
-
- AC_CHECK_LIB([asound], [snd_seq_client_info_get_card], [HAVE_SEQ_CLIENT_INFO_GET_CARD="yes"])
- if test "$HAVE_SEQ_CLIENT_INFO_GET_CARD" = "yes" ; then
include $(TOPDIR)/rules.mk
PKG_NAME:=mpd
-PKG_VERSION:=0.21.20
-PKG_RELEASE:=2
+PKG_VERSION:=0.21.22
+PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=https://www.musicpd.org/download/mpd/0.21/
-PKG_HASH:=422ef0a996d961f3ebc6856395f3a855b45fa0059910e878fb98281007e510e1
+PKG_HASH:=565687d1899b585350cd66b603e46e5b79affc0a0e36d96d8953c6ccc6f69ba2
PKG_MAINTAINER:=Ted Hess <thess@kitschensync.net>
PKG_LICENSE:=GPL-2.0-or-later
+++ /dev/null
-From 769cd0ee9f0cf8ceb026aa751b5d4a390bb5dbdc Mon Sep 17 00:00:00 2001
-From: Rosen Penev <rosenp@gmail.com>
-Date: Sun, 2 Feb 2020 21:21:57 -0800
-Subject: [PATCH] treewide: use boost::lround when std::round is unavailable
-
-This is the case with uClibc-ng currently.
-
-Signed-off-by: Rosen Penev <rosenp@gmail.com>
----
- src/Stats.cxx | 4 +--
- src/command/PlayerCommands.cxx | 5 ++-
- src/decoder/plugins/FaadDecoderPlugin.cxx | 3 +-
- src/mixer/plugins/WinmmMixerPlugin.cxx | 2 +-
- src/output/plugins/HaikuOutputPlugin.cxx | 3 +-
- src/pcm/PcmMix.cxx | 5 ++-
- src/player/CrossFade.cxx | 5 ++-
- src/util/Math.hxx | 41 +++++++++++++++++++++++
- 8 files changed, 52 insertions(+), 16 deletions(-)
- create mode 100644 src/util/Math.hxx
-
-diff --git a/src/Stats.cxx b/src/Stats.cxx
-index 2208312d7..7467a3a17 100644
---- a/src/Stats.cxx
-+++ b/src/Stats.cxx
-@@ -29,9 +29,9 @@
- #include "system/Clock.hxx"
- #include "Log.hxx"
- #include "time/ChronoUtil.hxx"
-+#include "util/Math.hxx"
-
- #include <chrono>
--#include <cmath>
-
- #ifndef _WIN32
- /**
-@@ -121,7 +121,7 @@ stats_print(Response &r, const Partition &partition)
- #else
- (unsigned)std::chrono::duration_cast<std::chrono::seconds>(std::chrono::steady_clock::now() - start_time).count(),
- #endif
-- std::lround(partition.pc.GetTotalPlayTime().count()));
-+ lround(partition.pc.GetTotalPlayTime().count()));
-
- #ifdef ENABLE_DATABASE
- const Database *db = partition.instance.GetDatabase();
-diff --git a/src/command/PlayerCommands.cxx b/src/command/PlayerCommands.cxx
-index 7f3b4f296..4acb8f2ad 100644
---- a/src/command/PlayerCommands.cxx
-+++ b/src/command/PlayerCommands.cxx
-@@ -34,13 +34,12 @@
- #include "util/StringBuffer.hxx"
- #include "util/ScopeExit.hxx"
- #include "util/Exception.hxx"
-+#include "util/Math.hxx"
-
- #ifdef ENABLE_DATABASE
- #include "db/update/Service.hxx"
- #endif
-
--#include <cmath>
--
- #define COMMAND_STATUS_STATE "state"
- #define COMMAND_STATUS_REPEAT "repeat"
- #define COMMAND_STATUS_SINGLE "single"
-@@ -154,7 +153,7 @@ handle_status(Client &client, gcc_unused Request args, Response &r)
-
- if (pc.GetCrossFade() > FloatDuration::zero())
- r.Format(COMMAND_STATUS_CROSSFADE ": %lu\n",
-- std::lround(pc.GetCrossFade().count()));
-+ lround(pc.GetCrossFade().count()));
-
- if (pc.GetMixRampDelay() > FloatDuration::zero())
- r.Format(COMMAND_STATUS_MIXRAMPDELAY ": %f\n",
-diff --git a/src/decoder/plugins/FaadDecoderPlugin.cxx b/src/decoder/plugins/FaadDecoderPlugin.cxx
-index 983103e0e..e1c9576d3 100644
---- a/src/decoder/plugins/FaadDecoderPlugin.cxx
-+++ b/src/decoder/plugins/FaadDecoderPlugin.cxx
-@@ -26,11 +26,11 @@
- #include "util/ScopeExit.hxx"
- #include "util/ConstBuffer.hxx"
- #include "util/Domain.hxx"
-+#include "util/Math.hxx"
- #include "Log.hxx"
-
- #include <neaacdec.h>
-
--#include <cmath>
- #include <exception>
-
- #include <assert.h>
-diff --git a/src/mixer/plugins/WinmmMixerPlugin.cxx b/src/mixer/plugins/WinmmMixerPlugin.cxx
-index 9661d6551..905e650ef 100644
---- a/src/mixer/plugins/WinmmMixerPlugin.cxx
-+++ b/src/mixer/plugins/WinmmMixerPlugin.cxx
-@@ -20,13 +20,13 @@
- #include "mixer/MixerInternal.hxx"
- #include "output/OutputAPI.hxx"
- #include "output/plugins/WinmmOutputPlugin.hxx"
-+#include "util/Math.hxx"
-
- #include <mmsystem.h>
-
- #include <stdexcept>
-
- #include <assert.h>
--#include <math.h>
- #include <windows.h>
-
- class WinmmMixer final : public Mixer {
-diff --git a/src/output/plugins/HaikuOutputPlugin.cxx b/src/output/plugins/HaikuOutputPlugin.cxx
-index 952fb0c2f..01240aca9 100644
---- a/src/output/plugins/HaikuOutputPlugin.cxx
-+++ b/src/output/plugins/HaikuOutputPlugin.cxx
-@@ -22,6 +22,7 @@
- #include "../OutputAPI.hxx"
- #include "mixer/MixerList.hxx"
- #include "util/Domain.hxx"
-+#include "util/Math.hxx"
- #include "system/Error.hxx"
- #include "Log.hxx"
-
-@@ -37,8 +38,6 @@
- #include <StringList.h>
- #include <SoundPlayer.h>
-
--#include <cmath>
--
- #include <string.h>
-
- #define UTF8_PLAY "\xE2\x96\xB6"
-diff --git a/src/pcm/PcmMix.cxx b/src/pcm/PcmMix.cxx
-index 17e34b005..59179f54e 100644
---- a/src/pcm/PcmMix.cxx
-+++ b/src/pcm/PcmMix.cxx
-@@ -22,11 +22,10 @@
- #include "Clamp.hxx"
- #include "Traits.hxx"
- #include "util/Clamp.hxx"
-+#include "util/Math.hxx"
-
- #include "PcmDither.cxx" // including the .cxx file to get inlined templates
-
--#include <cmath>
--
- #include <assert.h>
-
- template<SampleFormat F, class Traits=SampleTraits<F>>
-@@ -225,7 +224,7 @@ pcm_mix(PcmDither &dither, void *buffer1, const void *buffer2, size_t size,
- s = sin(M_PI_2 * portion1);
- s *= s;
-
-- int vol1 = std::lround(s * PCM_VOLUME_1S);
-+ int vol1 = lround(s * PCM_VOLUME_1S);
- vol1 = Clamp<int>(vol1, 0, PCM_VOLUME_1S);
-
- return pcm_add_vol(dither, buffer1, buffer2, size,
-diff --git a/src/player/CrossFade.cxx b/src/player/CrossFade.cxx
-index ce86d3f0a..8a91516f1 100644
---- a/src/player/CrossFade.cxx
-+++ b/src/player/CrossFade.cxx
-@@ -23,10 +23,9 @@
- #include "AudioFormat.hxx"
- #include "util/NumberParser.hxx"
- #include "util/Domain.hxx"
-+#include "util/Math.hxx"
- #include "Log.hxx"
-
--#include <cmath>
--
- #include <assert.h>
-
- static constexpr Domain cross_fade_domain("cross_fade");
-@@ -112,7 +111,7 @@ CrossFadeSettings::Calculate(SignedSongTime total_time,
-
- if (mixramp_delay <= FloatDuration::zero() ||
- !mixramp_start || !mixramp_prev_end) {
-- chunks = std::lround(duration / chunk_duration);
-+ chunks = lround(duration / chunk_duration);
- } else {
- /* Calculate mixramp overlap. */
- const auto mixramp_overlap_current =
-diff --git a/src/util/Math.hxx b/src/util/Math.hxx
-new file mode 100644
-index 000000000..bd856f5a9
---- /dev/null
-+++ b/src/util/Math.hxx
-@@ -0,0 +1,41 @@
-+/*
-+ * Copyright (C) 2018 Max Kellermann <max.kellermann@gmail.com>
-+ *
-+ * Redistribution and use in source and binary forms, with or without
-+ * modification, are permitted provided that the following conditions
-+ * are met:
-+ *
-+ * - Redistributions of source code must retain the above copyright
-+ * notice, this list of conditions and the following disclaimer.
-+ *
-+ * - Redistributions in binary form must reproduce the above copyright
-+ * notice, this list of conditions and the following disclaimer in the
-+ * documentation and/or other materials provided with the
-+ * distribution.
-+ *
-+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-+ * FOUNDATION OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
-+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
-+ * OF THE POSSIBILITY OF SUCH DAMAGE.
-+ */
-+
-+#ifndef MATH_HXX
-+#define MATH_HXX
-+
-+#ifdef __UCLIBC__
-+#include <boost/math/special_functions/round.hpp>
-+using boost::math::lround;
-+#else
-+#include <cmath>
-+using std::lround;
-+#endif
-+
-+#endif
+++ /dev/null
-From ab5183cbc45818114cc4c226ace299a1fb917ab0 Mon Sep 17 00:00:00 2001
-From: Rosen Penev <rosenp@gmail.com>
-Date: Sun, 2 Feb 2020 16:34:09 -0800
-Subject: [PATCH] [clang-tidy] fix incorrect rounding
-
-Found with bugprone-incorrect-roundings
-
-Signed-off-by: Rosen Penev <rosenp@gmail.com>
----
- src/decoder/plugins/WavpackDecoderPlugin.cxx | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/decoder/plugins/WavpackDecoderPlugin.cxx b/src/decoder/plugins/WavpackDecoderPlugin.cxx
-index 77751167f..97824de75 100644
---- a/src/decoder/plugins/WavpackDecoderPlugin.cxx
-+++ b/src/decoder/plugins/WavpackDecoderPlugin.cxx
-@@ -26,6 +26,7 @@
- #include "fs/Path.hxx"
- #include "util/Macros.hxx"
- #include "util/Alloc.hxx"
-+#include "util/Math.hxx"
- #include "util/ScopeExit.hxx"
- #include "util/RuntimeError.hxx"
-
-@@ -265,8 +266,7 @@ wavpack_decode(DecoderClient &client, WavpackContext *wpc, bool can_seek)
- if (samples_got == 0)
- break;
-
-- int bitrate = (int)(WavpackGetInstantBitrate(wpc) / 1000 +
-- 0.5);
-+ int bitrate = lround(WavpackGetInstantBitrate(wpc) / 1000);
- format_samples(chunk, samples_got * audio_format.channels);
-
- cmd = client.SubmitData(nullptr, chunk,
+++ /dev/null
-From 6b3250a3fb4a854d19980868ed187ca21f0e5ed8 Mon Sep 17 00:00:00 2001
-From: Rosen Penev <rosenp@gmail.com>
-Date: Mon, 3 Feb 2020 15:26:50 -0800
-Subject: [PATCH] volume_mapping: get rid of exp10 workaround
-
-exp10 is a GNU function, is not part of C++, and is not available
-everywhere.
-
-pow(10,x) is an alternative that works just as well.
-
-Signed-off-by: Rosen Penev <rosenp@gmail.com>
----
- src/mixer/plugins/volume_mapping.c | 11 +++--------
- 1 file changed, 3 insertions(+), 8 deletions(-)
-
-diff --git a/src/mixer/plugins/volume_mapping.c b/src/mixer/plugins/volume_mapping.c
-index 61a7138af..beecce640 100644
---- a/src/mixer/plugins/volume_mapping.c
-+++ b/src/mixer/plugins/volume_mapping.c
-@@ -34,11 +34,6 @@
- #include <stdbool.h>
- #include "volume_mapping.h"
-
--#ifdef __UCLIBC__
--/* 10^x = 10^(log e^x) = (e^x)^log10 = e^(x * log 10) */
--#define exp10(x) (exp((x) * log(10)))
--#endif /* __UCLIBC__ */
--
- #define MAX_LINEAR_DB_SCALE 24
-
- static inline bool use_linear_dB_scale(long dBmin, long dBmax)
-@@ -111,9 +106,9 @@ static double get_normalized_volume(snd_mixer_elem_t *elem,
- if (use_linear_dB_scale(min, max))
- return (value - min) / (double)(max - min);
-
-- normalized = exp10((value - max) / 6000.0);
-+ normalized = pow(10, (value - max) / 6000.0);
- if (min != SND_CTL_TLV_DB_GAIN_MUTE) {
-- min_norm = exp10((min - max) / 6000.0);
-+ min_norm = pow(10, (min - max) / 6000.0);
- normalized = (normalized - min_norm) / (1 - min_norm);
- }
-
-@@ -159,7 +154,7 @@ static int set_normalized_volume(snd_mixer_elem_t *elem,
- }
-
- if (min != SND_CTL_TLV_DB_GAIN_MUTE) {
-- min_norm = exp10((min - max) / 6000.0);
-+ min_norm = pow(10, (min - max) / 6000.0);
- volume = volume * (1 - min_norm) + min_norm;
- }
- value = lrint_dir(6000.0 * log10(volume), dir) + max;
+++ /dev/null
-From 2a8e7c50743ec6a20c7bd9c8e84ccd36d59e69ad Mon Sep 17 00:00:00 2001
-From: Rosen Penev <rosenp@gmail.com>
-Date: Mon, 3 Feb 2020 15:50:46 -0800
-Subject: [PATCH] treewide: get rid of C math function usage
-
-Boost does not seem to offer an overload for lrint.
-
-Signed-off-by: Rosen Penev <rosenp@gmail.com>
----
- src/ReplayGainGlobal.cxx | 2 +-
- src/ReplayGainInfo.cxx | 3 +--
- src/decoder/Bridge.cxx | 5 +++--
- src/decoder/plugins/MpcdecDecoderPlugin.cxx | 3 +--
- src/mixer/plugins/AlsaMixerPlugin.cxx | 3 +--
- src/mixer/plugins/SoftwareMixerPlugin.cxx | 5 +++--
- src/util/Math.hxx | 6 ++++++
- 7 files changed, 16 insertions(+), 11 deletions(-)
-
-diff --git a/src/ReplayGainGlobal.cxx b/src/ReplayGainGlobal.cxx
-index 741381dcb..01ba8769d 100644
---- a/src/ReplayGainGlobal.cxx
-+++ b/src/ReplayGainGlobal.cxx
-@@ -21,11 +21,11 @@
- #include "ReplayGainConfig.hxx"
- #include "config/Param.hxx"
- #include "config/Data.hxx"
-+#include "util/Math.hxx"
- #include "util/RuntimeError.hxx"
-
- #include <assert.h>
- #include <stdlib.h>
--#include <math.h>
-
- static float
- ParsePreamp(const char *s)
-diff --git a/src/ReplayGainInfo.cxx b/src/ReplayGainInfo.cxx
-index a0685507a..76713aded 100644
---- a/src/ReplayGainInfo.cxx
-+++ b/src/ReplayGainInfo.cxx
-@@ -19,8 +19,7 @@
-
- #include "ReplayGainInfo.hxx"
- #include "ReplayGainConfig.hxx"
--
--#include <math.h>
-+#include "util/Math.hxx"
-
- float
- ReplayGainTuple::CalculateScale(const ReplayGainConfig &config) const noexcept
-diff --git a/src/decoder/Bridge.cxx b/src/decoder/Bridge.cxx
-index 27d1a577a..7f9ffe02d 100644
---- a/src/decoder/Bridge.cxx
-+++ b/src/decoder/Bridge.cxx
-@@ -31,11 +31,11 @@
- #include "Log.hxx"
- #include "input/InputStream.hxx"
- #include "util/ConstBuffer.hxx"
-+#include "util/Math.hxx"
- #include "util/StringBuffer.hxx"
-
- #include <assert.h>
- #include <string.h>
--#include <math.h>
-
- DecoderBridge::~DecoderBridge()
- {
-@@ -591,7 +592,7 @@ DecoderBridge::SubmitReplayGain(const ReplayGainInfo *new_replay_gain_info) noex
- const auto &tuple = new_replay_gain_info->Get(rgm);
- const auto scale =
- tuple.CalculateScale(dc.replay_gain_config);
-- dc.replay_gain_db = 20.0 * log10f(scale);
-+ dc.replay_gain_db = 20.0 * std::log10(scale);
- }
-
- replay_gain_info = *new_replay_gain_info;
-diff --git a/src/decoder/plugins/MpcdecDecoderPlugin.cxx b/src/decoder/plugins/MpcdecDecoderPlugin.cxx
-index c19aee75c..4e9ef798e 100644
---- a/src/decoder/plugins/MpcdecDecoderPlugin.cxx
-+++ b/src/decoder/plugins/MpcdecDecoderPlugin.cxx
-@@ -26,6 +26,7 @@
- #include "util/Domain.hxx"
- #include "util/Macros.hxx"
- #include "util/Clamp.hxx"
-+#include "util/Math.hxx"
- #include "util/ScopeExit.hxx"
- #include "Log.hxx"
-
-@@ -33,8 +34,6 @@
-
- #include <exception>
-
--#include <math.h>
--
- struct mpc_decoder_data {
- InputStream &is;
- DecoderClient *client;
-diff --git a/src/mixer/plugins/AlsaMixerPlugin.cxx b/src/mixer/plugins/AlsaMixerPlugin.cxx
-index e3d774194..4b916319b 100644
---- a/src/mixer/plugins/AlsaMixerPlugin.cxx
-+++ b/src/mixer/plugins/AlsaMixerPlugin.cxx
-@@ -26,6 +26,7 @@
- #include "event/Call.hxx"
- #include "util/ASCII.hxx"
- #include "util/Domain.hxx"
-+#include "util/Math.hxx"
- #include "util/RuntimeError.hxx"
- #include "Log.hxx"
-
-@@ -35,8 +36,6 @@ extern "C" {
-
- #include <alsa/asoundlib.h>
-
--#include <math.h>
--
- #define VOLUME_MIXER_ALSA_DEFAULT "default"
- #define VOLUME_MIXER_ALSA_CONTROL_DEFAULT "PCM"
- static constexpr unsigned VOLUME_MIXER_ALSA_INDEX_DEFAULT = 0;
-diff --git a/src/mixer/plugins/SoftwareMixerPlugin.cxx b/src/mixer/plugins/SoftwareMixerPlugin.cxx
-index c394a9628..9c48279f9 100644
---- a/src/mixer/plugins/SoftwareMixerPlugin.cxx
-+++ b/src/mixer/plugins/SoftwareMixerPlugin.cxx
-@@ -22,8 +22,9 @@
- #include "filter/plugins/VolumeFilterPlugin.hxx"
- #include "pcm/Volume.hxx"
-
-+#include <cmath>
-+
- #include <assert.h>
--#include <math.h>
-
- class SoftwareMixer final : public Mixer {
- Filter *filter = nullptr;
-@@ -73,7 +74,7 @@ PercentVolumeToSoftwareVolume(unsigned volume) noexcept
- if (volume >= 100)
- return PCM_VOLUME_1;
- else if (volume > 0)
-- return pcm_float_to_volume((exp(volume / 25.0) - 1) /
-+ return pcm_float_to_volume((std::exp(volume / 25.0) - 1) /
- (54.5981500331F - 1));
- else
- return 0;
-diff --git a/src/util/Math.hxx b/src/util/Math.hxx
-index bd856f5a9..2206b045f 100644
---- a/src/util/Math.hxx
-+++ b/src/util/Math.hxx
-@@ -31,10 +31,16 @@
- #define MATH_HXX
-
- #ifdef __UCLIBC__
-+#include <boost/math/special_functions/pow.hpp>
- #include <boost/math/special_functions/round.hpp>
-+using boost::math::iround;
-+using boost::math::pow;
- using boost::math::lround;
-+#define lrint iround
- #else
- #include <cmath>
-+using std::pow;
-+using std::lrint;
- using std::lround;
- #endif
-
include $(TOPDIR)/rules.mk
PKG_NAME:=pulseaudio
-PKG_VERSION:=12.2
-PKG_RELEASE:=4
+PKG_VERSION:=13.0
+PKG_RELEASE:=2
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
-PKG_SOURCE_URL:=https://freedesktop.org/software/pulseaudio/releases/
-PKG_HASH:=809668ffc296043779c984f53461c2b3987a45b7a25eb2f0a1d11d9f23ba4055
+PKG_SOURCE_URL:=https://freedesktop.org/software/pulseaudio/releases
+PKG_HASH:=961b23ca1acfd28f2bc87414c27bb40e12436efcf2158d29721b1e89f3f28057
+PKG_MAINTAINER:=Peter Wagner <tripolar@gmx.at>
PKG_LICENSE:=LGPL-2.1-or-later
PKG_LICENSE_FILES:=GPL LICENSE
PKG_CPE_ID:=cpe:/a:pulseaudio:pulseaudio
-PKG_FIXUP:=autoreconf
PKG_INSTALL:=1
-PKG_BUILD_PARALLEL:=1
-PKG_BUILD_DEPENDS:=intltool/host glib2/host
PKG_USE_MIPS16:=0
+PKG_BUILD_DEPENDS:=meson/host
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/nls.mk
+include ../../devel/meson/meson.mk
define Package/pulseaudio/Default
SECTION:=sound
CATEGORY:=Sound
DEPENDS:=+libsndfile +libltdl +libpthread +librt +alsa-lib \
- +libopenssl +libwrap +libcap $(ICONV_DEPENDS) $(INTL_DEPENDS)
+ +libopenssl +libcap $(ICONV_DEPENDS) $(INTL_DEPENDS)
TITLE:=Network sound server
- MAINTAINER:=Peter Wagner <tripolar@gmx.at>
- URL:=http://www.pulseaudio.org
+ URL:=https://www.pulseaudio.org
PROVIDES:=pulseaudio
USERID:=pulse=51:pulse=51
endef
URL:=http://www.pulseaudio.org
endef
-CONFIGURE_ARGS += \
- $(if $(findstring neon,$(CONFIG_TARGET_OPTIMIZATION)),--enable-neon-opt,--disable-neon-opt) \
- --with-system-user=pulse \
- --with-system-group=pulse \
- --with-access-group=audio \
- --with-database=simple \
- --enable-alsa \
- --disable-hal \
- --disable-gconf \
- --disable-nls \
- --disable-manpages \
- --enable-oss-output \
- --disable-oss-wrapper \
- --disable-samplerate \
- --disable-per-user-esound-socket \
- --disable-solaris \
- --disable-gtk2 \
- --disable-glib2 \
- --disable-jack \
- --disable-asyncns \
- --disable-lirc \
- --disable-tests \
- --disable-udev \
- --without-fftw \
- --without-soxr \
- --without-speex
+MESON_ARGS += \
+ -Dgcov=false \
+ -Dman=false \
+ -Dtests=false \
+ -Dsystem_user=pulse \
+ -Dsystem_group=pulse \
+ -Daccess_group=audio \
+ -Ddatabase=simple \
+ -Dlegacy-database-entry-format=false \
+ -Drunning-from-build-tree=false \
+ -Datomic-arm-linux-helpers=false \
+ -Dalsa=enabled \
+ -Dasyncns=disabled \
+ -Dbluez5=false \
+ -Dbluez5-native-headset=false \
+ -Dbluez5-ofono-headset=false \
+ -Dfftw=disabled \
+ -Dglib=disabled \
+ -Dgsettings=disabled \
+ -Dgtk=disabled \
+ -Dhal-compat=false \
+ -Dipv6=true \
+ -Djack=disabled \
+ -Dlirc=disabled \
+ -Dopenssl=enabled \
+ -Dorc=disabled \
+ -Dsamplerate=disabled \
+ -Dsoxr=disabled \
+ -Dspeex=disabled \
+ -Dsystemd=disabled \
+ -Dudev=disabled \
+ -Dx11=disabled \
+ -Dadrian-aec=true \
+ -Dwebrtc-aec=disabled
ifeq ($(BUILD_VARIANT),avahi)
-CONFIGURE_ARGS += \
- --enable-avahi \
- --enable-dbus
+MESON_ARGS += \
+ -Davahi=enabled \
+ -Ddbus=enabled
endif
ifeq ($(BUILD_VARIANT),noavahi)
-CONFIGURE_ARGS += \
- --disable-avahi \
- --disable-dbus
+MESON_ARGS += \
+ -Davahi=disabled \
+ -Ddbus=disabled
endif
-CONFIGURE_VARS += \
- PKG_CONFIG_LIBDIR="$(STAGING_DIR)/usr/lib/pkgconfig"
+TARGET_LDFLAGS += -liconv
define Build/InstallDev
$(INSTALL_DIR) \
$(CP) \
$(PKG_INSTALL_DIR)/usr/lib/pkgconfig/*.pc \
$(1)/usr/lib/pkgconfig
+ $(SED) \
+ 's,/usr/include,$$$${prefix}/include,g' \
+ $(1)/usr/lib/pkgconfig/libpulse.pc
+ $(SED) \
+ 's,/usr/lib,$$$${exec_prefix}/lib,g' \
+ $(1)/usr/lib/pkgconfig/libpulse.pc
+ $(SED) \
+ 's,/usr/include,$$$${prefix}/include,g' \
+ $(1)/usr/lib/pkgconfig/libpulse-simple.pc
+ $(SED) \
+ 's,/usr/lib,$$$${exec_prefix}/lib,g' \
+ $(1)/usr/lib/pkgconfig/libpulse-simple.pc
$(CP) \
$(PKG_INSTALL_DIR)/usr/lib/*.so* \
$(1)/usr/lib/
+++ /dev/null
-From 993d3fd89e5611997f1e165bf03edefb0204b0a4 Mon Sep 17 00:00:00 2001
-From: Olaf Hering <olaf@aepfle.de>
-Date: Wed, 27 Mar 2019 09:35:05 +0100
-Subject: [PATCH] alsa: Use correct header path
-
-Consumers are expected to use <alsa/asoundlib.h> instead of
-<asoundlib.h>.
-
-This is in preparation of an change to pkgconfig(alsa) to
-not pollute CFLAGS with -I/usr/include/alsa anymore.
-
-Signed-off-by: Olaf Hering <olaf@aepfle.de>
----
- src/modules/alsa/alsa-mixer.c | 2 +-
- src/modules/alsa/alsa-mixer.h | 2 +-
- src/modules/alsa/alsa-sink.c | 2 +-
- src/modules/alsa/alsa-source.c | 2 +-
- src/modules/alsa/alsa-ucm.c | 2 +-
- src/modules/alsa/alsa-util.c | 2 +-
- src/modules/alsa/alsa-util.h | 2 +-
- src/modules/alsa/module-alsa-source.c | 2 +-
- 8 files changed, 8 insertions(+), 8 deletions(-)
-
-diff --git a/src/modules/alsa/alsa-mixer.c b/src/modules/alsa/alsa-mixer.c
-index 5cb99c8fd..cd99a75f8 100644
---- a/src/modules/alsa/alsa-mixer.c
-+++ b/src/modules/alsa/alsa-mixer.c
-@@ -23,7 +23,7 @@
- #endif
-
- #include <sys/types.h>
--#include <asoundlib.h>
-+#include <alsa/asoundlib.h>
- #include <math.h>
-
- #ifdef HAVE_VALGRIND_MEMCHECK_H
-diff --git a/src/modules/alsa/alsa-mixer.h b/src/modules/alsa/alsa-mixer.h
-index 3ea4d7329..65b071165 100644
---- a/src/modules/alsa/alsa-mixer.h
-+++ b/src/modules/alsa/alsa-mixer.h
-@@ -21,7 +21,7 @@
- along with PulseAudio; if not, see <http://www.gnu.org/licenses/>.
- ***/
-
--#include <asoundlib.h>
-+#include <alsa/asoundlib.h>
-
- #include <pulse/sample.h>
- #include <pulse/mainloop-api.h>
-diff --git a/src/modules/alsa/alsa-sink.c b/src/modules/alsa/alsa-sink.c
-index 28143402a..4b46708ce 100644
---- a/src/modules/alsa/alsa-sink.c
-+++ b/src/modules/alsa/alsa-sink.c
-@@ -25,7 +25,7 @@
- #include <signal.h>
- #include <stdio.h>
-
--#include <asoundlib.h>
-+#include <alsa/asoundlib.h>
-
- #ifdef HAVE_VALGRIND_MEMCHECK_H
- #include <valgrind/memcheck.h>
-diff --git a/src/modules/alsa/alsa-source.c b/src/modules/alsa/alsa-source.c
-index 8129220b0..c8bf649e1 100644
---- a/src/modules/alsa/alsa-source.c
-+++ b/src/modules/alsa/alsa-source.c
-@@ -25,7 +25,7 @@
- #include <signal.h>
- #include <stdio.h>
-
--#include <asoundlib.h>
-+#include <alsa/asoundlib.h>
-
- #include <pulse/rtclock.h>
- #include <pulse/timeval.h>
-diff --git a/src/modules/alsa/alsa-ucm.c b/src/modules/alsa/alsa-ucm.c
-index 341c8012e..0a40ca8fe 100644
---- a/src/modules/alsa/alsa-ucm.c
-+++ b/src/modules/alsa/alsa-ucm.c
-@@ -27,7 +27,7 @@
- #include <ctype.h>
- #include <sys/types.h>
- #include <limits.h>
--#include <asoundlib.h>
-+#include <alsa/asoundlib.h>
-
- #ifdef HAVE_VALGRIND_MEMCHECK_H
- #include <valgrind/memcheck.h>
-diff --git a/src/modules/alsa/alsa-util.c b/src/modules/alsa/alsa-util.c
-index e8d712e72..bd0a47e50 100644
---- a/src/modules/alsa/alsa-util.c
-+++ b/src/modules/alsa/alsa-util.c
-@@ -23,7 +23,7 @@
- #endif
-
- #include <sys/types.h>
--#include <asoundlib.h>
-+#include <alsa/asoundlib.h>
-
- #include <pulse/sample.h>
- #include <pulse/xmalloc.h>
-diff --git a/src/modules/alsa/alsa-util.h b/src/modules/alsa/alsa-util.h
-index 6b27339ec..4ceaa06ee 100644
---- a/src/modules/alsa/alsa-util.h
-+++ b/src/modules/alsa/alsa-util.h
-@@ -21,7 +21,7 @@
- along with PulseAudio; if not, see <http://www.gnu.org/licenses/>.
- ***/
-
--#include <asoundlib.h>
-+#include <alsa/asoundlib.h>
-
- #include <pulse/sample.h>
- #include <pulse/channelmap.h>
-diff --git a/src/modules/alsa/module-alsa-source.c b/src/modules/alsa/module-alsa-source.c
-index af6800dd2..747ba9342 100644
---- a/src/modules/alsa/module-alsa-source.c
-+++ b/src/modules/alsa/module-alsa-source.c
-@@ -24,7 +24,7 @@
-
- #include <stdio.h>
-
--#include <asoundlib.h>
-+#include <alsa/asoundlib.h>
-
- #ifdef HAVE_VALGRIND_MEMCHECK_H
- #include <valgrind/memcheck.h>
---
-2.22.0
-
PKG_NAME:=bigclown-control-tool
PKG_VERSION:=0.2.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PYPI_NAME:=bch
PKG_HASH:=4cd73b92757fce7275a4744baed411c867af2e671c521b90d6690b2320851d58
+python3-pyserial \
+python3-yaml \
+python3-simplejson
- VARIANT:=python3
endef
$(eval $(call Py3Package,bigclown-control-tool))
PKG_NAME:=bigclown-firmware-tool
PKG_VERSION:=1.5.1
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PYPI_NAME:=bcf
PKG_HASH:=50b0351b97e6b1b1d4cb4703491daa6102e7e5b3b750b47fa35182d9eb39ab9c
+python3-requests \
+python3-click \
+python3-intelhex
- VARIANT:=python3
endef
$(eval $(call Py3Package,bigclown-firmware-tool))
PKG_NAME:=bigclown-gateway
PKG_VERSION:=1.16.2
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PYPI_NAME:=bcg
PKG_HASH:=ce7f27f372551c0beb3f8929af2d779417d9dcd0feaa2fa2dc49e87b1416c536
+python3-simplejson \
+python3-schema \
+python3-appdirs
- VARIANT:=python3
endef
define Py3Package/bigclown-gateway/install
PKG_NAME:=bigclown-mqtt2influxdb
PKG_VERSION:=1.3.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PYPI_NAME:=mqtt2influxdb
PKG_HASH:=1b4b3b13f5b2f092bcd27846d94e91ad6f05141b2daea5167a7d58b09a782639
+python3-influxdb \
+python3-jsonpath-ng \
+python3-schema
- VARIANT:=python3
endef
define Py3Package/bigclown-mqtt2influxdb/install
include $(TOPDIR)/rules.mk
PKG_NAME:=bluez
-PKG_VERSION:=5.51
+PKG_VERSION:=5.54
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=@KERNEL/linux/bluetooth/
-PKG_HASH:=ebedfb359f62957940822f1d0b39fcee30422380e435608dad06bb3913d5ebba
+PKG_HASH:=68cdab9e63e8832b130d5979dc8c96fdb087b31278f342874d992af3e56656dc
PKG_LICENSE:=GPL-2.0-or-later
PKG_LICENSE_FILES:=COPYING
---- bluez-5.51.orig/Makefile.in
-+++ bluez-5.51/Makefile.in
-@@ -3125,7 +3125,7 @@ unit_tests = $(am__append_54) unit/test-
+Index: bluez-5.54/Makefile.in
+===================================================================
+--- bluez-5.54.orig/Makefile.in
++++ bluez-5.54/Makefile.in
+@@ -3214,7 +3214,7 @@ unit_tests = $(am__append_54) unit/test-
@CLIENT_TRUE@ client/gatt.h client/gatt.c
@CLIENT_TRUE@client_bluetoothctl_LDADD = gdbus/libgdbus-internal.la src/libshared-glib.la \
@ZSH_COMPLETIONS_TRUE@zshcompletiondir = $(ZSH_COMPLETIONDIR)
@ZSH_COMPLETIONS_TRUE@dist_zshcompletion_DATA = completion/zsh/_bluetoothctl
-@@ -3358,7 +3358,7 @@ unit_tests = $(am__append_54) unit/test-
+@@ -3452,7 +3452,7 @@ unit_tests = $(am__append_54) unit/test-
@MESH_TRUE@@TOOLS_TRUE@tools_meshctl_LDADD = gdbus/libgdbus-internal.la src/libshared-glib.la \
@MESH_TRUE@@TOOLS_TRUE@ lib/libbluetooth-internal.la \
-@MESH_TRUE@@TOOLS_TRUE@ $(GLIB_LIBS) $(DBUS_LIBS) -ljson-c -lreadline
+@MESH_TRUE@@TOOLS_TRUE@ $(GLIB_LIBS) $(DBUS_LIBS) -ljson-c -lreadline -lncurses
- @DEPRECATED_TRUE@@TOOLS_TRUE@tools_hciattach_SOURCES = tools/hciattach.c tools/hciattach.h \
- @DEPRECATED_TRUE@@TOOLS_TRUE@ tools/hciattach_st.c \
-@@ -3411,7 +3411,7 @@ unit_tests = $(am__append_54) unit/test-
+ @MESH_TRUE@@TOOLS_TRUE@tools_mesh_cfgclient_SOURCES = tools/mesh-cfgclient.c \
+ @MESH_TRUE@@TOOLS_TRUE@ tools/mesh/model.h tools/mesh/config-model.h \
+@@ -3520,7 +3520,7 @@ unit_tests = $(am__append_54) unit/test-
@READLINE_TRUE@ tools/obex-client-tool.c
@READLINE_TRUE@tools_obex_client_tool_LDADD = lib/libbluetooth-internal.la \
@READLINE_TRUE@tools_obex_server_tool_SOURCES = $(gobex_sources) $(btio_sources) \
@READLINE_TRUE@ tools/obex-server-tool.c
-@@ -3420,15 +3420,15 @@ unit_tests = $(am__append_54) unit/test-
+@@ -3529,15 +3529,15 @@ unit_tests = $(am__append_54) unit/test-
@READLINE_TRUE@tools_bluetooth_player_SOURCES = tools/bluetooth-player.c
@READLINE_TRUE@tools_bluetooth_player_LDADD = gdbus/libgdbus-internal.la \
@READLINE_TRUE@ src/libshared-glib.la \
@DEPRECATED_TRUE@@READLINE_TRUE@attrib_gatttool_SOURCES = attrib/gatttool.c attrib/att.c attrib/gatt.c \
@DEPRECATED_TRUE@@READLINE_TRUE@ attrib/gattrib.c btio/btio.c \
-@@ -3437,7 +3437,7 @@ unit_tests = $(am__append_54) unit/test-
+@@ -3546,7 +3546,7 @@ unit_tests = $(am__append_54) unit/test-
@DEPRECATED_TRUE@@READLINE_TRUE@ client/display.h
@DEPRECATED_TRUE@@READLINE_TRUE@attrib_gatttool_LDADD = lib/libbluetooth-internal.la \
---- a/src/shared/util.h
-+++ b/src/shared/util.h
+Index: bluez-5.53/src/shared/util.h
+===================================================================
+--- bluez-5.53.orig/src/shared/util.h
++++ bluez-5.53/src/shared/util.h
@@ -26,6 +26,7 @@
#include <alloca.h>
#include <byteswap.h>
#include <string.h>
+#include <endian.h>
- #if __BYTE_ORDER == __LITTLE_ENDIAN
- #define le16_to_cpu(val) (val)
+ #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]))
+
src/adapter.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
-Index: bluez-5.51/src/adapter.c
+Index: bluez-5.54/src/adapter.c
===================================================================
---- bluez-5.51.orig/src/adapter.c
-+++ bluez-5.51/src/adapter.c
-@@ -546,7 +546,8 @@ static void settings_changed(struct btd_
+--- bluez-5.54.orig/src/adapter.c
++++ bluez-5.54/src/adapter.c
+@@ -567,7 +567,8 @@ static void settings_changed(struct btd_
g_dbus_emit_property_changed(dbus_conn, adapter->path,
ADAPTER_INTERFACE, "Discoverable");
store_adapter_info(adapter);
include $(TOPDIR)/rules.mk
PKG_NAME:=btrfs-progs
-PKG_VERSION:=5.4.1
-PKG_RELEASE:=3
+PKG_VERSION:=5.6
+PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-v$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=@KERNEL/linux/kernel/people/kdave/btrfs-progs
-PKG_HASH:=f3e07fb248d608bdad5b63973513211de5daba47aaecfa44d29a836f6e7a9d69
+PKG_HASH:=a1321c77521dfa6cac41d0d030358e9c74bcf650afd6a9c1c7d531e6cd112f6b
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-v$(PKG_VERSION)
PKG_MAINTAINER:=Karel Kočí <karel.koci@nic.cz>
include $(TOPDIR)/rules.mk
PKG_NAME:=dump1090
-PKG_VERSION:=3.8.0
+PKG_VERSION:=3.8.1
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/flightaware/dump1090/tar.gz/v${PKG_VERSION}?
-PKG_HASH:=ad9d1eba1274cc0977a8068ecb00ad64cbc0785db7f50a487e4d2439a92095d7
+PKG_HASH:=9f43fdc7761f19cf9c6439eeb8c8ab04d811d29d97e36b80671fcf8547be7e43
PKG_MAINTAINER:=Álvaro Fernández Rojas <noltari@gmail.com>
PKG_LICENSE:=GPL-2.0-or-later
include $(TOPDIR)/rules.mk
PKG_NAME:=flashrom
-PKG_VERSION:=1.0
-PKG_RELEASE:=2
+PKG_VERSION:=1.2
+PKG_RELEASE:=1
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
+PKG_SOURCE:=$(PKG_NAME)-v$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=https://download.flashrom.org/releases
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
-PKG_HASH:=3702fa215ba5fb5af8e54c852d239899cfa1389194c1e51cb2a170c4dc9dee64
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-v$(PKG_VERSION)
+PKG_HASH:=e1f8d95881f5a4365dfe58776ce821dfcee0f138f75d0f44f8a3cd032d9ea42b
PKG_MAINTAINER:=Álvaro Fernández Rojas <noltari@gmail.com>
PKG_LICENSE:=GPL-2.0-or-later
+(TARGET_x86||TARGET_x86_64):dmidecode \
+libftdi1 \
+libusb-1.0 \
- +libusb-compat \
+pciutils
VARIANT:=full
DEFAULT_VARIANT:=1
TITLE+= (usb)
DEPENDS+= \
+libftdi1 \
- +libusb-1.0 \
- +libusb-compat
+ +libusb-1.0
VARIANT:=usb
endef
MAKE_FLAGS += CONFIG_DEFAULT_PROGRAMMER=PROGRAMMER_$(1)
endef
define DefineConfig
- MAKE_FLAGS += NEED_$(1)=$(2)
+ ifeq ($(2),yes)
+ MAKE_FLAGS += NEED_$(1)=$(2)
+ endif
endef
define DefineProgrammer
# Selecting invalid programmers will fail
$(eval $(call DefineProgrammer,DUMMY,$(FLASHROM_BASIC)))
# FTDI
-$(eval $(call DefineConfig,FTDI,$(FLASHROM_FTDI)))
+$(eval $(call DefineConfig,LIBFTDI,$(FLASHROM_FTDI)))
$(eval $(call DefineProgrammer,FT2232_SPI,$(FLASHROM_FTDI)))
$(eval $(call DefineProgrammer,USBBLASTER_SPI,$(FLASHROM_FTDI)))
$(eval $(call DefineProgrammer,RAYER_SPI,$(FLASHROM_RAW)))
# PCI
-$(eval $(call DefineConfig,PCI,$(FLASHROM_PCI)))
+$(eval $(call DefineConfig,LIBPCI,$(FLASHROM_PCI)))
$(eval $(call DefineProgrammer,INTERNAL,$(FLASHROM_PCI)))
$(eval $(call DefineProgrammer,NIC3COM,$(FLASHROM_PCI)))
$(eval $(call DefineProgrammer,GFXNVIDIA,$(FLASHROM_PCI)))
$(eval $(call DefineProgrammer,SATASII,$(FLASHROM_PCI)))
-#$(eval $(call DefineProgrammer,ATAHPT,$(FLASHROM_PCI)))
+$(eval $(call DefineProgrammer,ATAHPT,$(FLASHROM_PCI)))
+$(eval $(call DefineProgrammer,ATAPROMISE,$(FLASHROM_PCI)))
$(eval $(call DefineProgrammer,ATAVIA,$(FLASHROM_PCI)))
$(eval $(call DefineProgrammer,IT8212,$(FLASHROM_PCI)))
$(eval $(call DefineProgrammer,DRKAISER,$(FLASHROM_PCI)))
$(eval $(call DefineProgrammer,NICREALTEK,$(FLASHROM_PCI)))
-#$(eval $(call DefineProgrammer,NICNATSEMI,$(FLASHROM_PCI)))
+$(eval $(call DefineProgrammer,NICNATSEMI,$(FLASHROM_PCI)))
$(eval $(call DefineProgrammer,NICINTEL,$(FLASHROM_PCI)))
$(eval $(call DefineProgrammer,NICINTEL_SPI,$(FLASHROM_PCI)))
$(eval $(call DefineProgrammer,NICINTEL_EEPROM,$(FLASHROM_PCI)))
$(eval $(call DefineProgrammer,PONY_SPI,$(FLASHROM_SERIAL)))
$(eval $(call DefineProgrammer,BUSPIRATE_SPI,$(FLASHROM_SERIAL)))
-# USB0
-$(eval $(call DefineConfig,USB0,$(FLASHROM_USB)))
-$(eval $(call DefineProgrammer,PICKIT2_SPI,$(FLASHROM_USB)))
-
# USB1
-$(eval $(call DefineConfig,USB1,$(FLASHROM_USB)))
+$(eval $(call DefineConfig,LIBUSB1,$(FLASHROM_USB)))
$(eval $(call DefineProgrammer,CH341A_SPI,$(FLASHROM_USB)))
$(eval $(call DefineProgrammer,DEDIPROG,$(FLASHROM_USB)))
+$(eval $(call DefineProgrammer,DEVELOPERBOX_SPI,$(FLASHROM_USB)))
+$(eval $(call DefineProgrammer,DIGILENT_SPI,$(FLASHROM_USB)))
+$(eval $(call DefineProgrammer,PICKIT2_SPI,$(FLASHROM_USB)))
+$(eval $(call DefineProgrammer,STLINKV3_SPI,$(FLASHROM_USB)))
+++ /dev/null
---- a/programmer.h
-+++ b/programmer.h
-@@ -584,7 +584,7 @@ enum spi_controller {
- #if CONFIG_DEDIPROG == 1
- SPI_CONTROLLER_DEDIPROG,
- #endif
--#if CONFIG_OGP_SPI == 1 || CONFIG_NICINTEL_SPI == 1 || CONFIG_RAYER_SPI == 1 || CONFIG_PONY_SPI == 1 || (CONFIG_INTERNAL == 1 && (defined(__i386__) || defined(__x86_64__)))
-+#if CONFIG_OGP_SPI == 1 || CONFIG_NICINTEL_SPI == 1 || CONFIG_RAYER_SPI == 1 || CONFIG_PONY_SPI == 1 || CONFIG_INTERNAL == 1
- SPI_CONTROLLER_BITBANG,
- #endif
- #if CONFIG_LINUX_SPI == 1
+++ /dev/null
-From 291764a70e6d8b212680e311bfb0825abf2b9a2f Mon Sep 17 00:00:00 2001
-From: Alex James <theracermaster@gmail.com>
-Date: Sat, 14 Apr 2018 22:59:57 -0500
-Subject: ch341a_spi: Avoid deprecated libusb functions
-
-libusb 1.0.22 marked libusb_set_debug as deprecated. For such versions
-of libusb, use libusb_set_option instead.
-
-Change-Id: Ib71ebe812316eaf49136979a942a946ef9e4d487
-Signed-off-by: Alex James <theracermaster@gmail.com>
-Reviewed-on: https://review.coreboot.org/25681
-Tested-by: Nico Huber <nico.h@gmx.de>
-Reviewed-by: David Hendricks <david.hendricks@gmail.com>
----
- ch341a_spi.c | 7 ++++++-
- 1 file changed, 6 insertions(+), 1 deletion(-)
-
-(limited to 'ch341a_spi.c')
-
-diff --git a/ch341a_spi.c b/ch341a_spi.c
-index 95e9c95..ee18624 100644
---- a/ch341a_spi.c
-+++ b/ch341a_spi.c
-@@ -444,7 +444,12 @@ int ch341a_spi_init(void)
- return -1;
- }
-
-- libusb_set_debug(NULL, 3); // Enable information, warning and error messages (only).
-+ /* Enable information, warning, and error messages (only). */
-+#if LIBUSB_API_VERSION < 0x01000106
-+ libusb_set_debug(NULL, 3);
-+#else
-+ libusb_set_option(NULL, LIBUSB_OPTION_LOG_LEVEL, LIBUSB_LOG_LEVEL_INFO);
-+#endif
-
- uint16_t vid = devs_ch341a_spi[0].vendor_id;
- uint16_t pid = devs_ch341a_spi[0].device_id;
---
-cgit v1.1
-
+++ /dev/null
---- a/Makefile
-+++ b/Makefile
-@@ -420,7 +420,7 @@ endif
- # Disable all drivers needing raw access (memory, PCI, port I/O) on
- # architectures with unknown raw access properties.
- # Right now those architectures are alpha hppa m68k sh s390
--ifneq ($(ARCH),$(filter $(ARCH),x86 mips ppc arm sparc))
-+ifneq ($(ARCH),$(filter $(ARCH),x86 mips ppc arm sparc arc))
- ifeq ($(CONFIG_INTERNAL), yes)
- UNSUPPORTED_FEATURES += CONFIG_INTERNAL=yes
- else
---- a/hwaccess.h
-+++ b/hwaccess.h
-@@ -87,6 +87,13 @@
- /* SPARC is big endian in general (but allows to access data in little endian too). */
- #define __FLASHROM_BIG_ENDIAN__ 1
-
-+#elif IS_ARC
-+#ifdef __arceb__
-+#define __FLASHROM_BIG_ENDIAN__ 1
-+#else
-+#define __FLASHROM_LITTLE_ENDIAN__ 1
-+#endif
-+
- #endif /* IS_? */
-
- #if !defined (__FLASHROM_BIG_ENDIAN__) && !defined (__FLASHROM_LITTLE_ENDIAN__)
-@@ -378,6 +385,8 @@ int libpayload_wrmsr(int addr, msr_t msr);
-
- /* Non memory mapped I/O is not supported on ARM. */
-
-+#elif IS_ARC
-+
- #else
-
- #error Unknown architecture, please check if it supports PCI port IO.
-diff --git a/platform.h b/platform.h
-index b2fdcd0..2e68e71 100644
---- a/platform.h
-+++ b/platform.h
-@@ -75,9 +75,12 @@
- #elif defined(__s390__) || defined(__s390x__) || defined(__zarch__)
- #define __FLASHROM_ARCH__ "s390"
- #define IS_S390 1
-+#elif defined (__arc__)
-+ #define __FLASHROM_ARCH__ "arc"
-+ #define IS_ARC 1
- #endif
-
--#if !(IS_X86 || IS_MIPS || IS_PPC || IS_ARM || IS_SPARC || IS_ALPHA || IS_HPPA || IS_M68K || IS_SH || IS_S390)
-+#if !(IS_X86 || IS_MIPS || IS_PPC || IS_ARM || IS_SPARC || IS_ALPHA || IS_HPPA || IS_M68K || IS_SH || IS_S390 || IS_ARC)
- #error Unknown architecture
- #endif
-
--- /dev/null
+--- a/Makefile
++++ b/Makefile
+@@ -424,15 +424,6 @@ endif
+ override ARCH := $(strip $(call debug_shell,$(CC) $(CPPFLAGS) -E archtest.c 2>/dev/null | grep -v '^\#' | grep '"' | cut -f 2 -d'"'))
+ override ENDIAN := $(strip $(call debug_shell,$(CC) $(CPPFLAGS) -E endiantest.c 2>/dev/null | grep -v '^\#'))
+
+-# Disable the internal programmer on unsupported architectures (everything but x86 and mipsel)
+-ifneq ($(ARCH)-little, $(filter $(ARCH),x86 mips)-$(ENDIAN))
+-ifeq ($(CONFIG_INTERNAL), yes)
+-UNSUPPORTED_FEATURES += CONFIG_INTERNAL=yes
+-else
+-override CONFIG_INTERNAL = no
+-endif
+-endif
+-
+ # PCI port I/O support is unimplemented on PPC/MIPS/SPARC and unavailable on ARM.
+ # Right now this means the drivers below only work on x86.
+ ifneq ($(ARCH), x86)
PKG_NAME:=i2c-tools
PKG_VERSION:=4.1
-PKG_RELEASE:=3
+PKG_RELEASE:=4
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=@KERNEL/software/utils/i2c-tools
PKG_LICENSE_FILES:=COPYING COPYING.LGPL
PKG_BUILD_PARALLEL:=1
-PKG_BUILD_DIR:=$(BUILD_DIR)/$(BUILD_VARIANT)-i2c-tools-$(PKG_VERSION)
+PYTHON3_PKG_BUILD:=0
include $(INCLUDE_DIR)/package.mk
include ../../lang/python/python3-package.mk
-PKG_UNPACK:=$(HOST_TAR) -C $(PKG_BUILD_DIR) --strip-components=1 -xJf $(DL_DIR)/$(PKG_SOURCE)
-
define Package/i2c/Default
URL:=https://i2c.wiki.kernel.org/index.php/I2C_Tools
TITLE:=I2C
SECTION:=libs
CATEGORY:=Libraries
TITLE+=library for i2c-tools
- VARIANT:=bin
endef
define Package/i2c-tools
CATEGORY:=Utilities
TITLE+=tools for Linux
DEPENDS:=+libi2c
- VARIANT:=bin
endef
define Package/python3-smbus
CATEGORY:=Languages
TITLE:=Python bindings for the SMBUS
DEPENDS:=+libi2c +python3-light
- VARIANT:=python3
endef
define Package/libi2c/description
This package contain the Python3 bindings for Linux SMBus access through i2c-dev.
endef
-ifeq ($(BUILD_VARIANT),bin)
+PYTHON3_PKG_SETUP_ARGS:=
+PYTHON3_PKG_SETUP_DIR:=py-smbus
define Build/Compile
$(MAKE) -C $(PKG_BUILD_DIR) \
STAGING_DIR="$(STAGING_DIR)" \
LDFLAGS="$(TARGET_LDFLAGS)" \
CFLAGS="$(TARGET_CFLAGS)"
+ $(call Py3Build/Compile)
endef
define Build/InstallDev
$(CP) $(PKG_BUILD_DIR)/lib/libi2c.{a,so*} $(1)/usr/lib/
endef
-endif # ifeq
-
-PYTHON3_PKG_SETUP_ARGS:=
-PYTHON3_PKG_SETUP_DIR:=py-smbus
-
define Package/libi2c/install
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_BUILD_DIR)/lib/libi2c.so* $(1)/usr/lib/
PKG_NAME:=micrond
PKG_VERSION:=1
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_LICENSE:=BSD-2-clause
include $(INCLUDE_DIR)/package.mk
procd_open_instance
procd_set_param command /usr/sbin/micrond "$CRONDIR"
procd_set_param respawn
+ procd_set_param stdout 1
+ procd_set_param stderr 1
procd_close_instance
}
include $(TOPDIR)/rules.mk
PKG_NAME:=nano
-PKG_VERSION:=4.9
+PKG_VERSION:=4.9.2
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=@GNU/nano
-PKG_HASH:=0e399729d105cb1a587b4140db5cf1b23215a0886a42b215efa98137164233a6
+PKG_HASH:=d8a25eea942ecee2d57b8e037eb4b28f030f818b78773b8fcb994ed5835d2ef6
PKG_LICENSE:=GPL-3.0-or-later
PKG_LICENSE_FILES:=COPYING
--- /dev/null
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=quota
+PKG_VERSION:=4.05
+PKG_RELEASE:=2
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=@SF/linuxquota
+PKG_HASH:=ef3b5b5d1014ed1344b46c1826145e20cbef8db967b522403c9a060761cf7ab9
+
+PKG_MAINTAINER:=W. Michael Petullo <mike@flyn.org>
+PKG_LICENSE:=GPL-2.0-or-later
+PKG_LICENSE_FILES:=COPYING
+
+PKG_INSTALL:=1
+PKG_BUILD_PARALLEL:=1
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/quota
+ SECTION:=utils
+ CATEGORY:=Utilities
+ TITLE:= quota
+ URL:=https://sourceforge.net/projects/linuxquota/
+endef
+
+define Package/quota/description
+ Utility for managing Linux filesystem quotas
+endef
+
+CONFIGURE_ARGS += \
+ --disable-bsd-behaviour \
+ --disable-ext2direct \
+ --disable-ldapmail \
+ --disable-libwrap \
+ --disable-netlink \
+ --disable-rpath \
+ --disable-rpc
+
+define Package/quota/install
+ $(INSTALL_DIR) $(1)/usr/bin
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/* $(1)/usr/bin/
+ $(INSTALL_DIR) $(1)/usr/sbin
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/* $(1)/usr/sbin/
+endef
+
+$(eval $(call BuildPackage,quota))
include $(TOPDIR)/rules.mk
PKG_NAME:=rtl_433
-PKG_VERSION:=18.12
+PKG_VERSION:=20.02
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/merbanan/rtl_433/tar.gz/$(PKG_VERSION)?
-PKG_HASH:=8d9a0d57155430b03d299effd48b43b7e072f49868485f0fc79294a28402d654
+PKG_HASH:=4f114017ede02d3038c449cf7d25cc82eecda5960e5229cc229774681a9ad80b
PKG_MAINTAINER:=Jasper Scholte <NightNL@outlook.com>
-PKG_LICENSE:=GPLv2
+PKG_LICENSE:=GPL-2.0-or-later
PKG_LICENSE_FILES:=COPYING
CMAKE_INSTALL:=1
+PKG_BUILD_PARALLEL:=1
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/cmake.mk
+++ /dev/null
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -50,7 +50,7 @@ if (("${CMAKE_C_COMPILER_ID}" STREQUAL "GNU" OR "${CMAKE_C_COMPILER_ID}" MATCHES
- ADD_DEFINITIONS(-std=c99)
- ADD_DEFINITIONS(-pedantic)
- # for strdup, setenv
-- ADD_DEFINITIONS(-D_POSIX_C_SOURCE=200809)
-+ ADD_DEFINITIONS(-D_GNU_SOURCE)
- #http://gcc.gnu.org/wiki/Visibility
- add_definitions(-fvisibility=hidden)
-
include $(TOPDIR)/rules.mk
PKG_NAME:=rtty
-PKG_VERSION:=7.1.2
+PKG_VERSION:=7.1.3
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL=https://github.com/zhaojh329/rtty/releases/download/v$(PKG_VERSION)
-PKG_HASH:=6faafe75d82edbcfe154da5f1ffc0ddfd14dd88a2315f19aeed7f2631df96f41
+PKG_HASH:=e10ee2048a29e18e6b21c77cb9cf7772eb95646e69567f8b40e85b816d93a3fa
CMAKE_INSTALL:=1
PKG_LICENSE:=MIT
PKG_CPE_ID:=cpe:/a:sane-backends_project:sane-backends
PKG_INSTALL:=1
+PKG_BUILD_PARALLEL:=1
include $(INCLUDE_DIR)/package.mk
config PACKAGE_sane-backends-all
depends on PACKAGE_sane-backends
- prompt "Include all SANE backends (sane-backends-all)"
+ tristate "Include all SANE backends (sane-backends-all)"
comment "Backends"
$(call Package/sane-$(backend))
)\
config PACKAGE_sane-$(backend)
- prompt "$(TITLE)"
+ tristate "$(TITLE)"
$(foreach config_dep,\
$(filter @%,
$(foreach v, $(DEPENDS), $(if $(findstring :,$v),,$v))
bool "Enable XZ support"
select PACKAGE_liblzma
default n
+
+config SQUASHFS_TOOLS_ZSTD_SUPPORT
+ depends on PACKAGE_squashfs-tools-mksquashfs || PACKAGE_squashfs-tools-unsquashfs
+ bool "Enable ZSTD support"
+ select PACKAGE_libzstd
+ default n
include $(TOPDIR)/rules.mk
PKG_NAME:=squashfs-tools
-PKG_VERSION:=4.3
-PKG_RELEASE:=6
-PKG_LICENSE:=GPL-2.0
+PKG_VERSION:=4.4
+PKG_RELEASE:=1
+
+PKG_LICENSE:=GPL-2.0-only
PKG_LICENSE_FILES:=COPYING
+PKG_MAINTAINER:=Alexandru Ardelean <ardeleanalex@gmail.com>
PKG_CPE_ID:=cpe:/a:phillip_lougher:squashfs
-PKG_SOURCE_PROTO:=git
-PKG_SOURCE_URL:=https://github.com/plougher/squashfs-tools
-PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
-PKG_SOURCE_VERSION:=5be5d61e5e5a93911256b5f2106e50da0ca81e8d
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
-PKG_MIRROR_HASH:=eac1bc559708dc8656fe7d099ffc9e9374ae0cfb9a12d180a9c0c28acb0adf11
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=https://codeload.github.com/plougher/squashfs-tools/tar.gz/${PKG_VERSION}?
+PKG_HASH:=a7fa4845e9908523c38d4acf92f8a41fdfcd19def41bd5090d7ad767a6dc75c3
PKG_BUILD_PARALLEL:=1
include $(INCLUDE_DIR)/package.mk
SECTION:=utils
CATEGORY:=Utilities
SUBMENU:=Filesystem
- TITLE:=squashfs-tools
+ TITLE:=Tools to create and extract Squashfs filesystems
URL:=https://github.com/plougher/squashfs-tools
DEPENDS += +libpthread +zlib \
+SQUASHFS_TOOLS_LZO_SUPPORT:liblzo \
+SQUASHFS_TOOLS_LZ4_SUPPORT:liblz4 \
- +SQUASHFS_TOOLS_XZ_SUPPORT:liblzma
- MAINTAINER:=Alexandru Ardelean <ardeleanalex@gmail.com>
+ +SQUASHFS_TOOLS_XZ_SUPPORT:liblzma \
+ +SQUASHFS_TOOLS_ZSTD_SUPPORT:libzstd
endef
define Package/squashfs-tools-mksquashfs
MAKE_FLAGS += LZ4_SUPPORT=1
endif
+ifneq ($(CONFIG_SQUASHFS_TOOLS_ZSTD_SUPPORT),)
+MAKE_FLAGS += ZSTD_SUPPORT=1
+endif
+
define Build/Compile
$(MAKE) -C $(PKG_BUILD_DIR)/squashfs-tools \
CC="$(TARGET_CC)" \
+++ /dev/null
-From ac6268e843c43286eebff2a1052182c2393cdb2e Mon Sep 17 00:00:00 2001
-From: Roy Li <rongqing.li@windriver.com>
-Date: Mon, 14 Sep 2015 12:31:42 +0800
-Subject: [PATCH] mksquashfs.c: get inline functions work with both gnu11 and gnu89
-
-Upstream-Status: Pending
-
-After gcc upgraded to gcc5, and if the codes is compiled without optimization(-O0),
-and the below error will happen:
-
-| mksquashfs.o: In function `create_inode':
-| git/squashfs-tools/mksquashfs.c:897: undefined reference to `get_inode_no'
-| git/squashfs-tools/mksquashfs.c:960: undefined reference to `get_parent_no'
-| git/squashfs-tools/mksquashfs.c:983: undefined reference to `get_parent_no'
-| mksquashfs.o: In function `reader_read_process':
-| git/squashfs-tools/mksquashfs.c:2132: undefined reference to `is_fragment'
-| mksquashfs.o: In function `reader_read_file':
-| git/squashfs-tools/mksquashfs.c:2228: undefined reference to `is_fragment'
-| mksquashfs.o: In function `dir_scan':
-| git/squashfs-tools/mksquashfs.c:3101: undefined reference to `create_dir_entry'
-
-gcc5 defaults to -std=gnu11 instead of -std=gnu89, and it requires that exactly one C
-source file has the callable copy of the inline function. Consider the following
-program:
-
- inline int
- foo (void)
- {
- return 42;
- }
-
- int
- main (void)
- {
- return foo ();
- }
-
-The program above will not link with the C99 inline semantics, because no out-of-line
-function foo is generated. To fix this, either mark the function foo as static, or
-add the following declaration:
- static inline int foo (void);
-
-more information refer to: https://gcc.gnu.org/gcc-5/porting_to.html;
-
-but the use of "extern inline" will lead to the compilation issue if gcc is not
-gcc5, as the commit in oe-core d0af30c92fde [alsa-lib: Change function type to
-"static __inline__"]
- "extern __inline__ function()" is the inlined version that
- can be used in this compilation unit, but there will be another
- definition of this function somewhere, so compiler will not emit
- any code for the function body. This causes problem in -O0,
- where functions are never inlined, the function call is preserved,
- but linker can't find the symbol, thus the error happens.
-
-so replace "inline" with "static inline" to make it work with both gnu11 and gnu89
-
-Signed-off-by: Roy Li <rongqing.li@windriver.com>
----
- squashfs-tools/mksquashfs.c | 20 ++++++++++----------
- 1 file changed, 10 insertions(+), 10 deletions(-)
-
-diff --git a/squashfs-tools/mksquashfs.c b/squashfs-tools/mksquashfs.c
-index d221c35..6bba1d2 100644
---- a/squashfs-tools/mksquashfs.c
-+++ b/squashfs-tools/mksquashfs.c
-@@ -828,13 +828,13 @@ char *subpathname(struct dir_ent *dir_ent)
- }
-
-
--inline unsigned int get_inode_no(struct inode_info *inode)
-+static inline unsigned int get_inode_no(struct inode_info *inode)
- {
- return inode->inode_number;
- }
-
-
--inline unsigned int get_parent_no(struct dir_info *dir)
-+static inline unsigned int get_parent_no(struct dir_info *dir)
- {
- return dir->depth ? get_inode_no(dir->dir_ent->inode) : inode_no;
- }
-@@ -2027,7 +2027,7 @@ struct file_info *duplicate(long long file_size, long long bytes,
- }
-
-
--inline int is_fragment(struct inode_info *inode)
-+static inline int is_fragment(struct inode_info *inode)
- {
- off_t file_size = inode->buf.st_size;
-
-@@ -2996,13 +2996,13 @@ struct inode_info *lookup_inode2(struct stat *buf, int pseudo, int id)
- }
-
-
--inline struct inode_info *lookup_inode(struct stat *buf)
-+static inline struct inode_info *lookup_inode(struct stat *buf)
- {
- return lookup_inode2(buf, 0, 0);
- }
-
-
--inline void alloc_inode_no(struct inode_info *inode, unsigned int use_this)
-+static inline void alloc_inode_no(struct inode_info *inode, unsigned int use_this)
- {
- if (inode->inode_number == 0) {
- inode->inode_number = use_this ? : inode_no ++;
-@@ -3013,7 +3013,7 @@ inline void alloc_inode_no(struct inode_info *inode, unsigned int use_this)
- }
-
-
--inline struct dir_ent *create_dir_entry(char *name, char *source_name,
-+static inline struct dir_ent *create_dir_entry(char *name, char *source_name,
- char *nonstandard_pathname, struct dir_info *dir)
- {
- struct dir_ent *dir_ent = malloc(sizeof(struct dir_ent));
-@@ -3031,7 +3031,7 @@ inline struct dir_ent *create_dir_entry(char *name, char *source_name,
- }
-
-
--inline void add_dir_entry(struct dir_ent *dir_ent, struct dir_info *sub_dir,
-+static inline void add_dir_entry(struct dir_ent *dir_ent, struct dir_info *sub_dir,
- struct inode_info *inode_info)
- {
- struct dir_info *dir = dir_ent->our_dir;
-@@ -3047,7 +3047,7 @@ inline void add_dir_entry(struct dir_ent *dir_ent, struct dir_info *sub_dir,
- }
-
-
--inline void add_dir_entry2(char *name, char *source_name,
-+static inline void add_dir_entry2(char *name, char *source_name,
- char *nonstandard_pathname, struct dir_info *sub_dir,
- struct inode_info *inode_info, struct dir_info *dir)
- {
-@@ -3059,7 +3059,7 @@ inline void add_dir_entry2(char *name, char *source_name,
- }
-
-
--inline void free_dir_entry(struct dir_ent *dir_ent)
-+static inline void free_dir_entry(struct dir_ent *dir_ent)
- {
- if(dir_ent->name)
- free(dir_ent->name);
-@@ -3080,7 +3080,7 @@ inline void free_dir_entry(struct dir_ent *dir_ent)
- }
-
-
--inline void add_excluded(struct dir_info *dir)
-+static inline void add_excluded(struct dir_info *dir)
- {
- dir->excluded ++;
- }
---
-1.9.1
-
+++ /dev/null
-diff -aurp a/squashfs-tools/unsquash-1.c b/squashfs-tools/unsquash-1.c
---- a/squashfs-tools/unsquash-1.c 2014-09-18 20:16:18.000000000 -0600
-+++ b/squashfs-tools/unsquash-1.c 2017-08-29 13:18:14.403020644 -0600
-@@ -332,17 +332,19 @@ int read_uids_guids_1()
- guid_table = uid_table + sBlk.no_uids;
-
- if(swap) {
-- unsigned int suid_table[sBlk.no_uids + sBlk.no_guids];
-+ unsigned int* suid_table = malloc((sBlk.no_uids + sBlk.no_guids) * sizeof(unsigned int));
-
- res = read_fs_bytes(fd, sBlk.uid_start, (sBlk.no_uids +
- sBlk.no_guids) * sizeof(unsigned int), suid_table);
- if(res == FALSE) {
-+ free(suid_table);
- ERROR("read_uids_guids: failed to read uid/gid table"
- "\n");
- return FALSE;
- }
- SQUASHFS_SWAP_INTS_3(uid_table, suid_table,
- sBlk.no_uids + sBlk.no_guids);
-+ free(suid_table);
- } else {
- res = read_fs_bytes(fd, sBlk.uid_start, (sBlk.no_uids +
- sBlk.no_guids) * sizeof(unsigned int), uid_table);
-diff -aurp a/squashfs-tools/unsquash-2.c b/squashfs-tools/unsquash-2.c
---- a/squashfs-tools/unsquash-2.c 2014-09-18 20:16:18.000000000 -0600
-+++ b/squashfs-tools/unsquash-2.c 2017-08-29 13:23:48.111321548 -0600
-@@ -32,7 +32,7 @@ void read_block_list_2(unsigned int *blo
- TRACE("read_block_list: blocks %d\n", blocks);
-
- if(swap) {
-- unsigned int sblock_list[blocks];
-+ unsigned int* sblock_list = malloc(blocks*sizeof(unsigned int));
- memcpy(sblock_list, block_ptr, blocks * sizeof(unsigned int));
- SQUASHFS_SWAP_INTS_3(block_list, sblock_list, blocks);
- } else
-@@ -45,7 +45,7 @@ int read_fragment_table_2(long long *dir
- int res, i;
- int bytes = SQUASHFS_FRAGMENT_BYTES_2(sBlk.s.fragments);
- int indexes = SQUASHFS_FRAGMENT_INDEXES_2(sBlk.s.fragments);
-- unsigned int fragment_table_index[indexes];
-+ unsigned int* fragment_table_index = malloc(indexes * sizeof(unsigned int));
-
- TRACE("read_fragment_table: %d fragments, reading %d fragment indexes "
- "from 0x%llx\n", sBlk.s.fragments, indexes,
-@@ -53,6 +53,7 @@ int read_fragment_table_2(long long *dir
-
- if(sBlk.s.fragments == 0) {
- *directory_table_end = sBlk.s.fragment_table_start;
-+ free(fragment_table_index);
- return TRUE;
- }
-
-@@ -62,7 +63,7 @@ int read_fragment_table_2(long long *dir
- "fragment table\n");
-
- if(swap) {
-- unsigned int sfragment_table_index[indexes];
-+ unsigned int* sfragment_table_index = malloc(indexes * sizeof(unsigned int));
-
- res = read_fs_bytes(fd, sBlk.s.fragment_table_start,
- SQUASHFS_FRAGMENT_INDEX_BYTES_2(sBlk.s.fragments),
-@@ -70,10 +71,14 @@ int read_fragment_table_2(long long *dir
- if(res == FALSE) {
- ERROR("read_fragment_table: failed to read fragment "
- "table index\n");
-+ free(sfragment_table_index);
-+ free(fragment_table_index);
- return FALSE;
- }
- SQUASHFS_SWAP_FRAGMENT_INDEXES_2(fragment_table_index,
- sfragment_table_index, indexes);
-+
-+ free(sfragment_table_index);
- } else {
- res = read_fs_bytes(fd, sBlk.s.fragment_table_start,
- SQUASHFS_FRAGMENT_INDEX_BYTES_2(sBlk.s.fragments),
-@@ -81,6 +86,7 @@ int read_fragment_table_2(long long *dir
- if(res == FALSE) {
- ERROR("read_fragment_table: failed to read fragment "
- "table index\n");
-+ free(fragment_table_index);
- return FALSE;
- }
- }
-@@ -96,6 +102,7 @@ int read_fragment_table_2(long long *dir
- if(length == FALSE) {
- ERROR("read_fragment_table: failed to read fragment "
- "table block\n");
-+ free(fragment_table_index);
- return FALSE;
- }
- }
-@@ -111,6 +118,7 @@ int read_fragment_table_2(long long *dir
- }
-
- *directory_table_end = fragment_table_index[0];
-+ free(fragment_table_index);
- return TRUE;
- }
-
-diff -aurp a/squashfs-tools/unsquash-3.c b/squashfs-tools/unsquash-3.c
---- a/squashfs-tools/unsquash-3.c 2014-09-18 20:16:18.000000000 -0600
-+++ b/squashfs-tools/unsquash-3.c 2017-08-29 14:43:17.016089289 -0600
-@@ -32,7 +32,7 @@ int read_fragment_table_3(long long *dir
- int res, i;
- int bytes = SQUASHFS_FRAGMENT_BYTES_3(sBlk.s.fragments);
- int indexes = SQUASHFS_FRAGMENT_INDEXES_3(sBlk.s.fragments);
-- long long fragment_table_index[indexes];
-+ long long* fragment_table_index = malloc(indexes * sizeof(long long));
-
- TRACE("read_fragment_table: %d fragments, reading %d fragment indexes "
- "from 0x%llx\n", sBlk.s.fragments, indexes,
-@@ -40,6 +40,7 @@ int read_fragment_table_3(long long *dir
-
- if(sBlk.s.fragments == 0) {
- *directory_table_end = sBlk.s.fragment_table_start;
-+ free(fragment_table_index);
- return TRUE;
- }
-
-@@ -49,7 +50,7 @@ int read_fragment_table_3(long long *dir
- "fragment table\n");
-
- if(swap) {
-- long long sfragment_table_index[indexes];
-+ long long* sfragment_table_index = malloc(indexes * sizeof(long long));
-
- res = read_fs_bytes(fd, sBlk.s.fragment_table_start,
- SQUASHFS_FRAGMENT_INDEX_BYTES_3(sBlk.s.fragments),
-@@ -57,10 +58,13 @@ int read_fragment_table_3(long long *dir
- if(res == FALSE) {
- ERROR("read_fragment_table: failed to read fragment "
- "table index\n");
-+ free(fragment_table_index);
-+ free(sfragment_table_index);
- return FALSE;
- }
- SQUASHFS_SWAP_FRAGMENT_INDEXES_3(fragment_table_index,
- sfragment_table_index, indexes);
-+ free(sfragment_table_index);
- } else {
- res = read_fs_bytes(fd, sBlk.s.fragment_table_start,
- SQUASHFS_FRAGMENT_INDEX_BYTES_3(sBlk.s.fragments),
-@@ -68,6 +72,7 @@ int read_fragment_table_3(long long *dir
- if(res == FALSE) {
- ERROR("read_fragment_table: failed to read fragment "
- "table index\n");
-+ free(fragment_table_index);
- return FALSE;
- }
- }
-@@ -83,6 +88,7 @@ int read_fragment_table_3(long long *dir
- if(length == FALSE) {
- ERROR("read_fragment_table: failed to read fragment "
- "table block\n");
-+ free(fragment_table_index);
- return FALSE;
- }
- }
-@@ -98,6 +104,7 @@ int read_fragment_table_3(long long *dir
- }
-
- *directory_table_end = fragment_table_index[0];
-+ free(fragment_table_index);
- return TRUE;
- }
-
-diff -aurp a/squashfs-tools/unsquash-4.c b/squashfs-tools/unsquash-4.c
---- a/squashfs-tools/unsquash-4.c 2014-09-18 20:16:18.000000000 -0600
-+++ b/squashfs-tools/unsquash-4.c 2017-08-29 14:49:01.424441708 -0600
-@@ -33,7 +33,7 @@ int read_fragment_table_4(long long *dir
- int res, i;
- int bytes = SQUASHFS_FRAGMENT_BYTES(sBlk.s.fragments);
- int indexes = SQUASHFS_FRAGMENT_INDEXES(sBlk.s.fragments);
-- long long fragment_table_index[indexes];
-+ long long* fragment_table_index = malloc(indexes * sizeof(long long));
-
- TRACE("read_fragment_table: %d fragments, reading %d fragment indexes "
- "from 0x%llx\n", sBlk.s.fragments, indexes,
-@@ -41,6 +41,7 @@ int read_fragment_table_4(long long *dir
-
- if(sBlk.s.fragments == 0) {
- *directory_table_end = sBlk.s.fragment_table_start;
-+ free(fragment_table_index);
- return TRUE;
- }
-
-@@ -55,6 +56,7 @@ int read_fragment_table_4(long long *dir
- if(res == FALSE) {
- ERROR("read_fragment_table: failed to read fragment table "
- "index\n");
-+ free(fragment_table_index);
- return FALSE;
- }
- SQUASHFS_INSWAP_FRAGMENT_INDEXES(fragment_table_index, indexes);
-@@ -70,6 +72,7 @@ int read_fragment_table_4(long long *dir
- if(length == FALSE) {
- ERROR("read_fragment_table: failed to read fragment "
- "table index\n");
-+ free(fragment_table_index);
- return FALSE;
- }
- }
-@@ -78,6 +81,7 @@ int read_fragment_table_4(long long *dir
- SQUASHFS_INSWAP_FRAGMENT_ENTRY(&fragment_table[i]);
-
- *directory_table_end = fragment_table_index[0];
-+ free(fragment_table_index);
- return TRUE;
- }
-
-@@ -356,13 +360,14 @@ int read_uids_guids_4()
- int res, i;
- int bytes = SQUASHFS_ID_BYTES(sBlk.s.no_ids);
- int indexes = SQUASHFS_ID_BLOCKS(sBlk.s.no_ids);
-- long long id_index_table[indexes];
-+ long long* id_index_table = malloc(indexes * sizeof(long long));
-
- TRACE("read_uids_guids: no_ids %d\n", sBlk.s.no_ids);
-
- id_table = malloc(bytes);
- if(id_table == NULL) {
- ERROR("read_uids_guids: failed to allocate id table\n");
-+ free(id_index_table);
- return FALSE;
- }
-
-@@ -370,6 +375,7 @@ int read_uids_guids_4()
- SQUASHFS_ID_BLOCK_BYTES(sBlk.s.no_ids), id_index_table);
- if(res == FALSE) {
- ERROR("read_uids_guids: failed to read id index table\n");
-+ free(id_index_table);
- return FALSE;
- }
- SQUASHFS_INSWAP_ID_BLOCKS(id_index_table, indexes);
-@@ -382,11 +388,13 @@ int read_uids_guids_4()
- if(res == FALSE) {
- ERROR("read_uids_guids: failed to read id table block"
- "\n");
-+ free(id_index_table);
- return FALSE;
- }
- }
-
- SQUASHFS_INSWAP_INTS(id_table, sBlk.s.no_ids);
-
-+ free(id_index_table);
- return TRUE;
- }
-diff -aurp a/squashfs-tools/unsquashfs.c b/squashfs-tools/unsquashfs.c
---- a/squashfs-tools/unsquashfs.c 2017-08-29 14:58:51.917037533 -0600
-+++ b/squashfs-tools/unsquashfs.c 2017-08-29 13:14:03.082818149 -0600
-@@ -691,7 +691,7 @@ int read_block(int fd, long long start,
- return 0;
-
- if(compressed) {
-- char buffer[c_byte];
-+ char* buffer = malloc(c_byte);
- int error;
-
- res = read_fs_bytes(fd, start + offset, c_byte, buffer);
-@@ -704,8 +704,10 @@ int read_block(int fd, long long start,
- if(res == -1) {
- ERROR("%s uncompress failed with error code %d\n",
- comp->name, error);
-+ free(buffer);
- goto failed;
- }
-+ free(buffer);
- } else {
- res = read_fs_bytes(fd, start + offset, c_byte, block);
- if(res == FALSE)
-@@ -2097,7 +2099,7 @@ void *writer(void *arg)
- */
- void *inflator(void *arg)
- {
-- char tmp[block_size];
-+ char* tmp = malloc(block_size);
-
- while(1) {
- struct cache_entry *entry = queue_get(to_inflate);
-@@ -2120,6 +2122,7 @@ void *inflator(void *arg)
- */
- cache_block_ready(entry, res == -1);
- }
-+ free(tmp);
- }
-
-
-diff -aurp a/squashfs-tools/mksquashfs.c b/squashfs-tools/mksquashfs.c
---- a/squashfs-tools/mksquashfs.c 2017-09-05 15:09:19.090937121 -0600
-+++ b/squashfs-tools/mksquashfs.c 2017-09-01 09:58:11.274529037 -0600
-@@ -652,7 +652,7 @@ long long write_directories()
- long long write_id_table()
- {
- unsigned int id_bytes = SQUASHFS_ID_BYTES(id_count);
-- unsigned int p[id_count];
-+ unsigned int* p = malloc(id_count * sizeof(unsigned int));
- int i;
-
- TRACE("write_id_table: ids %d, id_bytes %d\n", id_count, id_bytes);
-@@ -655,6 +655,9 @@ long long write_id_table()
- unsigned int* p = malloc(id_count * sizeof(unsigned int));
- int i;
-
-+ if(p == NULL)
-+ MEM_ERROR();
-+
- TRACE("write_id_table: ids %d, id_bytes %d\n", id_count, id_bytes);
- for(i = 0; i < id_count; i++) {
- TRACE("write_id_table: id index %d, id %d", i, id_table[i]->id);
-
-@@ -661,6 +661,7 @@ long long write_id_table()
- SQUASHFS_SWAP_INTS(&id_table[i]->id, p + i, 1);
- }
-
-+ free(p);
- return generic_write_table(id_bytes, p, 0, NULL, noI);
- }
-
-diff -aurp a/squashfs-tools/read_fs.c b/squashfs-tools/read_fs.c
---- a/squashfs-tools/read_fs.c 2014-09-18 20:16:18.000000000 -0600
-+++ b/squashfs-tools/read_fs.c 2017-09-05 15:35:19.328547536 -0600
-@@ -77,18 +77,24 @@ int read_block(int fd, long long start,
- return 0;
-
- if(compressed) {
-- char buffer[c_byte];
-+ char* buffer = malloc(c_byte);
- int error;
-
-+ if(buffer == NULL)
-+ MEM_ERROR();
-+
- res = read_fs_bytes(fd, start + 2, c_byte, buffer);
-- if(res == 0)
-+ if(res == 0) {
-+ free(buffer);
- return 0;
-+ }
-
- res = compressor_uncompress(comp, block, buffer, c_byte,
- outlen, &error);
- if(res == -1) {
- ERROR("%s uncompress failed with error code %d\n",
- comp->name, error);
-+ free(buffer);
- return 0;
- }
- } else {
-@@ -699,7 +705,7 @@ all_done:
- unsigned int *read_id_table(int fd, struct squashfs_super_block *sBlk)
- {
- int indexes = SQUASHFS_ID_BLOCKS(sBlk->no_ids);
-- long long index[indexes];
-+ long long* index;
- int bytes = SQUASHFS_ID_BYTES(sBlk->no_ids);
- unsigned int *id_table;
- int res, i;
-@@ -708,12 +714,17 @@ unsigned int *read_id_table(int fd, stru
- if(id_table == NULL)
- MEM_ERROR();
-
-+ index = malloc(indexes * sizeof(long long));
-+ if(index == NULL)
-+ MEM_ERROR();
-+
- res = read_fs_bytes(fd, sBlk->id_table_start,
- SQUASHFS_ID_BLOCK_BYTES(sBlk->no_ids), index);
- if(res == 0) {
- ERROR("Failed to read id table index\n");
- ERROR("Filesystem corrupted?\n");
- free(id_table);
-+ free(index);
- return NULL;
- }
-
-@@ -732,6 +743,7 @@ unsigned int *read_id_table(int fd, stru
- "length %d\n", i, index[i], length);
- ERROR("Filesystem corrupted?\n");
- free(id_table);
-+ free(index);
- return NULL;
- }
- }
-@@ -753,14 +765,19 @@ int read_fragment_table(int fd, struct s
- int res, i;
- int bytes = SQUASHFS_FRAGMENT_BYTES(sBlk->fragments);
- int indexes = SQUASHFS_FRAGMENT_INDEXES(sBlk->fragments);
-- long long fragment_table_index[indexes];
-+ long long* fragment_table_index = malloc(indexes * sizeof(long long));
-+
-+ if(fragment_table_index == NULL)
-+ MEM_ERROR();
-
- TRACE("read_fragment_table: %d fragments, reading %d fragment indexes "
- "from 0x%llx\n", sBlk->fragments, indexes,
- sBlk->fragment_table_start);
-
-- if(sBlk->fragments == 0)
-+ if(sBlk->fragments == 0) {
-+ free(fragment_table_index);
- return 1;
-+ }
-
- *fragment_table = malloc(bytes);
- if(*fragment_table == NULL)
-@@ -773,6 +790,7 @@ int read_fragment_table(int fd, struct s
- ERROR("Failed to read fragment table index\n");
- ERROR("Filesystem corrupted?\n");
- free(*fragment_table);
-+ free(fragment_table_index);
- return 0;
- }
-
-@@ -792,6 +810,7 @@ int read_fragment_table(int fd, struct s
- fragment_table_index[i], length);
- ERROR("Filesystem corrupted?\n");
- free(*fragment_table);
-+ free(fragment_table_index);
- return 0;
- }
- }
-@@ -799,6 +818,7 @@ int read_fragment_table(int fd, struct s
- for(i = 0; i < sBlk->fragments; i++)
- SQUASHFS_INSWAP_FRAGMENT_ENTRY(&(*fragment_table)[i]);
-
-+ free(fragment_table_index);
- return 1;
- }
-
-@@ -808,11 +828,16 @@ int read_inode_lookup_table(int fd, stru
- {
- int lookup_bytes = SQUASHFS_LOOKUP_BYTES(sBlk->inodes);
- int indexes = SQUASHFS_LOOKUP_BLOCKS(sBlk->inodes);
-- long long index[indexes];
-+ long long* index = malloc(indexes * sizeof(long long));
- int res, i;
-
-- if(sBlk->lookup_table_start == SQUASHFS_INVALID_BLK)
-+ if(index == NULL)
-+ MEM_ERROR();
-+
-+ if(sBlk->lookup_table_start == SQUASHFS_INVALID_BLK) {
-+ free(index);
- return 1;
-+ }
-
- *inode_lookup_table = malloc(lookup_bytes);
- if(*inode_lookup_table == NULL)
-@@ -824,6 +849,7 @@ int read_inode_lookup_table(int fd, stru
- ERROR("Failed to read inode lookup table index\n");
- ERROR("Filesystem corrupted?\n");
- free(*inode_lookup_table);
-+ free(index);
- return 0;
- }
-
-@@ -843,12 +869,14 @@ int read_inode_lookup_table(int fd, stru
- length);
- ERROR("Filesystem corrupted?\n");
- free(*inode_lookup_table);
-+ free(index);
- return 0;
- }
- }
-
- SQUASHFS_INSWAP_LONG_LONGS(*inode_lookup_table, sBlk->inodes);
-
-+ free(index);
- return 1;
- }
-
+++ /dev/null
-From 968aa53dd6d2c0831a9af01873441767c06b88d0 Mon Sep 17 00:00:00 2001
-From: Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
-Date: Wed, 1 Aug 2018 12:17:10 +0200
-Subject: [PATCH] mksquashfs/unsquashfs: fix compilation with glibc 2.25+
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-From glibc 2.25 release notes:
-https://sourceware.org/ml/libc-alpha/2017-02/msg00079.html
-"* The inclusion of <sys/sysmacros.h> by <sys/types.h> is deprecated.
- This means that in a future release, the macros “major”, “minor”, and
- “makedev” will only be available from <sys/sysmacros.h>."
-
-See glibc bug https://sourceware.org/bugzilla/show_bug.cgi?id=19239 .
----
- squashfs-tools/mksquashfs.c | 1 +
- squashfs-tools/unsquashfs.c | 1 +
- 2 files changed, 2 insertions(+)
-
-diff --git a/squashfs-tools/mksquashfs.c b/squashfs-tools/mksquashfs.c
-index d696a51..8d57c3e 100644
---- a/squashfs-tools/mksquashfs.c
-+++ b/squashfs-tools/mksquashfs.c
-@@ -35,6 +35,7 @@
- #include <stddef.h>
- #include <sys/types.h>
- #include <sys/stat.h>
-+#include <sys/sysmacros.h>
- #include <fcntl.h>
- #include <errno.h>
- #include <dirent.h>
-diff --git a/squashfs-tools/unsquashfs.c b/squashfs-tools/unsquashfs.c
-index a57f85c..a492b27 100644
---- a/squashfs-tools/unsquashfs.c
-+++ b/squashfs-tools/unsquashfs.c
-@@ -33,6 +33,7 @@
- #include "fnmatch_compat.h"
-
- #include <sys/sysinfo.h>
-+#include <sys/sysmacros.h>
- #include <sys/types.h>
- #include <sys/time.h>
- #include <sys/resource.h>
---
-2.21.0
-