install: make cmpver available earlier
[ci skip]
This commit is contained in:
		
							parent
							
								
									190eee5485
								
							
						
					
					
						commit
						bcf6f8ab4d
					
				| @ -768,6 +768,42 @@ trap cleanup_temp_dir EXIT | ||||
| 
 | ||||
| # hledger routines | ||||
| 
 | ||||
| # Compare dotted number version strings, based on https://stackoverflow.com/a/4025065/84401. | ||||
| # cmpver A B's exit status *and* output is | ||||
| # 0 for A ~= B (1 is equivalent to 1.0, 1.0.0 etc.) | ||||
| # 1 for A > B | ||||
| # 2 for A < B. | ||||
| cmpver () { | ||||
|     if [[ $1 == $2 ]] | ||||
|     then | ||||
|         echo 0; return 0 | ||||
|     fi | ||||
|     local IFS=. | ||||
|     local i ver1=($1) ver2=($2) | ||||
|     # fill empty fields in ver1 with zeros | ||||
|     for ((i=${#ver1[@]}; i<${#ver2[@]}; i++)) | ||||
|     do | ||||
|         ver1[i]=0 | ||||
|     done | ||||
|     for ((i=0; i<${#ver1[@]}; i++)) | ||||
|     do | ||||
|         if [[ -z ${ver2[i]} ]] | ||||
|         then | ||||
|             # fill empty fields in ver2 with zeros | ||||
|             ver2[i]=0 | ||||
|         fi | ||||
|         if ((10#${ver1[i]} > 10#${ver2[i]})) | ||||
|         then | ||||
|             echo 1; return 1 | ||||
|         fi | ||||
|         if ((10#${ver1[i]} < 10#${ver2[i]})) | ||||
|         then | ||||
|             echo 2; return 2 | ||||
|         fi | ||||
|     done | ||||
|     echo 0; return 0 | ||||
| } | ||||
| 
 | ||||
| # install stack or a newer version of stack if needed,  | ||||
| # or always with --force-install-stack,  | ||||
| # in $HOME/.local/bin | ||||
| @ -940,42 +976,6 @@ fi | ||||
|   try_info cabal update | ||||
| ) | ||||
| 
 | ||||
| # Compare dotted number version strings, based on https://stackoverflow.com/a/4025065/84401. | ||||
| # cmpver A B's exit status *and* output is | ||||
| # 0 for A ~= B (1 is equivalent to 1.0, 1.0.0 etc.) | ||||
| # 1 for A > B | ||||
| # 2 for A < B. | ||||
| cmpver () { | ||||
|     if [[ $1 == $2 ]] | ||||
|     then | ||||
|         echo 0; return 0 | ||||
|     fi | ||||
|     local IFS=. | ||||
|     local i ver1=($1) ver2=($2) | ||||
|     # fill empty fields in ver1 with zeros | ||||
|     for ((i=${#ver1[@]}; i<${#ver2[@]}; i++)) | ||||
|     do | ||||
|         ver1[i]=0 | ||||
|     done | ||||
|     for ((i=0; i<${#ver1[@]}; i++)) | ||||
|     do | ||||
|         if [[ -z ${ver2[i]} ]] | ||||
|         then | ||||
|             # fill empty fields in ver2 with zeros | ||||
|             ver2[i]=0 | ||||
|         fi | ||||
|         if ((10#${ver1[i]} > 10#${ver2[i]})) | ||||
|         then | ||||
|             echo 1; return 1 | ||||
|         fi | ||||
|         if ((10#${ver1[i]} < 10#${ver2[i]})) | ||||
|         then | ||||
|             echo 2; return 2 | ||||
|         fi | ||||
|     done | ||||
|     echo 0; return 0 | ||||
| } | ||||
| 
 | ||||
| # try installing each package that needs installing, in turn | ||||
| echo ---------- | ||||
| 
 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user