Merge master into staging-next

This commit is contained in:
github-actions[bot] 2021-02-21 00:38:49 +00:00 committed by GitHub
commit dc31fd042c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
32 changed files with 342 additions and 63 deletions

View File

@ -15,5 +15,6 @@
<xi:include href="firewall.xml" /> <xi:include href="firewall.xml" />
<xi:include href="wireless.xml" /> <xi:include href="wireless.xml" />
<xi:include href="ad-hoc-network-config.xml" /> <xi:include href="ad-hoc-network-config.xml" />
<xi:include href="renaming-interfaces.xml" />
<!-- TODO: OpenVPN, NAT --> <!-- TODO: OpenVPN, NAT -->
</chapter> </chapter>

View File

@ -0,0 +1,67 @@
<section xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xi="http://www.w3.org/2001/XInclude"
version="5.0"
xml:id="sec-rename-ifs">
<title>Renaming network interfaces</title>
<para>
NixOS uses the udev
<link xlink:href="https://systemd.io/PREDICTABLE_INTERFACE_NAMES/">predictable naming scheme</link>
to assign names to network interfaces. This means that by default
cards are not given the traditional names like
<literal>eth0</literal> or <literal>eth1</literal>, whose order can
change unpredictably across reboots. Instead, relying on physical
locations and firmware information, the scheme produces names like
<literal>ens1</literal>, <literal>enp2s0</literal>, etc.
</para>
<para>
These names are predictable but less memorable and not necessarily
stable: for example installing new hardware or changing firmware
settings can result in a
<link xlink:href="https://github.com/systemd/systemd/issues/3715#issue-165347602">name change</link>.
If this is undesirable, for example if you have a single ethernet
card, you can revert to the traditional scheme by setting
<xref linkend="opt-networking.usePredictableInterfaceNames"/> to
<literal>false</literal>.
</para>
<section xml:id="sec-custom-ifnames">
<title>Assigning custom names</title>
<para>
In case there are multiple interfaces of the same type, its better to
assign custom names based on the device hardware address. For
example, we assign the name <literal>wan</literal> to the interface
with MAC address <literal>52:54:00:12:01:01</literal> using a
netword link unit:
</para>
<programlisting>
<link linkend="opt-systemd.network.links">systemd.network.links."10-wan"</link> = {
matchConfig.MACAddress = "52:54:00:12:01:01";
linkConfig.Name = "wan";
};
</programlisting>
<para>
Note that links are directly read by udev, <emphasis>not networkd</emphasis>,
and will work even if networkd is disabled.
</para>
<para>
Alternatively, we can use a plain old udev rule:
</para>
<programlisting>
<link linkend="opt-services.udev.initrdRules">services.udev.initrdRules</link> = ''
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", \
ATTR{address}=="52:54:00:12:01:01", KERNEL=="eth*", NAME="wan"
'';
</programlisting>
<warning><para>
The rule must be installed in the initrd using
<literal>services.udev.initrdRules</literal>, not the usual
<literal>services.udev.extraRules</literal> option. This is to avoid race
conditions with other programs controlling the interface.
</para></warning>
</section>
</section>

View File

@ -91,6 +91,16 @@
</para> </para>
<itemizedlist> <itemizedlist>
<listitem>
<para>
If you are using <option>services.udev.extraRules</option> to assign
custom names to network interfaces, this may stop working due to a change
in the initialisation of dhcpcd and systemd networkd. To avoid this, either
move them to <option>services.udev.initrdRules</option> or see the new
<link linkend="sec-custom-ifnames">Assigning custom names</link> section
of the NixOS manual for an example using networkd links.
</para>
</listitem>
<listitem> <listitem>
<para> <para>
The <literal>systemConfig</literal> kernel parameter is no longer added to boot loader entries. It has been unused since September 2010, but if do have a system generation from that era, you will now be unable to boot into them. The <literal>systemConfig</literal> kernel parameter is no longer added to boot loader entries. It has been unused since September 2010, but if do have a system generation from that era, you will now be unable to boot into them.

View File

@ -202,12 +202,26 @@ in
''; '';
}; };
extraRules = mkOption { initrdRules = mkOption {
default = ""; default = "";
example = '' example = ''
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:1D:60:B9:6D:4F", KERNEL=="eth*", NAME="my_fast_network_card" SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:1D:60:B9:6D:4F", KERNEL=="eth*", NAME="my_fast_network_card"
''; '';
type = types.lines; type = types.lines;
description = ''
<command>udev</command> rules to include in the initrd
<emphasis>only</emphasis>. They'll be written into file
<filename>99-local.rules</filename>. Thus they are read and applied
after the essential initrd rules.
'';
};
extraRules = mkOption {
default = "";
example = ''
ENV{ID_VENDOR_ID}=="046d", ENV{ID_MODEL_ID}=="0825", ENV{PULSE_IGNORE}="1"
'';
type = types.lines;
description = '' description = ''
Additional <command>udev</command> rules. They'll be written Additional <command>udev</command> rules. They'll be written
into file <filename>99-local.rules</filename>. Thus they are into file <filename>99-local.rules</filename>. Thus they are
@ -284,6 +298,13 @@ in
boot.kernelParams = mkIf (!config.networking.usePredictableInterfaceNames) [ "net.ifnames=0" ]; boot.kernelParams = mkIf (!config.networking.usePredictableInterfaceNames) [ "net.ifnames=0" ];
boot.initrd.extraUdevRulesCommands = optionalString (cfg.initrdRules != "")
''
cat <<'EOF' > $out/99-local.rules
${cfg.initrdRules}
EOF
'';
environment.etc = environment.etc =
{ {
"udev/rules.d".source = udevRules; "udev/rules.d".source = udevRules;

View File

@ -191,9 +191,8 @@ in
{ description = "DHCP Client"; { description = "DHCP Client";
wantedBy = [ "multi-user.target" ] ++ optional (!hasDefaultGatewaySet) "network-online.target"; wantedBy = [ "multi-user.target" ] ++ optional (!hasDefaultGatewaySet) "network-online.target";
wants = [ "network.target" "systemd-udev-settle.service" ]; wants = [ "network.target" ];
before = [ "network-online.target" ]; before = [ "network-online.target" ];
after = [ "systemd-udev-settle.service" ];
restartTriggers = [ exitHook ]; restartTriggers = [ exitHook ];

View File

@ -1553,9 +1553,6 @@ in
wantedBy = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ];
aliases = [ "dbus-org.freedesktop.network1.service" ]; aliases = [ "dbus-org.freedesktop.network1.service" ];
restartTriggers = map (x: x.source) (attrValues unitFiles); restartTriggers = map (x: x.source) (attrValues unitFiles);
# prevent race condition with interface renaming (#39069)
requires = [ "systemd-udev-settle.service" ];
after = [ "systemd-udev-settle.service" ];
}; };
systemd.services.systemd-networkd-wait-online = { systemd.services.systemd-networkd-wait-online = {

View File

@ -205,13 +205,22 @@ let
''; # */ ''; # */
# Networkd link files are used early by udev to set up interfaces early.
# This must be done in stage 1 to avoid race conditions between udev and
# network daemons.
linkUnits = pkgs.runCommand "link-units" { linkUnits = pkgs.runCommand "link-units" {
allowedReferences = [ extraUtils ]; allowedReferences = [ extraUtils ];
preferLocalBuild = true; preferLocalBuild = true;
} '' } (''
mkdir -p $out mkdir -p $out
cp -v ${udev}/lib/systemd/network/*.link $out/ cp -v ${udev}/lib/systemd/network/*.link $out/
''; '' + (
let
links = filterAttrs (n: v: hasSuffix ".link" n) config.systemd.network.units;
files = mapAttrsToList (n: v: "${v.unit}/${n}") links;
in
concatMapStringsSep "\n" (file: "cp -v ${file} $out/") files
));
udevRules = pkgs.runCommand "udev-rules" { udevRules = pkgs.runCommand "udev-rules" {
allowedReferences = [ extraUtils ]; allowedReferences = [ extraUtils ];

View File

@ -0,0 +1,36 @@
#!/usr/bin/env bash
set -euo pipefail
WGET() {
wget --retry-connrefused -t 15 --waitretry=10 --header='Metadata-Flavor: Google' "$@"
}
# When dealing with cryptographic keys, we want to keep things private.
umask 077
mkdir -p /root/.ssh
echo "Fetching authorized keys..."
WGET -O /tmp/auth_keys http://metadata.google.internal/computeMetadata/v1/instance/attributes/sshKeys
# Read keys one by one, split in case Google decided
# to append metadata (it does sometimes) and add to
# authorized_keys if not already present.
touch /root/.ssh/authorized_keys
while IFS='' read -r line || [[ -n "$line" ]]; do
keyLine=$(echo -n "$line" | cut -d ':' -f2)
IFS=' ' read -r -a array <<<"$keyLine"
if [[ ${#array[@]} -ge 3 ]]; then
echo "${array[@]:0:3}" >>/tmp/new_keys
echo "Added ${array[*]:2} to authorized_keys"
fi
done </tmp/auth_keys
mv /tmp/new_keys /root/.ssh/authorized_keys
chmod 600 /root/.ssh/authorized_keys
echo "Fetching host keys..."
WGET -O /tmp/ssh_host_ed25519_key http://metadata.google.internal/computeMetadata/v1/instance/attributes/ssh_host_ed25519_key
WGET -O /tmp/ssh_host_ed25519_key.pub http://metadata.google.internal/computeMetadata/v1/instance/attributes/ssh_host_ed25519_key_pub
mv -f /tmp/ssh_host_ed25519_key* /etc/ssh/
chmod 600 /etc/ssh/ssh_host_ed25519_key
chmod 644 /etc/ssh/ssh_host_ed25519_key.pub

View File

@ -69,6 +69,31 @@ in
# GC has 1460 MTU # GC has 1460 MTU
networking.interfaces.eth0.mtu = 1460; networking.interfaces.eth0.mtu = 1460;
# Used by NixOps
systemd.services.fetch-instance-ssh-keys = {
description = "Fetch host keys and authorized_keys for root user";
wantedBy = [ "sshd.service" ];
before = [ "sshd.service" ];
after = [ "network-online.target" ];
wants = [ "network-online.target" ];
path = [ pkgs.wget ];
serviceConfig = {
Type = "oneshot";
ExecStart = pkgs.runCommand "fetch-instance-ssh-keys" { } ''
cp ${./fetch-instance-ssh-keys.bash} $out
chmod +x $out
${pkgs.shfmt}/bin/shfmt -i 4 -d $out
${pkgs.shellcheck}/bin/shellcheck $out
patchShebangs $out
'';
PrivateTmp = true;
StandardError = "journal+console";
StandardOutput = "journal+console";
};
};
systemd.services.google-instance-setup = { systemd.services.google-instance-setup = {
description = "Google Compute Engine Instance Setup"; description = "Google Compute Engine Instance Setup";
after = [ "network-online.target" "network.target" "rsyslog.service" ]; after = [ "network-online.target" "network.target" "rsyslog.service" ];

View File

@ -35,7 +35,7 @@ let
extraConfig = flip concatMapStrings vlanIfs (n: '' extraConfig = flip concatMapStrings vlanIfs (n: ''
subnet 192.168.${toString n}.0 netmask 255.255.255.0 { subnet 192.168.${toString n}.0 netmask 255.255.255.0 {
option routers 192.168.${toString n}.1; option routers 192.168.${toString n}.1;
range 192.168.${toString n}.2 192.168.${toString n}.254; range 192.168.${toString n}.3 192.168.${toString n}.254;
} }
'') '')
; ;
@ -672,6 +672,30 @@ let
), "The IPv6 routing table has not been properly cleaned:\n{}".format(ipv6Residue) ), "The IPv6 routing table has not been properly cleaned:\n{}".format(ipv6Residue)
''; '';
}; };
rename = {
name = "RenameInterface";
machine = { pkgs, ... }: {
virtualisation.vlans = [ 1 ];
networking = {
useNetworkd = networkd;
useDHCP = false;
};
} //
(if networkd
then { systemd.network.links."10-custom_name" = {
matchConfig.MACAddress = "52:54:00:12:01:01";
linkConfig.Name = "custom_name";
};
}
else { services.udev.initrdRules = ''
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="52:54:00:12:01:01", KERNEL=="eth*", NAME="custom_name"
'';
});
testScript = ''
machine.succeed("udevadm settle")
print(machine.succeed("ip link show dev custom_name"))
'';
};
# even with disabled networkd, systemd.network.links should work # even with disabled networkd, systemd.network.links should work
# (as it's handled by udev, not networkd) # (as it's handled by udev, not networkd)
link = { link = {

View File

@ -1,5 +1,5 @@
{ ripgrep, git, fzf, makeWrapper, vim_configurable, vimPlugins, fetchFromGitHub { ripgrep, git, fzf, makeWrapper, vim_configurable, vimPlugins, fetchFromGitHub
, lib, stdenv, formats, spacevim_config ? import ./init.nix }: , lib, stdenv, formats, runCommand, spacevim_config ? import ./init.nix }:
let let
format = formats.toml {}; format = formats.toml {};
@ -10,28 +10,37 @@ let
# ~/.cache/vimfiles/repos # ~/.cache/vimfiles/repos
vimrcConfig.packages.myVimPackage = with vimPlugins; { start = [ ]; }; vimrcConfig.packages.myVimPackage = with vimPlugins; { start = [ ]; };
}; };
spacevimdir = format.generate "init.toml" spacevim_config; spacevimdir = runCommand "SpaceVim.d" { } ''
mkdir -p $out
cp ${format.generate "init.toml" spacevim_config} $out/init.toml
'';
in stdenv.mkDerivation rec { in stdenv.mkDerivation rec {
pname = "spacevim"; pname = "spacevim";
version = "1.5.0"; version = "1.6.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "SpaceVim"; owner = "SpaceVim";
repo = "SpaceVim"; repo = "SpaceVim";
rev = "v${version}"; rev = "v${version}";
sha256 = "1xw4l262x7wzs1m65bddwqf3qx4254ykddsw3c3p844pb3mzqhh7"; sha256 = "sha256-QQdtjEdbuzmf0Rw+u2ZltLihnJt8LqkfTrLDWLAnCLE=";
}; };
nativeBuildInputs = [ makeWrapper vim-customized]; nativeBuildInputs = [ makeWrapper vim-customized];
buildInputs = [ vim-customized ]; buildInputs = [ vim-customized ];
buildPhase = '' buildPhase = ''
runHook preBuild
# generate the helptags # generate the helptags
vim -u NONE -c "helptags $(pwd)/doc" -c q vim -u NONE -c "helptags $(pwd)/doc" -c q
runHook postBuild
''; '';
patches = [ ./helptags.patch ]; patches = [
# Don't generate helptags at runtime into read-only $SPACEVIMDIR
./helptags.patch
];
installPhase = '' installPhase = ''
runHook preInstall
mkdir -p $out/bin mkdir -p $out/bin
cp -r $(pwd) $out/SpaceVim cp -r $(pwd) $out/SpaceVim
@ -40,6 +49,7 @@ in stdenv.mkDerivation rec {
makeWrapper "${vim-customized}/bin/vim" "$out/bin/spacevim" \ makeWrapper "${vim-customized}/bin/vim" "$out/bin/spacevim" \
--add-flags "-u $out/SpaceVim/vimrc" --set SPACEVIMDIR "${spacevimdir}/" \ --add-flags "-u $out/SpaceVim/vimrc" --set SPACEVIMDIR "${spacevimdir}/" \
--prefix PATH : ${lib.makeBinPath [ fzf git ripgrep]} --prefix PATH : ${lib.makeBinPath [ fzf git ripgrep]}
runHook postInstall
''; '';
meta = with lib; { meta = with lib; {

View File

@ -2,7 +2,7 @@ diff --git a/autoload/SpaceVim.vim b/autoload/SpaceVim.vim
index 16688680..fcafd6f7 100644 index 16688680..fcafd6f7 100644
--- a/autoload/SpaceVim.vim --- a/autoload/SpaceVim.vim
+++ b/autoload/SpaceVim.vim +++ b/autoload/SpaceVim.vim
@@ -1255,13 +1255,6 @@ function! SpaceVim#end() abort @@ -1355,13 +1355,6 @@ function! SpaceVim#end() abort
let &helplang = 'jp' let &helplang = 'jp'
endif endif
"" ""

View File

@ -2,16 +2,16 @@
buildGoModule rec { buildGoModule rec {
pname = "hugo"; pname = "hugo";
version = "0.80.0"; version = "0.81.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "gohugoio"; owner = "gohugoio";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "0xs9y5lj0mya6ag625x8j91mn9l9r13gxaqxyvl1fl40y2yjz1zm"; sha256 = "sha256-9YroUxcLixu+MNL37JByCulCHv0WxWGwqBQ/+FGtZLw=";
}; };
vendorSha256 = "172mcs8p43bsdkd2hxg9qn6018fh8f36kxx0vgnq5q6fqsb6s1f6"; vendorSha256 = "sha256-5gQyoLirXajkzxKxzcuPnjECL2mJPiHS65lYkyIpKs8=";
doCheck = false; doCheck = false;

View File

@ -2,13 +2,13 @@
buildGoModule rec { buildGoModule rec {
pname = "ipfs"; pname = "ipfs";
version = "0.7.0"; version = "0.8.0";
rev = "v${version}"; rev = "v${version}";
# go-ipfs makes changes to it's source tarball that don't match the git source. # go-ipfs makes changes to it's source tarball that don't match the git source.
src = fetchurl { src = fetchurl {
url = "https://github.com/ipfs/go-ipfs/releases/download/${rev}/go-ipfs-source.tar.gz"; url = "https://github.com/ipfs/go-ipfs/releases/download/${rev}/go-ipfs-source.tar.gz";
sha256 = "1fkzwm4qxxpmbjammk6s5qcyjxivfa0ydqz4mpz1w756c4jq0jf3"; sha256 = "sha256-uK3+Ekr5AM6mmGmjFSj1Rotm5pbH657BYUlP9B39WEw=";
}; };
# tarball contains multiple files/directories # tarball contains multiple files/directories

View File

@ -63,12 +63,11 @@ let
defaultSource = lib.findFirst (sourceMatches "en-US") {} sources; defaultSource = lib.findFirst (sourceMatches "en-US") {} sources;
source = lib.findFirst (sourceMatches systemLocale) defaultSource sources; source = lib.findFirst (sourceMatches systemLocale) defaultSource sources;
name = "thunderbird-bin-${version}";
in in
stdenv.mkDerivation { stdenv.mkDerivation {
inherit name; pname = "thunderbird-bin";
inherit version;
src = fetchurl { src = fetchurl {
url = "https://download-installer.cdn.mozilla.net/pub/thunderbird/releases/${version}/${source.arch}/${source.locale}/thunderbird-${version}.tar.bz2"; url = "https://download-installer.cdn.mozilla.net/pub/thunderbird/releases/${version}/${source.arch}/${source.locale}/thunderbird-${version}.tar.bz2";
@ -169,7 +168,8 @@ stdenv.mkDerivation {
''; '';
passthru.updateScript = import ./../../browsers/firefox-bin/update.nix { passthru.updateScript = import ./../../browsers/firefox-bin/update.nix {
inherit name writeScript xidel coreutils gnused gnugrep curl gnupg runtimeShell; inherit writeScript xidel coreutils gnused gnugrep curl gnupg runtimeShell;
name = "thunderbird-bin-${version}";
baseName = "thunderbird"; baseName = "thunderbird";
channel = "release"; channel = "release";
basePath = "pkgs/applications/networking/mailreaders/thunderbird-bin"; basePath = "pkgs/applications/networking/mailreaders/thunderbird-bin";

View File

@ -214,7 +214,7 @@ stdenv.mkDerivation rec {
''; '';
homepage = "https://www.gtk.org/"; homepage = "https://www.gtk.org/";
license = licenses.lgpl2Plus; license = licenses.lgpl2Plus;
maintainers = with maintainers; [ raskin vcunat lethalman worldofpeace ]; maintainers = with maintainers; [ raskin lethalman worldofpeace ];
platforms = platforms.all; platforms = platforms.all;
changelog = "https://gitlab.gnome.org/GNOME/gtk/-/raw/${version}/NEWS"; changelog = "https://gitlab.gnome.org/GNOME/gtk/-/raw/${version}/NEWS";
}; };

View File

@ -226,7 +226,7 @@ stdenv.mkDerivation rec {
''; '';
homepage = "https://www.gtk.org/"; homepage = "https://www.gtk.org/";
license = licenses.lgpl2Plus; license = licenses.lgpl2Plus;
maintainers = with maintainers; [ raskin vcunat lethalman worldofpeace ]; maintainers = with maintainers; [ raskin lethalman worldofpeace ];
platforms = platforms.all; platforms = platforms.all;
changelog = "https://gitlab.gnome.org/GNOME/gtk/-/raw/${version}/NEWS"; changelog = "https://gitlab.gnome.org/GNOME/gtk/-/raw/${version}/NEWS";
}; };

View File

@ -0,0 +1,33 @@
From 8ac29b952e638ec1ea8c3734a3b91253e50c336d Mon Sep 17 00:00:00 2001
From: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
Date: Sun, 24 Jan 2021 21:10:29 -0800
Subject: [PATCH 4/4] Hack to address build failure when using newer macOS SDKs
with older deployment targets
Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
---
include/c11/threads_posix.h | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/include/c11/threads_posix.h b/include/c11/threads_posix.h
index 45cb6075e6e..355d725f7da 100644
--- a/include/c11/threads_posix.h
+++ b/include/c11/threads_posix.h
@@ -382,7 +382,13 @@ tss_set(tss_t key, void *val)
/*-------------------- 7.25.7 Time functions --------------------*/
// 7.25.6.1
-#ifndef HAVE_TIMESPEC_GET
+#if !defined(HAVE_TIMESPEC_GET) || defined(__APPLE__)
+
+#ifdef __APPLE__
+#include <time.h>
+#define timespec_get(ts, b) mesa_timespec_get(ts, b)
+#endif
+
static inline int
timespec_get(struct timespec *ts, int base)
{
--
2.29.2 (Apple Git-129)

View File

@ -65,6 +65,10 @@ stdenv.mkDerivation {
url = "https://gitlab.freedesktop.org/mesa/mesa/commit/aebbf819df6d1e.patch"; url = "https://gitlab.freedesktop.org/mesa/mesa/commit/aebbf819df6d1e.patch";
sha256 = "17248hyzg43d73c86p077m4lv1pkncaycr3l27hwv9k4ija9zl8q"; sha256 = "17248hyzg43d73c86p077m4lv1pkncaycr3l27hwv9k4ija9zl8q";
}) })
] ++ optionals (stdenv.isDarwin && stdenv.isAarch64) [
# Fix aarch64-darwin build, remove when upstreaam supports it out of the box.
# See: https://gitlab.freedesktop.org/mesa/mesa/-/issues/1020
./aarch64-darwin.patch
]; ];
postPatch = '' postPatch = ''

View File

@ -13,6 +13,7 @@
, glib , glib
, dbus , dbus
, alsaLib , alsaLib
, SDL2
, libjack2 , libjack2
, udev , udev
, libva , libva
@ -42,7 +43,7 @@ let
self = stdenv.mkDerivation rec { self = stdenv.mkDerivation rec {
pname = "pipewire"; pname = "pipewire";
version = "0.3.21"; version = "0.3.22";
outputs = [ outputs = [
"out" "out"
@ -60,7 +61,7 @@ let
owner = "pipewire"; owner = "pipewire";
repo = "pipewire"; repo = "pipewire";
rev = version; rev = version;
hash = "sha256:2YJzPTMPIoQQeNja3F53SD4gtpdSlbD/i77hBWiQfuQ="; hash = "sha256:1ywna5f5v8s79ivrqfwwc8vy6sn3a2zvfwqyalf1fypj5d90w8g9";
}; };
patches = [ patches = [
@ -86,6 +87,7 @@ let
alsaLib alsaLib
dbus dbus
glib glib
SDL2
libjack2 libjack2
libsndfile libsndfile
ncurses ncurses

View File

@ -17,11 +17,11 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "google-cloud-bigquery"; pname = "google-cloud-bigquery";
version = "2.8.0"; version = "2.9.0";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "c4c43f7f440d6e5bb2895d21122af5de65b487ea2c69cea466a516bb826ab921"; sha256 = "33fcbdf5567bdb7657fb3485f061e7f1b45361f65fdafc168ab9172117fd9a5a";
}; };
propagatedBuildInputs = [ propagatedBuildInputs = [

View File

@ -12,11 +12,11 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "google-cloud-container"; pname = "google-cloud-container";
version = "2.3.0"; version = "2.3.1";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "04f9mx1wxy3l9dvzvvr579fnjp1fdqhgplv5y2gl7h2mvn281k8d"; sha256 = "69e10c999c64996822aa2ca138cffcdf0f1e04bdbdb7206c286fa17fb800703a";
}; };
propagatedBuildInputs = [ google-api-core grpc_google_iam_v1 libcst proto-plus ]; propagatedBuildInputs = [ google-api-core grpc_google_iam_v1 libcst proto-plus ];

View File

@ -1,23 +1,31 @@
{ lib, buildPythonPackage, fetchPypi { lib
, samba, pkg-config , buildPythonPackage
, setuptools }: , fetchPypi
, samba
, pkg-config
}:
buildPythonPackage rec { buildPythonPackage rec {
version = "1.0.21";
pname = "pysmbc"; pname = "pysmbc";
version = "1.0.23";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
extension = "tar.bz2"; sha256 = "1y0n1n6jkzf4mr5lqfc73l2m0qp56gvxwfjnx2vj8c0hh5i1gnq8";
sha256 = "14b75f358ical7zzqh3g1qkh2dxwxn2gz7sah5f5svndqkd3z8jy";
}; };
nativeBuildInputs = [ pkg-config ]; nativeBuildInputs = [ pkg-config ];
buildInputs = [ setuptools samba ];
buildInputs = [ samba ];
# Tests would require a local SMB server
doCheck = false;
pythonImportsCheck = [ "smbc" ];
meta = with lib; { meta = with lib; {
description = "libsmbclient binding for Python"; description = "libsmbclient binding for Python";
homepage = "https://github.com/hamano/pysmbc"; homepage = "https://github.com/hamano/pysmbc";
license = licenses.gpl2Plus; license = with licenses; [ gpl2Plus ];
maintainers = with maintainers; [ fab ];
}; };
} }

View File

@ -0,0 +1,30 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, requests
}:
buildPythonPackage rec {
pname = "yalesmartalarmclient";
version = "0.3.1";
src = fetchFromGitHub {
owner = "domwillcode";
repo = "yale-smart-alarm-client";
rev = "v${version}";
sha256 = "0fscp9n66h8a8khvjs2rjgm95xsdckpknadnyxqdmhw3hlj0aw6h";
};
propagatedBuildInputs = [ requests ];
# Project has no tests
doCheck = false;
pythonImportsCheck = [ "yalesmartalarmclient" ];
meta = with lib; {
description = "Python module to interface with Yale Smart Alarm Systems";
homepage = "https://github.com/mampfes/python-wiffi";
license = with licenses; [ asl20 ];
maintainers = with maintainers; [ fab ];
};
}

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "sumneko-lua-language-server"; pname = "sumneko-lua-language-server";
version = "1.11.2"; version = "1.16.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "sumneko"; owner = "sumneko";
repo = "lua-language-server"; repo = "lua-language-server";
rev = version; rev = version;
sha256 = "1cnzwfqmzlzi6797l37arhhx2l6wsvs3jjgxdxwdbgq3rfz1ncr8"; sha256 = "1fqhvmz7a4qgz3zq6qgpcjhhhm2j4wpx0385n3zcphd9h9s3a9xa";
fetchSubmodules = true; fetchSubmodules = true;
}; };

View File

@ -953,7 +953,7 @@
"xiaomi_tv" = ps: with ps; [ ]; # missing inputs: pymitv "xiaomi_tv" = ps: with ps; [ ]; # missing inputs: pymitv
"xmpp" = ps: with ps; [ slixmpp ]; "xmpp" = ps: with ps; [ slixmpp ];
"xs1" = ps: with ps; [ ]; # missing inputs: xs1-api-client "xs1" = ps: with ps; [ ]; # missing inputs: xs1-api-client
"yale_smart_alarm" = ps: with ps; [ ]; # missing inputs: yalesmartalarmclient "yale_smart_alarm" = ps: with ps; [ yalesmartalarmclient ];
"yamaha" = ps: with ps; [ rxv ]; "yamaha" = ps: with ps; [ rxv ];
"yamaha_musiccast" = ps: with ps; [ ]; # missing inputs: pymusiccast "yamaha_musiccast" = ps: with ps; [ ]; # missing inputs: pymusiccast
"yandex_transport" = ps: with ps; [ ]; # missing inputs: aioymaps "yandex_transport" = ps: with ps; [ ]; # missing inputs: aioymaps

View File

@ -6,13 +6,13 @@
python3Packages.buildPythonApplication rec { python3Packages.buildPythonApplication rec {
pname = "xandikos"; pname = "xandikos";
version = "0.2.3"; version = "0.2.5";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "jelmer"; owner = "jelmer";
repo = "xandikos"; repo = "xandikos";
rev = "v${version}"; rev = "v${version}";
sha256 = "1x0bylmdizirvlcn6ryd43lffpmlq0cklj3jz956scmxgq4p6wby"; sha256 = "sha256-/pr8ZqgYk24CdJNAETCDF4ZtufXkVEu1Zw25PcPEo7M=";
}; };
propagatedBuildInputs = with python3Packages; [ propagatedBuildInputs = with python3Packages; [

View File

@ -1,4 +1,4 @@
# frozen_string_literal: true # frozen_string_literal: true
source "https://rubygems.org" source "https://rubygems.org"
gem "metasploit-framework", git: "https://github.com/rapid7/metasploit-framework", ref: "refs/tags/6.0.30" gem "metasploit-framework", git: "https://github.com/rapid7/metasploit-framework", ref: "refs/tags/6.0.31"

View File

@ -1,9 +1,9 @@
GIT GIT
remote: https://github.com/rapid7/metasploit-framework remote: https://github.com/rapid7/metasploit-framework
revision: f444c3995f21f9e9eaba63d465fac7d60ba88ebb revision: 56ef940a085620b127d61a516bc10241a795f92b
ref: refs/tags/6.0.30 ref: refs/tags/6.0.31
specs: specs:
metasploit-framework (6.0.30) metasploit-framework (6.0.31)
actionpack (~> 5.2.2) actionpack (~> 5.2.2)
activerecord (~> 5.2.2) activerecord (~> 5.2.2)
activesupport (~> 5.2.2) activesupport (~> 5.2.2)
@ -124,7 +124,7 @@ GEM
arel-helpers (2.12.0) arel-helpers (2.12.0)
activerecord (>= 3.1.0, < 7) activerecord (>= 3.1.0, < 7)
aws-eventstream (1.1.0) aws-eventstream (1.1.0)
aws-partitions (1.427.0) aws-partitions (1.428.0)
aws-sdk-core (3.112.0) aws-sdk-core (3.112.0)
aws-eventstream (~> 1, >= 1.0.2) aws-eventstream (~> 1, >= 1.0.2)
aws-partitions (~> 1, >= 1.239.0) aws-partitions (~> 1, >= 1.239.0)
@ -215,7 +215,7 @@ GEM
activesupport (~> 5.2.2) activesupport (~> 5.2.2)
railties (~> 5.2.2) railties (~> 5.2.2)
metasploit-payloads (2.0.28) metasploit-payloads (2.0.28)
metasploit_data_models (4.1.1) metasploit_data_models (4.1.2)
activerecord (~> 5.2.2) activerecord (~> 5.2.2)
activesupport (~> 5.2.2) activesupport (~> 5.2.2)
arel-helpers arel-helpers
@ -224,6 +224,7 @@ GEM
pg pg
railties (~> 5.2.2) railties (~> 5.2.2)
recog (~> 2.0) recog (~> 2.0)
webrick
metasploit_payloads-mettle (1.0.6) metasploit_payloads-mettle (1.0.6)
method_source (1.0.0) method_source (1.0.0)
mini_portile2 (2.5.0) mini_portile2 (2.5.0)
@ -326,7 +327,7 @@ GEM
rex-text rex-text
rex-socket (0.1.25) rex-socket (0.1.25)
rex-core rex-core
rex-sslscan (0.1.5) rex-sslscan (0.1.6)
rex-core rex-core
rex-socket rex-socket
rex-text rex-text

View File

@ -8,13 +8,13 @@ let
}; };
in stdenv.mkDerivation rec { in stdenv.mkDerivation rec {
pname = "metasploit-framework"; pname = "metasploit-framework";
version = "6.0.30"; version = "6.0.31";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "rapid7"; owner = "rapid7";
repo = "metasploit-framework"; repo = "metasploit-framework";
rev = version; rev = version;
sha256 = "sha256-DD/nFbSNs3nVNe+W+5zAmDlvMCseYuWWpKX9Dp+9Etc="; sha256 = "sha256-wt7VeS8NnmJHMhry/68W1S1f9jUnsSHnhUSrCQN1qNM=";
}; };
nativeBuildInputs = [ makeWrapper ]; nativeBuildInputs = [ makeWrapper ];

