Commit graph

169 commits

Author SHA1 Message Date
DavHau
de1a164858 version 2.3.0 2020-08-26 13:19:25 +07:00
DavHau
4d9371cbb7 add tests; improve examples 2020-08-26 13:06:14 +07:00
DavHau
b74899ffb6 allow calling mkPython and buildPythonPackage with a single argument 2020-08-25 15:21:49 +07:00
DavHau
2cf62ad225 add 'add_requirements' to buildPythonPackage 2020-08-25 10:38:30 +07:00
DavHau
76238f2825 automatically detect name and version from source 2020-08-25 10:11:08 +07:00
DavHau
b230865660 automatically extract requirements in buildPythonPackage 2020-08-24 18:20:29 +07:00
DavHau
e178ba51d7 wheel crawler: prune entries deleted from pypi 2020-08-24 14:34:14 +07:00
DavHau
83385f91ee fix bug: buildInputs with dot in name 2020-08-24 14:33:27 +07:00
DavHau
e7c549084e fix version filtering bug introduced by 944d50cd09 2020-08-23 20:11:49 +07:00
DavHau
edd42746a4 update deps db and nixpkgs 2020-08-23 19:41:50 +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
58e78a9b45 add wheel setup dep 2020-08-22 12:48:33 +07:00
DavHau
fd2431c5e3 add missing deps to setup.py 2020-08-22 12:45:21 +07:00
DavHau
59d54bd366 adapt readme and examples to use mach-nix.nixpkgs instead of pkgs 2020-08-20 15:06:26 +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
70a60b9a70 add test for dot in name 2020-08-18 13:18:53 +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
DavHau
ce666bcd54 init pypi-crawlers (moved from github.com/DavHau/pypi-crawlers) 2020-08-15 19:09:28 +07:00
DavHau
dd71ac96d5 fix ResolutionImpossible error msg; fix crash on packages with dot in name 2020-08-12 00:15:12 +07:00
DavHau
e160c5c93a force pip from nixpkgs; remove importmagic3 default providers
- fixes #61
2020-08-12 00:15:12 +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
cb47e6feea Merge branch 'dev' 2020-08-08 17:10:37 +07:00
DavHau
9f12a12b03 improve nixpkgs name mapping 2020-08-08 17:08:11 +07:00
DavHau
3b4db038b6 get platform and system from nix env 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
DavHau
f11fe2b5cb
Release 2.1.1
# 2.1.1 (30 Jul 2020)
Fix broken wheel packages
### Fixes:
 - Some wheel packages could brake through patchelf if they already contained stripped binaries. Packages like numpy wouldn't work because of this. This is now fixed by passing `dontStrip` to the `autoPatchelf` routine.
2020-07-30 21:13:49 +07:00
DavHau
bfa6943e3b release 2.1.1 2020-07-30 21:12:13 +07:00
DavHau
c8936715d2 rename overlays_generator -> overrides_generator 2020-07-30 20:59:08 +07:00
Siddharth Verma
da74d4b31f
Fix broken wheels (#49)
* Added dontStrip to mkPython
2020-07-27 11:13:43 +07:00
DavHau
646eedf36f
Merge pull request #44 from blaggacao/patch-1
typos
2020-07-22 14:36:33 +07:00
David Arnold
32a40a8349
typos 2020-07-21 19:31:49 -05:00
DavHau
f041b2da81
Merge pull request #40 from xiorcale/patch-1
Fix typo
2020-07-15 16:12:29 +07:00
xiorcale
bf883922a7
Fix typo 2020-07-15 10:58:19 +02:00
DavHau
9523a7abfa
Merge pull request #37 from DavHau/dev
# 2.1.0 (04 Jul 2020)
Bug fixes + new feature **buildPythonPackage** / **buildPythonApplication**
### Fixes:
 - fix `value is null while a set was expected` error when python package is used which is set to null in nixpkgs.

### Features:
 - **buildPythonPackage** / **buildPythonApplication**: Interface to build python packages from their source code + requirements.txt
2020-07-04 19:53:18 +07:00
DavHau
fc45307520 version 2.1.0 2020-07-04 12:50:07 +00:00
DavHau
b523072885 improve readme and add examples.md 2020-07-04 12:22:33 +00:00
DavHau
a5c33aec75 add buildPythonPackage and buildPythonApplication 2020-07-03 11:10:02 +00:00
DavHau
c708c5a7cb fix error when package == null 2020-07-03 05:18:38 +00:00
DavHau
65e50b361c
Merge pull request #35 from DavHau/logo
include logo
2020-06-29 23:02:18 +07:00
DavHau
ab8e6ca9ba include logo 2020-06-29 16:00:29 +00:00
DavHau
a107d52466
Merge pull request #34 from DavHau/release-2.0.1
version 2.0.1
2020-06-29 22:02:57 +07:00
DavHau
12cde636cc version 2.0.1 2020-06-29 15:01:35 +00:00
DavHau
6d7e48526a
Merge pull request #33 from DavHau/dev
Dev
2020-06-29 00:11:17 +07:00
DavHau
2211631ef7 debug.py: load providers from ./providers.toml 2020-06-28 14:02:07 +00:00
DavHau
b7be58294d use 'pname' and 'version' instead of name 2020-06-28 13:56:54 +00:00
DavHau
a1f4a672c7 filter out unwanted buildInputs when overriding python packages 2020-06-28 13:11:44 +00:00