3
0
Fork 0
forked from mirrors/nixpkgs

Merge staging-next into staging

This commit is contained in:
github-actions[bot] 2023-02-21 06:01:33 +00:00 committed by GitHub
commit 2d285b1590
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.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 ([

View file

@ -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";

View file

@ -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"))

View file

@ -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;
}; };

View file

@ -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 = [

View file

@ -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 = ''

View file

@ -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",

View file

@ -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

View file

@ -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 {

View file

@ -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\");"

View file

@ -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=",

View file

@ -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; {

View file

@ -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 = [

View file

@ -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; [

View file

@ -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 = ''

View file

@ -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 = ''

View file

@ -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 ];
}; };

View file

@ -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 = ''

View file

@ -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
''; '';

View file

@ -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}";

View file

@ -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 = [

View file

@ -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 = [

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 { 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 = [

View file

@ -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;

View file

@ -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/";

View file

@ -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 = [

View file

@ -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=";

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 # 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;

View file

@ -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

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 { 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 = ''

View file

@ -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 { };

View file

@ -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

View file

@ -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 { };