diff --git a/pkgs/servers/openbgpd/default.nix b/pkgs/servers/openbgpd/default.nix new file mode 100644 index 000000000000..2e0c787d0b21 --- /dev/null +++ b/pkgs/servers/openbgpd/default.nix @@ -0,0 +1,45 @@ +{ stdenv, fetchFromGitHub, autoconf, automake +, libtool, m4, yacc }: + +let + openbsd_version = "OPENBSD_6_7"; # This has to be equal to ${src}/OPENBSD_BRANCH + openbsd = fetchFromGitHub { + owner = "openbgpd-portable"; + repo = "openbgpd-openbsd"; + rev = openbsd_version; + sha256 = "sha256-YJTHUsn6s4xLcLQuxCLmEkIE8ozxzooj71cJ5Wl+0lI="; + }; +in stdenv.mkDerivation rec { + pname = "opengpd"; + version = "6.7p0"; + + src = fetchFromGitHub { + owner = "openbgpd-portable"; + repo = "openbgpd-portable"; + rev = version; + sha256 = "sha256-10DfK45BsSHeyANB0OJLKog1mEj0mydXSDAT9G6u1gM"; + }; + + nativeBuildInputs = + [ autoconf automake libtool m4 yacc ]; + + preConfigure = '' + mkdir ./openbsd + cp -r ${openbsd}/* ./openbsd/ + chmod -R +w ./openbsd + openbsd_version=$(cat ./OPENBSD_BRANCH) + if [ "$openbsd_version" != "${openbsd_version}" ]; then + echo "OPENBSD VERSION does not match" + exit 1 + fi + ./autogen.sh + ''; + + meta = with stdenv.lib; { + description = "OpenBGPD is 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."; + license = licenses.isc; + homepage = "http://www.openbgpd.org/"; + maintainers = with maintainers; [ kloenk ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 90f673b97b52..fd4026707703 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -16543,6 +16543,8 @@ in oauth2_proxy = callPackage ../servers/oauth2_proxy { }; + openbgpd = callPackage ../servers/openbgpd { }; + openafs = callPackage ../servers/openafs/1.6 { tsmbac = null; ncurses = null; }; openafs_1_8 = callPackage ../servers/openafs/1.8 { tsmbac = null; ncurses = null; };