Merge pull request #11905 from txt-file/patch-1
authorRosen Penev <rosenp@gmail.com>
Wed, 22 Apr 2020 21:30:11 +0000 (14:30 -0700)
committerGitHub <noreply@github.com>
Wed, 22 Apr 2020 21:30:11 +0000 (14:30 -0700)
prosody: update to 0.11.5

425 files changed:
admin/nyx/Makefile
devel/asu/Makefile
devel/meson/Makefile
devel/meson/meson.mk
lang/golang/golang/Makefile
lang/perl-net-cidr-lite/Makefile [new file with mode: 0644]
lang/php7/Makefile
lang/python/Flask/Makefile
lang/python/Jinja2/Makefile
lang/python/MarkupSafe/Makefile
lang/python/README.md
lang/python/Werkzeug/Makefile
lang/python/bcrypt/Makefile
lang/python/click-log/Makefile
lang/python/click/Makefile
lang/python/django-appconf/Makefile
lang/python/django-compressor/Makefile
lang/python/django-constance/Makefile [deleted file]
lang/python/django-formtools/Makefile
lang/python/django-jsonfield/Makefile
lang/python/django-picklefield/Makefile
lang/python/django-postoffice/Makefile
lang/python/django-ranged-response/Makefile
lang/python/django-restframework/Makefile
lang/python/django-restframework39/Makefile
lang/python/django-simple-captcha/Makefile
lang/python/django-statici18n/Makefile
lang/python/django-webpack-loader/Makefile
lang/python/django/Makefile
lang/python/django1/Makefile
lang/python/flup/Makefile [deleted file]
lang/python/gunicorn/Makefile
lang/python/itsdangerous/Makefile
lang/python/openpyxl/Makefile
lang/python/passlib/Makefile
lang/python/pillow/Makefile
lang/python/pyjwt/Makefile
lang/python/pymysql/Makefile
lang/python/pyodbc/Makefile
lang/python/python-aiohttp-cors/Makefile
lang/python/python-aiohttp/Makefile
lang/python/python-appdirs/Makefile
lang/python/python-asn1crypto/Makefile
lang/python/python-astral/Makefile
lang/python/python-async-timeout/Makefile
lang/python/python-atomicwrites/Makefile
lang/python/python-attrs/Makefile
lang/python/python-automat/Makefile
lang/python/python-awscli/Makefile
lang/python/python-boto3/Makefile
lang/python/python-botocore/Makefile
lang/python/python-cachelib/Makefile
lang/python/python-cachetools/Makefile
lang/python/python-certifi/Makefile
lang/python/python-cffi/Makefile
lang/python/python-chardet/Makefile
lang/python/python-colorama/Makefile
lang/python/python-constantly/Makefile
lang/python/python-contextlib2/Makefile
lang/python/python-crypto/Makefile
lang/python/python-cryptodome/Makefile
lang/python/python-cryptodomex/Makefile
lang/python/python-cryptography/Makefile
lang/python/python-cryptography/patches/001-disable-setup-requirements.patch [deleted file]
lang/python/python-curl/Makefile
lang/python/python-dateutil/Makefile
lang/python/python-decorator/Makefile
lang/python/python-defusedxml/Makefile
lang/python/python-dns/Makefile
lang/python/python-docutils/Makefile
lang/python/python-et_xmlfile/Makefile
lang/python/python-evdev/Makefile
lang/python/python-flask-login/Makefile
lang/python/python-gmpy2/Makefile
lang/python/python-gnupg/Makefile
lang/python/python-host.mk [deleted file]
lang/python/python-hyperlink/Makefile
lang/python/python-idna/Makefile
lang/python/python-ifaddr/Makefile
lang/python/python-incremental/Makefile
lang/python/python-influxdb/Makefile
lang/python/python-intelhex/Makefile
lang/python/python-jdcal/Makefile
lang/python/python-jmespath/Makefile
lang/python/python-jsonpath-ng/Makefile
lang/python/python-libmodbus/Makefile
lang/python/python-lxml/Makefile
lang/python/python-markdown/Makefile
lang/python/python-more-itertools/Makefile
lang/python/python-multidict/Makefile
lang/python/python-mysqlclient/Makefile
lang/python/python-netdisco/Makefile
lang/python/python-oauthlib/Makefile
lang/python/python-package-install.sh
lang/python/python-package.mk [deleted file]
lang/python/python-packaging/Makefile
lang/python/python-paho-mqtt/Makefile
lang/python/python-parsley/Makefile
lang/python/python-pluggy/Makefile [new file with mode: 0644]
lang/python/python-ply/Makefile
lang/python/python-py/Makefile
lang/python/python-pyasn1-modules/Makefile
lang/python/python-pyasn1/Makefile
lang/python/python-pycparser/Makefile
lang/python/python-pyopenssl/Makefile
lang/python/python-pyotp/Makefile
lang/python/python-pyparsing/Makefile
lang/python/python-pyrsistent/Makefile
lang/python/python-pyserial/Makefile
lang/python/python-pytest/Makefile [new file with mode: 0644]
lang/python/python-pytz/Makefile
lang/python/python-qrcode/Makefile
lang/python/python-rcssmin/Makefile
lang/python/python-requests-oauthlib/Makefile
lang/python/python-requests/Makefile
lang/python/python-rsa/Makefile
lang/python/python-s3transfer/Makefile
lang/python/python-schedule/Makefile
lang/python/python-schema/Makefile
lang/python/python-sentry-sdk/Makefile
lang/python/python-service-identity/Makefile
lang/python/python-simplejson/Makefile
lang/python/python-six/Makefile
lang/python/python-slugify/Makefile
lang/python/python-sqlalchemy/Makefile
lang/python/python-stem/Makefile
lang/python/python-twisted/Makefile
lang/python/python-urllib3/Makefile
lang/python/python-version.mk [deleted file]
lang/python/python-voluptuous-serialize/Makefile
lang/python/python-voluptuous/Makefile
lang/python/python-wcwidth/Makefile
lang/python/python-yaml/Makefile
lang/python/python-yarl/Makefile
lang/python/python-zeroconf/Makefile
lang/python/python-zipp/Makefile
lang/python/python-zope-interface/Makefile
lang/python/python/Config-python-light.in [deleted file]
lang/python/python/Makefile [deleted file]
lang/python/python/files/config.site [deleted file]
lang/python/python/files/python-config.in [deleted file]
lang/python/python/files/python-package-codecs.mk [deleted file]
lang/python/python/files/python-package-compiler.mk [deleted file]
lang/python/python/files/python-package-ctypes.mk [deleted file]
lang/python/python/files/python-package-db.mk [deleted file]
lang/python/python/files/python-package-decimal.mk [deleted file]
lang/python/python/files/python-package-dev.mk [deleted file]
lang/python/python/files/python-package-distutils.mk [deleted file]
lang/python/python/files/python-package-email.mk [deleted file]
lang/python/python/files/python-package-gdbm.mk [deleted file]
lang/python/python/files/python-package-lib2to3.mk [deleted file]
lang/python/python/files/python-package-logging.mk [deleted file]
lang/python/python/files/python-package-multiprocessing.mk [deleted file]
lang/python/python/files/python-package-ncurses.mk [deleted file]
lang/python/python/files/python-package-openssl.mk [deleted file]
lang/python/python/files/python-package-pip.mk [deleted file]
lang/python/python/files/python-package-pkg-resources.mk [deleted file]
lang/python/python/files/python-package-pydoc.mk [deleted file]
lang/python/python/files/python-package-setuptools.mk [deleted file]
lang/python/python/files/python-package-sqlite3.mk [deleted file]
lang/python/python/files/python-package-unittest.mk [deleted file]
lang/python/python/files/python-package-xml.mk [deleted file]
lang/python/python/patches-setuptools/001-reproducible.patch [deleted file]
lang/python/python/patches-setuptools/002-sorted-requires.patch [deleted file]
lang/python/python/patches-setuptools/003-PKG-INFO-output-reproducible.patch [deleted file]
lang/python/python/patches/001-enable-zlib.patch [deleted file]
lang/python/python/patches/002-do-not-add-include-dirs-when-cross-compiling.patch [deleted file]
lang/python/python/patches/003-do-not-compile-tests-at-build.patch [deleted file]
lang/python/python/patches/004-do-not-write-bytes-codes.patch [deleted file]
lang/python/python/patches/005-fix-bluetooth-support.patch [deleted file]
lang/python/python/patches/006-remove-multi-arch-and-local-paths.patch [deleted file]
lang/python/python/patches/007-distutils-do-not-adjust-path.patch [deleted file]
lang/python/python/patches/008-distutils-use-python-sysroot.patch [deleted file]
lang/python/python/patches/009-do-not-use-dblib_dir-when-cross-compiling.patch [deleted file]
lang/python/python/patches/010-do-not-add-rt-lib-dirs-when-cross-compiling.patch [deleted file]
lang/python/python/patches/012-add-support-source-date-epoch-pyc.patch [deleted file]
lang/python/python/patches/013-getbuildinfo-date-time-source-date-epoch.patch [deleted file]
lang/python/python/patches/021-compileall-add-recursion-option.patch [deleted file]
lang/python/python/patches/024-musl-find_library.patch [deleted file]
lang/python/python/patches/025-utime.patch [deleted file]
lang/python/python/patches/026-bpo-34585-Dont-do-runtime-test-to-get-float-byte-order-GH-9085.patch [deleted file]
lang/python/python/patches/027-bpo-34585-run-autoconf-GH-9411-edited.patch [deleted file]
lang/python/python3-asgiref/Makefile
lang/python/python3-bottle/Makefile
lang/python/python3-django-cors-headers/Makefile
lang/python/python3-django-etesync-journal/Makefile
lang/python/python3-drf-nested-routers/Makefile
lang/python/python3-host.mk
lang/python/python3-maxminddb/Makefile
lang/python/python3-netifaces/Makefile
lang/python/python3-package.mk
lang/python/python3-packages/Makefile
lang/python/python3-pyroute2/Makefile
lang/python/python3-speedtest-cli/Makefile
lang/python/python3-sqlparse/Makefile
lang/python/python3-unidecode/Makefile
lang/python/python3-version.mk
lang/python/python3/Makefile
lang/python/python3/files/python3-package-dev.mk
lang/python/python3/files/python3-package-pip.mk
lang/python/ruamel-yaml/Makefile
lang/python/text-unidecode/Makefile
lang/python/vobject/Makefile
lang/python/xmltodict/Makefile
lang/ruby/Makefile
lang/ruby/patches/001_fix_isnan_isinf_finite_with_uclibc.patch [deleted file]
lang/ruby/patches/100-musl.patch [new file with mode: 0644]
lang/ruby/ruby_find_pkgsdeps
lang/ruby/ruby_missingfiles
libs/alsa-lib/Makefile
libs/alsa-lib/patches/100-link_fix.patch
libs/alsa-lib/patches/200-usleep.patch [new file with mode: 0644]
libs/avahi/Makefile
libs/gdbm/Makefile
libs/h2o/Makefile
libs/h2o/patches/600-engine.patch [new file with mode: 0644]
libs/libcgroup/Makefile
libs/libcgroup/patches/0001-musl-fts-configure.patch [deleted file]
libs/libcgroup/patches/010-cdefs.patch [new file with mode: 0644]
libs/libdrm/Makefile
libs/libevdev/Makefile
libs/libevdev/patches/010-no-clock-monotonic-raw-in-uclibc.patch [deleted file]
libs/libffi/Makefile
libs/libffi/patches/002-fix-toolexeclibdir-path.patch [deleted file]
libs/libffi/patches/100-fix_mips_softfloat.patch
libs/libfmt/Makefile
libs/libgd/Makefile
libs/libgd/patches/010-getlib.patch [new file with mode: 0644]
libs/libgpiod/Makefile
libs/libmraa/Makefile
libs/libre2/Makefile
libs/libre2/patches/010-cxx17.patch [new file with mode: 0644]
libs/libsearpc/Makefile
libs/libsearpc/patches/001-fix-memory-leak-GH-48.patch [deleted file]
libs/libsearpc/patches/001-no-python-compile.patch [new file with mode: 0644]
libs/libshout/Makefile
libs/libshout/patches/130-usleep.patch [new file with mode: 0644]
libs/libssh/Makefile
libs/libupm/Makefile
libs/libupnp/Makefile
libs/libv4l/Makefile
libs/libv4l/patches/050-4.14.patch [new file with mode: 0644]
libs/libvpx/Makefile
libs/mtdev/Makefile
libs/newt/Makefile
libs/nss/Makefile
libs/nss/patches/001-nss_standalone.patch
libs/nss/patches/003-openwrt_fix.patch
libs/p11-kit/Makefile
libs/quasselc/Makefile
libs/quasselc/patches/001-respect-cflags-ldflags.patch
libs/redis/Makefile
libs/websocketpp/Makefile
libs/websocketpp/patches/0001-boost-1.70-compat.patch [new file with mode: 0644]
mail/postfix/Makefile
multimedia/gerbera/Makefile [new file with mode: 0644]
multimedia/gerbera/files/gerbera.config [new file with mode: 0644]
multimedia/gerbera/files/gerbera.init [new file with mode: 0644]
multimedia/graphicsmagick/Makefile
multimedia/gst1-libav/Makefile
multimedia/gst1-plugins-bad/Makefile
multimedia/gst1-plugins-bad/patches/001-no-translations.patch [deleted file]
multimedia/gst1-plugins-base/Makefile
multimedia/gst1-plugins-base/patches/001-no-translations.patch [deleted file]
multimedia/gst1-plugins-good/Makefile
multimedia/gst1-plugins-good/patches/001-no-translations.patch [deleted file]
multimedia/gst1-plugins-ugly/Makefile
multimedia/gst1-plugins-ugly/patches/001-no-translations.patch [deleted file]
multimedia/gstreamer1/Makefile
multimedia/youtube-dl/Makefile
net/acme/Makefile
net/adblock/Makefile
net/adblock/files/README.md
net/adblock/files/adblock.init
net/adblock/files/adblock.sh
net/adblock/files/adblock.sources
net/apache/Makefile
net/apache/files/openwrt.layout [deleted file]
net/apache/patches/020-openssl-deprecated.patch [deleted file]
net/bind/Makefile
net/boinc/Makefile [new file with mode: 0644]
net/boinc/files/boinc-client.init [new file with mode: 0755]
net/boinc/files/global_prefs_override.xml [new file with mode: 0644]
net/boinc/files/remote_hosts.cfg [new file with mode: 0644]
net/boinc/patches/001-avoidExtraDependencies [new file with mode: 0644]
net/boinc/patches/002-hosttypeRespected [new file with mode: 0644]
net/bwping/Makefile [new file with mode: 0644]
net/dawn/Makefile
net/dawn/files/dawn.config
net/dawn/files/dawn.init
net/dnscrypt-proxy2/Makefile
net/dnsdist/Makefile
net/family-dns/Makefile [new file with mode: 0644]
net/family-dns/Readme.md [new file with mode: 0644]
net/family-dns/files/family-dns-update [new file with mode: 0644]
net/family-dns/files/family-dns.conf [new file with mode: 0644]
net/family-dns/files/family-dns.uci-defaults [new file with mode: 0644]
net/family-dns/files/test-family-dns [new file with mode: 0755]
net/freeradius3/Makefile
net/frp/Makefile
net/git/Makefile
net/haproxy/Makefile
net/haproxy/get-latest-patches.sh
net/haproxy/patches/000-BUG-MINOR-protocol_buffer-Wrong-maximum-shifting.patch [new file with mode: 0644]
net/haproxy/patches/000-OPENWRT-add-uclibc-support.patch [deleted file]
net/haproxy/patches/001-OPENWRT-add-uclibc-support.patch [new file with mode: 0644]
net/https-dns-proxy/Makefile
net/isc-dhcp/Makefile
net/isc-dhcp/files/dhcpd.init
net/knxd/Makefile
net/knxd/patches/0099-openwrt.patch
net/knxd/patches/0100-version.patch [new file with mode: 0644]
net/mac-telnet/Makefile
net/netifyd/Makefile
net/netifyd/patches/010-bind.patch [new file with mode: 0644]
net/nginx/Makefile
net/nlbwmon/Makefile
net/nlbwmon/files/nlbwmon.config
net/nlbwmon/files/nlbwmon.init
net/nmap/Makefile
net/ntpclient/Makefile
net/ntpclient/patches/200-time.patch [new file with mode: 0644]
net/ntpclient/patches/300-siocgarp.patch [new file with mode: 0644]
net/openssh/Makefile
net/openssh/files/sshd.init
net/openvswitch/Makefile
net/overture/Makefile [new file with mode: 0644]
net/overture/files/domain_alternative_sample [new file with mode: 0644]
net/overture/files/domain_primary_sample [new file with mode: 0644]
net/overture/files/domain_ttl_sample [new file with mode: 0644]
net/overture/files/hosts_sample [new file with mode: 0644]
net/overture/files/ip_network_alternative_sample [new file with mode: 0644]
net/overture/files/ip_network_primary_sample [new file with mode: 0644]
net/overture/files/overture.init [new file with mode: 0644]
net/pdns/Makefile
net/pdns/patches/200-openssl-deprecated.patch [new file with mode: 0644]
net/port-mirroring/Makefile
net/port-mirroring/patches/020-time.patch [new file with mode: 0644]
net/radicale/Makefile
net/radicale2/Makefile
net/samba4/Makefile
net/scapy/Makefile
net/seafile-ccnet/Makefile
net/seafile-ccnet/patches/011-no-python-compile.patch [new file with mode: 0644]
net/seafile-seahub/Makefile
net/seafile-seahub/patches/030-uci-conf.patch
net/seafile-server/Makefile
net/seafile-server/patches/012-automake-no-python-compile.patch [new file with mode: 0644]
net/shorewall-core/Makefile
net/shorewall-lite/Makefile
net/shorewall/Makefile
net/shorewall6-lite/Makefile
net/shorewall6/Makefile
net/simple-adblock/Makefile
net/simple-adblock/files/simple-adblock.conf
net/simple-adblock/files/simple-adblock.init
net/smcroute/Makefile
net/softflowd/Makefile
net/softflowd/patches/020-uid.patch [new file with mode: 0644]
net/sqm-scripts/Makefile
net/sqm-scripts/files/luci-app-sqm.defaults [deleted file]
net/sysrepo/Makefile
net/tor-hs/Makefile [new file with mode: 0644]
net/tor-hs/README.md [new file with mode: 0644]
net/tor-hs/files/nextcloud-update.sh [new file with mode: 0755]
net/tor-hs/files/tor-hs.conf [new file with mode: 0644]
net/tor-hs/files/tor-hs.init [new file with mode: 0755]
net/tor-hs/files/tor_rpcd.sh [new file with mode: 0755]
net/transmission/Makefile
net/transmission/files/transmission.init
net/travelmate/Makefile
net/travelmate/files/travelmate.init
net/travelmate/files/travelmate.sh
net/travelmate/files/wifionice.login
net/uacme/Makefile
net/uwsgi/Makefile
net/vsftpd/Makefile
net/wget/Makefile
net/wifidog-ng/Makefile
net/wifidog-ng/src/config.c
net/wifidog-ng/src/config.h
net/wifidog-ng/src/main.c
net/wifidog-ng/src/utils.h
net/xtables-addons/Makefile
net/yggdrasil/Makefile
sound/alsa-utils/Makefile
sound/alsa-utils/patches/100-uClibc-compat.patch [deleted file]
sound/alsa-utils/patches/101-disable-libsamplerate.patch [deleted file]
sound/mpd/Makefile
sound/mpd/patches/010-treewide-use-boost-lround-when-std-round-is-unavaila.patch [deleted file]
sound/mpd/patches/020-fix-incorrect-rounding.patch [deleted file]
sound/mpd/patches/030-volume_mapping-get-rid-of-exp10-workaround.patch [deleted file]
sound/mpd/patches/040-treewide-get-rid-of-C-math-function-usage.patch [deleted file]
sound/pulseaudio/Makefile
sound/pulseaudio/patches/010-also-include.patch [deleted file]
utils/bigclown/bigclown-control-tool/Makefile
utils/bigclown/bigclown-firmware-tool/Makefile
utils/bigclown/bigclown-gateway/Makefile
utils/bigclown/bigclown-mqtt2influxdb/Makefile
utils/bluez/Makefile
utils/bluez/patches/201-readline.patch
utils/bluez/patches/202-fix-endianness.patch
utils/bluez/patches/205-refresh_adv_manager_for_non-LE_devices.patch
utils/btrfs-progs/Makefile
utils/dump1090/Makefile
utils/flashrom/Makefile
utils/flashrom/flashrom.mk
utils/flashrom/patches/0001-fix_internal_bitbang.patch [deleted file]
utils/flashrom/patches/0003-ch341a_spi-avoid-deprecated-libusb-functions.patch [deleted file]
utils/flashrom/patches/010-add-arc.patch [deleted file]
utils/flashrom/patches/900-build_internal_programmer_all_archs.patch [new file with mode: 0644]
utils/i2c-tools/Makefile
utils/micrond/Makefile
utils/micrond/files/etc/init.d/micrond
utils/nano/Makefile
utils/quota/Makefile [new file with mode: 0644]
utils/rtl_433/Makefile
utils/rtl_433/patches/010-gnu-source.patch [deleted file]
utils/rtty/Makefile
utils/sane-backends/Makefile
utils/squashfs-tools/Config.in
utils/squashfs-tools/Makefile
utils/squashfs-tools/patches/0003-mksquashfs.c-get-inline-functions-work-with-C99.patch [deleted file]
utils/squashfs-tools/patches/0004-vla-to-malloc.patch [deleted file]
utils/squashfs-tools/patches/0005-mksquashfs-unsquashfs-fix-compilation-with-glibc-2.2.patch [deleted file]

index a572fb8931f81488f37d30af402fe45514e97344..5a7e26b41fa6556d8472a4326fa236859b57bc84 100644 (file)
@@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=nyx
 PKG_VERSION:=2.1.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PYPI_NAME:=nyx
 PKG_HASH:=88521488d1c9052e457b9e66498a4acfaaa3adf3adc5a199892632f129a5390b
@@ -21,7 +21,6 @@ define Package/nyx
   URL:=https://nyx.torproject.org/
   TITLE:=Terminal status monitor for Tor
   DEPENDS:=+python3 +python3-stem
-  VARIANT:=python3
 endef
 
 define Package/nyx/description
index a6f0a8ef5cf1215ef4c1aa12ac6325b8b2fa3714..54d55f245ce5873d559d52c5f43bad100db0230b 100644 (file)
@@ -6,7 +6,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=asu
 PKG_VERSION:=0.2.3
-PKG_RELEASE=2
+PKG_RELEASE:=3
 
 PKG_LICENSE:=GPL-3.0
 
@@ -37,7 +37,6 @@ define Package/asu
              +gunicorn3 +python3-openssl +python3-pyodbc +python3-yaml \
              +libustream-mbedtls +ca-certificates +gnupg
     USERID:=asu:asu
-    VARIANT:=python3
 endef
 
 define Package/asu/description
