Merge pull request #18400 from nmav/tmp-tang-self-contained
authorNikos Mavrogiannopoulos <n.mavrogiannopoulos@gmail.com>
Fri, 12 May 2023 13:54:44 +0000 (15:54 +0200)
committerGitHub <noreply@github.com>
Fri, 12 May 2023 13:54:44 +0000 (15:54 +0200)
make tang self-contained

89 files changed:
.github/workflows/multi-arch-test-build.yml
lang/golang/golang/Makefile
lang/python/borgbackup/Makefile
lang/python/numpy/Makefile
lang/python/numpy/patches/001-unpin-build-dependencies.patch [new file with mode: 0644]
lang/python/numpy/patches/002-avoid-build-user-config-files.patch [new file with mode: 0644]
lang/python/pillow/Makefile
lang/python/python-astral/Makefile
lang/python/python-automat/Makefile
lang/python/python-bleak/Makefile
lang/python/python-cached-property/Makefile
lang/python/python-crcmod/Makefile
lang/python/python-cryptodome/Makefile
lang/python/python-cryptodomex/Makefile
lang/python/python-cryptography/patches/0004-disable-rust.patch
lang/python/python-curl/Makefile
lang/python/python-dbus-fast/Makefile
lang/python/python-dbus-fast/patches/001-unpin-setuptools.patch [new file with mode: 0644]
lang/python/python-dns/Makefile
lang/python/python-docker/Makefile
lang/python/python-dockerpty/Makefile
lang/python/python-docopt/Makefile
lang/python/python-docutils/Makefile
lang/python/python-evdev/Makefile
lang/python/python-exceptiongroup/Makefile
lang/python/python-exceptiongroup/patches/0001-add-setup.py-to-avoid-depending-on-flit-for-building.patch [deleted file]
lang/python/python-gmpy2/Makefile
lang/python/python-incremental/Makefile
lang/python/python-incremental/patches/001-omit-tests.patch
lang/python/python-intelhex/Makefile
lang/python/python-jsonschema/Makefile
lang/python/python-jsonschema/patches/001-setup.patch [deleted file]
lang/python/python-packaging/Makefile
lang/python/python-paramiko/Makefile
lang/python/python-parsley/Makefile
lang/python/python-pkgconfig/Makefile [new file with mode: 0644]
lang/python/python-pycrate/Makefile
lang/python/python-pynacl/Makefile
lang/python/python-pytest-forked/Makefile
lang/python/python-pytest/Makefile
lang/python/python-stem/Makefile
lang/python/python-trove-classifiers/Makefile
lang/python/python-twisted/Makefile
lang/python/python-twisted/patches/001-omit-tkconch.patch
lang/python/python-twisted/patches/002-omit-tests.patch
lang/python/python-typing-extensions/Makefile
lang/python/python-ubus/Makefile
lang/python/python-yaml/Makefile
lang/python/python3-host.mk
lang/python/python3-package.mk
lang/python/python3-pyroute2/Makefile
lang/python/python3/Makefile
lang/python/setup.py.shim [deleted file]
libs/glib2/Makefile
libs/gnutls/Makefile
libs/gnutls/patches/010-m4.patch
libs/gnutls/patches/020-dont-install-m4-files.patch
libs/libopen62541/Config.in [new file with mode: 0644]
libs/libopen62541/Makefile [new file with mode: 0644]
mail/dovecot/Makefile
net/banip/Makefile
net/banip/files/banip-service.sh
net/crowdsec-firewall-bouncer/Makefile
net/fail2ban/Makefile
net/haproxy/Makefile
net/haproxy/get-latest-patches.sh
net/https-dns-proxy/Makefile
net/https-dns-proxy/files/https-dns-proxy.init
net/mwan3/Makefile
net/mwan3/files/usr/sbin/mwan3track
net/nmap/Makefile
net/ocserv/Makefile
net/onionshare-cli/Makefile
net/pbr/Makefile
net/pbr/files/etc/init.d/pbr.init
net/pbr/files/etc/uci-defaults/90-pbr
net/simple-adblock/Makefile
net/simple-adblock/files/simple-adblock.init
net/snort3/Makefile
net/snort3/patches/900-fix_build_for_archs_contain_plus.patch [deleted file]
net/wsdd2/Makefile
net/wsdd2/files/wsdd2.init
utils/coreutils/Makefile
utils/coreutils/patches/001-no_docs_man_tests.patch
utils/i2c-tools/Makefile
utils/lxc/Makefile
utils/lxc/files/lxc-auto.init
utils/open-plc-utils/Makefile
utils/xxhash/Makefile

index 3e8b6f263ab36726ec52e6564f4df91230e7eba5..60ff51063bf1132cc4d50fe074375efd119b3415 100644 (file)
@@ -84,6 +84,7 @@ jobs:
 
       - name: Generate build keys
         run: |
+          sudo apt-get update
           sudo apt-get install -y signify-openbsd
           signify-openbsd -G -n -c 'DO NOT USE - OpenWrt packages feed CI' -p packages_ci.pub -s packages_ci.sec
           EOF=$(dd if=/dev/urandom bs=15 count=1 status=none | base64)
@@ -159,21 +160,32 @@ jobs:
       - name: Remove logs
         run: sudo rm -rf logs/ || true
 
+      - name: Check if any packages were built
+        run: |
+          if [ -n "$(find . -maxdepth 1 -type f -name '*.ipk' -print -quit)" ]; then
+            echo "Found *.ipk files"
+            HAVE_IPKS=true
+          else
+            echo "No *.ipk files found"
+            HAVE_IPKS=false
+          fi
+          echo "HAVE_IPKS=$HAVE_IPKS" >> $GITHUB_ENV
+
       - name: Register QEMU
-        if: ${{ matrix.runtime_test }}
+        if: ${{ matrix.runtime_test && fromJSON(env.HAVE_IPKS) }}
         run: |
           sudo apt-get update
           sudo apt-get install -y qemu-user-static binfmt-support
           sudo update-binfmts --import
 
       - name: Build Docker container
-        if: ${{ matrix.runtime_test }}
+        if: ${{ matrix.runtime_test && fromJSON(env.HAVE_IPKS) }}
         run: |
           docker build -t test-container --build-arg ARCH .github/workflows/
         env:
           ARCH: ${{ matrix.arch }}-${{ env.BRANCH }}
 
       - name: Test via Docker container
-        if: ${{ matrix.runtime_test }}
+        if: ${{ matrix.runtime_test && fromJSON(env.HAVE_IPKS) }}
         run: |
           docker run --rm -v $GITHUB_WORKSPACE:/ci test-container
index 5ad75115695293b712fcfb45c6c5597b268c0280..a467e08faf9c99987d44f7ea6fd7c74709cc84f7 100644 (file)
@@ -8,7 +8,7 @@
 include $(TOPDIR)/rules.mk
 
 GO_VERSION_MAJOR_MINOR:=1.20
-GO_VERSION_PATCH:=3
+GO_VERSION_PATCH:=4
 
 PKG_NAME:=golang
 PKG_VERSION:=$(GO_VERSION_MAJOR_MINOR)$(if $(GO_VERSION_PATCH),.$(GO_VERSION_PATCH))
@@ -20,7 +20,7 @@ GO_SOURCE_URLS:=https://dl.google.com/go/ \
 
 PKG_SOURCE:=go$(PKG_VERSION).src.tar.gz
 PKG_SOURCE_URL:=$(GO_SOURCE_URLS)
-PKG_HASH:=e447b498cde50215c4f7619e5124b0fc4e25fb5d16ea47271c47f278e7aa763a
+PKG_HASH:=9f34ace128764b7a3a4b238b805856cc1b2184304df9e5690825b0710f4202d6
 
 PKG_MAINTAINER:=Jeffery To <jeffery.to@gmail.com>
 PKG_LICENSE:=BSD-3-Clause
index a8629deef13639dbc594e3c38e77292544b2fdce..95fd7eaffd474792e0d02953a9a46255b597b033 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=borgbackup
 PKG_VERSION:=1.2.4
-PKG_RELEASE:=2
+PKG_RELEASE:=3
 
 PYPI_NAME:=borgbackup
 PKG_HASH:=a4bd54e9469e81b7a30a6711423115abc818d9cd844ecb1ca0e6104bc5374da8
@@ -57,16 +57,7 @@ define Package/borgbackup/description
   The data deduplication technique used makes Borg suitable for daily backups since only changes are stored. The authenticated encryption technique makes it suitable for backups to not fully trusted targets.
 endef
 
-PKG_BUILD_DEPENDS:=python-cython/host
-
-# borg setup.py shall find these via pkg-config, but depends on python pkgconfig PyPi module
-# which quickly becomes a nightmare to build, since it build-depends on poetry which is not
-# available in the python package feed, and has a myriad of deps
-PYTHON3_PKG_SETUP_VARS:= \
-  BORG_OPENSSL_PREFIX="/usr/lib" \
-  BORG_LIBLZ4_PREFIX="/usr/lib" \
-  BORG_LIBZSTD_PREFIX="/usr/lib" \
-  BORG_LIBXXHASH_PREFIX="/usr/lib"
+PKG_BUILD_DEPENDS:=python-cython/host python-pkgconfig/host python-setuptools-scm/host
 
 $(eval $(call Py3Package,borgbackup))
 $(eval $(call BuildPackage,borgbackup))
index 35aab8d7967244cd4b2d0a9c852d6de42bf702e6..d7e485d79ce4db1abdf275dfc9d20085683599ff 100644 (file)
@@ -7,7 +7,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=numpy
 PKG_VERSION:=1.23.3
-PKG_RELEASE:=2
+PKG_RELEASE:=5
 
 PYPI_NAME:=$(PKG_NAME)
 PKG_HASH:=51bf49c0cd1d52be0a240aa66f3458afc4b95d8993d2d04f0d91fa60c10af6cd
@@ -23,6 +23,10 @@ PKG_CONFIG_DEPENDS:= \
 
 PKG_BUILD_DEPENDS:=python-cython/host
 
+# Ensure numpy does not find openblas if openblas support is not enabled
+PYTHON3_PKG_BUILD_VARS:= \
+        $(if $(CONFIG_NUMPY_OPENBLAS_SUPPORT),,NPY_BLAS_ORDER= NPY_LAPACK_ORDER= )
+
 include ../pypi.mk
 include $(INCLUDE_DIR)/package.mk
 include ../python3-package.mk
@@ -50,17 +54,18 @@ config NUMPY_OPENBLAS_SUPPORT
 endmenu
 endef
 
-ifdef CONFIG_NUMPY_OPENBLAS_SUPPORT
 define Build/Prepare/numpy-sitecfg
        echo "[DEFAULT]"                                 >  $(PKG_BUILD_DIR)/site.cfg
        echo "library_dirs = $(STAGING_DIR)/usr/lib"     >> $(PKG_BUILD_DIR)/site.cfg
        echo "include_dirs = $(STAGING_DIR)/usr/include" >> $(PKG_BUILD_DIR)/site.cfg
+
+  ifdef CONFIG_NUMPY_OPENBLAS_SUPPORT
        echo                                             >> $(PKG_BUILD_DIR)/site.cfg
        echo "[openblas]"                                >> $(PKG_BUILD_DIR)/site.cfg
        echo "libraries = openblas"                      >> $(PKG_BUILD_DIR)/site.cfg
        echo "runtime_library_dirs = /usr/lib"           >> $(PKG_BUILD_DIR)/site.cfg
+  endif
 endef
-endif
 
 define Build/Prepare
        $(call Build/Prepare/Default)
diff --git a/lang/python/numpy/patches/001-unpin-build-dependencies.patch b/lang/python/numpy/patches/001-unpin-build-dependencies.patch
new file mode 100644 (file)
index 0000000..c167f07
--- /dev/null
@@ -0,0 +1,13 @@
+--- a/pyproject.toml
++++ b/pyproject.toml
+@@ -2,8 +2,8 @@
+ # Minimum requirements for the build system to execute.
+ requires = [
+     "packaging==20.5; platform_machine=='arm64'",  # macos M1
+-    "setuptools==59.2.0",
+-    "wheel==0.37.0",
++    "setuptools>=59.2.0",
++    "wheel>=0.37.0",
+     "Cython>=0.29.30,<3.0",
+ ]
diff --git a/lang/python/numpy/patches/002-avoid-build-user-config-files.patch b/lang/python/numpy/patches/002-avoid-build-user-config-files.patch
new file mode 100644 (file)
index 0000000..15c76e3
--- /dev/null
@@ -0,0 +1,11 @@
+--- a/numpy/distutils/system_info.py
++++ b/numpy/distutils/system_info.py
+@@ -400,7 +400,7 @@ def get_standard_file(fname):
+         pass
+     else:
+         user_file = os.path.join(f, fname)
+-        if os.path.isfile(user_file):
++        if "_PYTHON_HOST_PLATFORM" not in os.environ and os.path.isfile(user_file):
+             filenames.append(user_file)
+     # Local file
index bcf793697a20ee9ab5deabb485f943fdef89383b..941f28f4e3b9e9559e5d362ab5cdc98e965922a9 100644 (file)
@@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=pillow
 PKG_VERSION:=9.5.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PYPI_NAME:=Pillow
 PKG_HASH:=bf548479d336726d7a0eceb6e767e179fbde37833ae42794602631a070d630f1
@@ -36,17 +36,18 @@ define Package/python3-pillow/description
   The friendly PIL fork
 endef
 
-PYTHON3_PKG_SETUP_GLOBAL_ARGS += build_ext \
-       --enable-zlib \
-       --enable-jpeg \
-       --enable-webp \
-       --enable-webpmux \
-       --enable-tiff \
-       --enable-freetype \
-       --disable-lcms \
-       --disable-jpeg2000 \
-       --disable-imagequant \
-       --disable-platform-guessing
+PYTHON3_PKG_BUILD_CONFIG_SETTINGS += \
+       --global-option=build_ext \
+       --global-option=--enable-zlib \
+       --global-option=--enable-jpeg \
+       --global-option=--enable-webp \
+       --global-option=--enable-webpmux \
+       --global-option=--enable-tiff \
+       --global-option=--enable-freetype \
+       --global-option=--disable-lcms \
+       --global-option=--disable-jpeg2000 \
+       --global-option=--disable-imagequant \
+       --global-option=--disable-platform-guessing
 
 $(eval $(call Py3Package,python3-pillow))
 $(eval $(call BuildPackage,python3-pillow))
index 5f009fce17a4177974e4c427fa27e926280f648c..9d24576ccbf69906166ecdd8a309bccab0d1a6ad 100644 (file)
@@ -8,16 +8,18 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=python-astral
-PKG_VERSION:=2.2
+PKG_VERSION:=3.2
 PKG_RELEASE:=1
 
 PYPI_NAME:=astral