View File

@ -114,10 +114,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1v7dwyqkwdbp4f627y459lj22vimjzwhk2z987bcncq2ml7ldrfz"; sha256 = "13rvpllihvpksf1jqwa2i5vbv2hhb34viaidw4rkxr3dyygkdpj8";
type = "gem"; type = "gem";
}; };
version = "1.427.0"; version = "1.428.0";
}; };
aws-sdk-core = { aws-sdk-core = {
groups = ["default"]; groups = ["default"];
@ -524,12 +524,12 @@
platforms = []; platforms = [];
source = { source = {
fetchSubmodules = false; fetchSubmodules = false;
rev = "f444c3995f21f9e9eaba63d465fac7d60ba88ebb"; rev = "56ef940a085620b127d61a516bc10241a795f92b";
sha256 = "1mqjpnghxzd5ljbfaqhy5cq6yfcqq2fgp5pg6papkcwdnhayfgqc"; sha256 = "1lx8fl1hkas4hpkj3c976pv5ybfm2spzzwhs693n57hd5xwxbpn2";
type = "git"; type = "git";
url = "https://github.com/rapid7/metasploit-framework"; url = "https://github.com/rapid7/metasploit-framework";
}; };
version = "6.0.30"; version = "6.0.31";
}; };
metasploit-model = { metasploit-model = {
groups = ["default"]; groups = ["default"];
@ -556,10 +556,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1czqg49b7n9n2iqp6r4f1cxh8kd39gbjvydq09hzmzdmkwxh3x1f"; sha256 = "1kzlvq20ml4b5lr1qbrkmivdi37mxi8fasdqg4yla2libfbdz008";
type = "gem"; type = "gem";
}; };
version = "4.1.1"; version = "4.1.2";
}; };
metasploit_payloads-mettle = { metasploit_payloads-mettle = {
groups = ["default"]; groups = ["default"];
@ -1086,10 +1086,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "06gbx45q653ajcx099p0yxdqqxazfznbrqshd4nwiwg1p498lmyx"; sha256 = "0r58n1ifbay1gq3kln9yg5iqjwp69l0pmb9sqakhqwhjlhzqx2kr";
type = "gem"; type = "gem";
}; };
version = "0.1.5"; version = "0.1.6";
}; };
rex-struct2 = { rex-struct2 = {
groups = ["default"]; groups = ["default"];

View File

@ -8512,6 +8512,8 @@ in {
yahooweather = callPackage ../development/python-modules/yahooweather { }; yahooweather = callPackage ../development/python-modules/yahooweather { };
yalesmartalarmclient = callPackage ../development/python-modules/yalesmartalarmclient { };
yamale = callPackage ../development/python-modules/yamale { }; yamale = callPackage ../development/python-modules/yamale { };
yamllint = callPackage ../development/python-modules/yamllint { }; yamllint = callPackage ../development/python-modules/yamllint { };