diff --git a/pkgs/development/go-modules/libs.json b/pkgs/development/go-modules/libs.json index c3bb2eb7ea3d..1c25758dfbcd 100644 --- a/pkgs/development/go-modules/libs.json +++ b/pkgs/development/go-modules/libs.json @@ -1537,5 +1537,59 @@ "rev": "772320464101e904cd51198160eb4d489be9cc49", "sha256": "1a8hnh2k3vc3prjhnz4rjbiwhqq6r3mi18h9cdb6fc6s6yzjc19j" } + }, + { + "goPackagePath": "github.com/influxdata/usage-client", + "fetch": { + "type": "git", + "url": "https://github.com/influxdata/usage-client.git", + "rev": "475977e68d79883d9c8d67131c84e4241523f452", + "sha256": "0yhywablqqpd2x70rax1kf7yaw1jpvrc2gks8360cwisda57d3qy" + } + }, + { + "goPackagePath": "github.com/jwilder/encoding", + "fetch": { + "type": "git", + "url": "https://github.com/jwilder/encoding.git", + "rev": "b421ab402545ef5a119f4f827784c6551d9bfc37", + "sha256": "0sjz2cl8kpni0mh0y4269k417dj06gn2y0ppi25i3wh9p4j4i4fq" + } + }, + { + "goPackagePath": "collectd.org", + "fetch": { + "type": "git", + "url": "https://github.com/collectd/go-collectd.git", + "rev": "9fc824c70f713ea0f058a07b49a4c563ef2a3b98", + "sha256": "0kjal6bsjpnppfnlqbg7g56xwssaj2ani499yykyj817zq56hi0w" + } + }, + { + "goPackagePath": "github.com/dgryski/go-bits", + "fetch": { + "type": "git", + "url": "https://github.com/dgryski/go-bits.git", + "rev": "86c69b3c986f9d40065df5bd8f765796549eef2e", + "sha256": "08i3p8lcisr88gmwvi8qdc8bgksxh5ydjspgfbi4aba9msybp78b" + } + }, + { + "goPackagePath": "github.com/dgryski/go-bitstream", + "fetch": { + "type": "git", + "url": "https://github.com/dgryski/go-bitstream.git", + "rev": "27cd5973303fde7d914860be1ea4b927a6be0c92", + "sha256": "12ji4vcfy0cz12yq43cz0w1f1k4c1kg0vwpsk1iy47kc38kzdkc6" + } + }, + { + "goPackagePath": "github.com/paulbellamy/ratecounter", + "fetch": { + "type": "git", + "url": "https://github.com/paulbellamy/ratecounter.git", + "rev": "5a11f585a31379765c190c033b6ad39956584447", + "sha256": "137p62imi91zhkjcjigdd64n7f9z6djjpsxcyifgrcxs41jj9ra0" + } } -] +] \ No newline at end of file diff --git a/pkgs/servers/nosql/influxdb/default.nix b/pkgs/servers/nosql/influxdb/default.nix index 1372b6a3fc36..9f119b3f1389 100644 --- a/pkgs/servers/nosql/influxdb/default.nix +++ b/pkgs/servers/nosql/influxdb/default.nix @@ -1,26 +1,29 @@ { lib, buildGoPackage, fetchFromGitHub }: buildGoPackage rec { - name = "influxdb-${rev}"; - rev = "v0.9.4"; - goPackagePath = "github.com/influxdb/influxdb"; + name = "influxdb-${version}"; + version = "0.13.0"; + + goPackagePath = "github.com/influxdata/influxdb"; src = fetchFromGitHub { - inherit rev; - owner = "influxdb"; + owner = "influxdata"; repo = "influxdb"; - sha256 = "0yarymppnlpf2xab57i8jx595v47s5mdwnf13719mc1fv3q84yqn"; + rev = "v${version}"; + sha256 = "0f7af5jb1f65qnslhc7zccml1qvk6xx5naczqfsf4s1zc556fdi4"; }; excludedPackages = "test"; + # Generated with the `gdm2nix.rb` script and the `Godeps` file from the + # influxdb repo root. goDeps = ./deps.json; meta = with lib; { description = "An open-source distributed time series database"; license = licenses.mit; homepage = https://influxdb.com/; - maintainers = with maintainers; [ offline ]; + maintainers = with maintainers; [ offline zimbatm ]; platforms = platforms.linux; }; } diff --git a/pkgs/servers/nosql/influxdb/deps.json b/pkgs/servers/nosql/influxdb/deps.json index f091b58e8dc4..71b3bfb032f9 100644 --- a/pkgs/servers/nosql/influxdb/deps.json +++ b/pkgs/servers/nosql/influxdb/deps.json @@ -1,21 +1,125 @@ [ { - "include": "../../libs.json", + "goPackagePath": "github.com/hashicorp/raft", + "fetch": { + "type": "git", + "url": "https://github.com/hashicorp/raft.git", + "rev": "8fd9a2fdfd154f4b393aa24cff91e3c317efe839", + "sha256": "04k03x6r6h2xwxfvbzicfdblifdjn35agw9kwla6akw6l54ygy0f" + } + }, + { + "goPackagePath": "github.com/BurntSushi/toml", + "fetch": { + "type": "git", + "url": "https://github.com/BurntSushi/toml.git", + "rev": "a4eecd407cf4129fc902ece859a0114e4cf1a7f4", + "sha256": "1l74zvd534k2fs73gmaq4mgl48p1i9559k1gwq4vakca727z5sgf" + } + }, + { + "goPackagePath": "github.com/armon/go-metrics", + "fetch": { + "type": "git", + "url": "https://github.com/armon/go-metrics.git", + "rev": "345426c77237ece5dab0e1605c3e4b35c3f54757", + "sha256": "13bp2ykqhnhzif7wzrwsg54c2b0czhgs9csbvzbvc93n72s59jh5" + } + }, + { + "goPackagePath": "github.com/davecgh/go-spew", + "fetch": { + "type": "git", + "url": "https://github.com/davecgh/go-spew.git", + "rev": "fc32781af5e85e548d3f1abaf0fa3dbe8a72495c", + "sha256": "1dwwd4va0qnyr256i7n8d4g24d7yyvwd0975y6v4dy06qpwir232" + } + }, + { + "goPackagePath": "github.com/gogo/protobuf", + "fetch": { + "type": "git", + "url": "https://github.com/gogo/protobuf.git", + "rev": "74b6e9deaff6ba6da1389ec97351d337f0d08b06", + "sha256": "0045fz4bx72rikm2ggx9j1h3yrq518299qwaizrgy5jvxzj1707b" + } + }, + { + "goPackagePath": "github.com/golang/snappy", + "fetch": { + "type": "git", + "url": "https://github.com/golang/snappy.git", + "rev": "5979233c5d6225d4a8e438cdd0b411888449ddab", + "sha256": "0i0pvwc2a4xgsns6mr3xbc6p0sra34qsaagd7yf7v1as0z7ydl3s" + } + }, + { + "goPackagePath": "github.com/boltdb/bolt", + "fetch": { + "type": "git", + "url": "https://github.com/boltdb/bolt.git", + "rev": "2f846c3551b76d7710f159be840d66c3d064abbe", + "sha256": "0cvpcgmzlrn87jqrflwf4pciz6i25ri1r83sq7v1z9zry1ah16r5" + } + }, + { + "goPackagePath": "github.com/hashicorp/go-msgpack", + "fetch": { + "type": "git", + "url": "https://github.com/hashicorp/go-msgpack.git", + "rev": "fa3f63826f7c23912c15263591e65d54d080b458", + "sha256": "1f6rd6bm2dm2rk46x8cqrxh5nks1gpk6dvvsag7s5pdjgdxy951k" + } + }, + { + "goPackagePath": "golang.org/x/tools", + "fetch": { + "type": "git", + "url": "https://github.com/golang/tools.git", + "rev": "8b178a93c1f5b5c8f4e36cd6bd64e0d5bf0ee180", + "sha256": "0rqm56c4acrvyqsp53dkzr34pkz922x4rwknaslwlbkyc4gyg2c8" + } + }, + { + "goPackagePath": "github.com/kimor79/gollectd", + "fetch": { + "type": "git", + "url": "https://github.com/kimor79/gollectd.git", + "rev": "61d0deeb4ffcc167b2a1baa8efd72365692811bc", + "sha256": "0als2v4d5hlw0sqam670p3fi471ikgl3l81bp31mf3s3jssdxwfs" + } + }, + { + "goPackagePath": "github.com/peterh/liner", + "fetch": { + "type": "git", + "url": "https://github.com/peterh/liner.git", + "rev": "82a939e738b0ee23e84ec7a12d8e216f4d95c53f", + "sha256": "1187c1rqmh9k9ap5bz3p9hbjp3ad5hysykh58kgv5clah1jbkg04" + } + }, + { + "goPackagePath": "golang.org/x/crypto", + "fetch": { + "type": "git", + "url": "https://github.com/golang/crypto.git", + "rev": "1f22c0103821b9390939b6776727195525381532", + "sha256": "1acy12f396sr3lrnbcnym5q72qnlign5bagving41qijzjnc219m" + } + }, + { + "include": "../../../development/go-modules/libs.json", "packages": [ - "github.com/peterh/liner", - "github.com/BurntSushi/toml", - "github.com/kimor79/gollectd", - "github.com/bmizerany/pat", + "github.com/influxdata/usage-client", + "github.com/jwilder/encoding", + "collectd.org", + "github.com/dgryski/go-bits", + "github.com/dgryski/go-bitstream", "gopkg.in/fatih/pool.v2", + "github.com/bmizerany/pat", "github.com/rakyll/statik", - "github.com/armon/go-metrics", - "github.com/boltdb/bolt", - "github.com/golang/snappy", - "github.com/hashicorp/go-msgpack", "github.com/hashicorp/raft-boltdb", - "golang.org/x/crypto", - "github.com/gogo/protobuf", - "github.com/hashicorp/raft" + "github.com/paulbellamy/ratecounter" ] } -] +] \ No newline at end of file diff --git a/pkgs/servers/nosql/influxdb/gdm2nix.rb b/pkgs/servers/nosql/influxdb/gdm2nix.rb new file mode 100755 index 000000000000..4c49c8a538ff --- /dev/null +++ b/pkgs/servers/nosql/influxdb/gdm2nix.rb @@ -0,0 +1,33 @@ +#!/usr/bin/env ruby +# +# +require "json" + +redirects = { + "collectd.org" => "github.com/collectd/go-collectd", + "golang.org/x/crypto" => "github.com/golang/crypto", + "golang.org/x/tools" => "github.com/golang/tools", + "gopkg.in/fatih/pool.v2" => "github.com/fatih/pool", +} + +deps = File.read("Godeps").lines.map do |line| + (name, rev) = line.split(" ") + + host = redirects.fetch(name, name) + + url = "https://#{host}.git" + + xxx = JSON.load(`nix-prefetch-git #{url} #{rev}`) + + { + goPackagePath: name, + fetch: { + type: "git", + url: url, + rev: rev, + sha256: xxx['sha256'], + } + } +end + +File.write("deps.json", JSON.pretty_generate(deps))