-PKG_HASH:=e41d9967d5c48be421346552f0f4dedad43ff39a83574f5ff2ad32b6627b6fbe
+PKG_HASH:=9b7c3b412e9e69d172cfb24be0e6addcc9f1bd01a28db8bebe66d75ccc533d88
 
 PKG_LICENSE:=Apache-2.0
 PKG_LICENSE_FILES:=LICENSE
 PKG_MAINTAINER:=Josef Schlehofer <josef.schlehofer@nic.cz>
 
+PKG_BUILD_DEPENDS:=python-poetry-core/host
+
 include ../pypi.mk
 include $(INCLUDE_DIR)/package.mk
 include ../python3-package.mk
@@ -29,8 +31,7 @@ define Package/python3-astral
   TITLE:=Calculations for the position of the sun and moon
   URL:=https://github.com/sffjunkie/astral
   DEPENDS+= \
-      +python3-light \
-      +python3-pytz
+      +python3-light
 endef
 
 define Package/python3-astral/description
index 248f7b705542b702121cb18baa43b55011a706a3..7802168aae651b32e3e4e018e17556da5e474d20 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=python-automat
 PKG_VERSION:=20.2.0
-PKG_RELEASE:=2
+PKG_RELEASE:=3
 
 PYPI_NAME:=Automat
 PKG_HASH:=7979803c74610e11ef0c0d68a2942b152df52da55336e0c9d58daf1831cbdf33
@@ -22,7 +22,7 @@ include ../pypi.mk
 include $(INCLUDE_DIR)/package.mk
 include ../python3-package.mk
 
-PYTHON3_PKG_SETUP_VARS:= \
+PYTHON3_PKG_BUILD_VARS:= \
   PKG_VERSION="$(PKG_VERSION)"
 
 define Package/python3-automat
index 696b0b4bcfe116829ea69032c8d4bec1ceea821e..2878bb2eacb035c2292caabb62f3f54b1c03e5ad 100644 (file)
@@ -17,6 +17,8 @@ PKG_MAINTAINER:=Quintin Hill <stuff@quintin.me.uk>
 PKG_LICENSE:=MIT
 PKG_LICENSE_FILES:=LICENSE
 
+PKG_BUILD_DEPENDS:=python-poetry-core/host
+
 include ../pypi.mk
 include $(INCLUDE_DIR)/package.mk
 include ../python3-package.mk
index 63685ba9c33f38da4a6a650b0ea62eb3bb154593..a95d298aaa9f24876e5c26b779bb847e8503954f 100644 (file)
@@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=python-cached-property
 PKG_VERSION:=1.5.2
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PYPI_NAME:=cached-property
 PKG_HASH:=9fa5755838eecbb2d234c3aa390bd80fbd3ac6b6869109bfc1b499f7bd89a130
@@ -15,8 +15,6 @@ include ../pypi.mk
 include $(INCLUDE_DIR)/package.mk
 include ../python3-package.mk
 
-PYTHON3_PKG_SETUP_ARGS:=
-
 define Package/python3-cached-property
   SECTION:=lang
   CATEGORY:=Languages
index bd9d606b07ab88aebc50a21d0877e54a434b617e..de59e612d1bb510dbe98b7c08b6f61c00daf34e6 100644 (file)
@@ -5,7 +5,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=python-crcmod
 PKG_VERSION:=1.7
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PYPI_NAME:=crcmod
 PKG_HASH:=dc7051a0db5f2bd48665a990d3ec1cc305a466a77358ca4492826f41f283601e
@@ -13,8 +13,6 @@ PKG_HASH:=dc7051a0db5f2bd48665a990d3ec1cc305a466a77358ca4492826f41f283601e
 PKG_LICENSE:=MIT
 PKG_MAINTAINER:=David Bauer <mail@david-bauer.net>
 
-PYTHON3_PKG_SETUP_ARGS:=
-
 include ../pypi.mk
 include $(INCLUDE_DIR)/package.mk
 include ../python3-package.mk
index 037ff861dfb072a87a5321faec64c28beb9fdb47..0f256628eb1b0da8837724db08d04ccfda7308e0 100644 (file)
@@ -6,7 +6,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=python-cryptodome
 PKG_VERSION:=3.9.7
-PKG_RELEASE:=3
+PKG_RELEASE:=4
 
 PYPI_NAME:=pycryptodome
 PKG_HASH:=f1add21b6d179179b3c177c33d18a2186a09cc0d3af41ff5ed3f377360b869f2
@@ -20,8 +20,7 @@ include ../pypi.mk
 include $(INCLUDE_DIR)/package.mk
 include ../python3-package.mk
 
-PYTHON3_PKG_SETUP_ARGS:=
-PYTHON3_PKG_SETUP_VARS:= \
+PYTHON3_PKG_BUILD_VARS:= \
   CONFIG_BIG_ENDIAN="$(CONFIG_BIG_ENDIAN)"
 
 define Package/python3-cryptodome
index 7cc4c530fb244b29e18b210c3b05fa8f4b851d84..9847db5832521d69922eb2556ed6dd2eeece0a35 100644 (file)
@@ -6,7 +6,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=python-cryptodomex
 PKG_VERSION:=3.10.1
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PYPI_NAME:=pycryptodomex
 PKG_HASH:=541cd3e3e252fb19a7b48f420b798b53483302b7fe4d9954c947605d0a263d62
@@ -19,8 +19,7 @@ include ../pypi.mk
 include $(INCLUDE_DIR)/package.mk
 include ../python3-package.mk
 
-PYTHON3_PKG_SETUP_ARGS:=
-PYTHON3_PKG_SETUP_VARS:= \
+PYTHON3_PKG_BUILD_VARS:= \
   CONFIG_BIG_ENDIAN="$(CONFIG_BIG_ENDIAN)"
 
 define Package/python3-cryptodomex
index 81c45a44df6eef26d9b7afb0a40e4add5cbd240f..bf3010bb03f7a24a62e6f652f12d24ad5b192415 100644 (file)
@@ -1,3 +1,13 @@
+--- a/pyproject.toml
++++ b/pyproject.toml
+@@ -6,7 +6,6 @@ requires = [
+     "wheel",
+     # Must be kept in sync with the `setup_requirements` in `setup.py`
+     "cffi>=1.12; platform_python_implementation != 'PyPy'",
+-    "setuptools-rust>=0.11.4",
+ ]
+ build-backend = "setuptools.build_meta"
 --- a/setup.py
 +++ b/setup.py
 @@ -11,7 +11,7 @@ import sys
index 4f46dc5fc7e5873416ea5bed2b4d311beae5f22e..b239efd3a0d196bf491c7bf65a1ae04157acb396 100644 (file)
@@ -6,7 +6,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=pycurl
 PKG_VERSION:=7.45.2
-PKG_RELEASE:=1
+PKG_RELEASE:=3
 
 PYPI_NAME:=$(PKG_NAME)
 PKG_HASH:=5730590be0271364a5bddd9e245c9cc0fb710c4cbacbdd95264a3122d23224ca
@@ -32,22 +32,20 @@ define Package/python3-curl/description
 PycURL is a Python interface to libcurl, the multiprotocol file transfer library.
 endef
 
-PYTHON3_PKG_SETUP_ARGS:=
-
 ifdef CONFIG_LIBCURL_OPENSSL
-  PYTHON3_PKG_SETUP_ARGS+=--with-openssl
+  PYTHON3_PKG_BUILD_VARS:=PYCURL_SSL_LIBRARY=openssl
 endif
 
 ifdef CONFIG_LIBCURL_GNUTLS
-  PYTHON3_PKG_SETUP_ARGS+=--with-gnutls
+  PYTHON3_PKG_BUILD_VARS:=PYCURL_SSL_LIBRARY=gnutls
 endif
 
 ifdef CONFIG_LIBCURL_MBEDTLS
-  PYTHON3_PKG_SETUP_ARGS+=--with-mbedtls
+  PYTHON3_PKG_BUILD_VARS:=PYCURL_SSL_LIBRARY=mbedtls
 endif
 
 ifdef CONFIG_LIBCURL_WOLFSSL
-  PYTHON3_PKG_SETUP_ARGS+=--with-wolfssl
+  PYTHON3_PKG_BUILD_VARS:=PYCURL_SSL_LIBRARY=wolfssl
 endif
 
 $(eval $(call Py3Package,python3-curl))
index ad6b0b40b38b5aa95e5f837fd9d92988b144d45a..8579e13a45a2c11902a95bd1da72c5101db28e6f 100644 (file)
@@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=python-dbus-fast
 PKG_VERSION:=1.84.2
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PYPI_NAME:=dbus-fast
 PYPI_SOURCE_NAME:=dbus_fast
@@ -18,6 +18,8 @@ PKG_MAINTAINER:=Quintin Hill <stuff@quintin.me.uk>
 PKG_LICENSE:=MIT
 PKG_LICENSE_FILES:=LICENSE
 
+PKG_BUILD_DEPENDS:=python-poetry-core/host python-cython/host python-wheel/host
+
 include ../pypi.mk
 include $(INCLUDE_DIR)/package.mk
 include ../python3-package.mk
diff --git a/lang/python/python-dbus-fast/patches/001-unpin-setuptools.patch b/lang/python/python-dbus-fast/patches/001-unpin-setuptools.patch
new file mode 100644 (file)
index 0000000..327f0e7
--- /dev/null
@@ -0,0 +1,9 @@
+--- a/pyproject.toml
++++ b/pyproject.toml
+@@ -97,5 +97,5 @@ module = "docs.*"
+ ignore_errors = true
+ [build-system]
+-requires = ['setuptools>=65.4.1', 'wheel', 'Cython', "poetry-core>=1.0.0"]
++requires = ['setuptools', 'wheel', 'Cython', "poetry-core>=1.0.0"]
+ build-backend = "poetry.core.masonry.api"
index 75833fa853f8d41ad16b99bc708a965f78e628c5..f303733b657213a7b7204ae09d8e73a9c144a435 100644 (file)
@@ -8,16 +8,18 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=python-dns
-PKG_VERSION:=2.2.0
+PKG_VERSION:=2.3.0
 PKG_RELEASE:=1
 
 PYPI_NAME:=dnspython
-PKG_HASH:=e79351e032d0b606b98d38a4b0e6e2275b31a5b85c873e587cc11b73aca026d6
+PKG_HASH:=224e32b03eb46be70e12ef6d64e0be123a64e621ab4c0822ff6d450d52a540b9
 
 PKG_LICENSE:=ISC
 PKG_LICENSE_FILES:=LICENSE
 PKG_MAINTAINER:=Josef Schlehofer <pepe.schlehofer@gmail.com>
 
+PKG_BUILD_DEPENDS:=python-poetry-core/host
+
 include ../pypi.mk
 include $(INCLUDE_DIR)/package.mk
 include ../python3-package.mk
index cb23ea0104ffa41929ab73d376b393877f332c74..de278aac61ef9f256a45fc3a995c9e56eb675292 100644 (file)
@@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=python-docker
 PKG_VERSION:=6.0.1
-PKG_RELEASE:=1
+PKG_RELEASE:=3
 
 PYPI_NAME:=docker
 PKG_HASH:=896c4282e5c7af5c45e8b683b0b0c33932974fe6e50fc6906a0a83616ab3da97
@@ -11,12 +11,12 @@ PKG_MAINTAINER:=Javier Marcet <javier@marcet.info>
 PKG_LICENSE:=Apache-2.0
 PKG_LICENSE_FILES:=LICENSE
 
+PKG_BUILD_DEPENDS:=python-setuptools-scm/host
+
 include ../pypi.mk
 include $(INCLUDE_DIR)/package.mk
 include ../python3-package.mk
 
-PYTHON3_PKG_SETUP_ARGS:=
-
 define Package/python3-docker
   SECTION:=lang
   CATEGORY:=Languages
index 662e4c552981e448734df953c600f7503ffbdfaa..8addc132ce03c134db6196da47d50bd6b0c4387e 100644 (file)
@@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=python-dockerpty
 PKG_VERSION:=0.4.1
-PKG_RELEASE:=3
+PKG_RELEASE:=4
 
 PYPI_NAME:=dockerpty
 PKG_HASH:=69a9d69d573a0daa31bcd1c0774eeed5c15c295fe719c61aca550ed1393156ce
@@ -15,8 +15,6 @@ include ../pypi.mk
 include $(INCLUDE_DIR)/package.mk
 include ../python3-package.mk
 
-PYTHON3_PKG_SETUP_ARGS:=
-
 define Package/python3-dockerpty
   SECTION:=lang
   CATEGORY:=Languages
index cba239458439af38d5dd1b25981b748df32548f3..fa6e982494b05c585af70a097ac14051c3231600 100644 (file)
@@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=python-docopt
 PKG_VERSION:=0.6.2
-PKG_RELEASE:=2
+PKG_RELEASE:=3
 
 PYPI_NAME:=docopt
 PKG_HASH:=49b3a825280bd66b3aa83585ef59c4a8c82f2c8a522dbe754a8bc8d08c85c491
@@ -15,8 +15,6 @@ include ../pypi.mk
 include $(INCLUDE_DIR)/package.mk
 include ../python3-package.mk
 
-PYTHON3_PKG_SETUP_ARGS:=
-
 define Package/python3-docopt
   SECTION:=lang
   CATEGORY:=Languages
index 23fcd4c829cb430d579adb68bf96a93c80c6a8b6..50875051f47e0870bcfaa97711dbaa653bf1864c 100644 (file)
@@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=docutils
 PKG_VERSION:=0.19
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PYPI_NAME:=$(PKG_NAME)
 PKG_HASH:=33995a6753c30b7f577febfc2c50411fec6aac7f7ffeb7c4cfe5991072dcf9e6
@@ -29,8 +29,6 @@ such as HTML, XML, and LaTeX. For input Docutils supports reStructuredText,
 an easy-to-read, what-you-see-is-what-you-get plaintext markup syntax.
 endef
 
-PYTHON3_PKG_SETUP_ARGS:=
-
 $(eval $(call Py3Package,python3-docutils))
 $(eval $(call BuildPackage,python3-docutils))
 $(eval $(call BuildPackage,python3-docutils-src))
index bc26068a6ed40b2eab09eb3fc98cf81a3e57c474..bab726b54ec4e81fa6a38653846c2a59eecf5dfa 100644 (file)
@@ -10,7 +10,7 @@ include $(INCLUDE_DIR)/kernel.mk
 
 PKG_NAME:=python-evdev
 PKG_VERSION:=1.6.1
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_LICENSE:=BSD-3-Clause
 PKG_MAINTAINER:=Paulo Costa <me@paulo.costa.nom.br>, Alexandru Ardelean <ardeleanalex@gmail.com>
