version 3.1.0

This commit is contained in:
DavHau 2020-11-27 00:54:09 +07:00
parent 82add91944
commit 84383f85ae
5 changed files with 45 additions and 4 deletions

View file

@ -1,3 +1,25 @@
# 3.1.0 (27 Sep 2020)
flakes lib, cli improvements, bugfixes
### Features
- expose the following functions via flakes `lib`:
- mkPython / mkPythonShell / mkDockerImage / mkOverlay / mkNixpkgs / mkPythonOverrides
- buildPythonPackage / buildPythonApplication
- fetchPypiSdist / fetchPypiWheel
- Properly manage and lock versions of `nixpkgs` and `mach-nix` for environments created via `mach-nix env` command.
- Add example on how to use mach-nix with jupyterWith
### Improvements
- Improve portability of `mach-nix env` generated environments. Replace the platform specific compiled nix expression with a call to mach-nix itself, which is platform agnostic.
- Mach-nix now produces the same result no matter if it is used through flakes or legacy interface. The legacy interface now loads its dependencies via `flakes.lock`.
### Fixes
- mkDockerImage produced corrupt images.
- non-python packages passed via `packagesExtra` were not available during runtime. Now they are added to the `PATH`.
- remove `<nixpkgs>` impurity in the dependency extractor used in buildPythonPackage.
# 3.0.2 (27 Oct 2020)
bugfixes

View file

@ -99,7 +99,7 @@ You can call mach-nix directly from a nix expression
let
mach-nix = import (builtins.fetchGit {
url = "https://github.com/DavHau/mach-nix/";
ref = "refs/tags/3.0.2";
ref = "refs/tags/3.1.0";
}) {};
in
mach-nix.mkPython {

View file

@ -41,7 +41,7 @@ every mach-nix expression should begin like this:
let
mach-nix = import (builtins.fetchGit {
url = "https://github.com/DavHau/mach-nix/";
ref = "refs/tags/3.0.2";
ref = "refs/tags/3.1.0";
}) {
# optionally bring your own nixpkgs
# pkgs = import <nixpkgs> {};
@ -277,7 +277,7 @@ In this example, mach-nix is used to resolve our python dependencies and provide
let
mach-nix = import (builtins.fetchGit {
url = "https://github.com/DavHau/mach-nix/";
ref = "refs/tags/3.0.2"; # update this version
ref = "refs/tags/3.1.0"; # update this version
}) {
python = "python37";
};

View file

@ -1 +1 @@
3.0.2
3.1.0

View file

@ -0,0 +1,19 @@
{
mach-nix ? import ../. {},
...
}:
with builtins;
let
mkPythonFlakes = (getFlake (toString ../.)).lib.x86_64-linux.mkPython;
pyFlakes = mkPythonFlakes {
requirements = "requests";
};
py = mach-nix.mkPython {
requirements = "requests";
};
in
if pyFlakes == py then
py
else
throw "flakes and legacy output differ"