Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / development / python-modules / libpcap / default.nix
blobd094e7715fcaf772b42389c36ca476260eb70149
1 { lib
2 , stdenv
3 , buildPythonPackage
4 , fetchPypi
5 , pythonOlder
6 , dbus
7 , pkgsLibpcap
8 , pkg-about
9 , setuptools
12 buildPythonPackage rec {
13   pname = "libpcap";
14   version = "1.11.0b7";
15   format = "pyproject";
17   disabled = pythonOlder "3.7";
19   src = fetchPypi {
20     inherit pname version;
21     extension = "zip";
22     hash = "sha256-gEWFqmeOJTVHdjcSOxfVLZtrNSO3CTY1L2VcXOu7q7k=";
23   };
25   nativeBuildInputs = [
26     setuptools
27   ];
29   # tox is listed in build requirements but not actually used to build
30   # keeping it as a requirement breaks the build unnecessarily
31   postPatch = ''
32     sed  -i "/requires/s/, 'tox>=3.25.1'//"  pyproject.toml
33     cat <<EOF >src/libpcap/libpcap.cfg
34     [libpcap]
35     LIBPCAP = ${pkgsLibpcap}/lib/libpcap${stdenv.hostPlatform.extensions.sharedLibrary}
36     EOF
37   '';
39   propagatedBuildInputs = [
40     dbus.lib
41     pkgsLibpcap
42     pkg-about
43   ];
45   # Project has tests, but I can't get them to run even outside of nix
46   doCheck = false;
48   pythonImportsCheck = [
49     "libpcap"
50   ];
52   meta = with lib; {
53     description = "Python binding for the libpcap C library";
54     longDescription = ''
55       Python libpcap module is a low-level binding for libpcap C library.
57       It is an effort to allow python programs full access to the API provided by the well known libpcap Unix C library and by its implementations provided under Win32 systems by such packet capture systems as: Npcap, WinPcap
59       libpcap is a lightweight Python package, based on the ctypes library.
61       It is fully compliant implementation of the original C libpcap from 1.0.0 up to 1.9.0 API and the WinPcap’s 4.1.3 libpcap (1.0.0rel0b) API by implementing whole its functionality in a clean Python instead of C.
62     '';
63     homepage = "https://github.com/karpierz/libpcap/";
64     license = licenses.bsd3;
65     maintainers = [ teams.ororatech ];
66   };