@@ -39,10 +39,11 @@ endef
 
 LINUX_EVDEV_HEADERS="$(LINUX_DIR)/include/uapi/linux/input.h:$(LINUX_DIR)/include/uapi/linux/input-event-codes.h"
 
-PYTHON3_PKG_SETUP_GLOBAL_ARGS:= \
-       build build_ecodes \
-       --evdev-headers="$(LINUX_EVDEV_HEADERS)" \
-       build_ext
+PYTHON3_PKG_BUILD_CONFIG_SETTINGS:= \
+       --global-option=build \
+       --global-option=build_ecodes \
+       --global-option=--evdev-headers="$(LINUX_EVDEV_HEADERS)" \
+       --global-option=build_ext
 
 $(eval $(call Py3Package,python3-evdev))
 $(eval $(call BuildPackage,python3-evdev))
index 7c096dc5e59d787f499f9904c69f68ccae1e7591..80be44b2ef3b72c18bf9968c8c63ca863d6ec649 100644 (file)
@@ -8,16 +8,18 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=python-exceptiongroup
-PKG_VERSION:=1.1.0
-PKG_RELEASE:=1
+PKG_VERSION:=1.1.1
+PKG_RELEASE:=2
 
 PYPI_NAME:=exceptiongroup
-PKG_HASH:=bcb67d800a4497e1b404c2dd44fca47d3b7a5e5433dbab67f96c1a685cdfdf23
+PKG_HASH:=d484c3090ba2889ae2928419117447a14daf3c1231d5e30d0aae34f354f01785
 
 PKG_LICENSE:=MIT,Python-2.0
 PKG_LICENSE_FILES:=LICENSE
 PKG_MAINTAINER:=Julien Malik <julien.malik@paraiso.me>
 
+PKG_BUILD_DEPENDS:=python-flit-scm/host
+
 include ../pypi.mk
 include $(INCLUDE_DIR)/package.mk
 include ../python3-package.mk
@@ -28,9 +30,7 @@ define Package/python3-exceptiongroup
   SUBMENU:=Python
   TITLE:=Backport of PEP 654 (exception groups)
   URL:=https://github.com/agronholm/exceptiongroup
-  DEPENDS:= \
-    +python3-light \
-    +python3-attrs
+  DEPENDS:=+python3-light
 endef
 
 define Package/python3-exceptiongroup/description
diff --git a/lang/python/python-exceptiongroup/patches/0001-add-setup.py-to-avoid-depending-on-flit-for-building.patch b/lang/python/python-exceptiongroup/patches/0001-add-setup.py-to-avoid-depending-on-flit-for-building.patch
deleted file mode 100644 (file)
index 5c6cf25..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-From d6a0c3045598597023ee2423144b134fc87f4b6f Mon Sep 17 00:00:00 2001
-From: Julien Malik <julien.malik@paraiso.me>
-Date: Sat, 26 Nov 2022 13:05:20 +0100
-Subject: [PATCH] add setup.py to avoid depending on flit for building
-
----
- setup.py | 18 ++++++++++++++++++
- 1 file changed, 18 insertions(+)
- create mode 100644 setup.py
-
---- /dev/null
-+++ b/setup.py
-@@ -0,0 +1,18 @@
-+#!/usr/bin/env python
-+
-+import setuptools
-+
-+setuptools.setup(
-+      name='exceptiongroup',
-+      version='1.1.0',
-+      description='Backport of PEP 654 (exception groups)',
-+      author='Alex Grönholm',
-+      author_email='Alex Grönholm <alex.gronholm@nextday.fi>',
-+      url='https://github.com/agronholm/exceptiongroup',
-+      packages=['exceptiongroup'],
-+      package_data={'': ['*']},
-+      package_dir={'': 'src'},
-+      extras_require={'test': ['pytest >= 6']},
-+      python_requires='>=3.7',
-+)
-+
index 46c49d7f3e4efb4d6ed6dcdc0341ab3167c18403..899f67d1f91a8cb50c227104ba75f82195ab0720 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=python-gmpy2
 PKG_VERSION:=2.0.8
-PKG_RELEASE:=5
+PKG_RELEASE:=6
 
 PYPI_NAME:=gmpy2
 PYPI_SOURCE_EXT:=zip
@@ -23,7 +23,7 @@ include ../pypi.mk
 include $(INCLUDE_DIR)/package.mk
 include ../python3-package.mk
 
-PYTHON3_PKG_SETUP_ARGS:=--nompfr
+PYTHON3_PKG_BUILD_CONFIG_SETTINGS:=--global-option=--nompfr
 
 define Package/python3-gmpy2
   SECTION:=lang
index e3fa8efcb232347c059fb290f3e2df241861cad2..31d88c9df23d08f7848191a245c25e725d3e0e0f 100644 (file)
@@ -1,5 +1,5 @@
 #
-# Copyright (C) 2018 OpenWrt.org
+# Copyright (C) 2018, 2021, 2023 Jeffery To
 #
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
@@ -8,11 +8,11 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=python-incremental
-PKG_VERSION:=21.3.0
+PKG_VERSION:=22.10.0
 PKG_RELEASE:=1
 
 PYPI_NAME:=incremental
-PKG_HASH:=02f5de5aff48f6b9f665d99d48bfc7ec03b6e3943210de7cfc88856d755d6f57
+PKG_HASH:=912feeb5e0f7e0188e6f42241d2f450002e11bbc0937c65865045854c24c0bd0
 
 PKG_LICENSE:=MIT
 PKG_LICENSE_FILES:=LICENSE
@@ -20,7 +20,9 @@ PKG_MAINTAINER:=Jeffery To <jeffery.to@gmail.com>
 
 include ../pypi.mk
 include $(INCLUDE_DIR)/package.mk
+include $(INCLUDE_DIR)/host-build.mk
 include ../python3-package.mk
+include ../python3-host-build.mk
 
 define Package/python3-incremental
   SECTION:=lang
@@ -28,7 +30,7 @@ define Package/python3-incremental
   SUBMENU:=Python
   TITLE:=Versions your Python projects
   URL:=https://github.com/twisted/incremental
-  DEPENDS:=+python3-light
+  DEPENDS:=+python3-light +python3-distutils +python3-pkg-resources
 endef
 
 define Package/python3-incremental/description
@@ -38,3 +40,4 @@ endef
 $(eval $(call Py3Package,python3-incremental))
 $(eval $(call BuildPackage,python3-incremental))
 $(eval $(call BuildPackage,python3-incremental-src))
+$(eval $(call HostBuild))
index 5c228c004decae069e293f0031cf629318ee5113..b71c6e35f7176bcdfc63fffa5a80221d372519a8 100644 (file)
@@ -1,11 +1,14 @@
---- a/setup.py
-+++ b/setup.py
-@@ -31,7 +31,7 @@ setup(
-         "Programming Language :: Python :: 3.5",
-         "Programming Language :: Python :: 3.6",
-     ],
--    packages=find_packages("src", exclude=("exampleproj",)),
-+    packages=find_packages("src", exclude=("exampleproj", "*.tests", "*.tests.*")),
-     package_dir={"": "src"},
-     extras_require={"scripts": ["click>=6.0", "twisted>=16.4.0"]},
-     license="MIT",
+--- a/setup.cfg
++++ b/setup.cfg
+@@ -30,7 +30,10 @@ zip_safe = False
+ [options.packages.find]
+ where = src
+-exclude = exampleproj
++exclude = 
++      exampleproj
++      *.tests
++      *.tests.*
+ [options.package_data]
+ incremental = py.typed
index a7cfb785e4d221d17816f6b2b82c5bc49e74efbe..8e0abd739102ee718253716a5effc9f10263a792 100644 (file)
@@ -6,7 +6,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=python-intelhex
 PKG_VERSION:=2.2.1
-PKG_RELEASE:=3
+PKG_RELEASE:=4
 
 PYPI_NAME:=IntelHex
 PYPI_SOURCE_NAME:=intelhex
@@ -34,8 +34,6 @@ define Package/python3-intelhex/description
   scratch and manipulate data from Intel HEX file format.
 endef
 
-PYTHON3_PKG_SETUP_ARGS:=
-
 $(eval $(call Py3Package,python3-intelhex))
 $(eval $(call BuildPackage,python3-intelhex))
 $(eval $(call BuildPackage,python3-intelhex-src))
index 67121c7a5d6bc569ae3e40234b7b6a23cbf40f51..4c6e44d4680c7a1c585bd2a4e6b68082f3de0b79 100644 (file)
@@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=python-jsonschema
 PKG_VERSION:=4.17.3
-PKG_RELEASE:=2
+PKG_RELEASE:=3
 
 PYPI_NAME:=jsonschema
 PKG_HASH:=0f864437ab8b6076ba6707453ef8f98a6a0d512a80e93f8abdb676f737ecb60d
@@ -11,7 +11,7 @@ PKG_MAINTAINER:=Javier Marcet <javier@marcet.info>
 PKG_LICENSE:=MIT
 PKG_LICENSE_FILES:=COPYING
 
-PKG_BUILD_DEPENDS:=python-setuptools-scm/host
+PKG_BUILD_DEPENDS:=python-hatchling/host python-hatch-vcs/host python-hatch-fancy-pypi-readme/host
 
 include ../pypi.mk
 include $(INCLUDE_DIR)/package.mk
diff --git a/lang/python/python-jsonschema/patches/001-setup.patch b/lang/python/python-jsonschema/patches/001-setup.patch
deleted file mode 100644 (file)
index 0451315..0000000
+++ /dev/null
@@ -1,104 +0,0 @@
---- /dev/null
-+++ b/setup.py
-@@ -0,0 +1,2 @@
-+from setuptools import setup
-+setup(use_scm_version=True)
---- /dev/null
-+++ b/setup.cfg
-@@ -0,0 +1,96 @@
-+[metadata]
-+name = jsonschema
-+url = https://github.com/python-jsonschema/jsonschema
-+project_urls = 
-+      Funding = https://github.com/sponsors/Julian
-+      Tidelift = https://tidelift.com/subscription/pkg/pypi-jsonschema?utm_source=pypi-jsonschema&utm_medium=referral&utm_campaign=pypi-link
-+      Documentation = https://python-jsonschema.readthedocs.io/
-+      Changelog = https://github.com/python-jsonschema/jsonschema/blob/main/CHANGELOG.rst
-+      Source = https://github.com/python-jsonschema/jsonschema
-+      Issues = https://github.com/python-jsonschema/jsonschema/issues/
-+description = An implementation of JSON Schema validation for Python
-+long_description = file: README.rst
-+long_description_content_type = text/x-rst
-+author = Julian Berman
-+author_email = Julian+jsonschema@GrayVines.com
-+license = MIT
-+classifiers = 
-+      Development Status :: 5 - Production/Stable
-+      Intended Audience :: Developers
-+      License :: OSI Approved :: MIT License
-+      Operating System :: OS Independent
-+      Programming Language :: Python
-+      Programming Language :: Python :: 3.7
-+      Programming Language :: Python :: 3.8
-+      Programming Language :: Python :: 3.9
-+      Programming Language :: Python :: 3.10
-+      Programming Language :: Python :: 3.11
-+      Programming Language :: Python :: Implementation :: CPython
-+      Programming Language :: Python :: Implementation :: PyPy
-+
-+[options]
-+packages = find:
-+python_requires = >=3.7
-+install_requires = 
-+      attrs>=17.4.0
-+      importlib_metadata;python_version<'3.8'
-+      importlib_resources>=1.4.0;python_version<'3.9'
-+      pyrsistent>=0.14.0,!=0.17.0,!=0.17.1,!=0.17.2
-+      typing_extensions;python_version<'3.8'
-+
-+[options.extras_require]
-+format = 
-+      fqdn
-+      idna
-+      isoduration
-+      jsonpointer>1.13
-+      rfc3339-validator
-+      rfc3987
-+      uri_template
-+      webcolors>=1.11
-+format_nongpl = 
-+      fqdn
-+      idna
-+      isoduration
-+      jsonpointer>1.13
-+      rfc3339-validator
-+      rfc3986-validator>0.1.0
-+      uri_template
-+      webcolors>=1.11
-+
-+[options.entry_points]
-+console_scripts = 
-+      jsonschema = jsonschema.cli:main
-+
-+[options.package_data]
-+jsonschema = schemas/*.json, schemas/*/*.json
-+
-+[flake8]
-+ban-relative-imports = true
-+inline-quotes = "
-+exclude = 
-+      jsonschema/__init__.py
-+      jsonschema/_reflect.py
-+ignore = 
-+      B008,  # Barring function calls in default args. Ha, no.
-+      B306,  # See https://github.com/PyCQA/flake8-bugbear/issues/131
-+      W503,  # (flake8 default) old PEP8 boolean operator line breaks
-+
-+[mypy]
-+ignore_missing_imports = true
-+
-+[pydocstyle]
-+match = (?!(test_|_|compat|cli)).*\.py  # see PyCQA/pydocstyle#323
-+add-select = 
-+      D410, # Trailing whitespace plz
-+add-ignore = 
-+      D107,  # Hah, no
-+      D200,  # 1-line docstrings don't need to be on one line
-+      D202,  # One line is fine.
-+      D412,  # Trailing whitespace plz
-+      D413,  # No trailing whitespace plz
-+
-+[egg_info]
-+tag_build = 
-+tag_date = 0
-+
index c727c20aab14985cc7512e21f8931b4f969a9b0e..6348bbdc75213299b984c3fb76ffa521187dfc89 100644 (file)
@@ -32,7 +32,7 @@ define Package/python3-packaging
   SUBMENU:=Python
   TITLE:=Core utilities for Python packages
   URL:=https://github.com/pypa/packaging
-  DEPENDS:=+python3-light +python3-logging +python3-urllib @BROKEN
+  DEPENDS:=+python3-light +python3-logging +python3-urllib
 endef
 
 define Package/python3-packaging/description
index 7cf71460479036e0ed3045b542ee10e6413b5113..03531ff9b2c87685c1d941cd3a8281d2b80f97d4 100644 (file)
@@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=python-paramiko
 PKG_VERSION:=2.12.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PYPI_NAME:=paramiko
 PKG_HASH:=376885c05c5d6aa6e1f4608aac2a6b5b0548b1add40274477324605903d9cd49
@@ -15,8 +15,6 @@ include ../pypi.mk
 include $(INCLUDE_DIR)/package.mk
 include ../python3-package.mk
 
-PYTHON3_PKG_SETUP_ARGS:=
-
 define Package/python3-paramiko
   SECTION:=lang
   CATEGORY:=Languages
index 7eaf15e101770c62ab439b037d8003da686427a0..cff3d3ed6442dfe207d04e35064af072aec88560 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=python-parsley
 PKG_VERSION:=1.3
