diff --git a/doc/contributing/coding-conventions.chapter.md b/doc/contributing/coding-conventions.chapter.md
index f6a0970165f5..2530b14a2f7b 100644
--- a/doc/contributing/coding-conventions.chapter.md
+++ b/doc/contributing/coding-conventions.chapter.md
@@ -204,13 +204,13 @@ The key words _must_, _must not_, _required_, _shall_, _shall not_, _should_, _s
In Nixpkgs, there are generally three different names associated with a package:
-- The `name` attribute of the derivation (excluding the version part). This is what most users see, in particular when using `nix-env`.
+- The `pname` attribute of the derivation. This is what most users see, in particular when using `nix-env`.
- The variable name used for the instantiated package in `all-packages.nix`, and when passing it as a dependency to other functions. Typically this is called the _package attribute name_. This is what Nix expression authors see. It can also be used when installing using `nix-env -iA`.
- The filename for (the directory containing) the Nix expression.
-Most of the time, these are the same. For instance, the package `e2fsprogs` has a `name` attribute `"e2fsprogs-version"`, is bound to the variable name `e2fsprogs` in `all-packages.nix`, and the Nix expression is in `pkgs/os-specific/linux/e2fsprogs/default.nix`.
+Most of the time, these are the same. For instance, the package `e2fsprogs` has a `pname` attribute `"e2fsprogs"`, is bound to the variable name `e2fsprogs` in `all-packages.nix`, and the Nix expression is in `pkgs/os-specific/linux/e2fsprogs/default.nix`.
There are a few naming guidelines:
diff --git a/nixos/doc/manual/default.nix b/nixos/doc/manual/default.nix
index 342834e257a2..9dab1738abed 100644
--- a/nixos/doc/manual/default.nix
+++ b/nixos/doc/manual/default.nix
@@ -21,6 +21,8 @@ let
withManOptDedupPatch = true;
};
+ manpageUrls = pkgs.path + "/doc/manpage-urls.json";
+
# We need to strip references to /nix/store/* from options,
# including any `extraSources` if some modules came from elsewhere,
# or else the build will fail.
@@ -72,7 +74,7 @@ let
nativeBuildInputs = [ pkgs.nixos-render-docs ];
} ''
nixos-render-docs manual docbook \
- --manpage-urls ${pkgs.path + "/doc/manpage-urls.json"} \
+ --manpage-urls ${manpageUrls} \
"$out" \
--section \
--section-id modules \
@@ -255,9 +257,12 @@ in rec {
manpages = runCommand "nixos-manpages"
{ inherit sources;
nativeBuildInputs = [
+ buildPackages.installShellFiles
+ ] ++ lib.optionals allowDocBook [
buildPackages.libxml2.bin
buildPackages.libxslt.bin
- buildPackages.installShellFiles
+ ] ++ lib.optionals (! allowDocBook) [
+ buildPackages.nixos-render-docs
];
allowedReferences = ["out"];
}
@@ -265,14 +270,24 @@ in rec {
# Generate manpages.
mkdir -p $out/share/man/man8
installManPage ${./manpages}/*
- xsltproc --nonet \
- --maxdepth 6000 \
- --param man.output.in.separate.dir 1 \
- --param man.output.base.dir "'$out/share/man/'" \
- --param man.endnotes.are.numbered 0 \
- --param man.break.after.slash 1 \
- ${docbook_xsl_ns}/xml/xsl/docbook/manpages/docbook.xsl \
- ${manual-combined}/man-pages-combined.xml
+ ${if allowDocBook
+ then ''
+ xsltproc --nonet \
+ --maxdepth 6000 \
+ --param man.output.in.separate.dir 1 \
+ --param man.output.base.dir "'$out/share/man/'" \
+ --param man.endnotes.are.numbered 0 \
+ --param man.break.after.slash 1 \
+ ${docbook_xsl_ns}/xml/xsl/docbook/manpages/docbook.xsl \
+ ${manual-combined}/man-pages-combined.xml
+ ''
+ else ''
+ mkdir -p $out/share/man/man5
+ nixos-render-docs options manpage \
+ --revision ${lib.escapeShellArg revision} \
+ ${optionsJSON}/share/doc/nixos/options.json \
+ $out/share/man/man5/configuration.nix.5
+ ''}
'';
}
diff --git a/nixos/doc/manual/from_md/release-notes/rl-2305.section.xml b/nixos/doc/manual/from_md/release-notes/rl-2305.section.xml
index 19c62f4cdaf0..238ed078fdd1 100644
--- a/nixos/doc/manual/from_md/release-notes/rl-2305.section.xml
+++ b/nixos/doc/manual/from_md/release-notes/rl-2305.section.xml
@@ -577,8 +577,8 @@
- services.openssh.cyphers to
- services.openssh.settings.Cyphers
+ services.openssh.ciphers to
+ services.openssh.settings.Ciphers
@@ -922,6 +922,52 @@
as general purpose ephemeral block devices has been removed.
+
+
+ As Singularity has renamed to
+ Apptainer
+ to distinguish from
+ an
+ un-renamed fork by Sylabs Inc., there are now two
+ packages of Singularity/Apptainer:
+
+
+
+
+ apptainer: From
+ github.com/apptainer/apptainer, which
+ is the new repo after renaming.
+
+
+
+
+ singularity: From
+ github.com/sylabs/singularity, which is
+ the fork by Sylabs Inc..
+
+
+
+
+ programs.singularity got a new
+ package option to specify which package to
+ use.
+
+
+ singularity-tools.buildImage got a new
+ input argument singularity to specify which
+ package to use.
+
+
+
+
+ The new option
+ programs.singularity.enableFakeroot, if set
+ to true, provides
+ --fakeroot support for
+ apptainer and
+ singularity.
+
+
The unifi-poller package and corresponding
diff --git a/nixos/doc/manual/release-notes/rl-2305.section.md b/nixos/doc/manual/release-notes/rl-2305.section.md
index e2abcd4c7a36..3b4139334797 100644
--- a/nixos/doc/manual/release-notes/rl-2305.section.md
+++ b/nixos/doc/manual/release-notes/rl-2305.section.md
@@ -137,7 +137,7 @@ In addition to numerous new and upgraded packages, this release has the followin
- `services.openssh.logLevel` to `services.openssh.settings.LogLevel`
- `services.openssh.kexAlgorithms` to `services.openssh.settings.KexAlgorithms`
- `services.openssh.macs` to `services.openssh.settings.Macs`
- - `services.openssh.cyphers` to `services.openssh.settings.Cyphers`
+ - `services.openssh.ciphers` to `services.openssh.settings.Ciphers`
- `services.openssh.gatewayPorts` to `services.openssh.settings.GatewayPorts`
- `services.mastodon` gained a tootctl wrapped named `mastodon-tootctl` similar to `nextcloud-occ` which can be executed from any user and switches to the configured mastodon user with sudo and sources the environment variables.
@@ -225,6 +225,18 @@ In addition to numerous new and upgraded packages, this release has the followin
- The `zramSwap` is now implemented with `zram-generator`, and the option `zramSwap.numDevices` for using ZRAM devices as general purpose ephemeral block devices has been removed.
+- As Singularity has renamed to [Apptainer](https://apptainer.org/news/community-announcement-20211130)
+ to distinguish from [an un-renamed fork by Sylabs Inc.](https://sylabs.io/2021/05/singularity-community-edition),
+ there are now two packages of Singularity/Apptainer:
+ * `apptainer`: From `github.com/apptainer/apptainer`, which is the new repo after renaming.
+ * `singularity`: From `github.com/sylabs/singularity`, which is the fork by Sylabs Inc..
+
+ `programs.singularity` got a new `package` option to specify which package to use.
+
+ `singularity-tools.buildImage` got a new input argument `singularity` to specify which package to use.
+
+- The new option `programs.singularity.enableFakeroot`, if set to `true`, provides `--fakeroot` support for `apptainer` and `singularity`.
+
- The `unifi-poller` package and corresponding NixOS module have been renamed to `unpoller` to match upstream.
- The new option `services.tailscale.useRoutingFeatures` controls various settings for using Tailscale features like exit nodes and subnet routers. If you wish to use your machine as an exit node, you can set this setting to `server`, otherwise if you wish to use an exit node you can set this setting to `client`. The strict RPF warning has been removed as the RPF will be loosened automatically based on the value of this setting.
diff --git a/nixos/lib/make-options-doc/default.nix b/nixos/lib/make-options-doc/default.nix
index 271af9ba1801..09b0191d2bb8 100644
--- a/nixos/lib/make-options-doc/default.nix
+++ b/nixos/lib/make-options-doc/default.nix
@@ -78,7 +78,7 @@ let
title = args.title or null;
name = args.name or (lib.concatStringsSep "." args.path);
in ''
- - [`${lib.optionalString (title != null) "${title} aka "}pkgs.${name}`](
+ - [${lib.optionalString (title != null) "${title} aka "}`pkgs.${name}`](
https://search.nixos.org/packages?show=${name}&sort=relevance&query=${name}
)${
lib.optionalString (args ? comment) "\n\n ${args.comment}"
diff --git a/nixos/modules/config/stevenblack.nix b/nixos/modules/config/stevenblack.nix
index ec6868484942..07a0aa339a56 100644
--- a/nixos/modules/config/stevenblack.nix
+++ b/nixos/modules/config/stevenblack.nix
@@ -15,7 +15,7 @@ let
in
{
options.networking.stevenblack = {
- enable = mkEnableOption (mdDoc "Enable the stevenblack hosts file blocklist.");
+ enable = mkEnableOption (mdDoc "Enable the stevenblack hosts file blocklist");
block = mkOption {
type = types.listOf (types.enum [ "fakenews" "gambling" "porn" "social" ]);
diff --git a/nixos/modules/programs/k3b.nix b/nixos/modules/programs/k3b.nix
index cdaed3cf70fb..5d19e4f1cc4f 100644
--- a/nixos/modules/programs/k3b.nix
+++ b/nixos/modules/programs/k3b.nix
@@ -28,7 +28,7 @@ with lib;
k3b
dvdplusrwtools
cdrdao
- cdrkit
+ cdrtools
];
security.wrappers = {
@@ -44,7 +44,7 @@ with lib;
owner = "root";
group = "cdrom";
permissions = "u+wrx,g+x";
- source = "${pkgs.cdrkit}/bin/cdrecord";
+ source = "${pkgs.cdrtools}/bin/cdrecord";
};
};
diff --git a/nixos/modules/programs/proxychains.nix b/nixos/modules/programs/proxychains.nix
index 0771f03c77d3..a52783aa6698 100644
--- a/nixos/modules/programs/proxychains.nix
+++ b/nixos/modules/programs/proxychains.nix
@@ -86,7 +86,7 @@ in {
description = lib.mdDoc "Proxy DNS requests - no leak for DNS data.";
};
- quietMode = mkEnableOption (lib.mdDoc "Quiet mode (no output from the library).");
+ quietMode = mkEnableOption (lib.mdDoc "Quiet mode (no output from the library)");
remoteDNSSubnet = mkOption {
type = types.enum [ 10 127 224 ];
diff --git a/nixos/modules/programs/singularity.nix b/nixos/modules/programs/singularity.nix
index 9648d0c27874..4884e5bdf2dd 100644
--- a/nixos/modules/programs/singularity.nix
+++ b/nixos/modules/programs/singularity.nix
@@ -3,32 +3,90 @@
with lib;
let
cfg = config.programs.singularity;
- singularity = pkgs.singularity.overrideAttrs (attrs : {
- installPhase = attrs.installPhase + ''
- mv $out/libexec/singularity/bin/starter-suid $out/libexec/singularity/bin/starter-suid.orig
- ln -s /run/wrappers/bin/singularity-suid $out/libexec/singularity/bin/starter-suid
- '';
- });
-in {
+in
+{
+
options.programs.singularity = {
- enable = mkEnableOption (lib.mdDoc "Singularity");
+ enable = mkEnableOption (mdDoc "singularity") // {
+ description = mdDoc ''
+ Whether to install Singularity/Apptainer with system-level overriding such as SUID support.
+ '';
+ };
+ package = mkOption {
+ type = types.package;
+ default = pkgs.singularity;
+ defaultText = literalExpression "pkgs.singularity";
+ example = literalExpression "pkgs.apptainer";
+ description = mdDoc ''
+ Singularity/Apptainer package to override and install.
+ '';
+ };
+ packageOverriden = mkOption {
+ type = types.nullOr types.package;
+ default = null;
+ description = mdDoc ''
+ This option provides access to the overriden result of `programs.singularity.package`.
+
+ For example, the following configuration makes all the Nixpkgs packages use the overriden `singularity`:
+ ```Nix
+ { config, lib, pkgs, ... }:
+ {
+ nixpkgs.overlays = [
+ (final: prev: {
+ _singularity-orig = prev.singularity;
+ singularity = config.programs.singularity.packageOverriden;
+ })
+ ];
+ programs.singularity.enable = true;
+ programs.singularity.package = pkgs._singularity-orig;
+ }
+ ```
+
+ Use `lib.mkForce` to forcefully specify the overriden package.
+ '';
+ };
+ enableFakeroot = mkOption {
+ type = types.bool;
+ default = true;
+ example = false;
+ description = mdDoc ''
+ Whether to enable the `--fakeroot` support of Singularity/Apptainer.
+ '';
+ };
+ enableSuid = mkOption {
+ type = types.bool;
+ default = true;
+ example = false;
+ description = mdDoc ''
+ Whether to enable the SUID support of Singularity/Apptainer.
+ '';
+ };
};
config = mkIf cfg.enable {
- environment.systemPackages = [ singularity ];
- security.wrappers.singularity-suid =
- { setuid = true;
- owner = "root";
- group = "root";
- source = "${singularity}/libexec/singularity/bin/starter-suid.orig";
- };
- systemd.tmpfiles.rules = [
- "d /var/singularity/mnt/session 0770 root root -"
- "d /var/singularity/mnt/final 0770 root root -"
- "d /var/singularity/mnt/overlay 0770 root root -"
- "d /var/singularity/mnt/container 0770 root root -"
- "d /var/singularity/mnt/source 0770 root root -"
- ];
+ programs.singularity.packageOverriden = (cfg.package.override (
+ optionalAttrs cfg.enableFakeroot {
+ newuidmapPath = "/run/wrappers/bin/newuidmap";
+ newgidmapPath = "/run/wrappers/bin/newgidmap";
+ } // optionalAttrs cfg.enableSuid {
+ enableSuid = true;
+ starterSuidPath = "/run/wrappers/bin/${cfg.package.projectName}-suid";
+ }
+ ));
+ environment.systemPackages = [ cfg.packageOverriden ];
+ security.wrappers."${cfg.packageOverriden.projectName}-suid" = mkIf cfg.enableSuid {
+ setuid = true;
+ owner = "root";
+ group = "root";
+ source = "${cfg.packageOverriden}/libexec/${cfg.packageOverriden.projectName}/bin/starter-suid.orig";
+ };
+ systemd.tmpfiles.rules = [
+ "d /var/lib/${cfg.packageOverriden.projectName}/mnt/session 0770 root root -"
+ "d /var/lib/${cfg.packageOverriden.projectName}/mnt/final 0770 root root -"
+ "d /var/lib/${cfg.packageOverriden.projectName}/mnt/overlay 0770 root root -"
+ "d /var/lib/${cfg.packageOverriden.projectName}/mnt/container 0770 root root -"
+ "d /var/lib/${cfg.packageOverriden.projectName}/mnt/source 0770 root root -"
+ ];
};
}
diff --git a/nixos/modules/security/polkit.nix b/nixos/modules/security/polkit.nix
index f33898578b81..de427ccb295b 100644
--- a/nixos/modules/security/polkit.nix
+++ b/nixos/modules/security/polkit.nix
@@ -14,7 +14,7 @@ in
security.polkit.enable = mkEnableOption (lib.mdDoc "polkit");
- security.polkit.debug = mkEnableOption (lib.mdDoc "debug logs from polkit. This is required in order to see log messages from rule definitions.");
+ security.polkit.debug = mkEnableOption (lib.mdDoc "debug logs from polkit. This is required in order to see log messages from rule definitions");
security.polkit.extraConfig = mkOption {
type = types.lines;
diff --git a/nixos/modules/services/backup/zfs-replication.nix b/nixos/modules/services/backup/zfs-replication.nix
index ce914003c622..8e7059e5b59d 100644
--- a/nixos/modules/services/backup/zfs-replication.nix
+++ b/nixos/modules/services/backup/zfs-replication.nix
@@ -9,7 +9,7 @@ let
in {
options = {
services.zfs.autoReplication = {
- enable = mkEnableOption (lib.mdDoc "ZFS snapshot replication.");
+ enable = mkEnableOption (lib.mdDoc "ZFS snapshot replication");
followDelete = mkOption {
description = lib.mdDoc "Remove remote snapshots that don't have a local correspondent.";
diff --git a/nixos/modules/services/cluster/kubernetes/addon-manager.nix b/nixos/modules/services/cluster/kubernetes/addon-manager.nix
index 7aa2a8323b1d..dc851688fbec 100644
--- a/nixos/modules/services/cluster/kubernetes/addon-manager.nix
+++ b/nixos/modules/services/cluster/kubernetes/addon-manager.nix
@@ -62,7 +62,7 @@ in
'';
};
- enable = mkEnableOption (lib.mdDoc "Kubernetes addon manager.");
+ enable = mkEnableOption (lib.mdDoc "Kubernetes addon manager");
};
###### implementation
diff --git a/nixos/modules/services/cluster/kubernetes/kubelet.nix b/nixos/modules/services/cluster/kubernetes/kubelet.nix
index 3ede1cb80e85..8e935d621be4 100644
--- a/nixos/modules/services/cluster/kubernetes/kubelet.nix
+++ b/nixos/modules/services/cluster/kubernetes/kubelet.nix
@@ -146,7 +146,7 @@ in
default = "unix:///run/containerd/containerd.sock";
};
- enable = mkEnableOption (lib.mdDoc "Kubernetes kubelet.");
+ enable = mkEnableOption (lib.mdDoc "Kubernetes kubelet");
extraOpts = mkOption {
description = lib.mdDoc "Kubernetes kubelet extra command line options.";
diff --git a/nixos/modules/services/desktops/gnome/evolution-data-server.nix b/nixos/modules/services/desktops/gnome/evolution-data-server.nix
index 0006ba1a7bad..a8db7dce8fdf 100644
--- a/nixos/modules/services/desktops/gnome/evolution-data-server.nix
+++ b/nixos/modules/services/desktops/gnome/evolution-data-server.nix
@@ -27,7 +27,7 @@ with lib;
options = {
services.gnome.evolution-data-server = {
- enable = mkEnableOption (lib.mdDoc "Evolution Data Server, a collection of services for storing addressbooks and calendars.");
+ enable = mkEnableOption (lib.mdDoc "Evolution Data Server, a collection of services for storing addressbooks and calendars");
plugins = mkOption {
type = types.listOf types.package;
default = [ ];
@@ -35,7 +35,7 @@ with lib;
};
};
programs.evolution = {
- enable = mkEnableOption (lib.mdDoc "Evolution, a Personal information management application that provides integrated mail, calendaring and address book functionality.");
+ enable = mkEnableOption (lib.mdDoc "Evolution, a Personal information management application that provides integrated mail, calendaring and address book functionality");
plugins = mkOption {
type = types.listOf types.package;
default = [ ];
diff --git a/nixos/modules/services/development/zammad.nix b/nixos/modules/services/development/zammad.nix
index 7de11b08b7e7..0faeb4c0e9fa 100644
--- a/nixos/modules/services/development/zammad.nix
+++ b/nixos/modules/services/development/zammad.nix
@@ -28,7 +28,7 @@ in
options = {
services.zammad = {
- enable = mkEnableOption (lib.mdDoc "Zammad, a web-based, open source user support/ticketing solution.");
+ enable = mkEnableOption (lib.mdDoc "Zammad, a web-based, open source user support/ticketing solution");
package = mkOption {
type = types.package;
diff --git a/nixos/modules/services/games/freeciv.nix b/nixos/modules/services/games/freeciv.nix
index 8b340bb161a5..f33ea5c08a27 100644
--- a/nixos/modules/services/games/freeciv.nix
+++ b/nixos/modules/services/games/freeciv.nix
@@ -54,7 +54,7 @@ in
default = 0;
description = lib.mdDoc "Set debug log level.";
};
- options.exit-on-end = mkEnableOption (lib.mdDoc "exit instead of restarting when a game ends.");
+ options.exit-on-end = mkEnableOption (lib.mdDoc "exit instead of restarting when a game ends");
options.Guests = mkEnableOption (lib.mdDoc "guests to login if auth is enabled");
options.Newusers = mkEnableOption (lib.mdDoc "new users to login if auth is enabled");
options.port = mkOption {
diff --git a/nixos/modules/services/hardware/udisks2.nix b/nixos/modules/services/hardware/udisks2.nix
index 7368845dafd5..d5c71bb821df 100644
--- a/nixos/modules/services/hardware/udisks2.nix
+++ b/nixos/modules/services/hardware/udisks2.nix
@@ -19,7 +19,7 @@ in
services.udisks2 = {
- enable = mkEnableOption (lib.mdDoc "udisks2, a DBus service that allows applications to query and manipulate storage devices.");
+ enable = mkEnableOption (lib.mdDoc "udisks2, a DBus service that allows applications to query and manipulate storage devices");
settings = mkOption rec {
type = types.attrsOf settingsFormat.type;
diff --git a/nixos/modules/services/mail/dovecot.nix b/nixos/modules/services/mail/dovecot.nix
index f6a167572f72..21bafd859c3c 100644
--- a/nixos/modules/services/mail/dovecot.nix
+++ b/nixos/modules/services/mail/dovecot.nix
@@ -171,11 +171,11 @@ in
options.services.dovecot2 = {
enable = mkEnableOption (lib.mdDoc "the dovecot 2.x POP3/IMAP server");
- enablePop3 = mkEnableOption (lib.mdDoc "starting the POP3 listener (when Dovecot is enabled).");
+ enablePop3 = mkEnableOption (lib.mdDoc "starting the POP3 listener (when Dovecot is enabled)");
- enableImap = mkEnableOption (lib.mdDoc "starting the IMAP listener (when Dovecot is enabled).") // { default = true; };
+ enableImap = mkEnableOption (lib.mdDoc "starting the IMAP listener (when Dovecot is enabled)") // { default = true; };
- enableLmtp = mkEnableOption (lib.mdDoc "starting the LMTP listener (when Dovecot is enabled).");
+ enableLmtp = mkEnableOption (lib.mdDoc "starting the LMTP listener (when Dovecot is enabled)");
protocols = mkOption {
type = types.listOf types.str;
@@ -300,9 +300,9 @@ in
description = lib.mdDoc "Path to the server's private key.";
};
- enablePAM = mkEnableOption (lib.mdDoc "creating a own Dovecot PAM service and configure PAM user logins.") // { default = true; };
+ enablePAM = mkEnableOption (lib.mdDoc "creating a own Dovecot PAM service and configure PAM user logins") // { default = true; };
- enableDHE = mkEnableOption (lib.mdDoc "enable ssl_dh and generation of primes for the key exchange.") // { default = true; };
+ enableDHE = mkEnableOption (lib.mdDoc "enable ssl_dh and generation of primes for the key exchange") // { default = true; };
sieveScripts = mkOption {
type = types.attrsOf types.path;
@@ -310,7 +310,7 @@ in
description = lib.mdDoc "Sieve scripts to be executed. Key is a sequence, e.g. 'before2', 'after' etc.";
};
- showPAMFailure = mkEnableOption (lib.mdDoc "showing the PAM failure message on authentication error (useful for OTPW).");
+ showPAMFailure = mkEnableOption (lib.mdDoc "showing the PAM failure message on authentication error (useful for OTPW)");
mailboxes = mkOption {
type = with types; coercedTo
@@ -326,7 +326,7 @@ in
description = lib.mdDoc "Configure mailboxes and auto create or subscribe them.";
};
- enableQuota = mkEnableOption (lib.mdDoc "the dovecot quota service.");
+ enableQuota = mkEnableOption (lib.mdDoc "the dovecot quota service");
quotaPort = mkOption {
type = types.str;
diff --git a/nixos/modules/services/misc/atuin.nix b/nixos/modules/services/misc/atuin.nix
index c94852e3aad9..508e2862b63f 100644
--- a/nixos/modules/services/misc/atuin.nix
+++ b/nixos/modules/services/misc/atuin.nix
@@ -8,7 +8,7 @@ in
{
options = {
services.atuin = {
- enable = mkEnableOption (mdDoc "Enable server for shell history sync with atuin.");
+ enable = mkEnableOption (mdDoc "Enable server for shell history sync with atuin");
openRegistration = mkOption {
type = types.bool;
diff --git a/nixos/modules/services/misc/input-remapper.nix b/nixos/modules/services/misc/input-remapper.nix
index 6353966f5c3f..3f6d97f85738 100644
--- a/nixos/modules/services/misc/input-remapper.nix
+++ b/nixos/modules/services/misc/input-remapper.nix
@@ -6,7 +6,7 @@ let cfg = config.services.input-remapper; in
{
options = {
services.input-remapper = {
- enable = mkEnableOption (lib.mdDoc "input-remapper, an easy to use tool to change the mapping of your input device buttons.");
+ enable = mkEnableOption (lib.mdDoc "input-remapper, an easy to use tool to change the mapping of your input device buttons");
package = mkPackageOptionMD pkgs "input-remapper" { };
enableUdevRules = mkEnableOption (lib.mdDoc "udev rules added by input-remapper to handle hotplugged devices. Currently disabled by default due to https://github.com/sezanzeb/input-remapper/issues/140");
serviceWantedBy = mkOption {
diff --git a/nixos/modules/services/misc/sourcehut/default.nix b/nixos/modules/services/misc/sourcehut/default.nix
index b2cadbf0c436..d4391bc49e31 100644
--- a/nixos/modules/services/misc/sourcehut/default.nix
+++ b/nixos/modules/services/misc/sourcehut/default.nix
@@ -438,7 +438,7 @@ in
};
options."lists.sr.ht" = commonServiceSettings "lists" // {
- allow-new-lists = mkEnableOption (lib.mdDoc "Allow creation of new lists.");
+ allow-new-lists = mkEnableOption (lib.mdDoc "Allow creation of new lists");
notify-from = mkOption {
description = lib.mdDoc "Outgoing email for notifications generated by users.";
type = types.str;
diff --git a/nixos/modules/services/monitoring/mackerel-agent.nix b/nixos/modules/services/monitoring/mackerel-agent.nix
index 4185cd76c4eb..67dc1bc19edd 100644
--- a/nixos/modules/services/monitoring/mackerel-agent.nix
+++ b/nixos/modules/services/monitoring/mackerel-agent.nix
@@ -11,7 +11,7 @@ in {
# the upstream package runs as root, but doesn't seem to be strictly
# necessary for basic functionality
- runAsRoot = mkEnableOption (lib.mdDoc "Whether to run as root.");
+ runAsRoot = mkEnableOption (lib.mdDoc "Whether to run as root");
autoRetirement = mkEnableOption (lib.mdDoc ''
Whether to automatically retire the host upon OS shutdown.
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/unpoller.nix b/nixos/modules/services/monitoring/prometheus/exporters/unpoller.nix
index 5cd1e2c65e90..3b7f978528cd 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/unpoller.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/unpoller.nix
@@ -24,9 +24,9 @@ in {
inherit (options.services.unpoller.unifi) controllers;
inherit (options.services.unpoller) loki;
log = {
- debug = mkEnableOption (lib.mdDoc "debug logging including line numbers, high resolution timestamps, per-device logs.");
- quiet = mkEnableOption (lib.mdDoc "startup and error logs only.");
- prometheusErrors = mkEnableOption (lib.mdDoc "emitting errors to prometheus.");
+ debug = mkEnableOption (lib.mdDoc "debug logging including line numbers, high resolution timestamps, per-device logs");
+ quiet = mkEnableOption (lib.mdDoc "startup and error logs only");
+ prometheusErrors = mkEnableOption (lib.mdDoc "emitting errors to prometheus");
};
};
diff --git a/nixos/modules/services/monitoring/uptime-kuma.nix b/nixos/modules/services/monitoring/uptime-kuma.nix
index 886e14b5f6c9..5f803d57b5e9 100644
--- a/nixos/modules/services/monitoring/uptime-kuma.nix
+++ b/nixos/modules/services/monitoring/uptime-kuma.nix
@@ -11,7 +11,7 @@ in
options = {
services.uptime-kuma = {
- enable = mkEnableOption (mdDoc "Uptime Kuma, this assumes a reverse proxy to be set.");
+ enable = mkEnableOption (mdDoc "Uptime Kuma, this assumes a reverse proxy to be set");
package = mkOption {
type = types.package;
@@ -20,7 +20,7 @@ in
description = lib.mdDoc "Uptime Kuma package to use.";
};
- appriseSupport = mkEnableOption (mdDoc "apprise support for notifications.");
+ appriseSupport = mkEnableOption (mdDoc "apprise support for notifications");
settings = lib.mkOption {
type = lib.types.submodule { freeformType = with lib.types; attrsOf str; };
diff --git a/nixos/modules/services/network-filesystems/moosefs.nix b/nixos/modules/services/network-filesystems/moosefs.nix
index ab82a2a07dd4..49cbc89d5a91 100644
--- a/nixos/modules/services/network-filesystems/moosefs.nix
+++ b/nixos/modules/services/network-filesystems/moosefs.nix
@@ -85,7 +85,7 @@ in {
description = lib.mdDoc "Run daemons as user moosefs instead of root.";
};
- client.enable = mkEnableOption (lib.mdDoc "Moosefs client.");
+ client.enable = mkEnableOption (lib.mdDoc "Moosefs client");
master = {
enable = mkOption {
@@ -131,7 +131,7 @@ in {
};
metalogger = {
- enable = mkEnableOption (lib.mdDoc "Moosefs metalogger daemon.");
+ enable = mkEnableOption (lib.mdDoc "Moosefs metalogger daemon");
settings = mkOption {
type = types.submodule {
@@ -149,7 +149,7 @@ in {
};
chunkserver = {
- enable = mkEnableOption (lib.mdDoc "Moosefs chunkserver daemon.");
+ enable = mkEnableOption (lib.mdDoc "Moosefs chunkserver daemon");
openFirewall = mkOption {
type = types.bool;
diff --git a/nixos/modules/services/networking/blockbook-frontend.nix b/nixos/modules/services/networking/blockbook-frontend.nix
index ab784563e4ac..46b26195d211 100644
--- a/nixos/modules/services/networking/blockbook-frontend.nix
+++ b/nixos/modules/services/networking/blockbook-frontend.nix
@@ -10,7 +10,7 @@ let
options = {
- enable = mkEnableOption (lib.mdDoc "blockbook-frontend application.");
+ enable = mkEnableOption (lib.mdDoc "blockbook-frontend application");
package = mkOption {
type = types.package;
diff --git a/nixos/modules/services/networking/ssh/sshd.nix b/nixos/modules/services/networking/ssh/sshd.nix
index b1a108be0cfa..095c7de0b7aa 100644
--- a/nixos/modules/services/networking/ssh/sshd.nix
+++ b/nixos/modules/services/networking/ssh/sshd.nix
@@ -106,7 +106,7 @@ in
(mkRenamedOptionModule [ "services" "openssh" "permitRootLogin" ] [ "services" "openssh" "settings" "PermitRootLogin" ])
(mkRenamedOptionModule [ "services" "openssh" "logLevel" ] [ "services" "openssh" "settings" "LogLevel" ])
(mkRenamedOptionModule [ "services" "openssh" "macs" ] [ "services" "openssh" "settings" "Macs" ])
- (mkRenamedOptionModule [ "services" "openssh" "cyphers" ] [ "services" "openssh" "settings" "Cyphers" ])
+ (mkRenamedOptionModule [ "services" "openssh" "ciphers" ] [ "services" "openssh" "settings" "Ciphers" ])
(mkRenamedOptionModule [ "services" "openssh" "kexAlgorithms" ] [ "services" "openssh" "settings" "KexAlgorithms" ])
(mkRenamedOptionModule [ "services" "openssh" "gatewayPorts" ] [ "services" "openssh" "settings" "GatewayPorts" ])
(mkRenamedOptionModule [ "services" "openssh" "forwardX11" ] [ "services" "openssh" "settings" "X11Forwarding" ])
diff --git a/nixos/modules/services/security/kanidm.nix b/nixos/modules/services/security/kanidm.nix
index 55120799c993..5583c39368f7 100644
--- a/nixos/modules/services/security/kanidm.nix
+++ b/nixos/modules/services/security/kanidm.nix
@@ -55,7 +55,7 @@ in
options.services.kanidm = {
enableClient = lib.mkEnableOption (lib.mdDoc "the Kanidm client");
enableServer = lib.mkEnableOption (lib.mdDoc "the Kanidm server");
- enablePam = lib.mkEnableOption (lib.mdDoc "the Kanidm PAM and NSS integration.");
+ enablePam = lib.mkEnableOption (lib.mdDoc "the Kanidm PAM and NSS integration");
serverSettings = lib.mkOption {
type = lib.types.submodule {
diff --git a/nixos/modules/services/web-apps/cloudlog.nix b/nixos/modules/services/web-apps/cloudlog.nix
index ffd1085bde65..9c6284fd1b57 100644
--- a/nixos/modules/services/web-apps/cloudlog.nix
+++ b/nixos/modules/services/web-apps/cloudlog.nix
@@ -68,7 +68,7 @@ let
in
{
options.services.cloudlog = with types; {
- enable = mkEnableOption (mdDoc "Whether to enable Cloudlog.");
+ enable = mkEnableOption (mdDoc "Whether to enable Cloudlog");
dataDir = mkOption {
type = str;
default = "/var/lib/cloudlog";
diff --git a/nixos/modules/services/web-apps/dokuwiki.nix b/nixos/modules/services/web-apps/dokuwiki.nix
index 54cd5fd33bef..215372083654 100644
--- a/nixos/modules/services/web-apps/dokuwiki.nix
+++ b/nixos/modules/services/web-apps/dokuwiki.nix
@@ -148,7 +148,7 @@ let
];
options = {
- enable = mkEnableOption (lib.mdDoc "DokuWiki web application.");
+ enable = mkEnableOption (lib.mdDoc "DokuWiki web application");
package = mkOption {
type = types.package;
diff --git a/nixos/modules/services/web-apps/galene.nix b/nixos/modules/services/web-apps/galene.nix
index 15ef09aa0b87..747b85f94c65 100644
--- a/nixos/modules/services/web-apps/galene.nix
+++ b/nixos/modules/services/web-apps/galene.nix
@@ -12,7 +12,7 @@ in
{
options = {
services.galene = {
- enable = mkEnableOption (lib.mdDoc "Galene Service.");
+ enable = mkEnableOption (lib.mdDoc "Galene Service");
stateDir = mkOption {
default = defaultstateDir;
diff --git a/nixos/modules/services/web-apps/hledger-web.nix b/nixos/modules/services/web-apps/hledger-web.nix
index 86716a02649c..0fc283ff5219 100644
--- a/nixos/modules/services/web-apps/hledger-web.nix
+++ b/nixos/modules/services/web-apps/hledger-web.nix
@@ -7,7 +7,7 @@ in {
enable = mkEnableOption (lib.mdDoc "hledger-web service");
- serveApi = mkEnableOption (lib.mdDoc "Serve only the JSON web API, without the web UI.");
+ serveApi = mkEnableOption (lib.mdDoc "Serve only the JSON web API, without the web UI");
host = mkOption {
type = types.str;
diff --git a/nixos/modules/services/web-apps/jirafeau.nix b/nixos/modules/services/web-apps/jirafeau.nix
index 293cbb3af425..b2e274167164 100644
--- a/nixos/modules/services/web-apps/jirafeau.nix
+++ b/nixos/modules/services/web-apps/jirafeau.nix
@@ -36,7 +36,7 @@ in
description = lib.mdDoc "Location of Jirafeau storage directory.";
};
- enable = mkEnableOption (lib.mdDoc "Jirafeau file upload application.");
+ enable = mkEnableOption (lib.mdDoc "Jirafeau file upload application");
extraConfig = mkOption {
type = types.lines;
diff --git a/nixos/modules/services/web-apps/limesurvey.nix b/nixos/modules/services/web-apps/limesurvey.nix
index 7093d1de0dac..dd51174c8b8e 100644
--- a/nixos/modules/services/web-apps/limesurvey.nix
+++ b/nixos/modules/services/web-apps/limesurvey.nix
@@ -32,7 +32,7 @@ in
# interface
options.services.limesurvey = {
- enable = mkEnableOption (lib.mdDoc "Limesurvey web application.");
+ enable = mkEnableOption (lib.mdDoc "Limesurvey web application");
database = {
type = mkOption {
diff --git a/nixos/modules/services/x11/desktop-managers/plasma5.nix b/nixos/modules/services/x11/desktop-managers/plasma5.nix
index eb0373c686c5..181db01ad88e 100644
--- a/nixos/modules/services/x11/desktop-managers/plasma5.nix
+++ b/nixos/modules/services/x11/desktop-managers/plasma5.nix
@@ -448,6 +448,7 @@ in
dolphin-plugins
ffmpegthumbs
kdegraphics-thumbnailers
+ pkgs.kio-admin
kio-extras
];
optionalPackages = [
diff --git a/nixos/modules/services/x11/extra-layouts.nix b/nixos/modules/services/x11/extra-layouts.nix
index 574657a50c82..9c88d12ca6f2 100644
--- a/nixos/modules/services/x11/extra-layouts.nix
+++ b/nixos/modules/services/x11/extra-layouts.nix
@@ -106,9 +106,9 @@ in
description = lib.mdDoc ''
Extra custom layouts that will be included in the xkb configuration.
Information on how to create a new layout can be found here:
- [](https://www.x.org/releases/current/doc/xorg-docs/input/XKB-Enhancing.html#Defining_New_Layouts).
+ .
For more examples see
- [](https://wiki.archlinux.org/index.php/X_KeyBoard_extension#Basic_examples)
+
'';
};
diff --git a/nixos/modules/system/boot/initrd-ssh.nix b/nixos/modules/system/boot/initrd-ssh.nix
index 701d242abc15..125f75d66706 100644
--- a/nixos/modules/system/boot/initrd-ssh.nix
+++ b/nixos/modules/system/boot/initrd-ssh.nix
@@ -128,13 +128,13 @@ in
HostKey ${initrdKeyPath path}
'')}
- KexAlgorithms ${concatStringsSep "," sshdCfg.kexAlgorithms}
- Ciphers ${concatStringsSep "," sshdCfg.ciphers}
- MACs ${concatStringsSep "," sshdCfg.macs}
+ KexAlgorithms ${concatStringsSep "," sshdCfg.settings.KexAlgorithms}
+ Ciphers ${concatStringsSep "," sshdCfg.settings.Ciphers}
+ MACs ${concatStringsSep "," sshdCfg.settings.Macs}
- LogLevel ${sshdCfg.logLevel}
+ LogLevel ${sshdCfg.settings.LogLevel}
- ${if sshdCfg.useDns then ''
+ ${if sshdCfg.settings.UseDns then ''
UseDNS yes
'' else ''
UseDNS no
diff --git a/nixos/modules/system/boot/kernel.nix b/nixos/modules/system/boot/kernel.nix
index 8f203b2c8b32..0298e28f3289 100644
--- a/nixos/modules/system/boot/kernel.nix
+++ b/nixos/modules/system/boot/kernel.nix
@@ -20,7 +20,7 @@ in
###### interface
options = {
- boot.kernel.enable = mkEnableOption (lib.mdDoc "the Linux kernel. This is useful for systemd-like containers which do not require a kernel.") // {
+ boot.kernel.enable = mkEnableOption (lib.mdDoc "the Linux kernel. This is useful for systemd-like containers which do not require a kernel") // {
default = true;
};
diff --git a/nixos/modules/system/boot/luksroot.nix b/nixos/modules/system/boot/luksroot.nix
index 03d03cb348e8..cdb5d8bf3c26 100644
--- a/nixos/modules/system/boot/luksroot.nix
+++ b/nixos/modules/system/boot/luksroot.nix
@@ -929,7 +929,14 @@ in
++ (if builtins.elem "xts" luks.cryptoModules then ["ecb"] else []);
# copy the cryptsetup binary and it's dependencies
- boot.initrd.extraUtilsCommands = mkIf (!config.boot.initrd.systemd.enable) ''
+ boot.initrd.extraUtilsCommands = let
+ pbkdf2-sha512 = pkgs.runCommandCC "pbkdf2-sha512" { buildInputs = [ pkgs.openssl ]; } ''
+ mkdir -p "$out/bin"
+ cc -O3 -lcrypto ${./pbkdf2-sha512.c} -o "$out/bin/pbkdf2-sha512"
+ strip -s "$out/bin/pbkdf2-sha512"
+ '';
+ in
+ mkIf (!config.boot.initrd.systemd.enable) ''
copy_bin_and_libs ${pkgs.cryptsetup}/bin/cryptsetup
copy_bin_and_libs ${askPass}/bin/cryptsetup-askpass
sed -i s,/bin/sh,$out/bin/sh, $out/bin/cryptsetup-askpass
@@ -939,9 +946,7 @@ in
copy_bin_and_libs ${pkgs.yubikey-personalization}/bin/ykinfo
copy_bin_and_libs ${pkgs.openssl.bin}/bin/openssl
- cc -O3 -I${pkgs.openssl.dev}/include -L${lib.getLib pkgs.openssl}/lib ${./pbkdf2-sha512.c} -o pbkdf2-sha512 -lcrypto
- strip -s pbkdf2-sha512
- copy_bin_and_libs pbkdf2-sha512
+ copy_bin_and_libs ${pbkdf2-sha512}/bin/pbkdf2-sha512
mkdir -p $out/etc/ssl
cp -pdv ${pkgs.openssl.out}/etc/ssl/openssl.cnf $out/etc/ssl
diff --git a/nixos/modules/tasks/filesystems/envfs.nix b/nixos/modules/tasks/filesystems/envfs.nix
index 450b805f0f58..76344f5f87ea 100644
--- a/nixos/modules/tasks/filesystems/envfs.nix
+++ b/nixos/modules/tasks/filesystems/envfs.nix
@@ -7,11 +7,11 @@ let
device = "none";
fsType = "envfs";
options = [
- "fallback-path=${pkgs.runCommand "fallback-path" {} ''
+ "fallback-path=${pkgs.runCommand "fallback-path" {} (''
mkdir -p $out
- ln -s ${pkgs.coreutils}/bin/env $out/env
- ln -s ${config.system.build.binsh}/bin/sh $out/sh
- ''}"
+ ln -s ${config.environment.usrbinenv} $out/env
+ ln -s ${config.environment.binsh} $out/sh
+ '' + cfg.extraFallbackPathCommands)}"
];
};
"/bin" = {
@@ -31,11 +31,19 @@ in {
etc.
'';
};
+
package = lib.mkOption {
type = lib.types.package;
- description = lib.mdDoc "Which package to use for the envfs.";
default = pkgs.envfs;
defaultText = lib.literalExpression "pkgs.envfs";
+ description = lib.mdDoc "Which package to use for the envfs.";
+ };
+
+ extraFallbackPathCommands = lib.mkOption {
+ type = lib.types.lines;
+ default = "";
+ example = "ln -s $''{pkgs.bash}/bin/bash $out/bash";
+ description = lib.mdDoc "Extra commands to run in the package that contains fallback executables in case not other executable is found";
};
};
};
diff --git a/pkgs/applications/audio/callaudiod/default.nix b/pkgs/applications/audio/callaudiod/default.nix
index 562a53fe5927..221febf35dcd 100644
--- a/pkgs/applications/audio/callaudiod/default.nix
+++ b/pkgs/applications/audio/callaudiod/default.nix
@@ -11,14 +11,14 @@
stdenv.mkDerivation rec {
pname = "callaudiod";
- version = "0.1.4";
+ version = "0.1.7";
src = fetchFromGitLab {
domain = "gitlab.com";
owner = "mobian1";
repo = pname;
rev = version;
- sha256 = "sha256-71+9ALz55aqxXRBRwOcs9fwiQK31pJ9E72pGRmt0OkE=";
+ sha256 = "sha256-BDEu3ASlnovMK0lQC+CQvpXvtdt33BRntstPAWaAnsg=";
};
strictDeps = true;
diff --git a/pkgs/applications/audio/snapcast/default.nix b/pkgs/applications/audio/snapcast/default.nix
index 558948ab4a0d..aef561e692a6 100644
--- a/pkgs/applications/audio/snapcast/default.nix
+++ b/pkgs/applications/audio/snapcast/default.nix
@@ -9,13 +9,13 @@ assert pulseaudioSupport -> libpulseaudio != null;
stdenv.mkDerivation rec {
pname = "snapcast";
- version = "0.26.0";
+ version = "0.27.0";
src = fetchFromGitHub {
owner = "badaix";
repo = "snapcast";
rev = "v${version}";
- sha256 = "sha256-CCifn9OEFM//Hk1PJj8T3MXIV8pXCTdBBXPsHuZwLyQ=";
+ sha256 = "sha256-dlK1xQQqst4VQjioC7MZzqXwMC+JfqtvnD5lrOqGhYI=";
};
nativeBuildInputs = [ cmake pkg-config ];
diff --git a/pkgs/applications/blockchains/erigon/default.nix b/pkgs/applications/blockchains/erigon/default.nix
index a17bef8cae37..51b6d4d16b2b 100644
--- a/pkgs/applications/blockchains/erigon/default.nix
+++ b/pkgs/applications/blockchains/erigon/default.nix
@@ -2,7 +2,7 @@
let
pname = "erigon";
- version = "2.37.0";
+ version = "2.38.1";
in
buildGoModule {
inherit pname version;
@@ -11,11 +11,11 @@ buildGoModule {
owner = "ledgerwatch";
repo = pname;
rev = "v${version}";
- sha256 = "sha256-r/mumt/f0wrOsXyEHo/NX0lJGt8zqXEVNC+9DWDkHAM=";
+ sha256 = "sha256-sLJMmSEUQNsodZ9Ms0ipDwN2QOYa9pZTlEqt4CF23Sc=";
fetchSubmodules = true;
};
- vendorSha256 = "sha256-vSJZ1wIx1CiLE04ZBDnQDQqM2v8BBLxw5qbAsixC3/U=";
+ vendorSha256 = "sha256-KESY+PSbWQHPJphop4GnVF4T8Q/MPb2GFDEko0ieXEM=";
proxyVendor = true;
# Build errors in mdbx when format hardening is enabled:
diff --git a/pkgs/applications/blockchains/torq/default.nix b/pkgs/applications/blockchains/torq/default.nix
index cf7722238ef7..4b786168bce3 100644
--- a/pkgs/applications/blockchains/torq/default.nix
+++ b/pkgs/applications/blockchains/torq/default.nix
@@ -1,9 +1,10 @@
{ lib
, buildGoModule
+, buildNpmPackage
, fetchFromGitHub
}:
-buildGoModule rec {
+let
pname = "torq";
version = "0.17.3";
@@ -14,6 +15,27 @@ buildGoModule rec {
hash = "sha256-fqHJZi1NQCrZqsa+N+FVYZ8s9o0D555Sqn5qNlJ1MmI=";
};
+ web = buildNpmPackage {
+ pname = "${pname}-frontend";
+ inherit version;
+ src = "${src}/web";
+ npmDepsHash = "sha256-8mUfTFzPjQlQvhC3zZf+WruDBkYnmGt3yckNi0CPWs0=";
+
+ # copied from upstream Dockerfile
+ npmInstallFlags = [ "--legacy-peer-deps" ];
+ TSX_COMPILE_ON_ERROR="true";
+ ESLINT_NO_DEV_ERRORS="true";
+
+ # override npmInstallHook, we only care about the build/ directory
+ installPhase = ''
+ mkdir $out
+ cp -r build $out/
+ '';
+ };
+in
+buildGoModule rec {
+ inherit pname version src;
+
vendorHash = "sha256-HETN2IMnpxnTyg6bQDpoD0saJu+gKocdEf0VzEi12Gs=";
subPackages = [ "cmd/torq" ];
@@ -24,6 +46,10 @@ buildGoModule rec {
"-X github.com/lncapital/torq/build.version=v${version}"
];
+ postInstall = ''
+ ln -s ${web} $out/web
+ '';
+
meta = with lib; {
description = "Capital management tool for lightning network nodes";
license = licenses.mit;
diff --git a/pkgs/applications/editors/vscode/extensions/default.nix b/pkgs/applications/editors/vscode/extensions/default.nix
index 9e4548ad0fe1..41666183ce22 100644
--- a/pkgs/applications/editors/vscode/extensions/default.nix
+++ b/pkgs/applications/editors/vscode/extensions/default.nix
@@ -2580,8 +2580,8 @@ let
mktplcRef = {
name = "code-spell-checker";
publisher = "streetsidesoftware";
- version = "2.15.0";
- sha256 = "sha256-YfcO/01nO+92xZEJgYyLYAkqXMqfV/QDkcN9Dnjp5ZA=";
+ version = "2.16.0";
+ sha256 = "sha256-Qr4cYAEvAkvvE6KytVeInJzcMQJZqr/e/KPfelVzjUA=";
};
meta = with lib; {
changelog = "https://marketplace.visualstudio.com/items/streetsidesoftware.code-spell-checker/changelog";
diff --git a/pkgs/applications/graphics/ImageMagick/6.x.nix b/pkgs/applications/graphics/ImageMagick/6.x.nix
index 1f05f8e9fa66..a433cc6516de 100644
--- a/pkgs/applications/graphics/ImageMagick/6.x.nix
+++ b/pkgs/applications/graphics/ImageMagick/6.x.nix
@@ -21,6 +21,7 @@
, libde265Support ? true, libde265
, fftw
, ApplicationServices, Foundation
+, testers
}:
let
@@ -33,14 +34,14 @@ let
else null;
in
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
pname = "imagemagick";
version = "6.9.12-68";
src = fetchFromGitHub {
owner = "ImageMagick";
repo = "ImageMagick6";
- rev = version;
+ rev = finalAttrs.version;
sha256 = "sha256-slQcA0cblxtG/1DiJx5swUh7Kfwgz5HG70eqJFLaQJI=";
};
@@ -109,10 +110,13 @@ stdenv.mkDerivation rec {
done
'';
+ passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
+
meta = with lib; {
homepage = "https://legacy.imagemagick.org/";
changelog = "https://legacy.imagemagick.org/script/changelog.php";
description = "A software suite to create, edit, compose, or convert bitmap images";
+ pkgConfigModules = [ "ImageMagick" "MagickWand" ];
platforms = platforms.linux ++ platforms.darwin;
maintainers = with maintainers; [ ];
license = licenses.asl20;
@@ -137,4 +141,4 @@ stdenv.mkDerivation rec {
"CVE-2022-2719"
];
};
-}
+})
diff --git a/pkgs/applications/graphics/ImageMagick/default.nix b/pkgs/applications/graphics/ImageMagick/default.nix
index 5adb53b401c6..0ad522613308 100644
--- a/pkgs/applications/graphics/ImageMagick/default.nix
+++ b/pkgs/applications/graphics/ImageMagick/default.nix
@@ -45,14 +45,14 @@ let
else null;
in
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
pname = "imagemagick";
version = "7.1.0-61";
src = fetchFromGitHub {
owner = "ImageMagick";
repo = "ImageMagick";
- rev = version;
+ rev = finalAttrs.version;
hash = "sha256-g7WeqPpPd1gceU+s+vRDpb41IX1lzpiqh3cAYeFdUlg=";
};
@@ -126,14 +126,16 @@ stdenv.mkDerivation rec {
passthru.tests = {
version = testers.testVersion { package = imagemagick; };
inherit (python3.pkgs) img2pdf;
+ pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
};
meta = with lib; {
homepage = "http://www.imagemagick.org/";
description = "A software suite to create, edit, compose, or convert bitmap images";
+ pkgConfigModules = [ "ImageMagick" "MagickWand" ];
platforms = platforms.linux ++ platforms.darwin;
maintainers = with maintainers; [ erictapen dotlambda ];
license = licenses.asl20;
mainProgram = "magick";
};
-}
+})
diff --git a/pkgs/applications/graphics/drawio/default.nix b/pkgs/applications/graphics/drawio/default.nix
index c26b2f46e7f6..5c5745646b59 100644
--- a/pkgs/applications/graphics/drawio/default.nix
+++ b/pkgs/applications/graphics/drawio/default.nix
@@ -11,11 +11,11 @@
stdenv.mkDerivation rec {
pname = "drawio";
- version = "20.8.10";
+ version = "20.8.16";
src = fetchurl {
url = "https://github.com/jgraph/drawio-desktop/releases/download/v${version}/drawio-x86_64-${version}.rpm";
- sha256 = "118e9c9a328c92aeeda3c5925c8d8ed50d0993c07715726447ee720699958626";
+ sha256 = "sha256-FBnyogqf5BHLRInjJzC2dENnAwFcWMHDvJ+F0I3ffVg=";
};
nativeBuildInputs = [
diff --git a/pkgs/applications/misc/1password-gui/default.nix b/pkgs/applications/misc/1password-gui/default.nix
index 3c08f1d8a9da..27adbfff713d 100644
--- a/pkgs/applications/misc/1password-gui/default.nix
+++ b/pkgs/applications/misc/1password-gui/default.nix
@@ -9,43 +9,43 @@
let
pname = "1password";
- version = if channel == "stable" then "8.9.10" else "8.9.12-4.BETA";
+ version = if channel == "stable" then "8.9.14" else "8.10.0-20.BETA";
sources = {
stable = {
x86_64-linux = {
url = "https://downloads.1password.com/linux/tar/stable/x86_64/1password-${version}.x64.tar.gz";
- sha256 = "sha256-aoa00W5zvZQeHKd2Eqyrxl5Z1PwLMHc5lkMUskLiD74=";
+ sha256 = "sha256-rlLzPDPOmzamDnRxuvgrpAW0QrMINw/PsdLxOiBpMnA=";
};
aarch64-linux = {
url = "https://downloads.1password.com/linux/tar/stable/aarch64/1password-${version}.arm64.tar.gz";
- sha256 = "sha256-Zt64UGKI3+DayS6XP7jTE+pxv52tUUZbUHiuzjcm1JI=";
+ sha256 = "sha256-hJTqFr6/KOl4C+1oyo/zrnCbqvRQin6HjyLKOppUl/M=";
};
x86_64-darwin = {
url = "https://downloads.1password.com/mac/1Password-${version}-x86_64.zip";
- sha256 = "sha256-sx9eASpMcgkIH1GRzJMqSQa5Y5GJlYU/20CZFyFK+OU=";
+ sha256 = "sha256-3/aiUj+WYZfPItYrYNQKsUSpkRTgOhyb8L5gURt1O74=";
};
aarch64-darwin = {
url = "https://downloads.1password.com/mac/1Password-${version}-aarch64.zip";
- sha256 = "sha256-Z1cEynO9iWZra542CVGmefrTNerMe13OcTAzWXNi8jI=";
+ sha256 = "sha256-n0xqD5WbcC9B6spisa5V7JJRXGZubBwzJFUS8edvz/Q=";
};
};
beta = {
x86_64-linux = {
url = "https://downloads.1password.com/linux/tar/beta/x86_64/1password-${version}.x64.tar.gz";
- sha256 = "sha256-/WXaLINqLFLft+wrmr+fV0kM9qS5w4etFiGltnzoVdo=";
+ sha256 = "sha256-r2MRyw0dfD3vGnCcPW624K5rSaNSCjTVW4cWFgPAIaY=";
};
aarch64-linux = {
url = "https://downloads.1password.com/linux/tar/beta/aarch64/1password-${version}.arm64.tar.gz";
- sha256 = "sha256-Zv9uHkFCZ0flBMAwQBjNhqFWhAXKyHBfZk733hbSag4=";
+ sha256 = "sha256-98sv4yLvLw8J5uQBB66qTV3lRWnyeZiifhEOW7shz8s=";
};
x86_64-darwin = {
url = "https://downloads.1password.com/mac/1Password-${version}-x86_64.zip";
- sha256 = "sha256-Vryk6nMQY+0NIgwJkZ2j3vrxyhrzxbe96jbyoNbPIR0=";
+ sha256 = "sha256-ezHk6OgUsmFfMfsY+yyWqn+6JgHSmpkFWGNCCaBv/Bo=";
};
aarch64-darwin = {
url = "https://downloads.1password.com/mac/1Password-${version}-aarch64.zip";
- sha256 = "sha256-74iOaNkuPRKUsTNNd7UTpy5ahjoMmxiNT84Op5ztRGk=";
+ sha256 = "sha256-JmCrEBucXGPpGbiKOxA8vu6bUVYsavfsYA5QY58Grnw=";
};
};
};
diff --git a/pkgs/applications/misc/1password-gui/update.sh b/pkgs/applications/misc/1password-gui/update.sh
new file mode 100755
index 000000000000..aab589fd37ea
--- /dev/null
+++ b/pkgs/applications/misc/1password-gui/update.sh
@@ -0,0 +1,46 @@
+#!/usr/bin/env nix-shell
+#!nix-shell -i bash -p jq
+#shellcheck shell=bash
+
+CURRENT_HASH=""
+
+print_hash() {
+ OS="$1"
+ CHANNEL="$2"
+ ARCH="$3"
+ VERSION="$4"
+
+ if [[ "$OS" == "linux" ]]; then
+ if [[ "$ARCH" == "x86_64" ]]; then
+ EXT="x64.tar.gz"
+ else
+ EXT="arm64.tar.gz"
+ fi
+ URL="https://downloads.1password.com/${OS}/tar/${CHANNEL}/${ARCH}/1password-${VERSION}.${EXT}"
+ else
+ EXT="$ARCH.zip"
+ URL="https://downloads.1password.com/${OS}/1Password-${VERSION}-${EXT}"
+ fi
+
+ CURRENT_HASH=$(nix store prefetch-file "$URL" --json | jq -r '.hash')
+
+ echo "$CHANNEL ${ARCH}-${OS}: $CURRENT_HASH"
+}
+
+if [[ -z "$STABLE_VER" ]]; then
+ echo "No 'STABLE_VER' environment variable provided, skipping"
+else
+ print_hash "linux" "stable" "x86_64" "$STABLE_VER"
+ print_hash "linux" "stable" "aarch64" "$STABLE_VER"
+ print_hash "mac" "stable" "x86_64" "$STABLE_VER"
+ print_hash "mac" "stable" "aarch64" "$STABLE_VER"
+fi
+
+if [[ -z "$BETA_VER" ]]; then
+ echo "No 'BETA_VER' environment variable provided, skipping"
+else
+ print_hash "linux" "beta" "x86_64" "$BETA_VER"
+ print_hash "linux" "beta" "aarch64" "$BETA_VER"
+ print_hash "mac" "beta" "x86_64" "$BETA_VER"
+ print_hash "mac" "beta" "aarch64" "$BETA_VER"
+fi
diff --git a/pkgs/applications/misc/cubiomes-viewer/default.nix b/pkgs/applications/misc/cubiomes-viewer/default.nix
index 3912e8d221e9..f6035b3c6c49 100644
--- a/pkgs/applications/misc/cubiomes-viewer/default.nix
+++ b/pkgs/applications/misc/cubiomes-viewer/default.nix
@@ -9,13 +9,13 @@
stdenv.mkDerivation rec {
pname = "cubiomes-viewer";
- version = "3.0.1";
+ version = "3.1.0";
src = fetchFromGitHub {
owner = "Cubitect";
repo = pname;
rev = version;
- sha256 = "sha256-UPphXaxq/Hnt1U3J+lgwa0lp3vX1B/Ou8eqD9rHe3sw=";
+ sha256 = "sha256-pA+SWktSjgH7lRqK14yJX2ziLoKpxMCpEIh0H6slpxw=";
fetchSubmodules = true;
};
diff --git a/pkgs/applications/misc/gcfflasher/default.nix b/pkgs/applications/misc/gcfflasher/default.nix
new file mode 100644
index 000000000000..14bc6ad012e0
--- /dev/null
+++ b/pkgs/applications/misc/gcfflasher/default.nix
@@ -0,0 +1,46 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, pkg-config
+, libgpiod
+, cmake
+}:
+
+stdenv.mkDerivation rec {
+ pname = "gcfflasher";
+ version = "4.0.3-beta";
+
+ src = fetchFromGitHub {
+ owner = "dresden-elektronik";
+ repo = pname;
+ rev = "refs/tags/v${version}";
+ hash = "sha256-m+iDBfsHo+PLYd3K8JaKwhIXcnj+Q8w7gIgmHp+0plk=";
+ };
+
+ nativeBuildInputs = [
+ pkg-config
+ cmake
+ ];
+
+ postPatch = ''
+ substituteInPlace CMakeLists.txt \
+ --replace 'main_windows.c' 'main_posix.c'
+ '';
+
+ buildInputs = lib.optionals stdenv.isLinux [
+ libgpiod
+ ];
+
+ installPhase = ''
+ runHook preInstall
+ install -Dm0755 GCFFlasher $out/bin/GCFFlasher
+ runHook postInstall
+ '';
+
+ meta = with lib; {
+ description = "CFFlasher is the tool to program the firmware of dresden elektronik's Zigbee products";
+ license = licenses.bsd3;
+ homepage = "https://github.com/dresden-elektronik/gcfflasher";
+ maintainers = with maintainers; [ fleaz ];
+ };
+}
diff --git a/pkgs/applications/misc/klayout/default.nix b/pkgs/applications/misc/klayout/default.nix
index dd3e5406ca32..4348afb0205b 100644
--- a/pkgs/applications/misc/klayout/default.nix
+++ b/pkgs/applications/misc/klayout/default.nix
@@ -5,13 +5,13 @@
mkDerivation rec {
pname = "klayout";
- version = "0.28.4";
+ version = "0.28.5";
src = fetchFromGitHub {
owner = "KLayout";
repo = "klayout";
rev = "v${version}";
- hash = "sha256-6RIzgC/PA2DqO24vKu+d/+GttufUbIH+k9GZe09M0vM=";
+ hash = "sha256-fjKxQ3oVtnFwzLeeE6kN0jKE5PIfBZubTF54KO+k/DE=";
};
postPatch = ''
diff --git a/pkgs/applications/misc/nwg-panel/default.nix b/pkgs/applications/misc/nwg-panel/default.nix
index 7724976ebabf..f5ac2ed7e59f 100644
--- a/pkgs/applications/misc/nwg-panel/default.nix
+++ b/pkgs/applications/misc/nwg-panel/default.nix
@@ -14,13 +14,13 @@
python3Packages.buildPythonApplication rec {
pname = "nwg-panel";
- version = "0.7.11";
+ version = "0.7.16";
src = fetchFromGitHub {
owner = "nwg-piotr";
repo = "nwg-panel";
rev = "refs/tags/v${version}";
- sha256 = "sha256-Esr1OPyQCCQIOfgkl6RIn93ZaJkF0O2RM9ObIgBlPi4=";
+ sha256 = "sha256-dwnDrFQZVz6Vxa8bX0gFPBZFQwRJ3+wUy6Rsxvb2dhw=";
};
# No tests
@@ -56,6 +56,6 @@ python3Packages.buildPythonApplication rec {
description = "GTK3-based panel for Sway window manager";
license = licenses.mit;
platforms = platforms.linux;
- maintainers = with maintainers; [ berbiche ];
+ maintainers = with maintainers; [ ];
};
}
diff --git a/pkgs/applications/misc/oxker/default.nix b/pkgs/applications/misc/oxker/default.nix
index 56490754e172..ba8324a02fb3 100644
--- a/pkgs/applications/misc/oxker/default.nix
+++ b/pkgs/applications/misc/oxker/default.nix
@@ -2,14 +2,14 @@
rustPlatform.buildRustPackage rec {
pname = "oxker";
- version = "0.2.1";
+ version = "0.2.3";
src = fetchCrate {
inherit pname version;
- sha256 = "sha256-CsfzQN7n/LsNIivJShDG02cHwPktkXl/0udBSPz0i2U=";
+ sha256 = "sha256-J+3wi1nqkxR3ZDfR+F3rvFjUz1DJ7/jhjmcvFdMzWYc=";
};
- cargoHash = "sha256-FSuhG+ZSQzwj1YB3xs3A1uFWPhwK8FIfVfUY9V/J2Z8=";
+ cargoHash = "sha256-oQPCUm/X2vt6wN5AKhtgq8tzQQrp0H42bBK7Az+I9BE=";
meta = with lib; {
description = "A simple tui to view & control docker containers";
diff --git a/pkgs/applications/misc/ttdl/default.nix b/pkgs/applications/misc/ttdl/default.nix
new file mode 100644
index 000000000000..9f098efef8a0
--- /dev/null
+++ b/pkgs/applications/misc/ttdl/default.nix
@@ -0,0 +1,26 @@
+{ lib
+, rustPlatform
+, fetchFromGitHub
+}:
+
+rustPlatform.buildRustPackage rec {
+ pname = "ttdl";
+ version = "3.6.3";
+
+ src = fetchFromGitHub {
+ owner = "VladimirMarkelov";
+ repo = "ttdl";
+ rev = "v${version}";
+ sha256 = "sha256-IR0cDXQHnMDI71Vg50atS98YorqAQKc95EF1+m9cxFY=";
+ };
+
+ cargoSha256 = "sha256-658mN3R3opjvqfnIDcbh11ZSOTDbpYnhCgGGx46Mrrc=";
+
+ meta = with lib; {
+ description = "A CLI tool to manage todo lists in todo.txt format";
+ homepage = "https://github.com/VladimirMarkelov/ttdl";
+ changelog = "https://github.com/VladimirMarkelov/ttdl/blob/v${version}/changelog";
+ license = with licenses; [ mit ];
+ maintainers = with maintainers; [ _3JlOy-PYCCKUi ];
+ };
+}
diff --git a/pkgs/applications/misc/yubioath-flutter/default.nix b/pkgs/applications/misc/yubioath-flutter/default.nix
index bac11b6899b3..dde9f3b69862 100644
--- a/pkgs/applications/misc/yubioath-flutter/default.nix
+++ b/pkgs/applications/misc/yubioath-flutter/default.nix
@@ -10,19 +10,19 @@
}:
let
vendorHashes = {
- x86_64-linux = "sha256-BwhWA8N0S55XkljDKPNkDhsj0QSpmJJ5MwEnrPjymS8=";
- aarch64-linux = "sha256-T1aGz3+2Sls+rkUVDUo39Ky2igg+dxGSUaf3qpV7ovQ=";
+ x86_64-linux = "sha256-Upe0cEDG02RJD50Ht9VNMwkelsJHX8zOuJZssAhMuMY=";
+ aarch64-linux = "sha256-lKER4+gcyFqnCvgBl/qdVBCbUpocWUnXGLXsX82MSy4=";
};
in
flutter.mkFlutterApp rec {
pname = "yubioath-flutter";
- version = "6.0.2";
+ version = "6.1.0";
src = fetchFromGitHub {
owner = "Yubico";
repo = "yubioath-flutter";
rev = version;
- sha256 = "13nh5qpq02c6azfdh4cbzhlrq0hs9is45q5z5cnxg84hrx26hd4k";
+ sha256 = "sha256-N9/qwC79mG9r+zMPLHSPjNSQ+srGtnXuKsf0ijtH7CI=";
};
passthru.helper = python3.pkgs.callPackage ./helper.nix { inherit src version meta; };
diff --git a/pkgs/applications/networking/browsers/chromium/upstream-info.json b/pkgs/applications/networking/browsers/chromium/upstream-info.json
index ead92ac3aec7..1eeec11742a6 100644
--- a/pkgs/applications/networking/browsers/chromium/upstream-info.json
+++ b/pkgs/applications/networking/browsers/chromium/upstream-info.json
@@ -1,21 +1,21 @@
{
"stable": {
- "version": "109.0.5414.119",
- "sha256": "0bdyb14v12izxkldq27jx532p0bid3wdwfpd1mwm7jqswxgfzkfb",
- "sha256bin64": "0iap6i4zmflp4fsj16knwdp03gixsdkbys0scbvvzs3fzy2r5zkx",
+ "version": "110.0.5481.77",
+ "sha256": "1kl1k29sr5qw8pg7shvizw4b37fxjlgah56p57kq641iqhnsnj73",
+ "sha256bin64": "0jjdgfps6siy9hk2r553vvh0jmkn987ad77sv2zqs9gvx0vsrwgp",
"deps": {
"gn": {
- "version": "2022-11-10",
+ "version": "2022-12-12",
"url": "https://gn.googlesource.com/gn",
- "rev": "1c4151ff5c1d6fbf7fa800b8d4bb34d3abc03a41",
- "sha256": "02621c9nqpr4pwcapy31x36l5kbyd0vdgd0wdaxj5p8hrxk67d6b"
+ "rev": "5e19d2fb166fbd4f6f32147fbb2f497091a54ad8",
+ "sha256": "1b5fwldfmkkbpp5x63n1dxv0nc965hphc8rm8ah7zg44zscm9z30"
}
},
"chromedriver": {
- "version": "109.0.5414.74",
- "sha256_linux": "1mhnw4maixwfhrz3r3mhpr9bl9hn7cvr2ji6y6ai32hxa1ix9m6f",
- "sha256_darwin": "0w46xd05m7irfxqsfnjwgd2v65c9vgnh8awaknqgh02wmdgx3nm0",
- "sha256_darwin_aarch64": "0amb2kd4cq4clir9gqr1b1mdy46m8nwzka227xxjd2i14vwzckb0"
+ "version": "110.0.5481.30",
+ "sha256_linux": "08j28ahyahlgmy67hcm8b1vd4kilvf2yvc25746a46gdf8zz0nmw",
+ "sha256_darwin": "0xlq0fi9g15yvd6ysqcfkxpbr37av32h0f3af9vxl8vbywjfsxn4",
+ "sha256_darwin_aarch64": "03j47ha9janbawbjxy9n84sx70iisk6qr0bvb218cq5j1d5x058b"
}
},
"beta": {
@@ -32,9 +32,9 @@
}
},
"dev": {
- "version": "111.0.5563.8",
- "sha256": "0gflrk5i6dr5vrywhxab73044gryxj49px59blgl6nyphw7swpwy",
- "sha256bin64": "1dgfjz9pnziy1zymk7g15i5zdb002g77q8kqhkwgi4m0fndknpmj",
+ "version": "111.0.5563.19",
+ "sha256": "0hrapzi45jpkb1b87nzlb896jd2h2jbz1mq91md5r2y6ag6fc55w",
+ "sha256bin64": "02aaqny23dcdp611n6jr7swkjnx1wd0lb8dgxq53b806f0s374cp",
"deps": {
"gn": {
"version": "2022-12-12",
diff --git a/pkgs/applications/networking/cluster/k3s/1_23/0001-script-download-strip-downloading-just-package-CRD.patch b/pkgs/applications/networking/cluster/k3s/1_23/0001-script-download-strip-downloading-just-package-CRD.patch
new file mode 100644
index 000000000000..115fd6824772
--- /dev/null
+++ b/pkgs/applications/networking/cluster/k3s/1_23/0001-script-download-strip-downloading-just-package-CRD.patch
@@ -0,0 +1,41 @@
+From 6f53bd36a40da4c71486e3b79f6e32d53d6eea5d Mon Sep 17 00:00:00 2001
+From: Euan Kemp
+Date: Thu, 3 Feb 2022 23:50:40 -0800
+Subject: [PATCH 2/2] scrips/download: strip downloading, just package CRD
+
+The CRD packaging is a complicated set of commands, so let's reuse it.
+---
+ scripts/download | 10 ++--------
+ 1 file changed, 2 insertions(+), 8 deletions(-)
+
+diff --git a/scripts/download b/scripts/download
+index 5effc0562a..82361803ee 100755
+--- a/scripts/download
++++ b/scripts/download
+@@ -24,12 +24,6 @@ rm -rf ${CONTAINERD_DIR}
+ mkdir -p ${CHARTS_DIR}
+ mkdir -p ${DATA_DIR}
+
+-curl --compressed -sfL https://github.com/k3s-io/k3s-root/releases/download/${VERSION_ROOT}/k3s-root-${ARCH}.tar | tar xf - --exclude=bin/socat
+-
+-git clone --single-branch --branch=${VERSION_RUNC} --depth=1 https://github.com/opencontainers/runc ${RUNC_DIR}
+-
+-git clone --single-branch --branch=${VERSION_CONTAINERD} --depth=1 https://github.com/k3s-io/containerd ${CONTAINERD_DIR}
+-
+ setup_tmp() {
+ TMP_DIR=$(mktemp -d --tmpdir=${CHARTS_DIR})
+ cleanup() {
+@@ -44,8 +38,8 @@ setup_tmp() {
+
+ download_and_package_traefik () {
+ echo "Downloading Traefik Helm chart from ${TRAEFIK_URL}"
+- curl -sfL ${TRAEFIK_URL} -o ${TMP_DIR}/${TRAEFIK_FILE}
+- code=$?
++ # nixpkgs: copy in our known traefik chart instead
++ cp $TRAEFIK_CHART_FILE ${TMP_DIR}/${TRAEFIK_FILE}
+
+ if [ $code -ne 0 ]; then
+ echo "Error: Failed to download Traefik Helm chart!"
+--
+2.34.1
+
diff --git a/pkgs/applications/networking/cluster/k3s/1_23/default.nix b/pkgs/applications/networking/cluster/k3s/1_23/default.nix
new file mode 100644
index 000000000000..1fbe7687a006
--- /dev/null
+++ b/pkgs/applications/networking/cluster/k3s/1_23/default.nix
@@ -0,0 +1,331 @@
+{ stdenv
+, lib
+, makeWrapper
+, socat
+, iptables
+, iproute2
+, bridge-utils
+, btrfs-progs
+, conntrack-tools
+, buildGoModule
+, runc
+, rsync
+, kmod
+, libseccomp
+, pkg-config
+, ethtool
+, util-linux
+, fetchFromGitHub
+, fetchurl
+, fetchzip
+, fetchgit
+, zstd
+, yq-go
+, nixosTests
+, k3s
+, pkgsBuildBuild
+}:
+
+with lib;
+
+# k3s is a kinda weird derivation. One of the main points of k3s is the
+# simplicity of it being one binary that can perform several tasks.
+# However, when you have a good package manager (like nix), that doesn't
+# actually make much of a difference; you don't really care if it's one binary
+# or 10 since with a good package manager, installing and running it is
+# identical.
+# Since upstream k3s packages itself as one large binary with several
+# "personalities" (in the form of subcommands like 'k3s agent' and 'k3s
+# kubectl'), it ends up being easiest to mostly mimic upstream packaging, with
+# some exceptions.
+# K3s also carries patches to some packages (such as containerd and cni
+# plugins), so we intentionally use the k3s versions of those binaries for k3s,
+# even if the upstream version of those binaries exist in nixpkgs already. In
+# the end, that means we have a thick k3s binary that behaves like the upstream
+# one for the most part.
+# However, k3s also bundles several pieces of unpatched software, from the
+# strongswan vpn software, to iptables, to socat, conntrack, busybox, etc.
+# Those pieces of software we entirely ignore upstream's handling of, and just
+# make sure they're in the path if desired.
+let
+ k3sVersion = "1.23.6+k3s1"; # k3s git tag
+ k3sCommit = "418c3fa858b69b12b9cefbcff0526f666a6236b9"; # k3s git commit at the above version
+ k3sRepoSha256 = "0fmw491dn5mpi058mr7sij51i5m4qg2grx30cnl3h2v4s0sdkx2i";
+ k3sVendorSha256 = "sha256-iHg5ySMaiSWXs98YGmxPwdZr4zdBIFma12dNEuf30Hs=";
+
+ # taken from ./manifests/traefik.yaml, extracted from '.spec.chart' https://github.com/k3s-io/k3s/blob/v1.23.3%2Bk3s1/scripts/download#L9
+ # The 'patch' and 'minor' versions are currently hardcoded as single digits only, so ignore the trailing two digits. Weird, I know.
+ traefikChartVersion = "10.19.3";
+ traefikChartSha256 = "04zg5li957svgscdmkzmzjkwljaljyav68rzxmhakkwgav6q9058";
+
+ # taken from ./scripts/version.sh VERSION_ROOT https://github.com/k3s-io/k3s/blob/v1.23.3%2Bk3s1/scripts/version.sh#L47
+ k3sRootVersion = "0.11.0";
+ k3sRootSha256 = "016n56vi09xkvjph7wgzb2m86mhd5x65fs4d11pmh20hl249r620";
+
+ # taken from ./scripts/version.sh VERSION_CNIPLUGINS https://github.com/k3s-io/k3s/blob/v1.23.3%2Bk3s1/scripts/version.sh#L45
+ k3sCNIVersion = "1.0.1-k3s1";
+ k3sCNISha256 = "11ihlzzdnqf9p21y0a4ckpbxac016nm7746dcykhj26ym9zxyv92";
+
+ # taken from go.mod, the 'github.com/containerd/containerd' line
+ # run `grep github.com/containerd/containerd go.mod | head -n1 | awk '{print $4}'`
+ containerdVersion = "1.5.11-k3s2";
+ containerdSha256 = "16132snvrg8r0vwm6c0lz0q6fx686s2ix53nm3aka9a83xs75vf2";
+
+ # run `grep github.com/kubernetes-sigs/cri-tools go.mod | head -n1 | awk '{print $4}'` in the k3s repo at the tag
+ criCtlVersion = "1.22.0-k3s1";
+
+ baseMeta = k3s.meta;
+
+ # https://github.com/k3s-io/k3s/blob/5fb370e53e0014dc96183b8ecb2c25a61e891e76/scripts/build#L19-L40
+ versionldflags = [
+ "-X github.com/rancher/k3s/pkg/version.Version=v${k3sVersion}"
+ "-X github.com/rancher/k3s/pkg/version.GitCommit=${lib.substring 0 8 k3sCommit}"
+ "-X k8s.io/client-go/pkg/version.gitVersion=v${k3sVersion}"
+ "-X k8s.io/client-go/pkg/version.gitCommit=${k3sCommit}"
+ "-X k8s.io/client-go/pkg/version.gitTreeState=clean"
+ "-X k8s.io/client-go/pkg/version.buildDate=1970-01-01T01:01:01Z"
+ "-X k8s.io/component-base/version.gitVersion=v${k3sVersion}"
+ "-X k8s.io/component-base/version.gitCommit=${k3sCommit}"
+ "-X k8s.io/component-base/version.gitTreeState=clean"
+ "-X k8s.io/component-base/version.buildDate=1970-01-01T01:01:01Z"
+ "-X github.com/kubernetes-sigs/cri-tools/pkg/version.Version=v${criCtlVersion}"
+ "-X github.com/containerd/containerd/version.Version=v${containerdVersion}"
+ "-X github.com/containerd/containerd/version.Package=github.com/k3s-io/containerd"
+ ];
+
+ # bundled into the k3s binary
+ traefikChart = fetchurl {
+ url = "https://helm.traefik.io/traefik/traefik-${traefikChartVersion}.tgz";
+ sha256 = traefikChartSha256;
+ };
+ # so, k3s is a complicated thing to package
+ # This derivation attempts to avoid including any random binaries from the
+ # internet. k3s-root is _mostly_ binaries built to be bundled in k3s (which
+ # we don't care about doing, we can add those as build or runtime
+ # dependencies using a real package manager).
+ # In addition to those binaries, it's also configuration though (right now
+ # mostly strongswan configuration), and k3s does use those files.
+ # As such, we download it in order to grab 'etc' and bundle it into the final
+ # k3s binary.
+ k3sRoot = fetchzip {
+ # Note: marked as apache 2.0 license
+ url = "https://github.com/k3s-io/k3s-root/releases/download/v${k3sRootVersion}/k3s-root-amd64.tar";
+ sha256 = k3sRootSha256;
+ stripRoot = false;
+ };
+ k3sCNIPlugins = buildGoModule rec {
+ pname = "k3s-cni-plugins";
+ version = k3sCNIVersion;
+ vendorSha256 = null;
+
+ subPackages = [ "." ];
+
+ src = fetchFromGitHub {
+ owner = "rancher";
+ repo = "plugins";
+ rev = "v${version}";
+ sha256 = k3sCNISha256;
+ };
+
+ postInstall = ''
+ mv $out/bin/plugins $out/bin/cni
+ '';
+
+ meta = baseMeta // {
+ description = "CNI plugins, as patched by rancher for k3s";
+ };
+ };
+ # Grab this separately from a build because it's used by both stages of the
+ # k3s build.
+ k3sRepo = fetchgit {
+ url = "https://github.com/k3s-io/k3s";
+ rev = "v${k3sVersion}";
+ sha256 = k3sRepoSha256;
+ };
+ # Stage 1 of the k3s build:
+ # Let's talk about how k3s is structured.
+ # One of the ideas of k3s is that there's the single "k3s" binary which can
+ # do everything you need, from running a k3s server, to being a worker node,
+ # to running kubectl.
+ # The way that actually works is that k3s is a single go binary that contains
+ # a bunch of bindata that it unpacks at runtime into directories (either the
+ # user's home directory or /var/lib/rancher if run as root).
+ # This bindata includes both binaries and configuration.
+ # In order to let nixpkgs do all its autostripping/patching/etc, we split this into two derivations.
+ # First, we build all the binaries that get packed into the thick k3s binary
+ # (and output them from one derivation so they'll all be suitably patched up).
+ # Then, we bundle those binaries into our thick k3s binary and use that as
+ # the final single output.
+ # This approach was chosen because it ensures the bundled binaries all are
+ # correctly built to run with nix (we can lean on the existing buildGoModule
+ # stuff), and we can again lean on that tooling for the final k3s binary too.
+ # Other alternatives would be to manually run the
+ # strip/patchelf/remove-references step ourselves in the installPhase of the
+ # derivation when we've built all the binaries, but haven't bundled them in
+ # with generated bindata yet.
+
+ k3sServer = buildGoModule rec {
+ pname = "k3s-server";
+ version = k3sVersion;
+
+ src = k3sRepo;
+ vendorSha256 = k3sVendorSha256;
+
+ nativeBuildInputs = [ pkg-config ];
+ buildInputs = [ libseccomp ];
+
+ subPackages = [ "cmd/server" ];
+ ldflags = versionldflags;
+
+ # create the multicall symlinks for k3s
+ postInstall = ''
+ mv $out/bin/server $out/bin/k3s
+ pushd $out
+ # taken verbatim from https://github.com/k3s-io/k3s/blob/v1.23.3%2Bk3s1/scripts/build#L105-L113
+ ln -s k3s ./bin/k3s-agent
+ ln -s k3s ./bin/k3s-server
+ ln -s k3s ./bin/k3s-etcd-snapshot
+ ln -s k3s ./bin/k3s-secrets-encrypt
+ ln -s k3s ./bin/k3s-certificate
+ ln -s k3s ./bin/kubectl
+ ln -s k3s ./bin/crictl
+ ln -s k3s ./bin/ctr
+ popd
+ '';
+
+ meta = baseMeta // {
+ description = "The various binaries that get packaged into the final k3s binary";
+ };
+ };
+ k3sContainerd = buildGoModule {
+ pname = "k3s-containerd";
+ version = containerdVersion;
+ src = fetchFromGitHub {
+ owner = "k3s-io";
+ repo = "containerd";
+ rev = "v${containerdVersion}";
+ sha256 = containerdSha256;
+ };
+ vendorSha256 = null;
+ buildInputs = [ btrfs-progs ];
+ subPackages = [ "cmd/containerd" "cmd/containerd-shim-runc-v2" ];
+ ldflags = versionldflags;
+ };
+in
+buildGoModule rec {
+ pname = "k3s";
+ version = k3sVersion;
+
+ src = k3sRepo;
+ vendorSha256 = k3sVendorSha256;
+
+ patches = [
+ ./0001-script-download-strip-downloading-just-package-CRD.patch
+ ];
+
+ postPatch = ''
+ # Nix prefers dynamically linked binaries over static binary.
+
+ substituteInPlace scripts/package-cli \
+ --replace '"$LDFLAGS $STATIC" -o' \
+ '"$LDFLAGS" -o' \
+ --replace "STATIC=\"-extldflags \'-static\'\"" \
+ ""
+
+ # Upstream codegen fails with trimpath set. Removes "trimpath" for 'go generate':
+
+ substituteInPlace scripts/package-cli \
+ --replace '"''${GO}" generate' \
+ 'GOFLAGS="" \
+ GOOS="${pkgsBuildBuild.go.GOOS}" \
+ GOARCH="${pkgsBuildBuild.go.GOARCH}" \
+ CC="${pkgsBuildBuild.stdenv.cc}/bin/cc" \
+ "''${GO}" generate'
+ '';
+
+ # Important utilities used by the kubelet, see
+ # https://github.com/kubernetes/kubernetes/issues/26093#issuecomment-237202494
+ # Note the list in that issue is stale and some aren't relevant for k3s.
+ k3sRuntimeDeps = [
+ kmod
+ socat
+ iptables
+ iproute2
+ bridge-utils
+ ethtool
+ util-linux # kubelet wants 'nsenter' from util-linux: https://github.com/kubernetes/kubernetes/issues/26093#issuecomment-705994388
+ conntrack-tools
+ ];
+
+ buildInputs = k3sRuntimeDeps;
+
+ nativeBuildInputs = [
+ makeWrapper
+ rsync
+ yq-go
+ zstd
+ ];
+
+ # embedded in the final k3s cli
+ propagatedBuildInputs = [
+ k3sCNIPlugins
+ k3sContainerd
+ k3sServer
+ runc
+ ];
+
+ # We override most of buildPhase due to peculiarities in k3s's build.
+ # Specifically, it has a 'go generate' which runs part of the package. See
+ # this comment:
+ # https://github.com/NixOS/nixpkgs/pull/158089#discussion_r799965694
+ # So, why do we use buildGoModule at all? For the `vendorSha256` / `go mod download` stuff primarily.
+ buildPhase = ''
+ patchShebangs ./scripts/package-cli ./scripts/download ./scripts/build-upload
+
+ # copy needed 'go generate' inputs into place
+ mkdir -p ./bin/aux
+ rsync -a --no-perms ${k3sServer}/bin/ ./bin/
+ ln -vsf ${runc}/bin/runc ./bin/runc
+ ln -vsf ${k3sCNIPlugins}/bin/cni ./bin/cni
+ ln -vsf ${k3sContainerd}/bin/* ./bin/
+ rsync -a --no-perms --chmod u=rwX ${k3sRoot}/etc/ ./etc/
+ mkdir -p ./build/static/charts
+ # Note, upstream's chart has a 00 suffix. This seems to not matter though, so we're ignoring that naming detail.
+ export TRAEFIK_CHART_FILE=${traefikChart}
+ # place the traefik chart using their code since it's complicated
+ # We trim the actual download, see patches
+ ./scripts/download
+
+ export ARCH=$GOARCH
+ export DRONE_TAG="v${k3sVersion}"
+ export DRONE_COMMIT="${k3sCommit}"
+ # use ./scripts/package-cli to run 'go generate' + 'go build'
+
+ ./scripts/package-cli
+ mkdir -p $out/bin
+ '';
+
+ # Otherwise it depends on 'getGoDirs', which is normally set in buildPhase
+ doCheck = false;
+
+ installPhase = ''
+ # wildcard to match the arm64 build too
+ install -m 0755 dist/artifacts/k3s* -D $out/bin/k3s
+ wrapProgram $out/bin/k3s \
+ --prefix PATH : ${lib.makeBinPath k3sRuntimeDeps} \
+ --prefix PATH : "$out/bin"
+ '';
+
+ doInstallCheck = true;
+ installCheckPhase = ''
+ $out/bin/k3s --version | grep -F "v${k3sVersion}" >/dev/null
+ '';
+
+ # Fix-Me: Needs to be adapted specifically for 1.23
+ # passthru.updateScript = ./update.sh;
+
+ # Fix-Me: Needs to be adapted specifically for 1.23
+ # passthru.tests = { inherit (nixosTests) k3s-single-node k3s-single-node-docker; };
+
+ meta = baseMeta;
+}
diff --git a/pkgs/applications/networking/cluster/k3s/1_24/0001-script-download-strip-downloading-just-package-CRD.patch b/pkgs/applications/networking/cluster/k3s/1_24/0001-script-download-strip-downloading-just-package-CRD.patch
new file mode 100644
index 000000000000..115fd6824772
--- /dev/null
+++ b/pkgs/applications/networking/cluster/k3s/1_24/0001-script-download-strip-downloading-just-package-CRD.patch
@@ -0,0 +1,41 @@
+From 6f53bd36a40da4c71486e3b79f6e32d53d6eea5d Mon Sep 17 00:00:00 2001
+From: Euan Kemp
+Date: Thu, 3 Feb 2022 23:50:40 -0800
+Subject: [PATCH 2/2] scrips/download: strip downloading, just package CRD
+
+The CRD packaging is a complicated set of commands, so let's reuse it.
+---
+ scripts/download | 10 ++--------
+ 1 file changed, 2 insertions(+), 8 deletions(-)
+
+diff --git a/scripts/download b/scripts/download
+index 5effc0562a..82361803ee 100755
+--- a/scripts/download
++++ b/scripts/download
+@@ -24,12 +24,6 @@ rm -rf ${CONTAINERD_DIR}
+ mkdir -p ${CHARTS_DIR}
+ mkdir -p ${DATA_DIR}
+
+-curl --compressed -sfL https://github.com/k3s-io/k3s-root/releases/download/${VERSION_ROOT}/k3s-root-${ARCH}.tar | tar xf - --exclude=bin/socat
+-
+-git clone --single-branch --branch=${VERSION_RUNC} --depth=1 https://github.com/opencontainers/runc ${RUNC_DIR}
+-
+-git clone --single-branch --branch=${VERSION_CONTAINERD} --depth=1 https://github.com/k3s-io/containerd ${CONTAINERD_DIR}
+-
+ setup_tmp() {
+ TMP_DIR=$(mktemp -d --tmpdir=${CHARTS_DIR})
+ cleanup() {
+@@ -44,8 +38,8 @@ setup_tmp() {
+
+ download_and_package_traefik () {
+ echo "Downloading Traefik Helm chart from ${TRAEFIK_URL}"
+- curl -sfL ${TRAEFIK_URL} -o ${TMP_DIR}/${TRAEFIK_FILE}
+- code=$?
++ # nixpkgs: copy in our known traefik chart instead
++ cp $TRAEFIK_CHART_FILE ${TMP_DIR}/${TRAEFIK_FILE}
+
+ if [ $code -ne 0 ]; then
+ echo "Error: Failed to download Traefik Helm chart!"
+--
+2.34.1
+
diff --git a/pkgs/applications/networking/cluster/k3s/1_24/default.nix b/pkgs/applications/networking/cluster/k3s/1_24/default.nix
new file mode 100644
index 000000000000..18e0258432ee
--- /dev/null
+++ b/pkgs/applications/networking/cluster/k3s/1_24/default.nix
@@ -0,0 +1,329 @@
+{ stdenv
+, lib
+, makeWrapper
+, socat
+, iptables
+, iproute2
+, bridge-utils
+, btrfs-progs
+, conntrack-tools
+, buildGoModule
+, runc
+, rsync
+, kmod
+, libseccomp
+, pkg-config
+, ethtool
+, util-linux
+, fetchFromGitHub
+, fetchurl
+, fetchzip
+, fetchgit
+, zstd
+, yq-go
+, nixosTests
+, k3s
+, pkgsBuildBuild
+}:
+
+# k3s is a kinda weird derivation. One of the main points of k3s is the
+# simplicity of it being one binary that can perform several tasks.
+# However, when you have a good package manager (like nix), that doesn't
+# actually make much of a difference; you don't really care if it's one binary
+# or 10 since with a good package manager, installing and running it is
+# identical.
+# Since upstream k3s packages itself as one large binary with several
+# "personalities" (in the form of subcommands like 'k3s agent' and 'k3s
+# kubectl'), it ends up being easiest to mostly mimic upstream packaging, with
+# some exceptions.
+# K3s also carries patches to some packages (such as containerd and cni
+# plugins), so we intentionally use the k3s versions of those binaries for k3s,
+# even if the upstream version of those binaries exist in nixpkgs already. In
+# the end, that means we have a thick k3s binary that behaves like the upstream
+# one for the most part.
+# However, k3s also bundles several pieces of unpatched software, from the
+# strongswan vpn software, to iptables, to socat, conntrack, busybox, etc.
+# Those pieces of software we entirely ignore upstream's handling of, and just
+# make sure they're in the path if desired.
+let
+ k3sVersion = "1.24.4+k3s1"; # k3s git tag
+ k3sCommit = "c3f830e9b9ed8a4d9d0e2aa663b4591b923a296e"; # k3s git commit at the above version
+ k3sRepoSha256 = "00ns6n7jxnacah8ahndhgdb160prgsqhswbb5809kkgvig7k8b27";
+ k3sVendorSha256 = "sha256-ReZvJCgxqffG2H39JlynGPUBSV5ngPkRtAoZ++OQZZI=";
+
+ # taken from ./manifests/traefik.yaml, extracted from '.spec.chart' https://github.com/k3s-io/k3s/blob/v1.23.3%2Bk3s1/scripts/download#L9
+ # The 'patch' and 'minor' versions are currently hardcoded as single digits only, so ignore the trailing two digits. Weird, I know.
+ traefikChartVersion = "10.19.3";
+ traefikChartSha256 = "04zg5li957svgscdmkzmzjkwljaljyav68rzxmhakkwgav6q9058";
+
+ # taken from ./scripts/version.sh VERSION_ROOT https://github.com/k3s-io/k3s/blob/v1.23.3%2Bk3s1/scripts/version.sh#L47
+ k3sRootVersion = "0.11.0";
+ k3sRootSha256 = "016n56vi09xkvjph7wgzb2m86mhd5x65fs4d11pmh20hl249r620";
+
+ # taken from ./scripts/version.sh VERSION_CNIPLUGINS https://github.com/k3s-io/k3s/blob/v1.23.3%2Bk3s1/scripts/version.sh#L45
+ k3sCNIVersion = "1.1.1-k3s1";
+ k3sCNISha256 = "14mb3zsqibj1sn338gjmsyksbm0mxv9p016dij7zidccx2rzn6nl";
+
+ # taken from go.mod, the 'github.com/containerd/containerd' line
+ # run `grep github.com/containerd/containerd go.mod | head -n1 | awk '{print $4}'`
+ containerdVersion = "1.5.13-k3s1";
+ containerdSha256 = "09bj4ghwbsj9whkv1d5icqs52k64m449j8b73dmak2wz62fbzbvp";
+
+ # run `grep github.com/kubernetes-sigs/cri-tools go.mod | head -n1 | awk '{print $4}'` in the k3s repo at the tag
+ criCtlVersion = "1.24.0-k3s1";
+
+ baseMeta = k3s.meta;
+
+ # https://github.com/k3s-io/k3s/blob/5fb370e53e0014dc96183b8ecb2c25a61e891e76/scripts/build#L19-L40
+ versionldflags = [
+ "-X github.com/rancher/k3s/pkg/version.Version=v${k3sVersion}"
+ "-X github.com/rancher/k3s/pkg/version.GitCommit=${lib.substring 0 8 k3sCommit}"
+ "-X k8s.io/client-go/pkg/version.gitVersion=v${k3sVersion}"
+ "-X k8s.io/client-go/pkg/version.gitCommit=${k3sCommit}"
+ "-X k8s.io/client-go/pkg/version.gitTreeState=clean"
+ "-X k8s.io/client-go/pkg/version.buildDate=1970-01-01T01:01:01Z"
+ "-X k8s.io/component-base/version.gitVersion=v${k3sVersion}"
+ "-X k8s.io/component-base/version.gitCommit=${k3sCommit}"
+ "-X k8s.io/component-base/version.gitTreeState=clean"
+ "-X k8s.io/component-base/version.buildDate=1970-01-01T01:01:01Z"
+ "-X github.com/kubernetes-sigs/cri-tools/pkg/version.Version=v${criCtlVersion}"
+ "-X github.com/containerd/containerd/version.Version=v${containerdVersion}"
+ "-X github.com/containerd/containerd/version.Package=github.com/k3s-io/containerd"
+ ];
+
+ # bundled into the k3s binary
+ traefikChart = fetchurl {
+ url = "https://helm.traefik.io/traefik/traefik-${traefikChartVersion}.tgz";
+ sha256 = traefikChartSha256;
+ };
+ # so, k3s is a complicated thing to package
+ # This derivation attempts to avoid including any random binaries from the
+ # internet. k3s-root is _mostly_ binaries built to be bundled in k3s (which
+ # we don't care about doing, we can add those as build or runtime
+ # dependencies using a real package manager).
+ # In addition to those binaries, it's also configuration though (right now
+ # mostly strongswan configuration), and k3s does use those files.
+ # As such, we download it in order to grab 'etc' and bundle it into the final
+ # k3s binary.
+ k3sRoot = fetchzip {
+ # Note: marked as apache 2.0 license
+ url = "https://github.com/k3s-io/k3s-root/releases/download/v${k3sRootVersion}/k3s-root-amd64.tar";
+ sha256 = k3sRootSha256;
+ stripRoot = false;
+ };
+ k3sCNIPlugins = buildGoModule rec {
+ pname = "k3s-cni-plugins";
+ version = k3sCNIVersion;
+ vendorSha256 = null;
+
+ subPackages = [ "." ];
+
+ src = fetchFromGitHub {
+ owner = "rancher";
+ repo = "plugins";
+ rev = "v${version}";
+ sha256 = k3sCNISha256;
+ };
+
+ postInstall = ''
+ mv $out/bin/plugins $out/bin/cni
+ '';
+
+ meta = baseMeta // {
+ description = "CNI plugins, as patched by rancher for k3s";
+ };
+ };
+ # Grab this separately from a build because it's used by both stages of the
+ # k3s build.
+ k3sRepo = fetchgit {
+ url = "https://github.com/k3s-io/k3s";
+ rev = "v${k3sVersion}";
+ sha256 = k3sRepoSha256;
+ };
+ # Stage 1 of the k3s build:
+ # Let's talk about how k3s is structured.
+ # One of the ideas of k3s is that there's the single "k3s" binary which can
+ # do everything you need, from running a k3s server, to being a worker node,
+ # to running kubectl.
+ # The way that actually works is that k3s is a single go binary that contains
+ # a bunch of bindata that it unpacks at runtime into directories (either the
+ # user's home directory or /var/lib/rancher if run as root).
+ # This bindata includes both binaries and configuration.
+ # In order to let nixpkgs do all its autostripping/patching/etc, we split this into two derivations.
+ # First, we build all the binaries that get packed into the thick k3s binary
+ # (and output them from one derivation so they'll all be suitably patched up).
+ # Then, we bundle those binaries into our thick k3s binary and use that as
+ # the final single output.
+ # This approach was chosen because it ensures the bundled binaries all are
+ # correctly built to run with nix (we can lean on the existing buildGoModule
+ # stuff), and we can again lean on that tooling for the final k3s binary too.
+ # Other alternatives would be to manually run the
+ # strip/patchelf/remove-references step ourselves in the installPhase of the
+ # derivation when we've built all the binaries, but haven't bundled them in
+ # with generated bindata yet.
+
+ k3sServer = buildGoModule rec {
+ pname = "k3s-server";
+ version = k3sVersion;
+
+ src = k3sRepo;
+ vendorSha256 = k3sVendorSha256;
+
+ nativeBuildInputs = [ pkg-config ];
+ buildInputs = [ libseccomp ];
+
+ subPackages = [ "cmd/server" ];
+ ldflags = versionldflags;
+
+ # create the multicall symlinks for k3s
+ postInstall = ''
+ mv $out/bin/server $out/bin/k3s
+ pushd $out
+ # taken verbatim from https://github.com/k3s-io/k3s/blob/v1.23.3%2Bk3s1/scripts/build#L105-L113
+ ln -s k3s ./bin/k3s-agent
+ ln -s k3s ./bin/k3s-server
+ ln -s k3s ./bin/k3s-etcd-snapshot
+ ln -s k3s ./bin/k3s-secrets-encrypt
+ ln -s k3s ./bin/k3s-certificate
+ ln -s k3s ./bin/kubectl
+ ln -s k3s ./bin/crictl
+ ln -s k3s ./bin/ctr
+ popd
+ '';
+
+ meta = baseMeta // {
+ description = "The various binaries that get packaged into the final k3s binary";
+ };
+ };
+ k3sContainerd = buildGoModule {
+ pname = "k3s-containerd";
+ version = containerdVersion;
+ src = fetchFromGitHub {
+ owner = "k3s-io";
+ repo = "containerd";
+ rev = "v${containerdVersion}";
+ sha256 = containerdSha256;
+ };
+ vendorSha256 = null;
+ buildInputs = [ btrfs-progs ];
+ subPackages = [ "cmd/containerd" "cmd/containerd-shim-runc-v2" ];
+ ldflags = versionldflags;
+ };
+in
+buildGoModule rec {
+ pname = "k3s";
+ version = k3sVersion;
+
+ src = k3sRepo;
+ vendorSha256 = k3sVendorSha256;
+
+ patches = [
+ ./0001-script-download-strip-downloading-just-package-CRD.patch
+ ];
+
+ postPatch = ''
+ # Nix prefers dynamically linked binaries over static binary.
+
+ substituteInPlace scripts/package-cli \
+ --replace '"$LDFLAGS $STATIC" -o' \
+ '"$LDFLAGS" -o' \
+ --replace "STATIC=\"-extldflags \'-static\'\"" \
+ ""
+
+ # Upstream codegen fails with trimpath set. Removes "trimpath" for 'go generate':
+
+ substituteInPlace scripts/package-cli \
+ --replace '"''${GO}" generate' \
+ 'GOFLAGS="" \
+ GOOS="${pkgsBuildBuild.go.GOOS}" \
+ GOARCH="${pkgsBuildBuild.go.GOARCH}" \
+ CC="${pkgsBuildBuild.stdenv.cc}/bin/cc" \
+ "''${GO}" generate'
+ '';
+
+ # Important utilities used by the kubelet, see
+ # https://github.com/kubernetes/kubernetes/issues/26093#issuecomment-237202494
+ # Note the list in that issue is stale and some aren't relevant for k3s.
+ k3sRuntimeDeps = [
+ kmod
+ socat
+ iptables
+ iproute2
+ bridge-utils
+ ethtool
+ util-linux # kubelet wants 'nsenter' from util-linux: https://github.com/kubernetes/kubernetes/issues/26093#issuecomment-705994388
+ conntrack-tools
+ ];
+
+ buildInputs = k3sRuntimeDeps;
+
+ nativeBuildInputs = [
+ makeWrapper
+ rsync
+ yq-go
+ zstd
+ ];
+
+ # embedded in the final k3s cli
+ propagatedBuildInputs = [
+ k3sCNIPlugins
+ k3sContainerd
+ k3sServer
+ runc
+ ];
+
+ # We override most of buildPhase due to peculiarities in k3s's build.
+ # Specifically, it has a 'go generate' which runs part of the package. See
+ # this comment:
+ # https://github.com/NixOS/nixpkgs/pull/158089#discussion_r799965694
+ # So, why do we use buildGoModule at all? For the `vendorSha256` / `go mod download` stuff primarily.
+ buildPhase = ''
+ patchShebangs ./scripts/package-cli ./scripts/download ./scripts/build-upload
+
+ # copy needed 'go generate' inputs into place
+ mkdir -p ./bin/aux
+ rsync -a --no-perms ${k3sServer}/bin/ ./bin/
+ ln -vsf ${runc}/bin/runc ./bin/runc
+ ln -vsf ${k3sCNIPlugins}/bin/cni ./bin/cni
+ ln -vsf ${k3sContainerd}/bin/* ./bin/
+ rsync -a --no-perms --chmod u=rwX ${k3sRoot}/etc/ ./etc/
+ mkdir -p ./build/static/charts
+ # Note, upstream's chart has a 00 suffix. This seems to not matter though, so we're ignoring that naming detail.
+ export TRAEFIK_CHART_FILE=${traefikChart}
+ # place the traefik chart using their code since it's complicated
+ # We trim the actual download, see patches
+ ./scripts/download
+
+ export ARCH=$GOARCH
+ export DRONE_TAG="v${k3sVersion}"
+ export DRONE_COMMIT="${k3sCommit}"
+ # use ./scripts/package-cli to run 'go generate' + 'go build'
+
+ ./scripts/package-cli
+ mkdir -p $out/bin
+ '';
+
+ # Otherwise it depends on 'getGoDirs', which is normally set in buildPhase
+ doCheck = false;
+
+ installPhase = ''
+ # wildcard to match the arm64 build too
+ install -m 0755 dist/artifacts/k3s* -D $out/bin/k3s
+ wrapProgram $out/bin/k3s \
+ --prefix PATH : ${lib.makeBinPath k3sRuntimeDeps} \
+ --prefix PATH : "$out/bin"
+ '';
+
+ doInstallCheck = true;
+ installCheckPhase = ''
+ $out/bin/k3s --version | grep -F "v${k3sVersion}" >/dev/null
+ '';
+
+ # Fix-Me: Needs to be adapted specifically for 1.24
+ # passthru.updateScript = ./update.sh;
+
+ # Fix-Me: Needs to be adapted specifically for 1.24
+ # passthru.tests = nixosTests.k3s;
+
+ meta = baseMeta;
+}
diff --git a/pkgs/applications/networking/cluster/k3s/1_25/0001-script-download-strip-downloading-just-package-CRD.patch b/pkgs/applications/networking/cluster/k3s/1_25/0001-script-download-strip-downloading-just-package-CRD.patch
new file mode 100644
index 000000000000..115fd6824772
--- /dev/null
+++ b/pkgs/applications/networking/cluster/k3s/1_25/0001-script-download-strip-downloading-just-package-CRD.patch
@@ -0,0 +1,41 @@
+From 6f53bd36a40da4c71486e3b79f6e32d53d6eea5d Mon Sep 17 00:00:00 2001
+From: Euan Kemp
+Date: Thu, 3 Feb 2022 23:50:40 -0800
+Subject: [PATCH 2/2] scrips/download: strip downloading, just package CRD
+
+The CRD packaging is a complicated set of commands, so let's reuse it.
+---
+ scripts/download | 10 ++--------
+ 1 file changed, 2 insertions(+), 8 deletions(-)
+
+diff --git a/scripts/download b/scripts/download
+index 5effc0562a..82361803ee 100755
+--- a/scripts/download
++++ b/scripts/download
+@@ -24,12 +24,6 @@ rm -rf ${CONTAINERD_DIR}
+ mkdir -p ${CHARTS_DIR}
+ mkdir -p ${DATA_DIR}
+
+-curl --compressed -sfL https://github.com/k3s-io/k3s-root/releases/download/${VERSION_ROOT}/k3s-root-${ARCH}.tar | tar xf - --exclude=bin/socat
+-
+-git clone --single-branch --branch=${VERSION_RUNC} --depth=1 https://github.com/opencontainers/runc ${RUNC_DIR}
+-
+-git clone --single-branch --branch=${VERSION_CONTAINERD} --depth=1 https://github.com/k3s-io/containerd ${CONTAINERD_DIR}
+-
+ setup_tmp() {
+ TMP_DIR=$(mktemp -d --tmpdir=${CHARTS_DIR})
+ cleanup() {
+@@ -44,8 +38,8 @@ setup_tmp() {
+
+ download_and_package_traefik () {
+ echo "Downloading Traefik Helm chart from ${TRAEFIK_URL}"
+- curl -sfL ${TRAEFIK_URL} -o ${TMP_DIR}/${TRAEFIK_FILE}
+- code=$?
++ # nixpkgs: copy in our known traefik chart instead
++ cp $TRAEFIK_CHART_FILE ${TMP_DIR}/${TRAEFIK_FILE}
+
+ if [ $code -ne 0 ]; then
+ echo "Error: Failed to download Traefik Helm chart!"
+--
+2.34.1
+
diff --git a/pkgs/applications/networking/cluster/k3s/1_25/default.nix b/pkgs/applications/networking/cluster/k3s/1_25/default.nix
new file mode 100644
index 000000000000..dc34821fb255
--- /dev/null
+++ b/pkgs/applications/networking/cluster/k3s/1_25/default.nix
@@ -0,0 +1,329 @@
+{ stdenv
+, lib
+, makeWrapper
+, socat
+, iptables
+, iproute2
+, bridge-utils
+, btrfs-progs
+, conntrack-tools
+, buildGoModule
+, runc
+, rsync
+, kmod
+, libseccomp
+, pkg-config
+, ethtool
+, util-linux
+, fetchFromGitHub
+, fetchurl
+, fetchzip
+, fetchgit
+, zstd
+, yq-go
+, nixosTests
+, pkgsBuildBuild
+, k3s
+}:
+
+# k3s is a kinda weird derivation. One of the main points of k3s is the
+# simplicity of it being one binary that can perform several tasks.
+# However, when you have a good package manager (like nix), that doesn't
+# actually make much of a difference; you don't really care if it's one binary
+# or 10 since with a good package manager, installing and running it is
+# identical.
+# Since upstream k3s packages itself as one large binary with several
+# "personalities" (in the form of subcommands like 'k3s agent' and 'k3s
+# kubectl'), it ends up being easiest to mostly mimic upstream packaging, with
+# some exceptions.
+# K3s also carries patches to some packages (such as containerd and cni
+# plugins), so we intentionally use the k3s versions of those binaries for k3s,
+# even if the upstream version of those binaries exist in nixpkgs already. In
+# the end, that means we have a thick k3s binary that behaves like the upstream
+# one for the most part.
+# However, k3s also bundles several pieces of unpatched software, from the
+# strongswan vpn software, to iptables, to socat, conntrack, busybox, etc.
+# Those pieces of software we entirely ignore upstream's handling of, and just
+# make sure they're in the path if desired.
+let
+ k3sVersion = "1.25.3+k3s1"; # k3s git tag
+ k3sCommit = "f2585c1671b31b4b34bddbb3bf4e7d69662b0821"; # k3s git commit at the above version
+ k3sRepoSha256 = "0zwf3iwjcidx14zw36s1hr0q8wmmbfc0rfqwd7fmpjq597h8zkms";
+ k3sVendorSha256 = "sha256-U67tJRGqPFk5AfRe7I50zKGC9HJ2oh+iI/C7qF/76BQ=";
+
+ # taken from ./manifests/traefik.yaml, extracted from '.spec.chart' https://github.com/k3s-io/k3s/blob/v1.23.3%2Bk3s1/scripts/download#L9
+ # The 'patch' and 'minor' versions are currently hardcoded as single digits only, so ignore the trailing two digits. Weird, I know.
+ traefikChartVersion = "12.0.0";
+ traefikChartSha256 = "1sqmi71fi3ad5dh5fmsp9mv80x6pkgqwi4r9fr8l6i9sdnai6f1a";
+
+ # taken from ./scripts/version.sh VERSION_ROOT https://github.com/k3s-io/k3s/blob/v1.23.3%2Bk3s1/scripts/version.sh#L47
+ k3sRootVersion = "0.11.0";
+ k3sRootSha256 = "016n56vi09xkvjph7wgzb2m86mhd5x65fs4d11pmh20hl249r620";
+
+ # taken from ./scripts/version.sh VERSION_CNIPLUGINS https://github.com/k3s-io/k3s/blob/v1.23.3%2Bk3s1/scripts/version.sh#L45
+ k3sCNIVersion = "1.1.1-k3s1";
+ k3sCNISha256 = "14mb3zsqibj1sn338gjmsyksbm0mxv9p016dij7zidccx2rzn6nl";
+
+ # taken from go.mod, the 'github.com/containerd/containerd' line
+ # run `grep github.com/containerd/containerd go.mod | head -n1 | awk '{print $4}'`
+ containerdVersion = "1.5.13-k3s2";
+ containerdSha256 = "1pfr2ji4aij9js90gf4a3hqnhyw5hshcjdccm62l700j68gs5z97";
+
+ # run `grep github.com/kubernetes-sigs/cri-tools go.mod | head -n1 | awk '{print $4}'` in the k3s repo at the tag
+ criCtlVersion = "1.25.0-k3s1";
+
+ baseMeta = k3s.meta;
+
+ # https://github.com/k3s-io/k3s/blob/5fb370e53e0014dc96183b8ecb2c25a61e891e76/scripts/build#L19-L40
+ versionldflags = [
+ "-X github.com/rancher/k3s/pkg/version.Version=v${k3sVersion}"
+ "-X github.com/rancher/k3s/pkg/version.GitCommit=${lib.substring 0 8 k3sCommit}"
+ "-X k8s.io/client-go/pkg/version.gitVersion=v${k3sVersion}"
+ "-X k8s.io/client-go/pkg/version.gitCommit=${k3sCommit}"
+ "-X k8s.io/client-go/pkg/version.gitTreeState=clean"
+ "-X k8s.io/client-go/pkg/version.buildDate=1970-01-01T01:01:01Z"
+ "-X k8s.io/component-base/version.gitVersion=v${k3sVersion}"
+ "-X k8s.io/component-base/version.gitCommit=${k3sCommit}"
+ "-X k8s.io/component-base/version.gitTreeState=clean"
+ "-X k8s.io/component-base/version.buildDate=1970-01-01T01:01:01Z"
+ "-X github.com/kubernetes-sigs/cri-tools/pkg/version.Version=v${criCtlVersion}"
+ "-X github.com/containerd/containerd/version.Version=v${containerdVersion}"
+ "-X github.com/containerd/containerd/version.Package=github.com/k3s-io/containerd"
+ ];
+
+ # bundled into the k3s binary
+ traefikChart = fetchurl {
+ url = "https://helm.traefik.io/traefik/traefik-${traefikChartVersion}.tgz";
+ sha256 = traefikChartSha256;
+ };
+ # so, k3s is a complicated thing to package
+ # This derivation attempts to avoid including any random binaries from the
+ # internet. k3s-root is _mostly_ binaries built to be bundled in k3s (which
+ # we don't care about doing, we can add those as build or runtime
+ # dependencies using a real package manager).
+ # In addition to those binaries, it's also configuration though (right now
+ # mostly strongswan configuration), and k3s does use those files.
+ # As such, we download it in order to grab 'etc' and bundle it into the final
+ # k3s binary.
+ k3sRoot = fetchzip {
+ # Note: marked as apache 2.0 license
+ url = "https://github.com/k3s-io/k3s-root/releases/download/v${k3sRootVersion}/k3s-root-amd64.tar";
+ sha256 = k3sRootSha256;
+ stripRoot = false;
+ };
+ k3sCNIPlugins = buildGoModule rec {
+ pname = "k3s-cni-plugins";
+ version = k3sCNIVersion;
+ vendorSha256 = null;
+
+ subPackages = [ "." ];
+
+ src = fetchFromGitHub {
+ owner = "rancher";
+ repo = "plugins";
+ rev = "v${version}";
+ sha256 = k3sCNISha256;
+ };
+
+ postInstall = ''
+ mv $out/bin/plugins $out/bin/cni
+ '';
+
+ meta = baseMeta // {
+ description = "CNI plugins, as patched by rancher for k3s";
+ };
+ };
+ # Grab this separately from a build because it's used by both stages of the
+ # k3s build.
+ k3sRepo = fetchgit {
+ url = "https://github.com/k3s-io/k3s";
+ rev = "v${k3sVersion}";
+ sha256 = k3sRepoSha256;
+ };
+ # Stage 1 of the k3s build:
+ # Let's talk about how k3s is structured.
+ # One of the ideas of k3s is that there's the single "k3s" binary which can
+ # do everything you need, from running a k3s server, to being a worker node,
+ # to running kubectl.
+ # The way that actually works is that k3s is a single go binary that contains
+ # a bunch of bindata that it unpacks at runtime into directories (either the
+ # user's home directory or /var/lib/rancher if run as root).
+ # This bindata includes both binaries and configuration.
+ # In order to let nixpkgs do all its autostripping/patching/etc, we split this into two derivations.
+ # First, we build all the binaries that get packed into the thick k3s binary
+ # (and output them from one derivation so they'll all be suitably patched up).
+ # Then, we bundle those binaries into our thick k3s binary and use that as
+ # the final single output.
+ # This approach was chosen because it ensures the bundled binaries all are
+ # correctly built to run with nix (we can lean on the existing buildGoModule
+ # stuff), and we can again lean on that tooling for the final k3s binary too.
+ # Other alternatives would be to manually run the
+ # strip/patchelf/remove-references step ourselves in the installPhase of the
+ # derivation when we've built all the binaries, but haven't bundled them in
+ # with generated bindata yet.
+
+ k3sServer = buildGoModule rec {
+ pname = "k3s-server";
+ version = k3sVersion;
+
+ src = k3sRepo;
+ vendorSha256 = k3sVendorSha256;
+
+ nativeBuildInputs = [ pkg-config ];
+ buildInputs = [ libseccomp ];
+
+ subPackages = [ "cmd/server" ];
+ ldflags = versionldflags;
+
+ # create the multicall symlinks for k3s
+ postInstall = ''
+ mv $out/bin/server $out/bin/k3s
+ pushd $out
+ # taken verbatim from https://github.com/k3s-io/k3s/blob/v1.23.3%2Bk3s1/scripts/build#L105-L113
+ ln -s k3s ./bin/k3s-agent
+ ln -s k3s ./bin/k3s-server
+ ln -s k3s ./bin/k3s-etcd-snapshot
+ ln -s k3s ./bin/k3s-secrets-encrypt
+ ln -s k3s ./bin/k3s-certificate
+ ln -s k3s ./bin/kubectl
+ ln -s k3s ./bin/crictl
+ ln -s k3s ./bin/ctr
+ popd
+ '';
+
+ meta = baseMeta // {
+ description = "The various binaries that get packaged into the final k3s binary";
+ };
+ };
+ k3sContainerd = buildGoModule {
+ pname = "k3s-containerd";
+ version = containerdVersion;
+ src = fetchFromGitHub {
+ owner = "k3s-io";
+ repo = "containerd";
+ rev = "v${containerdVersion}";
+ sha256 = containerdSha256;
+ };
+ vendorSha256 = null;
+ buildInputs = [ btrfs-progs ];
+ subPackages = [ "cmd/containerd" "cmd/containerd-shim-runc-v2" ];
+ ldflags = versionldflags;
+ };
+in
+buildGoModule rec {
+ pname = "k3s";
+ version = k3sVersion;
+
+ src = k3sRepo;
+ vendorSha256 = k3sVendorSha256;
+
+ patches = [
+ ./0001-script-download-strip-downloading-just-package-CRD.patch
+ ];
+
+ postPatch = ''
+ # Nix prefers dynamically linked binaries over static binary.
+
+ substituteInPlace scripts/package-cli \
+ --replace '"$LDFLAGS $STATIC" -o' \
+ '"$LDFLAGS" -o' \
+ --replace "STATIC=\"-extldflags \'-static\'\"" \
+ ""
+
+ # Upstream codegen fails with trimpath set. Removes "trimpath" for 'go generate':
+
+ substituteInPlace scripts/package-cli \
+ --replace '"''${GO}" generate' \
+ 'GOFLAGS="" \
+ GOOS="${pkgsBuildBuild.go.GOOS}" \
+ GOARCH="${pkgsBuildBuild.go.GOARCH}" \
+ CC="${pkgsBuildBuild.stdenv.cc}/bin/cc" \
+ "''${GO}" generate'
+ '';
+
+ # Important utilities used by the kubelet, see
+ # https://github.com/kubernetes/kubernetes/issues/26093#issuecomment-237202494
+ # Note the list in that issue is stale and some aren't relevant for k3s.
+ k3sRuntimeDeps = [
+ kmod
+ socat
+ iptables
+ iproute2
+ bridge-utils
+ ethtool
+ util-linux # kubelet wants 'nsenter' from util-linux: https://github.com/kubernetes/kubernetes/issues/26093#issuecomment-705994388
+ conntrack-tools
+ ];
+
+ buildInputs = k3sRuntimeDeps;
+
+ nativeBuildInputs = [
+ makeWrapper
+ rsync
+ yq-go
+ zstd
+ ];
+
+ # embedded in the final k3s cli
+ propagatedBuildInputs = [
+ k3sCNIPlugins
+ k3sContainerd
+ k3sServer
+ runc
+ ];
+
+ # We override most of buildPhase due to peculiarities in k3s's build.
+ # Specifically, it has a 'go generate' which runs part of the package. See
+ # this comment:
+ # https://github.com/NixOS/nixpkgs/pull/158089#discussion_r799965694
+ # So, why do we use buildGoModule at all? For the `vendorSha256` / `go mod download` stuff primarily.
+ buildPhase = ''
+ patchShebangs ./scripts/package-cli ./scripts/download ./scripts/build-upload
+
+ # copy needed 'go generate' inputs into place
+ mkdir -p ./bin/aux
+ rsync -a --no-perms ${k3sServer}/bin/ ./bin/
+ ln -vsf ${runc}/bin/runc ./bin/runc
+ ln -vsf ${k3sCNIPlugins}/bin/cni ./bin/cni
+ ln -vsf ${k3sContainerd}/bin/* ./bin/
+ rsync -a --no-perms --chmod u=rwX ${k3sRoot}/etc/ ./etc/
+ mkdir -p ./build/static/charts
+ # Note, upstream's chart has a 00 suffix. This seems to not matter though, so we're ignoring that naming detail.
+ export TRAEFIK_CHART_FILE=${traefikChart}
+ # place the traefik chart using their code since it's complicated
+ # We trim the actual download, see patches
+ ./scripts/download
+
+ export ARCH=$GOARCH
+ export DRONE_TAG="v${k3sVersion}"
+ export DRONE_COMMIT="${k3sCommit}"
+ # use ./scripts/package-cli to run 'go generate' + 'go build'
+
+ ./scripts/package-cli
+ mkdir -p $out/bin
+ '';
+
+ # Otherwise it depends on 'getGoDirs', which is normally set in buildPhase
+ doCheck = false;
+
+ installPhase = ''
+ # wildcard to match the arm64 build too
+ install -m 0755 dist/artifacts/k3s* -D $out/bin/k3s
+ wrapProgram $out/bin/k3s \
+ --prefix PATH : ${lib.makeBinPath k3sRuntimeDeps} \
+ --prefix PATH : "$out/bin"
+ '';
+
+ doInstallCheck = true;
+ installCheckPhase = ''
+ $out/bin/k3s --version | grep -F "v${k3sVersion}" >/dev/null
+ '';
+
+ # Fix-Me: Needs to be adapted specifically for 1.25
+ # passthru.updateScript = ./update.sh;
+
+ # Fix-Me: Needs to be adapted specifically for 1.25
+ # passthru.tests = nixosTests.k3s;
+
+ meta = baseMeta;
+}
diff --git a/pkgs/applications/networking/cluster/k3s/chart-versions.nix b/pkgs/applications/networking/cluster/k3s/1_26/chart-versions.nix
similarity index 100%
rename from pkgs/applications/networking/cluster/k3s/chart-versions.nix
rename to pkgs/applications/networking/cluster/k3s/1_26/chart-versions.nix
diff --git a/pkgs/applications/networking/cluster/k3s/default.nix b/pkgs/applications/networking/cluster/k3s/1_26/default.nix
similarity index 100%
rename from pkgs/applications/networking/cluster/k3s/default.nix
rename to pkgs/applications/networking/cluster/k3s/1_26/default.nix
diff --git a/pkgs/applications/networking/cluster/k3s/update.sh b/pkgs/applications/networking/cluster/k3s/1_26/update.sh
similarity index 100%
rename from pkgs/applications/networking/cluster/k3s/update.sh
rename to pkgs/applications/networking/cluster/k3s/1_26/update.sh
diff --git a/pkgs/applications/networking/cluster/temporal/default.nix b/pkgs/applications/networking/cluster/temporal/default.nix
index 0b1077443a49..6a2c39de113c 100644
--- a/pkgs/applications/networking/cluster/temporal/default.nix
+++ b/pkgs/applications/networking/cluster/temporal/default.nix
@@ -2,16 +2,18 @@
buildGoModule rec {
pname = "temporal";
- version = "1.17.5";
+ version = "1.19.1";
src = fetchFromGitHub {
owner = "temporalio";
repo = "temporal";
rev = "v${version}";
- sha256 = "sha256-u8GyaXpiVZdPDoPAqIa+TY+JQFZeSGOLrUy+e3E4kig=";
+ hash = "sha256-j2+K/ZDDNakofrToxhyA1gh534l3Eq6G/fNXE0ktceY=";
};
- vendorSha256 = "sha256-MT/BmGTdyEzmXjuwlA6WhLIWlrQz3Wc4Tl5dMI1587Q=";
+ vendorHash = "sha256-KkgyL37VJy1DhfCB5RJpjczBPbzQwt1xsovQ0xCXGr4=";
+
+ excludedPackages = [ "./build" ];
CGO_ENABLED = 0;
@@ -26,6 +28,7 @@ buildGoModule rec {
install -Dm755 "$GOPATH/bin/server" -T $out/bin/temporal-server
install -Dm755 "$GOPATH/bin/cassandra" -T $out/bin/temporal-cassandra-tool
install -Dm755 "$GOPATH/bin/sql" -T $out/bin/temporal-sql-tool
+ install -Dm755 "$GOPATH/bin/tdbg" -T $out/bin/tdbg
runHook postInstall
'';
diff --git a/pkgs/applications/networking/cluster/terraform-providers/providers.json b/pkgs/applications/networking/cluster/terraform-providers/providers.json
index b7587ebd0677..ffd23a5ca7ff 100644
--- a/pkgs/applications/networking/cluster/terraform-providers/providers.json
+++ b/pkgs/applications/networking/cluster/terraform-providers/providers.json
@@ -812,11 +812,11 @@
"vendorHash": "sha256-LRIfxQGwG988HE5fftGl6JmBG7tTknvmgpm4Fu1NbWI="
},
"oci": {
- "hash": "sha256-L8y00f+57hndpVevliJ2kNqpGeNR2Jv/FHbqkAUIRMI=",
+ "hash": "sha256-ecel4aXOqkPmeOzG5G/D8vmjo2HP9TG+c8H27pCYn2g=",
"homepage": "https://registry.terraform.io/providers/oracle/oci",
"owner": "oracle",
"repo": "terraform-provider-oci",
- "rev": "v4.105.0",
+ "rev": "v4.106.0",
"spdx": "MPL-2.0",
"vendorHash": null
},
@@ -1091,11 +1091,11 @@
"vendorHash": "sha256-2wPmLpjhG6QgG+BUCO0oIzHjBOWIOYuptgdtSIm9TZw="
},
"tencentcloud": {
- "hash": "sha256-QJUxLwKG3XabACbAvLLKBG9+cmCYRQFpRTWRU6rKwfI=",
+ "hash": "sha256-yVI1f86Gpkwl3jCAs5d54rZS8lM7cjbwWq+HUXwi8EU=",
"homepage": "https://registry.terraform.io/providers/tencentcloudstack/tencentcloud",
"owner": "tencentcloudstack",
"repo": "terraform-provider-tencentcloud",
- "rev": "v1.79.7",
+ "rev": "v1.79.8",
"spdx": "MPL-2.0",
"vendorHash": null
},
diff --git a/pkgs/applications/networking/cluster/velero/default.nix b/pkgs/applications/networking/cluster/velero/default.nix
index bc4f1959eaac..dcb4dd9eb08d 100644
--- a/pkgs/applications/networking/cluster/velero/default.nix
+++ b/pkgs/applications/networking/cluster/velero/default.nix
@@ -2,14 +2,14 @@
buildGoModule rec {
pname = "velero";
- version = "1.10.0";
+ version = "1.10.1";
src = fetchFromGitHub {
owner = "vmware-tanzu";
repo = "velero";
rev = "v${version}";
- sha256 = "sha256-PBCTVws5N42q68rKcMLW7GgZvdsQgmdlsKMpJ5bCF00=";
+ sha256 = "sha256-jN45chUeoGJGJWD6Rj6duNE36/QCzPqci8V3h1OHtw4=";
};
ldflags = [
@@ -20,7 +20,7 @@ buildGoModule rec {
"-X github.com/vmware-tanzu/velero/pkg/buildinfo.GitSHA=none"
];
- vendorSha256 = "sha256-5Po8TRCE6VP+RcaIJImYjElTMHHS/2JwbrHreeWLxio=";
+ vendorHash = "sha256-mvVwf4w/65L+F6aiTNf2jmJtaT1EpWCQJ6r9NHUUUqQ=";
excludedPackages = [ "issue-template-gen" "release-tools" "v1" "velero-restic-restore-helper" ];
diff --git a/pkgs/applications/networking/feedreaders/rssguard/default.nix b/pkgs/applications/networking/feedreaders/rssguard/default.nix
index f1225f87eefb..57cf5e20bcd5 100644
--- a/pkgs/applications/networking/feedreaders/rssguard/default.nix
+++ b/pkgs/applications/networking/feedreaders/rssguard/default.nix
@@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "rssguard";
- version = "4.3.1";
+ version = "4.3.2";
src = fetchFromGitHub {
owner = "martinrotter";
repo = pname;
rev = version;
- sha256 = "sha256-hfUtxPGPhPC2VgGLLIaYHlEMpXHAPZ5fkLL0glhyQcY=";
+ sha256 = "sha256-2h9fVah0WZ8X0GsCLtiUWRan1Gkl4WBxuEQ3gx4FFBo=";
};
buildInputs = [ qtwebengine qttools ];
diff --git a/pkgs/applications/networking/instant-messengers/element/keytar/default.nix b/pkgs/applications/networking/instant-messengers/element/keytar/default.nix
index 362d7a096bfb..6e462ef24dbe 100644
--- a/pkgs/applications/networking/instant-messengers/element/keytar/default.nix
+++ b/pkgs/applications/networking/instant-messengers/element/keytar/default.nix
@@ -1,5 +1,5 @@
{ lib, stdenv, fetchFromGitHub, nodejs, python3, callPackage, removeReferencesTo
-, fixup_yarn_lock, yarn, pkg-config, libsecret, xcbuild, Security, AppKit, fetchYarnDeps }:
+, pkg-config, libsecret, xcbuild, Security, AppKit, fetchNpmDeps, npmHooks }:
let
pinData = lib.importJSON ./pin.json;
@@ -15,39 +15,26 @@ in stdenv.mkDerivation rec {
sha256 = pinData.srcHash;
};
- nativeBuildInputs = [ nodejs python3 yarn pkg-config ]
+ nativeBuildInputs = [
+ nodejs python3 pkg-config
+ npmHooks.npmConfigHook
+ ]
++ lib.optional stdenv.isDarwin xcbuild;
+
buildInputs = lib.optionals (!stdenv.isDarwin) [ libsecret ]
++ lib.optionals stdenv.isDarwin [ Security AppKit ];
- npm_config_nodedir = nodejs;
-
- yarnOfflineCache = fetchYarnDeps {
- yarnLock = ./yarn.lock;
- sha256 = pinData.yarnHash;
+ npmDeps = fetchNpmDeps {
+ inherit src;
+ hash = pinData.npmHash;
};
- buildPhase = ''
- runHook preBuild
- cp ${./yarn.lock} ./yarn.lock
- chmod u+w . ./yarn.lock
- export HOME=$PWD/tmp
- mkdir -p $HOME
- yarn config --offline set yarn-offline-mirror $yarnOfflineCache
- ${fixup_yarn_lock}/bin/fixup_yarn_lock yarn.lock
- yarn install --offline --frozen-lockfile --ignore-platform --ignore-scripts --no-progress --non-interactive
- patchShebangs node_modules/
- node_modules/.bin/node-gyp rebuild
- runHook postBuild
- '';
-
doCheck = false;
installPhase = ''
runHook preInstall
shopt -s extglob
rm -rf node_modules
- rm -rf $HOME
mkdir -p $out
cp -r ./!(build) $out
install -D -t $out/build/Release build/Release/keytar.node
diff --git a/pkgs/applications/networking/instant-messengers/element/keytar/pin.json b/pkgs/applications/networking/instant-messengers/element/keytar/pin.json
index fa2e95d4e1a0..dc7420ab4543 100644
--- a/pkgs/applications/networking/instant-messengers/element/keytar/pin.json
+++ b/pkgs/applications/networking/instant-messengers/element/keytar/pin.json
@@ -1,5 +1,5 @@
{
- "version": "7.7.0",
- "srcHash": "sd6h+vDJGvmXFhOm4MDAljb4dAOMBB8W1IL7JSfJWyo=",
- "yarnHash": "1m75hvl06mcj260hicbmv75p94h73gw5d24zpm5wxwc0q8v8wzfl"
+ "version": "7.9.0",
+ "srcHash": "Mnl0Im2hZJXJEtyXb5rgMntekkUAnOG2MN1bwfgh0eg=",
+ "npmHash": "sha256-ldfRWV+HXBdBYO2ZiGbVFSHV4/bMG43U7w+sJ4kpVUY="
}
diff --git a/pkgs/applications/networking/instant-messengers/element/keytar/update.sh b/pkgs/applications/networking/instant-messengers/element/keytar/update.sh
index d18cc7d0e8bf..0ddfa0247263 100755
--- a/pkgs/applications/networking/instant-messengers/element/keytar/update.sh
+++ b/pkgs/applications/networking/instant-messengers/element/keytar/update.sh
@@ -1,5 +1,5 @@
#!/usr/bin/env nix-shell
-#!nix-shell -I nixpkgs=../../../../../../ -i bash -p wget prefetch-yarn-deps yarn
+#!nix-shell -I nixpkgs=../../../../../../ -i bash -p wget prefetch-npm-deps
if [ "$#" -gt 1 ] || [[ "$1" == -* ]]; then
echo "Regenerates packaging data for the keytar package."
@@ -22,10 +22,8 @@ SRC="https://raw.githubusercontent.com/atom/node-keytar/v$version"
wget "$SRC/package-lock.json"
wget "$SRC/package.json"
-rm -f yarn.lock
-yarn import
+npm_hash=$(prefetch-npm-deps package-lock.json)
rm -rf node_modules package.json package-lock.json
-yarn_hash=$(prefetch-yarn-deps yarn.lock)
src_hash=$(nix-prefetch-github atom node-keytar --rev v${version} | jq -r .sha256)
@@ -33,6 +31,6 @@ cat > pin.json << EOF
{
"version": "$version",
"srcHash": "$src_hash",
- "yarnHash": "$yarn_hash"
+ "npmHash": "$npm_hash"
}
EOF
diff --git a/pkgs/applications/networking/instant-messengers/element/keytar/yarn.lock b/pkgs/applications/networking/instant-messengers/element/keytar/yarn.lock
deleted file mode 100644
index 5a3abec6ded8..000000000000
--- a/pkgs/applications/networking/instant-messengers/element/keytar/yarn.lock
+++ /dev/null
@@ -1,2531 +0,0 @@
-# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
-# yarn lockfile v1
-
-
-"@ungap/promise-all-settled@1.1.2":
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz#aa58042711d6e3275dd37dc597e5d31e8c290a44"
- integrity sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==
-
-abbrev@1:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.0.tgz#d0554c2256636e2f56e7c2e5ad183f859428d81f"
- integrity sha1-0FVMIlZjbi9W58LlrRg/hZQo2B8=
-
-after@~0.8.1:
- version "0.8.2"
- resolved "https://registry.yarnpkg.com/after/-/after-0.8.2.tgz#fedb394f9f0e02aa9768e702bda23b505fae7e1f"
- integrity sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8=
-
-ajv@^6.12.3:
- version "6.12.4"
- resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.4.tgz#0614facc4522127fa713445c6bfd3ebd376e2234"
- integrity sha512-eienB2c9qVQs2KWexhkrdMLVDoIQCz5KSeLxwg9Lzk4DOfBtIK9PQwwufcsn1jjGuf9WZmqPMbGxOzfcuphJCQ==
- dependencies:
- fast-deep-equal "^3.1.1"
- fast-json-stable-stringify "^2.0.0"
- json-schema-traverse "^0.4.1"
- uri-js "^4.2.2"
-
-amdefine@>=0.0.4:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5"
- integrity sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=
-
-ansi-colors@4.1.1:
- version "4.1.1"
- resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348"
- integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==
-
-ansi-regex@^2.0.0:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df"
- integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8=
-
-ansi-regex@^5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75"
- integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==
-
-ansi-styles@^2.2.1:
- version "2.2.1"
- resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe"
- integrity sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=
-
-ansi-styles@^4.0.0, ansi-styles@^4.1.0:
- version "4.3.0"
- resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937"
- integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==
- dependencies:
- color-convert "^2.0.1"
-
-ansi@^0.3.0, ansi@~0.3.0, ansi@~0.3.1:
- version "0.3.1"
- resolved "https://registry.yarnpkg.com/ansi/-/ansi-0.3.1.tgz#0c42d4fb17160d5a9af1e484bace1c66922c1b21"
- integrity sha1-DELU+xcWDVqa8eSEus4cZpIsGyE=
-
-anymatch@~3.1.1:
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.1.tgz#c55ecf02185e2469259399310c173ce31233b142"
- integrity sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==
- dependencies:
- normalize-path "^3.0.0"
- picomatch "^2.0.4"
-
-aproba@^1.0.3:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.1.2.tgz#45c6629094de4e96f693ef7eab74ae079c240fc1"
- integrity sha512-ZpYajIfO0j2cOFTO955KUMIKNmj6zhX8kVztMAxFsDaMwz+9Z9SV0uou2pC9HJqcfpffOsjnbrDMvkNy+9RXPw==
-
-are-we-there-yet@~1.0.0:
- version "1.0.6"
- resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.0.6.tgz#a2d28c93102aa6cc96245a26cb954de06ec53f0c"
- integrity sha1-otKMkxAqpsyWJFomy5VN4G7FPww=
- dependencies:
- delegates "^1.0.0"
- readable-stream "^2.0.0 || ^1.1.13"
-
-are-we-there-yet@~1.1.2:
- version "1.1.4"
- resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz#bb5dca382bb94f05e15194373d16fd3ba1ca110d"
- integrity sha1-u13KOCu5TwXhUZQ3PRb9O6HKEQ0=
- dependencies:
- delegates "^1.0.0"
- readable-stream "^2.0.6"
-
-argparse@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38"
- integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==
-
-array-index@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/array-index/-/array-index-1.0.0.tgz#ec56a749ee103e4e08c790b9c353df16055b97f9"
- integrity sha1-7FanSe4QPk4Ix5C5w1PfFgVbl/k=
- dependencies:
- debug "^2.2.0"
- es6-symbol "^3.0.2"
-
-asn1@~0.2.3:
- version "0.2.3"
- resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86"
- integrity sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=
-
-assert-plus@1.0.0, assert-plus@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525"
- integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=
-
-assertion-error@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.1.0.tgz#e60b6b0e8f301bd97e5375215bda406c85118c0b"
- integrity sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==
-
-asynckit@^0.4.0:
- version "0.4.0"
- resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
- integrity sha1-x57Zf380y48robyXkLzDZkdLS3k=
-
-aws-sign2@~0.7.0:
- version "0.7.0"
- resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8"
- integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=
-
-aws4@^1.8.0:
- version "1.10.1"
- resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.10.1.tgz#e1e82e4f3e999e2cfd61b161280d16a111f86428"
- integrity sha512-zg7Hz2k5lI8kb7U32998pRRFin7zJlkfezGJjUc2heaD4Pw2wObakCDVzkKztTm/Ln7eiVvYsjqak0Ed4LkMDA==
-
-babel-code-frame@^6.26.0:
- version "6.26.0"
- resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b"
- integrity sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=
- dependencies:
- chalk "^1.1.3"
- esutils "^2.0.2"
- js-tokens "^3.0.2"
-
-babel-core@^6.26.0, babel-core@^6.26.3:
- version "6.26.3"
- resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.26.3.tgz#b2e2f09e342d0f0c88e2f02e067794125e75c207"
- integrity sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==
- dependencies:
- babel-code-frame "^6.26.0"
- babel-generator "^6.26.0"
- babel-helpers "^6.24.1"
- babel-messages "^6.23.0"
- babel-register "^6.26.0"
- babel-runtime "^6.26.0"
- babel-template "^6.26.0"
- babel-traverse "^6.26.0"
- babel-types "^6.26.0"
- babylon "^6.18.0"
- convert-source-map "^1.5.1"
- debug "^2.6.9"
- json5 "^0.5.1"
- lodash "^4.17.4"
- minimatch "^3.0.4"
- path-is-absolute "^1.0.1"
- private "^0.1.8"
- slash "^1.0.0"
- source-map "^0.5.7"
-
-babel-generator@^6.26.0:
- version "6.26.1"
- resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.26.1.tgz#1844408d3b8f0d35a404ea7ac180f087a601bd90"
- integrity sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==
- dependencies:
- babel-messages "^6.23.0"
- babel-runtime "^6.26.0"
- babel-types "^6.26.0"
- detect-indent "^4.0.0"
- jsesc "^1.3.0"
- lodash "^4.17.4"
- source-map "^0.5.7"
- trim-right "^1.0.1"
-
-babel-helper-function-name@^6.24.1:
- version "6.24.1"
- resolved "https://registry.yarnpkg.com/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz#d3475b8c03ed98242a25b48351ab18399d3580a9"
- integrity sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=
- dependencies:
- babel-helper-get-function-arity "^6.24.1"
- babel-runtime "^6.22.0"
- babel-template "^6.24.1"
- babel-traverse "^6.24.1"
- babel-types "^6.24.1"
-
-babel-helper-get-function-arity@^6.24.1:
- version "6.24.1"
- resolved "https://registry.yarnpkg.com/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz#8f7782aa93407c41d3aa50908f89b031b1b6853d"
- integrity sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=
- dependencies:
- babel-runtime "^6.22.0"
- babel-types "^6.24.1"
-
-babel-helper-remap-async-to-generator@^6.24.1:
- version "6.24.1"
- resolved "https://registry.yarnpkg.com/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz#5ec581827ad723fecdd381f1c928390676e4551b"
- integrity sha1-XsWBgnrXI/7N04HxySg5BnbkVRs=
- dependencies:
- babel-helper-function-name "^6.24.1"
- babel-runtime "^6.22.0"
- babel-template "^6.24.1"
- babel-traverse "^6.24.1"
- babel-types "^6.24.1"
-
-babel-helpers@^6.24.1:
- version "6.24.1"
- resolved "https://registry.yarnpkg.com/babel-helpers/-/babel-helpers-6.24.1.tgz#3471de9caec388e5c850e597e58a26ddf37602b2"
- integrity sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=
- dependencies:
- babel-runtime "^6.22.0"
- babel-template "^6.24.1"
-
-babel-messages@^6.23.0:
- version "6.23.0"
- resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.23.0.tgz#f3cdf4703858035b2a2951c6ec5edf6c62f2630e"
- integrity sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=
- dependencies:
- babel-runtime "^6.22.0"
-
-babel-plugin-syntax-async-functions@^6.8.0:
- version "6.13.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz#cad9cad1191b5ad634bf30ae0872391e0647be95"
- integrity sha1-ytnK0RkbWtY0vzCuCHI5HgZHvpU=
-
-babel-plugin-transform-async-to-generator@^6.24.1:
- version "6.24.1"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz#6536e378aff6cb1d5517ac0e40eb3e9fc8d08761"
- integrity sha1-ZTbjeK/2yx1VF6wOQOs+n8jQh2E=
- dependencies:
- babel-helper-remap-async-to-generator "^6.24.1"
- babel-plugin-syntax-async-functions "^6.8.0"
- babel-runtime "^6.22.0"
-
-babel-register@^6.26.0:
- version "6.26.0"
- resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.26.0.tgz#6ed021173e2fcb486d7acb45c6009a856f647071"
- integrity sha1-btAhFz4vy0htestFxgCahW9kcHE=
- dependencies:
- babel-core "^6.26.0"
- babel-runtime "^6.26.0"
- core-js "^2.5.0"
- home-or-tmp "^2.0.0"
- lodash "^4.17.4"
- mkdirp "^0.5.1"
- source-map-support "^0.4.15"
-
-babel-runtime@^6.22.0:
- version "6.23.0"
- resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.23.0.tgz#0a9489f144de70efb3ce4300accdb329e2fc543b"
- integrity sha1-CpSJ8UTecO+zzkMArM2zKeL8VDs=
- dependencies:
- core-js "^2.4.0"
- regenerator-runtime "^0.10.0"
-
-babel-runtime@^6.26.0:
- version "6.26.0"
- resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe"
- integrity sha1-llxwWGaOgrVde/4E/yM3vItWR/4=
- dependencies:
- core-js "^2.4.0"
- regenerator-runtime "^0.11.0"
-
-babel-template@^6.24.1, babel-template@^6.26.0:
- version "6.26.0"
- resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.26.0.tgz#de03e2d16396b069f46dd9fff8521fb1a0e35e02"
- integrity sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=
- dependencies:
- babel-runtime "^6.26.0"
- babel-traverse "^6.26.0"
- babel-types "^6.26.0"
- babylon "^6.18.0"
- lodash "^4.17.4"
-
-babel-traverse@^6.24.1, babel-traverse@^6.26.0:
- version "6.26.0"
- resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.26.0.tgz#46a9cbd7edcc62c8e5c064e2d2d8d0f4035766ee"
- integrity sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=
- dependencies:
- babel-code-frame "^6.26.0"
- babel-messages "^6.23.0"
- babel-runtime "^6.26.0"
- babel-types "^6.26.0"
- babylon "^6.18.0"
- debug "^2.6.8"
- globals "^9.18.0"
- invariant "^2.2.2"
- lodash "^4.17.4"
-
-babel-types@^6.24.1:
- version "6.25.0"
- resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.25.0.tgz#70afb248d5660e5d18f811d91c8303b54134a18e"
- integrity sha1-cK+ySNVmDl0Y+BHZHIMDtUE0oY4=
- dependencies:
- babel-runtime "^6.22.0"
- esutils "^2.0.2"
- lodash "^4.2.0"
- to-fast-properties "^1.0.1"
-
-babel-types@^6.26.0:
- version "6.26.0"
- resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.26.0.tgz#a3b073f94ab49eb6fa55cd65227a334380632497"
- integrity sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=
- dependencies:
- babel-runtime "^6.26.0"
- esutils "^2.0.2"
- lodash "^4.17.4"
- to-fast-properties "^1.0.3"
-
-babylon@^6.18.0:
- version "6.18.0"
- resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3"
- integrity sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==
-
-balanced-match@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767"
- integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c=
-
-base64-js@^1.3.1:
- version "1.5.1"
- resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a"
- integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==
-
-bcrypt-pbkdf@^1.0.0:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e"
- integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=
- dependencies:
- tweetnacl "^0.14.3"
-
-big-integer@^1.6.17:
- version "1.6.48"
- resolved "https://registry.yarnpkg.com/big-integer/-/big-integer-1.6.48.tgz#8fd88bd1632cba4a1c8c3e3d7159f08bb95b4b9e"
- integrity sha512-j51egjPa7/i+RdiRuJbPdJ2FIUYYPhvYLjzoYbcMMm62ooO6F94fETG4MTs46zPAF9Brs04OajboA/qTGuz78w==
-
-binary-extensions@^2.0.0:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d"
- integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==
-
-binary@~0.3.0:
- version "0.3.0"
- resolved "https://registry.yarnpkg.com/binary/-/binary-0.3.0.tgz#9f60553bc5ce8c3386f3b553cff47462adecaa79"
- integrity sha1-n2BVO8XOjDOG87VTz/R0Yq3sqnk=
- dependencies:
- buffers "~0.1.1"
- chainsaw "~0.1.0"
-
-bl@^4.0.3:
- version "4.0.3"
- resolved "https://registry.yarnpkg.com/bl/-/bl-4.0.3.tgz#12d6287adc29080e22a705e5764b2a9522cdc489"
- integrity sha512-fs4G6/Hu4/EE+F75J8DuN/0IpQqNjAdC7aEQv7Qt8MHGUH7Ckv2MwTEEeN9QehD0pfIDkMI1bkHYkKy7xHyKIg==
- dependencies:
- buffer "^5.5.0"
- inherits "^2.0.4"
- readable-stream "^3.4.0"
-
-bl@~3.0.0:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/bl/-/bl-3.0.1.tgz#1cbb439299609e419b5a74d7fce2f8b37d8e5c6f"
- integrity sha512-jrCW5ZhfQ/Vt07WX1Ngs+yn9BDqPL/gw28S7s9H6QK/gupnizNzJAss5akW20ISgOrbLTlXOOCTJeNUQqruAWQ==
- dependencies:
- readable-stream "^3.0.1"
-
-block-stream@*:
- version "0.0.9"
- resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a"
- integrity sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=
- dependencies:
- inherits "~2.0.0"
-
-bluebird@^3:
- version "3.7.2"
- resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f"
- integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==
-
-bluebird@~3.4.1:
- version "3.4.7"
- resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.4.7.tgz#f72d760be09b7f76d08ed8fae98b289a8d05fab3"
- integrity sha1-9y12C+Cbf3bQjtj66Ysomo0F+rM=
-
-brace-expansion@^1.1.7:
- version "1.1.8"
- resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.8.tgz#c07b211c7c952ec1f8efd51a77ef0d1d3990a292"
- integrity sha1-wHshHHyVLsH479Uad+8NHTmQopI=
- dependencies:
- balanced-match "^1.0.0"
- concat-map "0.0.1"
-
-braces@~3.0.2:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107"
- integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==
- dependencies:
- fill-range "^7.0.1"
-
-browser-stdout@1.3.1:
- version "1.3.1"
- resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60"
- integrity sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==
-
-buffer-from@^0.1.1:
- version "0.1.2"
- resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-0.1.2.tgz#15f4b9bcef012044df31142c14333caf6e0260d0"
- integrity sha512-RiWIenusJsmI2KcvqQABB83tLxCByE3upSP8QU3rJDMVFGPWLvPQJt/O1Su9moRWeH7d+Q2HYb68f6+v+tw2vg==
-
-buffer-indexof-polyfill@~1.0.0:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/buffer-indexof-polyfill/-/buffer-indexof-polyfill-1.0.2.tgz#d2732135c5999c64b277fcf9b1abe3498254729c"
- integrity sha512-I7wzHwA3t1/lwXQh+A5PbNvJxgfo5r3xulgpYDB5zckTu/Z9oUK9biouBKQUjEqzaz3HnAT6TYoovmE+GqSf7A==
-
-buffer-shims@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/buffer-shims/-/buffer-shims-1.0.0.tgz#9978ce317388c649ad8793028c3477ef044a8b51"
- integrity sha1-mXjOMXOIxkmth5MCjDR37wRKi1E=
-
-buffer@^5.5.0:
- version "5.7.1"
- resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0"
- integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==
- dependencies:
- base64-js "^1.3.1"
- ieee754 "^1.1.13"
-
-buffers@~0.1.1:
- version "0.1.1"
- resolved "https://registry.yarnpkg.com/buffers/-/buffers-0.1.1.tgz#b24579c3bed4d6d396aeee6d9a8ae7f5482ab7bb"
- integrity sha1-skV5w77U1tOWru5tmorn9Ugqt7s=
-
-camelcase@^2.0.1:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f"
- integrity sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=
-
-camelcase@^6.0.0:
- version "6.2.0"
- resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.0.tgz#924af881c9d525ac9d87f40d964e5cea982a1809"
- integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==
-
-caseless@~0.12.0:
- version "0.12.0"
- resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc"
- integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=
-
-chai@^4.2.0:
- version "4.3.4"
- resolved "https://registry.yarnpkg.com/chai/-/chai-4.3.4.tgz#b55e655b31e1eac7099be4c08c21964fce2e6c49"
- integrity sha512-yS5H68VYOCtN1cjfwumDSuzn/9c+yza4f3reKXlE5rUg7SFcCEy90gJvydNgOYtblyf4Zi6jIWRnXOgErta0KA==
- dependencies:
- assertion-error "^1.1.0"
- check-error "^1.0.2"
- deep-eql "^3.0.1"
- get-func-name "^2.0.0"
- pathval "^1.1.1"
- type-detect "^4.0.5"
-
-chainsaw@~0.1.0:
- version "0.1.0"
- resolved "https://registry.yarnpkg.com/chainsaw/-/chainsaw-0.1.0.tgz#5eab50b28afe58074d0d58291388828b5e5fbc98"
- integrity sha1-XqtQsor+WAdNDVgpE4iCi15fvJg=
- dependencies:
- traverse ">=0.3.0 <0.4"
-
-chalk@^1.1.3:
- version "1.1.3"
- resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98"
- integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=
- dependencies:
- ansi-styles "^2.2.1"
- escape-string-regexp "^1.0.2"
- has-ansi "^2.0.0"
- strip-ansi "^3.0.0"
- supports-color "^2.0.0"
-
-chalk@^4.0.0:
- version "4.1.0"
- resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a"
- integrity sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==
- dependencies:
- ansi-styles "^4.1.0"
- supports-color "^7.1.0"
-
-check-error@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/check-error/-/check-error-1.0.2.tgz#574d312edd88bb5dd8912e9286dd6c0aed4aac82"
- integrity sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=
-
-chokidar@3.5.1:
- version "3.5.1"
- resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.1.tgz#ee9ce7bbebd2b79f49f304799d5468e31e14e68a"
- integrity sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==
- dependencies:
- anymatch "~3.1.1"
- braces "~3.0.2"
- glob-parent "~5.1.0"
- is-binary-path "~2.1.0"
- is-glob "~4.0.1"
- normalize-path "~3.0.0"
- readdirp "~3.5.0"
- optionalDependencies:
- fsevents "~2.3.1"
-
-chownr@^1.1.1:
- version "1.1.4"
- resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b"
- integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==
-
-chownr@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/chownr/-/chownr-2.0.0.tgz#15bfbe53d2eab4cf70f18a8cd68ebe5b3cb1dece"
- integrity sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==
-
-cliui@^3.0.3:
- version "3.2.0"
- resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d"
- integrity sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=
- dependencies:
- string-width "^1.0.1"
- strip-ansi "^3.0.1"
- wrap-ansi "^2.0.0"
-
-cliui@^7.0.2:
- version "7.0.4"
- resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f"
- integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==
- dependencies:
- string-width "^4.2.0"
- strip-ansi "^6.0.0"
- wrap-ansi "^7.0.0"
-
-cmake-js@~5.2.0:
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/cmake-js/-/cmake-js-5.2.0.tgz#6d72014269a5d23a754a6d170cde9ed2d75eb411"
- integrity sha512-/HLhzoBEOLKGdE1FLwH5ggzRt67AWTb4IErg4rm+bTC+R0DKUobojDyp17dSswDVPosdoPmHXjKxbJiyBZfQeg==
- dependencies:
- bluebird "^3"
- debug "^4"
- fs-extra "^5.0.0"
- is-iojs "^1.0.1"
- lodash "^4"
- memory-stream "0"
- npmlog "^1.2.0"
- rc "^1.2.7"
- request "^2.54.0"
- semver "^5.0.3"
- splitargs "0"
- tar "^4"
- traceur "0.0.x"
- unzipper "^0.8.13"
- url-join "0"
- which "^1.0.9"
- yargs "^3.6.0"
-
-code-point-at@^1.0.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77"
- integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=
-
-color-convert@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3"
- integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==
- dependencies:
- color-name "~1.1.4"
-
-color-name@~1.1.4:
- version "1.1.4"
- resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
- integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
-
-colors@~0.6.2:
- version "0.6.2"
- resolved "https://registry.yarnpkg.com/colors/-/colors-0.6.2.tgz#2423fe6678ac0c5dae8852e5d0e5be08c997abcc"
- integrity sha1-JCP+ZnisDF2uiFLl0OW+CMmXq8w=
-
-combined-stream@^1.0.6, combined-stream@~1.0.6:
- version "1.0.8"
- resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f"
- integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==
- dependencies:
- delayed-stream "~1.0.0"
-
-commander@2.9.x, commander@^2.9.0:
- version "2.9.0"
- resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4"
- integrity sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=
- dependencies:
- graceful-readlink ">= 1.0.0"
-
-commander@~2.2.0:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/commander/-/commander-2.2.0.tgz#175ad4b9317f3ff615f201c1e57224f55a3e91df"
- integrity sha1-F1rUuTF/P/YV8gHB5XIk9Vo+kd8=
-
-concat-map@0.0.1:
- version "0.0.1"
- resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
- integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=
-
-console-control-strings@^1.0.0, console-control-strings@~1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e"
- integrity sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=
-
-convert-source-map@^1.5.1:
- version "1.5.1"
- resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.5.1.tgz#b8278097b9bc229365de5c62cf5fcaed8b5599e5"
- integrity sha1-uCeAl7m8IpNl3lxiz1/K7YtVmeU=
-
-core-js@^2.4.0:
- version "2.4.1"
- resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.4.1.tgz#4de911e667b0eae9124e34254b53aea6fc618d3e"
- integrity sha1-TekR5mew6ukSTjQlS1OupvxhjT4=
-
-core-js@^2.5.0:
- version "2.5.7"
- resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.5.7.tgz#f972608ff0cead68b841a16a932d0b183791814e"
- integrity sha512-RszJCAxg/PP6uzXVXL6BsxSXx/B05oJAQ2vkJRjyjrEcNVycaqOmNb5OTxZPE3xa5gwZduqza6L9JOCenh/Ecw==
-
-core-util-is@~1.0.0:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
- integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=
-
-d@1, d@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/d/-/d-1.0.1.tgz#8698095372d58dbee346ffd0c7093f99f8f9eb5a"
- integrity sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==
- dependencies:
- es5-ext "^0.10.50"
- type "^1.0.1"
-
-dashdash@^1.12.0:
- version "1.14.1"
- resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0"
- integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=
- dependencies:
- assert-plus "^1.0.0"
-
-debug@4.3.1:
- version "4.3.1"
- resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee"
- integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==
- dependencies:
- ms "2.1.2"
-
-debug@^2.2.0, debug@^2.6.8, debug@^2.6.9:
- version "2.6.9"
- resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
- integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==
- dependencies:
- ms "2.0.0"
-
-debug@^4:
- version "4.2.0"
- resolved "https://registry.yarnpkg.com/debug/-/debug-4.2.0.tgz#7f150f93920e94c58f5574c2fd01a3110effe7f1"
- integrity sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==
- dependencies:
- ms "2.1.2"
-
-decamelize@^1.1.1:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"
- integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=
-
-decamelize@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-4.0.0.tgz#aa472d7bf660eb15f3494efd531cab7f2a709837"
- integrity sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==
-
-decompress-response@^4.2.0:
- version "4.2.1"
- resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-4.2.1.tgz#414023cc7a302da25ce2ec82d0d5238ccafd8986"
- integrity sha512-jOSne2qbyE+/r8G1VU+G/82LBs2Fs4LAsTiLSHOCOMZQl2OKZ6i8i4IyHemTe+/yIXOtTcRQMzPcgyhoFlqPkw==
- dependencies:
- mimic-response "^2.0.0"
-
-deep-eql@^3.0.1:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-3.0.1.tgz#dfc9404400ad1c8fe023e7da1df1c147c4b444df"
- integrity sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==
- dependencies:
- type-detect "^4.0.0"
-
-deep-extend@^0.6.0:
- version "0.6.0"
- resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac"
- integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==
-
-delayed-stream@~1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
- integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk=
-
-delegates@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a"
- integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=
-
-detect-indent@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-4.0.0.tgz#f76d064352cdf43a1cb6ce619c4ee3a9475de208"
- integrity sha1-920GQ1LN9Docts5hnE7jqUdd4gg=
- dependencies:
- repeating "^2.0.0"
-
-detect-libc@^1.0.3:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b"
- integrity sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=
-
-diff@5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/diff/-/diff-5.0.0.tgz#7ed6ad76d859d030787ec35855f5b1daf31d852b"
- integrity sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==
-
-duplexer2@~0.0.2:
- version "0.0.2"
- resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.0.2.tgz#c614dcf67e2fb14995a91711e5a617e8a60a31db"
- integrity sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds=
- dependencies:
- readable-stream "~1.1.9"
-
-duplexer2@~0.1.4:
- version "0.1.4"
- resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.1.4.tgz#8b12dab878c0d69e3e7891051662a32fc6bddcc1"
- integrity sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=
- dependencies:
- readable-stream "^2.0.2"
-
-each-series-async@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/each-series-async/-/each-series-async-1.0.1.tgz#7e3f8dfa5af934663960e5a17561362909b34328"
- integrity sha512-G4zip/Ewpwr6JQxW7+2RNgkPd09h/UNec5UlvA/xKwl4qf5blyBNK6a/zjQc3MojgsxaOb93B9v3T92QU6IMVg==
-
-ecc-jsbn@~0.1.1:
- version "0.1.1"
- resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505"
- integrity sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=
- dependencies:
- jsbn "~0.1.0"
-
-emoji-regex@^8.0.0:
- version "8.0.0"
- resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37"
- integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==
-
-end-of-stream@^1.1.0, end-of-stream@^1.4.1:
- version "1.4.4"
- resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0"
- integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==
- dependencies:
- once "^1.4.0"
-
-env-paths@^2.2.0:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.0.tgz#cdca557dc009152917d6166e2febe1f039685e43"
- integrity sha512-6u0VYSCo/OW6IoD5WCLLy9JUGARbamfSavcNXry/eu8aHVFei6CD3Sw+VGX5alea1i9pgPHW0mbu6Xj0uBh7gA==
-
-es5-ext@^0.10.35, es5-ext@^0.10.50:
- version "0.10.53"
- resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.53.tgz#93c5a3acfdbef275220ad72644ad02ee18368de1"
- integrity sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==
- dependencies:
- es6-iterator "~2.0.3"
- es6-symbol "~3.1.3"
- next-tick "~1.0.0"
-
-es6-iterator@~2.0.3:
- version "2.0.3"
- resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7"
- integrity sha1-p96IkUGgWpSwhUQDstCg+/qY87c=
- dependencies:
- d "1"
- es5-ext "^0.10.35"
- es6-symbol "^3.1.1"
-
-es6-symbol@^3.0.2, es6-symbol@^3.1.1, es6-symbol@~3.1.3:
- version "3.1.3"
- resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.3.tgz#bad5d3c1bcdac28269f4cb331e431c78ac705d18"
- integrity sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==
- dependencies:
- d "^1.0.1"
- ext "^1.1.2"
-
-escalade@^3.1.1:
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40"
- integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==
-
-escape-string-regexp@4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34"
- integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==
-
-escape-string-regexp@^1.0.2:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
- integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=
-
-esutils@^2.0.2:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b"
- integrity sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=
-
-execspawn@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/execspawn/-/execspawn-1.0.1.tgz#8286f9dde7cecde7905fbdc04e24f368f23f8da6"
- integrity sha1-gob53efOzeeQX73ATiTzaPI/jaY=
- dependencies:
- util-extend "^1.0.1"
-
-expand-template@^2.0.3:
- version "2.0.3"
- resolved "https://registry.yarnpkg.com/expand-template/-/expand-template-2.0.3.tgz#6e14b3fcee0f3a6340ecb57d2e8918692052a47c"
- integrity sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==
-
-ext@^1.1.2:
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/ext/-/ext-1.4.0.tgz#89ae7a07158f79d35517882904324077e4379244"
- integrity sha512-Key5NIsUxdqKg3vIsdw9dSuXpPCQ297y6wBjL30edxwPgt2E44WcWBZey/ZvUc6sERLTxKdyCu4gZFmUbk1Q7A==
- dependencies:
- type "^2.0.0"
-
-extend@~3.0.2:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa"
- integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==
-
-extsprintf@1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.0.2.tgz#e1080e0658e300b06294990cc70e1502235fd550"
- integrity sha1-4QgOBljjALBilJkMxw4VAiNf1VA=
-
-fast-deep-equal@^3.1.1:
- version "3.1.3"
- resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525"
- integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==
-
-fast-json-stable-stringify@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2"
- integrity sha1-1RQsDK7msRifh9OnYREGT4bIu/I=
-
-fill-range@^7.0.1:
- version "7.0.1"
- resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40"
- integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==
- dependencies:
- to-regex-range "^5.0.1"
-
-find-up@5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc"
- integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==
- dependencies:
- locate-path "^6.0.0"
- path-exists "^4.0.0"
-
-flat@^5.0.2:
- version "5.0.2"
- resolved "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241"
- integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==
-
-forever-agent@~0.6.1:
- version "0.6.1"
- resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91"
- integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=
-
-form-data@~2.3.2:
- version "2.3.3"
- resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6"
- integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==
- dependencies:
- asynckit "^0.4.0"
- combined-stream "^1.0.6"
- mime-types "^2.1.12"
-
-fs-constants@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad"
- integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==
-
-fs-extra@^5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-5.0.0.tgz#414d0110cdd06705734d055652c5411260c31abd"
- integrity sha512-66Pm4RYbjzdyeuqudYqhFiNBbCIuI9kgRqLPSHIlXHidW8NIQtVdkM1yeZ4lXwuhbTETv3EUGMNHAAw6hiundQ==
- dependencies:
- graceful-fs "^4.1.2"
- jsonfile "^4.0.0"
- universalify "^0.1.0"
-
-fs-minipass@^1.2.5:
- version "1.2.7"
- resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.7.tgz#ccff8570841e7fe4265693da88936c55aed7f7c7"
- integrity sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==
- dependencies:
- minipass "^2.6.0"
-
-fs-minipass@^2.0.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb"
- integrity sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==
- dependencies:
- minipass "^3.0.0"
-
-fs.realpath@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
- integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8=
-
-fsevents@~2.3.1:
- version "2.3.2"
- resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a"
- integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==
-
-fstream@^1.0.0, fstream@^1.0.12, fstream@~1.0.10:
- version "1.0.12"
- resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.12.tgz#4e8ba8ee2d48be4f7d0de505455548eae5932045"
- integrity sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==
- dependencies:
- graceful-fs "^4.1.2"
- inherits "~2.0.0"
- mkdirp ">=0.5 0"
- rimraf "2"
-
-gauge@~1.2.0, gauge@~1.2.5:
- version "1.2.7"
- resolved "https://registry.yarnpkg.com/gauge/-/gauge-1.2.7.tgz#e9cec5483d3d4ee0ef44b60a7d99e4935e136d93"
- integrity sha1-6c7FSD09TuDvRLYKfZnkk14TbZM=
- dependencies:
- ansi "^0.3.0"
- has-unicode "^2.0.0"
- lodash.pad "^4.1.0"
- lodash.padend "^4.1.0"
- lodash.padstart "^4.1.0"
-
-gauge@~2.7.3:
- version "2.7.4"
- resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7"
- integrity sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=
- dependencies:
- aproba "^1.0.3"
- console-control-strings "^1.0.0"
- has-unicode "^2.0.0"
- object-assign "^4.1.0"
- signal-exit "^3.0.0"
- string-width "^1.0.1"
- strip-ansi "^3.0.1"
- wide-align "^1.1.0"
-
-get-caller-file@^2.0.5:
- version "2.0.5"
- resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e"
- integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==
-
-get-func-name@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/get-func-name/-/get-func-name-2.0.0.tgz#ead774abee72e20409433a066366023dd6887a41"
- integrity sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=
-
-getpass@^0.1.1:
- version "0.1.7"
- resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa"
- integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=
- dependencies:
- assert-plus "^1.0.0"
-
-ghreleases@^3.0.2:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/ghreleases/-/ghreleases-3.0.2.tgz#1bdb6d31ec03a24a0d80f58f5e9a84a4db725818"
- integrity sha512-QiR9mIYvRG7hd8JuQYoxeBNOelVuTp2DpdiByRywbCDBSJufK9Vq7VuhD8B+5uviMxZx2AEkCzye61Us9gYgnw==
- dependencies:
- after "~0.8.1"
- ghrepos "~2.1.0"
- ghutils "~3.2.0"
- lodash.uniq "^4.5.0"
- simple-mime "~0.1.0"
- url-template "~2.0.6"
-
-ghrepos@~2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/ghrepos/-/ghrepos-2.1.0.tgz#abaf558b690b722c70c7ad45076f6f9be8e495e1"
- integrity sha512-6GM0ohSDTAv7xD6GsKfxJiV/CajoofRyUwu0E8l29d1o6lFAUxmmyMP/FH33afA20ZrXzxxcTtN6TsYvudMoAg==
- dependencies:
- ghutils "~3.2.0"
-
-ghutils@~3.2.0:
- version "3.2.6"
- resolved "https://registry.yarnpkg.com/ghutils/-/ghutils-3.2.6.tgz#d43986e267da02787464d97a6489659e4609bb1f"
- integrity sha512-WpYHgLQkqU7Cv147wKUEThyj6qKHCdnAG2CL9RRsRQImVdLGdVqblJ3JUnj3ToQwgm1ALPS+FXgR0448AgGPUg==
- dependencies:
- jsonist "~2.1.0"
- xtend "~4.0.1"
-
-github-from-package@0.0.0:
- version "0.0.0"
- resolved "https://registry.yarnpkg.com/github-from-package/-/github-from-package-0.0.0.tgz#97fb5d96bfde8973313f20e8288ef9a167fa64ce"
- integrity sha1-l/tdlr/eiXMxPyDoKI75oWf6ZM4=
-
-glob-parent@~5.1.0:
- version "5.1.2"
- resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4"
- integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==
- dependencies:
- is-glob "^4.0.1"
-
-"glob@3 || 4 || 5 || 6 || 7", glob@7.1.6, glob@^7.0.3, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6:
- version "7.1.6"
- resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6"
- integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==
- dependencies:
- fs.realpath "^1.0.0"
- inflight "^1.0.4"
- inherits "2"
- minimatch "^3.0.4"
- once "^1.3.0"
- path-is-absolute "^1.0.0"
-
-glob@5.0.x:
- version "5.0.15"
- resolved "https://registry.yarnpkg.com/glob/-/glob-5.0.15.tgz#1bc936b9e02f4a603fcc222ecf7633d30b8b93b1"
- integrity sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=
- dependencies:
- inflight "^1.0.4"
- inherits "2"
- minimatch "2 || 3"
- once "^1.3.0"
- path-is-absolute "^1.0.0"
-
-globals@^9.18.0:
- version "9.18.0"
- resolved "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a"
- integrity sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==
-
-graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.2, graceful-fs@^4.2.3:
- version "4.2.3"
- resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.3.tgz#4a12ff1b60376ef09862c2093edd908328be8423"
- integrity sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==
-
-"graceful-readlink@>= 1.0.0":
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725"
- integrity sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=
-
-growl@1.10.5:
- version "1.10.5"
- resolved "https://registry.yarnpkg.com/growl/-/growl-1.10.5.tgz#f2735dc2283674fa67478b10181059355c369e5e"
- integrity sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==
-
-har-schema@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92"
- integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=
-
-har-validator@~5.1.3:
- version "5.1.5"
- resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.5.tgz#1f0803b9f8cb20c0fa13822df1ecddb36bde1efd"
- integrity sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==
- dependencies:
- ajv "^6.12.3"
- har-schema "^2.0.0"
-
-has-ansi@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91"
- integrity sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=
- dependencies:
- ansi-regex "^2.0.0"
-
-has-flag@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b"
- integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==
-
-has-unicode@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9"
- integrity sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=
-
-he@1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f"
- integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==
-
-home-or-tmp@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-2.0.0.tgz#e36c3f2d2cae7d746a857e38d18d5f32a7882db8"
- integrity sha1-42w/LSyufXRqhX440Y1fMqeILbg=
- dependencies:
- os-homedir "^1.0.0"
- os-tmpdir "^1.0.1"
-
-http-signature@~1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1"
- integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=
- dependencies:
- assert-plus "^1.0.0"
- jsprim "^1.2.2"
- sshpk "^1.7.0"
-
-hyperquest@~2.1.3:
- version "2.1.3"
- resolved "https://registry.yarnpkg.com/hyperquest/-/hyperquest-2.1.3.tgz#523127d7a343181b40bf324e231d2576edf52633"
- integrity sha512-fUuDOrB47PqNK/BAMOS13v41UoaqIxqSLHX6CAbOD7OfT+/GCWO1/vPLfTNutOeXrv1ikuaZ3yux+33Z9vh+rw==
- dependencies:
- buffer-from "^0.1.1"
- duplexer2 "~0.0.2"
- through2 "~0.6.3"
-
-ieee754@^1.1.13:
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352"
- integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==
-
-inflight@^1.0.4:
- version "1.0.6"
- resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
- integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=
- dependencies:
- once "^1.3.0"
- wrappy "1"
-
-inherits@2, inherits@^2.0.3, inherits@~2.0.0, inherits@~2.0.1, inherits@~2.0.3:
- version "2.0.3"
- resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de"
- integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=
-
-inherits@^2.0.4:
- version "2.0.4"
- resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
- integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
-
-ini@~1.3.0:
- version "1.3.7"
- resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.7.tgz#a09363e1911972ea16d7a8851005d84cf09a9a84"
- integrity sha512-iKpRpXP+CrP2jyrxvg1kMUpXDyRUFDWurxbnVT1vQPx+Wz9uCYsMIqYuSBLV+PAaZG/d7kRLKRFc9oDMsH+mFQ==
-
-invariant@^2.2.2:
- version "2.2.2"
- resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.2.tgz#9e1f56ac0acdb6bf303306f338be3b204ae60360"
- integrity sha1-nh9WrArNtr8wMwbzOL47IErmA2A=
- dependencies:
- loose-envify "^1.0.0"
-
-invert-kv@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6"
- integrity sha1-EEqOSqym09jNFXqO+L+rLXo//bY=
-
-is-binary-path@~2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09"
- integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==
- dependencies:
- binary-extensions "^2.0.0"
-
-is-extglob@^2.1.1:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
- integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=
-
-is-finite@^1.0.0:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa"
- integrity sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=
- dependencies:
- number-is-nan "^1.0.0"
-
-is-fullwidth-code-point@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb"
- integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs=
- dependencies:
- number-is-nan "^1.0.0"
-
-is-fullwidth-code-point@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d"
- integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==
-
-is-glob@^4.0.1, is-glob@~4.0.1:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc"
- integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==
- dependencies:
- is-extglob "^2.1.1"
-
-is-iojs@^1.0.1:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/is-iojs/-/is-iojs-1.1.0.tgz#4c11033b5d5d94d6eab3775dedc9be7d008325f1"
- integrity sha1-TBEDO11dlNbqs3dd7cm+fQCDJfE=
-
-is-number@^7.0.0:
- version "7.0.0"
- resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b"
- integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==
-
-is-plain-obj@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287"
- integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==
-
-is-typedarray@~1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a"
- integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=
-
-isarray@0.0.1:
- version "0.0.1"
- resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf"
- integrity sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=
-
-isarray@~1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
- integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=
-
-isexe@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
- integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=
-
-isstream@~0.1.2:
- version "0.1.2"
- resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a"
- integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=
-
-js-tokens@^3.0.0, js-tokens@^3.0.2:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b"
- integrity sha1-mGbfOVECEw449/mWvOtlRDIJwls=
-
-js-yaml@4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.0.0.tgz#f426bc0ff4b4051926cd588c71113183409a121f"
- integrity sha512-pqon0s+4ScYUvX30wxQi3PogGFAlUyH0awepWvwkj4jD4v+ova3RiYw8bmA6x2rDrEaj8i/oWKoRxpVNW+Re8Q==
- dependencies:
- argparse "^2.0.1"
-
-jsbn@~0.1.0:
- version "0.1.1"
- resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513"
- integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM=
-
-jsesc@^1.3.0:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b"
- integrity sha1-RsP+yMGJKxKwgz25vHYiF226s0s=
-
-json-schema-traverse@^0.4.1:
- version "0.4.1"
- resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660"
- integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==
-
-json-schema@0.2.3:
- version "0.2.3"
- resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13"
- integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=
-
-json-stringify-safe@~5.0.1:
- version "5.0.1"
- resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"
- integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=
-
-json5@^0.5.1:
- version "0.5.1"
- resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821"
- integrity sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=
-
-jsonfile@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb"
- integrity sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=
- optionalDependencies:
- graceful-fs "^4.1.6"
-
-jsonist@~2.1.0:
- version "2.1.2"
- resolved "https://registry.yarnpkg.com/jsonist/-/jsonist-2.1.2.tgz#c1377311e8fc857abe7aa3df197116a911f95324"
- integrity sha512-8yqmWJAC2VaYoSKQAbsfgCpGY5o/1etWzx6ZxaZrC4iGaHrHUZEo+a2MyF8w+2uTavTlHdLWaZUoR19UfBstxQ==
- dependencies:
- bl "~3.0.0"
- hyperquest "~2.1.3"
- json-stringify-safe "~5.0.1"
- xtend "~4.0.1"
-
-jsprim@^1.2.2:
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.0.tgz#a3b87e40298d8c380552d8cc7628a0bb95a22918"
- integrity sha1-o7h+QCmNjDgFUtjMdiigu5WiKRg=
- dependencies:
- assert-plus "1.0.0"
- extsprintf "1.0.2"
- json-schema "0.2.3"
- verror "1.3.6"
-
-lcid@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835"
- integrity sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=
- dependencies:
- invert-kv "^1.0.0"
-
-listenercount@~1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/listenercount/-/listenercount-1.0.1.tgz#84c8a72ab59c4725321480c975e6508342e70937"
- integrity sha1-hMinKrWcRyUyFIDJdeZQg0LnCTc=
-
-locate-path@^6.0.0:
- version "6.0.0"
- resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286"
- integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==
- dependencies:
- p-locate "^5.0.0"
-
-lodash.pad@^4.1.0:
- version "4.5.1"
- resolved "https://registry.yarnpkg.com/lodash.pad/-/lodash.pad-4.5.1.tgz#4330949a833a7c8da22cc20f6a26c4d59debba70"
- integrity sha1-QzCUmoM6fI2iLMIPaibE1Z3runA=
-
-lodash.padend@^4.1.0:
- version "4.6.1"
- resolved "https://registry.yarnpkg.com/lodash.padend/-/lodash.padend-4.6.1.tgz#53ccba047d06e158d311f45da625f4e49e6f166e"
- integrity sha1-U8y6BH0G4VjTEfRdpiX05J5vFm4=
-
-lodash.padstart@^4.1.0:
- version "4.6.1"
- resolved "https://registry.yarnpkg.com/lodash.padstart/-/lodash.padstart-4.6.1.tgz#d2e3eebff0d9d39ad50f5cbd1b52a7bce6bb611b"
- integrity sha1-0uPuv/DZ05rVD1y9G1KnvOa7YRs=
-
-lodash.uniq@^4.5.0:
- version "4.5.0"
- resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773"
- integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=
-
-lodash@^4, lodash@^4.17.4, lodash@^4.2.0:
- version "4.17.19"
- resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.19.tgz#e48ddedbe30b3321783c5b4301fbd353bc1e4a4b"
- integrity sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==
-
-log-symbols@4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.0.0.tgz#69b3cc46d20f448eccdb75ea1fa733d9e821c920"
- integrity sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA==
- dependencies:
- chalk "^4.0.0"
-
-loose-envify@^1.0.0:
- version "1.3.1"
- resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.1.tgz#d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848"
- integrity sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=
- dependencies:
- js-tokens "^3.0.0"
-
-memory-stream@0:
- version "0.0.3"
- resolved "https://registry.yarnpkg.com/memory-stream/-/memory-stream-0.0.3.tgz#ebe8dd1c3b8bc38c0e7941e9ddd5aebe6b4de83f"
- integrity sha1-6+jdHDuLw4wOeUHp3dWuvmtN6D8=
- dependencies:
- readable-stream "~1.0.26-2"
-
-mime-db@1.44.0:
- version "1.44.0"
- resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.44.0.tgz#fa11c5eb0aca1334b4233cb4d52f10c5a6272f92"
- integrity sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==
-
-mime-types@^2.1.12, mime-types@~2.1.19:
- version "2.1.27"
- resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.27.tgz#47949f98e279ea53119f5722e0f34e529bec009f"
- integrity sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==
- dependencies:
- mime-db "1.44.0"
-
-mimic-response@^2.0.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-2.1.0.tgz#d13763d35f613d09ec37ebb30bac0469c0ee8f43"
- integrity sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA==
-
-"minimatch@2 || 3", minimatch@3, minimatch@3.0.4, minimatch@^3.0.2, minimatch@^3.0.4:
- version "3.0.4"
- resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
- integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==
- dependencies:
- brace-expansion "^1.1.7"
-
-minimist@^1.1.2, minimist@^1.2.0, minimist@^1.2.3, minimist@^1.2.5:
- version "1.2.5"
- resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602"
- integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==
-
-minipass@^2.6.0, minipass@^2.8.6, minipass@^2.9.0:
- version "2.9.0"
- resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.9.0.tgz#e713762e7d3e32fed803115cf93e04bca9fcc9a6"
- integrity sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==
- dependencies:
- safe-buffer "^5.1.2"
- yallist "^3.0.0"
-
-minipass@^3.0.0:
- version "3.1.3"
- resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.1.3.tgz#7d42ff1f39635482e15f9cdb53184deebd5815fd"
- integrity sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==
- dependencies:
- yallist "^4.0.0"
-
-minizlib@^1.2.1:
- version "1.3.3"
- resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.3.3.tgz#2290de96818a34c29551c8a8d301216bd65a861d"
- integrity sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==
- dependencies:
- minipass "^2.9.0"
-
-minizlib@^2.1.1:
- version "2.1.2"
- resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-2.1.2.tgz#e90d3466ba209b932451508a11ce3d3632145931"
- integrity sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==
- dependencies:
- minipass "^3.0.0"
- yallist "^4.0.0"
-
-mkdirp-classic@^0.5.2, mkdirp-classic@^0.5.3:
- version "0.5.3"
- resolved "https://registry.yarnpkg.com/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz#fa10c9115cc6d8865be221ba47ee9bed78601113"
- integrity sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==
-
-"mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1:
- version "0.5.5"
- resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def"
- integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==
- dependencies:
- minimist "^1.2.5"
-
-mkdirp@^1.0.3:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e"
- integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==
-
-mocha@^8.0.1:
- version "8.3.2"
- resolved "https://registry.yarnpkg.com/mocha/-/mocha-8.3.2.tgz#53406f195fa86fbdebe71f8b1c6fb23221d69fcc"
- integrity sha512-UdmISwr/5w+uXLPKspgoV7/RXZwKRTiTjJ2/AC5ZiEztIoOYdfKb19+9jNmEInzx5pBsCyJQzarAxqIGBNYJhg==
- dependencies:
- "@ungap/promise-all-settled" "1.1.2"
- ansi-colors "4.1.1"
- browser-stdout "1.3.1"
- chokidar "3.5.1"
- debug "4.3.1"
- diff "5.0.0"
- escape-string-regexp "4.0.0"
- find-up "5.0.0"
- glob "7.1.6"
- growl "1.10.5"
- he "1.2.0"
- js-yaml "4.0.0"
- log-symbols "4.0.0"
- minimatch "3.0.4"
- ms "2.1.3"
- nanoid "3.1.20"
- serialize-javascript "5.0.1"
- strip-json-comments "3.1.1"
- supports-color "8.1.1"
- which "2.0.2"
- wide-align "1.1.3"
- workerpool "6.1.0"
- yargs "16.2.0"
- yargs-parser "20.2.4"
- yargs-unparser "2.0.0"
-
-ms@2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
- integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=
-
-ms@2.1.2:
- version "2.1.2"
- resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
- integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
-
-ms@2.1.3:
- version "2.1.3"
- resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2"
- integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
-
-nanoid@3.1.20:
- version "3.1.20"
- resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.20.tgz#badc263c6b1dcf14b71efaa85f6ab4c1d6cfc788"
- integrity sha512-a1cQNyczgKbLX9jwbS/+d7W8fX/RfgYR7lVWwWOGIPNgK2m0MWvrGF6/m4kk6U3QcFMnZf3RIhL0v2Jgh/0Uxw==
-
-napi-build-utils@^1.0.1:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/napi-build-utils/-/napi-build-utils-1.0.2.tgz#b1fddc0b2c46e380a0b7a76f984dd47c41a13806"
- integrity sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==
-
-next-tick@~1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.0.0.tgz#ca86d1fe8828169b0120208e3dc8424b9db8342c"
- integrity sha1-yobR/ogoFpsBICCOPchCS524NCw=
-
-node-abi@^2.2.0, node-abi@^2.21.0:
- version "2.21.0"
- resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-2.21.0.tgz#c2dc9ebad6f4f53d6ea9b531e7b8faad81041d48"
- integrity sha512-smhrivuPqEM3H5LmnY3KU6HfYv0u4QklgAxfFyRNujKUzbUcYZ+Jc2EhukB9SRcD2VpqhxM7n/MIcp1Ua1/JMg==
- dependencies:
- semver "^5.4.1"
-
-node-addon-api@^3.0.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-3.1.0.tgz#98b21931557466c6729e51cb77cd39c965f42239"
- integrity sha512-flmrDNB06LIl5lywUz7YlNGZH/5p0M7W28k8hzd9Lshtdh1wshD2Y+U4h9LD6KObOy1f+fEVdgprPrEymjM5uw==
-
-node-cpplint@~0.4.0:
- version "0.4.0"
- resolved "https://registry.yarnpkg.com/node-cpplint/-/node-cpplint-0.4.0.tgz#35827fe7b95ccceff0cd7f46ede4cba44b8ef88c"
- integrity sha1-NYJ/57lczO/wzX9G7eTLpEuO+Iw=
- dependencies:
- colors "~0.6.2"
- commander "~2.2.0"
-
-node-gyp@^6.0.1:
- version "6.1.0"
- resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-6.1.0.tgz#64e31c61a4695ad304c1d5b82cf6b7c79cc79f3f"
- integrity sha512-h4A2zDlOujeeaaTx06r4Vy+8MZ1679lU+wbCKDS4ZtvY2A37DESo37oejIw0mtmR3+rvNwts5B6Kpt1KrNYdNw==
- dependencies:
- env-paths "^2.2.0"
- glob "^7.1.4"
- graceful-fs "^4.2.2"
- mkdirp "^0.5.1"
- nopt "^4.0.1"
- npmlog "^4.1.2"
- request "^2.88.0"
- rimraf "^2.6.3"
- semver "^5.7.1"
- tar "^4.4.12"
- which "^1.3.1"
-
-node-gyp@^7.0.0:
- version "7.1.2"
- resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-7.1.2.tgz#21a810aebb187120251c3bcec979af1587b188ae"
- integrity sha512-CbpcIo7C3eMu3dL1c3d0xw449fHIGALIJsRP4DDPHpyiW8vcriNY7ubh9TE4zEKfSxscY7PjeFnshE7h75ynjQ==
- dependencies:
- env-paths "^2.2.0"
- glob "^7.1.4"
- graceful-fs "^4.2.3"
- nopt "^5.0.0"
- npmlog "^4.1.2"
- request "^2.88.2"
- rimraf "^3.0.2"
- semver "^7.3.2"
- tar "^6.0.2"
- which "^2.0.2"
-
-node-ninja@^1.0.1:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/node-ninja/-/node-ninja-1.0.2.tgz#20a09e57b92e2df591993d4bf098ac3e727062b6"
- integrity sha1-IKCeV7kuLfWRmT1L8JisPnJwYrY=
- dependencies:
- fstream "^1.0.0"
- glob "3 || 4 || 5 || 6 || 7"
- graceful-fs "^4.1.2"
- minimatch "3"
- mkdirp "^0.5.0"
- nopt "2 || 3"
- npmlog "0 || 1 || 2"
- osenv "0"
- path-array "^1.0.0"
- request "2"
- rimraf "2"
- semver "2.x || 3.x || 4 || 5"
- tar "^2.0.0"
- which "1"
-
-noop-logger@^0.1.0, noop-logger@^0.1.1:
- version "0.1.1"
- resolved "https://registry.yarnpkg.com/noop-logger/-/noop-logger-0.1.1.tgz#94a2b1633c4f1317553007d8966fd0e841b6a4c2"
- integrity sha1-lKKxYzxPExdVMAfYlm/Q6EG2pMI=
-
-"nopt@2 || 3":
- version "3.0.6"
- resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9"
- integrity sha1-xkZdvwirzU2zWTF/eaxopkayj/k=
- dependencies:
- abbrev "1"
-
-nopt@^4.0.1:
- version "4.0.3"
- resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.3.tgz#a375cad9d02fd921278d954c2254d5aa57e15e48"
- integrity sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==
- dependencies:
- abbrev "1"
- osenv "^0.1.4"
-
-nopt@^5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/nopt/-/nopt-5.0.0.tgz#530942bb58a512fccafe53fe210f13a25355dc88"
- integrity sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==
- dependencies:
- abbrev "1"
-
-normalize-path@^3.0.0, normalize-path@~3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65"
- integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==
-
-npm-path@^2.0.2:
- version "2.0.4"
- resolved "https://registry.yarnpkg.com/npm-path/-/npm-path-2.0.4.tgz#c641347a5ff9d6a09e4d9bce5580c4f505278e64"
- integrity sha512-IFsj0R9C7ZdR5cP+ET342q77uSRdtWOlWpih5eC+lu29tIDbNEgDbzgVJ5UFvYHWhxDZ5TFkJafFioO0pPQjCw==
- dependencies:
- which "^1.2.10"
-
-npm-which@^3.0.1:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/npm-which/-/npm-which-3.0.1.tgz#9225f26ec3a285c209cae67c3b11a6b4ab7140aa"
- integrity sha1-kiXybsOihcIJyuZ8OxGmtKtxQKo=
- dependencies:
- commander "^2.9.0"
- npm-path "^2.0.2"
- which "^1.2.10"
-
-"npmlog@0 || 1 || 2":
- version "2.0.4"
- resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-2.0.4.tgz#98b52530f2514ca90d09ec5b22c8846722375692"
- integrity sha1-mLUlMPJRTKkNCexbIsiEZyI3VpI=
- dependencies:
- ansi "~0.3.1"
- are-we-there-yet "~1.1.2"
- gauge "~1.2.5"
-
-"npmlog@0 || 1 || 2 || 3 || 4", npmlog@^4.0.1, npmlog@^4.1.2:
- version "4.1.2"
- resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b"
- integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==
- dependencies:
- are-we-there-yet "~1.1.2"
- console-control-strings "~1.1.0"
- gauge "~2.7.3"
- set-blocking "~2.0.0"
-
-npmlog@^1.2.0:
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-1.2.1.tgz#28e7be619609b53f7ad1dd300a10d64d716268b6"
- integrity sha1-KOe+YZYJtT960d0wChDWTXFiaLY=
- dependencies:
- ansi "~0.3.0"
- are-we-there-yet "~1.0.0"
- gauge "~1.2.0"
-
-number-is-nan@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d"
- integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=
-
-nw-gyp@^3.6.3:
- version "3.6.5"
- resolved "https://registry.yarnpkg.com/nw-gyp/-/nw-gyp-3.6.5.tgz#ccce42182229e44e7689da70675b4b8dd0ab0ab3"
- integrity sha512-vYrOIYJEKpq9CfaHuiqEjV1rBYgr6uaUrPhPRiznb91LujkAUqGhQ5QqDC1bLdd+zo9jf2H0Zkl2M5zQB7+CuQ==
- dependencies:
- fstream "^1.0.0"
- glob "^7.0.3"
- graceful-fs "^4.1.2"
- minimatch "^3.0.2"
- mkdirp "^0.5.0"
- nopt "2 || 3"
- npmlog "0 || 1 || 2 || 3 || 4"
- osenv "0"
- request "2"
- rimraf "2"
- semver "~5.3.0"
- tar "^2.0.0"
- which "1"
-
-oauth-sign@~0.9.0:
- version "0.9.0"
- resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455"
- integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==
-
-object-assign@^4.1.0:
- version "4.1.1"
- resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
- integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=
-
-once@^1.3.0, once@^1.3.1, once@^1.4.0:
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
- integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E=
- dependencies:
- wrappy "1"
-
-os-homedir@^1.0.0:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3"
- integrity sha1-/7xJiDNuDoM94MFox+8VISGqf7M=
-
-os-locale@^1.4.0:
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-1.4.0.tgz#20f9f17ae29ed345e8bde583b13d2009803c14d9"
- integrity sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=
- dependencies:
- lcid "^1.0.0"
-
-os-tmpdir@^1.0.0, os-tmpdir@^1.0.1:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274"
- integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=
-
-osenv@0, osenv@^0.1.4:
- version "0.1.5"
- resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410"
- integrity sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==
- dependencies:
- os-homedir "^1.0.0"
- os-tmpdir "^1.0.0"
-
-p-limit@^3.0.2:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b"
- integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==
- dependencies:
- yocto-queue "^0.1.0"
-
-p-locate@^5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834"
- integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==
- dependencies:
- p-limit "^3.0.2"
-
-path-array@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/path-array/-/path-array-1.0.1.tgz#7e2f0f35f07a2015122b868b7eac0eb2c4fec271"
- integrity sha1-fi8PNfB6IBUSK4aLfqwOssT+wnE=
- dependencies:
- array-index "^1.0.0"
-
-path-exists@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3"
- integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==
-
-path-is-absolute@^1.0.0, path-is-absolute@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
- integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18=
-
-pathval@^1.1.1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/pathval/-/pathval-1.1.1.tgz#8534e77a77ce7ac5a2512ea21e0fdb8fcf6c3d8d"
- integrity sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==
-
-performance-now@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b"
- integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=
-
-picomatch@^2.0.4, picomatch@^2.2.1:
- version "2.2.2"
- resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad"
- integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==
-
-prebuild-install@^6.0.0:
- version "6.1.1"
- resolved "https://registry.yarnpkg.com/prebuild-install/-/prebuild-install-6.1.1.tgz#6754fa6c0d55eced7f9e14408ff9e4cba6f097b4"
- integrity sha512-M+cKwofFlHa5VpTWub7GLg5RLcunYIcLqtY5pKcls/u7xaAb8FrXZ520qY8rkpYy5xw90tYCyMO0MP5ggzR3Sw==
- dependencies:
- detect-libc "^1.0.3"
- expand-template "^2.0.3"
- github-from-package "0.0.0"
- minimist "^1.2.3"
- mkdirp-classic "^0.5.3"
- napi-build-utils "^1.0.1"
- node-abi "^2.21.0"
- noop-logger "^0.1.1"
- npmlog "^4.0.1"
- pump "^3.0.0"
- rc "^1.2.7"
- simple-get "^3.0.3"
- tar-fs "^2.0.0"
- tunnel-agent "^0.6.0"
-
-prebuild@^10.0.1:
- version "10.0.1"
- resolved "https://registry.yarnpkg.com/prebuild/-/prebuild-10.0.1.tgz#9d46a00f42b60ad1718479cc5e3d1ef4882b7f33"
- integrity sha512-x0CkKDmHFwX49rTGEYJwB9jBQwJWxRzwUtP5PA9dP8khFGMm3oSFgYortxdlp0PkxB29EhWGp/KQE5g+adehYg==
- dependencies:
- cmake-js "~5.2.0"
- detect-libc "^1.0.3"
- each-series-async "^1.0.1"
- execspawn "^1.0.1"
- ghreleases "^3.0.2"
- github-from-package "0.0.0"
- glob "^7.1.6"
- minimist "^1.1.2"
- mkdirp "^0.5.1"
- napi-build-utils "^1.0.1"
- node-abi "^2.2.0"
- node-gyp "^6.0.1"
- node-ninja "^1.0.1"
- noop-logger "^0.1.0"
- npm-which "^3.0.1"
- npmlog "^4.0.1"
- nw-gyp "^3.6.3"
- rc "^1.0.3"
- run-waterfall "^1.1.6"
- tar-stream "^2.1.0"
-
-private@^0.1.8:
- version "0.1.8"
- resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff"
- integrity sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==
-
-process-nextick-args@~1.0.6:
- version "1.0.7"
- resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3"
- integrity sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=
-
-psl@^1.1.28:
- version "1.1.29"
- resolved "https://registry.yarnpkg.com/psl/-/psl-1.1.29.tgz#60f580d360170bb722a797cc704411e6da850c67"
- integrity sha512-AeUmQ0oLN02flVHXWh9sSJF7mcdFq0ppid/JkErufc3hGIV/AMa8Fo9VgDo/cT2jFdOWoFvHp90qqBH54W+gjQ==
-
-pump@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64"
- integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==
- dependencies:
- end-of-stream "^1.1.0"
- once "^1.3.1"
-
-punycode@^2.1.0, punycode@^2.1.1:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec"
- integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==
-
-qs@~6.5.2:
- version "6.5.2"
- resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36"
- integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==
-
-randombytes@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a"
- integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==
- dependencies:
- safe-buffer "^5.1.0"
-
-rc@^1.0.3, rc@^1.2.7:
- version "1.2.8"
- resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed"
- integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==
- dependencies:
- deep-extend "^0.6.0"
- ini "~1.3.0"
- minimist "^1.2.0"
- strip-json-comments "~2.0.1"
-
-"readable-stream@>=1.0.33-1 <1.1.0-0", readable-stream@~1.0.26-2:
- version "1.0.34"
- resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c"
- integrity sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=
- dependencies:
- core-util-is "~1.0.0"
- inherits "~2.0.1"
- isarray "0.0.1"
- string_decoder "~0.10.x"
-
-"readable-stream@^2.0.0 || ^1.1.13", readable-stream@^2.0.2, readable-stream@^2.0.6:
- version "2.3.3"
- resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.3.tgz#368f2512d79f9d46fdfc71349ae7878bbc1eb95c"
- integrity sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==
- dependencies:
- core-util-is "~1.0.0"
- inherits "~2.0.3"
- isarray "~1.0.0"
- process-nextick-args "~1.0.6"
- safe-buffer "~5.1.1"
- string_decoder "~1.0.3"
- util-deprecate "~1.0.1"
-
-readable-stream@^3.0.1, readable-stream@^3.1.1, readable-stream@^3.4.0:
- version "3.6.0"
- resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198"
- integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==
- dependencies:
- inherits "^2.0.3"
- string_decoder "^1.1.1"
- util-deprecate "^1.0.1"
-
-readable-stream@~1.1.9:
- version "1.1.14"
- resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9"
- integrity sha1-fPTFTvZI44EwhMY23SB54WbAgdk=
- dependencies:
- core-util-is "~1.0.0"
- inherits "~2.0.1"
- isarray "0.0.1"
- string_decoder "~0.10.x"
-
-readable-stream@~2.1.5:
- version "2.1.5"
- resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.1.5.tgz#66fa8b720e1438b364681f2ad1a63c618448c9d0"
- integrity sha1-ZvqLcg4UOLNkaB8q0aY8YYRIydA=
- dependencies:
- buffer-shims "^1.0.0"
- core-util-is "~1.0.0"
- inherits "~2.0.1"
- isarray "~1.0.0"
- process-nextick-args "~1.0.6"
- string_decoder "~0.10.x"
- util-deprecate "~1.0.1"
-
-readdirp@~3.5.0:
- version "3.5.0"
- resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.5.0.tgz#9ba74c019b15d365278d2e91bb8c48d7b4d42c9e"
- integrity sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==
- dependencies:
- picomatch "^2.2.1"
-
-regenerator-runtime@^0.10.0:
- version "0.10.5"
- resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz#336c3efc1220adcedda2c9fab67b5a7955a33658"
- integrity sha1-M2w+/BIgrc7dosn6tntaeVWjNlg=
-
-regenerator-runtime@^0.11.0:
- version "0.11.1"
- resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9"
- integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==
-
-repeating@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda"
- integrity sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=
- dependencies:
- is-finite "^1.0.0"
-
-request@2, request@^2.54.0, request@^2.88.0, request@^2.88.2:
- version "2.88.2"
- resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3"
- integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==
- dependencies:
- aws-sign2 "~0.7.0"
- aws4 "^1.8.0"
- caseless "~0.12.0"
- combined-stream "~1.0.6"
- extend "~3.0.2"
- forever-agent "~0.6.1"
- form-data "~2.3.2"
- har-validator "~5.1.3"
- http-signature "~1.2.0"
- is-typedarray "~1.0.0"
- isstream "~0.1.2"
- json-stringify-safe "~5.0.1"
- mime-types "~2.1.19"
- oauth-sign "~0.9.0"
- performance-now "^2.1.0"
- qs "~6.5.2"
- safe-buffer "^5.1.2"
- tough-cookie "~2.5.0"
- tunnel-agent "^0.6.0"
- uuid "^3.3.2"
-
-require-directory@^2.1.1:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"
- integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I=
-
-rimraf@2, rimraf@^2.6.3:
- version "2.7.1"
- resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec"
- integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==
- dependencies:
- glob "^7.1.3"
-
-rimraf@^3.0.2:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a"
- integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==
- dependencies:
- glob "^7.1.3"
-
-rsvp@^3.0.13:
- version "3.6.2"
- resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-3.6.2.tgz#2e96491599a96cde1b515d5674a8f7a91452926a"
- integrity sha512-OfWGQTb9vnwRjwtA2QwpG2ICclHC3pgXZO5xt8H2EfgDquO0qVdSb5T88L4qJVAEugbS56pAuV4XZM58UX8ulw==
-
-run-waterfall@^1.1.6:
- version "1.1.7"
- resolved "https://registry.yarnpkg.com/run-waterfall/-/run-waterfall-1.1.7.tgz#ae368b549b2f5171f86c2924492cab3352a6e9c5"
- integrity sha512-iFPgh7SatHXOG1ClcpdwHI63geV3Hc/iL6crGSyBlH2PY7Rm/za+zoKz6FfY/Qlw5K7JwSol8pseO8fN6CMhhQ==
-
-safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@~5.1.0, safe-buffer@~5.1.1:
- version "5.1.1"
- resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853"
- integrity sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==
-
-safe-buffer@^5.1.2, safe-buffer@~5.2.0:
- version "5.2.1"
- resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6"
- integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
-
-safer-buffer@^2.0.2:
- version "2.1.2"
- resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
- integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
-
-"semver@2.x || 3.x || 4 || 5", semver@^5.0.3, semver@^5.4.1, semver@^5.7.1:
- version "5.7.1"
- resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7"
- integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==
-
-semver@^4.3.3:
- version "4.3.6"
- resolved "https://registry.yarnpkg.com/semver/-/semver-4.3.6.tgz#300bc6e0e86374f7ba61068b5b1ecd57fc6532da"
- integrity sha1-MAvG4OhjdPe6YQaLWx7NV/xlMto=
-
-semver@^7.3.2:
- version "7.3.2"
- resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938"
- integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==
-
-semver@~5.3.0:
- version "5.3.0"
- resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f"
- integrity sha1-myzl094C0XxgEq0yaqa00M9U+U8=
-
-serialize-javascript@5.0.1:
- version "5.0.1"
- resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-5.0.1.tgz#7886ec848049a462467a97d3d918ebb2aaf934f4"
- integrity sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==
- dependencies:
- randombytes "^2.1.0"
-
-set-blocking@~2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7"
- integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc=
-
-setimmediate@~1.0.4:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285"
- integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=
-
-signal-exit@^3.0.0:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d"
- integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=
-
-simple-concat@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/simple-concat/-/simple-concat-1.0.1.tgz#f46976082ba35c2263f1c8ab5edfe26c41c9552f"
- integrity sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==
-
-simple-get@^3.0.3:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/simple-get/-/simple-get-3.1.0.tgz#b45be062435e50d159540b576202ceec40b9c6b3"
- integrity sha512-bCR6cP+aTdScaQCnQKbPKtJOKDp/hj9EDLJo3Nw4y1QksqaovlW/bnptB6/c1e+qmNIDHRK+oXFDdEqBT8WzUA==
- dependencies:
- decompress-response "^4.2.0"
- once "^1.3.1"
- simple-concat "^1.0.0"
-
-simple-mime@~0.1.0:
- version "0.1.0"
- resolved "https://registry.yarnpkg.com/simple-mime/-/simple-mime-0.1.0.tgz#95f517c4f466d7cff561a71fc9dab2596ea9ef2e"
- integrity sha1-lfUXxPRm18/1YacfydqyWW6p7y4=
-
-slash@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55"
- integrity sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=
-
-source-map-support@^0.4.15:
- version "0.4.18"
- resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.18.tgz#0286a6de8be42641338594e97ccea75f0a2c585f"
- integrity sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==
- dependencies:
- source-map "^0.5.6"
-
-source-map-support@~0.2.8:
- version "0.2.10"
- resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.2.10.tgz#ea5a3900a1c1cb25096a0ae8cc5c2b4b10ded3dc"
- integrity sha1-6lo5AKHByyUJagrozFwrSxDe09w=
- dependencies:
- source-map "0.1.32"
-
-source-map@0.1.32:
- version "0.1.32"
- resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.1.32.tgz#c8b6c167797ba4740a8ea33252162ff08591b266"
- integrity sha1-yLbBZ3l7pHQKjqMyUhYv8IWRsmY=
- dependencies:
- amdefine ">=0.0.4"
-
-source-map@^0.5.6, source-map@^0.5.7:
- version "0.5.7"
- resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"
- integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=
-
-splitargs@0:
- version "0.0.7"
- resolved "https://registry.yarnpkg.com/splitargs/-/splitargs-0.0.7.tgz#fe9f7ae657371b33b10cb80da143cf8249cf6b3b"
- integrity sha1-/p965lc3GzOxDLgNoUPPgknPazs=
-
-sshpk@^1.7.0:
- version "1.14.2"
- resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.14.2.tgz#c6fc61648a3d9c4e764fd3fcdf4ea105e492ba98"
- integrity sha1-xvxhZIo9nE52T9P8306hBeSSupg=
- dependencies:
- asn1 "~0.2.3"
- assert-plus "^1.0.0"
- dashdash "^1.12.0"
- getpass "^0.1.1"
- safer-buffer "^2.0.2"
- optionalDependencies:
- bcrypt-pbkdf "^1.0.0"
- ecc-jsbn "~0.1.1"
- jsbn "~0.1.0"
- tweetnacl "~0.14.0"
-
-string-width@^1.0.1, string-width@^1.0.2, "string-width@^1.0.2 || 2":
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3"
- integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=
- dependencies:
- code-point-at "^1.0.0"
- is-fullwidth-code-point "^1.0.0"
- strip-ansi "^3.0.0"
-
-string-width@^4.1.0, string-width@^4.2.0:
- version "4.2.2"
- resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.2.tgz#dafd4f9559a7585cfba529c6a0a4f73488ebd4c5"
- integrity sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==
- dependencies:
- emoji-regex "^8.0.0"
- is-fullwidth-code-point "^3.0.0"
- strip-ansi "^6.0.0"
-
-string_decoder@^1.1.1:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e"
- integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==
- dependencies:
- safe-buffer "~5.2.0"
-
-string_decoder@~0.10.x:
- version "0.10.31"
- resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94"
- integrity sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=
-
-string_decoder@~1.0.3:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.0.3.tgz#0fc67d7c141825de94282dd536bec6b9bce860ab"
- integrity sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==
- dependencies:
- safe-buffer "~5.1.0"
-
-strip-ansi@^3.0.0, strip-ansi@^3.0.1:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf"
- integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=
- dependencies:
- ansi-regex "^2.0.0"
-
-strip-ansi@^6.0.0:
- version "6.0.0"
- resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532"
- integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==
- dependencies:
- ansi-regex "^5.0.0"
-
-strip-json-comments@3.1.1:
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006"
- integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==
-
-strip-json-comments@~2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a"
- integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo=
-
-supports-color@8.1.1:
- version "8.1.1"
- resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c"
- integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==
- dependencies:
- has-flag "^4.0.0"
-
-supports-color@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7"
- integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=
-
-supports-color@^7.1.0:
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da"
- integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==
- dependencies:
- has-flag "^4.0.0"
-
-tar-fs@^2.0.0:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-2.1.1.tgz#489a15ab85f1f0befabb370b7de4f9eb5cbe8784"
- integrity sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==
- dependencies:
- chownr "^1.1.1"
- mkdirp-classic "^0.5.2"
- pump "^3.0.0"
- tar-stream "^2.1.4"
-
-tar-stream@^2.1.0, tar-stream@^2.1.4:
- version "2.1.4"
- resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.1.4.tgz#c4fb1a11eb0da29b893a5b25476397ba2d053bfa"
- integrity sha512-o3pS2zlG4gxr67GmFYBLlq+dM8gyRGUOvsrHclSkvtVtQbjV0s/+ZE8OpICbaj8clrX3tjeHngYGP7rweaBnuw==
- dependencies:
- bl "^4.0.3"
- end-of-stream "^1.4.1"
- fs-constants "^1.0.0"
- inherits "^2.0.3"
- readable-stream "^3.1.1"
-
-tar@^2.0.0:
- version "2.2.2"
- resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.2.tgz#0ca8848562c7299b8b446ff6a4d60cdbb23edc40"
- integrity sha512-FCEhQ/4rE1zYv9rYXJw/msRqsnmlje5jHP6huWeBZ704jUTy02c5AZyWujpMR1ax6mVw9NyJMfuK2CMDWVIfgA==
- dependencies:
- block-stream "*"
- fstream "^1.0.12"
- inherits "2"
-
-tar@^4, tar@^4.4.12:
- version "4.4.13"
- resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.13.tgz#43b364bc52888d555298637b10d60790254ab525"
- integrity sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==
- dependencies:
- chownr "^1.1.1"
- fs-minipass "^1.2.5"
- minipass "^2.8.6"
- minizlib "^1.2.1"
- mkdirp "^0.5.0"
- safe-buffer "^5.1.2"
- yallist "^3.0.3"
-
-tar@^6.0.2:
- version "6.0.5"
- resolved "https://registry.yarnpkg.com/tar/-/tar-6.0.5.tgz#bde815086e10b39f1dcd298e89d596e1535e200f"
- integrity sha512-0b4HOimQHj9nXNEAA7zWwMM91Zhhba3pspja6sQbgTpynOJf+bkjBnfybNYzbpLbnwXnbyB4LOREvlyXLkCHSg==
- dependencies:
- chownr "^2.0.0"
- fs-minipass "^2.0.0"
- minipass "^3.0.0"
- minizlib "^2.1.1"
- mkdirp "^1.0.3"
- yallist "^4.0.0"
-
-through2@~0.6.3:
- version "0.6.5"
- resolved "https://registry.yarnpkg.com/through2/-/through2-0.6.5.tgz#41ab9c67b29d57209071410e1d7a7a968cd3ad48"
- integrity sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=
- dependencies:
- readable-stream ">=1.0.33-1 <1.1.0-0"
- xtend ">=4.0.0 <4.1.0-0"
-
-to-fast-properties@^1.0.1, to-fast-properties@^1.0.3:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.3.tgz#b83571fa4d8c25b82e231b06e3a3055de4ca1a47"
- integrity sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=
-
-to-regex-range@^5.0.1:
- version "5.0.1"
- resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4"
- integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==
- dependencies:
- is-number "^7.0.0"
-
-tough-cookie@~2.5.0:
- version "2.5.0"
- resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2"
- integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==
- dependencies:
- psl "^1.1.28"
- punycode "^2.1.1"
-
-traceur@0.0.x:
- version "0.0.111"
- resolved "https://registry.yarnpkg.com/traceur/-/traceur-0.0.111.tgz#c04de74d14696c3373427de4fc08ecaf913fc3a1"
- integrity sha1-wE3nTRRpbDNzQn3k/Ajsr5E/w6E=
- dependencies:
- commander "2.9.x"
- glob "5.0.x"
- rsvp "^3.0.13"
- semver "^4.3.3"
- source-map-support "~0.2.8"
-
-"traverse@>=0.3.0 <0.4":
- version "0.3.9"
- resolved "https://registry.yarnpkg.com/traverse/-/traverse-0.3.9.tgz#717b8f220cc0bb7b44e40514c22b2e8bbc70d8b9"
- integrity sha1-cXuPIgzAu3tE5AUUwisui7xw2Lk=
-
-trim-right@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003"
- integrity sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=
-
-tunnel-agent@^0.6.0:
- version "0.6.0"
- resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd"
- integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=
- dependencies:
- safe-buffer "^5.0.1"
-
-tweetnacl@^0.14.3, tweetnacl@~0.14.0:
- version "0.14.5"
- resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64"
- integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=
-
-type-detect@^4.0.0, type-detect@^4.0.5:
- version "4.0.8"
- resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c"
- integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==
-
-type@^1.0.1:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/type/-/type-1.2.0.tgz#848dd7698dafa3e54a6c479e759c4bc3f18847a0"
- integrity sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==
-
-type@^2.0.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/type/-/type-2.1.0.tgz#9bdc22c648cf8cf86dd23d32336a41cfb6475e3f"
- integrity sha512-G9absDWvhAWCV2gmF1zKud3OyC61nZDwWvBL2DApaVFogI07CprggiQAOOjvp2NRjYWFzPyu7vwtDrQFq8jeSA==
-
-universalify@^0.1.0:
- version "0.1.2"
- resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66"
- integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==
-
-unzipper@^0.8.13:
- version "0.8.14"
- resolved "https://registry.yarnpkg.com/unzipper/-/unzipper-0.8.14.tgz#ade0524cd2fc14d11b8de258be22f9d247d3f79b"
- integrity sha512-8rFtE7EP5ssOwGpN2dt1Q4njl0N1hUXJ7sSPz0leU2hRdq6+pra57z4YPBlVqm40vcgv6ooKZEAx48fMTv9x4w==
- dependencies:
- big-integer "^1.6.17"
- binary "~0.3.0"
- bluebird "~3.4.1"
- buffer-indexof-polyfill "~1.0.0"
- duplexer2 "~0.1.4"
- fstream "~1.0.10"
- listenercount "~1.0.1"
- readable-stream "~2.1.5"
- setimmediate "~1.0.4"
-
-uri-js@^4.2.2:
- version "4.2.2"
- resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0"
- integrity sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==
- dependencies:
- punycode "^2.1.0"
-
-url-join@0:
- version "0.0.1"
- resolved "https://registry.yarnpkg.com/url-join/-/url-join-0.0.1.tgz#1db48ad422d3402469a87f7d97bdebfe4fb1e3c8"
- integrity sha1-HbSK1CLTQCRpqH99l73r/k+x48g=
-
-url-template@~2.0.6:
- version "2.0.8"
- resolved "https://registry.yarnpkg.com/url-template/-/url-template-2.0.8.tgz#fc565a3cccbff7730c775f5641f9555791439f21"
- integrity sha1-/FZaPMy/93MMd19WQflVV5FDnyE=
-
-util-deprecate@^1.0.1, util-deprecate@~1.0.1:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
- integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=
-
-util-extend@^1.0.1:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/util-extend/-/util-extend-1.0.3.tgz#a7c216d267545169637b3b6edc6ca9119e2ff93f"
- integrity sha1-p8IW0mdUUWljeztu3GypEZ4v+T8=
-
-uuid@^3.3.2:
- version "3.4.0"
- resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee"
- integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==
-
-verror@1.3.6:
- version "1.3.6"
- resolved "https://registry.yarnpkg.com/verror/-/verror-1.3.6.tgz#cff5df12946d297d2baaefaa2689e25be01c005c"
- integrity sha1-z/XfEpRtKX0rqu+qJoniW+AcAFw=
- dependencies:
- extsprintf "1.0.2"
-
-which@1, which@^1.0.9, which@^1.2.10, which@^1.3.1:
- version "1.3.1"
- resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a"
- integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==
- dependencies:
- isexe "^2.0.0"
-
-which@2.0.2, which@^2.0.2:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1"
- integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==
- dependencies:
- isexe "^2.0.0"
-
-wide-align@1.1.3:
- version "1.1.3"
- resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457"
- integrity sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==
- dependencies:
- string-width "^1.0.2 || 2"
-
-wide-align@^1.1.0:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.2.tgz#571e0f1b0604636ebc0dfc21b0339bbe31341710"
- integrity sha512-ijDLlyQ7s6x1JgCLur53osjm/UXUYD9+0PbYKrBsYisYXzCxN+HC3mYDNy/dWdmf3AwqwU3CXwDCvsNgGK1S0w==
- dependencies:
- string-width "^1.0.2"
-
-window-size@^0.1.4:
- version "0.1.4"
- resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.4.tgz#f8e1aa1ee5a53ec5bf151ffa09742a6ad7697876"
- integrity sha1-+OGqHuWlPsW/FR/6CXQqatdpeHY=
-
-workerpool@6.1.0:
- version "6.1.0"
- resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.1.0.tgz#a8e038b4c94569596852de7a8ea4228eefdeb37b"
- integrity sha512-toV7q9rWNYha963Pl/qyeZ6wG+3nnsyvolaNUS8+R5Wtw6qJPTxIlOP1ZSvcGhEJw+l3HMMmtiNo9Gl61G4GVg==
-
-wrap-ansi@^2.0.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85"
- integrity sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=
- dependencies:
- string-width "^1.0.1"
- strip-ansi "^3.0.1"
-
-wrap-ansi@^7.0.0:
- version "7.0.0"
- resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43"
- integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==
- dependencies:
- ansi-styles "^4.0.0"
- string-width "^4.1.0"
- strip-ansi "^6.0.0"
-
-wrappy@1:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
- integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=
-
-"xtend@>=4.0.0 <4.1.0-0", xtend@~4.0.1:
- version "4.0.2"
- resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54"
- integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==
-
-y18n@^3.2.0:
- version "3.2.2"
- resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.2.tgz#85c901bd6470ce71fc4bb723ad209b70f7f28696"
- integrity sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==
-
-y18n@^5.0.5:
- version "5.0.5"
- resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.5.tgz#8769ec08d03b1ea2df2500acef561743bbb9ab18"
- integrity sha512-hsRUr4FFrvhhRH12wOdfs38Gy7k2FFzB9qgN9v3aLykRq0dRcdcpz5C9FxdS2NuhOrI/628b/KSTJ3rwHysYSg==
-
-yallist@^3.0.0, yallist@^3.0.3:
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd"
- integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==
-
-yallist@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72"
- integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==
-
-yargs-parser@20.2.4, yargs-parser@^20.2.2:
- version "20.2.4"
- resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.4.tgz#b42890f14566796f85ae8e3a25290d205f154a54"
- integrity sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==
-
-yargs-unparser@2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/yargs-unparser/-/yargs-unparser-2.0.0.tgz#f131f9226911ae5d9ad38c432fe809366c2325eb"
- integrity sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==
- dependencies:
- camelcase "^6.0.0"
- decamelize "^4.0.0"
- flat "^5.0.2"
- is-plain-obj "^2.1.0"
-
-yargs@16.2.0:
- version "16.2.0"
- resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66"
- integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==
- dependencies:
- cliui "^7.0.2"
- escalade "^3.1.1"
- get-caller-file "^2.0.5"
- require-directory "^2.1.1"
- string-width "^4.2.0"
- y18n "^5.0.5"
- yargs-parser "^20.2.2"
-
-yargs@^3.6.0:
- version "3.32.0"
- resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.32.0.tgz#03088e9ebf9e756b69751611d2a5ef591482c995"
- integrity sha1-AwiOnr+edWtpdRYR0qXvWRSCyZU=
- dependencies:
- camelcase "^2.0.1"
- cliui "^3.0.3"
- decamelize "^1.1.1"
- os-locale "^1.4.0"
- string-width "^1.0.1"
- window-size "^0.1.4"
- y18n "^3.2.0"
-
-yocto-queue@^0.1.0:
- version "0.1.0"
- resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b"
- integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==
diff --git a/pkgs/applications/networking/instant-messengers/element/seshat/pin.json b/pkgs/applications/networking/instant-messengers/element/seshat/pin.json
index fdb5afe67a25..78d5156f54a4 100644
--- a/pkgs/applications/networking/instant-messengers/element/seshat/pin.json
+++ b/pkgs/applications/networking/instant-messengers/element/seshat/pin.json
@@ -1,6 +1,6 @@
{
- "version": "2.3.0",
- "srcHash": "JyqtM1CCRgxAAdhgQYaIUYPnxEcDrlW1SjDCmsrPL34=",
- "yarnHash": "0bym6i1f0i3bs4fncbiwzwmbxp7j14rz1v4kyvsl02qs97qw1jac",
- "cargoHash": "sha256-EjtH96SC2kgan631+wlu9LStGKm6ljCR4x3/WpCTS0E="
+ "version": "2.3.3",
+ "srcHash": "HmKHWFoO8TQ9S/RcJnJ3h85/2uSkqGrgLnX82hkux4Q=",
+ "yarnHash": "1cbkv8ap7f8vxl5brzqb86d2dyxg555sz67cldrp0vgnk8sq6ibp",
+ "cargoHash": "sha256-WsgTbQ91aZZV5sIuFVjsccdiXivjtAUC1Zs/4uNk1zU="
}
diff --git a/pkgs/applications/networking/instant-messengers/flare-signal/default.nix b/pkgs/applications/networking/instant-messengers/flare-signal/default.nix
new file mode 100644
index 000000000000..a30bfa2dcb02
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/flare-signal/default.nix
@@ -0,0 +1,59 @@
+{ lib
+, stdenv
+, fetchFromGitLab
+, meson
+, ninja
+, pkg-config
+, protobuf
+, libsecret
+, libadwaita
+, rustPlatform
+, desktop-file-utils
+, wrapGAppsHook4
+}:
+
+stdenv.mkDerivation rec {
+ pname = "flare";
+ version = "0.6.0";
+
+ src = fetchFromGitLab {
+ domain = "gitlab.com";
+ owner = "Schmiddiii";
+ repo = pname;
+ rev = version;
+ hash = "sha256-wY95sXWGDjEy8vvP79XliJOn5GQkAvDmOXKmRz0TPEw=";
+ };
+
+ cargoDeps = rustPlatform.fetchCargoTarball {
+ inherit src;
+ name = "${pname}-${version}";
+ hash = "sha256-J3MGQlPYGjhZKH599vfW2WhkXx+Tdr53PviiVpye4R0=";
+ };
+
+ nativeBuildInputs = [
+ desktop-file-utils # for update-desktop-database
+ meson
+ ninja
+ pkg-config
+ wrapGAppsHook4
+ ] ++ (with rustPlatform; [
+ cargoSetupHook
+ rust.cargo
+ rust.rustc
+ ]);
+
+ buildInputs = [
+ libadwaita
+ libsecret
+ protobuf
+ ];
+
+ meta = {
+ changelog = "https://gitlab.com/Schmiddiii/flare/-/blob/${src.rev}/CHANGELOG.md";
+ description = "An unofficial Signal GTK client";
+ homepage = "https://gitlab.com/Schmiddiii/flare";
+ license = lib.licenses.agpl3Plus;
+ maintainers = with lib.maintainers; [ dotlambda tomfitzhenry ];
+ platforms = lib.platforms.linux;
+ };
+}
diff --git a/pkgs/applications/networking/instant-messengers/zoom-us/default.nix b/pkgs/applications/networking/instant-messengers/zoom-us/default.nix
index d18761689ee3..cb132610d0c2 100644
--- a/pkgs/applications/networking/instant-messengers/zoom-us/default.nix
+++ b/pkgs/applications/networking/instant-messengers/zoom-us/default.nix
@@ -48,23 +48,23 @@ let
# and often with different versions. We write them on three lines
# like this (rather than using {}) so that the updater script can
# find where to edit them.
- versions.aarch64-darwin = "5.13.6.14918";
- versions.x86_64-darwin = "5.13.6.14918";
- versions.x86_64-linux = "5.13.5.431";
+ versions.aarch64-darwin = "5.13.7.15481";
+ versions.x86_64-darwin = "5.13.7.15481";
+ versions.x86_64-linux = "5.13.7.683";
srcs = {
aarch64-darwin = fetchurl {
url = "https://zoom.us/client/${versions.aarch64-darwin}/zoomusInstallerFull.pkg?archType=arm64";
name = "zoomusInstallerFull.pkg";
- hash = "sha256-QY9z1bTKtL32HE4XWnBIvCNmDF+3x5N9BdfqJA+24fA=";
+ hash = "sha256-lCg8xCEuZSWnd4fieug9xjudE9q6pNICRsbvA4ATVK8=";
};
x86_64-darwin = fetchurl {
url = "https://zoom.us/client/${versions.x86_64-darwin}/zoomusInstallerFull.pkg";
- hash = "sha256-eSPKzxDPXCbME0eTTDlfsI5KM5qRm79JTtnGJvpiS98=";
+ hash = "sha256-jmMpkqUga/KQJfXFbGURcWQudnCKlIi5NGY6LuekjKw=";
};
x86_64-linux = fetchurl {
url = "https://zoom.us/client/${versions.x86_64-linux}/zoom_x86_64.pkg.tar.xz";
- hash = "sha256-R0IMV/+R7AGFy/ZvNyyvIBv10t1x1U1X6jdHoo6UHKY=";
+ hash = "sha256-1aA3W9eXYhjxr39PoTSAVG7mToFInF7uz8MCiJhk/10=";
};
};
diff --git a/pkgs/applications/networking/mailreaders/evolution/evolution/wrapper.nix b/pkgs/applications/networking/mailreaders/evolution/evolution/wrapper.nix
index 7837393926f6..0a4a4a9d7797 100644
--- a/pkgs/applications/networking/mailreaders/evolution/evolution/wrapper.nix
+++ b/pkgs/applications/networking/mailreaders/evolution/evolution/wrapper.nix
@@ -7,10 +7,16 @@ symlinkJoin {
nativeBuildInputs = [ makeWrapper ];
postBuild = ''
+ declare -a schemas;
+ for plugin in ${toString plugins}; do
+ for schema in $plugin/share/gsettings-schemas/*; do
+ schemas+=($schema);
+ done
+ done
for i in $out/bin/* $out/libexec/**; do
if [ ! -d $i ]; then
echo wrapping $i
- wrapProgram $i --set EDS_EXTRA_PREFIXES "${lib.concatStringsSep ":" plugins}"
+ wrapProgram $i --set EDS_EXTRA_PREFIXES "${lib.concatStringsSep ":" plugins}" --prefix XDG_DATA_DIRS : "''${schemas[@]}"
fi
done
diff --git a/pkgs/applications/networking/mailreaders/thunderbird/packages.nix b/pkgs/applications/networking/mailreaders/thunderbird/packages.nix
index 8fefcc1c3143..6c705d7cd362 100644
--- a/pkgs/applications/networking/mailreaders/thunderbird/packages.nix
+++ b/pkgs/applications/networking/mailreaders/thunderbird/packages.nix
@@ -5,13 +5,13 @@ rec {
thunderbird-102 = (buildMozillaMach rec {
pname = "thunderbird";
- version = "102.7.1";
+ version = "102.7.2";
application = "comm/mail";
applicationName = "Mozilla Thunderbird";
binaryName = pname;
src = fetchurl {
url = "mirror://mozilla/thunderbird/releases/${version}/source/thunderbird-${version}.source.tar.xz";
- sha512 = "6310f3f122a1a61917ec2d0efe3a031b199ac13681e9fb4035abc0f4de0dbafb12accffbd63facb23f2cebf0124a13f7538a33176a2a513d1f685bee40db50ba";
+ sha512 = "7371079d59cceb47fdd0e9661f79eae7510ab0f5bf8e80c21952dfb5fed3db72279a4ac9d3a3de3617194fb36a9420ae814a69ee19a93ba242d2aa2b921e3010";
};
extraPatches = [
# The file to be patched is different from firefox's `no-buildconfig-ffx90.patch`.
diff --git a/pkgs/applications/networking/nextcloud-client/0001-Explicitly-copy-dbus-files-into-the-store-dir.patch b/pkgs/applications/networking/nextcloud-client/0001-Explicitly-copy-dbus-files-into-the-store-dir.patch
index ab7cb9bffa45..260a7dd4ddd7 100644
--- a/pkgs/applications/networking/nextcloud-client/0001-Explicitly-copy-dbus-files-into-the-store-dir.patch
+++ b/pkgs/applications/networking/nextcloud-client/0001-Explicitly-copy-dbus-files-into-the-store-dir.patch
@@ -8,18 +8,13 @@ Subject: [PATCH] Explicitly copy dbus files into the store dir
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/shell_integration/libcloudproviders/CMakeLists.txt b/shell_integration/libcloudproviders/CMakeLists.txt
-index 1f35335..7f76951 100644
+index 2e7349ef7..512d4b188 100644
--- a/shell_integration/libcloudproviders/CMakeLists.txt
+++ b/shell_integration/libcloudproviders/CMakeLists.txt
-@@ -19,7 +19,7 @@ MACRO(PKGCONFIG_GETVAR _package _var _output_variable)
- ENDMACRO(PKGCONFIG_GETVAR _package _var _output_variable)
-
+@@ -1,5 +1,6 @@
macro(dbus_add_activation_service _sources)
-- PKGCONFIG_GETVAR(dbus-1 session_bus_services_dir _install_dir)
+ pkg_get_variable(_install_dir dbus-1 session_bus_services_dir)
+ set(_install_dir "${CMAKE_INSTALL_DATADIR}/dbus-1/service")
foreach (_i ${_sources})
get_filename_component(_service_file ${_i} ABSOLUTE)
string(REGEX REPLACE "\\.service.*$" ".service" _output_file ${_i})
---
-2.19.2
-
diff --git a/pkgs/applications/networking/nextcloud-client/default.nix b/pkgs/applications/networking/nextcloud-client/default.nix
index e409551f1232..24d0cdab722e 100644
--- a/pkgs/applications/networking/nextcloud-client/default.nix
+++ b/pkgs/applications/networking/nextcloud-client/default.nix
@@ -26,7 +26,7 @@
mkDerivation rec {
pname = "nextcloud-client";
- version = "3.6.6";
+ version = "3.7.1";
outputs = [ "out" "dev" ];
@@ -34,7 +34,7 @@ mkDerivation rec {
owner = "nextcloud";
repo = "desktop";
rev = "v${version}";
- sha256 = "sha256-P3LSgrcMZZM0OY3yQz8t3Cf5spJJTB+JTIpoT9U3+xc=";
+ sha256 = "sha256-MbxGS1Msb3xCW0z8FrIZEY3XaBa4BmN+JFBkV/Pf79A=";
};
patches = [
diff --git a/pkgs/applications/networking/remote/teamviewer/default.nix b/pkgs/applications/networking/remote/teamviewer/default.nix
index f127d7c53d32..759388cbd425 100644
--- a/pkgs/applications/networking/remote/teamviewer/default.nix
+++ b/pkgs/applications/networking/remote/teamviewer/default.nix
@@ -26,11 +26,11 @@ mkDerivation rec {
pname = "teamviewer";
# teamviewer itself has not development files but the dev output removes propagated other dev outputs from runtime
outputs = [ "out" "dev" ];
- version = "15.35.7";
+ version = "15.38.3";
src = fetchurl {
- url = "https://dl.tvcdn.de/download/linux/version_15x/teamviewer_${version}_amd64.deb";
- sha256 = "sha256-KNUhe0c6Th2pW7+Lmo62FYdOv+8t7Z5/eQkYPN8eusc=";
+ url = "https://dl.tvcdn.de/download/linux/version_${lib.versions.major version}x/teamviewer_${version}_amd64.deb";
+ sha256 = "sha256-+GGpGV8rl15VQvPRA2PWngQI4VoxCrZ0ArEm9FgdOVE=";
};
unpackPhase = ''
diff --git a/pkgs/applications/networking/sniffnet/default.nix b/pkgs/applications/networking/sniffnet/default.nix
index 6dc59e1432ab..074d636ff821 100644
--- a/pkgs/applications/networking/sniffnet/default.nix
+++ b/pkgs/applications/networking/sniffnet/default.nix
@@ -1,9 +1,11 @@
{ lib
, rustPlatform
-, fetchCrate
+, fetchFromGitHub
, pkg-config
, libpcap
, stdenv
+, alsa-lib
+, expat
, fontconfig
, libGL
, xorg
@@ -12,20 +14,24 @@
rustPlatform.buildRustPackage rec {
pname = "sniffnet";
- version = "1.0.1";
+ version = "1.1.0";
- src = fetchCrate {
- inherit pname version;
- sha256 = "sha256-8K774j04BOEuJjnFYjaSctPwBrKYYKqjFS2+PyxJ2FM=";
+ src = fetchFromGitHub {
+ owner = "gyulyvgc";
+ repo = "sniffnet";
+ rev = "v${version}";
+ hash = "sha256-zqk0N1S0vylleyyXaSflIZyWncZV0+wbSy1oAbyLx/4=";
};
- cargoSha256 = "sha256-096i4wDdoJCICd0L2QNY+7cKHQnijK22zj4XaQNuko8=";
+ cargoHash = "sha256-9CTA7Yh2O5S8DvRjwvkrb4ye0/8f+l0tsTxNBMmxLpQ=";
nativeBuildInputs = [ pkg-config ];
buildInputs = [
libpcap
] ++ lib.optionals stdenv.isLinux [
+ alsa-lib
+ expat
fontconfig
libGL
xorg.libX11
@@ -34,6 +40,7 @@ rustPlatform.buildRustPackage rec {
xorg.libXrandr
] ++ lib.optionals stdenv.isDarwin [
darwin.apple_sdk.frameworks.AppKit
+ rustPlatform.bindgenHook
];
postFixup = lib.optionalString stdenv.isLinux ''
diff --git a/pkgs/applications/radio/hackrf/default.nix b/pkgs/applications/radio/hackrf/default.nix
index 1180f5a941ae..647f3efd6706 100644
--- a/pkgs/applications/radio/hackrf/default.nix
+++ b/pkgs/applications/radio/hackrf/default.nix
@@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "hackrf";
- version = "2022.09.1";
+ version = "2023.01.1";
src = fetchFromGitHub {
owner = "greatscottgadgets";
repo = "hackrf";
rev = "v${version}";
- sha256 = "sha256-c+9DEMxioIbEDNTdLSOnxX1zpFk07K9rlGP9goEJMlU=";
+ sha256 = "sha256-zvSSCNtqHOZVlrBggjgxEyUTqTiAIAhdzUkm4Pm9b3k=";
};
nativeBuildInputs = [
diff --git a/pkgs/applications/radio/soapysdr/default.nix b/pkgs/applications/radio/soapysdr/default.nix
index adf997773ecc..59a1e0f59acc 100644
--- a/pkgs/applications/radio/soapysdr/default.nix
+++ b/pkgs/applications/radio/soapysdr/default.nix
@@ -5,7 +5,8 @@
, python ? null
, ncurses, swig2
, extraPackages ? []
-} :
+, testers
+}:
let
@@ -14,7 +15,7 @@ let
modulesPath = "lib/SoapySDR/modules" + modulesVersion;
extraPackagesSearchPath = lib.makeSearchPath modulesPath extraPackages;
-in stdenv.mkDerivation {
+in stdenv.mkDerivation (finalAttrs: {
pname = "soapysdr";
inherit version;
@@ -58,12 +59,15 @@ in stdenv.mkDerivation {
done
'';
+ passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
+
meta = with lib; {
homepage = "https://github.com/pothosware/SoapySDR";
description = "Vendor and platform neutral SDR support library";
license = licenses.boost;
maintainers = with maintainers; [ markuskowa ];
mainProgram = "SoapySDRUtil";
+ pkgConfigModules = [ "SoapySDR" ];
platforms = platforms.unix;
};
-}
+})
diff --git a/pkgs/applications/science/math/bliss/default.nix b/pkgs/applications/science/math/bliss/default.nix
index fe68d9d245c5..4fccc3a46403 100644
--- a/pkgs/applications/science/math/bliss/default.nix
+++ b/pkgs/applications/science/math/bliss/default.nix
@@ -32,6 +32,6 @@ stdenv.mkDerivation rec {
description = "An open source tool for computing automorphism groups and canonical forms of graphs. It has both a command line user interface as well as C++ and C programming language APIs";
homepage = "http://www.tcs.hut.fi/Software/bliss/";
license = licenses.lgpl3;
- platforms = [ "i686-linux" "x86_64-linux" ];
+ platforms = [ "i686-linux" "x86_64-linux" "aarch64-linux" ];
};
}
diff --git a/pkgs/applications/science/math/polymake/default.nix b/pkgs/applications/science/math/polymake/default.nix
index 0eecff0a1798..4dc11db532fd 100644
--- a/pkgs/applications/science/math/polymake/default.nix
+++ b/pkgs/applications/science/math/polymake/default.nix
@@ -25,13 +25,13 @@
stdenv.mkDerivation rec {
pname = "polymake";
- version = "4.8";
+ version = "4.9";
src = fetchurl {
# "The minimal version is a packager friendly version which omits
# the bundled sources of cdd, lrs, libnormaliz, nauty and jReality."
url = "https://polymake.org/lib/exe/fetch.php/download/polymake-${version}-minimal.tar.bz2";
- sha256 = "sha256-GfsAypJBpHwpvoEl/IzJ1gQfeMcYwB7oNe01xWJ+86w=";
+ sha256 = "sha256-BMkLgms6JsWmPhi+MZv/Eqie8BKL+KaPtk3xBZSyWfM=";
};
nativeBuildInputs = [
diff --git a/pkgs/applications/science/molecular-dynamics/gromacs/default.nix b/pkgs/applications/science/molecular-dynamics/gromacs/default.nix
index 5093a586a85a..26e6ab12ab04 100644
--- a/pkgs/applications/science/molecular-dynamics/gromacs/default.nix
+++ b/pkgs/applications/science/molecular-dynamics/gromacs/default.nix
@@ -19,11 +19,11 @@ let
in stdenv.mkDerivation rec {
pname = "gromacs";
- version = "2022.4";
+ version = "2023";
src = fetchurl {
url = "ftp://ftp.gromacs.org/pub/gromacs/gromacs-${version}.tar.gz";
- sha256 = "sha256-xRG+YC/ylAIGW1CQaEHe+YdSY5uSqV8bChBg2bXicpc=";
+ sha256 = "sha256-rJLG2nL7vMpBT9io2Xnlbs8XxMHNq+0tpc+05yd7e6g=";
};
nativeBuildInputs = [ cmake ];
diff --git a/pkgs/applications/version-management/gfold/default.nix b/pkgs/applications/version-management/gfold/default.nix
index dcce6f7f3c00..92e8d9095b72 100644
--- a/pkgs/applications/version-management/gfold/default.nix
+++ b/pkgs/applications/version-management/gfold/default.nix
@@ -12,7 +12,7 @@
let
pname = "gfold";
- version = "4.2.0";
+ version = "4.3.0";
in
rustPlatform.buildRustPackage {
inherit pname version;
@@ -21,10 +21,10 @@ rustPlatform.buildRustPackage {
owner = "nickgerace";
repo = pname;
rev = version;
- sha256 = "sha256-cH4FhXrdT0ejpyt8G2rSGw9WE9sfOXRkSA9+FVwRmtQ=";
+ sha256 = "sha256-yvMp5x1uiJGkWHnwfONx4pVotSSE6sTW4uqWpI2AFXg=";
};
- cargoSha256 = "sha256-NmVmqBzRUdumWQ9MzolZTo0VQW9JTjIyYRwUTzGiQZ4=";
+ cargoHash = "sha256-MBWaNjs840twU9SQLvgVcXTT0RN2QJ7PiaAohiiQu3s=";
buildInputs = lib.optionals stdenv.isDarwin [ libiconv Security ];
diff --git a/pkgs/applications/version-management/gh/default.nix b/pkgs/applications/version-management/gh/default.nix
index 9018635ad9b8..3f154f0350c4 100644
--- a/pkgs/applications/version-management/gh/default.nix
+++ b/pkgs/applications/version-management/gh/default.nix
@@ -2,16 +2,16 @@
buildGoModule rec {
pname = "gh";
- version = "2.22.1";
+ version = "2.23.0";
src = fetchFromGitHub {
owner = "cli";
repo = "cli";
rev = "v${version}";
- hash = "sha256-TREy2pzVAHClwbryfEgX2WqtQ8+RmJtCNrESeaHDHMs=";
+ hash = "sha256-91TmPIjFOCeZmbobn3mIJis5qofJFmNGuX19+Cyo8Ck=";
};
- vendorHash = "sha256-OjTl43UQGGHqCrw0kMBShuS8aonjWczfzQGmGJLhdrU=";
+ vendorHash = "sha256-NiXC0ooUkAqFCLp3eRBpryazQU94gSnw0gYFwQNeCo4=";
nativeBuildInputs = [ installShellFiles ];
diff --git a/pkgs/applications/version-management/git-machete/default.nix b/pkgs/applications/version-management/git-machete/default.nix
index 24fc850b31b0..9667e7bd2fee 100644
--- a/pkgs/applications/version-management/git-machete/default.nix
+++ b/pkgs/applications/version-management/git-machete/default.nix
@@ -12,13 +12,13 @@
buildPythonApplication rec {
pname = "git-machete";
- version = "3.14.3";
+ version = "3.15.0";
src = fetchFromGitHub {
owner = "virtuslab";
repo = pname;
rev = "v${version}";
- hash = "sha256-VOny8r00JYUT4Z7LukvWTH9ZTn86vn2Dc1YhPmtdE5s=";
+ hash = "sha256-HSgCvHjSOrMPsdOPtgFUeK6b0ioVnwTtg2oHGg4BrZw=";
};
nativeBuildInputs = [ installShellFiles ];
diff --git a/pkgs/applications/version-management/glab/default.nix b/pkgs/applications/version-management/glab/default.nix
index 9d6bbbd13f67..a789a35f7a5d 100644
--- a/pkgs/applications/version-management/glab/default.nix
+++ b/pkgs/applications/version-management/glab/default.nix
@@ -2,16 +2,16 @@
buildGoModule rec {
pname = "glab";
- version = "1.24.1";
+ version = "1.25.3";
src = fetchFromGitLab {
owner = "gitlab-org";
repo = "cli";
rev = "v${version}";
- sha256 = "sha256-CUchYPMBTINkMJg8TC8rKMVkrcj/Gy+ZxV7jbtMFvpg=";
+ hash = "sha256-x/VH6cRrJZ2t2iftBPC86FcgIwjRNzV11MwLG2y+Paw=";
};
- vendorSha256 = "sha256-NuK63ibb1t+HnSR/gCFS7HWVtfGLazVx2M+qxRNCR1I=";
+ vendorHash = "sha256-FZ1CiR8Rj/sMoCnQm6ArGQfRTlvmD14EZDmufnlTSTk=";
ldflags = [
"-s"
diff --git a/pkgs/applications/version-management/sourcehut/default.nix b/pkgs/applications/version-management/sourcehut/default.nix
index 7faca39e2fe4..9c9f6f403330 100644
--- a/pkgs/applications/version-management/sourcehut/default.nix
+++ b/pkgs/applications/version-management/sourcehut/default.nix
@@ -2,6 +2,7 @@
, callPackage
, recurseIntoAttrs
, nixosTests
+, config
}:
# To expose the *srht modules, they have to be a python module so we use `buildPythonModule`
@@ -28,12 +29,10 @@ let
};
};
in
-with python.pkgs; recurseIntoAttrs {
+with python.pkgs; recurseIntoAttrs ({
inherit python;
coresrht = toPythonApplication srht;
buildsrht = toPythonApplication buildsrht;
- # Added 2022-10-29
- dispatchsrht = throw "dispatch is deprecated. See https://sourcehut.org/blog/2022-08-01-dispatch-deprecation-plans/ for more information.";
gitsrht = toPythonApplication gitsrht;
hgsrht = toPythonApplication hgsrht;
hubsrht = toPythonApplication hubsrht;
@@ -46,4 +45,7 @@ with python.pkgs; recurseIntoAttrs {
passthru.tests = {
nixos-sourcehut = nixosTests.sourcehut;
};
-}
+} // lib.optionalAttrs config.allowAliases {
+ # Added 2022-10-29
+ dispatchsrht = throw "dispatch is deprecated. See https://sourcehut.org/blog/2022-08-01-dispatch-deprecation-plans/ for more information.";
+})
diff --git a/pkgs/applications/video/handbrake/default.nix b/pkgs/applications/video/handbrake/default.nix
index ceee17a9bccd..bd15099b26ba 100644
--- a/pkgs/applications/video/handbrake/default.nix
+++ b/pkgs/applications/video/handbrake/default.nix
@@ -25,7 +25,7 @@
, numactl
, writeText
# Processing, video codecs, containers
-, ffmpeg-full
+, ffmpeg_5-full
, nv-codec-headers
, libogg
, x264
@@ -34,6 +34,7 @@
, libtheora
, dav1d
, zimg
+, svt-av1
# Codecs, audio
, libopus
, lame
@@ -84,57 +85,55 @@
}:
let
- version = "1.5.1";
+ version = "1.6.1";
src = fetchFromGitHub {
owner = "HandBrake";
repo = "HandBrake";
rev = version;
- sha256 = "1kk11zl1mk37d4cvbc75gfndmma7vy3vkp4gmkyl92kiz6zadhyy";
+ sha256 = "sha256-0MJ1inMNA6s8l2S0wnpM2c7FxOoOHxs9u4E/rgKfjJo=";
};
# Handbrake maintains a set of ffmpeg patches. In particular, these
# patches are required for subtitle timing to work correctly. See:
# https://github.com/HandBrake/HandBrake/issues/4029
- ffmpeg-version = "4.4.1";
- ffmpeg-hb = (ffmpeg-full.override { withSdl2 = false; }).overrideAttrs (old: {
+ ffmpeg-version = "5.1.1";
+ ffmpeg-hb = ffmpeg_5-full.overrideAttrs (old: {
version = ffmpeg-version;
src = fetchurl {
url = "https://www.ffmpeg.org/releases/ffmpeg-${ffmpeg-version}.tar.bz2";
- hash = "sha256-j8nyCsXtlRFanihWR63Q7t1cwamKA5raFMEyRS+YrEI=";
+ hash = "sha256-zQ4W+QNCEmbVzN3t97g7nldUrvS596fwbOnkyALwVFs=";
};
- patches = old.patches or [] ++ [
- "${src}/contrib/ffmpeg/A01-qsv-scale-fix-green-stripes.patch"
- "${src}/contrib/ffmpeg/A02-qsv-interpolation.patch"
- "${src}/contrib/ffmpeg/A03-qsv-dx11-ffmpeg44.patch"
- "${src}/contrib/ffmpeg/A04-configure-ensure-the-right-libmfx-version-is-used-wh.patch"
- "${src}/contrib/ffmpeg/A05-qsv-add-includedir-mfx-to-the-search-path-for-old-ve.patch"
- "${src}/contrib/ffmpeg/A06-qsv-load-user-plugin-for-MFX_VERSION-2.0.patch"
- "${src}/contrib/ffmpeg/A07-qsv-build-audio-related-code-when-MFX_VERSION-2.0.patch"
- "${src}/contrib/ffmpeg/A08-qsvenc-don-t-support-multi-frame-encode-when-MFX_VER.patch"
- "${src}/contrib/ffmpeg/A09-qsvenc-don-t-support-MFX_RATECONTROL_LA_EXT-when-MFX.patch"
- "${src}/contrib/ffmpeg/A10-qsv-don-t-support-OPAQUE-memory-when-MFX_VERSION-2.0.patch"
- "${src}/contrib/ffmpeg/A11-qsv-opaque-deinterlace.patch"
- "${src}/contrib/ffmpeg/A12-qsv-opaque-vpp.patch"
- "${src}/contrib/ffmpeg/A13-qsv-opaque-hwcontext_qsv.patch"
- "${src}/contrib/ffmpeg/A14-configure-check-mfxdefs.h-instead-of-mfxvp9.h-for-MF.patch"
- "${src}/contrib/ffmpeg/A15-configure-allow-user-to-build-FFmpeg-against-oneVPL.patch"
- "${src}/contrib/ffmpeg/A16-qsv-add-macro-QSV_ONEVPL-for-the-oneVPL-SDK.patch"
- "${src}/contrib/ffmpeg/A17-qsv-use-a-new-method-to-create-mfx-session-when-usin.patch"
- "${src}/contrib/ffmpeg/A18-qsv-new-method-hwcontext_qsv.patch"
- "${src}/contrib/ffmpeg/A19-qsv-fix-session-for-d3d11-device.patch"
- "${src}/contrib/ffmpeg/A20-mov-read-name-track-tag-written-by-movenc.patch"
- "${src}/contrib/ffmpeg/A21-movenc-write-3gpp-track-titl-tag.patch"
- "${src}/contrib/ffmpeg/A22-mov-read-3gpp-udta-tags.patch"
- "${src}/contrib/ffmpeg/A23-movenc-write-3gpp-track-names-tags-for-all-available.patch"
- "${src}/contrib/ffmpeg/A24-FFmpeg-devel-amfenc-Add-support-for-pict_type-field.patch"
- "${src}/contrib/ffmpeg/A25-dvdsubdec-fix-processing-of-partial-packets.patch"
- "${src}/contrib/ffmpeg/A26-ccaption_dec-return-number-of-bytes-used.patch"
- "${src}/contrib/ffmpeg/A27-dvdsubdec-return-number-of-bytes-used.patch"
- "${src}/contrib/ffmpeg/A28-dvdsubdec-use-pts-of-initial-packet.patch"
- "${src}/contrib/ffmpeg/A29-matroskaenc-aac-extradata-updated.patch"
- "${src}/contrib/ffmpeg/A30-ccaption_dec-fix-pts-in-real_time-mode.patch"
- "${src}/contrib/ffmpeg/A32-qsv-fix-decode-10bit-hdr.patch"
+ patches = old.patches or [ ] ++ [
+ "${src}/contrib/ffmpeg/A01-qsv-libavfilter-qsvvpp-change-the-output-frame-s-width-a.patch"
+ "${src}/contrib/ffmpeg/A02-qsv-configure-ensure-enable-libmfx-uses-libmfx-1.x.patch"
+ "${src}/contrib/ffmpeg/A03-qsv-configure-fix-the-check-for-MFX_CODEC_VP9.patch"
+ "${src}/contrib/ffmpeg/A04-qsv-remove-mfx-prefix-from-mfx-headers.patch"
+ "${src}/contrib/ffmpeg/A05-qsv-load-user-plugin-for-MFX_VERSION-2.0.patch"
+ "${src}/contrib/ffmpeg/A06-qsv-build-audio-related-code-when-MFX_VERSION-2.0.patch"
+ "${src}/contrib/ffmpeg/A07-qsvenc-support-multi-frame-encode-when-MFX_VERSION-2.patch"
+ "${src}/contrib/ffmpeg/A08-qsvenc-support-MFX_RATECONTROL_LA_EXT-when-MFX_VERSI.patch"
+ "${src}/contrib/ffmpeg/A09-qsv-support-OPAQUE-memory-when-MFX_VERSION-2.0.patch"
+ "${src}/contrib/ffmpeg/A10-qsv-configure-add-enable-libvpl-option.patch"
+ "${src}/contrib/ffmpeg/A11-qsv-use-a-new-method-to-create-mfx-session-when-usin.patch"
+ "${src}/contrib/ffmpeg/A12-qsv-fix-decode-10bit-hdr.patch"
+ "${src}/contrib/ffmpeg/A13-mov-read-name-track-tag-written-by-movenc.patch"
+ "${src}/contrib/ffmpeg/A14-movenc-write-3gpp-track-titl-tag.patch"
+ "${src}/contrib/ffmpeg/A15-mov-read-3gpp-udta-tags.patch"
+ "${src}/contrib/ffmpeg/A16-movenc-write-3gpp-track-names-tags-for-all-available.patch"
+ "${src}/contrib/ffmpeg/A17-FFmpeg-devel-amfenc-Add-support-for-pict_type-field.patch"
+ "${src}/contrib/ffmpeg/A18-dvdsubdec-fix-processing-of-partial-packets.patch"
+ "${src}/contrib/ffmpeg/A19-ccaption_dec-return-number-of-bytes-used.patch"
+ "${src}/contrib/ffmpeg/A20-dvdsubdec-return-number-of-bytes-used.patch"
+ "${src}/contrib/ffmpeg/A21-dvdsubdec-use-pts-of-initial-packet.patch"
+ "${src}/contrib/ffmpeg/A22-matroskaenc-aac-extradata-updated.patch"
+ "${src}/contrib/ffmpeg/A23-ccaption_dec-fix-pts-in-real_time-mode.patch"
+ "${src}/contrib/ffmpeg/A24-fix-eac3-dowmix.patch"
+ "${src}/contrib/ffmpeg/A25-enable-truehd-pass.patch"
+ "${src}/contrib/ffmpeg/A26-Update-the-min-version-to-1.4.23.0-for-AMF-SDK.patch"
+ "${src}/contrib/ffmpeg/A27-avcodec-amfenc-Fixes-the-color-information-in-the-ou.patch"
+ "${src}/contrib/ffmpeg/A28-avcodec-amfenc-HDR-metadata.patch"
+ "${src}/contrib/ffmpeg/A30-svt-av1-backports.patch"
];
});
@@ -151,148 +150,151 @@ let
inherit (lib) optional optionals optionalString versions;
in
-let self = stdenv.mkDerivation rec {
- pname = "handbrake";
- inherit version src;
+let
+ self = stdenv.mkDerivation rec {
+ pname = "handbrake";
+ inherit version src;
- postPatch = ''
- install -Dm444 ${versionFile} ${versionFile.name}
+ postPatch = ''
+ install -Dm444 ${versionFile} ${versionFile.name}
- patchShebangs scripts
+ patchShebangs scripts
- substituteInPlace libhb/hb.c \
- --replace 'return hb_version;' 'return "${version}";'
+ substituteInPlace libhb/hb.c \
+ --replace 'return hb_version;' 'return "${version}";'
- # Force using nixpkgs dependencies
- sed -i '/MODULES += contrib/d' make/include/main.defs
- sed -e 's/^[[:space:]]*\(meson\|ninja\|nasm\)[[:space:]]*= ToolProbe.*$//g' \
- -e '/ ## Additional library and tool checks/,/ ## MinGW specific library and tool checks/d' \
- -i make/configure.py
- '' + optionalString stdenv.isDarwin ''
- # Use the Nix-provided libxml2 instead of the patched version available on
- # the Handbrake website.
- substituteInPlace libhb/module.defs \
- --replace '$(CONTRIB.build/)include/libxml2' ${libxml2.dev}/include/libxml2
+ # Force using nixpkgs dependencies
+ sed -i '/MODULES += contrib/d' make/include/main.defs
+ sed -e 's/^[[:space:]]*\(meson\|ninja\|nasm\)[[:space:]]*= ToolProbe.*$//g' \
+ -e '/ ## Additional library and tool checks/,/ ## MinGW specific library and tool checks/d' \
+ -i make/configure.py
+ '' + optionalString stdenv.isDarwin ''
+ # Use the Nix-provided libxml2 instead of the patched version available on
+ # the Handbrake website.
+ substituteInPlace libhb/module.defs \
+ --replace '$(CONTRIB.build/)include/libxml2' ${libxml2.dev}/include/libxml2
- # Prevent the configure script from failing if xcodebuild isn't available,
- # which it isn't in the Nix context. (The actual build goes fine without
- # xcodebuild.)
- sed -e '/xcodebuild = ToolProbe/s/abort=.\+)/abort=False)/' -i make/configure.py
- '' + optionalString stdenv.isLinux ''
- # Use the Nix-provided libxml2 instead of the system-provided one.
- substituteInPlace libhb/module.defs \
- --replace /usr/include/libxml2 ${libxml2.dev}/include/libxml2
- '';
-
- nativeBuildInputs = [
- autoconf
- automake
- libtool
- m4
- pkg-config
- python3
- ]
- ++ optionals useGtk [ intltool wrapGAppsHook ];
-
- buildInputs = [
- a52dec
- dav1d
- ffmpeg-hb
- fontconfig
- freetype
- fribidi
- harfbuzz
- jansson
- lame
- libass
- libbluray
- libdvdcss
- libdvdnav
- libdvdread
- libiconv
- libjpeg_turbo
- libogg
- libopus
- libsamplerate
- libtheora
- libvorbis
- libvpx
- libxml2
- speex
- x264
- x265
- xz
- zimg
- ]
- ++ optional (!stdenv.isDarwin) numactl
- ++ optionals useGtk [
- dbus-glib
- glib
- gst_all_1.gst-plugins-base
- gst_all_1.gstreamer
- gtk3
- hicolor-icon-theme
- libappindicator-gtk3
- libgudev
- libnotify
- udev
- ]
- ++ optional useFdk fdk_aac
- ++ optionals stdenv.isDarwin [ AudioToolbox Foundation libobjc VideoToolbox ]
- # NOTE: 2018-12-27: Handbrake supports nv-codec-headers for Linux only,
- # look at ./make/configure.py search "enable_nvenc"
- ++ optional stdenv.isLinux nv-codec-headers;
-
- configureFlags = [
- "--disable-df-fetch"
- "--disable-df-verify"
- "--disable-gtk-update-checks"
- ]
- ++ optional (!useGtk) "--disable-gtk"
- ++ optional useFdk "--enable-fdk-aac"
- ++ optional stdenv.isDarwin "--disable-xcode"
- ++ optional stdenv.hostPlatform.isx86 "--harden";
-
- # NOTE: 2018-12-27: Check NixOS HandBrake test if changing
- NIX_LDFLAGS = [ "-lx265" ];
-
- makeFlags = [ "--directory=build" ];
-
- passthru.tests = {
- basic-conversion =
- let
- # Big Buck Bunny example, licensed under CC Attribution 3.0.
- testMkv = fetchurl {
- url = "https://github.com/Matroska-Org/matroska-test-files/blob/cf0792be144ac470c4b8052cfe19bb691993e3a2/test_files/test1.mkv?raw=true";
- sha256 = "1hfxbbgxwfkzv85pvpvx55a72qsd0hxjbm9hkl5r3590zw4s75h9";
- };
- in
- runCommand "${pname}-${version}-basic-conversion" { nativeBuildInputs = [ self ]; } ''
- mkdir -p $out
- cd $out
- HandBrakeCLI -i ${testMkv} -o test.mp4 -e x264 -q 20 -B 160
- test -e test.mp4
- HandBrakeCLI -i ${testMkv} -o test.mkv -e x264 -q 20 -B 160
- test -e test.mkv
- '';
- version = testers.testVersion { package = self; command = "HandBrakeCLI --version"; };
- };
-
- meta = with lib; {
- homepage = "https://handbrake.fr/";
- description = "A tool for converting video files and ripping DVDs";
- longDescription = ''
- Tool for converting and remuxing video files
- into selection of modern and widely supported codecs
- and containers. Very versatile and customizable.
- Package provides:
- CLI - `HandbrakeCLI`
- GTK GUI - `ghb`
+ # Prevent the configure script from failing if xcodebuild isn't available,
+ # which it isn't in the Nix context. (The actual build goes fine without
+ # xcodebuild.)
+ sed -e '/xcodebuild = ToolProbe/s/abort=.\+)/abort=False)/' -i make/configure.py
+ '' + optionalString stdenv.isLinux ''
+ # Use the Nix-provided libxml2 instead of the system-provided one.
+ substituteInPlace libhb/module.defs \
+ --replace /usr/include/libxml2 ${libxml2.dev}/include/libxml2
'';
- license = licenses.gpl2Only;
- maintainers = with maintainers; [ Anton-Latukha wmertens ];
- platforms = with platforms; unix;
- broken = stdenv.isDarwin && lib.versionOlder stdenv.hostPlatform.darwinMinVersion "10.13";
+
+ nativeBuildInputs = [
+ autoconf
+ automake
+ libtool
+ m4
+ pkg-config
+ python3
+ ]
+ ++ optionals useGtk [ intltool wrapGAppsHook ];
+
+ buildInputs = [
+ a52dec
+ dav1d
+ ffmpeg-hb
+ fontconfig
+ freetype
+ fribidi
+ harfbuzz
+ jansson
+ lame
+ libass
+ libbluray
+ libdvdcss
+ libdvdnav
+ libdvdread
+ libiconv
+ libjpeg_turbo
+ libogg
+ libopus
+ libsamplerate
+ libtheora
+ libvorbis
+ libvpx
+ libxml2
+ speex
+ svt-av1
+ x264
+ x265
+ xz
+ zimg
+ ]
+ ++ optional (!stdenv.isDarwin) numactl
+ ++ optionals useGtk [
+ dbus-glib
+ glib
+ gst_all_1.gst-plugins-base
+ gst_all_1.gstreamer
+ gtk3
+ hicolor-icon-theme
+ libappindicator-gtk3
+ libgudev
+ libnotify
+ udev
+ ]
+ ++ optional useFdk fdk_aac
+ ++ optionals stdenv.isDarwin [ AudioToolbox Foundation libobjc VideoToolbox ]
+ # NOTE: 2018-12-27: Handbrake supports nv-codec-headers for Linux only,
+ # look at ./make/configure.py search "enable_nvenc"
+ ++ optional stdenv.isLinux nv-codec-headers;
+
+ configureFlags = [
+ "--disable-df-fetch"
+ "--disable-df-verify"
+ "--disable-gtk-update-checks"
+ ]
+ ++ optional (!useGtk) "--disable-gtk"
+ ++ optional useFdk "--enable-fdk-aac"
+ ++ optional stdenv.isDarwin "--disable-xcode"
+ ++ optional stdenv.hostPlatform.isx86 "--harden";
+
+ # NOTE: 2018-12-27: Check NixOS HandBrake test if changing
+ NIX_LDFLAGS = [ "-lx265" ];
+
+ makeFlags = [ "--directory=build" ];
+
+ passthru.tests = {
+ basic-conversion =
+ let
+ # Big Buck Bunny example, licensed under CC Attribution 3.0.
+ testMkv = fetchurl {
+ url = "https://github.com/Matroska-Org/matroska-test-files/blob/cf0792be144ac470c4b8052cfe19bb691993e3a2/test_files/test1.mkv?raw=true";
+ sha256 = "1hfxbbgxwfkzv85pvpvx55a72qsd0hxjbm9hkl5r3590zw4s75h9";
+ };
+ in
+ runCommand "${pname}-${version}-basic-conversion" { nativeBuildInputs = [ self ]; } ''
+ mkdir -p $out
+ cd $out
+ HandBrakeCLI -i ${testMkv} -o test.mp4 -e x264 -q 20 -B 160
+ test -e test.mp4
+ HandBrakeCLI -i ${testMkv} -o test.mkv -e x264 -q 20 -B 160
+ test -e test.mkv
+ '';
+ version = testers.testVersion { package = self; command = "HandBrakeCLI --version"; };
+ };
+
+ meta = with lib; {
+ homepage = "https://handbrake.fr/";
+ description = "A tool for converting video files and ripping DVDs";
+ longDescription = ''
+ Tool for converting and remuxing video files
+ into selection of modern and widely supported codecs
+ and containers. Very versatile and customizable.
+ Package provides:
+ CLI - `HandbrakeCLI`
+ GTK GUI - `ghb`
+ '';
+ license = licenses.gpl2Only;
+ maintainers = with maintainers; [ Anton-Latukha wmertens ];
+ platforms = with platforms; unix;
+ broken = stdenv.isDarwin && lib.versionOlder stdenv.hostPlatform.darwinMinVersion "10.13";
+ };
};
-};
-in self
+in
+self
diff --git a/pkgs/applications/virtualization/singularity/default.nix b/pkgs/applications/virtualization/singularity/default.nix
deleted file mode 100644
index 5ec5b19ce042..000000000000
--- a/pkgs/applications/virtualization/singularity/default.nix
+++ /dev/null
@@ -1,73 +0,0 @@
-{ lib
-, fetchurl
-, util-linux
-, gpgme
-, openssl
-, libuuid
-, coreutils
-, which
-, makeWrapper
-, cryptsetup
-, squashfsTools
-, buildGoPackage}:
-
-with lib;
-
-buildGoPackage rec {
- pname = "singularity";
- version = "3.8.7";
-
- src = fetchurl {
- url = "https://github.com/hpcng/singularity/releases/download/v${version}/singularity-${version}.tar.gz";
- sha256 = "sha256-Myny5YP4SoNDyywDgKHWy86vrn0eYztcvK33FD6shZs=";
- };
-
- goPackagePath = "github.com/sylabs/singularity";
-
- buildInputs = [ gpgme openssl libuuid ];
- nativeBuildInputs = [ util-linux which makeWrapper cryptsetup ];
- propagatedBuildInputs = [ coreutils squashfsTools ];
-
- postPatch = ''
- substituteInPlace internal/pkg/build/files/copy.go \
- --replace /bin/cp ${coreutils}/bin/cp
- '';
-
- postConfigure = ''
- cd go/src/github.com/sylabs/singularity
-
- patchShebangs .
- sed -i 's|defaultPath := "[^"]*"|defaultPath := "${lib.makeBinPath propagatedBuildInputs}"|' cmd/internal/cli/actions.go
-
- ./mconfig -V ${version} -p $out --localstatedir=/var
-
- # Don't install SUID binaries
- sed -i 's/-m 4755/-m 755/g' builddir/Makefile
- '';
-
- buildPhase = ''
- runHook preBuild
- make -C builddir
- runHook postBuild
- '';
-
- installPhase = ''
- runHook preInstall
- make -C builddir install LOCALSTATEDIR=$out/var
- chmod 755 $out/libexec/singularity/bin/starter-suid
-
- # Explicitly configure paths in the config file
- sed -i 's|^# mksquashfs path =.*$|mksquashfs path = ${lib.makeBinPath [squashfsTools]}/mksquashfs|' $out/etc/singularity/singularity.conf
- sed -i 's|^# cryptsetup path =.*$|cryptsetup path = ${lib.makeBinPath [cryptsetup]}/cryptsetup|' $out/etc/singularity/singularity.conf
-
- runHook postInstall
- '';
-
- meta = with lib; {
- homepage = "http://www.sylabs.io/";
- description = "Application containers for linux";
- license = licenses.bsd3;
- platforms = platforms.linux;
- maintainers = [ maintainers.jbedo ];
- };
-}
diff --git a/pkgs/applications/virtualization/singularity/generic.nix b/pkgs/applications/virtualization/singularity/generic.nix
new file mode 100644
index 000000000000..562781b09a31
--- /dev/null
+++ b/pkgs/applications/virtualization/singularity/generic.nix
@@ -0,0 +1,236 @@
+# Configurations that should only be overrided by
+# overrideAttrs
+{ pname
+, version
+, src
+, projectName # "apptainer" or "singularity"
+, vendorHash ? null
+, deleteVendor ? false
+, proxyVendor ? false
+, extraConfigureFlags ? [ ]
+, extraDescription ? ""
+, extraMeta ? { }
+}:
+
+let
+ # Workaround for vendor-related attributes not overridable (#86349)
+ # should be removed when the issue is resolved
+ _defaultGoVendorArgs = {
+ inherit
+ vendorHash
+ deleteVendor
+ proxyVendor
+ ;
+ };
+in
+{ lib
+, buildGoModule
+, runCommandLocal
+ # Native build inputs
+, makeWrapper
+, pkg-config
+, util-linux
+, which
+ # Build inputs
+, bash
+, conmon
+, coreutils
+, cryptsetup
+, fakeroot
+, go
+, gpgme
+, libseccomp
+, libuuid
+ # This is for nvidia-container-cli
+, nvidia-docker
+, openssl
+, squashfsTools
+, squashfuse
+ # Overridable configurations
+, enableNvidiaContainerCli ? true
+ # Compile with seccomp support
+ # SingularityCE 3.10.0 and above requires explicit --without-seccomp when libseccomp is not available.
+, enableSeccomp ? true
+ # Whether the configure script treat SUID support as default
+, defaultToSuid ? true
+ # Whether to compile with SUID support
+, enableSuid ? false
+, starterSuidPath ? null
+ # newuidmapPath and newgidmapPath are to support --fakeroot
+ # where those SUID-ed executables are unavailable from the FHS system PATH.
+ # Path to SUID-ed newuidmap executable
+, newuidmapPath ? null
+ # Path to SUID-ed newgidmap executable
+, newgidmapPath ? null
+ # Remove the symlinks to `singularity*` when projectName != "singularity"
+, removeCompat ? false
+ # Workaround #86349
+ # should be removed when the issue is resolved
+, vendorHash ? _defaultGoVendorArgs.vendorHash
+, deleteVendor ? _defaultGoVendorArgs.deleteVendor
+, proxyVendor ? _defaultGoVendorArgs.proxyVendor
+}:
+
+let
+ defaultPathOriginal = "/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin:/usr/local/sbin";
+ privileged-un-utils = if ((isNull newuidmapPath) && (isNull newgidmapPath)) then null else
+ (runCommandLocal "privileged-un-utils" { } ''
+ mkdir -p "$out/bin"
+ ln -s ${lib.escapeShellArg newuidmapPath} "$out/bin/newuidmap"
+ ln -s ${lib.escapeShellArg newgidmapPath} "$out/bin/newgidmap"
+ '');
+in
+buildGoModule {
+ inherit pname version src;
+
+ # Override vendorHash with the output got from
+ # nix-prefetch -E "{ sha256 }: ((import ./. { }).apptainer.override { vendorHash = sha256; }).go-modules"
+ # or with `null` when using vendored source tarball.
+ inherit vendorHash deleteVendor proxyVendor;
+
+ # go is used to compile extensions when building container images
+ allowGoReference = true;
+
+ strictDeps = true;
+
+ passthru = {
+ inherit
+ enableSeccomp
+ enableSuid
+ projectName
+ removeCompat
+ starterSuidPath
+ ;
+ };
+
+ nativeBuildInputs = [
+ makeWrapper
+ pkg-config
+ util-linux
+ which
+ ];
+
+ buildInputs = [
+ bash # To patch /bin/sh shebangs.
+ conmon
+ cryptsetup
+ gpgme
+ libuuid
+ openssl
+ squashfsTools
+ squashfuse
+ ]
+ ++ lib.optional enableNvidiaContainerCli nvidia-docker
+ ++ lib.optional enableSeccomp libseccomp
+ ;
+
+ configureScript = "./mconfig";
+
+ configureFlags = [
+ "--localstatedir=/var/lib"
+ "--runstatedir=/var/run"
+ ]
+ ++ lib.optional (!enableSeccomp) "--without-seccomp"
+ ++ lib.optional (defaultToSuid && !enableSuid) "--without-suid"
+ ++ lib.optional (!defaultToSuid && enableSuid) "--with-suid"
+ ++ extraConfigureFlags
+ ;
+
+ # Packages to prefix to the Apptainer/Singularity container runtime default PATH
+ # Use overrideAttrs to override
+ defaultPathInputs = [
+ bash
+ coreutils
+ cryptsetup # cryptsetup
+ go
+ privileged-un-utils
+ squashfsTools # mksquashfs unsquashfs # Make / unpack squashfs image
+ squashfuse # squashfuse_ll squashfuse # Mount (without unpacking) a squashfs image without privileges
+ ]
+ ++ lib.optional enableNvidiaContainerCli nvidia-docker
+ ;
+
+ postPatch = ''
+ if [[ ! -e .git || ! -e VERSION ]]; then
+ echo "${version}" > VERSION
+ fi
+ # Patch shebangs for script run during build
+ patchShebangs --build "$configureScript" makeit e2e scripts mlocal/scripts
+ # Patching the hard-coded defaultPath by prefixing the packages in defaultPathInputs
+ substituteInPlace cmd/internal/cli/actions.go \
+ --replace "defaultPath = \"${defaultPathOriginal}\"" "defaultPath = \"''${defaultPathInputs// /\/bin:}''${defaultPathInputs:+/bin:}${defaultPathOriginal}\""
+ '';
+
+ postConfigure = ''
+ # Code borrowed from pkgs/stdenv/generic/setup.sh configurePhase()
+
+ # set to empty if unset
+ : ''${configureFlags=}
+
+ # shellcheck disable=SC2086
+ $configureScript -V ${version} "''${prefixKey:---prefix=}$prefix" $configureFlags "''${configureFlagsArray[@]}"
+
+ # End of the code from pkgs/stdenv/generic/setup.sh configurPhase()
+ '';
+
+ buildPhase = ''
+ runHook preBuild
+ make -C builddir -j"$NIX_BUILD_CORES"
+ runHook postBuild
+ '';
+
+ installPhase = ''
+ runHook preInstall
+ make -C builddir install LOCALSTATEDIR="$out/var/lib"
+ runHook postInstall
+ '';
+
+ postFixup = ''
+ substituteInPlace "$out/bin/run-singularity" \
+ --replace "/usr/bin/env ${projectName}" "$out/bin/${projectName}"
+ wrapProgram "$out/bin/${projectName}" \
+ --prefix PATH : "${lib.makeBinPath [
+ fakeroot
+ squashfsTools # Singularity (but not Apptainer) expects unsquashfs from the host PATH
+ ]}"
+ # Make changes in the config file
+ ${lib.optionalString enableNvidiaContainerCli ''
+ substituteInPlace "$out/etc/${projectName}/${projectName}.conf" \
+ --replace "use nvidia-container-cli = no" "use nvidia-container-cli = yes"
+ ''}
+ ${lib.optionalString (removeCompat && (projectName != "singularity")) ''
+ unlink "$out/bin/singularity"
+ for file in "$out"/share/man/man?/singularity*.gz; do
+ if [[ -L "$file" ]]; then
+ unlink "$file"
+ fi
+ done
+ for file in "$out"/share/*-completion/completions/singularity; do
+ if [[ -e "$file" ]]
+ rm "$file"
+ done
+ ''}
+ ${lib.optionalString enableSuid (lib.warnIf (isNull starterSuidPath) "${projectName}: Null starterSuidPath when enableSuid produces non-SUID-ed starter-suid and run-time permission denial." ''
+ chmod +x $out/libexec/${projectName}/bin/starter-suid
+ '')}
+ ${lib.optionalString (enableSuid && !isNull starterSuidPath) ''
+ mv "$out"/libexec/${projectName}/bin/starter-suid{,.orig}
+ ln -s ${lib.escapeShellArg starterSuidPath} "$out/libexec/${projectName}/bin/starter-suid"
+ ''}
+ '';
+
+ meta = with lib; {
+ description = "Application containers for linux" + extraDescription;
+ longDescription = ''
+ Singularity (the upstream) renamed themselves to Apptainer
+ to distinguish themselves from a fork made by Sylabs Inc.. See
+
+ https://sylabs.io/2021/05/singularity-community-edition
+ https://apptainer.org/news/community-announcement-20211130
+ '';
+ license = licenses.bsd3;
+ platforms = platforms.linux;
+ maintainers = with maintainers; [ jbedo ShamrockLee ];
+ mainProgram = projectName;
+ } // extraMeta;
+}
diff --git a/pkgs/applications/virtualization/singularity/packages.nix b/pkgs/applications/virtualization/singularity/packages.nix
new file mode 100644
index 000000000000..06c8c4fcc0da
--- /dev/null
+++ b/pkgs/applications/virtualization/singularity/packages.nix
@@ -0,0 +1,94 @@
+{ callPackage
+, fetchFromGitHub
+, nixos
+, conmon
+}:
+let
+ apptainer = callPackage
+ (import ./generic.nix rec {
+ pname = "apptainer";
+ # TODO: Upgrade to 1.1.4 only after https://github.com/apptainer/apptainer/pull/967 get merge
+ # and https://github.com/apptainer/apptainer/issues/958 get fixed
+ version = "1.1.3";
+ projectName = "apptainer";
+
+ src = fetchFromGitHub {
+ owner = "apptainer";
+ repo = "apptainer";
+ rev = "v${version}";
+ hash = "sha256-QFg6RC77OE/a6Qlzn6Zi5I7Iaq/U3/m0eI9yLArzuNc=";
+ };
+
+ # Update by running
+ # nix-prefetch -E "{ sha256 }: ((import ./. { }).apptainer.override { vendorHash = sha256; }).go-modules"
+ # at the root directory of the Nixpkgs repository
+ vendorHash = "sha256-tAnh7A8Lw5KtY7hq+sqHMEUlgXvgeeCKKIfRZFoRtug=";
+
+ extraDescription = " (previously known as Singularity)";
+ extraMeta.homepage = "https://apptainer.org";
+ })
+ {
+ # Apptainer doesn't depend on conmon
+ conmon = null;
+
+ # defaultToSuid becomes false since Apptainer 1.1.0
+ # https://github.com/apptainer/apptainer/pull/495
+ # https://github.com/apptainer/apptainer/releases/tag/v1.1.0
+ defaultToSuid = false;
+ };
+
+ singularity = callPackage
+ (import ./generic.nix rec {
+ pname = "singularity-ce";
+ version = "3.10.4";
+ projectName = "singularity";
+
+ src = fetchFromGitHub {
+ owner = "sylabs";
+ repo = "singularity";
+ rev = "v${version}";
+ hash = "sha256-bUnQXQVwaVA3Lkw3X9TBWqNBgiPxAVCHnkq0vc+CIsM=";
+ };
+
+ # Update by running
+ # nix-prefetch -E "{ sha256 }: ((import ./. { }).singularity.override { vendorHash = sha256; }).go-modules"
+ # at the root directory of the Nixpkgs repository
+ vendorHash = "sha256-K8helLcOuz3E4LzBE9y3pnZqwdwhO/iMPTN1o22ipVg=";
+
+ # Do not build conmon from the Git submodule source,
+ # Use Nixpkgs provided version
+ extraConfigureFlags = [
+ "--without-conmon"
+ ];
+
+ extraDescription = " (Sylabs Inc's fork of Singularity, a.k.a. SingularityCE)";
+ extraMeta.homepage = "https://sylabs.io/";
+ })
+ {
+ defaultToSuid = true;
+ };
+
+ genOverridenNixos = package: packageName: (nixos {
+ programs.singularity = {
+ enable = true;
+ inherit package;
+ };
+ }).config.programs.singularity.packageOverriden.overrideAttrs (oldAttrs: {
+ meta = oldAttrs.meta // {
+ description = "";
+ longDescription = ''
+ This package produces identical store derivations to `pkgs.${packageName}`
+ overriden and installed by the NixOS module `programs.singularity`
+ with default configuration.
+
+ This is for binary substitutes only. Use pkgs.${packageName} instead.
+ '';
+ };
+ });
+in
+{
+ inherit apptainer singularity;
+
+ apptainer-overriden-nixos = genOverridenNixos apptainer "apptainer";
+ singularity-overriden-nixos = genOverridenNixos singularity "singularity";
+}
diff --git a/pkgs/build-support/build-graalvm-native-image/default.nix b/pkgs/build-support/build-graalvm-native-image/default.nix
index f223009cba5c..64c6568e1bc2 100644
--- a/pkgs/build-support/build-graalvm-native-image/default.nix
+++ b/pkgs/build-support/build-graalvm-native-image/default.nix
@@ -10,7 +10,6 @@
# except in special cases. In most cases, use extraNativeBuildArgs instead
, nativeImageBuildArgs ? [
"-jar" jar
- "-H:CLibraryPath=${lib.getLib graalvm}/lib"
(lib.optionalString stdenv.isDarwin "-H:-CheckToolchain")
"-H:Name=${executable}"
"--verbose"
@@ -50,6 +49,8 @@ stdenv.mkDerivation (args // {
runHook postInstall
'';
+ disallowedReferences = [ graalvmDrv ];
+
meta = {
# default to graalvm's platforms
platforms = graalvmDrv.meta.platforms;
diff --git a/pkgs/build-support/singularity-tools/default.nix b/pkgs/build-support/singularity-tools/default.nix
index 46df792bdf6c..9689e4124590 100644
--- a/pkgs/build-support/singularity-tools/default.nix
+++ b/pkgs/build-support/singularity-tools/default.nix
@@ -10,8 +10,8 @@
, gawk
, util-linux
, runtimeShell
-, e2fsprogs }:
-
+, e2fsprogs
+}:
rec {
shellScript = name: text:
writeScript name ''
@@ -20,40 +20,51 @@ rec {
${text}
'';
- mkLayer = {
- name,
- contents ? [],
- }:
- runCommand "singularity-layer-${name}" {
- inherit contents;
- } ''
+ mkLayer =
+ { name
+ , contents ? [ ]
+ # May be "apptainer" instead of "singularity"
+ , projectName ? (singularity.projectName or "singularity")
+ }:
+ runCommand "${projectName}-layer-${name}"
+ {
+ inherit contents;
+ } ''
mkdir $out
for f in $contents ; do
cp -ra $f $out/
done
'';
- buildImage = {
- name,
- contents ? [],
- diskSize ? 1024,
- runScript ? "#!${stdenv.shell}\nexec /bin/sh",
- runAsRoot ? null,
- memSize ? 512
- }:
- let layer = mkLayer {
- inherit name;
- contents = contents ++ [ bash runScriptFile ];
- };
- runAsRootFile = shellScript "run-as-root.sh" runAsRoot;
- runScriptFile = shellScript "run-script.sh" runScript;
- result = vmTools.runInLinuxVM (
- runCommand "singularity-image-${name}.img" {
+ buildImage =
+ let
+ defaultSingularity = singularity;
+ in
+ { name
+ , contents ? [ ]
+ , diskSize ? 1024
+ , runScript ? "#!${stdenv.shell}\nexec /bin/sh"
+ , runAsRoot ? null
+ , memSize ? 512
+ , singularity ? defaultSingularity
+ }:
+ let
+ projectName = singularity.projectName or "singularity";
+ layer = mkLayer {
+ inherit name;
+ contents = contents ++ [ bash runScriptFile ];
+ inherit projectName;
+ };
+ runAsRootFile = shellScript "run-as-root.sh" runAsRoot;
+ runScriptFile = shellScript "run-script.sh" runScript;
+ result = vmTools.runInLinuxVM (
+ runCommand "${projectName}-image-${name}.img"
+ {
buildInputs = [ singularity e2fsprogs util-linux gawk ];
layerClosure = writeReferencesToFile layer;
preVM = vmTools.createEmptyImage {
size = diskSize;
- fullName = "singularity-run-disk";
+ fullName = "${projectName}-run-disk";
};
inherit memSize;
}
@@ -92,19 +103,20 @@ rec {
if [ ! -e bin/sh ]; then
ln -s ${runtimeShell} bin/sh
fi
- mkdir -p .singularity.d
- ln -s ${runScriptFile} .singularity.d/runscript
+ mkdir -p .${projectName}.d
+ ln -s ${runScriptFile} .${projectName}.d/runscript
- # Fill out .singularity.d
- mkdir -p .singularity.d/env
- touch .singularity.d/env/94-appsbase.sh
+ # Fill out .${projectName}.d
+ mkdir -p .${projectName}.d/env
+ touch .${projectName}.d/env/94-appsbase.sh
cd ..
- mkdir -p /var/singularity/mnt/{container,final,overlay,session,source}
+ mkdir -p /var/lib/${projectName}/mnt/{container,final,overlay,session,source}
echo "root:x:0:0:System administrator:/root:/bin/sh" > /etc/passwd
echo > /etc/resolv.conf
- TMPDIR=$(pwd -P) singularity build $out ./img
+ TMPDIR=$(pwd -P) ${projectName} build $out ./img
'');
- in result;
+ in
+ result;
}
diff --git a/pkgs/data/documentation/scheme-manpages/default.nix b/pkgs/data/documentation/scheme-manpages/default.nix
index f839ce0c6dcd..59620b16a6cc 100644
--- a/pkgs/data/documentation/scheme-manpages/default.nix
+++ b/pkgs/data/documentation/scheme-manpages/default.nix
@@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "scheme-manpages";
- version = "unstable-2022-07-04";
+ version = "unstable-2023-02-06";
src = fetchFromGitHub {
owner = "schemedoc";
repo = "manpages";
- rev = "0b95de112857b185b83141ac9324fb0e786c56df";
- sha256 = "sha256-HWkZJd4t7gsbbSGiQ92Lav9EMBPMLXmXFT6HVfyFLSI=";
+ rev = "ccaa76761a1b100e99287c120196bd5f32d4a403";
+ hash = "sha256-RL/94dQiZJ60cXHQ9r4P3hRBqe55oUissCmSp4XLM+o=";
};
dontBuild = true;
diff --git a/pkgs/data/fonts/iosevka/default.nix b/pkgs/data/fonts/iosevka/default.nix
index 53a54f346db1..f9609c6c485b 100644
--- a/pkgs/data/fonts/iosevka/default.nix
+++ b/pkgs/data/fonts/iosevka/default.nix
@@ -1,9 +1,8 @@
{ stdenv
, lib
-, pkgs
, buildNpmPackage
, fetchFromGitHub
-, nodejs
+, darwin
, remarshal
, ttfautohint-nox
# Custom font set options.
@@ -67,7 +66,13 @@ buildNpmPackage rec {
npmDepsHash = "sha256-Ncf07ggyOnz/2SpgdmaYS2X/8Bad+J2sz8Yyx9Iri3E=";
- nativeBuildInputs = [ nodejs remarshal ttfautohint-nox ];
+ nativeBuildInputs = [
+ remarshal
+ ttfautohint-nox
+ ] ++ lib.optionals stdenv.isDarwin [
+ # libtool
+ darwin.cctools
+ ];
buildPlan =
if builtins.isAttrs privateBuildPlan then
diff --git a/pkgs/data/misc/v2ray-geoip/default.nix b/pkgs/data/misc/v2ray-geoip/default.nix
index be7466674259..40d915dace26 100644
--- a/pkgs/data/misc/v2ray-geoip/default.nix
+++ b/pkgs/data/misc/v2ray-geoip/default.nix
@@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "v2ray-geoip";
- version = "202302020047";
+ version = "202302081046";
src = fetchFromGitHub {
owner = "v2fly";
repo = "geoip";
- rev = "9ab244ed78fea88a1ce5bf789fb31bbcd81e8d17";
- sha256 = "sha256-2NYuvzOU0W3qZqWZMr3rTNqX+0rH3fhIr1zCD5dSdWc=";
+ rev = "d85771a99440dd75294bfd9d00011307b7596d0d";
+ sha256 = "sha256-gVL7koUG3BgY8HAYWa2fTwTJIE3svGUgauwI1jlA2/M=";
};
installPhase = ''
diff --git a/pkgs/desktops/deepin/default.nix b/pkgs/desktops/deepin/default.nix
index bb36b21b31c8..2cb3e282b42b 100644
--- a/pkgs/desktops/deepin/default.nix
+++ b/pkgs/desktops/deepin/default.nix
@@ -3,6 +3,15 @@ let
packages = self:
let
inherit (self) callPackage;
+
+ replaceAll = x: y: ''
+ echo Replacing "${x}" to "${y}":
+ for file in $(grep -rl "${x}"); do
+ echo -- $file
+ substituteInPlace $file \
+ --replace "${x}" "${y}"
+ done
+ '';
in {
#### LIBRARIES
dtkcommon = callPackage ./library/dtkcommon { };
@@ -30,6 +39,15 @@ let
deepin-picker = callPackage ./apps/deepin-picker { };
deepin-terminal = callPackage ./apps/deepin-terminal { };
+ #### Go Packages
+ go-lib = callPackage ./go-package/go-lib { inherit replaceAll; };
+ go-gir-generator = callPackage ./go-package/go-gir-generator { };
+ go-dbus-factory = callPackage ./go-package/go-dbus-factory { };
+ deepin-pw-check = callPackage ./go-package/deepin-pw-check { };
+
+ #### TOOLS
+ deepin-gettext-tools = callPackage ./tools/deepin-gettext-tools { };
+
#### ARTWORK
dde-account-faces = callPackage ./artwork/dde-account-faces { };
deepin-icon-theme = callPackage ./artwork/deepin-icon-theme { };
diff --git a/pkgs/desktops/deepin/go-package/deepin-pw-check/default.nix b/pkgs/desktops/deepin/go-package/deepin-pw-check/default.nix
new file mode 100644
index 000000000000..040c561d352e
--- /dev/null
+++ b/pkgs/desktops/deepin/go-package/deepin-pw-check/default.nix
@@ -0,0 +1,84 @@
+{ stdenv
+, lib
+, fetchFromGitHub
+, buildGoPackage
+, pkg-config
+, deepin-gettext-tools
+, go-dbus-factory
+, go-gir-generator
+, go-lib
+, gtk3
+, glib
+, libxcrypt
+, gettext
+, iniparser
+, cracklib
+, linux-pam
+}:
+
+buildGoPackage rec {
+ pname = "deepin-pw-check";
+ version = "5.1.18";
+
+ goPackagePath = "github.com/linuxdeepin/deepin-pw-check";
+
+ src = fetchFromGitHub {
+ owner = "linuxdeepin";
+ repo = pname;
+ rev = version;
+ sha256 = "sha256-v1Z4ArkrejjOCO1vD+BhfEl9pTfuvKgLM6Ont0IUCQk=";
+ };
+
+ goDeps = ./deps.nix;
+
+ nativeBuildInputs = [
+ pkg-config
+ gettext
+ deepin-gettext-tools
+ ];
+
+ buildInputs = [
+ go-dbus-factory
+ go-gir-generator
+ go-lib
+ glib
+ libxcrypt
+ gtk3
+ iniparser
+ cracklib
+ linux-pam
+ ];
+
+ postPatch = ''
+ sed -i 's|iniparser/||' */*.c
+ substituteInPlace misc/pkgconfig/libdeepin_pw_check.pc \
+ --replace "/usr" "$out"
+ substituteInPlace misc/system-services/com.deepin.daemon.PasswdConf.service \
+ --replace "/usr/lib/deepin-pw-check/deepin-pw-check" "$out/lib/deepin-pw-check/deepin-pw-check"
+ '';
+
+ buildPhase = ''
+ runHook preBuild
+ GOPATH="$GOPATH:${go-dbus-factory}/share/gocode"
+ GOPATH="$GOPATH:${go-gir-generator}/share/gocode"
+ GOPATH="$GOPATH:${go-lib}/share/gocode"
+ make -C go/src/${goPackagePath}
+ runHook postBuild
+ '';
+
+ installPhase = ''
+ runHook preInstall
+ make install PREFIX="$out" PKG_FILE_DIR=$out/lib/pkg-config PAM_MODULE_DIR=$out/etc/pam.d -C go/src/${goPackagePath}
+ # https://github.com/linuxdeepin/deepin-pw-check/blob/d5597482678a489077a506a87f06d2b6c4e7e4ed/debian/rules#L21
+ ln -s $out/lib/libdeepin_pw_check.so $out/lib/libdeepin_pw_check.so.1
+ runHook postInstall
+ '';
+
+ meta = with lib; {
+ description = "Tool to verify the validity of the password";
+ homepage = "https://github.com/linuxdeepin/deepin-pw-check";
+ license = licenses.gpl3Plus;
+ platforms = platforms.linux;
+ maintainers = teams.deepin.members;
+ };
+}
diff --git a/pkgs/desktops/deepin/go-package/deepin-pw-check/deps.nix b/pkgs/desktops/deepin/go-package/deepin-pw-check/deps.nix
new file mode 100644
index 000000000000..509940b6d570
--- /dev/null
+++ b/pkgs/desktops/deepin/go-package/deepin-pw-check/deps.nix
@@ -0,0 +1,75 @@
+[
+ {
+ goPackagePath = "github.com/fsnotify/fsnotify";
+ fetch = {
+ type = "git";
+ url = "https://github.com/fsnotify/fsnotify";
+ rev = "v1.5.1";
+ sha256 = "sha256-B8kZ8yiWgallT7R2j1kSRJcJkSGFVf9ise+TpXa+7XY=";
+ };
+ }
+ {
+ goPackagePath = "github.com/godbus/dbus";
+ fetch = {
+ type = "git";
+ url = "https://github.com/godbus/dbus";
+ rev = "v5.1.0";
+ sha256 = "sha256-JSPtmkGEStBEVrKGszeLCb7P38SzQKgMiDC3eDppXs0=";
+ };
+ }
+ {
+ goPackagePath = "github.com/stretchr/testify";
+ fetch = {
+ type = "git";
+ url = "https://github.com/stretchr/testify";
+ rev = "v1.7.1";
+ sha256 = "sha256-disUVIHiIDSj/go3APtJH8awSl8QwKRRFLKI7LRnl0w=";
+ };
+ }
+ {
+ goPackagePath = "golang.org/x/sys";
+ fetch = {
+ type = "git";
+ url = "https://github.com/golang/sys";
+ rev = "289d7a0edf712062d9f1484b07bdf2383f48802f";
+ sha256 = "sha256-AzS/J3OocI7mA0xsIfQzyskNKVija7F2yvuts+EFJBs=";
+ };
+ }
+ {
+ goPackagePath = "gopkg.in/yaml.v3";
+ fetch = {
+ type = "git";
+ url = "https://github.com/go-yaml/yaml";
+ rev = "496545a6307b2a7d7a710fd516e5e16e8ab62dbc";
+ sha256 = "sha256-j8yDji+vqsitpRZirpb4w/Em8nstgf28wpwkcrOlxBk=";
+ };
+ }
+ {
+ goPackagePath = "github.com/davecgh/go-spew";
+ fetch = {
+ type = "git";
+ url = "https://github.com/davecgh/go-spew";
+ rev = "v1.1.1";
+ sha256 = "sha256-nhzSUrE1fCkN0+RL04N4h8jWmRFPPPWbCuDc7Ss0akI=";
+ };
+ }
+ {
+ goPackagePath = "github.com/stretchr/objx";
+ fetch = {
+ type = "git";
+ url = "https://github.com/stretchr/objx";
+ rev = "v0.3.0";
+ sha256 = "sha256-T753/EiD5Cpk6H2JFhd+s1gFvpNptG2XlEHxZF6dQaw=";
+ };
+ }
+ {
+ goPackagePath = "github.com/pmezard/go-difflib";
+ fetch = {
+ type = "git";
+ url = "https://github.com/pmezard/go-difflib";
+ rev = "5d4384ee4fb2527b0a1256a821ebfc92f91efefc";
+ sha256 = "sha256-XA4Oj1gdmdV/F/+8kMI+DBxKPthZ768hbKsO3d9Gx90=";
+ };
+ }
+]
+
diff --git a/pkgs/desktops/deepin/go-package/go-dbus-factory/default.nix b/pkgs/desktops/deepin/go-package/go-dbus-factory/default.nix
new file mode 100644
index 000000000000..4c12dce491d7
--- /dev/null
+++ b/pkgs/desktops/deepin/go-package/go-dbus-factory/default.nix
@@ -0,0 +1,26 @@
+{ stdenv
+, lib
+, fetchFromGitHub
+}:
+
+stdenv.mkDerivation rec {
+ pname = "go-dbus-factory";
+ version = "1.10.23";
+
+ src = fetchFromGitHub {
+ owner = "linuxdeepin";
+ repo = pname;
+ rev = version;
+ sha256 = "sha256-6u9Bpoa80j/K1MipncfM378/qmSSMZAlx88jE4hHYBk=";
+ };
+
+ makeFlags = [ "PREFIX=${placeholder "out"}" ];
+
+ meta = with lib; {
+ description = "Generate go binding of D-Bus interfaces";
+ homepage = "https://github.com/linuxdeepin/go-dbus-factory";
+ license = licenses.gpl3Plus;
+ platforms = platforms.linux;
+ maintainers = teams.deepin.members;
+ };
+}
diff --git a/pkgs/desktops/deepin/go-package/go-gir-generator/default.nix b/pkgs/desktops/deepin/go-package/go-gir-generator/default.nix
new file mode 100644
index 000000000000..7f377d2a6e74
--- /dev/null
+++ b/pkgs/desktops/deepin/go-package/go-gir-generator/default.nix
@@ -0,0 +1,43 @@
+{ stdenv
+, lib
+, fetchFromGitHub
+, go
+, pkg-config
+, libgudev
+, gobject-introspection
+}:
+
+stdenv.mkDerivation rec {
+ pname = "go-gir-generator";
+ version = "2.2.0";
+
+ src = fetchFromGitHub {
+ owner = "linuxdeepin";
+ repo = pname;
+ rev = version;
+ sha256 = "sha256-lFseui/M3+TyfYoa+rnS0cGhN6gdLrgpzgOwqzYcyPk=";
+ };
+
+ nativeBuildInputs = [
+ pkg-config
+ go
+ ];
+
+ buildInputs = [
+ libgudev
+ gobject-introspection
+ ];
+
+ makeFlags = [
+ "PREFIX=${placeholder "out"}"
+ "GOCACHE=$(TMPDIR)/go-cache"
+ ];
+
+ meta = with lib; {
+ description = "Generate static golang bindings for GObject";
+ homepage = "https://github.com/linuxdeepin/go-gir-generator";
+ license = licenses.gpl3Plus;
+ platforms = platforms.linux;
+ maintainers = teams.deepin.members;
+ };
+}
diff --git a/pkgs/desktops/deepin/go-package/go-lib/default.nix b/pkgs/desktops/deepin/go-package/go-lib/default.nix
new file mode 100644
index 000000000000..3a6a8f03dfb5
--- /dev/null
+++ b/pkgs/desktops/deepin/go-package/go-lib/default.nix
@@ -0,0 +1,45 @@
+{ stdenv
+, lib
+, fetchFromGitHub
+, fetchpatch
+, replaceAll
+, runtimeShell
+}:
+
+stdenv.mkDerivation rec {
+ pname = "go-lib";
+ version = "5.8.27";
+
+ src = fetchFromGitHub {
+ owner = "linuxdeepin";
+ repo = pname;
+ rev = version;
+ sha256 = "sha256-ZV5zWu7UvNKVcVo79/iKMhF4H09rGyDCvEL61H05lZc=";
+ };
+
+ patches = [
+ (fetchpatch {
+ name = "fix_IsDir_for_symlink";
+ url = "https://github.com/linuxdeepin/go-lib/commit/79239904679dc70a11e1ac8e65670afcfdd7c122.patch";
+ sha256 = "sha256-RsN9hK26i/W6P/+e1l1spCLdlgIEWTehhIW6POBOvW4=";
+ })
+ ];
+
+ postPatch = replaceAll "/bin/sh" "${runtimeShell}";
+
+ installPhase = ''
+ runHook preInstall
+ mkdir -p $out/share/gocode/src/github.com/linuxdeepin/go-lib
+ cp -a * $out/share/gocode/src/github.com/linuxdeepin/go-lib
+ rm -r $out/share/gocode/src/github.com/linuxdeepin/go-lib/debian
+ runHook postInstall
+ '';
+
+ meta = with lib; {
+ description = "Library containing many useful go routines for things such as glib, gettext, archive, graphic, etc";
+ homepage = "https://github.com/linuxdeepin/go-lib";
+ license = licenses.gpl3Plus;
+ platforms = platforms.linux;
+ maintainers = teams.deepin.members;
+ };
+}
diff --git a/pkgs/desktops/deepin/tools/deepin-gettext-tools/default.nix b/pkgs/desktops/deepin/tools/deepin-gettext-tools/default.nix
new file mode 100644
index 000000000000..d219e6d73b16
--- /dev/null
+++ b/pkgs/desktops/deepin/tools/deepin-gettext-tools/default.nix
@@ -0,0 +1,50 @@
+{ stdenv
+, lib
+, fetchFromGitHub
+, gettext
+, python3Packages
+, perlPackages
+}:
+
+stdenv.mkDerivation rec {
+ pname = "deepin-gettext-tools";
+ version = "1.0.10";
+
+ src = fetchFromGitHub {
+ owner = "linuxdeepin";
+ repo = pname;
+ rev = version;
+ sha256 = "sha256-5Dd2QU6JYwuktusssNDfA7IHa6HbFcWo9sZf5PS7NtI=";
+ };
+
+ postPatch = ''
+ substituteInPlace src/generate_mo.py --replace "sudo cp" "cp"
+ '';
+
+ nativeBuildInputs = [ python3Packages.wrapPython ];
+
+ buildInputs = [
+ gettext
+ perlPackages.perl
+ perlPackages.ConfigTiny
+ perlPackages.XMLLibXML
+ ];
+
+ makeFlags = [
+ "PREFIX=${placeholder "out"}"
+ ];
+
+ postFixup = ''
+ wrapPythonPrograms
+ wrapPythonProgramsIn "$out/lib/${pname}"
+ wrapProgram $out/bin/deepin-desktop-ts-convert --set PERL5LIB $PERL5LIB
+ '';
+
+ meta = with lib; {
+ description = "Translation file processing utils for DDE development";
+ homepage = "https://github.com/linuxdeepin/deepin-gettext-tools";
+ license = licenses.gpl2Plus;
+ platforms = platforms.linux;
+ maintainers = teams.deepin.members;
+ };
+}
diff --git a/pkgs/development/compilers/graalvm/community-edition/mkGraal.nix b/pkgs/development/compilers/graalvm/community-edition/mkGraal.nix
index bd2d4413ec52..023fc81474ef 100644
--- a/pkgs/development/compilers/graalvm/community-edition/mkGraal.nix
+++ b/pkgs/development/compilers/graalvm/community-edition/mkGraal.nix
@@ -28,10 +28,6 @@
# Path for the sources file that will be used
# See `update.nix` file for a description on how this file works
, sourcesPath ? ./. + "/graalvm${javaVersion}-ce-sources.json"
- # Use musl instead of glibc to allow true static builds in GraalVM's
- # Native Image (i.e.: `--static --libc=musl`). This will cause glibc static
- # builds to fail, so it should be used with care
-, useMusl ? false
}:
{ stdenv
@@ -66,6 +62,12 @@
, gtk3
, jq
, writeShellScript
+ # Use musl instead of glibc to allow true static builds in GraalVM's
+ # Native Image (i.e.: `--static --libc=musl`). This will cause glibc static
+ # builds to fail, so it should be used with care
+, useMusl ? false
+ # Extra libraries to be included in native-image using '-H:CLibraryPath' flag
+, extraCLibs ? [ ]
}:
assert useMusl -> stdenv.isLinux;
@@ -76,6 +78,11 @@ let
name = "graalvm${javaVersion}-ce";
sources = builtins.fromJSON (builtins.readFile sourcesPath);
+ cLibs = [ glibc zlib.static ]
+ ++ lib.optionals (!useMusl) [ glibc.static ]
+ ++ lib.optionals useMusl [ musl ]
+ ++ extraCLibs;
+
runtimeLibraryPath = lib.makeLibraryPath
([ cups ] ++ lib.optionals gtkSupport [ cairo glib gtk3 ]);
@@ -118,6 +125,8 @@ let
++ lib.optional stdenv.hostPlatform.isLinux autoPatchelfHook;
unpackPhase = ''
+ runHook preUnpack
+
unpack_jar() {
jar=$1
unzip -q -o $jar -d $out
@@ -164,13 +173,13 @@ let
for jar in "''${arr[@]:1}"; do
unpack_jar "$jar"
done
+
+ runHook postUnpack
'';
- outputs = [ "out" "lib" ];
-
installPhase = ''
- # ensure that $lib/lib exists to avoid breaking builds
- mkdir -p "$lib/lib"
+ runHook preInstall
+
# jni.h expects jni_md.h to be in the header search path.
ln -s $out/include/linux/*_md.h $out/include/
@@ -181,26 +190,15 @@ let
if [ -z "\''${JAVA_HOME-}" ]; then export JAVA_HOME=$out; fi
EOF
${
- lib.optionalString (stdenv.isLinux) ''
- # provide libraries needed for static compilation
- ${
- if useMusl then
- ''for f in "${musl.stdenv.cc.cc}/lib/"* "${musl}/lib/"* "${zlib.static}/lib/"*; do''
- else
- ''for f in "${glibc}/lib/"* "${glibc.static}/lib/"* "${zlib.static}/lib/"*; do''
- }
- ln -s "$f" "$out/lib/svm/clibraries/${platform.arch}/$(basename $f)"
- done
-
- # add those libraries to $lib output too, so we can use them with
- # `native-image -H:CLibraryPath=''${lib.getLib graalvmXX-ce}/lib ...` and reduce
- # closure size by not depending on GraalVM $out (that is much bigger)
- # we always use glibc here, since musl is only supported for static compilation
- for f in "${glibc}/lib/"*; do
- ln -s "$f" "$lib/lib/$(basename $f)"
- done
+ # Wrap native-image binary to pass -H:CLibraryPath flag and find glibc
+ lib.optionalString (withNativeImageSvm && stdenv.isLinux) ''
+ wrapProgram $out/bin/native-image \
+ ${lib.concatStringsSep " "
+ (map (l: "--add-flags '-H:CLibraryPath=${l}/lib'") cLibs)}
''
}
+
+ runHook postInstall
'';
dontStrip = true;
@@ -240,6 +238,8 @@ let
doInstallCheck = true;
installCheckPhase = ''
+ runHook preInstallCheck
+
echo ${
lib.escapeShellArg ''
public class HelloWorld {
@@ -252,16 +252,25 @@ let
$out/bin/javac HelloWorld.java
# run on JVM with Graal Compiler
+ echo "Testing GraalVM"
$out/bin/java -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI -XX:+UseJVMCICompiler HelloWorld | fgrep 'Hello World'
+ ${
+ lib.optionalString withNativeImageSvm ''
+ echo "Ahead-Of-Time compilation"
+ $out/bin/native-image -H:-CheckToolchain -H:+ReportExceptionStackTraces HelloWorld
+ ./helloworld | fgrep 'Hello World'
+ ''
+ }
+
${# --static flag doesn't work for darwin
lib.optionalString (withNativeImageSvm && stdenv.isLinux && !useMusl) ''
- echo "Ahead-Of-Time compilation"
- $out/bin/native-image -H:-CheckToolchain -H:+ReportExceptionStackTraces --no-server HelloWorld
+ echo "Ahead-Of-Time compilation with -H:+StaticExecutableWithDynamicLibC"
+ $out/bin/native-image -H:+StaticExecutableWithDynamicLibC HelloWorld
./helloworld | fgrep 'Hello World'
echo "Ahead-Of-Time compilation with --static"
- $out/bin/native-image --no-server --static HelloWorld
+ $out/bin/native-image --static HelloWorld
./helloworld | fgrep 'Hello World'
''
}
@@ -269,7 +278,7 @@ let
${# --static flag doesn't work for darwin
lib.optionalString (withNativeImageSvm && stdenv.isLinux && useMusl) ''
echo "Ahead-Of-Time compilation with --static and --libc=musl"
- $out/bin/native-image --no-server --libc=musl --static HelloWorld
+ $out/bin/native-image --libc=musl --static HelloWorld
./helloworld | fgrep 'Hello World'
''
}
@@ -302,6 +311,8 @@ let
echo '1 + 1' | $out/bin/irb
''
}
+
+ runHook postInstallCheck
'';
passthru = {
diff --git a/pkgs/development/compilers/kotlin/default.nix b/pkgs/development/compilers/kotlin/default.nix
index cb78eb5c6b34..a07e724cbd7a 100644
--- a/pkgs/development/compilers/kotlin/default.nix
+++ b/pkgs/development/compilers/kotlin/default.nix
@@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
pname = "kotlin";
- version = "1.8.0";
+ version = "1.8.10";
src = fetchurl {
url = "https://github.com/JetBrains/kotlin/releases/download/v${version}/kotlin-compiler-${version}.zip";
- hash = "sha256-C7lBn6yYMqVqOhnK0oL48tbxI30tRn3I3+m9SipDxC4=";
+ hash = "sha256-TD+nvBu57zBYojGdi8w7cZYHn4jpL9zY0wSkb0trV4c=";
};
propagatedBuildInputs = [ jre ] ;
diff --git a/pkgs/development/haskell-modules/patches/amazonka-Allow-http-client-0.6.patch b/pkgs/development/haskell-modules/patches/amazonka-Allow-http-client-0.6.patch
deleted file mode 100644
index 9e1eeb751602..000000000000
--- a/pkgs/development/haskell-modules/patches/amazonka-Allow-http-client-0.6.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From 657b70d174fe5cb61e56cb8b9c5e57f1ec216f2b Mon Sep 17 00:00:00 2001
-From: Mikhail Glushenkov
-Date: Wed, 10 Apr 2019 17:42:57 +0100
-Subject: [PATCH] Allow http-client 0.6.*.
-
-Changelog doesn't list any silently breaking semantic changes.
----
- amazonka/amazonka.cabal | 2 +-
- core/amazonka-core.cabal | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/amazonka/amazonka.cabal b/amazonka/amazonka.cabal
-index e86713f11c..81c4cb7e48 100644
---- a/amazonka.cabal
-+++ b/amazonka.cabal
-@@ -67,7 +67,7 @@ library
- , conduit-extra >= 1.1
- , directory >= 1.2
- , exceptions >= 0.6
-- , http-client >= 0.4 && < 0.6
-+ , http-client >= 0.4 && < 0.7
- , http-conduit >= 2.1.7 && < 3
- , http-types >= 0.8
- , ini >= 0.3.5
diff --git a/pkgs/development/haskell-modules/patches/amazonka-core-Allow-http-client-0.6.patch b/pkgs/development/haskell-modules/patches/amazonka-core-Allow-http-client-0.6.patch
deleted file mode 100644
index d99072d79c6e..000000000000
--- a/pkgs/development/haskell-modules/patches/amazonka-core-Allow-http-client-0.6.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 657b70d174fe5cb61e56cb8b9c5e57f1ec216f2b Mon Sep 17 00:00:00 2001
-From: Mikhail Glushenkov
-Date: Wed, 10 Apr 2019 17:42:57 +0100
-Subject: [PATCH] Allow http-client 0.6.*.
-
-Changelog doesn't list any silently breaking semantic changes.
----
- amazonka/amazonka.cabal | 2 +-
- core/amazonka-core.cabal | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/core/amazonka-core.cabal b/core/amazonka-core.cabal
-index 9796e007cf..eccb24e5bd 100644
---- a/amazonka-core.cabal
-+++ b/amazonka-core.cabal
-@@ -90,7 +90,7 @@ library
- , deepseq >= 1.4
- , exceptions >= 0.6
- , hashable >= 1.2
-- , http-client >= 0.4 && < 0.6
-+ , http-client >= 0.4 && < 0.7
- , http-conduit >= 2.1.4 && < 3
- , http-types >= 0.8 && (<0.11 || >=0.12)
- , lens >= 4.4
---
-2.23.0
diff --git a/pkgs/development/haskell-modules/patches/darcs-2.14.2-Compile-against-GHC-8.8.patch b/pkgs/development/haskell-modules/patches/darcs-2.14.2-Compile-against-GHC-8.8.patch
deleted file mode 100644
index 04ff068e1d02..000000000000
--- a/pkgs/development/haskell-modules/patches/darcs-2.14.2-Compile-against-GHC-8.8.patch
+++ /dev/null
@@ -1,333 +0,0 @@
-From 2490fa65eeba52699a7c0e303aa5cb9b78c2b1cf Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Niklas=20Hamb=C3=BCchen?=
-Date: Fri, 17 Apr 2020 20:49:23 +0200
-Subject: [PATCH] Compile against GHC 8.8
-
----
- Setup.hs | 15 ---------------
- src/Darcs/Patch/Depends.hs | 2 +-
- src/Darcs/Patch/Match.hs | 12 ++++++------
- src/Darcs/Patch/PatchInfoAnd.hs | 2 +-
- src/Darcs/Patch/Prim/V1/Apply.hs | 6 +++---
- src/Darcs/Patch/Prim/V1/Commute.hs | 1 +
- src/Darcs/Patch/ReadMonads.hs | 1 +
- src/Darcs/Patch/V1/Commute.hs | 1 +
- src/Darcs/Repository/Diff.hs | 2 +-
- src/Darcs/Repository/Match.hs | 2 +-
- src/Darcs/Util/Tree/Monad.hs | 4 ++--
- 12 files changed, 30 insertions(+), 42 deletions(-)
-
-diff --git a/Setup.hs b/Setup.hs
-index f5cc3e8..05caac4 100644
---- a/Setup.hs
-+++ b/Setup.hs
-@@ -75,21 +75,6 @@
- postInst = \ _ flags pkg lbi ->
- installManpage pkg lbi (fromFlag $ installVerbosity flags) NoCopyDest,
-
-- sDistHook = \ pkg lbi hooks flags -> do
-- let pkgVer = packageVersion pkg
-- verb = fromFlag $ sDistVerbosity flags
-- x <- versionPatches verb pkgVer
-- y <- context verb
-- rewriteFileEx silent "release/distributed-version" $ show x
-- rewriteFileEx silent "release/distributed-context" $ show y
-- putStrLn "about to hand over"
-- let pkg' = pkg { library = sanity (library pkg) }
-- sanity (Just lib) = Just $ lib { libBuildInfo = sanity' $ libBuildInfo lib }
-- sanity _ = error "eh"
-- sanity' bi = bi { otherModules = [ m | m <- otherModules bi, toFilePath m /= "Version" ] }
--
-- sDistHook simpleUserHooks pkg' lbi hooks flags
-- ,
- postConf = \_ _ _ _ -> return () --- Usually this checked for external C
- --- dependencies, but we already have performed such
- --- check in the confHook
---- a/darcs.cabal 1970-01-01 01:00:01.000000000 +0100
-+++ b/darcs.cabal 2020-04-18 10:26:07.605129733 +0200
-@@ -1,6 +1,5 @@
- Name: darcs
- version: 2.14.2
--x-revision: 1
- License: GPL-2
- License-file: COPYING
- Author: David Roundy ,
-@@ -75,7 +74,7 @@
- description: Use libcurl for HTTP support.
-
- -- in future this could extend to any other external libraries,
---- e.g. libiconv
-+-- e.g. libiconv
- flag pkgconfig
- description: Use pkgconfig to configure libcurl
- default: False
-@@ -113,7 +112,7 @@
- -- ----------------------------------------------------------------------
-
- custom-setup
-- setup-depends: base >= 4.9 && < 4.13,
-+ setup-depends: base >= 4.9 && <5,
- Cabal >= 1.24,
- process >= 1.2.3.0 && < 1.7,
- filepath >= 1.4.1 && < 1.5.0.0,
-@@ -381,7 +380,7 @@
- else
- build-depends: unix >= 2.7.1.0 && < 2.8
-
-- build-depends: base >= 4.9 && < 4.13,
-+ build-depends: base >= 4.9 && <5,
- stm >= 2.1 && < 2.6,
- binary >= 0.5 && < 0.10,
- containers >= 0.5.6.2 && < 0.7,
-@@ -402,19 +401,19 @@
- tar >= 0.5 && < 0.6,
- data-ordlist == 0.4.*,
- attoparsec >= 0.13.0.1 && < 0.14,
-- zip-archive >= 0.3 && < 0.5,
-+ zip-archive >= 0.3 && <1,
- async >= 2.0.2 && < 2.3,
-- sandi >= 0.4 && < 0.6,
-+ sandi >= 0.4 && <1,
- unix-compat >= 0.4.2 && < 0.6,
- bytestring >= 0.10.6 && < 0.11,
- old-time >= 1.1.0.3 && < 1.2,
- time >= 1.5.0.1 && < 1.10,
-- text >= 1.2.1.3 && < 1.3,
-+ text >= 1.2.1.3 && <2,
- directory >= 1.2.6.2 && < 1.4,
- process >= 1.2.3.0 && < 1.7,
- array >= 0.5.1.0 && < 0.6,
- random >= 1.1 && < 1.2,
-- hashable >= 1.2.3.3 && < 1.3,
-+ hashable >= 1.2.3.3 && <2,
- mmap >= 0.5.9 && < 0.6,
- zlib >= 0.6.1.2 && < 0.7.0.0,
- network-uri == 2.6.*,
-@@ -443,7 +442,7 @@
-
- -- The terminfo package cannot be built on Windows.
- if flag(terminfo) && !os(windows)
-- build-depends: terminfo >= 0.4.0.2 && < 0.5
-+ build-depends: terminfo >= 0.4.0.2 && <1
- cpp-options: -DHAVE_TERMINFO
-
- default-extensions:
-@@ -500,7 +499,7 @@
- cc-options: -D_REENTRANT
-
- build-depends: darcs,
-- base >= 4.9 && < 4.13
-+ base >= 4.9 && <5
-
- -- ----------------------------------------------------------------------
- -- unit test driver
-@@ -518,7 +517,7 @@
- build-depends: Win32 >= 2.3.1 && < 2.4
-
- build-depends: darcs,
-- base >= 4.9 && < 4.13,
-+ base >= 4.9 && <5,
- array >= 0.5.1.0 && < 0.6,
- bytestring >= 0.10.6 && < 0.11,
- cmdargs >= 0.10.10 && < 0.11,
-@@ -527,15 +526,15 @@
- mtl >= 2.2.1 && < 2.3,
- shelly >= 1.6.8 && < 1.9,
- split >= 0.2.2 && < 0.3,
-- text >= 1.2.1.3 && < 1.3,
-+ text >= 1.2.1.3 && <2,
- directory >= 1.2.6.2 && < 1.4,
- FindBin >= 0.0.5 && < 0.1,
-- QuickCheck >= 2.8.2 && < 2.13,
-+ QuickCheck >= 2.8.2 && <3,
- HUnit >= 1.3 && < 1.7,
- test-framework >= 0.8.1.1 && < 0.9,
- test-framework-hunit >= 0.3.0.2 && < 0.4,
- test-framework-quickcheck2 >= 0.3.0.3 && < 0.4,
-- zip-archive >= 0.3 && < 0.5
-+ zip-archive >= 0.3 && <1
-
- -- https://github.com/yesodweb/Shelly.hs/issues/177
- if os(windows)
-diff --git a/src/Darcs/Patch/Depends.hs b/src/Darcs/Patch/Depends.hs
-index 8531294..a4c71cb 100644
---- a/src/Darcs/Patch/Depends.hs
-+++ b/src/Darcs/Patch/Depends.hs
-@@ -251,7 +251,7 @@ splitOnTag _ (PatchSet NilRL NilRL) = Nothing
- unwrapOneTagged :: (Monad m) => PatchSet rt p wX wY -> m (PatchSet rt p wX wY)
- unwrapOneTagged (PatchSet (ts :<: Tagged t _ tps) ps) =
- return $ PatchSet ts (tps :<: t +<+ ps)
--unwrapOneTagged _ = fail "called unwrapOneTagged with no Tagged's in the set"
-+unwrapOneTagged _ = error "called unwrapOneTagged with no Tagged's in the set"
-
- -- | @getUncovered ps@ returns the 'PatchInfo' for all the patches in
- -- @ps@ that are not depended on by anything else *through explicit
-diff --git a/src/Darcs/Patch/Match.hs b/src/Darcs/Patch/Match.hs
-index aba6c7a..2b6f53a 100644
---- a/src/Darcs/Patch/Match.hs
-+++ b/src/Darcs/Patch/Match.hs
-@@ -421,7 +421,7 @@ getNonrangeMatchS fs repo =
- Just m -> if nonrangeMatcherIsTag fs
- then getTagS m repo
- else getMatcherS Exclusive m repo
-- Nothing -> fail "Pattern not specified in getNonrangeMatch."
-+ Nothing -> error "Pattern not specified in getNonrangeMatch."
-
- -- | @firstMatch fs@ tells whether @fs@ implies a "first match", that
- -- is if we match against patches from a point in the past on, rather
-@@ -441,7 +441,7 @@ getFirstMatchS fs repo =
- Just (_,b) -> unpullLastN repo b -- b is chronologically earlier than a
- Nothing ->
- case firstMatcher fs of
-- Nothing -> fail "Pattern not specified in getFirstMatchS."
-+ Nothing -> error "Pattern not specified in getFirstMatchS."
- Just m -> if firstMatcherIsTag fs
- then getTagS m repo
- else getMatcherS Inclusive m repo
-@@ -462,7 +462,7 @@ checkMatchSyntax :: [MatchFlag] -> IO ()
- checkMatchSyntax opts =
- case getMatchPattern opts of
- Nothing -> return ()
-- Just p -> either fail (const $ return ()) (parseMatch p::Either String (MatchFun rt DummyPatch))
-+ Just p -> either error (const $ return ()) (parseMatch p::Either String (MatchFun rt DummyPatch))
-
- getMatchPattern :: [MatchFlag] -> Maybe String
- getMatchPattern [] = Nothing
-@@ -718,7 +718,7 @@ getMatcherS :: (ApplyMonad (ApplyState p) m, Matchable p) =>
- getMatcherS ioe m repo =
- if matchExists m repo
- then applyInvToMatcher ioe m repo
-- else fail $ "Couldn't match pattern "++ show m
-+ else error $ "Couldn't match pattern "++ show m
-
- getTagS :: (ApplyMonad (ApplyState p) m, MonadProgress m, Matchable p) =>
- Matcher rt p -> PatchSet rt p Origin wX -> m ()
-diff --git a/src/Darcs/Patch/PatchInfoAnd.hs b/src/Darcs/Patch/PatchInfoAnd.hs
-index 2da7ec8..1147410 100644
---- a/src/Darcs/Patch/PatchInfoAnd.hs
-+++ b/src/Darcs/Patch/PatchInfoAnd.hs
-@@ -167,7 +167,7 @@ conscientiously er (PIAP pinf hp) =
-
- -- | @hopefullyM@ is a version of @hopefully@ which calls @fail@ in a
- -- monad instead of erroring.
--hopefullyM :: Monad m => PatchInfoAnd rt p wA wB -> m (WrappedNamed rt p wA wB)
-+hopefullyM :: MonadFail m => PatchInfoAnd rt p wA wB -> m (WrappedNamed rt p wA wB)
- hopefullyM (PIAP pinf hp) = case hopefully2either hp of
- Right p -> return p
- Left e -> fail $ renderString
-diff --git a/src/Darcs/Patch/Prim/V1/Apply.hs b/src/Darcs/Patch/Prim/V1/Apply.hs
-index bea7e41..7984d21 100644
---- a/src/Darcs/Patch/Prim/V1/Apply.hs
-+++ b/src/Darcs/Patch/Prim/V1/Apply.hs
-@@ -41,13 +41,13 @@ instance Apply Prim where
- apply (FP f (TokReplace t o n)) = mModifyFilePS f doreplace
- where doreplace fc =
- case tryTokReplace t (BC.pack o) (BC.pack n) fc of
-- Nothing -> fail $ "replace patch to " ++ fn2fp f
-+ Nothing -> error $ "replace patch to " ++ fn2fp f
- ++ " couldn't apply."
- Just fc' -> return fc'
- apply (FP f (Binary o n)) = mModifyFilePS f doapply
- where doapply oldf = if o == oldf
- then return n
-- else fail $ "binary patch to " ++ fn2fp f
-+ else error $ "binary patch to " ++ fn2fp f
- ++ " couldn't apply."
- apply (DP d AddDir) = mCreateDirectory d
- apply (DP d RmDir) = mRemoveDirectory d
-@@ -115,7 +115,7 @@ applyHunk f h fc =
- case applyHunkLines h fc of
- Right fc' -> return fc'
- Left msg ->
-- fail $
-+ error $
- "### Error applying:\n" ++ renderHunk h ++
- "\n### to file " ++ fn2fp f ++ ":\n" ++ BC.unpack fc ++
- "### Reason: " ++ msg
-diff --git a/src/Darcs/Patch/Prim/V1/Commute.hs b/src/Darcs/Patch/Prim/V1/Commute.hs
-index 7639dbd..e1432e6 100644
---- a/src/Darcs/Patch/Prim/V1/Commute.hs
-+++ b/src/Darcs/Patch/Prim/V1/Commute.hs
-@@ -58,6 +58,7 @@ instance Monad Perhaps where
- Failed >>= _ = Failed
- Unknown >>= _ = Unknown
- return = Succeeded
-+instance MonadFail Perhaps where
- fail _ = Unknown
-
- instance Alternative Perhaps where
-diff --git a/src/Darcs/Patch/ReadMonads.hs b/src/Darcs/Patch/ReadMonads.hs
-index 62a4f81..e1cb149 100644
---- a/src/Darcs/Patch/ReadMonads.hs
-+++ b/src/Darcs/Patch/ReadMonads.hs
-@@ -237,6 +237,7 @@ failSM _ = SM (\_ -> Nothing)
- instance Monad SM where
- (>>=) = bindSM
- return = returnSM
-+instance MonadFail SM where
- fail = failSM
-
- instance ParserM SM where
-diff --git a/src/Darcs/Patch/V1/Commute.hs b/src/Darcs/Patch/V1/Commute.hs
-index 0bb41a3..c6c3382 100644
---- a/src/Darcs/Patch/V1/Commute.hs
-+++ b/src/Darcs/Patch/V1/Commute.hs
-@@ -93,6 +93,7 @@ instance Monad Perhaps where
- Failed >>= _ = Failed
- Unknown >>= _ = Unknown
- return = Succeeded
-+instance MonadFail Perhaps where
- fail _ = Unknown
-
- instance Alternative Perhaps where
-diff --git a/src/Darcs/Repository/Diff.hs b/src/Darcs/Repository/Diff.hs
-index 8078d49..e0e2341 100644
---- a/src/Darcs/Repository/Diff.hs
-+++ b/src/Darcs/Repository/Diff.hs
-@@ -138,7 +138,7 @@ treeDiff da ft t1 t2 = do
- do rmDirP <- diff p (Removed subtree)
- addFileP <- diff p (Changed (File emptyBlob) b')
- return $ joinGap (+>+) rmDirP addFileP
-- diff p _ = fail $ "Missing case at path " ++ show p
-+ diff p _ = error $ "Missing case at path " ++ show p
-
- text_diff p a b
- | BL.null a && BL.null b = emptyGap NilFL
-diff --git a/src/Darcs/Repository/Match.hs b/src/Darcs/Repository/Match.hs
-index 08c9f13..f33cabe 100644
---- a/src/Darcs/Repository/Match.hs
-+++ b/src/Darcs/Repository/Match.hs
-@@ -60,7 +60,7 @@ getNonrangeMatch :: (ApplyMonad (ApplyState p) DefaultIO, IsRepoType rt, RepoPat
- getNonrangeMatch r = withRecordedMatch r . getMatch where
- getMatch fs = case hasIndexRange fs of
- Just (n, m) | n == m -> applyNInv (n-1)
-- | otherwise -> fail "Index range is not allowed for this command."
-+ | otherwise -> error "Index range is not allowed for this command."
- _ -> getNonrangeMatchS fs
-
- getOnePatchset :: (IsRepoType rt, RepoPatch p)
-diff --git a/src/Darcs/Util/Tree/Monad.hs b/src/Darcs/Util/Tree/Monad.hs
-index 0e01d9b..296fdc4 100644
---- a/src/Darcs/Util/Tree/Monad.hs
-+++ b/src/Darcs/Util/Tree/Monad.hs
-@@ -216,7 +216,7 @@ instance (Monad m) => TreeRO (TreeMonad m) where
- t <- gets tree
- let f = findFile t p'
- case f of
-- Nothing -> fail $ "No such file " ++ show p'
-+ Nothing -> error $ "No such file " ++ show p'
- Just x -> lift (readBlob x)
-
- currentDirectory = ask
-@@ -251,7 +251,7 @@ instance (Monad m) => TreeRW (TreeMonad m) where
- let item = find tr from'
- found_to = find tr to'
- unless (isNothing found_to) $
-- fail $ "Error renaming: destination " ++ show to ++ " exists."
-+ error $ "Error renaming: destination " ++ show to ++ " exists."
- unless (isNothing item) $ do
- modifyItem from Nothing
- modifyItem to item
---
-2.23.1
-
diff --git a/pkgs/development/haskell-modules/patches/darcs-setup.patch b/pkgs/development/haskell-modules/patches/darcs-setup.patch
deleted file mode 100644
index fbc7efde428e..000000000000
--- a/pkgs/development/haskell-modules/patches/darcs-setup.patch
+++ /dev/null
@@ -1,120 +0,0 @@
---- darcs-2.14.2/Setup.hs 2019-01-27 03:14:51.000000000 +1300
-+++ darcs.net/Setup.hs 2019-10-18 02:41:57.000000000 +1300
-@@ -11,7 +11,9 @@
- , TestSuite(testBuildInfo)
- , updatePackageDescription
- , cppOptions, ccOptions
-- , library, libBuildInfo, otherModules )
-+ , library, libBuildInfo, otherModules
-+ , ComponentName(CExeName)
-+ )
- import Distribution.Package
- ( packageVersion )
- import Distribution.Version( Version )
-@@ -21,24 +23,27 @@
- import Distribution.Simple.Setup
- (buildVerbosity, copyDest, copyVerbosity, fromFlag,
- haddockVerbosity, installVerbosity, sDistVerbosity, replVerbosity )
--import Distribution.Simple.BuildPaths ( autogenModulesDir )
-+import Distribution.Simple.BuildPaths ( autogenPackageModulesDir )
- import Distribution.System
- ( OS(Windows), buildOS )
- import Distribution.Simple.Utils
- (copyFiles, createDirectoryIfMissingVerbose, rawSystemStdout,
-- rewriteFile )
-+ rewriteFileEx)
-+import Distribution.Types.UnqualComponentName
- import Distribution.Verbosity
-- ( Verbosity )
-+ ( Verbosity, silent )
- import Distribution.Text
- ( display )
--import Control.Monad ( unless, void )
-
-+import Control.Monad ( unless, when, void )
- import System.Directory
- ( doesDirectoryExist, doesFileExist )
- import System.IO
- ( openFile, IOMode(..) )
- import System.Process (runProcess)
- import Data.List( isInfixOf, lines )
-+import qualified Data.Map as M
-+import Data.Maybe ( isJust )
- import System.FilePath ( (>) )
- import Foreign.Marshal.Utils ( with )
- import Foreign.Storable ( peek )
-@@ -75,8 +80,8 @@
- verb = fromFlag $ sDistVerbosity flags
- x <- versionPatches verb pkgVer
- y <- context verb
-- rewriteFile "release/distributed-version" $ show x
-- rewriteFile "release/distributed-context" $ show y
-+ rewriteFileEx silent "release/distributed-version" $ show x
-+ rewriteFileEx silent "release/distributed-context" $ show y
- putStrLn "about to hand over"
- let pkg' = pkg { library = sanity (library pkg) }
- sanity (Just lib) = Just $ lib { libBuildInfo = sanity' $ libBuildInfo lib }
-@@ -105,8 +110,7 @@
- littleEndian <- testEndianness
- let args = ("-DPACKAGE_VERSION=" ++ show' version) :
- [arg | (arg, True) <- -- include fst iff snd.
-- [-- We have MAPI iff building on/for Windows.
-- ("-DHAVE_MAPI", buildOS == Windows),
-+ [
- ("-DLITTLEENDIAN", littleEndian),
- ("-DBIGENDIAN", not littleEndian)]]
- bi = emptyBuildInfo { cppOptions = args, ccOptions = args }
-@@ -133,20 +137,26 @@
- -- man page
- -- ---------------------------------------------------------------------
-
-+hasDarcsExe :: LocalBuildInfo -> Bool
-+hasDarcsExe = isJust . M.lookup darcsExe . componentNameMap where
-+ darcsExe = CExeName (mkUnqualComponentName "darcs")
-+
- buildManpage :: LocalBuildInfo -> IO ()
--buildManpage lbi = do
-- let darcs = buildDir lbi > "darcs/darcs"
-- manpage = buildDir lbi > "darcs/darcs.1"
-- manpageHandle <- openFile manpage WriteMode
-- void $ runProcess darcs ["help","manpage"]
-- Nothing Nothing Nothing (Just manpageHandle) Nothing
-+buildManpage lbi =
-+ when (hasDarcsExe lbi) $ do
-+ let darcs = buildDir lbi > "darcs/darcs"
-+ manpage = buildDir lbi > "darcs/darcs.1"
-+ manpageHandle <- openFile manpage WriteMode
-+ void $ runProcess darcs ["help","manpage"]
-+ Nothing Nothing Nothing (Just manpageHandle) Nothing
-
--installManpage :: PackageDescription -> LocalBuildInfo
-- -> Verbosity -> CopyDest -> IO ()
-+installManpage :: PackageDescription -> LocalBuildInfo -> Verbosity -> CopyDest -> IO ()
- installManpage pkg lbi verbosity copy =
-- copyFiles verbosity
-- (mandir (absoluteInstallDirs pkg lbi copy) > "man1")
-- [(buildDir lbi > "darcs", "darcs.1")]
-+ when (hasDarcsExe lbi) $
-+ copyFiles
-+ verbosity
-+ (mandir (absoluteInstallDirs pkg lbi copy) > "man1")
-+ [(buildDir lbi > "darcs", "darcs.1")]
-
- -- ---------------------------------------------------------------------
- -- version module
-@@ -187,12 +197,13 @@
- generateVersionModule :: Verbosity -> LocalBuildInfo
- -> String -> String -> IO ()
- generateVersionModule verbosity lbi version state = do
-- let dir = autogenModulesDir lbi
-+ let dir = autogenPackageModulesDir lbi
- createDirectoryIfMissingVerbose verbosity True dir
- ctx <- context verbosity
- hash <- weakhash verbosity
-- rewriteFile (dir > "Version.hs") $ unlines
-+ rewriteFileEx silent (dir > "Version.hs") $ unlines
- ["module Version where"
-+ ,"import Darcs.Prelude"
- ,"version, weakhash, context :: String"
- ,"version = \"" ++ version ++ " (" ++ state ++ ")\""
- ,"weakhash = " ++ case hash of
diff --git a/pkgs/development/haskell-modules/patches/fix-dbus-for-ghc-8.10.x.patch b/pkgs/development/haskell-modules/patches/fix-dbus-for-ghc-8.10.x.patch
deleted file mode 100644
index 7ed390d3f237..000000000000
--- a/pkgs/development/haskell-modules/patches/fix-dbus-for-ghc-8.10.x.patch
+++ /dev/null
@@ -1,383 +0,0 @@
-Only in dbus-1.2.13-new: .codeclimate.yml
-diff -ur dbus-1.2.13-old/dbus.cabal dbus-1.2.13-new/dbus.cabal
---- dbus-1.2.13-old/dbus.cabal 2020-04-25 19:29:27.372272952 +0200
-+++ dbus-1.2.13-new/dbus.cabal 2020-04-25 19:26:36.140991920 +0200
-@@ -1,172 +1,180 @@
--cabal-version: >=1.8
- name: dbus
- version: 1.2.13
- license: Apache-2.0
- license-file: license.txt
--maintainer: Andrey Sverdlichenko
- author: John Millikin
-+maintainer: Andrey Sverdlichenko
-+build-type: Simple
-+cabal-version: >= 1.8
-+category: Network, Desktop
- stability: experimental
- homepage: https://github.com/rblaze/haskell-dbus#readme
-+
- synopsis: A client library for the D-Bus IPC system.
- description:
-- D-Bus is a simple, message-based protocol for inter-process
-- communication, which allows applications to interact with other parts of
-- the machine and the user's session using remote procedure calls.
-- .
-- D-Bus is a essential part of the modern Linux desktop, where it replaces
-- earlier protocols such as CORBA and DCOP.
-- .
-- This library is an implementation of the D-Bus protocol in Haskell. It
-- can be used to add D-Bus support to Haskell applications, without the
-- awkward interfaces common to foreign bindings.
-- .
-- Example: connect to the session bus, and get a list of active names.
-- .
-- @
-- {-\# LANGUAGE OverloadedStrings \#-}
-- .
-- import Data.List (sort)
-- import DBus
-- import DBus.Client
-- .
-- main = do
-- client <- connectSession
-- //
-- \-- Request a list of connected clients from the bus
-- reply <- call_ client (methodCall \"\/org\/freedesktop\/DBus\" \"org.freedesktop.DBus\" \"ListNames\")
-- { methodCallDestination = Just \"org.freedesktop.DBus\"
-- }
-- //
-- \-- org.freedesktop.DBus.ListNames() returns a single value, which is
-- \-- a list of names (here represented as [String])
-- let Just names = fromVariant (methodReturnBody reply !! 0)
-- //
-- \-- Print each name on a line, sorted so reserved names are below
-- \-- temporary names.
-- mapM_ putStrLn (sort names)
-- @
-- .
-- >$ ghc --make list-names.hs
-- >$ ./list-names
-- >:1.0
-- >:1.1
-- >:1.10
-- >:1.106
-- >:1.109
-- >:1.110
-- >ca.desrt.dconf
-- >org.freedesktop.DBus
-- >org.freedesktop.Notifications
-- >org.freedesktop.secrets
-- >org.gnome.ScreenSaver
--category: Network, Desktop
--build-type: Simple
-+ D-Bus is a simple, message-based protocol for inter-process
-+ communication, which allows applications to interact with other parts of
-+ the machine and the user's session using remote procedure calls.
-+ .
-+ D-Bus is a essential part of the modern Linux desktop, where it replaces
-+ earlier protocols such as CORBA and DCOP.
-+ .
-+ This library is an implementation of the D-Bus protocol in Haskell. It
-+ can be used to add D-Bus support to Haskell applications, without the
-+ awkward interfaces common to foreign bindings.
-+ .
-+ Example: connect to the session bus, and get a list of active names.
-+ .
-+ @
-+ {-\# LANGUAGE OverloadedStrings \#-}
-+ .
-+ import Data.List (sort)
-+ import DBus
-+ import DBus.Client
-+ .
-+ main = do
-+ client <- connectSession
-+
-+ -- Request a list of connected clients from the bus
-+ reply <- call_ client (methodCall \"\/org\/freedesktop\/DBus\" \"org.freedesktop.DBus\" \"ListNames\")
-+ { methodCallDestination = Just \"org.freedesktop.DBus\"
-+ }
-+
-+ -- org.freedesktop.DBus.ListNames() returns a single value, which is
-+ -- a list of names (here represented as [String])
-+ let Just names = fromVariant (methodReturnBody reply !! 0)
-+
-+ -- Print each name on a line, sorted so reserved names are below
-+ -- temporary names.
-+ mapM_ putStrLn (sort names)
-+ @
-+ .
-+ >$ ghc --make list-names.hs
-+ >$ ./list-names
-+ >:1.0
-+ >:1.1
-+ >:1.10
-+ >:1.106
-+ >:1.109
-+ >:1.110
-+ >ca.desrt.dconf
-+ >org.freedesktop.DBus
-+ >org.freedesktop.Notifications
-+ >org.freedesktop.secrets
-+ >org.gnome.ScreenSaver
-+
-+
- extra-source-files:
-- examples/dbus-monitor.hs
-- examples/export.hs
-- examples/introspect.hs
-- examples/list-names.hs
-- idlxml/dbus.xml
-+ examples/dbus-monitor.hs
-+ examples/export.hs
-+ examples/introspect.hs
-+ examples/list-names.hs
-+ idlxml/dbus.xml
-
- source-repository head
-- type: git
-- location: https://github.com/rblaze/haskell-dbus
-+ type: git
-+ location: https://github.com/rblaze/haskell-dbus
-
- library
-- exposed-modules:
-- DBus
-- DBus.Client
-- DBus.Generation
-- DBus.Internal.Address
-- DBus.Internal.Message
-- DBus.Internal.Types
-- DBus.Internal.Wire
-- DBus.Introspection
-- DBus.Introspection.Parse
-- DBus.Introspection.Render
-- DBus.Introspection.Types
-- DBus.Socket
-- DBus.TH
-- DBus.Transport
-- hs-source-dirs: lib
-- ghc-options: -W -Wall
-- build-depends:
-- base ==4.*,
-- bytestring <0.11,
-- cereal <0.6,
-- conduit >=1.3.0 && <1.4,
-- containers <0.7,
-- deepseq <1.5,
-- exceptions <0.11,
-- filepath <1.5,
-- lens <4.20,
-- network >=3.0.1.0 && <3.2,
-- parsec <3.2,
-- random <1.2,
-- split <0.3,
-- template-haskell <2.16.0.0,
-- text <1.3,
-- th-lift <0.9,
-- transformers <0.6,
-- unix <2.8,
-- vector <0.13,
-- xml-conduit >=1.9.0.0 && <1.10.0.0,
-- xml-types <0.4
-+ ghc-options: -W -Wall
-+ hs-source-dirs: lib
-+
-+ build-depends:
-+ base >=4 && <5
-+ , bytestring
-+ , cereal
-+ , conduit >= 1.3.0
-+ , containers
-+ , deepseq
-+ , exceptions
-+ , filepath
-+ , lens < 4.20
-+ , network >= 3.0.1.0 && < 3.2
-+ , parsec
-+ , random
-+ , split
-+ , template-haskell < 2.17.0.0
-+ , text
-+ , th-lift < 0.9
-+ , transformers
-+ , unix
-+ , vector
-+ , xml-conduit >= 1.9.0.0 && < 1.10.0.0
-+ , xml-types
-+
-+ exposed-modules:
-+ DBus
-+ DBus.Client
-+ DBus.Generation
-+ DBus.Internal.Address
-+ DBus.Internal.Message
-+ DBus.Internal.Types
-+ DBus.Internal.Wire
-+ DBus.Introspection
-+ DBus.Introspection.Parse
-+ DBus.Introspection.Render
-+ DBus.Introspection.Types
-+ DBus.Socket
-+ DBus.TH
-+ DBus.Transport
-
- test-suite dbus_tests
-- type: exitcode-stdio-1.0
-- main-is: DBusTests.hs
-- hs-source-dirs: tests
-- other-modules:
-- DBusTests.Address
-- DBusTests.BusName
-- DBusTests.Client
-- DBusTests.ErrorName
-- DBusTests.Generation
-- DBusTests.Integration
-- DBusTests.InterfaceName
-- DBusTests.Introspection
-- DBusTests.MemberName
-- DBusTests.Message
-- DBusTests.ObjectPath
-- DBusTests.Serialization
-- DBusTests.Signature
-- DBusTests.Socket
-- DBusTests.TH
-- DBusTests.Transport
-- DBusTests.Util
-- DBusTests.Variant
-- DBusTests.Wire
-- ghc-options: -W -Wall -fno-warn-orphans
-- build-depends:
-- dbus -any,
-- base ==4.*,
-- bytestring <0.11,
-- cereal <0.6,
-- containers <0.7,
-- directory <1.4,
-- extra <1.8,
-- filepath <1.5,
-- network >=3.0.1.0 && <3.2,
-- parsec <3.2,
-- process <1.7,
-- QuickCheck <2.15,
-- random <1.2,
-- resourcet <1.3,
-- tasty <1.3,
-- tasty-hunit <0.11,
-- tasty-quickcheck <0.11,
-- text <1.3,
-- transformers <0.6,
-- unix <2.8,
-- vector <0.13
-+ type: exitcode-stdio-1.0
-+ main-is: DBusTests.hs
-+ hs-source-dirs: tests
-+ ghc-options: -W -Wall -fno-warn-orphans
-+
-+ build-depends:
-+ dbus
-+ , base >=4 && <5
-+ , bytestring
-+ , cereal
-+ , containers
-+ , directory
-+ , extra < 1.8
-+ , filepath
-+ , network >= 3.0.1.0 && < 3.2
-+ , parsec
-+ , process
-+ , QuickCheck < 2.15
-+ , random
-+ , resourcet
-+ , tasty
-+ , tasty-hunit
-+ , tasty-quickcheck
-+ , text
-+ , transformers
-+ , unix
-+ , vector
-+
-+ other-modules:
-+ DBusTests.Address
-+ DBusTests.BusName
-+ DBusTests.Client
-+ DBusTests.ErrorName
-+ DBusTests.Generation
-+ DBusTests.Integration
-+ DBusTests.InterfaceName
-+ DBusTests.Introspection
-+ DBusTests.MemberName
-+ DBusTests.Message
-+ DBusTests.ObjectPath
-+ DBusTests.Serialization
-+ DBusTests.Signature
-+ DBusTests.Socket
-+ DBusTests.TH
-+ DBusTests.Transport
-+ DBusTests.Util
-+ DBusTests.Variant
-+ DBusTests.Wire
-
- benchmark dbus_benchmarks
-- type: exitcode-stdio-1.0
-- main-is: DBusBenchmarks.hs
-- hs-source-dirs: benchmarks
-- ghc-options: -Wall -fno-warn-orphans
-- build-depends:
-- dbus -any,
-- base ==4.*,
-- criterion <1.6
-+ type: exitcode-stdio-1.0
-+ main-is: DBusBenchmarks.hs
-+ hs-source-dirs: benchmarks
-+ ghc-options: -Wall -fno-warn-orphans
-+
-+ build-depends:
-+ dbus
-+ , base >=4 && <5
-+ , criterion
-Only in dbus-1.2.13-new: .git
-Only in dbus-1.2.13-new: .gitignore
-diff -ur dbus-1.2.13-old/lib/DBus/Generation.hs dbus-1.2.13-new/lib/DBus/Generation.hs
---- dbus-1.2.13-old/lib/DBus/Generation.hs 2019-02-14 16:37:47.000000000 +0100
-+++ dbus-1.2.13-new/lib/DBus/Generation.hs 2020-04-25 19:26:36.144991997 +0200
-@@ -1,3 +1,4 @@
-+{-# LANGUAGE CPP #-}
- {-# LANGUAGE OverloadedStrings #-}
- {-# LANGUAGE TemplateHaskell #-}
- module DBus.Generation where
-@@ -26,6 +27,13 @@
- import Prelude hiding (mapM)
- import System.Posix.Types (Fd(..))
-
-+-- | Compatibility helper to create (total) tuple expressions
-+mkTupE :: [Exp] -> Exp
-+mkTupE = TupE
-+#if MIN_VERSION_template_haskell(2,16,0)
-+ . map Just
-+#endif
-+
- type ClientBusPathR a = ReaderT (Client, T.BusName, T.ObjectPath) IO a
-
- dbusInvoke :: (Client -> T.BusName -> T.ObjectPath -> a) -> ClientBusPathR a
-@@ -232,8 +240,8 @@
- finalOutputNames <- buildOutputNames
- let variantListExp = map makeToVariantApp methodArgNames
- mapOrHead' = mapOrHead outputLength
-- fromVariantExp = mapOrHead' makeFromVariantApp fromVariantOutputNames TupE
-- finalResultTuple = mapOrHead' VarE finalOutputNames TupE
-+ fromVariantExp = mapOrHead' makeFromVariantApp fromVariantOutputNames mkTupE
-+ finalResultTuple = mapOrHead' VarE finalOutputNames mkTupE
- maybeExtractionPattern = mapOrHead' makeJustPattern finalOutputNames TupP
- getMethodCallDefDec = [d|
- $( varP methodCallDefN ) =
-@@ -432,7 +440,7 @@
- }
- |]
- let mapOrHead' = mapOrHead argCount
-- fromVariantExp = mapOrHead' makeFromVariantApp fromVariantOutputNames TupE
-+ fromVariantExp = mapOrHead' makeFromVariantApp fromVariantOutputNames mkTupE
- maybeExtractionPattern = mapOrHead' makeJustPattern toHandlerOutputNames TupP
- applyToName toApply n = AppE toApply $ VarE n
- finalApplication = foldl applyToName (VarE handlerArgN)
diff --git a/pkgs/development/haskell-modules/patches/ghc-paths-nix-ghcjs.patch b/pkgs/development/haskell-modules/patches/ghc-paths-nix-ghcjs.patch
deleted file mode 100644
index 48cf6a035afb..000000000000
--- a/pkgs/development/haskell-modules/patches/ghc-paths-nix-ghcjs.patch
+++ /dev/null
@@ -1,65 +0,0 @@
-diff --git a/GHC/Paths.hs b/GHC/Paths.hs
-index c87565d..88b3db4 100644
---- a/GHC/Paths.hs
-+++ b/GHC/Paths.hs
-@@ -1,13 +1,35 @@
- {-# LANGUAGE CPP #-}
-+{-# LANGUAGE ScopedTypeVariables #-}
-
- module GHC.Paths (
- ghc, ghc_pkg, libdir, docdir
- ) where
-
-+import Control.Exception as E
-+import Data.Maybe
-+import System.Environment
-+import System.IO.Unsafe
-+
-+-- Yes, there's lookupEnv now, but we want to be compatible
-+-- with older GHCs.
-+checkEnv :: String -> IO (Maybe String)
-+checkEnv var = E.catch (fmap Just (getEnv var))
-+ (\ (e :: IOException) -> return Nothing)
-+
-+nixLibdir, nixDocdir, nixGhc, nixGhcPkg :: Maybe FilePath
-+nixLibdir = unsafePerformIO (checkEnv "NIX_GHCJS_LIBDIR")
-+nixDocdir = unsafePerformIO (checkEnv "NIX_GHCJS_DOCDIR")
-+nixGhc = unsafePerformIO (checkEnv "NIX_GHCJS")
-+nixGhcPkg = unsafePerformIO (checkEnv "NIX_GHCJSPKG")
-+{-# NOINLINE nixLibdir #-}
-+{-# NOINLINE nixDocdir #-}
-+{-# NOINLINE nixGhc #-}
-+{-# NOINLINE nixGhcPkg #-}
-+
- libdir, docdir, ghc, ghc_pkg :: FilePath
-
--libdir = GHC_PATHS_LIBDIR
--docdir = GHC_PATHS_DOCDIR
-+libdir = fromMaybe GHC_PATHS_LIBDIR nixLibdir
-+docdir = fromMaybe GHC_PATHS_DOCDIR nixDocdir
-
--ghc = GHC_PATHS_GHC
--ghc_pkg = GHC_PATHS_GHC_PKG
-+ghc = fromMaybe GHC_PATHS_GHC nixGhc
-+ghc_pkg = fromMaybe GHC_PATHS_GHC_PKG nixGhcPkg
-diff --git a/Setup.hs b/Setup.hs
-index f2d1733..ca4792e 100644
---- a/Setup.hs
-+++ b/Setup.hs
-@@ -39,13 +39,13 @@ main = defaultMainWithHooks simpleUserHooks {
- #else
- libdir_ <- rawSystemProgramStdoutConf (fromFlag (configVerbosity flags))
- #endif
-- ghcProgram (withPrograms lbi) ["--print-libdir"]
-+ ghcjsProgram (withPrograms lbi) ["--print-libdir"]
- let libdir = reverse $ dropWhile isSpace $ reverse libdir_
-
-- ghc_pkg = case lookupProgram ghcPkgProgram (withPrograms lbi) of
-+ ghc_pkg = case lookupProgram ghcjsPkgProgram (withPrograms lbi) of
- Just p -> programPath p
- Nothing -> error "ghc-pkg was not found"
-- ghc = case lookupProgram ghcProgram (withPrograms lbi) of
-+ ghc = case lookupProgram ghcjsProgram (withPrograms lbi) of
- Just p -> programPath p
- Nothing -> error "ghc was not found"
-
diff --git a/pkgs/development/haskell-modules/patches/hunspell.patch b/pkgs/development/haskell-modules/patches/hunspell.patch
deleted file mode 100644
index cc115029a7ad..000000000000
--- a/pkgs/development/haskell-modules/patches/hunspell.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-diff -Naur hunspell-hs-0.1.0.0.orig/hunspell-hs.cabal hunspell-hs-0.1.0.0/hunspell-hs.cabal
---- hunspell-hs-0.1.0.0.orig/hunspell-hs.cabal 2018-08-26 20:23:33.053763300 +0200
-+++ hunspell-hs-0.1.0.0/hunspell-hs.cabal 2018-08-26 20:42:05.886074510 +0200
-@@ -37,7 +37,7 @@
- base >=4.7 && <5
- , stm
- if os(linux)
-- extra-libraries:
-+ pkgconfig-depends:
- hunspell
- if os(darwin)
- include-dirs:
-@@ -63,7 +63,7 @@
- , hunspell-hs
- , stm
- if os(linux)
-- extra-libraries:
-+ pkgconfig-depends:
- hunspell
- if os(darwin)
- include-dirs:
-@@ -88,7 +88,7 @@
- , hunspell-hs
- , stm
- if os(linux)
-- extra-libraries:
-+ pkgconfig-depends:
- hunspell
- if os(darwin)
- include-dirs:
diff --git a/pkgs/development/interpreters/rakudo/zef.nix b/pkgs/development/interpreters/rakudo/zef.nix
index cfdeac264cbd..efd08f7d85b7 100644
--- a/pkgs/development/interpreters/rakudo/zef.nix
+++ b/pkgs/development/interpreters/rakudo/zef.nix
@@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "zef";
- version = "0.14.6";
+ version = "0.15.0";
src = fetchFromGitHub {
owner = "ugexe";
repo = "zef";
rev = "v${version}";
- sha256 = "sha256-3FRzqHbzNhmYg3wRvajMzTWB7lOlgrxwQvvnB3fggGM=";
+ sha256 = "sha256-MJKG/8b8l2RqWec5JoWcYLYrEKI9zrhJMyLqVcvAY+g=";
};
nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/development/libraries/SDL2_image/default.nix b/pkgs/development/libraries/SDL2_image/default.nix
index 4ff02ffb7b2e..a8824904aea8 100644
--- a/pkgs/development/libraries/SDL2_image/default.nix
+++ b/pkgs/development/libraries/SDL2_image/default.nix
@@ -1,15 +1,20 @@
{ lib, stdenv, fetchurl
, pkg-config
, SDL2, libpng, libjpeg, libtiff, giflib, libwebp, libXpm, zlib, Foundation
+, version ? "2.6.3"
+, hash ? "sha256-kxyb5b8dfI+um33BV4KLfu6HTiPH8ktEun7/a0g2MSw="
}:
-stdenv.mkDerivation rec {
+let
pname = "SDL2_image";
- version = "2.0.5";
+in
+
+stdenv.mkDerivation {
+ inherit pname version;
src = fetchurl {
url = "https://www.libsdl.org/projects/SDL_image/release/${pname}-${version}.tar.gz";
- sha256 = "1l0864kas9cwpp2d32yxl81g98lx40dhbdp03dz7sbv84vhgdmdx";
+ inherit hash;
};
nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/development/libraries/audio/zita-alsa-pcmi/default.nix b/pkgs/development/libraries/audio/zita-alsa-pcmi/default.nix
index 3d5d973eec55..fc5162b34e8d 100644
--- a/pkgs/development/libraries/audio/zita-alsa-pcmi/default.nix
+++ b/pkgs/development/libraries/audio/zita-alsa-pcmi/default.nix
@@ -2,10 +2,10 @@
stdenv.mkDerivation rec {
pname = "zita-alsa-pcmi";
- version = "0.5.1";
+ version = "0.6.1";
src = fetchurl {
url = "http://kokkinizita.linuxaudio.org/linuxaudio/downloads/${pname}-${version}.tar.bz2";
- sha256 = "sha256-zyAKaO22She1e/+zPjiwSHeCctGLVYnT0vWgHODzSwc=";
+ sha256 = "sha256-iil6zj16R0Ex7T+jIQacExM3eFtWojfW8WjIXueW1Ww=";
};
buildInputs = [ alsa-lib ];
diff --git a/pkgs/development/libraries/caf/default.nix b/pkgs/development/libraries/caf/default.nix
index 8640fb6b5c9c..f05f55cd8c92 100644
--- a/pkgs/development/libraries/caf/default.nix
+++ b/pkgs/development/libraries/caf/default.nix
@@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "actor-framework";
- version = "0.18.5";
+ version = "0.18.7";
src = fetchFromGitHub {
owner = "actor-framework";
repo = "actor-framework";
rev = version;
- sha256 = "04b4kjisb5wzq6pilh8xzbxn7qcjgppl8k65hfv0zi0ja8fyp1xk";
+ hash = "sha256-y1RE6AnyOrUN/z4md/xjlVwlIcL97ZEcKEOf8ZsCf+U=";
};
nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/cairo/default.nix b/pkgs/development/libraries/cairo/default.nix
index c1e7b52c0403..ee8e436d2926 100644
--- a/pkgs/development/libraries/cairo/default.nix
+++ b/pkgs/development/libraries/cairo/default.nix
@@ -8,11 +8,14 @@
, libGL # libGLU libGL is no longer a big dependency
, pdfSupport ? true
, darwin
+, testers
}:
let
inherit (lib) optional optionals;
-in stdenv.mkDerivation rec {
+in stdenv.mkDerivation (finalAttrs: let
+ inherit (finalAttrs) pname version;
+in {
pname = "cairo";
version = "1.16.0";
@@ -132,6 +135,8 @@ in stdenv.mkDerivation rec {
postInstall = lib.optionalString stdenv.isDarwin glib.flattenInclude;
+ passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
+
meta = with lib; {
description = "A 2D graphics library with support for multiple output devices";
longDescription = ''
@@ -147,6 +152,11 @@ in stdenv.mkDerivation rec {
'';
homepage = "http://cairographics.org/";
license = with licenses; [ lgpl2Plus mpl10 ];
+ pkgConfigModules = [
+ "cairo-ps"
+ "cairo-svg"
+ ] ++ lib.optional gobjectSupport "cairo-gobject"
+ ++ lib.optional pdfSupport "cairo-gobject";
platforms = platforms.all;
};
-}
+})
diff --git a/pkgs/development/libraries/fftw/default.nix b/pkgs/development/libraries/fftw/default.nix
index c5edb5926209..9d83fdb4878e 100644
--- a/pkgs/development/libraries/fftw/default.nix
+++ b/pkgs/development/libraries/fftw/default.nix
@@ -12,18 +12,19 @@
, enableMpi ? false
, mpi
, withDoc ? stdenv.cc.isGNU
+, testers
}:
assert lib.elem precision [ "single" "double" "long-double" "quad-precision" ];
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
pname = "fftw-${precision}";
version = "3.3.10";
src = fetchurl {
urls = [
- "https://fftw.org/fftw-${version}.tar.gz"
- "ftp://ftp.fftw.org/pub/fftw/fftw-${version}.tar.gz"
+ "https://fftw.org/fftw-${finalAttrs.version}.tar.gz"
+ "ftp://ftp.fftw.org/pub/fftw/fftw-${finalAttrs.version}.tar.gz"
];
sha256 = "sha256-VskyVJhSzdz6/as4ILAgDHdCZ1vpIXnlnmIVs0DiZGc=";
};
@@ -60,11 +61,21 @@ stdenv.mkDerivation rec {
nativeCheckInputs = [ perl ];
+ passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
+
meta = with lib; {
description = "Fastest Fourier Transform in the West library";
homepage = "http://www.fftw.org/";
license = licenses.gpl2Plus;
maintainers = [ maintainers.spwhitt ];
+ pkgConfigModules = [
+ {
+ "single" = "fftw3f";
+ "double" = "fftw3";
+ "long-double" = "fftw3l";
+ "quad-precision" = "fftw3q";
+ }.${precision}
+ ];
platforms = platforms.unix;
};
-}
+})
diff --git a/pkgs/development/libraries/folly/default.nix b/pkgs/development/libraries/folly/default.nix
index 323a9a2f8b46..78d280b99133 100644
--- a/pkgs/development/libraries/folly/default.nix
+++ b/pkgs/development/libraries/folly/default.nix
@@ -22,13 +22,13 @@
stdenv.mkDerivation rec {
pname = "folly";
- version = "2022.11.28.00";
+ version = "2023.01.30.00";
src = fetchFromGitHub {
owner = "facebook";
repo = "folly";
rev = "v${version}";
- sha256 = "sha256-TI3uMlkssKtTvxqj9Et12aAjbHoV9FVBvrZr7oCFlIo=";
+ sha256 = "sha256-p5IAbXPUrGtJotwabpEShNsUZNeF6ncHbDXaNabdaaY=";
};
nativeBuildInputs = [
diff --git a/pkgs/development/libraries/intel-media-sdk/default.nix b/pkgs/development/libraries/intel-media-sdk/default.nix
index 5e6f628aa68e..11cd887729a7 100644
--- a/pkgs/development/libraries/intel-media-sdk/default.nix
+++ b/pkgs/development/libraries/intel-media-sdk/default.nix
@@ -3,13 +3,13 @@
stdenv.mkDerivation rec {
pname = "intel-media-sdk";
- version = "22.6.5";
+ version = "23.1.0";
src = fetchFromGitHub {
owner = "Intel-Media-SDK";
repo = "MediaSDK";
rev = "intel-mediasdk-${version}";
- sha256 = "sha256-W+lDqGZAenhRZ7tf4qfDNik/3rFNDM0DGSK/CdNRb8g=";
+ sha256 = "sha256-FTyjIWYKXFAzu3SR1EGN+aTzVbX617o/KWCD/DGv69o=";
};
nativeBuildInputs = [ cmake pkg-config ];
diff --git a/pkgs/development/libraries/kde-frameworks/kimageformats.nix b/pkgs/development/libraries/kde-frameworks/kimageformats.nix
index c221f3489112..beec3e13cf71 100644
--- a/pkgs/development/libraries/kde-frameworks/kimageformats.nix
+++ b/pkgs/development/libraries/kde-frameworks/kimageformats.nix
@@ -1,7 +1,7 @@
{
mkDerivation, lib,
extra-cmake-modules,
- ilmbase, karchive, openexr, libavif, libheif, libjxl, qtbase
+ ilmbase, karchive, openexr, libavif, libheif, libjxl, libraw, qtbase
}:
let inherit (lib) getDev; in
@@ -10,7 +10,7 @@ mkDerivation {
pname = "kimageformats";
nativeBuildInputs = [ extra-cmake-modules ];
- buildInputs = [ karchive openexr libavif libheif libjxl qtbase ];
+ buildInputs = [ karchive openexr libavif libheif libjxl libraw qtbase ];
outputs = [ "out" ]; # plugins only
CXXFLAGS = "-I${getDev ilmbase}/include/OpenEXR";
cmakeFlags = [
diff --git a/pkgs/development/libraries/libappindicator/default.nix b/pkgs/development/libraries/libappindicator/default.nix
index 9df992a5763d..8e68ea3f9cb6 100644
--- a/pkgs/development/libraries/libappindicator/default.nix
+++ b/pkgs/development/libraries/libappindicator/default.nix
@@ -1,5 +1,3 @@
-# TODO: Resolve the issues with the Mono bindings.
-
{ stdenv, fetchgit, lib
, pkg-config, autoreconfHook
, glib, dbus-glib
@@ -7,11 +5,16 @@
, gtk2, libindicator-gtk2, libdbusmenu-gtk2
, gtk3, libindicator-gtk3, libdbusmenu-gtk3
, gtk-doc, vala, gobject-introspection
-, monoSupport ? false, mono, gtk-sharp-2_0
- }:
+, monoSupport ? false, mono, gtk-sharp-2_0, gtk-sharp-3_0
+, testers
+}:
-stdenv.mkDerivation {
- pname = let postfix = if gtkVersion == "2" && monoSupport then "sharp" else "gtk${gtkVersion}";
+let
+ throwBadGtkVersion = throw "unknown GTK version ${gtkVersion}";
+in
+
+stdenv.mkDerivation (finalAttrs: {
+ pname = let postfix = if monoSupport then "sharp" else "gtk${gtkVersion}";
in "libappindicator-${postfix}";
version = "12.10.1+20.10.20200706.1";
@@ -25,16 +28,24 @@ stdenv.mkDerivation {
nativeBuildInputs = [ pkg-config autoreconfHook vala gobject-introspection gtk-doc ];
- propagatedBuildInputs =
- if gtkVersion == "2"
- then [ gtk2 libdbusmenu-gtk2 ]
- else [ gtk3 libdbusmenu-gtk3 ];
+ propagatedBuildInputs = {
+ "2" = [ gtk2 libdbusmenu-gtk2 ];
+ "3" = [ gtk3 libdbusmenu-gtk3 ];
+ }.${gtkVersion} or throwBadGtkVersion;
buildInputs = [
glib dbus-glib
- ] ++ (if gtkVersion == "2"
- then [ libindicator-gtk2 ] ++ lib.optionals monoSupport [ mono gtk-sharp-2_0 ]
- else [ libindicator-gtk3 ]);
+ {
+ "2" = libindicator-gtk2;
+ "3" = libindicator-gtk3;
+ }.${gtkVersion} or throwBadGtkVersion
+ ] ++ lib.optionals monoSupport [
+ mono
+ {
+ "2" = gtk-sharp-2_0;
+ "3" = gtk-sharp-3_0;
+ }.${gtkVersion} or throwBadGtkVersion
+ ];
preAutoreconf = ''
gtkdocize
@@ -54,11 +65,19 @@ stdenv.mkDerivation {
"localstatedir=\${TMPDIR}"
];
+ passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
+
meta = with lib; {
description = "A library to allow applications to export a menu into the Unity Menu bar";
homepage = "https://launchpad.net/libappindicator";
license = with licenses; [ lgpl21 lgpl3 ];
+ pkgConfigModules = {
+ "2" = [ "appindicator-0.1" ];
+ "3" = [ "appindicator3-0.1" ];
+ }.${gtkVersion} or throwBadGtkVersion;
platforms = platforms.linux;
maintainers = [ maintainers.msteen ];
+ # TODO: Resolve the issues with the Mono bindings.
+ broken = monoSupport;
};
-}
+})
diff --git a/pkgs/development/libraries/libdbusmenu/default.nix b/pkgs/development/libraries/libdbusmenu/default.nix
index 7b0fca858399..9efea659a651 100644
--- a/pkgs/development/libraries/libdbusmenu/default.nix
+++ b/pkgs/development/libraries/libdbusmenu/default.nix
@@ -3,13 +3,16 @@
, glib, dbus-glib, json-glib
, gobject-introspection, vala
, gtkVersion ? null, gtk2, gtk3
+, testers
}:
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
pname = "libdbusmenu-${if gtkVersion == null then "glib" else "gtk${gtkVersion}"}";
version = "16.04.0";
- src = fetchurl {
+ src = let
+ inherit (finalAttrs) version;
+ in fetchurl {
url = "https://launchpad.net/dbusmenu/${lib.versions.majorMinor version}/${version}/+download/libdbusmenu-${version}.tar.gz";
sha256 = "12l7z8dhl917iy9h02sxmpclnhkdjryn08r8i4sr8l3lrlm4mk5r";
};
@@ -18,7 +21,11 @@ stdenv.mkDerivation rec {
buildInputs = [
glib dbus-glib json-glib
- ] ++ lib.optional (gtkVersion != null) (if gtkVersion == "2" then gtk2 else gtk3);
+ ] ++ lib.optional (gtkVersion != null)
+ {
+ "2" = gtk2;
+ "3" = gtk3;
+ }.${gtkVersion} or (throw "unknown GTK version ${gtkVersion}");
postPatch = ''
for f in {configure,ltmain.sh,m4/libtool.m4}; do
@@ -37,6 +44,7 @@ stdenv.mkDerivation rec {
"CFLAGS=-Wno-error"
"--sysconfdir=/etc"
"--localstatedir=/var"
+ # TODO use `lib.withFeatureAs`
(if gtkVersion == null then "--disable-gtk" else "--with-gtk=${gtkVersion}")
"--disable-scrollkeeper"
] ++ lib.optional (gtkVersion != "2") "--disable-dumper";
@@ -49,11 +57,17 @@ stdenv.mkDerivation rec {
"typelibdir=${placeholder "out"}/lib/girepository-1.0"
];
+ passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
+
meta = with lib; {
description = "Library for passing menu structures across DBus";
homepage = "https://launchpad.net/dbusmenu";
license = with licenses; [ gpl3 lgpl21 lgpl3 ];
+ pkgConfigModules = [
+ "dbusmenu-glib-0.4"
+ "dbusmenu-jsonloader-0.4"
+ ] ++ lib.optional (gtkVersion == "3") "dbusmenu-gtk${gtkVersion}-0.4";
platforms = platforms.linux;
maintainers = [ maintainers.msteen ];
};
-}
+})
diff --git a/pkgs/development/libraries/libdevil/default.nix b/pkgs/development/libraries/libdevil/default.nix
index 35637512e0a5..0cba50c3a924 100644
--- a/pkgs/development/libraries/libdevil/default.nix
+++ b/pkgs/development/libraries/libdevil/default.nix
@@ -13,16 +13,17 @@
, OpenGL
, runtimeShell
, withXorg ? true
+, testers
}:
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
pname = "libdevil";
version = "1.7.8";
outputs = [ "out" "dev" ];
src = fetchurl {
- url = "mirror://sourceforge/openil/DevIL-${version}.tar.gz";
+ url = "mirror://sourceforge/openil/DevIL-${finalAttrs.version}.tar.gz";
sha256 = "1zd850nn7nvkkhasrv7kn17kzgslr5ry933v6db62s4lr0zzlbv8";
};
@@ -63,11 +64,14 @@ stdenv.mkDerivation rec {
done
'';
+ passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
+
meta = with lib; {
homepage = "https://openil.sourceforge.net/";
description = "An image library which can can load, save, convert, manipulate, filter and display a wide variety of image formats";
license = licenses.lgpl2;
+ pkgConfigModules = [ "IL" ];
platforms = platforms.mesaPlatforms;
maintainers = with maintainers; [ ];
};
-}
+})
diff --git a/pkgs/development/libraries/libfyaml/default.nix b/pkgs/development/libraries/libfyaml/default.nix
index 9384a7c97603..6fe2f398b25e 100644
--- a/pkgs/development/libraries/libfyaml/default.nix
+++ b/pkgs/development/libraries/libfyaml/default.nix
@@ -2,17 +2,19 @@
stdenv.mkDerivation rec {
pname = "libfyaml";
- version = "0.7.12";
+ version = "0.8";
src = fetchFromGitHub {
owner = "pantoniou";
repo = pname;
rev = "v${version}";
- sha256 = "sha256-gmVjiwf8PsDYRt8jmXNrd+hJSL099hbLjq8Z0c1u2HE=";
+ hash = "sha256-b/jRKe23NIVSydoczI+Ax2VjBJLfAEwF8SW61vIDTwA=";
};
nativeBuildInputs = [ autoreconfHook pkg-config ];
+ outputs = [ "bin" "dev" "out" "man" ];
+
doCheck = true;
preCheck = ''
diff --git a/pkgs/development/libraries/libpg_query/default.nix b/pkgs/development/libraries/libpg_query/default.nix
index 254e5ca51e99..95d615c5d24d 100644
--- a/pkgs/development/libraries/libpg_query/default.nix
+++ b/pkgs/development/libraries/libpg_query/default.nix
@@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "libpg_query";
- version = "15-4.1.0";
+ version = "15-4.2.0";
src = fetchFromGitHub {
owner = "pganalyze";
repo = "libpg_query";
rev = version;
- hash = "sha256-uZdszDE0UJVeegU1bi0ISYooC4ztNv7W4UQ2gWIjrH8=";
+ hash = "sha256-2fPdvsfuXKaRwkPjsPsBBfP0+yUgYXEUzQNFZfhyvGk=";
};
nativeBuildInputs = [ which ];
diff --git a/pkgs/development/libraries/librime/default.nix b/pkgs/development/libraries/librime/default.nix
index 0f0a311cdfac..a1daa89ef787 100644
--- a/pkgs/development/libraries/librime/default.nix
+++ b/pkgs/development/libraries/librime/default.nix
@@ -10,13 +10,13 @@ let
in
stdenv.mkDerivation rec {
pname = "librime";
- version = "1.8.4";
+ version = "1.8.5";
src = fetchFromGitHub {
owner = "rime";
repo = pname;
rev = version;
- sha256 = "sha256-FcEthx5uaTROmW+wrWdpRoVT8o5Ok0HgkllMut/FEyM=";
+ sha256 = "sha256-FkkZIxSuqlFFOjABBpnE5ax2Vdo9tzP0prM7ATDIIdk=";
};
nativeBuildInputs = [ cmake pkg-config ];
diff --git a/pkgs/development/libraries/mesa/stubs.nix b/pkgs/development/libraries/mesa/stubs.nix
index 753ad1b91966..f3ea263cc9ff 100644
--- a/pkgs/development/libraries/mesa/stubs.nix
+++ b/pkgs/development/libraries/mesa/stubs.nix
@@ -1,8 +1,10 @@
{ stdenv
, libglvnd, mesa
-, OpenGL }:
+, OpenGL
+, testers
+}:
-stdenv.mkDerivation {
+stdenv.mkDerivation (finalAttrs: {
inherit (libglvnd) version;
pname = "libGL";
outputs = [ "out" "dev" ];
@@ -72,4 +74,8 @@ stdenv.mkDerivation {
genPkgConfig glesv1_cm GLESv1_CM
genPkgConfig glesv2 GLESv2
'';
-}
+
+ passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
+
+ meta.pkgConfigModules = [ "gl" "egl" "glesv1_cm" "glesv2" ];
+})
diff --git a/pkgs/development/libraries/mvapich/default.nix b/pkgs/development/libraries/mvapich/default.nix
index 0f358c279628..987f4022f511 100644
--- a/pkgs/development/libraries/mvapich/default.nix
+++ b/pkgs/development/libraries/mvapich/default.nix
@@ -14,11 +14,11 @@ assert builtins.elem network [ "ethernet" "infiniband" "omnipath" ];
stdenv.mkDerivation rec {
pname = "mvapich";
- version = "2.3.6";
+ version = "2.3.7";
src = fetchurl {
url = "http://mvapich.cse.ohio-state.edu/download/mvapich/mv2/mvapich2-${version}.tar.gz";
- sha256 = "0jd28vy9ivl3rcpkxmhw73b6krzm0pd9jps8asw92wa00lm2z9mk";
+ sha256 = "sha256-w5pEkvS+UN9hAHhXSLoolOI85FCpQSgYHVFtpXV3Ua4=";
};
nativeBuildInputs = [ pkg-config bison makeWrapper gfortran ];
diff --git a/pkgs/development/libraries/ncurses/default.nix b/pkgs/development/libraries/ncurses/default.nix
index 4caf05ef3cfe..4e2c731d7e2b 100644
--- a/pkgs/development/libraries/ncurses/default.nix
+++ b/pkgs/development/libraries/ncurses/default.nix
@@ -8,14 +8,15 @@
, withCxx ? !stdenv.hostPlatform.useAndroidPrebuilt
, mouseSupport ? false, gpm
, unicodeSupport ? true
+, testers
}:
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
version = "6.4";
pname = "ncurses" + lib.optionalString (abiVersion == "5") "-abi5-compat";
src = fetchurl {
- url = "https://invisible-island.net/archives/ncurses/ncurses-${version}.tar.gz";
+ url = "https://invisible-island.net/archives/ncurses/ncurses-${finalAttrs.version}.tar.gz";
hash = "sha256-aTEoPZrIfFBz8wtikMTHXyFjK7T8NgOsgQCBK+0kgVk=";
};
@@ -169,11 +170,20 @@ stdenv.mkDerivation rec {
ANSI/POSIX-conforming UNIX. It has even been ported to OS/2 Warp!
'';
license = licenses.mit;
+ pkgConfigModules = let
+ base = [
+ "form"
+ "menu"
+ "ncurses"
+ "panel"
+ ] ++ lib.optional withCxx "ncurses++";
+ in base ++ lib.optionals unicodeSupport (map (p: p + "w") base);
platforms = platforms.all;
};
passthru = {
ldflags = "-lncurses";
inherit unicodeSupport abiVersion;
+ tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
};
-}
+})
diff --git a/pkgs/development/libraries/nghttp3/default.nix b/pkgs/development/libraries/nghttp3/default.nix
index af83fb29c01e..2810114cb6ba 100644
--- a/pkgs/development/libraries/nghttp3/default.nix
+++ b/pkgs/development/libraries/nghttp3/default.nix
@@ -1,6 +1,7 @@
{ lib, stdenv, fetchFromGitHub
, autoreconfHook, pkg-config, file
, cunit, ncurses
+, curlHTTP3
}:
stdenv.mkDerivation rec {
@@ -26,6 +27,10 @@ stdenv.mkDerivation rec {
doCheck = true;
enableParallelBuilding = true;
+ passthru.tests = {
+ inherit curlHTTP3;
+ };
+
meta = with lib; {
homepage = "https://github.com/ngtcp2/nghttp3";
description = "nghttp3 is an implementation of HTTP/3 mapping over QUIC and QPACK in C.";
diff --git a/pkgs/development/libraries/ngtcp2/default.nix b/pkgs/development/libraries/ngtcp2/default.nix
index d61a5d2fd9a7..3ea84895eb9b 100644
--- a/pkgs/development/libraries/ngtcp2/default.nix
+++ b/pkgs/development/libraries/ngtcp2/default.nix
@@ -3,6 +3,7 @@
, libev, nghttp3, quictls
, cunit, ncurses
, withJemalloc ? false, jemalloc
+, curlHTTP3
}:
stdenv.mkDerivation rec {
@@ -29,6 +30,10 @@ stdenv.mkDerivation rec {
doCheck = true;
enableParallelBuilding = true;
+ passthru.tests = {
+ inherit curlHTTP3;
+ };
+
meta = with lib; {
homepage = "https://github.com/ngtcp2/ngtcp2";
description = "ngtcp2 project is an effort to implement QUIC protocol which is now being discussed in IETF QUICWG for its standardization.";
diff --git a/pkgs/development/libraries/science/chemistry/harminv/default.nix b/pkgs/development/libraries/science/chemistry/harminv/default.nix
new file mode 100644
index 000000000000..54c0d03979ab
--- /dev/null
+++ b/pkgs/development/libraries/science/chemistry/harminv/default.nix
@@ -0,0 +1,42 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, autoreconfHook
+, gfortran
+, blas
+, lapack
+}:
+
+assert !blas.isILP64;
+assert !lapack.isILP64;
+
+stdenv.mkDerivation rec {
+ pname = "harminv";
+ version = "1.4.2";
+
+ src = fetchFromGitHub {
+ owner = "NanoComp";
+ repo = pname;
+ rev = "v${version}";
+ hash = "sha256-EXEt7l69etcBdDdEDlD1ODOdhTBZCVjgY1jhRUDd/W0=";
+ };
+
+ # File is missing in the git checkout but required by autotools
+ postPatch = ''
+ touch ChangeLog
+ '';
+
+ nativeBuildInputs = [ autoreconfHook gfortran ];
+
+ buildInputs = [ blas lapack ];
+
+ configureFlags = [ "--enable-shared" ];
+
+ meta = with lib; {
+ description = "Harmonic inversion algorithm of Mandelshtam: decompose signal into sum of decaying sinusoids";
+ homepage = "https://github.com/NanoComp/harminv";
+ license = with licenses; [ gpl2Only ];
+ maintainers = with maintainers; [ sheepforce markuskowa ];
+ platforms = platforms.linux;
+ };
+}
diff --git a/pkgs/development/libraries/science/chemistry/libGDSII/default.nix b/pkgs/development/libraries/science/chemistry/libGDSII/default.nix
new file mode 100644
index 000000000000..c3257bad3e26
--- /dev/null
+++ b/pkgs/development/libraries/science/chemistry/libGDSII/default.nix
@@ -0,0 +1,32 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, autoreconfHook
+}:
+
+stdenv.mkDerivation rec {
+ pname = "libGDSII";
+ version = "0.21";
+
+ src = fetchFromGitHub {
+ owner = "HomerReid";
+ repo = pname;
+ rev = "v${version}";
+ hash = "sha256-EXEt7l69etcBdDdEDlD1ODOdhTBZCVjgY1jhRUDd/W0=";
+ };
+
+ # File is missing in the repo but automake requires it
+ postPatch = ''
+ touch ChangeLog
+ '';
+
+ nativeBuildInputs = [ autoreconfHook ];
+
+ meta = with lib; {
+ description = "Library and command-line utility for reading GDSII geometry files";
+ homepage = "https://github.com/HomerReid/libGDSII";
+ license = [ licenses.gpl2Only ];
+ maintainers = with maintainers; [ sheepforce markuskowa ];
+ platforms = platforms.linux;
+ };
+}
diff --git a/pkgs/development/python-modules/aesedb/default.nix b/pkgs/development/python-modules/aesedb/default.nix
index cb9db9a886fa..982525e4bd43 100644
--- a/pkgs/development/python-modules/aesedb/default.nix
+++ b/pkgs/development/python-modules/aesedb/default.nix
@@ -11,14 +11,14 @@
buildPythonPackage rec {
pname = "aesedb";
- version = "0.1.0";
+ version = "0.1.1";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
- hash = "sha256-TetXhDrWG6MECm/nhsZDUwcOJwP5drFO+YLarGC2pak=";
+ hash = "sha256-pnbzPVXr3qgBH7t5wNR+jbTdQGMdnLpV+xfgQjdc+7A=";
};
propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/ailment/default.nix b/pkgs/development/python-modules/ailment/default.nix
index 2e878b014cc2..81f73d324b1d 100644
--- a/pkgs/development/python-modules/ailment/default.nix
+++ b/pkgs/development/python-modules/ailment/default.nix
@@ -8,7 +8,7 @@
buildPythonPackage rec {
pname = "ailment";
- version = "9.2.36";
+ version = "9.2.37";
format = "pyproject";
disabled = pythonOlder "3.8";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
owner = "angr";
repo = pname;
rev = "v${version}";
- hash = "sha256-PEX2SanglMqjtJHuH+gA5dnikh7qqLFiXbmrcIzs1+A=";
+ hash = "sha256-MFQiLOCqEAKzST7voMIQH0TYGuwICSVBcQZwUkk9S1Q=";
};
nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/aiohomekit/default.nix b/pkgs/development/python-modules/aiohomekit/default.nix
index e19f613e301a..e9b27ea7a83e 100644
--- a/pkgs/development/python-modules/aiohomekit/default.nix
+++ b/pkgs/development/python-modules/aiohomekit/default.nix
@@ -18,7 +18,7 @@
buildPythonPackage rec {
pname = "aiohomekit";
- version = "2.4.6";
+ version = "2.5.0";
format = "pyproject";
disabled = pythonOlder "3.9";
@@ -27,7 +27,7 @@ buildPythonPackage rec {
owner = "Jc2k";
repo = pname;
rev = "refs/tags/${version}";
- hash = "sha256-QCPZaxVCQSckZ7qjV9wF7YqgTOFPbRy4xOQVDvReav4=";
+ hash = "sha256-uFmQLeGPnFDABA4Uu1sL/2uUJnL+feclpGyJyISJx2E=";
};
nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/angr/default.nix b/pkgs/development/python-modules/angr/default.nix
index 4abcad0e7c9b..a164cd284c57 100644
--- a/pkgs/development/python-modules/angr/default.nix
+++ b/pkgs/development/python-modules/angr/default.nix
@@ -31,7 +31,7 @@
buildPythonPackage rec {
pname = "angr";
- version = "9.2.36";
+ version = "9.2.37";
format = "pyproject";
disabled = pythonOlder "3.8";
@@ -40,7 +40,7 @@ buildPythonPackage rec {
owner = pname;
repo = pname;
rev = "v${version}";
- hash = "sha256-KVIrhzd3EoDIVImshfjZrBAiNkCtlFAd6Ox9ATsvPTY=";
+ hash = "sha256-sl3GzNMN90ez1Zks43B2How7QTaaJZbxOxK2hl/UzdQ=";
};
propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/archinfo/default.nix b/pkgs/development/python-modules/archinfo/default.nix
index 22a460cc2741..7f7aff682bed 100644
--- a/pkgs/development/python-modules/archinfo/default.nix
+++ b/pkgs/development/python-modules/archinfo/default.nix
@@ -8,7 +8,7 @@
buildPythonPackage rec {
pname = "archinfo";
- version = "9.2.36";
+ version = "9.2.37";
format = "pyproject";
disabled = pythonOlder "3.8";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
owner = "angr";
repo = pname;
rev = "v${version}";
- hash = "sha256-anZsvDIH1AWaFUG5UTuyQiOKeoUB/+MSbu5pjPZJxag=";
+ hash = "sha256-WGc6FmrS0aVmiY5s8fUVHCT6cqcmj52H6FD2TR1HyK0=";
};
nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/azure-mgmt-datalake-store/default.nix b/pkgs/development/python-modules/azure-mgmt-datalake-store/default.nix
index b2b96ec2994e..18665f4dbb6e 100644
--- a/pkgs/development/python-modules/azure-mgmt-datalake-store/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-datalake-store/default.nix
@@ -9,12 +9,12 @@
buildPythonPackage rec {
pname = "azure-mgmt-datalake-store";
- version = "0.5.0";
+ version = "1.0.0";
src = fetchPypi {
inherit pname version;
extension = "zip";
- sha256 = "sha256-k3bTVJVmHRn4rMVgT2ewvFlJOxg1u8SA+aGVL5ABekw=";
+ sha256 = "sha256-GrmVK97M+iojevPLVTuLmfQRLxvrHtr9DRHymJvLYHE=";
};
propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/browser-cookie3/default.nix b/pkgs/development/python-modules/browser-cookie3/default.nix
index cd596cecbb9f..52ef0cd8ec20 100644
--- a/pkgs/development/python-modules/browser-cookie3/default.nix
+++ b/pkgs/development/python-modules/browser-cookie3/default.nix
@@ -12,14 +12,14 @@
buildPythonPackage rec {
pname = "browser-cookie3";
- version = "0.16.5";
+ version = "0.17.0";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
- hash = "sha256-i2Ib7OGnoimiZ2R/vGe6phPhA8lEP0BJ/gP1q9RVeiU=";
+ hash = "sha256-fyyZ7pkNlD6MH1+SRUYjU0mXMUsZJ3qhOqJrcmJ/hgc=";
};
propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/claripy/default.nix b/pkgs/development/python-modules/claripy/default.nix
index a8811d7f37ac..05ff5762bb35 100644
--- a/pkgs/development/python-modules/claripy/default.nix
+++ b/pkgs/development/python-modules/claripy/default.nix
@@ -13,7 +13,7 @@
buildPythonPackage rec {
pname = "claripy";
- version = "9.2.36";
+ version = "9.2.37";
format = "pyproject";
disabled = pythonOlder "3.8";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
owner = "angr";
repo = pname;
rev = "refs/tags/v${version}";
- hash = "sha256-gF8T1ZTvTjyt+kEOxI3ryDJOZv4go54VTxSGEdUyGt4=";
+ hash = "sha256-8kABsLp3Nrzjn7staiNfU6HdQTu1x6DNQzilMceqKVY=";
};
nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/cle/default.nix b/pkgs/development/python-modules/cle/default.nix
index e1f022c1a463..8ed14ba28cc3 100644
--- a/pkgs/development/python-modules/cle/default.nix
+++ b/pkgs/development/python-modules/cle/default.nix
@@ -16,7 +16,7 @@
let
# The binaries are following the argr projects release cycle
- version = "9.2.36";
+ version = "9.2.37";
# Binary files from https://github.com/angr/binaries (only used for testing and only here)
binaries = fetchFromGitHub {
@@ -38,7 +38,7 @@ buildPythonPackage rec {
owner = "angr";
repo = pname;
rev = "v${version}";
- hash = "sha256-XqoBFV87m/uz0proGDtbaewsoY8vsA6ToGwdv7xvO9Y=";
+ hash = "sha256-vgH8UAR8B4l29RH0dwMlGVjOHgdcOTfLMHPiKN9Z36s=";
};
nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/django-rq/default.nix b/pkgs/development/python-modules/django-rq/default.nix
index d0894177c3f9..a0bfca2a8b2b 100644
--- a/pkgs/development/python-modules/django-rq/default.nix
+++ b/pkgs/development/python-modules/django-rq/default.nix
@@ -10,7 +10,7 @@
buildPythonPackage rec {
pname = "django-rq";
- version = "2.6.0";
+ version = "2.7.0";
format = "setuptools";
disabled = isPy27;
@@ -18,7 +18,7 @@ buildPythonPackage rec {
owner = "rq";
repo = pname;
rev = "refs/tags/v${version}";
- sha256 = "sha256-Na/GeQc74LCoi7Dp3HcSnmUaLi1EjyYYgZTcFyzqOQM=";
+ hash = "sha256-MUIwgG8GKL+V5GgiC7gZXn5tlSVrmTj/IFiP+hVB7Ks=";
};
propagatedBuildInputs = [
@@ -37,6 +37,7 @@ buildPythonPackage rec {
meta = with lib; {
description = "Simple app that provides django integration for RQ (Redis Queue)";
homepage = "https://github.com/rq/django-rq";
+ changelog = "https://github.com/rq/django-rq/releases/tag/v${version}";
license = licenses.mit;
maintainers = with maintainers; [ hexa ];
};
diff --git a/pkgs/development/python-modules/docformatter/default.nix b/pkgs/development/python-modules/docformatter/default.nix
index f7be25f61509..0eb7506a2ce1 100644
--- a/pkgs/development/python-modules/docformatter/default.nix
+++ b/pkgs/development/python-modules/docformatter/default.nix
@@ -2,6 +2,9 @@
, buildPythonPackage
, pythonOlder
, fetchFromGitHub
+, poetry-core
+, charset-normalizer
+, tomli
, untokenize
, mock
, pytestCheckHook
@@ -9,20 +12,37 @@
buildPythonPackage rec {
pname = "docformatter";
- version = "1.5.0";
+ version = "1.5.1";
disabled = pythonOlder "3.6";
- format = "setuptools";
+ format = "pyproject";
src = fetchFromGitHub {
owner = "PyCQA";
repo = pname;
rev = "refs/tags/v${version}";
- hash = "sha256-GSfsM6sPSLOIH0YJYFVTB3SigI62/ps51mA2iZ7GOEg=";
+ hash = "sha256-r+8FOl9Rrfi3V8f8wD41bRsaqDb+UrOBWuR3goK43xY=";
};
+ patches = [
+ ./test-path.patch
+ ];
+
+ postPatch = ''
+ substituteInPlace pyproject.toml \
+ --replace 'charset_normalizer = "^2.0.0"' 'charset_normalizer = ">=2.0.0"'
+ substituteInPlace tests/conftest.py \
+ --subst-var-by docformatter $out/bin/docformatter
+ '';
+
+ nativeBuildInputs = [
+ poetry-core
+ ];
+
propagatedBuildInputs = [
+ charset-normalizer
+ tomli
untokenize
];
@@ -34,6 +54,7 @@ buildPythonPackage rec {
pythonImportsCheck = [ "docformatter" ];
meta = {
+ changelog = "https://github.com/PyCQA/docformatter/blob/${src.rev}/CHANGELOG.md";
description = "Formats docstrings to follow PEP 257";
homepage = "https://github.com/myint/docformatter";
license = lib.licenses.mit;
diff --git a/pkgs/development/python-modules/docformatter/test-path.patch b/pkgs/development/python-modules/docformatter/test-path.patch
new file mode 100644
index 000000000000..bd61c0ca829b
--- /dev/null
+++ b/pkgs/development/python-modules/docformatter/test-path.patch
@@ -0,0 +1,29 @@
+diff --git a/tests/conftest.py b/tests/conftest.py
+index 5f5a9aa..3289222 100644
+--- a/tests/conftest.py
++++ b/tests/conftest.py
+@@ -92,21 +92,9 @@ def run_docformatter(arguments, temporary_file):
+
+ Return subprocess object.
+ """
+- if "DOCFORMATTER_COVERAGE" in os.environ and int(
+- os.environ["DOCFORMATTER_COVERAGE"]
+- ):
+- DOCFORMATTER_COMMAND = [
+- "coverage",
+- "run",
+- "--branch",
+- "--parallel",
+- "--omit=*/site-packages/*",
+- os.environ["VIRTUAL_ENV"] + "/bin/docformatter",
+- ]
+- else:
+- DOCFORMATTER_COMMAND = [
+- os.environ["VIRTUAL_ENV"] + "/bin/docformatter",
+- ] # pragma: no cover
++ DOCFORMATTER_COMMAND = [
++ "@docformatter@"
++ ]
+
+ if "-" not in arguments:
+ arguments.append(temporary_file)
diff --git a/pkgs/development/python-modules/dvc-data/default.nix b/pkgs/development/python-modules/dvc-data/default.nix
index 56a27acb6019..316e20f91d0e 100644
--- a/pkgs/development/python-modules/dvc-data/default.nix
+++ b/pkgs/development/python-modules/dvc-data/default.nix
@@ -15,7 +15,7 @@
buildPythonPackage rec {
pname = "dvc-data";
- version = "0.36.2";
+ version = "0.38.1";
format = "pyproject";
disabled = pythonOlder "3.8";
@@ -24,7 +24,7 @@ buildPythonPackage rec {
owner = "iterative";
repo = pname;
rev = "refs/tags/${version}";
- hash = "sha256-HKNltc5pWc0mU+yCj/PV9E6GYQ+3fbcacRRXtquGM4w=";
+ hash = "sha256-xuNxsG8wMpdwyA0BkEYepnGjIZGmUzTivN5paLtM68Q=";
};
SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/pkgs/development/python-modules/dvc-objects/default.nix b/pkgs/development/python-modules/dvc-objects/default.nix
index c20540b8eeb3..a0ab592eaa90 100644
--- a/pkgs/development/python-modules/dvc-objects/default.nix
+++ b/pkgs/development/python-modules/dvc-objects/default.nix
@@ -16,7 +16,7 @@
buildPythonPackage rec {
pname = "dvc-objects";
- version = "0.19.0";
+ version = "0.19.3";
format = "pyproject";
disabled = pythonOlder "3.8";
@@ -25,7 +25,7 @@ buildPythonPackage rec {
owner = "iterative";
repo = pname;
rev = "refs/tags/${version}";
- hash = "sha256-jwjhRY1SMqiTZ5UJmoZb4odg3g8uC9ehPmxRU2VsH8U=";
+ hash = "sha256-oKK+BhOgdRPZZAACgxgmr9rlzEH9yWmvbmx09d42u/Y=";
};
SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/pkgs/development/python-modules/inkbird-ble/default.nix b/pkgs/development/python-modules/inkbird-ble/default.nix
index 2172a8841140..4c39d264ce75 100644
--- a/pkgs/development/python-modules/inkbird-ble/default.nix
+++ b/pkgs/development/python-modules/inkbird-ble/default.nix
@@ -12,7 +12,7 @@
buildPythonPackage rec {
pname = "inkbird-ble";
- version = "0.5.5";
+ version = "0.5.6";
format = "pyproject";
disabled = pythonOlder "3.9";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
owner = "Bluetooth-Devices";
repo = pname;
rev = "v${version}";
- hash = "sha256-KUBOjeFM4h2Qt9eT0mQKPFYJJ8OWdbYy9+AiHsJWNyU=";
+ hash = "sha256-re5HjPtssFkpcltCr0HEJmJyHbXJdkr2wDgaAHfy2Tk=";
};
nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/jaraco-abode/default.nix b/pkgs/development/python-modules/jaraco-abode/default.nix
index 15ac7c63a7f1..8ddb8f4b493c 100644
--- a/pkgs/development/python-modules/jaraco-abode/default.nix
+++ b/pkgs/development/python-modules/jaraco-abode/default.nix
@@ -25,7 +25,7 @@
buildPythonPackage rec {
pname = "jaraco-abode";
- version = "3.2.1";
+ version = "3.3.0";
disabled = pythonOlder "3.7";
@@ -35,7 +35,7 @@ buildPythonPackage rec {
owner = "jaraco";
repo = "jaraco.abode";
rev = "refs/tags/v${version}";
- hash = "sha256-ZDdZba1oTOPaUm+r4fWC5E3ni/k8kXo6t5AWQTvfd5E=";
+ hash = "sha256-LnbWzIST+GMtdsHDKg67WWt9GmHUcSuGZ5Spei3nEio=";
};
postPatch = ''
diff --git a/pkgs/development/python-modules/jupyter-book/default.nix b/pkgs/development/python-modules/jupyter-book/default.nix
index 44f88d56d953..ac2a6c8125df 100644
--- a/pkgs/development/python-modules/jupyter-book/default.nix
+++ b/pkgs/development/python-modules/jupyter-book/default.nix
@@ -3,6 +3,7 @@
, fetchPypi
, pythonOlder
, flit-core
+, pythonRelaxDepsHook
, click
, docutils
, jinja2
@@ -25,7 +26,7 @@
buildPythonPackage rec {
pname = "jupyter-book";
- version = "0.13.1";
+ version = "0.13.2";
format = "flit";
@@ -33,24 +34,13 @@ buildPythonPackage rec {
src = fetchPypi {
inherit pname version;
- sha256 = "sha256-RgpC/H4J3kbdZsKuwYu7EOKCqcgM2v4uUsm6PVFknQE=";
+ sha256 = "sha256-wJWY0tBrlCkOFDfGZS4xWvv87sOlyrNl3fiGqgayqTs=";
};
- postPatch = ''
- substituteInPlace pyproject.toml \
- --replace "jsonschema<4" "jsonschema" \
- --replace "sphinx-external-toc~=0.2.3" "sphinx-external-toc" \
- --replace "sphinx-jupyterbook-latex~=0.4.6" "sphinx-jupyterbook-latex" \
- --replace "sphinx-thebe~=0.1.1" "sphinx-thebe" \
- --replace "sphinx>=4,<5" "sphinx" \
- --replace "sphinx_book_theme~=0.3.2" "sphinx_book_theme" \
- --replace "myst-nb~=0.13.1" "myst-nb" \
- --replace "docutils>=0.15,<0.18" "docutils" \
- --replace "sphinx-design~=0.1.0" "sphinx-design" \
- --replace "linkify-it-py~=1.0.1" "linkify-it-py"
- '';
-
- nativeBuildInputs = [ flit-core ];
+ nativeBuildInputs = [
+ flit-core
+ pythonRelaxDepsHook
+ ];
propagatedBuildInputs = [
click
@@ -73,11 +63,19 @@ buildPythonPackage rec {
sphinx-multitoc-numbering
];
- pythonImportsCheck = [ "jupyter_book" ];
+ pythonRelaxDeps = [
+ "docutils"
+ "myst-nb"
+ "sphinx"
+ ];
+
+ pythonImportsCheck = [
+ "jupyter_book"
+ ];
meta = with lib; {
description = "Build a book with Jupyter Notebooks and Sphinx";
- homepage = "https://executablebooks.org/";
+ homepage = "https://jupyterbook.org/";
license = licenses.bsd3;
maintainers = with maintainers; [ marsam ];
};
diff --git a/pkgs/development/python-modules/karton-core/default.nix b/pkgs/development/python-modules/karton-core/default.nix
index 65c56cbae18c..e62b7cee010b 100644
--- a/pkgs/development/python-modules/karton-core/default.nix
+++ b/pkgs/development/python-modules/karton-core/default.nix
@@ -8,13 +8,13 @@
buildPythonPackage rec {
pname = "karton-core";
- version = "5.0.0";
+ version = "5.0.1";
src = fetchFromGitHub {
owner = "CERT-Polska";
repo = "karton";
rev = "refs/tags/v${version}";
- hash = "sha256-0B2u2xnrGc3iQ8B9iAQ3fcovQQCPqdFsn5evgdDwg5M=";
+ hash = "sha256-TKO0l0AKsC9MMB58ao/EXcJ9k/J3y3S9tc127H7vA6w=";
};
propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/meep/default.nix b/pkgs/development/python-modules/meep/default.nix
new file mode 100644
index 000000000000..021121a44ac2
--- /dev/null
+++ b/pkgs/development/python-modules/meep/default.nix
@@ -0,0 +1,151 @@
+{ stdenv
+, lib
+, buildPythonPackage
+, fetchFromGitHub
+, autoreconfHook
+, pkg-config
+, gfortran
+, mpi
+, blas
+, lapack
+, fftw
+, hdf5-mpi
+, swig
+, gsl
+, harminv
+, libctl
+, libGDSII
+, openssh
+, guile
+, python
+, numpy
+, scipy
+, matplotlib
+, h5py-mpi
+, cython
+, autograd
+, mpi4py
+}:
+
+assert !blas.isILP64;
+assert !lapack.isILP64;
+
+buildPythonPackage rec {
+ pname = "meep";
+ version = "1.25.0";
+
+ src = fetchFromGitHub {
+ owner = "NanoComp";
+ repo = pname;
+ rev = "v${version}";
+ hash = "sha256-4rIz2RXLSWzZbRuv8d4nidOa0ULYc4QHIdaYrGu1WkI=";
+ };
+
+ format = "other";
+
+ # MPI is needed in nativeBuildInputs too, otherwise MPI libs will be missing
+ # at runtime
+ nativeBuildInputs = [
+ autoreconfHook
+ gfortran
+ pkg-config
+ swig
+ mpi
+ ];
+
+ buildInputs = [
+ gsl
+ blas
+ lapack
+ fftw
+ hdf5-mpi
+ harminv
+ libctl
+ libGDSII
+ guile
+ gsl
+ ];
+
+ propagatedBuildInputs = [
+ mpi
+ numpy
+ scipy
+ matplotlib
+ h5py-mpi
+ cython
+ autograd
+ mpi4py
+ ];
+
+ propagatedUserEnvPkgs = [ mpi ];
+
+ dontUseSetuptoolsBuild = true;
+ dontUsePipInstall = true;
+ dontUseSetuptoolsCheck = true;
+
+ enableParallelBuilding = true;
+
+ preConfigure = ''
+ export HDF5_MPI=ON
+ export PYTHON=${python}/bin/${python.executable};
+ '';
+
+ configureFlags = [
+ "--without-libctl"
+ "--enable-shared"
+ "--with-mpi"
+ "--with-openmp"
+ "--enable-maintainer-mode"
+ ];
+
+ passthru = { inherit mpi; };
+
+ /*
+ This test is taken from the MEEP tutorial "Fields in a Waveguide" at
+ .
+ It is important, that the test actually performs a calculation
+ (calls `sim.run()`), as only then MPI will be initialised and MPI linking
+ errors can be caught.
+ */
+ doCheck = true;
+ checkPhase = ''
+ export PATH=$PATH:${openssh}/bin
+ export PYTHONPATH="$out/lib/${python.libPrefix}/site-packages:$PYTHONPATH"
+
+ export OMP_NUM_THREADS=1
+
+ # Fix to make mpich run in a sandbox
+ export HYDRA_IFACE=lo
+ export OMPI_MCA_rmaps_base_oversubscribe=1
+
+ # Generate a python test script
+ cat > test.py << EOF
+ import meep as mp
+ cell = mp.Vector3(16,8,0)
+ geometry = [mp.Block(mp.Vector3(mp.inf,1,mp.inf),
+ center=mp.Vector3(),
+ material=mp.Medium(epsilon=12))]
+ sources = [mp.Source(mp.ContinuousSource(frequency=0.15),
+ component=mp.Ez,
+ center=mp.Vector3(-7,0))]
+ pml_layers = [mp.PML(1.0)]
+ resolution = 10
+ sim = mp.Simulation(cell_size=cell,
+ boundary_layers=pml_layers,
+ geometry=geometry,
+ sources=sources,
+ resolution=resolution)
+ sim.run(until=200)
+ EOF
+
+ ${mpi}/bin/mpiexec -np 2 python3 test.py
+ '';
+
+ meta = with lib; {
+ description = "Free finite-difference time-domain (FDTD) software for electromagnetic simulations";
+ homepage = "https://meep.readthedocs.io/en/latest/";
+ license = licenses.gpl2Only;
+ platforms = platforms.linux;
+ maintainers = with maintainers; [ sheepforce markuskowa ];
+ };
+}
diff --git a/pkgs/development/python-modules/openai/default.nix b/pkgs/development/python-modules/openai/default.nix
index d4cedc80be11..ede1a7a3d84f 100644
--- a/pkgs/development/python-modules/openai/default.nix
+++ b/pkgs/development/python-modules/openai/default.nix
@@ -23,7 +23,7 @@
buildPythonPackage rec {
pname = "openai";
- version = "0.26.4";
+ version = "0.26.5";
format = "setuptools";
disabled = pythonOlder "3.7.1";
@@ -32,7 +32,7 @@ buildPythonPackage rec {
owner = "openai";
repo = "openai-python";
rev = "v${version}";
- hash = "sha256-WcUH6zbb5kIH0qk67M+lUx9CbMEbYDXQm6IVzzuQo9w=";
+ hash = "sha256-eKU+WRFf7f1yH63vcoQ9dVeqhJXBqMJGpk/9AoEgR0M=";
};
propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/peaqevcore/default.nix b/pkgs/development/python-modules/peaqevcore/default.nix
index b8b5f092dcb2..3e1776b97b49 100644
--- a/pkgs/development/python-modules/peaqevcore/default.nix
+++ b/pkgs/development/python-modules/peaqevcore/default.nix
@@ -6,14 +6,14 @@
buildPythonPackage rec {
pname = "peaqevcore";
- version = "11.1.2";
+ version = "11.2.0";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
- hash = "sha256-ZuXc/7xCCFl20+GAMpL1c4iavjr7iR0pTvAoDCMnxx4=";
+ hash = "sha256-L4QUQsLdFwJPGq8ZdpTHRv5dNn1o6lc1q37LVNNCOOM=";
};
postPatch = ''
diff --git a/pkgs/development/python-modules/pontos/default.nix b/pkgs/development/python-modules/pontos/default.nix
index ae3b4c551dd4..9383bdbf100e 100644
--- a/pkgs/development/python-modules/pontos/default.nix
+++ b/pkgs/development/python-modules/pontos/default.nix
@@ -16,7 +16,7 @@
buildPythonPackage rec {
pname = "pontos";
- version = "23.2.0";
+ version = "23.2.4";
format = "pyproject";
disabled = pythonOlder "3.7";
@@ -25,7 +25,7 @@ buildPythonPackage rec {
owner = "greenbone";
repo = pname;
rev = "refs/tags/v${version}";
- hash = "sha256-4GIfXHDY2g6dhvymYzunK2UWxJcO37dXQbI2jxOIwCw=";
+ hash = "sha256-tunFd+hgaRx5wc1gRwZaNUEX550Rl1NR9rZfEWUw6H4=";
};
nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/py-synologydsm-api/default.nix b/pkgs/development/python-modules/py-synologydsm-api/default.nix
index 2437aba73a13..0ae3cf8bd0d1 100644
--- a/pkgs/development/python-modules/py-synologydsm-api/default.nix
+++ b/pkgs/development/python-modules/py-synologydsm-api/default.nix
@@ -11,7 +11,7 @@
buildPythonPackage rec {
pname = "py-synologydsm-api";
- version = "2.1.2";
+ version = "2.1.4";
format = "pyproject";
disabled = pythonOlder "3.8";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
owner = "mib1185";
repo = "py-synologydsm-api";
rev = "refs/tags/v${version}";
- hash = "sha256-dugWA/Ruc/BhPBbo2bTXf225YndDl0t2vc+NeutaO58=";
+ hash = "sha256-37JzdhMny6YDTBO9NRzfrZJAVAOPnpcr95fOKxisbTg=";
};
nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/pyathena/default.nix b/pkgs/development/python-modules/pyathena/default.nix
index 8c6086092a71..2de176f2c690 100644
--- a/pkgs/development/python-modules/pyathena/default.nix
+++ b/pkgs/development/python-modules/pyathena/default.nix
@@ -11,14 +11,14 @@
buildPythonPackage rec {
pname = "pyathena";
- version = "2.19.0";
+ version = "2.21.0";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
- hash = "sha256-59NH4HIhgDOxwgSUJq71ewpQTn2sbpNNT9Q3nj8qJss=";
+ hash = "sha256-DhG8JdYVRrsRuXsmlUzp7HDRlBsI/pLMBDzYqIzmae4=";
};
propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pyisy/default.nix b/pkgs/development/python-modules/pyisy/default.nix
index 472bf727edca..892c44b0b3b2 100644
--- a/pkgs/development/python-modules/pyisy/default.nix
+++ b/pkgs/development/python-modules/pyisy/default.nix
@@ -11,7 +11,7 @@
buildPythonPackage rec {
pname = "pyisy";
- version = "3.1.11";
+ version = "3.1.13";
format = "setuptools";
disabled = pythonOlder "3.7";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
owner = "automicus";
repo = "PyISY";
rev = "refs/tags/v${version}";
- hash = "sha256-RYC0mfskDcCU9O2pSKRL9ulPUaJQO9UKp7WANXZWJ60=";
+ hash = "sha256-FjreG+xjX8f68nUq/4HHEaYcUYjU/9sYvzmIN6kXezU=";
};
SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/pkgs/development/python-modules/pyrainbird/default.nix b/pkgs/development/python-modules/pyrainbird/default.nix
index 899e1cfd7b60..8d9c546213f8 100644
--- a/pkgs/development/python-modules/pyrainbird/default.nix
+++ b/pkgs/development/python-modules/pyrainbird/default.nix
@@ -1,11 +1,17 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
+, freezegun
+, ical
, parameterized
, pycryptodome
, pydantic
, pytest-aiohttp
+, pytest-asyncio
+, pytest-golden
+, pytest-mock
, pytestCheckHook
+, python-dateutil
, pythonOlder
, pyyaml
, requests
@@ -15,7 +21,7 @@
buildPythonPackage rec {
pname = "pyrainbird";
- version = "1.1.1";
+ version = "2.0.0";
format = "setuptools";
disabled = pythonOlder "3.9";
@@ -24,7 +30,7 @@ buildPythonPackage rec {
owner = "allenporter";
repo = pname;
rev = "refs/tags/${version}";
- hash = "sha256-e+neyzH+sGTzGwdy/N7n6GUvctHlHQgwDkRQsnzL7Jw=";
+ hash = "sha256-fQHWamtGA1Cz/9Hbxbns5lDd08Q01nIvaMXp9PWrelM=";
};
postPatch = ''
@@ -36,15 +42,21 @@ buildPythonPackage rec {
'';
propagatedBuildInputs = [
+ ical
pycryptodome
pydantic
+ python-dateutil
pyyaml
requests
];
nativeCheckInputs = [
+ freezegun
parameterized
pytest-aiohttp
+ pytest-asyncio
+ pytest-golden
+ pytest-mock
pytestCheckHook
requests-mock
responses
diff --git a/pkgs/development/python-modules/python-zbar/0001-python-enum-fix-build-for-Python-3.11.patch b/pkgs/development/python-modules/python-zbar/0001-python-enum-fix-build-for-Python-3.11.patch
new file mode 100644
index 000000000000..11b554151790
--- /dev/null
+++ b/pkgs/development/python-modules/python-zbar/0001-python-enum-fix-build-for-Python-3.11.patch
@@ -0,0 +1,61 @@
+From 64de7911d2938fc3601fec39c08008465b9d4f6f Mon Sep 17 00:00:00 2001
+From: Nick Cao
+Date: Tue, 7 Feb 2023 17:12:50 +0800
+Subject: [PATCH] python: enum: fix build for Python 3.11
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Python 3.9 introduced Py_SET_SIZE function to set size instead of
+relying on Py_SIZE() as a macro [3.9].
+
+Python 3.10 started to encourage to use Py_SET_SIZE instead of
+assigning into return value of Py_SIZE [3.10].
+
+Python 3.11 flips the switch, turn Py_SIZE into a function [3.11],
+thus Py_SIZE(obj) will be a rvalue. We need to use Py_SET_SIZE
+to set size now.
+
+[3.9]: https://docs.python.org/3.9/c-api/structures.html#c.Py_SET_SIZE
+[3.10]: https://docs.python.org/3.10/c-api/structures.html#c.Py_SIZE
+[3.11]: https://docs.python.org/3.11/c-api/structures.html#c.Py_SIZE
+
+Adapted from https://github.com/mchehab/zbar/pull/231
+
+Signed-off-by: Đoàn Trần Công Danh
+Signed-off-by: Nick Cao
+---
+ python/enum.c | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+diff --git a/python/enum.c b/python/enum.c
+index dfe1b1e..4833a20 100644
+--- a/python/enum.c
++++ b/python/enum.c
+@@ -52,7 +52,11 @@ enumitem_new (PyTypeObject *type,
+
+ /* we assume the "fast path" for a single-digit ints (see longobject.c) */
+ /* this also holds if we get a small_int preallocated long */
++#if PY_VERSION_HEX >= 0x030900A4
++ Py_SET_SIZE(&self->val, Py_SIZE(longval));
++#else
+ Py_SIZE(&self->val) = Py_SIZE(longval);
++#endif
+ self->val.ob_digit[0] = longval->ob_digit[0];
+ Py_DECREF(longval);
+ #else
+@@ -143,7 +147,11 @@ zbarEnumItem_New (PyObject *byname,
+
+ /* we assume the "fast path" for a single-digit ints (see longobject.c) */
+ /* this also holds if we get a small_int preallocated long */
++#if PY_VERSION_HEX >= 0x030900A4
++ Py_SET_SIZE(&self->val, Py_SIZE(longval));
++#else
+ Py_SIZE(&self->val) = Py_SIZE(longval);
++#endif
+ self->val.ob_digit[0] = longval->ob_digit[0];
+ Py_DECREF(longval);
+
+--
+2.39.1
+
diff --git a/pkgs/development/python-modules/python-zbar/default.nix b/pkgs/development/python-modules/python-zbar/default.nix
index 7ad125b26ef5..178b1899ef51 100644
--- a/pkgs/development/python-modules/python-zbar/default.nix
+++ b/pkgs/development/python-modules/python-zbar/default.nix
@@ -1,4 +1,10 @@
-{ lib , buildPythonPackage , fetchFromGitHub , pillow , zbar , pytestCheckHook }:
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pillow
+, zbar
+, pytestCheckHook
+}:
buildPythonPackage rec {
pname = "python-zbar";
@@ -12,6 +18,13 @@ buildPythonPackage rec {
sha256 = "sha256-FvV7TMc4JbOiRjWLka0IhtpGGqGm5fis7h870OmJw2U=";
};
+ patches = [
+ # python: enum: fix build for Python 3.11
+ # https://github.com/mchehab/zbar/pull/231
+ # the patch is reworked as it does not cleanly apply
+ ./0001-python-enum-fix-build-for-Python-3.11.patch
+ ];
+
propagatedBuildInputs = [ pillow ];
buildInputs = [ zbar ];
diff --git a/pkgs/development/python-modules/pyutil/default.nix b/pkgs/development/python-modules/pyutil/default.nix
index 3a6c3871a441..e6391349927c 100644
--- a/pkgs/development/python-modules/pyutil/default.nix
+++ b/pkgs/development/python-modules/pyutil/default.nix
@@ -9,11 +9,11 @@
buildPythonPackage rec {
pname = "pyutil";
- version = "3.3.0";
+ version = "3.3.2";
src = fetchPypi {
inherit pname version;
- sha256 = "8c4d4bf668c559186389bb9bce99e4b1b871c09ba252a756ccaacd2b8f401848";
+ sha256 = "sha256-6hbSxVtvg0Eh3rYyp0VLCg+uJdXRMLFfa+l667B2yfw=";
};
propagatedBuildInputs = [ simplejson ];
diff --git a/pkgs/development/python-modules/pyvex/default.nix b/pkgs/development/python-modules/pyvex/default.nix
index 58523a13b066..20d7da5f4883 100644
--- a/pkgs/development/python-modules/pyvex/default.nix
+++ b/pkgs/development/python-modules/pyvex/default.nix
@@ -13,14 +13,14 @@
buildPythonPackage rec {
pname = "pyvex";
- version = "9.2.36";
+ version = "9.2.37";
format = "pyproject";
disabled = pythonOlder "3.8";
src = fetchPypi {
inherit pname version;
- hash = "sha256-KV/fkgYUt8hfpGxDO3CNNrC91BaI9W8T2mr2H4eJdxo=";
+ hash = "sha256-JGTfOE16tycBkbsihKPgSZPlfqun1vr/86kAlNwrSZA=";
};
nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/requests-aws4auth/default.nix b/pkgs/development/python-modules/requests-aws4auth/default.nix
index d67f8f364ea2..b240aa81509c 100644
--- a/pkgs/development/python-modules/requests-aws4auth/default.nix
+++ b/pkgs/development/python-modules/requests-aws4auth/default.nix
@@ -11,7 +11,7 @@
buildPythonPackage rec {
pname = "requests-aws4auth";
- version = "1.2.1";
+ version = "1.2.2";
format = "setuptools";
disabled = pythonOlder "3.7";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
owner = "tedder";
repo = pname;
rev = "refs/tags/v${version}";
- hash = "sha256-Dr3i+5xTKLKOMjGkCdKhkK2BCV8/FgTGMtGsYtvB5s8=";
+ hash = "sha256-RbaRFMyvK3y7xN+xwNi/lHJjx+xIlpfizJj9BIn6cT4=";
};
propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/rpy2/default.nix b/pkgs/development/python-modules/rpy2/default.nix
index dd27a7ca110d..206c38cda762 100644
--- a/pkgs/development/python-modules/rpy2/default.nix
+++ b/pkgs/development/python-modules/rpy2/default.nix
@@ -24,13 +24,13 @@
}:
buildPythonPackage rec {
- version = "3.5.7";
+ version = "3.5.8";
pname = "rpy2";
disabled = isPyPy;
src = fetchPypi {
inherit version pname;
- sha256 = "sha256-h6QJA3m0/DTn86Q0cXMJBndsNzmIhwhqgDV9ZP3QZUs=";
+ sha256 = "sha256-ImEfIbxSeYCH+5gwlwXxolz76L/Sf7/u6gHz01L92yk=";
};
patches = [
diff --git a/pkgs/development/python-modules/sentence-transformers/default.nix b/pkgs/development/python-modules/sentence-transformers/default.nix
new file mode 100644
index 000000000000..4554b36d1207
--- /dev/null
+++ b/pkgs/development/python-modules/sentence-transformers/default.nix
@@ -0,0 +1,53 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, huggingface-hub
+, nltk
+, numpy
+, scikit-learn
+, scipy
+, sentencepiece
+, tokenizers
+, torch
+, torchvision
+, tqdm
+, transformers
+}:
+
+buildPythonPackage rec {
+ pname = "sentence-transformers";
+ version = "2.2.2";
+ format = "setuptools";
+
+ src = fetchFromGitHub {
+ owner = "UKPLab";
+ repo = "sentence-transformers";
+ rev = "v${version}";
+ hash = "sha256-hEYpDAL0lliaS1j+c5vaZ0q1hw802jfTUurx/FvgY9w=";
+ };
+
+ propagatedBuildInputs = [
+ huggingface-hub
+ nltk
+ numpy
+ scikit-learn
+ scipy
+ sentencepiece
+ tokenizers
+ torch
+ torchvision
+ tqdm
+ transformers
+ ];
+
+ pythonImportsCheck = [ "sentence_transformers" ];
+
+ doCheck = false; # tests fail at build_ext
+
+ meta = with lib; {
+ description = "Multilingual Sentence & Image Embeddings with BERT";
+ homepage = "https://github.com/UKPLab/sentence-transformers";
+ license = licenses.asl20;
+ maintainers = with maintainers; [ dit7ya ];
+ };
+}
diff --git a/pkgs/development/python-modules/soundfile/default.nix b/pkgs/development/python-modules/soundfile/default.nix
index 5847dc2a63f9..91b4e2ec7a42 100644
--- a/pkgs/development/python-modules/soundfile/default.nix
+++ b/pkgs/development/python-modules/soundfile/default.nix
@@ -29,6 +29,10 @@ buildPythonPackage rec {
propagatedBuildInputs = [ numpy libsndfile cffi ];
propagatedNativeBuildInputs = [ cffi ];
+ preConfigure = lib.optionalString (stdenv.isDarwin && stdenv.isx86_64) ''
+ export PYSOUNDFILE_ARCHITECTURE=x86_64
+ '';
+
meta = {
description = "An audio library based on libsndfile, CFFI and NumPy";
license = lib.licenses.bsd3;
diff --git a/pkgs/development/python-modules/sqltrie/default.nix b/pkgs/development/python-modules/sqltrie/default.nix
index 76c1eb22b2dc..da465eb0ccb3 100644
--- a/pkgs/development/python-modules/sqltrie/default.nix
+++ b/pkgs/development/python-modules/sqltrie/default.nix
@@ -11,7 +11,7 @@
buildPythonPackage rec {
pname = "sqltrie";
- version = "0.0.27";
+ version = "0.0.28";
format = "pyproject";
disabled = pythonOlder "3.8";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
owner = "iterative";
repo = pname;
rev = "refs/tags/${version}";
- hash = "sha256-8ymTdbJgRUf9BBNMEVF1lm29qA+N1629cekEohaxt0c=";
+ hash = "sha256-i1IFkibQ7VHrkD8KzeInBE4ZbjxAw8nQIeE6O4iYmbw=";
};
SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/pkgs/development/python-modules/types-pyyaml/default.nix b/pkgs/development/python-modules/types-pyyaml/default.nix
index f0b4056e2b58..710e1ad32cd5 100644
--- a/pkgs/development/python-modules/types-pyyaml/default.nix
+++ b/pkgs/development/python-modules/types-pyyaml/default.nix
@@ -5,13 +5,13 @@
buildPythonPackage rec {
pname = "types-pyyaml";
- version = "6.0.12.3";
+ version = "6.0.12.4";
format = "setuptools";
src = fetchPypi {
pname = "types-PyYAML";
inherit version;
- sha256 = "sha256-F84Xs+rY8G5BajsdW43cbLgqQiuyACVN2LRpQ0sEX/w=";
+ sha256 = "sha256-rebjKKWj34FsR8kSwuHpRq4rrOkHRKpzER7mg0sDoxQ=";
};
# Module doesn't have tests
diff --git a/pkgs/development/python-modules/types-requests/default.nix b/pkgs/development/python-modules/types-requests/default.nix
index a6d685a5371e..1d22826b6eea 100644
--- a/pkgs/development/python-modules/types-requests/default.nix
+++ b/pkgs/development/python-modules/types-requests/default.nix
@@ -6,12 +6,12 @@
buildPythonPackage rec {
pname = "types-requests";
- version = "2.28.11.11";
+ version = "2.28.11.12";
format = "setuptools";
src = fetchPypi {
inherit pname version;
- sha256 = "sha256-GWIqzjWl2hg47pytDfSlDH46Qg+KN+g1fOhw/tSS+oE=";
+ sha256 = "sha256-/VMKqz/E8F7jZAavFo8INubwDx7lGguWtzEfgstnUjA=";
};
propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/watchfiles/default.nix b/pkgs/development/python-modules/watchfiles/default.nix
index c31aa264bd84..82060561a8d4 100644
--- a/pkgs/development/python-modules/watchfiles/default.nix
+++ b/pkgs/development/python-modules/watchfiles/default.nix
@@ -11,6 +11,8 @@
, pytest-timeout
, pytestCheckHook
, python
+, CoreServices
+, libiconv
}:
buildPythonPackage rec {
@@ -33,6 +35,11 @@ buildPythonPackage rec {
hash = "sha256-IWONA3o+2emJ7cKEw5xYSMdWzGuUSwn1B70zUDzj7Cw=";
};
+ buildInputs = lib.optionals stdenv.isDarwin [
+ CoreServices
+ libiconv
+ ];
+
nativeBuildInputs = [
] ++ (with rustPlatform; [
cargoSetupHook
@@ -69,6 +76,5 @@ buildPythonPackage rec {
homepage = "https://watchfiles.helpmanual.io/";
license = licenses.mit;
maintainers = with maintainers; [ fab ];
- broken = stdenv.isDarwin;
};
}
diff --git a/pkgs/development/python-modules/xknx/default.nix b/pkgs/development/python-modules/xknx/default.nix
index 2d1cbab86c6d..af7f10e3fd8d 100644
--- a/pkgs/development/python-modules/xknx/default.nix
+++ b/pkgs/development/python-modules/xknx/default.nix
@@ -12,7 +12,7 @@
buildPythonPackage rec {
pname = "xknx";
- version = "2.3.0";
+ version = "2.4.0";
format = "setuptools";
disabled = pythonOlder "3.8";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
owner = "XKNX";
repo = pname;
rev = "refs/tags/${version}";
- hash = "sha256-G4az6YmCDv1MPF30mBQVNBPZdebjZqd+0vxo5F5iDWY=";
+ hash = "sha256-MSk/c2qLztq5GQ6+CzK0Jw+rOJTClguaoL284YaBPjw=";
};
propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/xsdata/default.nix b/pkgs/development/python-modules/xsdata/default.nix
index 6ad48ac12364..d3d06d407493 100644
--- a/pkgs/development/python-modules/xsdata/default.nix
+++ b/pkgs/development/python-modules/xsdata/default.nix
@@ -2,6 +2,7 @@
, buildPythonPackage
, pythonOlder
, fetchPypi
+, fetchpatch
, click
, click-default-group
, docformatter
@@ -25,6 +26,16 @@ buildPythonPackage rec {
hash = "sha256-o9Xxt7b/+MkW94Jcg26ihaTn0/OpTcu+0OY7oV3JRGY=";
};
+ patches = [
+ # https://github.com/tefra/xsdata/pull/741
+ (fetchpatch {
+ name = "use-docformatter-1.5.1.patch";
+ url = "https://github.com/tefra/xsdata/commit/040692db47e6e51028fd959c793e757858c392d7.patch";
+ excludes = [ "setup.cfg" ];
+ hash = "sha256-ncecMJLJUiUb4lB8ys+nyiGU/UmayK++o89h3sAwREQ=";
+ })
+ ];
+
postPatch = ''
substituteInPlace setup.cfg \
--replace "--benchmark-skip" ""
diff --git a/pkgs/development/python-modules/yfinance/default.nix b/pkgs/development/python-modules/yfinance/default.nix
index d2a113fb51d0..ac8c68239bf7 100644
--- a/pkgs/development/python-modules/yfinance/default.nix
+++ b/pkgs/development/python-modules/yfinance/default.nix
@@ -15,7 +15,7 @@
buildPythonPackage rec {
pname = "yfinance";
- version = "0.2.9";
+ version = "0.2.10";
format = "setuptools";
disabled = pythonOlder "3.7";
@@ -24,7 +24,7 @@ buildPythonPackage rec {
owner = "ranaroussi";
repo = pname;
rev = "refs/tags/${version}";
- hash = "sha256-CcvBVW9MdXVx1BnIcPB9b1PHGK2zw4Hg0vVNW6s87/Q=";
+ hash = "sha256-1LRnvyr3QNYR33qTyN/WepGH8InYmXWwO5gQfm20MP4=";
};
propagatedBuildInputs = [
diff --git a/pkgs/development/quickemu/default.nix b/pkgs/development/quickemu/default.nix
index d5b56f585eca..25cb3b4d7eb8 100644
--- a/pkgs/development/quickemu/default.nix
+++ b/pkgs/development/quickemu/default.nix
@@ -50,13 +50,13 @@ in
stdenv.mkDerivation rec {
pname = "quickemu";
- version = "4.5";
+ version = "4.6";
src = fetchFromGitHub {
owner = "quickemu-project";
repo = "quickemu";
rev = version;
- hash = "sha256-31f4BIIYCh2acbueUtGZShKnlhctd1FfKkFqsNiUqrI=";
+ hash = "sha256-C/3zyHnxAxCu8rrR4Znka47pVPp0vvaVGyd4TVQG3qg=";
};
postPatch = ''
diff --git a/pkgs/development/tools/build-managers/bazel/buildtools/default.nix b/pkgs/development/tools/build-managers/bazel/buildtools/default.nix
index cd313a5bc50b..693ecce9d1e1 100644
--- a/pkgs/development/tools/build-managers/bazel/buildtools/default.nix
+++ b/pkgs/development/tools/build-managers/bazel/buildtools/default.nix
@@ -2,21 +2,23 @@
buildGoModule rec {
pname = "bazel-buildtools";
- version = "5.1.0";
+ version = "6.0.1";
src = fetchFromGitHub {
owner = "bazelbuild";
repo = "buildtools";
rev = version;
- sha256 = "sha256-PNIqsP5p+OdYH0JgOmjqvge9zVOrAcNg0FMflXFJHwQ=";
+ hash = "sha256-WXzrGJaulcwg4MnyfY5jWBEVxCXryqMK+/R7J/gFI38=";
};
- vendorSha256 = "sha256-9WUjQhXWkpSEJj9Xq+9rOe3I1VZ7nqMTnX7DPl+rxsU=";
+ vendorHash = "sha256-DigTREfI6I48wxRpGp/bfH1NbUZ4E1B5UTQXpI0LY1A=";
preBuild = ''
rm -r warn/docs
'';
+ proxyVendor = true;
+
doCheck = false;
excludedPackages = [ "generatetables" ];
diff --git a/pkgs/development/tools/golangci-lint/default.nix b/pkgs/development/tools/golangci-lint/default.nix
index ccd230cc5f5c..f3a54a83a636 100644
--- a/pkgs/development/tools/golangci-lint/default.nix
+++ b/pkgs/development/tools/golangci-lint/default.nix
@@ -2,16 +2,16 @@
buildGoModule rec {
pname = "golangci-lint";
- version = "1.51.0";
+ version = "1.51.1";
src = fetchFromGitHub {
owner = "golangci";
repo = "golangci-lint";
rev = "v${version}";
- hash = "sha256-mmnzbgnu/S9DhFY5JQSs8U5tvsGqIcDaX5Y7dhCgr68=";
+ hash = "sha256-BkkC23dO40gnEQ6sJcbLR2UzdigMrta2+NnZA2bk3E8=";
};
- vendorHash = "sha256-QoUxZBl0wOpbD2xPCQAeTNiLxdtXZ3+KWB/TLSt53v4=";
+ vendorHash = "sha256-CS9Z3nvOleKTYjw89IKybsUI33w0If/mYDUpQHLO58U=";
doCheck = false;
diff --git a/pkgs/development/tools/oh-my-posh/default.nix b/pkgs/development/tools/oh-my-posh/default.nix
index b4843ddc1030..fae74f6f13fc 100644
--- a/pkgs/development/tools/oh-my-posh/default.nix
+++ b/pkgs/development/tools/oh-my-posh/default.nix
@@ -6,16 +6,16 @@
buildGoModule rec {
pname = "oh-my-posh";
- version = "13.8.0";
+ version = "14.2.3";
src = fetchFromGitHub {
owner = "jandedobbeleer";
repo = pname;
rev = "refs/tags/v${version}";
- hash = "sha256-mplWF/lmgRfYd1Gg2loZI5NIfmTHR8quG1/KcZj5W54=";
+ hash = "sha256-PghWKyZG19MVmc2fQSQN/BCMbF7YOZWybUSKiQzUxl8=";
};
- vendorHash = "sha256-WiH4qu8DODEhAkxUm6VDcBwFyQO7kNjaiaWPDHCHj9E=";
+ vendorHash = "sha256-ehG71B351u+LoXDuKQkuEdEpUdHslVU2HcPKUz6FAnQ=";
sourceRoot = "source/src";
@@ -35,6 +35,11 @@ buildGoModule rec {
"static_build"
];
+ postPatch = ''
+ # this test requires internet access
+ rm engine/migrate_glyphs_test.go
+ '';
+
postInstall = ''
mv $out/bin/{src,oh-my-posh}
mkdir -p $out/share/oh-my-posh
diff --git a/pkgs/development/tools/rust/rust-analyzer/default.nix b/pkgs/development/tools/rust/rust-analyzer/default.nix
index a90ac2780e8a..80fbfe249d75 100644
--- a/pkgs/development/tools/rust/rust-analyzer/default.nix
+++ b/pkgs/development/tools/rust/rust-analyzer/default.nix
@@ -12,14 +12,14 @@
rustPlatform.buildRustPackage rec {
pname = "rust-analyzer-unwrapped";
- version = "2023-01-23";
- cargoSha256 = "sha256-NSdHvWN5BIEXZMFiweKYbJayxDqlFmqJp+sIzeORhSU=";
+ version = "2023-01-30";
+ cargoSha256 = "sha256-ONziMXbMPDoIb44mOJCg5O1QOo5o13kaGb+b6Qp3Ikk=";
src = fetchFromGitHub {
owner = "rust-lang";
repo = "rust-analyzer";
rev = version;
- sha256 = "sha256-Uq6jngJnf2UqKrOzqMXtq5IVxkU3eNCkmORPdccLxp0=";
+ sha256 = "sha256-W8abw+8SuxSMMBH4ydfawdC6zwPHQwhHerFEXkB4oU4=";
};
auditable = true; # TODO: remove when this is the default
diff --git a/pkgs/development/tools/wizer/default.nix b/pkgs/development/tools/wizer/default.nix
index f79c96f54518..5f84e1e01ff0 100644
--- a/pkgs/development/tools/wizer/default.nix
+++ b/pkgs/development/tools/wizer/default.nix
@@ -1,16 +1,26 @@
-{ lib, stdenv, rustPlatform, fetchCrate }:
+{ lib
+, stdenv
+, rustPlatform
+, fetchFromGitHub
+, testers
+, wizer
+}:
rustPlatform.buildRustPackage rec {
pname = "wizer";
- version = "1.4.0";
+ version = "1.6.0";
- src = fetchCrate {
- inherit pname version;
-
- sha256 = "sha256-3Hc3KKqtbZtvD+3lb/W7+AyrwPukJyxpUe94KGQlzBI=";
+ # the crate does not contain files which are necessary for the tests
+ # see https://github.com/bytecodealliance/wizer/commit/3a95e27ce42f1fdaef07b52988e4699eaa221e04
+ src = fetchFromGitHub {
+ owner = "bytecodealliance";
+ repo = "wizer";
+ # see https://github.com/bytecodealliance/wizer/pull/62
+ rev = "e74c6e59562c4b7edcda506674db8aead878a893";
+ sha256 = "sha256-bVxjcb231Ygz+z+8D1U2YQqEdIKsostxISgYt2KecXc=";
};
- cargoSha256 = "sha256-zv36/W7dNpIupYn8TS+NaF7uX+BVjrI6AW6Hrlqr8Xg=";
+ cargoSha256 = "sha256-S9h47aGG5UhwNoOnUHFrtEyByg8iCMC88Cspb/6tb8c=";
cargoBuildFlags = [ "--bin" pname ];
@@ -22,11 +32,14 @@ rustPlatform.buildRustPackage rec {
export HOME=$(mktemp -d)
'';
+ passthru.tests = {
+ version = testers.testVersion { package = wizer; };
+ };
+
meta = with lib; {
description = "The WebAssembly pre-initializer";
homepage = "https://github.com/bytecodealliance/wizer";
license = licenses.asl20;
- maintainers = with maintainers; [ lucperkins ];
- broken = stdenv.isx86_64 && stdenv.isDarwin;
+ maintainers = with maintainers; [ lucperkins amesgen ];
};
}
diff --git a/pkgs/games/BeatSaberModManager/deps.nix b/pkgs/games/BeatSaberModManager/deps.nix
index 1542b120c9af..e36521e19149 100644
--- a/pkgs/games/BeatSaberModManager/deps.nix
+++ b/pkgs/games/BeatSaberModManager/deps.nix
@@ -26,9 +26,9 @@
(fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.Win32"; version = "2.8.2.1-preview.108"; sha256 = "0n6ymn9jqms3mk5hg0ar4y9jmh96myl6q0jimn7ahb1a8viq55k1"; })
(fetchNuGet { pname = "JetBrains.Annotations"; version = "10.3.0"; sha256 = "1grdx28ga9fp4hwwpwv354rizm8anfq4lp045q4ss41gvhggr3z8"; })
(fetchNuGet { pname = "MicroCom.Runtime"; version = "0.11.0"; sha256 = "0p9c3m0zk59x9dcqw077hzd2yk60myisbacvm36mnwpcjwzjkp2m"; })
- (fetchNuGet { pname = "Microsoft.AspNetCore.App.Ref"; version = "6.0.12"; sha256 = "0x8x922jhdn4zzbqqhlnzg5cmg69myn9zibk363py3yamkywcami"; })
- (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-arm64"; version = "6.0.12"; sha256 = "1zi1x4w51fawi8083s48mxrlpqzkc48qsvrq2h7xx58x48ml465s"; })
- (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-x64"; version = "6.0.12"; sha256 = "1wwciddbnykamlwl9i88l9081q27l0i17jmvymsxddbi0v9rr3sb"; })
+ (fetchNuGet { pname = "Microsoft.AspNetCore.App.Ref"; version = "6.0.13"; sha256 = "1k49nrz5rw1yglkjypmmnclahib2qiwm838008yahk00ysy039f4"; })
+ (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-arm64"; version = "6.0.13"; sha256 = "1a80w34yb700cvjzfcsq3c5sb32bk95ccgjfcvyqxkpzlgcc50xn"; })
+ (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-x64"; version = "6.0.13"; sha256 = "1y2gnkrc788y9k79sygx7dmgkj674qwdajyrxizx0a70rwmjszmw"; })
(fetchNuGet { pname = "Microsoft.CodeAnalysis.Analyzers"; version = "3.0.0"; sha256 = "0bbl0jpqywqmzz2gagld1p2gvdfldjfjmm25hil9wj2nq1zc4di8"; })
(fetchNuGet { pname = "Microsoft.CodeAnalysis.Common"; version = "3.8.0"; sha256 = "12n7rvr39bzkf2maw7zplw8rwpxpxss4ich3bb2pw770rx4nyvyw"; })
(fetchNuGet { pname = "Microsoft.CodeAnalysis.CSharp"; version = "3.8.0"; sha256 = "1kmry65csvfn72zzc16vj1nfbfwam28wcmlrk3m5rzb8ydbzgylb"; })
@@ -36,11 +36,11 @@
(fetchNuGet { pname = "Microsoft.CodeAnalysis.Scripting.Common"; version = "3.8.0"; sha256 = "0hjgxcsj5zy27lqk0986m59n5dbplx2vjjla2lsvg4bwg8qa7bpk"; })
(fetchNuGet { pname = "Microsoft.CSharp"; version = "4.3.0"; sha256 = "0gw297dgkh0al1zxvgvncqs0j15lsna9l1wpqas4rflmys440xvb"; })
(fetchNuGet { pname = "Microsoft.CSharp"; version = "4.5.0"; sha256 = "01i28nvzccxbqmiz217fxs6hnjwmd5fafs37rd49a6qp53y6623l"; })
- (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-arm64"; version = "6.0.12"; sha256 = "0axj326a79h8762ahrxgpnzczivfvdjn2xa2np2djc7ybn6j3491"; })
- (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-x64"; version = "6.0.12"; sha256 = "0dfivz2wq18gsdn8b9d0v6q0lf2mvayl85nad7cvysfc93aw05jg"; })
- (fetchNuGet { pname = "Microsoft.NETCore.App.Ref"; version = "6.0.12"; sha256 = "00s1flhzvxsdhgn469vc1q63qkcv05g5zqx10p1gsnzxjpdx01in"; })
- (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-arm64"; version = "6.0.12"; sha256 = "1j615cjwkyjkvvc03pvwmfgqbh1z9aq08bvw0bnjkhs1qs6dz7x0"; })
- (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-x64"; version = "6.0.12"; sha256 = "1w7kfgld8wcbqqyb1cpbnd6b08f83jfny2q70vb1qdqfn5bgcb1h"; })
+ (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-arm64"; version = "6.0.13"; sha256 = "1xy7x37mkdiv907xbxxc0aijjhgi2hli1s79adqn4adw8fbn2aki"; })
+ (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-x64"; version = "6.0.13"; sha256 = "0ph1r2vhnqg7agk1zz4873983qy2i5nwa10q40ba3g96rdy2pg1f"; })
+ (fetchNuGet { pname = "Microsoft.NETCore.App.Ref"; version = "6.0.13"; sha256 = "0ddygsnms3vfg6s7w2mcm7gqdmb4h7glrdj73hm1l42sndmn9p7v"; })
+ (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-arm64"; version = "6.0.13"; sha256 = "0l1bq22d85sm36hrsmyf74hir1fj0msqv0c6d4ba0b64b3rwhvg0"; })
+ (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-x64"; version = "6.0.13"; sha256 = "0in8sk9bl2r2dgjf3ncvmqzbdnyvy2329bzmykmvsrq511c76gh3"; })
(fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.0.1"; sha256 = "01al6cfxp68dscl15z7rxfw9zvhm64dncsw09a1vmdkacsa2v6lr"; })
(fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.1.0"; sha256 = "08vh1r12g6ykjygq5d3vq09zylgb84l63k49jc4v8faw9g93iqqm"; })
(fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "2.1.2"; sha256 = "1507hnpr9my3z4w1r6xk5n0s1j3y6a2c2cnynj76za7cphxi1141"; })
diff --git a/pkgs/games/hyperrogue/default.nix b/pkgs/games/hyperrogue/default.nix
index f8f0d55fb9c3..1eabfe77a7ae 100644
--- a/pkgs/games/hyperrogue/default.nix
+++ b/pkgs/games/hyperrogue/default.nix
@@ -3,13 +3,13 @@
stdenv.mkDerivation rec {
pname = "hyperrogue";
- version = "12.1h";
+ version = "12.1i";
src = fetchFromGitHub {
owner = "zenorogue";
repo = "hyperrogue";
rev = "v${version}";
- sha256 = "sha256-9ChPO0YCsrAyQ81TAbKCMJSgSXoUtkvvNPMTPimPBUo=";
+ sha256 = "sha256-TMPumyTEzDbV/31UgwXJwr7zt7ufENX3ESxlcBEnaSc=";
};
CXXFLAGS = [
diff --git a/pkgs/games/quake2/yquake2/default.nix b/pkgs/games/quake2/yquake2/default.nix
index 2e9c09bc62e3..522a8e39fd88 100644
--- a/pkgs/games/quake2/yquake2/default.nix
+++ b/pkgs/games/quake2/yquake2/default.nix
@@ -13,13 +13,13 @@ let
yquake2 = stdenv.mkDerivation rec {
pname = "yquake2";
- version = "8.10";
+ version = "8.20";
src = fetchFromGitHub {
owner = "yquake2";
repo = "yquake2";
rev = "QUAKE2_${builtins.replaceStrings ["."] ["_"] version}";
- sha256 = "sha256-/BbMR/ZPjHbKzQ+I1+Vgh3/zenLjW3TnmrKhKPR6Gdk=";
+ sha256 = "sha256-x1mk6qo03b438ZBS16/f7pzMCfugtQvaRcV+hg7Zc/w=";
};
postPatch = ''
diff --git a/pkgs/misc/cups/drivers/fxlinuxprint/default.nix b/pkgs/misc/cups/drivers/fxlinuxprint/default.nix
index a5091c525d42..4edd8d0d85b6 100644
--- a/pkgs/misc/cups/drivers/fxlinuxprint/default.nix
+++ b/pkgs/misc/cups/drivers/fxlinuxprint/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
version = "1.1.2-1";
src = fetchzip {
- url = "https://onlinesupport.fujixerox.com/driver_downloads/fxlinuxpdf112119031.zip";
+ url = "https://support-fb.fujifilm.com/driver_downloads/fxlinuxpdf112119031.zip";
sha256 = "1mv07ch6ysk9bknfmjqsgxb803sj6vfin29s9knaqv17jvgyh0n3";
curlOpts = "--user-agent Mozilla/5.0"; # HTTP 410 otherwise
};
diff --git a/pkgs/misc/fastly/default.nix b/pkgs/misc/fastly/default.nix
index 1542ed14fafe..1a737ae3ab45 100644
--- a/pkgs/misc/fastly/default.nix
+++ b/pkgs/misc/fastly/default.nix
@@ -8,13 +8,13 @@
buildGoModule rec {
pname = "fastly";
- version = "5.1.1";
+ version = "6.0.0";
src = fetchFromGitHub {
owner = "fastly";
repo = "cli";
rev = "refs/tags/v${version}";
- hash = "sha256-gPToEeLymKIRjL52wb5AjMpDM6vU0Yb0rbcpouev4rQ=";
+ hash = "sha256-meUKWAFKT6EgHtzgR6jjDCA8EUD1kVoT3reXaRheukw=";
# The git commit is part of the `fastly version` original output;
# leave that output the same in nixpkgs. Use the `.git` directory
# to retrieve the commit SHA, and remove the directory afterwards,
@@ -49,8 +49,8 @@ buildGoModule rec {
];
preBuild = let
cliConfigToml = fetchurl {
- url = "https://web.archive.org/web/20221224152051/https://developer.fastly.com/api/internal/cli-config";
- hash = "sha256-IjakfeqjHshlGoamRJTnhUC8cTVMIY63F3vO6I/ZHO4=";
+ url = "https://web.archive.org/web/20230207211120/https://developer.fastly.com/api/internal/cli-config";
+ hash = "sha256-Vkl8V5AkiJMZLswSN0vTnz7S7/5lXftlWD5UZh//vUw=";
};
in ''
cp ${cliConfigToml} ./pkg/config/config.toml
diff --git a/pkgs/os-specific/linux/alsa-project/alsa-lib/default.nix b/pkgs/os-specific/linux/alsa-project/alsa-lib/default.nix
index 70526510a538..560f2bf30147 100644
--- a/pkgs/os-specific/linux/alsa-project/alsa-lib/default.nix
+++ b/pkgs/os-specific/linux/alsa-project/alsa-lib/default.nix
@@ -3,14 +3,15 @@
, fetchurl
, alsa-topology-conf
, alsa-ucm-conf
+, testers
}:
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
pname = "alsa-lib";
version = "1.2.8";
src = fetchurl {
- url = "mirror://alsa/lib/${pname}-${version}.tar.bz2";
+ url = "mirror://alsa/lib/${finalAttrs.pname}-${finalAttrs.version}.tar.bz2";
hash = "sha256-GrAbdOM0JcqZwuNsCET9aIgnMZO9iYJA/o+TrMvL80c=";
};
@@ -31,6 +32,8 @@ stdenv.mkDerivation rec {
outputs = [ "out" "dev" ];
+ passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
+
meta = with lib; {
homepage = "http://www.alsa-project.org/";
description = "ALSA, the Advanced Linux Sound Architecture libraries";
@@ -41,7 +44,8 @@ stdenv.mkDerivation rec {
'';
license = licenses.lgpl21Plus;
+ pkgConfigModules = [ "alsa" "alsa-topology" ];
platforms = platforms.linux;
maintainers = with maintainers; [ l-as ];
};
-}
+})
diff --git a/pkgs/os-specific/linux/rt-tests/default.nix b/pkgs/os-specific/linux/rt-tests/default.nix
index 67000776256c..6185bf9912dd 100644
--- a/pkgs/os-specific/linux/rt-tests/default.nix
+++ b/pkgs/os-specific/linux/rt-tests/default.nix
@@ -8,11 +8,11 @@
stdenv.mkDerivation rec {
pname = "rt-tests";
- version = "2.4";
+ version = "2.5";
src = fetchurl {
url = "https://git.kernel.org/pub/scm/utils/rt-tests/rt-tests.git/snapshot/${pname}-${version}.tar.gz";
- sha256 = "sha256-yuSfeYTaCZ0F1GXQkDnH8PBvyzR2w/XDitN8csHB9xE=";
+ sha256 = "sha256-LzN3YB3Lb7tjyEplrFaNYtiGwHUUTztZBsMrUndd2cU=";
};
nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/servers/home-assistant/component-packages.nix b/pkgs/servers/home-assistant/component-packages.nix
index 51a694006528..8abe197bee7d 100644
--- a/pkgs/servers/home-assistant/component-packages.nix
+++ b/pkgs/servers/home-assistant/component-packages.nix
@@ -2,7 +2,7 @@
# Do not edit!
{
- version = "2023.2.2";
+ version = "2023.2.3";
components = {
"3_day_blinds" = ps: with ps; [
];
diff --git a/pkgs/servers/home-assistant/default.nix b/pkgs/servers/home-assistant/default.nix
index 07bb320e7112..94ab3ab5b509 100644
--- a/pkgs/servers/home-assistant/default.nix
+++ b/pkgs/servers/home-assistant/default.nix
@@ -271,7 +271,7 @@ let
extraPackagesFile = writeText "home-assistant-packages" (lib.concatMapStringsSep "\n" (pkg: pkg.pname) extraBuildInputs);
# Don't forget to run parse-requirements.py after updating
- hassVersion = "2023.2.2";
+ hassVersion = "2023.2.3";
in python.pkgs.buildPythonApplication rec {
pname = "homeassistant";
@@ -289,7 +289,7 @@ in python.pkgs.buildPythonApplication rec {
owner = "home-assistant";
repo = "core";
rev = "refs/tags/${version}";
- hash = "sha256-HEL8e/2zoWPjeJL9iaCRu8aIldE3uTw9Yu9Q06Nyvz4=";
+ hash = "sha256-cRdxlmlgkKTnrtqGQPbSpBLHf+vfI9T6sdETcGshN9M=";
};
nativeBuildInputs = with python3.pkgs; [
diff --git a/pkgs/servers/jackett/default.nix b/pkgs/servers/jackett/default.nix
index dc93a7977ad8..ae8b8eacabe4 100644
--- a/pkgs/servers/jackett/default.nix
+++ b/pkgs/servers/jackett/default.nix
@@ -9,13 +9,13 @@
buildDotnetModule rec {
pname = "jackett";
- version = "0.20.2986";
+ version = "0.20.3004";
src = fetchFromGitHub {
owner = pname;
repo = pname;
rev = "v${version}";
- hash = "sha512-IbcIn2n5Cob+Ewp0lkkIENuo00HBlNy6V5pKARC6EgBDRKbB+YXETDX1Ko3Dsl0x6mxZgoTCbzEIPxD+Y2J4Rw==";
+ hash = "sha512-UNGkcCQeeMxonJ9Kf1SDMTgSC8uTM2gD377qA+ViSfpWoOGQCY003EZ0c3c0q6oSGVbiIma1wvyW/T/ILLi5yw==";
};
projectFile = "src/Jackett.Server/Jackett.Server.csproj";
diff --git a/pkgs/servers/openvscode-server/default.nix b/pkgs/servers/openvscode-server/default.nix
index 1253a6ef8fc3..47ca62c6d01e 100644
--- a/pkgs/servers/openvscode-server/default.nix
+++ b/pkgs/servers/openvscode-server/default.nix
@@ -40,13 +40,13 @@ let
in stdenv.mkDerivation rec {
pname = "openvscode-server";
- version = "1.74.3";
+ version = "1.75.0";
src = fetchFromGitHub {
owner = "gitpod-io";
repo = "openvscode-server";
rev = "openvscode-server-v${version}";
- sha256 = "2+/5I0dpQsmoWA7Q0dCgPO85dkOKQWHeO34cueH4sjQ=";
+ sha256 = "ZR4gEE+bLVjcGxhoRYQqfxDjk0ulPmdb5IV041qf954=";
};
yarnCache = stdenv.mkDerivation {
@@ -69,7 +69,7 @@ in stdenv.mkDerivation rec {
outputHashMode = "recursive";
outputHashAlgo = "sha256";
- outputHash = "sha256-4B/ESi4lM2p+pY0dfUKWgwmYkwqPYaNuCLJ99ByjwWE=";
+ outputHash = "sha256-KcGhHFglBJDyircYUxpsMLRtQblYx3u/BMQq35A0qhE=";
};
nativeBuildInputs = [
diff --git a/pkgs/servers/samba/4.x.nix b/pkgs/servers/samba/4.x.nix
index df235abe98c4..3f657bbeceaf 100644
--- a/pkgs/servers/samba/4.x.nix
+++ b/pkgs/servers/samba/4.x.nix
@@ -48,11 +48,11 @@ with lib;
stdenv.mkDerivation rec {
pname = "samba";
- version = "4.17.4";
+ version = "4.17.5";
src = fetchurl {
url = "mirror://samba/pub/samba/stable/${pname}-${version}.tar.gz";
- hash = "sha256-wFEgedtMrHB8zqTBiuu9ay6zrPbpBzXn9kWjJr4fRTc=";
+ hash = "sha256-67eIDUdP/AnXO1/He8vWV/YjWRAzczGpwk1/acoRRCs=";
};
outputs = [ "out" "dev" "man" ];
diff --git a/pkgs/servers/search/khoj/default.nix b/pkgs/servers/search/khoj/default.nix
new file mode 100644
index 000000000000..db20f0e920cf
--- /dev/null
+++ b/pkgs/servers/search/khoj/default.nix
@@ -0,0 +1,75 @@
+{ lib
+, fetchFromGitHub
+, python3Packages
+, qt6
+}:
+
+python3Packages.buildPythonApplication rec {
+ pname = "khoj";
+ version = "0.2.5";
+ format = "setuptools";
+
+ src = fetchFromGitHub {
+ owner = "debanjum";
+ repo = "khoj";
+ rev = version;
+ hash = "sha256-cylZNRyHMFJiBjlEtKMpRjRjwQyb7pgOjMtxFhKFU4k=";
+ };
+
+ propagatedBuildInputs = with python3Packages; [
+ aiofiles
+ dateparser
+ defusedxml
+ fastapi
+ huggingface-hub
+ jinja2
+ numpy
+ openai
+ pillow
+ pydantic
+ pyqt6
+ pyyaml
+ schedule
+ sentence-transformers
+ torch
+ torchvision
+ transformers
+ uvicorn
+ ];
+
+ buildInputs = with qt6; [
+ qtwayland
+ ];
+
+ nativeBuildInputs = with qt6; [
+ wrapQtAppsHook
+ ];
+
+ checkInputs = with python3Packages; [
+ pytest
+ ];
+
+ postPatch = ''
+ substituteInPlace setup.py \
+ --replace "aiofiles == 0.8.0" "aiofiles >= 0.8.0" \
+ --replace "openai == 0.20.0" "openai >= 0.20.0" \
+ --replace "pytest == 7.1.2" "pytest >= 7.1.2" \
+ --replace "fastapi == 0.77.1" "fastapi >= 0.77.1" \
+ --replace "numpy == 1.22.4" "numpy >= 1.22.4" \
+ --replace "huggingface_hub == 0.8.1" "huggingface_hub >= 0.8.1" \
+ --replace "dateparser == 1.1.1" "dateparser >= 1.1.1" \
+ --replace "sentence-transformers == 2.1.0" "sentence-transformers >= 2.1.0" \
+ --replace "transformers == 4.21.0" "transformers >= 4.21.0" \
+ --replace "torchvision == 0.14.1" "torchvision" \
+ --replace "pydantic == 1.9.1" "pydantic >= 1.9.1" \
+ --replace "pyqt6 == 6.3.1" "pyqt6 >= 6.3.1" \
+ --replace "uvicorn == 0.17.6" "uvicorn >= 0.17.6"
+ '';
+
+ meta = with lib; {
+ description = "Natural Language Search Assistant for your Org-Mode and Markdown notes, Beancount transactions and Photos";
+ homepage = "https://github.com/debanjum/khoj";
+ license = licenses.gpl3Only;
+ maintainers = with maintainers; [ dit7ya ];
+ };
+}
diff --git a/pkgs/servers/sql/mariadb/default.nix b/pkgs/servers/sql/mariadb/default.nix
index 67abd89d1f9d..48ac8617c9b8 100644
--- a/pkgs/servers/sql/mariadb/default.nix
+++ b/pkgs/servers/sql/mariadb/default.nix
@@ -49,7 +49,7 @@ let
++ lib.optionals stdenv.hostPlatform.isDarwin [ CoreServices cctools perl libedit ]
++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ jemalloc ]
++ (if (lib.versionOlder version "10.5") then [ pcre ] else [ pcre2 ])
- ++ (if (lib.versionOlder version "10.6")
+ ++ (if (lib.versionOlder version "10.5")
then [ openssl_1_1 (curl.override { openssl = openssl_1_1; }) ]
else [ openssl curl ]);
@@ -276,4 +276,11 @@ in
inherit (self.darwin) cctools;
inherit (self.darwin.apple_sdk.frameworks) CoreServices;
};
+ mariadb_1010 = self.callPackage generic {
+ # Supported until 2023-11
+ version = "10.10.2";
+ hash = "sha256-V8vQESsitZL2V81OuC4vNq2QE1Exe/jheElXjoA/PLI=";
+ inherit (self.darwin) cctools;
+ inherit (self.darwin.apple_sdk.frameworks) CoreServices;
+ };
}
diff --git a/pkgs/servers/web-apps/wallabag/default.nix b/pkgs/servers/web-apps/wallabag/default.nix
index 956f33ca7404..1e6763c39c3e 100644
--- a/pkgs/servers/web-apps/wallabag/default.nix
+++ b/pkgs/servers/web-apps/wallabag/default.nix
@@ -16,7 +16,7 @@
let
pname = "wallabag";
- version = "2.5.3";
+ version = "2.5.4";
in
stdenv.mkDerivation {
inherit pname version;
@@ -27,7 +27,7 @@ stdenv.mkDerivation {
"https://static.wallabag.org/releases/wallabag-release-${version}.tar.gz"
"https://github.com/wallabag/wallabag/releases/download/${version}/wallabag-${version}.tar.gz"
];
- hash = "sha256-3o5LFGPd4oFz3leKzCy7lIjQ3ELSLqZuIswptB7i24U=";
+ hash = "sha256-yVMQXjGB8Yv1klQaHEbDGMZmOtANRocFJnawKn10xhg=";
};
patches = [
diff --git a/pkgs/servers/x11/xorg/xwayland.nix b/pkgs/servers/x11/xorg/xwayland.nix
index ae3025461449..582ec11231cd 100644
--- a/pkgs/servers/x11/xorg/xwayland.nix
+++ b/pkgs/servers/x11/xorg/xwayland.nix
@@ -43,11 +43,11 @@
stdenv.mkDerivation rec {
pname = "xwayland";
- version = "22.1.7";
+ version = "22.1.8";
src = fetchurl {
url = "mirror://xorg/individual/xserver/${pname}-${version}.tar.xz";
- sha256 = "sha256-1Tr6xscZU/XPZtA9KJ2s2JYdpb0wnB3/El1ZVdnbX3Y=";
+ sha256 = "sha256-0R7u5zKQuI6o2kKn2TUN7fq6hWzkrkTljARa2eyqL3M=";
};
depsBuildBuild = [
diff --git a/pkgs/servers/zigbee2mqtt/default.nix b/pkgs/servers/zigbee2mqtt/default.nix
index b05b96378418..e24397773d51 100644
--- a/pkgs/servers/zigbee2mqtt/default.nix
+++ b/pkgs/servers/zigbee2mqtt/default.nix
@@ -8,16 +8,16 @@
buildNpmPackage rec {
pname = "zigbee2mqtt";
- version = "1.30.0";
+ version = "1.30.1";
src = fetchFromGitHub {
owner = "Koenkk";
repo = "zigbee2mqtt";
rev = version;
- hash = "sha256-BmkSpl+6aUTiueB9VILOcmJM+tCxK2NbqJvJYfoyvBo=";
+ hash = "sha256-e/pV2W9POUxKhuX5RT9INEqneC65V4dg66ywTR9YUyI=";
};
- npmDepsHash = "sha256-ZrUbn/6hbbBRng+TJG6cxBUJ4Td4/P6MoeKVkInPmb4=";
+ npmDepsHash = "sha256-sHXTwT5gXi5CkfMU/eZDMgsX2qymMhvUEtfUo6MV3hA=";
nativeBuildInputs = [
python3
diff --git a/pkgs/tools/backup/borgmatic/default.nix b/pkgs/tools/backup/borgmatic/default.nix
index dc77b5de403f..dcc4caaa6362 100644
--- a/pkgs/tools/backup/borgmatic/default.nix
+++ b/pkgs/tools/backup/borgmatic/default.nix
@@ -2,11 +2,11 @@
python3Packages.buildPythonApplication rec {
pname = "borgmatic";
- version = "1.7.2";
+ version = "1.7.6";
src = python3Packages.fetchPypi {
inherit pname version;
- sha256 = "sha256-0o2tKg7BfhkNt/k8XdZ1agaSJxKO5OxB5aaRgV9IPeU=";
+ sha256 = "sha256-TNh0laNAyHkIZLC51hzchSIDvsHst2aPxoRdI6Mdr84=";
};
nativeCheckInputs = with python3Packages; [ flexmock pytestCheckHook pytest-cov ];
diff --git a/pkgs/tools/compression/bzip2/default.nix b/pkgs/tools/compression/bzip2/default.nix
index 3b48195d11d6..be456cf59442 100644
--- a/pkgs/tools/compression/bzip2/default.nix
+++ b/pkgs/tools/compression/bzip2/default.nix
@@ -1,6 +1,7 @@
{ lib, stdenv, fetchurl
, linkStatic ? with stdenv.hostPlatform; isStatic || isCygwin
, autoreconfHook
+, testers
}:
# Note: this package is used for bootstrapping fetchurl, and thus
@@ -8,7 +9,9 @@
# cgit) that are needed here should be included directly in Nixpkgs as
# files.
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: let
+ inherit (finalAttrs) version;
+in {
pname = "bzip2";
version = "1.0.8";
@@ -53,12 +56,15 @@ stdenv.mkDerivation rec {
ln -s $out/lib/libbz2.so.1.0.* $out/lib/libbz2.so.1.0
'';
+ passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
+
meta = with lib; {
description = "High-quality data compression program";
homepage = "https://www.sourceware.org/bzip2";
changelog = "https://sourceware.org/git/?p=bzip2.git;a=blob;f=CHANGES;hb=HEAD";
license = licenses.bsdOriginal;
+ pkgConfigModules = [ "bzip2" ];
platforms = platforms.all;
maintainers = with maintainers; [ mic92 ];
};
-}
+})
diff --git a/pkgs/tools/filesystems/dduper/default.nix b/pkgs/tools/filesystems/dduper/default.nix
index e7eecbf766ee..9c38852e4e90 100644
--- a/pkgs/tools/filesystems/dduper/default.nix
+++ b/pkgs/tools/filesystems/dduper/default.nix
@@ -5,8 +5,8 @@ let
patches = [
(fetchpatch {
name = "0001-Print-csum-for-a-given-file-on-stdout.patch";
- url = "https://raw.githubusercontent.com/Lakshmipathi/dduper/f45d04854a40cb52ae0e6736916d5955cb68b8ee/patch/btrfs-progs-v5.12.1/0001-Print-csum-for-a-given-file-on-stdout.patch";
- sha256 = "0c7dd44q2ww6k9nk5dh6m0f0wbd8x84vb2m61fk6a44nsv2fwz1x";
+ url = "https://raw.githubusercontent.com/Lakshmipathi/dduper/ecc2664c380616ec75cfc1e600b5514cdff5c687/patch/btrfs-progs-v6.1/0001-Print-csum-for-a-given-file-on-stdout.patch";
+ sha256 = "sha256-M4LT7G6gwBfSXf6EL4pxNoQJMyUTOA+ojxEJqw2yss4=";
})
];
});
diff --git a/pkgs/tools/filesystems/kio-admin/default.nix b/pkgs/tools/filesystems/kio-admin/default.nix
new file mode 100644
index 000000000000..7e4a97fa255a
--- /dev/null
+++ b/pkgs/tools/filesystems/kio-admin/default.nix
@@ -0,0 +1,25 @@
+{ lib, stdenv, fetchFromGitLab, cmake, extra-cmake-modules, qtbase, wrapQtAppsHook, kio, ki18n, polkit-qt }:
+
+stdenv.mkDerivation rec {
+ pname = "kio-admin";
+ version = "1.0.0";
+
+ src = fetchFromGitLab {
+ domain = "invent.kde.org";
+ owner = "system";
+ repo = "kio-admin";
+ rev = "v${version}";
+ hash = "sha256-llnUsOttqFJVArJdZS9s6qHS9eGbdtdoaPMXKHtsUn4=";
+ };
+
+ nativeBuildInputs = [ cmake extra-cmake-modules wrapQtAppsHook ];
+ buildInputs = [ qtbase kio ki18n polkit-qt ];
+
+ meta = with lib; {
+ description = "Manage files as administrator using the admin:// KIO protocol.";
+ homepage = "https://invent.kde.org/system/kio-admin";
+ license = licenses.gpl2Plus;
+ platforms = platforms.linux;
+ maintainers = with maintainers; [ k900 ];
+ };
+}
diff --git a/pkgs/tools/filesystems/moosefs/default.nix b/pkgs/tools/filesystems/moosefs/default.nix
index 898ba9ed3c15..55b796ec3254 100644
--- a/pkgs/tools/filesystems/moosefs/default.nix
+++ b/pkgs/tools/filesystems/moosefs/default.nix
@@ -9,13 +9,13 @@
stdenv.mkDerivation rec {
pname = "moosefs";
- version = "3.0.116";
+ version = "3.0.117";
src = fetchFromGitHub {
owner = pname;
repo = pname;
rev = "v${version}";
- sha256 = "sha256-/+l4BURvL1R6te6tlXRJx7YBDyYuMrGnzzhMc9XeXKc=";
+ sha256 = "sha256-6zBMAi9ruPPlcnpdgqwl35QZ5u4MyFPUa70yvGTkHpo=";
};
nativeBuildInputs = [
diff --git a/pkgs/tools/misc/fend/default.nix b/pkgs/tools/misc/fend/default.nix
index 18ffdb71cde4..6d96c33e5eef 100644
--- a/pkgs/tools/misc/fend/default.nix
+++ b/pkgs/tools/misc/fend/default.nix
@@ -9,16 +9,16 @@
rustPlatform.buildRustPackage rec {
pname = "fend";
- version = "1.1.4";
+ version = "1.1.5";
src = fetchFromGitHub {
owner = "printfn";
repo = pname;
rev = "v${version}";
- sha256 = "sha256-jg2rMiFXtN3oLru1gTaTyIo5eBEI23paKJiDV6KZZE4=";
+ sha256 = "sha256-9qvIxKg/fj08wYY2fK5J1nWzojStUb9ArXwvA/cTOcQ=";
};
- cargoHash = "sha256-9Gri/EBaUiCpFBL0f132JDD4Zl5v40e8JmlRvm019S4=";
+ cargoHash = "sha256-kVnA8w2YVg6+h1V1O4cvciuB7GM4/LULFsGrzy8xUMQ=";
nativeBuildInputs = [ pandoc installShellFiles ];
buildInputs = lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.Security ];
diff --git a/pkgs/tools/misc/flexoptix-app/default.nix b/pkgs/tools/misc/flexoptix-app/default.nix
index 50f51cfd7119..4cd81c8c640f 100644
--- a/pkgs/tools/misc/flexoptix-app/default.nix
+++ b/pkgs/tools/misc/flexoptix-app/default.nix
@@ -1,11 +1,11 @@
{ lib, appimageTools, fetchurl, nodePackages }: let
pname = "flexoptix-app";
- version = "5.13.3";
+ version = "5.13.4";
src = fetchurl {
name = "${pname}-${version}.AppImage";
url = "https://flexbox.reconfigure.me/download/electron/linux/x64/FLEXOPTIX%20App.${version}.AppImage";
- hash = "sha256-kDw9+Llqvq4NgN89Cw/HwEqYlv42wLbho1eHjI6wVSQ=";
+ hash = "sha256-W+9KmKZ1bPfQfv1DXCJrIswriw4ivBVZPW81tfvRBc0=";
};
udevRules = fetchurl {
@@ -47,7 +47,7 @@ in appimageTools.wrapAppImage {
'';
meta = {
- description = "Configure FLEXOPTIX Universal Transcievers in seconds";
+ description = "Configure FLEXOPTIX Universal Transceivers in seconds";
homepage = "https://www.flexoptix.net";
changelog = "https://www.flexoptix.net/en/flexoptix-app/?os=linux#flexapp__modal__changelog";
license = lib.licenses.unfree;
diff --git a/pkgs/tools/misc/geekbench/default.nix b/pkgs/tools/misc/geekbench/default.nix
index ba9117a29722..77be76f2d2ed 100644
--- a/pkgs/tools/misc/geekbench/default.nix
+++ b/pkgs/tools/misc/geekbench/default.nix
@@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
pname = "geekbench";
- version = "5.4.5";
+ version = "5.4.6";
src = fetchurl {
url = "https://cdn.geekbench.com/Geekbench-${version}-Linux.tar.gz";
- sha256 = "sha256-JA9bvRb8u0qG6ZsQR9qJ3yaV9ni/MkdWo9xRtmPp92I=";
+ sha256 = "sha256-fCS6cSD3w2EbLL1yNfH+NKxswRUY4zyCR07gKGXW4Yc=";
};
dontConfigure = true;
diff --git a/pkgs/tools/misc/yubico-piv-tool/default.nix b/pkgs/tools/misc/yubico-piv-tool/default.nix
index 60fc7c2ac709..a8a7dfd3ee68 100644
--- a/pkgs/tools/misc/yubico-piv-tool/default.nix
+++ b/pkgs/tools/misc/yubico-piv-tool/default.nix
@@ -1,14 +1,26 @@
-{ lib, stdenv, fetchurl, pkg-config, openssl, check, pcsclite, PCSC, gengetopt, cmake
+{ lib
+, stdenv
+, fetchurl
+, pkg-config
+, openssl
+, check
+, pcsclite
+, PCSC
+, gengetopt
+, cmake
, withApplePCSC ? stdenv.isDarwin
+, gitUpdater
+, testers
+, yubico-piv-tool
}:
stdenv.mkDerivation rec {
pname = "yubico-piv-tool";
- version = "2.3.0";
+ version = "2.3.1";
src = fetchurl {
url = "https://developers.yubico.com/yubico-piv-tool/Releases/yubico-piv-tool-${version}.tar.gz";
- hash = "sha256-oCoS2VRdHvehuZhgbYm3tlWl9aFDdzbPUdsIP4dvVak=";
+ hash = "sha256-2ona/YthhapjU0Z1P53bKa8pvEq9kt2B832dZWC11k4=";
};
postPatch = ''
@@ -29,8 +41,21 @@ stdenv.mkDerivation rec {
configureFlags = [ "--with-backend=${if withApplePCSC then "macscard" else "pcsc"}" ];
+ passthru = {
+ updateScript = gitUpdater {
+ url = "https://github.com/Yubico/yubico-piv-tool.git";
+ rev-prefix = "yubico-piv-tool-";
+ };
+ tests.version = testers.testVersion {
+ inherit version;
+ package = yubico-piv-tool;
+ command = "yubico-piv-tool --version";
+ };
+ };
+
meta = with lib; {
homepage = "https://developers.yubico.com/yubico-piv-tool/";
+ changelog = "https://developers.yubico.com/yubico-piv-tool/Release_Notes.html";
description = ''
Used for interacting with the Privilege and Identification Card (PIV)
application on a YubiKey
diff --git a/pkgs/tools/misc/yubikey-manager/default.nix b/pkgs/tools/misc/yubikey-manager/default.nix
index 730dfabe00f2..5487d9835cd5 100644
--- a/pkgs/tools/misc/yubikey-manager/default.nix
+++ b/pkgs/tools/misc/yubikey-manager/default.nix
@@ -3,14 +3,14 @@
python3Packages.buildPythonPackage rec {
pname = "yubikey-manager";
- version = "5.0.0";
+ version = "5.0.1";
format = "pyproject";
src = fetchFromGitHub {
repo = "yubikey-manager";
rev = "refs/tags/${version}";
owner = "Yubico";
- sha256 = "sha256-ZQQhRiUsQwLaOY8NCzSc/PTmRewTL0ECBKj7Uj+6Gn8=";
+ sha256 = "sha256-Dj3ftyFeVgM0YMFI8cbiH5dmc8SKi2SBbScnc0+ad0M=";
};
postPatch = ''
@@ -23,7 +23,7 @@ python3Packages.buildPythonPackage rec {
nativeBuildInputs = with python3Packages; [ poetry-core ];
propagatedBuildInputs =
- with python3Packages; ([
+ with python3Packages; [
click
cryptography
pyscard
@@ -31,7 +31,7 @@ python3Packages.buildPythonPackage rec {
six
fido2
keyring
- ]) ++ [
+ ] ++ [
libu2f-host
libusb1
yubikey-personalization
diff --git a/pkgs/tools/networking/babeld/default.nix b/pkgs/tools/networking/babeld/default.nix
index 5714a75e50e5..6e8c7669f0dd 100644
--- a/pkgs/tools/networking/babeld/default.nix
+++ b/pkgs/tools/networking/babeld/default.nix
@@ -1,17 +1,27 @@
-{ lib, stdenv, fetchurl, nixosTests }:
+{ lib
+, stdenv
+, fetchurl
+, nixosTests
+}:
stdenv.mkDerivation rec {
pname = "babeld";
- version = "1.12.1";
+ version = "1.12.2";
src = fetchurl {
url = "https://www.irif.fr/~jch/software/files/${pname}-${version}.tar.gz";
- sha256 = "sha256-mrWdesdB82MN8j+cO2fGApTYs0q2IjmPm4l3OoeOyx4=";
+ hash = "sha256-HbIrYZMHDqJFChq1EZb9cvWKEyn3gMsDiOLksud2jLs=";
};
- preBuild = ''
- makeFlags="PREFIX=$out ETCDIR=$out/etc"
- '';
+ outputs = [
+ "out"
+ "man"
+ ];
+
+ makeFlags = [
+ "PREFIX=${placeholder "out"}"
+ "ETCDIR=${placeholder "out"}/etc"
+ ];
passthru.tests.babeld = nixosTests.babeld;
diff --git a/pkgs/tools/networking/haguichi/default.nix b/pkgs/tools/networking/haguichi/default.nix
index 34ba1da28e4a..deb51191306d 100644
--- a/pkgs/tools/networking/haguichi/default.nix
+++ b/pkgs/tools/networking/haguichi/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
owner = "ztefn";
repo = "haguichi";
rev = version;
- sha256 = "1kgjl9g9lyg00cfx4x28s4xyqsqk5057xv6k2cj6ckg9lkxaixvc";
+ hash = "sha256-bPeo+qTpTWYkE9PsfgooE2vsO9FIdNIdA+B5ml6i8s0=";
};
nativeBuildInputs = [
@@ -44,6 +44,8 @@ stdenv.mkDerivation rec {
patchShebangs meson_post_install.py
'';
+ passthru.updateScript = ./update.sh;
+
meta = with lib; {
description = "Graphical frontend for Hamachi on Linux";
homepage = "https://haguichi.net/";
diff --git a/pkgs/tools/networking/haguichi/update.sh b/pkgs/tools/networking/haguichi/update.sh
new file mode 100755
index 000000000000..49a76a79d7ae
--- /dev/null
+++ b/pkgs/tools/networking/haguichi/update.sh
@@ -0,0 +1,13 @@
+#!/usr/bin/env nix-shell
+#!nix-shell -i bash -p curl jq common-updater-scripts
+
+set -euo pipefail
+
+version="$(
+ curl -s https://api.github.com/repos/ztefn/haguichi/releases |
+ jq '.[] | select(.target_commitish!="elementary") | .tag_name' --raw-output |
+ sort --version-sort --reverse |
+ head -n1
+)"
+
+update-source-version haguichi "$version"
diff --git a/pkgs/tools/networking/hysteria/default.nix b/pkgs/tools/networking/hysteria/default.nix
index bd8e6e6d31c7..94365191cdc3 100644
--- a/pkgs/tools/networking/hysteria/default.nix
+++ b/pkgs/tools/networking/hysteria/default.nix
@@ -4,16 +4,16 @@
}:
buildGoModule rec {
pname = "hysteria";
- version = "1.3.2";
+ version = "1.3.3";
src = fetchFromGitHub {
owner = "HyNetwork";
repo = pname;
rev = "v${version}";
- sha256 = "sha256-9ib/29yCfI4oS2yZQUePzZ+5FVTevvJCPjpTXmKnKeA=";
+ sha256 = "sha256-CQgCFtvQDvhHTk10gpxfAvEJLz/i+CXXyzGrxi26hBk=";
};
- vendorSha256 = "sha256-sRPnPKVuvcUHEldKVpgmGFGpwOSK5qh4EfeUQMFdMw8=";
+ vendorSha256 = "sha256-sN+2XYoC+dDs6QKxwxuBCW4dOf4elSNKdOrbMxjOtSY=";
proxyVendor = true;
ldflags = [
diff --git a/pkgs/tools/networking/snabb/default.nix b/pkgs/tools/networking/snabb/default.nix
index f58fd9a998b1..2ac9931f2ca5 100644
--- a/pkgs/tools/networking/snabb/default.nix
+++ b/pkgs/tools/networking/snabb/default.nix
@@ -5,13 +5,13 @@
stdenv.mkDerivation rec {
pname = "snabb";
- version = "2022.10";
+ version = "2022.12";
src = fetchFromGitHub {
owner = "snabbco";
repo = "snabb";
rev = "v${version}";
- sha256 = "GIIW+2/1fuHTmYev/QvuO5Yb2ozbyw/45qQkym36US8=";
+ sha256 = "sha256-DPJ1GrqZQyiW2s5JBZszcB/Is0Is2f/O/6Riz/M3wAs=";
};
installPhase = ''
diff --git a/pkgs/tools/nix/nixos-render-docs/default.nix b/pkgs/tools/nix/nixos-render-docs/default.nix
index 55bbbd9ffa56..312bc8058245 100644
--- a/pkgs/tools/nix/nixos-render-docs/default.nix
+++ b/pkgs/tools/nix/nixos-render-docs/default.nix
@@ -2,6 +2,7 @@
, stdenv
, python3
, python3Minimal
+, runCommand
}:
let
@@ -21,9 +22,23 @@ let
markdown-it-py = markdown-it-py-no-tests;
disableTests = true;
};
+
+ makeDeps = pkgs: small:
+ [ pkgs.frozendict ]
+ ++ (
+ if small
+ then [
+ markdown-it-py-no-tests
+ mdit-py-plugins-no-tests
+ ]
+ else [
+ pkgs.markdown-it-py
+ pkgs.mdit-py-plugins
+ ]
+ );
in
-python.pkgs.buildPythonApplication {
+python.pkgs.buildPythonApplication rec {
pname = "nixos-render-docs";
version = "0.0";
format = "pyproject";
@@ -47,14 +62,21 @@ python.pkgs.buildPythonApplication {
python.pkgs.pytestCheckHook
];
- propagatedBuildInputs = [
- markdown-it-py-no-tests
- mdit-py-plugins-no-tests
- python.pkgs.frozendict
- ];
+ propagatedBuildInputs = makeDeps python.pkgs true;
pytestFlagsArray = [ "-vvrP" "tests/" ];
+ # NOTE this is a CI test rather than a build-time test because we want to keep the
+ # build closures small. mypy has an unreasonably large build closure for docs builds.
+ passthru.tests.typing = runCommand "${pname}-mypy" {
+ nativeBuildInputs = [
+ (python3.withPackages (p: [ p.mypy p.pytest ] ++ makeDeps p false))
+ ];
+ } ''
+ mypy --strict ${src}
+ touch $out
+ '';
+
meta = with lib; {
description = "Renderer for NixOS manual and option docs";
license = licenses.mit;
diff --git a/pkgs/tools/nix/nixos-render-docs/src/nixos_render_docs/docbook.py b/pkgs/tools/nix/nixos-render-docs/src/nixos_render_docs/docbook.py
index bad36e57a2f3..28c4425d8c08 100644
--- a/pkgs/tools/nix/nixos-render-docs/src/nixos_render_docs/docbook.py
+++ b/pkgs/tools/nix/nixos-render-docs/src/nixos_render_docs/docbook.py
@@ -103,7 +103,7 @@ class DocBookRenderer(Renderer):
# HACK open and close para for docbook change size. remove soon.
def bullet_list_open(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
env: MutableMapping[str, Any]) -> str:
- spacing = ' spacing="compact"' if token.attrs.get('compact', False) else ''
+ spacing = ' spacing="compact"' if token.meta.get('compact', False) else ''
return f"\n"
def bullet_list_close(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
env: MutableMapping[str, Any]) -> str:
@@ -218,7 +218,7 @@ class DocBookRenderer(Renderer):
def ordered_list_open(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
env: MutableMapping[str, Any]) -> str:
start = f' startingnumber="{token.attrs["start"]}"' if 'start' in token.attrs else ""
- spacing = ' spacing="compact"' if token.attrs.get('compact', False) else ''
+ spacing = ' spacing="compact"' if token.meta.get('compact', False) else ''
return f""
def ordered_list_close(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
env: MutableMapping[str, Any]) -> str:
diff --git a/pkgs/tools/nix/nixos-render-docs/src/nixos_render_docs/manpage.py b/pkgs/tools/nix/nixos-render-docs/src/nixos_render_docs/manpage.py
new file mode 100644
index 000000000000..24d0e8f3d699
--- /dev/null
+++ b/pkgs/tools/nix/nixos-render-docs/src/nixos_render_docs/manpage.py
@@ -0,0 +1,330 @@
+from collections.abc import Mapping, MutableMapping, Sequence
+from dataclasses import dataclass
+from typing import Any, cast, Iterable, Optional
+
+import re
+
+import markdown_it
+from markdown_it.token import Token
+from markdown_it.utils import OptionsDict
+
+from .md import Renderer
+
+# roff(7) says:
+#
+# > roff documents may contain only graphable 7-bit ASCII characters, the space character,
+# > and, in certain circumstances, the tab character. The backslash character ‘\’ indicates
+# > the start of an escape sequence […]
+#
+# mandoc_char(7) says about the `'~^ characters:
+#
+# > In prose, this automatic substitution is often desirable; but when these characters have
+# > to be displayed as plain ASCII characters, for example in source code samples, they require
+# > escaping to render as follows:
+#
+# since we don't want these to be touched anywhere (because markdown will do all substituations
+# we want to have) we'll escape those as well. we also escape " (macro metacharacter), - (might
+# turn into a typographic hyphen), and . (roff request marker at SOL, changes spacing semantics
+# at EOL). groff additionally does not allow unicode escapes for codepoints below U+0080, so
+# those need "proper" roff escapes/replacements instead.
+_roff_unicode = re.compile(r'''[^\n !#$%&()*+,\-./0-9:;<=>?@A-Z[\\\]_a-z{|}]''', re.ASCII)
+_roff_escapes = {
+ ord('"'): "\\(dq",
+ ord("'"): "\\(aq",
+ ord('-'): "\\-",
+ ord('.'): "\\&.",
+ ord('\\'): "\\e",
+ ord('^'): "\\(ha",
+ ord('`'): "\\(ga",
+ ord('~'): "\\(ti",
+}
+def man_escape(s: str) -> str:
+ s = s.translate(_roff_escapes)
+ return _roff_unicode.sub(lambda m: f"\\[u{ord(m[0]):04X}]", s)
+
+# remove leading and trailing spaces from links and condense multiple consecutive spaces
+# into a single space for presentation parity with html. this is currently easiest with
+# regex postprocessing and some marker characters. since we don't want to drop spaces
+# from code blocks we will have to specially protect *inline* code (luckily not block code)
+# so normalization can turn the spaces inside it into regular spaces again.
+_normalize_space_re = re.compile(r'''\u0000 < *| *>\u0000 |(?<= ) +''')
+def _normalize_space(s: str) -> str:
+ return _normalize_space_re.sub("", s).replace("\0p", " ")
+
+def _protect_spaces(s: str) -> str:
+ return s.replace(" ", "\0p")
+
+@dataclass(kw_only=True)
+class List:
+ width: int
+ next_idx: Optional[int] = None
+ compact: bool
+ first_item_seen: bool = False
+
+# this renderer assumed that it produces a set of lines as output, and that those lines will
+# be pasted as-is into a larger output. no prefixing or suffixing is allowed for correctness.
+#
+# NOTE that we output exclusively physical markup. this is because we have to use the older
+# mandoc(7) format instead of the newer mdoc(7) format due to limitations in groff: while
+# using mdoc in groff works fine it is not a native format and thus very slow to render on
+# manpages as large as configuration.nix.5. mandoc(1) renders both really quickly, but with
+# groff being our predominant manpage viewer we have to optimize for groff instead.
+#
+# while we do use only physical markup (adjusting indentation with .RS and .RE, adding
+# vertical spacing with .sp, \f[BIRP] escapes for bold/italic/roman/$previous font, \h for
+# horizontal motion in a line) we do attempt to copy the style of mdoc(7) semantic requests
+# as appropriate for each markup element.
+class ManpageRenderer(Renderer):
+ __output__ = "man"
+
+ # whether to emit mdoc .Ql equivalents for inline code or just the contents. this is
+ # mainly used by the options manpage converter to not emit extra quotes in defaults
+ # and examples where it's already clear from context that the following text is code.
+ inline_code_is_quoted: bool = True
+ link_footnotes: Optional[list[str]] = None
+
+ _href_targets: dict[str, str]
+
+ _link_stack: list[str]
+ _do_parbreak_stack: list[bool]
+ _list_stack: list[List]
+ _font_stack: list[str]
+
+ def __init__(self, manpage_urls: Mapping[str, str], href_targets: dict[str, str],
+ parser: Optional[markdown_it.MarkdownIt] = None):
+ super().__init__(manpage_urls, parser)
+ self._href_targets = href_targets
+ self._link_stack = []
+ self._do_parbreak_stack = []
+ self._list_stack = []
+ self._font_stack = []
+
+ def _join_block(self, ls: Iterable[str]) -> str:
+ return "\n".join([ l for l in ls if len(l) ])
+ def _join_inline(self, ls: Iterable[str]) -> str:
+ return _normalize_space(super()._join_inline(ls))
+
+ def _enter_block(self) -> None:
+ self._do_parbreak_stack.append(False)
+ def _leave_block(self) -> None:
+ self._do_parbreak_stack.pop()
+ self._do_parbreak_stack[-1] = True
+ def _maybe_parbreak(self, suffix: str = "") -> str:
+ result = f".sp{suffix}" if self._do_parbreak_stack[-1] else ""
+ self._do_parbreak_stack[-1] = True
+ return result
+
+ def _admonition_open(self, kind: str) -> str:
+ self._enter_block()
+ return (
+ '.sp\n'
+ '.RS 4\n'
+ f'\\fB{kind}\\fP\n'
+ '.br'
+ )
+ def _admonition_close(self) -> str:
+ self._leave_block()
+ return ".RE"
+
+ def render(self, tokens: Sequence[Token], options: OptionsDict,
+ env: MutableMapping[str, Any]) -> str:
+ self._do_parbreak_stack = [ False ]
+ self._font_stack = [ "\\fR" ]
+ return super().render(tokens, options, env)
+
+ def text(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+ env: MutableMapping[str, Any]) -> str:
+ return man_escape(token.content)
+ def paragraph_open(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+ env: MutableMapping[str, Any]) -> str:
+ return self._maybe_parbreak()
+ def paragraph_close(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+ env: MutableMapping[str, Any]) -> str:
+ return ""
+ def hardbreak(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+ env: MutableMapping[str, Any]) -> str:
+ return ".br"
+ def softbreak(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+ env: MutableMapping[str, Any]) -> str:
+ return " "
+ def code_inline(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+ env: MutableMapping[str, Any]) -> str:
+ s = _protect_spaces(man_escape(token.content))
+ return f"\\fR\\(oq{s}\\(cq\\fP" if self.inline_code_is_quoted else s
+ def code_block(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+ env: MutableMapping[str, Any]) -> str:
+ return self.fence(token, tokens, i, options, env)
+ def link_open(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+ env: MutableMapping[str, Any]) -> str:
+ href = cast(str, token.attrs['href'])
+ self._link_stack.append(href)
+ text = ""
+ if tokens[i + 1].type == 'link_close' and href in self._href_targets:
+ # TODO error or warning if the target can't be resolved
+ text = self._href_targets[href]
+ self._font_stack.append("\\fB")
+ return f"\\fB{text}\0 <"
+ def link_close(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+ env: MutableMapping[str, Any]) -> str:
+ href = self._link_stack.pop()
+ text = ""
+ if self.link_footnotes is not None:
+ try:
+ idx = self.link_footnotes.index(href) + 1
+ except ValueError:
+ self.link_footnotes.append(href)
+ idx = len(self.link_footnotes)
+ text = "\\fR" + man_escape(f"[{idx}]")
+ self._font_stack.pop()
+ return f">\0 {text}{self._font_stack[-1]}"
+ def list_item_open(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+ env: MutableMapping[str, Any]) -> str:
+ self._enter_block()
+ lst = self._list_stack[-1]
+ maybe_space = '' if lst.compact or not lst.first_item_seen else '.sp\n'
+ lst.first_item_seen = True
+ head = "•"
+ if lst.next_idx is not None:
+ head = f"{lst.next_idx}."
+ lst.next_idx += 1
+ return (
+ f'{maybe_space}'
+ f'.RS {lst.width}\n'
+ f"\\h'-{len(head) + 1}'\\fB{man_escape(head)}\\fP\\h'1'\\c"
+ )
+ def list_item_close(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+ env: MutableMapping[str, Any]) -> str:
+ self._leave_block()
+ return ".RE"
+ def bullet_list_open(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+ env: MutableMapping[str, Any]) -> str:
+ self._list_stack.append(List(width=4, compact=bool(token.meta['compact'])))
+ return self._maybe_parbreak()
+ def bullet_list_close(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+ env: MutableMapping[str, Any]) -> str:
+ self._list_stack.pop()
+ return ""
+ def em_open(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+ env: MutableMapping[str, Any]) -> str:
+ self._font_stack.append("\\fI")
+ return "\\fI"
+ def em_close(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+ env: MutableMapping[str, Any]) -> str:
+ self._font_stack.pop()
+ return self._font_stack[-1]
+ def strong_open(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+ env: MutableMapping[str, Any]) -> str:
+ self._font_stack.append("\\fB")
+ return "\\fB"
+ def strong_close(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+ env: MutableMapping[str, Any]) -> str:
+ self._font_stack.pop()
+ return self._font_stack[-1]
+ def fence(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+ env: MutableMapping[str, Any]) -> str:
+ s = man_escape(token.content).rstrip('\n')
+ return (
+ '.sp\n'
+ '.RS 4\n'
+ '.nf\n'
+ f'{s}\n'
+ '.fi\n'
+ '.RE'
+ )
+ def blockquote_open(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+ env: MutableMapping[str, Any]) -> str:
+ maybe_par = self._maybe_parbreak("\n")
+ self._enter_block()
+ return (
+ f"{maybe_par}"
+ ".RS 4\n"
+ f"\\h'-3'\\fI\\(lq\\(rq\\fP\\h'1'\\c"
+ )
+ def blockquote_close(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+ env: MutableMapping[str, Any]) -> str:
+ self._leave_block()
+ return ".RE"
+ def note_open(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+ env: MutableMapping[str, Any]) -> str:
+ return self._admonition_open("Note")
+ def note_close(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+ env: MutableMapping[str, Any]) -> str:
+ return self._admonition_close()
+ def caution_open(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+ env: MutableMapping[str, Any]) -> str:
+ return self._admonition_open( "Caution")
+ def caution_close(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+ env: MutableMapping[str, Any]) -> str:
+ return self._admonition_close()
+ def important_open(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+ env: MutableMapping[str, Any]) -> str:
+ return self._admonition_open( "Important")
+ def important_close(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+ env: MutableMapping[str, Any]) -> str:
+ return self._admonition_close()
+ def tip_open(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+ env: MutableMapping[str, Any]) -> str:
+ return self._admonition_open( "Tip")
+ def tip_close(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+ env: MutableMapping[str, Any]) -> str:
+ return self._admonition_close()
+ def warning_open(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+ env: MutableMapping[str, Any]) -> str:
+ return self._admonition_open( "Warning")
+ def warning_close(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+ env: MutableMapping[str, Any]) -> str:
+ return self._admonition_close()
+ def dl_open(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+ env: MutableMapping[str, Any]) -> str:
+ return ".RS 4"
+ def dl_close(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+ env: MutableMapping[str, Any]) -> str:
+ return ".RE"
+ def dt_open(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+ env: MutableMapping[str, Any]) -> str:
+ return ".PP"
+ def dt_close(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+ env: MutableMapping[str, Any]) -> str:
+ return ""
+ def dd_open(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+ env: MutableMapping[str, Any]) -> str:
+ self._enter_block()
+ return ".RS 4"
+ def dd_close(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+ env: MutableMapping[str, Any]) -> str:
+ self._leave_block()
+ return ".RE"
+ def myst_role(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+ env: MutableMapping[str, Any]) -> str:
+ if token.meta['name'] in [ 'command', 'env', 'option' ]:
+ return f'\\fB{man_escape(token.content)}\\fP'
+ elif token.meta['name'] in [ 'file', 'var' ]:
+ return f'\\fI{man_escape(token.content)}\\fP'
+ elif token.meta['name'] == 'manpage':
+ [page, section] = [ s.strip() for s in token.content.rsplit('(', 1) ]
+ section = section[:-1]
+ return f'\\fB{man_escape(page)}\\fP\\fR({man_escape(section)})\\fP'
+ else:
+ raise NotImplementedError("md node not supported yet", token)
+ def inline_anchor(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+ env: MutableMapping[str, Any]) -> str:
+ return "" # mdoc knows no anchors
+ def heading_open(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+ env: MutableMapping[str, Any]) -> str:
+ raise RuntimeError("md token not supported in manpages", token)
+ def heading_close(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+ env: MutableMapping[str, Any]) -> str:
+ raise RuntimeError("md token not supported in manpages", token)
+ def ordered_list_open(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+ env: MutableMapping[str, Any]) -> str:
+ # max item head width for a number, a dot, and one leading space and one trailing space
+ width = 3 + len(str(cast(int, token.meta['end'])))
+ self._list_stack.append(
+ List(width = width,
+ next_idx = cast(int, token.attrs.get('start', 1)),
+ compact = bool(token.meta['compact'])))
+ return self._maybe_parbreak()
+ def ordered_list_close(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+ env: MutableMapping[str, Any]) -> str:
+ self._list_stack.pop()
+ return ""
diff --git a/pkgs/tools/nix/nixos-render-docs/src/nixos_render_docs/md.py b/pkgs/tools/nix/nixos-render-docs/src/nixos_render_docs/md.py
index c08675870f6a..5bc16e65933c 100644
--- a/pkgs/tools/nix/nixos-render-docs/src/nixos_render_docs/md.py
+++ b/pkgs/tools/nix/nixos-render-docs/src/nixos_render_docs/md.py
@@ -1,7 +1,7 @@
from abc import ABC
from collections.abc import Mapping, MutableMapping, Sequence
from frozendict import frozendict # type: ignore[attr-defined]
-from typing import Any, Callable, Optional
+from typing import Any, Callable, cast, Iterable, Optional
import re
@@ -79,6 +79,11 @@ class Renderer(markdown_it.renderer.RendererProtocol):
}
self._admonition_stack = []
+ def _join_block(self, ls: Iterable[str]) -> str:
+ return "".join(ls)
+ def _join_inline(self, ls: Iterable[str]) -> str:
+ return "".join(ls)
+
def admonition_open(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
env: MutableMapping[str, Any]) -> str:
tag = token.info.strip()
@@ -98,7 +103,7 @@ class Renderer(markdown_it.renderer.RendererProtocol):
return self.rules[token.type](tokens[i], tokens, i, options, env)
else:
raise NotImplementedError("md token not supported yet", token)
- return "".join(map(lambda arg: do_one(*arg), enumerate(tokens)))
+ return self._join_block(map(lambda arg: do_one(*arg), enumerate(tokens)))
def renderInline(self, tokens: Sequence[Token], options: OptionsDict,
env: MutableMapping[str, Any]) -> str:
def do_one(i: int, token: Token) -> str:
@@ -106,7 +111,7 @@ class Renderer(markdown_it.renderer.RendererProtocol):
return self.rules[token.type](tokens[i], tokens, i, options, env)
else:
raise NotImplementedError("md token not supported yet", token)
- return "".join(map(lambda arg: do_one(*arg), enumerate(tokens)))
+ return self._join_inline(map(lambda arg: do_one(*arg), enumerate(tokens)))
def text(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
env: MutableMapping[str, Any]) -> str:
@@ -364,14 +369,21 @@ class Converter(ABC):
# of each item to hidden. this is not useful for our stylesheets, which
# signify this with a special css class on list elements instead.
wide_stack = []
+ end_stack = []
for i in range(0, len(tokens)):
if tokens[i].type in [ 'bullet_list_open', 'ordered_list_open' ]:
wide_stack.append([i, True])
+ end_stack.append([i, cast(int, tokens[i].attrs.get('start', 1))])
elif tokens[i].type in [ 'bullet_list_close', 'ordered_list_close' ]:
(idx, compact) = wide_stack.pop()
- tokens[idx].attrs['compact'] = compact
+ tokens[idx].meta['compact'] = compact
+ (idx, end) = end_stack.pop()
+ if tokens[i].type == 'ordered_list_close':
+ tokens[idx].meta['end'] = end - 1
elif len(wide_stack) > 0 and tokens[i].type == 'paragraph_open' and not tokens[i].hidden:
wide_stack[-1][1] = False
+ elif tokens[i].type == 'list_item_open':
+ end_stack[-1][1] += 1
return tokens
@@ -379,7 +391,7 @@ class Converter(ABC):
tokens = self._md.parse(src, env if env is not None else {})
return self._post_parse(tokens)
- def _render(self, src: str) -> str:
- env: dict[str, Any] = {}
+ def _render(self, src: str, env: Optional[MutableMapping[str, Any]] = None) -> str:
+ env = {} if env is None else env
tokens = self._parse(src, env)
return self._md.renderer.render(tokens, self._md.options, env) # type: ignore[no-any-return]
diff --git a/pkgs/tools/nix/nixos-render-docs/src/nixos_render_docs/options.py b/pkgs/tools/nix/nixos-render-docs/src/nixos_render_docs/options.py
index 3667c7bbcdeb..95091d3cdd28 100644
--- a/pkgs/tools/nix/nixos-render-docs/src/nixos_render_docs/options.py
+++ b/pkgs/tools/nix/nixos-render-docs/src/nixos_render_docs/options.py
@@ -2,13 +2,16 @@ import argparse
import json
from abc import abstractmethod
-from collections.abc import MutableMapping, Sequence
+from collections.abc import Mapping, MutableMapping, Sequence
from markdown_it.utils import OptionsDict
from markdown_it.token import Token
from typing import Any, Optional
from xml.sax.saxutils import escape, quoteattr
+import markdown_it
+
from .docbook import DocBookRenderer, make_xml_id
+from .manpage import ManpageRenderer, man_escape
from .md import Converter, md_escape
from .types import OptionLoc, Option, RenderedOption
@@ -22,22 +25,24 @@ def option_is(option: Option, key: str, typ: str) -> Optional[dict[str, str]]:
return option[key] # type: ignore[return-value]
class BaseConverter(Converter):
+ __option_block_separator__: str
+
_options: dict[str, RenderedOption]
def __init__(self, manpage_urls: dict[str, str],
revision: str,
- document_type: str,
- varlist_id: str,
- id_prefix: str,
markdown_by_default: bool):
super().__init__(manpage_urls)
self._options = {}
self._revision = revision
- self._document_type = document_type
- self._varlist_id = varlist_id
- self._id_prefix = id_prefix
self._markdown_by_default = markdown_by_default
+ def _sorted_options(self) -> list[tuple[str, RenderedOption]]:
+ keys = list(self._options.keys())
+ keys.sort(key=lambda opt: [ (0 if p.startswith("enable") else 1 if p.startswith("package") else 2, p)
+ for p in self._options[opt].loc ])
+ return [ (k, self._options[k]) for k in keys ]
+
def _format_decl_def_loc(self, loc: OptionLoc) -> tuple[Optional[str], str]:
# locations can be either plain strings (specific to nixpkgs), or attrsets
# { name = "foo/bar.nix"; url = "https://github.com/....."; }
@@ -107,9 +112,9 @@ class BaseConverter(Converter):
def _render_description(self, desc: str | dict[str, str]) -> list[str]:
if isinstance(desc, str) and self._markdown_by_default:
- return [ self._render(desc) ]
+ return [ self._render(desc) ] if desc else []
elif isinstance(desc, dict) and desc.get('_type') == 'mdDoc':
- return [ self._render(desc['text']) ]
+ return [ self._render(desc['text']) ] if desc['text'] else []
else:
raise Exception("description has unrecognized type", desc)
@@ -117,33 +122,41 @@ class BaseConverter(Converter):
def _related_packages_header(self) -> list[str]: raise NotImplementedError()
def _convert_one(self, option: dict[str, Any]) -> list[str]:
- result = []
+ blocks: list[list[str]] = []
if desc := option.get('description'):
- result += self._render_description(desc)
+ blocks.append(self._render_description(desc))
if typ := option.get('type'):
ro = " *(read only)*" if option.get('readOnly', False) else ""
- result.append(self._render(f"*Type:* {md_escape(typ)}{ro}"))
+ blocks.append([ self._render(f"*Type:*\n{md_escape(typ)}{ro}") ])
- result += self._render_code(option, 'default')
- result += self._render_code(option, 'example')
+ if option.get('default'):
+ blocks.append(self._render_code(option, 'default'))
+ if option.get('example'):
+ blocks.append(self._render_code(option, 'example'))
if related := option.get('relatedPackages'):
- result += self._related_packages_header()
- result.append(self._render(related))
+ blocks.append(self._related_packages_header())
+ blocks[-1].append(self._render(related))
if decl := option.get('declarations'):
- result += self._render_decl_def("Declared by", decl)
+ blocks.append(self._render_decl_def("Declared by", decl))
if defs := option.get('definitions'):
- result += self._render_decl_def("Defined by", defs)
+ blocks.append(self._render_decl_def("Defined by", defs))
- return result
+ for part in [ p for p in blocks[0:-1] if p ]:
+ part.append(self.__option_block_separator__)
+
+ return [ l for part in blocks for l in part ]
+
+ def _render_option(self, name: str, option: dict[str, Any]) -> RenderedOption:
+ try:
+ return RenderedOption(option['loc'], self._convert_one(option))
+ except Exception as e:
+ raise Exception(f"Failed to render option {name}") from e
def add_options(self, options: dict[str, Any]) -> None:
for (name, option) in options.items():
- try:
- self._options[name] = RenderedOption(option['loc'], self._convert_one(option))
- except Exception as e:
- raise Exception(f"Failed to render option {name}") from e
+ self._options[name] = self._render_option(name, option)
@abstractmethod
def finalize(self) -> str: raise NotImplementedError()
@@ -159,15 +172,27 @@ class OptionsDocBookRenderer(DocBookRenderer):
# TODO keep optionsDocBook diff small. remove soon if rendering is still good.
def ordered_list_open(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
env: MutableMapping[str, Any]) -> str:
- token.attrs['compact'] = False
+ token.meta['compact'] = False
return super().ordered_list_open(token, tokens, i, options, env)
def bullet_list_open(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
env: MutableMapping[str, Any]) -> str:
- token.attrs['compact'] = False
+ token.meta['compact'] = False
return super().bullet_list_open(token, tokens, i, options, env)
class DocBookConverter(BaseConverter):
__renderer__ = OptionsDocBookRenderer
+ __option_block_separator__ = ""
+
+ def __init__(self, manpage_urls: dict[str, str],
+ revision: str,
+ markdown_by_default: bool,
+ document_type: str,
+ varlist_id: str,
+ id_prefix: str):
+ super().__init__(manpage_urls, revision, markdown_by_default)
+ self._document_type = document_type
+ self._varlist_id = varlist_id
+ self._id_prefix = id_prefix
def _render_code(self, option: dict[str, Any], key: str) -> list[str]:
if lit := option_is(option, key, 'literalDocBook'):
@@ -207,10 +232,6 @@ class DocBookConverter(BaseConverter):
return [ "" ]
def finalize(self) -> str:
- keys = list(self._options.keys())
- keys.sort(key=lambda opt: [ (0 if p.startswith("enable") else 1 if p.startswith("package") else 2, p)
- for p in self._options[opt].loc ])
-
result = []
result.append('')
@@ -227,7 +248,7 @@ class DocBookConverter(BaseConverter):
f' xml:id="{self._varlist_id}">',
]
- for name in keys:
+ for (name, opt) in self._sorted_options():
id = make_xml_id(self._id_prefix + name)
result += [
"",
@@ -236,7 +257,7 @@ class DocBookConverter(BaseConverter):
f""),
""
]
- result += self._options[name].lines
+ result += opt.lines
result += [
"",
""
@@ -248,6 +269,125 @@ class DocBookConverter(BaseConverter):
return "\n".join(result)
+class OptionsManpageRenderer(ManpageRenderer):
+ pass
+
+class ManpageConverter(BaseConverter):
+ def __renderer__(self, manpage_urls: Mapping[str, str],
+ parser: Optional[markdown_it.MarkdownIt] = None) -> OptionsManpageRenderer:
+ return OptionsManpageRenderer(manpage_urls, self._options_by_id, parser)
+
+ __option_block_separator__ = ".sp"
+
+ _options_by_id: dict[str, str]
+ _links_in_last_description: Optional[list[str]] = None
+
+ def __init__(self, revision: str, markdown_by_default: bool):
+ self._options_by_id = {}
+ super().__init__({}, revision, markdown_by_default)
+
+ def _render_option(self, name: str, option: dict[str, Any]) -> RenderedOption:
+ assert isinstance(self._md.renderer, OptionsManpageRenderer)
+ links = self._md.renderer.link_footnotes = []
+ result = super()._render_option(name, option)
+ self._md.renderer.link_footnotes = None
+ return result._replace(links=links)
+
+ def add_options(self, options: dict[str, Any]) -> None:
+ for (k, v) in options.items():
+ self._options_by_id[f'#{make_xml_id(f"opt-{k}")}'] = k
+ return super().add_options(options)
+
+ def _render_code(self, option: dict[str, Any], key: str) -> list[str]:
+ if lit := option_is(option, key, 'literalDocBook'):
+ raise RuntimeError("can't render manpages in the presence of docbook")
+ else:
+ assert isinstance(self._md.renderer, OptionsManpageRenderer)
+ try:
+ self._md.renderer.inline_code_is_quoted = False
+ return super()._render_code(option, key)
+ finally:
+ self._md.renderer.inline_code_is_quoted = True
+
+ def _render_description(self, desc: str | dict[str, Any]) -> list[str]:
+ if isinstance(desc, str) and not self._markdown_by_default:
+ raise RuntimeError("can't render manpages in the presence of docbook")
+ else:
+ return super()._render_description(desc)
+
+ def _related_packages_header(self) -> list[str]:
+ return [
+ '\\fIRelated packages:\\fP',
+ '.sp',
+ ]
+
+ def _decl_def_header(self, header: str) -> list[str]:
+ return [
+ f'\\fI{man_escape(header)}:\\fP',
+ ]
+
+ def _decl_def_entry(self, href: Optional[str], name: str) -> list[str]:
+ return [
+ '.RS 4',
+ f'\\fB{man_escape(name)}\\fP',
+ '.RE'
+ ]
+
+ def _decl_def_footer(self) -> list[str]:
+ return []
+
+ def finalize(self) -> str:
+ result = []
+
+ result += [
+ r'''.TH "CONFIGURATION\&.NIX" "5" "01/01/1980" "NixOS" "NixOS Reference Pages"''',
+ r'''.\" disable hyphenation''',
+ r'''.nh''',
+ r'''.\" disable justification (adjust text to left margin only)''',
+ r'''.ad l''',
+ r'''.\" enable line breaks after slashes''',
+ r'''.cflags 4 /''',
+ r'''.SH "NAME"''',
+ self._render('{file}`configuration.nix` - NixOS system configuration specification'),
+ r'''.SH "DESCRIPTION"''',
+ r'''.PP''',
+ self._render('The file {file}`/etc/nixos/configuration.nix` contains the '
+ 'declarative specification of your NixOS system configuration. '
+ 'The command {command}`nixos-rebuild` takes this file and '
+ 'realises the system configuration specified therein.'),
+ r'''.SH "OPTIONS"''',
+ r'''.PP''',
+ self._render('You can use the following options in {file}`configuration.nix`.'),
+ ]
+
+ for (name, opt) in self._sorted_options():
+ result += [
+ ".PP",
+ f"\\fB{man_escape(name)}\\fR",
+ ".RS 4",
+ ]
+ result += opt.lines
+ if links := opt.links:
+ result.append(self.__option_block_separator__)
+ md_links = ""
+ for i in range(0, len(links)):
+ md_links += "\n" if i > 0 else ""
+ if links[i].startswith('#opt-'):
+ md_links += f"{i+1}. see the {{option}}`{self._options_by_id[links[i]]}` option"
+ else:
+ md_links += f"{i+1}. " + md_escape(links[i])
+ result.append(self._render(md_links))
+
+ result.append(".RE")
+
+ result += [
+ r'''.SH "AUTHORS"''',
+ r'''.PP''',
+ r'''Eelco Dolstra and the Nixpkgs/NixOS contributors''',
+ ]
+
+ return "\n".join(result)
+
def _build_cli_db(p: argparse.ArgumentParser) -> None:
p.add_argument('--manpage-urls', required=True)
p.add_argument('--revision', required=True)
@@ -258,27 +398,47 @@ def _build_cli_db(p: argparse.ArgumentParser) -> None:
p.add_argument("infile")
p.add_argument("outfile")
+def _build_cli_manpage(p: argparse.ArgumentParser) -> None:
+ p.add_argument('--revision', required=True)
+ p.add_argument("infile")
+ p.add_argument("outfile")
+
def _run_cli_db(args: argparse.Namespace) -> None:
with open(args.manpage_urls, 'r') as manpage_urls:
md = DocBookConverter(
json.load(manpage_urls),
revision = args.revision,
+ markdown_by_default = args.markdown_by_default,
document_type = args.document_type,
varlist_id = args.varlist_id,
- id_prefix = args.id_prefix,
- markdown_by_default = args.markdown_by_default)
+ id_prefix = args.id_prefix)
with open(args.infile, 'r') as f:
md.add_options(json.load(f))
with open(args.outfile, 'w') as f:
f.write(md.finalize())
+def _run_cli_manpage(args: argparse.Namespace) -> None:
+ md = ManpageConverter(
+ revision = args.revision,
+ # manpage rendering only works if there's no docbook, so we can
+ # also set markdown_by_default with no ill effects.
+ markdown_by_default = True)
+
+ with open(args.infile, 'r') as f:
+ md.add_options(json.load(f))
+ with open(args.outfile, 'w') as f:
+ f.write(md.finalize())
+
def build_cli(p: argparse.ArgumentParser) -> None:
formats = p.add_subparsers(dest='format', required=True)
_build_cli_db(formats.add_parser('docbook'))
+ _build_cli_manpage(formats.add_parser('manpage'))
def run_cli(args: argparse.Namespace) -> None:
if args.format == 'docbook':
_run_cli_db(args)
+ elif args.format == 'manpage':
+ _run_cli_manpage(args)
else:
raise RuntimeError('format not hooked up', args)
diff --git a/pkgs/tools/nix/nixos-render-docs/src/nixos_render_docs/types.py b/pkgs/tools/nix/nixos-render-docs/src/nixos_render_docs/types.py
index 7814b3a4854b..d20e056aacdc 100644
--- a/pkgs/tools/nix/nixos-render-docs/src/nixos_render_docs/types.py
+++ b/pkgs/tools/nix/nixos-render-docs/src/nixos_render_docs/types.py
@@ -7,7 +7,9 @@ from markdown_it.utils import OptionsDict
OptionLoc = str | dict[str, str]
Option = dict[str, str | dict[str, str] | list[OptionLoc]]
-RenderedOption = NamedTuple('RenderedOption', [('loc', list[str]),
- ('lines', list[str])])
+class RenderedOption(NamedTuple):
+ loc: list[str]
+ lines: list[str]
+ links: Optional[list[str]] = None
RenderFn = Callable[[Token, Sequence[Token], int, OptionsDict, MutableMapping[str, Any]], str]
diff --git a/pkgs/tools/nix/nixos-render-docs/src/tests/sample_md.py b/pkgs/tools/nix/nixos-render-docs/src/tests/sample_md.py
new file mode 100644
index 000000000000..73a64fde8364
--- /dev/null
+++ b/pkgs/tools/nix/nixos-render-docs/src/tests/sample_md.py
@@ -0,0 +1,62 @@
+sample1 = """\
+:::: {.warning}
+foo
+::: {.note}
+nested
+:::
+::::
+
+[
+ multiline
+](link)
+
+{manpage}`man(1)` reference
+
+[some [nested]{#a} anchors]{#b}
+
+*emph* **strong** *nesting emph **and strong** and `code`*
+
+- wide bullet
+
+- list
+
+1. wide ordered
+
+2. list
+
+- narrow bullet
+- list
+
+1. narrow ordered
+2. list
+
+> quotes
+>> with *nesting*
+>>
+>> nested code block
+>
+> - and lists
+> - ```
+> containing code
+> ```
+>
+> and more quote
+
+100. list starting at 100
+1. goes on
+
+deflist
+: > with a quote
+ > and stuff
+
+ code block
+
+ ```
+ fenced block
+ ```
+
+ text
+
+more stuff in same deflist
+: foo
+"""
diff --git a/pkgs/tools/nix/nixos-render-docs/src/tests/test_lists.py b/pkgs/tools/nix/nixos-render-docs/src/tests/test_lists.py
index 0f5d28407367..660c410a85cc 100644
--- a/pkgs/tools/nix/nixos-render-docs/src/tests/test_lists.py
+++ b/pkgs/tools/nix/nixos-render-docs/src/tests/test_lists.py
@@ -13,9 +13,11 @@ def test_list_wide(ordered: bool) -> None:
("ordered", "ol", ".", "1.", "2.", "1", "2") if ordered else ("bullet", "ul", "-", "-", "-", "", "")
)
c = Converter({})
+ meta = { 'end': int(e2[:-1]) } if ordered else {}
+ meta['compact'] = False
assert c._parse(f"{e1} a\n\n{e2} b") == [
- Token(type=f'{t}_list_open', tag=tag, nesting=1, attrs={'compact': False}, map=[0, 3], level=0,
- children=None, content='', markup=m, info='', meta={}, block=True, hidden=False),
+ Token(type=f'{t}_list_open', tag=tag, nesting=1, attrs={}, map=[0, 3], level=0,
+ children=None, content='', markup=m, info='', meta=meta, block=True, hidden=False),
Token(type='list_item_open', tag='li', nesting=1, attrs={}, map=[0, 2], level=1, children=None,
content='', markup=m, info=i1, meta={}, block=True, hidden=False),
Token(type='paragraph_open', tag='p', nesting=1, attrs={}, map=[0, 1], level=2, children=None,
@@ -54,9 +56,11 @@ def test_list_narrow(ordered: bool) -> None:
("ordered", "ol", ".", "1.", "2.", "1", "2") if ordered else ("bullet", "ul", "-", "-", "-", "", "")
)
c = Converter({})
+ meta = { 'end': int(e2[:-1]) } if ordered else {}
+ meta['compact'] = True
assert c._parse(f"{e1} a\n{e2} b") == [
- Token(type=f'{t}_list_open', tag=tag, nesting=1, attrs={'compact': True}, map=[0, 2], level=0,
- children=None, content='', markup=m, info='', meta={}, block=True, hidden=False),
+ Token(type=f'{t}_list_open', tag=tag, nesting=1, attrs={}, map=[0, 2], level=0,
+ children=None, content='', markup=m, info='', meta=meta, block=True, hidden=False),
Token(type='list_item_open', tag='li', nesting=1, attrs={}, map=[0, 1], level=1, children=None,
content='', markup=m, info=i1, meta={}, block=True, hidden=False),
Token(type='paragraph_open', tag='p', nesting=1, attrs={}, map=[0, 1], level=2, children=None,
@@ -89,12 +93,12 @@ def test_list_narrow(ordered: bool) -> None:
content='', markup=m, info='', meta={}, block=True, hidden=False)
]
assert c._parse(f"{e1} - a\n{e2} b") == [
- Token(type=f'{t}_list_open', tag=tag, nesting=1, attrs={'compact': True}, map=[0, 2], level=0,
- children=None, content='', markup=m, info='', meta={}, block=True, hidden=False),
+ Token(type=f'{t}_list_open', tag=tag, nesting=1, attrs={}, map=[0, 2], level=0,
+ children=None, content='', markup=m, info='', meta=meta, block=True, hidden=False),
Token(type='list_item_open', tag='li', nesting=1, attrs={}, map=[0, 1], level=1, children=None,
content='', markup=m, info=i1, meta={}, block=True, hidden=False),
- Token(type='bullet_list_open', tag='ul', nesting=1, attrs={'compact': True}, map=[0, 1], level=2,
- children=None, content='', markup='-', info='', meta={}, block=True, hidden=False),
+ Token(type='bullet_list_open', tag='ul', nesting=1, attrs={}, map=[0, 1], level=2,
+ children=None, content='', markup='-', info='', meta={'compact': True}, block=True, hidden=False),
Token(type='list_item_open', tag='li', nesting=1, attrs={}, map=[0, 1], level=3, children=None,
content='', markup='-', info='', meta={}, block=True, hidden=False),
Token(type='paragraph_open', tag='p', nesting=1, attrs={}, map=[0, 1], level=4, children=None,
@@ -131,12 +135,12 @@ def test_list_narrow(ordered: bool) -> None:
content='', markup=m, info='', meta={}, block=True, hidden=False)
]
assert c._parse(f"{e1} - a\n{e2} - b") == [
- Token(type=f'{t}_list_open', tag=tag, nesting=1, attrs={'compact': True}, map=[0, 2], level=0,
- children=None, content='', markup=m, info='', meta={}, block=True, hidden=False),
+ Token(type=f'{t}_list_open', tag=tag, nesting=1, attrs={}, map=[0, 2], level=0,
+ children=None, content='', markup=m, info='', meta=meta, block=True, hidden=False),
Token(type='list_item_open', tag='li', nesting=1, attrs={}, map=[0, 1], level=1, children=None,
content='', markup=m, info=i1, meta={}, block=True, hidden=False),
- Token(type='bullet_list_open', tag='ul', nesting=1, attrs={'compact': True}, map=[0, 1], level=2,
- children=None, content='', markup='-', info='', meta={}, block=True, hidden=False),
+ Token(type='bullet_list_open', tag='ul', nesting=1, attrs={}, map=[0, 1], level=2,
+ children=None, content='', markup='-', info='', meta={'compact': True}, block=True, hidden=False),
Token(type='list_item_open', tag='li', nesting=1, attrs={}, map=[0, 1], level=3, children=None,
content='', markup='-', info='', meta={}, block=True, hidden=False),
Token(type='paragraph_open', tag='p', nesting=1, attrs={}, map=[0, 1], level=4, children=None,
@@ -157,8 +161,8 @@ def test_list_narrow(ordered: bool) -> None:
content='', markup=m, info='', meta={}, block=True, hidden=False),
Token(type='list_item_open', tag='li', nesting=1, attrs={}, map=[1, 2], level=1, children=None,
content='', markup=m, info=i2, meta={}, block=True, hidden=False),
- Token(type='bullet_list_open', tag='ul', nesting=1, attrs={'compact': True}, map=[1, 2], level=2,
- children=None, content='', markup='-', info='', meta={}, block=True, hidden=False),
+ Token(type='bullet_list_open', tag='ul', nesting=1, attrs={}, map=[1, 2], level=2,
+ children=None, content='', markup='-', info='', meta={'compact': True}, block=True, hidden=False),
Token(type='list_item_open', tag='li', nesting=1, attrs={}, map=[1, 2], level=3, children=None,
content='', markup='-', info='', meta={}, block=True, hidden=False),
Token(type='paragraph_open', tag='p', nesting=1, attrs={}, map=[1, 2], level=4, children=None,
diff --git a/pkgs/tools/nix/nixos-render-docs/src/tests/test_manpage.py b/pkgs/tools/nix/nixos-render-docs/src/tests/test_manpage.py
new file mode 100644
index 000000000000..fbfd21358a85
--- /dev/null
+++ b/pkgs/tools/nix/nixos-render-docs/src/tests/test_manpage.py
@@ -0,0 +1,177 @@
+import nixos_render_docs
+
+from sample_md import sample1
+
+from typing import Mapping, Optional
+
+import markdown_it
+
+class Converter(nixos_render_docs.md.Converter):
+ def __renderer__(self, manpage_urls: Mapping[str, str],
+ parser: Optional[markdown_it.MarkdownIt] = None
+ ) -> nixos_render_docs.manpage.ManpageRenderer:
+ return nixos_render_docs.manpage.ManpageRenderer(manpage_urls, self.options_by_id, parser)
+
+ def __init__(self, manpage_urls: Mapping[str, str], options_by_id: dict[str, str] = {}):
+ self.options_by_id = options_by_id
+ super().__init__(manpage_urls)
+
+def test_inline_code() -> None:
+ c = Converter({})
+ assert c._render("1 `x a x` 2") == "1 \\fR\\(oqx a x\\(cq\\fP 2"
+
+def test_fonts() -> None:
+ c = Converter({})
+ assert c._render("*a **b** c*") == "\\fIa \\fBb\\fI c\\fR"
+ assert c._render("*a [1 `2`](3) c*") == "\\fIa \\fB1 \\fR\\(oq2\\(cq\\fP\\fI c\\fR"
+
+def test_expand_link_targets() -> None:
+ c = Converter({}, { '#foo1': "bar", "#foo2": "bar" })
+ assert (c._render("[a](#foo1) [](#foo2) [b](#bar1) [](#bar2)") ==
+ "\\fBa\\fR \\fBbar\\fR \\fBb\\fR \\fB\\fR")
+
+def test_collect_links() -> None:
+ c = Converter({}, { '#foo': "bar" })
+ assert isinstance(c._md.renderer, nixos_render_docs.manpage.ManpageRenderer)
+ c._md.renderer.link_footnotes = []
+ assert c._render("[a](link1) [b](link2)") == "\\fBa\\fR[1]\\fR \\fBb\\fR[2]\\fR"
+ assert c._md.renderer.link_footnotes == ['link1', 'link2']
+
+def test_dedup_links() -> None:
+ c = Converter({}, { '#foo': "bar" })
+ assert isinstance(c._md.renderer, nixos_render_docs.manpage.ManpageRenderer)
+ c._md.renderer.link_footnotes = []
+ assert c._render("[a](link) [b](link)") == "\\fBa\\fR[1]\\fR \\fBb\\fR[1]\\fR"
+ assert c._md.renderer.link_footnotes == ['link']
+
+def test_full() -> None:
+ c = Converter({ 'man(1)': 'http://example.org' })
+ assert c._render(sample1) == """\
+.sp
+.RS 4
+\\fBWarning\\fP
+.br
+foo
+.sp
+.RS 4
+\\fBNote\\fP
+.br
+nested
+.RE
+.RE
+.sp
+\\fBmultiline\\fR
+.sp
+\\fBman\\fP\\fR(1)\\fP reference
+.sp
+some nested anchors
+.sp
+\\fIemph\\fR \\fBstrong\\fR \\fInesting emph \\fBand strong\\fI and \\fR\\(oqcode\\(cq\\fP\\fR
+.sp
+.RS 4
+\\h'-2'\\fB\\[u2022]\\fP\\h'1'\\c
+wide bullet
+.RE
+.sp
+.RS 4
+\\h'-2'\\fB\\[u2022]\\fP\\h'1'\\c
+list
+.RE
+.sp
+.RS 4
+\\h'-3'\\fB1\\&.\\fP\\h'1'\\c
+wide ordered
+.RE
+.sp
+.RS 4
+\\h'-3'\\fB2\\&.\\fP\\h'1'\\c
+list
+.RE
+.sp
+.RS 4
+\\h'-2'\\fB\\[u2022]\\fP\\h'1'\\c
+narrow bullet
+.RE
+.RS 4
+\\h'-2'\\fB\\[u2022]\\fP\\h'1'\\c
+list
+.RE
+.sp
+.RS 4
+\\h'-3'\\fB1\\&.\\fP\\h'1'\\c
+narrow ordered
+.RE
+.RS 4
+\\h'-3'\\fB2\\&.\\fP\\h'1'\\c
+list
+.RE
+.sp
+.RS 4
+\\h'-3'\\fI\\(lq\\(rq\\fP\\h'1'\\c
+quotes
+.sp
+.RS 4
+\\h'-3'\\fI\\(lq\\(rq\\fP\\h'1'\\c
+with \\fInesting\\fR
+.sp
+.RS 4
+.nf
+nested code block
+.fi
+.RE
+.RE
+.sp
+.RS 4
+\\h'-2'\\fB\\[u2022]\\fP\\h'1'\\c
+and lists
+.RE
+.RS 4
+\\h'-2'\\fB\\[u2022]\\fP\\h'1'\\c
+.sp
+.RS 4
+.nf
+containing code
+.fi
+.RE
+.RE
+.sp
+and more quote
+.RE
+.sp
+.RS 6
+\\h'-5'\\fB100\\&.\\fP\\h'1'\\c
+list starting at 100
+.RE
+.RS 6
+\\h'-5'\\fB101\\&.\\fP\\h'1'\\c
+goes on
+.RE
+.RS 4
+.PP
+deflist
+.RS 4
+.RS 4
+\\h'-3'\\fI\\(lq\\(rq\\fP\\h'1'\\c
+with a quote and stuff
+.RE
+.sp
+.RS 4
+.nf
+code block
+.fi
+.RE
+.sp
+.RS 4
+.nf
+fenced block
+.fi
+.RE
+.sp
+text
+.RE
+.PP
+more stuff in same deflist
+.RS 4
+foo
+.RE
+.RE"""
diff --git a/pkgs/tools/nix/nixos-render-docs/src/tests/test_options.py b/pkgs/tools/nix/nixos-render-docs/src/tests/test_options.py
index 5a02fabde0fb..9608ed639218 100644
--- a/pkgs/tools/nix/nixos-render-docs/src/tests/test_options.py
+++ b/pkgs/tools/nix/nixos-render-docs/src/tests/test_options.py
@@ -4,7 +4,7 @@ from markdown_it.token import Token
import pytest
def test_option_headings() -> None:
- c = nixos_render_docs.options.DocBookConverter({}, 'local', 'none', 'vars', 'opt-', False)
+ c = nixos_render_docs.options.DocBookConverter({}, 'local', False, 'none', 'vars', 'opt-')
with pytest.raises(RuntimeError) as exc:
c._render("# foo")
assert exc.value.args[0] == 'md token not supported in options doc'
diff --git a/pkgs/tools/security/exploitdb/default.nix b/pkgs/tools/security/exploitdb/default.nix
index 9718f0095d02..a710daca6013 100644
--- a/pkgs/tools/security/exploitdb/default.nix
+++ b/pkgs/tools/security/exploitdb/default.nix
@@ -6,13 +6,13 @@
stdenv.mkDerivation rec {
pname = "exploitdb";
- version = "2022-11-22";
+ version = "2023-02-03";
src = fetchFromGitLab {
owner = "exploit-database";
repo = pname;
rev = "refs/tags/${version}";
- hash = "sha256-G871FvwekcF5uMq7NRoWuIb9UqzIbMniboKlUzgCaeI=";
+ hash = "sha256-uTyUACY9Pm+gMuLrttGCNZ/UQaOW/h12ysY/noTkw7A=";
};
nativeBuildInputs = [
diff --git a/pkgs/tools/security/kube-bench/default.nix b/pkgs/tools/security/kube-bench/default.nix
index 9492475aadb5..80be86403adf 100644
--- a/pkgs/tools/security/kube-bench/default.nix
+++ b/pkgs/tools/security/kube-bench/default.nix
@@ -2,15 +2,15 @@
buildGoModule rec {
pname = "kube-bench";
- version = "0.6.10";
+ version = "0.6.11";
src = fetchFromGitHub {
owner = "aquasecurity";
repo = pname;
rev = "v${version}";
- sha256 = "sha256-0rhs5MZzf9E848FxYuZdXTarYG1BwnfS9HDz9iYR/vo=";
+ sha256 = "sha256-fh7kVYajpn8DKteyvAJf3dk1UrSXFX2gKtTAvuiOjpY=";
};
- vendorSha256 = "sha256-uaFEtWI5tdL0egaJPTKh7k66Kyjq+N8YDlUGJDtFRqY=";
+ vendorHash = "sha256-PM8VnPNMLhDhRVy6xafW0kuTHgd374r0Ol2U9k8LNIw=";
nativeBuildInputs = [ installShellFiles ];
diff --git a/pkgs/tools/video/svt-av1/default.nix b/pkgs/tools/video/svt-av1/default.nix
index 32bc31346a00..8cf9dc849896 100644
--- a/pkgs/tools/video/svt-av1/default.nix
+++ b/pkgs/tools/video/svt-av1/default.nix
@@ -43,6 +43,7 @@ stdenv.mkDerivation (finalAttrs: {
license = with licenses; [ aom bsd3 ];
maintainers = with maintainers; [ Madouura ];
platforms = platforms.unix;
- broken = stdenv.isAarch64; # undefined reference to `cpuinfo_arm_linux_init'
+ # error: use of undeclared identifier 'kCVPixelFormatType_444YpCbCr16BiPlanarVideoRange'
+ broken = stdenv.isAarch64 && stdenv.isDarwin;
};
})
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 53e27abd3a42..cff190d46876 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -780,6 +780,8 @@ with pkgs;
flare-floss = callPackage ../tools/security/flare-floss { };
+ flare-signal = callPackage ../applications/networking/instant-messengers/flare-signal { };
+
prefer-remote-fetch = import ../build-support/prefer-remote-fetch;
global-platform-pro = callPackage ../development/tools/global-platform-pro { };
@@ -7567,6 +7569,8 @@ with pkgs;
gtk = gtk2-x11;
};
+ gcfflasher = callPackage ../applications/misc/gcfflasher { };
+
gdmap = callPackage ../tools/system/gdmap { };
gef = callPackage ../development/tools/misc/gef { };
@@ -7898,6 +7902,8 @@ with pkgs;
gyb = callPackage ../tools/backup/gyb { };
+ harminv = callPackage ../development/libraries/science/chemistry/harminv { };
+
igrep = callPackage ../tools/text/igrep {
inherit (darwin.apple_sdk.frameworks) Security;
};
@@ -8790,6 +8796,8 @@ with pkgs;
kibi = callPackage ../applications/editors/kibi { };
+ kio-admin = libsForQt5.callPackage ../tools/filesystems/kio-admin { };
+
kio-fuse = libsForQt5.callPackage ../tools/filesystems/kio-fuse { };
kismet = callPackage ../applications/networking/sniffers/kismet { };
@@ -12663,6 +12671,8 @@ with pkgs;
tthsum = callPackage ../applications/misc/tthsum { };
+ ttdl = callPackage ../applications/misc/ttdl { };
+
ttp = with python3.pkgs; toPythonApplication ttp;
trace-cmd = callPackage ../os-specific/linux/trace-cmd { };
@@ -19572,6 +19582,7 @@ with pkgs;
fftwSinglePrec = fftw.override { precision = "single"; };
fftwFloat = fftwSinglePrec; # the configure option is just an alias
fftwLongDouble = fftw.override { precision = "long-double"; };
+ fftwQuad = fftw.override { precision = "quad-precision"; };
fftwMpi = fftw.override { enableMpi = true; };
filter-audio = callPackage ../development/libraries/filter-audio {};
@@ -23020,6 +23031,10 @@ with pkgs;
SDL2_image = callPackage ../development/libraries/SDL2_image {
inherit (darwin.apple_sdk.frameworks) Foundation;
};
+ SDL2_image_2_0_5 = SDL2_image.override({ # Pinned for pygame, toppler
+ version = "2.0.5";
+ hash = "sha256-vdX24CZoL31+G+C2BRsgnaL0AqLdi9HEvZwlrSYxCNA";
+ });
SDL2_mixer = callPackage ../development/libraries/SDL2_mixer {
inherit (darwin.apple_sdk.frameworks) CoreServices AudioUnit AudioToolbox;
@@ -24844,6 +24859,7 @@ with pkgs;
mariadb_106
mariadb_108
mariadb_109
+ mariadb_1010
;
mariadb = mariadb_106;
mariadb-embedded = mariadb.override { withEmbedded = true; };
@@ -26030,7 +26046,7 @@ with pkgs;
linux-doc = callPackage ../os-specific/linux/kernel/htmldocs.nix { };
- cryptodev = linuxKernel.packages.linux_4_9.cryptodev;
+ cryptodev = linuxPackages.cryptodev;
dpdk = callPackage ../os-specific/linux/dpdk {
kernel = null; # dpdk modules are in linuxPackages.dpdk.kmod
@@ -27294,6 +27310,8 @@ with pkgs;
ledger-udev-rules = callPackage ../os-specific/linux/ledger-udev-rules {};
+ libGDSII = callPackage ../development/libraries/science/chemistry/libGDSII { };
+
inherit (callPackages ../data/fonts/liberation-fonts { })
liberation_ttf_v1
liberation_ttf_v2
@@ -30170,6 +30188,13 @@ with pkgs;
shepherd = nodePackages."@nerdwallet/shepherd";
+ inherit (callPackage ../applications/virtualization/singularity/packages.nix { })
+ apptainer
+ singularity
+ apptainer-overriden-nixos
+ singularity-overriden-nixos
+ ;
+
skate = callPackage ../applications/misc/skate { };
slack = callPackage ../applications/networking/instant-messengers/slack { };
@@ -30180,8 +30205,6 @@ with pkgs;
slweb = callPackage ../applications/misc/slweb { };
- singularity = callPackage ../applications/virtualization/singularity { };
-
sonixd = callPackage ../applications/audio/sonixd { };
sosreport = python3Packages.callPackage ../applications/logging/sosreport { };
@@ -30559,7 +30582,11 @@ with pkgs;
jwm-settings-manager = callPackage ../applications/window-managers/jwm/jwm-settings-manager.nix { };
- k3s = callPackage ../applications/networking/cluster/k3s { };
+ k3s_1_23 = callPackage ../applications/networking/cluster/k3s/1_23 { };
+ k3s_1_24 = callPackage ../applications/networking/cluster/k3s/1_24 { };
+ k3s_1_25 = callPackage ../applications/networking/cluster/k3s/1_25 { };
+ k3s_1_26 = callPackage ../applications/networking/cluster/k3s/1_26 { };
+ k3s = k3s_1_26;
k3sup = callPackage ../applications/networking/cluster/k3sup {};
@@ -30607,6 +30634,8 @@ with pkgs;
khal = callPackage ../applications/misc/khal { };
+ khoj = callPackage ../servers/search/khoj { };
+
khard = callPackage ../applications/misc/khard { };
kid3 = libsForQt5.callPackage ../applications/audio/kid3 { };
@@ -33852,7 +33881,9 @@ with pkgs;
pipewire = null;
};
- chatterino2 = libsForQt5.callPackage ../applications/networking/instant-messengers/chatterino2 {};
+ chatterino2 = libsForQt5.callPackage ../applications/networking/instant-messengers/chatterino2 {
+ stdenv = if stdenv.isDarwin then darwin.apple_sdk_11_0.stdenv else stdenv;
+ };
weston = callPackage ../applications/window-managers/weston { };
@@ -35710,7 +35741,9 @@ with pkgs;
tome4 = callPackage ../games/tome4 { };
- toppler = callPackage ../games/toppler { };
+ toppler = callPackage ../games/toppler {
+ SDL2_image = SDL2_image_2_0_5;
+ };
torus-trooper = callPackage ../games/torus-trooper { };
diff --git a/pkgs/top-level/php-packages.nix b/pkgs/top-level/php-packages.nix
index 8b1bbecb249f..827985cab7e5 100644
--- a/pkgs/top-level/php-packages.nix
+++ b/pkgs/top-level/php-packages.nix
@@ -84,6 +84,7 @@ lib.makeScope pkgs.newScope (self: with self; {
, zendExtension ? false
, doCheck ? true
, extName ? name
+ , allowLocalNetworking ? false
, ...
}@args: stdenv.mkDerivation ((builtins.removeAttrs args [ "name" ]) // {
pname = "php-${name}";
@@ -103,6 +104,7 @@ lib.makeScope pkgs.newScope (self: with self; {
];
inherit configureFlags internalDeps buildInputs zendExtension doCheck;
+ __darwinAllowLocalNetworking = allowLocalNetworking;
preConfigurePhases = [
"cdToExtensionRootPhase"
@@ -412,7 +414,7 @@ lib.makeScope pkgs.newScope (self: with self; {
];
zendExtension = true;
# Tests launch the builtin webserver.
- __darwinAllowLocalNetworking = true;
+ allowLocalNetworking = true;
}
{
name = "openssl";
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index c672707b90ef..48950e376d45 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -5804,6 +5804,8 @@ self: super: with self; {
mediapy = callPackage ../development/python-modules/mediapy { };
+ meep = callPackage ../development/python-modules/meep { };
+
meilisearch = callPackage ../development/python-modules/meilisearch { };
meinheld = callPackage ../development/python-modules/meinheld { };
@@ -8070,6 +8072,7 @@ self: super: with self; {
pygame = callPackage ../development/python-modules/pygame {
inherit (pkgs.darwin.apple_sdk.frameworks) AppKit;
+ SDL2_image = pkgs.SDL2_image_2_0_5;
};
pygame_sdl2 = callPackage ../development/python-modules/pygame_sdl2 { };
@@ -10413,6 +10416,8 @@ self: super: with self; {
inherit (pkgs) sentencepiece;
};
+ sentence-transformers = callPackage ../development/python-modules/sentence-transformers { };
+
sentinel = callPackage ../development/python-modules/sentinel { };
sentinels = callPackage ../development/python-modules/sentinels { };
@@ -12181,7 +12186,9 @@ self: super: with self; {
inherit (pkgs.darwin.apple_sdk.frameworks) CoreServices;
};
- watchfiles = callPackage ../development/python-modules/watchfiles { };
+ watchfiles = callPackage ../development/python-modules/watchfiles {
+ inherit (pkgs.darwin.apple_sdk.frameworks) CoreServices;
+ };
watchgod = callPackage ../development/python-modules/watchgod { };