Releases: TyberiusPrime/anysnake2
Git urls in python packages
support for git+ssh:// style urls for sources of python packages.
(2.3.5 was partial fix and has been redacted)
Nixpkgs 25.11 and rpy2 changes
This release now supports nixpkgs 25.11 and rpy2 post their package split into rpy2_rinterface and rpy2_objects.
2.3.3 Nixpks overlays & jujutsu
We now allow nixpkgs overlays (see full example),
and add a default overlay normalizing pkgconfig vs pkg-config renaming in nixpkgs.
Also when
[clone_options]
jujutsu = trueis set, we clone git repositiories with jutjutsu into colocated repos.
2.3.2 - R bugfix
R overrides where not sorted, leading to lot's of rebuilds. Fixed.
2.3.1 - editable bugfix
The editable support would at times not work correctly
and would even prevent 'updated' venvs from being seen.
Hopefully, this is now fixed.
Editable venv fix and fewer rebuilds
This release fixes a bug with editable installed packages being loaded from
the nix store instead.
Background: anysnake2 uses a two stage process for editable packages:
We first install the package, from the source given, regularly into the
container, capturing the required dependencies, then we run an editable
install and overlay that earlier into the python path. Python (setuptools) now
sometimes uses a 'finder' object in meta_path, and we had to do some gynmastics
to make it actually use the editable install afterwards.
Editable packages are no longer being rebuild whenever the set of python packgaes is modified.
Instead anysnake2 just rewrites the shebangs of entrypoints accordingly.
Poetry2nix -> uv2nix
We have replaced the currently unmaintained poetry2nix
with the newish uv2nix, which is now supported by the
ancient-poetry utility we use to ensure
reproducible lockability.
This brings much faster 'locks', a much better python-package-build system and a python-override collection that's independent of the uv2nix version we're using.
The drawback is that this also means your current 'poetry2nix.*' overrides are no longer valid,
and need to be rewritten with the new overrideAttrs = {key = } style overrides.
Refer to the examples for details.
(Side effect of this is that we have a much cleaner 'leveled' override architecture, which does allow you
to override even anysnake2 internal overrides downstream).
This version also refactors the 'clone_regex' to be 'clones.options.clone_regex', so that we could introduce
'clones.options.jujutsu' - if that's set to true, cloned git repositories will be promoted to jj repositories.
Bug-fixes:
- removed one source of 'flake churn' which lead to the generated nix code
differing in the order of statements, but not semantically,
triggering repeated 'flake lock' on each invocation.
- all dependencies have been updated.
2.1.5 - better gcroots
This places input flakes as gcroots,
relocks flake inputs when a flake version is changed,
sorts nixpkgs alphabetically,
has better 'default' package support for flakes and
correctly refreshes github revs if you leave the final '/' standing.
Stop rewriting anysnake.toml every time
We now only rewrite anysnake2.toml if has actually changed.
Fixing editable with usernames
This minor releases fixes
usernames:password protected editable python dependencies