index 1df088083e1cf98c2cecb09e3037755fa242c9f9..5762ad773d19957614dc51077f687fcf2631f6b7 100644 (file)
@@ -1,11 +1,11 @@
 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
@@ -40,7 +40,6 @@ define Package/meson
   TITLE:=meson
   URL:=https://mesonbuild.com/
   DEPENDS:=+ninja +python3-pkg-resources
-  VARIANT:=python3
 endef
 
 define Package/meson/description
index 16c6b16685fed136d14435c93cf67d2910e38178..0a261ca64c80e534045e42c3d7890cc821440b60 100644 (file)
@@ -103,7 +103,7 @@ define Build/Configure/Meson
                --cross-file $(PKG_BUILD_DIR)/openwrt-cross.txt \
                $(MESON_ARGS) \
                $(MESON_BUILD_DIR) \
-               $(PKG_BUILD_DIR), \
+               $(MESON_BUILD_DIR)/.., \
                $(MESON_VARS))
 endef
 
index b5e6e82825eab0bffa6f6f9f033ab41ee541fd7b..3df43d3de83e96cd6de1f748af8f544f94502ab9 100644 (file)
@@ -8,7 +8,7 @@
 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))
@@ -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:=2ad2572115b0d1b4cb4c138e6b3a31cee6294cb48af75ee86bec3dca04507676
+PKG_HASH:=98de84e69726a66da7b4e58eac41b99cbe274d7e8906eeb8a5b7eb0aadee7f7c
 
 PKG_MAINTAINER:=Jeffery To <jeffery.to@gmail.com>
 PKG_LICENSE:=BSD-3-Clause
diff --git a/lang/perl-net-cidr-lite/Makefile b/lang/perl-net-cidr-lite/Makefile
new file mode 100644 (file)
index 0000000..c09419c
--- /dev/null
@@ -0,0 +1,48 @@
+#
+# 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))
index 6bcc4bc21d1ca639f1cd67fe929ee2fe4a65944c..4ada975de9b8a9bbf3490b8f92c7d50f946902b8 100644 (file)
@@ -6,7 +6,7 @@
 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>
@@ -16,7 +16,7 @@ PKG_CPE_ID:=cpe:/a:php:php
 
 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
index 0813155172152b9c7829e459b428552e176ead26..f7d97b0ee5e22021873d44db29e37b701d2ffd13 100644 (file)
@@ -6,7 +6,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=Flask
 PKG_VERSION:=1.1.1
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PYPI_NAME:=$(PKG_NAME)
 PKG_HASH:=13f9f196f330c7c2c5d7a5cf91af894110ca0215ac051b5844701f2bfd934d52
@@ -30,7 +30,6 @@ define Package/python3-flask
            +python3-itsdangerous +python3-jinja2 +python3 +python3-logging \
            +python3-markupsafe +python3-multiprocessing +python3-setuptools \
            +python3-werkzeug
-  VARIANT:=python3
 endef
 
 define Package/python3-flask/description
index 6be18dbcda6e7cf9c5b9fe365fa6710bf5666eb6..dd557ba2efd137b97208b64de56d3ce7e8fdc1ac 100644 (file)
@@ -6,7 +6,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=Jinja2
 PKG_VERSION:=2.10.3
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PYPI_NAME:=$(PKG_NAME)
 PKG_HASH:=9fe95f19286cfefaa917656583d020be14e7859c6b0252588391e47db34527de
@@ -27,7 +27,6 @@ define Package/python3-jinja2
   TITLE:=Jinja2
   URL:=http://jinja.pocoo.org/
   DEPENDS:=+python3-light +python3-markupsafe
-  VARIANT:=python3
 endef
 
 define Package/python3-jinja2/description
index dde6dede320677a402656b8be58c738db2eb9d93..cd9518545550ef270aacdbd1382a2605e759533c 100644 (file)
@@ -6,7 +6,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=MarkupSafe
 PKG_VERSION:=1.1.1
-PKG_RELEASE:=2
+PKG_RELEASE:=3
 
 PYPI_NAME:=$(PKG_NAME)
 PKG_HASH:=29872e92839765e546828bb7754a68c418d927cd064fd4708fab9fe9c8bb116b
@@ -26,7 +26,6 @@ define Package/python3-markupsafe
   TITLE:=MarkupSafe
   URL:=https://palletsprojects.com/p/markupsafe/
   DEPENDS:=+python3-light
-  VARIANT:=python3
 endef
 
 define Package/python3-markupsafe/description
index 501c1e69fc6f95eb2ea9559dc5e38bcde2a92551..7fed9857cca6d0a97979808eaf53b3c0a181100a 100644 (file)
@@ -1,18 +1,15 @@
 # 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.
 
@@ -79,14 +48,12 @@ src-git telephony https://git.openwrt.org/feed/telephony.git
 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:
 ```
@@ -95,7 +62,6 @@ src-git openwrt-packages https://git.openwrt.org/feed/packages.git
 
 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
 ```
 
@@ -104,86 +70,73 @@ Each maintainer[s] of external packages feeds is responsible for the local name,
 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)
 
@@ -225,98 +178,58 @@ The `PYPI_SOURCE_*` variables allow this default `PKG_SOURCE` value to be custom
 ### 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
 
@@ -324,35 +237,35 @@ The default build process calls `setup.py install` inside the directory where th
 
 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>
@@ -366,21 +279,21 @@ The initial character controls the action that will be taken:
   * 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
 ```
 
@@ -390,9 +303,8 @@ These can be installed via pip and ideally they should only be installed like th
 
 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`.
index deb3a51bd677ca5b6b3f540df408443a746cbdd6..2a75925176aefffce1d9e19b7edc749053303ac7 100644 (file)
@@ -6,7 +6,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=Werkzeug
 PKG_VERSION:=0.16.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PYPI_NAME:=$(PKG_NAME)
 PKG_HASH:=7280924747b5733b246fe23972186c6b348f9ae29724135a6dfc1e53cea433e7
@@ -26,7 +26,6 @@ define Package/python3-werkzeug
   TITLE:=Werkzeug
   URL:=https://palletsprojects.com/p/werkzeug/
   DEPENDS:=+python3-light +python3-email
-  VARIANT:=python3
 endef
 
 define Package/python3-werkzeug/description
index 90c53bd63780692bd352cbe1f9e8fcf11d2aa34d..0f56c4d5197e229f7ebfdae3356e1f012de8de01 100644 (file)
@@ -7,7 +7,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=bcrypt
 PKG_VERSION:=3.1.7
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PYPI_NAME:=$(PKG_NAME)
 PKG_HASH:=0b0069c752ec14172c5f78208f1863d7ad6755a6fae6fe76ec2c80d13be41e42
@@ -22,27 +22,20 @@ include ../pypi.mk
 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))
index 3da043a5d95b50cb4b5e9e96a3e239a1c88f574f..5a39c81de4d745f094c07001038843eb10bdc0d2 100644 (file)
@@ -6,7 +6,7 @@ include $(TOPDIR)/rules.mk
 
 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)?
@@ -24,7 +24,6 @@ define Package/python3-click-log
   URL:=http://github.com/mitsuhiko/click
   TITLE:=python3-click-log
   DEPENDS:=+python3-click
-  VARIANT:=python3
 endef
 
 define Package/python3-click-log/description
index 4d237083bceaa728eca80a40668e84999eacadfa..fff235d8c77a91a757e438a363e5bc436db3174f 100644 (file)
@@ -6,7 +6,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=click
 PKG_VERSION:=7.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PYPI_NAME:=$(PKG_NAME)
 PYPI_SOURCE_NAME:=Click
@@ -27,7 +27,6 @@ define Package/python3-click
   TITLE:=Click
   URL:=https://palletsprojects.com/p/click/
   DEPENDS:=+python3-light
-  VARIANT:=python3
 endef
 
 define Package/python3-click/description
index 21aee4f8dbee1998bcc119cf3d9de9c625d0f47c..cb1963731c85e8a5a236a735ff7dd5f90d7f2101 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=django-appconf
 PKG_VERSION:=1.0.3
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PYPI_NAME:=$(PKG_NAME)
 PKG_HASH:=35f13ca4d567f132b960e2cd4c832c2d03cb6543452d34e29b7ba10371ba80e3
@@ -22,27 +22,20 @@ include ../pypi.mk
 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))
index 8f420a15371fc9fda68f4b1974aefd26620e9cdd..5b9c478bb53171462984308fe122e52d8fbb33ba 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=django-compressor
 PKG_VERSION:=2.2
-PKG_RELEASE:=7
+PKG_RELEASE:=8
 
 PYPI_NAME:=$(PKG_NAME)
 PYPI_SOURCE_NAME:=django_compressor
@@ -23,22 +23,17 @@ include ../pypi.mk
 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
@@ -46,8 +41,6 @@ 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))
diff --git a/lang/python/django-constance/Makefile b/lang/python/django-constance/Makefile
deleted file mode 100644 (file)
index 0d5da2a..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-#
-# 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))
index 3bbd46958655354a15833362614b2219ac7bd445..27104b572c3a6cd078cd96659031c09939bd38e8 100644 (file)
@@ -7,7 +7,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=django-formtools
 PKG_VERSION:=2.1
-PKG_RELEASE:=7
+PKG_RELEASE:=8
 
 PYPI_NAME:=$(PKG_NAME)
 PKG_HASH:=7703793f1675aa6e871f9fed147e8563816d7a5b9affdc5e3459899596217f7c
@@ -20,27 +20,20 @@ include ../pypi.mk
 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))
index 930be5b0d3c5be63162245f57e6ed645c1cb3b80..39b998d127a902b1e1b452ffe98a44220365683d 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=django-jsonfield
 PKG_VERSION:=2.1.1
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PYPI_NAME:=jsonfield
 PKG_HASH:=ed7c5e1829e9453e24a8bebef1e702ffe402e6def6b326f0e0b88764c59a6dc7
@@ -22,28 +22,21 @@ include ../pypi.mk
 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))
index da3f4ee0594567c5312ee0a4a153abb0edcf5ee5..7d5705aa844b0e5c07fdac77b6456cbbc877062f 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=django-picklefield
 PKG_VERSION:=2.1.1
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PYPI_NAME:=$(PKG_NAME)
 PKG_HASH:=67a5e156343e3b032cac2f65565f0faa81635a99c7da74b0f07a0f5db467b646
@@ -25,26 +25,19 @@ include ../python3-package.mk
 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))
index 0525f342052658132d3adab2f1b56c221f75a9bf..f617b4ecf64cc1d10d0a61f6a03b24825256e878 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 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
@@ -23,28 +23,21 @@ include ../pypi.mk
 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))
index 6006963d2d12df021cafac0d034c9fe01fa9dd16..c222983f44b777e6d2f84aedd757302e2165551b 100644 (file)
@@ -7,7 +7,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=django-ranged-response
 PKG_VERSION:=0.2.0
-PKG_RELEASE:=7
+PKG_RELEASE:=8
 
 PYPI_NAME:=$(PKG_NAME)
 PKG_HASH:=f71fff352a37316b9bead717fc76e4ddd6c9b99c4680cdf4783b9755af1cf985
@@ -20,26 +20,19 @@ include ../pypi.mk
 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))
index f18b8811bb63e4d4bd4ebf9d023cf280b3f42def..ff5bb1554e7a3648243809491440b2476a801278 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=django-restframework
 PKG_VERSION:=3.11.0
-PKG_RELEASE:=2
+PKG_RELEASE:=3
 
 PYPI_NAME:=djangorestframework
 PKG_HASH:=e782087823c47a26826ee5b6fa0c542968219263fb3976ec3c31edab23a4001f
@@ -29,13 +29,10 @@ define Package/python3-django-restframework
   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))
index 6c45abb73f173e3751c225a550feb0d2269c2752..b3a130ebefd98190330219a9963a4ac4e62a738d 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=django-restframework39
 PKG_VERSION:=3.9.4
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PYPI_NAME:=djangorestframework
 PKG_HASH:=c12869cfd83c33d579b17b3cb28a2ae7322a53c3ce85580c2a2ebe4e3f56c4fb
@@ -22,27 +22,20 @@ include ../pypi.mk
 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))
index 03f547a45010358c724a9b296b43c7d5dc029143..7c1ed938222dd7c6ac7b78f3241be279e1a476c6 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 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)?
@@ -19,37 +19,26 @@ PKG_MAINTAINER:=Eneas U de Queiroz <cotequeiroz@gmail.com>
 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))
index 73872264b8b21107e8cb22fc0984fb47f24ac705..4f9ad8b1fa5942f6187658b433f14f632e9c2607 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=django-statici18n
 PKG_VERSION:=1.9.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PYPI_NAME:=$(PKG_NAME)
 PKG_HASH:=913dd056c1abcbe129b1db806cb4cfb821c4077d7e857d6eb29043ea64f4d1d0
@@ -22,28 +22,21 @@ include ../pypi.mk
 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))
index d21f0268b92f66e32949534266d6b4fd061b36b8..2702d266049eceaf537ca0b9c6c0aeed41e4580a 100644 (file)
@@ -7,7 +7,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=django-webpack-loader
 PKG_VERSION:=0.6.0
-PKG_RELEASE:=7
+PKG_RELEASE:=8
 
 PYPI_NAME:=$(PKG_NAME)
 PKG_HASH:=60bab6b9a037a5346fad12d2a70a6bc046afb33154cf75ed640b93d3ebd5f520
@@ -20,26 +20,19 @@ include ../pypi.mk
 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))
index c6be64b0f8ea947b0bca286e1deb3203c82c8ee7..b4f9c9b24e18b2ea74bf05181942685912e6280c 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=django
 PKG_VERSION:=3.0.5
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PYPI_NAME:=Django
 PKG_HASH:=d4666c2edefa38c5ede0ec1655424c56dc47ceb04b6d8d62a7eac09db89545c1
@@ -32,12 +32,10 @@ define Package/python3-django
   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
index d3599e9621bd2fdc472660d89dcdd4300f64405a..8281d5881771c72cf04c0bf6ab190d073cfc5675 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=django1
 PKG_VERSION:=1.11.29
-PKG_RELEASE:=2
+PKG_RELEASE:=3
 
 PYPI_NAME:=Django
 PKG_HASH:=4200aefb6678019a0acf0005cd14cfce3a5e6b9b90d06145fcdd2e474ad4329c
@@ -34,17 +34,14 @@ endef
 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
diff --git a/lang/python/flup/Makefile b/lang/python/flup/Makefile
deleted file mode 100644 (file)
index 8193468..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-#
-# 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))
index 5a82924e27d57114a732ef158862aafc50d8f5b7..37a3fe9925d783a46bd9a9c5344a496d308be6a7 100644 (file)
@@ -8,11 +8,11 @@
 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
@@ -32,14 +32,12 @@ endef
 
 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
@@ -50,13 +48,11 @@ endef
 
 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
@@ -64,10 +60,8 @@ 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))
index 81cd669e6c7130c30812ba0186ab65c9963fb07f..65d49d5d5030d1bac9848af1d0c94483677f02de 100644 (file)
@@ -6,7 +6,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=itsdangerous
 PKG_VERSION:=1.1.0
-PKG_RELEASE:=2
+PKG_RELEASE:=3
 
 PYPI_NAME:=$(PKG_NAME)
 PKG_HASH:=321b033d07f2a4136d3ec762eac9f16a10ccd60f53c0c91af90217ace7ba1f19
@@ -26,7 +26,6 @@ define Package/python3-itsdangerous
   TITLE:=ItsDangerous
   URL:=https://palletsprojects.com/p/itsdangerous/
   DEPENDS:=+python3-light
-  VARIANT:=python3
 endef
 
 define Package/python3-itsdangerous/description
index 4d292d7f4bde4846abfe498875e96a72d989e795..1ee366e551adc023f52be08304f1c83b503ad2cb 100644 (file)
@@ -8,42 +8,31 @@
 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))
index bba473f68a0e6c0597be9c3938866ee0e89cdef7..8080be90888f97e9a6ea7ac33f4c287677671ec3 100644 (file)
@@ -5,7 +5,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=passlib
 PKG_VERSION:=1.7.2
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 PKG_LICENSE:=BSD-3-Clause
 
 PYPI_NAME:=$(PKG_NAME)
@@ -16,18 +16,13 @@ include $(INCLUDE_DIR)/package.mk
 
 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
@@ -37,8 +32,6 @@ as well as a framework for managing existing password hashes. It’s
 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))
index 380c5e38962ef14f707220b323e8a5ca1dcf106e..17898e81ca5b923b8625181b4157cc1c070c1d21 100644 (file)
@@ -7,11 +7,11 @@
 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
@@ -22,25 +22,17 @@ include ../pypi.mk
 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 \
index b4745b631d8d876fdbe02fa8dc3b2f8720866663..15f131ab28cb9ef8d8460f866c608cb33c36a919 100644 (file)
@@ -7,7 +7,7 @@ include $(TOPDIR)/rules.mk
 
 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
@@ -20,24 +20,17 @@ include ../pypi.mk
 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))
index 87baddd1c426446a9042b830ed118cd6b3e0eae1..55275aaf1596b4a0236da2e05e48b56c8f52c12e 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=pymysql
 PKG_VERSION:=0.9.3
-PKG_RELEASE:=2
+PKG_RELEASE:=3
 
 PYPI_NAME:=PyMySQL
 PKG_HASH:=d8c059dcd81dedb85a9f034d5e22dcb4442c0b201908bede99e306d65ea7c8e7
@@ -31,7 +31,6 @@ define Package/python3-pymysql
   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
index 87ca5c936a17e98a5e53363b419e3b8433586023..1bb1f4686bb88ff839a47c7a5d0c73c29f5b1910 100644 (file)
@@ -6,7 +6,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=pyodbc
 PKG_VERSION:=4.0.26
-PKG_RELEASE:=2
+PKG_RELEASE:=3
 
 PYPI_NAME:=$(PKG_NAME)
 PKG_HASH:=e52700b5d24a846483b5ab80acd9153f8e593999c9184ffea11596288fb33de3
@@ -22,19 +22,13 @@ include $(INCLUDE_DIR)/uclibc++.mk
 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
@@ -42,8 +36,6 @@ DB API Module for ODBC
 
 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))
index b8c85f95fa7daf667e80689aa859ce259494e9c1..892a660c3ab51bedab1d51565ac0a45d04d7d412 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=aiohttp-cors
 PKG_VERSION:=0.7.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PYPI_NAME:=aiohttp_cors
 PYPI_SOURCE_NAME:=aiohttp-cors
@@ -32,7 +32,6 @@ define Package/python3-aiohttp-cors
   DEPENDS:= \
        +python3-aiohttp \
        +python3-light
-  VARIANT:=python3
 endef
 
 define Package/python3-aiohttp-cors/description
index d031acf71a21be322302787672ec4645432cd1be..f672175e6ee6877d9854fb4b130ed30b6a468ca1 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=aiohttp
 PKG_VERSION:=3.6.1
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PYPI_NAME:=$(PKG_NAME)
 PKG_HASH:=fc55b1fec0e4cc1134ffb09ea3970783ee2906dc5dfd7cd16917913f2cfed65b
@@ -40,7 +40,6 @@ define Package/python3-aiohttp
        +python3-codecs \
        +python3-cgi \
        +python3-openssl
-  VARIANT:=python3
 endef
 
 define Package/python3-aiohttp/description
index d876e8b15359bba88f6a82b46aec89dd1ed5e3e6..8cd958d3a3b60c58d133ed6afff22391ee928b36 100644 (file)
@@ -6,7 +6,7 @@ include $(TOPDIR)/rules.mk
 
 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
@@ -22,13 +22,13 @@ define Package/python3-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))
index ce719f06664721fc7fe8ece6224e19177f67bc8f..08f6aac2e85238938d937a13104ac82f06f1c5ff 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=python-asn1crypto
 PKG_VERSION:=1.3.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PYPI_NAME:=asn1crypto
 PKG_HASH:=5a215cb8dc12f892244e3a113fe05397ee23c5c4ca7a69cd6e69811755efc42d
@@ -29,7 +29,6 @@ define Package/python3-asn1crypto
   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
index 35825e8aa47c7fa08cb3216db13b30c4cf729c34..b5fe47d4fa59fa8b6bc2607bfe515713621dc800 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=python-astral
 PKG_VERSION:=1.10.1
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PYPI_NAME:=astral
 PKG_HASH:=d2a67243c4503131c856cafb1b1276de52a86e5b8a1d507b7e08bee51cb67bf1
@@ -22,26 +22,19 @@ include ../pypi.mk
 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))
index 50a761c64347d9d7ae16646d4b0b508cdcc48c22..cb66dd01fc23631e51b8da47586ab7cf0dff35a0 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=async-timeout
 PKG_VERSION:=3.0.1
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PYPI_NAME:=async_timeout
 PYPI_SOURCE_NAME:=async-timeout
@@ -32,7 +32,6 @@ define Package/python3-async-timeout
   DEPENDS:= \
   +python3-light \
   +python3-asyncio
-  VARIANT:=python3
 endef
 
 define Package/python3-async-timeout/description
index 315f2c33c2657bf6b7cb6f2ffea5c74550e8d771..d035c94e48346b78597533e38039e3f3a673629b 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=python-atomicwrites
 PKG_VERSION:=1.3.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PYPI_NAME:=atomicwrites
 PKG_HASH:=75a9445bac02d8d058d5e1fe689654ba5a6556a1dfd8ce6ec55a0ed79866cfa6
@@ -29,7 +29,6 @@ define Package/python3-atomicwrites
   TITLE:=Atomic file writes
   URL:=https://github.com/untitaker/python-atomicwrites
   DEPENDS:=+python3-light
-  VARIANT:=python3
 endef
 
 define Package/python3-atomicwrites/description
index 82fc5d4bde9cb5d0a26cb93d7931a981ee87791f..240ec6be68c556d68bce3e0c4b13bd2fbe6c4d4a 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=python-attrs
 PKG_VERSION:=19.3.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PYPI_NAME:=attrs
 PKG_HASH:=f7b7ce16570fe9965acd6d30101a28f62fb4a7f9e926b3bbc9b61f8b04247e72
@@ -22,26 +22,19 @@ include ../pypi.mk
 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))
index b399ec03f4976698d56f60a8e8386abed0bac50e..248f7b705542b702121cb18baa43b55011a706a3 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=python-automat
 PKG_VERSION:=20.2.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PYPI_NAME:=Automat
 PKG_HASH:=7979803c74610e11ef0c0d68a2942b152df52da55336e0c9d58daf1831cbdf33
@@ -25,29 +25,22 @@ include ../python3-package.mk
 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
index 537b5c78baa1e88be023b6db7ddb077fd7674731..c4818c20b0fff3ac9e35bfc93e0e4bafe61d94df 100644 (file)
@@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=awscli
 PKG_VERSION:=1.16.75
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PYPI_NAME:=$(PKG_NAME)
 PKG_HASH:=8d96ec0de325ea8271cc6aa95b7392bbf548ec4aabd3ffbcdc0619b64edd4a45
@@ -14,31 +14,24 @@ include ../pypi.mk
 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))
