Merge master into staging-next

This commit is contained in:
Frederik Rietdijk 2020-10-13 19:34:34 +02:00
commit 9e1943edc0
210 changed files with 11913 additions and 8961 deletions

View File

@ -10,7 +10,7 @@ jobs:
- uses: actions/checkout@v2 - uses: actions/checkout@v2
with: with:
fetch-depth: 0 fetch-depth: 0
- uses: technote-space/get-diff-action@v3.1.0 - uses: technote-space/get-diff-action@v4.0.0
- name: Fetch editorconfig-checker - name: Fetch editorconfig-checker
if: env.GIT_DIFF if: env.GIT_DIFF
env: env:

View File

@ -12,12 +12,13 @@ Agda can be installed from `agda`:
$ nix-env -iA agda $ nix-env -iA agda
``` ```
To use agda with libraries, the `agda.withPackages` function can be used. This function either takes: To use Agda with libraries, the `agda.withPackages` function can be used. This function either takes:
+ A list of packages,
+ or a function which returns a list of packages when given the `agdaPackages` attribute set,
+ or an attribute set containing a list of packages and a GHC derivation for compilation (see below).
For example, suppose we wanted a version of agda which has access to the standard library. This can be obtained with the expressions: * A list of packages,
* or a function which returns a list of packages when given the `agdaPackages` attribute set,
* or an attribute set containing a list of packages and a GHC derivation for compilation (see below).
For example, suppose we wanted a version of Agda which has access to the standard library. This can be obtained with the expressions:
``` ```
agda.withPackages [ agdaPackages.standard-library ] agda.withPackages [ agdaPackages.standard-library ]
@ -33,18 +34,19 @@ or can be called as in the [Compiling Agda](#compiling-agda) section.
If you want to use a library in your home directory (for instance if it is a development version) then typecheck it manually (using `agda.withPackages` if necessary) and then override the `src` attribute of the package to point to your local repository. If you want to use a library in your home directory (for instance if it is a development version) then typecheck it manually (using `agda.withPackages` if necessary) and then override the `src` attribute of the package to point to your local repository.
Agda will not by default use these libraries. To tell agda to use the library we have some options: Agda will not by default use these libraries. To tell Agda to use the library we have some options:
- Call `agda` with the library flag:
* Call `agda` with the library flag:
``` ```
$ agda -l standard-library -i . MyFile.agda $ agda -l standard-library -i . MyFile.agda
``` ```
- Write a `my-library.agda-lib` file for the project you are working on which may look like: * Write a `my-library.agda-lib` file for the project you are working on which may look like:
``` ```
name: my-library name: my-library
include: . include: .
depend: standard-library depend: standard-library
``` ```
- Create the file `~/.agda/defaults` and add any libraries you want to use by default. * Create the file `~/.agda/defaults` and add any libraries you want to use by default.
More information can be found in the [official Agda documentation on library management](https://agda.readthedocs.io/en/v2.6.1/tools/package-system.html). More information can be found in the [official Agda documentation on library management](https://agda.readthedocs.io/en/v2.6.1/tools/package-system.html).
@ -60,12 +62,13 @@ agda.withPackages {
``` ```
## Writing Agda packages ## Writing Agda packages
To write a nix derivation for an agda library, first check that the library has a `*.agda-lib` file. To write a nix derivation for an Agda library, first check that the library has a `*.agda-lib` file.
A derivation can then be written using `agdaPackages.mkDerivation`. This has similar arguments to `stdenv.mkDerivation` with the following additions: A derivation can then be written using `agdaPackages.mkDerivation`. This has similar arguments to `stdenv.mkDerivation` with the following additions:
+ `everythingFile` can be used to specify the location of the `Everything.agda` file, defaulting to `./Everything.agda`. If this file does not exist then either it should be patched in or the `buildPhase` should be overridden (see below).
+ `libraryName` should be the name that appears in the `*.agda-lib` file, defaulting to `pname`. * `everythingFile` can be used to specify the location of the `Everything.agda` file, defaulting to `./Everything.agda`. If this file does not exist then either it should be patched in or the `buildPhase` should be overridden (see below).
+ `libraryFile` should be the file name of the `*.agda-lib` file, defaulting to `${libraryName}.agda-lib`. * `libraryName` should be the name that appears in the `*.agda-lib` file, defaulting to `pname`.
* `libraryFile` should be the file name of the `*.agda-lib` file, defaulting to `${libraryName}.agda-lib`.
### Building Agda packages ### Building Agda packages
The default build phase for `agdaPackages.mkDerivation` simply runs `agda` on the `Everything.agda` file. The default build phase for `agdaPackages.mkDerivation` simply runs `agda` on the `Everything.agda` file.
@ -74,12 +77,14 @@ Additionally, a `preBuild` or `configurePhase` can be used if there are steps th
`agda` and the Agda libraries contained in `buildInputs` are made available during the build phase. `agda` and the Agda libraries contained in `buildInputs` are made available during the build phase.
### Installing Agda packages ### Installing Agda packages
The default install phase copies agda source files, agda interface files (`*.agdai`) and `*.agda-lib` files to the output directory. The default install phase copies Agda source files, Agda interface files (`*.agdai`) and `*.agda-lib` files to the output directory.
This can be overridden. This can be overridden.
By default, agda sources are files ending on `.agda`, or literate agda files ending on `.lagda`, `.lagda.tex`, `.lagda.org`, `.lagda.md`, `.lagda.rst`. The list of recognised agda source extensions can be extended by setting the `extraExtensions` config variable. By default, Agda sources are files ending on `.agda`, or literate Agda files ending on `.lagda`, `.lagda.tex`, `.lagda.org`, `.lagda.md`, `.lagda.rst`. The list of recognised Agda source extensions can be extended by setting the `extraExtensions` config variable.
To add an agda package to `nixpkgs`, the derivation should be written to `pkgs/development/libraries/agda/${library-name}/` and an entry should be added to `pkgs/top-level/agda-packages.nix`. Here it is called in a scope with access to all other agda libraries, so the top line of the `default.nix` can look like: ## Adding Agda packages to Nixpkgs
To add an Agda package to `nixpkgs`, the derivation should be written to `pkgs/development/libraries/agda/${library-name}/` and an entry should be added to `pkgs/top-level/agda-packages.nix`. Here it is called in a scope with access to all other Agda libraries, so the top line of the `default.nix` can look like:
``` ```
{ mkDerivation, standard-library, fetchFromGitHub }: { mkDerivation, standard-library, fetchFromGitHub }:
``` ```
@ -103,4 +108,4 @@ mkDerivation {
``` ```
This library has a file called `.agda-lib`, and so we give an empty string to `libraryFile` as nothing precedes `.agda-lib` in the filename. This file contains `name: IAL-1.3`, and so we let `libraryName = "IAL-1.3"`. This library does not use an `Everything.agda` file and instead has a Makefile, so there is no need to set `everythingFile` and we set a custom `buildPhase`. This library has a file called `.agda-lib`, and so we give an empty string to `libraryFile` as nothing precedes `.agda-lib` in the filename. This file contains `name: IAL-1.3`, and so we let `libraryName = "IAL-1.3"`. This library does not use an `Everything.agda` file and instead has a Makefile, so there is no need to set `everythingFile` and we set a custom `buildPhase`.
When writing an agda package it is essential to make sure that no `.agda-lib` file gets added to the store as a single file (for example by using `writeText`). This causes agda to think that the nix store is a agda library and it will attempt to write to it whenever it typechecks something. See [https://github.com/agda/agda/issues/4613](https://github.com/agda/agda/issues/4613). When writing an Agda package it is essential to make sure that no `.agda-lib` file gets added to the store as a single file (for example by using `writeText`). This causes Agda to think that the nix store is a Agda library and it will attempt to write to it whenever it typechecks something. See [https://github.com/agda/agda/issues/4613](https://github.com/agda/agda/issues/4613).

View File

@ -755,8 +755,8 @@ and in this case the `python38` interpreter is automatically used.
### Interpreters ### Interpreters
Versions 2.7, 3.6, 3.7 and 3.8 of the CPython interpreter are available as Versions 2.7, 3.6, 3.7, 3.8 and 3.9 of the CPython interpreter are available as
respectively `python27`, `python36`, `python37` and `python38`. The respectively `python27`, `python36`, `python37`, `python38` and `python39`. The
aliases `python2` and `python3` correspond to respectively `python27` and aliases `python2` and `python3` correspond to respectively `python27` and
`python38`. The default interpreter, `python`, maps to `python2`. The PyPy `python38`. The default interpreter, `python`, maps to `python2`. The PyPy
interpreters compatible with Python 2.7 and 3 are available as `pypy27` and interpreters compatible with Python 2.7 and 3 are available as `pypy27` and

View File

@ -45,7 +45,7 @@
modules ++ [ modules ++ [
{ {
system.nixos.versionSuffix = system.nixos.versionSuffix =
".${final.substring 0 8 (self.lastModifiedDate or self.lastModified)}.${self.shortRev or "dirty"}"; ".${final.substring 0 8 (self.lastModifiedDate or self.lastModified or "19700101")}.${self.shortRev or "dirty"}";
system.nixos.revision = final.mkIf (self ? rev) self.rev; system.nixos.revision = final.mkIf (self ? rev) self.rev;
system.build = { system.build = {

View File

@ -2395,6 +2395,12 @@
githubId = 984691; githubId = 984691;
name = "Evan Danaher"; name = "Evan Danaher";
}; };
edcragg = {
email = "ed.cragg@eipi.xyz";
github = "nuxeh";
githubId = 1516017;
name = "Ed Cragg";
};
edef = { edef = {
email = "edef@edef.eu"; email = "edef@edef.eu";
github = "edef1c"; github = "edef1c";
@ -4274,6 +4280,12 @@
githubId = 39434424; githubId = 39434424;
name = "Felix Springer"; name = "Felix Springer";
}; };
justinas = {
email = "justinas@justinas.org";
github = "justinas";
githubId = 662666;
name = "Justinas Stankevičius";
};
justinlovinger = { justinlovinger = {
email = "git@justinlovinger.com"; email = "git@justinlovinger.com";
github = "JustinLovinger"; github = "JustinLovinger";
@ -6243,6 +6255,12 @@
githubId = 40049608; githubId = 40049608;
name = "Andy Chun"; name = "Andy Chun";
}; };
norfair = {
email = "syd@cs-syd.eu";
github = "NorfairKing";
githubId = 3521180;
name = "Tom Sydney Kerckhove";
};
notthemessiah = { notthemessiah = {
email = "brian.cohen.88@gmail.com"; email = "brian.cohen.88@gmail.com";
github = "notthemessiah"; github = "notthemessiah";
@ -6377,6 +6395,12 @@
githubId = 1538622; githubId = 1538622;
name = "Michael Reilly"; name = "Michael Reilly";
}; };
onny = {
email = "onny@project-insanity.org";
github = "onny";
githubId = 757752;
name = "Jonas Heinrich";
};
OPNA2608 = { OPNA2608 = {
email = "christoph.neidahl@gmail.com"; email = "christoph.neidahl@gmail.com";
github = "OPNA2608"; github = "OPNA2608";
@ -9106,6 +9130,12 @@
githubId = 508305; githubId = 508305;
name = "Jaroslavas Pocepko"; name = "Jaroslavas Pocepko";
}; };
vonfry = {
email = "nixos@vonfry.name";
github = "Vonfry";
githubId = 3413119;
name = "Vonfry";
};
vozz = { vozz = {
email = "oliver.huntuk@gmail.com"; email = "oliver.huntuk@gmail.com";
name = "Oliver Hunt"; name = "Oliver Hunt";

View File

@ -232,28 +232,6 @@ GRANT ALL PRIVILEGES ON *.* TO 'mysql'@'localhost' WITH GRANT OPTION;
<filename>testing-python.nix</filename> respectively. <filename>testing-python.nix</filename> respectively.
</para> </para>
</listitem> </listitem>
<listitem>
<para>
The Mediatomb service declares new options. It also adapts existing
options to make the configuration generation lazy. The existing option
<literal>customCfg</literal> (defaults to false), when enabled, stops
the service configuration generation completely. It then expects the
users to provide their own correct configuration at the right location
(whereas the configuration was generated and not used at all before).
The new option <literal>transcodingOption</literal> (defaults to no)
allows a generated configuration. It makes the mediatomb service pulls
the necessary runtime dependencies in the nix store (whereas it was
generated with hardcoded values before). The new option
<literal>mediaDirectories</literal> allows the users to declare autoscan
media directories from their nixos configuration:
<programlisting>
services.mediatomb.mediaDirectories = [
{ path = "/var/lib/mediatomb/pictures"; recursive = false; hidden-files = false; }
{ path = "/var/lib/mediatomb/audio"; recursive = true; hidden-files = false; }
];
</programlisting>
</para>
</listitem>
</itemizedlist> </itemizedlist>
</section> </section>
@ -871,6 +849,13 @@ CREATE ROLE postgres LOGIN SUPERUSER;
functionally redundent. functionally redundent.
</para> </para>
</listitem> </listitem>
<listitem>
<para>
The <literal>hardware.nvidia.optimus_prime.enable</literal> service has been renamed to
<literal>hardware.nvidia.prime.sync.enable</literal> and has many new enhancements.
Related nvidia prime settings may have also changed.
</para>
</listitem>
<listitem> <listitem>
<para> <para>
The package <package>nextcloud17</package> has been removed and <package>nextcloud18</package> was marked as insecure The package <package>nextcloud17</package> has been removed and <package>nextcloud18</package> was marked as insecure
@ -898,19 +883,9 @@ CREATE ROLE postgres LOGIN SUPERUSER;
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
The mediatomb service is now using the new and maintained <literal>gerbera</literal> The GNOME desktop manager no longer default installs <package>gnome3.epiphany</package>.
<literal>gerbera</literal> fork instead of the unmaintained It was chosen to do this as it has a usability breaking issue (see issue <link xlink:href="https://github.com/NixOS/nixpkgs/issues/98819">#98819</link>)
<literal>mediatomb</literal> package. If you want to keep the old that makes it unsuitable to be a default app.
behavior, you must declare it with:
<programlisting>
services.mediatomb.package = pkgs.mediatomb;
</programlisting>
One new option <literal>openFirewall</literal> has been introduced which
defaults to false. If you relied on the service declaration to add the
firewall rules itself before, you should now declare it with:
<programlisting>
services.mediatomb.openFirewall = true;
</programlisting>
</para> </para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>

View File

@ -82,6 +82,17 @@
for consistency with other X11 resources. for consistency with other X11 resources.
</para> </para>
</listitem> </listitem>
<listitem>
<para>
A number of options have been renamed in the kicad interface. <literal>oceSupport</literal>
has been renamed to <literal>withOCE</literal>, <literal>withOCCT</literal> has been renamed
to <literal>withOCC</literal>, <literal>ngspiceSupport</literal> has been renamed to
<literal>withNgspice</literal>, and <literal>scriptingSupport</literal> has been renamed to
<literal>withScripting</literal>. Additionally, <literal>kicad/base.nix</literal> no longer
provides default argument values since these are provided by
<literal>kicad/default.nix</literal>.
</para>
</listitem>
</itemizedlist> </itemizedlist>
</section> </section>

View File

@ -442,6 +442,7 @@
./services/misc/dysnomia.nix ./services/misc/dysnomia.nix
./services/misc/disnix.nix ./services/misc/disnix.nix
./services/misc/docker-registry.nix ./services/misc/docker-registry.nix
./services/misc/domoticz.nix
./services/misc/errbot.nix ./services/misc/errbot.nix
./services/misc/etcd.nix ./services/misc/etcd.nix
./services/misc/ethminer.nix ./services/misc/ethminer.nix
@ -466,6 +467,7 @@
./services/misc/irkerd.nix ./services/misc/irkerd.nix
./services/misc/jackett.nix ./services/misc/jackett.nix
./services/misc/jellyfin.nix ./services/misc/jellyfin.nix
./services/misc/klipper.nix
./services/misc/logkeys.nix ./services/misc/logkeys.nix
./services/misc/leaps.nix ./services/misc/leaps.nix
./services/misc/lidarr.nix ./services/misc/lidarr.nix

View File

@ -122,19 +122,22 @@ let
"--email" data.email "--email" data.email
"--key-type" data.keyType "--key-type" data.keyType
] ++ protocolOpts ] ++ protocolOpts
++ optionals data.ocspMustStaple [ "--must-staple" ]
++ optionals (acmeServer != null) [ "--server" acmeServer ] ++ optionals (acmeServer != null) [ "--server" acmeServer ]
++ concatMap (name: [ "-d" name ]) extraDomains ++ concatMap (name: [ "-d" name ]) extraDomains
++ data.extraLegoFlags; ++ data.extraLegoFlags;
# Although --must-staple is common to both modes, it is not declared as a
# mode-agnostic argument in lego and thus must come after the mode.
runOpts = escapeShellArgs ( runOpts = escapeShellArgs (
commonOpts commonOpts
++ [ "run" ] ++ [ "run" ]
++ optionals data.ocspMustStaple [ "--must-staple" ]
++ data.extraLegoRunFlags ++ data.extraLegoRunFlags
); );
renewOpts = escapeShellArgs ( renewOpts = escapeShellArgs (
commonOpts commonOpts
++ [ "renew" "--reuse-key" ] ++ [ "renew" "--reuse-key" ]
++ optionals data.ocspMustStaple [ "--must-staple" ]
++ data.extraLegoRenewFlags ++ data.extraLegoRenewFlags
); );

View File

@ -0,0 +1,51 @@
{ lib, pkgs, config, ... }:
with lib;
let
cfg = config.services.domoticz;
pkgDesc = "Domoticz home automation";
in {
options = {
services.domoticz = {
enable = mkEnableOption pkgDesc;
bind = mkOption {
type = types.str;
default = "0.0.0.0";
description = "IP address to bind to.";
};
port = mkOption {
type = types.int;
default = 8080;
description = "Port to bind to for HTTP, set to 0 to disable HTTP.";
};
};
};
config = mkIf cfg.enable {
systemd.services."domoticz" = {
description = pkgDesc;
wantedBy = [ "multi-user.target" ];
after = [ "network-online.target" ];
serviceConfig = {
DynamicUser = true;
StateDirectory = "domoticz";
Restart = "always";
ExecStart = ''
${pkgs.domoticz}/bin/domoticz -noupdates -www ${toString cfg.port} -wwwbind ${cfg.bind} -sslwww 0 -userdata /var/lib/domoticz -approot ${pkgs.domoticz}/share/domoticz/ -pidfile /var/run/domoticz.pid
'';
};
};
};
}

View File

@ -73,6 +73,11 @@ let
redisConfig.production.url = cfg.redisUrl; redisConfig.production.url = cfg.redisUrl;
pagesArgs = [
"-pages-domain" gitlabConfig.production.pages.host
"-pages-root" "${gitlabConfig.production.shared.path}/pages"
] ++ cfg.pagesExtraArgs;
gitlabConfig = { gitlabConfig = {
# These are the default settings from config/gitlab.example.yml # These are the default settings from config/gitlab.example.yml
production = flip recursiveUpdate cfg.extraConfig { production = flip recursiveUpdate cfg.extraConfig {
@ -236,6 +241,13 @@ in {
description = "Reference to the gitaly package"; description = "Reference to the gitaly package";
}; };
packages.pages = mkOption {
type = types.package;
default = pkgs.gitlab-pages;
defaultText = "pkgs.gitlab-pages";
description = "Reference to the gitlab-pages package";
};
statePath = mkOption { statePath = mkOption {
type = types.str; type = types.str;
default = "/var/gitlab/state"; default = "/var/gitlab/state";
@ -451,6 +463,12 @@ in {
}; };
}; };
pagesExtraArgs = mkOption {
type = types.listOf types.str;
default = [ "-listen-proxy" "127.0.0.1:8090" ];
description = "Arguments to pass to the gitlab-pages daemon";
};
secrets.secretFile = mkOption { secrets.secretFile = mkOption {
type = with types; nullOr path; type = with types; nullOr path;
default = null; default = null;
@ -754,6 +772,26 @@ in {
}; };
}; };
systemd.services.gitlab-pages = mkIf (gitlabConfig.production.pages.enabled or false) {
description = "GitLab static pages daemon";
after = [ "network.target" "redis.service" "gitlab.service" ]; # gitlab.service creates configs
wantedBy = [ "multi-user.target" ];
path = [ pkgs.unzip ];
serviceConfig = {
Type = "simple";
TimeoutSec = "infinity";
Restart = "on-failure";
User = cfg.user;
Group = cfg.group;
ExecStart = "${cfg.packages.pages}/bin/gitlab-pages ${escapeShellArgs pagesArgs}";
WorkingDirectory = gitlabEnv.HOME;
};
};
systemd.services.gitlab-workhorse = { systemd.services.gitlab-workhorse = {
after = [ "network.target" ]; after = [ "network.target" ];
wantedBy = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ];

View File

@ -0,0 +1,59 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.services.klipper;
package = pkgs.klipper;
format = pkgs.formats.ini { mkKeyValue = generators.mkKeyValueDefault {} ":"; };
in
{
##### interface
options = {
services.klipper = {
enable = mkEnableOption "Klipper, the 3D printer firmware";
octoprintIntegration = mkOption {
type = types.bool;
default = false;
description = "Allows Octoprint to control Klipper.";
};
settings = mkOption {
type = format.type;
default = { };
description = ''
Configuration for Klipper. See the <link xlink:href="https://www.klipper3d.org/Overview.html#configuration-and-tuning-guides">documentation</link>
for supported values.
'';
};
};
};
##### implementation
config = mkIf cfg.enable {
assertions = [{
assertion = cfg.octoprintIntegration -> config.services.octoprint.enable;
message = "Option klipper.octoprintIntegration requires Octoprint to be enabled on this system. Please enable services.octoprint to use it.";
}];
environment.etc."klipper.cfg".source = format.generate "klipper.cfg" cfg.settings;
systemd.services.klipper = {
description = "Klipper 3D Printer Firmware";
wantedBy = [ "multi-user.target" ];
after = [ "network.target" ];
serviceConfig = {
ExecStart = "${package}/lib/klipper/klippy.py --input-tty=/run/klipper/tty /etc/klipper.cfg";
RuntimeDirectory = "klipper";
SupplementaryGroups = [ "dialout" ];
WorkingDirectory = "${package}/lib";
} // (if cfg.octoprintIntegration then {
Group = config.services.octoprint.group;
User = config.services.octoprint.user;
} else {
DynamicUser = true;
User = "klipper";
});
};
};
}

View File

@ -239,7 +239,7 @@ in
system.nssModules = optional cfg.nssmdns pkgs.nssmdns; system.nssModules = optional cfg.nssmdns pkgs.nssmdns;
system.nssDatabases.hosts = optionals cfg.nssmdns (mkMerge [ system.nssDatabases.hosts = optionals cfg.nssmdns (mkMerge [
[ "mdns_minimal [NOTFOUND=return]" ] (mkOrder 900 [ "mdns_minimal [NOTFOUND=return]" ]) # must be before resolve
(mkOrder 1501 [ "mdns" ]) # 1501 to ensure it's after dns (mkOrder 1501 [ "mdns" ]) # 1501 to ensure it's after dns
]); ]);

View File

@ -35,25 +35,18 @@ in {
}; };
}; };
config = mkIf config.services.dnsdist.enable { config = mkIf cfg.enable {
systemd.packages = [ pkgs.dnsdist ];
systemd.services.dnsdist = { systemd.services.dnsdist = {
description = "dnsdist load balancer";
wantedBy = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ];
after = ["network.target"];
serviceConfig = { serviceConfig = {
Restart="on-failure";
RestartSec="1";
DynamicUser = true; DynamicUser = true;
StartLimitInterval="0";
PrivateDevices=true; # upstream overrides for better nixos compatibility
AmbientCapabilities="CAP_NET_BIND_SERVICE"; ExecStartPre = [ "" "${pkgs.dnsdist}/bin/dnsdist --check-config --config ${configFile}" ];
CapabilityBoundingSet="CAP_NET_BIND_SERVICE"; ExecStart = [ "" "${pkgs.dnsdist}/bin/dnsdist --supervised --disable-syslog --config ${configFile}" ];
ExecStart = "${pkgs.dnsdist}/bin/dnsdist --supervised --disable-syslog --config ${configFile}";
ProtectHome=true;
RestrictAddressFamilies="AF_UNIX AF_INET AF_INET6";
LimitNOFILE="16384";
TasksMax="8192";
}; };
}; };
}; };

View File

@ -374,7 +374,9 @@ in
baobab baobab
cheese cheese
eog eog
epiphany /* Not in good standing on nixos:
* https://github.com/NixOS/nixpkgs/issues/98819
/* epiphany */
gedit gedit
gnome-calculator gnome-calculator
gnome-calendar gnome-calendar

View File

@ -4,13 +4,15 @@ with lib;
let let
inherit (lib) mkOption mkIf optionals literalExample; inherit (lib) mkOption mkIf optionals literalExample;
cfg = config.services.xserver.windowManager.xmonad; cfg = config.services.xserver.windowManager.xmonad;
xmonad = pkgs.xmonad-with-packages.override {
xmonad-vanilla = pkgs.xmonad-with-packages.override {
ghcWithPackages = cfg.haskellPackages.ghcWithPackages; ghcWithPackages = cfg.haskellPackages.ghcWithPackages;
packages = self: cfg.extraPackages self ++ packages = self: cfg.extraPackages self ++
optionals cfg.enableContribAndExtras optionals cfg.enableContribAndExtras
[ self.xmonad-contrib self.xmonad-extras ]; [ self.xmonad-contrib self.xmonad-extras ];
}; };
xmonadBin = pkgs.writers.writeHaskell "xmonad" {
xmonad-config = pkgs.writers.writeHaskellBin "xmonad" {
ghc = cfg.haskellPackages.ghc; ghc = cfg.haskellPackages.ghc;
libraries = [ cfg.haskellPackages.xmonad ] ++ libraries = [ cfg.haskellPackages.xmonad ] ++
cfg.extraPackages cfg.haskellPackages ++ cfg.extraPackages cfg.haskellPackages ++
@ -19,8 +21,10 @@ let
inherit (cfg) ghcArgs; inherit (cfg) ghcArgs;
} cfg.config; } cfg.config;
in xmonad = if (cfg.config != null) then xmonad-config else xmonad-vanilla;
{ in {
meta.maintainers = with maintainers; [ lassulus xaverdh ];
options = { options = {
services.xserver.windowManager.xmonad = { services.xserver.windowManager.xmonad = {
enable = mkEnableOption "xmonad"; enable = mkEnableOption "xmonad";
@ -62,19 +66,50 @@ in
default = null; default = null;
type = with lib.types; nullOr (either path str); type = with lib.types; nullOr (either path str);
description = '' description = ''
Configuration from which XMonad gets compiled. If no value Configuration from which XMonad gets compiled. If no value is
is specified, the xmonad config from $HOME/.xmonad is taken. specified, a vanilla xmonad binary is put in PATH, which will
If you use xmonad --recompile, $HOME/.xmonad will be taken as attempt to recompile and exec your xmonad config from $HOME/.xmonad.
the configuration, but on the next restart of display-manager This setup is then analogous to other (non-NixOS) linux distributions.
this config will be reapplied.
If you do set this option, you likely want to use "launch" as your
entry point for xmonad (as in the example), to avoid xmonads
recompilation logic on startup. Doing so will render the default
"mod+q" restart key binding dysfunctional though, because that attempts
to call your binary with the "--restart" command line option, unless
you implement that yourself. You way mant to bind "mod+q" to
<literal>(restart "xmonad" True)</literal> instead, which will just restart
xmonad from PATH. This allows e.g. switching to the new xmonad binary,
after rebuilding your system with nixos-rebuild.
If you actually want to run xmonad with a config specified here, but
also be able to recompile and restart it from a copy of that source in
$HOME/.xmonad on the fly, you will have to implement that yourself
using something like "compileRestart" from the example.
This should allow you to switch at will between the local xmonad and
the one NixOS puts in your PATH.
''; '';
example = '' example = ''
import XMonad import XMonad
import XMonad.Util.EZConfig (additionalKeys)
import Text.Printf (printf)
import System.Posix.Process (executeFile)
import System.Info (arch,os)
import System.Environment (getArgs)
import System.FilePath ((</>))
compiledConfig = printf "xmonad-%s-%s" arch os
compileRestart = whenX (recompile True) . catchIO $ do
dir <- getXMonadDataDir
args <- getArgs
executeFile (dir </> compiledConfig) False args Nothing
main = launch defaultConfig main = launch defaultConfig
{ modMask = mod4Mask -- Use Super instead of Alt { modMask = mod4Mask -- Use Super instead of Alt
, terminal = "urxvt" , terminal = "urxvt" }
} `additionalKeys`
[ ( (mod4Mask,xK_r), compileRestart )
, ( (mod4Mask,xK_q), restart "xmonad" True ) ]
''; '';
}; };
@ -101,10 +136,8 @@ in
services.xserver.windowManager = { services.xserver.windowManager = {
session = [{ session = [{
name = "xmonad"; name = "xmonad";
start = let start = ''
xmonadCommand = if (cfg.config != null) then xmonadBin else "${xmonad}/bin/xmonad"; systemd-cat -t xmonad -- ${xmonad}/bin/xmonad ${lib.escapeShellArgs cfg.xmonadCliArgs} &
in ''
systemd-cat -t xmonad -- ${xmonadCommand} ${lib.escapeShellArgs cfg.xmonadCliArgs} &
waitPID=$! waitPID=$!
''; '';
}]; }];

View File

@ -711,7 +711,7 @@ in
system.extraDependencies = singleton (pkgs.runCommand "xkb-validated" { system.extraDependencies = singleton (pkgs.runCommand "xkb-validated" {
inherit (cfg) xkbModel layout xkbVariant xkbOptions; inherit (cfg) xkbModel layout xkbVariant xkbOptions;
nativeBuildInputs = [ pkgs.xkbvalidate ]; nativeBuildInputs = with pkgs.buildPackages; [ xkbvalidate ];
preferLocalBuild = true; preferLocalBuild = true;
} '' } ''
xkbvalidate "$xkbModel" "$layout" "$xkbVariant" "$xkbOptions" xkbvalidate "$xkbModel" "$layout" "$xkbVariant" "$xkbOptions"

View File

@ -97,6 +97,19 @@ in import ./make-test-python.nix ({ lib, ... }: {
}; };
}; };
# Test OCSP Stapling
specialisation.ocsp-stapling.configuration = { pkgs, ... }: {
security.acme.certs."a.example.test" = {
ocspMustStaple = true;
};
services.nginx.virtualHosts."a.example.com" = {
extraConfig = ''
ssl_stapling on;
ssl_stapling_verify on;
'';
};
};
# Test using Apache HTTPD # Test using Apache HTTPD
specialisation.httpd-aliases.configuration = { pkgs, config, lib, ... }: { specialisation.httpd-aliases.configuration = { pkgs, config, lib, ... }: {
services.nginx.enable = lib.mkForce false; services.nginx.enable = lib.mkForce false;
@ -163,6 +176,7 @@ in import ./make-test-python.nix ({ lib, ... }: {
testScript = {nodes, ...}: testScript = {nodes, ...}:
let let
caDomain = nodes.acme.config.test-support.acme.caDomain;
newServerSystem = nodes.webserver.config.system.build.toplevel; newServerSystem = nodes.webserver.config.system.build.toplevel;
switchToNewServer = "${newServerSystem}/bin/switch-to-configuration test"; switchToNewServer = "${newServerSystem}/bin/switch-to-configuration test";
in in
@ -246,6 +260,22 @@ in import ./make-test-python.nix ({ lib, ... }: {
return check_connection_key_bits(node, domain, bits, retries - 1) return check_connection_key_bits(node, domain, bits, retries - 1)
def check_stapling(node, domain, retries=3):
assert retries >= 0
# Pebble doesn't provide a full OCSP responder, so just check the URL
result = node.succeed(
"openssl s_client -CAfile /tmp/ca.crt"
f" -servername {domain} -connect {domain}:443 < /dev/null"
" | openssl x509 -noout -ocsp_uri"
)
print("OCSP Responder URL:", result)
if "${caDomain}:4002" not in result.lower():
time.sleep(1)
return check_stapling(node, domain, retries - 1)
client.start() client.start()
dnsserver.start() dnsserver.start()
@ -253,7 +283,7 @@ in import ./make-test-python.nix ({ lib, ... }: {
client.wait_for_unit("default.target") client.wait_for_unit("default.target")
client.succeed( client.succeed(
'curl --data \'{"host": "acme.test", "addresses": ["${nodes.acme.config.networking.primaryIPAddress}"]}\' http://${dnsServerIP nodes}:8055/add-a' 'curl --data \'{"host": "${caDomain}", "addresses": ["${nodes.acme.config.networking.primaryIPAddress}"]}\' http://${dnsServerIP nodes}:8055/add-a'
) )
acme.start() acme.start()
@ -262,8 +292,8 @@ in import ./make-test-python.nix ({ lib, ... }: {
acme.wait_for_unit("default.target") acme.wait_for_unit("default.target")
acme.wait_for_unit("pebble.service") acme.wait_for_unit("pebble.service")
client.succeed("curl https://acme.test:15000/roots/0 > /tmp/ca.crt") client.succeed("curl https://${caDomain}:15000/roots/0 > /tmp/ca.crt")
client.succeed("curl https://acme.test:15000/intermediate-keys/0 >> /tmp/ca.crt") client.succeed("curl https://${caDomain}:15000/intermediate-keys/0 >> /tmp/ca.crt")
with subtest("Can request certificate with HTTPS-01 challenge"): with subtest("Can request certificate with HTTPS-01 challenge"):
webserver.wait_for_unit("acme-finished-a.example.test.target") webserver.wait_for_unit("acme-finished-a.example.test.target")
@ -290,6 +320,11 @@ in import ./make-test-python.nix ({ lib, ... }: {
check_connection_key_bits(client, "a.example.test", "384") check_connection_key_bits(client, "a.example.test", "384")
webserver.succeed("grep testing /var/lib/acme/a.example.test/test") webserver.succeed("grep testing /var/lib/acme/a.example.test/test")
with subtest("Correctly implements OCSP stapling"):
switch_to(webserver, "ocsp-stapling")
webserver.wait_for_unit("acme-finished-a.example.test.target")
check_stapling(client, "a.example.test")
with subtest("Can request certificate with HTTPS-01 when nginx startup is delayed"): with subtest("Can request certificate with HTTPS-01 when nginx startup is delayed"):
switch_to(webserver, "slow-startup") switch_to(webserver, "slow-startup")
webserver.wait_for_unit("acme-finished-slow.example.com.target") webserver.wait_for_unit("acme-finished-slow.example.com.target")

View File

@ -31,7 +31,7 @@ in
machine.succeed('echo "import IO" > TestIO.agda') machine.succeed('echo "import IO" > TestIO.agda')
machine.succeed("agda -l standard-library -i . TestIO.agda") machine.succeed("agda -l standard-library -i . TestIO.agda")
# # Hello world # Hello world
machine.succeed( machine.succeed(
"cp ${hello-world} HelloWorld.agda" "cp ${hello-world} HelloWorld.agda"
) )

View File

@ -26,6 +26,7 @@ in
agda = handleTest ./agda.nix {}; agda = handleTest ./agda.nix {};
atd = handleTest ./atd.nix {}; atd = handleTest ./atd.nix {};
avahi = handleTest ./avahi.nix {}; avahi = handleTest ./avahi.nix {};
avahi-with-resolved = handleTest ./avahi.nix { networkd = true; };
babeld = handleTest ./babeld.nix {}; babeld = handleTest ./babeld.nix {};
bazarr = handleTest ./bazarr.nix {}; bazarr = handleTest ./bazarr.nix {};
bcachefs = handleTestOn ["x86_64-linux"] ./bcachefs.nix {}; # linux-4.18.2018.10.12 is unsupported on aarch64 bcachefs = handleTestOn ["x86_64-linux"] ./bcachefs.nix {}; # linux-4.18.2018.10.12 is unsupported on aarch64
@ -112,6 +113,7 @@ in
fontconfig-default-fonts = handleTest ./fontconfig-default-fonts.nix {}; fontconfig-default-fonts = handleTest ./fontconfig-default-fonts.nix {};
freeswitch = handleTest ./freeswitch.nix {}; freeswitch = handleTest ./freeswitch.nix {};
fsck = handleTest ./fsck.nix {}; fsck = handleTest ./fsck.nix {};
ft2-clone = handleTest ./ft2-clone.nix {};
gerrit = handleTest ./gerrit.nix {}; gerrit = handleTest ./gerrit.nix {};
gotify-server = handleTest ./gotify-server.nix {}; gotify-server = handleTest ./gotify-server.nix {};
grocy = handleTest ./grocy.nix {}; grocy = handleTest ./grocy.nix {};

View File

@ -1,5 +1,11 @@
{ system ? builtins.currentSystem
, config ? {}
, pkgs ? import ../.. { inherit system config; }
# bool: whether to use networkd in the tests
, networkd ? false }:
# Test whether `avahi-daemon' and `libnss-mdns' work as expected. # Test whether `avahi-daemon' and `libnss-mdns' work as expected.
import ./make-test-python.nix ({ pkgs, ... } : { import ./make-test-python.nix ({ ... } : {
name = "avahi"; name = "avahi";
meta = with pkgs.stdenv.lib.maintainers; { meta = with pkgs.stdenv.lib.maintainers; {
maintainers = [ eelco ]; maintainers = [ eelco ];
@ -17,6 +23,11 @@ import ./make-test-python.nix ({ pkgs, ... } : {
publish.workstation = true; publish.workstation = true;
extraServiceFiles.ssh = "${pkgs.avahi}/etc/avahi/services/ssh.service"; extraServiceFiles.ssh = "${pkgs.avahi}/etc/avahi/services/ssh.service";
}; };
} // pkgs.lib.optionalAttrs (networkd) {
networking = {
useNetworkd = true;
useDHCP = false;
};
}; };
in { in {
one = cfg; one = cfg;

View File

@ -5,7 +5,6 @@ let
workspaces 1 workspaces 1
escape C-t escape C-t
bind t exec env DISPLAY=:0 ${pkgs.xterm}/bin/xterm -cm -pc bind t exec env DISPLAY=:0 ${pkgs.xterm}/bin/xterm -cm -pc
bind a exec ${pkgs.alacritty}/bin/alacritty
''; '';
in in
{ {
@ -20,7 +19,7 @@ in
in { in {
imports = [ ./common/user-account.nix ]; imports = [ ./common/user-account.nix ];
environment.systemPackages = [ pkgs.cagebreak ]; environment.systemPackages = [ pkgs.cagebreak pkgs.wallutils ];
services.xserver = { services.xserver = {
enable = true; enable = true;
displayManager.autoLogin = { displayManager.autoLogin = {
@ -32,7 +31,7 @@ in
manage = "desktop"; manage = "desktop";
name = "cagebreak"; name = "cagebreak";
start = '' start = ''
export XDG_RUNTIME_DIR=/run/user/${toString alice.uid} export XDG_RUNTIME_DIR="/run/user/${toString alice.uid}"
${pkgs.cagebreak}/bin/cagebreak & ${pkgs.cagebreak}/bin/cagebreak &
waitPID=$! waitPID=$!
''; '';
@ -74,24 +73,20 @@ in
testScript = { nodes, ... }: let testScript = { nodes, ... }: let
user = nodes.machine.config.users.users.alice; user = nodes.machine.config.users.users.alice;
XDG_RUNTIME_DIR = "/run/user/${toString user.uid}";
in '' in ''
start_all() start_all()
machine.wait_for_unit("multi-user.target") machine.wait_for_unit("multi-user.target")
machine.wait_for_file("/run/user/${toString user.uid}/wayland-0") machine.wait_for_file("${XDG_RUNTIME_DIR}/wayland-0")
with subtest("ensure wayland works with alacritty"): with subtest("ensure wayland works with wayinfo from wallutils"):
machine.send_key("ctrl-t") machine.succeed("env XDG_RUNTIME_DIR=${XDG_RUNTIME_DIR} wayinfo")
machine.send_key("a")
machine.wait_until_succeeds("pgrep alacritty")
machine.wait_for_text("alice@machine")
machine.screenshot("screen")
machine.send_key("ctrl-d")
with subtest("ensure xwayland works with xterm"): with subtest("ensure xwayland works with xterm"):
machine.send_key("ctrl-t") machine.send_key("ctrl-t")
machine.send_key("t") machine.send_key("t")
machine.wait_until_succeeds("pgrep xterm") machine.wait_until_succeeds("pgrep xterm")
machine.wait_for_text("alice@machine") machine.wait_for_text("${user.name}@machine")
machine.screenshot("screen") machine.screenshot("screen")
machine.send_key("ctrl-d") machine.send_key("ctrl-d")
''; '';

View File

@ -70,7 +70,7 @@ let
privateKey = testCerts.${domain}.key; privateKey = testCerts.${domain}.key;
httpPort = 80; httpPort = 80;
tlsPort = 443; tlsPort = 443;
ocspResponderURL = "http://0.0.0.0:4002"; ocspResponderURL = "http://${domain}:4002";
strict = true; strict = true;
}; };

35
nixos/tests/ft2-clone.nix Normal file
View File

@ -0,0 +1,35 @@
import ./make-test-python.nix ({ pkgs, ... }: {
name = "ft2-clone";
meta = with pkgs.lib.maintainers; {
maintainers = [ fgaz ];
};
machine = { config, pkgs, ... }: {
imports = [
./common/x11.nix
];
services.xserver.enable = true;
sound.enable = true;
environment.systemPackages = [ pkgs.ft2-clone ];
};
enableOCR = true;
testScript =
''
machine.wait_for_x()
# Add a dummy sound card, or the program won't start
machine.execute("modprobe snd-dummy")
machine.execute("ft2-clone &")
machine.wait_for_window(r"Fasttracker")
machine.sleep(5)
# One of the few words that actually get recognized
if "Songlen" not in machine.get_screen_text():
raise Exception("Program did not start successfully")
machine.screenshot("screen")
'';
})

View File

@ -14,9 +14,16 @@ import ./make-test-python.nix ({ pkgs, ...} : {
extraPackages = with pkgs.haskellPackages; haskellPackages: [ xmobar ]; extraPackages = with pkgs.haskellPackages; haskellPackages: [ xmobar ];
config = '' config = ''
import XMonad import XMonad
import XMonad.Operations (restart)
import XMonad.Util.EZConfig import XMonad.Util.EZConfig
main = launch $ def `additionalKeysP` myKeys import XMonad.Util.SessionStart
myKeys = [ ("M-C-x", spawn "xterm") ]
main = launch $ def { startupHook = startup } `additionalKeysP` myKeys
startup = isSessionStart >>= \sessInit ->
if sessInit then setSessionStarted else spawn "xterm"
myKeys = [ ("M-C-x", spawn "xterm"), ("M-q", restart "xmonad" True) ]
''; '';
}; };
}; };
@ -30,12 +37,11 @@ import ./make-test-python.nix ({ pkgs, ...} : {
machine.send_key("alt-ctrl-x") machine.send_key("alt-ctrl-x")
machine.wait_for_window("${user.name}.*machine") machine.wait_for_window("${user.name}.*machine")
machine.sleep(1) machine.sleep(1)
machine.screenshot("terminal") machine.screenshot("terminal1")
machine.wait_until_succeeds("xmonad --restart") machine.send_key("alt-q")
machine.sleep(3) machine.sleep(3)
machine.send_key("alt-shift-ret")
machine.wait_for_window("${user.name}.*machine") machine.wait_for_window("${user.name}.*machine")
machine.sleep(1) machine.sleep(1)
machine.screenshot("terminal") machine.screenshot("terminal2")
''; '';
}) })

View File

@ -1,38 +1,24 @@
{ stdenv, fetchurl, fetchpatch, makeWrapper, pkgconfig, alsaLib, dbus, libjack2 { stdenv, fetchFromGitHub, fetchpatch, makeWrapper, pkgconfig, alsaLib, dbus, libjack2
, wafHook , python3Packages , meson, ninja }:
, python2Packages}:
let stdenv.mkDerivation rec {
inherit (python2Packages) python dbus-python;
in stdenv.mkDerivation {
pname = "a2jmidid"; pname = "a2jmidid";
version = "8"; version = "9";
src = fetchurl { src = fetchFromGitHub {
url = "https://github.com/linuxaudio/a2jmidid/archive/7383d268c4bfe85df9f10df6351677659211d1ca.tar.gz"; owner = "linuxaudio";
sha256 = "06dgf5655znbvrd7fhrv8msv6zw8vk0hjqglcqkh90960mnnmwz7"; repo = pname;
rev = version;
sha256 = "sha256-WNt74tSWV8bY4TnpLp86PsnrjkqWynJJt3Ra4gZl2fQ=";
}; };
nativeBuildInputs = [ pkgconfig makeWrapper wafHook ]; nativeBuildInputs = [ pkgconfig makeWrapper meson ninja ];
buildInputs = [ alsaLib dbus libjack2 python dbus-python ]; buildInputs = [ alsaLib dbus libjack2 ] ++
(with python3Packages; [ python dbus-python ]);
patches = [
(fetchpatch {
url = "https://github.com/linuxaudio/a2jmidid/commit/24e3b8e543256ae8fdfb4b75eb9fd775f07c46e2.diff";
sha256 = "1nxrvnhxlgqc9wbxnp1gnpw4wjyzxvymwcg1gh2nqzmssgfykfkc";
})
(fetchpatch {
url = "https://github.com/linuxaudio/a2jmidid/commit/7f82da7eb2f540a94db23331be98d42a58ddc269.diff";
sha256 = "1nab9zf0agbcj5pvhl90pz0cx1d204d4janqflc5ymjhy8jyrsdv";
})
(fetchpatch {
url = "https://github.com/linuxaudio/a2jmidid/commit/c07775d021a71cb91bf64ce1391cf525415cb060.diff";
sha256 = "172v9hri03qdqi8a3zsg227k5qxldd8v5bj4jk7fyk5jf50fcxga";
})
];
postInstall = '' postInstall = ''
wrapProgram $out/bin/a2j_control --set PYTHONPATH $PYTHONPATH wrapProgram $out/bin/a2j_control --set PYTHONPATH $PYTHONPATH
substituteInPlace $out/bin/a2j --replace "a2j_control" "$out/bin/a2j_control"
''; '';
meta = with stdenv.lib; { meta = with stdenv.lib; {

View File

@ -1,8 +1,10 @@
{ stdenv { stdenv
, fetchFromGitHub , fetchFromGitHub
, cmake , cmake
, nixosTests
, alsaLib , alsaLib
, SDL2 , SDL2
, libiconv
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
@ -17,7 +19,13 @@ stdenv.mkDerivation rec {
}; };
nativeBuildInputs = [ cmake ]; nativeBuildInputs = [ cmake ];
buildInputs = [ SDL2 ] ++ stdenv.lib.optional stdenv.isLinux alsaLib; buildInputs = [ SDL2 ]
++ stdenv.lib.optional stdenv.isLinux alsaLib
++ stdenv.lib.optional stdenv.isDarwin libiconv;
passthru.tests = {
ft2-clone-starts = nixosTests.ft2-clone;
};
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "A highly accurate clone of the classic Fasttracker II software for MS-DOS"; description = "A highly accurate clone of the classic Fasttracker II software for MS-DOS";

View File

@ -1,5 +1,5 @@
{ stdenv, fetchurl { stdenv, fetchurl
, pkgconfig, cmake, python, ffmpeg_3, phonon, automoc4 , pkgconfig, cmake, python3, ffmpeg_3, phonon, automoc4
, chromaprint, docbook_xml_dtd_45, docbook_xsl, libxslt , chromaprint, docbook_xml_dtd_45, docbook_xsl, libxslt
, id3lib, taglib, mp4v2, flac, libogg, libvorbis , id3lib, taglib, mp4v2, flac, libogg, libvorbis
, zlib, readline , qtbase, qttools, qtmultimedia, qtquickcontrols , zlib, readline , qtbase, qttools, qtmultimedia, qtquickcontrols
@ -7,18 +7,17 @@
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "kid3"; pname = "kid3";
version = "3.8.3"; version = "3.8.4";
src = fetchurl { src = fetchurl {
url = "mirror://sourceforge/project/kid3/kid3/${version}/${pname}-${version}.tar.gz"; url = "mirror://sourceforge/project/kid3/kid3/${version}/${pname}-${version}.tar.gz";
sha256 = "0i0c4bmsm36jj1v535kil47ig0ig70ykrzcw2f56spr25xns06ka"; sha256 = "sha256-WYuEOqMu2VMOv6mkVCRXnmInFER/DWfPNqYuaTJ3vAc=";
}; };
nativeBuildInputs = [ wrapQtAppsHook ]; nativeBuildInputs = [ wrapQtAppsHook ];
buildInputs = with stdenv.lib; buildInputs = [
[ pkgconfig cmake python ffmpeg_3 phonon automoc4 pkgconfig cmake python3 ffmpeg_3 phonon automoc4
chromaprint docbook_xml_dtd_45 docbook_xsl libxslt chromaprint docbook_xml_dtd_45 docbook_xsl libxslt
id3lib taglib mp4v2 flac libogg libvorbis zlib readline id3lib taglib mp4v2 flac libogg libvorbis zlib readline
qtbase qttools qtmultimedia qtquickcontrols ]; qtbase qttools qtmultimedia qtquickcontrols ];
@ -35,34 +34,33 @@ stdenv.mkDerivation rec {
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "A simple and powerful audio tag editor"; description = "A simple and powerful audio tag editor";
longDescription = '' longDescription = ''
If you want to easily tag multiple MP3, Ogg/Vorbis, FLAC, MPC, If you want to easily tag multiple MP3, Ogg/Vorbis, FLAC, MPC, MP4/AAC,
MP4/AAC, MP2, Opus, Speex, TrueAudio, WavPack, WMA, WAV and AIFF MP2, Opus, Speex, TrueAudio, WavPack, WMA, WAV and AIFF files (e.g. full
files (e.g. full albums) without typing the same information albums) without typing the same information again and again and have
again and again and have control over both ID3v1 and ID3v2 tags, control over both ID3v1 and ID3v2 tags, then Kid3 is the program you are
then Kid3 is the program you are looking for. looking for.
With Kid3 you can: With Kid3 you can:
- Edit ID3v1.1 tags; - Edit ID3v1.1 tags;
- Edit all ID3v2.3 and ID3v2.4 frames; - Edit all ID3v2.3 and ID3v2.4 frames;
- Convert between ID3v1.1, ID3v2.3 and ID3v2.4 tags - Convert between ID3v1.1, ID3v2.3 and ID3v2.4 tags
- Edit tags in MP3, Ogg/Vorbis, FLAC, MPC, MP4/AAC, MP2, Opus, - Edit tags in MP3, Ogg/Vorbis, FLAC, MPC, MP4/AAC, MP2, Opus, Speex,
Speex, TrueAudio, WavPack, WMA, WAV, AIFF files and tracker TrueAudio, WavPack, WMA, WAV, AIFF files and tracker modules (MOD, S3M,
modules (MOD, S3M, IT, XM); IT, XM);
- Edit tags of multiple files, e.g. the artist, album, year and - Edit tags of multiple files, e.g. the artist, album, year and genre of
genre of all files of an album typically have the same values all files of an album typically have the same values and can be set
and can be set together; together;
- Generate tags from filenames; - Generate tags from filenames;
- Generate tags from the contents of tag fields; - Generate tags from the contents of tag fields;
- Generate filenames from tags; - Generate filenames from tags;
- Rename and create directories from tags; - Rename and create directories from tags;
- Generate playlist files; - Generate playlist files;
- Automatically convert upper and lower case and replace strings; - Automatically convert upper and lower case and replace strings;
- Import from gnudb.org, TrackType.org, MusicBrainz, Discogs, - Import from gnudb.org, TrackType.org, MusicBrainz, Discogs, Amazon and
Amazon and other sources of album data; other sources of album data;
- Export tags as CSV, HTML, playlists, Kover XML and in other - Export tags as CSV, HTML, playlists, Kover XML and in other formats;
formats; - Edit synchronized lyrics and event timing codes, import and export
- Edit synchronized lyrics and event timing codes, import and LRC files.
export LRC files
''; '';
homepage = "http://kid3.sourceforge.net/"; homepage = "http://kid3.sourceforge.net/";
license = licenses.lgpl2Plus; license = licenses.lgpl2Plus;

View File

@ -0,0 +1,54 @@
{ stdenv
, lib
, fetchurl
, autoPatchelfHook
, dpkg
, qt5
, libjack2
, alsaLib
, bzip2
, libpulseaudio }:
stdenv.mkDerivation rec {
pname = "ocenaudio";
version = "3.9.2";
src = fetchurl {
url = "https://www.ocenaudio.com/downloads/index.php/ocenaudio_debian9_64.deb?version=${version}";
sha256 = "1fvpba3dnzb7sm6gp0znbrima02ckfiy2zwb66x1gr05y9a56inv";
};
nativeBuildInputs = [
autoPatchelfHook
qt5.qtbase
libjack2
libpulseaudio
bzip2
alsaLib
];
buildInputs = [ dpkg ];
dontUnpack = true;
dontBuild = true;
dontStrip = true;
installPhase = ''
mkdir -p $out
dpkg -x $src $out
cp -av $out/opt/ocenaudio/* $out
rm -rf $out/opt
# Create symlink bzip2 library
ln -s ${bzip2.out}/lib/libbz2.so.1 $out/libbz2.so.1.0
'';
meta = with stdenv.lib; {
description = "Cross-platform, easy to use, fast and functional audio editor";
homepage = "https://www.ocenaudio.com";
license = licenses.unfree;
platforms = platforms.linux;
maintainers = with maintainers; [ onny ];
};
}

View File

@ -1,7 +1,7 @@
{ fetchurl, stdenv, squashfsTools, xorg, alsaLib, makeWrapper, openssl, freetype { fetchurl, stdenv, squashfsTools, xorg, alsaLib, makeWrapper, openssl, freetype
, glib, pango, cairo, atk, gdk-pixbuf, gtk2, cups, nspr, nss, libpng, libnotify , glib, pango, cairo, atk, gdk-pixbuf, gtk2, cups, nspr, nss, libpng, libnotify
, libgcrypt, systemd, fontconfig, dbus, expat, ffmpeg_3, curl, zlib, gnome3 , libgcrypt, systemd, fontconfig, dbus, expat, ffmpeg_3, curl, zlib, gnome3
, at-spi2-atk, at-spi2-core, libpulseaudio , at-spi2-atk, at-spi2-core, libpulseaudio, libdrm, mesa
}: }:
let let
@ -10,15 +10,14 @@ let
# If an update breaks things, one of those might have valuable info: # If an update breaks things, one of those might have valuable info:
# https://aur.archlinux.org/packages/spotify/ # https://aur.archlinux.org/packages/spotify/
# https://community.spotify.com/t5/Desktop-Linux # https://community.spotify.com/t5/Desktop-Linux
version = "1.1.26.501.gbe11e53b-15"; version = "1.1.42.622.gbd112320-37";
# To get the latest stable revision: # To get the latest stable revision:
# curl -H 'X-Ubuntu-Series: 16' 'https://api.snapcraft.io/api/v1/snaps/details/spotify?channel=stable' | jq '.download_url,.version,.last_updated' # curl -H 'X-Ubuntu-Series: 16' 'https://api.snapcraft.io/api/v1/snaps/details/spotify?channel=stable' | jq '.download_url,.version,.last_updated'
# To get general information: # To get general information:
# curl -H 'Snap-Device-Series: 16' 'https://api.snapcraft.io/v2/snaps/info/spotify' | jq '.' # curl -H 'Snap-Device-Series: 16' 'https://api.snapcraft.io/v2/snaps/info/spotify' | jq '.'
# More examples of api usage: # More examples of api usage:
# https://github.com/canonical-websites/snapcraft.io/blob/master/webapp/publisher/snaps/views.py # https://github.com/canonical-websites/snapcraft.io/blob/master/webapp/publisher/snaps/views.py
rev = "41"; rev = "42";
deps = [ deps = [
alsaLib alsaLib
@ -36,10 +35,12 @@ let
gdk-pixbuf gdk-pixbuf
glib glib
gtk2 gtk2
libdrm
libgcrypt libgcrypt
libnotify libnotify
libpng libpng
libpulseaudio libpulseaudio
mesa
nss nss
pango pango
stdenv.cc.cc stdenv.cc.cc
@ -77,7 +78,7 @@ stdenv.mkDerivation {
# https://community.spotify.com/t5/Desktop-Linux/Redistribute-Spotify-on-Linux-Distributions/td-p/1695334 # https://community.spotify.com/t5/Desktop-Linux/Redistribute-Spotify-on-Linux-Distributions/td-p/1695334
src = fetchurl { src = fetchurl {
url = "https://api.snapcraft.io/api/v1/snaps/download/pOBIoZ2LrCB3rDohMxoYGnbN14EHOgD7_${rev}.snap"; url = "https://api.snapcraft.io/api/v1/snaps/download/pOBIoZ2LrCB3rDohMxoYGnbN14EHOgD7_${rev}.snap";
sha512 = "41bc8d20388bab39058d0709d99b1c8e324ea37af217620797356b8bc0b24aedbe801eaaa6e00a93e94e26765602e5dc27ad423ce2e777b4bec1b92daf04f81e"; sha512 = "06371c6a285aba916a779cd9f2a933f97db8fb38393545baa94c8984302e003c559af7b1b35afd7df5f2c35e379e2cb80c00facf527bc22df09061cdb67d9d7a";
}; };
buildInputs = [ squashfsTools makeWrapper ]; buildInputs = [ squashfsTools makeWrapper ];

View File

@ -9,9 +9,9 @@ let
inherit buildFHSUserEnv; inherit buildFHSUserEnv;
}; };
stableVersion = { stableVersion = {
version = "4.0.2.0"; # "Android Studio 4.0.2" version = "4.1.0.19"; # "Android Studio 4.1.0"
build = "193.6821437"; build = "201.6858069";
sha256Hash = "sha256-v3lug8XCl4tekMBP4N1wS925FnDaSMDf6SIJhwKydzY="; sha256Hash = "sha256-S5Uh/EpjE61l/z4UsPP7UEJ9Rk/hQidVVWX0bg/60gI=";
}; };
betaVersion = { betaVersion = {
version = "4.1.0.18"; # "Android Studio 4.1 RC 3" version = "4.1.0.18"; # "Android Studio 4.1 RC 3"

View File

@ -22,12 +22,11 @@
}: }:
mkDerivation rec { mkDerivation rec {
name = "kile-2.9.92"; name = "kile-2.9.93";
src = fetchurl { src = fetchurl {
url = "mirror://sourceforge/kile/${name}.tar.bz2"; url = "mirror://sourceforge/kile/${name}.tar.bz2";
sha256 = "177372dc25b1d109e037a7dbfc64b5dab2efe538320c87f4a8ceada21e9097f2"; sha256 = "BEmSEv/LJPs6aCkUmnyuTGrV15WYXwgIANbfcviMXfA=";
}; };
nativeBuildInputs = [ extra-cmake-modules wrapGAppsHook ]; nativeBuildInputs = [ extra-cmake-modules wrapGAppsHook ];

View File

@ -1,7 +1,7 @@
{ stdenv, lib, makeDesktopItem { stdenv, lib, makeDesktopItem
, unzip, libsecret, libXScrnSaver, wrapGAppsHook , unzip, libsecret, libXScrnSaver, wrapGAppsHook
, gtk2, atomEnv, at-spi2-atk, autoPatchelfHook , gtk2, atomEnv, at-spi2-atk, autoPatchelfHook
, systemd, fontconfig , systemd, fontconfig, libdbusmenu
# Attributes inherit from specific versions # Attributes inherit from specific versions
, version, src, meta, sourceRoot , version, src, meta, sourceRoot
@ -62,7 +62,7 @@ in
else [ gtk2 at-spi2-atk wrapGAppsHook ] ++ atomEnv.packages) else [ gtk2 at-spi2-atk wrapGAppsHook ] ++ atomEnv.packages)
++ [ libsecret libXScrnSaver ]; ++ [ libsecret libXScrnSaver ];
runtimeDependencies = lib.optional (stdenv.isLinux) [ (lib.getLib systemd) fontconfig.lib ]; runtimeDependencies = lib.optional (stdenv.isLinux) [ (lib.getLib systemd) fontconfig.lib libdbusmenu ];
nativeBuildInputs = lib.optional (!stdenv.isDarwin) autoPatchelfHook; nativeBuildInputs = lib.optional (!stdenv.isDarwin) autoPatchelfHook;

View File

@ -8,10 +8,6 @@ if [ ! -f "$ROOT/vscode.nix" ]; then
echo "ERROR: cannot find vscode.nix in $ROOT" echo "ERROR: cannot find vscode.nix in $ROOT"
exit 1 exit 1
fi fi
if [ ! -f "$ROOT/vscodium.nix" ]; then
echo "ERROR: cannot find vscodium.nix in $ROOT"
exit 1
fi
# VSCode # VSCode
@ -26,16 +22,3 @@ sed -i "s/x86_64-linux = \".\{52\}\"/x86_64-linux = \"${VSCODE_LINUX_SHA256}\"/"
VSCODE_DARWIN_URL="https://vscode-update.azurewebsites.net/${VSCODE_VER}/darwin/stable" VSCODE_DARWIN_URL="https://vscode-update.azurewebsites.net/${VSCODE_VER}/darwin/stable"
VSCODE_DARWIN_SHA256=$(nix-prefetch-url ${VSCODE_DARWIN_URL}) VSCODE_DARWIN_SHA256=$(nix-prefetch-url ${VSCODE_DARWIN_URL})
sed -i "s/x86_64-darwin = \".\{52\}\"/x86_64-darwin = \"${VSCODE_DARWIN_SHA256}\"/" "$ROOT/vscode.nix" sed -i "s/x86_64-darwin = \".\{52\}\"/x86_64-darwin = \"${VSCODE_DARWIN_SHA256}\"/" "$ROOT/vscode.nix"
# VSCodium
VSCODIUM_VER=$(curl -Ls -w %{url_effective} -o /dev/null https://github.com/VSCodium/vscodium/releases/latest | awk -F'/' '{print $NF}')
sed -i "s/version = \".*\"/version = \"${VSCODIUM_VER}\"/" "$ROOT/vscodium.nix"
VSCODIUM_LINUX_URL="https://github.com/VSCodium/vscodium/releases/download/${VSCODIUM_VER}/VSCodium-linux-x64-${VSCODIUM_VER}.tar.gz"
VSCODIUM_LINUX_SHA256=$(nix-prefetch-url ${VSCODIUM_LINUX_URL})
sed -i "s/x86_64-linux = \".\{52\}\"/x86_64-linux = \"${VSCODIUM_LINUX_SHA256}\"/" "$ROOT/vscodium.nix"
VSCODIUM_DARWIN_URL="https://github.com/VSCodium/vscodium/releases/download/${VSCODIUM_VER}/VSCodium-darwin-${VSCODIUM_VER}.zip"
VSCODIUM_DARWIN_SHA256=$(nix-prefetch-url ${VSCODIUM_DARWIN_URL})
sed -i "s/x86_64-darwin = \".\{52\}\"/x86_64-darwin = \"${VSCODIUM_DARWIN_SHA256}\"/" "$ROOT/vscodium.nix"

View File

@ -0,0 +1,23 @@
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p curl gnugrep gnused gawk
set -eou pipefail
ROOT="$(dirname "$(readlink -f "$0")")"
if [ ! -f "$ROOT/vscodium.nix" ]; then
echo "ERROR: cannot find vscodium.nix in $ROOT"
exit 1
fi
# VSCodium
VSCODIUM_VER=$(curl -Ls -w %{url_effective} -o /dev/null https://github.com/VSCodium/vscodium/releases/latest | awk -F'/' '{print $NF}')
sed -i "s/version = \".*\"/version = \"${VSCODIUM_VER}\"/" "$ROOT/vscodium.nix"
VSCODIUM_LINUX_URL="https://github.com/VSCodium/vscodium/releases/download/${VSCODIUM_VER}/VSCodium-linux-x64-${VSCODIUM_VER}.tar.gz"
VSCODIUM_LINUX_SHA256=$(nix-prefetch-url ${VSCODIUM_LINUX_URL})
sed -i "s/x86_64-linux = \".\{52\}\"/x86_64-linux = \"${VSCODIUM_LINUX_SHA256}\"/" "$ROOT/vscodium.nix"
VSCODIUM_DARWIN_URL="https://github.com/VSCodium/vscodium/releases/download/${VSCODIUM_VER}/VSCodium-darwin-${VSCODIUM_VER}.zip"
VSCODIUM_DARWIN_SHA256=$(nix-prefetch-url ${VSCODIUM_DARWIN_URL})
sed -i "s/x86_64-darwin = \".\{52\}\"/x86_64-darwin = \"${VSCODIUM_DARWIN_SHA256}\"/" "$ROOT/vscodium.nix"

View File

@ -1,6 +1,7 @@
{ stdenv { stdenv
, mkDerivation , mkDerivation
, fetchFromGitHub , fetchFromGitHub
, substituteAll
, gdal , gdal
, cmake , cmake
, ninja , ninja
@ -18,7 +19,7 @@
mkDerivation rec { mkDerivation rec {
pname = "OpenOrienteering-Mapper"; pname = "OpenOrienteering-Mapper";
version = "0.9.3"; version = "0.9.4";
buildInputs = [ buildInputs = [
gdal gdal
@ -37,18 +38,14 @@ mkDerivation rec {
owner = "OpenOrienteering"; owner = "OpenOrienteering";
repo = "mapper"; repo = "mapper";
rev = "v${version}"; rev = "v${version}";
sha256 = "05bliglpc8170px6k9lfrp9ylpnb2zf47gnjns9b2bif8dv8zq0l"; sha256 = "13k9dirqm74lknhr8w121zr1hjd9gm1y73cj4rrj98rx44dzmk7b";
}; };
patches = [ patches = (substituteAll {
# See https://github.com/NixOS/nixpkgs/issues/86054 # See https://github.com/NixOS/nixpkgs/issues/86054
./fix-qttranslations-path.diff src = ./fix-qttranslations-path.diff;
]; inherit qttranslations;
});
postPatch = ''
substituteInPlace src/util/translation_util.cpp \
--subst-var-by qttranslations ${qttranslations}
'';
cmakeFlags = [ cmakeFlags = [
# Building the manual and bundling licenses fails # Building the manual and bundling licenses fails

View File

@ -1,4 +1,4 @@
{stdenv, python3Packages, gettext, qt5, fetchFromGitHub}: {stdenv, python3Packages, fetchpatch, gettext, qt5, fetchFromGitHub}:
python3Packages.buildPythonApplication rec { python3Packages.buildPythonApplication rec {
pname = "dupeguru"; pname = "dupeguru";
@ -14,6 +14,15 @@ python3Packages.buildPythonApplication rec {
fetchSubmodules = true; fetchSubmodules = true;
}; };
patches = [
# already merged to master, remove next version bump
(fetchpatch {
name = "remove-m-from-so-var.patch";
url = "https://github.com/arsenetar/dupeguru/commit/bd0f53bcbe463c48fe141b73af13542da36d82ba.patch";
sha256 = "07iisz8kcr7v8lb21inzj1avlpfhh9k8wcivbd33w49cr3mmnr26";
})
];
nativeBuildInputs = [ nativeBuildInputs = [
gettext gettext
python3Packages.pyqt5 python3Packages.pyqt5
@ -58,6 +67,5 @@ python3Packages.buildPythonApplication rec {
license = licenses.bsd3; license = licenses.bsd3;
platforms = platforms.linux; platforms = platforms.linux;
maintainers = [ maintainers.novoxudonoser ]; maintainers = [ maintainers.novoxudonoser ];
broken = true; # mv: cannot stat '_block.cpython-38m*.so': No such file or directory
}; };
} }

View File

@ -2,16 +2,21 @@
python3Packages.buildPythonApplication rec { python3Packages.buildPythonApplication rec {
pname = "gallery_dl"; pname = "gallery_dl";
version = "1.15.0"; version = "1.15.1";
src = python3Packages.fetchPypi { src = python3Packages.fetchPypi {
inherit pname version; inherit pname version;
sha256 = "1g9hmb5637x8bhm2wzarqnxzj0i93fcdm1myvld2d97a2d32hy6m"; sha256 = "1pysh0gz3f3dxk5bfkzaii4myrgik396mf6vlks50inpbnslmqsl";
}; };
doCheck = false;
propagatedBuildInputs = with python3Packages; [ requests ]; propagatedBuildInputs = with python3Packages; [ requests ];
checkInputs = with python3Packages; [ pytestCheckHook ];
pytestFlagsArray = [
# requires network access
"--ignore=test/test_results.py"
];
meta = { meta = {
description = "Command-line program to download image-galleries and -collections from several image hosting sites"; description = "Command-line program to download image-galleries and -collections from several image hosting sites";
homepage = "https://github.com/mikf/gallery-dl"; homepage = "https://github.com/mikf/gallery-dl";

View File

@ -0,0 +1,80 @@
{ stdenv
, meson
, ninja
, pkg-config
, gettext
, fetchFromGitLab
, python3
, libhandy
, libpwquality
, wrapGAppsHook
, gtk3
, glib
, gdk-pixbuf
, gobject-introspection
, desktop-file-utils
, appstream-glib }:
python3.pkgs.buildPythonApplication rec {
pname = "gnome-passwordsafe";
version = "3.99.2";
format = "other";
strictDeps = false; # https://github.com/NixOS/nixpkgs/issues/56943
src = fetchFromGitLab {
domain = "gitlab.gnome.org";
owner = "World";
repo = "PasswordSafe";
rev = version;
sha256 = "0pi2l4gwf8paxm858mxrcsk5nr0c0zw5ycax40mghndb6b1qmmhf";
};
nativeBuildInputs = [
meson
ninja
gettext
pkg-config
wrapGAppsHook
desktop-file-utils
appstream-glib
gobject-introspection
];
buildInputs = [
gtk3
glib
gdk-pixbuf
libhandy
];
propagatedBuildInputs = with python3.pkgs; [
pygobject3
construct
# pykeepass 3.2.1 changed some exception types, and is not backwards compatible.
# Remove override once the MR is merged upstream.
# https://gitlab.gnome.org/World/PasswordSafe/-/merge_requests/79
(pykeepass.overridePythonAttrs (old: rec {
version = "3.2.0";
src = fetchPypi {
pname = "pykeepass";
inherit version;
sha256 = "1ysjn92bixq8wkwhlbhrjj9z0h80qnlnj7ks5478ndkzdw5gxvm1";
};
propagatedBuildInputs = old.propagatedBuildInputs ++ [ pycryptodome ];
}))
] ++ [
libpwquality # using the python bindings
];
meta = with stdenv.lib; {
broken = stdenv.hostPlatform.isStatic; # libpwquality doesn't provide bindings when static
description = "Password manager for GNOME which makes use of the KeePass v.4 format";
homepage = "https://gitlab.gnome.org/World/PasswordSafe";
license = licenses.gpl3Only;
platforms = platforms.linux;
maintainers = with maintainers; [ mvnetbiz ];
};
}

View File

@ -1,4 +1,4 @@
{ stdenv, fetchFromGitHub, mkDerivation { stdenv, fetchFromGitHub, fetchpatch, mkDerivation
, qtbase, qtsvg, qtserialport, qtwebengine, qtmultimedia, qttools , qtbase, qtsvg, qtserialport, qtwebengine, qtmultimedia, qttools
, qtconnectivity, qtcharts, libusb-compat-0_1 , qtconnectivity, qtcharts, libusb-compat-0_1
, yacc, flex, zlib, qmake, makeDesktopItem, makeWrapper , yacc, flex, zlib, qmake, makeDesktopItem, makeWrapper
@ -16,13 +16,13 @@ let
}; };
in mkDerivation rec { in mkDerivation rec {
pname = "golden-cheetah"; pname = "golden-cheetah";
version = "3.5-RC2X"; version = "3.5";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "GoldenCheetah"; owner = "GoldenCheetah";
repo = "GoldenCheetah"; repo = "GoldenCheetah";
rev = "V${version}"; rev = "V${version}";
sha256 = "1d85700gjbcw2badwz225rjdr954ai89900vp8sal04sk79wbr6g"; sha256 = "1lyd0b2s3s9c2ppj7l4hf3s4gfzscaaam2pbiaby714bi9nr0ka7";
}; };
buildInputs = [ buildInputs = [
@ -31,6 +31,15 @@ in mkDerivation rec {
]; ];
nativeBuildInputs = [ flex makeWrapper qmake yacc ]; nativeBuildInputs = [ flex makeWrapper qmake yacc ];
patches = [
# allow building with bison 3.7
# PR at https://github.com/GoldenCheetah/GoldenCheetah/pull/3590
(fetchpatch {
url = "https://github.com/GoldenCheetah/GoldenCheetah/commit/e1f42f8b3340eb4695ad73be764332e75b7bce90.patch";
sha256 = "1h0y9vfji5jngqcpzxna5nnawxs77i1lrj44w8a72j0ah0sznivb";
})
];
NIX_LDFLAGS = "-lz"; NIX_LDFLAGS = "-lz";
qtWrapperArgs = [ "--set LD_LIBRARY_PATH ${zlib.out}/lib" ]; qtWrapperArgs = [ "--set LD_LIBRARY_PATH ${zlib.out}/lib" ];

View File

@ -0,0 +1,52 @@
{ stdenv
, fetchurl
, makeWrapper
, dpkg
, luajit
, gtk3-x11
, SDL2
, glib
, noto-fonts
, nerdfonts }:
let font-droid = nerdfonts.override { fonts = [ "DroidSansMono" ]; };
in stdenv.mkDerivation rec {
pname = "koreader";
version = "2020.09";
src = fetchurl {
url =
"https://github.com/koreader/koreader/releases/download/v${version}/koreader-${version}-amd64.deb";
sha256 = "12kiw3mw8g8d9fb8ywd4clm2bgblhq2gqcxzadwpmf0wxq7p0v8z";
};
sourceRoot = ".";
nativeBuildInputs = [ makeWrapper dpkg ];
buildInputs = [ luajit gtk3-x11 SDL2 glib ];
unpackCmd = "dpkg-deb -x ${src} .";
dontConfigure = true;
dontBuild = true;
installPhase = ''
mkdir -p $out
cp -R usr/* $out/
cp ${luajit}/bin/luajit $out/lib/koreader/luajit
find $out -xtype l -delete
for i in ${noto-fonts}/share/fonts/truetype/noto/*; do
ln -s "$i" $out/lib/koreader/fonts/noto/
done
ln -s "${font-droid}/share/fonts/opentype/NerdFonts/Droid Sans Mono Nerd Font Complete Mono.otf" $out/lib/koreader/fonts/droid/DroidSansMono.ttf
wrapProgram $out/bin/koreader --prefix LD_LIBRARY_PATH : ${
stdenv.lib.makeLibraryPath [ gtk3-x11 SDL2 glib ]
}
'';
meta = with stdenv.lib; {
homepage = "https://github.com/koreader/koreader";
description =
"An ebook reader application supporting PDF, DjVu, EPUB, FB2 and many more formats, running on Cervantes, Kindle, Kobo, PocketBook and Android devices";
platforms = intersectLists platforms.x86_64 platforms.linux;
license = licenses.agpl3;
maintainers = [ maintainers.contrun ];
};
}

View File

@ -255,13 +255,13 @@ in {
displaylayerprogress = buildPlugin rec { displaylayerprogress = buildPlugin rec {
pname = "OctoPrint-DisplayLayerProgress"; pname = "OctoPrint-DisplayLayerProgress";
version = "1.23.2"; version = "1.24.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "OllisGit"; owner = "OllisGit";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "0yv8gy5dq0rl7zxkvqa98az391aiixl8wbzkyvbmpjar9r6whdzm"; sha256 = "1lbivg3rcjzv8zqvp8n8gcaczxdm7gvd5ihjb6jq0fgf958lv59n";
}; };
meta = with stdenv.lib; { meta = with stdenv.lib; {
@ -272,15 +272,34 @@ in {
}; };
}; };
octoklipper = buildPlugin rec {
pname = "OctoKlipper";
version = "0.3.2";
src = fetchFromGitHub {
owner = "AliceGrey";
repo = "OctoprintKlipperPlugin";
rev = version;
sha256 = "15yg2blbgqp2gdpsqqm8qiiznq5qaq8wss07jimkl0865vrvlz7l";
};
meta = with stdenv.lib; {
description = "A plugin for a better integration of Klipper into OctoPrint";
homepage = "https://github.com/AliceGrey/OctoprintKlipperPlugin";
license = licenses.agpl3;
maintainers = with maintainers; [ lovesegfault ];
};
};
octoprint-dashboard = buildPlugin rec { octoprint-dashboard = buildPlugin rec {
pname = "OctoPrint-Dashboard"; pname = "OctoPrint-Dashboard";
version = "1.13.0"; version = "1.15.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "StefanCohen"; owner = "StefanCohen";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "1879l05gkkryvhxkmhr3xvd10d4m7i0cr3jk1gdcv47xwyr6q9pf"; sha256 = "1psk069g8xdpgbzmna51dh978vrildh33dn7kbbi5y31ry5c3gx6";
}; };
meta = with stdenv.lib; { meta = with stdenv.lib; {

View File

@ -0,0 +1,26 @@
{ stdenv
, fetchurl
, unzip
}:
stdenv.mkDerivation rec {
name = "smos-${version}";
version = "0.1.0";
src = fetchurl {
url = "https://github.com/NorfairKing/smos/releases/download/v${version}/smos-release.zip";
sha256 = "sha256:07yavk7xl92yjwwjdig90yq421n8ldv4fjfw7izd4hfpzw849a12";
};
phases = [ "unpackPhase" ];
unpackCmd = "${unzip}/bin/unzip -d $out $curSrc";
sourceRoot = ".";
meta = with stdenv.lib; {
description = "A comprehensive self-management system";
homepage = https://smos.online;
license = licenses.mit;
maintainers = with maintainers; [ norfair ];
platforms = platforms.linux ++ platforms.darwin;
};
}

View File

@ -15,7 +15,11 @@ stdenv.mkDerivation rec {
inherit patches; inherit patches;
configFile = optionalString (conf!=null) (writeText "config.def.h" conf); configFile = optionalString (conf!=null) (writeText "config.def.h" conf);
postPatch = optionalString (conf!=null) "cp ${configFile} config.def.h";
postPatch = optionalString (conf!=null) "cp ${configFile} config.def.h"
+ optionalString stdenv.isDarwin ''
substituteInPlace config.mk --replace "-lrt" ""
'';
nativeBuildInputs = [ pkgconfig ncurses ]; nativeBuildInputs = [ pkgconfig ncurses ];
buildInputs = [ libX11 libXft ] ++ extraLibs; buildInputs = [ libX11 libXft ] ++ extraLibs;
@ -28,7 +32,7 @@ stdenv.mkDerivation rec {
homepage = "https://st.suckless.org/"; homepage = "https://st.suckless.org/";
description = "Simple Terminal for X from Suckless.org Community"; description = "Simple Terminal for X from Suckless.org Community";
license = licenses.mit; license = licenses.mit;
maintainers = with maintainers; [andsild]; maintainers = with maintainers; [ andsild ];
platforms = platforms.linux; platforms = platforms.linux ++ platforms.darwin;
}; };
} }

View File

@ -1,23 +1,33 @@
{ stdenv, lib, fetchurl, makeWrapper, wrapGAppsHook, electron_7 { stdenv
, lib
, fetchurl
, makeWrapper
, electron_9
, common-updater-scripts , common-updater-scripts
, writeShellScript , writeShellScript
, jq
, makeDesktopItem
}: }:
let let
electron = electron_7; electron = electron_9;
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "stretchly"; pname = "stretchly";
version = "0.21.1"; version = "1.2.0";
src = fetchurl { src = fetchurl {
url = "https://github.com/hovancik/stretchly/releases/download/v${version}/stretchly-${version}.tar.xz"; url = "https://github.com/hovancik/stretchly/releases/download/v${version}/stretchly-${version}.tar.xz";
sha256 = "0776pywyqylwd33m85l4wdr89x0q9xkrjgliag10fp1bswz844lf"; sha256 = "07v9yk9qgya9ladfgbfkwwnbzvczs1cv6yn3zrg9rviyv8zlqjls";
}; };
nativeBuildInputs = [ icon = fetchurl {
wrapGAppsHook url = "https://raw.githubusercontent.com/hovancik/stretchly/v${version}/stretchly_128x128.png";
]; sha256 = "0whfg1fy2hjyk1lzpryikc1aj8agsjhfrb0bf7ggl6r9m8s1rvdl";
};
nativeBuildInputs = [ makeWrapper ];
installPhase = '' installPhase = ''
runHook preInstall runHook preInstall
@ -25,15 +35,15 @@ stdenv.mkDerivation rec {
mkdir -p $out/bin $out/share/${pname}/ mkdir -p $out/bin $out/share/${pname}/
mv resources/app.asar $out/share/${pname}/ mv resources/app.asar $out/share/${pname}/
mkdir -p $out/share/applications
ln -s ${desktopItem}/share/applications/* $out/share/applications/
makeWrapper ${electron}/bin/electron $out/bin/${pname} \ makeWrapper ${electron}/bin/electron $out/bin/${pname} \
--add-flags $out/share/${pname}/app.asar \ --add-flags $out/share/${pname}/app.asar
"''${gappsWrapperArgs[@]}" \
--prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ stdenv.cc.cc.lib ]}"
runHook postInstall runHook postInstall
''; '';
passthru = { passthru = {
updateScript = writeShellScript "update-stretchly" '' updateScript = writeShellScript "update-stretchly" ''
set -eu -o pipefail set -eu -o pipefail
@ -47,6 +57,15 @@ stdenv.mkDerivation rec {
''; '';
}; };
desktopItem = makeDesktopItem {
name = pname;
exec = pname;
icon = icon;
desktopName = "Stretchly";
genericName = "Stretchly";
categories = "Utility;";
};
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "A break time reminder app"; description = "A break time reminder app";
longDescription = '' longDescription = ''
@ -59,7 +78,7 @@ stdenv.mkDerivation rec {
homepage = "https://hovancik.net/stretchly"; homepage = "https://hovancik.net/stretchly";
downloadPage = "https://hovancik.net/stretchly/downloads/"; downloadPage = "https://hovancik.net/stretchly/downloads/";
license = licenses.bsd2; license = licenses.bsd2;
maintainers = with maintainers; [ cdepillabout ]; maintainers = with maintainers; [ _1000101 ];
platforms = platforms.linux; platforms = platforms.linux;
}; };
} }

View File

@ -18,20 +18,21 @@
, poppler , poppler
, makeWrapper , makeWrapper
, kdoctools , kdoctools
, taglib
}: }:
mkDerivation rec { mkDerivation rec {
name = "tellico"; name = "tellico";
version = "3.3.0"; version = "3.3.3";
src = fetchurl { src = fetchurl {
url = "https://tellico-project.org/files/tellico-${lib.versions.majorMinor version}.tar.xz"; # version 3.3.0 just uses 3.3 in its name
sha256 = "1digkpvzrsbv5znf1cgzs6zkmysfz6lzs12n12mrrpgkcdxc426y"; urls = [
}; "https://tellico-project.org/files/tellico-${version}.tar.xz"
"https://tellico-project.org/files/tellico-${lib.versions.majorMinor version}.tar.xz"
patches = [
./hex.patch
]; ];
sha256 = "sha256-9cdbUTa2Mt3/yNylOSdGjgDETD74sR0dU4C58uW0Y6o=";
};
nativeBuildInputs = [ nativeBuildInputs = [
cmake cmake
@ -41,27 +42,28 @@ mkDerivation rec {
]; ];
buildInputs = [ buildInputs = [
kdelibs4support
solid
kxmlgui
karchive
kfilemetadata
khtml
knewstuff
libksane
cmake cmake
exempi exempi
extra-cmake-modules extra-cmake-modules
libcdio karchive
kdeApplications.libkcddb kdeApplications.libkcddb
kdelibs4support
kfilemetadata
khtml
knewstuff
kxmlgui
libcdio
libksane
poppler poppler
solid
taglib
]; ];
meta = { meta = with lib; {
description = "Collection management software, free and simple"; description = "Collection management software, free and simple";
homepage = "https://tellico-project.org/"; homepage = "https://tellico-project.org/";
maintainers = with lib.maintainers; [ numkem ]; license = with licenses; [ gpl2 gpl3 ];
license = with lib.licenses; [ gpl2 gpl3 ]; maintainers = with maintainers; [ numkem ];
platforms = lib.platforms.linux; platforms = platforms.linux;
}; };
} }

View File

@ -15,7 +15,7 @@
, glibc , glibc
, libXScrnSaver, libXcursor, libXtst, libGLU, libGL , libXScrnSaver, libXcursor, libXtst, libGLU, libGL
, protobuf, speechd, libXdamage, cups , protobuf, speechd, libXdamage, cups
, ffmpeg_3, libxslt, libxml2, at-spi2-core , ffmpeg, libxslt, libxml2, at-spi2-core
, jre8 , jre8
, pipewire_0_2 , pipewire_0_2
@ -76,11 +76,16 @@ let
in attrs: concatStringsSep " " (attrValues (mapAttrs toFlag attrs)); in attrs: concatStringsSep " " (attrValues (mapAttrs toFlag attrs));
gnSystemLibraries = [ gnSystemLibraries = [
"flac" "libwebp" "libxslt" "opus" "snappy" "libpng" "ffmpeg"
# "zlib" # version 77 reports unresolved dependency on //third_party/zlib:zlib_config "flac"
# "libjpeg" # fails with multiple undefined references to chromium_jpeg_* "libjpeg"
"libpng"
"libwebp"
"libxslt"
"opus"
"snappy"
"zlib"
# "re2" # fails with linker errors # "re2" # fails with linker errors
# "ffmpeg" # https://crbug.com/731766
# "harfbuzz-ng" # in versions over 63 harfbuzz and freetype are being built together # "harfbuzz-ng" # in versions over 63 harfbuzz and freetype are being built together
# so we can't build with one from system and other from source # so we can't build with one from system and other from source
]; ];
@ -95,7 +100,7 @@ let
libpng libcap libpng libcap
xdg_utils minizip libwebp xdg_utils minizip libwebp
libusb1 re2 zlib libusb1 re2 zlib
ffmpeg_3 libxslt libxml2 ffmpeg libxslt libxml2
nasm nasm
# harfbuzz # in versions over 63 harfbuzz and freetype are being built together # harfbuzz # in versions over 63 harfbuzz and freetype are being built together
# so we can't build with one from system and other from source # so we can't build with one from system and other from source
@ -262,6 +267,7 @@ let
is_clang = stdenv.cc.isClang; is_clang = stdenv.cc.isClang;
clang_use_chrome_plugins = false; clang_use_chrome_plugins = false;
blink_symbol_level = 0; blink_symbol_level = 0;
symbol_level = 0;
fieldtrial_testing_like_official_build = true; fieldtrial_testing_like_official_build = true;
# Google API keys, see: # Google API keys, see:

View File

@ -5,13 +5,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "luakit"; pname = "luakit";
version = "2.2"; version = "2.2.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "luakit"; owner = "luakit";
repo = "luakit"; repo = pname;
rev = version; rev = version;
sha256 = "sha256-rpHW5VyntmmtekdNcZMIw8Xdv4cfiqJaaHj4ZFFGjYc="; sha256 = "sha256-78B8vXkWsFMJIHA72Qrk2SWubrY6YuArqcM0UAPjpzc=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
@ -20,11 +20,9 @@ stdenv.mkDerivation rec {
buildInputs = [ buildInputs = [
webkitgtk luafilesystem luajit sqlite gtk3 webkitgtk luafilesystem luajit sqlite gtk3
gst_all_1.gstreamer gst_all_1.gst-plugins-base
gst_all_1.gst-plugins-good gst_all_1.gst-plugins-bad gst_all_1.gst-plugins-ugly
gst_all_1.gst-libav
glib-networking # TLS support glib-networking # TLS support
]; ] ++ ( with gst_all_1; [ gstreamer gst-plugins-base gst-plugins-good
gst-plugins-bad gst-plugins-ugly gst-libav ]);
preBuild = '' preBuild = ''
# build-utils/docgen/gen.lua:2: module 'lib.lousy.util' not found # build-utils/docgen/gen.lua:2: module 'lib.lousy.util' not found

View File

@ -2,13 +2,13 @@
buildGoModule rec { buildGoModule rec {
pname = "helmfile"; pname = "helmfile";
version = "0.130.0"; version = "0.130.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "roboll"; owner = "roboll";
repo = "helmfile"; repo = "helmfile";
rev = "v${version}"; rev = "v${version}";
sha256 = "17wn1jmgc9hcy4yfrxvamy4w1n65afkn7k830sj8b02j0kl6vir4"; sha256 = "14k3281sxin4ki78f2v75nyky1jxyhyq5aw06mhdp0w5ql9b02m4";
}; };
vendorSha256 = "1k3aamsm97w22pdip2916a5f619rvnif7s8g6815pzsapgnpp4qp"; vendorSha256 = "1k3aamsm97w22pdip2916a5f619rvnif7s8g6815pzsapgnpp4qp";

View File

@ -2,15 +2,15 @@
buildGoModule rec { buildGoModule rec {
pname = "istioctl"; pname = "istioctl";
version = "1.7.0"; version = "1.7.3";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "istio"; owner = "istio";
repo = "istio"; repo = "istio";
rev = version; rev = version;
sha256 = "0541j1wdhlbm2spl1w3m0hig7lqn05xk1xws8748wfzbr8wkir31"; sha256 = "1w0ddz2am053bpi0jrn5v3b76jf2z4nl7zv0i1z2v9xcx59bxkac";
}; };
vendorSha256 = "0sz92nspfclqxnx0mf80jxqqwxanqsx9nl9hg7f9izks7jw544vx"; vendorSha256 = "02l13hzk5aikpylalsm35v27cljcl4z0qka9a4m125bc4rj2kp7k";
doCheck = false; doCheck = false;

View File

@ -42,9 +42,9 @@ with lib;
# Those pieces of software we entirely ignore upstream's handling of, and just # Those pieces of software we entirely ignore upstream's handling of, and just
# make sure they're in the path if desired. # make sure they're in the path if desired.
let let
k3sVersion = "1.18.8+k3s1"; # k3s git tag k3sVersion = "1.19.2+k3s1"; # k3s git tag
traefikChartVersion = "1.81.0"; # taken from ./scripts/download at the above k3s tag traefikChartVersion = "1.81.0"; # taken from ./scripts/download at the above k3s tag
k3sRootVersion = "0.4.1"; # taken from ./scripts/download at the above k3s tag k3sRootVersion = "0.6.0-rc3"; # taken from ./scripts/download at the above k3s tag
k3sCNIVersion = "0.8.6-k3s1"; # taken from ./scripts/version.sh at the above k3s tag k3sCNIVersion = "0.8.6-k3s1"; # taken from ./scripts/version.sh at the above k3s tag
# bundled into the k3s binary # bundled into the k3s binary
traefikChart = fetchurl { traefikChart = fetchurl {
@ -63,7 +63,7 @@ let
k3sRoot = fetchzip { k3sRoot = fetchzip {
# Note: marked as apache 2.0 license # Note: marked as apache 2.0 license
url = "https://github.com/rancher/k3s-root/releases/download/v${k3sRootVersion}/k3s-root-amd64.tar"; url = "https://github.com/rancher/k3s-root/releases/download/v${k3sRootVersion}/k3s-root-amd64.tar";
sha256 = "0ppj8y9g410hn6mjkfgfsi2j9yv7rcpic21znpmbrkx8b2070hf0"; sha256 = "0xj3dcqawpzyzmz545iwh151krzbs9csnzg3zfl74lkv2kxgidk6";
stripRoot = false; stripRoot = false;
}; };
k3sPlugins = buildGoPackage rec { k3sPlugins = buildGoPackage rec {
@ -94,7 +94,7 @@ let
url = "https://github.com/rancher/k3s"; url = "https://github.com/rancher/k3s";
rev = "v${k3sVersion}"; rev = "v${k3sVersion}";
leaveDotGit = true; # ./scripts/version.sh depends on git leaveDotGit = true; # ./scripts/version.sh depends on git
sha256 = "17qsvbj1lvgxqdkxayyqnjwsjs3cx06nfv2hqvixjszn4vf30qlg"; sha256 = "1hbnarchs9w52w061bvfjvssdh7ycnxa04camjwkcx8vr0k804h4";
}; };
# Stage 1 of the k3s build: # Stage 1 of the k3s build:
# Let's talk about how k3s is structured. # Let's talk about how k3s is structured.

View File

@ -56,10 +56,10 @@ index 4ca6333c4a..df15f7db1d 100755
echo Building containerd-shim echo Building containerd-shim
rm -f ./vendor/github.com/containerd/containerd/bin/containerd-shim rm -f ./vendor/github.com/containerd/containerd/bin/containerd-shim
diff --git a/scripts/package-cli b/scripts/package-cli diff --git a/scripts/package-cli b/scripts/package-cli
index f33d8c66dd..da34397a28 100755 index d1aad638d9..90479b6fa1 100755
--- a/scripts/package-cli --- a/scripts/package-cli
+++ b/scripts/package-cli +++ b/scripts/package-cli
@@ -49,16 +49,18 @@ fi @@ -49,15 +49,18 @@ fi
CMD_NAME=dist/artifacts/k3s${BIN_SUFFIX} CMD_NAME=dist/artifacts/k3s${BIN_SUFFIX}
@ -71,17 +71,14 @@ index f33d8c66dd..da34397a28 100755
-w -s -w -s
" "
-STATIC="-extldflags '-static'" -STATIC="-extldflags '-static'"
-CGO_ENABLED=0 "${GO}" build -ldflags "$LDFLAGS $STATIC" -o ${CMD_NAME} ./cmd/k3s/main.go
+# STATIC="-extldflags '-static'" +# STATIC="-extldflags '-static'"
+# nixpkgs: we can depend on dynamic linking because we have a good package manager +# nixpkgs: we can depend on dynamic linking because we have a good package manager
if [ "$DQLITE" = "true" ]; then +"${GO}" build -ldflags "$LDFLAGS" -o ${CMD_NAME} ./cmd/k3s/main.go
DQLITE_TAGS="dqlite"
fi stat ${CMD_NAME}
-CGO_ENABLED=0 "${GO}" build -tags "$DQLITE_TAGS" -ldflags "$LDFLAGS $STATIC" -o ${CMD_NAME} ./cmd/k3s/main.go
+"${GO}" build -tags "$DQLITE_TAGS" -ldflags "$LDFLAGS" -o ${CMD_NAME} ./cmd/k3s/main.go
-./scripts/build-upload ${CMD_NAME} ${COMMIT} -./scripts/build-upload ${CMD_NAME} ${COMMIT}
+# nixpkgs: skip uploading +# nixpkgs: skip uploading
+# ./scripts/build-upload ${CMD_NAME} ${COMMIT} +# ./scripts/build-upload ${CMD_NAME} ${COMMIT}
-- +
2.25.4

View File

@ -0,0 +1,40 @@
{ lib, buildGoModule, fetchFromGitHub }:
buildGoModule rec {
pname = "starboard";
version = "0.4.0";
src = fetchFromGitHub {
owner = "aquasecurity";
repo = pname;
rev = "v${version}";
sha256 = "0jvr8lf3wdg6svsfi3fdknqw543495gysznbqhl42w7d3r5krcyw";
};
vendorSha256 = "0p5svprhbnb7mfln1mhaq55w8xnj8v3sinwkysxjzh1g8p36mglp";
doCheck = false;
buildFlagsArray = [
"-ldflags="
"-s"
"-w"
"-X main.version=v${version}"
];
meta = with lib; {
description = "Kubernetes-native security tool kit";
longDescription = ''
Starboard integrates security tools into the Kubernetes environment, so
that users can find and view the risks that relate to different resources
in a Kubernetes-native way. Starboard provides custom security resources
definitions and a Go module to work with a range of existing security
tools, as well as a kubectl-compatible command-line tool and an Octant
plug-in that make security reports available through familiar Kubernetes
tools.
'';
homepage = src.meta.homepage;
license = licenses.asl20;
maintainers = with maintainers; [ jk ];
};
}

View File

@ -4,7 +4,7 @@
, freetype, gdk-pixbuf, glib, gtk3, libcxx, libdrm, libnotify, libpulseaudio, libuuid , freetype, gdk-pixbuf, glib, gtk3, libcxx, libdrm, libnotify, libpulseaudio, libuuid
, libX11, libXScrnSaver, libXcomposite, libXcursor, libXdamage, libXext , libX11, libXScrnSaver, libXcomposite, libXcursor, libXdamage, libXext
, libXfixes, libXi, libXrandr, libXrender, libXtst, libxcb , libXfixes, libXi, libXrandr, libXrender, libXtst, libxcb
, mesa, nspr, nss, pango, systemd, libappindicator-gtk3 , mesa, nspr, nss, pango, systemd, libappindicator-gtk3, libdbusmenu
}: }:
let let
@ -35,7 +35,7 @@ in stdenv.mkDerivation rec {
gdk-pixbuf glib gtk3 libnotify libX11 libXcomposite libuuid gdk-pixbuf glib gtk3 libnotify libX11 libXcomposite libuuid
libXcursor libXdamage libXext libXfixes libXi libXrandr libXrender libXcursor libXdamage libXext libXfixes libXi libXrandr libXrender
libXtst nspr nss libxcb pango systemd libXScrnSaver libXtst nspr nss libxcb pango systemd libXScrnSaver
libappindicator-gtk3 libappindicator-gtk3 libdbusmenu
]; ];
installPhase = '' installPhase = ''

View File

@ -2,7 +2,7 @@
"name": "element-desktop", "name": "element-desktop",
"productName": "Element", "productName": "Element",
"main": "src/electron-main.js", "main": "src/electron-main.js",
"version": "1.7.8", "version": "1.7.9",
"description": "A feature-rich client for Matrix.org", "description": "A feature-rich client for Matrix.org",
"author": "Element", "author": "Element",
"repository": { "repository": {
@ -34,7 +34,8 @@
"electron-store": "^2.0.0", "electron-store": "^2.0.0",
"electron-window-state": "^4.1.0", "electron-window-state": "^4.1.0",
"minimist": "^1.2.3", "minimist": "^1.2.3",
"png-to-ico": "^1.0.2" "png-to-ico": "^2.1.0",
"request": "^2.88.2"
}, },
"devDependencies": { "devDependencies": {
"asar": "^2.0.1", "asar": "^2.0.1",
@ -56,7 +57,7 @@
"tar": "^6.0.1" "tar": "^6.0.1"
}, },
"hakDependencies": { "hakDependencies": {
"matrix-seshat": "^2.1.1", "matrix-seshat": "^2.2.1",
"keytar": "^5.6.0" "keytar": "^5.6.0"
}, },
"build": { "build": {

View File

@ -97,6 +97,14 @@
sha1 = "e7c6bf5a7deff957cec9f04b551e2762909d826b"; sha1 = "e7c6bf5a7deff957cec9f04b551e2762909d826b";
}; };
} }
{
name = "_babel_runtime___runtime_7.11.2.tgz";
path = fetchurl {
name = "_babel_runtime___runtime_7.11.2.tgz";
url = "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.11.2.tgz";
sha1 = "f549c13c754cc40b87644b9fa9f09a6a95fe0736";
};
}
{ {
name = "_babel_template___template_7.10.4.tgz"; name = "_babel_template___template_7.10.4.tgz";
path = fetchurl { path = fetchurl {
@ -137,6 +145,254 @@
sha1 = "0f7af5e851afe895104583c4ca07377a8094d641"; sha1 = "0f7af5e851afe895104583c4ca07377a8094d641";
}; };
} }
{
name = "_jimp_bmp___bmp_0.9.8.tgz";
path = fetchurl {
name = "_jimp_bmp___bmp_0.9.8.tgz";
url = "https://registry.yarnpkg.com/@jimp/bmp/-/bmp-0.9.8.tgz";
sha1 = "5933ab8fb359889bec380b0f7802163374933624";
};
}
{
name = "_jimp_core___core_0.9.8.tgz";
path = fetchurl {
name = "_jimp_core___core_0.9.8.tgz";
url = "https://registry.yarnpkg.com/@jimp/core/-/core-0.9.8.tgz";
sha1 = "b2b74263a80559c0ee244e0f2d1052b36a358b85";
};
}
{
name = "_jimp_custom___custom_0.9.8.tgz";
path = fetchurl {
name = "_jimp_custom___custom_0.9.8.tgz";
url = "https://registry.yarnpkg.com/@jimp/custom/-/custom-0.9.8.tgz";
sha1 = "1e9d904b1b05aa22b00b899baba2be7c0704a5d1";
};
}
{
name = "_jimp_gif___gif_0.9.8.tgz";
path = fetchurl {
name = "_jimp_gif___gif_0.9.8.tgz";
url = "https://registry.yarnpkg.com/@jimp/gif/-/gif-0.9.8.tgz";
sha1 = "513aff511634c338d1ab33a7bba1ba3412220b5b";
};
}
{
name = "_jimp_jpeg___jpeg_0.9.8.tgz";
path = fetchurl {
name = "_jimp_jpeg___jpeg_0.9.8.tgz";
url = "https://registry.yarnpkg.com/@jimp/jpeg/-/jpeg-0.9.8.tgz";
sha1 = "8c086f69d0e8c46e43a7db9725576edc30925cb1";
};
}
{
name = "_jimp_plugin_blit___plugin_blit_0.9.8.tgz";
path = fetchurl {
name = "_jimp_plugin_blit___plugin_blit_0.9.8.tgz";
url = "https://registry.yarnpkg.com/@jimp/plugin-blit/-/plugin-blit-0.9.8.tgz";
sha1 = "916bf6f261e6a91dbecca0ca866b8d9cba563753";
};
}
{
name = "_jimp_plugin_blur___plugin_blur_0.9.8.tgz";
path = fetchurl {
name = "_jimp_plugin_blur___plugin_blur_0.9.8.tgz";
url = "https://registry.yarnpkg.com/@jimp/plugin-blur/-/plugin-blur-0.9.8.tgz";
sha1 = "00055d54b90532b7951dae377b3e40352c187f07";
};
}
{
name = "_jimp_plugin_circle___plugin_circle_0.9.8.tgz";
path = fetchurl {
name = "_jimp_plugin_circle___plugin_circle_0.9.8.tgz";
url = "https://registry.yarnpkg.com/@jimp/plugin-circle/-/plugin-circle-0.9.8.tgz";
sha1 = "5de8735f32f931d9160d0f5211e9aab6413a1d4b";
};
}
{
name = "_jimp_plugin_color___plugin_color_0.9.8.tgz";
path = fetchurl {
name = "_jimp_plugin_color___plugin_color_0.9.8.tgz";
url = "https://registry.yarnpkg.com/@jimp/plugin-color/-/plugin-color-0.9.8.tgz";
sha1 = "3c633f22955a4f5013025e9e9e78a267ac4c3a88";
};
}
{
name = "_jimp_plugin_contain___plugin_contain_0.9.8.tgz";
path = fetchurl {
name = "_jimp_plugin_contain___plugin_contain_0.9.8.tgz";
url = "https://registry.yarnpkg.com/@jimp/plugin-contain/-/plugin-contain-0.9.8.tgz";
sha1 = "f892fb7fc87134a47b37281f0ff17d608f3e51af";
};
}
{
name = "_jimp_plugin_cover___plugin_cover_0.9.8.tgz";
path = fetchurl {
name = "_jimp_plugin_cover___plugin_cover_0.9.8.tgz";
url = "https://registry.yarnpkg.com/@jimp/plugin-cover/-/plugin-cover-0.9.8.tgz";
sha1 = "37474b19027ac0155100b71ca17266aab19e50fc";
};
}
{
name = "_jimp_plugin_crop___plugin_crop_0.9.8.tgz";
path = fetchurl {
name = "_jimp_plugin_crop___plugin_crop_0.9.8.tgz";
url = "https://registry.yarnpkg.com/@jimp/plugin-crop/-/plugin-crop-0.9.8.tgz";
sha1 = "2308696597a8bcb528d09eeebbbadb22248e7c1c";
};
}
{
name = "_jimp_plugin_displace___plugin_displace_0.9.8.tgz";
path = fetchurl {
name = "_jimp_plugin_displace___plugin_displace_0.9.8.tgz";
url = "https://registry.yarnpkg.com/@jimp/plugin-displace/-/plugin-displace-0.9.8.tgz";
sha1 = "00331047039cb2d0d9d5f7c3d8ce542e07eea791";
};
}
{
name = "_jimp_plugin_dither___plugin_dither_0.9.8.tgz";
path = fetchurl {
name = "_jimp_plugin_dither___plugin_dither_0.9.8.tgz";
url = "https://registry.yarnpkg.com/@jimp/plugin-dither/-/plugin-dither-0.9.8.tgz";
sha1 = "9cca12997f2917f27d5681275b32affdb3083450";
};
}
{
name = "_jimp_plugin_fisheye___plugin_fisheye_0.9.8.tgz";
path = fetchurl {
name = "_jimp_plugin_fisheye___plugin_fisheye_0.9.8.tgz";
url = "https://registry.yarnpkg.com/@jimp/plugin-fisheye/-/plugin-fisheye-0.9.8.tgz";
sha1 = "e3f5f616ec06a9ef99aa268446f0096eac863437";
};
}
{
name = "_jimp_plugin_flip___plugin_flip_0.9.8.tgz";
path = fetchurl {
name = "_jimp_plugin_flip___plugin_flip_0.9.8.tgz";
url = "https://registry.yarnpkg.com/@jimp/plugin-flip/-/plugin-flip-0.9.8.tgz";
sha1 = "c00559a8543a684c7cff4d1128b7152e598fbb1c";
};
}
{
name = "_jimp_plugin_gaussian___plugin_gaussian_0.9.8.tgz";
path = fetchurl {
name = "_jimp_plugin_gaussian___plugin_gaussian_0.9.8.tgz";
url = "https://registry.yarnpkg.com/@jimp/plugin-gaussian/-/plugin-gaussian-0.9.8.tgz";
sha1 = "d1666167ce1b947b65db5093bb9a00d319bcfe4d";
};
}
{
name = "_jimp_plugin_invert___plugin_invert_0.9.8.tgz";
path = fetchurl {
name = "_jimp_plugin_invert___plugin_invert_0.9.8.tgz";
url = "https://registry.yarnpkg.com/@jimp/plugin-invert/-/plugin-invert-0.9.8.tgz";
sha1 = "41d6e87faf01a5d8fe7554e322d2aad25f596ab1";
};
}
{
name = "_jimp_plugin_mask___plugin_mask_0.9.8.tgz";
path = fetchurl {
name = "_jimp_plugin_mask___plugin_mask_0.9.8.tgz";
url = "https://registry.yarnpkg.com/@jimp/plugin-mask/-/plugin-mask-0.9.8.tgz";
sha1 = "fe92132db1a2b9f7718226bc3c37794dd148ce36";
};
}
{
name = "_jimp_plugin_normalize___plugin_normalize_0.9.8.tgz";
path = fetchurl {
name = "_jimp_plugin_normalize___plugin_normalize_0.9.8.tgz";
url = "https://registry.yarnpkg.com/@jimp/plugin-normalize/-/plugin-normalize-0.9.8.tgz";
sha1 = "05646aa15b6a789c4ba447edcad77c83c1d51f16";
};
}
{
name = "_jimp_plugin_print___plugin_print_0.9.8.tgz";
path = fetchurl {
name = "_jimp_plugin_print___plugin_print_0.9.8.tgz";
url = "https://registry.yarnpkg.com/@jimp/plugin-print/-/plugin-print-0.9.8.tgz";
sha1 = "808f723176d0a57186d7558290c7e53a7a8bf812";
};
}
{
name = "_jimp_plugin_resize___plugin_resize_0.9.8.tgz";
path = fetchurl {
name = "_jimp_plugin_resize___plugin_resize_0.9.8.tgz";
url = "https://registry.yarnpkg.com/@jimp/plugin-resize/-/plugin-resize-0.9.8.tgz";
sha1 = "eef750b77f1cc06e8bcf9b390860c95c489dcc02";
};
}
{
name = "_jimp_plugin_rotate___plugin_rotate_0.9.8.tgz";
path = fetchurl {
name = "_jimp_plugin_rotate___plugin_rotate_0.9.8.tgz";
url = "https://registry.yarnpkg.com/@jimp/plugin-rotate/-/plugin-rotate-0.9.8.tgz";
sha1 = "5eba01f75a397777c6782b7999c9ac6c7ed8a411";
};
}
{
name = "_jimp_plugin_scale___plugin_scale_0.9.8.tgz";
path = fetchurl {
name = "_jimp_plugin_scale___plugin_scale_0.9.8.tgz";
url = "https://registry.yarnpkg.com/@jimp/plugin-scale/-/plugin-scale-0.9.8.tgz";
sha1 = "c875d5e0b377b15b8b398ee402f45e3fc43fea40";
};
}
{
name = "_jimp_plugin_shadow___plugin_shadow_0.9.8.tgz";
path = fetchurl {
name = "_jimp_plugin_shadow___plugin_shadow_0.9.8.tgz";
url = "https://registry.yarnpkg.com/@jimp/plugin-shadow/-/plugin-shadow-0.9.8.tgz";
sha1 = "ca2d18afa29a1027b77b3e1fb2ce7d4e073a7170";
};
}
{
name = "_jimp_plugin_threshold___plugin_threshold_0.9.8.tgz";
path = fetchurl {
name = "_jimp_plugin_threshold___plugin_threshold_0.9.8.tgz";
url = "https://registry.yarnpkg.com/@jimp/plugin-threshold/-/plugin-threshold-0.9.8.tgz";
sha1 = "2d1dde0791f70b2ff2d0b915cab8d40b0e446594";
};
}
{
name = "_jimp_plugins___plugins_0.9.8.tgz";
path = fetchurl {
name = "_jimp_plugins___plugins_0.9.8.tgz";
url = "https://registry.yarnpkg.com/@jimp/plugins/-/plugins-0.9.8.tgz";
sha1 = "5279dfe22d0d27633f4201ab36103e587b32eb85";
};
}
{
name = "_jimp_png___png_0.9.8.tgz";
path = fetchurl {
name = "_jimp_png___png_0.9.8.tgz";
url = "https://registry.yarnpkg.com/@jimp/png/-/png-0.9.8.tgz";
sha1 = "f88dacc9b9da1c2ea8e91026a9530d0fb45c4409";
};
}
{
name = "_jimp_tiff___tiff_0.9.8.tgz";
path = fetchurl {
name = "_jimp_tiff___tiff_0.9.8.tgz";
url = "https://registry.yarnpkg.com/@jimp/tiff/-/tiff-0.9.8.tgz";
sha1 = "91dc3eab2f222e23414f139e917f3407caa73560";
};
}
{
name = "_jimp_types___types_0.9.8.tgz";
path = fetchurl {
name = "_jimp_types___types_0.9.8.tgz";
url = "https://registry.yarnpkg.com/@jimp/types/-/types-0.9.8.tgz";
sha1 = "46980a4a7bfcadf2f0484d187c32b4e7d6d61b8e";
};
}
{
name = "_jimp_utils___utils_0.9.8.tgz";
path = fetchurl {
name = "_jimp_utils___utils_0.9.8.tgz";
url = "https://registry.yarnpkg.com/@jimp/utils/-/utils-0.9.8.tgz";
sha1 = "6a6f47158ec6b424f03df0f55f0baff5b4b5e096";
};
}
{ {
name = "_sindresorhus_is___is_0.14.0.tgz"; name = "_sindresorhus_is___is_0.14.0.tgz";
path = fetchurl { path = fetchurl {
@ -210,11 +466,11 @@
}; };
} }
{ {
name = "_types_node___node_9.6.55.tgz"; name = "_types_node___node_13.13.21.tgz";
path = fetchurl { path = fetchurl {
name = "_types_node___node_9.6.55.tgz"; name = "_types_node___node_13.13.21.tgz";
url = "https://registry.yarnpkg.com/@types/node/-/node-9.6.55.tgz"; url = "https://registry.yarnpkg.com/@types/node/-/node-13.13.21.tgz";
sha1 = "7cc1358c9c18e71f6c020e410962971863232cf5"; sha1 = "e48d3c2e266253405cf404c8654d1bcf0d333e5c";
}; };
} }
{ {
@ -369,6 +625,14 @@
sha1 = "c629c5eced17baf314437918d2da88c99d5958cd"; sha1 = "c629c5eced17baf314437918d2da88c99d5958cd";
}; };
} }
{
name = "ajv___ajv_6.12.5.tgz";
path = fetchurl {
name = "ajv___ajv_6.12.5.tgz";
url = "https://registry.yarnpkg.com/ajv/-/ajv-6.12.5.tgz";
sha1 = "19b0e8bae8f476e5ba666300387775fb1a00a4da";
};
}
{ {
name = "ansi_align___ansi_align_2.0.0.tgz"; name = "ansi_align___ansi_align_2.0.0.tgz";
path = fetchurl { path = fetchurl {
@ -465,6 +729,14 @@
sha1 = "5de60415bda071bb37127854c864f41b23254539"; sha1 = "5de60415bda071bb37127854c864f41b23254539";
}; };
} }
{
name = "any_base___any_base_1.1.0.tgz";
path = fetchurl {
name = "any_base___any_base_1.1.0.tgz";
url = "https://registry.yarnpkg.com/any-base/-/any-base-1.1.0.tgz";
sha1 = "ae101a62bc08a597b4c9ab5b7089d456630549fe";
};
}
{ {
name = "app_builder_bin___app_builder_bin_3.5.9.tgz"; name = "app_builder_bin___app_builder_bin_3.5.9.tgz";
path = fetchurl { path = fetchurl {
@ -705,14 +977,6 @@
sha1 = "a4301d389b6a43f9b67ff3ca11a3f6637e360e9e"; sha1 = "a4301d389b6a43f9b67ff3ca11a3f6637e360e9e";
}; };
} }
{
name = "bignumber.js___bignumber.js_2.4.0.tgz";
path = fetchurl {
name = "bignumber.js___bignumber.js_2.4.0.tgz";
url = "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-2.4.0.tgz";
sha1 = "838a992da9f9d737e0f4b2db0be62bb09dd0c5e8";
};
}
{ {
name = "bin_links___bin_links_1.1.7.tgz"; name = "bin_links___bin_links_1.1.7.tgz";
path = fetchurl { path = fetchurl {
@ -746,11 +1010,11 @@
}; };
} }
{ {
name = "bmp_js___bmp_js_0.0.3.tgz"; name = "bmp_js___bmp_js_0.1.0.tgz";
path = fetchurl { path = fetchurl {
name = "bmp_js___bmp_js_0.0.3.tgz"; name = "bmp_js___bmp_js_0.1.0.tgz";
url = "https://registry.yarnpkg.com/bmp-js/-/bmp-js-0.0.3.tgz"; url = "https://registry.yarnpkg.com/bmp-js/-/bmp-js-0.1.0.tgz";
sha1 = "64113e9c7cf1202b376ed607bf30626ebe57b18a"; sha1 = "e05a63f796a6c1ff25f4771ec7adadc148c07233";
}; };
} }
{ {
@ -1241,6 +1505,14 @@
sha1 = "92297398cae34937fcafd6ec8139c18051f0b5e0"; sha1 = "92297398cae34937fcafd6ec8139c18051f0b5e0";
}; };
} }
{
name = "core_js___core_js_3.6.5.tgz";
path = fetchurl {
name = "core_js___core_js_3.6.5.tgz";
url = "https://registry.yarnpkg.com/core-js/-/core-js-3.6.5.tgz";
sha1 = "7395dc273af37fb2e50e9bd3d9fe841285231d1a";
};
}
{ {
name = "core_util_is___core_util_is_1.0.2.tgz"; name = "core_util_is___core_util_is_1.0.2.tgz";
path = fetchurl { path = fetchurl {
@ -1793,14 +2065,6 @@
sha1 = "e55cd4c9cdc188bcefb03b366c736323fc5c898a"; sha1 = "e55cd4c9cdc188bcefb03b366c736323fc5c898a";
}; };
} }
{
name = "es6_promise___es6_promise_3.3.1.tgz";
path = fetchurl {
name = "es6_promise___es6_promise_3.3.1.tgz";
url = "https://registry.yarnpkg.com/es6-promise/-/es6-promise-3.3.1.tgz";
sha1 = "a08cdde84ccdbf34d027a1451bc91d4bcd28a613";
};
}
{ {
name = "es6_promise___es6_promise_4.2.8.tgz"; name = "es6_promise___es6_promise_4.2.8.tgz";
path = fetchurl { path = fetchurl {
@ -2186,11 +2450,11 @@
}; };
} }
{ {
name = "file_type___file_type_3.9.0.tgz"; name = "file_type___file_type_9.0.0.tgz";
path = fetchurl { path = fetchurl {
name = "file_type___file_type_3.9.0.tgz"; name = "file_type___file_type_9.0.0.tgz";
url = "https://registry.yarnpkg.com/file-type/-/file-type-3.9.0.tgz"; url = "https://registry.yarnpkg.com/file-type/-/file-type-9.0.0.tgz";
sha1 = "257a078384d1db8087bc449d107d52a52672b9e9"; sha1 = "a68d5ad07f486414dfb2c8866f73161946714a18";
}; };
} }
{ {
@ -2545,6 +2809,14 @@
sha1 = "1ef89ebd3e4996557675eed9893110dc350fa080"; sha1 = "1ef89ebd3e4996557675eed9893110dc350fa080";
}; };
} }
{
name = "har_validator___har_validator_5.1.5.tgz";
path = fetchurl {
name = "har_validator___har_validator_5.1.5.tgz";
url = "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.5.tgz";
sha1 = "1f0803b9f8cb20c0fa13822df1ecddb36bde1efd";
};
}
{ {
name = "has_flag___has_flag_3.0.0.tgz"; name = "has_flag___has_flag_3.0.0.tgz";
path = fetchurl { path = fetchurl {
@ -2817,14 +3089,6 @@
sha1 = "7393f5afa59ec9ff5f67a27620d11c226e3eec02"; sha1 = "7393f5afa59ec9ff5f67a27620d11c226e3eec02";
}; };
} }
{
name = "ip_regex___ip_regex_1.0.3.tgz";
path = fetchurl {
name = "ip_regex___ip_regex_1.0.3.tgz";
url = "https://registry.yarnpkg.com/ip-regex/-/ip-regex-1.0.3.tgz";
sha1 = "dc589076f659f419c222039a33316f1c7387effd";
};
}
{ {
name = "ip_regex___ip_regex_2.1.0.tgz"; name = "ip_regex___ip_regex_2.1.0.tgz";
path = fetchurl { path = fetchurl {
@ -3138,19 +3402,19 @@
}; };
} }
{ {
name = "jimp___jimp_0.2.28.tgz"; name = "jimp___jimp_0.9.8.tgz";
path = fetchurl { path = fetchurl {
name = "jimp___jimp_0.2.28.tgz"; name = "jimp___jimp_0.9.8.tgz";
url = "https://registry.yarnpkg.com/jimp/-/jimp-0.2.28.tgz"; url = "https://registry.yarnpkg.com/jimp/-/jimp-0.9.8.tgz";
sha1 = "dd529a937190f42957a7937d1acc3a7762996ea2"; sha1 = "2ee87b81b42e723ad74c73b8012f879c0abe5b04";
}; };
} }
{ {
name = "jpeg_js___jpeg_js_0.2.0.tgz"; name = "jpeg_js___jpeg_js_0.3.7.tgz";
path = fetchurl { path = fetchurl {
name = "jpeg_js___jpeg_js_0.2.0.tgz"; name = "jpeg_js___jpeg_js_0.3.7.tgz";
url = "https://registry.yarnpkg.com/jpeg-js/-/jpeg-js-0.2.0.tgz"; url = "https://registry.yarnpkg.com/jpeg-js/-/jpeg-js-0.3.7.tgz";
sha1 = "53e448ec9d263e683266467e9442d2c5a2ef5482"; sha1 = "471a89d06011640592d314158608690172b1028d";
}; };
} }
{ {
@ -3466,11 +3730,11 @@
}; };
} }
{ {
name = "load_bmfont___load_bmfont_1.4.0.tgz"; name = "load_bmfont___load_bmfont_1.4.1.tgz";
path = fetchurl { path = fetchurl {
name = "load_bmfont___load_bmfont_1.4.0.tgz"; name = "load_bmfont___load_bmfont_1.4.1.tgz";
url = "https://registry.yarnpkg.com/load-bmfont/-/load-bmfont-1.4.0.tgz"; url = "https://registry.yarnpkg.com/load-bmfont/-/load-bmfont-1.4.1.tgz";
sha1 = "75f17070b14a8c785fe7f5bee2e6fd4f98093b6b"; sha1 = "c0f5f4711a1e2ccff725a7b6078087ccfcddd3e9";
}; };
} }
{ {
@ -4241,6 +4505,14 @@
sha1 = "68a99ecde356b7e9295a3c5e0ce31dc8c953de5e"; sha1 = "68a99ecde356b7e9295a3c5e0ce31dc8c953de5e";
}; };
} }
{
name = "omggif___omggif_1.0.10.tgz";
path = fetchurl {
name = "omggif___omggif_1.0.10.tgz";
url = "https://registry.yarnpkg.com/omggif/-/omggif-1.0.10.tgz";
sha1 = "ddaaf90d4a42f532e9e7cb3a95ecdd47f17c7b19";
};
}
{ {
name = "once___once_1.4.0.tgz"; name = "once___once_1.4.0.tgz";
path = fetchurl { path = fetchurl {
@ -4441,6 +4713,14 @@
sha1 = "1e11dd7a8d736bcc36b375a9804d41bb0377bf66"; sha1 = "1e11dd7a8d736bcc36b375a9804d41bb0377bf66";
}; };
} }
{
name = "pako___pako_1.0.11.tgz";
path = fetchurl {
name = "pako___pako_1.0.11.tgz";
url = "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz";
sha1 = "6c9599d340d54dfd3946380252a35705a6b992bf";
};
}
{ {
name = "parallel_transform___parallel_transform_1.2.0.tgz"; name = "parallel_transform___parallel_transform_1.2.0.tgz";
path = fetchurl { path = fetchurl {
@ -4618,11 +4898,11 @@
}; };
} }
{ {
name = "png_to_ico___png_to_ico_1.0.7.tgz"; name = "png_to_ico___png_to_ico_2.1.0.tgz";
path = fetchurl { path = fetchurl {
name = "png_to_ico___png_to_ico_1.0.7.tgz"; name = "png_to_ico___png_to_ico_2.1.0.tgz";
url = "https://registry.yarnpkg.com/png-to-ico/-/png-to-ico-1.0.7.tgz"; url = "https://registry.yarnpkg.com/png-to-ico/-/png-to-ico-2.1.0.tgz";
sha1 = "9346b5f4d6fd7e94cb08fd49eeb585f501c3e5f2"; sha1 = "b7a59bc7e95093f6dd4dc85f27b9048e12d2fe71";
}; };
} }
{ {
@ -4761,6 +5041,14 @@
sha1 = "60557582ee23b6c43719d9890fb4170ecd91e110"; sha1 = "60557582ee23b6c43719d9890fb4170ecd91e110";
}; };
} }
{
name = "psl___psl_1.8.0.tgz";
path = fetchurl {
name = "psl___psl_1.8.0.tgz";
url = "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz";
sha1 = "9326f8bcfb013adcc005fdff056acce020e51c24";
};
}
{ {
name = "pump___pump_2.0.1.tgz"; name = "pump___pump_2.0.1.tgz";
path = fetchurl { path = fetchurl {
@ -4857,14 +5145,6 @@
sha1 = "789729a4dc36de2999dc156dd6c1d9c18cea56a4"; sha1 = "789729a4dc36de2999dc156dd6c1d9c18cea56a4";
}; };
} }
{
name = "read_chunk___read_chunk_1.0.1.tgz";
path = fetchurl {
name = "read_chunk___read_chunk_1.0.1.tgz";
url = "https://registry.yarnpkg.com/read-chunk/-/read-chunk-1.0.1.tgz";
sha1 = "5f68cab307e663f19993527d9b589cace4661194";
};
}
{ {
name = "read_cmd_shim___read_cmd_shim_1.0.5.tgz"; name = "read_cmd_shim___read_cmd_shim_1.0.5.tgz";
path = fetchurl { path = fetchurl {
@ -4961,6 +5241,14 @@
sha1 = "8d45407b4f870a0dcaebc0e28670d18e74514309"; sha1 = "8d45407b4f870a0dcaebc0e28670d18e74514309";
}; };
} }
{
name = "regenerator_runtime___regenerator_runtime_0.13.7.tgz";
path = fetchurl {
name = "regenerator_runtime___regenerator_runtime_0.13.7.tgz";
url = "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz";
sha1 = "cac2dacc8a1ea675feaabaeb8ae833898ae46f55";
};
}
{ {
name = "regexp.prototype.flags___regexp.prototype.flags_1.2.0.tgz"; name = "regexp.prototype.flags___regexp.prototype.flags_1.2.0.tgz";
path = fetchurl { path = fetchurl {
@ -5033,6 +5321,14 @@
sha1 = "9c2fca4f7d35b592efe57c7f0a55e81052124fef"; sha1 = "9c2fca4f7d35b592efe57c7f0a55e81052124fef";
}; };
} }
{
name = "request___request_2.88.2.tgz";
path = fetchurl {
name = "request___request_2.88.2.tgz";
url = "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz";
sha1 = "d73c918731cb5a87da047e207234146f664d12b3";
};
}
{ {
name = "require_directory___require_directory_2.1.1.tgz"; name = "require_directory___require_directory_2.1.1.tgz";
path = fetchurl { path = fetchurl {
@ -5497,22 +5793,6 @@
sha1 = "d7088281559ab2778424279b0877da3c392d5a3d"; sha1 = "d7088281559ab2778424279b0877da3c392d5a3d";
}; };
} }
{
name = "stream_to_buffer___stream_to_buffer_0.1.0.tgz";
path = fetchurl {
name = "stream_to_buffer___stream_to_buffer_0.1.0.tgz";
url = "https://registry.yarnpkg.com/stream-to-buffer/-/stream-to-buffer-0.1.0.tgz";
sha1 = "26799d903ab2025c9bd550ac47171b00f8dd80a9";
};
}
{
name = "stream_to___stream_to_0.2.2.tgz";
path = fetchurl {
name = "stream_to___stream_to_0.2.2.tgz";
url = "https://registry.yarnpkg.com/stream-to/-/stream-to-0.2.2.tgz";
sha1 = "84306098d85fdb990b9fa300b1b3ccf55e8ef01d";
};
}
{ {
name = "strict_uri_encode___strict_uri_encode_2.0.0.tgz"; name = "strict_uri_encode___strict_uri_encode_2.0.0.tgz";
path = fetchurl { path = fetchurl {
@ -5793,6 +6073,14 @@
sha1 = "f32eacac5a175bea25d7fab565ab3ed8741ef56f"; sha1 = "f32eacac5a175bea25d7fab565ab3ed8741ef56f";
}; };
} }
{
name = "timm___timm_1.7.1.tgz";
path = fetchurl {
name = "timm___timm_1.7.1.tgz";
url = "https://registry.yarnpkg.com/timm/-/timm-1.7.1.tgz";
sha1 = "96bab60c7d45b5a10a8a4d0f0117c6b7e5aff76f";
};
}
{ {
name = "tiny_relative_date___tiny_relative_date_1.3.0.tgz"; name = "tiny_relative_date___tiny_relative_date_1.3.0.tgz";
path = fetchurl { path = fetchurl {
@ -5802,11 +6090,11 @@
}; };
} }
{ {
name = "tinycolor2___tinycolor2_1.4.1.tgz"; name = "tinycolor2___tinycolor2_1.4.2.tgz";
path = fetchurl { path = fetchurl {
name = "tinycolor2___tinycolor2_1.4.1.tgz"; name = "tinycolor2___tinycolor2_1.4.2.tgz";
url = "https://registry.yarnpkg.com/tinycolor2/-/tinycolor2-1.4.1.tgz"; url = "https://registry.yarnpkg.com/tinycolor2/-/tinycolor2-1.4.2.tgz";
sha1 = "f4fad333447bc0b07d4dc8e9209d8f39a8ac77e8"; sha1 = "3f6a4d1071ad07676d7fa472e1fac40a719d8803";
}; };
} }
{ {
@ -5857,6 +6145,14 @@
sha1 = "53f36da3f47783b0925afa06ff9f3b165280f781"; sha1 = "53f36da3f47783b0925afa06ff9f3b165280f781";
}; };
} }
{
name = "tough_cookie___tough_cookie_2.5.0.tgz";
path = fetchurl {
name = "tough_cookie___tough_cookie_2.5.0.tgz";
url = "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz";
sha1 = "cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2";
};
}
{ {
name = "truncate_utf8_bytes___truncate_utf8_bytes_1.0.2.tgz"; name = "truncate_utf8_bytes___truncate_utf8_bytes_1.0.2.tgz";
path = fetchurl { path = fetchurl {
@ -6097,14 +6393,6 @@
sha1 = "16b5cafc07dbe3676c1b1999177823d6503acb0c"; sha1 = "16b5cafc07dbe3676c1b1999177823d6503acb0c";
}; };
} }
{
name = "url_regex___url_regex_3.2.0.tgz";
path = fetchurl {
name = "url_regex___url_regex_3.2.0.tgz";
url = "https://registry.yarnpkg.com/url-regex/-/url-regex-3.2.0.tgz";
sha1 = "dbad1e0c9e29e105dd0b1f09f6862f7fdb482724";
};
}
{ {
name = "utf8_byte_length___utf8_byte_length_1.0.4.tgz"; name = "utf8_byte_length___utf8_byte_length_1.0.4.tgz";
path = fetchurl { path = fetchurl {
@ -6113,6 +6401,14 @@
sha1 = "f45f150c4c66eee968186505ab93fcbb8ad6bf61"; sha1 = "f45f150c4c66eee968186505ab93fcbb8ad6bf61";
}; };
} }
{
name = "utif___utif_2.0.1.tgz";
path = fetchurl {
name = "utif___utif_2.0.1.tgz";
url = "https://registry.yarnpkg.com/utif/-/utif-2.0.1.tgz";
sha1 = "9e1582d9bbd20011a6588548ed3266298e711759";
};
}
{ {
name = "util_deprecate___util_deprecate_1.0.2.tgz"; name = "util_deprecate___util_deprecate_1.0.2.tgz";
path = fetchurl { path = fetchurl {

View File

@ -8,12 +8,12 @@
let let
executableName = "element-desktop"; executableName = "element-desktop";
version = "1.7.8"; version = "1.7.9";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "vector-im"; owner = "vector-im";
repo = "riot-desktop"; repo = "riot-desktop";
rev = "v${version}"; rev = "v${version}";
sha256 = "04pfx8knixwlz6s7yxcbff6hpyq75hd4wyj9npil6pcmkxglns5l"; sha256 = "0hk9y6zzabfdi35fqzl9987d98a6k74fi0mzmhhvhvvpj8i1ldrn";
}; };
electron = electron_9; electron = electron_9;

View File

@ -12,11 +12,11 @@ let
in stdenv.mkDerivation rec { in stdenv.mkDerivation rec {
pname = "element-web"; pname = "element-web";
version = "1.7.8"; version = "1.7.9";
src = fetchurl { src = fetchurl {
url = "https://github.com/vector-im/riot-web/releases/download/v${version}/riot-v${version}.tar.gz"; url = "https://github.com/vector-im/riot-web/releases/download/v${version}/riot-v${version}.tar.gz";
sha256 = "1ss5hf4vbr1gr4x3js9blv85fzy8asa1s2gv3rds8aiqnia83alf"; sha256 = "00ch486npqgrwmgfd7bsi6wb9ac6dpv08n13lygn45gha37l1kx1";
}; };
installPhase = '' installPhase = ''

View File

@ -2,11 +2,11 @@
python3Packages.buildPythonApplication rec { python3Packages.buildPythonApplication rec {
pname = "afew"; pname = "afew";
version = "3.0.0"; version = "3.0.1";
src = python3Packages.fetchPypi { src = python3Packages.fetchPypi {
inherit pname version; inherit pname version;
sha256 = "18j3xyzchlslcrkycr2i59jg73cb6yh5s7l3qnl6sa7vgxcbhq7c"; sha256 = "0wpfqbqjlfb9z0hafvdhkm7qw56cr9kfy6n8vb0q42dwlghpz1ff";
}; };
nativeBuildInputs = with python3Packages; [ sphinx setuptools_scm ]; nativeBuildInputs = with python3Packages; [ sphinx setuptools_scm ];

View File

@ -179,5 +179,6 @@ stdenv.mkDerivation {
}; };
maintainers = with stdenv.lib.maintainers; [ ]; maintainers = with stdenv.lib.maintainers; [ ];
platforms = platforms.linux; platforms = platforms.linux;
knownVulnerabilities = [ "Support ended around Semptember 2020." ];
}; };
} }

View File

@ -1,665 +1,665 @@
{ {
version = "78.3.1"; version = "78.3.2";
sources = [ sources = [
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-x86_64/af/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/af/thunderbird-78.3.2.tar.bz2";
locale = "af"; locale = "af";
arch = "linux-x86_64"; arch = "linux-x86_64";
sha256 = "dc14e5319ecee546f10f7decca4489718bfc94bc30f8b08e9571ef2ea6a3d6bd"; sha256 = "928a2aa2fefa53f088ca8122010732bf12ad660e6bd434cfa8062fd9450d6886";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-x86_64/ar/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/ar/thunderbird-78.3.2.tar.bz2";
locale = "ar"; locale = "ar";
arch = "linux-x86_64"; arch = "linux-x86_64";
sha256 = "c2b3315de4d006ca44e3c5a68ed8e77024b89de2323970d4615490b86e0fdfd9"; sha256 = "fd7cda5dadb0233067e6ac1c19ea556fa0d4503ff04c0acaf75532bc149eabca";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-x86_64/ast/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/ast/thunderbird-78.3.2.tar.bz2";
locale = "ast"; locale = "ast";
arch = "linux-x86_64"; arch = "linux-x86_64";
sha256 = "0ffaca9fdce6bd88a0a850e149f1e3fc4e2cb167c637af7f9d674616038cf0a3"; sha256 = "cd23011acdae26cea8e37cab52e174f559e26c033e2a335bef1fb8fc74c3e6e7";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-x86_64/be/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/be/thunderbird-78.3.2.tar.bz2";
locale = "be"; locale = "be";
arch = "linux-x86_64"; arch = "linux-x86_64";
sha256 = "e52c73a0e1a93d6cb51004dd041f88213658673adfc67860f9550ee39adf9250"; sha256 = "4c8703308ad7f26bfe28e8d602a36a379d3f0baf0c14a421c02a73a034c2aaaa";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-x86_64/bg/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/bg/thunderbird-78.3.2.tar.bz2";
locale = "bg"; locale = "bg";
arch = "linux-x86_64"; arch = "linux-x86_64";
sha256 = "62ceac4d1085e1fcbc2446069c6b667be8391a4be5ade4b5f78107ddd3fcc170"; sha256 = "eea7b06f9d4dc03b675fc8f7c86eb72a900a88925a6d824983d513539d05f9fb";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-x86_64/br/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/br/thunderbird-78.3.2.tar.bz2";
locale = "br"; locale = "br";
arch = "linux-x86_64"; arch = "linux-x86_64";
sha256 = "0de6e27f09912f549e92136d46e02fa3738a3177897dd34e2858ee56b803224c"; sha256 = "a28f92a5237722e00913d2a7b9bb597ce94094f4609c53af2cb6542251957247";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-x86_64/ca/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/ca/thunderbird-78.3.2.tar.bz2";
locale = "ca"; locale = "ca";
arch = "linux-x86_64"; arch = "linux-x86_64";
sha256 = "ace99257cea52ecf6f99d9a819cf343a23b74e56c1f0bf2a3e66600dbcded779"; sha256 = "b574e593656c978689e924fa2f87591395f5fb0221dd8f5cb158356bd153c5ea";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-x86_64/cak/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/cak/thunderbird-78.3.2.tar.bz2";
locale = "cak"; locale = "cak";
arch = "linux-x86_64"; arch = "linux-x86_64";
sha256 = "f39736d27349ba66d142d61070e2c37c4c0a463a1cf89ea72fb1cabb264d38eb"; sha256 = "3ad3fc4ec3b45be4b3ec5e8196b558d37c6a008139aa0c8e21ee1f734ae1c8dc";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-x86_64/cs/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/cs/thunderbird-78.3.2.tar.bz2";
locale = "cs"; locale = "cs";
arch = "linux-x86_64"; arch = "linux-x86_64";
sha256 = "a068533fc0ac55972956aa9a9520f403df9519bc291c5102618476f249c911a7"; sha256 = "272f9f732266f6db4b446274c02210617b9c0ae7f406e589b68a3553f0ed8a1b";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-x86_64/cy/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/cy/thunderbird-78.3.2.tar.bz2";
locale = "cy"; locale = "cy";
arch = "linux-x86_64"; arch = "linux-x86_64";
sha256 = "bfd66cda463454684865f055339072513fc4b8774b34e96f3c799c6f555122fd"; sha256 = "dd4cf52fcfefa2a45a19cedf6d6d8e3c083cfc7e87fd103afb472f31e6ae7c5b";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-x86_64/da/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/da/thunderbird-78.3.2.tar.bz2";
locale = "da"; locale = "da";
arch = "linux-x86_64"; arch = "linux-x86_64";
sha256 = "885bdd4063aa9d8d8dbd352af7291208766fb864b9989b68bb2fa038d314bd8b"; sha256 = "bb8260f9fe22408f4811f5e7a93890ebd9a8f13ad50c511c507ffd3e00f1fc86";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-x86_64/de/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/de/thunderbird-78.3.2.tar.bz2";
locale = "de"; locale = "de";
arch = "linux-x86_64"; arch = "linux-x86_64";
sha256 = "f1d9d91e6a4ef5e3945d958457e96cedde86a0f3b62ac5aee21eeff54c40c999"; sha256 = "20fabc41f2375020e00517065ad3316905bb619c727422196d49475a42f151cb";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-x86_64/dsb/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/dsb/thunderbird-78.3.2.tar.bz2";
locale = "dsb"; locale = "dsb";
arch = "linux-x86_64"; arch = "linux-x86_64";
sha256 = "73628a6c666f69529b04ea8c60dc2fdffce17e9cf13ed6e3af24c8443f093b74"; sha256 = "1b0deceff0d884da593e4e6b63cd544ddb680300db7eca1cb33ea556e63942a6";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-x86_64/el/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/el/thunderbird-78.3.2.tar.bz2";
locale = "el"; locale = "el";
arch = "linux-x86_64"; arch = "linux-x86_64";
sha256 = "ec532079ebac4e8ba6e58e97d0c7eb1d7f5e0e20c1563985cabd03101dc2c995"; sha256 = "02d7c36b55d3874b9b97ca70605af2bd665778f63620f70f3e8773c145fc89b1";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-x86_64/en-CA/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/en-CA/thunderbird-78.3.2.tar.bz2";
locale = "en-CA"; locale = "en-CA";
arch = "linux-x86_64"; arch = "linux-x86_64";
sha256 = "1a1366cf35f9ab6b39300405538590e55d6a0833e406a61c9e3924a72adc2bcc"; sha256 = "5696ae6535e5a7a8502a86a7834da57ba63b6b2b46e17b46b50535165c1cf9e7";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-x86_64/en-GB/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/en-GB/thunderbird-78.3.2.tar.bz2";
locale = "en-GB"; locale = "en-GB";
arch = "linux-x86_64"; arch = "linux-x86_64";
sha256 = "1f62e839e1fff1c0a833ad2ee73fc72542bc3723e0e368ac1d9f153378da8859"; sha256 = "6e4c70de2f11a97487e0312af883bd966e3ef937867ebe11e0fd97fab70bb0ac";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-x86_64/en-US/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/en-US/thunderbird-78.3.2.tar.bz2";
locale = "en-US"; locale = "en-US";
arch = "linux-x86_64"; arch = "linux-x86_64";
sha256 = "c46a8dde6a03c9588d0101354f2a09123d940bce507ea0a693807ea825b5edd1"; sha256 = "09e237e75ea4b7c66f249344bd4774c69b9e271176280be3efd8b037699eaa3f";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-x86_64/es-AR/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/es-AR/thunderbird-78.3.2.tar.bz2";
locale = "es-AR"; locale = "es-AR";
arch = "linux-x86_64"; arch = "linux-x86_64";
sha256 = "3885122a529f8cc9cc7a579696f6e74f0d42a37309f44a33a18dbc99d01a433a"; sha256 = "1df4ab6d9ef48a36b90e2f37ca872a772d0e445a9c4d1428a65b3484facf142c";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-x86_64/es-ES/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/es-ES/thunderbird-78.3.2.tar.bz2";
locale = "es-ES"; locale = "es-ES";
arch = "linux-x86_64"; arch = "linux-x86_64";
sha256 = "d61e5d9e82f52de243cecfc8ccf0ec4476e3309167a33f9c4b7f513c31808527"; sha256 = "eb4f2ed2a4ceeeb7146f46a5b675949337aa6251b26714d9e7bf21213e4a81c0";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-x86_64/et/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/et/thunderbird-78.3.2.tar.bz2";
locale = "et"; locale = "et";
arch = "linux-x86_64"; arch = "linux-x86_64";
sha256 = "1ddc1fb310c75104c2642c145f9250fbffa834d5a9fb100c12c2e3ea31955321"; sha256 = "1e52313ce19c31c0e8f1015b9bdf4f16ec81235673ce1305b1754dccc9d549c2";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-x86_64/eu/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/eu/thunderbird-78.3.2.tar.bz2";
locale = "eu"; locale = "eu";
arch = "linux-x86_64"; arch = "linux-x86_64";
sha256 = "fdb2fd4d1650edc40f193c028a8bd6ac832742a383a2537f7cf7244f8d736717"; sha256 = "452c7663e25c88a19232afbadf5c04b2d9bde6095259b4b6e23961d134682d63";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-x86_64/fa/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/fa/thunderbird-78.3.2.tar.bz2";
locale = "fa"; locale = "fa";
arch = "linux-x86_64"; arch = "linux-x86_64";
sha256 = "7ea9ed9eef1167792c2468372bd5c35a9a36401ec40d63a14a8b3d86cb6f6687"; sha256 = "afd84bbe0728f69ded3ea9babf15d9fcc7cd52c242c2ac37dfcac14d0a700a45";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-x86_64/fi/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/fi/thunderbird-78.3.2.tar.bz2";
locale = "fi"; locale = "fi";
arch = "linux-x86_64"; arch = "linux-x86_64";
sha256 = "efd073de097cb5f82a26a239fbb360b653041a48bf4c98e983b2fa9675e8c64e"; sha256 = "fc2042612a6d4366ae5e7d86dd254a16865ec4fea4c47d242c9d170de738fc00";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-x86_64/fr/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/fr/thunderbird-78.3.2.tar.bz2";
locale = "fr"; locale = "fr";
arch = "linux-x86_64"; arch = "linux-x86_64";
sha256 = "c07c981bc7fa69a10b3c78602e5cff029860b90243ccc3270f7df56505163b81"; sha256 = "55acb0633729a54eb594489b5e586626220abd51b36a18d57b78ea5cf44c74f9";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-x86_64/fy-NL/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/fy-NL/thunderbird-78.3.2.tar.bz2";
locale = "fy-NL"; locale = "fy-NL";
arch = "linux-x86_64"; arch = "linux-x86_64";
sha256 = "433912fe6bf0b36788f55f34d28cc56dc9a9c6f19684132e4ce51def7b968097"; sha256 = "5789bc3439d9cad9b6a19b341ed20ef1addf0fd5e6e2b7fd811262a6b03efb42";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-x86_64/ga-IE/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/ga-IE/thunderbird-78.3.2.tar.bz2";
locale = "ga-IE"; locale = "ga-IE";
arch = "linux-x86_64"; arch = "linux-x86_64";
sha256 = "36a890c2aef942121a0e0717118328668d51961d506eab833141cb80c826768a"; sha256 = "25628528647077b5d002a362588f2cc51102a9e56cb69e1adab3ce6248934d50";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-x86_64/gd/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/gd/thunderbird-78.3.2.tar.bz2";
locale = "gd"; locale = "gd";
arch = "linux-x86_64"; arch = "linux-x86_64";
sha256 = "146853c4725c744d636acfcae4fdb3e65e2f37bd15d5abcbe105bf7ef8854b2f"; sha256 = "f7a3d9ee0b0e7eb879ab213d2d607b4030a28e6f8c9fa8b9fa344dd800280873";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-x86_64/gl/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/gl/thunderbird-78.3.2.tar.bz2";
locale = "gl"; locale = "gl";
arch = "linux-x86_64"; arch = "linux-x86_64";
sha256 = "32f7c157a764c58a4b2d7aa45388919553300e6c0212ac1b48f30121a04332ee"; sha256 = "81f43c7f99cc40d14292cf6bd2011067a626651018d1db9d8565171f8c1d3e9c";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-x86_64/he/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/he/thunderbird-78.3.2.tar.bz2";
locale = "he"; locale = "he";
arch = "linux-x86_64"; arch = "linux-x86_64";
sha256 = "49e44de01ad2f13f1c2f82d137a1eab13d5800a1f72d7eb99514ea3d8bbac1d1"; sha256 = "4ba5ab71163107ab78a3b2a54d3069ef055cc052e64b253d12e8bdad1fc2b807";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-x86_64/hr/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/hr/thunderbird-78.3.2.tar.bz2";
locale = "hr"; locale = "hr";
arch = "linux-x86_64"; arch = "linux-x86_64";
sha256 = "de3df9903e42dbaa6d2f98da953ff141ac81728537c94505414c7df0721580ab"; sha256 = "3bc0688dc2e7bffff8f57bd93dc6aa5442809372bfe76866ee73b0a255940d52";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-x86_64/hsb/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/hsb/thunderbird-78.3.2.tar.bz2";
locale = "hsb"; locale = "hsb";
arch = "linux-x86_64"; arch = "linux-x86_64";
sha256 = "3a851331fb698a7f6b5e54b26bba180f9952d55c29a0f8387e2637c0d8a83c79"; sha256 = "d72f79876011e5b9b51aa5a6f13fcf94953aa2e88c78b622882ea7e488aebf2a";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-x86_64/hu/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/hu/thunderbird-78.3.2.tar.bz2";
locale = "hu"; locale = "hu";
arch = "linux-x86_64"; arch = "linux-x86_64";
sha256 = "bbfeee0ce02dfc34012c994d914c69fe6a7d5b4ff0e36bc9e9ec453edc756725"; sha256 = "758a16aa0d6e8531c29f32735958984af64861aba71b7bf4b1abd0f9317cd9e7";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-x86_64/hy-AM/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/hy-AM/thunderbird-78.3.2.tar.bz2";
locale = "hy-AM"; locale = "hy-AM";
arch = "linux-x86_64"; arch = "linux-x86_64";
sha256 = "b43ca227a53d8587da34219b02c1bd58f8ed23d63e425cd4911c5e1caa3a5254"; sha256 = "3c322f520d8e3aecfe0380235034322e3cd5b507bcec1b637ea5257dccc5675c";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-x86_64/id/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/id/thunderbird-78.3.2.tar.bz2";
locale = "id"; locale = "id";
arch = "linux-x86_64"; arch = "linux-x86_64";
sha256 = "87ed1fb328b592418c515ac16dc8c45349c2dba4c69f8552f3e1f2aa9753bfca"; sha256 = "7e77937597d5a1edc597ef8e0531d7f221f7d94d8197a39949bb343a42e2787f";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-x86_64/is/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/is/thunderbird-78.3.2.tar.bz2";
locale = "is"; locale = "is";
arch = "linux-x86_64"; arch = "linux-x86_64";
sha256 = "acfdf1a9dba0372966c82aa3629b5488111b8592b26aec3aa5162c6527ec29a6"; sha256 = "762cee2b1bf56c06d85b89d41b2e0dfe171ab69603d33f8b424ad1f0a38e74c2";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-x86_64/it/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/it/thunderbird-78.3.2.tar.bz2";
locale = "it"; locale = "it";
arch = "linux-x86_64"; arch = "linux-x86_64";
sha256 = "04480c988c1518b7d2dc06c836f42b4bbbe243df7014a332d195a774fbafbd93"; sha256 = "9af51c566595d8d55109144ed47ba334610afcbbfdd732c092ae4b5627c7f773";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-x86_64/ja/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/ja/thunderbird-78.3.2.tar.bz2";
locale = "ja"; locale = "ja";
arch = "linux-x86_64"; arch = "linux-x86_64";
sha256 = "a8041d9fc9c2e25367682b0c8d3343cf1a748d32616d4befc2ee3ab0cec24ee6"; sha256 = "01f5ddf7c493d22cd30854209ada1936f9b22f0969c1fe16dca5782773a9c670";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-x86_64/ka/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/ka/thunderbird-78.3.2.tar.bz2";
locale = "ka"; locale = "ka";
arch = "linux-x86_64"; arch = "linux-x86_64";
sha256 = "d6df8809fd92b9a70a4cd95a035abbb14e0c0e8869034d3c90e50b2e531fa4d4"; sha256 = "57d567f1e3905ddecbfb56faf12f286d59b41e7243449d1890eed7d603b3edd1";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-x86_64/kab/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/kab/thunderbird-78.3.2.tar.bz2";
locale = "kab"; locale = "kab";
arch = "linux-x86_64"; arch = "linux-x86_64";
sha256 = "6170fb0321369588af4417ce8ac25bb74ec14c932a8ecc22119f3c7d15bc9336"; sha256 = "d8648f69c846b151014f3d4fe14ca52be266faf38dcbcc0bb1d86e2484626353";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-x86_64/kk/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/kk/thunderbird-78.3.2.tar.bz2";
locale = "kk"; locale = "kk";
arch = "linux-x86_64"; arch = "linux-x86_64";
sha256 = "a3a9d5e5c1651f0d46fb6c3d74e87cbde964f2aac9484dbe0b12afabb66adfdf"; sha256 = "bae241982062ce0e5edadf6d413f3fc97b8d40fe20cb6690f4c637daf37235c3";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-x86_64/ko/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/ko/thunderbird-78.3.2.tar.bz2";
locale = "ko"; locale = "ko";
arch = "linux-x86_64"; arch = "linux-x86_64";
sha256 = "729a243dd4b5ab5dfd615228875ebba18a8b99d34ade0711cb7c1d2f4534b11d"; sha256 = "827a13876cfbc38932cdd7530b6ce677f4a45d83cacf78afd1fd38b63a4e60f9";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-x86_64/lt/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/lt/thunderbird-78.3.2.tar.bz2";
locale = "lt"; locale = "lt";
arch = "linux-x86_64"; arch = "linux-x86_64";
sha256 = "df653c6a2af688591a1e549fddf29f176046723601e5ef85633f69105f5ce23e"; sha256 = "21a8895cc45fb8e952c36b0775010ce62a61e6cb5e2d971a3bbc764c1c4d24a0";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-x86_64/ms/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/ms/thunderbird-78.3.2.tar.bz2";
locale = "ms"; locale = "ms";
arch = "linux-x86_64"; arch = "linux-x86_64";
sha256 = "278252b8d98cc29ce713eb00f59c87b54a324a0d3e833434a9912b3e1a0cd796"; sha256 = "94b48b693ec3acb9151f115eab1ac737d2f8a4a230f30c032e6a79377943b4fc";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-x86_64/nb-NO/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/nb-NO/thunderbird-78.3.2.tar.bz2";
locale = "nb-NO"; locale = "nb-NO";
arch = "linux-x86_64"; arch = "linux-x86_64";
sha256 = "665760b1c1035a831624c690053c5400d0ae93e28bc04a50bcc8014bc0111f5b"; sha256 = "7501edb879e572a82c167d27d7d27332dd4ead3b7aa023c1f629b24c3a1f5bed";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-x86_64/nl/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/nl/thunderbird-78.3.2.tar.bz2";
locale = "nl"; locale = "nl";
arch = "linux-x86_64"; arch = "linux-x86_64";
sha256 = "466cc2363465d0e3b6e80a9b3a27faaf010f693ed6b8b26f99610c1b4943db10"; sha256 = "9997c61862c1dd313e975924ae6eb6de920ae9d2314fef6190049d4de807b810";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-x86_64/nn-NO/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/nn-NO/thunderbird-78.3.2.tar.bz2";
locale = "nn-NO"; locale = "nn-NO";
arch = "linux-x86_64"; arch = "linux-x86_64";
sha256 = "32f6aedcc9c9dad560e84c6de83452808e87b903c5cf69834f3a315ff560503c"; sha256 = "3d63ed34b338292396364cba16cc9bc2c8fe02f561b0230cc90f4db8757496f3";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-x86_64/pa-IN/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/pa-IN/thunderbird-78.3.2.tar.bz2";
locale = "pa-IN"; locale = "pa-IN";
arch = "linux-x86_64"; arch = "linux-x86_64";
sha256 = "12073cbc4476a11c717a35f8281d9e8590f7eb35b20faf46aadeb41ffd875bfa"; sha256 = "3483353b87fe794035e20c38acb2ff138fdf0bc18622a392f30c35417a06098a";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-x86_64/pl/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/pl/thunderbird-78.3.2.tar.bz2";
locale = "pl"; locale = "pl";
arch = "linux-x86_64"; arch = "linux-x86_64";
sha256 = "3b8131571d497c6479615c48f908f324a76b297f9f0430eb18228283ab4de198"; sha256 = "2423e8b4598f5af27a901a9954f63815fc97bc03cd5eb54922eb8fe4c358ec7e";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-x86_64/pt-BR/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/pt-BR/thunderbird-78.3.2.tar.bz2";
locale = "pt-BR"; locale = "pt-BR";
arch = "linux-x86_64"; arch = "linux-x86_64";
sha256 = "618abb8f3e7c48f33002e4c99f05769b66036331a040ff395c65fd1dc9d60dbf"; sha256 = "da6be790a40fdaeced699e60e880f403ec65f5789a3db60f6c02afcef4a73095";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-x86_64/pt-PT/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/pt-PT/thunderbird-78.3.2.tar.bz2";
locale = "pt-PT"; locale = "pt-PT";
arch = "linux-x86_64"; arch = "linux-x86_64";
sha256 = "a43ea5f9181d9a7abc977ae3b0f5a20215c45d8d3e9baeae581ef15be0909489"; sha256 = "b2468b71039ce92df55efd702da6d94ccb94ae86003426cda059b002ba11cfd8";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-x86_64/rm/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/rm/thunderbird-78.3.2.tar.bz2";
locale = "rm"; locale = "rm";
arch = "linux-x86_64"; arch = "linux-x86_64";
sha256 = "69ea896f45830fe8eeb08e2244579a7454fc18fbdbafe781331bbad97ca4ccec"; sha256 = "2acfc84306064c9938b36cbdac93e49d680ff56bb15235335751db85c328d6e6";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-x86_64/ro/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/ro/thunderbird-78.3.2.tar.bz2";
locale = "ro"; locale = "ro";
arch = "linux-x86_64"; arch = "linux-x86_64";
sha256 = "751137453712a435060346649a3f16a2422379ab0dab9141add053e85f0de8d8"; sha256 = "88092024e915640ba75f79f853800e3bfc8ddc2a8d0414189128dab95f02d532";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-x86_64/ru/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/ru/thunderbird-78.3.2.tar.bz2";
locale = "ru"; locale = "ru";
arch = "linux-x86_64"; arch = "linux-x86_64";
sha256 = "26f2d8b5704ee445835bb7a0f5bcec222359ea83d7d53fe9c9870e664fe3a70f"; sha256 = "8b591cba711f89bb8c31919974328e189b02db7afea7a605601b8f245b6ad1e6";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-x86_64/si/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/si/thunderbird-78.3.2.tar.bz2";
locale = "si"; locale = "si";
arch = "linux-x86_64"; arch = "linux-x86_64";
sha256 = "1f450ffc77cf5309e8b01646c90324b14cc465b5b7d04566f3ff6cc56506d202"; sha256 = "9cde54c8c6e1dedab2a1c39283a76c2a06842917a6f5649eb38de81efe4d3d2c";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-x86_64/sk/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/sk/thunderbird-78.3.2.tar.bz2";
locale = "sk"; locale = "sk";
arch = "linux-x86_64"; arch = "linux-x86_64";
sha256 = "f95af873292f04fe6c224e24a68ed715a8e4015a81be7b45352363f16233ee58"; sha256 = "c46599c8c0a6fa8d9c8e52e360864fe8fa5d434ebba227055990d75f2df7feec";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-x86_64/sl/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/sl/thunderbird-78.3.2.tar.bz2";
locale = "sl"; locale = "sl";
arch = "linux-x86_64"; arch = "linux-x86_64";
sha256 = "ae49c848187a5eae1d8e8bb3f3b85e9c51794a5caed2832a38c9ac38910c85b6"; sha256 = "5a232ec6a3968c9198e61f9ddfcd201f55c780428d8ae036161670784e414e13";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-x86_64/sq/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/sq/thunderbird-78.3.2.tar.bz2";
locale = "sq"; locale = "sq";
arch = "linux-x86_64"; arch = "linux-x86_64";
sha256 = "aa10a2fa4c73cef05c2b0657daa27c80697cda70e792be56b09ab1f9a66f544d"; sha256 = "0fef369af4d7fcfcf306aa0246288aac58ec4e688c19e226b7e75a533dab14f4";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-x86_64/sr/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/sr/thunderbird-78.3.2.tar.bz2";
locale = "sr"; locale = "sr";
arch = "linux-x86_64"; arch = "linux-x86_64";
sha256 = "92daea64a552175341b8223d9264a1bd5bbc5f3938f3420c8b81c7d0e9685b9c"; sha256 = "33343981ddb24b43edee0aa8200069e41bc40c0e1befac7d8177124070856bec";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-x86_64/sv-SE/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/sv-SE/thunderbird-78.3.2.tar.bz2";
locale = "sv-SE"; locale = "sv-SE";
arch = "linux-x86_64"; arch = "linux-x86_64";
sha256 = "d001f1c61dea17d34dc309f6a1f120c57d6fdfe9fd0b3d336b1a1493f47dc196"; sha256 = "ccb7a53d2e49fb53fd1affaa0f51d2ee41f33a84d3d2683c241d6391f0030786";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-x86_64/th/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/th/thunderbird-78.3.2.tar.bz2";
locale = "th"; locale = "th";
arch = "linux-x86_64"; arch = "linux-x86_64";
sha256 = "0f640917646cb88c90aa7f85a79942f0e9dcce70e5d6d65da7e2d4cabfb73fb6"; sha256 = "913e379bfb662542f9ddcc1835aa668559ebfead343b4ba9302e8453ff89394f";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-x86_64/tr/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/tr/thunderbird-78.3.2.tar.bz2";
locale = "tr"; locale = "tr";
arch = "linux-x86_64"; arch = "linux-x86_64";
sha256 = "2150dc844df54651020d8ab4d43ba86d0624cbc06fceb12ab41eec5bafe7339e"; sha256 = "0c316e292faae020d17e34f99fa8454616ed72a6e22f075096a961ebebb6a838";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-x86_64/uk/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/uk/thunderbird-78.3.2.tar.bz2";
locale = "uk"; locale = "uk";
arch = "linux-x86_64"; arch = "linux-x86_64";
sha256 = "1d9bdddcd7e53d47e77c4fedef5f50559c45e61778e29fc98c04cc4538dcadd7"; sha256 = "8d9d5da837d7600c2debdf5b565ebd0a4a95352229382debc7aeb9dac3be1f5b";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-x86_64/uz/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/uz/thunderbird-78.3.2.tar.bz2";
locale = "uz"; locale = "uz";
arch = "linux-x86_64"; arch = "linux-x86_64";
sha256 = "281f2cb9c35c5710c387fd17a6a55b85c29a01b3f1e32a2b377392566d821b55"; sha256 = "f1188953fff54663ed02d4fae4855d4aea08694485c8e3fd50bd35fda5b7cfaa";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-x86_64/vi/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/vi/thunderbird-78.3.2.tar.bz2";
locale = "vi"; locale = "vi";
arch = "linux-x86_64"; arch = "linux-x86_64";
sha256 = "1678dae6f876b7799f61701db64ab1aa4d6aa3c316535a04734ec7f9481d6042"; sha256 = "69faa905db5349c0039ad34ab8a8d17ed94a4d17be4abd38670abb8ab3dc1744";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-x86_64/zh-CN/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/zh-CN/thunderbird-78.3.2.tar.bz2";
locale = "zh-CN"; locale = "zh-CN";
arch = "linux-x86_64"; arch = "linux-x86_64";
sha256 = "42c8fcced2d06b91f402c6a9c12b48dc1b024f1a5b2d01aa96a80df088700656"; sha256 = "187f8674521c338ca69586f993fad11a913935bb57e33015b4de9ff377d272e9";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-x86_64/zh-TW/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-x86_64/zh-TW/thunderbird-78.3.2.tar.bz2";
locale = "zh-TW"; locale = "zh-TW";
arch = "linux-x86_64"; arch = "linux-x86_64";
sha256 = "bbea2d5abe313825efd93e7fe8e63f5c73eeff72ab247b1990210256efee8aad"; sha256 = "f71f2865d99a3898b8868a333d259ec653916093a8d87b32a68542ff5b025bbe";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-i686/af/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/af/thunderbird-78.3.2.tar.bz2";
locale = "af"; locale = "af";
arch = "linux-i686"; arch = "linux-i686";
sha256 = "a54cfb6c0965d464ddfaa96dd214444ee51cea6c894e5efac236925d43de0be3"; sha256 = "354b1eaad2911860ccca8854f3284978f412452a7f190eeb0dca40f91c374a60";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-i686/ar/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/ar/thunderbird-78.3.2.tar.bz2";
locale = "ar"; locale = "ar";
arch = "linux-i686"; arch = "linux-i686";
sha256 = "4d79eb10a38b01539b0c6d31db50f69004fbe5816c09e876cc338984aab0496b"; sha256 = "2a61b943aee6cd0bbb479779f4b9cb01cc82a1090881523352264cd55bb9349b";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-i686/ast/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/ast/thunderbird-78.3.2.tar.bz2";
locale = "ast"; locale = "ast";
arch = "linux-i686"; arch = "linux-i686";
sha256 = "5aa985186c01afe978961b64d702d98a59851257b1a3cd3d9873b7f67dcf1f61"; sha256 = "b7c01f059333466686bf4c29c5506649d379ed7402d9a90fdfc8c94169287d81";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-i686/be/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/be/thunderbird-78.3.2.tar.bz2";
locale = "be"; locale = "be";
arch = "linux-i686"; arch = "linux-i686";
sha256 = "08d6da278f79b3e7c0132b8aec649b804d3a64b0d5c02223b66f83061e421c6e"; sha256 = "bdb0bde174dc55c41434e1184c38f55de3692350b119b112eb0231f01af38d60";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-i686/bg/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/bg/thunderbird-78.3.2.tar.bz2";
locale = "bg"; locale = "bg";
arch = "linux-i686"; arch = "linux-i686";
sha256 = "c8749049c243474693272795cc3706e096873f743d22be171bb373746afe8a6e"; sha256 = "4186901879e228c8bd8f88f893e4e15275fff93e6a8477600360c6f6be0cb205";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-i686/br/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/br/thunderbird-78.3.2.tar.bz2";
locale = "br"; locale = "br";
arch = "linux-i686"; arch = "linux-i686";
sha256 = "ecc9f08ef1b384d4844ea039ede864ad0f37c1cf83a75b8ee73a34b7f229e4f1"; sha256 = "5c7fe36626a5792aa2c58152631068bd3505486f085130d901270eaf33b42797";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-i686/ca/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/ca/thunderbird-78.3.2.tar.bz2";
locale = "ca"; locale = "ca";
arch = "linux-i686"; arch = "linux-i686";
sha256 = "92c9e0bbd375c525ad5c28dca4f8bc68726477ed49d908bf479d32729fb44c0a"; sha256 = "fd19428f26fb4d2f6c616fe9ea950e6762a4867fbc28b96c5a0c22bfe89bdaa7";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-i686/cak/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/cak/thunderbird-78.3.2.tar.bz2";
locale = "cak"; locale = "cak";
arch = "linux-i686"; arch = "linux-i686";
sha256 = "33127a2b75dbdab2c33c8fb8a65e6bf053da6422449cb463c7cbf08fe7839d1e"; sha256 = "4968a288e8bb2d5badb5347dbcd4cbb5ef0619a213d043a892d267792410aa50";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-i686/cs/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/cs/thunderbird-78.3.2.tar.bz2";
locale = "cs"; locale = "cs";
arch = "linux-i686"; arch = "linux-i686";
sha256 = "67d137a336085ffbc414d870d57152a275b082c80d240a6b9079f6573e172df0"; sha256 = "8ba961d56d2227e310d5998bf099bbdbfb351b10ad7868de7e7a4d4d5bb7b324";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-i686/cy/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/cy/thunderbird-78.3.2.tar.bz2";
locale = "cy"; locale = "cy";
arch = "linux-i686"; arch = "linux-i686";
sha256 = "18115d42cf211dc6a90881d836c9431624d54adc30a9521d6b1a1718d95a864b"; sha256 = "0270ab63bbc9b94d7dd5a2740a71deaf9f1d2625224ad43d74d0f8c3e4a6cc05";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-i686/da/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/da/thunderbird-78.3.2.tar.bz2";
locale = "da"; locale = "da";
arch = "linux-i686"; arch = "linux-i686";
sha256 = "faea4b3a26149a036d8b44aa0709c4d04e5e917d321d13d1b00cd80b629e5627"; sha256 = "2a3be495e24161babfe8186cf3d263705e890f036dd3121ef55bf3d700c06c25";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-i686/de/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/de/thunderbird-78.3.2.tar.bz2";
locale = "de"; locale = "de";
arch = "linux-i686"; arch = "linux-i686";
sha256 = "1bb244032bfefc15c6e7e2a1e564fa51cfc80c18b6501f079ae65aa5bddc269d"; sha256 = "e4c831c8e858ef9b3f889c4b08ff091fad07c3850e92490de16988a5eb64730f";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-i686/dsb/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/dsb/thunderbird-78.3.2.tar.bz2";
locale = "dsb"; locale = "dsb";
arch = "linux-i686"; arch = "linux-i686";
sha256 = "687089560ea3561b21ba7f8cef77970f467b953671e5cfe956e0c0aa3dfa72cf"; sha256 = "e52993b8fb4d9e8ab064ae3d79d58bb097d24af51d9821889da133e873e1de76";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-i686/el/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/el/thunderbird-78.3.2.tar.bz2";
locale = "el"; locale = "el";
arch = "linux-i686"; arch = "linux-i686";
sha256 = "5c8021489c7fdfea19446832b6676640134f805537474814f5a7e8d840a2e01c"; sha256 = "6cdc29bb73eca549762edf7725327ab366c5c04340b387c43e5b4381849a01e8";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-i686/en-CA/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/en-CA/thunderbird-78.3.2.tar.bz2";
locale = "en-CA"; locale = "en-CA";
arch = "linux-i686"; arch = "linux-i686";
sha256 = "a2c9c7f94191e9883f29dd43d7bee51158287cb45e3330ee5649f6553428d6f1"; sha256 = "7b98391dc4d42dd1b531400c2f9c73f3e8beefc70b6652e13a39fd2b61af845e";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-i686/en-GB/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/en-GB/thunderbird-78.3.2.tar.bz2";
locale = "en-GB"; locale = "en-GB";
arch = "linux-i686"; arch = "linux-i686";
sha256 = "6afea217b721756cc1ebfd7b99e86a2af239855ef1fe04d6e7fe9e00e00f787c"; sha256 = "e257688a0f461be4fcff0f2cca52cf6f63cb143ea4ace3bf81224cf46f0b594d";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-i686/en-US/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/en-US/thunderbird-78.3.2.tar.bz2";
locale = "en-US"; locale = "en-US";
arch = "linux-i686"; arch = "linux-i686";
sha256 = "24ae6fe44729cad965c36c8294b00831f426a815bda43bd39fb6e4ed8248a611"; sha256 = "d6c97eb8621ca662d2363d0a713f694ce6927d8674e85e3c7d45ad1d5a9429e1";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-i686/es-AR/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/es-AR/thunderbird-78.3.2.tar.bz2";
locale = "es-AR"; locale = "es-AR";
arch = "linux-i686"; arch = "linux-i686";
sha256 = "3fd89cac92b8ae97766b56a84d0e8a16f51966cd77a8963ab92b5706cb8fafce"; sha256 = "0db8cd545cd003399e462351137f30f5cbadda56bbe33d6367ea1469360ec3fc";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-i686/es-ES/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/es-ES/thunderbird-78.3.2.tar.bz2";
locale = "es-ES"; locale = "es-ES";
arch = "linux-i686"; arch = "linux-i686";
sha256 = "5227c2e2624bbc0ff3ec35be01ed42579c280ccbc5b2ab195aca3a6a760bb944"; sha256 = "084e2846de52187b45d00b80b192ad4bfc5248a49d956e2eb2977e343a1d9d93";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-i686/et/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/et/thunderbird-78.3.2.tar.bz2";
locale = "et"; locale = "et";
arch = "linux-i686"; arch = "linux-i686";
sha256 = "1991aa5a22f7a4f6435ed9a116cbbc1b87eccf957f1401b6f20af3ae67b1b3fd"; sha256 = "51c1a9105322783c689012dc6d5a875fd0f55611c5d79d2a6e3237ea81475d99";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-i686/eu/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/eu/thunderbird-78.3.2.tar.bz2";
locale = "eu"; locale = "eu";
arch = "linux-i686"; arch = "linux-i686";
sha256 = "b9a6cdbd518ab307c646f38757bf8f2706ad51d4dd5f5193e719e112f343f021"; sha256 = "5f32ec406d4ed76b29f683e71f73fb67af098a206102043e5e624cd321d9d964";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-i686/fa/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/fa/thunderbird-78.3.2.tar.bz2";
locale = "fa"; locale = "fa";
arch = "linux-i686"; arch = "linux-i686";
sha256 = "49805c2c97109cc22075d08503926a57910f367010a2ff8ed9c91556ad4d419b"; sha256 = "b5a22adacde7e0b931f8daed54f7876dd1e1bb845e59558fe11960484369b7db";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-i686/fi/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/fi/thunderbird-78.3.2.tar.bz2";
locale = "fi"; locale = "fi";
arch = "linux-i686"; arch = "linux-i686";
sha256 = "ce6e16cc46ee16ca9aad6154be7442dd8bdaee09e89a75c13639f1c1979dbb57"; sha256 = "de546582b1944aecdc75d62fb8da39158f3bcc9af54cd6b761db23056e9283f0";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-i686/fr/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/fr/thunderbird-78.3.2.tar.bz2";
locale = "fr"; locale = "fr";
arch = "linux-i686"; arch = "linux-i686";
sha256 = "d2e4abb6fead6aeda1e8172c04ce7b809bfa8038ffaec89431791422e70b8932"; sha256 = "f0dc1417bf759bc29ff026a651bb7c3af6bbe4125e4f4ba683ea69d1b1255487";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-i686/fy-NL/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/fy-NL/thunderbird-78.3.2.tar.bz2";
locale = "fy-NL"; locale = "fy-NL";
arch = "linux-i686"; arch = "linux-i686";
sha256 = "6286b7bdee544c51137c2bdc423eb72523b20ddde3eb4bee7b4ab575aebf30fc"; sha256 = "32ab772135e7d225b4523fe8a285528c62de998e83afebccd05ceaf19b421f45";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-i686/ga-IE/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/ga-IE/thunderbird-78.3.2.tar.bz2";
locale = "ga-IE"; locale = "ga-IE";
arch = "linux-i686"; arch = "linux-i686";
sha256 = "b145a9b44cbafce2ebc22f4454ee6d4017c531918dd690598eb421822f4b0548"; sha256 = "a7bc030ed725fd70d8a56c2f16c9ba3b6351d1b4774d122660a53b5e1a74bd1f";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-i686/gd/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/gd/thunderbird-78.3.2.tar.bz2";
locale = "gd"; locale = "gd";
arch = "linux-i686"; arch = "linux-i686";
sha256 = "c0835ac49602ad6de4d37e016d40f51268bf3e43ff04a2bc1a83c5f7f7b12556"; sha256 = "f628c45bac5b24e4520c891afdde79b5235938ddb560803b29e9aa92c68577ca";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-i686/gl/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/gl/thunderbird-78.3.2.tar.bz2";
locale = "gl"; locale = "gl";
arch = "linux-i686"; arch = "linux-i686";
sha256 = "22c5cfdfb8c64d18d10e2c839166ffbdb21b54d4bcebb51bb7bcaec21a3efdbb"; sha256 = "621d843e20100641fed4fa2646d633ec4e78669113ff6627dcda9be07848a550";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-i686/he/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/he/thunderbird-78.3.2.tar.bz2";
locale = "he"; locale = "he";
arch = "linux-i686"; arch = "linux-i686";
sha256 = "85f2170d4f4e20f91631a717bf78f28ac7ca45d47bb4fbfef3e56aeba291fbfc"; sha256 = "2e4916e0555d64e7a54a036612bf343e6f4307afddb4819f4b8839485a76f781";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-i686/hr/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/hr/thunderbird-78.3.2.tar.bz2";
locale = "hr"; locale = "hr";
arch = "linux-i686"; arch = "linux-i686";
sha256 = "2aa8960e96ebbb32be8f019f30d9eca73f69aefef0989b760223569ed8e1bca6"; sha256 = "0f77b57b10b69eae4c3c6a3aeb11ff1cdd038bc01ab852d93d3201f4d868750c";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-i686/hsb/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/hsb/thunderbird-78.3.2.tar.bz2";
locale = "hsb"; locale = "hsb";
arch = "linux-i686"; arch = "linux-i686";
sha256 = "0c1f3803399da44d1c518057f191c3a544a3a3af3e2893be44e386edd43a5ae2"; sha256 = "c66cd470205f8a54d2427c04300fa8198c771d803b06875b907d373c49962550";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-i686/hu/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/hu/thunderbird-78.3.2.tar.bz2";
locale = "hu"; locale = "hu";
arch = "linux-i686"; arch = "linux-i686";
sha256 = "2f357cb86c535ec8bbe657d6987b657ed1d0257d2c94620359cab42570d35983"; sha256 = "8b9bb5089451dbf01e497a99a74e7baf5a1a23f32ef4aebfb2cdadd5f0862b29";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-i686/hy-AM/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/hy-AM/thunderbird-78.3.2.tar.bz2";
locale = "hy-AM"; locale = "hy-AM";
arch = "linux-i686"; arch = "linux-i686";
sha256 = "ab3582a00d26e83a6b01cc2daa17ab9cf9708de1e1dcf9260f827f4e3fdde100"; sha256 = "9d20881caa1b397d82bf55e9934c0aae7a202a3e10dfdf618e213fc5df7d657a";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-i686/id/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/id/thunderbird-78.3.2.tar.bz2";
locale = "id"; locale = "id";
arch = "linux-i686"; arch = "linux-i686";
sha256 = "8d5a97914ee601a47a89dd7bbe971f95a1b5bfb4a7047feb164875daa316417d"; sha256 = "2ec49e638f0f3cd7d18ad7e9e02827f9935161913ff84a9c99a1f98694293097";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-i686/is/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/is/thunderbird-78.3.2.tar.bz2";
locale = "is"; locale = "is";
arch = "linux-i686"; arch = "linux-i686";
sha256 = "089b7c67b70763d3e0080aba6a7d8201cd656e2c85bfe60739ad57b569b9c54a"; sha256 = "d74bfe64c452883d71885185f4f4d896a31288822fd23e6b64b81dc0bf35413f";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-i686/it/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/it/thunderbird-78.3.2.tar.bz2";
locale = "it"; locale = "it";
arch = "linux-i686"; arch = "linux-i686";
sha256 = "45aa6b0c5d3c00812efd815e197dc35a538002c63639d3b9857ca49f8e3e3692"; sha256 = "ced883ab4b3581e935e7f984c719854e3ba56477850173474c6bdc35ae40d7c6";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-i686/ja/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/ja/thunderbird-78.3.2.tar.bz2";
locale = "ja"; locale = "ja";
arch = "linux-i686"; arch = "linux-i686";
sha256 = "ea52820e216c79d015dc8715e5341ec2fdd4c7e99f772086652721488681d69b"; sha256 = "f4bd7f453e97f8647c95be13b9141d3a5ae9616c656da89af9805825105d0b38";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-i686/ka/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/ka/thunderbird-78.3.2.tar.bz2";
locale = "ka"; locale = "ka";
arch = "linux-i686"; arch = "linux-i686";
sha256 = "6fc3af0c7a5b78350714d9f8f640f71c7094cc77590038cb6e817bbc40ccd74b"; sha256 = "d7bb492589f676319711227edcf413e0a8605b0361a107bb0bf57081f640ebce";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-i686/kab/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/kab/thunderbird-78.3.2.tar.bz2";
locale = "kab"; locale = "kab";
arch = "linux-i686"; arch = "linux-i686";
sha256 = "2b387a1fec481a3a98c0a62b3bcc06cf83c1b8504b46b89d1bec12572252db6e"; sha256 = "7f963664d38d0d8798bbcded7472cba761b8c0c87a83bb3829f5ca725151674f";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-i686/kk/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/kk/thunderbird-78.3.2.tar.bz2";
locale = "kk"; locale = "kk";
arch = "linux-i686"; arch = "linux-i686";
sha256 = "55f5d12ac7b5c0aee1d1d616a871f9c7ed3f5bd882acb9fd9538a3d29a0e58ee"; sha256 = "9c95f44d25b57fd09c45b65ce5d4dd19d9ffb3c1999fb240376b152f1427e631";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-i686/ko/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/ko/thunderbird-78.3.2.tar.bz2";
locale = "ko"; locale = "ko";
arch = "linux-i686"; arch = "linux-i686";
sha256 = "8090cf9a8ce14dfe2dfd65b985501ab9580ca28f923377dca8a57b0529b0eb23"; sha256 = "f887280432dcef0606612e8abc1b7d7ff0b63776ead6d3c12c8be6d5f114c8cf";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-i686/lt/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/lt/thunderbird-78.3.2.tar.bz2";
locale = "lt"; locale = "lt";
arch = "linux-i686"; arch = "linux-i686";
sha256 = "17584b8859a7356022a39b14fe2ee81f5b1d37df3ef0fc9e2caeae297bff61ce"; sha256 = "08e427b38c00dc46c0f6cb4ea856f4b62ad8478cfdc75b24e4cfd453b6ad4e15";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-i686/ms/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/ms/thunderbird-78.3.2.tar.bz2";
locale = "ms"; locale = "ms";
arch = "linux-i686"; arch = "linux-i686";
sha256 = "0a0119c8f5f458003aec3d4b933d9f4f1c9d7dca30a25886ec11079906a327a4"; sha256 = "dae2e31ee21de7d7bf4bc5bc3f45ce1f4ca650b7f45e47b7ae8d6c09800fb35a";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-i686/nb-NO/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/nb-NO/thunderbird-78.3.2.tar.bz2";
locale = "nb-NO"; locale = "nb-NO";
arch = "linux-i686"; arch = "linux-i686";
sha256 = "d22e4ff9b10f278fa382a6e045790231fcdca2b0adfb5678d50963afce2c1cad"; sha256 = "58199dcfbebbdcc122308140c128d56c6ca464e477c76c8ec39d22c6c444b6a9";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-i686/nl/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/nl/thunderbird-78.3.2.tar.bz2";
locale = "nl"; locale = "nl";
arch = "linux-i686"; arch = "linux-i686";
sha256 = "882d4eec92d78f61b3fac34277bef4d9f331bfafc7c80fcd4518862a4e96ea7e"; sha256 = "c62325f5e2718f9e28554a7df99c3c68376d9c8208a62345a913e176e0388510";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-i686/nn-NO/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/nn-NO/thunderbird-78.3.2.tar.bz2";
locale = "nn-NO"; locale = "nn-NO";
arch = "linux-i686"; arch = "linux-i686";
sha256 = "b97c95e6e483185ae010d21ce9c977ef71209363ceba56a91ebbf26e62febda6"; sha256 = "f560d924bf9d267f231ff0869c0770d2216690f8944df79b417f1d53dc814bd5";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-i686/pa-IN/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/pa-IN/thunderbird-78.3.2.tar.bz2";
locale = "pa-IN"; locale = "pa-IN";
arch = "linux-i686"; arch = "linux-i686";
sha256 = "804f3ea53314ff6ea73d16a7b46f37e603161bdcd60272d7fbe1ce16a3588d62"; sha256 = "bbb256675969e68bfd0595dbe6a1c3096622f8fb818d08759e7c3d1648745b32";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-i686/pl/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/pl/thunderbird-78.3.2.tar.bz2";
locale = "pl"; locale = "pl";
arch = "linux-i686"; arch = "linux-i686";
sha256 = "faedc7b47d029583c3e1d2549b3f85ed37d933e545aeb5782b6c7db59cda71e1"; sha256 = "a6fbe42f3a0be3e4e3df2156d668e1ac83c2e58abdf55ddce1469a90e2cec9dc";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-i686/pt-BR/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/pt-BR/thunderbird-78.3.2.tar.bz2";
locale = "pt-BR"; locale = "pt-BR";
arch = "linux-i686"; arch = "linux-i686";
sha256 = "4b1dfb1ff39d6200502746ffbdd1c97267c496276d6d019f27f8788be67c8dbc"; sha256 = "bbf82582f1c9b214e4f47bb1f4cc03a0df32d779a2d2f752bef3329540c321a0";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-i686/pt-PT/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/pt-PT/thunderbird-78.3.2.tar.bz2";
locale = "pt-PT"; locale = "pt-PT";
arch = "linux-i686"; arch = "linux-i686";
sha256 = "ca48dea62d3934197317e737a68ed685d60fcd21274022fbf74956e7b5767b26"; sha256 = "3a5b00fd0a85cd5f613a8a98d8f41e8419335a9012e9f933e2adc7d2431e584a";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-i686/rm/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/rm/thunderbird-78.3.2.tar.bz2";
locale = "rm"; locale = "rm";
arch = "linux-i686"; arch = "linux-i686";
sha256 = "2c71fcd755e02377499ee364c5777c9dd02e856de1923417fd1caa22a5fbae72"; sha256 = "3f3ff94e6cffa497146590b7efa57e6051ff8b815fac50e3339eff1c7ec51e8b";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-i686/ro/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/ro/thunderbird-78.3.2.tar.bz2";
locale = "ro"; locale = "ro";
arch = "linux-i686"; arch = "linux-i686";
sha256 = "0c28dd6d2345432beba854984384c7ef48eb33e93860ce601f977ba95286837e"; sha256 = "a9968a9b3e0c1323f9d08dc7efe31d77f0f5dacceceba1f9cdb737340b4a74c1";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-i686/ru/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/ru/thunderbird-78.3.2.tar.bz2";
locale = "ru"; locale = "ru";
arch = "linux-i686"; arch = "linux-i686";
sha256 = "98b29b6d65f93a265a1b77a717b49445f8a51209a1bd83a160ecb51ff4217a91"; sha256 = "e02d0d2b19787892b80ee987665e59129fd84d3f9c4e3cd139589cb41d25ae7a";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-i686/si/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/si/thunderbird-78.3.2.tar.bz2";
locale = "si"; locale = "si";
arch = "linux-i686"; arch = "linux-i686";
sha256 = "c8b63b0fe37222493b1f35fbdd9aeedd4af9bb10585ed9ec2f2dc1e2c52eba40"; sha256 = "bfd849787426abcdfdfc97933e4e9bb4360a96d1912d6c5f7f1ac6cd4d9370df";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-i686/sk/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/sk/thunderbird-78.3.2.tar.bz2";
locale = "sk"; locale = "sk";
arch = "linux-i686"; arch = "linux-i686";
sha256 = "c9d7715b8330e35ebefc386d8258c6ab00a12f14400fe01ad61037cd396b2cfa"; sha256 = "855560f2af08f0ee27c658cbf755973b7333604c731d9442418e75fc1bf50fa2";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-i686/sl/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/sl/thunderbird-78.3.2.tar.bz2";
locale = "sl"; locale = "sl";
arch = "linux-i686"; arch = "linux-i686";
sha256 = "2403387bbaab64e925c2729076ea039206d8b4e6964e7aa825877074eb6ccf57"; sha256 = "6f40769e00da9228e806304edc63e5730126937dbec77bc91d92e27ff28c0c15";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-i686/sq/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/sq/thunderbird-78.3.2.tar.bz2";
locale = "sq"; locale = "sq";
arch = "linux-i686"; arch = "linux-i686";
sha256 = "a8e83d18620b057c6981a170fafcef44f0e7800168c305abeb3ed6c5a936220c"; sha256 = "067738a24e3f541d8e8c4515570ea61c5f17e95bcc4f61aff29db7e43f916106";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-i686/sr/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/sr/thunderbird-78.3.2.tar.bz2";
locale = "sr"; locale = "sr";
arch = "linux-i686"; arch = "linux-i686";
sha256 = "6cfd9ddd429240f48c8f478d785b881047e262ebe6d3460f7780f57248b22da6"; sha256 = "f067575a282cf0e59e87b9b6eed247d697249e181febe1713bde8555adc17cbd";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-i686/sv-SE/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/sv-SE/thunderbird-78.3.2.tar.bz2";
locale = "sv-SE"; locale = "sv-SE";
arch = "linux-i686"; arch = "linux-i686";
sha256 = "e8db182f239050020f91b1aab23514245c04d3aab977df6215165c401c010ce0"; sha256 = "c7c80cea8b8196da0bd13de4320715f14cce50a1bb9d5a529dc6c1ad48ec9535";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-i686/th/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/th/thunderbird-78.3.2.tar.bz2";
locale = "th"; locale = "th";
arch = "linux-i686"; arch = "linux-i686";
sha256 = "20d5cc43be200cc6359c56a3988f76583fb6887834bed0512125296f2c25b0f9"; sha256 = "667fc7175767cd7383cfe29e0774d5b302cead6670edc28032aadf1404d4ffbe";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-i686/tr/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/tr/thunderbird-78.3.2.tar.bz2";
locale = "tr"; locale = "tr";
arch = "linux-i686"; arch = "linux-i686";
sha256 = "8e74feb16b9c23689fec026e88a1749bc2c78fba0cf048db0228168f93fa7d2c"; sha256 = "b41831259a05028054c80378f30cd3edd8b1cee012d7045b34d2a62f38ea4980";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-i686/uk/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/uk/thunderbird-78.3.2.tar.bz2";
locale = "uk"; locale = "uk";
arch = "linux-i686"; arch = "linux-i686";
sha256 = "6bd6d8c2b346adf03f0a12a84cdcd68b7e3d7e4c1caa7ebf23f5ecd90b0c0513"; sha256 = "c7ec76e5052c7a0b91a37bfa889a23c43503a5da5d672af2faf529e3bb626adf";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-i686/uz/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/uz/thunderbird-78.3.2.tar.bz2";
locale = "uz"; locale = "uz";
arch = "linux-i686"; arch = "linux-i686";
sha256 = "b227ca8402b6ba1db029a4964ca4e3a28403ce5ade7bcb6cb9157665759426aa"; sha256 = "c6b95124196c7865cc2d4f04a32e3bccad4a6d57ec8c9b4a4477f6cef2cc8d69";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-i686/vi/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/vi/thunderbird-78.3.2.tar.bz2";
locale = "vi"; locale = "vi";
arch = "linux-i686"; arch = "linux-i686";
sha256 = "09962111baf14ad41f6277b3f625a38458ba07fbdbf17673807f29dd347e8eac"; sha256 = "e20fce086298932fa45bf8627a2306e160395e9302b7c5b48092a8dbd2f78f2f";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-i686/zh-CN/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/zh-CN/thunderbird-78.3.2.tar.bz2";
locale = "zh-CN"; locale = "zh-CN";
arch = "linux-i686"; arch = "linux-i686";
sha256 = "b86d0b18a3d87dc3fd018672f3bb8fa8eb5105fc56d1c4161ce324c6babc8286"; sha256 = "b5a9e98af41d24d12ab111356c035769c71ddd3d9a79a959584d4ae11ca8f706";
} }
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.1/linux-i686/zh-TW/thunderbird-78.3.1.tar.bz2"; { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.3.2/linux-i686/zh-TW/thunderbird-78.3.2.tar.bz2";
locale = "zh-TW"; locale = "zh-TW";
arch = "linux-i686"; arch = "linux-i686";
sha256 = "4e09553f18e9955b7072326b2e7f40bbb2e19f13f137742a0d9b29664f570d8a"; sha256 = "9978aa31d4ef744921e43a116cdc2deead358f7db368ee64e90d37119819a4fc";
} }
]; ];
} }

View File

@ -337,5 +337,6 @@ stdenv.mkDerivation rec {
]; ];
platforms = platforms.linux; platforms = platforms.linux;
license = licenses.mpl20; license = licenses.mpl20;
knownVulnerabilities = [ "Support ended around Semptember 2020." ];
}; };
} }

View File

@ -70,13 +70,13 @@ assert waylandSupport -> gtk3Support == true;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "thunderbird"; pname = "thunderbird";
version = "78.3.1"; version = "78.3.2";
src = fetchurl { src = fetchurl {
url = url =
"mirror://mozilla/thunderbird/releases/${version}/source/thunderbird-${version}.source.tar.xz"; "mirror://mozilla/thunderbird/releases/${version}/source/thunderbird-${version}.source.tar.xz";
sha512 = sha512 =
"16b05e51776ba16503bc5fba02a6d0b5050a206e264a4707544354ad76af61902fd2dcf5d97b82b432dc69362ccd18543a0acccd80e06648e6c6f470886da450"; "3c5b9400k3nrlabr2cvm5s3nz4ngy9qnz0j44mczh67v5xsmxi1hks8dx75s8sbbhnzmg0id4vlxfwd7i259p2xc039nkzkahmfn2wc";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View File

@ -4,13 +4,13 @@
}: }:
let let
minorVersion = "2.0"; minorVersion = "2.2";
in mkDerivation rec { in mkDerivation rec {
name = "skanlite-2.0.1"; name = "skanlite-2.2.0";
src = fetchurl { src = fetchurl {
url = "mirror://kde/stable/skanlite/${minorVersion}/${name}.tar.xz"; url = "mirror://kde/stable/skanlite/${minorVersion}/${name}.tar.xz";
sha256 = "0dh2v8029gkhcf3pndcxz1zk2jgpihgd30lmplgirilxdq9l2i9v"; sha256 = "VP7MOZdUe64XIVr3r0aKIl1IPds3vjBTZzOS3N3VhOQ=";
}; };
nativeBuildInputs = [ cmake kdoctools extra-cmake-modules ]; nativeBuildInputs = [ cmake kdoctools extra-cmake-modules ];

View File

@ -1,41 +1,81 @@
{ mkDerivation, stdenv, fetchpatch, fetchFromGitHub, qmake, pkgconfig { mkDerivation, stdenv, fetchpatch, fetchFromGitHub, qmake, pkgconfig
, qtbase, qtsvg, qtserialport, boost, libgit2 , qtbase, qtsvg, qttools, qtserialport, boost, libgit2
}: }:
let
# build number corresponding to a release, has no further relation
# see https://github.com/fritzing/fritzing-app/releases/tag/CD-498
fritzingBuild = "498";
# SHA256 of the fritzing-parts HEAD on the master branch,
# which contains the latest stable parts definitions
partsSha = "e79a69765026f3fda8aab1b3e7a4952c28047a62";
in
mkDerivation rec { mkDerivation rec {
pname = "fritzing"; pname = "fritzing";
version = "0.9.3b"; version = "0.9.4-${fritzingBuild}";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "fritzing"; owner = "fritzing";
repo = "fritzing-app"; repo = "fritzing-app";
rev = version; rev = "CD-${fritzingBuild}";
sha256 = "0hpyc550xfhr6gmnc85nq60w00rm0ljm0y744dp0z88ikl04f4s3"; sha256 = "0aljj2wbmm1vd64nhj6lh9qy856pd5avlgydsznya2vylyz20p34";
}; };
parts = fetchFromGitHub { parts = fetchFromGitHub {
owner = "fritzing"; owner = "fritzing";
repo = "fritzing-parts"; repo = "fritzing-parts";
rev = version; name = "fritzing-parts";
sha256 = "1d2v8k7p176j0lczx4vx9n9gbg3vw09n2c4b6w0wj5wqmifywhc1"; rev = partsSha;
sha256 = "0spka33a5qq34aq79j01arw1aly4vh0hzv7mahryhdlcdk22qqvc";
}; };
patches = [(fetchpatch {
name = "0001-Squashed-commit-of-the-following.patch";
url = "https://aur.archlinux.org/cgit/aur.git/plain/0001-Squashed-commit-of-the-following.patch?h=fritzing";
sha256 = "1cv6myidxhy28i8m8v13ghzkvx5978p9dcd8v7885y0l1h3108mf";
})];
buildInputs = [ qtbase qtsvg qtserialport boost libgit2 ]; buildInputs = [ qtbase qtsvg qtserialport boost libgit2 ];
nativeBuildInputs = [ qmake pkgconfig ]; nativeBuildInputs = [ qmake pkgconfig qttools ];
patches = [(fetchpatch {
name = "fix-libgit2-version.patch";
url = "https://github.com/fritzing/fritzing-app/commit/472951243d70eeb40a53b1f7e16e6eab0588d079.patch";
sha256 = "0v1zi609cjnqac80xgnk23n54z08g1lia37hbzfl8jcq9sn9adak";
})];
postPatch = ''
substituteInPlace phoenix.pro \
--replace 'LIBGIT_STATIC = true' 'LIBGIT_STATIC = false'
substituteInPlace tools/linux_release_script/release.sh \
--replace 'git status' 'echo >/dev/null' \
--replace 'git clean' 'echo >/dev/null' \
--replace 'git clone' 'echo >/dev/null' \
--replace 'release_folder="' 'release_folder="$out" #' \
--replace './Fritzing -db' '# run after fixup'
substituteInPlace src/fapplication.cpp \
--replace 'PartsChecker::getSha(dir.absolutePath());' '"${partsSha}";'
'';
buildPhase = ''
bash tools/linux_release_script/release.sh ${version}
'';
installPhase = ''
rm "$out/Fritzing" # remove script file
mkdir "$out/bin"
mv "$out/lib/Fritzing" "$out/bin/Fritzing"
mkdir --parents "$out/share/applications" "$out/share/metainfo"
mv --target-directory="$out/share/applications" "$out/org.fritzing.Fritzing.desktop"
mv --target-directory="$out/share/metainfo" "$out/org.fritzing.Fritzing.appdata.xml"
cp --recursive --no-target-directory "$parts" "$out/fritzing-parts"
'';
postFixup = ''
# generate the parts.db file
QT_QPA_PLATFORM=offscreen "$out/bin/Fritzing" -db "$out/fritzing-parts/parts.db" -pp "$out/fritzing-parts" -folder "$out"
'';
qmakeFlags = [ "phoenix.pro" ]; qmakeFlags = [ "phoenix.pro" ];
preConfigure = ''
ln -s "$parts" parts
'';
meta = { meta = {
description = "An open source prototyping tool for Arduino-based projects"; description = "An open source prototyping tool for Arduino-based projects";
homepage = "https://fritzing.org/"; homepage = "https://fritzing.org/";

View File

@ -1,5 +1,4 @@
{ lib { stdenv
, stdenv
, fetchFromGitLab , fetchFromGitLab
, cmake , cmake
, libGLU , libGLU
@ -21,54 +20,40 @@
, libXdmcp , libXdmcp
, fetchpatch , fetchpatch
, lndir , lndir
, callPackages , callPackage
, stable ? true , stable
, baseName ? "kicad" , baseName
, versions ? { } , kicadSrc
, oceSupport ? false , kicadVersion
, i18n
, withOCE
, opencascade , opencascade
, withOCCT ? true , withOCC
, opencascade-occt , opencascade-occt
, ngspiceSupport ? true , withNgspice
, libngspice , libngspice
, scriptingSupport ? true , withScripting
, swig , swig
, python , python
, wxPython , wxPython
, debug ? false , debug
, valgrind , valgrind
, withI18n ? true , withI18n
, gtk3 , gtk3
}: }:
assert ngspiceSupport -> libngspice != null; assert stdenv.lib.asserts.assertMsg (!(withOCE && stdenv.isAarch64)) "OCE fails a test on Aarch64";
assert stdenv.lib.asserts.assertMsg (!(withOCC && withOCE))
with lib; "Only one of OCC and OCE may be enabled";
let let
versionConfig = versions.${baseName}; inherit (stdenv.lib) optional optionals;
# oce on aarch64 fails a test
withOCE = oceSupport && !stdenv.isAarch64;
withOCC = (withOCCT && !withOCE) || (oceSupport && stdenv.isAarch64);
libraries = callPackages ./libraries.nix versionConfig.libVersion;
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
i18n = libraries.i18n;
pname = "kicad-base"; pname = "kicad-base";
version = "${builtins.substring 0 10 versions.${baseName}.kicadVersion.src.rev}"; version = kicadVersion;
src = fetchFromGitLab ( src = kicadSrc;
{
group = "kicad";
owner = "code";
repo = "kicad";
} // versionConfig.kicadVersion.src
);
# quick fix for #72248 # quick fix for #72248
# should be removed if a a more permanent fix is published # should be removed if a a more permanent fix is published
@ -94,15 +79,15 @@ stdenv.mkDerivation rec {
makeFlags = optional (debug) [ "CFLAGS+=-Og" "CFLAGS+=-ggdb" ]; makeFlags = optional (debug) [ "CFLAGS+=-Og" "CFLAGS+=-ggdb" ];
cmakeFlags = cmakeFlags =
optionals (scriptingSupport) [ optionals (withScripting) [
"-DKICAD_SCRIPTING=ON" "-DKICAD_SCRIPTING=ON"
"-DKICAD_SCRIPTING_MODULES=ON" "-DKICAD_SCRIPTING_MODULES=ON"
"-DKICAD_SCRIPTING_PYTHON3=ON" "-DKICAD_SCRIPTING_PYTHON3=ON"
"-DKICAD_SCRIPTING_WXPYTHON_PHOENIX=ON" "-DKICAD_SCRIPTING_WXPYTHON_PHOENIX=ON"
] ]
++ optional (!scriptingSupport) ++ optional (!withScripting)
"-DKICAD_SCRIPTING=OFF" "-DKICAD_SCRIPTING=OFF"
++ optional (ngspiceSupport) "-DKICAD_SPICE=ON" ++ optional (withNgspice) "-DKICAD_SPICE=ON"
++ optional (!withOCE) "-DKICAD_USE_OCE=OFF" ++ optional (!withOCE) "-DKICAD_USE_OCE=OFF"
++ optional (!withOCC) "-DKICAD_USE_OCC=OFF" ++ optional (!withOCC) "-DKICAD_USE_OCC=OFF"
++ optionals (withOCE) [ ++ optionals (withOCE) [
@ -140,8 +125,8 @@ stdenv.mkDerivation rec {
boost boost
gtk3 gtk3
] ]
++ optionals (scriptingSupport) [ swig python wxPython ] ++ optionals (withScripting) [ swig python wxPython ]
++ optional (ngspiceSupport) libngspice ++ optional (withNgspice) libngspice
++ optional (withOCE) opencascade ++ optional (withOCE) opencascade
++ optional (withOCC) opencascade-occt ++ optional (withOCC) opencascade-occt
++ optional (debug) valgrind ++ optional (debug) valgrind
@ -166,7 +151,7 @@ stdenv.mkDerivation rec {
the libraries are passed via an env var in the wrapper, default.nix the libraries are passed via an env var in the wrapper, default.nix
''; '';
homepage = "https://www.kicad-pcb.org/"; homepage = "https://www.kicad-pcb.org/";
license = licenses.agpl3; license = stdenv.lib.licenses.agpl3;
platforms = platforms.all; platforms = stdenv.lib.platforms.all;
}; };
} }

View File

@ -1,52 +1,176 @@
{ lib, stdenv, gnome3, wxGTK30, wxGTK31 { stdenv
, fetchFromGitLab
, gnome3
, wxGTK30
, wxGTK31
, makeWrapper , makeWrapper
, gsettings-desktop-schemas, hicolor-icon-theme , gsettings-desktop-schemas
, callPackage, callPackages , hicolor-icon-theme
, librsvg, cups , callPackage
, callPackages
, librsvg
, cups
, pname ? "kicad" , pname ? "kicad"
, stable ? true , stable ? true
, oceSupport ? false, opencascade , oceSupport ? false
, withOCCT ? true, opencascade-occt , withOCE ? false
, ngspiceSupport ? true, libngspice , opencascade
, scriptingSupport ? true, swig, python3 , withOCCT ? false
, debug ? false, valgrind , withOCC ? true
, opencascade-occt
, ngspiceSupport ? false
, withNgspice ? true
, libngspice
, scriptingSupport ? false
, withScripting ? true
, swig
, python3
, debug ? false
, valgrind
, with3d ? true , with3d ? true
, withI18n ? true , withI18n ? true
, srcs ? { }
}: }:
assert ngspiceSupport -> libngspice != null; # The `srcs` parameter can be used to override the kicad source code
# and all libraries (including i18n), which are otherwise inaccessible
# to overlays since most of the kicad build expression has been
# refactored into base.nix, most of the library build expressions have
# been refactored into libraries.nix, and most the i18n build
# expression has been refactored into i18n.nix. Overrides are only
# applied when building `kicad-unstable`. The `srcs` parameter has no
# effect for stable `kicad`. `srcs` takes an attribute set in which
# any of the following attributes are meaningful (though none are
# mandatory): "kicad", "kicadVersion", "i18n", "symbols", "templates",
# "footprints", "packages3d", and "libVersion". "kicadVersion" and
# "libVersion" should be set to a string with the desired value for
# the version attribute in kicad's `mkDerivation` and the version
# attribute in any of the library's or i18n's `mkDerivation`,
# respectively. "kicad", "i18n", "symbols", "templates", "footprints",
# and "packages3d" should be set to an appropriate fetcher (e.g.,
# `fetchFromGitLab`). So, for example, a possible overlay for kicad
# is:
#
# final: prev:
with lib; # {
# kicad-unstable = (prev.kicad-unstable.override {
# srcs = {
# kicadVersion = "2020-10-08";
# kicad = prev.fetchFromGitLab {
# group = "kicad";
# owner = "code";
# repo = "kicad";
# rev = "fd22fe8e374ce71d57e9f683ba996651aa69fa4e";
# sha256 = "sha256-F8qugru/jU3DgZSpQXQhRGNFSk0ybFRkpyWb7HAGBdc=";
# };
# };
# });
# }
assert withNgspice -> libngspice != null;
assert stdenv.lib.assertMsg (!ngspiceSupport)
"`nspiceSupport` was renamed to `withNgspice` for the sake of consistency with other kicad nix arguments.";
assert stdenv.lib.assertMsg (!oceSupport)
"`oceSupport` was renamed to `withOCE` for the sake of consistency with other kicad nix arguments.";
assert stdenv.lib.assertMsg (!scriptingSupport)
"`scriptingSupport` was renamed to `withScripting` for the sake of consistency with other kicad nix arguments.";
assert stdenv.lib.assertMsg (!withOCCT)
"`withOCCT` was renamed to `withOCC` for the sake of consistency with upstream cmake options.";
let let
baseName = if (stable) then "kicad" else "kicad-unstable"; baseName = if (stable) then "kicad" else "kicad-unstable";
versionsImport = import ./versions.nix;
versions = import ./versions.nix; # versions.nix does not provide us with version, src and rev. We
versionConfig = versions.${baseName}; # need to turn this into approprate fetcher calls.
kicadSrcFetch = fetchFromGitLab {
group = "kicad";
owner = "code";
repo = "kicad";
rev = versionsImport.${baseName}.kicadVersion.src.rev;
sha256 = versionsImport.${baseName}.kicadVersion.src.sha256;
};
wxGTK = if (stable) i18nSrcFetch = fetchFromGitLab {
group = "kicad";
owner = "code";
repo = "kicad-i18n";
rev = versionsImport.${baseName}.libVersion.libSources.i18n.rev;
sha256 = versionsImport.${baseName}.libVersion.libSources.i18n.sha256;
};
libSrcFetch = name: fetchFromGitLab {
group = "kicad";
owner = "libraries";
repo = "kicad-${name}";
rev = versionsImport.${baseName}.libVersion.libSources.${name}.rev;
sha256 = versionsImport.${baseName}.libVersion.libSources.${name}.sha256;
};
# only override `src` or `version` if building `kicad-unstable` with
# the appropriate attribute defined in `srcs`.
srcOverridep = attr: (!stable && builtins.hasAttr attr srcs);
# use default source and version (as defined in versions.nix) by
# default, or use the appropriate attribute from `srcs` if building
# unstable with `srcs` properly defined.
kicadSrc =
if srcOverridep "kicad" then srcs.kicad
else kicadSrcFetch;
kicadVersion =
if srcOverridep "kicadVersion" then srcs.kicadVersion
else versionsImport.${baseName}.kicadVersion.version;
i18nSrc = if srcOverridep "i18n" then srcs.i18n else i18nSrcFetch;
i18nVersion =
if srcOverridep "i18nVersion" then srcs.i18nVersion
else versionsImport.${baseName}.libVersion.version;
libSrc = name: if srcOverridep name then srcs.${name} else libSrcFetch name;
# TODO does it make sense to only have one version for all libs?
libVersion =
if srcOverridep "libVersion" then srcs.libVersion
else versionsImport.${baseName}.libVersion.version;
wxGTK =
if (stable)
# wxGTK3x may default to withGtk2 = false, see #73145 # wxGTK3x may default to withGtk2 = false, see #73145
then wxGTK30.override { withGtk2 = false; } then
wxGTK30.override
{
withGtk2 = false;
}
# wxGTK31 currently introduces an issue with opening the python interpreter in pcbnew # wxGTK31 currently introduces an issue with opening the python interpreter in pcbnew
# but brings high DPI support? # but brings high DPI support?
else wxGTK31.override { withGtk2 = false; }; else
wxGTK31.override {
withGtk2 = false;
};
python = python3; python = python3;
wxPython = python.pkgs.wxPython_4_0; wxPython = python.pkgs.wxPython_4_0;
inherit (stdenv.lib) concatStringsSep flatten optionalString optionals;
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
passthru.libraries = callPackages ./libraries.nix versionConfig.libVersion; # Common libraries, referenced during runtime, via the wrapper.
passthru.libraries = callPackages ./libraries.nix { inherit libSrc libVersion; };
passthru.i18n = callPackage ./i18n.nix {
src = i18nSrc;
version = i18nVersion;
};
base = callPackage ./base.nix { base = callPackage ./base.nix {
inherit versions stable baseName; inherit stable baseName;
inherit kicadSrc kicadVersion;
inherit (passthru) i18n;
inherit wxGTK python wxPython; inherit wxGTK python wxPython;
inherit debug withI18n withOCCT oceSupport ngspiceSupport scriptingSupport; inherit debug withI18n withOCC withOCE withNgspice withScripting;
}; };
inherit pname; inherit pname;
version = versions.${baseName}.kicadVersion.version; version = kicadVersion;
src = base; src = base;
dontUnpack = true; dontUnpack = true;
@ -54,15 +178,15 @@ stdenv.mkDerivation rec {
dontBuild = true; dontBuild = true;
dontFixup = true; dontFixup = true;
pythonPath = optionals (scriptingSupport) pythonPath = optionals (withScripting)
[ wxPython python.pkgs.six ]; [ wxPython python.pkgs.six ];
nativeBuildInputs = [ makeWrapper ] nativeBuildInputs = [ makeWrapper ]
++ optionals (scriptingSupport) ++ optionals (withScripting)
[ python.pkgs.wrapPython ]; [ python.pkgs.wrapPython ];
# wrapGAppsHook added the equivalent to ${base}/share # We are emulating wrapGAppsHook, along with other variables to the
# though i noticed no difference without it # wrapper
makeWrapperArgs = with passthru.libraries; [ makeWrapperArgs = with passthru.libraries; [
"--prefix XDG_DATA_DIRS : ${base}/share" "--prefix XDG_DATA_DIRS : ${base}/share"
"--prefix XDG_DATA_DIRS : ${hicolor-icon-theme}/share" "--prefix XDG_DATA_DIRS : ${hicolor-icon-theme}/share"
@ -80,7 +204,7 @@ stdenv.mkDerivation rec {
"--prefix KICAD_TEMPLATE_DIR : ${footprints}/share/kicad/template" "--prefix KICAD_TEMPLATE_DIR : ${footprints}/share/kicad/template"
] ]
++ optionals (with3d) [ "--set KISYS3DMOD ${packages3d}/share/kicad/modules/packages3d" ] ++ optionals (with3d) [ "--set KISYS3DMOD ${packages3d}/share/kicad/modules/packages3d" ]
++ optionals (ngspiceSupport) [ "--prefix LD_LIBRARY_PATH : ${libngspice}/lib" ] ++ optionals (withNgspice) [ "--prefix LD_LIBRARY_PATH : ${libngspice}/lib" ]
# infinisil's workaround for #39493 # infinisil's workaround for #39493
++ [ "--set GDK_PIXBUF_MODULE_FILE ${librsvg}/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache" ] ++ [ "--set GDK_PIXBUF_MODULE_FILE ${librsvg}/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache" ]
@ -89,22 +213,24 @@ stdenv.mkDerivation rec {
# why does $makeWrapperArgs have to be added explicitly? # why does $makeWrapperArgs have to be added explicitly?
# $out and $program_PYTHONPATH don't exist when makeWrapperArgs gets set? # $out and $program_PYTHONPATH don't exist when makeWrapperArgs gets set?
# kicad-ogltest's source seems to indicate that crashing is expected behaviour... # kicad-ogltest's source seems to indicate that crashing is expected behaviour...
installPhase = with lib; installPhase =
let let
tools = [ "kicad" "pcbnew" "eeschema" "gerbview" "pcb_calculator" "pl_editor" "bitmap2component" ]; tools = [ "kicad" "pcbnew" "eeschema" "gerbview" "pcb_calculator" "pl_editor" "bitmap2component" ];
utils = [ "dxf2idf" "idf2vrml" "idfcyl" "idfrect" "kicad2step" "kicad-ogltest" ]; utils = [ "dxf2idf" "idf2vrml" "idfcyl" "idfrect" "kicad2step" "kicad-ogltest" ];
in in
( concatStringsSep "\n" (concatStringsSep "\n"
( flatten [ (flatten [
( optionalString (scriptingSupport) "buildPythonPath \"${base} $pythonPath\" \n" ) (optionalString (withScripting) "buildPythonPath \"${base} $pythonPath\" \n")
# wrap each of the directly usable tools # wrap each of the directly usable tools
( map ( tool: "makeWrapper ${base}/bin/${tool} $out/bin/${tool} $makeWrapperArgs" (map
+ optionalString (scriptingSupport) " --set PYTHONPATH \"$program_PYTHONPATH\"" (tool: "makeWrapper ${base}/bin/${tool} $out/bin/${tool} $makeWrapperArgs"
) tools ) + optionalString (withScripting) " --set PYTHONPATH \"$program_PYTHONPATH\""
)
tools)
# link in the CLI utils # link in the CLI utils
( map ( util: "ln -s ${base}/bin/${util} $out/bin/${util}" ) utils ) (map (util: "ln -s ${base}/bin/${util} $out/bin/${util}") utils)
]) ])
) )
; ;
@ -126,7 +252,7 @@ stdenv.mkDerivation rec {
KiCad is an open source software suite for Electronic Design Automation. KiCad is an open source software suite for Electronic Design Automation.
The Programs handle Schematic Capture, and PCB Layout with Gerber output. The Programs handle Schematic Capture, and PCB Layout with Gerber output.
''; '';
license = licenses.agpl3; license = stdenv.lib.licenses.agpl3;
# berce seems inactive... # berce seems inactive...
maintainers = with stdenv.lib.maintainers; [ evils kiwi berce ]; maintainers = with stdenv.lib.maintainers; [ evils kiwi berce ];
# kicad is cross platform # kicad is cross platform

View File

@ -0,0 +1,18 @@
{ stdenv
, cmake
, gettext
, src
, version
}:
stdenv.mkDerivation {
inherit src version;
pname = "kicad-i18n";
nativeBuildInputs = [ cmake gettext ];
meta = with stdenv.lib; {
license = licenses.gpl2; # https://github.com/KiCad/kicad-i18n/issues/3
platforms = platforms.all;
};
}

View File

@ -1,39 +1,25 @@
{ lib, stdenv, cmake, gettext { stdenv
, fetchFromGitHub, fetchFromGitLab , cmake
, version, libSources , gettext
, libSrc
, libVersion
}: }:
# callPackage libraries {
# version = "unstable";
# libs.symbols = {
# rev = "09f9..";
# sha256 = "...";
# };
# };
with lib;
let let
mkLib = name: mkLib = name:
stdenv.mkDerivation { stdenv.mkDerivation {
pname = "kicad-${name}"; pname = "kicad-${name}";
# Use the revision instead of `version` (which is an ISO 8601 date) version = libVersion;
# to prevent duplicating the library when just the date changed
version = "${builtins.substring 0 10 libSources.${name}.rev}"; src = libSrc name;
src = fetchFromGitHub (
{
owner = "KiCad";
repo = "kicad-${name}";
rev = version;
inherit name;
} // (libSources.${name} or { })
);
nativeBuildInputs = [ cmake ]; nativeBuildInputs = [ cmake ];
meta = rec { meta = rec {
license = licenses.cc-by-sa-40; license = stdenv.lib.licenses.cc-by-sa-40;
platforms = stdenv.lib.platforms.all; platforms = stdenv.lib.platforms.all;
# the 3d models are a ~1 GiB download and occupy ~5 GiB in store. # the 3d models are a ~1 GiB download and occupy ~5 GiB in store.
# this would exceed the hydra output limit # this would exceed the hydra output limit
hydraPlatforms = if (name == "packages3d" ) then [ ] else platforms; hydraPlatforms = if (name == "packages3d") then [ ] else platforms;
}; };
}; };
in in
@ -42,30 +28,4 @@ in
templates = mkLib "templates"; templates = mkLib "templates";
footprints = mkLib "footprints"; footprints = mkLib "footprints";
packages3d = mkLib "packages3d"; packages3d = mkLib "packages3d";
# i18n is a special case, not actually a library
# more a part of kicad proper, but also optional and separate
# since their move to gitlab they're keeping it in a separate path
# kicad has no way to find i18n except through a path relative to its install path
# therefore this is being linked into ${kicad-base}/share/
# and defined here to make use of the rev & sha256's brought here for the libs
i18n = let name = "i18n"; in
stdenv.mkDerivation {
pname = "kicad-${name}";
version = "${builtins.substring 0 10 libSources.${name}.rev}";
src = fetchFromGitLab (
{
group = "kicad";
owner = "code";
repo = "kicad-${name}";
rev = version;
inherit name;
} // (libSources.${name} or { })
);
nativeBuildInputs = [ cmake gettext ];
meta = {
license = licenses.gpl2; # https://github.com/KiCad/kicad-i18n/issues/3
platforms = stdenv.lib.platforms.all;
};
};
} }

View File

@ -1,13 +1,24 @@
{stdenv, fetchurl, bison, flex { stdenv
, readline, libX11, libICE, libXaw, libXmu, libXext, libXt, fftw }: , fetchurl
, bison
, flex
, readline
, libX11
, libICE
, libXaw
, libXmu
, libXext
, libXt
, fftw
}:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "ngspice"; pname = "ngspice";
version = "31"; version = "32";
src = fetchurl { src = fetchurl {
url = "mirror://sourceforge/ngspice/ngspice-${version}.tar.gz"; url = "mirror://sourceforge/ngspice/ngspice-${version}.tar.gz";
sha256 = "10n2lnfrpsv4vyrirkphr4jwjjhy7i617g6za78dwirfjq63npw4"; sha256 = "1wiys30c9mqzxr7iv1sws0jnn4xi0mj3lanhnk2qfvaiji70rn9w";
}; };
nativeBuildInputs = [ flex bison ]; nativeBuildInputs = [ flex bison ];

View File

@ -1,15 +1,15 @@
{ haskellPackages, mkDerivation, fetchFromGitHub, lib { haskellPackages, mkDerivation, fetchFromGitHub, lib
# the following are non-haskell dependencies # the following are non-haskell dependencies
, makeWrapper, which, maude, graphviz, ocaml , makeWrapper, which, maude, graphviz
}: }:
let let
version = "1.4.1"; version = "1.6.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "tamarin-prover"; owner = "tamarin-prover";
repo = "tamarin-prover"; repo = "tamarin-prover";
rev = "d2e1c57311ce4ed0ef46d0372c4995b8fdc25323"; rev = version;
sha256 = "1bf2qvb646jg3qxd6jgp9ja3wlr888wchxi9mfr3kg7hfn63vxbq"; sha256 = "1pl3kz7gyw9g6s4x5j90z4snd10vq6296g3ajlr8d4n53p3c9i3w";
}; };
# tamarin has its own dependencies, but they're kept inside the repo, # tamarin has its own dependencies, but they're kept inside the repo,
@ -33,16 +33,15 @@ let
tamarin-prover-utils = mkDerivation (common "tamarin-prover-utils" (src + "/lib/utils") // { tamarin-prover-utils = mkDerivation (common "tamarin-prover-utils" (src + "/lib/utils") // {
postPatch = replaceSymlinks; postPatch = replaceSymlinks;
libraryHaskellDepends = with haskellPackages; [ libraryHaskellDepends = with haskellPackages; [
base base64-bytestring binary blaze-builder bytestring containers base64-bytestring blaze-builder
deepseq dlist fclabels mtl pretty safe SHA syb time transformers dlist exceptions fclabels safe SHA syb
]; ];
}); });
tamarin-prover-term = mkDerivation (common "tamarin-prover-term" (src + "/lib/term") // { tamarin-prover-term = mkDerivation (common "tamarin-prover-term" (src + "/lib/term") // {
postPatch = replaceSymlinks; postPatch = replaceSymlinks;
libraryHaskellDepends = (with haskellPackages; [ libraryHaskellDepends = (with haskellPackages; [
attoparsec base binary bytestring containers deepseq dlist HUnit attoparsec HUnit
mtl process safe
]) ++ [ tamarin-prover-utils ]; ]) ++ [ tamarin-prover-utils ];
}); });
@ -50,11 +49,18 @@ let
postPatch = replaceSymlinks; postPatch = replaceSymlinks;
doHaddock = false; # broken doHaddock = false; # broken
libraryHaskellDepends = (with haskellPackages; [ libraryHaskellDepends = (with haskellPackages; [
aeson aeson-pretty base binary bytestring containers deepseq dlist aeson aeson-pretty parallel uniplate
fclabels mtl parallel parsec process safe text transformers uniplate
]) ++ [ tamarin-prover-utils tamarin-prover-term ]; ]) ++ [ tamarin-prover-utils tamarin-prover-term ];
}); });
tamarin-prover-sapic = mkDerivation (common "tamarin-prover-sapic" (src + "/lib/sapic") // {
postPatch = "cp --remove-destination ${src}/LICENSE .";
doHaddock = false; # broken
libraryHaskellDepends = (with haskellPackages; [
raw-strings-qq
]) ++ [ tamarin-prover-theory ];
});
in in
mkDerivation (common "tamarin-prover" src // { mkDerivation (common "tamarin-prover" src // {
isLibrary = false; isLibrary = false;
@ -65,45 +71,25 @@ mkDerivation (common "tamarin-prover" src // {
enableSharedExecutables = false; enableSharedExecutables = false;
postFixup = "rm -rf $out/lib $out/nix-support $out/share/doc"; postFixup = "rm -rf $out/lib $out/nix-support $out/share/doc";
# Fix problem with MonadBaseControl not being found
patchPhase = ''
sed -ie 's,\(import *\)Control\.Monad$,&\
\1Control.Monad.Trans.Control,' src/Web/Handler.hs
sed -ie 's~\( *, \)mtl~&\
\1monad-control~' tamarin-prover.cabal
patch -p1 < ${./sapic-native.patch}
'';
postBuild = ''
cd plugins/sapic && make sapic && cd ../..
'';
# wrap the prover to be sure it can find maude, sapic, etc # wrap the prover to be sure it can find maude, sapic, etc
executableToolDepends = [ makeWrapper which maude graphviz ]; executableToolDepends = [ makeWrapper which maude graphviz ];
postInstall = '' postInstall = ''
wrapProgram $out/bin/tamarin-prover \ wrapProgram $out/bin/tamarin-prover \
--prefix PATH : ${lib.makeBinPath [ which maude graphviz ]} --prefix PATH : ${lib.makeBinPath [ which maude graphviz ]}
# so that the package can be used as a vim plugin to install syntax coloration # so that the package can be used as a vim plugin to install syntax coloration
install -Dt $out/share/vim-plugins/tamarin-prover/syntax/ etc/{spthy,sapic}.vim install -Dt $out/share/vim-plugins/tamarin-prover/syntax/ etc/syntax/spthy.vim
install etc/filetype.vim -D $out/share/vim-plugins/tamarin-prover/ftdetect/tamarin.vim install etc/filetype.vim -D $out/share/vim-plugins/tamarin-prover/ftdetect/tamarin.vim
install -m0755 ./plugins/sapic/sapic $out/bin/sapic
''; '';
checkPhase = "./dist/build/tamarin-prover/tamarin-prover test"; checkPhase = "./dist/build/tamarin-prover/tamarin-prover test";
executableSystemDepends = [ ocaml ];
executableHaskellDepends = (with haskellPackages; [ executableHaskellDepends = (with haskellPackages; [
base binary binary-orphans blaze-builder blaze-html bytestring binary-instances binary-orphans blaze-html conduit file-embed
cmdargs conduit containers monad-control deepseq directory fclabels file-embed gitrev http-types lifted-base monad-control monad-unlift
filepath gitrev http-types HUnit lifted-base mtl monad-unlift parsec process resourcet shakespeare threads wai warp yesod-core yesod-static
resourcet safe shakespeare tamarin-prover-term
template-haskell text threads time wai warp yesod-core yesod-static
]) ++ [ tamarin-prover-utils ]) ++ [ tamarin-prover-utils
tamarin-prover-sapic
tamarin-prover-term tamarin-prover-term
tamarin-prover-theory tamarin-prover-theory
]; ];
broken = true;
}) })

View File

@ -1,77 +0,0 @@
diff --git a/plugins/sapic/Makefile b/plugins/sapic/Makefile
index 8f1b1866..678accbe 100644
--- a/plugins/sapic/Makefile
+++ b/plugins/sapic/Makefile
@@ -1,18 +1,18 @@
TARGET = sapic
-OBJS= color.cmo exceptions.cmo btree.cmo position.cmo positionplusinit.cmo var.cmo term.cmo fact.cmo atomformulaaction.cmo action.cmo atom.cmo formula.cmo tamarin.cmo sapicterm.cmo sapicvar.cmo sapicaction.cmo lexer.cmo sapic.cmo annotatedsapicaction.cmo annotatedsapictree.cmo progressfunction.cmo restrictions.cmo annotatedrule.cmo translationhelper.cmo basetranslation.cmo firsttranslation.cmo main.cmo
+OBJS= color.cmx exceptions.cmx btree.cmx position.cmx positionplusinit.cmx var.cmx term.cmx fact.cmx atomformulaaction.cmx action.cmx atom.cmx formula.cmx tamarin.cmx sapicterm.cmx sapicvar.cmx sapicaction.cmx lexer.cmx sapic.cmx annotatedsapicaction.cmx annotatedsapictree.cmx progressfunction.cmx restrictions.cmx annotatedrule.cmx translationhelper.cmx basetranslation.cmx firsttranslation.cmx main.cmx
FLAGS=-g
-OCAMLC := $(shell command -v ocamlc 2> /dev/null)
+OCAMLOPT := $(shell command -v ocamlopt 2> /dev/null)
OCAMLLEX := $(shell command -v ocamllex 2> /dev/null)
OCAMLYACC := $(shell command -v ocamlyacc 2> /dev/null)
OCAMLDEP := $(shell command -v ocamldep 2> /dev/null)
-OCAMLC_GTEQ_402 := $(shell expr `ocamlc -version | sed -e 's/\.\([0-9][0-9]\)/\1/g' -e 's/\.\([0-9]\)/0\1/g' -e 's/^[0-9]\{3,4\}$$/&00/'` \>= 40200)
+OCAMLC_GTEQ_402 := $(shell expr `ocamlopt -version | sed -e 's/\.\([0-9][0-9]\)/\1/g' -e 's/\.\([0-9]\)/0\1/g' -e 's/^[0-9]\{3,4\}$$/&00/'` \>= 40200)
default: sapic
sapic:
-ifdef OCAMLC
- @echo "Found ocamlc."
+ifdef OCAMLOPT
+ @echo "Found ocamlopt."
ifdef OCAMLLEX
@echo "Found ocamllex."
ifdef OCAMLYACC
@@ -22,9 +22,9 @@ ifdef OCAMLDEP
ifeq "$(OCAMLC_GTEQ_402)" "1"
@echo "Building SAPIC."
$(MAKE) $(OBJS)
- ocamlc $(FLAGS) -o $@ str.cma $(OBJS)
- @echo "Installing SAPIC into ~/.local/bin/"
- cp sapic ~/.local/bin
+ ocamlopt $(FLAGS) -o $@ str.cmxa $(OBJS)
+# @echo "Installing SAPIC into ~/.local/bin/"
+# cp sapic ~/.local/bin
else
@echo "Found OCAML version < 4.02. SAPIC will not be installed."
endif
@@ -38,7 +38,7 @@ else
@echo "ocamllex not found. SAPIC will not be installed."
endif
else
- @echo "ocamlc not found. SAPIC will not be installed."
+ @echo "ocamlopt not found. SAPIC will not be installed."
endif
depend:
@@ -48,20 +48,20 @@ lexer.ml: sapic.cmi
.PHONY: clean
clean:
- rm -rf *.cmi *.cmo $(TARGET)
+ rm -rf *.cmi **.cmx $(TARGET)
rm -rf sapic.ml sapic.mli lexer.ml lexer.mli
-.SUFFIXES: .ml .mli .mll .mly .cmo .cmi
+.SUFFIXES: .ml .mli .mll .mly .cmx .cmi
-.ml.cmo:
- ocamlc $(FLAGS) -c $<
+.ml.cmx:
+ ocamlopt $(FLAGS) -c $<
.mli.cmi:
- ocamlc $(FLAGS) -c $<
+ ocamlopt $(FLAGS) -c $<
.mll.ml:
ocamllex $<
.mly.ml:
ocamlyacc $<
.ml.mli:
- ocamlc -i $< > $@
+ ocamlopt -i $< > $@
-include .depend

View File

@ -0,0 +1,41 @@
{ stdenv, fetchFromGitHub, python }:
stdenv.mkDerivation rec {
name = "z3-${version}";
version = "4.4.0";
src = fetchFromGitHub {
owner = "Z3Prover";
repo = "z3";
rev = "7f6ef0b6c0813f2e9e8f993d45722c0e5b99e152";
sha256 = "1xllvq9fcj4cz34biq2a9dn2sj33bdgrzyzkj26hqw70wkzv1kzx";
};
buildInputs = [ python ];
enableParallelBuilding = true;
configurePhase = "python scripts/mk_make.py --prefix=$out && cd build";
# z3's install phase is stupid because it tries to calculate the
# python package store location itself, meaning it'll attempt to
# write files into the nix store, and fail.
soext = if stdenv.system == "x86_64-darwin" then ".dylib" else ".so";
installPhase = ''
mkdir -p $out/bin $out/lib/${python.libPrefix}/site-packages $out/include
cp ../src/api/z3*.h $out/include
cp ../src/api/c++/z3*.h $out/include
cp z3 $out/bin
cp libz3${soext} $out/lib
cp libz3${soext} $out/lib/${python.libPrefix}/site-packages
cp z3*.pyc $out/lib/${python.libPrefix}/site-packages
cp ../src/api/python/*.py $out/lib/${python.libPrefix}/site-packages
'';
meta = {
description = "A high-performance theorem prover and SMT solver";
homepage = "http://github.com/Z3Prover/z3";
license = stdenv.lib.licenses.mit;
platforms = stdenv.lib.platforms.x86_64;
maintainers = with stdenv.lib.maintainers; [ thoughtpolice ttuegel ];
};
}

View File

@ -3,6 +3,7 @@
, patchelf , patchelf
, requireFile , requireFile
, callPackage , callPackage
, makeWrapper
, alsaLib , alsaLib
, dbus , dbus
, fontconfig , fontconfig
@ -37,6 +38,7 @@ stdenv.mkDerivation rec {
buildInputs = [ buildInputs = [
coreutils coreutils
patchelf patchelf
makeWrapper
alsaLib alsaLib
coreutils coreutils
dbus dbus
@ -106,6 +108,9 @@ stdenv.mkDerivation rec {
# Remove some broken libraries # Remove some broken libraries
rm -f $out/libexec/Mathematica/SystemFiles/Libraries/Linux-x86-64/libz.so* rm -f $out/libexec/Mathematica/SystemFiles/Libraries/Linux-x86-64/libz.so*
# Set environment variable to fix libQt errors - see https://github.com/NixOS/nixpkgs/issues/96490
wrapProgram $out/bin/mathematica --set USE_WOLFRAM_LD_LIBRARY_PATH 1
''; '';
preFixup = '' preFixup = ''

View File

@ -1,6 +1,5 @@
{ stdenv { stdenv
, fetchurl , fetchurl
, fetchpatch
, gmp , gmp
, readline , readline
, libX11 , libX11
@ -13,22 +12,13 @@ assert withThread -> libpthreadstubs != null;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "pari"; pname = "pari";
version = "2.11.3"; version = "2.11.4";
src = fetchurl { src = fetchurl {
url = "https://pari.math.u-bordeaux.fr/pub/pari/unix/${pname}-${version}.tar.gz"; url = "https://pari.math.u-bordeaux.fr/pub/pari/unix/${pname}-${version}.tar.gz";
sha256 = "1jd65h2psrmba2dx7rkf5qidf9ka0cwbsg20pd18k45ggr30l467"; sha256 = "sha256-v8iPxPc1L0hA5uNSxy8DacvqikVAOxg0piafNwmXCxw=";
}; };
patches = [
# https://trac.sagemath.org/ticket/29313#comment:1
(fetchpatch {
name = "backport-bug-fix.patch";
url = "https://git.archlinux.org/svntogit/community.git/plain/repos/community-x86_64/c7a1d35f.patch?h=packages/pari&id=27893d227290dc3821d68aa25877d9765c204dad";
sha256 = "0vm0fwyzj66cr32imip6srksd47s2s2sjl1rb26ph8gpfi3nalii";
})
];
buildInputs = [ buildInputs = [
gmp gmp
readline readline
@ -72,14 +62,14 @@ stdenv.mkDerivation rec {
Belabas with the help of many volunteer contributors. Belabas with the help of many volunteer contributors.
- PARI is a C library, allowing fast computations. - PARI is a C library, allowing fast computations.
- gp is an easy-to-use interactive shell giving access to the - gp is an easy-to-use interactive shell giving access to the PARI
PARI functions. functions.
- GP is the name of gp's scripting language. - GP is the name of gp's scripting language.
- gp2c, the GP-to-C compiler, combines the best of both worlds - gp2c, the GP-to-C compiler, combines the best of both worlds by
by compiling GP scripts to the C language and transparently loading compiling GP scripts to the C language and transparently loading the
the resulting functions into gp. (gp2c-compiled scripts will typically resulting functions into gp. (gp2c-compiled scripts will typically run
run 3 or 4 times faster.) gp2c currently only understands a subset 3 or 4 times faster.) gp2c currently only understands a subset of the
of the GP language. GP language.
''; '';
homepage = "http://pari.math.u-bordeaux.fr"; homepage = "http://pari.math.u-bordeaux.fr";
downloadPage = "http://pari.math.u-bordeaux.fr/download.html"; downloadPage = "http://pari.math.u-bordeaux.fr/download.html";

View File

@ -1,14 +1,15 @@
{ stdenv, fetchurl { stdenv
, pari, perl }: , pari
, fetchurl
, perl }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "gp2c"; pname = "gp2c";
version = "0.0.11pl3"; version = "0.0.11pl4";
src = fetchurl { src = fetchurl {
url = "https://pari.math.u-bordeaux.fr/pub/pari/GP2C/${pname}-${version}.tar.gz"; url = "https://pari.math.u-bordeaux.fr/pub/pari/GP2C/${pname}-${version}.tar.gz";
sha256 = "0yymbrgyjw500hqgmkj5m4nmscd7c9rs9w2c96lxgrcyab8krhrm"; sha256 = "sha256-QGocEXxTahB5fHhlWtHXgMEl6brQ34LNwScxHNuB1rI=";
}; };
buildInputs = [ pari perl ]; buildInputs = [ pari perl ];

View File

@ -9,16 +9,16 @@
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "delta"; pname = "delta";
version = "0.4.3"; version = "0.4.4";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "dandavison"; owner = "dandavison";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "0g7jg6bxxihplxzq3ixdm24d36xd7xlwpazz8qj040m981cj123i"; sha256 = "1ng22g9h1l1v2yav8zh6w4nn6ifv8sfz8566m8155d0cza2iimw6";
}; };
cargoSha256 = "0q73adygyddjyajwwbkrhwss4f8ynxsga5yz4ac5fk5rzmda75rv"; cargoSha256 = "0b3qv1ksk8fmpawih2qrz29wlpj1gvq9hw4yqm7hdk6awl5h8lvv";
nativeBuildInputs = [ installShellFiles ]; nativeBuildInputs = [ installShellFiles ];

View File

@ -4,7 +4,7 @@
, srht, redis, celery, pyyaml, markdown }: , srht, redis, celery, pyyaml, markdown }:
let let
version = "0.62.6"; version = "0.63.4";
buildWorker = src: buildGoModule { buildWorker = src: buildGoModule {
inherit src version; inherit src version;
@ -19,7 +19,7 @@ in buildPythonPackage rec {
src = fetchgit { src = fetchgit {
url = "https://git.sr.ht/~sircmpwn/builds.sr.ht"; url = "https://git.sr.ht/~sircmpwn/builds.sr.ht";
rev = version; rev = version;
sha256 = "1vSUcqYyOitfGaSZVOj5vkmoiAvQbTHgiDVSV5qJLyQ="; sha256 = "1w3rb685nqg2h0k3ag681svc400si9r1gy0sdim3wa2qh8glbqni";
}; };
nativeBuildInputs = srht.nativeBuildInputs; nativeBuildInputs = srht.nativeBuildInputs;

View File

@ -7,12 +7,12 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "srht"; pname = "srht";
version = "0.64.0"; version = "0.65.2";
src = fetchgit { src = fetchgit {
url = "https://git.sr.ht/~sircmpwn/core.sr.ht"; url = "https://git.sr.ht/~sircmpwn/core.sr.ht";
rev = version; rev = version;
sha256 = "ubCbDh60zg88LXupWAo2EnqhE5jt0F0L9ikTBebusYQ="; sha256 = "1jfp1vc8mink3c7ccacgnqx8hpkck82ipxiql38q1y9l8xcsah03";
}; };
node_modules = fetchNodeModules { node_modules = fetchNodeModules {

View File

@ -4,7 +4,7 @@
, srht, minio, pygit2, scmsrht }: , srht, minio, pygit2, scmsrht }:
let let
version = "0.60.7"; version = "0.61.10";
buildShell = src: buildGoModule { buildShell = src: buildGoModule {
inherit src version; inherit src version;
@ -21,13 +21,13 @@ let
buildKeys = src: buildGoModule { buildKeys = src: buildGoModule {
inherit src version; inherit src version;
pname = "gitsrht-keys"; pname = "gitsrht-keys";
vendorSha256 = "0lks3js57bb41x1ry5xfadlzf0v2gm68g7h3j94gzlm6j4jfprk9"; vendorSha256 = "1d94cqy7x0q0agwg515xxsbl70b3qrzxbzsyjhn1pbyj532brn7f";
}; };
buildUpdateHook = src: buildGoModule { buildUpdateHook = src: buildGoModule {
inherit src version; inherit src version;
pname = "gitsrht-update-hook"; pname = "gitsrht-update-hook";
vendorSha256 = "06ykh9ncamd922xsd329jpn293wsq6vkqnlf3sckjlp2hm290pd8"; vendorSha256 = "0fwzqpjv8x5y3w3bfjd0x0cvqjjak23m0zj88hf32jpw49xmjkih";
}; };
buildAPI = src: buildGoModule { buildAPI = src: buildGoModule {
@ -42,7 +42,7 @@ in buildPythonPackage rec {
src = fetchgit { src = fetchgit {
url = "https://git.sr.ht/~sircmpwn/git.sr.ht"; url = "https://git.sr.ht/~sircmpwn/git.sr.ht";
rev = version; rev = version;
sha256 = "EdxgT6IQZgj3KeU3UC+QAQb7BilBY769NhJK633tmE4="; sha256 = "0g7aj5wlns0m3kf2aajqjjb5fwk5vbb8frrkdfp4118235h3xcqy";
}; };
nativeBuildInputs = srht.nativeBuildInputs; nativeBuildInputs = srht.nativeBuildInputs;

View File

@ -4,12 +4,12 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "hgsrht"; pname = "hgsrht";
version = "0.26.18"; version = "0.26.19";
src = fetchhg { src = fetchhg {
url = "https://hg.sr.ht/~sircmpwn/hg.sr.ht"; url = "https://hg.sr.ht/~sircmpwn/hg.sr.ht";
rev = version; rev = version;
sha256 = "j+7yG6WdWoU0Uk6doz9GpKZsEGXy/n2smgU6c56/A+Q="; sha256 = "0dc0lgqq8zdaywbd50dlxypk1lv0nffvqr3889v10ycy45qcfymv";
}; };
nativeBuildInputs = srht.nativeBuildInputs; nativeBuildInputs = srht.nativeBuildInputs;

View File

@ -4,12 +4,12 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "hubsrht"; pname = "hubsrht";
version = "0.10.6"; version = "0.11.5";
src = fetchgit { src = fetchgit {
url = "https://git.sr.ht/~sircmpwn/hub.sr.ht"; url = "https://git.sr.ht/~sircmpwn/hub.sr.ht";
rev = version; rev = version;
sha256 = "N54GOk9pxwoF1Wv0ZSe4kIAPBLl/zHrSu8OlKBkacVg="; sha256 = "0cysdfy1z69jaizblbq0ywpcvcnx57rlzg42k98kd9w2mqzj5173";
}; };
nativeBuildInputs = srht.nativeBuildInputs; nativeBuildInputs = srht.nativeBuildInputs;

View File

@ -4,12 +4,12 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "listssrht"; pname = "listssrht";
version = "0.45.9"; version = "0.45.15";
src = fetchgit { src = fetchgit {
url = "https://git.sr.ht/~sircmpwn/lists.sr.ht"; url = "https://git.sr.ht/~sircmpwn/lists.sr.ht";
rev = version; rev = version;
sha256 = "2Wb1hBx4GuRvVC0pD7gpE9dj5ketW/4ozxuVq2X5dDM="; sha256 = "0f3yl5nf385j7mhcrmda7zk58i1y6fm00i479js90xxhjifmqkq6";
}; };
nativeBuildInputs = srht.nativeBuildInputs; nativeBuildInputs = srht.nativeBuildInputs;

View File

@ -4,12 +4,12 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "mansrht"; pname = "mansrht";
version = "0.15.1"; version = "0.15.4";
src = fetchgit { src = fetchgit {
url = "https://git.sr.ht/~sircmpwn/man.sr.ht"; url = "https://git.sr.ht/~sircmpwn/man.sr.ht";
rev = version; rev = version;
sha256 = "hCpuVngpu2AacFGn0F78k2qrn09Z/p1rP8vfW7gkzWc="; sha256 = "0spi0yy2myxw4kggy54yskda14c4vaq2ng9dd9krqsajnsy7anrw";
}; };
nativeBuildInputs = srht.nativeBuildInputs; nativeBuildInputs = srht.nativeBuildInputs;

View File

@ -5,7 +5,7 @@
, sshpubkeys, weasyprint }: , sshpubkeys, weasyprint }:
let let
version = "0.50.2"; version = "0.51.2";
buildAPI = src: buildGoModule { buildAPI = src: buildGoModule {
inherit src version; inherit src version;
@ -20,7 +20,7 @@ in buildPythonPackage rec {
src = fetchgit { src = fetchgit {
url = "https://git.sr.ht/~sircmpwn/meta.sr.ht"; url = "https://git.sr.ht/~sircmpwn/meta.sr.ht";
rev = version; rev = version;
sha256 = "utS/HMFtHPAP1QRYd4WAFApyBPRY5UD72ANmC/SU93c="; sha256 = "0c9y1hzx3dj0awxrhkzrcsmy6q9fqm6v6dbp9y1ria3v47xa3nv7";
}; };
nativeBuildInputs = srht.nativeBuildInputs; nativeBuildInputs = srht.nativeBuildInputs;

View File

@ -4,12 +4,12 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "pastesrht"; pname = "pastesrht";
version = "0.11.1"; version = "0.11.2";
src = fetchgit { src = fetchgit {
url = "https://git.sr.ht/~sircmpwn/paste.sr.ht"; url = "https://git.sr.ht/~sircmpwn/paste.sr.ht";
rev = version; rev = version;
sha256 = "vk+h9gQX9KeynjulDaK/vHpKeRQAjVyxk7ttKG27ZIo="; sha256 = "15hm5165v8a7ryw6i0vlf189slw4rp22cfgzznih18pbml7d0c8s";
}; };
nativeBuildInputs = srht.nativeBuildInputs; nativeBuildInputs = srht.nativeBuildInputs;

View File

@ -4,12 +4,12 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "scmsrht"; pname = "scmsrht";
version = "0.22.3"; version = "0.22.4";
src = fetchgit { src = fetchgit {
url = "https://git.sr.ht/~sircmpwn/scm.sr.ht"; url = "https://git.sr.ht/~sircmpwn/scm.sr.ht";
rev = version; rev = version;
sha256 = "MwgWDYGqOuci55gUFAiKnUfUWgLvQVP5omAMNv/2gPY="; sha256 = "1djyrwa44wml9lj3njy6qbxyc3g1msswbh0y9jyjzxh2c02bl3jn";
}; };
nativeBuildInputs = srht.nativeBuildInputs; nativeBuildInputs = srht.nativeBuildInputs;

View File

@ -5,12 +5,12 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "todosrht"; pname = "todosrht";
version = "0.61.11"; version = "0.62.1";
src = fetchgit { src = fetchgit {
url = "https://git.sr.ht/~sircmpwn/todo.sr.ht"; url = "https://git.sr.ht/~sircmpwn/todo.sr.ht";
rev = version; rev = version;
sha256 = "lUM81FYlR6AXCtXZtYiB+1FD8E1aOX7qxbWUVc36lJM="; sha256 = "17fsv2z37sjzqzpvx39nc36xln1ayivzjg309d2vmb94aaym4nz2";
}; };
nativeBuildInputs = srht.nativeBuildInputs; nativeBuildInputs = srht.nativeBuildInputs;

View File

@ -8,13 +8,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "cagebreak"; pname = "cagebreak";
version = "1.4.2"; version = "1.4.3";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "project-repo"; owner = "project-repo";
repo = "cagebreak"; repo = "cagebreak";
rev = version; rev = version;
hash = "sha256-+Ww1rsUR7qe/BixLPR8GiRc3C6QmpLzWpT2wym8b4/M="; hash = "sha256-iMoj++yjGK4hn3C675QntBYcsoBx0lEjjCM8fdvRJYo=";
}; };
nativeBuildInputs = [ meson ninja pkg-config wayland scdoc makeWrapper ]; nativeBuildInputs = [ meson ninja pkg-config wayland scdoc makeWrapper ];

View File

@ -9,24 +9,22 @@
with stdenv.lib; with stdenv.lib;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "icewm"; pname = "icewm";
version = "1.8.1"; version = "1.8.3";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "bbidulock"; owner = "bbidulock";
repo = "icewm"; repo = pname;
rev = version; rev = version;
sha256 = "0qd3cakhhjc7h6xr9q3ia9f8wln6q23dlqvw19khia26c0dgyd7b"; sha256 = "sha256-cTJQlUaGvbJmu1xYwFp5GPrM5NjfKBzaMc+l7FeMUP8=";
}; };
nativeBuildInputs = [ cmake pkgconfig perl asciidoc ]; nativeBuildInputs = [ cmake pkgconfig perl asciidoc ];
buildInputs = [ buildInputs = [
gettext libjpeg libtiff libungif libpng imlib expat gettext libjpeg libtiff libungif libpng imlib expat freetype fontconfig
freetype fontconfig gdk-pixbuf gdk-pixbuf-xlib glib mkfontdir libX11 gdk-pixbuf gdk-pixbuf-xlib glib mkfontdir libX11 libXft libXext libXinerama
libXft libXext libXinerama libXrandr libICE libSM libXpm libXrandr libICE libSM libXpm libXdmcp libxcb libpthreadstubs pcre
libXdmcp libxcb libpthreadstubs pcre libsndfile fribidi libsndfile fribidi libXdamage libXcomposite libXfixes ];
libXdamage libXcomposite libXfixes
];
cmakeFlags = [ "-DPREFIX=$out" "-DCFGDIR=/etc/icewm" ]; cmakeFlags = [ "-DPREFIX=$out" "-DCFGDIR=/etc/icewm" ];

View File

@ -1,4 +1,4 @@
{ lib, stdenv, echo_colored, noisily, mkRustcDepArgs, mkRustcFeatureArgs }: { lib, stdenv, rust, echo_colored, noisily, mkRustcDepArgs, mkRustcFeatureArgs }:
{ {
build build
, buildDependencies , buildDependencies
@ -17,7 +17,6 @@
, libName , libName
, libPath , libPath
, release , release
, target_os
, verbose , verbose
, workspace_member }: , workspace_member }:
let version_ = lib.splitString "-" crateVersion; let version_ = lib.splitString "-" crateVersion;
@ -124,8 +123,8 @@ in ''
export CARGO_PKG_AUTHORS="${authors}" export CARGO_PKG_AUTHORS="${authors}"
export CARGO_PKG_DESCRIPTION="${crateDescription}" export CARGO_PKG_DESCRIPTION="${crateDescription}"
export CARGO_CFG_TARGET_ARCH=${stdenv.hostPlatform.parsed.cpu.name} export CARGO_CFG_TARGET_ARCH=${rust.toTargetArch stdenv.hostPlatform}
export CARGO_CFG_TARGET_OS=${target_os} export CARGO_CFG_TARGET_OS=${rust.toTargetOs stdenv.hostPlatform}
export CARGO_CFG_TARGET_FAMILY="unix" export CARGO_CFG_TARGET_FAMILY="unix"
export CARGO_CFG_UNIX=1 export CARGO_CFG_UNIX=1
export CARGO_CFG_TARGET_ENV="gnu" export CARGO_CFG_TARGET_ENV="gnu"
@ -136,8 +135,8 @@ in ''
export CARGO_MANIFEST_DIR=$(pwd) export CARGO_MANIFEST_DIR=$(pwd)
export DEBUG="${toString (!release)}" export DEBUG="${toString (!release)}"
export OPT_LEVEL="${toString optLevel}" export OPT_LEVEL="${toString optLevel}"
export TARGET="${stdenv.hostPlatform.config}" export TARGET="${rust.toRustTarget stdenv.hostPlatform}"
export HOST="${stdenv.hostPlatform.config}" export HOST="${rust.toRustTarget stdenv.buildPlatform}"
export PROFILE=${if release then "release" else "debug"} export PROFILE=${if release then "release" else "debug"}
export OUT_DIR=$(pwd)/target/build/${crateName}.out export OUT_DIR=$(pwd)/target/build/${crateName}.out
export CARGO_PKG_VERSION_MAJOR=${lib.elemAt version 0} export CARGO_PKG_VERSION_MAJOR=${lib.elemAt version 0}

View File

@ -8,12 +8,6 @@
, cargo, jq }: , cargo, jq }:
let let
# This doesn't appear to be officially documented anywhere yet.
# See https://github.com/rust-lang-nursery/rust-forge/issues/101.
target_os = if stdenv.hostPlatform.isDarwin
then "macos"
else stdenv.hostPlatform.parsed.kernel.name;
# Create rustc arguments to link against the given list of dependencies # Create rustc arguments to link against the given list of dependencies
# and renames. # and renames.
# #
@ -52,7 +46,7 @@ let
inherit (import ./log.nix { inherit lib; }) noisily echo_colored; inherit (import ./log.nix { inherit lib; }) noisily echo_colored;
configureCrate = import ./configure-crate.nix { configureCrate = import ./configure-crate.nix {
inherit lib stdenv echo_colored noisily mkRustcDepArgs mkRustcFeatureArgs; inherit lib stdenv rust echo_colored noisily mkRustcDepArgs mkRustcFeatureArgs;
}; };
buildCrate = import ./build-crate.nix { buildCrate = import ./build-crate.nix {
@ -284,7 +278,7 @@ stdenv.mkDerivation (rec {
inherit crateName buildDependencies completeDeps completeBuildDeps crateDescription inherit crateName buildDependencies completeDeps completeBuildDeps crateDescription
crateFeatures crateRenames libName build workspace_member release libPath crateVersion crateFeatures crateRenames libName build workspace_member release libPath crateVersion
extraLinkFlags extraRustcOpts extraLinkFlags extraRustcOpts
crateAuthors crateHomepage verbose colors target_os; crateAuthors crateHomepage verbose colors;
}; };
buildPhase = buildCrate { buildPhase = buildCrate {
inherit crateName dependencies inherit crateName dependencies

View File

@ -1,4 +1,5 @@
{ lib { lib
, buildPackages
, buildRustCrate , buildRustCrate
, callPackage , callPackage
, releaseTools , releaseTools
@ -10,13 +11,14 @@
}: }:
let let
mkCrate = args: let mkCrate = buildRustCrate: args: let
p = { p = {
crateName = "nixtestcrate"; crateName = "nixtestcrate";
version = "0.1.0"; version = "0.1.0";
authors = [ "Test <test@example.com>" ]; authors = [ "Test <test@example.com>" ];
} // args; } // args;
in buildRustCrate p; in buildRustCrate p;
mkHostCrate = mkCrate buildRustCrate;
mkCargoToml = mkCargoToml =
{ name, crateVersion ? "0.1.0", path ? "Cargo.toml" }: { name, crateVersion ? "0.1.0", path ? "Cargo.toml" }:
@ -68,15 +70,15 @@ let
mkLib = name: mkFile name "pub fn test() -> i32 { return 23; }"; mkLib = name: mkFile name "pub fn test() -> i32 { return 23; }";
mkTest = crateArgs: let mkTest = crateArgs: let
crate = mkCrate (builtins.removeAttrs crateArgs ["expectedTestOutput"]); crate = mkHostCrate (builtins.removeAttrs crateArgs ["expectedTestOutput"]);
hasTests = crateArgs.buildTests or false; hasTests = crateArgs.buildTests or false;
expectedTestOutputs = crateArgs.expectedTestOutputs or null; expectedTestOutputs = crateArgs.expectedTestOutputs or null;
binaries = map (v: ''"${v.name}"'') (crateArgs.crateBin or []); binaries = map (v: lib.escapeShellArg v.name) (crateArgs.crateBin or []);
isLib = crateArgs ? libName || crateArgs ? libPath; isLib = crateArgs ? libName || crateArgs ? libPath;
crateName = crateArgs.crateName or "nixtestcrate"; crateName = crateArgs.crateName or "nixtestcrate";
libName = crateArgs.libName or crateName; libName = crateArgs.libName or crateName;
libTestBinary = if !isLib then null else mkCrate { libTestBinary = if !isLib then null else mkHostCrate {
crateName = "run-test-${crateName}"; crateName = "run-test-${crateName}";
dependencies = [ crate ]; dependencies = [ crate ];
src = mkBinExtern "src/main.rs" libName; src = mkBinExtern "src/main.rs" libName;
@ -89,18 +91,27 @@ let
runCommand "run-buildRustCrate-${crateName}-test" { runCommand "run-buildRustCrate-${crateName}-test" {
nativeBuildInputs = [ crate ]; nativeBuildInputs = [ crate ];
} (if !hasTests then '' } (if !hasTests then ''
${lib.concatStringsSep "\n" binaries} ${lib.concatMapStringsSep "\n" (binary:
# Can't actually run the binary when cross-compiling
(lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) "type ") + binary
) binaries}
${lib.optionalString isLib '' ${lib.optionalString isLib ''
test -e ${crate}/lib/*.rlib || exit 1 test -e ${crate}/lib/*.rlib || exit 1
${lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) "test -x "} \
${libTestBinary}/bin/run-test-${crateName} ${libTestBinary}/bin/run-test-${crateName}
''} ''}
touch $out touch $out
'' else '' '' else if stdenv.hostPlatform == stdenv.buildPlatform then ''
for file in ${crate}/tests/*; do for file in ${crate}/tests/*; do
$file 2>&1 >> $out $file 2>&1 >> $out
done done
set -e set -e
${lib.concatMapStringsSep "\n" (o: "grep '${o}' $out || { echo 'output \"${o}\" not found in:'; cat $out; exit 23; }") expectedTestOutputs} ${lib.concatMapStringsSep "\n" (o: "grep '${o}' $out || { echo 'output \"${o}\" not found in:'; cat $out; exit 23; }") expectedTestOutputs}
'' else ''
for file in ${crate}/tests/*; do
test -x "$file"
done
touch "$out"
'' ''
); );
@ -109,7 +120,7 @@ let
`name` is used as part of the derivation name that performs the checking. `name` is used as part of the derivation name that performs the checking.
`crateArgs` is passed to `mkCrate` to build the crate with `buildRustCrate`. `crateArgs` is passed to `mkHostCrate` to build the crate with `buildRustCrate`.
`expectedFiles` contains a list of expected file paths in the output. E.g. `expectedFiles` contains a list of expected file paths in the output. E.g.
`[ "./bin/my_binary" ]`. `[ "./bin/my_binary" ]`.
@ -124,7 +135,7 @@ let
assert (builtins.isList expectedFiles); assert (builtins.isList expectedFiles);
let let
crate = mkCrate (builtins.removeAttrs crateArgs ["expectedTestOutput"]); crate = mkHostCrate (builtins.removeAttrs crateArgs ["expectedTestOutput"]);
crateOutput = if output == null then crate else crate."${output}"; crateOutput = if output == null then crate else crate."${output}";
expectedFilesFile = writeTextFile { expectedFilesFile = writeTextFile {
name = "expected-files-${name}"; name = "expected-files-${name}";
@ -188,17 +199,17 @@ let
crateBinRename1 = { crateBinRename1 = {
crateBin = [{ name = "my-binary-rename1"; }]; crateBin = [{ name = "my-binary-rename1"; }];
src = mkBinExtern "src/main.rs" "foo_renamed"; src = mkBinExtern "src/main.rs" "foo_renamed";
dependencies = [ (mkCrate { crateName = "foo"; src = mkLib "src/lib.rs"; }) ]; dependencies = [ (mkHostCrate { crateName = "foo"; src = mkLib "src/lib.rs"; }) ];
crateRenames = { "foo" = "foo_renamed"; }; crateRenames = { "foo" = "foo_renamed"; };
}; };
crateBinRename2 = { crateBinRename2 = {
crateBin = [{ name = "my-binary-rename2"; }]; crateBin = [{ name = "my-binary-rename2"; }];
src = mkBinExtern "src/main.rs" "foo_renamed"; src = mkBinExtern "src/main.rs" "foo_renamed";
dependencies = [ (mkCrate { crateName = "foo"; libName = "foolib"; src = mkLib "src/lib.rs"; }) ]; dependencies = [ (mkHostCrate { crateName = "foo"; libName = "foolib"; src = mkLib "src/lib.rs"; }) ];
crateRenames = { "foo" = "foo_renamed"; }; crateRenames = { "foo" = "foo_renamed"; };
}; };
crateBinRenameMultiVersion = let crateBinRenameMultiVersion = let
crateWithVersion = version: mkCrate { crateWithVersion = version: mkHostCrate {
crateName = "my_lib"; crateName = "my_lib";
inherit version; inherit version;
src = mkFile "src/lib.rs" '' src = mkFile "src/lib.rs" ''
@ -307,7 +318,7 @@ let
fn main() {} fn main() {}
''; '';
dependencies = [ dependencies = [
(mkCrate { (mkHostCrate {
crateName = "somerlib"; crateName = "somerlib";
type = [ "rlib" ]; type = [ "rlib" ];
src = mkLib "src/lib.rs"; src = mkLib "src/lib.rs";
@ -315,7 +326,7 @@ let
]; ];
}; };
buildScriptDeps = let buildScriptDeps = let
depCrate = boolVal: mkCrate { depCrate = buildRustCrate: boolVal: mkCrate buildRustCrate {
crateName = "bar"; crateName = "bar";
src = mkFile "src/lib.rs" '' src = mkFile "src/lib.rs" ''
pub const baz: bool = ${boolVal}; pub const baz: bool = ${boolVal};
@ -339,8 +350,8 @@ let
'') '')
]; ];
}; };
buildDependencies = [ (depCrate "true") ]; buildDependencies = [ (depCrate buildPackages.buildRustCrate "true") ];
dependencies = [ (depCrate "false") ]; dependencies = [ (depCrate buildRustCrate "false") ];
buildTests = true; buildTests = true;
expectedTestOutputs = [ "test baz_false ... ok" ]; expectedTestOutputs = [ "test baz_false ... ok" ];
}; };
@ -373,7 +384,7 @@ let
# Regression test for https://github.com/NixOS/nixpkgs/pull/88054 # Regression test for https://github.com/NixOS/nixpkgs/pull/88054
# Build script output should be rewritten as valid env vars. # Build script output should be rewritten as valid env vars.
buildScriptIncludeDirDeps = let buildScriptIncludeDirDeps = let
depCrate = mkCrate { depCrate = mkHostCrate {
crateName = "bar"; crateName = "bar";
src = symlinkJoin { src = symlinkJoin {
name = "build-script-and-include-dir-bar"; name = "build-script-and-include-dir-bar";
@ -460,7 +471,7 @@ let
mkdir -p $out/lib mkdir -p $out/lib
# Note: On darwin (which defaults to clang) we have to add # Note: On darwin (which defaults to clang) we have to add
# `-undefined dynamic_lookup` as otherwise the compilation fails. # `-undefined dynamic_lookup` as otherwise the compilation fails.
cc -shared \ $CC -shared \
${lib.optionalString stdenv.isDarwin "-undefined dynamic_lookup"} \ ${lib.optionalString stdenv.isDarwin "-undefined dynamic_lookup"} \
-o $out/lib/${name}${stdenv.hostPlatform.extensions.sharedLibrary} ${src} -o $out/lib/${name}${stdenv.hostPlatform.extensions.sharedLibrary} ${src}
''; '';
@ -609,9 +620,11 @@ let
pkg = brotliCrates.brotli_2_5_0 {}; pkg = brotliCrates.brotli_2_5_0 {};
in runCommand "run-brotli-test-cmd" { in runCommand "run-brotli-test-cmd" {
nativeBuildInputs = [ pkg ]; nativeBuildInputs = [ pkg ];
} '' } (if stdenv.hostPlatform == stdenv.buildPlatform then ''
${pkg}/bin/brotli -c ${pkg}/bin/brotli > /dev/null && touch $out ${pkg}/bin/brotli -c ${pkg}/bin/brotli > /dev/null && touch $out
''; '' else ''
test -x '${pkg}/bin/brotli' && touch $out
'');
allocNoStdLibTest = let allocNoStdLibTest = let
pkg = brotliCrates.alloc_no_stdlib_1_3_0 {}; pkg = brotliCrates.alloc_no_stdlib_1_3_0 {};
in runCommand "run-alloc-no-stdlib-test-cmd" { in runCommand "run-alloc-no-stdlib-test-cmd" {

View File

@ -2,33 +2,26 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "comic-neue"; pname = "comic-neue";
version = "2.5"; version = "2.51";
src = fetchzip { src = fetchzip {
url = "http://comicneue.com/${pname}-${version}.zip"; url = "http://comicneue.com/${pname}-${version}.zip";
sha256 = "1kc0yyha6cc584vcl9z1cq1z6prgkxk93g75mr8gapfdrj25dp3q"; sha256 = "sha256-DjRZtFnJOtZnxhfpgU5ihZFAonRK608/BQztCAExIU0=";
stripRoot = false; # because it comes with a __MACOSX directory stripRoot = false; # because it comes with a __MACOSX directory
}; };
phases = [ "unpackPhase" "installPhase" ]; phases = [ "unpackPhase" "installPhase" ];
installPhase = '' installPhase = ''
mkdir -pv $out/share/{doc/${pname}-${version},fonts/{opentype,truetype,EOT,WOFF,WOFF2}} mkdir -pv $out/share/{doc/${pname}-${version},fonts/{opentype,truetype,WOFF,WOFF2}}
cp -v ${pname}-${version}/{FONTLOG,OFL-FAQ,OFL}.txt $out/share/doc/ cp -v ${pname}-${version}/{FONTLOG,OFL-FAQ,OFL}.txt $out/share/doc/
cp -v ${pname}-${version}/Booklet-ComicNeue.pdf $out/share/doc/
cp -v ${pname}-${version}/OTF/ComicNeue-Angular/*.otf $out/share/fonts/opentype cp -v ${pname}-${version}/OTF/ComicNeue-Angular/*.otf $out/share/fonts/opentype
cp -v ${pname}-${version}/OTF/ComicNeue/*.otf $out/share/fonts/opentype cp -v ${pname}-${version}/OTF/ComicNeue/*.otf $out/share/fonts/opentype
cp -v ${pname}-${version}/TTF/ComicNeue-Angular/*.ttf $out/share/fonts/truetype cp -v ${pname}-${version}/TTF/ComicNeue-Angular/*.ttf $out/share/fonts/truetype
cp -v ${pname}-${version}/TTF/ComicNeue/*.ttf $out/share/fonts/truetype cp -v ${pname}-${version}/TTF/ComicNeue/*.ttf $out/share/fonts/truetype
cp -v ${pname}-${version}/WebFonts/eot/ComicNeue-Angular/*.eot $out/share/fonts/EOT cp -v ${pname}-${version}/WebFonts/*.woff $out/share/fonts/WOFF
cp -v ${pname}-${version}/WebFonts/eot/ComicNeue/*.eot $out/share/fonts/EOT cp -v ${pname}-${version}/WebFonts/*.woff2 $out/share/fonts/WOFF2
cp -v ${pname}-${version}/WebFonts/woff/ComicNeue-Angular/*.woff $out/share/fonts/WOFF
cp -v ${pname}-${version}/WebFonts/woff/ComicNeue/*.woff $out/share/fonts/WOFF
cp -v ${pname}-${version}/WebFonts/woff2/ComicNeue/*.woff2 $out/share/fonts/WOFF2
# Quick fix for conflicting names in upstream
for i in ${pname}-${version}/WebFonts/woff2/ComicNeue-Angular/*.woff2; do
cp -v $i $out/share/fonts/WOFF2/`basename $i|sed -e 's|ComicNeue|ComicNeue-Angular|'`
done
''; '';
meta = with stdenv.lib; { meta = with stdenv.lib; {

View File

@ -0,0 +1,22 @@
{ lib, fetchzip }:
let
version = "0.018";
in fetchzip {
name = "JuliaMono-${version}";
url = "https://github.com/cormullion/juliamono/releases/download/v${version}/JuliaMono.zip";
sha256 = "0ss79a9gymbhih5pgjkg1mipmk0qsvqqwlkqcdm9fz87d7kfhby3";
postFetch = ''
mkdir -p $out/share/fonts
unzip -j $downloadedFile \*.ttf -d $out/share/fonts/truetype
'';
meta = {
description = "A monospaced font for scientific and technical computing";
maintainers = with lib.maintainers; [ suhr ];
platforms = with lib.platforms; all;
homepage = "https://juliamono.netlify.app/";
license = lib.licenses.ofl;
};
}

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "amber-theme"; pname = "amber-theme";
version = "3.36-1"; version = "3.36-2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "lassekongo83"; owner = "lassekongo83";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "0dn81ca3kyfz4ql15kl5108gw309cc0c1inmwlch1nq5dslmfjji"; sha256 = "1g0hkv9sxfxfnpv8x7g64lr2by7wd4k216s3y9xpibsycdbwpyi5";
}; };
nativeBuildInputs = [ meson ninja sassc ]; nativeBuildInputs = [ meson ninja sassc ];
@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "GTK, gnome-shell and Xfce theme based on Ubuntu Ambiance"; description = "GTK, gnome-shell and Xfce theme based on Ubuntu Ambiance";
homepage = "https://github.com/lassekongo83/amber-theme"; homepage = "https://github.com/lassekongo83/amber-theme";
license = licenses.gpl3; license = licenses.gpl3Only;
platforms = platforms.linux; platforms = platforms.linux;
maintainers = [ maintainers.romildo ]; maintainers = [ maintainers.romildo ];
}; };

View File

@ -1,34 +0,0 @@
{ stdenv, fetchurl, gtk-engine-murrine }:
let
themeName = "Ant-Dracula";
in
stdenv.mkDerivation rec {
pname = "ant-dracula-theme";
version = "1.3.0";
src = fetchurl {
url = "https://github.com/EliverLara/${themeName}/releases/download/v${version}/${themeName}.tar";
sha256 = "00b8w69xapqy8kc7zqwlfz1xpld6hibbh35djvhcnd905gzzymkd";
};
propagatedUserEnvPkgs = [
gtk-engine-murrine
];
installPhase = ''
runHook preInstall
mkdir -p $out/share/themes/${themeName}
cp -a * $out/share/themes/${themeName}
rm -r $out/share/themes/${themeName}/{Art,LICENSE,README.md,gtk-2.0/render-assets.sh}
runHook postInstall
'';
meta = with stdenv.lib; {
description = "Dracula variant of the Ant theme";
homepage = "https://github.com/EliverLara/${themeName}";
license = licenses.gpl3;
platforms = platforms.all;
maintainers = with maintainers; [ alexarice ];
};
}

View File

@ -0,0 +1,36 @@
{ stdenv, fetchFromGitHub, gtk-engine-murrine }:
let
themeName = "Dracula";
version = "2.0";
in
stdenv.mkDerivation {
pname = "dracula-theme";
inherit version;
src = fetchFromGitHub {
owner = "dracula";
repo = "gtk";
rev = "v${version}";
sha256 = "10j706gnhdplhykdisp64vzzxpzgn48b5f1fkndcp340x7hf2mf3";
};
propagatedUserEnvPkgs = [
gtk-engine-murrine
];
installPhase = ''
runHook preInstall
mkdir -p $out/share/themes/${themeName}
cp -a {assets,cinnamon,gnome-shell,gtk-2.0,gtk-3.0,gtk-3.20,index.theme,kde,metacity-1,unity,xfwm4} $out/share/themes/${themeName}
runHook postInstall
'';
meta = with stdenv.lib; {
description = "Dracula variant of the Ant theme";
homepage = "https://github.com/dracula/gtk";
license = licenses.gpl3;
platforms = platforms.all;
maintainers = with maintainers; [ alexarice vonfry ];
};
}

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "matcha-gtk-theme"; pname = "matcha-gtk-theme";
version = "2020-09-28"; version = "2020-10-05";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "vinceliuice"; owner = "vinceliuice";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "06ylja07snxcbz1cwaip1z3kqw7m7fdphmrkb4r1rdvan1i2widi"; sha256 = "0pkgpipffwxphn16p6r911mbhqhjyk60svirxzm2phlhxl0ddwpj";
}; };
buildInputs = [ gdk-pixbuf librsvg ]; buildInputs = [ gdk-pixbuf librsvg ];

View File

@ -11,13 +11,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "plano-theme"; pname = "plano-theme";
version = "3.36-1"; version = "3.36-2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "lassekongo83"; owner = "lassekongo83";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "1rngn5a7hwjqpznbg5kvgs237d2q1anywg37k1cz153ipa96snrv"; sha256 = "01dkjck9rlrf8wa30ad7kfv0gbpdf3l05rw7nxrvb1gh5d2vxig9";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
@ -39,7 +39,7 @@ stdenv.mkDerivation rec {
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "Flat theme for GNOME and Xfce"; description = "Flat theme for GNOME and Xfce";
homepage = "https://github.com/lassekongo83/plano-theme"; homepage = "https://github.com/lassekongo83/plano-theme";
license = licenses.gpl3; license = licenses.gpl3Only;
platforms = platforms.unix; platforms = platforms.unix;
maintainers = [ maintainers.romildo ]; maintainers = [ maintainers.romildo ];
}; };

Some files were not shown because too many files have changed in this diff Show More