Commit Graph
100 Commits
Author SHA1 Message Date
Jeffery To 0a4d40b37e golang: Fix vars not passed when calling cache_cleanup
Fixes https://github.com/openwrt/packages/issues/13674.

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2020-10-16 17:38:17 +08:00
Jeffery To b70fb40c11 golang: Move build cache into $(TMP_DIR)
This changes the default build cache directory from $(TOPDIR)/.go-build
to $(TMP_DIR)/go-build, so that the cache directory is ignored by git
and is removed by "make dirclean".

This does not move/remove a build cache directory in the previous
location; it will need to be removed manually.

Fixes https://github.com/openwrt/packages/issues/13675.

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2020-10-16 17:13:42 +08:00
Jeffery To d183759998 seafile-server: Update to 7.1.5, refresh patches
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2020-10-13 06:42:27 +08:00
Jeffery To a702c90b9a seafile-seahub: Update to 7.1.5, refresh patches
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2020-10-13 06:42:26 +08:00
Jeffery To f841fedd7b seafile-ccnet: Update to 7.1.5
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2020-10-13 06:42:26 +08:00
Jeffery To 55674b73d7 packr: New package
From the README:

Packr is a simple solution for bundling static assets inside of Go
binaries. Most importantly it does it in a way that is friendly to
developers while they are developing.

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2020-10-08 03:37:18 +08:00
Jeffery To b466314313 python-attrs: Update to 20.2.0
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2020-10-06 23:15:12 +08:00
Jeffery To c7d4d1e80e python-zope-interface: Update to 5.1.2
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2020-10-06 21:23:09 +08:00
Jeffery To d5dc30fe80 golang: Add option to enable Spectre mitigations
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2020-10-06 16:34:41 +08:00
Jeffery To 3d6df5d7d9 golang: Add golang-host-build.mk
This adds a Makefile for host builds of Go programs.

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2020-10-06 16:34:41 +08:00
Jeffery To 2d22a629f5 golang: Move package scripts into golang-build.sh
This also adds GO_PKG_INSTALL_BIN_PATH which determines the path where
binaries are installed by GoPackage/Package/Install/Bin (this was
previously hard-coded to /usr/bin).

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2020-10-06 16:34:40 +08:00
Jeffery To 4773c288cd golang: Quote variables passed to the shell
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2020-10-06 16:34:40 +08:00
Jeffery To 7aaaa8ae64 golang: Add more error handling for go-gcc-helper
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2020-10-06 16:34:36 +08:00
Jeffery To a95afd67df golang: Use external linking for target Go
In Go 1.15, the linker now defaults to internal linking mode for
-buildmode=pie on amd64 and arm64[1], however this results in go tool
binaries with the wrong dynamic linker/interpreter.

External linking is still used when PIE is enabled for other platforms,
whereas internal linking is used when PIE is not enabled.

This changes target Go to always use external linking, to fix PIE
binaries for amd64/arm64 and for consistency.

