sass / libsass-python

A straightforward binding of libsass for Python. Compile Sass/SCSS in Python with no Ruby stack at all!
https://sass.github.io/libsass-python/
MIT License
564 stars 54 forks source link

Add wheels for musl linux #391

Open Bruceforce opened 2 years ago

Bruceforce commented 2 years ago

Hi, first let me thank you for your awesome work.

Is it possible to add musllinux wheel builds to pypi (PEP656)?

This would be great for all alpine users since it would simplify and speed up the installation of the libsass package.

toabi commented 2 years ago

I guess here's where the wheels are built? https://github.com/sass/libsass-python/blob/main/bin/build-manylinux-wheels

I have no experience with this, but would it be easy to adapt and run a musl container to build musl wheels? There's just no standard OS as for https://github.com/pypa/manylinux as I could see?

asottile commented 2 years ago

yeah I haven't seen any standardization on a base image -- we could make our own but ideally someone else would do that work lol

toabi commented 2 years ago

Jeah. The cryptography people have their own apparently: https://github.com/pyca/cryptography/blob/main/.github/workflows/wheel-builder.yml#L34

asottile commented 2 years ago

yeah they have some special requirements too like rust

toabi commented 2 years ago

Just noticed, there are musllinux images there https://quay.io/organization/pypa - here: https://quay.io/repository/pypa/musllinux_1_1_x86_64?tab=tags

DeD1rk commented 11 months ago

@asottile I think it's quite sad to see #400 closed. It would be very useful in simplifying and speeding up docker builds.

So again, would you be open for a PR for building with https://github.com/pypa/cibuildwheel?

maybeetree commented 3 days ago

Hello,

I'm seconding this. Musl wheels would be great.

Unfortunately I'm not familiar with either tox or cibuildwheel, so I cannot provide a PR. However, I can confirm that libsass compiles without issues on Alpine linux, provided that gcc, g++, musl-dev, and python3-dev packages are installed (some of these may be redundant)

Hope this helps.