biglybt: 3.5.0.0 -> 3.6.0.0
[NixPkgs.git] / pkgs / servers / openbgpd / default.nix
blobf9ccdcf26d15cb3147348998156a9bed29eb0a1b
1 { lib, stdenv, fetchFromGitHub, autoconf, automake, libtool, m4, bison }:
3 let
4   openbsd_version =
5     "OPENBSD_6_8"; # This has to be equal to ${src}/OPENBSD_BRANCH
6   openbsd = fetchFromGitHub {
7     name = "portable";
8     owner = "openbgpd-portable";
9     repo = "openbgpd-openbsd";
10     rev = openbsd_version;
11     sha256 = "sha256-vCVK5k4g6aW2z2fg7Kv0uvkX7f34aRc8K2myb3jjl6w=";
12   };
13 in stdenv.mkDerivation rec {
14   pname = "opengpd";
15   version = "6.8p0";
17   src = fetchFromGitHub {
18     owner = "openbgpd-portable";
19     repo = "openbgpd-portable";
20     rev = version;
21     sha256 = "sha256-TKs6tt/SCWes6kYAGIrSShZgOLf7xKh26xG3Zk7wCCw=";
22   };
24   nativeBuildInputs = [ autoconf automake libtool m4 bison ];
26   preConfigure = ''
27     mkdir ./openbsd
28     cp -r ${openbsd}/* ./openbsd/
29     chmod -R +w ./openbsd
30     openbsd_version=$(cat ./OPENBSD_BRANCH)
31     if [ "$openbsd_version" != "${openbsd_version}" ]; then
32       echo "OPENBSD VERSION does not match"
33       exit 1
34     fi
35     ./autogen.sh
36   '';
38   # Workaround build failure on -fno-common toolchains like upstream
39   # gcc-10. Otherwise build fails as:
40   #   ld: bgpd-rde_peer.o:/build/source/src/bgpd/bgpd.h:133: multiple definition of `bgpd_process';
41   #     bgpd-bgpd.o:/build/source/src/bgpd/bgpd.h:133: first defined here
42   env.NIX_CFLAGS_COMPILE = "-fcommon";
44   meta = with lib; {
45     description =
46       "A free implementation of the Border Gateway Protocol, Version 4. It allows ordinary machines to be used as routers exchanging routes with other systems speaking the BGP protocol";
47     license = licenses.isc;
48     homepage = "http://www.openbgpd.org/";
49     maintainers = with maintainers; [ kloenk ];
50     platforms = platforms.linux;
51   };