<feed xmlns='http://www.w3.org/2005/Atom'>
<title>packages/lang/python/python3-host.mk, branch openwrt-21.02</title>
<subtitle>Community maintained packages for OpenWrt</subtitle>
<id>http://x-nagi.com/cgit/packages/atom?h=openwrt-21.02</id>
<link rel='self' href='http://x-nagi.com/cgit/packages/atom?h=openwrt-21.02'/>
<link rel='alternate' type='text/html' href='http://x-nagi.com/cgit/packages/'/>
<updated>2020-08-31T10:48:47Z</updated>
<entry>
<title>python: Use locked for host pip</title>
<updated>2020-08-31T10:48:47Z</updated>
<author>
<name>Jeffery To</name>
<email>jeffery.to@gmail.com</email>
</author>
<published>2020-08-30T22:29:44Z</published>
<link rel='alternate' type='text/html' href='http://x-nagi.com/cgit/packages/commit/?id=c0340f631c6da75c9e19a6a2132777b55b58b777'/>
<id>urn:sha1:c0340f631c6da75c9e19a6a2132777b55b58b777</id>
<content type='text'>
This also removes PKG_BUILD_PARALLEL:=0 that was added for packages that
use HOST_PYTHON3_PACKAGE_BUILD_DEPENDS.

Signed-off-by: Jeffery To &lt;jeffery.to@gmail.com&gt;
</content>
</entry>
<entry>
<title>python3: Use hash-checking mode when installing host pip packages</title>
<updated>2020-08-17T15:05:49Z</updated>
<author>
<name>Jeffery To</name>
<email>jeffery.to@gmail.com</email>
</author>
<published>2020-08-15T06:33:30Z</published>
<link rel='alternate' type='text/html' href='http://x-nagi.com/cgit/packages/commit/?id=722a5b8efa19fd54728af462441dce08cd7e545b'/>
<id>urn:sha1:722a5b8efa19fd54728af462441dce08cd7e545b</id>
<content type='text'>
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&gt;=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 &lt;jeffery.to@gmail.com&gt;
</content>
</entry>
<entry>
<title>python3: Add config PYTHON3_HOST_PIP_CACHE_WORLD_READABLE</title>
<updated>2020-08-15T22:09:45Z</updated>
<author>
<name>Jeffery To</name>
<email>jeffery.to@gmail.com</email>
</author>
<published>2020-08-15T22:09:45Z</published>
<link rel='alternate' type='text/html' href='http://x-nagi.com/cgit/packages/commit/?id=001cd3c571335c7bef6460895da3757a91234875'/>
<id>urn:sha1:001cd3c571335c7bef6460895da3757a91234875</id>
<content type='text'>
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 &lt;jeffery.to@gmail.com&gt;
</content>
</entry>
<entry>
<title>python3: fix host compilation with clang</title>
<updated>2020-08-02T07:49:30Z</updated>
<author>
<name>Rosen Penev</name>
<email>rosenp@gmail.com</email>
</author>
<published>2020-08-01T20:59:57Z</published>
<link rel='alternate' type='text/html' href='http://x-nagi.com/cgit/packages/commit/?id=b40c40151c2ac3dd11d908a0548ac97e6b5c8455'/>
<id>urn:sha1:b40c40151c2ac3dd11d908a0548ac97e6b5c8455</id>
<content type='text'>
Matched rpath parameter with Makefile.

