diff --git a/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml b/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml index 14c6afa2480d..536c8e142737 100644 --- a/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml +++ b/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml @@ -75,6 +75,14 @@ services.filebeat. + + + FRRouting, a + popular suite of Internet routing protocol daemons (BGP, BFD, + OSPF, IS-IS, VVRP and others). Available as + services.frr + + heisenbridge, @@ -437,6 +445,15 @@ renamed to linux-firmware. + + + A new module was added for the + Starship shell + prompt, providing the options + programs.starship.enable and + programs.starship.settings. + + diff --git a/nixos/doc/manual/release-notes/rl-2205.section.md b/nixos/doc/manual/release-notes/rl-2205.section.md index b268961fce19..c3b7d91b4254 100644 --- a/nixos/doc/manual/release-notes/rl-2205.section.md +++ b/nixos/doc/manual/release-notes/rl-2205.section.md @@ -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`. diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 3d54810050a5..e710d4282dd6 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -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 diff --git a/nixos/modules/programs/starship.nix b/nixos/modules/programs/starship.nix new file mode 100644 index 000000000000..83d2272003c6 --- /dev/null +++ b/nixos/modules/programs/starship.nix @@ -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 starship.toml. + + 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; +} diff --git a/nixos/modules/services/networking/frr.nix b/nixos/modules/services/networking/frr.nix new file mode 100644 index 000000000000..45a82b9450a4 --- /dev/null +++ b/nixos/modules/services/networking/frr.nix @@ -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 ]; + +} diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index 5ebe07ad3cb7..95ce2cc5ccf2 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -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 {}; diff --git a/nixos/tests/frr.nix b/nixos/tests/frr.nix new file mode 100644 index 000000000000..598d7a7d2867 --- /dev/null +++ b/nixos/tests/frr.nix @@ -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") + ''; + }) diff --git a/nixos/tests/starship.nix b/nixos/tests/starship.nix new file mode 100644 index 000000000000..f21da1e6e255 --- /dev/null +++ b/nixos/tests/starship.nix @@ -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 = ""; + }; + }; + + 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 '' /tmp/{shell}.txt") + ''; +}) diff --git a/pkgs/applications/audio/meters_lv2/default.nix b/pkgs/applications/audio/meters_lv2/default.nix index b21b859596e1..86c7e64a6e64 100644 --- a/pkgs/applications/audio/meters_lv2/default.nix +++ b/pkgs/applications/audio/meters_lv2/default.nix @@ -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; + }; } diff --git a/pkgs/applications/blockchains/elements/default.nix b/pkgs/applications/blockchains/elements/default.nix index b0ed8a1a2e87..6c8d895e03a4 100644 --- a/pkgs/applications/blockchains/elements/default.nix +++ b/pkgs/applications/blockchains/elements/default.nix @@ -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 = diff --git a/pkgs/applications/editors/featherpad/default.nix b/pkgs/applications/editors/featherpad/default.nix index 80328fb06f82..f722f8c3db82 100644 --- a/pkgs/applications/editors/featherpad/default.nix +++ b/pkgs/applications/editors/featherpad/default.nix @@ -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 ]; diff --git a/pkgs/applications/kde/kbreakout.nix b/pkgs/applications/kde/kbreakout.nix index b29c83914c6e..ad58bde5838b 100644 --- a/pkgs/applications/kde/kbreakout.nix +++ b/pkgs/applications/kde/kbreakout.nix @@ -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 ]; }; diff --git a/pkgs/applications/misc/gphoto2/default.nix b/pkgs/applications/misc/gphoto2/default.nix index 8d612ceb413d..b65904006751 100644 --- a/pkgs/applications/misc/gphoto2/default.nix +++ b/pkgs/applications/misc/gphoto2/default.nix @@ -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 = [ diff --git a/pkgs/applications/misc/hugo/default.nix b/pkgs/applications/misc/hugo/default.nix index 2d8bb1689cc9..264b4ba53dd8 100644 --- a/pkgs/applications/misc/hugo/default.nix +++ b/pkgs/applications/misc/hugo/default.nix @@ -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; diff --git a/pkgs/applications/misc/kup/default.nix b/pkgs/applications/misc/kup/default.nix new file mode 100644 index 000000000000..3ac622b11ff5 --- /dev/null +++ b/pkgs/applications/misc/kup/default.nix @@ -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 ]; + }; +} diff --git a/pkgs/applications/misc/toggldesktop/default.nix b/pkgs/applications/misc/toggldesktop/default.nix index dfd68fd5ac19..6623a8775a93 100644 --- a/pkgs/applications/misc/toggldesktop/default.nix +++ b/pkgs/applications/misc/toggldesktop/default.nix @@ -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 ]; diff --git a/pkgs/applications/networking/browsers/chromium/upstream-info.json b/pkgs/applications/networking/browsers/chromium/upstream-info.json index 7c490e860d41..7358c1e3ab31 100644 --- a/pkgs/applications/networking/browsers/chromium/upstream-info.json +++ b/pkgs/applications/networking/browsers/chromium/upstream-info.json @@ -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", diff --git a/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix b/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix index e1c93fe97726..f35ae98f71c4 100644 --- a/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix +++ b/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix @@ -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 diff --git a/pkgs/applications/networking/instant-messengers/bitlbee/default.nix b/pkgs/applications/networking/instant-messengers/bitlbee/default.nix index 4ecc449fe85a..de8c4dc1026e 100644 --- a/pkgs/applications/networking/instant-messengers/bitlbee/default.nix +++ b/pkgs/applications/networking/instant-messengers/bitlbee/default.nix @@ -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 }; } diff --git a/pkgs/applications/networking/instant-messengers/ferdi/default.nix b/pkgs/applications/networking/instant-messengers/ferdi/default.nix index 2389aee53a99..9723f7111e7e 100644 --- a/pkgs/applications/networking/instant-messengers/ferdi/default.nix +++ b/pkgs/applications/networking/instant-messengers/ferdi/default.nix @@ -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; { diff --git a/pkgs/applications/networking/mailreaders/notmuch/default.nix b/pkgs/applications/networking/mailreaders/notmuch/default.nix index dbbfddcb2c01..2a95453f7ae3 100644 --- a/pkgs/applications/networking/mailreaders/notmuch/default.nix +++ b/pkgs/applications/networking/mailreaders/notmuch/default.nix @@ -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 = [ diff --git a/pkgs/applications/science/machine-learning/finalfusion-utils/default.nix b/pkgs/applications/science/machine-learning/finalfusion-utils/default.nix index 1b5b2fc35d84..dbb187dc35ee 100644 --- a/pkgs/applications/science/machine-learning/finalfusion-utils/default.nix +++ b/pkgs/applications/science/machine-learning/finalfusion-utils/default.nix @@ -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 ]; diff --git a/pkgs/applications/science/misc/cwltool/default.nix b/pkgs/applications/science/misc/cwltool/default.nix index 7cbd9354a372..cd5e5409a483 100644 --- a/pkgs/applications/science/misc/cwltool/default.nix +++ b/pkgs/applications/science/misc/cwltool/default.nix @@ -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," "" ''; diff --git a/pkgs/applications/version-management/cvs2svn/default.nix b/pkgs/applications/version-management/cvs2svn/default.nix index c36d9c738cfa..f8d84f4e93c0 100644 --- a/pkgs/applications/version-management/cvs2svn/default.nix +++ b/pkgs/applications/version-management/cvs2svn/default.nix @@ -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 diff --git a/pkgs/applications/version-management/git-and-tools/gitty/default.nix b/pkgs/applications/version-management/git-and-tools/gitty/default.nix index bc27c4eb9094..759694b0eb3e 100644 --- a/pkgs/applications/version-management/git-and-tools/gitty/default.nix +++ b/pkgs/applications/version-management/git-and-tools/gitty/default.nix @@ -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}" ]; diff --git a/pkgs/data/icons/kora-icon-theme/default.nix b/pkgs/data/icons/kora-icon-theme/default.nix index 9ecc7f76c073..8df63a75ad8d 100644 --- a/pkgs/data/icons/kora-icon-theme/default.nix +++ b/pkgs/data/icons/kora-icon-theme/default.nix @@ -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 = [ diff --git a/pkgs/development/compilers/chicken/4/egg2nix.nix b/pkgs/development/compilers/chicken/4/egg2nix.nix index 422053ea9d81..dfbec7442ed4 100644 --- a/pkgs/development/compilers/chicken/4/egg2nix.nix +++ b/pkgs/development/compilers/chicken/4/egg2nix.nix @@ -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 ]; diff --git a/pkgs/development/compilers/fsharp/default.nix b/pkgs/development/compilers/fsharp/default.nix index 19b79989dc23..20a33307bf3c 100644 --- a/pkgs/development/compilers/fsharp/default.nix +++ b/pkgs/development/compilers/fsharp/default.nix @@ -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 ]; diff --git a/pkgs/development/compilers/mosml/default.nix b/pkgs/development/compilers/mosml/default.nix index e7dc9ceae6d9..44ed1185fafc 100644 --- a/pkgs/development/compilers/mosml/default.nix +++ b/pkgs/development/compilers/mosml/default.nix @@ -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)"''; diff --git a/pkgs/development/compilers/teyjus/default.nix b/pkgs/development/compilers/teyjus/default.nix index 74ba1866b555..ac1a2f8abd53 100644 --- a/pkgs/development/compilers/teyjus/default.nix +++ b/pkgs/development/compilers/teyjus/default.nix @@ -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 ]; diff --git a/pkgs/development/interpreters/bats/default.nix b/pkgs/development/interpreters/bats/default.nix index 1412985a247e..f8fe2a46cc70 100644 --- a/pkgs/development/interpreters/bats/default.nix +++ b/pkgs/development/interpreters/bats/default.nix @@ -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 ]; diff --git a/pkgs/development/interpreters/lolcode/default.nix b/pkgs/development/interpreters/lolcode/default.nix index 65653701b806..0bb95ed6ea52 100644 --- a/pkgs/development/interpreters/lolcode/default.nix +++ b/pkgs/development/interpreters/lolcode/default.nix @@ -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 ]; diff --git a/pkgs/development/libraries/libcec/platform.nix b/pkgs/development/libraries/libcec/platform.nix index 45c34b53cd77..cba1d0ba4c59 100644 --- a/pkgs/development/libraries/libcec/platform.nix +++ b/pkgs/development/libraries/libcec/platform.nix @@ -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 ]; diff --git a/pkgs/development/libraries/libite/default.nix b/pkgs/development/libraries/libite/default.nix index 3c1d1e890207..067eba793f7f 100644 --- a/pkgs/development/libraries/libite/default.nix +++ b/pkgs/development/libraries/libite/default.nix @@ -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 ]; diff --git a/pkgs/development/libraries/libyang/default.nix b/pkgs/development/libraries/libyang/default.nix new file mode 100644 index 000000000000..6a07371261ae --- /dev/null +++ b/pkgs/development/libraries/libyang/default.nix @@ -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 ]; + }; +} diff --git a/pkgs/development/ocaml-modules/lwt/ppx.nix b/pkgs/development/ocaml-modules/lwt/ppx.nix index 2df17844d1a0..1ba21af864bb 100644 --- a/pkgs/development/ocaml-modules/lwt/ppx.nix +++ b/pkgs/development/ocaml-modules/lwt/ppx.nix @@ -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 ]; diff --git a/pkgs/development/ocaml-modules/type_conv/109.60.01.nix b/pkgs/development/ocaml-modules/type_conv/109.60.01.nix index cc77a731f020..4ec160a92230 100644 --- a/pkgs/development/ocaml-modules/type_conv/109.60.01.nix +++ b/pkgs/development/ocaml-modules/type_conv/109.60.01.nix @@ -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 ]; diff --git a/pkgs/development/ocaml-modules/type_conv/112.01.01.nix b/pkgs/development/ocaml-modules/type_conv/112.01.01.nix index c71bfa00e7ef..e90ca2d16a64 100644 --- a/pkgs/development/ocaml-modules/type_conv/112.01.01.nix +++ b/pkgs/development/ocaml-modules/type_conv/112.01.01.nix @@ -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 = { diff --git a/pkgs/development/python-modules/billiard/default.nix b/pkgs/development/python-modules/billiard/default.nix index 79aca1e4a99f..f02bef97ba34 100644 --- a/pkgs/development/python-modules/billiard/default.nix +++ b/pkgs/development/python-modules/billiard/default.nix @@ -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; [ ]; }; } diff --git a/pkgs/development/python-modules/case/default.nix b/pkgs/development/python-modules/case/default.nix index 3f95d9e22afc..36efc1aab3bc 100644 --- a/pkgs/development/python-modules/case/default.nix +++ b/pkgs/development/python-modules/case/default.nix @@ -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; [ ]; }; } diff --git a/pkgs/development/python-modules/deprecation/default.nix b/pkgs/development/python-modules/deprecation/default.nix index fb5698062f77..d77554c79ab8 100644 --- a/pkgs/development/python-modules/deprecation/default.nix +++ b/pkgs/development/python-modules/deprecation/default.nix @@ -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 diff --git a/pkgs/development/python-modules/jenkins-job-builder/default.nix b/pkgs/development/python-modules/jenkins-job-builder/default.nix index 5613b904f63d..89b9ba1f6df0 100644 --- a/pkgs/development/python-modules/jenkins-job-builder/default.nix +++ b/pkgs/development/python-modules/jenkins-job-builder/default.nix @@ -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 ''; diff --git a/pkgs/development/python-modules/pecan/default.nix b/pkgs/development/python-modules/pecan/default.nix index a488f15fbed8..0931cc2b28d8 100644 --- a/pkgs/development/python-modules/pecan/default.nix +++ b/pkgs/development/python-modules/pecan/default.nix @@ -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 ]; }; } diff --git a/pkgs/development/python-modules/pykeyatome/default.nix b/pkgs/development/python-modules/pykeyatome/default.nix index a2198c258e60..145ea83abeb8 100644 --- a/pkgs/development/python-modules/pykeyatome/default.nix +++ b/pkgs/development/python-modules/pykeyatome/default.nix @@ -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 ]; }; diff --git a/pkgs/development/python-modules/pyro4/default.nix b/pkgs/development/python-modules/pyro4/default.nix index 867e42485975..96b0e08a56d9 100644 --- a/pkgs/development/python-modules/pyro4/default.nix +++ b/pkgs/development/python-modules/pyro4/default.nix @@ -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"; diff --git a/pkgs/development/python-modules/pyrogram/default.nix b/pkgs/development/python-modules/pyrogram/default.nix index c1b3d8c4b648..da15590e5da4 100644 --- a/pkgs/development/python-modules/pyrogram/default.nix +++ b/pkgs/development/python-modules/pyrogram/default.nix @@ -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 = [ diff --git a/pkgs/development/python-modules/pysma/default.nix b/pkgs/development/python-modules/pysma/default.nix index cf2325633fba..81fc1d5709e9 100644 --- a/pkgs/development/python-modules/pysma/default.nix +++ b/pkgs/development/python-modules/pysma/default.nix @@ -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 = [ diff --git a/pkgs/development/python-modules/pyspnego/default.nix b/pkgs/development/python-modules/pyspnego/default.nix index 8ba191317ea0..561ec037c0a2 100644 --- a/pkgs/development/python-modules/pyspnego/default.nix +++ b/pkgs/development/python-modules/pyspnego/default.nix @@ -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 ]; }; diff --git a/pkgs/development/python-modules/pytest-order/default.nix b/pkgs/development/python-modules/pytest-order/default.nix index a49c958c3fcc..e40e0671bc03 100644 --- a/pkgs/development/python-modules/pytest-order/default.nix +++ b/pkgs/development/python-modules/pytest-order/default.nix @@ -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 ]; diff --git a/pkgs/development/tools/mani/default.nix b/pkgs/development/tools/mani/default.nix index 8cfebb34861e..1615c798286c 100644 --- a/pkgs/development/tools/mani/default.nix +++ b/pkgs/development/tools/mani/default.nix @@ -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) \ diff --git a/pkgs/development/tools/parsing/tree-sitter/default.nix b/pkgs/development/tools/parsing/tree-sitter/default.nix index b56cd98da637..9495e331bd13 100644 --- a/pkgs/development/tools/parsing/tree-sitter/default.nix +++ b/pkgs/development/tools/parsing/tree-sitter/default.nix @@ -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="; diff --git a/pkgs/development/tools/parsing/tree-sitter/update.nix b/pkgs/development/tools/parsing/tree-sitter/update.nix index 58d420fe4028..19d29f4eaa10 100644 --- a/pkgs/development/tools/parsing/tree-sitter/update.nix +++ b/pkgs/development/tools/parsing/tree-sitter/update.nix @@ -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 # diff --git a/pkgs/games/heroic/default.nix b/pkgs/games/heroic/default.nix index e6413a87f2ca..a877eed6213f 100644 --- a/pkgs/games/heroic/default.nix +++ b/pkgs/games/heroic/default.nix @@ -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"; diff --git a/pkgs/misc/vim-plugins/generated.nix b/pkgs/misc/vim-plugins/generated.nix index 123f17509857..5807f7756cef 100644 --- a/pkgs/misc/vim-plugins/generated.nix +++ b/pkgs/misc/vim-plugins/generated.nix @@ -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"; diff --git a/pkgs/misc/vim-plugins/vim-plugin-names b/pkgs/misc/vim-plugins/vim-plugin-names index 92a530d55fb7..fb55aff7812a 100644 --- a/pkgs/misc/vim-plugins/vim-plugin-names +++ b/pkgs/misc/vim-plugins/vim-plugin-names @@ -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 diff --git a/pkgs/servers/calibre-web/default.nix b/pkgs/servers/calibre-web/default.nix index 8b8e93bc27a0..87c06646b4f2 100644 --- a/pkgs/servers/calibre-web/default.nix +++ b/pkgs/servers/calibre-web/default.nix @@ -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; }; } diff --git a/pkgs/servers/frr/default.nix b/pkgs/servers/frr/default.nix new file mode 100644 index 000000000000..833710f1feca --- /dev/null +++ b/pkgs/servers/frr/default.nix @@ -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. + + FRR’s 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 + Quagga’s 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 ]; + }; +} diff --git a/pkgs/servers/tracing/honeycomb/honeymarker/default.nix b/pkgs/servers/tracing/honeycomb/honeymarker/default.nix new file mode 100644 index 000000000000..ab059b518e74 --- /dev/null +++ b/pkgs/servers/tracing/honeycomb/honeymarker/default.nix @@ -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 ]; + }; +}) + diff --git a/pkgs/servers/tracing/honeycomb/honeymarker/versions.nix b/pkgs/servers/tracing/honeycomb/honeymarker/versions.nix new file mode 100644 index 000000000000..c7fde50e15d0 --- /dev/null +++ b/pkgs/servers/tracing/honeycomb/honeymarker/versions.nix @@ -0,0 +1,6 @@ +generic: { + v0_2_1 = generic { + version = "0.2.1"; + sha256 = "0gp427bsc1y7k6j1sqgl8r3kng5b0qhmqd4bpfb9139ivmp2sykk"; + }; +} diff --git a/pkgs/servers/tracing/honeycomb/honeytail/default.nix b/pkgs/servers/tracing/honeycomb/honeytail/default.nix new file mode 100644 index 000000000000..cbe901f2859a --- /dev/null +++ b/pkgs/servers/tracing/honeycomb/honeytail/default.nix @@ -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 ]; + }; +}) + diff --git a/pkgs/servers/tracing/honeycomb/honeytail/versions.nix b/pkgs/servers/tracing/honeycomb/honeytail/versions.nix new file mode 100644 index 000000000000..370d645ab626 --- /dev/null +++ b/pkgs/servers/tracing/honeycomb/honeytail/versions.nix @@ -0,0 +1,6 @@ +generic: { + v1_6_0 = generic { + version = "1.6.0"; + sha256 = "039svpvqjck7s3rq86s29xgcyxl1wr0zj90s3jsyp058zk1dgwdy"; + }; +} diff --git a/pkgs/servers/tracing/honeycomb/honeyvent/default.nix b/pkgs/servers/tracing/honeycomb/honeyvent/default.nix new file mode 100644 index 000000000000..839b8ec053f7 --- /dev/null +++ b/pkgs/servers/tracing/honeycomb/honeyvent/default.nix @@ -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 ]; + }; +}) + diff --git a/pkgs/servers/tracing/honeycomb/honeyvent/versions.nix b/pkgs/servers/tracing/honeycomb/honeyvent/versions.nix new file mode 100644 index 000000000000..831de6c93372 --- /dev/null +++ b/pkgs/servers/tracing/honeycomb/honeyvent/versions.nix @@ -0,0 +1,6 @@ +generic: { + v1_1_0 = generic { + version = "1.1.0"; + sha256 = "0ar2m25ngdd1wk7d70j2781wbrvhjhf9cj9qvp24jjrhqng6hvn7"; + }; +} diff --git a/pkgs/tools/misc/starship/default.nix b/pkgs/tools/misc/starship/default.nix index 89d4bb662da7..165ed45d7b7a 100644 --- a/pkgs/tools/misc/starship/default.nix +++ b/pkgs/tools/misc/starship/default.nix @@ -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 ]; }; } diff --git a/pkgs/tools/misc/steampipe/default.nix b/pkgs/tools/misc/steampipe/default.nix index f3cd9b785f2f..8245f0561325 100644 --- a/pkgs/tools/misc/steampipe/default.nix +++ b/pkgs/tools/misc/steampipe/default.nix @@ -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="; diff --git a/pkgs/tools/security/spire/default.nix b/pkgs/tools/security/spire/default.nix new file mode 100644 index 000000000000..c5d33645f114 --- /dev/null +++ b/pkgs/tools/security/spire/default.nix @@ -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 ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 92fa161edf93..6454f69bfaf0 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -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 { }; }