[1]: https://golang.org/doc/go1.15#linker

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2020-10-06 16:28:08 +08:00
Jeffery To 93ee27edb8 golang: Simplify target compile
* Reuse GO_PKG_ENABLE_PIE from golang-package.mk
* Replace $(if ...) with $(or ...) to get default values
* Refactor vars common to each compile stage into variable

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2020-10-06 16:28:08 +08:00
Jeffery To 03a1f87549 golang: Use GO_LDFLAGS to set buildmode=pie for host Go
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2020-10-06 16:28:07 +08:00
Jeffery To 66eabf18f5 golang: Refactor vars common to each host compile stage into variable
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2020-10-06 16:28:07 +08:00
Jeffery To 4fb4ec963f golang: Simplify bootstrap stage
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2020-10-06 16:28:07 +08:00
Jeffery To 40bff64ad3 golang: Group variables by stage (bootstrap/host/target)
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2020-10-06 16:28:06 +08:00
Jeffery To 9074dbd917 golang: Share build cache across package builds
This also adds a config option GOLANG_BUILD_CACHE_DIR to customize the
location of the build cache directory.

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2020-10-06 16:28:06 +08:00
Jeffery To 3dd55b504c golang: Move module cache into DL_DIR
This also adds a config option GOLANG_MOD_CACHE_WORLD_READABLE; if
enabled, chmod is run after a Go package build to make all
files/directories in the module cache world-readable.

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2020-10-06 16:27:52 +08:00
Jeffery To 4674564e42 golang: Move config option into separate file
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2020-10-05 00:25:28 +08:00
Jeffery To fc7cf379e3 golang: Update to 1.15.2
1.15.1 includes a fix for CVE-2020-24553:
net/http/cgi,net/http/fcgi: Cross-Site Scripting (XSS) when Content-Type
is not specified

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2020-10-05 00:25:18 +08:00
Jeffery ToandRosen Penev c0340f631c python: Use locked for host pip
This also removes PKG_BUILD_PARALLEL:=0 that was added for packages that
use HOST_PYTHON3_PACKAGE_BUILD_DEPENDS.

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2020-08-31 03:48:47 -07:00
Jeffery To cacd44fd0c python-cryptography: Update to 3.1
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2020-08-31 02:45:48 +08:00
Jeffery To 3e399e9286 python-attrs: Update to 20.1.0
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2020-08-31 00:55:20 +08:00
Jeffery To 722a5b8efa python3: Use hash-checking mode when installing host pip packages
In hash-checking mode[1], pip will verify downloaded package archives
(source tarballs in our case) against known SHA256 hashes before
installing the packages.

As a consequence, this requires the use of requirements files[2] and
pinning packages to known versions.

The syntax for package Makefiles has changed slightly;
HOST_PYTHON3_PACKAGE_BUILD_DEPENDS no longer accepts requirement
specifiers like "foo>=1.0", only requirements file names (which are the
same as package names in the most common case).

This also updates affected packages, in particular:

* python-zipp: "setuptools_scm[toml]" has been split into
  "setuptools-scm toml" to reuse the requirements file for
  setuptools-scm (the extra depends installed by "setuptools_scm[toml]"
  is toml).

* python-pycparser: This previously used ply 3.10, whereas the
  requirements file will now install 3.11.

[1]: https://pip.pypa.io/en/stable/reference/pip_install/#hash-checking-mode
[2]: https://pip.pypa.io/en/stable/user_guide/#requirements-files

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2020-08-17 23:05:49 +08:00
Jeffery To baec9e9ce4 python-cffi: Update to 1.14.2
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2020-08-17 02:07:45 +08:00
Jeffery To 9277f74abd python-hyperlink: Update to 20.0.1
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2020-08-17 01:56:47 +08:00
Jeffery To 001cd3c571 python3: Add config PYTHON3_HOST_PIP_CACHE_WORLD_READABLE
This adds a config option PYTHON3_HOST_PIP_CACHE_WORLD_READABLE; if
enabled, chmod will be run after pip install to make all
files/directories in the host pip cache world-readable.

Supersedes https://github.com/openwrt/packages/pull/13012.

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2020-08-16 06:09:45 +08:00
Jeffery To 8433270034 golang: Update to 1.14.7
This includes a fix for CVE-2020-16845 (encoding/binary: ReadUvarint and
ReadVarint can read an unlimited number of bytes from invalid inputs).

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2020-08-12 04:38:38 +08:00
Jeffery To b6eef2af19 python-cryptography: Update to 3.0
Also:
* Remove patches that are included in the update
* Replace the python3 dependency with a smaller list (python3-urllib is
  needed because it is a dependency of python3-email)

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2020-07-27 05:40:30 +08:00
Jeffery To 7d6fcf20e7 python3: Update to 3.8.5
This version includes fixes for:
* CVE-2020-15801 - Fixes python3x._pth being ignored on Windows
* CVE-2019-20907 - Avoid infinite loop when reading specially crafted
  TAR files using the tarfile module

This also:
* Remove patches that are included in the update
* Add a dependency in python3-distutils for python3-email[1]

