nixpkgs/pkgs/servers/bird/default.nix

65 lines
1.6 KiB
Nix
Raw Normal View History

2018-12-11 11:25:13 +00:00
{ lib, stdenv, fetchurl, fetchpatch, flex, bison, readline }:
2013-08-31 16:05:24 +01:00
2018-02-11 22:28:00 +00:00
with lib;
2013-08-31 16:05:24 +01:00
2018-02-11 22:28:00 +00:00
let
generic = { version, sha256, enableIPv6 ? false }:
stdenv.mkDerivation rec {
2019-08-13 22:52:01 +01:00
pname = "bird";
inherit version;
2018-02-11 22:28:00 +00:00
src = fetchurl {
inherit sha256;
2019-08-13 22:52:01 +01:00
url = "ftp://bird.network.cz/pub/bird/${pname}-${version}.tar.gz";
2018-02-11 22:28:00 +00:00
};
nativeBuildInputs = [ flex bison ];
buildInputs = [ readline ];
patches = [
(./. + "/dont-create-sysconfdir-${builtins.substring 0 1 version}.patch")
]
++ optional (lib.versionOlder version "2")
2018-12-11 11:25:13 +00:00
# https://github.com/BIRD/bird/pull/4
(fetchpatch {
url = "https://github.com/BIRD/bird/commit/fca9ab48e3823c734886f47156a92f6b804c16e9.patch";
sha256 = "1pnndc3n56lqqcy74ln0w5kn3i9rbzsm2dqiyp1qw7j33dpkln1b";
})
;
2013-08-31 16:05:24 +01:00
2018-12-11 11:25:13 +00:00
CPP="${stdenv.cc.targetPrefix}cpp -E";
2018-02-11 22:28:00 +00:00
configureFlags = [
"--localstatedir=/var"
] ++ optional enableIPv6 "--enable-ipv6";
2013-08-31 16:05:24 +01:00
2018-02-11 22:28:00 +00:00
meta = {
description = "BIRD Internet Routing Daemon";
homepage = http://bird.network.cz;
license = licenses.gpl2Plus;
maintainers = with maintainers; [ fpletz globin ];
2018-02-11 22:28:00 +00:00
platforms = platforms.linux;
};
};
2018-02-11 22:28:00 +00:00
in
{
bird = generic {
version = "1.6.8";
sha256 = "1ch0pkkhd7axdjlvhprynh9q08x0nm984nvkm1cjb7gm5rfsnqbc";
2018-02-11 22:28:00 +00:00
};
bird6 = generic {
version = "1.6.8";
sha256 = "1ch0pkkhd7axdjlvhprynh9q08x0nm984nvkm1cjb7gm5rfsnqbc";
2018-02-11 22:28:00 +00:00
enableIPv6 = true;
};
2018-02-11 22:28:00 +00:00
bird2 = generic {
version = "2.0.7";
sha256 = "0rhhbfmfw2d93rvhglv03rdzxsq2disw6s1wm8d6bgdxmrc2n7b3";
2013-08-31 16:05:24 +01:00
};
}