Unverified Commit 63e8c8cd authored by Martin Weinelt's avatar Martin Weinelt Committed by GitHub
Browse files

python3Packages.cffi: 1.17.1 -> 2.0.0 (#445749)

parents 4bc5f6bf 3e4b64a5
Loading
Loading
Loading
Loading
+31 −60
Original line number Diff line number Diff line
{
  lib,
  stdenv,
  buildPythonPackage,
  isPyPy,
  fetchPypi,
  setuptools,
  pytestCheckHook,
  fetchFromGitHub,
  lib,
  libffi,
  pkg-config,
  pycparser,
  pytestCheckHook,
  setuptools,
  stdenv,
}:

let
  version = "1.17.1";
in
if isPyPy then
  buildPythonPackage {
    pname = "cffi";
    inherit version;
    pyproject = false;

    # cffi is bundled with PyPy.
    dontUnpack = true;

    # Some dependent packages expect to have pycparser available when using cffi.
    dependencies = [ pycparser ];

    meta = {
      description = "Foreign Function Interface for Python calling C code (bundled with PyPy, placeholder package)";
      homepage = "https://cffi.readthedocs.org/";
      license = lib.licenses.mit;
      teams = [ lib.teams.python ];
    };
  }
else
buildPythonPackage rec {
  pname = "cffi";
    inherit version;
  version = "2.0.0";
  pyproject = true;

    src = fetchPypi {
      inherit pname version;
      hash = "sha256-HDnGAWwyvEjdVFYZUOvWg24WcPKuRhKPZ89J54nFKCQ=";
  src = fetchFromGitHub {
    owner = "python-cffi";
    repo = "cffi";
    tag = "v${version}";
    hash = "sha256-7Mzz3KmmmE2xQru1GA4aY0DZqn6vxykWiExQvnA1bjM=";
  };

  nativeBuildInputs = [ pkg-config ];
@@ -50,26 +28,19 @@ else

  buildInputs = [ libffi ];

  # Some dependent packages expect to have pycparser available when using cffi.
  dependencies = [ pycparser ];

    # The tests use -Werror but with python3.6 clang detects some unreachable code.
    env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isClang "-Wno-unused-command-line-argument -Wno-unreachable-code -Wno-c++11-narrowing";

  doCheck = !(stdenv.hostPlatform.isMusl || stdenv.hostPlatform.useLLVM or false);

  nativeCheckInputs = [ pytestCheckHook ];

    disabledTests = lib.optionals stdenv.hostPlatform.isFreeBSD [
      # https://github.com/python-cffi/cffi/pull/144
      "test_dlopen_handle"
    ];

    meta = with lib; {
  meta = {
    changelog = "https://github.com/python-cffi/cffi/releases/tag/v${version}";
    description = "Foreign Function Interface for Python calling C code";
    downloadPage = "https://github.com/python-cffi/cffi";
    homepage = "https://cffi.readthedocs.org/";
      license = licenses.mit;
      teams = [ teams.python ];
    license = lib.licenses.mit0;
    teams = [ lib.teams.python ];
  };
}
+1 −1
Original line number Diff line number Diff line
@@ -2482,7 +2482,7 @@ self: super: with self; {
  cffconvert = callPackage ../development/python-modules/cffconvert { };
  cffi = callPackage ../development/python-modules/cffi { };
  cffi = if isPyPy then null else callPackage ../development/python-modules/cffi { };
  cffsubr = callPackage ../development/python-modules/cffsubr { };