[Lix](https://lix.systems) is a fork of CppNix, the original Nix implementation. It behaves like `nixVersions.*` in terms of packaging with a big difference: it uses Meson for its build system.
Therefore, it is not possible to share the packaging trees.
The rest is pretty mundane:
- Lix will passthru all the time to the `nixosTests.misc` to smoke test any critical regressions as a last line after all our regression battery on the Lix project side.
- Cross compilation has been extensively tested.
- Static compilation is known to fail on a test.
Internal API documentation is out of scope for this commit.
Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
Had to rework the nix-perl build a little bit since it's now based on
meson. Confirmed that everything from Nix 2.3 works fine with it
(confirmed that the `isValidPath` operation is behaving correctly from
Perl).
This doesn't fix cross though, neither for 2.22 nor later: both
configuration systems check for a `curl` & `perl` in the builder's
$PATH even though both are only in `buildInputs` in upstream's build.
OTOH a native Perl is probably needed for `xsubpp`.
The idea behind that is to enable users and developers of
downstream tools such as home-manager to test Nix master for several
reasons:
* Nix is currently trying to have a `master` branch that's always
releasable[1]. We're still on Nix 2.18 in nixpkgs due to too many
notable regressions. Enabling people to test latest master may help on
that end.
* This uses the most bleeding-edge Nix, but our packaging, so we can
identify issues with our packaging early.
* From what I've seen, most people are using the packages from nixpkgs
anyways instead of the upstream flake, this is far more convenient
anyways.
My plan is to update this once a week. Right now we rely on the
`installCheckPhase` here, but as soon as we have proper regression
testing[2], we may want to add `nixUnstable` there as well (however with
failures being allowed probably).
[1] https://discourse.nixos.org/t/nix-release-schedule-and-roadmap/14204
[2] https://github.com/NixOS/nixpkgs/pull/304332
In the past I was very active with Python packaging.
For several years now I was hardly around as maintainer,
so it does not make sense I am listed as a maintainer for
these makes. Looking back, I should have removed myself
as maintainer already much longer ago. Anyway, better late
than never.
It's been a fun ride, and I do intend to occasionally contribute
to Nixpkgs, but not in the same way it once was.
Those are not maintained anymore by upstream Nix[1]. In fact, Nix
intends to only maintain
> * The latest release
> * The version used in the stable NixOS release, which is announced in the NixOS release notes.
Given that security issues and regressions happen, for instance latest
2.17 unconditionally rejects leading dots in store-paths, a regression
fixed in other Nix versions[2].
I didn't touch
* 2.3 since there's still a rather large user-base and it has a special
role as the last pre-flakes release.
* 2.19 - 2.22: I'm not really sure what the next stable nix for nixpkgs
will be and at least 2.19 seems to work relatively well for me.
Anyways, touching those seems way more controversial than touching
2.10-2.17, so I'll skip that for now.
[1] https://nixos.org/manual/nix/stable/release-notes/
[2] https://github.com/NixOS/nix/issues/10497