Releases: TyberiusPrime/anysnake2
1.15.0
Introduce 'while_run_outside' to complement pre/post_run_outside on [commands].
Basically, this allows you to spawn a script while your container
is running, for example if you want to take time based snapshots.
The script get's killed once the container ends.
QoL and R improvements
Breaking changes:
python mach-nix additional arguments:
python.additional_mkpython_arguments was replaced with additional_mkpython_arguments_func.
Example in [examples/full/anysnake2.toml]
This was necessary since the old variant overwrote the anysnake2 set arguments
without option for user recovery.
New functionality
- R.nixr_tag (ie. which nixR version to use) is now auto-filled into anysnake2.toml with current version if missing
- our nixR wrapping now supports the new nixR override functionality.
- python.packages { method='fetcHPyPi'} now automatically detects the newest version (and applies trust-on-first-use)
Bug fixes
- The gc-root placement has been rewritten to use nix cli, instead of manually placed symlinks.
(Necessary because nix per-user-profiles are deprecated) - pname on python.packages..buildPythonPackage_arguments should no longer be necessary.
Dev notes:
- Running the tests now requires you to set ANYSNAKE2_GITHUB_API_USERNAME/PASSWORD (=github access token).all
- all dependencies were upgraded, cargo audit was run. stderrlog->atty still has some unsoundness, but the description claims
it's only on windows.
Merge Release
I did not include the 1.13.2 fixes in 1.13.3. 1.13.4 now does.3
bugfix: clones and setup.cfg fields
We required a cloned python project to have an [options] section
in setup.cfg just to identify if it had entry_points.
Otherwise we'd silently not install it correctly in the venv.
This has been fixed.
Bugfix: Mach-nix following nixpkgs
We had mach-nix following nixpkgs,
but bach-nix is actually kind of picky what nixpkgs releases it runs on.
This prevented you from upgrading your inside-container nixpkgs,
but it's fixed now.
R overrideAttrs and python fetchPypi support
This release brings two new features:
The ability to override R packages' derivations like this:
[R.override_attrs]
ACA = '''
old: {
postInstall = ''
echo "Yes" >$out/library/ACA/override_in_place
'';
}
'''
(this also means we're using a new release of nixR).
And the ability to specify python packages to come from pypi.
Like this
dppd = { useMethod = "fetchPypi"}
See examples/just-python_package_from_pypi for a more involved example
using pyproject/flint based package.
This is also trust on first use, just like fetchFromGithub.
1.12.1 - fix "no newline in egg-link"
Newer pythons apparently don't have a new line in egg links.
This release fixes our parser to handle both.
Allow interdepend python packages from source control
This release allows specifing interdependencies between
python packages using the {method = "..."} syntax which are not on pypi/nixpkgs.
To do so, you need to add overrides = ["other_package_name"].
See examples/python_buildPackage_interdependency_with_overrides/anysnake2.toml for an example.
Fix revision incompatibilies
Previously, anysnake2 tried to read the complete configuration
before finding out that it wasn't the right version to begin with.
Starting with 1.11.1, it first hunts for just the revision,
before spawning the right one - which then hopefully can read your file.
replacing cran_ecosystem_track
This release replaces cran_ecosystem_track with nixR.
nixR is an improved tracker for cran & bioconducoctor,
and should bring some stability on this front.
Also includes a python310 example & test case.