summary refs log tree commit diff
path: root/pkgs/applications/kde-apps-15.08/fetchsrcs.sh
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/applications/kde-apps-15.08/fetchsrcs.sh')
-rwxr-xr-xpkgs/applications/kde-apps-15.08/fetchsrcs.sh40
1 files changed, 25 insertions, 15 deletions
diff --git a/pkgs/applications/kde-apps-15.08/fetchsrcs.sh b/pkgs/applications/kde-apps-15.08/fetchsrcs.sh
index e696bb11d93..aa7adc49123 100755
--- a/pkgs/applications/kde-apps-15.08/fetchsrcs.sh
+++ b/pkgs/applications/kde-apps-15.08/fetchsrcs.sh
@@ -9,29 +9,38 @@ EXTRA_WGET_ARGS='-A *.tar.xz'
 
 mkdir tmp; cd tmp
 
+rm -f ../srcs.csv
+
 wget -nH -r -c --no-parent $RELEASE_URL $EXTRA_WGET_ARGS
 
+find . | while read src; do
+    if [[ -f "${src}" ]]; then
+        # 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" >>../srcs.csv
+    fi
+done
+
 cat >../srcs.nix <<EOF
-# DO NOT EDIT! This file is generated automatically by manifest.sh
+# DO NOT EDIT! This file is generated automatically by fetchsrcs.sh
 { fetchurl, mirror }:
 
 {
 EOF
 
-workdir=$(pwd)
-
-find . | while read src; do
-    if [[ -f "${src}" ]]; then
-        url="${src:2}"
-        # 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:]]*-\)\+,,')
-        sha256=$(nix-hash --type sha256 --base32 --flat "$src")
-        cat >>../srcs.nix <<EOF
+gawk -F , "{ print \$1 }" ../srcs.csv | sort | uniq | while read name; do
+    versions=$(gawk -F , "/^$name,/ { print \$2 }" ../srcs.csv)
+    latestVersion=$(echo "$versions" | sort -rV | head -n 1)
+    src=$(gawk -F , "/^$name,$latestVersion,/ { print \$3 }" ../srcs.csv)
+    filename=$(gawk -F , "/^$name,$latestVersion,/ { print \$4 }" ../srcs.csv)
+    url="${src:2}"
+    sha256=$(nix-hash --type sha256 --base32 --flat "$src")
+    cat >>../srcs.nix <<EOF
   $name = {
-    version = "$version";
+    version = "$latestVersion";
     src = fetchurl {
       url = "\${mirror}/$url";
       sha256 = "$sha256";
@@ -39,9 +48,10 @@ find . | while read src; do
     };
   };
 EOF
-    fi
 done
 
 echo "}" >>../srcs.nix
 
+rm -f ../srcs.csv
+
 cd ..