build(nix): fix versionCheckHook, update nixpkgs, standardise versions #575
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
Fixes a build failure with recent nixpkgs and makes the package versioning clearer.
cc @beh-10257 @LovingMelody
What changed
Configure flake lock commits
nix flake lock/nix flake updatenow use conventional commits when run with--commit-lock-file.Update nixpkgs input
Pulls in the latest nixpkgs, as it hasn't been bumped in a while.
Use date-based versioning
Nix builds now use
1.3.0-unstable-YYYY-MM-DDinstead of commit hashes.This aligns with nixpkgs' version style and enables the next commit fixing
versionCheckHook...The first part is read from
umu/__init__.py, which is the canonical project version.Fix versionCheckHook
Patch ensures the hook passes even though the Python package uses a slightly different version format.
PEP-440 runtime version
Python package
__version__is now${version}.devYYYYMMDD, making the--versionoutput more meaningful.Testing
The nix package can't be built when tests fail, so I initially based this PR on the commit before #293, due to the test suite currently being broken on
main.Sadly, that lead to conflicts, so this is now rebased on
mainand cannot easiliy be tested. One way to test is addingdoCheck = falseto the package. Another way is to rebase on #574 which aims to fix the testsuite.For users
__version__) or via--versionis now PEP-440 compatible and includes a date, e.g.1.3.0.dev20251130.1.3.0-unstable-2025-11-30.