index 4f43b4e1ca92e0549cca171b954a0e29d9b0a5d8..27f69b3c9b4369a13966d1eae56ad3d2fe091492 100644 (file)
@@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=boto3
 PKG_VERSION:=1.9.135
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PYPI_NAME:=$(PKG_NAME)
 PKG_HASH:=5e5805992e873e5687b5ef3b4c56c386ccb4df1c3364f8b8601d289e2f275be1
@@ -25,7 +25,6 @@ define Package/python3-boto3
        +python3-jmespath \
        +python3-botocore \
        +python3-s3transfer
-  VARIANT:=python3
 endef
 
 define Package/python3-boto3/description
index 505dbe1f99efcf0f8a4508ed31e3261bfe6fb493..739be11261fa4bcc819a79d28f13c7ef690db446 100644 (file)
@@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=botocore
 PKG_VERSION:=1.12.66
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PYPI_NAME:=$(PKG_NAME)
 PKG_HASH:=25c39ecc71356287cf79d66981ec77deca374e28043b19b2f818d48aa34272a1
@@ -14,30 +14,23 @@ include ../pypi.mk
 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))
index 52b6d93cc720500d99ef996640d3b1125267b14b..0573183760738f5828c15dc99ac80c98c4f207d5 100644 (file)
@@ -6,7 +6,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=python-cachelib
 PKG_VERSION:=0.1
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PYPI_NAME:=cachelib
 PKG_HASH:=8b889b509d372095357b8705966e1282d40835c4126d7c2b07fd414514d8ae8d
@@ -26,7 +26,6 @@ define Package/python3-cachelib
   TITLE:=cachelib
   URL:=https://github.com/pallets/cachelib
   DEPENDS:=+python3-light
-  VARIANT:=python3
 endef
 
 define Package/python3-cachelib/description
index 6b7ae4096301c8d03a074c3306fdb70661fc58ff..de81b48f4cc8bcac998d8f81c1c8c7df081a97c8 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=python-cachetools
 PKG_VERSION:=3.1.1
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PYPI_NAME:=cachetools
 PKG_HASH:=8ea2d3ce97850f31e4a08b0e2b5e6c34997d7216a9d2c98e0f3978630d4da69a
@@ -29,7 +29,6 @@ define Package/python3-cachetools
   TITLE:=Extensible memoizing collections and decorators
   URL:=https://github.com/tkem/cachetools
   DEPENDS:=+python3-light
-  VARIANT:=python3
 endef
 
 define Package/python3-cachetools/description
index 914bce87b9968a1ddde59a106375b4915e0539f4..aa4f426739a48e5a6d076ada0d5713e520e6e615 100644 (file)
@@ -7,7 +7,7 @@ include $(TOPDIR)/rules.mk
 
 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
@@ -20,25 +20,18 @@ include ../pypi.mk
 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))
index 77b5fd7d1007090f715f46903e11ff879c3e7d27..5bad6e65bd2603f979e159402bda86e48e6f9085 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=python-cffi
 PKG_VERSION:=1.14.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PYPI_NAME:=cffi
 PKG_HASH:=2d384f4a127a15ba701207f7639d94106693b6cd64173d6c8988e2c25f3ac2b6
@@ -22,27 +22,20 @@ include ../pypi.mk
 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))
index 956491cb7fcea466451ac16769f66a654954bff1..f9c0cf0b178a4a42756d738b52d2efc6bd480314 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=python-chardet
 PKG_VERSION:=3.0.4
-PKG_RELEASE:=2
+PKG_RELEASE:=3
 PKG_LICENSE:=LGPL-2.1
 
 PYPI_NAME:=chardet
@@ -19,25 +19,18 @@ include ../pypi.mk
 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
index d81d50c7ad2b3d14d13e9892a8cee1e08999bdf4..695f1824c5683f0221ab763483e587259d513f78 100644 (file)
@@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=colorama
 PKG_VERSION:=0.4.1
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PYPI_NAME:=$(PKG_NAME)
 PKG_HASH:=05eed71e2e327246ad6b38c540c4a3117230b19679b875190486ddd2d721422d
@@ -14,25 +14,18 @@ include ../pypi.mk
 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))
index c0efca096a73ec2582a70a13a19ca2b3efda9a5b..129a72b5c8dc057c361f24c5026cea1cd6a902ae 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=python-constantly
 PKG_VERSION:=15.1.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PYPI_NAME:=constantly
 PKG_HASH:=586372eb92059873e29eba4f9dec8381541b4d3834660707faf8ba59146dfc35
@@ -22,26 +22,19 @@ include ../pypi.mk
 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))
index 04c256cedf497bb9b0dd1a393e380b912770909c..d5e110a85b63fc9ee0befeb4198231f191be9bf3 100644 (file)
@@ -6,7 +6,7 @@ include $(TOPDIR)/rules.mk
 
 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
@@ -23,7 +23,6 @@ define Package/python3-contextlib2
   URL:=http://contextlib2.readthedocs.org
   TITLE:=python3-contextlib2
   DEPENDS:=+python3-light
-  VARIANT:=python3
 endef
 
 define Package/python-contextlib2/description
index 8ee28e025c8f9aaba0bf316804527b603454028b..a284ff4351b772693086dd3d7270c6e5ae5d81c4 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=python-crypto
 PKG_VERSION:=2.6.1
-PKG_RELEASE:=4
+PKG_RELEASE:=5
 
 PYPI_NAME:=pycrypto
 PKG_HASH:=f2ce1e989b272cfcb677616763e0a2e7ec659effa67a88aa92b3a65528f60a3c
@@ -27,26 +27,18 @@ PYTHON3_PKG_SETUP_ARGS:=
 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))
index 2e2d9f5f778b3648f637f302f55dab28630884c8..72a22b430431985f7570ab3cc01d8c937e5ab201 100644 (file)
@@ -5,11 +5,11 @@
 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
@@ -24,27 +24,19 @@ PYTHON3_PKG_SETUP_ARGS:=
 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))
index 191d8083b1c4b072bb94bb3b8e74cbef4fe8526e..562122cf5170bfe8c20c90b28d2ae07065cae183 100644 (file)
@@ -5,11 +5,11 @@
 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
@@ -23,26 +23,18 @@ PYTHON3_PKG_SETUP_ARGS:=
 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))
index 8552903f565d93edee5c8bc65a8f9402b75bfc48..495e077c46b08f0a45952b33d421ffcba0faf703 100644 (file)
@@ -8,11 +8,11 @@
 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
@@ -26,30 +26,23 @@ include ../pypi.mk
 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))
diff --git a/lang/python/python-cryptography/patches/001-disable-setup-requirements.patch b/lang/python/python-cryptography/patches/001-disable-setup-requirements.patch
deleted file mode 100644 (file)
index ea257ad..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
---- 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__"],
index 8248c9bd71b42b41bd92f546f1e33f7a1e1b084c..e285967fe27de4d2a1be3fec90a316c90c5240fb 100644 (file)
@@ -6,7 +6,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=pycurl
 PKG_VERSION:=7.43.0.5
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PYPI_NAME:=$(PKG_NAME)
 PKG_HASH:=ec7dd291545842295b7b56c12c90ffad2976cc7070c98d7b1517b7b6cd5994b3
@@ -19,25 +19,17 @@ include ../pypi.mk
 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:=
index 5427f177275fbe73a29a7dd297770f763ed89e66..87e0df8730164ac34c16ab1e0e317bd0e4d8ac64 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=python-dateutil
 PKG_VERSION:=2.8.1
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 PKG_LICENSE:=BSD-2-Clause
 
 PYPI_NAME:=$(PKG_NAME)
@@ -21,24 +21,17 @@ include $(INCLUDE_DIR)/package.mk
 
 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))
index b8fdc4563ee340ea950f4015fddab51fd94aacb1..210d1626529515c56da8d59a3838439b0c8f4216 100644 (file)
@@ -6,7 +6,7 @@ include $(TOPDIR)/rules.mk
 
 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
 
@@ -25,7 +25,6 @@ define Package/python3-decorator
   URL:=https://github.com/micheles/decorator
   TITLE:=python3-decodator
   DEPENDS:=+python3-light
-  VARIANT:=python3
 endef
 
 $(eval $(call Py3Package,python3-decorator))
index a7476defa28f5daa5218447699e9fc12093f5aab..144d3439e9dede76bf94a7ab5b96d6a231031389 100644 (file)
@@ -7,7 +7,7 @@ include $(TOPDIR)/rules.mk
 
 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
@@ -20,27 +20,20 @@ include ../pypi.mk
 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))
index a7837131aa9162f98065909de0af1087f35c681d..fe7fd9d1c1a22f4796ed30321556879b3e916d8b 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 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/
@@ -20,31 +20,22 @@ PKG_LICENSE_FILES:=LICENSE
 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))
index 4cc9c2534897729cec549b3ced28fcaa5b3f4363..04e4d756eaa66aaddf14187db9ae6ce8d2431585 100644 (file)
@@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=docutils
 PKG_VERSION:=0.14
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PYPI_NAME:=$(PKG_NAME)
 PKG_HASH:=51e64ef2ebfb29cae1faa133b3710143496eca21c530f3f71424d77687764274
@@ -14,26 +14,19 @@ include ../pypi.mk
 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:=
index 6266e66276186ee13347b24710ae1c0db09c844b..f1a4157454e4eb85a549e100a52d08824b270b6a 100644 (file)
@@ -7,7 +7,7 @@ include $(TOPDIR)/rules.mk
 
 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
@@ -19,28 +19,21 @@ include ../pypi.mk
 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))
index 037d26c92ec6592f055020536a0995db47840b49..0a64927c37cc1e090158a50bf773605022ea5195 100644 (file)
@@ -10,7 +10,7 @@ include $(INCLUDE_DIR)/kernel.mk
 
 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>
@@ -22,26 +22,19 @@ include ../pypi.mk
 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"
index cc7b06c2fbc60b16d9b2410da5037073f72b2394..283622760ebf418b3e6fc4c4ab22695b568d2045 100644 (file)
@@ -10,7 +10,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=python-flask-login
 PKG_VERSION:=0.5.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PYPI_NAME:=Flask-Login
 PKG_HASH:=6d33aef15b5bcead780acc339464aae8a6e28f13c90d8b1cf9de8b549d1c0b4b
@@ -30,7 +30,6 @@ define Package/python3-flask-login
   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
index c12e341c74b41702c383a6312ea5c75d6f43f1c9..46c49d7f3e4efb4d6ed6dcdc0341ab3167c18403 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=python-gmpy2
 PKG_VERSION:=2.0.8
-PKG_RELEASE:=4
+PKG_RELEASE:=5
 
 PYPI_NAME:=gmpy2
 PYPI_SOURCE_EXT:=zip
@@ -25,19 +25,13 @@ include ../python3-package.mk
 
 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
@@ -48,8 +42,6 @@ MPFR (correctly rounded real floating-point arithmetic) and MPC (correctly
 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))
index 53f716547e89c27f1ee30176d57dde0cf4e069cc..bf782f948241fbec2ae251a9920563f78542f12a 100644 (file)
@@ -6,7 +6,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=python-gnupg
 PKG_VERSION:=0.4.4
-PKG_RELEASE:=2
+PKG_RELEASE:=3
 
 PYPI_NAME:=$(PKG_NAME)
 PKG_HASH:=45daf020b370bda13a1429c859fcdff0b766c0576844211446f9266cae97fb0e
@@ -20,19 +20,13 @@ include ../pypi.mk
 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
@@ -45,12 +39,10 @@ and sanitised, and therefore this module should be safe to use in
 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
diff --git a/lang/python/python-host.mk b/lang/python/python-host.mk
deleted file mode 100644 (file)
index 44ecbbf..0000000
+++ /dev/null
@@ -1,95 +0,0 @@
-#
-# 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
index 8a88eb60db0979f002b3b1ad505640d267f37a25..a91fa1cfe34b7e6a840e3691229d1433314bf617 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=python-hyperlink
 PKG_VERSION:=19.0.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PYPI_NAME:=hyperlink
 PKG_HASH:=4288e34705da077fada1111a24a0aa08bb1e76699c9ce49876af722441845654
@@ -22,28 +22,21 @@ include ../pypi.mk
 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))
index fe524b44bad1b5b2f4966b78584fe1e3c31eb13f..e1cf6b9452de01db95fe199932ecc00c7a5712e5 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=python-idna
 PKG_VERSION:=2.9
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PYPI_NAME:=idna
 PKG_HASH:=7588d1c14ae4c77d74036e8c22ff447b26d0fde8f007354fd48a7814db15b7cb
@@ -22,20 +22,15 @@ include ../pypi.mk
 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
@@ -43,8 +38,6 @@ A library to support the Internationalised Domain Names in Applications
 (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))
index 9c65f691757e70b2ee80cebc1a9e99fd067c24b1..4c4f1f863470aa2d3839190954bf8179101e6acd 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=python-ifaddr
 PKG_VERSION:=0.1.6
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PYPI_NAME:=ifaddr
 PKG_HASH:=c19c64882a7ad51a394451dabcbbed72e98b5625ec1e79789924d5ea3e3ecb93
@@ -31,7 +31,6 @@ define Package/python3-ifaddr
   DEPENDS:= \
        +python3-light \
        +python3-ctypes
-  VARIANT:=python3
 endef
 
 define Package/python3-ifaddr/description
index 7390088f09d23b0aa6ade8637a84513c1fbea8bc..7e46ed67fd74d9e3ff98657e045a7462414de4aa 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=python-incremental
 PKG_VERSION:=17.5.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PYPI_NAME:=incremental
 PKG_HASH:=7b751696aaf36eebfab537e458929e194460051ccad279c72b755a167eebd4b3
@@ -22,24 +22,17 @@ include ../pypi.mk
 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))
index 3f7d5f5a21572fc1f5412866db0c5ab8e3f8cd50..2b7bdf8e66c26a9d055b3813abf44f70c291bafc 100644 (file)
@@ -6,7 +6,7 @@ include $(TOPDIR)/rules.mk
 
 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
@@ -24,7 +24,6 @@ define Package/python3-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
index bccb044f8ae4ec6657e3179f7549f7cf4d60f3f0..91c2510ca35f2ba0f6ba827242eddabba8be2b63 100644 (file)
@@ -6,7 +6,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=python-intelhex
 PKG_VERSION:=2.2.1
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PYPI_NAME:=IntelHex
 PYPI_SOURCE_NAME:=intelhex
@@ -27,7 +27,6 @@ define Package/python3-intelhex
   TITLE:=python3-intelhex
   URL:=https://github.com/bialix/intelhex
   DEPENDS:=+python3-light
-  VARIANT:=python3
 endef
 
 define Package/python3-intelhex/description
index 035fa623f9398f47638c7d50893f9c830755b025..c1da5c3d6b9f21bcab85f67ab667784e717ab7ca 100644 (file)
@@ -7,7 +7,7 @@ include $(TOPDIR)/rules.mk
 
 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
@@ -20,24 +20,17 @@ include ../pypi.mk
 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))
index 3006caf9a80c2d94d7cbd261de574b32534f58f7..e74341e050fc207210ad28f81f7715a212bcefe1 100644 (file)
@@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=jmespath
 PKG_VERSION:=0.9.3
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PYPI_NAME:=$(PKG_NAME)
 PKG_HASH:=6a81d4c9aa62caf061cb517b4d9ad1dd300374cd4706997aff9cd6aedd61fc64
@@ -14,25 +14,18 @@ include ../pypi.mk
 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))
index 7059c27c9670ab7afefeabb2ca483ac2aa5b85d4..4988fbb3533e7e8bcbe496e85d64c1f807ad28bd 100644 (file)
@@ -6,7 +6,7 @@ include $(TOPDIR)/rules.mk
 
 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
@@ -23,7 +23,6 @@ define Package/python3-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))
index fda6db33d1e5b88d26e99aadb5b7cdb5993835f0..8f582e6c59c4bfc501dde83dd8ca06cc187b296c 100644 (file)
@@ -3,7 +3,7 @@ include $(INCLUDE_DIR)/kernel.mk
 
 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>
@@ -15,26 +15,19 @@ include ../pypi.mk
 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))
index c2c7d3ad3ea3f958183fe69578b0b23a7bfbffb6..75b4fe06a90f267b3fcf4c4fc847dddf5d169167 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=python-lxml
 PKG_VERSION:=4.4.2
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PYPI_NAME:=lxml
 PKG_HASH:=eff69ddbf3ad86375c344339371168640951c302450c5d3e9936e98d6459db06
@@ -23,32 +23,24 @@ include ../pypi.mk
 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 \
index 90f80d4577ce0baf09c28901d0b549169f0d4955..3d04c94a1c6ef8e6076c0e0ac24cdd4a05423326 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=python-markdown
 PKG_VERSION:=3.2.1
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PYPI_NAME:=Markdown
 PKG_HASH:=90fee683eeabe1a92e149f7ba74e5ccdc81cd397bd6c516d93a8da0ef90b6902
@@ -32,7 +32,6 @@ define Package/python3-markdown
        +python3-light \
        +python3-setuptools \
        +python3-logging
-  VARIANT:=python3
 endef
 
 define Package/python3-markdown/description
index 895aed57bdfee77a3e6eab1937b9f14fbddb79dd..48ee58d89dc8bb85d3618c72a8b1a517c8f1a877 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=python-more-itertools
 PKG_VERSION:=8.2.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PYPI_NAME:=more-itertools
 PKG_HASH:=b1ddb932186d8a6ac451e1d95844b382f55e12686d51ca0c68b6f61f2ab7a507
@@ -29,7 +29,6 @@ define Package/python3-more-itertools
   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
index fee8560113c35b7e95ded559d94d64a78e94e354..b757b2cda6dee262095484f7294b63b217ee35ce 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=multidict
 PKG_VERSION:=4.5.2
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PYPI_NAME:=$(PKG_NAME)
 PKG_HASH:=024b8129695a952ebd93373e45b5d341dbb87c17ce49637b34000093f243dd4f
@@ -31,7 +31,6 @@ define Package/python3-multidict
   DEPENDS:= \
       +python3-light \
       +python3-attrs
-  VARIANT:=python3
 endef
 
 define Package/python3-multidict/description
index 9f24e3b83401567a095d1cfbcc3d97385bea0a2a..f758600d7e412f38e59800fa709063c03c05125e 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=python-mysqlclient
 PKG_VERSION:=1.4.6
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 PKG_LICENSE:=GPL-2.0
 
 PYPI_NAME:=mysqlclient
@@ -22,25 +22,18 @@ include ../python3-package.mk
 # 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))
index 9c5ae54d2e8003d8319112c3ba3977501228f64b..377afead981b17a3d32cb99b5c461c592c012c8f 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=python-netdisco
 PKG_VERSION:=2.6.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PYPI_NAME:=netdisco
 PKG_HASH:=2b3aca14a1807712a053f11fd80dc251dd821ee4899aefece515287981817762
@@ -32,7 +32,6 @@ define Package/python3-netdisco
          +python3-light \
          +python3-requests \
          +python3-zeroconf
-  VARIANT:=python3
 endef
 
 define Package/python3-netdisco/description
index 4fcd4cea913bf96aae22482b2f41bfcee1a960bc..c2fe25980320e574f51f78318afddc9a9a5bd547 100644 (file)
@@ -7,7 +7,7 @@ include $(TOPDIR)/rules.mk
 
 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
@@ -20,25 +20,18 @@ include ../pypi.mk
 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))
index 337727af1f9294389067bf4582a477fc5d53d588..fa42f6f4a80f361a63ff0f68235f284c480d5bed 100644 (file)
@@ -1,11 +1,6 @@
 #!/bin/sh
 set -e
 
-[ -z "$SOURCE_DATE_EPOCH" ] || {
-       PYTHONHASHSEED="$SOURCE_DATE_EPOCH"
-       export PYTHONHASHSEED
-}
-
 process_filespec() {
        local src_dir="$1"
        local dst_dir="$2"
@@ -40,56 +35,11 @@ process_filespec() {
        )
 }
 
-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
diff --git a/lang/python/python-package.mk b/lang/python/python-package.mk
deleted file mode 100644 (file)
index 019f4f0..0000000
+++ /dev/null
@@ -1,153 +0,0 @@
-#
-# 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
index c656b11aa1e7ef5eb3e52e6bad2508faa0bfffa1..c88b464951252aad956fab8d6b075e6990d819d1 100644 (file)
@@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=python-packaging
 PKG_VERSION:=20.3
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PYPI_NAME:=packaging
 PKG_HASH:=3c292b474fda1671ec57d46d739d072bfd495a4f51ad01a055121d81e952b7a3
@@ -28,7 +28,6 @@ define Package/python3-packaging
   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
index 515402929874b3c333113bbaad446425c881a14c..0be206f2273a93b158f3207b22c6f6a81f869b8e 100644 (file)
@@ -6,7 +6,7 @@ include $(TOPDIR)/rules.mk
 
 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
@@ -26,7 +26,6 @@ define Package/python3-paho-mqtt
   TITLE:=python3-paho-mqtt
   URL:=http://eclipse.org/paho
   DEPENDS:=+python3-light
-  VARIANT:=python3
 endef
 
 define Package/python3-paho-mqtt/description
index ad28e585ebfc3ec1edb59ab23fd094552a0a967a..7eaf15e101770c62ab439b037d8003da686427a0 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=python-parsley
 PKG_VERSION:=1.3
-PKG_RELEASE:=4
+PKG_RELEASE:=5
 
 PYPI_NAME:=Parsley
 PKG_HASH:=9444278d47161d5f2be76a767809a3cbe6db4db822f46a4fd7481d4057208d41
@@ -24,24 +24,17 @@ include ../python3-package.mk
 
 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))
diff --git a/lang/python/python-pluggy/Makefile b/lang/python/python-pluggy/Makefile
new file mode 100644 (file)
index 0000000..8d79e0e
--- /dev/null
@@ -0,0 +1,42 @@
+#
+# 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))
index 4b302d04800e2f771108d071cd462256f903d001..6a0b283eb8076a3053d2370d96170264d20c3ee3 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=python-ply
 PKG_VERSION:=3.11
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PYPI_NAME:=ply
 PKG_HASH:=00c7c1aaa88358b9c765b6d3000c6eec0ba42abca5351b095321aef446081da3
@@ -22,25 +22,18 @@ include ../pypi.mk
 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))
index d6264fe148658e140a0aa786a58f290a2ef1cbb5..1ed1a09e0c8440353baa72febd7115efb99422dd 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=python-py
 PKG_VERSION:=1.8.1
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PYPI_NAME:=py
 PKG_HASH:=5e27081401262157467ad6e7f851b7aa402c5852dbcb3dae06768434de5752aa
@@ -31,7 +31,6 @@ define Package/python3-py
   TITLE:=py
   URL:=https://github.com/pytest-dev/py
   DEPENDS:=+python3-light
-  VARIANT:=python3
 endef
 
 define Package/python3-py/description
index 5eafbfef400cc00bfa39e2133c216c5291e575c2..8d82aa8cfc7ef7877128a5b4c8b8bd3087c80fd4 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=python-pyasn1-modules
 PKG_VERSION:=0.2.8
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PYPI_NAME:=pyasn1-modules
 PKG_HASH:=905f84c712230b2c592c19470d3ca8d552de726050d1d1716282a1f6146be65e
