Merge master into staging-next

This commit is contained in:
github-actions[bot] 2022-01-13 00:01:59 +00:00 committed by GitHub
commit a8b75d6f2f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
67 changed files with 1186 additions and 247 deletions

View File

@ -75,6 +75,14 @@
<link linkend="opt-services.filebeat.enable">services.filebeat</link>.
</para>
</listitem>
<listitem>
<para>
<link xlink:href="https://frrouting.org/">FRRouting</link>, a
popular suite of Internet routing protocol daemons (BGP, BFD,
OSPF, IS-IS, VVRP and others). Available as
<link linkend="opt-services.ffr.babel.enable">services.frr</link>
</para>
</listitem>
<listitem>
<para>
<link xlink:href="https://github.com/hifi/heisenbridge">heisenbridge</link>,
@ -437,6 +445,15 @@
renamed to <literal>linux-firmware</literal>.
</para>
</listitem>
<listitem>
<para>
A new module was added for the
<link xlink:href="https://starship.rs/">Starship</link> shell
prompt, providing the options
<literal>programs.starship.enable</literal> and
<literal>programs.starship.settings</literal>.
</para>
</listitem>
</itemizedlist>
</section>
</section>

View File

@ -19,12 +19,15 @@ In addition to numerous new and upgraded packages, this release has the followin
## New Services {#sec-release-22.05-new-services}
- [aesmd](https://github.com/intel/linux-sgx#install-the-intelr-sgx-psw), the Intel SGX Architectural Enclave Service Manager. Available as [services.aesmd](#opt-services.aesmd.enable).
- [rootless Docker](https://docs.docker.com/engine/security/rootless/), a `systemd --user` Docker service which runs without root permissions. Available as [virtualisation.docker.rootless.enable](options.html#opt-virtualisation.docker.rootless.enable).
- [matrix-conduit](https://conduit.rs/), a simple, fast and reliable chat server powered by matrix. Available as [services.matrix-conduit](option.html#opt-services.matrix-conduit.enable).
- [filebeat](https://www.elastic.co/guide/en/beats/filebeat/current/filebeat-overview.html), a lightweight shipper for forwarding and centralizing log data. Available as [services.filebeat](#opt-services.filebeat.enable).
- [FRRouting](https://frrouting.org/), a popular suite of Internet routing protocol daemons (BGP, BFD, OSPF, IS-IS, VVRP and others). Available as [services.frr](#opt-services.ffr.babel.enable)
- [heisenbridge](https://github.com/hifi/heisenbridge), a bouncer-style Matrix IRC bridge. Available as [services.heisenbridge](options.html#opt-services.heisenbridge.enable).
- [PowerDNS-Admin](https://github.com/ngoduykhanh/PowerDNS-Admin), a web interface for the PowerDNS server. Available at [services.powerdns-admin](options.html#opt-services.powerdns-admin.enable).
@ -154,3 +157,6 @@ In addition to numerous new and upgraded packages, this release has the followin
- The option `services.thelounge.plugins` has been added to allow installing plugins for The Lounge. Plugins can be found in `pkgs.theLoungePlugins.plugins` and `pkgs.theLoungePlugins.themes`.
- The `firmwareLinuxNonfree` package has been renamed to `linux-firmware`.
- A new module was added for the [Starship](https://starship.rs/) shell prompt,
providing the options `programs.starship.enable` and `programs.starship.settings`.

View File

@ -198,6 +198,7 @@
./programs/ssmtp.nix
./programs/sysdig.nix
./programs/systemtap.nix
./programs/starship.nix
./programs/steam.nix
./programs/sway.nix
./programs/system-config-printer.nix
@ -746,6 +747,7 @@
./services/networking/flannel.nix
./services/networking/freenet.nix
./services/networking/freeradius.nix
./services/networking/frr.nix
./services/networking/gateone.nix
./services/networking/gdomap.nix
./services/networking/ghostunnel.nix

View File

@ -0,0 +1,51 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.programs.starship;
settingsFormat = pkgs.formats.toml { };
settingsFile = settingsFormat.generate "starship.toml" cfg.settings;
in {
options.programs.starship = {
enable = mkEnableOption "the Starship shell prompt";
settings = mkOption {
inherit (settingsFormat) type;
default = { };
description = ''
Configuration included in <literal>starship.toml</literal>.
See https://starship.rs/config/#prompt for documentation.
'';
};
};
config = mkIf cfg.enable {
programs.bash.promptInit = ''
if [[ $TERM != "dumb" && (-z $INSIDE_EMACS || $INSIDE_EMACS == "vterm") ]]; then
export STARSHIP_CONFIG=${settingsFile}
eval "$(${pkgs.starship}/bin/starship init bash)"
fi
'';
programs.fish.promptInit = ''
if test "$TERM" != "dumb" -a \( -z "$INSIDE_EMACS" -o "$INSIDE_EMACS" = "vterm" \)
set -x STARSHIP_CONFIG ${settingsFile}
eval (${pkgs.starship}/bin/starship init fish)
end
'';
programs.zsh.promptInit = ''
if [[ $TERM != "dumb" && (-z $INSIDE_EMACS || $INSIDE_EMACS == "vterm") ]]; then
export STARSHIP_CONFIG=${settingsFile}
eval "$(${pkgs.starship}/bin/starship init zsh)"
fi
'';
};
meta.maintainers = pkgs.starship.meta.maintainers;
}

View File

@ -0,0 +1,211 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.services.frr;
services = [
"static"
"bgp"
"ospf"
"ospf6"
"rip"
"ripng"
"isis"
"pim"
"ldp"
"nhrp"
"eigrp"
"babel"
"sharp"
"pbr"
"bfd"
"fabric"
];
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"
''
! FRR ${daemonName service} configuration
!
hostname ${config.networking.hostName}
log syslog
service password-encryption
!
${scfg.config}
!
end
'';
serviceOptions = service:
{
enable = mkEnableOption "the FRR ${toUpper service} routing protocol";
configFile = mkOption {
type = types.nullOr types.path;
default = null;
example = "/etc/frr/${daemonName service}.conf";
description = ''
Configuration file to use for FRR ${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 = "localhost";
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.frr = {
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.frr = (genAttrs services serviceOptions); }
];
###### implementation
config = mkIf (any isEnabled allServices) {
environment.systemPackages = [
pkgs.frr # for the vtysh tool
];
users.users.frr = {
description = "FRR daemon user";
isSystemUser = true;
group = "frr";
};
users.groups = {
frr = {};
# Members of the frrvty group can use vtysh to inspect the FRR daemons
frrvty = { members = [ "frr" ]; };
};
environment.etc = let
mkEtcLink = service: {
name = "frr/${service}.conf";
value.source = configFile service;
};
in
(builtins.listToAttrs
(map mkEtcLink (filter isEnabled allServices))) // {
"frr/vtysh.conf".text = "";
};
systemd.tmpfiles.rules = [
"d /run/frr 0750 frr frr -"
];
systemd.services =
let
frrService = service:
let
scfg = cfg.${service};
daemon = daemonName service;
in
nameValuePair daemon ({
wantedBy = [ "multi-user.target" ];
after = [ "network-pre.target" "systemd-sysctl.service" ] ++ lib.optionals (service != "zebra") [ "zebra.service" ];
bindsTo = lib.optionals (service != "zebra") [ "zebra.service" ];
wants = [ "network.target" ];
description = if service == "zebra" then "FRR Zebra routing manager"
else "FRR ${toUpper service} routing daemon";
unitConfig.Documentation = if service == "zebra" then "man:zebra(8)"
else "man:${daemon}(8) man:zebra(8)";
restartTriggers = [
(configFile service)
];
reloadIfChanged = true;
serviceConfig = {
PIDFile = "frr/${daemon}.pid";
ExecStart = "${pkgs.frr}/libexec/frr/${daemon} -f /etc/frr/${service}.conf"
+ optionalString (scfg.vtyListenAddress != "") " -A ${scfg.vtyListenAddress}"
+ optionalString (scfg.vtyListenPort != null) " -P ${toString scfg.vtyListenPort}";
ExecReload = "${pkgs.python3.interpreter} ${pkgs.frr}/libexec/frr/frr-reload.py --reload --daemon ${daemonName service} --bindir ${pkgs.frr}/bin --rundir /run/frr /etc/frr/${service}.conf";
Restart = "on-abnormal";
};
});
in
listToAttrs (map frrService (filter isEnabled allServices));
};
meta.maintainers = with lib.maintainers; [ woffs ];
}

View File

@ -143,6 +143,7 @@ in
fluidd = handleTest ./fluidd.nix {};
fontconfig-default-fonts = handleTest ./fontconfig-default-fonts.nix {};
freeswitch = handleTest ./freeswitch.nix {};
frr = handleTest ./frr.nix {};
fsck = handleTest ./fsck.nix {};
ft2-clone = handleTest ./ft2-clone.nix {};
gerrit = handleTest ./gerrit.nix {};
@ -445,6 +446,7 @@ in
sslh = handleTest ./sslh.nix {};
sssd = handleTestOn ["x86_64-linux"] ./sssd.nix {};
sssd-ldap = handleTestOn ["x86_64-linux"] ./sssd-ldap.nix {};
starship = handleTest ./starship.nix {};
step-ca = handleTestOn ["x86_64-linux"] ./step-ca.nix {};
strongswan-swanctl = handleTest ./strongswan-swanctl.nix {};
sudo = handleTest ./sudo.nix {};

104
nixos/tests/frr.nix Normal file
View File

@ -0,0 +1,104 @@
# This test runs FRR 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;
ospfConf1 = ''
router ospf
network 192.168.0.0/16 area 0
'';
ospfConf2 = ''
interface eth2
ip ospf hello-interval 1
ip ospf dead-interval 5
!
router ospf
network 192.168.0.0/16 area 0
'';
in
{
name = "frr";
meta = with pkgs.lib.maintainers; {
maintainers = [ hexa ];
};
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 ospfigp -j ACCEPT";
services.frr.ospf = {
enable = true;
config = ospfConf1;
};
specialisation.ospf.configuration = {
services.frr.ospf.config = ospfConf2;
};
};
router2 =
{ ... }:
{
virtualisation.vlans = [ 3 2 ];
boot.kernel.sysctl."net.ipv4.ip_forward" = "1";
networking.firewall.extraCommands = "iptables -A nixos-fw -i eth2 -p ospfigp -j ACCEPT";
services.frr.ospf = {
enable = true;
config = ospfConf2;
};
};
server =
{ nodes, ... }:
{
virtualisation.vlans = [ 3 ];
networking.defaultGateway = ifAddr nodes.router2 "eth1";
};
};
testScript =
{ nodes, ... }:
''
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 Zebra and OSPFD"):
for gw in router1, router2:
gw.wait_for_unit("zebra")
gw.wait_for_unit("ospfd")
router1.succeed("${nodes.router1.config.system.build.toplevel}/specialisation/ospf/bin/switch-to-configuration test >&2")
with subtest("Wait for OSPF to form adjacencies"):
for gw in router1, router2:
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")
'';
})

31
nixos/tests/starship.nix Normal file
View File

@ -0,0 +1,31 @@
import ./make-test-python.nix ({ pkgs, ... }: {
name = "starship";
meta.maintainers = pkgs.starship.meta.maintainers;
machine = {
programs = {
fish.enable = true;
zsh.enable = true;
starship = {
enable = true;
settings.format = "<starship>";
};
};
services.getty.autologinUser = "root";
};
testScript = ''
start_all()
machine.wait_for_unit("default.target")
for shell in ["bash", "fish", "zsh"]:
machine.send_chars(f"script -c {shell} /tmp/{shell}.txt\n")
machine.wait_until_tty_matches(1, f"Script started.*{shell}.txt")
machine.send_chars("exit\n")
machine.wait_until_tty_matches(1, "Script done")
machine.sleep(1)
machine.succeed(f"grep -q '<starship>' /tmp/{shell}.txt")
'';
})

View File

@ -1,46 +1,53 @@
{ lib, stdenv, fetchurl, pkg-config
, lv2, libGLU, libGL, gtk2, cairo, pango, fftwFloat, libjack2 }:
{ lib
, stdenv
, fetchFromGitHub
, pkg-config
, lv2
, libGLU
, libGL
, gtk2
, cairo
, pango
, fftwFloat
, libjack2
}:
let
stdenv.mkDerivation rec {
pname = "meters.lv2";
version = "0.9.10";
name = "meters.lv2-${version}";
# robtk submodule is pegged to this version
robtkVersion = "0.6.2";
robtkName = "robtk-${robtkVersion}";
src = fetchurl {
name = "${name}.tar.gz";
url = "https://github.com/x42/meters.lv2/archive/v${version}.tar.gz";
sha256 = "0yfyn7j8g50w671b1z7ph4ppjx8ddj5c6nx53syp5y5mfr1b94nx";
};
robtkSrc = fetchurl {
name = "${robtkName}.tar.gz";
url = "https://github.com/x42/robtk/archive/v${robtkVersion}.tar.gz";
sha256 = "1v79xys1k2923wpivdjd44vand6c4agwvnrqi4c8kdv9r07b559v";
};
in
stdenv.mkDerivation {
inherit name;
nativeBuildInputs = [ pkg-config ];
buildInputs = [ lv2 libGLU libGL gtk2 cairo pango fftwFloat libjack2 ];
srcs = [ src robtkSrc ];
sourceRoot = name;
src = fetchFromGitHub {
owner = "x42";
repo = "meters.lv2";
rev = "v${version}";
sha256 = "sha256-u2KIsaia0rAteQoEh6BLNCiRHFufHYF95z6J/EMgeSE=";
};
postUnpack = "mv ${robtkName}/* ${name}/robtk"; # */
robtkSrc = fetchFromGitHub {
owner = "x42";
repo = "robtk";
rev = "v${robtkVersion}";
sha256 = "sha256-zeRMobfKW0+wJwYVem74tglitkI6DSoK75Auywcu4Tw=";
};
postUnpack = ''
rm -rf $sourceRoot/robtk/
ln -s ${robtkSrc} $sourceRoot/robtk
'';
preConfigure = "makeFlagsArray=( PREFIX=$out )";
meter_VERSION = version;
enableParallelBuilding = true;
makeFlags = [ "PREFIX=${placeholder "out"}" ];
meta = with lib;
{ description = "Collection of audio level meters with GUI in LV2 plugin format";
homepage = "http://x42.github.io/meters.lv2/";
maintainers = with maintainers; [ ehmry ];
license = licenses.gpl2;
platforms = platforms.linux;
};
meta = with lib; {
description = "Collection of audio level meters with GUI in LV2 plugin format";
homepage = "https://x42.github.io/meters.lv2/";
maintainers = with maintainers; [ ehmry ];
license = licenses.gpl2;
platforms = platforms.linux;
};
}

View File

@ -1,6 +1,6 @@
{ lib
, stdenv
, fetchurl
, fetchFromGitHub
, autoreconfHook
, pkg-config
, util-linux
@ -26,9 +26,11 @@ stdenv.mkDerivation rec {
pname = if withGui then "elements" else "elementsd";
version = "0.21.0.1";
src = fetchurl {
url = "https://github.com/ElementsProject/elements/archive/elements-${version}.tar.gz";
sha256 = "00a2lrn77mfmr5dvrqwplk20gaxxq4cd9gcx667hgmfmmz1v6r6b";
src = fetchFromGitHub {
owner = "ElementsProject";
repo = "elements";
rev = "elements-${version}";
sha256 = "sha256-nZa5doiFQJhtK8cUUISTZhS61HzW7CMB9pPsWKc8Gac=";
};
nativeBuildInputs =

View File

@ -3,13 +3,13 @@
mkDerivation rec {
pname = "featherpad";
version = "1.1.0";
version = "1.1.1";
src = fetchFromGitHub {
owner = "tsujan";
repo = "FeatherPad";
rev = "V${version}";
sha256 = "sha256-Sff1oyRYCsiJ7Kl3HxI/bln0M80KlbcNSw6jrEOeWiI=";
sha256 = "sha256-qDhubKk6FLZmVxp4SkGm1B7zIg6rPtPRoFGCcBYUDFA=";
};
nativeBuildInputs = [ cmake pkg-config qttools ];

View File

@ -12,7 +12,7 @@
mkDerivation {
pname = "kbreakout";
meta = {
homepage = "KBreakOut";
homepage = "https://apps.kde.org/kbreakout/";
description = "Breakout-like game";
license = with lib.licenses; [ lgpl21 gpl3 ];
};

View File

@ -10,13 +10,13 @@
stdenv.mkDerivation rec {
pname = "gphoto2";
version = "2.5.27";
version = "2.5.28";
src = fetchFromGitHub {
owner = "gphoto";
repo = "gphoto2";
rev = "v${version}";
sha256 = "sha256-zzlyA2IedyBZ4/TdSmrqbe2le8rFMQ6tY6jF5skJ7l4=";
sha256 = "sha256-t5EnM4WaDbOTPM+rJW+hQxBgNErnnZEN9lZvxTKoDhA=";
};
nativeBuildInputs = [

View File

@ -2,16 +2,16 @@
buildGoModule rec {
pname = "hugo";
version = "0.91.2";
version = "0.92.0";
src = fetchFromGitHub {
owner = "gohugoio";
repo = pname;
rev = "v${version}";
sha256 = "sha256-6bqtw0hUrRBhTwEDURaTjgl3aVVCbfxjoPRfhSd3LK8=";
sha256 = "sha256-rzAt6jGj1MJ5AvkEKjAH91mKnUcLOPgHgiDkzkdibks=";
};
vendorSha256 = "sha256-M4pKAxNd8rqluVm+c+X+nxC/vcaVclebo9HP17yEpfo=";
vendorSha256 = "sha256-ftA7ktZ6dEownEwJC4tK5/V3fl8toACiFiq9xTa7NE4=";
doCheck = false;

View File

@ -0,0 +1,60 @@
{ lib,
stdenv,
fetchFromGitLab,
extra-cmake-modules,
shared-mime-info,
wrapQtAppsHook,
kcoreaddons,
kdbusaddons,
ki18n,
kio,
solid,
kidletime,
knotifications,
kconfig,
kinit,
kjobwidgets,
plasma-framework,
libgit2
}:
stdenv.mkDerivation rec {
pname = "kup";
version = "0.9.1";
src = fetchFromGitLab {
domain = "invent.kde.org";
repo = pname;
owner = "system";
rev = "${pname}-${version}";
sha256 = "1s180y6vzkxxcjpfdvrm90251rkaf3swzkjwdlpm6m4vnggq0hvs";
};
nativeBuildInputs = [
extra-cmake-modules
shared-mime-info
wrapQtAppsHook
];
buildInputs = [
kcoreaddons
kdbusaddons
ki18n
kio
solid
kidletime
knotifications
kconfig
kinit
kjobwidgets
plasma-framework
libgit2
];
meta = with lib; {
description = "Backup tool for KDE";
homepage = "https://apps.kde.org/kup";
license = licenses.gpl2Plus;
maintainers = [ maintainers.pwoelfel ];
};
}

View File

@ -1,4 +1,4 @@
{ mkDerivation, lib, fetchzip, buildEnv, makeDesktopItem, runCommand, writeText, pkg-config
{ mkDerivation, lib, fetchFromGitHub, buildEnv, makeDesktopItem, runCommand, writeText, pkg-config
, cmake, qmake, cacert, jsoncpp, libX11, libXScrnSaver, lua, openssl, poco
, qtbase, qtwebengine, qtx11extras, sqlite }:
@ -6,18 +6,22 @@ let
name = "toggldesktop-${version}";
version = "7.4.231";
src = fetchzip {
url = "https://github.com/toggl/toggldesktop/archive/v${version}.tar.gz";
sha256 = "01hqkx9dljnhwnyqi6mmzfp02hnbi2j50rsfiasniqrkbi99x9v1";
src = fetchFromGitHub {
owner = "toggl";
repo = "toggldesktop";
rev = "v${version}";
sha256 = "sha256-YaeeUlwz42i1ik5nUKSIy0IBrvu1moi95dBK2lKfGAY=";
};
bugsnag-qt = mkDerivation rec {
pname = "bugsnag-qt";
version = "20180522.005732";
src = fetchzip {
url = "https://github.com/alpakido/bugsnag-qt/archive/${version}.tar.gz";
sha256 = "02s6mlggh0i4a856md46dipy6mh47isap82jlwmjr7hfsk2ykgnq";
src = fetchFromGitHub {
owner = "alpakido";
repo = "bugsnag-qt";
rev = version;
sha256 = "sha256-2L7pxdQOniwrp1Kgq3Q8BFbjb2yGtGoKUiQC+B6tRgs=";
};
nativeBuildInputs = [ qmake ];
@ -28,9 +32,11 @@ let
pname = "qxtglobalshortcut";
version = "f584471dada2099ba06c574bdfdd8b078c2e3550";
src = fetchzip {
url = "https://github.com/hluk/qxtglobalshortcut/archive/${version}.tar.gz";
sha256 = "1iy17gypav10z8aa62s5jb6mq9y4kb9ms4l61ydmk3xwlap7igw1";
src = fetchFromGitHub {
owner = "hluk";
repo = "qxtglobalshortcut";
rev = version;
sha256 = "sha256-gb94rqK8j1mbD4YSXdOaxCdczZJFC6MU+iBsdf07wcc=";
};
nativeBuildInputs = [ cmake ];
@ -41,9 +47,11 @@ let
pname = "qt-oauth-lib";
version = "20190125.190943";
src = fetchzip {
url = "https://github.com/alpakido/qt-oauth-lib/archive/${version}.tar.gz";
sha256 = "0zmfgvdf6n79mgfvbda7lkdxxlzjmy86436gqi2r5x05vq04sfrj";
src = fetchFromGitHub {
owner = "alpakido";
repo = "qt-oauth-lib";
rev = version;
sha256 = "sha256-MjtNAN4F9JJFxM8MYpCv8tPe26RHtbXdq+lY49p+rn4=";
};
nativeBuildInputs = [ qmake ];

View File

@ -19,22 +19,9 @@
}
},
"beta": {
"version": "97.0.4692.71",
"sha256": "0z7ximvm4a78kxyp4j0i2jzklxazpw6jcqi9jkaf8bvq9ga8kqca",
"sha256bin64": "18wr4pgzfcvvdpvvxhpd4as2qnyggq9f8z90ikdz8yj8i71l5wnc",
"deps": {
"gn": {
"version": "2021-11-03",
"url": "https://gn.googlesource.com/gn",
"rev": "90294ccdcf9334ed25a76ac9b67689468e506342",
"sha256": "0n0jml8s00ayy186jzrf207hbz70pxiq426znxwxd4gjcp60scsa"
}
}
},
"dev": {
"version": "98.0.4758.9",
"sha256": "1sq6v2hdhpk12w37sz7jf5vwkn72ydcqzcxysf7hs2flcfgscydj",
"sha256bin64": "1jfj08jpxji2q890zbvpvmgf5bjqgvigkr1hg8ch8vaaybs5wr04",
"version": "98.0.4758.48",
"sha256": "0c6lxmr8xxjhifm28v9ri05v5al9ph6infksx9qgd045svmfynxs",
"sha256bin64": "0m7vbd7fy4wrbk28hw3hy6x8yb8vyyyisnicdhkp6j0xq9ni5jhj",
"deps": {
"gn": {
"version": "2021-12-07",
@ -44,6 +31,19 @@
}
}
},
"dev": {
"version": "99.0.4818.0",
"sha256": "1k8xzmybrmwgcyg4n7x3gj486rpwic17m6i5ij9nmfzcxx7fbwlm",
"sha256bin64": "1jfqmv94ami3n6hzp9ycczqv3lh3wijsf555mg62rv4rdvw5adm6",
"deps": {
"gn": {
"version": "2022-01-07",
"url": "https://gn.googlesource.com/gn",
"rev": "f1b1412521b41e47118b29863224171e434a27a2",
"sha256": "1cxq991by7sa5k1hvb5xx98bfqgq7rdbw3cawhyyqq91a521wsb7"
}
}
},
"ungoogled-chromium": {
"version": "97.0.4692.71",
"sha256": "0z7ximvm4a78kxyp4j0i2jzklxazpw6jcqi9jkaf8bvq9ga8kqca",

View File

@ -87,7 +87,7 @@ let
fteLibPath = makeLibraryPath [ stdenv.cc.cc gmp ];
# Upstream source
version = "11.0.3";
version = "11.0.4";
lang = "en-US";
@ -97,7 +97,7 @@ let
"https://dist.torproject.org/torbrowser/${version}/tor-browser-linux64-${version}_${lang}.tar.xz"
"https://tor.eff.org/dist/torbrowser/${version}/tor-browser-linux64-${version}_${lang}.tar.xz"
];
sha256 = "1a2nxxmjg1gk8p0bxxjqx2g9bwv4ivz8hndabg31nglzv83r7p35";
sha256 = "0pz1v5ig031wgnq3191ja08a4brdrbzziqnkpcrlra1wcdnzv985";
};
i686-linux = fetchurl {
@ -105,7 +105,7 @@ let
"https://dist.torproject.org/torbrowser/${version}/tor-browser-linux32-${version}_${lang}.tar.xz"
"https://tor.eff.org/dist/torbrowser/${version}/tor-browser-linux32-${version}_${lang}.tar.xz"
];
sha256 = "0fjq6bj2b6rd66ky9i4p7asda0ghdcm6q0fnr92yan5x77pji73m";
sha256 = "0ykdgbm8f5lcv7p54f3ffxsaw2cdzbhk6sv7d2hm7d81fcnhmjq4";
};
};
in

View File

@ -1,4 +1,4 @@
{ lib, fetchurl, fetchpatch, stdenv, gnutls, glib, pkg-config, check, libotr, python2
{ lib, fetchurl, fetchpatch, stdenv, gnutls, glib, pkg-config, check, libotr, python3
, enableLibPurple ? false, pidgin ? null
, enablePam ? false, pam ? null
}:
@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ pkg-config ] ++ optional doCheck check;
buildInputs = [ gnutls libotr python2 ]
buildInputs = [ gnutls libotr python3 ]
++ optional enableLibPurple pidgin
++ optional enablePam pam;
@ -63,7 +63,7 @@ stdenv.mkDerivation rec {
homepage = "https://www.bitlbee.org/";
license = licenses.gpl2Plus;
maintainers = with maintainers; [ pSub ];
maintainers = with maintainers; [ lassulus pSub ];
platforms = platforms.gnu ++ platforms.linux; # arbitrary choice
};
}

View File

@ -17,10 +17,10 @@ in
mkFranzDerivation' rec {
pname = "ferdi";
name = "Ferdi";
version = "5.6.5";
version = "5.6.10";
src = fetchurl {
url = "https://github.com/getferdi/ferdi/releases/download/v${version}/ferdi_${version}_amd64.deb";
sha256 = "sha256-JeFPvU4xXHcv6/ApCDkejYWfA8lqsxwoFXnqIiOQ0+Y=";
sha256 = "sha256-tm9tuIP4pVociJAiXVsZkDU+zCM5tVAlt+FNpOaiths=";
};
extraBuildInputs = [ xorg.libxshmfence ];
meta = with lib; {

View File

@ -11,11 +11,11 @@
stdenv.mkDerivation rec {
pname = "notmuch";
version = "0.34.2";
version = "0.34.3";
src = fetchurl {
url = "https://notmuchmail.org/releases/notmuch-${version}.tar.xz";
sha256 = "wfLO7kf2iXESItcgWvKj/npKnYwy5OCyStZviN9qR9M=";
sha256 = "sha256-P+kQSDv9gVpcO5UOImp7yoFWBT/TLXrR6xoKijrK6Ig=";
};
patches = [

View File

@ -12,16 +12,16 @@
rustPlatform.buildRustPackage rec {
pname = "finalfusion-utils";
version = "0.13.2";
version = "0.14.1";
src = fetchFromGitHub {
owner = "finalfusion";
repo = pname;
rev = version;
sha256 = "sha256-Wv3K2G542e1bKuJB+dZi0SW4dbopvs7SBohv+zgi5MI=";
sha256 = "sha256-suzivynlgk4VvDOC2dQR40n5IJHoJ736+ObdrM9dIqE=";
};
cargoSha256 = "sha256-oI7bq/yEXP7aMLWGKAecyq1lqq7ZbHtwxX2ldZMFY8I=";
cargoSha256 = "sha256-HekjmctuzOWs5k/ihhsV8vVkm6906jEnFf3yvhkrA5Y=";
nativeBuildInputs = [ installShellFiles ];

View File

@ -7,21 +7,20 @@
python3.pkgs.buildPythonApplication rec {
pname = "cwltool";
version = "3.1.20211104071347";
version = "3.1.20211107152837";
format = "setuptools";
disabled = python3.pythonOlder "3.6";
src = fetchFromGitHub {
owner = "common-workflow-language";
repo = pname;
rev = version;
sha256 = "sha256-tp4SdilW2PKav7b3/BchXYl33W9U0aQH6FPdOhHSvIQ=";
sha256 = "sha256-hIkRzFLG9MujSaQrhWFPXegLLKTV96lVYP79+xpPfUQ=";
};
postPatch = ''
substituteInPlace setup.py \
--replace 'prov == 1.5.1' 'prov' \
--replace "ruamel.yaml >= 0.15, < 0.17.18" "ruamel.yaml" \
--replace "prov == 1.5.1" "prov" \
--replace "setup_requires=PYTEST_RUNNER," ""
'';

View File

@ -16,7 +16,7 @@ pypy2Packages.buildPythonApplication rec {
checkInputs = [ subversion git breezy ];
checkPhase = "pypy2 run-tests.py";
checkPhase = "${pypy2Packages.python.interpreter} run-tests.py";
doCheck = false; # Couldn't find node 'transaction...' in expected output tree

View File

@ -2,16 +2,16 @@
buildGoModule rec {
pname = "gitty";
version = "0.5.0";
version = "0.6.0";
src = fetchFromGitHub {
owner = "muesli";
repo = "gitty";
rev = "v${version}";
sha256 = "sha256-BlYZe8bLyr6QQmBwQQ0VySHohKLRVImECxfzAOPm8Xg=";
sha256 = "sha256-gjiFaBM6PP937l5EQIeB27kGuZCT7cmVHm0UwuytqfE=";
};
vendorSha256 = "sha256-LINOjjKicnr0T9RiOcSWWDl0bdY3c6EHHMTBA9LTOG4=";
vendorSha256 = "sha256-CytlkfOzrmCRjj4tGoDUbqdim5DWElMYo1Tosw7Dhmg=";
ldflags = [ "-s" "-w" "-X=main.Version=${version}" ];

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "kora-icon-theme";
version = "1.4.9";
version = "1.5.0";
src = fetchFromGitHub {
owner = "bikass";
repo = "kora";
rev = "v${version}";
sha256 = "sha256-bhzkR8V/kdETC12mqMtTw+80o8AAD8sYeMhpktd0WMo=";
sha256 = "sha256-kUgNj7KuxsQ/BvQ0ORl3xzEm9gv69+2PS0Bgv8i/S9U=";
};
nativeBuildInputs = [

View File

@ -1,18 +1,19 @@
{ lib, eggDerivation, fetchurl, chickenEggs }:
{ lib, eggDerivation, fetchFromGitHub, chickenEggs }:
# Note: This mostly reimplements the default.nix already contained in
# the tarball. Is there a nicer way than duplicating code?
let
eggDerivation rec {
name = "egg2nix-${version}";
version = "0.5";
in
eggDerivation {
src = fetchurl {
url = "https://github.com/the-kenny/egg2nix/archive/${version}.tar.gz";
sha256 = "0adal428v4i7h9lzs7sfq75q2mxhsbf1qqwzrsjv8j41paars20y";
src = fetchFromGitHub {
owner = "the-kenny";
repo = "egg2nix";
rev = version;
sha256 = "sha256-5ov2SWVyTUQ6NHnZNPRywd9e7oIxHlVWv4uWbsNaj/s=";
};
name = "egg2nix-${version}";
buildInputs = with chickenEggs; [
matchable http-client
];

View File

@ -1,14 +1,16 @@
# Temporarily avoid dependency on dotnetbuildhelpers to avoid rebuilding many times while working on it
{ lib, stdenv, fetchurl, mono, pkg-config, dotnetbuildhelpers, autoconf, automake, which }:
{ lib, stdenv, fetchFromGitHub, mono, pkg-config, dotnetbuildhelpers, autoconf, automake, which }:
stdenv.mkDerivation rec {
pname = "fsharp";
version = "4.0.1.1";
src = fetchurl {
url = "https://github.com/fsharp/fsharp/archive/${version}.tar.gz";
sha256 = "0mvmvwwpl4zq0yvgzdizww8l9azvlrc82xm32nz1fi1nw8x5qfqk";
src = fetchFromGitHub {
owner = "fsharp";
repo = "fsharp";
rev = version;
sha256 = "sha256-dgTEM2aL8lVjVMuW0+HLc+TUA39IiuBv/RfHYNURh5s=";
};
nativeBuildInputs = [ pkg-config ];

View File

@ -1,4 +1,4 @@
{ lib, stdenv, fetchurl, gmp, perl }:
{ lib, stdenv, fetchFromGitHub, gmp, perl }:
stdenv.mkDerivation rec {
pname = "mosml";
@ -8,9 +8,11 @@ stdenv.mkDerivation rec {
makeFlags = [ "PREFIX=$(out)" "CC=${stdenv.cc.targetPrefix}cc" ];
src = fetchurl {
url = "https://github.com/kfl/mosml/archive/ver-${version}.tar.gz";
sha256 = "13x7wj94p0inn84pzpj52dch5s9lznqrj287bd3nk3dqd0v3kmgy";
src = fetchFromGitHub {
owner = "kfl";
repo = "mosml";
rev = "ver-${version}";
sha256 = "sha256-GK39WvM7NNhoC5f0Wjy4/5VWT+Rbh2qo+W71hWrbPso=";
};
setSourceRoot = ''export sourceRoot="$(echo */src)"'';

View File

@ -1,16 +1,14 @@
{ lib, stdenv, fetchurl, omake, ocaml, flex, bison }:
{ lib, stdenv, fetchFromGitHub, omake, ocaml, flex, bison }:
let
version = "2.1";
in
stdenv.mkDerivation {
stdenv.mkDerivation rec {
pname = "teyjus";
inherit version;
version = "2.1";
src = fetchurl {
url = "https://github.com/teyjus/teyjus/archive/v${version}.tar.gz";
sha256 = "0393wpg8v1vvarqy2xh4fdmrwlrl6jaj960kql7cq79mb9p3m269";
src = fetchFromGitHub {
owner = "teyjus";
repo = "teyjus";
rev = "v${version}";
sha256 = "sha256-nz7jZ+GdF6mZQPzBrVD9K/RtoeuVRuhfs7vej4zDkhg=";
};
patches = [ ./fix-lex-to-flex.patch ];

View File

@ -1,12 +1,14 @@
{ stdenv, lib, fetchzip, bash, makeWrapper, coreutils, gnugrep, ncurses, doCheck ? true }:
{ stdenv, lib, fetchFromGitHub, bash, makeWrapper, coreutils, gnugrep, ncurses, doCheck ? true }:
stdenv.mkDerivation rec {
pname = "bats";
version = "1.5.0";
src = fetchzip {
url = "https://github.com/bats-core/bats-core/archive/v${version}.tar.gz";
hash = "sha256-MEkMi2w8G9FZhE3JvzzbqObcErQ9WFXy5mtKwQOoxbk=";
src = fetchFromGitHub {
owner = "bats-core";
repo = "bats-core";
rev = "v${version}";
sha256 = "sha256-MEkMi2w8G9FZhE3JvzzbqObcErQ9WFXy5mtKwQOoxbk=";
};
nativeBuildInputs = [ makeWrapper ];

View File

@ -1,4 +1,4 @@
{ lib, stdenv, fetchurl, pkg-config, doxygen, cmake, readline }:
{ lib, stdenv, fetchFromGitHub, pkg-config, doxygen, cmake, readline }:
with lib;
stdenv.mkDerivation rec {
@ -6,9 +6,11 @@ stdenv.mkDerivation rec {
pname = "lolcode";
version = "0.11.2";
src = fetchurl {
url = "https://github.com/justinmeza/lci/archive/v${version}.tar.gz";
sha256 = "1li7ikcrs7wqah7gqkirg0k61n6pm12w7pydin966x1sdn9na46b";
src = fetchFromGitHub {
owner = "justinmeza";
repo = "lci";
rev = "v${version}";
sha256 = "sha256-VMBW3/sw+1kI6iuOckSPU1TIeY6QORcSfFLFkRYw3Gs=";
};
nativeBuildInputs = [ pkg-config cmake doxygen ];

View File

@ -1,12 +1,14 @@
{ lib, stdenv, fetchurl, cmake }:
{ lib, stdenv, fetchFromGitHub, cmake }:
stdenv.mkDerivation rec {
pname = "p8-platform";
version = "2.1.0.1";
src = fetchurl {
url = "https://github.com/Pulse-Eight/platform/archive/p8-platform-${version}.tar.gz";
sha256 = "18381y54f7d18ckpzf9cfxbz1ws6imprbbm9pvhcg5c86ln8skq6";
src = fetchFromGitHub {
owner = "Pulse-Eight";
repo = "platform";
rev = "p8-platform-${version}";
sha256 = "sha256-zAI/AOLJAunv+cCQ6bOXrgkW+wl5frj3ktzx2cDeCCk=";
};
nativeBuildInputs = [ cmake ];

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "libite";
version = "2.4.0";
version = "2.5.1";
src = fetchFromGitHub {
owner = "troglobit";
repo = "libite";
rev = "v${version}";
sha256 = "sha256-EV1YVOxd92z2hBZIqe6jzYV06YfNTAbZntZQdH05lBI=";
sha256 = "sha256-G9X0ZMyasS9praogWnLDU1LeTvK4fYPgJ89o2y3AIJI=";
};
nativeBuildInputs = [ autoreconfHook pkg-config ];

View File

@ -0,0 +1,61 @@
{ stdenv
, lib
, fetchFromGitHub
# build time
, cmake
, pkg-config
# run time
, pcre2
# update script
, genericUpdater
, common-updater-scripts
}:
stdenv.mkDerivation rec {
pname = "libyang";
version = "2.0.112";
src = fetchFromGitHub {
owner = "CESNET";
repo = "libyang";
rev = "v${version}";
sha256 = "sha256-f8x0tC3XcQ9fnUE987GYw8qEo/B+J759vpCImqG3QWs=";
};
nativeBuildInputs = [
cmake
pkg-config
];
buildInputs = [
pcre2
];
cmakeFlags = [
"-DCMAKE_INSTALL_LIBDIR=lib"
"-DCMAKE_INSTALL_INCLUDEDIR=include"
"-DCMAKE_BUILD_TYPE:String=Release"
];
passthru.updateScript = genericUpdater {
inherit pname version;
versionLister = "${common-updater-scripts}/bin/list-git-tags ${src.meta.homepage}";
rev-prefix = "v";
};
meta = with lib; {
description = "YANG data modelling language parser and toolkit";
longDescription = ''
libyang is a YANG data modelling language parser and toolkit written (and
providing API) in C. The library is used e.g. in libnetconf2, Netopeer2,
sysrepo or FRRouting projects.
'';
homepage = "https://github.com/CESNET/libyang";
license = with licenses; [ bsd3 ];
platforms = platforms.unix;
maintainers = with maintainers; [ woffs ];
};
}

View File

@ -1,4 +1,4 @@
{ fetchzip, buildDunePackage, lwt, ppxlib }:
{ fetchFromGitHub, buildDunePackage, lwt, ppxlib }:
buildDunePackage {
pname = "lwt_ppx";
@ -8,16 +8,18 @@ buildDunePackage {
minimumOCamlVersion = "4.04";
src = fetchzip {
# `lwt_ppx` has a different release cycle than Lwt, but it's included in
# one of its release bundles.
# Because there could exist an Lwt release _without_ a `lwt_ppx` release,
# this `src` field doesn't inherit from the Lwt derivation.
#
# This is particularly useful for overriding Lwt without breaking `lwt_ppx`,
# as new Lwt releases may contain broken `lwt_ppx` code.
url = "https://github.com/ocsigen/lwt/archive/5.4.0.tar.gz";
sha256 = "1ay1zgadnw19r9hl2awfjr22n37l7rzxd9v73pjbahavwm2ay65d";
# `lwt_ppx` has a different release cycle than Lwt, but it's included in
# one of its release bundles.
# Because there could exist an Lwt release _without_ a `lwt_ppx` release,
# this `src` field doesn't inherit from the Lwt derivation.
#
# This is particularly useful for overriding Lwt without breaking `lwt_ppx`,
# as new Lwt releases may contain broken `lwt_ppx` code.
src = fetchFromGitHub {
owner = "ocsigen";
repo = "lwt";
rev = "5.4.0";
sha256 = "sha256-rRivROVbQbXkHWen1n8+9AwrRJaOK0Fhyilw29T7was=";
};
propagatedBuildInputs = [ lwt ppxlib ];

View File

@ -1,4 +1,4 @@
{ stdenv, lib, fetchurl, ocaml, findlib, camlp4 }:
{ stdenv, lib, fetchFromGitHub, ocaml, findlib, camlp4 }:
if !lib.versionAtLeast ocaml.version "4.00"
|| lib.versionAtLeast ocaml.version "4.03"
@ -8,9 +8,11 @@ stdenv.mkDerivation rec {
pname = "ocaml-type_conv";
version = "109.60.01";
src = fetchurl {
url = "https://github.com/janestreet/type_conv/archive/${version}.tar.gz";
sha256 = "0lpxri68glgq1z2pp02rp45cb909xywbff8d4idljrf6fzzil2zx";
src = fetchFromGitHub {
owner = "janestreet";
repo = "type_conv";
rev = version;
sha256 = "sha256-8Oz/fPL3+RghyxQp5u6seSEdf0BgfP6XNcsMYty0rNs=";
};
buildInputs = [ ocaml findlib camlp4 ];

View File

@ -1,4 +1,4 @@
{ lib, fetchurl, buildOcaml}:
{ lib, fetchFromGitHub, buildOcaml}:
buildOcaml rec {
minimumSupportedOcamlVersion = "4.02";
@ -6,9 +6,11 @@ buildOcaml rec {
pname = "type_conv";
version = "113.00.02";
src = fetchurl {
url = "https://github.com/janestreet/type_conv/archive/${version}.tar.gz";
sha256 = "1718yl2q8zandrs4xqffkfmssfld1iz62dzcqdm925735c1x01fk";
src = fetchFromGitHub {
owner = "janestreet";
repo = "type_conv";
rev = version;
sha256 = "sha256-HzH0hnceCQ2kDRATjl+tfKk3XSBDsGnPzVUGYpDQUmU=";
};
meta = {

View File

@ -1,16 +1,18 @@
{ lib
, buildPythonPackage
, fetchPypi
, isPyPy
, pytestCheckHook
, case
, psutil
, pythonOlder
}:
buildPythonPackage rec {
pname = "billiard";
version = "3.6.4.0";
disabled = isPyPy;
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
@ -23,9 +25,14 @@ buildPythonPackage rec {
pytestCheckHook
];
pythonImportsCheck = [
"billiard"
];
meta = with lib; {
homepage = "https://github.com/celery/billiard";
description = "Python multiprocessing fork with improvements and bugfixes";
homepage = "https://github.com/celery/billiard";
license = licenses.bsd3;
maintainers = with maintainers; [ ];
};
}

View File

@ -1,20 +1,40 @@
{ lib, buildPythonPackage, fetchPypi
, six, nose, unittest2, mock }:
{ lib
, buildPythonPackage
, fetchPypi
, nose
, pythonOlder
, pytestCheckHook
, six
}:
buildPythonPackage rec {
pname = "case";
version = "1.5.3";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
sha256 = "48432b01d91913451c3512c5b90e31b0f348f1074b166a3431085eb70d784fb1";
};
propagatedBuildInputs = [ six nose unittest2 mock ];
propagatedBuildInputs = [
nose
six
];
# No real unittests, only coverage
doCheck = false;
pythonImportsCheck = [
"case"
];
meta = with lib; {
homepage = "https://github.com/celery/case";
description = "unittests utilities";
description = "Utilities for unittests handling";
license = licenses.bsd3;
maintainers = with maintainers; [ ];
};
}

View File

@ -1,4 +1,11 @@
{ lib, buildPythonPackage, fetchPypi, python, packaging, unittest2 }:
{ lib, buildPythonPackage, fetchPypi
, fetchpatch
, packaging
, python
, pythonAtLeast
, pythonOlder
, unittest2
}:
buildPythonPackage rec {
pname = "deprecation";
@ -9,9 +16,22 @@ buildPythonPackage rec {
sha256 = "1zqqjlgmhgkpzg9ss5ki8wamxl83xn51fs6gn2a8cxsx9vkbvcvj";
};
patches = lib.optionals (pythonAtLeast "3.10") [
# fixes for python 3.10 test suite
(fetchpatch {
url = "https://github.com/briancurtin/deprecation/pull/57/commits/e13e23068cb8d653a02a434a159e8b0b7226ffd6.patch";
sha256 = "sha256-/5zr2V1s5ULUZnbLXsgyHxZH4m7/a27QYuqQt2Savc8=";
includes = [ "tests/test_deprecation.py" ];
})
];
propagatedBuildInputs = [ packaging ];
checkInputs = [ unittest2 ];
# avoiding mass rebuilds for python3.9, but no longer
# needed with patch
checkInputs = lib.optional (pythonOlder "3.10") [
unittest2
];
checkPhase = ''
${python.interpreter} -m unittest discover

View File

@ -17,6 +17,9 @@ buildPythonPackage rec {
};
postPatch = ''
# relax version constraint, https://storyboard.openstack.org/#!/story/2009723
substituteInPlace requirements.txt --replace 'PyYAML>=3.10.0,<6' 'PyYAML>=3.10.0'
export HOME=$TMPDIR
'';

View File

@ -1,46 +1,36 @@
{ lib
, fetchPypi
, fetchpatch
, buildPythonPackage
, isPy27
# Python deps
, logutils
, Mako
, six
, webtest
# Test Inputs
, pythonOlder
, pytestCheckHook
, genshi
, gunicorn
, jinja2
, Kajiki
, mock
, six
, sqlalchemy
, virtualenv
}:
buildPythonPackage rec {
pname = "pecan";
version = "1.4.0";
version = "1.4.1";
format = "setuptools";
disabled = pythonOlder "3.6";
src = fetchPypi {
inherit pname version;
sha256 = "4b2acd6802a04b59e306d0a6ccf37701d24376f4dc044bbbafba3afdf9d3389a";
sha256 = "sha256-LL0O7btXR8BM3xjEquTxxunZUPOvcK8lRLB09+16BIA=";
};
patches = [
(fetchpatch {
name = "Support-SQLAlchemy-1.4x.patch";
url = "https://github.com/pecan/pecan/commit/a520bd544c0b02a02dbf692b8d6e2f7a503ee6d4.patch";
sha256 = "sha256-QCHRjwnpy8ndCvcuyE5Y65BybKYthJXDySUtmpJD8gY=";
})
];
propagatedBuildInputs = [
logutils
Mako
six
webtest
six
];
checkInputs = [
@ -48,19 +38,23 @@ buildPythonPackage rec {
genshi
gunicorn
jinja2
mock
sqlalchemy
virtualenv
] ++ lib.optionals isPy27 [ Kajiki ];
];
pytestFlagsArray = [
"--pyargs pecan "
"--pyargs pecan"
];
pythonImportsCheck = [
"pecan"
];
meta = with lib; {
description = "WSGI object-dispatching web framework, designed to be lean and fast";
homepage = "https://www.pecanpy.org/";
changelog = "https://pecan.readthedocs.io/en/latest/changes.html";
description = "WSGI object-dispatching web framework";
homepage = "https://www.pecanpy.org/";
license = licenses.bsd3;
maintainers = with maintainers; [ applePrincess ];
};
}

View File

@ -52,7 +52,7 @@ buildPythonPackage rec {
meta = with lib; {
description = "Python module to get data from Atome Key";
homepage = "hhttps://github.com/jugla/pyKeyAtome";
homepage = "https://github.com/jugla/pyKeyAtome";
license = licenses.mit;
maintainers = with maintainers; [ fab ];
};

View File

@ -10,14 +10,16 @@
}:
buildPythonPackage rec {
pname = "Pyro4";
version = "4.81";
pname = "pyro4";
version = "4.82";
format = "setuptools";
disabled = isPy27;
src = fetchPypi {
inherit pname version;
sha256 = "e130da06478b813173b959f7013d134865e07fbf58cc5f1a2598f99479cdac5f";
pname = "Pyro4";
inherit version;
hash = "sha256-UR9bCATpLdd9wzrfnJR3h+P56cWpaxIWLwVXp8TOIfs=";
};
propagatedBuildInputs = [
@ -30,13 +32,18 @@ buildPythonPackage rec {
msgpack
];
checkInputs = [ pytestCheckHook ];
checkInputs = [
pytestCheckHook
];
# add testsupport.py to PATH
preCheck = "PYTHONPATH=tests/PyroTests:$PYTHONPATH";
# ignore network related tests, which fail in sandbox
pytestFlagsArray = [ "--ignore=tests/PyroTests/test_naming.py" ];
pytestFlagsArray = [
# ignore network related tests, which fail in sandbox
"--ignore=tests/PyroTests/test_naming.py"
];
disabledTests = [
"StartNSfunc"
@ -47,6 +54,10 @@ buildPythonPackage rec {
# otherwise the tests hang the build
__darwinAllowLocalNetworking = true;
pythonImportsCheck = [
"Pyro4"
];
meta = with lib; {
description = "Distributed object middleware for Python (RPC)";
homepage = "https://github.com/irmen/Pyro4";

View File

@ -1,7 +1,7 @@
{ lib
, buildPythonPackage
, pythonOlder
, fetchFromGitHub
, fetchPypi
, pyaes
, pysocks
, async-lru
@ -11,15 +11,14 @@
buildPythonPackage rec {
pname = "pyrogram";
version = "1.3.0";
version = "1.3.1";
disabled = pythonOlder "3.6";
src = fetchFromGitHub {
owner = "pyrogram";
repo = "pyrogram";
rev = "v${version}";
sha256 = "09rxdd5bl1yby76xd3wcyrmlb4glixs637nj1w05gh2rp3gppkf8";
src = fetchPypi {
pname = "Pyrogram";
inherit version;
sha256 = "e883c001ebf2d0f5ce6805063470c92436c493eb15547923e5d437e2c13f66cd";
};
propagatedBuildInputs = [

View File

@ -9,14 +9,14 @@
buildPythonPackage rec {
pname = "pysma";
version = "0.6.9";
version = "0.6.10";
format = "setuptools";
disabled = pythonOlder "3.8";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-2ZU3UjDNo+fpnYK4WlYSu7XqkbpcK7Xz5cUKDABhwdk=";
sha256 = "990abf6dba3f52b98970fc95aaf484e521faa9ff28c9c19f5a6dca3fddf5840c";
};
propagatedBuildInputs = [

View File

@ -48,7 +48,7 @@ buildPythonPackage rec {
meta = with lib; {
description = "Python SPNEGO authentication library";
homepage = "Python SPNEGO authentication library";
homepage = "https://github.com/jborean93/pyspnego";
license = with licenses; [ mit ];
maintainers = with maintainers; [ fab ];
};

View File

@ -10,11 +10,11 @@
buildPythonPackage rec {
pname = "pytest-order";
version = "1.0.0";
version = "1.0.1";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-WZeiYrMSNO67Rh+anvJGh79zICm0mYRaQ5i2nttawyE=";
sha256 = "sha256-Xda5KfvX6qbQ7gdYb2XGI7q7Cv5ytIQ8XxUFXWs7Gx8=";
};
buildInputs = [ pytest ];

View File

@ -2,19 +2,21 @@
buildGoModule rec {
pname = "mani";
version = "0.10.0";
version = "0.11.1";
src = fetchFromGitHub {
owner = "alajmo";
repo = "mani";
rev = "v${version}";
sha256 = "sha256-9rcgPeYFHdIN73K0zGPEHqFFLFkVYkNYRXJ+0/Zo4zI=";
sha256 = "sha256-9SvjgXQADDNyv8O9KKE3gKXu67Nz5LepayUXSbWwEoY=";
};
vendorSha256 = "sha256-ZivzDfjx2djzS0Xm3GISK3zpB5fUUMgy2o4Ti1Z9wMM=";
vendorSha256 = "sha256-cuAZN08A2nND9d4c9w+kTqiMB9yaJ49Q0aT/V0J9FRw=";
nativeBuildInputs = [ installShellFiles makeWrapper ];
ldflags = [ "-s" "-w" "-X github.com/alajmo/mani/cmd.version=${version}" ];
postInstall = ''
installShellCompletion --cmd mani \
--bash <($out/bin/mani completion bash) \

View File

@ -27,7 +27,8 @@ let
# to update:
# 1) change all these hashes
# 2) nix-build -A tree-sitter.updater.update-all-grammars
# 3) run the ./result script that is output by that (it updates ./grammars)
# 3) OPTIONAL: Set GITHUB_TOKEN env variable to avoid api rate limit
# 4) run the ./result script that is output by that (it updates ./grammars)
version = "0.20.1";
sha256 = "sha256-JKbL05hFWI0jhAnRT9D0SWCoRPFqoMD4+LQQ1zyWc7g=";
cargoSha256 = "sha256-64O+3GrDqhRGth20B2/+jNDYSnwvT3SqYVqYNthiCB0=";

View File

@ -360,9 +360,15 @@ let
# generic bash script to find the latest github release for a repo
latestGithubRelease = { orga, repo }: writeShellScript "latest-github-release" ''
set -euo pipefail
res=$(${curl}/bin/curl \
--silent \
"https://api.github.com/repos/${urlEscape orga}/${urlEscape repo}/releases/latest")
args=( '--silent' )
if [ -n "$GITHUB_TOKEN" ]; then
args+=( "-H" "Authorization: token ''${GITHUB_TOKEN}" )
fi
args+=( "https://api.github.com/repos/${urlEscape orga}/${urlEscape repo}/releases/latest" )
res=$(${curl}/bin/curl "''${args[@]}")
if [[ "$(printf "%s" "$res" | ${jq}/bin/jq '.message?')" =~ "rate limit" ]]; then
echo "rate limited" >&2
fi
@ -378,9 +384,14 @@ let
# find the latest repos of a github organization
latestGithubRepos = { orga }: writeShellScript "latest-github-repos" ''
set -euo pipefail
res=$(${curl}/bin/curl \
--silent \
'https://api.github.com/orgs/${urlEscape orga}/repos?per_page=100')
args=( '--silent' )
if [ -n "$GITHUB_TOKEN" ]; then
args+=( "-H" "Authorization: token ''${GITHUB_TOKEN}" )
fi
args+=( 'https://api.github.com/orgs/${urlEscape orga}/repos?per_page=100' )
res=$(${curl}/bin/curl "''${args[@]}")
if [[ "$(printf "%s" "$res" | ${jq}/bin/jq '.message?')" =~ "rate limit" ]]; then
echo "rate limited" >&2 #

View File

@ -1,16 +1,17 @@
{ lib, fetchurl, appimageTools, python }:
{ lib, fetchurl, appimageTools, python, gsettings-desktop-schemas, gtk3 }:
let
pname = "heroic";
version = "1.10.3";
version = "2.0.2";
name = "${pname}-${version}";
src = fetchurl {
url = "https://github.com/Heroic-Games-Launcher/HeroicGamesLauncher/releases/download/v${version}/Heroic-${version}.AppImage";
sha256 = "sha256-0VQ5rSGGsEAsOLB4H/Hn2w7wCOrCSoVFzCBqNV5NyVE=";
sha256 = "sha256-4gq0ZCcPIx/CkFNZTM5Atkd/GP6v1t3MO2tibrKkcZQ=";
};
appimageContents = appimageTools.extractType2 { inherit name src; };
in appimageTools.wrapType2 {
in
appimageTools.wrapType2 {
inherit name src;
extraInstallCommands = ''
@ -28,6 +29,10 @@ in appimageTools.wrapType2 {
--replace 'Exec=AppRun' 'Exec=heroic'
'';
profile = ''
export XDG_DATA_DIRS=${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}:${gtk3}/share/gsettings-schemas/${gtk3.name}:$XDG_DATA_DIRS
'';
meta = with lib; {
description = "A Native GUI Epic Games Launcher for Linux, Windows and Mac";
homepage = "https://github.com/Heroic-Games-Launcher/HeroicGamesLauncher";

View File

@ -3442,6 +3442,18 @@ final: prev:
meta.homepage = "https://github.com/vim-scripts/mayansmoke/";
};
mini-nvim = buildVimPluginFrom2Nix {
pname = "mini.nvim";
version = "2022-01-06";
src = fetchFromGitHub {
owner = "echasnovski";
repo = "mini.nvim";
rev = "a1aa674e94c81feb1fc210527324bfb1e4a08b6f";
sha256 = "1blpk5p1lpd87ramnp5nqv188p8wdxsg8d1w811pmxqwas2ji7f5";
};
meta.homepage = "https://github.com/echasnovski/mini.nvim/";
};
minimap-vim = buildVimPluginFrom2Nix {
pname = "minimap.vim";
version = "2022-01-04";

View File

@ -129,6 +129,7 @@ dylanaraps/wal.vim
eagletmt/ghcmod-vim
eagletmt/neco-ghc
easymotion/vim-easymotion
echasnovski/mini.nvim
eddiebergman/nvim-treesitter-pyfold
eddyekofo94/gruvbox-flat.nvim
EdenEast/nightfox.nvim

View File

@ -16,6 +16,22 @@ python3.pkgs.buildPythonApplication rec {
sha256 = "sha256-rR5pUB3A0WNQxq7ZJ6ykua7hMlzs49aMmVbBUOkOVfA=";
};
propagatedBuildInputs = with python3Packages; [
backports_abc
flask-babel
flask_login
flask_principal
flask_wtf
iso-639
lxml
pypdf3
requests
sqlalchemy
tornado
unidecode
Wand
];
patches = [
# default-logger.patch switches default logger to /dev/stdout. Otherwise calibre-web tries to open a file relative
# to its location, which can't be done as the store is read-only. Log file location can later be configured using UI
@ -36,39 +52,24 @@ python3.pkgs.buildPythonApplication rec {
mv cps src/calibreweb
substituteInPlace setup.cfg \
--replace "requests>=2.11.1,<2.25.0" "requests" \
--replace "cps = calibreweb:main" "calibre-web = calibreweb:main" \
--replace "flask-wtf>=0.14.2,<0.16.0" "flask-wtf>=0.14.2" \
--replace "lxml>=3.8.0,<4.7.0" "lxml>=3.8.0" \
--replace "PyPDF3>=1.0.0,<1.0.4" "PyPDF3>=1.0.0" \
--replace "unidecode>=0.04.19,<1.3.0" "unidecode>=0.04.19" \
--replace "flask-wtf>=0.14.2,<0.16.0" "flask-wtf>=0.14.2"
--replace "requests>=2.11.1,<2.25.0" "requests" \
--replace "unidecode>=0.04.19,<1.3.0" "unidecode>=0.04.19"
'';
# Upstream repo doesn't provide any tests.
doCheck = false;
propagatedBuildInputs = with python3Packages; [
backports_abc
flask-babel
flask_login
flask_principal
flask_wtf
iso-639
lxml
pypdf3
requests
sqlalchemy
tornado
unidecode
Wand
];
passthru.tests.calibre-web = nixosTests.calibre-web;
meta = with lib; {
description = "Web app for browsing, reading and downloading eBooks stored in a Calibre database";
maintainers = with maintainers; [ pborzenkov ];
homepage = "https://github.com/janeczku/calibre-web";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ pborzenkov ];
platforms = platforms.all;
};
}

View File

@ -0,0 +1,137 @@
{ lib
, stdenv
, fetchFromGitHub
, fetchpatch
, python3Packages
# build time
, autoreconfHook
, flex
, bison
, perl
, pkg-config
, texinfo
# runtime
, c-ares
, json_c
, libcap
, libelf
, libunwind
, libyang
, net-snmp
, openssl
, pam
, pcre2
, python3
, readline
# tests
, nettools
, nixosTests
}:
stdenv.mkDerivation rec {
pname = "frr";
version = "8.1";
src = fetchFromGitHub {
owner = "FRRouting";
repo = pname;
rev = "${pname}-${version}";
sha256 = "sha256-hJcgLiPBxOE5QEh0RhtZhM3dOxFqW5H0TUjN+aP4qRk=";
};
patches = [
(fetchpatch {
# Fix clippy build on aarch64-linux
# https://github.com/FRRouting/frr/issues/10267
url = "https://github.com/FRRouting/frr/commit/3942ee1f7bc754dd0dd9ae79f89d0f2635be334f.patch";
sha256 = "1i0acfy5k9fbm9cxchrcvkhyw9704srq4wm2hyjqgdimm2dq7ryf";
})
];
nativeBuildInputs = [
autoreconfHook
bison
flex
perl
pkg-config
python3Packages.sphinx
texinfo
];
buildInputs = [
c-ares
json_c
libelf
libunwind
libyang
net-snmp
openssl
pam
pcre2
python3
readline
] ++ lib.optionals stdenv.isLinux [
libcap
];
configureFlags = [
"--sysconfdir=/etc/frr"
"--localstatedir=/run/frr"
"--sbindir=$(out)/libexec/frr"
"--disable-exampledir"
"--enable-user=frr"
"--enable-group=frr"
"--enable-configfile-mask=0640"
"--enable-logfile-mask=0640"
"--enable-vty-group=frrvty"
"--enable-snmp"
"--enable-multipath=64"
];
postPatch = ''
substituteInPlace tools/frr-reload --replace /usr/lib/frr/ $out/libexec/frr/
'';
doCheck = true;
checkInputs = [
nettools
python3Packages.pytest
];
enableParallelBuilding = true;
passthru.tests = { inherit (nixosTests) frr; };
meta = with lib; {
description = "FRR BGP/OSPF/ISIS/RIP/RIPNG routing daemon suite";
longDescription = ''
FRRouting (FRR) is a free and open source Internet routing protocol suite
for Linux and Unix platforms. It implements BGP, OSPF, RIP, IS-IS, PIM,
LDP, BFD, Babel, PBR, OpenFabric and VRRP, with alpha support for EIGRP
and NHRP.
FRRs seamless integration with native Linux/Unix IP networking stacks
makes it a general purpose routing stack applicable to a wide variety of
use cases including connecting hosts/VMs/containers to the network,
advertising network services, LAN switching and routing, Internet access
routers, and Internet peering.
FRR has its roots in the Quagga project. In fact, it was started by many
long-time Quagga developers who combined their efforts to improve on
Quaggas well-established foundation in order to create the best routing
protocol stack available. We invite you to participate in the FRRouting
community and help shape the future of networking.
Join the ranks of network architects using FRR for ISPs, SaaS
infrastructure, web 2.0 businesses, hyperscale services, and Fortune 500
private clouds.
'';
homepage = "https://frrouting.org/";
license = with licenses; [ gpl2Plus lgpl21Plus ];
platforms = platforms.unix;
maintainers = with maintainers; [ woffs ];
};
}

View File

@ -0,0 +1,21 @@
{ lib, buildGoModule, fetchurl }:
import ./versions.nix ({version, sha256}:
buildGoModule {
pname = "honeymarker";
inherit version;
vendorSha256 = "sha256-ZuDobjC/nizZ7G0o/zVTQmDfDjcdBhfPcmkhgwFc7VU=";
src = fetchurl {
url = "https://github.com/honeycombio/honeymarker/archive/refs/tags/v${version}.tar.gz";
inherit sha256;
};
inherit (buildGoModule.go) GOOS GOARCH;
meta = with lib; {
description = "provides a simple CRUD interface for dealing with per-dataset markers on honeycomb.io";
homepage = "https://honeycomb.io/";
license = licenses.asl20;
maintainers = [ maintainers.iand675 ];
};
})

View File

@ -0,0 +1,6 @@
generic: {
v0_2_1 = generic {
version = "0.2.1";
sha256 = "0gp427bsc1y7k6j1sqgl8r3kng5b0qhmqd4bpfb9139ivmp2sykk";
};
}

View File

@ -0,0 +1,21 @@
{ lib, buildGoModule, fetchurl }:
import ./versions.nix ({version, sha256}:
buildGoModule {
pname = "honeytail";
inherit version;
vendorSha256 = "sha256-LtiiLGLjhbfT49A6Fw5CbSbnmTHMxtcUssr+ayCVrvY=";
src = fetchurl {
url = "https://github.com/honeycombio/honeytail/archive/refs/tags/v${version}.tar.gz";
inherit sha256;
};
inherit (buildGoModule.go) GOOS GOARCH;
meta = with lib; {
description = "agent for ingesting log file data into honeycomb.io and making it available for exploration";
homepage = "https://honeycomb.io/";
license = licenses.asl20;
maintainers = [ maintainers.iand675 ];
};
})

View File

@ -0,0 +1,6 @@
generic: {
v1_6_0 = generic {
version = "1.6.0";
sha256 = "039svpvqjck7s3rq86s29xgcyxl1wr0zj90s3jsyp058zk1dgwdy";
};
}

View File

@ -0,0 +1,21 @@
{ lib, buildGoModule, fetchurl }:
import ./versions.nix ({version, sha256}:
buildGoModule {
pname = "honeyvent";
inherit version;
vendorSha256 = null;
src = fetchurl {
url = "https://github.com/honeycombio/honeyvent/archive/refs/tags/v${version}.tar.gz";
inherit sha256;
};
inherit (buildGoModule.go) GOOS GOARCH;
meta = with lib; {
description = "CLI for sending individual events to honeycomb.io";
homepage = "https://honeycomb.io/";
license = licenses.asl20;
maintainers = [ maintainers.iand675 ];
};
})

View File

@ -0,0 +1,6 @@
generic: {
v1_1_0 = generic {
version = "1.1.0";
sha256 = "0ar2m25ngdd1wk7d70j2781wbrvhjhf9cj9qvp24jjrhqng6hvn7";
};
}

View File

@ -6,6 +6,7 @@
, openssl
, installShellFiles
, libiconv
, nixosTests
, Security
}:
@ -40,10 +41,14 @@ rustPlatform.buildRustPackage rec {
HOME=$TMPDIR
'';
passthru.tests = {
inherit (nixosTests) starship;
};
meta = with lib; {
description = "A minimal, blazing fast, and extremely customizable prompt for any shell";
homepage = "https://starship.rs";
license = licenses.isc;
maintainers = with maintainers; [ bbigras davidtwco Br1ght0ne Frostman marsam ];
maintainers = with maintainers; [ bbigras danth davidtwco Br1ght0ne Frostman marsam ];
};
}

View File

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "steampipe";
version = "0.11.0";
version = "0.11.2";
src = fetchFromGitHub {
owner = "turbot";
repo = "steampipe";
rev = "v${version}";
sha256 = "sha256-P/Fys9/V71+VL5Az3EGGaW+tdeQbr2wO+jvVSVZmJT0=";
sha256 = "sha256-omg/MgCTKkj0p1vDvJs22/0Jhzim0CeISV0Kn9p5lh4=";
};
vendorSha256 = "sha256-PYaq74NNEOJ1jZ6PoS6zcTiUN4JA9JDjO7GB9tqgT6c=";

View File

@ -0,0 +1,36 @@
{ lib, buildGoModule, fetchFromGitHub }:
buildGoModule rec {
pname = "spire";
version = "1.1.2";
outputs = [ "out" "agent" "server" ];
src = fetchFromGitHub {
owner = "spiffe";
repo = pname;
rev = "v${version}";
sha256 = "sha256-MX2kbdLj72S2WBceUW/3ps34Bcsf/VArK8RN4r13wQY=";
};
vendorSha256 = "sha256-ZRcXMNKhNY3W5fV9q/V7xsnODoG6KWHrzpWte9hx/Ms=";
subPackages = [ "cmd/spire-agent" "cmd/spire-server" ];
# Usually either the agent or server is needed for a given use case, but not both
postInstall = ''
mkdir -vp $agent/bin $server/bin
mv -v $out/bin/spire-agent $agent/bin/
mv -v $out/bin/spire-server $server/bin/
ln -vs $agent/bin/spire-agent $out/bin/spire-agent
ln -vs $server/bin/spire-server $out/bin/spire-server
'';
meta = with lib; {
description = "The SPIFFE Runtime Environment";
homepage = "github.com/spiffe/spire";
license = licenses.asl20;
maintainers = with maintainers; [ jonringer ];
};
}

View File

@ -5330,6 +5330,8 @@ with pkgs;
flvstreamer = callPackage ../tools/networking/flvstreamer { };
frr = callPackage ../servers/frr { };
hmetis = pkgsi686Linux.callPackage ../applications/science/math/hmetis { };
libbsd = callPackage ../development/libraries/libbsd { };
@ -9723,6 +9725,11 @@ with pkgs;
spicy = callPackage ../development/tools/spicy { };
spire = callPackage ../tools/security/spire { };
# to match naming of other package repositories
spire-agent = spire.agent;
spire-server = spire.server;
spoof-mac = python3Packages.callPackage ../tools/networking/spoof-mac { };
ssh-askpass-fullscreen = callPackage ../tools/networking/ssh-askpass-fullscreen { };
@ -18719,6 +18726,8 @@ with pkgs;
libyamlcpp_0_3 = callPackage ../development/libraries/libyaml-cpp/0.3.0.nix { };
libyang = callPackage ../development/libraries/libyang { };
libcyaml = callPackage ../development/libraries/libcyaml { };
rang = callPackage ../development/libraries/rang { };
@ -26734,6 +26743,8 @@ with pkgs;
kubetail = callPackage ../applications/networking/cluster/kubetail { } ;
kup = libsForQt5.callPackage ../applications/misc/kup { };
kupfer = callPackage ../applications/misc/kupfer { };
kvirc = libsForQt514.callPackage ../applications/networking/irc/kvirc { };
@ -34348,4 +34359,10 @@ with pkgs;
};
zthrottle = callPackage ../tools/misc/zthrottle { };
honeymarker = callPackage ../servers/tracing/honeycomb/honeymarker { };
honeytail = callPackage ../servers/tracing/honeycomb/honeytail { };
honeyvent = callPackage ../servers/tracing/honeycomb/honeyvent { };
}