Commit graph

248 commits

Author SHA1 Message Date
DavHau
0078acd709 update conda-channels 2022-02-04 01:16:25 +07:00
DavHau
6a44e84351 fix bug in lib.nix 2022-02-04 01:16:10 +07:00
DavHau
c7da997337 fix bug in deptree.py 2022-02-04 01:15:59 +07:00
DavHau
30f6c6b2d8 update nixpkgs, python, pypi-deps-db 2022-02-03 23:02:45 +07:00
DavHau
c25116245d improve unwanted dependency removal
- retrieve dependency information for nixpkgs packages only from sdist and not from wheel provider
- skip dependency removal if package dependencies are unknown
2022-02-03 22:11:44 +07:00
DavHau
655f0360ce fix: wheel selection for macos arm64 2022-02-03 13:33:05 +07:00
Josh Bode
fbb6c3b932 use pkgs.python3 instead of pkgs.python(2) 2022-02-03 08:04:22 +11:00
DavHau
2d1360e4e2
Merge pull request #386 from tp-la/extra-pkg-dependencies
Update dependencies of python packages specified in packagesExtra in mkPython.
2022-02-02 15:13:18 +07:00
DavHau
7f1372dae7 update pypi-deps-db & fix test 2022-01-29 12:31:13 +07:00
DavHau
2e63cb554a fix macos arm64 wheel selection
closes #350
2022-01-28 12:39:42 +07:00
DavHau
7c05e2bc5b Merge branch 'pr-350' into macos-arm64 2022-01-28 12:32:43 +07:00
Tom Prince
f101dc4c27 Update dependencies of python packages specified in packagesExtra in mkPython.
Otherwise, it is likely that there will be collisions building the python environment,
as the dependencies of packages in packagesExtra won't match with the dependencies
calculated by mach-nix.

As a side-effect, this also causes the dependencies of mach-nix built packages included
by the `nixpkgs` provider to be included in dependency resolution.
2022-01-27 15:42:42 -07:00
Tom Prince
ac3e70ea68 Pass name ane version explicitly, rather than as a string, for nixpkgs python package versions.
This changes the internal format used to pass version information for nix to
python to not require parsing strings. This new format also makes it easier
to pass additional information (such as requirements, when available).
2022-01-27 15:41:38 -07:00
DavHau
cecf873f6f fix handling package with dot in name 2021-11-25 13:15:14 +07:00
DavHau
58f99ca152 update distlib to 0.3.3
fixes #287
fixes #349
2021-11-23 23:13:03 +07:00
Jean-Paul Calderone
4d2cc6c6fe try just ignoring direct references 2021-11-12 09:16:07 -05:00
Nasy
ea16287734
Match macosx_11_0_arm64.wheel
e.g. `numpy-1.21.4-cp310-cp310-macosx_11_0_arm64.whl`  https://pypi.org/project/numpy/#files
2021-11-08 14:18:32 -06:00
Florian Finkernagel
2d1efda0b6 correctly parse requirements that end in a stray comma 2021-10-27 11:03:18 +02:00
Tom Prince
19f2abee71 Don't recursively update python dependencies when building package overrides.
Given that we update the dependencies of all the packages we add to the
override, and remove any dependencies of those packages that we don't override,
there is no need to recursivly update the dependencies, since the dependcies we
are adding have already had their dependencies updated.
2021-10-26 19:06:20 -06:00
DavHau
9d4599fa1c
Merge pull request #338 from tp-la/pep440-prereleases
Implement PEP440-compatible prerelease handling.
2021-10-25 15:34:19 +07:00
DavHau
be40cd0739
Merge pull request #335 from tp-la/mkpython-postbuild
Allow passing postBuild to mkPython.
2021-10-25 14:51:34 +07:00
jared-w
6f06aa09cd Don't use busybox on macOS 2021-10-20 13:21:11 -07:00
jared-w
f5c482267c Fix providers.py on macOS 2021-10-20 11:10:56 -07:00
DavHau
b56a541af1 chore: remove debugging leftovers 2021-10-15 14:09:58 +07:00
DavHau
357a7d07c4
Merge pull request #337 from tp-la/sdist-python-requires
Handle `python_requires` for sdist provider.
2021-10-15 14:02:35 +07:00
DavHau
7306ea200a
Merge pull request #336 from tp-la/version-match
Handle more case of nixpkgs version matching.
2021-10-15 13:43:06 +07:00
Tom Prince
b48e38d5dd Remove unused conda dependency. 2021-10-12 13:29:03 -06:00
Tom Prince
338d99091b Switch PyVer to use packaging.version exclusively. 2021-10-12 14:26:52 -06:00
Tom Prince
624edfc3ea Add PEP440 prerelease version handling.
This switches to using `packaging.version` for version numbers
and `packaging.specifiers` for handling specifiers, the later
which implements the PEP440 logic for prereleases.
2021-10-12 13:06:03 -06:00
Tom Prince
2b87c68edb Add a special case for pytz>dev.
This deals with the workaround described in https://github.com/pypa/pip/issues/974#issuecomment-22641489.
2021-10-12 17:13:55 -06:00
Tom Prince
23a910dbc2 Require a separator when multiple specifiers are in a requirement. 2021-10-12 15:40:05 -06:00
Tom Prince
cf421d4716 Try parsing pypi requirements with packaging in tests.
If `packaging` can't parse a specifier without using a legacy specifier, then
we shouldn't worry about failing to parse it ourselves.
2021-10-12 16:33:33 -06:00
Tom Prince
7aad9f0f9d Delete some dead code. 2021-10-12 12:12:49 -06:00
Tom Prince
fdf572db07 Handle arbitrary length version. 2021-10-12 11:22:21 -06:00
Tom Prince
8a70284c08 Handle multiple nixpkg matching versions arbitrarily. 2021-10-12 11:22:18 -06:00
Tom Prince
9b71888ed4 Allow passing postBuild to mkPython.
Fixes #323.
2021-10-11 21:44:32 -06:00
Tom Prince
9163528467 Handle python_requires for sdist provider. 2021-10-11 18:51:16 -06:00
Tom Prince
7e3683f7d1 Use flake.lock in python package from nix.
Fixes #307.
2021-10-11 13:52:06 -06:00
Bjørn Forsman
cc9ab5a0d8 Add support for manylinux_${GLIBCMAJOR}_${GLIBCMINOR} wheels
https://www.python.org/dev/peps/pep-0600/