[1]: https://github.com/python/cpython/blob/v3.8.5/Lib/distutils/dist.py#L10

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2020-07-27 04:33:28 +08:00
Jeffery To 1a3cef77d4 python3: Update to 3.8.4, refresh/rework patches, backport patches
This version includes fixes for:
* CVE-2020-14422: Hash collisions in IPv4Interface and IPv6Interface
* CVE-2020-15523: Python uses invalid DLL path after calling Py_SetPath
  on Windows

This version also includes support for OpenSSL 1.1.x builds that use
'no-deprecated' and '--api=1.1.0'[1], and so this removes the previous
OpenSSL-related patches.

This also backports fixes for security issues, including:
* CVE-2019-20907: Infinite loop in the tarfile module

This also updates the setuptools and pip packages to 47.1.0 and 20.1.1,
respectively.

[1]: https://github.com/python/cpython/pull/20566

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2020-07-20 17:30:14 +08:00
Jeffery To adb43f7643 golang: Update to 1.14.6
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2020-07-20 03:10:57 +08:00
Jeffery ToandPaul Spooren 34a3e58a12 golang: Add GO_PKG_TAGS for Go packages
This adds a new Makefile variable, GO_PKG_TAGS, for Go packages. When
set, the value is passed as the parameter of the -tags option for 'go
install'.

This also updates syncthing to use this variable.

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2020-07-15 21:09:17 -10:00
Jeffery To 0973d21787 python3: Use default _PYTHON_HOST_PLATFORM
This lets the Python build process set _PYTHON_HOST_PLATFORM instead of
forcing an explicit value.

Also:

* Save the target _PYTHON_HOST_PLATFORM value during Build/InstallDev
  for use when building target Python packages (in python3-package.mk).

* Use the (mostly) default PYTHON_FOR_BUILD value, instead patch
  configure to remove the platform triplet from the sysconfigdata file
  name.

* Remove the "CROSS_COMPILE=yes" make variable (there is no indication
  that this variable is necessary).

