Skip to content

Releases: TyberiusPrime/anysnake2

1.15.0

05 Dec 16:36
Compare
Choose a tag to compare

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

14 Nov 15:18
Compare
Choose a tag to compare

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

23 Aug 06:38
Compare
Choose a tag to compare

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

13 Jul 14:34
Compare
Choose a tag to compare

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

05 Jul 12:23
Compare
Choose a tag to compare

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

26 Jun 14:23
Compare
Choose a tag to compare

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"

01 Feb 10:47
Compare
Choose a tag to compare

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

08 Dec 09:35
Compare
Choose a tag to compare

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

05 Dec 13:00
Compare
Choose a tag to compare

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

02 Dec 15:24
Compare
Choose a tag to compare

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.