Merge master into staging-next

This commit is contained in:
github-actions[bot] 2023-02-21 06:01:00 +00:00 committed by GitHub
commit af79979d58
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
37 changed files with 711 additions and 623 deletions

View File

@ -409,6 +409,7 @@ in {
(optionalString (cfg.config != null) copyConfig) +
(optionalString (cfg.lovelaceConfig != null) copyLovelaceConfig)
;
environment.PYTHONPATH = package.pythonPath;
serviceConfig = let
# List of capabilities to equip home-assistant with, depending on configured components
capabilities = lib.unique ([

View File

@ -1,5 +1,4 @@
{ config, lib, pkgs, ... }:
with lib;
let
@ -16,17 +15,19 @@ in {
type = types.package;
default = pkgs.mbpfan;
defaultText = literalExpression "pkgs.mbpfan";
description = lib.mdDoc ''
The package used for the mbpfan daemon.
'';
description = lib.mdDoc "The package used for the mbpfan daemon.";
};
verbose = mkOption {
type = types.bool;
default = false;
description = lib.mdDoc ''
If true, sets the log level to verbose.
'';
description = lib.mdDoc "If true, sets the log level to verbose.";
};
aggressive = mkOption {
type = types.bool;
default = false;
description = lib.mdDoc "If true, favors higher default fan speeds.";
};
settings = mkOption {
@ -35,24 +36,14 @@ in {
type = types.submodule {
freeformType = settingsFormat.type;
options.general.min_fan1_speed = mkOption {
type = types.nullOr types.int;
default = 2000;
description = lib.mdDoc ''
You can check minimum and maximum fan limits with
`cat /sys/devices/platform/applesmc.768/fan*_min` and
`cat /sys/devices/platform/applesmc.768/fan*_max` respectively.
Setting to null implies using default value from applesmc.
'';
};
options.general.low_temp = mkOption {
type = types.int;
default = 55;
default = 63;
description = lib.mdDoc "If temperature is below this, fans will run at minimum speed.";
};
options.general.high_temp = mkOption {
type = types.int;
default = 58;
default = 66;
description = lib.mdDoc "If temperature is above this, fan speed will gradually increase.";
};
options.general.max_temp = mkOption {
@ -79,10 +70,16 @@ in {
];
config = mkIf cfg.enable {
boot.kernelModules = [ "coretemp" "applesmc" ];
services.mbpfan.settings = mkIf cfg.aggressive {
general.min_fan1_speed = mkDefault 2000;
general.low_temp = mkDefault 55;
general.high_temp = mkDefault 58;
general.max_temp = mkDefault 70;
};
environment.etc."mbpfan.conf".source = settingsFile;
boot.kernelModules = [ "coretemp" "applesmc" ];
environment.systemPackages = [ cfg.package ];
environment.etc."mbpfan.conf".source = settingsFile;
systemd.services.mbpfan = {
description = "A fan manager daemon for MacBook Pro";

View File

@ -22,22 +22,23 @@ in {
enable = true;
inherit configDir;
# tests loading components by overriding the package
# provide dependencies through package overrides
package = (pkgs.home-assistant.override {
extraPackages = ps: with ps; [
colorama
];
extraComponents = [ "zha" ];
}).overrideAttrs (oldAttrs: {
doInstallCheck = false;
extraComponents = [
# test char-tty device allow propagation into the service
"zha"
];
});
# tests loading components from the module
# provide component dependencies explicitly from the module
extraComponents = [
"wake_on_lan"
"mqtt"
];
# test extra package passing from the module
# provide package for postgresql support
extraPackages = python3Packages: with python3Packages; [
psycopg2
];
@ -111,36 +112,38 @@ in {
};
testScript = { nodes, ... }: let
system = nodes.hass.config.system.build.toplevel;
system = nodes.hass.system.build.toplevel;
in
''
import re
import json
start_all()
# Parse the package path out of the systemd unit, as we cannot
# access the final package, that is overridden inside the module,
# by any other means.
pattern = re.compile(r"path=(?P<path>[\/a-z0-9-.]+)\/bin\/hass")
response = hass.execute("systemctl show -p ExecStart home-assistant.service")[1]
match = pattern.search(response)
assert match
package = match.group('path')
def get_journal_cursor(host) -> str:
exit, out = host.execute("journalctl -u home-assistant.service -n1 -o json-pretty --output-fields=__CURSOR")
def get_journal_cursor() -> str:
exit, out = hass.execute("journalctl -u home-assistant.service -n1 -o json-pretty --output-fields=__CURSOR")
assert exit == 0
return json.loads(out)["__CURSOR"]
def wait_for_homeassistant(host, cursor):
host.wait_until_succeeds(f"journalctl --after-cursor='{cursor}' -u home-assistant.service | grep -q 'Home Assistant initialized in'")
def get_journal_since(cursor) -> str:
exit, out = hass.execute(f"journalctl --after-cursor='{cursor}' -u home-assistant.service")
assert exit == 0
return out
def get_unit_property(property) -> str:
exit, out = hass.execute(f"systemctl show --property={property} home-assistant.service")
assert exit == 0
return out
def wait_for_homeassistant(cursor):
hass.wait_until_succeeds(f"journalctl --after-cursor='{cursor}' -u home-assistant.service | grep -q 'Home Assistant initialized in'")
hass.wait_for_unit("home-assistant.service")
cursor = get_journal_cursor(hass)
cursor = get_journal_cursor()
with subtest("Check that YAML configuration file is in place"):
hass.succeed("test -L ${configDir}/configuration.yaml")
@ -148,19 +151,22 @@ in {
with subtest("Check the lovelace config is copied because lovelaceConfigWritable = true"):
hass.succeed("test -f ${configDir}/ui-lovelace.yaml")
with subtest("Check extraComponents and extraPackages are considered from the package"):
hass.succeed(f"grep -q 'colorama' {package}/extra_packages")
hass.succeed(f"grep -q 'zha' {package}/extra_components")
with subtest("Check extraComponents and extraPackages are considered from the module"):
hass.succeed(f"grep -q 'psycopg2' {package}/extra_packages")
hass.succeed(f"grep -q 'wake_on_lan' {package}/extra_components")
with subtest("Check that Home Assistant's web interface and API can be reached"):
wait_for_homeassistant(hass, cursor)
wait_for_homeassistant(cursor)
hass.wait_for_open_port(8123)
hass.succeed("curl --fail http://localhost:8123/lovelace")
with subtest("Check that optional dependencies are in the PYTHONPATH"):
env = get_unit_property("Environment")
python_path = env.split("PYTHONPATH=")[1].split()[0]
for package in ["colorama", "paho-mqtt", "psycopg2"]:
assert package in python_path, f"{package} not in PYTHONPATH"
with subtest("Check that declaratively configured components get setup"):
journal = get_journal_since(cursor)
for domain in ["emulated_hue", "wake_on_lan"]:
assert f"Setup of domain {domain} took" in journal, f"{domain} setup missing"
with subtest("Check that capabilities are passed for emulated_hue to bind to port 80"):
hass.wait_for_open_port(80)
hass.succeed("curl --fail http://localhost:80/description.xml")
@ -169,25 +175,28 @@ in {
hass.succeed("systemctl show -p DeviceAllow home-assistant.service | grep -q char-ttyUSB")
with subtest("Check service reloads when configuration changes"):
# store the old pid of the process
pid = hass.succeed("systemctl show --property=MainPID home-assistant.service")
cursor = get_journal_cursor(hass)
hass.succeed("${system}/specialisation/differentName/bin/switch-to-configuration test")
new_pid = hass.succeed("systemctl show --property=MainPID home-assistant.service")
assert pid == new_pid, "The PID of the process should not change between process reloads"
wait_for_homeassistant(hass, cursor)
pid = hass.succeed("systemctl show --property=MainPID home-assistant.service")
cursor = get_journal_cursor()
hass.succeed("${system}/specialisation/differentName/bin/switch-to-configuration test")
new_pid = hass.succeed("systemctl show --property=MainPID home-assistant.service")
assert pid == new_pid, "The PID of the process should not change between process reloads"
wait_for_homeassistant(cursor)
with subtest("check service restarts when package changes"):
pid = new_pid
cursor = get_journal_cursor(hass)
hass.succeed("${system}/specialisation/newFeature/bin/switch-to-configuration test")
new_pid = hass.succeed("systemctl show --property=MainPID home-assistant.service")
assert pid != new_pid, "The PID of the process shoudl change when the HA binary changes"
wait_for_homeassistant(hass, cursor)
with subtest("Check service restarts when dependencies change"):
pid = new_pid
cursor = get_journal_cursor()
hass.succeed("${system}/specialisation/newFeature/bin/switch-to-configuration test")
new_pid = hass.succeed("systemctl show --property=MainPID home-assistant.service")
assert pid != new_pid, "The PID of the process should change when its PYTHONPATH changess"
wait_for_homeassistant(cursor)
with subtest("Check that new components get setup after restart"):
journal = get_journal_since(cursor)
for domain in ["esphome"]:
assert f"Setup of domain {domain} took" in journal, f"{domain} setup missing"
with subtest("Check that no errors were logged"):
output_log = hass.succeed("cat ${configDir}/home-assistant.log")
assert "ERROR" not in output_log
hass.fail("journalctl -u home-assistant -o cat | grep -q ERROR")
with subtest("Check systemd unit hardening"):
hass.log(hass.succeed("systemctl cat home-assistant.service"))

View File

@ -11,13 +11,13 @@
stdenv.mkDerivation rec {
pname = "ashuffle";
version = "3.13.4";
version = "3.13.6";
src = fetchFromGitHub {
owner = "joshkunz";
repo = "ashuffle";
rev = "v${version}";
sha256 = "sha256-J6NN0Rsc9Zw9gagksDlwpwEErs+4XmrGF9YHKlAE1FA=";
sha256 = "sha256-8XjLs4MI5MXvA6veCoTAj8tlYDe7YTggutO3F9eNyMM=";
fetchSubmodules = true;
};

View File

@ -1,29 +1,33 @@
{ lib
, stdenv
{ asio
, cmake
, pkg-config
, curl
, asio
, fetchFromGitHub
, fetchpatch
, ffmpeg
, gnutls
, lame
, lib
, libev
, game-music-emu
, libmicrohttpd
, libopenmpt
, mpg123
, ncurses
, pkg-config
, portaudio
, stdenv
, taglib
# Linux Dependencies
, alsa-lib
, pipewireSupport ? true, pipewire
, pulseaudio
, systemdSupport ? lib.meta.availableOn stdenv.hostPlatform systemd
, sndioSupport ? true, sndio
, systemd
, systemdSupport ? lib.meta.availableOn stdenv.hostPlatform systemd
# Darwin Dependencies
, Cocoa
, SystemConfiguration
, coreaudioSupport ? stdenv.hostPlatform.isDarwin
}:
stdenv.mkDerivation rec {
@ -56,13 +60,18 @@ stdenv.mkDerivation rec {
libopenmpt
mpg123
ncurses
portaudio
taglib
] ++ lib.optionals systemdSupport [
systemd
] ++ lib.optionals stdenv.isLinux [
alsa-lib pulseaudio
] ++ lib.optionals stdenv.isDarwin [
Cocoa SystemConfiguration
Cocoa coreaudioSupport SystemConfiguration
] ++ lib.optional sndioSupport [
sndio
] ++ lib.optional pipewireSupport [
pipewire
];
cmakeFlags = [

View File

@ -38,13 +38,13 @@ let
in
stdenv.mkDerivation rec {
pname = "cudatext";
version = "1.184.0";
version = "1.185.0";
src = fetchFromGitHub {
owner = "Alexey-T";
repo = "CudaText";
rev = version;
hash = "sha256-bRe9yS9CMsBH04oefImSYkd1jUe3SnJU6JZETLwow/0=";
hash = "sha256-hzEDKpH1dShmEZ6EYkA5rLtbJc2ukw7Gs7spMjiocCE=";
};
postPatch = ''

View File

@ -16,8 +16,8 @@
},
"ATSynEdit": {
"owner": "Alexey-T",
"rev": "2023.02.12",
"hash": "sha256-PSRKxKJkX9GlV8JUACYzDZguv8M8jKVxlW7U4Mmla9o="
"rev": "2023.02.19",
"hash": "sha256-2qNY7xzyJ0rCVNDQcJaJ7qZgOhtBCcuGCxY1BvVAoEs="
},
"ATSynEdit_Cmp": {
"owner": "Alexey-T",

View File

@ -10,16 +10,16 @@
rustPlatform.buildRustPackage rec {
pname = "pueue";
version = "3.1.0";
version = "3.1.1";
src = fetchFromGitHub {
owner = "Nukesor";
repo = "pueue";
rev = "v${version}";
hash = "sha256-vJJ3qQb38b0vr7o+7rc3z5wftI6Ko4mJiGLvVzyjTeE=";
hash = "sha256-5xHY8DOQnOdYqNyfAS2kMuW2vxAuoSe6RaOItnAJCkQ=";
};
cargoHash = "sha256-3taLua69kqPnNraIZIesMkFguCbPWTF5Hu9s2Lc02ZA=";
cargoHash = "sha256-3IOtx1aeth6QBjY6aILtzxhjZddovD7KIKzNhVCabfU=";
nativeBuildInputs = [
installShellFiles

View File

@ -2,12 +2,12 @@
let
pname = "polypane";
version = "10.0.1";
version = "13.0.2";
src = fetchurl {
url = "https://github.com/firstversionist/${pname}/releases/download/v${version}/${pname}-${version}.AppImage";
name = "${pname}-${version}.AppImage";
sha256 = "sha256-J0D49VESNgdBEWAf01LkiiU2I01r4PBLyWKpnE9t45Q=";
sha256 = "sha256-+44a9dPQOV1D2rnsuy+GyJqZz/UCbITmMuunwHc4JFY=";
};
appimageContents = appimageTools.extractType2 {

View File

@ -26,6 +26,7 @@
, pulseaudioSupport ? mediaSupport
, libpulseaudio
, apulse
, alsa-lib
# Media support (implies audio support)
, mediaSupport ? true
@ -57,6 +58,7 @@ let
libPath = lib.makeLibraryPath libPkgs;
libPkgs = [
alsa-lib
atk
cairo
dbus
@ -85,9 +87,9 @@ let
fteLibPath = lib.makeLibraryPath [ stdenv.cc.cc gmp ];
# Upstream source
version = "11.5.8";
version = "12.0.3";
lang = "en-US";
lang = "ALL";
srcs = {
x86_64-linux = fetchurl {
@ -97,7 +99,7 @@ let
"https://tor.eff.org/dist/torbrowser/${version}/tor-browser-linux64-${version}_${lang}.tar.xz"
"https://tor.calyxinstitute.org/dist/torbrowser/${version}/tor-browser-linux64-${version}_${lang}.tar.xz"
];
sha256 = "sha256-/KK9oTijk5dEziAwp5966NaM2V4k1mtBjTJq88Ct7N0=";
hash = "sha256-bOGY/RdwD6O7QIuOiBw7OVnZfpumGGso6hwMJJwN2g0=";
};
i686-linux = fetchurl {
@ -107,7 +109,7 @@ let
"https://tor.eff.org/dist/torbrowser/${version}/tor-browser-linux32-${version}_${lang}.tar.xz"
"https://tor.calyxinstitute.org/dist/torbrowser/${version}/tor-browser-linux32-${version}_${lang}.tar.xz"
];
sha256 = "sha256-TGdJ5yIeo0YQ4XSsb9lv3vuW6qEjhFe7KBmkjYO6fAc=";
hash = "sha256-t1tnEZtiRig2r8GNJpqT+J0XoxCLMyUsI9tX6aa0lYk=";
};
};
in
@ -291,13 +293,9 @@ stdenv.mkDerivation rec {
# TBB will fail if ownership is too permissive
chmod 0700 "\$HOME/TorBrowser/Data/Tor"
# Initialize the browser profile state. Note that the only data
# copied from the Store payload is the initial bookmark file, which is
# never updated once created. All other files under user's profile
# dir are generated by TBB.
# Initialize the browser profile state.
# All files under user's profile dir are generated by TBB.
mkdir -p "\$HOME/TorBrowser/Data/Browser/profile.default"
cp -u --no-preserve=mode,owner "$TBB_IN_STORE/TorBrowser/Data/Browser/profile.default/bookmarks.html" \
"\$HOME/TorBrowser/Data/Browser/profile.default/bookmarks.html"
# Clear some files if the last known store path is different from the new one
: "\''${KNOWN_STORE_PATH:=\$HOME/known-store-path}"
@ -325,6 +323,9 @@ stdenv.mkDerivation rec {
# chance that TBB would continue using old font files.
rm -rf "\$HOME/.cache/fontconfig"
# Workaround a bug in 12.0.X that Tor directories are not cleaned up and tor gets confused where its socket is
rm -rf \$XDG_RUNTIME_DIR/Tor*
# Manually specify data paths (by default TB attempts to create these in the store)
{
echo "user_pref(\"extensions.torlauncher.toronionauthdir_path\", \"\$HOME/TorBrowser/Data/Tor/onion-auth\");"

View File

@ -219,13 +219,13 @@
"vendorHash": "sha256-PALZGyGZ6Ggccl4V9gG+gsEdNipYG+DCaZkqF0W1IMQ="
},
"cloudflare": {
"hash": "sha256-Y48H7P69ORr8U0yXf1HEBqh//oOmWn3Uj8GQ12PsV/M=",
"hash": "sha256-fHugf+nvel/bSyh+l94q0iE7E+ZYBt2qfGSoot9xI8w=",
"homepage": "https://registry.terraform.io/providers/cloudflare/cloudflare",
"owner": "cloudflare",
"repo": "terraform-provider-cloudflare",
"rev": "v3.33.1",
"rev": "v4.0.0",
"spdx": "MPL-2.0",
"vendorHash": "sha256-3JH+4ExREL3vtq6CiQN0G0x08ScrzOf2pTAnsWcGgq8="
"vendorHash": "sha256-jIQcgGknigQFUkLjLoxUjq+Mqjb085v6Zqgd49Dxivo="
},
"cloudfoundry": {
"hash": "sha256-/Zxj9cous0SjYxeDo+8/u61pqDwMGt/UsS/OC1oSR2U=",
@ -503,11 +503,11 @@
"vendorHash": null
},
"heroku": {
"hash": "sha256-UGA01N4ToEb3eSKCI2raI3ZXFeRm0MVVXVWgAc7im9g=",
"hash": "sha256-Fc8nCrFR3cHEN68y277/eZ6DLVfFxEyliCkii5343MI=",
"homepage": "https://registry.terraform.io/providers/heroku/heroku",
"owner": "heroku",
"repo": "terraform-provider-heroku",
"rev": "v5.1.10",
"rev": "v5.1.11",
"spdx": "MPL-2.0",
"vendorHash": null
},
@ -1054,13 +1054,13 @@
"vendorHash": "sha256-sVNtY2wDGE2ZOB4YNytx0n4V4cbNKoXAv7JCA+Ym3JU="
},
"stackpath": {
"hash": "sha256-nTR9HgSmuNCt7wxE4qqIH2+HA2igzqVx0lLRx6FoKrE=",
"hash": "sha256-7KQUddq+M35WYyAIAL8sxBjAaXFcsczBRO1R5HURUZg=",
"homepage": "https://registry.terraform.io/providers/stackpath/stackpath",
"owner": "stackpath",
"repo": "terraform-provider-stackpath",
"rev": "v1.4.0",
"rev": "v1.5.0",
"spdx": "MPL-2.0",
"vendorHash": "sha256-Fvku4OB1sdWuvMx/FIHfOJt9STgao0xPDao6b2SYxcQ="
"vendorHash": "sha256-OGYiynCwbJU2KisS7Y6xmLuBKOtQvh3MWPrvBk/x95U="
},
"statuscake": {
"hash": "sha256-PcA0t/G11w9ud+56NdiRXi82ubJ+wpL4XcexT1O2ADw=",

View File

@ -1,18 +1,19 @@
{ lib
, stdenvNoCC
, fetchFromGitHub
, nix-update-script
, nixosTests
, php}:
stdenvNoCC.mkDerivation rec {
name = "cloudlog";
version = "2.3.3";
version = "2.4";
src = fetchFromGitHub {
owner = "magicbug";
repo = "Cloudlog";
rev = version;
sha256 = "sha256-9m7BuUNdGeKqi8pzeW2J9zpxShulpynCwJJGkRFkBa4=";
sha256 = "sha256-aF1f6EmlcUgZOkHJgrW6P923QW56vWMH8CZ4cnYiiSk=";
};
postPath = ''
@ -25,8 +26,11 @@ stdenvNoCC.mkDerivation rec {
cp -R ./* $out
'';
passthru.tests = {
inherit (nixosTests) cloudlog;
passthru = {
tests = {
inherit (nixosTests) cloudlog;
};
updateScript = nix-update-script { };
};
meta = with lib; {

View File

@ -15,13 +15,13 @@
stdenv.mkDerivation rec {
pname = "nvc";
version = "1.8.1";
version = "1.8.2";
src = fetchFromGitHub {
owner = "nickg";
repo = pname;
rev = "r${version}";
hash = "sha256-9ziGNAZgUYnBofx7YwSzAgL4zIAwoPYMsGWBYs+xtg0=";
hash = "sha256-s7QgufD3sQ6sZh2H78E8x0dMidHRKHUm8tASXoKK3xk=";
};
nativeBuildInputs = [

View File

@ -6,12 +6,12 @@
python3Packages.buildPythonApplication rec {
pname = "streamlink";
version = "5.2.1";
version = "5.3.0";
format = "pyproject";
src = python3Packages.fetchPypi {
inherit pname version;
hash = "sha256-/YcFH5t9x9EsmK7oPvSECmhL2ypHYgPvsMdL1IupEfw=";
hash = "sha256-+9MSSzPYZ8gwOeQLehR41SklfdcUn8Pa6TI//lh9twE=";
};
nativeCheckInputs = with python3Packages; [

View File

@ -2,11 +2,11 @@
stdenvNoCC.mkDerivation rec {
pname = "cozette";
version = "1.19.0";
version = "1.19.1";
src = fetchzip {
url = "https://github.com/slavfox/Cozette/releases/download/v.${version}/CozetteFonts.zip";
hash = "sha256-nlEnQjQJAFRvZgdGMiloMs4afugmSFnITTIHD+Qkggg=";
hash = "sha256-CpabWJJDCY+mgE+9U8L50MmWVfhkm+LnfMQtOTXyE8s=";
};
installPhase = ''

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "v2ray-geoip";
version = "202302160443";
version = "202302200325";
src = fetchFromGitHub {
owner = "v2fly";
repo = "geoip";
rev = "f8fbab498f52848317db703f57f0c839e81cd587";
sha256 = "sha256-9LZxVNhigy2cO41d8nZtFrfDoCjJTdzrGUZpmjcpje8=";
rev = "c642604d56dbe9b426871e3a47e18eba3d3d3850";
sha256 = "sha256-tsDoz/2b0InjLWfgi2Jcs8BpscQ0SFA6+tVZIw6JQGA=";
};
installPhase = ''

View File

@ -11,16 +11,16 @@
buildPythonPackage rec {
pname = "aiocurrencylayer";
version = "1.0.4";
version = "1.0.5";
format = "pyproject";
disabled = pythonOlder "3.8";
disabled = pythonOlder "3.9";
src = fetchFromGitHub {
owner = "home-assistant-ecosystem";
repo = pname;
rev = version;
sha256 = "sha256-neWUld/XnF5xTHSrw5EfGfNhpYzZi5TZsWN4+eqsVXs=";
rev = "refs/tags/${version}";
hash = "sha256-468OBQV7ISnPRUfi/CM3dCh1ez0jwSVnM6DduPvAgPI=";
};
nativeBuildInputs = [
@ -44,6 +44,7 @@ buildPythonPackage rec {
meta = with lib; {
description = "Python API for interacting with currencylayer";
homepage = "https://github.com/home-assistant-ecosystem/aiocurrencylayer";
changelog = "https://github.com/home-assistant-ecosystem/aiocurrencylayer/releases/tag/${version}";
license = licenses.mit;
maintainers = with maintainers; [ fab ];
};

View File

@ -1,15 +1,13 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, fetchpatch
, pytestCheckHook
, pythonAtLeast
, pythonOlder
}:
buildPythonPackage rec {
pname = "boltons";
version = "21.0.0";
version = "23.0.0";
format = "setuptools";
disabled = pythonOlder "3.7";
@ -18,22 +16,13 @@ buildPythonPackage rec {
owner = "mahmoud";
repo = "boltons";
rev = "refs/tags/${version}";
hash = "sha256-8HO7X2PQEbQIQsCa2cMHQI3rlofVT22GYrWNXY34MLk=";
hash = "sha256-NqlCu0W/BQkLiaLYs9DB1RrEya6KGPfNtpAzKXxoRD0=";
};
nativeCheckInputs = [
pytestCheckHook
];
patches = lib.optionals (pythonAtLeast "3.10") [
# pprint has no attribute _safe_repr, https://github.com/mahmoud/boltons/issues/294
(fetchpatch {
name = "fix-pprint-attribute.patch";
url = "https://github.com/mahmoud/boltons/commit/270e974975984f662f998c8f6eb0ebebd964de82.patch";
sha256 = "sha256-pZLfr6SRCw2aLwZeYaX7bzfJeZC4cFUILEmnVsKR6zc=";
})
];
# Tests bind to localhost
__darwinAllowLocalNetworking = true;
@ -41,11 +30,6 @@ buildPythonPackage rec {
"boltons"
];
disabledTests = lib.optionals (pythonAtLeast "3.11") [
# https://github.com/mahmoud/boltons/issues/326
"test_frozendict_api"
];
meta = with lib; {
description = "Constructs, recipes, and snippets extending the Python standard library";
longDescription = ''

View File

@ -5,7 +5,6 @@
, mock
, blessings
, nose
, nose_progressive
, pillow
, args
, pkgs
@ -28,7 +27,7 @@ buildPythonPackage rec {
# no longer compatible as behavior demand 2to3, which was removed
# in setuptools>=58
doCheck = false;
nativeCheckInputs = [ mock nose nose_progressive pkgs.glibcLocales ];
nativeCheckInputs = [ mock nose pkgs.glibcLocales ];
checkPhase = ''
${python.interpreter} test_clint.py
'';

View File

@ -12,7 +12,7 @@
buildPythonPackage rec {
pname = "cvelib";
version = "1.2.0";
version = "1.2.1";
format = "setuptools";
disabled = pythonOlder "3.7";
@ -21,7 +21,7 @@ buildPythonPackage rec {
owner = "RedHatProductSecurity";
repo = "cvelib";
rev = "tags/${version}";
hash = "sha256-8qlXwEbgLRZ1qYtBJ1c0nv6qfIOW5zAK9eOS+n+afWQ=";
hash = "sha256-hJPcxnc4iQzsYNNVJ9fw6yQl+5K7pdtjHT6oMmBx/Zs=";
};
SETUPTOOLS_SCM_PRETEND_VERSION = "v${version}";

View File

@ -43,14 +43,14 @@
buildPythonPackage rec {
pname = "Django";
version = "4.1.6";
version = "4.1.7";
format = "pyproject";
disabled = pythonOlder "3.8";
src = fetchPypi {
inherit pname version;
hash = "sha256-vOsP4aOGeBrweIyuQQhiJ1bNBed3VEje7ASnHd+HaF0=";
hash = "sha256-RPcUuBxfGQ2dLdrQGlMv5QL6AcTLj68dCB9CZO0V3Ng=";
};
patches = [

View File

@ -14,13 +14,13 @@
buildPythonPackage rec {
pname = "ipydatawidgets";
version = "4.3.2";
version = "4.3.3";
disabled = isPy27;
src = fetchPypi {
inherit pname version;
sha256 = "sha256-LyuZf2Vp0+4fT3412wyx2gjAd7IaiPHAHFn1uYajGqY=";
sha256 = "sha256-T7LOaT+yaM2ukAN0z6GpFkHiLZUU0eweYtp0cFCST3Y=";
};
nativeBuildInputs = [

View File

@ -1,34 +0,0 @@
{ stdenv
, lib
, buildPythonPackage
, fetchPypi
, nose
, pillow
, blessings
, isPy3k
}:
buildPythonPackage rec {
pname = "nose-progressive";
version = "1.5.2";
src = fetchPypi {
inherit pname version;
sha256 = "1mzmgq0wnfizmg9m2wn0c9g9282rdgv1jnphp8ww5h8kwqrjhvis";
};
buildInputs = [ nose ];
propagatedBuildInputs = [ pillow blessings ];
# fails with obscure error
doCheck = !isPy3k;
meta = with lib; {
homepage = "https://github.com/erikrose/nose-progressive";
description = "A testrunner with a progress bar and smarter tracebacks";
license = licenses.mit;
maintainers = with maintainers; [ domenkozar ];
broken = true; # relies on 2to3 conversion, which was removed from setuptools>=58.0
};
}

View File

@ -12,7 +12,7 @@
buildPythonPackage rec {
pname = "pyswitchbot";
version = "0.37.1";
version = "0.37.3";
format = "setuptools";
disabled = pythonOlder "3.7";
@ -21,7 +21,7 @@ buildPythonPackage rec {
owner = "Danielhiversen";
repo = "pySwitchbot";
rev = "refs/tags/${version}";
hash = "sha256-6td0ueo21h3B2ITV6wXehiwDPIB8+4m0K5hnMm8Mu54=";
hash = "sha256-0Kzzyzlxs5PaEHKzJLsconUg4zmgPzWI8LD5UIcKwEY=";
};
propagatedBuildInputs = [

View File

@ -1,9 +1,10 @@
{ lib
, buildPythonPackage
, pythonOlder
, fetchPypi
, fetchpatch
, fetchFromGitHub
, setuptools
, setuptools-scm
, wheel
, py
, pytest
, pytestCheckHook
@ -11,28 +12,26 @@
buildPythonPackage rec {
pname = "pytest-forked";
version = "1.4.0";
version = "1.6.0";
disabled = pythonOlder "3.6";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-i2dYfI+Yy7rf3YBFOe1UVbbtA4AiA0hd0vU8FCLXRA4=";
format = "pyproject";
src = fetchFromGitHub {
owner = "pytest-dev";
repo = "pytest-forked";
rev = "refs/tags/v${version}";
hash = "sha256-owkGwF5WQ17/CXwTsIYJ2AgktekRB4qhtsDxR0LCI/k=";
};
patches = [
# pytest 7.2.0 compat, remove after 1.4.0
(fetchpatch {
url = "https://github.com/pytest-dev/pytest-forked/commit/c3c753e96916a4bc5a8a37699e75c6cbbd653fa2.patch";
hash = "sha256-QPgxBeMQ0eKJyHXYZyBicVbE+JyKPV/Kbjsb8gNJBGA=";
})
(fetchpatch {
url = "https://github.com/pytest-dev/pytest-forked/commit/de584eda15df6db7912ab6197cfb9ff23024ef23.patch";
hash = "sha256-VLE32xZRwFK0nEgCWuSoMW/yyFHEURtNFU9Aa9haLhk=";
})
nativeBuildInputs = [
setuptools
setuptools-scm
wheel
];
nativeBuildInputs = [ setuptools-scm ];
SETUPTOOLS_SCM_PRETEND_VERSION = version;
buildInputs = [
pytest
@ -50,6 +49,7 @@ buildPythonPackage rec {
setupHook = ./setup-hook.sh;
meta = {
changelog = "https://github.com/pytest-dev/pytest-forked/blob/${src.rev}/CHANGELOG.rst";
description = "Run tests in isolated forked subprocesses";
homepage = "https://github.com/pytest-dev/pytest-forked";
license = lib.licenses.mit;

View File

@ -2,20 +2,18 @@
, fetchPypi
, buildPythonPackage
, pythonOlder
, bz2file
, setuptools
, setuptools-scm
, pytestCheckHook
}:
buildPythonPackage rec {
pname = "screed";
version = "1.1.1";
version = "1.1.2";
disabled = pythonOlder "3.8";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-EB4ZNImNLUoU+dnJd3S4wTyQpmuNK3NLtakPsO1iCbU=";
sha256 = "sha256-c0/6eopkUoZJbYlbc2+R1rKYiVbi/UI1gSPZPshRm2o=";
};
nativeBuildInputs = [ setuptools-scm ];
@ -32,8 +30,6 @@ buildPythonPackage rec {
"Test_fq_shell_command"
];
propagatedBuildInputs = [ bz2file setuptools ];
meta = with lib; {
description = "A simple read-only sequence database, designed for short reads";
homepage = "https://pypi.org/project/screed/";

View File

@ -13,7 +13,7 @@
buildPythonPackage rec {
pname = "yalexs-ble";
version = "2.0.1";
version = "2.0.2";
format = "pyproject";
disabled = pythonOlder "3.9";
@ -22,7 +22,7 @@ buildPythonPackage rec {
owner = "bdraco";
repo = pname;
rev = "refs/tags/v${version}";
hash = "sha256-1BjuFmsd7D9iCjaK5ckXXiU2LQXnIvJoJcu8YLaQe6g=";
hash = "sha256-Ev2m3YWiTWOBgK3dr7Gv8Od4tm5Rh4hmB5VJdL7MEOg=";
};
nativeBuildInputs = [

View File

@ -8,13 +8,13 @@
buildGoModule rec {
pname = "datree";
version = "1.8.21";
version = "1.8.24";
src = fetchFromGitHub {
owner = "datreeio";
repo = "datree";
rev = "refs/tags/${version}";
hash = "sha256-OURnQo38ofiDRu01GeEFTNiTYUeiDLMr1j28HzHVxds=";
hash = "sha256-C6APYGe0zLj/SYaSOoYKr/4yyAs0EKJmDfcJlqltKdg=";
};
vendorHash = "sha256-mkVguYzjNGgFUdATjGfenCx3h97LS3SEOkYo3CuP9fA=";

View File

@ -0,0 +1,61 @@
{ lib
, stdenv
, fetchFromGitHub
, gettext
, installShellFiles
, ncurses
, ui ? "terminal"
}:
assert lib.elem ui [ "terminal" "curses" ];
stdenv.mkDerivation (self: {
pname = "2048-cli";
version = "unstable-2019-12-10";
src = fetchFromGitHub {
owner = "tiehuis";
repo = "2048-cli";
rev = "67439255df7d4f70209ca628d65128cd41d33e8d";
hash = "sha256-U7g2wCZgR7Lp/69ktQIZZ1cScll2baCequemTl3Mc3I=";
};
postPatch = ''
substituteInPlace Makefile \
--replace "-lcurses" "-lncurses"
'';
nativeBuildInputs = [
installShellFiles
];
buildInputs = [
gettext
]
++ (lib.optional (ui == "curses") ncurses);
dontConfigure = true;
NIX_CFLAGS_COMPILE="-I${lib.getDev gettext}/share/gettext/";
makeFlags = [
"CC=${stdenv.cc.targetPrefix}cc"
ui
];
installPhase = ''
runHook preInstall
install -Dm755 -t $out/bin 2048
installManPage man/2048.6
runHook postInstall
'';
meta = {
homepage = "https://github.com/tiehuis/2048-cli";
description = "The game 2048 for your Linux terminal";
license = lib.licenses.mit;
maintainers = [ lib.maintainers.AndersonTorres ];
platforms = lib.platforms.unix;
};
})

View File

@ -265,10 +265,6 @@ let
# Ensure that we are using a consistent package set
extraBuildInputs = extraPackages python.pkgs;
# Create info about included packages and components
extraComponentsFile = writeText "home-assistant-components" (lib.concatStringsSep "\n" extraComponents);
extraPackagesFile = writeText "home-assistant-packages" (lib.concatMapStringsSep "\n" (pkg: pkg.pname) extraBuildInputs);
# Don't forget to run parse-requirements.py after updating
hassVersion = "2023.2.5";
@ -359,7 +355,7 @@ in python.pkgs.buildPythonApplication rec {
yarl
# Implicit dependency via homeassistant/requirements.py
setuptools
] ++ componentBuildInputs ++ extraBuildInputs;
];
makeWrapperArgs = lib.optional skipPip "--add-flags --skip-pip";
@ -428,11 +424,6 @@ in python.pkgs.buildPythonApplication rec {
export PATH=${inetutils}/bin:$PATH
'';
postInstall = ''
cp -v ${extraComponentsFile} $out/extra_components
cp -v ${extraPackagesFile} $out/extra_packages
'';
passthru = {
inherit
availableComponents
@ -440,6 +431,7 @@ in python.pkgs.buildPythonApplication rec {
getPackages
python
supportedComponentsWithTests;
pythonPath = python3.pkgs.makePythonPath (componentBuildInputs ++ extraBuildInputs);
intents = python.pkgs.home-assistant-intents;
tests = {
nixos = nixosTests.home-assistant;

View File

@ -15,16 +15,16 @@
rustPlatform.buildRustPackage rec {
pname = "broot";
version = "1.20.1";
version = "1.20.2";
src = fetchFromGitHub {
owner = "Canop";
repo = pname;
rev = "v${version}";
hash = "sha256-W8B4e8x9IoINR4NSm8jVBqXZbe1T/4z3RVmNrLVzV1M=";
hash = "sha256-TSaHngDLD2Tit4ixFDT2OhoqLGMIXj5rgxLwX06nHNw=";
};
cargoHash = "sha256-XEvIqzSkusOv+boNZbTRxXVN566SduNDcZSkomJRMsk=";
cargoHash = "sha256-66iEMcgd3Tx6134ggqckOf61RMn/w5x2a61Dlfs1GUc=";
nativeBuildInputs = [
installShellFiles

View File

@ -0,0 +1,43 @@
{ lib
, stdenv
, fetchFromGitea
, editline
, readline
, historyType ? "internal"
, predefinedBuildType ? "BSD"
}:
assert lib.elem historyType [ "editline" "readline" "internal" ];
assert lib.elem predefinedBuildType [ "BSD" "GNU" "GDH" "DBG" ];
stdenv.mkDerivation (self: {
pname = "gavin-bc";
version = "6.2.4";
src = fetchFromGitea {
domain = "git.gavinhoward.com";
owner = "gavin";
repo = "bc";
rev = self.version;
hash = "sha256-KQheSyBbxh2ROOvwt/gqhJM+qWc+gDS/x4fD6QIYUWw=";
};
buildInputs =
(lib.optional (historyType == "editline") editline)
++ (lib.optional (historyType == "readline") readline);
configureFlags = [
"--disable-nls"
"--predefined-build-type=${historyType}"
]
++ (lib.optional (historyType == "editline") "--enable-editline")
++ (lib.optional (historyType == "readline") "--enable-readline");
meta = {
homepage = "https://git.gavinhoward.com/gavin/bc";
description = "Gavin Howard's BC calculator implementation";
license = lib.licenses.bsd2;
maintainers = [ lib.maintainers.AndersonTorres ];
platforms = lib.platforms.unix;
broken = stdenv.isDarwin;
};
})

View File

@ -8,21 +8,21 @@
rustPlatform.buildRustPackage rec {
pname = "sagoin";
version = "0.2.0";
version = "0.2.1";
src = fetchFromGitHub {
owner = "figsoda";
repo = pname;
rev = "v${version}";
sha256 = "sha256-BCsNsBD+ZkxhIy1yC+N0AqbEsQ2ElfWLtnBOG+0hHXk=";
sha256 = "sha256-CSkij/3WCeEq26Uhlrgdf503hGf0OwSUQNmx5mspD08=";
};
cargoSha256 = "sha256-B8P92utlmZlxNfzBidNUaGw7BhgkOPwD0yahtKZ2yto=";
cargoSha256 = "sha256-Zos3ox6VQv9t1KoblAJhVblTOQOn9rJyvaXK48Y/K1c=";
nativeBuildInputs = [ installShellFiles ];
buildInputs = lib.optionals stdenv.isDarwin [
darwin.apple_sdk.frameworks.Security
darwin.apple_sdk.frameworks.CoreServices
];
postInstall = ''

View File

@ -3670,6 +3670,8 @@ with pkgs;
bc = callPackage ../tools/misc/bc { };
gavin-bc = callPackage ../tools/misc/gavin-bc { };
bdf2psf = callPackage ../tools/misc/bdf2psf { };
bdf2sfd = callPackage ../tools/misc/bdf2sfd { };
@ -34807,6 +34809,10 @@ with pkgs;
_1oom = callPackage ../games/1oom { };
_2048-cli = _2048-cli-terminal;
_2048-cli-curses = callPackage ../games/2048-cli { ui = "curses"; };
_2048-cli-terminal = callPackage ../games/2048-cli { ui = "terminal"; };
_2048-in-terminal = callPackage ../games/2048-in-terminal { };
_20kly = callPackage ../games/20kly { };

View File

@ -133,6 +133,7 @@ mapAliases ({
mutmut = throw "mutmut has been promoted to a top-level attribute"; # added 2022-10-02
net2grid = gridnet; # add 2022-04-22
nose-cover3 = throw "nose-cover3 has been removed, it was using setuptools 2to3 translation feature, which has been removed in setuptools 58"; # added 2022-02-16
nose_progressive = throw "nose_progressive has been removed, it was using setuptools 2to3 translation feature, which has been removed in setuptools 58"; #added 2023-02-21
notifymuch = throw "notifymuch has been promoted to a top-level attribute"; # added 2022-10-02
ordereddict = throw "ordereddict has been removed because it is only useful on unsupported python versions."; # added 2022-05-28
pafy = throw "pafy has been removed because it is unmaintained and only a dependency of mps-youtube, itself superseded by yewtube"; # Added 2023-01-19

View File

@ -6460,8 +6460,6 @@ self: super: with self; {
nose-pattern-exclude = callPackage ../development/python-modules/nose-pattern-exclude { };
nose_progressive = callPackage ../development/python-modules/nose_progressive { };
nose-randomly = callPackage ../development/python-modules/nose-randomly { };
nose_warnings_filters = callPackage ../development/python-modules/nose_warnings_filters { };