-PKG_RELEASE:=5
+PKG_RELEASE:=6
 
 PYPI_NAME:=Parsley
 PKG_HASH:=9444278d47161d5f2be76a767809a3cbe6db4db822f46a4fd7481d4057208d41
@@ -22,8 +22,6 @@ include ../pypi.mk
 include $(INCLUDE_DIR)/package.mk
 include ../python3-package.mk
 
-PYTHON3_PKG_SETUP_ARGS:=
-
 define Package/python3-parsley
   SECTION:=lang
   CATEGORY:=Languages
diff --git a/lang/python/python-pkgconfig/Makefile b/lang/python/python-pkgconfig/Makefile
new file mode 100644 (file)
index 0000000..d202103
--- /dev/null
@@ -0,0 +1,48 @@
+#
+# Copyright (C) 2023 Jeffery To
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=python-pkgconfig
+PKG_VERSION:=1.5.5
+PKG_RELEASE:=1
+
+PYPI_NAME:=pkgconfig
+PKG_HASH:=deb4163ef11f75b520d822d9505c1f462761b4309b1bb713d08689759ea8b899
+
+PKG_LICENSE:=MIT
+PKG_LICENSE_FILES:=LICENSE
+PKG_MAINTAINER:=Jeffery To <jeffery.to@gmail.com>
+
+PKG_HOST_ONLY:=1
+HOST_BUILD_DEPENDS:=python3/host python-build/host python-installer/host python-poetry-core/host
+
+include ../pypi.mk
+include $(INCLUDE_DIR)/package.mk
+include $(INCLUDE_DIR)/host-build.mk
+include ../python3-package.mk
+include ../python3-host-build.mk
+
+define Package/python3-pkgconfig
+  SECTION:=lang
+  CATEGORY:=Languages
+  SUBMENU:=Python
+  TITLE:=Interface Python with pkg-config
+  URL:=https://github.com/matze/pkgconfig
+  DEPENDS:=+python3-light
+  BUILDONLY:=1
+endef
+
+define Package/python3-pkgconfig/description
+pkgconfig is a Python module to interface with the pkg-config command
+line tool for Python 3.3+.
+endef
+
+$(eval $(call Py3Package,python3-pkgconfig))
+$(eval $(call BuildPackage,python3-pkgconfig))
+$(eval $(call BuildPackage,python3-pkgconfig-src))
+$(eval $(call HostBuild))
index c9ae8d95e127efbc00d8da6756b7007e01626585..5717cf74f2962951cf1e0059f87528a0cbb56c46 100644 (file)
@@ -4,16 +4,14 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=python-pycrate
-PKG_VERSION:=0.5.5
+PKG_VERSION:=0.6.0
 PKG_RELEASE:=1
 
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=https://github.com/P1sec/pycrate/archive/refs/tags/$(PKG_VERSION).tar.gz?
-PKG_HASH:=73072234359cdc11d7c6790c367d5565fdaea284a07df882b8b5295f2a4f83d1
+PYPI_NAME:=pycrate
+PKG_HASH:=b49738c02a3f93ba9f76c0dac82b689a5341882814b36c714e9600e9f560daf7
 
-PKG_BUILD_DIR:=$(BUILD_DIR)/pycrate-$(PKG_VERSION)
-
-PKG_LICENSE:=LGPL-2.1
+PKG_LICENSE:=LGPL-2.1-or-later
+PKG_LICENSE_FILES:=license.txt
 PKG_MAINTAINER:=David Bauer <mail@david-bauer.net>
 
 include ../pypi.mk
@@ -21,10 +19,10 @@ include $(INCLUDE_DIR)/package.mk
 include ../python3-package.mk
 
 define Package/python3-pycrate
-  SECTION:=lang-python
+  SECTION:=lang
   CATEGORY:=Languages
   SUBMENU:=Python
-  TITLE:=python3-pycrate
+  TITLE:=A software suite to handle various data formats
   URL:=https://github.com/P1sec/pycrate
   DEPENDS:=+python3-light
 endef
index d3469cc43dea52ff6f7b9722bc50c8bd8a08f5a0..72d8debcb5c02fca320f0dac2b9ff24870d82977 100644 (file)
@@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=python-pynacl
 PKG_VERSION:=1.5.0
-PKG_RELEASE:=2
+PKG_RELEASE:=3
 
 PYPI_NAME:=PyNaCl
 PKG_HASH:=8ac7448f09ab85811607bdd21ec2464495ac8b7c66d146bf545b0f08fb9220ba
@@ -13,7 +13,7 @@ PKG_LICENSE_FILES:=LICENSE
 
 PKG_BUILD_DEPENDS:=libffi/host python-cffi/host  # cffi>=1.4.1
 
-PYTHON3_PKG_SETUP_VARS:= SODIUM_INSTALL=system
+PYTHON3_PKG_BUILD_VARS:=SODIUM_INSTALL=system
 
 include ../pypi.mk
 include $(INCLUDE_DIR)/package.mk
index 55edae8f59e7165a7b2608c71da2cb7e27ea151c..2b464337dbfc2c02810d7673e33f51ab44af15be 100644 (file)
@@ -8,11 +8,11 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=python-pytest-forked
-PKG_VERSION:=1.3.0
-PKG_RELEASE:=3
+PKG_VERSION:=1.6.0
+PKG_RELEASE:=1
 
 PYPI_NAME:=pytest-forked
-PKG_HASH:=6aa9ac7e00ad1a539c41bec6d21011332de671e938c7637378ec9710204e37ca
+PKG_HASH:=4dafd46a9a600f65d822b8f605133ecf5b3e1941ebb3588e943b4e3eb71a5a3f
 
 PKG_MAINTAINER:=Jan Pavlinec <jan.pavlinec1@gmail.com>
 PKG_LICENSE:=MIT
index bbd8f8819b63750b9ec7416cbb01354f8e42af22..dd978d248f8c884fc43f30a954095aec14181159 100644 (file)
@@ -8,11 +8,11 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=python-pytest
-PKG_VERSION:=6.2.3
-PKG_RELEASE:=2
+PKG_VERSION:=7.3.0
+PKG_RELEASE:=1
 
 PYPI_NAME:=pytest
-PKG_HASH:=671238a46e4df0f3498d1c3270e5deb9b32d25134c99b7d75370a68cfbe9b634
+PKG_HASH:=58ecc27ebf0ea643ebfdf7fb1249335da761a00c9f955bcd922349bcb68ee57d
 
 PKG_MAINTAINER:=Jan Pavlinec <jan.pavlinec1@gmail.com>
 PKG_LICENSE:=MIT
@@ -32,14 +32,11 @@ define Package/python3-pytest
   URL:=https://docs.pytest.org/en/latest/
   DEPENDS:= \
        +python3 \
-       +python3-more-itertools \
-       +python3-py \
-       +python3-attrs \
        +python3-pluggy \
        +python3-packaging \
-       +python3-toml \
-       +python3-iniconfig \
-       @BROKEN
+       +python3-tomli \
+       +python3-exceptiongroup \
+       +python3-iniconfig
 endef
 
 define Package/python3-pytest/description
index e1b486afed273e087131f57e2d33990c5fd361a5..03ef35633bedb8e039f634b47ddc488b1af4929e 100644 (file)
@@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=python-stem
 PKG_VERSION:=1.8.1
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PYPI_NAME:=stem
 PKG_HASH:=81d43a7c668ba9d7bc1103b2e7a911e9d148294b373d27a59ae8da79ef7a3e2f
@@ -11,8 +11,6 @@ PKG_MAINTAINER:=Javier Marcet <javier@marcet.info>
 PKG_LICENSE:=LGPL-3.0-only
 PKG_LICENSE_FILES:=LICENSE
 
-PYTHON3_PKG_SETUP_ARGS:=
-
 include ../pypi.mk
 include $(INCLUDE_DIR)/package.mk
 include ../python3-package.mk
index b122bc2b75bef51b74ac808355e3c4fb3375aec3..1a4708d00e2414f5ae47a9602274c314f0a1156a 100644 (file)
@@ -8,11 +8,11 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=python-trove-classifiers
-PKG_VERSION:=2023.3.9
+PKG_VERSION:=2023.5.2
 PKG_RELEASE:=1
 
 PYPI_NAME:=trove-classifiers
-PKG_HASH:=ee42f2f8c1d4bcfe35f746e472f07633570d485fab45407effc0379270a3bb03
+PKG_HASH:=c46d6e40a9581599b16c712e0164fec3764872a4085c673c07559787caedb867
 
 PKG_LICENSE:=Apache-2.0
 PKG_LICENSE_FILES:=LICENSE
index 8c78b028452bfcb43ddb9dfc2324bffe07e7c4a6..1b54cb0c47d7969f8227fccace0a81551298cb43 100644 (file)
@@ -1,5 +1,6 @@
 #
-# Copyright (C) 2006-2011, 2015-2018 OpenWrt.org
+# Copyright (C) 2006-2011 OpenWrt.org
+# Copyright (C) 2015-2016, 2018-2023 Jeffery To
 #
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
@@ -8,11 +9,11 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=python-twisted
-PKG_VERSION:=22.4.0
+PKG_VERSION:=22.10.0
 PKG_RELEASE:=1
 
 PYPI_NAME:=Twisted
-PKG_HASH:=a047990f57dfae1e0bd2b7df2526d4f16dcdc843774dc108b78c52f2a5f13680
+PKG_HASH:=32acbd40a94f5f46e7b42c109bfae2b302250945561783a8b7a059048f2d4d31
 
 PKG_BUILD_DEPENDS:=libtirpc
 
@@ -21,6 +22,8 @@ PKG_LICENSE_FILES:=LICENSE
 PKG_MAINTAINER:=Jeffery To <jeffery.to@gmail.com>
 PKG_CPE_ID:=cpe:/a:twistedmatrix:twisted
 
+PKG_BUILD_DEPENDS:=python-incremental/host
+
 include ../pypi.mk
 include $(INCLUDE_DIR)/package.mk
 include ../python3-package.mk
@@ -39,9 +42,9 @@ define Package/python3-twisted
       +python3-bcrypt \
       +python3-constantly \
       +python3-cryptography \
+      +python3-hyperlink \
       +python3-idna \
       +python3-incremental \
-      +python3-hyperlink \
       +python3-pkg-resources \
       +python3-pyasn1 \
       +python3-pyopenssl \
index 2a913ece9d9d3acf9a3655de07488df2cc34a5db..a1a37771b226ad24147c49c3675c2deb7f1a413b 100644 (file)
@@ -1,6 +1,6 @@
 --- a/setup.cfg
 +++ b/setup.cfg
-@@ -112,7 +112,6 @@ console_scripts =
+@@ -115,7 +115,6 @@ console_scripts =
        conch = twisted.conch.scripts.conch:run
        mailmail = twisted.mail.scripts.mailmail:run
        pyhtmlizer = twisted.scripts.htmlizer:run
index 08507c3909f609500c28b74976fb6417818c2c59..3ec59fd484b88eb47050377834c7349fc516ed5c 100644 (file)
@@ -1,6 +1,6 @@
 --- a/setup.cfg
 +++ b/setup.cfg
-@@ -104,6 +104,9 @@ mypy =
+@@ -107,6 +107,9 @@ mypy =
  
  [options.packages.find]
  where = src
@@ -10,7 +10,7 @@
  
  [options.entry_points]
  console_scripts = 
-@@ -123,6 +126,7 @@ console_scripts =
+@@ -126,6 +129,7 @@ console_scripts =
        *.pxi
        *.pyx
        build.bat
index 5f511d54bb9e72474373e78fd6a9509bb619220f..5bf3273aec1608bdd4d9e3dafa21011c3ab3a32c 100644 (file)
@@ -8,18 +8,19 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=python-typing-extensions
-PKG_VERSION:=3.10.0.0
+PKG_VERSION:=4.5.0
 PKG_RELEASE:=1
 
 PYPI_NAME:=typing-extensions
 PYPI_SOURCE_NAME:=typing_extensions
-PKG_HASH:=50b6f157849174217d0656f99dc82fe932884fb250826c18350e159ec6cdf342
+PKG_HASH:=5cb5f4a79139d699607b3ef622a1dedafa84e115ab0024e0d9c044a9479ca7cb
 
-PKG_MAINTAINER:=Jan Pavlinec <jan.pavlinec1@gmail.com>
+PKG_MAINTAINER:=Jan Pavlinec <jan.pavlinec1@gmail.com>, Jeffery To <jeffery.to@gmail.com>
 PKG_LICENSE:=PSF-2.0
 PKG_LICENSE_FILES:=LICENSE
 
-HOST_BUILD_DEPENDS:=python3/host python-build/host python-installer/host python-wheel/host
+PKG_BUILD_DEPENDS:=python-flit-core/host
+HOST_BUILD_DEPENDS:=python3/host python-build/host python-installer/host python-flit-core/host
 
 include ../pypi.mk
 include $(INCLUDE_DIR)/package.mk
index 161440a04f272e5fc42a47949bd5876c42fc73c0..0e96da20c8278fb0eebfc7367813704c98d1bc5a 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=python-ubus
 PKG_VERSION:=0.1.1
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PYPI_NAME:=ubus
 PKG_HASH:=7e57bda989bc35b48c7075d03ec2818226e722bbf1bde138d7e7ea26d462682a
@@ -18,6 +18,8 @@ PKG_MAINTAINER:=Erik Larsson <who+openwrt@cnackers.org>
 PKG_LICENSE:=LGPL-2.1-or-later
 PKG_LICENSE_FILES:=LICENSE
 
+PYTHON3_PKG_FORCE_DISTUTILS_SETUP:=1
+
 include ../pypi.mk
 include $(INCLUDE_DIR)/package.mk
 include ../python3-package.mk
index 4c2cbd7be4c432bb106bb66a14cf096bb30d8b87..1731b33fc03532878e2e5b8ffdd5c04882e7d03a 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=python-yaml
 PKG_VERSION:=6.0
-PKG_RELEASE:=2
+PKG_RELEASE:=4
 
 PYPI_NAME:=PyYAML
 PKG_HASH:=68fb519c14306fec9720a2a5b45bc9f0c8d1b9c72adf45c37baedfcd949c35a2
@@ -38,8 +38,7 @@ define Package/python3-yaml/description
   PyYAML is a YAML parser and emitter for the Python programming language.
 endef
 
-PYTHON3_PKG_SETUP_GLOBAL_ARGS:=--with-libyaml
-PYTHON3_PKG_SETUP_ARGS:=
+PYTHON3_PKG_BUILD_VARS:=PYYAML_FORCE_LIBYAML=1
 
 $(eval $(call Py3Package,python3-yaml))
 $(eval $(call BuildPackage,python3-yaml))
