diff options
Diffstat (limited to 'pkgs/development')
29 files changed, 698 insertions, 95 deletions
diff --git a/pkgs/development/libraries/libgpg-error/default.nix b/pkgs/development/libraries/libgpg-error/default.nix index 69c236d7220..c02bc7f0ed3 100644 --- a/pkgs/development/libraries/libgpg-error/default.nix +++ b/pkgs/development/libraries/libgpg-error/default.nix @@ -39,6 +39,7 @@ in stdenv.mkDerivation (rec { sed '/BUILD_TIMESTAMP=/s/=.*/=1970-01-01T00:01+0000/' -i ./configure '' + lib.optionalString (stdenv.hostPlatform.isAarch32 && stdenv.buildPlatform != stdenv.hostPlatform) '' ln -s lock-obj-pub.arm-unknown-linux-gnueabi.h src/syscfg/lock-obj-pub.linux-gnueabihf.h + ln -s lock-obj-pub.arm-unknown-linux-gnueabi.h src/syscfg/lock-obj-pub.linux-gnueabi.h '' + lib.optionalString (stdenv.hostPlatform.isx86_64 && stdenv.hostPlatform.isMusl) '' ln -s lock-obj-pub.x86_64-pc-linux-musl.h src/syscfg/lock-obj-pub.linux-musl.h '' + lib.optionalString (stdenv.hostPlatform.isAarch32 && stdenv.hostPlatform.isMusl) '' diff --git a/pkgs/development/libraries/spdk/default.nix b/pkgs/development/libraries/spdk/default.nix index a18edc0a6df..e70980afac6 100644 --- a/pkgs/development/libraries/spdk/default.nix +++ b/pkgs/development/libraries/spdk/default.nix @@ -1,19 +1,21 @@ -{ stdenv, fetchFromGitHub, python, cunit, dpdk, libaio, libuuid, numactl, openssl }: +{ stdenv, fetchFromGitHub, python, cunit, dpdk, libaio, libbsd, libuuid, numactl, openssl }: stdenv.mkDerivation rec { pname = "spdk"; - version = "19.04"; + version = "19.10"; src = fetchFromGitHub { owner = "spdk"; repo = "spdk"; rev = "v${version}"; - sha256 = "10mzal1hspnh26ws5d7sc54gyjfzkf6amr0gkd7b368ng2a9z8s6"; + sha256 = "16v2vswn3rnnj7ak5w5rsak6r8f9b85gyhyll4ac1k4xpyj488hj"; }; + patches = [ ./spdk-dpdk-meson.patch ]; + nativeBuildInputs = [ python ]; - buildInputs = [ cunit dpdk libaio libuuid numactl openssl ]; + buildInputs = [ cunit dpdk libaio libbsd libuuid numactl openssl ]; postPatch = '' patchShebangs . diff --git a/pkgs/development/libraries/spdk/spdk-dpdk-meson.patch b/pkgs/development/libraries/spdk/spdk-dpdk-meson.patch new file mode 100644 index 00000000000..9cc6d89ce50 --- /dev/null +++ b/pkgs/development/libraries/spdk/spdk-dpdk-meson.patch @@ -0,0 +1,17 @@ +1. dpdk built with meson generates rte_build_config.h rather than rte_config.h. +2. dpdk configured with libbsd requires that dependents link with libbsd. + +--- a/lib/env_dpdk/env.mk ++++ b/lib/env_dpdk/env.mk +@@ -140,6 +140,9 @@ endif + +-ifneq (,$(wildcard $(DPDK_INC_DIR)/rte_config.h)) +-ifneq (,$(shell grep -e "define RTE_LIBRTE_VHOST_NUMA 1" -e "define RTE_EAL_NUMA_AWARE_HUGEPAGES 1" $(DPDK_INC_DIR)/rte_config.h)) ++ifneq (,$(wildcard $(DPDK_INC_DIR)/rte_build_config.h)) ++ifneq (,$(shell grep -e "define RTE_LIBRTE_VHOST_NUMA 1" -e "define RTE_EAL_NUMA_AWARE_HUGEPAGES 1" $(DPDK_INC_DIR)/rte_build_config.h)) + ENV_LINKER_ARGS += -lnuma + endif ++ifneq (,$(shell grep -e "define RTE_USE_LIBBSD 1" $(DPDK_INC_DIR)/rte_build_config.h)) ++ENV_LINKER_ARGS += -lbsd ++endif + endif diff --git a/pkgs/development/python-modules/aioamqp/default.nix b/pkgs/development/python-modules/aioamqp/default.nix index 17abad630a5..8db47220543 100644 --- a/pkgs/development/python-modules/aioamqp/default.nix +++ b/pkgs/development/python-modules/aioamqp/default.nix @@ -1,20 +1,42 @@ -{ lib, buildPythonPackage, fetchPypi, pythonOlder, +{ lib +, buildPythonPackage +, fetchFromGitHub +, pamqp +, pytest +, asynctest +, pyrabbit2 +, isPy27 }: buildPythonPackage rec { pname = "aioamqp"; version = "0.14.0"; + disabled = isPy27; - meta = { - homepage = https://github.com/polyconseil/aioamqp; - description = "AMQP implementation using asyncio"; - license = lib.licenses.bsd3; + src = fetchFromGitHub { + owner = "Polyconseil"; + repo = pname; + rev = "${pname}-${version}"; + sha256 = "1gpfsrc2vi6w33c9zsycd2qn589pr7a222rb41r85m915283zy48"; }; - src = fetchPypi { - inherit pname version; - sha256 = "eef5c23a7fedee079d8326406f5c7a5725dfe36c359373da3499fffa16f79915"; - }; + propagatedBuildInputs = [ + pamqp + ]; + + checkInputs = [ + pytest + asynctest + pyrabbit2 + ]; - disabled = pythonOlder "3.3"; + # tests assume rabbitmq server running + doCheck = false; + + meta = with lib; { + homepage = https://github.com/polyconseil/aioamqp; + description = "AMQP implementation using asyncio"; + license = licenses.bsd3; + maintainers = [ maintainers.costrouc ]; + }; } diff --git a/pkgs/development/python-modules/aiocontextvars/default.nix b/pkgs/development/python-modules/aiocontextvars/default.nix new file mode 100644 index 00000000000..38fdf14164e --- /dev/null +++ b/pkgs/development/python-modules/aiocontextvars/default.nix @@ -0,0 +1,48 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, pytestrunner +, pytest +, pytest-asyncio +, contextvars +, sqlalchemy +, isPy27 +, pythonOlder +}: + +buildPythonPackage rec { + pname = "aiocontextvars"; + version = "0.2.2"; + disabled = isPy27; + + src = fetchFromGitHub { + owner = "fantix"; + repo = pname; + rev = "v${version}"; + sha256 = "0a2gmrm9csiknc8n3si67sgzffkydplh9d7ga1k87ygk2aj22mmk"; + }; + + buildInputs = [ + pytestrunner + ]; + + checkInputs = [ + pytest + pytest-asyncio + ]; + + propagatedBuildInputs = [ + sqlalchemy + ] ++ lib.optionals (pythonOlder "3.7") [ contextvars ]; + + checkPhase = '' + pytest + ''; + + meta = with lib; { + description = "Asyncio support for PEP-567 contextvars backport"; + homepage = https://github.com/fantix/aiocontextvars; + license = licenses.bsd3; + maintainers = [ maintainers.costrouc ]; + }; +} diff --git a/pkgs/development/python-modules/aiomysql/default.nix b/pkgs/development/python-modules/aiomysql/default.nix new file mode 100644 index 00000000000..891e9f216ce --- /dev/null +++ b/pkgs/development/python-modules/aiomysql/default.nix @@ -0,0 +1,47 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, pymysql +, pytest +, isPy27 +}: + +buildPythonPackage rec { + pname = "aiomysql"; + version = "0.0.20"; + disabled = isPy27; + + src = fetchFromGitHub { + owner = "aio-libs"; + repo = pname; + rev = "v${version}"; + sha256 = "1mxih81zc2k64briirpp5wz4f72l8v05avfyfibaq9fr6lcbih9b"; + }; + + propagatedBuildInputs = [ + pymysql + ]; + + checkInputs = [ + pytest + ]; + + postPatch = '' + substituteInPlace setup.py \ + --replace "PyMySQL>=0.9,<=0.9.2" "PyMySQL" + ''; + + checkPhase = '' + pytest + ''; + + # tests require mysql database + doCheck = false; + + meta = with lib; { + description = "MySQL driver for asyncio"; + homepage = https://github.com/aio-libs/aiomysql; + license = licenses.mit; + maintainers = [ maintainers.costrouc ]; + }; +} diff --git a/pkgs/development/python-modules/aiosqlite/default.nix b/pkgs/development/python-modules/aiosqlite/default.nix new file mode 100644 index 00000000000..1032485e980 --- /dev/null +++ b/pkgs/development/python-modules/aiosqlite/default.nix @@ -0,0 +1,36 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, setuptools +, aiounittest +, isPy27 +, pytest +}: + +buildPythonPackage rec { + pname = "aiosqlite"; + version = "0.11.0"; + disabled = isPy27; + + src = fetchFromGitHub { + owner = "jreese"; + repo = pname; + rev = "v${version}"; + sha256 = "0pmkp4iy738yv2sl08kvhd0ma6wjqbmfnwid72gvg4zqsr1hnn0z"; + }; + + buildInputs = [ + setuptools + ]; + + checkInputs = [ + aiounittest + ]; + + meta = with lib; { + description = "Asyncio bridge to the standard sqlite3 module"; + homepage = https://github.com/jreese/aiosqlite; + license = licenses.mit; + maintainers = [ maintainers.costrouc ]; + }; +} diff --git a/pkgs/development/python-modules/aiounittest/default.nix b/pkgs/development/python-modules/aiounittest/default.nix new file mode 100644 index 00000000000..743600a0d3b --- /dev/null +++ b/pkgs/development/python-modules/aiounittest/default.nix @@ -0,0 +1,36 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, nose +, coverage +, isPy27 +}: + +buildPythonPackage rec { + pname = "aiounittest"; + version = "1.3.1"; + disabled = isPy27; + + src = fetchFromGitHub { + owner = "kwarunek"; + repo = pname; + rev = version; + sha256 = "0mlic2q49cb0vv62mixy4i4x8c91qb6jlji7khiamcxcg676nasl"; + }; + + checkInputs = [ + nose + coverage + ]; + + checkPhase = '' + nosetests + ''; + + meta = with lib; { + description = "Test asyncio code more easily"; + homepage = https://github.com/kwarunek/aiounittest; + license = licenses.mit; + maintainers = [ maintainers.costrouc ]; + }; +} diff --git a/pkgs/development/python-modules/databases/default.nix b/pkgs/development/python-modules/databases/default.nix new file mode 100644 index 00000000000..e4129ed9bbf --- /dev/null +++ b/pkgs/development/python-modules/databases/default.nix @@ -0,0 +1,49 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, sqlalchemy +, aiocontextvars +, isPy27 +, pytest +, asyncpg +, aiomysql +, aiosqlite +}: + +buildPythonPackage rec { + pname = "databases"; + version = "0.2.6"; + disabled = isPy27; + + src = fetchFromGitHub { + owner = "encode"; + repo = pname; + rev = version; + sha256 = "0cdb4vln4zdmqbbcj7711b81b2l64jg1miihqcg8gpi35v404h2q"; + }; + + propagatedBuildInputs = [ + sqlalchemy + aiocontextvars + ]; + + checkInputs = [ + pytest + asyncpg + aiomysql + aiosqlite + ]; + + # big chunk to tests depend on existing posgresql and mysql databases + # some tests are better than no tests + checkPhase = '' + pytest --ignore=tests/test_integration.py --ignore=tests/test_databases.py + ''; + + meta = with lib; { + description = "Async database support for Python"; + homepage = https://github.com/encode/databases; + license = licenses.bsd3; + maintainers = [ maintainers.costrouc ]; + }; +} diff --git a/pkgs/development/python-modules/diskcache/default.nix b/pkgs/development/python-modules/diskcache/default.nix index 6aec01ed738..a420fc037bb 100644 --- a/pkgs/development/python-modules/diskcache/default.nix +++ b/pkgs/development/python-modules/diskcache/default.nix @@ -1,22 +1,36 @@ { lib , buildPythonPackage -, fetchPypi -, tox +, fetchFromGitHub +, pytest +, pytestcov +, pytest_xdist +, pytest-django +, mock }: buildPythonPackage rec { pname = "diskcache"; version = "4.1.0"; - src = fetchPypi { - inherit pname version; - sha256 = "bcee5a59f9c264e2809e58d01be6569a3bbb1e36a1e0fb83f7ef9b2075f95ce0"; + src = fetchFromGitHub { + owner = "grantjenks"; + repo = "python-diskcache"; + rev = "v${version}"; + sha256 = "0xy2vpk4hixb4gg871d9sx9wxdz8pi0pmnfdwg4bf8jqfjg022w8"; }; checkInputs = [ - tox + pytest + pytestcov + pytest_xdist + pytest-django + mock ]; + checkPhase = '' + pytest + ''; + meta = with lib; { description = "Disk and file backed persistent cache"; homepage = "http://www.grantjenks.com/docs/diskcache/"; diff --git a/pkgs/development/python-modules/fastapi/default.nix b/pkgs/development/python-modules/fastapi/default.nix index a04e54c0d00..75edf5dc424 100644 --- a/pkgs/development/python-modules/fastapi/default.nix +++ b/pkgs/development/python-modules/fastapi/default.nix @@ -1,22 +1,28 @@ { lib , buildPythonPackage -, fetchPypi +, fetchFromGitHub , uvicorn , starlette , pydantic -, python , isPy3k -, which +, pytest +, pytestcov +, pyjwt +, passlib +, aiosqlite }: buildPythonPackage rec { pname = "fastapi"; version = "0.45.0"; + format = "flit"; disabled = !isPy3k; - src = fetchPypi { - inherit pname version; - sha256 = "44712863ca3899eb812a6869a2efe02d6be6ae972968c76a43d82ec472788f17"; + src = fetchFromGitHub { + owner = "tiangolo"; + repo = "fastapi"; + rev = version; + sha256 = "1qwh382ny6qa3zi64micdq4j7dc64zv4rfd8g91j0digd4rhs6i1"; }; propagatedBuildInputs = [ @@ -25,10 +31,24 @@ buildPythonPackage rec { pydantic ]; - patches = [ ./setup.py.patch ]; + checkInputs = [ + pytest + pytestcov + pyjwt + passlib + aiosqlite + ]; + + # starlette pinning kept in place due to 0.12.9 being a hard + # dependency luckily fastapi is currently the only dependent on + # starlette. Please remove pinning when possible + postPatch = '' + substituteInPlace pyproject.toml \ + --replace "pydantic >=0.32.2,<=0.32.2" "pydantic" + ''; checkPhase = '' - ${python.interpreter} -c "from fastapi import FastAPI; app = FastAPI()" + pytest --ignore=tests/test_default_response_class.py ''; meta = with lib; { diff --git a/pkgs/development/python-modules/fastapi/setup.py.patch b/pkgs/development/python-modules/fastapi/setup.py.patch deleted file mode 100644 index 43661343d74..00000000000 --- a/pkgs/development/python-modules/fastapi/setup.py.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/setup.py b/setup.py -index ccc3d2b..77ce446 100644 ---- a/setup.py -+++ b/setup.py -@@ -10,7 +10,7 @@ package_data = \ - {'': ['*']} - - install_requires = \ --['starlette >=0.11.1,<=0.12.0', 'pydantic >=0.30,<=0.30.0'] -+['starlette >=0.11.1', 'pydantic >=0.30'] - - extras_require = \ - {'all': ['requests', diff --git a/pkgs/development/python-modules/fsspec/default.nix b/pkgs/development/python-modules/fsspec/default.nix index 1be03cd0d2a..7e0ed8b9712 100644 --- a/pkgs/development/python-modules/fsspec/default.nix +++ b/pkgs/development/python-modules/fsspec/default.nix @@ -1,26 +1,34 @@ { lib , buildPythonPackage -, fetchPypi +, fetchFromGitHub , pythonOlder +, pytest }: buildPythonPackage rec { pname = "fsspec"; version = "0.6.2"; - disabled = pythonOlder "3.5"; - src = fetchPypi { - inherit pname version; - sha256 = "ffd7cd5ac32f36698097c3d78c2c433d4c12f7e4bce3a3a4036fd3491188046d"; + src = fetchFromGitHub { + owner = "intake"; + repo = "filesystem_spec"; + rev = version; + sha256 = "1y3d6xw14rcldz9779ir6mjaff4rk82ch6ahn4y9mya0qglpc31i"; }; - # no tests - doCheck = false; + checkInputs = [ + pytest + ]; + + checkPhase = '' + pytest + ''; meta = with lib; { - description = "A specification that python filesystems should adhere to."; - homepage = "https://github.com/intake/filesystem_spec"; + description = "A specification that python filesystems should adhere to"; + homepage = https://github.com/intake/filesystem_spec; license = licenses.bsd3; + maintainers = [ maintainers.costrouc ]; }; } diff --git a/pkgs/development/python-modules/hstspreload/default.nix b/pkgs/development/python-modules/hstspreload/default.nix new file mode 100644 index 00000000000..a276bd33b59 --- /dev/null +++ b/pkgs/development/python-modules/hstspreload/default.nix @@ -0,0 +1,28 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, isPy27 +}: + +buildPythonPackage rec { + pname = "hstspreload"; + version = "2019.12.25"; + disabled = isPy27; + + src = fetchFromGitHub { + owner = "sethmlarson"; + repo = pname; + rev = version; + sha256 = "1aa7jccwldxw3s0z668qqb0i0plsark1q3jvkmqkyp645w5bfilk"; + }; + + # tests require network connection + doCheck = false; + + meta = with lib; { + description = "Chromium HSTS Preload list as a Python package and updated daily"; + homepage = https://github.com/sethmlarson/hstspreload; + license = licenses.bsd3; + maintainers = [ maintainers.costrouc ]; + }; +} diff --git a/pkgs/development/python-modules/httpx/default.nix b/pkgs/development/python-modules/httpx/default.nix new file mode 100644 index 00000000000..04a0592d750 --- /dev/null +++ b/pkgs/development/python-modules/httpx/default.nix @@ -0,0 +1,68 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, certifi +, hstspreload +, chardet +, h11 +, h2 +, idna +, rfc3986 +, sniffio +, isPy27 +, pytest +, pytestcov +, trustme +, uvicorn +, trio +, brotli +}: + +buildPythonPackage rec { + pname = "httpx"; + version = "0.9.5"; + disabled = isPy27; + + src = fetchFromGitHub { + owner = "encode"; + repo = pname; + rev = version; + sha256 = "140z2j7b5hlcxvfb433hqv5b8irqa88hpq33lzr9m992djbhj2hb"; + }; + + propagatedBuildInputs = [ + certifi + hstspreload + chardet + h11 + h2 + idna + rfc3986 + sniffio + ]; + + checkInputs = [ + pytest + pytestcov + trustme + uvicorn + trio + brotli + ]; + + postPatch = '' + substituteInPlace setup.py \ + --replace "h11==0.8.*" "h11" + ''; + + checkPhase = '' + PYTHONPATH=.:$PYTHONPATH pytest + ''; + + meta = with lib; { + description = "The next generation HTTP client"; + homepage = https://github.com/encode/httpx; + license = licenses.bsd3; + maintainers = [ maintainers.costrouc ]; + }; +} diff --git a/pkgs/development/python-modules/imagecodecs-lite/default.nix b/pkgs/development/python-modules/imagecodecs-lite/default.nix index c7a6f59091b..861a0ed0db3 100644 --- a/pkgs/development/python-modules/imagecodecs-lite/default.nix +++ b/pkgs/development/python-modules/imagecodecs-lite/default.nix @@ -10,11 +10,24 @@ buildPythonPackage rec { src = fetchPypi { inherit pname version; - sha256 = "95d18aa13ceb1b18a6109433b42d054e13b9a295cba96c08ab719f864f589d68"; + sha256 = "0s4xb17qd7vimc46rafbjnibj4sf0lnv8cwl22k1h6zb7jhqmlcm"; }; - checkInputs = [ pytest ]; - propagatedBuildInputs = [ numpy cython ]; + nativeBuildInputs = [ + cython + ]; + + checkInputs = [ + pytest + ]; + + propagatedBuildInputs = [ + numpy + ]; + + checkPhase = '' + pytest + ''; meta = with lib; { description = "Block-oriented, in-memory buffer transformation, compression, and decompression functions"; diff --git a/pkgs/development/python-modules/orm/default.nix b/pkgs/development/python-modules/orm/default.nix new file mode 100644 index 00000000000..c2f6bc4fc57 --- /dev/null +++ b/pkgs/development/python-modules/orm/default.nix @@ -0,0 +1,43 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, databases +, typesystem +, aiosqlite +, pytest +, pytestcov +}: + +buildPythonPackage rec { + pname = "orm"; + version = "0.1.5"; + + src = fetchFromGitHub { + owner = "encode"; + repo = "orm"; + rev = version; + sha256 = "1g70cr0559iyqfzidwh6n2qq6d4dcnrr4sg0jkn1s4qzka828mj7"; + }; + + propagatedBuildInputs = [ + databases + typesystem + ]; + + checkInputs = [ + aiosqlite + pytest + pytestcov + ]; + + checkPhase = '' + PYTHONPATH=$PYTHONPATH:. pytest + ''; + + meta = with lib; { + description = "An async ORM"; + homepage = https://github.com/encode/orm; + license = licenses.bsd3; + maintainers = [ maintainers.costrouc ]; + }; +} diff --git a/pkgs/development/python-modules/pydantic/default.nix b/pkgs/development/python-modules/pydantic/default.nix index 23b6dd3432e..088c6636fdc 100644 --- a/pkgs/development/python-modules/pydantic/default.nix +++ b/pkgs/development/python-modules/pydantic/default.nix @@ -1,21 +1,25 @@ { lib , buildPythonPackage -, fetchPypi +, fetchFromGitHub , ujson , email_validator , typing-extensions , python , isPy3k +, pytest +, pytestcov }: buildPythonPackage rec { pname = "pydantic"; - version = "1.2"; + version = "1.3"; disabled = !isPy3k; - src = fetchPypi { - inherit pname version; - sha256 = "da10b034750addbd95a328654d20364c479f4e2e26e0f72933204d61cbc8fa78"; + src = fetchFromGitHub { + owner = "samuelcolvin"; + repo = pname; + rev = "v${version}"; + sha256 = "0s85nzlsyj97j54zsgv569hkzv617z0vqsifsxkkyiimgbvnx7g8"; }; propagatedBuildInputs = [ @@ -24,22 +28,13 @@ buildPythonPackage rec { typing-extensions ]; - checkPhase = '' - ${python.interpreter} -c """ -from datetime import datetime -from typing import List -from pydantic import BaseModel - -class User(BaseModel): - id: int - name = 'John Doe' - signup_ts: datetime = None - friends: List[int] = [] + checkInputs = [ + pytest + pytestcov + ]; -external_data = {'id': '123', 'signup_ts': '2017-06-01 12:22', 'friends': [1, '2', b'3']} -user = User(**external_data) -assert user.id is "123" -""" + checkPhase = '' + pytest ''; meta = with lib; { diff --git a/pkgs/development/python-modules/pyrabbit2/default.nix b/pkgs/development/python-modules/pyrabbit2/default.nix new file mode 100644 index 00000000000..36182e9986b --- /dev/null +++ b/pkgs/development/python-modules/pyrabbit2/default.nix @@ -0,0 +1,26 @@ +{ lib +, buildPythonPackage +, fetchPypi +, requests +}: + +buildPythonPackage rec { + pname = "pyrabbit2"; + version = "1.0.7"; + + src = fetchPypi { + inherit pname version; + sha256 = "d27160cb35c096f0072df57307233d01b117a451236e136604a8e51be6f106c0"; + }; + + propagatedBuildInputs = [ + requests + ]; + + meta = with lib; { + description = "A Pythonic interface to the RabbitMQ Management HTTP API"; + homepage = https://github.com/deslum/pyrabbit2; + license = licenses.mit; + maintainers = [ maintainers.costrouc ]; + }; +} diff --git a/pkgs/development/python-modules/python-multipart/default.nix b/pkgs/development/python-modules/python-multipart/default.nix new file mode 100644 index 00000000000..e3e75d88604 --- /dev/null +++ b/pkgs/development/python-modules/python-multipart/default.nix @@ -0,0 +1,41 @@ +{ lib +, buildPythonPackage +, fetchPypi +, pytest +, pytestcov +, mock +, pyyaml +, six +}: + +buildPythonPackage rec { + pname = "python-multipart"; + version = "0.0.5"; + + src = fetchPypi { + inherit pname version; + sha256 = "f7bb5f611fc600d15fa47b3974c8aa16e93724513b49b5f95c81e6624c83fa43"; + }; + + checkInputs = [ + pytest + pytestcov + mock + pyyaml + ]; + + propagatedBuildInputs = [ + six + ]; + + checkPhase = '' + pytest + ''; + + meta = with lib; { + description = "A streaming multipart parser for Python"; + homepage = https://github.com/andrew-d/python-multipart; + license = licenses.asl20; + maintainers = [ maintainers.costrouc ]; + }; +} diff --git a/pkgs/development/python-modules/starlette/default.nix b/pkgs/development/python-modules/starlette/default.nix index b0e99f796e7..a2170db1bd4 100644 --- a/pkgs/development/python-modules/starlette/default.nix +++ b/pkgs/development/python-modules/starlette/default.nix @@ -9,11 +9,13 @@ , pyyaml , requests , ujson +, python-multipart , pytest -, python , uvicorn , isPy27 , darwin +, databases +, aiosqlite }: buildPythonPackage rec { @@ -35,13 +37,17 @@ buildPythonPackage rec { requests ujson uvicorn + python-multipart + databases ] ++ stdenv.lib.optional stdenv.isDarwin [ darwin.apple_sdk.frameworks.ApplicationServices ]; + checkInputs = [ + pytest + aiosqlite + ]; + checkPhase = '' - ${python.interpreter} -c """ -from starlette.applications import Starlette -app = Starlette(debug=True) -""" + pytest --ignore=tests/test_graphql.py ''; meta = with lib; { diff --git a/pkgs/development/python-modules/tifffile/default.nix b/pkgs/development/python-modules/tifffile/default.nix index 1f0e89d03ac..fbf36b4ef97 100644 --- a/pkgs/development/python-modules/tifffile/default.nix +++ b/pkgs/development/python-modules/tifffile/default.nix @@ -1,7 +1,14 @@ -{ lib, fetchPypi, buildPythonPackage, isPy27, isPy3k -, numpy, enum34, futures, pathlib -, pytest +{ lib +, fetchPypi +, buildPythonPackage +, isPy27 +, isPy3k +, numpy , imagecodecs-lite +, enum34 +, futures +, pathlib +, pytest }: buildPythonPackage rec { @@ -18,14 +25,24 @@ buildPythonPackage rec { # Missing dependencies: imagecodecs, czifile, cmapfile, oiffile, lfdfiles # and test data missing from PyPI tarball doCheck = false; - checkInputs = [ pytest ]; + + checkInputs = [ + pytest + ]; + checkPhase = '' pytest ''; - propagatedBuildInputs = [ numpy ] - ++ lib.optionals isPy27 [ futures enum34 pathlib ] - ++ lib.optionals isPy3k [ imagecodecs-lite ]; + propagatedBuildInputs = [ + numpy + ] ++ lib.optionals isPy3k [ + imagecodecs-lite + ] ++ lib.optionals isPy27 [ + futures + enum34 + pathlib + ]; meta = with lib; { description = "Read and write image data from and to TIFF files."; diff --git a/pkgs/development/python-modules/toggl-cli/default.nix b/pkgs/development/python-modules/toggl-cli/default.nix index 2c43ebf2c7e..6834876d8f8 100644 --- a/pkgs/development/python-modules/toggl-cli/default.nix +++ b/pkgs/development/python-modules/toggl-cli/default.nix @@ -1,5 +1,6 @@ { stdenv, buildPythonPackage, fetchPypi, twine, pbr, click, click-completion, validate-email, -pendulum, ptable, requests, inquirer, pythonOlder, pytest, pytestcov, pytest-mock, faker, factory_boy }: +pendulum, ptable, requests, inquirer, pythonOlder, pytest, pytestcov, pytest-mock, faker, factory_boy, +setuptools }: buildPythonPackage rec { @@ -16,6 +17,7 @@ buildPythonPackage rec { postPatch = '' substituteInPlace requirements.txt \ + --replace "pendulum==2.0.4" "pendulum>=2.0.4" \ --replace "click-completion==0.5.0" "click-completion>=0.5.0" \ --replace "pbr==5.1.2" "pbr>=5.1.2" \ --replace "inquirer==2.5.1" "inquirer>=2.5.1" @@ -37,6 +39,7 @@ buildPythonPackage rec { ''; propagatedBuildInputs = [ + setuptools click click-completion validate-email diff --git a/pkgs/development/python-modules/trezor/default.nix b/pkgs/development/python-modules/trezor/default.nix index cdf29cb565d..2d40ad971db 100644 --- a/pkgs/development/python-modules/trezor/default.nix +++ b/pkgs/development/python-modules/trezor/default.nix @@ -16,13 +16,13 @@ buildPythonPackage rec { pname = "trezor"; - version = "0.11.5"; + version = "0.11.6"; disabled = !isPy3k; src = fetchPypi { inherit pname version; - sha256 = "cd8aafd70a281daa644c4a3fb021ffac20b7a88e86226ecc8bb3e78e1734a184"; + sha256 = "1i73j812i0dgjw9n106pipc6qksd9cgs59d0as0b4j5iyl0087hh"; }; propagatedBuildInputs = [ typing-extensions protobuf hidapi ecdsa mnemonic requests pyblake2 click construct libusb1 rlp shamir-mnemonic trezor-udev-rules ]; diff --git a/pkgs/development/python-modules/typesystem/default.nix b/pkgs/development/python-modules/typesystem/default.nix new file mode 100644 index 00000000000..8a66d6cbcc9 --- /dev/null +++ b/pkgs/development/python-modules/typesystem/default.nix @@ -0,0 +1,44 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, isPy27 +, pytest +, pytestcov +, jinja2 +, pyyaml +}: + +buildPythonPackage rec { + pname = "typesystem"; + version = "0.2.4"; + disabled = isPy27; + + src = fetchFromGitHub { + owner = "encode"; + repo = pname; + rev = version; + sha256 = "1k0jwcky17zwaz2vx4x2zbsnp270g4mgn7kx5bpl8jgx76qmsnba"; + }; + + propagatedBuildInputs = [ + jinja2 + pyyaml + ]; + + checkInputs = [ + pytest + pytestcov + ]; + + # for some reason jinja2 not picking up forms directory (1% of tests) + checkPhase = '' + pytest --ignore=tests/test_forms.py + ''; + + meta = with lib; { + description = "A type system library for Python"; + homepage = https://github.com/encode/typesystem; + license = licenses.bsd3; + maintainers = [ maintainers.costrouc ]; + }; +} diff --git a/pkgs/development/tools/build-managers/meson/default.nix b/pkgs/development/tools/build-managers/meson/default.nix index 49d7287087f..e4d4994a781 100644 --- a/pkgs/development/tools/build-managers/meson/default.nix +++ b/pkgs/development/tools/build-managers/meson/default.nix @@ -10,11 +10,12 @@ let # See https://mesonbuild.com/Reference-tables.html#cpu-families cpuFamilies = { - aarch64 = "aarch64"; - armv6l = "arm"; - armv7l = "arm"; - i686 = "x86"; - x86_64 = "x86_64"; + aarch64 = "aarch64"; + armv5tel = "arm"; + armv6l = "arm"; + armv7l = "arm"; + i686 = "x86"; + x86_64 = "x86_64"; }; in python3Packages.buildPythonApplication rec { diff --git a/pkgs/development/tools/misc/openocd/default.nix b/pkgs/development/tools/misc/openocd/default.nix index eea27b3e51f..854da880118 100644 --- a/pkgs/development/tools/misc/openocd/default.nix +++ b/pkgs/development/tools/misc/openocd/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, fetchurl, libftdi1, libusb1, pkgconfig, hidapi }: +{ stdenv, lib, fetchurl, fetchpatch, libftdi1, libusb1, pkgconfig, hidapi }: stdenv.mkDerivation rec { pname = "openocd"; @@ -9,6 +9,15 @@ stdenv.mkDerivation rec { sha256 = "1bhn2c85rdz4gf23358kg050xlzh7yxbbwmqp24c0akmh3bff4kk"; }; + patches = [ + # Fix FTDI channel configuration for SheevaPlug + # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=837989 + (fetchpatch { + url = "https://salsa.debian.org/electronics-team/openocd/raw/9a94335daa332a37a51920f87afbad4d36fad2d5/debian/patches/fix-sheeva.patch"; + sha256 = "01x021fagwvgxdpzk7psap7ryqiya4m4mi4nqr27asbmb3q46g5r"; + }) + ]; + nativeBuildInputs = [ pkgconfig ]; buildInputs = [ libftdi1 libusb1 hidapi ]; diff --git a/pkgs/development/tools/misc/texinfo/common.nix b/pkgs/development/tools/misc/texinfo/common.nix index 7741f2d4ffb..40dafe27da2 100644 --- a/pkgs/development/tools/misc/texinfo/common.nix +++ b/pkgs/development/tools/misc/texinfo/common.nix @@ -6,6 +6,10 @@ , interactive ? false, ncurses, procps }: +let + crossBuildTools = interactive && stdenv.hostPlatform != stdenv.buildPlatform; +in + with stdenv.lib; stdenv.mkDerivation { @@ -17,7 +21,13 @@ stdenv.mkDerivation { inherit sha256; }; - patches = optional (version == "6.5") ./perl.patch; + patches = optional (version == "6.5") ./perl.patch + ++ optional crossBuildTools ./cross-tools-flags.patch; + + # ncurses is required to build `makedoc' + # this feature is introduced by the ./cross-tools-flags.patch + NATIVE_TOOLS_CFLAGS = if crossBuildTools then "-I${getDev buildPackages.ncurses}/include" else null; + NATIVE_TOOLS_LDFLAGS = if crossBuildTools then "-L${getLib buildPackages.ncurses}/lib" else null; # We need a native compiler to build perl XS extensions # when cross-compiling. diff --git a/pkgs/development/tools/misc/texinfo/cross-tools-flags.patch b/pkgs/development/tools/misc/texinfo/cross-tools-flags.patch new file mode 100644 index 00000000000..f0e4230d7ec --- /dev/null +++ b/pkgs/development/tools/misc/texinfo/cross-tools-flags.patch @@ -0,0 +1,12 @@ +diff -ur texinfo-6.5/configure texinfo-6.5-patched/configure +--- texinfo-6.5/configure 2017-09-13 03:50:18.000000000 +0900 ++++ texinfo-6.5-patched/configure 2019-12-28 17:39:06.692818866 +0900 +@@ -23281,7 +23281,7 @@ + # env -i gives this build host configure a clean environment; + # consequently, we have to re-initialize $PATH. + env -i CC="$BUILD_CC" AR="$BUILD_AR" RANLIB="$BUILD_RANLIB" \ +- PATH="$PATH" \ ++ PATH="$PATH" CFLAGS="$NATIVE_TOOLS_CFLAGS" LDFLAGS="$NATIVE_TOOLS_LDFLAGS" \ + tools_only=1 \ + ${confdir}/configure --build=${build} --host=${build} \ + --disable-rpath --disable-nls |