Merge staging-next into staging

Changed files
+5375 -722
maintainers
nixos
doc
manual
release-notes
lib
modules
services
databases
networking
web-servers
x11
desktop-managers
tests
pkgs
applications
audio
bucklespring
editors
bluej
graphics
foxotron
misc
dbeaver
googleearth-pro
metadata-cleaner
networking
cluster
tektoncd-cli
instant-messengers
slack
science
logic
version-management
virtualization
cloud-hypervisor
desktops
xfce
applications
gigolo
core
thunar
development
libraries
cjose
python-modules
autoit-ripper
beancount_docverif
graphene
karton-autoit-ripper
poppler-qt5
tools
servers
dante
http
trafficserver
mx-puppet-discord
nosql
cassandra
tools
admin
misc
librespeed-cli
networking
babeld
security
top-level
+12
maintainers/maintainer-list.nix
···
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";
···
github = "joamaki";
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";
+23
nixos/doc/manual/release-notes/rl-2105.xml
···
now follows <link xlink:href="https://github.com/NixOS/rfcs/blob/master/rfcs/0042-config-option.md">RFC 0042</link>.
</para>
</listitem>
+
<listitem>
+
<para>
+
The <package>yadm</package> 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.
+
</para>
+
</listitem>
</itemizedlist>
</section>
···
<listitem>
<para>
PostgreSQL 9.5 is scheduled EOL during the 21.05 life cycle and has been removed.
+
</para>
+
</listitem>
+
<listitem>
+
<para>
+
<link xlink:href="https://www.xfce.org/">Xfce4</link> relies on
+
GIO/GVfs for userspace virtual filesystem access in applications
+
like <link xlink:href="https://docs.xfce.org/xfce/thunar/">thunar</link> and
+
<link xlink:href="https://docs.xfce.org/apps/gigolo/">gigolo</link>.
+
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:
+
<programlisting>
+
<xref linkend="opt-services.gvfs.package" /> = pkgs.gvfs.override { samba = null; };
+
</programlisting>
</para>
</listitem>
</itemizedlist>
+9 -2
nixos/lib/testing-python.nix
···
# 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}";
···
'';
passthru = driver.passthru;
+
+
inherit pos;
};
···
# 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
···
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
+1
nixos/modules/module-list.nix
···
./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
+236 -167
nixos/modules/services/databases/cassandra.nix
···
{ 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";
···
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";
···
Home directory for Apache Cassandra.
'';
};
+
package = mkOption {
type = types.package;
default = pkgs.cassandra;
···
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
···
Setting listen_address to 0.0.0.0 is always wrong.
'';
};
+
listenInterface = mkOption {
type = types.nullOr types.str;
default = null;
···
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.
···
internet. Firewall it if needed.
'';
};
+
rpcInterface = mkOption {
type = types.nullOr types.str;
default = null;
···
correspond to a single address, IP aliasing is not supported.
'';
};
+
logbackConfig = mkOption {
type = types.lines;
default = ''
···
XML logback configuration for cassandra
'';
};
+
seedAddresses = mkOption {
type = types.listOf types.str;
default = [ "127.0.0.1" ];
···
Set to 127.0.0.1 for a single node cluster.
'';
};
+
allowClients = mkOption {
type = types.bool;
default = true;
···
<literal>extraConfig</literal>.
'';
};
+
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 = "";
···
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.
-
<literal>nodetool repair --full</literal> 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.
+
<literal>nodetool repair --full</literal> is executed. See
+
https://cassandra.apache.org/doc/latest/operating/repair.html
+
for more information.
-
Set to <literal>null</literal> to disable full repairs.
-
'';
+
Set to <literal>null</literal> 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.
-
<literal>nodetool repair</literal> 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.
+
<literal>nodetool repair</literal> is executed. See
+
https://cassandra.apache.org/doc/latest/operating/repair.html
+
for more information.
-
Set to <literal>null</literal> to disable incremental repairs.
-
'';
+
Set to <literal>null</literal> 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;
···
expensive GC will be (usually).
'';
};
+
heapNewSize = mkOption {
type = types.nullOr types.str;
default = null;
···
100 MB per physical CPU core.
'';
};
+
mallocArenaMax = mkOption {
type = types.nullOr types.int;
default = null;
···
Set this to control the amount of arenas per-thread in glibc.
'';
};
+
remoteJmx = mkOption {
type = types.bool;
default = false;
···
See: https://wiki.apache.org/cassandra/JmxSecurity
'';
};
+
jmxPort = mkOption {
type = types.int;
default = 7199;
···
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.
···
};
});
};
+
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.
···
};
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
-
<literal>jmxRoles</literal> or <literal>jmxRolesFile</literal> 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
+
<literal>jmxRoles</literal> or <literal>jmxRolesFile</literal> 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 ];
}
+2
nixos/modules/services/networking/babeld.nix
···
{
+
meta.maintainers = with maintainers; [ hexa ];
+
###### interface
options = {
+318
nixos/modules/services/web-servers/trafficserver.nix
···
+
{ 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 <link xlink:href="${getManualUrl "cache.config"}">upstream
+
documentation</link> 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 <link xlink:href="${getManualUrl "hosting.config"}">
+
upstream documentation</link> 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 <link xlink:href="${getManualUrl "ip_allow.yaml"}">upstream
+
documentation</link> 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 <link xlink:href="${getManualUrl "logging.yaml"}">upstream
+
documentation</link> 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 <link xlink:href="${getManualUrl "parent.config"}">upstream
+
documentation</link> for more details.
+
'';
+
};
+
+
plugins = mkOption {
+
default = [ ];
+
+
description = ''
+
Controls run-time loadable plugins available to Traffic Server, as
+
well as their configuration.
+
+
Consult the <link xlink:href="${getManualUrl "plugin.config"}">upstream
+
documentation</link> 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 <link xlink:href="${getManualUrl "records.config"}">
+
upstream documentation</link> 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 <link xlink:href="${getManualUrl "remap.config"}">
+
upstream documentation</link> 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 <link xlink:href="${getManualUrl "splitdns.config"}">
+
upstream documentation</link> 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 <link xlink:href="${getManualUrl "ssl_multicert.config"}">
+
upstream documentation</link> 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 <link xlink:href="${getManualUrl "sni.yaml"}">upstream
+
documentation</link> 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 <link xlink:href="${getManualUrl "storage.config"}">
+
upstream documentation</link> 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 <link xlink:href="${getManualUrl "strategies.yaml"}">
+
upstream documentation</link> 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 <link xlink:href="${getManualUrl "volume.config"}">
+
upstream documentation</link> 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 = { };
+
};
+
}
-1
nixos/modules/services/x11/desktop-managers/xfce.nix
···
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
+1
nixos/tests/all-tests.nix
···
# 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 {};
+8 -2
nixos/tests/custom-ca.nix
···
{ 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;
+176
nixos/tests/trafficserver.nix
···
+
# 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"
+
'';
+
})
+63
pkgs/applications/audio/bucklespring/default.nix
···
+
{ 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:
+
<code>users.users.alice.extraGroups = [ "input" ];</code>
+
'';
+
homepage = "https://github.com/zevv/bucklespring";
+
license = licenses.gpl2Only;
+
platforms = platforms.unix;
+
maintainers = [ maintainers.evils ];
+
};
+
}
+2 -2
pkgs/applications/editors/bluej/default.nix
···
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 ];
+3 -3
pkgs/applications/graphics/foxotron/default.nix
···
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 ];
···
Revision 2021 3D Graphics Competition.
'';
homepage = "https://github.com/Gargaj/Foxotron";
-
license = licenses.publicDomain;
+
license = licenses.unlicense;
maintainers = with maintainers; [ OPNA2608 ];
platforms = platforms.all;
};
+4 -14
pkgs/applications/misc/dbeaver/default.nix
···
, stdenv
, copyDesktopItems
, fetchFromGitHub
-
, fetchpatch
, makeDesktopItem
, makeWrapper
, fontconfig
···
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
···
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
+103 -51
pkgs/applications/misc/googleearth-pro/default.nix
···
-
{ 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";
···
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
···
# 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}
···
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;
};
}
+2 -2
pkgs/applications/misc/metadata-cleaner/default.nix
···
python3.pkgs.buildPythonApplication rec {
pname = "metadata-cleaner";
-
version = "1.0.4";
+
version = "1.0.5";
format = "other";
···
owner = "rmnvgr";
repo = "metadata-cleaner";
rev = "v${version}";
-
sha256 = "sha256-F/xh4dFX7W50kFzpWpGKyMUhxOlDO3WDXBzXVsDViY8=";
+
sha256 = "sha256-9s9i703Svql1Nn1M1sFp3FOtLGjuxXi6YR6nsUJCkeg=";
};
nativeBuildInputs = [
+4 -2
pkgs/applications/networking/cluster/tektoncd-cli/default.nix
···
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;
···
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
'';
+4 -4
pkgs/applications/networking/instant-messengers/slack/default.nix
···
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;
+2 -2
pkgs/applications/science/logic/lean/default.nix
···
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 ];
+8 -8
pkgs/applications/version-management/redmine/Gemfile.lock
···
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)
···
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)
···
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)
+2 -2
pkgs/applications/version-management/redmine/default.nix
···
{ lib, stdenv, fetchurl, bundlerEnv, ruby, makeWrapper }:
let
-
version = "4.2.0";
+
version = "4.2.1";
rubyEnv = bundlerEnv {
name = "redmine-env-${version}";
···
src = fetchurl {
url = "https://www.redmine.org/releases/${pname}-${version}.tar.gz";
-
sha256 = "1r87gy73dclnvcz55vziv6kbgyck0v8jlzx1wwkak8mgh32n8n19";
+
sha256 = "1d217fhyvncpwahwlinr3vc20vn7jijaxxk1i56gw72z8b1hjhdd";
};
nativeBuildInputs = [ makeWrapper ];
+16 -16
pkgs/applications/version-management/redmine/gemset.nix
···
platforms = [];
source = {
remotes = ["https://rubygems.org"];
-
sha256 = "08p6b13p99j1rrcrw1l3v0kb9mxbsvy6nk31r8h4rnszdgzpga32";
+
sha256 = "0g2fnag935zn2ggm5cn6k4s4xvv53v2givj1j90szmvavlpya96a";
type = "gem";
};
-
version = "1.8.9";
+
version = "1.8.10";
};
loofah = {
dependencies = ["crass" "nokogiri"];
···
platforms = [];
source = {
remotes = ["https://rubygems.org"];
-
sha256 = "0bzwvxvilx7w1p3pg028ks38925y9i0xm870lm7s12w7598hiyck";
+
sha256 = "1w9mbii8515p28xd4k72f3ab2g6xiyq15497ys5r8jn6m355lgi7";
type = "gem";
};
-
version = "2.9.0";
+
version = "2.9.1";
};
mail = {
dependencies = ["mini_mime"];
···
platforms = [];
source = {
remotes = ["https://rubygems.org"];
-
sha256 = "1vhp6lifwvqs2b0a276lj61n86c1l7d1xiswjj2w23f54gl51mpk";
+
sha256 = "0bp001p687nsa4a8sp3q1iv8pfhs24w7s3avychjp64sdkg6jxq3";
type = "gem";
};
-
version = "1.0.0";
+
version = "1.0.1";
};
method_source = {
groups = ["default"];
···
platforms = [];
source = {
remotes = ["https://rubygems.org"];
-
sha256 = "1hdbpmamx8js53yk3h8cqy12kgv6ca06k0c9n3pxh6b6cjfs19x7";
+
sha256 = "0xg1x4708a4pn2wk8qs2d8kfzzdyv9kjjachg2f1phsx62ap2rx2";
type = "gem";
};
-
version = "2.5.0";
+
version = "2.5.1";
};
minitest = {
groups = ["default" "test"];
···
platforms = [];
source = {
remotes = ["https://rubygems.org"];
-
sha256 = "0b51df8fwadak075cvi17w0nch6qz1r66564qp29qwfj67j9qp0p";
+
sha256 = "19d78mdg2lbz9jb4ph6nk783c9jbsdm8rnllwhga6pd53xffp6x0";
type = "gem";
};
-
version = "1.11.2";
+
version = "1.11.3";
};
parallel = {
groups = ["default" "test"];
···
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"];
···
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"];
···
platforms = [];
source = {
remotes = ["https://rubygems.org"];
-
sha256 = "1i3y0h6awywx4rdmjdan908jmnyk589pndbjypxkfbkqvjx514fw";
+
sha256 = "0hi2c3a6alya9yx07nirnjzlc0mvmidnx67874njp6wf7d5xqqr9";
type = "gem";
};
-
version = "1.12.0";
+
version = "1.12.1";
};
rubocop-ast = {
dependencies = ["parser"];
+3 -3
pkgs/applications/virtualization/cloud-hypervisor/default.nix
···
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";
+2 -7
pkgs/desktops/xfce/applications/gigolo/default.nix
···
-
{ lib, mkXfceDerivation, gtk3, gvfs, glib }:
+
{ lib, mkXfceDerivation, gtk3, glib }:
mkXfceDerivation {
category = "apps";
···
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";
-2
pkgs/desktops/xfce/core/thunar/default.nix
···
, libxslt
, xfconf
, gobject-introspection
-
, gvfs
, makeWrapper
, symlinkJoin
, thunarPlugins ? []
···
exo
gdk-pixbuf
gtk3
-
gvfs
libX11
libgudev
libnotify
-3
pkgs/desktops/xfce/default.nix
···
automakeAddFlags = pkgs.makeSetupHook { } ./automakeAddFlags.sh;
-
# Samba is a rather heavy dependency
-
gvfs = pkgs.gvfs.override { samba = null; };
-
#### CORE
exo = callPackage ./core/exo { };
+40
pkgs/development/libraries/cjose/default.nix
···
+
{ 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;
+
};
+
}
+36
pkgs/development/python-modules/autoit-ripper/default.nix
···
+
{ 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 ];
+
};
+
}
+5
pkgs/development/python-modules/beancount_docverif/default.nix
···
{ lib, buildPythonPackage, fetchPypi, isPy3k
+
, setuptools-scm
, beancount
, pytest, sh
}:
···
inherit pname version;
sha256 = "1kjc0axrxpvm828lqq5m2ikq0ls8xksbmm7312zw867gdx56x5aj";
};
+
+
nativeBuildInputs = [
+
setuptools-scm
+
];
propagatedBuildInputs = [
beancount
+8
pkgs/development/python-modules/graphene/default.nix
···
, pytest-mock
, pytz
, snapshottest
+
, fetchpatch
}:
buildPythonPackage rec {
···
rev = "v${version}";
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
+46
pkgs/development/python-modules/karton-autoit-ripper/default.nix
···
+
{ 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 ];
+
};
+
}
+40 -20
pkgs/development/python-modules/poppler-qt5/default.nix
···
-
{ 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 <<EOF >> 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 ];
};
}
-12
pkgs/development/python-modules/poppler-qt5/poppler-include-dir.patch
···
-
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'))
+8 -8
pkgs/development/tools/ecpdap/default.nix
···
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";
-345
pkgs/development/tools/ecpdap/lock-update.patch
···
-
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"
+24
pkgs/development/tools/frugal/default.nix
···
+
{ 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 ];
+
};
+
}
+6 -3
pkgs/development/tools/rgp/default.nix
···
}:
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 ];
···
installPhase = ''
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
+2 -2
pkgs/servers/dante/default.nix
···
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 ];
+207
pkgs/servers/http/trafficserver/default.nix
···
+
{ 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]') - <<EOF
+
${lib.removeSuffix "\n" expected}
+
EOF
+
runHook postInstallCheck
+
'';
+
+
doCheck = true;
+
doInstallCheck = true;
+
enableParallelBuilding = true;
+
+
passthru.tests = { inherit (nixosTests) trafficserver; };
+
+
meta = with lib; {
+
homepage = "https://trafficserver.apache.org";
+
changelog = "https://raw.githubusercontent.com/apache/trafficserver/${version}/CHANGELOG-${version}";
+
description = "Fast, scalable, and extensible HTTP caching proxy server";
+
longDescription = ''
+
Apache Traffic Server is a high-performance web proxy cache that improves
+
network efficiency and performance by caching frequently-accessed
+
information at the edge of the network. This brings content physically
+
closer to end users, while enabling faster delivery and reduced bandwidth
+
use. Traffic Server is designed to improve content delivery for
+
enterprises, Internet service providers (ISPs), backbone providers, and
+
large intranets by maximizing existing and available bandwidth.
+
'';
+
license = licenses.asl20;
+
maintainers = with maintainers; [ midchildan joaquinito2051 ];
+
platforms = platforms.unix;
+
};
+
}
+45
pkgs/servers/mx-puppet-discord/default.nix
···
+
{ stdenv, fetchFromGitHub, pkgs, lib, nodejs, nodePackages, pkg-config, libjpeg
+
, pixman, cairo, pango }:
+
+
let
+
# No official version ever released
+
src = fetchFromGitHub {
+
owner = "matrix-discord";
+
repo = "mx-puppet-discord";
+
rev = "c17384a6a12a42a528e0b1259f8073e8db89b8f4";
+
sha256 = "1yczhfpa4qzvijcpgc2pr10s009qb6jwlfwpcbb17g2wsx6zj0c2";
+
};
+
+
myNodePackages = import ./node-composition.nix {
+
inherit pkgs nodejs;
+
inherit (stdenv.hostPlatform) system;
+
};
+
+
in myNodePackages.package.override {
+
inherit src;
+
nativeBuildInputs = [ nodePackages.node-pre-gyp pkg-config ];
+
buildInputs = [ libjpeg pixman cairo pango ];
+
+
postInstall = ''
+
# Patch shebangs in node_modules, otherwise the webpack build fails with interpreter problems
+
patchShebangs --build "$out/lib/node_modules/mx-puppet-discord/node_modules/"
+
# compile Typescript sources
+
npm run build
+
+
# Make an executable to run the server
+
mkdir -p $out/bin
+
cat <<EOF > $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;
+
};
+
}
+21
pkgs/servers/mx-puppet-discord/generate.sh
···
+
#!/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|<nixpkgs>|../../..|' node-composition.nix
+
+
rm -f package.json package-lock.json
+17
pkgs/servers/mx-puppet-discord/node-composition.nix
···
+
# 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;
+
}
+3616
pkgs/servers/mx-puppet-discord/node-packages.nix
···
+
# 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;";
+
};
+
});
+
}
+22 -9
pkgs/servers/nosql/cassandra/generic.nix
···
-
{ 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 {
···
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;
+48
pkgs/tools/admin/rset/default.nix
···
+
{ 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 ];
+
};
+
}
+131
pkgs/tools/admin/rset/paths.patch
···
+
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);
+3 -3
pkgs/tools/misc/librespeed-cli/default.nix
···
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;
+9 -17
pkgs/tools/networking/babeld/default.nix
···
-
{ 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;
};
}
+6 -5
pkgs/tools/security/rage/default.nix
···
{ 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
···
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 ];
};
+15 -1
pkgs/top-level/all-packages.nix
···
eclipse-mat = callPackage ../development/tools/eclipse-mat { };
+
frugal = callPackage ../development/tools/frugal { };
+
glade = callPackage ../development/tools/glade { };
hobbes = callPackage ../development/tools/hobbes { };
···
boulder = callPackage ../tools/admin/boulder { };
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;
···
mtail = callPackage ../servers/monitoring/mtail { };
multitail = callPackage ../tools/misc/multitail { };
+
+
mx-puppet-discord = callPackage ../servers/mx-puppet-discord { };
mxt-app = callPackage ../misc/mxt-app { };
···
rrdtool = callPackage ../tools/misc/rrdtool { };
+
rset = callPackage ../tools/admin/rset { };
+
rshijack = callPackage ../tools/networking/rshijack { };
rsibreak = libsForQt5.callPackage ../applications/misc/rsibreak { };
···
cdo = callPackage ../development/libraries/cdo { };
cimg = callPackage ../development/libraries/cimg { };
+
+
cjose = callPackage ../development/libraries/cjose { };
scmccid = callPackage ../development/libraries/scmccid { };
···
thanos = callPackage ../servers/monitoring/thanos { };
+
trafficserver = callPackage ../servers/http/trafficserver { };
+
inherit (callPackages ../servers/http/tomcat { })
tomcat7
tomcat8
···
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; };
+1 -3
pkgs/top-level/coq-packages.nix
···
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;
}
+10
pkgs/top-level/perl-packages.nix
···
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
+5 -1
pkgs/top-level/python-packages.nix
···
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 { };
···
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 { };
···
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;
};