* Force host pip to build packages from source instead of downloading
  binary wheels.

  Previously, host pip can download universal (platform-independent)
  wheels but not platform-specific wheels, because of the custom
  _PYTHON_HOST_PLATFORM value. (Packages that do not have universal
  wheels would be compiled from source.)

  With a correct _PYTHON_HOST_PLATFORM, host pip can install
  platform-specific wheels as well. However, the pre-built shared object
  (.so) files in these wheels will have the host's platform triplet in
  their file names. When target Python packages are built (using the
  target's _PYTHON_HOST_PLATFORM), Python will not use these shared
  object files.

  By forcing host pip to build packages from source, the built shared
  object files will not have the platform triplet in their file names.
  (Host Python has been patched to remove the platform triplet from file
  names.) This allows these packages to be used when building target
  Python packages.

  (The net effect of this complete change is that platform-dependent
  packages will continue to be compiled from source, while
  platform-independent packages will now also be compiled from source.)

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2020-07-08 17:11:42 +08:00
Jeffery To e0e2224f8a python-packages: Disable parallel build when host pip is needed
This adds PKG_BUILD_PARALLEL:=0 to packages that depend on host Python
packages (HOST_PYTHON3_PACKAGE_BUILD_DEPENDS), because installing
packages with multiple concurrent pip processes can lead to errors or
unexpected results[1].

This also:

* Move HOST_PYTHON3_PACKAGE_BUILD_DEPENDS definitions to before
  python3-package.mk is included

* Update Python folder readme to include PKG_BUILD_PARALLEL:=0

[1]: https://github.com/pypa/pip/issues/2361

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2020-06-30 15:43:01 +08:00
Jeffery To 9425ef1b4d python-idna: Update to 2.10
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2020-06-29 06:52:44 +08:00
Jeffery To d73fe8ebc3 golang: Evaluate "go install" arguments during Build/Compile
This evaluates the arguments passed to "go install" during Build/Compile
rather than when golang-package.mk is included.

This also changes build directory-related variables to be recursively
expanded, because PKG_BUILD_DIR depends on BUILD_VARIANT and so can
change during different runs of Build/Compile.

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2020-06-29 02:24:52 +08:00
Jeffery To 836b67db90 python-packages: Remove variants
These packages were in the PR stage when the cleanup occurred and so
still had VARIANT:=python3.

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2020-06-14 03:29:59 +08:00
Jeffery To 6bb3e26fe2 python: Revise pypi.mk section of readme
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2020-06-11 16:49:56 +08:00
Jeffery To c662835372 python: Fix relative links in readme
This also removes a link to pypi.org; the previous sentence already
links to pypi.org, a second link in the same paragraph isn't necessary.

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2020-06-11 16:36:38 +08:00
Jeffery To f9ed65d922 python: Remove references to variants in readme
Build variants are no longer necessary.

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2020-06-11 16:23:49 +08:00
Jeffery To 4ea95b49a2 golang: Update to 1.14.4
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2020-06-08 16:06:53 +08:00
Jeffery To c0a0b7cc3b python-crypto: Remove package
The pycrypto package is not maintained; the last stable release was in
2013.

This also updates python3-cryptodome, from conflicting with
python3-crypto, to providing python3-crypto.

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2020-05-27 17:39:45 +08:00
Jeffery To 3c36696a56 python-packages: Add usr/bin symlinks without "3" suffix
Previously, binaries installed by Python packages will have a
non-suffixed Python 2 version and a suffixed Python 3 version, e.g. pip
and pip3. With the removal of Python 2, the non-suffixed names are no
longer taken.

This adds symlinks for the non-suffixed names linking to the suffixed
scripts (or in the case of pip, easy_install, and python-config, to the
fully-versioned scripts).

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2020-05-22 03:57:55 +08:00
Jeffery To 70a7f736c5 python3-setuptools: Fix error when installing from source
When a Python package is installed from source (i.e. using setup.py)
into a custom location (with --home), setuptools may want to create a
site.py file in the custom location. This file is created based on the
source code of site-patch.py, a file bundled with setuptools.

Because the normal OpenWrt setuptools package does not contain Python
source code, this file is missing and the installation will end with an
error.

This copies site-patch.py to site-patch.py.txt so that it will be
included in python3-setuptools, and patches setuptools to look for this
file.

See https://github.com/openwrt/packages/issues/12223

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2020-05-21 20:02:13 +08:00
Jeffery To f350b5620b seafile-server: Update to 7.1.4, refresh patches
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2020-05-21 15:53:54 +08:00
Jeffery To 10e67aca45 django-postoffice: Update to 3.3.0
This is not the newest version but the last version compatible with
Django 1.11.

This also updates the jsonfield dependency to jsonfield2.

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2020-05-21 05:02:35 +08:00
Jeffery To a9cc46658a django-jsonfield2: Add package
This package mainly serves to support django-post-office 3.3.0, as that
version switched its dependency from jsonfield to jsonfield2 (a fork of
jsonfield).

The version packaged in this package (3.0.3) is the last version that
supports Django 1.11.

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2020-05-21 04:53:54 +08:00
Jeffery To 0254a4bea9 python3: Update to 3.8.3, refresh patches
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2020-05-20 17:40:38 +08:00
Jeffery To d2b0cc523d python3-openssl: Add dependency on ca-certs
The ssl module assumes OpenSSL can load the default trust anchors (root
CA certificates).

From https://github.com/openwrt/packages/issues/12209

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2020-05-20 04:30:45 +08:00
Jeffery To 19694767f2 measurement-kit: Add static build dependencies
When measurement-kit is a build dependency (in PKG_BUILD_DEPENDS) of
another package, this package's build dependencies (in DEPENDS) may not
be selected and so may not be built.

(This package does not produce a shared library; the measurement-kit
target package contains a program that is statically linked to the
measurement-kit library. Other packages may include measurement-kit in
their PKG_BUILD_DEPENDS to link to the static library but not include
measurement-kit as a run-time dependency.)

This adds PKG_BUILD_DEPENDS to this package to ensure that its
dependencies are built in this case.

This also adds MEASUREMENT_KIT_BUILD_DEPENDS that dependant packages
should select to ensure that this package's dependencies are correctly
built. (libevent2-openssl and libevent2-pthreads need to be selected for
the necessary functionality to be enabled when compiling libevent2.)

This also adds openssl as an explicit dependency; it appears to be used
directly by this package.

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2020-05-19 17:44:14 +08:00
Jeffery To 70064ea4ad etesync-server: Minor Makefile cleanup
* Replace creating an empty PYTHON3_PKG_DIR with setting filespec to an
  empty value

* Disable the default Python package build recipe (with
  PYTHON3_PKG_BUILD:=0) and set an empty Build/Compile

* Remove VARIANT:=python3 and PROVIDES (providing the same name as the
  package)

* Add PKG_BUILD_PARALLEL:=1

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2020-05-19 00:19:54 +08:00
Jeffery To be9a554a26 python3: Enable compile-time optimizations
This adds the --enable-optimizations configure option (for
profile-guided optimization) for both host and target Python, and the
--with-lto configure option (for link-time optimization) for target
Python (for non-MIPS platforms).

Currently, compiling Python with LTO leads to link errors on mips and
mipsel. (Compiling with LTO appears to succeed on mips64 but there is
only one mips64 target available for convenient testing.)

This also cleans up the host and target configure options:

* Sort options/variables
  - Alphabetically
  - Flags/options before child-process environment variables
  - Group options by type (enable/disable/with/without)
  - Static options/variables before conditional ones

* Remove the prefix/dir options, as they are the same as the defaults
  set by the build system

* Remove --with-threads, as it is no longer a valid option (threads are
  always enabled)

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2020-05-18 15:01:17 +08:00
Jeffery To 2b8f9b7349 golang: Update to 1.14.3
This also removes a (useless) test for PKG_GO_ZBOOTSTRAP_MODS (it is
always non-empty).

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2020-05-17 03:37:45 +08:00
Jeffery To d4d78c2511 python3: Add script to help find standard library dependencies
This adds a script that searches a Python package's source code to find
imports for separately-packaged standard library modules.

The script can be run by calling make with the configure target and
"PY3=stdlib V=s" arguments, e.g.

    make package/python3-lxml/configure PY3=stdlib V=s

This also updates the readme on how to call this script, as well as more
information on Python package dependencies in general.

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2020-05-14 23:38:24 +08:00
Jeffery To da3fb97b9c golang: Set/reset default platform options for target Go compiler
Because the first stage for building target Go is actually a host build,
the default platform options (GO386, GOARM, etc.) are detected from the
host. These values are written to a source file and kept when building
the second stage.

This modifies this source file to set the appropriate values for the
target platform, and reset values for other platforms to their
cross-compiling / most compatible defaults.

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2020-05-14 17:45:18 +08:00
Jeffery To 46017682f4 golang: Set buildid and enable stripping for Go compiler
Doing both should make the compiler reproducible.

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2020-05-13 16:07:27 +08:00
Jeffery To 74b02ca24c golang: Blacklist older (or no) FPUs rather than whitelist newer FPUs
This should be more future-proof (presumably all future ARM FPUs will be
at least VFPv3).

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2020-05-13 16:07:27 +08:00
Jeffery To 25a7f0045e golang: Move "go install" arguments logic, add buildid
The moves the setting of arguments for "go install" out of the shell
script in GoPackage/Build/Compile and into make.

This also adds the -buildid link flag for reproducible builds.

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2020-05-13 16:07:27 +08:00
Jeffery To d2f5e6966b golang: Rename GoPackage/Environment to GO_PKG_VARS
The variable is a list of shell variables; the new name is more in-line
with other parts the build system (CONFIGURE_VARS, MAKE_VARS, etc.).

GoPackage/Environment is kept (for now) in case other feeds are using
it.

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2020-05-13 16:07:20 +08:00
Jeffery To bcdd6e64fa golang: Remove RSTRIP definition from golang-package.mk
Since RSTRIP is defined in rules.mk as a recursively expanded variable,
there is no need to define it again after setting STRIP in
golang-package.mk.

This also adds a note to the comment for GO_PKG_LDFLAGS to say that -s
and -w flags are not necessary.

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2020-05-13 00:18:50 +08:00
Jeffery To 49a2ff493b golang: Add option to use external bootstrap Go
The default bootstrap Go (Go 1.4) can only be compiled on a limited
number of platforms compared to newer versions of Go.

This adds a config option to use an external bootstrap Go, e.g.
installed through the build system's package manager or downloaded from
golang.org.

See: https://github.com/openwrt/packages/issues/11731

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2020-05-12 17:42:48 +08:00
Jeffery To dec17eb36c treewide: Enable VFP/NEON optimizations for aarch64
For speexdsp, support for NEON on aarch64 was added in 1.2.0[1].

[1]: https://github.com/xiph/speexdsp/pull/8

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2020-05-12 16:03:07 +08:00
Jeffery To 2d99ee3004 treewide: Update ARM NEON/VFP detection
With openwrt/openwrt@8dcc108760, the ARM
FPU compiler options are no longer part of CONFIG_TARGET_OPTIMIZATION.

This updates various packages that look for NEON/VFP support to search
CONFIG_CPU_TYPE instead.

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2020-05-11 03:10:20 +08:00
Jeffery ToandEneas U de Queiroz 1c54706b97 libevhtp: Fix dependencies not selected when building static library
When libevhtp is added to a package's PKG_BUILD_DEPENDS (i.e. for
seafile-server), libevhtp's target package dependencies are not
automatically selected, in particular libevent2-openssl and
libevent2-pthreads.