index 54f9bde1e1a44f8706bffbe956e91b45b6682a2b..b272c28ca1ab23d928c42480260c1a58b9a376bc 100644 (file)
@@ -98,12 +98,6 @@ HOST_PYTHON3_PIP_VARS:= \
        PIP_CONFIG_FILE=/dev/null \
        PIP_DISABLE_PIP_VERSION_CHECK=1
 
-define SetupPyShim
-       if [ -f $(1)/pyproject.toml ] && [ ! -f $(1)/setup.py ] ; then \
-               $(CP) $(python3_mk_path)setup.py.shim $(1)setup.py ; \
-       fi
-endef
-
 # Multiple concurrent pip processes can lead to errors or unexpected results: https://github.com/pypa/pip/issues/2361
 # $(1) => packages to install
 define HostPython3/PipInstall
index f2336b8fcf1569c26a12bbfde188c3b390c4af04..d5d4f8a0f8fc204b041a151d3c1bf1904fac48f1 100644 (file)
@@ -56,18 +56,6 @@ define Python3/Run
        $(HOST_PYTHON3_BIN) $(2)
 endef
 
-# $(1) => build subdir
-# $(2) => additional arguments to setup.py
-# $(3) => additional variables
-define Python3/ModSetup
-       $(INSTALL_DIR) $(PKG_INSTALL_DIR)/$(PYTHON3_PKG_DIR)
-       $(call SetupPyShim,$(PKG_BUILD_DIR)/$(strip $(1)))
-       $(call Python3/Run, \
-               $(PKG_BUILD_DIR)/$(strip $(1)), \
-               setup.py $(2), \
-               $(3) PY_PKG_VERSION=$(PKG_VERSION))
-endef
-
 define Python3/FixShebang
        $(SED) "1"'!'"b;s,^#"'!'".*python.*,#"'!'"/usr/bin/python3," -i --follow-symlinks $(1)
 endef
@@ -189,10 +177,26 @@ endef
 
 # Py3Build
 
-PYTHON3_PKG_SETUP_DIR ?=
-PYTHON3_PKG_SETUP_GLOBAL_ARGS ?=
-PYTHON3_PKG_SETUP_ARGS ?= --single-version-externally-managed
-PYTHON3_PKG_SETUP_VARS ?=
+PYTHON3_PKG_BUILD?=1
+PYTHON3_PKG_FORCE_DISTUTILS_SETUP?=
+
+PYTHON3_PKG_SETUP_DIR?=
+PYTHON3_PKG_SETUP_GLOBAL_ARGS?=
+PYTHON3_PKG_SETUP_ARGS?=--single-version-externally-managed
+PYTHON3_PKG_SETUP_VARS?=
+
+PYTHON3_PKG_BUILD_CONFIG_SETTINGS?=
+PYTHON3_PKG_BUILD_VARS?=$(PYTHON3_PKG_SETUP_VARS)
+PYTHON3_PKG_BUILD_ARGS?=
+PYTHON3_PKG_BUILD_PATH?=$(PYTHON3_PKG_SETUP_DIR)
+
+PYTHON3_PKG_INSTALL_VARS?=
+
+PYTHON3_PKG_WHEEL_NAME?=$(subst -,_,$(if $(PYPI_SOURCE_NAME),$(PYPI_SOURCE_NAME),$(PKG_NAME)))
+PYTHON3_PKG_WHEEL_VERSION?=$(PKG_VERSION)
+
+PYTHON3_PKG_BUILD_DIR?=$(PKG_BUILD_DIR)/$(PYTHON3_PKG_BUILD_PATH)
+
 
 PYTHON3_PKG_HOST_PIP_INSTALL_ARGS = \
        $(foreach req,$(HOST_PYTHON3_PACKAGE_BUILD_DEPENDS), \
@@ -224,21 +228,58 @@ define Py3Build/InstallBuildDepends
        )
 endef
 
-define Py3Build/Compile/Default
+define Py3Build/Compile/Distutils
        $(call Py3Build/InstallBuildDepends)
