diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix
index e4264fbd308..7eaed583f78 100644
--- a/maintainers/maintainer-list.nix
+++ b/maintainers/maintainer-list.nix
@@ -9185,6 +9185,12 @@
githubId = 1699155;
name = "Steve Elliott";
};
+ stephank = {
+ email = "nix@stephank.nl";
+ github = "stephank";
+ githubId = 89950;
+ name = "Stéphan Kochen";
+ };
stephenmw = {
email = "stephen@q5comm.com";
github = "stephenmw";
diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix
index 6f600a608dc..509bccb1ec7 100644
--- a/nixos/modules/module-list.nix
+++ b/nixos/modules/module-list.nix
@@ -658,6 +658,7 @@
./services/networking/dnscrypt-wrapper.nix
./services/networking/dnsdist.nix
./services/networking/dnsmasq.nix
+ ./services/networking/doh-proxy-rust.nix
./services/networking/ncdns.nix
./services/networking/nomad.nix
./services/networking/ejabberd.nix
diff --git a/nixos/modules/services/networking/doh-proxy-rust.nix b/nixos/modules/services/networking/doh-proxy-rust.nix
new file mode 100644
index 00000000000..0e55bc38665
--- /dev/null
+++ b/nixos/modules/services/networking/doh-proxy-rust.nix
@@ -0,0 +1,60 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+
+ cfg = config.services.doh-proxy-rust;
+
+in {
+
+ options.services.doh-proxy-rust = {
+
+ enable = mkEnableOption "doh-proxy-rust";
+
+ flags = mkOption {
+ type = types.listOf types.str;
+ default = [];
+ example = literalExample [ "--server-address=9.9.9.9:53" ];
+ description = ''
+ A list of command-line flags to pass to doh-proxy. For details on the
+ available options, see .
+ '';
+ };
+
+ };
+
+ config = mkIf cfg.enable {
+ systemd.services.doh-proxy-rust = {
+ description = "doh-proxy-rust";
+ after = [ "network.target" "nss-lookup.target" ];
+ wantedBy = [ "multi-user.target" ];
+ serviceConfig = {
+ ExecStart = "${pkgs.doh-proxy-rust}/bin/doh-proxy ${escapeShellArgs cfg.flags}";
+ Restart = "always";
+ RestartSec = 10;
+ DynamicUser = true;
+
+ CapabilityBoundingSet = "";
+ LockPersonality = true;
+ MemoryDenyWriteExecute = true;
+ NoNewPrivileges = true;
+ ProtectClock = true;
+ ProtectHome = true;
+ ProtectHostname = true;
+ ProtectKernelLogs = true;
+ RemoveIPC = true;
+ RestrictAddressFamilies = "AF_INET AF_INET6";
+ RestrictNamespaces = true;
+ RestrictRealtime = true;
+ RestrictSUIDSGID = true;
+ SystemCallArchitectures = "native";
+ SystemCallErrorNumber = "EPERM";
+ SystemCallFilter = [ "@system-service" "~@privileged @resources" ];
+ };
+ };
+ };
+
+ meta.maintainers = with maintainers; [ stephank ];
+
+}
diff --git a/nixos/modules/virtualisation/containers.nix b/nixos/modules/virtualisation/containers.nix
index 148d0221998..3974caf2233 100644
--- a/nixos/modules/virtualisation/containers.nix
+++ b/nixos/modules/virtualisation/containers.nix
@@ -4,15 +4,7 @@ let
inherit (lib) mkOption types;
- # Once https://github.com/NixOS/nixpkgs/pull/75584 is merged we can use the TOML generator
- toTOML = name: value: pkgs.runCommandNoCC name {
- nativeBuildInputs = [ pkgs.remarshal ];
- value = builtins.toJSON value;
- passAsFile = [ "value" ];
- } ''
- json2toml "$valuePath" "$out"
- '';
-
+ toml = pkgs.formats.toml { };
in
{
meta = {
@@ -26,6 +18,11 @@ in
[ "virtualisation" "containers" "users" ]
"All users with `isNormalUser = true` set now get appropriate subuid/subgid mappings."
)
+ (
+ lib.mkRemovedOptionModule
+ [ "virtualisation" "containers" "containersConf" "extraConfig" ]
+ "Use virtualisation.containers.containersConf.settings instead."
+ )
];
options.virtualisation.containers = {
@@ -45,23 +42,10 @@ in
description = "Enable the OCI seccomp BPF hook";
};
- containersConf = mkOption {
- default = {};
+ containersConf.settings = mkOption {
+ type = toml.type;
+ default = { };
description = "containers.conf configuration";
- type = types.submodule {
- options = {
-
- extraConfig = mkOption {
- type = types.lines;
- default = "";
- description = ''
- Extra configuration that should be put in the containers.conf
- configuration file
- '';
-
- };
- };
- };
};
registries = {
@@ -113,21 +97,19 @@ in
};
config = lib.mkIf cfg.enable {
+ virtualisation.containers.containersConf.settings = {
+ network.cni_plugin_dirs = [ "${pkgs.cni-plugins}/bin/" ];
+ engine = {
+ init_path = "${pkgs.catatonit}/bin/catatonit";
+ } // lib.optionalAttrs cfg.ociSeccompBpfHook.enable {
+ hooks_dir = [ config.boot.kernelPackages.oci-seccomp-bpf-hook ];
+ };
+ };
- environment.etc."containers/containers.conf".text = ''
- [network]
- cni_plugin_dirs = ["${pkgs.cni-plugins}/bin/"]
+ environment.etc."containers/containers.conf".source =
+ toml.generate "containers.conf" cfg.containersConf.settings;
- [engine]
- init_path = "${pkgs.catatonit}/bin/catatonit"
- ${lib.optionalString (cfg.ociSeccompBpfHook.enable) ''
- hooks_dir = [
- "${config.boot.kernelPackages.oci-seccomp-bpf-hook}",
- ]
- ''}
- '' + cfg.containersConf.extraConfig;
-
- environment.etc."containers/registries.conf".source = toTOML "registries.conf" {
+ environment.etc."containers/registries.conf".source = toml.generate "registries.conf" {
registries = lib.mapAttrs (n: v: { registries = v; }) cfg.registries;
};
diff --git a/nixos/modules/virtualisation/libvirtd.nix b/nixos/modules/virtualisation/libvirtd.nix
index 6357baf29e0..f43c44f5dca 100644
--- a/nixos/modules/virtualisation/libvirtd.nix
+++ b/nixos/modules/virtualisation/libvirtd.nix
@@ -46,6 +46,15 @@ in {
'';
};
+ package = mkOption {
+ type = types.package;
+ default = pkgs.libvirt;
+ defaultText = "pkgs.libvirt";
+ description = ''
+ libvirt package to use.
+ '';
+ };
+
qemuPackage = mkOption {
type = types.package;
default = pkgs.qemu;
@@ -149,7 +158,7 @@ in {
# this file is expected in /etc/qemu and not sysconfdir (/var/lib)
etc."qemu/bridge.conf".text = lib.concatMapStringsSep "\n" (e:
"allow ${e}") cfg.allowedBridges;
- systemPackages = with pkgs; [ libvirt libressl.nc iptables cfg.qemuPackage ];
+ systemPackages = with pkgs; [ libressl.nc iptables cfg.package cfg.qemuPackage ];
etc.ethertypes.source = "${pkgs.iptables}/etc/ethertypes";
};
@@ -169,26 +178,26 @@ in {
source = "/run/${dirName}/nix-helpers/qemu-bridge-helper";
};
- systemd.packages = [ pkgs.libvirt ];
+ systemd.packages = [ cfg.package ];
systemd.services.libvirtd-config = {
description = "Libvirt Virtual Machine Management Daemon - configuration";
script = ''
# Copy default libvirt network config .xml files to /var/lib
# Files modified by the user will not be overwritten
- for i in $(cd ${pkgs.libvirt}/var/lib && echo \
+ for i in $(cd ${cfg.package}/var/lib && echo \
libvirt/qemu/networks/*.xml libvirt/qemu/networks/autostart/*.xml \
libvirt/nwfilter/*.xml );
do
mkdir -p /var/lib/$(dirname $i) -m 755
- cp -npd ${pkgs.libvirt}/var/lib/$i /var/lib/$i
+ cp -npd ${cfg.package}/var/lib/$i /var/lib/$i
done
# Copy generated qemu config to libvirt directory
cp -f ${qemuConfigFile} /var/lib/${dirName}/qemu.conf
# stable (not GC'able as in /nix/store) paths for using in section of xml configs
- for emulator in ${pkgs.libvirt}/libexec/libvirt_lxc ${cfg.qemuPackage}/bin/qemu-kvm ${cfg.qemuPackage}/bin/qemu-system-*; do
+ for emulator in ${cfg.package}/libexec/libvirt_lxc ${cfg.qemuPackage}/bin/qemu-kvm ${cfg.qemuPackage}/bin/qemu-system-*; do
ln -s --force "$emulator" /run/${dirName}/nix-emulators/
done
@@ -234,7 +243,7 @@ in {
systemd.services.libvirt-guests = {
wantedBy = [ "multi-user.target" ];
- path = with pkgs; [ coreutils libvirt gawk ];
+ path = with pkgs; [ coreutils gawk cfg.package ];
restartIfChanged = false;
environment.ON_BOOT = "${cfg.onBoot}";
@@ -249,7 +258,7 @@ in {
systemd.services.virtlogd = {
description = "Virtual machine log manager";
- serviceConfig.ExecStart = "@${pkgs.libvirt}/sbin/virtlogd virtlogd";
+ serviceConfig.ExecStart = "@${cfg.package}/sbin/virtlogd virtlogd";
restartIfChanged = false;
};
@@ -261,7 +270,7 @@ in {
systemd.services.virtlockd = {
description = "Virtual machine lock manager";
- serviceConfig.ExecStart = "@${pkgs.libvirt}/sbin/virtlockd virtlockd";
+ serviceConfig.ExecStart = "@${cfg.package}/sbin/virtlockd virtlockd";
restartIfChanged = false;
};
diff --git a/nixos/modules/virtualisation/podman.nix b/nixos/modules/virtualisation/podman.nix
index 0223c0df1f2..d6421d488b8 100644
--- a/nixos/modules/virtualisation/podman.nix
+++ b/nixos/modules/virtualisation/podman.nix
@@ -96,13 +96,12 @@ in
virtualisation.containers = {
enable = true; # Enable common /etc/containers configuration
- containersConf.extraConfig = lib.optionalString cfg.enableNvidia
- (builtins.readFile (toml.generate "podman.nvidia.containers.conf" {
- engine = {
- conmon_env_vars = [ "PATH=${lib.makeBinPath [ pkgs.nvidia-podman ]}" ];
- runtimes.nvidia = [ "${pkgs.nvidia-podman}/bin/nvidia-container-runtime" ];
- };
- }));
+ containersConf.settings = lib.optionalAttrs cfg.enableNvidia {
+ engine = {
+ conmon_env_vars = [ "PATH=${lib.makeBinPath [ pkgs.nvidia-podman ]}" ];
+ runtimes.nvidia = [ "${pkgs.nvidia-podman}/bin/nvidia-container-runtime" ];
+ };
+ };
};
systemd.packages = [ cfg.package ];
diff --git a/nixos/tests/doh-proxy-rust.nix b/nixos/tests/doh-proxy-rust.nix
new file mode 100644
index 00000000000..ca150cafab5
--- /dev/null
+++ b/nixos/tests/doh-proxy-rust.nix
@@ -0,0 +1,43 @@
+import ./make-test-python.nix ({ lib, pkgs, ... }: {
+ name = "doh-proxy-rust";
+ meta = with lib.maintainers; {
+ maintainers = [ stephank ];
+ };
+
+ nodes = {
+ machine = { pkgs, lib, ... }: {
+ services.bind = {
+ enable = true;
+ extraOptions = "empty-zones-enable no;";
+ zones = lib.singleton {
+ name = ".";
+ master = true;
+ file = pkgs.writeText "root.zone" ''
+ $TTL 3600
+ . IN SOA ns.example.org. admin.example.org. ( 1 3h 1h 1w 1d )
+ . IN NS ns.example.org.
+ ns.example.org. IN A 192.168.0.1
+ '';
+ };
+ };
+ services.doh-proxy-rust = {
+ enable = true;
+ flags = [
+ "--server-address=127.0.0.1:53"
+ ];
+ };
+ };
+ };
+
+ testScript = { nodes, ... }: ''
+ url = "http://localhost:3000/dns-query"
+ query = "AAABAAABAAAAAAAAAm5zB2V4YW1wbGUDb3JnAAABAAE=" # IN A ns.example.org.
+ bin_ip = r"$'\xC0\xA8\x00\x01'" # 192.168.0.1, as shell binary string
+
+ machine.wait_for_unit("bind.service")
+ machine.wait_for_unit("doh-proxy-rust.service")
+ machine.wait_for_open_port(53)
+ machine.wait_for_open_port(3000)
+ machine.succeed(f"curl --fail '{url}?dns={query}' | grep -qF {bin_ip}")
+ '';
+})
diff --git a/pkgs/applications/audio/kid3/default.nix b/pkgs/applications/audio/kid3/default.nix
index 99f7cec98af..abfc9e7fe1e 100644
--- a/pkgs/applications/audio/kid3/default.nix
+++ b/pkgs/applications/audio/kid3/default.nix
@@ -1,25 +1,67 @@
-{ lib, stdenv, fetchurl
-, pkg-config, cmake, python3, ffmpeg_3, phonon, automoc4
-, chromaprint, docbook_xml_dtd_45, docbook_xsl, libxslt
-, id3lib, taglib, mp4v2, flac, libogg, libvorbis
-, zlib, readline , qtbase, qttools, qtmultimedia, qtquickcontrols
+{ lib
+, stdenv
+, fetchurl
+, automoc4
+, chromaprint
+, cmake
+, docbook_xml_dtd_45
+, docbook_xsl
+, ffmpeg_3
+, flac
+, id3lib
+, libogg
+, libvorbis
+, libxslt
+, mp4v2
+, phonon
+, pkg-config
+, python3
+, qtbase
+, qtmultimedia
+, qtquickcontrols
+, qttools
+, readline
+, taglib
, wrapQtAppsHook
+, zlib
}:
stdenv.mkDerivation rec {
pname = "kid3";
- version = "3.8.5";
+ version = "3.8.6";
src = fetchurl {
url = "mirror://sourceforge/project/kid3/kid3/${version}/${pname}-${version}.tar.gz";
- sha256 = "sha256-DEZ5J1QendgXJ1gBZ3h0LwsVTLL1vPznJ7Nc+97jFB8=";
+ sha256 = "sha256-ce+MWCJzAnN+u+07f0dvn0jnbqiUlS2RbcM9nAj5bgg=";
};
- nativeBuildInputs = [ cmake pkg-config wrapQtAppsHook ];
- buildInputs = [ python3 ffmpeg_3 phonon automoc4 chromaprint
- docbook_xml_dtd_45 docbook_xsl libxslt id3lib taglib mp4v2 flac
- libogg libvorbis zlib readline qtbase qttools qtmultimedia
- qtquickcontrols ];
+ nativeBuildInputs = [
+ cmake
+ pkg-config
+ wrapQtAppsHook
+ ];
+ buildInputs = [
+ automoc4
+ chromaprint
+ docbook_xml_dtd_45
+ docbook_xsl
+ ffmpeg_3
+ flac
+ id3lib
+ libogg
+ libvorbis
+ libxslt
+ mp4v2
+ phonon
+ python3
+ qtbase
+ qtmultimedia
+ qtquickcontrols
+ qttools
+ readline
+ taglib
+ zlib
+ ];
cmakeFlags = [ "-DWITH_APPS=Qt;CLI" ];
NIX_LDFLAGS = "-lm -lpthread";
diff --git a/pkgs/applications/editors/jetbrains/default.nix b/pkgs/applications/editors/jetbrains/default.nix
index e7628715a21..fb653518530 100644
--- a/pkgs/applications/editors/jetbrains/default.nix
+++ b/pkgs/applications/editors/jetbrains/default.nix
@@ -57,7 +57,7 @@ let
gdbLibPath=$out/clion-${version}/bin/gdb/linux/lib
patchelf \
--set-rpath "$gdbLibPath" \
- bin/gdb/linux/lib/python3.*/lib-dynload/zlib.cpython-*m-x86_64-linux-gnu.so
+ bin/gdb/linux/lib/python3.*/lib-dynload/zlib.cpython-*-x86_64-linux-gnu.so
patchelf --set-interpreter $interp \
--set-rpath "${lib.makeLibraryPath [ stdenv.cc.cc.lib zlib ]}:$gdbLibPath" \
bin/gdb/linux/bin/gdb
@@ -269,12 +269,12 @@ in
clion = buildClion rec {
name = "clion-${version}";
- version = "2020.3.3"; /* updated by script */
+ version = "2021.1"; /* updated by script */
description = "C/C++ IDE. New. Intelligent. Cross-platform";
license = lib.licenses.unfree;
src = fetchurl {
url = "https://download.jetbrains.com/cpp/CLion-${version}.tar.gz";
- sha256 = "10s0jkxi892pg7d2slh7cvrd0ch2223qms3c9v1ax0n6ymfkcw14"; /* updated by script */
+ sha256 = "1qq2k14pf2qy93y1xchlv08vvx99zcml8bdcx3h6jnjz6d7gz0px"; /* updated by script */
};
wmClass = "jetbrains-clion";
update-channel = "CLion RELEASE"; # channel's id as in http://www.jetbrains.com/updates/updates.xml
@@ -282,12 +282,12 @@ in
datagrip = buildDataGrip rec {
name = "datagrip-${version}";
- version = "2020.3.2"; /* updated by script */
+ version = "2021.1"; /* updated by script */
description = "Your Swiss Army Knife for Databases and SQL";
license = lib.licenses.unfree;
src = fetchurl {
url = "https://download.jetbrains.com/datagrip/${name}.tar.gz";
- sha256 = "1wjaavgslwpz4jniszswdy10rk3622i1w3awdwhgjlcc6mwkwz1f"; /* updated by script */
+ sha256 = "11am11lkrhgfianr1apkkl4mn8gcsf6p1vz47y7lz4rfm05ac4gj"; /* updated by script */
};
wmClass = "jetbrains-datagrip";
update-channel = "DataGrip RELEASE";
@@ -295,12 +295,12 @@ in
goland = buildGoland rec {
name = "goland-${version}";
- version = "2020.3.4"; /* updated by script */
+ version = "2021.1"; /* updated by script */
description = "Up and Coming Go IDE";
license = lib.licenses.unfree;
src = fetchurl {
url = "https://download.jetbrains.com/go/${name}.tar.gz";
- sha256 = "148rs9w0fqr5xzhnq5bd473j4vnb69kf8yxxjmwdp25z2d7x47ip"; /* updated by script */
+ sha256 = "1hxid7k5b26hiwwdxbvhi1fzhlrvm1xsd5gb0vj0g5zw658y2lzz"; /* updated by script */
};
wmClass = "jetbrains-goland";
update-channel = "GoLand RELEASE";
@@ -308,12 +308,12 @@ in
idea-community = buildIdea rec {
name = "idea-community-${version}";
- version = "2020.3.3"; /* updated by script */
+ version = "2021.1"; /* updated by script */
description = "Integrated Development Environment (IDE) by Jetbrains, community edition";
license = lib.licenses.asl20;
src = fetchurl {
url = "https://download.jetbrains.com/idea/ideaIC-${version}.tar.gz";
- sha256 = "1msfl8qq0aday4ssip73r0y096mrb89mr7z2j4mpqhkzgsmvpjk0"; /* updated by script */
+ sha256 = "1d7m39rzdgh2fyx50rpifqfsdmvfpi04hjp52pl76m35gyb5hsvs"; /* updated by script */
};
wmClass = "jetbrains-idea-ce";
update-channel = "IntelliJ IDEA RELEASE";
@@ -321,12 +321,12 @@ in
idea-ultimate = buildIdea rec {
name = "idea-ultimate-${version}";
- version = "2020.3.3"; /* updated by script */
+ version = "2021.1"; /* updated by script */
description = "Integrated Development Environment (IDE) by Jetbrains, requires paid license";
license = lib.licenses.unfree;
src = fetchurl {
url = "https://download.jetbrains.com/idea/ideaIU-${version}-no-jbr.tar.gz";
- sha256 = "0szq8lqp1h7kci8kqd1bb3g16j3p5f4dfmbccbyrrwsram3hvjgi"; /* updated by script */
+ sha256 = "062kaph42xs5hc01sbmry4cm7nkyjks43qr5m7pbj5a2bgd7zzgx"; /* updated by script */
};
wmClass = "jetbrains-idea";
update-channel = "IntelliJ IDEA RELEASE";
@@ -334,12 +334,12 @@ in
mps = buildMps rec {
name = "mps-${version}";
- version = "2020.3.2"; /* updated by script */
+ version = "2020.3.3"; /* updated by script */
description = "Create your own domain-specific language";
license = lib.licenses.asl20;
src = fetchurl {
url = "https://download.jetbrains.com/mps/2020.3/MPS-${version}.tar.gz";
- sha256 = "0vskzia48jq50bjdqw993gizvvd59f3qlszbsdp7xg5a3afbk7p3"; /* updated by script */
+ sha256 = "0sb50f7d4272dzx84njc326xvhbqn3xwrphvdq4zl3pk3wl8f4nz"; /* updated by script */
};
wmClass = "jetbrains-mps";
update-channel = "MPS RELEASE";
@@ -347,12 +347,12 @@ in
phpstorm = buildPhpStorm rec {
name = "phpstorm-${version}";
- version = "2020.3.3"; /* updated by script */
+ version = "2021.1"; /* updated by script */
description = "Professional IDE for Web and PHP developers";
license = lib.licenses.unfree;
src = fetchurl {
url = "https://download.jetbrains.com/webide/PhpStorm-${version}.tar.gz";
- sha256 = "0arff0882xw1azbxpn1n3wbc5ncg8gmfim3jf6rq2dky8kp9ylkm"; /* updated by script */
+ sha256 = "052m7mqa1s548my0gda9y2mysi2ijq27c9b3bskrwqsf1pm5ry63"; /* updated by script */
};
wmClass = "jetbrains-phpstorm";
update-channel = "PhpStorm RELEASE";
@@ -360,12 +360,12 @@ in
pycharm-community = buildPycharm rec {
name = "pycharm-community-${version}";
- version = "2020.3.4"; /* updated by script */
+ version = "2021.1"; /* updated by script */
description = "PyCharm Community Edition";
license = lib.licenses.asl20;
src = fetchurl {
url = "https://download.jetbrains.com/python/${name}.tar.gz";
- sha256 = "0xh0hb0v3ilgqjljh22c75hkllqgqbpppplni2dz2pv9rb3r5dv5"; /* updated by script */
+ sha256 = "1iiglh7s2zm37kj6hzlzxb1jnzh2p0j1f2zzhg3nqyrrakfbyq3h"; /* updated by script */
};
wmClass = "jetbrains-pycharm-ce";
update-channel = "PyCharm RELEASE";
@@ -373,12 +373,12 @@ in
pycharm-professional = buildPycharm rec {
name = "pycharm-professional-${version}";
- version = "2020.3.4"; /* updated by script */
+ version = "2021.1"; /* updated by script */
description = "PyCharm Professional Edition";
license = lib.licenses.unfree;
src = fetchurl {
url = "https://download.jetbrains.com/python/${name}.tar.gz";
- sha256 = "18gkjc52qpghs721rkbsj03kaf6n8c8sxg57b2d82hjckjgm6q10"; /* updated by script */
+ sha256 = "1n3b4mdygzal7w88gwka5wh5jp09bh2zmm4n5rz9s7hr2srz71mz"; /* updated by script */
};
wmClass = "jetbrains-pycharm";
update-channel = "PyCharm RELEASE";
@@ -386,12 +386,12 @@ in
rider = buildRider rec {
name = "rider-${version}";
- version = "2020.3.4"; /* updated by script */
+ version = "2021.1"; /* updated by script */
description = "A cross-platform .NET IDE based on the IntelliJ platform and ReSharper";
license = lib.licenses.unfree;
src = fetchurl {
url = "https://download.jetbrains.com/rider/JetBrains.Rider-${version}.tar.gz";
- sha256 = "1v99yqj83aw9j400z3v24n7xnyxzw5vm0b3rwd4yb8w3ajl59gq1"; /* updated by script */
+ sha256 = "089j52sig2ac21v6zl9mvb7x4sr9c428nn930b41y3qd6bg52xxx"; /* updated by script */
};
wmClass = "jetbrains-rider";
update-channel = "Rider RELEASE";
@@ -399,12 +399,12 @@ in
ruby-mine = buildRubyMine rec {
name = "ruby-mine-${version}";
- version = "2020.3.2"; /* updated by script */
+ version = "2021.1"; /* updated by script */
description = "The Most Intelligent Ruby and Rails IDE";
license = lib.licenses.unfree;
src = fetchurl {
url = "https://download.jetbrains.com/ruby/RubyMine-${version}.tar.gz";
- sha256 = "17x3sz4jkz2px25gj813xqrrb2cm7mdl6m5a22zg086phym66g3c"; /* updated by script */
+ sha256 = "12mkb51x1w5wbx436pfnfzcad10qd53y43n0p4l2zg9yx985gm7v"; /* updated by script */
};
wmClass = "jetbrains-rubymine";
update-channel = "RubyMine RELEASE";
@@ -412,12 +412,12 @@ in
webstorm = buildWebStorm rec {
name = "webstorm-${version}";
- version = "2020.3.3"; /* updated by script */
+ version = "2021.1"; /* updated by script */
description = "Professional IDE for Web and JavaScript development";
license = lib.licenses.unfree;
src = fetchurl {
url = "https://download.jetbrains.com/webstorm/WebStorm-${version}.tar.gz";
- sha256 = "0szq7qz5p1ksmqdy1rma5rfl0d9dy9qmhz8k5id4zdpyz2jsacfb"; /* updated by script */
+ sha256 = "15i521qj2b0y1viqr0xx815ckpq359j6nars4xxq8xvy7cg729yc"; /* updated by script */
};
wmClass = "jetbrains-webstorm";
update-channel = "WebStorm RELEASE";
diff --git a/pkgs/applications/networking/cluster/fluxcd/default.nix b/pkgs/applications/networking/cluster/fluxcd/default.nix
index 1d8a8228af1..a0593aab989 100644
--- a/pkgs/applications/networking/cluster/fluxcd/default.nix
+++ b/pkgs/applications/networking/cluster/fluxcd/default.nix
@@ -1,11 +1,11 @@
{ lib, buildGoModule, fetchFromGitHub, fetchzip, installShellFiles }:
let
- version = "0.11.0";
+ version = "0.12.0";
manifests = fetchzip {
url = "https://github.com/fluxcd/flux2/releases/download/v${version}/manifests.tar.gz";
- sha256 = "sha256-nqvFJriNMK3SvAsNzhE8MCzVNR8j/TjYU+f1PbuxkuI=";
+ sha256 = "sha256-8NgKr5uRVFBD1pARaD+vH9wPA5gUNltwMe0i0icED1c=";
stripRoot = false;
};
in
@@ -19,10 +19,10 @@ buildGoModule rec {
owner = "fluxcd";
repo = "flux2";
rev = "v${version}";
- sha256 = "sha256-V4cZuRlC1Hu4gBG5/8ZNBKlSBFLgOtSJ3GbpjW5/8xM=";
+ sha256 = "sha256-idHMijca1lYQF4aW+RPyzRraLDNdVavMuj4TP6z90Oo=";
};
- vendorSha256 = "sha256-aVVvrOjCKxzFer5uZRSu1LCQKkGkPcBdKdebN5uHUUg=";
+ vendorSha256 = "sha256-VrDO8y6omRKf3mPRAnRMZsSMwQHxQxShUa9HZ3dfCgM=";
nativeBuildInputs = [ installShellFiles ];
diff --git a/pkgs/applications/networking/cluster/terragrunt/default.nix b/pkgs/applications/networking/cluster/terragrunt/default.nix
index eb230062fee..b152fa33a87 100644
--- a/pkgs/applications/networking/cluster/terragrunt/default.nix
+++ b/pkgs/applications/networking/cluster/terragrunt/default.nix
@@ -2,13 +2,13 @@
buildGoModule rec {
pname = "terragrunt";
- version = "0.28.18";
+ version = "0.28.19";
src = fetchFromGitHub {
owner = "gruntwork-io";
repo = pname;
rev = "v${version}";
- sha256 = "sha256-W0HjGILezhuc1lXvGCHw23h8Sx1uw4YLLsOOBZYGvU8=";
+ sha256 = "sha256-REcVc4u7pDTDHvoI1Fw36Mioyg1D4U29Hq0ih8Bt95s=";
};
vendorSha256 = "sha256-kcRM76xfajtQist1aJTmaRludxRlfvHQ9ucB3LOgnBk=";
diff --git a/pkgs/applications/version-management/gitea/default.nix b/pkgs/applications/version-management/gitea/default.nix
index 64c98768fdd..f1fdbad4cb7 100644
--- a/pkgs/applications/version-management/gitea/default.nix
+++ b/pkgs/applications/version-management/gitea/default.nix
@@ -16,12 +16,12 @@ with lib;
buildGoPackage rec {
pname = "gitea";
- version = "1.13.6";
+ version = "1.13.7";
# not fetching directly from the git repo, because that lacks several vendor files for the web UI
src = fetchurl {
url = "https://github.com/go-gitea/gitea/releases/download/v${version}/gitea-src-${version}.tar.gz";
- sha256 = "1f0fsqcmmqygv0r796ddr2fjhh333i9nr0cqk9x2b2kbs1z264vf";
+ sha256 = "sha256-jJbX+kcXqd1v8aXNhmt24mq9mxOpTogCVm263rHVGHw=";
};
unpackPhase = ''
diff --git a/pkgs/development/compilers/dtc/default.nix b/pkgs/development/compilers/dtc/default.nix
index 245e5bf2f54..ac1acfe4b8f 100644
--- a/pkgs/development/compilers/dtc/default.nix
+++ b/pkgs/development/compilers/dtc/default.nix
@@ -1,9 +1,7 @@
{ stdenv, lib, fetchgit, flex, bison, pkg-config, which
-, pythonSupport ? false, python ? null, swig
+, pythonSupport ? false, python, swig, libyaml
}:
-assert pythonSupport -> python != null;
-
stdenv.mkDerivation rec {
pname = "dtc";
version = "1.6.0";
@@ -14,6 +12,7 @@ stdenv.mkDerivation rec {
sha256 = "0li992wwd7kgy71bikanqky49y4hq3p3vx35p2hvyxy1k0wfy7i8";
};
+ buildInputs = [ libyaml ];
nativeBuildInputs = [ flex bison pkg-config which ] ++ lib.optionals pythonSupport [ python swig ];
postPatch = ''
@@ -23,10 +22,12 @@ stdenv.mkDerivation rec {
makeFlags = [ "PYTHON=python" ];
installFlags = [ "INSTALL=install" "PREFIX=$(out)" "SETUP_PREFIX=$(out)" ];
+ doCheck = true;
+
meta = with lib; {
description = "Device Tree Compiler";
homepage = "https://git.kernel.org/cgit/utils/dtc/dtc.git";
- license = licenses.gpl2; # dtc itself is GPLv2, libfdt is dual GPL/BSD
+ license = licenses.gpl2Plus; # dtc itself is GPLv2, libfdt is dual GPL/BSD
maintainers = [ maintainers.dezgeg ];
platforms = platforms.unix;
};
diff --git a/pkgs/development/compilers/jetbrains-jdk/default.nix b/pkgs/development/compilers/jetbrains-jdk/default.nix
index 3b5465ac9c3..c94df830095 100644
--- a/pkgs/development/compilers/jetbrains-jdk/default.nix
+++ b/pkgs/development/compilers/jetbrains-jdk/default.nix
@@ -2,12 +2,12 @@
openjdk11.overrideAttrs (oldAttrs: rec {
pname = "jetbrains-jdk";
- version = "11.0.7-b64";
+ version = "11.0.10-b37";
src = fetchFromGitHub {
owner = "JetBrains";
repo = "JetBrainsRuntime";
rev = "jb${lib.replaceStrings ["."] ["_"] version}";
- sha256 = "1gxqi6dkyriv9j29ppan638w1ns2g9m4q1sq7arf9kwqr05zim90";
+ sha256 = "0bcvwnwi29z000b1bk5dhfkd33xfp9899zc3idzifdwl7q42zi02";
};
patches = [];
meta = with lib; {
diff --git a/pkgs/development/libraries/grpc/default.nix b/pkgs/development/libraries/grpc/default.nix
index 5cdd9886690..9dd5150f17d 100644
--- a/pkgs/development/libraries/grpc/default.nix
+++ b/pkgs/development/libraries/grpc/default.nix
@@ -1,15 +1,15 @@
{ lib, stdenv, fetchFromGitHub, fetchpatch, cmake, zlib, c-ares, pkg-config, re2, openssl, protobuf
-, gflags, abseil-cpp, libnsl
+, abseil-cpp, libnsl
}:
stdenv.mkDerivation rec {
- version = "1.36.4"; # N.B: if you change this, change pythonPackages.grpcio-tools to a matching version too
+ version = "1.37.0"; # N.B: if you change this, change pythonPackages.grpcio-tools to a matching version too
pname = "grpc";
src = fetchFromGitHub {
owner = "grpc";
repo = "grpc";
rev = "v${version}";
- sha256 = "1zxvdg5vgjgkq5wmzwbxj2zydaj90ja074axs26yzd9x08j0bjxz";
+ sha256 = "0q3hcnq351j0qm0gsbaxbsnz1gd9w3bk4cazkvq4l2lfmmiw7z56";
fetchSubmodules = true;
};
patches = [
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ cmake pkg-config ];
propagatedBuildInputs = [ c-ares re2 zlib abseil-cpp ];
- buildInputs = [ c-ares.cmake-config openssl protobuf gflags ]
+ buildInputs = [ c-ares.cmake-config openssl protobuf ]
++ lib.optionals stdenv.isLinux [ libnsl ];
cmakeFlags =
@@ -31,7 +31,6 @@ stdenv.mkDerivation rec {
"-DgRPC_RE2_PROVIDER=package"
"-DgRPC_SSL_PROVIDER=package"
"-DgRPC_PROTOBUF_PROVIDER=package"
- "-DgRPC_GFLAGS_PROVIDER=package"
"-DgRPC_ABSL_PROVIDER=package"
"-DBUILD_SHARED_LIBS=ON"
"-DCMAKE_SKIP_BUILD_RPATH=OFF"
diff --git a/pkgs/development/python-modules/bokeh/default.nix b/pkgs/development/python-modules/bokeh/default.nix
index 9375aa22a3f..cbe00ec32f9 100644
--- a/pkgs/development/python-modules/bokeh/default.nix
+++ b/pkgs/development/python-modules/bokeh/default.nix
@@ -33,11 +33,12 @@
buildPythonPackage rec {
pname = "bokeh";
- version = "2.2.3"; # update together with panel which is not straightforward
+ # update together with panel which is not straightforward
+ version = "2.3.0";
src = fetchPypi {
inherit pname version;
- sha256 = "c4a3f97afe5f525019dd58ee8c4e3d43f53fe1b1ac264ccaae9b02c07b2abc17";
+ sha256 = "dd417708f90702190222b1068a645acae99e66d4b58d7a336d545aeaa04e9b40";
};
patches = [
diff --git a/pkgs/development/python-modules/grpcio-tools/default.nix b/pkgs/development/python-modules/grpcio-tools/default.nix
index d2d06450b92..2f4ee5de8d2 100644
--- a/pkgs/development/python-modules/grpcio-tools/default.nix
+++ b/pkgs/development/python-modules/grpcio-tools/default.nix
@@ -2,11 +2,11 @@
buildPythonPackage rec {
pname = "grpcio-tools";
- version = "1.36.1";
+ version = "1.37.0";
src = fetchPypi {
inherit pname version;
- sha256 = "80ef584f7b917f575e4b8f2ec59cd4a4d98c2046e801a735f3136b05742a36a6";
+ sha256 = "3ec510c1b6bfc32effc639acf9a055e72dab7a7b6757bf72f2132790d6a7cf1c";
};
outputs = [ "out" "dev" ];
diff --git a/pkgs/development/python-modules/jupyterlab/default.nix b/pkgs/development/python-modules/jupyterlab/default.nix
index f22b52b25b6..513cce507e3 100644
--- a/pkgs/development/python-modules/jupyterlab/default.nix
+++ b/pkgs/development/python-modules/jupyterlab/default.nix
@@ -18,7 +18,9 @@ buildPythonPackage rec {
sha256 = "929c60d7fb4aa704084c02d8ededc209b8b378e0b3adab46158b7fa6acc24230";
};
- propagatedBuildInputs = [ jupyterlab_server notebook jupyter-packaging nbclassic ];
+ nativeBuildInputs = [ jupyter-packaging ];
+
+ propagatedBuildInputs = [ jupyterlab_server notebook nbclassic ];
makeWrapperArgs = [
"--set" "JUPYTERLAB_DIR" "$out/share/jupyter/lab"
@@ -27,6 +29,8 @@ buildPythonPackage rec {
# Depends on npm
doCheck = false;
+ pythonImportsCheck = [ "jupyterlab" ];
+
meta = with lib; {
description = "Jupyter lab environment notebook server extension.";
license = with licenses; [ bsd3 ];
diff --git a/pkgs/development/python-modules/panel/default.nix b/pkgs/development/python-modules/panel/default.nix
index 10dafc0072a..fa8dbddd04e 100644
--- a/pkgs/development/python-modules/panel/default.nix
+++ b/pkgs/development/python-modules/panel/default.nix
@@ -8,19 +8,39 @@
, pyct
, testpath
, tqdm
+, callPackage
}:
-buildPythonPackage rec {
+let
+ node = callPackage ./node {};
+in buildPythonPackage rec {
pname = "panel";
- version = "0.9.7";
- # Version 10 attempts to download models from the web during build-time
- # https://github.com/holoviz/panel/issues/1819
+ version = "0.11.1";
+ # Don't forget to also update the node packages
+ # 1. retrieve the package.json file
+ # 2. nix shell nixpkgs#nodePackages.node2nix
+ # 3. node2nix
src = fetchPypi {
inherit pname version;
- sha256 = "2e86d82bdd5e7664bf49558eedad62b664d5403ec9e422e5ddfcf69e3bd77318";
+ sha256 = "ce531e5c0c8a8ae74d523762aeb1666650caebbe1867aba16129d29791e921f9";
};
+ # Since 0.10.0 panel attempts to fetch from the web.
+ # We avoid this:
+ # - we use node2nix to fetch assets
+ # - we disable bundling (which also tries to fetch assets)
+ # Downside of disabling bundling is that in an airgapped environment
+ # one may miss assets.
+ # https://github.com/holoviz/panel/issues/1819
+ preBuild = ''
+ substituteInPlace setup.py --replace "bundle_resources()" ""
+ pushd panel
+ ln -s ${node.nodeDependencies}/lib/node_modules
+ export PATH="${node.nodeDependencies}/bin:$PATH"
+ popd
+ '';
+
propagatedBuildInputs = [
bokeh
param
@@ -34,6 +54,10 @@ buildPythonPackage rec {
# infinite recursion in test dependencies (hvplot)
doCheck = false;
+ passthru = {
+ inherit node; # For convenience
+ };
+
meta = with lib; {
description = "A high level dashboarding library for python visualization libraries";
homepage = "https://pyviz.org";
diff --git a/pkgs/development/python-modules/panel/node/default.nix b/pkgs/development/python-modules/panel/node/default.nix
new file mode 100644
index 00000000000..64326c6b216
--- /dev/null
+++ b/pkgs/development/python-modules/panel/node/default.nix
@@ -0,0 +1,17 @@
+# This file has been generated by node2nix 1.9.0. Do not edit!
+
+{pkgs ? import {
+ inherit system;
+ }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-12_x"}:
+
+let
+ nodeEnv = import ./node-env.nix {
+ inherit (pkgs) stdenv lib python2 runCommand writeTextFile;
+ inherit pkgs nodejs;
+ libtool = if pkgs.stdenv.isDarwin then pkgs.darwin.cctools else null;
+ };
+in
+import ./node-packages.nix {
+ inherit (pkgs) fetchurl nix-gitignore stdenv lib fetchgit;
+ inherit nodeEnv;
+}
diff --git a/pkgs/development/python-modules/panel/node/node-env.nix b/pkgs/development/python-modules/panel/node/node-env.nix
new file mode 100644
index 00000000000..c2b723195b7
--- /dev/null
+++ b/pkgs/development/python-modules/panel/node/node-env.nix
@@ -0,0 +1,567 @@
+# This file originates from node2nix
+
+{lib, stdenv, nodejs, python2, pkgs, libtool, runCommand, writeTextFile}:
+
+let
+ # Workaround to cope with utillinux in Nixpkgs 20.09 and util-linux in Nixpkgs master
+ utillinux = if pkgs ? utillinux then pkgs.utillinux else pkgs.util-linux;
+
+ python = if nodejs ? python then nodejs.python else python2;
+
+ # Create a tar wrapper that filters all the 'Ignoring unknown extended header keyword' noise
+ tarWrapper = runCommand "tarWrapper" {} ''
+ mkdir -p $out/bin
+
+ cat > $out/bin/tar <> $out/nix-support/hydra-build-products
+ '';
+ };
+
+ includeDependencies = {dependencies}:
+ lib.optionalString (dependencies != [])
+ (lib.concatMapStrings (dependency:
+ ''
+ # Bundle the dependencies of the package
+ mkdir -p node_modules
+ cd node_modules
+
+ # Only include dependencies if they don't exist. They may also be bundled in the package.
+ if [ ! -e "${dependency.name}" ]
+ then
+ ${composePackage dependency}
+ fi
+
+ cd ..
+ ''
+ ) dependencies);
+
+ # Recursively composes the dependencies of a package
+ composePackage = { name, packageName, src, dependencies ? [], ... }@args:
+ builtins.addErrorContext "while evaluating node package '${packageName}'" ''
+ DIR=$(pwd)
+ cd $TMPDIR
+
+ unpackFile ${src}
+
+ # Make the base dir in which the target dependency resides first
+ mkdir -p "$(dirname "$DIR/${packageName}")"
+
+ if [ -f "${src}" ]
+ then
+ # Figure out what directory has been unpacked
+ packageDir="$(find . -maxdepth 1 -type d | tail -1)"
+
+ # Restore write permissions to make building work
+ find "$packageDir" -type d -exec chmod u+x {} \;
+ chmod -R u+w "$packageDir"
+
+ # Move the extracted tarball into the output folder
+ mv "$packageDir" "$DIR/${packageName}"
+ elif [ -d "${src}" ]
+ then
+ # Get a stripped name (without hash) of the source directory.
+ # On old nixpkgs it's already set internally.
+ if [ -z "$strippedName" ]
+ then
+ strippedName="$(stripHash ${src})"
+ fi
+
+ # Restore write permissions to make building work
+ chmod -R u+w "$strippedName"
+
+ # Move the extracted directory into the output folder
+ mv "$strippedName" "$DIR/${packageName}"
+ fi
+
+ # Unset the stripped name to not confuse the next unpack step
+ unset strippedName
+
+ # Include the dependencies of the package
+ cd "$DIR/${packageName}"
+ ${includeDependencies { inherit dependencies; }}
+ cd ..
+ ${lib.optionalString (builtins.substring 0 1 packageName == "@") "cd .."}
+ '';
+
+ pinpointDependencies = {dependencies, production}:
+ let
+ pinpointDependenciesFromPackageJSON = writeTextFile {
+ name = "pinpointDependencies.js";
+ text = ''
+ var fs = require('fs');
+ var path = require('path');
+
+ function resolveDependencyVersion(location, name) {
+ if(location == process.env['NIX_STORE']) {
+ return null;
+ } else {
+ var dependencyPackageJSON = path.join(location, "node_modules", name, "package.json");
+
+ if(fs.existsSync(dependencyPackageJSON)) {
+ var dependencyPackageObj = JSON.parse(fs.readFileSync(dependencyPackageJSON));
+
+ if(dependencyPackageObj.name == name) {
+ return dependencyPackageObj.version;
+ }
+ } else {
+ return resolveDependencyVersion(path.resolve(location, ".."), name);
+ }
+ }
+ }
+
+ function replaceDependencies(dependencies) {
+ if(typeof dependencies == "object" && dependencies !== null) {
+ for(var dependency in dependencies) {
+ var resolvedVersion = resolveDependencyVersion(process.cwd(), dependency);
+
+ if(resolvedVersion === null) {
+ process.stderr.write("WARNING: cannot pinpoint dependency: "+dependency+", context: "+process.cwd()+"\n");
+ } else {
+ dependencies[dependency] = resolvedVersion;
+ }
+ }
+ }
+ }
+
+ /* Read the package.json configuration */
+ var packageObj = JSON.parse(fs.readFileSync('./package.json'));
+
+ /* Pinpoint all dependencies */
+ replaceDependencies(packageObj.dependencies);
+ if(process.argv[2] == "development") {
+ replaceDependencies(packageObj.devDependencies);
+ }
+ replaceDependencies(packageObj.optionalDependencies);
+
+ /* Write the fixed package.json file */
+ fs.writeFileSync("package.json", JSON.stringify(packageObj, null, 2));
+ '';
+ };
+ in
+ ''
+ node ${pinpointDependenciesFromPackageJSON} ${if production then "production" else "development"}
+
+ ${lib.optionalString (dependencies != [])
+ ''
+ if [ -d node_modules ]
+ then
+ cd node_modules
+ ${lib.concatMapStrings (dependency: pinpointDependenciesOfPackage dependency) dependencies}
+ cd ..
+ fi
+ ''}
+ '';
+
+ # Recursively traverses all dependencies of a package and pinpoints all
+ # dependencies in the package.json file to the versions that are actually
+ # being used.
+
+ pinpointDependenciesOfPackage = { packageName, dependencies ? [], production ? true, ... }@args:
+ ''
+ if [ -d "${packageName}" ]
+ then
+ cd "${packageName}"
+ ${pinpointDependencies { inherit dependencies production; }}
+ cd ..
+ ${lib.optionalString (builtins.substring 0 1 packageName == "@") "cd .."}
+ fi
+ '';
+
+ # Extract the Node.js source code which is used to compile packages with
+ # native bindings
+ nodeSources = runCommand "node-sources" {} ''
+ tar --no-same-owner --no-same-permissions -xf ${nodejs.src}
+ mv node-* $out
+ '';
+
+ # Script that adds _integrity fields to all package.json files to prevent NPM from consulting the cache (that is empty)
+ addIntegrityFieldsScript = writeTextFile {
+ name = "addintegrityfields.js";
+ text = ''
+ var fs = require('fs');
+ var path = require('path');
+
+ function augmentDependencies(baseDir, dependencies) {
+ for(var dependencyName in dependencies) {
+ var dependency = dependencies[dependencyName];
+
+ // Open package.json and augment metadata fields
+ var packageJSONDir = path.join(baseDir, "node_modules", dependencyName);
+ var packageJSONPath = path.join(packageJSONDir, "package.json");
+
+ if(fs.existsSync(packageJSONPath)) { // Only augment packages that exist. Sometimes we may have production installs in which development dependencies can be ignored
+ console.log("Adding metadata fields to: "+packageJSONPath);
+ var packageObj = JSON.parse(fs.readFileSync(packageJSONPath));
+
+ if(dependency.integrity) {
+ packageObj["_integrity"] = dependency.integrity;
+ } else {
+ packageObj["_integrity"] = "sha1-000000000000000000000000000="; // When no _integrity string has been provided (e.g. by Git dependencies), add a dummy one. It does not seem to harm and it bypasses downloads.
+ }
+
+ if(dependency.resolved) {
+ packageObj["_resolved"] = dependency.resolved; // Adopt the resolved property if one has been provided
+ } else {
+ packageObj["_resolved"] = dependency.version; // Set the resolved version to the version identifier. This prevents NPM from cloning Git repositories.
+ }
+
+ if(dependency.from !== undefined) { // Adopt from property if one has been provided
+ packageObj["_from"] = dependency.from;
+ }
+
+ fs.writeFileSync(packageJSONPath, JSON.stringify(packageObj, null, 2));
+ }
+
+ // Augment transitive dependencies
+ if(dependency.dependencies !== undefined) {
+ augmentDependencies(packageJSONDir, dependency.dependencies);
+ }
+ }
+ }
+
+ if(fs.existsSync("./package-lock.json")) {
+ var packageLock = JSON.parse(fs.readFileSync("./package-lock.json"));
+
+ if(![1, 2].includes(packageLock.lockfileVersion)) {
+ process.stderr.write("Sorry, I only understand lock file versions 1 and 2!\n");
+ process.exit(1);
+ }
+
+ if(packageLock.dependencies !== undefined) {
+ augmentDependencies(".", packageLock.dependencies);
+ }
+ }
+ '';
+ };
+
+ # Reconstructs a package-lock file from the node_modules/ folder structure and package.json files with dummy sha1 hashes
+ reconstructPackageLock = writeTextFile {
+ name = "addintegrityfields.js";
+ text = ''
+ var fs = require('fs');
+ var path = require('path');
+
+ var packageObj = JSON.parse(fs.readFileSync("package.json"));
+
+ var lockObj = {
+ name: packageObj.name,
+ version: packageObj.version,
+ lockfileVersion: 1,
+ requires: true,
+ dependencies: {}
+ };
+
+ function augmentPackageJSON(filePath, dependencies) {
+ var packageJSON = path.join(filePath, "package.json");
+ if(fs.existsSync(packageJSON)) {
+ var packageObj = JSON.parse(fs.readFileSync(packageJSON));
+ dependencies[packageObj.name] = {
+ version: packageObj.version,
+ integrity: "sha1-000000000000000000000000000=",
+ dependencies: {}
+ };
+ processDependencies(path.join(filePath, "node_modules"), dependencies[packageObj.name].dependencies);
+ }
+ }
+
+ function processDependencies(dir, dependencies) {
+ if(fs.existsSync(dir)) {
+ var files = fs.readdirSync(dir);
+
+ files.forEach(function(entry) {
+ var filePath = path.join(dir, entry);
+ var stats = fs.statSync(filePath);
+
+ if(stats.isDirectory()) {
+ if(entry.substr(0, 1) == "@") {
+ // When we encounter a namespace folder, augment all packages belonging to the scope
+ var pkgFiles = fs.readdirSync(filePath);
+
+ pkgFiles.forEach(function(entry) {
+ if(stats.isDirectory()) {
+ var pkgFilePath = path.join(filePath, entry);
+ augmentPackageJSON(pkgFilePath, dependencies);
+ }
+ });
+ } else {
+ augmentPackageJSON(filePath, dependencies);
+ }
+ }
+ });
+ }
+ }
+
+ processDependencies("node_modules", lockObj.dependencies);
+
+ fs.writeFileSync("package-lock.json", JSON.stringify(lockObj, null, 2));
+ '';
+ };
+
+ prepareAndInvokeNPM = {packageName, bypassCache, reconstructLock, npmFlags, production}:
+ let
+ forceOfflineFlag = if bypassCache then "--offline" else "--registry http://www.example.com";
+ in
+ ''
+ # Pinpoint the versions of all dependencies to the ones that are actually being used
+ echo "pinpointing versions of dependencies..."
+ source $pinpointDependenciesScriptPath
+
+ # Patch the shebangs of the bundled modules to prevent them from
+ # calling executables outside the Nix store as much as possible
+ patchShebangs .
+
+ # Deploy the Node.js package by running npm install. Since the
+ # dependencies have been provided already by ourselves, it should not
+ # attempt to install them again, which is good, because we want to make
+ # it Nix's responsibility. If it needs to install any dependencies
+ # anyway (e.g. because the dependency parameters are
+ # incomplete/incorrect), it fails.
+ #
+ # The other responsibilities of NPM are kept -- version checks, build
+ # steps, postprocessing etc.
+
+ export HOME=$TMPDIR
+ cd "${packageName}"
+ runHook preRebuild
+
+ ${lib.optionalString bypassCache ''
+ ${lib.optionalString reconstructLock ''
+ if [ -f package-lock.json ]
+ then
+ echo "WARNING: Reconstruct lock option enabled, but a lock file already exists!"
+ echo "This will most likely result in version mismatches! We will remove the lock file and regenerate it!"
+ rm package-lock.json
+ else
+ echo "No package-lock.json file found, reconstructing..."
+ fi
+
+ node ${reconstructPackageLock}
+ ''}
+
+ node ${addIntegrityFieldsScript}
+ ''}
+
+ npm ${forceOfflineFlag} --nodedir=${nodeSources} ${npmFlags} ${lib.optionalString production "--production"} rebuild
+
+ if [ "''${dontNpmInstall-}" != "1" ]
+ then
+ # NPM tries to download packages even when they already exist if npm-shrinkwrap is used.
+ rm -f npm-shrinkwrap.json
+
+ npm ${forceOfflineFlag} --nodedir=${nodeSources} ${npmFlags} ${lib.optionalString production "--production"} install
+ fi
+ '';
+
+ # Builds and composes an NPM package including all its dependencies
+ buildNodePackage =
+ { name
+ , packageName
+ , version
+ , dependencies ? []
+ , buildInputs ? []
+ , production ? true
+ , npmFlags ? ""
+ , dontNpmInstall ? false
+ , bypassCache ? false
+ , reconstructLock ? false
+ , preRebuild ? ""
+ , dontStrip ? true
+ , unpackPhase ? "true"
+ , buildPhase ? "true"
+ , ... }@args:
+
+ let
+ extraArgs = removeAttrs args [ "name" "dependencies" "buildInputs" "dontStrip" "dontNpmInstall" "preRebuild" "unpackPhase" "buildPhase" ];
+ in
+ stdenv.mkDerivation ({
+ name = "node_${name}-${version}";
+ buildInputs = [ tarWrapper python nodejs ]
+ ++ lib.optional (stdenv.isLinux) utillinux
+ ++ lib.optional (stdenv.isDarwin) libtool
+ ++ buildInputs;
+
+ inherit nodejs;
+
+ inherit dontStrip; # Stripping may fail a build for some package deployments
+ inherit dontNpmInstall preRebuild unpackPhase buildPhase;
+
+ compositionScript = composePackage args;
+ pinpointDependenciesScript = pinpointDependenciesOfPackage args;
+
+ passAsFile = [ "compositionScript" "pinpointDependenciesScript" ];
+
+ installPhase = ''
+ # Create and enter a root node_modules/ folder
+ mkdir -p $out/lib/node_modules
+ cd $out/lib/node_modules
+
+ # Compose the package and all its dependencies
+ source $compositionScriptPath
+
+ ${prepareAndInvokeNPM { inherit packageName bypassCache reconstructLock npmFlags production; }}
+
+ # Create symlink to the deployed executable folder, if applicable
+ if [ -d "$out/lib/node_modules/.bin" ]
+ then
+ ln -s $out/lib/node_modules/.bin $out/bin
+ fi
+
+ # Create symlinks to the deployed manual page folders, if applicable
+ if [ -d "$out/lib/node_modules/${packageName}/man" ]
+ then
+ mkdir -p $out/share
+ for dir in "$out/lib/node_modules/${packageName}/man/"*
+ do
+ mkdir -p $out/share/man/$(basename "$dir")
+ for page in "$dir"/*
+ do
+ ln -s $page $out/share/man/$(basename "$dir")
+ done
+ done
+ fi
+
+ # Run post install hook, if provided
+ runHook postInstall
+ '';
+ } // extraArgs);
+
+ # Builds a node environment (a node_modules folder and a set of binaries)
+ buildNodeDependencies =
+ { name
+ , packageName
+ , version
+ , src
+ , dependencies ? []
+ , buildInputs ? []
+ , production ? true
+ , npmFlags ? ""
+ , dontNpmInstall ? false
+ , bypassCache ? false
+ , reconstructLock ? false
+ , dontStrip ? true
+ , unpackPhase ? "true"
+ , buildPhase ? "true"
+ , ... }@args:
+
+ let
+ extraArgs = removeAttrs args [ "name" "dependencies" "buildInputs" ];
+ in
+ stdenv.mkDerivation ({
+ name = "node-dependencies-${name}-${version}";
+
+ buildInputs = [ tarWrapper python nodejs ]
+ ++ lib.optional (stdenv.isLinux) utillinux
+ ++ lib.optional (stdenv.isDarwin) libtool
+ ++ buildInputs;
+
+ inherit dontStrip; # Stripping may fail a build for some package deployments
+ inherit dontNpmInstall unpackPhase buildPhase;
+
+ includeScript = includeDependencies { inherit dependencies; };
+ pinpointDependenciesScript = pinpointDependenciesOfPackage args;
+
+ passAsFile = [ "includeScript" "pinpointDependenciesScript" ];
+
+ installPhase = ''
+ mkdir -p $out/${packageName}
+ cd $out/${packageName}
+
+ source $includeScriptPath
+
+ # Create fake package.json to make the npm commands work properly
+ cp ${src}/package.json .
+ chmod 644 package.json
+ ${lib.optionalString bypassCache ''
+ if [ -f ${src}/package-lock.json ]
+ then
+ cp ${src}/package-lock.json .
+ fi
+ ''}
+
+ # Go to the parent folder to make sure that all packages are pinpointed
+ cd ..
+ ${lib.optionalString (builtins.substring 0 1 packageName == "@") "cd .."}
+
+ ${prepareAndInvokeNPM { inherit packageName bypassCache reconstructLock npmFlags production; }}
+
+ # Expose the executables that were installed
+ cd ..
+ ${lib.optionalString (builtins.substring 0 1 packageName == "@") "cd .."}
+
+ mv ${packageName} lib
+ ln -s $out/lib/node_modules/.bin $out/bin
+ '';
+ } // extraArgs);
+
+ # Builds a development shell
+ buildNodeShell =
+ { name
+ , packageName
+ , version
+ , src
+ , dependencies ? []
+ , buildInputs ? []
+ , production ? true
+ , npmFlags ? ""
+ , dontNpmInstall ? false
+ , bypassCache ? false
+ , reconstructLock ? false
+ , dontStrip ? true
+ , unpackPhase ? "true"
+ , buildPhase ? "true"
+ , ... }@args:
+
+ let
+ nodeDependencies = buildNodeDependencies args;
+ in
+ stdenv.mkDerivation {
+ name = "node-shell-${name}-${version}";
+
+ buildInputs = [ python nodejs ] ++ lib.optional (stdenv.isLinux) utillinux ++ buildInputs;
+ buildCommand = ''
+ mkdir -p $out/bin
+ cat > $out/bin/shell <=3.11, <3.14.0" "PyYAML" \
- --replace "deprecation>=2.0, <2.1" "deprecation" \
- --replace "idna==2.6" "idna" \
- --replace "cryptography>=1.3.4, <2.4.0" "cryptography" \
- --replace "pyOpenSSL>=16.0.0, <19.0.0" "pyOpenSSL" \
- --replace "six>=1.10.0,<=1.14.0" "six"
+ --replace "deprecation>=2.0, <2.1" "deprecation"
'';
meta = with lib; {
diff --git a/pkgs/games/devilutionx/default.nix b/pkgs/games/devilutionx/default.nix
index 0f89bdeabb4..5edadbd6a83 100644
--- a/pkgs/games/devilutionx/default.nix
+++ b/pkgs/games/devilutionx/default.nix
@@ -1,4 +1,5 @@
{ lib, stdenv, fetchFromGitHub, cmake, SDL2, SDL2_mixer, SDL2_ttf, libsodium, pkg-config }:
+
stdenv.mkDerivation rec {
pname = "devilutionx";
version = "1.2.0";
@@ -7,9 +8,13 @@ stdenv.mkDerivation rec {
owner = "diasurgical";
repo = "devilutionX";
rev = version;
- sha256 = "03w3bgmzwsbycx3fzvn47fsmabl069gw77yn2fqg89wlgaw1yrr9";
+ sha256 = "034xkz0a7j2nba17mh44r0kamcblvykdwfsjvjwaz2mrcsmzkr9z";
};
+ postPatch = ''
+ substituteInPlace Source/init.cpp --replace "/usr/share/diasurgical/devilutionx/" "${placeholder "out"}/share/diasurgical/devilutionx/"
+ '';
+
NIX_CFLAGS_COMPILE = [
"-I${SDL2_ttf}/include/SDL2"
''-DTTF_FONT_PATH="${placeholder "out"}/share/fonts/truetype/CharisSILB.ttf"''
@@ -17,6 +22,7 @@ stdenv.mkDerivation rec {
cmakeFlags = [
"-DBINARY_RELEASE=ON"
+ "-DVERSION_NUM=${version}"
];
nativeBuildInputs = [ pkg-config cmake ];
@@ -31,6 +37,7 @@ stdenv.mkDerivation rec {
'' else ''
install -Dm755 -t $out/bin devilutionx
install -Dt $out/share/fonts/truetype ../Packaging/resources/CharisSILB.ttf
+ install -Dt $out/share/diasurgical/devilutionx ../Packaging/resources/devilutionx.mpq
# TODO: icons and .desktop (see Packages/{debian,fedora}/*)
'') + ''
diff --git a/pkgs/misc/emulators/dolphin-emu/master.nix b/pkgs/misc/emulators/dolphin-emu/master.nix
index 8a4adfa314b..11627914560 100644
--- a/pkgs/misc/emulators/dolphin-emu/master.nix
+++ b/pkgs/misc/emulators/dolphin-emu/master.nix
@@ -21,13 +21,13 @@ let
};
in stdenv.mkDerivation rec {
pname = "dolphin-emu";
- version = "5.0-13603";
+ version = "5.0-14002";
src = fetchFromGitHub {
owner = "dolphin-emu";
repo = "dolphin";
- rev = "7250d6e4e091f4b5b4f2289c2c732349b69a2e8a";
- sha256 = "0l4vvxmc79x0b5p8k4km7p380wv8wsbmxjnif08rj0p3brbavc1i";
+ rev = "53222560650e4a99eceafcd537d4e04d1c50b3a6";
+ sha256 = "1m71gk9hm011fpv5hmpladf7abkylmawgr60d0czkr276pzg04ky";
};
nativeBuildInputs = [ cmake pkg-config ]
diff --git a/pkgs/misc/vim-plugins/generated.nix b/pkgs/misc/vim-plugins/generated.nix
index caaeb85388a..20b72a0c7ff 100644
--- a/pkgs/misc/vim-plugins/generated.nix
+++ b/pkgs/misc/vim-plugins/generated.nix
@@ -65,12 +65,12 @@ let
ale = buildVimPluginFrom2Nix {
pname = "ale";
- version = "2021-03-30";
+ version = "2021-04-07";
src = fetchFromGitHub {
owner = "dense-analysis";
repo = "ale";
- rev = "06f57ca9733aab6e6b67015917fdfd4bf1c70c48";
- sha256 = "0nsphdv6k5v0qa4p35g4j99pa68fwn7bll4jpvdqs74p82589dhd";
+ rev = "f0887d3e6178482255f11aa378124aef3699245f";
+ sha256 = "0kyfvpwfy4x7mnyb0v8cnjb9byjdj48czd3mzkd1yfpdmz4wgxsg";
};
meta.homepage = "https://github.com/dense-analysis/ale/";
};
@@ -209,12 +209,12 @@ let
auto-session = buildVimPluginFrom2Nix {
pname = "auto-session";
- version = "2021-04-06";
+ version = "2021-04-07";
src = fetchFromGitHub {
owner = "rmagatti";
repo = "auto-session";
- rev = "52f7f0c686188ba132dd362fde64f45c30ef431a";
- sha256 = "1512gd0z8wl8i6pc3gya9qg2pq9k5bfx9b7h2sgp8v356rjx21ks";
+ rev = "f6cfd92e96e9efb7e3e5249a4e45054fb7dc629b";
+ sha256 = "04771631jgm4f76vpmp5mwwf0nidvbw345ajk3nl5xd8lsq9zp3w";
};
meta.homepage = "https://github.com/rmagatti/auto-session/";
};
@@ -257,12 +257,12 @@ let
barbar-nvim = buildVimPluginFrom2Nix {
pname = "barbar-nvim";
- version = "2021-04-02";
+ version = "2021-04-07";
src = fetchFromGitHub {
owner = "romgrk";
repo = "barbar.nvim";
- rev = "9c80bfbce9f9b2bdbb42ad9cebfeba6a3dd9a9a8";
- sha256 = "10dln43kjafj7vaf7s2yvxvc1vaga7rygnl4819275ardjpgddgs";
+ rev = "c5c67f450921dec675b42c7f6f960169411dc7fc";
+ sha256 = "17gpmyqqskzmfvqilgdmcp5rb2ddgb8hvjz7ihfyaawp8sy11lv0";
};
meta.homepage = "https://github.com/romgrk/barbar.nvim/";
};
@@ -389,12 +389,12 @@ let
chadtree = buildVimPluginFrom2Nix {
pname = "chadtree";
- version = "2021-04-06";
+ version = "2021-04-08";
src = fetchFromGitHub {
owner = "ms-jpq";
repo = "chadtree";
- rev = "cd20e2323045c7dda2d42af64fa86a7325752a55";
- sha256 = "1jhxdfvvdvbar9gdzsjvxs8brckww454f2agf2ariwndakcinqqn";
+ rev = "012e3f21bf60858308db77f68ef3ee83a333587c";
+ sha256 = "1q6f0z0mnwg43ri4dzpdzx8n88hr1j32hp3x06zsmfq47rlf4iij";
};
meta.homepage = "https://github.com/ms-jpq/chadtree/";
};
@@ -485,12 +485,12 @@ let
coc-explorer = buildVimPluginFrom2Nix {
pname = "coc-explorer";
- version = "2021-04-01";
+ version = "2021-04-08";
src = fetchFromGitHub {
owner = "weirongxu";
repo = "coc-explorer";
- rev = "259d681b368dd0ea11e3b62bbb537c4eece2ef6a";
- sha256 = "1vzfx5ajjd4fq3n9ixj80l7gwq6wmiib899ww27sc5v4fkm5ykf6";
+ rev = "adb0ef3bbefee3747ce7ac96551789ea882832fb";
+ sha256 = "0kcag0sv94fjcvqfsjx6q1bdq5qvnji5iz2rg3pry49ar1igxmj8";
};
meta.homepage = "https://github.com/weirongxu/coc-explorer/";
};
@@ -654,12 +654,12 @@ let
completion-nvim = buildVimPluginFrom2Nix {
pname = "completion-nvim";
- version = "2021-01-15";
+ version = "2021-04-08";
src = fetchFromGitHub {
owner = "nvim-lua";
repo = "completion-nvim";
- rev = "fc9b2fd2d47bea6a8954de1b1b19f2330545b354";
- sha256 = "0dip8z6cfhjbz5lvf6f75382lg7d819djrpygbc12lf1s4i66i3z";
+ rev = "8bca7aca91c947031a8f14b038459e35e1755d90";
+ sha256 = "02zqc75p9ggrz6fyiwvzpnzipfd1s5xfr7fli2yypb4kp72mrbaf";
};
meta.homepage = "https://github.com/nvim-lua/completion-nvim/";
};
@@ -810,12 +810,12 @@ let
ctrlp-py-matcher = buildVimPluginFrom2Nix {
pname = "ctrlp-py-matcher";
- version = "2017-11-01";
+ version = "2021-04-08";
src = fetchFromGitHub {
owner = "FelikZ";
repo = "ctrlp-py-matcher";
- rev = "cf63fd546f1e80dd4db3db96afbeaad301d21f13";
- sha256 = "0hs829x3vxv12y78hz5g4a5qpw05xf42dk0hxxk3ind77mnl1ir1";
+ rev = "24969b88702bca79a6bfd85256450936968cf55d";
+ sha256 = "0fc2i14gsg6srjvmibz1d5dzzg9bry35pl5xs43l80xnhpkdndm8";
};
meta.homepage = "https://github.com/FelikZ/ctrlp-py-matcher/";
};
@@ -894,12 +894,12 @@ let
defx-nvim = buildVimPluginFrom2Nix {
pname = "defx-nvim";
- version = "2021-03-24";
+ version = "2021-04-08";
src = fetchFromGitHub {
owner = "Shougo";
repo = "defx.nvim";
- rev = "e5a757e2dc2f3409f5ccc4e4df384df93b0ef09d";
- sha256 = "1qfwpwb7r94hnjidggn1fwcshikac8j0ckf1qb0fppfx1akyf78q";
+ rev = "981804894051a6006b9337978a4f939a46b0c254";
+ sha256 = "05a9cv86qazfgpm4nhw6x9pvpj646i7n9jsbk6qn9jmrq7rm0whp";
};
meta.homepage = "https://github.com/Shougo/defx.nvim/";
};
@@ -1136,12 +1136,12 @@ let
deoplete-tabnine = buildVimPluginFrom2Nix {
pname = "deoplete-tabnine";
- version = "2021-02-28";
+ version = "2021-04-08";
src = fetchFromGitHub {
owner = "tbodt";
repo = "deoplete-tabnine";
- rev = "6997d621f6bd10351041be8e9dfbc6874009bf1b";
- sha256 = "17xxxk75w852qj89b1283pff1rsv6qd3siy14sxrz4455x4j1sj5";
+ rev = "181dc9e615e39fa95a722ec21b5604ef3b40c6f3";
+ sha256 = "0xc6kwgfvzfi1apgq6g0zl5wlvwxv51ipnpycrzq93sz618hg78j";
};
meta.homepage = "https://github.com/tbodt/deoplete-tabnine/";
};
@@ -1256,12 +1256,12 @@ let
dracula-vim = buildVimPluginFrom2Nix {
pname = "dracula-vim";
- version = "2021-03-18";
+ version = "2021-04-08";
src = fetchFromGitHub {
owner = "dracula";
repo = "vim";
- rev = "ab37ffc5aeb1693002f30254b3b9992965f45d5d";
- sha256 = "0affiaa2ng43r3rj2yzxs50fiilsk5vqkgjah2zqa159lb2058ra";
+ rev = "d82b9198d4dda1ac4a96756570f56125a1f86cb1";
+ sha256 = "1zj6ifair5gm1nn4nh886y6m8snlhiskiwxlfd1cm7j3xafwqapx";
};
meta.homepage = "https://github.com/dracula/vim/";
};
@@ -1647,8 +1647,8 @@ let
src = fetchFromGitHub {
owner = "lewis6991";
repo = "gitsigns.nvim";
- rev = "f66a368efa3cf605673492fd7afde80117aa2103";
- sha256 = "1lyjdnizif33g3bfrrmrxwgvavyvn260h08c49ai4il5vpgs8ap4";
+ rev = "5be4faafe18dc808878e127d69b9cd1883b03bee";
+ sha256 = "0k0z9bgrcidk8m1lckh3kkz0i6w6whrlc22v4vf8yfkqa8g7vai1";
};
meta.homepage = "https://github.com/lewis6991/gitsigns.nvim/";
};
@@ -2028,12 +2028,12 @@ let
jellybeans-nvim = buildVimPluginFrom2Nix {
pname = "jellybeans-nvim";
- version = "2021-04-05";
+ version = "2021-04-07";
src = fetchFromGitHub {
owner = "metalelf0";
repo = "jellybeans-nvim";
- rev = "736aa1024741871aa5902ae5a7d5fb21192b4fa1";
- sha256 = "13k3hf2y979xk3j4q4pwwhrxv0mw320ri4nyg3q39j3fprkryxs7";
+ rev = "cef41133874073b35bf7e8061d97a5214623770d";
+ sha256 = "1hd21h48mwsixbx4iw8r86pmml2z79wpc0p0wb8d50jjxlyphgv4";
};
meta.homepage = "https://github.com/metalelf0/jellybeans-nvim/";
};
@@ -2076,12 +2076,12 @@ let
julia-vim = buildVimPluginFrom2Nix {
pname = "julia-vim";
- version = "2021-04-06";
+ version = "2021-04-08";
src = fetchFromGitHub {
owner = "JuliaEditorSupport";
repo = "julia-vim";
- rev = "21ab5e899db6ad963b30102e14fb13be8eeb454c";
- sha256 = "1m3jgj47pq21ra3znccpgkln42h03799fc845zrrsv186fhqmrjr";
+ rev = "d589986c9dbb95ef08a1f5a01197fd43687e7031";
+ sha256 = "04hrc9wgdk0rjzx23dhnvjyybkpa7m8lf4p7cqmg5sdhlahqicjr";
};
meta.homepage = "https://github.com/JuliaEditorSupport/julia-vim/";
};
@@ -2232,12 +2232,12 @@ let
lh-vim-lib = buildVimPluginFrom2Nix {
pname = "lh-vim-lib";
- version = "2021-03-20";
+ version = "2021-04-06";
src = fetchFromGitHub {
owner = "LucHermitte";
repo = "lh-vim-lib";
- rev = "4b59e0470c4b9b359a4f6229c420686d6d8ea65f";
- sha256 = "0fbzkmargimal2xyjsyrc6kmw6gdl61hcf17arqp9wv3yn18k637";
+ rev = "6cb8f4cbe54b735dfa6dbb708cc9eaddead251d2";
+ sha256 = "0qggqhj2ikq2ki9g93qgwpl2w5nhssafmwc8a2xkwi4qm4k2shqh";
};
meta.homepage = "https://github.com/LucHermitte/lh-vim-lib/";
};
@@ -2352,12 +2352,12 @@ let
lualine-nvim = buildVimPluginFrom2Nix {
pname = "lualine-nvim";
- version = "2021-03-31";
+ version = "2021-04-08";
src = fetchFromGitHub {
owner = "hoob3rt";
repo = "lualine.nvim";
- rev = "7f1d7ba3fbd098d2afd0ee445e5889aca0ffe968";
- sha256 = "0qbv46byksmbnw068q57v5w4ss3bayxm433kidxdabs80msikhhz";
+ rev = "2b32fb090fa09d68e8e5a222646979fa1d54f899";
+ sha256 = "0vkskwgi8vw06j9nv97ndwli3xrvgd4sl046yk3xf3x3ph890wpj";
};
meta.homepage = "https://github.com/hoob3rt/lualine.nvim/";
};
@@ -2436,12 +2436,12 @@ let
mkdx = buildVimPluginFrom2Nix {
pname = "mkdx";
- version = "2021-01-28";
+ version = "2021-04-08";
src = fetchFromGitHub {
owner = "SidOfc";
repo = "mkdx";
- rev = "602a78430aee47881f8c57f73ba96fdded9a3ace";
- sha256 = "1j4icyp3p20rlb8apyp7ixwxv59q2pdzjg7krh1mc6spr6m779jv";
+ rev = "186cf8cf96777ebdc4976c2de08e7b62a248d2da";
+ sha256 = "01clzfnk86acpm24kfz3xwsy4xcqbx8ar4n0i1i6vvn8hq602mbv";
};
meta.homepage = "https://github.com/SidOfc/mkdx/";
};
@@ -2736,12 +2736,12 @@ let
neogit = buildVimPluginFrom2Nix {
pname = "neogit";
- version = "2021-04-06";
+ version = "2021-04-07";
src = fetchFromGitHub {
owner = "TimUntersberger";
repo = "neogit";
- rev = "ac8d7e1942a947eb335d77c3e611a526a4e24d4e";
- sha256 = "1jnyybcj9g26wrwq6i7yq7bpncywfqm957dy4lq0s531yv6m3yly";
+ rev = "fa941274218fb16464072805a17ba80e7c6f2648";
+ sha256 = "12f4f22wdsaa7ac0yzzqzsrrm2vrh0y7jmfir6ngkc9j3l52mg9d";
};
meta.homepage = "https://github.com/TimUntersberger/neogit/";
};
@@ -2988,12 +2988,12 @@ let
nvcode-color-schemes-vim = buildVimPluginFrom2Nix {
pname = "nvcode-color-schemes-vim";
- version = "2021-04-05";
+ version = "2021-04-07";
src = fetchFromGitHub {
owner = "ChristianChiarulli";
repo = "nvcode-color-schemes.vim";
- rev = "29d4a787ad847c267ba836c82e71bfc0a8346c47";
- sha256 = "0id5abls81yy9n8zvailrqljq5gd70x2wg3vbajrman8phpy7m9z";
+ rev = "383aed3efefb81168a607012006fb4bdcf918956";
+ sha256 = "1mbzcb9iqjia6mwfkznm8bh3c5mvsfnz2ysrvhhr3143nh71m2np";
};
meta.homepage = "https://github.com/ChristianChiarulli/nvcode-color-schemes.vim/";
};
@@ -3012,12 +3012,12 @@ let
nvim-autopairs = buildVimPluginFrom2Nix {
pname = "nvim-autopairs";
- version = "2021-03-24";
+ version = "2021-04-06";
src = fetchFromGitHub {
owner = "windwp";
repo = "nvim-autopairs";
- rev = "b8272f539017ffb6de6a05247e7c333b3721279b";
- sha256 = "11ng14pb14l0hsv27r24wwkjkw2l77kvd114pij3k5dl8b9zdgv2";
+ rev = "cae76770d1f69b927616313fe1676528adb6d62a";
+ sha256 = "1kh38zfa4x69m0j94f1wzzw4nqxwd89s50inik32zj5948j6licb";
};
meta.homepage = "https://github.com/windwp/nvim-autopairs/";
};
@@ -3036,12 +3036,12 @@ let
nvim-bufferline-lua = buildVimPluginFrom2Nix {
pname = "nvim-bufferline-lua";
- version = "2021-04-02";
+ version = "2021-04-07";
src = fetchFromGitHub {
owner = "akinsho";
repo = "nvim-bufferline.lua";
- rev = "2043d254017002c4862afefbacd5d1bd7fe94e55";
- sha256 = "062kg1vq3b09b009n75kijfs9hlfmlj1yfsnd517imm9n5xhvfmr";
+ rev = "224f2627c471f319626fc7c1ab85f9d7d91bb98a";
+ sha256 = "0yxby3p82pjkz8n0vnavbhw0qlva8mfq3nqff4bf1sg9iw0jpfkm";
};
meta.homepage = "https://github.com/akinsho/nvim-bufferline.lua/";
};
@@ -3072,12 +3072,12 @@ let
nvim-compe = buildVimPluginFrom2Nix {
pname = "nvim-compe";
- version = "2021-04-05";
+ version = "2021-04-08";
src = fetchFromGitHub {
owner = "hrsh7th";
repo = "nvim-compe";
- rev = "9fc416854685a8e05836b70d477d9bbbddefcd3b";
- sha256 = "1irasadwqdijqixbbbysd50qh1rfhfkhfljz2438hiv3ayvj4aad";
+ rev = "e2f1caba42f5b1af07ef9d729ae75d74855ac5d4";
+ sha256 = "0xk8hm3m8aywky7p2jm36a9sf495pa52lixmp14c7qj2s0wrki1c";
};
meta.homepage = "https://github.com/hrsh7th/nvim-compe/";
};
@@ -3096,12 +3096,12 @@ let
nvim-dap = buildVimPluginFrom2Nix {
pname = "nvim-dap";
- version = "2021-03-24";
+ version = "2021-04-07";
src = fetchFromGitHub {
owner = "mfussenegger";
repo = "nvim-dap";
- rev = "cd0afafc788f9d4d9df5fef5d348841906b295d6";
- sha256 = "1zh35qjxmkf37khagn8722byzjq2pns20cbmc821hfqdkj6q3pc8";
+ rev = "06e201849605dabf5dd28f972d2b7c507a8aff1f";
+ sha256 = "19mk9r2h491gqf0q9jv3yrlznfxwfz2q4h7jqq6yai740nx5yhzj";
};
meta.homepage = "https://github.com/mfussenegger/nvim-dap/";
};
@@ -3276,24 +3276,24 @@ let
nvim-tree-lua = buildVimPluginFrom2Nix {
pname = "nvim-tree-lua";
- version = "2021-04-05";
+ version = "2021-04-06";
src = fetchFromGitHub {
owner = "kyazdani42";
repo = "nvim-tree.lua";
- rev = "3350e4e97e51be10de9aca0617b665c9259d3089";
- sha256 = "1vp6nsyhnwhnqkpgqll4b2x4pcxc8wsc7xy0nq2i1a5qjrpbb4ss";
+ rev = "bbb8d6070f2a35ae85d1790fa3f8fff56c06d4ec";
+ sha256 = "0xsvbpq8sygl6d8nkw4vaj20bdnrx1x97sjr8y4p76kmqqrch09s";
};
meta.homepage = "https://github.com/kyazdani42/nvim-tree.lua/";
};
nvim-treesitter = buildVimPluginFrom2Nix {
pname = "nvim-treesitter";
- version = "2021-04-06";
+ version = "2021-04-08";
src = fetchFromGitHub {
owner = "nvim-treesitter";
repo = "nvim-treesitter";
- rev = "11e1db3ec29abb5711556085766cb6912814c6dc";
- sha256 = "0fsmbf8hnhcxxp8m738lmm75wg2ijxj8z0755aj0mcs8s735pjxz";
+ rev = "1f00ecdfa36ef5e43a4feaf189e8c2c003118c00";
+ sha256 = "1fidjwl7w1msg38b470cahjblcy7lgg885wbmswl380kf9c8118l";
};
meta.homepage = "https://github.com/nvim-treesitter/nvim-treesitter/";
};
@@ -3336,36 +3336,36 @@ let
nvim-ts-rainbow = buildVimPluginFrom2Nix {
pname = "nvim-ts-rainbow";
- version = "2021-04-05";
+ version = "2021-04-08";
src = fetchFromGitHub {
owner = "p00f";
repo = "nvim-ts-rainbow";
- rev = "d463320156e7e3d85a98aca1f5292422fd3b5b12";
- sha256 = "08sc8vd0arwyw3zpbnkmdp884fksw73yqzbw5fwddr3wn47sdckc";
+ rev = "97798465743459cb5f7d82e54c693bebc84e73f8";
+ sha256 = "0wibgcrpxb5hqbjig1sgisnxik0f8wv7ap4l2xv5mhwm8yz6x4gn";
};
meta.homepage = "https://github.com/p00f/nvim-ts-rainbow/";
};
nvim-web-devicons = buildVimPluginFrom2Nix {
pname = "nvim-web-devicons";
- version = "2021-04-05";
+ version = "2021-04-06";
src = fetchFromGitHub {
owner = "kyazdani42";
repo = "nvim-web-devicons";
- rev = "95c6d6bc3a9b969578d555b98a7be8619c65908e";
- sha256 = "15rw8qr52gi169x9cgs68dkm1f4blgqdrdmcqb7frqn8qjzaib9s";
+ rev = "ecc0ec031ec4330c7c4eaf3ed2efdf1abbaff834";
+ sha256 = "1m4bhwb1vg75lizdj8dkai9zcrxgky2g1gm6ivzj7i1y7p1k1ccv";
};
meta.homepage = "https://github.com/kyazdani42/nvim-web-devicons/";
};
nvim-whichkey-setup-lua = buildVimPluginFrom2Nix {
pname = "nvim-whichkey-setup-lua";
- version = "2021-03-26";
+ version = "2021-04-08";
src = fetchFromGitHub {
owner = "AckslD";
repo = "nvim-whichkey-setup.lua";
- rev = "59aa0a4287adf6c2c9faabf912cdc005230e7c98";
- sha256 = "093yjj28ak1ifbkn1s69wx8ldinj4v2bpf82fhqziw6d58ghwang";
+ rev = "7299ebd2bcfb412630a18356a653def7e72f162d";
+ sha256 = "1kxg7ss95cijf9i8nbsp3jkpmx9x3c4qp52d0ckwcdbyvskkal9y";
};
meta.homepage = "https://github.com/AckslD/nvim-whichkey-setup.lua/";
};
@@ -3484,8 +3484,8 @@ let
src = fetchFromGitHub {
owner = "wbthomason";
repo = "packer.nvim";
- rev = "b495895dffca9aabfead066a860b87ab3a67cf7e";
- sha256 = "08anlafdhmxc66yi4h13fkvqpkq1chazmyy8c18nx41af4b0p9bn";
+ rev = "fdf1851c6121dee98294791c72aebff92b99b733";
+ sha256 = "1ylwr70z7jlga260ydah03ngh47kf8jh7zgpl9iclih01nz6xwci";
};
meta.homepage = "https://github.com/wbthomason/packer.nvim/";
};
@@ -3576,12 +3576,12 @@ let
plenary-nvim = buildVimPluginFrom2Nix {
pname = "plenary-nvim";
- version = "2021-04-06";
+ version = "2021-04-08";
src = fetchFromGitHub {
owner = "nvim-lua";
repo = "plenary.nvim";
- rev = "720c304dc41da563857610e737ff281c250681ac";
- sha256 = "0gcd88v2jykdgp7mqf10n9ydpg8gfb7258mxysjaf67313idh626";
+ rev = "d0d291f87bed757f6be05c8bf753cb0e9602a478";
+ sha256 = "0xjz85yzcvxd0dynygxdb1b9jkzmy1m52s4rc5w67jidqc7hs8ii";
};
meta.homepage = "https://github.com/nvim-lua/plenary.nvim/";
};
@@ -3793,12 +3793,12 @@ let
registers-nvim = buildVimPluginFrom2Nix {
pname = "registers-nvim";
- version = "2021-03-31";
+ version = "2021-04-07";
src = fetchFromGitHub {
owner = "tversteeg";
repo = "registers.nvim";
- rev = "b8f6283724d3ccacf2c7add61f3fcb9c02e7d61d";
- sha256 = "1b1amy9k6j2ilcm79pp30gcqqjhbd2zfwxm5vbcra29p9s4f14y2";
+ rev = "105200aea2edd8c7ba995a76789a03e7dab83a85";
+ sha256 = "0vvr1mdrnybgrbvs7r5yrzwab35viz488gyibzdjl3b5wisxqwxh";
};
meta.homepage = "https://github.com/tversteeg/registers.nvim/";
};
@@ -3877,12 +3877,12 @@ let
rust-tools-nvim = buildVimPluginFrom2Nix {
pname = "rust-tools-nvim";
- version = "2021-04-06";
+ version = "2021-04-08";
src = fetchFromGitHub {
owner = "simrat39";
repo = "rust-tools.nvim";
- rev = "42a9fb0441630ea640b7d3e967d6ad5c7f41b520";
- sha256 = "0mcjcxhq2ri1galva5xjx4f0z98jyskmwypxc77gizisl2fjplnz";
+ rev = "ea210456f8eac176822c8777619d2f05797dc708";
+ sha256 = "14ygid112wwpgf429j1i65k72a1bn3pd6b7c1vpvyvvzdyfwnhiw";
};
meta.homepage = "https://github.com/simrat39/rust-tools.nvim/";
};
@@ -4081,12 +4081,12 @@ let
SpaceCamp = buildVimPluginFrom2Nix {
pname = "SpaceCamp";
- version = "2021-03-16";
+ version = "2021-04-07";
src = fetchFromGitHub {
owner = "jaredgorski";
repo = "SpaceCamp";
- rev = "ce034929763903937396cf6b2c9912eb209e6b39";
- sha256 = "07a1441gccilbhnk99lz66nvaiv14vdn34ink3jjd27d2mkf3skb";
+ rev = "376af5c2204de61726ea86b596acb2dab9795e1f";
+ sha256 = "0h3wxkswd5z9y46d6272sr210i73j5pwf5faw7qhr1plilfgx4gb";
};
meta.homepage = "https://github.com/jaredgorski/SpaceCamp/";
};
@@ -4394,12 +4394,12 @@ let
telescope-fzy-native-nvim = buildVimPluginFrom2Nix {
pname = "telescope-fzy-native-nvim";
- version = "2020-12-31";
+ version = "2021-04-08";
src = fetchFromGitHub {
owner = "nvim-telescope";
repo = "telescope-fzy-native.nvim";
- rev = "654dffd924b29fb9a9252dcbd63528b1498ac9fb";
- sha256 = "01x9z3n03qharjw778cxb16gw1dsxzmsxph4xsbfy1avf21c6x9g";
+ rev = "7b3d2528102f858036627a68821ccf5fc1d78ce4";
+ sha256 = "1mb47ixnpgd7ygrq1cldp9anc6gxqly4amj0l1pgh8cllj63393v";
fetchSubmodules = true;
};
meta.homepage = "https://github.com/nvim-telescope/telescope-fzy-native.nvim/";
@@ -4407,12 +4407,12 @@ let
telescope-nvim = buildVimPluginFrom2Nix {
pname = "telescope-nvim";
- version = "2021-04-04";
+ version = "2021-04-08";
src = fetchFromGitHub {
owner = "nvim-telescope";
repo = "telescope.nvim";
- rev = "d0cf646f65746415294f570ec643ffd0101ca3ab";
- sha256 = "02l65jxd50x4jc7mv1d9bsqasa7m0vkil0b36jamhvp1syzkwhkj";
+ rev = "64e59060b1750d0c86761693b6847c3db07afcd2";
+ sha256 = "0racv0zqklfn3dh7jvkw8hx9rh85mkrljixjh528h12qfv53arw7";
};
meta.homepage = "https://github.com/nvim-telescope/telescope.nvim/";
};
@@ -5212,12 +5212,12 @@ let
vim-clap = buildVimPluginFrom2Nix {
pname = "vim-clap";
- version = "2021-04-03";
+ version = "2021-04-07";
src = fetchFromGitHub {
owner = "liuchengxu";
repo = "vim-clap";
- rev = "97a2649ecb75cbad4081a9f575b2bb7f17582a3c";
- sha256 = "0jn8iyhw80xasnp7b09yqjxa46jkcrfmy2r8b7ynxan9a37b206i";
+ rev = "ee7e6a5782ec7033f361311f8f61f23146822e62";
+ sha256 = "0gr2sh6fbc8qfz0xlv5rhkg8jxh81wb2lb141m0hyc0fk1n2pya7";
};
meta.homepage = "https://github.com/liuchengxu/vim-clap/";
};
@@ -5920,12 +5920,12 @@ let
vim-fugitive = buildVimPluginFrom2Nix {
pname = "vim-fugitive";
- version = "2021-04-04";
+ version = "2021-04-07";
src = fetchFromGitHub {
owner = "tpope";
repo = "vim-fugitive";
- rev = "f29c9e50795cdfcc2b31b1e76ab6bd202e476298";
- sha256 = "0wn3c4jads0201433kc8f9mnlg1phhgamr218yz1q70waj60ns2n";
+ rev = "8ede0aaf57e1dbb5416ddbe30d0bfdde762e90bf";
+ sha256 = "1aa7cqkp2pkpn175y67gfjbd0p3jxca42n7iysykzi9hcgkshqm2";
};
meta.homepage = "https://github.com/tpope/vim-fugitive/";
};
@@ -6714,12 +6714,12 @@ let
vim-lsp-cxx-highlight = buildVimPluginFrom2Nix {
pname = "vim-lsp-cxx-highlight";
- version = "2021-03-14";
+ version = "2021-04-06";
src = fetchFromGitHub {
owner = "jackguo380";
repo = "vim-lsp-cxx-highlight";
- rev = "00818f0d8b7c87d3a1ecd81cc4ff1ab782355c2b";
- sha256 = "1pjricwcqsbw466anwcndhj97g6qbblk95jaa8yg3a2fs8gdz8iz";
+ rev = "130fd4189e0328630be7ad4aa7e1d98a0a503170";
+ sha256 = "1nsac8f2c0lj42a77wxcv3k6i8sbpm5ghip6nx7yz0dj7zd4xm10";
};
meta.homepage = "https://github.com/jackguo380/vim-lsp-cxx-highlight/";
};
@@ -7049,6 +7049,18 @@ let
meta.homepage = "https://github.com/rakr/vim-one/";
};
+ vim-opencl = buildVimPluginFrom2Nix {
+ pname = "vim-opencl";
+ version = "2018-06-13";
+ src = fetchFromGitHub {
+ owner = "petRUShka";
+ repo = "vim-opencl";
+ rev = "7668b018fe9461c6b51e0b736ed84aa84d6bafce";
+ sha256 = "0z8qasymkkaa272bjxmkp4sgd8qr4ypcqxlyzxgh5imp3gmrc6n1";
+ };
+ meta.homepage = "https://github.com/petRUShka/vim-opencl/";
+ };
+
vim-operator-replace = buildVimPluginFrom2Nix {
pname = "vim-operator-replace";
version = "2015-02-24";
@@ -7531,24 +7543,24 @@ let
vim-rhubarb = buildVimPluginFrom2Nix {
pname = "vim-rhubarb";
- version = "2021-04-03";
+ version = "2021-04-05";
src = fetchFromGitHub {
owner = "tpope";
repo = "vim-rhubarb";
- rev = "71d5c3598e0d14af3fbaf2530c061c306db5a962";
- sha256 = "03izgmaa150159lp43hsn17yqx0w8r8wa04cf1rnk1zw00zr2073";
+ rev = "1c36bf8668e329b51f8baf752c4ffe42f8d524ab";
+ sha256 = "1ad0ypfv7bsla964q8jd1mds62vr2rfd5309bq7dybbi8z3bz6fp";
};
meta.homepage = "https://github.com/tpope/vim-rhubarb/";
};
vim-rooter = buildVimPluginFrom2Nix {
pname = "vim-rooter";
- version = "2021-03-11";
+ version = "2021-04-08";
src = fetchFromGitHub {
owner = "airblade";
repo = "vim-rooter";
- rev = "544e701066c69bbeb45297d0285c2719e125440b";
- sha256 = "0mj5zvfsi4n8qi8cq0h99j1zb11xmrpkm31ll4q1bm5mf57kbmxa";
+ rev = "e122cb925b2d0e4f44f289fbdffd6a6ebb837a11";
+ sha256 = "0hc3k5338az962b2slia6lc5dkby79iqf1mvpxh57j9jp3gn9b3s";
};
meta.homepage = "https://github.com/airblade/vim-rooter/";
};
@@ -7963,12 +7975,12 @@ let
vim-swap = buildVimPluginFrom2Nix {
pname = "vim-swap";
- version = "2021-03-18";
+ version = "2021-04-07";
src = fetchFromGitHub {
owner = "machakann";
repo = "vim-swap";
- rev = "f363ea636f4e18b4a3382ff352d3cf2e2ac5840e";
- sha256 = "1pa5crmamama4v3yzcjfbizvpx03wb67zbjx1mn5rz6dcar903f6";
+ rev = "e75fb91c4940447758902f8cab95d13f8be84d0e";
+ sha256 = "0z8mlcjhp1r2v9hs69h6kpk7yfyi7c2y7ck096y5y0hbcwrarn6n";
};
meta.homepage = "https://github.com/machakann/vim-swap/";
};
@@ -8624,12 +8636,12 @@ let
vimspector = buildVimPluginFrom2Nix {
pname = "vimspector";
- version = "2021-03-30";
+ version = "2021-04-07";
src = fetchFromGitHub {
owner = "puremourning";
repo = "vimspector";
- rev = "caeb6610ed9f209490fbfacacc99e720847e6130";
- sha256 = "014xvr14kxk0js4qwdzv0ljzrz6dji9qrkjyjpr1qfx6r8kz2j1z";
+ rev = "7d83419a4f813aee826eee994b8e419b6ff102b0";
+ sha256 = "05xlpf3rm54kb6vxkm4gngbxabd58736najdawjxf8y7b6ajv39z";
fetchSubmodules = true;
};
meta.homepage = "https://github.com/puremourning/vimspector/";
@@ -8637,12 +8649,12 @@ let
vimtex = buildVimPluginFrom2Nix {
pname = "vimtex";
- version = "2021-04-06";
+ version = "2021-04-07";
src = fetchFromGitHub {
owner = "lervag";
repo = "vimtex";
- rev = "b31d4e3ed3942c98fcb928ca65bf9e9427608439";
- sha256 = "0vl0a71in04pi3v9h61piny6qrd91z8anmzv724dznqkc4ydp9hx";
+ rev = "83b8e2998c6f0554b7eb4a04cfe783b8eab86c88";
+ sha256 = "08k9in6xg0vbihwgcyy2c3gfsc91iz3lw2r3awg0zwgd41699qby";
};
meta.homepage = "https://github.com/lervag/vimtex/";
};
@@ -8879,12 +8891,12 @@ let
zig-vim = buildVimPluginFrom2Nix {
pname = "zig-vim";
- version = "2021-03-16";
+ version = "2021-04-07";
src = fetchFromGitHub {
owner = "ziglang";
repo = "zig.vim";
- rev = "33b62b688ef4f0b3810c4d3d1b3901f572488691";
- sha256 = "0dsc1h8ih5jgfni5szm8dby368naxh3igndm80yrciy2glcj1ayn";
+ rev = "fc32adfada0fac7a2f6088672e177d410c9e3ae1";
+ sha256 = "051l2dig6861xzl6zg41d6a776jhms7v6a86cap1ipd2rxkqh5yh";
};
meta.homepage = "https://github.com/ziglang/zig.vim/";
};
diff --git a/pkgs/misc/vim-plugins/vim-plugin-names b/pkgs/misc/vim-plugins/vim-plugin-names
index 0eb035485d3..82b6543b418 100644
--- a/pkgs/misc/vim-plugins/vim-plugin-names
+++ b/pkgs/misc/vim-plugins/vim-plugin-names
@@ -465,6 +465,7 @@ pearofducks/ansible-vim
peitalin/vim-jsx-typescript
peterbjorgensen/sved
peterhoeg/vim-qml
+petRUShka/vim-opencl
phaazon/hop.nvim
phanviet/vim-monokai-pro
plasticboy/vim-markdown
diff --git a/pkgs/servers/dns/doh-proxy-rust/cargo-lock.patch b/pkgs/servers/dns/doh-proxy-rust/cargo-lock.patch
new file mode 100644
index 00000000000..8eeb0702bf7
--- /dev/null
+++ b/pkgs/servers/dns/doh-proxy-rust/cargo-lock.patch
@@ -0,0 +1,838 @@
+diff --git a/Cargo.lock b/Cargo.lock
+new file mode 100644
+index 0000000..0dd9527
+--- /dev/null
++++ b/Cargo.lock
+@@ -0,0 +1,832 @@
++# This file is automatically @generated by Cargo.
++# It is not intended for manual editing.
++[[package]]
++name = "ansi_term"
++version = "0.11.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b"
++dependencies = [
++ "winapi",
++]
++
++[[package]]
++name = "anyhow"
++version = "1.0.40"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "28b2cd92db5cbd74e8e5028f7e27dd7aa3090e89e4f2a197cc7c8dfb69c7063b"
++
++[[package]]
++name = "atty"
++version = "0.2.14"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
++dependencies = [
++ "hermit-abi",
++ "libc",
++ "winapi",
++]
++
++[[package]]
++name = "autocfg"
++version = "1.0.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a"
++
++[[package]]
++name = "base64"
++version = "0.13.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd"
++
++[[package]]
++name = "bitflags"
++version = "1.2.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693"
++
++[[package]]
++name = "bumpalo"
++version = "3.6.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "63396b8a4b9de3f4fdfb320ab6080762242f66a8ef174c49d8e19b674db4cdbe"
++
++[[package]]
++name = "byteorder"
++version = "1.4.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610"
++
++[[package]]
++name = "bytes"
++version = "1.0.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b700ce4376041dcd0a327fd0097c41095743c4c8af8887265942faf1100bd040"
++
++[[package]]
++name = "cc"
++version = "1.0.67"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e3c69b077ad434294d3ce9f1f6143a2a4b89a8a2d54ef813d85003a4fd1137fd"
++
++[[package]]
++name = "cfg-if"
++version = "1.0.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
++
++[[package]]
++name = "clap"
++version = "2.33.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "37e58ac78573c40708d45522f0d80fa2f01cc4f9b4e2bf749807255454312002"
++dependencies = [
++ "ansi_term",
++ "atty",
++ "bitflags",
++ "strsim",
++ "textwrap",
++ "unicode-width",
++ "vec_map",
++]
++
++[[package]]
++name = "doh-proxy"
++version = "0.3.8"
++dependencies = [
++ "clap",
++ "jemallocator",
++ "libdoh",
++]
++
++[[package]]
++name = "fnv"
++version = "1.0.7"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
++
++[[package]]
++name = "fs_extra"
++version = "1.2.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "2022715d62ab30faffd124d40b76f4134a550a87792276512b18d63272333394"
++
++[[package]]
++name = "futures"
++version = "0.3.13"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7f55667319111d593ba876406af7c409c0ebb44dc4be6132a783ccf163ea14c1"
++dependencies = [
++ "futures-channel",
++ "futures-core",
++ "futures-executor",
++ "futures-io",
++ "futures-sink",
++ "futures-task",
++ "futures-util",
++]
++
++[[package]]
++name = "futures-channel"
++version = "0.3.13"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "8c2dd2df839b57db9ab69c2c9d8f3e8c81984781937fe2807dc6dcf3b2ad2939"
++dependencies = [
++ "futures-core",
++ "futures-sink",
++]
++
++[[package]]
++name = "futures-core"
++version = "0.3.13"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "15496a72fabf0e62bdc3df11a59a3787429221dd0710ba8ef163d6f7a9112c94"
++
++[[package]]
++name = "futures-executor"
++version = "0.3.13"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "891a4b7b96d84d5940084b2a37632dd65deeae662c114ceaa2c879629c9c0ad1"
++dependencies = [
++ "futures-core",
++ "futures-task",
++ "futures-util",
++]
++
++[[package]]
++name = "futures-io"
++version = "0.3.13"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d71c2c65c57704c32f5241c1223167c2c3294fd34ac020c807ddbe6db287ba59"
++
++[[package]]
++name = "futures-macro"
++version = "0.3.13"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ea405816a5139fb39af82c2beb921d52143f556038378d6db21183a5c37fbfb7"
++dependencies = [
++ "proc-macro-hack",
++ "proc-macro2",
++ "quote",
++ "syn",
++]
++
++[[package]]
++name = "futures-sink"
++version = "0.3.13"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "85754d98985841b7d4f5e8e6fbfa4a4ac847916893ec511a2917ccd8525b8bb3"
++
++[[package]]
++name = "futures-task"
++version = "0.3.13"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "fa189ef211c15ee602667a6fcfe1c1fd9e07d42250d2156382820fba33c9df80"
++
++[[package]]
++name = "futures-util"
++version = "0.3.13"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "1812c7ab8aedf8d6f2701a43e1243acdbcc2b36ab26e2ad421eb99ac963d96d1"
++dependencies = [
++ "futures-channel",
++ "futures-core",
++ "futures-io",
++ "futures-macro",
++ "futures-sink",
++ "futures-task",
++ "memchr",
++ "pin-project-lite",
++ "pin-utils",
++ "proc-macro-hack",
++ "proc-macro-nested",
++ "slab",
++]
++
++[[package]]
++name = "h2"
++version = "0.3.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "fc018e188373e2777d0ef2467ebff62a08e66c3f5857b23c8fbec3018210dc00"
++dependencies = [
++ "bytes",
++ "fnv",
++ "futures-core",
++ "futures-sink",
++ "futures-util",
++ "http",
++ "indexmap",
++ "slab",
++ "tokio",
++ "tokio-util",
++ "tracing",
++]
++
++[[package]]
++name = "hashbrown"
++version = "0.9.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d7afe4a420e3fe79967a00898cc1f4db7c8a49a9333a29f8a4bd76a253d5cd04"
++
++[[package]]
++name = "hermit-abi"
++version = "0.1.18"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "322f4de77956e22ed0e5032c359a0f1273f1f7f0d79bfa3b8ffbc730d7fbcc5c"
++dependencies = [
++ "libc",
++]
++
++[[package]]
++name = "http"
++version = "0.2.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7245cd7449cc792608c3c8a9eaf69bd4eabbabf802713748fd739c98b82f0747"
++dependencies = [
++ "bytes",
++ "fnv",
++ "itoa",
++]
++
++[[package]]
++name = "http-body"
++version = "0.4.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "5dfb77c123b4e2f72a2069aeae0b4b4949cc7e966df277813fc16347e7549737"
++dependencies = [
++ "bytes",
++ "http",
++ "pin-project-lite",
++]
++
++[[package]]
++name = "httparse"
++version = "1.3.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "615caabe2c3160b313d52ccc905335f4ed5f10881dd63dc5699d47e90be85691"
++
++[[package]]
++name = "httpdate"
++version = "0.3.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "494b4d60369511e7dea41cf646832512a94e542f68bb9c49e54518e0f468eb47"
++
++[[package]]
++name = "hyper"
++version = "0.14.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "8bf09f61b52cfcf4c00de50df88ae423d6c02354e385a86341133b5338630ad1"
++dependencies = [
++ "bytes",
++ "futures-channel",
++ "futures-core",
++ "futures-util",
++ "h2",
++ "http",
++ "http-body",
++ "httparse",
++ "httpdate",
++ "itoa",
++ "pin-project",
++ "tokio",
++ "tower-service",
++ "tracing",
++ "want",
++]
++
++[[package]]
++name = "indexmap"
++version = "1.6.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "824845a0bf897a9042383849b02c1bc219c2383772efcd5c6f9766fa4b81aef3"
++dependencies = [
++ "autocfg",
++ "hashbrown",
++]
++
++[[package]]
++name = "instant"
++version = "0.1.9"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "61124eeebbd69b8190558df225adf7e4caafce0d743919e5d6b19652314ec5ec"
++dependencies = [
++ "cfg-if",
++]
++
++[[package]]
++name = "itoa"
++version = "0.4.7"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "dd25036021b0de88a0aff6b850051563c6516d0bf53f8638938edbb9de732736"
++
++[[package]]
++name = "jemalloc-sys"
++version = "0.3.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "0d3b9f3f5c9b31aa0f5ed3260385ac205db665baa41d49bb8338008ae94ede45"
++dependencies = [
++ "cc",
++ "fs_extra",
++ "libc",
++]
++
++[[package]]
++name = "jemallocator"
++version = "0.3.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "43ae63fcfc45e99ab3d1b29a46782ad679e98436c3169d15a167a1108a724b69"
++dependencies = [
++ "jemalloc-sys",
++ "libc",
++]
++
++[[package]]
++name = "js-sys"
++version = "0.3.50"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "2d99f9e3e84b8f67f846ef5b4cbbc3b1c29f6c759fcbce6f01aa0e73d932a24c"
++dependencies = [
++ "wasm-bindgen",
++]
++
++[[package]]
++name = "lazy_static"
++version = "1.4.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
++
++[[package]]
++name = "libc"
++version = "0.2.92"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "56d855069fafbb9b344c0f962150cd2c1187975cb1c22c1522c240d8c4986714"
++
++[[package]]
++name = "libdoh"
++version = "0.3.8"
++dependencies = [
++ "anyhow",
++ "base64",
++ "byteorder",
++ "futures",
++ "hyper",
++ "tokio",
++ "tokio-rustls",
++]
++
++[[package]]
++name = "lock_api"
++version = "0.4.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "dd96ffd135b2fd7b973ac026d28085defbe8983df057ced3eb4f2130b0831312"
++dependencies = [
++ "scopeguard",
++]
++
++[[package]]
++name = "log"
++version = "0.4.14"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "51b9bbe6c47d51fc3e1a9b945965946b4c44142ab8792c50835a980d362c2710"
++dependencies = [
++ "cfg-if",
++]
++
++[[package]]
++name = "memchr"
++version = "2.3.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "0ee1c47aaa256ecabcaea351eae4a9b01ef39ed810004e298d2511ed284b1525"
++
++[[package]]
++name = "mio"
++version = "0.7.11"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "cf80d3e903b34e0bd7282b218398aec54e082c840d9baf8339e0080a0c542956"
++dependencies = [
++ "libc",
++ "log",
++ "miow",
++ "ntapi",
++ "winapi",
++]
++
++[[package]]
++name = "miow"
++version = "0.3.7"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b9f1c5b025cda876f66ef43a113f91ebc9f4ccef34843000e0adf6ebbab84e21"
++dependencies = [
++ "winapi",
++]
++
++[[package]]
++name = "ntapi"
++version = "0.3.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "3f6bb902e437b6d86e03cce10a7e2af662292c5dfef23b65899ea3ac9354ad44"
++dependencies = [
++ "winapi",
++]
++
++[[package]]
++name = "num_cpus"
++version = "1.13.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "05499f3756671c15885fee9034446956fff3f243d6077b91e5767df161f766b3"
++dependencies = [
++ "hermit-abi",
++ "libc",
++]
++
++[[package]]
++name = "once_cell"
++version = "1.7.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "af8b08b04175473088b46763e51ee54da5f9a164bc162f615b91bc179dbf15a3"
++
++[[package]]
++name = "parking_lot"
++version = "0.11.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "6d7744ac029df22dca6284efe4e898991d28e3085c706c972bcd7da4a27a15eb"
++dependencies = [
++ "instant",
++ "lock_api",
++ "parking_lot_core",
++]
++
++[[package]]
++name = "parking_lot_core"
++version = "0.8.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "fa7a782938e745763fe6907fc6ba86946d72f49fe7e21de074e08128a99fb018"
++dependencies = [
++ "cfg-if",
++ "instant",
++ "libc",
++ "redox_syscall",
++ "smallvec",
++ "winapi",
++]
++
++[[package]]
++name = "pin-project"
++version = "1.0.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "bc174859768806e91ae575187ada95c91a29e96a98dc5d2cd9a1fed039501ba6"
++dependencies = [
++ "pin-project-internal",
++]
++
++[[package]]
++name = "pin-project-internal"
++version = "1.0.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "a490329918e856ed1b083f244e3bfe2d8c4f336407e4ea9e1a9f479ff09049e5"
++dependencies = [
++ "proc-macro2",
++ "quote",
++ "syn",
++]
++
++[[package]]
++name = "pin-project-lite"
++version = "0.2.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "dc0e1f259c92177c30a4c9d177246edd0a3568b25756a977d0632cf8fa37e905"
++
++[[package]]
++name = "pin-utils"
++version = "0.1.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
++
++[[package]]
++name = "proc-macro-hack"
++version = "0.5.19"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "dbf0c48bc1d91375ae5c3cd81e3722dff1abcf81a30960240640d223f59fe0e5"
++
++[[package]]
++name = "proc-macro-nested"
++version = "0.1.7"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "bc881b2c22681370c6a780e47af9840ef841837bc98118431d4e1868bd0c1086"
++
++[[package]]
++name = "proc-macro2"
++version = "1.0.26"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "a152013215dca273577e18d2bf00fa862b89b24169fb78c4c95aeb07992c9cec"
++dependencies = [
++ "unicode-xid",
++]
++
++[[package]]
++name = "quote"
++version = "1.0.9"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "c3d0b9745dc2debf507c8422de05d7226cc1f0644216dfdfead988f9b1ab32a7"
++dependencies = [
++ "proc-macro2",
++]
++
++[[package]]
++name = "redox_syscall"
++version = "0.2.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "94341e4e44e24f6b591b59e47a8a027df12e008d73fd5672dbea9cc22f4507d9"
++dependencies = [
++ "bitflags",
++]
++
++[[package]]
++name = "ring"
++version = "0.16.20"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc"
++dependencies = [
++ "cc",
++ "libc",
++ "once_cell",
++ "spin",
++ "untrusted",
++ "web-sys",
++ "winapi",
++]
++
++[[package]]
++name = "rustls"
++version = "0.19.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "064fd21ff87c6e87ed4506e68beb42459caa4a0e2eb144932e6776768556980b"
++dependencies = [
++ "base64",
++ "log",
++ "ring",
++ "sct",
++ "webpki",
++]
++
++[[package]]
++name = "scopeguard"
++version = "1.1.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
++
++[[package]]
++name = "sct"
++version = "0.6.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e3042af939fca8c3453b7af0f1c66e533a15a86169e39de2657310ade8f98d3c"
++dependencies = [
++ "ring",
++ "untrusted",
++]
++
++[[package]]
++name = "slab"
++version = "0.4.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "c111b5bd5695e56cffe5129854aa230b39c93a305372fdbb2668ca2394eea9f8"
++
++[[package]]
++name = "smallvec"
++version = "1.6.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "fe0f37c9e8f3c5a4a66ad655a93c74daac4ad00c441533bf5c6e7990bb42604e"
++
++[[package]]
++name = "spin"
++version = "0.5.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d"
++
++[[package]]
++name = "strsim"
++version = "0.8.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a"
++
++[[package]]
++name = "syn"
++version = "1.0.68"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "3ce15dd3ed8aa2f8eeac4716d6ef5ab58b6b9256db41d7e1a0224c2788e8fd87"
++dependencies = [
++ "proc-macro2",
++ "quote",
++ "unicode-xid",
++]
++
++[[package]]
++name = "textwrap"
++version = "0.11.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060"
++dependencies = [
++ "unicode-width",
++]
++
++[[package]]
++name = "tokio"
++version = "1.4.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "134af885d758d645f0f0505c9a8b3f9bf8a348fd822e112ab5248138348f1722"
++dependencies = [
++ "autocfg",
++ "bytes",
++ "libc",
++ "memchr",
++ "mio",
++ "num_cpus",
++ "parking_lot",
++ "pin-project-lite",
++]
++
++[[package]]
++name = "tokio-rustls"
++version = "0.22.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "bc6844de72e57df1980054b38be3a9f4702aba4858be64dd700181a8a6d0e1b6"
++dependencies = [
++ "rustls",
++ "tokio",
++ "webpki",
++]
++
++[[package]]
++name = "tokio-util"
++version = "0.6.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "5143d049e85af7fbc36f5454d990e62c2df705b3589f123b71f441b6b59f443f"
++dependencies = [
++ "bytes",
++ "futures-core",
++ "futures-sink",
++ "log",
++ "pin-project-lite",
++ "tokio",
++]
++
++[[package]]
++name = "tower-service"
++version = "0.3.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "360dfd1d6d30e05fda32ace2c8c70e9c0a9da713275777f5a4dbb8a1893930c6"
++
++[[package]]
++name = "tracing"
++version = "0.1.25"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "01ebdc2bb4498ab1ab5f5b73c5803825e60199229ccba0698170e3be0e7f959f"
++dependencies = [
++ "cfg-if",
++ "pin-project-lite",
++ "tracing-core",
++]
++
++[[package]]
++name = "tracing-core"
++version = "0.1.17"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f50de3927f93d202783f4513cda820ab47ef17f624b03c096e86ef00c67e6b5f"
++dependencies = [
++ "lazy_static",
++]
++
++[[package]]
++name = "try-lock"
++version = "0.2.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642"
++
++[[package]]
++name = "unicode-width"
++version = "0.1.8"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "9337591893a19b88d8d87f2cec1e73fad5cdfd10e5a6f349f498ad6ea2ffb1e3"
++
++[[package]]
++name = "unicode-xid"
++version = "0.2.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f7fe0bb3479651439c9112f72b6c505038574c9fbb575ed1bf3b797fa39dd564"
++
++[[package]]
++name = "untrusted"
++version = "0.7.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a"
++
++[[package]]
++name = "vec_map"
++version = "0.8.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191"
++
++[[package]]
++name = "want"
++version = "0.3.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "1ce8a968cb1cd110d136ff8b819a556d6fb6d919363c61534f6860c7eb172ba0"
++dependencies = [
++ "log",
++ "try-lock",
++]
++
++[[package]]
++name = "wasm-bindgen"
++version = "0.2.73"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "83240549659d187488f91f33c0f8547cbfef0b2088bc470c116d1d260ef623d9"
++dependencies = [
++ "cfg-if",
++ "wasm-bindgen-macro",
++]
++
++[[package]]
++name = "wasm-bindgen-backend"
++version = "0.2.73"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ae70622411ca953215ca6d06d3ebeb1e915f0f6613e3b495122878d7ebec7dae"
++dependencies = [
++ "bumpalo",
++ "lazy_static",
++ "log",
++ "proc-macro2",
++ "quote",
++ "syn",
++ "wasm-bindgen-shared",
++]
++
++[[package]]
++name = "wasm-bindgen-macro"
++version = "0.2.73"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "3e734d91443f177bfdb41969de821e15c516931c3c3db3d318fa1b68975d0f6f"
++dependencies = [
++ "quote",
++ "wasm-bindgen-macro-support",
++]
++
++[[package]]
++name = "wasm-bindgen-macro-support"
++version = "0.2.73"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d53739ff08c8a68b0fdbcd54c372b8ab800b1449ab3c9d706503bc7dd1621b2c"
++dependencies = [
++ "proc-macro2",
++ "quote",
++ "syn",
++ "wasm-bindgen-backend",
++ "wasm-bindgen-shared",
++]
++
++[[package]]
++name = "wasm-bindgen-shared"
++version = "0.2.73"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d9a543ae66aa233d14bb765ed9af4a33e81b8b58d1584cf1b47ff8cd0b9e4489"
++
++[[package]]
++name = "web-sys"
++version = "0.3.50"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "a905d57e488fec8861446d3393670fb50d27a262344013181c2cdf9fff5481be"
++dependencies = [
++ "js-sys",
++ "wasm-bindgen",
++]
++
++[[package]]
++name = "webpki"
++version = "0.21.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b8e38c0608262c46d4a56202ebabdeb094cef7e560ca7a226c6bf055188aa4ea"
++dependencies = [
++ "ring",
++ "untrusted",
++]
++
++[[package]]
++name = "winapi"
++version = "0.3.9"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
++dependencies = [
++ "winapi-i686-pc-windows-gnu",
++ "winapi-x86_64-pc-windows-gnu",
++]
++
++[[package]]
++name = "winapi-i686-pc-windows-gnu"
++version = "0.4.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
++
++[[package]]
++name = "winapi-x86_64-pc-windows-gnu"
++version = "0.4.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
diff --git a/pkgs/servers/dns/doh-proxy-rust/default.nix b/pkgs/servers/dns/doh-proxy-rust/default.nix
new file mode 100644
index 00000000000..76f1397611a
--- /dev/null
+++ b/pkgs/servers/dns/doh-proxy-rust/default.nix
@@ -0,0 +1,27 @@
+{ lib, stdenv, rustPlatform, fetchFromGitHub, Security, libiconv }:
+
+rustPlatform.buildRustPackage rec {
+ pname = "doh-proxy-rust";
+ version = "0.3.8";
+
+ src = fetchFromGitHub {
+ owner = "jedisct1";
+ repo = "doh-server";
+ rev = version;
+ sha256 = "0jksdrji06ykk5cj6i8ydcjhagjwb2xz5bjs6qsw044p8a2hsq53";
+ };
+
+ cargoSha256 = "1wilm7bzr8h9yjwzw97ihavaylkv6nrk8f0vmm7kia69vqdrz9in";
+ cargoPatches = [ ./cargo-lock.patch ];
+
+ buildInputs = lib.optionals stdenv.isDarwin [ Security libiconv ];
+
+ doCheck = false; # no test suite, skip useless compile step
+
+ meta = with lib; {
+ homepage = "https://github.com/jedisct1/doh-server";
+ description = "Fast, mature, secure DoH server proxy written in Rust";
+ license = with licenses; [ mit ];
+ maintainers = with maintainers; [ stephank ];
+ };
+}
diff --git a/pkgs/servers/unifi/default.nix b/pkgs/servers/unifi/default.nix
index 0bc3c3413bb..aeaa4409aa7 100644
--- a/pkgs/servers/unifi/default.nix
+++ b/pkgs/servers/unifi/default.nix
@@ -52,7 +52,7 @@ in rec {
};
unifi6 = generic {
- version = "6.0.45";
- sha256 = "1mph22x2p26q76gh6s714xwsvc03cciy4gx00jv4vhcm28p6nlxy";
+ version = "6.1.71";
+ sha256 = "1lvsq0xpfgwpbzs25khy7bnrhv8i1jgzi8ij75bsh65hfa3rplc2";
};
}
diff --git a/pkgs/tools/admin/awscli2/default.nix b/pkgs/tools/admin/awscli2/default.nix
index 1f5ff48d25a..a2ea7bb35db 100644
--- a/pkgs/tools/admin/awscli2/default.nix
+++ b/pkgs/tools/admin/awscli2/default.nix
@@ -3,12 +3,12 @@ let
py = python3.override {
packageOverrides = self: super: {
botocore = super.botocore.overridePythonAttrs (oldAttrs: rec {
- version = "2.0.0dev97";
+ version = "2.0.0dev103";
src = fetchFromGitHub {
owner = "boto";
repo = "botocore";
- rev = "f240d284994b521b0bd099161bc0ab5786caf700";
- sha256 = "sha256-Ot3w/4OcQ+pXq6bJnQqV5uvG50/uIOa1pwMWqor5NXM=";
+ rev = "e30d580042687a79776fdf93264e80746e08d21f";
+ sha256 = "sha256-+cTQQO6dPctvf3WZOk8Mgo1eQUdqRdGCcz7jcVhEvNo=";
};
});
prompt_toolkit = super.prompt_toolkit.overridePythonAttrs (oldAttrs: rec {
@@ -24,18 +24,18 @@ let
in
with py.pkgs; buildPythonApplication rec {
pname = "awscli2";
- version = "2.1.29"; # N.B: if you change this, change botocore to a matching version too
+ version = "2.1.35"; # N.B: if you change this, change botocore to a matching version too
src = fetchFromGitHub {
owner = "aws";
repo = "aws-cli";
rev = version;
- sha256 = "sha256-6SVDJeyPJQX4XIH8RYRzJG2LFDHxIrW/b1a0JZ5kIFY=";
+ sha256 = "sha256-YgzagbbVLlGSPIhck0YaJg3gQGEdoqXtLapN04Q6hLw=";
};
postPatch = ''
substituteInPlace setup.py --replace "colorama>=0.2.5,<0.4.4" "colorama>=0.2.5"
- substituteInPlace setup.py --replace "cryptography>=2.8.0,<=2.9.0" "cryptography>=2.8.0"
+ substituteInPlace setup.py --replace "cryptography>=3.3.2,<3.4.0" "cryptography>=3.3.2"
substituteInPlace setup.py --replace "docutils>=0.10,<0.16" "docutils>=0.10"
substituteInPlace setup.py --replace "ruamel.yaml>=0.15.0,<0.16.0" "ruamel.yaml>=0.15.0"
substituteInPlace setup.py --replace "wcwidth<0.2.0" "wcwidth"
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 111346e6938..d4c7989e14a 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -18308,6 +18308,10 @@ in
python3Packages = python36Packages;
};
+ doh-proxy-rust = callPackage ../servers/dns/doh-proxy-rust {
+ inherit (darwin.apple_sdk.frameworks) Security;
+ };
+
dgraph = callPackage ../servers/dgraph { };
dico = callPackage ../servers/dico { };