Merge staging-next into staging

This commit is contained in:
github-actions[bot] 2022-05-05 12:05:00 +00:00 committed by GitHub
commit d5ece1c5d8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
63 changed files with 428 additions and 714 deletions

View File

@ -27,7 +27,7 @@ with lib;
networking.useDHCP = false; networking.useDHCP = false;
networking.interfaces.eth0.useDHCP = true; networking.interfaces.eth0.useDHCP = true;
# As this is intended as a stadalone image, undo some of the minimal profile stuff # As this is intended as a standalone image, undo some of the minimal profile stuff
documentation.enable = true; documentation.enable = true;
documentation.nixos.enable = true; documentation.nixos.enable = true;
environment.noXlibs = false; environment.noXlibs = false;

View File

@ -284,7 +284,6 @@ in
loki = handleTest ./loki.nix {}; loki = handleTest ./loki.nix {};
lvm2 = handleTest ./lvm2 {}; lvm2 = handleTest ./lvm2 {};
lxd = handleTest ./lxd.nix {}; lxd = handleTest ./lxd.nix {};
lxd-image = handleTest ./lxd-image.nix {};
lxd-nftables = handleTest ./lxd-nftables.nix {}; lxd-nftables = handleTest ./lxd-nftables.nix {};
lxd-image-server = handleTest ./lxd-image-server.nix {}; lxd-image-server = handleTest ./lxd-image-server.nix {};
#logstash = handleTest ./logstash.nix {}; #logstash = handleTest ./logstash.nix {};

View File

@ -0,0 +1,24 @@
storage_pools:
- name: default
driver: dir
config:
source: /var/lxd-pool
networks:
- name: lxdbr0
type: bridge
config:
ipv4.address: auto
ipv6.address: none
profiles:
- name: default
devices:
eth0:
name: eth0
network: lxdbr0
type: nic
root:
path: /
pool: default
type: disk

View File

