1
0
Fork 0
mirror of https://github.com/NixOS/nix synced 2025-06-24 22:11:15 +02:00

Write just ./.version on all components

This way it's easier to get right. See previous commit.
This commit is contained in:
Robert Hensing 2025-02-18 11:41:35 +01:00
parent bba4e6b061
commit 3556f6bf4c
23 changed files with 16 additions and 178 deletions

View file

@ -42,6 +42,18 @@ let
mkPackageBuilder =
exts: userFn: stdenv.mkDerivation (lib.extends (lib.composeManyExtensions exts) userFn);
setVersionLayer = finalAttrs: prevAttrs: {
preConfigure =
prevAttrs.prevAttrs or ""
+
# Update the repo-global .version file.
# Symlink ./.version points there, but by default only workDir is writable.
''
chmod u+w ./.version
echo ${finalAttrs.version} > ./.version
'';
};
localSourceLayer =
finalAttrs: prevAttrs:
let
@ -180,12 +192,14 @@ scope:
mkMesonDerivation = mkPackageBuilder [
miscGoodPractice
localSourceLayer
setVersionLayer
mesonLayer
];
mkMesonExecutable = mkPackageBuilder [
miscGoodPractice
bsdNoLinkAsNeeded
localSourceLayer
setVersionLayer
mesonLayer
mesonBuildLayer
];
@ -194,6 +208,7 @@ scope:
bsdNoLinkAsNeeded
localSourceLayer
mesonLayer
setVersionLayer
mesonBuildLayer
mesonLibraryLayer
];