@@ -22,27 +22,20 @@ include ../pypi.mk
 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))
index 23c81a6138c97a55e2132bcd1fc0b4d3f589d954..36e7194cb736c6bbb14de0345eb850826b81e476 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=python-pyasn1
 PKG_VERSION:=0.4.8
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PYPI_NAME:=pyasn1
 PKG_HASH:=aef77c9fb94a3ac588e87841208bdec464471d9871bd5050a287cc9a475cd0ba
@@ -22,18 +22,13 @@ include ../pypi.mk
 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
@@ -41,8 +36,6 @@ This is an implementation of ASN.1 types and codecs in Python programming
 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))
index 1c1b9199e7fc4b00e504b09b3d432cb54a36998a..b8f63fc37f98c8f4e39e79eb382b1248d40de8e7 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=python-pycparser
 PKG_VERSION:=2.20
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PYPI_NAME:=pycparser
 PKG_HASH:=2d475327684562c3a96cc71adf7dc8c4f0565175cf86b6d7a404ff4c771f15f0
@@ -24,28 +24,21 @@ include ../pypi.mk
 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))
index e693cacd34478e7cfec6f599512ddab3376f0f71..6580e74fc10a5ef0f06cf281798823ba7ecd1779 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=python-pyopenssl
 PKG_VERSION:=19.1.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PYPI_NAME:=pyOpenSSL
 PKG_HASH:=9a24494b2602aaf402be5c9e30a0b82d4a5c67528fe8fb475e3f3bc00dd69507
@@ -23,27 +23,20 @@ include ../pypi.mk
 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))
index e04a92f7b89be56a7465e115b8a2b96418e373d3..9cda8ac67d009c31424c1af192216368946bc227 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=pyotp
 PKG_VERSION:=2.3.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PYPI_NAME:=$(PKG_NAME)
 PKG_HASH:=fc537e8acd985c5cbf51e11b7d53c42276fee017a73aec7c07380695671ca1a1
@@ -29,7 +29,6 @@ define Package/python3-pyotp
   TITLE:=Python One-Time Password Library
   URL:=https://github.com/pyauth/pyotp
   DEPENDS:=+python3-light
-  VARIANT:=python3
 endef
 
 define Package/python3-pyotp/description
index 553136395b4b724763b559f4ee2f015aeb889c40..0c4365c18760224199b6602356429f5266ceef35 100644 (file)
@@ -9,11 +9,11 @@
 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
@@ -30,7 +30,6 @@ define Package/python3-pyparsing
   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
index 9121a7fe055af11bf52cd5f2e3a5ccdc0b21773c..c5ee84e63554cd7eca8fa07550e02f9736ee5194 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=python-pyrsistent
 PKG_VERSION:=0.15.4
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PYPI_NAME:=pyrsistent
 PKG_HASH:=34b47fa169d6006b32e99d4b3c4031f155e6e68ebcc107d6454852e8e0ee6533
@@ -29,7 +29,6 @@ define Package/python3-pyrsistent
   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
index 7cc4ec91fe5e90fdf06e5eff861178ac5b3af366..e74cc880e47daf6f05f5b533371123c7ad508499 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=python-pyserial
 PKG_VERSION:=3.4
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PYPI_NAME:=pyserial
 PKG_HASH:=6e2d401fdee0eab996cf734e67773a0143b932772ca8b42451440cfed942c627
@@ -21,18 +21,13 @@ include ../pypi.mk
 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
@@ -40,8 +35,6 @@ This module encapsulates the access for the serial port. It provides backends
 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))
diff --git a/lang/python/python-pytest/Makefile b/lang/python/python-pytest/Makefile
new file mode 100644 (file)
index 0000000..f13a4ea
--- /dev/null
@@ -0,0 +1,53 @@
+#
+# 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))
index f421b198be20b2f042a9954695fcca48f973605f..260c437321abdc2f30226b7865395b1c85dd2575 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=python-pytz
 PKG_VERSION:=2019.3
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PYPI_NAME:=pytz
 PKG_HASH:=b02c06db6cf09c12dd25137e563b31700d3b80fcc4ad23abb7a315f2789819be
@@ -22,24 +22,17 @@ include ../pypi.mk
 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))
index 1628c90d0960dc23c498c454f8b8982ee055fdf5..1e674f754f934f50f396286ad3a4f85efd60d903 100644 (file)
@@ -7,7 +7,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=python-qrcode
 PKG_VERSION:=6.1
-PKG_RELEASE:=2
+PKG_RELEASE:=3
 
 PYPI_NAME:=qrcode
 PKG_HASH:=505253854f607f2abf4d16092c61d4e9d511a3b4392e60bff957a68592b04369
@@ -20,28 +20,21 @@ include ../pypi.mk
 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))
index 7791a8b4dfacac2e1b3f3cbc49ab16bf899b44a1..ff4db1b0ed54f3e754777e7066cff755e011f5f7 100644 (file)
@@ -7,7 +7,7 @@ include $(TOPDIR)/rules.mk
 
 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
@@ -20,19 +20,14 @@ include ../pypi.mk
 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
@@ -41,8 +36,6 @@ 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))
index 6cd863d065b391026e081d1a9db473cba7326cd3..d77273f5c6ad1c87c100659d5605b6ef75c27a23 100644 (file)
@@ -7,7 +7,7 @@ include $(TOPDIR)/rules.mk
 
 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
@@ -20,28 +20,21 @@ include ../pypi.mk
 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))
index 9a33e315f00b15bda0e0590b4675b2b4550e963e..fbcd95b8ea5b425406296b22c3f012e8aaa9aa0b 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 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
@@ -23,29 +23,22 @@ include ../pypi.mk
 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))
index eba462f63513aecfb713b86ccd9233d17bb7df50..456021ac1d2ea7f7553acc13850bd39c3c52fb4c 100644 (file)
@@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=rsa
 PKG_VERSION:=4.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PYPI_NAME:=$(PKG_NAME)
 PKG_HASH:=1a836406405730121ae9823e19c6e806c62bbad73f890574fff50efa4122c487
@@ -14,26 +14,19 @@ include ../pypi.mk
 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))
index e49212f6c11106b56fcd1d9f4f419cc2adcfe6ec..a6e04f9f1f2f079b478c67b6f230cd6dd14385de 100644 (file)
@@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=s3transfer
 PKG_VERSION:=0.2.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PYPI_NAME:=$(PKG_NAME)
 PKG_HASH:=f23d5cb7d862b104401d9021fc82e5fa0e0cf57b7660a1331425aab0c691d021
@@ -14,26 +14,19 @@ include ../pypi.mk
 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))
index c7e4b6eea13e9f2472ecc733e074ff871bcef75a..6d28bd0e48bdafd7f00e231cb09d514fa87fff9f 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=python-schedule
 PKG_VERSION:=0.6.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PYPI_NAME:=schedule
 PKG_HASH:=f9fb5181283de4db6e701d476dd01b6a3dd81c38462a54991ddbb9d26db857c9
@@ -29,7 +29,6 @@ define Package/python3-schedule
   TITLE:=Job scheduling for humans
   URL:=https://github.com/dbader/schedule
   DEPENDS:=+python3-light +python3-logging
-  VARIANT:=python3
 endef
 
 define Package/python3-schedule/description
index 4c96f39cd8df6cc12b33ce73e9611d38eefb8a42..6d30034d59f31ae89c83f0b4716fc783553d7ddc 100644 (file)
@@ -6,7 +6,7 @@ include $(TOPDIR)/rules.mk
 
 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)?
@@ -24,7 +24,6 @@ define Package/python3-schema
   URL:=https://github.com/keleshev/schema
   TITLE:=python3-schema
   DEPENDS:=+python3-light +python3-contextlib2
-  VARIANT:=python3
 endef
 
 define Package/python3-schema/description
index 34391662357975185857f4c512863e6318af63b6..21828109155504434bd4ddd351e668d8c6585942 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=python-sentry-sdk
 PKG_VERSION:=0.13.5
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PYPI_NAME:=sentry-sdk
 PKG_HASH:=c6b919623e488134a728f16326c6f0bcdab7e3f59e7f4c472a90eea4d6d8fe82
@@ -33,7 +33,6 @@ define Package/python3-sentry-sdk
        +python3-light \
        +python3-logging \
        +python3-urllib3
-  VARIANT:=python3
 endef
 
 define Package/python3-sentry-sdk/description
index 5810e1d5787bd2d636ddb899fd1d9270739b6309..8e1c1475c758ed97f9955879a19a774fd92ca1fe 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=python-service-identity
 PKG_VERSION:=18.1.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PYPI_NAME:=service_identity
 PKG_HASH:=0858a54aabc5b459d1aafa8a518ed2081a285087f349fe3e55197989232e2e2d
@@ -22,30 +22,23 @@ include ../pypi.mk
 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))
index 808c73871e68b275b392c39826901b825f4f13fb..691075cb02d6286c42888244a793c0dcc16524ff 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 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
 
@@ -20,25 +20,18 @@ include ../pypi.mk
 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
index 3f0250d26c6aa282c1c2276c40ca0fb5b98b3b79..5a9244b20267a88a790a74d2675f1ade049b5dc4 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=python-six
 PKG_VERSION:=1.14.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PYPI_NAME:=six
 PKG_HASH:=236bdbdce46e6e6a3d61a337c0f8b763ca1e8717c03b369e87a7ec7ce1319c0a
@@ -25,18 +25,13 @@ include $(INCLUDE_DIR)/host-build.mk
 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
@@ -44,12 +39,10 @@ Six is a Python 2 and 3 compatibility library.  It provides utility functions
 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:=
index 537cee9b94caefbdda3ca197a9a63ef6911ab19e..906771ebfcfa7680211d8dfcd2d78ece7637a06e 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=python-slugify
 PKG_VERSION:=4.0.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PYPI_NAME:=$(PKG_NAME)
 PKG_HASH:=a8fc3433821140e8f409a9831d13ae5deccd0b033d4744d94b31fea141bdd84c
@@ -33,7 +33,6 @@ define Package/python3-slugify
     +python3-codecs \
     +python3-setuptools \
     +python3-text-unidecode
-  VARIANT:=python3
 endef
 
 define Package/python3-slugify/description
index f540fe3fe18ede6cc2b1a989f859c960c9ed654c..a25a523abda04f7eef645075c2feeeca9d4edf80 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=python-sqlalchemy
 PKG_VERSION:=1.3.13
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PYPI_NAME:=SQLAlchemy
 PKG_HASH:=64a7b71846db6423807e96820993fa12a03b89127d278290ca25c0b11ed7b4fb
@@ -34,7 +34,6 @@ define Package/python3-sqlalchemy
        +python3-urllib \
        +python3-decimal \
        +python3-logging
-  VARIANT:=python3
 endef
 
 define Package/python3-sqlalchemy/description
index 46c0dce7730bc726a68c2204ca2afb68f500695c..12ca92b4a1cc601ac06e0220ac46cb6911efeda8 100644 (file)
@@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=python-stem
 PKG_VERSION:=1.8.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PYPI_NAME:=stem
 PKG_HASH:=a0b48ea6224e95f22aa34c0bc3415f0eb4667ddeae3dfb5e32a6920c185568c2
@@ -24,7 +24,6 @@ define Package/python3-stem
   TITLE:=A controller library for Tor
   URL:=https://stem.torproject.org/
   DEPENDS:=+python3
-  VARIANT:=python3
 endef
 
 define Package/python3-stem/description
index ee72d39a0de03770d7683a437b45b298d013f4ce..1a3946777135acd6c6a945e385cbe9634b14337e 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=python-twisted
 PKG_VERSION:=20.3.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PYPI_NAME:=Twisted
 PYPI_SOURCE_EXT:=tar.bz2
@@ -26,34 +26,27 @@ include ../pypi.mk
 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
index d291773f5db636d2da2ba42bfcdcc0ecb57ab524..e7d1aa026e7d1f386600674c5069e8826b32a393 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 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
@@ -23,24 +23,17 @@ include ../pypi.mk
 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))
diff --git a/lang/python/python-version.mk b/lang/python/python-version.mk
deleted file mode 100644 (file)
index 2da2fa8..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-#
-# 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
index 8f73d4735a12815b9ef9e4b568f9698bd1da5329..693fe0395eccaa07c08d8d301d98a33bc86d6832 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=voluptuous-serialize
 PKG_VERSION:=2.3.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PYPI_NAME:=$(PKG_NAME)
 PKG_HASH:=740cd00ce2ecf0f3345d550163fdd2f20de2e0a60c3c678450e68314c2f592f5
@@ -31,7 +31,6 @@ define Package/python3-voluptuous-serialize
   DEPENDS:= \
        +python3-light \
        +python3-voluptuous
-  VARIANT:=python3
 endef
 
 define Package/python3-voluptuous-serialize/description
index bcac10b079e0d031aeed746b49b8adb5e24136d5..a3d239f8c7dbd0541514ce5b4df87cff894ebbda 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=python-voluptuous
 PKG_VERSION:=0.11.7
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PYPI_NAME:=voluptuous
 PKG_HASH:=2abc341dbc740c5e2302c7f9b8e2e243194fb4772585b991931cb5b22e9bf456
@@ -22,25 +22,18 @@ include ../pypi.mk
 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))
index cdfde0cbc7331349978dfbf8dfa7b31cb6d5ab86..ac9c8281a339a4f65b050157c584c3b20d4de5db 100644 (file)
@@ -10,7 +10,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=python-wcwidth
 PKG_VERSION:=0.1.9
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PYPI_NAME:=wcwidth
 PKG_HASH:=ee73862862a156bf77ff92b09034fc4825dd3af9cf81bc5b360668d425f3c5f1
@@ -30,7 +30,6 @@ define Package/python3-wcwidth
   TITLE:=Terminal width calculation library
   URL:=https://github.com/jquast/wcwidth
   DEPENDS:=+python3-light
-  VARIANT:=python3
 endef
 
 define Package/python3-wcwidth/description
index dbca6deb5cdbbca0c376a6b4eb00dd42e09965e3..a26b5724f35a7e19d63d9c9865828182051c941a 100644 (file)
@@ -8,11 +8,11 @@
 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
@@ -23,25 +23,17 @@ include ../pypi.mk
 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
index 08ac4382fc7c77365ecbdc5eb144195e7d06a615..fce56c8db136914e242608c6f55250345086b853 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=yarl
 PKG_VERSION:=1.3.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PYPI_NAME:=$(PKG_NAME)
 PKG_HASH:=024ecdc12bc02b321bc66b41327f930d1c2c543fa9a561b39861da9388ba7aa9
@@ -33,7 +33,6 @@ define Package/python3-yarl
   +python3-multidict \
   +python3-urllib \
   +python3-idna
-  VARIANT:=python3
 endef
 
 define Package/python3-yarl/description
index 8c629474109fa47c9dc9f902ed753c8202828fd6..761abd152dc917a40a1b6eee1d27dd13039f964b 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=python-zeroconf
 PKG_VERSION:=0.24.4
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PYPI_NAME:=zeroconf
 PKG_HASH:=f66d38f16026097572939ab78b1f46a97f556bca415491eb0fd094d0b5827dfe
@@ -32,7 +32,6 @@ define Package/python3-zeroconf
          +python3-light \
          +python3-logging \
          +python3-ifaddr
-  VARIANT:=python3
 endef
 
 define Package/python3-zeroconf/description
index a76c4fabc2c31b1cef472d53c1d27f93d623760a..19d9e12c1c5efe6e13bf70ef55f57784ef92642c 100644 (file)
@@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=python-zipp
 PKG_VERSION:=3.1.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PYPI_NAME:=zipp
 PKG_HASH:=c599e4d75c98f6798c509911d08a22e6c021d074469042177c8c86fb92eefd96
@@ -22,7 +22,6 @@ define Package/python3-zipp
   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"
index 47674f7bc3be75dc77778ed44835e7cb7aa4c5a4..e92f2a83a4808d4a7d8675fc36d758e9f26a9c74 100644 (file)
@@ -8,11 +8,11 @@
 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
@@ -22,18 +22,13 @@ include ../pypi.mk
 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
@@ -41,8 +36,6 @@ This package provides an implementation of "object interfaces" for
 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))
