ovalhub / pyicu

The PyICU project repository has moved to https://pyicu.org.
Other
133 stars 49 forks source link

Try to build wheels #138

Open abitrolly opened 3 years ago

abitrolly commented 3 years ago

https://pypi.org/project/cibuildwheel/

ovalhub commented 3 years ago

How do people download the wheel ? What version of ICU is the PyICU wheel built with ?

On Nov 18, 2020, at 22:51, Anatoli Babenia notifications@github.com wrote:

 https://pypi.org/project/cibuildwheel/

You can view, comment on, or merge this pull request online at:

https://github.com/ovalhub/pyicu/pull/138

Commit Summary

Try to build wheels File Changes

M .travis.yml (4) Patch Links:

https://github.com/ovalhub/pyicu/pull/138.patch https://github.com/ovalhub/pyicu/pull/138.diff — You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or unsubscribe.

abitrolly commented 3 years ago

How do people download the wheel ?

From PyP after this this code is added.

env:
  global:
    - TWINE_USERNAME=__token__
    # Note: TWINE_PASSWORD is set to a PyPI API token in Travis settings
...
after_success:
  # if the release was tagged, upload them to PyPI
  - |
    if [[ $TRAVIS_TAG ]]; then
      python3 -m pip install twine
      python3 -m twine upload wheelhouse/*.whl
    fi

https://github.com/joerick/cibuildwheel/blob/master/examples/travis-ci-deploy.yml

What version of ICU is the PyICU wheel built with ?

Latest?

I wonder how Unicode in Python3 works. Does it link with some library like ICU?

ovalhub commented 3 years ago

On Nov 19, 2020, at 00:15, Anatoli Babenia notifications@github.com wrote:

 How do people download the wheel ?

From PyP after this this code is added.

env: global:

What version of ICU is the PyICU wheel built with ?

Latest?

It should be the one installed by the os by default, usually not the latest. Are the ICU libs included in the wheel ? I wonder how Unicode in Python3 works. Does it link with some library like ICU?

It has its own implementation, it does not use ICU.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe.

abitrolly commented 3 years ago

It should be the one installed by the os by default, usually not the latest. Are the ICU libs included in the wheel ?

I am not sure how it works. My assumption is that everything that wheels needs to work is statically linked. except base libs that are defined by manylinux1 or manylinux2010 standard (https://www.python.org/dev/peps/pep-0571/).

ovalhub commented 3 years ago

On Nov 19, 2020, at 08:09, Anatoli Babenia notifications@github.com wrote:

 It should be the one installed by the os by default, usually not the latest. Are the ICU libs included in the wheel ?

I am not sure how it works. My assumption is that everything that wheels needs to work is statically linked. except base libs that are defined by manylinux1 or manylinux2010 standard (https://www.python.org/dev/peps/pep-0571/).

ICU is not going to be included, apparently, the pep says it below. I don't see how a prebuilt binary wheel is going to work since the version of icu that was used to build pyicu must match the version used when running.

The wheel's binary executables or shared objects may not link against externally-provided libraries except those in the following whitelist:

libgcc_s.so.1 libstdc++.so.6 libm.so.6 libdl.so.2 librt.so.1 libc.so.6 libnsl.so.1 libutil.so.1 libpthread.so.0 libresolv.so.2 libX11.so.6 libXext.so.6 libXrender.so.1 libICE.so.6 libSM.so.6 libGL.so.1 libgobject-2.0.so.0 libgthread-2.0.so.0 libglib-2.0.so.0

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe.