diff options
author | Jonathan Ringer <jonringer117@gmail.com> | 2019-12-30 10:14:18 -0800 |
---|---|---|
committer | Jonathan Ringer <jonringer117@gmail.com> | 2019-12-30 10:14:18 -0800 |
commit | 446fec8c2dda7ab24783713f16092803b7b1e464 (patch) | |
tree | bda175eabb91dd480448aa3c24875de73640e8a4 | |
parent | 99de1a8ebb9df72642c259de63c4f0d2d1c770e7 (diff) | |
parent | 97da2d22fed6b55d331c565a5817e97d74063397 (diff) |
Merge branch 'master' of github.com:NixOS/nixpkgs into staging-next
45 files changed, 806 insertions, 180 deletions
diff --git a/nixos/modules/services/monitoring/sysstat.nix b/nixos/modules/services/monitoring/sysstat.nix index d668faa53cc3..ca2cff827232 100644 --- a/nixos/modules/services/monitoring/sysstat.nix +++ b/nixos/modules/services/monitoring/sysstat.nix @@ -5,15 +5,10 @@ let in { options = { services.sysstat = { - enable = mkOption { - type = types.bool; - default = false; - description = '' - Whether to enable sar system activity collection. - ''; - }; + enable = mkEnableOption "sar system activity collection"; collect-frequency = mkOption { + type = types.str; default = "*:00/10"; description = '' OnCalendar specification for sysstat-collect @@ -21,6 +16,7 @@ in { }; collect-args = mkOption { + type = types.str; default = "1 1"; description = '' Arguments to pass sa1 when collecting statistics @@ -33,13 +29,13 @@ in { systemd.services.sysstat = { description = "Resets System Activity Logs"; wantedBy = [ "multi-user.target" ]; - preStart = "test -d /var/log/sa || mkdir -p /var/log/sa"; serviceConfig = { User = "root"; RemainAfterExit = true; Type = "oneshot"; ExecStart = "${pkgs.sysstat}/lib/sa/sa1 --boot"; + LogsDirectory = "sa"; }; }; diff --git a/pkgs/development/libraries/libgpg-error/default.nix b/pkgs/development/libraries/libgpg-error/default.nix index 69c236d72209..c02bc7f0ed3e 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 a18edc0a6dff..e70980afac61 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 000000000000..9cc6d89ce50e --- /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 17abad630a53..8db472205434 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 000000000000..38fdf14164eb --- /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 000000000000..891e9f216ce8 --- /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 000000000000..1032485e9801 --- /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 000000000000..743600a0d3b0 --- /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 000000000000..e4129ed9bbf3 --- /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 6aec01ed7388..a420fc037bbe 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 a04e54c0d009..75edf5dc424c 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 43661343d744..000000000000 --- 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 1be03cd0d2a1..7e0ed8b9712d 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 000000000000..a276bd33b592 --- /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 000000000000..04a0592d7506 --- /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 + ]; |