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