Commit graph

51 commits

Author SHA1 Message Date
Tom Prince
dad6d3948e Track raw provider version, rather than rebuilding. 2021-10-15 15:01:41 -06: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
cecf873f6f fix handling package with dot in name 2021-11-25 13:15:14 +07: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
cb002d307c fix: improper recursive dependency cleaning when overriding nixpkgs 2021-06-09 21:54:45 +07:00
DavHau
af3f9ed6e2 fix: recursive dependency cleaning not applied on all kinds of inputs 2021-06-09 15:09:52 +07:00
DavHau
06bda013a3 fix: removed circular deps missing in autoPatchelf 2021-06-08 19:10:15 +07:00
DavHau
dc9b7d0c2b conda: rebase on current nixpkgs PR https://github.com/NixOS/nixpkgs/pull/123323 2021-05-22 20:13:42 +07:00
DavHau
dbaf4115ca Merge branch 'master' into conda-beta 2021-05-16 16:56:37 +07:00
DavHau
31a286bf2a Merge branch 'master' into conda-beta 2021-05-15 16:51:28 +07:00
DavHau
fdd7bec457 fix: filter out unwanted python dependencies 2021-05-15 12:39:38 +07:00
DavHau
1c7af0918b fix: python package 'overrides' colliding with same named variable in nix expr. 2021-05-14 14:45:36 +07:00
DavHau
afcfd0d15b add sdist output to flake 2021-03-12 12:37:07 +07:00
DavHau
57959a9ed5 add .expr attribute to mkPython 2021-02-26 12:11:06 +07:00
DavHau
6473903da7 fix: collision when overriding nixpgs 2021-02-17 16:52:24 +07:00
DavHau
20e50610f2 also replace nativeBuildInputs on overridden nixpkgs candidates 2020-12-21 13:40:59 +07:00
DavHau
bd3b69eef0 symlink conda extra files to root dir 2020-11-19 01:09:56 +07:00
DavHau
678d716d1e WIP conda: add crawler for conda channels 2020-10-27 09:46:33 +07:00
DavHau
ffd51659df fix: infinite recursion in passthru 2020-10-26 01:12:39 +07:00
DavHau
0925bc4147 WIP: conda 2020-10-26 01:09:37 +07:00
DavHau
230a10d547 fix: infinite recursion in passthru 2020-10-26 01:08:21 +07:00
DavHau
c302ceaafd WIP: conda 2020-10-25 12:09:08 +07:00
DavHau
b6085ed739 update autoPatchelfHook with some improvements 2020-10-20 18:56:12 +07:00
DavHau
763b15d56d fix: detect pname properly in mach_nix_file 2020-10-12 10:22:26 +07:00
DavHau
aa0d7cb6b3 disable checks globally via override 2020-10-11 14:41:09 +07:00
DavHau
b02f915b7a fix: wrong buildInputs selected due to name changes 2020-10-11 13:45:45 +07:00
DavHau
2ee1aa8f3f stop using nix_names as keys; improve get_passthru; add test 2020-10-09 22:36:11 +07:00
DavHau
765d85e550 fix withDot feature 2020-10-08 23:59:09 +07:00
DavHau
67df1d2a15 evolve: inherit more py pkgs when overriding nixpkgs, but replace redundant 2020-10-08 21:25:52 +07:00
DavHau
856ebd4240 remove last impurities 2020-10-08 01:50:34 +07:00
DavHau
b0d0081d3d fix: unwanted python buildInput inheritance when overriding nixpkgs 2020-10-06 21:30:07 +07:00
DavHau
b7e05a1739 fix: null value in get_passthru. fixes #131 2020-09-21 12:30:55 +07:00
DavHau
4070c03e71 fix: wrong provider detected in fixes for sdist packages 2020-09-21 12:01:00 +07:00
DavHau
d401de7b87 stop unifying pkg-names -> fixes passthru inf. recursions 2020-09-15 13:48:35 +07:00
DavHau
bc2157e530 fix get_passthru; fix problem with dot in names 2020-09-13 21:52:52 +07:00
DavHau
7098c4b6e6 fix passthru already defined 2020-09-13 21:42:07 +07:00
DavHau
57ac0f997c Merge branch 'fixes2' into dev
# Conflicts:
#	mach_nix/generators/overides_generator.py
2020-09-13 21:38:29 +07:00
DavHau
976c4461c8 feature: fixes.nix 2020-09-13 21:34:54 +07:00
DavHau
02d2779810 inherit passthru from nixpkgs 2020-09-12 20:19:41 +07:00
DavHau
83385f91ee fix bug: buildInputs with dot in name 2020-08-24 14:33:27 +07:00
DavHau
944d50cd09 fix: don't user normalized version to reference package
(fixed #93, fixes #92, fixes #82)
2020-08-23 19:39:47 +07:00
DavHau
662407c0f3 remove rec from overrides (fixes #97) 2020-08-20 14:36:20 +07:00
DavHau
6a8718b7e1 fix bug introduced by quoting top level attr names 2020-08-20 14:32:57 +07:00
DavHau
0963d72ba8 fix top level deps with dot in name (fixes #83) 2020-08-18 13:07:04 +07:00
DavHau
f0b3b3c8e5
version 2.2.2 (#88)
# 2.2.2 (17 Aug 2020)

### Fixes
 - Packages with dot in name led to invalid nix expression
 - Problem generating error message for resolution impossible errors
 - `buildPythonPackage` of mach-nix failed if arguments like `pkgs` were passed.
 - When overriding packages, mach-nix now falls back to using `overrideAttrs` if `overridePythonAttrs` is not available.
 
### Package Fixes:
 - pip: installation failed. Fixed by forcing `nixpkgs` provider
 - gdal: building from sdist doesn't work. Fixed by forcing `nixpkgs` provider

### Development
 - Merged project `pypi-crawlers` into mach-nix (was separated project before)
2020-08-17 18:16:56 +07:00
Sylvain Fankhauser
67226aae7a
Always quote package names (#71)
Since they can contain characters that have a meaning in Nix, such as a dot, for
example in the package "zope.interface".
2020-08-12 00:13:53 +07:00
DavHau
1652e31ce3
Dev (#63)
* fix abi tag for python 3.8

* handle circular deps; print info ResolutionImpossible; add tests

* fix readme

* version 2.2.1
2020-08-11 18:40:10 +07:00
DavHau
a20691048e
version 2.2.0 (#60)
# 2.2.0 (09 Aug 2020)
Improved success rate, MacOS support, bugfixes, optimizations

### Features
 - Improved selection of wheel releases. MacOS is now supported and architectures besides x86_64 should be handled correctly.
 - Whenever mach-nix resolves dependencies, a visualization of the resulting dependency tree is printed on the terminal. 
 - The dependency DB is now accessed through a caching layer which reduces the resolver's CPU time significantly for larger environments.
 - The python platform context is now generated from the nix build environment variable `system`. This should decrease the chance of impurities during dependency resolution.
 
### Fixes
 - The requires_python attribute of wheels was not respected. This lead to failing builds especially for older python versions. Now `requires_python` is part of the dependency graph and affects resolution.
 - Detecting the correct package name for python packages in nixpkgs often failed since the attribute names don't follow a fixed schema. This lead to a handful of different errors in different situations. Now the package names are extracted from the pypi `url` inside the `src` attribute which is much more reliable. For packages which are not fetched from pypi, the `pname` attribute is used as fallback.
 - Fixed bug which lead to the error `attribute 'sdist' missing` if a package from the nixpkgs provider was used which doesn't publish it's source on pypi. (For example `tensorflow`)
 
### Other Changes
 - Mach-nix now uses a revision of the nixpkgs-unstable branch instead of nixos-20.03 as base fo the tool and the nixpkgs provider.
 - Updated revision of the dependency DB
2020-08-09 20:24:12 +07:00
DavHau
9f12a12b03 improve nixpkgs name mapping 2020-08-08 17:08:11 +07:00
DavHau
17aa8ceedd respect requires_python for wheels, support macos, add caching 2020-08-08 17:08:11 +07:00