diff options
author | Alyssa Ross <hi@alyssa.is> | 2019-01-07 02:18:36 +0000 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2019-01-07 02:18:47 +0000 |
commit | 36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2 (patch) | |
tree | b3faaf573407b32aa645237a4d16b82778a39a92 /nixpkgs/pkgs/development/python-modules/cffi | |
parent | 4e31070265257dc67d120c27e0f75c2344fdfa9a (diff) | |
parent | abf060725d7614bd3b9f96764262dfbc2f9c2199 (diff) | |
download | nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar.gz nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar.bz2 nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar.lz nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar.xz nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar.zst nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.zip |
Add 'nixpkgs/' from commit 'abf060725d7614bd3b9f96764262dfbc2f9c2199'
git-subtree-dir: nixpkgs git-subtree-mainline: 4e31070265257dc67d120c27e0f75c2344fdfa9a git-subtree-split: abf060725d7614bd3b9f96764262dfbc2f9c2199
Diffstat (limited to 'nixpkgs/pkgs/development/python-modules/cffi')
-rw-r--r-- | nixpkgs/pkgs/development/python-modules/cffi/default.nix | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/python-modules/cffi/default.nix b/nixpkgs/pkgs/development/python-modules/cffi/default.nix new file mode 100644 index 000000000000..18826d46b860 --- /dev/null +++ b/nixpkgs/pkgs/development/python-modules/cffi/default.nix @@ -0,0 +1,45 @@ +{ stdenv, buildPythonPackage, isPyPy, fetchPypi, libffi, pycparser, pytest }: + +if isPyPy then null else buildPythonPackage rec { + pname = "cffi"; + version = "1.11.5"; + + src = fetchPypi { + inherit pname version; + sha256 = "e90f17980e6ab0f3c2f3730e56d1fe9bcba1891eeea58966e89d352492cc74f4"; + }; + + outputs = [ "out" "dev" ]; + + propagatedBuildInputs = [ libffi pycparser ]; + buildInputs = [ pytest ]; + + # On Darwin, the cffi tests want to hit libm a lot, and look for it in a global + # impure search path. It's obnoxious how much repetition there is, and how difficult + # it is to get it to search somewhere else (since we do actually have a libm symlink in libSystem) + prePatch = stdenv.lib.optionalString stdenv.isDarwin '' + substituteInPlace testing/cffi0/test_parsing.py \ + --replace 'lib_m = "m"' 'lib_m = "System"' \ + --replace '"libm" in name' '"libSystem" in name' + substituteInPlace testing/cffi0/test_unicode_literals.py --replace 'lib_m = "m"' 'lib_m = "System"' + substituteInPlace testing/cffi0/test_zdistutils.py --replace 'self.lib_m = "m"' 'self.lib_m = "System"' + substituteInPlace testing/cffi1/test_recompiler.py --replace 'lib_m = "m"' 'lib_m = "System"' + substituteInPlace testing/cffi0/test_function.py --replace "lib_m = 'm'" "lib_m = 'System'" + substituteInPlace testing/cffi0/test_verify.py --replace "lib_m = ['m']" "lib_m = ['System']" + ''; + + # The tests use -Werror but with python3.6 clang detects some unreachable code. + NIX_CFLAGS_COMPILE = stdenv.lib.optionals stdenv.cc.isClang [ "-Wno-unused-command-line-argument" "-Wno-unreachable-code" ]; + + doCheck = !stdenv.hostPlatform.isMusl; # TODO: Investigate + checkPhase = '' + py.test -k "not test_char_pointer_conversion" + ''; + + meta = with stdenv.lib; { + maintainers = with maintainers; [ domenkozar lnl7 ]; + homepage = https://cffi.readthedocs.org/; + license = with licenses; [ mit ]; + description = "Foreign Function Interface for Python calling C code"; + }; +} |