From 69cea1f2de1727ab7b2db4b22ffc99654da4ebb3 Mon Sep 17 00:00:00 2001 From: Audrey Dutcher Date: Sun, 21 Jul 2024 18:04:19 -0700 Subject: [PATCH] python3Packages.cffi: fix tests on FreeBSD - mark an existing patch with its removal condition - disable a test, see comments. --- .../clang-pointer-substraction-warning.diff | 11 ----------- .../development/python-modules/cffi/default.nix | 17 +++++++---------- 2 files changed, 7 insertions(+), 21 deletions(-) delete mode 100644 pkgs/development/python-modules/cffi/clang-pointer-substraction-warning.diff diff --git a/pkgs/development/python-modules/cffi/clang-pointer-substraction-warning.diff b/pkgs/development/python-modules/cffi/clang-pointer-substraction-warning.diff deleted file mode 100644 index 75b2677e380e7..0000000000000 --- a/pkgs/development/python-modules/cffi/clang-pointer-substraction-warning.diff +++ /dev/null @@ -1,11 +0,0 @@ -diff -r c649a735cf82 testing/support.py ---- a/testing/support.py Thu Feb 23 05:42:01 2023 +0100 -+++ b/testing/support.py Sat May 20 21:46:56 2023 -0400 -@@ -112,6 +112,7 @@ - '-Wno-unreachable-code'] - # special things for clang - extra_compile_args.append('-Qunused-arguments') -+ extra_compile_args.append('-Wno-null-pointer-subtraction') - else: - # assume a standard gcc - extra_compile_args = ['-Werror', '-Wall', '-Wextra', '-Wconversion', diff --git a/pkgs/development/python-modules/cffi/default.nix b/pkgs/development/python-modules/cffi/default.nix index cd0e1c143a7f6..621b18ef87650 100644 --- a/pkgs/development/python-modules/cffi/default.nix +++ b/pkgs/development/python-modules/cffi/default.nix @@ -11,9 +11,6 @@ pycparser, }: -let - ccVersion = lib.getVersion stdenv.cc; -in if isPyPy then null else @@ -39,14 +36,9 @@ else # I believe that libffi already contains the code from Apple's fork that is # deemed safe to trust in cffi. # + # This patch can be removed for 25.05, since it is a workaround for x86_64-darwin <= 10.15. + # ./darwin-use-libffi-closures.diff - ] - ++ lib.optionals (stdenv.cc.isClang && (ccVersion == "boot" || lib.versionAtLeast ccVersion "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 (including the bootstrap tools clang on Darwin): - # - testing/cffi1/test_verify1.py::test_enum_usage - # - testing/cffi1/test_verify1.py::test_named_pointer_as_argument - ./clang-pointer-substraction-warning.diff ]; postPatch = lib.optionalString stdenv.hostPlatform.isDarwin '' @@ -57,6 +49,11 @@ else --replace '/usr/include/libffi' '${lib.getDev libffi}/include' ''; + disabledTests = lib.optionals stdenv.isFreeBSD [ + # https://github.com/python-cffi/cffi/pull/144 + "test_dlopen_handle" + ]; + nativeBuildInputs = [ pkg-config ]; build-system = [ setuptools ];