Merge remote-tracking branch 'upstream/staging-next' into staging

This commit is contained in:
John Ericson 2021-05-06 15:48:25 -04:00
commit a3e54cb582
34 changed files with 616 additions and 292 deletions

View file

@ -219,16 +219,17 @@ rec {
/* Like the above, but aims to support cross compilation. It's still ugly, but /* Like the above, but aims to support cross compilation. It's still ugly, but
hopefully it helps a little bit. */ hopefully it helps a little bit. */
makeScopeWithSplicing = splicePackages: newScope: otherSplices: keep: f: makeScopeWithSplicing = splicePackages: newScope: otherSplices: keep: extra: f:
let let
spliced = splicePackages { spliced0 = splicePackages {
pkgsBuildBuild = otherSplices.selfBuildBuild; pkgsBuildBuild = otherSplices.selfBuildBuild;
pkgsBuildHost = otherSplices.selfBuildHost; pkgsBuildHost = otherSplices.selfBuildHost;
pkgsBuildTarget = otherSplices.selfBuildTarget; pkgsBuildTarget = otherSplices.selfBuildTarget;
pkgsHostHost = otherSplices.selfHostHost; pkgsHostHost = otherSplices.selfHostHost;
pkgsHostTarget = self; # Not `otherSplices.selfHostTarget`; pkgsHostTarget = self; # Not `otherSplices.selfHostTarget`;
pkgsTargetTarget = otherSplices.selfTargetTarget; pkgsTargetTarget = otherSplices.selfTargetTarget;
} // keep self; };
spliced = extra spliced0 // spliced0 // keep self;
self = f self // { self = f self // {
newScope = scope: newScope (spliced // scope); newScope = scope: newScope (spliced // scope);
callPackage = newScope spliced; # == self.newScope {}; callPackage = newScope spliced; # == self.newScope {};
@ -239,6 +240,7 @@ rec {
newScope newScope
otherSplices otherSplices
keep keep
extra
(lib.fixedPoints.extends g f); (lib.fixedPoints.extends g f);
packages = f; packages = f;
}; };

View file

@ -298,7 +298,7 @@ in {
ProtectKernelModules = true; ProtectKernelModules = true;
ProtectKernelTunables = true; ProtectKernelTunables = true;
ProtectProc = "invisible"; ProtectProc = "invisible";
ProcSubset = "pid"; ProcSubset = "all";
ProtectSystem = "strict"; ProtectSystem = "strict";
RemoveIPC = true; RemoveIPC = true;
ReadWritePaths = let ReadWritePaths = let
@ -308,9 +308,10 @@ in {
allowPaths = if isList value then value else singleton value; allowPaths = if isList value then value else singleton value;
in [ "${cfg.configDir}" ] ++ allowPaths; in [ "${cfg.configDir}" ] ++ allowPaths;
RestrictAddressFamilies = [ RestrictAddressFamilies = [
"AF_UNIX"
"AF_INET" "AF_INET"
"AF_INET6" "AF_INET6"
"AF_NETLINK"
"AF_UNIX"
] ++ optionals (useComponent "bluetooth_tracker" || useComponent "bluetooth_le_tracker") [ ] ++ optionals (useComponent "bluetooth_tracker" || useComponent "bluetooth_le_tracker") [
"AF_BLUETOOTH" "AF_BLUETOOTH"
]; ];

View file

@ -149,8 +149,9 @@ in {
description = "Real time performance monitoring"; description = "Real time performance monitoring";
after = [ "network.target" ]; after = [ "network.target" ];
wantedBy = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ];
path = (with pkgs; [ curl gawk which ]) ++ lib.optional cfg.python.enable path = (with pkgs; [ curl gawk iproute2 which ])
(pkgs.python3.withPackages cfg.python.extraPackages); ++ lib.optional cfg.python.enable (pkgs.python3.withPackages cfg.python.extraPackages)
++ lib.optional config.virtualisation.libvirtd.enable (config.virtualisation.libvirtd.package);
environment = { environment = {
PYTHONPATH = "${cfg.package}/libexec/netdata/python.d/python_modules"; PYTHONPATH = "${cfg.package}/libexec/netdata/python.d/python_modules";
} // lib.optionalAttrs (!cfg.enableAnalyticsReporting) { } // lib.optionalAttrs (!cfg.enableAnalyticsReporting) {
@ -182,6 +183,9 @@ in {
ConfigurationDirectory = "netdata"; ConfigurationDirectory = "netdata";
ConfigurationDirectoryMode = "0755"; ConfigurationDirectoryMode = "0755";
# Capabilities # Capabilities
AmbientCapabilities = [
"CAP_SETUID" # is required for cgroups and cgroups-network plugins
];
CapabilityBoundingSet = [ CapabilityBoundingSet = [
"CAP_DAC_OVERRIDE" # is required for freeipmi and slabinfo plugins "CAP_DAC_OVERRIDE" # is required for freeipmi and slabinfo plugins
"CAP_DAC_READ_SEARCH" # is required for apps plugin "CAP_DAC_READ_SEARCH" # is required for apps plugin
@ -191,6 +195,8 @@ in {
"CAP_SYS_PTRACE" # is required for apps plugin "CAP_SYS_PTRACE" # is required for apps plugin
"CAP_SYS_RESOURCE" # is required for ebpf plugin "CAP_SYS_RESOURCE" # is required for ebpf plugin
"CAP_NET_RAW" # is required for fping app "CAP_NET_RAW" # is required for fping app
"CAP_SYS_CHROOT" # is required for cgroups plugin
"CAP_SETUID" # is required for cgroups and cgroups-network plugins
]; ];
# Sandboxing # Sandboxing
ProtectSystem = "full"; ProtectSystem = "full";

View file

@ -1,5 +1,5 @@
{ lib, mkDerivation, fetchFromGitHub, fetchpatch, boost, cmake, chromaprint, gettext, gst_all_1, liblastfm { lib, mkDerivation, fetchFromGitHub, fetchpatch, boost, cmake, chromaprint, gettext, gst_all_1, liblastfm
, qtbase, qtx11extras , qtbase, qtx11extras, qttools
, taglib, fftw, glew, qjson, sqlite, libgpod, libplist, usbmuxd, libmtp , taglib, fftw, glew, qjson, sqlite, libgpod, libplist, usbmuxd, libmtp
, libpulseaudio, gvfs, libcdio, libechonest, libspotify, pcre, projectm, protobuf , libpulseaudio, gvfs, libcdio, libechonest, libspotify, pcre, projectm, protobuf
, qca2, pkg-config, sparsehash, config, makeWrapper, gst_plugins }: , qca2, pkg-config, sparsehash, config, makeWrapper, gst_plugins }:
@ -45,6 +45,7 @@ let
qjson qjson
qtbase qtbase
qtx11extras qtx11extras
qttools
sqlite sqlite
taglib taglib
] ]

View file

@ -7,16 +7,16 @@
}: }:
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "polkadot"; pname = "polkadot";
version = "0.8.30"; version = "0.9.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "paritytech"; owner = "paritytech";
repo = "polkadot"; repo = "polkadot";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-9GCk1gqlQJhuoiKRi7J1qcJlZjlq2ObGicp5tGGDhrY="; sha256 = "sha256-Y52VFTjRFyC38ZNt6NMtVRA2pn6Y4B/NC4EEuDvIFQQ=";
}; };
cargoSha256 = "sha256-pWqbcargCEkisdGnj08VQdRqjocR7zZhWukhYjfZDqI="; cargoSha256 = "sha256-0GrExza6uPF/eFWrXlM4MpCD7TMk2y+uEc5SDj/UQkg=";
nativeBuildInputs = [ clang ]; nativeBuildInputs = [ clang ];
@ -36,7 +36,7 @@ rustPlatform.buildRustPackage rec {
description = "Polkadot Node Implementation"; description = "Polkadot Node Implementation";
homepage = "https://polkadot.network"; homepage = "https://polkadot.network";
license = licenses.gpl3Only; license = licenses.gpl3Only;
maintainers = with maintainers; [ akru andresilva asymmetric RaghavSood ]; maintainers = with maintainers; [ akru andresilva asymmetric FlorianFranzen RaghavSood ];
platforms = platforms.linux; platforms = platforms.linux;
}; };
} }

View file

@ -2,28 +2,29 @@
buildGoModule rec { buildGoModule rec {
pname = "turbo-geth"; pname = "turbo-geth";
version = "2021.02.01"; version = "2021.04.05";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "ledgerwatch"; owner = "ledgerwatch";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-9z0Hogu/VgGxvgQMKIImv+qyTqTmR40JS4NNIOk5EZI="; sha256 = "sha256-RTPNJASNFyZ6tDJj0WOqALyxRsOLJzPy0qA1c2sSxys=";
}; };
vendorSha256 = "sha256-Ho68+SzYELQN4DE57LNSXeHIu43zAOb7HK/jx7PFdXk="; vendorSha256 = "01c7lb6n00ws60dfybir0z5dbn6h68p5s4hbq0ga2g7drf3l3y0p";
runVend = true; runVend = true;
subPackages = [ subPackages = [
"cmd/tg" "cmd/tg"
"cmd/restapi" "cmd/evm"
"cmd/rpcdaemon" "cmd/rpcdaemon"
"cmd/rlpdump"
]; ];
meta = with lib; { meta = with lib; {
homepage = "https://github.com/ledgerwatch/turbo-geth/"; homepage = "https://github.com/ledgerwatch/turbo-geth/";
description = "Ethereum node and geth fork focused on scalability and modularity"; description = "Ethereum node and geth fork focused on scalability and modularity";
license = with licenses; [ lgpl3 gpl3 ]; license = with licenses; [ lgpl3Plus gpl3Plus ];
maintainers = with maintainers; [ xwvvvvwx ]; maintainers = with maintainers; [ xwvvvvwx ];
}; };
} }

View file

@ -4,7 +4,7 @@
, flac, lame, libmad, libmpcdec, libvorbis , flac, lame, libmad, libmpcdec, libvorbis
, libsamplerate, libsndfile, taglib , libsamplerate, libsndfile, taglib
, cdparanoia, cdrdao, cdrtools, dvdplusrwtools, libburn, libdvdcss, libdvdread, vcdimager , cdparanoia, cdrdao, cdrtools, dvdplusrwtools, libburn, libdvdcss, libdvdread, vcdimager
, ffmpeg_3, libmusicbrainz3, normalize, sox, transcode, kinit , ffmpeg, libmusicbrainz3, normalize, sox, transcode, kinit
}: }:
mkDerivation { mkDerivation {
@ -25,7 +25,7 @@ mkDerivation {
# cd/dvd # cd/dvd
cdparanoia libdvdcss libdvdread cdparanoia libdvdcss libdvdread
# others # others
ffmpeg_3 libmusicbrainz3 shared-mime-info ffmpeg libmusicbrainz3 shared-mime-info
]; ];
propagatedUserEnvPkgs = [ (lib.getBin kinit) ]; propagatedUserEnvPkgs = [ (lib.getBin kinit) ];
postFixup = postFixup =

View file

@ -18,9 +18,9 @@
} }
}, },
"beta": { "beta": {
"version": "91.0.4472.27", "version": "91.0.4472.38",
"sha256": "09mhrzfza9a2zfsnxskbdbk9cwxnswgprhnyv3pj0f215cva20sq", "sha256": "13kikqyxs7p25j7mxnr42614y92vmwsjqfd51dwdjh7wc2hb644a",
"sha256bin64": "1iwjf993pmhm9r92h4hskfxqc9fhky3aabvmdsqys44251j3hvwg", "sha256bin64": "1kjawp7q6r1r50h69jwrw84gqrya1jc8bq6x7bdplxlzgvy9qs3z",
"deps": { "deps": {
"gn": { "gn": {
"version": "2021-04-06", "version": "2021-04-06",

View file

@ -1,6 +1,6 @@
{ lib, buildGoPackage, fetchFromGitHub, ... }: { lib, buildGoPackage, fetchFromGitHub, ... }:
let version = "0.18.0"; in let version = "0.19.0"; in
buildGoPackage { buildGoPackage {
pname = "kubecfg"; pname = "kubecfg";
@ -10,7 +10,7 @@ buildGoPackage {
owner = "bitnami"; owner = "bitnami";
repo = "kubecfg"; repo = "kubecfg";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-TJbuJZDj9ZwEaN8LV/M30+5+IgN8EZCTTBBDB0OgdEE="; sha256 = "sha256-G3yLpo/6hv6t3i6b/KMgoZqltyGDddg/SsNPF8hNeUg=";
}; };
goPackagePath = "github.com/bitnami/kubecfg"; goPackagePath = "github.com/bitnami/kubecfg";

View file

@ -3,36 +3,26 @@
, fetchFromGitHub , fetchFromGitHub
, pkg-config , pkg-config
, openssl , openssl
, libredirect
, writeText
}: }:
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "nym"; pname = "nym";
version = "0.8.1"; version = "0.10.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "nymtech"; owner = "nymtech";
repo = "nym"; repo = "nym";
rev = "v${version}"; rev = "v${version}";
sha256 = "0wzk9qzjyax73lfjbbag412vw1fgk2wmhhry5hdlvdbkim42m5bn"; sha256 = "sha256-7x+B+6T0cnEOjXevA5n1k/SY1Q2tcu0bbZ9gIGoljw0=";
}; };
# fix outdated Cargo.lock cargoSha256 = "0a7yja0ihjc66fqlshlaxpnpcpdy7h7gbv6120w2cr605qdnqvkx";
cargoPatches = [ (writeText "fix-nym-cargo-lock.patch" ''
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -1826 +1826 @@
-version = "0.8.0"
+version = "0.8.1"
'') ];
cargoSha256 = "0zr5nzmglmvn6xfqgvipbzy8nw5cl3nf7zjmghkqdwi6zj9p9272";
nativeBuildInputs = [ pkg-config ]; nativeBuildInputs = [ pkg-config ];
buildInputs = [ openssl ]; buildInputs = [ openssl ];
patches = [ ./ignore-networking-tests.patch ];
checkType = "debug"; checkType = "debug";
passthru.updateScript = ./update.sh; passthru.updateScript = ./update.sh;

View file

@ -0,0 +1,123 @@
diff --git a/service-providers/network-requester/src/allowed_hosts.rs b/service-providers/network-requester/src/allowed_hosts.rs
index 3026b4ee..fd156682 100644
--- a/service-providers/network-requester/src/allowed_hosts.rs
+++ b/service-providers/network-requester/src/allowed_hosts.rs
@@ -306,6 +306,7 @@ mod tests {
}
#[test]
+ #[ignore]
fn leaves_a_com_alone() {
let filter = setup();
assert_eq!(
@@ -315,6 +316,7 @@ mod tests {
}
#[test]
+ #[ignore]
fn trims_subdomains_from_com() {
let filter = setup();
assert_eq!(
@@ -324,6 +326,7 @@ mod tests {
}
#[test]
+ #[ignore]
fn works_for_non_com_roots() {
let filter = setup();
assert_eq!(
@@ -333,6 +336,7 @@ mod tests {
}
#[test]
+ #[ignore]
fn works_for_non_com_roots_with_subdomains() {
let filter = setup();
assert_eq!(
@@ -342,12 +346,14 @@ mod tests {
}
#[test]
+ #[ignore]
fn returns_none_on_garbage() {
let filter = setup();
assert_eq!(None, filter.get_domain_root("::/&&%@"));
}
#[test]
+ #[ignore]
fn returns_none_on_nonsense_domains() {
let filter = setup();
assert_eq!(None, filter.get_domain_root("flappappa"));
@@ -368,6 +374,7 @@ mod tests {
}
#[test]
+ #[ignore]
fn are_not_allowed() {
let host = "unknown.com";
let mut filter = setup();
@@ -375,6 +382,7 @@ mod tests {
}
#[test]
+ #[ignore]
fn get_appended_once_to_the_unknown_hosts_list() {
let host = "unknown.com";
let mut filter = setup();
@@ -405,6 +413,7 @@ mod tests {
}
#[test]
+ #[ignore]
fn are_allowed() {
let host = "nymtech.net";
@@ -413,6 +422,7 @@ mod tests {
}
#[test]
+ #[ignore]
fn are_allowed_for_subdomains() {
let host = "foomp.nymtech.net";
@@ -421,6 +431,7 @@ mod tests {
}
#[test]
+ #[ignore]
fn are_not_appended_to_file() {
let mut filter = setup(&["nymtech.net"]);
@@ -436,6 +447,7 @@ mod tests {
}
#[test]
+ #[ignore]
fn are_allowed_for_ipv4_addresses() {
let address_good = "1.1.1.1";
let address_good_port = "1.1.1.1:1234";
@@ -448,6 +460,7 @@ mod tests {
}
#[test]
+ #[ignore]
fn are_allowed_for_ipv6_addresses() {
let ip_v6_full = "2001:0db8:85a3:0000:0000:8a2e:0370:7334";
let ip_v6_full_rendered = "2001:0db8:85a3::8a2e:0370:7334";
@@ -477,6 +490,7 @@ mod tests {
}
#[test]
+ #[ignore]
fn are_allowed_for_ipv4_address_ranges() {
let range1 = "127.0.0.1/32";
let range2 = "1.2.3.4/24";
@@ -495,6 +509,7 @@ mod tests {
}
#[test]
+ #[ignore]
fn are_allowed_for_ipv6_address_ranges() {
let range = "2620:0:2d0:200::7/32";

View file

@ -69,6 +69,7 @@ with pkgs;
recursivePthLoader recursivePthLoader
; ;
}; };
extra = _: {};
optionalExtensions = cond: as: if cond then as else []; optionalExtensions = cond: as: if cond then as else [];
python2Extension = import ../../../top-level/python2-packages.nix; python2Extension = import ../../../top-level/python2-packages.nix;
extensions = lib.composeManyExtensions ((optionalExtensions (!self.isPy3k) [python2Extension]) ++ [ overrides ]); extensions = lib.composeManyExtensions ((optionalExtensions (!self.isPy3k) [python2Extension]) ++ [ overrides ]);
@ -77,6 +78,7 @@ with pkgs;
pkgs.newScope pkgs.newScope
otherSplices otherSplices
keep keep
extra
(lib.extends extensions pythonPackagesFun)) (lib.extends extensions pythonPackagesFun))
{ {
overrides = packageOverrides; overrides = packageOverrides;

View file

@ -13,7 +13,7 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "PyRMVtransport"; pname = "PyRMVtransport";
version = "0.3.1"; version = "0.3.2";
format = "pyproject"; format = "pyproject";
disabled = pythonOlder "3.6"; disabled = pythonOlder "3.6";
@ -21,7 +21,7 @@ buildPythonPackage rec {
owner = "cgtobi"; owner = "cgtobi";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "1savzndg8l7rrc5dgzgsrdz9hnnjfv6qs5drznqmdw4f2rq84ypa"; sha256 = "0m74m3dhxmbv10hsvs7cpshzs3pg66va5lyq94i5j1nxrl9i7spb";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
@ -42,11 +42,6 @@ buildPythonPackage rec {
pytest-httpx pytest-httpx
]; ];
disabledTests = [
# fails with pytest-httpx>=0.12.0
"test__query_rmv_api_fail"
];
meta = with lib; { meta = with lib; {
homepage = "https://github.com/cgtobi/PyRMVtransport"; homepage = "https://github.com/cgtobi/PyRMVtransport";
description = "Get transport information from opendata.rmv.de"; description = "Get transport information from opendata.rmv.de";

View file

@ -0,0 +1,37 @@
{ lib
, buildPythonPackage
, fetchPypi
, makefun
, setuptools-scm
}:
buildPythonPackage rec {
pname = "decopatch";
version = "1.4.8";
src = fetchPypi {
inherit pname version;
sha256 = "0i6i811s2j1z0cl6y177dwsbfxib8dvb5c2jpgklvc2xy4ahhsy6";
};
nativeBuildInputs = [ setuptools-scm ];
propagatedBuildInputs = [ makefun ];
postPatch = ''
substituteInPlace setup.py --replace "'pytest-runner', " ""
'';
# Tests would introduce multiple cirucular dependencies
# Affected: makefun, pytest-cases
doCheck = false;
pythonImportsCheck = [ "decopatch" ];
meta = with lib; {
description = "Python helper for decorators";
homepage = "https://github.com/smarie/python-decopatch";
license = licenses.bsd3;
maintainers = with maintainers; [ fab ];
};
}

View file

@ -1,38 +1,67 @@
{ lib { lib
, buildPythonPackage
, fetchPypi
, requests
, jinja2
, pillow
, rasterio
, shapely
, ndjson
, backoff , backoff
, google-api-core
, backports-datetime-fromisoformat , backports-datetime-fromisoformat
, buildPythonPackage
, dataclasses
, fetchFromGitHub
, google-api-core
, jinja2
, ndjson
, pillow
, pydantic
, pytest-cases
, pytestCheckHook
, pythonOlder
, rasterio
, requests
, shapely
}: }:
buildPythonPackage rec { buildPythonPackage rec {
pname = "labelbox"; pname = "labelbox";
version = "2.5.1"; version = "2.5.4";
disabled = pythonOlder "3.6";
src = fetchPypi { src = fetchFromGitHub {
inherit pname version; owner = "Labelbox";
sha256 = "7f2cbc5d4869d8acde865ad519fc1cc85338247cd7cf534334f988a040679219"; repo = "labelbox-python";
rev = "v${version}";
sha256 = "0182klvm8bjcm8fkl9w8ypj12s026czgid8ldl6jjvmzhxpmss68";
}; };
propagatedBuildInputs = [ propagatedBuildInputs = [
jinja2 requests pillow rasterio shapely ndjson backoff backoff
google-api-core backports-datetime-fromisoformat backports-datetime-fromisoformat
dataclasses
google-api-core
jinja2
ndjson
pillow
pydantic
rasterio
requests
shapely
];
postPatch = ''
substituteInPlace setup.py --replace "pydantic==1.8" "pydantic>=1.8"
'';
checkInputs = [
pytest-cases
pytestCheckHook
];
disabledTestPaths = [
# Requires network access
"tests/integration"
]; ];
# Test cases are not running on pypi or GitHub
doCheck = false;
pythonImportsCheck = [ "labelbox" ]; pythonImportsCheck = [ "labelbox" ];
meta = with lib; { meta = with lib; {
homepage = "https://github.com/Labelbox/Labelbox";
description = "Platform API for LabelBox"; description = "Platform API for LabelBox";
homepage = "https://github.com/Labelbox/labelbox-python";
license = licenses.asl20; license = licenses.asl20;
maintainers = with maintainers; [ rakesh4g ]; maintainers = with maintainers; [ rakesh4g ];
}; };

View file

@ -0,0 +1,51 @@
{ lib
, buildPythonPackage
, fetchPypi
, makefun
, decopatch
, pythonOlder
, pytest
, setuptools-scm
}:
buildPythonPackage rec {
pname = "pytest-cases";
version = "3.4.6";
disabled = pythonOlder "3.6";
src = fetchPypi {
inherit pname version;
sha256 = "17w4s6622i97q81g15zamqm536ib00grgdfk2f4kk9bw2k7sdlq6";
};
nativeBuildInputs = [
setuptools-scm
];
buildInputs = [
pytest
];
propagatedBuildInputs = [
decopatch
makefun
];
postPatch = ''
substituteInPlace setup.cfg --replace "pytest-runner" ""
'';
# Tests have dependencies (pytest-harvest, pytest-steps) which
# are not available in Nixpkgs. Most of the packages (decopatch,
# makefun, pytest-*) have circular dependecies.
doCheck = false;
pythonImportsCheck = [ "pytest_cases" ];
meta = with lib; {
description = "Separate test code from test cases in pytest";
homepage = "https://github.com/smarie/python-pytest-cases";
license = licenses.bsd3;
maintainers = with maintainers; [ fab ];
};
}

View file

@ -9,7 +9,7 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "zwave-js-server-python"; pname = "zwave-js-server-python";
version = "0.23.1"; version = "0.24.0";
disabled = pythonOlder "3.8"; disabled = pythonOlder "3.8";
@ -17,7 +17,7 @@ buildPythonPackage rec {
owner = "home-assistant-libs"; owner = "home-assistant-libs";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "0kmmhn357k22ana0ysd8jlz1fyfaqlc8k74ryaik0rrw7nmn1n11"; sha256 = "sha256-LHAlGWoASDiFwvy59uXl5GH5pPmMuthoo4ZrFegkCIU=";
}; };
propagatedBuildInputs = [ propagatedBuildInputs = [

View file

@ -26,7 +26,8 @@ in lib.makeScopeWithSplicing
splicePackages splicePackages
newScope newScope
otherSplices otherSplices
{} (_: {})
(_: {})
(self: let (self: let
inherit (self) mkDerivation; inherit (self) mkDerivation;
in { in {

View file

@ -1,9 +1,6 @@
{ lib, stdenv, fetchurl, fetchzip, pkgs }: { lib, stdenv, stdenvNoCC, fetchurl, fetchzip, pkgs }:
let let
macosPackages_11_0_1 = import ./macos-11.0.1.nix { inherit applePackage'; };
developerToolsPackages_11_3_1 = import ./developer-tools-11.3.1.nix { inherit applePackage'; };
# This attrset can in theory be computed automatically, but for that to work nicely we need # This attrset can in theory be computed automatically, but for that to work nicely we need
# import-from-derivation to work properly. Currently it's rather ugly when we try to bootstrap # import-from-derivation to work properly. Currently it's rather ugly when we try to bootstrap
# a stdenv out of something like this. With some care we can probably get rid of this, but for # a stdenv out of something like this. With some care we can probably get rid of this, but for
@ -190,17 +187,6 @@ let
}) // (attrs.meta or {}); }) // (attrs.meta or {});
}); });
applePackage' = namePath: version: sdkName: sha256: let
pname = builtins.head (lib.splitString "/" namePath);
appleDerivation = appleDerivation' pname version sdkName sha256;
callPackage = pkgs.newScope (packages // pkgs.darwin // { inherit appleDerivation; });
in callPackage (./. + "/${namePath}");
applePackage = namePath: sdkName: sha256: let
pname = builtins.head (lib.splitString "/" namePath);
version = versions.${sdkName}.${pname};
in applePackage' namePath version sdkName sha256;
IOKitSpecs = { IOKitSpecs = {
IOAudioFamily = fetchApple "osx-10.10.5" "0ggq7za3iq8g02j16rj67prqhrw828jsw3ah3bxq8a1cvr55aqnq"; IOAudioFamily = fetchApple "osx-10.10.5" "0ggq7za3iq8g02j16rj67prqhrw828jsw3ah3bxq8a1cvr55aqnq";
IOFireWireFamily = fetchApple "osx-10.10.5" "059qa1m668kwvchl90cqcx35b31zaqdg61zi11y1imn5s389y2g1"; IOFireWireFamily = fetchApple "osx-10.10.5" "059qa1m668kwvchl90cqcx35b31zaqdg61zi11y1imn5s389y2g1";
@ -225,11 +211,35 @@ let
IOKitSrcs = lib.mapAttrs (name: value: if lib.isFunction value then value name else value) IOKitSpecs; IOKitSrcs = lib.mapAttrs (name: value: if lib.isFunction value then value name else value) IOKitSpecs;
in
# darwin package set
self:
let
macosPackages_11_0_1 = import ./macos-11.0.1.nix { inherit applePackage'; };
developerToolsPackages_11_3_1 = import ./developer-tools-11.3.1.nix { inherit applePackage'; };
applePackage' = namePath: version: sdkName: sha256:
let
pname = builtins.head (lib.splitString "/" namePath);
appleDerivation = appleDerivation' pname version sdkName sha256;
callPackage = self.newScope { inherit appleDerivation; };
in callPackage (./. + "/${namePath}");
applePackage = namePath: sdkName: sha256: let
pname = builtins.head (lib.splitString "/" namePath);
version = versions.${sdkName}.${pname};
in applePackage' namePath version sdkName sha256;
# Only used for bootstrapping. Its convenient because it was the last version to come with a real makefile. # Only used for bootstrapping. Its convenient because it was the last version to come with a real makefile.
adv_cmds-boot = applePackage "adv_cmds/boot.nix" "osx-10.5.8" "102ssayxbg9wb35mdmhswbnw0bg7js3pfd8fcbic83c5q3bqa6c6" {}; adv_cmds-boot = applePackage "adv_cmds/boot.nix" "osx-10.5.8" "102ssayxbg9wb35mdmhswbnw0bg7js3pfd8fcbic83c5q3bqa6c6" {};
# TODO: shorten this list, we should cut down to a minimum set of bootstrap or necessary packages here. in
stubPackages = {
developerToolsPackages_11_3_1 // macosPackages_11_0_1 // {
# TODO: shorten this list, we should cut down to a minimum set of bootstrap or necessary packages here.
inherit (adv_cmds-boot) ps locale; inherit (adv_cmds-boot) ps locale;
architecture = applePackage "architecture" "osx-10.11.6" "1pbpjcd7is69hn8y29i98ci0byik826if8gnp824ha92h90w0fq3" {}; architecture = applePackage "architecture" "osx-10.11.6" "1pbpjcd7is69hn8y29i98ci0byik826if8gnp824ha92h90w0fq3" {};
bsdmake = applePackage "bsdmake" "dev-tools-3.2.6" "11a9kkhz5bfgi1i8kpdkis78lhc6b5vxmhd598fcdgra1jw4iac2" {}; bsdmake = applePackage "bsdmake" "dev-tools-3.2.6" "11a9kkhz5bfgi1i8kpdkis78lhc6b5vxmhd598fcdgra1jw4iac2" {};
@ -290,7 +300,4 @@ let
# TODO(matthewbauer): # TODO(matthewbauer):
# To be removed, once I figure out how to build a newer Security version. # To be removed, once I figure out how to build a newer Security version.
Security = applePackage "Security/boot.nix" "osx-10.9.5" "1nv0dczf67dhk17hscx52izgdcyacgyy12ag0jh6nl5hmfzsn8yy" {}; Security = applePackage "Security/boot.nix" "osx-10.9.5" "1nv0dczf67dhk17hscx52izgdcyacgyy12ag0jh6nl5hmfzsn8yy" {};
}; }
packages = developerToolsPackages_11_3_1 // macosPackages_11_0_1 // stubPackages;
in packages

View file

@ -2,7 +2,7 @@
# Do not edit! # Do not edit!
{ {
version = "2021.4.6"; version = "2021.5.0";
components = { components = {
"abode" = ps: with ps; [ abodepy ]; "abode" = ps: with ps; [ abodepy ];
"accuweather" = ps: with ps; [ accuweather ]; "accuweather" = ps: with ps; [ accuweather ];
@ -40,7 +40,7 @@
"apcupsd" = ps: with ps; [ ]; # missing inputs: apcaccess "apcupsd" = ps: with ps; [ ]; # missing inputs: apcaccess
"api" = ps: with ps; [ aiohttp-cors ]; "api" = ps: with ps; [ aiohttp-cors ];
"apns" = ps: with ps; [ ]; # missing inputs: apns2 "apns" = ps: with ps; [ ]; # missing inputs: apns2
"apple_tv" = ps: with ps; [ aiohttp-cors netdisco pyatv zeroconf ]; "apple_tv" = ps: with ps; [ aiohttp-cors netdisco pyatv pyroute2 zeroconf ];
"apprise" = ps: with ps; [ apprise ]; "apprise" = ps: with ps; [ apprise ];
"aprs" = ps: with ps; [ geopy ]; # missing inputs: aprslib "aprs" = ps: with ps; [ geopy ]; # missing inputs: aprslib
"aqualogic" = ps: with ps; [ aqualogic ]; "aqualogic" = ps: with ps; [ aqualogic ];
@ -110,7 +110,7 @@
"calendar" = ps: with ps; [ aiohttp-cors ]; "calendar" = ps: with ps; [ aiohttp-cors ];
"camera" = ps: with ps; [ aiohttp-cors ]; "camera" = ps: with ps; [ aiohttp-cors ];
"canary" = ps: with ps; [ ha-ffmpeg ]; # missing inputs: py-canary "canary" = ps: with ps; [ ha-ffmpeg ]; # missing inputs: py-canary
"cast" = ps: with ps; [ aiohttp-cors hass-nabucasa mutagen plexapi plexauth plexwebsocket PyChromecast zeroconf ]; "cast" = ps: with ps; [ aiohttp-cors hass-nabucasa mutagen plexapi plexauth plexwebsocket PyChromecast pyroute2 zeroconf ];
"cert_expiry" = ps: with ps; [ ]; "cert_expiry" = ps: with ps; [ ];
"channels" = ps: with ps; [ pychannels ]; "channels" = ps: with ps; [ pychannels ];
"circuit" = ps: with ps; [ ]; # missing inputs: circuit-webhook "circuit" = ps: with ps; [ ]; # missing inputs: circuit-webhook
@ -133,6 +133,7 @@
"comed_hourly_pricing" = ps: with ps; [ ]; "comed_hourly_pricing" = ps: with ps; [ ];
"comfoconnect" = ps: with ps; [ pycomfoconnect ]; "comfoconnect" = ps: with ps; [ pycomfoconnect ];
"command_line" = ps: with ps; [ ]; "command_line" = ps: with ps; [ ];
"compensation" = ps: with ps; [ numpy ];
"concord232" = ps: with ps; [ ]; # missing inputs: concord232 "concord232" = ps: with ps; [ ]; # missing inputs: concord232
"config" = ps: with ps; [ aiohttp-cors ]; "config" = ps: with ps; [ aiohttp-cors ];
"configurator" = ps: with ps; [ ]; "configurator" = ps: with ps; [ ];
@ -155,28 +156,28 @@
"deconz" = ps: with ps; [ pydeconz ]; "deconz" = ps: with ps; [ pydeconz ];
"decora" = ps: with ps; [ bluepy ]; # missing inputs: decora "decora" = ps: with ps; [ bluepy ]; # missing inputs: decora
"decora_wifi" = ps: with ps; [ ]; # missing inputs: decora_wifi "decora_wifi" = ps: with ps; [ ]; # missing inputs: decora_wifi
"default_config" = ps: with ps; [ pynacl aiodiscover aiohttp-cors async-upnp-client defusedxml distro emoji hass-nabucasa netdisco pillow scapy sqlalchemy zeroconf ]; "default_config" = ps: with ps; [ pynacl aiodiscover aiohttp-cors async-upnp-client defusedxml distro emoji hass-nabucasa netdisco pillow pyroute2 scapy sqlalchemy zeroconf ];
"delijn" = ps: with ps; [ ]; # missing inputs: pydelijn "delijn" = ps: with ps; [ ]; # missing inputs: pydelijn
"deluge" = ps: with ps; [ deluge-client ]; "deluge" = ps: with ps; [ deluge-client ];
"demo" = ps: with ps; [ aiohttp-cors ]; "demo" = ps: with ps; [ aiohttp-cors ];
"denon" = ps: with ps; [ ]; "denon" = ps: with ps; [ ];
"denonavr" = ps: with ps; [ denonavr getmac ]; "denonavr" = ps: with ps; [ denonavr ];
"derivative" = ps: with ps; [ ]; "derivative" = ps: with ps; [ ];
"deutsche_bahn" = ps: with ps; [ schiene ]; "deutsche_bahn" = ps: with ps; [ schiene ];
"device_automation" = ps: with ps; [ ]; "device_automation" = ps: with ps; [ ];
"device_sun_light_trigger" = ps: with ps; [ aiohttp-cors pillow ]; "device_sun_light_trigger" = ps: with ps; [ aiohttp-cors pillow ];
"device_tracker" = ps: with ps; [ ]; "device_tracker" = ps: with ps; [ ];
"devolo_home_control" = ps: with ps; [ aiohttp-cors devolo-home-control-api zeroconf ]; "devolo_home_control" = ps: with ps; [ aiohttp-cors devolo-home-control-api pyroute2 zeroconf ];
"dexcom" = ps: with ps; [ pydexcom ]; "dexcom" = ps: with ps; [ pydexcom ];
"dhcp" = ps: with ps; [ aiodiscover scapy ]; "dhcp" = ps: with ps; [ aiodiscover scapy ];
"dht" = ps: with ps; [ ]; # missing inputs: Adafruit-DHT "dht" = ps: with ps; [ ]; # missing inputs: adafruit-circuitpython-dht
"dialogflow" = ps: with ps; [ aiohttp-cors ]; "dialogflow" = ps: with ps; [ aiohttp-cors ];
"digital_ocean" = ps: with ps; [ digital-ocean ]; "digital_ocean" = ps: with ps; [ digital-ocean ];
"digitalloggers" = ps: with ps; [ ]; # missing inputs: dlipower "digitalloggers" = ps: with ps; [ ]; # missing inputs: dlipower
"directv" = ps: with ps; [ ]; # missing inputs: directv "directv" = ps: with ps; [ ]; # missing inputs: directv
"discogs" = ps: with ps; [ discogs_client ]; "discogs" = ps: with ps; [ discogs_client ];
"discord" = ps: with ps; [ discordpy ]; "discord" = ps: with ps; [ discordpy ];
"discovery" = ps: with ps; [ aiohttp-cors netdisco zeroconf ]; "discovery" = ps: with ps; [ aiohttp-cors netdisco pyroute2 zeroconf ];
"dlib_face_detect" = ps: with ps; [ face_recognition ]; "dlib_face_detect" = ps: with ps; [ face_recognition ];
"dlib_face_identify" = ps: with ps; [ face_recognition ]; "dlib_face_identify" = ps: with ps; [ face_recognition ];
"dlink" = ps: with ps; [ ]; # missing inputs: pyW215 "dlink" = ps: with ps; [ ]; # missing inputs: pyW215
@ -196,7 +197,7 @@
"dwd_weather_warnings" = ps: with ps; [ dwdwfsapi ]; "dwd_weather_warnings" = ps: with ps; [ dwdwfsapi ];
"dweet" = ps: with ps; [ ]; # missing inputs: dweepy "dweet" = ps: with ps; [ ]; # missing inputs: dweepy
"dynalite" = ps: with ps; [ ]; # missing inputs: dynalite_devices "dynalite" = ps: with ps; [ ]; # missing inputs: dynalite_devices
"dyson" = ps: with ps; [ aiohttp-cors libpurecool zeroconf ]; "dyson" = ps: with ps; [ aiohttp-cors libpurecool pyroute2 zeroconf ];
"eafm" = ps: with ps; [ aioeafm ]; "eafm" = ps: with ps; [ aioeafm ];
"ebox" = ps: with ps; [ ]; # missing inputs: pyebox "ebox" = ps: with ps; [ ]; # missing inputs: pyebox
"ebusd" = ps: with ps; [ ]; # missing inputs: ebusdpy "ebusd" = ps: with ps; [ ]; # missing inputs: ebusdpy
@ -218,6 +219,7 @@
"emby" = ps: with ps; [ pyemby ]; "emby" = ps: with ps; [ pyemby ];
"emoncms" = ps: with ps; [ ]; "emoncms" = ps: with ps; [ ];
"emoncms_history" = ps: with ps; [ ]; "emoncms_history" = ps: with ps; [ ];
"emonitor" = ps: with ps; [ aioemonitor ];
"emulated_hue" = ps: with ps; [ aiohttp-cors ]; "emulated_hue" = ps: with ps; [ aiohttp-cors ];
"emulated_kasa" = ps: with ps; [ ]; # missing inputs: sense_energy "emulated_kasa" = ps: with ps; [ ]; # missing inputs: sense_energy
"emulated_roku" = ps: with ps; [ ]; # missing inputs: emulated_roku "emulated_roku" = ps: with ps; [ ]; # missing inputs: emulated_roku
@ -232,13 +234,13 @@
"epson" = ps: with ps; [ ]; # missing inputs: epson-projector "epson" = ps: with ps; [ ]; # missing inputs: epson-projector
"epsonworkforce" = ps: with ps; [ ]; # missing inputs: epsonprinter "epsonworkforce" = ps: with ps; [ ]; # missing inputs: epsonprinter
"eq3btsmart" = ps: with ps; [ construct ]; # missing inputs: python-eq3bt "eq3btsmart" = ps: with ps; [ construct ]; # missing inputs: python-eq3bt
"esphome" = ps: with ps; [ aioesphomeapi aiohttp-cors zeroconf ]; "esphome" = ps: with ps; [ aioesphomeapi aiohttp-cors pyroute2 zeroconf ];
"essent" = ps: with ps; [ ]; # missing inputs: PyEssent "essent" = ps: with ps; [ ]; # missing inputs: PyEssent
"etherscan" = ps: with ps; [ ]; # missing inputs: python-etherscan-api "etherscan" = ps: with ps; [ ]; # missing inputs: python-etherscan-api
"eufy" = ps: with ps; [ ]; # missing inputs: lakeside "eufy" = ps: with ps; [ ]; # missing inputs: lakeside
"everlights" = ps: with ps; [ pyeverlights ]; "everlights" = ps: with ps; [ pyeverlights ];
"evohome" = ps: with ps; [ evohome-async ]; "evohome" = ps: with ps; [ evohome-async ];
"ezviz" = ps: with ps; [ pyezviz ]; "ezviz" = ps: with ps; [ ha-ffmpeg pyezviz ];
"faa_delays" = ps: with ps; [ faadelays ]; "faa_delays" = ps: with ps; [ faadelays ];
"facebook" = ps: with ps; [ ]; "facebook" = ps: with ps; [ ];
"facebox" = ps: with ps; [ ]; "facebox" = ps: with ps; [ ];
@ -280,7 +282,7 @@
"free_mobile" = ps: with ps; [ ]; # missing inputs: freesms "free_mobile" = ps: with ps; [ ]; # missing inputs: freesms
"freebox" = ps: with ps; [ freebox-api ]; "freebox" = ps: with ps; [ freebox-api ];
"freedns" = ps: with ps; [ ]; "freedns" = ps: with ps; [ ];
"fritz" = ps: with ps; [ fritzconnection ]; "fritz" = ps: with ps; [ fritzconnection xmltodict ];
"fritzbox" = ps: with ps; [ pyfritzhome ]; "fritzbox" = ps: with ps; [ pyfritzhome ];
"fritzbox_callmonitor" = ps: with ps; [ fritzconnection ]; "fritzbox_callmonitor" = ps: with ps; [ fritzconnection ];
"fritzbox_netmonitor" = ps: with ps; [ fritzconnection ]; "fritzbox_netmonitor" = ps: with ps; [ fritzconnection ];
@ -292,7 +294,6 @@
"garmin_connect" = ps: with ps; [ ]; # missing inputs: garminconnect "garmin_connect" = ps: with ps; [ ]; # missing inputs: garminconnect
"gc100" = ps: with ps; [ ]; # missing inputs: python-gc100 "gc100" = ps: with ps; [ ]; # missing inputs: python-gc100
"gdacs" = ps: with ps; [ ]; # missing inputs: aio_georss_gdacs "gdacs" = ps: with ps; [ ]; # missing inputs: aio_georss_gdacs
"geizhals" = ps: with ps; [ ]; # missing inputs: geizhals
"generic" = ps: with ps; [ ]; "generic" = ps: with ps; [ ];
"generic_thermostat" = ps: with ps; [ ]; "generic_thermostat" = ps: with ps; [ ];
"geniushub" = ps: with ps; [ ]; # missing inputs: geniushub-client "geniushub" = ps: with ps; [ ]; # missing inputs: geniushub-client
@ -354,8 +355,8 @@
"home_connect" = ps: with ps; [ aiohttp-cors homeconnect ]; "home_connect" = ps: with ps; [ aiohttp-cors homeconnect ];
"home_plus_control" = ps: with ps; [ aiohttp-cors homepluscontrol ]; "home_plus_control" = ps: with ps; [ aiohttp-cors homepluscontrol ];
"homeassistant" = ps: with ps; [ ]; "homeassistant" = ps: with ps; [ ];
"homekit" = ps: with ps; [ HAP-python pyqrcode pyturbojpeg aiohttp-cors base36 fnvhash ha-ffmpeg zeroconf ]; "homekit" = ps: with ps; [ HAP-python pyqrcode pyturbojpeg aiohttp-cors base36 fnvhash ha-ffmpeg pyroute2 zeroconf ];
"homekit_controller" = ps: with ps; [ aiohomekit aiohttp-cors zeroconf ]; "homekit_controller" = ps: with ps; [ aiohomekit aiohttp-cors pyroute2 zeroconf ];
"homematic" = ps: with ps; [ pyhomematic ]; "homematic" = ps: with ps; [ pyhomematic ];
"homematicip_cloud" = ps: with ps; [ homematicip ]; "homematicip_cloud" = ps: with ps; [ homematicip ];
"homeworks" = ps: with ps; [ ]; # missing inputs: pyhomeworks "homeworks" = ps: with ps; [ ]; # missing inputs: pyhomeworks
@ -374,6 +375,7 @@
"hvv_departures" = ps: with ps; [ ]; # missing inputs: pygti "hvv_departures" = ps: with ps; [ ]; # missing inputs: pygti
"hydrawise" = ps: with ps; [ hydrawiser ]; "hydrawise" = ps: with ps; [ hydrawiser ];
"hyperion" = ps: with ps; [ hyperion-py ]; "hyperion" = ps: with ps; [ hyperion-py ];
"ialarm" = ps: with ps; [ ]; # missing inputs: pyialarm
"iammeter" = ps: with ps; [ ]; # missing inputs: iammeter "iammeter" = ps: with ps; [ ]; # missing inputs: iammeter
"iaqualink" = ps: with ps; [ iaqualink ]; "iaqualink" = ps: with ps; [ iaqualink ];
"icloud" = ps: with ps; [ pyicloud ]; "icloud" = ps: with ps; [ pyicloud ];
@ -398,7 +400,7 @@
"intent" = ps: with ps; [ aiohttp-cors ]; "intent" = ps: with ps; [ aiohttp-cors ];
"intent_script" = ps: with ps; [ ]; "intent_script" = ps: with ps; [ ];
"intesishome" = ps: with ps; [ pyintesishome ]; "intesishome" = ps: with ps; [ pyintesishome ];
"ios" = ps: with ps; [ aiohttp-cors zeroconf ]; "ios" = ps: with ps; [ aiohttp-cors pyroute2 zeroconf ];
"iota" = ps: with ps; [ ]; # missing inputs: pyota "iota" = ps: with ps; [ ]; # missing inputs: pyota
"iperf3" = ps: with ps; [ ]; # missing inputs: iperf3 "iperf3" = ps: with ps; [ ]; # missing inputs: iperf3
"ipma" = ps: with ps; [ ]; # missing inputs: pyipma "ipma" = ps: with ps; [ ]; # missing inputs: pyipma
@ -427,6 +429,7 @@
"knx" = ps: with ps; [ xknx ]; "knx" = ps: with ps; [ xknx ];
"kodi" = ps: with ps; [ pykodi ]; "kodi" = ps: with ps; [ pykodi ];
"konnected" = ps: with ps; [ aiohttp-cors ]; # missing inputs: konnected "konnected" = ps: with ps; [ aiohttp-cors ]; # missing inputs: konnected
"kostal_plenticore" = ps: with ps; [ ]; # missing inputs: kostal_plenticore
"kulersky" = ps: with ps; [ ]; # missing inputs: pykulersky "kulersky" = ps: with ps; [ ]; # missing inputs: pykulersky
"kwb" = ps: with ps; [ ]; # missing inputs: pykwb "kwb" = ps: with ps; [ ]; # missing inputs: pykwb
"lacrosse" = ps: with ps; [ pylacrosse ]; "lacrosse" = ps: with ps; [ pylacrosse ];
@ -492,6 +495,7 @@
"meraki" = ps: with ps; [ aiohttp-cors ]; "meraki" = ps: with ps; [ aiohttp-cors ];
"message_bird" = ps: with ps; [ ]; # missing inputs: messagebird "message_bird" = ps: with ps; [ ]; # missing inputs: messagebird
"met" = ps: with ps; [ pymetno ]; "met" = ps: with ps; [ pymetno ];
"met_eireann" = ps: with ps; [ ]; # missing inputs: pyMetEireann
"meteo_france" = ps: with ps; [ ]; # missing inputs: meteofrance-api "meteo_france" = ps: with ps; [ ]; # missing inputs: meteofrance-api
"meteoalarm" = ps: with ps; [ ]; # missing inputs: meteoalertapi "meteoalarm" = ps: with ps; [ ]; # missing inputs: meteoalertapi
"metoffice" = ps: with ps; [ ]; # missing inputs: datapoint "metoffice" = ps: with ps; [ ]; # missing inputs: datapoint
@ -517,6 +521,7 @@
"monoprice" = ps: with ps; [ ]; # missing inputs: pymonoprice "monoprice" = ps: with ps; [ ]; # missing inputs: pymonoprice
"moon" = ps: with ps; [ ]; "moon" = ps: with ps; [ ];
"motion_blinds" = ps: with ps; [ ]; # missing inputs: motionblinds "motion_blinds" = ps: with ps; [ ]; # missing inputs: motionblinds
"motioneye" = ps: with ps; [ ]; # missing inputs: motioneye-client
"mpchc" = ps: with ps; [ ]; "mpchc" = ps: with ps; [ ];
"mpd" = ps: with ps; [ mpd2 ]; "mpd" = ps: with ps; [ mpd2 ];
"mqtt" = ps: with ps; [ aiohttp-cors paho-mqtt ]; "mqtt" = ps: with ps; [ aiohttp-cors paho-mqtt ];
@ -526,6 +531,7 @@
"mqtt_statestream" = ps: with ps; [ aiohttp-cors paho-mqtt ]; "mqtt_statestream" = ps: with ps; [ aiohttp-cors paho-mqtt ];
"msteams" = ps: with ps; [ pymsteams ]; "msteams" = ps: with ps; [ pymsteams ];
"mullvad" = ps: with ps; [ mullvad-api ]; "mullvad" = ps: with ps; [ mullvad-api ];
"mutesync" = ps: with ps; [ ]; # missing inputs: mutesync
"mvglive" = ps: with ps; [ PyMVGLive ]; "mvglive" = ps: with ps; [ PyMVGLive ];
"my" = ps: with ps; [ aiohttp-cors pillow ]; "my" = ps: with ps; [ aiohttp-cors pillow ];
"mychevy" = ps: with ps; [ ]; # missing inputs: mychevy "mychevy" = ps: with ps; [ ]; # missing inputs: mychevy
@ -577,7 +583,7 @@
"nzbget" = ps: with ps; [ ]; # missing inputs: pynzbgetapi "nzbget" = ps: with ps; [ ]; # missing inputs: pynzbgetapi
"oasa_telematics" = ps: with ps; [ ]; # missing inputs: oasatelematics "oasa_telematics" = ps: with ps; [ ]; # missing inputs: oasatelematics
"obihai" = ps: with ps; [ ]; # missing inputs: pyobihai "obihai" = ps: with ps; [ ]; # missing inputs: pyobihai
"octoprint" = ps: with ps; [ aiohttp-cors netdisco zeroconf ]; "octoprint" = ps: with ps; [ aiohttp-cors netdisco pyroute2 zeroconf ];
"oem" = ps: with ps; [ ]; # missing inputs: oemthermostat "oem" = ps: with ps; [ ]; # missing inputs: oemthermostat
"ohmconnect" = ps: with ps; [ defusedxml ]; "ohmconnect" = ps: with ps; [ defusedxml ];
"ombi" = ps: with ps; [ ]; # missing inputs: pyombi "ombi" = ps: with ps; [ ]; # missing inputs: pyombi
@ -623,6 +629,7 @@
"philips_js" = ps: with ps; [ ]; # missing inputs: ha-philipsjs "philips_js" = ps: with ps; [ ]; # missing inputs: ha-philipsjs
"pi4ioe5v9xxxx" = ps: with ps; [ ]; # missing inputs: pi4ioe5v9xxxx "pi4ioe5v9xxxx" = ps: with ps; [ ]; # missing inputs: pi4ioe5v9xxxx
"pi_hole" = ps: with ps; [ hole ]; "pi_hole" = ps: with ps; [ hole ];
"picnic" = ps: with ps; [ python-picnic-api ];
"picotts" = ps: with ps; [ ]; "picotts" = ps: with ps; [ ];
"piglow" = ps: with ps; [ ]; # missing inputs: piglow "piglow" = ps: with ps; [ ]; # missing inputs: piglow
"pilight" = ps: with ps; [ ]; # missing inputs: pilight "pilight" = ps: with ps; [ ]; # missing inputs: pilight
@ -708,7 +715,7 @@
"ruckus_unleashed" = ps: with ps; [ pyruckus ]; "ruckus_unleashed" = ps: with ps; [ pyruckus ];
"russound_rio" = ps: with ps; [ ]; # missing inputs: russound_rio "russound_rio" = ps: with ps; [ ]; # missing inputs: russound_rio
"russound_rnet" = ps: with ps; [ ]; # missing inputs: russound "russound_rnet" = ps: with ps; [ ]; # missing inputs: russound
"sabnzbd" = ps: with ps; [ aiohttp-cors netdisco zeroconf ]; # missing inputs: pysabnzbd "sabnzbd" = ps: with ps; [ aiohttp-cors netdisco pyroute2 zeroconf ]; # missing inputs: pysabnzbd
"safe_mode" = ps: with ps; [ aiohttp-cors hass-nabucasa pillow ]; "safe_mode" = ps: with ps; [ aiohttp-cors hass-nabucasa pillow ];
"saj" = ps: with ps; [ ]; # missing inputs: pysaj "saj" = ps: with ps; [ ]; # missing inputs: pysaj
"samsungtv" = ps: with ps; [ samsungctl samsungtvws ]; "samsungtv" = ps: with ps; [ samsungctl samsungtvws ];
@ -767,7 +774,6 @@
"snips" = ps: with ps; [ aiohttp-cors paho-mqtt ]; "snips" = ps: with ps; [ aiohttp-cors paho-mqtt ];
"snmp" = ps: with ps; [ pysnmp ]; "snmp" = ps: with ps; [ pysnmp ];
"sochain" = ps: with ps; [ ]; # missing inputs: python-sochain-api "sochain" = ps: with ps; [ ]; # missing inputs: python-sochain-api
"socialblade" = ps: with ps; [ ]; # missing inputs: socialbladeclient
"solaredge" = ps: with ps; [ solaredge stringcase ]; "solaredge" = ps: with ps; [ solaredge stringcase ];
"solaredge_local" = ps: with ps; [ ]; # missing inputs: solaredge-local "solaredge_local" = ps: with ps; [ ]; # missing inputs: solaredge-local
"solarlog" = ps: with ps; [ ]; # missing inputs: sunwatcher "solarlog" = ps: with ps; [ ]; # missing inputs: sunwatcher
@ -779,7 +785,7 @@
"songpal" = ps: with ps; [ ]; # missing inputs: python-songpal "songpal" = ps: with ps; [ ]; # missing inputs: python-songpal
"sonos" = ps: with ps; [ aiohttp-cors plexapi plexauth plexwebsocket pysonos ]; "sonos" = ps: with ps; [ aiohttp-cors plexapi plexauth plexwebsocket pysonos ];
"sony_projector" = ps: with ps; [ ]; # missing inputs: pysdcp "sony_projector" = ps: with ps; [ ]; # missing inputs: pysdcp
"soundtouch" = ps: with ps; [ aiohttp-cors libsoundtouch zeroconf ]; "soundtouch" = ps: with ps; [ aiohttp-cors libsoundtouch pyroute2 zeroconf ];
"spaceapi" = ps: with ps; [ aiohttp-cors ]; "spaceapi" = ps: with ps; [ aiohttp-cors ];
"spc" = ps: with ps; [ ]; # missing inputs: pyspcwebgw "spc" = ps: with ps; [ ]; # missing inputs: pyspcwebgw
"speedtestdotnet" = ps: with ps; [ speedtest-cli ]; "speedtestdotnet" = ps: with ps; [ speedtest-cli ];
@ -790,7 +796,7 @@
"sql" = ps: with ps; [ sqlalchemy ]; "sql" = ps: with ps; [ sqlalchemy ];
"squeezebox" = ps: with ps; [ pysqueezebox ]; "squeezebox" = ps: with ps; [ pysqueezebox ];
"srp_energy" = ps: with ps; [ ]; # missing inputs: srpenergy "srp_energy" = ps: with ps; [ ]; # missing inputs: srpenergy
"ssdp" = ps: with ps; [ aiohttp-cors async-upnp-client defusedxml netdisco zeroconf ]; "ssdp" = ps: with ps; [ aiohttp-cors async-upnp-client defusedxml netdisco pyroute2 zeroconf ];
"starline" = ps: with ps; [ ]; # missing inputs: starline "starline" = ps: with ps; [ ]; # missing inputs: starline
"starlingbank" = ps: with ps; [ ]; # missing inputs: starlingbank "starlingbank" = ps: with ps; [ ]; # missing inputs: starlingbank
"startca" = ps: with ps; [ xmltodict ]; "startca" = ps: with ps; [ xmltodict ];
@ -840,7 +846,7 @@
"telnet" = ps: with ps; [ ]; "telnet" = ps: with ps; [ ];
"temper" = ps: with ps; [ ]; # missing inputs: temperusb "temper" = ps: with ps; [ ]; # missing inputs: temperusb
"template" = ps: with ps; [ ]; "template" = ps: with ps; [ ];
"tensorflow" = ps: with ps; [ numpy pillow tensorflow ]; # missing inputs: pycocotools tf-models-official "tensorflow" = ps: with ps; [ numpy pillow pycocotools tensorflow ]; # missing inputs: tf-models-official
"tesla" = ps: with ps; [ teslajsonpy ]; "tesla" = ps: with ps; [ teslajsonpy ];
"tfiac" = ps: with ps; [ ]; # missing inputs: pytfiac "tfiac" = ps: with ps; [ ]; # missing inputs: pytfiac
"thermoworks_smoke" = ps: with ps; [ stringcase ]; # missing inputs: thermoworks_smoke "thermoworks_smoke" = ps: with ps; [ stringcase ]; # missing inputs: thermoworks_smoke
@ -958,7 +964,7 @@
"xbox_live" = ps: with ps; [ xboxapi ]; "xbox_live" = ps: with ps; [ xboxapi ];
"xeoma" = ps: with ps; [ pyxeoma ]; "xeoma" = ps: with ps; [ pyxeoma ];
"xiaomi" = ps: with ps; [ ha-ffmpeg ]; "xiaomi" = ps: with ps; [ ha-ffmpeg ];
"xiaomi_aqara" = ps: with ps; [ pyxiaomigateway aiohttp-cors netdisco zeroconf ]; "xiaomi_aqara" = ps: with ps; [ pyxiaomigateway aiohttp-cors netdisco pyroute2 zeroconf ];
"xiaomi_miio" = ps: with ps; [ construct python-miio ]; "xiaomi_miio" = ps: with ps; [ construct python-miio ];
"xiaomi_tv" = ps: with ps; [ pymitv ]; "xiaomi_tv" = ps: with ps; [ pymitv ];
"xmpp" = ps: with ps; [ slixmpp ]; "xmpp" = ps: with ps; [ slixmpp ];
@ -974,10 +980,10 @@
"zabbix" = ps: with ps; [ ]; # missing inputs: py-zabbix "zabbix" = ps: with ps; [ ]; # missing inputs: py-zabbix
"zamg" = ps: with ps; [ ]; "zamg" = ps: with ps; [ ];
"zengge" = ps: with ps; [ ]; # missing inputs: zengge "zengge" = ps: with ps; [ ]; # missing inputs: zengge
"zeroconf" = ps: with ps; [ aiohttp-cors zeroconf ]; "zeroconf" = ps: with ps; [ aiohttp-cors pyroute2 zeroconf ];
"zerproc" = ps: with ps; [ pyzerproc ]; "zerproc" = ps: with ps; [ pyzerproc ];
"zestimate" = ps: with ps; [ xmltodict ]; "zestimate" = ps: with ps; [ xmltodict ];
"zha" = ps: with ps; [ aiohttp-cors bellows pyserial-asyncio pyserial zeroconf zha-quirks zigpy-cc zigpy-deconz zigpy-xbee zigpy-zigate zigpy-znp zigpy ]; "zha" = ps: with ps; [ aiohttp-cors bellows pyroute2 pyserial-asyncio pyserial zeroconf zha-quirks zigpy-cc zigpy-deconz zigpy-xbee zigpy-zigate zigpy-znp zigpy ];
"zhong_hong" = ps: with ps; [ ]; # missing inputs: zhong_hong_hvac "zhong_hong" = ps: with ps; [ ]; # missing inputs: zhong_hong_hvac
"ziggo_mediabox_xl" = ps: with ps; [ ]; # missing inputs: ziggo-mediabox-xl "ziggo_mediabox_xl" = ps: with ps; [ ]; # missing inputs: ziggo-mediabox-xl
"zodiac" = ps: with ps; [ ]; "zodiac" = ps: with ps; [ ];

View file

@ -22,24 +22,6 @@ let
defaultOverrides = [ defaultOverrides = [
# Override the version of some packages pinned in Home Assistant's setup.py # Override the version of some packages pinned in Home Assistant's setup.py
# Pinned due to API changes in astral>=2.0, required by the sun/moon plugins
# https://github.com/home-assistant/core/pull/48573; Remove >= 2021.5
(mkOverride "astral" "1.10.1"
"d2a67243c4503131c856cafb1b1276de52a86e5b8a1d507b7e08bee51cb67bf1")
# Pinned due to API changes in brother>=1.0, remove >= 2021.5
(self: super: {
brother = super.brother.overridePythonAttrs (oldAttrs: rec {
version = "0.2.2";
src = fetchFromGitHub {
owner = "bieniu";
repo = "brother";
rev = version;
sha256 = "sha256-vIefcL3K3ZbAUxMFM7gbbTFdrnmufWZHcq4OA19SYXE=";
};
});
})
# Pinned due to API changes in iaqualink>=2.0, remove after # Pinned due to API changes in iaqualink>=2.0, remove after
# https://github.com/home-assistant/core/pull/48137 was merged # https://github.com/home-assistant/core/pull/48137 was merged
(self: super: { (self: super: {
@ -59,26 +41,6 @@ let
(mkOverride "pyjwt" "1.7.1" (mkOverride "pyjwt" "1.7.1"
"15hflax5qkw1v6nssk1r0wkj83jgghskcmn875m3wgvpzdvajncd") "15hflax5qkw1v6nssk1r0wkj83jgghskcmn875m3wgvpzdvajncd")
# Pinned due to API changes in pykmtronic>=0.2.0
(mkOverride "pykmtronic" "0.0.3"
"sha256-8bxn27DU1XUQUxQFJklEge29DHx1DMu7pJG4hVE1jDU=")
# Pinned due to API changes in pylilterbot>=2021.3.0
# https://github.com/home-assistant/core/pull/48300; Remove >= 2021.5
(self: super: {
pylitterbot = super.pylitterbot.overridePythonAttrs (oldAttrs: rec {
version = "2021.2.8";
src = fetchFromGitHub {
owner = "natekspencer";
repo = "pylitterbot";
rev = version;
sha256 = "142lhijm51v11cd0lhcfdnjdd143jxi2hjsrqdq0rrbbnmj6mymp";
};
# had no tests before 2021.3.0
doCheck = false;
});
})
# Pinned due to bug in ring-doorbell 0.7.0 # Pinned due to bug in ring-doorbell 0.7.0
# https://github.com/tchellomello/python-ring-doorbell/issues/240 # https://github.com/tchellomello/python-ring-doorbell/issues/240
(mkOverride "ring-doorbell" "0.6.2" (mkOverride "ring-doorbell" "0.6.2"
@ -97,6 +59,19 @@ let
}); });
}) })
# Remove after https://github.com/NixOS/nixpkgs/pull/121854 has passed staging-next
(self: super: {
sqlalchemy = super.sqlalchemy.overridePythonAttrs (oldAttrs: rec {
version = "1.4.13";
src = oldAttrs.src.override {
inherit version;
sha256 = "0npsg38d11skv04zvsi90j93f6jdgm8666ds2ri7shr1pz1732hx";
};
patches = [];
propagatedBuildInputs = [ python3.pkgs.greenlet ];
});
})
# hass-frontend does not exist in python3.pkgs # hass-frontend does not exist in python3.pkgs
(self: super: { (self: super: {
hass-frontend = self.callPackage ./frontend.nix { }; hass-frontend = self.callPackage ./frontend.nix { };
@ -130,7 +105,7 @@ let
extraBuildInputs = extraPackages py.pkgs; extraBuildInputs = extraPackages py.pkgs;
# Don't forget to run parse-requirements.py after updating # Don't forget to run parse-requirements.py after updating
hassVersion = "2021.4.6"; hassVersion = "2021.5.0";
in with py.pkgs; buildPythonApplication rec { in with py.pkgs; buildPythonApplication rec {
pname = "homeassistant"; pname = "homeassistant";
@ -149,7 +124,7 @@ in with py.pkgs; buildPythonApplication rec {
owner = "home-assistant"; owner = "home-assistant";
repo = "core"; repo = "core";
rev = version; rev = version;
sha256 = "1s1slwcqls2prz9kgyhggs8xi3x7ghwdi33j983kvpg0gva7d2f0"; sha256 = "1kwx0bq2i76p9gbx5kkzkjxd88vzf2daccm0wf123693isk1nwzs";
}; };
# leave this in, so users don't have to constantly update their downstream patch handling # leave this in, so users don't have to constantly update their downstream patch handling
@ -162,8 +137,6 @@ in with py.pkgs; buildPythonApplication rec {
--replace "bcrypt==3.1.7" "bcrypt" \ --replace "bcrypt==3.1.7" "bcrypt" \
--replace "cryptography==3.3.2" "cryptography" \ --replace "cryptography==3.3.2" "cryptography" \
--replace "pip>=8.0.3,<20.3" "pip" \ --replace "pip>=8.0.3,<20.3" "pip" \
--replace "pytz>=2021.1" "pytz" \
--replace "pyyaml==5.4.1" "pyyaml" \
--replace "ruamel.yaml==0.15.100" "ruamel.yaml" --replace "ruamel.yaml==0.15.100" "ruamel.yaml"
substituteInPlace tests/test_config.py --replace '"/usr"' '"/build/media"' substituteInPlace tests/test_config.py --replace '"/usr"' '"/build/media"'
''; '';
@ -453,6 +426,8 @@ in with py.pkgs; buildPythonApplication rec {
"test_fetching_url_with_verify_ssl" "test_fetching_url_with_verify_ssl"
# util/test_package.py: AssertionError on package.is_installed('homeassistant>=999.999.999') # util/test_package.py: AssertionError on package.is_installed('homeassistant>=999.999.999')
"test_check_package_version_does_not_match" "test_check_package_version_does_not_match"
# homeassistant/util/thread.py:51: SystemError
"test_executor_shutdown_can_interrupt_threads"
]; ];
preCheck = '' preCheck = ''

View file

@ -4,11 +4,11 @@ buildPythonPackage rec {
# the frontend version corresponding to a specific home-assistant version can be found here # the frontend version corresponding to a specific home-assistant version can be found here
# https://github.com/home-assistant/home-assistant/blob/master/homeassistant/components/frontend/manifest.json # https://github.com/home-assistant/home-assistant/blob/master/homeassistant/components/frontend/manifest.json
pname = "home-assistant-frontend"; pname = "home-assistant-frontend";
version = "20210407.3"; version = "20210504.0";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "sha256-ucewS193kbvlk4Q+5IEYT6sfJ/H006uy0iIi8UHOzPo="; sha256 = "sha256-rNdqflWT8bmGHtAGGfq4xVxDcnK+EZU9qejRWQPJmUI=";
}; };
# there is nothing to strip in this package # there is nothing to strip in this package

View file

@ -176,13 +176,13 @@ in rec {
''; '';
}; };
darwin = super.darwin // { darwin = super.darwin.overrideScope (selfDarwin: superDarwin: {
Libsystem = stdenv.mkDerivation { Libsystem = stdenv.mkDerivation {
name = "bootstrap-stage0-Libsystem"; name = "bootstrap-stage0-Libsystem";
buildCommand = '' buildCommand = ''
mkdir -p $out mkdir -p $out
cp -r ${self.darwin.darwin-stubs}/usr/lib $out/lib cp -r ${selfDarwin.darwin-stubs}/usr/lib $out/lib
chmod -R +w $out/lib chmod -R +w $out/lib
substituteInPlace $out/lib/libSystem.B.tbd --replace /usr/lib/system $out/lib/system substituteInPlace $out/lib/libSystem.B.tbd --replace /usr/lib/system $out/lib/system
@ -201,7 +201,7 @@ in rec {
''; '';
}; };
darwin-stubs = super.darwin.darwin-stubs.override { inherit (self) stdenv fetchurl; }; darwin-stubs = superDarwin.darwin-stubs.override { inherit (self) stdenv fetchurl; };
dyld = { dyld = {
name = "bootstrap-stage0-dyld"; name = "bootstrap-stage0-dyld";
@ -220,10 +220,10 @@ in rec {
nativeTools = false; nativeTools = false;
nativeLibc = false; nativeLibc = false;
inherit (self) buildPackages coreutils gnugrep; inherit (self) buildPackages coreutils gnugrep;
libc = self.pkgs.darwin.Libsystem; libc = selfDarwin.Libsystem;
bintools = { name = "bootstrap-stage0-binutils"; outPath = bootstrapTools; }; bintools = { name = "bootstrap-stage0-binutils"; outPath = bootstrapTools; };
}; };
}; });
llvmPackages_7 = { llvmPackages_7 = {
clang-unwrapped = stdenv.mkDerivation { clang-unwrapped = stdenv.mkDerivation {
@ -291,12 +291,12 @@ in rec {
}); });
in { inherit tools libraries; } // tools // libraries); in { inherit tools libraries; } // tools // libraries);
darwin = super.darwin // { darwin = super.darwin.overrideScope (selfDarwin: _: {
binutils = darwin.binutils.override { binutils = darwin.binutils.override {
coreutils = self.coreutils; coreutils = self.coreutils;
libc = self.darwin.Libsystem; libc = selfDarwin.Libsystem;
}; };
}; });
}; };
in with prevStage; stageFun 1 prevStage { in with prevStage; stageFun 1 prevStage {
extraPreHook = "export NIX_CFLAGS_COMPILE+=\" -F${bootstrapTools}/Library/Frameworks\""; extraPreHook = "export NIX_CFLAGS_COMPILE+=\" -F${bootstrapTools}/Library/Frameworks\"";
@ -337,11 +337,11 @@ in rec {
}); });
in { inherit tools libraries; } // tools // libraries); in { inherit tools libraries; } // tools // libraries);
darwin = super.darwin // { darwin = super.darwin.overrideScope (_: _: {
inherit (darwin) inherit (darwin)
binutils dyld Libsystem xnu configd ICU libdispatch libclosure binutils dyld Libsystem xnu configd ICU libdispatch libclosure
launchd CF darwin-stubs; launchd CF darwin-stubs;
}; });
}; };
in with prevStage; stageFun 2 prevStage { in with prevStage; stageFun 2 prevStage {
extraPreHook = '' extraPreHook = ''
@ -382,11 +382,11 @@ in rec {
}); });
in { inherit libraries; } // libraries); in { inherit libraries; } // libraries);
darwin = super.darwin // { darwin = super.darwin.overrideScope (_: _: {
inherit (darwin) inherit (darwin)
dyld Libsystem xnu configd libdispatch libclosure launchd libiconv dyld Libsystem xnu configd libdispatch libclosure launchd libiconv
locale darwin-stubs; locale darwin-stubs;
}; });
}; };
in with prevStage; stageFun 3 prevStage { in with prevStage; stageFun 3 prevStage {
shell = "${pkgs.bash}/bin/bash"; shell = "${pkgs.bash}/bin/bash";
@ -442,14 +442,14 @@ in rec {
}); });
in { inherit tools libraries; } // tools // libraries); in { inherit tools libraries; } // tools // libraries);
darwin = super.darwin // rec { darwin = super.darwin.overrideScope (_: superDarwin: {
inherit (darwin) dyld Libsystem libiconv locale darwin-stubs; inherit (darwin) dyld Libsystem libiconv locale darwin-stubs;
CF = super.darwin.CF.override { CF = superDarwin.CF.override {
inherit libxml2; inherit libxml2;
python3 = prevStage.python3; python3 = prevStage.python3;
}; };
}; });
}; };
in with prevStage; stageFun 4 prevStage { in with prevStage; stageFun 4 prevStage {
shell = "${pkgs.bash}/bin/bash"; shell = "${pkgs.bash}/bin/bash";
@ -480,11 +480,11 @@ in rec {
}); });
in { inherit tools libraries; } // tools // libraries); in { inherit tools libraries; } // tools // libraries);
darwin = super.darwin // { darwin = super.darwin.overrideScope (_: _: {
inherit (darwin) dyld ICU Libsystem libiconv; inherit (darwin) dyld ICU Libsystem libiconv;
} // lib.optionalAttrs (super.stdenv.targetPlatform == localSystem) { } // lib.optionalAttrs (super.stdenv.targetPlatform == localSystem) {
inherit (darwin) binutils binutils-unwrapped cctools; inherit (darwin) binutils binutils-unwrapped cctools;
}; });
} // lib.optionalAttrs (super.stdenv.targetPlatform == localSystem) { } // lib.optionalAttrs (super.stdenv.targetPlatform == localSystem) {
# Need to get rid of these when cross-compiling. # Need to get rid of these when cross-compiling.
inherit binutils binutils-unwrapped; inherit binutils binutils-unwrapped;
@ -539,14 +539,14 @@ in rec {
]); ]);
overrides = lib.composeExtensions persistent (self: super: { overrides = lib.composeExtensions persistent (self: super: {
darwin = super.darwin.overrideScope (_: superDarwin: {
inherit (prevStage.darwin) CF darwin-stubs;
xnu = superDarwin.xnu.override { inherit (prevStage) python3; };
});
} // lib.optionalAttrs (super.stdenv.targetPlatform == localSystem) {
clang = cc; clang = cc;
llvmPackages = super.llvmPackages // { clang = cc; }; llvmPackages = super.llvmPackages // { clang = cc; };
inherit cc; inherit cc;
darwin = super.darwin // {
inherit (prevStage.darwin) CF darwin-stubs;
xnu = super.darwin.xnu.override { inherit (prevStage) python3; };
};
}); });
}; };