@ -1,54 +1,21 @@
import ./make-test-python.nix ({ pkgs, ...} : import ./make-test-python.nix ({ pkgs, lib, ... } :
let let
# Since we don't have access to the internet during the tests, we have to lxd-image = import ../release.nix {
# pre-fetch lxd containers beforehand. configuration = {
# # Building documentation makes the test unnecessarily take a longer time:
# I've chosen to import Alpine Linux, because its image is turbo-tiny and, documentation.enable = lib.mkForce false;
# generally, sufficient for our tests. };
alpine-meta = pkgs.fetchurl {
url = "https://tarballs.nixos.org/alpine/3.12/lxd.tar.xz";
hash = "sha256-1tcKaO9lOkvqfmG/7FMbfAEToAuFy2YMewS8ysBKuLA=";
}; };
alpine-rootfs = pkgs.fetchurl { lxd-image-metadata = lxd-image.lxdMeta.${pkgs.system};
url = "https://tarballs.nixos.org/alpine/3.12/rootfs.tar.xz"; lxd-image-rootfs = lxd-image.lxdImage.${pkgs.system};
hash = "sha256-Tba9sSoaiMtQLY45u7p5DMqXTSDgs/763L/SQp0bkCA=";
};
lxd-config = pkgs.writeText "config.yaml" ''
storage_pools:
- name: default
driver: dir
config:
source: /var/lxd-pool
networks:
- name: lxdbr0
type: bridge
config:
ipv4.address: auto
ipv6.address: none
profiles:
- name: default
devices:
eth0:
name: eth0
network: lxdbr0
type: nic
root:
path: /
pool: default
type: disk
'';
in { in {
name = "lxd-image-server"; name = "lxd-image-server";
meta = with pkgs.lib.maintainers; { meta = with pkgs.lib.maintainers; {
maintainers = [ mkg20001 ]; maintainers = [ mkg20001 patryk27 ];
}; };
nodes.machine = { lib, ... }: { nodes.machine = { lib, ... }: {
@ -100,20 +67,20 @@ in {
# lxd expects the pool's directory to already exist # lxd expects the pool's directory to already exist
machine.succeed("mkdir /var/lxd-pool") machine.succeed("mkdir /var/lxd-pool")
machine.succeed( machine.succeed(
"cat ${lxd-config} | lxd init --preseed" "cat ${./common/lxd/config.yaml} | lxd init --preseed"
) )
machine.succeed( machine.succeed(
"lxc image import ${alpine-meta} ${alpine-rootfs} --alias alpine" "lxc image import ${lxd-image-metadata}/*/*.tar.xz ${lxd-image-rootfs}/*/*.tar.xz --alias nixos"
) )
loc = "/var/www/simplestreams/images/iats/alpine/amd64/default/v1" loc = "/var/www/simplestreams/images/iats/nixos/amd64/default/v1"
with subtest("push image to server"): with subtest("push image to server"):
machine.succeed("lxc launch alpine test") machine.succeed("lxc launch nixos test")
machine.succeed("lxc stop test") machine.sleep(5)
machine.succeed("lxc stop -f test")
machine.succeed("lxc publish --public test --alias=testimg") machine.succeed("lxc publish --public test --alias=testimg")
machine.succeed("lxc image export testimg") machine.succeed("lxc image export testimg")
machine.succeed("ls >&2") machine.succeed("ls >&2")

View File

@ -1,89 +0,0 @@
# This test ensures that the nixOS lxd images builds and functions properly
# It has been extracted from `lxd.nix` to seperate failures of just the image and the lxd software
import ./make-test-python.nix ({ pkgs, ...} : let
release = import ../release.nix {
/* configuration = {
environment.systemPackages = with pkgs; [ stdenv ]; # inject stdenv so rebuild test works
}; */
};
metadata = release.lxdMeta.${pkgs.system};
image = release.lxdImage.${pkgs.system};
lxd-config = pkgs.writeText "config.yaml" ''
storage_pools:
- name: default
driver: dir
config:
source: /var/lxd-pool
networks:
- name: lxdbr0
type: bridge
config:
ipv4.address: auto
ipv6.address: none
profiles:
- name: default
devices:
eth0:
name: eth0
network: lxdbr0
type: nic
root:
path: /
pool: default
type: disk
'';
in {
name = "lxd-image";
meta = with pkgs.lib.maintainers; {
maintainers = [ mkg20001 ];
};
nodes.machine = { lib, ... }: {
virtualisation = {
# disk full otherwise
diskSize = 2048;
lxc.lxcfs.enable = true;
lxd.enable = true;
};
};
testScript = ''
machine.wait_for_unit("sockets.target")
machine.wait_for_unit("lxd.service")
machine.wait_for_file("/var/lib/lxd/unix.socket")
# It takes additional second for lxd to settle
machine.sleep(1)
# lxd expects the pool's directory to already exist
machine.succeed("mkdir /var/lxd-pool")
machine.succeed(
"cat ${lxd-config} | lxd init --preseed"
)
# TODO: test custom built container aswell
with subtest("importing container works"):
machine.succeed("lxc image import ${metadata}/*/*.tar.xz ${image}/*/*.tar.xz --alias nixos")
with subtest("launching container works"):
machine.succeed("lxc launch nixos machine -c security.nesting=true")
# make sure machine boots up properly
machine.sleep(5)
with subtest("container shell works"):
machine.succeed("echo true | lxc exec machine /run/current-system/sw/bin/bash -")
machine.succeed("lxc exec machine /run/current-system/sw/bin/true")
# with subtest("rebuilding works"):
# machine.succeed("lxc exec machine /run/current-system/sw/bin/nixos-rebuild switch")
'';
})

View File

@ -1,79 +1,18 @@
import ./make-test-python.nix ({ pkgs, ...} : import ./make-test-python.nix ({ pkgs, lib, ... } :
let let
# Since we don't have access to the internet during the tests, we have to lxd-image = import ../release.nix {
# pre-fetch lxd containers beforehand. configuration = {
# # Building documentation makes the test unnecessarily take a longer time:
# I've chosen to import Alpine Linux, because its image is turbo-tiny and, documentation.enable = lib.mkForce false;
# generally, sufficient for our tests.
alpine-meta-x86 = pkgs.fetchurl {
url = "https://tarballs.nixos.org/alpine/3.12/lxd.tar.xz";
hash = "sha256-1tcKaO9lOkvqfmG/7FMbfAEToAuFy2YMewS8ysBKuLA=";
};
alpine-meta-for = arch: pkgs.stdenv.mkDerivation {
name = "alpine-meta-${arch}";
version = "3.12";
unpackPhase = "true";
buildPhase = ''
runHook preBuild
tar xvf ${alpine-meta-x86} # Our tests require `grep` & friends:
sed -i 's/architecture: .*/architecture: ${arch}/' metadata.yaml environment.systemPackages = with pkgs; [ busybox ];
};
runHook postBuild
'';
installPhase = ''
runHook preInstall
tar czRf $out *
runHook postInstall
'';
}; };
alpine-meta = { lxd-image-metadata = lxd-image.lxdMeta.${pkgs.system};
x86_64-linux = alpine-meta-x86; lxd-image-rootfs = lxd-image.lxdImage.${pkgs.system};
aarch64-linux = alpine-meta-for "aarch64";
}.${pkgs.system} or (throw "Unsupported system: ${pkgs.system}");
alpine-rootfs = {
x86_64-linux = pkgs.fetchurl {
url = "https://tarballs.nixos.org/alpine/3.12/rootfs.tar.xz";
hash = "sha256-Tba9sSoaiMtQLY45u7p5DMqXTSDgs/763L/SQp0bkCA=";
};
aarch64-linux = pkgs.fetchurl {
url = "https://dl-cdn.alpinelinux.org/alpine/v3.15/releases/aarch64/alpine-minirootfs-3.15.4-aarch64.tar.gz";
hash = "sha256-9kBz8Jwmo8XepJhTMt5zilCaHHpflnUH7y9+0To39Us=";
};
}.${pkgs.system} or (throw "Unsupported system: ${pkgs.system}");
lxd-config = pkgs.writeText "config.yaml" ''
storage_pools:
- name: default
driver: dir
config:
source: /var/lxd-pool
networks:
- name: lxdbr0
type: bridge
config:
ipv4.address: auto
ipv6.address: none
profiles:
- name: default
devices:
eth0:
name: eth0
network: lxdbr0
type: nic
root:
path: /
pool: default
type: disk
'';
in { in {
name = "lxd"; name = "lxd";
@ -84,6 +23,8 @@ in {
nodes.machine = { lib, ... }: { nodes.machine = { lib, ... }: {
virtualisation = { virtualisation = {
diskSize = 2048;
# Since we're testing `limits.cpu`, we've gotta have a known number of # Since we're testing `limits.cpu`, we've gotta have a known number of
# cores to lean on # cores to lean on
cores = 2; cores = 2;
@ -108,61 +49,66 @@ in {
machine.succeed("mkdir /var/lxd-pool") machine.succeed("mkdir /var/lxd-pool")
machine.succeed( machine.succeed(
"cat ${lxd-config} | lxd init --preseed" "cat ${./common/lxd/config.yaml} | lxd init --preseed"
) )
machine.succeed( machine.succeed(
"lxc image import ${alpine-meta} ${alpine-rootfs} --alias alpine" "lxc image import ${lxd-image-metadata}/*/*.tar.xz ${lxd-image-rootfs}/*/*.tar.xz --alias nixos"
) )
with subtest("Containers can be launched and destroyed"): with subtest("Container can be managed"):
machine.succeed("lxc launch alpine test") machine.succeed("lxc launch nixos container")
machine.succeed("lxc exec test true") machine.sleep(5)
machine.succeed("lxc delete -f test") machine.succeed("echo true | lxc exec container /run/current-system/sw/bin/bash -")
machine.succeed("lxc exec container true")
machine.succeed("lxc delete -f container")
with subtest("Containers are being mounted with lxcfs inside"): with subtest("Container is mounted with lxcfs inside"):
machine.succeed("lxc launch alpine test") machine.succeed("lxc launch nixos container")
machine.sleep(5)
## ---------- ## ## ---------- ##
## limits.cpu ## ## limits.cpu ##
machine.succeed("lxc config set test limits.cpu 1") machine.succeed("lxc config set container limits.cpu 1")
machine.succeed("lxc restart test") machine.succeed("lxc restart container")
machine.sleep(5)
# Since Alpine doesn't have `nproc` pre-installed, we've gotta resort
# to the primal methods
assert ( assert (
"1" "1"
== machine.succeed("lxc exec test grep -- -c ^processor /proc/cpuinfo").strip() == machine.succeed("lxc exec container grep -- -c ^processor /proc/cpuinfo").strip()
) )
machine.succeed("lxc config set test limits.cpu 2") machine.succeed("lxc config set container limits.cpu 2")
machine.succeed("lxc restart test") machine.succeed("lxc restart container")
machine.sleep(5)
assert ( assert (
"2" "2"
== machine.succeed("lxc exec test grep -- -c ^processor /proc/cpuinfo").strip() == machine.succeed("lxc exec container grep -- -c ^processor /proc/cpuinfo").strip()
) )
## ------------- ## ## ------------- ##
## limits.memory ## ## limits.memory ##
machine.succeed("lxc config set test limits.memory 64MB") machine.succeed("lxc config set container limits.memory 64MB")
machine.succeed("lxc restart test") machine.succeed("lxc restart container")
machine.sleep(5)
assert ( assert (
"MemTotal: 62500 kB" "MemTotal: 62500 kB"
== machine.succeed("lxc exec test grep -- MemTotal /proc/meminfo").strip() == machine.succeed("lxc exec container grep -- MemTotal /proc/meminfo").strip()
) )
machine.succeed("lxc config set test limits.memory 128MB") machine.succeed("lxc config set container limits.memory 128MB")
machine.succeed("lxc restart test") machine.succeed("lxc restart container")
machine.sleep(5)
assert ( assert (
"MemTotal: 125000 kB" "MemTotal: 125000 kB"
== machine.succeed("lxc exec test grep -- MemTotal /proc/meminfo").strip() == machine.succeed("lxc exec container grep -- MemTotal /proc/meminfo").strip()
) )
machine.succeed("lxc delete -f test") machine.succeed("lxc delete -f container")
''; '';
}) })

View File

@ -2,13 +2,13 @@
buildGoModule rec { buildGoModule rec {
pname = "tut"; pname = "tut";
version = "0.0.42"; version = "0.0.46";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "RasmusLindroth"; owner = "RasmusLindroth";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "sha256-zWhG9lzerzDqqFN8IG5JSv3voLzvtp/gg6jBisbodMc="; sha256 = "sha256-C9kyA6QuL8sqzCooaPzSP7VOpu7jcSFCUx9oaZLZ7/w=";
}; };
vendorSha256 = "sha256-kMGEAN/I2XsIc6zCDbhbbstYlyjDpXQsOPUzjaJqJBk="; vendorSha256 = "sha256-kMGEAN/I2XsIc6zCDbhbbstYlyjDpXQsOPUzjaJqJBk=";

View File

@ -49,6 +49,9 @@
, pulseSupport ? stdenv.isLinux , pulseSupport ? stdenv.isLinux
, libpulseaudio , libpulseaudio
# For GPU acceleration support on Wayland (without the lib it doesn't seem to work)
, libGL
# For video acceleration via VA-API (--enable-features=VaapiVideoDecoder,VaapiVideoEncoder) # For video acceleration via VA-API (--enable-features=VaapiVideoDecoder,VaapiVideoEncoder)
, libvaSupport ? stdenv.isLinux , libvaSupport ? stdenv.isLinux
, libva , libva
@ -66,7 +69,7 @@ let
deps = [ deps = [
alsa-lib at-spi2-atk at-spi2-core atk cairo cups dbus expat alsa-lib at-spi2-atk at-spi2-core atk cairo cups dbus expat
fontconfig freetype gdk-pixbuf glib gtk3 libdrm libX11 fontconfig freetype gdk-pixbuf glib gtk3 libdrm libX11 libGL
libxkbcommon libXScrnSaver libXcomposite libXcursor libXdamage libxkbcommon libXScrnSaver libXcomposite libXcursor libXdamage
libXext libXfixes libXi libXrandr libXrender libxshmfence libXext libXfixes libXi libXrandr libXrender libxshmfence
libXtst libuuid mesa nspr nss pango pipewire udev wayland libXtst libuuid mesa nspr nss pango pipewire udev wayland
@ -128,9 +131,9 @@ stdenv.mkDerivation rec {
ln -sf $BINARYWRAPPER $out/bin/brave ln -sf $BINARYWRAPPER $out/bin/brave
for exe in $out/opt/brave.com/brave/{brave,chrome_crashpad_handler}; do for exe in $out/opt/brave.com/brave/{brave,chrome_crashpad_handler}; do
patchelf \ patchelf \
--set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath "${rpath}" $exe --set-rpath "${rpath}" $exe
done done
# Fix paths # Fix paths
@ -170,10 +173,10 @@ stdenv.mkDerivation rec {
${optionalString (disableFeatures != []) '' ${optionalString (disableFeatures != []) ''
--add-flags "--disable-features=${strings.concatStringsSep "," disableFeatures}" --add-flags "--disable-features=${strings.concatStringsSep "," disableFeatures}"
''} ''}
--add-flags ${escapeShellArg commandLineArgs}
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform=wayland}}" --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform=wayland}}"
${optionalString vulkanSupport '' ${optionalString vulkanSupport ''
--prefix XDG_DATA_DIRS : "${addOpenGLRunpath.driverLink}/share" --prefix XDG_DATA_DIRS : "${addOpenGLRunpath.driverLink}/share"
--add-flags ${escapeShellArg commandLineArgs}
''} ''}
) )
''; '';

View File

@ -1,20 +1,20 @@
{ {
beta = import ./browser.nix { beta = import ./browser.nix {
channel = "beta"; channel = "beta";
version = "99.0.1150.16"; version = "101.0.1210.19";
revision = "1"; revision = "1";
sha256 = "sha256:0qsgs889d6qwxz9qf42psmjqfhmrqgp07srq5r38npl5pncr137h"; sha256 = "sha256:1kgc19ryw69xiqppz90d6sa45g99hzkh7x5yk9d3xlh1gc1xn54p";
}; };
dev = import ./browser.nix { dev = import ./browser.nix {
channel = "dev"; channel = "dev";
version = "100.0.1163.1"; version = "102.0.1227.0";
revision = "1"; revision = "1";
sha256 = "sha256:153faqxyw5f5b6cqnvd71dl7941znkzci8dwbcgaxway0b6882jq"; sha256 = "sha256:0dnyandri7yg7c9812pnsxqszxyqcssxf87yskjg2vw95hawf11x";
}; };
stable = import ./browser.nix { stable = import ./browser.nix {
channel = "stable"; channel = "stable";
version = "98.0.1108.56"; version = "100.0.1185.44";
revision = "1"; revision = "1";
sha256 = "sha256:03jbj2s2fs60fzfgsmyb284q7nckji87qgb86mvl5g0hbl19aza7"; sha256 = "sha256:0zv1zyijh620xz36a6nmhv7rbv4ln5f245hyh0w1sngynsl1rz89";
}; };
} }

View File

@ -1,7 +1,7 @@
{ lib, callPackage, stdenvNoCC }: { lib, callPackage, stdenvNoCC }:
let let
pname = "caprine"; pname = "caprine";
version = "2.55.2"; version = "2.55.4";
metaCommon = with lib; { metaCommon = with lib; {
description = "An elegant Facebook Messenger desktop app"; description = "An elegant Facebook Messenger desktop app";
homepage = "https://sindresorhus.com/caprine"; homepage = "https://sindresorhus.com/caprine";
@ -10,11 +10,11 @@ let
}; };
x86_64-appimage = callPackage ./build-from-appimage.nix { x86_64-appimage = callPackage ./build-from-appimage.nix {
inherit pname version metaCommon; inherit pname version metaCommon;
sha256 = "J7eHVXjWSIcTpLMM8FlGKZzVh6XgpQ0d82kxfMbPyZ4="; sha256 = "221PyDoCkWqDdewCkFycpjMTcVOcl58blCjrC7O7xyk=";
}; };
x86_64-dmg = callPackage ./build-from-dmg.nix { x86_64-dmg = callPackage ./build-from-dmg.nix {
inherit pname version metaCommon; inherit pname version metaCommon;
sha256 = "du/9N1BFq1s7spPiEDgDbjjcnkA0x1ExhAEpQvmO3aA="; sha256 = "6SOqlH7Z9DuQVR4i1OltnSb4dJscFUxaXxgNkE5FVUE=";
}; };
in in
(if stdenvNoCC.isDarwin then x86_64-dmg else x86_64-appimage).overrideAttrs (oldAttrs: { (if stdenvNoCC.isDarwin then x86_64-dmg else x86_64-appimage).overrideAttrs (oldAttrs: {

View File

@ -2,16 +2,16 @@
buildGoModule rec { buildGoModule rec {
pname = "senpai"; pname = "senpai";
version = "unstable-2021-12-14"; version = "unstable-2022-04-29";
src = fetchFromSourcehut { src = fetchFromSourcehut {
owner = "~taiite"; owner = "~taiite";
repo = "senpai"; repo = "senpai";
rev = "8091752a67781273944e7a79a803b7a671378313"; rev = "859b8fdb7d433a848668c6f1a00406f107fe00e5";
sha256 = "sha256-tZp0ra/Sq/5MAFlAFHPJ94jYxtHbDiG1wSD4NOH1x7I="; sha256 = "sha256-grVv/bcUEU6Aaf+4MbkocY/75u7q6Q7r26xK0ybULUg=";
}; };
vendorSha256 = "sha256-xkJh7k8GZmoZqE0HgbFp2xMJQOVDkPEXOZEl6bJZz1A="; vendorSha256 = "sha256-hgojB1D0/SZWLEzJ48EBoT/InYYmqD/1qoTknfk/aTo=";
subPackages = [ subPackages = [
"cmd/senpai" "cmd/senpai"

View File

@ -23,11 +23,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "liferea"; pname = "liferea";
version = "1.12.9"; version = "1.13.8";
src = fetchurl { src = fetchurl {
url = "https://github.com/lwindolf/${pname}/releases/download/v${version}/${pname}-${version}.tar.bz2"; url = "https://github.com/lwindolf/${pname}/releases/download/v${version}/${pname}-${version}.tar.bz2";
sha256 = "06ybr1wjlfir8iqjx6x0v1knd4b2hsy30qmkk4kssy6ky2ahc66q"; sha256 = "0x2857nhn98hlzqxmxb2h2wcasr5jkhciih71wcnp0cja60aw20h";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View File

@ -14,13 +14,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "onedrive"; pname = "onedrive";
version = "2.4.16"; version = "2.4.17";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "abraunegg"; owner = "abraunegg";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-GoufEcCu/Cg2Fu0RcjTi4te/7+gZfQRTj+AtK0YnF5I="; hash = "sha256-+ADAPxAZNDqLKLz6rAProqSDINDiTZhc2trxJFFMQeA=";
}; };
nativeBuildInputs = [ autoreconfHook ldc installShellFiles pkg-config ]; nativeBuildInputs = [ autoreconfHook ldc installShellFiles pkg-config ];

View File

@ -5,13 +5,13 @@
mkDerivation rec { mkDerivation rec {
pname = "qownnotes"; pname = "qownnotes";
version = "22.4.1"; version = "22.5.0";
src = fetchurl { src = fetchurl {
url = "https://download.tuxfamily.org/${pname}/src/${pname}-${version}.tar.xz"; url = "https://download.tuxfamily.org/${pname}/src/${pname}-${version}.tar.xz";
# Fetch the checksum of current version with curl: # Fetch the checksum of current version with curl:
# curl https://download.tuxfamily.org/qownnotes/src/qownnotes-<version>.tar.xz.sha256 # curl https://download.tuxfamily.org/qownnotes/src/qownnotes-<version>.tar.xz.sha256
sha256 = "b9ce77ecd5bb48bd6534068b0582dfaa3b828f800b19ddec80387a84e00766da"; sha256 = "52a81401a4a03c77e28f37f56c3ebdc6696ff43c75cc9330d10ba7e801f48ccd";
}; };
nativeBuildInputs = [ qmake qttools ]; nativeBuildInputs = [ qmake qttools ];

View File

@ -5,14 +5,14 @@
python3.pkgs.buildPythonApplication rec { python3.pkgs.buildPythonApplication rec {
pname = "snakemake"; pname = "snakemake";
version = "7.5.0"; version = "7.6.1";
format = "setuptools"; format = "setuptools";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "snakemake"; owner = "snakemake";
repo = pname; repo = pname;
rev = "v${version}"; rev = "refs/tags/v${version}";
hash = "sha256-KIKuV6DVHn3dDY/rJG1zNWM79tdDB6GGVH9/kYn6XaE="; hash = "sha256-McknAQDzpTE1WdIBr8HsFpGzXuJT2kDNvLzK2gn75GM=";
}; };
propagatedBuildInputs = with python3.pkgs; [ propagatedBuildInputs = with python3.pkgs; [

View File

@ -1,151 +0,0 @@
{ stdenv, lib, config, fetchFromGitHub
, cmake
, glog, gflags, gtest
, protobuf, snappy
, python, future, six, python-protobuf, numpy, pydot
, eigen
, doxygen
, useCuda ? (config.cudaSupport or false), cudaPackages ? {}
, useCudnn ? (config.cudnnSupport or false)
, useOpenmp ? false, openmp ? null
, useOpencv3 ? true, opencv3 ? null
, useLeveldb ? false, leveldb ? null
, useLmdb ? true, lmdb ? null
, useRocksdb ? false, rocksdb ? null
, useZeromq ? false, zeromq ? null
, useMpi ? false, mpi ? null
# TODO: distributed computations
#, useGloo ? false
#, useNccl ? false
#, useNnpack ? false
}:
let
inherit (cudaPackages) cudatoolkit cudnn;
in
assert useCuda -> cudatoolkit != null;
assert useCudnn -> (useCuda && cudnn != null);
assert useOpencv3 -> opencv3 != null;
assert useLeveldb -> leveldb != null;
assert useLmdb -> lmdb != null;
assert useRocksdb -> rocksdb != null;
assert useZeromq -> zeromq != null;
assert useMpi -> mpi != null;
let
# Third party modules that caffe2 holds as git submodules.
# Download them and create symlinks from caffe2/third_party.
installExtraSrc = extra: ''
rmdir "third_party/${extra.dst}"
ln -s "${extra.src}" "third_party/${extra.dst}"
'';
cub = {
src = fetchFromGitHub {
owner = "NVlabs";
repo = "cub";
rev = "v1.7.4";
sha256 = "0ksd5n1lxqhm5l5cd2lps4cszhjkf6gmzahaycs7nxb06qci8c66";
};
dst = "cub";
};
pybind11 = {
src = fetchFromGitHub {
owner = "pybind";
repo = "pybind11";
rev = "86e2ad4f77442c3350f9a2476650da6bee253c52";
sha256 = "05gi58dirvc8fgm0avpydvidzsbh2zrzgfaq671ym09f6dz0bcgz";
};
dst = "pybind11";
};
ccVersion = lib.getVersion stdenv.cc;
in
stdenv.mkDerivation rec {
pname = "caffe2";
version = "0.8.1";
src = fetchFromGitHub {
owner = "caffe2";
repo = "caffe2";
rev = "v${version}";
sha256 = "18y7zjc69j6n5642l9caddl641b0djf3pjn4wacdsc1wk1jiyqk8";
};
nativeBuildInputs = [ cmake doxygen gtest ];
outputs = [ "bin" "out" ];
propagatedBuildOutputs = [ ]; # otherwise propagates out -> bin cycle
buildInputs = [ glog gflags protobuf snappy eigen ]
++ lib.optional useCuda cudatoolkit
++ lib.optional useCudnn cudnn
++ lib.optional useOpenmp openmp
++ lib.optional useOpencv3 opencv3
++ lib.optional useLeveldb leveldb
++ lib.optional useLmdb lmdb
++ lib.optional useRocksdb rocksdb
++ lib.optional useZeromq zeromq
;
propagatedBuildInputs = [ numpy future six python-protobuf pydot ];
patches = lib.optional (stdenv.cc.isGNU && lib.versionAtLeast ccVersion "7.0.0") [
./fix_compilation_on_gcc7.patch
] ++ lib.optional stdenv.cc.isClang [ ./update_clang_cvtsh_bugfix.patch ];
cmakeFlags = [ "-DBUILD_TEST=OFF"
"-DBUILD_PYTHON=ON"
''-DUSE_CUDA=${if useCuda then "ON"else "OFF"}''
''-DUSE_OPENMP=${if useOpenmp then "ON"else "OFF"}''
''-DUSE_OPENCV=${if useOpencv3 then "ON"else "OFF"}''
''-DUSE_MPI=${if useMpi then "ON"else "OFF"}''
''-DUSE_LEVELDB=${if useLeveldb then "ON"else "OFF"}''
''-DUSE_LMDB=${if useLmdb then "ON"else "OFF"}''
''-DUSE_ROCKSDB=${if useRocksdb then "ON"else "OFF"}''
''-DUSE_ZMQ=${if useZeromq then "ON"else "OFF"}''
"-DUSE_GLOO=OFF"
"-DUSE_NNPACK=OFF"
"-DUSE_NCCL=OFF"
"-DUSE_REDIS=OFF"
"-DUSE_FFMPEG=OFF"
]
++ lib.optional useCuda [
"-DCUDA_TOOLKIT_ROOT_DIR=${cudatoolkit}"
"-DCUDA_FAST_MATH=ON"
"-DCUDA_HOST_COMPILER=${cudatoolkit.cc}/bin/gcc"
];
preConfigure = ''
${installExtraSrc cub}
${installExtraSrc pybind11}
# XXX hack
export NIX_CFLAGS_COMPILE="-I ${eigen}/include/eigen3/ $NIX_CFLAGS_COMPILE"
'';
postInstall = ''
moveToOutput "bin" "$bin"
mkdir -p $out/lib/${python.libPrefix}
ln -s $out/ $out/${python.sitePackages}
'';
doCheck = false;
meta = {
homepage = "https://caffe2.ai/";
description = "A new lightweight, modular, and scalable deep learning framework";
longDescription = ''
Caffe2 aims to provide an easy and straightforward way for you to experiment
with deep learning and leverage community contributions of new models and
algorithms. You can bring your creations to scale using the power of GPUs in the
cloud or to the masses on mobile with Caffe2's cross-platform libraries.
'';
platforms = with lib.platforms; linux;
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ yuriaisaka ];
# fails to compile with
# error: invalid conversion from 'const char*' to 'char*'
# TODO: Remove usage of python2, protobuf overwrite
broken = true;
};
}

View File

@ -1,46 +0,0 @@
diff --git a/caffe2/operators/recurrent_network_op.cc b/caffe2/operators/recurrent_network_op.cc
index dd4fded..5995e8a 100644
--- a/caffe2/operators/recurrent_network_op.cc
+++ b/caffe2/operators/recurrent_network_op.cc
@@ -1,4 +1,4 @@
-#include "recurrent_network_op.h"
+#include "caffe2/operators/recurrent_network_op.h"
#include "caffe2/core/workspace.h"
namespace caffe2 {
diff --git a/caffe2/operators/recurrent_network_op.h b/caffe2/operators/recurrent_network_op.h
index 55328e5..ea898bc 100644
--- a/caffe2/operators/recurrent_network_op.h
+++ b/caffe2/operators/recurrent_network_op.h
@@ -762,8 +762,8 @@ class AccumulateInputGradientOp : public Operator<Context> {
USE_OPERATOR_CONTEXT_FUNCTIONS;
bool RunOnDevice() override {
- const auto t =
- OperatorBase::Input<Tensor<CPUContext>>(0).template data<int32_t>()[0];
+ const auto& t0 = OperatorBase::Input<Tensor<CPUContext>>(0);
+ const auto t = t0.template data<int32_t>()[0];
auto& og = Input(1);
auto* g = Output(0);
diff --git a/caffe2/queue/queue_ops.h b/caffe2/queue/queue_ops.h
index f2c0a33..642343f 100644
--- a/caffe2/queue/queue_ops.h
+++ b/caffe2/queue/queue_ops.h
@@ -17,13 +17,10 @@ class CreateBlobsQueueOp final : public Operator<Context> {
name(operator_def.output().Get(0)) {}
bool RunOnDevice() override {
- const auto capacity =
- OperatorBase::template GetSingleArgument<int>("capacity", 1);
- const auto numBlobs =
- OperatorBase::template GetSingleArgument<int>("num_blobs", 1);
+ const auto capacity = GetSingleArgument("capacity", 1);
+ const auto numBlobs = GetSingleArgument("num_blobs", 1);
const auto enforceUniqueName =
- OperatorBase::template GetSingleArgument<int>(
- "enforce_unique_name", false);
+ GetSingleArgument("enforce_unique_name", false);
const auto fieldNames =
OperatorBase::template GetRepeatedArgument<std::string>("field_names");
CAFFE_ENFORCE_EQ(this->OutputSize(), 1);

View File

@ -1,55 +0,0 @@
diff --git a/caffe2/perfkernels/cvtsh_ss_bugfix.h b/caffe2/perfkernels/cvtsh_ss_bugfix.h
index bd06681..00172b7 100644
--- a/caffe2/perfkernels/cvtsh_ss_bugfix.h
+++ b/caffe2/perfkernels/cvtsh_ss_bugfix.h
@@ -1,10 +1,36 @@
+/**
+ * Copyright (c) 2016-present, Facebook, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
#pragma once
-#if defined(__APPLE__) && (__clang_major__ < 8)
+// Apple clang was fixed in 8.1
+#if defined(__apple_build_version__) && ((__clang_major__ < 8) || ((__clang_major__ == 8) && (__clang_minor__ < 1)))
+#define __APPLE_NEED_FIX 1
+#endif
+
+// Regular clang was fixed in 3.9
+#if defined(__clang__) && (__clang_major__ < 4) && (__clang_minor__ < 9)
+#define __CLANG_NEED_FIX 1
+#endif
+
+#if __APPLE_NEED_FIX || __CLANG_NEED_FIX
#include <emmintrin.h>
-// This version of apple clang has a bug that _cvtsh_ss is not defined, see
+// This version of clang has a bug that _cvtsh_ss is not defined, see
// https://reviews.llvm.org/D16177
static __inline float
__attribute__((__always_inline__, __nodebug__, __target__("f16c")))
@@ -15,7 +41,10 @@ _cvtsh_ss(unsigned short a)
return r[0];
}
-#endif // defined(__APPLE__) && (__clang_major__ < 8)
+#endif // __APPLE_NEED_FIX || __CLANG_NEED_FIX
+
+#undef __APPLE_NEED_FIX
+#undef __CLANG_NEED_FIX
#ifdef _MSC_VER

View File

@ -21,7 +21,8 @@ stdenv.mkDerivation rec {
cmakeFlags = [ "-DCMAKE_INSTALL_INCLUDEDIR=${vulkan-headers}/include" ] cmakeFlags = [ "-DCMAKE_INSTALL_INCLUDEDIR=${vulkan-headers}/include" ]
++ lib.optional stdenv.isDarwin "-DSYSCONFDIR=${moltenvk}/share" ++ lib.optional stdenv.isDarwin "-DSYSCONFDIR=${moltenvk}/share"
++ lib.optional stdenv.isLinux "-DSYSCONFDIR=${addOpenGLRunpath.driverLink}/share"; ++ lib.optional stdenv.isLinux "-DSYSCONFDIR=${addOpenGLRunpath.driverLink}/share"
++ lib.optional (stdenv.buildPlatform != stdenv.hostPlatform) "-DUSE_GAS=OFF";
outputs = [ "out" "dev" ]; outputs = [ "out" "dev" ];

View File

@ -7,13 +7,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "wolfssl"; pname = "wolfssl";
version = "5.2.0"; version = "5.3.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "wolfSSL"; owner = "wolfSSL";
repo = "wolfssl"; repo = "wolfssl";
rev = "v${version}-stable"; rev = "v${version}-stable";
sha256 = "1xdhbhn31q7waw7w158hz9n0vj76zlfn5njq7hncf73ks38drj6k"; sha256 = "sha256-KteArWAgDohlqEYaNfzLPuBn6uy5ABA8vV/LRCVIPGA=";
}; };
postPatch = '' postPatch = ''

View File

@ -11,7 +11,7 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "afsapi"; pname = "afsapi";
version = "0.2.3"; version = "0.2.4";
format = "setuptools"; format = "setuptools";
disabled = pythonOlder "3.8"; disabled = pythonOlder "3.8";
@ -19,8 +19,8 @@ buildPythonPackage rec {
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "wlcrs"; owner = "wlcrs";
repo = "python-afsapi"; repo = "python-afsapi";
rev = version; rev = "refs/tags/${version}";
hash = "sha256-6nmj15jCGBRkT7Ip/VGHX5IrAbhu1LUlvXuvFhvXknY="; hash = "sha256-pNggrg97GIBBTm4rjtpx0NOZIWCGn9boB/Wss/QwF6U=";
}; };
SETUPTOOLS_SCM_PRETEND_VERSION = version; SETUPTOOLS_SCM_PRETEND_VERSION = version;

View File

@ -7,7 +7,7 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "aioairzone"; pname = "aioairzone";
version = "0.3.4"; version = "0.4.2";
format = "setuptools"; format = "setuptools";
disabled = pythonOlder "3.8"; disabled = pythonOlder "3.8";
@ -16,7 +16,7 @@ buildPythonPackage rec {
owner = "Noltari"; owner = "Noltari";
repo = pname; repo = pname;
rev = "refs/tags/${version}"; rev = "refs/tags/${version}";
hash = "sha256-ENdgaG30Fll5HQOTcghkmqOAiMYEY1aHRIel4Bd25Pk="; hash = "sha256-SPxSIcsDjsT7dZQs1CoU7DstQTxYN1c0qAB+XQjVXlo=";
}; };
propagatedBuildInputs = [ propagatedBuildInputs = [

View File

@ -7,7 +7,7 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "aioslimproto"; pname = "aioslimproto";
version = "2.0.0"; version = "2.0.1";
format = "setuptools"; format = "setuptools";
disabled = pythonOlder "3.9"; disabled = pythonOlder "3.9";
@ -16,13 +16,18 @@ buildPythonPackage rec {
owner = "home-assistant-libs"; owner = "home-assistant-libs";
repo = pname; repo = pname;
rev = version; rev = version;
hash = "sha256-7xFbxWay2aPCBkf3pBUGshROtssbi//PxxsI8ELeS+c="; hash = "sha256-xa0LZGq0di4lnJGVMbb1Un0Ebd4vXRlbkxbatJ9GwB0=";
}; };
checkInputs = [ checkInputs = [
pytestCheckHook pytestCheckHook
]; ];
disabledTests = [
# AssertionError: assert ['mixer', 'volume', '50'] == ['volume', '50']
"test_msg_instantiation"
];
pythonImportsCheck = [ pythonImportsCheck = [
"aioslimproto" "aioslimproto"
]; ];

View File

@ -11,7 +11,7 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "androidtv"; pname = "androidtv";
version = "0.0.66"; version = "0.0.67";
format = "setuptools"; format = "setuptools";
disabled = pythonOlder "3.7"; disabled = pythonOlder "3.7";
@ -20,7 +20,7 @@ buildPythonPackage rec {
owner = "JeffLIrion"; owner = "JeffLIrion";
repo = "python-androidtv"; repo = "python-androidtv";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-gSbckVjM49nVfzpk9sfynJDx15+zQ/KgaI7oxEkXQpo="; hash = "sha256-MAlKD2PDQJQaKPiMQDu1CMvn4xnxb8FmeYqzcW4hso0=";
}; };
propagatedBuildInputs = [ propagatedBuildInputs = [

View File

@ -20,7 +20,7 @@
let let
pname = "ansible"; pname = "ansible";
version = "5.7.0"; version = "5.7.1";
in in
buildPythonPackage { buildPythonPackage {
inherit pname version; inherit pname version;
@ -30,7 +30,7 @@ buildPythonPackage {
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "sha256-6AwOdN4XdK2ufAIzskf/crj72LXxBwd9tdC38DcNa4Y="; sha256 = "sha256-kKCaNFENGU1jVWiVoiWonkqLdIua4hW1XlF6N94GOmE=";
}; };
postPatch = '' postPatch = ''
@ -78,6 +78,7 @@ buildPythonPackage {
meta = with lib; { meta = with lib; {
description = "Radically simple IT automation"; description = "Radically simple IT automation";
homepage = "https://www.ansible.com"; homepage = "https://www.ansible.com";
changelog = "https://github.com/ansible-community/ansible-build-data/blob/${version}/${lib.versions.major version}/CHANGELOG-v${lib.versions.major version}.rst";
license = licenses.gpl3Plus; license = licenses.gpl3Plus;
maintainers = with maintainers; [ hexa ]; maintainers = with maintainers; [ hexa ];
}; };

View File

@ -14,7 +14,7 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "async-upnp-client"; pname = "async-upnp-client";
version = "0.28.0"; version = "0.29.0";
format = "setuptools"; format = "setuptools";
disabled = pythonOlder "3.7"; disabled = pythonOlder "3.7";
@ -23,7 +23,7 @@ buildPythonPackage rec {
owner = "StevenLooman"; owner = "StevenLooman";
repo = "async_upnp_client"; repo = "async_upnp_client";
rev = version; rev = version;
sha256 = "sha256-ZyYIZLIlLQV3Yj4a+M5vZVaTe9lEsrWhBe/g9wzM1TY="; sha256 = "sha256-IzT48ABfk/v8VZJRJEMU/Rsi6mJG4IvtF7HNRv6TLeA=";
}; };
propagatedBuildInputs = [ propagatedBuildInputs = [

View File

@ -0,0 +1,46 @@
{ lib
, buildPythonPackage
, pythonOlder
, fetchFromGitHub
, aiohttp
, pydantic
, freezegun
, pytest-aiohttp
, pytest-asyncio
, pytestCheckHook
}:
buildPythonPackage rec {
pname = "gcal-sync";
version = "0.7.1";
disabled = pythonOlder "3.9";
src = fetchFromGitHub {
owner = "allenporter";
repo = "gcal_sync";
rev = version;
hash = "sha256-NOB74P+5i63FEeHJsPXRdRgY6iyIUEn7BogbVKm8P5M=";
};
propagatedBuildInputs = [
aiohttp
pydantic
];
checkInputs = [
freezegun
pytest-aiohttp
pytest-asyncio
pytestCheckHook
];
pythonImportsCheck = [ "gcal_sync" ];
meta = {
description = "Python library for syncing Google Calendar to local storage";
homepage = "https://github.com/allenporter/gcal_sync";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ dotlambda ];
};
}

View File

@ -10,17 +10,21 @@
, pyquery , pyquery
, requests , requests
, pytestCheckHook , pytestCheckHook
, pythonOlder
}: }:
buildPythonPackage rec { buildPythonPackage rec {
pname = "howdoi"; pname = "howdoi";
version = "2.0.19"; version = "2.0.19";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "gleitz"; owner = "gleitz";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "0hl7cpxm4llsgw6390bpjgkzrprrpb0vxx2flgly7wiy9zl1rc5q"; hash = "sha256-uLAc6E8+8uPpo070vsG6Od/855N3gTQMf5pSUvtlh0I=";
}; };
propagatedBuildInputs = [ propagatedBuildInputs = [
@ -46,6 +50,16 @@ buildPythonPackage rec {
# AssertionError: "The... # AssertionError: "The...
"test_get_text_with_one_link" "test_get_text_with_one_link"
"test_get_text_without_links" "test_get_text_without_links"
# Those tests are failing in the sandbox
# OSError: [Errno 24] Too many open files
"test_answers"
"test_answers_bing"
"test_colorize"
"test_json_output"
"test_missing_pre_or_code_query"
"test_multiple_answers"
"test_position"
"test_unicode_answer"
]; ];
pythonImportsCheck = [ pythonImportsCheck = [
@ -54,7 +68,7 @@ buildPythonPackage rec {
meta = with lib; { meta = with lib; {
description = "Instant coding answers via the command line"; description = "Instant coding answers via the command line";
homepage = "https://pypi.python.org/pypi/howdoi"; homepage = "https://github.com/gleitz/howdoi";
license = licenses.mit; license = licenses.mit;
maintainers = with maintainers; [ costrouc ]; maintainers = with maintainers; [ costrouc ];
}; };

View File

@ -0,0 +1,26 @@
{ lib
, buildPythonPackage
, fetchPypi
}:
buildPythonPackage rec {
pname = "insteon-frontend-home-assistant";
version = "0.1.0";
src = fetchPypi {
inherit pname version;
sha256 = "70ee413cae8717416f5add1be7647158d8ff4303942dafccac0792ef44336cdf";
};
# upstream has no tests
doCheck = false;
pythonImportsCheck = [ "insteon_frontend" ];
meta = {
description = "The Insteon frontend for Home Assistant";
homepage = "https://github.com/teharris1/insteon-panel";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ dotlambda ];
};
}

View File

@ -1,9 +1,19 @@
{ lib, buildPythonPackage, fetchPypi, pythonOlder, { lib
async_generator, traitlets, nbformat, nest-asyncio, jupyter-client, , buildPythonPackage
pytest, xmltodict, nbconvert, ipywidgets , fetchPypi
, pythonOlder
, async_generator
, traitlets
, nbformat
, nest-asyncio
, jupyter-client
, pytestCheckHook
, xmltodict
, nbconvert
, ipywidgets
}: }:
buildPythonPackage rec { let nbclient = buildPythonPackage rec {
pname = "nbclient"; pname = "nbclient";
version = "0.6.2"; version = "0.6.2";
format = "setuptools"; format = "setuptools";
@ -15,14 +25,26 @@ buildPythonPackage rec {
hash = "sha256-i0dVPxztB3zXxFN/1dcB1G92gfJLKCdeXMHTR+fJtGs="; hash = "sha256-i0dVPxztB3zXxFN/1dcB1G92gfJLKCdeXMHTR+fJtGs=";
}; };
doCheck = false; # Avoid infinite recursion
checkInputs = [ pytest xmltodict nbconvert ipywidgets ];
propagatedBuildInputs = [ async_generator traitlets nbformat nest-asyncio jupyter-client ]; propagatedBuildInputs = [ async_generator traitlets nbformat nest-asyncio jupyter-client ];
# circular dependencies if enabled by default
doCheck = false;
checkInputs = [ pytestCheckHook xmltodict nbconvert ipywidgets ];
preCheck = ''
export HOME=$(mktemp -d)
'';
passthru.tests = {
check = nbclient.overridePythonAttrs (_: { doCheck = true; });
};
meta = with lib; { meta = with lib; {
homepage = "https://github.com/jupyter/nbclient"; homepage = "https://github.com/jupyter/nbclient";
description = "A client library for executing notebooks"; description = "A client library for executing notebooks";
license = licenses.bsd3; license = licenses.bsd3;
maintainers = [ maintainers.erictapen ]; maintainers = [ maintainers.erictapen ];
}; };
} };
in nbclient

View File

@ -6,14 +6,14 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "peaqevcore"; pname = "peaqevcore";
version = "0.0.21"; version = "0.0.22";
format = "setuptools"; format = "setuptools";
disabled = pythonOlder "3.7"; disabled = pythonOlder "3.7";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
hash = "sha256-NTwLo/RtwSf3a43dAv8EK1NWuCsVjL+8+KozjvaPUm4="; hash = "sha256-ye8evqkOy08wHYohVOpXB2pfPN/vsK9GnPnL/nbVZU0=";
}; };
postPatch = '' postPatch = ''

View File

@ -10,7 +10,7 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "pychromecast"; pname = "pychromecast";
version = "11.0.0"; version = "12.0.0";
format = "setuptools"; format = "setuptools";
disabled = !isPy3k; disabled = !isPy3k;
@ -18,7 +18,7 @@ buildPythonPackage rec {
src = fetchPypi { src = fetchPypi {
pname = "PyChromecast"; pname = "PyChromecast";
inherit version; inherit version;
sha256 = "sha256-FRcjsXgRAFK2c7h2WhIMhdFurowi11V13O6+K+HrHvY="; sha256 = "sha256-asvEJix8/3glVhenll/rlTwSZdX0LRPMX4uCSURohJ4=";
}; };
propagatedBuildInputs = [ propagatedBuildInputs = [

View File

@ -1,6 +1,7 @@
{ lib { lib
, aiohttp , aiohttp
, aioresponses , aioresponses
, async-timeout
, buildPythonPackage , buildPythonPackage
, fetchFromGitHub , fetchFromGitHub
, pytest-aiohttp , pytest-aiohttp
@ -10,20 +11,21 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "pydeconz"; pname = "pydeconz";
version = "87"; version = "91";
format = "setuptools"; format = "setuptools";
disabled = pythonOlder "3.7"; disabled = pythonOlder "3.9";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "Kane610"; owner = "Kane610";
repo = "deconz"; repo = "deconz";
rev = "v${version}"; rev = "refs/tags/v${version}";
sha256 = "sha256-scNTHbUL8TOhkUJyib4cgL8A4gZ73asmFLi8aGw3sX8="; hash = "sha256-JoQapWQZPjP9TD6gnIGE23hzBt22kAWDKreTzq3GBWQ=";
}; };
propagatedBuildInputs = [ propagatedBuildInputs = [
aiohttp aiohttp
async-timeout
]; ];
checkInputs = [ checkInputs = [

View File

@ -8,7 +8,7 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "pyevilgenius"; pname = "pyevilgenius";
version = "1.0.0"; version = "2.0.0";
format = "setuptools"; format = "setuptools";
disabled = pythonOlder "3.8"; disabled = pythonOlder "3.8";
@ -17,7 +17,7 @@ buildPythonPackage rec {
owner = "home-assistant-libs"; owner = "home-assistant-libs";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "06xnl93sqklg7gx0z50vm79xwww0yyw05c1yynajc9aijfi8cmi3"; sha256 = "sha256-wjC32oq/lW3Z4XB+4SILRKIOuCgBKk1gruOo4uc/4/o=";
}; };
propagatedBuildInputs = [ propagatedBuildInputs = [

View File

@ -16,7 +16,7 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "pyinsteon"; pname = "pyinsteon";
version = "1.0.16"; version = "1.1.0";
format = "setuptools"; format = "setuptools";
disabled = pythonOlder "3.6"; disabled = pythonOlder "3.6";
@ -24,8 +24,8 @@ buildPythonPackage rec {
src = fetchFromGitHub { src = fetchFromGitHub {
owner = pname; owner = pname;
repo = pname; repo = pname;
rev = version; rev = "refs/tags/${version}";
hash = "sha256-V0niLQAplN/uZ0YeN6g8uax3U/d0LUT4aXxe3ENXIHc="; hash = "sha256-YoDCvYpbw06MXx371SNarrtQ0t4xlhwm1CBbl524P7c=";
}; };
propagatedBuildInputs = [ propagatedBuildInputs = [

View File

@ -11,7 +11,7 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "pykulersky"; pname = "pykulersky";
version = "0.5.3"; version = "0.5.4";
format = "setuptools"; format = "setuptools";
disabled = pythonOlder "3.6"; disabled = pythonOlder "3.6";
@ -20,7 +20,7 @@ buildPythonPackage rec {
owner = "emlove"; owner = "emlove";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "sha256-l3obfs5zo5DqArsDml8EZ+/uzab35Jjsuzw6U1XFJ3k="; sha256 = "sha256-voD4tR+k5TKGjLXFK94GJy4+wUoP2cSFc5BWkCiinOg=";
}; };
propagatedBuildInputs = [ propagatedBuildInputs = [

View File

@ -13,14 +13,14 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "pynws"; pname = "pynws";
version = "1.3.2"; version = "1.4.1";
disabled = pythonOlder "3.6"; disabled = pythonOlder "3.6";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "MatthewFlamm"; owner = "MatthewFlamm";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "0d2x3vlm444aar4wbdg48xzpgwng5m7i2d7h1z0pb6c514747sd1"; sha256 = "sha256-hAUD92wlQZ0BZ++e/KdIOgTzavmUkrH3esDhI3mbl5Y=";
}; };
propagatedBuildInputs = [ propagatedBuildInputs = [

View File

@ -3,19 +3,20 @@
, pythonOlder , pythonOlder
, fetchPypi , fetchPypi
, aiohttp , aiohttp
, pytest-aiohttp
, pytest-asyncio , pytest-asyncio
, pytestCheckHook , pytestCheckHook
}: }:
buildPythonPackage rec { buildPythonPackage rec {
pname = "pytomorrowio"; pname = "pytomorrowio";
version = "0.2.1"; version = "0.3.3";
disabled = pythonOlder "3.7"; disabled = pythonOlder "3.7";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "aabb41436fb5834b687d73b334d95be07a18d5943d27a1fd06271b749558ba0e"; sha256 = "0d4f81dc90aefa26da18b927473cb7b08b093f7732301983ef5f0b1ca1181c62";
}; };
propagatedBuildInputs = [ propagatedBuildInputs = [
@ -23,6 +24,7 @@ buildPythonPackage rec {
]; ];
checkInputs = [ checkInputs = [
pytest-aiohttp
pytest-asyncio pytest-asyncio
pytestCheckHook pytestCheckHook
]; ];

View File

@ -3,6 +3,7 @@
, aresponses , aresponses
, asynctest , asynctest
, backoff , backoff
, beautifulsoup4
, buildPythonPackage , buildPythonPackage
, docutils , docutils
, fetchFromGitHub , fetchFromGitHub
@ -19,7 +20,7 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "simplisafe-python"; pname = "simplisafe-python";
version = "2022.03.3"; version = "2022.05.0";
format = "pyproject"; format = "pyproject";
disabled = pythonOlder "3.8"; disabled = pythonOlder "3.8";
@ -28,7 +29,7 @@ buildPythonPackage rec {
owner = "bachya"; owner = "bachya";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "sha256-19+p39uZO9pSDzH6YkS9ZDVA4zyl9oJ325yTQ5+SQcw="; sha256 = "sha256-NXEhjj8L7MPAdQwjqe6u+L9vi/mIIA8TxDpM5q4uUrU=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
@ -38,6 +39,7 @@ buildPythonPackage rec {
propagatedBuildInputs = [ propagatedBuildInputs = [
aiohttp aiohttp
backoff backoff
beautifulsoup4
docutils docutils
pytz pytz
voluptuous voluptuous
@ -62,6 +64,8 @@ buildPythonPackage rec {
# simplipy/api.py:253: InvalidCredentialsError # simplipy/api.py:253: InvalidCredentialsError
"test_request_error_failed_retry" "test_request_error_failed_retry"
"test_update_error" "test_update_error"
# ClientConnectorError: Cannot connect to host auth.simplisafe.com:443 ssl:default [Temporary failure in name resolution]
"test_client_async_from_refresh_token_unknown_error"
]; ];
disabledTestPaths = [ disabledTestPaths = [

View File

@ -1,4 +1,11 @@
{ lib, stdenv, buildPythonPackage, fetchFromGitHub, libiconv, rustPlatform, setuptools-rust }: { lib
, stdenv
, buildPythonPackage
, fetchFromGitHub
, libiconv
, Foundation
, rustPlatform
, setuptools-rust }:
buildPythonPackage rec { buildPythonPackage rec {
pname = "skytemple-rust"; pname = "skytemple-rust";
@ -17,7 +24,7 @@ buildPythonPackage rec {
sha256 = "sha256-lXPCxRbaqUC5EfyeBPtJDuGADYOA+DWMaOZRwXppP8E="; sha256 = "sha256-lXPCxRbaqUC5EfyeBPtJDuGADYOA+DWMaOZRwXppP8E=";
}; };
buildInputs = lib.optionals stdenv.isDarwin [ libiconv ]; buildInputs = lib.optionals stdenv.isDarwin [ libiconv Foundation ];
nativeBuildInputs = [ setuptools-rust ] ++ (with rustPlatform; [ cargoSetupHook rust.cargo rust.rustc ]); nativeBuildInputs = [ setuptools-rust ] ++ (with rustPlatform; [ cargoSetupHook rust.cargo rust.rustc ]);
GETTEXT_SYSTEM = true; GETTEXT_SYSTEM = true;

View File

@ -7,11 +7,11 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "sqlmap"; pname = "sqlmap";
version = "1.6.4"; version = "1.6.5";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "sha256-6RKJ5a8Yl+SnWgdfrTIwY0m1JyY6W9fhZk6pTZiBVx8="; sha256 = "sha256-EdiLTzjRigJLsslWSymLNajvUDimBt4d4EBugxVYueg=";
}; };
postPatch = '' postPatch = ''

View File

@ -1,38 +1,34 @@
{ lib { lib
, buildPythonPackage , buildPythonPackage
, fetchFromGitHub , fetchFromGitHub
, fetchpatch
, poetry-core , poetry-core
, rich , rich
, typing-extensions , typing-extensions
, pytestCheckHook , pytestCheckHook
, pythonOlder
}: }:
buildPythonPackage rec { buildPythonPackage rec {
pname = "textual"; pname = "textual";
version = "0.1.15"; version = "0.1.18";
format = "pyproject"; format = "pyproject";
disabled = pythonOlder "3.7";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "Textualize"; owner = "Textualize";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "1jmjais0yq8dwi9yikgrxdw4rwp8aq1981nhfxn0v97jb07i4cj6"; sha256 = "sha256-XVmbt8r5HL8r64ISdJozmM+9HuyvqbpdejWICzFnfiw=";
}; };
patches = [ nativeBuildInputs = [
(fetchpatch { poetry-core
# v0.1.15 git tag has 0.1.14 in pyproject.toml
name = "version.patch";
url = "https://github.com/Textualize/textual/commit/1b8d7d184e10889002425641222702afba508aea.patch";
sha256 = "1nfqp5f8ba3fg0ar3lghrlqypbjbsaywxaz3iiff8fy8j2wgsppp";
})
]; ];
nativeBuildInputs = [ poetry-core ];
propagatedBuildInputs = [ propagatedBuildInputs = [
rich rich
] ++ lib.optionals (pythonOlder "3.9") [
typing-extensions typing-extensions
]; ];
@ -40,7 +36,14 @@ buildPythonPackage rec {
pytestCheckHook pytestCheckHook
]; ];
pythonImportsCheck = [ "textual" ]; postPatch = ''
substituteInPlace pyproject.toml \
--replace 'rich = "^12.3.0"' 'rich = "*"'
'';
pythonImportsCheck = [
"textual"
];
meta = with lib; { meta = with lib; {
description = "TUI framework for Python inspired by modern web development"; description = "TUI framework for Python inspired by modern web development";

View File

@ -8,7 +8,7 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "total-connect-client"; pname = "total-connect-client";
version = "2022.2.1"; version = "2022.3";
format = "setuptools"; format = "setuptools";
disabled = pythonOlder "3.7"; disabled = pythonOlder "3.7";
@ -17,7 +17,7 @@ buildPythonPackage rec {
owner = "craigjmidwinter"; owner = "craigjmidwinter";
repo = "total-connect-client"; repo = "total-connect-client";
rev = version; rev = version;
hash = "sha256-1/uqOxaJqrT+E+0ikNZX9AfIRRbpBSjh2nINrqGWxbY="; hash = "sha256-KfJFU85yQmBZn4f0ljnaiy/DjHMOuNi+Q7nb8yCpKVk=";
}; };
propagatedBuildInputs = [ propagatedBuildInputs = [

View File

@ -1,27 +1,31 @@
{ lib { lib
, buildPythonPackage , buildPythonPackage
, fetchPypi , fetchFromGitHub
, nose , pytestCheckHook
}: }:
buildPythonPackage rec { buildPythonPackage rec {
pname = "voluptuous"; pname = "voluptuous";
version = "0.13.0"; version = "0.13.1";
src = fetchPypi { src = fetchFromGitHub {
inherit pname version; owner = "alecthomas";
sha256 = "sha256-yuakUmtDS2QoFrNKAOEYbVpfXgyUirlNKpGOAeWHQGY="; repo = pname;
rev = version;
hash = "sha256-cz3Bd+/yPh+VOHxzi/W+gbDh/H5Nl/n4jvxDOirmAVk=";
}; };
checkInputs = [ checkInputs = [
nose pytestCheckHook
]; ];
checkPhase = '' pythonImportsCheck = [
nosetests "voluptuous"
''; ];
pythonImportsCheck = [ "voluptuous" ]; pytestFlagsArray = [
"voluptuous/tests/"
];
meta = with lib; { meta = with lib; {
description = "Python data validation library"; description = "Python data validation library";

View File

@ -4,6 +4,7 @@
, asynctest , asynctest
, buildPythonPackage , buildPythonPackage
, crccheck , crccheck
, cryptography
, fetchFromGitHub , fetchFromGitHub
, pycryptodome , pycryptodome
, pytest-aiohttp , pytest-aiohttp
@ -15,7 +16,7 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "zigpy"; pname = "zigpy";
version = "0.44.2"; version = "0.45.1";
format = "setuptools"; format = "setuptools";
disabled = pythonOlder "3.7"; disabled = pythonOlder "3.7";
@ -24,13 +25,14 @@ buildPythonPackage rec {
owner = "zigpy"; owner = "zigpy";
repo = "zigpy"; repo = "zigpy";
rev = version; rev = version;
sha256 = "sha256-E6SeuVu5UdWL5Tx39UQymNhABltR+qVHANYWuCh+h6I="; sha256 = "sha256-85Bi8qjbUKLXFW7VGOxzelMa1gY9giGeQRmOeoZ1idE=";
}; };
propagatedBuildInputs = [ propagatedBuildInputs = [
aiohttp aiohttp
aiosqlite aiosqlite
crccheck crccheck
cryptography
pycryptodome pycryptodome
voluptuous voluptuous
]; ];

View File

@ -10,7 +10,7 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "zwave-js-server-python"; pname = "zwave-js-server-python";
version = "0.35.3"; version = "0.36.1";
format = "setuptools"; format = "setuptools";
disabled = pythonOlder "3.8"; disabled = pythonOlder "3.8";
@ -19,7 +19,7 @@ buildPythonPackage rec {
owner = "home-assistant-libs"; owner = "home-assistant-libs";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "sha256-vM5GEqq32VdC5UjGVlnrN8/LRcCHHkJFzEbaA2Snte8="; sha256 = "sha256-XVFOx0f5lBh5i7q8XEb4qd0Lu09jEEYKyJUJBqXwirc=";
}; };
propagatedBuildInputs = [ propagatedBuildInputs = [

View File

@ -1,17 +1,20 @@
{ lib, python3 }: { lib
, python3
}:
python3.pkgs.buildPythonApplication rec { python3.pkgs.buildPythonApplication rec {
pname = "rich-cli"; pname = "rich-cli";
version = "1.5.1"; version = "1.7.0";
format = "pyproject";
src = python3.pkgs.fetchPypi { src = python3.pkgs.fetchPypi {
inherit pname version; inherit pname version;
sha256 = "18qpdaw4drkwq71xikngwaarkjxhfc0nrb1zm36rw31b8dz0ij2k"; sha256 = "sha256-fporylec9H+9G2v8D0O32ek7OQs3YRSma1xOpakClqk=";
}; };
format = "pyproject"; nativeBuildInputs = with python3.pkgs; [
poetry-core
nativeBuildInputs = [ python3.pkgs.poetry-core ]; ];
propagatedBuildInputs = with python3.pkgs; [ propagatedBuildInputs = with python3.pkgs; [
rich rich
@ -21,11 +24,18 @@ python3.pkgs.buildPythonApplication rec {
rich-rst rich-rst
]; ];
buildInputs = [ python3 ]; postPatch = ''
substituteInPlace pyproject.toml \
--replace 'rich = "^12.3.0"' 'rich = "*"'
'';
pythonImportsCheck = [
"rich_cli"
];
meta = with lib; { meta = with lib; {
homepage = "https://github.com/Textualize/rich-cli";
description = "Command Line Interface to Rich"; description = "Command Line Interface to Rich";
homepage = "https://github.com/Textualize/rich-cli";
license = licenses.mit; license = licenses.mit;
maintainers = with maintainers; [ jyooru ]; maintainers = with maintainers; [ jyooru ];
}; };

View File

@ -2,7 +2,7 @@
# Do not edit! # Do not edit!
{ {
version = "2022.4.7"; version = "2022.5.0";
components = { components = {
"abode" = ps: with ps; [ "abode" = ps: with ps; [
abodepy abodepy
@ -157,10 +157,6 @@
]; ];
"arest" = ps: with ps; [ "arest" = ps: with ps; [
]; ];
"arlo" = ps: with ps; [
ha-ffmpeg
pyarlo
];
"arris_tg2492lg" = ps: with ps; [ "arris_tg2492lg" = ps: with ps; [
arris-tg2492lg arris-tg2492lg
]; ];
@ -554,8 +550,6 @@
"digital_ocean" = ps: with ps; [ "digital_ocean" = ps: with ps; [
digital-ocean digital-ocean
]; ];
"digitalloggers" = ps: with ps; [
]; # missing inputs: dlipower
"directv" = ps: with ps; [ "directv" = ps: with ps; [
directv directv
]; ];
@ -993,8 +987,7 @@
]; ];
"google" = ps: with ps; [ "google" = ps: with ps; [
aiohttp-cors aiohttp-cors
google-api-python-client gcal-sync
httplib2
oauth2client oauth2client
]; ];
"google_assistant" = ps: with ps; [ "google_assistant" = ps: with ps; [
@ -1248,9 +1241,15 @@
]; ];
"insteon" = ps: with ps; [ "insteon" = ps: with ps; [
aiohttp-cors aiohttp-cors
fnvhash
home-assistant-frontend
insteon-frontend-home-assistant
lru-dict
pillow
pyinsteon pyinsteon
pyserial pyserial
pyudev pyudev
sqlalchemy
]; ];
"integration" = ps: with ps; [ "integration" = ps: with ps; [
]; ];
@ -1391,8 +1390,10 @@
life360 life360
]; ];
"lifx" = ps: with ps; [ "lifx" = ps: with ps; [
aiohttp-cors
aiolifx aiolifx
aiolifx-effects aiolifx-effects
ifaddr
]; ];
"lifx_cloud" = ps: with ps; [ "lifx_cloud" = ps: with ps; [
]; ];
@ -1514,6 +1515,8 @@
"mazda" = ps: with ps; [ "mazda" = ps: with ps; [
pymazda pymazda
]; ];
"meater" = ps: with ps; [
]; # missing inputs: meater-python
"media_extractor" = ps: with ps; [ "media_extractor" = ps: with ps; [
aiohttp-cors aiohttp-cors
youtube-dl-light youtube-dl-light
@ -2088,6 +2091,9 @@
]; ];
"qnap" = ps: with ps; [ "qnap" = ps: with ps; [
]; # missing inputs: qnapstats ]; # missing inputs: qnapstats
"qnap_qsw" = ps: with ps; [
aioqsw
];
"qrcode" = ps: with ps; [ "qrcode" = ps: with ps; [
pillow pillow
pyzbar pyzbar
@ -2309,6 +2315,10 @@
"sentry" = ps: with ps; [ "sentry" = ps: with ps; [
sentry-sdk sentry-sdk
]; ];
"senz" = ps: with ps; [
aiohttp-cors
aiosenz
];
"serial" = ps: with ps; [ "serial" = ps: with ps; [
pyserial-asyncio pyserial-asyncio
]; ];
@ -2382,6 +2392,10 @@
]; ];
"slide" = ps: with ps; [ "slide" = ps: with ps; [
]; # missing inputs: goslide-api ]; # missing inputs: goslide-api
"slimproto" = ps: with ps; [
aiohttp-cors
aioslimproto
];
"sma" = ps: with ps; [ "sma" = ps: with ps; [
pysma pysma
]; ];
@ -2420,7 +2434,7 @@
paho-mqtt paho-mqtt
]; ];
"snmp" = ps: with ps; [ "snmp" = ps: with ps; [
pysnmp pysnmplib
]; ];
"solaredge" = ps: with ps; [ "solaredge" = ps: with ps; [
solaredge solaredge
@ -2747,6 +2761,9 @@
pytradfri pytradfri
] ]
++ pytradfri.extras-require.async; ++ pytradfri.extras-require.async;
"trafikverket_ferry" = ps: with ps; [
pytrafikverket
];
"trafikverket_train" = ps: with ps; [ "trafikverket_train" = ps: with ps; [
pytrafikverket pytrafikverket
]; ];
@ -2828,11 +2845,10 @@
]; ];
"update" = ps: with ps; [ "update" = ps: with ps; [
]; ];
"updater" = ps: with ps; [
];
"upnp" = ps: with ps; [ "upnp" = ps: with ps; [
aiohttp-cors aiohttp-cors
async-upnp-client async-upnp-client
getmac
ifaddr ifaddr
zeroconf zeroconf
]; ];
@ -3168,7 +3184,6 @@
"apprise" "apprise"
"aprs" "aprs"
"arcam_fmj" "arcam_fmj"
"arlo"
"aseko_pool_live" "aseko_pool_live"
"asuswrt" "asuswrt"
"atag" "atag"
@ -3540,6 +3555,7 @@
"pvpc_hourly_pricing" "pvpc_hourly_pricing"
"python_script" "python_script"
"qld_bushfire" "qld_bushfire"
"qnap_qsw"
"rachio" "rachio"
"radarr" "radarr"
"radio_browser" "radio_browser"
@ -3582,6 +3598,7 @@
"sensibo" "sensibo"
"sensor" "sensor"
"sentry" "sentry"
"senz"
"seventeentrack" "seventeentrack"
"shell_command" "shell_command"
"shelly" "shelly"
@ -3595,6 +3612,7 @@
"siren" "siren"
"slack" "slack"
"sleepiq" "sleepiq"
"slimproto"
"sma" "sma"
"smappee" "smappee"
"smart_meter_texas" "smart_meter_texas"
@ -3648,6 +3666,7 @@
"tailscale" "tailscale"
"tankerkoenig" "tankerkoenig"
"tasmota" "tasmota"
"tautulli"
"tcp" "tcp"
"telegram" "telegram"
"telegram_bot" "telegram_bot"
@ -3671,6 +3690,7 @@
"trace" "trace"
"tractive" "tractive"
"tradfri" "tradfri"
"trafikverket_ferry"
"trafikverket_train" "trafikverket_train"
"trafikverket_weatherstation" "trafikverket_weatherstation"
"transmission" "transmission"
@ -3689,7 +3709,6 @@
"upb" "upb"
"upcloud" "upcloud"
"update" "update"
"updater"
"upnp" "upnp"
"uptime" "uptime"
"uptimerobot" "uptimerobot"

View File

@ -30,7 +30,6 @@ let
defaultOverrides = [ defaultOverrides = [
# Override the version of some packages pinned in Home Assistant's setup.py and requirements_all.txt # Override the version of some packages pinned in Home Assistant's setup.py and requirements_all.txt
(mkOverride "python-slugify" "4.0.1" "sha256-aaUXdm4AwSaOW7/A0BCgqFCN4LGNMK1aH/NX+K5yQnA=") (mkOverride "python-slugify" "4.0.1" "sha256-aaUXdm4AwSaOW7/A0BCgqFCN4LGNMK1aH/NX+K5yQnA=")
(mkOverride "voluptuous" "0.12.2" "sha256-TbGsUHnbkkmCDUnIkctGYKb4yuNQSRIQq850H6v1ZRM=")
# pytest-aiohttp>0.3.0 breaks home-assistant tests # pytest-aiohttp>0.3.0 breaks home-assistant tests
(self: super: { (self: super: {
@ -47,9 +46,21 @@ let
aiohomekit = super.aiohomekit.overridePythonAttrs (oldAttrs: { aiohomekit = super.aiohomekit.overridePythonAttrs (oldAttrs: {
doCheck = false; # requires aiohttp>=1.0.0 doCheck = false; # requires aiohttp>=1.0.0
}); });
gcal-sync = super.gcal-sync.overridePythonAttrs (oldAttrs: {
doCheck = false; # requires aiohttp>=1.0.0
});
hass-nabucasa = super.hass-nabucasa.overridePythonAttrs (oldAttrs: { hass-nabucasa = super.hass-nabucasa.overridePythonAttrs (oldAttrs: {
doCheck = false; # requires aiohttp>=1.0.0 doCheck = false; # requires aiohttp>=1.0.0
}); });
pydeconz = super.pydeconz.overridePythonAttrs (oldAttrs: {
doCheck = false; # requires pytest-aiohttp>=1.0.0
});
pynws = super.pynws.overridePythonAttrs (oldAttrs: {
doCheck = false; # requires pytest-aiohttp>=1.0.0
});
pytomorrowio = super.pytomorrowio.overridePythonAttrs (oldAttrs: {
doCheck = false; # requires pytest-aiohttp>=1.0.0
});
rtsp-to-webrtc = super.rtsp-to-webrtc.overridePythonAttrs (oldAttrs: { rtsp-to-webrtc = super.rtsp-to-webrtc.overridePythonAttrs (oldAttrs: {
doCheck = false; # requires pytest-aiohttp>=1.0.0 doCheck = false; # requires pytest-aiohttp>=1.0.0
}); });
@ -110,7 +121,7 @@ let
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "ManneW"; owner = "ManneW";
repo = "vilfo-api-client-python"; repo = "vilfo-api-client-python";
rev = "v$version}"; rev = "v${version}";
sha256 = "1gy5gpsg99rcm1cc3m30232za00r9i46sp74zpd12p3vzz1wyyqf"; sha256 = "1gy5gpsg99rcm1cc3m30232za00r9i46sp74zpd12p3vzz1wyyqf";
}; };
}); });
@ -168,7 +179,7 @@ let
extraPackagesFile = writeText "home-assistant-packages" (lib.concatMapStringsSep "\n" (pkg: pkg.pname) extraBuildInputs); 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 = "2022.4.7"; hassVersion = "2022.5.0";
in python.pkgs.buildPythonApplication rec { in python.pkgs.buildPythonApplication rec {
pname = "homeassistant"; pname = "homeassistant";
@ -186,7 +197,7 @@ in python.pkgs.buildPythonApplication rec {
owner = "home-assistant"; owner = "home-assistant";
repo = "core"; repo = "core";
rev = version; rev = version;
hash = "sha256-1m3t+AeHyuEyu3gT8P37A+L28mBdNKGmycU6eNOyb4M="; hash = "sha256-xlotye/8oeCs/ntNV4osGjcl7fo05ke7nFLQeee/USY=";
}; };
# leave this in, so users don't have to constantly update their downstream patch handling # leave this in, so users don't have to constantly update their downstream patch handling

View File

@ -4,7 +4,7 @@ buildPythonPackage rec {
# the frontend version corresponding to a specific home-assistant version can be found here # the frontend version corresponding to a specific home-assistant version can be found here
# https://github.com/home-assistant/home-assistant/blob/master/homeassistant/components/frontend/manifest.json # https://github.com/home-assistant/home-assistant/blob/master/homeassistant/components/frontend/manifest.json
pname = "home-assistant-frontend"; pname = "home-assistant-frontend";
version = "20220405.0"; version = "20220504.0";
format = "wheel"; format = "wheel";
src = fetchPypi { src = fetchPypi {
@ -12,7 +12,7 @@ buildPythonPackage rec {
pname = "home_assistant_frontend"; pname = "home_assistant_frontend";
dist = "py3"; dist = "py3";
python = "py3"; python = "py3";
sha256 = "sha256-M024uJJVhVSoGhJTc7d8NKItw0sAOGFuCsZNUe//vBg="; sha256 = "sha256-CYhUId5SGfPX9beAZH0ZemwciVDxchbDcTvQcRhJwog=";
}; };
# there is nothing to strip in this package # there is nothing to strip in this package

View File

@ -142,13 +142,13 @@ in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "inspircd"; pname = "inspircd";
version = "3.12.0"; version = "3.13.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = pname; owner = pname;
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-3c7PFIZy/TGf68XdaSC25Amr8Zfb0O+za4ermIzQjnY="; sha256 = "1d5mnj86x4bk6iygns0cc15w315wrzmqxcq0sc4n75xsg6wwp1zl";
}; };
outputs = [ "bin" "lib" "man" "doc" "out" ]; outputs = [ "bin" "lib" "man" "doc" "out" ];

View File

@ -19,13 +19,13 @@
buildDotnetModule rec { buildDotnetModule rec {
pname = "OpenTabletDriver"; pname = "OpenTabletDriver";
version = "0.6.0.3"; version = "0.6.0.4";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "OpenTabletDriver"; owner = "OpenTabletDriver";
repo = "OpenTabletDriver"; repo = "OpenTabletDriver";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-/Tow25ycQEK8HN1IaB12ZXCXEsuKItD+aYLF/IX8Eos="; sha256 = "sha256-VvxW8Ck+XC4nXSUyDhcbGoeSr5uSAZ66jtZNoADuVR8=";
}; };
debPkg = fetchurl { debPkg = fetchurl {

View File

@ -20,6 +20,7 @@
(fetchNuGet { pname = "Microsoft.CSharp"; version = "4.4.1"; sha256 = "0z6d1i6xcf0c00z6rs75rgw4ncs9q2m8amasf6mmbf40fm02ry7g"; }) (fetchNuGet { pname = "Microsoft.CSharp"; version = "4.4.1"; sha256 = "0z6d1i6xcf0c00z6rs75rgw4ncs9q2m8amasf6mmbf40fm02ry7g"; })
(fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection"; version = "6.0.0-rc.1.21451.13"; sha256 = "0r6945jq7c2f1wjifq514zvngicndjqfnsjya6hqw0yzah0jr56c"; }) (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection"; version = "6.0.0-rc.1.21451.13"; sha256 = "0r6945jq7c2f1wjifq514zvngicndjqfnsjya6hqw0yzah0jr56c"; })
(fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; version = "6.0.0-rc.1.21451.13"; sha256 = "11dg16x6g0gssb143qpghxz1s41himvhr7yhjwxs9hacx4ij2dm1"; }) (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; version = "6.0.0-rc.1.21451.13"; sha256 = "11dg16x6g0gssb143qpghxz1s41himvhr7yhjwxs9hacx4ij2dm1"; })
(fetchNuGet { pname = "Microsoft.NET.Test.Sdk"; version = "16.9.4"; sha256 = "1jdx05zmrqj1s7xfgn3wgy10qb5cl1n1jcj5kz43zvkw1amc7ra4"; })
(fetchNuGet { pname = "Microsoft.NETCore.App.Ref"; version = "5.0.0"; sha256 = "1p62khf9zk23lh91lvz7plv3g1nzmm3b5szqrcm6mb8w3sjk03wi"; }) (fetchNuGet { pname = "Microsoft.NETCore.App.Ref"; version = "5.0.0"; sha256 = "1p62khf9zk23lh91lvz7plv3g1nzmm3b5szqrcm6mb8w3sjk03wi"; })
(fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.0.1"; sha256 = "01al6cfxp68dscl15z7rxfw9zvhm64dncsw09a1vmdkacsa2v6lr"; }) (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.0.1"; sha256 = "01al6cfxp68dscl15z7rxfw9zvhm64dncsw09a1vmdkacsa2v6lr"; })
(fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.1.0"; sha256 = "08vh1r12g6ykjygq5d3vq09zylgb84l63k49jc4v8faw9g93iqqm"; }) (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.1.0"; sha256 = "08vh1r12g6ykjygq5d3vq09zylgb84l63k49jc4v8faw9g93iqqm"; })
@ -27,7 +28,6 @@
(fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "3.0.0"; sha256 = "1bk8r4r3ihmi6322jmcag14jmw11mjqys202azqjzglcx59pxh51"; }) (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "3.0.0"; sha256 = "1bk8r4r3ihmi6322jmcag14jmw11mjqys202azqjzglcx59pxh51"; })
(fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "1.0.1"; sha256 = "0ppdkwy6s9p7x9jix3v4402wb171cdiibq7js7i13nxpdky7074p"; }) (fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "1.0.1"; sha256 = "0ppdkwy6s9p7x9jix3v4402wb171cdiibq7js7i13nxpdky7074p"; })
(fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "1.1.0"; sha256 = "193xwf33fbm0ni3idxzbr5fdq3i2dlfgihsac9jj7whj0gd902nh"; }) (fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "1.1.0"; sha256 = "193xwf33fbm0ni3idxzbr5fdq3i2dlfgihsac9jj7whj0gd902nh"; })
(fetchNuGet { pname = "Microsoft.NET.Test.Sdk"; version = "16.9.4"; sha256 = "1jdx05zmrqj1s7xfgn3wgy10qb5cl1n1jcj5kz43zvkw1amc7ra4"; })
(fetchNuGet { pname = "Microsoft.TestPlatform.ObjectModel"; version = "16.9.4"; sha256 = "1jizkbrnm4pv60zch29ki7gj8m7j5whk141x9cwx4kwsd6cfzwi6"; }) (fetchNuGet { pname = "Microsoft.TestPlatform.ObjectModel"; version = "16.9.4"; sha256 = "1jizkbrnm4pv60zch29ki7gj8m7j5whk141x9cwx4kwsd6cfzwi6"; })
(fetchNuGet { pname = "Microsoft.TestPlatform.TestHost"; version = "16.9.4"; sha256 = "14110qzmypr72ywvx3npq7mf4n0gvdr4536v91z1xbapms65am6x"; }) (fetchNuGet { pname = "Microsoft.TestPlatform.TestHost"; version = "16.9.4"; sha256 = "14110qzmypr72ywvx3npq7mf4n0gvdr4536v91z1xbapms65am6x"; })
(fetchNuGet { pname = "Microsoft.VisualStudio.Threading"; version = "16.7.56"; sha256 = "13x0xrsjxd86clf9cjjwmpzlyp8pkrf13riya7igs8zy93zw2qap"; }) (fetchNuGet { pname = "Microsoft.VisualStudio.Threading"; version = "16.7.56"; sha256 = "13x0xrsjxd86clf9cjjwmpzlyp8pkrf13riya7igs8zy93zw2qap"; })

View File

@ -48,6 +48,7 @@ buildGo118Package rec {
''; '';
passthru.tests.lxd = nixosTests.lxd; passthru.tests.lxd = nixosTests.lxd;
passthru.tests.lxd-nftables = nixosTests.lxd-nftables;
nativeBuildInputs = [ installShellFiles pkg-config makeWrapper ]; nativeBuildInputs = [ installShellFiles pkg-config makeWrapper ];
buildInputs = [ lxc acl libcap dqlite.dev raft-canonical.dev buildInputs = [ lxc acl libcap dqlite.dev raft-canonical.dev

View File

@ -2,13 +2,13 @@
buildGoModule rec { buildGoModule rec {
pname = "syft"; pname = "syft";
version = "0.44.1"; version = "0.45.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "anchore"; owner = "anchore";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-kDTTOc2sPCKWGeVuXlGhOo2dHjBZ1QEE7jAEVs4a70U="; sha256 = "sha256-oexsu52x9rAqwTVxTVHzKPuaIfvg5lvvuBmKcnb2Yew=";
# populate values that require us to use git. By doing this in postFetch we # populate values that require us to use git. By doing this in postFetch we
# can delete .git afterwards and maintain better reproducibility of the src. # can delete .git afterwards and maintain better reproducibility of the src.
leaveDotGit = true; leaveDotGit = true;
@ -20,7 +20,7 @@ buildGoModule rec {
find "$out" -name .git -print0 | xargs -0 rm -rf find "$out" -name .git -print0 | xargs -0 rm -rf
''; '';
}; };
vendorSha256 = "sha256-ZWJzMDfCop5IT6mOvCWdtjGjVrZJxyM0z7iK3TiO+PI="; vendorSha256 = "sha256-d6ZBWX4/lgh610fBLTE1EUqZmpctLfxi2PSRifH+1jg=";
nativeBuildInputs = [ installShellFiles ]; nativeBuildInputs = [ installShellFiles ];

View File

@ -4,11 +4,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "xfsprogs"; pname = "xfsprogs";
version = "5.15.0"; version = "5.16.0";
src = fetchurl { src = fetchurl {
url = "mirror://kernel/linux/utils/fs/xfs/xfsprogs/${pname}-${version}.tar.xz"; url = "mirror://kernel/linux/utils/fs/xfs/xfsprogs/${pname}-${version}.tar.xz";
sha256 = "0mjdwxr2hhqkfa8xg0v74v3n27sjvlwm90jqnmx0587b60wbzlhk"; hash = "sha256-eLjImZmb1pBEHLU9fAKrZxKUlAMZxpT/fILiPo5Gu58=";
}; };
outputs = [ "bin" "dev" "out" "doc" ]; outputs = [ "bin" "dev" "out" "doc" ];

View File

@ -1,67 +0,0 @@
{ lib, python3, fetchFromGitHub }:
let
py = python3.override {
packageOverrides = self: super: {
self = py;
# use click 7
click = self.callPackage ../../../development/python2-modules/click/default.nix { };
# needs pyyaml 5
pyyaml = super.pyyaml.overridePythonAttrs (oldAttrs: rec {
name = "${oldAttrs.pname}-${version}";
version = "5.4.1";
src = fetchFromGitHub {
owner = "yaml";
repo = "pyyaml";
rev = version;
sha256 = "sha256-VUqnlOF/8zSOqh6JoEYOsfQ0P4g+eYqxyFTywgCS7gM=";
};
checkPhase = ''
runHook preCheck
PYTHONPATH="tests/lib3:$PYTHONPATH" ${self.python.interpreter} -m test_all
runHook postCheck
'';
});
};
};
in
with py.pkgs;
buildPythonApplication rec {
pname = "lookatme";
version = "2.3.2";
format = "setuptools";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-qIZMkgOm5jXmxTFLTqMBhpLBhfCL8xvUxxqpS6NjcVw=";
};
checkInputs = [
pytest-mock
pytestCheckHook
six
];
disabledTests = [
# https://github.com/d0c-s4vage/lookatme/issues/126
"test_sanity_check_that_errors_are_detected"
"test_styles_defaults"
];
propagatedBuildInputs = [
click
pyyaml
pygments
marshmallow
mistune
urwid
];
meta = with lib; {
description = "An interactive, terminal-based markdown presenter";
homepage = "https://github.com/d0c-s4vage/lookatme";
license = licenses.mit;
maintainers = with maintainers; [ ameer ];
};
}

View File

@ -6,13 +6,13 @@
buildGoModule rec { buildGoModule rec {
pname = "grype"; pname = "grype";
version = "0.36.0"; version = "0.36.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "anchore"; owner = "anchore";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-8bU7vuTbPoHGCoXiCc4p0rPzCSsYuXM3A2NAgIaHuIw="; sha256 = "sha256-BJSjJrDXZHB4MY4RZCmuC5Gn9YJiCQwyOFrXiGX1h18=";
# populate values that require us to use git. By doing this in postFetch we # populate values that require us to use git. By doing this in postFetch we
# can delete .git afterwards and maintain better reproducibility of the src. # can delete .git afterwards and maintain better reproducibility of the src.
leaveDotGit = true; leaveDotGit = true;
@ -25,7 +25,7 @@ buildGoModule rec {
''; '';
}; };
vendorSha256 = "sha256-Dn3lDdwUK+C7pQwN3uq7p4WkyG5tXTPd18rQGpwqcPI="; vendorSha256 = "sha256-aIFom4hGx7HTobCh9YRyqyf9gUpJIaxAstUUkHjSFnA=";
nativeBuildInputs = [ nativeBuildInputs = [
installShellFiles installShellFiles

View File

@ -3,6 +3,7 @@
, rsync , rsync
, python3 , python3
, fetchFromGitHub , fetchFromGitHub
, nixosTests
}: }:
python3.pkgs.buildPythonApplication rec { python3.pkgs.buildPythonApplication rec {
@ -37,6 +38,8 @@ python3.pkgs.buildPythonApplication rec {
doCheck = false; doCheck = false;
passthru.tests.lxd-image-server = nixosTests.lxd-image-server;
meta = with lib; { meta = with lib; {
description = "Creates and manages a simplestreams lxd image server on top of nginx"; description = "Creates and manages a simplestreams lxd image server on top of nginx";
homepage = "https://github.com/Avature/lxd-image-server"; homepage = "https://github.com/Avature/lxd-image-server";

View File

@ -147,6 +147,7 @@ mapAliases ({
c14 = throw "c14 is deprecated and archived by upstream"; # Added 2022-04-10 c14 = throw "c14 is deprecated and archived by upstream"; # Added 2022-04-10
caddy1 = throw "caddy 1.x has been removed from nixpkgs, as it's unmaintained: https://github.com/caddyserver/caddy/blob/master/.github/SECURITY.md#supported-versions"; # Added 2020-10-02 caddy1 = throw "caddy 1.x has been removed from nixpkgs, as it's unmaintained: https://github.com/caddyserver/caddy/blob/master/.github/SECURITY.md#supported-versions"; # Added 2020-10-02
caffe2 = throw "caffe2 has been removed: subsumed under the PyTorch project"; # Added 2022-04-25
calibre-py2 = throw "calibre-py2 has been removed from nixpkgs, as calibre has upgraded to python 3. Please use calibre as replacement"; # Added 2021-01-13 calibre-py2 = throw "calibre-py2 has been removed from nixpkgs, as calibre has upgraded to python 3. Please use calibre as replacement"; # Added 2021-01-13
calibre-py3 = throw "calibre-py3 has been removed from nixpkgs, as calibre's default python version is now 3. Please use calibre as replacement"; # Added 2021-01-13 calibre-py3 = throw "calibre-py3 has been removed from nixpkgs, as calibre's default python version is now 3. Please use calibre as replacement"; # Added 2021-01-13
callPackage_i686 = pkgsi686Linux.callPackage; callPackage_i686 = pkgsi686Linux.callPackage;

View File

@ -9499,7 +9499,9 @@ with pkgs;
proxify = callPackage ../tools/networking/proxify { }; proxify = callPackage ../tools/networking/proxify { };
proxysql = callPackage ../servers/sql/proxysql { }; proxysql = callPackage ../servers/sql/proxysql {
stdenv = if stdenv.targetPlatform.isx86_64 then gcc10Stdenv else stdenv;
};
prs = callPackage ../tools/security/prs { }; prs = callPackage ../tools/security/prs { };
@ -27837,8 +27839,6 @@ with pkgs;
inherit (luajitPackages) luafilesystem; inherit (luajitPackages) luafilesystem;
}; };
lookatme = callPackage ../tools/misc/lookatme {};
looking-glass-client = callPackage ../applications/virtualization/looking-glass-client { }; looking-glass-client = callPackage ../applications/virtualization/looking-glass-client { };
ltc-tools = callPackage ../applications/audio/ltc-tools { }; ltc-tools = callPackage ../applications/audio/ltc-tools { };
@ -33425,13 +33425,6 @@ with pkgs;
caffeWithCuda = caffe.override { cudaSupport = true; }; caffeWithCuda = caffe.override { cudaSupport = true; };
caffe2 = callPackage ../development/libraries/science/math/caffe2 (rec {
inherit (python3Packages) python future six numpy pydot;
protobuf = protobuf3_1;
python-protobuf = python3Packages.protobuf.override { inherit protobuf; };
opencv3 = opencv3WithoutCuda; # Used only for image loading.
});
caffeine-ng = callPackage ../tools/X11/caffeine-ng {}; caffeine-ng = callPackage ../tools/X11/caffeine-ng {};
cntk = callPackage ../applications/science/math/cntk { cntk = callPackage ../applications/science/math/cntk {

View File

@ -3269,6 +3269,8 @@ in {
gbulb = callPackage ../development/python-modules/gbulb { }; gbulb = callPackage ../development/python-modules/gbulb { };
gcal-sync = callPackage ../development/python-modules/gcal-sync { };
gcovr = callPackage ../development/python-modules/gcovr { }; gcovr = callPackage ../development/python-modules/gcovr { };
gcsfs = callPackage ../development/python-modules/gcsfs { }; gcsfs = callPackage ../development/python-modules/gcsfs { };
@ -4149,6 +4151,8 @@ in {
installer = callPackage ../development/python-modules/installer { }; installer = callPackage ../development/python-modules/installer { };
insteon-frontend-home-assistant = callPackage ../development/python-modules/insteon-frontend-home-assistant { };
intake = callPackage ../development/python-modules/intake { }; intake = callPackage ../development/python-modules/intake { };
intake-parquet = callPackage ../development/python-modules/intake-parquet { }; intake-parquet = callPackage ../development/python-modules/intake-parquet { };
@ -9487,7 +9491,9 @@ in {
skytemple-icons = callPackage ../development/python-modules/skytemple-icons { }; skytemple-icons = callPackage ../development/python-modules/skytemple-icons { };
skytemple-rust = callPackage ../development/python-modules/skytemple-rust { }; skytemple-rust = callPackage ../development/python-modules/skytemple-rust {
inherit (pkgs.darwin.apple_sdk.frameworks) Foundation;
};
skytemple-ssb-debugger = callPackage ../development/python-modules/skytemple-ssb-debugger { }; skytemple-ssb-debugger = callPackage ../development/python-modules/skytemple-ssb-debugger { };

View File

@ -103,7 +103,7 @@ rec {
forAllSystems = genAttrs supportedSystems; forAllSystems = genAttrs supportedSystems;
# Generate attributes for all sytems matching at least one of the given # Generate attributes for all systems matching at least one of the given
# patterns # patterns
forMatchingSystems = metaPatterns: genAttrs (supportedMatches metaPatterns); forMatchingSystems = metaPatterns: genAttrs (supportedMatches metaPatterns);