Merge master into staging-next

This commit is contained in:
github-actions[bot] 2021-04-22 18:14:27 +00:00 committed by GitHub
commit b95da5efb6
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
37 changed files with 229 additions and 405 deletions

View file

@ -10,7 +10,6 @@ with lib;
system.build.cloudstackImage = import ../../../lib/make-disk-image.nix {
inherit lib config pkgs;
diskSize = 8192;
format = "qcow2";
configFile = pkgs.writeText "configuration.nix"
''

View file

@ -40,8 +40,9 @@ in {
};
sizeMB = mkOption {
type = types.int;
default = if config.ec2.hvm then 2048 else 8192;
type = with types; either (enum [ "auto" ]) int;
default = "auto";
example = 8192;
description = "The size in MB of the image";
};

View file

@ -12,8 +12,8 @@ with lib;
system.build.openstackImage = import ../../../lib/make-disk-image.nix {
inherit lib config;
additionalSpace = "1024M";
pkgs = import ../../../.. { inherit (pkgs) system; }; # ensure we use the regular qemu-kvm package
diskSize = 8192;
format = "qcow2";
configFile = pkgs.writeText "configuration.nix"
''

View file

@ -6,6 +6,12 @@ let
ids = config.ids;
cfg = config.users;
isPasswdCompatible = str: !(hasInfix ":" str || hasInfix "\n" str);
passwdEntry = type: lib.types.addCheck type isPasswdCompatible // {
name = "passwdEntry ${type.name}";
description = "${type.description}, not containing newlines or colons";
};
# Check whether a password hash will allow login.
allowsLogin = hash:
hash == "" # login without password
@ -54,7 +60,7 @@ let
options = {
name = mkOption {
type = types.str;
type = passwdEntry types.str;
apply = x: assert (builtins.stringLength x < 32 || abort "Username '${x}' is longer than 31 characters which is not allowed!"); x;
description = ''
The name of the user account. If undefined, the name of the
@ -63,7 +69,7 @@ let
};
description = mkOption {
type = types.str;
type = passwdEntry types.str;
default = "";
example = "Alice Q. User";
description = ''
@ -128,7 +134,7 @@ let
};
home = mkOption {
type = types.path;
type = passwdEntry types.path;
default = "/var/empty";
description = "The user's home directory.";
};
@ -157,7 +163,7 @@ let
};
shell = mkOption {
type = types.nullOr (types.either types.shellPackage types.path);
type = types.nullOr (types.either types.shellPackage (passwdEntry types.path));
default = pkgs.shadow;
defaultText = "pkgs.shadow";
example = literalExample "pkgs.bashInteractive";
@ -217,7 +223,7 @@ let
};
hashedPassword = mkOption {
type = with types; nullOr str;
type = with types; nullOr (passwdEntry str);
default = null;
description = ''
Specifies the hashed password for the user.
@ -251,7 +257,7 @@ let
};
initialHashedPassword = mkOption {
type = with types; nullOr str;
type = with types; nullOr (passwdEntry str);
default = null;
description = ''
Specifies the initial hashed password for the user, i.e. the
@ -323,7 +329,7 @@ let
options = {
name = mkOption {
type = types.str;
type = passwdEntry types.str;
description = ''
The name of the group. If undefined, the name of the attribute set
will be used.
@ -340,7 +346,7 @@ let
};
members = mkOption {
type = with types; listOf str;
type = with types; listOf (passwdEntry str);
default = [];
description = ''
The user names of the group members, added to the

View file

@ -770,7 +770,6 @@
./services/networking/prayer.nix
./services/networking/privoxy.nix
./services/networking/prosody.nix
./services/networking/quagga.nix
./services/networking/quassel.nix
./services/networking/quorum.nix
./services/networking/quicktun.nix

View file

@ -18,6 +18,7 @@ with lib;
# Completely removed modules
(mkRemovedOptionModule [ "fonts" "fontconfig" "penultimate" ] "The corresponding package has removed from nixpkgs.")
(mkRemovedOptionModule [ "services" "quagga" ] "the corresponding package has been removed from nixpkgs")
(mkRemovedOptionModule [ "services" "chronos" ] "The corresponding package was removed from nixpkgs.")
(mkRemovedOptionModule [ "services" "deepin" ] "The corresponding packages were removed from nixpkgs.")
(mkRemovedOptionModule [ "services" "firefox" "syncserver" "user" ] "")

View file

@ -1,185 +0,0 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.services.quagga;
services = [ "babel" "bgp" "isis" "ospf6" "ospf" "pim" "rip" "ripng" ];
allServices = services ++ [ "zebra" ];
isEnabled = service: cfg.${service}.enable;
daemonName = service: if service == "zebra" then service else "${service}d";
configFile = service:
let
scfg = cfg.${service};
in
if scfg.configFile != null then scfg.configFile
else pkgs.writeText "${daemonName service}.conf"
''
! Quagga ${daemonName service} configuration
!
hostname ${config.networking.hostName}
log syslog
service password-encryption
!
${scfg.config}
!
end
'';
serviceOptions = service:
{
enable = mkEnableOption "the Quagga ${toUpper service} routing protocol";
configFile = mkOption {
type = types.nullOr types.path;
default = null;
example = "/etc/quagga/${daemonName service}.conf";
description = ''
Configuration file to use for Quagga ${daemonName service}.
By default the NixOS generated files are used.
'';
};
config = mkOption {
type = types.lines;
default = "";
example =
let
examples = {
rip = ''
router rip
network 10.0.0.0/8
'';
ospf = ''
router ospf
network 10.0.0.0/8 area 0
'';
bgp = ''
router bgp 65001
neighbor 10.0.0.1 remote-as 65001
'';
};
in
examples.${service} or "";
description = ''
${daemonName service} configuration statements.
'';
};
vtyListenAddress = mkOption {
type = types.str;
default = "127.0.0.1";
description = ''
Address to bind to for the VTY interface.
'';
};
vtyListenPort = mkOption {
type = types.nullOr types.int;
default = null;
description = ''
TCP Port to bind to for the VTY interface.
'';
};
};
in
{
###### interface
imports = [
{
options.services.quagga = {
zebra = (serviceOptions "zebra") // {
enable = mkOption {
type = types.bool;
default = any isEnabled services;
description = ''
Whether to enable the Zebra routing manager.
The Zebra routing manager is automatically enabled
if any routing protocols are configured.
'';
};
};
};
}
{ options.services.quagga = (genAttrs services serviceOptions); }
];
###### implementation
config = mkIf (any isEnabled allServices) {
environment.systemPackages = [
pkgs.quagga # for the vtysh tool
];
users.users.quagga = {
description = "Quagga daemon user";
isSystemUser = true;
group = "quagga";
};
users.groups = {
quagga = {};
# Members of the quaggavty group can use vtysh to inspect the Quagga daemons
quaggavty = { members = [ "quagga" ]; };
};
systemd.services =
let
quaggaService = service:
let
scfg = cfg.${service};
daemon = daemonName service;
in
nameValuePair daemon ({
wantedBy = [ "multi-user.target" ];
restartTriggers = [ (configFile service) ];
serviceConfig = {
Type = "forking";
PIDFile = "/run/quagga/${daemon}.pid";
ExecStart = "@${pkgs.quagga}/libexec/quagga/${daemon} ${daemon} -d -f ${configFile service}"
+ optionalString (scfg.vtyListenAddress != "") " -A ${scfg.vtyListenAddress}"
+ optionalString (scfg.vtyListenPort != null) " -P ${toString scfg.vtyListenPort}";
ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
Restart = "on-abort";
};
} // (
if service == "zebra" then
{
description = "Quagga Zebra routing manager";
unitConfig.Documentation = "man:zebra(8)";
after = [ "network.target" ];
preStart = ''
install -m 0755 -o quagga -g quagga -d /run/quagga
${pkgs.iproute2}/bin/ip route flush proto zebra
'';
}
else
{
description = "Quagga ${toUpper service} routing daemon";
unitConfig.Documentation = "man:${daemon}(8) man:zebra(8)";
bindsTo = [ "zebra.service" ];
after = [ "network.target" "zebra.service" ];
}
));
in
listToAttrs (map quaggaService (filter isEnabled allServices));
};
meta.maintainers = with lib.maintainers; [ ];
}

View file

@ -9,8 +9,9 @@ in
options = {
virtualisation.azureImage.diskSize = mkOption {
type = with types; int;
default = 2048;
type = with types; either (enum [ "auto" ]) int;
default = "auto";
example = 2048;
description = ''
Size of disk image. Unit is MB.
'';

View file

@ -10,8 +10,9 @@ in
options = {
virtualisation.digitalOceanImage.diskSize = mkOption {
type = with types; int;
default = 4096;
type = with types; either (enum [ "auto" ]) int;
default = "auto";
example = 4096;
description = ''
Size of disk image. Unit is MB.
'';

View file

@ -18,8 +18,9 @@ in
options = {
virtualisation.googleComputeImage.diskSize = mkOption {
type = with types; int;
default = 1536;
type = with types; either (enum [ "auto" ]) int;
default = "auto";
example = 1536;
description = ''
Size of disk image. Unit is MB.
'';

View file

@ -9,8 +9,9 @@ in {
options = {
hyperv = {
baseImageSize = mkOption {
type = types.int;
default = 2048;
type = with types; either (enum [ "auto" ]) int;
default = "auto";
example = 2048;
description = ''
The size of the hyper-v base image in MiB.
'';

View file

@ -11,8 +11,9 @@ in {
options = {
virtualbox = {
baseImageSize = mkOption {
type = types.int;
default = 50 * 1024;
type = with types; either (enum [ "auto" ]) int;
default = "auto";
example = 50 * 1024;
description = ''
The size of the VirtualBox base image in MiB.
'';

View file

@ -18,8 +18,9 @@ in {
options = {
vmware = {
baseImageSize = mkOption {
type = types.int;
default = 2048;
type = with types; either (enum [ "auto" ]) int;
default = "auto";
example = 2048;
description = ''
The size of the VMWare base image in MiB.
'';

View file

@ -343,7 +343,6 @@ in
proxy = handleTest ./proxy.nix {};
pt2-clone = handleTest ./pt2-clone.nix {};
qboot = handleTestOn ["x86_64-linux" "i686-linux"] ./qboot.nix {};
quagga = handleTest ./quagga.nix {};
quorum = handleTest ./quorum.nix {};
rabbitmq = handleTest ./rabbitmq.nix {};
radarr = handleTest ./radarr.nix {};

View file

@ -1,96 +0,0 @@
# This test runs Quagga and checks if OSPF routing works.
#
# Network topology:
# [ client ]--net1--[ router1 ]--net2--[ router2 ]--net3--[ server ]
#
# All interfaces are in OSPF Area 0.
import ./make-test-python.nix ({ pkgs, ... }:
let
ifAddr = node: iface: (pkgs.lib.head node.config.networking.interfaces.${iface}.ipv4.addresses).address;
ospfConf = ''
interface eth2
ip ospf hello-interval 1
ip ospf dead-interval 5
!
router ospf
network 192.168.0.0/16 area 0
'';
in
{
name = "quagga";
meta = with pkgs.lib.maintainers; {
maintainers = [ ];
};
nodes = {
client =
{ nodes, ... }:
{
virtualisation.vlans = [ 1 ];
networking.defaultGateway = ifAddr nodes.router1 "eth1";
};
router1 =
{ ... }:
{
virtualisation.vlans = [ 1 2 ];
boot.kernel.sysctl."net.ipv4.ip_forward" = "1";
networking.firewall.extraCommands = "iptables -A nixos-fw -i eth2 -p ospf -j ACCEPT";
services.quagga.ospf = {
enable = true;
config = ospfConf;
};
};
router2 =
{ ... }:
{
virtualisation.vlans = [ 3 2 ];
boot.kernel.sysctl."net.ipv4.ip_forward" = "1";
networking.firewall.extraCommands = "iptables -A nixos-fw -i eth2 -p ospf -j ACCEPT";
services.quagga.ospf = {
enable = true;
config = ospfConf;
};
};
server =
{ nodes, ... }:
{
virtualisation.vlans = [ 3 ];
networking.defaultGateway = ifAddr nodes.router2 "eth1";
networking.firewall.allowedTCPPorts = [ 80 ];
services.httpd.enable = true;
services.httpd.adminAddr = "foo@example.com";
};
};
testScript =
{ ... }:
''
start_all()
# Wait for the networking to start on all machines
for machine in client, router1, router2, server:
machine.wait_for_unit("network.target")
with subtest("Wait for OSPF to form adjacencies"):
for gw in router1, router2:
gw.wait_for_unit("ospfd")
gw.wait_until_succeeds("vtysh -c 'show ip ospf neighbor' | grep Full")
gw.wait_until_succeeds("vtysh -c 'show ip route' | grep '^O>'")
with subtest("Test ICMP"):
client.wait_until_succeeds("ping -c 3 server >&2")
with subtest("Test whether HTTP works"):
server.wait_for_unit("httpd")
client.succeed("curl --fail http://server/ >&2")
'';
})

View file

@ -55,6 +55,7 @@ let majorVersion = "8";
patches =
optional (targetPlatform != hostPlatform) ../libstdc++-target.patch
++ optional targetPlatform.isNetBSD ../libstdc++-netbsd-ctypes.patch
++ optional noSysDirs ../no-sys-dirs.patch
/* ++ optional (hostPlatform != buildPlatform) (fetchpatch { # XXX: Refine when this should be applied
url = "https://git.busybox.net/buildroot/plain/package/gcc/${version}/0900-remove-selftests.patch?id=11271540bfe6adafbc133caf6b5b902a816f5f02";

View file

@ -70,6 +70,7 @@ let majorVersion = "9";
# This patch can most likely be removed by a post 9.3.0-release.
[ ./avoid-cycling-subreg-reloads.patch ]
++ optional (targetPlatform != hostPlatform) ../libstdc++-target.patch
++ optional targetPlatform.isNetBSD ../libstdc++-netbsd-ctypes.patch
++ optional noSysDirs ../no-sys-dirs.patch
/* ++ optional (hostPlatform != buildPlatform) (fetchpatch { # XXX: Refine when this should be applied
url = "https://git.busybox.net/buildroot/plain/package/gcc/${version}/0900-remove-selftests.patch?id=11271540bfe6adafbc133caf6b5b902a816f5f02";

View file

@ -1,7 +1,7 @@
{ lib, stdenv, fetchFromGitLab, cmake, gfortran, perl }:
let
version = "5.1.2";
version = "5.1.3";
in stdenv.mkDerivation {
pname = "libxc";
@ -11,7 +11,7 @@ in stdenv.mkDerivation {
owner = "libxc";
repo = "libxc";
rev = version;
sha256 = "1bcj7x0kaal62m41v9hxb4h1d2cxs2ynvsfqqg7c5yi7829nvapb";
sha256 = "14czspifznsmvvix5hcm1rk18iy590qk8p5m00p0y032gmn9i2zj";
};
buildInputs = [ gfortran ];
@ -28,7 +28,6 @@ in stdenv.mkDerivation {
'';
doCheck = true;
enableParallelBuilding = true;
meta = with lib; {
description = "Library of exchange-correlation functionals for density-functional theory";

View file

@ -13,14 +13,14 @@
buildPythonPackage rec {
pname = "brother";
version = "0.2.2";
version = "1.0.0";
disabled = pythonOlder "3.8";
src = fetchFromGitHub {
owner = "bieniu";
repo = pname;
rev = version;
sha256 = "sha256-vIefcL3K3ZbAUxMFM7gbbTFdrnmufWZHcq4OA19SYXE=";
sha256 = "sha256-0NfqPlQiOkNhR+H55E9LE4dGa9R8vcSyPNbbIeiRJV8=";
};
postPatch = ''

View file

@ -0,0 +1,49 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, capstone
, pyelftools
, tlsh
, nose
}:
buildPythonPackage {
pname = "telfhash";
version = "unstable-2021-01-29";
src = fetchFromGitHub {
owner = "trendmicro";
repo = "telfhash";
rev = "b5e398e59dc25a56a28861751c1fccc74ef71617";
sha256 = "jNu6qm8Q/UyJVaCqwFOPX02xAR5DwvCK3PaH6Fvmakk=";
};
# The tlsh library's name is just "tlsh"
postPatch = ''
substituteInPlace requirements.txt --replace "python-tlsh" "tlsh"
'';
propagatedBuildInputs = [
capstone
pyelftools
tlsh
];
checkInputs = [
nose
];
checkPhase = ''
nosetests
'';
pythonImportsCheck = [
"telfhash"
];
meta = with lib; {
description = "Symbol hash for ELF files";
homepage = "https://github.com/trendmicro/telfhash";
license = licenses.asl20;
maintainers = teams.determinatesystems.members;
};
}

View file

@ -0,0 +1,40 @@
{ lib
, aiohttp
, buildPythonPackage
, fetchFromGitHub
, pytest-aiohttp
, pytestCheckHook
, pythonOlder
}:
buildPythonPackage rec {
pname = "zwave-js-server-python";
version = "0.23.1";
disabled = pythonOlder "3.8";
src = fetchFromGitHub {
owner = "home-assistant-libs";
repo = pname;
rev = version;
sha256 = "0kmmhn357k22ana0ysd8jlz1fyfaqlc8k74ryaik0rrw7nmn1n11";
};
propagatedBuildInputs = [
aiohttp
];
checkInputs = [
pytest-aiohttp
pytestCheckHook
];
pythonImportsCheck = [ "zwave_js_server" ];
meta = with lib; {
description = "Python wrapper for zwave-js-server";
homepage = "https://github.com/home-assistant-libs/zwave-js-server-python";
license = with licenses; [ asl20 ];
maintainers = with maintainers; [ fab ];
};
}

View file

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "gotestsum";
version = "1.6.3";
version = "1.6.4";
src = fetchFromGitHub {
owner = "gotestyourself";
repo = "gotestsum";
rev = "v${version}";
sha256 = "sha256-xUDhJLTO3JZ7rlUUzcypUev60qmRK9zOlO2VYeXqT4o=";
sha256 = "sha256-5iSUk/J73enbc/N3bn7M4oj2A0yoF1jTWpnXD380hFI=";
};
vendorSha256 = "sha256-sHi8iW+ZV/coeAwDUYnSH039UNtUO9HK0Bhz9Gmtv8k=";

View file

@ -71,6 +71,35 @@ let
in
lib.mapAttrs change grammars;
# Usage:
# pkgs.tree-sitter.withPlugins (p: [ p.tree-sitter-c p.tree-sitter-java ... ])
#
# or for all grammars:
# pkgs.tree-sitter.withPlugins (_: allGrammars)
# which is equivalent to
# pkgs.tree-sitter.withPlugins (p: builtins.attrValues p)
withPlugins = grammarFn:
let
grammars = grammarFn builtGrammars;
in
linkFarm "grammars"
(map
(drv:
let
name = lib.strings.getName drv;
in
{
name =
(lib.strings.removePrefix "tree-sitter-"
(lib.strings.removeSuffix "-grammar" name))
+ stdenv.hostPlatform.extensions.sharedLibrary;
path = "${drv}/parser";
}
)
grammars);
allGrammars = builtins.attrValues builtGrammars;
in
rustPlatform.buildRustPackage {
pname = "tree-sitter";
@ -111,7 +140,7 @@ rustPlatform.buildRustPackage {
updater = {
inherit update-all-grammars;
};
inherit grammars builtGrammars;
inherit grammars builtGrammars withPlugins allGrammars;
tests = {
# make sure all grammars build

View file

@ -5,6 +5,7 @@
, rust
, rustPlatform
, installShellFiles
, libiconv
, libobjc
, Security
, CoreServices
@ -28,7 +29,7 @@ rustPlatform.buildRustPackage rec {
# Install completions post-install
nativeBuildInputs = [ installShellFiles ];
buildInputs = lib.optionals stdenv.isDarwin [ libobjc Security CoreServices Metal Foundation ];
buildInputs = lib.optionals stdenv.isDarwin [ libiconv libobjc Security CoreServices Metal Foundation ];
# The rusty_v8 package will try to download a `librusty_v8.a` release at build time to our read-only filesystem
# To avoid this we pre-download the file and place it in the locations it will require it in advance

View file

@ -50,6 +50,9 @@
, CoreFoundation
, CoreServices
# nvim-treesitter dependencies
, tree-sitter
# sved dependencies
, glib
, gobject-introspection
@ -364,6 +367,24 @@ self: super: {
dependencies = with super; [ popfix ];
});
# Usage:
# pkgs.vimPlugins.nvim-treesitter.withPlugins (p: [ p.tree-sitter-c p.tree-sitter-java ... ])
# or for all grammars:
# pkgs.vimPlugins.nvim-treesitter.withPlugins (_: tree-sitter.allGrammars)
nvim-treesitter = super.nvim-treesitter.overrideAttrs (old: {
passthru.withPlugins =
grammarFn: self.nvim-treesitter.overrideAttrs (_: {
postPatch =
let
grammars = tree-sitter.withPlugins grammarFn;
in
''
rm -r parser
ln -s ${grammars} parser
'';
});
});
onehalf = super.onehalf.overrideAttrs (old: {
configurePhase = "cd vim";
});

View file

@ -20,17 +20,17 @@ let
in
stdenv.mkDerivation rec {
pname = "displaylink";
version = "5.3.1.34";
version = "5.4.0-55.153";
src = requireFile rec {
name = "displaylink.zip";
sha256 = "1c1kbjgpb71f73qnyl44rvwi6l4ivddq789rwvvh0ahw2jm324hy";
sha256 = "1m2l3bnlfwfp94w7khr05npsbysg9mcyi7hi85n78xkd0xdcxml8";
message = ''
In order to install the DisplayLink drivers, you must first
comply with DisplayLink's EULA and download the binaries and
sources from here:
https://www.displaylink.com/downloads/file?id=1576
https://www.synaptics.com/node/3751
Once you have downloaded the file, please use the following
commands and re-run the installation:

View file

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "evdi";
version = "v1.7.2";
version = "unstable-20210401";
src = fetchFromGitHub {
owner = "DisplayLink";
repo = pname;
rev = version;
sha256 = "074j0xh037n8mc4isihfz9lap57wvxaxib32pvy6jhjl3wyik632";
rev = "b0b3d131b26df62664ca33775679eea7b70c47b1";
sha256 = "09apbvdc78bbqzja9z3b1wrwmqkv3k7cn3lll5gsskxjnqbhxk9y";
};
nativeBuildInputs = kernel.moduleBuildDependencies;
@ -33,6 +33,6 @@ stdenv.mkDerivation rec {
platforms = platforms.linux;
license = with licenses; [ lgpl21 gpl2 ];
homepage = "https://www.displaylink.com/";
broken = versionOlder kernel.version "4.9" || stdenv.isAarch64;
broken = versionOlder kernel.version "4.19" || stdenv.isAarch64;
};
}

View file

@ -984,6 +984,6 @@
"zone" = ps: with ps; [ ];
"zoneminder" = ps: with ps; [ zm-py ];
"zwave" = ps: with ps; [ aiohttp-cors homeassistant-pyozw paho-mqtt pydispatcher python-openzwave-mqtt ];
"zwave_js" = ps: with ps; [ aiohttp-cors ]; # missing inputs: zwave-js-server-python
"zwave_js" = ps: with ps; [ aiohttp-cors zwave-js-server-python ];
};
}

View file

@ -27,6 +27,19 @@ let
(mkOverride "astral" "1.10.1"
"d2a67243c4503131c856cafb1b1276de52a86e5b8a1d507b7e08bee51cb67bf1")
# Pinned due to API changes in brother>=1.0, remove >= 2021.5
(self: super: {
brother = super.brother.overridePythonAttrs (oldAttrs: rec {
version = "0.2.2";
src = fetchFromGitHub {
owner = "bieniu";
repo = "brother";
rev = version;
sha256 = "sha256-vIefcL3K3ZbAUxMFM7gbbTFdrnmufWZHcq4OA19SYXE=";
};
});
})
# Pinned due to API changes in iaqualink>=2.0, remove after
# https://github.com/home-assistant/core/pull/48137 was merged
(self: super: {
@ -213,6 +226,7 @@ in with py.pkgs; buildPythonApplication rec {
"axis"
"bayesian"
"binary_sensor"
"brother"
"caldav"
"calendar"
"camera"
@ -389,6 +403,7 @@ in with py.pkgs; buildPythonApplication rec {
"zha"
"zone"
"zwave"
"zwave_js"
];
pytestFlagsArray = [

View file

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "alertmanager-irc-relay";
version = "0.3.1";
version = "0.4.1";
src = fetchFromGitHub {
owner = "google";
repo = "alertmanager-irc-relay";
rev = "v${version}";
sha256 = "sha256-IlWXsQZtDXG8sJBV+82BzEFj+JtUbfTOZyqYOrZFTXA=";
sha256 = "sha256-02uEvcxT5+0OJtqOyuQjgkqL0fZnN7umCSxBqAVPT9U=";
};
vendorSha256 = "sha256-VLG15IXS/fXFMTCJKEqGW6qZ9aOLPhazidVsOywG+w4=";

View file

@ -1,73 +0,0 @@
{ lib, stdenv, fetchurl, libcap, libnl, readline, net-snmp, less, perl, texinfo,
pkg-config, c-ares }:
stdenv.mkDerivation rec {
pname = "quagga";
version = "1.2.4";
src = fetchurl {
url = "mirror://savannah/quagga/${pname}-${version}.tar.gz";
sha256 = "1lsksqxij5f1llqn86pkygrf5672kvrqn1kvxghi169hqf1c0r73";
};
buildInputs =
[ readline net-snmp c-ares ]
++ lib.optionals stdenv.isLinux [ libcap libnl ];
nativeBuildInputs = [ pkg-config perl texinfo ];
configureFlags = [
"--sysconfdir=/etc/quagga"
"--localstatedir=/run/quagga"
"--sbindir=$(out)/libexec/quagga"
"--disable-exampledir"
"--enable-user=quagga"
"--enable-group=quagga"
"--enable-configfile-mask=0640"
"--enable-logfile-mask=0640"
"--enable-vtysh"
"--enable-vty-group=quaggavty"
"--enable-snmp"
"--enable-multipath=64"
"--enable-rtadv"
"--enable-irdp"
"--enable-opaque-lsa"
"--enable-ospf-te"
"--enable-pimd"
"--enable-isis-topology"
];
preConfigure = ''
substituteInPlace vtysh/vtysh.c --replace \"more\" \"${less}/bin/less\"
'';
postInstall = ''
rm -f $out/bin/test_igmpv3_join
mv -f $out/libexec/quagga/ospfclient $out/bin/
'';
enableParallelBuilding = true;
meta = with lib; {
description = "Quagga BGP/OSPF/ISIS/RIP/RIPNG routing daemon suite";
longDescription = ''
GNU Quagga is free software which manages TCP/IP based routing protocols.
It supports BGP4, BGP4+, OSPFv2, OSPFv3, IS-IS, RIPv1, RIPv2, and RIPng as
well as the IPv6 versions of these.
As the predecessor Zebra has been considered orphaned, the Quagga project
has been formed by members of the zebra mailing list and the former
zebra-pj project to continue developing.
Quagga uses threading if the kernel supports it, but can also run on
kernels that do not support threading. Each protocol has its own daemon.
It is more than a routed replacement, it can be used as a Route Server and
a Route Reflector.
'';
homepage = "https://www.nongnu.org/quagga/";
license = licenses.gpl2;
platforms = platforms.unix;
maintainers = with maintainers; [ ];
};
}

View file

@ -773,6 +773,14 @@ self: super:
"--with-launchdaemons-dir=\${out}/LaunchDaemons"
"--with-launchagents-dir=\${out}/LaunchAgents"
];
patches = [
# don't unset DBUS_SESSION_BUS_ADDRESS in startx
(fetchpatch {
name = "dont-unset-DBUS_SESSION_BUS_ADDRESS.patch";
url = "https://git.archlinux.org/svntogit/packages.git/plain/repos/extra-x86_64/fs46369.patch?h=packages/xorg-xinit&id=40f3ac0a31336d871c76065270d3f10e922d06f3";
sha256 = "18kb88i3s9nbq2jxl7l2hyj6p56c993hivk8mzxg811iqbbawkp7";
})
];
propagatedBuildInputs = attrs.propagatedBuildInputs or [] ++ [ self.xauth ]
++ lib.optionals isDarwin [ self.libX11 self.xorgproto ];
postFixup = ''

View file

@ -2,13 +2,13 @@
buildGoPackage rec {
pname = "exoscale-cli";
version = "1.27.2";
version = "1.28.0";
src = fetchFromGitHub {
owner = "exoscale";
repo = "cli";
rev = "v${version}";
sha256 = "sha256-Wq3CWKYuF4AaOVpe0sGn9BzLx/6rSPFN6rFc2jUUVEA=";
sha256 = "sha256-YbWh4ZIlcxAD/8F/fsYIWjv5hKaHNNi+sNrD7Ax/xDw=";
};
goPackagePath = "github.com/exoscale/cli";

View file

@ -14,11 +14,11 @@
stdenv.mkDerivation rec {
pname = "agi";
version = "1.1.0-dev-20210413";
version = "1.1.0-dev-20210421";
src = fetchzip {
url = "https://github.com/google/agi-dev-releases/releases/download/v${version}/agi-${version}-linux.zip";
sha256 = "13i6n95d0cjrhx68qsich6xzk5f9ga0y3m19k4z2d58s164rnh0v";
sha256 = "sha256-2IgGvQy6omDEwrzQDfa/OLi3f+Q2zarvJVGk6ZhsjSA=";
};
nativeBuildInputs = [

View file

@ -608,6 +608,7 @@ mapAliases ({
phonon = throw "phonon: Please use libsForQt5.phonon, as Qt4 support in this package has been removed."; # added 2019-11-22
pynagsystemd = throw "pynagsystemd was removed as it was unmaintained and incompatible with recent systemd versions. Instead use its fork check_systemd."; # added 2020-10-24
python2nix = throw "python2nix has been removed as it is outdated. Use e.g. nixpkgs-pytools instead."; # added 2021-03-08
quagga = throw "quagga is no longer maintained upstream"; # added 2021-04-22
qca-qt5 = libsForQt5.qca-qt5; # added 2015-12-19
qcsxcad = libsForQt5.qcsxcad; # added 2020-11-05
qmk_firmware = throw "qmk_firmware has been removed because it was broken"; # added 2021-04-02

View file

@ -19142,8 +19142,6 @@ in
qremotecontrol-server = callPackage ../servers/misc/qremotecontrol-server { };
quagga = callPackage ../servers/quagga { };
rabbitmq-server = callPackage ../servers/amqp/rabbitmq-server {
inherit (darwin.apple_sdk.frameworks) AppKit Carbon Cocoa;
elixir = beam_nox.interpreters.elixir_1_8;

View file

@ -7743,6 +7743,8 @@ in {
telethon-session-sqlalchemy = callPackage ../development/python-modules/telethon-session-sqlalchemy { };
telfhash = callPackage ../development/python-modules/telfhash { };
tempita = callPackage ../development/python-modules/tempita { };
tempora = callPackage ../development/python-modules/tempora { };
@ -8754,5 +8756,7 @@ in {
zulip = callPackage ../development/python-modules/zulip { };
zwave-js-server-python = callPackage ../development/python-modules/zwave-js-server-python { };
zxcvbn = callPackage ../development/python-modules/zxcvbn { };
}