-       $(call Python3/ModSetup, \
-               $(PYTHON3_PKG_SETUP_DIR), \
-               $(PYTHON3_PKG_SETUP_GLOBAL_ARGS) \
-               install --prefix="/usr" --root="$(PKG_INSTALL_DIR)" \
-               $(PYTHON3_PKG_SETUP_ARGS), \
+       $(INSTALL_DIR) $(PKG_INSTALL_DIR)/$(PYTHON3_PKG_DIR)
+       $(call Python3/Run, \
+               $(PKG_BUILD_DIR)/$(strip $(PYTHON3_PKG_SETUP_DIR)), \
+               setup.py \
+                       $(PYTHON3_PKG_SETUP_GLOBAL_ARGS) \
+                       install \
+                       --prefix="/usr" \
+                       --root="$(PKG_INSTALL_DIR)" \
+                       $(PYTHON3_PKG_SETUP_ARGS) \
+                       , \
                $(PYTHON3_PKG_SETUP_VARS) \
        )
 endef
 
-Py3Build/Configure=$(Py3Build/Configure/Default)
+define Py3Build/Compile/Default
+       $(call Py3Build/InstallBuildDepends)
+       $(call Python3/Run, \
+               $(PKG_BUILD_DIR), \
+               -m build \
+                       --no-isolation \
+                       --outdir "$(PYTHON3_PKG_BUILD_DIR)"/openwrt-build \
+                       --wheel \
+                       $(foreach setting,$(PYTHON3_PKG_BUILD_CONFIG_SETTINGS),--config-setting=$(setting)) \
+                       $(PYTHON3_PKG_BUILD_ARGS) \
+                       "$(PYTHON3_PKG_BUILD_DIR)" \
+                       , \
+               $(PYTHON3_PKG_BUILD_VARS) \
+       )
+endef
+
+define Py3Build/Install/Default
+       $(call Python3/Run, \
+               $(PKG_BUILD_DIR), \
+               -m installer \
+                       --destdir "$(PKG_INSTALL_DIR)" \
+                       --no-compile-bytecode \
+                       --prefix /usr \
+                       "$(PYTHON3_PKG_BUILD_DIR)"/openwrt-build/$(PYTHON3_PKG_WHEEL_NAME)-$(PYTHON3_PKG_WHEEL_VERSION)-*.whl \
+                       , \
+               $(PYTHON3_PKG_INSTALL_VARS) \
+       )
+endef
+
 Py3Build/Compile=$(Py3Build/Compile/Default)
+Py3Build/Install=$(Py3Build/Install/Default)
 
-PYTHON3_PKG_BUILD ?= 1
+ifeq ($(strip $(PYTHON3_PKG_FORCE_DISTUTILS_SETUP)),1)
+  Py3Build/Compile=$(Py3Build/Compile/Distutils)
+  Py3Build/Install:=:
+endif
 
 ifeq ($(strip $(PYTHON3_PKG_BUILD)),1)
   ifeq ($(PY3),stdlib)
@@ -246,4 +287,5 @@ ifeq ($(strip $(PYTHON3_PKG_BUILD)),1)
   endif
   Hooks/Configure/Post+=Py3Build/CheckHostPipVersionMatch
   Build/Compile=$(Py3Build/Compile)
+  Build/Install=$(Py3Build/Install)
 endif
index 1f8cf55e65c675dbd9aae4639260956abf599bf8..e6edfd847068dd1ad31ae8b28fa080fe270637dd 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=python3-pyroute2
 PKG_VERSION:=0.5.16
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PYPI_NAME:=pyroute2
 PKG_HASH:=fe681a2d008cac815b9f287250d69a333fbfc2b2d89c37d58798104057149989
@@ -43,8 +43,6 @@ define Package/python3-pyroute2/description
   but now it supports many netlink protocols.
 endef
 
-PYTHON3_PKG_SETUP_ARGS:=
-
 $(eval $(call Py3Package,python3-pyroute2))
 $(eval $(call BuildPackage,python3-pyroute2))
 $(eval $(call BuildPackage,python3-pyroute2-src))
index 611e4c12d1ed54da3c6a1d1092c84d431fcfbee7..1fd8f43d1f54bc14047255552239856679a3d916 100644 (file)
@@ -11,7 +11,7 @@ include $(TOPDIR)/rules.mk
 include ../python3-version.mk
 
 PKG_NAME:=python3
-PKG_RELEASE:=3
+PKG_RELEASE:=4
 PKG_VERSION:=$(PYTHON3_VERSION).$(PYTHON3_VERSION_MICRO)
 
 PKG_SOURCE:=Python-$(PKG_VERSION).tar.xz
@@ -45,7 +45,7 @@ PKG_CONFIG_DEPENDS:= \
        CONFIG_PACKAGE_python3-pkg-resources \
        CONFIG_PACKAGE_python3-setuptools CONFIG_PACKAGE_python3-pip
 
-PKG_BUILD_DEPENDS:=bluez python3/host
+PKG_BUILD_DEPENDS:=bluez python3/host python-build/host python-installer/host python-wheel/host
 HOST_BUILD_DEPENDS:=bzip2/host libffi/host
 
 include $(INCLUDE_DIR)/host-build.mk
diff --git a/lang/python/setup.py.shim b/lang/python/setup.py.shim
deleted file mode 100644 (file)
index b309abc..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-import os
-import setuptools
-
-# FIXME: see about getting rid of PY_PKG_VERSION asap when setuptools handles this correctly
-if __name__ == "__main__":
-    setuptools.setup(version=os.environ['PY_PKG_VERSION'])
index 076423fb0f982bef88fb6830ee24cbd4a12cf123..6a134763f1a6df21964c3471d43d0a092ce87181 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=glib2
 PKG_VERSION:=2.74.0
-PKG_RELEASE:=3
+PKG_RELEASE:=4
 
 PKG_SOURCE:=glib-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=@GNOME/glib/$(word 1,$(subst ., ,$(PKG_VERSION))).$(word 2,$(subst ., ,$(PKG_VERSION)))
@@ -21,11 +21,13 @@ PKG_LICENSE_FILES:=COPYING
 PKG_CPE_ID:=cpe:/a:gnome:glib
 
 PKG_BUILD_DIR:=$(BUILD_DIR)/glib-$(PKG_VERSION)
-HOST_BUILD_DIR:=$(BUILD_DIR_HOST)/glib-$(PKG_VERSION)
 PKG_CONFIG_DEPENDS:=CONFIG_BUILD_NLS
 PKG_FORTIFY_SOURCE:=0
 PKG_BUILD_FLAGS:=gc-sections
 
+HOST_BUILD_DIR:=$(BUILD_DIR_HOST)/glib-$(PKG_VERSION)
+HOST_BUILD_DEPENDS:=pcre2/host libffi/host
+
 include $(INCLUDE_DIR)/host-build.mk
 include $(INCLUDE_DIR)/package.mk
 include $(INCLUDE_DIR)/nls.mk
@@ -61,7 +63,7 @@ COMP_ARGS= \
        -Dglib_checks=true \
        -Dlibelf=disabled
 
-MESON_HOST_ARGS += $(COMP_ARGS) -Dxattr=false -Ddefault_library=static -Dnls=disabled -Dwrap_mode=forcefallback
+MESON_HOST_ARGS += $(COMP_ARGS) -Dxattr=false -Ddefault_library=static -Dnls=disabled
 MESON_ARGS += $(COMP_ARGS) -Dxattr=true -Db_lto=true -Ddefault_library=both -Dnls=$(if $(CONFIG_BUILD_NLS),en,dis)abled
 
 define Build/InstallDev
index 3246bb254c76396c919ac1a5f2c9389ac464d8bd..dc94591c2dd4793337fd701effd520b6232c5a69 100644 (file)
@@ -6,13 +6,13 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=gnutls
-PKG_VERSION:=3.7.8
-PKG_RELEASE:=2
+PKG_VERSION:=3.8.0
+PKG_RELEASE:=1
 PKG_BUILD_FLAGS:=no-mips16
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
-PKG_SOURCE_URL:=https://www.gnupg.org/ftp/gcrypt/gnutls/v3.7
-PKG_HASH:=c58ad39af0670efe6a8aee5e3a8b2331a1200418b64b7c51977fb396d4617114
+PKG_SOURCE_URL:=https://www.gnupg.org/ftp/gcrypt/gnutls/v3.8
+PKG_HASH:=0ea0d11a1660a1e63f960f157b197abe6d0c8cb3255be24e1fb3815930b9bdc5
 
 PKG_MAINTAINER:=Nikos Mavrogiannopoulos <nmav@gnutls.org>
 PKG_LICENSE:=LGPL-2.1-or-later
index 59ce29ee25932faf9a7596d59190182acfabd4ef..ac66a71bb53d4999b2878bf56771f070d403c916 100644 (file)
      [AC_COMPILE_IFELSE(
 --- a/src/gl/m4/gnulib-comp.m4
 +++ b/src/gl/m4/gnulib-comp.m4
-@@ -1188,7 +1188,7 @@ changequote([, ])dnl
+@@ -1252,7 +1252,7 @@ changequote([, ])dnl
    gl_UNISTD_MODULE_INDICATOR([sleep])
    AC_CHECK_DECLS_ONCE([alarm])
    AC_REQUIRE([gt_TYPE_WCHAR_T])
 -  AC_REQUIRE([gt_TYPE_WINT_T])
 +  AC_REQUIRE([gt_TYPE_WINT_T_GNUTLS])
    gl_FUNC_STRERROR_R
-   if test $HAVE_DECL_STRERROR_R = 0 || test $REPLACE_STRERROR_R = 1; then
+   AS_IF([test $HAVE_DECL_STRERROR_R = 0 || test $REPLACE_STRERROR_R = 1], [
      AC_LIBOBJ([strerror_r])
index 28d5fc0ff3ccca49a854b7a16f01d868aa95f103..6caeabc488413ddbdc6d86b2787ab0f49743815d 100644 (file)
@@ -14,7 +14,7 @@ Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
 
 --- a/Makefile.am
 +++ b/Makefile.am
-@@ -57,7 +57,7 @@ if ENABLE_DOC
+@@ -48,7 +48,7 @@ if ENABLE_DOC
  SUBDIRS += doc
  endif
  
diff --git a/libs/libopen62541/Config.in b/libs/libopen62541/Config.in
new file mode 100644 (file)
index 0000000..83539a4
--- /dev/null
@@ -0,0 +1,118 @@
+menu "Configuration"
+        depends on PACKAGE_libopen62541
+
+config LIBOPEN62541_UA_ENABLE_SUBSCRIPTIONS
+       bool "Enable subscriptions support"
+       default y
+
+config LIBOPEN62541_UA_ENABLE_SUBSCRIPTIONS_EVENTS
+        bool "Use events for subscriptions (EXPERIMENTAL)"
+       depends on LIBOPEN62541_UA_ENABLE_SUBSCRIPTIONS && (LIBOPEN62541_NAMESPACEZERO_FULL || LIBOPEN62541_NAMESPACEZERO_REDUCED)
+
+config LIBOPEN62541_UA_ENABLE_SUBSCRIPTIONS_ALARMS_CONDITIONS
+        bool "Use alarms and conditions for subscriptions (EXPERIMENTAL)"
+        depends on LIBOPEN62541_UA_ENABLE_SUBSCRIPTIONS_EVENTS && LIBOPEN62541_NAMESPACEZERO_FULL
+
+config LIBOPEN62541_UA_ENABLE_METHODCALLS
+       bool "Enable the Method service set"
+       default y
+
+config LIBOPEN62541_UA_ENABLE_PARSING
+       bool "Enable parsing human readable formats of builtin data types"
+       default y
+
+config LIBOPEN62541_UA_ENABLE_NODEMANAGEMENT
+        bool "Enable dynamic addition and removal of nodes at runtime"
+        default y
+
+config LIBOPEN62541_UA_ENABLE_IMMUTABLE_NODES
+        bool "Enable immutable nodes"
+        default y
+
+config LIBOPEN62541_UA_ENABLE_DISCOVERY
+        bool "Enable Discovery Service (LDS)"
+        default y
+
+config LIBOPEN62541_UA_ENABLE_DISCOVERY_MULTICAST
+        bool "Enable Discovery Service with multicast support (LDS-ME)"
+        default y
+       depends on LIBOPEN62541_UA_ENABLE_DISCOVERY
+
+config LIBOPEN62541_UA_ENABLE_DISCOVERY_SEMAPHORE
+        bool "Enable Discovery Semaphore support"
+        default y
+       depends on LIBOPEN62541_UA_ENABLE_DISCOVERY
+
+choice
+        prompt "Encryption library"
+        default LIBOPEN62541_NOENCRYPTION
+
+        config LIBOPEN62541_NOENCRYPTION
+                bool "No encryption"
+
+        config LIBOPEN62541_MBDEDTLS
+                bool "Encryption support using mbed TLS"
+
+        config LIBOPEN62541_OPENSSL
+                bool "Encryption support using OpenSSL"
+endchoice
+
+config LIBOPEN62541_UA_ENABLE_ENCRYPTION_TPM2
+       bool "Enable TPM support"
+       depends on LIBOPEN62541_UA_ENABLE_PUBSUB_ENCRYPTION
+
+choice
+       prompt "Namespace zero definition"
+
+       default LIBOPEN62541_NAMESPACEZERO_FULL
+
+       config LIBOPEN62541_NAMESPACEZERO_FULL
+               bool "Full namespace zero"
+
+       config LIBOPEN62541_NAMESPACEZERO_REDUCED
+               bool "Small namespace zero still passing CTT"
+
+       config LIBOPEN62541_NAMESPACEZERO_MINIMAL
+               bool "Barebones namespace zero"
+
+endchoice
+
+config LIBOPEN62541_UA_ENABLE_TYPEDESCRIPTION
+        bool "Add the type and member names to the UA_DataType structure"
+        default y
+
+config LIBOPEN62541_UA_ENABLE_STATUSCODE_DESCRIPTIONS
+        bool "Compile the human-readable name of the StatusCodes into the binary"
+        default y
+
+config LIBOPEN62541_UA_ENABLE_HISTORIZING
+       bool "Enable historical access"
+
+config LIBOPEN62541_UA_ENABLE_PUBSUB
+        bool "Enable OPC UA PubSub support (EXPERIMENTAL)"
+
+config LIBOPEN62541_UA_ENABLE_PUBSUB_DELTAFRAMES
+        bool "PubSub messages differentiate between keyframe and deltaframe messages"
+       depends on LIBOPEN62541_UA_ENABLE_PUBSUB
+
+config LIBOPEN62541_UA_ENABLE_PUBSUB_FILE_CONFIG
+        bool "Enable loading OPC UA PubSub configuration from File/ByteString"
+       depends on LIBOPEN62541_UA_ENABLE_PUBSUB
+
+config LIBOPEN62541_UA_ENABLE_PUBSUB_INFORMATIONMODEL
+        bool "Enable the information model representation of the PubSub configuration"
+       depends on LIBOPEN62541_UA_ENABLE_PUBSUB && (LIBOPEN62541_NAMESPACEZERO_FULL || LIBOPEN62541_NAMESPACEZERO_REDUCED)
+
+config LIBOPEN62541_UA_ENABLE_PUBSUB_MONITORING
+        bool "Enable the experimental PubSub monitoring"
+       depends on LIBOPEN62541_UA_ENABLE_PUBSUB
+
+config LIBOPEN62541_UA_ENABLE_PUBSUB_ETH_UADP
+        bool "Enable the OPC UA Ethernet PubSub support to transport UADP NetworkMessages as payload of Ethernet II frame without IP or UDP headers"
+       depends on LIBOPEN62541_UA_ENABLE_PUBSUB
+
+config LIBOPEN62541_UA_ENABLE_PUBSUB_ENCRYPTION
+        bool "Enable PubSub encryption"
+        depends on LIBOPEN62541_UA_ENABLE_PUBSUB
+
+endmenu
diff --git a/libs/libopen62541/Makefile b/libs/libopen62541/Makefile
new file mode 100644 (file)
index 0000000..02922e6
--- /dev/null
@@ -0,0 +1,107 @@
+#
+# Copyright (C) 2023 Michele Primavera
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=libopen62541
+PKG_VERSION:=1.3.6
+PKG_RELEASE:=1
+
+PKG_SOURCE_PROTO:=git
+PKG_SOURCE_URL:=https://github.com/open62541/open62541.git
+PKG_SOURCE_VERSION:=v$(PKG_VERSION)
+PKG_MIRROR_HASH:=1587eba9e697591a342d91df02acb7460e74617895f810c006ad3d7e4bce21b8
+
+PKG_LICENSE:=MPL-2.0
+PKG_LICENSE_FILES:=LICENSE
+PKG_MAINTAINER:=Michele Primavera <primavera@elmod.it>
+
+CMAKE_INSTALL:=1
+
+define Package/libopen62541/config
+        source "$(SOURCE)/Config.in"
+endef
+
+include $(INCLUDE_DIR)/package.mk
+include $(INCLUDE_DIR)/cmake.mk
+
+ifeq ($(CONFIG_HAS_MIPS16),y)
+  TARGET_CFLAGS += -fstack-check=generic
+endif
+
+define Package/libopen62541
+  SECTION:=libs
+  CATEGORY:=Libraries
+  TITLE:=An OPC UA library
+  URL:=https://open62541.org/
+  DEPENDS:=+librt +zlib +libstdcpp +libpthread +libatomic \
+               +LIBOPEN62541_MBDEDTLS:libmbedtls +LIBOPEN62541_OPENSSL:libopenssl
+endef
+
+define Package/libopen62541/description
+ open62541 (http://open62541.org) is an open source and free implementation of
+ OPC UA (OPC Unified Architecture) written in the common subset of the C99 and
+ C++98 languages. The library is usable with all major compilers and provides
+ the necessary tools to implement dedicated OPC UA clients and servers, or to
+ integrate OPC UA-based communication into existing applications. open62541
+ library is platform independent.
+endef
+
+CMAKE_OPTIONS += \
+       -DBUILD_SHARED_LIBS=ON \
+       -DUA_LOGLEVEL=500 \
+       -DUA_ENABLE_AMALGAMATION=OFF \
+       -DCMAKE_BUILD_TYPE=MinSizeRel \
+       -DUA_ARCHITECTURE=posix \
+       -DUA_BUILD_EXAMPLES=OFF \
+       -DUA_BUILD_TOOLS=OFF \
+       -DUA_BUILD_UNIT_TESTS=OFF \
+       -DOPEN62541_VERSION=v$(PKG_VERSION) \
+       -DUA_ENABLE_SUBSCRIPTIONS=$(if $(CONFIG_LIBOPEN62541_UA_ENABLE_SUBSCRIPTIONS),ON,OFF) \
+       -DUA_ENABLE_SUBSCRIPTIONS_EVENTS=$(if $(CONFIG_LIBOPEN62541_UA_ENABLE_SUBSCRIPTIONS_EVENTS),ON,OFF) \
+       -DUA_ENABLE_SUBSCRIPTIONS_ALARMS_CONDITIONS=$(if $(CONFIG_LIBOPEN62541_UA_ENABLE_SUBSCRIPTIONS_ALARMS_CONDITIONS),ON,OFF) \
+       -DUA_ENABLE_METHODCALLS=$(if $(CONFIG_LIBOPEN62541_UA_ENABLE_METHODCALLS),ON,OFF) \
+       -DUA_ENABLE_PARSING=$(if $(CONFIG_LIBOPEN62541_UA_ENABLE_PARSING),ON,OFF) \
+       -DUA_ENABLE_NODEMANAGEMENT=$(if $(CONFIG_LIBOPEN62541_UA_ENABLE_NODEMANAGEMENT),ON,OFF) \
+       -DUA_ENABLE_IMMUTABLE_NODES=$(if $(CONFIG_LIBOPEN62541_UA_ENABLE_IMMUTABLE_NODES),ON,OFF) \
+       -DUA_ENABLE_DISCOVERY=$(if $(CONFIG_LIBOPEN62541_UA_ENABLE_DISCOVERY),ON,OFF) \
+       -DUA_ENABLE_DISCOVERY_MULTICAST=$(if $(CONFIG_LIBOPEN62541_UA_ENABLE_DISCOVERY_MULTICAST),ON,OFF) \
+       -DUA_ENABLE_DISCOVERY_SEMAPHORE=$(if $(CONFIG_LIBOPEN62541_UA_ENABLE_DISCOVERY_SEMAPHORE),ON,OFF) \
+       -DUA_ENABLE_ENCRYPTION_TPM2=$(if $(CONFIG_LIBOPEN62541_UA_ENABLE_ENCRYPTION_TPM2),ON,OFF) \
+       -DUA_ENABLE_TYPEDESCRIPTION=$(if $(CONFIG_LIBOPEN62541_UA_ENABLE_TYPEDESCRIPTION),ON,OFF) \
+       -DUA_ENABLE_STATUSCODE_DESCRIPTIONS=$(if $(CONFIG_LIBOPEN62541_UA_ENABLE_STATUSCODE_DESCRIPTIONS),ON,OFF) \
+       -DUA_ENABLE_PUBSUB=$(if $(CONFIG_LIBOPEN62541_UA_ENABLE_PUBSUB),ON,OFF) \
+       -DUA_ENABLE_PUBSUB_DELTAFRAMES=$(if $(CONFIG_LIBOPEN62541_UA_ENABLE_PUBSUB_DELTAFRAMES),ON,OFF) \
+       -DUA_ENABLE_PUBSUB_FILE_CONFIG=$(if $(CONFIG_LIBOPEN62541_UA_ENABLE_PUBSUB_FILE_CONFIG),ON,OFF) \
+       -DUA_ENABLE_PUBSUB_INFORMATIONMODEL=$(if $(CONFIG_LIBOPEN62541_UA_ENABLE_PUBSUB_INFORMATIONMODEL),ON,OFF) \
+       -DUA_ENABLE_PUBSUB_MONITORING=$(if $(CONFIG_LIBOPEN62541_UA_ENABLE_PUBSUB_MONITORING),ON,OFF) \
+       -DUA_ENABLE_PUBSUB_ETH_UADP=$(if $(CONFIG_LIBOPEN62541_UA_ENABLE_PUBSUB_ETH_UADP),ON,OFF) \
+       -DUA_ENABLE_PUBSUB_ENCRYPTION=$(if $(CONFIG_LIBOPEN62541_UA_ENABLE_PUBSUB_ENCRYPTION),ON,OFF) \
+       -DUA_ENABLE_HISTORIZING=$(if $(CONFIG_LIBOPEN62541_UA_ENABLE_HISTORIZING),ON,OFF)
+
+ifeq ($(CONFIG_LIBOPEN62541_MBDEDTLS),y)
+       CMAKE_OPTIONS += -DUA_ENABLE_ENCRYPTION=MBEDTLS
+else ifeq ($(CONFIG_LIBOPEN62541_OPENSSL),y)
+       CMAKE_OPTIONS += -DUA_ENABLE_ENCRYPTION=OPENSSL
+else
+       CMAKE_OPTIONS += -DUA_ENABLE_ENCRYPTION=OFF
+endif
+
+ifeq ($(CONFIG_LIBOPEN62541_NAMESPACEZERO_REDUCED),y)
+       CMAKE_OPTIONS += -DUA_NAMESPACE_ZERO=REDUCED
+else ifeq ($(CONFIG_LIBOPEN62541_NAMESPACEZERO_MINIMAL),y)
+       CMAKE_OPTIONS += -DUA_NAMESPACE_ZERO=MINIMAL
+else
+       CMAKE_OPTIONS += -DUA_NAMESPACE_ZERO=FULL
+endif
+
+define Package/libopen62541/install
+       $(INSTALL_DIR) $(1)/usr/lib
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/libopen62541.so* $(1)/usr/lib/
+endef
+
+$(eval $(call BuildPackage,libopen62541))
index d1c034edaa48b536ab860e3f95d166bb56f88653..8f9e66e153e8294ab8c0b312c36df830290f0fbd 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=dovecot
 PKG_VERSION:=2.3.18
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://dovecot.org/releases/2.3
@@ -37,6 +37,9 @@ include $(INCLUDE_DIR)/package.mk
 # dovecot itself.
 include $(INCLUDE_DIR)/nls.mk
 
+# need iconv.m4, otherwise error during autoreconf
+PKG_BUILD_DEPENDS:=gettext-full
+
 define Package/dovecot
   SECTION:=mail
   CATEGORY:=Mail
index 07bad221346441109f6a948bd2c16134e2cc225c..fe74a723d399bbf2baa204407a9f7a05fd599805 100644 (file)
@@ -6,7 +6,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=banip
 PKG_VERSION:=0.8.5
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 PKG_LICENSE:=GPL-3.0-or-later
 PKG_MAINTAINER:=Dirk Brenken <dev@brenken.org>
 
index aadeae380e5dc3c04be6e0180e85a8aa48df33e8..b67c5a0aac8f9ecfe1ca0ed5144c3e1bd6416b4b 100755 (executable)
@@ -192,7 +192,7 @@ if [ -x "${ban_logreadcmd}" ] && [ -n "${ban_logterm%%??}" ] && [ "${ban_loglimi
                        if [ -n "${proto}" ] && ! "${ban_nftcmd}" get element inet banIP blocklist"${proto}" "{ ${ip} }" >/dev/null 2>&1; then
                                f_log "info" "suspicious IP${proto} '${ip}'"
                                log_raw="$("${ban_logreadcmd}" -l "${ban_loglimit}" 2>/dev/null)"
-                               log_count="$(printf "%s\n" "${log_raw}" | grep -c "found '${ip}'")"
+                               log_count="$(printf "%s\n" "${log_raw}" | grep -c "suspicious IP${proto} '${ip}'")"
                                if [ "${log_count}" -ge "${ban_logcount}" ]; then
                                        if "${ban_nftcmd}" add element inet banIP "blocklist${proto}" "{ ${ip} ${nft_expiry} }" >/dev/null 2>&1; then
                                                f_log "info" "add IP${proto} '${ip}' (expiry: ${nft_expiry:-"-"}) to blocklist${proto} set"
index 713bd740a333ebd0aca140c3e79c342880fcc0cc..2088c2d330c40ab88ed225064944a55458cf9e1b 100644 (file)
@@ -6,12 +6,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=crowdsec-firewall-bouncer
-PKG_VERSION:=0.0.25
+PKG_VERSION:=0.0.26
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://codeload.github.com/crowdsecurity/cs-firewall-bouncer/tar.gz/v$(PKG_VERSION)?
-PKG_HASH:=15ffaa38644215a4cf5e5d5d3a6fc6f0800057bc55d4bd25778d8e952679506e
+PKG_HASH:=2325df3f8d01e2c9b52db212a796b15b4992a135d5d278441277e97db353b2a7
 
 PKG_LICENSE:=MIT
 PKG_LICENSE_FILES:=LICENSE
index 1d36a36d2202b2585c50b25e21a2ae639b09f9b8..77568e908353674fca8d246125d6ba65b97f53c7 100644 (file)
@@ -7,7 +7,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=fail2ban
 PKG_VERSION:=0.11.2
-PKG_RELEASE:=7
+PKG_RELEASE:=8
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://codeload.github.com/fail2ban/fail2ban/tar.gz/$(PKG_VERSION)?
@@ -48,6 +48,11 @@ define Package/fail2ban/conffiles
 /etc/config/fail2ban
 endef
 
+define Build/Compile
+       cd $(PKG_BUILD_DIR) && ./fail2ban-2to3
+       $(call Py3Build/Compile)
+endef
+
 define Py3Package/fail2ban/filespec
 +|$(PYTHON3_PKG_DIR)
 -|$(PYTHON3_PKG_DIR)/fail2ban/tests
@@ -77,11 +82,6 @@ define Py3Package/fail2ban/install
        $(INSTALL_BIN) ./files/fail2ban.defaults $(1)/etc/uci-defaults/99_fail2ban
 endef
 
-define Py3Build/Compile
-       cd $(PKG_BUILD_DIR) && ./fail2ban-2to3
-       $(call Py3Build/Compile/Default)
-endef
-
 $(eval $(call Py3Package,fail2ban))
 $(eval $(call BuildPackage,fail2ban))
 $(eval $(call BuildPackage,fail2ban-src))
index 17f89348092ad0ea279cb005a018b7d0d8ac8a96..70b776f6a07008c55b43b22f31343f3605776632 100644 (file)
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=haproxy
-PKG_VERSION:=2.6.12
+PKG_VERSION:=2.6.13
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://www.haproxy.org/download/2.6/src
-PKG_HASH:=58f9edb26bf3288f4b502658399281cc5d6478468bd178eafe579c8f41895854
+PKG_HASH:=d69ff5233dbca657132ef280d111222ec1e33f5be1c1937d4e9ff516f63f5243
 
 PKG_MAINTAINER:=Thomas Heil <heil@terminal-consulting.de>, \
                Christian Lachner <gladiac@gmail.com>
index c5f8c7031fc2e58965657c41294fc0f4d83a369b..2e312cc0a61ee52472612fb2617c1398a43190a2 100755 (executable)
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 CLONEURL=https://git.haproxy.org/git/haproxy-2.6.git
-BASE_TAG=v2.6.12
+BASE_TAG=v2.6.13
 TMP_REPODIR=tmprepo
 PATCHESDIR=patches
 
index fb99e64d8dc3395f8617d1a728abe0890394ec52..f7d7cc1bfd90b974d9121ffe8cb7c521ffcb688d 100644 (file)
@@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=https-dns-proxy
 PKG_VERSION:=2022-10-15
-PKG_RELEASE:=11
+PKG_RELEASE:=12
 
 PKG_SOURCE_PROTO:=git
 PKG_SOURCE_URL:=https://github.com/aarond10/https_dns_proxy/
index b4c55fea3103fff20c6b4f79f4c504d442634441..f6e32cba7372c8a7e12414d5dcdbc7bea7d5fa92 100755 (executable)
@@ -17,7 +17,6 @@ fi
 readonly PKG_VERSION='dev-test'
 readonly packageName='https-dns-proxy'
 readonly serviceName="$packageName $PKG_VERSION"
-readonly sharedMemoryOutput="/dev/shm/$packageName-output"
 readonly _OK_='\033[0;32m\xe2\x9c\x93\033[0m'
 readonly _FAIL_='\033[0;31m\xe2\x9c\x97\033[0m'
 readonly PROG=/usr/sbin/https-dns-proxy
@@ -33,6 +32,7 @@ is_ipv4() { expr "$1" : '[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*$' >/
 is_ipv6() { ! is_mac_address "$1" && str_contains "$1" ":"; }
 output() {
        local msg memmsg logmsg
+       local sharedMemoryOutput="/dev/shm/$packageName-output"
        [ -t 1 ] && printf "%b" "$@"
        msg="${1//$serviceName /service }";
        if [ "$(printf "%b" "$msg" | wc -l)" -gt 0 ]; then
@@ -171,6 +171,7 @@ start_instance() {
                                json_add_string proto 'tcp udp'
                                json_add_string src_dport "$p"
                                json_add_string dest_port "$p"
+                               json_add_string family any
                                json_add_boolean reflection 0
                                json_close_object
                        else
index 36adc06da4ecbf41967a002e16fd351cbaa1c1ee..99c01712d633c2d98f25ead747d5c94da17da95f 100644 (file)
@@ -8,7 +8,7 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=mwan3
-PKG_VERSION:=2.11.6
+PKG_VERSION:=2.11.7
 PKG_RELEASE:=1
 PKG_MAINTAINER:=Florian Eckert <fe@dev.tdt.de>, \
                Aaron Goodman <aaronjg@alumni.stanford.edu>
index 89654f86ba05658cd23a6ab1008c8a48a137f1b5..162bdbb7d5599312a43d9b7a03e2ec9519787ba2 100755 (executable)
@@ -128,6 +128,7 @@ connected() {
        echo "online" > $MWAN3TRACK_STATUS_DIR/$INTERFACE/STATUS
        echo "0" > $MWAN3TRACK_STATUS_DIR/$INTERFACE/OFFLINE
        get_uptime > $MWAN3TRACK_STATUS_DIR/$INTERFACE/ONLINE
+       score=$((down+up))
        host_up_count=0
        lost=0
        turn=0
@@ -351,34 +352,32 @@ main() {
                        if [ $score -lt $up ]; then
                                score=0
                                [ ${keep_failure_interval} -eq 1 ] && sleep_time=$failure_interval
-                       else
+                       elif [ $score -eq $up ]; then
                                disconnecting
                                sleep_time=$failure_interval
-                       fi
-
-                       if [ $score -eq $up ]; then
                                disconnected
-                               score=0
+                       elif [ $score -gt $up ]; then
+                               disconnecting
+                               sleep_time=$failure_interval
                        fi
                else
                        if [ $score -lt $((down+up)) ] && [ $lost -gt 0 ]; then
-                               connecting
                                LOG info "Lost $((lost*count)) ping(s) on interface $INTERFACE ($DEVICE). Current score: $score"
                        fi
 
                        let score++
                        lost=0
 
-                       if [ $score -gt $up ]; then
-                               echo "online" > $MWAN3TRACK_STATUS_DIR/$INTERFACE/STATUS
-                               score=$((down+up))
-                       elif [ $score -le $up ]; then
+                       if [ $score -lt $up ]; then
+                               connecting
+                               sleep_time=$recovery_interval
+                       elif [ $score -eq $up ]; then
                                connecting
                                sleep_time=$recovery_interval
-                       fi
-
-                       if [ $score -eq $up ]; then
                                connected
+                       elif [ $score -gt $up ]; then
+                               echo "online" > $MWAN3TRACK_STATUS_DIR/$INTERFACE/STATUS
+                               score=$((down+up))
                        fi
                fi
 
index 7e097e13b6565fab1b5e49ba6f6e0ad758603173..b84b2ccd840944e9a20dfff265ba2c4d3b54a21e 100644 (file)
@@ -14,7 +14,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=nmap
 PKG_VERSION:=7.93
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 PKG_MAINTAINER:=Nuno Gonçalves <nunojpg@gmail.com>
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
@@ -27,6 +27,7 @@ PKG_CPE_ID:=cpe:/a:nmap:nmap
 PKG_BUILD_PARALLEL:=1
 PKG_INSTALL:=1
 PYTHON3_PKG_BUILD:=0
+PYTHON3_PKG_FORCE_DISTUTILS_SETUP:=1
 
 include $(INCLUDE_DIR)/package.mk
 include ../../lang/python/python3-package.mk
@@ -150,6 +151,11 @@ define Build/Compile
        $(call Py3Build/Compile)
 endef
 
+define Build/Install
+       $(call Build/Install/Default,)
+       $(call Py3Build/Install)
+endef
+
 define Package/nmap/install
        $(INSTALL_DIR) $(1)/usr/bin
        $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/nmap $(1)/usr/bin/
index 4b197ad4ee01222011e69ab56b652c43cb4d7e20..7db36a6e1e4605fcbe85391b501a42f80e9997b4 100644 (file)
@@ -8,14 +8,14 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=ocserv
-PKG_VERSION:=1.1.6
-PKG_RELEASE:=2
+PKG_VERSION:=1.1.7
+PKG_RELEASE:=1
 PKG_BUILD_FLAGS:=no-mips16
 
 PKG_BUILD_DIR :=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=ftp://ftp.infradead.org/pub/ocserv/
-PKG_HASH:=6a6cbe92212e32280426a51c634adc3d4803579dd049cfdb7e014714cc82c693
+PKG_HASH:=f30f7515e1e569ca2e68a96fa5e3dd10d49a18a40c981ad95b484d10835e3aa6
 
 PKG_LICENSE:=GPL-2.0-or-later
 PKG_LICENSE_FILES:=COPYING
index 9acbec99fc7abd06d6009e81263c679024025aeb..42afb80fd1bce3b2662600096e7cb39bb3db4815 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=onionshare-cli
 PKG_VERSION:=2.3.1
-PKG_RELEASE:=2
+PKG_RELEASE:=3
 
 PYPI_NAME:=onionshare-cli
 PYPI_SOURCE_NAME:=onionshare_cli
@@ -21,6 +21,8 @@ PKG_LICENSE_FILES:=LICENSE
 
 PKG_BUILD_DEPENDS:=python-setuptools-scm/host
 
+PYTHON3_PKG_FORCE_DISTUTILS_SETUP:=1
+
 include ../../lang/python/pypi.mk
 include $(INCLUDE_DIR)/package.mk
 include ../../lang/python/python3-package.mk
index 9f96686c1370944fa8c24ec286dfc492a20098d0..0ab59a28e20093122c88ce5fd2734d748336b24f 100644 (file)
@@ -5,7 +5,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=pbr
 PKG_VERSION:=1.1.1
-PKG_RELEASE:=1
+PKG_RELEASE:=5
 PKG_LICENSE:=GPL-3.0-or-later
 PKG_MAINTAINER:=Stan Grishin <stangri@melmac.ca>
 
index a76bc30a913e57a409804546acaae6b63f89eba3..d8ecaa7da94708be9b15e5c0b2aba60dffa5e1df 100755 (executable)
@@ -224,7 +224,7 @@ pbr_get_gateway6() {
        local iface="$2" dev="$3" gw
        network_get_gateway6 gw "$iface" true
        if [ -z "$gw" ] || [ "$gw" = '::/0' ] || [ "$gw" = '::0/0' ] || [ "$gw" = '::' ]; then
-               gw="$($ip_bin -6 a list dev "$dev" 2>/dev/null | grep inet6 | awk '{print $2}')"
+               gw="$($ip_bin -6 a list dev "$dev" 2>/dev/null | grep inet6 | grep 'scope global' | awk '{print $2}')"
        fi
        eval "$1"='$gw'
 }
@@ -1771,7 +1771,7 @@ EOF
                                        ipv6_error=0
                                        if { [ -n "$gw6" ] && [ "$gw6" != "::/0" ]; } || [ "$strict_enforcement" -ne 0 ]; then
                                                if [ -z "$gw6" ] || [ "$gw6" = "::/0" ]; then
-                                                       $ip_bin -6 route add unreachable default table "$tid" || ipv6_error=1
+                                                       $ip_bin -6 route add unreachable default table "$tid" >/dev/null 2>&1 || ipv6_error=1
                                                elif $ip_bin -6 route list table main | grep -q " dev $dev6 "; then
                                                        while read -r i; do
                                                                i="$(echo "$i" | sed 's/ linkdown$//')"
@@ -1785,7 +1785,7 @@ EOF
                                                        $ip_bin -6 route add default dev "$dev6" table "$tid" >/dev/null 2>&1 || ipv6_error=1
                                                fi
                                        fi
-                                       $ip_bin -6 rule add fwmark "${mark}/${fw_mask}" table "$tid" priority "$priority" || ipv6_error=1
+                                       $ip_bin -6 rule add fwmark "${mark}/${fw_mask}" table "$tid" priority "$priority" >/dev/null 2>&1 || ipv6_error=1
                                fi
                        fi
                        if [ "$ipv4_error" -eq 0 ] || [ "$ipv6_error" -eq 0 ]; then
index 5d4d5d60adcaf27568ceee11d5cdfe33a275c6de..95fe3776820f2f4f7bfc89c12f78cd1551cc8819 100644 (file)
@@ -5,6 +5,11 @@ readonly __OK__='\033[0;32m[\xe2\x9c\x93]\033[0m'
 
 # Transition from vpn-policy-routing
 if [ -s '/etc/config/vpn-policy-routing' ] && [ ! -s '/etc/config/pbr-opkg' ]; then
+       if [ -x '/etc/init.d/vpn-policy-routing' ]; then
+               echo "Stopping and disabling vpn-policy-routing."
+               /etc/init.d/vpn-policy-routing stop
+               /etc/init.d/vpn-policy-routing disable
+       fi
        echo "Migrating vpn-policy-routing config file."
        mv '/etc/config/pbr' '/etc/config/pbr-opkg'
        sed 's/vpn-policy-routing/pbr/g' /etc/config/vpn-policy-routing > /etc/config/pbr
index cbe16be2e136096acbf9ee01873dfbb406143868..db6e2bc5f4514d879b9ebe717dc2fdeeded0b83f 100644 (file)
@@ -6,7 +6,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=simple-adblock
 PKG_VERSION:=1.9.5
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 PKG_MAINTAINER:=Stan Grishin <stangri@melmac.ca>
 PKG_LICENSE:=GPL-3.0-or-later
 
index 1427a7b6162273db9021feb9eefaae8c0f2cb2fc..a08dc395d626cb7d014e60e3e64265bc7bd55640 100644 (file)
@@ -1395,6 +1395,7 @@ adb_start() {
                                json_add_string proto "tcp udp"
                                json_add_string src_dport "$c"
                                json_add_string dest_port "$c"
+                               json_add_string family any
                                json_add_boolean reflection 0
                                json_close_object
                        else
index 8252bad5cafc790c25157355cf00701b6e83c37d..a3f17cf703927d42418ac2bf26d1fd2b32550215 100644 (file)
@@ -6,12 +6,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=snort3
-PKG_VERSION:=3.1.60.0
+PKG_VERSION:=3.1.61.0
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://github.com/snort3/snort3/archive/refs/tags/
-PKG_HASH:=295bbeea93ead7835379d9c9332b1f82f9ecdd3741aeed267caf85bb887126a1
+PKG_HASH:=207963ece2eddd3c85ad90c9e2dabe33dc67eaa485ba9576e2b244f7ac45fc5d
 
 PKG_MAINTAINER:=W. Michael Petullo <mike@flyn.org>
 PKG_LICENSE:=GPL-2.0-only
diff --git a/net/snort3/patches/900-fix_build_for_archs_contain_plus.patch b/net/snort3/patches/900-fix_build_for_archs_contain_plus.patch
deleted file mode 100644 (file)
index 163a7a0..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
---- a/cmake/FindFlexLexer.cmake
-+++ b/cmake/FindFlexLexer.cmake
-@@ -16,11 +16,11 @@ macro(FLEX NAME LEXER_IN LEXER_OUT)
-         COMPILE_FLAGS ${FLEX_FLAGS}
-     )
--    # we use '+' as a separator for 'sed' to avoid conflicts with '/' in paths from LEXER_OUT
-+    # we use '|' as a separator for 'sed' to avoid conflicts with '/' in paths from LEXER_OUT
-     add_custom_command(
-         OUTPUT ${LEXER_OUT}
-         COMMAND sed -e
--            "s+void yyFlexLexer::LexerError+yynoreturn void yyFlexLexer::LexerError+;s+${LEXER_OUT}.tmp+${LEXER_OUT}+"
-+            "s|void yyFlexLexer::LexerError|yynoreturn void yyFlexLexer::LexerError|;s|${LEXER_OUT}.tmp|${LEXER_OUT}|"
-             ${FLEX_${NAME}_OUTPUTS} > ${LEXER_OUT}
-         DEPENDS ${FLEX_${NAME}_OUTPUTS}
-         VERBATIM
index 1c5c1bd062984e92c169a4bb46585e9fae6de1cb..a10a68cac7d93b7df0ea5889762679dfe14c1e38 100644 (file)
@@ -1,7 +1,7 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=wsdd2
-PKG_RELEASE:=2
+PKG_RELEASE:=3
 
 PKG_SOURCE_PROTO:=git
 PKG_SOURCE_URL:=https://github.com/Netgear/wsdd2.git
index e3df25e2d167e6bdac4c6f381f0ef00fc189e8b3..7b8930e06cb2aa6170106dd59ac638da528c6831 100644 (file)
@@ -29,8 +29,8 @@ start_service() {
        }
 
        [ -z "$SMB_CONF" ] && {
-               logger -p daemon.error -t 'wsdd2' "samba36/4 or ksmbd is not running, can't start wsdd2!"
-               exit 1
+               logger -p daemon.info -t 'wsdd2' "samba36/4 or ksmbd is not running"
+               return
        }
        
        # cleanup comments
index dd1afd792c8511a0d9fa869604da96b9d95d0716..620707b53e3c309255c2581a3780a346e4bdd1a1 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=coreutils
-PKG_VERSION:=9.2
+PKG_VERSION:=9.3
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=@GNU/coreutils
-PKG_HASH:=6885ff47b9cdb211de47d368c17853f406daaf98b148aaecdf10de29cc04b0b3
+PKG_HASH:=adbcfcfe899235b71e8768dcf07cd532520b7f54f9a8064843f8d199a904bbaa
 
 PKG_MAINTAINER:=Jo-Philipp Wich <jo@mein.io>
 PKG_LICENSE:=GPL-3.0-or-later
index 3c5bf2ec3af9dc5885b8a9164ca63fedf1a129e2..2bcd8fc1b9cf1ec55950546b079a043861af5047 100644 (file)
@@ -18,7 +18,7 @@
 -include $(top_srcdir)/tests/local.mk
 --- a/Makefile.in
 +++ b/Makefile.in
-@@ -4145,11 +4145,7 @@ RECURSIVE_TARGETS = all-recursive check-
+@@ -4149,11 +4149,7 @@ RECURSIVE_TARGETS = all-recursive check-
        install-ps-recursive install-recursive installcheck-recursive \
        installdirs-recursive pdf-recursive ps-recursive \
        tags-recursive uninstall-recursive
@@ -31,7 +31,7 @@
  am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
  am__vpath_adj = case $$p in \
      $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
-@@ -4399,10 +4395,10 @@ am__DIST_COMMON = $(doc_coreutils_TEXINF
+@@ -4403,10 +4399,10 @@ am__DIST_COMMON = $(doc_coreutils_TEXINF
        $(top_srcdir)/build-aux/missing \
        $(top_srcdir)/build-aux/test-driver \
        $(top_srcdir)/build-aux/texinfo.tex \
@@ -46,7 +46,7 @@
        $(top_srcdir)/tests/local.mk ABOUT-NLS AUTHORS COPYING \
        ChangeLog INSTALL NEWS README THANKS TODO build-aux/compile \
        build-aux/config.guess build-aux/config.rpath \
-@@ -4516,7 +4512,7 @@ ERROR_H = @ERROR_H@
+@@ -4520,7 +4516,7 @@ ERROR_H = @ERROR_H@
  ETAGS = @ETAGS@
  EUIDACCESS_LIBGEN = @EUIDACCESS_LIBGEN@
  EXEEXT = @EXEEXT@
@@ -55,7 +55,7 @@
  FDATASYNC_LIB = @FDATASYNC_LIB@
  FILE_HAS_ACL_LIB = @FILE_HAS_ACL_LIB@
  FLOAT_H = @FLOAT_H@
-@@ -6171,7 +6167,7 @@ localedir_c_make = @localedir_c_make@
+@@ -6181,7 +6177,7 @@ localedir_c_make = @localedir_c_make@
  localstatedir = @localstatedir@
  localstatedir_c = @localstatedir_c@
  localstatedir_c_make = @localstatedir_c_make@
@@ -64,7 +64,7 @@
  mandir = @mandir@
  mandir_c = @mandir_c@
  mandir_c_make = @mandir_c_make@
-@@ -6220,7 +6216,7 @@ top_build_prefix = @top_build_prefix@
+@@ -6230,7 +6226,7 @@ top_build_prefix = @top_build_prefix@
  top_builddir = @top_builddir@
  top_srcdir = @top_srcdir@
  ALL_RECURSIVE_TARGETS = distcheck-hook check-root
@@ -73,7 +73,7 @@
  
  #if GNU_MAKE
  #     [nicer features that work only with GNU Make]
-@@ -8425,7 +8421,7 @@ all: $(BUILT_SOURCES)
+@@ -8437,7 +8433,7 @@ all: $(BUILT_SOURCES)
  .SUFFIXES: .1 .c .dvi .log .o .obj .pl .pl$(EXEEXT) .ps .sh .sh$(EXEEXT) .trs .x .xpl .xpl$(EXEEXT) .y
  am--refresh: Makefile
        @:
@@ -82,7 +82,7 @@
        @for dep in $?; do \
          case '$(am__configure_deps)' in \
            *$$dep*) \
-@@ -8447,7 +8443,7 @@ Makefile: $(srcdir)/Makefile.in $(top_bu
+@@ -8459,7 +8455,7 @@ Makefile: $(srcdir)/Makefile.in $(top_bu
            echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles)'; \
            cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles);; \
        esac;
index 8b1563c2ef0cee8b432a04d70beec9c36c31e370..cdae0d4eb2dc9cd7bce8bea982c096e67f29f6bb 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=i2c-tools
 PKG_VERSION:=4.3
-PKG_RELEASE:=1
+PKG_RELEASE:=3
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=@KERNEL/software/utils/i2c-tools
@@ -67,8 +67,9 @@ define Package/python3-smbus/description
  This package contain the Python3 bindings for Linux SMBus access through i2c-dev.
 endef
 
-PYTHON3_PKG_SETUP_ARGS:=
-PYTHON3_PKG_SETUP_DIR:=py-smbus
+PYTHON3_PKG_BUILD_PATH:=py-smbus
+PYTHON3_PKG_WHEEL_NAME:=smbus
+PYTHON3_PKG_WHEEL_VERSION:=1.1
 
 define Build/Compile
        $(MAKE) -C $(PKG_BUILD_DIR) \
@@ -86,6 +87,10 @@ define Build/InstallDev
        $(CP) $(PKG_BUILD_DIR)/lib/libi2c.{a,so*} $(1)/usr/lib/
 endef
 
+define Build/Install
+       $(call Py3Build/Install)
+endef
+
 define Package/libi2c/install
        $(INSTALL_DIR) $(1)/usr/lib
        $(CP) $(PKG_BUILD_DIR)/lib/libi2c.so* $(1)/usr/lib/
index 15ebd3001a27bfb585623a00de5133637b9db0ef..dcb2a79e16100c5031e3cda29c2ccf67224d558c 100644 (file)
@@ -10,7 +10,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=lxc
 PKG_VERSION:=5.0.2
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://linuxcontainers.org/downloads/lxc/
@@ -33,7 +33,8 @@ MESON_ARGS += \
        -Dselinux=false \
        -Dseccomp=$(if $(CONFIG_LXC_SECCOMP),true,false) \
        -Dexamples=false \
-       -Db_pie=true
+       -Db_pie=true \
+       -Druntime-path=/var/run
 
 LXC_APPLETS_BIN += \
        attach autostart cgroup copy config console create destroy device \
index 4983c5919663febf59ff065ee7d2dbb195ef8a85..14fe2c509b87bb2918f347208c01f1289457d0cb 100755 (executable)
@@ -69,9 +69,5 @@ boot() {
                mount -t cgroup -o rw,nosuid,nodev,noexec,relatime,none,name=systemd cgroup /sys/fs/cgroup/systemd
        fi
 
-       if [ ! -d /run ]; then
-               ln -s /var/run /run
-       fi
-
        start
 }
index eb763cffe905bfd82d20fcb7b4ce54c8a9a6af4e..66f2a029c72966e107ab51e6466168e97e9f99ea 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=open-plc-utils
-PKG_RELEASE:=5
+PKG_RELEASE:=6
 
 PKG_SOURCE_PROTO:=git
 PKG_SOURCE_URL:=https://github.com/qca/open-plc-utils.git
-PKG_SOURCE_VERSION:=358dfcf78bdaf7b0b13dcdf91cb1aae1789f2770
-PKG_MIRROR_HASH:=3b24033f3d2d9ac33778fb772837bc5e0a8891ac708bbe1f35336ff792baf9f8
+PKG_SOURCE_VERSION:=1ba7d5a042e4e8ff6858b08e113eec5dc4e89cf2
+PKG_MIRROR_HASH:=67a8c23a10b6b9e3437badad9f215d5350a766b1d0021c58d0ae092609be2b34
 
 PKG_MAINTAINER:=Michael Heimpold <mhei@heimpold.de>
 
index 04924b750fdcccab5c24516991b9c53a5f63e314..ff29be1de84294de426cec2a5bcd2835a251b8d5 100644 (file)
@@ -12,7 +12,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=xxhash
 PKG_VERSION:=0.8.1
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)_$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://github.com/Cyan4973/xxHash/archive/v$(PKG_VERSION)
@@ -24,8 +24,12 @@ PKG_LICENSE:=BSD-2-Clause,GPL-2.0-or-later
 PKG_LICENSE_FILES:=LICENSE,cli/COPYING
 PKG_MAINTAINER:=Julien Malik <julien.malik@paraiso.me>
 
+PKG_INSTALL:=1
+
 include $(INCLUDE_DIR)/package.mk
 
+PKG_UNPACK:=$(HOST_TAR) -C "$(PKG_BUILD_DIR)" --strip-components=1 -xzf "$(DL_DIR)/$(PKG_SOURCE)"
+
 define Package/xxhash/Default
   TITLE:=Extremely fast hash algorithm
   URL:=https://cyan4973.github.io/xxHash/
@@ -64,29 +68,25 @@ define Package/xxhash/description
   This package contains the executables.
 endef
 
-define Build/Prepare
-       rm -rf $(PKG_BUILD_DIR)/
-       mkdir -p $(PKG_BUILD_DIR)/
-       $(TAR) -xzf $(DL_DIR)/$(PKG_SOURCE) -C $(PKG_BUILD_DIR) --strip 1
-endef
+MAKE_FLAGS += PREFIX=/usr
 
 define Build/InstallDev
        $(INSTALL_DIR) $(1)/usr/include
-       $(CP) $(PKG_BUILD_DIR)/*.h $(1)/usr/include
+       $(CP) $(PKG_INSTALL_DIR)/usr/include/*.h $(1)/usr/include/
        $(INSTALL_DIR) $(1)/usr/lib
-       $(CP) $(PKG_BUILD_DIR)/libxxhash.so* $(1)/usr/lib
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libxxhash.{a,so*} $(1)/usr/lib/
        $(INSTALL_DIR) $(1)/usr/lib/pkgconfig
-       $(CP) $(PKG_BUILD_DIR)/libxxhash.pc.in $(1)/usr/lib/pkgconfig
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libxxhash.pc $(1)/usr/lib/pkgconfig/
 endef
 
 define Package/libxxhash/install
        $(INSTALL_DIR) $(1)/usr/lib
-       $(CP) $(PKG_BUILD_DIR)/libxxhash.so.* $(1)/usr/lib
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libxxhash.so.* $(1)/usr/lib/
 endef
 
 define Package/xxhash/install
        $(INSTALL_DIR) $(1)/usr/bin
-       $(INSTALL_BIN) $(PKG_BUILD_DIR)/xxh*sum $(1)/usr/bin/
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/xxh*sum $(1)/usr/bin/
 endef
 
 $(eval $(call BuildPackage,libxxhash))