diff --git a/lang/python/python/Config-python-light.in b/lang/python/python/Config-python-light.in
deleted file mode 100644 (file)
index c6c2041..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-menu "Configuration"
-
-config PYTHON_BLUETOOTH_SUPPORT
-       bool "Enable Bluetooth support"
-       default n
-
-endmenu
diff --git a/lang/python/python/Makefile b/lang/python/python/Makefile
deleted file mode 100644 (file)
index c90617f..0000000
+++ /dev/null
@@ -1,380 +0,0 @@
-#
-# 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))
diff --git a/lang/python/python/files/config.site b/lang/python/python/files/config.site
deleted file mode 100644 (file)
index cfa56b8..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-#! /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
-
diff --git a/lang/python/python/files/python-config.in b/lang/python/python/files/python-config.in
deleted file mode 100644 (file)
index c4a9c27..0000000
+++ /dev/null
@@ -1,80 +0,0 @@
-#!@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)
-
diff --git a/lang/python/python/files/python-package-codecs.mk b/lang/python/python/files/python-package-codecs.mk
deleted file mode 100644 (file)
index 7d3c615..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-#
-# 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 \
-))
diff --git a/lang/python/python/files/python-package-compiler.mk b/lang/python/python/files/python-package-compiler.mk
deleted file mode 100644 (file)
index c840ce1..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-#
-# 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 \
-))
diff --git a/lang/python/python/files/python-package-ctypes.mk b/lang/python/python/files/python-package-ctypes.mk
deleted file mode 100644 (file)
index 5c34b7a..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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 \
-))
diff --git a/lang/python/python/files/python-package-db.mk b/lang/python/python/files/python-package-db.mk
deleted file mode 100644 (file)
index a257820..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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 \
-))
diff --git a/lang/python/python/files/python-package-decimal.mk b/lang/python/python/files/python-package-decimal.mk
deleted file mode 100644 (file)
index 578486d..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-#
-# 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 \
-))
diff --git a/lang/python/python/files/python-package-dev.mk b/lang/python/python/files/python-package-dev.mk
deleted file mode 100644 (file)
index 7c9e219..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-#
-# 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 \
-))
-
diff --git a/lang/python/python/files/python-package-distutils.mk b/lang/python/python/files/python-package-distutils.mk
deleted file mode 100644 (file)
index a139ddb..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-#
-# 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 \
-))
diff --git a/lang/python/python/files/python-package-email.mk b/lang/python/python/files/python-package-email.mk
deleted file mode 100644 (file)
index 8c15583..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-#
-# 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 \
-))
diff --git a/lang/python/python/files/python-package-gdbm.mk b/lang/python/python/files/python-package-gdbm.mk
deleted file mode 100644 (file)
index 23c7a29..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-#
-# 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 \
-))
diff --git a/lang/python/python/files/python-package-lib2to3.mk b/lang/python/python/files/python-package-lib2to3.mk
deleted file mode 100644 (file)
index 925cfe2..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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 \
-))
diff --git a/lang/python/python/files/python-package-logging.mk b/lang/python/python/files/python-package-logging.mk
deleted file mode 100644 (file)
index efef531..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-#
-# 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 \
-))
diff --git a/lang/python/python/files/python-package-multiprocessing.mk b/lang/python/python/files/python-package-multiprocessing.mk
deleted file mode 100644 (file)
index ccb55f5..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-#
-# 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 \
-))
diff --git a/lang/python/python/files/python-package-ncurses.mk b/lang/python/python/files/python-package-ncurses.mk
deleted file mode 100644 (file)
index d952b50..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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 \
-))
diff --git a/lang/python/python/files/python-package-openssl.mk b/lang/python/python/files/python-package-openssl.mk
deleted file mode 100644 (file)
index dbf6fe1..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-#
-# 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 \
-))
diff --git a/lang/python/python/files/python-package-pip.mk b/lang/python/python/files/python-package-pip.mk
deleted file mode 100644 (file)
index 0a8b69a..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-#
-# 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 \
-))
diff --git a/lang/python/python/files/python-package-pkg-resources.mk b/lang/python/python/files/python-package-pkg-resources.mk
deleted file mode 100644 (file)
index f0e819b..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-#
-# 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 \
-))
diff --git a/lang/python/python/files/python-package-pydoc.mk b/lang/python/python/files/python-package-pydoc.mk
deleted file mode 100644 (file)
index 1e3c385..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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 \
-))
diff --git a/lang/python/python/files/python-package-setuptools.mk b/lang/python/python/files/python-package-setuptools.mk
deleted file mode 100644 (file)
index 305a515..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-#
-# 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 \
-))
diff --git a/lang/python/python/files/python-package-sqlite3.mk b/lang/python/python/files/python-package-sqlite3.mk
deleted file mode 100644 (file)
index 22a6fbc..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-#
-# 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 \
-))
diff --git a/lang/python/python/files/python-package-unittest.mk b/lang/python/python/files/python-package-unittest.mk
deleted file mode 100644 (file)
index 3c93f51..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-#
-# 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 \
-))
diff --git a/lang/python/python/files/python-package-xml.mk b/lang/python/python/files/python-package-xml.mk
deleted file mode 100644 (file)
index 28e734e..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-#
-# 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 \
-))
diff --git a/lang/python/python/patches-setuptools/001-reproducible.patch b/lang/python/python/patches-setuptools/001-reproducible.patch
deleted file mode 100644 (file)
index 32edc56..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-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)):
diff --git a/lang/python/python/patches-setuptools/002-sorted-requires.patch b/lang/python/python/patches-setuptools/002-sorted-requires.patch
deleted file mode 100644 (file)
index 2ad4795..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-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)
diff --git a/lang/python/python/patches-setuptools/003-PKG-INFO-output-reproducible.patch b/lang/python/python/patches-setuptools/003-PKG-INFO-output-reproducible.patch
deleted file mode 100644 (file)
index 15f34dc..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-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)
diff --git a/lang/python/python/patches/001-enable-zlib.patch b/lang/python/python/patches/001-enable-zlib.patch
deleted file mode 100644 (file)
index 5802e99..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-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.
diff --git a/lang/python/python/patches/002-do-not-add-include-dirs-when-cross-compiling.patch b/lang/python/python/patches/002-do-not-add-include-dirs-when-cross-compiling.patch
deleted file mode 100644 (file)
index da48819..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
---- 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
diff --git a/lang/python/python/patches/003-do-not-compile-tests-at-build.patch b/lang/python/python/patches/003-do-not-compile-tests-at-build.patch
deleted file mode 100644 (file)
index 6ea72a1..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
---- 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):
diff --git a/lang/python/python/patches/004-do-not-write-bytes-codes.patch b/lang/python/python/patches/004-do-not-write-bytes-codes.patch
deleted file mode 100644 (file)
index 06c265c..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
---- 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 */
diff --git a/lang/python/python/patches/005-fix-bluetooth-support.patch b/lang/python/python/patches/005-fix-bluetooth-support.patch
deleted file mode 100644 (file)
index 6448f63..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
---- 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
diff --git a/lang/python/python/patches/006-remove-multi-arch-and-local-paths.patch b/lang/python/python/patches/006-remove-multi-arch-and-local-paths.patch
deleted file mode 100644 (file)
index 806b7af..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
---- 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.
diff --git a/lang/python/python/patches/007-distutils-do-not-adjust-path.patch b/lang/python/python/patches/007-distutils-do-not-adjust-path.patch
deleted file mode 100644 (file)
index 49fe926..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
---- 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)
diff --git a/lang/python/python/patches/008-distutils-use-python-sysroot.patch b/lang/python/python/patches/008-distutils-use-python-sysroot.patch
deleted file mode 100644 (file)
index 4aeb7ff..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-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('.')
diff --git a/lang/python/python/patches/009-do-not-use-dblib_dir-when-cross-compiling.patch b/lang/python/python/patches/009-do-not-use-dblib_dir-when-cross-compiling.patch
deleted file mode 100644 (file)
index a40aec8..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
---- 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),
diff --git a/lang/python/python/patches/010-do-not-add-rt-lib-dirs-when-cross-compiling.patch b/lang/python/python/patches/010-do-not-add-rt-lib-dirs-when-cross-compiling.patch
deleted file mode 100644 (file)
index 925fa97..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
---- 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)
diff --git a/lang/python/python/patches/012-add-support-source-date-epoch-pyc.patch b/lang/python/python/patches/012-add-support-source-date-epoch-pyc.patch
deleted file mode 100644 (file)
index 282a6fb..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
---- 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')
diff --git a/lang/python/python/patches/013-getbuildinfo-date-time-source-date-epoch.patch b/lang/python/python/patches/013-getbuildinfo-date-time-source-date-epoch.patch
deleted file mode 100644 (file)
index f6891d7..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
---- 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)`\"" \
diff --git a/lang/python/python/patches/021-compileall-add-recursion-option.patch b/lang/python/python/patches/021-compileall-add-recursion-option.patch
deleted file mode 100644 (file)
index 4a0485e..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
---- 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
diff --git a/lang/python/python/patches/024-musl-find_library.patch b/lang/python/python/patches/024-musl-find_library.patch
deleted file mode 100644 (file)
index 70b5159..0000000
+++ /dev/null
@@ -1,74 +0,0 @@
-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):
diff --git a/lang/python/python/patches/025-utime.patch b/lang/python/python/patches/025-utime.patch
deleted file mode 100644 (file)
index 20d0310..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
---- 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) {
diff --git a/lang/python/python/patches/026-bpo-34585-Dont-do-runtime-test-to-get-float-byte-order-GH-9085.patch b/lang/python/python/patches/026-bpo-34585-Dont-do-runtime-test-to-get-float-byte-order-GH-9085.patch
deleted file mode 100644 (file)
index c72748d..0000000
+++ /dev/null
@@ -1,209 +0,0 @@
-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
diff --git a/lang/python/python/patches/027-bpo-34585-run-autoconf-GH-9411-edited.patch b/lang/python/python/patches/027-bpo-34585-run-autoconf-GH-9411-edited.patch
deleted file mode 100644 (file)
index 137ed9a..0000000
+++ /dev/null
@@ -1,218 +0,0 @@
-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
index c2e6a98b5a8481dfba81f62cc505b93a53fe4f77..6ef9727fe7acff053a75e6a5113e2d229d02798c 100644 (file)
@@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=asgiref
 PKG_VERSION:=3.2.7
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PYPI_NAME:=asgiref
 PKG_HASH:=8036f90603c54e93521e5777b2b9a39ba1bad05773fcf2d208f0299d1df58ce5
@@ -22,7 +22,6 @@ define Package/python3-asgiref
   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
index 5fc5bd0aecfb63e86b22358019656877ad6bcf41..5caf251995b1d713ad69ec1c32c8af44ff41b73c 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=python3-bottle
 PKG_VERSION:=0.12.17
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PYPI_NAME:=bottle
 PKG_HASH:=e9eaa412a60cc3d42ceb42f58d15864d9ed1b92e9d630b8130c871c5bb16107c
@@ -30,7 +30,6 @@ define Package/python3-bottle
        TITLE:=Fast and simple WSGI-framework for small web-applications
        URL:=https://bottlepy.org
        DEPENDS:=+python3
-       VARIANT:=python3
 endef
 
 define Package/python3-bottle/description
index b7d8778236cd99b1cfaf18ee74628ecab2d85184..1279516a0944181b0ffb276100d57520d079ae58 100644 (file)
@@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=django-cors-headers
 PKG_VERSION:=3.2.1
-PKG_RELEASE:=2
+PKG_RELEASE:=3
 
 PYPI_NAME:=django-cors-headers
 PKG_HASH:=a5960addecc04527ab26617e51b8ed42f0adab4594b24bb0f3c33e2bd3857c3f
@@ -22,7 +22,6 @@ define Package/python3-django-cors-headers
   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
index 9c9787ba54196f9a38553b5951e9057c753dcddd..50321db85f3f6f435d6edc3d769e78d673f7b868 100644 (file)
@@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=django-etesync-journal
 PKG_VERSION:=1.2.0
-PKG_RELEASE:=2
+PKG_RELEASE:=3
 
 PYPI_NAME:=django-etesync-journal
 PKG_HASH:=1b481f592217186482be9faee686f0c132790db4177deb1f5152b73e99ac6338
@@ -22,7 +22,6 @@ define Package/python3-django-etesync-journal
   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
index 3a42067dd235465150a060f71c8d7d2d40403ff9..4e0289d197fba43035c6e2b348639c92afb99424 100644 (file)
@@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=drf-nested-routers
 PKG_VERSION:=0.91
-PKG_RELEASE:=2
+PKG_RELEASE:=3
 
 PYPI_NAME:=drf-nested-routers
 PKG_HASH:=46e5c3abc15c782cafafd7d75028e8f9121bbc6228e3599bbb48a3daa4585034
@@ -22,7 +22,6 @@ define Package/python3-drf-nested-routers
   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
index 403d0d282122f5557466c22e4f26fd6dc1cbae92..81b0025b1770af8d953e2d7773a99859b7981354 100644 (file)
@@ -5,12 +5,9 @@
 # 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
@@ -25,23 +22,7 @@ HOST_PYTHON3_BIN:=$(HOST_PYTHON3_DIR)/bin/python$(PYTHON3_VERSION)
 
 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)" \
@@ -51,30 +32,27 @@ define host_python3_settings
        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" \
@@ -85,11 +63,9 @@ endef
 # $(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
index 7d96da49fd52589b680763777d340df69e74d88e..b04f9d9b6b6017481d5692717dcc7b1f1bb5412f 100644 (file)
@@ -10,7 +10,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=maxminddb
 PKG_VERSION:=1.5.2
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PYPI_NAME:=$(PKG_NAME)
 PKG_HASH:=d0ce131d901eb11669996b49a59f410efd3da2c6dbe2c0094fe2fef8d85b6336
@@ -30,7 +30,6 @@ define Package/python3-maxminddb
   TITLE:=Reader for the MaxMind DB format
   URL:=https://dev.maxmind.com/
   DEPENDS:=+python3-light +libmaxminddb
-  VARIANT:=python3
 endef
 
 define Package/python3-maxminddb/description
index 11f1da331346f2fe8155b46f7312c7ebb378b878..02fc5c2b0969dd0072b5df8143746d7074114475 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=python3-netifaces
 PKG_VERSION:=0.10.9
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PYPI_NAME:=netifaces
 PKG_HASH:=2dee9ffdd16292878336a58d04a20f0ffe95555465fee7c9bd23b3490ef2abf3
@@ -29,7 +29,6 @@ define Package/python3-netifaces
   TITLE:=Portable network interface information
   URL:=https://github.com/al45tair/netifaces
   DEPENDS:=+python3-light
-  VARIANT:=python3
 endef
 
 define Package/python3-netifaces/description
index d20d19801a0497d13209c329ba197c78d3d50095..b16773263f37e60fb403db030a1d66b6456950b5 100644 (file)
@@ -5,12 +5,12 @@
 # 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)
 
@@ -27,19 +27,106 @@ CONFIGURE_ARGS += \
        _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:=
@@ -52,89 +139,64 @@ define Py3Package
   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)" \
@@ -145,8 +207,8 @@ endef
 
 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
index e3c8f6225bbb96376d3a52fbce41732c3099f6db..b1b37dac04708db7ea6c8a6edd3b2a31162eba96 100644 (file)
@@ -101,13 +101,13 @@ HOST_PYTHON3_PIP_INSTALL_CLEANUP:=$(call HOST_PYTHON3_PIP_INSTALL,$(PKG_INSTALL_
 
 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
 
index 9430655f135ab4da31369c2421d3ea4bdda600e0..4e08314d3886ad42d230dde4a1c519a8bb0fefa0 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=python3-pyroute2
 PKG_VERSION:=0.5.7
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PYPI_NAME:=pyroute2
 PKG_HASH:=963fce07da2841456d39e3b932b071f6de28d23dadfae014022d67a752916f98
@@ -35,7 +35,6 @@ define Package/python3-pyroute2
          +python3-multiprocessing \
          +python3-sqlite3 \
          +python3-ctypes
-  VARIANT:=python3
 endef
 
 define Package/python3-pyroute2/description
index ec53116477eb228dbc64e1fd76256954fdeecfd0..9c87f8b445dc73eb1a57355c666148856b9417f0 100644 (file)
@@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=python3-speedtest-cli
 PKG_VERSION:=2.1.2
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PYPI_NAME:=speedtest-cli
 PKG_HASH:=cf1d386222f94c324e3125ba9a0d187e46d4a13dca08c023bdb9a23096be2e54
@@ -23,7 +23,6 @@ define Package/python3-speedtest-cli
   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
index c7d38625070dc6128188cf5a9ac0034351a28d0a..508e0a50ebb54caa2417d15c0f307c5ffa40e889 100644 (file)
@@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=sqlparse
 PKG_VERSION:=0.3.1
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PYPI_NAME:=sqlparse
 PKG_HASH:=e162203737712307dfe78860cc56c8da8a852ab2ee33750e33aeadf38d12c548
@@ -22,7 +22,6 @@ define Package/python3-sqlparse
   TITLE:=Non-validating SQL parser module.
   URL:=https://github.com/andialbrecht/sqlparse
   DEPENDS:=+python3-light
-  VARIANT:=python3
 endef
 
 define Package/python3-sqlparse/description
index 044990f85317e5ad230dd282dba5e8a8db014b07..30265718c27a47bae2df03e51317217777cd5c48 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=python3-unidecode
 PKG_VERSION:=1.1.1
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PYPI_NAME:=Unidecode
 PKG_HASH:=2b6aab710c2a1647e928e36d69c21e76b453cd455f4e2621000e54b2a9b8cce8
@@ -29,7 +29,6 @@ define Package/python3-unidecode
   TITLE:=ASCII transliterations of Unicode text
   URL:=https://github.com/avian2/unidecode
   DEPENDS:=+python3-light
-  VARIANT:=python3
 endef
 
 define Package/python-unidecode/description
index 120c083730fe152380b88d711ac80f04563fa1e3..db59f27394ab518caf8c48ac7f81c91615b82e4f 100644 (file)
@@ -13,7 +13,7 @@ PYTHON3_VERSION_MICRO:=2
 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
index b47530bf6222075259077118f2ad19ea6229f8ca..627a1d3a688fcee1b1bd2089ebdb6f29c2b118e0 100644 (file)
@@ -7,15 +7,12 @@
 
 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)
@@ -30,6 +27,7 @@ PKG_CPE_ID:=cpe:/a:python:python
 include ../python3-host.mk
 
 # For Py3Package
+PYTHON3_PKG_BUILD:=0
 include ../python3-package.mk
 
 PKG_FIXUP:=autoreconf
@@ -55,7 +53,7 @@ define Package/python3/Default
   SUBMENU:=Python
   SECTION:=lang
   CATEGORY:=Languages
-  TITLE:=Python $(PYTHON_VERSION) programming language
+  TITLE:=Python $(PYTHON3_VERSION) programming language
   URL:=https://www.python.org/
 endef
 
@@ -70,7 +68,7 @@ endef
 
 define Package/python3-base
 $(call Package/python3/Default)
-  TITLE:=Python $(PYTHON_VERSION) interpreter
+  TITLE:=Python $(PYTHON3_VERSION) interpreter
   DEPENDS:=+libpthread +zlib
 endef
 
@@ -81,7 +79,7 @@ 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
 
@@ -108,8 +106,8 @@ define Py3BasePackage
   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?=:
@@ -144,7 +142,7 @@ 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)" \
+       PYTHONPATH="$(PKG_BUILD_DIR)/Lib:$(PKG_BUILD_DIR)/build/lib.linux2-$(PYTHON3_VERSION)" \
        _PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata \
        $(HOST_PYTHON3_BIN)
 
@@ -218,71 +216,72 @@ define Build/InstallDev
        $(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:=:
index 642bb0b5ff093897619253675ae99bf598ac21f1..12ceceab766392a8fa68ca22693c0e855f104377 100644 (file)
@@ -15,12 +15,12 @@ define Py3Package/python3-dev/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 \
index a27d40a4e504dae7535afaa5bc504ab0106675e4..0182c99d824eb0c05df2c5ab59b59fa410eafcf4 100644 (file)
@@ -17,7 +17,8 @@ endef
 
 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 \
index 0fa9f1a383fc99965979dc9e8377cf3f711da1f6..389ce7d76a2115ec179c2a978d3a5159bb7e9845 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=ruamel-yaml
 PKG_VERSION:=0.15.100
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PYPI_NAME:=ruamel.yaml
 PKG_HASH:=8e42f3067a59e819935a2926e247170ed93c8f0b2ab64526f888e026854db2e4
@@ -22,25 +22,18 @@ include ../pypi.mk
 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))
index 88acb06f8a2e47083a6554becad0a1f6cb3163cd..e77108f4561b18fd12ddd0f8cd46b7e30474dcc8 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=python-text-unidecode
 PKG_VERSION:=1.3
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PYPI_NAME:=text-unidecode
 PKG_HASH:=bad6603bb14d279193107714b288be206cac565dfa49aa5b105294dd5c4aab93
@@ -22,25 +22,18 @@ include ../pypi.mk
 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))
index 7afdd59c01dabec376ea8cdcf43ddb66f490a67c..ebda4959d28b1c29288ce4d465def1724ddd4520 100644 (file)
@@ -5,7 +5,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=vobject
 PKG_VERSION:=0.9.6.1
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 PKG_LICENSE:=Apache-2.0
 
 PYPI_NAME:=$(PKG_NAME)
@@ -16,25 +16,17 @@ include $(INCLUDE_DIR)/package.mk
 
 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))
index 78d9d6a5667290debc20437cb6870d577fd2519a..44cf4cd502b8aadddfeb7e29b112a035efbd26ac 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=python-xmltodict
 PKG_VERSION:=0.12.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PYPI_NAME:=xmltodict
 PKG_HASH:=50d8c638ed7ecb88d90561beedbf720c9b4e851a9fa6c47ebd64e99d166d8a21
@@ -32,7 +32,6 @@ define Package/python3-xmltodict
        +python3-light \
        +python3-xml \
        +python3-urllib
-  VARIANT:=python3
 endef
 
 define Package/python3-xmltodict/description
index 07bf5f51762eb3857361664d95cfef5181b30de3..d6aa2c76f168c9acb4786c1fa2954514c975f59a 100644 (file)
@@ -1,6 +1,6 @@
 #
 # 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
@@ -186,7 +186,7 @@ endef
 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)
@@ -217,9 +217,15 @@ define Package/ruby-stdlib/install
        /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
@@ -233,16 +239,13 @@ define Package/ruby-bundler/files
 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/
@@ -266,25 +269,22 @@ define Package/ruby-dbm/files
 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
@@ -324,12 +324,6 @@ define Package/ruby-enc/files
 /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
@@ -369,7 +363,7 @@ 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
 
@@ -405,6 +399,12 @@ define Package/ruby-gems/install
        $(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
@@ -441,6 +441,7 @@ endef
 
 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
@@ -467,10 +468,7 @@ define Package/ruby-misc/files
 /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
@@ -489,7 +487,7 @@ endef
 
 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
@@ -503,6 +501,26 @@ define Package/ruby-net/files
 /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
@@ -519,6 +537,20 @@ define Package/ruby-nkf/files
 /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
@@ -534,14 +566,10 @@ endef
 
 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-*
@@ -563,6 +591,9 @@ endef
 
 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
@@ -573,8 +604,18 @@ 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
@@ -602,11 +643,6 @@ define Package/ruby-rdoc/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/
@@ -615,7 +651,22 @@ define Package/ruby-rdoc/install
 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
@@ -639,20 +690,16 @@ define Package/ruby-rss/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
@@ -672,11 +719,6 @@ define Package/ruby-strscan/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-*
@@ -692,10 +734,11 @@ define Package/ruby-time/files
 /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
@@ -711,6 +754,8 @@ endef
 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
@@ -732,6 +777,8 @@ endef
 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
@@ -810,75 +857,79 @@ endef
 $(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,))
diff --git a/lang/ruby/patches/001_fix_isnan_isinf_finite_with_uclibc.patch b/lang/ruby/patches/001_fix_isnan_isinf_finite_with_uclibc.patch
deleted file mode 100644 (file)
index 2919ae8..0000000
+++ /dev/null
@@ -1,86 +0,0 @@
-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
-+])
diff --git a/lang/ruby/patches/100-musl.patch b/lang/ruby/patches/100-musl.patch
new file mode 100644 (file)
index 0000000..ce6a338
--- /dev/null
@@ -0,0 +1,24 @@
+--- 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})
index a322c0d9cfc119bd443a129addfeee041eebc51b..8210756c9219de205b57c12aa0bed1e831b1d62e 100644 (file)
@@ -22,11 +22,12 @@ end
 
 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=[
@@ -85,7 +86,7 @@ packages.each do
                                                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")
@@ -141,10 +142,12 @@ weak_dependency.merge!({
 "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
@@ -198,11 +201,17 @@ begin
        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
@@ -218,7 +227,7 @@ puts "Checking for mutual dependencies..."
 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
index 84880565c49ce4361f20c88f271bc0f2fcf748b5..55dee779c0c0bf9579ae56461e71cd6384470ba0 100644 (file)
@@ -6,10 +6,8 @@
 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" \
index 4af984ec46e1a9f17d3c1becf027159712525a14..82c4e2b0ff206eb059384745613f167261eb770a 100644 (file)
@@ -8,13 +8,13 @@
 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>
@@ -32,7 +32,7 @@ define Package/alsa-lib
   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
 
@@ -41,6 +41,20 @@ define Package/alsa-lib/description
  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
@@ -51,8 +65,8 @@ CONFIGURE_ARGS+= \
                --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/
@@ -64,6 +78,9 @@ define Build/InstallDev
        $(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/
@@ -79,6 +96,9 @@ define Package/alsa-lib/install
        $(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) \
@@ -92,4 +112,10 @@ define Package/alsa-lib/install
                $(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))
index 5d1117811fb20729a02ef97633d12e51ac4a2bd6..9a3258c7236367db2aa47cb9628328659417d231 100644 (file)
@@ -1,6 +1,6 @@
 --- 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) 
diff --git a/libs/alsa-lib/patches/200-usleep.patch b/libs/alsa-lib/patches/200-usleep.patch
new file mode 100644 (file)
index 0000000..86badc2
--- /dev/null
@@ -0,0 +1,34 @@
+--- 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;
index d020c1e6b8b83442a01a3efe435de00620b34303..67aa0c804c9f2bc7fff2a07c565f122b38ea13b4 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 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) \
@@ -321,9 +321,9 @@ endif
        $(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
index 911059bc5ff6703436cb31ccefe546b559746186..2adcb31da579d12c561e7dd7f6cf9ee2df6ba00f 100644 (file)
@@ -21,7 +21,6 @@ PKG_LICENSE_FILES:=COPYING
 
 PKG_INSTALL:=1
 PKG_BUILD_PARALLEL:=0
-PKG_BUILD_DEPENDS:=gettext-full/host
 
 include $(INCLUDE_DIR)/package.mk
 
index 882999f1acc86bb665e2485f481f9d9d0890acec..31a9cda0081044e6f348d1b7fad7c95f022a1c12 100644 (file)
@@ -2,7 +2,7 @@ include $(TOPDIR)/rules.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
diff --git a/libs/h2o/patches/600-engine.patch b/libs/h2o/patches/600-engine.patch
new file mode 100644 (file)
index 0000000..f36fa3b
--- /dev/null
@@ -0,0 +1,28 @@
+--- 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;
index c1fb6de03088b7376e02602a2ee2925ebb235ed3..2545c78cf1dd701ea8dbd4aa033b402bd859ee9e 100644 (file)
@@ -2,17 +2,18 @@ include $(TOPDIR)/rules.mk
 
 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
 
@@ -20,7 +21,7 @@ define Package/libcgroup
   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
@@ -33,27 +34,31 @@ define Package/libcgroup/description
   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))
diff --git a/libs/libcgroup/patches/0001-musl-fts-configure.patch b/libs/libcgroup/patches/0001-musl-fts-configure.patch
deleted file mode 100644 (file)
index f6079a6..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-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
diff --git a/libs/libcgroup/patches/010-cdefs.patch b/libs/libcgroup/patches/010-cdefs.patch
new file mode 100644 (file)
index 0000000..c40cbb5
--- /dev/null
@@ -0,0 +1,240 @@
+--- 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
index 93a28eedd9ebe3d3b0412bccce405ed93d62400a..5e3e1947197faac709a981cd77f49c5270755bdb 100644 (file)
@@ -6,19 +6,21 @@
 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
@@ -34,15 +36,25 @@ define Package/libdrm/description
   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) \
index 0ee832c92469cdc5f9842a4cb0b1a9636094acbb..a5f620c51a449c5c01724e6679ddf2e1599006ed 100644 (file)
@@ -5,21 +5,22 @@
 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
@@ -37,11 +38,16 @@ define Package/libevdev/description
   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
diff --git a/libs/libevdev/patches/010-no-clock-monotonic-raw-in-uclibc.patch b/libs/libevdev/patches/010-no-clock-monotonic-raw-in-uclibc.patch
deleted file mode 100644 (file)
index a11ac1e..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
---- 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;
index c625f447d57cef111d9cefbd3a6b1f48d70aa14e..1f2119221cb7c4f41779e28d9d070b13dbf9a803 100644 (file)
@@ -8,18 +8,18 @@
 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
@@ -46,6 +46,20 @@ A layer must exist above libffi that handles type conversions for values passed
 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) \
@@ -54,11 +68,11 @@ define Build/InstallDev
        $(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
 
@@ -69,15 +83,5 @@ define Package/libffi/install
                $(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))
diff --git a/libs/libffi/patches/002-fix-toolexeclibdir-path.patch b/libs/libffi/patches/002-fix-toolexeclibdir-path.patch
deleted file mode 100644 (file)
index f79c132..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-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}"
index 09b91eff53076c5947fab1c158f45f2d9af44d54..c3f70242abbf1987cea180fea029922a272f5bf4 100644 (file)
-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
        
@@ -152,25 +21,6 @@ index eb27981..429dd0a 100644
        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 
index 7f715216e74504eccaa70ff49f2eae8d2225aad1..e512d998cf9093b723a91373d5d42930d0a04131 100644 (file)
@@ -8,13 +8,13 @@
 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>
index 66359e6e662c300a931785963b4bbdeae21e2b15..012eb4381f53012a2726805a7a0521f5e1cc6774 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 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)/
@@ -20,7 +20,6 @@ PKG_LICENSE:=MIT
 PKG_LICENSE_FILES:=COPYING
 PKG_CPE_ID:=cpe:/a:libgd:libgd
 
-CMAKE_INSTALL:=1
 PKG_BUILD_PARALLEL:=1
 
 include $(INCLUDE_DIR)/package.mk
@@ -110,6 +109,12 @@ endif
 
 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/
diff --git a/libs/libgd/patches/010-getlib.patch b/libs/libgd/patches/010-getlib.patch
new file mode 100644 (file)
index 0000000..00027e5
--- /dev/null
@@ -0,0 +1,61 @@
+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
+
index 86604b2de2eb0b5cfccee0715cc5007aadd6acf0..11bf13ae86fbd418038184bfbb36cd99833f1d54 100644 (file)
@@ -22,6 +22,7 @@ PKG_MAINTAINER:=Michael Heimpold <mhei@heimpold.de>
 
 PKG_INSTALL:=1
 PKG_BUILD_PARALLEL:=1
+PYTHON3_PKG_BUILD:=0
 
 include $(INCLUDE_DIR)/package.mk
 include ../../lang/python/python3-package.mk
index 14753fd1a4890d702ab4326ec96517915f2a77b2..978a12cfeefa8ba224460d783aa886f36be01d65 100644 (file)
@@ -23,10 +23,11 @@ PKG_LICENSE_FILES:=COPYING
 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
index 538e43d1cbd57e7978e17aed989bf278dbedc68a..80495ce257018e771470d97a6f2b9904979bf3ac 100644 (file)
@@ -1,64 +1,48 @@
 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))
diff --git a/libs/libre2/patches/010-cxx17.patch b/libs/libre2/patches/010-cxx17.patch
new file mode 100644 (file)
index 0000000..1eccb31
--- /dev/null
@@ -0,0 +1,23 @@
+--- 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
index b2eba09a062e7cd23f576c9ed1052b7005a105bd..e084e4eb170d59d5ca91ba38b6a98c04df88799d 100644 (file)
@@ -9,19 +9,23 @@ include $(TOPDIR)/rules.mk
 
 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
@@ -47,19 +51,21 @@ define Package/python3-searpc
   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
@@ -74,13 +80,6 @@ define Package/libsearpc/install
        $(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))
diff --git a/libs/libsearpc/patches/001-fix-memory-leak-GH-48.patch b/libs/libsearpc/patches/001-fix-memory-leak-GH-48.patch
deleted file mode 100644 (file)
index a0ae81f..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-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);
- }
diff --git a/libs/libsearpc/patches/001-no-python-compile.patch b/libs/libsearpc/patches/001-no-python-compile.patch
new file mode 100644 (file)
index 0000000..fc9120b
--- /dev/null
@@ -0,0 +1,8 @@
+--- 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
index ea1d9db83cf799f2d7891cb3c854db8101fae7a3..2514313b86991037812a28199abed904391541a6 100644 (file)
@@ -7,14 +7,14 @@ include $(TOPDIR)/rules.mk
 
 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
 
diff --git a/libs/libshout/patches/130-usleep.patch b/libs/libshout/patches/130-usleep.patch
new file mode 100644 (file)
index 0000000..291593a
--- /dev/null
@@ -0,0 +1,14 @@
+--- 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);
+     }
index fdabc9b39db1a55a7358c83a63d27de4f5ad55d6..dee690066c4a22c92ed5976b8417b5dc74ec9cf1 100644 (file)
@@ -8,12 +8,12 @@
 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
index b63b9d17fb8c0728d539585c7b83045e49e199ed..7a2b8a2d2092bb0e8209cd63afeef92b8d857b37 100644 (file)
@@ -24,10 +24,11 @@ CMAKE_INSTALL:=1
 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 \
index d4c23d5ca26e6ddc81c9b793e83e8e835a7df131..31dadd9a5de83523aead00073fd2311442ff2a96 100644 (file)
@@ -1,12 +1,12 @@
 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
index 21fc5b9c2ff53633d324fb66713b7234ffe708e9..ed82da05232c97899f0f0f65d9c108f42558882a 100644 (file)
@@ -6,22 +6,21 @@
 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
@@ -53,6 +52,8 @@ define Package/libv4l
   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
@@ -64,7 +65,9 @@ define Package/v4l-utils
   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
@@ -73,7 +76,10 @@ 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 \
@@ -81,7 +87,7 @@ CONFIGURE_ARGS+= \
        --disable-libdvbv5 \
        --disable-qv4l2 \
        --disable-qvidcap \
-       --without-jpeg \
+       --without-jpeg
 
 define Build/InstallDev
        $(INSTALL_DIR) $(1)/usr/include
diff --git a/libs/libv4l/patches/050-4.14.patch b/libs/libv4l/patches/050-4.14.patch
new file mode 100644 (file)
index 0000000..7cad8ec
--- /dev/null
@@ -0,0 +1,13 @@
+--- 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"
index 5aab2602c5d1c2660f5657afa59b41636f9a0e77..7c0d70171976dc2cf0ee76cdf884d6a365d7d1f1 100644 (file)
@@ -9,22 +9,19 @@
 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))))
 
@@ -36,7 +33,7 @@ define Package/libvpx
   SECTION:=libs
   CATEGORY:=Libraries
   TITLE:=libvpx
-  URL:=http://www.webmproject.org/
+  URL:=https://www.webmproject.org/
   DEPENDS:=+libpthread
   ABI_VERSION:=$(PKG_ABI_VERSION)
 endef
index 0856aed2f7eebf2f1660347fb83563fd9c3f8bf9..605041027162d83cc6c168d720a57acd0d795184 100644 (file)
@@ -8,19 +8,19 @@
 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
 
index 10abe55f4ba67a4dad0ff8a08da433e2bd99f815..dd4ddcb2c53d77d4ae2ca358218766a5d76ec349 100644 (file)
@@ -11,7 +11,7 @@ include $(TOPDIR)/rules.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
@@ -24,6 +24,7 @@ PKG_CPE_ID:=cpe:/a:fedorahosted:newt
 
 PKG_BUILD_PARALLEL:=1
 PKG_INSTALL:=1
+PYTHON3_PKG_BUILD:=0
 
 include $(INCLUDE_DIR)/package.mk
 include $(INCLUDE_DIR)/nls.mk
@@ -73,7 +74,6 @@ $(call Package/newt/Default)
   SUBMENU:=Python
   TITLE+= module for Python
   DEPENDS:=+libnewt +python3-light
-  VARIANT:=python3
 endef
 
 define Package/python3-newt/description
@@ -93,8 +93,6 @@ CONFIGURE_VARS += $(if $(CONFIG_BUILD_NLS),ac_cv_lib_c_gettext=no)
 
 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/
index c4293e572d18af142417affad3b889f277332feb..a38c5cf9733b128244d7e46e7bfb7422805fc8fd 100644 (file)
@@ -7,14 +7,14 @@
 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
index a2b2196aa3932fff267652ffa4a9fef9f45bb9fa..26bf89743fb9b8f23738f85312f8dd75aef07669 100644 (file)
@@ -6,6 +6,9 @@ Origin:                  Self, rediffed for nss-3.28.
 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
@@ -232,7 +235,7 @@ diff -Naurp nss-3.28-orig/nss/config/nss.pc.in nss-3.28/nss/config/nss.pc.in
 +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}
 +
index c765521f4da7880642e69d6111e40eb87df7bcfb..747860f520ee7d147a15bc21275305c183bf9568 100644 (file)
  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
index 3fbfaab874c26502f2218b697dd45ed6f2c89a1a..9827ac0215bc10f3d6a3381ff077a262bfba3a31 100644 (file)
@@ -8,21 +8,22 @@
 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
@@ -40,21 +41,19 @@ endef
 
 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
index 4363200acccf1da7fecbfce11cdacf883e18fc25..721d17abc36635e071c2732b098b38cd7d64f0c2 100644 (file)
@@ -10,7 +10,7 @@ include $(TOPDIR)/rules.mk
 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)?
@@ -43,6 +43,8 @@ define Package/quasselc/description
   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/
index 4cc9df63a1ae5048b8dba4df825f3911901f92f8..f6ddef031ebee967ec037d056f1b828dee03eb1b 100644 (file)
  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
index f50cd7aba5bb092bf78d479b6c64f2560eddf961..0ce26da0ee548abc16670bba1455cef222455994 100644 (file)
@@ -1,12 +1,12 @@
 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
index 697957384a71a94cf9a6f9c989c078f5e8f3e8d4..b449ef81edaae5466d85c9be2220dfdb0ecc9e25 100644 (file)
@@ -6,7 +6,7 @@ include $(TOPDIR)/rules.mk
 
 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)/
@@ -26,6 +26,7 @@ define Package/websocketpp
        CATEGORY:=Libraries
        TITLE:=WebSocket++
        URL:=https://www.zaphoyd.com/websocketpp
+       BUILDONLY:=1
 endef
 
 define Package/websocketpp/description
diff --git a/libs/websocketpp/patches/0001-boost-1.70-compat.patch b/libs/websocketpp/patches/0001-boost-1.70-compat.patch
new file mode 100644 (file)
index 0000000..bad59ef
--- /dev/null
@@ -0,0 +1,110 @@
+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
index 9ab509f6e3d2a18817c2d9d6a8801ce73726bf2e..4b9add1ea1cc6e9c604fdddd9550553e0976aed3 100644 (file)
@@ -8,13 +8,13 @@
 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
diff --git a/multimedia/gerbera/Makefile b/multimedia/gerbera/Makefile
new file mode 100644 (file)
index 0000000..9e7c0bb
--- /dev/null
@@ -0,0 +1,78 @@
+#
+# 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))
diff --git a/multimedia/gerbera/files/gerbera.config b/multimedia/gerbera/files/gerbera.config
new file mode 100644 (file)
index 0000000..811005a
--- /dev/null
@@ -0,0 +1,3 @@
+config gerbera config
+       option enabled  '0'
+       option home     '/tmp/gerbera'
diff --git a/multimedia/gerbera/files/gerbera.init b/multimedia/gerbera/files/gerbera.init
new file mode 100644 (file)
index 0000000..2cc0a52
--- /dev/null
@@ -0,0 +1,38 @@
+#!/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
+}
index 9769dc933425a1e19321543a5094b2307d875385..f7fd422906bdce05b6d1a0ad97bd21a183b20fc6 100644 (file)
@@ -5,13 +5,13 @@
 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
index 6eb4ab7cb9d214d9e334e8343da46c1e0ea27e3a..d6336b0c90812890b9fd23e59ef473927c9e51cf 100644 (file)
@@ -8,7 +8,7 @@
 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> \
@@ -16,7 +16,7 @@ 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
index 34c297941da483bc6a3e44e1d32810103ed5bfe1..ea29e1ea3e22cb7c1fef4b7ffbb70b90a4f5bc62 100644 (file)
@@ -8,26 +8,24 @@
 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:=
@@ -94,73 +92,168 @@ define Package/gstreamer1-plugins-bad/config
 
 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
@@ -243,36 +336,74 @@ $(eval $(call GstBuildPlugin,adpcmdec,adpcm decoding support,audio,,))
 $(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))
diff --git a/multimedia/gst1-plugins-bad/patches/001-no-translations.patch b/multimedia/gst1-plugins-bad/patches/001-no-translations.patch
deleted file mode 100644 (file)
index 90489c7..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
---- 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
index 8ce7ef4c132761af48fe22e25dcab70c972554eb..b6d8a30a88d79596b1cbac3155f4a63c61dcc96e 100644 (file)
@@ -8,20 +8,25 @@
 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 \
@@ -30,22 +35,20 @@ PKG_CONFIG_DEPENDS:= \
        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:=
@@ -112,51 +115,58 @@ define Package/gstreamer1-plugins-base/config
 
 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)
@@ -166,12 +176,12 @@ define Build/InstallDev
        )
        $(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
diff --git a/multimedia/gst1-plugins-base/patches/001-no-translations.patch b/multimedia/gst1-plugins-base/patches/001-no-translations.patch
deleted file mode 100644 (file)
index ce6b43b..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-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
index 010466f34a3699885f026b9a7c63d099f83eaf6f..dc229c260776766268c0b69849343eea9e9e7def 100644 (file)
@@ -8,31 +8,29 @@
 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:=
 
@@ -91,55 +89,93 @@ define Package/gstreamer1-plugins-good/config
 
 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
@@ -228,12 +264,11 @@ $(eval $(call GstBuildPlugin,rtpmanager,RTP manager,audio net rtp tag pbutils vi
 $(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))
@@ -246,6 +281,7 @@ $(eval $(call GstBuildPlugin,wavenc,Wav encoder,riff,,))
 #$(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))
diff --git a/multimedia/gst1-plugins-good/patches/001-no-translations.patch b/multimedia/gst1-plugins-good/patches/001-no-translations.patch
deleted file mode 100644 (file)
index 6cd7014..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
---- 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
index 7457347c060853ea240d595e385cf1dd1c47ed09..de6e50a7ac9346a985a950cbb4be1be69772c0b3 100644 (file)
@@ -8,30 +8,28 @@
 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:=
 
@@ -90,41 +88,32 @@ define Package/gstreamer1-plugins-ugly/config
 
 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
diff --git a/multimedia/gst1-plugins-ugly/patches/001-no-translations.patch b/multimedia/gst1-plugins-ugly/patches/001-no-translations.patch
deleted file mode 100644 (file)
index 10702d2..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
---- 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
- )
index 67a040999e914d27c535a5a8f9d2837e5dcf505d..b0293ac750abc3c26d13043bec61255cdfdb7edc 100644 (file)
@@ -8,35 +8,32 @@
 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
 
@@ -118,27 +115,28 @@ 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)
@@ -148,12 +146,12 @@ define Build/InstallDev
        )
        $(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
@@ -198,7 +196,7 @@ define Package/libgstreamer1/install
                ./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
 
index 2d025ff6c3763613f351eaf9650e4281b0bf1253..7e3a2f1fe5300a5a7796f0dbe6f9e998df126159 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=youtube-dl
 PKG_VERSION:=2020.3.24
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PYPI_NAME:=youtube_dl
 PKG_HASH:=4b03efe439f7cae26eba909821d1df00a9a4eb82741cb2e8b78fe29702bd4633
@@ -35,7 +35,6 @@ define Package/youtube-dl
     +python3-codecs \
     +python3-ctypes \
     +python3-setuptools
-  VARIANT:=python3
 endef
 
 define Package/youtube-dl/description
index d20bad1f287bdac7ccbd330b4ab8fd2429863064..dc581f5004084f27ff0e4743590efdf379ddc794 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 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)?
@@ -27,7 +27,7 @@ include $(INCLUDE_DIR)/package.mk
 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
@@ -80,7 +80,7 @@ define Package/luci-app-acme
   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
index 445c22cd2e0862c2e68ce342217f083967136de5..1a4b7f5569f1189922a8b159f48e55454cdce194 100644 (file)
@@ -6,8 +6,8 @@
 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>
 
@@ -17,7 +17,7 @@ define Package/adblock
        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
 
index 150f6495111714a7d0cdc802dfd5cb90cb302bbc..a196e590d6b2b188041b060b22ee154a64fbd223 100644 (file)
@@ -11,6 +11,7 @@ A lot of people already use adblocker plugins within their desktop browsers, but
 | 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)                                      |
@@ -18,7 +19,6 @@ A lot of people already use adblocker plugins within their desktop browsers, but
 | 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)           |
@@ -31,25 +31,29 @@ A lot of people already use adblocker plugins within their desktop browsers, but
 | 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.  
@@ -89,8 +93,10 @@ A lot of people already use adblocker plugins within their desktop browsers, but
   <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_)
@@ -101,7 +107,7 @@ A lot of people already use adblocker plugins within their desktop browsers, but
 
 ## 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]
@@ -126,46 +132,48 @@ Available commands:
 ## 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&nbsp;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&nbsp;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':**  
@@ -190,7 +198,7 @@ and at the end of the file add:
 
 **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'.  
@@ -220,7 +228,7 @@ To get the status in the CLI, just call _/etc/init.d/adblock status_ or _/etc/in
 /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
@@ -228,10 +236,10 @@ To get the status in the CLI, just call _/etc/init.d/adblock status_ or _/etc/in
   + 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'. 
@@ -267,7 +275,9 @@ A valid JSON source object contains the following required information, e.g.:
        },
        [...]
 </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>
index fc084ec141be2f6e4ac6c71a79d49f56d972b7b7..c3fd46c83b0314c422b94a926414732e08e09d58 100755 (executable)
@@ -119,11 +119,14 @@ list()
                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
index 95d7c80b545032eb460fc97c72ded63755f5ee2f..4fa4902ca74256292e443574ec31c307d409cadd 100755 (executable)
@@ -4,14 +4,14 @@
 # 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
@@ -39,9 +39,9 @@ adb_blacklist="/etc/adblock/adblock.blacklist"
 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)"
@@ -310,7 +310,7 @@ f_dns()
                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
@@ -371,7 +371,7 @@ f_fetch()
        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"}"
@@ -555,38 +555,27 @@ f_count()
 #
 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}"
@@ -600,13 +589,15 @@ f_extconf()
                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 ]
@@ -635,7 +626,7 @@ f_dnsup()
                "/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
@@ -655,6 +646,7 @@ f_dnsup()
                                        fi
                                else
                                        sleep ${adb_dnstimeout}
+                                       cnt=${adb_dnstimeout}
                                        out_rc=0
                                        break
                                fi
@@ -698,7 +690,7 @@ f_list()
                                        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}" ]
@@ -1263,11 +1255,10 @@ f_main()
                                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}"
@@ -1302,11 +1293,10 @@ f_main()
                                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}"
@@ -1461,7 +1451,8 @@ f_report()
                        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 ]
@@ -1473,8 +1464,10 @@ f_report()
                        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" ]
@@ -1501,24 +1494,24 @@ f_report()
                                        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" ]
index 806fab094a2f407d3b38c76c425f07e1e199f06e..425b739c287d3129f7a08b77f22cab697497f931 100644 (file)
                "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)}",
index 6fcb2cc615fa3f5d37d1a64866a02f78ff341981..4547002a93bffd1511840ab29c8e30483ea7b664 100644 (file)
@@ -8,13 +8,13 @@
 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)
 
@@ -271,11 +271,6 @@ CONFIGURE_VARS += \
        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
@@ -286,8 +281,6 @@ define Build/InstallDev
        $(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
diff --git a/net/apache/files/openwrt.layout b/net/apache/files/openwrt.layout
deleted file mode 100644 (file)
index 844c4f6..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-
-<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>
-
diff --git a/net/apache/patches/020-openssl-deprecated.patch b/net/apache/patches/020-openssl-deprecated.patch
deleted file mode 100644 (file)
index e583cde..0000000
+++ /dev/null
@@ -1,177 +0,0 @@
---- 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);
index 9832705e41b3559489668fd88ac1eb984f89b831..a5ba7846b08b3f10c9b6a4354b7500e68d6fe962 100644 (file)
@@ -1,6 +1,6 @@
 #
 # 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.
@@ -9,7 +9,7 @@
 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
 
@@ -18,11 +18,11 @@ PKG_LICENSE:=MPL-2.0
 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
@@ -35,12 +35,7 @@ PKG_CONFIG_DEPENDS := \
        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
 
@@ -56,15 +51,10 @@ endef
 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
@@ -78,7 +68,7 @@ endef
 
 define Package/bind-server-filter-aaaa
   $(call Package/bind-server)
-  DEPENDS:=+bind-server
+  DEPENDS:=bind-server
   TITLE+= filter AAAA plugin
 endef
 
@@ -139,19 +129,20 @@ CONFIGURE_ARGS += \
        --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 += \
diff --git a/net/boinc/Makefile b/net/boinc/Makefile
new file mode 100644 (file)
index 0000000..fb80e9a
--- /dev/null
@@ -0,0 +1,83 @@
+# 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))
diff --git a/net/boinc/files/boinc-client.init b/net/boinc/files/boinc-client.init
new file mode 100755 (executable)
index 0000000..89892da
--- /dev/null
@@ -0,0 +1,53 @@
+#!/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
+}
diff --git a/net/boinc/files/global_prefs_override.xml b/net/boinc/files/global_prefs_override.xml
new file mode 100644 (file)
index 0000000..0554d41
--- /dev/null
@@ -0,0 +1,4 @@
+<global_preferences>
+   <max_ncpus_pct>50.000000</max_ncpus_pct>
+   <disk_interval>21600.000000</disk_interval>
+<global_preferences>
diff --git a/net/boinc/files/remote_hosts.cfg b/net/boinc/files/remote_hosts.cfg
new file mode 100644 (file)
index 0000000..943aa76
--- /dev/null
@@ -0,0 +1,8 @@
+# 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
diff --git a/net/boinc/patches/001-avoidExtraDependencies b/net/boinc/patches/001-avoidExtraDependencies
new file mode 100644 (file)
index 0000000..ee91497
--- /dev/null
@@ -0,0 +1,15 @@
+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],
diff --git a/net/boinc/patches/002-hosttypeRespected b/net/boinc/patches/002-hosttypeRespected
new file mode 100644 (file)
index 0000000..6702b57
--- /dev/null
@@ -0,0 +1,51 @@
+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];
diff --git a/net/bwping/Makefile b/net/bwping/Makefile
new file mode 100644 (file)
index 0000000..33a19bd
--- /dev/null
@@ -0,0 +1,47 @@
+#
+# 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))
index 06d4aba9233faad857a1ba7c1636b52fe166549d..2dc87e7e447965809f79432d2f34e94d4ac3ed44 100644 (file)
@@ -5,13 +5,13 @@
 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
index 24d80d2942cc0caeb21b6d7fb431a7c0a6d88d32..ee9274348deca75c6813859166bd94888f38da55 100644 (file)
@@ -2,7 +2,7 @@ config network
     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'
@@ -16,14 +16,15 @@ config hostapd
     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'
@@ -41,7 +42,7 @@ config metric
     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'
@@ -53,3 +54,8 @@ config metric
     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'
index bccca669b2ad04ccf71207a7dcbae862a1f82670..626b12fe587fda4166548d15a82ea1af91a4d5ca 100755 (executable)
@@ -1,13 +1,26 @@
 #!/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
@@ -30,7 +43,7 @@ start_service()
                config_get _tcp_buffer "$1" tcp_port
        }
        config_foreach load_tcp_port network
-       
+
        touch /tmp/dawn_mac_list
 
        echo "Starting Service..."
index 73e6cd7f3f5fa9e102d9bfdc52763b750088865d..6f064e742c2c1fa680e9d0b01c408d061259c8b1 100644 (file)
@@ -8,12 +8,12 @@
 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>
index 6d4ffb1a5f99aa9087eeae0da9de852176451619..6c0c45b6d4931c2164172c6854a7095526856cd7 100644 (file)
@@ -32,7 +32,7 @@ menu "Configuration"
        comment "SSL Support"
        choice
                prompt "Selected SSL library"
-               default DNSDIST_OPENSSSL
+               default DNSDIST_OPENSSL
 
                config DNSDIST_OPENSSL
                        bool "OpenSSL"
diff --git a/net/family-dns/Makefile b/net/family-dns/Makefile
new file mode 100644 (file)
index 0000000..e7cd4d1
--- /dev/null
@@ -0,0 +1,56 @@
+#
+# 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))
diff --git a/net/family-dns/Readme.md b/net/family-dns/Readme.md
new file mode 100644 (file)
index 0000000..b4e270d
--- /dev/null
@@ -0,0 +1,21 @@
+# 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.
diff --git a/net/family-dns/files/family-dns-update b/net/family-dns/files/family-dns-update
new file mode 100644 (file)
index 0000000..6771a0a
--- /dev/null
@@ -0,0 +1,95 @@
+#!/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
+
diff --git a/net/family-dns/files/family-dns.conf b/net/family-dns/files/family-dns.conf
new file mode 100644 (file)
index 0000000..bfe950f
--- /dev/null
@@ -0,0 +1,14 @@
+# 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'
+
diff --git a/net/family-dns/files/family-dns.uci-defaults b/net/family-dns/files/family-dns.uci-defaults
new file mode 100644 (file)
index 0000000..9eaaa0b
--- /dev/null
@@ -0,0 +1,9 @@
+#!/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
diff --git a/net/family-dns/files/test-family-dns b/net/family-dns/files/test-family-dns
new file mode 100755 (executable)
index 0000000..ff017fb
--- /dev/null
@@ -0,0 +1,124 @@
+#!/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
index ef32b33ccd93db81eada3be253805405de0dc264..a7085a94cbef3191fc462d43c29fe9b85698e384 100644 (file)
@@ -22,6 +22,7 @@ PKG_CPE_ID:=cpe:/a:freeradius:freeradius
 
 PKG_BUILD_DIR:=$(BUILD_DIR)/freeradius-server-$(PKG_VERSION)
 PKG_FIXUP:=autoreconf
+PYTHON3_PKG_BUILD:=0
 
 PKG_CONFIG_DEPENDS := \
   FREERADIUS3_OPENSSL \
@@ -30,7 +31,7 @@ PKG_CONFIG_DEPENDS := \
 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"
@@ -766,7 +767,6 @@ $(eval $(call BuildPlugin,freeradius3-mod-mschap,rlm_mschap,))
 $(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,))
index c4e08fce89eadc69059e83d1d562b179be2190da..9315d7faafb1caf382c513a747abd9e437be5229 100644 (file)
@@ -1,12 +1,12 @@
 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
index 3226b01dbb9e1f8a54c40c40607cc847bf19f125..a0fd58ee367e864d79f81c94bbd82f74baade507 100644 (file)
@@ -8,12 +8,12 @@
 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
index 36001edaaf452a29568ce975c9d5ba006d63cb82..9724dfff1cabee73aabae795bd0ad9cecc504843 100644 (file)
 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>
index 9fb53789332f909f3f65d29f3a62f7d619982380..2edb44e3ba7b492f671bf04d88d943b4f51d5e02 100755 (executable)
@@ -1,7 +1,7 @@
 #!/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
 
diff --git a/net/haproxy/patches/000-BUG-MINOR-protocol_buffer-Wrong-maximum-shifting.patch b/net/haproxy/patches/000-BUG-MINOR-protocol_buffer-Wrong-maximum-shifting.patch
new file mode 100644 (file)
index 0000000..71b6277
--- /dev/null
@@ -0,0 +1,56 @@
+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;
+       }
diff --git a/net/haproxy/patches/000-OPENWRT-add-uclibc-support.patch b/net/haproxy/patches/000-OPENWRT-add-uclibc-support.patch
deleted file mode 100644 (file)
index 3a22ebb..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
---- 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.
diff --git a/net/haproxy/patches/001-OPENWRT-add-uclibc-support.patch b/net/haproxy/patches/001-OPENWRT-add-uclibc-support.patch
new file mode 100644 (file)
index 0000000..ddec134
--- /dev/null
@@ -0,0 +1,18 @@
+--- 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.
index 0fefc7ca58b38722459faf28f9449aaac2b9981c..e06ff0799f65786d61983b1b10561f8108269f6c 100644 (file)
@@ -1,14 +1,14 @@
 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
index ec1ece144818b96085b119d0c703071f22819a71..d80d23113cdaac3f2f0591bca98ac843aee2cfd2 100644 (file)
@@ -10,7 +10,7 @@ include $(TOPDIR)/rules.mk
 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
index 954d332b48bb262f486bded53779ab6b8f8b1746..33e45ad88c7637656ee317cf071d51b8f93faad4 100644 (file)
@@ -270,7 +270,16 @@ general_config() {
        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
@@ -279,15 +288,13 @@ start_service() {
                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
@@ -302,13 +309,33 @@ start_service() {
        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
+}
+
index 5381fb90b36cac9687e01f0bae7b655b53b5cbc8..19c2caac662dc3acfb45e64d9337098ee2ad04e5 100644 (file)
 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
index b1da96ce9d766115a1bd989c8b89fc5173a0aa09..346a79b956579a8f634c7cdb388617f30d21429d 100644 (file)
@@ -1,8 +1,9 @@
 --- 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 .
diff --git a/net/knxd/patches/0100-version.patch b/net/knxd/patches/0100-version.patch
new file mode 100644 (file)
index 0000000..b782088
--- /dev/null
@@ -0,0 +1,12 @@
+--- 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"
index f21cfc7b194fefb8db5eeaca436130dfdd63b181..0e4e4c1b920598ce09ad64e85b1d912d305e6974 100644 (file)
@@ -5,15 +5,13 @@
 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>
@@ -62,7 +60,11 @@ define Package/mac-telnet-server/install-extra
        $(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
 
 
index c64cd15d8795b75d07c4ed7136bb96315e5bfb61..8fbb92b288b16434e8360c44ed4ae4cfb7dc1bb1 100644 (file)
@@ -6,7 +6,7 @@
 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
 
diff --git a/net/netifyd/patches/010-bind.patch b/net/netifyd/patches/010-bind.patch
new file mode 100644 (file)
index 0000000..a5dafb1
--- /dev/null
@@ -0,0 +1,11 @@
+--- 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));
index f35d9d74c78d2d2c2f545e7808e10801e28a4ebc..59cbb5e89da0bf2950f8998e18a2d7559c66a429 100644 (file)
@@ -8,12 +8,12 @@
 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>
@@ -426,7 +426,7 @@ Package/nginx-all-module/install = $(Package/nginx-ssl/install)
 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}"
@@ -434,8 +434,12 @@ if [ "$${PKG_UPGRADE}" == "1" ]; then
        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
 
index be4fb0c78fd48a7547524c093d4f63725396e52c..bab78ed2b822f755c63a06b19035714f27b30563 100644 (file)
@@ -5,9 +5,9 @@ PKG_RELEASE:=1
 
 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
 
index 3b15396021a1872bc3d06619caac61bb12ace116..6cde4a9cf17642b1c723aa565cb510b1356f2b23 100644 (file)
@@ -1,4 +1,9 @@
 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
index 7d8a655cbda62e76a305ff815ca3ec9f0eabaa50..c12b838644184a8ecab8efe4c8decfc8eddc85a4 100755 (executable)
@@ -64,6 +64,7 @@ parse_config() {
        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
index 46c0479816577937b98dc9b6aa4d7512610e4cf8..648ade267e890a4cceee6f420ecbf4053d03b405 100644 (file)
@@ -14,7 +14,7 @@ include $(TOPDIR)/rules.mk
 
 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
@@ -26,6 +26,7 @@ PKG_CPE_ID:=cpe:/a:nmap:nmap
 
 PKG_BUILD_PARALLEL:=1
 PKG_INSTALL:=1
+PYTHON3_PKG_BUILD:=0
 
 include $(INCLUDE_DIR)/package.mk
 include ../../lang/python/python3-package.mk
@@ -100,7 +101,6 @@ endef
 define Package/ndiff
 $(call Package/nmap/default)
   DEPENDS:=+python3-light +python3-xml
-  VARIANT:=python3
   TITLE:=Utility to compare the results of Nmap scans
 endef
 
@@ -148,10 +148,10 @@ CONFIGURE_VARS += \
 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
index 3ddf0cdba8ca88719090d0f05503fcf932efa525..ffe9e8841222693e053f1cfb741cd4f785f82432 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 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
diff --git a/net/ntpclient/patches/200-time.patch b/net/ntpclient/patches/200-time.patch
new file mode 100644 (file)
index 0000000..6456f30
--- /dev/null
@@ -0,0 +1,54 @@
+--- 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
+ }
diff --git a/net/ntpclient/patches/300-siocgarp.patch b/net/ntpclient/patches/300-siocgarp.patch
new file mode 100644 (file)
index 0000000..e03c9b9
--- /dev/null
@@ -0,0 +1,12 @@
+--- 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>
index cbd12a3c5082a8a6c104bdf6da0f0794c0a3bebd..17d1d83a5537145f880b5b236666dd6981138eb6 100644 (file)
@@ -8,14 +8,13 @@
 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
index 680da400129d3fbda4c2f78d57b5be5698914dcc..c8aa1aeb0efa551af74719de8061bc84fbbc2a81 100644 (file)
@@ -8,7 +8,7 @@ USE_PROCD=1
 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
index 09ff2b4a79347ac508e045ce78b48f6ed51f5db4..76ba560e2a30b40f8b3ec52c15c5a84c14a6b7a7 100644 (file)
@@ -32,6 +32,7 @@ PKG_USE_MIPS16:=0
 PKG_BUILD_PARALLEL:=1
 PKG_FIXUP:=autoreconf
 PKG_INSTALL:=1
+PYTHON3_PKG_BUILD:=0
 
 PKG_MAINTAINER:=Yousong Zhou <yszhou4tech@gmail.com>
 
diff --git a/net/overture/Makefile b/net/overture/Makefile
new file mode 100644 (file)
index 0000000..642d063
--- /dev/null
@@ -0,0 +1,51 @@
+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))
diff --git a/net/overture/files/domain_alternative_sample b/net/overture/files/domain_alternative_sample
new file mode 100644 (file)
index 0000000..79e25d6
--- /dev/null
@@ -0,0 +1 @@
+alternative.example
\ No newline at end of file
diff --git a/net/overture/files/domain_primary_sample b/net/overture/files/domain_primary_sample
new file mode 100644 (file)
index 0000000..3fbdab2
--- /dev/null
@@ -0,0 +1 @@
+primary.example
\ No newline at end of file
diff --git a/net/overture/files/domain_ttl_sample b/net/overture/files/domain_ttl_sample
new file mode 100644 (file)
index 0000000..126e48d
--- /dev/null
@@ -0,0 +1 @@
+ttl.example 1000
\ No newline at end of file
diff --git a/net/overture/files/hosts_sample b/net/overture/files/hosts_sample
new file mode 100644 (file)
index 0000000..67d68a7
--- /dev/null
@@ -0,0 +1 @@
+127.0.0.1 localhost
\ No newline at end of file
diff --git a/net/overture/files/ip_network_alternative_sample b/net/overture/files/ip_network_alternative_sample
new file mode 100644 (file)
index 0000000..d99ed31
--- /dev/null
@@ -0,0 +1 @@
+127.0.0.10/32
\ No newline at end of file
diff --git a/net/overture/files/ip_network_primary_sample b/net/overture/files/ip_network_primary_sample
new file mode 100644 (file)
index 0000000..ce09333
--- /dev/null
@@ -0,0 +1 @@
+127.0.0.9/32
\ No newline at end of file
diff --git a/net/overture/files/overture.init b/net/overture/files/overture.init
new file mode 100644 (file)
index 0000000..fb7c1c2
--- /dev/null
@@ -0,0 +1,14 @@
+#!/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
+}
index aee3f2a3d86f4ace456023ff5b2bd7d6845f6b41..fe80565e8fc91b4e8dea2b7f3e310030f7a8379b 100644 (file)
@@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk
 
 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/
diff --git a/net/pdns/patches/200-openssl-deprecated.patch b/net/pdns/patches/200-openssl-deprecated.patch
new file mode 100644 (file)
index 0000000..cc6544b
--- /dev/null
@@ -0,0 +1,20 @@
+--- 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
index a001e47edc6787516aa4dd61b9e816b4dc6408f5..0dce495c36b76566d7aa01bb193fd841c5b16866 100644 (file)
@@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk
 
 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)?
diff --git a/net/port-mirroring/patches/020-time.patch b/net/port-mirroring/patches/020-time.patch
new file mode 100644 (file)
index 0000000..224ed27
--- /dev/null
@@ -0,0 +1,20 @@
+--- 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)
+                 {
index ac73d67620c6d5b78a8d3ea672f3d2450f03cad3..5422fa7c631422e47be88ccbb6f337d52e4cfe63 100644 (file)
@@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=radicale
 PKG_VERSION:=1.1.6
-PKG_RELEASE:=3
+PKG_RELEASE:=4
 
 PYPI_NAME:=Radicale
 PKG_HASH:=c007198ea45ef797344672c681d4c13f8b4aa85c15c41a1156225767a405c92b
@@ -37,7 +37,6 @@ define Package/radicale
       +python3-xml
   USERID:=radicale=5232:radicale=5232
   PROVIDES:=radicale-py2 radicale-py3
-  VARIANT:=python3
 endef
 
 define Package/radicale/description
index 02700a6b5e1c08ff7985ae312bf7489dfd3e0554..455053784ecbfb237e992114c284c5093d5bfaf2 100644 (file)
@@ -5,7 +5,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=radicale2
 PKG_VERSION:=2.1.11
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_LICENSE:=GPL-3.0
 PKG_LICENSE_FILES:=COPYING
@@ -31,7 +31,6 @@ $(call Package/radicale2/Default)
   USERID:=radicale2=225:radicale2=225
   DEPENDS:=+python3 +python3-dateutil +python3-vobject +python3-setuptools
   CONFLICTS:=radicale
-  VARIANT:=python3
 endef
 
 define Package/radicale2-examples
index 078c286af77eb87d2f1c689afffc8279f4ce8204..5fcf1743608dc55e0111cc2a17c577feff65669d 100644 (file)
@@ -33,13 +33,14 @@ PKG_CONFIG_DEPENDS:= \
        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
index 19c06031e2b69a56d2fad7ce467d7bbc2984ada7..4a3b395d3f65eb46968e3b41b04a1449e772e4f7 100644 (file)
@@ -37,7 +37,7 @@ define Package/scapy/description
 endef
 
 define Build/Compile
-       $(call Build/Compile/Py3Mod,., \
+       $(call Python3/ModSetup,., \
                install --prefix="/usr" --root="$(PKG_INSTALL_DIR)", \
        )
 endef
index 6615f0efa2e5febb0dd10ca2f0b036b51936469a..a22883d3dbf588752eca3f14e3cb2298efa8675f 100644 (file)
@@ -8,12 +8,12 @@
 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
@@ -25,6 +25,7 @@ PKG_BUILD_DEPENDS:=vala/host
 PKG_FIXUP:=autoreconf
 PKG_BUILD_PARALLEL:=1
 PKG_INSTALL:=1
+PYTHON3_PKG_BUILD:=0
 
 include $(INCLUDE_DIR)/package.mk
 include $(INCLUDE_DIR)/nls.mk
@@ -58,7 +59,6 @@ define Package/python3-seafile-ccnet
   SUBMENU:=Python
   TITLE:=Python bindings for Seafile Ccnet
   DEPENDS:=+seafile-ccnet +python3-light +python3-searpc
-  VARIANT:=python3
 endef
 
 define Package/python3-seafile-ccnet/description
@@ -73,6 +73,9 @@ CONFIGURE_ARGS += \
        --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/
@@ -88,12 +91,6 @@ define Build/InstallDev
        $(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))
diff --git a/net/seafile-ccnet/patches/011-no-python-compile.patch b/net/seafile-ccnet/patches/011-no-python-compile.patch
new file mode 100644 (file)
index 0000000..276b499
--- /dev/null
@@ -0,0 +1,6 @@
+--- 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
index 47a6df773757f549f64685a6aa24027a1c692a80..d72a2a3bb5b7741d733f8dcacd7c1001e201d9a2 100644 (file)
@@ -8,12 +8,12 @@
 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
@@ -24,6 +24,7 @@ PKG_BUILD_DIR:=$(BUILD_DIR)/seahub-$(PKG_VERSION)-server
 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
@@ -57,7 +58,6 @@ define Package/seafile-seahub
     +python3-requests-oauthlib \
     +python3-seafile-ccnet \
     +python3-searpc
-  VARIANT:=python3
 endef
 
 define Package/seafile-seahub/description
@@ -75,10 +75,9 @@ MAKE_VARS += \
        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
@@ -90,6 +89,8 @@ 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))
index e5559e52d621311f97b31ff044dcecbb74f3ef31..259c32b5c5d6b9d93f947bc23e2e5c35b99b5b91 100644 (file)
@@ -9,7 +9,7 @@
              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.
@@ -18,7 +18,7 @@
  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
index d52d5ec6e587d7f14ed597b1e63eac1604513377..43cfa9b730b60190d9dfa7a4737959a85f1c5336 100644 (file)
@@ -8,12 +8,12 @@
 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
@@ -25,6 +25,7 @@ PKG_BUILD_DEPENDS:=vala/host libevhtp
 PKG_FIXUP:=autoreconf
 PKG_BUILD_PARALLEL:=1
 PKG_INSTALL:=1
+PYTHON3_PKG_BUILD:=0
 
 include $(INCLUDE_DIR)/package.mk
 include $(INCLUDE_DIR)/nls.mk
@@ -111,7 +112,6 @@ define Package/python3-seafile-server
   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
@@ -126,10 +126,8 @@ CONFIGURE_ARGS += \
        --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
@@ -199,13 +197,6 @@ define Build/InstallDev
        $(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/
diff --git a/net/seafile-server/patches/012-automake-no-python-compile.patch b/net/seafile-server/patches/012-automake-no-python-compile.patch
new file mode 100644 (file)
index 0000000..624c8c7
--- /dev/null
@@ -0,0 +1,14 @@
+--- 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
index fc38682a0ebeec0100e3d3b9c5302fd3900f7b72..98109b26bd7e03ad55c09443317923248b43ba25 100644 (file)
@@ -11,7 +11,7 @@ include $(TOPDIR)/rules.mk
 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
@@ -21,7 +21,7 @@ PKG_SOURCE_URL:=http://shorewall.org/pub/shorewall/$(PKG_MAJOR_MINOR_VERSION)/sh
        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
index 3766064b7cfebd247b30ada98aabb6353fcf4859..c32e1c16546fd7ca6ea15ccf622a44a0ee423d2b 100644 (file)
@@ -11,7 +11,7 @@ include $(TOPDIR)/rules.mk
 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
@@ -21,7 +21,7 @@ PKG_SOURCE_URL:=http://shorewall.org/pub/shorewall/$(PKG_MAJOR_MINOR_VERSION)/sh
        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
index b276a0823bf2e745980438e0d6ede8848d70d39a..7cc9276e4f886212436dd8ba2f60e176afb658dc 100644 (file)
@@ -11,7 +11,7 @@ include $(TOPDIR)/rules.mk
 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
@@ -21,7 +21,7 @@ PKG_SOURCE_URL:=http://shorewall.org/pub/shorewall/$(PKG_MAJOR_MINOR_VERSION)/sh
        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
index 7803741682a63672a0b82088412a898ad0a58935..d5659c2ab78eebf87e955ec772e9b1605b3734d6 100644 (file)
@@ -11,7 +11,7 @@ include $(TOPDIR)/rules.mk
 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
@@ -21,7 +21,7 @@ PKG_SOURCE_URL:=http://shorewall.org/pub/shorewall/$(PKG_MAJOR_MINOR_VERSION)/sh
        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
index 107f47afd7bbf7eba4fa3204c0e248cbf25e8b25..4d7a3e5053a2c83c04bb8d175a59a23b7a9de366 100644 (file)
@@ -11,7 +11,7 @@ include $(TOPDIR)/rules.mk
 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
@@ -21,7 +21,7 @@ PKG_SOURCE_URL:=http://shorewall.org/pub/shorewall/$(PKG_MAJOR_MINOR_VERSION)/sh
        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
index 062fdff6e66376510615badf6d904a0e4095e0a4..793cb14d5a6909eda846cbeed19d4b7d52b74315 100644 (file)
@@ -6,7 +6,7 @@ include $(TOPDIR)/rules.mk
 
 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
 
index 083374fd061152ef868551686077a5d366724a46..44bdc8e25dd7a9186ec538041fe3706be4d3a598 100644 (file)
@@ -70,14 +70,17 @@ config simple-adblock 'config'
 # 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'
-
index 47935b30eed49b2a27a533f09cdbebfb7c8dd92a..fad1d399d3a2df6b077161bd72acbddffd3b4a6e 100644 (file)
@@ -1,7 +1,6 @@
 #!/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
@@ -124,7 +123,7 @@ unbound_restart() { /etc/init.d/unbound restart >/dev/null 2>&1; }
 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
@@ -132,7 +131,8 @@ output() {
        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"
@@ -449,7 +449,9 @@ tmpfs() {
                                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'
@@ -899,7 +901,7 @@ boot() {
        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
 }
 
@@ -917,12 +919,20 @@ start_service() {
        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
index c9f77cfc98667a5afb040f7bb981917b085ca283..ae82d662952ea3c12622904bcdaf7d67449bdd47 100644 (file)
@@ -35,7 +35,7 @@ define Package/smcroute/description
 endef
 
 define Package/smcroute/conffiles
-       /etc/smcroute.conf
+/etc/smcroute.conf
 endef
 
 CONFIGURE_ARGS += \
index cf379ce7080f6ae7f70bd7bfa04e357c5ba6a701..3e966e4956178e4df104b4a19882594666eca358 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 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)?
diff --git a/net/softflowd/patches/020-uid.patch b/net/softflowd/patches/020-uid.patch
new file mode 100644 (file)
index 0000000..fe2ea7c
--- /dev/null
@@ -0,0 +1,11 @@
+--- 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);
index 836d5b2d8cc8ad9704a4e97eac0d950d5d72a5b6..23462d45cc47dce0b1e7658f779edb6d568d2d26 100644 (file)
@@ -10,7 +10,7 @@ include $(TOPDIR)/rules.mk
 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
@@ -44,34 +44,4 @@ define Package/sqm-scripts/install
        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))
diff --git a/net/sqm-scripts/files/luci-app-sqm.defaults b/net/sqm-scripts/files/luci-app-sqm.defaults
deleted file mode 100644 (file)
index 117a117..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/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
-}
index 72396aa5d61b6b627a9f96b8e56c7aec251a30ee..13fc9d79cbaaf6d040a721b4ed6a1a750f742d67 100644 (file)
@@ -22,6 +22,7 @@ PKG_LICENSE_FILES:=LICENSE
 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
diff --git a/net/tor-hs/Makefile b/net/tor-hs/Makefile
new file mode 100644 (file)
index 0000000..3a5490a
--- /dev/null
@@ -0,0 +1,52 @@
+#
+# 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))
diff --git a/net/tor-hs/README.md b/net/tor-hs/README.md
new file mode 100644 (file)
index 0000000..649ff31
--- /dev/null
@@ -0,0 +1,104 @@
+# 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"
+                       ]
+               }
+       ]
+}
+```
+
diff --git a/net/tor-hs/files/nextcloud-update.sh b/net/tor-hs/files/nextcloud-update.sh
new file mode 100755 (executable)
index 0000000..3c485e8
--- /dev/null
@@ -0,0 +1,44 @@
+#!/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
diff --git a/net/tor-hs/files/tor-hs.conf b/net/tor-hs/files/tor-hs.conf
new file mode 100644 (file)
index 0000000..5480685
--- /dev/null
@@ -0,0 +1,22 @@
+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'
diff --git a/net/tor-hs/files/tor-hs.init b/net/tor-hs/files/tor-hs.init
new file mode 100755 (executable)
index 0000000..aab531b
--- /dev/null
@@ -0,0 +1,116 @@
+#!/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
+}
diff --git a/net/tor-hs/files/tor_rpcd.sh b/net/tor-hs/files/tor_rpcd.sh
new file mode 100755 (executable)
index 0000000..bfcd788
--- /dev/null
@@ -0,0 +1,69 @@
+#!/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
+
+
+
index 5fcb5b973f52120ce94d4fd7de3d52d4369732c1..6425334125658688ca44e7aa01b70fb95d21453f 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 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
index 9f0f7958de331a06ccde06674392a719ce022f3a..1af3bedde228063c287667e5c8807524a65d7013 100644 (file)
@@ -2,6 +2,7 @@
 # Copyright (C) 2010-2015 OpenWrt.org
 
 START=99
