diff options
34 files changed, 613 insertions, 289 deletions
diff --git a/lib/customisation.nix b/lib/customisation.nix index 37a7951896b..c17cb0d0f8e 100644 --- a/lib/customisation.nix +++ b/lib/customisation.nix @@ -219,16 +219,17 @@ rec { /* Like the above, but aims to support cross compilation. It's still ugly, but hopefully it helps a little bit. */ - makeScopeWithSplicing = splicePackages: newScope: otherSplices: keep: f: + makeScopeWithSplicing = splicePackages: newScope: otherSplices: keep: extra: f: let - spliced = splicePackages { + spliced0 = splicePackages { pkgsBuildBuild = otherSplices.selfBuildBuild; pkgsBuildHost = otherSplices.selfBuildHost; pkgsBuildTarget = otherSplices.selfBuildTarget; pkgsHostHost = otherSplices.selfHostHost; pkgsHostTarget = self; # Not `otherSplices.selfHostTarget`; pkgsTargetTarget = otherSplices.selfTargetTarget; - } // keep self; + }; + spliced = extra spliced0 // spliced0 // keep self; self = f self // { newScope = scope: newScope (spliced // scope); callPackage = newScope spliced; # == self.newScope {}; @@ -239,6 +240,7 @@ rec { newScope otherSplices keep + extra (lib.fixedPoints.extends g f); packages = f; }; diff --git a/nixos/modules/services/misc/home-assistant.nix b/nixos/modules/services/misc/home-assistant.nix index 1985f130881..1e33381de24 100644 --- a/nixos/modules/services/misc/home-assistant.nix +++ b/nixos/modules/services/misc/home-assistant.nix @@ -298,7 +298,7 @@ in { ProtectKernelModules = true; ProtectKernelTunables = true; ProtectProc = "invisible"; - ProcSubset = "pid"; + ProcSubset = "all"; ProtectSystem = "strict"; RemoveIPC = true; ReadWritePaths = let @@ -308,9 +308,10 @@ in { allowPaths = if isList value then value else singleton value; in [ "${cfg.configDir}" ] ++ allowPaths; RestrictAddressFamilies = [ - "AF_UNIX" "AF_INET" "AF_INET6" + "AF_NETLINK" + "AF_UNIX" ] ++ optionals (useComponent "bluetooth_tracker" || useComponent "bluetooth_le_tracker") [ "AF_BLUETOOTH" ]; diff --git a/nixos/modules/services/monitoring/netdata.nix b/nixos/modules/services/monitoring/netdata.nix index 007024c04ce..c2ee1c0df7f 100644 --- a/nixos/modules/services/monitoring/netdata.nix +++ b/nixos/modules/services/monitoring/netdata.nix @@ -149,8 +149,9 @@ in { description = "Real time performance monitoring"; after = [ "network.target" ]; wantedBy = [ "multi-user.target" ]; - path = (with pkgs; [ curl gawk which ]) ++ lib.optional cfg.python.enable - (pkgs.python3.withPackages cfg.python.extraPackages); + path = (with pkgs; [ curl gawk iproute2 which ]) + ++ lib.optional cfg.python.enable (pkgs.python3.withPackages cfg.python.extraPackages) + ++ lib.optional config.virtualisation.libvirtd.enable (config.virtualisation.libvirtd.package); environment = { PYTHONPATH = "${cfg.package}/libexec/netdata/python.d/python_modules"; } // lib.optionalAttrs (!cfg.enableAnalyticsReporting) { @@ -182,6 +183,9 @@ in { ConfigurationDirectory = "netdata"; ConfigurationDirectoryMode = "0755"; # Capabilities + AmbientCapabilities = [ + "CAP_SETUID" # is required for cgroups and cgroups-network plugins + ]; CapabilityBoundingSet = [ "CAP_DAC_OVERRIDE" # is required for freeipmi and slabinfo plugins "CAP_DAC_READ_SEARCH" # is required for apps plugin @@ -191,6 +195,8 @@ in { "CAP_SYS_PTRACE" # is required for apps plugin "CAP_SYS_RESOURCE" # is required for ebpf plugin "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 ProtectSystem = "full"; diff --git a/pkgs/applications/audio/clementine/default.nix b/pkgs/applications/audio/clementine/default.nix index b84b4e6aa9a..0b82bbd8d84 100644 --- a/pkgs/applications/audio/clementine/default.nix +++ b/pkgs/applications/audio/clementine/default.nix @@ -1,5 +1,5 @@ { 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 , libpulseaudio, gvfs, libcdio, libechonest, libspotify, pcre, projectm, protobuf , qca2, pkg-config, sparsehash, config, makeWrapper, gst_plugins }: @@ -45,6 +45,7 @@ let qjson qtbase qtx11extras + qttools sqlite taglib ] diff --git a/pkgs/applications/blockchains/polkadot/default.nix b/pkgs/applications/blockchains/polkadot/default.nix index c531cc3a88e..9f3ee908300 100644 --- a/pkgs/applications/blockchains/polkadot/default.nix +++ b/pkgs/applications/blockchains/polkadot/default.nix @@ -7,16 +7,16 @@ }: rustPlatform.buildRustPackage rec { pname = "polkadot"; - version = "0.8.30"; + version = "0.9.0"; src = fetchFromGitHub { owner = "paritytech"; repo = "polkadot"; rev = "v${version}"; - sha256 = "sha256-9GCk1gqlQJhuoiKRi7J1qcJlZjlq2ObGicp5tGGDhrY="; + sha256 = "sha256-Y52VFTjRFyC38ZNt6NMtVRA2pn6Y4B/NC4EEuDvIFQQ="; }; - cargoSha256 = "sha256-pWqbcargCEkisdGnj08VQdRqjocR7zZhWukhYjfZDqI="; + cargoSha256 = "sha256-0GrExza6uPF/eFWrXlM4MpCD7TMk2y+uEc5SDj/UQkg="; nativeBuildInputs = [ clang ]; @@ -36,7 +36,7 @@ rustPlatform.buildRustPackage rec { description = "Polkadot Node Implementation"; homepage = "https://polkadot.network"; license = licenses.gpl3Only; - maintainers = with maintainers; [ akru andresilva asymmetric RaghavSood ]; + maintainers = with maintainers; [ akru andresilva asymmetric FlorianFranzen RaghavSood ]; platforms = platforms.linux; }; } diff --git a/pkgs/applications/blockchains/turbo-geth.nix b/pkgs/applications/blockchains/turbo-geth.nix index 3c56e0bbb2b..a43feff97a3 100644 --- a/pkgs/applications/blockchains/turbo-geth.nix +++ b/pkgs/applications/blockchains/turbo-geth.nix @@ -2,28 +2,29 @@ buildGoModule rec { pname = "turbo-geth"; - version = "2021.02.01"; + version = "2021.04.05"; src = fetchFromGitHub { owner = "ledgerwatch"; repo = pname; rev = "v${version}"; - sha256 = "sha256-9z0Hogu/VgGxvgQMKIImv+qyTqTmR40JS4NNIOk5EZI="; + sha256 = "sha256-RTPNJASNFyZ6tDJj0WOqALyxRsOLJzPy0qA1c2sSxys="; }; - vendorSha256 = "sha256-Ho68+SzYELQN4DE57LNSXeHIu43zAOb7HK/jx7PFdXk="; + vendorSha256 = "01c7lb6n00ws60dfybir0z5dbn6h68p5s4hbq0ga2g7drf3l3y0p"; runVend = true; subPackages = [ "cmd/tg" - "cmd/restapi" + "cmd/evm" "cmd/rpcdaemon" + "cmd/rlpdump" ]; meta = with lib; { homepage = "https://github.com/ledgerwatch/turbo-geth/"; 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 ]; }; } diff --git a/pkgs/applications/kde/k3b.nix b/pkgs/applications/kde/k3b.nix index cc9763961f8..eed3a4fac12 100644 --- a/pkgs/applications/kde/k3b.nix +++ b/pkgs/applications/kde/k3b.nix @@ -4,7 +4,7 @@ , flac, lame, libmad, libmpcdec, libvorbis , libsamplerate, libsndfile, taglib , cdparanoia, cdrdao, cdrtools, dvdplusrwtools, libburn, libdvdcss, libdvdread, vcdimager -, ffmpeg_3, libmusicbrainz3, normalize, sox, transcode, kinit +, ffmpeg, libmusicbrainz3, normalize, sox, transcode, kinit }: mkDerivation { @@ -25,7 +25,7 @@ mkDerivation { # cd/dvd cdparanoia libdvdcss libdvdread # others - ffmpeg_3 libmusicbrainz3 shared-mime-info + ffmpeg libmusicbrainz3 shared-mime-info ]; propagatedUserEnvPkgs = [ (lib.getBin kinit) ]; postFixup = diff --git a/pkgs/applications/networking/browsers/chromium/upstream-info.json b/pkgs/applications/networking/browsers/chromium/upstream-info.json index 7a4f82e2204..3b41f63351b 100644 --- a/pkgs/applications/networking/browsers/chromium/upstream-info.json +++ b/pkgs/applications/networking/browsers/chromium/upstream-info.json @@ -18,9 +18,9 @@ } }, "beta": { - "version": "91.0.4472.27", - "sha256": "09mhrzfza9a2zfsnxskbdbk9cwxnswgprhnyv3pj0f215cva20sq", - "sha256bin64": "1iwjf993pmhm9r92h4hskfxqc9fhky3aabvmdsqys44251j3hvwg", + "version": "91.0.4472.38", + "sha256": "13kikqyxs7p25j7mxnr42614y92vmwsjqfd51dwdjh7wc2hb644a", + "sha256bin64": "1kjawp7q6r1r50h69jwrw84gqrya1jc8bq6x7bdplxlzgvy9qs3z", "deps": { "gn": { "version": "2021-04-06", diff --git a/pkgs/applications/networking/cluster/kubecfg/default.nix b/pkgs/applications/networking/cluster/kubecfg/default.nix index 4fda7db9f19..d9740c759a1 100644 --- a/pkgs/applications/networking/cluster/kubecfg/default.nix +++ b/pkgs/applications/networking/cluster/kubecfg/default.nix @@ -1,6 +1,6 @@ { lib, buildGoPackage, fetchFromGitHub, ... }: -let version = "0.18.0"; in +let version = "0.19.0"; in buildGoPackage { pname = "kubecfg"; @@ -10,7 +10,7 @@ buildGoPackage { owner = "bitnami"; repo = "kubecfg"; rev = "v${version}"; - sha256 = "sha256-TJbuJZDj9ZwEaN8LV/M30+5+IgN8EZCTTBBDB0OgdEE="; + sha256 = "sha256-G3yLpo/6hv6t3i6b/KMgoZqltyGDddg/SsNPF8hNeUg="; }; goPackagePath = "github.com/bitnami/kubecfg"; diff --git a/pkgs/applications/networking/nym/default.nix b/pkgs/applications/networking/nym/default.nix index 528db85092c..9251862ba6e 100644 --- a/pkgs/applications/networking/nym/default.nix +++ b/pkgs/applications/networking/nym/default.nix @@ -3,36 +3,26 @@ , fetchFromGitHub , pkg-config , openssl -, libredirect -, writeText }: rustPlatform.buildRustPackage rec { pname = "nym"; - version = "0.8.1"; + version = "0.10.0"; src = fetchFromGitHub { owner = "nymtech"; repo = "nym"; rev = "v${version}"; - sha256 = "0wzk9qzjyax73lfjbbag412vw1fgk2wmhhry5hdlvdbkim42m5bn"; + sha256 = "sha256-7x+B+6T0cnEOjXevA5n1k/SY1Q2tcu0bbZ9gIGoljw0="; }; - # fix outdated Cargo.lock - 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"; + cargoSha256 = "0a7yja0ihjc66fqlshlaxpnpcpdy7h7gbv6120w2cr605qdnqvkx"; nativeBuildInputs = [ pkg-config ]; buildInputs = [ openssl ]; + patches = [ ./ignore-networking-tests.patch ]; checkType = "debug"; passthru.updateScript = ./update.sh; diff --git a/pkgs/applications/networking/nym/ignore-networking-tests.patch b/pkgs/applications/networking/nym/ignore-networking-tests.patch new file mode 100644 index 00000000000..e971557e7ce --- /dev/null +++ b/pkgs/applications/networking/nym/ignore-networking-tests.patch @@ -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"; + diff --git a/pkgs/development/interpreters/python/default.nix b/pkgs/development/interpreters/python/default.nix index d74e017d830..5f13418aa58 100644 --- a/pkgs/development/interpreters/python/default.nix +++ b/pkgs/development/interpreters/python/default.nix @@ -69,6 +69,7 @@ with pkgs; recursivePthLoader ; }; + extra = _: {}; optionalExtensions = cond: as: if cond then as else []; python2Extension = import ../../../top-level/python2-packages.nix; extensions = lib.composeManyExtensions ((optionalExtensions (!self.isPy3k) [python2Extension]) ++ [ overrides ]); @@ -77,6 +78,7 @@ with pkgs; pkgs.newScope otherSplices keep + extra (lib.extends extensions pythonPackagesFun)) { overrides = packageOverrides; diff --git a/pkgs/development/python-modules/PyRMVtransport/default.nix b/pkgs/development/python-modules/PyRMVtransport/default.nix index 4079feb93ec..aee4789f93b 100644 --- a/pkgs/development/python-modules/PyRMVtransport/default.nix +++ b/pkgs/development/python-modules/PyRMVtransport/default.nix @@ -13,7 +13,7 @@ buildPythonPackage rec { pname = "PyRMVtransport"; - version = "0.3.1"; + version = "0.3.2"; format = "pyproject"; disabled = pythonOlder "3.6"; @@ -21,7 +21,7 @@ buildPythonPackage rec { owner = "cgtobi"; repo = pname; rev = "v${version}"; - sha256 = "1savzndg8l7rrc5dgzgsrdz9hnnjfv6qs5drznqmdw4f2rq84ypa"; + sha256 = "0m74m3dhxmbv10hsvs7cpshzs3pg66va5lyq94i5j1nxrl9i7spb"; }; nativeBuildInputs = [ @@ -42,11 +42,6 @@ buildPythonPackage rec { pytest-httpx ]; - disabledTests = [ - # fails with pytest-httpx>=0.12.0 - "test__query_rmv_api_fail" - ]; - meta = with lib; { homepage = "https://github.com/cgtobi/PyRMVtransport"; description = "Get transport information from opendata.rmv.de"; diff --git a/pkgs/development/python-modules/decopatch/default.nix b/pkgs/development/python-modules/decopatch/default.nix new file mode 100644 index 00000000000..7fa3c6465db --- /dev/null +++ b/pkgs/development/python-modules/decopatch/default.nix @@ -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 ]; + }; +} diff --git a/pkgs/development/python-modules/labelbox/default.nix b/pkgs/development/python-modules/labelbox/default.nix index ce7cff4d79b..957b8ad5fd1 100644 --- a/pkgs/development/python-modules/labelbox/default.nix +++ b/pkgs/development/python-modules/labelbox/default.nix @@ -1,38 +1,67 @@ { lib +, backoff +, backports-datetime-fromisoformat , buildPythonPackage -, fetchPypi -, requests +, dataclasses +, fetchFromGitHub +, google-api-core , jinja2 +, ndjson , pillow +, pydantic +, pytest-cases +, pytestCheckHook +, pythonOlder , rasterio +, requests , shapely -, ndjson -, backoff -, google-api-core -, backports-datetime-fromisoformat }: buildPythonPackage rec { pname = "labelbox"; - version = "2.5.1"; + version = "2.5.4"; + disabled = pythonOlder "3.6"; - src = fetchPypi { - inherit pname version; - sha256 = "7f2cbc5d4869d8acde865ad519fc1cc85338247cd7cf534334f988a040679219"; + src = fetchFromGitHub { + owner = "Labelbox"; + repo = "labelbox-python"; + rev = "v${version}"; + sha256 = "0182klvm8bjcm8fkl9w8ypj12s026czgid8ldl6jjvmzhxpmss68"; }; propagatedBuildInputs = [ - jinja2 requests pillow rasterio shapely ndjson backoff - google-api-core backports-datetime-fromisoformat + backoff + 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" ]; meta = with lib; { - homepage = "https://github.com/Labelbox/Labelbox"; description = "Platform API for LabelBox"; + homepage = "https://github.com/Labelbox/labelbox-python"; license = licenses.asl20; maintainers = with maintainers; [ rakesh4g ]; }; diff --git a/pkgs/development/python-modules/pytest-cases/default.nix b/pkgs/development/python-modules/pytest-cases/default.nix new file mode 100644 index 00000000000..2914b3cf9aa --- /dev/null +++ b/pkgs/development/python-modules/pytest-cases/default.nix @@ -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 ]; + }; +} diff --git a/pkgs/development/python-modules/zwave-js-server-python/default.nix b/pkgs/development/python-modules/zwave-js-server-python/default.nix index 61dba04a79e..11d1231b48d 100644 --- a/pkgs/development/python-modules/zwave-js-server-python/default.nix +++ b/pkgs/development/python-modules/zwave-js-server-python/default.nix @@ -9,7 +9,7 @@ buildPythonPackage rec { pname = "zwave-js-server-python"; - version = "0.23.1"; + version = "0.24.0"; disabled = pythonOlder "3.8"; @@ -17,7 +17,7 @@ buildPythonPackage rec { owner = "home-assistant-libs"; repo = pname; rev = version; - sha256 = "0kmmhn357k22ana0ysd8jlz1fyfaqlc8k74ryaik0rrw7nmn1n11"; + sha256 = "sha256-LHAlGWoASDiFwvy59uXl5GH5pPmMuthoo4ZrFegkCIU="; }; propagatedBuildInputs = [ diff --git a/pkgs/os-specific/bsd/netbsd/default.nix b/pkgs/os-specific/bsd/netbsd/default.nix index 261704cba69..801d574b5bc 100644 --- a/pkgs/os-specific/bsd/netbsd/default.nix +++ b/pkgs/os-specific/bsd/netbsd/default.nix @@ -26,7 +26,8 @@ in lib.makeScopeWithSplicing splicePackages newScope otherSplices - {} + (_: {}) + (_: {}) (self: let inherit (self) mkDerivation; in { diff --git a/pkgs/os-specific/darwin/apple-source-releases/default.nix b/pkgs/os-specific/darwin/apple-source-releases/default.nix index 23434931542..3e431810f20 100644 --- a/pkgs/os-specific/darwin/apple-source-releases/default.nix +++ b/pkgs/os-specific/darwin/apple-source-releases/default.nix @@ -1,9 +1,6 @@ -{ lib, stdenv, fetchurl, fetchzip, pkgs }: +{ lib, stdenv, stdenvNoCC, fetchurl, fetchzip, pkgs }: 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 # 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 @@ -190,17 +187,6 @@ let }) // (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 = { IOAudioFamily = fetchApple "osx-10.10.5" "0ggq7za3iq8g02j16rj67prqhrw828jsw3ah3bxq8a1cvr55aqnq"; 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; +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. It’s 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" {}; - # TODO: shorten this list, we should cut down to a minimum set of bootstrap or necessary packages here. - stubPackages = { +in + +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; architecture = applePackage "architecture" "osx-10.11.6" "1pbpjcd7is69hn8y29i98ci0byik826if8gnp824ha92h90w0fq3" {}; bsdmake = applePackage "bsdmake" "dev-tools-3.2.6" "11a9kkhz5bfgi1i8kpdkis78lhc6b5vxmhd598fcdgra1jw4iac2" {}; @@ -290,7 +300,4 @@ let # TODO(matthewbauer): # To be removed, once I figure out how to build a newer Security version. Security = applePackage "Security/boot.nix" "osx-10.9.5" "1nv0dczf67dhk17hscx52izgdcyacgyy12ag0jh6nl5hmfzsn8yy" {}; - }; - - packages = developerToolsPackages_11_3_1 // macosPackages_11_0_1 // stubPackages; -in packages +} diff --git a/pkgs/servers/home-assistant/component-packages.nix b/pkgs/servers/home-assistant/component-packages.nix index b6e8dedf2ec..28b7aed5f39 100644 --- a/pkgs/servers/home-assistant/component-packages.nix +++ b/pkgs/servers/home-assistant/component-packages.nix @@ -2,7 +2,7 @@ # Do not edit! { - version = "2021.4.6"; + version = "2021.5.0"; components = { "abode" = ps: with ps; [ abodepy ]; "accuweather" = ps: with ps; [ accuweather ]; @@ -40,7 +40,7 @@ "apcupsd" = ps: with ps; [ ]; # missing inputs: apcaccess "api" = ps: with ps; [ aiohttp-cors ]; "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 ]; "aprs" = ps: with ps; [ geopy ]; # missing inputs: aprslib "aqualogic" = ps: with ps; [ aqualogic ]; @@ -110,7 +110,7 @@ "calendar" = ps: with ps; [ aiohttp-cors ]; "camera" = ps: with ps; [ aiohttp-cors ]; "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; [ ]; "channels" = ps: with ps; [ pychannels ]; "circuit" = ps: with ps; [ ]; # missing inputs: circuit-webhook @@ -133,6 +133,7 @@ "comed_hourly_pricing" = ps: with ps; [ ]; "comfoconnect" = ps: with ps; [ pycomfoconnect ]; "command_line" = ps: with ps; [ ]; + "compensation" = ps: with ps; [ numpy ]; "concord232" = ps: with ps; [ ]; # missing inputs: concord232 "config" = ps: with ps; [ aiohttp-cors ]; "configurator" = ps: with ps; [ ]; @@ -155,28 +156,28 @@ "deconz" = ps: with ps; [ pydeconz ]; "decora" = ps: with ps; [ bluepy ]; # missing inputs: decora "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 "deluge" = ps: with ps; [ deluge-client ]; "demo" = ps: with ps; [ aiohttp-cors ]; "denon" = ps: with ps; [ ]; - "denonavr" = ps: with ps; [ denonavr getmac ]; + "denonavr" = ps: with ps; [ denonavr ]; "derivative" = ps: with ps; [ ]; "deutsche_bahn" = ps: with ps; [ schiene ]; "device_automation" = ps: with ps; [ ]; "device_sun_light_trigger" = ps: with ps; [ aiohttp-cors pillow ]; "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 ]; "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 ]; "digital_ocean" = ps: with ps; [ digital-ocean ]; "digitalloggers" = ps: with ps; [ ]; # missing inputs: dlipower "directv" = ps: with ps; [ ]; # missing inputs: directv "discogs" = ps: with ps; [ discogs_client ]; "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_identify" = ps: with ps; [ face_recognition ]; "dlink" = ps: with ps; [ ]; # missing inputs: pyW215 @@ -196,7 +197,7 @@ "dwd_weather_warnings" = ps: with ps; [ dwdwfsapi ]; "dweet" = ps: with ps; [ ]; # missing inputs: dweepy "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 ]; "ebox" = ps: with ps; [ ]; # missing inputs: pyebox "ebusd" = ps: with ps; [ ]; # missing inputs: ebusdpy @@ -218,6 +219,7 @@ "emby" = ps: with ps; [ pyemby ]; "emoncms" = ps: with ps; [ ]; "emoncms_history" = ps: with ps; [ ]; + "emonitor" = ps: with ps; [ aioemonitor ]; "emulated_hue" = ps: with ps; [ aiohttp-cors ]; "emulated_kasa" = ps: with ps; [ ]; # missing inputs: sense_energy "emulated_roku" = ps: with ps; [ ]; # missing inputs: emulated_roku @@ -232,13 +234,13 @@ "epson" = ps: with ps; [ ]; # missing inputs: epson-projector "epsonworkforce" = ps: with ps; [ ]; # missing inputs: epsonprinter "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 "etherscan" = ps: with ps; [ ]; # missing inputs: python-etherscan-api "eufy" = ps: with ps; [ ]; # missing inputs: lakeside "everlights" = ps: with ps; [ pyeverlights ]; "evohome" = ps: with ps; [ evohome-async ]; - "ezviz" = ps: with ps; [ pyezviz ]; + "ezviz" = ps: with ps; [ ha-ffmpeg pyezviz ]; "faa_delays" = ps: with ps; [ faadelays ]; "facebook" = ps: with ps; [ ]; "facebox" = ps: with ps; [ ]; @@ -280,7 +282,7 @@ "free_mobile" = ps: with ps; [ ]; # missing inputs: freesms "freebox" = ps: with ps; [ freebox-api ]; "freedns" = ps: with ps; [ ]; - "fritz" = ps: with ps; [ fritzconnection ]; + "fritz" = ps: with ps; [ fritzconnection xmltodict ]; "fritzbox" = ps: with ps; [ pyfritzhome ]; "fritzbox_callmonitor" = ps: with ps; [ fritzconnection ]; "fritzbox_netmonitor" = ps: with ps; [ fritzconnection ]; @@ -292,7 +294,6 @@ "garmin_connect" = ps: with ps; [ ]; # missing inputs: garminconnect "gc100" = ps: with ps; [ ]; # missing inputs: python-gc100 "gdacs" = ps: with ps; [ ]; # missing inputs: aio_georss_gdacs - "geizhals" = ps: with ps; [ ]; # missing inputs: geizhals "generic" = ps: with ps; [ ]; "generic_thermostat" = ps: with ps; [ ]; "geniushub" = ps: with ps; [ ]; # missing inputs: geniushub-client @@ -354,8 +355,8 @@ "home_connect" = ps: with ps; [ aiohttp-cors homeconnect ]; "home_plus_control" = ps: with ps; [ aiohttp-cors homepluscontrol ]; "homeassistant" = ps: with ps; [ ]; - "homekit" = ps: with ps; [ HAP-python pyqrcode pyturbojpeg aiohttp-cors base36 fnvhash ha-ffmpeg zeroconf ]; - "homekit_controller" = ps: with ps; [ aiohomekit aiohttp-cors 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 pyroute2 zeroconf ]; "homematic" = ps: with ps; [ pyhomematic ]; "homematicip_cloud" = ps: with ps; [ homematicip ]; "homeworks" = ps: with ps; [ ]; # missing inputs: pyhomeworks @@ -374,6 +375,7 @@ "hvv_departures" = ps: with ps; [ ]; # missing inputs: pygti "hydrawise" = ps: with ps; [ hydrawiser ]; "hyperion" = ps: with ps; [ hyperion-py ]; + "ialarm" = ps: with ps; [ ]; # missing inputs: pyialarm "iammeter" = ps: with ps; [ ]; # missing inputs: iammeter "iaqualink" = ps: with ps; [ iaqualink ]; "icloud" = ps: with ps; [ pyicloud ]; @@ -398,7 +400,7 @@ "intent" = ps: with ps; [ aiohttp-cors ]; "intent_script" = ps: with ps; [ ]; "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 "iperf3" = ps: with ps; [ ]; # missing inputs: iperf3 "ipma" = ps: with ps; [ ]; # missing inputs: pyipma @@ -427,6 +429,7 @@ "knx" = ps: with ps; [ xknx ]; "kodi" = ps: with ps; [ pykodi ]; "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 "kwb" = ps: with ps; [ ]; # missing inputs: pykwb "lacrosse" = ps: with ps; [ pylacrosse ]; @@ -492,6 +495,7 @@ "meraki" = ps: with ps; [ aiohttp-cors ]; "message_bird" = ps: with ps; [ ]; # missing inputs: messagebird "met" = ps: with ps; [ pymetno ]; + "met_eireann" = ps: with ps; [ ]; # missing inputs: pyMetEireann "meteo_france" = ps: with ps; [ ]; # missing inputs: meteofrance-api "meteoalarm" = ps: with ps; [ ]; # missing inputs: meteoalertapi "metoffice" = ps: with ps; [ ]; # missing inputs: datapoint @@ -517,6 +521,7 @@ "monoprice" = ps: with ps; [ ]; # missing inputs: pymonoprice "moon" = ps: with ps; [ ]; "motion_blinds" = ps: with ps; [ ]; # missing inputs: motionblinds + "motioneye" = ps: with ps; [ ]; # missing inputs: motioneye-client "mpchc" = ps: with ps; [ ]; "mpd" = ps: with ps; [ mpd2 ]; "mqtt" = ps: with ps; [ aiohttp-cors paho-mqtt ]; @@ -526,6 +531,7 @@ "mqtt_statestream" = ps: with ps; [ aiohttp-cors paho-mqtt ]; "msteams" = ps: with ps; [ pymsteams ]; "mullvad" = ps: with ps; [ mullvad-api ]; + "mutesync" = ps: with ps; [ ]; # missing inputs: mutesync "mvglive" = ps: with ps; [ PyMVGLive ]; "my" = ps: with ps; [ aiohttp-cors pillow ]; "mychevy" = ps: with ps; [ ]; # missing inputs: mychevy @@ -577,7 +583,7 @@ "nzbget" = ps: with ps; [ ]; # missing inputs: pynzbgetapi "oasa_telematics" = ps: with ps; [ ]; # missing inputs: oasatelematics "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 "ohmconnect" = ps: with ps; [ defusedxml ]; "ombi" = ps: with ps; [ ]; # missing inputs: pyombi @@ -623,6 +629,7 @@ "philips_js" = ps: with ps; [ ]; # missing inputs: ha-philipsjs "pi4ioe5v9xxxx" = ps: with ps; [ ]; # missing inputs: pi4ioe5v9xxxx "pi_hole" = ps: with ps; [ hole ]; + "picnic" = ps: with ps; [ python-picnic-api ]; "picotts" = ps: with ps; [ ]; "piglow" = ps: with ps; [ ]; # missing inputs: piglow "pilight" = ps: with ps; [ ]; # missing inputs: pilight @@ -708,7 +715,7 @@ "ruckus_unleashed" = ps: with ps; [ pyruckus ]; "russound_rio" = ps: with ps; [ ]; # missing inputs: russound_rio "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 ]; "saj" = ps: with ps; [ ]; # missing inputs: pysaj "samsungtv" = ps: with ps; [ samsungctl samsungtvws ]; @@ -767,7 +774,6 @@ "snips" = ps: with ps; [ aiohttp-cors paho-mqtt ]; "snmp" = ps: with ps; [ pysnmp ]; "sochain" = ps: with ps; [ ]; # missing inputs: python-sochain-api - "socialblade" = ps: with ps; [ ]; # missing inputs: socialbladeclient "solaredge" = ps: with ps; [ solaredge stringcase ]; "solaredge_local" = ps: with ps; [ ]; # missing inputs: solaredge-local "solarlog" = ps: with ps; [ ]; # missing inputs: sunwatcher @@ -779,7 +785,7 @@ "songpal" = ps: with ps; [ ]; # missing inputs: python-songpal "sonos" = ps: with ps; [ aiohttp-cors plexapi plexauth plexwebsocket pysonos ]; "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 ]; "spc" = ps: with ps; [ ]; # missing inputs: pyspcwebgw "speedtestdotnet" = ps: with ps; [ speedtest-cli ]; @@ -790,7 +796,7 @@ "sql" = ps: with ps; [ sqlalchemy ]; "squeezebox" = ps: with ps; [ pysqueezebox ]; "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 "starlingbank" = ps: with ps; [ ]; # missing inputs: starlingbank "startca" = ps: with ps; [ xmltodict ]; @@ -840,7 +846,7 @@ "telnet" = ps: with ps; [ ]; "temper" = ps: with ps; [ ]; # missing inputs: temperusb "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 ]; "tfiac" = ps: with ps; [ ]; # missing inputs: pytfiac "thermoworks_smoke" = ps: with ps; [ stringcase ]; # missing inputs: thermoworks_smoke @@ -958,7 +964,7 @@ "xbox_live" = ps: with ps; [ xboxapi ]; "xeoma" = ps: with ps; [ pyxeoma ]; "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_tv" = ps: with ps; [ pymitv ]; "xmpp" = ps: with ps; [ slixmpp ]; @@ -974,10 +980,10 @@ "zabbix" = ps: with ps; [ ]; # missing inputs: py-zabbix "zamg" = ps: with ps; [ ]; "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 ]; "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 "ziggo_mediabox_xl" = ps: with ps; [ ]; # missing inputs: ziggo-mediabox-xl "zodiac" = ps: with ps; [ ]; diff --git a/pkgs/servers/home-assistant/default.nix b/pkgs/servers/home-assistant/default.nix index c836d85ac9b..4df380e2b5a 100644 --- a/pkgs/servers/home-assistant/default.nix +++ b/pkgs/servers/home-assistant/default.nix @@ -22,24 +22,6 @@ let defaultOverrides = [ # 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 # https://github.com/home-assistant/core/pull/48137 was merged (self: super: { @@ -59,26 +41,6 @@ let (mkOverride "pyjwt" "1.7.1" "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 # https://github.com/tchellomello/python-ring-doorbell/issues/240 (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 (self: super: { hass-frontend = self.callPackage ./frontend.nix { }; @@ -130,7 +105,7 @@ let extraBuildInputs = extraPackages py.pkgs; # Don't forget to run parse-requirements.py after updating - hassVersion = "2021.4.6"; + hassVersion = "2021.5.0"; in with py.pkgs; buildPythonApplication rec { pname = "homeassistant"; @@ -149,7 +124,7 @@ in with py.pkgs; buildPythonApplication rec { owner = "home-assistant"; repo = "core"; rev = version; - sha256 = "1s1slwcqls2prz9kgyhggs8xi3x7ghwdi33j983kvpg0gva7d2f0"; + sha256 = "1kwx0bq2i76p9gbx5kkzkjxd88vzf2daccm0wf123693isk1nwzs"; }; # 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 "cryptography==3.3.2" "cryptography" \ --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" 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" # util/test_package.py: AssertionError on package.is_installed('homeassistant>=999.999.999') "test_check_package_version_does_not_match" + # homeassistant/util/thread.py:51: SystemError + "test_executor_shutdown_can_interrupt_threads" ]; preCheck = '' diff --git a/pkgs/servers/home-assistant/frontend.nix b/pkgs/servers/home-assistant/frontend.nix index 83af5b85c87..bd490654420 100644 --- a/pkgs/servers/home-assistant/frontend.nix +++ b/pkgs/servers/home-assistant/frontend.nix @@ -4,11 +4,11 @@ buildPythonPackage rec { # 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 pname = "home-assistant-frontend"; - version = "20210407.3"; + version = "20210504.0"; src = fetchPypi { inherit pname version; - sha256 = "sha256-ucewS193kbvlk4Q+5IEYT6sfJ/H006uy0iIi8UHOzPo="; + sha256 = "sha256-rNdqflWT8bmGHtAGGfq4xVxDcnK+EZU9qejRWQPJmUI="; }; # there is nothing to strip in this package diff --git a/pkgs/stdenv/darwin/default.nix b/pkgs/stdenv/darwin/default.nix index ac10e858ed8..c2db758bbea 100644 --- a/pkgs/stdenv/darwin/default.nix +++ b/pkgs/stdenv/darwin/default.nix @@ -176,13 +176,13 @@ in rec { ''; }; - darwin = super.darwin // { + darwin = super.darwin.overrideScope (selfDarwin: superDarwin: { Libsystem = stdenv.mkDerivation { name = "bootstrap-stage0-Libsystem"; buildCommand = '' 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 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 = { name = "bootstrap-stage0-dyld"; @@ -220,10 +220,10 @@ in rec { nativeTools = false; nativeLibc = false; inherit (self) buildPackages coreutils gnugrep; - libc = self.pkgs.darwin.Libsystem; + libc = selfDarwin.Libsystem; bintools = { name = "bootstrap-stage0-binutils"; outPath = bootstrapTools; }; }; - }; + }); llvmPackages_7 = { clang-unwrapped = stdenv.mkDerivation { @@ -291,12 +291,12 @@ in rec { }); in { inherit tools libraries; } // tools // libraries); - darwin = super.darwin // { + darwin = super.darwin.overrideScope (selfDarwin: _: { binutils = darwin.binutils.override { coreutils = self.coreutils; - libc = self.darwin.Libsystem; + libc = selfDarwin.Libsystem; }; - }; + }); }; in with prevStage; stageFun 1 prevStage { extraPreHook = "export NIX_CFLAGS_COMPILE+=\" -F${bootstrapTools}/Library/Frameworks\""; @@ -337,11 +337,11 @@ in rec { }); in { inherit tools libraries; } // tools // libraries); - darwin = super.darwin // { + darwin = super.darwin.overrideScope (_: _: { inherit (darwin) binutils dyld Libsystem xnu configd ICU libdispatch libclosure launchd CF darwin-stubs; - }; + }); }; in with prevStage; stageFun 2 prevStage { extraPreHook = '' @@ -382,11 +382,11 @@ in rec { }); in { inherit libraries; } // libraries); - darwin = super.darwin // { + darwin = super.darwin.overrideScope (_: _: { inherit (darwin) dyld Libsystem xnu configd libdispatch libclosure launchd libiconv locale darwin-stubs; - }; + }); }; in with prevStage; stageFun 3 prevStage { shell = "${pkgs.bash}/bin/bash"; @@ -442,14 +442,14 @@ in rec { }); in { inherit tools libraries; } // tools // libraries); - darwin = super.darwin // rec { + darwin = super.darwin.overrideScope (_: superDarwin: { inherit (darwin) dyld Libsystem libiconv locale darwin-stubs; - CF = super.darwin.CF.override { + CF = superDarwin.CF.override { inherit libxml2; python3 = prevStage.python3; }; - }; + }); }; in with prevStage; stageFun 4 prevStage { shell = "${pkgs.bash}/bin/bash"; @@ -480,11 +480,11 @@ in rec { }); in { inherit tools libraries; } // tools // libraries); - darwin = super.darwin // { + darwin = super.darwin.overrideScope (_: _: { inherit (darwin) dyld ICU Libsystem libiconv; } // lib.optionalAttrs (super.stdenv.targetPlatform == localSystem) { inherit (darwin) binutils binutils-unwrapped cctools; - }; + }); } // lib.optionalAttrs (super.stdenv.targetPlatform == localSystem) { # Need to get rid of these when cross-compiling. inherit binutils binutils-unwrapped; @@ -539,14 +539,14 @@ in rec { ]); 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; llvmPackages = super.llvmPackages // { clang = cc; }; inherit cc; - - darwin = super.darwin // { - inherit (prevStage.darwin) CF darwin-stubs; - xnu = super.darwin.xnu.override { inherit (prevStage) python3; }; - }; }); }; diff --git a/pkgs/tools/misc/esphome/default.nix b/pkgs/tools/misc/esphome/default.nix index 12953e27956..d2b84b28533 100644 --- a/pkgs/tools/misc/esphome/default.nix +++ b/pkgs/tools/misc/esphome/default.nix @@ -1,36 +1,60 @@ -{ lib, python3, platformio, esptool, git, protobuf3_12, fetchpatch }: - -let - python = python3.override { - packageOverrides = self: super: { - protobuf = super.protobuf.override { - protobuf = protobuf3_12; - }; - }; - }; +{ lib +, python3 +, fetchFromGitHub +, platformio +, esptool +, git +}: -in python.pkgs.buildPythonApplication rec { +python3.pkgs.buildPythonApplication rec { pname = "esphome"; - version = "1.16.0"; + version = "1.17.1"; - src = python.pkgs.fetchPypi { - inherit pname version; - sha256 = "0pvwzkdcpjqdf7lh1k3xv1la5v60lhjixzykapl7f2xh71fbm144"; + src = fetchFromGitHub { + owner = pname; + repo = pname; + rev = "v${version}"; + sha256 = "0483glwi155ca1wnffwhmwn17d7kwk4hjwmckb8zs197rfqmb55v"; }; - ESPHOME_USE_SUBPROCESS = ""; - - propagatedBuildInputs = with python.pkgs; [ - voluptuous pyyaml paho-mqtt colorlog colorama - tornado protobuf tzlocal pyserial ifaddr - protobuf click - ]; - - # remove all version pinning (E.g tornado==5.1.1 -> tornado) 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 has optional dependencies it does not declare, they are + # loaded when certain config blocks are used, like `font`, `image` + # or `animation`. + # 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 + ]; + makeWrapperArgs = [ # platformio is used in esphomeyaml/platformio_api.py # esptool is used in esphomeyaml/__main__.py @@ -39,16 +63,24 @@ in python.pkgs.buildPythonApplication rec { "--set ESPHOME_USE_SUBPROCESS ''" ]; - # Platformio will try to access the network - # Instead, run the executable - checkPhase = '' + checkInputs = with python3.pkgs; [ + hypothesis + mock + pytest-mock + pytestCheckHook + ]; + + postCheck = '' $out/bin/esphome --help > /dev/null ''; meta = with lib; { description = "Make creating custom firmwares for ESP32/ESP8266 super easy"; 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 ]; }; } diff --git a/pkgs/tools/networking/openapi-generator-cli/default.nix b/pkgs/tools/networking/openapi-generator-cli/default.nix index 787067881a2..b195c655c93 100644 --- a/pkgs/tools/networking/openapi-generator-cli/default.nix +++ b/pkgs/tools/networking/openapi-generator-cli/default.nix @@ -1,7 +1,7 @@ -{ lib, stdenv, fetchurl, jre, makeWrapper }: +{ callPackage, lib, stdenv, fetchurl, jre, makeWrapper }: -stdenv.mkDerivation rec { - version = "5.0.0"; +let this = stdenv.mkDerivation rec { + version = "5.1.0"; pname = "openapi-generator-cli"; jarfilename = "${pname}-${version}.jar"; @@ -12,16 +12,20 @@ stdenv.mkDerivation rec { src = fetchurl { url = "mirror://maven/org/openapitools/${pname}/${version}/${jarfilename}"; - sha256 = "13kgc84kyrypr0xy4xifrzqcy4qlvcxc7f0jy3n1xkjl3vhav7w3"; + sha256 = "06dvy4pwgpyf209n0b27qwkjj7zlgadg2czwxapy94fd1wpq9yb2"; }; phases = [ "installPhase" ]; installPhase = '' + runHook preInstall + install -D "$src" "$out/share/java/${jarfilename}" makeWrapper ${jre}/bin/java $out/bin/${pname} \ --add-flags "-jar $out/share/java/${jarfilename}" + + runHook postInstall ''; meta = with lib; { @@ -30,4 +34,9 @@ stdenv.mkDerivation rec { license = licenses.asl20; maintainers = [ maintainers.shou ]; }; -} + + passthru.tests.example = callPackage ./example.nix { + openapi-generator-cli = this; + }; +}; +in this diff --git a/pkgs/tools/networking/openapi-generator-cli/example.nix b/pkgs/tools/networking/openapi-generator-cli/example.nix new file mode 100644 index 00000000000..f59173b9744 --- /dev/null +++ b/pkgs/tools/networking/openapi-generator-cli/example.nix @@ -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!" +'' diff --git a/pkgs/tools/networking/openapi-generator-cli/unstable.nix b/pkgs/tools/networking/openapi-generator-cli/unstable.nix index 1384f35a3f2..306654f05d9 100644 --- a/pkgs/tools/networking/openapi-generator-cli/unstable.nix +++ b/pkgs/tools/networking/openapi-generator-cli/unstable.nix @@ -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 pname = "openapi-generator-cli"; @@ -18,10 +18,14 @@ stdenv.mkDerivation rec { phases = [ "installPhase" ]; installPhase = '' + runHook preInstall + install -D "$src" "$out/share/java/${jarfilename}" makeWrapper ${jre}/bin/java $out/bin/${pname} \ --add-flags "-jar $out/share/java/${jarfilename}" + + runHook postInstall ''; meta = with lib; { @@ -30,5 +34,9 @@ stdenv.mkDerivation rec { license = licenses.asl20; maintainers = [ maintainers.shou ]; }; -} + passthru.tests.example = callPackage ./example.nix { + openapi-generator-cli = this; + }; +}; +in this diff --git a/pkgs/tools/system/netdata/default.nix b/pkgs/tools/system/netdata/default.nix index bd360a24261..c96f92bedfe 100644 --- a/pkgs/tools/system/netdata/default.nix +++ b/pkgs/tools/system/netdata/default.nix @@ -8,6 +8,7 @@ , withNetfilter ? (!stdenv.isDarwin), libmnl, libnetfilter_acct , withSsl ? true, openssl , withDebug ? false +, fetchpatch }: with lib; @@ -15,14 +16,14 @@ with lib; let go-d-plugin = callPackage ./go.d.plugin.nix {}; in stdenv.mkDerivation rec { - version = "1.29.3"; + version = "1.30.1"; pname = "netdata"; src = fetchFromGitHub { owner = "netdata"; repo = "netdata"; rev = "v${version}"; - sha256 = "sha256-GWIQZEC5agJ+Zw7l58IIAJhXP6dxirCmWVBJulzBO5Q="; + sha256 = "0cp6gbn38f1cr0jkr64vvwz005cvnwj3hgfxs147wap9w228k46r"; }; nativeBuildInputs = [ autoreconfHook pkg-config ]; @@ -39,6 +40,11 @@ in stdenv.mkDerivation rec { # required to prevent plugins from relying on /etc # and /var ./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"; diff --git a/pkgs/tools/system/netdata/go.d.plugin.nix b/pkgs/tools/system/netdata/go.d.plugin.nix index 3b97747f879..9efb3475a48 100644 --- a/pkgs/tools/system/netdata/go.d.plugin.nix +++ b/pkgs/tools/system/netdata/go.d.plugin.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "netdata-go.d.plugin"; - version = "0.26.2"; + version = "0.28.1"; src = fetchFromGitHub { owner = "netdata"; repo = "go.d.plugin"; rev = "v${version}"; - sha256 = "1jy5pc1ihyrg6sqyw0d48bsqa7kr7kqz10k3845g958vgfmfig59"; + sha256 = "0i77nvqi3dcby0gr3b06bai170q2ibp5390qfjijrk1yqz6x6sd5"; }; - vendorSha256 = "16b6i9cpk8j7292qgjvida70rg7nixi6g94wayzikx01vmdbis5r"; + vendorSha256 = "1q8z4smaxzqd5iwvbnkkr33c3b94rjwa3xjirwlr595g0wn93wc7"; doCheck = false; diff --git a/pkgs/tools/system/netdata/no-files-in-etc-and-var.patch b/pkgs/tools/system/netdata/no-files-in-etc-and-var.patch index 594805fdf18..1d0c5cfba58 100644 --- a/pkgs/tools/system/netdata/no-files-in-etc-and-var.patch +++ b/pkgs/tools/system/netdata/no-files-in-etc-and-var.patch @@ -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 -index 9bb52958..c9799165 100644 +index 021e2ff23..115b88277 100644 --- a/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 # Explicitly install directories to avoid permission issues due to umask @@ -32,7 +12,7 @@ index 9bb52958..c9799165 100644 $(INSTALL) -d $(DESTDIR)$(usergoconfigdir) 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 +++ b/collectors/charts.d.plugin/Makefile.am @@ -34,7 +34,7 @@ dist_userchartsconfig_DATA = \ @@ -44,8 +24,21 @@ index 03c7f0a9..01985db0 100644 $(INSTALL) -d $(DESTDIR)$(userchartsconfigdir) 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 -index c3142d43..95e32445 100644 +index c3142d433..95e324455 100644 --- a/collectors/node.d.plugin/Makefile.am +++ b/collectors/node.d.plugin/Makefile.am @@ -26,7 +26,7 @@ dist_usernodeconfig_DATA = \ @@ -58,7 +51,7 @@ index c3142d43..95e32445 100644 nodeconfigdir=$(libconfigdir)/node.d 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 +++ b/collectors/python.d.plugin/Makefile.am @@ -32,7 +32,7 @@ dist_userpythonconfig_DATA = \ @@ -71,10 +64,10 @@ index e678f86a..29a319da 100644 pythonconfigdir=$(libconfigdir)/python.d 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 +++ b/collectors/statsd.plugin/Makefile.am -@@ -17,5 +17,5 @@ dist_userstatsdconfig_DATA = \ +@@ -18,5 +18,5 @@ dist_userstatsdconfig_DATA = \ $(NULL) # Explicitly install directories to avoid permission issues due to umask @@ -82,7 +75,7 @@ index b01302d1..f5b77da4 100644 +no-install-exec-local: $(INSTALL) -d $(DESTDIR)$(userstatsdconfigdir) diff --git a/health/Makefile.am b/health/Makefile.am -index 853ed0d7..210330a6 100644 +index b963ea0cd..6979e69bf 100644 --- a/health/Makefile.am +++ b/health/Makefile.am @@ -19,7 +19,7 @@ dist_userhealthconfig_DATA = \ @@ -95,10 +88,10 @@ index 853ed0d7..210330a6 100644 healthconfigdir=$(libconfigdir)/health.d diff --git a/system/Makefile.am b/system/Makefile.am -index ad68c655..74f032f9 100644 +index 5323738c9..06e1b6a73 100644 --- a/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 dist_config_SCRIPTS = \ @@ -112,7 +105,7 @@ index ad68c655..74f032f9 100644 nodist_noinst_DATA = \ diff --git a/web/Makefile.am b/web/Makefile.am -index ccaccd76..16a2977e 100644 +index ccaccd764..16a2977e5 100644 --- a/web/Makefile.am +++ b/web/Makefile.am @@ -12,7 +12,7 @@ SUBDIRS = \ @@ -124,6 +117,3 @@ index ccaccd76..16a2977e 100644 $(INSTALL) -d $(DESTDIR)$(usersslconfigdir) dist_noinst_DATA = \ --- -2.25.0 - diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 79c42aec80d..45a25ec3eee 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -7191,8 +7191,8 @@ in onlykey-cli = callPackage ../tools/security/onlykey-cli { }; - openapi-generator-cli = callPackage ../tools/networking/openapi-generator-cli { }; - openapi-generator-cli-unstable = callPackage ../tools/networking/openapi-generator-cli/unstable.nix { }; + 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 { jre = pkgs.jre_headless; }; openbazaar = callPackage ../applications/networking/openbazaar { }; 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 # built with, and use, that cross-compiled libc. gccCrossStageStatic = assert stdenv.targetPlatform != stdenv.hostPlatform; let - libcCross1 = - 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; - }; + libcCross1 = binutilsNoLibc.libc; in wrapCCWith { cc = gccFun { # copy-pasted @@ -10422,10 +10414,10 @@ in crossStageStatic = true; langCC = false; libcCross = libcCross1; - targetPackages.stdenv.cc.bintools = binutils1; + targetPackages.stdenv.cc.bintools = binutilsNoLibc; enableShared = false; }; - bintools = binutils1; + bintools = binutilsNoLibc; libc = libcCross1; extraPackages = []; }; @@ -12541,6 +12533,14 @@ in 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 { }; diff --git a/pkgs/top-level/darwin-packages.nix b/pkgs/top-level/darwin-packages.nix index 3ece95c5845..5275a6f3123 100644 --- a/pkgs/top-level/darwin-packages.nix +++ b/pkgs/top-level/darwin-packages.nix @@ -1,27 +1,44 @@ -{ buildPackages, pkgs, targetPackages -, darwin, stdenv, callPackage, callPackages, newScope +{ lib +, buildPackages, pkgs, targetPackages +, pkgsBuildBuild, pkgsBuildHost, pkgsBuildTarget, pkgsHostHost, pkgsTargetTarget +, stdenv, splicePackages, newScope }: 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 -(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. - stdenvNoCF = stdenv.override { - extraBuildInputs = []; + 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 // { - apple_sdk = callPackage ../os-specific/darwin/apple-sdk { - inherit (darwin) darwin-stubs print-reexports; + inherit apple_sdk; + + stdenvNoCF = stdenv.override { + extraBuildInputs = []; }; binutils-unwrapped = callPackage ../os-specific/darwin/binutils { - inherit (darwin) cctools; inherit (pkgs) binutils-unwrapped; inherit (pkgs.llvmPackages_7) llvm clang-unwrapped; }; @@ -31,17 +48,21 @@ in if stdenv.targetPlatform != stdenv.hostPlatform then pkgs.libcCross 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 { - inherit (darwin) libobjc maloader libtapi; stdenv = if stdenv.isDarwin then stdenv else pkgs.libcxxStdenv; libcxxabi = pkgs.libcxxabi; }; # TODO: remove alias. - cf-private = darwin.apple_sdk.frameworks.CoreFoundation; + cf-private = self.apple_sdk.frameworks.CoreFoundation; DarwinTools = callPackage ../os-specific/darwin/DarwinTools { }; @@ -50,15 +71,13 @@ in print-reexports = callPackage ../os-specific/darwin/apple-sdk/print-reexports { }; maloader = callPackage ../os-specific/darwin/maloader { - inherit (darwin) opencflite; }; 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; targetIosSdkPkgs = targetPackages.darwin.iosSdkPkgs; - xcode = darwin.xcode; inherit (pkgs.llvmPackages) clang-unwrapped; }; @@ -70,13 +89,13 @@ in 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 { }; - inherit (callPackages ../os-specific/darwin/xcode { }) + inherit (pkgs.callPackages ../os-specific/darwin/xcode { }) xcode_8_1 xcode_8_2 xcode_9_1 xcode_9_2 xcode_9_4 xcode_9_4_1 xcode_10_2 xcode_10_2_1 xcode_10_3 @@ -85,10 +104,10 @@ in 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 - # 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 { }; @@ -96,8 +115,6 @@ in ios-deploy = callPackage ../os-specific/darwin/ios-deploy {}; - discrete-scroll = callPackage ../os-specific/darwin/discrete-scroll { - inherit (darwin.apple_sdk.frameworks) Cocoa; - }; + discrete-scroll = callPackage ../os-specific/darwin/discrete-scroll { }; }) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 67148783714..9ef235334c7 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -1733,6 +1733,8 @@ in { decorator = callPackage ../development/python-modules/decorator { }; + decopatch = callPackage ../development/python-modules/decopatch { }; + deep_merge = callPackage ../development/python-modules/deep_merge { }; deepdiff = callPackage ../development/python-modules/deepdiff { }; @@ -6275,6 +6277,8 @@ in { pytest-cache = self.pytestcache; # added 2021-01-04 pytestcache = callPackage ../development/python-modules/pytestcache { }; + pytest-cases = callPackage ../development/python-modules/pytest-cases{ }; + pytest-catchlog = callPackage ../development/python-modules/pytest-catchlog { }; pytest-celery = callPackage ../development/python-modules/pytest-celery { }; diff --git a/pkgs/top-level/static.nix b/pkgs/top-level/static.nix index e73eba8e142..32559c0e799 100644 --- a/pkgs/top-level/static.nix +++ b/pkgs/top-level/static.nix @@ -25,7 +25,7 @@ self: super: let }; in stdenv // { mkDerivation = args: stdenv.mkDerivation (args // { 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 { substitutions = { libsystem = "${stdenv.cc.libc}/lib/libSystem.B.dylib"; |