Project import generated by Copybara.
GitOrigin-RevId: 82155ff501c7622cb2336646bb62f7624261f6d7
This commit is contained in:
parent
9543354213
commit
f61cd259d4
459 changed files with 14355 additions and 5053 deletions
|
@ -72,6 +72,15 @@ in
|
||||||
...
|
...
|
||||||
```
|
```
|
||||||
|
|
||||||
|
You can also specify what JDK your JRE should be based on, for example
|
||||||
|
selecting a 'headless' build to avoid including a link to GTK+:
|
||||||
|
|
||||||
|
```nix
|
||||||
|
my_jre = pkgs.jre_minimal.override {
|
||||||
|
jdk = jdk11_headless;
|
||||||
|
};
|
||||||
|
```
|
||||||
|
|
||||||
Note all JDKs passthru `home`, so if your application requires
|
Note all JDKs passthru `home`, so if your application requires
|
||||||
environment variables like `JAVA_HOME` being set, that can be done in a
|
environment variables like `JAVA_HOME` being set, that can be done in a
|
||||||
generic fashion with the `--set` argument of `makeWrapper`:
|
generic fashion with the `--set` argument of `makeWrapper`:
|
||||||
|
|
27
third_party/nixpkgs/lib/generators.nix
vendored
27
third_party/nixpkgs/lib/generators.nix
vendored
|
@ -197,6 +197,30 @@ rec {
|
||||||
*/
|
*/
|
||||||
toYAML = {}@args: toJSON args;
|
toYAML = {}@args: toJSON args;
|
||||||
|
|
||||||
|
withRecursion =
|
||||||
|
args@{
|
||||||
|
/* If this option is not null, the given value will stop evaluating at a certain depth */
|
||||||
|
depthLimit
|
||||||
|
/* If this option is true, an error will be thrown, if a certain given depth is exceeded */
|
||||||
|
, throwOnDepthLimit ? true
|
||||||
|
}:
|
||||||
|
assert builtins.isInt depthLimit;
|
||||||
|
let
|
||||||
|
transform = depth:
|
||||||
|
if depthLimit != null && depth > depthLimit then
|
||||||
|
if throwOnDepthLimit
|
||||||
|
then throw "Exceeded maximum eval-depth limit of ${toString depthLimit} while trying to evaluate with `generators.withRecursion'!"
|
||||||
|
else const "<unevaluated>"
|
||||||
|
else id;
|
||||||
|
mapAny = with builtins; depth: v:
|
||||||
|
let
|
||||||
|
evalNext = x: mapAny (depth + 1) (transform (depth + 1) x);
|
||||||
|
in
|
||||||
|
if isAttrs v then mapAttrs (const evalNext) v
|
||||||
|
else if isList v then map evalNext v
|
||||||
|
else transform (depth + 1) v;
|
||||||
|
in
|
||||||
|
mapAny 0;
|
||||||
|
|
||||||
/* Pretty print a value, akin to `builtins.trace`.
|
/* Pretty print a value, akin to `builtins.trace`.
|
||||||
* Should probably be a builtin as well.
|
* Should probably be a builtin as well.
|
||||||
|
@ -208,7 +232,8 @@ rec {
|
||||||
allowPrettyValues ? false,
|
allowPrettyValues ? false,
|
||||||
/* If this option is true, the output is indented with newlines for attribute sets and lists */
|
/* If this option is true, the output is indented with newlines for attribute sets and lists */
|
||||||
multiline ? true
|
multiline ? true
|
||||||
}@args: let
|
}@args:
|
||||||
|
let
|
||||||
go = indent: v: with builtins;
|
go = indent: v: with builtins;
|
||||||
let isPath = v: typeOf v == "path";
|
let isPath = v: typeOf v == "path";
|
||||||
introSpace = if multiline then "\n${indent} " else " ";
|
introSpace = if multiline then "\n${indent} " else " ";
|
||||||
|
|
5
third_party/nixpkgs/lib/licenses.nix
vendored
5
third_party/nixpkgs/lib/licenses.nix
vendored
|
@ -240,6 +240,11 @@ in mkLicense lset) ({
|
||||||
fullName = "CeCILL Free Software License Agreement v2.0";
|
fullName = "CeCILL Free Software License Agreement v2.0";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
cecill21 = {
|
||||||
|
spdxId = "CECILL-2.1";
|
||||||
|
fullName = "CeCILL Free Software License Agreement v2.1";
|
||||||
|
};
|
||||||
|
|
||||||
cecill-b = {
|
cecill-b = {
|
||||||
spdxId = "CECILL-B";
|
spdxId = "CECILL-B";
|
||||||
fullName = "CeCILL-B Free Software License Agreement";
|
fullName = "CeCILL-B Free Software License Agreement";
|
||||||
|
|
23
third_party/nixpkgs/lib/modules.nix
vendored
23
third_party/nixpkgs/lib/modules.nix
vendored
|
@ -162,13 +162,24 @@ rec {
|
||||||
baseMsg = "The option `${showOption (prefix ++ firstDef.prefix)}' does not exist. Definition values:${showDefs [ firstDef ]}";
|
baseMsg = "The option `${showOption (prefix ++ firstDef.prefix)}' does not exist. Definition values:${showDefs [ firstDef ]}";
|
||||||
in
|
in
|
||||||
if attrNames options == [ "_module" ]
|
if attrNames options == [ "_module" ]
|
||||||
then throw ''
|
then
|
||||||
${baseMsg}
|
let
|
||||||
|
optionName = showOption prefix;
|
||||||
|
in
|
||||||
|
if optionName == ""
|
||||||
|
then throw ''
|
||||||
|
${baseMsg}
|
||||||
|
|
||||||
However there are no options defined in `${showOption prefix}'. Are you sure you've
|
It seems as if you're trying to declare an option by placing it into `config' rather than `options'!
|
||||||
declared your options properly? This can happen if you e.g. declared your options in `types.submodule'
|
''
|
||||||
under `config' rather than `options'.
|
else
|
||||||
''
|
throw ''
|
||||||
|
${baseMsg}
|
||||||
|
|
||||||
|
However there are no options defined in `${showOption prefix}'. Are you sure you've
|
||||||
|
declared your options properly? This can happen if you e.g. declared your options in `types.submodule'
|
||||||
|
under `config' rather than `options'.
|
||||||
|
''
|
||||||
else throw baseMsg
|
else throw baseMsg
|
||||||
else null;
|
else null;
|
||||||
|
|
||||||
|
|
4
third_party/nixpkgs/lib/options.nix
vendored
4
third_party/nixpkgs/lib/options.nix
vendored
|
@ -247,7 +247,9 @@ rec {
|
||||||
showDefs = defs: concatMapStrings (def:
|
showDefs = defs: concatMapStrings (def:
|
||||||
let
|
let
|
||||||
# Pretty print the value for display, if successful
|
# Pretty print the value for display, if successful
|
||||||
prettyEval = builtins.tryEval (lib.generators.toPretty {} def.value);
|
prettyEval = builtins.tryEval
|
||||||
|
(lib.generators.toPretty { }
|
||||||
|
(lib.generators.withRecursion { depthLimit = 10; throwOnDepthLimit = false; } def.value));
|
||||||
# Split it into its lines
|
# Split it into its lines
|
||||||
lines = filter (v: ! isList v) (builtins.split "\n" prettyEval.value);
|
lines = filter (v: ! isList v) (builtins.split "\n" prettyEval.value);
|
||||||
# Only display the first 5 lines, and indent them for better visibility
|
# Only display the first 5 lines, and indent them for better visibility
|
||||||
|
|
19
third_party/nixpkgs/lib/tests/misc.nix
vendored
19
third_party/nixpkgs/lib/tests/misc.nix
vendored
|
@ -529,6 +529,25 @@ runTests {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
testToPrettyLimit =
|
||||||
|
let
|
||||||
|
a.b = 1;
|
||||||
|
a.c = a;
|
||||||
|
in {
|
||||||
|
expr = generators.toPretty { } (generators.withRecursion { throwOnDepthLimit = false; depthLimit = 2; } a);
|
||||||
|
expected = "{\n b = 1;\n c = {\n b = \"<unevaluated>\";\n c = {\n b = \"<unevaluated>\";\n c = \"<unevaluated>\";\n };\n };\n}";
|
||||||
|
};
|
||||||
|
|
||||||
|
testToPrettyLimitThrow =
|
||||||
|
let
|
||||||
|
a.b = 1;
|
||||||
|
a.c = a;
|
||||||
|
in {
|
||||||
|
expr = (builtins.tryEval
|
||||||
|
(generators.toPretty { } (generators.withRecursion { depthLimit = 2; } a))).success;
|
||||||
|
expected = false;
|
||||||
|
};
|
||||||
|
|
||||||
testToPrettyMultiline = {
|
testToPrettyMultiline = {
|
||||||
expr = mapAttrs (const (generators.toPretty { })) rec {
|
expr = mapAttrs (const (generators.toPretty { })) rec {
|
||||||
list = [ 3 4 [ false ] ];
|
list = [ 3 4 [ false ] ];
|
||||||
|
|
|
@ -2599,6 +2599,10 @@
|
||||||
githubId = 202798;
|
githubId = 202798;
|
||||||
name = "Pierre Bourdon";
|
name = "Pierre Bourdon";
|
||||||
};
|
};
|
||||||
|
delta = {
|
||||||
|
email = "d4delta@outlook.fr";
|
||||||
|
name = "Delta";
|
||||||
|
};
|
||||||
deltaevo = {
|
deltaevo = {
|
||||||
email = "deltaduartedavid@gmail.com";
|
email = "deltaduartedavid@gmail.com";
|
||||||
github = "DeltaEvo";
|
github = "DeltaEvo";
|
||||||
|
@ -3251,6 +3255,12 @@
|
||||||
githubId = 13485450;
|
githubId = 13485450;
|
||||||
name = "Emmanuel Rosa";
|
name = "Emmanuel Rosa";
|
||||||
};
|
};
|
||||||
|
emptyflask = {
|
||||||
|
email = "jon@emptyflask.dev";
|
||||||
|
github = "emptyflask";
|
||||||
|
githubId = 28287;
|
||||||
|
name = "Jon Roberts";
|
||||||
|
};
|
||||||
endgame = {
|
endgame = {
|
||||||
email = "jack@jackkelly.name";
|
email = "jack@jackkelly.name";
|
||||||
github = "endgame";
|
github = "endgame";
|
||||||
|
@ -4671,6 +4681,12 @@
|
||||||
githubId = 36193715;
|
githubId = 36193715;
|
||||||
name = "Lassi Haasio";
|
name = "Lassi Haasio";
|
||||||
};
|
};
|
||||||
|
ilkecan = {
|
||||||
|
email = "ilkecan@protonmail.com";
|
||||||
|
github = "ilkecan";
|
||||||
|
githubId = 40234257;
|
||||||
|
name = "ilkecan bozdogan";
|
||||||
|
};
|
||||||
illegalprime = {
|
illegalprime = {
|
||||||
email = "themichaeleden@gmail.com";
|
email = "themichaeleden@gmail.com";
|
||||||
github = "illegalprime";
|
github = "illegalprime";
|
||||||
|
|
|
@ -437,7 +437,7 @@ printBuildSummary
|
||||||
<> Text.pack (formatTime defaultTimeLocale "%Y-%m-%d %H:%M UTC" fetchTime)
|
<> Text.pack (formatTime defaultTimeLocale "%Y-%m-%d %H:%M UTC" fetchTime)
|
||||||
<> "*"
|
<> "*"
|
||||||
]
|
]
|
||||||
brokenLine (name, rdeps) = "[" <> name <> "](https://search.nixos.org/packages?channel=unstable&show=haskellPackages." <> name <> "&query=haskellPackages." <> name <> ") :arrow_heading_up: " <> Text.pack (show rdeps)
|
brokenLine (name, rdeps) = "[" <> name <> "](https://packdeps.haskellers.com/reverse/" <> name <> ") :arrow_heading_up: " <> Text.pack (show rdeps) <> " "
|
||||||
numSummary = statusToNumSummary summary
|
numSummary = statusToNumSummary summary
|
||||||
jobsByState predicate = Map.filter (predicate . worstState) summary
|
jobsByState predicate = Map.filter (predicate . worstState) summary
|
||||||
worstState = foldl' min Success . fmap state . summaryBuilds
|
worstState = foldl' min Success . fmap state . summaryBuilds
|
||||||
|
@ -464,8 +464,8 @@ printBuildSummary
|
||||||
if' (isNothing mergeableJob) "No `mergeable` job found." <>
|
if' (isNothing mergeableJob) "No `mergeable` job found." <>
|
||||||
if' (isNothing maintainedJob) "No `maintained` job found." <>
|
if' (isNothing maintainedJob) "No `maintained` job found." <>
|
||||||
if' (Unfinished > maybe Success worstState mergeableJob) "`mergeable` jobset failed." <>
|
if' (Unfinished > maybe Success worstState mergeableJob) "`mergeable` jobset failed." <>
|
||||||
if' (outstandingJobs (Platform "x86_64-linux") > 100) "Too much outstanding jobs on x86_64-linux." <>
|
if' (outstandingJobs (Platform "x86_64-linux") > 100) "Too many outstanding jobs on x86_64-linux." <>
|
||||||
if' (outstandingJobs (Platform "aarch64-linux") > 100) "Too much outstanding jobs on aarch64-linux."
|
if' (outstandingJobs (Platform "aarch64-linux") > 100) "Too many outstanding jobs on aarch64-linux."
|
||||||
if' p e = if p then [e] else mempty
|
if' p e = if p then [e] else mempty
|
||||||
outstandingJobs platform | Table m <- numSummary = Map.findWithDefault 0 (platform, Unfinished) m
|
outstandingJobs platform | Table m <- numSummary = Map.findWithDefault 0 (platform, Unfinished) m
|
||||||
maintainedJob = Map.lookup "maintained" summary
|
maintainedJob = Map.lookup "maintained" summary
|
||||||
|
|
|
@ -75,6 +75,10 @@ fi
|
||||||
echo "Merging https://github.com/NixOS/nixpkgs/pull/${curr_haskell_updates_pr_num}..."
|
echo "Merging https://github.com/NixOS/nixpkgs/pull/${curr_haskell_updates_pr_num}..."
|
||||||
gh pr merge --repo NixOS/nixpkgs --merge "$curr_haskell_updates_pr_num"
|
gh pr merge --repo NixOS/nixpkgs --merge "$curr_haskell_updates_pr_num"
|
||||||
|
|
||||||
|
# Update the list of Haskell package versions in NixOS on Hackage.
|
||||||
|
echo "Updating list of Haskell package versions in NixOS on Hackage..."
|
||||||
|
./maintainers/scripts/haskell/upload-nixos-package-list-to-hackage.sh
|
||||||
|
|
||||||
# Update stackage, Hackage hashes, and regenerate Haskell package set
|
# Update stackage, Hackage hashes, and regenerate Haskell package set
|
||||||
echo "Updating Stackage..."
|
echo "Updating Stackage..."
|
||||||
./maintainers/scripts/haskell/update-stackage.sh --do-commit
|
./maintainers/scripts/haskell/update-stackage.sh --do-commit
|
||||||
|
@ -84,7 +88,7 @@ echo "Regenerating Hackage packages..."
|
||||||
./maintainers/scripts/haskell/regenerate-hackage-packages.sh --do-commit
|
./maintainers/scripts/haskell/regenerate-hackage-packages.sh --do-commit
|
||||||
|
|
||||||
# Push these new commits to the haskell-updates branch
|
# Push these new commits to the haskell-updates branch
|
||||||
echo "Pushing commits just created to the haskell-updates branch"
|
echo "Pushing commits just created to the remote haskell-updates branch..."
|
||||||
git push
|
git push
|
||||||
|
|
||||||
# Open new PR
|
# Open new PR
|
||||||
|
@ -93,7 +97,7 @@ new_pr_body=$(cat <<EOF
|
||||||
|
|
||||||
This PR is the regular merge of the \`haskell-updates\` branch into \`master\`.
|
This PR is the regular merge of the \`haskell-updates\` branch into \`master\`.
|
||||||
|
|
||||||
This branch is being continually built and tested by hydra at https://hydra.nixos.org/jobset/nixpkgs/haskell-updates.
|
This branch is being continually built and tested by hydra at https://hydra.nixos.org/jobset/nixpkgs/haskell-updates. You may be able to find an up-to-date Hydra build report at [cdepillabout/nix-haskell-updates-status](https://github.com/cdepillabout/nix-haskell-updates-status).
|
||||||
|
|
||||||
We roughly aim to merge these \`haskell-updates\` PRs at least once every two weeks. See the @NixOS/haskell [team calendar](https://cloud.maralorn.de/apps/calendar/p/Mw5WLnzsP7fC4Zky) for who is currently in charge of this branch.
|
We roughly aim to merge these \`haskell-updates\` PRs at least once every two weeks. See the @NixOS/haskell [team calendar](https://cloud.maralorn.de/apps/calendar/p/Mw5WLnzsP7fC4Zky) for who is currently in charge of this branch.
|
||||||
|
|
||||||
|
@ -114,5 +118,5 @@ This is the follow-up to #${curr_haskell_updates_pr_num}. Come to [#haskell:nixo
|
||||||
EOF
|
EOF
|
||||||
)
|
)
|
||||||
|
|
||||||
echo "Opening a PR for the next haskell-updates merge cycle"
|
echo "Opening a PR for the next haskell-updates merge cycle..."
|
||||||
gh pr create --repo NixOS/nixpkgs --base master --head haskell-updates --title "haskellPackages: update stackage and hackage" --body "$new_pr_body"
|
gh pr create --repo NixOS/nixpkgs --base master --head haskell-updates --title "haskellPackages: update stackage and hackage" --body "$new_pr_body"
|
||||||
|
|
|
@ -19,3 +19,4 @@ package_list="$(nix-build -A haskell.package-list)/nixos-hackage-packages.csv"
|
||||||
username=$(grep "^username:" ~/.cabal/config | sed "s/^username: //")
|
username=$(grep "^username:" ~/.cabal/config | sed "s/^username: //")
|
||||||
password_command=$(grep "^password-command:" ~/.cabal/config | sed "s/^password-command: //")
|
password_command=$(grep "^password-command:" ~/.cabal/config | sed "s/^password-command: //")
|
||||||
curl -u "$username:$($password_command | head -n1)" --digest -H "Content-type: text/csv" -T "$package_list" http://hackage.haskell.org/distro/NixOS/packages.csv
|
curl -u "$username:$($password_command | head -n1)" --digest -H "Content-type: text/csv" -T "$package_list" http://hackage.haskell.org/distro/NixOS/packages.csv
|
||||||
|
echo
|
||||||
|
|
|
@ -99,7 +99,15 @@
|
||||||
<para>
|
<para>
|
||||||
<link xlink:href="https://github.com/xrelkd/clipcat/">clipcat</link>,
|
<link xlink:href="https://github.com/xrelkd/clipcat/">clipcat</link>,
|
||||||
an X11 clipboard manager written in Rust. Available at
|
an X11 clipboard manager written in Rust. Available at
|
||||||
[services.clipcat](options.html#o pt-services.clipcat.enable).
|
<link xlink:href="options.html#opt-services.clipcat.enable">services.clipcat</link>.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
<link xlink:href="https://github.com/dexidp/dex">dex</link>,
|
||||||
|
an OpenID Connect (OIDC) identity and OAuth 2.0 provider.
|
||||||
|
Available at
|
||||||
|
<link xlink:href="options.html#opt-services.dex.enable">services.dex</link>.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
<listitem>
|
<listitem>
|
||||||
|
@ -1051,6 +1059,16 @@ Superuser created successfully.
|
||||||
changelog</link>.
|
changelog</link>.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
<literal>opencv2</literal> no longer includes the non-free
|
||||||
|
libraries by default, and consequently
|
||||||
|
<literal>pfstools</literal> no longer includes OpenCV support
|
||||||
|
by default. Both packages now support an
|
||||||
|
<literal>enableUnfree</literal> option to re-enable this
|
||||||
|
functionality.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
</section>
|
</section>
|
||||||
<section xml:id="sec-release-21.11-notable-changes">
|
<section xml:id="sec-release-21.11-notable-changes">
|
||||||
|
@ -1070,6 +1088,40 @@ Superuser created successfully.
|
||||||
<literal>linuxPackages_latest</literal>) remain untouched.
|
<literal>linuxPackages_latest</literal>) remain untouched.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
In NixOS virtual machines (QEMU), the
|
||||||
|
<literal>virtualisation</literal> module has been updated with
|
||||||
|
new options to configure:
|
||||||
|
</para>
|
||||||
|
<itemizedlist spacing="compact">
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
IPv4 port forwarding
|
||||||
|
(<link xlink:href="options.html#opt-virtualisation.forwardPorts"><literal>virtualisation.forwardPorts</literal></link>),
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
shared host directories
|
||||||
|
(<link xlink:href="options.html#opt-virtualisation.sharedDirectories"><literal>virtualisation.sharedDirectories</literal></link>),
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
screen resolution
|
||||||
|
(<link xlink:href="options.html#opt-virtualisation.resolution"><literal>virtualisation.resolution</literal></link>).
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
</itemizedlist>
|
||||||
|
<para>
|
||||||
|
In addition, the default
|
||||||
|
<link xlink:href="options.html#opt-virtualisation.msize"><literal>msize</literal></link>
|
||||||
|
parameter in 9P filesystems (including /nix/store and all
|
||||||
|
shared directories) has been increased to 16K for improved
|
||||||
|
performance.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
The setting
|
The setting
|
||||||
|
@ -1235,6 +1287,73 @@ Superuser created successfully.
|
||||||
</listitem>
|
</listitem>
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
The
|
||||||
|
<link xlink:href="options.html#opt-networking.wireless.enable">networking.wireless</link>
|
||||||
|
module (based on wpa_supplicant) has been heavily reworked,
|
||||||
|
solving a number of issues and adding useful features:
|
||||||
|
</para>
|
||||||
|
<itemizedlist spacing="compact">
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
The automatic discovery of wireless interfaces at boot has
|
||||||
|
been made reliable again (issues
|
||||||
|
<link xlink:href="https://github.com/NixOS/nixpkgs/issues/101963">#101963</link>,
|
||||||
|
<link xlink:href="https://github.com/NixOS/nixpkgs/issues/23196">#23196</link>).
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
WPA3 and Fast BSS Transition (802.11r) are now enabled by
|
||||||
|
default for all networks.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Secrets like pre-shared keys and passwords can now be
|
||||||
|
handled safely, meaning without including them in a
|
||||||
|
world-readable file
|
||||||
|
(<literal>wpa_supplicant.conf</literal> under /nix/store).
|
||||||
|
This is achieved by storing the secrets in a secured
|
||||||
|
<link xlink:href="options.html#opt-networking.wireless.environmentFile">environmentFile</link>
|
||||||
|
and referring to them though environment variables that
|
||||||
|
are expanded inside the configuration.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
With multiple interfaces declared, independent
|
||||||
|
wpa_supplicant daemons are started, one for each interface
|
||||||
|
(the services are named
|
||||||
|
<literal>wpa_supplicant-wlan0</literal>,
|
||||||
|
<literal>wpa_supplicant-wlan1</literal>, etc.).
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
The generated <literal>wpa_supplicant.conf</literal> file
|
||||||
|
is now formatted for easier reading.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
A new
|
||||||
|
<link xlink:href="options.html#opt-networking.wireless.scanOnLowSignal">scanOnLowSignal</link>
|
||||||
|
option has been added to facilitate fast roaming between
|
||||||
|
access points (enabled by default).
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
A new
|
||||||
|
<link xlink:href="options.html#opt-networking.wireless.networks._name_.authProtocols">networks.<name>.authProtocols</link>
|
||||||
|
option has been added to change the authentication
|
||||||
|
protocols used when connecting to a network.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
</itemizedlist>
|
||||||
|
</listitem>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
The
|
The
|
||||||
|
|
|
@ -32,8 +32,9 @@ In addition to numerous new and upgraded packages, this release has the followin
|
||||||
|
|
||||||
- [btrbk](https://digint.ch/btrbk/index.html), a backup tool for btrfs subvolumes, taking advantage of btrfs specific capabilities to create atomic snapshots and transfer them incrementally to your backup locations. Available as [services.btrbk](options.html#opt-services.brtbk.instances).
|
- [btrbk](https://digint.ch/btrbk/index.html), a backup tool for btrfs subvolumes, taking advantage of btrfs specific capabilities to create atomic snapshots and transfer them incrementally to your backup locations. Available as [services.btrbk](options.html#opt-services.brtbk.instances).
|
||||||
|
|
||||||
- [clipcat](https://github.com/xrelkd/clipcat/), an X11 clipboard manager written in Rust. Available at [services.clipcat](options.html#o
|
- [clipcat](https://github.com/xrelkd/clipcat/), an X11 clipboard manager written in Rust. Available at [services.clipcat](options.html#opt-services.clipcat.enable).
|
||||||
pt-services.clipcat.enable).
|
|
||||||
|
- [dex](https://github.com/dexidp/dex), an OpenID Connect (OIDC) identity and OAuth 2.0 provider. Available at [services.dex](options.html#opt-services.dex.enable).
|
||||||
|
|
||||||
- [geoipupdate](https://github.com/maxmind/geoipupdate), a GeoIP database updater from MaxMind. Available as [services.geoipupdate](options.html#opt-services.geoipupdate.enable).
|
- [geoipupdate](https://github.com/maxmind/geoipupdate), a GeoIP database updater from MaxMind. Available as [services.geoipupdate](options.html#opt-services.geoipupdate.enable).
|
||||||
|
|
||||||
|
@ -330,11 +331,21 @@ In addition to numerous new and upgraded packages, this release has the followin
|
||||||
respectively. As a result `services.datadog-agent` has had breaking changes to the
|
respectively. As a result `services.datadog-agent` has had breaking changes to the
|
||||||
configuration file. For details, see the [upstream changelog](https://github.com/DataDog/datadog-agent/blob/main/CHANGELOG.rst).
|
configuration file. For details, see the [upstream changelog](https://github.com/DataDog/datadog-agent/blob/main/CHANGELOG.rst).
|
||||||
|
|
||||||
|
- `opencv2` no longer includes the non-free libraries by default, and consequently `pfstools` no longer includes OpenCV support by default. Both packages now support an `enableUnfree` option to re-enable this functionality.
|
||||||
|
|
||||||
## Other Notable Changes {#sec-release-21.11-notable-changes}
|
## Other Notable Changes {#sec-release-21.11-notable-changes}
|
||||||
|
|
||||||
|
|
||||||
- The linux kernel package infrastructure was moved out of `all-packages.nix`, and restructured. Linux related functions and attributes now live under the `pkgs.linuxKernel` attribute set.
|
- The linux kernel package infrastructure was moved out of `all-packages.nix`, and restructured. Linux related functions and attributes now live under the `pkgs.linuxKernel` attribute set.
|
||||||
In particular the versioned `linuxPackages_*` package sets (such as `linuxPackages_5_4`) and kernels from `pkgs` were moved there and now live under `pkgs.linuxKernel.packages.*`. The unversioned ones (such as `linuxPackages_latest`) remain untouched.
|
In particular the versioned `linuxPackages_*` package sets (such as `linuxPackages_5_4`) and kernels from `pkgs` were moved there and now live under `pkgs.linuxKernel.packages.*`. The unversioned ones (such as `linuxPackages_latest`) remain untouched.
|
||||||
|
|
||||||
|
- In NixOS virtual machines (QEMU), the `virtualisation` module has been updated with new options to configure:
|
||||||
|
- IPv4 port forwarding ([`virtualisation.forwardPorts`](options.html#opt-virtualisation.forwardPorts)),
|
||||||
|
- shared host directories ([`virtualisation.sharedDirectories`](options.html#opt-virtualisation.sharedDirectories)),
|
||||||
|
- screen resolution ([`virtualisation.resolution`](options.html#opt-virtualisation.resolution)).
|
||||||
|
|
||||||
|
In addition, the default [`msize`](options.html#opt-virtualisation.msize) parameter in 9P filesystems (including /nix/store and all shared directories) has been increased to 16K for improved performance.
|
||||||
|
|
||||||
- The setting [`services.openssh.logLevel`](options.html#opt-services.openssh.logLevel) `"VERBOSE"` `"INFO"`. This brings NixOS in line with upstream and other Linux distributions, and reduces log spam on servers due to bruteforcing botnets.
|
- The setting [`services.openssh.logLevel`](options.html#opt-services.openssh.logLevel) `"VERBOSE"` `"INFO"`. This brings NixOS in line with upstream and other Linux distributions, and reduces log spam on servers due to bruteforcing botnets.
|
||||||
|
|
||||||
However, if [`services.fail2ban.enable`](options.html#opt-services.fail2ban.enable) is `true`, the `fail2ban` will override the verbosity to `"VERBOSE"`, so that `fail2ban` can observe the failed login attempts from the SSH logs.
|
However, if [`services.fail2ban.enable`](options.html#opt-services.fail2ban.enable) is `true`, the `fail2ban` will override the verbosity to `"VERBOSE"`, so that `fail2ban` can observe the failed login attempts from the SSH logs.
|
||||||
|
@ -381,6 +392,16 @@ In addition to numerous new and upgraded packages, this release has the followin
|
||||||
`myhostname`, but before `dns` should use the default priority
|
`myhostname`, but before `dns` should use the default priority
|
||||||
- NSS modules which should come after `dns` should use mkAfter.
|
- NSS modules which should come after `dns` should use mkAfter.
|
||||||
|
|
||||||
|
- The [networking.wireless](options.html#opt-networking.wireless.enable) module (based on wpa_supplicant) has been heavily reworked, solving a number of issues and adding useful features:
|
||||||
|
- The automatic discovery of wireless interfaces at boot has been made reliable again (issues [#101963](https://github.com/NixOS/nixpkgs/issues/101963), [#23196](https://github.com/NixOS/nixpkgs/issues/23196)).
|
||||||
|
- WPA3 and Fast BSS Transition (802.11r) are now enabled by default for all networks.
|
||||||
|
- Secrets like pre-shared keys and passwords can now be handled safely, meaning without including them in a world-readable file (`wpa_supplicant.conf` under /nix/store).
|
||||||
|
This is achieved by storing the secrets in a secured [environmentFile](options.html#opt-networking.wireless.environmentFile) and referring to them though environment variables that are expanded inside the configuration.
|
||||||
|
- With multiple interfaces declared, independent wpa_supplicant daemons are started, one for each interface (the services are named `wpa_supplicant-wlan0`, `wpa_supplicant-wlan1`, etc.).
|
||||||
|
- The generated `wpa_supplicant.conf` file is now formatted for easier reading.
|
||||||
|
- A new [scanOnLowSignal](options.html#opt-networking.wireless.scanOnLowSignal) option has been added to facilitate fast roaming between access points (enabled by default).
|
||||||
|
- A new [networks.<name>.authProtocols](options.html#opt-networking.wireless.networks._name_.authProtocols) option has been added to change the authentication protocols used when connecting to a network.
|
||||||
|
|
||||||
- The [networking.wireless.iwd](options.html#opt-networking.wireless.iwd.enable) module has a new [networking.wireless.iwd.settings](options.html#opt-networking.wireless.iwd.settings) option.
|
- The [networking.wireless.iwd](options.html#opt-networking.wireless.iwd.enable) module has a new [networking.wireless.iwd.settings](options.html#opt-networking.wireless.iwd.settings) option.
|
||||||
|
|
||||||
- The [services.syncoid.enable](options.html#opt-services.syncoid.enable) module now properly drops ZFS permissions after usage. Before it delegated permissions to whole pools instead of datasets and didn't clean up after execution. You can manually look this up for your pools by running `zfs allow your-pool-name` and use `zfs unallow syncoid your-pool-name` to clean this up.
|
- The [services.syncoid.enable](options.html#opt-services.syncoid.enable) module now properly drops ZFS permissions after usage. Before it delegated permissions to whole pools instead of datasets and didn't clean up after execution. You can manually look this up for your pools by running `zfs allow your-pool-name` and use `zfs unallow syncoid your-pool-name` to clean this up.
|
||||||
|
|
10
third_party/nixpkgs/nixos/lib/build-vms.nix
vendored
10
third_party/nixpkgs/nixos/lib/build-vms.nix
vendored
|
@ -4,15 +4,14 @@
|
||||||
, # Ignored
|
, # Ignored
|
||||||
config ? null
|
config ? null
|
||||||
, # Nixpkgs, for qemu, lib and more
|
, # Nixpkgs, for qemu, lib and more
|
||||||
pkgs
|
pkgs, lib
|
||||||
, # !!! See comment about args in lib/modules.nix
|
, # !!! See comment about args in lib/modules.nix
|
||||||
specialArgs ? {}
|
specialArgs ? {}
|
||||||
, # NixOS configuration to add to the VMs
|
, # NixOS configuration to add to the VMs
|
||||||
extraConfigurations ? []
|
extraConfigurations ? []
|
||||||
}:
|
}:
|
||||||
|
|
||||||
with pkgs.lib;
|
with lib;
|
||||||
with import ../lib/qemu-flags.nix { inherit pkgs; };
|
|
||||||
|
|
||||||
rec {
|
rec {
|
||||||
|
|
||||||
|
@ -93,8 +92,9 @@ rec {
|
||||||
"${config.networking.hostName}\n"));
|
"${config.networking.hostName}\n"));
|
||||||
|
|
||||||
virtualisation.qemu.options =
|
virtualisation.qemu.options =
|
||||||
forEach interfacesNumbered
|
let qemu-common = import ../lib/qemu-common.nix { inherit lib pkgs; };
|
||||||
({ fst, snd }: qemuNICFlags snd fst m.snd);
|
in flip concatMap interfacesNumbered
|
||||||
|
({ fst, snd }: qemu-common.qemuNICFlags snd fst m.snd);
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
# QEMU flags shared between various Nix expressions.
|
# QEMU-related utilities shared between various Nix expressions.
|
||||||
{ pkgs }:
|
{ lib, pkgs }:
|
||||||
|
|
||||||
let
|
let
|
||||||
zeroPad = n:
|
zeroPad = n:
|
||||||
pkgs.lib.optionalString (n < 16) "0" +
|
lib.optionalString (n < 16) "0" +
|
||||||
(if n > 255
|
(if n > 255
|
||||||
then throw "Can't have more than 255 nets or nodes!"
|
then throw "Can't have more than 255 nets or nodes!"
|
||||||
else pkgs.lib.toHexString n);
|
else lib.toHexString n);
|
||||||
in
|
in
|
||||||
|
|
||||||
rec {
|
rec {
|
||||||
|
@ -14,7 +14,7 @@ rec {
|
||||||
|
|
||||||
qemuNICFlags = nic: net: machine:
|
qemuNICFlags = nic: net: machine:
|
||||||
[ "-device virtio-net-pci,netdev=vlan${toString nic},mac=${qemuNicMac net machine}"
|
[ "-device virtio-net-pci,netdev=vlan${toString nic},mac=${qemuNicMac net machine}"
|
||||||
"-netdev vde,id=vlan${toString nic},sock=$QEMU_VDE_SOCKET_${toString net}"
|
''-netdev vde,id=vlan${toString nic},sock="$QEMU_VDE_SOCKET_${toString net}"''
|
||||||
];
|
];
|
||||||
|
|
||||||
qemuSerialDevice = if pkgs.stdenv.isi686 || pkgs.stdenv.isx86_64 then "ttyS0"
|
qemuSerialDevice = if pkgs.stdenv.isi686 || pkgs.stdenv.isx86_64 then "ttyS0"
|
|
@ -217,7 +217,7 @@ rec {
|
||||||
nodes = qemu_pkg:
|
nodes = qemu_pkg:
|
||||||
let
|
let
|
||||||
build-vms = import ./build-vms.nix {
|
build-vms = import ./build-vms.nix {
|
||||||
inherit system pkgs minimal specialArgs;
|
inherit system lib pkgs minimal specialArgs;
|
||||||
extraConfigurations = extraConfigurations ++ [(
|
extraConfigurations = extraConfigurations ++ [(
|
||||||
{
|
{
|
||||||
virtualisation.qemu.package = qemu_pkg;
|
virtualisation.qemu.package = qemu_pkg;
|
||||||
|
@ -257,7 +257,6 @@ rec {
|
||||||
inherit test driver driverInteractive nodes;
|
inherit test driver driverInteractive nodes;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
abortForFunction = functionName: abort ''The ${functionName} function was
|
abortForFunction = functionName: abort ''The ${functionName} function was
|
||||||
removed because it is not an essential part of the NixOS testing
|
removed because it is not an essential part of the NixOS testing
|
||||||
infrastructure. It had no usage in NixOS or Nixpkgs and it had no designated
|
infrastructure. It had no usage in NixOS or Nixpkgs and it had no designated
|
||||||
|
|
|
@ -6,7 +6,11 @@ let
|
||||||
|
|
||||||
cfg = config.documentation;
|
cfg = config.documentation;
|
||||||
|
|
||||||
manualModules = baseModules ++ optionals cfg.nixos.includeAllModules (extraModules ++ modules);
|
manualModules =
|
||||||
|
baseModules
|
||||||
|
# Modules for which to show options even when not imported
|
||||||
|
++ [ ../virtualisation/qemu-vm.nix ]
|
||||||
|
++ optionals cfg.nixos.includeAllModules (extraModules ++ modules);
|
||||||
|
|
||||||
/* For the purpose of generating docs, evaluate options with each derivation
|
/* For the purpose of generating docs, evaluate options with each derivation
|
||||||
in `pkgs` (recursively) replaced by a fake with path "\${pkgs.attribute.path}".
|
in `pkgs` (recursively) replaced by a fake with path "\${pkgs.attribute.path}".
|
||||||
|
|
|
@ -43,6 +43,9 @@ in {
|
||||||
The format is described in
|
The format is described in
|
||||||
<citerefentry><refentrytitle>systemd.time</refentrytitle>
|
<citerefentry><refentrytitle>systemd.time</refentrytitle>
|
||||||
<manvolnum>7</manvolnum></citerefentry>.
|
<manvolnum>7</manvolnum></citerefentry>.
|
||||||
|
|
||||||
|
To disable automatic updates, set to <literal>"never"</literal>
|
||||||
|
and run <command>updatedb</command> manually.
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -192,6 +195,18 @@ in {
|
||||||
{ LOCATE_PATH = cfg.output;
|
{ LOCATE_PATH = cfg.output;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
environment.etc = {
|
||||||
|
# write /etc/updatedb.conf for manual calls to `updatedb`
|
||||||
|
"updatedb.conf" = {
|
||||||
|
text = ''
|
||||||
|
PRUNEFS="${lib.concatStringsSep " " cfg.pruneFS}"
|
||||||
|
PRUNENAMES="${lib.concatStringsSep " " cfg.pruneNames}"
|
||||||
|
PRUNEPATHS="${lib.concatStringsSep " " cfg.prunePaths}"
|
||||||
|
PRUNE_BIND_MOUNTSFR="${lib.boolToString cfg.pruneBindMounts}"
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
warnings = optional (isMLocate && cfg.localuser != null) "mlocate does not support the services.locate.localuser option; updatedb will run as root. (Silence with services.locate.localuser = null.)"
|
warnings = optional (isMLocate && cfg.localuser != null) "mlocate does not support the services.locate.localuser option; updatedb will run as root. (Silence with services.locate.localuser = null.)"
|
||||||
++ optional (isFindutils && cfg.pruneNames != []) "findutils locate does not support pruning by directory component"
|
++ optional (isFindutils && cfg.pruneNames != []) "findutils locate does not support pruning by directory component"
|
||||||
++ optional (isFindutils && cfg.pruneBindMounts) "findutils locate does not support skipping bind mounts";
|
++ optional (isFindutils && cfg.pruneBindMounts) "findutils locate does not support skipping bind mounts";
|
||||||
|
@ -238,7 +253,7 @@ in {
|
||||||
serviceConfig.ReadWritePaths = dirOf cfg.output;
|
serviceConfig.ReadWritePaths = dirOf cfg.output;
|
||||||
};
|
};
|
||||||
|
|
||||||
systemd.timers.update-locatedb =
|
systemd.timers.update-locatedb = mkIf (cfg.interval != "never")
|
||||||
{ description = "Update timer for locate database";
|
{ description = "Update timer for locate database";
|
||||||
partOf = [ "update-locatedb.service" ];
|
partOf = [ "update-locatedb.service" ];
|
||||||
wantedBy = [ "timers.target" ];
|
wantedBy = [ "timers.target" ];
|
||||||
|
|
|
@ -963,6 +963,7 @@
|
||||||
./services/web-apps/calibre-web.nix
|
./services/web-apps/calibre-web.nix
|
||||||
./services/web-apps/convos.nix
|
./services/web-apps/convos.nix
|
||||||
./services/web-apps/cryptpad.nix
|
./services/web-apps/cryptpad.nix
|
||||||
|
./services/web-apps/dex.nix
|
||||||
./services/web-apps/discourse.nix
|
./services/web-apps/discourse.nix
|
||||||
./services/web-apps/documize.nix
|
./services/web-apps/documize.nix
|
||||||
./services/web-apps/dokuwiki.nix
|
./services/web-apps/dokuwiki.nix
|
||||||
|
@ -990,6 +991,7 @@
|
||||||
./services/web-apps/nextcloud.nix
|
./services/web-apps/nextcloud.nix
|
||||||
./services/web-apps/nexus.nix
|
./services/web-apps/nexus.nix
|
||||||
./services/web-apps/node-red.nix
|
./services/web-apps/node-red.nix
|
||||||
|
./services/web-apps/pict-rs.nix
|
||||||
./services/web-apps/plantuml-server.nix
|
./services/web-apps/plantuml-server.nix
|
||||||
./services/web-apps/plausible.nix
|
./services/web-apps/plausible.nix
|
||||||
./services/web-apps/pgpkeyserver-lite.nix
|
./services/web-apps/pgpkeyserver-lite.nix
|
||||||
|
|
|
@ -310,7 +310,7 @@ in
|
||||||
# the service - therefore we sleep in a loop until we can ping the
|
# the service - therefore we sleep in a loop until we can ping the
|
||||||
# endpoint.
|
# endpoint.
|
||||||
preStart = ''
|
preStart = ''
|
||||||
while ! ping -q -c 1 v1-0-0-server.tarsnap.com &> /dev/null; do sleep 3; done
|
while ! ping -4 -q -c 1 v1-0-0-server.tarsnap.com &> /dev/null; do sleep 3; done
|
||||||
'';
|
'';
|
||||||
|
|
||||||
script = let
|
script = let
|
||||||
|
|
|
@ -65,7 +65,7 @@ in {
|
||||||
unitConfig.Documentation = [ "man:lircd(8)" ];
|
unitConfig.Documentation = [ "man:lircd(8)" ];
|
||||||
|
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
RuntimeDirectory = "lirc";
|
RuntimeDirectory = ["lirc" "lirc/lock"];
|
||||||
|
|
||||||
# Service runtime directory and socket share same folder.
|
# Service runtime directory and socket share same folder.
|
||||||
# Following hacks are necessary to get everything right:
|
# Following hacks are necessary to get everything right:
|
||||||
|
|
|
@ -66,7 +66,7 @@ in
|
||||||
RestrictNamespaces = "yes";
|
RestrictNamespaces = "yes";
|
||||||
RestrictRealtime = "yes";
|
RestrictRealtime = "yes";
|
||||||
RestrictSUIDSGID = "yes";
|
RestrictSUIDSGID = "yes";
|
||||||
MemoryDenyWriteExecute = "yes";
|
MemoryDenyWriteExecute = "no"; # v8 JIT requires memory segments to be Writable-Executable.
|
||||||
LockPersonality = "yes";
|
LockPersonality = "yes";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -20,10 +20,16 @@ let
|
||||||
++ optional cfg.scanOnLowSignal ''bgscan="simple:30:-70:3600"''
|
++ optional cfg.scanOnLowSignal ''bgscan="simple:30:-70:3600"''
|
||||||
++ optional (cfg.extraConfig != "") cfg.extraConfig);
|
++ optional (cfg.extraConfig != "") cfg.extraConfig);
|
||||||
|
|
||||||
|
configIsGenerated = with cfg;
|
||||||
|
networks != {} || extraConfig != "" || userControlled.enable;
|
||||||
|
|
||||||
|
# the original configuration file
|
||||||
configFile =
|
configFile =
|
||||||
if cfg.networks != {} || cfg.extraConfig != "" || cfg.userControlled.enable
|
if configIsGenerated
|
||||||
then pkgs.writeText "wpa_supplicant.conf" generatedConfig
|
then pkgs.writeText "wpa_supplicant.conf" generatedConfig
|
||||||
else "/etc/wpa_supplicant.conf";
|
else "/etc/wpa_supplicant.conf";
|
||||||
|
# the config file with environment variables replaced
|
||||||
|
finalConfig = ''"$RUNTIME_DIRECTORY"/wpa_supplicant.conf'';
|
||||||
|
|
||||||
# Creates a network block for wpa_supplicant.conf
|
# Creates a network block for wpa_supplicant.conf
|
||||||
mkNetwork = ssid: opts:
|
mkNetwork = ssid: opts:
|
||||||
|
@ -56,8 +62,8 @@ let
|
||||||
let
|
let
|
||||||
deviceUnit = optional (iface != null) "sys-subsystem-net-devices-${utils.escapeSystemdPath iface}.device";
|
deviceUnit = optional (iface != null) "sys-subsystem-net-devices-${utils.escapeSystemdPath iface}.device";
|
||||||
configStr = if cfg.allowAuxiliaryImperativeNetworks
|
configStr = if cfg.allowAuxiliaryImperativeNetworks
|
||||||
then "-c /etc/wpa_supplicant.conf -I ${configFile}"
|
then "-c /etc/wpa_supplicant.conf -I ${finalConfig}"
|
||||||
else "-c ${configFile}";
|
else "-c ${finalConfig}";
|
||||||
in {
|
in {
|
||||||
description = "WPA Supplicant instance" + optionalString (iface != null) " for interface ${iface}";
|
description = "WPA Supplicant instance" + optionalString (iface != null) " for interface ${iface}";
|
||||||
|
|
||||||
|
@ -69,12 +75,25 @@ let
|
||||||
stopIfChanged = false;
|
stopIfChanged = false;
|
||||||
|
|
||||||
path = [ package ];
|
path = [ package ];
|
||||||
|
serviceConfig.RuntimeDirectory = "wpa_supplicant";
|
||||||
|
serviceConfig.RuntimeDirectoryMode = "700";
|
||||||
|
serviceConfig.EnvironmentFile = mkIf (cfg.environmentFile != null)
|
||||||
|
(builtins.toString cfg.environmentFile);
|
||||||
|
|
||||||
script =
|
script =
|
||||||
''
|
''
|
||||||
if [ -f /etc/wpa_supplicant.conf -a "/etc/wpa_supplicant.conf" != "${configFile}" ]; then
|
${optionalString configIsGenerated ''
|
||||||
echo >&2 "<3>/etc/wpa_supplicant.conf present but ignored. Generated ${configFile} is used instead."
|
if [ -f /etc/wpa_supplicant.conf ]; then
|
||||||
fi
|
echo >&2 "<3>/etc/wpa_supplicant.conf present but ignored. Generated ${configFile} is used instead."
|
||||||
|
fi
|
||||||
|
''}
|
||||||
|
|
||||||
|
# substitute environment variables
|
||||||
|
${pkgs.gawk}/bin/awk '{
|
||||||
|
for(varname in ENVIRON)
|
||||||
|
gsub("@"varname"@", ENVIRON[varname])
|
||||||
|
print
|
||||||
|
}' "${configFile}" > "${finalConfig}"
|
||||||
|
|
||||||
iface_args="-s ${optionalString cfg.dbusControlled "-u"} -D${cfg.driver} ${configStr}"
|
iface_args="-s ${optionalString cfg.dbusControlled "-u"} -D${cfg.driver} ${configStr}"
|
||||||
|
|
||||||
|
@ -155,6 +174,44 @@ in {
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
environmentFile = mkOption {
|
||||||
|
type = types.nullOr types.path;
|
||||||
|
default = null;
|
||||||
|
example = "/run/secrets/wireless.env";
|
||||||
|
description = ''
|
||||||
|
File consisting of lines of the form <literal>varname=value</literal>
|
||||||
|
to define variables for the wireless configuration.
|
||||||
|
|
||||||
|
See section "EnvironmentFile=" in <citerefentry>
|
||||||
|
<refentrytitle>systemd.exec</refentrytitle><manvolnum>5</manvolnum>
|
||||||
|
</citerefentry> for a syntax reference.
|
||||||
|
|
||||||
|
Secrets (PSKs, passwords, etc.) can be provided without adding them to
|
||||||
|
the world-readable Nix store by defining them in the environment file and
|
||||||
|
referring to them in option <option>networking.wireless.networks</option>
|
||||||
|
with the syntax <literal>@varname@</literal>. Example:
|
||||||
|
|
||||||
|
<programlisting>
|
||||||
|
# content of /run/secrets/wireless.env
|
||||||
|
PSK_HOME=mypassword
|
||||||
|
PASS_WORK=myworkpassword
|
||||||
|
</programlisting>
|
||||||
|
|
||||||
|
<programlisting>
|
||||||
|
# wireless-related configuration
|
||||||
|
networking.wireless.environmentFile = "/run/secrets/wireless.env";
|
||||||
|
networking.wireless.networks = {
|
||||||
|
home.psk = "@PSK_HOME@";
|
||||||
|
work.auth = '''
|
||||||
|
eap=PEAP
|
||||||
|
identity="my-user@example.com"
|
||||||
|
password="@PASS_WORK@"
|
||||||
|
''';
|
||||||
|
};
|
||||||
|
</programlisting>
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
networks = mkOption {
|
networks = mkOption {
|
||||||
type = types.attrsOf (types.submodule {
|
type = types.attrsOf (types.submodule {
|
||||||
options = {
|
options = {
|
||||||
|
@ -165,10 +222,14 @@ in {
|
||||||
The network's pre-shared key in plaintext defaulting
|
The network's pre-shared key in plaintext defaulting
|
||||||
to being a network without any authentication.
|
to being a network without any authentication.
|
||||||
|
|
||||||
Be aware that these will be written to the nix store
|
<warning><para>
|
||||||
in plaintext!
|
Be aware that this will be written to the nix store
|
||||||
|
in plaintext! Use an environment variable instead.
|
||||||
|
</para></warning>
|
||||||
|
|
||||||
Mutually exclusive with <varname>pskRaw</varname>.
|
<note><para>
|
||||||
|
Mutually exclusive with <varname>pskRaw</varname>.
|
||||||
|
</para></note>
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -179,7 +240,14 @@ in {
|
||||||
The network's pre-shared key in hex defaulting
|
The network's pre-shared key in hex defaulting
|
||||||
to being a network without any authentication.
|
to being a network without any authentication.
|
||||||
|
|
||||||
Mutually exclusive with <varname>psk</varname>.
|
<warning><para>
|
||||||
|
Be aware that this will be written to the nix store
|
||||||
|
in plaintext! Use an environment variable instead.
|
||||||
|
</para></warning>
|
||||||
|
|
||||||
|
<note><para>
|
||||||
|
Mutually exclusive with <varname>psk</varname>.
|
||||||
|
</para></note>
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -231,7 +299,7 @@ in {
|
||||||
example = ''
|
example = ''
|
||||||
eap=PEAP
|
eap=PEAP
|
||||||
identity="user@example.com"
|
identity="user@example.com"
|
||||||
password="secret"
|
password="@EXAMPLE_PASSWORD@"
|
||||||
'';
|
'';
|
||||||
description = ''
|
description = ''
|
||||||
Use this option to configure advanced authentication methods like EAP.
|
Use this option to configure advanced authentication methods like EAP.
|
||||||
|
@ -242,7 +310,15 @@ in {
|
||||||
</citerefentry>
|
</citerefentry>
|
||||||
for example configurations.
|
for example configurations.
|
||||||
|
|
||||||
Mutually exclusive with <varname>psk</varname> and <varname>pskRaw</varname>.
|
<warning><para>
|
||||||
|
Be aware that this will be written to the nix store
|
||||||
|
in plaintext! Use an environment variable for secrets.
|
||||||
|
</para></warning>
|
||||||
|
|
||||||
|
<note><para>
|
||||||
|
Mutually exclusive with <varname>psk</varname> and
|
||||||
|
<varname>pskRaw</varname>.
|
||||||
|
</para></note>
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -303,11 +379,17 @@ in {
|
||||||
default = {};
|
default = {};
|
||||||
example = literalExample ''
|
example = literalExample ''
|
||||||
{ echelon = { # SSID with no spaces or special characters
|
{ echelon = { # SSID with no spaces or special characters
|
||||||
psk = "abcdefgh";
|
psk = "abcdefgh"; # (password will be written to /nix/store!)
|
||||||
};
|
};
|
||||||
|
|
||||||
|
echelon = { # safe version of the above: read PSK from the
|
||||||
|
psk = "@PSK_ECHELON@"; # variable PSK_ECHELON, defined in environmentFile,
|
||||||
|
}; # this won't leak into /nix/store
|
||||||
|
|
||||||
"echelon's AP" = { # SSID with spaces and/or special characters
|
"echelon's AP" = { # SSID with spaces and/or special characters
|
||||||
psk = "ijklmnop";
|
psk = "ijklmnop"; # (password will be written to /nix/store!)
|
||||||
};
|
};
|
||||||
|
|
||||||
"free.wifi" = {}; # Public wireless network
|
"free.wifi" = {}; # Public wireless network
|
||||||
}
|
}
|
||||||
'';
|
'';
|
||||||
|
|
115
third_party/nixpkgs/nixos/modules/services/web-apps/dex.nix
vendored
Normal file
115
third_party/nixpkgs/nixos/modules/services/web-apps/dex.nix
vendored
Normal file
|
@ -0,0 +1,115 @@
|
||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
with lib;
|
||||||
|
|
||||||
|
let
|
||||||
|
cfg = config.services.dex;
|
||||||
|
fixClient = client: if client ? secretFile then ((builtins.removeAttrs client [ "secretFile" ]) // { secret = client.secretFile; }) else client;
|
||||||
|
filteredSettings = mapAttrs (n: v: if n == "staticClients" then (builtins.map fixClient v) else v) cfg.settings;
|
||||||
|
secretFiles = flatten (builtins.map (c: if c ? secretFile then [ c.secretFile ] else []) (cfg.settings.staticClients or []));
|
||||||
|
|
||||||
|
settingsFormat = pkgs.formats.yaml {};
|
||||||
|
configFile = settingsFormat.generate "config.yaml" filteredSettings;
|
||||||
|
|
||||||
|
startPreScript = pkgs.writeShellScript "dex-start-pre" (''
|
||||||
|
'' + (concatStringsSep "\n" (builtins.map (file: ''
|
||||||
|
${pkgs.replace-secret}/bin/replace-secret '${file}' '${file}' /run/dex/config.yaml
|
||||||
|
'') secretFiles)));
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options.services.dex = {
|
||||||
|
enable = mkEnableOption "the OpenID Connect and OAuth2 identity provider";
|
||||||
|
|
||||||
|
settings = mkOption {
|
||||||
|
type = settingsFormat.type;
|
||||||
|
default = {};
|
||||||
|
example = literalExample ''
|
||||||
|
{
|
||||||
|
# External url
|
||||||
|
issuer = "http://127.0.0.1:5556/dex";
|
||||||
|
storage = {
|
||||||
|
type = "postgres";
|
||||||
|
config.host = "/var/run/postgres";
|
||||||
|
};
|
||||||
|
web = {
|
||||||
|
http = "127.0.0.1:5556";
|
||||||
|
};
|
||||||
|
enablePasswordDB = true;
|
||||||
|
staticClients = [
|
||||||
|
{
|
||||||
|
id = "oidcclient";
|
||||||
|
name = "Client";
|
||||||
|
redirectURIs = [ "https://example.com/callback" ];
|
||||||
|
secretFile = "/etc/dex/oidcclient"; # The content of `secretFile` will be written into to the config as `secret`.
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
description = ''
|
||||||
|
The available options can be found in
|
||||||
|
<link xlink:href="https://github.com/dexidp/dex/blob/v${pkgs.dex.version}/config.yaml.dist">the example configuration</link>.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
systemd.services.dex = {
|
||||||
|
description = "dex identity provider";
|
||||||
|
wantedBy = [ "multi-user.target" ];
|
||||||
|
after = [ "networking.target" ] ++ (optional (cfg.settings.storage.type == "postgres") "postgresql.service");
|
||||||
|
|
||||||
|
serviceConfig = {
|
||||||
|
ExecStart = "${pkgs.dex-oidc}/bin/dex serve /run/dex/config.yaml";
|
||||||
|
ExecStartPre = [
|
||||||
|
"${pkgs.coreutils}/bin/install -m 600 ${configFile} /run/dex/config.yaml"
|
||||||
|
"+${startPreScript}"
|
||||||
|
];
|
||||||
|
RuntimeDirectory = "dex";
|
||||||
|
|
||||||
|
AmbientCapabilities = "CAP_NET_BIND_SERVICE";
|
||||||
|
BindReadOnlyPaths = [
|
||||||
|
"/nix/store"
|
||||||
|
"-/etc/resolv.conf"
|
||||||
|
"-/etc/nsswitch.conf"
|
||||||
|
"-/etc/hosts"
|
||||||
|
"-/etc/localtime"
|
||||||
|
"-/etc/dex"
|
||||||
|
];
|
||||||
|
BindPaths = optional (cfg.settings.storage.type == "postgres") "/var/run/postgresql";
|
||||||
|
CapabilityBoundingSet = "CAP_NET_BIND_SERVICE";
|
||||||
|
# ProtectClock= adds DeviceAllow=char-rtc r
|
||||||
|
DeviceAllow = "";
|
||||||
|
DynamicUser = true;
|
||||||
|
LockPersonality = true;
|
||||||
|
MemoryDenyWriteExecute = true;
|
||||||
|
NoNewPrivileges = true;
|
||||||
|
PrivateDevices = true;
|
||||||
|
PrivateMounts = true;
|
||||||
|
# Port needs to be exposed to the host network
|
||||||
|
#PrivateNetwork = true;
|
||||||
|
PrivateTmp = true;
|
||||||
|
PrivateUsers = true;
|
||||||
|
ProcSubset = "pid";
|
||||||
|
ProtectClock = true;
|
||||||
|
ProtectHome = true;
|
||||||
|
ProtectHostname = true;
|
||||||
|
# Would re-mount paths ignored by temporary root
|
||||||
|
#ProtectSystem = "strict";
|
||||||
|
ProtectControlGroups = true;
|
||||||
|
ProtectKernelLogs = true;
|
||||||
|
ProtectKernelModules = true;
|
||||||
|
ProtectKernelTunables = true;
|
||||||
|
ProtectProc = "invisible";
|
||||||
|
RestrictAddressFamilies = [ "AF_INET" "AF_INET6" "AF_UNIX" ];
|
||||||
|
RestrictNamespaces = true;
|
||||||
|
RestrictRealtime = true;
|
||||||
|
RestrictSUIDSGID = true;
|
||||||
|
SystemCallArchitectures = "native";
|
||||||
|
SystemCallFilter = [ "@system-service" "~@privileged @resources @setuid @keyring" ];
|
||||||
|
TemporaryFileSystem = "/:ro";
|
||||||
|
# Does not work well with the temporary root
|
||||||
|
#UMask = "0066";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
88
third_party/nixpkgs/nixos/modules/services/web-apps/pict-rs.md
vendored
Normal file
88
third_party/nixpkgs/nixos/modules/services/web-apps/pict-rs.md
vendored
Normal file
|
@ -0,0 +1,88 @@
|
||||||
|
# Pict-rs {#module-services-pict-rs}
|
||||||
|
|
||||||
|
pict-rs is a a simple image hosting service.
|
||||||
|
|
||||||
|
## Quickstart {#module-services-pict-rs-quickstart}
|
||||||
|
|
||||||
|
the minimum to start pict-rs is
|
||||||
|
|
||||||
|
```nix
|
||||||
|
services.pict-rs.enable = true;
|
||||||
|
```
|
||||||
|
|
||||||
|
this will start the http server on port 8080 by default.
|
||||||
|
|
||||||
|
## Usage {#module-services-pict-rs-usage}
|
||||||
|
|
||||||
|
pict-rs offers the following endpoints:
|
||||||
|
- `POST /image` for uploading an image. Uploaded content must be valid multipart/form-data with an
|
||||||
|
image array located within the `images[]` key
|
||||||
|
|
||||||
|
This endpoint returns the following JSON structure on success with a 201 Created status
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"files": [
|
||||||
|
{
|
||||||
|
"delete_token": "JFvFhqJA98",
|
||||||
|
"file": "lkWZDRvugm.jpg"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"delete_token": "kAYy9nk2WK",
|
||||||
|
"file": "8qFS0QooAn.jpg"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"delete_token": "OxRpM3sf0Y",
|
||||||
|
"file": "1hJaYfGE01.jpg"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"msg": "ok"
|
||||||
|
}
|
||||||
|
```
|
||||||
|
- `GET /image/download?url=...` Download an image from a remote server, returning the same JSON
|
||||||
|
payload as the `POST` endpoint
|
||||||
|
- `GET /image/original/{file}` for getting a full-resolution image. `file` here is the `file` key from the
|
||||||
|
`/image` endpoint's JSON
|
||||||
|
- `GET /image/details/original/{file}` for getting the details of a full-resolution image.
|
||||||
|
The returned JSON is structured like so:
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"width": 800,
|
||||||
|
"height": 537,
|
||||||
|
"content_type": "image/webp",
|
||||||
|
"created_at": [
|
||||||
|
2020,
|
||||||
|
345,
|
||||||
|
67376,
|
||||||
|
394363487
|
||||||
|
]
|
||||||
|
}
|
||||||
|
```
|
||||||
|
- `GET /image/process.{ext}?src={file}&...` get a file with transformations applied.
|
||||||
|
existing transformations include
|
||||||
|
- `identity=true`: apply no changes
|
||||||
|
- `blur={float}`: apply a gaussian blur to the file
|
||||||
|
- `thumbnail={int}`: produce a thumbnail of the image fitting inside an `{int}` by `{int}`
|
||||||
|
square using raw pixel sampling
|
||||||
|
- `resize={int}`: produce a thumbnail of the image fitting inside an `{int}` by `{int}` square
|
||||||
|
using a Lanczos2 filter. This is slower than sampling but looks a bit better in some cases
|
||||||
|
- `crop={int-w}x{int-h}`: produce a cropped version of the image with an `{int-w}` by `{int-h}`
|
||||||
|
aspect ratio. The resulting crop will be centered on the image. Either the width or height
|
||||||
|
of the image will remain full-size, depending on the image's aspect ratio and the requested
|
||||||
|
aspect ratio. For example, a 1600x900 image cropped with a 1x1 aspect ratio will become 900x900. A
|
||||||
|
1600x1100 image cropped with a 16x9 aspect ratio will become 1600x900.
|
||||||
|
|
||||||
|
Supported `ext` file extensions include `png`, `jpg`, and `webp`
|
||||||
|
|
||||||
|
An example of usage could be
|
||||||
|
```
|
||||||
|
GET /image/process.jpg?src=asdf.png&thumbnail=256&blur=3.0
|
||||||
|
```
|
||||||
|
which would create a 256x256px JPEG thumbnail and blur it
|
||||||
|
- `GET /image/details/process.{ext}?src={file}&...` for getting the details of a processed image.
|
||||||
|
The returned JSON is the same format as listed for the full-resolution details endpoint.
|
||||||
|
- `DELETE /image/delete/{delete_token}/{file}` or `GET /image/delete/{delete_token}/{file}` to
|
||||||
|
delete a file, where `delete_token` and `file` are from the `/image` endpoint's JSON
|
||||||
|
|
||||||
|
## Missing {#module-services-pict-rs-missing}
|
||||||
|
|
||||||
|
- Configuring the secure-api-key is not included yet. The envisioned basic use case is consumption on localhost by other services without exposing the service to the internet.
|
50
third_party/nixpkgs/nixos/modules/services/web-apps/pict-rs.nix
vendored
Normal file
50
third_party/nixpkgs/nixos/modules/services/web-apps/pict-rs.nix
vendored
Normal file
|
@ -0,0 +1,50 @@
|
||||||
|
{ lib, pkgs, config, ... }:
|
||||||
|
with lib;
|
||||||
|
let
|
||||||
|
cfg = config.services.pict-rs;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
meta.maintainers = with maintainers; [ happysalada ];
|
||||||
|
# Don't edit the docbook xml directly, edit the md and generate it:
|
||||||
|
# `pandoc pict-rs.md -t docbook --top-level-division=chapter --extract-media=media -f markdown+smart > pict-rs.xml`
|
||||||
|
meta.doc = ./pict-rs.xml;
|
||||||
|
|
||||||
|
options.services.pict-rs = {
|
||||||
|
enable = mkEnableOption "pict-rs server";
|
||||||
|
dataDir = mkOption {
|
||||||
|
type = types.path;
|
||||||
|
default = "/var/lib/pict-rs";
|
||||||
|
description = ''
|
||||||
|
The directory where to store the uploaded images.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
address = mkOption {
|
||||||
|
type = types.str;
|
||||||
|
default = "127.0.0.1";
|
||||||
|
description = ''
|
||||||
|
The IPv4 address to deploy the service to.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
port = mkOption {
|
||||||
|
type = types.port;
|
||||||
|
default = 8080;
|
||||||
|
description = ''
|
||||||
|
The port which to bind the service to.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
systemd.services.pict-rs = {
|
||||||
|
environment = {
|
||||||
|
PICTRS_PATH = cfg.dataDir;
|
||||||
|
PICTRS_ADDR = "${cfg.address}:${toString cfg.port}";
|
||||||
|
};
|
||||||
|
wantedBy = [ "multi-user.target" ];
|
||||||
|
serviceConfig = {
|
||||||
|
DynamicUser = true;
|
||||||
|
StateDirectory = "pict-rs";
|
||||||
|
ExecStart = "${pkgs.pict-rs}/bin/pict-rs";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
162
third_party/nixpkgs/nixos/modules/services/web-apps/pict-rs.xml
vendored
Normal file
162
third_party/nixpkgs/nixos/modules/services/web-apps/pict-rs.xml
vendored
Normal file
|
@ -0,0 +1,162 @@
|
||||||
|
<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="module-services-pict-rs">
|
||||||
|
<title>Pict-rs</title>
|
||||||
|
<para>
|
||||||
|
pict-rs is a a simple image hosting service.
|
||||||
|
</para>
|
||||||
|
<section xml:id="module-services-pict-rs-quickstart">
|
||||||
|
<title>Quickstart</title>
|
||||||
|
<para>
|
||||||
|
the minimum to start pict-rs is
|
||||||
|
</para>
|
||||||
|
<programlisting language="bash">
|
||||||
|
services.pict-rs.enable = true;
|
||||||
|
</programlisting>
|
||||||
|
<para>
|
||||||
|
this will start the http server on port 8080 by default.
|
||||||
|
</para>
|
||||||
|
</section>
|
||||||
|
<section xml:id="module-services-pict-rs-usage">
|
||||||
|
<title>Usage</title>
|
||||||
|
<para>
|
||||||
|
pict-rs offers the following endpoints: -
|
||||||
|
<literal>POST /image</literal> for uploading an image. Uploaded
|
||||||
|
content must be valid multipart/form-data with an image array
|
||||||
|
located within the <literal>images[]</literal> key
|
||||||
|
</para>
|
||||||
|
<programlisting>
|
||||||
|
This endpoint returns the following JSON structure on success with a 201 Created status
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"files": [
|
||||||
|
{
|
||||||
|
"delete_token": "JFvFhqJA98",
|
||||||
|
"file": "lkWZDRvugm.jpg"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"delete_token": "kAYy9nk2WK",
|
||||||
|
"file": "8qFS0QooAn.jpg"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"delete_token": "OxRpM3sf0Y",
|
||||||
|
"file": "1hJaYfGE01.jpg"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"msg": "ok"
|
||||||
|
}
|
||||||
|
```
|
||||||
|
</programlisting>
|
||||||
|
<itemizedlist>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
<literal>GET /image/download?url=...</literal> Download an
|
||||||
|
image from a remote server, returning the same JSON payload as
|
||||||
|
the <literal>POST</literal> endpoint
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
<literal>GET /image/original/{file}</literal> for getting a
|
||||||
|
full-resolution image. <literal>file</literal> here is the
|
||||||
|
<literal>file</literal> key from the <literal>/image</literal>
|
||||||
|
endpoint’s JSON
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
<literal>GET /image/details/original/{file}</literal> for
|
||||||
|
getting the details of a full-resolution image. The returned
|
||||||
|
JSON is structured like so:
|
||||||
|
<literal>json { "width": 800, "height": 537, "content_type": "image/webp", "created_at": [ 2020, 345, 67376, 394363487 ] }</literal>
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
<literal>GET /image/process.{ext}?src={file}&...</literal>
|
||||||
|
get a file with transformations applied. existing
|
||||||
|
transformations include
|
||||||
|
</para>
|
||||||
|
<itemizedlist spacing="compact">
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
<literal>identity=true</literal>: apply no changes
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
<literal>blur={float}</literal>: apply a gaussian blur to
|
||||||
|
the file
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
<literal>thumbnail={int}</literal>: produce a thumbnail of
|
||||||
|
the image fitting inside an <literal>{int}</literal> by
|
||||||
|
<literal>{int}</literal> square using raw pixel sampling
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
<literal>resize={int}</literal>: produce a thumbnail of
|
||||||
|
the image fitting inside an <literal>{int}</literal> by
|
||||||
|
<literal>{int}</literal> square using a Lanczos2 filter.
|
||||||
|
This is slower than sampling but looks a bit better in
|
||||||
|
some cases
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
<literal>crop={int-w}x{int-h}</literal>: produce a cropped
|
||||||
|
version of the image with an <literal>{int-w}</literal> by
|
||||||
|
<literal>{int-h}</literal> aspect ratio. The resulting
|
||||||
|
crop will be centered on the image. Either the width or
|
||||||
|
height of the image will remain full-size, depending on
|
||||||
|
the image’s aspect ratio and the requested aspect ratio.
|
||||||
|
For example, a 1600x900 image cropped with a 1x1 aspect
|
||||||
|
ratio will become 900x900. A 1600x1100 image cropped with
|
||||||
|
a 16x9 aspect ratio will become 1600x900.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
</itemizedlist>
|
||||||
|
<para>
|
||||||
|
Supported <literal>ext</literal> file extensions include
|
||||||
|
<literal>png</literal>, <literal>jpg</literal>, and
|
||||||
|
<literal>webp</literal>
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
An example of usage could be
|
||||||
|
<literal>GET /image/process.jpg?src=asdf.png&thumbnail=256&blur=3.0</literal>
|
||||||
|
which would create a 256x256px JPEG thumbnail and blur it
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
<literal>GET /image/details/process.{ext}?src={file}&...</literal>
|
||||||
|
for getting the details of a processed image. The returned
|
||||||
|
JSON is the same format as listed for the full-resolution
|
||||||
|
details endpoint.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
<literal>DELETE /image/delete/{delete_token}/{file}</literal>
|
||||||
|
or <literal>GET /image/delete/{delete_token}/{file}</literal>
|
||||||
|
to delete a file, where <literal>delete_token</literal> and
|
||||||
|
<literal>file</literal> are from the <literal>/image</literal>
|
||||||
|
endpoint’s JSON
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
</itemizedlist>
|
||||||
|
</section>
|
||||||
|
<section xml:id="module-services-pict-rs-missing">
|
||||||
|
<title>Missing</title>
|
||||||
|
<itemizedlist spacing="compact">
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Configuring the secure-api-key is not included yet. The
|
||||||
|
envisioned basic use case is consumption on localhost by other
|
||||||
|
services without exposing the service to the internet.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
</itemizedlist>
|
||||||
|
</section>
|
||||||
|
</chapter>
|
|
@ -264,6 +264,7 @@ in
|
||||||
kwallet-pam
|
kwallet-pam
|
||||||
kwalletmanager
|
kwalletmanager
|
||||||
kwayland
|
kwayland
|
||||||
|
kwayland-integration
|
||||||
kwidgetsaddons
|
kwidgetsaddons
|
||||||
kxmlgui
|
kxmlgui
|
||||||
kxmlrpcclient
|
kxmlrpcclient
|
||||||
|
|
|
@ -1139,10 +1139,12 @@ in
|
||||||
source = "${pkgs.iputils.out}/bin/ping";
|
source = "${pkgs.iputils.out}/bin/ping";
|
||||||
};
|
};
|
||||||
} else {
|
} else {
|
||||||
setuid = true;
|
ping = {
|
||||||
owner = "root";
|
setuid = true;
|
||||||
group = "root";
|
owner = "root";
|
||||||
source = "${pkgs.iputils.out}/bin/ping";
|
group = "root";
|
||||||
|
source = "${pkgs.iputils.out}/bin/ping";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
security.apparmor.policies."bin.ping".profile = lib.mkIf config.security.apparmor.policies."bin.ping".enable (lib.mkAfter ''
|
security.apparmor.policies."bin.ping".profile = lib.mkIf config.security.apparmor.policies."bin.ping".enable (lib.mkAfter ''
|
||||||
/run/wrappers/bin/ping {
|
/run/wrappers/bin/ping {
|
||||||
|
|
|
@ -4,7 +4,10 @@
|
||||||
{ options, config, lib, pkgs, ... }:
|
{ options, config, lib, pkgs, ... }:
|
||||||
|
|
||||||
with lib;
|
with lib;
|
||||||
with import ../../lib/qemu-flags.nix { inherit pkgs; };
|
|
||||||
|
let
|
||||||
|
qemu-common = import ../../lib/qemu-common.nix { inherit lib pkgs; };
|
||||||
|
in
|
||||||
|
|
||||||
{
|
{
|
||||||
|
|
||||||
|
@ -12,8 +15,8 @@ with import ../../lib/qemu-flags.nix { inherit pkgs; };
|
||||||
|
|
||||||
systemd.services.backdoor =
|
systemd.services.backdoor =
|
||||||
{ wantedBy = [ "multi-user.target" ];
|
{ wantedBy = [ "multi-user.target" ];
|
||||||
requires = [ "dev-hvc0.device" "dev-${qemuSerialDevice}.device" ];
|
requires = [ "dev-hvc0.device" "dev-${qemu-common.qemuSerialDevice}.device" ];
|
||||||
after = [ "dev-hvc0.device" "dev-${qemuSerialDevice}.device" ];
|
after = [ "dev-hvc0.device" "dev-${qemu-common.qemuSerialDevice}.device" ];
|
||||||
script =
|
script =
|
||||||
''
|
''
|
||||||
export USER=root
|
export USER=root
|
||||||
|
@ -30,7 +33,7 @@ with import ../../lib/qemu-flags.nix { inherit pkgs; };
|
||||||
|
|
||||||
cd /tmp
|
cd /tmp
|
||||||
exec < /dev/hvc0 > /dev/hvc0
|
exec < /dev/hvc0 > /dev/hvc0
|
||||||
while ! exec 2> /dev/${qemuSerialDevice}; do sleep 0.1; done
|
while ! exec 2> /dev/${qemu-common.qemuSerialDevice}; do sleep 0.1; done
|
||||||
echo "connecting to host..." >&2
|
echo "connecting to host..." >&2
|
||||||
stty -F /dev/hvc0 raw -echo # prevent nl -> cr/nl conversion
|
stty -F /dev/hvc0 raw -echo # prevent nl -> cr/nl conversion
|
||||||
echo
|
echo
|
||||||
|
@ -42,7 +45,7 @@ with import ../../lib/qemu-flags.nix { inherit pkgs; };
|
||||||
# Prevent agetty from being instantiated on the serial device, since it
|
# Prevent agetty from being instantiated on the serial device, since it
|
||||||
# interferes with the backdoor (writes to it will randomly fail
|
# interferes with the backdoor (writes to it will randomly fail
|
||||||
# with EIO). Likewise for hvc0.
|
# with EIO). Likewise for hvc0.
|
||||||
systemd.services."serial-getty@${qemuSerialDevice}".enable = false;
|
systemd.services."serial-getty@${qemu-common.qemuSerialDevice}".enable = false;
|
||||||
systemd.services."serial-getty@hvc0".enable = false;
|
systemd.services."serial-getty@hvc0".enable = false;
|
||||||
|
|
||||||
# Only set these settings when the options exist. Some tests (e.g. those
|
# Only set these settings when the options exist. Some tests (e.g. those
|
||||||
|
@ -57,7 +60,7 @@ with import ../../lib/qemu-flags.nix { inherit pkgs; };
|
||||||
# we avoid defining consoles if not possible.
|
# we avoid defining consoles if not possible.
|
||||||
# TODO: refactor such that test-instrumentation can import qemu-vm
|
# TODO: refactor such that test-instrumentation can import qemu-vm
|
||||||
# or declare virtualisation.qemu.console option in a module that's always imported
|
# or declare virtualisation.qemu.console option in a module that's always imported
|
||||||
consoles = [ qemuSerialDevice ];
|
consoles = [ qemu-common.qemuSerialDevice ];
|
||||||
package = lib.mkDefault pkgs.qemu_test;
|
package = lib.mkDefault pkgs.qemu_test;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -88,7 +91,7 @@ with import ../../lib/qemu-flags.nix { inherit pkgs; };
|
||||||
# Panic if an error occurs in stage 1 (rather than waiting for
|
# Panic if an error occurs in stage 1 (rather than waiting for
|
||||||
# user intervention).
|
# user intervention).
|
||||||
boot.kernelParams =
|
boot.kernelParams =
|
||||||
[ "console=${qemuSerialDevice}" "panic=1" "boot.panic_on_fail" ];
|
[ "console=${qemu-common.qemuSerialDevice}" "panic=1" "boot.panic_on_fail" ];
|
||||||
|
|
||||||
# `xwininfo' is used by the test driver to query open windows.
|
# `xwininfo' is used by the test driver to query open windows.
|
||||||
environment.systemPackages = [ pkgs.xorg.xwininfo ];
|
environment.systemPackages = [ pkgs.xorg.xwininfo ];
|
||||||
|
|
|
@ -10,10 +10,10 @@
|
||||||
{ config, lib, pkgs, options, ... }:
|
{ config, lib, pkgs, options, ... }:
|
||||||
|
|
||||||
with lib;
|
with lib;
|
||||||
with import ../../lib/qemu-flags.nix { inherit pkgs; };
|
|
||||||
|
|
||||||
let
|
let
|
||||||
|
|
||||||
|
qemu-common = import ../../lib/qemu-common.nix { inherit lib pkgs; };
|
||||||
|
|
||||||
cfg = config.virtualisation;
|
cfg = config.virtualisation;
|
||||||
|
|
||||||
|
@ -75,7 +75,7 @@ let
|
||||||
in
|
in
|
||||||
"-drive ${driveOpts} ${device}";
|
"-drive ${driveOpts} ${device}";
|
||||||
|
|
||||||
drivesCmdLine = drives: concatStringsSep " " (imap1 driveCmdline drives);
|
drivesCmdLine = drives: concatStringsSep "\\\n " (imap1 driveCmdline drives);
|
||||||
|
|
||||||
|
|
||||||
# Creates a device name from a 1-based a numerical index, e.g.
|
# Creates a device name from a 1-based a numerical index, e.g.
|
||||||
|
@ -108,39 +108,44 @@ let
|
||||||
''
|
''
|
||||||
#! ${pkgs.runtimeShell}
|
#! ${pkgs.runtimeShell}
|
||||||
|
|
||||||
NIX_DISK_IMAGE=$(readlink -f ''${NIX_DISK_IMAGE:-${config.virtualisation.diskImage}})
|
set -e
|
||||||
|
|
||||||
|
NIX_DISK_IMAGE=$(readlink -f "''${NIX_DISK_IMAGE:-${config.virtualisation.diskImage}}")
|
||||||
|
|
||||||
if ! test -e "$NIX_DISK_IMAGE"; then
|
if ! test -e "$NIX_DISK_IMAGE"; then
|
||||||
${qemu}/bin/qemu-img create -f qcow2 "$NIX_DISK_IMAGE" \
|
${qemu}/bin/qemu-img create -f qcow2 "$NIX_DISK_IMAGE" \
|
||||||
${toString config.virtualisation.diskSize}M || exit 1
|
${toString config.virtualisation.diskSize}M
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Create a directory for storing temporary data of the running VM.
|
# Create a directory for storing temporary data of the running VM.
|
||||||
if [ -z "$TMPDIR" -o -z "$USE_TMPDIR" ]; then
|
if [ -z "$TMPDIR" ] || [ -z "$USE_TMPDIR" ]; then
|
||||||
TMPDIR=$(mktemp -d nix-vm.XXXXXXXXXX --tmpdir)
|
TMPDIR=$(mktemp -d nix-vm.XXXXXXXXXX --tmpdir)
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Create a directory for exchanging data with the VM.
|
# Create a directory for exchanging data with the VM.
|
||||||
mkdir -p $TMPDIR/xchg
|
mkdir -p "$TMPDIR/xchg"
|
||||||
|
|
||||||
${if cfg.useBootLoader then ''
|
${lib.optionalString cfg.useBootLoader
|
||||||
|
''
|
||||||
# Create a writable copy/snapshot of the boot disk.
|
# Create a writable copy/snapshot of the boot disk.
|
||||||
# A writable boot disk can be booted from automatically.
|
# A writable boot disk can be booted from automatically.
|
||||||
${qemu}/bin/qemu-img create -f qcow2 -b ${bootDisk}/disk.img $TMPDIR/disk.img || exit 1
|
${qemu}/bin/qemu-img create -f qcow2 -F qcow2 -b ${bootDisk}/disk.img "$TMPDIR/disk.img"
|
||||||
|
|
||||||
NIX_EFI_VARS=$(readlink -f ''${NIX_EFI_VARS:-${cfg.efiVars}})
|
NIX_EFI_VARS=$(readlink -f "''${NIX_EFI_VARS:-${cfg.efiVars}}")
|
||||||
|
|
||||||
${if cfg.useEFIBoot then ''
|
${lib.optionalString cfg.useEFIBoot
|
||||||
|
''
|
||||||
# VM needs writable EFI vars
|
# VM needs writable EFI vars
|
||||||
if ! test -e "$NIX_EFI_VARS"; then
|
if ! test -e "$NIX_EFI_VARS"; then
|
||||||
cp ${bootDisk}/efi-vars.fd "$NIX_EFI_VARS" || exit 1
|
cp ${bootDisk}/efi-vars.fd "$NIX_EFI_VARS"
|
||||||
chmod 0644 "$NIX_EFI_VARS" || exit 1
|
chmod 0644 "$NIX_EFI_VARS"
|
||||||
fi
|
fi
|
||||||
'' else ""}
|
''}
|
||||||
'' else ""}
|
''}
|
||||||
|
|
||||||
cd $TMPDIR
|
cd "$TMPDIR"
|
||||||
idx=0
|
|
||||||
|
${lib.optionalString (cfg.emptyDiskImages != []) "idx=0"}
|
||||||
${flip concatMapStrings cfg.emptyDiskImages (size: ''
|
${flip concatMapStrings cfg.emptyDiskImages (size: ''
|
||||||
if ! test -e "empty$idx.qcow2"; then
|
if ! test -e "empty$idx.qcow2"; then
|
||||||
${qemu}/bin/qemu-img create -f qcow2 "empty$idx.qcow2" "${toString size}M"
|
${qemu}/bin/qemu-img create -f qcow2 "empty$idx.qcow2" "${toString size}M"
|
||||||
|
@ -149,17 +154,18 @@ let
|
||||||
'')}
|
'')}
|
||||||
|
|
||||||
# Start QEMU.
|
# Start QEMU.
|
||||||
exec ${qemuBinary qemu} \
|
exec ${qemu-common.qemuBinary qemu} \
|
||||||
-name ${config.system.name} \
|
-name ${config.system.name} \
|
||||||
-m ${toString config.virtualisation.memorySize} \
|
-m ${toString config.virtualisation.memorySize} \
|
||||||
-smp ${toString config.virtualisation.cores} \
|
-smp ${toString config.virtualisation.cores} \
|
||||||
-device virtio-rng-pci \
|
-device virtio-rng-pci \
|
||||||
${concatStringsSep " " config.virtualisation.qemu.networkingOptions} \
|
${concatStringsSep " " config.virtualisation.qemu.networkingOptions} \
|
||||||
-virtfs local,path=/nix/store,security_model=none,mount_tag=store \
|
${concatStringsSep " \\\n "
|
||||||
-virtfs local,path=$TMPDIR/xchg,security_model=none,mount_tag=xchg \
|
(mapAttrsToList
|
||||||
-virtfs local,path=''${SHARED_DIR:-$TMPDIR/xchg},security_model=none,mount_tag=shared \
|
(tag: share: "-virtfs local,path=${share.source},security_model=none,mount_tag=${tag}")
|
||||||
|
config.virtualisation.sharedDirectories)} \
|
||||||
${drivesCmdLine config.virtualisation.qemu.drives} \
|
${drivesCmdLine config.virtualisation.qemu.drives} \
|
||||||
${toString config.virtualisation.qemu.options} \
|
${concatStringsSep " \\\n " config.virtualisation.qemu.options} \
|
||||||
$QEMU_OPTS \
|
$QEMU_OPTS \
|
||||||
"$@"
|
"$@"
|
||||||
'';
|
'';
|
||||||
|
@ -270,20 +276,21 @@ in
|
||||||
|
|
||||||
virtualisation.memorySize =
|
virtualisation.memorySize =
|
||||||
mkOption {
|
mkOption {
|
||||||
|
type = types.ints.positive;
|
||||||
default = 384;
|
default = 384;
|
||||||
description =
|
description =
|
||||||
''
|
''
|
||||||
Memory size (M) of virtual machine.
|
The memory size in megabytes of the virtual machine.
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
virtualisation.msize =
|
virtualisation.msize =
|
||||||
mkOption {
|
mkOption {
|
||||||
default = null;
|
type = types.ints.positive;
|
||||||
type = types.nullOr types.ints.unsigned;
|
default = 16384;
|
||||||
description =
|
description =
|
||||||
''
|
''
|
||||||
msize (maximum packet size) option passed to 9p file systems, in
|
The msize (maximum packet size) option passed to 9p file systems, in
|
||||||
bytes. Increasing this should increase performance significantly,
|
bytes. Increasing this should increase performance significantly,
|
||||||
at the cost of higher RAM usage.
|
at the cost of higher RAM usage.
|
||||||
'';
|
'';
|
||||||
|
@ -291,15 +298,17 @@ in
|
||||||
|
|
||||||
virtualisation.diskSize =
|
virtualisation.diskSize =
|
||||||
mkOption {
|
mkOption {
|
||||||
|
type = types.nullOr types.ints.positive;
|
||||||
default = 512;
|
default = 512;
|
||||||
description =
|
description =
|
||||||
''
|
''
|
||||||
Disk size (M) of virtual machine.
|
The disk size in megabytes of the virtual machine.
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
virtualisation.diskImage =
|
virtualisation.diskImage =
|
||||||
mkOption {
|
mkOption {
|
||||||
|
type = types.str;
|
||||||
default = "./${config.system.name}.qcow2";
|
default = "./${config.system.name}.qcow2";
|
||||||
description =
|
description =
|
||||||
''
|
''
|
||||||
|
@ -311,7 +320,7 @@ in
|
||||||
|
|
||||||
virtualisation.bootDevice =
|
virtualisation.bootDevice =
|
||||||
mkOption {
|
mkOption {
|
||||||
type = types.str;
|
type = types.path;
|
||||||
example = "/dev/vda";
|
example = "/dev/vda";
|
||||||
description =
|
description =
|
||||||
''
|
''
|
||||||
|
@ -321,8 +330,8 @@ in
|
||||||
|
|
||||||
virtualisation.emptyDiskImages =
|
virtualisation.emptyDiskImages =
|
||||||
mkOption {
|
mkOption {
|
||||||
|
type = types.listOf types.ints.positive;
|
||||||
default = [];
|
default = [];
|
||||||
type = types.listOf types.int;
|
|
||||||
description =
|
description =
|
||||||
''
|
''
|
||||||
Additional disk images to provide to the VM. The value is
|
Additional disk images to provide to the VM. The value is
|
||||||
|
@ -333,6 +342,7 @@ in
|
||||||
|
|
||||||
virtualisation.graphics =
|
virtualisation.graphics =
|
||||||
mkOption {
|
mkOption {
|
||||||
|
type = types.bool;
|
||||||
default = true;
|
default = true;
|
||||||
description =
|
description =
|
||||||
''
|
''
|
||||||
|
@ -342,10 +352,20 @@ in
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
virtualisation.resolution =
|
||||||
|
mkOption {
|
||||||
|
type = options.services.xserver.resolutions.type.nestedTypes.elemType;
|
||||||
|
default = { x = 1024; y = 768; };
|
||||||
|
description =
|
||||||
|
''
|
||||||
|
The resolution of the virtual machine display.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
virtualisation.cores =
|
virtualisation.cores =
|
||||||
mkOption {
|
mkOption {
|
||||||
|
type = types.ints.positive;
|
||||||
default = 1;
|
default = 1;
|
||||||
type = types.int;
|
|
||||||
description =
|
description =
|
||||||
''
|
''
|
||||||
Specify the number of cores the guest is permitted to use.
|
Specify the number of cores the guest is permitted to use.
|
||||||
|
@ -354,8 +374,34 @@ in
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
virtualisation.sharedDirectories =
|
||||||
|
mkOption {
|
||||||
|
type = types.attrsOf
|
||||||
|
(types.submodule {
|
||||||
|
options.source = mkOption {
|
||||||
|
type = types.str;
|
||||||
|
description = "The path of the directory to share, can be a shell variable";
|
||||||
|
};
|
||||||
|
options.target = mkOption {
|
||||||
|
type = types.path;
|
||||||
|
description = "The mount point of the directory inside the virtual machine";
|
||||||
|
};
|
||||||
|
});
|
||||||
|
default = { };
|
||||||
|
example = {
|
||||||
|
my-share = { source = "/path/to/be/shared"; target = "/mnt/shared"; };
|
||||||
|
};
|
||||||
|
description =
|
||||||
|
''
|
||||||
|
An attributes set of directories that will be shared with the
|
||||||
|
virtual machine using VirtFS (9P filesystem over VirtIO).
|
||||||
|
The attribute name will be used as the 9P mount tag.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
virtualisation.pathsInNixDB =
|
virtualisation.pathsInNixDB =
|
||||||
mkOption {
|
mkOption {
|
||||||
|
type = types.listOf types.path;
|
||||||
default = [];
|
default = [];
|
||||||
description =
|
description =
|
||||||
''
|
''
|
||||||
|
@ -367,8 +413,78 @@ in
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
virtualisation.forwardPorts = mkOption {
|
||||||
|
type = types.listOf
|
||||||
|
(types.submodule {
|
||||||
|
options.from = mkOption {
|
||||||
|
type = types.enum [ "host" "guest" ];
|
||||||
|
default = "host";
|
||||||
|
description =
|
||||||
|
''
|
||||||
|
Controls the direction in which the ports are mapped:
|
||||||
|
|
||||||
|
- <literal>"host"</literal> means traffic from the host ports
|
||||||
|
is forwarded to the given guest port.
|
||||||
|
|
||||||
|
- <literal>"guest"</literal> means traffic from the guest ports
|
||||||
|
is forwarded to the given host port.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
options.proto = mkOption {
|
||||||
|
type = types.enum [ "tcp" "udp" ];
|
||||||
|
default = "tcp";
|
||||||
|
description = "The protocol to forward.";
|
||||||
|
};
|
||||||
|
options.host.address = mkOption {
|
||||||
|
type = types.str;
|
||||||
|
default = "";
|
||||||
|
description = "The IPv4 address of the host.";
|
||||||
|
};
|
||||||
|
options.host.port = mkOption {
|
||||||
|
type = types.port;
|
||||||
|
description = "The host port to be mapped.";
|
||||||
|
};
|
||||||
|
options.guest.address = mkOption {
|
||||||
|
type = types.str;
|
||||||
|
default = "";
|
||||||
|
description = "The IPv4 address on the guest VLAN.";
|
||||||
|
};
|
||||||
|
options.guest.port = mkOption {
|
||||||
|
type = types.port;
|
||||||
|
description = "The guest port to be mapped.";
|
||||||
|
};
|
||||||
|
});
|
||||||
|
default = [];
|
||||||
|
example = lib.literalExample
|
||||||
|
''
|
||||||
|
[ # forward local port 2222 -> 22, to ssh into the VM
|
||||||
|
{ from = "host"; host.port = 2222; guest.port = 22; }
|
||||||
|
|
||||||
|
# forward local port 80 -> 10.0.2.10:80 in the VLAN
|
||||||
|
{ from = "guest";
|
||||||
|
guest.address = "10.0.2.10"; guest.port = 80;
|
||||||
|
host.address = "127.0.0.1"; host.port = 80;
|
||||||
|
}
|
||||||
|
]
|
||||||
|
'';
|
||||||
|
description =
|
||||||
|
''
|
||||||
|
When using the SLiRP user networking (default), this option allows to
|
||||||
|
forward ports to/from the host/guest.
|
||||||
|
|
||||||
|
<warning><para>
|
||||||
|
If the NixOS firewall on the virtual machine is enabled, you also
|
||||||
|
have to open the guest ports to enable the traffic between host and
|
||||||
|
guest.
|
||||||
|
</para></warning>
|
||||||
|
|
||||||
|
<note><para>Currently QEMU supports only IPv4 forwarding.</para></note>
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
virtualisation.vlans =
|
virtualisation.vlans =
|
||||||
mkOption {
|
mkOption {
|
||||||
|
type = types.listOf types.ints.unsigned;
|
||||||
default = [ 1 ];
|
default = [ 1 ];
|
||||||
example = [ 1 2 ];
|
example = [ 1 2 ];
|
||||||
description =
|
description =
|
||||||
|
@ -386,6 +502,7 @@ in
|
||||||
|
|
||||||
virtualisation.writableStore =
|
virtualisation.writableStore =
|
||||||
mkOption {
|
mkOption {
|
||||||
|
type = types.bool;
|
||||||
default = true; # FIXME
|
default = true; # FIXME
|
||||||
description =
|
description =
|
||||||
''
|
''
|
||||||
|
@ -397,6 +514,7 @@ in
|
||||||
|
|
||||||
virtualisation.writableStoreUseTmpfs =
|
virtualisation.writableStoreUseTmpfs =
|
||||||
mkOption {
|
mkOption {
|
||||||
|
type = types.bool;
|
||||||
default = true;
|
default = true;
|
||||||
description =
|
description =
|
||||||
''
|
''
|
||||||
|
@ -407,6 +525,7 @@ in
|
||||||
|
|
||||||
networking.primaryIPAddress =
|
networking.primaryIPAddress =
|
||||||
mkOption {
|
mkOption {
|
||||||
|
type = types.str;
|
||||||
default = "";
|
default = "";
|
||||||
internal = true;
|
internal = true;
|
||||||
description = "Primary IP address used in /etc/hosts.";
|
description = "Primary IP address used in /etc/hosts.";
|
||||||
|
@ -423,7 +542,7 @@ in
|
||||||
|
|
||||||
options =
|
options =
|
||||||
mkOption {
|
mkOption {
|
||||||
type = types.listOf types.unspecified;
|
type = types.listOf types.str;
|
||||||
default = [];
|
default = [];
|
||||||
example = [ "-vga std" ];
|
example = [ "-vga std" ];
|
||||||
description = "Options passed to QEMU.";
|
description = "Options passed to QEMU.";
|
||||||
|
@ -432,7 +551,7 @@ in
|
||||||
consoles = mkOption {
|
consoles = mkOption {
|
||||||
type = types.listOf types.str;
|
type = types.listOf types.str;
|
||||||
default = let
|
default = let
|
||||||
consoles = [ "${qemuSerialDevice},115200n8" "tty0" ];
|
consoles = [ "${qemu-common.qemuSerialDevice},115200n8" "tty0" ];
|
||||||
in if cfg.graphics then consoles else reverseList consoles;
|
in if cfg.graphics then consoles else reverseList consoles;
|
||||||
example = [ "console=tty1" ];
|
example = [ "console=tty1" ];
|
||||||
description = ''
|
description = ''
|
||||||
|
@ -448,17 +567,18 @@ in
|
||||||
|
|
||||||
networkingOptions =
|
networkingOptions =
|
||||||
mkOption {
|
mkOption {
|
||||||
default = [
|
|
||||||
"-net nic,netdev=user.0,model=virtio"
|
|
||||||
"-netdev user,id=user.0\${QEMU_NET_OPTS:+,$QEMU_NET_OPTS}"
|
|
||||||
];
|
|
||||||
type = types.listOf types.str;
|
type = types.listOf types.str;
|
||||||
|
default = [ ];
|
||||||
|
example = [
|
||||||
|
"-net nic,netdev=user.0,model=virtio"
|
||||||
|
"-netdev user,id=user.0,\${QEMU_NET_OPTS:+,$QEMU_NET_OPTS}"
|
||||||
|
];
|
||||||
description = ''
|
description = ''
|
||||||
Networking-related command-line options that should be passed to qemu.
|
Networking-related command-line options that should be passed to qemu.
|
||||||
The default is to use userspace networking (slirp).
|
The default is to use userspace networking (SLiRP).
|
||||||
|
|
||||||
If you override this option, be advised to keep
|
If you override this option, be advised to keep
|
||||||
''${QEMU_NET_OPTS:+,$QEMU_NET_OPTS} (as seen in the default)
|
''${QEMU_NET_OPTS:+,$QEMU_NET_OPTS} (as seen in the example)
|
||||||
to keep the default runtime behaviour.
|
to keep the default runtime behaviour.
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
@ -472,16 +592,16 @@ in
|
||||||
|
|
||||||
diskInterface =
|
diskInterface =
|
||||||
mkOption {
|
mkOption {
|
||||||
|
type = types.enum [ "virtio" "scsi" "ide" ];
|
||||||
default = "virtio";
|
default = "virtio";
|
||||||
example = "scsi";
|
example = "scsi";
|
||||||
type = types.enum [ "virtio" "scsi" "ide" ];
|
|
||||||
description = "The interface used for the virtual hard disks.";
|
description = "The interface used for the virtual hard disks.";
|
||||||
};
|
};
|
||||||
|
|
||||||
guestAgent.enable =
|
guestAgent.enable =
|
||||||
mkOption {
|
mkOption {
|
||||||
default = true;
|
|
||||||
type = types.bool;
|
type = types.bool;
|
||||||
|
default = true;
|
||||||
description = ''
|
description = ''
|
||||||
Enable the Qemu guest agent.
|
Enable the Qemu guest agent.
|
||||||
'';
|
'';
|
||||||
|
@ -490,6 +610,7 @@ in
|
||||||
|
|
||||||
virtualisation.useBootLoader =
|
virtualisation.useBootLoader =
|
||||||
mkOption {
|
mkOption {
|
||||||
|
type = types.bool;
|
||||||
default = false;
|
default = false;
|
||||||
description =
|
description =
|
||||||
''
|
''
|
||||||
|
@ -504,6 +625,7 @@ in
|
||||||
|
|
||||||
virtualisation.useEFIBoot =
|
virtualisation.useEFIBoot =
|
||||||
mkOption {
|
mkOption {
|
||||||
|
type = types.bool;
|
||||||
default = false;
|
default = false;
|
||||||
description =
|
description =
|
||||||
''
|
''
|
||||||
|
@ -515,6 +637,7 @@ in
|
||||||
|
|
||||||
virtualisation.efiVars =
|
virtualisation.efiVars =
|
||||||
mkOption {
|
mkOption {
|
||||||
|
type = types.str;
|
||||||
default = "./${config.system.name}-efi-vars.fd";
|
default = "./${config.system.name}-efi-vars.fd";
|
||||||
description =
|
description =
|
||||||
''
|
''
|
||||||
|
@ -525,8 +648,8 @@ in
|
||||||
|
|
||||||
virtualisation.bios =
|
virtualisation.bios =
|
||||||
mkOption {
|
mkOption {
|
||||||
default = null;
|
|
||||||
type = types.nullOr types.package;
|
type = types.nullOr types.package;
|
||||||
|
default = null;
|
||||||
description =
|
description =
|
||||||
''
|
''
|
||||||
An alternate BIOS (such as <package>qboot</package>) with which to start the VM.
|
An alternate BIOS (such as <package>qboot</package>) with which to start the VM.
|
||||||
|
@ -539,6 +662,25 @@ in
|
||||||
|
|
||||||
config = {
|
config = {
|
||||||
|
|
||||||
|
assertions =
|
||||||
|
lib.concatLists (lib.flip lib.imap cfg.forwardPorts (i: rule:
|
||||||
|
[
|
||||||
|
{ assertion = rule.from == "guest" -> rule.proto == "tcp";
|
||||||
|
message =
|
||||||
|
''
|
||||||
|
Invalid virtualisation.forwardPorts.<entry ${toString i}>.proto:
|
||||||
|
Guest forwarding supports only TCP connections.
|
||||||
|
'';
|
||||||
|
}
|
||||||
|
{ assertion = rule.from == "guest" -> lib.hasPrefix "10.0.2." rule.guest.address;
|
||||||
|
message =
|
||||||
|
''
|
||||||
|
Invalid virtualisation.forwardPorts.<entry ${toString i}>.guest.address:
|
||||||
|
The address must be in the default VLAN (10.0.2.0/24).
|
||||||
|
'';
|
||||||
|
}
|
||||||
|
]));
|
||||||
|
|
||||||
# Note [Disk layout with `useBootLoader`]
|
# Note [Disk layout with `useBootLoader`]
|
||||||
#
|
#
|
||||||
# If `useBootLoader = true`, we configure 2 drives:
|
# If `useBootLoader = true`, we configure 2 drives:
|
||||||
|
@ -560,6 +702,7 @@ in
|
||||||
then driveDeviceName 2 # second disk
|
then driveDeviceName 2 # second disk
|
||||||
else cfg.bootDevice
|
else cfg.bootDevice
|
||||||
);
|
);
|
||||||
|
boot.loader.grub.gfxmodeBios = with cfg.resolution; "${toString x}x${toString y}";
|
||||||
|
|
||||||
boot.initrd.extraUtilsCommands =
|
boot.initrd.extraUtilsCommands =
|
||||||
''
|
''
|
||||||
|
@ -618,6 +761,28 @@ in
|
||||||
|
|
||||||
virtualisation.pathsInNixDB = [ config.system.build.toplevel ];
|
virtualisation.pathsInNixDB = [ config.system.build.toplevel ];
|
||||||
|
|
||||||
|
virtualisation.sharedDirectories = {
|
||||||
|
nix-store = { source = "/nix/store"; target = "/nix/store"; };
|
||||||
|
xchg = { source = ''"$TMPDIR"/xchg''; target = "/tmp/xchg"; };
|
||||||
|
shared = { source = ''"''${SHARED_DIR:-$TMPDIR/xchg}"''; target = "/tmp/shared"; };
|
||||||
|
};
|
||||||
|
|
||||||
|
virtualisation.qemu.networkingOptions =
|
||||||
|
let
|
||||||
|
forwardingOptions = flip concatMapStrings cfg.forwardPorts
|
||||||
|
({ proto, from, host, guest }:
|
||||||
|
if from == "host"
|
||||||
|
then "hostfwd=${proto}:${host.address}:${toString host.port}-" +
|
||||||
|
"${guest.address}:${toString guest.port},"
|
||||||
|
else "'guestfwd=${proto}:${guest.address}:${toString guest.port}-" +
|
||||||
|
"cmd:${pkgs.netcat}/bin/nc ${host.address} ${toString host.port}',"
|
||||||
|
);
|
||||||
|
in
|
||||||
|
[
|
||||||
|
"-net nic,netdev=user.0,model=virtio"
|
||||||
|
"-netdev user,id=user.0,${forwardingOptions}\${QEMU_NET_OPTS:+,$QEMU_NET_OPTS}"
|
||||||
|
];
|
||||||
|
|
||||||
# FIXME: Consolidate this one day.
|
# FIXME: Consolidate this one day.
|
||||||
virtualisation.qemu.options = mkMerge [
|
virtualisation.qemu.options = mkMerge [
|
||||||
(mkIf (pkgs.stdenv.isi686 || pkgs.stdenv.isx86_64) [
|
(mkIf (pkgs.stdenv.isi686 || pkgs.stdenv.isx86_64) [
|
||||||
|
@ -646,7 +811,7 @@ in
|
||||||
virtualisation.qemu.drives = mkMerge [
|
virtualisation.qemu.drives = mkMerge [
|
||||||
[{
|
[{
|
||||||
name = "root";
|
name = "root";
|
||||||
file = "$NIX_DISK_IMAGE";
|
file = ''"$NIX_DISK_IMAGE"'';
|
||||||
driveExtraOpts.cache = "writeback";
|
driveExtraOpts.cache = "writeback";
|
||||||
driveExtraOpts.werror = "report";
|
driveExtraOpts.werror = "report";
|
||||||
}]
|
}]
|
||||||
|
@ -655,7 +820,7 @@ in
|
||||||
# note [Disk layout with `useBootLoader`].
|
# note [Disk layout with `useBootLoader`].
|
||||||
{
|
{
|
||||||
name = "boot";
|
name = "boot";
|
||||||
file = "$TMPDIR/disk.img";
|
file = ''"$TMPDIR"/disk.img'';
|
||||||
driveExtraOpts.media = "disk";
|
driveExtraOpts.media = "disk";
|
||||||
deviceExtraOpts.bootindex = "1";
|
deviceExtraOpts.bootindex = "1";
|
||||||
}
|
}
|
||||||
|
@ -672,15 +837,26 @@ in
|
||||||
# configuration, where the regular value for the `fileSystems'
|
# configuration, where the regular value for the `fileSystems'
|
||||||
# attribute should be disregarded for the purpose of building a VM
|
# attribute should be disregarded for the purpose of building a VM
|
||||||
# test image (since those filesystems don't exist in the VM).
|
# test image (since those filesystems don't exist in the VM).
|
||||||
fileSystems = mkVMOverride (
|
fileSystems =
|
||||||
cfg.fileSystems //
|
let
|
||||||
{ "/".device = cfg.bootDevice;
|
mkSharedDir = tag: share:
|
||||||
${if cfg.writableStore then "/nix/.ro-store" else "/nix/store"} =
|
{
|
||||||
{ device = "store";
|
name =
|
||||||
fsType = "9p";
|
if tag == "nix-store" && cfg.writableStore
|
||||||
options = [ "trans=virtio" "version=9p2000.L" "cache=loose" ] ++ lib.optional (cfg.msize != null) "msize=${toString cfg.msize}";
|
then "/nix/.ro-store"
|
||||||
neededForBoot = true;
|
else share.target;
|
||||||
};
|
value.device = tag;
|
||||||
|
value.fsType = "9p";
|
||||||
|
value.neededForBoot = true;
|
||||||
|
value.options =
|
||||||
|
[ "trans=virtio" "version=9p2000.L" "msize=${toString cfg.msize}" ]
|
||||||
|
++ lib.optional (tag == "nix-store") "cache=loose";
|
||||||
|
};
|
||||||
|
in
|
||||||
|
mkVMOverride (cfg.fileSystems //
|
||||||
|
{
|
||||||
|
"/".device = cfg.bootDevice;
|
||||||
|
|
||||||
"/tmp" = mkIf config.boot.tmpOnTmpfs
|
"/tmp" = mkIf config.boot.tmpOnTmpfs
|
||||||
{ device = "tmpfs";
|
{ device = "tmpfs";
|
||||||
fsType = "tmpfs";
|
fsType = "tmpfs";
|
||||||
|
@ -688,32 +864,20 @@ in
|
||||||
# Sync with systemd's tmp.mount;
|
# Sync with systemd's tmp.mount;
|
||||||
options = [ "mode=1777" "strictatime" "nosuid" "nodev" "size=${toString config.boot.tmpOnTmpfsSize}" ];
|
options = [ "mode=1777" "strictatime" "nosuid" "nodev" "size=${toString config.boot.tmpOnTmpfsSize}" ];
|
||||||
};
|
};
|
||||||
"/tmp/xchg" =
|
|
||||||
{ device = "xchg";
|
"/nix/.rw-store" = mkIf (cfg.writableStore && cfg.writableStoreUseTmpfs)
|
||||||
fsType = "9p";
|
|
||||||
options = [ "trans=virtio" "version=9p2000.L" ] ++ lib.optional (cfg.msize != null) "msize=${toString cfg.msize}";
|
|
||||||
neededForBoot = true;
|
|
||||||
};
|
|
||||||
"/tmp/shared" =
|
|
||||||
{ device = "shared";
|
|
||||||
fsType = "9p";
|
|
||||||
options = [ "trans=virtio" "version=9p2000.L" ] ++ lib.optional (cfg.msize != null) "msize=${toString cfg.msize}";
|
|
||||||
neededForBoot = true;
|
|
||||||
};
|
|
||||||
} // optionalAttrs (cfg.writableStore && cfg.writableStoreUseTmpfs)
|
|
||||||
{ "/nix/.rw-store" =
|
|
||||||
{ fsType = "tmpfs";
|
{ fsType = "tmpfs";
|
||||||
options = [ "mode=0755" ];
|
options = [ "mode=0755" ];
|
||||||
neededForBoot = true;
|
neededForBoot = true;
|
||||||
};
|
};
|
||||||
} // optionalAttrs cfg.useBootLoader
|
|
||||||
{ "/boot" =
|
"/boot" = mkIf cfg.useBootLoader
|
||||||
# see note [Disk layout with `useBootLoader`]
|
# see note [Disk layout with `useBootLoader`]
|
||||||
{ device = "${lookupDriveDeviceName "boot" cfg.qemu.drives}2"; # 2 for e.g. `vdb2`, as created in `bootDisk`
|
{ device = "${lookupDriveDeviceName "boot" cfg.qemu.drives}2"; # 2 for e.g. `vdb2`, as created in `bootDisk`
|
||||||
fsType = "vfat";
|
fsType = "vfat";
|
||||||
noCheck = true; # fsck fails on a r/o filesystem
|
noCheck = true; # fsck fails on a r/o filesystem
|
||||||
};
|
};
|
||||||
});
|
} // lib.mapAttrs' mkSharedDir cfg.sharedDirectories);
|
||||||
|
|
||||||
swapDevices = mkVMOverride [ ];
|
swapDevices = mkVMOverride [ ];
|
||||||
boot.initrd.luks.devices = mkVMOverride {};
|
boot.initrd.luks.devices = mkVMOverride {};
|
||||||
|
@ -734,7 +898,7 @@ in
|
||||||
# video driver the host uses.
|
# video driver the host uses.
|
||||||
services.xserver.videoDrivers = mkVMOverride [ "modesetting" ];
|
services.xserver.videoDrivers = mkVMOverride [ "modesetting" ];
|
||||||
services.xserver.defaultDepth = mkVMOverride 0;
|
services.xserver.defaultDepth = mkVMOverride 0;
|
||||||
services.xserver.resolutions = mkVMOverride [ { x = 1024; y = 768; } ];
|
services.xserver.resolutions = mkVMOverride [ cfg.resolution ];
|
||||||
services.xserver.monitorSection =
|
services.xserver.monitorSection =
|
||||||
''
|
''
|
||||||
# Set a higher refresh rate so that resolutions > 800x600 work.
|
# Set a higher refresh rate so that resolutions > 800x600 work.
|
||||||
|
|
|
@ -97,6 +97,7 @@ in
|
||||||
cryptpad = handleTest ./cryptpad.nix {};
|
cryptpad = handleTest ./cryptpad.nix {};
|
||||||
deluge = handleTest ./deluge.nix {};
|
deluge = handleTest ./deluge.nix {};
|
||||||
dendrite = handleTest ./dendrite.nix {};
|
dendrite = handleTest ./dendrite.nix {};
|
||||||
|
dex-oidc = handleTest ./dex-oidc.nix {};
|
||||||
dhparams = handleTest ./dhparams.nix {};
|
dhparams = handleTest ./dhparams.nix {};
|
||||||
disable-installer-tools = handleTest ./disable-installer-tools.nix {};
|
disable-installer-tools = handleTest ./disable-installer-tools.nix {};
|
||||||
discourse = handleTest ./discourse.nix {};
|
discourse = handleTest ./discourse.nix {};
|
||||||
|
@ -478,6 +479,7 @@ in
|
||||||
wiki-js = handleTest ./wiki-js.nix {};
|
wiki-js = handleTest ./wiki-js.nix {};
|
||||||
wireguard = handleTest ./wireguard {};
|
wireguard = handleTest ./wireguard {};
|
||||||
wmderland = handleTest ./wmderland.nix {};
|
wmderland = handleTest ./wmderland.nix {};
|
||||||
|
wpa_supplicant = handleTest ./wpa_supplicant.nix {};
|
||||||
wordpress = handleTest ./wordpress.nix {};
|
wordpress = handleTest ./wordpress.nix {};
|
||||||
xandikos = handleTest ./xandikos.nix {};
|
xandikos = handleTest ./xandikos.nix {};
|
||||||
xautolock = handleTest ./xautolock.nix {};
|
xautolock = handleTest ./xautolock.nix {};
|
||||||
|
|
6
third_party/nixpkgs/nixos/tests/boot.nix
vendored
6
third_party/nixpkgs/nixos/tests/boot.nix
vendored
|
@ -4,10 +4,10 @@
|
||||||
}:
|
}:
|
||||||
|
|
||||||
with import ../lib/testing-python.nix { inherit system pkgs; };
|
with import ../lib/testing-python.nix { inherit system pkgs; };
|
||||||
with import ../lib/qemu-flags.nix { inherit pkgs; };
|
|
||||||
with pkgs.lib;
|
with pkgs.lib;
|
||||||
|
|
||||||
let
|
let
|
||||||
|
qemu-common = import ../lib/qemu-common.nix { inherit (pkgs) lib pkgs; };
|
||||||
|
|
||||||
iso =
|
iso =
|
||||||
(import ../lib/eval-config.nix {
|
(import ../lib/eval-config.nix {
|
||||||
|
@ -23,7 +23,7 @@ let
|
||||||
makeBootTest = name: extraConfig:
|
makeBootTest = name: extraConfig:
|
||||||
let
|
let
|
||||||
machineConfig = pythonDict ({
|
machineConfig = pythonDict ({
|
||||||
qemuBinary = qemuBinary pkgs.qemu_test;
|
qemuBinary = qemu-common.qemuBinary pkgs.qemu_test;
|
||||||
qemuFlags = "-m 768";
|
qemuFlags = "-m 768";
|
||||||
} // extraConfig);
|
} // extraConfig);
|
||||||
in
|
in
|
||||||
|
@ -65,7 +65,7 @@ let
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
machineConfig = pythonDict ({
|
machineConfig = pythonDict ({
|
||||||
qemuBinary = qemuBinary pkgs.qemu_test;
|
qemuBinary = qemu-common.qemuBinary pkgs.qemu_test;
|
||||||
qemuFlags = "-boot order=n -m 2000";
|
qemuFlags = "-boot order=n -m 2000";
|
||||||
netBackendArgs = "tftp=${ipxeBootDir},bootfile=netboot.ipxe";
|
netBackendArgs = "tftp=${ipxeBootDir},bootfile=netboot.ipxe";
|
||||||
} // extraConfig);
|
} // extraConfig);
|
||||||
|
|
24
third_party/nixpkgs/nixos/tests/custom-ca.nix
vendored
24
third_party/nixpkgs/nixos/tests/custom-ca.nix
vendored
|
@ -82,7 +82,7 @@ in
|
||||||
# chromium-based browsers refuse to run as root
|
# chromium-based browsers refuse to run as root
|
||||||
test-support.displayManager.auto.user = "alice";
|
test-support.displayManager.auto.user = "alice";
|
||||||
# browsers may hang with the default memory
|
# browsers may hang with the default memory
|
||||||
virtualisation.memorySize = "500";
|
virtualisation.memorySize = 500;
|
||||||
|
|
||||||
networking.hosts."127.0.0.1" = [ "good.example.com" "bad.example.com" ];
|
networking.hosts."127.0.0.1" = [ "good.example.com" "bad.example.com" ];
|
||||||
security.pki.certificateFiles = [ "${example-good-cert}/ca.crt" ];
|
security.pki.certificateFiles = [ "${example-good-cert}/ca.crt" ];
|
||||||
|
@ -113,7 +113,7 @@ in
|
||||||
# which is why it will not use the system certificate store for the time being.
|
# which is why it will not use the system certificate store for the time being.
|
||||||
# firefox
|
# firefox
|
||||||
chromium
|
chromium
|
||||||
falkon
|
qutebrowser
|
||||||
midori
|
midori
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
@ -152,21 +152,21 @@ in
|
||||||
with subtest("Unknown CA is untrusted in curl"):
|
with subtest("Unknown CA is untrusted in curl"):
|
||||||
machine.fail("curl -fv https://bad.example.com")
|
machine.fail("curl -fv https://bad.example.com")
|
||||||
|
|
||||||
browsers = [
|
browsers = {
|
||||||
# Firefox was disabled here, because we needed to disable p11-kit support in nss,
|
# Firefox was disabled here, because we needed to disable p11-kit support in nss,
|
||||||
# which is why it will not use the system certificate store for the time being.
|
# which is why it will not use the system certificate store for the time being.
|
||||||
# "firefox",
|
#"firefox": "Security Risk",
|
||||||
"chromium",
|
"chromium": "not private",
|
||||||
"falkon",
|
"qutebrowser -T": "Certificate error",
|
||||||
"midori"
|
"midori": "Security"
|
||||||
]
|
}
|
||||||
errors = ["Security Risk", "not private", "Certificate Error", "Security"]
|
|
||||||
|
|
||||||
machine.wait_for_x()
|
machine.wait_for_x()
|
||||||
for browser, error in zip(browsers, errors):
|
for command, error in browsers.items():
|
||||||
|
browser = command.split()[0]
|
||||||
with subtest("Good certificate is trusted in " + browser):
|
with subtest("Good certificate is trusted in " + browser):
|
||||||
execute_as(
|
execute_as(
|
||||||
"alice", f"env P11_KIT_DEBUG=trust {browser} https://good.example.com & >&2"
|
"alice", f"env P11_KIT_DEBUG=trust {command} https://good.example.com & >&2"
|
||||||
)
|
)
|
||||||
wait_for_window_as("alice", browser)
|
wait_for_window_as("alice", browser)
|
||||||
machine.wait_for_text("It works!")
|
machine.wait_for_text("It works!")
|
||||||
|
@ -174,7 +174,7 @@ in
|
||||||
execute_as("alice", "xdotool key ctrl+w") # close tab
|
execute_as("alice", "xdotool key ctrl+w") # close tab
|
||||||
|
|
||||||
with subtest("Unknown CA is untrusted in " + browser):
|
with subtest("Unknown CA is untrusted in " + browser):
|
||||||
execute_as("alice", f"{browser} https://bad.example.com & >&2")
|
execute_as("alice", f"{command} https://bad.example.com & >&2")
|
||||||
machine.wait_for_text(error)
|
machine.wait_for_text(error)
|
||||||
machine.screenshot("bad" + browser)
|
machine.screenshot("bad" + browser)
|
||||||
machine.succeed("pkill " + browser)
|
machine.succeed("pkill " + browser)
|
||||||
|
|
78
third_party/nixpkgs/nixos/tests/dex-oidc.nix
vendored
Normal file
78
third_party/nixpkgs/nixos/tests/dex-oidc.nix
vendored
Normal file
|
@ -0,0 +1,78 @@
|
||||||
|
import ./make-test-python.nix ({ lib, ... }: {
|
||||||
|
name = "dex-oidc";
|
||||||
|
meta.maintainers = with lib.maintainers; [ Flakebi ];
|
||||||
|
|
||||||
|
nodes.machine = { pkgs, ... }: {
|
||||||
|
environment.systemPackages = with pkgs; [ jq ];
|
||||||
|
services.dex = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
issuer = "http://127.0.0.1:8080/dex";
|
||||||
|
storage = {
|
||||||
|
type = "postgres";
|
||||||
|
config.host = "/var/run/postgresql";
|
||||||
|
};
|
||||||
|
web.http = "127.0.0.1:8080";
|
||||||
|
oauth2.skipApprovalScreen = true;
|
||||||
|
staticClients = [
|
||||||
|
{
|
||||||
|
id = "oidcclient";
|
||||||
|
name = "Client";
|
||||||
|
redirectURIs = [ "https://example.com/callback" ];
|
||||||
|
secretFile = "/etc/dex/oidcclient";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
connectors = [
|
||||||
|
{
|
||||||
|
type = "mockPassword";
|
||||||
|
id = "mock";
|
||||||
|
name = "Example";
|
||||||
|
config = {
|
||||||
|
username = "admin";
|
||||||
|
password = "password";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# This should not be set from nix but through other means to not leak the secret.
|
||||||
|
environment.etc."dex/oidcclient" = {
|
||||||
|
mode = "0400";
|
||||||
|
user = "dex";
|
||||||
|
text = "oidcclientsecret";
|
||||||
|
};
|
||||||
|
|
||||||
|
services.postgresql = {
|
||||||
|
enable = true;
|
||||||
|
ensureDatabases =[ "dex" ];
|
||||||
|
ensureUsers = [
|
||||||
|
{
|
||||||
|
name = "dex";
|
||||||
|
ensurePermissions = { "DATABASE dex" = "ALL PRIVILEGES"; };
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
testScript = ''
|
||||||
|
with subtest("Web server gets ready"):
|
||||||
|
machine.wait_for_unit("dex.service")
|
||||||
|
# Wait until server accepts connections
|
||||||
|
machine.wait_until_succeeds("curl -fs 'localhost:8080/dex/auth/mock?client_id=oidcclient&response_type=code&redirect_uri=https://example.com/callback&scope=openid'")
|
||||||
|
|
||||||
|
with subtest("Login"):
|
||||||
|
state = machine.succeed("curl -fs 'localhost:8080/dex/auth/mock?client_id=oidcclient&response_type=code&redirect_uri=https://example.com/callback&scope=openid' | sed -n 's/.*state=\\(.*\\)\">.*/\\1/p'").strip()
|
||||||
|
print(f"Got state {state}")
|
||||||
|
machine.succeed(f"curl -fs 'localhost:8080/dex/auth/mock/login?back=&state={state}' -d 'login=admin&password=password'")
|
||||||
|
code = machine.succeed(f"curl -fs localhost:8080/dex/approval?req={state} | sed -n 's/.*code=\\(.*\\)&.*/\\1/p'").strip()
|
||||||
|
print(f"Got approval code {code}")
|
||||||
|
bearer = machine.succeed(f"curl -fs localhost:8080/dex/token -u oidcclient:oidcclientsecret -d 'grant_type=authorization_code&redirect_uri=https://example.com/callback&code={code}' | jq .access_token -r").strip()
|
||||||
|
print(f"Got access token {bearer}")
|
||||||
|
|
||||||
|
with subtest("Get userinfo"):
|
||||||
|
assert '"sub"' in machine.succeed(
|
||||||
|
f"curl -fs localhost:8080/dex/userinfo --oauth2-bearer {bearer}"
|
||||||
|
)
|
||||||
|
'';
|
||||||
|
})
|
|
@ -119,7 +119,7 @@ import ./make-test-python.nix ({ pkgs, ... }: {
|
||||||
|
|
||||||
with subtest("The pullImage tool works"):
|
with subtest("The pullImage tool works"):
|
||||||
docker.succeed(
|
docker.succeed(
|
||||||
"docker load --input='${examples.nixFromDockerHub}'",
|
"docker load --input='${examples.testNixFromDockerHub}'",
|
||||||
"docker run --rm nix:2.2.1 nix-store --version",
|
"docker run --rm nix:2.2.1 nix-store --version",
|
||||||
"docker rmi nix:2.2.1",
|
"docker rmi nix:2.2.1",
|
||||||
)
|
)
|
||||||
|
@ -378,5 +378,10 @@ import ./make-test-python.nix ({ pkgs, ... }: {
|
||||||
docker.succeed(
|
docker.succeed(
|
||||||
"docker run --rm ${examples.layeredImageWithFakeRootCommands.imageName} sh -c 'stat -c '%u' /home/jane | grep -E ^1000$'"
|
"docker run --rm ${examples.layeredImageWithFakeRootCommands.imageName} sh -c 'stat -c '%u' /home/jane | grep -E ^1000$'"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
with subtest("exportImage produces a valid tarball"):
|
||||||
|
docker.succeed(
|
||||||
|
"tar -tf ${examples.exportBash} | grep '\./bin/bash' > /dev/null"
|
||||||
|
)
|
||||||
'';
|
'';
|
||||||
})
|
})
|
||||||
|
|
2
third_party/nixpkgs/nixos/tests/firefox.nix
vendored
2
third_party/nixpkgs/nixos/tests/firefox.nix
vendored
|
@ -14,7 +14,7 @@ import ./make-test-python.nix ({ pkgs, firefoxPackage, ... }: {
|
||||||
];
|
];
|
||||||
|
|
||||||
# Need some more memory to record audio.
|
# Need some more memory to record audio.
|
||||||
virtualisation.memorySize = "500";
|
virtualisation.memorySize = 500;
|
||||||
|
|
||||||
# Create a virtual sound device, with mixing
|
# Create a virtual sound device, with mixing
|
||||||
# and all, for recording audio.
|
# and all, for recording audio.
|
||||||
|
|
|
@ -31,7 +31,6 @@ let
|
||||||
linuxPackages_4_19
|
linuxPackages_4_19
|
||||||
linuxPackages_5_4
|
linuxPackages_5_4
|
||||||
linuxPackages_5_10
|
linuxPackages_5_10
|
||||||
linuxPackages_5_13
|
|
||||||
linuxPackages_5_14
|
linuxPackages_5_14
|
||||||
|
|
||||||
linuxPackages_4_14_hardened
|
linuxPackages_4_14_hardened
|
||||||
|
|
|
@ -8,7 +8,7 @@ with import ../lib/testing-python.nix { inherit system pkgs; };
|
||||||
with pkgs.lib;
|
with pkgs.lib;
|
||||||
|
|
||||||
let
|
let
|
||||||
qemu-flags = import ../lib/qemu-flags.nix { inherit pkgs; };
|
qemu-common = import ../lib/qemu-common.nix { inherit (pkgs) lib pkgs; };
|
||||||
|
|
||||||
router = { config, pkgs, lib, ... }:
|
router = { config, pkgs, lib, ... }:
|
||||||
with pkgs.lib;
|
with pkgs.lib;
|
||||||
|
@ -42,7 +42,7 @@ let
|
||||||
machines = flip map vlanIfs (vlan:
|
machines = flip map vlanIfs (vlan:
|
||||||
{
|
{
|
||||||
hostName = "client${toString vlan}";
|
hostName = "client${toString vlan}";
|
||||||
ethernetAddress = qemu-flags.qemuNicMac vlan 1;
|
ethernetAddress = qemu-common.qemuNicMac vlan 1;
|
||||||
ipAddress = "192.168.${toString vlan}.2";
|
ipAddress = "192.168.${toString vlan}.2";
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
17
third_party/nixpkgs/nixos/tests/pict-rs.nix
vendored
Normal file
17
third_party/nixpkgs/nixos/tests/pict-rs.nix
vendored
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
import ./make-test-python.nix ({ pkgs, lib, ... }:
|
||||||
|
{
|
||||||
|
name = "pict-rs";
|
||||||
|
meta.maintainers = with lib.maintainers; [ happysalada ];
|
||||||
|
|
||||||
|
machine = { ... }: {
|
||||||
|
environment.systemPackages = with pkgs; [ curl jq ];
|
||||||
|
services.pict-rs.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
testScript = ''
|
||||||
|
start_all()
|
||||||
|
|
||||||
|
machine.wait_for_unit("pict-rs")
|
||||||
|
machine.wait_for_open_port("8080")
|
||||||
|
'';
|
||||||
|
})
|
81
third_party/nixpkgs/nixos/tests/wpa_supplicant.nix
vendored
Normal file
81
third_party/nixpkgs/nixos/tests/wpa_supplicant.nix
vendored
Normal file
|
@ -0,0 +1,81 @@
|
||||||
|
import ./make-test-python.nix ({ pkgs, lib, ...}:
|
||||||
|
{
|
||||||
|
name = "wpa_supplicant";
|
||||||
|
meta = with lib.maintainers; {
|
||||||
|
maintainers = [ rnhmjoj ];
|
||||||
|
};
|
||||||
|
|
||||||
|
machine = { ... }: {
|
||||||
|
imports = [ ../modules/profiles/minimal.nix ];
|
||||||
|
|
||||||
|
# add a virtual wlan interface
|
||||||
|
boot.kernelModules = [ "mac80211_hwsim" ];
|
||||||
|
|
||||||
|
# wireless access point
|
||||||
|
services.hostapd = {
|
||||||
|
enable = true;
|
||||||
|
wpa = true;
|
||||||
|
interface = "wlan0";
|
||||||
|
ssid = "nixos-test";
|
||||||
|
wpaPassphrase = "reproducibility";
|
||||||
|
};
|
||||||
|
|
||||||
|
# wireless client
|
||||||
|
networking.wireless = {
|
||||||
|
# the override is needed because the wifi is
|
||||||
|
# disabled with mkVMOverride in qemu-vm.nix.
|
||||||
|
enable = lib.mkOverride 0 true;
|
||||||
|
userControlled.enable = true;
|
||||||
|
interfaces = [ "wlan1" ];
|
||||||
|
|
||||||
|
networks = {
|
||||||
|
# test network
|
||||||
|
nixos-test.psk = "@PSK_NIXOS_TEST@";
|
||||||
|
|
||||||
|
# secrets substitution test cases
|
||||||
|
test1.psk = "@PSK_VALID@"; # should be replaced
|
||||||
|
test2.psk = "@PSK_SPECIAL@"; # should be replaced
|
||||||
|
test3.psk = "@PSK_MISSING@"; # should not be replaced
|
||||||
|
test4.psk = "P@ssowrdWithSome@tSymbol"; # should not be replaced
|
||||||
|
};
|
||||||
|
|
||||||
|
# secrets
|
||||||
|
environmentFile = pkgs.writeText "wpa-secrets" ''
|
||||||
|
PSK_NIXOS_TEST="reproducibility"
|
||||||
|
PSK_VALID="S0m3BadP4ssw0rd";
|
||||||
|
# taken from https://github.com/minimaxir/big-list-of-naughty-strings
|
||||||
|
PSK_SPECIAL=",./;'[]\-= <>?:\"{}|_+ !@#$%^\&*()`~";
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
testScript =
|
||||||
|
''
|
||||||
|
config_file = "/run/wpa_supplicant/wpa_supplicant.conf"
|
||||||
|
|
||||||
|
with subtest("Configuration file is inaccessible to other users"):
|
||||||
|
machine.wait_for_file(config_file)
|
||||||
|
machine.fail(f"sudo -u nobody ls {config_file}")
|
||||||
|
|
||||||
|
with subtest("Secrets variables have been substituted"):
|
||||||
|
machine.fail(f"grep -q @PSK_VALID@ {config_file}")
|
||||||
|
machine.fail(f"grep -q @PSK_SPECIAL@ {config_file}")
|
||||||
|
machine.succeed(f"grep -q @PSK_MISSING@ {config_file}")
|
||||||
|
machine.succeed(f"grep -q P@ssowrdWithSome@tSymbol {config_file}")
|
||||||
|
|
||||||
|
# save file for manual inspection
|
||||||
|
machine.copy_from_vm(config_file)
|
||||||
|
|
||||||
|
with subtest("Daemon is running and accepting connections"):
|
||||||
|
machine.wait_for_unit("wpa_supplicant-wlan1.service")
|
||||||
|
status = machine.succeed("wpa_cli -i wlan1 status")
|
||||||
|
assert "Failed to connect" not in status, \
|
||||||
|
"Failed to connect to the daemon"
|
||||||
|
|
||||||
|
with subtest("Daemon can connect to the access point"):
|
||||||
|
machine.wait_until_succeeds(
|
||||||
|
"wpa_cli -i wlan1 status | grep -q wpa_state=COMPLETED"
|
||||||
|
)
|
||||||
|
'';
|
||||||
|
})
|
113
third_party/nixpkgs/pkgs/applications/audio/bespokesynth/default.nix
vendored
Normal file
113
third_party/nixpkgs/pkgs/applications/audio/bespokesynth/default.nix
vendored
Normal file
|
@ -0,0 +1,113 @@
|
||||||
|
{ lib, stdenv, fetchFromGitHub, pkg-config, fetchzip
|
||||||
|
, libjack2, alsa-lib, freetype, libX11, libXrandr, libXinerama, libXext, libXcursor
|
||||||
|
, libGL, python3, ncurses, libusb1
|
||||||
|
, gtk3, webkitgtk, curl, xvfb-run, makeWrapper
|
||||||
|
# "Debug", or "Release"
|
||||||
|
, buildType ? "Release"
|
||||||
|
}:
|
||||||
|
|
||||||
|
let
|
||||||
|
projucer = stdenv.mkDerivation rec {
|
||||||
|
pname = "projucer";
|
||||||
|
version = "5.4.7";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "juce-framework";
|
||||||
|
repo = "JUCE";
|
||||||
|
rev = version;
|
||||||
|
sha256= "0qpiqfwwpcghk7ij6w4vy9ywr3ryg7ppg77bmd7783kxg6zbhj8h";
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [ pkg-config ];
|
||||||
|
buildInputs = [
|
||||||
|
freetype libX11 libXrandr libXinerama libXext gtk3 webkitgtk
|
||||||
|
libjack2 curl
|
||||||
|
];
|
||||||
|
preBuild = ''
|
||||||
|
cd extras/Projucer/Builds/LinuxMakefile
|
||||||
|
'';
|
||||||
|
makeFlags = [ "CONFIG=${buildType}" ];
|
||||||
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
mkdir -p $out/bin
|
||||||
|
cp -a build/Projucer $out/bin/Projucer
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
# equal to vst-sdk in ../oxefmsynth/default.nix
|
||||||
|
vst-sdk = stdenv.mkDerivation rec {
|
||||||
|
name = "vstsdk3610_11_06_2018_build_37";
|
||||||
|
src = fetchzip {
|
||||||
|
url = "https://web.archive.org/web/20181016150224if_/https://download.steinberg.net/sdk_downloads/${name}.zip";
|
||||||
|
sha256 = "0da16iwac590wphz2sm5afrfj42jrsnkr1bxcy93lj7a369ildkj";
|
||||||
|
};
|
||||||
|
installPhase = ''
|
||||||
|
cp -r . $out
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
in
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
pname = "bespokesynth";
|
||||||
|
version = "1.0.0";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "awwbees";
|
||||||
|
repo = pname;
|
||||||
|
rev = "v${version}";
|
||||||
|
sha256 = "04b2m40jszphslkd4850jcb8qwls392lwy3lc6vlj01h4izvapqk";
|
||||||
|
};
|
||||||
|
|
||||||
|
configurePhase = ''
|
||||||
|
runHook preConfigure
|
||||||
|
|
||||||
|
export HOME=$(mktemp -d)
|
||||||
|
xvfb-run sh -e <<EOF
|
||||||
|
${projucer}/bin/Projucer --set-global-search-path linux defaultJuceModulePath ${projucer.src}/modules
|
||||||
|
${projucer}/bin/Projucer --resave BespokeSynth.jucer
|
||||||
|
EOF
|
||||||
|
|
||||||
|
runHook postConfigure
|
||||||
|
'';
|
||||||
|
CFLAGS = "-I${vst-sdk}/VST2_SDK";
|
||||||
|
|
||||||
|
nativeBuildInputs = [ xvfb-run pkg-config python3 makeWrapper ];
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
libX11 libXrandr libXinerama libXext libXcursor freetype libGL
|
||||||
|
ncurses libusb1
|
||||||
|
alsa-lib libjack2
|
||||||
|
];
|
||||||
|
|
||||||
|
preBuild = ''
|
||||||
|
cd Builds/LinuxMakefile
|
||||||
|
'';
|
||||||
|
makeFlags = [ "CONFIG=${buildType}" ];
|
||||||
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
runHook preInstall
|
||||||
|
|
||||||
|
mkdir -p $out/bin $out/share/bespokesynth $out/share/applications $out/share/icons/hicolor/512x512/apps
|
||||||
|
cp build/BespokeSynth $out/bin/
|
||||||
|
cp -ar ../MacOSX/build/Release/resource $out/share/bespokesynth/
|
||||||
|
wrapProgram $out/bin/BespokeSynth \
|
||||||
|
--run "cd $out/share/bespokesynth"
|
||||||
|
|
||||||
|
mkdir -p $out/share/applications/ $out/share/icons/hicolor/512x512/apps/
|
||||||
|
cp ../../bespoke_icon.png $out/share/icons/hicolor/512x512/apps/
|
||||||
|
substitute ../../BespokeSynth.desktop $out/share/applications/BespokseSynth.desktop \
|
||||||
|
--replace "/usr/bin/" ""
|
||||||
|
|
||||||
|
runHook postInstall
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Software modular synth with controllers support, scripting and VST";
|
||||||
|
homepage = "https://github.com/awwbees/BespokeSynth";
|
||||||
|
license = licenses.gpl3Plus;
|
||||||
|
maintainers = with maintainers; [ astro ];
|
||||||
|
platforms = platforms.all;
|
||||||
|
};
|
||||||
|
}
|
69
third_party/nixpkgs/pkgs/applications/audio/blanket/default.nix
vendored
Normal file
69
third_party/nixpkgs/pkgs/applications/audio/blanket/default.nix
vendored
Normal file
|
@ -0,0 +1,69 @@
|
||||||
|
{ lib
|
||||||
|
, stdenv
|
||||||
|
, fetchFromGitHub
|
||||||
|
, meson
|
||||||
|
, ninja
|
||||||
|
, pkg-config
|
||||||
|
, wrapGAppsHook
|
||||||
|
, desktop-file-utils
|
||||||
|
, appstream-glib
|
||||||
|
, python3Packages
|
||||||
|
, glib
|
||||||
|
, gtk3
|
||||||
|
, libhandy
|
||||||
|
, gobject-introspection
|
||||||
|
, gst_all_1
|
||||||
|
}:
|
||||||
|
|
||||||
|
python3Packages.buildPythonApplication rec {
|
||||||
|
pname = "blanket";
|
||||||
|
version = "0.5.0";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "rafaelmardojai";
|
||||||
|
repo = "blanket";
|
||||||
|
rev = version;
|
||||||
|
sha256 = "00i821zqfbigxmc709322r16z75qsw4rg23yhv35gza9sl65bzkg";
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
meson
|
||||||
|
ninja
|
||||||
|
pkg-config
|
||||||
|
wrapGAppsHook
|
||||||
|
desktop-file-utils
|
||||||
|
appstream-glib
|
||||||
|
];
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
glib
|
||||||
|
gtk3
|
||||||
|
libhandy
|
||||||
|
gobject-introspection
|
||||||
|
gst_all_1.gstreamer
|
||||||
|
gst_all_1.gst-plugins-base
|
||||||
|
gst_all_1.gst-plugins-good
|
||||||
|
gst_all_1.gst-plugins-bad
|
||||||
|
];
|
||||||
|
|
||||||
|
propagatedBuildInputs = with python3Packages; [
|
||||||
|
pygobject3
|
||||||
|
];
|
||||||
|
|
||||||
|
# Broken with gobject-introspection setup hook
|
||||||
|
# https://github.com/NixOS/nixpkgs/issues/56943
|
||||||
|
strictDeps = false;
|
||||||
|
format = "other";
|
||||||
|
|
||||||
|
postPatch = ''
|
||||||
|
patchShebangs build-aux/meson/postinstall.py
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
homepage = "https://github.com/rafaelmardojai/blanket";
|
||||||
|
description = "Listen to different sounds";
|
||||||
|
maintainers = with maintainers; [ onny ];
|
||||||
|
license = licenses.gpl3Plus;
|
||||||
|
platforms = platforms.linux;
|
||||||
|
};
|
||||||
|
}
|
|
@ -36,6 +36,18 @@ in py.buildPythonApplication rec {
|
||||||
makeWrapperArgs+=("''${qtWrapperArgs[@]}")
|
makeWrapperArgs+=("''${qtWrapperArgs[@]}")
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
postInstall = ''
|
||||||
|
substituteInPlace $out/share/applications/friture.desktop --replace usr/bin/friture friture
|
||||||
|
|
||||||
|
for size in 16 32 128 256 512
|
||||||
|
do
|
||||||
|
mkdir -p $out/share/icons/hicolor/$size\x$size
|
||||||
|
cp $src/resources/images/friture.iconset/icon_$size\x$size.png $out/share/icons/hicolor/$size\x$size/friture.png
|
||||||
|
done
|
||||||
|
mkdir -p $out/share/icons/hicolor/scalable/apps/
|
||||||
|
cp $src/resources/images-src/window-icon.svg $out/share/icons/hicolor/scalable/apps/friture.svg
|
||||||
|
'';
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "A real-time audio analyzer";
|
description = "A real-time audio analyzer";
|
||||||
homepage = "https://friture.org/";
|
homepage = "https://friture.org/";
|
||||||
|
|
|
@ -37,5 +37,7 @@ lib.makeScope newScope (self: with self; {
|
||||||
|
|
||||||
mopidy-youtube = callPackage ./youtube.nix { };
|
mopidy-youtube = callPackage ./youtube.nix { };
|
||||||
|
|
||||||
|
mopidy-ytmusic = callPackage ./ytmusic.nix { };
|
||||||
|
|
||||||
mopidy-subidy = callPackage ./subidy.nix { };
|
mopidy-subidy = callPackage ./subidy.nix { };
|
||||||
})
|
})
|
||||||
|
|
|
@ -2,11 +2,11 @@
|
||||||
|
|
||||||
python3Packages.buildPythonApplication rec {
|
python3Packages.buildPythonApplication rec {
|
||||||
pname = "Mopidy-MPD";
|
pname = "Mopidy-MPD";
|
||||||
version = "3.0.0";
|
version = "3.2.0";
|
||||||
|
|
||||||
src = python3Packages.fetchPypi {
|
src = python3Packages.fetchPypi {
|
||||||
inherit pname version;
|
inherit pname version;
|
||||||
sha256 = "0prjli4352521igcsfcgmk97jmzgbfy4ik8hnli37wgvv252wiac";
|
sha256 = "sha256-oZvKr61lyu7CmXP2A/xtYng1FIUPyveVJMqUuv6UnaM=";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [mopidy];
|
propagatedBuildInputs = [mopidy];
|
||||||
|
|
|
@ -2,12 +2,12 @@
|
||||||
|
|
||||||
python3Packages.buildPythonApplication rec {
|
python3Packages.buildPythonApplication rec {
|
||||||
pname = "mopidy-mpris";
|
pname = "mopidy-mpris";
|
||||||
version = "3.0.2";
|
version = "3.0.3";
|
||||||
|
|
||||||
src = python3Packages.fetchPypi {
|
src = python3Packages.fetchPypi {
|
||||||
inherit version;
|
inherit version;
|
||||||
pname = "Mopidy-MPRIS";
|
pname = "Mopidy-MPRIS";
|
||||||
sha256 = "0mmdaikw00f43gzjdbvlcvzff6yppm7v8mv012r79adzd992q9y0";
|
sha256 = "sha256-rHQgNIyludTEL7RDC8dIpyGTMOt1Tazn6i/orKlSP4U=";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
|
|
26
third_party/nixpkgs/pkgs/applications/audio/mopidy/ytmusic.nix
vendored
Normal file
26
third_party/nixpkgs/pkgs/applications/audio/mopidy/ytmusic.nix
vendored
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
{ lib, python3Packages, mopidy }:
|
||||||
|
|
||||||
|
python3Packages.buildPythonApplication rec {
|
||||||
|
pname = "mopidy-ytmusic";
|
||||||
|
version = "0.3.2";
|
||||||
|
|
||||||
|
src = python3Packages.fetchPypi {
|
||||||
|
inherit version;
|
||||||
|
pname = "Mopidy-YTMusic";
|
||||||
|
sha256 = "sha256-BZtW+qHsTnOMj+jdAFI8ZMwGxJc9lNosgPJZGbt4JgU=";
|
||||||
|
};
|
||||||
|
|
||||||
|
propagatedBuildInputs = [
|
||||||
|
mopidy
|
||||||
|
python3Packages.ytmusicapi
|
||||||
|
python3Packages.pytube
|
||||||
|
];
|
||||||
|
|
||||||
|
doCheck = false;
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Mopidy extension for playing music from YouTube Music";
|
||||||
|
license = licenses.asl20;
|
||||||
|
maintainers = [ maintainers.nickhu ];
|
||||||
|
};
|
||||||
|
}
|
|
@ -2,13 +2,13 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "NoiseTorch";
|
pname = "NoiseTorch";
|
||||||
version = "0.11.3";
|
version = "0.11.4";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "lawl";
|
owner = "lawl";
|
||||||
repo = "NoiseTorch";
|
repo = "NoiseTorch";
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "0rjs6hbi7dvd179lzjmvqy4rv4pbc9amgzb8jfky4yc0zh8xf5z5";
|
sha256 = "sha256-3+Yk7dqD7eyvd1I5CMmrg085ZtFxD2EnGqL5ttwx8eM=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorSha256 = null;
|
vendorSha256 = null;
|
||||||
|
|
|
@ -13,12 +13,12 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "sc68";
|
pname = "sc68";
|
||||||
version = "unstable-2020-05-18";
|
version = "unstable-2021-08-23";
|
||||||
|
|
||||||
src = fetchsvn {
|
src = fetchsvn {
|
||||||
url = "svn://svn.code.sf.net/p/sc68/code/";
|
url = "svn://svn.code.sf.net/p/sc68/code/";
|
||||||
rev = "693";
|
rev = "694";
|
||||||
sha256 = "0liz5yjwiy41y160ag83zz9s5l8mk72fscxgvjv9g5qf4gwffnfa";
|
sha256 = "1yycnr4ndzfhbmki41c30zskwyizpb9wb8sf0gxcprllmbq6a421";
|
||||||
};
|
};
|
||||||
|
|
||||||
preConfigure = "tools/svn-bootstrap.sh";
|
preConfigure = "tools/svn-bootstrap.sh";
|
||||||
|
|
|
@ -10,8 +10,9 @@
|
||||||
, rustPlatform
|
, rustPlatform
|
||||||
, pkg-config
|
, pkg-config
|
||||||
, glib
|
, glib
|
||||||
|
, libadwaita
|
||||||
, libhandy
|
, libhandy
|
||||||
, gtk3
|
, gtk4
|
||||||
, openssl
|
, openssl
|
||||||
, alsa-lib
|
, alsa-lib
|
||||||
, libpulseaudio
|
, libpulseaudio
|
||||||
|
@ -20,19 +21,19 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "spot";
|
pname = "spot";
|
||||||
version = "0.1.14";
|
version = "0.2.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "xou816";
|
owner = "xou816";
|
||||||
repo = "spot";
|
repo = "spot";
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "eHhbm1amTx3ngqsP32uDEdrhrBeurMftg5SToTQGX9o=";
|
sha256 = "16pri0in514xzy21bsijyvyyjwa0f6lg4zyizmdcmcdw4glrs11m";
|
||||||
};
|
};
|
||||||
|
|
||||||
cargoDeps = rustPlatform.fetchCargoTarball {
|
cargoDeps = rustPlatform.fetchCargoTarball {
|
||||||
inherit src;
|
inherit src;
|
||||||
name = "${pname}-${version}";
|
name = "${pname}-${version}";
|
||||||
hash = "sha256-jY7pWoY9IJi5hHVRS1gQKb+Vmfc+wxHvoAwupOtXXQs=";
|
sha256 = "1fvnidxh4rnkzqg3qjk3zlkp2d41qdamm0bfavk8jrazw8sgih84";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
@ -41,7 +42,7 @@ stdenv.mkDerivation rec {
|
||||||
ninja
|
ninja
|
||||||
pkg-config
|
pkg-config
|
||||||
python3 # for meson postinstall script
|
python3 # for meson postinstall script
|
||||||
gtk3 # for gtk-update-icon-cache
|
gtk4 # for gtk-update-icon-cache
|
||||||
glib # for glib-compile-schemas
|
glib # for glib-compile-schemas
|
||||||
desktop-file-utils
|
desktop-file-utils
|
||||||
rustPlatform.rust.cargo
|
rustPlatform.rust.cargo
|
||||||
|
@ -52,7 +53,8 @@ stdenv.mkDerivation rec {
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
glib
|
glib
|
||||||
gtk3
|
gtk4
|
||||||
|
libadwaita
|
||||||
libhandy
|
libhandy
|
||||||
openssl
|
openssl
|
||||||
alsa-lib
|
alsa-lib
|
||||||
|
@ -77,6 +79,6 @@ stdenv.mkDerivation rec {
|
||||||
description = "Native Spotify client for the GNOME desktop";
|
description = "Native Spotify client for the GNOME desktop";
|
||||||
homepage = "https://github.com/xou816/spot";
|
homepage = "https://github.com/xou816/spot";
|
||||||
license = licenses.mit;
|
license = licenses.mit;
|
||||||
maintainers = with maintainers; [ jtojnar ];
|
maintainers = with maintainers; [ jtojnar tomfitzhenry ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -35,11 +35,11 @@ let
|
||||||
in
|
in
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "bisq-desktop";
|
pname = "bisq-desktop";
|
||||||
version = "1.7.3";
|
version = "1.7.4";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/bisq-network/bisq/releases/download/v${version}/Bisq-64bit-${version}.deb";
|
url = "https://github.com/bisq-network/bisq/releases/download/v${version}/Bisq-64bit-${version}.deb";
|
||||||
sha256 = "1q250lj0ig6aqd1dfc335z8pjj7qa7l75kws6d78k3wchzmk7jrk";
|
sha256 = "1yhxq6pv8hc0pz8g993a9nng2srnmmajkqxf0lfvkypy13k9zdg4";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ makeWrapper copyDesktopItems imagemagick dpkg gnutar zip xz ];
|
nativeBuildInputs = [ makeWrapper copyDesktopItems imagemagick dpkg gnutar zip xz ];
|
||||||
|
|
|
@ -1,22 +1,24 @@
|
||||||
{ lib
|
{ lib
|
||||||
|
, stdenv
|
||||||
, rustPlatform
|
, rustPlatform
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
, llvmPackages
|
, llvmPackages
|
||||||
, rocksdb
|
, rocksdb
|
||||||
|
, Security
|
||||||
}:
|
}:
|
||||||
|
|
||||||
rustPlatform.buildRustPackage rec {
|
rustPlatform.buildRustPackage rec {
|
||||||
pname = "electrs";
|
pname = "electrs";
|
||||||
version = "0.8.12";
|
version = "0.9.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "romanz";
|
owner = "romanz";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "0kd5zki9f1pnwscnvd921dw0lc45nfkwk23l33nzdjn005lmsw7v";
|
sha256 = "04dqbn2nfzllxfcn3v9vkfy2hn2syihijr575621r1pj65pcgf8y";
|
||||||
};
|
};
|
||||||
|
|
||||||
cargoSha256 = "1l8dwjwj21crxampzj5c0k98xnisgy3d9c3dkgf5vaybrcp04k85";
|
cargoSha256 = "0hl8q62lankrab8gq9vxmkn68drs0hw5pk0q6aiq8fxsb63dzsw0";
|
||||||
|
|
||||||
# needed for librocksdb-sys
|
# needed for librocksdb-sys
|
||||||
nativeBuildInputs = [ llvmPackages.clang ];
|
nativeBuildInputs = [ llvmPackages.clang ];
|
||||||
|
@ -25,7 +27,8 @@ rustPlatform.buildRustPackage rec {
|
||||||
# link rocksdb dynamically
|
# link rocksdb dynamically
|
||||||
ROCKSDB_INCLUDE_DIR = "${rocksdb}/include";
|
ROCKSDB_INCLUDE_DIR = "${rocksdb}/include";
|
||||||
ROCKSDB_LIB_DIR = "${rocksdb}/lib";
|
ROCKSDB_LIB_DIR = "${rocksdb}/lib";
|
||||||
cargoBuildFlags = "--no-default-features";
|
|
||||||
|
buildInputs = lib.optionals stdenv.isDarwin [ Security ];
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "An efficient re-implementation of Electrum Server in Rust";
|
description = "An efficient re-implementation of Electrum Server in Rust";
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ lib, fetchurl, appimageTools, imagemagick }:
|
{ lib, fetchurl, appimageTools, imagemagick, systemd }:
|
||||||
|
|
||||||
let
|
let
|
||||||
pname = "ledger-live-desktop";
|
pname = "ledger-live-desktop";
|
||||||
|
@ -13,9 +13,22 @@ let
|
||||||
appimageContents = appimageTools.extractType2 {
|
appimageContents = appimageTools.extractType2 {
|
||||||
inherit name src;
|
inherit name src;
|
||||||
};
|
};
|
||||||
in appimageTools.wrapType2 rec {
|
|
||||||
|
# Hotplug events from udevd are fired into the kernel, which then re-broadcasts them over a
|
||||||
|
# special socket, to every libudev client listening for hotplug when the kernel does that. It will
|
||||||
|
# try to preserve the uid of the sender but a non-root namespace (like the fhs-env) cant map root
|
||||||
|
# to a uid, for security reasons, so the uid of the sender becomes nobody and libudev actively
|
||||||
|
# rejects such messages. This patch disables that bit of security in libudev.
|
||||||
|
# See: https://github.com/NixOS/nixpkgs/issues/116361
|
||||||
|
systemdPatched = systemd.overrideAttrs ({ patches ? [ ], ... }: {
|
||||||
|
patches = patches ++ [ ./systemd.patch ];
|
||||||
|
});
|
||||||
|
in
|
||||||
|
appimageTools.wrapType2 rec {
|
||||||
inherit name src;
|
inherit name src;
|
||||||
|
|
||||||
|
extraPkgs = pkgs: [ systemdPatched ];
|
||||||
|
|
||||||
extraInstallCommands = ''
|
extraInstallCommands = ''
|
||||||
mv $out/bin/${name} $out/bin/${pname}
|
mv $out/bin/${name} $out/bin/${pname}
|
||||||
install -m 444 -D ${appimageContents}/ledger-live-desktop.desktop $out/share/applications/ledger-live-desktop.desktop
|
install -m 444 -D ${appimageContents}/ledger-live-desktop.desktop $out/share/applications/ledger-live-desktop.desktop
|
||||||
|
|
14
third_party/nixpkgs/pkgs/applications/blockchains/ledger-live-desktop/systemd.patch
vendored
Normal file
14
third_party/nixpkgs/pkgs/applications/blockchains/ledger-live-desktop/systemd.patch
vendored
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
diff --git a/src/libsystemd/sd-device/device-monitor.c b/src/libsystemd/sd-device/device-monitor.c
|
||||||
|
index fd5900704d..f9106fdbe5 100644
|
||||||
|
--- a/src/libsystemd/sd-device/device-monitor.c
|
||||||
|
+++ b/src/libsystemd/sd-device/device-monitor.c
|
||||||
|
@@ -445,9 +445,6 @@ int device_monitor_receive_device(sd_device_monitor *m, sd_device **ret) {
|
||||||
|
"sd-device-monitor: No sender credentials received, message ignored.");
|
||||||
|
|
||||||
|
cred = (struct ucred*) CMSG_DATA(cmsg);
|
||||||
|
- if (cred->uid != 0)
|
||||||
|
- return log_debug_errno(SYNTHETIC_ERRNO(EAGAIN),
|
||||||
|
- "sd-device-monitor: Sender uid="UID_FMT", message ignored.", cred->uid);
|
||||||
|
|
||||||
|
if (streq(buf.raw, "libudev")) {
|
||||||
|
/* udev message needs proper version magic */
|
|
@ -7,16 +7,16 @@
|
||||||
}:
|
}:
|
||||||
rustPlatform.buildRustPackage rec {
|
rustPlatform.buildRustPackage rec {
|
||||||
pname = "polkadot";
|
pname = "polkadot";
|
||||||
version = "0.9.9-1";
|
version = "0.9.10";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "paritytech";
|
owner = "paritytech";
|
||||||
repo = "polkadot";
|
repo = "polkadot";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-EmnrwBMHb9jpEZAG393yyMaFRRQJ6YYDRvsp+ATT7MY=";
|
sha256 = "1iBA7R63g0UOuCmnFONc9j/7jfcHA54jJ327AL/aPIE=";
|
||||||
};
|
};
|
||||||
|
|
||||||
cargoHash = "sha256-WzsaUrqe7F4x+ShqG14kq78MTSWIxIMRa3pdr3RXrwk=";
|
cargoSha256 = "1ysbyv323qmpswbnd2lvisrwnk30l4zvcidh866nrk6b6jqjag42";
|
||||||
|
|
||||||
nativeBuildInputs = [ clang ];
|
nativeBuildInputs = [ clang ];
|
||||||
|
|
||||||
|
|
|
@ -1,24 +1,24 @@
|
||||||
{ rust, rustPlatform, stdenv, lib, fetchFromGitHub, autoreconfHook, makeWrapper
|
{ rust, rustPlatform, stdenv, lib, fetchFromGitHub, autoreconfHook, makeWrapper
|
||||||
, cargo, pkg-config, curl, coreutils, boost174, db62, hexdump, libsodium
|
, cargo, pkg-config, curl, coreutils, boost175, db62, hexdump, libsodium
|
||||||
, libevent, utf8cpp, util-linux, withDaemon ? true, withMining ? true
|
, libevent, utf8cpp, util-linux, withDaemon ? true, withMining ? true
|
||||||
, withUtils ? true, withWallet ? true, withZmq ? true, zeromq
|
, withUtils ? true, withWallet ? true, withZmq ? true, zeromq
|
||||||
}:
|
}:
|
||||||
|
|
||||||
rustPlatform.buildRustPackage.override { stdenv = stdenv; } rec {
|
rustPlatform.buildRustPackage.override { stdenv = stdenv; } rec {
|
||||||
pname = "zcash";
|
pname = "zcash";
|
||||||
version = "4.4.1";
|
version = "4.5.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "zcash";
|
owner = "zcash";
|
||||||
repo = "zcash";
|
repo = "zcash";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "0nhrjizx518khrl8aygag6a1ianzzqpchasggi963f807kv7ipb7";
|
sha256 = "0zn6ms2c4mh64cckjg88v0byy2ck116z5g4y82hh34mz3r11d9mn";
|
||||||
};
|
};
|
||||||
|
|
||||||
cargoSha256 = "101j8cn2lg3l1gn53yg3svzwx783z331g9kzn9ici4azindyx903";
|
cargoSha256 = "16il7napj7ryxsap6icvdpvagm9mvgz2mpshny9wn56y60qaymd0";
|
||||||
|
|
||||||
nativeBuildInputs = [ autoreconfHook cargo hexdump makeWrapper pkg-config ];
|
nativeBuildInputs = [ autoreconfHook cargo hexdump makeWrapper pkg-config ];
|
||||||
buildInputs = [ boost174 libevent libsodium utf8cpp ]
|
buildInputs = [ boost175 libevent libsodium utf8cpp ]
|
||||||
++ lib.optional withWallet db62
|
++ lib.optional withWallet db62
|
||||||
++ lib.optional withZmq zeromq;
|
++ lib.optional withZmq zeromq;
|
||||||
|
|
||||||
|
@ -37,7 +37,7 @@ rustPlatform.buildRustPackage.override { stdenv = stdenv; } rec {
|
||||||
|
|
||||||
configureFlags = [
|
configureFlags = [
|
||||||
"--disable-tests"
|
"--disable-tests"
|
||||||
"--with-boost-libdir=${lib.getLib boost174}/lib"
|
"--with-boost-libdir=${lib.getLib boost175}/lib"
|
||||||
"CXXFLAGS=-I${lib.getDev utf8cpp}/include/utf8cpp"
|
"CXXFLAGS=-I${lib.getDev utf8cpp}/include/utf8cpp"
|
||||||
"RUST_TARGET=${rust.toRustTargetSpec stdenv.hostPlatform}"
|
"RUST_TARGET=${rust.toRustTargetSpec stdenv.hostPlatform}"
|
||||||
] ++ lib.optional (!withWallet) "--disable-wallet"
|
] ++ lib.optional (!withWallet) "--disable-wallet"
|
||||||
|
|
|
@ -711,10 +711,10 @@
|
||||||
elpaBuild {
|
elpaBuild {
|
||||||
pname = "crdt";
|
pname = "crdt";
|
||||||
ename = "crdt";
|
ename = "crdt";
|
||||||
version = "0.1.4";
|
version = "0.2.5";
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://elpa.gnu.org/packages/crdt-0.1.4.tar";
|
url = "https://elpa.gnu.org/packages/crdt-0.2.5.tar";
|
||||||
sha256 = "1qqfjvkajwhdhz0jhqixdn68l1rl02pn2fmxizzsv0as20v0ay0r";
|
sha256 = "092f82kq78c9gih6xri4n3ma5ixw9c8mx12i00c174g0v041r6sp";
|
||||||
};
|
};
|
||||||
packageRequires = [];
|
packageRequires = [];
|
||||||
meta = {
|
meta = {
|
||||||
|
@ -756,10 +756,10 @@
|
||||||
elpaBuild {
|
elpaBuild {
|
||||||
pname = "csv-mode";
|
pname = "csv-mode";
|
||||||
ename = "csv-mode";
|
ename = "csv-mode";
|
||||||
version = "1.15";
|
version = "1.16";
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://elpa.gnu.org/packages/csv-mode-1.15.tar";
|
url = "https://elpa.gnu.org/packages/csv-mode-1.16.tar";
|
||||||
sha256 = "0pigqhqg5mfza6jdskcr9yvrzdxnd68iyp3vyb8p8wskdacmbiyx";
|
sha256 = "1i43b2p31xhrf97xbdi35y550ysp69fasa5gcrhg6iyxw176807p";
|
||||||
};
|
};
|
||||||
packageRequires = [ cl-lib emacs ];
|
packageRequires = [ cl-lib emacs ];
|
||||||
meta = {
|
meta = {
|
||||||
|
@ -831,10 +831,10 @@
|
||||||
elpaBuild {
|
elpaBuild {
|
||||||
pname = "debbugs";
|
pname = "debbugs";
|
||||||
ename = "debbugs";
|
ename = "debbugs";
|
||||||
version = "0.28";
|
version = "0.29";
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://elpa.gnu.org/packages/debbugs-0.28.tar";
|
url = "https://elpa.gnu.org/packages/debbugs-0.29.tar";
|
||||||
sha256 = "1qks38hpg3drhxzw66n5yxfq0v6fj9ya7d9dc6x0xwfp6r2x0li0";
|
sha256 = "1bn21d9dr9pb3vdak3v07x056xafym89kdpxavjf4avy6bry6s4d";
|
||||||
};
|
};
|
||||||
packageRequires = [ emacs soap-client ];
|
packageRequires = [ emacs soap-client ];
|
||||||
meta = {
|
meta = {
|
||||||
|
@ -1022,6 +1022,21 @@
|
||||||
license = lib.licenses.free;
|
license = lib.licenses.free;
|
||||||
};
|
};
|
||||||
}) {};
|
}) {};
|
||||||
|
easy-escape = callPackage ({ elpaBuild, fetchurl, lib }:
|
||||||
|
elpaBuild {
|
||||||
|
pname = "easy-escape";
|
||||||
|
ename = "easy-escape";
|
||||||
|
version = "0.2.1";
|
||||||
|
src = fetchurl {
|
||||||
|
url = "https://elpa.gnu.org/packages/easy-escape-0.2.1.tar";
|
||||||
|
sha256 = "19blpwka440y6r08hzzaz61gb24jr6a046pai2j1a3jg6x9fr3j5";
|
||||||
|
};
|
||||||
|
packageRequires = [];
|
||||||
|
meta = {
|
||||||
|
homepage = "https://elpa.gnu.org/packages/easy-escape.html";
|
||||||
|
license = lib.licenses.free;
|
||||||
|
};
|
||||||
|
}) {};
|
||||||
easy-kill = callPackage ({ cl-lib ? null, elpaBuild, emacs, fetchurl, lib }:
|
easy-kill = callPackage ({ cl-lib ? null, elpaBuild, emacs, fetchurl, lib }:
|
||||||
elpaBuild {
|
elpaBuild {
|
||||||
pname = "easy-kill";
|
pname = "easy-kill";
|
||||||
|
@ -1101,10 +1116,10 @@
|
||||||
elpaBuild {
|
elpaBuild {
|
||||||
pname = "eev";
|
pname = "eev";
|
||||||
ename = "eev";
|
ename = "eev";
|
||||||
version = "20210822";
|
version = "20210925";
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://elpa.gnu.org/packages/eev-20210822.tar";
|
url = "https://elpa.gnu.org/packages/eev-20210925.tar";
|
||||||
sha256 = "1682hl8s15snz9vq2r0q7jfpf81gbhlyxp55l2alsmxll4qq72wh";
|
sha256 = "0kwmjspmvz9lfm6y0kls9v2l55ccni0gviv9jlzxiwynrc01rz4y";
|
||||||
};
|
};
|
||||||
packageRequires = [ emacs ];
|
packageRequires = [ emacs ];
|
||||||
meta = {
|
meta = {
|
||||||
|
@ -1224,10 +1239,10 @@
|
||||||
elpaBuild {
|
elpaBuild {
|
||||||
pname = "emms";
|
pname = "emms";
|
||||||
ename = "emms";
|
ename = "emms";
|
||||||
version = "7.6";
|
version = "7.7";
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://elpa.gnu.org/packages/emms-7.6.tar";
|
url = "https://elpa.gnu.org/packages/emms-7.7.tar";
|
||||||
sha256 = "03cp6mr0kxy41dg4ri5ymbzpkw7bd8zg7hx0a2rb4axiss5qmx7i";
|
sha256 = "0n9nx4wgjxkr8nsxcq8svg0x0qkqj7bsd2j0ihy4jzj29xmyxl0h";
|
||||||
};
|
};
|
||||||
packageRequires = [ cl-lib nadvice seq ];
|
packageRequires = [ cl-lib nadvice seq ];
|
||||||
meta = {
|
meta = {
|
||||||
|
@ -1405,16 +1420,16 @@
|
||||||
license = lib.licenses.free;
|
license = lib.licenses.free;
|
||||||
};
|
};
|
||||||
}) {};
|
}) {};
|
||||||
flymake = callPackage ({ eldoc, elpaBuild, emacs, fetchurl, lib }:
|
flymake = callPackage ({ eldoc, elpaBuild, emacs, fetchurl, lib, project }:
|
||||||
elpaBuild {
|
elpaBuild {
|
||||||
pname = "flymake";
|
pname = "flymake";
|
||||||
ename = "flymake";
|
ename = "flymake";
|
||||||
version = "1.1.1";
|
version = "1.2.1";
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://elpa.gnu.org/packages/flymake-1.1.1.tar";
|
url = "https://elpa.gnu.org/packages/flymake-1.2.1.tar";
|
||||||
sha256 = "0lk2v34b59b24j3hsmi8d0v7fgpwcipv7ka9i88cdgjmjjmzgz5q";
|
sha256 = "1j4j1mxqvkpdccrm5khykmdpm8z9p0pxvnsw4cz9b76xzfdzy5pz";
|
||||||
};
|
};
|
||||||
packageRequires = [ eldoc emacs ];
|
packageRequires = [ eldoc emacs project ];
|
||||||
meta = {
|
meta = {
|
||||||
homepage = "https://elpa.gnu.org/packages/flymake.html";
|
homepage = "https://elpa.gnu.org/packages/flymake.html";
|
||||||
license = lib.licenses.free;
|
license = lib.licenses.free;
|
||||||
|
@ -1828,10 +1843,10 @@
|
||||||
elpaBuild {
|
elpaBuild {
|
||||||
pname = "ioccur";
|
pname = "ioccur";
|
||||||
ename = "ioccur";
|
ename = "ioccur";
|
||||||
version = "2.4";
|
version = "2.5";
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://elpa.gnu.org/packages/ioccur-2.4.el";
|
url = "https://elpa.gnu.org/packages/ioccur-2.5.tar";
|
||||||
sha256 = "1isid3kgsi5qkz27ipvmp9v5knx0qigmv7lz12mqdkwv8alns1p9";
|
sha256 = "06a6djln2rry3qnb063yarji3p18hcpp5zrw7q43a45k7qaiaji8";
|
||||||
};
|
};
|
||||||
packageRequires = [ cl-lib emacs ];
|
packageRequires = [ cl-lib emacs ];
|
||||||
meta = {
|
meta = {
|
||||||
|
@ -1938,10 +1953,10 @@
|
||||||
elpaBuild {
|
elpaBuild {
|
||||||
pname = "ivy-posframe";
|
pname = "ivy-posframe";
|
||||||
ename = "ivy-posframe";
|
ename = "ivy-posframe";
|
||||||
version = "0.6.1";
|
version = "0.6.2";
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://elpa.gnu.org/packages/ivy-posframe-0.6.1.tar";
|
url = "https://elpa.gnu.org/packages/ivy-posframe-0.6.2.tar";
|
||||||
sha256 = "1nay2sfbwm2fkp3f1y89innd9h6j3q70q9y4yddrwa69cxlj9m23";
|
sha256 = "1x6pm0pry2j7yazhxvq1gydbymwll9yg85m8qi4sh8s0pnm0vjzk";
|
||||||
};
|
};
|
||||||
packageRequires = [ emacs ivy posframe ];
|
packageRequires = [ emacs ivy posframe ];
|
||||||
meta = {
|
meta = {
|
||||||
|
@ -2208,10 +2223,10 @@
|
||||||
elpaBuild {
|
elpaBuild {
|
||||||
pname = "map";
|
pname = "map";
|
||||||
ename = "map";
|
ename = "map";
|
||||||
version = "3.1";
|
version = "3.2.1";
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://elpa.gnu.org/packages/map-3.1.tar";
|
url = "https://elpa.gnu.org/packages/map-3.2.1.tar";
|
||||||
sha256 = "1akkp34psm71ylbf1i02m56ga1dkswhz069j98amixrhw20hq4nx";
|
sha256 = "1vy231m2fm5cgz5nib14ib7ifprajhnbmzf6x4id48h2491m1n24";
|
||||||
};
|
};
|
||||||
packageRequires = [ emacs ];
|
packageRequires = [ emacs ];
|
||||||
meta = {
|
meta = {
|
||||||
|
@ -2855,10 +2870,10 @@
|
||||||
elpaBuild {
|
elpaBuild {
|
||||||
pname = "phps-mode";
|
pname = "phps-mode";
|
||||||
ename = "phps-mode";
|
ename = "phps-mode";
|
||||||
version = "0.4.6";
|
version = "0.4.7";
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://elpa.gnu.org/packages/phps-mode-0.4.6.tar";
|
url = "https://elpa.gnu.org/packages/phps-mode-0.4.7.tar";
|
||||||
sha256 = "0mfwyz9rwnrs0xcd1jmq1ngdhbwygm6hbfhyr14djywxx0b4hpm5";
|
sha256 = "0y5milfjf45bi7gj7brl2lhyla8nsj3dc1a4nfq1wx3zw8arlc50";
|
||||||
};
|
};
|
||||||
packageRequires = [ emacs ];
|
packageRequires = [ emacs ];
|
||||||
meta = {
|
meta = {
|
||||||
|
@ -2915,10 +2930,10 @@
|
||||||
elpaBuild {
|
elpaBuild {
|
||||||
pname = "project";
|
pname = "project";
|
||||||
ename = "project";
|
ename = "project";
|
||||||
version = "0.6.1";
|
version = "0.7.1";
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://elpa.gnu.org/packages/project-0.6.1.tar";
|
url = "https://elpa.gnu.org/packages/project-0.7.1.tar";
|
||||||
sha256 = "174fli3swbn67qcs9isv70vwrf6r41mak6dbs98gia89rlb71c8v";
|
sha256 = "1ip8s924n50mmh068p42zi0ylvv79a2pi9sji1c2pqj2q19d7jr6";
|
||||||
};
|
};
|
||||||
packageRequires = [ emacs xref ];
|
packageRequires = [ emacs xref ];
|
||||||
meta = {
|
meta = {
|
||||||
|
@ -3411,10 +3426,10 @@
|
||||||
elpaBuild {
|
elpaBuild {
|
||||||
pname = "seq";
|
pname = "seq";
|
||||||
ename = "seq";
|
ename = "seq";
|
||||||
version = "2.22";
|
version = "2.23";
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://elpa.gnu.org/packages/seq-2.22.tar";
|
url = "https://elpa.gnu.org/packages/seq-2.23.tar";
|
||||||
sha256 = "0zlqcbabzj8crg36ird2l74dbg5k7w1zf5iwva0h2dyvwyf9grma";
|
sha256 = "1lbxnrzq88z8k9dyylg2636pg9vc8bzfprs1hxwp9ah0zkvsn52p";
|
||||||
};
|
};
|
||||||
packageRequires = [];
|
packageRequires = [];
|
||||||
meta = {
|
meta = {
|
||||||
|
@ -3426,10 +3441,10 @@
|
||||||
elpaBuild {
|
elpaBuild {
|
||||||
pname = "setup";
|
pname = "setup";
|
||||||
ename = "setup";
|
ename = "setup";
|
||||||
version = "1.0.0";
|
version = "1.0.1";
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://elpa.gnu.org/packages/setup-1.0.0.tar";
|
url = "https://elpa.gnu.org/packages/setup-1.0.1.tar";
|
||||||
sha256 = "05k65r5mgkpbj6f84qscgq4gjbj4wyn7c60b9xjvadw9b55yvfxk";
|
sha256 = "1n390hiv5a8ij584r24cpbahj2sb12wjh0l3kzhccdxnxskrzgmh";
|
||||||
};
|
};
|
||||||
packageRequires = [ emacs ];
|
packageRequires = [ emacs ];
|
||||||
meta = {
|
meta = {
|
||||||
|
@ -3576,10 +3591,10 @@
|
||||||
elpaBuild {
|
elpaBuild {
|
||||||
pname = "so-long";
|
pname = "so-long";
|
||||||
ename = "so-long";
|
ename = "so-long";
|
||||||
version = "1.1.1";
|
version = "1.1.2";
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://elpa.gnu.org/packages/so-long-1.1.1.tar";
|
url = "https://elpa.gnu.org/packages/so-long-1.1.2.tar";
|
||||||
sha256 = "0qgdnkb702mkm886v0zv0hnm5y7zlifgx9ji6xmdsxycpsfkjz1f";
|
sha256 = "053msvy2pyispwg4zzpaczfkl6rvnwfklm4jdsbjhqm0kx4vlcs9";
|
||||||
};
|
};
|
||||||
packageRequires = [ emacs ];
|
packageRequires = [ emacs ];
|
||||||
meta = {
|
meta = {
|
||||||
|
@ -3786,10 +3801,10 @@
|
||||||
elpaBuild {
|
elpaBuild {
|
||||||
pname = "taxy";
|
pname = "taxy";
|
||||||
ename = "taxy";
|
ename = "taxy";
|
||||||
version = "0.4";
|
version = "0.8";
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://elpa.gnu.org/packages/taxy-0.4.tar";
|
url = "https://elpa.gnu.org/packages/taxy-0.8.tar";
|
||||||
sha256 = "1iy1761v2q0i020x8ch4z3vljx2v62pcy5bifxq8gw5qx0115576";
|
sha256 = "00pc6lh35gj8vzcsn17fyazb9jsc4m6nr7cvb32w02isadv8qd3m";
|
||||||
};
|
};
|
||||||
packageRequires = [ emacs ];
|
packageRequires = [ emacs ];
|
||||||
meta = {
|
meta = {
|
||||||
|
@ -4050,6 +4065,21 @@
|
||||||
license = lib.licenses.free;
|
license = lib.licenses.free;
|
||||||
};
|
};
|
||||||
}) {};
|
}) {};
|
||||||
|
vc-got = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
|
||||||
|
elpaBuild {
|
||||||
|
pname = "vc-got";
|
||||||
|
ename = "vc-got";
|
||||||
|
version = "1.0";
|
||||||
|
src = fetchurl {
|
||||||
|
url = "https://elpa.gnu.org/packages/vc-got-1.0.tar";
|
||||||
|
sha256 = "1lx52g261zr52gy63vjll8mvczcbdzbsx3wa47qdajrq9bwmj99j";
|
||||||
|
};
|
||||||
|
packageRequires = [ emacs ];
|
||||||
|
meta = {
|
||||||
|
homepage = "https://elpa.gnu.org/packages/vc-got.html";
|
||||||
|
license = lib.licenses.free;
|
||||||
|
};
|
||||||
|
}) {};
|
||||||
vc-hgcmd = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
|
vc-hgcmd = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
|
||||||
elpaBuild {
|
elpaBuild {
|
||||||
pname = "vc-hgcmd";
|
pname = "vc-hgcmd";
|
||||||
|
@ -4116,10 +4146,10 @@
|
||||||
elpaBuild {
|
elpaBuild {
|
||||||
pname = "verilog-mode";
|
pname = "verilog-mode";
|
||||||
ename = "verilog-mode";
|
ename = "verilog-mode";
|
||||||
version = "2021.4.12.188864585";
|
version = "2021.9.23.89128420";
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://elpa.gnu.org/packages/verilog-mode-2021.4.12.188864585.tar";
|
url = "https://elpa.gnu.org/packages/verilog-mode-2021.9.23.89128420.tar";
|
||||||
sha256 = "0np2q0jhf1fbb1nl5nx1q9hw40yg62bhlddp2raqryxbkvsh0nbv";
|
sha256 = "1sgmkmif44npghz4nnag1w91qrrylq36175cjj87lcdp22s6isgk";
|
||||||
};
|
};
|
||||||
packageRequires = [];
|
packageRequires = [];
|
||||||
meta = {
|
meta = {
|
||||||
|
|
|
@ -45,16 +45,16 @@
|
||||||
license = lib.licenses.free;
|
license = lib.licenses.free;
|
||||||
};
|
};
|
||||||
}) {};
|
}) {};
|
||||||
caml = callPackage ({ cl-lib ? null, elpaBuild, emacs, fetchurl, lib }:
|
caml = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
|
||||||
elpaBuild {
|
elpaBuild {
|
||||||
pname = "caml";
|
pname = "caml";
|
||||||
ename = "caml";
|
ename = "caml";
|
||||||
version = "4.8";
|
version = "4.9";
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://elpa.nongnu.org/nongnu/caml-4.8.tar";
|
url = "https://elpa.nongnu.org/nongnu/caml-4.9.tar";
|
||||||
sha256 = "02wzjdd1ig8ajy65rf87zaysfddjbhyswifwlcs52ly7p84q72wk";
|
sha256 = "00ldvz6r10vwwmk6f3az534p0340ywn7knsg2bmvbvh3q51vyl9i";
|
||||||
};
|
};
|
||||||
packageRequires = [ cl-lib emacs ];
|
packageRequires = [ emacs ];
|
||||||
meta = {
|
meta = {
|
||||||
homepage = "https://elpa.gnu.org/packages/caml.html";
|
homepage = "https://elpa.gnu.org/packages/caml.html";
|
||||||
license = lib.licenses.free;
|
license = lib.licenses.free;
|
||||||
|
@ -841,10 +841,10 @@
|
||||||
elpaBuild {
|
elpaBuild {
|
||||||
pname = "swift-mode";
|
pname = "swift-mode";
|
||||||
ename = "swift-mode";
|
ename = "swift-mode";
|
||||||
version = "8.3.0";
|
version = "8.4.0";
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://elpa.nongnu.org/nongnu/swift-mode-8.3.0.tar";
|
url = "https://elpa.nongnu.org/nongnu/swift-mode-8.4.0.tar";
|
||||||
sha256 = "1bsyv0dl7c2m3f690g7fij7g4937skxjin456vfrgbzb219pdkcs";
|
sha256 = "1pfp1nvq2gny6kbiq3q0dcms0ysw43zq0aayfwqdj0llkf025dfp";
|
||||||
};
|
};
|
||||||
packageRequires = [ emacs seq ];
|
packageRequires = [ emacs seq ];
|
||||||
meta = {
|
meta = {
|
||||||
|
@ -946,10 +946,10 @@
|
||||||
elpaBuild {
|
elpaBuild {
|
||||||
pname = "yasnippet-snippets";
|
pname = "yasnippet-snippets";
|
||||||
ename = "yasnippet-snippets";
|
ename = "yasnippet-snippets";
|
||||||
version = "0.2";
|
version = "1.0";
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://elpa.nongnu.org/nongnu/yasnippet-snippets-0.2.tar";
|
url = "https://elpa.nongnu.org/nongnu/yasnippet-snippets-1.0.tar";
|
||||||
sha256 = "1xhlx2n2sdpcc82cba9r7nbd0gwi7m821p7vk0vnw84dhwy863ic";
|
sha256 = "0p2a10wfh1dvmxbjlbj6p241xaldjim2h8vrv9aghvm3ryfixcpb";
|
||||||
};
|
};
|
||||||
packageRequires = [ yasnippet ];
|
packageRequires = [ yasnippet ];
|
||||||
meta = {
|
meta = {
|
||||||
|
|
|
@ -4,10 +4,10 @@
|
||||||
elpaBuild {
|
elpaBuild {
|
||||||
pname = "org";
|
pname = "org";
|
||||||
ename = "org";
|
ename = "org";
|
||||||
version = "20210906";
|
version = "20210920";
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://orgmode.org/elpa/org-20210906.tar";
|
url = "https://orgmode.org/elpa/org-20210920.tar";
|
||||||
sha256 = "04aqniwix4w0iap38dsdskndknhw9k6apkmkrc79yfs3c4jcsszq";
|
sha256 = "01b44npf0rxq7c4ddygc3n3cv3h7afs41az0nfs67a5x7ag6c1jj";
|
||||||
};
|
};
|
||||||
packageRequires = [];
|
packageRequires = [];
|
||||||
meta = {
|
meta = {
|
||||||
|
@ -19,10 +19,10 @@
|
||||||
elpaBuild {
|
elpaBuild {
|
||||||
pname = "org-plus-contrib";
|
pname = "org-plus-contrib";
|
||||||
ename = "org-plus-contrib";
|
ename = "org-plus-contrib";
|
||||||
version = "20210906";
|
version = "20210920";
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://orgmode.org/elpa/org-plus-contrib-20210906.tar";
|
url = "https://orgmode.org/elpa/org-plus-contrib-20210920.tar";
|
||||||
sha256 = "1v0yy92x8shwp36qfyzmvk8ayz9amkdis967gqacq5jxcyq7mhbn";
|
sha256 = "1m376fnm8hrm83hgx4b0y21lzdrbxjp83bv45plvrjky44qfdwfn";
|
||||||
};
|
};
|
||||||
packageRequires = [];
|
packageRequires = [];
|
||||||
meta = {
|
meta = {
|
||||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -32,7 +32,6 @@ in stdenv.mkDerivation rec {
|
||||||
git
|
git
|
||||||
gnused
|
gnused
|
||||||
nix
|
nix
|
||||||
nixfmt
|
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
oldVersion="$(nix-instantiate --eval -E "with import ./. {}; lib.getVersion ${pname}" | tr -d '"' | sed 's|\\.|-|g')"
|
oldVersion="$(nix-instantiate --eval -E "with import ./. {}; lib.getVersion ${pname}" | tr -d '"' | sed 's|\\.|-|g')"
|
||||||
|
@ -42,7 +41,6 @@ in stdenv.mkDerivation rec {
|
||||||
default_nix="$nixpkgs/pkgs/applications/editors/nano/nanorc/default.nix"
|
default_nix="$nixpkgs/pkgs/applications/editors/nano/nanorc/default.nix"
|
||||||
newTag=$(echo $latestTag | sed 's|\.|-|g')
|
newTag=$(echo $latestTag | sed 's|\.|-|g')
|
||||||
update-source-version ${pname} "$newTag" --version-key=version --print-changes
|
update-source-version ${pname} "$newTag" --version-key=version --print-changes
|
||||||
nixfmt "$default_nix"
|
|
||||||
else
|
else
|
||||||
echo "${pname} is already up-to-date"
|
echo "${pname} is already up-to-date"
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -86,5 +86,9 @@ stdenv.mkDerivation rec {
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
# sse3 is not supported on aarch64
|
# sse3 is not supported on aarch64
|
||||||
badPlatforms = [ "aarch64-linux" ];
|
badPlatforms = [ "aarch64-linux" ];
|
||||||
|
# added 2021-09-30
|
||||||
|
# upstream seems pretty dead
|
||||||
|
#/build/source/src/operations/denoise.cc:30:10: fatal error: vips/cimg_funcs.h: No such file or directory
|
||||||
|
broken = true;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -16,13 +16,13 @@
|
||||||
|
|
||||||
mkDerivation rec {
|
mkDerivation rec {
|
||||||
pname = "qimgv";
|
pname = "qimgv";
|
||||||
version = "0.9.1";
|
version = "1.0.1";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "easymodo";
|
owner = "easymodo";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "0b2hddps969gjim2r9a22zaxmnzp600av2zz6icq66ksfrx1rpac";
|
sha256 = "1wybpmqvj7vj7cl6r4gif7mkrcdr6zpb939mmz46xsil5vb4pirh";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
let
|
let
|
||||||
pname = "chrysalis";
|
pname = "chrysalis";
|
||||||
version = "0.8.4";
|
version = "0.8.5";
|
||||||
in appimageTools.wrapAppImage rec {
|
in appimageTools.wrapAppImage rec {
|
||||||
name = "${pname}-${version}-binary";
|
name = "${pname}-${version}-binary";
|
||||||
|
|
||||||
|
@ -10,7 +10,7 @@ in appimageTools.wrapAppImage rec {
|
||||||
inherit name;
|
inherit name;
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/keyboardio/${pname}/releases/download/v${version}/${pname}-${version}.AppImage";
|
url = "https://github.com/keyboardio/${pname}/releases/download/v${version}/${pname}-${version}.AppImage";
|
||||||
sha256 = "b41f3e23dac855b1588cff141e3d317f96baff929a0543c79fccee0c6f095bc7";
|
sha256 = "1vgymc99nci8rdq8hd7i98x77x45jnpcmhgb8v7fzsz3br6raxcm";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -5,16 +5,16 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "dasel";
|
pname = "dasel";
|
||||||
version = "1.20.0";
|
version = "1.21.1";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "TomWright";
|
owner = "TomWright";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-SJWIjizPf0bRwanpnLpuqsWKjaCwc1wBV2sCPSqGiOs=";
|
sha256 = "sha256-M63KFQ+g4b0HiWlv1Kym0ulqZcCMdfU9SoLhpaI4q/o=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorSha256 = "sha256-u3KsMi63wOi1fCSLpGxATZNmbhoIAGeVpwcKh+nmi3k=";
|
vendorSha256 = "sha256-yP4iF3403WWgWAmBHiuOpDsIAUx4+KR8uKPfjy3qXt8=";
|
||||||
|
|
||||||
ldflags = [
|
ldflags = [
|
||||||
"-s" "-w" "-X github.com/tomwright/dasel/internal.Version=${version}"
|
"-s" "-w" "-X github.com/tomwright/dasel/internal.Version=${version}"
|
||||||
|
|
24
third_party/nixpkgs/pkgs/applications/misc/limesctl/default.nix
vendored
Normal file
24
third_party/nixpkgs/pkgs/applications/misc/limesctl/default.nix
vendored
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
{ lib, buildGoModule, fetchFromGitHub }:
|
||||||
|
|
||||||
|
buildGoModule rec {
|
||||||
|
pname = "limesctl";
|
||||||
|
version = "2.0.0";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "sapcc";
|
||||||
|
repo = pname;
|
||||||
|
rev = "v${version}";
|
||||||
|
sha256 = "sha256-fhmGVgJ/4xnf6pe8aXxx1KEmLInxm54my+qgSU4Vc/k=";
|
||||||
|
};
|
||||||
|
|
||||||
|
vendorSha256 = "sha256-9MlymY5gM9/K2+7/yTa3WaSIfDJ4gRf33vSCwdIpNqw=";
|
||||||
|
|
||||||
|
subPackages = [ "." ];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "CLI for Limes";
|
||||||
|
homepage = "https://github.com/sapcc/limesctl";
|
||||||
|
license = licenses.asl20;
|
||||||
|
maintainers = with maintainers; [ SuperSandro2000 ];
|
||||||
|
};
|
||||||
|
}
|
|
@ -20,13 +20,13 @@ assert withNerdIcons -> withIcons == false;
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "nnn";
|
pname = "nnn";
|
||||||
version = "4.2";
|
version = "4.3";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "jarun";
|
owner = "jarun";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-ICUF/LJhsbzDz9xZig1VE6TdG3u0C6Jf/61RoAjx3KI=";
|
sha256 = "sha256-kiLmdEyOnD1wPS2GuFF5nTK9tgUOI6PVCzCRZXdObEo=";
|
||||||
};
|
};
|
||||||
|
|
||||||
configFile = lib.optionalString (conf != null) (builtins.toFile "nnn.h" conf);
|
configFile = lib.optionalString (conf != null) (builtins.toFile "nnn.h" conf);
|
||||||
|
|
|
@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
|
||||||
|
|
||||||
install -D psi-notify $out/bin/psi-notify
|
install -D psi-notify $out/bin/psi-notify
|
||||||
substituteInPlace psi-notify.service --replace psi-notify $out/bin/psi-notify
|
substituteInPlace psi-notify.service --replace psi-notify $out/bin/psi-notify
|
||||||
install -D psi-notify.service $out/share/systemd/user/psi-notify.service
|
install -D psi-notify.service $out/lib/systemd/user/psi-notify.service
|
||||||
|
|
||||||
runHook postInstall
|
runHook postInstall
|
||||||
'';
|
'';
|
||||||
|
|
|
@ -1,4 +1,15 @@
|
||||||
{ lib, stdenv, fetchFromGitHub, rustPlatform, cmake, pkg-config, openssl, oniguruma, CoreServices, installShellFiles }:
|
{ lib
|
||||||
|
, stdenv
|
||||||
|
, fetchFromGitHub
|
||||||
|
, rustPlatform
|
||||||
|
, cmake
|
||||||
|
, pkg-config
|
||||||
|
, openssl
|
||||||
|
, oniguruma
|
||||||
|
, CoreServices
|
||||||
|
, installShellFiles
|
||||||
|
, libsass
|
||||||
|
}:
|
||||||
|
|
||||||
rustPlatform.buildRustPackage rec {
|
rustPlatform.buildRustPackage rec {
|
||||||
pname = "zola";
|
pname = "zola";
|
||||||
|
@ -13,9 +24,18 @@ rustPlatform.buildRustPackage rec {
|
||||||
|
|
||||||
cargoSha256 = "1hg8j9a8c6c3ap24jd96y07rlp4f0s2mkyx5034nlnkm3lj4q42n";
|
cargoSha256 = "1hg8j9a8c6c3ap24jd96y07rlp4f0s2mkyx5034nlnkm3lj4q42n";
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake pkg-config installShellFiles];
|
nativeBuildInputs = [
|
||||||
buildInputs = [ openssl oniguruma ]
|
cmake
|
||||||
++ lib.optional stdenv.isDarwin CoreServices;
|
pkg-config
|
||||||
|
installShellFiles
|
||||||
|
];
|
||||||
|
buildInputs = [
|
||||||
|
openssl
|
||||||
|
oniguruma
|
||||||
|
libsass
|
||||||
|
] ++ lib.optionals stdenv.isDarwin [
|
||||||
|
CoreServices
|
||||||
|
];
|
||||||
|
|
||||||
RUSTONIG_SYSTEM_LIBONIG = true;
|
RUSTONIG_SYSTEM_LIBONIG = true;
|
||||||
|
|
||||||
|
|
|
@ -92,11 +92,11 @@ in
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "brave";
|
pname = "brave";
|
||||||
version = "1.29.77";
|
version = "1.30.86";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-browser_${version}_amd64.deb";
|
url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-browser_${version}_amd64.deb";
|
||||||
sha256 = "LJykdig44ACpvlaGogbwrbY9hCJT3CB4ZKDZ/IzaBOU=";
|
sha256 = "0pg29i01dm5gqfd3aagsc83dbx0n3051wfxi0r1c9l93dwm5bmq9";
|
||||||
};
|
};
|
||||||
|
|
||||||
dontConfigure = true;
|
dontConfigure = true;
|
||||||
|
@ -126,7 +126,7 @@ stdenv.mkDerivation rec {
|
||||||
|
|
||||||
ln -sf $BINARYWRAPPER $out/bin/brave
|
ln -sf $BINARYWRAPPER $out/bin/brave
|
||||||
|
|
||||||
for exe in $out/opt/brave.com/brave/{brave,crashpad_handler}; do
|
for exe in $out/opt/brave.com/brave/{brave,chrome_crashpad_handler}; do
|
||||||
patchelf \
|
patchelf \
|
||||||
--set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
|
--set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
|
||||||
--set-rpath "${rpath}" $exe
|
--set-rpath "${rpath}" $exe
|
||||||
|
|
|
@ -18,9 +18,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"beta": {
|
"beta": {
|
||||||
"version": "95.0.4638.17",
|
"version": "95.0.4638.32",
|
||||||
"sha256": "1v5r8m3wlwh6prcj7bd4zprsr4g43869lhxv43m207c5nlnqiriz",
|
"sha256": "1w904axixagn6gqcb90849q3qy0k3c6lgl0c97cb6m78l9xrrnbr",
|
||||||
"sha256bin64": "0h88gd8y4i2jmvhiwadbq6hzqygddym8jy1fhzp8qnwfhc30qm4m",
|
"sha256bin64": "1z7xx608sh8agdl98r7xk7s43d3qnfpd1jvgbl7l8fqd85ns11i0",
|
||||||
"deps": {
|
"deps": {
|
||||||
"gn": {
|
"gn": {
|
||||||
"version": "2021-08-11",
|
"version": "2021-08-11",
|
||||||
|
@ -31,15 +31,15 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"dev": {
|
"dev": {
|
||||||
"version": "96.0.4651.0",
|
"version": "96.0.4655.0",
|
||||||
"sha256": "0da1mhz3cy0k2igdh208i28k8fxca0yjfypvmj7624p7igrp4an6",
|
"sha256": "00gax7xqi1n4jiqwpff43c43mpqb5jakckwdfbgwhrp6h35xxdv1",
|
||||||
"sha256bin64": "1gslpdnpjp7w40lsl748rmbkbs31v22f2x45gahrijkvfrkgdqp9",
|
"sha256bin64": "1xyyz6p4qllzyd6wbdbhs6kp062dz40i03wrlsggb919bgp7ivnw",
|
||||||
"deps": {
|
"deps": {
|
||||||
"gn": {
|
"gn": {
|
||||||
"version": "2021-08-11",
|
"version": "2021-09-13",
|
||||||
"url": "https://gn.googlesource.com/gn",
|
"url": "https://gn.googlesource.com/gn",
|
||||||
"rev": "69ec4fca1fa69ddadae13f9e6b7507efa0675263",
|
"rev": "de86ec4176235871a7cb335756987e41246dae4a",
|
||||||
"sha256": "031znmkbm504iim5jvg3gmazj4qnkfc7zg8aymjsij18fhf7piz0"
|
"sha256": "0mlnsqcj06azz5cpwlafi5gg6pvf2s6x9qq02zl1sm2h288y152g"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
@ -196,11 +196,9 @@ stdenv.mkDerivation {
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Mozilla Firefox, free web browser (binary package)";
|
description = "Mozilla Firefox, free web browser (binary package)";
|
||||||
homepage = "http://www.mozilla.org/firefox/";
|
homepage = "http://www.mozilla.org/firefox/";
|
||||||
license = {
|
license = licenses.mpl20;
|
||||||
free = false;
|
|
||||||
url = "http://www.mozilla.org/en-US/foundation/trademarks/policy/";
|
|
||||||
};
|
|
||||||
platforms = builtins.attrNames mozillaPlatforms;
|
platforms = builtins.attrNames mozillaPlatforms;
|
||||||
|
hydraPlatforms = [];
|
||||||
maintainers = with maintainers; [ taku0 lovesegfault ];
|
maintainers = with maintainers; [ taku0 lovesegfault ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,16 +2,16 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "helmsman";
|
pname = "helmsman";
|
||||||
version = "3.7.3";
|
version = "3.7.5";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "Praqma";
|
owner = "Praqma";
|
||||||
repo = "helmsman";
|
repo = "helmsman";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-7WN4YjhPbsFZfoFuZzsN85a+kdEVlEzQ9CfWh4nxxTs=";
|
sha256 = "sha256-QJXCVcEf23oaTDemoCV/2aaajbubfXg0AfZrlSTS4Ag=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorSha256 = "sha256-XHgdVFGIzbPPYgv/T4TtvDDbKAe3niev4S5tu/nwSqg=";
|
vendorSha256 = "sha256-4imZrZfpR/5tw9ZFSTr7Gx4G9O1iHNE9YRYMOJFKvHU=";
|
||||||
|
|
||||||
doCheck = false;
|
doCheck = false;
|
||||||
|
|
||||||
|
|
|
@ -1,14 +1,14 @@
|
||||||
{ lib, buildGoModule, fetchFromGitHub, installShellFiles, k3sVersion ? "1.20.6-k3s1" }:
|
{ lib, buildGoModule, fetchFromGitHub, installShellFiles, k3sVersion ? "1.21.3-k3s1" }:
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "kube3d";
|
pname = "kube3d";
|
||||||
version = "4.4.7";
|
version = "4.4.8";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "rancher";
|
owner = "rancher";
|
||||||
repo = "k3d";
|
repo = "k3d";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-S1vHmXUCP1ayPo3vvHAbNCqNm1ueJ0jE4NUBvg5P3MU=";
|
sha256 = "sha256-PdbAkiua9AdcNDCpu4UILsmAz0nb4nLjahYomGSHqnc=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorSha256 = null;
|
vendorSha256 = null;
|
||||||
|
@ -17,10 +17,9 @@ buildGoModule rec {
|
||||||
|
|
||||||
excludedPackages = "\\(tools\\|docgen\\)";
|
excludedPackages = "\\(tools\\|docgen\\)";
|
||||||
|
|
||||||
ldflags = let t = "github.com/rancher/k3d/v4/version"; in
|
ldflags =
|
||||||
[
|
let t = "github.com/rancher/k3d/v4/version"; in
|
||||||
"-s" "-w" "-X ${t}.Version=v${version}" "-X ${t}.K3sVersion=v${k3sVersion}"
|
[ "-s" "-w" "-X ${t}.Version=v${version}" "-X ${t}.K3sVersion=v${k3sVersion}" ];
|
||||||
];
|
|
||||||
|
|
||||||
doCheck = false;
|
doCheck = false;
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{ lib, buildGoPackage, fetchFromGitHub, ... }:
|
{ lib, buildGoPackage, fetchFromGitHub, ... }:
|
||||||
|
|
||||||
let version = "0.20.0"; in
|
let version = "0.21.0"; in
|
||||||
|
|
||||||
buildGoPackage {
|
buildGoPackage {
|
||||||
pname = "kubecfg";
|
pname = "kubecfg";
|
||||||
|
@ -10,7 +10,7 @@ buildGoPackage {
|
||||||
owner = "bitnami";
|
owner = "bitnami";
|
||||||
repo = "kubecfg";
|
repo = "kubecfg";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-7lBIqaozVBoiYYOTqAxq9h2N+Y3JFwLaunCykILOmPU=";
|
sha256 = "sha256-Wu7+Xmb7ha3OG37DzLg2+/Sr9hB5oD3OIkC9h9Fa4QA=";
|
||||||
};
|
};
|
||||||
|
|
||||||
goPackagePath = "github.com/bitnami/kubecfg";
|
goPackagePath = "github.com/bitnami/kubecfg";
|
||||||
|
|
|
@ -11,9 +11,9 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "minikube";
|
pname = "minikube";
|
||||||
version = "1.23.0";
|
version = "1.23.2";
|
||||||
|
|
||||||
vendorSha256 = "sha256-KhUmyQn97rXX49EFqUrR7UEm0J5gIdogUJMVW1Wjrdw=";
|
vendorSha256 = "sha256-Q6DadAmx/8TM+MrdaKgAjn0sVrKqTYoWdsmnN77yfKA=";
|
||||||
|
|
||||||
doCheck = false;
|
doCheck = false;
|
||||||
|
|
||||||
|
@ -21,7 +21,7 @@ buildGoModule rec {
|
||||||
owner = "kubernetes";
|
owner = "kubernetes";
|
||||||
repo = "minikube";
|
repo = "minikube";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-Cf77qaAsavkSpSoBJz3kcPzL2SL7X9O9lCTYcm1tFFQ=";
|
sha256 = "sha256-PIgzGikVIno2Gd+kSjF4kLHuUKgPrPHoIJxAGblI8RQ=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ installShellFiles pkg-config which ];
|
nativeBuildInputs = [ installShellFiles pkg-config which ];
|
||||||
|
|
|
@ -2,13 +2,13 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "multus-cni";
|
pname = "multus-cni";
|
||||||
version = "3.7.2";
|
version = "3.8";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "k8snetworkplumbingwg";
|
owner = "k8snetworkplumbingwg";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-eVYRbMijOEa+DNCm4w/+WVrTI9607NF9/l5YKkXJuFs=";
|
sha256 = "sha256-wG6SRts3+bmeMkfScyNorsBvRl/hxe+CUnL0rwfknpc=";
|
||||||
};
|
};
|
||||||
|
|
||||||
ldflags = let
|
ldflags = let
|
||||||
|
|
|
@ -195,8 +195,8 @@ rec {
|
||||||
};
|
};
|
||||||
|
|
||||||
terraform_1_0 = mkTerraform {
|
terraform_1_0 = mkTerraform {
|
||||||
version = "1.0.7";
|
version = "1.0.8";
|
||||||
sha256 = "115gb4mqz7lzyb80psbfy10k4h09fbvb1l8iz7kg63ajx69fnasy";
|
sha256 = "1755m3h9iz086znjpkhxjbyl3jaxpsqmk73infn9wbhql8pq2wil";
|
||||||
vendorSha256 = "00cl42w1mzsi9qd09wydfvp5f2h7lxaay6s2dv0mf47k6h7prf42";
|
vendorSha256 = "00cl42w1mzsi9qd09wydfvp5f2h7lxaay6s2dv0mf47k6h7prf42";
|
||||||
patches = [ ./provider-path-0_15.patch ];
|
patches = [ ./provider-path-0_15.patch ];
|
||||||
passthru = { inherit plugins; };
|
passthru = { inherit plugins; };
|
||||||
|
|
|
@ -2,13 +2,13 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "terragrunt";
|
pname = "terragrunt";
|
||||||
version = "0.32.2";
|
version = "0.33.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "gruntwork-io";
|
owner = "gruntwork-io";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-1s6/Xn/NsClG7YvRyzpvzMy8HmDITNCQUJxHaA84470=";
|
sha256 = "sha256-FvgB0jG6PEvhrT9Au/Uv9XSgKx+zNw8zETpg2dJ6QX4=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorSha256 = "sha256-y84EFmoJS4SeA5YFIVFU0iWa5NnjU5yvOj7OFE+jGN0=";
|
vendorSha256 = "sha256-y84EFmoJS4SeA5YFIVFU0iWa5NnjU5yvOj7OFE+jGN0=";
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
"name": "element-desktop",
|
"name": "element-desktop",
|
||||||
"productName": "Element",
|
"productName": "Element",
|
||||||
"main": "lib/electron-main.js",
|
"main": "lib/electron-main.js",
|
||||||
"version": "1.8.5",
|
"version": "1.9.0",
|
||||||
"description": "A feature-rich client for Matrix.org",
|
"description": "A feature-rich client for Matrix.org",
|
||||||
"author": "Element",
|
"author": "Element",
|
||||||
"repository": {
|
"repository": {
|
||||||
|
@ -57,7 +57,7 @@
|
||||||
"allchange": "^1.0.2",
|
"allchange": "^1.0.2",
|
||||||
"asar": "^2.0.1",
|
"asar": "^2.0.1",
|
||||||
"chokidar": "^3.5.2",
|
"chokidar": "^3.5.2",
|
||||||
"electron": "^13.1.9",
|
"electron": "13",
|
||||||
"electron-builder": "22.11.4",
|
"electron-builder": "22.11.4",
|
||||||
"electron-builder-squirrel-windows": "22.11.4",
|
"electron-builder-squirrel-windows": "22.11.4",
|
||||||
"electron-devtools-installer": "^3.1.1",
|
"electron-devtools-installer": "^3.1.1",
|
||||||
|
@ -83,7 +83,7 @@
|
||||||
},
|
},
|
||||||
"build": {
|
"build": {
|
||||||
"appId": "im.riot.app",
|
"appId": "im.riot.app",
|
||||||
"electronVersion": "13.2.2",
|
"electronVersion": "13.4.0",
|
||||||
"files": [
|
"files": [
|
||||||
"package.json",
|
"package.json",
|
||||||
{
|
{
|
||||||
|
|
|
@ -42,43 +42,43 @@
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name = "_babel_generator___generator_7.15.0.tgz";
|
name = "_babel_generator___generator_7.15.4.tgz";
|
||||||
path = fetchurl {
|
path = fetchurl {
|
||||||
name = "_babel_generator___generator_7.15.0.tgz";
|
name = "_babel_generator___generator_7.15.4.tgz";
|
||||||
url = "https://registry.yarnpkg.com/@babel/generator/-/generator-7.15.0.tgz";
|
url = "https://registry.yarnpkg.com/@babel/generator/-/generator-7.15.4.tgz";
|
||||||
sha1 = "a7d0c172e0d814974bad5aa77ace543b97917f15";
|
sha1 = "85acb159a267ca6324f9793986991ee2022a05b0";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name = "_babel_helper_function_name___helper_function_name_7.14.5.tgz";
|
name = "_babel_helper_function_name___helper_function_name_7.15.4.tgz";
|
||||||
path = fetchurl {
|
path = fetchurl {
|
||||||
name = "_babel_helper_function_name___helper_function_name_7.14.5.tgz";
|
name = "_babel_helper_function_name___helper_function_name_7.15.4.tgz";
|
||||||
url = "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.14.5.tgz";
|
url = "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.15.4.tgz";
|
||||||
sha1 = "89e2c474972f15d8e233b52ee8c480e2cfcd50c4";
|
sha1 = "845744dafc4381a4a5fb6afa6c3d36f98a787ebc";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name = "_babel_helper_get_function_arity___helper_get_function_arity_7.14.5.tgz";
|
name = "_babel_helper_get_function_arity___helper_get_function_arity_7.15.4.tgz";
|
||||||
path = fetchurl {
|
path = fetchurl {
|
||||||
name = "_babel_helper_get_function_arity___helper_get_function_arity_7.14.5.tgz";
|
name = "_babel_helper_get_function_arity___helper_get_function_arity_7.15.4.tgz";
|
||||||
url = "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.14.5.tgz";
|
url = "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.15.4.tgz";
|
||||||
sha1 = "25fbfa579b0937eee1f3b805ece4ce398c431815";
|
sha1 = "098818934a137fce78b536a3e015864be1e2879b";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name = "_babel_helper_hoist_variables___helper_hoist_variables_7.14.5.tgz";
|
name = "_babel_helper_hoist_variables___helper_hoist_variables_7.15.4.tgz";
|
||||||
path = fetchurl {
|
path = fetchurl {
|
||||||
name = "_babel_helper_hoist_variables___helper_hoist_variables_7.14.5.tgz";
|
name = "_babel_helper_hoist_variables___helper_hoist_variables_7.15.4.tgz";
|
||||||
url = "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.14.5.tgz";
|
url = "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.15.4.tgz";
|
||||||
sha1 = "e0dd27c33a78e577d7c8884916a3e7ef1f7c7f8d";
|
sha1 = "09993a3259c0e918f99d104261dfdfc033f178df";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name = "_babel_helper_split_export_declaration___helper_split_export_declaration_7.14.5.tgz";
|
name = "_babel_helper_split_export_declaration___helper_split_export_declaration_7.15.4.tgz";
|
||||||
path = fetchurl {
|
path = fetchurl {
|
||||||
name = "_babel_helper_split_export_declaration___helper_split_export_declaration_7.14.5.tgz";
|
name = "_babel_helper_split_export_declaration___helper_split_export_declaration_7.15.4.tgz";
|
||||||
url = "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.14.5.tgz";
|
url = "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.15.4.tgz";
|
||||||
sha1 = "22b23a54ef51c2b7605d851930c1976dd0bc693a";
|
sha1 = "aecab92dcdbef6a10aa3b62ab204b085f776e257";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
|
@ -98,43 +98,43 @@
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name = "_babel_parser___parser_7.15.3.tgz";
|
name = "_babel_parser___parser_7.15.6.tgz";
|
||||||
path = fetchurl {
|
path = fetchurl {
|
||||||
name = "_babel_parser___parser_7.15.3.tgz";
|
name = "_babel_parser___parser_7.15.6.tgz";
|
||||||
url = "https://registry.yarnpkg.com/@babel/parser/-/parser-7.15.3.tgz";
|
url = "https://registry.yarnpkg.com/@babel/parser/-/parser-7.15.6.tgz";
|
||||||
sha1 = "3416d9bea748052cfcb63dbcc27368105b1ed862";
|
sha1 = "043b9aa3c303c0722e5377fef9197f4cf1796549";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name = "_babel_runtime___runtime_7.15.3.tgz";
|
name = "_babel_runtime___runtime_7.15.4.tgz";
|
||||||
path = fetchurl {
|
path = fetchurl {
|
||||||
name = "_babel_runtime___runtime_7.15.3.tgz";
|
name = "_babel_runtime___runtime_7.15.4.tgz";
|
||||||
url = "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.15.3.tgz";
|
url = "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.15.4.tgz";
|
||||||
sha1 = "2e1c2880ca118e5b2f9988322bd8a7656a32502b";
|
sha1 = "fd17d16bfdf878e6dd02d19753a39fa8a8d9c84a";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name = "_babel_template___template_7.14.5.tgz";
|
name = "_babel_template___template_7.15.4.tgz";
|
||||||
path = fetchurl {
|
path = fetchurl {
|
||||||
name = "_babel_template___template_7.14.5.tgz";
|
name = "_babel_template___template_7.15.4.tgz";
|
||||||
url = "https://registry.yarnpkg.com/@babel/template/-/template-7.14.5.tgz";
|
url = "https://registry.yarnpkg.com/@babel/template/-/template-7.15.4.tgz";
|
||||||
sha1 = "a9bc9d8b33354ff6e55a9c60d1109200a68974f4";
|
sha1 = "51898d35dcf3faa670c4ee6afcfd517ee139f194";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name = "_babel_traverse___traverse_7.15.0.tgz";
|
name = "_babel_traverse___traverse_7.15.4.tgz";
|
||||||
path = fetchurl {
|
path = fetchurl {
|
||||||
name = "_babel_traverse___traverse_7.15.0.tgz";
|
name = "_babel_traverse___traverse_7.15.4.tgz";
|
||||||
url = "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.15.0.tgz";
|
url = "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.15.4.tgz";
|
||||||
sha1 = "4cca838fd1b2a03283c1f38e141f639d60b3fc98";
|
sha1 = "ff8510367a144bfbff552d9e18e28f3e2889c22d";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name = "_babel_types___types_7.15.0.tgz";
|
name = "_babel_types___types_7.15.6.tgz";
|
||||||
path = fetchurl {
|
path = fetchurl {
|
||||||
name = "_babel_types___types_7.15.0.tgz";
|
name = "_babel_types___types_7.15.6.tgz";
|
||||||
url = "https://registry.yarnpkg.com/@babel/types/-/types-7.15.0.tgz";
|
url = "https://registry.yarnpkg.com/@babel/types/-/types-7.15.6.tgz";
|
||||||
sha1 = "61af11f2286c4e9c69ca8deb5f4375a73c72dcbd";
|
sha1 = "99abdc48218b2881c058dd0a7ab05b99c9be758f";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
|
@ -169,6 +169,14 @@
|
||||||
sha1 = "d736d6963d7003b6514e6324bec9c602ac340318";
|
sha1 = "d736d6963d7003b6514e6324bec9c602ac340318";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
{
|
||||||
|
name = "_gar_promisify___promisify_1.1.2.tgz";
|
||||||
|
path = fetchurl {
|
||||||
|
name = "_gar_promisify___promisify_1.1.2.tgz";
|
||||||
|
url = "https://registry.yarnpkg.com/@gar/promisify/-/promisify-1.1.2.tgz";
|
||||||
|
sha1 = "30aa825f11d438671d585bd44e7fd564535fc210";
|
||||||
|
};
|
||||||
|
}
|
||||||
{
|
{
|
||||||
name = "_jimp_bmp___bmp_0.16.1.tgz";
|
name = "_jimp_bmp___bmp_0.16.1.tgz";
|
||||||
path = fetchurl {
|
path = fetchurl {
|
||||||
|
@ -457,6 +465,14 @@
|
||||||
sha1 = "e95737e8bb6746ddedf69c556953494f196fe69a";
|
sha1 = "e95737e8bb6746ddedf69c556953494f196fe69a";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
{
|
||||||
|
name = "_npmcli_fs___fs_1.0.0.tgz";
|
||||||
|
path = fetchurl {
|
||||||
|
name = "_npmcli_fs___fs_1.0.0.tgz";
|
||||||
|
url = "https://registry.yarnpkg.com/@npmcli/fs/-/fs-1.0.0.tgz";
|
||||||
|
sha1 = "589612cfad3a6ea0feafcb901d29c63fd52db09f";
|
||||||
|
};
|
||||||
|
}
|
||||||
{
|
{
|
||||||
name = "_npmcli_git___git_2.1.0.tgz";
|
name = "_npmcli_git___git_2.1.0.tgz";
|
||||||
path = fetchurl {
|
path = fetchurl {
|
||||||
|
@ -530,27 +546,27 @@
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name = "_octokit_graphql___graphql_4.6.4.tgz";
|
name = "_octokit_graphql___graphql_4.8.0.tgz";
|
||||||
path = fetchurl {
|
path = fetchurl {
|
||||||
name = "_octokit_graphql___graphql_4.6.4.tgz";
|
name = "_octokit_graphql___graphql_4.8.0.tgz";
|
||||||
url = "https://registry.yarnpkg.com/@octokit/graphql/-/graphql-4.6.4.tgz";
|
url = "https://registry.yarnpkg.com/@octokit/graphql/-/graphql-4.8.0.tgz";
|
||||||
sha1 = "0c3f5bed440822182e972317122acb65d311a5ed";
|
sha1 = "664d9b11c0e12112cbf78e10f49a05959aa22cc3";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name = "_octokit_openapi_types___openapi_types_9.7.0.tgz";
|
name = "_octokit_openapi_types___openapi_types_10.2.2.tgz";
|
||||||
path = fetchurl {
|
path = fetchurl {
|
||||||
name = "_octokit_openapi_types___openapi_types_9.7.0.tgz";
|
name = "_octokit_openapi_types___openapi_types_10.2.2.tgz";
|
||||||
url = "https://registry.yarnpkg.com/@octokit/openapi-types/-/openapi-types-9.7.0.tgz";
|
url = "https://registry.yarnpkg.com/@octokit/openapi-types/-/openapi-types-10.2.2.tgz";
|
||||||
sha1 = "9897cdefd629cd88af67b8dbe2e5fb19c63426b2";
|
sha1 = "6c1c839d7d169feabaf1d2a69c79439c75d979cd";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name = "_octokit_plugin_paginate_rest___plugin_paginate_rest_2.15.1.tgz";
|
name = "_octokit_plugin_paginate_rest___plugin_paginate_rest_2.16.3.tgz";
|
||||||
path = fetchurl {
|
path = fetchurl {
|
||||||
name = "_octokit_plugin_paginate_rest___plugin_paginate_rest_2.15.1.tgz";
|
name = "_octokit_plugin_paginate_rest___plugin_paginate_rest_2.16.3.tgz";
|
||||||
url = "https://registry.yarnpkg.com/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.15.1.tgz";
|
url = "https://registry.yarnpkg.com/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.16.3.tgz";
|
||||||
sha1 = "264189dd3ce881c6c33758824aac05a4002e056a";
|
sha1 = "6dbf74a12a53e04da6ca731d4c93f20c0b5c6fe9";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
|
@ -562,11 +578,11 @@
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name = "_octokit_plugin_rest_endpoint_methods___plugin_rest_endpoint_methods_5.8.0.tgz";
|
name = "_octokit_plugin_rest_endpoint_methods___plugin_rest_endpoint_methods_5.10.4.tgz";
|
||||||
path = fetchurl {
|
path = fetchurl {
|
||||||
name = "_octokit_plugin_rest_endpoint_methods___plugin_rest_endpoint_methods_5.8.0.tgz";
|
name = "_octokit_plugin_rest_endpoint_methods___plugin_rest_endpoint_methods_5.10.4.tgz";
|
||||||
url = "https://registry.yarnpkg.com/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.8.0.tgz";
|
url = "https://registry.yarnpkg.com/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.10.4.tgz";
|
||||||
sha1 = "33b342fe41f2603fdf8b958e6652103bb3ea3f3b";
|
sha1 = "97e85eb7375e30b9bf193894670f9da205e79408";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
|
@ -586,19 +602,19 @@
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name = "_octokit_rest___rest_18.9.1.tgz";
|
name = "_octokit_rest___rest_18.10.0.tgz";
|
||||||
path = fetchurl {
|
path = fetchurl {
|
||||||
name = "_octokit_rest___rest_18.9.1.tgz";
|
name = "_octokit_rest___rest_18.10.0.tgz";
|
||||||
url = "https://registry.yarnpkg.com/@octokit/rest/-/rest-18.9.1.tgz";
|
url = "https://registry.yarnpkg.com/@octokit/rest/-/rest-18.10.0.tgz";
|
||||||
sha1 = "db1d7ac1d7b10e908f7d4b78fe35a392554ccb26";
|
sha1 = "8a0add9611253e0e31d3ed5b4bc941a3795a7648";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name = "_octokit_types___types_6.25.0.tgz";
|
name = "_octokit_types___types_6.28.1.tgz";
|
||||||
path = fetchurl {
|
path = fetchurl {
|
||||||
name = "_octokit_types___types_6.25.0.tgz";
|
name = "_octokit_types___types_6.28.1.tgz";
|
||||||
url = "https://registry.yarnpkg.com/@octokit/types/-/types-6.25.0.tgz";
|
url = "https://registry.yarnpkg.com/@octokit/types/-/types-6.28.1.tgz";
|
||||||
sha1 = "c8e37e69dbe7ce55ed98ee63f75054e7e808bf1a";
|
sha1 = "ab990d1fe952226055e81c7650480e6bacfb877c";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
|
@ -698,19 +714,19 @@
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name = "_types_node___node_16.7.1.tgz";
|
name = "_types_node___node_16.9.1.tgz";
|
||||||
path = fetchurl {
|
path = fetchurl {
|
||||||
name = "_types_node___node_16.7.1.tgz";
|
name = "_types_node___node_16.9.1.tgz";
|
||||||
url = "https://registry.yarnpkg.com/@types/node/-/node-16.7.1.tgz";
|
url = "https://registry.yarnpkg.com/@types/node/-/node-16.9.1.tgz";
|
||||||
sha1 = "c6b9198178da504dfca1fd0be9b2e1002f1586f0";
|
sha1 = "0611b37db4246c937feef529ddcc018cf8e35708";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name = "_types_node___node_14.17.11.tgz";
|
name = "_types_node___node_14.17.16.tgz";
|
||||||
path = fetchurl {
|
path = fetchurl {
|
||||||
name = "_types_node___node_14.17.11.tgz";
|
name = "_types_node___node_14.17.16.tgz";
|
||||||
url = "https://registry.yarnpkg.com/@types/node/-/node-14.17.11.tgz";
|
url = "https://registry.yarnpkg.com/@types/node/-/node-14.17.16.tgz";
|
||||||
sha1 = "82d266d657aec5ff01ca59f2ffaff1bb43f7bf0f";
|
sha1 = "2b9252bd4fdf0393696190cd9550901dd967c777";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
|
@ -746,59 +762,59 @@
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name = "_typescript_eslint_eslint_plugin___eslint_plugin_4.29.3.tgz";
|
name = "_typescript_eslint_eslint_plugin___eslint_plugin_4.31.1.tgz";
|
||||||
path = fetchurl {
|
path = fetchurl {
|
||||||
name = "_typescript_eslint_eslint_plugin___eslint_plugin_4.29.3.tgz";
|
name = "_typescript_eslint_eslint_plugin___eslint_plugin_4.31.1.tgz";
|
||||||
url = "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.29.3.tgz";
|
url = "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.31.1.tgz";
|
||||||
sha1 = "95cb8029a8bd8bd9c7f4ab95074a7cb2115adefa";
|
sha1 = "e938603a136f01dcabeece069da5fb2e331d4498";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name = "_typescript_eslint_experimental_utils___experimental_utils_4.29.3.tgz";
|
name = "_typescript_eslint_experimental_utils___experimental_utils_4.31.1.tgz";
|
||||||
path = fetchurl {
|
path = fetchurl {
|
||||||
name = "_typescript_eslint_experimental_utils___experimental_utils_4.29.3.tgz";
|
name = "_typescript_eslint_experimental_utils___experimental_utils_4.31.1.tgz";
|
||||||
url = "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.29.3.tgz";
|
url = "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.31.1.tgz";
|
||||||
sha1 = "52e437a689ccdef73e83c5106b34240a706f15e1";
|
sha1 = "0c900f832f270b88e13e51753647b02d08371ce5";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name = "_typescript_eslint_parser___parser_4.29.3.tgz";
|
name = "_typescript_eslint_parser___parser_4.31.1.tgz";
|
||||||
path = fetchurl {
|
path = fetchurl {
|
||||||
name = "_typescript_eslint_parser___parser_4.29.3.tgz";
|
name = "_typescript_eslint_parser___parser_4.31.1.tgz";
|
||||||
url = "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.29.3.tgz";
|
url = "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.31.1.tgz";
|
||||||
sha1 = "2ac25535f34c0e98f50c0e6b28c679c2357d45f2";
|
sha1 = "8f9a2672033e6f6d33b1c0260eebdc0ddf539064";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name = "_typescript_eslint_scope_manager___scope_manager_4.29.3.tgz";
|
name = "_typescript_eslint_scope_manager___scope_manager_4.31.1.tgz";
|
||||||
path = fetchurl {
|
path = fetchurl {
|
||||||
name = "_typescript_eslint_scope_manager___scope_manager_4.29.3.tgz";
|
name = "_typescript_eslint_scope_manager___scope_manager_4.31.1.tgz";
|
||||||
url = "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.29.3.tgz";
|
url = "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.31.1.tgz";
|
||||||
sha1 = "497dec66f3a22e459f6e306cf14021e40ec86e19";
|
sha1 = "0c21e8501f608d6a25c842fcf59541ef4f1ab561";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name = "_typescript_eslint_types___types_4.29.3.tgz";
|
name = "_typescript_eslint_types___types_4.31.1.tgz";
|
||||||
path = fetchurl {
|
path = fetchurl {
|
||||||
name = "_typescript_eslint_types___types_4.29.3.tgz";
|
name = "_typescript_eslint_types___types_4.31.1.tgz";
|
||||||
url = "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.29.3.tgz";
|
url = "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.31.1.tgz";
|
||||||
sha1 = "d7980c49aef643d0af8954c9f14f656b7fd16017";
|
sha1 = "5f255b695627a13401d2fdba5f7138bc79450d66";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name = "_typescript_eslint_typescript_estree___typescript_estree_4.29.3.tgz";
|
name = "_typescript_eslint_typescript_estree___typescript_estree_4.31.1.tgz";
|
||||||
path = fetchurl {
|
path = fetchurl {
|
||||||
name = "_typescript_eslint_typescript_estree___typescript_estree_4.29.3.tgz";
|
name = "_typescript_eslint_typescript_estree___typescript_estree_4.31.1.tgz";
|
||||||
url = "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.29.3.tgz";
|
url = "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.31.1.tgz";
|
||||||
sha1 = "1bafad610015c4ded35c85a70b6222faad598b40";
|
sha1 = "4a04d5232cf1031232b7124a9c0310b577a62d17";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name = "_typescript_eslint_visitor_keys___visitor_keys_4.29.3.tgz";
|
name = "_typescript_eslint_visitor_keys___visitor_keys_4.31.1.tgz";
|
||||||
path = fetchurl {
|
path = fetchurl {
|
||||||
name = "_typescript_eslint_visitor_keys___visitor_keys_4.29.3.tgz";
|
name = "_typescript_eslint_visitor_keys___visitor_keys_4.31.1.tgz";
|
||||||
url = "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.29.3.tgz";
|
url = "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.31.1.tgz";
|
||||||
sha1 = "c691760a00bd86bf8320d2a90a93d86d322f1abf";
|
sha1 = "f2e7a14c7f20c4ae07d7fc3c5878c4441a1da9cc";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
|
@ -866,19 +882,19 @@
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name = "ajv___ajv_8.6.2.tgz";
|
name = "ajv___ajv_8.6.3.tgz";
|
||||||
path = fetchurl {
|
path = fetchurl {
|
||||||
name = "ajv___ajv_8.6.2.tgz";
|
name = "ajv___ajv_8.6.3.tgz";
|
||||||
url = "https://registry.yarnpkg.com/ajv/-/ajv-8.6.2.tgz";
|
url = "https://registry.yarnpkg.com/ajv/-/ajv-8.6.3.tgz";
|
||||||
sha1 = "2fb45e0e5fcbc0813326c1c3da535d1881bb0571";
|
sha1 = "11a66527761dc3e9a3845ea775d2d3c0414e8764";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name = "allchange___allchange_1.0.2.tgz";
|
name = "allchange___allchange_1.0.3.tgz";
|
||||||
path = fetchurl {
|
path = fetchurl {
|
||||||
name = "allchange___allchange_1.0.2.tgz";
|
name = "allchange___allchange_1.0.3.tgz";
|
||||||
url = "https://registry.yarnpkg.com/allchange/-/allchange-1.0.2.tgz";
|
url = "https://registry.yarnpkg.com/allchange/-/allchange-1.0.3.tgz";
|
||||||
sha1 = "86b9190e12b7ede4f230ae763cbd504c48fd907b";
|
sha1 = "f8814ddfbcfe39a01bf4570778ee7e6d9ff0ebb3";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
|
@ -922,11 +938,11 @@
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name = "ansi_regex___ansi_regex_5.0.0.tgz";
|
name = "ansi_regex___ansi_regex_5.0.1.tgz";
|
||||||
path = fetchurl {
|
path = fetchurl {
|
||||||
name = "ansi_regex___ansi_regex_5.0.0.tgz";
|
name = "ansi_regex___ansi_regex_5.0.1.tgz";
|
||||||
url = "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz";
|
url = "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz";
|
||||||
sha1 = "388539f55179bf39339c81af30a654d69f87cb75";
|
sha1 = "082cb2c89c9fe8659a311a53bd6a4dc5301db304";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
|
@ -1010,11 +1026,11 @@
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name = "are_we_there_yet___are_we_there_yet_1.1.5.tgz";
|
name = "are_we_there_yet___are_we_there_yet_1.1.7.tgz";
|
||||||
path = fetchurl {
|
path = fetchurl {
|
||||||
name = "are_we_there_yet___are_we_there_yet_1.1.5.tgz";
|
name = "are_we_there_yet___are_we_there_yet_1.1.7.tgz";
|
||||||
url = "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz";
|
url = "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.7.tgz";
|
||||||
sha1 = "4b35c2944f062a8bfcda66410760350fe9ddfc21";
|
sha1 = "b15474a932adab4ff8a50d9adfa7e4e926f21146";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
|
@ -1050,11 +1066,11 @@
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name = "asar___asar_3.0.3.tgz";
|
name = "asar___asar_3.1.0.tgz";
|
||||||
path = fetchurl {
|
path = fetchurl {
|
||||||
name = "asar___asar_3.0.3.tgz";
|
name = "asar___asar_3.1.0.tgz";
|
||||||
url = "https://registry.yarnpkg.com/asar/-/asar-3.0.3.tgz";
|
url = "https://registry.yarnpkg.com/asar/-/asar-3.1.0.tgz";
|
||||||
sha1 = "1fef03c2d6d2de0cbad138788e4f7ae03b129c7b";
|
sha1 = "70b0509449fe3daccc63beb4d3c7d2e24d3c6473";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
|
@ -1234,11 +1250,11 @@
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name = "boxen___boxen_5.0.1.tgz";
|
name = "boxen___boxen_5.1.1.tgz";
|
||||||
path = fetchurl {
|
path = fetchurl {
|
||||||
name = "boxen___boxen_5.0.1.tgz";
|
name = "boxen___boxen_5.1.1.tgz";
|
||||||
url = "https://registry.yarnpkg.com/boxen/-/boxen-5.0.1.tgz";
|
url = "https://registry.yarnpkg.com/boxen/-/boxen-5.1.1.tgz";
|
||||||
sha1 = "657528bdd3f59a772b8279b831f27ec2c744664b";
|
sha1 = "4faca6a437885add0bf8d99082e272d480814cd4";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
|
@ -1322,11 +1338,11 @@
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name = "cacache___cacache_15.2.0.tgz";
|
name = "cacache___cacache_15.3.0.tgz";
|
||||||
path = fetchurl {
|
path = fetchurl {
|
||||||
name = "cacache___cacache_15.2.0.tgz";
|
name = "cacache___cacache_15.3.0.tgz";
|
||||||
url = "https://registry.yarnpkg.com/cacache/-/cacache-15.2.0.tgz";
|
url = "https://registry.yarnpkg.com/cacache/-/cacache-15.3.0.tgz";
|
||||||
sha1 = "73af75f77c58e72d8c630a7a2858cb18ef523389";
|
sha1 = "dc85380fb2f556fe3dda4c719bfa0ec875a7f1eb";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
|
@ -1610,11 +1626,11 @@
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name = "core_js___core_js_3.16.3.tgz";
|
name = "core_js___core_js_3.17.3.tgz";
|
||||||
path = fetchurl {
|
path = fetchurl {
|
||||||
name = "core_js___core_js_3.16.3.tgz";
|
name = "core_js___core_js_3.17.3.tgz";
|
||||||
url = "https://registry.yarnpkg.com/core-js/-/core-js-3.16.3.tgz";
|
url = "https://registry.yarnpkg.com/core-js/-/core-js-3.17.3.tgz";
|
||||||
sha1 = "1f2d43c51a9ed014cc6c83440af14697ae4b75f2";
|
sha1 = "8e8bd20e91df9951e903cabe91f9af4a0895bc1e";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
|
@ -1625,6 +1641,14 @@
|
||||||
sha1 = "b5fd54220aa2bc5ab57aab7140c940754503c1a7";
|
sha1 = "b5fd54220aa2bc5ab57aab7140c940754503c1a7";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
{
|
||||||
|
name = "core_util_is___core_util_is_1.0.3.tgz";
|
||||||
|
path = fetchurl {
|
||||||
|
name = "core_util_is___core_util_is_1.0.3.tgz";
|
||||||
|
url = "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz";
|
||||||
|
sha1 = "a6042d3634c2b27e9328f837b965fac83808db85";
|
||||||
|
};
|
||||||
|
}
|
||||||
{
|
{
|
||||||
name = "counterpart___counterpart_0.18.6.tgz";
|
name = "counterpart___counterpart_0.18.6.tgz";
|
||||||
path = fetchurl {
|
path = fetchurl {
|
||||||
|
@ -1754,11 +1778,11 @@
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name = "deep_is___deep_is_0.1.3.tgz";
|
name = "deep_is___deep_is_0.1.4.tgz";
|
||||||
path = fetchurl {
|
path = fetchurl {
|
||||||
name = "deep_is___deep_is_0.1.3.tgz";
|
name = "deep_is___deep_is_0.1.4.tgz";
|
||||||
url = "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz";
|
url = "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz";
|
||||||
sha1 = "b369d6fb5dbc13eecf524f91b070feedc357cf34";
|
sha1 = "a6f2dce612fadd2ef1f519b73551f17e85199831";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
|
@ -1946,11 +1970,11 @@
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name = "electron_notarize___electron_notarize_1.1.0.tgz";
|
name = "electron_notarize___electron_notarize_1.1.1.tgz";
|
||||||
path = fetchurl {
|
path = fetchurl {
|
||||||
name = "electron_notarize___electron_notarize_1.1.0.tgz";
|
name = "electron_notarize___electron_notarize_1.1.1.tgz";
|
||||||
url = "https://registry.yarnpkg.com/electron-notarize/-/electron-notarize-1.1.0.tgz";
|
url = "https://registry.yarnpkg.com/electron-notarize/-/electron-notarize-1.1.1.tgz";
|
||||||
sha1 = "00ed0182366b97f5593cb5ccdcf1120f1de37179";
|
sha1 = "3ed274b36158c1beb1dbef14e7faf5927e028629";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
|
@ -1978,11 +2002,11 @@
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name = "electron___electron_13.2.2.tgz";
|
name = "electron___electron_13.4.0.tgz";
|
||||||
path = fetchurl {
|
path = fetchurl {
|
||||||
name = "electron___electron_13.2.2.tgz";
|
name = "electron___electron_13.4.0.tgz";
|
||||||
url = "https://registry.yarnpkg.com/electron/-/electron-13.2.2.tgz";
|
url = "https://registry.yarnpkg.com/electron/-/electron-13.4.0.tgz";
|
||||||
sha1 = "332d91891d0db4f9a1d22d4d0bc3b500e59dc051";
|
sha1 = "f9f9e518d8c6bf23bfa8b69580447eea3ca0f880";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
|
@ -2346,11 +2370,11 @@
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name = "fastq___fastq_1.12.0.tgz";
|
name = "fastq___fastq_1.13.0.tgz";
|
||||||
path = fetchurl {
|
path = fetchurl {
|
||||||
name = "fastq___fastq_1.12.0.tgz";
|
name = "fastq___fastq_1.13.0.tgz";
|
||||||
url = "https://registry.yarnpkg.com/fastq/-/fastq-1.12.0.tgz";
|
url = "https://registry.yarnpkg.com/fastq/-/fastq-1.13.0.tgz";
|
||||||
sha1 = "ed7b6ab5d62393fb2cc591c853652a5c318bf794";
|
sha1 = "616760f88a7526bdfc596b7cab8c18938c36b98c";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
|
@ -3602,11 +3626,11 @@
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name = "minipass_fetch___minipass_fetch_1.3.4.tgz";
|
name = "minipass_fetch___minipass_fetch_1.4.1.tgz";
|
||||||
path = fetchurl {
|
path = fetchurl {
|
||||||
name = "minipass_fetch___minipass_fetch_1.3.4.tgz";
|
name = "minipass_fetch___minipass_fetch_1.4.1.tgz";
|
||||||
url = "https://registry.yarnpkg.com/minipass-fetch/-/minipass-fetch-1.3.4.tgz";
|
url = "https://registry.yarnpkg.com/minipass-fetch/-/minipass-fetch-1.4.1.tgz";
|
||||||
sha1 = "63f5af868a38746ca7b33b03393ddf8c291244fe";
|
sha1 = "d75e0091daac1b0ffd7e9d41629faff7d0c1f1b6";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
|
@ -3650,11 +3674,11 @@
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name = "minipass___minipass_3.1.3.tgz";
|
name = "minipass___minipass_3.1.5.tgz";
|
||||||
path = fetchurl {
|
path = fetchurl {
|
||||||
name = "minipass___minipass_3.1.3.tgz";
|
name = "minipass___minipass_3.1.5.tgz";
|
||||||
url = "https://registry.yarnpkg.com/minipass/-/minipass-3.1.3.tgz";
|
url = "https://registry.yarnpkg.com/minipass/-/minipass-3.1.5.tgz";
|
||||||
sha1 = "7d42ff1f39635482e15f9cdb53184deebd5815fd";
|
sha1 = "71f6251b0a33a49c01b3cf97ff77eda030dff732";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
|
@ -3722,11 +3746,11 @@
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name = "needle___needle_2.9.0.tgz";
|
name = "needle___needle_2.9.1.tgz";
|
||||||
path = fetchurl {
|
path = fetchurl {
|
||||||
name = "needle___needle_2.9.0.tgz";
|
name = "needle___needle_2.9.1.tgz";
|
||||||
url = "https://registry.yarnpkg.com/needle/-/needle-2.9.0.tgz";
|
url = "https://registry.yarnpkg.com/needle/-/needle-2.9.1.tgz";
|
||||||
sha1 = "c680e401f99b6c3d8d1f315756052edf3dc3bdff";
|
sha1 = "22d1dffbe3490c2b83e301f7709b6736cd8f2684";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
|
@ -3762,11 +3786,11 @@
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name = "node_fetch___node_fetch_2.6.1.tgz";
|
name = "node_fetch___node_fetch_2.6.2.tgz";
|
||||||
path = fetchurl {
|
path = fetchurl {
|
||||||
name = "node_fetch___node_fetch_2.6.1.tgz";
|
name = "node_fetch___node_fetch_2.6.2.tgz";
|
||||||
url = "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.1.tgz";
|
url = "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.2.tgz";
|
||||||
sha1 = "045bd323631f76ed2e2b55573394416b639a0052";
|
sha1 = "986996818b73785e47b1965cc34eb093a1d464d0";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
|
@ -4178,11 +4202,11 @@
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name = "plist___plist_3.0.3.tgz";
|
name = "plist___plist_3.0.4.tgz";
|
||||||
path = fetchurl {
|
path = fetchurl {
|
||||||
name = "plist___plist_3.0.3.tgz";
|
name = "plist___plist_3.0.4.tgz";
|
||||||
url = "https://registry.yarnpkg.com/plist/-/plist-3.0.3.tgz";
|
url = "https://registry.yarnpkg.com/plist/-/plist-3.0.4.tgz";
|
||||||
sha1 = "007df34c7be0e2c3dcfcf460d623e6485457857d";
|
sha1 = "a62df837e3aed2bb3b735899d510c4f186019cbe";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
|
@ -4666,11 +4690,11 @@
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name = "socks_proxy_agent___socks_proxy_agent_6.0.0.tgz";
|
name = "socks_proxy_agent___socks_proxy_agent_6.1.0.tgz";
|
||||||
path = fetchurl {
|
path = fetchurl {
|
||||||
name = "socks_proxy_agent___socks_proxy_agent_6.0.0.tgz";
|
name = "socks_proxy_agent___socks_proxy_agent_6.1.0.tgz";
|
||||||
url = "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-6.0.0.tgz";
|
url = "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-6.1.0.tgz";
|
||||||
sha1 = "9f8749cdc05976505fa9f9a958b1818d0e60573b";
|
sha1 = "869cf2d7bd10fea96c7ad3111e81726855e285c3";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
|
@ -4682,11 +4706,11 @@
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name = "source_map_support___source_map_support_0.5.19.tgz";
|
name = "source_map_support___source_map_support_0.5.20.tgz";
|
||||||
path = fetchurl {
|
path = fetchurl {
|
||||||
name = "source_map_support___source_map_support_0.5.19.tgz";
|
name = "source_map_support___source_map_support_0.5.20.tgz";
|
||||||
url = "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz";
|
url = "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.20.tgz";
|
||||||
sha1 = "a98b62f86dcaf4f67399648c085291ab9e8fed61";
|
sha1 = "12166089f8f5e5e8c56926b377633392dd2cb6c9";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
|
@ -4890,11 +4914,11 @@
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name = "tar___tar_6.1.10.tgz";
|
name = "tar___tar_6.1.11.tgz";
|
||||||
path = fetchurl {
|
path = fetchurl {
|
||||||
name = "tar___tar_6.1.10.tgz";
|
name = "tar___tar_6.1.11.tgz";
|
||||||
url = "https://registry.yarnpkg.com/tar/-/tar-6.1.10.tgz";
|
url = "https://registry.yarnpkg.com/tar/-/tar-6.1.11.tgz";
|
||||||
sha1 = "8a320a74475fba54398fa136cd9883aa8ad11175";
|
sha1 = "6760a38f003afa1b2ffd0ffe9e9abbd0eab3d621";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
|
@ -5130,11 +5154,11 @@
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name = "typescript___typescript_4.3.5.tgz";
|
name = "typescript___typescript_4.4.3.tgz";
|
||||||
path = fetchurl {
|
path = fetchurl {
|
||||||
name = "typescript___typescript_4.3.5.tgz";
|
name = "typescript___typescript_4.4.3.tgz";
|
||||||
url = "https://registry.yarnpkg.com/typescript/-/typescript-4.3.5.tgz";
|
url = "https://registry.yarnpkg.com/typescript/-/typescript-4.4.3.tgz";
|
||||||
sha1 = "4d1c37cc16e893973c45a06886b7113234f119f4";
|
sha1 = "bdc5407caa2b109efd4f82fe130656f977a29324";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
|
@ -5409,14 +5433,6 @@
|
||||||
sha1 = "be9bae1c8a046e76b31127726347d0ad7002beb3";
|
sha1 = "be9bae1c8a046e76b31127726347d0ad7002beb3";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
{
|
|
||||||
name = "xmldom___xmldom_0.6.0.tgz";
|
|
||||||
path = fetchurl {
|
|
||||||
name = "xmldom___xmldom_0.6.0.tgz";
|
|
||||||
url = "https://registry.yarnpkg.com/xmldom/-/xmldom-0.6.0.tgz";
|
|
||||||
sha1 = "43a96ecb8beece991cef382c08397d82d4d0c46f";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
{
|
{
|
||||||
name = "xtend___xtend_4.0.2.tgz";
|
name = "xtend___xtend_4.0.2.tgz";
|
||||||
path = fetchurl {
|
path = fetchurl {
|
||||||
|
|
|
@ -19,12 +19,12 @@
|
||||||
|
|
||||||
let
|
let
|
||||||
executableName = "element-desktop";
|
executableName = "element-desktop";
|
||||||
version = "1.8.5";
|
version = "1.9.0";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "vector-im";
|
owner = "vector-im";
|
||||||
repo = "element-desktop";
|
repo = "element-desktop";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-i9PWGEcf+EOn6j++GuYt6xmwYycmW5hE5xhpRMOFBGM=";
|
sha256 = "sha256-vsLu41n3oCSyyPLgASs7jZViu6DPkWmMfSO7414VPO4=";
|
||||||
};
|
};
|
||||||
electron_exec = if stdenv.isDarwin then "${electron}/Applications/Electron.app/Contents/MacOS/Electron" else "${electron}/bin/electron";
|
electron_exec = if stdenv.isDarwin then "${electron}/Applications/Electron.app/Contents/MacOS/Electron" else "${electron}/bin/electron";
|
||||||
in
|
in
|
||||||
|
|
|
@ -12,11 +12,11 @@ let
|
||||||
|
|
||||||
in stdenv.mkDerivation rec {
|
in stdenv.mkDerivation rec {
|
||||||
pname = "element-web";
|
pname = "element-web";
|
||||||
version = "1.8.5";
|
version = "1.9.0";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/vector-im/element-web/releases/download/v${version}/element-v${version}.tar.gz";
|
url = "https://github.com/vector-im/element-web/releases/download/v${version}/element-v${version}.tar.gz";
|
||||||
sha256 = "sha256-E3H6iXBRi4mnhu0mu96ly9f8AYOiMFf9zTcpjDmfHy4=";
|
sha256 = "sha256-QMLa1Bgz9feAAR9PKVXAzlRDztJBZnGIG+SsPgwvYRw=";
|
||||||
};
|
};
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
|
|
|
@ -4,7 +4,7 @@ with ocamlPackages;
|
||||||
|
|
||||||
buildDunePackage rec {
|
buildDunePackage rec {
|
||||||
pname = "jackline";
|
pname = "jackline";
|
||||||
version = "unstable-2021-04-23";
|
version = "unstable-2021-08-10";
|
||||||
|
|
||||||
minimumOCamlVersion = "4.08";
|
minimumOCamlVersion = "4.08";
|
||||||
|
|
||||||
|
@ -13,8 +13,8 @@ buildDunePackage rec {
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "hannesm";
|
owner = "hannesm";
|
||||||
repo = "jackline";
|
repo = "jackline";
|
||||||
rev = "861c59bb7cd27ad5c7558ff94cb0d0e8dca249e5";
|
rev = "73d87e9a62d534566bb0fbe64990d32d75487f11";
|
||||||
sha256 = "00waw5qr0n70i9l9b25r9ryfi836x4qrj046bb4k9qa4d0p8q1sa";
|
sha256 = "0wk574rqfg2vqz27nasxzwf67x51pj5fgl4vkc27r741dg4q6c5a";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInpts = [
|
nativeBuildInpts = [
|
||||||
|
|
|
@ -1,19 +1,20 @@
|
||||||
{ stdenv, callPackage, fetchurl, lib }:
|
{ stdenv, callPackage, fetchurl, lib }:
|
||||||
|
|
||||||
let
|
let
|
||||||
mkRambox = opts: callPackage (import ./rambox.nix opts) { };
|
mkRambox = opts: callPackage (import ./rambox.nix opts) {};
|
||||||
in mkRambox rec {
|
in
|
||||||
|
mkRambox rec {
|
||||||
pname = "rambox";
|
pname = "rambox";
|
||||||
version = "0.7.8";
|
version = "0.7.9";
|
||||||
|
|
||||||
src = {
|
src = {
|
||||||
x86_64-linux = fetchurl {
|
x86_64-linux = fetchurl {
|
||||||
url = "https://github.com/ramboxapp/community-edition/releases/download/${version}/Rambox-${version}-linux-x86_64.AppImage";
|
url = "https://github.com/ramboxapp/community-edition/releases/download/${version}/Rambox-${version}-linux-x86_64.AppImage";
|
||||||
sha256 = "1y3c9xh8594ay95rj9vaqxxzibwpc38n7ixxi2wnsrdbrqrwlc63";
|
sha256 = "19y4cmrfp79dr4hgl698imp4f3l1nhgvhh76j5laxg46ld71knil";
|
||||||
};
|
};
|
||||||
i686-linux = fetchurl {
|
i686-linux = fetchurl {
|
||||||
url = "https://github.com/ramboxapp/community-edition/releases/download/${version}/Rambox-${version}-linux-i386.AppImage";
|
url = "https://github.com/ramboxapp/community-edition/releases/download/${version}/Rambox-${version}-linux-i386.AppImage";
|
||||||
sha256 = "07sv384nd2i701fkjgsrlib8jfsa01bvj60gnqdwlnpphlknga3h";
|
sha256 = "13wiciyshyrabq2mvnssl2d6svia1kdvwx3dl26249iyif96xxvq";
|
||||||
};
|
};
|
||||||
}.${stdenv.system} or (throw "Unsupported system: ${stdenv.system}");
|
}.${stdenv.system} or (throw "Unsupported system: ${stdenv.system}");
|
||||||
|
|
||||||
|
@ -21,8 +22,8 @@ in mkRambox rec {
|
||||||
description = "Free and Open Source messaging and emailing app that combines common web applications into one";
|
description = "Free and Open Source messaging and emailing app that combines common web applications into one";
|
||||||
homepage = "https://rambox.pro";
|
homepage = "https://rambox.pro";
|
||||||
license = licenses.mit;
|
license = licenses.mit;
|
||||||
maintainers = with maintainers; [ ];
|
maintainers = with maintainers; [];
|
||||||
platforms = ["i686-linux" "x86_64-linux"];
|
platforms = [ "i686-linux" "x86_64-linux" ];
|
||||||
hydraPlatforms = [];
|
hydraPlatforms = [];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,7 +25,7 @@ let
|
||||||
else "");
|
else "");
|
||||||
in stdenv.mkDerivation rec {
|
in stdenv.mkDerivation rec {
|
||||||
pname = "signal-desktop";
|
pname = "signal-desktop";
|
||||||
version = "5.17.2"; # Please backport all updates to the stable channel.
|
version = "5.18.0"; # Please backport all updates to the stable channel.
|
||||||
# All releases have a limited lifetime and "expire" 90 days after the release.
|
# All releases have a limited lifetime and "expire" 90 days after the release.
|
||||||
# When releases "expire" the application becomes unusable until an update is
|
# When releases "expire" the application becomes unusable until an update is
|
||||||
# applied. The expiration date for the current release can be extracted with:
|
# applied. The expiration date for the current release can be extracted with:
|
||||||
|
@ -35,7 +35,7 @@ in stdenv.mkDerivation rec {
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://updates.signal.org/desktop/apt/pool/main/s/signal-desktop/signal-desktop_${version}_amd64.deb";
|
url = "https://updates.signal.org/desktop/apt/pool/main/s/signal-desktop/signal-desktop_${version}_amd64.deb";
|
||||||
sha256 = "1fmn2i6k3zh3d37234yxbawzf85fa66xybcli7xffli39czxbcj3";
|
sha256 = "1pajv9f6xl06597322swkjzhfqvlfavsbhbn1xnvy4r28i84mp7d";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
|
|
@ -1,655 +1,655 @@
|
||||||
{
|
{
|
||||||
version = "91.1.1";
|
version = "91.1.2";
|
||||||
sources = [
|
sources = [
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-x86_64/af/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-x86_64/af/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "af";
|
locale = "af";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "ba98ba0ac513e9f8ca047bd08b38e2391d5b67b4195c2c1ac7d90498e148ad6b";
|
sha256 = "f786ba47061600b2a4fce6dc537e4d5f41ef7e496ddd24e06e5cf2d2bc7ae615";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-x86_64/ar/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-x86_64/ar/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "ar";
|
locale = "ar";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "3514eadb52d000429f16417d3af5ce648cfdeaa583bb3602623f40abfca72fec";
|
sha256 = "70e13fa57939ec35fed7e537c282411e022e2e596af298ff68ed06d29149ad44";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-x86_64/ast/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-x86_64/ast/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "ast";
|
locale = "ast";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "c630ab402c6f166181474b0e7299dc24ff0de5ce92fa0894adbc3dbaf8878f59";
|
sha256 = "22ac54e15cc8d89412f26906b10d7274a90d86f298948998dabbbb63000fd9bd";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-x86_64/be/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-x86_64/be/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "be";
|
locale = "be";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "9f484652940fec35d9adad996e80092cedabc789952e083107b405992b1ecf9d";
|
sha256 = "bb59b38220fc5a2e429df9bf521610678b7b3c7e47e4a3208c9e0e54860ae098";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-x86_64/bg/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-x86_64/bg/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "bg";
|
locale = "bg";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "f784957e36cb9a92083c275eec887d3a6847439281e94346e5bf0e065ec23366";
|
sha256 = "7a0d50876f51664074b6eefd20dc727cea2d4a0feceb721c63fa9e3872ea6d07";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-x86_64/br/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-x86_64/br/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "br";
|
locale = "br";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "2817bf350195954464db3a936db3a3730c2d33dfea9333165e69418b627d575d";
|
sha256 = "8a49fe9b26d1a5c5b3c28209cbb6d81e785235f4e1b24e4638cf5a5fa720d68e";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-x86_64/ca/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-x86_64/ca/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "ca";
|
locale = "ca";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "176b8f2463267ad2aed07ca6966609c600615763caba662ac68c45b5d36e367c";
|
sha256 = "380d655a39c7f20067045cf2ec75e5bca0ba0e8291d187fd87ac42abbbce7dc7";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-x86_64/cak/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-x86_64/cak/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "cak";
|
locale = "cak";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "7ff8fc736dd4232801d0e50b154747827cc818fe76782b219d683a8b2bba8969";
|
sha256 = "ff12816d6dac6311b2f0a358ee4a30e80d3a346c9a2fc08c9c4d72b2e7421b03";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-x86_64/cs/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-x86_64/cs/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "cs";
|
locale = "cs";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "b6763048e3fab66a4f08fd8c868d7c9c51258c540801546546b7da3b2ea64693";
|
sha256 = "fc8ed1c83b76329aecd9b6b7b4c2278b2703dc267ef25ad973deefff01cbb29d";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-x86_64/cy/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-x86_64/cy/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "cy";
|
locale = "cy";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "810213d5f90387bd6f46436b1479b977248ec043235f2f97b7e8d0a3b296eaec";
|
sha256 = "50e10c11f341b75e4ca464911a7229d22073d72b53731ba92cbd39c52694e0d2";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-x86_64/da/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-x86_64/da/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "da";
|
locale = "da";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "2c85f4ea05fb03aaf88f4cb028375a628061f2699adde13f78cf6e76b7564e7d";
|
sha256 = "1c041fb7c71e9d0f07c82652129a6b48f2f633a7781c41a3c439dec1d7fcabee";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-x86_64/de/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-x86_64/de/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "de";
|
locale = "de";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "9a05ca5400224fbf0923a331e1ba986d38038df24340c6aee695c24f96f75e0e";
|
sha256 = "c9ed27ee3f1a631c6a7d7a5a854e48f3285b9f01c81bc9ee3611bbdd9f483cdc";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-x86_64/dsb/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-x86_64/dsb/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "dsb";
|
locale = "dsb";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "e06a84821ba0354e4d5efe0e080734e39f376ba3e1f1c385ab939fd4cb84301c";
|
sha256 = "3c00604247dee961915f2aff628bd7d1f53c4f7e48bb848ef6065e41f189495d";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-x86_64/el/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-x86_64/el/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "el";
|
locale = "el";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "32a1de995a05495721a4c6a6a74ec27b68c03d7b2121ea7d6ce6d295ceb8d328";
|
sha256 = "b9ad1ab6b7d33f477f51e4337d914f8f8d2f6d7bc1b3b884d8b71b17547c3fa0";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-x86_64/en-CA/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-x86_64/en-CA/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "en-CA";
|
locale = "en-CA";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "95f2dd81dc1958f2acd8a801fe7a87dfa0a00c6b91b8bd669f8e3caf6d90aad2";
|
sha256 = "80e6b5785d334bec69455ca5f5039bbd4fbebd663ea91d17d0fbe8e33d747670";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-x86_64/en-GB/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-x86_64/en-GB/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "en-GB";
|
locale = "en-GB";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "3177bce52669f44ae58ca447b54a86329cdb5b8006199e86fa66b5bfe96ac8a3";
|
sha256 = "da2388577784df3faad7b40566e2e1eab2b95dd9455a1e4e3ee43433f4fb189e";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-x86_64/en-US/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-x86_64/en-US/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "en-US";
|
locale = "en-US";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "c0331b86ef72bae3d769ca977b0c9adeb9a29145dab1eb0013f4d88fa9caeedc";
|
sha256 = "1354e3ad2989749fe79b404ccae3002de8b4e269c98388d9abebe456f3de47d2";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-x86_64/es-AR/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-x86_64/es-AR/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "es-AR";
|
locale = "es-AR";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "e2aee8223131a46bf99140ebdb56ab76ca03eb5eb66dfbee75f23520d95d1971";
|
sha256 = "f51d4a1109d30d4857673575aef173026e2c90fc7ece6835a34a0e792672cf8b";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-x86_64/es-ES/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-x86_64/es-ES/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "es-ES";
|
locale = "es-ES";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "c8e189dc7a57d47c6dba9e4cda3068b327fa10cff3818e97a4942c71c1d0cc87";
|
sha256 = "38196b265eeaef2222e624e2fb0cb7742b2171965aa0725b3d524e9199ea4f91";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-x86_64/et/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-x86_64/et/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "et";
|
locale = "et";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "76e094d63467fb36622b64361f86041f0e6361a4fb1f1702c8a0e88bc57cfc96";
|
sha256 = "ab3b04c02b730f92db4f24daac688e1966349cf4c978ed06138285fcb2d72769";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-x86_64/eu/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-x86_64/eu/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "eu";
|
locale = "eu";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "8f09dc4bbbb76b660acf4664f4fb083a50de6523842171b4fe9558e7255c8bbf";
|
sha256 = "4431e16f70b6182b1ec2bed64d149ffc7e46f1b2536268e973eb984439eda400";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-x86_64/fi/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-x86_64/fi/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "fi";
|
locale = "fi";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "d7dba3916342bfefe549ad21a70a438c8f2031fc5f0085fc4e236d0f8d07c948";
|
sha256 = "8ee9b2983d1f214f4589d7d99d1ac1a577f92dd3cc73f516dcc050079ed85904";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-x86_64/fr/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-x86_64/fr/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "fr";
|
locale = "fr";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "4088b924197a6baf7ea3ee233d566b9799cbab955a135bc870eaf6e08ce70915";
|
sha256 = "b614dadf34774ebf45c88ae0c72c6d8779beb8310a8353aedeca1a493178c376";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-x86_64/fy-NL/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-x86_64/fy-NL/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "fy-NL";
|
locale = "fy-NL";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "59cd7d50cdbb7867f746b137ec8f70407ae649b03e86a73a2be642eab9256be4";
|
sha256 = "00693bbfda9377d2695fc8c7c242b0e4a3c1b745e8779ebabe5686eca4fc928a";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-x86_64/ga-IE/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-x86_64/ga-IE/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "ga-IE";
|
locale = "ga-IE";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "10936f6c941d8c94eea200c1c3bb8919066714129eb3b34d67df87c9b93f331c";
|
sha256 = "00d26b39726e2de2e799b3dff97c79a590f712f3347232600d1f2771523d0ab4";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-x86_64/gd/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-x86_64/gd/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "gd";
|
locale = "gd";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "4ee24daec40780a8148092c96140575e7e5d1169fd37ffc6d46879f76f976f80";
|
sha256 = "d9a35fbf9f4069c6f4dd796c8f9465053413d806093d1456e643c9bdb081ad45";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-x86_64/gl/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-x86_64/gl/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "gl";
|
locale = "gl";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "0126bc6b167b8bcb2135e02c289f26aed82e4ab8dc820fa9468ebb41fd05604d";
|
sha256 = "9e7f237b55f81a44a984be4b4e1001c8ffd7742eb14e654397e80b4e4b765d0c";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-x86_64/he/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-x86_64/he/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "he";
|
locale = "he";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "58ae78aee2da5f8a33edf8c87a743ea7f3da6702f25682869db9bbfcb53d4df5";
|
sha256 = "b86d479dd64ac86d43fbfb54c8ec36ea6b4516ded0383f81b78c11365290f21b";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-x86_64/hr/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-x86_64/hr/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "hr";
|
locale = "hr";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "c4543e54a9fa59906c64b8830e4ce6218279872e6beafeb67d13250159eca8f0";
|
sha256 = "cb7e8d0dd04c5883f2ec0f47d81a751b901e0036f151ab1c0f3043ba7ebf4a74";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-x86_64/hsb/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-x86_64/hsb/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "hsb";
|
locale = "hsb";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "cded10c83585c5d6ebdae4a0740262f43203b7a9252144a6f97eb6b329cea95a";
|
sha256 = "d3141a413d82814067de2791091473e0b44f8939825cc3071b1fbe86e08dd49a";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-x86_64/hu/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-x86_64/hu/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "hu";
|
locale = "hu";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "f6dcdab2dad04a9210f509a62da49ec5269bf5c9f40e74cf9d2f43edb0abd422";
|
sha256 = "b76860152f68b2dfabef9847c83356af34b8fb1913d0d55a397be3d4e4e08b31";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-x86_64/hy-AM/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-x86_64/hy-AM/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "hy-AM";
|
locale = "hy-AM";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "b3f8a1b6d4576dbf660bee6404b97babeb04bf0c1c6ff27aab25a073436f43a4";
|
sha256 = "5aa35ed5d577befb7a37d5407bc7ff78c54314a7e5ed77bda588bd74111e263b";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-x86_64/id/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-x86_64/id/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "id";
|
locale = "id";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "e1bfada3b7d33e01462cc303b22298850c5923f42e8ca656cdf5b2dc72c00745";
|
sha256 = "0bb53b2cbed8a9412c6776435381d5c859a9993b4bd2cdf5ecd4145d13776d09";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-x86_64/is/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-x86_64/is/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "is";
|
locale = "is";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "602ee80721bfa921805c1fff2b0802d7845d7970645cbb839e5d0f6e25b5fe65";
|
sha256 = "566058b39d98a777cb1c333b66cac66851d0c369918e58c592b8e0151b778f6f";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-x86_64/it/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-x86_64/it/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "it";
|
locale = "it";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "7e55d0b20027e23d3340a593beeebac0fead2dd0d048133b2e42dbb33288c4c5";
|
sha256 = "b88fb1b473a7b0b1a4af08a09aadf5b7502f03462a1f4661ed2897c2705e5b4d";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-x86_64/ja/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-x86_64/ja/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "ja";
|
locale = "ja";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "df67309b344f46f9ead5939a2f0f7bc34b90bf4cfa4cc28a662391146951c4a0";
|
sha256 = "6b69cd834280b36182656bd97b117c3f70bbcd947ab25e1936294a85149d3501";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-x86_64/ka/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-x86_64/ka/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "ka";
|
locale = "ka";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "0992f5884dec1431a1c82e289195db7561a8089e7cd7d8fb940c0435e365b6f2";
|
sha256 = "87d8bc04c278d8c675665d0211917a854d43a17d24173627703268a785ff2206";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-x86_64/kab/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-x86_64/kab/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "kab";
|
locale = "kab";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "37eb0b67bb564762f8c88fac75c9ef8a51ad4ca302e3bc5f4d99ff799a141309";
|
sha256 = "fad11f653198314683faaa758422506d27706b6dca90a4d5b0d3693810843fba";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-x86_64/kk/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-x86_64/kk/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "kk";
|
locale = "kk";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "16fcf81dd18c51826d3a93e6393c820227322ad4cceaa668a22fcf79d9fe0773";
|
sha256 = "67469c2c4e1352db94339687f93c0afefe41244bfc952d77c2e41e31a652f095";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-x86_64/ko/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-x86_64/ko/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "ko";
|
locale = "ko";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "4e6b0bb94ae1442b987b5e98ef287f6cdd354d13ecbb14dfc25b04ba17b3961d";
|
sha256 = "93bb5a6973bbd0eaac721ffd59c19edce400471c08d76aa629b2fe66fc98ddf9";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-x86_64/lt/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-x86_64/lt/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "lt";
|
locale = "lt";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "03364e6f6104f083bd38dbd65c1d451186757e07460840a1fc8ed8d71f00cc8b";
|
sha256 = "f4dda73c80cee8aaceee0f4ea0956303f9a50aa2431c6eb8a34d7d22b5fe53e9";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-x86_64/lv/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-x86_64/lv/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "lv";
|
locale = "lv";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "4da6a4e457aadb58819c3b44432c5a5ff17f2be378fb461d859a92768e2c4b7e";
|
sha256 = "65325a804f5aec439501bd70e5423d56ddc5a10636b639e8db85ce8881c1586e";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-x86_64/ms/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-x86_64/ms/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "ms";
|
locale = "ms";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "8aae1245c40ba4b7682f5d26f3b90d9b5cfe53fbd00a755e699ddcea6ac5164f";
|
sha256 = "f2715978bc8e2d7878f8ec47b4a29cccaa42a24bd97f013f6b66aaf47db83359";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-x86_64/nb-NO/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-x86_64/nb-NO/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "nb-NO";
|
locale = "nb-NO";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "d279ee97817a87a87b8848f6cce8e1b0a9643095dbf46e3632df6242f9b05b23";
|
sha256 = "c252fdee3a9d9c43b46786c528bb8ac39203b7d7c746f9c9f04287cb1253ded6";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-x86_64/nl/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-x86_64/nl/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "nl";
|
locale = "nl";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "f1d58f439aa8276b5baa475e696a6eedb484059eef66ed8ab6ea27f66182d53a";
|
sha256 = "1708531ca0b765292206fa9c533200266f5eb48fbbc74daade404bdcbfdcc750";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-x86_64/nn-NO/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-x86_64/nn-NO/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "nn-NO";
|
locale = "nn-NO";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "703745b4b07778058a8ed8d4072700033f268ea513abc9f4dc7d1cdcf07c9c2c";
|
sha256 = "dc26c1333787accc73624bc5bac820af1743ea30d85e9da9a0c30f6b9b0c3bcf";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-x86_64/pa-IN/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-x86_64/pa-IN/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "pa-IN";
|
locale = "pa-IN";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "46d756ecb4d5e566dc4a72115874b32bce8eba5de141448d461d795b0c81e78c";
|
sha256 = "fc508dd719c18c250560b5d4fc4672ce83a9f52b6103d3f33034eca89ed2935f";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-x86_64/pl/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-x86_64/pl/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "pl";
|
locale = "pl";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "7384fd09796d727f82dd9f92b3faa67d53c415c01b44c885a998039eda703545";
|
sha256 = "eb54040a841d0da1e84dd2a6ba3c894a57d40fdb0bf99f21b7fbbe3ea8cd755c";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-x86_64/pt-BR/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-x86_64/pt-BR/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "pt-BR";
|
locale = "pt-BR";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "dcd97601965c25f43fc10bf59c5ccd3d62439ad3f1ed724c379951d2b514df72";
|
sha256 = "45226857a691f8568c769f652820eb5b86b0928c271b2751014bd6e7ab29ab80";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-x86_64/pt-PT/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-x86_64/pt-PT/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "pt-PT";
|
locale = "pt-PT";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "225c2c87e5e18a987c1cad74622ace48bcda9dac7d420694f91c0c30757bfa23";
|
sha256 = "532f18bbe7fc09793bd688e5bc48c65658e2a48285b97c611b68611e9f13257d";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-x86_64/rm/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-x86_64/rm/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "rm";
|
locale = "rm";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "07ca0312828ee92b9d04ca5e62f6f4f65260faba80da1da5365a2614edd43dae";
|
sha256 = "8d0f2ec43e6e00118d7c1d5877bfbc5b5c87a8e449a0358acc6e71244a0716b3";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-x86_64/ro/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-x86_64/ro/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "ro";
|
locale = "ro";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "3cee1abefb6bcd9508a14e0b03e14f30b6aba95245ba79993d293fc92a3f7bb4";
|
sha256 = "dbfd5500b337132ab14266d2b87224c917086afe3f210127d73848d360299241";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-x86_64/ru/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-x86_64/ru/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "ru";
|
locale = "ru";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "e6491ab33fa05012206b22223f78e2f6f575f9e99d33159f0c853b538c3ab9ce";
|
sha256 = "06f6077ba98fc2605718266e57b9c5c54c3d7901f2b7233f38d7fd02d6d063a0";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-x86_64/sk/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-x86_64/sk/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "sk";
|
locale = "sk";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "b4cc3471da1cd3f1f9146bf5ba9d33f706df6d2988375a7f148223eba2cb88e5";
|
sha256 = "af1224613b3e962265d83b154cbf69053906197f2b7f12e5004ad862bef09aaa";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-x86_64/sl/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-x86_64/sl/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "sl";
|
locale = "sl";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "a83b61af2283d3c694ede815faaa0abfb3e6b7a346d9d984dbf3e50856532473";
|
sha256 = "597cd2732960eadd0121c4089a703cc86a0d9a361ff024fe047c8c624dc05afc";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-x86_64/sq/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-x86_64/sq/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "sq";
|
locale = "sq";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "6562243bd3ca68b6b09c12745111c36a269e60593c5c458e04da12a9f1cfe7dc";
|
sha256 = "c107fb5653cb7adfa79aad501e585943159fa9297ef360b193075a9b49e91d54";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-x86_64/sr/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-x86_64/sr/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "sr";
|
locale = "sr";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "2b8dee91bfe25480f1a7b12b3825e2445b369d6125df9a13271ef6a6af015db8";
|
sha256 = "33964cc6308a8e7ebc154c057f90729a92d2a9127f9d8c4592f884531d094334";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-x86_64/sv-SE/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-x86_64/sv-SE/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "sv-SE";
|
locale = "sv-SE";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "113e0ebd096ef5ea225c76e930cbdc58f2b529b39fe799310098abefa4652ee1";
|
sha256 = "91fa282c3baee03653ffe5164844e06a9813a40c360ef24e94ff525638f187de";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-x86_64/th/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-x86_64/th/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "th";
|
locale = "th";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "71b62b60167d06a02fcc90017b33d65c757d18d05fbf689607631ff1783941ce";
|
sha256 = "99ea8b61e102c3394073f3a817d3eeddc3cedb51436b66303730394f362e91f7";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-x86_64/tr/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-x86_64/tr/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "tr";
|
locale = "tr";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "ab7f254131c8fdcc040d06d29ffdb0da6d95b9970f7640851bbdad337af0bd0a";
|
sha256 = "bb1d417239c31c6ae9bf62cd545f2fad316915ce6bcb707f2deb65f0cc24425c";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-x86_64/uk/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-x86_64/uk/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "uk";
|
locale = "uk";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "6da1aa51763b3acb2015eb78b50d5d6cc080bd606e2afdcf181d84095b0cedc3";
|
sha256 = "8464520b025c29dcf3376d7c47d6c7596ff60eeabe63fc5c41082ceb4fbe148c";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-x86_64/uz/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-x86_64/uz/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "uz";
|
locale = "uz";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "933513bdc1b1137dc627ec4895c3299d3633a105eadf2216b682fe36554c5f5b";
|
sha256 = "d4ba9eaafed3d475dd0fe3a7df7f9910fe3a95a74b9a83f2a00aa73441ae8a64";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-x86_64/vi/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-x86_64/vi/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "vi";
|
locale = "vi";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "8f3eb2210a070983d87e6d5ec9908cabfdd012a4691443c39cbf2212d79e2394";
|
sha256 = "8c7f222e0c65ad2daaf37ab46fbe58e005aa89379a0a87f4b2a5f19528e0e5b2";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-x86_64/zh-CN/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-x86_64/zh-CN/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "zh-CN";
|
locale = "zh-CN";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "0faa621dba2d2725bcd6b2a337feac5ee2d6bf66900ce30e1e5abbcddc15ca45";
|
sha256 = "1cc053e2e9e751ca14da4a09c276d2c78f61ef4e7d74ac4019849f6ebc044d0d";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-x86_64/zh-TW/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-x86_64/zh-TW/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "zh-TW";
|
locale = "zh-TW";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "e236b7d2b9187a0ac780d7e0821cf29138d5f03321248e4edab0d1f2a7267cc7";
|
sha256 = "b77a3eb6d1e51388d1b084956b7cc579e1e3c8ed2bc72d7943ac5d6188e43938";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-i686/af/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-i686/af/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "af";
|
locale = "af";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "624e9894eba97eafff7241dd73c2edd685e0786ba3e12f525980012d7dbae0e6";
|
sha256 = "c2015b0cfa07309ca6afe5fefb24c1393a397b1d592dd80ec8b62bd4ef8a3d35";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-i686/ar/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-i686/ar/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "ar";
|
locale = "ar";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "62f250a1925e8b3cf2c98fe877b7b5a6d559d3fafb1320312fc765630c23a71b";
|
sha256 = "f36b4e7452ae39bd2bf63231ab884356c7b77d6015993e09046b3d6a63443920";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-i686/ast/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-i686/ast/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "ast";
|
locale = "ast";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "102b2e3d812eb4737f3d4ab63e2b696cb7cc2478ad438bed5c19299d65dc5ac6";
|
sha256 = "600d102bbb18bac81e3d50c9ef9a578820b0fa1ba2a6f6d756da6e391fe0f241";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-i686/be/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-i686/be/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "be";
|
locale = "be";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "ed15b0cc8c4d0dcc4071ccdc602fd796c5dc42a027f26595d1d8df2ab10267ba";
|
sha256 = "46032acc1c16e2c9bd7905799db6253cb16fb6269bb79edf6141b9d2bd5c0b15";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-i686/bg/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-i686/bg/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "bg";
|
locale = "bg";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "234f8ff03dbf19bd9100663ee517fa1630d0e7bd00953a056d5085021fa90324";
|
sha256 = "d21bfe3ad0c2c900de1ab9a88d62fc74c4c1767bb41121159c5c0c9bfe270a8c";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-i686/br/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-i686/br/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "br";
|
locale = "br";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "34c578de385448cad19dc368a04d0285cfb1520c31477f6eacc10ffa2e81a02d";
|
sha256 = "8e20c1ce0867bafde00c3e8fc55d5841a14e91fa8039fc7259269da8bfbd4373";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-i686/ca/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-i686/ca/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "ca";
|
locale = "ca";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "c3d3dfdeaa72254d02b12f72c83a95a2904a13f2e0c721d3baa5da0dd76bc2c8";
|
sha256 = "175bfb1b0ef94897ecd359c54a2767ca039a259300a5716211fa0c0593b81023";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-i686/cak/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-i686/cak/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "cak";
|
locale = "cak";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "7cf60b8ecc692696081115f1df65f9976613ef34b57d412a6d3333a18400aa3c";
|
sha256 = "65cf8763200cd10cbc016c9d447703b640c52165c691a604092376de09dc1376";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-i686/cs/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-i686/cs/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "cs";
|
locale = "cs";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "59f01da4722c4317f80a7174f85fff9ba60a8341d589ef2cc27c565a529af2f5";
|
sha256 = "8d019c4f92f60c44f1340f96892c0a4060d4ceb86d188f5f81911d92ff2957f0";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-i686/cy/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-i686/cy/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "cy";
|
locale = "cy";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "470e65ebf016cd8fdcba1ad405df36d556c6fa43c23856b88d6da3fc58f80d81";
|
sha256 = "29049a5f4849f7e2bde8ec122de33edb7c86e87eca46b72086e53caedcad7ef1";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-i686/da/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-i686/da/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "da";
|
locale = "da";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "d1e95c7744d5058354e8626c361b7d529fefb2032cf380f8f129e84243221b9d";
|
sha256 = "39d9b429b8ee92b045abf48a605e32a577da1f61459b597698f87b1972993f2d";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-i686/de/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-i686/de/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "de";
|
locale = "de";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "dbb632f5fe3a3ea2ffce78ef8984e78debf2b0d09ec42bfd1b642a7fd68dc93a";
|
sha256 = "b8ccae9622a8fa684c48a39a409af461238325d91db5edd8d9ecbeaebf2fa999";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-i686/dsb/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-i686/dsb/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "dsb";
|
locale = "dsb";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "ab5d84870b77376fee50b082e14f2d5ce915f9041a63f09519ea5b8ab2c8c990";
|
sha256 = "a32e1ec050968c94c2b2c1c175d13629fb5feda14e91a0e6c78a9e1bf4092ebe";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-i686/el/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-i686/el/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "el";
|
locale = "el";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "a96a8d96484b441210b98e768462237ad2e4306bcb20412028613f480160fcd3";
|
sha256 = "7599c18f5c79d6aebb652308fa3fa9b13a4883c0dfc47e8bef6b6c118a2ed909";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-i686/en-CA/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-i686/en-CA/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "en-CA";
|
locale = "en-CA";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "f43fa2abb60bdeb571ec665d8f5779b049d3270f05e01e43795408e450240d85";
|
sha256 = "47c49908cf59a8fa6ec1de512cd01907412cfc5b0f56709611b71eb0b3e6cdee";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-i686/en-GB/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-i686/en-GB/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "en-GB";
|
locale = "en-GB";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "6c3c9f1c8f4e3f6cc6008cec83e5c234f797762ae05cdfe7dd7e95794f3fa007";
|
sha256 = "9f379c2837dab6ece5306117065ddb1f19d3fa08900d5ed63abc34fff8755dda";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-i686/en-US/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-i686/en-US/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "en-US";
|
locale = "en-US";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "a6c3f8b935f8c5e185e621aed1725b82db1007c977949fb9f786b86bf024dffb";
|
sha256 = "97aaf105ff5fd3ac8b2b85ba0de87b1fe6ba01f647d32571b787591ba5f6e1cd";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-i686/es-AR/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-i686/es-AR/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "es-AR";
|
locale = "es-AR";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "e431f72359b602e4bb784626bda3f4526eda6ee5bddbe51d5c67fb62325da237";
|
sha256 = "4db46b699d6a65fe482dd8f7bde005b5a4cccfbe7ef777f23f1aa57577d33a33";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-i686/es-ES/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-i686/es-ES/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "es-ES";
|
locale = "es-ES";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "3f7ccfb4b86b11583289036792e78d080f558d8d58d1b11929664952076ed152";
|
sha256 = "0a63e85f6992ce683f35ecfe6f0e10854fd8cada33f8a2e066d5ab140ef8c401";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-i686/et/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-i686/et/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "et";
|
locale = "et";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "4d224ed49c4cc300e22add49b79931b753155f5052d7d0572a3b99833351feb3";
|
sha256 = "522ec0185345054abf61b84dfdb36ce3dbe01c70f5bae11aa17321d18091d759";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-i686/eu/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-i686/eu/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "eu";
|
locale = "eu";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "84ec201b40080de068c9a2d9ca4effb360102d34970964813f4335187fa0c472";
|
sha256 = "c4e28df0193175149303d80617f04df4d229d8eee2a75129b315a0c23b22aba5";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-i686/fi/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-i686/fi/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "fi";
|
locale = "fi";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "633a45dd1dd870dd0d486715328152ee092a5297f95f35ad4ac8c1a0fa59caba";
|
sha256 = "046b39db1f3f7c4fbe23e93053d43fe81e1b8751bb0558ad1bad3a50ab698673";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-i686/fr/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-i686/fr/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "fr";
|
locale = "fr";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "1a5e668cdfc500652d3429ecddd987993c60032de0dd570c14256642927910e9";
|
sha256 = "39d15a1aa3f7c3e360e817baeb3747a49ae8f42d1b46208832eccb0107ca1b3b";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-i686/fy-NL/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-i686/fy-NL/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "fy-NL";
|
locale = "fy-NL";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "86d52dfe0a63c7f066f4d6b677d1b2d1025b60d7ca556f2cce074ac529d49948";
|
sha256 = "17c971a57634050faa9fe747055a671ac1ae0022a9b06a957eb05f7bb64f31cb";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-i686/ga-IE/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-i686/ga-IE/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "ga-IE";
|
locale = "ga-IE";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "0a116945f0ce9f51feb9658756bbb706830709155d21f4d32be5bb9c2ba3924b";
|
sha256 = "58c17ea964de2b60440bb1a078222ab5b6199b83fa5f2854926b9f0c2a6cb3d3";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-i686/gd/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-i686/gd/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "gd";
|
locale = "gd";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "ddf29128560baf824d5ab984cc4c219318d62d1f6946c83f1e281bf59dfde046";
|
sha256 = "4ee45ae272d53f523d2855083f27a0ce005d93ca95d13c2037621a87c294413c";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-i686/gl/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-i686/gl/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "gl";
|
locale = "gl";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "28e291c985d8b618bb88a65995f0c523d18a231bd9e3020b743815754d2f761a";
|
sha256 = "68012e665dea95fd4ce4f76dee0b246d2f94890e5a9b3c797e93ae7d450adc58";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-i686/he/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-i686/he/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "he";
|
locale = "he";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "daecfd126e4e7f7eed943c715b7e0e17fb1b17b55963211130a2326bdeaf2fa9";
|
sha256 = "57125635f8fe2cb50cfe9aecdfe06502cce9c746b346083b329d5e1123d4956d";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-i686/hr/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-i686/hr/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "hr";
|
locale = "hr";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "f685cf4629e13337795d25f7e75bf2f24abca87e35e41c62b0f48613a2e57365";
|
sha256 = "f6f28200c32cc2faa4a4e4a49eed5b4343586b52ca123dbce43d32a1c5059835";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-i686/hsb/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-i686/hsb/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "hsb";
|
locale = "hsb";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "d9161bb816887e1fc2296dcd942f0fb4736f86bc8a8122f61caeffac75b0c19f";
|
sha256 = "6290282252b9a61fc7ffb1e29b14f31c87832bd60a066c73f9966a10f75ac327";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-i686/hu/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-i686/hu/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "hu";
|
locale = "hu";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "80e69465e6afd1b50a695b30fcfdc13ad2c051e75fcec666276935874e79d5fe";
|
sha256 = "fbd6be01153d67870565fc7230fba7b4a1f6151eeda54e84008b0943acfc4564";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-i686/hy-AM/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-i686/hy-AM/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "hy-AM";
|
locale = "hy-AM";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "a1aff21e7b07bcc20685d906d69d6b2515983263d90d2a2533e58d6c74046fbf";
|
sha256 = "3bfb7979fbfbf0cbdecb8b8030dd209a6e18020ff34a30223ce893c0cfe0a282";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-i686/id/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-i686/id/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "id";
|
locale = "id";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "e911dd870b7a33d50278597a6cd1970c15578716f97a1ca90bac2813c4aabcb6";
|
sha256 = "4a8801e97b001c0e30ffc4f4a7c712017c1b1a96bf226ddc341728b22599920d";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-i686/is/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-i686/is/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "is";
|
locale = "is";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "ec91be584ef82def938d295925b1231f7ea50bf9e171d90ce74ae575970c5e5b";
|
sha256 = "871a6393a716c4c8b2255a8903a4584c8ad4a7f5e1423550d3d96b9866929433";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-i686/it/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-i686/it/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "it";
|
locale = "it";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "971d7ff2f20926b9148ac6386f2d5824a1443b3a4618e67cf4c30c14f126d711";
|
sha256 = "8919dbd9e7b0155de288322f10bbb664189d03c1442657d07d577b33cfce0929";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-i686/ja/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-i686/ja/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "ja";
|
locale = "ja";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "17526869e3234f885f2078c98a8442b2dd5a019a529d31e0bb6df5b6be24be8b";
|
sha256 = "42e1e1a2b55c97b05ec5424f6318d286f7fa497276ff745c6c221ee2b4c072cd";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-i686/ka/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-i686/ka/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "ka";
|
locale = "ka";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "945beaab6b2bac56b13f7329b98fe6bf621fa9f3c022b3568dfa43bdce6e422c";
|
sha256 = "4da9353667f109938ebc6740039a915f67d518c109915c1ed42f1552c3be719d";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-i686/kab/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-i686/kab/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "kab";
|
locale = "kab";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "39b6835112c58cba3b5e4b2f6964dbd9982c8146f0290aed9b13b10ae159bdd5";
|
sha256 = "87c960236895eb1af70d2f50a839e55befc6486c4883d786b14a67e569c396ae";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-i686/kk/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-i686/kk/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "kk";
|
locale = "kk";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "a5c4fcd5d4e91c52814b2e8c6b0b239e0c430ea6169b351b33beb2b0736fa94b";
|
sha256 = "38fdc0aa8fe98d83e52cf266776ebe7a52d7c80e98bc2372afcdeaf709ee8a06";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-i686/ko/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-i686/ko/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "ko";
|
locale = "ko";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "97e5ae5cd2def5410de5b8a3194f77c53fc4ecb17572e9925a4bff56cb2ca73e";
|
sha256 = "c960038e1764cc3a0203e2cdf8349ecfee951dbeb470cb58b66c66f0542ee790";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-i686/lt/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-i686/lt/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "lt";
|
locale = "lt";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "2fc8d9d3fe286efa337d98d033b43d9d0b1c7fec15e566ed6ae98272df6adbb3";
|
sha256 = "6387197f1fa9095d64ef3e7c73272f0e0a4a7b857d4be29899bfe2c7aa88a5ec";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-i686/lv/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-i686/lv/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "lv";
|
locale = "lv";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "3a480801c29e7661b73a01d1d29455bbaa4f228a749da467400ebe0c973c5150";
|
sha256 = "66021a590bb89b9fb50c90bc07788cbbb3d1acaceac5ebf562805d39bb59be3c";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-i686/ms/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-i686/ms/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "ms";
|
locale = "ms";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "143e04a636d4e3df7ebab4a26419f0df6131a911c7b158848a1a0f4a51b8c6f5";
|
sha256 = "a120efceac13b976b77a49dd2883f66a03c13f3243a53b66afbb372b87c15b16";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-i686/nb-NO/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-i686/nb-NO/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "nb-NO";
|
locale = "nb-NO";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "4f3f731b0a9b2dd7496b9cf9e3df7c54924f821b8afd404848b8bee4c37db7c6";
|
sha256 = "ac5f404b3635b9b327458eb461148d94b52501621e78f2fafeff09c019651948";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-i686/nl/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-i686/nl/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "nl";
|
locale = "nl";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "d6b758c9a5aff775088ebfe3c696d6275ecb2b2a4b7129ab3b79b23fe773e49a";
|
sha256 = "f9dbbb9789a81ee6a40756039afefe542e1369b5de15d4ea728bd5fb5326c728";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-i686/nn-NO/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-i686/nn-NO/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "nn-NO";
|
locale = "nn-NO";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "89bdee0a436d53cba1acddc9187b8bf7036d3f8b2d6f8a60a1f7d1e7aae4687a";
|
sha256 = "36d0cf0f3132f5365a9cfe5b2175ac6f42dbe25c41a03fbd177509b2cf13abce";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-i686/pa-IN/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-i686/pa-IN/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "pa-IN";
|
locale = "pa-IN";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "9def18033f40abd87764ee12a0c9a104df9ffbf5813b398251d86b26676aa57a";
|
sha256 = "776c3c215fd0e66eb81c2c91855233c4a7476aad534de555a6317b6a4f664b67";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-i686/pl/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-i686/pl/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "pl";
|
locale = "pl";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "e69e2f319a7691af209e517f7624a10e942c052fbff40cbe3e0cf057d5e8ce60";
|
sha256 = "ba2aa2dda6c477f3ecb06d0f1d223928adc9a82e46432055783741064cf1e8f6";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-i686/pt-BR/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-i686/pt-BR/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "pt-BR";
|
locale = "pt-BR";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "ce0a025976a058e01dcec3c7c22005cc8061dd118cbb5766e34e1fa2e2d24ee6";
|
sha256 = "314023714b6babde392b8a30d11e67fe5af9f47e2738d63a6231aa72e6e0b792";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-i686/pt-PT/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-i686/pt-PT/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "pt-PT";
|
locale = "pt-PT";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "0e46088f48739f26d94f92aeef401f136006f0cfc67b9445573539f08e9175fa";
|
sha256 = "ea5895b796bbdf9ed5be1277dc0f32c70abb46f37a7d48ecacf39e7b7a5af082";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-i686/rm/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-i686/rm/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "rm";
|
locale = "rm";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "7efd235fd88601a74d2e6a2d9e481fbb011e4a3695128997754d97917a94669d";
|
sha256 = "d295f9390b7dedec8592751142a42bc134ff3fca5a228d084eb176677c15c4bc";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-i686/ro/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-i686/ro/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "ro";
|
locale = "ro";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "9ada46d39f4eedb097b177d2c443dccc05af71a12f370b202aa0bf259c0cd7c5";
|
sha256 = "b4504dd29ce68009c78b7194914c20d41024f92420564d6f4f34369717a49a90";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-i686/ru/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-i686/ru/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "ru";
|
locale = "ru";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "0e4d029183f9125a4d1efe81cba348155336a37267db346436698430808a3da6";
|
sha256 = "a8ba363a9bee130d05d028a84bfc10e8614ac3e3ee7e747d4987691d25423bb0";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-i686/sk/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-i686/sk/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "sk";
|
locale = "sk";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "a4712e2e477bb96bcb69eb8ea96200f81b1eb829db3675844380f68b1d264915";
|
sha256 = "347a0e3e794bebc570aac65005edef1c311d7685d9b7ee4559121945cec1a40e";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-i686/sl/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-i686/sl/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "sl";
|
locale = "sl";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "46f4f3dfe12614ceb8a249a4d38df2b40728082ce0448af03c2949f0d81d1969";
|
sha256 = "1ae4c2615d9fc4e6b1ab270988de63ff425779945684811a1c9093940e7a9d0a";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-i686/sq/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-i686/sq/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "sq";
|
locale = "sq";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "c5209bea51a081b6707ee79640ab663b3975af8c1bb26df05e480f5ad6dba723";
|
sha256 = "207fb12cf9415e5a66bee33ee2f50adb970343b90bdde2c00c5b149e9ec829ad";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-i686/sr/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-i686/sr/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "sr";
|
locale = "sr";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "8cb6bb676a7143f10d5c666e41398b4045f32ca13bfd6a322d308f6b05dda441";
|
sha256 = "45e7cb91506dfe353d86b8c6ae172b4a925f6b9ee631b542bc9a0fc77315d482";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-i686/sv-SE/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-i686/sv-SE/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "sv-SE";
|
locale = "sv-SE";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "33736665f7c38a62ed65340acead5435599dcbb8c7892ce939664662168078cf";
|
sha256 = "634b1581237baa140d8711458cff99e979b3e33316b24925c6e5700da9603127";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-i686/th/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-i686/th/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "th";
|
locale = "th";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "0fd5af0ffc983f58c85756274d9d94f26a44c32aff3852b22ac0554375b8eac3";
|
sha256 = "a09336e75d270e9fdfaefd4f9e90cddf1f5135602998bfdd9a198e3f1544838c";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-i686/tr/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-i686/tr/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "tr";
|
locale = "tr";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "6f8318a023062b306a64cc615bbffb96d06b608c625a0134f28d60629f5986c8";
|
sha256 = "37874416c7bdd2c2b4303a55d14a82ce55a7d8cc6d51bc3b3d215489be3bc055";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-i686/uk/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-i686/uk/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "uk";
|
locale = "uk";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "fede0c129370c93df5cb9e9f5e9bef69c6ad6bb96db11bdb520c743183ea2b41";
|
sha256 = "faa0c411431a9b27a7c58c0c394804d3125e4f4e927387df8580c37738c2db44";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-i686/uz/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-i686/uz/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "uz";
|
locale = "uz";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "23db48eaf9101a4a838487ab4f31d7504036b0204a1624e0ac750bba6de24437";
|
sha256 = "095e56a0fa0e85bebe9bc0044fc13f5da67c7267461b27fb8024947da3f423ba";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-i686/vi/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-i686/vi/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "vi";
|
locale = "vi";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "55ec78e15967365bc41fc2b1469af78cc9300a0365587ec72463e9e97958020b";
|
sha256 = "cae3582b504a38497dc63ba25d4be45e450b14cb588a9f52919d0fb4a5a04446";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-i686/zh-CN/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-i686/zh-CN/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "zh-CN";
|
locale = "zh-CN";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "008216b04c79fb96686a747f9756caa2cc02aa052e7e682b0ba9bef0138d2ef6";
|
sha256 = "58d542c3ceb5e36a83e424250c171477543bcd046f325c89b06f76090410b633";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.1/linux-i686/zh-TW/thunderbird-91.1.1.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.1.2/linux-i686/zh-TW/thunderbird-91.1.2.tar.bz2";
|
||||||
locale = "zh-TW";
|
locale = "zh-TW";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "bb222c6f9c8e5ed7681fa920ff6bb6e9d1262e16efb994dd5976e575e4f54a7c";
|
sha256 = "13dfa3e7a8b5a69ab9072c21eb22373ff36bd54c9c7c39c3480681bd911043c0";
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,12 +10,12 @@ in
|
||||||
rec {
|
rec {
|
||||||
thunderbird = common rec {
|
thunderbird = common rec {
|
||||||
pname = "thunderbird";
|
pname = "thunderbird";
|
||||||
version = "91.1.1";
|
version = "91.1.2";
|
||||||
application = "comm/mail";
|
application = "comm/mail";
|
||||||
binaryName = pname;
|
binaryName = pname;
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://mozilla/thunderbird/releases/${version}/source/thunderbird-${version}.source.tar.xz";
|
url = "mirror://mozilla/thunderbird/releases/${version}/source/thunderbird-${version}.source.tar.xz";
|
||||||
sha512 = "2da102f9ec42489fc785ccdabcc7fdbc826f2df5e8e76c65866a44a221e762f59647ea265fe4907c18f0d3f1e04199e809235b4587ea17bdc1155e829f57ff2f";
|
sha512 = "f211ce2469f60862b1d641b5e165292d98db53695ab715090034c1ee2be7b04931f8e5e856b08b0c8c789e4d98df291d59283c257a38b556c0b4b0b63baa539f";
|
||||||
};
|
};
|
||||||
patches = [
|
patches = [
|
||||||
];
|
];
|
||||||
|
|
|
@ -4,11 +4,11 @@ with lib;
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "mpop";
|
pname = "mpop";
|
||||||
version = "1.4.13";
|
version = "1.4.14";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://marlam.de/${pname}/releases/${pname}-${version}.tar.xz";
|
url = "https://marlam.de/${pname}/releases/${pname}-${version}.tar.xz";
|
||||||
sha256 = "sha256-s0mEZsZbZQrdGm55IJsnuoY3VnOkXJalknvtaFoyfcE=";
|
sha256 = "046wbglvry54id9wik6c020fs09piv3gig3z0nh5nmyhsxjw4i18";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ pkg-config ];
|
nativeBuildInputs = [ pkg-config ];
|
||||||
|
|
|
@ -21,13 +21,13 @@
|
||||||
|
|
||||||
mkDerivation rec {
|
mkDerivation rec {
|
||||||
pname = "nextcloud-client";
|
pname = "nextcloud-client";
|
||||||
version = "3.3.4";
|
version = "3.3.5";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "nextcloud";
|
owner = "nextcloud";
|
||||||
repo = "desktop";
|
repo = "desktop";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-9RumsGpPHWa3EQXobBC3RcDUqwHCKiff+ngpTXKLyaE=";
|
sha256 = "sha256-kqNN9P0G/Obi/8PStmLxImQdqkhLnJoFZ7dLpqe11TI=";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
|
|
|
@ -1,52 +1,52 @@
|
||||||
{
|
{ lib
|
||||||
lib,
|
, buildPythonApplication
|
||||||
buildPythonApplication,
|
, substituteAll
|
||||||
substituteAll,
|
, fetchFromGitHub
|
||||||
fetchFromGitHub,
|
, isPy3k
|
||||||
isPy3k,
|
, colorama
|
||||||
colorama,
|
, flask
|
||||||
flask,
|
, flask-httpauth
|
||||||
flask-httpauth,
|
, flask-socketio
|
||||||
flask-socketio,
|
, stem
|
||||||
stem,
|
, psutil
|
||||||
psutil,
|
, pyqt5
|
||||||
pyqt5,
|
, pycrypto
|
||||||
pycrypto,
|
, pynacl
|
||||||
pyside2,
|
, pyside2
|
||||||
pytestCheckHook,
|
, pytestCheckHook
|
||||||
qrcode,
|
, qrcode
|
||||||
qt5,
|
, qt5
|
||||||
requests,
|
, requests
|
||||||
unidecode,
|
, unidecode
|
||||||
tor,
|
, tor
|
||||||
obfs4,
|
, obfs4
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
version = "2.3.3";
|
version = "2.4";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "micahflee";
|
owner = "onionshare";
|
||||||
repo = "onionshare";
|
repo = "onionshare";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-wU2020RNXlwJ2y9uzcLxIX4EECev1Z9YvNyiBalLj/Y=";
|
sha256 = "sha256-Lclm7mIkaAkQpWcNILTRJtLA43dpiyHtWAeHS2r3+ZQ=";
|
||||||
};
|
};
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Securely and anonymously send and receive files";
|
description = "Securely and anonymously send and receive files";
|
||||||
longDescription = ''
|
longDescription = ''
|
||||||
OnionShare is an open source tool for securely and anonymously sending
|
OnionShare is an open source tool for securely and anonymously sending
|
||||||
and receiving files using Tor onion services. It works by starting a web
|
and receiving files using Tor onion services. It works by starting a web
|
||||||
server directly on your computer and making it accessible as an
|
server directly on your computer and making it accessible as an
|
||||||
unguessable Tor web address that others can load in Tor Browser to
|
unguessable Tor web address that others can load in Tor Browser to
|
||||||
download files from you, or upload files to you. It doesn't require
|
download files from you, or upload files to you. It doesn't require
|
||||||
setting up a separate server, using a third party file-sharing service,
|
setting up a separate server, using a third party file-sharing service,
|
||||||
or even logging into an account.
|
or even logging into an account.
|
||||||
|
|
||||||
Unlike services like email, Google Drive, DropBox, WeTransfer, or nearly
|
Unlike services like email, Google Drive, DropBox, WeTransfer, or nearly
|
||||||
any other way people typically send files to each other, when you use
|
any other way people typically send files to each other, when you use
|
||||||
OnionShare you don't give any companies access to the files that you're
|
OnionShare you don't give any companies access to the files that you're
|
||||||
sharing. So long as you share the unguessable web address in a secure way
|
sharing. So long as you share the unguessable web address in a secure way
|
||||||
(like pasting it in an encrypted messaging app), no one but you and the
|
(like pasting it in an encrypted messaging app), no one but you and the
|
||||||
person you're sharing with can access the files.
|
person you're sharing with can access the files.
|
||||||
'';
|
'';
|
||||||
|
|
||||||
homepage = "https://onionshare.org/";
|
homepage = "https://onionshare.org/";
|
||||||
|
@ -54,8 +54,19 @@ let
|
||||||
license = licenses.gpl3Plus;
|
license = licenses.gpl3Plus;
|
||||||
maintainers = with maintainers; [ lourkeur ];
|
maintainers = with maintainers; [ lourkeur ];
|
||||||
};
|
};
|
||||||
|
stem' = stem.overrideAttrs (_: rec {
|
||||||
|
version = "1.8.1";
|
||||||
|
|
||||||
in rec {
|
src = fetchFromGitHub {
|
||||||
|
owner = "onionshare";
|
||||||
|
repo = "stem";
|
||||||
|
rev = version;
|
||||||
|
sha256 = "Dzpvx7CgAr5OtGmfubWAYDLqq5LkGqcwjr3bxpfL/3A=";
|
||||||
|
};
|
||||||
|
});
|
||||||
|
|
||||||
|
in
|
||||||
|
rec {
|
||||||
onionshare = buildPythonApplication {
|
onionshare = buildPythonApplication {
|
||||||
pname = "onionshare-cli";
|
pname = "onionshare-cli";
|
||||||
inherit version meta;
|
inherit version meta;
|
||||||
|
@ -74,9 +85,10 @@ in rec {
|
||||||
flask
|
flask
|
||||||
flask-httpauth
|
flask-httpauth
|
||||||
flask-socketio
|
flask-socketio
|
||||||
stem
|
stem'
|
||||||
psutil
|
psutil
|
||||||
pycrypto
|
pycrypto
|
||||||
|
pynacl
|
||||||
requests
|
requests
|
||||||
unidecode
|
unidecode
|
||||||
];
|
];
|
||||||
|
@ -98,6 +110,7 @@ in rec {
|
||||||
disabledTests = [
|
disabledTests = [
|
||||||
"test_firefox_like_behavior"
|
"test_firefox_like_behavior"
|
||||||
"test_if_unmodified_since"
|
"test_if_unmodified_since"
|
||||||
|
"test_get_tor_paths_linux" # expects /usr instead of /nix/store
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -97,7 +97,7 @@ in stdenv.mkDerivation {
|
||||||
include <abstractions/nameservice>
|
include <abstractions/nameservice>
|
||||||
include <abstractions/ssl_certs>
|
include <abstractions/ssl_certs>
|
||||||
include "${apparmorRulesFromClosure { name = "transmission-daemon"; } ([
|
include "${apparmorRulesFromClosure { name = "transmission-daemon"; } ([
|
||||||
curl libevent openssl pcre zlib
|
curl libevent openssl pcre zlib libnatpmp miniupnpc
|
||||||
] ++ lib.optionals enableSystemd [ systemd ]
|
] ++ lib.optionals enableSystemd [ systemd ]
|
||||||
++ lib.optionals stdenv.isLinux [ inotify-tools ]
|
++ lib.optionals stdenv.isLinux [ inotify-tools ]
|
||||||
)}"
|
)}"
|
||||||
|
@ -116,6 +116,7 @@ in stdenv.mkDerivation {
|
||||||
'';
|
'';
|
||||||
|
|
||||||
passthru.tests = {
|
passthru.tests = {
|
||||||
|
apparmor = nixosTests.transmission; # starts the service with apparmor enabled
|
||||||
smoke-test = nixosTests.bittorrent;
|
smoke-test = nixosTests.bittorrent;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -26,13 +26,13 @@
|
||||||
|
|
||||||
let
|
let
|
||||||
pname = "pcloud";
|
pname = "pcloud";
|
||||||
version = "1.9.5";
|
version = "1.9.7";
|
||||||
code = "XZy4VwXZjkvoMGM3x6kCTkIGLFYVKjqKbefX";
|
code = "XZ0FAtXZNxFJbda6KhLejU9tKAg4N0TEqx3V";
|
||||||
|
|
||||||
# Archive link's code thanks to: https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=pcloud-drive
|
# Archive link's code thanks to: https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=pcloud-drive
|
||||||
src = fetchzip {
|
src = fetchzip {
|
||||||
url = "https://api.pcloud.com/getpubzip?code=${code}&filename=${pname}-${version}.zip";
|
url = "https://api.pcloud.com/getpubzip?code=${code}&filename=${pname}-${version}.zip";
|
||||||
hash = "sha256-GuO4wsSRT6WMlqYs2X+5oA7CykHb/NmhZ7UGA1FA6y4=";
|
hash = "sha256-6eMRFuZOLcoZd2hGw7QV+kAmzE5lK8uK6ZpGs4n7/zw=";
|
||||||
};
|
};
|
||||||
|
|
||||||
appimageContents = appimageTools.extractType2 {
|
appimageContents = appimageTools.extractType2 {
|
||||||
|
|
|
@ -147,10 +147,6 @@ stdenv.mkDerivation rec {
|
||||||
|
|
||||||
ln -s $out/share/desktopeditors/DesktopEditors $out/bin/DesktopEditors
|
ln -s $out/share/desktopeditors/DesktopEditors $out/bin/DesktopEditors
|
||||||
|
|
||||||
wrapProgram $out/bin/DesktopEditors \
|
|
||||||
--set QT_XKB_CONFIG_ROOT ${xkeyboard_config}/share/X11/xkb \
|
|
||||||
--set QTCOMPOSE ${xorg.libX11.out}/share/X11/locale
|
|
||||||
|
|
||||||
substituteInPlace $out/share/applications/onlyoffice-desktopeditors.desktop \
|
substituteInPlace $out/share/applications/onlyoffice-desktopeditors.desktop \
|
||||||
--replace "/usr/bin/onlyoffice-desktopeditor" "$out/bin/DesktopEditor"
|
--replace "/usr/bin/onlyoffice-desktopeditor" "$out/bin/DesktopEditor"
|
||||||
|
|
||||||
|
@ -158,7 +154,13 @@ stdenv.mkDerivation rec {
|
||||||
'';
|
'';
|
||||||
|
|
||||||
preFixup = ''
|
preFixup = ''
|
||||||
gappsWrapperArgs+=(--prefix LD_LIBRARY_PATH : "${runtimeLibs}" )
|
gappsWrapperArgs+=(
|
||||||
|
--prefix LD_LIBRARY_PATH : "${runtimeLibs}" \
|
||||||
|
--set QT_XKB_CONFIG_ROOT "${xkeyboard_config}/share/X11/xkb" \
|
||||||
|
--set QTCOMPOSE "${xorg.libX11.out}/share/X11/locale" \
|
||||||
|
--set QT_QPA_PLATFORM "xcb"
|
||||||
|
# the bundled version of qt does not support wayland
|
||||||
|
)
|
||||||
'';
|
'';
|
||||||
|
|
||||||
passthru.updateScript = ./update.sh;
|
passthru.updateScript = ./update.sh;
|
||||||
|
|
|
@ -50,6 +50,6 @@ in stdenv.mkDerivation {
|
||||||
description = "Vendor and platform neutral SDR support library";
|
description = "Vendor and platform neutral SDR support library";
|
||||||
license = licenses.boost;
|
license = licenses.boost;
|
||||||
maintainers = with maintainers; [ markuskowa ];
|
maintainers = with maintainers; [ markuskowa ];
|
||||||
platforms = platforms.linux;
|
platforms = platforms.unix;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,13 +6,13 @@
|
||||||
|
|
||||||
mkDerivation rec {
|
mkDerivation rec {
|
||||||
pname = "stellarium";
|
pname = "stellarium";
|
||||||
version = "0.21.1";
|
version = "0.21.2";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "Stellarium";
|
owner = "Stellarium";
|
||||||
repo = "stellarium";
|
repo = "stellarium";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-dAdB57phD5phl8dQZIHtqtnA2LZqR+JoXTzIBtqBevA=";
|
sha256 = "sha256-bh00o++l3sqELX5kgRhiCcQOLVqvjEyEMcJTnnVPNU8=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake perl wrapQtAppsHook ];
|
nativeBuildInputs = [ cmake perl wrapQtAppsHook ];
|
||||||
|
|
|
@ -2,13 +2,13 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "star";
|
pname = "star";
|
||||||
version = "2.7.8a";
|
version = "2.7.9a";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
repo = "STAR";
|
repo = "STAR";
|
||||||
owner = "alexdobin";
|
owner = "alexdobin";
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "sha256-2qqdCan67bcoUGgr5ro2LGGHDAyS/egTrT8pWX1chX0=";
|
sha256 = "sha256-p1yaIbSGu8K5AkqJj0BAzuoWsXr25eCNoQmLXYQeg4E=";
|
||||||
};
|
};
|
||||||
|
|
||||||
sourceRoot = "source/source";
|
sourceRoot = "source/source";
|
||||||
|
@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
|
||||||
description = "Spliced Transcripts Alignment to a Reference";
|
description = "Spliced Transcripts Alignment to a Reference";
|
||||||
homepage = "https://github.com/alexdobin/STAR";
|
homepage = "https://github.com/alexdobin/STAR";
|
||||||
license = licenses.gpl3Plus;
|
license = licenses.gpl3Plus;
|
||||||
platforms = platforms.linux;
|
platforms = [ "x86_64-linux" ];
|
||||||
maintainers = [ maintainers.arcadio ];
|
maintainers = [ maintainers.arcadio ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,13 +5,13 @@
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
pname = "symbiyosys";
|
pname = "symbiyosys";
|
||||||
version = "2020.08.22";
|
version = "2021.09.13";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "YosysHQ";
|
owner = "YosysHQ";
|
||||||
repo = "SymbiYosys";
|
repo = "SymbiYosys";
|
||||||
rev = "33b0bb7d836fe2a73dc7b10587222f2a718beef4";
|
rev = "15278f13467bea24a7300e23ebc5555b9261facf";
|
||||||
sha256 = "03rbrbwsji1sqcp2yhgbc0fca04zsryv2g4izjhdzv64nqjzjyhn";
|
sha256 = "sha256-gp9F4MaGgD6XfD7AjuB/LmMVcxFurqWHEiXPeyzlQzk=";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ ];
|
buildInputs = [ ];
|
||||||
|
|
|
@ -19,13 +19,13 @@ with lib;
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "z3";
|
pname = "z3";
|
||||||
version = "4.8.10";
|
version = "4.8.12";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "Z3Prover";
|
owner = "Z3Prover";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "z3-${version}";
|
rev = "z3-${version}";
|
||||||
sha256 = "1w1ym2l0gipvjx322npw7lhclv8rslq58gnj0d9i96masi3gbycf";
|
sha256 = "1wbcdc7h3mag8infspvxxja2hiz4igjwxzvss2kqar1rjj4ivfx0";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames;
|
nativeBuildInputs = optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames;
|
||||||
|
|
|
@ -12,7 +12,8 @@ stdenv.mkDerivation rec {
|
||||||
};
|
};
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
mkdir -p $out/lib/node_modules/three
|
mkdir -p "$out/lib/node_modules/three/"
|
||||||
cp -r build version $out/lib/node_modules/three
|
cp version "$out/lib/node_modules/three"
|
||||||
|
cp -r build "$out/lib/node_modules/three/$(cat version)"
|
||||||
'';
|
'';
|
||||||
}
|
}
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue