| 
									
										
										
										
											2016-06-17 09:47:16 -05:00
										 |  |  | #! /usr/bin/env nix-shell
 | 
					
						
							|  |  |  | #! nix-shell -i bash -p coreutils findutils gnused nix wget
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-09-18 21:16:07 +08:00
										 |  |  | set -efuo pipefail | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-08-25 10:06:23 -05:00
										 |  |  | SRCS= | 
					
						
							|  |  |  | if [ -d "$1" ]; then | 
					
						
							|  |  |  |     SRCS="$(pwd)/$1/srcs.nix" | 
					
						
							|  |  |  |     . "$1/fetch.sh" | 
					
						
							|  |  |  | else | 
					
						
							|  |  |  |     SRCS="$(pwd)/$(dirname $1)/srcs.nix" | 
					
						
							|  |  |  |     . "$1" | 
					
						
							|  |  |  | fi | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-06-17 09:47:16 -05:00
										 |  |  | tmp=$(mktemp -d) | 
					
						
							|  |  |  | pushd $tmp >/dev/null | 
					
						
							| 
									
										
										
										
											2016-08-25 10:06:23 -05:00
										 |  |  | wget -nH -r -c --no-parent "${WGET_ARGS[@]}" >/dev/null | 
					
						
							| 
									
										
										
										
											2016-06-17 09:47:16 -05:00
										 |  |  | 
 | 
					
						
							|  |  |  | csv=$(mktemp) | 
					
						
							|  |  |  | find . -type f | while read src; do | 
					
						
							|  |  |  |     # Sanitize file name | 
					
						
							|  |  |  |     filename=$(basename "$src" | tr '@' '_') | 
					
						
							|  |  |  |     nameVersion="${filename%.tar.*}" | 
					
						
							|  |  |  |     name=$(echo "$nameVersion" | sed -e 's,-[[:digit:]].*,,' | sed -e 's,-opensource-src$,,') | 
					
						
							|  |  |  |     version=$(echo "$nameVersion" | sed -e 's,^\([[:alpha:]][[:alnum:]]*-\)\+,,') | 
					
						
							|  |  |  |     echo "$name,$version,$src,$filename" >>$csv | 
					
						
							|  |  |  | done | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-08-25 10:06:23 -05:00
										 |  |  | cat >"$SRCS" <<EOF | 
					
						
							|  |  |  | # DO NOT EDIT! This file is generated automatically by fetch-kde-qt.sh | 
					
						
							| 
									
										
										
										
											2016-06-17 09:47:16 -05:00
										 |  |  | { fetchurl, mirror }: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | EOF | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | gawk -F , "{ print \$1 }" $csv | sort | uniq | while read name; do | 
					
						
							|  |  |  |     versions=$(gawk -F , "/^$name,/ { print \$2 }" $csv) | 
					
						
							|  |  |  |     latestVersion=$(echo "$versions" | sort -rV | head -n 1) | 
					
						
							|  |  |  |     src=$(gawk -F , "/^$name,$latestVersion,/ { print \$3 }" $csv) | 
					
						
							|  |  |  |     filename=$(gawk -F , "/^$name,$latestVersion,/ { print \$4 }" $csv) | 
					
						
							|  |  |  |     url="${src:2}" | 
					
						
							|  |  |  |     sha256=$(nix-hash --type sha256 --base32 --flat "$src") | 
					
						
							| 
									
										
										
										
											2016-08-25 10:06:23 -05:00
										 |  |  |     cat >>"$SRCS" <<EOF | 
					
						
							| 
									
										
										
										
											2016-06-17 09:47:16 -05:00
										 |  |  |   $name = { | 
					
						
							|  |  |  |     version = "$latestVersion"; | 
					
						
							|  |  |  |     src = fetchurl { | 
					
						
							|  |  |  |       url = "\${mirror}/$url"; | 
					
						
							|  |  |  |       sha256 = "$sha256"; | 
					
						
							|  |  |  |       name = "$filename"; | 
					
						
							|  |  |  |     }; | 
					
						
							|  |  |  |   }; | 
					
						
							|  |  |  | EOF | 
					
						
							|  |  |  | done | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-08-25 10:06:23 -05:00
										 |  |  | echo "}" >>"$SRCS" | 
					
						
							| 
									
										
										
										
											2016-06-17 09:47:16 -05:00
										 |  |  | 
 | 
					
						
							|  |  |  | popd >/dev/null | 
					
						
							|  |  |  | rm -fr $tmp >/dev/null | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | rm -f $csv >/dev/null |