FS#70129 - [maturin] missing Maturin Python module

Attached to Project: Community Packages
Opened by tinywrkb (tinywrkb) - Monday, 22 March 2021, 21:17 GMT
Last edited by Toolybird (Toolybird) - Tuesday, 09 May 2023, 00:39 GMT
Task Type Bug Report
Category Packages
Status Closed
Assigned To Johannes Löthberg (demize)
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

This package is missing the Maturin Python module.
I notice this when I tried building python-adblock for aarch64 and it complained about missing Maturin Python module. I built for Flatpak, not for Arch Linux ARM, but I suspect someone else might hit this issue.

You can install the Maturin Python module manually and save some CPU cycles with something like this

$ install -Dm644 ${srcdir}/maturin/maturin/__init__.py -t ${pkgdir}/usr/lib/python3.9/site-packages/maturin/


You can build the Python package with Maturin and use pip to install and it will also install maturin binary into /bin. So post "cargo build"

$ ${srcdir}/maturin/target/release/maturin build --release --strip
$ pip3 install --exists-action=i --no-index --find-links=file://${srcdir}/maturin/target/wheels --root=${pkgdir} --prefix=/usr maturin --no-build-isolation


If we don't care about bootstrapping the package and depends on pre-package maturin then we can avoid "cargo build" and just run

$ maturin build --release --strip

and then install with pip as described above.
This task depends upon

Closed by  Toolybird (Toolybird)
Tuesday, 09 May 2023, 00:39 GMT
Reason for closing:  Fixed
Additional comments about closing:  maturin 0.14.17-3
Comment by Eli Schwartz (eschwartz) - Monday, 22 March 2021, 22:28 GMT
This is just a pep517 build backend that uses maturin via subprocess.run(), if you want to build python stuff using maturin the correct method is by running 'maturin build' in your PKGBUILD.

We really do not need any packages using pip install, it is strongly warned against in https://wiki.archlinux.org/index.php/Python_package_guidelines#pip

I especially don't quite get the point of building maturin in the PKGBUILD, then using the result to rebuild itself again...

So, there are 3 things here:
- the executable, currently implemented
- the python module, install -Dm644 works here
- the dist-info, which can be created as: ./target/release/maturin pep517 write-dist-info --metadata-directory "${srcdir}"/dist-info and copied alongside the maturin/__init__.py module.

Loading...