Moreover, if libevent-openssl and libevent2-pthreads are not selected,
OpenSSL and thread support are disabled when compiling libevent2, which
in turn causes a compile error when building libevhtp.

This adds a config option, LIBEVHTP_BUILD_DEPENDS, that will select
libevent2-openssl and libevent2-pthreads (via LIBEVHTP_BUILD_SELECT)
when it is selected.

Other build dependencies are moved to PKG_BUILD_DEPENDS.

This also updates seafile-server to remove the (indirect) dependencies
added in 13d843fec1 and instead select
LIBEVHTP_BUILD_DEPENDS.

This also updates the maintainer's email address and adds myself as
another maintainer.

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2020-05-05 23:03:30 -03:00
Jeffery To 10fb31451e django-simple-captcha: Change download source to PyPI
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2020-05-01 05:14:11 +08:00
Jeffery To b333a95af6 python-schema: Update to 0.7.2, change download source to PyPI
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2020-05-01 05:11:08 +08:00
Jeffery To 0c83ce62c0 python-decorator: Update to 4.4.2, change download source to PyPI
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2020-05-01 05:02:50 +08:00
Jeffery To b5ba871c8f python-dns: Change download source, remove incorrect PKG_CPE_ID
This changes the package to download from PyPI (using pypi.mk) and
removes the incorrect PKG_CPE_ID.

