Merge staging-next into staging
This commit is contained in:
commit
90fa603351
@ -6,6 +6,23 @@ This contains instructions on how to package javascript applications. For instru
|
||||
|
||||
The various tools available will be listed in the [tools-overview](#javascript-tools-overview). Some general principles for packaging will follow. Finally some tool specific instructions will be given.
|
||||
|
||||
## Getting unstuck / finding code examples
|
||||
|
||||
If you find you are lacking inspiration for packing javascript applications, the links below might prove useful.
|
||||
Searching online for prior art can be helpful if you are running into solved problems.
|
||||
|
||||
### Github
|
||||
|
||||
- Searching Nix files for `mkYarnPackage`: <https://github.com/search?q=mkYarnPackage+language%3ANix&type=code>
|
||||
|
||||
- Searching just `flake.nix` files for `mkYarnPackage`: <https://github.com/search?q=mkYarnPackage+filename%3Aflake.nix&type=code>
|
||||
|
||||
### Gitlab
|
||||
|
||||
- Searching Nix files for `mkYarnPackage`: <https://gitlab.com/search?scope=blobs&search=mkYarnPackage+extension%3Anix>
|
||||
|
||||
- Searching just `flake.nix` files for `mkYarnPackage`: <https://gitlab.com/search?scope=blobs&search=mkYarnPackage+filename%3Aflake.nix>
|
||||
|
||||
## Tools overview {#javascript-tools-overview}
|
||||
|
||||
## General principles {#javascript-general-principles}
|
||||
@ -32,7 +49,7 @@ Using a different tool forces to commit a lock file to the repository. Those fil
|
||||
|
||||
Exceptions to this rule are:
|
||||
|
||||
- when you encounter one of the bugs from a nix tool. In each of the tool specific instructions, known problems will be detailed. If you have a problem with a particular tool, then it's best to try another tool, even if this means you will have to recreate a lock file and commit it to nixpkgs. In general yarn2nix has less known problems and so a simple search in nixpkgs will reveal many yarn.lock files commited
|
||||
- when you encounter one of the bugs from a nix tool. In each of the tool specific instructions, known problems will be detailed. If you have a problem with a particular tool, then it's best to try another tool, even if this means you will have to recreate a lock file and commit it to nixpkgs. In general yarn2nix has less known problems and so a simple search in nixpkgs will reveal many yarn.lock files committed
|
||||
- Some lock files contain particular version of a package that has been pulled off npm for some reason. In that case, you can recreate upstream lock (by removing the original and `npm install`, `yarn`, ...) and commit this to nixpkgs.
|
||||
- The only tool that supports workspaces (a feature of npm that helps manage sub-directories with different package.json from a single top level package.json) is yarn2nix. If upstream has workspaces you should try yarn2nix.
|
||||
|
||||
@ -106,15 +123,15 @@ requires `node-gyp-build`, so [we override](https://github.com/NixOS/nixpkgs/blo
|
||||
|
||||
To add a package from NPM to nixpkgs:
|
||||
|
||||
1. Modify `pkgs/development/node-packages/node-packages.json` to add, update
|
||||
1. Modify `pkgs/development/node-packages/node-packages.json` to add, update
|
||||
or remove package entries to have it included in `nodePackages` and
|
||||
`nodePackages_latest`.
|
||||
2. Run the script: `cd pkgs/development/node-packages && ./generate.sh`.
|
||||
3. Build your new package to test your changes:
|
||||
2. Run the script: `cd pkgs/development/node-packages && ./generate.sh`.
|
||||
3. Build your new package to test your changes:
|
||||
`cd /path/to/nixpkgs && nix-build -A nodePackages.<new-or-updated-package>`.
|
||||
To build against the latest stable Current Node.js version (e.g. 14.x):
|
||||
`nix-build -A nodePackages_latest.<new-or-updated-package>`
|
||||
4. Add and commit all modified and generated files.
|
||||
4. Add and commit all modified and generated files.
|
||||
|
||||
For more information about the generation process, consult the
|
||||
[README.md](https://github.com/svanderburg/node2nix) file of the `node2nix`
|
||||
@ -132,7 +149,7 @@ you will need to generate a nix expression for the dependencies
|
||||
- Most probably you will need the `--development` to include the `devDependencies`
|
||||
|
||||
so the command will most likely be
|
||||
`node2nix --developmennt -l package-lock.json`
|
||||
`node2nix --development -l package-lock.json`
|
||||
|
||||
[link to the doc in the repo](https://github.com/svanderburg/node2nix)
|
||||
|
||||
@ -153,7 +170,7 @@ you will need at least a yarn.lock and yarn.nix file
|
||||
|
||||
#### mkYarnPackage {#javascript-yarn2nix-mkYarnPackage}
|
||||
|
||||
this will by default try to generate a binary. For package only generating static assets (Svelte, Vue, React...), you will need to explicitely override the build step with your instructions. It's important to use the `--offline` flag. For example if you script is `"build": "something"` in package.json use
|
||||
this will by default try to generate a binary. For package only generating static assets (Svelte, Vue, React...), you will need to explicitly override the build step with your instructions. It's important to use the `--offline` flag. For example if you script is `"build": "something"` in package.json use
|
||||
|
||||
```nix
|
||||
buildPhase = ''
|
||||
@ -178,17 +195,53 @@ configurePhase = "ln -s $node_modules node_modules";
|
||||
|
||||
this will generate a derivation including the node_modules. If you have to build a derivation for an integrated web framework (rails, phoenix..), this is probably the easiest way. [Plausible](https://github.com/NixOS/nixpkgs/blob/master/pkgs/servers/web-apps/plausible/default.nix#L39) offers a good example of how to do this.
|
||||
|
||||
#### Overriding dependency behavior
|
||||
|
||||
In the `mkYarnPackage` record the property `pkgConfig` can be used to override packages when you encounter problems building.
|
||||
|
||||
For instance, say your package is throwing errors when trying to invoke node-sass: `ENOENT: no such file or directory, scandir '/build/source/node_modules/node-sass/vendor'`
|
||||
|
||||
To fix this we will specify different versions of build inputs to use, as well as some post install steps to get the software built the way we want:
|
||||
|
||||
```nix
|
||||
mkYarnPackage rec {
|
||||
pkgConfig = {
|
||||
node-sass = {
|
||||
buildInputs = with final;[ python libsass pkg-config ];
|
||||
postInstall = ''
|
||||
LIBSASS_EXT=auto yarn --offline run build
|
||||
rm build/config.gypi
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
||||
```
|
||||
|
||||
#### Pitfalls {#javascript-yarn2nix-pitfalls}
|
||||
|
||||
- if version is missing from upstream package.json, yarn will silently install nothing. In that case, you will need to override package.json as shown in the [package.json section](#javascript-upstream-package-json)
|
||||
|
||||
- having trouble with node-gyp? Try adding these lines to the `yarnPreBuild` steps:
|
||||
|
||||
```nix
|
||||
yarnPreBuild = ''
|
||||
mkdir -p $HOME/.node-gyp/${nodejs.version}
|
||||
echo 9 > $HOME/.node-gyp/${nodejs.version}/installVersion
|
||||
ln -sfv ${nodejs}/include $HOME/.node-gyp/${nodejs.version}
|
||||
export npm_config_nodedir=${nodejs}
|
||||
'';
|
||||
```
|
||||
|
||||
- The `echo 9` steps comes from this answer: <https://stackoverflow.com/a/49139496>
|
||||
- Exporting the headers in `npm_config_nodedir` comes from this issue: <https://github.com/nodejs/node-gyp/issues/1191#issuecomment-301243919>
|
||||
|
||||
## Outside of nixpkgs {#javascript-outside-nixpkgs}
|
||||
|
||||
There are some other options available that can't be used inside nixpkgs. Those other options are written in nix. Importing them in nixpkgs will require moving the source code into nixpkgs. Using [Import From Derivation](https://nixos.wiki/wiki/Import_From_Derivation) is not allowed in hydra at present. If you are packaging something outside nixpkgs, those can be considered
|
||||
|
||||
### npmlock2nix {#javascript-npmlock2nix}
|
||||
|
||||
[npmlock2nix](https://github.com/nix-community/npmlock2nix) aims at building node_modules without code generation. It hasn't reached v1 yet, the api might be suject to change.
|
||||
[npmlock2nix](https://github.com/nix-community/npmlock2nix) aims at building node_modules without code generation. It hasn't reached v1 yet, the api might be subject to change.
|
||||
|
||||
#### Pitfalls {#javascript-npmlock2nix-pitfalls}
|
||||
|
||||
|
@ -5,7 +5,7 @@ let
|
||||
inherit (builtins) head tail length;
|
||||
inherit (lib.trivial) and;
|
||||
inherit (lib.strings) concatStringsSep sanitizeDerivationName;
|
||||
inherit (lib.lists) fold foldr concatMap concatLists;
|
||||
inherit (lib.lists) foldr foldl' concatMap concatLists elemAt;
|
||||
in
|
||||
|
||||
rec {
|
||||
@ -55,10 +55,13 @@ rec {
|
||||
=> { a = { b = 3; }; }
|
||||
*/
|
||||
setAttrByPath = attrPath: value:
|
||||
if attrPath == [] then value
|
||||
else listToAttrs
|
||||
[ { name = head attrPath; value = setAttrByPath (tail attrPath) value; } ];
|
||||
|
||||
let
|
||||
len = length attrPath;
|
||||
atDepth = n:
|
||||
if n == len
|
||||
then value
|
||||
else { ${elemAt attrPath n} = atDepth (n + 1); };
|
||||
in atDepth 0;
|
||||
|
||||
/* Like `attrByPath' without a default value. If it doesn't find the
|
||||
path it will throw.
|
||||
@ -195,7 +198,7 @@ rec {
|
||||
]
|
||||
*/
|
||||
cartesianProductOfSets = attrsOfLists:
|
||||
lib.foldl' (listOfAttrs: attrName:
|
||||
foldl' (listOfAttrs: attrName:
|
||||
concatMap (attrs:
|
||||
map (listValue: attrs // { ${attrName} = listValue; }) attrsOfLists.${attrName}
|
||||
) listOfAttrs
|
||||
|
@ -11355,6 +11355,12 @@
|
||||
githubId = 335406;
|
||||
name = "David Asabina";
|
||||
};
|
||||
vidister = {
|
||||
email = "v@vidister.de";
|
||||
github = "vidister";
|
||||
githubId = 11413574;
|
||||
name = "Fiona Weber";
|
||||
};
|
||||
vifino = {
|
||||
email = "vifino@tty.sh";
|
||||
github = "vifino";
|
||||
|
@ -182,7 +182,7 @@
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
<itemizedlist spacing="compact">
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>
|
||||
<link xlink:href="https://docs.fluidd.xyz/">fluidd</link>, a
|
||||
@ -191,6 +191,22 @@
|
||||
<link linkend="opt-services.fluidd.enable">fluidd</link>.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
<link xlink:href="https://github.com/earnestly/sx">sx</link>,
|
||||
a simple alternative to both xinit and startx for starting a
|
||||
Xorg server. Available as
|
||||
<link linkend="opt-services.xserver.displayManager.sx.enable">services.xserver.displayManager.sx</link>
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
<link xlink:href="https://postfixadmin.sourceforge.io/">postfixadmin</link>,
|
||||
a web based virtual user administration interface for Postfix
|
||||
mail servers. Available as
|
||||
<link linkend="opt-services.postfixadmin.enable">postfixadmin</link>.
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</section>
|
||||
<section xml:id="sec-release-21.11-incompatibilities">
|
||||
@ -847,6 +863,15 @@ Superuser created successfully.
|
||||
release instead of 1.0.x
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
If <literal>exfat</literal> is included in
|
||||
<literal>boot.supportedFilesystems</literal> and when using
|
||||
kernel 5.7 or later, the <literal>exfatprogs</literal>
|
||||
user-space utilities are used instead of
|
||||
<literal>exfat</literal>.
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</section>
|
||||
<section xml:id="sec-release-21.11-notable-changes">
|
||||
@ -1047,6 +1072,13 @@ Superuser created successfully.
|
||||
sign OCSP responses and server certificates.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
<literal>lib.formats.yaml</literal>’s
|
||||
<literal>generate</literal> will not generate JSON anymore,
|
||||
but instead use more of the YAML-specific syntax.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
MariaDB was upgraded from 10.5.x to 10.6.x. Please read the
|
||||
|
@ -58,6 +58,10 @@ subsonic-compatible api. Available as [navidrome](#opt-services.navidrome.enable
|
||||
|
||||
- [fluidd](https://docs.fluidd.xyz/), a Klipper web interface for managing 3d printers using moonraker. Available as [fluidd](#opt-services.fluidd.enable).
|
||||
|
||||
- [sx](https://github.com/earnestly/sx), a simple alternative to both xinit and startx for starting a Xorg server. Available as [services.xserver.displayManager.sx](#opt-services.xserver.displayManager.sx.enable)
|
||||
|
||||
- [postfixadmin](https://postfixadmin.sourceforge.io/), a web based virtual user administration interface for Postfix mail servers. Available as [postfixadmin](#opt-services.postfixadmin.enable).
|
||||
|
||||
## Backward Incompatibilities {#sec-release-21.11-incompatibilities}
|
||||
|
||||
- The `paperless` module and package have been removed. All users should migrate to the
|
||||
@ -246,6 +250,9 @@ To be able to access the web UI this port needs to be opened in the firewall.
|
||||
|
||||
- The `nomad` package now defaults to a 1.1.x release instead of 1.0.x
|
||||
|
||||
- If `exfat` is included in `boot.supportedFilesystems` and when using kernel 5.7
|
||||
or later, the `exfatprogs` user-space utilities are used instead of `exfat`.
|
||||
|
||||
## 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.
|
||||
@ -299,6 +306,8 @@ To be able to access the web UI this port needs to be opened in the firewall.
|
||||
|
||||
- Nginx will use the value of `sslTrustedCertificate` if provided for a virtual host, even if `enableACME` is set. This is useful for providers not using the same certificate to sign OCSP responses and server certificates.
|
||||
|
||||
- `lib.formats.yaml`'s `generate` will not generate JSON anymore, but instead use more of the YAML-specific syntax.
|
||||
|
||||
- MariaDB was upgraded from 10.5.x to 10.6.x. Please read the [upstream release notes](https://mariadb.com/kb/en/changes-improvements-in-mariadb-106/) for changes and upgrade instructions.
|
||||
|
||||
- The MariaDB C client library, also known as libmysqlclient or mariadb-connector-c, was upgraded from 3.1.x to 3.2.x. While this should hopefully not have any impact, this upgrade comes with some changes to default behavior, so you might want to review the [upstream release notes](https://mariadb.com/kb/en/changes-and-improvements-in-mariadb-connector-c-32/).
|
||||
|
333
nixos/lib/make-zfs-image.nix
Normal file
333
nixos/lib/make-zfs-image.nix
Normal file
@ -0,0 +1,333 @@
|
||||
# Note: This is a private API, internal to NixOS. Its interface is subject
|
||||
# to change without notice.
|
||||
#
|
||||
# The result of this builder is two disk images:
|
||||
#
|
||||
# * `boot` - a small disk formatted with FAT to be used for /boot. FAT is
|
||||
# chosen to support EFI.
|
||||
# * `root` - a larger disk with a zpool taking the entire disk.
|
||||
#
|
||||
# This two-disk approach is taken to satisfy ZFS's requirements for
|
||||
# autoexpand.
|
||||
#
|
||||
# # Why doesn't autoexpand work with ZFS in a partition?
|
||||
#
|
||||
# When ZFS owns the whole disk doesn’t really use a partition: it has
|
||||
# a marker partition at the start and a marker partition at the end of
|
||||
# the disk.
|
||||
#
|
||||
# If ZFS is constrained to a partition, ZFS leaves expanding the partition
|
||||
# up to the user. Obviously, the user may not choose to do so.
|
||||
#
|
||||
# Once the user expands the partition, calling zpool online -e expands the
|
||||
# vdev to use the whole partition. It doesn’t happen automatically
|
||||
# presumably because zed doesn’t get an event saying it’s partition grew,
|
||||
# whereas it can and does get an event saying the whole disk it is on is
|
||||
# now larger.
|
||||
{ lib
|
||||
, pkgs
|
||||
, # The NixOS configuration to be installed onto the disk image.
|
||||
config
|
||||
|
||||
, # size of the FAT boot disk, in megabytes.
|
||||
bootSize ? 1024
|
||||
|
||||
, # The size of the root disk, in megabytes.
|
||||
rootSize ? 2048
|
||||
|
||||
, # The name of the ZFS pool
|
||||
rootPoolName ? "tank"
|
||||
|
||||
, # zpool properties
|
||||
rootPoolProperties ? {
|
||||
autoexpand = "on";
|
||||
}
|
||||
, # pool-wide filesystem properties
|
||||
rootPoolFilesystemProperties ? {
|
||||
acltype = "posixacl";
|
||||
atime = "off";
|
||||
compression = "on";
|
||||
mountpoint = "legacy";
|
||||
xattr = "sa";
|
||||
}
|
||||
|
||||
, # datasets, with per-attribute options:
|
||||
# mount: (optional) mount point in the VM
|
||||
# properties: (optional) ZFS properties on the dataset, like filesystemProperties
|
||||
# Notes:
|
||||
# 1. datasets will be created from shorter to longer names as a simple topo-sort
|
||||
# 2. you should define a root's dataset's mount for `/`
|
||||
datasets ? { }
|
||||
|
||||
, # The files and directories to be placed in the target file system.
|
||||
# This is a list of attribute sets {source, target} where `source'
|
||||
# is the file system object (regular file or directory) to be
|
||||
# grafted in the file system at path `target'.
|
||||
contents ? []
|
||||
|
||||
, # The initial NixOS configuration file to be copied to
|
||||
# /etc/nixos/configuration.nix. This configuration will be embedded
|
||||
# inside a configuration which includes the described ZFS fileSystems.
|
||||
configFile ? null
|
||||
|
||||
, # Shell code executed after the VM has finished.
|
||||
postVM ? ""
|
||||
|
||||
, name ? "nixos-disk-image"
|
||||
|
||||
, # Disk image format, one of qcow2, qcow2-compressed, vdi, vpc, raw.
|
||||
format ? "raw"
|
||||
|
||||
, # Include a copy of Nixpkgs in the disk image
|
||||
includeChannel ? true
|
||||
}:
|
||||
let
|
||||
formatOpt = if format == "qcow2-compressed" then "qcow2" else format;
|
||||
|
||||
compress = lib.optionalString (format == "qcow2-compressed") "-c";
|
||||
|
||||
filenameSuffix = "." + {
|
||||
qcow2 = "qcow2";
|
||||
vdi = "vdi";
|
||||
vpc = "vhd";
|
||||
raw = "img";
|
||||
}.${formatOpt} or formatOpt;
|
||||
bootFilename = "nixos.boot${filenameSuffix}";
|
||||
rootFilename = "nixos.root${filenameSuffix}";
|
||||
|
||||
# FIXME: merge with channel.nix / make-channel.nix.
|
||||
channelSources =
|
||||
let
|
||||
nixpkgs = lib.cleanSource pkgs.path;
|
||||
in
|
||||
pkgs.runCommand "nixos-${config.system.nixos.version}" {} ''
|
||||
mkdir -p $out
|
||||
cp -prd ${nixpkgs.outPath} $out/nixos
|
||||
chmod -R u+w $out/nixos
|
||||
if [ ! -e $out/nixos/nixpkgs ]; then
|
||||
ln -s . $out/nixos/nixpkgs
|
||||
fi
|
||||
rm -rf $out/nixos/.git
|
||||
echo -n ${config.system.nixos.versionSuffix} > $out/nixos/.version-suffix
|
||||
'';
|
||||
|
||||
closureInfo = pkgs.closureInfo {
|
||||
rootPaths = [ config.system.build.toplevel ]
|
||||
++ (lib.optional includeChannel channelSources);
|
||||
};
|
||||
|
||||
modulesTree = pkgs.aggregateModules
|
||||
(with config.boot.kernelPackages; [ kernel zfs ]);
|
||||
|
||||
tools = lib.makeBinPath (
|
||||
with pkgs; [
|
||||
config.system.build.nixos-enter
|
||||
config.system.build.nixos-install
|
||||
dosfstools
|
||||
e2fsprogs
|
||||
gptfdisk
|
||||
nix
|
||||
parted
|
||||
utillinux
|
||||
zfs
|
||||
]
|
||||
);
|
||||
|
||||
hasDefinedMount = disk: ((disk.mount or null) != null);
|
||||
|
||||
stringifyProperties = prefix: properties: lib.concatStringsSep " \\\n" (
|
||||
lib.mapAttrsToList
|
||||
(
|
||||
property: value: "${prefix} ${lib.escapeShellArg property}=${lib.escapeShellArg value}"
|
||||
)
|
||||
properties
|
||||
);
|
||||
|
||||
featuresToProperties = features:
|
||||
lib.listToAttrs
|
||||
(builtins.map (feature: {
|
||||
name = "feature@${feature}";
|
||||
value = "enabled";
|
||||
}) features);
|
||||
|
||||
createDatasets =
|
||||
let
|
||||
datasetlist = lib.mapAttrsToList lib.nameValuePair datasets;
|
||||
sorted = lib.sort (left: right: (lib.stringLength left.name) < (lib.stringLength right.name)) datasetlist;
|
||||
cmd = { name, value }:
|
||||
let
|
||||
properties = stringifyProperties "-o" (value.properties or {});
|
||||
in
|
||||
"zfs create -p ${properties} ${name}";
|
||||
in
|
||||
lib.concatMapStringsSep "\n" cmd sorted;
|
||||
|
||||
mountDatasets =
|
||||
let
|
||||
datasetlist = lib.mapAttrsToList lib.nameValuePair datasets;
|
||||
mounts = lib.filter ({ value, ... }: hasDefinedMount value) datasetlist;
|
||||
sorted = lib.sort (left: right: (lib.stringLength left.value.mount) < (lib.stringLength right.value.mount)) mounts;
|
||||
cmd = { name, value }:
|
||||
''
|
||||
mkdir -p /mnt${lib.escapeShellArg value.mount}
|
||||
mount -t zfs ${name} /mnt${lib.escapeShellArg value.mount}
|
||||
'';
|
||||
in
|
||||
lib.concatMapStringsSep "\n" cmd sorted;
|
||||
|
||||
unmountDatasets =
|
||||
let
|
||||
datasetlist = lib.mapAttrsToList lib.nameValuePair datasets;
|
||||
mounts = lib.filter ({ value, ... }: hasDefinedMount value) datasetlist;
|
||||
sorted = lib.sort (left: right: (lib.stringLength left.value.mount) > (lib.stringLength right.value.mount)) mounts;
|
||||
cmd = { name, value }:
|
||||
''
|
||||
umount /mnt${lib.escapeShellArg value.mount}
|
||||
'';
|
||||
in
|
||||
lib.concatMapStringsSep "\n" cmd sorted;
|
||||
|
||||
|
||||
fileSystemsCfgFile =
|
||||
let
|
||||
mountable = lib.filterAttrs (_: value: hasDefinedMount value) datasets;
|
||||
in
|
||||
pkgs.runCommand "filesystem-config.nix" {
|
||||
buildInputs = with pkgs; [ jq nixpkgs-fmt ];
|
||||
filesystems = builtins.toJSON {
|
||||
fileSystems = lib.mapAttrs'
|
||||
(
|
||||
dataset: attrs:
|
||||
{
|
||||
name = attrs.mount;
|
||||
value = {
|
||||
fsType = "zfs";
|
||||
device = "${dataset}";
|
||||
};
|
||||
}
|
||||
)
|
||||
mountable;
|
||||
};
|
||||
passAsFile = [ "filesystems" ];
|
||||
} ''
|
||||
(
|
||||
echo "builtins.fromJSON '''"
|
||||
jq . < "$filesystemsPath"
|
||||
echo "'''"
|
||||
) > $out
|
||||
|
||||
nixpkgs-fmt $out
|
||||
'';
|
||||
|
||||
mergedConfig =
|
||||
if configFile == null
|
||||
then fileSystemsCfgFile
|
||||
else
|
||||
pkgs.runCommand "configuration.nix" {
|
||||
buildInputs = with pkgs; [ nixpkgs-fmt ];
|
||||
}
|
||||
''
|
||||
(
|
||||
echo '{ imports = ['
|
||||
printf "(%s)\n" "$(cat ${fileSystemsCfgFile})";
|
||||
printf "(%s)\n" "$(cat ${configFile})";
|
||||
echo ']; }'
|
||||
) > $out
|
||||
|
||||
nixpkgs-fmt $out
|
||||
'';
|
||||
|
||||
image = (
|
||||
pkgs.vmTools.override {
|
||||
rootModules =
|
||||
[ "zfs" "9p" "9pnet_virtio" "virtio_pci" "virtio_blk" ] ++
|
||||
(pkgs.lib.optional (pkgs.stdenv.isi686 || pkgs.stdenv.isx86_64) "rtc_cmos");
|
||||
kernel = modulesTree;
|
||||
}
|
||||
).runInLinuxVM (
|
||||
pkgs.runCommand name
|
||||
{
|
||||
QEMU_OPTS = "-drive file=$bootDiskImage,if=virtio,cache=unsafe,werror=report"
|
||||
+ " -drive file=$rootDiskImage,if=virtio,cache=unsafe,werror=report";
|
||||
preVM = ''
|
||||
PATH=$PATH:${pkgs.qemu_kvm}/bin
|
||||
mkdir $out
|
||||
bootDiskImage=boot.raw
|
||||
qemu-img create -f raw $bootDiskImage ${toString bootSize}M
|
||||
|
||||
rootDiskImage=root.raw
|
||||
qemu-img create -f raw $rootDiskImage ${toString rootSize}M
|
||||
'';
|
||||
|
||||
postVM = ''
|
||||
${if formatOpt == "raw" then ''
|
||||
mv $bootDiskImage $out/${bootFilename}
|
||||
mv $rootDiskImage $out/${rootFilename}
|
||||
'' else ''
|
||||
${pkgs.qemu}/bin/qemu-img convert -f raw -O ${formatOpt} ${compress} $bootDiskImage $out/${bootFilename}
|
||||
${pkgs.qemu}/bin/qemu-img convert -f raw -O ${formatOpt} ${compress} $rootDiskImage $out/${rootFilename}
|
||||
''}
|
||||
bootDiskImage=$out/${bootFilename}
|
||||
rootDiskImage=$out/${rootFilename}
|
||||
set -x
|
||||
${postVM}
|
||||
'';
|
||||
} ''
|
||||
export PATH=${tools}:$PATH
|
||||
set -x
|
||||
|
||||
cp -sv /dev/vda /dev/sda
|
||||
cp -sv /dev/vda /dev/xvda
|
||||
|
||||
parted --script /dev/vda -- \
|
||||
mklabel gpt \
|
||||
mkpart no-fs 1MiB 2MiB \
|
||||
set 1 bios_grub on \
|
||||
align-check optimal 1 \
|
||||
mkpart ESP fat32 2MiB -1MiB \
|
||||
align-check optimal 2 \
|
||||
print
|
||||
|
||||
sfdisk --dump /dev/vda
|
||||
|
||||
|
||||
zpool create \
|
||||
${stringifyProperties " -o" rootPoolProperties} \
|
||||
${stringifyProperties " -O" rootPoolFilesystemProperties} \
|
||||
${rootPoolName} /dev/vdb
|
||||
parted --script /dev/vdb -- print
|
||||
|
||||
${createDatasets}
|
||||
${mountDatasets}
|
||||
|
||||
mkdir -p /mnt/boot
|
||||
mkfs.vfat -n ESP /dev/vda2
|
||||
mount /dev/vda2 /mnt/boot
|
||||
|
||||
mount
|
||||
|
||||
# Install a configuration.nix
|
||||
mkdir -p /mnt/etc/nixos
|
||||
# `cat` so it is mutable on the fs
|
||||
cat ${mergedConfig} > /mnt/etc/nixos/configuration.nix
|
||||
|
||||
export NIX_STATE_DIR=$TMPDIR/state
|
||||
nix-store --load-db < ${closureInfo}/registration
|
||||
|
||||
nixos-install \
|
||||
--root /mnt \
|
||||
--no-root-passwd \
|
||||
--system ${config.system.build.toplevel} \
|
||||
--substituters "" \
|
||||
${lib.optionalString includeChannel ''--channel ${channelSources}''}
|
||||
|
||||
df -h
|
||||
|
||||
umount /mnt/boot
|
||||
${unmountDatasets}
|
||||
|
||||
zpool export ${rootPoolName}
|
||||
''
|
||||
);
|
||||
in
|
||||
image
|
12
nixos/maintainers/scripts/ec2/amazon-image-zfs.nix
Normal file
12
nixos/maintainers/scripts/ec2/amazon-image-zfs.nix
Normal file
@ -0,0 +1,12 @@
|
||||
{
|
||||
imports = [ ./amazon-image.nix ];
|
||||
ec2.zfs = {
|
||||
enable = true;
|
||||
datasets = {
|
||||
"tank/system/root".mount = "/";
|
||||
"tank/system/var".mount = "/var";
|
||||
"tank/local/nix".mount = "/nix";
|
||||
"tank/user/home".mount = "/home";
|
||||
};
|
||||
};
|
||||
}
|
@ -4,6 +4,7 @@ with lib;
|
||||
|
||||
let
|
||||
cfg = config.amazonImage;
|
||||
|
||||
in {
|
||||
|
||||
imports = [ ../../../modules/virtualisation/amazon-image.nix ];
|
||||
@ -53,15 +54,7 @@ in {
|
||||
};
|
||||
};
|
||||
|
||||
config.system.build.amazonImage = import ../../../lib/make-disk-image.nix {
|
||||
inherit lib config;
|
||||
inherit (cfg) contents format name;
|
||||
pkgs = import ../../../.. { inherit (pkgs) system; }; # ensure we use the regular qemu-kvm package
|
||||
partitionTableType = if config.ec2.efi then "efi"
|
||||
else if config.ec2.hvm then "legacy+gpt"
|
||||
else "none";
|
||||
diskSize = cfg.sizeMB;
|
||||
fsType = "ext4";
|
||||
config.system.build.amazonImage = let
|
||||
configFile = pkgs.writeText "configuration.nix"
|
||||
''
|
||||
{ modulesPath, ... }: {
|
||||
@ -72,24 +65,96 @@ in {
|
||||
${optionalString config.ec2.efi ''
|
||||
ec2.efi = true;
|
||||
''}
|
||||
${optionalString config.ec2.zfs.enable ''
|
||||
ec2.zfs.enable = true;
|
||||
networking.hostId = "${config.networking.hostId}";
|
||||
''}
|
||||
}
|
||||
'';
|
||||
postVM = ''
|
||||
extension=''${diskImage##*.}
|
||||
friendlyName=$out/${cfg.name}.$extension
|
||||
mv "$diskImage" "$friendlyName"
|
||||
diskImage=$friendlyName
|
||||
|
||||
mkdir -p $out/nix-support
|
||||
echo "file ${cfg.format} $diskImage" >> $out/nix-support/hydra-build-products
|
||||
zfsBuilder = import ../../../lib/make-zfs-image.nix {
|
||||
inherit lib config configFile;
|
||||
inherit (cfg) contents format name;
|
||||
pkgs = import ../../../.. { inherit (pkgs) system; }; # ensure we use the regular qemu-kvm package
|
||||
|
||||
${pkgs.jq}/bin/jq -n \
|
||||
--arg label ${lib.escapeShellArg config.system.nixos.label} \
|
||||
--arg system ${lib.escapeShellArg pkgs.stdenv.hostPlatform.system} \
|
||||
--arg logical_bytes "$(${pkgs.qemu}/bin/qemu-img info --output json "$diskImage" | ${pkgs.jq}/bin/jq '."virtual-size"')" \
|
||||
--arg file "$diskImage" \
|
||||
'$ARGS.named' \
|
||||
> $out/nix-support/image-info.json
|
||||
'';
|
||||
};
|
||||
includeChannel = true;
|
||||
|
||||
bootSize = 1000; # 1G is the minimum EBS volume
|
||||
|
||||
rootSize = cfg.sizeMB;
|
||||
rootPoolProperties = {
|
||||
ashift = 12;
|
||||
autoexpand = "on";
|
||||
};
|
||||
|
||||
datasets = config.ec2.zfs.datasets;
|
||||
|
||||
postVM = ''
|
||||
extension=''${rootDiskImage##*.}
|
||||
friendlyName=$out/${cfg.name}
|
||||
rootDisk="$friendlyName.root.$extension"
|
||||
bootDisk="$friendlyName.boot.$extension"
|
||||
mv "$rootDiskImage" "$rootDisk"
|
||||
mv "$bootDiskImage" "$bootDisk"
|
||||
|
||||
mkdir -p $out/nix-support
|
||||
echo "file ${cfg.format} $bootDisk" >> $out/nix-support/hydra-build-products
|
||||
echo "file ${cfg.format} $rootDisk" >> $out/nix-support/hydra-build-products
|
||||
|
||||
${pkgs.jq}/bin/jq -n \
|
||||
--arg system_label ${lib.escapeShellArg config.system.nixos.label} \
|
||||
--arg system ${lib.escapeShellArg pkgs.stdenv.hostPlatform.system} \
|
||||
--arg root_logical_bytes "$(${pkgs.qemu}/bin/qemu-img info --output json "$bootDisk" | ${pkgs.jq}/bin/jq '."virtual-size"')" \
|
||||
--arg boot_logical_bytes "$(${pkgs.qemu}/bin/qemu-img info --output json "$rootDisk" | ${pkgs.jq}/bin/jq '."virtual-size"')" \
|
||||
--arg root "$rootDisk" \
|
||||
--arg boot "$bootDisk" \
|
||||
'{}
|
||||
| .label = $system_label
|
||||
| .system = $system
|
||||
| .disks.boot.logical_bytes = $boot_logical_bytes
|
||||
| .disks.boot.file = $boot
|
||||
| .disks.root.logical_bytes = $root_logical_bytes
|
||||
| .disks.root.file = $root
|
||||
' > $out/nix-support/image-info.json
|
||||
'';
|
||||
};
|
||||
|
||||
extBuilder = import ../../../lib/make-disk-image.nix {
|
||||
inherit lib config configFile;
|
||||
|
||||
inherit (cfg) contents format name;
|
||||
pkgs = import ../../../.. { inherit (pkgs) system; }; # ensure we use the regular qemu-kvm package
|
||||
|
||||
fsType = "ext4";
|
||||
partitionTableType = if config.ec2.efi then "efi"
|
||||
else if config.ec2.hvm then "legacy+gpt"
|
||||
else "none";
|
||||
|
||||
diskSize = cfg.sizeMB;
|
||||
|
||||
postVM = ''
|
||||
extension=''${diskImage##*.}
|
||||
friendlyName=$out/${cfg.name}.$extension
|
||||
mv "$diskImage" "$friendlyName"
|
||||
diskImage=$friendlyName
|
||||
|
||||
mkdir -p $out/nix-support
|
||||
echo "file ${cfg.format} $diskImage" >> $out/nix-support/hydra-build-products
|
||||
|
||||
${pkgs.jq}/bin/jq -n \
|
||||
--arg system_label ${lib.escapeShellArg config.system.nixos.label} \
|
||||
--arg system ${lib.escapeShellArg pkgs.stdenv.hostPlatform.system} \
|
||||
--arg logical_bytes "$(${pkgs.qemu}/bin/qemu-img info --output json "$diskImage" | ${pkgs.jq}/bin/jq '."virtual-size"')" \
|
||||
--arg file "$diskImage" \
|
||||
'{}
|
||||
| .label = $system_label
|
||||
| .system = $system
|
||||
| .logical_bytes = $logical_bytes
|
||||
| .file = $file
|
||||
| .disks.root.logical_bytes = $logical_bytes
|
||||
| .disks.root.file = $file
|
||||
' > $out/nix-support/image-info.json
|
||||
'';
|
||||
};
|
||||
in if config.ec2.zfs.enable then zfsBuilder else extBuilder;
|
||||
}
|
||||
|
@ -460,6 +460,7 @@
|
||||
./services/mail/opensmtpd.nix
|
||||
./services/mail/pfix-srsd.nix
|
||||
./services/mail/postfix.nix
|
||||
./services/mail/postfixadmin.nix
|
||||
./services/mail/postsrsd.nix
|
||||
./services/mail/postgrey.nix
|
||||
./services/mail/spamassassin.nix
|
||||
@ -1036,6 +1037,7 @@
|
||||
./services/x11/display-managers/sddm.nix
|
||||
./services/x11/display-managers/slim.nix
|
||||
./services/x11/display-managers/startx.nix
|
||||
./services/x11/display-managers/sx.nix
|
||||
./services/x11/display-managers/xpra.nix
|
||||
./services/x11/fractalart.nix
|
||||
./services/x11/hardware/libinput.nix
|
||||
|
@ -98,6 +98,14 @@ in
|
||||
'';
|
||||
default = [ ];
|
||||
};
|
||||
|
||||
package = mkOption {
|
||||
type = types.package;
|
||||
description = ''
|
||||
Which github-runner derivation to use.
|
||||
'';
|
||||
default = pkgs.github-runner;
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
@ -131,7 +139,7 @@ in
|
||||
] ++ cfg.extraPackages;
|
||||
|
||||
serviceConfig = rec {
|
||||
ExecStart = "${pkgs.github-runner}/bin/runsvc.sh";
|
||||
ExecStart = "${cfg.package}/bin/runsvc.sh";
|
||||
|
||||
# Does the following, sequentially:
|
||||
# - Copy the current and the previous `tokenFile` to the $RUNTIME_DIRECTORY
|
||||
@ -208,7 +216,7 @@ in
|
||||
if [[ -z "$empty" ]]; then
|
||||
echo "Configuring GitHub Actions Runner"
|
||||
token=$(< "$RUNTIME_DIRECTORY"/${newConfigTokenFilename})
|
||||
RUNNER_ROOT="$STATE_DIRECTORY" ${pkgs.github-runner}/bin/config.sh \
|
||||
RUNNER_ROOT="$STATE_DIRECTORY" ${cfg.package}/bin/config.sh \
|
||||
--unattended \
|
||||
--work "$RUNTIME_DIRECTORY" \
|
||||
--url ${escapeShellArg cfg.url} \
|
||||
|
199
nixos/modules/services/mail/postfixadmin.nix
Normal file
199
nixos/modules/services/mail/postfixadmin.nix
Normal file
@ -0,0 +1,199 @@
|
||||
{ lib, config, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.services.postfixadmin;
|
||||
fpm = config.services.phpfpm.pools.postfixadmin;
|
||||
localDB = cfg.database.host == "localhost";
|
||||
user = if localDB then cfg.database.username else "nginx";
|
||||
in
|
||||
{
|
||||
options.services.postfixadmin = {
|
||||
enable = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = ''
|
||||
Whether to enable postfixadmin.
|
||||
|
||||
Also enables nginx virtual host management.
|
||||
Further nginx configuration can be done by adapting <literal>services.nginx.virtualHosts.<name></literal>.
|
||||
See <xref linkend="opt-services.nginx.virtualHosts"/> for further information.
|
||||
'';
|
||||
};
|
||||
|
||||
hostName = mkOption {
|
||||
type = types.str;
|
||||
example = "postfixadmin.example.com";
|
||||
description = "Hostname to use for the nginx vhost";
|
||||
};
|
||||
|
||||
adminEmail = mkOption {
|
||||
type = types.str;
|
||||
example = "postmaster@example.com";
|
||||
description = ''
|
||||
Defines the Site Admin's email address.
|
||||
This will be used to send emails from to create mailboxes and
|
||||
from Send Email / Broadcast message pages.
|
||||
'';
|
||||
};
|
||||
|
||||
setupPasswordFile = mkOption {
|
||||
type = types.path;
|
||||
description = ''
|
||||
Password file for the admin.
|
||||
Generate with <literal>php -r "echo password_hash('some password here', PASSWORD_DEFAULT);"</literal>
|
||||
'';
|
||||
};
|
||||
|
||||
database = {
|
||||
username = mkOption {
|
||||
type = types.str;
|
||||
default = "postfixadmin";
|
||||
description = ''
|
||||
Username for the postgresql connection.
|
||||
If <literal>database.host</literal> is set to <literal>localhost</literal>, a unix user and group of the same name will be created as well.
|
||||
'';
|
||||
};
|
||||
host = mkOption {
|
||||
type = types.str;
|
||||
default = "localhost";
|
||||
description = ''
|
||||
Host of the postgresql server. If this is not set to
|
||||
<literal>localhost</literal>, you have to create the
|
||||
postgresql user and database yourself, with appropriate
|
||||
permissions.
|
||||
'';
|
||||
};
|
||||
passwordFile = mkOption {
|
||||
type = types.path;
|
||||
description = "Password file for the postgresql connection. Must be readable by user <literal>nginx</literal>.";
|
||||
};
|
||||
dbname = mkOption {
|
||||
type = types.str;
|
||||
default = "postfixadmin";
|
||||
description = "Name of the postgresql database";
|
||||
};
|
||||
};
|
||||
|
||||
extraConfig = mkOption {
|
||||
type = types.lines;
|
||||
default = "";
|
||||
description = "Extra configuration for the postfixadmin instance, see postfixadmin's config.inc.php for available options.";
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
environment.etc."postfixadmin/config.local.php".text = ''
|
||||
<?php
|
||||
|
||||
$CONF['setup_password'] = file_get_contents('${cfg.setupPasswordFile}');
|
||||
|
||||
$CONF['database_type'] = 'pgsql';
|
||||
$CONF['database_host'] = ${if localDB then "null" else "'${cfg.database.host}'"};
|
||||
${optionalString localDB "$CONF['database_user'] = '${cfg.database.username}';"}
|
||||
$CONF['database_password'] = ${if localDB then "'dummy'" else "file_get_contents('${cfg.database.passwordFile}')"};
|
||||
$CONF['database_name'] = '${cfg.database.dbname}';
|
||||
$CONF['configured'] = true;
|
||||
|
||||
${cfg.extraConfig}
|
||||
'';
|
||||
|
||||
systemd.tmpfiles.rules = [ "d /var/cache/postfixadmin/templates_c 700 ${user} ${user}" ];
|
||||
|
||||
services.nginx = {
|
||||
enable = true;
|
||||
virtualHosts = {
|
||||
${cfg.hostName} = {
|
||||
forceSSL = mkDefault true;
|
||||
enableACME = mkDefault true;
|
||||
locations."/" = {
|
||||
root = "${pkgs.postfixadmin}/public";
|
||||
index = "index.php";
|
||||
extraConfig = ''
|
||||
location ~* \.php$ {
|
||||
fastcgi_split_path_info ^(.+\.php)(/.+)$;
|
||||
fastcgi_pass unix:${fpm.socket};
|
||||
include ${pkgs.nginx}/conf/fastcgi_params;
|
||||
include ${pkgs.nginx}/conf/fastcgi.conf;
|
||||
}
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
services.postgresql = mkIf localDB {
|
||||
enable = true;
|
||||
ensureUsers = [ {
|
||||
name = cfg.database.username;
|
||||
} ];
|
||||
};
|
||||
# The postgresql module doesn't currently support concepts like
|
||||
# objects owners and extensions; for now we tack on what's needed
|
||||
# here.
|
||||
systemd.services.postfixadmin-postgres = let pgsql = config.services.postgresql; in mkIf localDB {
|
||||
after = [ "postgresql.service" ];
|
||||
bindsTo = [ "postgresql.service" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
path = [
|
||||
pgsql.package
|
||||
pkgs.util-linux
|
||||
];
|
||||
script = ''
|
||||
set -eu
|
||||
|
||||
PSQL() {
|
||||
psql --port=${toString pgsql.port} "$@"
|
||||
}
|
||||
|
||||
PSQL -tAc "SELECT 1 FROM pg_database WHERE datname = '${cfg.database.dbname}'" | grep -q 1 || PSQL -tAc 'CREATE DATABASE "${cfg.database.dbname}" OWNER "${cfg.database.username}"'
|
||||
current_owner=$(PSQL -tAc "SELECT pg_catalog.pg_get_userbyid(datdba) FROM pg_catalog.pg_database WHERE datname = '${cfg.database.dbname}'")
|
||||
if [[ "$current_owner" != "${cfg.database.username}" ]]; then
|
||||
PSQL -tAc 'ALTER DATABASE "${cfg.database.dbname}" OWNER TO "${cfg.database.username}"'
|
||||
if [[ -e "${config.services.postgresql.dataDir}/.reassigning_${cfg.database.dbname}" ]]; then
|
||||
echo "Reassigning ownership of database ${cfg.database.dbname} to user ${cfg.database.username} failed on last boot. Failing..."
|
||||
exit 1
|
||||
fi
|
||||
touch "${config.services.postgresql.dataDir}/.reassigning_${cfg.database.dbname}"
|
||||
PSQL "${cfg.database.dbname}" -tAc "REASSIGN OWNED BY \"$current_owner\" TO \"${cfg.database.username}\""
|
||||
rm "${config.services.postgresql.dataDir}/.reassigning_${cfg.database.dbname}"
|
||||
fi
|
||||
'';
|
||||
|
||||
serviceConfig = {
|
||||
User = pgsql.superUser;
|
||||
Type = "oneshot";
|
||||
RemainAfterExit = true;
|
||||
};
|
||||
};
|
||||
|
||||
users.users.${user} = mkIf localDB {
|
||||
group = user;
|
||||
isSystemUser = true;
|
||||
createHome = false;
|
||||
};
|
||||
users.groups.${user} = mkIf localDB {};
|
||||
|
||||
services.phpfpm.pools.postfixadmin = {
|
||||
user = user;
|
||||
phpPackage = pkgs.php74;
|
||||
phpOptions = ''
|
||||
error_log = 'stderr'
|
||||
log_errors = on
|
||||
'';
|
||||
settings = mapAttrs (name: mkDefault) {
|
||||
"listen.owner" = "nginx";
|
||||
"listen.group" = "nginx";
|
||||
"listen.mode" = "0660";
|
||||
"pm" = "dynamic";
|
||||
"pm.max_children" = 75;
|
||||
"pm.start_servers" = 2;
|
||||
"pm.min_spare_servers" = 1;
|
||||
"pm.max_spare_servers" = 20;
|
||||
"pm.max_requests" = 500;
|
||||
"catch_workers_output" = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
@ -285,6 +285,7 @@ in {
|
||||
"alarmdecoder"
|
||||
"arduino"
|
||||
"blackbird"
|
||||
"deconz"
|
||||
"dsmr"
|
||||
"edl21"
|
||||
"elkm1"
|
||||
|
@ -122,6 +122,9 @@ in
|
||||
ExecStart = "${pluginsEnv}/bin/octoprint serve -b ${cfg.stateDir}";
|
||||
User = cfg.user;
|
||||
Group = cfg.group;
|
||||
SupplementaryGroups = [
|
||||
"dialout"
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -29,6 +29,7 @@ let
|
||||
"-/etc/nsswitch.conf"
|
||||
"-/etc/hosts"
|
||||
"-/etc/localtime"
|
||||
"-/run/postgresql"
|
||||
];
|
||||
BindPaths = [
|
||||
cfg.consumptionDir
|
||||
@ -60,7 +61,7 @@ let
|
||||
ProtectKernelModules = true;
|
||||
ProtectKernelTunables = true;
|
||||
ProtectProc = "invisible";
|
||||
RestrictAddressFamilies = [ "AF_INET" "AF_INET6" ];
|
||||
RestrictAddressFamilies = [ "AF_UNIX" "AF_INET" "AF_INET6" ];
|
||||
RestrictNamespaces = true;
|
||||
RestrictRealtime = true;
|
||||
RestrictSUIDSGID = true;
|
||||
|
37
nixos/modules/services/x11/display-managers/sx.nix
Normal file
37
nixos/modules/services/x11/display-managers/sx.nix
Normal file
@ -0,0 +1,37 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let cfg = config.services.xserver.displayManager.sx;
|
||||
|
||||
in {
|
||||
options = {
|
||||
services.xserver.displayManager.sx = {
|
||||
enable = mkEnableOption "sx pseudo-display manager" // {
|
||||
description = ''
|
||||
Whether to enable the "sx" pseudo-display manager, which allows users
|
||||
to start manually via the "sx" command from a vt shell. The X server
|
||||
runs under the user's id, not as root. The user must provide a
|
||||
~/.config/sx/sxrc file containing session startup commands, see
|
||||
sx(1). This is not automatically generated from the desktopManager
|
||||
and windowManager settings. sx doesn't have a way to directly set
|
||||
X server flags, but it can be done by overriding its xorgserver
|
||||
dependency.
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
environment.systemPackages = [ pkgs.sx ];
|
||||
services.xserver = {
|
||||
exportConfiguration = true;
|
||||
displayManager = {
|
||||
job.execCmd = "";
|
||||
lightdm.enable = mkForce false;
|
||||
};
|
||||
logFile = mkDefault null;
|
||||
};
|
||||
systemd.services.display-manager.enable = false;
|
||||
};
|
||||
}
|
@ -4,8 +4,10 @@ with lib;
|
||||
|
||||
{
|
||||
config = mkIf (any (fs: fs == "exfat") config.boot.supportedFilesystems) {
|
||||
|
||||
system.fsPackages = [ pkgs.exfat ];
|
||||
|
||||
system.fsPackages = if config.boot.kernelPackages.kernelOlder "5.7" then [
|
||||
pkgs.exfat # FUSE
|
||||
] else [
|
||||
pkgs.exfatprogs # non-FUSE
|
||||
];
|
||||
};
|
||||
}
|
||||
|
@ -8,6 +8,7 @@ with lib;
|
||||
let
|
||||
|
||||
cfgZfs = config.boot.zfs;
|
||||
cfgExpandOnBoot = config.services.zfs.expandOnBoot;
|
||||
cfgSnapshots = config.services.zfs.autoSnapshot;
|
||||
cfgSnapFlags = cfgSnapshots.flags;
|
||||
cfgScrub = config.services.zfs.autoScrub;
|
||||
@ -200,7 +201,6 @@ in
|
||||
an interactive prompt (keylocation=prompt) and from a file (keylocation=file://).
|
||||
'';
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
services.zfs.autoSnapshot = {
|
||||
@ -327,6 +327,23 @@ in
|
||||
};
|
||||
};
|
||||
|
||||
services.zfs.expandOnBoot = mkOption {
|
||||
type = types.either (types.enum [ "disabled" "all" ]) (types.listOf types.str);
|
||||
default = "disabled";
|
||||
example = [ "tank" "dozer" ];
|
||||
description = ''
|
||||
After importing, expand each device in the specified pools.
|
||||
|
||||
Set the value to the plain string "all" to expand all pools on boot:
|
||||
|
||||
services.zfs.expandOnBoot = "all";
|
||||
|
||||
or set the value to a list of pools to expand the disks of specific pools:
|
||||
|
||||
services.zfs.expandOnBoot = [ "tank" "dozer" ];
|
||||
'';
|
||||
};
|
||||
|
||||
services.zfs.zed = {
|
||||
enableMail = mkEnableOption "ZED's ability to send emails" // {
|
||||
default = cfgZfs.package.enableMail;
|
||||
@ -586,6 +603,7 @@ in
|
||||
${cfgZfs.package}/sbin/zfs set nixos:shutdown-time="$(date)" "${pool}"
|
||||
'';
|
||||
};
|
||||
|
||||
createZfsService = serv:
|
||||
nameValuePair serv {
|
||||
after = [ "systemd-modules-load.service" ];
|
||||
@ -609,6 +627,86 @@ in
|
||||
systemd.targets.zfs.wantedBy = [ "multi-user.target" ];
|
||||
})
|
||||
|
||||
(mkIf (cfgZfs.enabled && cfgExpandOnBoot != "disabled") {
|
||||
systemd.services."zpool-expand@" = {
|
||||
description = "Expand ZFS pools";
|
||||
after = [ "zfs.target" ];
|
||||
|
||||
serviceConfig = {
|
||||
Type = "oneshot";
|
||||
RemainAfterExit = true;
|
||||
};
|
||||
|
||||
scriptArgs = "%i";
|
||||
path = [ pkgs.gawk cfgZfs.package ];
|
||||
|
||||
# ZFS has no way of enumerating just devices in a pool in a way
|
||||
# that 'zpool online -e' supports. Thus, we've implemented a
|
||||
# bit of a strange approach of highlighting just devices.
|
||||
# See: https://github.com/openzfs/zfs/issues/12505
|
||||
script = let
|
||||
# This UUID has been chosen at random and is to provide a
|
||||
# collision-proof, predictable token to search for
|
||||
magicIdentifier = "NIXOS-ZFS-ZPOOL-DEVICE-IDENTIFIER-37108bec-aff6-4b58-9e5e-53c7c9766f05";
|
||||
zpoolScripts = pkgs.writeShellScriptBin "device-highlighter" ''
|
||||
echo "${magicIdentifier}"
|
||||
'';
|
||||
in ''
|
||||
pool=$1
|
||||
|
||||
echo "Expanding all devices for $pool."
|
||||
|
||||
# Put our device-highlighter script it to the PATH
|
||||
export ZPOOL_SCRIPTS_PATH=${zpoolScripts}/bin
|
||||
|
||||
# Enable running our precisely specified zpool script as root
|
||||
export ZPOOL_SCRIPTS_AS_ROOT=1
|
||||
|
||||
devices() (
|
||||
zpool status -c device-highlighter "$pool" \
|
||||
| awk '($2 == "ONLINE" && $6 == "${magicIdentifier}") { print $1; }'
|
||||
)
|
||||
|
||||
for device in $(devices); do
|
||||
echo "Attempting to expand $device of $pool..."
|
||||
if ! zpool online -e "$pool" "$device"; then
|
||||
echo "Failed to expand '$device' of '$pool'."
|
||||
fi
|
||||
done
|
||||
'';
|
||||
};
|
||||
|
||||
systemd.services."zpool-expand-pools" =
|
||||
let
|
||||
# Create a string, to be interpolated in a bash script
|
||||
# which enumerates all of the pools to expand.
|
||||
# If the `pools` option is `true`, we want to dynamically
|
||||
# expand every pool. Otherwise we want to enumerate
|
||||
# just the specifically provided list of pools.
|
||||
poolListProvider = if cfgExpandOnBoot == "all"
|
||||
then "$(zpool list -H | awk '{print $1}')"
|
||||
else lib.escapeShellArgs cfgExpandOnBoot;
|
||||
in
|
||||
{
|
||||
description = "Expand specified ZFS pools";
|
||||
wantedBy = [ "default.target" ];
|
||||
after = [ "zfs.target" ];
|
||||
|
||||
serviceConfig = {
|
||||
Type = "oneshot";
|
||||
RemainAfterExit = true;
|
||||
};
|
||||
|
||||
path = [ pkgs.gawk cfgZfs.package ];
|
||||
|
||||
script = ''
|
||||
for pool in ${poolListProvider}; do
|
||||
systemctl start --no-block "zpool-expand@$pool"
|
||||
done
|
||||
'';
|
||||
};
|
||||
})
|
||||
|
||||
(mkIf (cfgZfs.enabled && cfgSnapshots.enable) {
|
||||
systemd.services = let
|
||||
descr = name: if name == "frequent" then "15 mins"
|
||||
|
@ -41,17 +41,23 @@ in
|
||||
|
||||
boot.growPartition = cfg.hvm;
|
||||
|
||||
fileSystems."/" = {
|
||||
fileSystems."/" = mkIf (!cfg.zfs.enable) {
|
||||
device = "/dev/disk/by-label/nixos";
|
||||
fsType = "ext4";
|
||||
autoResize = true;
|
||||
};
|
||||
|
||||
fileSystems."/boot" = mkIf cfg.efi {
|
||||
fileSystems."/boot" = mkIf (cfg.efi || cfg.zfs.enable) {
|
||||
# The ZFS image uses a partition labeled ESP whether or not we're
|
||||
# booting with EFI.
|
||||
device = "/dev/disk/by-label/ESP";
|
||||
fsType = "vfat";
|
||||
};
|
||||
|
||||
services.zfs.expandOnBoot = mkIf cfg.zfs.enable "all";
|
||||
|
||||
boot.zfs.devNodes = mkIf cfg.zfs.enable "/dev/";
|
||||
|
||||
boot.extraModulePackages = [
|
||||
config.boot.kernelPackages.ena
|
||||
];
|
||||
|
@ -1,7 +1,46 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
{
|
||||
let
|
||||
inherit (lib) types;
|
||||
in {
|
||||
options = {
|
||||
ec2 = {
|
||||
zfs = {
|
||||
enable = lib.mkOption {
|
||||
default = false;
|
||||
internal = true;
|
||||
description = ''
|
||||
Whether the EC2 instance uses a ZFS root.
|
||||
'';
|
||||
};
|
||||
|
||||
datasets = lib.mkOption {
|
||||
description = ''
|
||||
Datasets to create under the `tank` and `boot` zpools.
|
||||
|
||||
**NOTE:** This option is used only at image creation time, and
|
||||
does not attempt to declaratively create or manage datasets
|
||||
on an existing system.
|
||||
'';
|
||||
|
||||
default = {};
|
||||
|
||||
type = types.attrsOf (types.submodule {
|
||||
options = {
|
||||
mount = lib.mkOption {
|
||||
description = "Where to mount this dataset.";
|
||||
type = types.nullOr types.string;
|
||||
default = null;
|
||||
};
|
||||
|
||||
properties = lib.mkOption {
|
||||
description = "Properties to set on this dataset.";
|
||||
type = types.attrsOf types.string;
|
||||
default = {};
|
||||
};
|
||||
};
|
||||
});
|
||||
};
|
||||
};
|
||||
hvm = lib.mkOption {
|
||||
default = lib.versionAtLeast config.system.stateVersion "17.03";
|
||||
internal = true;
|
||||
@ -18,4 +57,17 @@
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf config.ec2.zfs.enable {
|
||||
networking.hostId = lib.mkDefault "00000000";
|
||||
|
||||
fileSystems = let
|
||||
mountable = lib.filterAttrs (_: value: ((value.mount or null) != null)) config.ec2.zfs.datasets;
|
||||
in lib.mapAttrs'
|
||||
(dataset: opts: lib.nameValuePair opts.mount {
|
||||
device = dataset;
|
||||
fsType = "zfs";
|
||||
})
|
||||
mountable;
|
||||
};
|
||||
}
|
||||
|
@ -217,6 +217,20 @@ in rec {
|
||||
}).config.system.build.amazonImage)
|
||||
|
||||
);
|
||||
amazonImageZfs = forMatchingSystems [ "x86_64-linux" "aarch64-linux" ] (system:
|
||||
|
||||
with import ./.. { inherit system; };
|
||||
|
||||
hydraJob ((import lib/eval-config.nix {
|
||||
inherit system;
|
||||
modules =
|
||||
[ configuration
|
||||
versionModule
|
||||
./maintainers/scripts/ec2/amazon-image-zfs.nix
|
||||
];
|
||||
}).config.system.build.amazonImage)
|
||||
|
||||
);
|
||||
|
||||
|
||||
# Test job for https://github.com/NixOS/nixpkgs/issues/121354 to test
|
||||
|
@ -356,6 +356,7 @@ in
|
||||
pomerium = handleTestOn ["x86_64-linux"] ./pomerium.nix {};
|
||||
postfix = handleTest ./postfix.nix {};
|
||||
postfix-raise-smtpd-tls-security-level = handleTest ./postfix-raise-smtpd-tls-security-level.nix {};
|
||||
postfixadmin = handleTest ./postfixadmin.nix {};
|
||||
postgis = handleTest ./postgis.nix {};
|
||||
postgresql = handleTest ./postgresql.nix {};
|
||||
postgresql-wal-receiver = handleTest ./postgresql-wal-receiver.nix {};
|
||||
|
@ -6,10 +6,10 @@
|
||||
with pkgs.lib;
|
||||
|
||||
let
|
||||
makeKernelTest = version: linuxPackages: (import ./make-test-python.nix ({ pkgs, ... }: {
|
||||
name = "kernel-${version}";
|
||||
testsForLinuxPackages = linuxPackages: (import ./make-test-python.nix ({ pkgs, ... }: {
|
||||
name = "kernel-${linuxPackages.kernel.version}";
|
||||
meta = with pkgs.lib.maintainers; {
|
||||
maintainers = [ nequissimus ];
|
||||
maintainers = [ nequissimus atemu ];
|
||||
};
|
||||
|
||||
machine = { ... }:
|
||||
@ -23,22 +23,26 @@ let
|
||||
assert "${linuxPackages.kernel.modDirVersion}" in machine.succeed("uname -a")
|
||||
'';
|
||||
}) args);
|
||||
kernels = {
|
||||
inherit (pkgs)
|
||||
linuxPackages_4_4
|
||||
linuxPackages_4_9
|
||||
linuxPackages_4_14
|
||||
linuxPackages_4_19
|
||||
linuxPackages_5_4
|
||||
linuxPackages_5_10
|
||||
linuxPackages_5_13
|
||||
|
||||
packages = pkgs.linuxKernel.packages;
|
||||
in
|
||||
with pkgs; {
|
||||
linux_4_4 = makeKernelTest "4.4" packages.linux_4_4;
|
||||
linux_4_9 = makeKernelTest "4.9" packages.linux_4_9;
|
||||
linux_4_14 = makeKernelTest "4.14" packages.linux_4_14;
|
||||
linux_4_19 = makeKernelTest "4.19" packages.linux_4_19;
|
||||
linux_5_4 = makeKernelTest "5.4" packages.linux_5_4;
|
||||
linux_5_10 = makeKernelTest "5.10" packages.linux_5_10;
|
||||
linux_5_13 = makeKernelTest "5.13" packages.linux_5_13;
|
||||
linuxPackages_4_14_hardened
|
||||
linuxPackages_4_19_hardened
|
||||
linuxPackages_5_4_hardened
|
||||
linuxPackages_5_10_hardened
|
||||
|
||||
linux_hardened_4_14 = makeKernelTest "4.14" packages.linux_4_14_hardened;
|
||||
linux_hardened_4_19 = makeKernelTest "4.19" packages.linux_4_19_hardened;
|
||||
linux_hardened_5_4 = makeKernelTest "5.4" packages.linux_5_4_hardened;
|
||||
linux_hardened_5_10 = makeKernelTest "5.10" packages.linux_5_10_hardened;
|
||||
linuxPackages_testing;
|
||||
};
|
||||
|
||||
linux_testing = makeKernelTest "testing" linuxPackages_testing;
|
||||
in mapAttrs (_: lP: testsForLinuxPackages lP) kernels // {
|
||||
inherit testsForLinuxPackages;
|
||||
|
||||
testsForKernel = kernel: testsForLinuxPackages (pkgs.linuxPackagesFor kernel);
|
||||
}
|
||||
|
@ -26,6 +26,13 @@ import ./make-test-python.nix ({ pkgs, ... } : let
|
||||
-days 365
|
||||
'';
|
||||
|
||||
|
||||
mailerCerts = import ./common/acme/server/snakeoil-certs.nix;
|
||||
mailerDomain = mailerCerts.domain;
|
||||
registrationSharedSecret = "unsecure123";
|
||||
testUser = "alice";
|
||||
testPassword = "alicealice";
|
||||
testEmail = "alice@example.com";
|
||||
in {
|
||||
|
||||
name = "matrix-synapse";
|
||||
@ -35,7 +42,10 @@ in {
|
||||
|
||||
nodes = {
|
||||
# Since 0.33.0, matrix-synapse doesn't allow underscores in server names
|
||||
serverpostgres = { pkgs, ... }: {
|
||||
serverpostgres = { pkgs, nodes, ... }: let
|
||||
mailserverIP = nodes.mailserver.config.networking.primaryIPAddress;
|
||||
in
|
||||
{
|
||||
services.matrix-synapse = {
|
||||
enable = true;
|
||||
database_type = "psycopg2";
|
||||
@ -44,6 +54,16 @@ in {
|
||||
database_args = {
|
||||
password = "synapse";
|
||||
};
|
||||
registration_shared_secret = registrationSharedSecret;
|
||||
public_baseurl = "https://example.com";
|
||||
extraConfig = ''
|
||||
email:
|
||||
smtp_host: "${mailerDomain}"
|
||||
smtp_port: 25
|
||||
require_transport_security: true
|
||||
notif_from: "matrix <matrix@${mailerDomain}>"
|
||||
app_name: "Matrix"
|
||||
'';
|
||||
};
|
||||
services.postgresql = {
|
||||
enable = true;
|
||||
@ -61,6 +81,85 @@ in {
|
||||
LC_CTYPE = "C";
|
||||
'';
|
||||
};
|
||||
|
||||
networking.extraHosts = ''
|
||||
${mailserverIP} ${mailerDomain}
|
||||
'';
|
||||
|
||||
security.pki.certificateFiles = [
|
||||
mailerCerts.ca.cert ca_pem
|
||||
];
|
||||
|
||||
environment.systemPackages = let
|
||||
sendTestMailStarttls = pkgs.writeScriptBin "send-testmail-starttls" ''
|
||||
#!${pkgs.python3.interpreter}
|
||||
import smtplib
|
||||
import ssl
|
||||
|
||||
ctx = ssl.create_default_context()
|
||||
|
||||
with smtplib.SMTP('${mailerDomain}') as smtp:
|
||||
smtp.ehlo()
|
||||
smtp.starttls(context=ctx)
|
||||
smtp.ehlo()
|
||||
smtp.sendmail('matrix@${mailerDomain}', '${testEmail}', 'Subject: Test STARTTLS\n\nTest data.')
|
||||
smtp.quit()
|
||||
'';
|
||||
|
||||
obtainTokenAndRegisterEmail = let
|
||||
# adding the email through the API is quite complicated as it involves more than one step and some
|
||||
# client-side calculation
|
||||
insertEmailForAlice = pkgs.writeText "alice-email.sql" ''
|
||||
INSERT INTO user_threepids (user_id, medium, address, validated_at, added_at) VALUES ('${testUser}@serverpostgres', 'email', '${testEmail}', '1629149927271', '1629149927270');
|
||||
'';
|
||||
in
|
||||
pkgs.writeScriptBin "obtain-token-and-register-email" ''
|
||||
#!${pkgs.runtimeShell}
|
||||
set -o errexit
|
||||
set -o pipefail
|
||||
set -o nounset
|
||||
su postgres -c "psql -d matrix-synapse -f ${insertEmailForAlice}"
|
||||
curl --fail -XPOST 'https://localhost:8448/_matrix/client/r0/account/password/email/requestToken' -d '{"email":"${testEmail}","client_secret":"foobar","send_attempt":1}' -v
|
||||
'';
|
||||
in [ sendTestMailStarttls pkgs.matrix-synapse obtainTokenAndRegisterEmail ];
|
||||
};
|
||||
|
||||
# test mail delivery
|
||||
mailserver = args: let
|
||||
in
|
||||
{
|
||||
security.pki.certificateFiles = [
|
||||
mailerCerts.ca.cert
|
||||
];
|
||||
|
||||
networking.firewall.enable = false;
|
||||
|
||||
services.postfix = {
|
||||
enable = true;
|
||||
hostname = "${mailerDomain}";
|
||||
# open relay for subnet
|
||||
networksStyle = "subnet";
|
||||
enableSubmission = true;
|
||||
tlsTrustedAuthorities = "${mailerCerts.ca.cert}";
|
||||
sslCert = "${mailerCerts.${mailerDomain}.cert}";
|
||||
sslKey = "${mailerCerts.${mailerDomain}.key}";
|
||||
|
||||
# blackhole transport
|
||||
transport = "example.com discard:silently";
|
||||
|
||||
config = {
|
||||
debug_peer_level = "10";
|
||||
smtpd_relay_restrictions = [
|
||||
"permit_mynetworks" "reject_unauth_destination"
|
||||
];
|
||||
|
||||
# disable obsolete protocols, something old versions of twisted are still using
|
||||
smtpd_tls_protocols = "TLSv1.3, TLSv1.2, !TLSv1.1, !TLSv1, !SSLv2, !SSLv3";
|
||||
smtp_tls_protocols = "TLSv1.3, TLSv1.2, !TLSv1.1, !TLSv1, !SSLv2, !SSLv3";
|
||||
smtpd_tls_mandatory_protocols = "TLSv1.3, TLSv1.2, !TLSv1.1, !TLSv1, !SSLv2, !SSLv3";
|
||||
smtp_tls_mandatory_protocols = "TLSv1.3, TLSv1.2, !TLSv1.1, !TLSv1, !SSLv2, !SSLv3";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
serversqlite = args: {
|
||||
@ -75,11 +174,15 @@ in {
|
||||
|
||||
testScript = ''
|
||||
start_all()
|
||||
mailserver.wait_for_unit("postfix.service")
|
||||
serverpostgres.succeed("send-testmail-starttls")
|
||||
serverpostgres.wait_for_unit("matrix-synapse.service")
|
||||
serverpostgres.wait_until_succeeds(
|
||||
"curl --fail -L --cacert ${ca_pem} https://localhost:8448/"
|
||||
)
|
||||
serverpostgres.require_unit_state("postgresql.service")
|
||||
serverpostgres.succeed("register_new_matrix_user -u ${testUser} -p ${testPassword} -a -k ${registrationSharedSecret} ")
|
||||
serverpostgres.succeed("obtain-token-and-register-email")
|
||||
serversqlite.wait_for_unit("matrix-synapse.service")
|
||||
serversqlite.wait_until_succeeds(
|
||||
"curl --fail -L --cacert ${ca_pem} https://localhost:8448/"
|
||||
|
31
nixos/tests/postfixadmin.nix
Normal file
31
nixos/tests/postfixadmin.nix
Normal file
@ -0,0 +1,31 @@
|
||||
import ./make-test-python.nix ({ pkgs, ...} : {
|
||||
name = "postfixadmin";
|
||||
meta = with pkgs.stdenv.lib.maintainers; {
|
||||
maintainers = [ globin ];
|
||||
};
|
||||
|
||||
nodes = {
|
||||
postfixadmin = { config, pkgs, ... }: {
|
||||
services.postfixadmin = {
|
||||
enable = true;
|
||||
hostName = "postfixadmin";
|
||||
setupPasswordFile = pkgs.writeText "insecure-test-setup-pw-file" "$2y$10$r0p63YCjd9rb9nHrV9UtVuFgGTmPDLKu.0UIJoQTkWCZZze2iuB1m";
|
||||
};
|
||||
services.nginx.virtualHosts.postfixadmin = {
|
||||
forceSSL = false;
|
||||
enableACME = false;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
postfixadmin.start
|
||||
postfixadmin.wait_for_unit("postgresql.service")
|
||||
postfixadmin.wait_for_unit("phpfpm-postfixadmin.service")
|
||||
postfixadmin.wait_for_unit("nginx.service")
|
||||
postfixadmin.succeed(
|
||||
"curl -sSfL http://postfixadmin/setup.php -X POST -F 'setup_password=not production'"
|
||||
)
|
||||
postfixadmin.succeed("curl -sSfL http://postfixadmin/ | grep 'Mail admins login here'")
|
||||
'';
|
||||
})
|
@ -15,13 +15,13 @@ assert withGtk3 -> gtk3 != null;
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "carla";
|
||||
version = "2.3.2";
|
||||
version = "2.4.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "falkTX";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-en3eQtRUd2schpIccnuD42+wTYOAG9zsD6yNRA73bKE=";
|
||||
sha256 = "sha256-WxhG9X6jVcu10bl5p0f61+SYZmJw4W7DYvezbpAlNjg=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -15,14 +15,14 @@
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "sublime-music";
|
||||
version = "0.11.12";
|
||||
version = "0.11.13";
|
||||
format = "pyproject";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "sublime-music";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-fcEdpht+xKJRTaD3gKoRdf6O2SAPlZHZ61Jy8bdTKjs=";
|
||||
sha256 = "sha256-NzbQtRcsRVppyuG1UuS3IidSnniUOavf5YoAf/kcZqw=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -24,6 +24,6 @@ stdenv.mkDerivation rec {
|
||||
description = "TUI display manager";
|
||||
license = licenses.wtfpl;
|
||||
homepage = "https://github.com/cylgom/ly";
|
||||
maintainers = [ maintainers.spacekookie ];
|
||||
maintainers = [ maintainers.vidister ];
|
||||
};
|
||||
}
|
||||
|
@ -9,8 +9,8 @@ let
|
||||
inherit buildFHSUserEnv;
|
||||
};
|
||||
stableVersion = {
|
||||
version = "2020.3.1.22"; # "Android Studio Arctic Fox (2020.3.1)"
|
||||
sha256Hash = "0xkjnhq1vvrglcbab90mx5xw1q82lkkvyp6y2ap5jypdfsc7pnsa";
|
||||
version = "2020.3.1.23"; # "Android Studio Arctic Fox (2020.3.1)"
|
||||
sha256Hash = "06xjdibb5lxiga3jg9akmvbazjwk11akyhy3g4pc562hcifsa5sk";
|
||||
};
|
||||
betaVersion = {
|
||||
version = "2020.3.1.21"; # "Android Studio Arctic Fox (2020.3.1) RC 1"
|
||||
|
@ -38,13 +38,13 @@ let
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "cudatext";
|
||||
version = "1.139.5";
|
||||
version = "1.142.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Alexey-T";
|
||||
repo = "CudaText";
|
||||
rev = version;
|
||||
sha256 = "sha256-oBdEPLnM08gC3FZNDi1uyGar2MP8EmFkWJhH+fr6gBA=";
|
||||
sha256 = "sha256-4kVi921dromMqiAuFjm2EOCDXCq4oT+ijko4/uT4LLs=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
@ -11,23 +11,23 @@
|
||||
},
|
||||
"ATFlatControls": {
|
||||
"owner": "Alexey-T",
|
||||
"rev": "2021.07.09",
|
||||
"sha256": "sha256-hVoHH29JLPy3qq73e5EV4bxERcizocO4RBgvqD+VhWo="
|
||||
"rev": "2021.07.22",
|
||||
"sha256": "sha256-sAF/klzPa8fCKKBtpj0h9B+zoGDvA80uL4u4VTikUaI="
|
||||
},
|
||||
"ATSynEdit": {
|
||||
"owner": "Alexey-T",
|
||||
"rev": "2021.07.29",
|
||||
"sha256": "sha256-XgkpadcTPeMu2B3XVX+9gHLZiAaLwNuHTCnZPtjakIk="
|
||||
"rev": "2021.08.20",
|
||||
"sha256": "sha256-cVl1HJHLsYTFKQ/Ov+rcP6UAwRJPp7rtmLlZC9S+Jek="
|
||||
},
|
||||
"ATSynEdit_Cmp": {
|
||||
"owner": "Alexey-T",
|
||||
"rev": "2021.07.20",
|
||||
"sha256": "sha256-yh9/2kHfg7swNzPe+7i+ON7MKhFrhxtGAT+pxL4GdVQ="
|
||||
"rev": "2021.08.20",
|
||||
"sha256": "sha256-PZtP/J4tJN2Egk/Bp/5DtHlV46yRjhcZL9xhDk6xjBk="
|
||||
},
|
||||
"EControl": {
|
||||
"owner": "Alexey-T",
|
||||
"rev": "2021.07.29",
|
||||
"sha256": "sha256-2Wc4udsSEM0Ngzt/bokuDHcR0imKyHgkeG3RCWu3nXw="
|
||||
"rev": "2021.08.12",
|
||||
"sha256": "sha256-Ht7jfFGlvb7khLD0OekuBvkU9ROyDiyUSe+lLI/Rm64="
|
||||
},
|
||||
"ATSynEdit_Ex": {
|
||||
"owner": "Alexey-T",
|
||||
@ -36,8 +36,8 @@
|
||||
},
|
||||
"Python-for-Lazarus": {
|
||||
"owner": "Alexey-T",
|
||||
"rev": "2021.04.16",
|
||||
"sha256": "sha256-HN3Lr3uDCyNk+8+J09ivyC0LZxQ6x6SaUH4swZJBFkM="
|
||||
"rev": "2021.07.27",
|
||||
"sha256": "sha256-izCyBNRLRCizSjR7v9RhcLrQ6+aQA4eejCHFUzJ0IpE="
|
||||
},
|
||||
"Emmet-Pascal": {
|
||||
"owner": "Alexey-T",
|
||||
|
@ -66,7 +66,7 @@ self: let
|
||||
# actually unpack source of ada-mode and wisi
|
||||
# which are both needed to compile the tools
|
||||
# we need at runtime
|
||||
phases = "unpackPhase " + old.phases; # not a list, interestingly…
|
||||
dontUnpack = false;
|
||||
srcs = [
|
||||
super.ada-mode.src
|
||||
# ada-mode needs a specific version of wisi, check NEWS or ada-mode's
|
||||
|
@ -1,36 +1,43 @@
|
||||
{ lib, stdenv
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, pkg-config
|
||||
, capstone
|
||||
, jansson
|
||||
, wxGTK30
|
||||
, darwin
|
||||
, lua5_3
|
||||
, wxGTK31
|
||||
, Carbon
|
||||
, Cocoa
|
||||
, IOKit
|
||||
, libicns
|
||||
, wxmac
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "rehex";
|
||||
version = "0.3.1";
|
||||
version = "0.3.91";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "solemnwarning";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "1yj9a63j7534mmz8cl1ifg2wmgkxmk6z75jd8lkmc2sfrjbick32";
|
||||
sha256 = "sha256-lemak/sGff346IOzOnMB4L4TkDRA/1L3KV3VNdWxIFA=";
|
||||
};
|
||||
|
||||
patchPhase = ''
|
||||
postPatch = ''
|
||||
substituteInPlace Makefile.osx --replace 'iconutil -c icns -o $@ $(ICONSET)' \
|
||||
'png2icns $@ $(ICONSET)/icon_16x16.png $(ICONSET)/icon_32x32.png $(ICONSET)/icon_128x128.png $(ICONSET)/icon_256x256.png $(ICONSET)/icon_512x512.png'
|
||||
'';
|
||||
|
||||
nativeBuildInputs = lib.optionals (stdenv.isDarwin) [ libicns ];
|
||||
nativeBuildInputs = [ pkg-config ]
|
||||
++ lib.optionals stdenv.isDarwin [ libicns ];
|
||||
|
||||
buildInputs = [ capstone jansson ]
|
||||
++ (lib.optionals (!stdenv.isDarwin) [ wxGTK30 ])
|
||||
++ (lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [ Carbon Cocoa IOKit wxmac ]));
|
||||
buildInputs = [ capstone jansson lua5_3 ]
|
||||
++ lib.optionals (!stdenv.isDarwin) [ wxGTK31 ]
|
||||
++ lib.optionals stdenv.isDarwin [ Carbon Cocoa IOKit wxmac ];
|
||||
|
||||
makeFlags = [ "prefix=$(out)" ] ++ (lib.optionals stdenv.isDarwin [ "-f Makefile.osx" ]);
|
||||
makeFlags = [ "prefix=$(out)" ]
|
||||
++ lib.optionals stdenv.isDarwin [ "-f Makefile.osx" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Reverse Engineers' Hex Editor";
|
||||
|
@ -24,7 +24,7 @@ let
|
||||
six
|
||||
];
|
||||
in mkDerivation rec {
|
||||
version = "3.16.9";
|
||||
version = "3.16.10";
|
||||
pname = "qgis";
|
||||
name = "${pname}-unwrapped-${version}";
|
||||
|
||||
@ -32,7 +32,7 @@ in mkDerivation rec {
|
||||
owner = "qgis";
|
||||
repo = "QGIS";
|
||||
rev = "final-${lib.replaceStrings [ "." ] [ "_" ] version}";
|
||||
sha256 = "sha256-Y9WVgKEMOSMaXxfC9EQ8yqBYEj4XNL7YdMp8vjV55d0=";
|
||||
sha256 = "sha256-/lsfyTDlkZNIVHg5qgZW7qfOyTC2+1r3ZbsnQmEdy30=";
|
||||
};
|
||||
|
||||
passthru = {
|
||||
|
@ -2,7 +2,8 @@
|
||||
, stdenv
|
||||
, lib
|
||||
, fetchFromGitHub
|
||||
, python3
|
||||
, python38
|
||||
, substituteAll
|
||||
, nix-update-script
|
||||
# To include additional plugins, pass them here as an overlay.
|
||||
, packageOverrides ? self: super: {}
|
||||
@ -20,18 +21,51 @@ let
|
||||
);
|
||||
};
|
||||
|
||||
py = python3.override {
|
||||
py = python38.override {
|
||||
self = py;
|
||||
packageOverrides = lib.foldr lib.composeExtensions (self: super: {}) (
|
||||
[
|
||||
# the following dependencies are non trivial to update since later versions introduce backwards incompatible
|
||||
# changes that might affect plugins, or due to other observed problems
|
||||
(mkOverride "click" "7.1.2" "d2b5255c7c6349bc1bd1e59e08cd12acbbd63ce649f2588755783aa94dfb6b1a")
|
||||
(mkOverride "flask-babel" "1.0.0" "0gmb165vkwv5v7dxsxa2i3zhafns0fh938m2zdcrv4d8z5l099yn")
|
||||
(mkOverride "rsa" "4.0" "1a836406405730121ae9823e19c6e806c62bbad73f890574fff50efa4122c487")
|
||||
(mkOverride "itsdangerous" "1.1.0" "321b033d07f2a4136d3ec762eac9f16a10ccd60f53c0c91af90217ace7ba1f19")
|
||||
(mkOverride "jinja2" "2.11.3" "a6d58433de0ae800347cab1fa3043cebbabe8baa9d29e668f1c768cb87a333c6")
|
||||
(mkOverride "markdown" "3.1.1" "2e50876bcdd74517e7b71f3e7a76102050edec255b3983403f1a63e7c8a41e7a")
|
||||
(mkOverride "markupsafe" "1.1.1" "29872e92839765e546828bb7754a68c418d927cd064fd4708fab9fe9c8bb116b")
|
||||
(mkOverride "sarge" "0.1.5.post0" "1c1ll7pys9vra5cfi8jxlgrgaql6c27l6inpy15aprgqhc4ck36s")
|
||||
(mkOverride "tornado" "5.1.1" "4e5158d97583502a7e2739951553cbd88a72076f152b4b11b64b9a10c4c49409")
|
||||
(mkOverride "unidecode" "0.04.21" "280a6ab88e1f2eb5af79edff450021a0d3f0448952847cd79677e55e58bad051")
|
||||
(mkOverride "sarge" "0.1.5.post0" "1c1ll7pys9vra5cfi8jxlgrgaql6c27l6inpy15aprgqhc4ck36s")
|
||||
|
||||
# Requires flask<2, cannot mkOverride because tests need to be disabled
|
||||
(
|
||||
self: super: {
|
||||
flask = super.flask.overridePythonAttrs (oldAttrs: rec {
|
||||
version = "1.1.2";
|
||||
src = oldAttrs.src.override {
|
||||
inherit version;
|
||||
sha256 = "4efa1ae2d7c9865af48986de8aeb8504bf32c7f3d6fdc9353d34b21f4b127060";
|
||||
};
|
||||
doCheck = false;
|
||||
});
|
||||
}
|
||||
)
|
||||
|
||||
# Requires werkezug<2, cannot mkOverride because tests need to be disabled
|
||||
(
|
||||
self: super: {
|
||||
werkzeug = super.werkzeug.overridePythonAttrs (oldAttrs: rec {
|
||||
version = "1.0.1";
|
||||
src = oldAttrs.src.override {
|
||||
inherit version;
|
||||
sha256 = "6c80b1e5ad3665290ea39320b91e1be1e0d5f60652b964a3070216de83d2e47c";
|
||||
};
|
||||
doCheck= false;
|
||||
});
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
|
||||
# Requires websocket-client <1.0, >=0.57. Cannot do mkOverride b/c differing underscore/hyphen in pypi source name
|
||||
(
|
||||
@ -78,13 +112,13 @@ let
|
||||
self: super: {
|
||||
octoprint-filecheck = self.buildPythonPackage rec {
|
||||
pname = "OctoPrint-FileCheck";
|
||||
version = "2020.08.07";
|
||||
version = "2021.2.23";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "OctoPrint";
|
||||
repo = "OctoPrint-FileCheck";
|
||||
rev = version;
|
||||
sha256 = "05ys05l5x7d2bkg3yqrga6m65v3g5fcnnzbfab7j9w2pzjdapx5b";
|
||||
sha256 = "sha256-e/QGEBa9+pjOdrZq3Zc6ifbSMClIyeTOi0Tji0YdVmI=";
|
||||
};
|
||||
doCheck = false;
|
||||
};
|
||||
@ -96,30 +130,50 @@ let
|
||||
self: super: {
|
||||
octoprint-firmwarecheck = self.buildPythonPackage rec {
|
||||
pname = "OctoPrint-FirmwareCheck";
|
||||
version = "2020.09.23";
|
||||
version = "2021.8.11";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "OctoPrint";
|
||||
repo = "OctoPrint-FirmwareCheck";
|
||||
rev = version;
|
||||
sha256 = "1l1ajhnsc39prgk59mp93h90dgl9gh660cci00z5b5gj2h6dv1d1";
|
||||
sha256 = "sha256-WzVjHgjF12iJ642AFaFd86GSU90XyPzKhi1CSreynW4=";
|
||||
};
|
||||
doCheck = false;
|
||||
};
|
||||
}
|
||||
)
|
||||
|
||||
(
|
||||
self: super: {
|
||||
octoprint-pisupport = self.buildPythonPackage rec {
|
||||
pname = "OctoPrint-PiSupport";
|
||||
version = "2021.8.2";
|
||||
format = "setuptools";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "OctoPrint";
|
||||
repo = "OctoPrint-PiSupport";
|
||||
rev = version;
|
||||
sha256 = "07akx61wadxhs0545pqa9gzjnaz9742bq710f8f4zs5x6sacjzbc";
|
||||
};
|
||||
|
||||
# requires octoprint itself during tests
|
||||
doCheck = false;
|
||||
};
|
||||
}
|
||||
)
|
||||
|
||||
(
|
||||
self: super: {
|
||||
octoprint = self.buildPythonPackage rec {
|
||||
pname = "OctoPrint";
|
||||
version = "1.5.3";
|
||||
version = "1.6.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "OctoPrint";
|
||||
repo = "OctoPrint";
|
||||
rev = version;
|
||||
sha256 = "sha256-ZL/P/YIHynPmP8ssZZUKZDJscBsSsCq3UtOHrTVLpec=";
|
||||
sha256 = "sha256-3b3k9h8H9Spf/P3/pXpCANnSGOgbUw/EWISJbrSoPBM=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = with super; [
|
||||
@ -136,6 +190,7 @@ let
|
||||
frozendict
|
||||
future
|
||||
itsdangerous
|
||||
immutabledict
|
||||
jinja2
|
||||
markdown
|
||||
markupsafe
|
||||
@ -143,7 +198,9 @@ let
|
||||
netifaces
|
||||
octoprint-filecheck
|
||||
octoprint-firmwarecheck
|
||||
octoprint-pisupport
|
||||
pkginfo
|
||||
pip
|
||||
psutil
|
||||
pylru
|
||||
pyserial
|
||||
@ -154,6 +211,7 @@ let
|
||||
sarge
|
||||
semantic-version
|
||||
sentry-sdk
|
||||
setuptools
|
||||
tornado
|
||||
unidecode
|
||||
watchdog
|
||||
@ -161,13 +219,29 @@ let
|
||||
werkzeug
|
||||
wrapt
|
||||
zeroconf
|
||||
zipstream-new
|
||||
] ++ lib.optionals stdenv.isDarwin [ py.pkgs.appdirs ];
|
||||
|
||||
checkInputs = with super; [ pytestCheckHook mock ddt ];
|
||||
|
||||
patches = [
|
||||
# substitute pip and let it find out, that it can't write anywhere
|
||||
(substituteAll {
|
||||
src = ./pip-path.patch;
|
||||
pip = "${super.pip}/bin/pip";
|
||||
})
|
||||
|
||||
# hardcore path to ffmpeg and hide related settings
|
||||
(substituteAll {
|
||||
src = ./ffmpeg-path.patch;
|
||||
ffmpeg = "${pkgs.ffmpeg}/bin/ffmpeg";
|
||||
})
|
||||
];
|
||||
|
||||
postPatch = let
|
||||
ignoreVersionConstraints = [
|
||||
"emoji"
|
||||
"immutabledict"
|
||||
"sentry-sdk"
|
||||
"watchdog"
|
||||
];
|
||||
|
41
pkgs/applications/misc/octoprint/ffmpeg-path.patch
Normal file
41
pkgs/applications/misc/octoprint/ffmpeg-path.patch
Normal file
@ -0,0 +1,41 @@
|
||||
diff --git a/src/octoprint/plugins/corewizard/templates/corewizard_webcam_wizard.jinja2 b/src/octoprint/plugins/corewizard/templates/corewizard_webcam_wizard.jinja2
|
||||
index 79342dcd7..6165a4119 100644
|
||||
--- a/src/octoprint/plugins/corewizard/templates/corewizard_webcam_wizard.jinja2
|
||||
+++ b/src/octoprint/plugins/corewizard/templates/corewizard_webcam_wizard.jinja2
|
||||
@@ -29,14 +29,3 @@
|
||||
{% include "snippets/settings/webcam/webcamStreamUrl.jinja2" %}
|
||||
{% include "snippets/settings/webcam/webcamSnapshotUrl.jinja2" %}
|
||||
</form>
|
||||
-
|
||||
-<h4>{{ _('Timelapse Recordings') }}</h4>
|
||||
-
|
||||
-{% trans %}<p>
|
||||
- To render the snapshots into timelapse recordings, OctoPrint also needs to
|
||||
- know the correct <strong>path to FFMPEG</strong>.
|
||||
-</p>{% endtrans %}
|
||||
-
|
||||
-<form class="form-horizontal" data-bind="with: settingsViewModel" onsubmit="return false;">
|
||||
- {% include "snippets/settings/webcam/ffmpegPath.jinja2" %}
|
||||
-</form>
|
||||
diff --git a/src/octoprint/server/api/settings.py b/src/octoprint/server/api/settings.py
|
||||
index c3e6cea10..ced2f8fa0 100644
|
||||
--- a/src/octoprint/server/api/settings.py
|
||||
+++ b/src/octoprint/server/api/settings.py
|
||||
@@ -130,7 +130,7 @@ def getSettings():
|
||||
"snapshotUrl": s.get(["webcam", "snapshot"]),
|
||||
"snapshotTimeout": s.getInt(["webcam", "snapshotTimeout"]),
|
||||
"snapshotSslValidation": s.getBoolean(["webcam", "snapshotSslValidation"]),
|
||||
- "ffmpegPath": s.get(["webcam", "ffmpeg"]),
|
||||
+ "ffmpegPath": "@ffmpeg@",
|
||||
"ffmpegCommandline": s.get(["webcam", "ffmpegCommandline"]),
|
||||
"bitrate": s.get(["webcam", "bitrate"]),
|
||||
"ffmpegThreads": s.get(["webcam", "ffmpegThreads"]),
|
||||
@@ -548,8 +548,6 @@ def _saveSettings(data):
|
||||
["webcam", "snapshotSslValidation"],
|
||||
data["webcam"]["snapshotSslValidation"],
|
||||
)
|
||||
- if "ffmpegPath" in data["webcam"]:
|
||||
- s.set(["webcam", "ffmpeg"], data["webcam"]["ffmpegPath"])
|
||||
if "ffmpegCommandline" in data["webcam"]:
|
||||
commandline = data["webcam"]["ffmpegCommandline"]
|
||||
if not all(
|
12
pkgs/applications/misc/octoprint/pip-path.patch
Normal file
12
pkgs/applications/misc/octoprint/pip-path.patch
Normal file
@ -0,0 +1,12 @@
|
||||
diff --git a/src/octoprint/util/pip.py b/src/octoprint/util/pip.py
|
||||
index 53500e5d5..39f76c1e5 100644
|
||||
--- a/src/octoprint/util/pip.py
|
||||
+++ b/src/octoprint/util/pip.py
|
||||
@@ -284,6 +284,7 @@ class PipCaller(CommandlineCaller):
|
||||
@classmethod
|
||||
def autodetect_pip(cls):
|
||||
commands = [
|
||||
+ ["@pip@"],
|
||||
[sys.executable, "-m", "pip"],
|
||||
[
|
||||
os.path.join(
|
@ -52,13 +52,13 @@ in {
|
||||
|
||||
bedlevelvisualizer = buildPlugin rec {
|
||||
pname = "BedLevelVisualizer";
|
||||
version = "0.1.15";
|
||||
version = "1.1.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jneilliii";
|
||||
repo = "OctoPrint-${pname}";
|
||||
rev = version;
|
||||
sha256 = "1bq39fnarnpk8phxfbpx6l4n9anf358z1cgid5r89nadmn2a0cny";
|
||||
sha256 = "sha256-SKrhtTGyDuvbDmUCXSx83Y+C83ZzVHA78TwMYwE6tcc=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = with super; [ numpy ];
|
||||
@ -73,13 +73,13 @@ in {
|
||||
|
||||
costestimation = buildPlugin rec {
|
||||
pname = "CostEstimation";
|
||||
version = "3.2.0";
|
||||
version = "3.3.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "OllisGit";
|
||||
repo = "OctoPrint-${pname}";
|
||||
rev = version;
|
||||
sha256 = "1j476jcw7gh8zqqdc5vddwv5wpjns7cd1hhpn7m9fxq3d5bi077w";
|
||||
sha256 = "sha256-d7miGMCNJD0siaZb6EnoMZCkKot7vnZjxNZX2TunJcs=";
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
@ -92,13 +92,13 @@ in {
|
||||
|
||||
curaenginelegacy = buildPlugin rec {
|
||||
pname = "CuraEngineLegacy";
|
||||
version = "1.1.1";
|
||||
version = "1.1.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "OctoPrint";
|
||||
repo = "OctoPrint-${pname}";
|
||||
rev = version;
|
||||
sha256 = "1a7pxlmj1a7blkv97sn1k390pbjcxx2860011pbjcdnli74zpvv5";
|
||||
sha256 = "sha256-54siSmzgPlnCRpkpZhXU9theNQ3hqL3j+Ip4Ie2w2vA=";
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
@ -130,13 +130,13 @@ in {
|
||||
|
||||
displaylayerprogress = buildPlugin rec {
|
||||
pname = "OctoPrint-DisplayLayerProgress";
|
||||
version = "1.24.0";
|
||||
version = "1.26.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "OllisGit";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "1lbivg3rcjzv8zqvp8n8gcaczxdm7gvd5ihjb6jq0fgf958lv59n";
|
||||
sha256 = "sha256-hhHc2SPixZCPJzCP8enMMWNYaYbNZAU0lNSx1B0d++4=";
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
@ -149,13 +149,13 @@ in {
|
||||
|
||||
gcodeeditor = buildPlugin rec {
|
||||
pname = "GcodeEditor";
|
||||
version = "0.2.9";
|
||||
version = "0.2.12";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ieatacid";
|
||||
repo = "OctoPrint-${pname}";
|
||||
rev = version;
|
||||
sha256 = "1yjj9lmxbzmzrn7gahw9lj7554fphalbjjp8ns0rr9py3rshwxkm";
|
||||
sha256 = "sha256-1Sk2ri3DKW8q8VJ/scFjpRsz65Pwt8OEURP1k70aydE=";
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
@ -168,13 +168,13 @@ in {
|
||||
|
||||
marlingcodedocumentation = buildPlugin rec {
|
||||
pname = "MarlinGcodeDocumentation";
|
||||
version = "0.11.0";
|
||||
version = "0.13.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "costas-basdekis";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "0vx06w9hqwy0k4r8g67y8gdckfdx7wl8ghfx6hmxc1s8fgkghfkc";
|
||||
sha256 = "sha256-3ay6iCxZk8QkFM/2Y14VTpPoxr6NXq14BFSHofn3q7I=";
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
@ -187,13 +187,13 @@ in {
|
||||
|
||||
mqtt = buildPlugin rec {
|
||||
pname = "MQTT";
|
||||
version = "0.8.7";
|
||||
version = "0.8.10";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "OctoPrint";
|
||||
repo = "OctoPrint-MQTT";
|
||||
rev = version;
|
||||
sha256 = "0k82h7wafbcqdvk5wjw4dp9lydwszfj1lf8vvymwbqdn7pf5h0dy";
|
||||
sha256 = "sha256-nvEUvN/SdUE1tQkLbxMkZ8xxeUIZiNNirIfWLeH1Kfg=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = with super; [ paho-mqtt ];
|
||||
@ -208,25 +208,26 @@ in {
|
||||
|
||||
printtimegenius = buildPlugin rec {
|
||||
pname = "PrintTimeGenius";
|
||||
version = "2.2.6";
|
||||
version = "2.2.8";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "eyal0";
|
||||
repo = "OctoPrint-${pname}";
|
||||
rev = version;
|
||||
sha256 = "04zfgd3x3lbriyzwhpqnwdcfdm19fsqgsb7l2ix5d0ssmqxwg2r6";
|
||||
sha256 = "sha256-Bbpm7y4flzEbUb6Sgkp6hIIHs455A0IsbmzvZwlkbh0=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = with super; [
|
||||
psutil
|
||||
sarge
|
||||
];
|
||||
|
||||
preConfigure = ''
|
||||
# PrintTimeGenius ships with marlin-calc binaries for multiple architectures
|
||||
rm */analyzers/marlin-calc*
|
||||
sed 's@"{}.{}".format(binary_base_name, machine)@"${pkgs.marlin-calc}/bin/marlin-calc"@' -i */analyzers/analyze_progress.py
|
||||
'';
|
||||
|
||||
patches = [
|
||||
./printtimegenius-logging.patch
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Better print time estimation for OctoPrint";
|
||||
homepage = "https://github.com/eyal0/OctoPrint-PrintTimeGenius";
|
||||
@ -237,15 +238,19 @@ in {
|
||||
|
||||
psucontrol = buildPlugin rec {
|
||||
pname = "PSUControl";
|
||||
version = "0.1.9";
|
||||
version = "1.0.6";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "kantlivelong";
|
||||
repo = "OctoPrint-${pname}";
|
||||
rev = version;
|
||||
sha256 = "1cn009bdgn6c9ba9an5wfj8z02wi0xcsmbhkqggiqlnqy1fq45ca";
|
||||
sha256 = "sha256-S+lPm85+ZEO/3BXYsrxE4FU29EGWzWrSw3y1DLdByrM=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = with super; [
|
||||
python-periphery
|
||||
];
|
||||
|
||||
preConfigure = ''
|
||||
# optional; RPi.GPIO is broken on vanilla kernels
|
||||
sed /RPi.GPIO/d -i requirements.txt
|
||||
@ -261,13 +266,13 @@ in {
|
||||
|
||||
simpleemergencystop = buildPlugin rec {
|
||||
pname = "SimpleEmergencyStop";
|
||||
version = "1.0.3";
|
||||
version = "1.0.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Sebclem";
|
||||
repo = "OctoPrint-${pname}";
|
||||
rev = version;
|
||||
sha256 = "0hhh5grmn32abkix1b9fr1d0pcpdi2r066iypcxdxcza9qzwjiyi";
|
||||
sha256 = "sha256-MbP3cKa9FPElQ/M8ykYh9kVXl8hNvmGiCHDvjgWvm9k=";
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
@ -299,13 +304,13 @@ in {
|
||||
|
||||
telegram = buildPlugin rec {
|
||||
pname = "Telegram";
|
||||
version = "1.6.4";
|
||||
version = "1.6.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "fabianonline";
|
||||
repo = "OctoPrint-${pname}";
|
||||
rev = version;
|
||||
sha256 = "14d9f9a5m1prcikd7y26qks6c2ls6qq4b97amn24q5a8k5hbgl94";
|
||||
sha256 = "sha256-SckJCbPNCflgGYLHFiXy0juCtpvo8YS1BQsFpc1f5rg=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = with super; [ pillow ];
|
||||
@ -358,13 +363,13 @@ in {
|
||||
|
||||
touchui = buildPlugin rec {
|
||||
pname = "TouchUI";
|
||||
version = "0.3.16";
|
||||
version = "0.3.18";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "BillyBlaze";
|
||||
repo = "OctoPrint-${pname}";
|
||||
rev = version;
|
||||
sha256 = "1jlqjirc4ygl4k7jp93l2h6b18jap3mzz8sf2g61j9w0kgv9l365";
|
||||
sha256 = "sha256-PNDCjY7FhfnwK7Nd86el9ZQ00G4uMANH2Sk080iMYXw=";
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
@ -377,13 +382,13 @@ in {
|
||||
|
||||
octoklipper = buildPlugin rec {
|
||||
pname = "OctoKlipper";
|
||||
version = "0.3.2";
|
||||
version = "0.3.8.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "AliceGrey";
|
||||
repo = "OctoprintKlipperPlugin";
|
||||
rev = version;
|
||||
sha256 = "15yg2blbgqp2gdpsqqm8qiiznq5qaq8wss07jimkl0865vrvlz7l";
|
||||
sha256 = "sha256-6r5jJDSR0DxlDQ/XWmQgYUgeL1otNNBnwurX7bbcThg=";
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
@ -396,13 +401,13 @@ in {
|
||||
|
||||
octoprint-dashboard = buildPlugin rec {
|
||||
pname = "OctoPrint-Dashboard";
|
||||
version = "1.15.2";
|
||||
version = "1.18.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "StefanCohen";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "0p94jwd7kagh3sixhcrqmsgbay4aaf9l1pgyi2b45jym8pvld5n4";
|
||||
sha256 = "sha256-hLHT3Uze/6PlOCEICVZ2ieFTyXgcqCvgHOlIIEquujg=";
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
|
@ -1,17 +0,0 @@
|
||||
diff --git a/setup.py b/setup.py
|
||||
index 6a6610e..cc45902 100644
|
||||
--- a/setup.py
|
||||
+++ b/setup.py
|
||||
@@ -35,9 +35,9 @@ plugin_license = "AGPLv3"
|
||||
# Any additional requirements besides OctoPrint should be listed here
|
||||
# For now, require the working release, which is only 1.3.9rc1.
|
||||
plugin_requires = ["OctoPrint>=1.3.9rc1", "psutil", "sarge"]
|
||||
-from sys import version_info
|
||||
-if version_info[0] < 3:
|
||||
- plugin_requires.append("logging")
|
||||
+#from sys import version_info
|
||||
+#if version_info[0] < 3:
|
||||
+# plugin_requires.append("logging")
|
||||
|
||||
### --------------------------------------------------------------------------------------------------------------------
|
||||
### More advanced options that you usually shouldn't have to touch follow after this point
|
@ -2,16 +2,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "zola";
|
||||
version = "0.14.0";
|
||||
version = "0.14.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "getzola";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "1mvin6pfqhsfhaifivbdi6qcn0dsa98w83m1n51q807gh4l1k2yj";
|
||||
sha256 = "1cvvxiginwf1rldijzwk9gh63qc0ls5d7j3j8ri7yhk21pz9f6bi";
|
||||
};
|
||||
|
||||
cargoSha256 = "02bk399c7x15a5rkaz7ik65yihkfbjn1q46gx7l8hycqq7xb0xmg";
|
||||
cargoSha256 = "1hg8j9a8c6c3ap24jd96y07rlp4f0s2mkyx5034nlnkm3lj4q42n";
|
||||
|
||||
nativeBuildInputs = [ cmake pkg-config installShellFiles];
|
||||
buildInputs = [ openssl oniguruma ]
|
||||
|
@ -18,9 +18,9 @@
|
||||
}
|
||||
},
|
||||
"beta": {
|
||||
"version": "93.0.4577.51",
|
||||
"sha256": "0b3mx5ns4pbrwc7s2iz8ffv8lhay6p9gj0dnsd1qzxgqwgrv37h5",
|
||||
"sha256bin64": "1b8ypv14c5ky789dm17czv4yf7v21lwhnf2ygkdzryvd3i056nsz",
|
||||
"version": "93.0.4577.58",
|
||||
"sha256": "1i9ygy99lg9h0qyl46c02id9d1ig3brkvr8va0blpf7h8pg9251s",
|
||||
"sha256bin64": "16cyn74sxz8lwdyb7x3z115czk9xvs67bb2bbnhrhnaszhhrzs4j",
|
||||
"deps": {
|
||||
"gn": {
|
||||
"version": "2021-07-08",
|
||||
|
@ -5,7 +5,7 @@ let
|
||||
|
||||
manifests = fetchzip {
|
||||
url = "https://github.com/fluxcd/flux2/releases/download/v${version}/manifests.tar.gz";
|
||||
sha256 = "sha256-/uD0hxtTJSr+2tZcwzOIQcEbikHOshWukEBSaK3FiP4=";
|
||||
sha256 = "05khmpbv42wjpkdb4n51pnq678la6hjfhkyy49d0j2kcnvfd1m5p";
|
||||
stripRoot = false;
|
||||
};
|
||||
in
|
||||
@ -55,7 +55,6 @@ buildGoModule rec {
|
||||
'';
|
||||
homepage = "https://fluxcd.io";
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ jlesquembre ];
|
||||
platforms = platforms.unix;
|
||||
maintainers = with maintainers; [ jlesquembre superherointj ];
|
||||
};
|
||||
}
|
||||
|
@ -2,13 +2,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "helm-secrets";
|
||||
version = "3.8.1";
|
||||
version = "3.8.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jkroepke";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-UZu3jChEK59UrtUR2ze68Kkc6MkHRtTsfTOS/B96sLM=";
|
||||
hash = "sha256-FpF/d+e5T6nb0OENaYLY+3ATZ+qcAeih5/yKI+AtfKA=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
@ -1,16 +1,16 @@
|
||||
{ buildGoModule, lib, fetchFromGitHub }:
|
||||
buildGoModule rec {
|
||||
pname = "tfswitch";
|
||||
version = "0.12.1119";
|
||||
version = "0.12.1168";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "warrensbox";
|
||||
repo = "terraform-switcher";
|
||||
rev = version;
|
||||
sha256 = "1xsmr4hnmdg2il3rp39cyhv55ha4qcilcsr00iiija3bzxsm4rya";
|
||||
sha256 = "sha256-BKqbxja19JxAr9/Cy7LpbZTJrt/pYfwtCbZMY0wwvZc=";
|
||||
};
|
||||
|
||||
vendorSha256 = "0mpm4m07v8w02g95cnj73m5gvd118id4ag2pym8d9r2svkyz5n70";
|
||||
vendorSha256 = "sha256-y8T1MV2xHr9n7XWmB4LikIzyGx+0XKhsxmatnCZFN9I=";
|
||||
|
||||
# Disable tests since it requires network access and relies on the
|
||||
# presence of release.hashicorp.com
|
||||
|
@ -1,655 +1,655 @@
|
||||
{
|
||||
version = "91.0.1";
|
||||
version = "91.0.2";
|
||||
sources = [
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-x86_64/af/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-x86_64/af/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "af";
|
||||
arch = "linux-x86_64";
|
||||
sha256 = "c2aabfe9a1ff2a196d08f80ca89468523edbcda6e756449cc1f4ae765b7dce62";
|
||||
sha256 = "e2c209ddd2f6589e3b1ff629b0fde65ce84b79de88ce63b4950c082c69733402";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-x86_64/ar/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-x86_64/ar/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "ar";
|
||||
arch = "linux-x86_64";
|
||||
sha256 = "c9cd4f45a70761e00e877108c53c504305075bba03c9ec0a8cc3324757c66547";
|
||||
sha256 = "554b79b721b5776d2408c00f0aa37ab0beb244aaa374e2701802417e15beb5c3";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-x86_64/ast/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-x86_64/ast/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "ast";
|
||||
arch = "linux-x86_64";
|
||||
sha256 = "2a531361709c5e0aab20f28b6edc6e58d4b1612c295320dbe903d8d5ada70004";
|
||||
sha256 = "7a0e2092124c00d1844462c18caa23965e806c0e7fae7dd07940bccd96f3d9d3";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-x86_64/be/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-x86_64/be/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "be";
|
||||
arch = "linux-x86_64";
|
||||
sha256 = "4e2db1f6b4370e7a7a070ab3849141f8bea6b9f6497b17efca97377afe2cccd2";
|
||||
sha256 = "b31781509ff194af3eee409e0e22e9cb82a69ffb4d4de418c4d854c14afb0cf7";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-x86_64/bg/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-x86_64/bg/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "bg";
|
||||
arch = "linux-x86_64";
|
||||
sha256 = "f6056f71b0b3c7b9e54b232133e11e142c31085c3d0af97c23ea656569078688";
|
||||
sha256 = "ae275b3ad6771fbc67dc7a47046a9d7bd20259703c7d016a1d9934436ef2f4ed";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-x86_64/br/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-x86_64/br/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "br";
|
||||
arch = "linux-x86_64";
|
||||
sha256 = "1b07f6a0f32a6c823f7a1631085e2b4a98f3486d70423b617fd10602b3670d63";
|
||||
sha256 = "c5bac788ae44cdcc89442d8bd5a07f50a936750427232b8e6bd9ea90d2e6fd80";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-x86_64/ca/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-x86_64/ca/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "ca";
|
||||
arch = "linux-x86_64";
|
||||
sha256 = "f41afd9a8e9a5bd2dff04f5ec886112dd8385f89c633960163b8c689ba692bcb";
|
||||
sha256 = "0c578a299994e661c4d0d7e55128fef40449837d5da4fe45ed3992e3502bf305";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-x86_64/cak/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-x86_64/cak/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "cak";
|
||||
arch = "linux-x86_64";
|
||||
sha256 = "9a10f87df261a5a67b240e687879801bfb9ee2e367f599155fd24cf12cc53393";
|
||||
sha256 = "f5b49ed118b8e1f8b2b78f823455368ec895133f15e677377f0de6305e6e31dc";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-x86_64/cs/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-x86_64/cs/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "cs";
|
||||
arch = "linux-x86_64";
|
||||
sha256 = "8c2e5aba275ecf5c3e769c56567ba1567006945c45be09f35688cf83b95136b5";
|
||||
sha256 = "202b566a366e8c1a3c0a147acc9cd9009256193ae01a586b413459c8c526fa71";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-x86_64/cy/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-x86_64/cy/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "cy";
|
||||
arch = "linux-x86_64";
|
||||
sha256 = "d56388d698bc38e40d68736cf9b4c2bc81d6112ae356397769f95205dacbbfa5";
|
||||
sha256 = "c1a4887fe96665d56fd8db662e6c78e8764eb75307a941ea73accac190de397c";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-x86_64/da/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-x86_64/da/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "da";
|
||||
arch = "linux-x86_64";
|
||||
sha256 = "717f1599219ebd72b78fbd94526aa20bbf8d107b164b50de01ec529750db11ab";
|
||||
sha256 = "7de010e7273573ada2732af1c466391d94d645d53c6dd148034cbb62d8c3b217";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-x86_64/de/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-x86_64/de/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "de";
|
||||
arch = "linux-x86_64";
|
||||
sha256 = "ce210eaa9bd17bd97283c28935e2cc06c2120cc0a725e9777749c1c1d4c24d86";
|
||||
sha256 = "ad93a79718d5d5477e5c2d5491cc5e3a8c5669efaa657252dd959e8ffa4dc464";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-x86_64/dsb/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-x86_64/dsb/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "dsb";
|
||||
arch = "linux-x86_64";
|
||||
sha256 = "6e955a2cae9078f72640bb06e60d1b6cbdf6e67f2f2881ecc8dd827ea74d188e";
|
||||
sha256 = "66004909207ef8c51d3d41ada64430c9714162e2d6343cf4434b65f5835d0dc7";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-x86_64/el/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-x86_64/el/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "el";
|
||||
arch = "linux-x86_64";
|
||||
sha256 = "c2e71c09b69122bd5e6d2dd5008fd8e3d4f3dc7f17edf4964d1b0fa3ba47faf9";
|
||||
sha256 = "fbc2fce4edae1dc07fe689e7bd69be035b3fe62f64cba0900dfeef8d7dd62c2d";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-x86_64/en-CA/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-x86_64/en-CA/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "en-CA";
|
||||
arch = "linux-x86_64";
|
||||
sha256 = "a23bffa53f9a1ec2812e367927463d2698386e3e2a74f47f352d81786c05541d";
|
||||
sha256 = "8c5e0ed9cfea8158523df50bf8b680d6541ece70192dfa0b3e12e89dee0d6353";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-x86_64/en-GB/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-x86_64/en-GB/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "en-GB";
|
||||
arch = "linux-x86_64";
|
||||
sha256 = "ec5b334d4976ed46d30095c3e906eadd50d19c433c77446edc0cd0583175126f";
|
||||
sha256 = "a63975d61c4474123dad2d8cc0f4324f16bb5812c61ba4d7a22c08a2fdb937ad";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-x86_64/en-US/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-x86_64/en-US/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "en-US";
|
||||
arch = "linux-x86_64";
|
||||
sha256 = "c9ff70d202311fb5347b87d67e2ecfe9904b579d8e94dd94369d67166408e1f7";
|
||||
sha256 = "0e972bc7910dc9afe82a89cfd45d60cf0ed6f1b0c6adb86169e474c1699dff18";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-x86_64/es-AR/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-x86_64/es-AR/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "es-AR";
|
||||
arch = "linux-x86_64";
|
||||
sha256 = "fbba20795ae5b650adde2d6e93d7ca734bdb76a4948304b4968cec97fcecdc1e";
|
||||
sha256 = "264cdb8e096647552ddcc91ae47f2404a1f280c964595e98426924f4ac201293";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-x86_64/es-ES/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-x86_64/es-ES/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "es-ES";
|
||||
arch = "linux-x86_64";
|
||||
sha256 = "09ffb1a1013bc9392341e4d4a3df190820f6a99828d155e24d7817ca8bebda12";
|
||||
sha256 = "b258c31278b5c75a6fb29aa4be29a60ec1ac3344a7b1eef449a8c52d936aaf75";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-x86_64/et/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-x86_64/et/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "et";
|
||||
arch = "linux-x86_64";
|
||||
sha256 = "3feeabfa2ee1f8bb9e236594b7294fd841cf639a47b6b78070ef64acd35cd508";
|
||||
sha256 = "dcd630338623c5b24733800e231c5a75514577a20329e9660011c7b2b13600cb";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-x86_64/eu/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-x86_64/eu/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "eu";
|
||||
arch = "linux-x86_64";
|
||||
sha256 = "2532b2609c02289d24f331f4e34898b18b426b5cf4f262c3e1e8d6a6b301ef24";
|
||||
sha256 = "cd548c58e9c51e91812266a57e2260a8076d4be5130e6507563b17af51c35d85";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-x86_64/fi/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-x86_64/fi/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "fi";
|
||||
arch = "linux-x86_64";
|
||||
sha256 = "459fa042c920d3917ea13ac03c9d5560319c2d0b2851e0ad1e99d401a53e9bc9";
|
||||
sha256 = "6b7bc8ea396f46be383d7667a97ea62512fc1869a53f023b764990c9c26e186c";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-x86_64/fr/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-x86_64/fr/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "fr";
|
||||
arch = "linux-x86_64";
|
||||
sha256 = "c48b5552c8ce8a51fe0222c7c1357319691f526e30bdff962d852cace77bf5bf";
|
||||
sha256 = "76fcc5ac921ec8a4eddcf7f37d5f97f38e72e7d0760b1df7c6375dac2fe0faae";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-x86_64/fy-NL/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-x86_64/fy-NL/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "fy-NL";
|
||||
arch = "linux-x86_64";
|
||||
sha256 = "cd5b787a6de8106a3e6cb8a99992ab163e0a7e10fe847eec48e427ba8398c21c";
|
||||
sha256 = "76afc70747bfae0ab55d76b440161fba946417d9a9f959006746e48c02922cf1";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-x86_64/ga-IE/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-x86_64/ga-IE/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "ga-IE";
|
||||
arch = "linux-x86_64";
|
||||
sha256 = "2ad66f5db3c1c10ea7f18c1c1693860fb355d696817973fe35133df98048fe1f";
|
||||
sha256 = "793d6941c844dfa6c53e5d9bbde70101efb4f303b7f4b07b5f8cbb7f44c41033";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-x86_64/gd/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-x86_64/gd/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "gd";
|
||||
arch = "linux-x86_64";
|
||||
sha256 = "87c6c0c7151dda09d007ac0fb49ed3bfa9eb463b85f98f057e1733d19048573b";
|
||||
sha256 = "311bcde1dcf00b3e21593300e7e05afe1b66531864340046c39b34ceabbc0c04";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-x86_64/gl/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-x86_64/gl/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "gl";
|
||||
arch = "linux-x86_64";
|
||||
sha256 = "5fc8b2adfbe204a64043983dad1da17eda77dfd89e18c20946d533884c2669f1";
|
||||
sha256 = "2c7beb30c95b5afeb51ffd5d952dd96990fb997aa00f98811a7e656ec0d15293";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-x86_64/he/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-x86_64/he/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "he";
|
||||
arch = "linux-x86_64";
|
||||
sha256 = "81d7d3eca6e87ac41b96634484fa38ea1d130165b9b4df5f3170d124ea2e3a17";
|
||||
sha256 = "864c0160562fc593109ef4afc0f7871eb881e32277131ea39c2e86358de2b287";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-x86_64/hr/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-x86_64/hr/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "hr";
|
||||
arch = "linux-x86_64";
|
||||
sha256 = "86fee237f65ac8a86c7db9aa490c82b6ed5031557ae2c11eff95523405148484";
|
||||
sha256 = "053af50f6251daadf2cb8a77157d15bde93f12b913dca64537a533e0937c9f69";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-x86_64/hsb/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-x86_64/hsb/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "hsb";
|
||||
arch = "linux-x86_64";
|
||||
sha256 = "cdae048500f27f7a0f7922f9299435a2b329bf1304e8bfe3e12298998172539c";
|
||||
sha256 = "e4cfe2c9136702a928a761c0d5da9429ab3002076c0248ddc12c13de7bda90d3";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-x86_64/hu/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-x86_64/hu/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "hu";
|
||||
arch = "linux-x86_64";
|
||||
sha256 = "ce0460af38a61924ad66a96473358941614181cb00bad714ce91f0ab9ccab09b";
|
||||
sha256 = "cd620884dbc0b88454860fbd46a3ab11577396ba758c1e04d2e9f379ed131bd4";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-x86_64/hy-AM/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-x86_64/hy-AM/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "hy-AM";
|
||||
arch = "linux-x86_64";
|
||||
sha256 = "d76bb56d05efbdf9bb8843a9c6991ef2d016a97193cc919a5fc2042a12c76da1";
|
||||
sha256 = "4ffaa441ea2dcd474d6ae4ec10258ecee85fd986901860d91e96b415bd232120";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-x86_64/id/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-x86_64/id/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "id";
|
||||
arch = "linux-x86_64";
|
||||
sha256 = "71c1ca210af2b1834363afbcd4ffbcdd592ef71296b5c0abffe8004e09f7587d";
|
||||
sha256 = "2e64539c1591c88bfe482befcca6aa609b0352a9de45df24d5912a15058bbd01";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-x86_64/is/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-x86_64/is/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "is";
|
||||
arch = "linux-x86_64";
|
||||
sha256 = "02c91f3b4cc45e053637c574a4859fdf7b6e663ad09974153b3782d795aea907";
|
||||
sha256 = "84452b732eb0c2b05346e21444e798a868ad90a9c574876cc6234cea69609ad0";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-x86_64/it/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-x86_64/it/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "it";
|
||||
arch = "linux-x86_64";
|
||||
sha256 = "8f69e3f7cf6d9f8acfd01e54f464e570fcc8bf0180e8b038c5afb75a42db0726";
|
||||
sha256 = "420cee754b96b8acddbbd29fe880fb364b0456cd64099d829a8e2aa87faafbf6";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-x86_64/ja/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-x86_64/ja/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "ja";
|
||||
arch = "linux-x86_64";
|
||||
sha256 = "328748e49b4ae488902bb652c47c8bf7accc87384989177ded8e794d0c6b5a9e";
|
||||
sha256 = "60508f7520e2457a71c4017afb7426f5800e8932ab5fc8b7b84cb20a8d057668";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-x86_64/ka/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-x86_64/ka/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "ka";
|
||||
arch = "linux-x86_64";
|
||||
sha256 = "07d565d2d43de3b3dcfd278302bcb9ac84f811cb643e2f48bfe33e155ecf77fe";
|
||||
sha256 = "1145f89f523f9f7fa4b4030fa0b113150b7188d475a55463bca9600ca0ee2e19";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-x86_64/kab/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-x86_64/kab/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "kab";
|
||||
arch = "linux-x86_64";
|
||||
sha256 = "d82d24903e71a45597072cb19e53e22315d48145474dab7cb280fbb659ea4e2a";
|
||||
sha256 = "25422658dae8b53a4d72840da7aff4bc70cdf94d08444913c4ac06d49c6e3356";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-x86_64/kk/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-x86_64/kk/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "kk";
|
||||
arch = "linux-x86_64";
|
||||
sha256 = "dfce35caf926d33dff1f9728d1f051ffb215f5be87872102e810fb7cba40ce39";
|
||||
sha256 = "0cefe7e7d93d8d3603fc13a34ffff40d0535713f4ae362d34ddeb3fa4ce8b2e0";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-x86_64/ko/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-x86_64/ko/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "ko";
|
||||
arch = "linux-x86_64";
|
||||
sha256 = "eb990e826852398185849c07a0656eb5d848bbd827debcffb4db54e7cb78de26";
|
||||
sha256 = "3644cdc76d557ee2994c4ba4f16d9d2ec66a06a163fdee30a91aa7b8b75f8ab8";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-x86_64/lt/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-x86_64/lt/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "lt";
|
||||
arch = "linux-x86_64";
|
||||
sha256 = "20b01c81284e89fcc3d4172a3c57ca7820ebfcd40b4dbe1c9ec5dc4119eddc50";
|
||||
sha256 = "33371b11574309d011968b0ec7cab94b5a61f7629b60ecb888897fa9d1ba0445";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-x86_64/lv/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-x86_64/lv/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "lv";
|
||||
arch = "linux-x86_64";
|
||||
sha256 = "1cad6e5d796ff39af0d94008969439dd9bc2308f66fe23b275ecd9a11ce1d00f";
|
||||
sha256 = "9460f51bc9a27c7fc69d425cfa013a6b45603764055b0f31cac38e8c5092ee5c";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-x86_64/ms/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-x86_64/ms/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "ms";
|
||||
arch = "linux-x86_64";
|
||||
sha256 = "f6e5e90dbac60ad84ad4be6d69d12607711a95521e617933d6615d761e4636c5";
|
||||
sha256 = "a2b2d1bbba8f5469465ff5b301d95f37453e22b7cc259d33b81382debf056889";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-x86_64/nb-NO/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-x86_64/nb-NO/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "nb-NO";
|
||||
arch = "linux-x86_64";
|
||||
sha256 = "3b2666b1a633e291e9e52dd10c381b89415de8d3994030f3db05f7a656872d5f";
|
||||
sha256 = "dbce148234a027c3118d94aefbf77a5ed6b5f0dcb636704408c326c08c76e474";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-x86_64/nl/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-x86_64/nl/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "nl";
|
||||
arch = "linux-x86_64";
|
||||
sha256 = "b1064d31f9e9757eb4a988da31128de40a50d2061c2bb96138e00ce20903017f";
|
||||
sha256 = "bd99d05225bdaacd4ae1cfde09da0b8667427f7723f48b5ad41c13d09b4e8656";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-x86_64/nn-NO/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-x86_64/nn-NO/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "nn-NO";
|
||||
arch = "linux-x86_64";
|
||||
sha256 = "6eca782596910cb9f340aa5640e46552054e4beb014bcdd3dc286683570a908f";
|
||||
sha256 = "1d48d681562120c52ac5042937406422d0264343f43720bc04870331a3b888ec";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-x86_64/pa-IN/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-x86_64/pa-IN/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "pa-IN";
|
||||
arch = "linux-x86_64";
|
||||
sha256 = "c1e03c9a276267c7f15a4e39cb608f76bd6825363cff934e4b30da09f9c1c978";
|
||||
sha256 = "271008a2f327abda4c140183e966c9acd6116577ac4bc13db7ab674d40b90206";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-x86_64/pl/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-x86_64/pl/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "pl";
|
||||
arch = "linux-x86_64";
|
||||
sha256 = "4e07473e2c1cba237f1b01721943b1275282b05dcb608c74bc957d64fdba4c78";
|
||||
sha256 = "da0960c222b4625f717991f2e3f7fb5155c35ef470f87f2d9387469401bac62b";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-x86_64/pt-BR/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-x86_64/pt-BR/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "pt-BR";
|
||||
arch = "linux-x86_64";
|
||||
sha256 = "81be1b2651211fc8701e6ed9733e9e0e4ccc0898cf1da767ef1589ee870dc63d";
|
||||
sha256 = "160cca291d27bfcc6d2196090814378110a210c8ab6d62f5296eb217be4c9e3d";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-x86_64/pt-PT/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-x86_64/pt-PT/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "pt-PT";
|
||||
arch = "linux-x86_64";
|
||||
sha256 = "39f240a740ddb979d62b0ed75f1120895e16e8bed22c6c4308865ee07545401d";
|
||||
sha256 = "1b4fc4a92388fa1cfac33f9f77e7f5e2f9c7088ab81b1eb3f8346bd77dd3f08a";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-x86_64/rm/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-x86_64/rm/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "rm";
|
||||
arch = "linux-x86_64";
|
||||
sha256 = "60211c33985a2e5fd57f266e7c51262cb1cf2b32fd885f9b56886f02b1d67b31";
|
||||
sha256 = "cd78d4e737fc6c1b3121472e453ac3a20e7f1451b648e6b56e811bb8b05a5bb8";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-x86_64/ro/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-x86_64/ro/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "ro";
|
||||
arch = "linux-x86_64";
|
||||
sha256 = "90e354dc8e195dbf4fe7f16ec7837cb53f445794556c5b2f632e77f02be7b824";
|
||||
sha256 = "e83ed778d455ac6c892caa75ee14d8bee7f232f8fce9a72555f3fa7f2a9cd7dc";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-x86_64/ru/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-x86_64/ru/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "ru";
|
||||
arch = "linux-x86_64";
|
||||
sha256 = "f03a06814d8e0fc9a741d2cb7aa83646c44052516b8be9b6adffe37d21fa37ba";
|
||||
sha256 = "110a6bf1fd3bfb7b24799b3d12c6660730ccd43b687c82159201849f1a17b2c1";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-x86_64/sk/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-x86_64/sk/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "sk";
|
||||
arch = "linux-x86_64";
|
||||
sha256 = "88dc86d35554b8298bb20d15ce4890992b9f7b04f3ad7ff3fcdc7540629ec3b2";
|
||||
sha256 = "26fa89742dabf2929f81a0882ce527330aa63bb67af9066e2a041cc4a330857c";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-x86_64/sl/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-x86_64/sl/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "sl";
|
||||
arch = "linux-x86_64";
|
||||
sha256 = "26a0f2a73fa73b99f9fc81deb7e4764fd8b8ce062acfef1fd0b8f777365571d5";
|
||||
sha256 = "93f4a4c327a3ed6270d9765bc466bfc03bd4c6fc457f933f7131a77768209ea4";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-x86_64/sq/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-x86_64/sq/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "sq";
|
||||
arch = "linux-x86_64";
|
||||
sha256 = "a4557802a3b7d89cc3594cc1c12d04534543e3bf8825bb28ba176658a3de3fa7";
|
||||
sha256 = "bdfe099edfd92ca449f9db5b4207ab1bfc5660964a99c69301f309bd7f4405e2";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-x86_64/sr/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-x86_64/sr/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "sr";
|
||||
arch = "linux-x86_64";
|
||||
sha256 = "6cbb7f29111f90e4bc42e1e1900b0a17549eb7409846ccf2378d3d8781c2af82";
|
||||
sha256 = "be61663f615151c423d1551419bc36c43b74ecb406ee70a66781a4c931d5db1b";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-x86_64/sv-SE/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-x86_64/sv-SE/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "sv-SE";
|
||||
arch = "linux-x86_64";
|
||||
sha256 = "d211b1673d1524d27f22334c592a3a9a2b0aaf887467b3dd10359146da4c0cda";
|
||||
sha256 = "cea5ade716541897197bdabd7a2de2cc78d478b6bcc2be19bbbe3cc327544f1a";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-x86_64/th/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-x86_64/th/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "th";
|
||||
arch = "linux-x86_64";
|
||||
sha256 = "259af6cce3197e45fb201740e8bc5d50988979626445dc41e9a9152922887c1f";
|
||||
sha256 = "42ae7ae92f60d466f1759170b7516191df49cdbffd8f792c69635839a91c82e8";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-x86_64/tr/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-x86_64/tr/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "tr";
|
||||
arch = "linux-x86_64";
|
||||
sha256 = "7671dab2bbf6d70170314b07d85120bd77df2892c8d4f6419f4063153d01e721";
|
||||
sha256 = "d087650517976df85e38ee95bafa00f50e878870d5c8b4d3227436c1d238aab1";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-x86_64/uk/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-x86_64/uk/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "uk";
|
||||
arch = "linux-x86_64";
|
||||
sha256 = "6cb56c07f0ba5ccca171fccf8d95629acdf07fb1f24e2f4795a5b30fe15b3d7c";
|
||||
sha256 = "0963c779f56aa7e102e939cad8c3cb2c91013d8a6a1c81e1b95f9bd59b0707fe";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-x86_64/uz/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-x86_64/uz/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "uz";
|
||||
arch = "linux-x86_64";
|
||||
sha256 = "35a3df724ee40e4b613a248471abd4b0fa8b4d314681cc96ec746843f3bc2930";
|
||||
sha256 = "18c5ef666ccd0e4ea82d705ce96a654546b5eeae66bbec27b74987174bce5c28";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-x86_64/vi/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-x86_64/vi/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "vi";
|
||||
arch = "linux-x86_64";
|
||||
sha256 = "d99f3fd7afb3d3e210bcc2181d9f43be29be07ad44362c7c9113410bbc84239c";
|
||||
sha256 = "ae59396c600ac3c13e5c4a7bb45439b7ac8ec31305398c0f943a542686410c35";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-x86_64/zh-CN/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-x86_64/zh-CN/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "zh-CN";
|
||||
arch = "linux-x86_64";
|
||||
sha256 = "25f2983548dd324b0194641c0d43ace088626d0ef2e6048ced3d6874a933861d";
|
||||
sha256 = "cb6d6648c683677b7513196b883e51666a175b3739dd45fa2c6e2e84869d9257";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-x86_64/zh-TW/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-x86_64/zh-TW/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "zh-TW";
|
||||
arch = "linux-x86_64";
|
||||
sha256 = "7d54efb8587eef38bcfcba9059d5d5429a81a5e808df24a4f33a9ec61483803a";
|
||||
sha256 = "8bde8041417693842644ae183a7830720be03c02e699d7d5c1d472724a0b8687";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-i686/af/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-i686/af/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "af";
|
||||
arch = "linux-i686";
|
||||
sha256 = "91ceccdf21929d526145f6f71cd21544b83b446d39887d65e6f1419e4ae1e904";
|
||||
sha256 = "b68bfdc320c42caa0b53e84c8ec6d5894079738f2fed7a9eb961b7d809ab2eaf";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-i686/ar/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-i686/ar/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "ar";
|
||||
arch = "linux-i686";
|
||||
sha256 = "3bc50c5b718fca792475534488891f8fe7e69320fbd24aae410d2b9121ba4f29";
|
||||
sha256 = "6ba45770a09dbebc1ca5c496374e9cc4c0bdefd19b3c3f384d6829e801ca7224";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-i686/ast/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-i686/ast/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "ast";
|
||||
arch = "linux-i686";
|
||||
sha256 = "e9e4faa03141bce539abf86a611c814bab61401711fbe045ae4977db57c83ffb";
|
||||
sha256 = "76ed8764f119a56c1398dccaf6385c92936f84f959cbc38372c866cff653f93c";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-i686/be/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-i686/be/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "be";
|
||||
arch = "linux-i686";
|
||||
sha256 = "ef5c29de8ac27fc198f00a5f12e0b3824b692c5fcb7bdfc0a3e0aaa08ef4f2a7";
|
||||
sha256 = "5509d1e4f98fba58d7b5c7dde1ec531eaf3439a22bc8e9eb0843dcbed4d094bf";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-i686/bg/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-i686/bg/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "bg";
|
||||
arch = "linux-i686";
|
||||
sha256 = "b6409a8ff358042f2c6d9258e5d0bf4d341793c91ccb1f088f6a0c376005778a";
|
||||
sha256 = "28e6184008449d72dcd0d03c9ffd25eef0746100b67c7cf0684b40d9a7a52870";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-i686/br/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-i686/br/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "br";
|
||||
arch = "linux-i686";
|
||||
sha256 = "47812c836e816f93c73918f31086ed203b7ea409c916a070749c72e715e0a957";
|
||||
sha256 = "35915f0edd5b0a63b531a8eec680a6403866e0b8f25765cf8ed26344fe82c0a6";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-i686/ca/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-i686/ca/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "ca";
|
||||
arch = "linux-i686";
|
||||
sha256 = "6257dae22b8b7fb44cd5c4845f44108c06b933c895b401fcc1c02463d3c19c11";
|
||||
sha256 = "7f869a4728c1ecff758486707836b565897f68f6cf4b13218f0555f9a758630b";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-i686/cak/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-i686/cak/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "cak";
|
||||
arch = "linux-i686";
|
||||
sha256 = "21371bf6103269c2da7dd521297a4472c9bea09019a1916f9bdf0bf42d9ea21e";
|
||||
sha256 = "5d512196774e8ba63439a2545c30ba7ec11f6c6a0967642b0e7e58629a036f31";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-i686/cs/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-i686/cs/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "cs";
|
||||
arch = "linux-i686";
|
||||
sha256 = "4bf27c787004bc06b1d05ec01f3c01040dcd6976e9e1df53aad995c2bbad60c9";
|
||||
sha256 = "31ee6eff33541ceb69df9ce1b5fe7ef43e2937bfd0c306611e3e35a698cb6308";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-i686/cy/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-i686/cy/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "cy";
|
||||
arch = "linux-i686";
|
||||
sha256 = "2365ba2da2d6a1bac7a605af7d9e74bb4850c74a74470442aa0e3a03f9a992e2";
|
||||
sha256 = "07dd83614f7920e2f49b9455b9b2734a2f8a8a555f46691b9a4a34a713c6a035";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-i686/da/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-i686/da/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "da";
|
||||
arch = "linux-i686";
|
||||
sha256 = "402f977ad6b04c68cd3f7fbbc60ff9fda188a2e8cb76d3e1c2f206478a4ebb20";
|
||||
sha256 = "59132d98c63574619e23d49013b7e7e8927c348c2ff1a4f0b990c23e1434bcce";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-i686/de/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-i686/de/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "de";
|
||||
arch = "linux-i686";
|
||||
sha256 = "5ca1e16b06986680783dd3dda515992eed8a4e7e9117d32f010b6a8943d7dedc";
|
||||
sha256 = "22a6a5a2f3cf61570c52d5e531fa6ffd022f83834db61732b79cb0f801234a15";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-i686/dsb/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-i686/dsb/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "dsb";
|
||||
arch = "linux-i686";
|
||||
sha256 = "435d258c0bee4489ddc4fe07c1d4c98b35132b3f7bcf4b8239a037100808386e";
|
||||
sha256 = "9a7702a7a2872ec6088cfa0067d4c2bec9c9ebe9ff31a3ae0f50c797eea1d024";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-i686/el/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-i686/el/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "el";
|
||||
arch = "linux-i686";
|
||||
sha256 = "090fd4a515755cec803d642760fc55acd73a2c44fcf93ebd22db7c325ad46cf0";
|
||||
sha256 = "13369e948d0cd936a9636e065b9455dee760c282b243b5ad4e932dd935ad0eca";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-i686/en-CA/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-i686/en-CA/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "en-CA";
|
||||
arch = "linux-i686";
|
||||
sha256 = "8cbfaa6367ba80c0ec21996bc16cdeeca8fbdba5e6b133b745545026d6545b6b";
|
||||
sha256 = "e5e2ed3c68f03b443874f835b8303491dff70ed30e29515013786790bf333506";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-i686/en-GB/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-i686/en-GB/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "en-GB";
|
||||
arch = "linux-i686";
|
||||
sha256 = "a9d21dba162b470785c97e084debaad067766210316a3c3a41582c829bd2b961";
|
||||
sha256 = "35422b96dabf6dc2baf470916459dcfc672ad9fb1a6fb842c28f761963766357";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-i686/en-US/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-i686/en-US/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "en-US";
|
||||
arch = "linux-i686";
|
||||
sha256 = "b0706e6a49d9551b1eb089d915e46d49c35ff787c614937b69e30f6d56f5b503";
|
||||
sha256 = "27c43ab01a49c936c3864282c54bb952f0e62330afac3eefd8848e58f99c43b5";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-i686/es-AR/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-i686/es-AR/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "es-AR";
|
||||
arch = "linux-i686";
|
||||
sha256 = "4766e49683ee14859b9e81e2782a18d615140ed902dbbc6e07144831f1525b91";
|
||||
sha256 = "205fc7ba9311aee475c4057b933246bf98bb06164fc1a0128d96cbb42cc4ee4a";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-i686/es-ES/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-i686/es-ES/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "es-ES";
|
||||
arch = "linux-i686";
|
||||
sha256 = "1f46e0e92b79b52dcf36892512b293bfe0aafe80b8c129013aa6415d2d5b8369";
|
||||
sha256 = "a560e4a2d1ece441f122dab0a27a25ba0d3b46cdebd9ebaa9b63f1e4d293c563";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-i686/et/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-i686/et/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "et";
|
||||
arch = "linux-i686";
|
||||
sha256 = "d0b1f6fa06a500ff8ae8f014b16111bbf28cf23e0c94f1d6cb83a31a0164b432";
|
||||
sha256 = "60016f69a705c7f953014cbd546d483d3261cc70be2d10a5c3c1012fcc1d88f0";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-i686/eu/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-i686/eu/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "eu";
|
||||
arch = "linux-i686";
|
||||
sha256 = "e7e7335d1a72611bf10f28267e1cd9c36e84ae785b56615ab66a8f113dffb0bd";
|
||||
sha256 = "2c2da546ac66bad5e4e86fc417407497b9248529528d0c348a9be45ad50ff95e";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-i686/fi/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-i686/fi/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "fi";
|
||||
arch = "linux-i686";
|
||||
sha256 = "a1cf4319ee4115fc1b96fa937947283ea69f59dcb65fc3b280353629b9955ff1";
|
||||
sha256 = "ff8ecc121ef8c05e38f75b44602ae27363f9c27002507ddc263b0fd133a3a6d1";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-i686/fr/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-i686/fr/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "fr";
|
||||
arch = "linux-i686";
|
||||
sha256 = "cedb9a2597d4fe16706fce0f1dbaf571ff306c29699c4079598d8c20e87e4ee8";
|
||||
sha256 = "bbe6c436894d25a1becb9e83b1640b63a35316468a55a20acc6991b3856c12f4";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-i686/fy-NL/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-i686/fy-NL/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "fy-NL";
|
||||
arch = "linux-i686";
|
||||
sha256 = "9051c481d79e74253a0f74ae35cb6984daa70892ef6f19643b2ff4d403b62c26";
|
||||
sha256 = "bf5dbed617af49fd952f21ec795c9970956277a7f380802f8cf28705dff5d045";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-i686/ga-IE/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-i686/ga-IE/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "ga-IE";
|
||||
arch = "linux-i686";
|
||||
sha256 = "13d49e563da0e378f44c49918af7ef84e41e112e2411c56e3c951014ba78b73a";
|
||||
sha256 = "b04348cbdce3b99cc0de580ef6aded2a946e4f338873c1069c86feab35f8341d";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-i686/gd/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-i686/gd/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "gd";
|
||||
arch = "linux-i686";
|
||||
sha256 = "4b4c76da22ececdbd927e7e3fcbf54a58947c66d982fca03042fc0a91c9a3857";
|
||||
sha256 = "350b1806e3504a57cd54ef89f424f634f89781670427773bec00bbeb9d4712a5";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-i686/gl/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-i686/gl/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "gl";
|
||||
arch = "linux-i686";
|
||||
sha256 = "cd194c3bc4ef9d896dbf1367a96ac18601a7bb446150ffd6c1e3e1c140642196";
|
||||
sha256 = "d9196254a829834a222e007177218a295629efc635052336a8c855e08f1bccd4";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-i686/he/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-i686/he/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "he";
|
||||
arch = "linux-i686";
|
||||
sha256 = "3a3ebd2554a125cb10e78b4b0ffa8ce0665aa85573c2f4a67801754200ca85e5";
|
||||
sha256 = "47fb607ce180dd9dea8ee1e011c8a37c02e23a10e2c4de6c40e0c86ae069e533";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-i686/hr/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-i686/hr/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "hr";
|
||||
arch = "linux-i686";
|
||||
sha256 = "7b80c8839cacf4fa85fdd2630562647356f6608d9652c2651e78301405876054";
|
||||
sha256 = "a3c3266a345bd6a8443059d11c9dedd3471b5904812d8ff08d94283d439f32a7";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-i686/hsb/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-i686/hsb/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "hsb";
|
||||
arch = "linux-i686";
|
||||
sha256 = "ddaa6c857cd0fe2c05a229c4da47b33e1bf96d0177b6b228566a0463d5e5cf7f";
|
||||
sha256 = "10e599806fa3064a57482d4c4b69e7fa3c98327fdc47c0a0e4709f9ee385ad01";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-i686/hu/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-i686/hu/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "hu";
|
||||
arch = "linux-i686";
|
||||
sha256 = "48b9e4e51d2340ba0de1167ccd1da4d6de95ffe732a58eb4e30e31a272b1c048";
|
||||
sha256 = "d57356a47cebcc96c57199363df10a0aca1178683343021e79c9e7e0c03f62f9";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-i686/hy-AM/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-i686/hy-AM/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "hy-AM";
|
||||
arch = "linux-i686";
|
||||
sha256 = "6955670c2beae55679c55e97a03a2bafd2a389aa990d84a41a58029341f42f74";
|
||||
sha256 = "32773d9daa46251c1eed72eba229d7567b693681fb46d2da966eb67d025bd020";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-i686/id/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-i686/id/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "id";
|
||||
arch = "linux-i686";
|
||||
sha256 = "8d8b8b9675a400ae4969e89a6b365e6ecbe4c80dcb4da41ea11280dd415d3da2";
|
||||
sha256 = "6d205b1905d193285a2ad1cbcbb1fbf4e1c71cccc9a54f63daa120179e77bba6";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-i686/is/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-i686/is/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "is";
|
||||
arch = "linux-i686";
|
||||
sha256 = "39e361fb9bd8097a59b048ed53f6d923c4e17ea597fe6ae0620eff28bfba1b5a";
|
||||
sha256 = "0fa18f5b9e9e1e3549fcd109fd4dd8392d7573b9429a61053b54b0538efd5b94";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-i686/it/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-i686/it/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "it";
|
||||
arch = "linux-i686";
|
||||
sha256 = "c0b9f37d53924f91e31660c82992cd9d05878bed08b48c71566cdef4c6cae9eb";
|
||||
sha256 = "67034f9a604606cf6a90b5699b46d12b76957da77336255dee1adcf6dfb4a2e0";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-i686/ja/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-i686/ja/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "ja";
|
||||
arch = "linux-i686";
|
||||
sha256 = "faba4c83061f4834b4c1fc5c9895837ccbd0a9727599cb71da918be9825c8e6e";
|
||||
sha256 = "259a236852334eed51f3e922c3e4e74810b8d9d82f2b6e1486cfdfb9dc659ed9";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-i686/ka/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-i686/ka/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "ka";
|
||||
arch = "linux-i686";
|
||||
sha256 = "8e4368e366c697e7d78e5bcf100286dd510d940bd89eb6a84712f2281495a201";
|
||||
sha256 = "93bac3418c44519c9b9eae6d2cb030b18262f6c586b4480b3e5d828faf18afcd";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-i686/kab/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-i686/kab/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "kab";
|
||||
arch = "linux-i686";
|
||||
sha256 = "cd5155d346461fc0ccbc468a1dbbba286b922bfb25271005dff4de4b7ae3f299";
|
||||
sha256 = "1487aeef3d2b2eecdaac1463e35f04789e155e2d1f0f43e47be81da3abe96e33";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-i686/kk/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-i686/kk/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "kk";
|
||||
arch = "linux-i686";
|
||||
sha256 = "7d5469688164d896c438541c02e6df9bbc59b804cbdd2ef7bcd68b27959f1336";
|
||||
sha256 = "1d3b7a92a8206d1fc0af0f86e26af218f073cb6f4f4dc3519366552f48bb932d";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-i686/ko/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-i686/ko/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "ko";
|
||||
arch = "linux-i686";
|
||||
sha256 = "6b51ea1fdb1d0cb73c82665449da9003b98444a234e06ea3b87be8cd689254c2";
|
||||
sha256 = "913757dee44a98d85b337f07a743d588a1bdf9425c3f5cd2fb4985fa59340e5f";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-i686/lt/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-i686/lt/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "lt";
|
||||
arch = "linux-i686";
|
||||
sha256 = "c678002ac4f0353da610a7a208aafa1af80fdafc50811c79140d5f2e4bdb9d23";
|
||||
sha256 = "c3ad9eccb96a5762bff235f95640c01c7a55d09e8ee613aace4cc26ad36aa60e";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-i686/lv/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-i686/lv/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "lv";
|
||||
arch = "linux-i686";
|
||||
sha256 = "72bdd8d53008332f579385889c7b55b56814ba369d482d7b86f33059b6a89b82";
|
||||
sha256 = "125e2c82c1daed6ce109f3585e471d4037e531aec7a4998438cfe5f0614884ed";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-i686/ms/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-i686/ms/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "ms";
|
||||
arch = "linux-i686";
|
||||
sha256 = "5e891ea8cd26ec89f41d0ce2e048d05e4f7540ce0ff06ddd1efd6dc00c90daed";
|
||||
sha256 = "17deff39fb4dcbbb23d932db247f12528a994ec48d9ce32831148841c38e2b58";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-i686/nb-NO/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-i686/nb-NO/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "nb-NO";
|
||||
arch = "linux-i686";
|
||||
sha256 = "657235b998d47baab559c11f60f4955275eb12875ef4e2d3a225fc5905dc4d48";
|
||||
sha256 = "e6f19f4fa520c092db1c0eee28393ff13e38e2214d7073f98cc68a56c5d4575d";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-i686/nl/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-i686/nl/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "nl";
|
||||
arch = "linux-i686";
|
||||
sha256 = "eb98cea41e08f1d0ecf79291ba94cf24f2eaaff5c9c47969c2dcec9d22b02c5c";
|
||||
sha256 = "3935d7bb85663ec84c6cab1c42406663b63e883c2fcb35673c156f38f3388a34";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-i686/nn-NO/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-i686/nn-NO/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "nn-NO";
|
||||
arch = "linux-i686";
|
||||
sha256 = "37f05dc4012f543e46be07a1f27d0eba67df5852008595b77da22d0050225618";
|
||||
sha256 = "a3dc079d6c64bf913728b70be84b9ee7266e368b287660f09e458a1c08ddf0b2";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-i686/pa-IN/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-i686/pa-IN/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "pa-IN";
|
||||
arch = "linux-i686";
|
||||
sha256 = "80939eb26e7deb62c381ceb9d8a688adc18af5944ca0f31e027ef5d6bfe4f3ea";
|
||||
sha256 = "e3587c4a2a6c479edadbd58228c5438af81ffe0031332a99bfc0d53b62794def";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-i686/pl/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-i686/pl/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "pl";
|
||||
arch = "linux-i686";
|
||||
sha256 = "93ad29d7c97d501587bcf333df7bfe0e9692d42269914ffad5217ace78a2cb2f";
|
||||
sha256 = "f5c231f36c59669b7f8f2aa7936a29f0e0c459158fe271142c28561eb9586e09";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-i686/pt-BR/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-i686/pt-BR/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "pt-BR";
|
||||
arch = "linux-i686";
|
||||
sha256 = "a1ee15db8610e2cd3d21e817291a8fa492d6811fd566ad75b202fb420b0ed4d4";
|
||||
sha256 = "7c6286427fe27eae8f98ebca95ee36befe110012026909ee95e42b3bc9aae637";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-i686/pt-PT/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-i686/pt-PT/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "pt-PT";
|
||||
arch = "linux-i686";
|
||||
sha256 = "5fb985c57660547e5c22e4e2f31dccf1db140af149bbaf24ec7003c7249ddc71";
|
||||
sha256 = "95ef322cf560ac3f428db9e2872168007691862e0a3f2d145713d52ab9da1a50";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-i686/rm/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-i686/rm/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "rm";
|
||||
arch = "linux-i686";
|
||||
sha256 = "acf3cdcd21d10339f6e6e61880a36c9c63f3d5e06aa5742858bfcced8f562094";
|
||||
sha256 = "68c40f4800e7cb24b2281eb5f69351b0592bea4a725a8abc2b634d00a1e8c759";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-i686/ro/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-i686/ro/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "ro";
|
||||
arch = "linux-i686";
|
||||
sha256 = "584a892f959800744bdf06e1b181c78b71526f12076b1a299bace0bd96c2a741";
|
||||
sha256 = "00e216d87a7a0bd4b3f852051449f130f98133c40dd5360bedae8322e6a270ab";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-i686/ru/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-i686/ru/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "ru";
|
||||
arch = "linux-i686";
|
||||
sha256 = "3f24b228ed6caef730dd36c2e22620b7e4b8365de0682017104b57081b1b27ae";
|
||||
sha256 = "997f644eca0b6341002c15b72f4c76e925c6581ccb90a2d1d8f2982527125688";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-i686/sk/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-i686/sk/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "sk";
|
||||
arch = "linux-i686";
|
||||
sha256 = "e8c317d088bb6b4ae601e439b45abde1641f152edfc64c1da5f479472c4e027d";
|
||||
sha256 = "147af1d186d27113544f4c23d0158389ce349a40d4996ab0897e28809f914244";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-i686/sl/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-i686/sl/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "sl";
|
||||
arch = "linux-i686";
|
||||
sha256 = "9e0d376b0694e7007d889e8d6898bfef68734f52dcbe62ed5b141870ea6fd564";
|
||||
sha256 = "bc5bcdd54e391b380035450f89439c2338bc4aae8d79c4a553e580dababddc86";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-i686/sq/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-i686/sq/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "sq";
|
||||
arch = "linux-i686";
|
||||
sha256 = "e2d87bfe4e89d6546e6fc55960426028036574758ddf97e6e039f6a5f7d43c10";
|
||||
sha256 = "5700bda1ecd8aec35638aa007216079146a627ef330b901f919f177007e6bbd2";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-i686/sr/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-i686/sr/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "sr";
|
||||
arch = "linux-i686";
|
||||
sha256 = "871274312d5af4f1810017bc49ddccffea6d0b08276bf035ced5a39619c522e3";
|
||||
sha256 = "648ac37b029ad458ff6759bf6cd06a696d3c02899f6e0d44ecab7a196bbb439b";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-i686/sv-SE/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-i686/sv-SE/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "sv-SE";
|
||||
arch = "linux-i686";
|
||||
sha256 = "d3280b7cc1638057be5edc05bc0f7e76cdd2440e4bd713a8b1da4db0d4f4c119";
|
||||
sha256 = "38c88fe79c505e9b14a778ae6a8f0ab8d291656ef7cdd1a995a7fe199811098f";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-i686/th/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-i686/th/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "th";
|
||||
arch = "linux-i686";
|
||||
sha256 = "4b1dd2d7c478bc0fec0d8379b025170ce569e4043b06dc08fbf7a97fda93dc0e";
|
||||
sha256 = "bead245a51de35bdc4474c04b813c4ce2175c01b7ad999f4f3b2f4587d811c77";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-i686/tr/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-i686/tr/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "tr";
|
||||
arch = "linux-i686";
|
||||
sha256 = "3268c493d84db8eb4c8373959548a0828ce66a4b08d7b6f8175c9acabc092a7e";
|
||||
sha256 = "184dd779df35de1906022b32ef0c0b7c4e9555a38eb9ec432772a754efb4c1e1";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-i686/uk/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-i686/uk/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "uk";
|
||||
arch = "linux-i686";
|
||||
sha256 = "3c3cd733adaa0f61cc489141d6eee89b2efd50b7afd816658cae0f93dfd983a6";
|
||||
sha256 = "8778aba1428169a7a2195040a9c7e1d91d86f15bff554f18d402e1f3447a140d";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-i686/uz/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-i686/uz/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "uz";
|
||||
arch = "linux-i686";
|
||||
sha256 = "75c7e6e1544b8cd715185a1478a67a7129921fcb45e100e8b707317712fa1b90";
|
||||
sha256 = "2cf61ce3a966c41f5085a097dc0cda9136ae1d624d68e97a01d867ec14ad4d94";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-i686/vi/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-i686/vi/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "vi";
|
||||
arch = "linux-i686";
|
||||
sha256 = "d1977564fe4bcc3e3d105670f0ceca224437656dfc4f6b1ea23e46348fe0892d";
|
||||
sha256 = "8f9a2b344b25b4cb91f2506515382729c27fd7e1de37c5d16dae51345cee790b";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-i686/zh-CN/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-i686/zh-CN/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "zh-CN";
|
||||
arch = "linux-i686";
|
||||
sha256 = "11b2079558194aad670fcc38e9a8bf2b36351852d2faeca15230a9ac0325da95";
|
||||
sha256 = "131c829617c6732d29e1a68499f190a80d464b3ede4f10caa153bdf8e59e7f3c";
|
||||
}
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.1/linux-i686/zh-TW/thunderbird-91.0.1.tar.bz2";
|
||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/91.0.2/linux-i686/zh-TW/thunderbird-91.0.2.tar.bz2";
|
||||
locale = "zh-TW";
|
||||
arch = "linux-i686";
|
||||
sha256 = "2c9472a29dbd96fbbcbe7d9e23a112c9c894eee62dcb0ab08387d04e1f2741c4";
|
||||
sha256 = "049625db5facdd176ac7fced757db678e9afb0d143d775f4c9f79d2cd334eaa0";
|
||||
}
|
||||
];
|
||||
}
|
||||
|
@ -10,12 +10,12 @@ in
|
||||
rec {
|
||||
thunderbird = common rec {
|
||||
pname = "thunderbird";
|
||||
version = "91.0.1";
|
||||
version = "91.0.2";
|
||||
application = "comm/mail";
|
||||
binaryName = pname;
|
||||
src = fetchurl {
|
||||
url = "mirror://mozilla/thunderbird/releases/${version}/source/thunderbird-${version}.source.tar.xz";
|
||||
sha512 = "54e1f3233c544cf28302496512aaf2a5fb5486aab070680e82cefbdd1d12a33867c638ced61e43958bae47e40ff551592a2cf4d537f98c22ed1df31c5d5bb09c";
|
||||
sha512 = "468be2f5024fd32eb22a661ed5f30de5d74231ee736e6743a9fb84e747bf45fceaaf286a5cbb20eb41f8ab98e0c56310eab3d2e6077fd81ee0ef52b28c33a3f2";
|
||||
};
|
||||
patches = [
|
||||
./no-buildconfig-90.patch
|
||||
|
@ -40,20 +40,18 @@ let
|
||||
in
|
||||
py.pkgs.pythonPackages.buildPythonApplication rec {
|
||||
pname = "paperless-ng";
|
||||
version = "1.4.5";
|
||||
version = "1.5.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/jonaswinkler/paperless-ng/releases/download/ng-${version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "2PJb8j3oimlfiJ3gqjK6uTemzFdtAP2Mlm5RH09bx/E=";
|
||||
sha256 = "oVSq0AWksuWC81MF5xiZ6ZbdKKtqqphmL+xIzJLaDMw=";
|
||||
};
|
||||
|
||||
format = "other";
|
||||
|
||||
# Make bind address configurable
|
||||
# Fix tests with Pillow 8.3.1: https://github.com/jonaswinkler/paperless-ng/pull/1183
|
||||
prePatch = ''
|
||||
postPatch = ''
|
||||
substituteInPlace gunicorn.conf.py --replace "bind = '0.0.0.0:8000'" ""
|
||||
substituteInPlace src/paperless_tesseract/parsers.py --replace "return x" "return round(x)"
|
||||
'';
|
||||
|
||||
propagatedBuildInputs = with py.pkgs.pythonPackages; [
|
||||
|
@ -2,11 +2,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "picard-tools";
|
||||
version = "2.25.7";
|
||||
version = "2.26.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/broadinstitute/picard/releases/download/${version}/picard.jar";
|
||||
sha256 = "sha256-3A6DDT6Dje4rT0qhyWMfs6TD7Jgt6N/lFF/HSBBMcUY=";
|
||||
sha256 = "sha256-sz/7MtcCJlUlrNy16W1YB/zXMhYeLLbQOIOdzNsGW7w=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
@ -2,10 +2,10 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "stacks";
|
||||
version = "2.55";
|
||||
version = "2.59";
|
||||
src = fetchurl {
|
||||
url = "http://catchenlab.life.illinois.edu/stacks/source/${pname}-${version}.tar.gz";
|
||||
sha256 = "sha256-p8L0F3A+GdNsPgTQNn9Em5EjFCc9f7gUvyLIRCTd05c=";
|
||||
sha256 = "sha256-pVFwb4EPba9wL9kDGN2gi7aeH+sPhDG/XLyHxqG4zd4=";
|
||||
};
|
||||
|
||||
buildInputs = [ zlib ];
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "lean";
|
||||
version = "3.31.0";
|
||||
version = "3.32.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "leanprover-community";
|
||||
@ -11,8 +11,8 @@ stdenv.mkDerivation rec {
|
||||
# from. this is then used to check whether an olean file should be
|
||||
# rebuilt. don't use a tag as rev because this will get replaced into
|
||||
# src/githash.h.in in preConfigure.
|
||||
rev = "333783350cd3fe38f25fed1da7d6a433d8f85b77";
|
||||
sha256 = "sha256-N8Ju7pSGssvt84/0e1o6G/p7fWM1c0Mzw+ftL1/++J4=";
|
||||
rev = "35b3a9c4e2d35cccb5ed220ea2f2909a4ed2ca90";
|
||||
sha256 = "0s69smknsvycvydbk2f3vcqj1z3jrbv3k048z2r46391dai5iwhf";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
@ -21,26 +21,16 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "nasc";
|
||||
version = "0.7.5";
|
||||
version = "0.8.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "parnold-x";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "kSRc5RLkI6SBJirUYw6swZi8IJhaL3y74b2Zw8kh2XA=";
|
||||
sha256 = "02b9a59a9fzsb6nn3ycwwbcbv04qfzm6x7csq2addpzx5wak6dd8";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
patches = [
|
||||
# fix compilation with gcc10
|
||||
(fetchpatch {
|
||||
url = "https://github.com/parnold-x/libqalculate/commit/4fa8f2cceada128ef19f82407226b2c230b780d5.patch";
|
||||
extraPrefix = "subprojects/libqalculate/";
|
||||
stripLen = "1";
|
||||
sha256 = "0kbff623zl0s6yx5avx068f2apwzxzvihjahja4qhlkqkhhzj9dm";
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
glib # post_install.py
|
||||
gtk3 # post_install.py
|
||||
|
@ -4,24 +4,18 @@
|
||||
, fetchFromGitHub
|
||||
, ncurses
|
||||
, pkg-config
|
||||
, fontconfig
|
||||
, python3
|
||||
, fontconfig
|
||||
, openssl
|
||||
, perl
|
||||
, dbus
|
||||
, libGL
|
||||
, libX11
|
||||
, xcbutil
|
||||
, libxcb
|
||||
, libxkbcommon
|
||||
, xcbutil
|
||||
, xcbutilimage
|
||||
, xcbutilkeysyms
|
||||
, xcbutilwm # contains xcb-ewmh among others
|
||||
, libxkbcommon
|
||||
, libglvnd # libEGL.so.1
|
||||
, egl-wayland
|
||||
, xcbutilwm
|
||||
, wayland
|
||||
, libGLU
|
||||
, libGL
|
||||
, freetype
|
||||
, zlib
|
||||
# Apple frameworks
|
||||
, CoreGraphics
|
||||
@ -29,48 +23,21 @@
|
||||
, Foundation
|
||||
, libiconv
|
||||
}:
|
||||
let
|
||||
runtimeDeps = [
|
||||
zlib
|
||||
fontconfig
|
||||
freetype
|
||||
] ++ lib.optionals stdenv.isLinux [
|
||||
libX11
|
||||
xcbutil
|
||||
libxcb
|
||||
xcbutilimage
|
||||
xcbutilkeysyms
|
||||
xcbutilwm
|
||||
libxkbcommon
|
||||
dbus
|
||||
libglvnd
|
||||
egl-wayland
|
||||
wayland
|
||||
libGLU
|
||||
libGL
|
||||
openssl
|
||||
] ++ lib.optionals stdenv.isDarwin [
|
||||
Foundation
|
||||
CoreGraphics
|
||||
Cocoa
|
||||
libiconv
|
||||
];
|
||||
in
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "wezterm";
|
||||
version = "20210814-124438-54e29167";
|
||||
|
||||
outputs = [ "out" "terminfo" ];
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "wez";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "sha256-6HXTftgAs6JMzOMCY+laN74in8xfjE8yJc5xSl9PQCE=";
|
||||
fetchSubmodules = true;
|
||||
sha256 = "sha256-6HXTftgAs6JMzOMCY+laN74in8xfjE8yJc5xSl9PQCE=";
|
||||
};
|
||||
|
||||
outputs = [ "out" "terminfo" ];
|
||||
|
||||
postPatch = ''
|
||||
echo ${version} > .tag
|
||||
'';
|
||||
@ -80,11 +47,28 @@ rustPlatform.buildRustPackage rec {
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
python3
|
||||
perl
|
||||
ncurses
|
||||
ncurses # tic for terminfo
|
||||
];
|
||||
|
||||
buildInputs = runtimeDeps;
|
||||
buildInputs = [
|
||||
fontconfig
|
||||
zlib
|
||||
] ++ lib.optionals stdenv.isLinux [
|
||||
libX11
|
||||
libxcb
|
||||
libxkbcommon
|
||||
openssl
|
||||
wayland
|
||||
xcbutil
|
||||
xcbutilimage
|
||||
xcbutilkeysyms
|
||||
xcbutilwm # contains xcb-ewmh among others
|
||||
] ++ lib.optionals stdenv.isDarwin [
|
||||
Cocoa
|
||||
CoreGraphics
|
||||
Foundation
|
||||
libiconv
|
||||
];
|
||||
|
||||
postInstall = ''
|
||||
# terminfo
|
||||
@ -102,9 +86,7 @@ rustPlatform.buildRustPackage rec {
|
||||
'';
|
||||
|
||||
preFixup = lib.optionalString stdenv.isLinux ''
|
||||
for artifact in wezterm wezterm-gui wezterm-mux-server strip-ansi-escapes; do
|
||||
patchelf --set-rpath "${lib.makeLibraryPath runtimeDeps}" $out/bin/$artifact
|
||||
done
|
||||
patchelf --add-needed "${libGL}/lib/libEGL.so.1" $out/bin/wezterm-gui
|
||||
'' + lib.optionalString stdenv.isDarwin ''
|
||||
mkdir -p "$out/Applications"
|
||||
OUT_APP="$out/Applications/WezTerm.app"
|
||||
@ -114,14 +96,11 @@ rustPlatform.buildRustPackage rec {
|
||||
ln -s $out/bin/{wezterm,wezterm-mux-server,wezterm-gui,strip-ansi-escapes} "$OUT_APP"
|
||||
'';
|
||||
|
||||
# prevent further changes to the RPATH
|
||||
dontPatchELF = true;
|
||||
|
||||
meta = with lib; {
|
||||
description = "A GPU-accelerated cross-platform terminal emulator and multiplexer written by @wez and implemented in Rust";
|
||||
homepage = "https://wezfurlong.org/wezterm";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ steveej SuperSandro2000 ];
|
||||
maintainers = with maintainers; [ SuperSandro2000 ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
|
@ -2,16 +2,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "gh";
|
||||
version = "1.14.0";
|
||||
version = "2.0.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "cli";
|
||||
repo = "cli";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-JCuJliBr1IPdwGG9T0Bx5DhtHw8tJ45mteRLxRbkyio=";
|
||||
sha256 = "sha256-TjBUVP9/hMB8yFnupSxwHDr5bmtiMFwsDi1axsD5ykA=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-6H56jf4QV+DdsiCetyhpXp6NHc86Hzo+CuqF06dL26A=";
|
||||
vendorSha256 = "sha256-ZsMzLJ+eHAKNxhVFpQxRyTv/rcWvxA/luKPjXT+Zt4Y=";
|
||||
|
||||
nativeBuildInputs = [ installShellFiles ];
|
||||
|
||||
|
@ -17,13 +17,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "podman";
|
||||
version = "3.2.3";
|
||||
version = "3.3.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "containers";
|
||||
repo = "podman";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-P8/4jehfcjM+r/pwW6fxrwquMVUqXxvvTur7Tesjmnc=";
|
||||
sha256 = "sha256-EDNpGDjsXULwtUYFLh4u6gntK//rsLLpYgpxRt4R1kc=";
|
||||
};
|
||||
|
||||
vendorSha256 = null;
|
||||
|
@ -14,6 +14,7 @@
|
||||
, cni-plugins # not added to path
|
||||
, iptables
|
||||
, iproute2
|
||||
, gvproxy
|
||||
, qemu
|
||||
, xz
|
||||
}:
|
||||
@ -31,6 +32,7 @@ let
|
||||
iptables
|
||||
iproute2
|
||||
] ++ lib.optionals stdenv.isDarwin [
|
||||
gvproxy
|
||||
qemu
|
||||
xz
|
||||
] ++ extraPackages);
|
||||
|
@ -2,13 +2,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "vpcs";
|
||||
version = "0.8.1";
|
||||
version = "0.8.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "GNS3";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "0kqy4bd3ns8nzn7fa72izn7a08sfrasy1rn7fd8ajah2wv8d2cak";
|
||||
sha256 = "sha256-joEXRMtNZMQumkYDX1gdpGAV+XdNKiAMj3dh1GZxeqc=";
|
||||
};
|
||||
|
||||
buildPhase = ''(
|
||||
@ -33,6 +33,6 @@ stdenv.mkDerivation rec {
|
||||
inherit (src.meta) homepage;
|
||||
license = licenses.bsd2;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ primeos ];
|
||||
maintainers = with maintainers; [ ];
|
||||
};
|
||||
}
|
||||
|
@ -10,7 +10,7 @@ let
|
||||
pythonPackages = python.pkgs;
|
||||
|
||||
unwrapped = pythonPackages.buildPythonPackage rec {
|
||||
name = "qtile-${version}";
|
||||
pname = "qtile";
|
||||
version = "0.18.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
@ -61,6 +61,8 @@ let
|
||||
};
|
||||
in
|
||||
(python.withPackages (ps: [ unwrapped ])).overrideAttrs (_: {
|
||||
# otherwise will be exported as "env", this restores `nix search` behavior
|
||||
name = "${unwrapped.pname}-${unwrapped.version}";
|
||||
# export underlying qtile package
|
||||
passthru = { inherit unwrapped; };
|
||||
})
|
||||
|
@ -759,6 +759,13 @@ rec {
|
||||
];
|
||||
};
|
||||
|
||||
# This provides a /usr/bin/env, for shell scripts using the
|
||||
# "#!/usr/bin/env executable" shebang.
|
||||
usrBinEnv = runCommand "usr-bin-env" { } ''
|
||||
mkdir -p $out/usr/bin
|
||||
ln -s ${pkgs.coreutils}/bin/env $out/usr/bin
|
||||
'';
|
||||
|
||||
# This provides /bin/sh, pointing to bashInteractive.
|
||||
binSh = runCommand "bin-sh" { } ''
|
||||
mkdir -p $out/bin
|
||||
|
@ -21,7 +21,7 @@ in
|
||||
|
||||
import ./generic.nix { inherit lib stdenv emacs texinfo writeText gcc; } ({
|
||||
|
||||
phases = "installPhase fixupPhase distPhase";
|
||||
dontUnpack = true;
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
@ -43,9 +43,9 @@
|
||||
|
||||
"http://ftp.nluug.nl/pub/gnu/"
|
||||
"http://mirrors.kernel.org/gnu/"
|
||||
"ftp://mirror.cict.fr/gnu/"
|
||||
"ftp://ftp.cs.tu-berlin.de/pub/gnu/"
|
||||
"ftp://ftp.chg.ru/pub/gnu/"
|
||||
"http://mirror.ibcp.fr/pub/gnu/"
|
||||
"http://mirror.dogado.de/gnu/"
|
||||
"http://mirror.tochlab.net/pub/gnu/"
|
||||
"ftp://ftp.funet.fi/pub/mirrors/ftp.gnu.org/gnu/"
|
||||
|
||||
# This one is the master repository, and thus it's always up-to-date.
|
||||
@ -66,7 +66,6 @@
|
||||
gnupg = [
|
||||
"https://gnupg.org/ftp/gcrypt/"
|
||||
"http://www.ring.gr.jp/pub/net/"
|
||||
"http://gd.tuwien.ac.at/privacy/"
|
||||
"http://mirrors.dotsrc.org/gcrypt/"
|
||||
"http://ftp.heanet.ie/mirrors/ftp.gnupg.org/gcrypt/"
|
||||
"http://www.mirrorservice.org/sites/ftp.gnupg.org/gcrypt/"
|
||||
@ -75,14 +74,13 @@
|
||||
# kernel.org's /pub (/pub/{linux,software}) tree.
|
||||
kernel = [
|
||||
"http://cdn.kernel.org/pub/"
|
||||
"http://www.all.kernel.org/pub/"
|
||||
"http://ramses.wh2.tu-dresden.de/pub/mirrors/kernel.org/"
|
||||
"http://linux-kernel.uio.no/pub/"
|
||||
"http://kernel.osuosl.org/pub/"
|
||||
"ftp://ftp.funet.fi/pub/mirrors/ftp.kernel.org/pub/"
|
||||
];
|
||||
|
||||
# Mirrors from https://download.kde.org/extra/download-mirrors.html
|
||||
# Mirrors from https://download.kde.org/ls-lR.mirrorlist
|
||||
kde = [
|
||||
"https://download.kde.org/download.php?url="
|
||||
"https://ftp.gwdg.de/pub/linux/kde/"
|
||||
@ -90,7 +88,6 @@
|
||||
"http://mirrors.mit.edu/kde/"
|
||||
"https://mirrors.ustc.edu.cn/kde/"
|
||||
"http://ftp.funet.fi/pub/mirrors/ftp.kde.org/pub/kde/"
|
||||
"ftp://ftp.kde.org/pub/kde/"
|
||||
];
|
||||
|
||||
# Gentoo files.
|
||||
@ -113,15 +110,12 @@
|
||||
"http://ftp.cc.uoc.gr/mirrors/nongnu.org/"
|
||||
"http://nongnu.uib.no/"
|
||||
"http://mirrors.fe.up.pt/pub/nongnu/"
|
||||
"http://mirror.lihnidos.org/GNU/savannah/"
|
||||
"http://savannah.mirror.si/"
|
||||
"http://ftp.acc.umu.se/mirror/gnu.org/savannah/"
|
||||
"http://ftp.twaren.net/Unix/NonGNU/"
|
||||
"http://ftp.yzu.edu.tw/pub/nongnu/"
|
||||
"http://mirror.rackdc.com/savannah/"
|
||||
"http://savannah-nongnu-org.ip-connect.vn.ua/"
|
||||
"http://www.mirrorservice.org/sites/download.savannah.gnu.org/releases/"
|
||||
"http://savannah.spinellicreations.com/"
|
||||
"http://gnu.mirrors.pair.com/savannah/savannah/"
|
||||
"ftp://mirror.easyname.at/nongnu/"
|
||||
"ftp://mirror2.klaus-uwe.me/nongnu/"
|
||||
@ -129,11 +123,9 @@
|
||||
"ftp://mirror.csclub.uwaterloo.ca/nongnu/"
|
||||
"ftp://mirror.cedia.org.ec/nongnu"
|
||||
"ftp://ftp.igh.cnrs.fr/pub/nongnu/"
|
||||
"ftp://mirror6.layerjet.com/nongnu/"
|
||||
"ftp://mirror.netcologne.de/savannah/"
|
||||
"ftp://nongnu.uib.no/pub/nongnu/"
|
||||
"ftp://mirrors.fe.up.pt/pub/nongnu/"
|
||||
"ftp://savannah.mirror.si/savannah/"
|
||||
"ftp://ftp.twaren.net/Unix/NonGNU/"
|
||||
"ftp://ftp.yzu.edu.tw/pub/nongnu/"
|
||||
"ftp://savannah-nongnu-org.ip-connect.vn.ua/mirror/savannah.nongnu.org/"
|
||||
@ -149,8 +141,6 @@
|
||||
# BitlBee mirrors, see https://www.bitlbee.org/main.php/mirrors.html .
|
||||
bitlbee = [
|
||||
"http://get.bitlbee.org/"
|
||||
"http://get.bitlbee.be/"
|
||||
"http://get.us.bitlbee.org/"
|
||||
"http://ftp.snt.utwente.nl/pub/software/bitlbee/"
|
||||
"http://bitlbee.intergenia.de/"
|
||||
];
|
||||
@ -165,8 +155,6 @@
|
||||
"ftp://ftp.imagemagick.org/pub/ImageMagick/"
|
||||
"http://ftp.fifi.org/ImageMagick/"
|
||||
"ftp://ftp.fifi.org/ImageMagick/"
|
||||
"http://imagemagick.mirrorcatalogs.com/"
|
||||
"ftp://imagemagick.mirrorcatalogs.com/imagemagick"
|
||||
];
|
||||
|
||||
# CPAN mirrors.
|
||||
@ -185,7 +173,6 @@
|
||||
"http://ftp.jaist.ac.jp/pub/Linux/CentOS-vault/"
|
||||
"http://mirrors.aliyun.com/centos-vault/"
|
||||
"https://mirror.chpc.utah.edu/pub/vault.centos.org/"
|
||||
"https://mirror.its.sfu.ca/mirror/CentOS-vault/"
|
||||
"https://mirror.math.princeton.edu/pub/centos-vault/"
|
||||
"https://mirrors.tripadvisor.com/centos-vault/"
|
||||
];
|
||||
@ -193,14 +180,10 @@
|
||||
# Debian.
|
||||
debian = [
|
||||
"http://httpredir.debian.org/debian/"
|
||||
"ftp://ftp.au.debian.org/debian/"
|
||||
"ftp://ftp.de.debian.org/debian/"
|
||||
"ftp://ftp.es.debian.org/debian/"
|
||||
"ftp://ftp.fr.debian.org/debian/"
|
||||
"ftp://ftp.it.debian.org/debian/"
|
||||
"ftp://ftp.nl.debian.org/debian/"
|
||||
"ftp://ftp.ru.debian.org/debian/"
|
||||
"ftp://ftp.debian.org/debian/"
|
||||
"http://ftp.debian.org/debian/"
|
||||
"http://archive.debian.org/debian-archive/debian/"
|
||||
"ftp://ftp.funet.fi/pub/mirrors/ftp.debian.org/debian/"
|
||||
@ -229,13 +212,6 @@
|
||||
"http://archives.fedoraproject.org/pub/archive/fedora/"
|
||||
];
|
||||
|
||||
# Old SUSE distributions. Unfortunately there is no master site,
|
||||
# since SUSE actually delete their old distributions (see
|
||||
# ftp://ftp.suse.com/pub/suse/discontinued/deleted-20070817/README.txt).
|
||||
oldsuse = [
|
||||
"ftp://ftp.gmd.de/ftp.suse.com-discontinued/"
|
||||
];
|
||||
|
||||
# openSUSE.
|
||||
opensuse = [
|
||||
"http://opensuse.hro.nl/opensuse/distribution/"
|
||||
@ -257,10 +233,8 @@
|
||||
"http://ftp.unina.it/pub/linux/GNOME/"
|
||||
"http://fr2.rpmfind.net/linux/gnome.org/"
|
||||
"ftp://ftp.dit.upm.es/pub/GNOME/"
|
||||
"ftp://ftp.no.gnome.org/pub/GNOME/"
|
||||
"http://ftp.acc.umu.se/pub/GNOME/"
|
||||
"http://ftp.belnet.be/mirror/ftp.gnome.org/"
|
||||
"http://ftp.df.lth.se/pub/gnome/"
|
||||
"http://linorg.usp.br/gnome/"
|
||||
"http://mirror.aarnet.edu.au/pub/GNOME/"
|
||||
"ftp://ftp.cse.buffalo.edu/pub/Gnome/"
|
||||
@ -290,7 +264,7 @@
|
||||
# Apache mirrors (see http://www.apache.org/mirrors/).
|
||||
apache = [
|
||||
"https://www-eu.apache.org/dist/"
|
||||
"https://www-us.apache.org/dist/"
|
||||
"https://ftp.wayne.edu/apache/"
|
||||
"http://www.eu.apache.org/dist/"
|
||||
"ftp://ftp.fu-berlin.de/unix/www/apache/"
|
||||
"http://ftp.tudelft.nl/apache/"
|
||||
@ -305,13 +279,11 @@
|
||||
postgresql = [
|
||||
"http://ftp.postgresql.org/pub/"
|
||||
"ftp://ftp.postgresql.org/pub/"
|
||||
"ftp://ftp-archives.postgresql.org/pub/"
|
||||
];
|
||||
|
||||
metalab = [
|
||||
"ftp://mirrors.kernel.org/metalab/"
|
||||
"ftp://ftp.gwdg.de/pub/linux/metalab/"
|
||||
"ftp://ftp.xemacs.org/sites/metalab.unc.edu/"
|
||||
"ftp://ftp.metalab.unc.edu/pub/linux/"
|
||||
];
|
||||
|
||||
# Bioconductor mirrors (from http://bioconductor.org/about/mirrors)
|
||||
@ -325,7 +297,6 @@
|
||||
# http://watson.nci.nih.gov/bioc_mirror/
|
||||
"http://bioconductor.jp/packages/"
|
||||
"http://bioconductor.statistik.tu-dortmund.de/packages/"
|
||||
"http://mirrors.ebi.ac.uk/bioconductor/packages/"
|
||||
"http://mirrors.ustc.edu.cn/bioc/"
|
||||
];
|
||||
|
||||
@ -340,14 +311,12 @@
|
||||
# Roy marples mirrors
|
||||
roy = [
|
||||
"http://roy.marples.name/downloads/"
|
||||
"http://roy.aydogan.net/"
|
||||
"http://cflags.cc/roy/"
|
||||
];
|
||||
|
||||
# Sage mirrors (http://www.sagemath.org/mirrors.html)
|
||||
sageupstream = [
|
||||
# Africa
|
||||
"http://sagemath.polytechnic.edu.na/spkg/upstream/"
|
||||
"ftp://ftp.sun.ac.za/pub/mirrors/www.sagemath.org/spkg/upstream/"
|
||||
"http://sagemath.mirror.ac.za/spkg/upstream/"
|
||||
"https://ftp.leg.uct.ac.za/pub/packages/sage/spkg/upstream/"
|
||||
@ -366,7 +335,6 @@
|
||||
"http://linorg.usp.br/sage/spkg/upstream"
|
||||
|
||||
# Asia
|
||||
"http://sage.asis.io/spkg/upstream/"
|
||||
"http://mirror.hust.edu.cn/sagemath/spkg/upstream/"
|
||||
"https://ftp.iitm.ac.in/sage/spkg/upstream/"
|
||||
"http://ftp.kaist.ac.kr/sage/spkg/upstream/"
|
||||
@ -378,11 +346,10 @@
|
||||
"https://mirror.yandex.ru/mirrors/sage.math.washington.edu/spkg/upstream/"
|
||||
|
||||
# Australia
|
||||
"http://echidna.maths.usyd.edu.au/sage/spkg/upstream/"
|
||||
"http://mirror.aarnet.edu.au/pub/sage/spkg/upstream/"
|
||||
|
||||
# Europe
|
||||
"http://sage.mirror.garr.it/mirrors/sage/spkg/upstream/"
|
||||
"http://sunsite.rediris.es/mirror/sagemath/spkg/upstream/"
|
||||
"http://mirror.switch.ch/mirror/sagemath/spkg/upstream/"
|
||||
"http://mirrors.fe.up.pt/pub/sage/spkg/upstream/"
|
||||
"http://www-ftp.lip6.fr/pub/math/sagemath/spkg/upstream/"
|
||||
@ -399,8 +366,6 @@
|
||||
"http://ftp.openbsd.org/pub/OpenBSD/"
|
||||
"ftp://ftp.nluug.nl/pub/OpenBSD/"
|
||||
"ftp://ftp-stud.fht-esslingen.de/pub/OpenBSD/"
|
||||
"ftp://ftp.halifax.rwth-aachen.de/pub/OpenBSD/"
|
||||
"ftp://mirror.switch.ch/pub/OpenBSD/"
|
||||
];
|
||||
|
||||
# Steam Runtime mirrors
|
||||
@ -439,6 +404,5 @@
|
||||
"ftp://ftp.alsa-project.org/pub/"
|
||||
"http://alsa.cybermirror.org/"
|
||||
"http://www.mirrorservice.org/sites/ftp.alsa-project.org/pub/"
|
||||
"http://alsa.mirror.fr/"
|
||||
];
|
||||
}
|
||||
|
@ -12,13 +12,13 @@
|
||||
|
||||
mkDerivation rec {
|
||||
pname = "adwaita-qt";
|
||||
version = "1.3.1";
|
||||
version = "1.4.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "FedoraQt";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "sha256-3uHa7veLzaSIm9WSR/Z0X+aSdXziO1TnI/CQgccrKYg=";
|
||||
sha256 = "sha256-KkqLUhS0JMwJsgu8fv5iGozH3Xv+cXumxx5IewZTTPc=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -2,13 +2,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "matcha-gtk-theme";
|
||||
version = "2021-08-02";
|
||||
version = "2021-08-23";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "vinceliuice";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "sha256-vvWRHtE0Fgz41Aa5kaxNfbupodaWNc8gRJ1qW7vIyuc=";
|
||||
sha256 = "sha256-gemDiGcr7xLv247w9J1CMOSKg2tWp8ADKpG16qa3hZQ=";
|
||||
};
|
||||
|
||||
buildInputs = [ gdk-pixbuf librsvg ];
|
||||
|
@ -2,11 +2,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "kotlin";
|
||||
version = "1.5.21";
|
||||
version = "1.5.30";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/JetBrains/kotlin/releases/download/v${version}/kotlin-compiler-${version}.zip";
|
||||
sha256 = "sha256-8zE6/dar8bjHXGKS9OQfLbr+/I9scnYse6mz2u712lk=";
|
||||
sha256 = "sha256-Je69ubsuFl5LqO+/j/lDxF1Pw52//CwcqgWejdgTZ18=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ jre ] ;
|
||||
|
@ -6,13 +6,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "imath";
|
||||
version = "3.0.5";
|
||||
version = "3.1.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "AcademySoftwareFoundation";
|
||||
repo = "imath";
|
||||
rev = "v${version}";
|
||||
sha256 = "0nwf8622j01p699nkkbal6xxs1snzzhz4cn6d76yppgvdhgyahsc";
|
||||
sha256 = "sha256-X+LY1xtMeYMO6Ri6fmBF2JEDuY6MF7j5XO5YhWMuffM=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
@ -2,13 +2,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "libcouchbase";
|
||||
version = "3.2.0";
|
||||
version = "3.2.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "couchbase";
|
||||
repo = "libcouchbase";
|
||||
rev = version;
|
||||
sha256 = "sha256-8//FEWXXcp/COHj10l4jysaLobzZIl65RCYz/HgL+kc=";
|
||||
sha256 = "sha256-6TMWWXAgt4e+De1ebmqQhaqcia1ZXT8IXn9fTGsr3qY=";
|
||||
};
|
||||
|
||||
cmakeFlags = [ "-DLCB_NO_MOCK=ON" ];
|
||||
|
@ -21,13 +21,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "tiledb";
|
||||
version = "2.2.4";
|
||||
version = "2.2.9";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "TileDB-Inc";
|
||||
repo = "TileDB";
|
||||
rev = version;
|
||||
sha256 = "sha256-xzzWB20vhnneiqJqZAeSUjZouqhPPg2bGaot1IQDMEo=";
|
||||
sha256 = "sha256-kiidUvSff0drmIl6sXdqj2pjoFZL+ReCDOTtMEW3P3g=";
|
||||
};
|
||||
|
||||
# (bundled) blosc headers have a warning on some archs that it will be using
|
||||
|
@ -5,7 +5,10 @@ stdenv.mkDerivation rec {
|
||||
version = "2.3.9";
|
||||
|
||||
src = fetchurl {
|
||||
url = "ftp://ftp.unixodbc.org/pub/unixODBC/${pname}-${version}.tar.gz";
|
||||
urls = [
|
||||
"ftp://ftp.unixodbc.org/pub/unixODBC/${pname}-${version}.tar.gz"
|
||||
"http://www.unixodbc.org/${pname}-${version}.tar.gz"
|
||||
];
|
||||
sha256 = "sha256-UoM+rD1oHIsMmlpl8uvXRbOpZPII/HSPl35EAVoxsgc=";
|
||||
};
|
||||
|
||||
|
@ -11,13 +11,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "yder";
|
||||
version = "1.4.12";
|
||||
version = "1.4.14";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "babelouest";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "1cmla7rpwvsj1b3jhp9q8y3ni5n8rsqxib87yhh07b7xnlhy0gcj";
|
||||
sha256 = "sha256-4FSUBFqrxTbqg2EKYuXv4gUeE40ViNZRk5gHv+C2p9o=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
@ -1,15 +1,25 @@
|
||||
{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config
|
||||
, asciidoc, libxslt, docbook_xsl
|
||||
, pam, yubikey-personalization, libyubikey, libykclient }:
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, autoreconfHook
|
||||
, pkg-config
|
||||
, asciidoc
|
||||
, libxslt
|
||||
, docbook_xsl
|
||||
, pam
|
||||
, yubikey-personalization
|
||||
, libyubikey
|
||||
, libykclient
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "yubico-pam";
|
||||
version = "unstable-2019-07-01";
|
||||
version = "2.27";
|
||||
src = fetchFromGitHub {
|
||||
owner = "Yubico";
|
||||
repo = pname;
|
||||
rev = "b5bd00db81e0e0e0ecced65c684080bb56ddc35b";
|
||||
sha256 = "10dq8dqi3jldllj6p8r9hldx9sank9n82c44w8akxrs1vli6nj3m";
|
||||
rev = version;
|
||||
sha256 = "0hb773zlf11xz4bwmsqv2mq5d4aq2g0crdr5cp9xwc4ivi5gd4kg";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ autoreconfHook pkg-config asciidoc libxslt docbook_xsl ];
|
||||
|
@ -299,6 +299,7 @@
|
||||
, "wring"
|
||||
, "write-good"
|
||||
, "yaml-language-server"
|
||||
, "yalc"
|
||||
, "yarn"
|
||||
, "yo"
|
||||
, "zx"
|
||||
|
3354
pkgs/development/node-packages/node-packages.nix
generated
3354
pkgs/development/node-packages/node-packages.nix
generated
File diff suppressed because it is too large
Load Diff
@ -18,7 +18,7 @@ buildDunePackage rec {
|
||||
owner = "tezos";
|
||||
repo = "tezos";
|
||||
rev = "v${version}";
|
||||
sha256 = "12cv2cssnw60jbpnh6xjysxgsgcj7d72454k4zs2b8fjx7mkgksk";
|
||||
sha256 = "1ykhz5m5sb2hq04nspbsbq8wspkhimagb5g6yi65hpdbn8f4zr6h";
|
||||
};
|
||||
|
||||
minimalOCamlVersion = "4.0.8";
|
||||
|
@ -17,17 +17,17 @@
|
||||
|
||||
buildDunePackage rec {
|
||||
pname = "torch";
|
||||
version = "0.12";
|
||||
version = "0.13";
|
||||
|
||||
useDune2 = true;
|
||||
|
||||
minimumOCamlVersion = "4.08";
|
||||
minimalOCamlVersion = "4.08";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "LaurentMazare";
|
||||
repo = "ocaml-${pname}";
|
||||
rev = version;
|
||||
sha256 = "0nl6hd2rivhgkc3sdkdmrk3j0ij3xjx1clhqm8m5iznir4g77g91";
|
||||
sha256 = "0528h1mkrqbmbf7hy91dsnxcg0k55m3jgharr71c652xyd847yz7";
|
||||
};
|
||||
|
||||
buildInputs = [ dune-configurator ];
|
||||
@ -56,6 +56,5 @@ buildDunePackage rec {
|
||||
description = "Ocaml bindings to Pytorch";
|
||||
maintainers = [ maintainers.bcdarwin ];
|
||||
license = licenses.asl20;
|
||||
broken = true;
|
||||
};
|
||||
}
|
||||
|
@ -7,14 +7,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "ailment";
|
||||
version = "9.0.9506";
|
||||
version = "9.0.9572";
|
||||
disabled = pythonOlder "3.6";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "angr";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-ikIO6AhoBkmz4+8BLOC55Yh6HbzHJOjlktSDMiC0I38=";
|
||||
sha256 = "sha256-cjVKIlvGu1SCiVkegJ36GevZ9bihYF7n3P/xNqtAapw=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ pyvex ];
|
||||
|
@ -11,7 +11,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "aioesphomeapi";
|
||||
version = "6.1.0";
|
||||
version = "7.0.0";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
@ -20,7 +20,7 @@ buildPythonPackage rec {
|
||||
owner = "esphome";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-C799JoW58mmwHeoXLMJ5pYg8hjaZqVBqrbxBXpmF/mQ=";
|
||||
sha256 = "sha256-ho/1fpq4yAgmYNERPqs51oqr08ncaN9+GRTUUuGU7ps=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
@ -43,14 +43,14 @@ in
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "angr";
|
||||
version = "9.0.9506";
|
||||
version = "9.0.9572";
|
||||
disabled = pythonOlder "3.6";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = pname;
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-2bKsLmZeFs7N4YUYxIktDoOn/H8waaOaOJOzyVumuf8=";
|
||||
sha256 = "sha256-ZA2PKyJVXrSs2IvpjMyHGrtAPUpUZFhUzlKURLEWm5o=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
@ -9,14 +9,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "angrop";
|
||||
version = "9.0.9506";
|
||||
version = "9.0.9572";
|
||||
disabled = pythonOlder "3.6";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "angr";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-dTaTtiMzIm9PfVkjAED9x9zae+vdRcl1kDMtqUWvpkA=";
|
||||
sha256 = "sha256-R4i7hQGwc74/szehcWBjkC6b9DsblluHKWxEk0iSFRI=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
@ -7,13 +7,13 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "archinfo";
|
||||
version = "9.0.9506";
|
||||
version = "9.0.9572";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "angr";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-jGXJpwiP2/O2aJhAP15VGqrekiiB0eiIFCjkzNMbqxw=";
|
||||
sha256 = "sha256-OzgLGjEVOVRnQvWVcci8EGn6gtO8D8QoDnC9dfXGHZU=";
|
||||
};
|
||||
|
||||
checkInputs = [
|
||||
|
@ -3,14 +3,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "awslambdaric";
|
||||
version = "1.2.0";
|
||||
version = "1.2.2";
|
||||
disabled = isPy27;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "aws";
|
||||
repo = "aws-lambda-python-runtime-interface-client";
|
||||
rev = version;
|
||||
sha256 = "120qar8iaxj6dmnhjw1c40n2w06f1nyxy57dwh06xdiany698fg4";
|
||||
sha256 = "1r4b4w5xhf6p4vs7yx89kighlqim9f96v2ryknmrnmblgr4kg0h1";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
@ -11,12 +11,12 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "azure-mgmt-servicebus";
|
||||
version = "6.0.0";
|
||||
version = "7.0.0";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
extension = "zip";
|
||||
sha256 = "f6c64ed97d22d0c03c4ca5fc7594bd0f3d4147659c10110160009b93f541298e";
|
||||
sha256 = "ee859efec2ec9fc8d059811967b1cb17836f4f5786e7406494a42f51f0667822";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
@ -6,11 +6,11 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "bitarray";
|
||||
version = "2.2.1";
|
||||
version = "2.3.2";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "sha256-MbQNcWofBkLqnidBwpt1YpkHXbLh0evnUOPiwUafWJ0=";
|
||||
sha256 = "sha256-S+47qRZLZs72TxCZ6aO4jpndzQyUOAfplENhPhhLSLQ=";
|
||||
};
|
||||
|
||||
checkPhase = ''
|
||||
|
@ -9,7 +9,7 @@
|
||||
let
|
||||
withPlugins = plugins: buildPythonPackage {
|
||||
name = "${package.name}-with-plugins";
|
||||
phases = [ "installPhase" "fixupPhase" ];
|
||||
dontUnpack = true;
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
propagatedBuildInputs = plugins ++ package.propagatedBuildInputs;
|
||||
|
||||
|
@ -1,23 +1,30 @@
|
||||
{ lib
|
||||
, buildPythonPackage
|
||||
, fetchPypi
|
||||
, pythonOlder
|
||||
, pytestCheckHook
|
||||
, pythonOlder
|
||||
, typing-extensions
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "catalogue";
|
||||
version = "2.0.4";
|
||||
version = "2.0.6";
|
||||
|
||||
disabled = pythonOlder "3.6";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-ntNF0ShVrzFfFxVYNhKya4YhorCi4775dNxdcS95g6o=";
|
||||
sha256 = "0idjhx2s8cy6ppd18k1zy246d97gdd6i217m5q26fwa47xh3asik";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = lib.optionals (pythonOlder "3.8") [
|
||||
typing-extensions
|
||||
];
|
||||
|
||||
checkInputs = [ pytestCheckHook ];
|
||||
|
||||
pythonImportsCheck = [ "catalogue" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Tiny library for adding function or object registries";
|
||||
homepage = "https://github.com/explosion/catalogue";
|
||||
|
@ -2,33 +2,41 @@
|
||||
, backoff
|
||||
, buildPythonPackage
|
||||
, fetchFromGitHub
|
||||
, importlib-metadata
|
||||
, parameterized
|
||||
, poetry-core
|
||||
, pytestCheckHook
|
||||
, pythonOlder
|
||||
, requests
|
||||
, requests-mock
|
||||
, responses
|
||||
, rich
|
||||
, types-requests
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "censys";
|
||||
version = "2.0.3";
|
||||
version = "2.0.6";
|
||||
format = "pyproject";
|
||||
|
||||
disabled = pythonOlder "3.6";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "censys";
|
||||
repo = "censys-python";
|
||||
rev = "v${version}";
|
||||
sha256 = "0ga5f6xv6rylfvalnl3cflr0w30r771gb05n5cjhxisb8an0qcb6";
|
||||
sha256 = "sha256-Lbd2Pm79n0cFoGHC2rucxgZijzcVYVJJsq1yzqB9QLk=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
poetry-core
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
backoff
|
||||
requests
|
||||
rich
|
||||
types-requests
|
||||
] ++ lib.optionals (pythonOlder "3.8") [
|
||||
importlib-metadata
|
||||
];
|
||||
|
||||
checkInputs = [
|
||||
@ -39,11 +47,12 @@ buildPythonPackage rec {
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace setup.py \
|
||||
--replace "rich==10.3.0" "rich" \
|
||||
--replace "types-requests==0.1.11" "types-requests"
|
||||
substituteInPlace pytest.ini --replace \
|
||||
" --cov -rs -p no:warnings" ""
|
||||
substituteInPlace pyproject.toml \
|
||||
--replace 'backoff = "^1.11.1"' 'backoff = "*"' \
|
||||
--replace 'requests = ">=2.26.0"' 'requests = "*"' \
|
||||
--replace 'rich = "^10.6.0"' 'rich = "*"'
|
||||
substituteInPlace pytest.ini \
|
||||
--replace "--cov" ""
|
||||
'';
|
||||
|
||||
# The tests want to write a configuration file
|
||||
|
@ -16,7 +16,9 @@ buildPythonPackage rec {
|
||||
sourceRoot = "source/${pname}";
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace requirements.txt --replace "protobuf~=3.13.0" "protobuf"
|
||||
substituteInPlace requirements.txt \
|
||||
--replace "protobuf~=3.13.0" "protobuf" \
|
||||
--replace "google-api-core[grpc] >= 1.14.0, < 2.0.0dev" "google-api-core[grpc] >= 1.14.0, < 3.0.0dev"
|
||||
'';
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
@ -13,14 +13,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "claripy";
|
||||
version = "9.0.9506";
|
||||
version = "9.0.9572";
|
||||
disabled = pythonOlder "3.6";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "angr";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-wczwKTtOJ4VC3UZvd1KT6GfGUk5AS90ggLi2lFjhD+Q=";
|
||||
sha256 = "sha256-YC605gIM+l9Tnx6lu0ayrnYPE6Xx+aTgDXPziFY/lDA=";
|
||||
};
|
||||
|
||||
# Use upstream z3 implementation
|
||||
|
@ -15,7 +15,7 @@
|
||||
|
||||
let
|
||||
# The binaries are following the argr projects release cycle
|
||||
version = "9.0.9506";
|
||||
version = "9.0.9572";
|
||||
|
||||
# Binary files from https://github.com/angr/binaries (only used for testing and only here)
|
||||
binaries = fetchFromGitHub {
|
||||
@ -35,7 +35,7 @@ buildPythonPackage rec {
|
||||
owner = "angr";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-jTVccnCRqsp3EBl/RSKWVekAOsGhRvdIJxRyYV2gI4Q=";
|
||||
sha256 = "sha256-b1LMHeaQqz0fNleRlME0kgSYZGGXBhFKCp0iRr/2A7c=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
@ -1,28 +1,50 @@
|
||||
{ lib, buildPythonPackage, fetchPypi, requests, coverage, unittest2 }:
|
||||
{ lib
|
||||
, buildPythonPackage
|
||||
, coverage
|
||||
, ddt
|
||||
, fetchFromGitHub
|
||||
, mock
|
||||
, pytestCheckHook
|
||||
, requests
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "codecov";
|
||||
version = "2.1.11";
|
||||
version = "2.1.12";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "6cde272454009d27355f9434f4e49f238c0273b216beda8472a65dc4957f473b";
|
||||
src = fetchFromGitHub {
|
||||
owner = "codecov";
|
||||
repo = "codecov-python";
|
||||
rev = "v${version}";
|
||||
sha256 = "0bdk1cp3hxydpx9knqfv88ywwzw7yqhywi0inxjd6x53qh75prqy";
|
||||
};
|
||||
|
||||
checkInputs = [ unittest2 ]; # Tests only
|
||||
propagatedBuildInputs = [
|
||||
requests
|
||||
coverage
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [ requests coverage ];
|
||||
checkInputs = [
|
||||
ddt
|
||||
mock
|
||||
pytestCheckHook
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
sed -i 's/, "argparse"//' setup.py
|
||||
'';
|
||||
pytestFlagsArray = [ "tests/test.py" ];
|
||||
|
||||
# No tests in archive
|
||||
doCheck = false;
|
||||
disabledTests = [
|
||||
# No git repo available and network
|
||||
"test_bowerrc_none"
|
||||
"test_prefix"
|
||||
"test_send"
|
||||
];
|
||||
|
||||
pythonImportsCheck = [ "codecov" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Python report uploader for Codecov";
|
||||
homepage = "https://codecov.io/";
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ fab ];
|
||||
};
|
||||
}
|
||||
|
@ -16,13 +16,13 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "dependency-injector";
|
||||
version = "4.34.0";
|
||||
version = "4.35.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ets-labs";
|
||||
repo = "python-dependency-injector";
|
||||
rev = version;
|
||||
sha256 = "sha256-MI0+saRe4Zi77otVPGYxrX9z8Jc5K1A1sCxHBS0uta0=";
|
||||
sha256 = "sha256-2qe4A2T3EagNCh1zSbPWblVN7p9NH8rNwQQVyESJTdk=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
@ -8,13 +8,13 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "emcee";
|
||||
version = "3.1.0";
|
||||
version = "3.1.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "dfm";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "1x9y4zwlv6hl7jms2knpa2qrh89ywsl847yb7d93n94gyx2s16p0";
|
||||
sha256 = "0q9dj7mihjjkcy6famzwhz1xcxxzzvm00n01w4bbm66ax9zvis52";
|
||||
};
|
||||
|
||||
SETUPTOOLS_SCM_PRETEND_VERSION = version;
|
||||
|
@ -6,13 +6,13 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "envisage";
|
||||
version = "5.0.0";
|
||||
version = "6.0.1";
|
||||
|
||||
disabled = isPy27;
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "0zrxlq4v3091727vf10ngc8418sp26raxa8q83i4h0sydfkh2dic";
|
||||
sha256 = "8864c29aa344f7ac26eeb94788798f2d0cc791dcf95c632da8d79ebc580e114c";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ traits apptools setuptools ];
|
||||
|
@ -17,14 +17,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "fastapi";
|
||||
version = "0.68.0";
|
||||
version = "0.68.1";
|
||||
format = "flit";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "tiangolo";
|
||||
repo = "fastapi";
|
||||
rev = version;
|
||||
sha256 = "00cjkc90h0qlca30g981zvwlxh2wc3rfipw25v667jdl9x5gxv9p";
|
||||
sha256 = "sha256-zwfopyig4ImMbkx89l8SsLW8PzoVcDN5KSd7a7fOnms=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
@ -9,13 +9,13 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "forecast-solar";
|
||||
version = "2.0.0";
|
||||
version = "2.1.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "home-assistant-libs";
|
||||
repo = "forecast_solar";
|
||||
rev = version;
|
||||
sha256 = "12d9bb3q7gp0yy152x0rcbi727wrg3w9458asp2nhnqlb8nm6j4d";
|
||||
sha256 = "sha256-UrLy+j8YDWuS9pciEDKb/+UoCcw54XWiIUAEYC72/W0=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
@ -5,7 +5,7 @@
|
||||
, googleapis-common-protos
|
||||
, grpcio
|
||||
, protobuf
|
||||
, pytz
|
||||
, proto-plus
|
||||
, requests
|
||||
, mock
|
||||
, pytest
|
||||
@ -15,11 +15,11 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "google-api-core";
|
||||
version = "1.30.0";
|
||||
version = "2.0.0";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "0724d354d394b3d763bc10dfee05807813c5210f0bd9b8e2ddf6b6925603411c";
|
||||
sha256 = "sha256-vZ6wcJ9OEN1v3bMv0HiKGQtDRCbCWL5uAO9A2hNtdo0=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
@ -27,7 +27,7 @@ buildPythonPackage rec {
|
||||
google-auth
|
||||
grpcio
|
||||
protobuf
|
||||
pytz
|
||||
proto-plus
|
||||
requests
|
||||
];
|
||||
|
||||
@ -47,8 +47,7 @@ buildPythonPackage rec {
|
||||
helpers used by all Google API clients.
|
||||
'';
|
||||
homepage = "https://github.com/googleapis/python-api-core";
|
||||
changelog =
|
||||
"https://github.com/googleapis/python-api-core/blob/v${version}/CHANGELOG.md";
|
||||
changelog = "https://github.com/googleapis/python-api-core/blob/v${version}/CHANGELOG.md";
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ SuperSandro2000 ];
|
||||
};
|
||||
|
@ -14,24 +14,22 @@
|
||||
, pytest-localserver
|
||||
, responses
|
||||
, rsa
|
||||
, six
|
||||
, pyopenssl
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "google-auth";
|
||||
version = "1.34.0";
|
||||
version = "2.0.1";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "sha256-8QlAiLrgRvsG89Gj198UcX6NlZ6RBbecV3Jb1OF1l6I=";
|
||||
sha256 = "sha256-6hrwULPgbrc+RHD3BNIwBzB7wOh8E+AV9rkEYPFAe9M=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
cachetools
|
||||
pyasn1-modules
|
||||
rsa
|
||||
six
|
||||
pyopenssl
|
||||
pyu2f
|
||||
];
|
||||
|
@ -2,13 +2,18 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "google-cloud-access-context-manager";
|
||||
version = "0.1.6";
|
||||
version = "0.1.7";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "011hbbjqjqk6fskb180hfhhsddz3i2a9gz34sf4wy1j2s4my9xy0";
|
||||
sha256 = "02adf212c8d280298ffe03a0c91743618693ec394b42cbb85b4a29f8d9544afa";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace setup.py \
|
||||
--replace "google-api-core[grpc] >= 1.26.0, < 2.0.0dev" "google-api-core[grpc] >= 1.26.0, < 2.0.1"
|
||||
'';
|
||||
|
||||
propagatedBuildInputs = [ google-api-core ];
|
||||
|
||||
# No tests in repo
|
||||
|
@ -0,0 +1,25 @@
|
||||
{ lib, buildPythonPackage, fetchPypi, googleapis-common-protos, protobuf }:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "google-cloud-audit-log";
|
||||
version = "0.1.0";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "5bf5a53c641b13828154ab21fb209669be69d71cd462f5d6456bf87722fc0eeb";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ googleapis-common-protos protobuf ];
|
||||
|
||||
# tests are a bit wonky to setup and are not very deep either
|
||||
doCheck = false;
|
||||
|
||||
pythonImportsCheck = [ "google.cloud.audit" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Google Cloud Audit Protos";
|
||||
homepage = "https://github.com/googleapis/python-audit-log";
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ SuperSandro2000 ];
|
||||
};
|
||||
}
|
@ -18,11 +18,11 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "google-cloud-bigquery";
|
||||
version = "2.23.3";
|
||||
version = "2.24.1";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "sha256-FQXtRM7YaU+S+Jqkn9dTQqJR3A1hL/XQjgPTXmANO0I=";
|
||||
sha256 = "sha256-gRHSPir4epbAZGqCqD9i1pS2yIKeeIHrTkN7dURxZJ8=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
@ -53,6 +53,12 @@ buildPythonPackage rec {
|
||||
# requires credentials
|
||||
"test_bigquery_magic"
|
||||
"TestBigQuery"
|
||||
"test_query_retry_539"
|
||||
"test_query_retry_539"
|
||||
"test_list_rows_empty_table"
|
||||
"test_list_rows_page_size"
|
||||
"test_list_rows_scalars"
|
||||
"test_list_rows_scalars_extreme"
|
||||
# Mocking of _ensure_bqstorage_client fails
|
||||
"test_to_arrow_ensure_bqstorage_client_wo_bqstorage"
|
||||
# requires network
|
||||
|
@ -11,11 +11,11 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "google-cloud-core";
|
||||
version = "1.7.2";
|
||||
version = "2.0.0";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "sha256-sQMKrcuyrrTuUUdUJjUa+DwQckVrkY+4/bgGZsS7Y7U=";
|
||||
sha256 = "sha256-kO6ZZIzPnhGhZ4Gn/FjRPlj2YrQ5xzfUjCTvGGYsJwI=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ google-api-core ];
|
||||
|
@ -13,11 +13,11 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "google-cloud-firestore";
|
||||
version = "2.2.0";
|
||||
version = "2.3.0";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "sha256-QMwvMPebC2a09XmKQKYFPwVIbZlnUEaXxTh8hlnS9Js=";
|
||||
sha256 = "sha256-gc68S+utdcO2OSCRAxyTCjnXBfUxWN/D7PfNg3cUzQ8=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
@ -43,6 +43,8 @@ buildPythonPackage rec {
|
||||
# Tests are broken
|
||||
"tests/system/test_system.py"
|
||||
"tests/system/test_system_async.py"
|
||||
# requires credentials
|
||||
"tests/unit/v1/test_bulk_writer.py"
|
||||
];
|
||||
|
||||
disabledTests = [
|
||||
|
@ -4,6 +4,8 @@
|
||||
, django
|
||||
, flask
|
||||
, google-api-core
|
||||
, google-cloud-appengine-logging
|
||||
, google-cloud-audit-log
|
||||
, google-cloud-core
|
||||
, google-cloud-testutils
|
||||
, mock
|
||||
@ -22,7 +24,13 @@ buildPythonPackage rec {
|
||||
sha256 = "sha256-SZ7tXxPKuAXIeAsNFKDZMan/HWXvzN2eaHctQOfa1MU=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ google-api-core google-cloud-core proto-plus ];
|
||||
propagatedBuildInputs = [
|
||||
google-api-core
|
||||
google-cloud-appengine-logging
|
||||
google-cloud-audit-log
|
||||
google-cloud-core
|
||||
proto-plus
|
||||
];
|
||||
|
||||
checkInputs = [
|
||||
django
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user