Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add a script to build manylinux wheels #151

Merged
merged 1 commit into from
May 29, 2016
Merged

Add a script to build manylinux wheels #151

merged 1 commit into from
May 29, 2016

Conversation

asottile
Copy link
Member

Resolves #75
Resolves #150

CC @samuelcolvin

For more on the "manylinux" spec, see the pep: https://www.python.org/dev/peps/pep-0513/

(Personal notes):

  • I really don't like the manylinux spec for the way it bundles .so files into the wheel (which has security implications) -- but in our case it doesn't actually bundle any of the shared objects as these are the only things linked (yay?):
    linux-vdso.so.1 =>  (0x00007ffcab9aa000)
    libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fbfb695c000)
    libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fbfb6653000)
    libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fbfb643c000)
    libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fbfb621f000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fbfb5e56000)
    /lib64/ld-linux-x86-64.so.2 (0x00005609e2a1a000)

@samuelcolvin
Copy link
Contributor

Looks good to me in principal. Perhaps push to testpypi so we can test in action?



@contextlib.contextmanager
def tempdir():
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since you're running on Python 3; there's already a TemporaryDirectory context manager.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

oh hey, that's great!

@asottile
Copy link
Member Author

They're on testpypi: https://testpypi.python.org/pypi/libsass/0.11.1

Try these with:

pip install six && pip install -i https://testpypi.python.org/simple libsass

@coveralls
Copy link

coveralls commented May 29, 2016

Coverage Status

Coverage remained the same at 94.464% when pulling 2e44223 on asottile:manylinux into a3748d8 on dahlia:master.

@dahlia
Copy link
Member

dahlia commented May 29, 2016

Looks fine to me. Could we build manylinux wheels on Travis CI in the future?

@chriskuehl
Copy link

Works great for me on Debian jessie and Debian stretch (coincidentally, I was about to open an issue to ask about manylinux1 support!). Thanks!

@asottile
Copy link
Member Author

@dahlia I thought about travis-ci, however it doens't really benefit us to build them there. They need to build in this special docker container and can't take advantage of the software travis-ci has installed (due to being a too-new distribution (said nobody every about precise!)). I think it probably makes sense to just run this one-off during release.

@asottile asottile merged commit 63933eb into sass:master May 29, 2016
@asottile asottile deleted the manylinux branch May 29, 2016 14:51
@asottile
Copy link
Member Author

I've gone ahead and uploaded manylinux wheels for 0.11.1, 0.11.0 and 0.10.1 releases. If anyone wants others, let me know and I'll upload those too

@samuelcolvin
Copy link
Contributor

Great, thank you very much.

Note for anyone else having problems with the non manylinux version being installed: you need an up-to-date (or recent) version of pip (pip install --upgarde pip) to get the precompiled install.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants