lol
1#!/bin/sh
2#
3# Fetch the latest io.js release (stable/nightly) and update
4# `default.nix` in this directory.
5#
6# Call this from the root of your nixpkgs directory.
7#
8
9set -e
10
11HERE="$(dirname "$0")"
12
13latest() {
14 curl -s "$1" | grep 'href="v' \
15 | tail -1 | sed 's/.*href="v//;s/\/".*//'
16}
17
18latest_log() {
19 echo "Getting latest $1 version from $2" >&2
20 version=$(latest "$2")
21 echo "version -> $version" >&2
22 echo "$version"
23}
24
25url() {
26 nix-instantiate -A "$1" \
27 | xargs cat \
28 | sed 's/.*"urls","//;s/".*//'
29}
30
31hash() {
32 nix-prefetch-url "$1"
33}
34
35hash_log() {
36 echo "Finding hash for $1" >&2
37 value=$(hash "$1")
38 echo "hash -> $value" >&2
39 echo "$value"
40}
41
42stableVersion=$(latest_log stable 'https://iojs.org/dist/')
43stableHash=$(hash_log "$(url iojs.src)")
44
45sed -i \
46 "/version = /s/\"[^\"]*\"/\"$stableVersion\"/" \
47 "$HERE/default.nix"
48sed -i \
49 "/sha256 = /s/\"[^\"]*\"/\"$stableHash\"/" \
50 "$HERE/default.nix"