about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/python-modules/cffi/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/python-modules/cffi/default.nix')
-rw-r--r--nixpkgs/pkgs/development/python-modules/cffi/default.nix60
1 files changed, 20 insertions, 40 deletions
diff --git a/nixpkgs/pkgs/development/python-modules/cffi/default.nix b/nixpkgs/pkgs/development/python-modules/cffi/default.nix
index 0d93941b974d..7b2547afff1d 100644
--- a/nixpkgs/pkgs/development/python-modules/cffi/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cffi/default.nix
@@ -3,7 +3,7 @@
 , buildPythonPackage
 , isPyPy
 , fetchPypi
-, fetchpatch
+, setuptools
 , pytestCheckHook
 , libffi
 , pkg-config
@@ -13,11 +13,12 @@
 
 if isPyPy then null else buildPythonPackage rec {
   pname = "cffi";
-  version = "1.15.1";
+  version = "1.16.0";
+  pyproject = true;
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-1AC/uaN7E1ElPLQCZxzqfom97MKU6AFqcH9tHYrJNPk=";
+    hash = "sha256-vLPvQ+WGZbvaL7GYaY/K5ndkg+DEpjGqVkeAbCXgLMA=";
   };
 
   patches = [
@@ -32,38 +33,12 @@ if isPyPy then null else buildPythonPackage rec {
     # deemed safe to trust in cffi.
     #
     ./darwin-use-libffi-closures.diff
-    (fetchpatch {
-      # Drop py.code usage from tests, no longer depend on the deprecated py package
-      url = "https://foss.heptapod.net/pypy/cffi/-/commit/9c7d865e17ec16a847090a3e0d1498b698b99756.patch";
-      excludes = [
-        "README.md"
-        "requirements.txt"
-      ];
-      hash = "sha256-HSuLLIYXXGGCPccMNLV7o1G3ppn2P0FGCrPjqDv2e7k=";
-    })
-    (fetchpatch {
-      #  Replace py.test usage with pytest
-      url = "https://foss.heptapod.net/pypy/cffi/-/commit/bd02e1b122612baa74a126e428bacebc7889e897.patch";
-      excludes = [
-        "README.md"
-        "requirements.txt"
-      ];
-      hash = "sha256-+2daRTvxtyrCPimOEAmVbiVm1Bso9hxGbaAbd03E+ws=";
-    })
   ] ++ lib.optionals (stdenv.cc.isClang && lib.versionAtLeast (lib.getVersion stdenv.cc) "13") [
     # -Wnull-pointer-subtraction is enabled with -Wextra. Suppress it to allow the following tests
     # to run and pass when cffi is built with newer versions of clang:
     # - testing/cffi1/test_verify1.py::test_enum_usage
     # - testing/cffi1/test_verify1.py::test_named_pointer_as_argument
     ./clang-pointer-substraction-warning.diff
-  ] ++  lib.optionals (pythonAtLeast "3.11") [
-    # Fix test that failed because python seems to have changed the exception format in the
-    # final release. This patch should be included in the next version and can be removed when
-    # it is released.
-    (fetchpatch {
-      url = "https://foss.heptapod.net/pypy/cffi/-/commit/8a3c2c816d789639b49d3ae867213393ed7abdff.diff";
-      hash = "sha256-3wpZeBqN4D8IP+47QDGK7qh/9Z0Ag4lAe+H0R5xCb1E=";
-    })
   ];
 
   postPatch = lib.optionalString stdenv.isDarwin ''
@@ -74,11 +49,18 @@ if isPyPy then null else buildPythonPackage rec {
       --replace '/usr/include/libffi' '${lib.getDev libffi}/include'
   '';
 
-  buildInputs = [ libffi ];
+  nativeBuildInputs = [
+    pkg-config
+    setuptools
+  ];
 
-  nativeBuildInputs = [ pkg-config ];
+  buildInputs = [
+    libffi
+  ];
 
-  propagatedBuildInputs = [ pycparser ];
+  propagatedBuildInputs = [
+    pycparser
+  ];
 
   # The tests use -Werror but with python3.6 clang detects some unreachable code.
   env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isClang
@@ -86,18 +68,16 @@ if isPyPy then null else buildPythonPackage rec {
 
   doCheck = !stdenv.hostPlatform.isMusl;
 
-  nativeCheckInputs = [ pytestCheckHook ];
-
-  disabledTests = lib.optionals stdenv.isDarwin [
-    # AssertionError: cannot seem to get an int[10] not completely cleared
-    # https://foss.heptapod.net/pypy/cffi/-/issues/556
-    "test_ffi_new_allocator_1"
+  nativeCheckInputs = [
+    pytestCheckHook
   ];
 
   meta = with lib; {
-    maintainers = with maintainers; [ domenkozar lnl7 ];
+    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;
-    description = "Foreign Function Interface for Python calling C code";
+    maintainers = teams.python.members;
   };
 }