forked from mirrors/nixpkgs
Merge staging-next into staging
This commit is contained in:
commit
2d285b1590
|
@ -409,6 +409,7 @@ in {
|
||||||
(optionalString (cfg.config != null) copyConfig) +
|
(optionalString (cfg.config != null) copyConfig) +
|
||||||
(optionalString (cfg.lovelaceConfig != null) copyLovelaceConfig)
|
(optionalString (cfg.lovelaceConfig != null) copyLovelaceConfig)
|
||||||
;
|
;
|
||||||
|
environment.PYTHONPATH = package.pythonPath;
|
||||||
serviceConfig = let
|
serviceConfig = let
|
||||||
# List of capabilities to equip home-assistant with, depending on configured components
|
# List of capabilities to equip home-assistant with, depending on configured components
|
||||||
capabilities = lib.unique ([
|
capabilities = lib.unique ([
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
{ config, lib, pkgs, ... }:
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
with lib;
|
with lib;
|
||||||
|
|
||||||
let
|
let
|
||||||
|
@ -16,17 +15,19 @@ in {
|
||||||
type = types.package;
|
type = types.package;
|
||||||
default = pkgs.mbpfan;
|
default = pkgs.mbpfan;
|
||||||
defaultText = literalExpression "pkgs.mbpfan";
|
defaultText = literalExpression "pkgs.mbpfan";
|
||||||
description = lib.mdDoc ''
|
description = lib.mdDoc "The package used for the mbpfan daemon.";
|
||||||
The package used for the mbpfan daemon.
|
|
||||||
'';
|
|
||||||
};
|
};
|
||||||
|
|
||||||
verbose = mkOption {
|
verbose = mkOption {
|
||||||
type = types.bool;
|
type = types.bool;
|
||||||
default = false;
|
default = false;
|
||||||
description = lib.mdDoc ''
|
description = lib.mdDoc "If true, sets the log level to verbose.";
|
||||||
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 {
|
settings = mkOption {
|
||||||
|
@ -35,24 +36,14 @@ in {
|
||||||
type = types.submodule {
|
type = types.submodule {
|
||||||
freeformType = settingsFormat.type;
|
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 {
|
options.general.low_temp = mkOption {
|
||||||
type = types.int;
|
type = types.int;
|
||||||
default = 55;
|
default = 63;
|
||||||
description = lib.mdDoc "If temperature is below this, fans will run at minimum speed.";
|
description = lib.mdDoc "If temperature is below this, fans will run at minimum speed.";
|
||||||
};
|
};
|
||||||
options.general.high_temp = mkOption {
|
options.general.high_temp = mkOption {
|
||||||
type = types.int;
|
type = types.int;
|
||||||
default = 58;
|
default = 66;
|
||||||
description = lib.mdDoc "If temperature is above this, fan speed will gradually increase.";
|
description = lib.mdDoc "If temperature is above this, fan speed will gradually increase.";
|
||||||
};
|
};
|
||||||
options.general.max_temp = mkOption {
|
options.general.max_temp = mkOption {
|
||||||
|
@ -79,10 +70,16 @@ in {
|
||||||
];
|
];
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
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.systemPackages = [ cfg.package ];
|
||||||
|
environment.etc."mbpfan.conf".source = settingsFile;
|
||||||
|
|
||||||
systemd.services.mbpfan = {
|
systemd.services.mbpfan = {
|
||||||
description = "A fan manager daemon for MacBook Pro";
|
description = "A fan manager daemon for MacBook Pro";
|
||||||
|
|
|
@ -22,22 +22,23 @@ in {
|
||||||
enable = true;
|
enable = true;
|
||||||
inherit configDir;
|
inherit configDir;
|
||||||
|
|
||||||
# tests loading components by overriding the package
|
# provide dependencies through package overrides
|
||||||
package = (pkgs.home-assistant.override {
|
package = (pkgs.home-assistant.override {
|
||||||
extraPackages = ps: with ps; [
|
extraPackages = ps: with ps; [
|
||||||
colorama
|
colorama
|
||||||
];
|
];
|
||||||
extraComponents = [ "zha" ];
|
extraComponents = [
|
||||||
}).overrideAttrs (oldAttrs: {
|
# test char-tty device allow propagation into the service
|
||||||
doInstallCheck = false;
|
"zha"
|
||||||
|
];
|
||||||
});
|
});
|
||||||
|
|
||||||
# tests loading components from the module
|
# provide component dependencies explicitly from the module
|
||||||
extraComponents = [
|
extraComponents = [
|
||||||
"wake_on_lan"
|
"mqtt"
|
||||||
];
|
];
|
||||||
|
|
||||||
# test extra package passing from the module
|
# provide package for postgresql support
|
||||||
extraPackages = python3Packages: with python3Packages; [
|
extraPackages = python3Packages: with python3Packages; [
|
||||||
psycopg2
|
psycopg2
|
||||||
];
|
];
|
||||||
|
@ -111,36 +112,38 @@ in {
|
||||||
};
|
};
|
||||||
|
|
||||||
testScript = { nodes, ... }: let
|
testScript = { nodes, ... }: let
|
||||||
system = nodes.hass.config.system.build.toplevel;
|
system = nodes.hass.system.build.toplevel;
|
||||||
in
|
in
|
||||||
''
|
''
|
||||||
import re
|
|
||||||
import json
|
import json
|
||||||
|
|
||||||
start_all()
|
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() -> str:
|
||||||
def get_journal_cursor(host) -> str:
|
exit, out = hass.execute("journalctl -u home-assistant.service -n1 -o json-pretty --output-fields=__CURSOR")
|
||||||
exit, out = host.execute("journalctl -u home-assistant.service -n1 -o json-pretty --output-fields=__CURSOR")
|
|
||||||
assert exit == 0
|
assert exit == 0
|
||||||
return json.loads(out)["__CURSOR"]
|
return json.loads(out)["__CURSOR"]
|
||||||
|
|
||||||
|
|
||||||
def wait_for_homeassistant(host, cursor):
|
def get_journal_since(cursor) -> str:
|
||||||
host.wait_until_succeeds(f"journalctl --after-cursor='{cursor}' -u home-assistant.service | grep -q 'Home Assistant initialized in'")
|
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")
|
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"):
|
with subtest("Check that YAML configuration file is in place"):
|
||||||
hass.succeed("test -L ${configDir}/configuration.yaml")
|
hass.succeed("test -L ${configDir}/configuration.yaml")
|
||||||
|
@ -148,19 +151,22 @@ in {
|
||||||
with subtest("Check the lovelace config is copied because lovelaceConfigWritable = true"):
|
with subtest("Check the lovelace config is copied because lovelaceConfigWritable = true"):
|
||||||
hass.succeed("test -f ${configDir}/ui-lovelace.yaml")
|
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"):
|
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.wait_for_open_port(8123)
|
||||||
hass.succeed("curl --fail http://localhost:8123/lovelace")
|
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"):
|
with subtest("Check that capabilities are passed for emulated_hue to bind to port 80"):
|
||||||
hass.wait_for_open_port(80)
|
hass.wait_for_open_port(80)
|
||||||
hass.succeed("curl --fail http://localhost:80/description.xml")
|
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")
|
hass.succeed("systemctl show -p DeviceAllow home-assistant.service | grep -q char-ttyUSB")
|
||||||
|
|
||||||
with subtest("Check service reloads when configuration changes"):
|
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")
|
||||||
pid = hass.succeed("systemctl show --property=MainPID home-assistant.service")
|
cursor = get_journal_cursor()
|
||||||
cursor = get_journal_cursor(hass)
|
hass.succeed("${system}/specialisation/differentName/bin/switch-to-configuration test")
|
||||||
hass.succeed("${system}/specialisation/differentName/bin/switch-to-configuration test")
|
new_pid = hass.succeed("systemctl show --property=MainPID home-assistant.service")
|
||||||
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"
|
||||||
assert pid == new_pid, "The PID of the process should not change between process reloads"
|
wait_for_homeassistant(cursor)
|
||||||
wait_for_homeassistant(hass, cursor)
|
|
||||||
|
|
||||||
with subtest("check service restarts when package changes"):
|
with subtest("Check service restarts when dependencies change"):
|
||||||
pid = new_pid
|
pid = new_pid
|
||||||
cursor = get_journal_cursor(hass)
|
cursor = get_journal_cursor()
|
||||||
hass.succeed("${system}/specialisation/newFeature/bin/switch-to-configuration test")
|
hass.succeed("${system}/specialisation/newFeature/bin/switch-to-configuration test")
|
||||||
new_pid = hass.succeed("systemctl show --property=MainPID home-assistant.service")
|
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"
|
assert pid != new_pid, "The PID of the process should change when its PYTHONPATH changess"
|
||||||
wait_for_homeassistant(hass, cursor)
|
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"):
|
with subtest("Check that no errors were logged"):
|
||||||
output_log = hass.succeed("cat ${configDir}/home-assistant.log")
|
hass.fail("journalctl -u home-assistant -o cat | grep -q ERROR")
|
||||||
assert "ERROR" not in output_log
|
|
||||||
|
|
||||||
with subtest("Check systemd unit hardening"):
|
with subtest("Check systemd unit hardening"):
|
||||||
hass.log(hass.succeed("systemctl cat home-assistant.service"))
|
hass.log(hass.succeed("systemctl cat home-assistant.service"))
|
||||||
|
|
|
@ -11,13 +11,13 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "ashuffle";
|
pname = "ashuffle";
|
||||||
version = "3.13.4";
|
version = "3.13.6";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "joshkunz";
|
owner = "joshkunz";
|
||||||
repo = "ashuffle";
|
repo = "ashuffle";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-J6NN0Rsc9Zw9gagksDlwpwEErs+4XmrGF9YHKlAE1FA=";
|
sha256 = "sha256-8XjLs4MI5MXvA6veCoTAj8tlYDe7YTggutO3F9eNyMM=";
|
||||||
fetchSubmodules = true;
|
fetchSubmodules = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -1,29 +1,33 @@
|
||||||
{ lib
|
{ asio
|
||||||
, stdenv
|
|
||||||
, cmake
|
, cmake
|
||||||
, pkg-config
|
|
||||||
, curl
|
, curl
|
||||||
, asio
|
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
, fetchpatch
|
, fetchpatch
|
||||||
, ffmpeg
|
, ffmpeg
|
||||||
, gnutls
|
, gnutls
|
||||||
, lame
|
, lame
|
||||||
|
, lib
|
||||||
, libev
|
, libev
|
||||||
, game-music-emu
|
, game-music-emu
|
||||||
, libmicrohttpd
|
, libmicrohttpd
|
||||||
, libopenmpt
|
, libopenmpt
|
||||||
, mpg123
|
, mpg123
|
||||||
, ncurses
|
, ncurses
|
||||||
|
, pkg-config
|
||||||
|
, portaudio
|
||||||
|
, stdenv
|
||||||
, taglib
|
, taglib
|
||||||
# Linux Dependencies
|
# Linux Dependencies
|
||||||
, alsa-lib
|
, alsa-lib
|
||||||
|
, pipewireSupport ? true, pipewire
|
||||||
, pulseaudio
|
, pulseaudio
|
||||||
, systemdSupport ? lib.meta.availableOn stdenv.hostPlatform systemd
|
, sndioSupport ? true, sndio
|
||||||
, systemd
|
, systemd
|
||||||
|
, systemdSupport ? lib.meta.availableOn stdenv.hostPlatform systemd
|
||||||
# Darwin Dependencies
|
# Darwin Dependencies
|
||||||
, Cocoa
|
, Cocoa
|
||||||
, SystemConfiguration
|
, SystemConfiguration
|
||||||
|
, coreaudioSupport ? stdenv.hostPlatform.isDarwin
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
|
@ -56,13 +60,18 @@ stdenv.mkDerivation rec {
|
||||||
libopenmpt
|
libopenmpt
|
||||||
mpg123
|
mpg123
|
||||||
ncurses
|
ncurses
|
||||||
|
portaudio
|
||||||
taglib
|
taglib
|
||||||
] ++ lib.optionals systemdSupport [
|
] ++ lib.optionals systemdSupport [
|
||||||
systemd
|
systemd
|
||||||
] ++ lib.optionals stdenv.isLinux [
|
] ++ lib.optionals stdenv.isLinux [
|
||||||
alsa-lib pulseaudio
|
alsa-lib pulseaudio
|
||||||
] ++ lib.optionals stdenv.isDarwin [
|
] ++ lib.optionals stdenv.isDarwin [
|
||||||
Cocoa SystemConfiguration
|
Cocoa coreaudioSupport SystemConfiguration
|
||||||
|
] ++ lib.optional sndioSupport [
|
||||||
|
sndio
|
||||||
|
] ++ lib.optional pipewireSupport [
|
||||||
|
pipewire
|
||||||
];
|
];
|
||||||
|
|
||||||
cmakeFlags = [
|
cmakeFlags = [
|
||||||
|
|
|
@ -38,13 +38,13 @@ let
|
||||||
in
|
in
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "cudatext";
|
pname = "cudatext";
|
||||||
version = "1.184.0";
|
version = "1.185.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "Alexey-T";
|
owner = "Alexey-T";
|
||||||
repo = "CudaText";
|
repo = "CudaText";
|
||||||
rev = version;
|
rev = version;
|
||||||
hash = "sha256-bRe9yS9CMsBH04oefImSYkd1jUe3SnJU6JZETLwow/0=";
|
hash = "sha256-hzEDKpH1dShmEZ6EYkA5rLtbJc2ukw7Gs7spMjiocCE=";
|
||||||
};
|
};
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
|
|
4
pkgs/applications/editors/cudatext/deps.json
generated
4
pkgs/applications/editors/cudatext/deps.json
generated
|
@ -16,8 +16,8 @@
|
||||||
},
|
},
|
||||||
"ATSynEdit": {
|
"ATSynEdit": {
|
||||||
"owner": "Alexey-T",
|
"owner": "Alexey-T",
|
||||||
"rev": "2023.02.12",
|
"rev": "2023.02.19",
|
||||||
"hash": "sha256-PSRKxKJkX9GlV8JUACYzDZguv8M8jKVxlW7U4Mmla9o="
|
"hash": "sha256-2qNY7xzyJ0rCVNDQcJaJ7qZgOhtBCcuGCxY1BvVAoEs="
|
||||||
},
|
},
|
||||||
"ATSynEdit_Cmp": {
|
"ATSynEdit_Cmp": {
|
||||||
"owner": "Alexey-T",
|
"owner": "Alexey-T",
|
||||||
|
|
|
@ -10,16 +10,16 @@
|
||||||
|
|
||||||
rustPlatform.buildRustPackage rec {
|
rustPlatform.buildRustPackage rec {
|
||||||
pname = "pueue";
|
pname = "pueue";
|
||||||
version = "3.1.0";
|
version = "3.1.1";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "Nukesor";
|
owner = "Nukesor";
|
||||||
repo = "pueue";
|
repo = "pueue";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
hash = "sha256-vJJ3qQb38b0vr7o+7rc3z5wftI6Ko4mJiGLvVzyjTeE=";
|
hash = "sha256-5xHY8DOQnOdYqNyfAS2kMuW2vxAuoSe6RaOItnAJCkQ=";
|
||||||
};
|
};
|
||||||
|
|
||||||
cargoHash = "sha256-3taLua69kqPnNraIZIesMkFguCbPWTF5Hu9s2Lc02ZA=";
|
cargoHash = "sha256-3IOtx1aeth6QBjY6aILtzxhjZddovD7KIKzNhVCabfU=";
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
installShellFiles
|
installShellFiles
|
||||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -2,12 +2,12 @@
|
||||||
|
|
||||||
let
|
let
|
||||||
pname = "polypane";
|
pname = "polypane";
|
||||||
version = "10.0.1";
|
version = "13.0.2";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/firstversionist/${pname}/releases/download/v${version}/${pname}-${version}.AppImage";
|
url = "https://github.com/firstversionist/${pname}/releases/download/v${version}/${pname}-${version}.AppImage";
|
||||||
name = "${pname}-${version}.AppImage";
|
name = "${pname}-${version}.AppImage";
|
||||||
sha256 = "sha256-J0D49VESNgdBEWAf01LkiiU2I01r4PBLyWKpnE9t45Q=";
|
sha256 = "sha256-+44a9dPQOV1D2rnsuy+GyJqZz/UCbITmMuunwHc4JFY=";
|
||||||
};
|
};
|
||||||
|
|
||||||
appimageContents = appimageTools.extractType2 {
|
appimageContents = appimageTools.extractType2 {
|
||||||
|
|
|
@ -26,6 +26,7 @@
|
||||||
, pulseaudioSupport ? mediaSupport
|
, pulseaudioSupport ? mediaSupport
|
||||||
, libpulseaudio
|
, libpulseaudio
|
||||||
, apulse
|
, apulse
|
||||||
|
, alsa-lib
|
||||||
|
|
||||||
# Media support (implies audio support)
|
# Media support (implies audio support)
|
||||||
, mediaSupport ? true
|
, mediaSupport ? true
|
||||||
|
@ -57,6 +58,7 @@ let
|
||||||
libPath = lib.makeLibraryPath libPkgs;
|
libPath = lib.makeLibraryPath libPkgs;
|
||||||
|
|
||||||
libPkgs = [
|
libPkgs = [
|
||||||
|
alsa-lib
|
||||||
atk
|
atk
|
||||||
cairo
|
cairo
|
||||||
dbus
|
dbus
|
||||||
|
@ -85,9 +87,9 @@ let
|
||||||
fteLibPath = lib.makeLibraryPath [ stdenv.cc.cc gmp ];
|
fteLibPath = lib.makeLibraryPath [ stdenv.cc.cc gmp ];
|
||||||
|
|
||||||
# Upstream source
|
# Upstream source
|
||||||
version = "11.5.8";
|
version = "12.0.3";
|
||||||
|
|
||||||
lang = "en-US";
|
lang = "ALL";
|
||||||
|
|
||||||
srcs = {
|
srcs = {
|
||||||
x86_64-linux = fetchurl {
|
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.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"
|
"https://tor.calyxinstitute.org/dist/torbrowser/${version}/tor-browser-linux64-${version}_${lang}.tar.xz"
|
||||||
];
|
];
|
||||||
sha256 = "sha256-/KK9oTijk5dEziAwp5966NaM2V4k1mtBjTJq88Ct7N0=";
|
hash = "sha256-bOGY/RdwD6O7QIuOiBw7OVnZfpumGGso6hwMJJwN2g0=";
|
||||||
};
|
};
|
||||||
|
|
||||||
i686-linux = fetchurl {
|
i686-linux = fetchurl {
|
||||||
|
@ -107,7 +109,7 @@ let
|
||||||
"https://tor.eff.org/dist/torbrowser/${version}/tor-browser-linux32-${version}_${lang}.tar.xz"
|
"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"
|
"https://tor.calyxinstitute.org/dist/torbrowser/${version}/tor-browser-linux32-${version}_${lang}.tar.xz"
|
||||||
];
|
];
|
||||||
sha256 = "sha256-TGdJ5yIeo0YQ4XSsb9lv3vuW6qEjhFe7KBmkjYO6fAc=";
|
hash = "sha256-t1tnEZtiRig2r8GNJpqT+J0XoxCLMyUsI9tX6aa0lYk=";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
|
@ -291,13 +293,9 @@ stdenv.mkDerivation rec {
|
||||||
# TBB will fail if ownership is too permissive
|
# TBB will fail if ownership is too permissive
|
||||||
chmod 0700 "\$HOME/TorBrowser/Data/Tor"
|
chmod 0700 "\$HOME/TorBrowser/Data/Tor"
|
||||||
|
|
||||||
# Initialize the browser profile state. Note that the only data
|
# Initialize the browser profile state.
|
||||||
# copied from the Store payload is the initial bookmark file, which is
|
# All files under user's profile dir are generated by TBB.
|
||||||
# never updated once created. All other files under user's profile
|
|
||||||
# dir are generated by TBB.
|
|
||||||
mkdir -p "\$HOME/TorBrowser/Data/Browser/profile.default"
|
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
|
# Clear some files if the last known store path is different from the new one
|
||||||
: "\''${KNOWN_STORE_PATH:=\$HOME/known-store-path}"
|
: "\''${KNOWN_STORE_PATH:=\$HOME/known-store-path}"
|
||||||
|
@ -325,6 +323,9 @@ stdenv.mkDerivation rec {
|
||||||
# chance that TBB would continue using old font files.
|
# chance that TBB would continue using old font files.
|
||||||
rm -rf "\$HOME/.cache/fontconfig"
|
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)
|
# 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\");"
|
echo "user_pref(\"extensions.torlauncher.toronionauthdir_path\", \"\$HOME/TorBrowser/Data/Tor/onion-auth\");"
|
||||||
|
|
|
@ -219,13 +219,13 @@
|
||||||
"vendorHash": "sha256-PALZGyGZ6Ggccl4V9gG+gsEdNipYG+DCaZkqF0W1IMQ="
|
"vendorHash": "sha256-PALZGyGZ6Ggccl4V9gG+gsEdNipYG+DCaZkqF0W1IMQ="
|
||||||
},
|
},
|
||||||
"cloudflare": {
|
"cloudflare": {
|
||||||
"hash": "sha256-Y48H7P69ORr8U0yXf1HEBqh//oOmWn3Uj8GQ12PsV/M=",
|
"hash": "sha256-fHugf+nvel/bSyh+l94q0iE7E+ZYBt2qfGSoot9xI8w=",
|
||||||
"homepage": "https://registry.terraform.io/providers/cloudflare/cloudflare",
|
"homepage": "https://registry.terraform.io/providers/cloudflare/cloudflare",
|
||||||
"owner": "cloudflare",
|
"owner": "cloudflare",
|
||||||
"repo": "terraform-provider-cloudflare",
|
"repo": "terraform-provider-cloudflare",
|
||||||
"rev": "v3.33.1",
|
"rev": "v4.0.0",
|
||||||
"spdx": "MPL-2.0",
|
"spdx": "MPL-2.0",
|
||||||
"vendorHash": "sha256-3JH+4ExREL3vtq6CiQN0G0x08ScrzOf2pTAnsWcGgq8="
|
"vendorHash": "sha256-jIQcgGknigQFUkLjLoxUjq+Mqjb085v6Zqgd49Dxivo="
|
||||||
},
|
},
|
||||||
"cloudfoundry": {
|
"cloudfoundry": {
|
||||||
"hash": "sha256-/Zxj9cous0SjYxeDo+8/u61pqDwMGt/UsS/OC1oSR2U=",
|
"hash": "sha256-/Zxj9cous0SjYxeDo+8/u61pqDwMGt/UsS/OC1oSR2U=",
|
||||||
|
@ -503,11 +503,11 @@
|
||||||
"vendorHash": null
|
"vendorHash": null
|
||||||
},
|
},
|
||||||
"heroku": {
|
"heroku": {
|
||||||
"hash": "sha256-UGA01N4ToEb3eSKCI2raI3ZXFeRm0MVVXVWgAc7im9g=",
|
"hash": "sha256-Fc8nCrFR3cHEN68y277/eZ6DLVfFxEyliCkii5343MI=",
|
||||||
"homepage": "https://registry.terraform.io/providers/heroku/heroku",
|
"homepage": "https://registry.terraform.io/providers/heroku/heroku",
|
||||||
"owner": "heroku",
|
"owner": "heroku",
|
||||||
"repo": "terraform-provider-heroku",
|
"repo": "terraform-provider-heroku",
|
||||||
"rev": "v5.1.10",
|
"rev": "v5.1.11",
|
||||||
"spdx": "MPL-2.0",
|
"spdx": "MPL-2.0",
|
||||||
"vendorHash": null
|
"vendorHash": null
|
||||||
},
|
},
|
||||||
|
@ -1054,13 +1054,13 @@
|
||||||
"vendorHash": "sha256-sVNtY2wDGE2ZOB4YNytx0n4V4cbNKoXAv7JCA+Ym3JU="
|
"vendorHash": "sha256-sVNtY2wDGE2ZOB4YNytx0n4V4cbNKoXAv7JCA+Ym3JU="
|
||||||
},
|
},
|
||||||
"stackpath": {
|
"stackpath": {
|
||||||
"hash": "sha256-nTR9HgSmuNCt7wxE4qqIH2+HA2igzqVx0lLRx6FoKrE=",
|
"hash": "sha256-7KQUddq+M35WYyAIAL8sxBjAaXFcsczBRO1R5HURUZg=",
|
||||||
"homepage": "https://registry.terraform.io/providers/stackpath/stackpath",
|
"homepage": "https://registry.terraform.io/providers/stackpath/stackpath",
|
||||||
"owner": "stackpath",
|
"owner": "stackpath",
|
||||||
"repo": "terraform-provider-stackpath",
|
"repo": "terraform-provider-stackpath",
|
||||||
"rev": "v1.4.0",
|
"rev": "v1.5.0",
|
||||||
"spdx": "MPL-2.0",
|
"spdx": "MPL-2.0",
|
||||||
"vendorHash": "sha256-Fvku4OB1sdWuvMx/FIHfOJt9STgao0xPDao6b2SYxcQ="
|
"vendorHash": "sha256-OGYiynCwbJU2KisS7Y6xmLuBKOtQvh3MWPrvBk/x95U="
|
||||||
},
|
},
|
||||||
"statuscake": {
|
"statuscake": {
|
||||||
"hash": "sha256-PcA0t/G11w9ud+56NdiRXi82ubJ+wpL4XcexT1O2ADw=",
|
"hash": "sha256-PcA0t/G11w9ud+56NdiRXi82ubJ+wpL4XcexT1O2ADw=",
|
||||||
|
|
|
@ -1,18 +1,19 @@
|
||||||
{ lib
|
{ lib
|
||||||
, stdenvNoCC
|
, stdenvNoCC
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
|
, nix-update-script
|
||||||
, nixosTests
|
, nixosTests
|
||||||
, php}:
|
, php}:
|
||||||
|
|
||||||
stdenvNoCC.mkDerivation rec {
|
stdenvNoCC.mkDerivation rec {
|
||||||
name = "cloudlog";
|
name = "cloudlog";
|
||||||
version = "2.3.3";
|
version = "2.4";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "magicbug";
|
owner = "magicbug";
|
||||||
repo = "Cloudlog";
|
repo = "Cloudlog";
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "sha256-9m7BuUNdGeKqi8pzeW2J9zpxShulpynCwJJGkRFkBa4=";
|
sha256 = "sha256-aF1f6EmlcUgZOkHJgrW6P923QW56vWMH8CZ4cnYiiSk=";
|
||||||
};
|
};
|
||||||
|
|
||||||
postPath = ''
|
postPath = ''
|
||||||
|
@ -25,8 +26,11 @@ stdenvNoCC.mkDerivation rec {
|
||||||
cp -R ./* $out
|
cp -R ./* $out
|
||||||
'';
|
'';
|
||||||
|
|
||||||
passthru.tests = {
|
passthru = {
|
||||||
inherit (nixosTests) cloudlog;
|
tests = {
|
||||||
|
inherit (nixosTests) cloudlog;
|
||||||
|
};
|
||||||
|
updateScript = nix-update-script { };
|
||||||
};
|
};
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
|
|
|
@ -15,13 +15,13 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "nvc";
|
pname = "nvc";
|
||||||
version = "1.8.1";
|
version = "1.8.2";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "nickg";
|
owner = "nickg";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "r${version}";
|
rev = "r${version}";
|
||||||
hash = "sha256-9ziGNAZgUYnBofx7YwSzAgL4zIAwoPYMsGWBYs+xtg0=";
|
hash = "sha256-s7QgufD3sQ6sZh2H78E8x0dMidHRKHUm8tASXoKK3xk=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
|
|
@ -6,12 +6,12 @@
|
||||||
|
|
||||||
python3Packages.buildPythonApplication rec {
|
python3Packages.buildPythonApplication rec {
|
||||||
pname = "streamlink";
|
pname = "streamlink";
|
||||||
version = "5.2.1";
|
version = "5.3.0";
|
||||||
format = "pyproject";
|
format = "pyproject";
|
||||||
|
|
||||||
src = python3Packages.fetchPypi {
|
src = python3Packages.fetchPypi {
|
||||||
inherit pname version;
|
inherit pname version;
|
||||||
hash = "sha256-/YcFH5t9x9EsmK7oPvSECmhL2ypHYgPvsMdL1IupEfw=";
|
hash = "sha256-+9MSSzPYZ8gwOeQLehR41SklfdcUn8Pa6TI//lh9twE=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeCheckInputs = with python3Packages; [
|
nativeCheckInputs = with python3Packages; [
|
||||||
|
|
|
@ -2,11 +2,11 @@
|
||||||
|
|
||||||
stdenvNoCC.mkDerivation rec {
|
stdenvNoCC.mkDerivation rec {
|
||||||
pname = "cozette";
|
pname = "cozette";
|
||||||
version = "1.19.0";
|
version = "1.19.1";
|
||||||
|
|
||||||
src = fetchzip {
|
src = fetchzip {
|
||||||
url = "https://github.com/slavfox/Cozette/releases/download/v.${version}/CozetteFonts.zip";
|
url = "https://github.com/slavfox/Cozette/releases/download/v.${version}/CozetteFonts.zip";
|
||||||
hash = "sha256-nlEnQjQJAFRvZgdGMiloMs4afugmSFnITTIHD+Qkggg=";
|
hash = "sha256-CpabWJJDCY+mgE+9U8L50MmWVfhkm+LnfMQtOTXyE8s=";
|
||||||
};
|
};
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
|
|
|
@ -2,13 +2,13 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "v2ray-geoip";
|
pname = "v2ray-geoip";
|
||||||
version = "202302160443";
|
version = "202302200325";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "v2fly";
|
owner = "v2fly";
|
||||||
repo = "geoip";
|
repo = "geoip";
|
||||||
rev = "f8fbab498f52848317db703f57f0c839e81cd587";
|
rev = "c642604d56dbe9b426871e3a47e18eba3d3d3850";
|
||||||
sha256 = "sha256-9LZxVNhigy2cO41d8nZtFrfDoCjJTdzrGUZpmjcpje8=";
|
sha256 = "sha256-tsDoz/2b0InjLWfgi2Jcs8BpscQ0SFA6+tVZIw6JQGA=";
|
||||||
};
|
};
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
|
|
|
@ -11,16 +11,16 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "aiocurrencylayer";
|
pname = "aiocurrencylayer";
|
||||||
version = "1.0.4";
|
version = "1.0.5";
|
||||||
format = "pyproject";
|
format = "pyproject";
|
||||||
|
|
||||||
disabled = pythonOlder "3.8";
|
disabled = pythonOlder "3.9";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "home-assistant-ecosystem";
|
owner = "home-assistant-ecosystem";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = version;
|
rev = "refs/tags/${version}";
|
||||||
sha256 = "sha256-neWUld/XnF5xTHSrw5EfGfNhpYzZi5TZsWN4+eqsVXs=";
|
hash = "sha256-468OBQV7ISnPRUfi/CM3dCh1ez0jwSVnM6DduPvAgPI=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
@ -44,6 +44,7 @@ buildPythonPackage rec {
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Python API for interacting with currencylayer";
|
description = "Python API for interacting with currencylayer";
|
||||||
homepage = "https://github.com/home-assistant-ecosystem/aiocurrencylayer";
|
homepage = "https://github.com/home-assistant-ecosystem/aiocurrencylayer";
|
||||||
|
changelog = "https://github.com/home-assistant-ecosystem/aiocurrencylayer/releases/tag/${version}";
|
||||||
license = licenses.mit;
|
license = licenses.mit;
|
||||||
maintainers = with maintainers; [ fab ];
|
maintainers = with maintainers; [ fab ];
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,15 +1,13 @@
|
||||||
{ lib
|
{ lib
|
||||||
, buildPythonPackage
|
, buildPythonPackage
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
, fetchpatch
|
|
||||||
, pytestCheckHook
|
, pytestCheckHook
|
||||||
, pythonAtLeast
|
|
||||||
, pythonOlder
|
, pythonOlder
|
||||||
}:
|
}:
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "boltons";
|
pname = "boltons";
|
||||||
version = "21.0.0";
|
version = "23.0.0";
|
||||||
format = "setuptools";
|
format = "setuptools";
|
||||||
|
|
||||||
disabled = pythonOlder "3.7";
|
disabled = pythonOlder "3.7";
|
||||||
|
@ -18,22 +16,13 @@ buildPythonPackage rec {
|
||||||
owner = "mahmoud";
|
owner = "mahmoud";
|
||||||
repo = "boltons";
|
repo = "boltons";
|
||||||
rev = "refs/tags/${version}";
|
rev = "refs/tags/${version}";
|
||||||
hash = "sha256-8HO7X2PQEbQIQsCa2cMHQI3rlofVT22GYrWNXY34MLk=";
|
hash = "sha256-NqlCu0W/BQkLiaLYs9DB1RrEya6KGPfNtpAzKXxoRD0=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeCheckInputs = [
|
nativeCheckInputs = [
|
||||||
pytestCheckHook
|
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
|
# Tests bind to localhost
|
||||||
__darwinAllowLocalNetworking = true;
|
__darwinAllowLocalNetworking = true;
|
||||||
|
|
||||||
|
@ -41,11 +30,6 @@ buildPythonPackage rec {
|
||||||
"boltons"
|
"boltons"
|
||||||
];
|
];
|
||||||
|
|
||||||
disabledTests = lib.optionals (pythonAtLeast "3.11") [
|
|
||||||
# https://github.com/mahmoud/boltons/issues/326
|
|
||||||
"test_frozendict_api"
|
|
||||||
];
|
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Constructs, recipes, and snippets extending the Python standard library";
|
description = "Constructs, recipes, and snippets extending the Python standard library";
|
||||||
longDescription = ''
|
longDescription = ''
|
||||||
|
|
|
@ -5,7 +5,6 @@
|
||||||
, mock
|
, mock
|
||||||
, blessings
|
, blessings
|
||||||
, nose
|
, nose
|
||||||
, nose_progressive
|
|
||||||
, pillow
|
, pillow
|
||||||
, args
|
, args
|
||||||
, pkgs
|
, pkgs
|
||||||
|
@ -28,7 +27,7 @@ buildPythonPackage rec {
|
||||||
# no longer compatible as behavior demand 2to3, which was removed
|
# no longer compatible as behavior demand 2to3, which was removed
|
||||||
# in setuptools>=58
|
# in setuptools>=58
|
||||||
doCheck = false;
|
doCheck = false;
|
||||||
nativeCheckInputs = [ mock nose nose_progressive pkgs.glibcLocales ];
|
nativeCheckInputs = [ mock nose pkgs.glibcLocales ];
|
||||||
checkPhase = ''
|
checkPhase = ''
|
||||||
${python.interpreter} test_clint.py
|
${python.interpreter} test_clint.py
|
||||||
'';
|
'';
|
||||||
|
|
|
@ -12,7 +12,7 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "cvelib";
|
pname = "cvelib";
|
||||||
version = "1.2.0";
|
version = "1.2.1";
|
||||||
format = "setuptools";
|
format = "setuptools";
|
||||||
|
|
||||||
disabled = pythonOlder "3.7";
|
disabled = pythonOlder "3.7";
|
||||||
|
@ -21,7 +21,7 @@ buildPythonPackage rec {
|
||||||
owner = "RedHatProductSecurity";
|
owner = "RedHatProductSecurity";
|
||||||
repo = "cvelib";
|
repo = "cvelib";
|
||||||
rev = "tags/${version}";
|
rev = "tags/${version}";
|
||||||
hash = "sha256-8qlXwEbgLRZ1qYtBJ1c0nv6qfIOW5zAK9eOS+n+afWQ=";
|
hash = "sha256-hJPcxnc4iQzsYNNVJ9fw6yQl+5K7pdtjHT6oMmBx/Zs=";
|
||||||
};
|
};
|
||||||
|
|
||||||
SETUPTOOLS_SCM_PRETEND_VERSION = "v${version}";
|
SETUPTOOLS_SCM_PRETEND_VERSION = "v${version}";
|
||||||
|
|
|
@ -43,14 +43,14 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "Django";
|
pname = "Django";
|
||||||
version = "4.1.6";
|
version = "4.1.7";
|
||||||
format = "pyproject";
|
format = "pyproject";
|
||||||
|
|
||||||
disabled = pythonOlder "3.8";
|
disabled = pythonOlder "3.8";
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
inherit pname version;
|
inherit pname version;
|
||||||
hash = "sha256-vOsP4aOGeBrweIyuQQhiJ1bNBed3VEje7ASnHd+HaF0=";
|
hash = "sha256-RPcUuBxfGQ2dLdrQGlMv5QL6AcTLj68dCB9CZO0V3Ng=";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
|
|
|
@ -14,13 +14,13 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "ipydatawidgets";
|
pname = "ipydatawidgets";
|
||||||
version = "4.3.2";
|
version = "4.3.3";
|
||||||
|
|
||||||
disabled = isPy27;
|
disabled = isPy27;
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
inherit pname version;
|
inherit pname version;
|
||||||
sha256 = "sha256-LyuZf2Vp0+4fT3412wyx2gjAd7IaiPHAHFn1uYajGqY=";
|
sha256 = "sha256-T7LOaT+yaM2ukAN0z6GpFkHiLZUU0eweYtp0cFCST3Y=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
|
|
@ -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
|
|
||||||
};
|
|
||||||
|
|
||||||
}
|
|
|
@ -12,7 +12,7 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "pyswitchbot";
|
pname = "pyswitchbot";
|
||||||
version = "0.37.1";
|
version = "0.37.3";
|
||||||
format = "setuptools";
|
format = "setuptools";
|
||||||
|
|
||||||
disabled = pythonOlder "3.7";
|
disabled = pythonOlder "3.7";
|
||||||
|
@ -21,7 +21,7 @@ buildPythonPackage rec {
|
||||||
owner = "Danielhiversen";
|
owner = "Danielhiversen";
|
||||||
repo = "pySwitchbot";
|
repo = "pySwitchbot";
|
||||||
rev = "refs/tags/${version}";
|
rev = "refs/tags/${version}";
|
||||||
hash = "sha256-6td0ueo21h3B2ITV6wXehiwDPIB8+4m0K5hnMm8Mu54=";
|
hash = "sha256-0Kzzyzlxs5PaEHKzJLsconUg4zmgPzWI8LD5UIcKwEY=";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
|
|
|
@ -1,9 +1,10 @@
|
||||||
{ lib
|
{ lib
|
||||||
, buildPythonPackage
|
, buildPythonPackage
|
||||||
, pythonOlder
|
, pythonOlder
|
||||||
, fetchPypi
|
, fetchFromGitHub
|
||||||
, fetchpatch
|
, setuptools
|
||||||
, setuptools-scm
|
, setuptools-scm
|
||||||
|
, wheel
|
||||||
, py
|
, py
|
||||||
, pytest
|
, pytest
|
||||||
, pytestCheckHook
|
, pytestCheckHook
|
||||||
|
@ -11,28 +12,26 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "pytest-forked";
|
pname = "pytest-forked";
|
||||||
version = "1.4.0";
|
version = "1.6.0";
|
||||||
|
|
||||||
disabled = pythonOlder "3.6";
|
disabled = pythonOlder "3.7";
|
||||||
|
|
||||||
src = fetchPypi {
|
format = "pyproject";
|
||||||
inherit pname version;
|
|
||||||
sha256 = "sha256-i2dYfI+Yy7rf3YBFOe1UVbbtA4AiA0hd0vU8FCLXRA4=";
|
src = fetchFromGitHub {
|
||||||
|
owner = "pytest-dev";
|
||||||
|
repo = "pytest-forked";
|
||||||
|
rev = "refs/tags/v${version}";
|
||||||
|
hash = "sha256-owkGwF5WQ17/CXwTsIYJ2AgktekRB4qhtsDxR0LCI/k=";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
nativeBuildInputs = [
|
||||||
# pytest 7.2.0 compat, remove after 1.4.0
|
setuptools
|
||||||
(fetchpatch {
|
setuptools-scm
|
||||||
url = "https://github.com/pytest-dev/pytest-forked/commit/c3c753e96916a4bc5a8a37699e75c6cbbd653fa2.patch";
|
wheel
|
||||||
hash = "sha256-QPgxBeMQ0eKJyHXYZyBicVbE+JyKPV/Kbjsb8gNJBGA=";
|
|
||||||
})
|
|
||||||
(fetchpatch {
|
|
||||||
url = "https://github.com/pytest-dev/pytest-forked/commit/de584eda15df6db7912ab6197cfb9ff23024ef23.patch";
|
|
||||||
hash = "sha256-VLE32xZRwFK0nEgCWuSoMW/yyFHEURtNFU9Aa9haLhk=";
|
|
||||||
})
|
|
||||||
];
|
];
|
||||||
|
|
||||||
nativeBuildInputs = [ setuptools-scm ];
|
SETUPTOOLS_SCM_PRETEND_VERSION = version;
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
pytest
|
pytest
|
||||||
|
@ -50,6 +49,7 @@ buildPythonPackage rec {
|
||||||
setupHook = ./setup-hook.sh;
|
setupHook = ./setup-hook.sh;
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
|
changelog = "https://github.com/pytest-dev/pytest-forked/blob/${src.rev}/CHANGELOG.rst";
|
||||||
description = "Run tests in isolated forked subprocesses";
|
description = "Run tests in isolated forked subprocesses";
|
||||||
homepage = "https://github.com/pytest-dev/pytest-forked";
|
homepage = "https://github.com/pytest-dev/pytest-forked";
|
||||||
license = lib.licenses.mit;
|
license = lib.licenses.mit;
|
||||||
|
|
|
@ -2,20 +2,18 @@
|
||||||
, fetchPypi
|
, fetchPypi
|
||||||
, buildPythonPackage
|
, buildPythonPackage
|
||||||
, pythonOlder
|
, pythonOlder
|
||||||
, bz2file
|
|
||||||
, setuptools
|
|
||||||
, setuptools-scm
|
, setuptools-scm
|
||||||
, pytestCheckHook
|
, pytestCheckHook
|
||||||
}:
|
}:
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "screed";
|
pname = "screed";
|
||||||
version = "1.1.1";
|
version = "1.1.2";
|
||||||
disabled = pythonOlder "3.8";
|
disabled = pythonOlder "3.8";
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
inherit pname version;
|
inherit pname version;
|
||||||
sha256 = "sha256-EB4ZNImNLUoU+dnJd3S4wTyQpmuNK3NLtakPsO1iCbU=";
|
sha256 = "sha256-c0/6eopkUoZJbYlbc2+R1rKYiVbi/UI1gSPZPshRm2o=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ setuptools-scm ];
|
nativeBuildInputs = [ setuptools-scm ];
|
||||||
|
@ -32,8 +30,6 @@ buildPythonPackage rec {
|
||||||
"Test_fq_shell_command"
|
"Test_fq_shell_command"
|
||||||
];
|
];
|
||||||
|
|
||||||
propagatedBuildInputs = [ bz2file setuptools ];
|
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "A simple read-only sequence database, designed for short reads";
|
description = "A simple read-only sequence database, designed for short reads";
|
||||||
homepage = "https://pypi.org/project/screed/";
|
homepage = "https://pypi.org/project/screed/";
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "yalexs-ble";
|
pname = "yalexs-ble";
|
||||||
version = "2.0.1";
|
version = "2.0.2";
|
||||||
format = "pyproject";
|
format = "pyproject";
|
||||||
|
|
||||||
disabled = pythonOlder "3.9";
|
disabled = pythonOlder "3.9";
|
||||||
|
@ -22,7 +22,7 @@ buildPythonPackage rec {
|
||||||
owner = "bdraco";
|
owner = "bdraco";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "refs/tags/v${version}";
|
rev = "refs/tags/v${version}";
|
||||||
hash = "sha256-1BjuFmsd7D9iCjaK5ckXXiU2LQXnIvJoJcu8YLaQe6g=";
|
hash = "sha256-Ev2m3YWiTWOBgK3dr7Gv8Od4tm5Rh4hmB5VJdL7MEOg=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
|
|
@ -8,13 +8,13 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "datree";
|
pname = "datree";
|
||||||
version = "1.8.21";
|
version = "1.8.24";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "datreeio";
|
owner = "datreeio";
|
||||||
repo = "datree";
|
repo = "datree";
|
||||||
rev = "refs/tags/${version}";
|
rev = "refs/tags/${version}";
|
||||||
hash = "sha256-OURnQo38ofiDRu01GeEFTNiTYUeiDLMr1j28HzHVxds=";
|
hash = "sha256-C6APYGe0zLj/SYaSOoYKr/4yyAs0EKJmDfcJlqltKdg=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorHash = "sha256-mkVguYzjNGgFUdATjGfenCx3h97LS3SEOkYo3CuP9fA=";
|
vendorHash = "sha256-mkVguYzjNGgFUdATjGfenCx3h97LS3SEOkYo3CuP9fA=";
|
||||||
|
|
61
pkgs/games/2048-cli/default.nix
Normal file
61
pkgs/games/2048-cli/default.nix
Normal 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;
|
||||||
|
};
|
||||||
|
})
|
|
@ -265,10 +265,6 @@ let
|
||||||
# Ensure that we are using a consistent package set
|
# Ensure that we are using a consistent package set
|
||||||
extraBuildInputs = extraPackages python.pkgs;
|
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
|
# Don't forget to run parse-requirements.py after updating
|
||||||
hassVersion = "2023.2.5";
|
hassVersion = "2023.2.5";
|
||||||
|
|
||||||
|
@ -359,7 +355,7 @@ in python.pkgs.buildPythonApplication rec {
|
||||||
yarl
|
yarl
|
||||||
# Implicit dependency via homeassistant/requirements.py
|
# Implicit dependency via homeassistant/requirements.py
|
||||||
setuptools
|
setuptools
|
||||||
] ++ componentBuildInputs ++ extraBuildInputs;
|
];
|
||||||
|
|
||||||
makeWrapperArgs = lib.optional skipPip "--add-flags --skip-pip";
|
makeWrapperArgs = lib.optional skipPip "--add-flags --skip-pip";
|
||||||
|
|
||||||
|
@ -428,11 +424,6 @@ in python.pkgs.buildPythonApplication rec {
|
||||||
export PATH=${inetutils}/bin:$PATH
|
export PATH=${inetutils}/bin:$PATH
|
||||||
'';
|
'';
|
||||||
|
|
||||||
postInstall = ''
|
|
||||||
cp -v ${extraComponentsFile} $out/extra_components
|
|
||||||
cp -v ${extraPackagesFile} $out/extra_packages
|
|
||||||
'';
|
|
||||||
|
|
||||||
passthru = {
|
passthru = {
|
||||||
inherit
|
inherit
|
||||||
availableComponents
|
availableComponents
|
||||||
|
@ -440,6 +431,7 @@ in python.pkgs.buildPythonApplication rec {
|
||||||
getPackages
|
getPackages
|
||||||
python
|
python
|
||||||
supportedComponentsWithTests;
|
supportedComponentsWithTests;
|
||||||
|
pythonPath = python3.pkgs.makePythonPath (componentBuildInputs ++ extraBuildInputs);
|
||||||
intents = python.pkgs.home-assistant-intents;
|
intents = python.pkgs.home-assistant-intents;
|
||||||
tests = {
|
tests = {
|
||||||
nixos = nixosTests.home-assistant;
|
nixos = nixosTests.home-assistant;
|
||||||
|
|
|
@ -15,16 +15,16 @@
|
||||||
|
|
||||||
rustPlatform.buildRustPackage rec {
|
rustPlatform.buildRustPackage rec {
|
||||||
pname = "broot";
|
pname = "broot";
|
||||||
version = "1.20.1";
|
version = "1.20.2";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "Canop";
|
owner = "Canop";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
hash = "sha256-W8B4e8x9IoINR4NSm8jVBqXZbe1T/4z3RVmNrLVzV1M=";
|
hash = "sha256-TSaHngDLD2Tit4ixFDT2OhoqLGMIXj5rgxLwX06nHNw=";
|
||||||
};
|
};
|
||||||
|
|
||||||
cargoHash = "sha256-XEvIqzSkusOv+boNZbTRxXVN566SduNDcZSkomJRMsk=";
|
cargoHash = "sha256-66iEMcgd3Tx6134ggqckOf61RMn/w5x2a61Dlfs1GUc=";
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
installShellFiles
|
installShellFiles
|
||||||
|
|
43
pkgs/tools/misc/gavin-bc/default.nix
Normal file
43
pkgs/tools/misc/gavin-bc/default.nix
Normal 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;
|
||||||
|
};
|
||||||
|
})
|
|
@ -8,21 +8,21 @@
|
||||||
|
|
||||||
rustPlatform.buildRustPackage rec {
|
rustPlatform.buildRustPackage rec {
|
||||||
pname = "sagoin";
|
pname = "sagoin";
|
||||||
version = "0.2.0";
|
version = "0.2.1";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "figsoda";
|
owner = "figsoda";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-BCsNsBD+ZkxhIy1yC+N0AqbEsQ2ElfWLtnBOG+0hHXk=";
|
sha256 = "sha256-CSkij/3WCeEq26Uhlrgdf503hGf0OwSUQNmx5mspD08=";
|
||||||
};
|
};
|
||||||
|
|
||||||
cargoSha256 = "sha256-B8P92utlmZlxNfzBidNUaGw7BhgkOPwD0yahtKZ2yto=";
|
cargoSha256 = "sha256-Zos3ox6VQv9t1KoblAJhVblTOQOn9rJyvaXK48Y/K1c=";
|
||||||
|
|
||||||
nativeBuildInputs = [ installShellFiles ];
|
nativeBuildInputs = [ installShellFiles ];
|
||||||
|
|
||||||
buildInputs = lib.optionals stdenv.isDarwin [
|
buildInputs = lib.optionals stdenv.isDarwin [
|
||||||
darwin.apple_sdk.frameworks.Security
|
darwin.apple_sdk.frameworks.CoreServices
|
||||||
];
|
];
|
||||||
|
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
|
|
|
@ -3670,6 +3670,8 @@ with pkgs;
|
||||||
|
|
||||||
bc = callPackage ../tools/misc/bc { };
|
bc = callPackage ../tools/misc/bc { };
|
||||||
|
|
||||||
|
gavin-bc = callPackage ../tools/misc/gavin-bc { };
|
||||||
|
|
||||||
bdf2psf = callPackage ../tools/misc/bdf2psf { };
|
bdf2psf = callPackage ../tools/misc/bdf2psf { };
|
||||||
|
|
||||||
bdf2sfd = callPackage ../tools/misc/bdf2sfd { };
|
bdf2sfd = callPackage ../tools/misc/bdf2sfd { };
|
||||||
|
@ -34808,6 +34810,10 @@ with pkgs;
|
||||||
|
|
||||||
_1oom = callPackage ../games/1oom { };
|
_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 { };
|
_2048-in-terminal = callPackage ../games/2048-in-terminal { };
|
||||||
|
|
||||||
_20kly = callPackage ../games/20kly { };
|
_20kly = callPackage ../games/20kly { };
|
||||||
|
|
|
@ -148,6 +148,7 @@ mapAliases ({
|
||||||
mutmut = throw "mutmut has been promoted to a top-level attribute"; # added 2022-10-02
|
mutmut = throw "mutmut has been promoted to a top-level attribute"; # added 2022-10-02
|
||||||
net2grid = gridnet; # add 2022-04-22
|
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-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
|
notifymuch = throw "notifymuch has been promoted to a top-level attribute"; # added 2022-10-02
|
||||||
Nuitka = nuitka; # added 2023-02-19
|
Nuitka = nuitka; # added 2023-02-19
|
||||||
ordereddict = throw "ordereddict has been removed because it is only useful on unsupported python versions."; # added 2022-05-28
|
ordereddict = throw "ordereddict has been removed because it is only useful on unsupported python versions."; # added 2022-05-28
|
||||||
|
|
|
@ -6462,8 +6462,6 @@ self: super: with self; {
|
||||||
|
|
||||||
nose-pattern-exclude = callPackage ../development/python-modules/nose-pattern-exclude { };
|
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-randomly = callPackage ../development/python-modules/nose-randomly { };
|
||||||
|
|
||||||
nose_warnings_filters = callPackage ../development/python-modules/nose_warnings_filters { };
|
nose_warnings_filters = callPackage ../development/python-modules/nose_warnings_filters { };
|
||||||
|
|
Loading…
Reference in a new issue