Signed-off-by: Rosen Penev &lt;rosenp@gmail.com&gt;
</content>
</entry>
<entry>
<title>python3: Use default _PYTHON_HOST_PLATFORM</title>
<updated>2020-07-08T09:11:42Z</updated>
<author>
<name>Jeffery To</name>
<email>jeffery.to@gmail.com</email>
</author>
<published>2020-07-08T08:02:49Z</published>
<link rel='alternate' type='text/html' href='http://x-nagi.com/cgit/packages/commit/?id=0973d21787868192b63ff353b9bb91b3de68702a'/>
<id>urn:sha1:0973d21787868192b63ff353b9bb91b3de68702a</id>
<content type='text'>
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 &lt;jeffery.to@gmail.com&gt;
</content>
</entry>
<entry>
<title>python3: Rename canned recipes in python3-host.mk</title>
<updated>2020-04-18T17:56:11Z</updated>
<author>
<name>Jeffery To</name>
<email>jeffery.to@gmail.com</email>
</author>
<published>2020-04-09T15:02:14Z</published>
<link rel='alternate' type='text/html' href='http://x-nagi.com/cgit/packages/commit/?id=87b8f45230c59d2b4c90ee0a2caaa5a22bf3d77a'/>
<id>urn:sha1:87b8f45230c59d2b4c90ee0a2caaa5a22bf3d77a</id>
<content type='text'>
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 &lt;jeffery.to@gmail.com&gt;
</content>
</entry>
<entry>
<title>python3: Remove HostPython3 in python3-host.mk</title>
<updated>2020-04-18T17:56:07Z</updated>
<author>
<name>Jeffery To</name>
<email>jeffery.to@gmail.com</email>
</author>
<published>2020-04-09T14:42:27Z</published>
<link rel='alternate' type='text/html' href='http://x-nagi.com/cgit/packages/commit/?id=3642b18441a386e0af2b5912b2d823f7b4dd7939'/>
<id>urn:sha1:3642b18441a386e0af2b5912b2d823f7b4dd7939</id>
<content type='text'>
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 &lt;jeffery.to@gmail.com&gt;
</content>
</entry>
<entry>
<title>python3: Remove include guard for python3-host.mk</title>
<updated>2020-04-17T15:19:13Z</updated>
<author>
<name>Jeffery To</name>
<email>jeffery.to@gmail.com</email>
</author>
<published>2020-04-09T11:20:48Z</published>
<link rel='alternate' type='text/html' href='http://x-nagi.com/cgit/packages/commit/?id=2dfdef66a383a0db10d9746a21a9362f18502fe9'/>
<id>urn:sha1:2dfdef66a383a0db10d9746a21a9362f18502fe9</id>
<content type='text'>
Since it only defines variables and canned recipes, it is safe to
include python3-host.mk more than once.

Signed-off-by: Jeffery To &lt;jeffery.to@gmail.com&gt;
</content>
</entry>
<entry>
<title>python,python3: Update host pip[3] install functions</title>
<updated>2019-05-29T13:45:16Z</updated>
<author>
<name>Jeffery To</name>
<email>jeffery.to@gmail.com</email>
</author>
<published>2019-05-29T13:45:16Z</published>
<link rel='alternate' type='text/html' href='http://x-nagi.com/cgit/packages/commit/?id=ae80ddc7ab1486a2e4788a8bd4b9c1643ce29c29'/>
<id>urn:sha1:ae80ddc7ab1486a2e4788a8bd4b9c1643ce29c29</id>
<content type='text'>
* Add --cache-dir option to set the pip cache to a directory in
$(DL_DIR), instead of pip's default (build user's ~/.cache/pip),
fixes #9066

* Add --disable-pip-version-check option, since the version check only
prints a message saying a new version is available

* Combine host_python_pip_install and host_python_pip_install_host into
Build/Compile/HostPy[3]PipInstall

* Remove --root and --prefix options, since this function is only used
to install packages to host Python's default site-packages directory
(setting these may serve to confuse pip)

* Pass all of $(HOST_PYTHON[3]_PACKAGE_BUILD_DEPENDS) to the function,
since pip can handle multiple arguments/packages

Signed-off-by: Jeffery To &lt;jeffery.to@gmail.com&gt;
</content>
</entry>
<entry>
<title>python,python3: remove `--ignore-installed` flag for host packages</title>
<updated>2018-05-14T09:11:00Z</updated>
<author>
<name>Alexandru Ardelean</name>
<email>ardeleanalex@gmail.com</email>
</author>
<published>2018-05-14T09:08:46Z</published>
<link rel='alternate' type='text/html' href='http://x-nagi.com/cgit/packages/commit/?id=995b48121eb0131913cde1585528db266e8caabf'/>
<id>urn:sha1:995b48121eb0131913cde1585528db266e8caabf</id>
<content type='text'>
This was copied over from python-packages, when support for installing
packages host-side (via pip) was added.

Based on the discussion on this commit:
  https://github.com/openwrt/packages/commit/612c53fc6c3d9ba2a57f7329baf055f1d59a9246
it was mentioned that removing this may add more benefit in terms of
reducing build time, because packages won't get reinstalled every time.

I'm not entirely sure about any potential side-effects of this, but it's
worth trying it out.

Signed-off-by: Alexandru Ardelean &lt;ardeleanalex@gmail.com&gt;
</content>
</entry>
</feed>