View file

@ -1,36 +1,60 @@
{ lib, python3, platformio, esptool, git, protobuf3_12, fetchpatch }: { lib
, python3
, fetchFromGitHub
, platformio
, esptool
, git
}:
let python3.pkgs.buildPythonApplication rec {
python = python3.override {
packageOverrides = self: super: {
protobuf = super.protobuf.override {
protobuf = protobuf3_12;
};
};
};
in python.pkgs.buildPythonApplication rec {
pname = "esphome"; pname = "esphome";
version = "1.16.0"; version = "1.17.1";
src = python.pkgs.fetchPypi { src = fetchFromGitHub {
inherit pname version; owner = pname;
sha256 = "0pvwzkdcpjqdf7lh1k3xv1la5v60lhjixzykapl7f2xh71fbm144"; repo = pname;
rev = "v${version}";
sha256 = "0483glwi155ca1wnffwhmwn17d7kwk4hjwmckb8zs197rfqmb55v";
}; };
postPatch = ''
# remove all version pinning (E.g tornado==5.1.1 -> tornado)
sed -i -e "s/==[0-9.]*//" requirements.txt
# drop coverage testing
sed -i '/--cov/d' pytest.ini
# migrate use of hypothesis internals to be compatible with hypothesis>=5.32.1
# https://github.com/esphome/issues/issues/2021
substituteInPlace tests/unit_tests/strategies.py --replace \
"@st.defines_strategy_with_reusable_values" \
"@st.defines_strategy(force_reusable_values=True)"
'';
# Remove esptool and platformio from requirements
ESPHOME_USE_SUBPROCESS = ""; ESPHOME_USE_SUBPROCESS = "";
propagatedBuildInputs = with python.pkgs; [ # esphome has optional dependencies it does not declare, they are
voluptuous pyyaml paho-mqtt colorlog colorama # loaded when certain config blocks are used, like `font`, `image`
tornado protobuf tzlocal pyserial ifaddr # or `animation`.
protobuf click # They have validation functions like:
# - validate_cryptography_installed
# - validate_pillow_installed
propagatedBuildInputs = with python3.pkgs; [
click
colorama
cryptography
ifaddr
paho-mqtt
pillow
protobuf
pyserial
pyyaml
tornado
tzlocal
voluptuous
]; ];
# remove all version pinning (E.g tornado==5.1.1 -> tornado)
postPatch = ''
sed -i -e "s/==[0-9.]*//" requirements.txt
'';
makeWrapperArgs = [ makeWrapperArgs = [
# platformio is used in esphomeyaml/platformio_api.py # platformio is used in esphomeyaml/platformio_api.py
# esptool is used in esphomeyaml/__main__.py # esptool is used in esphomeyaml/__main__.py
@ -39,16 +63,24 @@ in python.pkgs.buildPythonApplication rec {
"--set ESPHOME_USE_SUBPROCESS ''" "--set ESPHOME_USE_SUBPROCESS ''"
]; ];
# Platformio will try to access the network checkInputs = with python3.pkgs; [
# Instead, run the executable hypothesis
checkPhase = '' mock
pytest-mock
pytestCheckHook
];
postCheck = ''
$out/bin/esphome --help > /dev/null $out/bin/esphome --help > /dev/null
''; '';
meta = with lib; { meta = with lib; {
description = "Make creating custom firmwares for ESP32/ESP8266 super easy"; description = "Make creating custom firmwares for ESP32/ESP8266 super easy";
homepage = "https://esphome.io/"; homepage = "https://esphome.io/";
license = licenses.mit; license = with licenses; [
mit # The C++/runtime codebase of the ESPHome project (file extensions .c, .cpp, .h, .hpp, .tcc, .ino)
gpl3Only # The python codebase and all other parts of this codebase
];
maintainers = with maintainers; [ globin elseym hexa ]; maintainers = with maintainers; [ globin elseym hexa ];
}; };
} }

