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
|
||||
environment variables like `JAVA_HOME` being set, that can be done in a
|
||||
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;
|
||||
|
||||
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`.
|
||||
* Should probably be a builtin as well.
|
||||
|
@ -208,7 +232,8 @@ rec {
|
|||
allowPrettyValues ? false,
|
||||
/* If this option is true, the output is indented with newlines for attribute sets and lists */
|
||||
multiline ? true
|
||||
}@args: let
|
||||
}@args:
|
||||
let
|
||||
go = indent: v: with builtins;
|
||||
let isPath = v: typeOf v == "path";
|
||||
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";
|
||||
};
|
||||
|
||||
cecill21 = {
|
||||
spdxId = "CECILL-2.1";
|
||||
fullName = "CeCILL Free Software License Agreement v2.1";
|
||||
};
|
||||
|
||||
cecill-b = {
|
||||
spdxId = "CECILL-B";
|
||||
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 ]}";
|
||||
in
|
||||
if attrNames options == [ "_module" ]
|
||||
then throw ''
|
||||
${baseMsg}
|
||||
then
|
||||
let
|
||||
optionName = showOption prefix;
|
||||
in
|
||||
if optionName == ""
|
||||
then 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'.
|
||||
''
|
||||
It seems as if you're trying to declare an option by placing it into `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 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:
|
||||
let
|
||||
# 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
|
||||
lines = filter (v: ! isList v) (builtins.split "\n" prettyEval.value);
|
||||
# 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 = {
|
||||
expr = mapAttrs (const (generators.toPretty { })) rec {
|
||||
list = [ 3 4 [ false ] ];
|
||||
|
|
|
@ -2599,6 +2599,10 @@
|
|||
githubId = 202798;
|
||||
name = "Pierre Bourdon";
|
||||
};
|
||||
delta = {
|
||||
email = "d4delta@outlook.fr";
|
||||
name = "Delta";
|
||||
};
|
||||
deltaevo = {
|
||||
email = "deltaduartedavid@gmail.com";
|
||||
github = "DeltaEvo";
|
||||
|
@ -3251,6 +3255,12 @@
|
|||
githubId = 13485450;
|
||||
name = "Emmanuel Rosa";
|
||||
};
|
||||
emptyflask = {
|
||||
email = "jon@emptyflask.dev";
|
||||
github = "emptyflask";
|
||||
githubId = 28287;
|
||||
name = "Jon Roberts";
|
||||
};
|
||||
endgame = {
|
||||
email = "jack@jackkelly.name";
|
||||
github = "endgame";
|
||||
|
@ -4671,6 +4681,12 @@
|
|||
githubId = 36193715;
|
||||
name = "Lassi Haasio";
|
||||
};
|
||||
ilkecan = {
|
||||
email = "ilkecan@protonmail.com";
|
||||
github = "ilkecan";
|
||||
githubId = 40234257;
|
||||
name = "ilkecan bozdogan";
|
||||
};
|
||||
illegalprime = {
|
||||
email = "themichaeleden@gmail.com";
|
||||
github = "illegalprime";
|
||||
|
|
|
@ -437,7 +437,7 @@ printBuildSummary
|
|||
<> 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
|
||||
jobsByState predicate = Map.filter (predicate . worstState) summary
|
||||
worstState = foldl' min Success . fmap state . summaryBuilds
|
||||
|
@ -464,8 +464,8 @@ printBuildSummary
|
|||
if' (isNothing mergeableJob) "No `mergeable` job found." <>
|
||||
if' (isNothing maintainedJob) "No `maintained` job found." <>
|
||||
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 "aarch64-linux") > 100) "Too much outstanding jobs on aarch64-linux."
|
||||
if' (outstandingJobs (Platform "x86_64-linux") > 100) "Too many outstanding jobs on x86_64-linux." <>
|
||||
if' (outstandingJobs (Platform "aarch64-linux") > 100) "Too many outstanding jobs on aarch64-linux."
|
||||
if' p e = if p then [e] else mempty
|
||||
outstandingJobs platform | Table m <- numSummary = Map.findWithDefault 0 (platform, Unfinished) m
|
||||
maintainedJob = Map.lookup "maintained" summary
|
||||
|
|
|
@ -75,6 +75,10 @@ fi
|
|||
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"
|
||||
|
||||
# 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
|
||||
echo "Updating Stackage..."
|
||||
./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
|
||||
|
||||
# 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
|
||||
|
||||
# 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 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.
|
||||
|
||||
|
@ -114,5 +118,5 @@ This is the follow-up to #${curr_haskell_updates_pr_num}. Come to [#haskell:nixo
|
|||
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"
|
||||
|
|
|
@ -19,3 +19,4 @@ package_list="$(nix-build -A haskell.package-list)/nixos-hackage-packages.csv"
|
|||
username=$(grep "^username:" ~/.cabal/config | sed "s/^username: //")
|
||||
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
|
||||
echo
|
||||
|
|
|
@ -99,7 +99,15 @@
|
|||
<para>
|
||||
<link xlink:href="https://github.com/xrelkd/clipcat/">clipcat</link>,
|
||||
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>
|
||||
</listitem>
|
||||
<listitem>
|
||||
|
@ -1051,6 +1059,16 @@ Superuser created successfully.
|
|||
changelog</link>.
|
||||
</para>
|
||||
</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>
|
||||
</section>
|
||||
<section xml:id="sec-release-21.11-notable-changes">
|
||||
|
@ -1070,6 +1088,40 @@ Superuser created successfully.
|
|||
<literal>linuxPackages_latest</literal>) remain untouched.
|
||||
</para>
|
||||
</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>
|
||||
<para>
|
||||
The setting
|
||||
|
@ -1235,6 +1287,73 @@ Superuser created successfully.
|
|||
</listitem>
|
||||
</itemizedlist>
|
||||
</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>
|
||||
<para>
|
||||
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).
|
||||
|
||||
- [clipcat](https://github.com/xrelkd/clipcat/), an X11 clipboard manager written in Rust. Available at [services.clipcat](options.html#o
|
||||
pt-services.clipcat.enable).
|
||||
- [clipcat](https://github.com/xrelkd/clipcat/), an X11 clipboard manager written in Rust. Available at [services.clipcat](options.html#opt-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).
|
||||
|
||||
|
@ -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
|
||||
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}
|
||||
|
||||
|
||||
- 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 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.
|
||||
|
||||
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
|
||||
- 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 [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
|
||||
config ? null
|
||||
, # Nixpkgs, for qemu, lib and more
|
||||
pkgs
|
||||
pkgs, lib
|
||||
, # !!! See comment about args in lib/modules.nix
|
||||
specialArgs ? {}
|
||||
, # NixOS configuration to add to the VMs
|
||||
extraConfigurations ? []
|
||||
}:
|
||||
|
||||
with pkgs.lib;
|
||||
with import ../lib/qemu-flags.nix { inherit pkgs; };
|
||||
with lib;
|
||||
|
||||
rec {
|
||||
|
||||
|
@ -93,8 +92,9 @@ rec {
|
|||
"${config.networking.hostName}\n"));
|
||||
|
||||
virtualisation.qemu.options =
|
||||
forEach interfacesNumbered
|
||||
({ fst, snd }: qemuNICFlags snd fst m.snd);
|
||||
let qemu-common = import ../lib/qemu-common.nix { inherit lib pkgs; };
|
||||
in flip concatMap interfacesNumbered
|
||||
({ fst, snd }: qemu-common.qemuNICFlags snd fst m.snd);
|
||||
};
|
||||
}
|
||||
)
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
# QEMU flags shared between various Nix expressions.
|
||||
{ pkgs }:
|
||||
# QEMU-related utilities shared between various Nix expressions.
|
||||
{ lib, pkgs }:
|
||||
|
||||
let
|
||||
zeroPad = n:
|
||||
pkgs.lib.optionalString (n < 16) "0" +
|
||||
lib.optionalString (n < 16) "0" +
|
||||
(if n > 255
|
||||
then throw "Can't have more than 255 nets or nodes!"
|
||||
else pkgs.lib.toHexString n);
|
||||
else lib.toHexString n);
|
||||
in
|
||||
|
||||
rec {
|
||||
|
@ -14,7 +14,7 @@ rec {
|
|||
|
||||
qemuNICFlags = nic: 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"
|
|
@ -217,7 +217,7 @@ rec {
|
|||
nodes = qemu_pkg:
|
||||
let
|
||||
build-vms = import ./build-vms.nix {
|
||||
inherit system pkgs minimal specialArgs;
|
||||
inherit system lib pkgs minimal specialArgs;
|
||||
extraConfigurations = extraConfigurations ++ [(
|
||||
{
|
||||
virtualisation.qemu.package = qemu_pkg;
|
||||
|
@ -257,7 +257,6 @@ rec {
|
|||
inherit test driver driverInteractive nodes;
|
||||
};
|
||||
|
||||
|
||||
abortForFunction = functionName: abort ''The ${functionName} function was
|
||||
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
|
||||
|
|
|
@ -6,7 +6,11 @@ let
|
|||
|
||||
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
|
||||
in `pkgs` (recursively) replaced by a fake with path "\${pkgs.attribute.path}".
|
||||
|
|
|
@ -43,6 +43,9 @@ in {
|
|||
The format is described in
|
||||
<citerefentry><refentrytitle>systemd.time</refentrytitle>
|
||||
<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;
|
||||
};
|
||||
|
||||
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.)"
|
||||
++ 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";
|
||||
|
@ -238,7 +253,7 @@ in {
|
|||
serviceConfig.ReadWritePaths = dirOf cfg.output;
|
||||
};
|
||||
|
||||
systemd.timers.update-locatedb =
|
||||
systemd.timers.update-locatedb = mkIf (cfg.interval != "never")
|
||||
{ description = "Update timer for locate database";
|
||||
partOf = [ "update-locatedb.service" ];
|
||||
wantedBy = [ "timers.target" ];
|
||||
|
|
|
@ -963,6 +963,7 @@
|
|||
./services/web-apps/calibre-web.nix
|
||||
./services/web-apps/convos.nix
|
||||
./services/web-apps/cryptpad.nix
|
||||
./services/web-apps/dex.nix
|
||||
./services/web-apps/discourse.nix
|
||||
./services/web-apps/documize.nix
|
||||
./services/web-apps/dokuwiki.nix
|
||||
|
@ -990,6 +991,7 @@
|
|||
./services/web-apps/nextcloud.nix
|
||||
./services/web-apps/nexus.nix
|
||||
./services/web-apps/node-red.nix
|
||||
./services/web-apps/pict-rs.nix
|
||||
./services/web-apps/plantuml-server.nix
|
||||
./services/web-apps/plausible.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
|
||||
# endpoint.
|
||||
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
|
||||
|
|
|
@ -65,7 +65,7 @@ in {
|
|||
unitConfig.Documentation = [ "man:lircd(8)" ];
|
||||
|
||||
serviceConfig = {
|
||||
RuntimeDirectory = "lirc";
|
||||
RuntimeDirectory = ["lirc" "lirc/lock"];
|
||||
|
||||
# Service runtime directory and socket share same folder.
|
||||
# Following hacks are necessary to get everything right:
|
||||
|
|
|
@ -66,7 +66,7 @@ in
|
|||
RestrictNamespaces = "yes";
|
||||
RestrictRealtime = "yes";
|
||||
RestrictSUIDSGID = "yes";
|
||||
MemoryDenyWriteExecute = "yes";
|
||||
MemoryDenyWriteExecute = "no"; # v8 JIT requires memory segments to be Writable-Executable.
|
||||
LockPersonality = "yes";
|
||||
};
|
||||
};
|
||||
|
|
|
@ -20,10 +20,16 @@ let
|
|||
++ optional cfg.scanOnLowSignal ''bgscan="simple:30:-70:3600"''
|
||||
++ optional (cfg.extraConfig != "") cfg.extraConfig);
|
||||
|
||||
configIsGenerated = with cfg;
|
||||
networks != {} || extraConfig != "" || userControlled.enable;
|
||||
|
||||
# the original configuration file
|
||||
configFile =
|
||||
if cfg.networks != {} || cfg.extraConfig != "" || cfg.userControlled.enable
|
||||
if configIsGenerated
|
||||
then pkgs.writeText "wpa_supplicant.conf" generatedConfig
|
||||
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
|
||||
mkNetwork = ssid: opts:
|
||||
|
@ -56,8 +62,8 @@ let
|
|||
let
|
||||
deviceUnit = optional (iface != null) "sys-subsystem-net-devices-${utils.escapeSystemdPath iface}.device";
|
||||
configStr = if cfg.allowAuxiliaryImperativeNetworks
|
||||
then "-c /etc/wpa_supplicant.conf -I ${configFile}"
|
||||
else "-c ${configFile}";
|
||||
then "-c /etc/wpa_supplicant.conf -I ${finalConfig}"
|
||||
else "-c ${finalConfig}";
|
||||
in {
|
||||
description = "WPA Supplicant instance" + optionalString (iface != null) " for interface ${iface}";
|
||||
|
||||
|
@ -69,12 +75,25 @@ let
|
|||
stopIfChanged = false;
|
||||
|
||||
path = [ package ];
|
||||
serviceConfig.RuntimeDirectory = "wpa_supplicant";
|
||||
serviceConfig.RuntimeDirectoryMode = "700";
|
||||
serviceConfig.EnvironmentFile = mkIf (cfg.environmentFile != null)
|
||||
(builtins.toString cfg.environmentFile);
|
||||
|
||||
script =
|
||||
''
|
||||
if [ -f /etc/wpa_supplicant.conf -a "/etc/wpa_supplicant.conf" != "${configFile}" ]; then
|
||||
echo >&2 "<3>/etc/wpa_supplicant.conf present but ignored. Generated ${configFile} is used instead."
|
||||
fi
|
||||
${optionalString configIsGenerated ''
|
||||
if [ -f /etc/wpa_supplicant.conf ]; then
|
||||
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}"
|
||||
|
||||
|
@ -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 {
|
||||
type = types.attrsOf (types.submodule {
|
||||
options = {
|
||||
|
@ -165,10 +222,14 @@ in {
|
|||
The network's pre-shared key in plaintext defaulting
|
||||
to being a network without any authentication.
|
||||
|
||||
Be aware that these will be written to the nix store
|
||||
in plaintext!
|
||||
<warning><para>
|
||||
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
|
||||
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 = ''
|
||||
eap=PEAP
|
||||
identity="user@example.com"
|
||||
password="secret"
|
||||
password="@EXAMPLE_PASSWORD@"
|
||||
'';
|
||||
description = ''
|
||||
Use this option to configure advanced authentication methods like EAP.
|
||||
|
@ -242,7 +310,15 @@ in {
|
|||
</citerefentry>
|
||||
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 = {};
|
||||
example = literalExample ''
|
||||
{ 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
|
||||
psk = "ijklmnop";
|
||||
psk = "ijklmnop"; # (password will be written to /nix/store!)
|
||||
};
|
||||
|
||||
"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
|
||||
kwalletmanager
|
||||
kwayland
|
||||
kwayland-integration
|
||||
kwidgetsaddons
|
||||
kxmlgui
|
||||
kxmlrpcclient
|
||||
|
|
|
@ -1139,10 +1139,12 @@ in
|
|||
source = "${pkgs.iputils.out}/bin/ping";
|
||||
};
|
||||
} else {
|
||||
setuid = true;
|
||||
owner = "root";
|
||||
group = "root";
|
||||
source = "${pkgs.iputils.out}/bin/ping";
|
||||
ping = {
|
||||
setuid = true;
|
||||
owner = "root";
|
||||
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 ''
|
||||
/run/wrappers/bin/ping {
|
||||
|
|
|
@ -4,7 +4,10 @@
|
|||
{ options, config, lib, pkgs, ... }:
|
||||
|
||||
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 =
|
||||
{ wantedBy = [ "multi-user.target" ];
|
||||
requires = [ "dev-hvc0.device" "dev-${qemuSerialDevice}.device" ];
|
||||
after = [ "dev-hvc0.device" "dev-${qemuSerialDevice}.device" ];
|
||||
requires = [ "dev-hvc0.device" "dev-${qemu-common.qemuSerialDevice}.device" ];
|
||||
after = [ "dev-hvc0.device" "dev-${qemu-common.qemuSerialDevice}.device" ];
|
||||
script =
|
||||
''
|
||||
export USER=root
|
||||
|
@ -30,7 +33,7 @@ with import ../../lib/qemu-flags.nix { inherit pkgs; };
|
|||
|
||||
cd /tmp
|
||||
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
|
||||
stty -F /dev/hvc0 raw -echo # prevent nl -> cr/nl conversion
|
||||
echo
|
||||
|
@ -42,7 +45,7 @@ with import ../../lib/qemu-flags.nix { inherit pkgs; };
|
|||
# Prevent agetty from being instantiated on the serial device, since it
|
||||
# interferes with the backdoor (writes to it will randomly fail
|
||||
# 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;
|
||||
|
||||
# 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.
|
||||
# TODO: refactor such that test-instrumentation can import qemu-vm
|
||||
# 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;
|
||||
};
|
||||
};
|
||||
|
@ -88,7 +91,7 @@ with import ../../lib/qemu-flags.nix { inherit pkgs; };
|
|||
# Panic if an error occurs in stage 1 (rather than waiting for
|
||||
# user intervention).
|
||||
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.
|
||||
environment.systemPackages = [ pkgs.xorg.xwininfo ];
|
||||
|
|
|
@ -10,10 +10,10 @@
|
|||
{ config, lib, pkgs, options, ... }:
|
||||
|
||||
with lib;
|
||||
with import ../../lib/qemu-flags.nix { inherit pkgs; };
|
||||
|
||||
let
|
||||
|
||||
qemu-common = import ../../lib/qemu-common.nix { inherit lib pkgs; };
|
||||
|
||||
cfg = config.virtualisation;
|
||||
|
||||
|
@ -75,7 +75,7 @@ let
|
|||
in
|
||||
"-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.
|
||||
|
@ -108,39 +108,44 @@ let
|
|||
''
|
||||
#! ${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
|
||||
${qemu}/bin/qemu-img create -f qcow2 "$NIX_DISK_IMAGE" \
|
||||
${toString config.virtualisation.diskSize}M || exit 1
|
||||
${toString config.virtualisation.diskSize}M
|
||||
fi
|
||||
|
||||
# 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)
|
||||
fi
|
||||
|
||||
# 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.
|
||||
# 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
|
||||
if ! test -e "$NIX_EFI_VARS"; then
|
||||
cp ${bootDisk}/efi-vars.fd "$NIX_EFI_VARS" || exit 1
|
||||
chmod 0644 "$NIX_EFI_VARS" || exit 1
|
||||
cp ${bootDisk}/efi-vars.fd "$NIX_EFI_VARS"
|
||||
chmod 0644 "$NIX_EFI_VARS"
|
||||
fi
|
||||
'' else ""}
|
||||
'' else ""}
|
||||
''}
|
||||
''}
|
||||
|
||||
cd $TMPDIR
|
||||
idx=0
|
||||
cd "$TMPDIR"
|
||||
|
||||
${lib.optionalString (cfg.emptyDiskImages != []) "idx=0"}
|
||||
${flip concatMapStrings cfg.emptyDiskImages (size: ''
|
||||
if ! test -e "empty$idx.qcow2"; then
|
||||
${qemu}/bin/qemu-img create -f qcow2 "empty$idx.qcow2" "${toString size}M"
|
||||
|
@ -149,17 +154,18 @@ let
|
|||
'')}
|
||||
|
||||
# Start QEMU.
|
||||
exec ${qemuBinary qemu} \
|
||||
exec ${qemu-common.qemuBinary qemu} \
|
||||
-name ${config.system.name} \
|
||||
-m ${toString config.virtualisation.memorySize} \
|
||||
-smp ${toString config.virtualisation.cores} \
|
||||
-device virtio-rng-pci \
|
||||
${concatStringsSep " " config.virtualisation.qemu.networkingOptions} \
|
||||
-virtfs local,path=/nix/store,security_model=none,mount_tag=store \
|
||||
-virtfs local,path=$TMPDIR/xchg,security_model=none,mount_tag=xchg \
|
||||
-virtfs local,path=''${SHARED_DIR:-$TMPDIR/xchg},security_model=none,mount_tag=shared \
|
||||
${concatStringsSep " \\\n "
|
||||
(mapAttrsToList
|
||||
(tag: share: "-virtfs local,path=${share.source},security_model=none,mount_tag=${tag}")
|
||||
config.virtualisation.sharedDirectories)} \
|
||||
${drivesCmdLine config.virtualisation.qemu.drives} \
|
||||
${toString config.virtualisation.qemu.options} \
|
||||
${concatStringsSep " \\\n " config.virtualisation.qemu.options} \
|
||||
$QEMU_OPTS \
|
||||
"$@"
|
||||
'';
|
||||
|
@ -270,20 +276,21 @@ in
|
|||
|
||||
virtualisation.memorySize =
|
||||
mkOption {
|
||||
type = types.ints.positive;
|
||||
default = 384;
|
||||
description =
|
||||
''
|
||||
Memory size (M) of virtual machine.
|
||||
The memory size in megabytes of the virtual machine.
|
||||
'';
|
||||
};
|
||||
|
||||
virtualisation.msize =
|
||||
mkOption {
|
||||
default = null;
|
||||
type = types.nullOr types.ints.unsigned;
|
||||
type = types.ints.positive;
|
||||
default = 16384;
|
||||
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,
|
||||
at the cost of higher RAM usage.
|
||||
'';
|
||||
|
@ -291,15 +298,17 @@ in
|
|||
|
||||
virtualisation.diskSize =
|
||||
mkOption {
|
||||
type = types.nullOr types.ints.positive;
|
||||
default = 512;
|
||||
description =
|
||||
''
|
||||
Disk size (M) of virtual machine.
|
||||
The disk size in megabytes of the virtual machine.
|
||||
'';
|
||||
};
|
||||
|
||||
virtualisation.diskImage =
|
||||
mkOption {
|
||||
type = types.str;
|
||||
default = "./${config.system.name}.qcow2";
|
||||
description =
|
||||
''
|
||||
|
@ -311,7 +320,7 @@ in
|
|||
|
||||
virtualisation.bootDevice =
|
||||
mkOption {
|
||||
type = types.str;
|
||||
type = types.path;
|
||||
example = "/dev/vda";
|
||||
description =
|
||||
''
|
||||
|
@ -321,8 +330,8 @@ in
|
|||
|
||||
virtualisation.emptyDiskImages =
|
||||
mkOption {
|
||||
type = types.listOf types.ints.positive;
|
||||
default = [];
|
||||
type = types.listOf types.int;
|
||||
description =
|
||||
''
|
||||
Additional disk images to provide to the VM. The value is
|
||||
|
@ -333,6 +342,7 @@ in
|
|||
|
||||
virtualisation.graphics =
|
||||
mkOption {
|
||||
type = types.bool;
|
||||
default = true;
|
||||
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 =
|
||||
mkOption {
|
||||
type = types.ints.positive;
|
||||
default = 1;
|
||||
type = types.int;
|
||||
description =
|
||||
''
|
||||
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 =
|
||||
mkOption {
|
||||
type = types.listOf types.path;
|
||||
default = [];
|
||||
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 =
|
||||
mkOption {
|
||||
type = types.listOf types.ints.unsigned;
|
||||
default = [ 1 ];
|
||||
example = [ 1 2 ];
|
||||
description =
|
||||
|
@ -386,6 +502,7 @@ in
|
|||
|
||||
virtualisation.writableStore =
|
||||
mkOption {
|
||||
type = types.bool;
|
||||
default = true; # FIXME
|
||||
description =
|
||||
''
|
||||
|
@ -397,6 +514,7 @@ in
|
|||
|
||||
virtualisation.writableStoreUseTmpfs =
|
||||
mkOption {
|
||||
type = types.bool;
|
||||
default = true;
|
||||
description =
|
||||
''
|
||||
|
@ -407,6 +525,7 @@ in
|
|||
|
||||
networking.primaryIPAddress =
|
||||
mkOption {
|
||||
type = types.str;
|
||||
default = "";
|
||||
internal = true;
|
||||
description = "Primary IP address used in /etc/hosts.";
|
||||
|
@ -423,7 +542,7 @@ in
|
|||
|
||||
options =
|
||||
mkOption {
|
||||
type = types.listOf types.unspecified;
|
||||
type = types.listOf types.str;
|
||||
default = [];
|
||||
example = [ "-vga std" ];
|
||||
description = "Options passed to QEMU.";
|
||||
|
@ -432,7 +551,7 @@ in
|
|||
consoles = mkOption {
|
||||
type = types.listOf types.str;
|
||||
default = let
|
||||
consoles = [ "${qemuSerialDevice},115200n8" "tty0" ];
|
||||
consoles = [ "${qemu-common.qemuSerialDevice},115200n8" "tty0" ];
|
||||
in if cfg.graphics then consoles else reverseList consoles;
|
||||
example = [ "console=tty1" ];
|
||||
description = ''
|
||||
|
@ -448,17 +567,18 @@ in
|
|||
|
||||
networkingOptions =
|
||||
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;
|
||||
default = [ ];
|
||||
example = [
|
||||
"-net nic,netdev=user.0,model=virtio"
|
||||
"-netdev user,id=user.0,\${QEMU_NET_OPTS:+,$QEMU_NET_OPTS}"
|
||||
];
|
||||
description = ''
|
||||
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
|
||||
''${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.
|
||||
'';
|
||||
};
|
||||
|
@ -472,16 +592,16 @@ in
|
|||
|
||||
diskInterface =
|
||||
mkOption {
|
||||
type = types.enum [ "virtio" "scsi" "ide" ];
|
||||
default = "virtio";
|
||||
example = "scsi";
|
||||
type = types.enum [ "virtio" "scsi" "ide" ];
|
||||
description = "The interface used for the virtual hard disks.";
|
||||
};
|
||||
|
||||
guestAgent.enable =
|
||||
mkOption {
|
||||
default = true;
|
||||
type = types.bool;
|
||||
default = true;
|
||||
description = ''
|
||||
Enable the Qemu guest agent.
|
||||
'';
|
||||
|
@ -490,6 +610,7 @@ in
|
|||
|
||||
virtualisation.useBootLoader =
|
||||
mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description =
|
||||
''
|
||||
|
@ -504,6 +625,7 @@ in
|
|||
|
||||
virtualisation.useEFIBoot =
|
||||
mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description =
|
||||
''
|
||||
|
@ -515,6 +637,7 @@ in
|
|||
|
||||
virtualisation.efiVars =
|
||||
mkOption {
|
||||
type = types.str;
|
||||
default = "./${config.system.name}-efi-vars.fd";
|
||||
description =
|
||||
''
|
||||
|
@ -525,8 +648,8 @@ in
|
|||
|
||||
virtualisation.bios =
|
||||
mkOption {
|
||||
default = null;
|
||||
type = types.nullOr types.package;
|
||||
default = null;
|
||||
description =
|
||||
''
|
||||
An alternate BIOS (such as <package>qboot</package>) with which to start the VM.
|
||||
|
@ -539,6 +662,25 @@ in
|
|||
|
||||
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`]
|
||||
#
|
||||
# If `useBootLoader = true`, we configure 2 drives:
|
||||
|
@ -560,6 +702,7 @@ in
|
|||
then driveDeviceName 2 # second disk
|
||||
else cfg.bootDevice
|
||||
);
|
||||
boot.loader.grub.gfxmodeBios = with cfg.resolution; "${toString x}x${toString y}";
|
||||
|
||||
boot.initrd.extraUtilsCommands =
|
||||
''
|
||||
|
@ -618,6 +761,28 @@ in
|
|||
|
||||
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.
|
||||
virtualisation.qemu.options = mkMerge [
|
||||
(mkIf (pkgs.stdenv.isi686 || pkgs.stdenv.isx86_64) [
|
||||
|
@ -646,7 +811,7 @@ in
|
|||
virtualisation.qemu.drives = mkMerge [
|
||||
[{
|
||||
name = "root";
|
||||
file = "$NIX_DISK_IMAGE";
|
||||
file = ''"$NIX_DISK_IMAGE"'';
|
||||
driveExtraOpts.cache = "writeback";
|
||||
driveExtraOpts.werror = "report";
|
||||
}]
|
||||
|
@ -655,7 +820,7 @@ in
|
|||
# note [Disk layout with `useBootLoader`].
|
||||
{
|
||||
name = "boot";
|
||||
file = "$TMPDIR/disk.img";
|
||||
file = ''"$TMPDIR"/disk.img'';
|
||||
driveExtraOpts.media = "disk";
|
||||
deviceExtraOpts.bootindex = "1";
|
||||
}
|
||||
|
@ -672,15 +837,26 @@ in
|
|||
# configuration, where the regular value for the `fileSystems'
|
||||
# attribute should be disregarded for the purpose of building a VM
|
||||
# test image (since those filesystems don't exist in the VM).
|
||||
fileSystems = mkVMOverride (
|
||||
cfg.fileSystems //
|
||||
{ "/".device = cfg.bootDevice;
|
||||
${if cfg.writableStore then "/nix/.ro-store" else "/nix/store"} =
|
||||
{ device = "store";
|
||||
fsType = "9p";
|
||||
options = [ "trans=virtio" "version=9p2000.L" "cache=loose" ] ++ lib.optional (cfg.msize != null) "msize=${toString cfg.msize}";
|
||||
neededForBoot = true;
|
||||
};
|
||||
fileSystems =
|
||||
let
|
||||
mkSharedDir = tag: share:
|
||||
{
|
||||
name =
|
||||
if tag == "nix-store" && cfg.writableStore
|
||||
then "/nix/.ro-store"
|
||||
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
|
||||
{ device = "tmpfs";
|
||||
fsType = "tmpfs";
|
||||
|
@ -688,32 +864,20 @@ in
|
|||
# Sync with systemd's tmp.mount;
|
||||
options = [ "mode=1777" "strictatime" "nosuid" "nodev" "size=${toString config.boot.tmpOnTmpfsSize}" ];
|
||||
};
|
||||
"/tmp/xchg" =
|
||||
{ device = "xchg";
|
||||
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" =
|
||||
|
||||
"/nix/.rw-store" = mkIf (cfg.writableStore && cfg.writableStoreUseTmpfs)
|
||||
{ fsType = "tmpfs";
|
||||
options = [ "mode=0755" ];
|
||||
neededForBoot = true;
|
||||
};
|
||||
} // optionalAttrs cfg.useBootLoader
|
||||
{ "/boot" =
|
||||
|
||||
"/boot" = mkIf cfg.useBootLoader
|
||||
# see note [Disk layout with `useBootLoader`]
|
||||
{ device = "${lookupDriveDeviceName "boot" cfg.qemu.drives}2"; # 2 for e.g. `vdb2`, as created in `bootDisk`
|
||||
fsType = "vfat";
|
||||
noCheck = true; # fsck fails on a r/o filesystem
|
||||
};
|
||||
});
|
||||
} // lib.mapAttrs' mkSharedDir cfg.sharedDirectories);
|
||||
|
||||
swapDevices = mkVMOverride [ ];
|
||||
boot.initrd.luks.devices = mkVMOverride {};
|
||||
|
@ -734,7 +898,7 @@ in
|
|||
# video driver the host uses.
|
||||
services.xserver.videoDrivers = mkVMOverride [ "modesetting" ];
|
||||
services.xserver.defaultDepth = mkVMOverride 0;
|
||||
services.xserver.resolutions = mkVMOverride [ { x = 1024; y = 768; } ];
|
||||
services.xserver.resolutions = mkVMOverride [ cfg.resolution ];
|
||||
services.xserver.monitorSection =
|
||||
''
|
||||
# Set a higher refresh rate so that resolutions > 800x600 work.
|
||||
|
|
|
@ -97,6 +97,7 @@ in
|
|||
cryptpad = handleTest ./cryptpad.nix {};
|
||||
deluge = handleTest ./deluge.nix {};
|
||||
dendrite = handleTest ./dendrite.nix {};
|
||||
dex-oidc = handleTest ./dex-oidc.nix {};
|
||||
dhparams = handleTest ./dhparams.nix {};
|
||||
disable-installer-tools = handleTest ./disable-installer-tools.nix {};
|
||||
discourse = handleTest ./discourse.nix {};
|
||||
|
@ -478,6 +479,7 @@ in
|
|||
wiki-js = handleTest ./wiki-js.nix {};
|
||||
wireguard = handleTest ./wireguard {};
|
||||
wmderland = handleTest ./wmderland.nix {};
|
||||
wpa_supplicant = handleTest ./wpa_supplicant.nix {};
|
||||
wordpress = handleTest ./wordpress.nix {};
|
||||
xandikos = handleTest ./xandikos.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/qemu-flags.nix { inherit pkgs; };
|
||||
with pkgs.lib;
|
||||
|
||||
let
|
||||
qemu-common = import ../lib/qemu-common.nix { inherit (pkgs) lib pkgs; };
|
||||
|
||||
iso =
|
||||
(import ../lib/eval-config.nix {
|
||||
|
@ -23,7 +23,7 @@ let
|
|||
makeBootTest = name: extraConfig:
|
||||
let
|
||||
machineConfig = pythonDict ({
|
||||
qemuBinary = qemuBinary pkgs.qemu_test;
|
||||
qemuBinary = qemu-common.qemuBinary pkgs.qemu_test;
|
||||
qemuFlags = "-m 768";
|
||||
} // extraConfig);
|
||||
in
|
||||
|
@ -65,7 +65,7 @@ let
|
|||
];
|
||||
};
|
||||
machineConfig = pythonDict ({
|
||||
qemuBinary = qemuBinary pkgs.qemu_test;
|
||||
qemuBinary = qemu-common.qemuBinary pkgs.qemu_test;
|
||||
qemuFlags = "-boot order=n -m 2000";
|
||||
netBackendArgs = "tftp=${ipxeBootDir},bootfile=netboot.ipxe";
|
||||
} // 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
|
||||
test-support.displayManager.auto.user = "alice";
|
||||
# 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" ];
|
||||
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.
|
||||
# firefox
|
||||
chromium
|
||||
falkon
|
||||
qutebrowser
|
||||
midori
|
||||
];
|
||||
};
|
||||
|
@ -152,21 +152,21 @@ in
|
|||
with subtest("Unknown CA is untrusted in curl"):
|
||||
machine.fail("curl -fv https://bad.example.com")
|
||||
|
||||
browsers = [
|
||||
browsers = {
|
||||
# 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.
|
||||
# "firefox",
|
||||
"chromium",
|
||||
"falkon",
|
||||
"midori"
|
||||
]
|
||||
errors = ["Security Risk", "not private", "Certificate Error", "Security"]
|
||||
#"firefox": "Security Risk",
|
||||
"chromium": "not private",
|
||||
"qutebrowser -T": "Certificate error",
|
||||
"midori": "Security"
|
||||
}
|
||||
|
||||
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):
|
||||
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)
|
||||
machine.wait_for_text("It works!")
|
||||
|
@ -174,7 +174,7 @@ in
|
|||
execute_as("alice", "xdotool key ctrl+w") # close tab
|
||||
|
||||
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.screenshot("bad" + 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"):
|
||||
docker.succeed(
|
||||
"docker load --input='${examples.nixFromDockerHub}'",
|
||||
"docker load --input='${examples.testNixFromDockerHub}'",
|
||||
"docker run --rm nix:2.2.1 nix-store --version",
|
||||
"docker rmi nix:2.2.1",
|
||||
)
|
||||
|
@ -378,5 +378,10 @@ import ./make-test-python.nix ({ pkgs, ... }: {
|
|||
docker.succeed(
|
||||
"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.
|
||||
virtualisation.memorySize = "500";
|
||||
virtualisation.memorySize = 500;
|
||||
|
||||
# Create a virtual sound device, with mixing
|
||||
# and all, for recording audio.
|
||||
|
|
|
@ -31,7 +31,6 @@ let
|
|||
linuxPackages_4_19
|
||||
linuxPackages_5_4
|
||||
linuxPackages_5_10
|
||||
linuxPackages_5_13
|
||||
linuxPackages_5_14
|
||||
|
||||
linuxPackages_4_14_hardened
|
||||
|
|
|
@ -8,7 +8,7 @@ with import ../lib/testing-python.nix { inherit system pkgs; };
|
|||
with pkgs.lib;
|
||||
|
||||
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, ... }:
|
||||
with pkgs.lib;
|
||||
|
@ -42,7 +42,7 @@ let
|
|||
machines = flip map vlanIfs (vlan:
|
||||
{
|
||||
hostName = "client${toString vlan}";
|
||||
ethernetAddress = qemu-flags.qemuNicMac vlan 1;
|
||||
ethernetAddress = qemu-common.qemuNicMac vlan 1;
|
||||
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[@]}")
|
||||
'';
|
||||
|
||||
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; {
|
||||
description = "A real-time audio analyzer";
|
||||
homepage = "https://friture.org/";
|
||||
|
|
|
@ -37,5 +37,7 @@ lib.makeScope newScope (self: with self; {
|
|||
|
||||
mopidy-youtube = callPackage ./youtube.nix { };
|
||||
|
||||
mopidy-ytmusic = callPackage ./ytmusic.nix { };
|
||||
|
||||
mopidy-subidy = callPackage ./subidy.nix { };
|
||||
})
|
||||
|
|
|
@ -2,11 +2,11 @@
|
|||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "Mopidy-MPD";
|
||||
version = "3.0.0";
|
||||
version = "3.2.0";
|
||||
|
||||
src = python3Packages.fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "0prjli4352521igcsfcgmk97jmzgbfy4ik8hnli37wgvv252wiac";
|
||||
sha256 = "sha256-oZvKr61lyu7CmXP2A/xtYng1FIUPyveVJMqUuv6UnaM=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [mopidy];
|
||||
|
|
|
@ -2,12 +2,12 @@
|
|||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "mopidy-mpris";
|
||||
version = "3.0.2";
|
||||
version = "3.0.3";
|
||||
|
||||
src = python3Packages.fetchPypi {
|
||||
inherit version;
|
||||
pname = "Mopidy-MPRIS";
|
||||
sha256 = "0mmdaikw00f43gzjdbvlcvzff6yppm7v8mv012r79adzd992q9y0";
|
||||
sha256 = "sha256-rHQgNIyludTEL7RDC8dIpyGTMOt1Tazn6i/orKlSP4U=";
|
||||
};
|
||||
|
||||
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 {
|
||||
pname = "NoiseTorch";
|
||||
version = "0.11.3";
|
||||
version = "0.11.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "lawl";
|
||||
repo = "NoiseTorch";
|
||||
rev = version;
|
||||
sha256 = "0rjs6hbi7dvd179lzjmvqy4rv4pbc9amgzb8jfky4yc0zh8xf5z5";
|
||||
sha256 = "sha256-3+Yk7dqD7eyvd1I5CMmrg085ZtFxD2EnGqL5ttwx8eM=";
|
||||
};
|
||||
|
||||
vendorSha256 = null;
|
||||
|
|
|
@ -13,12 +13,12 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "sc68";
|
||||
version = "unstable-2020-05-18";
|
||||
version = "unstable-2021-08-23";
|
||||
|
||||
src = fetchsvn {
|
||||
url = "svn://svn.code.sf.net/p/sc68/code/";
|
||||
rev = "693";
|
||||
sha256 = "0liz5yjwiy41y160ag83zz9s5l8mk72fscxgvjv9g5qf4gwffnfa";
|
||||
rev = "694";
|
||||
sha256 = "1yycnr4ndzfhbmki41c30zskwyizpb9wb8sf0gxcprllmbq6a421";
|
||||
};
|
||||
|
||||
preConfigure = "tools/svn-bootstrap.sh";
|
||||
|
|
|
@ -10,8 +10,9 @@
|
|||
, rustPlatform
|
||||
, pkg-config
|
||||
, glib
|
||||
, libadwaita
|
||||
, libhandy
|
||||
, gtk3
|
||||
, gtk4
|
||||
, openssl
|
||||
, alsa-lib
|
||||
, libpulseaudio
|
||||
|
@ -20,19 +21,19 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "spot";
|
||||
version = "0.1.14";
|
||||
version = "0.2.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "xou816";
|
||||
repo = "spot";
|
||||
rev = version;
|
||||
sha256 = "eHhbm1amTx3ngqsP32uDEdrhrBeurMftg5SToTQGX9o=";
|
||||
sha256 = "16pri0in514xzy21bsijyvyyjwa0f6lg4zyizmdcmcdw4glrs11m";
|
||||
};
|
||||
|
||||
cargoDeps = rustPlatform.fetchCargoTarball {
|
||||
inherit src;
|
||||
name = "${pname}-${version}";
|
||||
hash = "sha256-jY7pWoY9IJi5hHVRS1gQKb+Vmfc+wxHvoAwupOtXXQs=";
|
||||
sha256 = "1fvnidxh4rnkzqg3qjk3zlkp2d41qdamm0bfavk8jrazw8sgih84";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -41,7 +42,7 @@ stdenv.mkDerivation rec {
|
|||
ninja
|
||||
pkg-config
|
||||
python3 # for meson postinstall script
|
||||
gtk3 # for gtk-update-icon-cache
|
||||
gtk4 # for gtk-update-icon-cache
|
||||
glib # for glib-compile-schemas
|
||||
desktop-file-utils
|
||||
rustPlatform.rust.cargo
|
||||
|
@ -52,7 +53,8 @@ stdenv.mkDerivation rec {
|
|||
|
||||
buildInputs = [
|
||||
glib
|
||||
gtk3
|
||||
gtk4
|
||||
libadwaita
|
||||
libhandy
|
||||
openssl
|
||||
alsa-lib
|
||||
|
@ -77,6 +79,6 @@ stdenv.mkDerivation rec {
|
|||
description = "Native Spotify client for the GNOME desktop";
|
||||
homepage = "https://github.com/xou816/spot";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ jtojnar ];
|
||||
maintainers = with maintainers; [ jtojnar tomfitzhenry ];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -35,11 +35,11 @@ let
|
|||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "bisq-desktop";
|
||||
version = "1.7.3";
|
||||
version = "1.7.4";
|
||||
|
||||
src = fetchurl {
|
||||
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 ];
|
||||
|
|
|
@ -1,22 +1,24 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, rustPlatform
|
||||
, fetchFromGitHub
|
||||
, llvmPackages
|
||||
, rocksdb
|
||||
, Security
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "electrs";
|
||||
version = "0.8.12";
|
||||
version = "0.9.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "romanz";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "0kd5zki9f1pnwscnvd921dw0lc45nfkwk23l33nzdjn005lmsw7v";
|
||||
sha256 = "04dqbn2nfzllxfcn3v9vkfy2hn2syihijr575621r1pj65pcgf8y";
|
||||
};
|
||||
|
||||
cargoSha256 = "1l8dwjwj21crxampzj5c0k98xnisgy3d9c3dkgf5vaybrcp04k85";
|
||||
cargoSha256 = "0hl8q62lankrab8gq9vxmkn68drs0hw5pk0q6aiq8fxsb63dzsw0";
|
||||
|
||||
# needed for librocksdb-sys
|
||||
nativeBuildInputs = [ llvmPackages.clang ];
|
||||
|
@ -25,7 +27,8 @@ rustPlatform.buildRustPackage rec {
|
|||
# link rocksdb dynamically
|
||||
ROCKSDB_INCLUDE_DIR = "${rocksdb}/include";
|
||||
ROCKSDB_LIB_DIR = "${rocksdb}/lib";
|
||||
cargoBuildFlags = "--no-default-features";
|
||||
|
||||
buildInputs = lib.optionals stdenv.isDarwin [ Security ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "An efficient re-implementation of Electrum Server in Rust";
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ lib, fetchurl, appimageTools, imagemagick }:
|
||||
{ lib, fetchurl, appimageTools, imagemagick, systemd }:
|
||||
|
||||
let
|
||||
pname = "ledger-live-desktop";
|
||||
|
@ -13,9 +13,22 @@ let
|
|||
appimageContents = appimageTools.extractType2 {
|
||||
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;
|
||||
|
||||
extraPkgs = pkgs: [ systemdPatched ];
|
||||
|
||||
extraInstallCommands = ''
|
||||
mv $out/bin/${name} $out/bin/${pname}
|
||||
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 {
|
||||
pname = "polkadot";
|
||||
version = "0.9.9-1";
|
||||
version = "0.9.10";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "paritytech";
|
||||
repo = "polkadot";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-EmnrwBMHb9jpEZAG393yyMaFRRQJ6YYDRvsp+ATT7MY=";
|
||||
sha256 = "1iBA7R63g0UOuCmnFONc9j/7jfcHA54jJ327AL/aPIE=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-WzsaUrqe7F4x+ShqG14kq78MTSWIxIMRa3pdr3RXrwk=";
|
||||
cargoSha256 = "1ysbyv323qmpswbnd2lvisrwnk30l4zvcidh866nrk6b6jqjag42";
|
||||
|
||||
nativeBuildInputs = [ clang ];
|
||||
|
||||
|
|
|
@ -1,24 +1,24 @@
|
|||
{ 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
|
||||
, withUtils ? true, withWallet ? true, withZmq ? true, zeromq
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage.override { stdenv = stdenv; } rec {
|
||||
pname = "zcash";
|
||||
version = "4.4.1";
|
||||
version = "4.5.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "zcash";
|
||||
repo = "zcash";
|
||||
rev = "v${version}";
|
||||
sha256 = "0nhrjizx518khrl8aygag6a1ianzzqpchasggi963f807kv7ipb7";
|
||||
sha256 = "0zn6ms2c4mh64cckjg88v0byy2ck116z5g4y82hh34mz3r11d9mn";
|
||||
};
|
||||
|
||||
cargoSha256 = "101j8cn2lg3l1gn53yg3svzwx783z331g9kzn9ici4azindyx903";
|
||||
cargoSha256 = "16il7napj7ryxsap6icvdpvagm9mvgz2mpshny9wn56y60qaymd0";
|
||||
|
||||
nativeBuildInputs = [ autoreconfHook cargo hexdump makeWrapper pkg-config ];
|
||||
buildInputs = [ boost174 libevent libsodium utf8cpp ]
|
||||
buildInputs = [ boost175 libevent libsodium utf8cpp ]
|
||||
++ lib.optional withWallet db62
|
||||
++ lib.optional withZmq zeromq;
|
||||
|
||||
|
@ -37,7 +37,7 @@ rustPlatform.buildRustPackage.override { stdenv = stdenv; } rec {
|
|||
|
||||
configureFlags = [
|
||||
"--disable-tests"
|
||||
"--with-boost-libdir=${lib.getLib boost174}/lib"
|
||||
"--with-boost-libdir=${lib.getLib boost175}/lib"
|
||||
"CXXFLAGS=-I${lib.getDev utf8cpp}/include/utf8cpp"
|
||||
"RUST_TARGET=${rust.toRustTargetSpec stdenv.hostPlatform}"
|
||||
] ++ lib.optional (!withWallet) "--disable-wallet"
|
||||
|
|
|
@ -711,10 +711,10 @@
|
|||
elpaBuild {
|
||||
pname = "crdt";
|
||||
ename = "crdt";
|
||||
version = "0.1.4";
|
||||
version = "0.2.5";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/crdt-0.1.4.tar";
|
||||
sha256 = "1qqfjvkajwhdhz0jhqixdn68l1rl02pn2fmxizzsv0as20v0ay0r";
|
||||
url = "https://elpa.gnu.org/packages/crdt-0.2.5.tar";
|
||||
sha256 = "092f82kq78c9gih6xri4n3ma5ixw9c8mx12i00c174g0v041r6sp";
|
||||
};
|
||||
packageRequires = [];
|
||||
meta = {
|
||||
|
@ -756,10 +756,10 @@
|
|||
elpaBuild {
|
||||
pname = "csv-mode";
|
||||
ename = "csv-mode";
|
||||
version = "1.15";
|
||||
version = "1.16";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/csv-mode-1.15.tar";
|
||||
sha256 = "0pigqhqg5mfza6jdskcr9yvrzdxnd68iyp3vyb8p8wskdacmbiyx";
|
||||
url = "https://elpa.gnu.org/packages/csv-mode-1.16.tar";
|
||||
sha256 = "1i43b2p31xhrf97xbdi35y550ysp69fasa5gcrhg6iyxw176807p";
|
||||
};
|
||||
packageRequires = [ cl-lib emacs ];
|
||||
meta = {
|
||||
|
@ -831,10 +831,10 @@
|
|||
elpaBuild {
|
||||
pname = "debbugs";
|
||||
ename = "debbugs";
|
||||
version = "0.28";
|
||||
version = "0.29";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/debbugs-0.28.tar";
|
||||
sha256 = "1qks38hpg3drhxzw66n5yxfq0v6fj9ya7d9dc6x0xwfp6r2x0li0";
|
||||
url = "https://elpa.gnu.org/packages/debbugs-0.29.tar";
|
||||
sha256 = "1bn21d9dr9pb3vdak3v07x056xafym89kdpxavjf4avy6bry6s4d";
|
||||
};
|
||||
packageRequires = [ emacs soap-client ];
|
||||
meta = {
|
||||
|
@ -1022,6 +1022,21 @@
|
|||
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 }:
|
||||
elpaBuild {
|
||||
pname = "easy-kill";
|
||||
|
@ -1101,10 +1116,10 @@
|
|||
elpaBuild {
|
||||
pname = "eev";
|
||||
ename = "eev";
|
||||
version = "20210822";
|
||||
version = "20210925";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/eev-20210822.tar";
|
||||
sha256 = "1682hl8s15snz9vq2r0q7jfpf81gbhlyxp55l2alsmxll4qq72wh";
|
||||
url = "https://elpa.gnu.org/packages/eev-20210925.tar";
|
||||
sha256 = "0kwmjspmvz9lfm6y0kls9v2l55ccni0gviv9jlzxiwynrc01rz4y";
|
||||
};
|
||||
packageRequires = [ emacs ];
|
||||
meta = {
|
||||
|
@ -1224,10 +1239,10 @@
|
|||
elpaBuild {
|
||||
pname = "emms";
|
||||
ename = "emms";
|
||||
version = "7.6";
|
||||
version = "7.7";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/emms-7.6.tar";
|
||||
sha256 = "03cp6mr0kxy41dg4ri5ymbzpkw7bd8zg7hx0a2rb4axiss5qmx7i";
|
||||
url = "https://elpa.gnu.org/packages/emms-7.7.tar";
|
||||
sha256 = "0n9nx4wgjxkr8nsxcq8svg0x0qkqj7bsd2j0ihy4jzj29xmyxl0h";
|
||||
};
|
||||
packageRequires = [ cl-lib nadvice seq ];
|
||||
meta = {
|
||||
|
@ -1405,16 +1420,16 @@
|
|||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
flymake = callPackage ({ eldoc, elpaBuild, emacs, fetchurl, lib }:
|
||||
flymake = callPackage ({ eldoc, elpaBuild, emacs, fetchurl, lib, project }:
|
||||
elpaBuild {
|
||||
pname = "flymake";
|
||||
ename = "flymake";
|
||||
version = "1.1.1";
|
||||
version = "1.2.1";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/flymake-1.1.1.tar";
|
||||
sha256 = "0lk2v34b59b24j3hsmi8d0v7fgpwcipv7ka9i88cdgjmjjmzgz5q";
|
||||
url = "https://elpa.gnu.org/packages/flymake-1.2.1.tar";
|
||||
sha256 = "1j4j1mxqvkpdccrm5khykmdpm8z9p0pxvnsw4cz9b76xzfdzy5pz";
|
||||
};
|
||||
packageRequires = [ eldoc emacs ];
|
||||
packageRequires = [ eldoc emacs project ];
|
||||
meta = {
|
||||
homepage = "https://elpa.gnu.org/packages/flymake.html";
|
||||
license = lib.licenses.free;
|
||||
|
@ -1828,10 +1843,10 @@
|
|||
elpaBuild {
|
||||
pname = "ioccur";
|
||||
ename = "ioccur";
|
||||
version = "2.4";
|
||||
version = "2.5";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/ioccur-2.4.el";
|
||||
sha256 = "1isid3kgsi5qkz27ipvmp9v5knx0qigmv7lz12mqdkwv8alns1p9";
|
||||
url = "https://elpa.gnu.org/packages/ioccur-2.5.tar";
|
||||
sha256 = "06a6djln2rry3qnb063yarji3p18hcpp5zrw7q43a45k7qaiaji8";
|
||||
};
|
||||
packageRequires = [ cl-lib emacs ];
|
||||
meta = {
|
||||
|
@ -1938,10 +1953,10 @@
|
|||
elpaBuild {
|
||||
pname = "ivy-posframe";
|
||||
ename = "ivy-posframe";
|
||||
version = "0.6.1";
|
||||
version = "0.6.2";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/ivy-posframe-0.6.1.tar";
|
||||
sha256 = "1nay2sfbwm2fkp3f1y89innd9h6j3q70q9y4yddrwa69cxlj9m23";
|
||||
url = "https://elpa.gnu.org/packages/ivy-posframe-0.6.2.tar";
|
||||
sha256 = "1x6pm0pry2j7yazhxvq1gydbymwll9yg85m8qi4sh8s0pnm0vjzk";
|
||||
};
|
||||
packageRequires = [ emacs ivy posframe ];
|
||||
meta = {
|
||||
|
@ -2208,10 +2223,10 @@
|
|||
elpaBuild {
|
||||
pname = "map";
|
||||
ename = "map";
|
||||
version = "3.1";
|
||||
version = "3.2.1";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/map-3.1.tar";
|
||||
sha256 = "1akkp34psm71ylbf1i02m56ga1dkswhz069j98amixrhw20hq4nx";
|
||||
url = "https://elpa.gnu.org/packages/map-3.2.1.tar";
|
||||
sha256 = "1vy231m2fm5cgz5nib14ib7ifprajhnbmzf6x4id48h2491m1n24";
|
||||
};
|
||||
packageRequires = [ emacs ];
|
||||
meta = {
|
||||
|
@ -2855,10 +2870,10 @@
|
|||
elpaBuild {
|
||||
pname = "phps-mode";
|
||||
ename = "phps-mode";
|
||||
version = "0.4.6";
|
||||
version = "0.4.7";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/phps-mode-0.4.6.tar";
|
||||
sha256 = "0mfwyz9rwnrs0xcd1jmq1ngdhbwygm6hbfhyr14djywxx0b4hpm5";
|
||||
url = "https://elpa.gnu.org/packages/phps-mode-0.4.7.tar";
|
||||
sha256 = "0y5milfjf45bi7gj7brl2lhyla8nsj3dc1a4nfq1wx3zw8arlc50";
|
||||
};
|
||||
packageRequires = [ emacs ];
|
||||
meta = {
|
||||
|
@ -2915,10 +2930,10 @@
|
|||
elpaBuild {
|
||||
pname = "project";
|
||||
ename = "project";
|
||||
version = "0.6.1";
|
||||
version = "0.7.1";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/project-0.6.1.tar";
|
||||
sha256 = "174fli3swbn67qcs9isv70vwrf6r41mak6dbs98gia89rlb71c8v";
|
||||
url = "https://elpa.gnu.org/packages/project-0.7.1.tar";
|
||||
sha256 = "1ip8s924n50mmh068p42zi0ylvv79a2pi9sji1c2pqj2q19d7jr6";
|
||||
};
|
||||
packageRequires = [ emacs xref ];
|
||||
meta = {
|
||||
|
@ -3411,10 +3426,10 @@
|
|||
elpaBuild {
|
||||
pname = "seq";
|
||||
ename = "seq";
|
||||
version = "2.22";
|
||||
version = "2.23";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/seq-2.22.tar";
|
||||
sha256 = "0zlqcbabzj8crg36ird2l74dbg5k7w1zf5iwva0h2dyvwyf9grma";
|
||||
url = "https://elpa.gnu.org/packages/seq-2.23.tar";
|
||||
sha256 = "1lbxnrzq88z8k9dyylg2636pg9vc8bzfprs1hxwp9ah0zkvsn52p";
|
||||
};
|
||||
packageRequires = [];
|
||||
meta = {
|
||||
|
@ -3426,10 +3441,10 @@
|
|||
elpaBuild {
|
||||
pname = "setup";
|
||||
ename = "setup";
|
||||
version = "1.0.0";
|
||||
version = "1.0.1";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/setup-1.0.0.tar";
|
||||
sha256 = "05k65r5mgkpbj6f84qscgq4gjbj4wyn7c60b9xjvadw9b55yvfxk";
|
||||
url = "https://elpa.gnu.org/packages/setup-1.0.1.tar";
|
||||
sha256 = "1n390hiv5a8ij584r24cpbahj2sb12wjh0l3kzhccdxnxskrzgmh";
|
||||
};
|
||||
packageRequires = [ emacs ];
|
||||
meta = {
|
||||
|
@ -3576,10 +3591,10 @@
|
|||
elpaBuild {
|
||||
pname = "so-long";
|
||||
ename = "so-long";
|
||||
version = "1.1.1";
|
||||
version = "1.1.2";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/so-long-1.1.1.tar";
|
||||
sha256 = "0qgdnkb702mkm886v0zv0hnm5y7zlifgx9ji6xmdsxycpsfkjz1f";
|
||||
url = "https://elpa.gnu.org/packages/so-long-1.1.2.tar";
|
||||
sha256 = "053msvy2pyispwg4zzpaczfkl6rvnwfklm4jdsbjhqm0kx4vlcs9";
|
||||
};
|
||||
packageRequires = [ emacs ];
|
||||
meta = {
|
||||
|
@ -3786,10 +3801,10 @@
|
|||
elpaBuild {
|
||||
pname = "taxy";
|
||||
ename = "taxy";
|
||||
version = "0.4";
|
||||
version = "0.8";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/taxy-0.4.tar";
|
||||
sha256 = "1iy1761v2q0i020x8ch4z3vljx2v62pcy5bifxq8gw5qx0115576";
|
||||
url = "https://elpa.gnu.org/packages/taxy-0.8.tar";
|
||||
sha256 = "00pc6lh35gj8vzcsn17fyazb9jsc4m6nr7cvb32w02isadv8qd3m";
|
||||
};
|
||||
packageRequires = [ emacs ];
|
||||
meta = {
|
||||
|
@ -4050,6 +4065,21 @@
|
|||
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 }:
|
||||
elpaBuild {
|
||||
pname = "vc-hgcmd";
|
||||
|
@ -4116,10 +4146,10 @@
|
|||
elpaBuild {
|
||||
pname = "verilog-mode";
|
||||
ename = "verilog-mode";
|
||||
version = "2021.4.12.188864585";
|
||||
version = "2021.9.23.89128420";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/verilog-mode-2021.4.12.188864585.tar";
|
||||
sha256 = "0np2q0jhf1fbb1nl5nx1q9hw40yg62bhlddp2raqryxbkvsh0nbv";
|
||||
url = "https://elpa.gnu.org/packages/verilog-mode-2021.9.23.89128420.tar";
|
||||
sha256 = "1sgmkmif44npghz4nnag1w91qrrylq36175cjj87lcdp22s6isgk";
|
||||
};
|
||||
packageRequires = [];
|
||||
meta = {
|
||||
|
|
|
@ -45,16 +45,16 @@
|
|||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
caml = callPackage ({ cl-lib ? null, elpaBuild, emacs, fetchurl, lib }:
|
||||
caml = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
|
||||
elpaBuild {
|
||||
pname = "caml";
|
||||
ename = "caml";
|
||||
version = "4.8";
|
||||
version = "4.9";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.nongnu.org/nongnu/caml-4.8.tar";
|
||||
sha256 = "02wzjdd1ig8ajy65rf87zaysfddjbhyswifwlcs52ly7p84q72wk";
|
||||
url = "https://elpa.nongnu.org/nongnu/caml-4.9.tar";
|
||||
sha256 = "00ldvz6r10vwwmk6f3az534p0340ywn7knsg2bmvbvh3q51vyl9i";
|
||||
};
|
||||
packageRequires = [ cl-lib emacs ];
|
||||
packageRequires = [ emacs ];
|
||||
meta = {
|
||||
homepage = "https://elpa.gnu.org/packages/caml.html";
|
||||
license = lib.licenses.free;
|
||||
|
@ -841,10 +841,10 @@
|
|||
elpaBuild {
|
||||
pname = "swift-mode";
|
||||
ename = "swift-mode";
|
||||
version = "8.3.0";
|
||||
version = "8.4.0";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.nongnu.org/nongnu/swift-mode-8.3.0.tar";
|
||||
sha256 = "1bsyv0dl7c2m3f690g7fij7g4937skxjin456vfrgbzb219pdkcs";
|
||||
url = "https://elpa.nongnu.org/nongnu/swift-mode-8.4.0.tar";
|
||||
sha256 = "1pfp1nvq2gny6kbiq3q0dcms0ysw43zq0aayfwqdj0llkf025dfp";
|
||||
};
|
||||
packageRequires = [ emacs seq ];
|
||||
meta = {
|
||||
|
@ -946,10 +946,10 @@
|
|||
elpaBuild {
|
||||
pname = "yasnippet-snippets";
|
||||
ename = "yasnippet-snippets";
|
||||
version = "0.2";
|
||||
version = "1.0";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.nongnu.org/nongnu/yasnippet-snippets-0.2.tar";
|
||||
sha256 = "1xhlx2n2sdpcc82cba9r7nbd0gwi7m821p7vk0vnw84dhwy863ic";
|
||||
url = "https://elpa.nongnu.org/nongnu/yasnippet-snippets-1.0.tar";
|
||||
sha256 = "0p2a10wfh1dvmxbjlbj6p241xaldjim2h8vrv9aghvm3ryfixcpb";
|
||||
};
|
||||
packageRequires = [ yasnippet ];
|
||||
meta = {
|
||||
|
|
|
@ -4,10 +4,10 @@
|
|||
elpaBuild {
|
||||
pname = "org";
|
||||
ename = "org";
|
||||
version = "20210906";
|
||||
version = "20210920";
|
||||
src = fetchurl {
|
||||
url = "https://orgmode.org/elpa/org-20210906.tar";
|
||||
sha256 = "04aqniwix4w0iap38dsdskndknhw9k6apkmkrc79yfs3c4jcsszq";
|
||||
url = "https://orgmode.org/elpa/org-20210920.tar";
|
||||
sha256 = "01b44npf0rxq7c4ddygc3n3cv3h7afs41az0nfs67a5x7ag6c1jj";
|
||||
};
|
||||
packageRequires = [];
|
||||
meta = {
|
||||
|
@ -19,10 +19,10 @@
|
|||
elpaBuild {
|
||||
pname = "org-plus-contrib";
|
||||
ename = "org-plus-contrib";
|
||||
version = "20210906";
|
||||
version = "20210920";
|
||||
src = fetchurl {
|
||||
url = "https://orgmode.org/elpa/org-plus-contrib-20210906.tar";
|
||||
sha256 = "1v0yy92x8shwp36qfyzmvk8ayz9amkdis967gqacq5jxcyq7mhbn";
|
||||
url = "https://orgmode.org/elpa/org-plus-contrib-20210920.tar";
|
||||
sha256 = "1m376fnm8hrm83hgx4b0y21lzdrbxjp83bv45plvrjky44qfdwfn";
|
||||
};
|
||||
packageRequires = [];
|
||||
meta = {
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -32,7 +32,6 @@ in stdenv.mkDerivation rec {
|
|||
git
|
||||
gnused
|
||||
nix
|
||||
nixfmt
|
||||
]
|
||||
}
|
||||
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"
|
||||
newTag=$(echo $latestTag | sed 's|\.|-|g')
|
||||
update-source-version ${pname} "$newTag" --version-key=version --print-changes
|
||||
nixfmt "$default_nix"
|
||||
else
|
||||
echo "${pname} is already up-to-date"
|
||||
fi
|
||||
|
|
|
@ -86,5 +86,9 @@ stdenv.mkDerivation rec {
|
|||
platforms = platforms.linux;
|
||||
# sse3 is not supported on aarch64
|
||||
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 {
|
||||
pname = "qimgv";
|
||||
version = "0.9.1";
|
||||
version = "1.0.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "easymodo";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "0b2hddps969gjim2r9a22zaxmnzp600av2zz6icq66ksfrx1rpac";
|
||||
sha256 = "1wybpmqvj7vj7cl6r4gif7mkrcdr6zpb939mmz46xsil5vb4pirh";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
let
|
||||
pname = "chrysalis";
|
||||
version = "0.8.4";
|
||||
version = "0.8.5";
|
||||
in appimageTools.wrapAppImage rec {
|
||||
name = "${pname}-${version}-binary";
|
||||
|
||||
|
@ -10,7 +10,7 @@ in appimageTools.wrapAppImage rec {
|
|||
inherit name;
|
||||
src = fetchurl {
|
||||
url = "https://github.com/keyboardio/${pname}/releases/download/v${version}/${pname}-${version}.AppImage";
|
||||
sha256 = "b41f3e23dac855b1588cff141e3d317f96baff929a0543c79fccee0c6f095bc7";
|
||||
sha256 = "1vgymc99nci8rdq8hd7i98x77x45jnpcmhgb8v7fzsz3br6raxcm";
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
@ -5,16 +5,16 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "dasel";
|
||||
version = "1.20.0";
|
||||
version = "1.21.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "TomWright";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-SJWIjizPf0bRwanpnLpuqsWKjaCwc1wBV2sCPSqGiOs=";
|
||||
sha256 = "sha256-M63KFQ+g4b0HiWlv1Kym0ulqZcCMdfU9SoLhpaI4q/o=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-u3KsMi63wOi1fCSLpGxATZNmbhoIAGeVpwcKh+nmi3k=";
|
||||
vendorSha256 = "sha256-yP4iF3403WWgWAmBHiuOpDsIAUx4+KR8uKPfjy3qXt8=";
|
||||
|
||||
ldflags = [
|
||||
"-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 {
|
||||
pname = "nnn";
|
||||
version = "4.2";
|
||||
version = "4.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jarun";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-ICUF/LJhsbzDz9xZig1VE6TdG3u0C6Jf/61RoAjx3KI=";
|
||||
sha256 = "sha256-kiLmdEyOnD1wPS2GuFF5nTK9tgUOI6PVCzCRZXdObEo=";
|
||||
};
|
||||
|
||||
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
|
||||
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
|
||||
'';
|
||||
|
|
|
@ -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 {
|
||||
pname = "zola";
|
||||
|
@ -13,9 +24,18 @@ rustPlatform.buildRustPackage rec {
|
|||
|
||||
cargoSha256 = "1hg8j9a8c6c3ap24jd96y07rlp4f0s2mkyx5034nlnkm3lj4q42n";
|
||||
|
||||
nativeBuildInputs = [ cmake pkg-config installShellFiles];
|
||||
buildInputs = [ openssl oniguruma ]
|
||||
++ lib.optional stdenv.isDarwin CoreServices;
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
pkg-config
|
||||
installShellFiles
|
||||
];
|
||||
buildInputs = [
|
||||
openssl
|
||||
oniguruma
|
||||
libsass
|
||||
] ++ lib.optionals stdenv.isDarwin [
|
||||
CoreServices
|
||||
];
|
||||
|
||||
RUSTONIG_SYSTEM_LIBONIG = true;
|
||||
|
||||
|
|
|
@ -92,11 +92,11 @@ in
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "brave";
|
||||
version = "1.29.77";
|
||||
version = "1.30.86";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-browser_${version}_amd64.deb";
|
||||
sha256 = "LJykdig44ACpvlaGogbwrbY9hCJT3CB4ZKDZ/IzaBOU=";
|
||||
sha256 = "0pg29i01dm5gqfd3aagsc83dbx0n3051wfxi0r1c9l93dwm5bmq9";
|
||||
};
|
||||
|
||||
dontConfigure = true;
|
||||
|
@ -126,7 +126,7 @@ stdenv.mkDerivation rec {
|
|||
|
||||
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 \
|
||||
--set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
|
||||
--set-rpath "${rpath}" $exe
|
||||
|
|
|
@ -18,9 +18,9 @@
|
|||
}
|
||||
},
|
||||
"beta": {
|
||||
"version": "95.0.4638.17",
|
||||
"sha256": "1v5r8m3wlwh6prcj7bd4zprsr4g43869lhxv43m207c5nlnqiriz",
|
||||
"sha256bin64": "0h88gd8y4i2jmvhiwadbq6hzqygddym8jy1fhzp8qnwfhc30qm4m",
|
||||
"version": "95.0.4638.32",
|
||||
"sha256": "1w904axixagn6gqcb90849q3qy0k3c6lgl0c97cb6m78l9xrrnbr",
|
||||
"sha256bin64": "1z7xx608sh8agdl98r7xk7s43d3qnfpd1jvgbl7l8fqd85ns11i0",
|
||||
"deps": {
|
||||
"gn": {
|
||||
"version": "2021-08-11",
|
||||
|
@ -31,15 +31,15 @@
|
|||
}
|
||||
},
|
||||
"dev": {
|
||||
"version": "96.0.4651.0",
|
||||
"sha256": "0da1mhz3cy0k2igdh208i28k8fxca0yjfypvmj7624p7igrp4an6",
|
||||
"sha256bin64": "1gslpdnpjp7w40lsl748rmbkbs31v22f2x45gahrijkvfrkgdqp9",
|
||||
"version": "96.0.4655.0",
|
||||
"sha256": "00gax7xqi1n4jiqwpff43c43mpqb5jakckwdfbgwhrp6h35xxdv1",
|
||||
"sha256bin64": "1xyyz6p4qllzyd6wbdbhs6kp062dz40i03wrlsggb919bgp7ivnw",
|
||||
"deps": {
|
||||
"gn": {
|
||||
"version": "2021-08-11",
|
||||
"version": "2021-09-13",
|
||||
"url": "https://gn.googlesource.com/gn",
|
||||
"rev": "69ec4fca1fa69ddadae13f9e6b7507efa0675263",
|
||||
"sha256": "031znmkbm504iim5jvg3gmazj4qnkfc7zg8aymjsij18fhf7piz0"
|
||||
"rev": "de86ec4176235871a7cb335756987e41246dae4a",
|
||||
"sha256": "0mlnsqcj06azz5cpwlafi5gg6pvf2s6x9qq02zl1sm2h288y152g"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
|
|
@ -196,11 +196,9 @@ stdenv.mkDerivation {
|
|||
meta = with lib; {
|
||||
description = "Mozilla Firefox, free web browser (binary package)";
|
||||
homepage = "http://www.mozilla.org/firefox/";
|
||||
license = {
|
||||
free = false;
|
||||
url = "http://www.mozilla.org/en-US/foundation/trademarks/policy/";
|
||||
};
|
||||
license = licenses.mpl20;
|
||||
platforms = builtins.attrNames mozillaPlatforms;
|
||||
hydraPlatforms = [];
|
||||
maintainers = with maintainers; [ taku0 lovesegfault ];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -2,16 +2,16 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "helmsman";
|
||||
version = "3.7.3";
|
||||
version = "3.7.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Praqma";
|
||||
repo = "helmsman";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-7WN4YjhPbsFZfoFuZzsN85a+kdEVlEzQ9CfWh4nxxTs=";
|
||||
sha256 = "sha256-QJXCVcEf23oaTDemoCV/2aaajbubfXg0AfZrlSTS4Ag=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-XHgdVFGIzbPPYgv/T4TtvDDbKAe3niev4S5tu/nwSqg=";
|
||||
vendorSha256 = "sha256-4imZrZfpR/5tw9ZFSTr7Gx4G9O1iHNE9YRYMOJFKvHU=";
|
||||
|
||||
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 {
|
||||
pname = "kube3d";
|
||||
version = "4.4.7";
|
||||
version = "4.4.8";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "rancher";
|
||||
repo = "k3d";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-S1vHmXUCP1ayPo3vvHAbNCqNm1ueJ0jE4NUBvg5P3MU=";
|
||||
sha256 = "sha256-PdbAkiua9AdcNDCpu4UILsmAz0nb4nLjahYomGSHqnc=";
|
||||
};
|
||||
|
||||
vendorSha256 = null;
|
||||
|
@ -17,10 +17,9 @@ buildGoModule rec {
|
|||
|
||||
excludedPackages = "\\(tools\\|docgen\\)";
|
||||
|
||||
ldflags = let t = "github.com/rancher/k3d/v4/version"; in
|
||||
[
|
||||
"-s" "-w" "-X ${t}.Version=v${version}" "-X ${t}.K3sVersion=v${k3sVersion}"
|
||||
];
|
||||
ldflags =
|
||||
let t = "github.com/rancher/k3d/v4/version"; in
|
||||
[ "-s" "-w" "-X ${t}.Version=v${version}" "-X ${t}.K3sVersion=v${k3sVersion}" ];
|
||||
|
||||
doCheck = false;
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{ lib, buildGoPackage, fetchFromGitHub, ... }:
|
||||
|
||||
let version = "0.20.0"; in
|
||||
let version = "0.21.0"; in
|
||||
|
||||
buildGoPackage {
|
||||
pname = "kubecfg";
|
||||
|
@ -10,7 +10,7 @@ buildGoPackage {
|
|||
owner = "bitnami";
|
||||
repo = "kubecfg";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-7lBIqaozVBoiYYOTqAxq9h2N+Y3JFwLaunCykILOmPU=";
|
||||
sha256 = "sha256-Wu7+Xmb7ha3OG37DzLg2+/Sr9hB5oD3OIkC9h9Fa4QA=";
|
||||
};
|
||||
|
||||
goPackagePath = "github.com/bitnami/kubecfg";
|
||||
|
|
|
@ -11,9 +11,9 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "minikube";
|
||||
version = "1.23.0";
|
||||
version = "1.23.2";
|
||||
|
||||
vendorSha256 = "sha256-KhUmyQn97rXX49EFqUrR7UEm0J5gIdogUJMVW1Wjrdw=";
|
||||
vendorSha256 = "sha256-Q6DadAmx/8TM+MrdaKgAjn0sVrKqTYoWdsmnN77yfKA=";
|
||||
|
||||
doCheck = false;
|
||||
|
||||
|
@ -21,7 +21,7 @@ buildGoModule rec {
|
|||
owner = "kubernetes";
|
||||
repo = "minikube";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-Cf77qaAsavkSpSoBJz3kcPzL2SL7X9O9lCTYcm1tFFQ=";
|
||||
sha256 = "sha256-PIgzGikVIno2Gd+kSjF4kLHuUKgPrPHoIJxAGblI8RQ=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ installShellFiles pkg-config which ];
|
||||
|
|
|
@ -2,13 +2,13 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "multus-cni";
|
||||
version = "3.7.2";
|
||||
version = "3.8";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "k8snetworkplumbingwg";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-eVYRbMijOEa+DNCm4w/+WVrTI9607NF9/l5YKkXJuFs=";
|
||||
sha256 = "sha256-wG6SRts3+bmeMkfScyNorsBvRl/hxe+CUnL0rwfknpc=";
|
||||
};
|
||||
|
||||
ldflags = let
|
||||
|
|
|
@ -195,8 +195,8 @@ rec {
|
|||
};
|
||||
|
||||
terraform_1_0 = mkTerraform {
|
||||
version = "1.0.7";
|
||||
sha256 = "115gb4mqz7lzyb80psbfy10k4h09fbvb1l8iz7kg63ajx69fnasy";
|
||||
version = "1.0.8";
|
||||
sha256 = "1755m3h9iz086znjpkhxjbyl3jaxpsqmk73infn9wbhql8pq2wil";
|
||||
vendorSha256 = "00cl42w1mzsi9qd09wydfvp5f2h7lxaay6s2dv0mf47k6h7prf42";
|
||||
patches = [ ./provider-path-0_15.patch ];
|
||||
passthru = { inherit plugins; };
|
||||
|
|
|
@ -2,13 +2,13 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "terragrunt";
|
||||
version = "0.32.2";
|
||||
version = "0.33.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "gruntwork-io";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-1s6/Xn/NsClG7YvRyzpvzMy8HmDITNCQUJxHaA84470=";
|
||||
sha256 = "sha256-FvgB0jG6PEvhrT9Au/Uv9XSgKx+zNw8zETpg2dJ6QX4=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-y84EFmoJS4SeA5YFIVFU0iWa5NnjU5yvOj7OFE+jGN0=";
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
"name": "element-desktop",
|
||||
"productName": "Element",
|
||||
"main": "lib/electron-main.js",
|
||||
"version": "1.8.5",
|
||||
"version": "1.9.0",
|
||||
"description": "A feature-rich client for Matrix.org",
|
||||
"author": "Element",
|
||||
"repository": {
|
||||
|
@ -57,7 +57,7 @@
|
|||
"allchange": "^1.0.2",
|
||||
"asar": "^2.0.1",
|
||||
"chokidar": "^3.5.2",
|
||||
"electron": "^13.1.9",
|
||||
"electron": "13",
|
||||
"electron-builder": "22.11.4",
|
||||
"electron-builder-squirrel-windows": "22.11.4",
|
||||
"electron-devtools-installer": "^3.1.1",
|
||||
|
@ -83,7 +83,7 @@
|
|||
},
|
||||
"build": {
|
||||
"appId": "im.riot.app",
|
||||
"electronVersion": "13.2.2",
|
||||
"electronVersion": "13.4.0",
|
||||
"files": [
|
||||
"package.json",
|
||||
{
|
||||
|
|
|
@ -42,43 +42,43 @@
|
|||
};
|
||||
}
|
||||
{
|
||||
name = "_babel_generator___generator_7.15.0.tgz";
|
||||
name = "_babel_generator___generator_7.15.4.tgz";
|
||||
path = fetchurl {
|
||||
name = "_babel_generator___generator_7.15.0.tgz";
|
||||
url = "https://registry.yarnpkg.com/@babel/generator/-/generator-7.15.0.tgz";
|
||||
sha1 = "a7d0c172e0d814974bad5aa77ace543b97917f15";
|
||||
name = "_babel_generator___generator_7.15.4.tgz";
|
||||
url = "https://registry.yarnpkg.com/@babel/generator/-/generator-7.15.4.tgz";
|
||||
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 {
|
||||
name = "_babel_helper_function_name___helper_function_name_7.14.5.tgz";
|
||||
url = "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.14.5.tgz";
|
||||
sha1 = "89e2c474972f15d8e233b52ee8c480e2cfcd50c4";
|
||||
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.15.4.tgz";
|
||||
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 {
|
||||
name = "_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.14.5.tgz";
|
||||
sha1 = "25fbfa579b0937eee1f3b805ece4ce398c431815";
|
||||
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.15.4.tgz";
|
||||
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 {
|
||||
name = "_babel_helper_hoist_variables___helper_hoist_variables_7.14.5.tgz";
|
||||
url = "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.14.5.tgz";
|
||||
sha1 = "e0dd27c33a78e577d7c8884916a3e7ef1f7c7f8d";
|
||||
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.15.4.tgz";
|
||||
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 {
|
||||
name = "_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.14.5.tgz";
|
||||
sha1 = "22b23a54ef51c2b7605d851930c1976dd0bc693a";
|
||||
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.15.4.tgz";
|
||||
sha1 = "aecab92dcdbef6a10aa3b62ab204b085f776e257";
|
||||
};
|
||||
}
|
||||
{
|
||||
|
@ -98,43 +98,43 @@
|
|||
};
|
||||
}
|
||||
{
|
||||
name = "_babel_parser___parser_7.15.3.tgz";
|
||||
name = "_babel_parser___parser_7.15.6.tgz";
|
||||
path = fetchurl {
|
||||
name = "_babel_parser___parser_7.15.3.tgz";
|
||||
url = "https://registry.yarnpkg.com/@babel/parser/-/parser-7.15.3.tgz";
|
||||
sha1 = "3416d9bea748052cfcb63dbcc27368105b1ed862";
|
||||
name = "_babel_parser___parser_7.15.6.tgz";
|
||||
url = "https://registry.yarnpkg.com/@babel/parser/-/parser-7.15.6.tgz";
|
||||
sha1 = "043b9aa3c303c0722e5377fef9197f4cf1796549";
|
||||
};
|
||||
}
|
||||
{
|
||||
name = "_babel_runtime___runtime_7.15.3.tgz";
|
||||
name = "_babel_runtime___runtime_7.15.4.tgz";
|
||||
path = fetchurl {
|
||||
name = "_babel_runtime___runtime_7.15.3.tgz";
|
||||
url = "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.15.3.tgz";
|
||||
sha1 = "2e1c2880ca118e5b2f9988322bd8a7656a32502b";
|
||||
name = "_babel_runtime___runtime_7.15.4.tgz";
|
||||
url = "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.15.4.tgz";
|
||||
sha1 = "fd17d16bfdf878e6dd02d19753a39fa8a8d9c84a";
|
||||
};
|
||||
}
|
||||
{
|
||||
name = "_babel_template___template_7.14.5.tgz";
|
||||
name = "_babel_template___template_7.15.4.tgz";
|
||||
path = fetchurl {
|
||||
name = "_babel_template___template_7.14.5.tgz";
|
||||
url = "https://registry.yarnpkg.com/@babel/template/-/template-7.14.5.tgz";
|
||||
sha1 = "a9bc9d8b33354ff6e55a9c60d1109200a68974f4";
|
||||
name = "_babel_template___template_7.15.4.tgz";
|
||||
url = "https://registry.yarnpkg.com/@babel/template/-/template-7.15.4.tgz";
|
||||
sha1 = "51898d35dcf3faa670c4ee6afcfd517ee139f194";
|
||||
};
|
||||
}
|
||||
{
|
||||
name = "_babel_traverse___traverse_7.15.0.tgz";
|
||||
name = "_babel_traverse___traverse_7.15.4.tgz";
|
||||
path = fetchurl {
|
||||
name = "_babel_traverse___traverse_7.15.0.tgz";
|
||||
url = "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.15.0.tgz";
|
||||
sha1 = "4cca838fd1b2a03283c1f38e141f639d60b3fc98";
|
||||
name = "_babel_traverse___traverse_7.15.4.tgz";
|
||||
url = "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.15.4.tgz";
|
||||
sha1 = "ff8510367a144bfbff552d9e18e28f3e2889c22d";
|
||||
};
|
||||
}
|
||||
{
|
||||
name = "_babel_types___types_7.15.0.tgz";
|
||||
name = "_babel_types___types_7.15.6.tgz";
|
||||
path = fetchurl {
|
||||
name = "_babel_types___types_7.15.0.tgz";
|
||||
url = "https://registry.yarnpkg.com/@babel/types/-/types-7.15.0.tgz";
|
||||
sha1 = "61af11f2286c4e9c69ca8deb5f4375a73c72dcbd";
|
||||
name = "_babel_types___types_7.15.6.tgz";
|
||||
url = "https://registry.yarnpkg.com/@babel/types/-/types-7.15.6.tgz";
|
||||
sha1 = "99abdc48218b2881c058dd0a7ab05b99c9be758f";
|
||||
};
|
||||
}
|
||||
{
|
||||
|
@ -169,6 +169,14 @@
|
|||
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";
|
||||
path = fetchurl {
|
||||
|
@ -457,6 +465,14 @@
|
|||
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";
|
||||
path = fetchurl {
|
||||
|
@ -530,27 +546,27 @@
|
|||
};
|
||||
}
|
||||
{
|
||||
name = "_octokit_graphql___graphql_4.6.4.tgz";
|
||||
name = "_octokit_graphql___graphql_4.8.0.tgz";
|
||||
path = fetchurl {
|
||||
name = "_octokit_graphql___graphql_4.6.4.tgz";
|
||||
url = "https://registry.yarnpkg.com/@octokit/graphql/-/graphql-4.6.4.tgz";
|
||||
sha1 = "0c3f5bed440822182e972317122acb65d311a5ed";
|
||||
name = "_octokit_graphql___graphql_4.8.0.tgz";
|
||||
url = "https://registry.yarnpkg.com/@octokit/graphql/-/graphql-4.8.0.tgz";
|
||||
sha1 = "664d9b11c0e12112cbf78e10f49a05959aa22cc3";
|
||||
};
|
||||
}
|
||||
{
|
||||
name = "_octokit_openapi_types___openapi_types_9.7.0.tgz";
|
||||
name = "_octokit_openapi_types___openapi_types_10.2.2.tgz";
|
||||
path = fetchurl {
|
||||
name = "_octokit_openapi_types___openapi_types_9.7.0.tgz";
|
||||
url = "https://registry.yarnpkg.com/@octokit/openapi-types/-/openapi-types-9.7.0.tgz";
|
||||
sha1 = "9897cdefd629cd88af67b8dbe2e5fb19c63426b2";
|
||||
name = "_octokit_openapi_types___openapi_types_10.2.2.tgz";
|
||||
url = "https://registry.yarnpkg.com/@octokit/openapi-types/-/openapi-types-10.2.2.tgz";
|
||||
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 {
|
||||
name = "_octokit_plugin_paginate_rest___plugin_paginate_rest_2.15.1.tgz";
|
||||
url = "https://registry.yarnpkg.com/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.15.1.tgz";
|
||||
sha1 = "264189dd3ce881c6c33758824aac05a4002e056a";
|
||||
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.16.3.tgz";
|
||||
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 {
|
||||
name = "_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.8.0.tgz";
|
||||
sha1 = "33b342fe41f2603fdf8b958e6652103bb3ea3f3b";
|
||||
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.10.4.tgz";
|
||||
sha1 = "97e85eb7375e30b9bf193894670f9da205e79408";
|
||||
};
|
||||
}
|
||||
{
|
||||
|
@ -586,19 +602,19 @@
|
|||
};
|
||||
}
|
||||
{
|
||||
name = "_octokit_rest___rest_18.9.1.tgz";
|
||||
name = "_octokit_rest___rest_18.10.0.tgz";
|
||||
path = fetchurl {
|
||||
name = "_octokit_rest___rest_18.9.1.tgz";
|
||||
url = "https://registry.yarnpkg.com/@octokit/rest/-/rest-18.9.1.tgz";
|
||||
sha1 = "db1d7ac1d7b10e908f7d4b78fe35a392554ccb26";
|
||||
name = "_octokit_rest___rest_18.10.0.tgz";
|
||||
url = "https://registry.yarnpkg.com/@octokit/rest/-/rest-18.10.0.tgz";
|
||||
sha1 = "8a0add9611253e0e31d3ed5b4bc941a3795a7648";
|
||||
};
|
||||
}
|
||||
{
|
||||
name = "_octokit_types___types_6.25.0.tgz";
|
||||
name = "_octokit_types___types_6.28.1.tgz";
|
||||
path = fetchurl {
|
||||
name = "_octokit_types___types_6.25.0.tgz";
|
||||
url = "https://registry.yarnpkg.com/@octokit/types/-/types-6.25.0.tgz";
|
||||
sha1 = "c8e37e69dbe7ce55ed98ee63f75054e7e808bf1a";
|
||||
name = "_octokit_types___types_6.28.1.tgz";
|
||||
url = "https://registry.yarnpkg.com/@octokit/types/-/types-6.28.1.tgz";
|
||||
sha1 = "ab990d1fe952226055e81c7650480e6bacfb877c";
|
||||
};
|
||||
}
|
||||
{
|
||||
|
@ -698,19 +714,19 @@
|
|||
};
|
||||
}
|
||||
{
|
||||
name = "_types_node___node_16.7.1.tgz";
|
||||
name = "_types_node___node_16.9.1.tgz";
|
||||
path = fetchurl {
|
||||
name = "_types_node___node_16.7.1.tgz";
|
||||
url = "https://registry.yarnpkg.com/@types/node/-/node-16.7.1.tgz";
|
||||
sha1 = "c6b9198178da504dfca1fd0be9b2e1002f1586f0";
|
||||
name = "_types_node___node_16.9.1.tgz";
|
||||
url = "https://registry.yarnpkg.com/@types/node/-/node-16.9.1.tgz";
|
||||
sha1 = "0611b37db4246c937feef529ddcc018cf8e35708";
|
||||
};
|
||||
}
|
||||
{
|
||||
name = "_types_node___node_14.17.11.tgz";
|
||||
name = "_types_node___node_14.17.16.tgz";
|
||||
path = fetchurl {
|
||||
name = "_types_node___node_14.17.11.tgz";
|
||||
url = "https://registry.yarnpkg.com/@types/node/-/node-14.17.11.tgz";
|
||||
sha1 = "82d266d657aec5ff01ca59f2ffaff1bb43f7bf0f";
|
||||
name = "_types_node___node_14.17.16.tgz";
|
||||
url = "https://registry.yarnpkg.com/@types/node/-/node-14.17.16.tgz";
|
||||
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 {
|
||||
name = "_typescript_eslint_eslint_plugin___eslint_plugin_4.29.3.tgz";
|
||||
url = "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.29.3.tgz";
|
||||
sha1 = "95cb8029a8bd8bd9c7f4ab95074a7cb2115adefa";
|
||||
name = "_typescript_eslint_eslint_plugin___eslint_plugin_4.31.1.tgz";
|
||||
url = "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.31.1.tgz";
|
||||
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 {
|
||||
name = "_typescript_eslint_experimental_utils___experimental_utils_4.29.3.tgz";
|
||||
url = "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.29.3.tgz";
|
||||
sha1 = "52e437a689ccdef73e83c5106b34240a706f15e1";
|
||||
name = "_typescript_eslint_experimental_utils___experimental_utils_4.31.1.tgz";
|
||||
url = "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.31.1.tgz";
|
||||
sha1 = "0c900f832f270b88e13e51753647b02d08371ce5";
|
||||
};
|
||||
}
|
||||
{
|
||||
name = "_typescript_eslint_parser___parser_4.29.3.tgz";
|
||||
name = "_typescript_eslint_parser___parser_4.31.1.tgz";
|
||||
path = fetchurl {
|
||||
name = "_typescript_eslint_parser___parser_4.29.3.tgz";
|
||||
url = "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.29.3.tgz";
|
||||
sha1 = "2ac25535f34c0e98f50c0e6b28c679c2357d45f2";
|
||||
name = "_typescript_eslint_parser___parser_4.31.1.tgz";
|
||||
url = "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.31.1.tgz";
|
||||
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 {
|
||||
name = "_typescript_eslint_scope_manager___scope_manager_4.29.3.tgz";
|
||||
url = "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.29.3.tgz";
|
||||
sha1 = "497dec66f3a22e459f6e306cf14021e40ec86e19";
|
||||
name = "_typescript_eslint_scope_manager___scope_manager_4.31.1.tgz";
|
||||
url = "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.31.1.tgz";
|
||||
sha1 = "0c21e8501f608d6a25c842fcf59541ef4f1ab561";
|
||||
};
|
||||
}
|
||||
{
|
||||
name = "_typescript_eslint_types___types_4.29.3.tgz";
|
||||
name = "_typescript_eslint_types___types_4.31.1.tgz";
|
||||
path = fetchurl {
|
||||
name = "_typescript_eslint_types___types_4.29.3.tgz";
|
||||
url = "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.29.3.tgz";
|
||||
sha1 = "d7980c49aef643d0af8954c9f14f656b7fd16017";
|
||||
name = "_typescript_eslint_types___types_4.31.1.tgz";
|
||||
url = "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.31.1.tgz";
|
||||
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 {
|
||||
name = "_typescript_eslint_typescript_estree___typescript_estree_4.29.3.tgz";
|
||||
url = "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.29.3.tgz";
|
||||
sha1 = "1bafad610015c4ded35c85a70b6222faad598b40";
|
||||
name = "_typescript_eslint_typescript_estree___typescript_estree_4.31.1.tgz";
|
||||
url = "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.31.1.tgz";
|
||||
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 {
|
||||
name = "_typescript_eslint_visitor_keys___visitor_keys_4.29.3.tgz";
|
||||
url = "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.29.3.tgz";
|
||||
sha1 = "c691760a00bd86bf8320d2a90a93d86d322f1abf";
|
||||
name = "_typescript_eslint_visitor_keys___visitor_keys_4.31.1.tgz";
|
||||
url = "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.31.1.tgz";
|
||||
sha1 = "f2e7a14c7f20c4ae07d7fc3c5878c4441a1da9cc";
|
||||
};
|
||||
}
|
||||
{
|
||||
|
@ -866,19 +882,19 @@
|
|||
};
|
||||
}
|
||||
{
|
||||
name = "ajv___ajv_8.6.2.tgz";
|
||||
name = "ajv___ajv_8.6.3.tgz";
|
||||
path = fetchurl {
|
||||
name = "ajv___ajv_8.6.2.tgz";
|
||||
url = "https://registry.yarnpkg.com/ajv/-/ajv-8.6.2.tgz";
|
||||
sha1 = "2fb45e0e5fcbc0813326c1c3da535d1881bb0571";
|
||||
name = "ajv___ajv_8.6.3.tgz";
|
||||
url = "https://registry.yarnpkg.com/ajv/-/ajv-8.6.3.tgz";
|
||||
sha1 = "11a66527761dc3e9a3845ea775d2d3c0414e8764";
|
||||
};
|
||||
}
|
||||
{
|
||||
name = "allchange___allchange_1.0.2.tgz";
|
||||
name = "allchange___allchange_1.0.3.tgz";
|
||||
path = fetchurl {
|
||||
name = "allchange___allchange_1.0.2.tgz";
|
||||
url = "https://registry.yarnpkg.com/allchange/-/allchange-1.0.2.tgz";
|
||||
sha1 = "86b9190e12b7ede4f230ae763cbd504c48fd907b";
|
||||
name = "allchange___allchange_1.0.3.tgz";
|
||||
url = "https://registry.yarnpkg.com/allchange/-/allchange-1.0.3.tgz";
|
||||
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 {
|
||||
name = "ansi_regex___ansi_regex_5.0.0.tgz";
|
||||
url = "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz";
|
||||
sha1 = "388539f55179bf39339c81af30a654d69f87cb75";
|
||||
name = "ansi_regex___ansi_regex_5.0.1.tgz";
|
||||
url = "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz";
|
||||
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 {
|
||||
name = "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.5.tgz";
|
||||
sha1 = "4b35c2944f062a8bfcda66410760350fe9ddfc21";
|
||||
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.7.tgz";
|
||||
sha1 = "b15474a932adab4ff8a50d9adfa7e4e926f21146";
|
||||
};
|
||||
}
|
||||
{
|
||||
|
@ -1050,11 +1066,11 @@
|
|||
};
|
||||
}
|
||||
{
|
||||
name = "asar___asar_3.0.3.tgz";
|
||||
name = "asar___asar_3.1.0.tgz";
|
||||
path = fetchurl {
|
||||
name = "asar___asar_3.0.3.tgz";
|
||||
url = "https://registry.yarnpkg.com/asar/-/asar-3.0.3.tgz";
|
||||
sha1 = "1fef03c2d6d2de0cbad138788e4f7ae03b129c7b";
|
||||
name = "asar___asar_3.1.0.tgz";
|
||||
url = "https://registry.yarnpkg.com/asar/-/asar-3.1.0.tgz";
|
||||
sha1 = "70b0509449fe3daccc63beb4d3c7d2e24d3c6473";
|
||||
};
|
||||
}
|
||||
{
|
||||
|
@ -1234,11 +1250,11 @@
|
|||
};
|
||||
}
|
||||
{
|
||||
name = "boxen___boxen_5.0.1.tgz";
|
||||
name = "boxen___boxen_5.1.1.tgz";
|
||||
path = fetchurl {
|
||||
name = "boxen___boxen_5.0.1.tgz";
|
||||
url = "https://registry.yarnpkg.com/boxen/-/boxen-5.0.1.tgz";
|
||||
sha1 = "657528bdd3f59a772b8279b831f27ec2c744664b";
|
||||
name = "boxen___boxen_5.1.1.tgz";
|
||||
url = "https://registry.yarnpkg.com/boxen/-/boxen-5.1.1.tgz";
|
||||
sha1 = "4faca6a437885add0bf8d99082e272d480814cd4";
|
||||
};
|
||||
}
|
||||
{
|
||||
|
@ -1322,11 +1338,11 @@
|
|||
};
|
||||
}
|
||||
{
|
||||
name = "cacache___cacache_15.2.0.tgz";
|
||||
name = "cacache___cacache_15.3.0.tgz";
|
||||
path = fetchurl {
|
||||
name = "cacache___cacache_15.2.0.tgz";
|
||||
url = "https://registry.yarnpkg.com/cacache/-/cacache-15.2.0.tgz";
|
||||
sha1 = "73af75f77c58e72d8c630a7a2858cb18ef523389";
|
||||
name = "cacache___cacache_15.3.0.tgz";
|
||||
url = "https://registry.yarnpkg.com/cacache/-/cacache-15.3.0.tgz";
|
||||
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 {
|
||||
name = "core_js___core_js_3.16.3.tgz";
|
||||
url = "https://registry.yarnpkg.com/core-js/-/core-js-3.16.3.tgz";
|
||||
sha1 = "1f2d43c51a9ed014cc6c83440af14697ae4b75f2";
|
||||
name = "core_js___core_js_3.17.3.tgz";
|
||||
url = "https://registry.yarnpkg.com/core-js/-/core-js-3.17.3.tgz";
|
||||
sha1 = "8e8bd20e91df9951e903cabe91f9af4a0895bc1e";
|
||||
};
|
||||
}
|
||||
{
|
||||
|
@ -1625,6 +1641,14 @@
|
|||
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";
|
||||
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 {
|
||||
name = "deep_is___deep_is_0.1.3.tgz";
|
||||
url = "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz";
|
||||
sha1 = "b369d6fb5dbc13eecf524f91b070feedc357cf34";
|
||||
name = "deep_is___deep_is_0.1.4.tgz";
|
||||
url = "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz";
|
||||
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 {
|
||||
name = "electron_notarize___electron_notarize_1.1.0.tgz";
|
||||
url = "https://registry.yarnpkg.com/electron-notarize/-/electron-notarize-1.1.0.tgz";
|
||||
sha1 = "00ed0182366b97f5593cb5ccdcf1120f1de37179";
|
||||
name = "electron_notarize___electron_notarize_1.1.1.tgz";
|
||||
url = "https://registry.yarnpkg.com/electron-notarize/-/electron-notarize-1.1.1.tgz";
|
||||
sha1 = "3ed274b36158c1beb1dbef14e7faf5927e028629";
|
||||
};
|
||||
}
|
||||
{
|
||||
|
@ -1978,11 +2002,11 @@
|
|||
};
|
||||
}
|
||||
{
|
||||
name = "electron___electron_13.2.2.tgz";
|
||||
name = "electron___electron_13.4.0.tgz";
|
||||
path = fetchurl {
|
||||
name = "electron___electron_13.2.2.tgz";
|
||||
url = "https://registry.yarnpkg.com/electron/-/electron-13.2.2.tgz";
|
||||
sha1 = "332d91891d0db4f9a1d22d4d0bc3b500e59dc051";
|
||||
name = "electron___electron_13.4.0.tgz";
|
||||
url = "https://registry.yarnpkg.com/electron/-/electron-13.4.0.tgz";
|
||||
sha1 = "f9f9e518d8c6bf23bfa8b69580447eea3ca0f880";
|
||||
};
|
||||
}
|
||||
{
|
||||
|
@ -2346,11 +2370,11 @@
|
|||
};
|
||||
}
|
||||
{
|
||||
name = "fastq___fastq_1.12.0.tgz";
|
||||
name = "fastq___fastq_1.13.0.tgz";
|
||||
path = fetchurl {
|
||||
name = "fastq___fastq_1.12.0.tgz";
|
||||
url = "https://registry.yarnpkg.com/fastq/-/fastq-1.12.0.tgz";
|
||||
sha1 = "ed7b6ab5d62393fb2cc591c853652a5c318bf794";
|
||||
name = "fastq___fastq_1.13.0.tgz";
|
||||
url = "https://registry.yarnpkg.com/fastq/-/fastq-1.13.0.tgz";
|
||||
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 {
|
||||
name = "minipass_fetch___minipass_fetch_1.3.4.tgz";
|
||||
url = "https://registry.yarnpkg.com/minipass-fetch/-/minipass-fetch-1.3.4.tgz";
|
||||
sha1 = "63f5af868a38746ca7b33b03393ddf8c291244fe";
|
||||
name = "minipass_fetch___minipass_fetch_1.4.1.tgz";
|
||||
url = "https://registry.yarnpkg.com/minipass-fetch/-/minipass-fetch-1.4.1.tgz";
|
||||
sha1 = "d75e0091daac1b0ffd7e9d41629faff7d0c1f1b6";
|
||||
};
|
||||
}
|
||||
{
|
||||
|
@ -3650,11 +3674,11 @@
|
|||
};
|
||||
}
|
||||
{
|
||||
name = "minipass___minipass_3.1.3.tgz";
|
||||
name = "minipass___minipass_3.1.5.tgz";
|
||||
path = fetchurl {
|
||||
name = "minipass___minipass_3.1.3.tgz";
|
||||
url = "https://registry.yarnpkg.com/minipass/-/minipass-3.1.3.tgz";
|
||||
sha1 = "7d42ff1f39635482e15f9cdb53184deebd5815fd";
|
||||
name = "minipass___minipass_3.1.5.tgz";
|
||||
url = "https://registry.yarnpkg.com/minipass/-/minipass-3.1.5.tgz";
|
||||
sha1 = "71f6251b0a33a49c01b3cf97ff77eda030dff732";
|
||||
};
|
||||
}
|
||||
{
|
||||
|
@ -3722,11 +3746,11 @@
|
|||
};
|
||||
}
|
||||
{
|
||||
name = "needle___needle_2.9.0.tgz";
|
||||
name = "needle___needle_2.9.1.tgz";
|
||||
path = fetchurl {
|
||||
name = "needle___needle_2.9.0.tgz";
|
||||
url = "https://registry.yarnpkg.com/needle/-/needle-2.9.0.tgz";
|
||||
sha1 = "c680e401f99b6c3d8d1f315756052edf3dc3bdff";
|
||||
name = "needle___needle_2.9.1.tgz";
|
||||
url = "https://registry.yarnpkg.com/needle/-/needle-2.9.1.tgz";
|
||||
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 {
|
||||
name = "node_fetch___node_fetch_2.6.1.tgz";
|
||||
url = "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.1.tgz";
|
||||
sha1 = "045bd323631f76ed2e2b55573394416b639a0052";
|
||||
name = "node_fetch___node_fetch_2.6.2.tgz";
|
||||
url = "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.2.tgz";
|
||||
sha1 = "986996818b73785e47b1965cc34eb093a1d464d0";
|
||||
};
|
||||
}
|
||||
{
|
||||
|
@ -4178,11 +4202,11 @@
|
|||
};
|
||||
}
|
||||
{
|
||||
name = "plist___plist_3.0.3.tgz";
|
||||
name = "plist___plist_3.0.4.tgz";
|
||||
path = fetchurl {
|
||||
name = "plist___plist_3.0.3.tgz";
|
||||
url = "https://registry.yarnpkg.com/plist/-/plist-3.0.3.tgz";
|
||||
sha1 = "007df34c7be0e2c3dcfcf460d623e6485457857d";
|
||||
name = "plist___plist_3.0.4.tgz";
|
||||
url = "https://registry.yarnpkg.com/plist/-/plist-3.0.4.tgz";
|
||||
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 {
|
||||
name = "socks_proxy_agent___socks_proxy_agent_6.0.0.tgz";
|
||||
url = "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-6.0.0.tgz";
|
||||
sha1 = "9f8749cdc05976505fa9f9a958b1818d0e60573b";
|
||||
name = "socks_proxy_agent___socks_proxy_agent_6.1.0.tgz";
|
||||
url = "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-6.1.0.tgz";
|
||||
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 {
|
||||
name = "source_map_support___source_map_support_0.5.19.tgz";
|
||||
url = "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz";
|
||||
sha1 = "a98b62f86dcaf4f67399648c085291ab9e8fed61";
|
||||
name = "source_map_support___source_map_support_0.5.20.tgz";
|
||||
url = "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.20.tgz";
|
||||
sha1 = "12166089f8f5e5e8c56926b377633392dd2cb6c9";
|
||||
};
|
||||
}
|
||||
{
|
||||
|
@ -4890,11 +4914,11 @@
|
|||
};
|
||||
}
|
||||
{
|
||||
name = "tar___tar_6.1.10.tgz";
|
||||
name = "tar___tar_6.1.11.tgz";
|
||||
path = fetchurl {
|
||||
name = "tar___tar_6.1.10.tgz";
|
||||
url = "https://registry.yarnpkg.com/tar/-/tar-6.1.10.tgz";
|
||||
sha1 = "8a320a74475fba54398fa136cd9883aa8ad11175";
|
||||
name = "tar___tar_6.1.11.tgz";
|
||||
url = "https://registry.yarnpkg.com/tar/-/tar-6.1.11.tgz";
|
||||
sha1 = "6760a38f003afa1b2ffd0ffe9e9abbd0eab3d621";
|
||||
};
|
||||
}
|
||||
{
|
||||
|
@ -5130,11 +5154,11 @@
|
|||
};
|
||||
}
|
||||
{
|
||||
name = "typescript___typescript_4.3.5.tgz";
|
||||
name = "typescript___typescript_4.4.3.tgz";
|
||||
path = fetchurl {
|
||||
name = "typescript___typescript_4.3.5.tgz";
|
||||
url = "https://registry.yarnpkg.com/typescript/-/typescript-4.3.5.tgz";
|
||||
sha1 = "4d1c37cc16e893973c45a06886b7113234f119f4";
|
||||
name = "typescript___typescript_4.4.3.tgz";
|
||||
url = "https://registry.yarnpkg.com/typescript/-/typescript-4.4.3.tgz";
|
||||
sha1 = "bdc5407caa2b109efd4f82fe130656f977a29324";
|
||||
};
|
||||
}
|
||||
{
|
||||
|
@ -5409,14 +5433,6 @@
|
|||
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";
|
||||
path = fetchurl {
|
||||
|
|
|
@ -19,12 +19,12 @@
|
|||
|
||||
let
|
||||
executableName = "element-desktop";
|
||||
version = "1.8.5";
|
||||
version = "1.9.0";
|
||||
src = fetchFromGitHub {
|
||||
owner = "vector-im";
|
||||
repo = "element-desktop";
|
||||
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";
|
||||
in
|
||||
|
|
|
@ -12,11 +12,11 @@ let
|
|||
|
||||
in stdenv.mkDerivation rec {
|
||||
pname = "element-web";
|
||||
version = "1.8.5";
|
||||
version = "1.9.0";
|
||||
|
||||
src = fetchurl {
|
||||
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 = ''
|
||||
|
|
|
@ -4,7 +4,7 @@ with ocamlPackages;
|
|||
|
||||
buildDunePackage rec {
|
||||
pname = "jackline";
|
||||
version = "unstable-2021-04-23";
|
||||
version = "unstable-2021-08-10";
|
||||
|
||||
minimumOCamlVersion = "4.08";
|
||||
|
||||
|
@ -13,8 +13,8 @@ buildDunePackage rec {
|
|||
src = fetchFromGitHub {
|
||||
owner = "hannesm";
|
||||
repo = "jackline";
|
||||
rev = "861c59bb7cd27ad5c7558ff94cb0d0e8dca249e5";
|
||||
sha256 = "00waw5qr0n70i9l9b25r9ryfi836x4qrj046bb4k9qa4d0p8q1sa";
|
||||
rev = "73d87e9a62d534566bb0fbe64990d32d75487f11";
|
||||
sha256 = "0wk574rqfg2vqz27nasxzwf67x51pj5fgl4vkc27r741dg4q6c5a";
|
||||
};
|
||||
|
||||
nativeBuildInpts = [
|
||||
|
|
|
@ -1,19 +1,20 @@
|
|||
{ stdenv, callPackage, fetchurl, lib }:
|
||||
|
||||
let
|
||||
mkRambox = opts: callPackage (import ./rambox.nix opts) { };
|
||||
in mkRambox rec {
|
||||
mkRambox = opts: callPackage (import ./rambox.nix opts) {};
|
||||
in
|
||||
mkRambox rec {
|
||||
pname = "rambox";
|
||||
version = "0.7.8";
|
||||
version = "0.7.9";
|
||||
|
||||
src = {
|
||||
x86_64-linux = fetchurl {
|
||||
url = "https://github.com/ramboxapp/community-edition/releases/download/${version}/Rambox-${version}-linux-x86_64.AppImage";
|
||||
sha256 = "1y3c9xh8594ay95rj9vaqxxzibwpc38n7ixxi2wnsrdbrqrwlc63";
|
||||
sha256 = "19y4cmrfp79dr4hgl698imp4f3l1nhgvhh76j5laxg46ld71knil";
|
||||
};
|
||||
i686-linux = fetchurl {
|
||||
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}");
|
||||
|
||||
|
@ -21,8 +22,8 @@ in mkRambox rec {
|
|||
description = "Free and Open Source messaging and emailing app that combines common web applications into one";
|
||||
homepage = "https://rambox.pro";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ ];
|
||||
platforms = ["i686-linux" "x86_64-linux"];
|
||||
maintainers = with maintainers; [];
|
||||
platforms = [ "i686-linux" "x86_64-linux" ];
|
||||
hydraPlatforms = [];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -25,7 +25,7 @@ let
|
|||
else "");
|
||||
in stdenv.mkDerivation rec {
|
||||
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.
|
||||
# When releases "expire" the application becomes unusable until an update is
|
||||
# applied. The expiration date for the current release can be extracted with:
|
||||
|
@ -35,7 +35,7 @@ in stdenv.mkDerivation rec {
|
|||
|
||||
src = fetchurl {
|
||||
url = "https://updates.signal.org/desktop/apt/pool/main/s/signal-desktop/signal-desktop_${version}_amd64.deb";
|
||||
sha256 = "1fmn2i6k3zh3d37234yxbawzf85fa66xybcli7xffli39czxbcj3";
|
||||
sha256 = "1pajv9f6xl06597322swkjzhfqvlfavsbhbn1xnvy4r28i84mp7d";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
|
@ -1,655 +1,655 @@
|
|||
{
|
||||
version = "91.1.1";
|
||||
version = "91.1.2";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
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";
|
||||
arch = "linux-i686";
|
||||
sha256 = "bb222c6f9c8e5ed7681fa920ff6bb6e9d1262e16efb994dd5976e575e4f54a7c";
|
||||
sha256 = "13dfa3e7a8b5a69ab9072c21eb22373ff36bd54c9c7c39c3480681bd911043c0";
|
||||
}
|
||||
];
|
||||
}
|
||||
|
|
|
@ -10,12 +10,12 @@ in
|
|||
rec {
|
||||
thunderbird = common rec {
|
||||
pname = "thunderbird";
|
||||
version = "91.1.1";
|
||||
version = "91.1.2";
|
||||
application = "comm/mail";
|
||||
binaryName = pname;
|
||||
src = fetchurl {
|
||||
url = "mirror://mozilla/thunderbird/releases/${version}/source/thunderbird-${version}.source.tar.xz";
|
||||
sha512 = "2da102f9ec42489fc785ccdabcc7fdbc826f2df5e8e76c65866a44a221e762f59647ea265fe4907c18f0d3f1e04199e809235b4587ea17bdc1155e829f57ff2f";
|
||||
sha512 = "f211ce2469f60862b1d641b5e165292d98db53695ab715090034c1ee2be7b04931f8e5e856b08b0c8c789e4d98df291d59283c257a38b556c0b4b0b63baa539f";
|
||||
};
|
||||
patches = [
|
||||
];
|
||||
|
|
|
@ -4,11 +4,11 @@ with lib;
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "mpop";
|
||||
version = "1.4.13";
|
||||
version = "1.4.14";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://marlam.de/${pname}/releases/${pname}-${version}.tar.xz";
|
||||
sha256 = "sha256-s0mEZsZbZQrdGm55IJsnuoY3VnOkXJalknvtaFoyfcE=";
|
||||
sha256 = "046wbglvry54id9wik6c020fs09piv3gig3z0nh5nmyhsxjw4i18";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
|
|
|
@ -21,13 +21,13 @@
|
|||
|
||||
mkDerivation rec {
|
||||
pname = "nextcloud-client";
|
||||
version = "3.3.4";
|
||||
version = "3.3.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "nextcloud";
|
||||
repo = "desktop";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-9RumsGpPHWa3EQXobBC3RcDUqwHCKiff+ngpTXKLyaE=";
|
||||
sha256 = "sha256-kqNN9P0G/Obi/8PStmLxImQdqkhLnJoFZ7dLpqe11TI=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
|
|
@ -1,52 +1,52 @@
|
|||
{
|
||||
lib,
|
||||
buildPythonApplication,
|
||||
substituteAll,
|
||||
fetchFromGitHub,
|
||||
isPy3k,
|
||||
colorama,
|
||||
flask,
|
||||
flask-httpauth,
|
||||
flask-socketio,
|
||||
stem,
|
||||
psutil,
|
||||
pyqt5,
|
||||
pycrypto,
|
||||
pyside2,
|
||||
pytestCheckHook,
|
||||
qrcode,
|
||||
qt5,
|
||||
requests,
|
||||
unidecode,
|
||||
tor,
|
||||
obfs4,
|
||||
{ lib
|
||||
, buildPythonApplication
|
||||
, substituteAll
|
||||
, fetchFromGitHub
|
||||
, isPy3k
|
||||
, colorama
|
||||
, flask
|
||||
, flask-httpauth
|
||||
, flask-socketio
|
||||
, stem
|
||||
, psutil
|
||||
, pyqt5
|
||||
, pycrypto
|
||||
, pynacl
|
||||
, pyside2
|
||||
, pytestCheckHook
|
||||
, qrcode
|
||||
, qt5
|
||||
, requests
|
||||
, unidecode
|
||||
, tor
|
||||
, obfs4
|
||||
}:
|
||||
|
||||
let
|
||||
version = "2.3.3";
|
||||
version = "2.4";
|
||||
src = fetchFromGitHub {
|
||||
owner = "micahflee";
|
||||
owner = "onionshare";
|
||||
repo = "onionshare";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-wU2020RNXlwJ2y9uzcLxIX4EECev1Z9YvNyiBalLj/Y=";
|
||||
sha256 = "sha256-Lclm7mIkaAkQpWcNILTRJtLA43dpiyHtWAeHS2r3+ZQ=";
|
||||
};
|
||||
meta = with lib; {
|
||||
description = "Securely and anonymously send and receive files";
|
||||
longDescription = ''
|
||||
OnionShare is an open source tool for securely and anonymously sending
|
||||
and receiving files using Tor onion services. It works by starting a web
|
||||
server directly on your computer and making it accessible as an
|
||||
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
|
||||
setting up a separate server, using a third party file-sharing service,
|
||||
or even logging into an account.
|
||||
OnionShare is an open source tool for securely and anonymously sending
|
||||
and receiving files using Tor onion services. It works by starting a web
|
||||
server directly on your computer and making it accessible as an
|
||||
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
|
||||
setting up a separate server, using a third party file-sharing service,
|
||||
or even logging into an account.
|
||||
|
||||
Unlike services like email, Google Drive, DropBox, WeTransfer, or nearly
|
||||
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
|
||||
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
|
||||
person you're sharing with can access the files.
|
||||
Unlike services like email, Google Drive, DropBox, WeTransfer, or nearly
|
||||
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
|
||||
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
|
||||
person you're sharing with can access the files.
|
||||
'';
|
||||
|
||||
homepage = "https://onionshare.org/";
|
||||
|
@ -54,8 +54,19 @@ let
|
|||
license = licenses.gpl3Plus;
|
||||
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 {
|
||||
pname = "onionshare-cli";
|
||||
inherit version meta;
|
||||
|
@ -74,9 +85,10 @@ in rec {
|
|||
flask
|
||||
flask-httpauth
|
||||
flask-socketio
|
||||
stem
|
||||
stem'
|
||||
psutil
|
||||
pycrypto
|
||||
pynacl
|
||||
requests
|
||||
unidecode
|
||||
];
|
||||
|
@ -98,6 +110,7 @@ in rec {
|
|||
disabledTests = [
|
||||
"test_firefox_like_behavior"
|
||||
"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/ssl_certs>
|
||||
include "${apparmorRulesFromClosure { name = "transmission-daemon"; } ([
|
||||
curl libevent openssl pcre zlib
|
||||
curl libevent openssl pcre zlib libnatpmp miniupnpc
|
||||
] ++ lib.optionals enableSystemd [ systemd ]
|
||||
++ lib.optionals stdenv.isLinux [ inotify-tools ]
|
||||
)}"
|
||||
|
@ -116,6 +116,7 @@ in stdenv.mkDerivation {
|
|||
'';
|
||||
|
||||
passthru.tests = {
|
||||
apparmor = nixosTests.transmission; # starts the service with apparmor enabled
|
||||
smoke-test = nixosTests.bittorrent;
|
||||
};
|
||||
|
||||
|
|
|
@ -26,13 +26,13 @@
|
|||
|
||||
let
|
||||
pname = "pcloud";
|
||||
version = "1.9.5";
|
||||
code = "XZy4VwXZjkvoMGM3x6kCTkIGLFYVKjqKbefX";
|
||||
version = "1.9.7";
|
||||
code = "XZ0FAtXZNxFJbda6KhLejU9tKAg4N0TEqx3V";
|
||||
|
||||
# Archive link's code thanks to: https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=pcloud-drive
|
||||
src = fetchzip {
|
||||
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 {
|
||||
|
|
|
@ -147,10 +147,6 @@ stdenv.mkDerivation rec {
|
|||
|
||||
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 \
|
||||
--replace "/usr/bin/onlyoffice-desktopeditor" "$out/bin/DesktopEditor"
|
||||
|
||||
|
@ -158,7 +154,13 @@ stdenv.mkDerivation rec {
|
|||
'';
|
||||
|
||||
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;
|
||||
|
|
|
@ -50,6 +50,6 @@ in stdenv.mkDerivation {
|
|||
description = "Vendor and platform neutral SDR support library";
|
||||
license = licenses.boost;
|
||||
maintainers = with maintainers; [ markuskowa ];
|
||||
platforms = platforms.linux;
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -6,13 +6,13 @@
|
|||
|
||||
mkDerivation rec {
|
||||
pname = "stellarium";
|
||||
version = "0.21.1";
|
||||
version = "0.21.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Stellarium";
|
||||
repo = "stellarium";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-dAdB57phD5phl8dQZIHtqtnA2LZqR+JoXTzIBtqBevA=";
|
||||
sha256 = "sha256-bh00o++l3sqELX5kgRhiCcQOLVqvjEyEMcJTnnVPNU8=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake perl wrapQtAppsHook ];
|
||||
|
|
|
@ -2,13 +2,13 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "star";
|
||||
version = "2.7.8a";
|
||||
version = "2.7.9a";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
repo = "STAR";
|
||||
owner = "alexdobin";
|
||||
rev = version;
|
||||
sha256 = "sha256-2qqdCan67bcoUGgr5ro2LGGHDAyS/egTrT8pWX1chX0=";
|
||||
sha256 = "sha256-p1yaIbSGu8K5AkqJj0BAzuoWsXr25eCNoQmLXYQeg4E=";
|
||||
};
|
||||
|
||||
sourceRoot = "source/source";
|
||||
|
@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
|
|||
description = "Spliced Transcripts Alignment to a Reference";
|
||||
homepage = "https://github.com/alexdobin/STAR";
|
||||
license = licenses.gpl3Plus;
|
||||
platforms = platforms.linux;
|
||||
platforms = [ "x86_64-linux" ];
|
||||
maintainers = [ maintainers.arcadio ];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -5,13 +5,13 @@
|
|||
|
||||
stdenv.mkDerivation {
|
||||
pname = "symbiyosys";
|
||||
version = "2020.08.22";
|
||||
version = "2021.09.13";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "YosysHQ";
|
||||
repo = "SymbiYosys";
|
||||
rev = "33b0bb7d836fe2a73dc7b10587222f2a718beef4";
|
||||
sha256 = "03rbrbwsji1sqcp2yhgbc0fca04zsryv2g4izjhdzv64nqjzjyhn";
|
||||
rev = "15278f13467bea24a7300e23ebc5555b9261facf";
|
||||
sha256 = "sha256-gp9F4MaGgD6XfD7AjuB/LmMVcxFurqWHEiXPeyzlQzk=";
|
||||
};
|
||||
|
||||
buildInputs = [ ];
|
||||
|
|
|
@ -19,13 +19,13 @@ with lib;
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "z3";
|
||||
version = "4.8.10";
|
||||
version = "4.8.12";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Z3Prover";
|
||||
repo = pname;
|
||||
rev = "z3-${version}";
|
||||
sha256 = "1w1ym2l0gipvjx322npw7lhclv8rslq58gnj0d9i96masi3gbycf";
|
||||
sha256 = "1wbcdc7h3mag8infspvxxja2hiz4igjwxzvss2kqar1rjj4ivfx0";
|
||||
};
|
||||
|
||||
nativeBuildInputs = optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames;
|
||||
|
|
|
@ -12,7 +12,8 @@ stdenv.mkDerivation rec {
|
|||
};
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/lib/node_modules/three
|
||||
cp -r build version $out/lib/node_modules/three
|
||||
mkdir -p "$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