The CPE id was for Debian's python-dns package which contains PyDNS
("pydns" on PyPI). This package contains "dnspython" from PyPI.

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2020-05-01 04:53:48 +08:00
Jeffery To 1e6b948963 python-cryptography: Update to 2.9.2
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2020-04-29 19:15:43 +08:00
Jeffery To bd48589e21 radicale2: Clean up Makefile
* Remove preinst, the default prerm script will stop the service
* Use default Python package filespec and shebang fix

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2020-04-29 17:48:46 +08:00
Jeffery To f304e57b35 uwsgi: Use pypi.mk to download source tarball
This also removes PKG_BUILD_DIR, which does not need to be explicitly
set.

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2020-04-29 16:49:42 +08:00
Jeffery To 32f727f0ee scapy: Use Python packaging, PyPI download
This updates the package to use the default Python package build recipe,
adds a src package, and changes to download from PyPI (using pypi.mk).

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2020-04-29 16:25:20 +08:00
Jeffery To 1929baac6d bash: Enable system-wide .bashrc file, source /etc/shinit
This enables a system-wide .bashrc file (/etc/bash.bashrc), as well as
some other options related to startup files, and sources /etc/shinit for
interactive shells.

Fixes https://bugs.openwrt.org/index.php?do=details&task_id=3019.

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2020-04-29 04:38:24 +08:00
Jeffery To dc5f2df6a4 bash: Import upstream patches
Source:
https://ftp.gnu.org/gnu/bash/bash-5.0-patches/
(bash50-003 to bash50-017)

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2020-04-29 04:38:24 +08:00
Jeffery To 9f81ab895e python3: Fix host build tool names recorded in target files
Python will record the values of CC, CXX, AR, and READELF (and other
configure options) used during compilation. pip will use these programs
when asked to compile extension modules on the target device.

