2022-01-25 14:15:52 +00:00
|
|
|
{ lib, stdenv, fetchurl, fetchpatch, flex, bison, readline, libssh, nixosTests }:
|
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 ];
|
2019-11-16 23:47:09 +00:00
|
|
|
buildInputs = [ readline libssh ];
|
2018-02-11 22:28:00 +00:00
|
|
|
|
|
|
|
patches = [
|
2018-05-22 21:42:02 +01:00
|
|
|
(./. + "/dont-create-sysconfdir-${builtins.substring 0 1 version}.patch")
|
2019-01-06 13:26:03 +00:00
|
|
|
]
|
|
|
|
++ 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";
|
|
|
|
})
|
2019-01-06 13:26:03 +00:00
|
|
|
;
|
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
|
|
|
|
2022-01-25 14:15:52 +00:00
|
|
|
passthru.tests = nixosTests.bird;
|
|
|
|
|
2018-02-11 22:28:00 +00:00
|
|
|
meta = {
|
|
|
|
description = "BIRD Internet Routing Daemon";
|
2020-04-01 02:11:51 +01:00
|
|
|
homepage = "http://bird.network.cz";
|
2018-02-11 22:28:00 +00:00
|
|
|
license = licenses.gpl2Plus;
|
2019-08-20 18:36:05 +01:00
|
|
|
maintainers = with maintainers; [ fpletz globin ];
|
2018-02-11 22:28:00 +00:00
|
|
|
platforms = platforms.linux;
|
|
|
|
};
|
|
|
|
};
|
2015-05-16 22:22:35 +01:00
|
|
|
|
2018-02-11 22:28:00 +00:00
|
|
|
in
|
|
|
|
|
|
|
|
{
|
|
|
|
bird = generic {
|
2019-10-06 09:48:55 +01:00
|
|
|
version = "1.6.8";
|
|
|
|
sha256 = "1ch0pkkhd7axdjlvhprynh9q08x0nm984nvkm1cjb7gm5rfsnqbc";
|
2018-02-11 22:28:00 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
bird6 = generic {
|
2019-10-06 09:48:55 +01:00
|
|
|
version = "1.6.8";
|
|
|
|
sha256 = "1ch0pkkhd7axdjlvhprynh9q08x0nm984nvkm1cjb7gm5rfsnqbc";
|
2018-02-11 22:28:00 +00:00
|
|
|
enableIPv6 = true;
|
|
|
|
};
|
2015-05-16 22:22:35 +01:00
|
|
|
|
2018-02-11 22:28:00 +00:00
|
|
|
bird2 = generic {
|
2022-02-20 14:51:36 +00:00
|
|
|
version = "2.0.9";
|
|
|
|
sha256 = "sha256-dnhrvN7TBh4bsiGwEfLMACIewGPenNoASn2bBhoJbV4=";
|
2013-08-31 16:05:24 +01:00
|
|
|
};
|
|
|
|
}
|