From a0c5ff6571cfced9f7ec538b7b6e5b8ca1bfe9ac Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Thu, 13 Jun 2013 17:52:55 +0200 Subject: [PATCH 1/9] nixUnstable: Update to 1.5.3pre3141_1b6ee8f --- pkgs/tools/package-management/nix/unstable.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/package-management/nix/unstable.nix b/pkgs/tools/package-management/nix/unstable.nix index dfbde642f3f2..73bed52654f2 100644 --- a/pkgs/tools/package-management/nix/unstable.nix +++ b/pkgs/tools/package-management/nix/unstable.nix @@ -5,11 +5,11 @@ }: stdenv.mkDerivation rec { - name = "nix-1.5.3pre3134_5c06e52"; + name = "nix-1.5.3pre3141_1b6ee8f"; src = fetchurl { - url = "http://hydra.nixos.org/build/5265350/download/5/${name}.tar.xz"; - sha256 = "82fd6aad66a8646d923a9a65b04879ea5e320391f047549c88ab7d913e5d5903"; + url = "http://hydra.nixos.org/build/5305802/download/5/${name}.tar.xz"; + sha256 = "834a0d23456331ac06b6117078f0b9bbeecbc8620d5f844b61455e3daac6ceb0"; }; nativeBuildInputs = [ perl pkgconfig ]; From 672ae93687db5b95055351ba7660895038bf2bd1 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Fri, 14 Jun 2013 13:37:50 +0200 Subject: [PATCH 2/9] jquery-ui: Update to 1.10.3 Also add a symlink jquery.js (jquery.min.js is gone). --- .../libraries/javascript/jquery-ui/default.nix | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/pkgs/development/libraries/javascript/jquery-ui/default.nix b/pkgs/development/libraries/javascript/jquery-ui/default.nix index e2d48f25bb5d..24217657b108 100644 --- a/pkgs/development/libraries/javascript/jquery-ui/default.nix +++ b/pkgs/development/libraries/javascript/jquery-ui/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, unzip }: stdenv.mkDerivation rec { - name = "jquery-ui-1.10.2"; + name = "jquery-ui-1.10.3"; src = fetchurl { url = "http://jqueryui.com/resources/download/${name}.custom.zip"; - sha256 = "0r1fmqpym7bjqhjay9br4h3izky781bsda7v7552yjwkgiv391hl"; + sha256 = "1nqh3fmjgy73cbwb5sj775242i6jhz3f5b9fxgrkq00dfvkls779"; }; buildInputs = [ unzip ]; @@ -17,9 +17,13 @@ stdenv.mkDerivation rec { # For convenience, provide symlinks "jquery.min.js" etc. (i.e., # without the version number). - ln -s $out/js/jquery-ui-*.custom.min.js $out/js/jquery-ui.min.js - ln -s $out/js/jquery-1.*.min.js $out/js/jquery.min.js - ln -s $out/css/smoothness/jquery-ui-*.custom.css $out/css/smoothness/jquery-ui.css + pushd $out/js + ln -s jquery-ui-*.custom.js jquery-ui.js + ln -s jquery-ui-*.custom.min.js jquery-ui.min.js + ln -s jquery-1.*.js jquery.js + popd + pushd $out/css/smoothness + ln -s jquery-ui-*.custom.css jquery-ui.css ''; meta = { From 486e918215ccd643970e22e8874302fa5fe21561 Mon Sep 17 00:00:00 2001 From: aszlig Date: Wed, 12 Jun 2013 21:59:52 +0200 Subject: [PATCH 3/9] php: Fix support for JPEG and PNG over GD. Set an explicit path to the location of libjpeg for version 5.4 and an explicit path to libjpeg _and_ libpng for version 5.3. Signed-off-by: aszlig --- pkgs/development/interpreters/php/5.3.nix | 7 ++++++- pkgs/development/interpreters/php/5.4.nix | 7 ++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/pkgs/development/interpreters/php/5.3.nix b/pkgs/development/interpreters/php/5.3.nix index 35508230ebdf..6a65cce07681 100644 --- a/pkgs/development/interpreters/php/5.3.nix +++ b/pkgs/development/interpreters/php/5.3.nix @@ -89,7 +89,12 @@ composableDerivation.composableDerivation {} ( fixed : let inherit (fixed.fixed) }; gd = { - configureFlags = ["--with-gd=${gd} --with-freetype-dir=${freetype}"]; + configureFlags = [ + "--with-gd" + "--with-freetype-dir=${freetype}" + "--with-png-dir=${libpng}" + "--with-jpeg-dir=${libjpeg}" + ]; buildInputs = [gd libpng libjpeg freetype]; }; diff --git a/pkgs/development/interpreters/php/5.4.nix b/pkgs/development/interpreters/php/5.4.nix index 3c200f9c5c10..35b1f82c246f 100644 --- a/pkgs/development/interpreters/php/5.4.nix +++ b/pkgs/development/interpreters/php/5.4.nix @@ -90,7 +90,12 @@ composableDerivation.composableDerivation {} ( fixed : let inherit (fixed.fixed) gd = { # FIXME: Our own gd package doesn't work, see https://bugs.php.net/bug.php?id=60108. - configureFlags = ["--with-gd --with-freetype-dir=${freetype} --with-png-dir=${libpng}"]; + configureFlags = [ + "--with-gd" + "--with-freetype-dir=${freetype}" + "--with-png-dir=${libpng}" + "--with-jpeg-dir=${libjpeg}" + ]; buildInputs = [ libpng libjpeg freetype ]; }; From ea87598a7107fbb3c8821461531bb237aa0aa5a8 Mon Sep 17 00:00:00 2001 From: aszlig Date: Fri, 14 Jun 2013 12:33:37 +0200 Subject: [PATCH 4/9] zabbix20: Update to version 2.0.6. Release notes for this version and 2.0.5: http://www.zabbix.com/rn2.0.6.php http://www.zabbix.com/rn2.0.5.php Signed-off-by: aszlig --- pkgs/servers/monitoring/zabbix/2.0.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/monitoring/zabbix/2.0.nix b/pkgs/servers/monitoring/zabbix/2.0.nix index 6b0a22962a32..5131e8a2e42e 100644 --- a/pkgs/servers/monitoring/zabbix/2.0.nix +++ b/pkgs/servers/monitoring/zabbix/2.0.nix @@ -2,11 +2,11 @@ let - version = "2.0.4"; + version = "2.0.6"; src = fetchurl { url = "mirror://sourceforge/zabbix/zabbix-${version}.tar.gz"; - sha256 = "0l8038j6ldsv0ywrs2j69ybjl2zv4qw42791glqvcabjj8x24m3m"; + sha256 = "1y7dp9rqxkn8ik7bvk2qysz3zp3r07kmax5avlf9jf1x7pkagps6"; }; preConfigure = From 8cf68e56454f6ce1dc386b3bbf9b3aa0d988bbbe Mon Sep 17 00:00:00 2001 From: aszlig Date: Fri, 14 Jun 2013 13:06:12 +0200 Subject: [PATCH 5/9] chromium/updater: Remove workaround for <= v26. We no longer need the tar.bz2 archives, so let's remove the switch. Signed-off-by: aszlig --- pkgs/applications/networking/browsers/chromium/update.sh | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/pkgs/applications/networking/browsers/chromium/update.sh b/pkgs/applications/networking/browsers/chromium/update.sh index 0c21213a751c..b8489ae95980 100755 --- a/pkgs/applications/networking/browsers/chromium/update.sh +++ b/pkgs/applications/networking/browsers/chromium/update.sh @@ -79,12 +79,7 @@ get_channel_exprs() channel="${chline%%,*}"; version="${chline##*,}"; - # XXX: Remove case after version 26 is stable: - if [ "${version%%.*}" -ge 26 ]; then - url="${bucket_url%/}/chromium-$version.tar.xz"; - else - url="${bucket_url%/}/chromium-$version.tar.bz2"; - fi; + url="${bucket_url%/}/chromium-$version.tar.xz"; echo -n "Checking if sha256 of version $version is cached..." >&2; if sha256="$(sha_lookup "$version")"; From 5a6242a401a7e5a3820b7d306fa051f34ad1bec9 Mon Sep 17 00:00:00 2001 From: aszlig Date: Fri, 14 Jun 2013 13:24:40 +0200 Subject: [PATCH 6/9] chromium/updater: Fall back to previous version. This is especially annoying for the dev channel, as it happens quite frequently that tarballs are unavailable. So if fetching the latest version doesn't work, try the second latest version. Signed-off-by: aszlig --- .../networking/browsers/chromium/update.sh | 24 ++++++++++++++----- 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/pkgs/applications/networking/browsers/chromium/update.sh b/pkgs/applications/networking/browsers/chromium/update.sh index b8489ae95980..79aa6bf23963 100755 --- a/pkgs/applications/networking/browsers/chromium/update.sh +++ b/pkgs/applications/networking/browsers/chromium/update.sh @@ -56,30 +56,36 @@ then if [ "x$version" != "x$oldver" ]; then echo " no, getting sha256 for new version $version:" >&2; - sha256="$(nix-prefetch-url "$url")"; + sha256="$(nix-prefetch-url "$url")" || return 1; else echo " yes, keeping old sha256." >&2; - sha256="$(nix_getattr "$output_file" "$channel.sha256")"; + sha256="$(nix_getattr "$output_file" "$channel.sha256")" \ + || return 1; fi; sha_insert "$version" "$sha256"; echo "$sha256"; + return 0; } else get_sha256() { - nix-prefetch-url "$url"; + nix-prefetch-url "$3"; } fi; get_channel_exprs() { - for chline in $(echo "$1" | cut -d, -f-2); + for chline in $1; do channel="${chline%%,*}"; - version="${chline##*,}"; + + versions="${chline#*,}"; + version="${versions%%,*}"; + previous="${versions##*,}"; url="${bucket_url%/}/chromium-$version.tar.xz"; + prevurl="${bucket_url%/}/chromium-$previous.tar.xz"; echo -n "Checking if sha256 of version $version is cached..." >&2; if sha256="$(sha_lookup "$version")"; @@ -88,6 +94,12 @@ get_channel_exprs() else echo " no." >&2; sha256="$(get_sha256 "$channel" "$version" "$url")"; + if [ $? -ne 0 ]; + then + echo "Whoops, failed to fetch $version, trying previous" \ + "version $previous:" >&2; + sha256="$(get_sha256 "$channel" "$previous" "$prevurl")"; + fi; fi; sha_insert "$version" "$sha256"; @@ -103,7 +115,7 @@ get_channel_exprs() cd "$(dirname "$0")"; omaha="$(curl -s "$channels_url")"; -versions="$(echo "$omaha" | sed -n -e 's/^linux,\(\([^,]\+,\)\{2\}\).*$/\1/p')"; +versions="$(echo "$omaha" | sed -nr -e 's/^linux,(([^,]+,){2}[^,]+).*$/\1/p')"; channel_exprs="$(get_channel_exprs "$versions")"; cat > "$output_file" <<-EOF From 872fb3e2ff081f5947f41efa24acf67e5372c5a7 Mon Sep 17 00:00:00 2001 From: aszlig Date: Fri, 14 Jun 2013 14:10:47 +0200 Subject: [PATCH 7/9] chromium/updater: Fetch more previous versions. Omahaproxy has an URL which lists a history of the published versions, which allows to not only go back one versions, but several. Now it is ensured, that we always have the latest _available_ version in sources.nix. Signed-off-by: aszlig --- .../networking/browsers/chromium/update.sh | 38 +++++++++++++++---- 1 file changed, 30 insertions(+), 8 deletions(-) diff --git a/pkgs/applications/networking/browsers/chromium/update.sh b/pkgs/applications/networking/browsers/chromium/update.sh index 79aa6bf23963..5c89c8e492ac 100755 --- a/pkgs/applications/networking/browsers/chromium/update.sh +++ b/pkgs/applications/networking/browsers/chromium/update.sh @@ -1,6 +1,7 @@ #!/bin/sh channels_url="http://omahaproxy.appspot.com/all?csv=1"; +history_url="http://omahaproxy.appspot.com/history"; bucket_url="http://commondatastorage.googleapis.com/chromium-browser-official/"; output_file="$(cd "$(dirname "$0")" && pwd)/sources.nix"; @@ -74,18 +75,34 @@ else } fi; +fetch_filtered_history() +{ + curl -s "$history_url" | sed -nr 's/^'"linux,$1"',([^,]+).*$/\1/p'; +} + +get_prev_sha256() +{ + channel="$1"; + current_version="$2"; + + for version in $(fetch_filtered_history "$channel"); + do + [ "x$version" = "x$current_version" ] && continue; + url="${bucket_url%/}/chromium-$version.tar.xz"; + sha256="$(get_sha256 "$channel" "$version" "$url")" || continue; + echo "$sha256:$version:$url"; + return 0; + done; +} + get_channel_exprs() { for chline in $1; do channel="${chline%%,*}"; - - versions="${chline#*,}"; - version="${versions%%,*}"; - previous="${versions##*,}"; + version="${chline##*,}"; url="${bucket_url%/}/chromium-$version.tar.xz"; - prevurl="${bucket_url%/}/chromium-$previous.tar.xz"; echo -n "Checking if sha256 of version $version is cached..." >&2; if sha256="$(sha_lookup "$version")"; @@ -97,8 +114,13 @@ get_channel_exprs() if [ $? -ne 0 ]; then echo "Whoops, failed to fetch $version, trying previous" \ - "version $previous:" >&2; - sha256="$(get_sha256 "$channel" "$previous" "$prevurl")"; + "versions:" >&2; + + sha_ver_url="$(get_prev_sha256 "$channel" "$version")"; + sha256="${sha_ver_url%%:*}"; + ver_url="${sha_ver_url#*:}"; + version="${ver_url%%:*}"; + url="${ver_url#*:}"; fi; fi; @@ -115,7 +137,7 @@ get_channel_exprs() cd "$(dirname "$0")"; omaha="$(curl -s "$channels_url")"; -versions="$(echo "$omaha" | sed -nr -e 's/^linux,(([^,]+,){2}[^,]+).*$/\1/p')"; +versions="$(echo "$omaha" | sed -nr -e 's/^linux,([^,]+,[^,]+).*$/\1/p')"; channel_exprs="$(get_channel_exprs "$versions")"; cat > "$output_file" <<-EOF From 777351bce483dbe76694e2d570ac8995e8770ed9 Mon Sep 17 00:00:00 2001 From: aszlig Date: Fri, 14 Jun 2013 14:41:16 +0200 Subject: [PATCH 8/9] chromium/updater: Avoid downgrading versions. Previously we have just checked for equality. When going back in history, that way if the history is somewhat out-of-sync, we could end up "updating" to an older version, which we definitely don't want. Signed-off-by: aszlig --- .../networking/browsers/chromium/update.sh | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/pkgs/applications/networking/browsers/chromium/update.sh b/pkgs/applications/networking/browsers/chromium/update.sh index 5c89c8e492ac..0c4881bb3962 100755 --- a/pkgs/applications/networking/browsers/chromium/update.sh +++ b/pkgs/applications/networking/browsers/chromium/update.sh @@ -42,6 +42,17 @@ sha_insert() ver_sha_table="$ver_sha_table $version:$sha256"; } +get_newest_ver() +{ + versions="$(for v in $@; do echo "$v"; done)"; + if oldest="$(echo "$versions" | sort -V 2> /dev/null | tail -n1)"; + then + echo "$oldest"; + else + echo "$versions" | sort -t. -k 1,1n -k 2,2n -k 3,3n -k 4,4n | tail -n1; + fi; +} + if [ -e "$output_file" ]; then get_sha256() @@ -54,7 +65,7 @@ then echo -n "Checking if $oldver ($channel) is up to date..." >&2; - if [ "x$version" != "x$oldver" ]; + if [ "x$(get_newest_ver "$version" "$oldver")" != "x$oldver" ]; then echo " no, getting sha256 for new version $version:" >&2; sha256="$(nix-prefetch-url "$url")" || return 1; From cfb697b01372dc9c9d5405005f0e893067ab3c67 Mon Sep 17 00:00:00 2001 From: aszlig Date: Fri, 14 Jun 2013 17:45:39 +0200 Subject: [PATCH 9/9] chromium: Update beta and dev release channels. The following new versions were introduced: beta: 28.0.1500.45 - builds fine and tested dev: 29.0.1521.3 - builds fine and tested Although the version from the dev release channel isn't the latest found on omahaproxy but it's the latest one, that actually has tarballs available. Signed-off-by: aszlig --- .../networking/browsers/chromium/sources.nix | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/pkgs/applications/networking/browsers/chromium/sources.nix b/pkgs/applications/networking/browsers/chromium/sources.nix index 54d9f44f7fba..780c3b62a30d 100644 --- a/pkgs/applications/networking/browsers/chromium/sources.nix +++ b/pkgs/applications/networking/browsers/chromium/sources.nix @@ -1,14 +1,14 @@ # This file is autogenerated from update.sh in the same directory. { dev = { - version = "29.0.1516.3"; - url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-29.0.1516.3.tar.xz"; - sha256 = "0pdn9c6v0v55d7g4amivxrv132bpj9sfqywk5b8l6kqfjq28mw5k"; + version = "29.0.1521.3"; + url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-29.0.1521.3.tar.xz"; + sha256 = "0szc3g24jlhcp8cgijdv0q9rfn3mhp2kjyc85ml4snskkpasfrv3"; }; beta = { - version = "28.0.1500.36"; - url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-28.0.1500.36.tar.xz"; - sha256 = "1bz9w46ps8gj056hfwbcj4myyxyr7y759nagz9idraia8116m3pp"; + version = "28.0.1500.45"; + url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-28.0.1500.45.tar.xz"; + sha256 = "01sxqv6i7m5h0jsypg801w2ivbrir37wdi4ijd5yvprkyzbd90zi"; }; stable = { version = "27.0.1453.110";