View file

@ -1,7 +1,7 @@
{ lib, stdenv, fetchurl, jre, makeWrapper }: { callPackage, lib, stdenv, fetchurl, jre, makeWrapper }:
stdenv.mkDerivation rec { let this = stdenv.mkDerivation rec {
version = "5.0.0"; version = "5.1.0";
pname = "openapi-generator-cli"; pname = "openapi-generator-cli";
jarfilename = "${pname}-${version}.jar"; jarfilename = "${pname}-${version}.jar";
@ -12,16 +12,20 @@ stdenv.mkDerivation rec {
src = fetchurl { src = fetchurl {
url = "mirror://maven/org/openapitools/${pname}/${version}/${jarfilename}"; url = "mirror://maven/org/openapitools/${pname}/${version}/${jarfilename}";
sha256 = "13kgc84kyrypr0xy4xifrzqcy4qlvcxc7f0jy3n1xkjl3vhav7w3"; sha256 = "06dvy4pwgpyf209n0b27qwkjj7zlgadg2czwxapy94fd1wpq9yb2";
}; };
phases = [ "installPhase" ]; phases = [ "installPhase" ];
installPhase = '' installPhase = ''
runHook preInstall
install -D "$src" "$out/share/java/${jarfilename}" install -D "$src" "$out/share/java/${jarfilename}"
makeWrapper ${jre}/bin/java $out/bin/${pname} \ makeWrapper ${jre}/bin/java $out/bin/${pname} \
--add-flags "-jar $out/share/java/${jarfilename}" --add-flags "-jar $out/share/java/${jarfilename}"
runHook postInstall
''; '';
meta = with lib; { meta = with lib; {
@ -30,4 +34,9 @@ stdenv.mkDerivation rec {
license = licenses.asl20; license = licenses.asl20;
maintainers = [ maintainers.shou ]; maintainers = [ maintainers.shou ];
}; };
}
passthru.tests.example = callPackage ./example.nix {
openapi-generator-cli = this;
};
};
in this

View file

@ -0,0 +1,31 @@
{ openapi-generator-cli, fetchurl, runCommand }:
runCommand "openapi-generator-cli-test" {
nativeBuildInputs = [ openapi-generator-cli ];
petstore = fetchurl {
url = "https://raw.githubusercontent.com/OAI/OpenAPI-Specification/14c0908becbccd78252be49bd92be8c53cd2b9e3/examples/v3.0/petstore.yaml";
sha256 = "sha256:1mgdbzv42alv0b1a18dqbabqyvyhrg3brynr5hqsrm3qljfzaq5b";
};
config = builtins.toJSON {
elmVersion = "0.19";
elmPrefixCustomTypeVariants = false;
};
passAsFile = [ "config" ];
} ''
openapi-generator-cli generate \
--input-spec $petstore \
--enable-post-process-file \
--generator-name elm \
--config "$config" \
--additional-properties elmEnableCustomBasePaths=true \
--output "$out" \
;
find $out
echo >&2 'Looking for some keywords'
set -x
grep 'module Api.Request.Pets' $out/src/Api/Request/Pets.elm
grep 'createPets' $out/src/Api/Request/Pets.elm
grep '"limit"' $out/src/Api/Request/Pets.elm
set +x
echo "Looks OK!"
''

View file

@ -1,6 +1,6 @@
{ lib, stdenv, fetchurl, jre, makeWrapper }: { callPackage, lib, stdenv, fetchurl, jre, makeWrapper }:
stdenv.mkDerivation rec { let this = stdenv.mkDerivation rec {
version = "6.0.0-2021-01-18"; # Also update the fetchurl link version = "6.0.0-2021-01-18"; # Also update the fetchurl link
pname = "openapi-generator-cli"; pname = "openapi-generator-cli";
@ -18,10 +18,14 @@ stdenv.mkDerivation rec {
phases = [ "installPhase" ]; phases = [ "installPhase" ];
installPhase = '' installPhase = ''
runHook preInstall
install -D "$src" "$out/share/java/${jarfilename}" install -D "$src" "$out/share/java/${jarfilename}"
makeWrapper ${jre}/bin/java $out/bin/${pname} \ makeWrapper ${jre}/bin/java $out/bin/${pname} \
--add-flags "-jar $out/share/java/${jarfilename}" --add-flags "-jar $out/share/java/${jarfilename}"
runHook postInstall
''; '';
meta = with lib; { meta = with lib; {
@ -30,5 +34,9 @@ stdenv.mkDerivation rec {
license = licenses.asl20; license = licenses.asl20;
maintainers = [ maintainers.shou ]; maintainers = [ maintainers.shou ];
}; };
}
passthru.tests.example = callPackage ./example.nix {
openapi-generator-cli = this;
};
};
in this

View file

@ -8,6 +8,7 @@
, withNetfilter ? (!stdenv.isDarwin), libmnl, libnetfilter_acct , withNetfilter ? (!stdenv.isDarwin), libmnl, libnetfilter_acct
, withSsl ? true, openssl , withSsl ? true, openssl
, withDebug ? false , withDebug ? false
, fetchpatch
}: }:
with lib; with lib;
@ -15,14 +16,14 @@ with lib;
let let
go-d-plugin = callPackage ./go.d.plugin.nix {}; go-d-plugin = callPackage ./go.d.plugin.nix {};
in stdenv.mkDerivation rec { in stdenv.mkDerivation rec {
version = "1.29.3"; version = "1.30.1";
pname = "netdata"; pname = "netdata";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "netdata"; owner = "netdata";
repo = "netdata"; repo = "netdata";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-GWIQZEC5agJ+Zw7l58IIAJhXP6dxirCmWVBJulzBO5Q="; sha256 = "0cp6gbn38f1cr0jkr64vvwz005cvnwj3hgfxs147wap9w228k46r";
}; };
nativeBuildInputs = [ autoreconfHook pkg-config ]; nativeBuildInputs = [ autoreconfHook pkg-config ];
@ -39,6 +40,11 @@ in stdenv.mkDerivation rec {
# required to prevent plugins from relying on /etc # required to prevent plugins from relying on /etc
# and /var # and /var
./no-files-in-etc-and-var.patch ./no-files-in-etc-and-var.patch
# cgroups: fix network interfaces detection when using virsh
(fetchpatch {
url = "https://patch-diff.githubusercontent.com/raw/netdata/netdata/pull/11096.patch";
sha256 = "0f2rd7kgbwbyq9wyn085d213ifvivnpl3qlx1gjrg42rkbi4n8jj";
})
]; ];
NIX_CFLAGS_COMPILE = optionalString withDebug "-O1 -ggdb -DNETDATA_INTERNAL_CHECKS=1"; NIX_CFLAGS_COMPILE = optionalString withDebug "-O1 -ggdb -DNETDATA_INTERNAL_CHECKS=1";

View file

@ -2,16 +2,16 @@
buildGoModule rec { buildGoModule rec {
pname = "netdata-go.d.plugin"; pname = "netdata-go.d.plugin";
version = "0.26.2"; version = "0.28.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "netdata"; owner = "netdata";
repo = "go.d.plugin"; repo = "go.d.plugin";
rev = "v${version}"; rev = "v${version}";
sha256 = "1jy5pc1ihyrg6sqyw0d48bsqa7kr7kqz10k3845g958vgfmfig59"; sha256 = "0i77nvqi3dcby0gr3b06bai170q2ibp5390qfjijrk1yqz6x6sd5";
}; };
vendorSha256 = "16b6i9cpk8j7292qgjvida70rg7nixi6g94wayzikx01vmdbis5r"; vendorSha256 = "1q8z4smaxzqd5iwvbnkkr33c3b94rjwa3xjirwlr595g0wn93wc7";
doCheck = false; doCheck = false;

View file

@ -1,28 +1,8 @@
From 4ecc1475be94a384c122594b5f7d455beb64a2f0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= <joerg@thalheim.io>
Date: Sat, 22 Feb 2020 06:42:14 +0000
Subject: [PATCH] no files in etc and var
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: Jörg Thalheim <joerg@thalheim.io>
---
collectors/Makefile.am | 2 +-
collectors/charts.d.plugin/Makefile.am | 2 +-
collectors/node.d.plugin/Makefile.am | 2 +-
collectors/python.d.plugin/Makefile.am | 2 +-
collectors/statsd.plugin/Makefile.am | 2 +-
health/Makefile.am | 2 +-
system/Makefile.am | 3 +--
web/Makefile.am | 2 +-
8 files changed, 8 insertions(+), 9 deletions(-)
diff --git a/collectors/Makefile.am b/collectors/Makefile.am diff --git a/collectors/Makefile.am b/collectors/Makefile.am
index 9bb52958..c9799165 100644 index 021e2ff23..115b88277 100644
--- a/collectors/Makefile.am --- a/collectors/Makefile.am
+++ b/collectors/Makefile.am +++ b/collectors/Makefile.am
@@ -32,7 +32,7 @@ usercustompluginsconfigdir=$(configdir)/custom-plugins.d @@ -33,7 +33,7 @@ usercustompluginsconfigdir=$(configdir)/custom-plugins.d
usergoconfigdir=$(configdir)/go.d usergoconfigdir=$(configdir)/go.d
# Explicitly install directories to avoid permission issues due to umask # Explicitly install directories to avoid permission issues due to umask
@ -32,7 +12,7 @@ index 9bb52958..c9799165 100644
$(INSTALL) -d $(DESTDIR)$(usergoconfigdir) $(INSTALL) -d $(DESTDIR)$(usergoconfigdir)
diff --git a/collectors/charts.d.plugin/Makefile.am b/collectors/charts.d.plugin/Makefile.am diff --git a/collectors/charts.d.plugin/Makefile.am b/collectors/charts.d.plugin/Makefile.am
index 03c7f0a9..01985db0 100644 index 03c7f0a94..01985db01 100644
--- a/collectors/charts.d.plugin/Makefile.am --- a/collectors/charts.d.plugin/Makefile.am
+++ b/collectors/charts.d.plugin/Makefile.am +++ b/collectors/charts.d.plugin/Makefile.am
@@ -34,7 +34,7 @@ dist_userchartsconfig_DATA = \ @@ -34,7 +34,7 @@ dist_userchartsconfig_DATA = \
@ -44,8 +24,21 @@ index 03c7f0a9..01985db0 100644
$(INSTALL) -d $(DESTDIR)$(userchartsconfigdir) $(INSTALL) -d $(DESTDIR)$(userchartsconfigdir)
chartsconfigdir=$(libconfigdir)/charts.d chartsconfigdir=$(libconfigdir)/charts.d
diff --git a/collectors/ebpf.plugin/Makefile.am b/collectors/ebpf.plugin/Makefile.am
index 18b1fc6c8..b4b0c7852 100644
--- a/collectors/ebpf.plugin/Makefile.am
+++ b/collectors/ebpf.plugin/Makefile.am
@@ -13,7 +13,7 @@ SUFFIXES = .in
userebpfconfigdir=$(configdir)/ebpf.d
# Explicitly install directories to avoid permission issues due to umask
-install-exec-local:
+no-install-exec-local:
$(INSTALL) -d $(DESTDIR)$(userebpfconfigdir)
dist_plugins_SCRIPTS = \
diff --git a/collectors/node.d.plugin/Makefile.am b/collectors/node.d.plugin/Makefile.am diff --git a/collectors/node.d.plugin/Makefile.am b/collectors/node.d.plugin/Makefile.am
index c3142d43..95e32445 100644 index c3142d433..95e324455 100644
--- a/collectors/node.d.plugin/Makefile.am --- a/collectors/node.d.plugin/Makefile.am
+++ b/collectors/node.d.plugin/Makefile.am +++ b/collectors/node.d.plugin/Makefile.am
@@ -26,7 +26,7 @@ dist_usernodeconfig_DATA = \ @@ -26,7 +26,7 @@ dist_usernodeconfig_DATA = \
@ -58,7 +51,7 @@ index c3142d43..95e32445 100644
nodeconfigdir=$(libconfigdir)/node.d nodeconfigdir=$(libconfigdir)/node.d
diff --git a/collectors/python.d.plugin/Makefile.am b/collectors/python.d.plugin/Makefile.am diff --git a/collectors/python.d.plugin/Makefile.am b/collectors/python.d.plugin/Makefile.am
index e678f86a..29a319da 100644 index 38eb90f79..ce7079441 100644
--- a/collectors/python.d.plugin/Makefile.am --- a/collectors/python.d.plugin/Makefile.am
+++ b/collectors/python.d.plugin/Makefile.am +++ b/collectors/python.d.plugin/Makefile.am
@@ -32,7 +32,7 @@ dist_userpythonconfig_DATA = \ @@ -32,7 +32,7 @@ dist_userpythonconfig_DATA = \
@ -71,10 +64,10 @@ index e678f86a..29a319da 100644
pythonconfigdir=$(libconfigdir)/python.d pythonconfigdir=$(libconfigdir)/python.d
diff --git a/collectors/statsd.plugin/Makefile.am b/collectors/statsd.plugin/Makefile.am diff --git a/collectors/statsd.plugin/Makefile.am b/collectors/statsd.plugin/Makefile.am
index b01302d1..f5b77da4 100644 index 71f2d468d..2c9ced2bf 100644
--- a/collectors/statsd.plugin/Makefile.am --- a/collectors/statsd.plugin/Makefile.am
+++ b/collectors/statsd.plugin/Makefile.am +++ b/collectors/statsd.plugin/Makefile.am
@@ -17,5 +17,5 @@ dist_userstatsdconfig_DATA = \ @@ -18,5 +18,5 @@ dist_userstatsdconfig_DATA = \
$(NULL) $(NULL)
# Explicitly install directories to avoid permission issues due to umask # Explicitly install directories to avoid permission issues due to umask
@ -82,7 +75,7 @@ index b01302d1..f5b77da4 100644
+no-install-exec-local: +no-install-exec-local:
$(INSTALL) -d $(DESTDIR)$(userstatsdconfigdir) $(INSTALL) -d $(DESTDIR)$(userstatsdconfigdir)
diff --git a/health/Makefile.am b/health/Makefile.am diff --git a/health/Makefile.am b/health/Makefile.am
index 853ed0d7..210330a6 100644 index b963ea0cd..6979e69bf 100644
--- a/health/Makefile.am --- a/health/Makefile.am
+++ b/health/Makefile.am +++ b/health/Makefile.am
@@ -19,7 +19,7 @@ dist_userhealthconfig_DATA = \ @@ -19,7 +19,7 @@ dist_userhealthconfig_DATA = \
@ -95,10 +88,10 @@ index 853ed0d7..210330a6 100644
healthconfigdir=$(libconfigdir)/health.d healthconfigdir=$(libconfigdir)/health.d
diff --git a/system/Makefile.am b/system/Makefile.am diff --git a/system/Makefile.am b/system/Makefile.am
index ad68c655..74f032f9 100644 index 5323738c9..06e1b6a73 100644
--- a/system/Makefile.am --- a/system/Makefile.am
+++ b/system/Makefile.am +++ b/system/Makefile.am
@@ -17,11 +17,10 @@ include $(top_srcdir)/build/subst.inc @@ -20,11 +20,10 @@ include $(top_srcdir)/build/subst.inc
SUFFIXES = .in SUFFIXES = .in
dist_config_SCRIPTS = \ dist_config_SCRIPTS = \
@ -112,7 +105,7 @@ index ad68c655..74f032f9 100644
nodist_noinst_DATA = \ nodist_noinst_DATA = \
diff --git a/web/Makefile.am b/web/Makefile.am diff --git a/web/Makefile.am b/web/Makefile.am
index ccaccd76..16a2977e 100644 index ccaccd764..16a2977e5 100644
--- a/web/Makefile.am --- a/web/Makefile.am
+++ b/web/Makefile.am +++ b/web/Makefile.am
@@ -12,7 +12,7 @@ SUBDIRS = \ @@ -12,7 +12,7 @@ SUBDIRS = \
@ -124,6 +117,3 @@ index ccaccd76..16a2977e 100644
$(INSTALL) -d $(DESTDIR)$(usersslconfigdir) $(INSTALL) -d $(DESTDIR)$(usersslconfigdir)
dist_noinst_DATA = \ dist_noinst_DATA = \
--
2.25.0

View file

@ -7191,8 +7191,8 @@ in
onlykey-cli = callPackage ../tools/security/onlykey-cli { }; onlykey-cli = callPackage ../tools/security/onlykey-cli { };
openapi-generator-cli = callPackage ../tools/networking/openapi-generator-cli { }; openapi-generator-cli = callPackage ../tools/networking/openapi-generator-cli { jre = pkgs.jre_headless; };
openapi-generator-cli-unstable = callPackage ../tools/networking/openapi-generator-cli/unstable.nix { }; openapi-generator-cli-unstable = callPackage ../tools/networking/openapi-generator-cli/unstable.nix { jre = pkgs.jre_headless; };
openbazaar = callPackage ../applications/networking/openbazaar { }; openbazaar = callPackage ../applications/networking/openbazaar { };
openbazaar-client = callPackage ../applications/networking/openbazaar/client.nix { }; openbazaar-client = callPackage ../applications/networking/openbazaar/client.nix { };
@ -10399,15 +10399,7 @@ in
# The GCC used to build libc for the target platform. Normal gccs will be # The GCC used to build libc for the target platform. Normal gccs will be
# built with, and use, that cross-compiled libc. # built with, and use, that cross-compiled libc.
gccCrossStageStatic = assert stdenv.targetPlatform != stdenv.hostPlatform; let gccCrossStageStatic = assert stdenv.targetPlatform != stdenv.hostPlatform; let
libcCross1 = libcCross1 = binutilsNoLibc.libc;
if stdenv.targetPlatform.libc == "msvcrt" then targetPackages.windows.mingw_w64_headers
else if stdenv.targetPlatform.libc == "libSystem" then darwin.xcode
else if stdenv.targetPlatform.libc == "nblibc" then targetPackages.netbsdCross.headers
else null;
binutils1 = wrapBintoolsWith {
bintools = binutils-unwrapped;
libc = libcCross1;
};
in wrapCCWith { in wrapCCWith {
cc = gccFun { cc = gccFun {
# copy-pasted # copy-pasted
@ -10422,10 +10414,10 @@ in
crossStageStatic = true; crossStageStatic = true;
langCC = false; langCC = false;
libcCross = libcCross1; libcCross = libcCross1;
targetPackages.stdenv.cc.bintools = binutils1; targetPackages.stdenv.cc.bintools = binutilsNoLibc;
enableShared = false; enableShared = false;
}; };
bintools = binutils1; bintools = binutilsNoLibc;
libc = libcCross1; libc = libcCross1;
extraPackages = []; extraPackages = [];
}; };
@ -12541,6 +12533,14 @@ in
gold = false; gold = false;
}; };
}); });
binutilsNoLibc = wrapBintoolsWith {
bintools = binutils-unwrapped;
libc =
/**/ if stdenv.targetPlatform.libc == "msvcrt" then targetPackages.windows.mingw_w64_headers
else if stdenv.targetPlatform.libc == "libSystem" then darwin.xcode
else if stdenv.targetPlatform.libc == "nblibc" then targetPackages.netbsdCross.headers
else null;
};
bison = callPackage ../development/tools/parsing/bison { }; bison = callPackage ../development/tools/parsing/bison { };

