diff options
author | Maximilian Bosch <maximilian@mbosch.me> | 2023-10-31 13:38:29 +0100 |
---|---|---|
committer | Maximilian Bosch <maximilian@mbosch.me> | 2023-12-10 13:25:24 +0100 |
commit | ede5720a0dde969cf83dd7cbbe54ad8c5ff7a97b (patch) | |
tree | dae8fd19873bb26c4eb823b094c470fe2fa36712 /lib | |
parent | 78f5ed053aba713ea2fc1226ec8193d298c221fc (diff) | |
download | nixlib-ede5720a0dde969cf83dd7cbbe54ad8c5ff7a97b.tar nixlib-ede5720a0dde969cf83dd7cbbe54ad8c5ff7a97b.tar.gz nixlib-ede5720a0dde969cf83dd7cbbe54ad8c5ff7a97b.tar.bz2 nixlib-ede5720a0dde969cf83dd7cbbe54ad8c5ff7a97b.tar.lz nixlib-ede5720a0dde969cf83dd7cbbe54ad8c5ff7a97b.tar.xz nixlib-ede5720a0dde969cf83dd7cbbe54ad8c5ff7a97b.tar.zst nixlib-ede5720a0dde969cf83dd7cbbe54ad8c5ff7a97b.zip |
flake/version overlay: review fixes
* Improves the comments of `lib/flake-version-info.nix` and drops the `__`-prefix from the filename. * `lib'` -> `lib0` in `nixpkgs/lib`. * Drop the declaration of `trivial.version` in the overlay because this declaration already uses the final expressions of `versionSuffix` and `release` now. * No need to fall back to `self.lastModified` anymore, this was a workaround for pre2.4 Nix. Co-authored-by: Robert Hensing <robert@roberthensing.nl> Co-authored-by: Silvan Mosberger <contact@infinisil.com>
Diffstat (limited to 'lib')
-rw-r--r-- | lib/__flake-version-info.nix | 17 | ||||
-rw-r--r-- | lib/flake-version-info.nix | 20 | ||||
-rw-r--r-- | lib/flake.nix | 4 |
3 files changed, 22 insertions, 19 deletions
diff --git a/lib/__flake-version-info.nix b/lib/__flake-version-info.nix deleted file mode 100644 index 19ce4c351cf1..000000000000 --- a/lib/__flake-version-info.nix +++ /dev/null @@ -1,17 +0,0 @@ -# lib overlay to be used by the nixpkgs & nixpkgs/lib flakes -# to provide meaningful values for `lib.trivial.version` et al.. -# -# Internal and subject to change, don't use this anywhere else! - -self: # from the flake - -finalLib: prevLib: # lib overlay - -{ - trivial = prevLib.trivial // { - versionSuffix = - ".${finalLib.substring 0 8 (self.lastModifiedDate or self.lastModified or "19700101")}.${self.shortRev or "dirty"}"; - version = finalLib.trivial.release + finalLib.trivial.versionSuffix; - revisionWithDefault = default: self.rev or default; - }; -} diff --git a/lib/flake-version-info.nix b/lib/flake-version-info.nix new file mode 100644 index 000000000000..de15be94bee8 --- /dev/null +++ b/lib/flake-version-info.nix @@ -0,0 +1,20 @@ +# This function produces a lib overlay to be used by the nixpkgs +# & nixpkgs/lib flakes to provide meaningful values for +# `lib.trivial.version` et al.. +# +# Internal and subject to change, don't use this anywhere else! +# Instead, consider using a public interface, such as this flake here +# in this directory, `lib/`, or use the nixpkgs flake, which applies +# this logic for you in its `lib` output attribute. + +self: # from the flake + +finalLib: prevLib: # lib overlay + +{ + trivial = prevLib.trivial // { + versionSuffix = + ".${finalLib.substring 0 8 (self.lastModifiedDate or "19700101")}.${self.shortRev or "dirty"}"; + revisionWithDefault = default: self.rev or default; + }; +} diff --git a/lib/flake.nix b/lib/flake.nix index 475aa13edafb..ca09ed5f4a42 100644 --- a/lib/flake.nix +++ b/lib/flake.nix @@ -3,8 +3,8 @@ outputs = { self }: let - lib' = import ./.; + lib0 = import ./.; in { - lib = lib'.extend (import ./__flake-version-info.nix self); + lib = lib0.extend (import ./flake-version-info.nix self); }; } |