-
Notifications
You must be signed in to change notification settings - Fork 38
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
New package 'meson-py' #924
base: master
Are you sure you want to change the base?
Conversation
mv %i/share/man/man1/meson.1 %i/share/man/man1/meson-py%type_pkg[python].1 | ||
perl -pi -e 's|(/usr)(/bin/python)(3)|%p${2}%type_raw[python]|;' %i/share/polkit-1/actions/com.mesonbuild.install.policy | ||
perl -pi -e 's|(/usr)(/bin/meson)|%p${2}-py%type_pkg[python]|;' %i/share/polkit-1/actions/com.mesonbuild.install.policy | ||
mv %i/share/polkit-1/actions/com.mesonbuild.install.policy %i/share/polkit-1/actions/com.mesonbuild.install.policy-py%type_pkg[python] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do you actually need to install a polkit file at all? AFAICT fink doesn't have polkit available anyway.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good point, this was left from the initial version; the only other polkit file present there on my system was installed by dpkg
.
I'd been working on meson recently at dmacks:meson2 ("2" because it was my second attempt, not a package-name). It has a few additional patches and documentation of some test-fails. Feel free to adopt this thing, I just really want to see it done and finaly had some free time to work on it. After investigating the meson project goals and features, I decided to merge it back into a single main package rather than having -pyXX variants. Regardless though, there probably needs to be a main "meson" package that is either the thing itself or a |
This decision is a lot easier for distros and vendors that have a default python which all command-line utilities that happen to be written in python, target by default. I'm not familiar with how fink works though. I can verify that Meson is supposed to work with any (non-EOL) version of python, and that it simply treats python as:
|
Thanks, I think I had actually gotten a notification about a commit to the old PR that reminded me this was still not available and triggered this PR. Will have a look at the additional fixes for the tests etc. I agree it makes sense to have at minimum a
Settling to Python 3.10 for packages like this, mercurial or libnewt0 would probably a good solution, though a bit of a moving target. I don't think the general Fink system of maintaining several minor versions in parallel is up for discussion at this point. |
The SciPy build uses a PEP 517 build backend that e.g. when running On the other hand, it also wants to have a python metadada dependency on Meson, i.e. depend on a version of Meson packaged for that python version... even though it only runs |
As Fink is building its .deb directly from the install dir (here populated from |
In that case, the SciPy "dist-info" metadata will be missing, so if users install SciPy through fink, then try to pip install something that depends on fink, pip will not know that SciPy is already installed. dist-info metadata generation is one of the planned improvements for Meson's python extension building support, it's just not there yet. That may or may not matter to you. Everything else works with native Meson -- in fact, upstream SciPy's development tooling just uses native Meson to build and install SciPy and run the tests, which works fine. (I've been working with SciPy to help integrate Meson support.) |
Thanks for pointing that out, I had noticed there was no egg.info or dist.info installed, but not followed up on that. Fortunately the PKG-INFO seems to provide enough data for pip, so as long as we get that from the PyPI sources, it is an easy enough workaround. I have pushed my WIP package to dhomeier:scipy-1.9 ; if anyone wants to comment on that separately, I can open a draft PR. |
Added the |
Python-varianted packaging sounds like a good idea. Thanks everyone for explaining it so clearly! |
Revision: 1 | ||
Type: python (3.7 3.8 3.9 3.10) | ||
Depends: python%type_pkg[python], ninja (>= 1.9-1) | ||
BuildDepends: fink (>= 0.24.12), setuptools-tng-py%type_pkg[python] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nit: no need for fink (>= 0.24.12)
BDep
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No idea how I came up with 0.24.12. But I thought Info2
still required 0.20.0; validation passes without any fink [B]Dep... – maybe assuming there are no more ancient versions in existence!
Upstream update came in between; tested on 10.14.6 and 12.4 (arm64+x64_86).
seem in part related to the flag-sorting issue noted, others to looking for a Framework installation. I've also seen failures like cc -Itest1.p -I. '-I../test cases/common/44 pkgconfig-gen/dependencies' -I/private/scratch.noindex/fink.build/meson-py310-0.63.0-1/meson-0.63.0/tmp4by7txff '-I/private/scratch.noindex/fink.build/meson-py310-0.63.0-1/meson-0.63.0/test -I/private/scratch.noindex/fink.build/meson-py310-0.63.0-1/meson-0.63.0/tmp4by7txff' '-I/private/scratch.noindex/fink.build/meson-py310-0.63.0-1/meson-0.63.0/test -DLIBFOO' -fcolor-diagnostics -Wall -Winvalid-pch -O0 -g 'cases/common/44 pkgconfig-gen' 'cases/common/44 pkgconfig-gen' -MD -MQ test1.p/main.c.o -MF test1.p/main.c.o.d -o test1.p/main.c.o -c '../test cases/common/44 pkgconfig-gen/dependencies/main.c'
clang: error: no such file or directory: 'cases/common/44 pkgconfig-gen'
clang: error: no such file or directory: 'cases/common/44 pkgconfig-gen' indicating the trouble handling path names with spaces. |
Tested the new release with 3 failures left in the main (pytest) suite, second (cmake tests) part seems to be missing an |
Co-authored-by: Daniel Macks <[email protected]>
Updated to upstream 1.6.0, tested on 15.1 arm64 and x86_64 (via Rosetta). Also adding an update for ninja, as tests are checking for version >= 1.12, but everything seems to build and run with 1.11 as well. |
Packaging the
meson
build system building on the earlier (closed) attempt from #582 and homebrew recipes.Built, tested (with a few failures) and used to build scipy 1.9.0rc1 on 12.4/arm64 and 10.14.6.
May resolve #1164 .