Introduce desync, an alternate implementation of casync (#47195)

desync isn't as feature-rich as casync, but has a focus on production usability
and implementation quality which may make it a more appropriate tool.
This commit is contained in:
Charles Duffy 2018-09-22 18:22:07 -05:00 committed by xeji
parent 434c2610f6
commit bd13ef5944
4 changed files with 163 additions and 0 deletions

View file

@ -678,6 +678,11 @@
github = "Chaddai";
name = "Chaddaï Fouché";
};
chaduffy = {
email = "charles@dyfis.net";
github = "charles-dyfis-net";
name = "Charles Duffy";
};
changlinli = {
email = "mail@changlinli.com";
github = "changlinli";

View file

@ -0,0 +1,27 @@
{ stdenv, buildGoPackage, fetchFromGitHub }:
buildGoPackage rec {
name = "desync-${version}";
version = "0.3.0";
rev = "v${version}";
goPackagePath = "github.com/folbricht/desync";
src = fetchFromGitHub {
inherit rev;
owner = "folbricht";
repo = "desync";
sha256 = "1h2i6ai7q1mg2ysd3cnas96rb8g0bpp1v3hh7ip9nrfxhlplyyda";
};
goDeps = ./deps.nix;
meta = with stdenv.lib; {
description = "Content-addressed binary distribution system";
longDescription = "An alternate implementation of the casync protocol and storage mechanism with a focus on production-readiness";
homepage = https://github.com/folbricht/desync;
license = licenses.bsd3;
platforms = platforms.unix; # windows temporarily broken in 0.3.0 release
maintainers = [ maintainers.chaduffy ];
};
}

View file

@ -0,0 +1,129 @@
# This file was generated by https://github.com/kamilchm/go2nix v1.2.1
[
{
goPackagePath = "github.com/datadog/zstd";
fetch = {
type = "git";
url = "https://github.com/datadog/zstd";
rev = "940731c8fc259059120b0e617a69d54dcd7c3eee";
sha256 = "04nmljnk54xm2k4ydhdiidazk3765jk8h4hvcsymkrsggrfyrjfx";
};
}
{
goPackagePath = "github.com/dchest/siphash";
fetch = {
type = "git";
url = "https://github.com/dchest/siphash";
rev = "34f201214d993633bb24f418ba11736ab8b55aa7";
sha256 = "08s076y7vmjqnq7jz0762hkm896r6r31v8b31a3gy0n8rfa01k8k";
};
}
{
goPackagePath = "github.com/folbricht/tempfile";
fetch = {
type = "git";
url = "https://github.com/folbricht/tempfile";
rev = "ee190cb5934293f187a9d43ee34de7d5cf9ceb83";
sha256 = "0vz08qvbniqxc24vhmcbq5ncnz97ncp4jbxgcf0hziazxfp114z3";
};
}
{
goPackagePath = "github.com/go-ini/ini";
fetch = {
type = "git";
url = "https://github.com/go-ini/ini";
rev = "fa25069db393aecc09b71267d0489b357781c860";
sha256 = "0fs1c48hni5gc1fyz65d138jpmqm1sqpb7vw5vhx0j6lmj1nf45z";
};
}
{
goPackagePath = "github.com/hanwen/go-fuse";
fetch = {
type = "git";
url = "https://github.com/hanwen/go-fuse";
rev = "1d35017e97018335f348413b3aeed67468d80f7b";
sha256 = "11rggvkd6lc5lcpsfvc9iip4z9cingzpkpshaskv2cirbxdynyi8";
};
}
{
goPackagePath = "github.com/kr/fs";
fetch = {
type = "git";
url = "https://github.com/kr/fs";
rev = "1455def202f6e05b95cc7bfc7e8ae67ae5141eba";
sha256 = "11zg176x9hr9q7fsk95r6q0wf214gg4czy02slax4x56n79g6a7q";
};
}
{
goPackagePath = "github.com/minio/minio-go";
fetch = {
type = "git";
url = "https://github.com/minio/minio-go";
rev = "f01ef22c977052d716c74724874f932a16f047bb";
sha256 = "0pn1likcwnzb2j4hi4r1ib3xlp31h2vgwyc7xnm1iv7f8l4gk2hc";
};
}
{
goPackagePath = "github.com/mitchellh/go-homedir";
fetch = {
type = "git";
url = "https://github.com/mitchellh/go-homedir";
rev = "ae18d6b8b3205b561c79e8e5f69bff09736185f4";
sha256 = "0f0z0aa4wivk4z1y503dmnw0k0g0g403dly8i4q263gfshs82sbq";
};
}
{
goPackagePath = "github.com/pkg/errors";
fetch = {
type = "git";
url = "https://github.com/pkg/errors";
rev = "c059e472caf75dbe73903f6521a20abac245b17f";
sha256 = "07xg8ym776j2w0k8445ii82lx8yz358cp1z96r739y13i1anqdzi";
};
}
{
goPackagePath = "github.com/pkg/sftp";
fetch = {
type = "git";
url = "https://github.com/pkg/sftp";
rev = "08de04f133f27844173471167014e1a753655ac8";
sha256 = "090q4xmjbllwl3rpj1hzp0iw3qw1yvp6r3kf5cgw44ai57z96271";
};
}
{
goPackagePath = "golang.org/x/crypto";
fetch = {
type = "git";
url = "https://go.googlesource.com/crypto";
rev = "0e37d006457bf46f9e6692014ba72ef82c33022c";
sha256 = "1fj8rvrhgv5j8pmckzphvm3sqkzhcqp3idkxvgv13qrjdfycsa5r";
};
}
{
goPackagePath = "golang.org/x/net";
fetch = {
type = "git";
url = "https://go.googlesource.com/net";
rev = "2f5d2388922f370f4355f327fcf4cfe9f5583908";
sha256 = "03s92ygxfrd2c1m4697sd6iksgbar6c007w1yf3h6wmd79vr5dxs";
};
}
{
goPackagePath = "golang.org/x/sys";
fetch = {
type = "git";
url = "https://go.googlesource.com/sys";
rev = "d47a0f3392421c5624713c9a19fe781f651f8a50";
sha256 = "01dqcv7vnynwhlmb28fn50svjb9kfj04nk7frvf7mh4jd3qnrsnv";
};
}
{
goPackagePath = "golang.org/x/text";
fetch = {
type = "git";
url = "https://go.googlesource.com/text";
rev = "905a57155faa8230500121607930ebb9dd8e139c";
sha256 = "1qlvvb44j9ss3mkb5035i20xsd6sm0n05sqpqbi8gjw64g086zcb";
};
}
]

View file

@ -1184,6 +1184,8 @@ with pkgs;
deja-dup = callPackage ../applications/backup/deja-dup { };
desync = callPackage ../applications/networking/sync/desync { };
devmem2 = callPackage ../os-specific/linux/devmem2 { };
dbus-broker = callPackage ../os-specific/linux/dbus-broker { };