diff options
Diffstat (limited to 'nixpkgs/pkgs/servers/mirrorbits/default.nix')
-rw-r--r-- | nixpkgs/pkgs/servers/mirrorbits/default.nix | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/servers/mirrorbits/default.nix b/nixpkgs/pkgs/servers/mirrorbits/default.nix new file mode 100644 index 000000000000..3bd72b0e7dad --- /dev/null +++ b/nixpkgs/pkgs/servers/mirrorbits/default.nix @@ -0,0 +1,53 @@ +{ lib +, buildGoModule +, fetchFromGitHub +, fetchpatch +, pkg-config +, zlib +, geoip +}: + +buildGoModule rec { + pname = "mirrorbits"; + version = "0.5.1"; + + src = fetchFromGitHub { + owner = "etix"; + repo = "mirrorbits"; + rev = "v${version}"; + hash = "sha256-Ta3+Y3P74cvx09Z4rB5ObgBZtfF4grVgyeZ57yFPlGM="; + }; + + vendorHash = null; + + patches = [ + # Add Go Modules support + (fetchpatch { + url = "https://github.com/etix/mirrorbits/commit/955a8b2e1aacea1cae06396a64afbb531ceb36d4.patch"; + hash = "sha256-KJgj3ynnjjiXG5qsUmzBiMjGEwfvM/9Ap+ZgUdhclik="; + }) + ]; + + nativeBuildInputs = [ pkg-config ]; + buildInputs = [ zlib geoip ]; + + subPackages = [ "." ]; + + ldflags = [ "-s" "-w" ]; + + meta = with lib; { + description = "geographical download redirector for distributing files efficiently across a set of mirrors"; + homepage = "https://github.com/etix/mirrorbits"; + longDescription = '' + Mirrorbits is a geographical download redirector written in Go for + distributing files efficiently across a set of mirrors. It offers + a simple and economic way to create a Content Delivery Network + layer using a pure software stack. It is primarily designed for + the distribution of large-scale Open-Source projects with a lot + of traffic. + ''; + license = licenses.mit; + maintainers = with maintainers; [ fpletz ]; + mainProgram = "mirrorbits"; + }; +} |