Author: raskin
Date: Tue Dec 13 21:00:26 2011
New Revision: 30873
URL: https://nixos.org/websvn/nix/?rev=30873&sc=1

Log:
Dir-per-version SF layout seems to be more relevant now

Modified:
   nixpkgs/trunk/pkgs/build-support/upstream-updater/update-upstream-data.sh

Modified: 
nixpkgs/trunk/pkgs/build-support/upstream-updater/update-upstream-data.sh
==============================================================================
--- nixpkgs/trunk/pkgs/build-support/upstream-updater/update-upstream-data.sh   
Tue Dec 13 18:53:40 2011        (r30872)
+++ nixpkgs/trunk/pkgs/build-support/upstream-updater/update-upstream-data.sh   
Tue Dec 13 21:00:26 2011        (r30873)
@@ -36,6 +36,42 @@
 commonPrefetchVars=" version name hash"
 
 prefetchClause=""
+[ fetchSFdirs = "$method" ] && {
+    if [ -z "$forcedUrl" ]; then 
+       freshUrl="$("$own_dir"/urls-from-page.sh "$(getAttr downloadPage)" |
+          eval "egrep '$(getAttr sourceRegexp '[-][0-9.]+/$')'" | 
+         eval "egrep -v '$(getAttr blacklistRegexp '^$')'" |
+         eval "$(getAttr choiceCommand 'head -n 1')" |
+         eval "$(getAttr versionToFileCommand "sed -re 
's@/([^/]*-[0-9.]+)/@/\1/\1$(getAttr fileSuffix .tar.gz)@'")" 
+       )"
+
+       if ! egrep ':' <<< "$freshUrl" ; then 
+               freshUrl="$(dirname "$(getAttr downloadPage).")/$freshUrl"
+       fi
+
+       echo "Found download link: $freshUrl" >&2
+    else
+        freshUrl="$forcedUrl"
+    fi
+
+    freshUrl="$(echo "$freshUrl" | sed -re "$skipRedirectSF")"
+    echo "Sourceforge-corrected URL: $freshUrl" >&2
+    
+    version="$(echo "$freshUrl" | 
+      sed -re "$(getAttr versionExtractorSedScript "$extractVersionSF")")"
+    baseName="$(getAttr baseName "$(echo "$freshUrl" | sed -re 
's@.*/project/([^/]+)/.*@\1@')")"
+    url="$freshUrl"
+    name="$baseName-$version"
+    advertisedUrl="$freshUrl"
+
+    if [ x"$freshUrl" = x"$(cat "$src_defs_dir"/advertisedUrl)" ]; then
+        echo "Source link not changed" >&2
+        exit
+    fi
+    hash=$(nix-prefetch-url "$freshUrl")
+
+    prefetchVars="url advertisedUrl";
+}
 [ fetchSF = "$method" ] && {
     if [ -z "$forcedUrl" ]; then 
        freshUrl="$("$own_dir"/urls-from-page.sh "$(getAttr downloadPage)" |
_______________________________________________
nix-commits mailing list
[email protected]
http://lists.science.uu.nl/mailman/listinfo/nix-commits

Reply via email to