nixpkgs/pkgs/servers/mirrorbits/default.nix

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

54 lines
1.4 KiB
Nix
Raw Normal View History

2023-01-27 10:17:05 +00:00
{ lib
, buildGoModule
, fetchFromGitHub
, fetchpatch
, pkg-config
, zlib
, geoip
}:
buildGoModule rec {
pname = "mirrorbits";
2023-01-27 10:17:05 +00:00
version = "0.5.1";
2017-09-18 19:52:51 +00:00
src = fetchFromGitHub {
owner = "etix";
repo = "mirrorbits";
2023-01-27 10:17:05 +00:00
rev = "v${version}";
hash = "sha256-Ta3+Y3P74cvx09Z4rB5ObgBZtfF4grVgyeZ57yFPlGM=";
2017-09-18 19:52:51 +00:00
};
2023-01-27 10:17:05 +00:00
vendorHash = null;
2017-09-18 19:52:51 +00:00
patches = [
2023-01-27 10:17:05 +00:00
# Add Go Modules support
2017-09-18 19:52:51 +00:00
(fetchpatch {
2023-01-27 10:17:05 +00:00
url = "https://github.com/etix/mirrorbits/commit/955a8b2e1aacea1cae06396a64afbb531ceb36d4.patch";
hash = "sha256-KJgj3ynnjjiXG5qsUmzBiMjGEwfvM/9Ap+ZgUdhclik=";
2017-09-18 19:52:51 +00:00
})
];
nativeBuildInputs = [ pkg-config ];
2017-09-18 19:52:51 +00:00
buildInputs = [ zlib geoip ];
2023-01-27 10:17:05 +00:00
subPackages = [ "." ];
ldflags = [ "-s" "-w" ];
meta = with lib; {
2017-09-18 19:52:51 +00:00
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.
'';
2023-01-27 10:17:05 +00:00
license = licenses.mit;
maintainers = with maintainers; [ fpletz ];
2023-11-23 21:09:35 +00:00
mainProgram = "mirrorbits";
2017-09-18 19:52:51 +00:00
};
}