+STOP=10
 USE_PROCD=1
 PROG="/usr/bin/transmission-daemon"
 
index a2ec4bbc0dfeebf5fdad4c45abe20c09cd2fd75f..764c2a48261c36e3dde358c335f7e6c7cf7ccead 100644 (file)
@@ -1,12 +1,12 @@
 #
-# 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>
index f9953b10d457eb5b2c9601aada29fab224c7a484..2f2eceff68769fb094c938f956b1eadccf16e45d 100755 (executable)
@@ -3,6 +3,8 @@
 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"
index 766bd0622db78f8ae7cd56db8b82b70f377b01f8..169e199a3170886c8d4faf392f7a4bda93c7104c 100755 (executable)
@@ -13,7 +13,7 @@
 #
 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"
@@ -195,7 +195,7 @@ f_prepif()
                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
@@ -231,8 +231,8 @@ f_net()
 {
        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}"
 }
@@ -241,7 +241,7 @@ f_net()
 #
 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
@@ -290,10 +290,7 @@ f_check()
                                                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" ]
@@ -307,10 +304,7 @@ f_check()
                                                                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}"
@@ -323,11 +317,11 @@ f_check()
                                                                        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")" ]
@@ -340,14 +334,14 @@ f_check()
                                                                        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}'"
@@ -363,18 +357,17 @@ f_check()
                                                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
