diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix
index c2ec7c3c149b..cb2ea80b3dd2 100644
--- a/maintainers/maintainer-list.nix
+++ b/maintainers/maintainer-list.nix
@@ -2445,6 +2445,12 @@
githubId = 8404455;
name = "Diego Lelis";
};
+ diogox = {
+ name = "Diogo Xavier";
+ email = "13244408+diogox@users.noreply.github.com";
+ github = "diogox";
+ githubId = 13244408;
+ };
dipinhora = {
email = "dipinhora+github@gmail.com";
github = "dipinhora";
@@ -4747,6 +4753,12 @@
githubId = 1102396;
name = "Jussi Maki";
};
+ joaquinito2051 = {
+ email = "joaquinito2051@gmail.com";
+ github = "heroku-miraheze";
+ githubId = 61781343;
+ name = "Joaquín Rufo Gutierrez";
+ };
jobojeha = {
email = "jobojeha@jeppener.de";
github = "jobojeha";
diff --git a/nixos/doc/manual/release-notes/rl-2105.xml b/nixos/doc/manual/release-notes/rl-2105.xml
index 7cfeeb6f1a69..dab4a261deb9 100644
--- a/nixos/doc/manual/release-notes/rl-2105.xml
+++ b/nixos/doc/manual/release-notes/rl-2105.xml
@@ -710,6 +710,11 @@ environment.systemPackages = [
now follows RFC 0042.
+
+
+ The yadm dotfile manager has been updated from 2.x to 3.x, which has new (XDG) default locations for some data/state files. Most yadm commands will fail and print a legacy path warning (which describes how to upgrade/migrate your repository). If you have scripts, daemons, scheduled jobs, shell profiles, etc. that invoke yadm, expect them to fail or misbehave until you perform this migration and prepare accordingly.
+
+
@@ -1012,6 +1017,24 @@ environment.systemPackages = [
PostgreSQL 9.5 is scheduled EOL during the 21.05 life cycle and has been removed.
+
+
+ Xfce4 relies on
+ GIO/GVfs for userspace virtual filesystem access in applications
+ like thunar and
+ gigolo.
+ For that to work, the gvfs nixos service is enabled by default,
+ and it can be configured with the specific package that provides
+ GVfs. Until now Xfce4 was setting it to use a lighter version of
+ GVfs (without support for samba). To avoid conflicts with other
+ desktop environments this setting has been dropped. Users that
+ still want it should add the following to their system
+ configuration:
+
+ = pkgs.gvfs.override { samba = null; };
+
+
+
diff --git a/nixos/lib/testing-python.nix b/nixos/lib/testing-python.nix
index c7e45f55ce12..cbe90ff4cbfc 100644
--- a/nixos/lib/testing-python.nix
+++ b/nixos/lib/testing-python.nix
@@ -55,7 +55,7 @@ rec {
# Run an automated test suite in the given virtual network.
# `driver' is the script that runs the network.
- runTests = driver:
+ runTests = { driver, pos }:
stdenv.mkDerivation {
name = "vm-test-run-${driver.testName}";
@@ -69,6 +69,8 @@ rec {
'';
passthru = driver.passthru;
+
+ inherit pos;
};
@@ -79,6 +81,11 @@ rec {
# Skip linting (mainly intended for faster dev cycles)
, skipLint ? false
, passthru ? {}
+ , # For meta.position
+ pos ? # position used in error messages and for meta.position
+ (if t.meta.description or null != null
+ then builtins.unsafeGetAttrPos "description" t.meta
+ else builtins.unsafeGetAttrPos "testScript" t)
, ...
} @ t:
let
@@ -174,7 +181,7 @@ rec {
driver = mkDriver null;
driverInteractive = mkDriver pkgs.qemu;
- test = passMeta (runTests driver);
+ test = passMeta (runTests { inherit driver pos; });
nodeNames = builtins.attrNames driver.nodes;
invalidNodeNames = lib.filter
diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix
index 9bd8e4caa0e5..55ecb893b408 100644
--- a/nixos/modules/module-list.nix
+++ b/nixos/modules/module-list.nix
@@ -976,6 +976,7 @@
./services/web-servers/shellinabox.nix
./services/web-servers/tomcat.nix
./services/web-servers/traefik.nix
+ ./services/web-servers/trafficserver.nix
./services/web-servers/ttyd.nix
./services/web-servers/uwsgi.nix
./services/web-servers/varnish/default.nix
diff --git a/nixos/modules/services/databases/cassandra.nix b/nixos/modules/services/databases/cassandra.nix
index d55a7db39150..820be5085de9 100644
--- a/nixos/modules/services/databases/cassandra.nix
+++ b/nixos/modules/services/databases/cassandra.nix
@@ -1,79 +1,108 @@
{ config, lib, pkgs, ... }:
-with lib;
-
let
+ inherit (lib)
+ concatStringsSep
+ flip
+ literalExample
+ optionalAttrs
+ optionals
+ recursiveUpdate
+ mkEnableOption
+ mkIf
+ mkOption
+ types
+ versionAtLeast
+ ;
+
cfg = config.services.cassandra;
+
defaultUser = "cassandra";
- cassandraConfig = flip recursiveUpdate cfg.extraConfig
- ({ commitlog_sync = "batch";
- commitlog_sync_batch_window_in_ms = 2;
- start_native_transport = cfg.allowClients;
- cluster_name = cfg.clusterName;
- partitioner = "org.apache.cassandra.dht.Murmur3Partitioner";
- endpoint_snitch = "SimpleSnitch";
- data_file_directories = [ "${cfg.homeDir}/data" ];
- commitlog_directory = "${cfg.homeDir}/commitlog";
- saved_caches_directory = "${cfg.homeDir}/saved_caches";
- } // (lib.optionalAttrs (cfg.seedAddresses != []) {
- seed_provider = [{
- class_name = "org.apache.cassandra.locator.SimpleSeedProvider";
- parameters = [ { seeds = concatStringsSep "," cfg.seedAddresses; } ];
- }];
- }) // (lib.optionalAttrs (lib.versionAtLeast cfg.package.version "3") {
- hints_directory = "${cfg.homeDir}/hints";
- })
- );
- cassandraConfigWithAddresses = cassandraConfig //
- ( if cfg.listenAddress == null
- then { listen_interface = cfg.listenInterface; }
- else { listen_address = cfg.listenAddress; }
- ) // (
- if cfg.rpcAddress == null
- then { rpc_interface = cfg.rpcInterface; }
- else { rpc_address = cfg.rpcAddress; }
- );
- cassandraEtc = pkgs.stdenv.mkDerivation
- { name = "cassandra-etc";
- cassandraYaml = builtins.toJSON cassandraConfigWithAddresses;
- cassandraEnvPkg = "${cfg.package}/conf/cassandra-env.sh";
- cassandraLogbackConfig = pkgs.writeText "logback.xml" cfg.logbackConfig;
- passAsFile = [ "extraEnvSh" ];
- inherit (cfg) extraEnvSh;
- buildCommand = ''
- mkdir -p "$out"
- echo "$cassandraYaml" > "$out/cassandra.yaml"
- ln -s "$cassandraLogbackConfig" "$out/logback.xml"
+ cassandraConfig = flip recursiveUpdate cfg.extraConfig (
+ {
+ commitlog_sync = "batch";
+ commitlog_sync_batch_window_in_ms = 2;
+ start_native_transport = cfg.allowClients;
+ cluster_name = cfg.clusterName;
+ partitioner = "org.apache.cassandra.dht.Murmur3Partitioner";
+ endpoint_snitch = "SimpleSnitch";
+ data_file_directories = [ "${cfg.homeDir}/data" ];
+ commitlog_directory = "${cfg.homeDir}/commitlog";
+ saved_caches_directory = "${cfg.homeDir}/saved_caches";
+ } // optionalAttrs (cfg.seedAddresses != [ ]) {
+ seed_provider = [
+ {
+ class_name = "org.apache.cassandra.locator.SimpleSeedProvider";
+ parameters = [{ seeds = concatStringsSep "," cfg.seedAddresses; }];
+ }
+ ];
+ } // optionalAttrs (versionAtLeast cfg.package.version "3") {
+ hints_directory = "${cfg.homeDir}/hints";
+ }
+ );
- ( cat "$cassandraEnvPkg"
- echo "# lines from services.cassandra.extraEnvSh: "
- cat "$extraEnvShPath"
- ) > "$out/cassandra-env.sh"
+ cassandraConfigWithAddresses = cassandraConfig // (
+ if cfg.listenAddress == null
+ then { listen_interface = cfg.listenInterface; }
+ else { listen_address = cfg.listenAddress; }
+ ) // (
+ if cfg.rpcAddress == null
+ then { rpc_interface = cfg.rpcInterface; }
+ else { rpc_address = cfg.rpcAddress; }
+ );
- # Delete default JMX Port, otherwise we can't set it using env variable
- sed -i '/JMX_PORT="7199"/d' "$out/cassandra-env.sh"
+ cassandraEtc = pkgs.stdenv.mkDerivation {
+ name = "cassandra-etc";
- # Delete default password file
- sed -i '/-Dcom.sun.management.jmxremote.password.file=\/etc\/cassandra\/jmxremote.password/d' "$out/cassandra-env.sh"
- '';
- };
- defaultJmxRolesFile = builtins.foldl'
- (left: right: left + right) ""
- (map (role: "${role.username} ${role.password}") cfg.jmxRoles);
- fullJvmOptions = cfg.jvmOpts
- ++ lib.optionals (cfg.jmxRoles != []) [
+ cassandraYaml = builtins.toJSON cassandraConfigWithAddresses;
+ cassandraEnvPkg = "${cfg.package}/conf/cassandra-env.sh";
+ cassandraLogbackConfig = pkgs.writeText "logback.xml" cfg.logbackConfig;
+
+ passAsFile = [ "extraEnvSh" ];
+ inherit (cfg) extraEnvSh;
+
+ buildCommand = ''
+ mkdir -p "$out"
+
+ echo "$cassandraYaml" > "$out/cassandra.yaml"
+ ln -s "$cassandraLogbackConfig" "$out/logback.xml"
+
+ ( cat "$cassandraEnvPkg"
+ echo "# lines from services.cassandra.extraEnvSh: "
+ cat "$extraEnvShPath"
+ ) > "$out/cassandra-env.sh"
+
+ # Delete default JMX Port, otherwise we can't set it using env variable
+ sed -i '/JMX_PORT="7199"/d' "$out/cassandra-env.sh"
+
+ # Delete default password file
+ sed -i '/-Dcom.sun.management.jmxremote.password.file=\/etc\/cassandra\/jmxremote.password/d' "$out/cassandra-env.sh"
+ '';
+ };
+
+ defaultJmxRolesFile =
+ builtins.foldl'
+ (left: right: left + right) ""
+ (map (role: "${role.username} ${role.password}") cfg.jmxRoles);
+
+ fullJvmOptions =
+ cfg.jvmOpts
+ ++ optionals (cfg.jmxRoles != [ ]) [
"-Dcom.sun.management.jmxremote.authenticate=true"
"-Dcom.sun.management.jmxremote.password.file=${cfg.jmxRolesFile}"
- ]
- ++ lib.optionals cfg.remoteJmx [
+ ] ++ optionals cfg.remoteJmx [
"-Djava.rmi.server.hostname=${cfg.rpcAddress}"
];
-in {
+
+in
+{
options.services.cassandra = {
+
enable = mkEnableOption ''
Apache Cassandra – Scalable and highly available database.
'';
+
clusterName = mkOption {
type = types.str;
default = "Test Cluster";
@@ -83,16 +112,19 @@ in {
another. All nodes in a cluster must have the same value.
'';
};
+
user = mkOption {
type = types.str;
default = defaultUser;
description = "Run Apache Cassandra under this user.";
};
+
group = mkOption {
type = types.str;
default = defaultUser;
description = "Run Apache Cassandra under this group.";
};
+
homeDir = mkOption {
type = types.path;
default = "/var/lib/cassandra";
@@ -100,6 +132,7 @@ in {
Home directory for Apache Cassandra.
'';
};
+
package = mkOption {
type = types.package;
default = pkgs.cassandra;
@@ -109,17 +142,19 @@ in {
The Apache Cassandra package to use.
'';
};
+
jvmOpts = mkOption {
type = types.listOf types.str;
- default = [];
+ default = [ ];
description = ''
Populate the JVM_OPT environment variable.
'';
};
+
listenAddress = mkOption {
type = types.nullOr types.str;
default = "127.0.0.1";
- example = literalExample "null";
+ example = null;
description = ''
Address or interface to bind to and tell other Cassandra nodes
to connect to. You _must_ change this if you want multiple
@@ -136,6 +171,7 @@ in {
Setting listen_address to 0.0.0.0 is always wrong.
'';
};
+
listenInterface = mkOption {
type = types.nullOr types.str;
default = null;
@@ -146,10 +182,11 @@ in {
supported.
'';
};
+
rpcAddress = mkOption {
type = types.nullOr types.str;
default = "127.0.0.1";
- example = literalExample "null";
+ example = null;
description = ''
The address or interface to bind the native transport server to.
@@ -167,6 +204,7 @@ in {
internet. Firewall it if needed.
'';
};
+
rpcInterface = mkOption {
type = types.nullOr types.str;
default = null;
@@ -176,6 +214,7 @@ in {
correspond to a single address, IP aliasing is not supported.
'';
};
+
logbackConfig = mkOption {
type = types.lines;
default = ''
@@ -197,6 +236,7 @@ in {
XML logback configuration for cassandra
'';
};
+
seedAddresses = mkOption {
type = types.listOf types.str;
default = [ "127.0.0.1" ];
@@ -207,6 +247,7 @@ in {
Set to 127.0.0.1 for a single node cluster.
'';
};
+
allowClients = mkOption {
type = types.bool;
default = true;
@@ -219,16 +260,19 @@ in {
extraConfig.
'';
};
+
extraConfig = mkOption {
type = types.attrs;
- default = {};
+ default = { };
example =
- { commitlog_sync_batch_window_in_ms = 3;
+ {
+ commitlog_sync_batch_window_in_ms = 3;
};
description = ''
Extra options to be merged into cassandra.yaml as nix attribute set.
'';
};
+
extraEnvSh = mkOption {
type = types.lines;
default = "";
@@ -237,48 +281,53 @@ in {
Extra shell lines to be appended onto cassandra-env.sh.
'';
};
+
fullRepairInterval = mkOption {
type = types.nullOr types.str;
default = "3w";
- example = literalExample "null";
+ example = null;
description = ''
- Set the interval how often full repairs are run, i.e.
- nodetool repair --full is executed. See
- https://cassandra.apache.org/doc/latest/operating/repair.html
- for more information.
+ Set the interval how often full repairs are run, i.e.
+ nodetool repair --full is executed. See
+ https://cassandra.apache.org/doc/latest/operating/repair.html
+ for more information.
- Set to null to disable full repairs.
- '';
+ Set to null to disable full repairs.
+ '';
};
+
fullRepairOptions = mkOption {
type = types.listOf types.str;
- default = [];
+ default = [ ];
example = [ "--partitioner-range" ];
description = ''
- Options passed through to the full repair command.
- '';
+ Options passed through to the full repair command.
+ '';
};
+
incrementalRepairInterval = mkOption {
type = types.nullOr types.str;
default = "3d";
- example = literalExample "null";
+ example = null;
description = ''
- Set the interval how often incremental repairs are run, i.e.
- nodetool repair is executed. See
- https://cassandra.apache.org/doc/latest/operating/repair.html
- for more information.
+ Set the interval how often incremental repairs are run, i.e.
+ nodetool repair is executed. See
+ https://cassandra.apache.org/doc/latest/operating/repair.html
+ for more information.
- Set to null to disable incremental repairs.
- '';
+ Set to null to disable incremental repairs.
+ '';
};
+
incrementalRepairOptions = mkOption {
type = types.listOf types.str;
- default = [];
+ default = [ ];
example = [ "--partitioner-range" ];
description = ''
- Options passed through to the incremental repair command.
- '';
+ Options passed through to the incremental repair command.
+ '';
};
+
maxHeapSize = mkOption {
type = types.nullOr types.str;
default = null;
@@ -299,6 +348,7 @@ in {
expensive GC will be (usually).
'';
};
+
heapNewSize = mkOption {
type = types.nullOr types.str;
default = null;
@@ -322,6 +372,7 @@ in {
100 MB per physical CPU core.
'';
};
+
mallocArenaMax = mkOption {
type = types.nullOr types.int;
default = null;
@@ -330,6 +381,7 @@ in {
Set this to control the amount of arenas per-thread in glibc.
'';
};
+
remoteJmx = mkOption {
type = types.bool;
default = false;
@@ -341,6 +393,7 @@ in {
See: https://wiki.apache.org/cassandra/JmxSecurity
'';
};
+
jmxPort = mkOption {
type = types.int;
default = 7199;
@@ -351,8 +404,9 @@ in {
Firewall it if needed.
'';
};
+
jmxRoles = mkOption {
- default = [];
+ default = [ ];
description = ''
Roles that are allowed to access the JMX (e.g. nodetool)
BEWARE: The passwords will be stored world readable in the nix-store.
@@ -375,11 +429,13 @@ in {
};
});
};
+
jmxRolesFile = mkOption {
type = types.nullOr types.path;
- default = if (lib.versionAtLeast cfg.package.version "3.11")
- then pkgs.writeText "jmx-roles-file" defaultJmxRolesFile
- else null;
+ default =
+ if versionAtLeast cfg.package.version "3.11"
+ then pkgs.writeText "jmx-roles-file" defaultJmxRolesFile
+ else null;
example = "/var/lib/cassandra/jmx.password";
description = ''
Specify your own jmx roles file.
@@ -391,102 +447,115 @@ in {
};
config = mkIf cfg.enable {
- assertions =
- [ { assertion = (cfg.listenAddress == null) != (cfg.listenInterface == null);
- message = "You have to set either listenAddress or listenInterface";
- }
- { assertion = (cfg.rpcAddress == null) != (cfg.rpcInterface == null);
- message = "You have to set either rpcAddress or rpcInterface";
- }
- { assertion = (cfg.maxHeapSize == null) == (cfg.heapNewSize == null);
- message = "If you set either of maxHeapSize or heapNewSize you have to set both";
- }
- { assertion = cfg.remoteJmx -> cfg.jmxRolesFile != null;
- message = ''
- If you want JMX available remotely you need to set a password using
- jmxRoles or jmxRolesFile if
- using Cassandra older than v3.11.
- '';
- }
- ];
+ assertions = [
+ {
+ assertion = (cfg.listenAddress == null) != (cfg.listenInterface == null);
+ message = "You have to set either listenAddress or listenInterface";
+ }
+ {
+ assertion = (cfg.rpcAddress == null) != (cfg.rpcInterface == null);
+ message = "You have to set either rpcAddress or rpcInterface";
+ }
+ {
+ assertion = (cfg.maxHeapSize == null) == (cfg.heapNewSize == null);
+ message = "If you set either of maxHeapSize or heapNewSize you have to set both";
+ }
+ {
+ assertion = cfg.remoteJmx -> cfg.jmxRolesFile != null;
+ message = ''
+ If you want JMX available remotely you need to set a password using
+ jmxRoles or jmxRolesFile if
+ using Cassandra older than v3.11.
+ '';
+ }
+ ];
users = mkIf (cfg.user == defaultUser) {
- extraUsers.${defaultUser} =
- { group = cfg.group;
- home = cfg.homeDir;
- createHome = true;
- uid = config.ids.uids.cassandra;
- description = "Cassandra service user";
- };
- extraGroups.${defaultUser}.gid = config.ids.gids.cassandra;
+ users.${defaultUser} = {
+ group = cfg.group;
+ home = cfg.homeDir;
+ createHome = true;
+ uid = config.ids.uids.cassandra;
+ description = "Cassandra service user";
+ };
+ groups.${defaultUser}.gid = config.ids.gids.cassandra;
};
- systemd.services.cassandra =
- { description = "Apache Cassandra service";
- after = [ "network.target" ];
- environment =
- { CASSANDRA_CONF = "${cassandraEtc}";
- JVM_OPTS = builtins.concatStringsSep " " fullJvmOptions;
- MAX_HEAP_SIZE = toString cfg.maxHeapSize;
- HEAP_NEWSIZE = toString cfg.heapNewSize;
- MALLOC_ARENA_MAX = toString cfg.mallocArenaMax;
- LOCAL_JMX = if cfg.remoteJmx then "no" else "yes";
- JMX_PORT = toString cfg.jmxPort;
- };
- wantedBy = [ "multi-user.target" ];
- serviceConfig =
- { User = cfg.user;
- Group = cfg.group;
- ExecStart = "${cfg.package}/bin/cassandra -f";
- SuccessExitStatus = 143;
- };
+ systemd.services.cassandra = {
+ description = "Apache Cassandra service";
+ after = [ "network.target" ];
+ environment = {
+ CASSANDRA_CONF = "${cassandraEtc}";
+ JVM_OPTS = builtins.concatStringsSep " " fullJvmOptions;
+ MAX_HEAP_SIZE = toString cfg.maxHeapSize;
+ HEAP_NEWSIZE = toString cfg.heapNewSize;
+ MALLOC_ARENA_MAX = toString cfg.mallocArenaMax;
+ LOCAL_JMX = if cfg.remoteJmx then "no" else "yes";
+ JMX_PORT = toString cfg.jmxPort;
};
+ wantedBy = [ "multi-user.target" ];
+ serviceConfig = {
+ User = cfg.user;
+ Group = cfg.group;
+ ExecStart = "${cfg.package}/bin/cassandra -f";
+ SuccessExitStatus = 143;
+ };
+ };
- systemd.services.cassandra-full-repair =
- { description = "Perform a full repair on this Cassandra node";
- after = [ "cassandra.service" ];
- requires = [ "cassandra.service" ];
- serviceConfig =
- { User = cfg.user;
- Group = cfg.group;
- ExecStart =
- lib.concatStringsSep " "
- ([ "${cfg.package}/bin/nodetool" "repair" "--full"
- ] ++ cfg.fullRepairOptions);
- };
+ systemd.services.cassandra-full-repair = {
+ description = "Perform a full repair on this Cassandra node";
+ after = [ "cassandra.service" ];
+ requires = [ "cassandra.service" ];
+ serviceConfig = {
+ User = cfg.user;
+ Group = cfg.group;
+ ExecStart =
+ concatStringsSep " "
+ ([
+ "${cfg.package}/bin/nodetool"
+ "repair"
+ "--full"
+ ] ++ cfg.fullRepairOptions);
};
+ };
+
systemd.timers.cassandra-full-repair =
mkIf (cfg.fullRepairInterval != null) {
description = "Schedule full repairs on Cassandra";
wantedBy = [ "timers.target" ];
- timerConfig =
- { OnBootSec = cfg.fullRepairInterval;
- OnUnitActiveSec = cfg.fullRepairInterval;
- Persistent = true;
- };
+ timerConfig = {
+ OnBootSec = cfg.fullRepairInterval;
+ OnUnitActiveSec = cfg.fullRepairInterval;
+ Persistent = true;
+ };
};
- systemd.services.cassandra-incremental-repair =
- { description = "Perform an incremental repair on this cassandra node.";
- after = [ "cassandra.service" ];
- requires = [ "cassandra.service" ];
- serviceConfig =
- { User = cfg.user;
- Group = cfg.group;
- ExecStart =
- lib.concatStringsSep " "
- ([ "${cfg.package}/bin/nodetool" "repair"
- ] ++ cfg.incrementalRepairOptions);
- };
+ systemd.services.cassandra-incremental-repair = {
+ description = "Perform an incremental repair on this cassandra node.";
+ after = [ "cassandra.service" ];
+ requires = [ "cassandra.service" ];
+ serviceConfig = {
+ User = cfg.user;
+ Group = cfg.group;
+ ExecStart =
+ concatStringsSep " "
+ ([
+ "${cfg.package}/bin/nodetool"
+ "repair"
+ ] ++ cfg.incrementalRepairOptions);
};
+ };
+
systemd.timers.cassandra-incremental-repair =
mkIf (cfg.incrementalRepairInterval != null) {
description = "Schedule incremental repairs on Cassandra";
wantedBy = [ "timers.target" ];
- timerConfig =
- { OnBootSec = cfg.incrementalRepairInterval;
- OnUnitActiveSec = cfg.incrementalRepairInterval;
- Persistent = true;
- };
+ timerConfig = {
+ OnBootSec = cfg.incrementalRepairInterval;
+ OnUnitActiveSec = cfg.incrementalRepairInterval;
+ Persistent = true;
+ };
};
};
+
+ meta.maintainers = with lib.maintainers; [ roberth ];
}
diff --git a/nixos/modules/services/networking/babeld.nix b/nixos/modules/services/networking/babeld.nix
index 97dca002a007..5e14283179ac 100644
--- a/nixos/modules/services/networking/babeld.nix
+++ b/nixos/modules/services/networking/babeld.nix
@@ -32,6 +32,8 @@ in
{
+ meta.maintainers = with maintainers; [ hexa ];
+
###### interface
options = {
diff --git a/nixos/modules/services/web-servers/trafficserver.nix b/nixos/modules/services/web-servers/trafficserver.nix
new file mode 100644
index 000000000000..db0e2ac0bd05
--- /dev/null
+++ b/nixos/modules/services/web-servers/trafficserver.nix
@@ -0,0 +1,318 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+ cfg = config.services.trafficserver;
+ user = config.users.users.trafficserver.name;
+ group = config.users.groups.trafficserver.name;
+
+ getManualUrl = name: "https://docs.trafficserver.apache.org/en/latest/admin-guide/files/${name}.en.html";
+ getConfPath = name: "${pkgs.trafficserver}/etc/trafficserver/${name}";
+
+ yaml = pkgs.formats.yaml { };
+
+ fromYAML = f:
+ let
+ jsonFile = pkgs.runCommand "in.json"
+ {
+ nativeBuildInputs = [ pkgs.remarshal ];
+ } ''
+ yaml2json < "${f}" > "$out"
+ '';
+ in
+ builtins.fromJSON (builtins.readFile jsonFile);
+
+ mkYamlConf = name: cfg:
+ if cfg != null then {
+ "trafficserver/${name}.yaml".source = yaml.generate "${name}.yaml" cfg;
+ } else {
+ "trafficserver/${name}.yaml".text = "";
+ };
+
+ mkRecordLines = path: value:
+ if isAttrs value then
+ lib.mapAttrsToList (n: v: mkRecordLines (path ++ [ n ]) v) value
+ else if isInt value then
+ "CONFIG ${concatStringsSep "." path} INT ${toString value}"
+ else if isFloat value then
+ "CONFIG ${concatStringsSep "." path} FLOAT ${toString value}"
+ else
+ "CONFIG ${concatStringsSep "." path} STRING ${toString value}";
+
+ mkRecordsConfig = cfg: concatStringsSep "\n" (flatten (mkRecordLines [ ] cfg));
+ mkPluginConfig = cfg: concatStringsSep "\n" (map (p: "${p.path} ${p.arg}") cfg);
+in
+{
+ options.services.trafficserver = {
+ enable = mkEnableOption "Apache Traffic Server";
+
+ cache = mkOption {
+ type = types.lines;
+ default = "";
+ example = "dest_domain=example.com suffix=js action=never-cache";
+ description = ''
+ Caching rules that overrule the origin's caching policy.
+
+ Consult the upstream
+ documentation for more details.
+ '';
+ };
+
+ hosting = mkOption {
+ type = types.lines;
+ default = "";
+ example = "domain=example.com volume=1";
+ description = ''
+ Partition the cache according to origin server or domain
+
+ Consult the
+ upstream documentation for more details.
+ '';
+ };
+
+ ipAllow = mkOption {
+ type = types.nullOr yaml.type;
+ default = fromYAML (getConfPath "ip_allow.yaml");
+ defaultText = "upstream defaults";
+ example = literalExample {
+ ip_allow = [{
+ apply = "in";
+ ip_addrs = "127.0.0.1";
+ action = "allow";
+ methods = "ALL";
+ }];
+ };
+ description = ''
+ Control client access to Traffic Server and Traffic Server connections
+ to upstream servers.
+
+ Consult the upstream
+ documentation for more details.
+ '';
+ };
+
+ logging = mkOption {
+ type = types.nullOr yaml.type;
+ default = fromYAML (getConfPath "logging.yaml");
+ defaultText = "upstream defaults";
+ example = literalExample { };
+ description = ''
+ Configure logs.
+
+ Consult the upstream
+ documentation for more details.
+ '';
+ };
+
+ parent = mkOption {
+ type = types.lines;
+ default = "";
+ example = ''
+ dest_domain=. method=get parent="p1.example:8080; p2.example:8080" round_robin=true
+ '';
+ description = ''
+ Identify the parent proxies used in an cache hierarchy.
+
+ Consult the upstream
+ documentation for more details.
+ '';
+ };
+
+ plugins = mkOption {
+ default = [ ];
+
+ description = ''
+ Controls run-time loadable plugins available to Traffic Server, as
+ well as their configuration.
+
+ Consult the upstream
+ documentation for more details.
+ '';
+
+ type = with types;
+ listOf (submodule {
+ options.path = mkOption {
+ type = str;
+ example = "xdebug.so";
+ description = ''
+ Path to plugin. The path can either be absolute, or relative to
+ the plugin directory.
+ '';
+ };
+ options.arg = mkOption {
+ type = str;
+ default = "";
+ example = "--header=ATS-My-Debug";
+ description = "arguments to pass to the plugin";
+ };
+ });
+ };
+
+ records = mkOption {
+ type = with types;
+ let valueType = (attrsOf (oneOf [ int float str valueType ])) // {
+ description = "Traffic Server records value";
+ };
+ in
+ valueType;
+ default = { };
+ example = literalExample { proxy.config.proxy_name = "my_server"; };
+ description = ''
+ List of configurable variables used by Traffic Server.
+
+ Consult the
+ upstream documentation for more details.
+ '';
+ };
+
+ remap = mkOption {
+ type = types.lines;
+ default = "";
+ example = "map http://from.example http://origin.example";
+ description = ''
+ URL remapping rules used by Traffic Server.
+
+ Consult the
+ upstream documentation for more details.
+ '';
+ };
+
+ splitDns = mkOption {
+ type = types.lines;
+ default = "";
+ example = ''
+ dest_domain=internal.corp.example named="255.255.255.255:212 255.255.255.254" def_domain=corp.example search_list="corp.example corp1.example"
+ dest_domain=!internal.corp.example named=255.255.255.253
+ '';
+ description = ''
+ Specify the DNS server that Traffic Server should use under specific
+ conditions.
+
+ Consult the
+ upstream documentation for more details.
+ '';
+ };
+
+ sslMulticert = mkOption {
+ type = types.lines;
+ default = "";
+ example = "dest_ip=* ssl_cert_name=default.pem";
+ description = ''
+ Configure SSL server certificates to terminate the SSL sessions.
+
+ Consult the
+ upstream documentation for more details.
+ '';
+ };
+
+ sni = mkOption {
+ type = types.nullOr yaml.type;
+ default = null;
+ example = literalExample {
+ sni = [{
+ fqdn = "no-http2.example.com";
+ https = "off";
+ }];
+ };
+ description = ''
+ Configure aspects of TLS connection handling for both inbound and
+ outbound connections.
+
+ Consult the upstream
+ documentation for more details.
+ '';
+ };
+
+ storage = mkOption {
+ type = types.lines;
+ default = "/var/cache/trafficserver 256M";
+ example = "/dev/disk/by-id/XXXXX volume=1";
+ description = ''
+ List all the storage that make up the Traffic Server cache.
+
+ Consult the
+ upstream documentation for more details.
+ '';
+ };
+
+ strategies = mkOption {
+ type = types.nullOr yaml.type;
+ default = null;
+ description = ''
+ Specify the next hop proxies used in an cache hierarchy and the
+ algorithms used to select the next proxy.
+
+ Consult the
+ upstream documentation for more details.
+ '';
+ };
+
+ volume = mkOption {
+ type = types.nullOr yaml.type;
+ default = "";
+ example = "volume=1 scheme=http size=20%";
+ description = ''
+ Manage cache space more efficiently and restrict disk usage by
+ creating cache volumes of different sizes.
+
+ Consult the
+ upstream documentation for more details.
+ '';
+ };
+ };
+
+ config = mkIf cfg.enable {
+ environment.etc = {
+ "trafficserver/cache.config".text = cfg.cache;
+ "trafficserver/hosting.config".text = cfg.hosting;
+ "trafficserver/parent.config".text = cfg.parent;
+ "trafficserver/plugin.config".text = mkPluginConfig cfg.plugins;
+ "trafficserver/records.config".text = mkRecordsConfig cfg.records;
+ "trafficserver/remap.config".text = cfg.remap;
+ "trafficserver/splitdns.config".text = cfg.splitDns;
+ "trafficserver/ssl_multicert.config".text = cfg.sslMulticert;
+ "trafficserver/storage.config".text = cfg.storage;
+ "trafficserver/volume.config".text = cfg.volume;
+ } // (mkYamlConf "ip_allow" cfg.ipAllow)
+ // (mkYamlConf "logging" cfg.logging)
+ // (mkYamlConf "sni" cfg.sni)
+ // (mkYamlConf "strategies" cfg.strategies);
+
+ environment.systemPackages = [ pkgs.trafficserver ];
+ systemd.packages = [ pkgs.trafficserver ];
+
+ # Traffic Server does privilege handling independently of systemd, and
+ # therefore should be started as root
+ systemd.services.trafficserver = {
+ enable = true;
+ wantedBy = [ "multi-user.target" ];
+ };
+
+ # These directories can't be created by systemd because:
+ #
+ # 1. Traffic Servers starts as root and switches to an unprivileged user
+ # afterwards. The runtime directories defined below are assumed to be
+ # owned by that user.
+ # 2. The bin/trafficserver script assumes these directories exist.
+ systemd.tmpfiles.rules = [
+ "d '/run/trafficserver' - ${user} ${group} - -"
+ "d '/var/cache/trafficserver' - ${user} ${group} - -"
+ "d '/var/lib/trafficserver' - ${user} ${group} - -"
+ "d '/var/log/trafficserver' - ${user} ${group} - -"
+ ];
+
+ services.trafficserver = {
+ records.proxy.config.admin.user_id = user;
+ records.proxy.config.body_factory.template_sets_dir =
+ "${pkgs.trafficserver}/etc/trafficserver/body_factory";
+ };
+
+ users.users.trafficserver = {
+ description = "Apache Traffic Server";
+ isSystemUser = true;
+ inherit group;
+ };
+ users.groups.trafficserver = { };
+ };
+}
diff --git a/nixos/modules/services/x11/desktop-managers/xfce.nix b/nixos/modules/services/x11/desktop-managers/xfce.nix
index fc7f7bea4e44..7d2856939c80 100644
--- a/nixos/modules/services/x11/desktop-managers/xfce.nix
+++ b/nixos/modules/services/x11/desktop-managers/xfce.nix
@@ -151,7 +151,6 @@ in
services.upower.enable = config.powerManagement.enable;
services.gnome3.glib-networking.enable = true;
services.gvfs.enable = true;
- services.gvfs.package = pkgs.xfce.gvfs;
services.tumbler.enable = true;
services.system-config-printer.enable = (mkIf config.services.printing.enable (mkDefault true));
services.xserver.libinput.enable = mkDefault true; # used in xfce4-settings-manager
diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix
index 4f42f53c1e1b..cef95fff4a37 100644
--- a/nixos/tests/all-tests.nix
+++ b/nixos/tests/all-tests.nix
@@ -414,6 +414,7 @@ in
# traefik test relies on docker-containers
trac = handleTest ./trac.nix {};
traefik = handleTestOn ["x86_64-linux"] ./traefik.nix {};
+ trafficserver = handleTest ./trafficserver.nix {};
transmission = handleTest ./transmission.nix {};
trezord = handleTest ./trezord.nix {};
trickster = handleTest ./trickster.nix {};
diff --git a/nixos/tests/custom-ca.nix b/nixos/tests/custom-ca.nix
index 67f7b3ff1f16..31909188d3a7 100644
--- a/nixos/tests/custom-ca.nix
+++ b/nixos/tests/custom-ca.nix
@@ -92,13 +92,19 @@ in
{ onlySSL = true;
sslCertificate = "${example-good-cert}/server.crt";
sslCertificateKey = "${example-good-cert}/server.key";
- locations."/".extraConfig = "return 200 'It works!';";
+ locations."/".extraConfig = ''
+ add_header Content-Type text/plain;
+ return 200 'It works!';
+ '';
};
services.nginx.virtualHosts."bad.example.com" =
{ onlySSL = true;
sslCertificate = "${example-bad-cert}/server.crt";
sslCertificateKey = "${example-bad-cert}/server.key";
- locations."/".extraConfig = "return 200 'It does not work!';";
+ locations."/".extraConfig = ''
+ add_header Content-Type text/plain;
+ return 200 'It does not work!';
+ '';
};
environment.systemPackages = with pkgs;
diff --git a/nixos/tests/trafficserver.nix b/nixos/tests/trafficserver.nix
new file mode 100644
index 000000000000..3979a1b4a482
--- /dev/null
+++ b/nixos/tests/trafficserver.nix
@@ -0,0 +1,176 @@
+# verifies:
+# 1. Traffic Server is able to start
+# 2. Traffic Server spawns traffic_crashlog upon startup
+# 3. Traffic Server proxies HTTP requests according to URL remapping rules
+# in 'services.trafficserver.remap'
+# 4. Traffic Server applies per-map settings specified with the conf_remap
+# plugin
+# 5. Traffic Server caches HTTP responses
+# 6. Traffic Server processes HTTP PUSH requests
+# 7. Traffic Server can load the healthchecks plugin
+# 8. Traffic Server logs HTTP traffic as configured
+#
+# uses:
+# - bin/traffic_manager
+# - bin/traffic_server
+# - bin/traffic_crashlog
+# - bin/traffic_cache_tool
+# - bin/traffic_ctl
+# - bin/traffic_logcat
+# - bin/traffic_logstats
+# - bin/tspush
+import ./make-test-python.nix ({ pkgs, ... }: {
+ name = "trafficserver";
+ meta = with pkgs.lib.maintainers; {
+ maintainers = [ midchildan ];
+ };
+
+ nodes = {
+ ats = { pkgs, lib, config, ... }: let
+ user = config.users.users.trafficserver.name;
+ group = config.users.groups.trafficserver.name;
+ healthchecks = pkgs.writeText "healthchecks.conf" ''
+ /status /tmp/ats.status text/plain 200 500
+ '';
+ in {
+ services.trafficserver.enable = true;
+
+ services.trafficserver.records = {
+ proxy.config.http.server_ports = "80 80:ipv6";
+ proxy.config.hostdb.host_file.path = "/etc/hosts";
+ proxy.config.log.max_space_mb_headroom = 0;
+ proxy.config.http.push_method_enabled = 1;
+
+ # check that cache storage is usable before accepting traffic
+ proxy.config.http.wait_for_cache = 2;
+ };
+
+ services.trafficserver.plugins = [
+ { path = "healthchecks.so"; arg = toString healthchecks; }
+ { path = "xdebug.so"; }
+ ];
+
+ services.trafficserver.remap = ''
+ map http://httpbin.test http://httpbin
+ map http://pristine-host-hdr.test http://httpbin \
+ @plugin=conf_remap.so \
+ @pparam=proxy.config.url_remap.pristine_host_hdr=1
+ map http://ats/tspush http://httpbin/cache \
+ @plugin=conf_remap.so \
+ @pparam=proxy.config.http.cache.required_headers=0
+ '';
+
+ services.trafficserver.storage = ''
+ /dev/vdb volume=1
+ '';
+
+ networking.firewall.allowedTCPPorts = [ 80 ];
+ virtualisation.emptyDiskImages = [ 256 ];
+ services.udev.extraRules = ''
+ KERNEL=="vdb", OWNER="${user}", GROUP="${group}"
+ '';
+ };
+
+ httpbin = { pkgs, lib, ... }: let
+ python = pkgs.python3.withPackages
+ (ps: with ps; [ httpbin gunicorn gevent ]);
+ in {
+ systemd.services.httpbin = {
+ enable = true;
+ after = [ "network.target" ];
+ wantedBy = [ "multi-user.target" ];
+ serviceConfig = {
+ ExecStart = "${python}/bin/gunicorn -b 0.0.0.0:80 httpbin:app -k gevent";
+ };
+ };
+
+ networking.firewall.allowedTCPPorts = [ 80 ];
+ };
+
+ client = { pkgs, lib, ... }: {
+ environment.systemPackages = with pkgs; [ curl ];
+ };
+ };
+
+ testScript = { nodes, ... }: let
+ sampleFile = pkgs.writeText "sample.txt" ''
+ It's the season of White Album.
+ '';
+ in ''
+ import json
+ import re
+
+ ats.wait_for_unit("trafficserver")
+ ats.wait_for_open_port(80)
+ httpbin.wait_for_unit("httpbin")
+ httpbin.wait_for_open_port(80)
+
+ with subtest("Traffic Server is running"):
+ out = ats.succeed("traffic_ctl server status")
+ assert out.strip() == "Proxy -- on"
+
+ with subtest("traffic_crashlog is running"):
+ ats.succeed("pgrep -f traffic_crashlog")
+
+ with subtest("basic remapping works"):
+ out = client.succeed("curl -vv -H 'Host: httpbin.test' http://ats/headers")
+ assert json.loads(out)["headers"]["Host"] == "httpbin"
+
+ with subtest("conf_remap plugin works"):
+ out = client.succeed(
+ "curl -vv -H 'Host: pristine-host-hdr.test' http://ats/headers"
+ )
+ assert json.loads(out)["headers"]["Host"] == "pristine-host-hdr.test"
+
+ with subtest("caching works"):
+ out = client.succeed(
+ "curl -vv -D - -H 'Host: httpbin.test' -H 'X-Debug: X-Cache' http://ats/cache/60 -o /dev/null"
+ )
+ assert "X-Cache: miss" in out
+
+ out = client.succeed(
+ "curl -vv -D - -H 'Host: httpbin.test' -H 'X-Debug: X-Cache' http://ats/cache/60 -o /dev/null"
+ )
+ assert "X-Cache: hit-fresh" in out
+
+ with subtest("pushing to cache works"):
+ url = "http://ats/tspush"
+
+ ats.succeed(f"echo {url} > /tmp/urls.txt")
+ out = ats.succeed(
+ f"tspush -f '${sampleFile}' -u {url}"
+ )
+ assert "HTTP/1.0 201 Created" in out, "cache push failed"
+
+ out = ats.succeed(
+ "traffic_cache_tool --spans /etc/trafficserver/storage.config find --input /tmp/urls.txt"
+ )
+ assert "Span: /dev/vdb" in out, "cache not stored on disk"
+
+ out = client.succeed(f"curl {url}").strip()
+ expected = (
+ open("${sampleFile}").read().strip()
+ )
+ assert out == expected, "cache content mismatch"
+
+ with subtest("healthcheck plugin works"):
+ out = client.succeed("curl -vv http://ats/status -o /dev/null -w '%{http_code}'")
+ assert out.strip() == "500"
+
+ ats.succeed("touch /tmp/ats.status")
+
+ out = client.succeed("curl -vv http://ats/status -o /dev/null -w '%{http_code}'")
+ assert out.strip() == "200"
+
+ with subtest("logging works"):
+ access_log_path = "/var/log/trafficserver/squid.blog"
+ ats.wait_for_file(access_log_path)
+
+ out = ats.succeed(f"traffic_logcat {access_log_path}").split("\n")[0]
+ expected = "^\S+ \S+ \S+ TCP_MISS/200 \S+ GET http://httpbin/headers - DIRECT/httpbin application/json$"
+ assert re.fullmatch(expected, out) is not None, "no matching logs"
+
+ out = json.loads(ats.succeed(f"traffic_logstats -jf {access_log_path}"))
+ assert out["total"]["error.total"]["req"] == "0", "unexpected log stat"
+ '';
+})
diff --git a/pkgs/applications/audio/bucklespring/default.nix b/pkgs/applications/audio/bucklespring/default.nix
new file mode 100644
index 000000000000..8b1432c5ae80
--- /dev/null
+++ b/pkgs/applications/audio/bucklespring/default.nix
@@ -0,0 +1,63 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+
+, legacy ? false
+, libinput
+
+, pkg-config
+, makeWrapper
+
+, openal
+, alure
+, libXtst
+, libX11
+}:
+
+let
+ inherit (lib) optionals;
+in
+stdenv.mkDerivation rec {
+ pname = "bucklespring";
+ version = "unstable-2021-01-21";
+
+ src = fetchFromGitHub {
+ owner = "zevv";
+ repo = pname;
+ rev = "d63100c4561dd7c57efe6440c12fa8d9e9604145";
+ sha256 = "114dib4npb7r1z2zd1fwsx71xbf9r6psxqd7n7590cwz1w3r51mz";
+ };
+
+ nativeBuildInputs = [ pkg-config makeWrapper ];
+
+ buildInputs = [ openal alure ]
+ ++ optionals (legacy) [ libXtst libX11 ]
+ ++ optionals (!legacy) [ libinput ];
+
+ makeFlags = optionals (!legacy) [ "libinput=1" ];
+
+ installPhase = ''
+ runHook preInstall
+
+ mkdir -p $out/share/wav
+ cp -r $src/wav $out/share/.
+ install -D ./buckle.desktop $out/share/applications/buckle.desktop
+ install -D ./buckle $out/bin/buckle
+ wrapProgram $out/bin/buckle --add-flags "-p $out/share/wav"
+
+ runHook postInstall
+ '';
+
+ meta = with lib; {
+ description = "Nostalgia bucklespring keyboard sound";
+ longDescription = ''
+ When built with libinput (wayland or bare console),
+ users need to be in the input group to use this:
+ users.users.alice.extraGroups = [ "input" ];
+ '';
+ homepage = "https://github.com/zevv/bucklespring";
+ license = licenses.gpl2Only;
+ platforms = platforms.unix;
+ maintainers = [ maintainers.evils ];
+ };
+}
diff --git a/pkgs/applications/editors/bluej/default.nix b/pkgs/applications/editors/bluej/default.nix
index 9b28de9440fc..a34d6983b2f4 100644
--- a/pkgs/applications/editors/bluej/default.nix
+++ b/pkgs/applications/editors/bluej/default.nix
@@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "bluej";
- version = "5.0.0";
+ version = "5.0.1";
src = fetchurl {
# We use the deb here. First instinct might be to go for the "generic" JAR
# download, but that is actually a graphical installer that is much harder
# to unpack than the deb.
url = "https://www.bluej.org/download/files/BlueJ-linux-${builtins.replaceStrings ["."] [""] version}.deb";
- sha256 = "sha256-U81FIf67Qm/86+hA9iUCHt61dxiZsTkkequlVjft6/0=";
+ sha256 = "sha256-KhNhJ2xsw1g2yemwP6NQmJvk4cxZAQQNPEUBuLso5qM=";
};
nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/applications/graphics/foxotron/default.nix b/pkgs/applications/graphics/foxotron/default.nix
index 71adfe0d2dba..d8862525030e 100644
--- a/pkgs/applications/graphics/foxotron/default.nix
+++ b/pkgs/applications/graphics/foxotron/default.nix
@@ -25,14 +25,14 @@
stdenv.mkDerivation rec {
pname = "foxotron";
- version = "2021-03-12";
+ version = "2021-04-19";
src = fetchFromGitHub {
owner = "Gargaj";
repo = "Foxotron";
rev = version;
fetchSubmodules = true;
- sha256 = "1finvbs3pbfyvm525blwgwl5jci2zjxb1923i0cm8rmf7wasaapb";
+ sha256 = "sha256-YTCnWHXBNqvJmhRqRQRFCVvBcqbjKzcc3AKVXS0jvno=";
};
nativeBuildInputs = [ cmake pkg-config makeWrapper ];
@@ -67,7 +67,7 @@ stdenv.mkDerivation rec {
Revision 2021 3D Graphics Competition.
'';
homepage = "https://github.com/Gargaj/Foxotron";
- license = licenses.publicDomain;
+ license = licenses.unlicense;
maintainers = with maintainers; [ OPNA2608 ];
platforms = platforms.all;
};
diff --git a/pkgs/applications/misc/dbeaver/default.nix b/pkgs/applications/misc/dbeaver/default.nix
index fa5240b5333a..234ed7410f9c 100644
--- a/pkgs/applications/misc/dbeaver/default.nix
+++ b/pkgs/applications/misc/dbeaver/default.nix
@@ -2,7 +2,6 @@
, stdenv
, copyDesktopItems
, fetchFromGitHub
-, fetchpatch
, makeDesktopItem
, makeWrapper
, fontconfig
@@ -19,18 +18,18 @@
stdenv.mkDerivation rec {
pname = "dbeaver-ce";
- version = "21.0.3"; # When updating also update fetchedMavenDeps.sha256
+ version = "21.0.4"; # When updating also update fetchedMavenDeps.sha256
src = fetchFromGitHub {
owner = "dbeaver";
repo = "dbeaver";
rev = version;
- sha256 = "sha256-ItM8t+gqE0ccuuimfEMUddykl+xt2eZIBd3MbpreRwA=";
+ sha256 = "sha256-jV7Pe4MsLQnIrkDnlI2SrPzSjiDHM59GbMy4G7oeQK8=";
};
fetchedMavenDeps = stdenv.mkDerivation {
name = "dbeaver-${version}-maven-deps";
- inherit src patches;
+ inherit src;
buildInputs = [
maven
@@ -51,18 +50,9 @@ stdenv.mkDerivation rec {
dontFixup = true;
outputHashAlgo = "sha256";
outputHashMode = "recursive";
- outputHash = "sha256-rsK/B39ogNu5nC41OfyAsLiwBz4gWyH+8Fj7E6+rOng=";
+ outputHash = "sha256-RspJTWVM0ZpAz4yDeKsG7wSHZ//bi3SSV5c0gbsqZKY=";
};
- patches = [
- # Fix eclipse-color-theme URL (https://github.com/dbeaver/dbeaver/pull/12133)
- # After April 15, 2021 eclipse-color-theme.github.com no longer redirects to eclipse-color-theme.github.io
- (fetchpatch {
- url = "https://github.com/dbeaver/dbeaver/commit/65d65e2c2c711cc87fddcec425a6915aa80f4ced.patch";
- sha256 = "sha256-pxOcRYkV/5o+tHcRhHDZ1TmZSHMnKBmkNTVAlIf9nUE=";
- })
- ];
-
nativeBuildInputs = [
copyDesktopItems
makeWrapper
diff --git a/pkgs/applications/misc/googleearth-pro/default.nix b/pkgs/applications/misc/googleearth-pro/default.nix
index e5192c9a73e5..e7cfe04da6e8 100644
--- a/pkgs/applications/misc/googleearth-pro/default.nix
+++ b/pkgs/applications/misc/googleearth-pro/default.nix
@@ -1,41 +1,54 @@
-{ lib, stdenv, fetchurl, glibc, libGLU, libGL, freetype, glib, libSM, libICE, libXi, libXv
-, libXrender, libXrandr, libXfixes, libXcursor, libXinerama, libXext, libX11, libXcomposite
-, libxcb, sqlite, zlib, fontconfig, dpkg, libproxy, libxml2, gst_all_1, dbus, makeWrapper }:
+{ lib
+, stdenv
+, mkDerivation
+, fetchurl
+, ffmpeg_3
+, freetype
+, gdal_2
+, glib
+, libGL
+, libGLU
+, libICE
+, libSM
+, libXi
+, libXv
+, libav_12
+, libXrender
+, libXrandr
+, libXfixes
+, libXcursor
+, libXinerama
+, libXext
+, libX11
+, libXcomposite
+
+, libxcb
+, sqlite
+, zlib
+, fontconfig
+, dpkg
+, libproxy
+, libxml2
+, gst_all_1
+, dbus
+, makeWrapper
+
+, qtlocation
+, qtwebkit
+, qtx11extras
+, qtsensors
+, qtscript
+
+, xkeyboardconfig
+, autoPatchelfHook
+}:
let
arch =
if stdenv.hostPlatform.system == "x86_64-linux" then "amd64"
else throw "Unsupported system ${stdenv.hostPlatform.system} ";
- fullPath = lib.makeLibraryPath [
- glibc
- glib
- stdenv.cc.cc
- libSM
- libICE
- libXi
- libXv
- libGLU libGL
- libXrender
- libXrandr
- libXfixes
- libXcursor
- libXinerama
- libXcomposite
- freetype
- libXext
- libX11
- libxcb
- sqlite
- zlib
- fontconfig
- libproxy
- libxml2
- dbus
- gst_all_1.gstreamer
- gst_all_1.gst-plugins-base
- ];
in
-stdenv.mkDerivation rec {
+mkDerivation rec {
pname = "googleearth-pro";
version = "7.3.3.7786";
@@ -44,20 +57,56 @@ stdenv.mkDerivation rec {
sha256 = "1s3cakwrgf702g33rh8qs657d8bl68wgg8k89rksgvswwpd2zbb3";
};
- nativeBuildInputs = [ dpkg makeWrapper ];
+ nativeBuildInputs = [ dpkg makeWrapper autoPatchelfHook ];
+ propagatedBuildInputs = [ xkeyboardconfig ];
+ buildInputs = [
+ dbus
+ ffmpeg_3
+ fontconfig
+ freetype
+ gdal_2
+ glib
+ gst_all_1.gst-plugins-base
+ gst_all_1.gstreamer
+ libGL
+ libGLU
+ libICE
+ libSM
+ libX11
+ libXcomposite
+ libXcursor
+ libXext
+ libXfixes
+ libXi
+ libXinerama
+ libXrandr
+ libXrender
+ libXv
+ libav_12
+ libproxy
+ libxcb
+ libxml2
+ qtlocation
+ qtscript
+ qtsensors
+ qtwebkit
+ qtx11extras
+ sqlite
+ zlib
+ ];
doInstallCheck = true;
dontBuild = true;
- dontPatchELF = true;
-
unpackPhase = ''
# deb file contains a setuid binary, so 'dpkg -x' doesn't work here
dpkg --fsys-tarfile ${src} | tar --extract
'';
installPhase =''
+ runHook preInstall
+
mkdir $out
mv usr/* $out/
rmdir usr
@@ -66,20 +115,9 @@ stdenv.mkDerivation rec {
# patch and link googleearth binary
ln -s $out/opt/google/earth/pro/googleearth-bin $out/bin/googleearth-pro
- patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
- --set-rpath "${fullPath}:\$ORIGIN" \
- $out/opt/google/earth/pro/googleearth-bin
# patch and link gpsbabel binary
ln -s $out/opt/google/earth/pro/gpsbabel $out/bin/gpsbabel
- patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
- --set-rpath "${fullPath}:\$ORIGIN" \
- $out/opt/google/earth/pro/gpsbabel
-
- # patch libraries
- for a in $out/opt/google/earth/pro/*.so* ; do
- patchelf --set-rpath "${fullPath}:\$ORIGIN" $a
- done
# Add desktop config file and icons
mkdir -p $out/share/{applications,icons/hicolor/{16x16,22x22,24x24,32x32,48x48,64x64,128x128,256x256}/apps,pixmaps}
@@ -89,23 +127,37 @@ stdenv.mkDerivation rec {
ln -s $out/opt/google/earth/pro/product_logo_"$size".png $out/share/icons/hicolor/"$size"x"$size"/apps/google-earth-pro.png
done
ln -s $out/opt/google/earth/pro/product_logo_256.png $out/share/pixmaps/google-earth-pro.png
+
+ runHook postInstall
'';
+ postInstall = ''
+ find "$out/opt/google/earth/pro" -name "*.so.*" | \
+ egrep -v 'libssl*|libcrypto*|libicu*' | \
+ xargs rm
+ find "$out/opt/google/earth/pro" -name "*.so" | \
+ egrep -v 'libgoogle*|libauth*|libbase*|libcommon*|libcommon_gui*|libcommon_platform*|libcommon_webbrowser*|libcomponentframework*|libgeobase*|libgeobaseutils*|libge_net*|libgdata*|libgoogleapi*|libmath*|libmoduleframework*|libmaps*|libport*|libprintmodule*|libprofile*|librender*|libreporting*|libsgutil*|libspatial*|libxsltransform*|libbase*|libport*|libport*|libbase*|libcomponentframework*|libIGCore*|libIGUtils*|libaction*|libapiloader*|libapiloader*|libIGCore*|libIGUtils*|libIGMath*|libfusioncommon*|libge_exif*|libaction*|libfusioncommon*|libapiloader*|liblayer*|libapiloader*|libIGAttrs*|libIGCore*|libIGGfx*|libIGMath*|libIGSg*|libIGUtils*|libwmsbase*|libwebbrowser*|libevllpro*|libalchemyext*|libge_cache*|libflightsim*|libnpgeinprocessplugin*|libmeasure*|libviewsync*|libcapture*|libtheme*|libgps*|libgisingest*|libsearchmodule*|libinput_plugin*|libnavigate*|libspnav*|libsearch*|libLeap*' | \
+ xargs rm
+ '';
+
+ autoPatchelfIgnoreMissingDeps=true;
+
installCheckPhase = ''
$out/bin/gpsbabel -V > /dev/null
'';
# wayland is not supported by Qt included in binary package, so make sure it uses xcb
- fixupPhase = ''
- wrapProgram $out/bin/googleearth-pro --set QT_QPA_PLATFORM xcb
+ postFixup = ''
+ wrapProgram $out/bin/googleearth-pro \
+ --set QT_QPA_PLATFORM xcb \
+ --set QT_XKB_CONFIG_ROOT "${xkeyboardconfig}/share/X11/xkb"
'';
-
meta = with lib; {
description = "A world sphere viewer";
- homepage = "https://earth.google.com";
+ homepage = "https://www.google.com/earth/";
license = licenses.unfree;
- maintainers = with maintainers; [ friedelino ];
+ maintainers = with maintainers; [ friedelino shamilton ];
platforms = platforms.linux;
};
}
diff --git a/pkgs/applications/misc/metadata-cleaner/default.nix b/pkgs/applications/misc/metadata-cleaner/default.nix
index b1b77a53ea00..6807e056152c 100644
--- a/pkgs/applications/misc/metadata-cleaner/default.nix
+++ b/pkgs/applications/misc/metadata-cleaner/default.nix
@@ -17,7 +17,7 @@
python3.pkgs.buildPythonApplication rec {
pname = "metadata-cleaner";
- version = "1.0.4";
+ version = "1.0.5";
format = "other";
@@ -25,7 +25,7 @@ python3.pkgs.buildPythonApplication rec {
owner = "rmnvgr";
repo = "metadata-cleaner";
rev = "v${version}";
- sha256 = "sha256-F/xh4dFX7W50kFzpWpGKyMUhxOlDO3WDXBzXVsDViY8=";
+ sha256 = "sha256-9s9i703Svql1Nn1M1sFp3FOtLGjuxXi6YR6nsUJCkeg=";
};
nativeBuildInputs = [
diff --git a/pkgs/applications/networking/cluster/tektoncd-cli/default.nix b/pkgs/applications/networking/cluster/tektoncd-cli/default.nix
index 9ab5b94251bd..979216b3ccd5 100644
--- a/pkgs/applications/networking/cluster/tektoncd-cli/default.nix
+++ b/pkgs/applications/networking/cluster/tektoncd-cli/default.nix
@@ -2,13 +2,13 @@
buildGoModule rec {
pname = "tektoncd-cli";
- version = "0.17.2";
+ version = "0.18.0";
src = fetchFromGitHub {
owner = "tektoncd";
repo = "cli";
rev = "v${version}";
- sha256 = "sha256-7VG9OFt1yVt4st8EM1aiRqLCHwjSqib28GoamoJHHnM=";
+ sha256 = "sha256-vZxpfVMUl1EZwCuLlwmSKWrz86aTjWYlAIwO4b9ACqk=";
};
vendorSha256 = null;
@@ -24,6 +24,8 @@ buildGoModule rec {
excludedPackages = "\\(third_party\\|cmd/docs\\)";
preCheck = ''
+ # Some tests try to write to the home dir
+ export HOME="$TMPDIR"
# Change the golden files to match our desired version
sed -i "s/dev/${version}/" pkg/cmd/version/testdata/TestGetVersions-*.golden
'';
diff --git a/pkgs/applications/networking/instant-messengers/slack/default.nix b/pkgs/applications/networking/instant-messengers/slack/default.nix
index 1775e45d4e6e..6269e5c3a97f 100644
--- a/pkgs/applications/networking/instant-messengers/slack/default.nix
+++ b/pkgs/applications/networking/instant-messengers/slack/default.nix
@@ -42,11 +42,11 @@ let
pname = "slack";
- x86_64-darwin-version = "4.14.0";
- x86_64-darwin-sha256 = "0kpjsnriav6rcddjkz0z9arxjd09i6bw2krnmf3dc31my64nmxs6";
+ x86_64-darwin-version = "4.15.0";
+ x86_64-darwin-sha256 = "12mfha0f7nciszsv7fb0zk4y10p63mh7kaw8gbk3q2fmyp8aij6l";
- x86_64-linux-version = "4.14.0";
- x86_64-linux-sha256 = "0xy9i8ssjba62ca7lfan58rhwx69wkapfd0jzkaj95qhqnv019fg";
+ x86_64-linux-version = "4.15.0";
+ x86_64-linux-sha256 = "1xzp7ql4i3n3fqfwk0400hkg4xn0pi66sy5jzqn68z33zzf7raii";
version = {
x86_64-darwin = x86_64-darwin-version;
diff --git a/pkgs/applications/science/logic/lean/default.nix b/pkgs/applications/science/logic/lean/default.nix
index 3a0b13d7d09c..aa7fe5ab9147 100644
--- a/pkgs/applications/science/logic/lean/default.nix
+++ b/pkgs/applications/science/logic/lean/default.nix
@@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "lean";
- version = "3.29.0";
+ version = "3.30.0";
src = fetchFromGitHub {
owner = "leanprover-community";
repo = "lean";
rev = "v${version}";
- sha256 = "sha256-f2Gp76c+4R+ww52f1AyVZqixpei1WZPwr7pfgxMMb9Q=";
+ sha256 = "sha256-gJhbkl19iilNyfCt2TfPmghYA3yCjg6kS+yk/x/k14Y=";
};
nativeBuildInputs = [ cmake ];
diff --git a/pkgs/applications/version-management/redmine/Gemfile.lock b/pkgs/applications/version-management/redmine/Gemfile.lock
index d3afc9de341a..7f3fc0650cf4 100644
--- a/pkgs/applications/version-management/redmine/Gemfile.lock
+++ b/pkgs/applications/version-management/redmine/Gemfile.lock
@@ -70,28 +70,28 @@ GEM
globalid (0.4.2)
activesupport (>= 4.2.0)
htmlentities (4.3.4)
- i18n (1.8.9)
+ i18n (1.8.10)
concurrent-ruby (~> 1.0)
- loofah (2.9.0)
+ loofah (2.9.1)
crass (~> 1.0.2)
nokogiri (>= 1.5.9)
mail (2.7.1)
mini_mime (>= 0.1.1)
- marcel (1.0.0)
+ marcel (1.0.1)
method_source (1.0.0)
mini_magick (4.11.0)
mini_mime (1.0.3)
- mini_portile2 (2.5.0)
+ mini_portile2 (2.5.1)
minitest (5.14.4)
mocha (1.12.0)
mysql2 (0.5.3)
net-ldap (0.17.0)
nio4r (2.5.7)
- nokogiri (1.11.2)
+ nokogiri (1.11.3)
mini_portile2 (~> 2.5.0)
racc (~> 1.4)
parallel (1.20.1)
- parser (3.0.0.0)
+ parser (3.0.1.0)
ast (~> 2.4.1)
pg (1.2.3)
public_suffix (4.0.6)
@@ -138,7 +138,7 @@ GEM
regexp_parser (1.8.2)
request_store (1.5.0)
rack (>= 1.4)
- rexml (3.2.4)
+ rexml (3.2.5)
roadie (4.0.0)
css_parser (~> 1.4)
nokogiri (~> 1.8)
@@ -151,7 +151,7 @@ GEM
chunky_png (~> 1.0)
rqrcode_core (~> 0.2)
rqrcode_core (0.2.0)
- rubocop (1.12.0)
+ rubocop (1.12.1)
parallel (~> 1.10)
parser (>= 3.0.0.0)
rainbow (>= 2.2.2, < 4.0)
diff --git a/pkgs/applications/version-management/redmine/default.nix b/pkgs/applications/version-management/redmine/default.nix
index e0559a9c48f9..7eca72ac5f00 100644
--- a/pkgs/applications/version-management/redmine/default.nix
+++ b/pkgs/applications/version-management/redmine/default.nix
@@ -1,7 +1,7 @@
{ lib, stdenv, fetchurl, bundlerEnv, ruby, makeWrapper }:
let
- version = "4.2.0";
+ version = "4.2.1";
rubyEnv = bundlerEnv {
name = "redmine-env-${version}";
@@ -16,7 +16,7 @@ in
src = fetchurl {
url = "https://www.redmine.org/releases/${pname}-${version}.tar.gz";
- sha256 = "1r87gy73dclnvcz55vziv6kbgyck0v8jlzx1wwkak8mgh32n8n19";
+ sha256 = "1d217fhyvncpwahwlinr3vc20vn7jijaxxk1i56gw72z8b1hjhdd";
};
nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/applications/version-management/redmine/gemset.nix b/pkgs/applications/version-management/redmine/gemset.nix
index b545c9d6a3e2..2d045a5f2926 100644
--- a/pkgs/applications/version-management/redmine/gemset.nix
+++ b/pkgs/applications/version-management/redmine/gemset.nix
@@ -269,10 +269,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
- sha256 = "08p6b13p99j1rrcrw1l3v0kb9mxbsvy6nk31r8h4rnszdgzpga32";
+ sha256 = "0g2fnag935zn2ggm5cn6k4s4xvv53v2givj1j90szmvavlpya96a";
type = "gem";
};
- version = "1.8.9";
+ version = "1.8.10";
};
loofah = {
dependencies = ["crass" "nokogiri"];
@@ -280,10 +280,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
- sha256 = "0bzwvxvilx7w1p3pg028ks38925y9i0xm870lm7s12w7598hiyck";
+ sha256 = "1w9mbii8515p28xd4k72f3ab2g6xiyq15497ys5r8jn6m355lgi7";
type = "gem";
};
- version = "2.9.0";
+ version = "2.9.1";
};
mail = {
dependencies = ["mini_mime"];
@@ -301,10 +301,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
- sha256 = "1vhp6lifwvqs2b0a276lj61n86c1l7d1xiswjj2w23f54gl51mpk";
+ sha256 = "0bp001p687nsa4a8sp3q1iv8pfhs24w7s3avychjp64sdkg6jxq3";
type = "gem";
};
- version = "1.0.0";
+ version = "1.0.1";
};
method_source = {
groups = ["default"];
@@ -341,10 +341,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
- sha256 = "1hdbpmamx8js53yk3h8cqy12kgv6ca06k0c9n3pxh6b6cjfs19x7";
+ sha256 = "0xg1x4708a4pn2wk8qs2d8kfzzdyv9kjjachg2f1phsx62ap2rx2";
type = "gem";
};
- version = "2.5.0";
+ version = "2.5.1";
};
minitest = {
groups = ["default" "test"];
@@ -410,10 +410,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
- sha256 = "0b51df8fwadak075cvi17w0nch6qz1r66564qp29qwfj67j9qp0p";
+ sha256 = "19d78mdg2lbz9jb4ph6nk783c9jbsdm8rnllwhga6pd53xffp6x0";
type = "gem";
};
- version = "1.11.2";
+ version = "1.11.3";
};
parallel = {
groups = ["default" "test"];
@@ -431,10 +431,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
- sha256 = "1jixakyzmy0j5c1rb0fjrrdhgnyryvrr6vgcybs14jfw09akv5ml";
+ sha256 = "04ri489irbbx6sbkclpgri7j7p99v2qib5g2i70xx5fay12ilny8";
type = "gem";
};
- version = "3.0.0.0";
+ version = "3.0.1.0";
};
pg = {
groups = ["default"];
@@ -638,10 +638,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
- sha256 = "1mkvkcw9fhpaizrhca0pdgjcrbns48rlz4g6lavl5gjjq3rk2sq3";
+ sha256 = "08ximcyfjy94pm1rhcx04ny1vx2sk0x4y185gzn86yfsbzwkng53";
type = "gem";
};
- version = "3.2.4";
+ version = "3.2.5";
};
roadie = {
dependencies = ["css_parser" "nokogiri"];
@@ -712,10 +712,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
- sha256 = "1i3y0h6awywx4rdmjdan908jmnyk589pndbjypxkfbkqvjx514fw";
+ sha256 = "0hi2c3a6alya9yx07nirnjzlc0mvmidnx67874njp6wf7d5xqqr9";
type = "gem";
};
- version = "1.12.0";
+ version = "1.12.1";
};
rubocop-ast = {
dependencies = ["parser"];
diff --git a/pkgs/applications/virtualization/cloud-hypervisor/default.nix b/pkgs/applications/virtualization/cloud-hypervisor/default.nix
index 5a12be3afa6c..d04c0230c97f 100644
--- a/pkgs/applications/virtualization/cloud-hypervisor/default.nix
+++ b/pkgs/applications/virtualization/cloud-hypervisor/default.nix
@@ -2,19 +2,19 @@
rustPlatform.buildRustPackage rec {
pname = "cloud-hypervisor";
- version = "0.14.1";
+ version = "15.0";
src = fetchFromGitHub {
owner = "cloud-hypervisor";
repo = pname;
rev = "v${version}";
- sha256 = "0pnfg6dzpz8v40cwg3dmlj52x8pblavv7mkczar814dwbk01y7vr";
+ sha256 = "14s80vs7j5fxzl2a6k44fjlbk8i13lln28i37xaa6yk1q3d9jwic";
};
nativeBuildInputs = [ pkg-config ];
buildInputs = [ openssl ] ++ lib.optional stdenv.isAarch64 dtc;
- cargoSha256 = "0dbjds40znly11i0ssfv66w82ynxp00ixw1349m5ln9i9ms94sr4";
+ cargoSha256 = "02q4k7j1hyibsiwsbqa5bd4vr3fs1vngnnhqa4kzvih73bkagvk7";
meta = with lib; {
homepage = "https://github.com/cloud-hypervisor/cloud-hypervisor";
diff --git a/pkgs/desktops/xfce/applications/gigolo/default.nix b/pkgs/desktops/xfce/applications/gigolo/default.nix
index b9ff011f3be1..4b7c258ca593 100644
--- a/pkgs/desktops/xfce/applications/gigolo/default.nix
+++ b/pkgs/desktops/xfce/applications/gigolo/default.nix
@@ -1,4 +1,4 @@
-{ lib, mkXfceDerivation, gtk3, gvfs, glib }:
+{ lib, mkXfceDerivation, gtk3, glib }:
mkXfceDerivation {
category = "apps";
@@ -8,12 +8,7 @@ mkXfceDerivation {
sha256 = "8UDb4H3zxRKx2y+MRsozQoR3es0fs5ooR/5wBIE11bY=";
- buildInputs = [ gtk3 glib gvfs ];
-
- postPatch = ''
- # exo-csource has been dropped from exo
- substituteInPlace src/Makefile.am --replace exo-csource xdt-csource
- '';
+ buildInputs = [ gtk3 glib ];
meta = {
description = "A frontend to easily manage connections to remote filesystems";
diff --git a/pkgs/desktops/xfce/core/thunar/default.nix b/pkgs/desktops/xfce/core/thunar/default.nix
index cc94683ddde4..e220e29f3edc 100644
--- a/pkgs/desktops/xfce/core/thunar/default.nix
+++ b/pkgs/desktops/xfce/core/thunar/default.nix
@@ -12,7 +12,6 @@
, libxslt
, xfconf
, gobject-introspection
-, gvfs
, makeWrapper
, symlinkJoin
, thunarPlugins ? []
@@ -35,7 +34,6 @@ let unwrapped = mkXfceDerivation {
exo
gdk-pixbuf
gtk3
- gvfs
libX11
libgudev
libnotify
diff --git a/pkgs/desktops/xfce/default.nix b/pkgs/desktops/xfce/default.nix
index 12f487f1784c..1b7877cd79da 100644
--- a/pkgs/desktops/xfce/default.nix
+++ b/pkgs/desktops/xfce/default.nix
@@ -15,9 +15,6 @@ lib.makeScope pkgs.newScope (self: with self; {
automakeAddFlags = pkgs.makeSetupHook { } ./automakeAddFlags.sh;
- # Samba is a rather heavy dependency
- gvfs = pkgs.gvfs.override { samba = null; };
-
#### CORE
exo = callPackage ./core/exo { };
diff --git a/pkgs/development/libraries/cjose/default.nix b/pkgs/development/libraries/cjose/default.nix
new file mode 100644
index 000000000000..57b5c6c1b8bf
--- /dev/null
+++ b/pkgs/development/libraries/cjose/default.nix
@@ -0,0 +1,40 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, autoreconfHook
+, pkg-config
+, doxygen
+, check
+, jansson
+, openssl
+}:
+
+stdenv.mkDerivation rec {
+ pname = "cjose";
+ version = "0.6.1";
+
+ src = fetchFromGitHub {
+ owner = "cisco";
+ repo = "cjose";
+ rev = version;
+ sha256 = "1msyjwmylb5c7jc16ryx3xb9cdwx682ihsm0ni766y6dfwx8bkhp";
+ };
+
+ nativeBuildInputs = [ autoreconfHook pkg-config doxygen ];
+ buildInputs = [ jansson openssl ];
+ checkInputs = [ check ];
+
+ configureFlags = [
+ "--with-jansson=${jansson}"
+ "--with-openssl=${openssl.dev}"
+ ];
+
+ meta = with lib; {
+ homepage = "https://github.com/cisco/cjose";
+ changelog = "https://github.com/cisco/cjose/blob/${version}/CHANGELOG.md";
+ description = "C library for Javascript Object Signing and Encryption";
+ license = licenses.mit;
+ maintainers = with maintainers; [ midchildan ];
+ platforms = platforms.all;
+ };
+}
diff --git a/pkgs/development/python-modules/autoit-ripper/default.nix b/pkgs/development/python-modules/autoit-ripper/default.nix
new file mode 100644
index 000000000000..2276241d25e9
--- /dev/null
+++ b/pkgs/development/python-modules/autoit-ripper/default.nix
@@ -0,0 +1,36 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, lief
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+ pname = "autoit-ripper";
+ version = "1.0.1";
+ disabled = pythonOlder "3.6";
+
+ src = fetchPypi {
+ inherit pname version;
+ sha256 = "0mbsrfa72n7y1vkm9jhwhn1z3k45jxrlgx58ia1l2bp6chnnn2zy";
+ };
+
+ propagatedBuildInputs = [
+ lief
+ ];
+
+ postPatch = ''
+ substituteInPlace requirements.txt --replace "lief==0.10.1" "lief>=0.10.1"
+ '';
+
+ # Project has no tests
+ doCheck = false;
+ pythonImportsCheck = [ "autoit_ripper" ];
+
+ meta = with lib; {
+ description = "Python module to extract AutoIt scripts embedded in PE binaries";
+ homepage = "https://github.com/nazywam/AutoIt-Ripper";
+ license = with licenses; [ mit ];
+ maintainers = with maintainers; [ fab ];
+ };
+}
diff --git a/pkgs/development/python-modules/beancount_docverif/default.nix b/pkgs/development/python-modules/beancount_docverif/default.nix
index 0067716b6265..44ebb5d94f01 100644
--- a/pkgs/development/python-modules/beancount_docverif/default.nix
+++ b/pkgs/development/python-modules/beancount_docverif/default.nix
@@ -1,4 +1,5 @@
{ lib, buildPythonPackage, fetchPypi, isPy3k
+, setuptools-scm
, beancount
, pytest, sh
}:
@@ -14,6 +15,10 @@ buildPythonPackage rec {
sha256 = "1kjc0axrxpvm828lqq5m2ikq0ls8xksbmm7312zw867gdx56x5aj";
};
+ nativeBuildInputs = [
+ setuptools-scm
+ ];
+
propagatedBuildInputs = [
beancount
];
diff --git a/pkgs/development/python-modules/graphene/default.nix b/pkgs/development/python-modules/graphene/default.nix
index 2839fc337cd8..be2cc808eb0d 100644
--- a/pkgs/development/python-modules/graphene/default.nix
+++ b/pkgs/development/python-modules/graphene/default.nix
@@ -11,6 +11,7 @@
, pytest-mock
, pytz
, snapshottest
+, fetchpatch
}:
buildPythonPackage rec {
@@ -24,6 +25,13 @@ buildPythonPackage rec {
sha256 = "sha256-bVCCLPnV5F8PqLMg3GwcpwpGldrxsU+WryL6gj6y338=";
};
+ # Allow later aniso8601 releases
+ # https://github.com/graphql-python/graphene/pull/1331
+ patches = [ (fetchpatch {
+ url = "https://github.com/graphql-python/graphene/commit/26b16f75b125e35eeb2274b7be503ec29f2e8a45.patch";
+ sha256 = "qm96pNOoxPieEy1CFZpa2Mx010pY3QU/vRyuL0qO3Tk=";
+ }) ];
+
propagatedBuildInputs = [
aniso8601
graphql-core
diff --git a/pkgs/development/python-modules/karton-autoit-ripper/default.nix b/pkgs/development/python-modules/karton-autoit-ripper/default.nix
new file mode 100644
index 000000000000..d1f79f42a2ab
--- /dev/null
+++ b/pkgs/development/python-modules/karton-autoit-ripper/default.nix
@@ -0,0 +1,46 @@
+{ lib
+, autoit-ripper
+, buildPythonPackage
+, fetchFromGitHub
+, karton-core
+, malduck
+, regex
+}:
+
+buildPythonPackage rec {
+ pname = "karton-autoit-ripper";
+ version = "1.0.0";
+
+ src = fetchFromGitHub {
+ owner = "CERT-Polska";
+ repo = pname;
+ rev = "v${version}";
+ sha256 = "0vdsxkbjcr0inpcfjh45gl72ipzklkhgs06fdpkyy9y0cfx3zq7z";
+ };
+
+ propagatedBuildInputs = [
+ autoit-ripper
+ karton-core
+ malduck
+ regex
+ ];
+
+ postPatch = ''
+ substituteInPlace requirements.txt \
+ --replace "autoit-ripper==1.0.0" "autoit-ripper" \
+ --replace "karton.core==4.0.4" "karton-core" \
+ --replace "malduck==3.1.0" "malduck>=3.1.0" \
+ --replace "regex==2020.2.20" "regex>=2020.2.20"
+ '';
+
+ # Project has no tests
+ doCheck = false;
+ pythonImportsCheck = [ "karton.autoit_ripper" ];
+
+ meta = with lib; {
+ description = "AutoIt script ripper for Karton framework";
+ homepage = "https://github.com/CERT-Polska/karton-autoit-ripper";
+ license = with licenses; [ bsd3 ];
+ maintainers = with maintainers; [ fab ];
+ };
+}
diff --git a/pkgs/development/python-modules/poppler-qt5/default.nix b/pkgs/development/python-modules/poppler-qt5/default.nix
index 345f092a80fa..94d86f7b7133 100644
--- a/pkgs/development/python-modules/poppler-qt5/default.nix
+++ b/pkgs/development/python-modules/poppler-qt5/default.nix
@@ -1,44 +1,64 @@
-{ buildPythonPackage, fetchPypi, lib, sip, qtbase, pyqt5, poppler, pkg-config, fetchpatch
-, substituteAll
+{ stdenv
+, lib
+, buildPythonPackage
+, isPy3k
+, fetchPypi
+, pythonPackages
+, sip_5
+, qtbase
+, qmake
+, pyqt5
+, pyqt-builder
+, poppler
+, pkg-config
+, fetchpatch
}:
buildPythonPackage rec {
pname = "python-poppler-qt5";
- version = "0.24.2";
+ version = "21.1.0";
+
+ disabled = !isPy3k;
src = fetchPypi {
inherit pname version;
- sha256 = "0l69llw1fzwz8y90q0qp9q5pifbrqjjbwii7di54dwghw5fc6w1r";
+ sha256 = "0b82gm4i75q5v19kfbq0h4y0b2vcwr2213zkhxh6l0h45kdndmxd";
};
patches = [
- (substituteAll {
- src = ./poppler-include-dir.patch;
- poppler_include_dir = "${poppler.dev}/include/poppler";
- })
+ # Fix for https://github.com/frescobaldi/python-poppler-qt5/issues/43 (from PR #45)
(fetchpatch {
- url = "https://github.com/wbsoft/python-poppler-qt5/commit/faf4d1308f89560b0d849671226e3080dfc72e79.patch";
- sha256 = "18krhh6wzsnpxzlzv02nginb1vralla8ai24zqk10nc4mj6fkj86";
+ url = "https://github.com/frescobaldi/python-poppler-qt5/commit/40e71ad88173d02648bceb2438bc0567e60dacd5.patch";
+ sha256 = "0c93d0k7b1n2s2njl8g92x6vw3z96da1fczah9qx07x08iw8dzi5";
})
];
- setupPyBuildFlags = [
- "--pyqt-sip-dir ${pyqt5}/share/sip/PyQt5"
- "--qt-include-dir ${qtbase.dev}/include"
- ];
+ buildInputs = [ qtbase.dev poppler pyqt-builder ];
+ nativeBuildInputs = [ pkg-config qmake sip_5 ];
+ propagatedBuildInputs = [ pyqt5.dev ];
- buildInputs = [ qtbase.dev poppler ];
- nativeBuildInputs = [ pkg-config ];
- propagatedBuildInputs = [ sip pyqt5.dev ];
+ format = "pyproject";
+ dontConfigure = true;
+
+ postPatch = ''
+ cat <> pyproject.toml
+ sip-include-dirs = ["${pyqt5}/share/sip/PyQt5"]
+
+ [tool.sip.bindings.Poppler-Qt5]
+ include-dirs = ["${poppler.dev}/include/poppler"]
+ tags = ["${sip_5.platform_tag}"]
+ EOF
+ '';
# no tests, just bindings for `poppler_qt5`
doCheck = false;
+ pythonImportsCheck = [ "popplerqt5" ];
dontWrapQtApps = true;
meta = with lib; {
- homepage = "https://github.com/wbsoft/python-poppler-qt5";
- license = licenses.gpl2;
- maintainers = with maintainers; [ ];
+ homepage = "https://github.com/frescobaldi/python-poppler-qt5";
+ license = licenses.lgpl21Plus;
+ maintainers = with maintainers; [ eduardosm ];
};
}
diff --git a/pkgs/development/python-modules/poppler-qt5/poppler-include-dir.patch b/pkgs/development/python-modules/poppler-qt5/poppler-include-dir.patch
deleted file mode 100644
index 7106c1d6352c..000000000000
--- a/pkgs/development/python-modules/poppler-qt5/poppler-include-dir.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/setup.py b/setup.py
-index 59a75b0..0a73268 100644
---- a/setup.py
-+++ b/setup.py
-@@ -169,6 +169,7 @@ class build_ext(build_ext_base):
- 'Please specify via --pyqt-sip-flags=')
-
- self.include_dirs += (self.qt_include_dir,
-+ '@poppler_include_dir@',
- os.path.join(self.qt_include_dir, 'QtCore'),
- os.path.join(self.qt_include_dir, 'QtGui'),
- os.path.join(self.qt_include_dir, 'QtXml'))
diff --git a/pkgs/development/tools/ecpdap/default.nix b/pkgs/development/tools/ecpdap/default.nix
index dbb9a2405b0e..46b5945fb949 100644
--- a/pkgs/development/tools/ecpdap/default.nix
+++ b/pkgs/development/tools/ecpdap/default.nix
@@ -2,26 +2,26 @@
rustPlatform.buildRustPackage rec {
pname = "ecpdap";
- version = "0.1.5";
+ version = "0.1.6";
src = fetchFromGitHub {
owner = "adamgreig";
repo = pname;
rev = "v${version}";
- sha256 = "1z8w37i6wjz6cr453md54ip21y26605vrx4vpq5wwd11mfvc1jsg";
+ sha256 = "1va96hxm22a2lfy141x1sv5f5g8f6mp965an4jsff9qzi55kfv2g";
};
- # The lock file was not up to date with cargo.toml for this release
- #
- # This patch is the lock file after running `cargo update`
- cargoPatches = [ ./lock-update.patch ];
-
- cargoSha256 = "08xcnvbxm508v03b3hmz71mpa3yd8lamvazxivp6qsv46ri163mn";
+ cargoSha256 = "1dk6x2f36c546qr415kzmqr2r4550iwdmj4chrb46p3hr64jddhd";
nativeBuildInputs = [ pkg-config ];
buildInputs = [ libusb1 ];
+ postInstall = ''
+ mkdir -p $out/etc/udev/rules.d
+ cp drivers/*.rules $out/etc/udev/rules.d
+ '';
+
meta = with lib; {
description = "A tool to program ECP5 FPGAs";
longDescription = ''
diff --git a/pkgs/development/tools/ecpdap/lock-update.patch b/pkgs/development/tools/ecpdap/lock-update.patch
deleted file mode 100644
index f57c1922ad14..000000000000
--- a/pkgs/development/tools/ecpdap/lock-update.patch
+++ /dev/null
@@ -1,345 +0,0 @@
-diff --git a/Cargo.lock b/Cargo.lock
-index 91f7e0c..1610002 100644
---- a/Cargo.lock
-+++ b/Cargo.lock
-@@ -26,9 +26,9 @@ dependencies = [
-
- [[package]]
- name = "anyhow"
--version = "1.0.37"
-+version = "1.0.40"
- source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "ee67c11feeac938fae061b232e38e0b6d94f97a9df10e6271319325ac4c56a86"
-+checksum = "28b2cd92db5cbd74e8e5028f7e27dd7aa3090e89e4f2a197cc7c8dfb69c7063b"
-
- [[package]]
- name = "atty"
-@@ -49,15 +49,9 @@ checksum = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693"
-
- [[package]]
- name = "cc"
--version = "1.0.66"
-+version = "1.0.67"
- source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "4c0496836a84f8d0495758516b8621a622beb77c0fed418570e50764093ced48"
--
--[[package]]
--name = "cfg-if"
--version = "0.1.10"
--source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822"
-+checksum = "e3c69b077ad434294d3ce9f1f6143a2a4b89a8a2d54ef813d85003a4fd1137fd"
-
- [[package]]
- name = "cfg-if"
-@@ -82,9 +76,9 @@ dependencies = [
-
- [[package]]
- name = "console"
--version = "0.14.0"
-+version = "0.14.1"
- source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "7cc80946b3480f421c2f17ed1cb841753a371c7c5104f51d507e13f532c856aa"
-+checksum = "3993e6445baa160675931ec041a5e03ca84b9c6e32a056150d3aa2bdda0a1f45"
- dependencies = [
- "encode_unicode",
- "lazy_static",
-@@ -101,14 +95,14 @@ version = "1.2.1"
- source = "registry+https://github.com/rust-lang/crates.io-index"
- checksum = "81156fece84ab6a9f2afdb109ce3ae577e42b1228441eded99bd77f627953b1a"
- dependencies = [
-- "cfg-if 1.0.0",
-+ "cfg-if",
- ]
-
- [[package]]
- name = "derivative"
--version = "2.1.1"
-+version = "2.2.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "cb582b60359da160a9477ee80f15c8d784c477e69c217ef2cdd4169c24ea380f"
-+checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b"
- dependencies = [
- "proc-macro2",
- "quote",
-@@ -117,7 +111,7 @@ dependencies = [
-
- [[package]]
- name = "ecpdap"
--version = "0.1.4"
-+version = "0.1.5"
- dependencies = [
- "anyhow",
- "clap",
-@@ -153,11 +147,11 @@ dependencies = [
-
- [[package]]
- name = "filetime"
--version = "0.2.13"
-+version = "0.2.14"
- source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "0c122a393ea57648015bf06fbd3d372378992e86b9ff5a7a497b076a28c79efe"
-+checksum = "1d34cfa13a63ae058bfa601fe9e313bbdb3746427c1459185464ce0fcf62e1e8"
- dependencies = [
-- "cfg-if 1.0.0",
-+ "cfg-if",
- "libc",
- "redox_syscall",
- "winapi",
-@@ -165,9 +159,9 @@ dependencies = [
-
- [[package]]
- name = "hermit-abi"
--version = "0.1.17"
-+version = "0.1.18"
- source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "5aca5565f760fb5b220e499d72710ed156fdb74e631659e99377d9ebfbd13ae8"
-+checksum = "322f4de77956e22ed0e5032c359a0f1273f1f7f0d79bfa3b8ffbc730d7fbcc5c"
- dependencies = [
- "libc",
- ]
-@@ -206,9 +200,9 @@ dependencies = [
-
- [[package]]
- name = "jep106"
--version = "0.2.4"
-+version = "0.2.5"
- source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "f57cd08ee4fbc8043949150a59e34ea5f2afeb172f875db9607689e48600c653"
-+checksum = "939876d20519325db0883757e29e9858ee02919d0f03e43c74f69296caa314f4"
- dependencies = [
- "serde",
- ]
-@@ -221,33 +215,35 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
-
- [[package]]
- name = "libc"
--version = "0.2.81"
-+version = "0.2.94"
- source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "1482821306169ec4d07f6aca392a4681f66c75c9918aa49641a2595db64053cb"
-+checksum = "18794a8ad5b29321f790b55d93dfba91e125cb1a9edbd4f8e3150acc771c1a5e"
-
- [[package]]
- name = "libflate"
--version = "1.0.3"
-+version = "1.1.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "389de7875e06476365974da3e7ff85d55f1972188ccd9f6020dd7c8156e17914"
-+checksum = "6d87eae36b3f680f7f01645121b782798b56ef33c53f83d1c66ba3a22b60bfe3"
- dependencies = [
- "adler32",
- "crc32fast",
- "libflate_lz77",
-- "rle-decode-fast",
- ]
-
- [[package]]
- name = "libflate_lz77"
--version = "1.0.0"
-+version = "1.1.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "3286f09f7d4926fc486334f28d8d2e6ebe4f7f9994494b6dab27ddfad2c9b11b"
-+checksum = "39a734c0493409afcd49deee13c006a04e3586b9761a03543c6272c9c51f2f5a"
-+dependencies = [
-+ "rle-decode-fast",
-+]
-
- [[package]]
- name = "libusb1-sys"
--version = "0.4.3"
-+version = "0.4.4"
- source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "5e3b8385bdc8931a82a0865a3a7285e2c28e41287824dc92c7724b7759a0c685"
-+checksum = "be241693102a24766d0b8526c8988771edac2842630d7e730f8e9fbc014f3703"
- dependencies = [
- "cc",
- "libc",
-@@ -259,11 +255,11 @@ dependencies = [
-
- [[package]]
- name = "log"
--version = "0.4.11"
-+version = "0.4.14"
- source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "4fabed175da42fed1fa0746b0ea71f412aa9d35e76e95e59b192c64b9dc2bf8b"
-+checksum = "51b9bbe6c47d51fc3e1a9b945965946b4c44142ab8792c50835a980d362c2710"
- dependencies = [
-- "cfg-if 0.1.10",
-+ "cfg-if",
- ]
-
- [[package]]
-@@ -327,9 +323,9 @@ dependencies = [
-
- [[package]]
- name = "proc-macro2"
--version = "1.0.24"
-+version = "1.0.26"
- source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "1e0704ee1a7e00d7bb417d0770ea303c1bccbabf0ef1667dae92b5967f5f8a71"
-+checksum = "a152013215dca273577e18d2bf00fa862b89b24169fb78c4c95aeb07992c9cec"
- dependencies = [
- "unicode-xid",
- ]
-@@ -342,36 +338,38 @@ checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0"
-
- [[package]]
- name = "quote"
--version = "1.0.8"
-+version = "1.0.9"
- source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "991431c3519a3f36861882da93630ce66b52918dcf1b8e2fd66b397fc96f28df"
-+checksum = "c3d0b9745dc2debf507c8422de05d7226cc1f0644216dfdfead988f9b1ab32a7"
- dependencies = [
- "proc-macro2",
- ]
-
- [[package]]
- name = "redox_syscall"
--version = "0.1.57"
-+version = "0.2.6"
- source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "41cc0f7e4d5d4544e8861606a285bb08d3e70712ccc7d2b84d7c0ccfaf4b05ce"
-+checksum = "8270314b5ccceb518e7e578952f0b72b88222d02e8f77f5ecf7abbb673539041"
-+dependencies = [
-+ "bitflags",
-+]
-
- [[package]]
- name = "regex"
--version = "1.4.2"
-+version = "1.4.6"
- source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "38cf2c13ed4745de91a5eb834e11c00bcc3709e773173b2ce4c56c9fbde04b9c"
-+checksum = "2a26af418b574bd56588335b3a3659a65725d4e636eb1016c2f9e3b38c7cc759"
- dependencies = [
- "aho-corasick",
- "memchr",
- "regex-syntax",
-- "thread_local",
- ]
-
- [[package]]
- name = "regex-syntax"
--version = "0.6.21"
-+version = "0.6.23"
- source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "3b181ba2dcf07aaccad5448e8ead58db5b742cf85dfe035e2227f137a539a189"
-+checksum = "24d5f089152e60f62d28b835fbff2cd2e8dc0baf1ac13343bef92ab7eed84548"
-
- [[package]]
- name = "rle-decode-fast"
-@@ -391,18 +389,18 @@ dependencies = [
-
- [[package]]
- name = "serde"
--version = "1.0.118"
-+version = "1.0.125"
- source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "06c64263859d87aa2eb554587e2d23183398d617427327cf2b3d0ed8c69e4800"
-+checksum = "558dc50e1a5a5fa7112ca2ce4effcb321b0300c0d4ccf0776a9f60cd89031171"
- dependencies = [
- "serde_derive",
- ]
-
- [[package]]
- name = "serde_derive"
--version = "1.0.118"
-+version = "1.0.125"
- source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "c84d3526699cd55261af4b941e4e725444df67aa4f9e6a3564f18030d12672df"
-+checksum = "b093b7a2bb58203b5da3056c05b4ec1fed827dcfdb37347a8841695263b3d06d"
- dependencies = [
- "proc-macro2",
- "quote",
-@@ -431,9 +429,9 @@ checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a"
-
- [[package]]
- name = "syn"
--version = "1.0.57"
-+version = "1.0.71"
- source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "4211ce9909eb971f111059df92c45640aad50a619cf55cd76476be803c4c68e6"
-+checksum = "ad184cc9470f9117b2ac6817bfe297307418819ba40552f9b3846f05c33d5373"
- dependencies = [
- "proc-macro2",
- "quote",
-@@ -442,13 +440,12 @@ dependencies = [
-
- [[package]]
- name = "tar"
--version = "0.4.30"
-+version = "0.4.33"
- source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "489997b7557e9a43e192c527face4feacc78bfbe6eed67fd55c4c9e381cba290"
-+checksum = "c0bcfbd6a598361fda270d82469fff3d65089dc33e175c9a131f7b4cd395f228"
- dependencies = [
- "filetime",
- "libc",
-- "redox_syscall",
- "xattr",
- ]
-
-@@ -463,9 +460,9 @@ dependencies = [
-
- [[package]]
- name = "terminal_size"
--version = "0.1.15"
-+version = "0.1.16"
- source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "4bd2d183bd3fac5f5fe38ddbeb4dc9aec4a39a9d7d59e7491d900302da01cbe1"
-+checksum = "86ca8ced750734db02076f44132d802af0b33b09942331f4459dde8636fd2406"
- dependencies = [
- "libc",
- "winapi",
-@@ -482,33 +479,24 @@ dependencies = [
-
- [[package]]
- name = "thiserror"
--version = "1.0.23"
-+version = "1.0.24"
- source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "76cc616c6abf8c8928e2fdcc0dbfab37175edd8fb49a4641066ad1364fdab146"
-+checksum = "e0f4a65597094d4483ddaed134f409b2cb7c1beccf25201a9f73c719254fa98e"
- dependencies = [
- "thiserror-impl",
- ]
-
- [[package]]
- name = "thiserror-impl"
--version = "1.0.23"
-+version = "1.0.24"
- source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "9be73a2caec27583d0046ef3796c3794f868a5bc813db689eed00c7631275cd1"
-+checksum = "7765189610d8241a44529806d6fd1f2e0a08734313a35d5b3a556f92b381f3c0"
- dependencies = [
- "proc-macro2",
- "quote",
- "syn",
- ]
-
--[[package]]
--name = "thread_local"
--version = "1.0.1"
--source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "d40c6d1b69745a6ec6fb1ca717914848da4b44ae29d9b3080cbee91d72a69b14"
--dependencies = [
-- "lazy_static",
--]
--
- [[package]]
- name = "toml"
- version = "0.5.8"
-@@ -532,9 +520,9 @@ checksum = "f7fe0bb3479651439c9112f72b6c505038574c9fbb575ed1bf3b797fa39dd564"
-
- [[package]]
- name = "vcpkg"
--version = "0.2.11"
-+version = "0.2.12"
- source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "b00bca6106a5e23f3eee943593759b7fcddb00554332e856d990c893966879fb"
-+checksum = "cbdbff6266a24120518560b5dc983096efb98462e51d0d68169895b237be3e5d"
-
- [[package]]
- name = "vec_map"
diff --git a/pkgs/development/tools/frugal/default.nix b/pkgs/development/tools/frugal/default.nix
new file mode 100644
index 000000000000..e76b62d45cb3
--- /dev/null
+++ b/pkgs/development/tools/frugal/default.nix
@@ -0,0 +1,24 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+ pname = "frugal";
+ version = "3.14.3";
+
+ src = fetchFromGitHub {
+ owner = "Workiva";
+ repo = pname;
+ rev = "v${version}";
+ sha256 = "sha256-zns2XcydY4xxgF8FB6eje0pAt0DZnFOIAqXaSX0xoMg=";
+ };
+
+ subPackages = [ "." ];
+
+ vendorSha256 = "sha256-hyupBMRKuw77SJNIk3mEUixV0LV5mEmZx8M70qGmYJY=";
+
+ meta = with lib; {
+ description = "Thrift improved";
+ homepage = "https://github.com/Workiva/frugal";
+ license = with licenses; [ asl20 ];
+ maintainers = with maintainers; [ diogox ];
+ };
+}
diff --git a/pkgs/development/tools/rgp/default.nix b/pkgs/development/tools/rgp/default.nix
index 3cfd608e2258..7b49a83b1ccf 100644
--- a/pkgs/development/tools/rgp/default.nix
+++ b/pkgs/development/tools/rgp/default.nix
@@ -19,15 +19,15 @@
}:
let
- buildNum = "2020-11-19-376";
+ buildNum = "2021-03-31-696";
in
stdenv.mkDerivation rec {
pname = "rgp";
- version = "1.9";
+ version = "1.10";
src = fetchurl {
url = "https://gpuopen.com/download/radeon-developer-tool-suite/RadeonDeveloperToolSuite-${buildNum}.tgz";
- sha256 = "f71ibuMerd0SmXKSDjaTj7xtyy1dWzkZ5s0PlGtQ1+k=";
+ sha256 = "1GUV75KpYbeq7KkE86QqTfGnf/t3VEgviaAsbg/LWJI=";
};
nativeBuildInputs = [ makeWrapper autoPatchelfHook ];
@@ -59,6 +59,9 @@ stdenv.mkDerivation rec {
mkdir -p $out/opt/rgp $out/bin
cp -r . $out/opt/rgp/
+ chmod +x $out/opt/rgp/scripts/*
+ patchShebangs $out/opt/rgp/scripts
+
for prog in RadeonDeveloperPanel RadeonDeveloperService RadeonDeveloperServiceCLI RadeonGPUAnalyzer RadeonGPUProfiler rga rtda; do
# makeWrapper is needed so that executables are started from the opt
# directory, where qt.conf and other tools are
diff --git a/pkgs/servers/dante/default.nix b/pkgs/servers/dante/default.nix
index 99bde454659c..1ed03f0e3d5a 100644
--- a/pkgs/servers/dante/default.nix
+++ b/pkgs/servers/dante/default.nix
@@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
pname = "dante";
- version = "1.4.2";
+ version = "1.4.3";
src = fetchurl {
url = "https://www.inet.no/dante/files/${pname}-${version}.tar.gz";
- sha256 = "1bfafnm445afrmyxvvcl8ckq0p59yzykmr3y8qvryzrscd85g8ms";
+ sha256 = "0pbahkj43rx7rmv2x40mf5p3g3x9d6i2sz7pzglarf54w5ghd2j1";
};
buildInputs = [ pam libkrb5 cyrus_sasl miniupnpc ];
diff --git a/pkgs/servers/http/trafficserver/default.nix b/pkgs/servers/http/trafficserver/default.nix
new file mode 100644
index 000000000000..05eb9a17c8e8
--- /dev/null
+++ b/pkgs/servers/http/trafficserver/default.nix
@@ -0,0 +1,207 @@
+{ lib
+, stdenv
+, fetchurl
+, fetchpatch
+, makeWrapper
+, nixosTests
+, pkg-config
+, file
+, linuxHeaders
+, openssl
+, pcre
+, perlPackages
+, python3
+, xz
+, zlib
+# recommended dependencies
+, withHwloc ? true
+, hwloc
+, withCurl ? true
+, curl
+, withCurses ? true
+, ncurses
+, withCap ? stdenv.isLinux
+, libcap
+, withUnwind ? stdenv.isLinux
+, libunwind
+# optional dependencies
+, withBrotli ? false
+, brotli
+, withCjose ? false
+, cjose
+, withGeoIP ? false
+, geoip
+, withHiredis ? false
+, hiredis
+, withImageMagick ? false
+, imagemagick
+, withJansson ? false
+, jansson
+, withKyotoCabinet ? false
+, kyotocabinet
+, withLuaJIT ? false
+, luajit
+, withMaxmindDB ? false
+, libmaxminddb
+# optional features
+, enableWCCP ? false
+}:
+
+stdenv.mkDerivation rec {
+ pname = "trafficserver";
+ version = "9.0.1";
+
+ src = fetchurl {
+ url = "mirror://apache/trafficserver/trafficserver-${version}.tar.bz2";
+ sha256 = "1q164pvfmbqh3gzy3bqy96lwd0fdbhz78r06pd92p7rmkqwx005z";
+ };
+
+ patches = [
+ # Adds support for NixOS
+ # https://github.com/apache/trafficserver/pull/7697
+ (fetchpatch {
+ url = "https://github.com/apache/trafficserver/commit/19d3af481cf74c91fbf713fc9d2f8b138ed5fbaf.diff";
+ sha256 = "0z1ikgpp00rzrrcqh97931586yn9wbksgai9xlkcjd5cg8gq0150";
+ })
+
+ # Fixes a bug in tspush which pushes incorrect contents to cache
+ # https://github.com/apache/trafficserver/pull/7696
+ (fetchpatch {
+ url = "https://github.com/apache/trafficserver/commit/b08215272872f452787915cd3a8e0b0ea0b88385.diff";
+ sha256 = "0axk8x1xvd8wvpgcxgyqqg7kgxyxwfgwmisq3xnk1da0cqv9cx9f";
+ })
+ ];
+
+ # NOTE: The upstream README indicates that flex is needed for some features,
+ # but it actually seems to be unnecessary as of this commit[1]. The detection
+ # logic for bison and flex is still present in the build script[2], but no
+ # other code seems to depend on it. This situation is susceptible to change
+ # though, so it's a good idea to inspect the build scripts periodically.
+ #
+ # [1]: https://github.com/apache/trafficserver/pull/5617
+ # [2]: https://github.com/apache/trafficserver/blob/3fd2c60/configure.ac#L742-L788
+ nativeBuildInputs = [ makeWrapper pkg-config file python3 ]
+ ++ (with perlPackages; [ perl ExtUtilsMakeMaker ])
+ ++ lib.optionals stdenv.isLinux [ linuxHeaders ];
+
+ buildInputs = [
+ openssl
+ pcre
+ perlPackages.perl
+ ] ++ lib.optional withBrotli brotli
+ ++ lib.optional withCap libcap
+ ++ lib.optional withCjose cjose
+ ++ lib.optional withCurl curl
+ ++ lib.optional withGeoIP geoip
+ ++ lib.optional withHiredis hiredis
+ ++ lib.optional withHwloc hwloc
+ ++ lib.optional withImageMagick imagemagick
+ ++ lib.optional withJansson jansson
+ ++ lib.optional withKyotoCabinet kyotocabinet
+ ++ lib.optional withCurses ncurses
+ ++ lib.optional withLuaJIT luajit
+ ++ lib.optional withUnwind libunwind
+ ++ lib.optional withMaxmindDB libmaxminddb;
+
+ outputs = [ "out" "man" ];
+
+ postPatch = ''
+ patchShebangs \
+ iocore/aio/test_AIO.sample \
+ src/traffic_via/test_traffic_via \
+ src/traffic_logstats/tests \
+ tools/check-unused-dependencies
+
+ substituteInPlace configure --replace '/usr/bin/file' '${file}/bin/file'
+ '' + lib.optionalString stdenv.isLinux ''
+ substituteInPlace configure \
+ --replace '/usr/include/linux' '${linuxHeaders}/include/linux'
+ '' + lib.optionalString stdenv.isDarwin ''
+ # 'xcrun leaks' probably requires non-free XCode
+ substituteInPlace iocore/net/test_certlookup.cc \
+ --replace 'xcrun leaks' 'true'
+ '';
+
+ configureFlags = [
+ "--enable-layout=NixOS"
+ "--enable-experimental-plugins"
+ (lib.enableFeature enableWCCP "wccp")
+
+ # the configure script can't auto-locate the following from buildInputs
+ "--with-lzma=${xz.dev}"
+ "--with-zlib=${zlib.dev}"
+ (lib.withFeatureAs withHiredis "hiredis" hiredis)
+ ];
+
+ installFlags = [
+ "pkgsysconfdir=${placeholder "out"}/etc/trafficserver"
+
+ # replace runtime directories with an install-time placeholder directory
+ "pkgcachedir=${placeholder "out"}/.install-trafficserver"
+ "pkglocalstatedir=${placeholder "out"}/.install-trafficserver"
+ "pkglogdir=${placeholder "out"}/.install-trafficserver"
+ "pkgruntimedir=${placeholder "out"}/.install-trafficserver"
+ ];
+
+ postInstall = ''
+ substituteInPlace rc/trafficserver.service --replace "syslog.target" ""
+ install -Dm644 rc/trafficserver.service $out/lib/systemd/system/trafficserver.service
+
+ wrapProgram $out/bin/tspush \
+ --set PERL5LIB '${with perlPackages; makePerlPath [ URI ]}' \
+ --prefix PATH : "${lib.makeBinPath [ file ]}"
+
+ find "$out" -name '*.la' -delete
+
+ # ensure no files actually exist in this directory
+ rmdir $out/.install-trafficserver
+ '';
+
+ installCheckPhase = let
+ expected = ''
+ Via header is [uScMsEf p eC:t cCMp sF], Length is 22
+ Via Header Details:
+ Request headers received from client :simple request (not conditional)
+ Result of Traffic Server cache lookup for URL :miss (a cache "MISS")
+ Response information received from origin server :error in response
+ Result of document write-to-cache: :no cache write performed
+ Proxy operation result :unknown
+ Error codes (if any) :connection to server failed
+ Tunnel info :no tunneling
+ Cache Type :cache
+ Cache Lookup Result :cache miss (url not in cache)
+ Parent proxy connection status :no parent proxy or unknown
+ Origin server connection status :connection open failed
+ '';
+ in ''
+ runHook preInstallCheck
+ diff -Naur <($out/bin/traffic_via '[uScMsEf p eC:t cCMp sF]') - < $out/bin/mx-puppet-discord
+ #!/bin/sh
+ exec ${nodejs}/bin/node $out/lib/node_modules/mx-puppet-discord/build/index.js "\$@"
+ EOF
+ chmod +x $out/bin/mx-puppet-discord
+ '';
+
+ meta = with lib; {
+ description = "A discord puppeting bridge for matrix";
+ license = licenses.asl20;
+ homepage = "https://github.com/matrix-discord/mx-puppet-discord";
+ maintainers = with maintainers; [ expipiplus1 ];
+ platforms = platforms.unix;
+ };
+}
diff --git a/pkgs/servers/mx-puppet-discord/generate.sh b/pkgs/servers/mx-puppet-discord/generate.sh
new file mode 100755
index 000000000000..851671a147a8
--- /dev/null
+++ b/pkgs/servers/mx-puppet-discord/generate.sh
@@ -0,0 +1,21 @@
+#!/usr/bin/env nix-shell
+#! nix-shell -i bash -p nodePackages.node2nix
+
+# No official release
+rev=c17384a6a12a42a528e0b1259f8073e8db89b8f4
+u=https://raw.githubusercontent.com/matrix-discord/mx-puppet-discord/$rev
+# Download package.json and package-lock.json
+curl -O $u/package.json
+curl -O $u/package-lock.json
+
+node2nix \
+ --nodejs-12 \
+ --node-env ../../development/node-packages/node-env.nix \
+ --input package.json \
+ --lock package-lock.json \
+ --output node-packages.nix \
+ --composition node-composition.nix
+
+sed -i 's||../../..|' node-composition.nix
+
+rm -f package.json package-lock.json
diff --git a/pkgs/servers/mx-puppet-discord/node-composition.nix b/pkgs/servers/mx-puppet-discord/node-composition.nix
new file mode 100644
index 000000000000..777c9db52568
--- /dev/null
+++ b/pkgs/servers/mx-puppet-discord/node-composition.nix
@@ -0,0 +1,17 @@
+# This file has been generated by node2nix 1.9.0. Do not edit!
+
+{pkgs ? import ../../.. {
+ inherit system;
+ }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-12_x"}:
+
+let
+ nodeEnv = import ../../development/node-packages/node-env.nix {
+ inherit (pkgs) stdenv lib python2 runCommand writeTextFile;
+ inherit pkgs nodejs;
+ libtool = if pkgs.stdenv.isDarwin then pkgs.darwin.cctools else null;
+ };
+in
+import ./node-packages.nix {
+ inherit (pkgs) fetchurl nix-gitignore stdenv lib fetchgit;
+ inherit nodeEnv;
+}
diff --git a/pkgs/servers/mx-puppet-discord/node-packages.nix b/pkgs/servers/mx-puppet-discord/node-packages.nix
new file mode 100644
index 000000000000..b3dc83bb343c
--- /dev/null
+++ b/pkgs/servers/mx-puppet-discord/node-packages.nix
@@ -0,0 +1,3616 @@
+# This file has been generated by node2nix 1.9.0. Do not edit!
+
+{nodeEnv, fetchurl, fetchgit, nix-gitignore, stdenv, lib, globalBuildInputs ? []}:
+
+let
+ sources = {
+ "@babel/code-frame-7.0.0" = {
+ name = "_at_babel_slash_code-frame";
+ packageName = "@babel/code-frame";
+ version = "7.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz";
+ sha512 = "OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==";
+ };
+ };
+ "@babel/highlight-7.0.0" = {
+ name = "_at_babel_slash_highlight";
+ packageName = "@babel/highlight";
+ version = "7.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz";
+ sha512 = "UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==";
+ };
+ };
+ "@dabh/diagnostics-2.0.2" = {
+ name = "_at_dabh_slash_diagnostics";
+ packageName = "@dabh/diagnostics";
+ version = "2.0.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/@dabh/diagnostics/-/diagnostics-2.0.2.tgz";
+ sha512 = "+A1YivoVDNNVCdfozHSR8v/jyuuLTMXwjWuxPFlFlUapXoGc+Gj9mDlTDDfrwl7rXCl2tNZ0kE8sIBO6YOn96Q==";
+ };
+ };
+ "@discordjs/collection-0.1.6" = {
+ name = "_at_discordjs_slash_collection";
+ packageName = "@discordjs/collection";
+ version = "0.1.6";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/@discordjs/collection/-/collection-0.1.6.tgz";
+ sha512 = "utRNxnd9kSS2qhyivo9lMlt5qgAUasH2gb7BEOn6p0efFh24gjGomHzWKMAPn2hEReOPQZCJaRKoURwRotKucQ==";
+ };
+ };
+ "@discordjs/form-data-3.0.1" = {
+ name = "_at_discordjs_slash_form-data";
+ packageName = "@discordjs/form-data";
+ version = "3.0.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/@discordjs/form-data/-/form-data-3.0.1.tgz";
+ sha512 = "ZfFsbgEXW71Rw/6EtBdrP5VxBJy4dthyC0tpQKGKmYFImlmmrykO14Za+BiIVduwjte0jXEBlhSKf0MWbFp9Eg==";
+ };
+ };
+ "@sindresorhus/is-3.1.2" = {
+ name = "_at_sindresorhus_slash_is";
+ packageName = "@sindresorhus/is";
+ version = "3.1.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/@sindresorhus/is/-/is-3.1.2.tgz";
+ sha512 = "JiX9vxoKMmu8Y3Zr2RVathBL1Cdu4Nt4MuNWemt1Nc06A0RAin9c5FArkhGsyMBWfCu4zj+9b+GxtjAnE4qqLQ==";
+ };
+ };
+ "@sorunome/matrix-bot-sdk-0.5.8" = {
+ name = "_at_sorunome_slash_matrix-bot-sdk";
+ packageName = "@sorunome/matrix-bot-sdk";
+ version = "0.5.8";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/@sorunome/matrix-bot-sdk/-/matrix-bot-sdk-0.5.8.tgz";
+ sha512 = "Uifu8saeD1fPrj6F8ZdYiCeADCluySbdi/nVKJy0NQOi6cA5p68ZaeydlCyl+YuFJoCjsDWBe+Szq9CgFd/SpA==";
+ };
+ };
+ "@szmarczak/http-timer-4.0.5" = {
+ name = "_at_szmarczak_slash_http-timer";
+ packageName = "@szmarczak/http-timer";
+ version = "4.0.5";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.5.tgz";
+ sha512 = "PyRA9sm1Yayuj5OIoJ1hGt2YISX45w9WcFbh6ddT0Z/0yaFxOtGLInr4jUfU1EAFVs0Yfyfev4RNwBlUaHdlDQ==";
+ };
+ };
+ "@types/body-parser-1.19.0" = {
+ name = "_at_types_slash_body-parser";
+ packageName = "@types/body-parser";
+ version = "1.19.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.0.tgz";
+ sha512 = "W98JrE0j2K78swW4ukqMleo8R7h/pFETjM2DQ90MF6XK2i4LO4W3gQ71Lt4w3bfm2EvVSyWHplECvB5sK22yFQ==";
+ };
+ };
+ "@types/cacheable-request-6.0.1" = {
+ name = "_at_types_slash_cacheable-request";
+ packageName = "@types/cacheable-request";
+ version = "6.0.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.1.tgz";
+ sha512 = "ykFq2zmBGOCbpIXtoVbz4SKY5QriWPh3AjyU4G74RYbtt5yOc5OfaY75ftjg7mikMOla1CTGpX3lLbuJh8DTrQ==";
+ };
+ };
+ "@types/connect-3.4.34" = {
+ name = "_at_types_slash_connect";
+ packageName = "@types/connect";
+ version = "3.4.34";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/@types/connect/-/connect-3.4.34.tgz";
+ sha512 = "ePPA/JuI+X0vb+gSWlPKOY0NdNAie/rPUqX2GUPpbZwiKTkSPhjXWuee47E4MtE54QVzGCQMQkAL6JhV2E1+cQ==";
+ };
+ };
+ "@types/express-4.17.11" = {
+ name = "_at_types_slash_express";
+ packageName = "@types/express";
+ version = "4.17.11";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/@types/express/-/express-4.17.11.tgz";
+ sha512 = "no+R6rW60JEc59977wIxreQVsIEOAYwgCqldrA/vkpCnbD7MqTefO97lmoBe4WE0F156bC4uLSP1XHDOySnChg==";
+ };
+ };
+ "@types/express-serve-static-core-4.17.18" = {
+ name = "_at_types_slash_express-serve-static-core";
+ packageName = "@types/express-serve-static-core";
+ version = "4.17.18";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.18.tgz";
+ sha512 = "m4JTwx5RUBNZvky/JJ8swEJPKFd8si08pPF2PfizYjGZOKr/svUWPcoUmLow6MmPzhasphB7gSTINY67xn3JNA==";
+ };
+ };
+ "@types/http-cache-semantics-4.0.0" = {
+ name = "_at_types_slash_http-cache-semantics";
+ packageName = "@types/http-cache-semantics";
+ version = "4.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.0.tgz";
+ sha512 = "c3Xy026kOF7QOTn00hbIllV1dLR9hG9NkSrLQgCVs8NF6sBU+VGWjD3wLPhmh1TYAc7ugCFsvHYMN4VcBN1U1A==";
+ };
+ };
+ "@types/keyv-3.1.1" = {
+ name = "_at_types_slash_keyv";
+ packageName = "@types/keyv";
+ version = "3.1.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.1.tgz";
+ sha512 = "MPtoySlAZQ37VoLaPcTHCu1RWJ4llDkULYZIzOYxlhxBqYPB0RsRlmMU0R6tahtFe27mIdkHV+551ZWV4PLmVw==";
+ };
+ };
+ "@types/mime-1.3.2" = {
+ name = "_at_types_slash_mime";
+ packageName = "@types/mime";
+ version = "1.3.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz";
+ sha512 = "YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==";
+ };
+ };
+ "@types/node-14.6.3" = {
+ name = "_at_types_slash_node";
+ packageName = "@types/node";
+ version = "14.6.3";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/@types/node/-/node-14.6.3.tgz";
+ sha512 = "pC/hkcREG6YfDfui1FBmj8e20jFU5Exjw4NYDm8kEdrW+mOh0T1Zve8DWKnS7ZIZvgncrctcNCXF4Q2I+loyww==";
+ };
+ };
+ "@types/prop-types-15.7.3" = {
+ name = "_at_types_slash_prop-types";
+ packageName = "@types/prop-types";
+ version = "15.7.3";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.3.tgz";
+ sha512 = "KfRL3PuHmqQLOG+2tGpRO26Ctg+Cq1E01D2DMriKEATHgWLfeNDmq9e29Q9WIky0dQ3NPkd1mzYH8Lm936Z9qw==";
+ };
+ };
+ "@types/qs-6.9.5" = {
+ name = "_at_types_slash_qs";
+ packageName = "@types/qs";
+ version = "6.9.5";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/@types/qs/-/qs-6.9.5.tgz";
+ sha512 = "/JHkVHtx/REVG0VVToGRGH2+23hsYLHdyG+GrvoUGlGAd0ErauXDyvHtRI/7H7mzLm+tBCKA7pfcpkQ1lf58iQ==";
+ };
+ };
+ "@types/range-parser-1.2.3" = {
+ name = "_at_types_slash_range-parser";
+ packageName = "@types/range-parser";
+ version = "1.2.3";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.3.tgz";
+ sha512 = "ewFXqrQHlFsgc09MK5jP5iR7vumV/BYayNC6PgJO2LPe8vrnNFyjQjSppfEngITi0qvfKtzFvgKymGheFM9UOA==";
+ };
+ };
+ "@types/react-17.0.0" = {
+ name = "_at_types_slash_react";
+ packageName = "@types/react";
+ version = "17.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/@types/react/-/react-17.0.0.tgz";
+ sha512 = "aj/L7RIMsRlWML3YB6KZiXB3fV2t41+5RBGYF8z+tAKU43Px8C3cYUZsDvf1/+Bm4FK21QWBrDutu8ZJ/70qOw==";
+ };
+ };
+ "@types/responselike-1.0.0" = {
+ name = "_at_types_slash_responselike";
+ packageName = "@types/responselike";
+ version = "1.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.0.tgz";
+ sha512 = "85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==";
+ };
+ };
+ "@types/serve-static-1.13.9" = {
+ name = "_at_types_slash_serve-static";
+ packageName = "@types/serve-static";
+ version = "1.13.9";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.9.tgz";
+ sha512 = "ZFqF6qa48XsPdjXV5Gsz0Zqmux2PerNd3a/ktL45mHpa19cuMi/cL8tcxdAx497yRh+QtYPuofjT9oWw9P7nkA==";
+ };
+ };
+ "abbrev-1.1.1" = {
+ name = "abbrev";
+ packageName = "abbrev";
+ version = "1.1.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz";
+ sha512 = "nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==";
+ };
+ };
+ "abort-controller-3.0.0" = {
+ name = "abort-controller";
+ packageName = "abort-controller";
+ version = "3.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz";
+ sha512 = "h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==";
+ };
+ };
+ "accepts-1.3.7" = {
+ name = "accepts";
+ packageName = "accepts";
+ version = "1.3.7";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz";
+ sha512 = "Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==";
+ };
+ };
+ "ansi-regex-2.1.1" = {
+ name = "ansi-regex";
+ packageName = "ansi-regex";
+ version = "2.1.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz";
+ sha1 = "c3b33ab5ee360d86e0e628f0468ae7ef27d654df";
+ };
+ };
+ "ansi-styles-3.2.1" = {
+ name = "ansi-styles";
+ packageName = "ansi-styles";
+ version = "3.2.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz";
+ sha512 = "VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==";
+ };
+ };
+ "ansi-styles-4.3.0" = {
+ name = "ansi-styles";
+ packageName = "ansi-styles";
+ version = "4.3.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz";
+ sha512 = "zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==";
+ };
+ };
+ "aproba-1.2.0" = {
+ name = "aproba";
+ packageName = "aproba";
+ version = "1.2.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz";
+ sha512 = "Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==";
+ };
+ };
+ "are-we-there-yet-1.1.5" = {
+ name = "are-we-there-yet";
+ packageName = "are-we-there-yet";
+ version = "1.1.5";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz";
+ sha512 = "5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==";
+ };
+ };
+ "argparse-1.0.10" = {
+ name = "argparse";
+ packageName = "argparse";
+ version = "1.0.10";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz";
+ sha512 = "o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==";
+ };
+ };
+ "array-back-2.0.0" = {
+ name = "array-back";
+ packageName = "array-back";
+ version = "2.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/array-back/-/array-back-2.0.0.tgz";
+ sha512 = "eJv4pLLufP3g5kcZry0j6WXpIbzYw9GUB4mVJZno9wfwiBxbizTnHCw3VJb07cBihbFX48Y7oSrW9y+gt4glyw==";
+ };
+ };
+ "array-back-3.1.0" = {
+ name = "array-back";
+ packageName = "array-back";
+ version = "3.1.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/array-back/-/array-back-3.1.0.tgz";
+ sha512 = "TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==";
+ };
+ };
+ "array-flatten-1.1.1" = {
+ name = "array-flatten";
+ packageName = "array-flatten";
+ version = "1.1.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz";
+ sha1 = "9a5f699051b1e7073328f2a008968b64ea2955d2";
+ };
+ };
+ "assert-options-0.7.0" = {
+ name = "assert-options";
+ packageName = "assert-options";
+ version = "0.7.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/assert-options/-/assert-options-0.7.0.tgz";
+ sha512 = "7q9uNH/Dh8gFgpIIb9ja8PJEWA5AQy3xnBC8jtKs8K/gNVCr1K6kIvlm59HUyYgvM7oEDoLzGgPcGd9FqhtXEQ==";
+ };
+ };
+ "async-3.2.0" = {
+ name = "async";
+ packageName = "async";
+ version = "3.2.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/async/-/async-3.2.0.tgz";
+ sha512 = "TR2mEZFVOj2pLStYxLht7TyfuRzaydfpxr3k9RpHIzMgw7A64dzsdqCxH1WJyQdoe8T10nDXd9wnEigmiuHIZw==";
+ };
+ };
+ "asynckit-0.4.0" = {
+ name = "asynckit";
+ packageName = "asynckit";
+ version = "0.4.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz";
+ sha1 = "c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79";
+ };
+ };
+ "balanced-match-1.0.0" = {
+ name = "balanced-match";
+ packageName = "balanced-match";
+ version = "1.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz";
+ sha1 = "89b4d199ab2bee49de164ea02b89ce462d71b767";
+ };
+ };
+ "base64-js-1.5.1" = {
+ name = "base64-js";
+ packageName = "base64-js";
+ version = "1.5.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz";
+ sha512 = "AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==";
+ };
+ };
+ "basic-auth-2.0.1" = {
+ name = "basic-auth";
+ packageName = "basic-auth";
+ version = "2.0.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz";
+ sha512 = "NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==";
+ };
+ };
+ "better-discord.js-git+https://github.com/Sorunome/better-discord.js.git#5e58e1e7510cf2192f3503ca146dd61a56a75c72" = {
+ name = "better-discord.js";
+ packageName = "better-discord.js";
+ version = "12.5.1";
+ src = fetchgit {
+ url = "https://github.com/Sorunome/better-discord.js.git";
+ rev = "5e58e1e7510cf2192f3503ca146dd61a56a75c72";
+ sha256 = "ab87453cc9db05b3bc691f27e92c5a4a6a14a528c98c7d313d6dd42f1741124a";
+ };
+ };
+ "better-sqlite3-6.0.1" = {
+ name = "better-sqlite3";
+ packageName = "better-sqlite3";
+ version = "6.0.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/better-sqlite3/-/better-sqlite3-6.0.1.tgz";
+ sha512 = "4aV1zEknM9g1a6B0mVBx1oIlmYioEJ8gSS3J6EpN1b1bKYEE+N5lmpmXHKNKTi0qjHziSd7XrXwHl1kpqvEcHQ==";
+ };
+ };
+ "bindings-1.5.0" = {
+ name = "bindings";
+ packageName = "bindings";
+ version = "1.5.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz";
+ sha512 = "p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==";
+ };
+ };
+ "bintrees-1.0.1" = {
+ name = "bintrees";
+ packageName = "bintrees";
+ version = "1.0.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/bintrees/-/bintrees-1.0.1.tgz";
+ sha1 = "0e655c9b9c2435eaab68bf4027226d2b55a34524";
+ };
+ };
+ "bl-4.0.3" = {
+ name = "bl";
+ packageName = "bl";
+ version = "4.0.3";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/bl/-/bl-4.0.3.tgz";
+ sha512 = "fs4G6/Hu4/EE+F75J8DuN/0IpQqNjAdC7aEQv7Qt8MHGUH7Ckv2MwTEEeN9QehD0pfIDkMI1bkHYkKy7xHyKIg==";
+ };
+ };
+ "blurhash-1.1.3" = {
+ name = "blurhash";
+ packageName = "blurhash";
+ version = "1.1.3";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/blurhash/-/blurhash-1.1.3.tgz";
+ sha512 = "yUhPJvXexbqbyijCIE/T2NCXcj9iNPhWmOKbPTuR/cm7Q5snXYIfnVnz6m7MWOXxODMz/Cr3UcVkRdHiuDVRDw==";
+ };
+ };
+ "body-parser-1.19.0" = {
+ name = "body-parser";
+ packageName = "body-parser";
+ version = "1.19.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz";
+ sha512 = "dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==";
+ };
+ };
+ "brace-expansion-1.1.11" = {
+ name = "brace-expansion";
+ packageName = "brace-expansion";
+ version = "1.1.11";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz";
+ sha512 = "iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==";
+ };
+ };
+ "buffer-5.7.1" = {
+ name = "buffer";
+ packageName = "buffer";
+ version = "5.7.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz";
+ sha512 = "EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==";
+ };
+ };
+ "buffer-writer-2.0.0" = {
+ name = "buffer-writer";
+ packageName = "buffer-writer";
+ version = "2.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/buffer-writer/-/buffer-writer-2.0.0.tgz";
+ sha512 = "a7ZpuTZU1TRtnwyCNW3I5dc0wWNC3VR9S++Ewyk2HHZdrO3CQJqSpd+95Us590V6AL7JqUAH2IwZ/398PmNFgw==";
+ };
+ };
+ "builtin-modules-1.1.1" = {
+ name = "builtin-modules";
+ packageName = "builtin-modules";
+ version = "1.1.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz";
+ sha1 = "270f076c5a72c02f5b65a47df94c5fe3a278892f";
+ };
+ };
+ "bytes-3.1.0" = {
+ name = "bytes";
+ packageName = "bytes";
+ version = "3.1.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz";
+ sha512 = "zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==";
+ };
+ };
+ "cacheable-lookup-5.0.3" = {
+ name = "cacheable-lookup";
+ packageName = "cacheable-lookup";
+ version = "5.0.3";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.3.tgz";
+ sha512 = "W+JBqF9SWe18A72XFzN/V/CULFzPm7sBXzzR6ekkE+3tLG72wFZrBiBZhrZuDoYexop4PHJVdFAKb/Nj9+tm9w==";
+ };
+ };
+ "cacheable-request-7.0.1" = {
+ name = "cacheable-request";
+ packageName = "cacheable-request";
+ version = "7.0.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.1.tgz";
+ sha512 = "lt0mJ6YAnsrBErpTMWeu5kl/tg9xMAWjavYTN6VQXM1A/teBITuNcccXsCxF0tDQQJf9DfAaX5O4e0zp0KlfZw==";
+ };
+ };
+ "canvas-2.6.1" = {
+ name = "canvas";
+ packageName = "canvas";
+ version = "2.6.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/canvas/-/canvas-2.6.1.tgz";
+ sha512 = "S98rKsPcuhfTcYbtF53UIJhcbgIAK533d1kJKMwsMwAIFgfd58MOyxRud3kktlzWiEkFliaJtvyZCBtud/XVEA==";
+ };
+ };
+ "chalk-2.4.2" = {
+ name = "chalk";
+ packageName = "chalk";
+ version = "2.4.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz";
+ sha512 = "Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==";
+ };
+ };
+ "chalk-4.1.0" = {
+ name = "chalk";
+ packageName = "chalk";
+ version = "4.1.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz";
+ sha512 = "qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==";
+ };
+ };
+ "chownr-1.1.4" = {
+ name = "chownr";
+ packageName = "chownr";
+ version = "1.1.4";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz";
+ sha512 = "jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==";
+ };
+ };
+ "clone-response-1.0.2" = {
+ name = "clone-response";
+ packageName = "clone-response";
+ version = "1.0.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz";
+ sha1 = "d1dc973920314df67fbeb94223b4ee350239e96b";
+ };
+ };
+ "code-point-at-1.1.0" = {
+ name = "code-point-at";
+ packageName = "code-point-at";
+ version = "1.1.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz";
+ sha1 = "0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77";
+ };
+ };
+ "color-3.0.0" = {
+ name = "color";
+ packageName = "color";
+ version = "3.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/color/-/color-3.0.0.tgz";
+ sha512 = "jCpd5+s0s0t7p3pHQKpnJ0TpQKKdleP71LWcA0aqiljpiuAkOSUFN/dyH8ZwF0hRmFlrIuRhufds1QyEP9EB+w==";
+ };
+ };
+ "color-convert-1.9.3" = {
+ name = "color-convert";
+ packageName = "color-convert";
+ version = "1.9.3";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz";
+ sha512 = "QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==";
+ };
+ };
+ "color-convert-2.0.1" = {
+ name = "color-convert";
+ packageName = "color-convert";
+ version = "2.0.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz";
+ sha512 = "RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==";
+ };
+ };
+ "color-name-1.1.3" = {
+ name = "color-name";
+ packageName = "color-name";
+ version = "1.1.3";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz";
+ sha1 = "a7d0558bd89c42f795dd42328f740831ca53bc25";
+ };
+ };
+ "color-name-1.1.4" = {
+ name = "color-name";
+ packageName = "color-name";
+ version = "1.1.4";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz";
+ sha512 = "dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==";
+ };
+ };
+ "color-string-1.5.4" = {
+ name = "color-string";
+ packageName = "color-string";
+ version = "1.5.4";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/color-string/-/color-string-1.5.4.tgz";
+ sha512 = "57yF5yt8Xa3czSEW1jfQDE79Idk0+AkN/4KWad6tbdxUmAs3MvjxlWSWD4deYytcRfoZ9nhKyFl1kj5tBvidbw==";
+ };
+ };
+ "colors-1.4.0" = {
+ name = "colors";
+ packageName = "colors";
+ version = "1.4.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz";
+ sha512 = "a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==";
+ };
+ };
+ "colorspace-1.1.2" = {
+ name = "colorspace";
+ packageName = "colorspace";
+ version = "1.1.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/colorspace/-/colorspace-1.1.2.tgz";
+ sha512 = "vt+OoIP2d76xLhjwbBaucYlNSpPsrJWPlBTtwCpQKIu6/CSMutyzX93O/Do0qzpH3YoHEes8YEFXyZ797rEhzQ==";
+ };
+ };
+ "combined-stream-1.0.8" = {
+ name = "combined-stream";
+ packageName = "combined-stream";
+ version = "1.0.8";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz";
+ sha512 = "FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==";
+ };
+ };
+ "command-line-args-5.1.1" = {
+ name = "command-line-args";
+ packageName = "command-line-args";
+ version = "5.1.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/command-line-args/-/command-line-args-5.1.1.tgz";
+ sha512 = "hL/eG8lrll1Qy1ezvkant+trihbGnaKaeEjj6Scyr3DN+RC7iQ5Rz84IeLERfAWDGo0HBSNAakczwgCilDXnWg==";
+ };
+ };
+ "command-line-usage-5.0.5" = {
+ name = "command-line-usage";
+ packageName = "command-line-usage";
+ version = "5.0.5";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/command-line-usage/-/command-line-usage-5.0.5.tgz";
+ sha512 = "d8NrGylA5oCXSbGoKz05FkehDAzSmIm4K03S5VDh4d5lZAtTWfc3D1RuETtuQCn8129nYfJfDdF7P/lwcz1BlA==";
+ };
+ };
+ "commander-2.20.0" = {
+ name = "commander";
+ packageName = "commander";
+ version = "2.20.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/commander/-/commander-2.20.0.tgz";
+ sha512 = "7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==";
+ };
+ };
+ "concat-map-0.0.1" = {
+ name = "concat-map";
+ packageName = "concat-map";
+ version = "0.0.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz";
+ sha1 = "d8a96bd77fd68df7793a73036a3ba0d5405d477b";
+ };
+ };
+ "console-control-strings-1.1.0" = {
+ name = "console-control-strings";
+ packageName = "console-control-strings";
+ version = "1.1.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz";
+ sha1 = "3d7cf4464db6446ea644bf4b39507f9851008e8e";
+ };
+ };
+ "content-disposition-0.5.3" = {
+ name = "content-disposition";
+ packageName = "content-disposition";
+ version = "0.5.3";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz";
+ sha512 = "ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==";
+ };
+ };
+ "content-type-1.0.4" = {
+ name = "content-type";
+ packageName = "content-type";
+ version = "1.0.4";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz";
+ sha512 = "hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==";
+ };
+ };
+ "cookie-0.4.0" = {
+ name = "cookie";
+ packageName = "cookie";
+ version = "0.4.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz";
+ sha512 = "+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==";
+ };
+ };
+ "cookie-signature-1.0.6" = {
+ name = "cookie-signature";
+ packageName = "cookie-signature";
+ version = "1.0.6";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz";
+ sha1 = "e303a882b342cc3ee8ca513a79999734dab3ae2c";
+ };
+ };
+ "core-util-is-1.0.2" = {
+ name = "core-util-is";
+ packageName = "core-util-is";
+ version = "1.0.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz";
+ sha1 = "b5fd54220aa2bc5ab57aab7140c940754503c1a7";
+ };
+ };
+ "csstype-3.0.5" = {
+ name = "csstype";
+ packageName = "csstype";
+ version = "3.0.5";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/csstype/-/csstype-3.0.5.tgz";
+ sha512 = "uVDi8LpBUKQj6sdxNaTetL6FpeCqTjOvAQuQUa/qAqq8oOd4ivkbhgnqayl0dnPal8Tb/yB1tF+gOvCBiicaiQ==";
+ };
+ };
+ "cycle-1.0.3" = {
+ name = "cycle";
+ packageName = "cycle";
+ version = "1.0.3";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/cycle/-/cycle-1.0.3.tgz";
+ sha1 = "21e80b2be8580f98b468f379430662b046c34ad2";
+ };
+ };
+ "debug-2.6.9" = {
+ name = "debug";
+ packageName = "debug";
+ version = "2.6.9";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz";
+ sha512 = "bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==";
+ };
+ };
+ "debug-3.2.7" = {
+ name = "debug";
+ packageName = "debug";
+ version = "3.2.7";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz";
+ sha512 = "CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==";
+ };
+ };
+ "decompress-response-4.2.1" = {
+ name = "decompress-response";
+ packageName = "decompress-response";
+ version = "4.2.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/decompress-response/-/decompress-response-4.2.1.tgz";
+ sha512 = "jOSne2qbyE+/r8G1VU+G/82LBs2Fs4LAsTiLSHOCOMZQl2OKZ6i8i4IyHemTe+/yIXOtTcRQMzPcgyhoFlqPkw==";
+ };
+ };
+ "decompress-response-6.0.0" = {
+ name = "decompress-response";
+ packageName = "decompress-response";
+ version = "6.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz";
+ sha512 = "aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==";
+ };
+ };
+ "deep-extend-0.6.0" = {
+ name = "deep-extend";
+ packageName = "deep-extend";
+ version = "0.6.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz";
+ sha512 = "LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==";
+ };
+ };
+ "defer-to-connect-2.0.0" = {
+ name = "defer-to-connect";
+ packageName = "defer-to-connect";
+ version = "2.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.0.tgz";
+ sha512 = "bYL2d05vOSf1JEZNx5vSAtPuBMkX8K9EUutg7zlKvTqKXHt7RhWJFbmd7qakVuf13i+IkGmp6FwSsONOf6VYIg==";
+ };
+ };
+ "delayed-stream-1.0.0" = {
+ name = "delayed-stream";
+ packageName = "delayed-stream";
+ version = "1.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz";
+ sha1 = "df3ae199acadfb7d440aaae0b29e2272b24ec619";
+ };
+ };
+ "delegates-1.0.0" = {
+ name = "delegates";
+ packageName = "delegates";
+ version = "1.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz";
+ sha1 = "84c6e159b81904fdca59a0ef44cd870d31250f9a";
+ };
+ };
+ "depd-1.1.2" = {
+ name = "depd";
+ packageName = "depd";
+ version = "1.1.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz";
+ sha1 = "9bcd52e14c097763e749b274c4346ed2e560b5a9";
+ };
+ };
+ "depd-2.0.0" = {
+ name = "depd";
+ packageName = "depd";
+ version = "2.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz";
+ sha512 = "g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==";
+ };
+ };
+ "destroy-1.0.4" = {
+ name = "destroy";
+ packageName = "destroy";
+ version = "1.0.4";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz";
+ sha1 = "978857442c44749e4206613e37946205826abd80";
+ };
+ };
+ "detect-libc-1.0.3" = {
+ name = "detect-libc";
+ packageName = "detect-libc";
+ version = "1.0.3";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz";
+ sha1 = "fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b";
+ };
+ };
+ "diff-3.5.0" = {
+ name = "diff";
+ packageName = "diff";
+ version = "3.5.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz";
+ sha512 = "A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==";
+ };
+ };
+ "discord-markdown-git://github.com/Sorunome/discord-markdown.git#0f38420fdd41340d6eadd38cd5b71784ca954085" = {
+ name = "discord-markdown";
+ packageName = "discord-markdown";
+ version = "2.3.1";
+ src = fetchgit {
+ url = "git://github.com/Sorunome/discord-markdown.git";
+ rev = "0f38420fdd41340d6eadd38cd5b71784ca954085";
+ sha256 = "61a5ffd248b6d2784665fa710bfe4c39f241c75be07dbe53f5f48575a4df229c";
+ };
+ };
+ "dom-serializer-1.2.0" = {
+ name = "dom-serializer";
+ packageName = "dom-serializer";
+ version = "1.2.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.2.0.tgz";
+ sha512 = "n6kZFH/KlCrqs/1GHMOd5i2fd/beQHuehKdWvNNffbGHTr/almdhuVvTVFb3V7fglz+nC50fFusu3lY33h12pA==";
+ };
+ };
+ "domelementtype-2.1.0" = {
+ name = "domelementtype";
+ packageName = "domelementtype";
+ version = "2.1.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/domelementtype/-/domelementtype-2.1.0.tgz";
+ sha512 = "LsTgx/L5VpD+Q8lmsXSHW2WpA+eBlZ9HPf3erD1IoPF00/3JKHZ3BknUVA2QGDNu69ZNmyFmCWBSO45XjYKC5w==";
+ };
+ };
+ "domhandler-3.3.0" = {
+ name = "domhandler";
+ packageName = "domhandler";
+ version = "3.3.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/domhandler/-/domhandler-3.3.0.tgz";
+ sha512 = "J1C5rIANUbuYK+FuFL98650rihynUOEzRLxW+90bKZRWB6A1X1Tf82GxR1qAWLyfNPRvjqfip3Q5tdYlmAa9lA==";
+ };
+ };
+ "domhandler-4.0.0" = {
+ name = "domhandler";
+ packageName = "domhandler";
+ version = "4.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/domhandler/-/domhandler-4.0.0.tgz";
+ sha512 = "KPTbnGQ1JeEMQyO1iYXoagsI6so/C96HZiFyByU3T6iAzpXn8EGEvct6unm1ZGoed8ByO2oirxgwxBmqKF9haA==";
+ };
+ };
+ "domutils-2.4.4" = {
+ name = "domutils";
+ packageName = "domutils";
+ version = "2.4.4";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/domutils/-/domutils-2.4.4.tgz";
+ sha512 = "jBC0vOsECI4OMdD0GC9mGn7NXPLb+Qt6KW1YDQzeQYRUFKmNG8lh7mO5HiELfr+lLQE7loDVI4QcAxV80HS+RA==";
+ };
+ };
+ "ee-first-1.1.1" = {
+ name = "ee-first";
+ packageName = "ee-first";
+ version = "1.1.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz";
+ sha1 = "590c61156b0ae2f4f0255732a158b266bc56b21d";
+ };
+ };
+ "enabled-2.0.0" = {
+ name = "enabled";
+ packageName = "enabled";
+ version = "2.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/enabled/-/enabled-2.0.0.tgz";
+ sha512 = "AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ==";
+ };
+ };
+ "encodeurl-1.0.2" = {
+ name = "encodeurl";
+ packageName = "encodeurl";
+ version = "1.0.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz";
+ sha1 = "ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59";
+ };
+ };
+ "end-of-stream-1.4.4" = {
+ name = "end-of-stream";
+ packageName = "end-of-stream";
+ version = "1.4.4";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz";
+ sha512 = "+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==";
+ };
+ };
+ "entities-1.1.2" = {
+ name = "entities";
+ packageName = "entities";
+ version = "1.1.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz";
+ sha512 = "f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==";
+ };
+ };
+ "entities-2.1.0" = {
+ name = "entities";
+ packageName = "entities";
+ version = "2.1.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz";
+ sha512 = "hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==";
+ };
+ };
+ "escape-html-1.0.3" = {
+ name = "escape-html";
+ packageName = "escape-html";
+ version = "1.0.3";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz";
+ sha1 = "0258eae4d3d0c0974de1c169188ef0051d1d1988";
+ };
+ };
+ "escape-string-regexp-1.0.5" = {
+ name = "escape-string-regexp";
+ packageName = "escape-string-regexp";
+ version = "1.0.5";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz";
+ sha1 = "1b61c0562190a8dff6ae3bb2cf0200ca130b86d4";
+ };
+ };
+ "esprima-4.0.1" = {
+ name = "esprima";
+ packageName = "esprima";
+ version = "4.0.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz";
+ sha512 = "eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==";
+ };
+ };
+ "esutils-2.0.2" = {
+ name = "esutils";
+ packageName = "esutils";
+ version = "2.0.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz";
+ sha1 = "0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b";
+ };
+ };
+ "etag-1.8.1" = {
+ name = "etag";
+ packageName = "etag";
+ version = "1.8.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz";
+ sha1 = "41ae2eeb65efa62268aebfea83ac7d79299b0887";
+ };
+ };
+ "event-target-shim-5.0.1" = {
+ name = "event-target-shim";
+ packageName = "event-target-shim";
+ version = "5.0.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz";
+ sha512 = "i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==";
+ };
+ };
+ "events-3.0.0" = {
+ name = "events";
+ packageName = "events";
+ version = "3.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/events/-/events-3.0.0.tgz";
+ sha512 = "Dc381HFWJzEOhQ+d8pkNon++bk9h6cdAoAj4iE6Q4y6xgTzySWXlKn05/TVNpjnfRqi/X0EpJEJohPjNI3zpVA==";
+ };
+ };
+ "events-3.2.0" = {
+ name = "events";
+ packageName = "events";
+ version = "3.2.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/events/-/events-3.2.0.tgz";
+ sha512 = "/46HWwbfCX2xTawVfkKLGxMifJYQBWMwY1mjywRtb4c9x8l5NP3KoJtnIOiL1hfdRkIuYhETxQlo62IF8tcnlg==";
+ };
+ };
+ "expand-template-2.0.3" = {
+ name = "expand-template";
+ packageName = "expand-template";
+ version = "2.0.3";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz";
+ sha512 = "XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==";
+ };
+ };
+ "expire-set-1.0.0" = {
+ name = "expire-set";
+ packageName = "expire-set";
+ version = "1.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/expire-set/-/expire-set-1.0.0.tgz";
+ sha512 = "wOQlqatf2sJtOabNk3gEPbGvo/C8tIUhzT3rz08+i7X+u1NV+UNY4p3Lzq8DxrW57mBML1Fp5qNeYt70Qnndpg==";
+ };
+ };
+ "express-4.17.1" = {
+ name = "express";
+ packageName = "express";
+ version = "4.17.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/express/-/express-4.17.1.tgz";
+ sha512 = "mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==";
+ };
+ };
+ "extend-shallow-2.0.1" = {
+ name = "extend-shallow";
+ packageName = "extend-shallow";
+ version = "2.0.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz";
+ sha1 = "51af7d614ad9a9f610ea1bafbb989d6b1c56890f";
+ };
+ };
+ "fast-safe-stringify-2.0.7" = {
+ name = "fast-safe-stringify";
+ packageName = "fast-safe-stringify";
+ version = "2.0.7";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.0.7.tgz";
+ sha512 = "Utm6CdzT+6xsDk2m8S6uL8VHxNwI6Jub+e9NYTcAms28T84pTa25GJQV9j0CY0N1rM8hK4x6grpF2BQf+2qwVA==";
+ };
+ };
+ "fecha-2.3.3" = {
+ name = "fecha";
+ packageName = "fecha";
+ version = "2.3.3";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/fecha/-/fecha-2.3.3.tgz";
+ sha512 = "lUGBnIamTAwk4znq5BcqsDaxSmZ9nDVJaij6NvRt/Tg4R69gERA+otPKbS86ROw9nxVMw2/mp1fnaiWqbs6Sdg==";
+ };
+ };
+ "fecha-4.2.0" = {
+ name = "fecha";
+ packageName = "fecha";
+ version = "4.2.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/fecha/-/fecha-4.2.0.tgz";
+ sha512 = "aN3pcx/DSmtyoovUudctc8+6Hl4T+hI9GBBHLjA76jdZl7+b1sgh5g4k+u/GL3dTy1/pnYzKp69FpJ0OicE3Wg==";
+ };
+ };
+ "file-stream-rotator-0.4.1" = {
+ name = "file-stream-rotator";
+ packageName = "file-stream-rotator";
+ version = "0.4.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/file-stream-rotator/-/file-stream-rotator-0.4.1.tgz";
+ sha512 = "W3aa3QJEc8BS2MmdVpQiYLKHj3ijpto1gMDlsgCRSKfIUe6MwkcpODGPQ3vZfb0XvCeCqlu9CBQTN7oQri2TZQ==";
+ };
+ };
+ "file-type-12.4.2" = {
+ name = "file-type";
+ packageName = "file-type";
+ version = "12.4.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/file-type/-/file-type-12.4.2.tgz";
+ sha512 = "UssQP5ZgIOKelfsaB5CuGAL+Y+q7EmONuiwF3N5HAH0t27rvrttgi6Ra9k/+DVaY9UF6+ybxu5pOXLUdA8N7Vg==";
+ };
+ };
+ "file-uri-to-path-1.0.0" = {
+ name = "file-uri-to-path";
+ packageName = "file-uri-to-path";
+ version = "1.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz";
+ sha512 = "0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==";
+ };
+ };
+ "finalhandler-1.1.2" = {
+ name = "finalhandler";
+ packageName = "finalhandler";
+ version = "1.1.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz";
+ sha512 = "aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==";
+ };
+ };
+ "find-replace-3.0.0" = {
+ name = "find-replace";
+ packageName = "find-replace";
+ version = "3.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/find-replace/-/find-replace-3.0.0.tgz";
+ sha512 = "6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ==";
+ };
+ };
+ "fn.name-1.1.0" = {
+ name = "fn.name";
+ packageName = "fn.name";
+ version = "1.1.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/fn.name/-/fn.name-1.1.0.tgz";
+ sha512 = "GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==";
+ };
+ };
+ "forwarded-0.1.2" = {
+ name = "forwarded";
+ packageName = "forwarded";
+ version = "0.1.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz";
+ sha1 = "98c23dab1175657b8c0573e8ceccd91b0ff18c84";
+ };
+ };
+ "fresh-0.5.2" = {
+ name = "fresh";
+ packageName = "fresh";
+ version = "0.5.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz";
+ sha1 = "3d8cadd90d976569fa835ab1f8e4b23a105605a7";
+ };
+ };
+ "fs-constants-1.0.0" = {
+ name = "fs-constants";
+ packageName = "fs-constants";
+ version = "1.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz";
+ sha512 = "y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==";
+ };
+ };
+ "fs-minipass-1.2.7" = {
+ name = "fs-minipass";
+ packageName = "fs-minipass";
+ version = "1.2.7";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz";
+ sha512 = "GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==";
+ };
+ };
+ "fs.realpath-1.0.0" = {
+ name = "fs.realpath";
+ packageName = "fs.realpath";
+ version = "1.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz";
+ sha1 = "1504ad2523158caa40db4a2787cb01411994ea4f";
+ };
+ };
+ "gauge-2.7.4" = {
+ name = "gauge";
+ packageName = "gauge";
+ version = "2.7.4";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz";
+ sha1 = "2c03405c7538c39d7eb37b317022e325fb018bf7";
+ };
+ };
+ "get-stream-5.2.0" = {
+ name = "get-stream";
+ packageName = "get-stream";
+ version = "5.2.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz";
+ sha512 = "nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==";
+ };
+ };
+ "github-from-package-0.0.0" = {
+ name = "github-from-package";
+ packageName = "github-from-package";
+ version = "0.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz";
+ sha1 = "97fb5d96bfde8973313f20e8288ef9a167fa64ce";
+ };
+ };
+ "glob-7.1.4" = {
+ name = "glob";
+ packageName = "glob";
+ version = "7.1.4";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz";
+ sha512 = "hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==";
+ };
+ };
+ "glob-to-regexp-0.4.1" = {
+ name = "glob-to-regexp";
+ packageName = "glob-to-regexp";
+ version = "0.4.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz";
+ sha512 = "lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==";
+ };
+ };
+ "got-11.6.0" = {
+ name = "got";
+ packageName = "got";
+ version = "11.6.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/got/-/got-11.6.0.tgz";
+ sha512 = "ErhWb4IUjQzJ3vGs3+RR12NWlBDDkRciFpAkQ1LPUxi6OnwhGj07gQxjPsyIk69s7qMihwKrKquV6VQq7JNYLA==";
+ };
+ };
+ "graceful-fs-4.2.4" = {
+ name = "graceful-fs";
+ packageName = "graceful-fs";
+ version = "4.2.4";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz";
+ sha512 = "WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==";
+ };
+ };
+ "has-flag-3.0.0" = {
+ name = "has-flag";
+ packageName = "has-flag";
+ version = "3.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz";
+ sha1 = "b5d454dc2199ae225699f3467e5a07f3b955bafd";
+ };
+ };
+ "has-flag-4.0.0" = {
+ name = "has-flag";
+ packageName = "has-flag";
+ version = "4.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz";
+ sha512 = "EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==";
+ };
+ };
+ "has-unicode-2.0.1" = {
+ name = "has-unicode";
+ packageName = "has-unicode";
+ version = "2.0.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz";
+ sha1 = "e0e6fe6a28cf51138855e086d1691e771de2a8b9";
+ };
+ };
+ "hash.js-1.1.7" = {
+ name = "hash.js";
+ packageName = "hash.js";
+ version = "1.1.7";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz";
+ sha512 = "taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==";
+ };
+ };
+ "hasha-5.2.2" = {
+ name = "hasha";
+ packageName = "hasha";
+ version = "5.2.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/hasha/-/hasha-5.2.2.tgz";
+ sha512 = "Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ==";
+ };
+ };
+ "he-1.2.0" = {
+ name = "he";
+ packageName = "he";
+ version = "1.2.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/he/-/he-1.2.0.tgz";
+ sha512 = "F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==";
+ };
+ };
+ "highlight.js-10.4.1" = {
+ name = "highlight.js";
+ packageName = "highlight.js";
+ version = "10.4.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/highlight.js/-/highlight.js-10.4.1.tgz";
+ sha512 = "yR5lWvNz7c85OhVAEAeFhVCc/GV4C30Fjzc/rCP0aCWzc1UUOPUk55dK/qdwTZHBvMZo+eZ2jpk62ndX/xMFlg==";
+ };
+ };
+ "htmlencode-0.0.4" = {
+ name = "htmlencode";
+ packageName = "htmlencode";
+ version = "0.0.4";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/htmlencode/-/htmlencode-0.0.4.tgz";
+ sha1 = "f7e2d6afbe18a87a78e63ba3308e753766740e3f";
+ };
+ };
+ "htmlparser2-4.1.0" = {
+ name = "htmlparser2";
+ packageName = "htmlparser2";
+ version = "4.1.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/htmlparser2/-/htmlparser2-4.1.0.tgz";
+ sha512 = "4zDq1a1zhE4gQso/c5LP1OtrhYTncXNSpvJYtWJBtXAETPlMfi3IFNjGuQbYLuVY4ZR0QMqRVvo4Pdy9KLyP8Q==";
+ };
+ };
+ "http-cache-semantics-4.1.0" = {
+ name = "http-cache-semantics";
+ packageName = "http-cache-semantics";
+ version = "4.1.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz";
+ sha512 = "carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==";
+ };
+ };
+ "http-errors-1.7.2" = {
+ name = "http-errors";
+ packageName = "http-errors";
+ version = "1.7.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz";
+ sha512 = "uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==";
+ };
+ };
+ "http2-wrapper-1.0.0-beta.5.2" = {
+ name = "http2-wrapper";
+ packageName = "http2-wrapper";
+ version = "1.0.0-beta.5.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.0-beta.5.2.tgz";
+ sha512 = "xYz9goEyBnC8XwXDTuC/MZ6t+MrKVQZOk4s7+PaDkwIsQd8IwqvM+0M6bA/2lvG8GHXcPdf+MejTUeO2LCPCeQ==";
+ };
+ };
+ "iconv-lite-0.4.24" = {
+ name = "iconv-lite";
+ packageName = "iconv-lite";
+ version = "0.4.24";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz";
+ sha512 = "v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==";
+ };
+ };
+ "ieee754-1.2.1" = {
+ name = "ieee754";
+ packageName = "ieee754";
+ version = "1.2.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz";
+ sha512 = "dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==";
+ };
+ };
+ "ignore-walk-3.0.3" = {
+ name = "ignore-walk";
+ packageName = "ignore-walk";
+ version = "3.0.3";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.3.tgz";
+ sha512 = "m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw==";
+ };
+ };
+ "inflight-1.0.6" = {
+ name = "inflight";
+ packageName = "inflight";
+ version = "1.0.6";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz";
+ sha1 = "49bd6331d7d02d0c09bc910a1075ba8165b56df9";
+ };
+ };
+ "inherits-2.0.3" = {
+ name = "inherits";
+ packageName = "inherits";
+ version = "2.0.3";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz";
+ sha1 = "633c2c83e3da42a502f52466022480f4208261de";
+ };
+ };
+ "inherits-2.0.4" = {
+ name = "inherits";
+ packageName = "inherits";
+ version = "2.0.4";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz";
+ sha512 = "k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==";
+ };
+ };
+ "ini-1.3.8" = {
+ name = "ini";
+ packageName = "ini";
+ version = "1.3.8";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz";
+ sha512 = "JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==";
+ };
+ };
+ "integer-3.0.1" = {
+ name = "integer";
+ packageName = "integer";
+ version = "3.0.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/integer/-/integer-3.0.1.tgz";
+ sha512 = "OqtER6W2GIJTIcnT5o2B/pWGgvurnVOYs4OZCgay40QEIbMTnNq4R0KSaIw1TZyFtPWjm5aNM+pBBMTfc3exmw==";
+ };
+ };
+ "ipaddr.js-1.9.1" = {
+ name = "ipaddr.js";
+ packageName = "ipaddr.js";
+ version = "1.9.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz";
+ sha512 = "0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==";
+ };
+ };
+ "is-arrayish-0.3.2" = {
+ name = "is-arrayish";
+ packageName = "is-arrayish";
+ version = "0.3.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz";
+ sha512 = "eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==";
+ };
+ };
+ "is-extendable-0.1.1" = {
+ name = "is-extendable";
+ packageName = "is-extendable";
+ version = "0.1.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz";
+ sha1 = "62b110e289a471418e3ec36a617d472e301dfc89";
+ };
+ };
+ "is-fullwidth-code-point-1.0.0" = {
+ name = "is-fullwidth-code-point";
+ packageName = "is-fullwidth-code-point";
+ version = "1.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz";
+ sha1 = "ef9e31386f031a7f0d643af82fde50c457ef00cb";
+ };
+ };
+ "is-promise-2.2.2" = {
+ name = "is-promise";
+ packageName = "is-promise";
+ version = "2.2.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz";
+ sha512 = "+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==";
+ };
+ };
+ "is-stream-2.0.0" = {
+ name = "is-stream";
+ packageName = "is-stream";
+ version = "2.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz";
+ sha512 = "XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==";
+ };
+ };
+ "isarray-1.0.0" = {
+ name = "isarray";
+ packageName = "isarray";
+ version = "1.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz";
+ sha1 = "bb935d48582cba168c06834957a54a3e07124f11";
+ };
+ };
+ "js-tokens-4.0.0" = {
+ name = "js-tokens";
+ packageName = "js-tokens";
+ version = "4.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz";
+ sha512 = "RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==";
+ };
+ };
+ "js-yaml-3.13.1" = {
+ name = "js-yaml";
+ packageName = "js-yaml";
+ version = "3.13.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz";
+ sha512 = "YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==";
+ };
+ };
+ "json-buffer-3.0.1" = {
+ name = "json-buffer";
+ packageName = "json-buffer";
+ version = "3.0.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz";
+ sha512 = "4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==";
+ };
+ };
+ "keyv-4.0.1" = {
+ name = "keyv";
+ packageName = "keyv";
+ version = "4.0.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/keyv/-/keyv-4.0.1.tgz";
+ sha512 = "xz6Jv6oNkbhrFCvCP7HQa8AaII8y8LRpoSm661NOKLr4uHuBwhX4epXrPQgF3+xdJnN4Esm5X0xwY4bOlALOtw==";
+ };
+ };
+ "kuler-2.0.0" = {
+ name = "kuler";
+ packageName = "kuler";
+ version = "2.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/kuler/-/kuler-2.0.0.tgz";
+ sha512 = "Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==";
+ };
+ };
+ "linkify-it-2.2.0" = {
+ name = "linkify-it";
+ packageName = "linkify-it";
+ version = "2.2.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/linkify-it/-/linkify-it-2.2.0.tgz";
+ sha512 = "GnAl/knGn+i1U/wjBz3akz2stz+HrHLsxMwHQGofCDfPvlf+gDKN58UtfmUquTY4/MXeE2x7k19KQmeoZi94Iw==";
+ };
+ };
+ "lodash-4.17.20" = {
+ name = "lodash";
+ packageName = "lodash";
+ version = "4.17.20";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz";
+ sha512 = "PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==";
+ };
+ };
+ "lodash.camelcase-4.3.0" = {
+ name = "lodash.camelcase";
+ packageName = "lodash.camelcase";
+ version = "4.3.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz";
+ sha1 = "b28aa6288a2b9fc651035c7711f65ab6190331a6";
+ };
+ };
+ "lodash.padend-4.6.1" = {
+ name = "lodash.padend";
+ packageName = "lodash.padend";
+ version = "4.6.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/lodash.padend/-/lodash.padend-4.6.1.tgz";
+ sha1 = "53ccba047d06e158d311f45da625f4e49e6f166e";
+ };
+ };
+ "lodash.toarray-4.4.0" = {
+ name = "lodash.toarray";
+ packageName = "lodash.toarray";
+ version = "4.4.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/lodash.toarray/-/lodash.toarray-4.4.0.tgz";
+ sha1 = "24c4bfcd6b2fba38bfd0594db1179d8e9b656561";
+ };
+ };
+ "logform-1.10.0" = {
+ name = "logform";
+ packageName = "logform";
+ version = "1.10.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/logform/-/logform-1.10.0.tgz";
+ sha512 = "em5ojIhU18fIMOw/333mD+ZLE2fis0EzXl1ZwHx4iQzmpQi6odNiY/t+ITNr33JZhT9/KEaH+UPIipr6a9EjWg==";
+ };
+ };
+ "logform-2.2.0" = {
+ name = "logform";
+ packageName = "logform";
+ version = "2.2.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/logform/-/logform-2.2.0.tgz";
+ sha512 = "N0qPlqfypFx7UHNn4B3lzS/b0uLqt2hmuoa+PpuXNYgozdJYAyauF5Ky0BWVjrxDlMWiT3qN4zPq3vVAfZy7Yg==";
+ };
+ };
+ "lowdb-1.0.0" = {
+ name = "lowdb";
+ packageName = "lowdb";
+ version = "1.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/lowdb/-/lowdb-1.0.0.tgz";
+ sha512 = "2+x8esE/Wb9SQ1F9IHaYWfsC9FIecLOPrK4g17FGEayjUWH172H6nwicRovGvSE2CPZouc2MCIqCI7h9d+GftQ==";
+ };
+ };
+ "lowercase-keys-2.0.0" = {
+ name = "lowercase-keys";
+ packageName = "lowercase-keys";
+ version = "2.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz";
+ sha512 = "tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==";
+ };
+ };
+ "lru-cache-6.0.0" = {
+ name = "lru-cache";
+ packageName = "lru-cache";
+ version = "6.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz";
+ sha512 = "Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==";
+ };
+ };
+ "markdown-it-9.1.0" = {
+ name = "markdown-it";
+ packageName = "markdown-it";
+ version = "9.1.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/markdown-it/-/markdown-it-9.1.0.tgz";
+ sha512 = "xHKG4C8iPriyfu/jc2hsCC045fKrMQ0VexX2F1FGYiRxDxqMB2aAhF8WauJ3fltn2kb90moGBkiiEdooGIg55w==";
+ };
+ };
+ "matrix-discord-parser-0.1.7" = {
+ name = "matrix-discord-parser";
+ packageName = "matrix-discord-parser";
+ version = "0.1.7";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/matrix-discord-parser/-/matrix-discord-parser-0.1.7.tgz";
+ sha512 = "zL1L52Wsc80IaVPXGVMjfumpN+PJ6zAuXJ6EKf8HTjPvPx4J03ybHHUrDPw455WxaJp00SmuDq+wZZyOZTvIeQ==";
+ };
+ };
+ "mdurl-1.0.1" = {
+ name = "mdurl";
+ packageName = "mdurl";
+ version = "1.0.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz";
+ sha1 = "fe85b2ec75a59037f2adfec100fd6c601761152e";
+ };
+ };
+ "media-typer-0.3.0" = {
+ name = "media-typer";
+ packageName = "media-typer";
+ version = "0.3.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz";
+ sha1 = "8710d7af0aa626f8fffa1ce00168545263255748";
+ };
+ };
+ "merge-descriptors-1.0.1" = {
+ name = "merge-descriptors";
+ packageName = "merge-descriptors";
+ version = "1.0.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz";
+ sha1 = "b00aaa556dd8b44568150ec9d1b953f3f90cbb61";
+ };
+ };
+ "methods-1.1.2" = {
+ name = "methods";
+ packageName = "methods";
+ version = "1.1.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz";
+ sha1 = "5529a4d67654134edcc5266656835b0f851afcee";
+ };
+ };
+ "mime-1.6.0" = {
+ name = "mime";
+ packageName = "mime";
+ version = "1.6.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz";
+ sha512 = "x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==";
+ };
+ };
+ "mime-2.5.0" = {
+ name = "mime";
+ packageName = "mime";
+ version = "2.5.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/mime/-/mime-2.5.0.tgz";
+ sha512 = "ft3WayFSFUVBuJj7BMLKAQcSlItKtfjsKDDsii3rqFDAZ7t11zRe8ASw/GlmivGwVUYtwkQrxiGGpL6gFvB0ag==";
+ };
+ };
+ "mime-db-1.43.0" = {
+ name = "mime-db";
+ packageName = "mime-db";
+ version = "1.43.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/mime-db/-/mime-db-1.43.0.tgz";
+ sha512 = "+5dsGEEovYbT8UY9yD7eE4XTc4UwJ1jBYlgaQQF38ENsKR3wj/8q8RFZrF9WIZpB2V1ArTVFUva8sAul1NzRzQ==";
+ };
+ };
+ "mime-types-2.1.26" = {
+ name = "mime-types";
+ packageName = "mime-types";
+ version = "2.1.26";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/mime-types/-/mime-types-2.1.26.tgz";
+ sha512 = "01paPWYgLrkqAyrlDorC1uDwl2p3qZT7yl806vW7DvDoxwXi46jsjFbg+WdwotBIk6/MbEhO/dh5aZ5sNj/dWQ==";
+ };
+ };
+ "mimic-response-1.0.1" = {
+ name = "mimic-response";
+ packageName = "mimic-response";
+ version = "1.0.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz";
+ sha512 = "j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==";
+ };
+ };
+ "mimic-response-2.1.0" = {
+ name = "mimic-response";
+ packageName = "mimic-response";
+ version = "2.1.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/mimic-response/-/mimic-response-2.1.0.tgz";
+ sha512 = "wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA==";
+ };
+ };
+ "mimic-response-3.1.0" = {
+ name = "mimic-response";
+ packageName = "mimic-response";
+ version = "3.1.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz";
+ sha512 = "z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==";
+ };
+ };
+ "minimalistic-assert-1.0.1" = {
+ name = "minimalistic-assert";
+ packageName = "minimalistic-assert";
+ version = "1.0.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz";
+ sha512 = "UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==";
+ };
+ };
+ "minimatch-3.0.4" = {
+ name = "minimatch";
+ packageName = "minimatch";
+ version = "3.0.4";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz";
+ sha512 = "yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==";
+ };
+ };
+ "minimist-1.2.5" = {
+ name = "minimist";
+ packageName = "minimist";
+ version = "1.2.5";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz";
+ sha512 = "FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==";
+ };
+ };
+ "minipass-2.9.0" = {
+ name = "minipass";
+ packageName = "minipass";
+ version = "2.9.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz";
+ sha512 = "wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==";
+ };
+ };
+ "minizlib-1.3.3" = {
+ name = "minizlib";
+ packageName = "minizlib";
+ version = "1.3.3";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz";
+ sha512 = "6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==";
+ };
+ };
+ "mkdirp-0.5.5" = {
+ name = "mkdirp";
+ packageName = "mkdirp";
+ version = "0.5.5";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz";
+ sha512 = "NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==";
+ };
+ };
+ "mkdirp-1.0.4" = {
+ name = "mkdirp";
+ packageName = "mkdirp";
+ version = "1.0.4";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz";
+ sha512 = "vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==";
+ };
+ };
+ "mkdirp-classic-0.5.3" = {
+ name = "mkdirp-classic";
+ packageName = "mkdirp-classic";
+ version = "0.5.3";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz";
+ sha512 = "gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==";
+ };
+ };
+ "moment-2.29.1" = {
+ name = "moment";
+ packageName = "moment";
+ version = "2.29.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/moment/-/moment-2.29.1.tgz";
+ sha512 = "kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==";
+ };
+ };
+ "morgan-1.10.0" = {
+ name = "morgan";
+ packageName = "morgan";
+ version = "1.10.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/morgan/-/morgan-1.10.0.tgz";
+ sha512 = "AbegBVI4sh6El+1gNwvD5YIck7nSA36weD7xvIxG4in80j/UoK8AEGaWnnz8v1GxonMCltmlNs5ZKbGvl9b1XQ==";
+ };
+ };
+ "ms-2.0.0" = {
+ name = "ms";
+ packageName = "ms";
+ version = "2.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz";
+ sha1 = "5608aeadfc00be6c2901df5f9861788de0d597c8";
+ };
+ };
+ "ms-2.1.1" = {
+ name = "ms";
+ packageName = "ms";
+ version = "2.1.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz";
+ sha512 = "tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==";
+ };
+ };
+ "ms-2.1.3" = {
+ name = "ms";
+ packageName = "ms";
+ version = "2.1.3";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz";
+ sha512 = "6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==";
+ };
+ };
+ "mx-puppet-bridge-0.1.4" = {
+ name = "mx-puppet-bridge";
+ packageName = "mx-puppet-bridge";
+ version = "0.1.4";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/mx-puppet-bridge/-/mx-puppet-bridge-0.1.4.tgz";
+ sha512 = "Jg4hszVqQv1n35Mvb5HcfK4VafjB0LaCEay8ylgiu/M2oIPE0fadFNdQpkwssXmShDzSeth/xga3HgP8G6O5Fg==";
+ };
+ };
+ "nan-2.14.2" = {
+ name = "nan";
+ packageName = "nan";
+ version = "2.14.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/nan/-/nan-2.14.2.tgz";
+ sha512 = "M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ==";
+ };
+ };
+ "napi-build-utils-1.0.2" = {
+ name = "napi-build-utils";
+ packageName = "napi-build-utils";
+ version = "1.0.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz";
+ sha512 = "ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==";
+ };
+ };
+ "needle-2.6.0" = {
+ name = "needle";
+ packageName = "needle";
+ version = "2.6.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/needle/-/needle-2.6.0.tgz";
+ sha512 = "KKYdza4heMsEfSWD7VPUIz3zX2XDwOyX2d+geb4vrERZMT5RMU6ujjaD+I5Yr54uZxQ2w6XRTAhHBbSCyovZBg==";
+ };
+ };
+ "negotiator-0.6.2" = {
+ name = "negotiator";
+ packageName = "negotiator";
+ version = "0.6.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz";
+ sha512 = "hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==";
+ };
+ };
+ "node-abi-2.19.3" = {
+ name = "node-abi";
+ packageName = "node-abi";
+ version = "2.19.3";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/node-abi/-/node-abi-2.19.3.tgz";
+ sha512 = "9xZrlyfvKhWme2EXFKQhZRp1yNWT/uI1luYPr3sFl+H4keYY4xR+1jO7mvTTijIsHf1M+QDe9uWuKeEpLInIlg==";
+ };
+ };
+ "node-emoji-1.10.0" = {
+ name = "node-emoji";
+ packageName = "node-emoji";
+ version = "1.10.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/node-emoji/-/node-emoji-1.10.0.tgz";
+ sha512 = "Yt3384If5H6BYGVHiHwTL+99OzJKHhgp82S8/dktEK73T26BazdgZ4JZh92xSVtGNJvz9UbXdNAc5hcrXV42vw==";
+ };
+ };
+ "node-fetch-2.6.1" = {
+ name = "node-fetch";
+ packageName = "node-fetch";
+ version = "2.6.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz";
+ sha512 = "V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==";
+ };
+ };
+ "node-html-parser-1.4.9" = {
+ name = "node-html-parser";
+ packageName = "node-html-parser";
+ version = "1.4.9";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/node-html-parser/-/node-html-parser-1.4.9.tgz";
+ sha512 = "UVcirFD1Bn0O+TSmloHeHqZZCxHjvtIeGdVdGMhyZ8/PWlEiZaZ5iJzR189yKZr8p0FXN58BUeC7RHRkf/KYGw==";
+ };
+ };
+ "node-pre-gyp-0.11.0" = {
+ name = "node-pre-gyp";
+ packageName = "node-pre-gyp";
+ version = "0.11.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.11.0.tgz";
+ sha512 = "TwWAOZb0j7e9eGaf9esRx3ZcLaE5tQ2lvYy1pb5IAaG1a2e2Kv5Lms1Y4hpj+ciXJRofIxxlt5haeQ/2ANeE0Q==";
+ };
+ };
+ "noop-logger-0.1.1" = {
+ name = "noop-logger";
+ packageName = "noop-logger";
+ version = "0.1.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/noop-logger/-/noop-logger-0.1.1.tgz";
+ sha1 = "94a2b1633c4f1317553007d8966fd0e841b6a4c2";
+ };
+ };
+ "nopt-4.0.3" = {
+ name = "nopt";
+ packageName = "nopt";
+ version = "4.0.3";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz";
+ sha512 = "CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==";
+ };
+ };
+ "normalize-url-4.5.0" = {
+ name = "normalize-url";
+ packageName = "normalize-url";
+ version = "4.5.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.0.tgz";
+ sha512 = "2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ==";
+ };
+ };
+ "normalize-version-1.0.5" = {
+ name = "normalize-version";
+ packageName = "normalize-version";
+ version = "1.0.5";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/normalize-version/-/normalize-version-1.0.5.tgz";
+ sha1 = "a6a2b9002dc6fa2e5f15ec2f0b2c0284fb499712";
+ };
+ };
+ "npm-bundled-1.1.1" = {
+ name = "npm-bundled";
+ packageName = "npm-bundled";
+ version = "1.1.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.1.tgz";
+ sha512 = "gqkfgGePhTpAEgUsGEgcq1rqPXA+tv/aVBlgEzfXwA1yiUJF7xtEt3CtVwOjNYQOVknDk0F20w58Fnm3EtG0fA==";
+ };
+ };
+ "npm-normalize-package-bin-1.0.1" = {
+ name = "npm-normalize-package-bin";
+ packageName = "npm-normalize-package-bin";
+ version = "1.0.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz";
+ sha512 = "EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==";
+ };
+ };
+ "npm-packlist-1.4.8" = {
+ name = "npm-packlist";
+ packageName = "npm-packlist";
+ version = "1.4.8";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.4.8.tgz";
+ sha512 = "5+AZgwru5IevF5ZdnFglB5wNlHG1AOOuw28WhUq8/8emhBmLv6jX5by4WJCh7lW0uSYZYS6DXqIsyZVIXRZU9A==";
+ };
+ };
+ "npmlog-4.1.2" = {
+ name = "npmlog";
+ packageName = "npmlog";
+ version = "4.1.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz";
+ sha512 = "2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==";
+ };
+ };
+ "number-is-nan-1.0.1" = {
+ name = "number-is-nan";
+ packageName = "number-is-nan";
+ version = "1.0.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz";
+ sha1 = "097b602b53422a522c1afb8790318336941a011d";
+ };
+ };
+ "object-assign-4.1.1" = {
+ name = "object-assign";
+ packageName = "object-assign";
+ version = "4.1.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz";
+ sha1 = "2109adc7965887cfc05cbbd442cac8bfbb360863";
+ };
+ };
+ "object-hash-1.3.1" = {
+ name = "object-hash";
+ packageName = "object-hash";
+ version = "1.3.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/object-hash/-/object-hash-1.3.1.tgz";
+ sha512 = "OSuu/pU4ENM9kmREg0BdNrUDIl1heYa4mBZacJc+vVWz4GtAwu7jO8s4AIt2aGRUTqxykpWzI3Oqnsm13tTMDA==";
+ };
+ };
+ "on-finished-2.3.0" = {
+ name = "on-finished";
+ packageName = "on-finished";
+ version = "2.3.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz";
+ sha1 = "20f1336481b083cd75337992a16971aa2d906947";
+ };
+ };
+ "on-headers-1.0.2" = {
+ name = "on-headers";
+ packageName = "on-headers";
+ version = "1.0.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz";
+ sha512 = "pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==";
+ };
+ };
+ "once-1.4.0" = {
+ name = "once";
+ packageName = "once";
+ version = "1.4.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/once/-/once-1.4.0.tgz";
+ sha1 = "583b1aa775961d4b113ac17d9c50baef9dd76bd1";
+ };
+ };
+ "one-time-1.0.0" = {
+ name = "one-time";
+ packageName = "one-time";
+ version = "1.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/one-time/-/one-time-1.0.0.tgz";
+ sha512 = "5DXOiRKwuSEcQ/l0kGCF6Q3jcADFv5tSmRaJck/OqkVFcOzutB134KRSfF0xDrL39MNnqxbHBbUUcjZIhTgb2g==";
+ };
+ };
+ "os-homedir-1.0.2" = {
+ name = "os-homedir";
+ packageName = "os-homedir";
+ version = "1.0.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz";
+ sha1 = "ffbc4988336e0e833de0c168c7ef152121aa7fb3";
+ };
+ };
+ "os-tmpdir-1.0.2" = {
+ name = "os-tmpdir";
+ packageName = "os-tmpdir";
+ version = "1.0.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz";
+ sha1 = "bbe67406c79aa85c5cfec766fe5734555dfa1274";
+ };
+ };
+ "osenv-0.1.5" = {
+ name = "osenv";
+ packageName = "osenv";
+ version = "0.1.5";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz";
+ sha512 = "0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==";
+ };
+ };
+ "p-cancelable-2.0.0" = {
+ name = "p-cancelable";
+ packageName = "p-cancelable";
+ version = "2.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.0.0.tgz";
+ sha512 = "wvPXDmbMmu2ksjkB4Z3nZWTSkJEb9lqVdMaCKpZUGJG9TMiNp9XcbG3fn9fPKjem04fJMJnXoyFPk2FmgiaiNg==";
+ };
+ };
+ "packet-reader-1.0.0" = {
+ name = "packet-reader";
+ packageName = "packet-reader";
+ version = "1.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/packet-reader/-/packet-reader-1.0.0.tgz";
+ sha512 = "HAKu/fG3HpHFO0AA8WE8q2g+gBJaZ9MG7fcKk+IJPLTGAD6Psw4443l+9DGRbOIh3/aXr7Phy0TjilYivJo5XQ==";
+ };
+ };
+ "parse-srcset-1.0.2" = {
+ name = "parse-srcset";
+ packageName = "parse-srcset";
+ version = "1.0.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/parse-srcset/-/parse-srcset-1.0.2.tgz";
+ sha1 = "f2bd221f6cc970a938d88556abc589caaaa2bde1";
+ };
+ };
+ "parseurl-1.3.3" = {
+ name = "parseurl";
+ packageName = "parseurl";
+ version = "1.3.3";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz";
+ sha512 = "CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==";
+ };
+ };
+ "path-0.12.7" = {
+ name = "path";
+ packageName = "path";
+ version = "0.12.7";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/path/-/path-0.12.7.tgz";
+ sha1 = "d4dc2a506c4ce2197eb481ebfcd5b36c0140b10f";
+ };
+ };
+ "path-is-absolute-1.0.1" = {
+ name = "path-is-absolute";
+ packageName = "path-is-absolute";
+ version = "1.0.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz";
+ sha1 = "174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f";
+ };
+ };
+ "path-parse-1.0.6" = {
+ name = "path-parse";
+ packageName = "path-parse";
+ version = "1.0.6";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz";
+ sha512 = "GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==";
+ };
+ };
+ "path-to-regexp-0.1.7" = {
+ name = "path-to-regexp";
+ packageName = "path-to-regexp";
+ version = "0.1.7";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz";
+ sha1 = "df604178005f522f15eb4490e7247a1bfaa67f8c";
+ };
+ };
+ "pg-8.5.1" = {
+ name = "pg";
+ packageName = "pg";
+ version = "8.5.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/pg/-/pg-8.5.1.tgz";
+ sha512 = "9wm3yX9lCfjvA98ybCyw2pADUivyNWT/yIP4ZcDVpMN0og70BUWYEGXPCTAQdGTAqnytfRADb7NERrY1qxhIqw==";
+ };
+ };
+ "pg-connection-string-2.4.0" = {
+ name = "pg-connection-string";
+ packageName = "pg-connection-string";
+ version = "2.4.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.4.0.tgz";
+ sha512 = "3iBXuv7XKvxeMrIgym7njT+HlZkwZqqGX4Bu9cci8xHZNT+Um1gWKqCsAzcC0d95rcKMU5WBg6YRUcHyV0HZKQ==";
+ };
+ };
+ "pg-int8-1.0.1" = {
+ name = "pg-int8";
+ packageName = "pg-int8";
+ version = "1.0.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/pg-int8/-/pg-int8-1.0.1.tgz";
+ sha512 = "WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==";
+ };
+ };
+ "pg-minify-1.6.2" = {
+ name = "pg-minify";
+ packageName = "pg-minify";
+ version = "1.6.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/pg-minify/-/pg-minify-1.6.2.tgz";
+ sha512 = "1KdmFGGTP6jplJoI8MfvRlfvMiyBivMRP7/ffh4a11RUFJ7kC2J0ZHlipoKiH/1hz+DVgceon9U2qbaHpPeyPg==";
+ };
+ };
+ "pg-pool-3.2.2" = {
+ name = "pg-pool";
+ packageName = "pg-pool";
+ version = "3.2.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/pg-pool/-/pg-pool-3.2.2.tgz";
+ sha512 = "ORJoFxAlmmros8igi608iVEbQNNZlp89diFVx6yV5v+ehmpMY9sK6QgpmgoXbmkNaBAx8cOOZh9g80kJv1ooyA==";
+ };
+ };
+ "pg-promise-10.9.1" = {
+ name = "pg-promise";
+ packageName = "pg-promise";
+ version = "10.9.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/pg-promise/-/pg-promise-10.9.1.tgz";
+ sha512 = "Om5sYmsm2NWXP+D0Soappb4fuidER9qNLcnVo9nBPFqwPfpnBZZPzzLaVvwBXs//+kJ9L4bBTXm2iWNAp39e2A==";
+ };
+ };
+ "pg-protocol-1.4.0" = {
+ name = "pg-protocol";
+ packageName = "pg-protocol";
+ version = "1.4.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/pg-protocol/-/pg-protocol-1.4.0.tgz";
+ sha512 = "El+aXWcwG/8wuFICMQjM5ZSAm6OWiJicFdNYo+VY3QP+8vI4SvLIWVe51PppTzMhikUJR+PsyIFKqfdXPz/yxA==";
+ };
+ };
+ "pg-types-2.2.0" = {
+ name = "pg-types";
+ packageName = "pg-types";
+ version = "2.2.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/pg-types/-/pg-types-2.2.0.tgz";
+ sha512 = "qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==";
+ };
+ };
+ "pgpass-1.0.4" = {
+ name = "pgpass";
+ packageName = "pgpass";
+ version = "1.0.4";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/pgpass/-/pgpass-1.0.4.tgz";
+ sha512 = "YmuA56alyBq7M59vxVBfPJrGSozru8QAdoNlWuW3cz8l+UX3cWge0vTvjKhsSHSJpo3Bom8/Mm6hf0TR5GY0+w==";
+ };
+ };
+ "pify-3.0.0" = {
+ name = "pify";
+ packageName = "pify";
+ version = "3.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz";
+ sha1 = "e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176";
+ };
+ };
+ "postcss-7.0.35" = {
+ name = "postcss";
+ packageName = "postcss";
+ version = "7.0.35";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz";
+ sha512 = "3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==";
+ };
+ };
+ "postgres-array-2.0.0" = {
+ name = "postgres-array";
+ packageName = "postgres-array";
+ version = "2.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/postgres-array/-/postgres-array-2.0.0.tgz";
+ sha512 = "VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==";
+ };
+ };
+ "postgres-bytea-1.0.0" = {
+ name = "postgres-bytea";
+ packageName = "postgres-bytea";
+ version = "1.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/postgres-bytea/-/postgres-bytea-1.0.0.tgz";
+ sha1 = "027b533c0aa890e26d172d47cf9ccecc521acd35";
+ };
+ };
+ "postgres-date-1.0.7" = {
+ name = "postgres-date";
+ packageName = "postgres-date";
+ version = "1.0.7";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/postgres-date/-/postgres-date-1.0.7.tgz";
+ sha512 = "suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==";
+ };
+ };
+ "postgres-interval-1.2.0" = {
+ name = "postgres-interval";
+ packageName = "postgres-interval";
+ version = "1.2.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/postgres-interval/-/postgres-interval-1.2.0.tgz";
+ sha512 = "9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==";
+ };
+ };
+ "prebuild-install-5.3.6" = {
+ name = "prebuild-install";
+ packageName = "prebuild-install";
+ version = "5.3.6";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/prebuild-install/-/prebuild-install-5.3.6.tgz";
+ sha512 = "s8Aai8++QQGi4sSbs/M1Qku62PFK49Jm1CbgXklGz4nmHveDq0wzJkg7Na5QbnO1uNH8K7iqx2EQ/mV0MZEmOg==";
+ };
+ };
+ "prism-media-1.2.3" = {
+ name = "prism-media";
+ packageName = "prism-media";
+ version = "1.2.3";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/prism-media/-/prism-media-1.2.3.tgz";
+ sha512 = "fSrR66n0l6roW9Rx4rSLMyTPTjRTiXy5RVqDOurACQ6si1rKHHKDU5gwBJoCsIV0R3o9gi+K50akl/qyw1C74A==";
+ };
+ };
+ "process-0.11.10" = {
+ name = "process";
+ packageName = "process";
+ version = "0.11.10";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/process/-/process-0.11.10.tgz";
+ sha1 = "7332300e840161bda3e69a1d1d91a7d4bc16f182";
+ };
+ };
+ "process-nextick-args-2.0.1" = {
+ name = "process-nextick-args";
+ packageName = "process-nextick-args";
+ version = "2.0.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz";
+ sha512 = "3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==";
+ };
+ };
+ "prom-client-13.0.0" = {
+ name = "prom-client";
+ packageName = "prom-client";
+ version = "13.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/prom-client/-/prom-client-13.0.0.tgz";
+ sha512 = "M7ZNjIO6x+2R/vjSD13yjJPjpoZA8eEwH2Bp2Re0/PvzozD7azikv+SaBtZes4Q1ca/xHjZ4RSCuTag3YZLg1A==";
+ };
+ };
+ "proxy-addr-2.0.6" = {
+ name = "proxy-addr";
+ packageName = "proxy-addr";
+ version = "2.0.6";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz";
+ sha512 = "dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==";
+ };
+ };
+ "pump-3.0.0" = {
+ name = "pump";
+ packageName = "pump";
+ version = "3.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz";
+ sha512 = "LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==";
+ };
+ };
+ "qs-6.7.0" = {
+ name = "qs";
+ packageName = "qs";
+ version = "6.7.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz";
+ sha512 = "VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==";
+ };
+ };
+ "quick-lru-5.1.1" = {
+ name = "quick-lru";
+ packageName = "quick-lru";
+ version = "5.1.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz";
+ sha512 = "WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==";
+ };
+ };
+ "range-parser-1.2.1" = {
+ name = "range-parser";
+ packageName = "range-parser";
+ version = "1.2.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz";
+ sha512 = "Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==";
+ };
+ };
+ "raw-body-2.4.0" = {
+ name = "raw-body";
+ packageName = "raw-body";
+ version = "2.4.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz";
+ sha512 = "4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==";
+ };
+ };
+ "rc-1.2.8" = {
+ name = "rc";
+ packageName = "rc";
+ version = "1.2.8";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz";
+ sha512 = "y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==";
+ };
+ };
+ "readable-stream-2.3.7" = {
+ name = "readable-stream";
+ packageName = "readable-stream";
+ version = "2.3.7";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz";
+ sha512 = "Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==";
+ };
+ };
+ "readable-stream-3.6.0" = {
+ name = "readable-stream";
+ packageName = "readable-stream";
+ version = "3.6.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz";
+ sha512 = "BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==";
+ };
+ };
+ "reduce-flatten-1.0.1" = {
+ name = "reduce-flatten";
+ packageName = "reduce-flatten";
+ version = "1.0.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/reduce-flatten/-/reduce-flatten-1.0.1.tgz";
+ sha1 = "258c78efd153ddf93cb561237f61184f3696e327";
+ };
+ };
+ "resolve-1.11.1" = {
+ name = "resolve";
+ packageName = "resolve";
+ version = "1.11.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/resolve/-/resolve-1.11.1.tgz";
+ sha512 = "vIpgF6wfuJOZI7KKKSP+HmiKggadPQAdsp5HiC1mvqnfp0gF1vdwgBWZIdrVft9pgqoMFQN+R7BSWZiBxx+BBw==";
+ };
+ };
+ "resolve-alpn-1.0.0" = {
+ name = "resolve-alpn";
+ packageName = "resolve-alpn";
+ version = "1.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.0.0.tgz";
+ sha512 = "rTuiIEqFmGxne4IovivKSDzld2lWW9QCjqv80SYjPgf+gS35eaCAjaP54CCwGAwBtnCsvNLYtqxe1Nw+i6JEmA==";
+ };
+ };
+ "responselike-2.0.0" = {
+ name = "responselike";
+ packageName = "responselike";
+ version = "2.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/responselike/-/responselike-2.0.0.tgz";
+ sha512 = "xH48u3FTB9VsZw7R+vvgaKeLKzT6jOogbQhEe/jewwnZgzPcnyWui2Av6JpoYZF/91uueC+lqhWqeURw5/qhCw==";
+ };
+ };
+ "rimraf-2.7.1" = {
+ name = "rimraf";
+ packageName = "rimraf";
+ version = "2.7.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz";
+ sha512 = "uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==";
+ };
+ };
+ "safe-buffer-5.1.2" = {
+ name = "safe-buffer";
+ packageName = "safe-buffer";
+ version = "5.1.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz";
+ sha512 = "Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==";
+ };
+ };
+ "safer-buffer-2.1.2" = {
+ name = "safer-buffer";
+ packageName = "safer-buffer";
+ version = "2.1.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz";
+ sha512 = "YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==";
+ };
+ };
+ "sanitize-html-1.27.5" = {
+ name = "sanitize-html";
+ packageName = "sanitize-html";
+ version = "1.27.5";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/sanitize-html/-/sanitize-html-1.27.5.tgz";
+ sha512 = "M4M5iXDAUEcZKLXkmk90zSYWEtk5NH3JmojQxKxV371fnMh+x9t1rqdmXaGoyEHw3z/X/8vnFhKjGL5xFGOJ3A==";
+ };
+ };
+ "sax-1.2.4" = {
+ name = "sax";
+ packageName = "sax";
+ version = "1.2.4";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz";
+ sha512 = "NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==";
+ };
+ };
+ "semver-5.7.0" = {
+ name = "semver";
+ packageName = "semver";
+ version = "5.7.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/semver/-/semver-5.7.0.tgz";
+ sha512 = "Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==";
+ };
+ };
+ "semver-6.3.0" = {
+ name = "semver";
+ packageName = "semver";
+ version = "6.3.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz";
+ sha512 = "b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==";
+ };
+ };
+ "semver-closest-0.1.2" = {
+ name = "semver-closest";
+ packageName = "semver-closest";
+ version = "0.1.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/semver-closest/-/semver-closest-0.1.2.tgz";
+ sha512 = "Q6qk0bPNlK5zG62mWFC8L0Qc6OJX76XRWxiPgZyrh98IZTL3HPErgUlPfCyrAPsHVpU+YP4lf5Mz+LzpId91Og==";
+ };
+ };
+ "send-0.17.1" = {
+ name = "send";
+ packageName = "send";
+ version = "0.17.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/send/-/send-0.17.1.tgz";
+ sha512 = "BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==";
+ };
+ };
+ "serve-static-1.14.1" = {
+ name = "serve-static";
+ packageName = "serve-static";
+ version = "1.14.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz";
+ sha512 = "JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==";
+ };
+ };
+ "set-blocking-2.0.0" = {
+ name = "set-blocking";
+ packageName = "set-blocking";
+ version = "2.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz";
+ sha1 = "045f9782d011ae9a6803ddd382b24392b3d890f7";
+ };
+ };
+ "setimmediate-1.0.5" = {
+ name = "setimmediate";
+ packageName = "setimmediate";
+ version = "1.0.5";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz";
+ sha1 = "290cbb232e306942d7d7ea9b83732ab7856f8285";
+ };
+ };
+ "setprototypeof-1.1.1" = {
+ name = "setprototypeof";
+ packageName = "setprototypeof";
+ version = "1.1.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz";
+ sha512 = "JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==";
+ };
+ };
+ "signal-exit-3.0.3" = {
+ name = "signal-exit";
+ packageName = "signal-exit";
+ version = "3.0.3";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz";
+ sha512 = "VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==";
+ };
+ };
+ "simple-concat-1.0.1" = {
+ name = "simple-concat";
+ packageName = "simple-concat";
+ version = "1.0.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz";
+ sha512 = "cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==";
+ };
+ };
+ "simple-get-3.1.0" = {
+ name = "simple-get";
+ packageName = "simple-get";
+ version = "3.1.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/simple-get/-/simple-get-3.1.0.tgz";
+ sha512 = "bCR6cP+aTdScaQCnQKbPKtJOKDp/hj9EDLJo3Nw4y1QksqaovlW/bnptB6/c1e+qmNIDHRK+oXFDdEqBT8WzUA==";
+ };
+ };
+ "simple-markdown-0.7.2" = {
+ name = "simple-markdown";
+ packageName = "simple-markdown";
+ version = "0.7.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/simple-markdown/-/simple-markdown-0.7.2.tgz";
+ sha512 = "XfCvqqzMyzRj4L7eIxJgGaQ2Gaxr20GhTFMB+1yuY8q3xffjzmOg4Q5tC0kcaJPV42NNUHCQDaRK6jzi3/RhrA==";
+ };
+ };
+ "simple-swizzle-0.2.2" = {
+ name = "simple-swizzle";
+ packageName = "simple-swizzle";
+ version = "0.2.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz";
+ sha1 = "a4da6b635ffcccca33f70d17cb92592de95e557a";
+ };
+ };
+ "source-map-0.6.1" = {
+ name = "source-map";
+ packageName = "source-map";
+ version = "0.6.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz";
+ sha512 = "UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==";
+ };
+ };
+ "spex-3.2.0" = {
+ name = "spex";
+ packageName = "spex";
+ version = "3.2.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/spex/-/spex-3.2.0.tgz";
+ sha512 = "9srjJM7NaymrpwMHvSmpDeIK5GoRMX/Tq0E8aOlDPS54dDnDUIp30DrP9SphMPEETDLzEM9+4qo+KipmbtPecg==";
+ };
+ };
+ "split2-3.2.2" = {
+ name = "split2";
+ packageName = "split2";
+ version = "3.2.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz";
+ sha512 = "9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==";
+ };
+ };
+ "sprintf-js-1.0.3" = {
+ name = "sprintf-js";
+ packageName = "sprintf-js";
+ version = "1.0.3";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz";
+ sha1 = "04e6926f662895354f3dd015203633b857297e2c";
+ };
+ };
+ "stack-trace-0.0.10" = {
+ name = "stack-trace";
+ packageName = "stack-trace";
+ version = "0.0.10";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz";
+ sha1 = "547c70b347e8d32b4e108ea1a2a159e5fdde19c0";
+ };
+ };
+ "statuses-1.5.0" = {
+ name = "statuses";
+ packageName = "statuses";
+ version = "1.5.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz";
+ sha1 = "161c7dac177659fd9811f43771fa99381478628c";
+ };
+ };
+ "steno-0.4.4" = {
+ name = "steno";
+ packageName = "steno";
+ version = "0.4.4";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/steno/-/steno-0.4.4.tgz";
+ sha1 = "071105bdfc286e6615c0403c27e9d7b5dcb855cb";
+ };
+ };
+ "string-width-1.0.2" = {
+ name = "string-width";
+ packageName = "string-width";
+ version = "1.0.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz";
+ sha1 = "118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3";
+ };
+ };
+ "string_decoder-1.1.1" = {
+ name = "string_decoder";
+ packageName = "string_decoder";
+ version = "1.1.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz";
+ sha512 = "n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==";
+ };
+ };
+ "strip-ansi-3.0.1" = {
+ name = "strip-ansi";
+ packageName = "strip-ansi";
+ version = "3.0.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz";
+ sha1 = "6a385fb8853d952d5ff05d0e8aaf94278dc63dcf";
+ };
+ };
+ "strip-json-comments-2.0.1" = {
+ name = "strip-json-comments";
+ packageName = "strip-json-comments";
+ version = "2.0.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz";
+ sha1 = "3c531942e908c2697c0ec344858c286c7ca0a60a";
+ };
+ };
+ "supports-color-5.5.0" = {
+ name = "supports-color";
+ packageName = "supports-color";
+ version = "5.5.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz";
+ sha512 = "QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==";
+ };
+ };
+ "supports-color-6.1.0" = {
+ name = "supports-color";
+ packageName = "supports-color";
+ version = "6.1.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz";
+ sha512 = "qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==";
+ };
+ };
+ "supports-color-7.2.0" = {
+ name = "supports-color";
+ packageName = "supports-color";
+ version = "7.2.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz";
+ sha512 = "qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==";
+ };
+ };
+ "table-layout-0.4.5" = {
+ name = "table-layout";
+ packageName = "table-layout";
+ version = "0.4.5";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/table-layout/-/table-layout-0.4.5.tgz";
+ sha512 = "zTvf0mcggrGeTe/2jJ6ECkJHAQPIYEwDoqsiqBjI24mvRmQbInK5jq33fyypaCBxX08hMkfmdOqj6haT33EqWw==";
+ };
+ };
+ "tar-4.4.10" = {
+ name = "tar";
+ packageName = "tar";
+ version = "4.4.10";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/tar/-/tar-4.4.10.tgz";
+ sha512 = "g2SVs5QIxvo6OLp0GudTqEf05maawKUxXru104iaayWA09551tFCTI8f1Asb4lPfkBr91k07iL4c11XO3/b0tA==";
+ };
+ };
+ "tar-fs-2.1.1" = {
+ name = "tar-fs";
+ packageName = "tar-fs";
+ version = "2.1.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz";
+ sha512 = "V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==";
+ };
+ };
+ "tar-stream-2.2.0" = {
+ name = "tar-stream";
+ packageName = "tar-stream";
+ version = "2.2.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz";
+ sha512 = "ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==";
+ };
+ };
+ "tdigest-0.1.1" = {
+ name = "tdigest";
+ packageName = "tdigest";
+ version = "0.1.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/tdigest/-/tdigest-0.1.1.tgz";
+ sha1 = "2e3cb2c39ea449e55d1e6cd91117accca4588021";
+ };
+ };
+ "text-hex-1.0.0" = {
+ name = "text-hex";
+ packageName = "text-hex";
+ version = "1.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/text-hex/-/text-hex-1.0.0.tgz";
+ sha512 = "uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==";
+ };
+ };
+ "toidentifier-1.0.0" = {
+ name = "toidentifier";
+ packageName = "toidentifier";
+ version = "1.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz";
+ sha512 = "yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==";
+ };
+ };
+ "triple-beam-1.3.0" = {
+ name = "triple-beam";
+ packageName = "triple-beam";
+ version = "1.3.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/triple-beam/-/triple-beam-1.3.0.tgz";
+ sha512 = "XrHUvV5HpdLmIj4uVMxHggLbFSZYIn7HEWsqePZcI50pco+MPqJ50wMGY794X7AOOhxOBAjbkqfAbEe/QMp2Lw==";
+ };
+ };
+ "tslib-1.10.0" = {
+ name = "tslib";
+ packageName = "tslib";
+ version = "1.10.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz";
+ sha512 = "qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==";
+ };
+ };
+ "tslint-5.18.0" = {
+ name = "tslint";
+ packageName = "tslint";
+ version = "5.18.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/tslint/-/tslint-5.18.0.tgz";
+ sha512 = "Q3kXkuDEijQ37nXZZLKErssQVnwCV/+23gFEMROi8IlbaBG6tXqLPQJ5Wjcyt/yHPKBC+hD5SzuGaMora+ZS6w==";
+ };
+ };
+ "tsutils-2.29.0" = {
+ name = "tsutils";
+ packageName = "tsutils";
+ version = "2.29.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/tsutils/-/tsutils-2.29.0.tgz";
+ sha512 = "g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA==";
+ };
+ };
+ "tunnel-agent-0.6.0" = {
+ name = "tunnel-agent";
+ packageName = "tunnel-agent";
+ version = "0.6.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz";
+ sha1 = "27a5dea06b36b04a0a9966774b290868f0fc40fd";
+ };
+ };
+ "tweetnacl-1.0.3" = {
+ name = "tweetnacl";
+ packageName = "tweetnacl";
+ version = "1.0.3";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/tweetnacl/-/tweetnacl-1.0.3.tgz";
+ sha512 = "6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==";
+ };
+ };
+ "type-fest-0.8.1" = {
+ name = "type-fest";
+ packageName = "type-fest";
+ version = "0.8.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz";
+ sha512 = "4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==";
+ };
+ };
+ "type-is-1.6.18" = {
+ name = "type-is";
+ packageName = "type-is";
+ version = "1.6.18";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz";
+ sha512 = "TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==";
+ };
+ };
+ "typescript-3.7.4" = {
+ name = "typescript";
+ packageName = "typescript";
+ version = "3.7.4";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/typescript/-/typescript-3.7.4.tgz";
+ sha512 = "A25xv5XCtarLwXpcDNZzCGvW2D1S3/bACratYBx2sax8PefsFhlYmkQicKHvpYflFS8if4zne5zT5kpJ7pzuvw==";
+ };
+ };
+ "typical-2.6.1" = {
+ name = "typical";
+ packageName = "typical";
+ version = "2.6.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/typical/-/typical-2.6.1.tgz";
+ sha1 = "5c080e5d661cbbe38259d2e70a3c7253e873881d";
+ };
+ };
+ "typical-4.0.0" = {
+ name = "typical";
+ packageName = "typical";
+ version = "4.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/typical/-/typical-4.0.0.tgz";
+ sha512 = "VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw==";
+ };
+ };
+ "uc.micro-1.0.6" = {
+ name = "uc.micro";
+ packageName = "uc.micro";
+ version = "1.0.6";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz";
+ sha512 = "8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==";
+ };
+ };
+ "unescape-1.0.1" = {
+ name = "unescape";
+ packageName = "unescape";
+ version = "1.0.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/unescape/-/unescape-1.0.1.tgz";
+ sha512 = "O0+af1Gs50lyH1nUu3ZyYS1cRh01Q/kUKatTOkSs7jukXE6/NebucDVxyiDsA9AQ4JC1V1jUH9EO8JX2nMDgGQ==";
+ };
+ };
+ "unescape-html-1.1.0" = {
+ name = "unescape-html";
+ packageName = "unescape-html";
+ version = "1.1.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/unescape-html/-/unescape-html-1.1.0.tgz";
+ sha512 = "O9/yBNqIkArjS597iHez5hAaAdn7b8/230SX8IncgXAX5tWI9XlEQYaz6Qbou0Sloa9n6lx9G5s6hg5qhJyzGg==";
+ };
+ };
+ "unpipe-1.0.0" = {
+ name = "unpipe";
+ packageName = "unpipe";
+ version = "1.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz";
+ sha1 = "b2bf4ee8514aae6165b4817829d21b2ef49904ec";
+ };
+ };
+ "useragent-generator-1.1.1-amkt-22079-finish.0" = {
+ name = "useragent-generator";
+ packageName = "useragent-generator";
+ version = "1.1.1-amkt-22079-finish.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/useragent-generator/-/useragent-generator-1.1.1-amkt-22079-finish.0.tgz";
+ sha512 = "jUVHvx1t3bVjx2dI9fG4iKzjO5WA6qtjWaR/PitNvd6zQMJNlFYehNwRUaAAKkhBCkw1T0U9e2oG9Sg3wSmc6Q==";
+ };
+ };
+ "util-0.10.4" = {
+ name = "util";
+ packageName = "util";
+ version = "0.10.4";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/util/-/util-0.10.4.tgz";
+ sha512 = "0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==";
+ };
+ };
+ "util-deprecate-1.0.2" = {
+ name = "util-deprecate";
+ packageName = "util-deprecate";
+ version = "1.0.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz";
+ sha1 = "450d4dc9fa70de732762fbd2d4a28981419a0ccf";
+ };
+ };
+ "utils-merge-1.0.1" = {
+ name = "utils-merge";
+ packageName = "utils-merge";
+ version = "1.0.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz";
+ sha1 = "9f95710f50a267947b2ccc124741c1028427e713";
+ };
+ };
+ "uuid-3.4.0" = {
+ name = "uuid";
+ packageName = "uuid";
+ version = "3.4.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz";
+ sha512 = "HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==";
+ };
+ };
+ "vary-1.1.2" = {
+ name = "vary";
+ packageName = "vary";
+ version = "1.1.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz";
+ sha1 = "2299f02c6ded30d4a5961b0b9f74524a18f634fc";
+ };
+ };
+ "which-pm-runs-1.0.0" = {
+ name = "which-pm-runs";
+ packageName = "which-pm-runs";
+ version = "1.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/which-pm-runs/-/which-pm-runs-1.0.0.tgz";
+ sha1 = "670b3afbc552e0b55df6b7780ca74615f23ad1cb";
+ };
+ };
+ "wide-align-1.1.3" = {
+ name = "wide-align";
+ packageName = "wide-align";
+ version = "1.1.3";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz";
+ sha512 = "QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==";
+ };
+ };
+ "winston-3.3.3" = {
+ name = "winston";
+ packageName = "winston";
+ version = "3.3.3";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/winston/-/winston-3.3.3.tgz";
+ sha512 = "oEXTISQnC8VlSAKf1KYSSd7J6IWuRPQqDdo8eoRNaYKLvwSb5+79Z3Yi1lrl6KDpU6/VWaxpakDAtb1oQ4n9aw==";
+ };
+ };
+ "winston-compat-0.1.5" = {
+ name = "winston-compat";
+ packageName = "winston-compat";
+ version = "0.1.5";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/winston-compat/-/winston-compat-0.1.5.tgz";
+ sha512 = "EPvPcHT604AV3Ji6d3+vX8ENKIml9VSxMRnPQ+cuK/FX6f3hvPP2hxyoeeCOCFvDrJEujalfcKWlWPvAnFyS9g==";
+ };
+ };
+ "winston-daily-rotate-file-3.10.0" = {
+ name = "winston-daily-rotate-file";
+ packageName = "winston-daily-rotate-file";
+ version = "3.10.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/winston-daily-rotate-file/-/winston-daily-rotate-file-3.10.0.tgz";
+ sha512 = "KO8CfbI2CvdR3PaFApEH02GPXiwJ+vbkF1mCkTlvRIoXFI8EFlf1ACcuaahXTEiDEKCii6cNe95gsL4ZkbnphA==";
+ };
+ };
+ "winston-transport-4.4.0" = {
+ name = "winston-transport";
+ packageName = "winston-transport";
+ version = "4.4.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/winston-transport/-/winston-transport-4.4.0.tgz";
+ sha512 = "Lc7/p3GtqtqPBYYtS6KCN3c77/2QCev51DvcJKbkFPQNoj1sinkGwLGFDxkXY9J6p9+EPnYs+D90uwbnaiURTw==";
+ };
+ };
+ "wordwrapjs-3.0.0" = {
+ name = "wordwrapjs";
+ packageName = "wordwrapjs";
+ version = "3.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/wordwrapjs/-/wordwrapjs-3.0.0.tgz";
+ sha512 = "mO8XtqyPvykVCsrwj5MlOVWvSnCdT+C+QVbm6blradR7JExAhbkZ7hZ9A+9NUtwzSqrlUo9a67ws0EiILrvRpw==";
+ };
+ };
+ "wrappy-1.0.2" = {
+ name = "wrappy";
+ packageName = "wrappy";
+ version = "1.0.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz";
+ sha1 = "b5243d8f3ec1aa35f1364605bc0d1036e30ab69f";
+ };
+ };
+ "ws-7.4.1" = {
+ name = "ws";
+ packageName = "ws";
+ version = "7.4.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/ws/-/ws-7.4.1.tgz";
+ sha512 = "pTsP8UAfhy3sk1lSk/O/s4tjD0CRwvMnzvwr4OKGX7ZvqZtUyx4KIJB5JWbkykPoc55tixMGgTNoh3k4FkNGFQ==";
+ };
+ };
+ "xtend-4.0.2" = {
+ name = "xtend";
+ packageName = "xtend";
+ version = "4.0.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz";
+ sha512 = "LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==";
+ };
+ };
+ "yallist-3.1.1" = {
+ name = "yallist";
+ packageName = "yallist";
+ version = "3.1.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz";
+ sha512 = "a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==";
+ };
+ };
+ "yallist-4.0.0" = {
+ name = "yallist";
+ packageName = "yallist";
+ version = "4.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz";
+ sha512 = "3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==";
+ };
+ };
+ };
+ args = {
+ name = "mx-puppet-discord";
+ packageName = "mx-puppet-discord";
+ version = "0.0.0";
+ src = ./.;
+ dependencies = [
+ sources."@babel/code-frame-7.0.0"
+ sources."@babel/highlight-7.0.0"
+ sources."@dabh/diagnostics-2.0.2"
+ sources."@discordjs/collection-0.1.6"
+ sources."@discordjs/form-data-3.0.1"
+ sources."@sindresorhus/is-3.1.2"
+ (sources."@sorunome/matrix-bot-sdk-0.5.8" // {
+ dependencies = [
+ sources."ansi-styles-4.3.0"
+ sources."chalk-4.1.0"
+ sources."color-convert-2.0.1"
+ sources."color-name-1.1.4"
+ sources."has-flag-4.0.0"
+ sources."mkdirp-1.0.4"
+ sources."supports-color-7.2.0"
+ ];
+ })
+ sources."@szmarczak/http-timer-4.0.5"
+ sources."@types/body-parser-1.19.0"
+ sources."@types/cacheable-request-6.0.1"
+ sources."@types/connect-3.4.34"
+ sources."@types/express-4.17.11"
+ sources."@types/express-serve-static-core-4.17.18"
+ sources."@types/http-cache-semantics-4.0.0"
+ sources."@types/keyv-3.1.1"
+ sources."@types/node-14.6.3"
+ sources."@types/prop-types-15.7.3"
+ sources."@types/qs-6.9.5"
+ sources."@types/range-parser-1.2.3"
+ sources."@types/react-17.0.0"
+ sources."@types/responselike-1.0.0"
+ (sources."@types/serve-static-1.13.9" // {
+ dependencies = [
+ sources."@types/mime-1.3.2"
+ ];
+ })
+ sources."abbrev-1.1.1"
+ sources."abort-controller-3.0.0"
+ sources."accepts-1.3.7"
+ sources."ansi-regex-2.1.1"
+ sources."ansi-styles-3.2.1"
+ sources."aproba-1.2.0"
+ sources."are-we-there-yet-1.1.5"
+ sources."argparse-1.0.10"
+ sources."array-back-3.1.0"
+ sources."array-flatten-1.1.1"
+ sources."assert-options-0.7.0"
+ sources."async-3.2.0"
+ sources."asynckit-0.4.0"
+ sources."balanced-match-1.0.0"
+ sources."base64-js-1.5.1"
+ sources."basic-auth-2.0.1"
+ sources."better-discord.js-git+https://github.com/Sorunome/better-discord.js.git#5e58e1e7510cf2192f3503ca146dd61a56a75c72"
+ sources."better-sqlite3-6.0.1"
+ sources."bindings-1.5.0"
+ sources."bintrees-1.0.1"
+ (sources."bl-4.0.3" // {
+ dependencies = [
+ sources."inherits-2.0.4"
+ sources."readable-stream-3.6.0"
+ ];
+ })
+ sources."blurhash-1.1.3"
+ sources."body-parser-1.19.0"
+ sources."brace-expansion-1.1.11"
+ sources."buffer-5.7.1"
+ sources."buffer-writer-2.0.0"
+ sources."builtin-modules-1.1.1"
+ sources."bytes-3.1.0"
+ sources."cacheable-lookup-5.0.3"
+ sources."cacheable-request-7.0.1"
+ sources."canvas-2.6.1"
+ sources."chalk-2.4.2"
+ sources."chownr-1.1.4"
+ sources."clone-response-1.0.2"
+ sources."code-point-at-1.1.0"
+ sources."color-3.0.0"
+ sources."color-convert-1.9.3"
+ sources."color-name-1.1.3"
+ sources."color-string-1.5.4"
+ sources."colors-1.4.0"
+ sources."colorspace-1.1.2"
+ sources."combined-stream-1.0.8"
+ sources."command-line-args-5.1.1"
+ (sources."command-line-usage-5.0.5" // {
+ dependencies = [
+ sources."array-back-2.0.0"
+ sources."typical-2.6.1"
+ ];
+ })
+ sources."commander-2.20.0"
+ sources."concat-map-0.0.1"
+ sources."console-control-strings-1.1.0"
+ sources."content-disposition-0.5.3"
+ sources."content-type-1.0.4"
+ sources."cookie-0.4.0"
+ sources."cookie-signature-1.0.6"
+ sources."core-util-is-1.0.2"
+ sources."csstype-3.0.5"
+ sources."cycle-1.0.3"
+ sources."debug-2.6.9"
+ (sources."decompress-response-6.0.0" // {
+ dependencies = [
+ sources."mimic-response-3.1.0"
+ ];
+ })
+ sources."deep-extend-0.6.0"
+ sources."defer-to-connect-2.0.0"
+ sources."delayed-stream-1.0.0"
+ sources."delegates-1.0.0"
+ sources."depd-1.1.2"
+ sources."destroy-1.0.4"
+ sources."detect-libc-1.0.3"
+ sources."diff-3.5.0"
+ sources."discord-markdown-git://github.com/Sorunome/discord-markdown.git#0f38420fdd41340d6eadd38cd5b71784ca954085"
+ (sources."dom-serializer-1.2.0" // {
+ dependencies = [
+ sources."domhandler-4.0.0"
+ ];
+ })
+ sources."domelementtype-2.1.0"
+ sources."domhandler-3.3.0"
+ (sources."domutils-2.4.4" // {
+ dependencies = [
+ sources."domhandler-4.0.0"
+ ];
+ })
+ sources."ee-first-1.1.1"
+ sources."enabled-2.0.0"
+ sources."encodeurl-1.0.2"
+ sources."end-of-stream-1.4.4"
+ sources."entities-2.1.0"
+ sources."escape-html-1.0.3"
+ sources."escape-string-regexp-1.0.5"
+ sources."esprima-4.0.1"
+ sources."esutils-2.0.2"
+ sources."etag-1.8.1"
+ sources."event-target-shim-5.0.1"
+ sources."events-3.0.0"
+ sources."expand-template-2.0.3"
+ sources."expire-set-1.0.0"
+ sources."express-4.17.1"
+ sources."extend-shallow-2.0.1"
+ sources."fast-safe-stringify-2.0.7"
+ sources."fecha-4.2.0"
+ sources."file-stream-rotator-0.4.1"
+ sources."file-type-12.4.2"
+ sources."file-uri-to-path-1.0.0"
+ sources."finalhandler-1.1.2"
+ sources."find-replace-3.0.0"
+ sources."fn.name-1.1.0"
+ sources."forwarded-0.1.2"
+ sources."fresh-0.5.2"
+ sources."fs-constants-1.0.0"
+ sources."fs-minipass-1.2.7"
+ sources."fs.realpath-1.0.0"
+ sources."gauge-2.7.4"
+ sources."get-stream-5.2.0"
+ sources."github-from-package-0.0.0"
+ sources."glob-7.1.4"
+ sources."glob-to-regexp-0.4.1"
+ sources."got-11.6.0"
+ sources."graceful-fs-4.2.4"
+ sources."has-flag-3.0.0"
+ sources."has-unicode-2.0.1"
+ sources."hash.js-1.1.7"
+ sources."hasha-5.2.2"
+ sources."he-1.2.0"
+ sources."highlight.js-10.4.1"
+ sources."htmlencode-0.0.4"
+ sources."htmlparser2-4.1.0"
+ sources."http-cache-semantics-4.1.0"
+ sources."http-errors-1.7.2"
+ sources."http2-wrapper-1.0.0-beta.5.2"
+ sources."iconv-lite-0.4.24"
+ sources."ieee754-1.2.1"
+ sources."ignore-walk-3.0.3"
+ sources."inflight-1.0.6"
+ sources."inherits-2.0.3"
+ sources."ini-1.3.8"
+ sources."integer-3.0.1"
+ sources."ipaddr.js-1.9.1"
+ sources."is-arrayish-0.3.2"
+ sources."is-extendable-0.1.1"
+ sources."is-fullwidth-code-point-1.0.0"
+ sources."is-promise-2.2.2"
+ sources."is-stream-2.0.0"
+ sources."isarray-1.0.0"
+ sources."js-tokens-4.0.0"
+ sources."js-yaml-3.13.1"
+ sources."json-buffer-3.0.1"
+ sources."keyv-4.0.1"
+ sources."kuler-2.0.0"
+ sources."linkify-it-2.2.0"
+ sources."lodash-4.17.20"
+ sources."lodash.camelcase-4.3.0"
+ sources."lodash.padend-4.6.1"
+ sources."lodash.toarray-4.4.0"
+ (sources."logform-2.2.0" // {
+ dependencies = [
+ sources."ms-2.1.3"
+ ];
+ })
+ sources."lowdb-1.0.0"
+ sources."lowercase-keys-2.0.0"
+ sources."lru-cache-6.0.0"
+ (sources."markdown-it-9.1.0" // {
+ dependencies = [
+ sources."entities-1.1.2"
+ ];
+ })
+ sources."matrix-discord-parser-0.1.7"
+ sources."mdurl-1.0.1"
+ sources."media-typer-0.3.0"
+ sources."merge-descriptors-1.0.1"
+ sources."methods-1.1.2"
+ sources."mime-2.5.0"
+ sources."mime-db-1.43.0"
+ sources."mime-types-2.1.26"
+ sources."mimic-response-1.0.1"
+ sources."minimalistic-assert-1.0.1"
+ sources."minimatch-3.0.4"
+ sources."minimist-1.2.5"
+ (sources."minipass-2.9.0" // {
+ dependencies = [
+ sources."yallist-3.1.1"
+ ];
+ })
+ sources."minizlib-1.3.3"
+ sources."mkdirp-0.5.5"
+ sources."mkdirp-classic-0.5.3"
+ sources."moment-2.29.1"
+ (sources."morgan-1.10.0" // {
+ dependencies = [
+ sources."depd-2.0.0"
+ ];
+ })
+ sources."ms-2.0.0"
+ (sources."mx-puppet-bridge-0.1.4" // {
+ dependencies = [
+ sources."events-3.2.0"
+ ];
+ })
+ sources."nan-2.14.2"
+ sources."napi-build-utils-1.0.2"
+ (sources."needle-2.6.0" // {
+ dependencies = [
+ sources."debug-3.2.7"
+ sources."ms-2.1.3"
+ ];
+ })
+ sources."negotiator-0.6.2"
+ sources."node-abi-2.19.3"
+ sources."node-emoji-1.10.0"
+ sources."node-fetch-2.6.1"
+ sources."node-html-parser-1.4.9"
+ sources."node-pre-gyp-0.11.0"
+ sources."noop-logger-0.1.1"
+ sources."nopt-4.0.3"
+ sources."normalize-url-4.5.0"
+ sources."normalize-version-1.0.5"
+ sources."npm-bundled-1.1.1"
+ sources."npm-normalize-package-bin-1.0.1"
+ sources."npm-packlist-1.4.8"
+ sources."npmlog-4.1.2"
+ sources."number-is-nan-1.0.1"
+ sources."object-assign-4.1.1"
+ sources."object-hash-1.3.1"
+ sources."on-finished-2.3.0"
+ sources."on-headers-1.0.2"
+ sources."once-1.4.0"
+ sources."one-time-1.0.0"
+ sources."os-homedir-1.0.2"
+ sources."os-tmpdir-1.0.2"
+ sources."osenv-0.1.5"
+ sources."p-cancelable-2.0.0"
+ sources."packet-reader-1.0.0"
+ sources."parse-srcset-1.0.2"
+ sources."parseurl-1.3.3"
+ sources."path-0.12.7"
+ sources."path-is-absolute-1.0.1"
+ sources."path-parse-1.0.6"
+ sources."path-to-regexp-0.1.7"
+ sources."pg-8.5.1"
+ sources."pg-connection-string-2.4.0"
+ sources."pg-int8-1.0.1"
+ sources."pg-minify-1.6.2"
+ sources."pg-pool-3.2.2"
+ sources."pg-promise-10.9.1"
+ sources."pg-protocol-1.4.0"
+ sources."pg-types-2.2.0"
+ sources."pgpass-1.0.4"
+ sources."pify-3.0.0"
+ (sources."postcss-7.0.35" // {
+ dependencies = [
+ sources."supports-color-6.1.0"
+ ];
+ })
+ sources."postgres-array-2.0.0"
+ sources."postgres-bytea-1.0.0"
+ sources."postgres-date-1.0.7"
+ sources."postgres-interval-1.2.0"
+ sources."prebuild-install-5.3.6"
+ sources."prism-media-1.2.3"
+ sources."process-0.11.10"
+ sources."process-nextick-args-2.0.1"
+ sources."prom-client-13.0.0"
+ sources."proxy-addr-2.0.6"
+ sources."pump-3.0.0"
+ sources."qs-6.7.0"
+ sources."quick-lru-5.1.1"
+ sources."range-parser-1.2.1"
+ sources."raw-body-2.4.0"
+ sources."rc-1.2.8"
+ sources."readable-stream-2.3.7"
+ sources."reduce-flatten-1.0.1"
+ sources."resolve-1.11.1"
+ sources."resolve-alpn-1.0.0"
+ sources."responselike-2.0.0"
+ sources."rimraf-2.7.1"
+ sources."safe-buffer-5.1.2"
+ sources."safer-buffer-2.1.2"
+ sources."sanitize-html-1.27.5"
+ sources."sax-1.2.4"
+ sources."semver-5.7.0"
+ sources."semver-closest-0.1.2"
+ (sources."send-0.17.1" // {
+ dependencies = [
+ sources."mime-1.6.0"
+ sources."ms-2.1.1"
+ ];
+ })
+ sources."serve-static-1.14.1"
+ sources."set-blocking-2.0.0"
+ sources."setimmediate-1.0.5"
+ sources."setprototypeof-1.1.1"
+ sources."signal-exit-3.0.3"
+ sources."simple-concat-1.0.1"
+ (sources."simple-get-3.1.0" // {
+ dependencies = [
+ sources."decompress-response-4.2.1"
+ sources."mimic-response-2.1.0"
+ ];
+ })
+ sources."simple-markdown-0.7.2"
+ sources."simple-swizzle-0.2.2"
+ sources."source-map-0.6.1"
+ sources."spex-3.2.0"
+ (sources."split2-3.2.2" // {
+ dependencies = [
+ sources."readable-stream-3.6.0"
+ ];
+ })
+ sources."sprintf-js-1.0.3"
+ sources."stack-trace-0.0.10"
+ sources."statuses-1.5.0"
+ sources."steno-0.4.4"
+ sources."string-width-1.0.2"
+ sources."string_decoder-1.1.1"
+ sources."strip-ansi-3.0.1"
+ sources."strip-json-comments-2.0.1"
+ sources."supports-color-5.5.0"
+ (sources."table-layout-0.4.5" // {
+ dependencies = [
+ sources."array-back-2.0.0"
+ sources."typical-2.6.1"
+ ];
+ })
+ (sources."tar-4.4.10" // {
+ dependencies = [
+ sources."yallist-3.1.1"
+ ];
+ })
+ sources."tar-fs-2.1.1"
+ (sources."tar-stream-2.2.0" // {
+ dependencies = [
+ sources."readable-stream-3.6.0"
+ ];
+ })
+ sources."tdigest-0.1.1"
+ sources."text-hex-1.0.0"
+ sources."toidentifier-1.0.0"
+ sources."triple-beam-1.3.0"
+ sources."tslib-1.10.0"
+ sources."tslint-5.18.0"
+ sources."tsutils-2.29.0"
+ sources."tunnel-agent-0.6.0"
+ sources."tweetnacl-1.0.3"
+ sources."type-fest-0.8.1"
+ sources."type-is-1.6.18"
+ sources."typescript-3.7.4"
+ sources."typical-4.0.0"
+ sources."uc.micro-1.0.6"
+ sources."unescape-1.0.1"
+ sources."unescape-html-1.1.0"
+ sources."unpipe-1.0.0"
+ sources."useragent-generator-1.1.1-amkt-22079-finish.0"
+ sources."util-0.10.4"
+ sources."util-deprecate-1.0.2"
+ sources."utils-merge-1.0.1"
+ sources."uuid-3.4.0"
+ sources."vary-1.1.2"
+ sources."which-pm-runs-1.0.0"
+ sources."wide-align-1.1.3"
+ (sources."winston-3.3.3" // {
+ dependencies = [
+ sources."readable-stream-3.6.0"
+ ];
+ })
+ (sources."winston-compat-0.1.5" // {
+ dependencies = [
+ sources."fecha-2.3.3"
+ sources."logform-1.10.0"
+ sources."ms-2.1.3"
+ ];
+ })
+ (sources."winston-daily-rotate-file-3.10.0" // {
+ dependencies = [
+ sources."semver-6.3.0"
+ ];
+ })
+ sources."winston-transport-4.4.0"
+ (sources."wordwrapjs-3.0.0" // {
+ dependencies = [
+ sources."typical-2.6.1"
+ ];
+ })
+ sources."wrappy-1.0.2"
+ sources."ws-7.4.1"
+ sources."xtend-4.0.2"
+ sources."yallist-4.0.0"
+ ];
+ buildInputs = globalBuildInputs;
+ meta = {
+ description = "";
+ };
+ production = true;
+ bypassCache = true;
+ reconstructLock = false;
+ };
+in
+{
+ args = args;
+ sources = sources;
+ tarball = nodeEnv.buildNodeSourceDist args;
+ package = nodeEnv.buildNodePackage args;
+ shell = nodeEnv.buildNodeShell args;
+ nodeDependencies = nodeEnv.buildNodeDependencies (lib.overrideExisting args {
+ src = stdenv.mkDerivation {
+ name = args.name + "-package-json";
+ src = nix-gitignore.gitignoreSourcePure [
+ "*"
+ "!package.json"
+ "!package-lock.json"
+ ] args.src;
+ dontBuild = true;
+ installPhase = "mkdir -p $out; cp -r ./* $out;";
+ };
+ });
+}
diff --git a/pkgs/servers/nosql/cassandra/generic.nix b/pkgs/servers/nosql/cassandra/generic.nix
index ca2001817a34..cab21080a043 100644
--- a/pkgs/servers/nosql/cassandra/generic.nix
+++ b/pkgs/servers/nosql/cassandra/generic.nix
@@ -1,22 +1,34 @@
-{ lib, stdenv, fetchurl, python, makeWrapper, gawk, bash, getopt, procps
-, which, jre, coreutils, nixosTests
-# generation is the attribute version suffix such as 3_11 in pkgs.cassandra_3_11
+{ lib
+, stdenv
+, fetchurl
+, python
+, makeWrapper
+, gawk
+, bash
+, getopt
+, procps
+, which
+, jre
+, coreutils
+, nixosTests
+ # generation is the attribute version suffix such as 3_11 in pkgs.cassandra_3_11
, generation
-, version, sha256
-, extraMeta ? {}
+, version
+, sha256
+, extraMeta ? { }
, ...
}:
let
libPath = lib.makeLibraryPath [ stdenv.cc.cc ];
- binPath = with lib; makeBinPath ([
+ binPath = lib.makeBinPath [
bash
getopt
gawk
which
jre
procps
- ]);
+ ];
in
stdenv.mkDerivation rec {
@@ -90,13 +102,14 @@ stdenv.mkDerivation rec {
wrapProgram $out/bin/cqlsh --prefix PATH : ${python}/bin
runHook postInstall
- '';
+ '';
passthru = {
tests =
let
test = nixosTests."cassandra_${generation}";
- in {
+ in
+ {
nixos =
assert test.testPackage.version == version;
test;
diff --git a/pkgs/tools/admin/rset/default.nix b/pkgs/tools/admin/rset/default.nix
new file mode 100644
index 000000000000..f7c00fffb1cc
--- /dev/null
+++ b/pkgs/tools/admin/rset/default.nix
@@ -0,0 +1,48 @@
+{ lib, stdenv, fetchurl, coreutils, openssh, gnutar }:
+
+stdenv.mkDerivation rec {
+ pname = "rset";
+ version = "2.1";
+
+ src = fetchurl {
+ url = "https://scriptedconfiguration.org/code/${pname}-${version}.tar.gz";
+ sha256 = "0916f96afl8kcn2hpj4qhg92g2j93ycp2sb94nsz3q44sqc6ddhb";
+ };
+
+ patches = [ ./paths.patch ];
+
+ postPatch = ''
+ substituteInPlace rset.c \
+ --replace @ssh@ ${openssh}/bin/ssh \
+ --replace @miniquark@ $out/bin/miniquark \
+ --replace @rinstall@ $out/bin/rinstall \
+ --replace @rsub@ $out/bin/rsub
+
+ substituteInPlace execute.c \
+ --replace @ssh@ ${openssh}/bin/ssh \
+ --replace @ssh-add@ ${openssh}/bin/ssh-add \
+ --replace @tar@ ${gnutar}/bin/tar
+
+ substituteInPlace rutils.c \
+ --replace @install@ ${coreutils}/bin/install
+ '';
+
+ # these are to be run on the remote host,
+ # so we want to preserve the original shebang.
+ postFixup = ''
+ sed -i "1s@.*@#!/bin/sh@" $out/bin/rinstall
+ sed -i "1s@.*@#!/bin/sh@" $out/bin/rsub
+ '';
+
+ dontAddPrefix = true;
+ installFlags = [ "PREFIX=$(out)" ];
+
+ meta = with lib; {
+ homepage = "https://scriptedconfiguration.org/";
+ description = "Configure systems using any scripting language";
+ changelog = "https://github.com/eradman/rset/raw/${version}/NEWS";
+ license = licenses.isc;
+ platforms = platforms.unix;
+ maintainers = with maintainers; [ cstrahan ];
+ };
+}
diff --git a/pkgs/tools/admin/rset/paths.patch b/pkgs/tools/admin/rset/paths.patch
new file mode 100644
index 000000000000..af09b0902ed0
--- /dev/null
+++ b/pkgs/tools/admin/rset/paths.patch
@@ -0,0 +1,131 @@
+diff --git a/execute.c b/execute.c
+index be06068..3468fa7 100644
+--- a/execute.c
++++ b/execute.c
+@@ -242,7 +242,7 @@ verify_ssh_agent() {
+ char *output;
+ char *argv[32];
+
+- append(argv, 0, "ssh-add", "-l", NULL);
++ append(argv, 0, "@ssh-add@", "-l", NULL);
+ output = cmd_pipe_stdout(argv, &error_code, &output_size);
+ free(output);
+
+@@ -282,7 +282,7 @@ start_connection(char *socket_path, Label *route_label, int http_port, const cha
+ }
+
+ argc = 0;
+- argc = append(argv, argc, "ssh", "-fN", "-R", port_forwarding, "-S",
++ argc = append(argv, argc, "@ssh@", "-fN", "-R", port_forwarding, "-S",
+ socket_path, "-M", NULL);
+ if (ssh_config)
+ (void) append(argv, argc, "-F", ssh_config, host_name, NULL);
+@@ -292,12 +292,12 @@ start_connection(char *socket_path, Label *route_label, int http_port, const cha
+ return -1;
+
+ snprintf(tmp_path, sizeof(tmp_path), "mkdir " REMOTE_TMP_PATH, http_port);
+- append(argv, 0, "ssh", "-S", socket_path, host_name, tmp_path, NULL);
++ append(argv, 0, "@ssh@", "-S", socket_path, host_name, tmp_path, NULL);
+ if (run(argv) != 0)
+ return -1;
+
+- snprintf(cmd, PATH_MAX, "tar -cf - %s -C " REPLICATED_DIRECTORY " ./ | "
+- "exec ssh -q -S %s %s tar -xf - -C " REMOTE_TMP_PATH,
++ snprintf(cmd, PATH_MAX, "@tar@ -cf - %s -C " REPLICATED_DIRECTORY " ./ | "
++ "exec @ssh@ -q -S %s %s tar -xf - -C " REMOTE_TMP_PATH,
+ array_to_str(route_label->export_paths), socket_path, host_name,
+ http_port);
+ if (system(cmd) != 0) {
+@@ -326,7 +326,7 @@ ssh_command_pipe(char *host_name, char *socket_path, Label *host_label, int http
+
+ /* construct ssh command */
+ argc = 0;
+- argc = append(argv, argc, "ssh", "-T", "-S", socket_path, NULL);
++ argc = append(argv, argc, "@ssh@", "-T", "-S", socket_path, NULL);
+
+ (void) append(argv, argc, host_name, cmd, NULL);
+ return cmd_pipe_stdin(argv, host_label->content, host_label->content_size);
+@@ -344,7 +344,7 @@ ssh_command_tty(char *host_name, char *socket_path, Label *host_label, int http_
+ http_port);
+ /* construct ssh command */
+ argc = 0;
+- argc = append(argv, argc, "ssh", "-T", "-S", socket_path, NULL);
++ argc = append(argv, argc, "@ssh@", "-T", "-S", socket_path, NULL);
+ (void) append(argv, argc, host_name, cmd, NULL);
+ cmd_pipe_stdin(argv, host_label->content, host_label->content_size);
+
+@@ -360,7 +360,7 @@ ssh_command_tty(char *host_name, char *socket_path, Label *host_label, int http_
+
+ /* construct ssh command */
+ argc = 0;
+- argc = append(argv, argc, "ssh", "-t", "-S", socket_path, NULL);
++ argc = append(argv, argc, "@ssh@", "-t", "-S", socket_path, NULL);
+
+ (void) append(argv, argc, host_name, cmd, NULL);
+ return run(argv);
+@@ -375,11 +375,11 @@ end_connection(char *socket_path, char *host_name, int http_port) {
+ return;
+
+ snprintf(tmp_path, sizeof(tmp_path), REMOTE_TMP_PATH, http_port);
+- append(argv, 0, "ssh", "-S", socket_path, host_name, "rm", "-rf", tmp_path , NULL);
++ append(argv, 0, "@ssh@", "-S", socket_path, host_name, "rm", "-rf", tmp_path , NULL);
+ if (run(argv) != 0)
+ warn("remote tmp dir");
+
+- append(argv, 0, "ssh", "-q", "-S", socket_path, "-O", "exit", host_name, NULL);
++ append(argv, 0, "@ssh@", "-q", "-S", socket_path, "-O", "exit", host_name, NULL);
+ if (run(argv) != 0)
+ warn("exec ssh -O exit");
+ }
+diff --git a/rset.c b/rset.c
+index 383fc82..9c20f65 100644
+--- a/rset.c
++++ b/rset.c
+@@ -128,10 +128,8 @@ int main(int argc, char *argv[])
+ hostnames[i] = argv[optind+i];
+ hostnames[i] = NULL;
+
+- if ((rinstall_bin = findprog("rinstall")) == 0)
+- not_found("rinstall");
+- if ((rsub_bin = findprog("rsub")) == 0)
+- not_found("rsub");
++ rinstall_bin = "@rinstall@";
++ rsub_bin = "@rsub@";
+
+ /* all operations must be relative to the routes file */
+ if (realpath(xdirname(routes_file), routes_realpath) == NULL)
+@@ -159,10 +157,9 @@ int main(int argc, char *argv[])
+
+ /* Convert http server command line into a vector */
+ inputstring = malloc(PATH_MAX);
+- snprintf(inputstring, PATH_MAX, "miniquark -p %d -d " PUBLIC_DIRECTORY, http_port);
++ snprintf(inputstring, PATH_MAX, "@miniquark@ -p %d -d " PUBLIC_DIRECTORY, http_port);
+ str_to_array(http_srv_argv, inputstring, sizeof(http_srv_argv));
+- if ((httpd_bin = findprog(http_srv_argv[0])) == 0)
+- not_found(http_srv_argv[0]);
++ httpd_bin = "@miniquark@";
+
+ /* start the web server */
+ pipe(stdout_pipe);
+@@ -397,7 +394,7 @@ handle_exit(int sig) {
+ printf("caught signal %d, terminating connection to '%s'\n", sig,
+ hostname);
+ /* clean up socket and SSH connection; leaving staging dir */
+- execlp("ssh", "ssh", "-S", socket_path, "-O", "exit", hostname, NULL);
++ execlp("@ssh@", "@ssh@", "-S", socket_path, "-O", "exit", hostname, NULL);
+ err(1, "ssh -O exit");
+ }
+ }
+diff --git a/rutils.c b/rutils.c
+index 1e182d8..9aef76d 100644
+--- a/rutils.c
++++ b/rutils.c
+@@ -77,7 +77,7 @@ install_if_new(const char *src, const char *dst) {
+
+ pid = fork();
+ if (pid == 0) {
+- if (execl("/usr/bin/install", "/usr/bin/install", src, dst, NULL) != -1)
++ if (execl("@install@", "@install@", src, dst, NULL) != -1)
+ err(1, "%s", dst);
+ }
+ waitpid(pid, &status, 0);
diff --git a/pkgs/tools/misc/librespeed-cli/default.nix b/pkgs/tools/misc/librespeed-cli/default.nix
index d2396f0086c4..b1ab29d8acb3 100644
--- a/pkgs/tools/misc/librespeed-cli/default.nix
+++ b/pkgs/tools/misc/librespeed-cli/default.nix
@@ -5,16 +5,16 @@
buildGoModule rec {
pname = "librespeed-cli";
- version = "1.0.7";
+ version = "1.0.8";
src = fetchFromGitHub {
owner = "librespeed";
repo = "speedtest-cli";
rev = "v${version}";
- sha256 = "03bhxx33fy1cgp83anm51fm8v079v0az0d0p785dz98jg14vzibl";
+ sha256 = "sha256-cbLuAOAGWmYj6xR2AjpwvRXrP3SXfHhjUp5MVLqC0WE=";
};
- vendorSha256 = "1kccxmmzbkzbrxypcrz0j1zz51c0q1d5hh25lcpfbkm3498mj02c";
+ vendorSha256 = "sha256-psZyyySpY06J+ji+9uHUtX7Ks1hzZC3zINszYP75NfQ=";
# Tests have additonal requirements
doCheck = false;
diff --git a/pkgs/tools/networking/babeld/default.nix b/pkgs/tools/networking/babeld/default.nix
index 5c7b26ced05d..47894c1a5329 100644
--- a/pkgs/tools/networking/babeld/default.nix
+++ b/pkgs/tools/networking/babeld/default.nix
@@ -1,33 +1,25 @@
-{ lib, stdenv, fetchurl, fetchpatch, nixosTests }:
+{ lib, stdenv, fetchurl, nixosTests }:
stdenv.mkDerivation rec {
pname = "babeld";
- version = "1.9.2";
+ version = "1.10";
src = fetchurl {
- url = "http://www.pps.univ-paris-diderot.fr/~jch/software/files/${pname}-${version}.tar.gz";
- sha256 = "01vzhrspnm4sy9ggaz9n3bfl5hy3qlynr218j3mdcddzm3h00kqm";
+ url = "https://www.irif.fr/~jch/software/files/${pname}-${version}.tar.gz";
+ sha256 = "1sld5bbig2pkcr4zrdpvfzifc6a3lc8i8kdzk5ryjh166844mxd5";
};
- patches = [
- (fetchpatch {
- # Skip kernel_setup_interface when `skip-kernel-setup` is enabled.
- url = "https://github.com/jech/babeld/commit/f9698a5616842467ad08a5f9ed3d6fcfa2dd2898.patch";
- sha256 = "00kj2jxsfq0pjk5wrkslyvkww57makxlwa4fd82g7g9hrgahpqwr";
- })
- ];
-
preBuild = ''
makeFlags="PREFIX=$out ETCDIR=$out/etc"
'';
passthru.tests.babeld = nixosTests.babeld;
- meta = {
- homepage = "http://www.pps.univ-paris-diderot.fr/~jch/software/babel/";
+ meta = with lib; {
+ homepage = "http://www.irif.fr/~jch/software/babel/";
description = "Loop-avoiding distance-vector routing protocol";
- license = lib.licenses.mit;
- maintainers = with lib.maintainers; [ fpletz ];
- platforms = with lib.platforms; linux;
+ license = licenses.mit;
+ maintainers = with maintainers; [ fpletz hexa ];
+ platforms = platforms.linux;
};
}
diff --git a/pkgs/tools/security/rage/default.nix b/pkgs/tools/security/rage/default.nix
index d248fb19a276..99e61dc23581 100644
--- a/pkgs/tools/security/rage/default.nix
+++ b/pkgs/tools/security/rage/default.nix
@@ -1,24 +1,25 @@
{ lib, stdenv, rustPlatform, fetchFromGitHub, installShellFiles
-, Foundation, Security }:
+, Foundation, Security, libiconv }:
rustPlatform.buildRustPackage rec {
pname = "rage";
- version = "0.5.1";
+ version = "0.6.0";
src = fetchFromGitHub {
owner = "str4d";
repo = pname;
rev = "v${version}";
- sha256 = "sha256-oYCARqG5YwKO0b73aEMLr/xzXl6xBEMCvE1HMCtMq20=";
+ sha256 = "1vag448zpjyplcjpf1ir81l8ip3yxm9vkrxffqr78zslb4k6hw2w";
};
- cargoSha256 = "sha256-vadXIdqfmol4thHIwpkQCn7HsXdxo0l+6CBm3QIJmeA=";
+ cargoSha256 = "06jfhq9vnkq5g5bw1zl2sxsih63yajcyk9zaizhzkdsbhydr4955";
nativeBuildInputs = [ installShellFiles ];
buildInputs = lib.optionals stdenv.isDarwin [
Foundation
Security
+ libiconv
];
# cargo test has an x86-only dependency
@@ -37,7 +38,7 @@ rustPlatform.buildRustPackage rec {
meta = with lib; {
description = "A simple, secure and modern encryption tool with small explicit keys, no config options, and UNIX-style composability";
homepage = "https://github.com/str4d/rage";
- changelog = "https://github.com/str4d/rage/releases/tag/v${version}";
+ changelog = "https://github.com/str4d/rage/raw/v${version}/rage/CHANGELOG.md";
license = with licenses; [ asl20 mit ]; # either at your option
maintainers = with maintainers; [ marsam ryantm ];
};
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 40cebf44339b..571bac877e19 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -251,6 +251,8 @@ in
eclipse-mat = callPackage ../development/tools/eclipse-mat { };
+ frugal = callPackage ../development/tools/frugal { };
+
glade = callPackage ../development/tools/glade { };
hobbes = callPackage ../development/tools/hobbes { };
@@ -1228,6 +1230,10 @@ in
btrfs-heatmap = callPackage ../tools/filesystems/btrfs-heatmap { };
+ bucklespring = bucklespring-x11;
+ bucklespring-libinput = callPackage ../applications/audio/bucklespring { };
+ bucklespring-x11 = callPackage ../applications/audio/bucklespring { legacy = true; };
+
buildbot = with python3Packages; toPythonApplication buildbot;
buildbot-ui = with python3Packages; toPythonApplication buildbot-ui;
buildbot-full = with python3Packages; toPythonApplication buildbot-full;
@@ -6175,6 +6181,8 @@ in
multitail = callPackage ../tools/misc/multitail { };
+ mx-puppet-discord = callPackage ../servers/mx-puppet-discord { };
+
mxt-app = callPackage ../misc/mxt-app { };
naabu = callPackage ../tools/security/naabu { };
@@ -8096,6 +8104,8 @@ in
rrdtool = callPackage ../tools/misc/rrdtool { };
+ rset = callPackage ../tools/admin/rset { };
+
rshijack = callPackage ../tools/networking/rshijack { };
rsibreak = libsForQt5.callPackage ../applications/misc/rsibreak { };
@@ -14048,6 +14058,8 @@ in
cimg = callPackage ../development/libraries/cimg { };
+ cjose = callPackage ../development/libraries/cjose { };
+
scmccid = callPackage ../development/libraries/scmccid { };
ccrtp = callPackage ../development/libraries/ccrtp { };
@@ -19420,6 +19432,8 @@ in
thanos = callPackage ../servers/monitoring/thanos { };
+ trafficserver = callPackage ../servers/http/trafficserver { };
+
inherit (callPackages ../servers/http/tomcat { })
tomcat7
tomcat8
@@ -23584,7 +23598,7 @@ in
googleearth = callPackage ../applications/misc/googleearth { };
- googleearth-pro = callPackage ../applications/misc/googleearth-pro { };
+ googleearth-pro = libsForQt5.callPackage ../applications/misc/googleearth-pro { };
google-chrome = callPackage ../applications/networking/browsers/google-chrome { gconf = gnome2.GConf; };
diff --git a/pkgs/top-level/coq-packages.nix b/pkgs/top-level/coq-packages.nix
index e533d5aace15..2cd2965fc612 100644
--- a/pkgs/top-level/coq-packages.nix
+++ b/pkgs/top-level/coq-packages.nix
@@ -122,9 +122,7 @@ in rec {
coqPackages_8_11 = mkCoqPackages coq_8_11;
coqPackages_8_12 = mkCoqPackages coq_8_12;
coqPackages_8_13 = mkCoqPackages coq_8_13;
- coqPackages = recurseIntoAttrs (lib.mapDerivationAttrset lib.dontDistribute
- coqPackages_8_11
- );
+ coqPackages = recurseIntoAttrs coqPackages_8_11;
coq = coqPackages.coq;
}
diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix
index 9db246eae432..9dc9444e0964 100644
--- a/pkgs/top-level/perl-packages.nix
+++ b/pkgs/top-level/perl-packages.nix
@@ -10673,6 +10673,16 @@ let
sha256 = "0skm22b3gg1bfk0amklrprpva41m6mkrhqp0gi7z1nmcf9ypjh61";
};
+ patches = [
+ # Unfortunately, not every release is uploaded to CPAN so security fixes
+ # would need to be cherry-picked from releases
+ (fetchpatch {
+ name = "CVE-2021-22204.patch";
+ url = "https://salsa.debian.org/perl-team/modules/packages/libimage-exiftool-perl/-/raw/0347501fda93cb8366d6451aedcf258b34fb4a2b/debian/patches/CVE-2021-22204.patch";
+ sha256 = "1fxw32zcssillnv764wsd05lyswn8bbrc90q5cy9aknx0ncgsrxj";
+ })
+ ];
+
nativeBuildInputs = lib.optional stdenv.isDarwin shortenPerlShebang;
postInstall = lib.optionalString stdenv.isDarwin ''
shortenPerlShebang $out/bin/exiftool
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index f5ccde1bc9d9..7f8429c58d62 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -615,6 +615,8 @@ in {
autograd = callPackage ../development/python-modules/autograd { };
+ autoit-ripper = callPackage ../development/python-modules/autoit-ripper { };
+
autologging = callPackage ../development/python-modules/autologging { };
automat = callPackage ../development/python-modules/automat { };
@@ -3565,6 +3567,8 @@ in {
karton-asciimagic = callPackage ../development/python-modules/karton-asciimagic { };
+ karton-autoit-ripper = callPackage ../development/python-modules/karton-autoit-ripper { };
+
karton-classifier = callPackage ../development/python-modules/karton-classifier { };
karton-config-extractor = callPackage ../development/python-modules/karton-config-extractor { };
@@ -5077,7 +5081,7 @@ in {
poolsense = callPackage ../development/python-modules/poolsense { };
poppler-qt5 = callPackage ../development/python-modules/poppler-qt5 {
- inherit (pkgs.qt5) qtbase;
+ inherit (pkgs.qt5) qtbase qmake;
inherit (pkgs.libsForQt5) poppler;
};