View file

@ -1,27 +1,44 @@
{ buildPackages, pkgs, targetPackages { lib
, darwin, stdenv, callPackage, callPackages, newScope , buildPackages, pkgs, targetPackages
, pkgsBuildBuild, pkgsBuildHost, pkgsBuildTarget, pkgsHostHost, pkgsTargetTarget
, stdenv, splicePackages, newScope
}: }:
let let
apple-source-releases = callPackage ../os-specific/darwin/apple-source-releases { }; otherSplices = {
selfBuildBuild = pkgsBuildBuild.darwin;
selfBuildHost = pkgsBuildHost.darwin;
selfBuildTarget = pkgsBuildTarget.darwin;
selfHostHost = pkgsHostHost.darwin;
selfTargetTarget = pkgsTargetTarget.darwin or {}; # might be missing
};
impure-cmds = callPackage ../os-specific/darwin/impure-cmds { };
in in
(impure-cmds // apple-source-releases // { lib.makeScopeWithSplicing splicePackages newScope otherSplices (_: {}) (spliced: spliced.apple_sdk.frameworks) (self: let
inherit (self) mkDerivation callPackage;
callPackage = newScope (darwin.apple_sdk.frameworks // darwin); # Must use pkgs.callPackage to avoid infinite recursion.
apple-source-releases = pkgs.callPackage ../os-specific/darwin/apple-source-releases { } self;
impure-cmds = pkgs.callPackage ../os-specific/darwin/impure-cmds { };
apple_sdk = pkgs.callPackage ../os-specific/darwin/apple-sdk {
inherit (buildPackages.darwin) print-reexports;
inherit (self) darwin-stubs;
};
in
impure-cmds // apple-source-releases // {
inherit apple_sdk;
stdenvNoCF = stdenv.override { stdenvNoCF = stdenv.override {
extraBuildInputs = []; extraBuildInputs = [];
}; };
apple_sdk = callPackage ../os-specific/darwin/apple-sdk {
inherit (darwin) darwin-stubs print-reexports;
};
binutils-unwrapped = callPackage ../os-specific/darwin/binutils { binutils-unwrapped = callPackage ../os-specific/darwin/binutils {
inherit (darwin) cctools;
inherit (pkgs) binutils-unwrapped; inherit (pkgs) binutils-unwrapped;
inherit (pkgs.llvmPackages_7) llvm clang-unwrapped; inherit (pkgs.llvmPackages_7) llvm clang-unwrapped;
}; };
@ -31,17 +48,21 @@ in
if stdenv.targetPlatform != stdenv.hostPlatform if stdenv.targetPlatform != stdenv.hostPlatform
then pkgs.libcCross then pkgs.libcCross
else pkgs.stdenv.cc.libc; else pkgs.stdenv.cc.libc;
bintools = darwin.binutils-unwrapped; bintools = self.binutils-unwrapped;
};
binutilsNoLibc = pkgs.wrapBintoolsWith {
libc = null;
bintools = self.binutils-unwrapped;
}; };
cctools = callPackage ../os-specific/darwin/cctools/port.nix { cctools = callPackage ../os-specific/darwin/cctools/port.nix {
inherit (darwin) libobjc maloader libtapi;
stdenv = if stdenv.isDarwin then stdenv else pkgs.libcxxStdenv; stdenv = if stdenv.isDarwin then stdenv else pkgs.libcxxStdenv;
libcxxabi = pkgs.libcxxabi; libcxxabi = pkgs.libcxxabi;
}; };
# TODO: remove alias. # TODO: remove alias.
cf-private = darwin.apple_sdk.frameworks.CoreFoundation; cf-private = self.apple_sdk.frameworks.CoreFoundation;
DarwinTools = callPackage ../os-specific/darwin/DarwinTools { }; DarwinTools = callPackage ../os-specific/darwin/DarwinTools { };
@ -50,15 +71,13 @@ in
print-reexports = callPackage ../os-specific/darwin/apple-sdk/print-reexports { }; print-reexports = callPackage ../os-specific/darwin/apple-sdk/print-reexports { };
maloader = callPackage ../os-specific/darwin/maloader { maloader = callPackage ../os-specific/darwin/maloader {
inherit (darwin) opencflite;
}; };
insert_dylib = callPackage ../os-specific/darwin/insert_dylib { }; insert_dylib = callPackage ../os-specific/darwin/insert_dylib { };
iosSdkPkgs = darwin.callPackage ../os-specific/darwin/xcode/sdk-pkgs.nix { iosSdkPkgs = callPackage ../os-specific/darwin/xcode/sdk-pkgs.nix {
buildIosSdk = buildPackages.darwin.iosSdkPkgs.sdk; buildIosSdk = buildPackages.darwin.iosSdkPkgs.sdk;
targetIosSdkPkgs = targetPackages.darwin.iosSdkPkgs; targetIosSdkPkgs = targetPackages.darwin.iosSdkPkgs;
xcode = darwin.xcode;
inherit (pkgs.llvmPackages) clang-unwrapped; inherit (pkgs.llvmPackages) clang-unwrapped;
}; };
@ -70,13 +89,13 @@ in
opencflite = callPackage ../os-specific/darwin/opencflite { }; opencflite = callPackage ../os-specific/darwin/opencflite { };
stubs = callPackages ../os-specific/darwin/stubs { }; stubs = pkgs.callPackages ../os-specific/darwin/stubs { };
trash = darwin.callPackage ../os-specific/darwin/trash { }; trash = callPackage ../os-specific/darwin/trash { };
usr-include = callPackage ../os-specific/darwin/usr-include { }; usr-include = callPackage ../os-specific/darwin/usr-include { };
inherit (callPackages ../os-specific/darwin/xcode { }) inherit (pkgs.callPackages ../os-specific/darwin/xcode { })
xcode_8_1 xcode_8_2 xcode_8_1 xcode_8_2
xcode_9_1 xcode_9_2 xcode_9_4 xcode_9_4_1 xcode_9_1 xcode_9_2 xcode_9_4 xcode_9_4_1
xcode_10_2 xcode_10_2_1 xcode_10_3 xcode_10_2 xcode_10_2_1 xcode_10_3
@ -85,10 +104,10 @@ in
CoreSymbolication = callPackage ../os-specific/darwin/CoreSymbolication { }; CoreSymbolication = callPackage ../os-specific/darwin/CoreSymbolication { };
CF = callPackage ../os-specific/darwin/swift-corelibs/corefoundation.nix { inherit (darwin) objc4 ICU; }; CF = callPackage ../os-specific/darwin/swift-corelibs/corefoundation.nix { };
# As the name says, this is broken, but I don't want to lose it since it's a direction we want to go in # As the name says, this is broken, but I don't want to lose it since it's a direction we want to go in
# libdispatch-broken = callPackage ../os-specific/darwin/swift-corelibs/libdispatch.nix { inherit (darwin) apple_sdk_sierra xnu; }; # libdispatch-broken = callPackage ../os-specific/darwin/swift-corelibs/libdispatch.nix { };
darling = callPackage ../os-specific/darwin/darling/default.nix { }; darling = callPackage ../os-specific/darwin/darling/default.nix { };
@ -96,8 +115,6 @@ in
ios-deploy = callPackage ../os-specific/darwin/ios-deploy {}; ios-deploy = callPackage ../os-specific/darwin/ios-deploy {};
discrete-scroll = callPackage ../os-specific/darwin/discrete-scroll { discrete-scroll = callPackage ../os-specific/darwin/discrete-scroll { };
inherit (darwin.apple_sdk.frameworks) Cocoa;
};
}) })

