diff --git a/pkgs/tools/backup/zfsbackup/default.nix b/pkgs/tools/backup/zfsbackup/default.nix new file mode 100644 index 00000000000000..7b3cbdeaa103fd --- /dev/null +++ b/pkgs/tools/backup/zfsbackup/default.nix @@ -0,0 +1,25 @@ +{ lib, buildGoPackage, fetchFromGitHub }: + +buildGoPackage rec { + pname = "zfsbackup"; + version = "unstable-2019-03-05"; + rev = "78fea6e99f0a5a4c8513d3a3d1d45fb6750cfddf"; + + goPackagePath = "github.com/someone1/zfsbackup-go"; + + src = fetchFromGitHub { + owner = "someone1"; + repo = "zfsbackup-go"; + inherit rev; + sha256 = "0yalsfvzmcnc8yfzm3r5dikqrp57spwa16l7gbzvgqqcz4vlnw3n"; + }; + + goDeps = ./deps.nix; + + meta = with lib; { + description = "Backup ZFS snapshots to cloud storage such as Google, Amazon, Azure, etc"; + homepage = "https://github.com/someone1/zfsbackup-go"; + license = licenses.mit; + maintainers = [ maintainers.xfix ]; + }; +} diff --git a/pkgs/tools/backup/zfsbackup/deps.nix b/pkgs/tools/backup/zfsbackup/deps.nix new file mode 100644 index 00000000000000..f1fa23755bc7f9 --- /dev/null +++ b/pkgs/tools/backup/zfsbackup/deps.nix @@ -0,0 +1,273 @@ +# This file was generated by https://github.com/kamilchm/go2nix v1.3.0 +[ + { + goPackagePath = "cloud.google.com/go"; + fetch = { + type = "git"; + url = "https://code.googlesource.com/gocloud"; + rev = "b9197a057a6cb1129f29cd21ca11d1bb043666d1"; + sha256 = "0f1p361apzj30i9vcza60ldhhjxff8581gr5xqim7x4d5rgmpwil"; + }; + } + { + goPackagePath = "github.com/Azure/azure-pipeline-go"; + fetch = { + type = "git"; + url = "https://github.com/Azure/azure-pipeline-go"; + rev = "232aee85e8e3a6223a11c0943f7df2ae0fac00e4"; + sha256 = "1agn2nzmm1dkwggm4w7h4bnrav4n5jrl0vqbqy2s49vqlr8zirn6"; + }; + } + { + goPackagePath = "github.com/Azure/azure-storage-blob-go"; + fetch = { + type = "git"; + url = "https://github.com/Azure/azure-storage-blob-go"; + rev = "fc700035fe4a7020f50d49f420b3c088aed57e03"; + sha256 = "00gsnk9s1rlrakqvcm917hn4r47jannxwp7rkhrb71pamzm46752"; + }; + } + { + goPackagePath = "github.com/aws/aws-sdk-go"; + fetch = { + type = "git"; + url = "https://github.com/aws/aws-sdk-go"; + rev = "3576772d916b5db1cb5516b772bcdc362349a177"; + sha256 = "04clzbyg5cmqz98i5hxbik6sd7aclas1707rhaixmmckgisqxb8i"; + }; + } + { + goPackagePath = "github.com/cenkalti/backoff"; + fetch = { + type = "git"; + url = "https://github.com/cenkalti/backoff"; + rev = "4b4cebaf850ec58f1bb1fec5bdebdf8501c2bc3f"; + sha256 = "0vwd6nbadrqgaljb5grmw2iljvv963qd15axr5cvvgpd465q3kzc"; + }; + } + { + goPackagePath = "github.com/dustin/go-humanize"; + fetch = { + type = "git"; + url = "https://github.com/dustin/go-humanize"; + rev = "9f541cc9db5d55bce703bd99987c9d5cb8eea45e"; + sha256 = "1kqf1kavdyvjk7f8kx62pnm7fbypn9z1vbf8v2qdh3y7z7a0cbl3"; + }; + } + { + goPackagePath = "github.com/golang/groupcache"; + fetch = { + type = "git"; + url = "https://github.com/golang/groupcache"; + rev = "404acd9df4cc9859d64fb9eed42e5c026187287a"; + sha256 = "1zmhdr758wn0kfh5xr4hg026f9qvy00s3midb5iqnpx1kh647j2g"; + }; + } + { + goPackagePath = "github.com/golang/protobuf"; + fetch = { + type = "git"; + url = "https://github.com/golang/protobuf"; + rev = "1680a479a2cfb3fa22b972af7e36d0a0fde47bf8"; + sha256 = "1w0aivn2rqf7bcpz84nbn0alh1q3nglqgp7il835fmvvc94rrkqn"; + }; + } + { + goPackagePath = "github.com/googleapis/gax-go"; + fetch = { + type = "git"; + url = "https://github.com/googleapis/gax-go"; + rev = "a170e83f27ee4e20c66e51b66a99a4a349a1b75a"; + sha256 = "0a5ir1v5cd6m40hscqy0qpc3ibd703kiw419m66ddxnkvzykvp0i"; + }; + } + { + goPackagePath = "github.com/juju/ratelimit"; + fetch = { + type = "git"; + url = "https://github.com/juju/ratelimit"; + rev = "f60b32039441cd828005f82f3a54aafd00bc9882"; + sha256 = "1qbjcm4y53awkqmpxb1nm9c1xdylc44vph4mn30qjb5wrcqy7c1r"; + }; + } + { + goPackagePath = "github.com/klauspost/compress"; + fetch = { + type = "git"; + url = "https://github.com/klauspost/compress"; + rev = "30993c63e1b02b47dd3878e74c8db50833706ecc"; + sha256 = "07d0r56ic91rdd0xvfr7zpn015kl6g9jwlgq5avczbz4fnyx5x8m"; + }; + } + { + goPackagePath = "github.com/klauspost/pgzip"; + fetch = { + type = "git"; + url = "https://github.com/klauspost/pgzip"; + rev = "083b1c3f84dd6486588802e5ce295de3a7f41a8b"; + sha256 = "0ddigh096fz3lixbdm679hjvnfivbpkijrclk5sn9091hyj38pb3"; + }; + } + { + goPackagePath = "github.com/kurin/blazer"; + fetch = { + type = "git"; + url = "https://github.com/kurin/blazer"; + rev = "cf2f27cc0be3dac3c1a94c3c8b76834ce741439e"; + sha256 = "02nwxrczg8c9zj3hdmbyg458qvhfwl60ci1pjl7f0y07kgiv1rg3"; + }; + } + { + goPackagePath = "github.com/mattn/go-ieproxy"; + fetch = { + type = "git"; + url = "https://github.com/mattn/go-ieproxy"; + rev = "f9202b1cfdeb0c82ddd3dc1e8e9cd94b3c0c1b13"; + sha256 = "0r8c17znlv32750qy3p96fbyp8ys8xfdccpzv0z9lr2y88jnzhpz"; + }; + } + { + goPackagePath = "github.com/miolini/datacounter"; + fetch = { + type = "git"; + url = "https://github.com/miolini/datacounter"; + rev = "aa48df3a02c1fbcd3040271f631887991c3071fb"; + sha256 = "12ldh5jhafjhh3jvh979mldwygkkcnm97axs7dhlai6gqwlhls87"; + }; + } + { + goPackagePath = "github.com/nightlyone/lockfile"; + fetch = { + type = "git"; + url = "https://github.com/nightlyone/lockfile"; + rev = "0ad87eef1443f64d3d8c50da647e2b1552851124"; + sha256 = "19vfswcvdy937da7w6hap3wp83drj5a084sqszy8r2ph4fbkln41"; + }; + } + { + goPackagePath = "github.com/op/go-logging"; + fetch = { + type = "git"; + url = "https://github.com/op/go-logging"; + rev = "970db520ece77730c7e4724c61121037378659d9"; + sha256 = "1cpna2x5l071z1vrnk7zipdkka8dzwsjyx7m79xk0lr08rip0kcj"; + }; + } + { + goPackagePath = "github.com/pkg/errors"; + fetch = { + type = "git"; + url = "https://github.com/pkg/errors"; + rev = "27936f6d90f9c8e1145f11ed52ffffbfdb9e0af7"; + sha256 = "0yzmgi6g4ak4q8y7w6x0n5cbinlcn8yc3gwgzy4yck00qdn25d6y"; + }; + } + { + goPackagePath = "github.com/spf13/cobra"; + fetch = { + type = "git"; + url = "https://github.com/spf13/cobra"; + rev = "8a4b46fadf756f30eff047abf2f8edba4eac6fef"; + sha256 = "0f9pxni3lghl205wrnssw58iliqifrxcdabrbww20887zwn3ki7q"; + }; + } + { + goPackagePath = "github.com/spf13/pflag"; + fetch = { + type = "git"; + url = "https://github.com/spf13/pflag"; + rev = "2e9d26c8c37aae03e3f9d4e90b7116f5accb7cab"; + sha256 = "0gpmacngd0gpslnbkzi263f5ishigzgh6pbdv9hp092rnjl4nd31"; + }; + } + { + goPackagePath = "go.opencensus.io"; + fetch = { + type = "git"; + url = "https://github.com/census-instrumentation/opencensus-go"; + rev = "3b5a343282fe4b4fccdb0f24cbd1d7169d20858a"; + sha256 = "0qzx8p019r4qzm0knvs3kcx5vc9qg6ksgf1amk5djr1h00w460aw"; + }; + } + { + goPackagePath = "golang.org/x/crypto"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/crypto"; + rev = "87dc89f01550277dc22b74ffcf4cd89fa2f40f4c"; + sha256 = "0z4i1m2yn3f31ci7wvcm2rxkx2yiv7a78mfzklncmsz2k97rlh2g"; + }; + } + { + goPackagePath = "golang.org/x/net"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/net"; + rev = "da9a3fd4c5820e74b24a6cb7fb438dc9b0dd377c"; + sha256 = "0iavs400534jn7drmdphx0f18vgg060p2r59xw5d85ji1l5rin1l"; + }; + } + { + goPackagePath = "golang.org/x/oauth2"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/oauth2"; + rev = "0f29369cfe4552d0e4bcddc57cc75f4d7e672a33"; + sha256 = "06jwpvx0x2gjn2y959drbcir5kd7vg87k0r1216abk6rrdzzrzi2"; + }; + } + { + goPackagePath = "golang.org/x/sync"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/sync"; + rev = "cd5d95a43a6e21273425c7ae415d3df9ea832eeb"; + sha256 = "1nqkyz2y1qvqcma52ijh02s8aiqmkfb95j08f6zcjhbga3ds6hds"; + }; + } + { + goPackagePath = "golang.org/x/sys"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/sys"; + rev = "b09406accb4736d857a32bf9444cd7edae2ffa79"; + sha256 = "00lbhsr2p3mi2n35mv3yy6lmgzjjav45yv9bmrxgyahbac5qnz5m"; + }; + } + { + goPackagePath = "golang.org/x/text"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/text"; + rev = "3d0f7978add91030e5e8976ff65ccdd828286cba"; + sha256 = "0iagl5icarfrbiv6m3dhqy51r30cnl07r66im5c88dz7lrvpy5z3"; + }; + } + { + goPackagePath = "google.golang.org/api"; + fetch = { + type = "git"; + url = "https://code.googlesource.com/google-api-go-client"; + rev = "e6ade80c6e2a122a6588f9f827207dcb99da433e"; + sha256 = "1mk0ab6f2dyx1lack436zdhspq1hgip2s5m3pqjrqk18s8vvn4bd"; + }; + } + { + goPackagePath = "google.golang.org/genproto"; + fetch = { + type = "git"; + url = "https://github.com/google/go-genproto"; + rev = "548a555dbc03994223efbaba0090152849259498"; + sha256 = "15sbfwrh6m18fn3n369cb5c8qsmw17wibwmjssblgp64gvmx5b18"; + }; + } + { + goPackagePath = "google.golang.org/grpc"; + fetch = { + type = "git"; + url = "https://github.com/grpc/grpc-go"; + rev = "7c8e60372e19da88fb3fe8ac6a8de781eef7f547"; + sha256 = "03fb7j1gfglzp77hkhlm8dgg3if1j1pvry0nhx915ww0hmz6sr00"; + }; + } +] diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index bf96880e2df2a2..b8bff39ae8f671 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -7285,6 +7285,8 @@ in zerofree = callPackage ../tools/filesystems/zerofree { }; + zfsbackup = callPackage ../tools/backup/zfsbackup { }; + zfstools = callPackage ../tools/filesystems/zfstools { }; zile = callPackage ../applications/editors/zile { };