This fixes e.g. using the latest tokenizers package (0.10.3) with
mach-nix.

TODO: Update WheelDependencyProvider to process all filename tags
individually instead of matching them all with a single regexp. If it
had done that already, this change would have been somewhat unneeded, as
all wheel files seem to be doubly tagged (at least for now):

* manylinux_2_5 is also tagged manylinux1
* manylinux_2_12 is also tagged manylinux2010
* manylinux_2_17 is also tagged manylinux2014

(But since the new format is first in the filename, the old regexps
don't match.)
2021-07-04 11:33:19 +02:00
DavHau
e4685e2aec Merge remote-tracking branch 'mschwaig/fix-outdated-error-message' 2021-06-10 16:19:41 +07:00
DavHau
ca166a5062 revert references to 'conda-beta' 2021-06-10 15:04:19 +07:00
DavHau
27491cdf25 revert default providers to 'wheel,sdist,nixpkgs' 2021-06-10 00:07:19 +07:00
DavHau
cb002d307c fix: improper recursive dependency cleaning when overriding nixpkgs 2021-06-09 21:54:45 +07:00
DavHau
0d12c798d2 fix test-all flake app 2021-06-09 21:54:45 +07:00
DavHau
f18ed3bd78 fix mach-nix package 2021-06-09 16:21:31 +07:00
DavHau
5d6c89d9c5 fix: don't apply fix tensorflow.rm-tensorboard when provider == conda 2021-06-09 15:11:06 +07:00
DavHau
af3f9ed6e2 fix: recursive dependency cleaning not applied on all kinds of inputs 2021-06-09 15:09:52 +07:00
DavHau
2535798e10 update auto-patchelf.sh 2021-06-09 14:01:47 +07:00
DavHau
c76e162b4d add flake apps for testing 2021-06-09 13:11:17 +07:00
DavHau
17c0c9d390 fix: requirements parsing 2021-06-09 13:10:33 +07:00