View file

@ -1733,6 +1733,8 @@ in {
decorator = callPackage ../development/python-modules/decorator { }; decorator = callPackage ../development/python-modules/decorator { };
decopatch = callPackage ../development/python-modules/decopatch { };
deep_merge = callPackage ../development/python-modules/deep_merge { }; deep_merge = callPackage ../development/python-modules/deep_merge { };
deepdiff = callPackage ../development/python-modules/deepdiff { }; deepdiff = callPackage ../development/python-modules/deepdiff { };
@ -6275,6 +6277,8 @@ in {
pytest-cache = self.pytestcache; # added 2021-01-04 pytest-cache = self.pytestcache; # added 2021-01-04
pytestcache = callPackage ../development/python-modules/pytestcache { }; pytestcache = callPackage ../development/python-modules/pytestcache { };
pytest-cases = callPackage ../development/python-modules/pytest-cases{ };
pytest-catchlog = callPackage ../development/python-modules/pytest-catchlog { }; pytest-catchlog = callPackage ../development/python-modules/pytest-catchlog { };
pytest-celery = callPackage ../development/python-modules/pytest-celery { }; pytest-celery = callPackage ../development/python-modules/pytest-celery { };

View file

@ -25,7 +25,7 @@ self: super: let
}; in stdenv // { }; in stdenv // {
mkDerivation = args: stdenv.mkDerivation (args // { mkDerivation = args: stdenv.mkDerivation (args // {
NIX_CFLAGS_LINK = toString (args.NIX_CFLAGS_LINK or "") NIX_CFLAGS_LINK = toString (args.NIX_CFLAGS_LINK or "")
+ optionalString stdenv.cc.isGNU " -static-libgcc"; + optionalString (stdenv_.cc.isGNU or false) " -static-libgcc";
nativeBuildInputs = (args.nativeBuildInputs or []) ++ [ (makeSetupHook { nativeBuildInputs = (args.nativeBuildInputs or []) ++ [ (makeSetupHook {
substitutions = { substitutions = {
libsystem = "${stdenv.cc.libc}/lib/libSystem.B.dylib"; libsystem = "${stdenv.cc.libc}/lib/libSystem.B.dylib";