@@ -406,18 +399,18 @@ f_check()
 #
 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
 
@@ -492,7 +485,7 @@ f_jsnup()
        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
@@ -523,7 +516,7 @@ f_log()
 #
 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"
@@ -579,11 +572,12 @@ f_main()
                                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"
index 5687921d9585f167d46ae8e858702bc65ddf3beb..18779e131197bdb5fbfe75d3e4ff1ed20868bf66 100755 (executable)
@@ -31,7 +31,7 @@ fi
 #
 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
index d57016a164c318440c4906a720727dd0e4cb67b8..6734b189a950d8baa56d98caf7359f4d6059fea2 100644 (file)
@@ -8,12 +8,12 @@
 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
@@ -64,6 +64,7 @@ TARGET_LDFLAGS += -Wl,--gc-sections,--as-needed
 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,) \
index f2b6633b7239ecba865b4a1b10e58fe22ba6485b..57e2362048a424fd37395ca9a58123c63509e8a4 100644 (file)
@@ -9,6 +9,7 @@ PKG_SOURCE_URL=https://files.pythonhosted.org/packages/source/u/uwsgi/
 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
@@ -108,8 +109,8 @@ define Build/Compile
        $(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) \
index 362bcdf6d3a5f74763641a2796919bdee16a40bc..4e75f75b95cda4cc986b66a39b4a47a1cb3a5d8b 100644 (file)
@@ -52,6 +52,8 @@ Package/vsftpd-tls/conffiles=$(Package/vsftpd/conffiles)
 
 ifneq ($(CONFIG_USE_MUSL),)
   NLSSTRING:=-lcrypt
