summary refs log tree commit diff
path: root/maintainers
diff options
context:
space:
mode:
authorLuca Bruno <lucabru@src.gnome.org>2015-09-17 16:55:31 +0200
committerLuca Bruno <lucabru@src.gnome.org>2015-09-17 17:02:55 +0200
commitdbdb732849501e75253c1fd671a3a6bf99b633ac (patch)
tree02b44345f0023ef42bf89ceee094a0f1438cabfb /maintainers
parent39965bba04f42f64baf8321819fd899a4a2942bd (diff)
downloadnixpkgs-dbdb732849501e75253c1fd671a3a6bf99b633ac.tar
nixpkgs-dbdb732849501e75253c1fd671a3a6bf99b633ac.tar.gz
nixpkgs-dbdb732849501e75253c1fd671a3a6bf99b633ac.tar.bz2
nixpkgs-dbdb732849501e75253c1fd671a3a6bf99b633ac.tar.lz
nixpkgs-dbdb732849501e75253c1fd671a3a6bf99b633ac.tar.xz
nixpkgs-dbdb732849501e75253c1fd671a3a6bf99b633ac.tar.zst
nixpkgs-dbdb732849501e75253c1fd671a3a6bf99b633ac.zip
maint script gnome-latest.sh: rename to gnome.sh, update src.nix
Diffstat (limited to 'maintainers')
-rwxr-xr-xmaintainers/scripts/gnome.sh (renamed from maintainers/scripts/gnome-latest.sh)54
1 files changed, 42 insertions, 12 deletions
diff --git a/maintainers/scripts/gnome-latest.sh b/maintainers/scripts/gnome.sh
index ccded6e6277..9f2f976354f 100755
--- a/maintainers/scripts/gnome-latest.sh
+++ b/maintainers/scripts/gnome.sh
@@ -1,15 +1,26 @@
 #!/usr/bin/env bash
 
-GNOME_FTP="ftp.gnome.org/pub/GNOME/sources"
+set -o pipefail
 
-project=$1
+GNOME_FTP="ftp.gnome.org/pub/GNOME/sources"
 
-if [ "$project" == "--help" ]; then
-  echo "Usage: $0 project [major.minor]"
+usage() {
+  echo "Usage: $0 show|update project [major.minor]" >&2
   exit 0
+}
+
+if [ "$#" -lt 1 ]; then
+  usage
 fi
 
-majorVersion=$2
+action="$1"
+project="$2"
+majorVersion="$3"
+
+if [ "$action" != "show" ] && [ "$action" != "update" ]; then
+  echo "Unknown action $action" >&2
+  usage
+fi
 
 if [ -z "$project" ]; then
   echo "No project specified, exiting"
@@ -31,6 +42,11 @@ fi
 if [ -z "$majorVersion" ]; then
   echo "Looking for available versions..." >&2
   available_baseversions=( `ls_ftp ftp://${GNOME_FTP}/${project} | grep '[0-9]\.[0-9]' | sort -t. -k1,1n -k 2,2n` )
+  if [ "$?" -ne "0" ]; then
+    echo "Project $project not found" >&2
+    exit 1
+  fi
+  
   echo -e "The following versions are available:\n ${available_baseversions[@]}" >&2
   echo -en "Choose one of them: " >&2
   read majorVersion
@@ -93,16 +109,30 @@ for ext in ${extensions[@]}; do
     break
   fi
 done
-sha256=`nix-hash --to-base32 --type sha256 $sha256`
 echo "Chosen ${ext_pref}, hash is ${sha256}" >&2
 
-cat <<EOF
-{
-  name = "${project}-${version}";
+src="# Autogenerated by maintainers/scripts/gnome-latest.sh
+
+fetchurl: {
+  name = \"${project}-${version}\";
 
   src = fetchurl {
     url = mirror://gnome/sources/${project}/${majorVersion}/${project}-${version}.tar.${ext_pref};
-    sha256 = "${sha256}";
+    sha256 = \"${sha256}\";
   };
-}
-EOF
+}"
+
+if [ "$action" == "update" ]; then
+  # find project in nixpkgs tree
+  GNOME_TOP=$(readlink -e $(dirname "${BASH_SOURCE[0]}")"/../../pkgs/desktops/gnome-3/")
+  projectPath=$(find "$GNOME_TOP" -name "$project" -print)
+  if [ -z "$projectPath" ]; then
+    echo "Project $project not found under $GNOME_TOP"
+    exit 1
+  fi
+
+  echo "Updating $projectPath/src.nix"
+  echo -e "$src" > "$projectPath/src.nix"
+else
+  echo -e "\n$src"
+fi
\ No newline at end of file