Unverified Commit 14e770ee authored by Sandro Jäckel's avatar Sandro Jäckel Committed by GitHub
Browse files

arouteserver: init at 1.23.1 (#353218)

parents f48ee02e 89ab9552
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
{ python3Packages }:

with python3Packages;
toPythonApplication aggregate6
+59 −0
Original line number Diff line number Diff line
{
  lib,
  python3Packages,
  fetchFromGitHub,
  bgpq4,
}:

python3Packages.buildPythonPackage rec {
  pname = "arouteserver";
  version = "1.23.1";
  pyproject = true;

  src = fetchFromGitHub {
    owner = "pierky";
    repo = "arouteserver";
    rev = "v${version}";
    hash = "sha256-EZOBMDBsxbuVzzjQWU8V4n3gcLkRQxCq2eVK/Tyko4E=";
  };

  postPatch = ''
    substituteInPlace tests/static/test_irr_queries_failover.py --replace-fail 'bgpq4 -h' '${lib.getExe bgpq4} -h'

    substituteInPlace pierky/arouteserver/builder.py pierky/arouteserver/config/program.py tests/static/test_cfg_program.py \
      --replace-fail '"bgpq4"' '"${lib.getExe bgpq4}"'
  '';

  build-system = with python3Packages; [ setuptools ];

  dependencies = with python3Packages; [
    aggregate6
    jinja2
    pyyaml
    requests
    packaging
    urllib3
    setuptools
  ];

  nativeCheckInputs = with python3Packages; [
    pytestCheckHook
    requests-mock
  ];

  pythonImportsCheck = [
    "pierky"
    "pierky.arouteserver"
  ];

  pytestFlagsArray = [ "tests/static" ];

  meta = {
    description = "Automatically build (and test) feature-rich configurations for BGP route servers";
    mainProgram = "arouteserver";
    homepage = "https://github.com/pierky/arouteserver";
    changelog = "https://github.com/pierky/arouteserver/blob/v${version}/CHANGES.rst";
    license = with lib.licenses; [ gpl3Only ];
    maintainers = lib.teams.wdz.members ++ (with lib.maintainers; [ marcel ]);
  };
}
+31 −0
Original line number Diff line number Diff line
From d20c7039316ea7c76da86963b266d3c34001b9f7 Mon Sep 17 00:00:00 2001
From: Marcel <me@m4rc3l.de>
Date: Sat, 2 Nov 2024 21:13:37 +0100
Subject: [PATCH] setup: remove nose, coverage

---
 setup.py | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/setup.py b/setup.py
index b880f27..7a47360 100644
--- a/setup.py
+++ b/setup.py
@@ -70,7 +70,7 @@ setup(
         'Programming Language :: Python :: 3',
         'Programming Language :: Python :: 3.6'
     ],
-    setup_requires=["nose", "coverage", "mock"],
+    setup_requires=["mock"],
     install_requires=["py-radix==0.10.0"] + (
         ["future", "ipaddress"] if sys.version_info.major == 2 else []
     ),
@@ -78,5 +78,4 @@ setup(
     entry_points={'console_scripts':
                   ['aggregate6 = aggregate6.aggregate6:main']},
     data_files = [('man/man7', ['aggregate6.7'])],
-    test_suite='nose.collector'
 )
-- 
2.44.1
+48 −0
Original line number Diff line number Diff line
{
  lib,
  buildPythonPackage,
  fetchFromGitHub,
  setuptools,
  py-radix-sr,
  pytestCheckHook,
  mock,
}:

buildPythonPackage rec {
  pname = "aggregate6";
  version = "1.0.12";
  pyproject = true;

  src = fetchFromGitHub {
    owner = "job";
    repo = "aggregate6";
    rev = version;
    hash = "sha256-tBo9LSmEu/0KPSeg17dlh7ngUvP9GyW6b01qqpr5Bx0=";
  };

  patches = [ ./0001-setup-remove-nose-coverage.patch ];

  # py-radix-sr is a fork, with fixes
  postPatch = ''
    substituteInPlace setup.py --replace-fail 'py-radix==0.10.0' 'py-radix-sr'
  '';

  build-system = [ setuptools ];

  dependencies = [ py-radix-sr ];

  nativeCheckInputs = [
    pytestCheckHook
    mock
  ];

  pythonImportsCheck = [ "aggregate6" ];

  meta = {
    description = "IPv4 and IPv6 prefix aggregation tool";
    mainProgram = "aggregate6";
    homepage = "https://github.com/job/aggregate6";
    license = with lib.licenses; [ bsd2 ];
    maintainers = lib.teams.wdz.members ++ (with lib.maintainers; [ marcel ]);
  };
}
+2 −0
Original line number Diff line number Diff line
@@ -123,6 +123,8 @@ self: super: with self; {
  agent-py = callPackage ../development/python-modules/agent-py { };
  aggregate6 = callPackage ../development/python-modules/aggregate6 { };
  ago = callPackage ../development/python-modules/ago { };
  aggdraw = callPackage ../development/python-modules/aggdraw { };