+else ifneq ($(CONFIG_USE_GLIBC),)
+  NLSSTRING:=-lcrypt
 else
   NLSSTRING:=-lcrypt -lnsl
 endif
index 9664a37d51c1becad54f5ffff48bc8c6baffaa2a..ffad46109d01ab398540303752ae2862ce104b05 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 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)
@@ -46,6 +46,7 @@ $(call Package/wget/Default)
   DEPENDS+= +libopenssl +librt
   TITLE+= (with SSL support)
   VARIANT:=ssl
+  PROVIDES+=wget-ssl
   ALTERNATIVES:=300:/usr/bin/wget:/usr/bin/wget-ssl
 endef
 
index b9d7d764105c0ce6ad3779c3f23f2ca0fe3bc4c7..b893ff38bb5ada14f7afe7847cfaea802c6a1055 100644 (file)
@@ -8,7 +8,7 @@
 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)
@@ -16,7 +16,7 @@ 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
 
index 3ccad8438016474cfa3cd0858a8d5ec0756798d9..c692d9ea3ef5cf80f6fd3787be11bfc37d552c62 100644 (file)
@@ -1,5 +1,5 @@
 /*
- *  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
@@ -9,6 +9,7 @@
 #include <linux/uaccess.h>
 #include <linux/inetdevice.h>
 #include <linux/seq_file.h>
+#include <linux/version.h>
 
 #include "config.h"
 
@@ -20,6 +21,9 @@ static int update_gw_interface(const char *interface)
     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) {
@@ -36,15 +40,25 @@ static int update_gw_interface(const char *interface)
         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);
 
index a7414affa2463fcdbcf6d4b0cdcb155d6af6087b..60bde1a480685cd8174d4ac1acd7e2946a4c794d 100644 (file)
@@ -1,5 +1,5 @@
 /*
- *  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
index afb1b038ed6a8be41378860742d0a39aed832410..ac17078e558a3393c090009ae210ef3d22034a0d 100644 (file)
@@ -1,5 +1,5 @@
 /*
- *  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
@@ -14,7 +14,9 @@
 #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"
@@ -85,7 +87,11 @@ static u32 wifidog_hook(void *priv, struct sk_buff *skb, const struct nf_hook_st
     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;
@@ -149,7 +155,9 @@ static int __init wifidog_init(void)
     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);
@@ -174,7 +182,9 @@ static void __exit wifidog_exit(void)
 {
     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);
@@ -188,5 +198,5 @@ static void __exit wifidog_exit(void)
 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");
index 5f7aa08c47920b000ad70b24fa4596dc8ed8c05f..816bacb464a9075bc9f454471e049c92a6f71feb 100644 (file)
@@ -1,5 +1,5 @@
 /*
- *  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
index d0dfd60165161702b3ebd6d4d502fd06ab62ee18..b655826cd84587713eed804fa249e7ec25b5c653 100644 (file)
@@ -138,7 +138,7 @@ define Package/iptgeoip
   # 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
index a107d369576c5e68085bc96f6cf7eae5573b5ecd..cad40d7855c2751f0b5c38dd7fa43b9fb9a2c6c5 100644 (file)
@@ -1,12 +1,12 @@
 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>
index 9a1d863a7046ec723f763a6d4f3bc2dc56642f19..dccee76c5ec47e4100368ceda4623cf2c7184f69 100644 (file)
@@ -8,13 +8,13 @@
 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
@@ -50,7 +50,7 @@ define Package/alsa-utils-tests
   URL:=https://www.alsa-project.org/
 endef
 
-CONFIGURE_ARGS+= \
+CONFIGURE_ARGS += \
        --disable-rpath \
        --disable-alsatest \
        --disable-bat \
@@ -58,6 +58,11 @@ CONFIGURE_ARGS+= \
        --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/
diff --git a/sound/alsa-utils/patches/100-uClibc-compat.patch b/sound/alsa-utils/patches/100-uClibc-compat.patch
deleted file mode 100644 (file)
index 21c87f0..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
---- 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;
diff --git a/sound/alsa-utils/patches/101-disable-libsamplerate.patch b/sound/alsa-utils/patches/101-disable-libsamplerate.patch
deleted file mode 100644 (file)
index f3dfa9d..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
---- 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
index 4977d92279de3b1aa65c0cafa63e7656f1cbc64e..9691122401fbe312b8fab235ff38a17d515e6206 100644 (file)
@@ -6,12 +6,12 @@
 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
diff --git a/sound/mpd/patches/010-treewide-use-boost-lround-when-std-round-is-unavaila.patch b/sound/mpd/patches/010-treewide-use-boost-lround-when-std-round-is-unavaila.patch
deleted file mode 100644 (file)
index 20bda35..0000000
+++ /dev/null
@@ -1,227 +0,0 @@
-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
diff --git a/sound/mpd/patches/020-fix-incorrect-rounding.patch b/sound/mpd/patches/020-fix-incorrect-rounding.patch
deleted file mode 100644 (file)
index 80e7a6c..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-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,
diff --git a/sound/mpd/patches/030-volume_mapping-get-rid-of-exp10-workaround.patch b/sound/mpd/patches/030-volume_mapping-get-rid-of-exp10-workaround.patch
deleted file mode 100644 (file)
index efa245e..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-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;
diff --git a/sound/mpd/patches/040-treewide-get-rid-of-C-math-function-usage.patch b/sound/mpd/patches/040-treewide-get-rid-of-C-math-function-usage.patch
deleted file mode 100644 (file)
index 27cbaa3..0000000
+++ /dev/null
@@ -1,162 +0,0 @@
-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
index 1688f7c37273cb9ee2b52a19c842354ad1c3273b..1225d53a5a0418229e81dfedff49997cd1b2e77a 100644 (file)
@@ -8,34 +8,33 @@
 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
@@ -96,47 +95,54 @@ define Package/pulseaudio-profiles
   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) \
@@ -150,6 +156,18 @@ define Build/InstallDev
        $(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/
diff --git a/sound/pulseaudio/patches/010-also-include.patch b/sound/pulseaudio/patches/010-also-include.patch
deleted file mode 100644 (file)
index aec5b17..0000000
+++ /dev/null
@@ -1,130 +0,0 @@
-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
-
index 100a3be779376566154da6ce4785cfbcf84f2664..6e8db708b07c6c4660c1b11843ffafc3876bdbfb 100644 (file)
@@ -6,7 +6,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=bigclown-control-tool
 PKG_VERSION:=0.2.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PYPI_NAME:=bch
 PKG_HASH:=4cd73b92757fce7275a4744baed411c867af2e671c521b90d6690b2320851d58
@@ -32,7 +32,6 @@ define Package/bigclown-control-tool
     +python3-pyserial \
     +python3-yaml \
     +python3-simplejson
-  VARIANT:=python3
 endef
 
 $(eval $(call Py3Package,bigclown-control-tool))
index c9a6ce943a18607af6eaff53d6baf778e79a0280..5596a363809b46ff224c281cdb73f5557f12b351 100644 (file)
@@ -6,7 +6,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=bigclown-firmware-tool
 PKG_VERSION:=1.5.1
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PYPI_NAME:=bcf
 PKG_HASH:=50b0351b97e6b1b1d4cb4703491daa6102e7e5b3b750b47fa35182d9eb39ab9c
@@ -34,7 +34,6 @@ define Package/bigclown-firmware-tool
     +python3-requests \
     +python3-click \
     +python3-intelhex
-  VARIANT:=python3
 endef
 
 $(eval $(call Py3Package,bigclown-firmware-tool))
index 1419d16f9c91b1d13df0a40a40e89af51718780e..af0fe8554658b9b9553feba4997b7c2ab2133837 100644 (file)
@@ -6,7 +6,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=bigclown-gateway
 PKG_VERSION:=1.16.2
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PYPI_NAME:=bcg
 PKG_HASH:=ce7f27f372551c0beb3f8929af2d779417d9dcd0feaa2fa2dc49e87b1416c536
@@ -36,7 +36,6 @@ define Package/bigclown-gateway
     +python3-simplejson \
     +python3-schema \
     +python3-appdirs
-  VARIANT:=python3
 endef
 
 define Py3Package/bigclown-gateway/install
index c405ba8bd76185020c9603ee8355e3446a3543cb..ab57a10d42d6cfbc4702ac8c73ac78c7c12ac494 100644 (file)
@@ -6,7 +6,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=bigclown-mqtt2influxdb
 PKG_VERSION:=1.3.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PYPI_NAME:=mqtt2influxdb
 PKG_HASH:=1b4b3b13f5b2f092bcd27846d94e91ad6f05141b2daea5167a7d58b09a782639
@@ -31,7 +31,6 @@ define Package/bigclown-mqtt2influxdb
     +python3-influxdb \
     +python3-jsonpath-ng \
     +python3-schema
-  VARIANT:=python3
 endef
 
 define Py3Package/bigclown-mqtt2influxdb/install
index 4f7930dae1484c5e01dc2cdf18276b478db03c42..ee6d1a72573fbb5f60e6ea600c9d62608e3c58b1 100644 (file)
@@ -8,12 +8,12 @@
 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
index 228c0e400abaf55f388fe2d88d37ddcc5301e169..089604fc908c229cdcc3ee899daaf38bf3d3ca13 100644 (file)
@@ -1,6 +1,8 @@
---- 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 \
@@ -27,7 +29,7 @@
  
  @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 \
@@ -46,7 +48,7 @@
  
  @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 \
index 8f5e3a67c0e2bafdf8c6bcd66e82accb77fe8153..34b42cbfa0a8bd1f14b3a3624df3ca06dc142510 100644 (file)
@@ -1,10 +1,12 @@
---- 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]))
index 3a67fbec221557a0fb300c14f18604e2b65a6bd4..f0fc7dcd8696f731ae1a948da8d8358ed9dd705f 100644 (file)
@@ -32,11 +32,11 @@ This commit prevents the call to btd_adv_manager_refresh for non-LE devices.
  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);
index bea3d033ee84bd97dc75f5da093d23029c78ae9d..2b8472ba0b1c27b7739b6ffb455d586c2c9c1aaf 100644 (file)
@@ -6,12 +6,12 @@
 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>
index 80ee657315c7f8e3f168edb4adaf72cad421d5e7..452d756cc0b667c1783e54667213e707e387cd72 100644 (file)
@@ -8,12 +8,12 @@
 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
index 937b48035e129aa28cf99c646deba2f3b21b2aa1..204a2413bd63da21969a35a62abf57baec2fae06 100644 (file)
@@ -8,13 +8,14 @@
 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
@@ -46,7 +47,6 @@ define Package/flashrom
     +(TARGET_x86||TARGET_x86_64):dmidecode \
     +libftdi1 \
     +libusb-1.0 \
-    +libusb-compat \
     +pciutils
   VARIANT:=full
   DEFAULT_VARIANT:=1
@@ -72,8 +72,7 @@ define Package/flashrom-usb
   TITLE+= (usb)
   DEPENDS+= \
     +libftdi1 \
-    +libusb-1.0 \
-    +libusb-compat
+    +libusb-1.0
   VARIANT:=usb
 endef
 
index f910758a4d66f68189b77cd194a55002b1099220..0efb2eab049b6e765b04bb52afccd30b74223dc2 100644 (file)
@@ -4,7 +4,9 @@ define DefaultProgrammer
   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
@@ -57,7 +59,7 @@ $(eval $(call DefineProgrammer,LINUX_SPI,$(FLASHROM_BASIC)))
 $(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)))
 
@@ -66,17 +68,18 @@ $(eval $(call DefineConfig,RAW_ACCESS,$(FLASHROM_RAW)))
 $(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)))
@@ -89,11 +92,11 @@ $(eval $(call DefineProgrammer,SERPROG,$(FLASHROM_SERIAL)))
 $(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)))
diff --git a/utils/flashrom/patches/0001-fix_internal_bitbang.patch b/utils/flashrom/patches/0001-fix_internal_bitbang.patch
deleted file mode 100644 (file)
index 581e070..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
---- 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
diff --git a/utils/flashrom/patches/0003-ch341a_spi-avoid-deprecated-libusb-functions.patch b/utils/flashrom/patches/0003-ch341a_spi-avoid-deprecated-libusb-functions.patch
deleted file mode 100644 (file)
index fa941e4..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-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
-
diff --git a/utils/flashrom/patches/010-add-arc.patch b/utils/flashrom/patches/010-add-arc.patch
deleted file mode 100644 (file)
index c2ccbe8..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
---- 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
diff --git a/utils/flashrom/patches/900-build_internal_programmer_all_archs.patch b/utils/flashrom/patches/900-build_internal_programmer_all_archs.patch
new file mode 100644 (file)
index 0000000..4dd58a4
--- /dev/null
@@ -0,0 +1,18 @@
+--- 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)
index 3880063605a7cacb71130ce63e14c0f3ca1b1b16..79d6272e73161670c4aa26b2c1e5330cd4e646cf 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 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
@@ -20,13 +20,11 @@ PKG_LICENSE:=GPL-2.0-or-later LGPL-2.1-or-later
 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
@@ -37,7 +35,6 @@ define Package/libi2c
   SECTION:=libs
   CATEGORY:=Libraries
   TITLE+=library for i2c-tools
-  VARIANT:=bin
 endef
 
 define Package/i2c-tools
@@ -46,7 +43,6 @@ define Package/i2c-tools
   CATEGORY:=Utilities
   TITLE+=tools for Linux
   DEPENDS:=+libi2c
-  VARIANT:=bin
 endef
 
 define Package/python3-smbus
@@ -56,7 +52,6 @@ define Package/python3-smbus
   CATEGORY:=Languages
   TITLE:=Python bindings for the SMBUS
   DEPENDS:=+libi2c +python3-light
-  VARIANT:=python3
 endef
 
 define Package/libi2c/description
@@ -72,7 +67,8 @@ define Package/python3-smbus/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) \
@@ -81,6 +77,7 @@ define Build/Compile
                STAGING_DIR="$(STAGING_DIR)" \
                LDFLAGS="$(TARGET_LDFLAGS)" \
                CFLAGS="$(TARGET_CFLAGS)"
+       $(call Py3Build/Compile)
 endef
 
 define Build/InstallDev
@@ -89,11 +86,6 @@ 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/
index ba063b6749d2074a3f994abefc0eba7ae595de5f..c979025bba3d3c4fd81d1104090f285876897c4c 100644 (file)
@@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=micrond
 PKG_VERSION:=1
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 PKG_LICENSE:=BSD-2-clause
 
 include $(INCLUDE_DIR)/package.mk
index 1eef2ef5215b593a3a7b9327296cf388ffae9483..35a3b9e70f6dd12740fa22a90694328e90f3521f 100755 (executable)
@@ -9,5 +9,7 @@ start_service() {
        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
 }
index 8be3fa44f7358b323be2be25b43e8f4939ddaf95..b9f1b92b5f9b776cdcc17ac5265b25449a572866 100644 (file)
@@ -8,12 +8,12 @@
 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
diff --git a/utils/quota/Makefile b/utils/quota/Makefile
new file mode 100644 (file)
index 0000000..9633a79
--- /dev/null
@@ -0,0 +1,52 @@
+#
+# 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))
index 31fa5318e051c6f3f6e9dd7376f5c5b5cc5577ea..0c77160f1d74be54905070c55aaa7ffe04e975e3 100644 (file)
@@ -7,18 +7,19 @@
 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
diff --git a/utils/rtl_433/patches/010-gnu-source.patch b/utils/rtl_433/patches/010-gnu-source.patch
deleted file mode 100644 (file)
index 3626558..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
---- 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)
index 4fb8c976b274d0f12f1ce3533c0e7753413e26b6..252387294f2d576fdce7ddc2e8c66534c7bf5457 100644 (file)
@@ -8,12 +8,12 @@
 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
index 8f0a03a0dbc8187ba94182de535be0a25f1db339..f6b3be72f3fd042315382c60637d849d73837fda 100644 (file)
@@ -20,6 +20,7 @@ PKG_LICENSE_FILES:=COPYING LICENSE
 PKG_CPE_ID:=cpe:/a:sane-backends_project:sane-backends
 
 PKG_INSTALL:=1
+PKG_BUILD_PARALLEL:=1
 
 include $(INCLUDE_DIR)/package.mk
 
@@ -55,7 +56,7 @@ define Package/sane-backends/config
 
     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"
 
@@ -65,7 +66,7 @@ $(foreach backend,$(SANE_BACKENDS), \
       $(call Package/sane-$(backend))
     )\
     config PACKAGE_sane-$(backend)
-      prompt "$(TITLE)"
+      tristate "$(TITLE)"
      $(foreach config_dep,\
        $(filter @%,
          $(foreach v, $(DEPENDS), $(if $(findstring :,$v),,$v))
index eae3ae184e65724aba4db20f960950a2441c553a..6d556700fc9006b93ac07870e077d158a4c52b39 100644 (file)
@@ -15,3 +15,9 @@ config SQUASHFS_TOOLS_XZ_SUPPORT
        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
index d9ef50e373c25003733229e0fa15eacc118fdba2..09e6e8225c53115d34b95f54dae7d9cd9be83557 100644 (file)
@@ -8,18 +8,17 @@
 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
@@ -28,13 +27,13 @@ define Package/squashfs-tools/Default
   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
@@ -68,6 +67,10 @@ ifneq ($(CONFIG_SQUASHFS_TOOLS_LZ4_SUPPORT),)
 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)" \
diff --git a/utils/squashfs-tools/patches/0003-mksquashfs.c-get-inline-functions-work-with-C99.patch b/utils/squashfs-tools/patches/0003-mksquashfs.c-get-inline-functions-work-with-C99.patch
deleted file mode 100644 (file)
index a5bab05..0000000
+++ /dev/null
@@ -1,154 +0,0 @@
-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
-
diff --git a/utils/squashfs-tools/patches/0004-vla-to-malloc.patch b/utils/squashfs-tools/patches/0004-vla-to-malloc.patch
deleted file mode 100644 (file)
index ffe2a79..0000000
+++ /dev/null
@@ -1,474 +0,0 @@
-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;
- }
diff --git a/utils/squashfs-tools/patches/0005-mksquashfs-unsquashfs-fix-compilation-with-glibc-2.2.patch b/utils/squashfs-tools/patches/0005-mksquashfs-unsquashfs-fix-compilation-with-glibc-2.2.patch
deleted file mode 100644 (file)
index 39c781f..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-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
-