* If ccache is used during build, CC and CXX will be ccache_cc and
  ccache_cxx, respectively, which are not available on-device (#11912).

* If an external toolchain is used during build, the values of these
  variables will contain the external toolchain prefix, which may not be
  available on target.

* If the normal toolchain is used during build, AR and READELF will
  contain the toolchain prefix, but the names of ar and readelf
  on-device do not contain the prefix; they are named "ar" and
  "readelf".

This changes the values of these variables in Python's files to match
the names available on-device, and without any toolchain prefix.

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2020-04-27 14:10:53 +08:00
Jeffery To 6678689f44 python-lxml: Use default Python package build recipe
This also updates the package's metadata (title, description, license).

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2020-04-25 00:34:11 +08:00
Jeffery To 11bc05763d python3-pip: Fix error when installing packages that require compilation
This addresses one of the issues raised in #11912.

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2020-04-24 21:09:37 +08:00
Jeffery To 125f9fca87 python-gnupg: Update to 0.4.6
This also updates all package metadata (it appears this information was
not updated when the package switched from packaging "gnupg" from PyPI
to "python-gnupg"), updates the package to use the default Python
package build recipe, and adds a src package.

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2020-04-23 05:25:52 +08:00
Jeffery To 97b435c8a5 python-appdirs: Fix description
This fixes the incorrect description for this package, as well as adding
a more descriptive title.

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2020-04-23 04:38:43 +08:00
Jeffery To 78ef6a9d31 django1: Remove common package
python-django1-common was added to allow both Python 2 and 3 versions of
Django 1.11 to be installed at the same time. With the removal of Python
2, this package is no longer necessary.

This removes this common package and updates the CONFLICTS value for the
django package.

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2020-04-23 04:24:23 +08:00
Jeffery To 7bf5ed1eda vobject: Remove maintainer
The previous maintainer has removed himself from his other packages
(#11612). This package appears to have been omitted by mistake.

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2020-04-23 03:47:12 +08:00
Jeffery To 2e14e639c4 python-zope-interface: Update to 5.1.0
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2020-04-23 03:40:11 +08:00
Jeffery To a00a0230b4 golang: Update to 1.14.2
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2020-04-23 02:40:50 +08:00
Jeffery To 2210c4a60d python-packages: Clean up Makefiles
This removes:

* Python 3 variants (VARIANT:=python3)

* "for Python3" from package titles

* Package selection condition from package dependencies, e.g.
  +PACKAGE_python3-six:python3-light replaced with +python3-light

* "Default" package information sections, e.g.
  Package/python-six/Default removed and package details merged into
  Package/python3-six

* "(Variant for Python3)" from package descriptions

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2020-04-22 16:36:55 +08:00
Jeffery To 89ae10ed71 python3: Change PYTHON_VERSION references to PYTHON3_VERSION
PYTHON_VERSION is a holdover from Python 2; all Python 3 variables are
prefixed with PYTHON3 (or some variation with "3").

This updates all uses of PYTHON_VERSION to PYTHON3_VERSION.

This also sets PYTHON3_PKG_BUILD:=0 before python3-package.mk is
included in the python3 Makefile.

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2020-04-19 01:56:23 +08:00
Jeffery To 81e99fa7ff seafile: Remove Python variants, update Python packaging
This removes Python build variants and adds PYTHON3_PKG_BUILD:=0 (where
appropriate) for the Seafile packages.

This also updates the way the Python bindings packages are packaged,
using automake installation instead of manual install recipes.

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2020-04-19 01:56:23 +08:00
Jeffery To 1bc2f4f3c6 treewide: Remove Python variants for non-Python packages
This removes Python-related build variants, and adds
PYTHON3_PKG_BUILD:=0 and minor build adjustments (where appropriate),
for non-Python packages. There should be no changes to build output.

This also updates some include paths for python3-package.mk and/or
python3-host.mk to be relative to the package Makefile.

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2020-04-19 01:56:23 +08:00
Jeffery To 9636f6f447 python3: Use PYTHON3_PKG_BUILD to control default Python package build
This replaces the use of BUILD_VARIANT with PYTHON3_PKG_BUILD to opt
in/out of the default Python package build recipe (Py3Build/Compile).

PYTHON3_PKG_BUILD defaults to true (1), i.e. if a package includes
python3-package.mk, then by default it will set the package's
Build/Compile to Py3Build/Compile.

If PYTHON3_PKG_BUILD is set to 0 before python3-package.mk is included,
then Build/Compile will not be modified.

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2020-04-19 01:56:23 +08:00
Jeffery To 58719a3c4b python3: Remove MIPS16 changes from python3-package.mk
There are no bug reports or other evidence to suggest Python is not
compatible with MIPS16 compilation.

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2020-04-19 01:56:23 +08:00
Jeffery To ba127c155a python3: Minor edits for python3-package.mk
* Remove PYTHON3_BIN_DIR, it isn't used anywhere in the repo
* Rephrase *-src package description
* Reduce Py3Package/$(1)/install indentation

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2020-04-19 01:56:23 +08:00
Jeffery To c9b260f5ae python3: Add canned recipe to invoke filespec processing
This extracts filespec export and processing into
Py3Package/ProcessFilespec.

This also allows the filespec variable to be explicitly set to an empty
value, to bypass filespec processing. (The default filespec is also
available as Py3Package/filespec/Default to be explicitly assigned to
the filespec variable.)

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2020-04-19 01:56:23 +08:00
Jeffery To 3cdca38dce python3: Move functionality into python3-package.mk
This moves functionality from python-package-install.sh into
python3-package.mk, so that they can be reused separate from filespec
processing.

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2020-04-19 01:56:23 +08:00
Jeffery To 0bc1bf5578 python3: Reorder recipes in python3-package.mk
Group Python3/* recipes together, group Py3Package and Py3Build
together.

This also adds headings and whitespace to separate major sections.

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2020-04-19 01:56:23 +08:00
Jeffery To fc8387614c python3: Rename canned recipes in python3-package.mk
This renames "internal" recipes to use the Python3/ prefix and clarifies
the names (RunTarget to Run, Mod to ModSetup, Shebang to FixShebang).

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2020-04-19 01:56:23 +08:00
Jeffery To 87b8f45230 python3: Rename canned recipes in python3-host.mk
This changes the recipe name prefix from Build/Compile/HostPy3 to
HostPython3, and clarifies some of the names (RunHost to Run, Mod to
ModSetup).

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2020-04-19 01:56:11 +08:00
Jeffery To 3642b18441 python3: Remove HostPython3 in python3-host.mk
HostPython3 only adds a few environment variables before running host
Python. It has only two users, Build/Compile/HostPy3RunHost and
Build/Compile/HostPy3RunTarget.

HostPython3 also accesses $(PYTHON3PATH), even though python3-host.mk
does not include python3-package.mk, where the variable is defined.

This removes HostPython3 and has its two users run host Python directly.
This also combines the environment variables of HostPython3 and the two
users into HOST_PYTHON3_VARS and PYTHON3_VARS.

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2020-04-19 01:56:07 +08:00