Merge branch 'master' of github.com:NixOS/nixpkgs into staging-next
This commit is contained in:
commit
446fec8c2d
@ -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";
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -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) ''
|
||||
|
@ -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 .
|
||||
|
17
pkgs/development/libraries/spdk/spdk-dpdk-meson.patch
Normal file
17
pkgs/development/libraries/spdk/spdk-dpdk-meson.patch
Normal file
@ -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
|
@ -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 = {
|
||||
src = fetchFromGitHub {
|
||||
owner = "Polyconseil";
|
||||
repo = pname;
|
||||
rev = "${pname}-${version}";
|
||||
sha256 = "1gpfsrc2vi6w33c9zsycd2qn589pr7a222rb41r85m915283zy48";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
pamqp
|
||||
];
|
||||
|
||||
checkInputs = [
|
||||
pytest
|
||||
asynctest
|
||||
pyrabbit2
|
||||
];
|
||||
|
||||
# tests assume rabbitmq server running
|
||||
doCheck = false;
|
||||
|
||||
meta = with lib; {
|
||||
homepage = https://github.com/polyconseil/aioamqp;
|
||||
description = "AMQP implementation using asyncio";
|
||||
license = lib.licenses.bsd3;
|
||||
license = licenses.bsd3;
|
||||
maintainers = [ maintainers.costrouc ];
|
||||
};
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "eef5c23a7fedee079d8326406f5c7a5725dfe36c359373da3499fffa16f79915";
|
||||
};
|
||||
|
||||
disabled = pythonOlder "3.3";
|
||||
}
|
||||
|
48
pkgs/development/python-modules/aiocontextvars/default.nix
Normal file
48
pkgs/development/python-modules/aiocontextvars/default.nix
Normal file
@ -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 ];
|
||||
};
|
||||
}
|
47
pkgs/development/python-modules/aiomysql/default.nix
Normal file
47
pkgs/development/python-modules/aiomysql/default.nix
Normal file
@ -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 ];
|
||||
};
|
||||
}
|
36
pkgs/development/python-modules/aiosqlite/default.nix
Normal file
36
pkgs/development/python-modules/aiosqlite/default.nix
Normal file
@ -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 ];
|
||||
};
|
||||
}
|
36
pkgs/development/python-modules/aiounittest/default.nix
Normal file
36
pkgs/development/python-modules/aiounittest/default.nix
Normal file
@ -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 ];
|
||||
};
|
||||
}
|
49
pkgs/development/python-modules/databases/default.nix
Normal file
49
pkgs/development/python-modules/databases/default.nix
Normal file
@ -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 ];
|
||||
};
|
||||
}
|
@ -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/";
|
||||
|
@ -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; {
|
||||
|
@ -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',
|
@ -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 ];
|
||||
};
|
||||
}
|
||||
|
28
pkgs/development/python-modules/hstspreload/default.nix
Normal file
28
pkgs/development/python-modules/hstspreload/default.nix
Normal file
@ -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 ];
|
||||
};
|
||||
}
|
68
pkgs/development/python-modules/httpx/default.nix
Normal file
68
pkgs/development/python-modules/httpx/default.nix
Normal file
@ -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 ];
|
||||
};
|
||||
}
|
@ -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";
|
||||
|
43
pkgs/development/python-modules/orm/default.nix
Normal file
43
pkgs/development/python-modules/orm/default.nix
Normal file
@ -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 ];
|
||||
};
|
||||
}
|
@ -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
|
||||
];
|
||||
|
||||
checkInputs = [
|
||||
pytest
|
||||
pytestcov
|
||||
];
|
||||
|
||||
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] = []
|
||||
|
||||
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"
|
||||
"""
|
||||
pytest
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
|
26
pkgs/development/python-modules/pyrabbit2/default.nix
Normal file
26
pkgs/development/python-modules/pyrabbit2/default.nix
Normal file
@ -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 ];
|
||||
};
|
||||
}
|
41
pkgs/development/python-modules/python-multipart/default.nix
Normal file
41
pkgs/development/python-modules/python-multipart/default.nix
Normal file
@ -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 ];
|
||||
};
|
||||
}
|
@ -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; {
|
||||
|
@ -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.";
|
||||
|
@ -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
|
||||
|
@ -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 ];
|
||||
|
44
pkgs/development/python-modules/typesystem/default.nix
Normal file
44
pkgs/development/python-modules/typesystem/default.nix
Normal file
@ -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 ];
|
||||
};
|
||||
}
|
@ -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 {
|
||||
|
@ -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 ];
|
||||
|
||||
|
@ -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.
|
||||
|
12
pkgs/development/tools/misc/texinfo/cross-tools-flags.patch
Normal file
12
pkgs/development/tools/misc/texinfo/cross-tools-flags.patch
Normal file
@ -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
|
@ -79,6 +79,7 @@ in buildFHSUserEnv rec {
|
||||
|
||||
# Not formally in runtime but needed by some games
|
||||
at-spi2-atk
|
||||
at-spi2-core # CrossCode
|
||||
gst_all_1.gstreamer
|
||||
gst_all_1.gst-plugins-ugly
|
||||
libdrm
|
||||
|
@ -300,7 +300,7 @@ in {
|
||||
ubootSheevaplug = buildUBoot {
|
||||
defconfig = "sheevaplug_defconfig";
|
||||
extraMeta.platforms = ["armv5tel-linux"];
|
||||
filesToInstall = ["u-boot.bin"];
|
||||
filesToInstall = ["u-boot.kwb"];
|
||||
};
|
||||
|
||||
ubootSopine = buildUBoot {
|
||||
|
@ -7,16 +7,15 @@
|
||||
, shared ? false }:
|
||||
|
||||
let
|
||||
kver = kernel.modDirVersion or null;
|
||||
mod = kernel != null;
|
||||
|
||||
in stdenv.mkDerivation rec {
|
||||
name = "dpdk-${version}" + lib.optionalString mod "-${kernel.version}";
|
||||
version = "19.08.2";
|
||||
version = "19.11";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://fast.dpdk.org/rel/dpdk-${version}.tar.xz";
|
||||
sha256 = "141bqqy4w6nzs9z70x7yv94a4gmxjfal46pxry9bwdh3zi1jwnyd";
|
||||
sha256 = "1aqjn6bm9miv3v2rbqi1rh1c19wa8nip9fvnqaqpnrs3i2b36wa6";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
@ -44,13 +43,23 @@ in stdenv.mkDerivation rec {
|
||||
|
||||
mesonFlags = [
|
||||
"-Denable_docs=true"
|
||||
"-Denable_kmods=${if kernel != null then "true" else "false"}"
|
||||
]
|
||||
++ lib.optionals (shared == false) [
|
||||
"-Ddefault_library=static"
|
||||
"-Denable_kmods=${if mod then "true" else "false"}"
|
||||
]
|
||||
++ lib.optional (!shared) "-Ddefault_library=static"
|
||||
++ lib.optional stdenv.isx86_64 "-Dmachine=nehalem"
|
||||
++ lib.optional (kernel != null) "-Dkernel_dir=${kernel.dev}/lib/modules/${kernel.modDirVersion}";
|
||||
++ lib.optional mod "-Dkernel_dir=${placeholder "kmod"}/lib/modules/${kernel.modDirVersion}";
|
||||
|
||||
# dpdk meson script does not support separate kernel source and installion
|
||||
# dirs (except via destdir), so we temporarily link the former into the latter.
|
||||
preConfigure = lib.optionalString mod ''
|
||||
mkdir -p $kmod/lib/modules/${kernel.modDirVersion}
|
||||
ln -sf ${kernel.dev}/lib/modules/${kernel.modDirVersion}/build \
|
||||
$kmod/lib/modules/${kernel.modDirVersion}
|
||||
'';
|
||||
|
||||
postBuild = lib.optionalString mod ''
|
||||
rm -f $kmod/lib/modules/${kernel.modDirVersion}/build
|
||||
'';
|
||||
|
||||
outputs = [ "out" ] ++ lib.optional mod "kmod";
|
||||
|
||||
|
@ -5,7 +5,7 @@
|
||||
version = "18.11.5";
|
||||
src = fetchurl {
|
||||
url = "https://fast.dpdk.org/rel/dpdk-${version}.tar.xz";
|
||||
sha256 = "0000000000000000000000000000000000000000000000000000";
|
||||
sha256 = "1n6nfaj7703l19jcw540lm8avni48hj9q1rq4mfp8b8gd4zjprj0";
|
||||
};
|
||||
});
|
||||
|
||||
@ -46,6 +46,8 @@ in stdenv.mkDerivation rec {
|
||||
# binaries will segfault otherwise
|
||||
dontStrip = true;
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Open Data Plane optimized for DPDK";
|
||||
homepage = https://www.opendataplane.org;
|
||||
|
17
pkgs/os-specific/linux/pktgen/configure.patch
Normal file
17
pkgs/os-specific/linux/pktgen/configure.patch
Normal file
@ -0,0 +1,17 @@
|
||||
1. librte_process_info does not exist.
|
||||
2. lua5.3 library is liblua.
|
||||
3. app/meson.build uses undeclared drivers_install_subdir.
|
||||
--- a/lib/common/meson.build
|
||||
+++ b/lib/common/meson.build
|
||||
@@ -34,1 +34,1 @@
|
||||
-libs = ['eal', 'kvargs', 'cmdline', 'process_info']
|
||||
+libs = ['eal', 'kvargs', 'cmdline']
|
||||
--- a/lib/lua/meson.build
|
||||
+++ b/lib/lua/meson.build
|
||||
@@ -31 +31 @@ endforeach
|
||||
-ext_deps += cc.find_library('lua5.3', required: true)
|
||||
+ext_deps += cc.find_library('lua', required: true)
|
||||
--- a/meson_options.txt
|
||||
+++ b/meson_options.txt
|
||||
@@ -0,0 +1,1 @@
|
||||
+option('drivers_install_subdir', type: 'string', value: '')
|
@ -1,41 +1,40 @@
|
||||
{ stdenv, lib, fetchurl, pkgconfig
|
||||
, dpdk, libpcap, lua5_3, numactl, utillinux
|
||||
{ stdenv, lib, fetchurl, meson, ninja, pkgconfig
|
||||
, dpdk, libbsd, libpcap, lua5_3, numactl, utillinux
|
||||
, gtk2, which, withGtk ? false
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "pktgen";
|
||||
version = "3.7.2";
|
||||
version = "19.12.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://dpdk.org/browse/apps/pktgen-dpdk/snapshot/${pname}-${version}.tar.xz";
|
||||
sha256 = "03k7h4j2lsrh6b7477hgn87ljrjh2673ncffx9v261bx1ns54y7w";
|
||||
sha256 = "1clfviz1qa4hysslcg6i29vsxwl9f6j1y7zf9wwx9br3yq08x956";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
nativeBuildInputs = [ meson ninja pkgconfig ];
|
||||
|
||||
buildInputs =
|
||||
[ dpdk libpcap lua5_3 numactl which ]
|
||||
[ dpdk libbsd libpcap lua5_3 numactl which ]
|
||||
++ stdenv.lib.optionals withGtk [gtk2];
|
||||
|
||||
RTE_SDK = "${dpdk}/share/dpdk";
|
||||
RTE_TARGET = "x86_64-native-linuxapp-gcc";
|
||||
RTE_SDK = dpdk;
|
||||
GUI = stdenv.lib.optionalString withGtk "true";
|
||||
|
||||
NIX_CFLAGS_COMPILE = [ "-msse3" ];
|
||||
|
||||
postPatch = let dpdkMajor = lib.versions.major dpdk.version; in ''
|
||||
patches = [ ./configure.patch ];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace lib/common/lscpu.h --replace /usr/bin/lscpu ${utillinux}/bin/lscpu
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
install -d $out/bin
|
||||
install -m 0755 app/${RTE_TARGET}/pktgen $out/bin
|
||||
install -m 0644 Pktgen.lua $out/bin
|
||||
postInstall = ''
|
||||
# meson installs unneeded files with conflicting generic names, such as
|
||||
# include/cli.h and lib/liblua.so.
|
||||
rm -rf $out/include $out/lib
|
||||
'';
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Traffic generator powered by DPDK";
|
||||
homepage = http://dpdk.org/;
|
||||
|
@ -9,13 +9,16 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "1lijl89l7hljx8xx70vrz9srd3h41v5gh4b0lvqnlv831yvyh5cd";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ autoreconfHook cmocka pkgconfig ];
|
||||
nativeBuildInputs = [ autoreconfHook pkgconfig ] ++ stdenv.lib.optional doCheck cmocka;
|
||||
buildInputs = [ acl libuuid lzo zlib zstd ];
|
||||
|
||||
configureFlags = [ "--enable-unit-tests" "--enable-tests" ];
|
||||
configureFlags = [
|
||||
(stdenv.lib.enableFeature doCheck "unit-tests")
|
||||
(stdenv.lib.enableFeature doCheck "tests")
|
||||
];
|
||||
enableParallelBuilding = true;
|
||||
|
||||
doCheck = true;
|
||||
doCheck = stdenv.hostPlatform == stdenv.buildPlatform;
|
||||
|
||||
meta = {
|
||||
description = "Tools for MTD filesystems";
|
||||
|
@ -2,16 +2,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "topgrade";
|
||||
version = "3.5.0";
|
||||
version = "3.6.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "r-darwish";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "15w1qi38dsx573nadqpvarxx63xla53w775fwkdds2iyspaljsg6";
|
||||
sha256 = "1pr8bwwxp8zvn89ldsb0qy5asx59kpd7dsp7sjmgnbj2ddizl05n";
|
||||
};
|
||||
|
||||
cargoSha256 = "0xhrgs2rpkgjzgsipq5rb3fmqwvxrl2wi0fly1xaa6p304k1710m";
|
||||
cargoSha256 = "1f5s8nxl450vpfhvshiwvm49q6ph79vb40qqiz0a2i6jdrzhphq3";
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Upgrade all the things";
|
||||
|
@ -57,7 +57,7 @@ common =
|
||||
propagatedBuildInputs = [ boehmgc ];
|
||||
|
||||
# Seems to be required when using std::atomic with 64-bit types
|
||||
NIX_LDFLAGS = lib.optionalString (stdenv.hostPlatform.system == "armv6l-linux") "-latomic";
|
||||
NIX_LDFLAGS = lib.optionalString (stdenv.hostPlatform.system == "armv5tel-linux" || stdenv.hostPlatform.system == "armv6l-linux") "-latomic";
|
||||
|
||||
preConfigure =
|
||||
# Copy libboost_context so we don't get all of Boost in our closure.
|
||||
|
@ -4,12 +4,12 @@ Updating the QEMU patches
|
||||
When updating to the latest American Fuzzy Lop, make sure to check for
|
||||
any new patches to qemu for binary fuzzing support:
|
||||
|
||||
https://github.com/mirrorer/afl/tree/master/qemu_mode
|
||||
https://github.com/google/AFL/tree/master/qemu_mode
|
||||
|
||||
Be sure to check the build script and make sure it's also using the
|
||||
right QEMU version and options in `qemu.nix`:
|
||||
|
||||
https://github.com/mirrorer/afl/blob/master/qemu_mode/build_qemu_support.sh
|
||||
https://github.com/google/AFL/blob/master/qemu_mode/build_qemu_support.sh
|
||||
|
||||
`afl-config.h`, `afl-types.h`, and `afl-qemu-cpu-inl.h` are part of
|
||||
the afl source code, and copied from `config.h`, `types.h` and
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ stdenv, fetchurl, callPackage, makeWrapper
|
||||
{ stdenv, fetchFromGitHub, callPackage, makeWrapper
|
||||
, clang, llvm, which, libcgroup
|
||||
}:
|
||||
|
||||
@ -9,11 +9,13 @@ let
|
||||
else throw "afl: no support for ${stdenv.hostPlatform.system}!";
|
||||
afl = stdenv.mkDerivation rec {
|
||||
pname = "afl";
|
||||
version = "2.52b";
|
||||
version = "2.56b";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://lcamtuf.coredump.cx/afl/releases/${pname}-${version}.tgz";
|
||||
sha256 = "0ig0ij4n1pwry5dw1hk4q88801jzzy2cric6y2gd6560j55lnqa3";
|
||||
src = fetchFromGitHub {
|
||||
owner = "google";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "1q1g59gkm48aa4cg9h70jx4i2gapmypgp5rzs156b2avd95vwkn1";
|
||||
};
|
||||
enableParallelBuilding = true;
|
||||
|
||||
|
@ -5,7 +5,7 @@ stdenv.mkDerivation {
|
||||
pname = "libdislocator";
|
||||
|
||||
src = afl.src;
|
||||
sourceRoot = "${afl.name}/libdislocator";
|
||||
sourceRoot = "${afl.src.name}/libdislocator";
|
||||
|
||||
makeFlags = [ "PREFIX=$(out)" ];
|
||||
|
||||
|
@ -1,28 +0,0 @@
|
||||
A modified version of qemu commit 75e5b70e6b5dcc4f2219992d7cffa462aa406af0
|
||||
diff --git a/configure b/configure
|
||||
index 9c8aa5a..99ccc17 100755
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -3855,7 +3855,7 @@ fi
|
||||
# check if memfd is supported
|
||||
memfd=no
|
||||
cat > $TMPC << EOF
|
||||
-#include <sys/memfd.h>
|
||||
+#include <sys/mman.h>
|
||||
|
||||
int main(void)
|
||||
{
|
||||
diff --git a/util/memfd.c b/util/memfd.c
|
||||
index 4571d1a..412e94a 100644
|
||||
--- a/util/memfd.c
|
||||
+++ b/util/memfd.c
|
||||
@@ -31,9 +31,7 @@
|
||||
|
||||
#include "qemu/memfd.h"
|
||||
|
||||
-#ifdef CONFIG_MEMFD
|
||||
-#include <sys/memfd.h>
|
||||
-#elif defined CONFIG_LINUX
|
||||
+#if defined CONFIG_LINUX && !defined CONFIG_MEMFD
|
||||
#include <sys/syscall.h>
|
||||
#include <asm/unistd.h>
|
@ -6,7 +6,6 @@ with stdenv.lib;
|
||||
|
||||
let
|
||||
qemuName = "qemu-2.10.0";
|
||||
aflName = afl.name;
|
||||
cpuTarget = if stdenv.hostPlatform.system == "x86_64-linux" then "x86_64-linux-user"
|
||||
else if stdenv.hostPlatform.system == "i686-linux" then "i386-linux-user"
|
||||
else throw "afl: no support for ${stdenv.hostPlatform.system}!";
|
||||
@ -25,12 +24,12 @@ stdenv.mkDerivation {
|
||||
sourceRoot = qemuName;
|
||||
|
||||
postUnpack = ''
|
||||
cp ${aflName}/types.h $sourceRoot/afl-types.h
|
||||
substitute ${aflName}/config.h $sourceRoot/afl-config.h \
|
||||
cp ${afl.src.name}/types.h $sourceRoot/afl-types.h
|
||||
substitute ${afl.src.name}/config.h $sourceRoot/afl-config.h \
|
||||
--replace "types.h" "afl-types.h"
|
||||
substitute ${aflName}/qemu_mode/patches/afl-qemu-cpu-inl.h $sourceRoot/afl-qemu-cpu-inl.h \
|
||||
substitute ${afl.src.name}/qemu_mode/patches/afl-qemu-cpu-inl.h $sourceRoot/afl-qemu-cpu-inl.h \
|
||||
--replace "../../config.h" "afl-config.h"
|
||||
substituteInPlace ${aflName}/qemu_mode/patches/cpu-exec.diff \
|
||||
substituteInPlace ${afl.src.name}/qemu_mode/patches/cpu-exec.diff \
|
||||
--replace "../patches/afl-qemu-cpu-inl.h" "afl-qemu-cpu-inl.h"
|
||||
'';
|
||||
|
||||
@ -46,12 +45,13 @@ stdenv.mkDerivation {
|
||||
|
||||
patches = [
|
||||
# patches extracted from afl source
|
||||
"../${aflName}/qemu_mode/patches/cpu-exec.diff"
|
||||
"../${aflName}/qemu_mode/patches/elfload.diff"
|
||||
"../${aflName}/qemu_mode/patches/syscall.diff"
|
||||
"../${afl.src.name}/qemu_mode/patches/cpu-exec.diff"
|
||||
"../${afl.src.name}/qemu_mode/patches/elfload.diff"
|
||||
"../${afl.src.name}/qemu_mode/patches/syscall.diff"
|
||||
"../${afl.src.name}/qemu_mode/patches/configure.diff"
|
||||
"../${afl.src.name}/qemu_mode/patches/memfd.diff"
|
||||
# nix-specific patches to make installation more well-behaved
|
||||
./qemu-patches/no-etc-install.patch
|
||||
./qemu-patches/qemu-2.10.0-glibc-2.27.patch
|
||||
];
|
||||
|
||||
configureFlags =
|
||||
|
@ -556,6 +556,8 @@ in {
|
||||
inherit (pkgs.llvmPackages) openmp libcxx libcxxabi;
|
||||
};
|
||||
|
||||
databases = callPackage ../development/python-modules/databases { };
|
||||
|
||||
datamodeldict = callPackage ../development/python-modules/datamodeldict { };
|
||||
|
||||
datasette = callPackage ../development/python-modules/datasette { };
|
||||
@ -1460,16 +1462,22 @@ in {
|
||||
|
||||
aiohttp-swagger = callPackage ../development/python-modules/aiohttp-swagger { };
|
||||
|
||||
aiomysql = callPackage ../development/python-modules/aiomysql { };
|
||||
|
||||
aioprocessing = callPackage ../development/python-modules/aioprocessing { };
|
||||
|
||||
aioresponses = callPackage ../development/python-modules/aioresponses { };
|
||||
|
||||
aiosqlite = callPackage ../development/python-modules/aiosqlite { };
|
||||
|
||||
aiorpcx = callPackage ../development/python-modules/aiorpcx { };
|
||||
|
||||
aiosmtpd = callPackage ../development/python-modules/aiosmtpd { };
|
||||
|
||||
aiounifi = callPackage ../development/python-modules/aiounifi { };
|
||||
|
||||
aiounittest = callPackage ../development/python-modules/aiounittest { };
|
||||
|
||||
aiozeroconf = callPackage ../development/python-modules/aiozeroconf { };
|
||||
|
||||
ajpy = callPackage ../development/python-modules/ajpy { };
|
||||
@ -2626,10 +2634,14 @@ in {
|
||||
|
||||
hsaudiotag3k = callPackage ../development/python-modules/hsaudiotag3k { };
|
||||
|
||||
hstspreload = callPackage ../development/python-modules/hstspreload { };
|
||||
|
||||
htmlmin = callPackage ../development/python-modules/htmlmin {};
|
||||
|
||||
httpauth = callPackage ../development/python-modules/httpauth { };
|
||||
|
||||
httpx = callPackage ../development/python-modules/httpx { };
|
||||
|
||||
idna-ssl = callPackage ../development/python-modules/idna-ssl { };
|
||||
|
||||
identify = callPackage ../development/python-modules/identify { };
|
||||
@ -4325,6 +4337,8 @@ in {
|
||||
|
||||
orderedset = callPackage ../development/python-modules/orderedset { };
|
||||
|
||||
python-multipart = callPackage ../development/python-modules/python-multipart { };
|
||||
|
||||
python-otr = callPackage ../development/python-modules/python-otr { };
|
||||
|
||||
plone-testing = callPackage ../development/python-modules/plone-testing { };
|
||||
@ -4373,6 +4387,8 @@ in {
|
||||
|
||||
fasteners = callPackage ../development/python-modules/fasteners { };
|
||||
|
||||
aiocontextvars = callPackage ../development/python-modules/aiocontextvars { };
|
||||
|
||||
aioeventlet = callPackage ../development/python-modules/aioeventlet { };
|
||||
|
||||
aiokafka = callPackage ../development/python-modules/aiokafka { };
|
||||
@ -4724,6 +4740,8 @@ in {
|
||||
|
||||
pyqrcode = callPackage ../development/python-modules/pyqrcode { };
|
||||
|
||||
pyrabbit2 = callPackage ../development/python-modules/pyrabbit2 { };
|
||||
|
||||
pyrr = callPackage ../development/python-modules/pyrr { };
|
||||
|
||||
pysha3 = callPackage ../development/python-modules/pysha3 { };
|
||||
@ -5125,6 +5143,8 @@ in {
|
||||
|
||||
typesentry = callPackage ../development/python-modules/typesentry { };
|
||||
|
||||
typesystem = callPackage ../development/python-modules/typesystem { };
|
||||
|
||||
s3transfer = callPackage ../development/python-modules/s3transfer { };
|
||||
|
||||
seqdiag = callPackage ../development/python-modules/seqdiag { };
|
||||
@ -6096,6 +6116,8 @@ in {
|
||||
|
||||
ofxtools = callPackage ../development/python-modules/ofxtools { };
|
||||
|
||||
orm = callPackage ../development/python-modules/orm { };
|
||||
|
||||
basemap = callPackage ../development/python-modules/basemap { };
|
||||
|
||||
dict2xml = callPackage ../development/python-modules/dict2xml { };
|
||||
|
Loading…
Reference in New Issue
Block a user