···23 srcVersion=$(cat ${src}/.version)
24 echo "Version in nix nix expression: $version"
25 echo "Version in nix.src: $srcVersion"
26- if [ "$version" != "$srcVersion" ]; then
27- echo "Version mismatch!"
28- exit 1
29- fi
0000000000000000030 touch $out
31 '';
32
···23 srcVersion=$(cat ${src}/.version)
24 echo "Version in nix nix expression: $version"
25 echo "Version in nix.src: $srcVersion"
26+ ${
27+ if self_attribute_name == "git" then
28+ # Major and minor must match, patch can be missing or have a suffix like a commit hash. That's all fine.
29+ ''
30+ majorMinor() {
31+ echo "$1" | sed -n -e 's/\([0-9]*\.[0-9]*\).*/\1/p'
32+ }
33+ if (set -x; [ "$(majorMinor "$version")" != "$(majorMinor "$srcVersion")" ]); then
34+ echo "Version mismatch!"
35+ exit 1
36+ fi
37+ ''
38+ else
39+ # exact match
40+ ''
41+ if [ "$version" != "$srcVersion" ]; then
42+ echo "Version mismatch!"
43+ exit 1
44+ fi
45+ ''
46+ }
47 touch $out
48 '';
49