Project import generated by Copybara.
GitOrigin-RevId: 1ca6b0a0cc38dbba0441202535c92841dd39d1ae
This commit is contained in:
parent
18bad4282a
commit
5a8b500490
594 changed files with 28490 additions and 4840 deletions
|
@ -1,7 +1,9 @@
|
||||||
name: NixOS manual checks
|
name: NixOS manual checks
|
||||||
|
|
||||||
|
permissions: read-all
|
||||||
|
|
||||||
on:
|
on:
|
||||||
pull_request:
|
pull_request_target:
|
||||||
branches-ignore:
|
branches-ignore:
|
||||||
- 'release-**'
|
- 'release-**'
|
||||||
paths:
|
paths:
|
||||||
|
@ -14,6 +16,9 @@ jobs:
|
||||||
if: github.repository_owner == 'NixOS'
|
if: github.repository_owner == 'NixOS'
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
|
with:
|
||||||
|
# pull_request_target checks out the base branch by default
|
||||||
|
ref: refs/pull/${{ github.event.pull_request.number }}/merge
|
||||||
- uses: cachix/install-nix-action@v12
|
- uses: cachix/install-nix-action@v12
|
||||||
- name: Check DocBook files generated from Markdown are consistent
|
- name: Check DocBook files generated from Markdown are consistent
|
||||||
run: |
|
run: |
|
||||||
|
|
|
@ -847,7 +847,7 @@ using setup hooks.
|
||||||
The following is an example:
|
The following is an example:
|
||||||
|
|
||||||
```nix
|
```nix
|
||||||
{ lib, buildPythonPackage, fetchPypi, hypothesis, setuptools_scm, attrs, py, setuptools, six, pluggy }:
|
{ lib, buildPythonPackage, fetchPypi, hypothesis, setuptools-scm, attrs, py, setuptools, six, pluggy }:
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "pytest";
|
pname = "pytest";
|
||||||
|
@ -864,7 +864,7 @@ buildPythonPackage rec {
|
||||||
'';
|
'';
|
||||||
|
|
||||||
checkInputs = [ hypothesis ];
|
checkInputs = [ hypothesis ];
|
||||||
nativeBuildInputs = [ setuptools_scm ];
|
nativeBuildInputs = [ setuptools-scm ];
|
||||||
propagatedBuildInputs = [ attrs py setuptools six pluggy ];
|
propagatedBuildInputs = [ attrs py setuptools six pluggy ];
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
|
|
|
@ -373,7 +373,7 @@ hashes need to be specified since they are not available through the
|
||||||
lock file. For example:
|
lock file. For example:
|
||||||
|
|
||||||
```
|
```
|
||||||
cargoDeps = {
|
cargoDeps = rustPlatform.importCargoLock {
|
||||||
lockFile = ./Cargo.lock;
|
lockFile = ./Cargo.lock;
|
||||||
outputHashes = {
|
outputHashes = {
|
||||||
"rand-0.8.3" = "0ya2hia3cn31qa8894s3av2s8j5bjwb6yq92k0jsnlx7jid0jwqa";
|
"rand-0.8.3" = "0ya2hia3cn31qa8894s3av2s8j5bjwb6yq92k0jsnlx7jid0jwqa";
|
||||||
|
|
5
third_party/nixpkgs/lib/licenses.nix
vendored
5
third_party/nixpkgs/lib/licenses.nix
vendored
|
@ -760,6 +760,11 @@ lib.mapAttrs (n: v: v // { shortName = n; }) ({
|
||||||
# channel and NixOS images.
|
# channel and NixOS images.
|
||||||
};
|
};
|
||||||
|
|
||||||
|
unicode-dfs-2015 = spdx {
|
||||||
|
spdxId = "Unicode-DFS-2015";
|
||||||
|
fullName = "Unicode License Agreement - Data Files and Software (2015)";
|
||||||
|
};
|
||||||
|
|
||||||
unicode-dfs-2016 = spdx {
|
unicode-dfs-2016 = spdx {
|
||||||
spdxId = "Unicode-DFS-2016";
|
spdxId = "Unicode-DFS-2016";
|
||||||
fullName = "Unicode License Agreement - Data Files and Software (2016)";
|
fullName = "Unicode License Agreement - Data Files and Software (2016)";
|
||||||
|
|
|
@ -481,11 +481,11 @@ rec {
|
||||||
riscv-multiplatform = {
|
riscv-multiplatform = {
|
||||||
linux-kernel = {
|
linux-kernel = {
|
||||||
name = "riscv-multiplatform";
|
name = "riscv-multiplatform";
|
||||||
target = "vmlinux";
|
target = "Image";
|
||||||
autoModules = true;
|
autoModules = true;
|
||||||
baseConfig = "defconfig";
|
baseConfig = "defconfig";
|
||||||
|
DTB = true;
|
||||||
extraConfig = ''
|
extraConfig = ''
|
||||||
FTRACE n
|
|
||||||
SERIAL_OF_PLATFORM y
|
SERIAL_OF_PLATFORM y
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
|
@ -64,6 +64,16 @@
|
||||||
fingerprint = "F466 A548 AD3F C1F1 8C88 4576 8702 7528 B006 D66D";
|
fingerprint = "F466 A548 AD3F C1F1 8C88 4576 8702 7528 B006 D66D";
|
||||||
}];
|
}];
|
||||||
};
|
};
|
||||||
|
_0xbe7a = {
|
||||||
|
email = "nix@be7a.de";
|
||||||
|
name = "Bela Stoyan";
|
||||||
|
github = "0xbe7a";
|
||||||
|
githubId = 6232980;
|
||||||
|
keys = [{
|
||||||
|
longkeyid = "rsa4096/0x6510870A77F49A99";
|
||||||
|
fingerprint = "2536 9E86 1AA5 9EB7 4C47 B138 6510 870A 77F4 9A99";
|
||||||
|
}];
|
||||||
|
};
|
||||||
_1000101 = {
|
_1000101 = {
|
||||||
email = "b1000101@pm.me";
|
email = "b1000101@pm.me";
|
||||||
github = "1000101";
|
github = "1000101";
|
||||||
|
@ -3031,6 +3041,16 @@
|
||||||
githubId = 147284;
|
githubId = 147284;
|
||||||
name = "Jason Felice";
|
name = "Jason Felice";
|
||||||
};
|
};
|
||||||
|
erdnaxe = {
|
||||||
|
email = "erdnaxe@crans.org";
|
||||||
|
github = "erdnaxe";
|
||||||
|
githubId = 2663216;
|
||||||
|
name = "Alexandre Iooss";
|
||||||
|
keys = [{
|
||||||
|
longkeyid = "rsa4096/0x6C79278F3FCDCC02";
|
||||||
|
fingerprint = "2D37 1AD2 7E2B BC77 97E1 B759 6C79 278F 3FCD CC02";
|
||||||
|
}];
|
||||||
|
};
|
||||||
ericbmerritt = {
|
ericbmerritt = {
|
||||||
email = "eric@afiniate.com";
|
email = "eric@afiniate.com";
|
||||||
github = "ericbmerritt";
|
github = "ericbmerritt";
|
||||||
|
@ -4335,6 +4355,16 @@
|
||||||
githubId = 54999;
|
githubId = 54999;
|
||||||
name = "Ariel Nunez";
|
name = "Ariel Nunez";
|
||||||
};
|
};
|
||||||
|
irenes = {
|
||||||
|
name = "Irene Knapp";
|
||||||
|
email = "ireneista@gmail.com";
|
||||||
|
github = "IreneKnapp";
|
||||||
|
githubId = 157678;
|
||||||
|
keys = [{
|
||||||
|
longkeyid = "rsa4096/0xDBF252AFFB2619FD";
|
||||||
|
fingerprint = "E864 BDFA AB55 36FD C905 5195 DBF2 52AF FB26 19FD";
|
||||||
|
}];
|
||||||
|
};
|
||||||
ironpinguin = {
|
ironpinguin = {
|
||||||
email = "michele@catalano.de";
|
email = "michele@catalano.de";
|
||||||
github = "ironpinguin";
|
github = "ironpinguin";
|
||||||
|
@ -7287,9 +7317,9 @@
|
||||||
githubId = 3159451;
|
githubId = 3159451;
|
||||||
name = "Nicolas Schneider";
|
name = "Nicolas Schneider";
|
||||||
};
|
};
|
||||||
nipav = {
|
nkpvk = {
|
||||||
email = "niko.pavlinek@gmail.com";
|
email = "niko.pavlinek@gmail.com";
|
||||||
github = "nipav";
|
github = "nkpvk";
|
||||||
githubId = 16385648;
|
githubId = 16385648;
|
||||||
name = "Niko Pavlinek";
|
name = "Niko Pavlinek";
|
||||||
};
|
};
|
||||||
|
@ -10025,6 +10055,12 @@
|
||||||
githubId = 27386;
|
githubId = 27386;
|
||||||
name = "Milan Svoboda";
|
name = "Milan Svoboda";
|
||||||
};
|
};
|
||||||
|
tfc = {
|
||||||
|
email = "jacek@galowicz.de";
|
||||||
|
github = "tfc";
|
||||||
|
githubId = 29044;
|
||||||
|
name = "Jacek Galowicz";
|
||||||
|
};
|
||||||
tg-x = {
|
tg-x = {
|
||||||
email = "*@tg-x.net";
|
email = "*@tg-x.net";
|
||||||
github = "tg-x";
|
github = "tg-x";
|
||||||
|
|
|
@ -436,6 +436,18 @@ machine.systemctl("list-jobs --no-pager", "any-user") # spawns a shell for `any-
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
<varlistentry>
|
||||||
|
<term>
|
||||||
|
<methodname>shell_interact</methodname>
|
||||||
|
</term>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Allows you to directly interact with the guest shell.
|
||||||
|
This should only be used during test development, not in production tests.
|
||||||
|
Killing the interactive session with <literal>Ctrl-d</literal> or <literal>Ctrl-c</literal> also ends the guest session.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
</varlistentry>
|
||||||
</variablelist>
|
</variablelist>
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
|
|
|
@ -12,15 +12,44 @@
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
<section xml:id="backward-incompatibilities">
|
<section xml:id="highlights">
|
||||||
<title>Backward incompatibilities</title>
|
<title>Highlights</title>
|
||||||
|
<para>
|
||||||
|
</para>
|
||||||
|
</section>
|
||||||
|
<section xml:id="new-services">
|
||||||
|
<title>New Services</title>
|
||||||
<itemizedlist spacing="compact">
|
<itemizedlist spacing="compact">
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
<link xlink:href="https://github.com/maxmind/geoipupdate">geoipupdate</link>,
|
||||||
|
a GeoIP database updater from MaxMind. Available as
|
||||||
|
<link xlink:href="options.html#opt-services.geoipupdate.enable">services.geoipupdate</link>.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
</itemizedlist>
|
||||||
|
</section>
|
||||||
|
<section xml:id="backward-incompatibilities">
|
||||||
|
<title>Backward Incompatibilities</title>
|
||||||
|
<itemizedlist>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
The <literal>staticjinja</literal> package has been upgraded
|
The <literal>staticjinja</literal> package has been upgraded
|
||||||
from 1.0.4 to 2.0.0
|
from 1.0.4 to 2.0.0
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
<literal>services.geoip-updater</literal> was broken and has
|
||||||
|
been replaced by
|
||||||
|
<link xlink:href="options.html#opt-services.geoipupdate.enable">services.geoipupdate</link>.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
</section>
|
</section>
|
||||||
|
<section xml:id="other-notable-changes">
|
||||||
|
<title>Other Notable Changes</title>
|
||||||
|
<para>
|
||||||
|
</para>
|
||||||
|
</section>
|
||||||
</section>
|
</section>
|
||||||
|
|
|
@ -402,10 +402,9 @@
|
||||||
</term>
|
</term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Equivalent to <option>--no-build-nix</option>
|
Equivalent to <option>--no-build-nix</option>. This option is
|
||||||
<option>--show-trace</option>. This option is useful if you call
|
useful if you call <command>nixos-rebuild</command> frequently
|
||||||
<command>nixos-rebuild</command> frequently (e.g. if you’re hacking on
|
(e.g. if you’re hacking on a NixOS module).
|
||||||
a NixOS module).
|
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
|
@ -4,6 +4,19 @@ In addition to numerous new and upgraded packages, this release has the followin
|
||||||
|
|
||||||
* Support is planned until the end of April 2022, handing over to 22.05.
|
* Support is planned until the end of April 2022, handing over to 22.05.
|
||||||
|
|
||||||
## Backward incompatibilities
|
## Highlights
|
||||||
|
|
||||||
|
## New Services
|
||||||
|
|
||||||
|
* [geoipupdate](https://github.com/maxmind/geoipupdate), a GeoIP
|
||||||
|
database updater from MaxMind. Available as
|
||||||
|
[services.geoipupdate](options.html#opt-services.geoipupdate.enable).
|
||||||
|
|
||||||
|
## Backward Incompatibilities
|
||||||
|
|
||||||
* The `staticjinja` package has been upgraded from 1.0.4 to 2.0.0
|
* The `staticjinja` package has been upgraded from 1.0.4 to 2.0.0
|
||||||
|
|
||||||
|
* `services.geoip-updater` was broken and has been replaced by
|
||||||
|
[services.geoipupdate](options.html#opt-services.geoipupdate.enable).
|
||||||
|
|
||||||
|
## Other Notable Changes
|
||||||
|
|
|
@ -21,6 +21,7 @@ import shutil
|
||||||
import socket
|
import socket
|
||||||
import subprocess
|
import subprocess
|
||||||
import sys
|
import sys
|
||||||
|
import telnetlib
|
||||||
import tempfile
|
import tempfile
|
||||||
import time
|
import time
|
||||||
import traceback
|
import traceback
|
||||||
|
@ -455,6 +456,16 @@ class Machine:
|
||||||
return (status_code, output)
|
return (status_code, output)
|
||||||
output += chunk
|
output += chunk
|
||||||
|
|
||||||
|
def shell_interact(self) -> None:
|
||||||
|
"""Allows you to interact with the guest shell
|
||||||
|
|
||||||
|
Should only be used during test development, not in the production test."""
|
||||||
|
self.connect()
|
||||||
|
self.log("Terminal is ready (there is no prompt):")
|
||||||
|
telnet = telnetlib.Telnet()
|
||||||
|
telnet.sock = self.shell # type: ignore
|
||||||
|
telnet.interact()
|
||||||
|
|
||||||
def succeed(self, *commands: str) -> str:
|
def succeed(self, *commands: str) -> str:
|
||||||
"""Execute each command and check that it succeeds."""
|
"""Execute each command and check that it succeeds."""
|
||||||
output = ""
|
output = ""
|
||||||
|
|
|
@ -130,7 +130,13 @@ rec {
|
||||||
{
|
{
|
||||||
virtualisation.qemu.package = qemu_pkg;
|
virtualisation.qemu.package = qemu_pkg;
|
||||||
}
|
}
|
||||||
);
|
) ++ [(
|
||||||
|
{
|
||||||
|
# Ensure we do not use aliases. Ideally this is only set
|
||||||
|
# when the test framework is used by Nixpkgs NixOS tests.
|
||||||
|
nixpkgs.config.allowAliases = false;
|
||||||
|
}
|
||||||
|
)];
|
||||||
};
|
};
|
||||||
|
|
||||||
# FIXME: get this pkg from the module system
|
# FIXME: get this pkg from the module system
|
||||||
|
|
|
@ -300,7 +300,7 @@ in
|
||||||
#pdns-recursor = 269; # dynamically allocated as of 2020-20-18
|
#pdns-recursor = 269; # dynamically allocated as of 2020-20-18
|
||||||
#kresd = 270; # switched to "knot-resolver" with dynamic ID
|
#kresd = 270; # switched to "knot-resolver" with dynamic ID
|
||||||
rpc = 271;
|
rpc = 271;
|
||||||
geoip = 272;
|
#geoip = 272; # new module uses DynamicUser
|
||||||
fcron = 273;
|
fcron = 273;
|
||||||
sonarr = 274;
|
sonarr = 274;
|
||||||
radarr = 275;
|
radarr = 275;
|
||||||
|
|
|
@ -492,7 +492,7 @@
|
||||||
./services/misc/freeswitch.nix
|
./services/misc/freeswitch.nix
|
||||||
./services/misc/fstrim.nix
|
./services/misc/fstrim.nix
|
||||||
./services/misc/gammu-smsd.nix
|
./services/misc/gammu-smsd.nix
|
||||||
./services/misc/geoip-updater.nix
|
./services/misc/geoipupdate.nix
|
||||||
./services/misc/gitea.nix
|
./services/misc/gitea.nix
|
||||||
#./services/misc/gitit.nix
|
#./services/misc/gitit.nix
|
||||||
./services/misc/gitlab.nix
|
./services/misc/gitlab.nix
|
||||||
|
@ -947,6 +947,7 @@
|
||||||
./services/web-apps/nextcloud.nix
|
./services/web-apps/nextcloud.nix
|
||||||
./services/web-apps/nexus.nix
|
./services/web-apps/nexus.nix
|
||||||
./services/web-apps/plantuml-server.nix
|
./services/web-apps/plantuml-server.nix
|
||||||
|
./services/web-apps/plausible.nix
|
||||||
./services/web-apps/pgpkeyserver-lite.nix
|
./services/web-apps/pgpkeyserver-lite.nix
|
||||||
./services/web-apps/matomo.nix
|
./services/web-apps/matomo.nix
|
||||||
./services/web-apps/moinmoin.nix
|
./services/web-apps/moinmoin.nix
|
||||||
|
|
|
@ -965,7 +965,7 @@ in
|
||||||
mr ${pkgs.apparmor-pam}/lib/security/pam_apparmor.so,
|
mr ${pkgs.apparmor-pam}/lib/security/pam_apparmor.so,
|
||||||
'' +
|
'' +
|
||||||
optionalString (isEnabled (cfg: cfg.enableKwallet)) ''
|
optionalString (isEnabled (cfg: cfg.enableKwallet)) ''
|
||||||
mr ${pkgs.plasma5.kwallet-pam}/lib/security/pam_kwallet5.so,
|
mr ${pkgs.plasma5Packages.kwallet-pam}/lib/security/pam_kwallet5.so,
|
||||||
'' +
|
'' +
|
||||||
optionalString config.virtualisation.lxc.lxcfs.enable ''
|
optionalString config.virtualisation.lxc.lxcfs.enable ''
|
||||||
mr ${pkgs.lxc}/lib/security/pam_cgfs.so
|
mr ${pkgs.lxc}/lib/security/pam_cgfs.so
|
||||||
|
|
|
@ -165,6 +165,42 @@ in {
|
||||||
'';
|
'';
|
||||||
in
|
in
|
||||||
''
|
''
|
||||||
|
joinByString()
|
||||||
|
{
|
||||||
|
local separator="$1"
|
||||||
|
shift
|
||||||
|
local first="$1"
|
||||||
|
shift
|
||||||
|
printf "%s" "$first" "''${@/#/$separator}"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Map a relative directory path in the output from
|
||||||
|
# jenkins-job-builder (jobname) to the layout expected by jenkins:
|
||||||
|
# each directory level gets prepended "jobs/".
|
||||||
|
getJenkinsJobDir()
|
||||||
|
{
|
||||||
|
IFS='/' read -ra input_dirs <<< "$1"
|
||||||
|
printf "jobs/"
|
||||||
|
joinByString "/jobs/" "''${input_dirs[@]}"
|
||||||
|
}
|
||||||
|
|
||||||
|
# The inverse of getJenkinsJobDir (remove the "jobs/" prefixes)
|
||||||
|
getJobname()
|
||||||
|
{
|
||||||
|
IFS='/' read -ra input_dirs <<< "$1"
|
||||||
|
local i=0
|
||||||
|
local nelem=''${#input_dirs[@]}
|
||||||
|
for e in "''${input_dirs[@]}"; do
|
||||||
|
if [ $((i % 2)) -eq 1 ]; then
|
||||||
|
printf "$e"
|
||||||
|
if [ $i -lt $(( nelem - 1 )) ]; then
|
||||||
|
printf "/"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
i=$((i + 1))
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
rm -rf ${jobBuilderOutputDir}
|
rm -rf ${jobBuilderOutputDir}
|
||||||
cur_decl_jobs=/run/jenkins-job-builder/declarative-jobs
|
cur_decl_jobs=/run/jenkins-job-builder/declarative-jobs
|
||||||
rm -f "$cur_decl_jobs"
|
rm -f "$cur_decl_jobs"
|
||||||
|
@ -172,27 +208,27 @@ in {
|
||||||
# Create / update jobs
|
# Create / update jobs
|
||||||
mkdir -p ${jobBuilderOutputDir}
|
mkdir -p ${jobBuilderOutputDir}
|
||||||
for inputFile in ${yamlJobsFile} ${concatStringsSep " " jsonJobsFiles}; do
|
for inputFile in ${yamlJobsFile} ${concatStringsSep " " jsonJobsFiles}; do
|
||||||
HOME="${jenkinsCfg.home}" "${pkgs.jenkins-job-builder}/bin/jenkins-jobs" --ignore-cache test -o "${jobBuilderOutputDir}" "$inputFile"
|
HOME="${jenkinsCfg.home}" "${pkgs.jenkins-job-builder}/bin/jenkins-jobs" --ignore-cache test --config-xml -o "${jobBuilderOutputDir}" "$inputFile"
|
||||||
done
|
done
|
||||||
|
|
||||||
for file in "${jobBuilderOutputDir}/"*; do
|
find "${jobBuilderOutputDir}" -type f -name config.xml | while read -r f; do echo "$(dirname "$f")"; done | sort | while read -r dir; do
|
||||||
test -f "$file" || continue
|
jobname="$(realpath --relative-to="${jobBuilderOutputDir}" "$dir")"
|
||||||
jobname="$(basename $file)"
|
jenkinsjobname=$(getJenkinsJobDir "$jobname")
|
||||||
jobdir="${jenkinsCfg.home}/jobs/$jobname"
|
jenkinsjobdir="${jenkinsCfg.home}/$jenkinsjobname"
|
||||||
echo "Creating / updating job \"$jobname\""
|
echo "Creating / updating job \"$jobname\""
|
||||||
mkdir -p "$jobdir"
|
mkdir -p "$jenkinsjobdir"
|
||||||
touch "$jobdir/${ownerStamp}"
|
touch "$jenkinsjobdir/${ownerStamp}"
|
||||||
cp "$file" "$jobdir/config.xml"
|
cp "$dir"/config.xml "$jenkinsjobdir/config.xml"
|
||||||
echo "$jobname" >> "$cur_decl_jobs"
|
echo "$jenkinsjobname" >> "$cur_decl_jobs"
|
||||||
done
|
done
|
||||||
|
|
||||||
# Remove stale jobs
|
# Remove stale jobs
|
||||||
for file in "${jenkinsCfg.home}"/jobs/*/${ownerStamp}; do
|
find "${jenkinsCfg.home}" -type f -name "${ownerStamp}" | while read -r f; do echo "$(dirname "$f")"; done | sort --reverse | while read -r dir; do
|
||||||
test -f "$file" || continue
|
jenkinsjobname="$(realpath --relative-to="${jenkinsCfg.home}" "$dir")"
|
||||||
jobdir="$(dirname $file)"
|
grep --quiet --line-regexp "$jenkinsjobname" "$cur_decl_jobs" 2>/dev/null && continue
|
||||||
jobname="$(basename "$jobdir")"
|
jobname=$(getJobname "$jenkinsjobname")
|
||||||
grep --quiet --line-regexp "$jobname" "$cur_decl_jobs" 2>/dev/null && continue
|
|
||||||
echo "Deleting stale job \"$jobname\""
|
echo "Deleting stale job \"$jobname\""
|
||||||
|
jobdir="${jenkinsCfg.home}/$jenkinsjobname"
|
||||||
rm -rf "$jobdir"
|
rm -rf "$jobdir"
|
||||||
done
|
done
|
||||||
'' + (if cfg.accessUser != "" then reloadScript else "");
|
'' + (if cfg.accessUser != "" then reloadScript else "");
|
||||||
|
|
|
@ -333,6 +333,7 @@ in {
|
||||||
before = [ "mailman.service" "mailman-web-setup.service" "mailman-uwsgi.service" "hyperkitty.service" ];
|
before = [ "mailman.service" "mailman-web-setup.service" "mailman-uwsgi.service" "hyperkitty.service" ];
|
||||||
requiredBy = [ "mailman.service" "mailman-web-setup.service" "mailman-uwsgi.service" "hyperkitty.service" ];
|
requiredBy = [ "mailman.service" "mailman-web-setup.service" "mailman-uwsgi.service" "hyperkitty.service" ];
|
||||||
path = with pkgs; [ jq ];
|
path = with pkgs; [ jq ];
|
||||||
|
serviceConfig.Type = "oneshot";
|
||||||
script = ''
|
script = ''
|
||||||
mailmanDir=/var/lib/mailman
|
mailmanDir=/var/lib/mailman
|
||||||
mailmanWebDir=/var/lib/mailman-web
|
mailmanWebDir=/var/lib/mailman-web
|
||||||
|
|
|
@ -1,306 +0,0 @@
|
||||||
{ config, lib, pkgs, ... }:
|
|
||||||
|
|
||||||
with lib;
|
|
||||||
|
|
||||||
let
|
|
||||||
cfg = config.services.geoip-updater;
|
|
||||||
|
|
||||||
dbBaseUrl = "https://geolite.maxmind.com/download/geoip/database";
|
|
||||||
|
|
||||||
randomizedTimerDelaySec = "3600";
|
|
||||||
|
|
||||||
# Use writeScriptBin instead of writeScript, so that argv[0] (logged to the
|
|
||||||
# journal) doesn't include the long nix store path hash. (Prefixing the
|
|
||||||
# ExecStart= command with '@' doesn't work because we start a shell (new
|
|
||||||
# process) that creates a new argv[0].)
|
|
||||||
geoip-updater = pkgs.writeScriptBin "geoip-updater" ''
|
|
||||||
#!${pkgs.runtimeShell}
|
|
||||||
skipExisting=0
|
|
||||||
debug()
|
|
||||||
{
|
|
||||||
echo "<7>$@"
|
|
||||||
}
|
|
||||||
info()
|
|
||||||
{
|
|
||||||
echo "<6>$@"
|
|
||||||
}
|
|
||||||
error()
|
|
||||||
{
|
|
||||||
echo "<3>$@"
|
|
||||||
}
|
|
||||||
die()
|
|
||||||
{
|
|
||||||
error "$@"
|
|
||||||
exit 1
|
|
||||||
}
|
|
||||||
waitNetworkOnline()
|
|
||||||
{
|
|
||||||
ret=1
|
|
||||||
for i in $(seq 6); do
|
|
||||||
curl_out=$("${pkgs.curl.bin}/bin/curl" \
|
|
||||||
--silent --fail --show-error --max-time 60 "${dbBaseUrl}" 2>&1)
|
|
||||||
if [ $? -eq 0 ]; then
|
|
||||||
debug "Server is reachable (try $i)"
|
|
||||||
ret=0
|
|
||||||
break
|
|
||||||
else
|
|
||||||
debug "Server is unreachable (try $i): $curl_out"
|
|
||||||
sleep 10
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
return $ret
|
|
||||||
}
|
|
||||||
dbFnameTmp()
|
|
||||||
{
|
|
||||||
dburl=$1
|
|
||||||
echo "${cfg.databaseDir}/.$(basename "$dburl")"
|
|
||||||
}
|
|
||||||
dbFnameTmpDecompressed()
|
|
||||||
{
|
|
||||||
dburl=$1
|
|
||||||
echo "${cfg.databaseDir}/.$(basename "$dburl")" | sed 's/\.\(gz\|xz\)$//'
|
|
||||||
}
|
|
||||||
dbFname()
|
|
||||||
{
|
|
||||||
dburl=$1
|
|
||||||
echo "${cfg.databaseDir}/$(basename "$dburl")" | sed 's/\.\(gz\|xz\)$//'
|
|
||||||
}
|
|
||||||
downloadDb()
|
|
||||||
{
|
|
||||||
dburl=$1
|
|
||||||
curl_out=$("${pkgs.curl.bin}/bin/curl" \
|
|
||||||
--silent --fail --show-error --max-time 900 -L -o "$(dbFnameTmp "$dburl")" "$dburl" 2>&1)
|
|
||||||
if [ $? -ne 0 ]; then
|
|
||||||
error "Failed to download $dburl: $curl_out"
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
decompressDb()
|
|
||||||
{
|
|
||||||
fn=$(dbFnameTmp "$1")
|
|
||||||
ret=0
|
|
||||||
case "$fn" in
|
|
||||||
*.gz)
|
|
||||||
cmd_out=$("${pkgs.gzip}/bin/gzip" --decompress --force "$fn" 2>&1)
|
|
||||||
;;
|
|
||||||
*.xz)
|
|
||||||
cmd_out=$("${pkgs.xz.bin}/bin/xz" --decompress --force "$fn" 2>&1)
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
cmd_out=$(echo "File \"$fn\" is neither a .gz nor .xz file")
|
|
||||||
false
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
if [ $? -ne 0 ]; then
|
|
||||||
error "$cmd_out"
|
|
||||||
ret=1
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
atomicRename()
|
|
||||||
{
|
|
||||||
dburl=$1
|
|
||||||
mv "$(dbFnameTmpDecompressed "$dburl")" "$(dbFname "$dburl")"
|
|
||||||
}
|
|
||||||
removeIfNotInConfig()
|
|
||||||
{
|
|
||||||
# Arg 1 is the full path of an installed DB.
|
|
||||||
# If the corresponding database is not specified in the NixOS config we
|
|
||||||
# remove it.
|
|
||||||
db=$1
|
|
||||||
for cdb in ${lib.concatStringsSep " " cfg.databases}; do
|
|
||||||
confDb=$(echo "$cdb" | sed 's/\.\(gz\|xz\)$//')
|
|
||||||
if [ "$(basename "$db")" = "$(basename "$confDb")" ]; then
|
|
||||||
return 0
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
rm "$db"
|
|
||||||
if [ $? -eq 0 ]; then
|
|
||||||
debug "Removed $(basename "$db") (not listed in services.geoip-updater.databases)"
|
|
||||||
else
|
|
||||||
error "Failed to remove $db"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
removeUnspecifiedDbs()
|
|
||||||
{
|
|
||||||
for f in "${cfg.databaseDir}/"*; do
|
|
||||||
test -f "$f" || continue
|
|
||||||
case "$f" in
|
|
||||||
*.dat|*.mmdb|*.csv)
|
|
||||||
removeIfNotInConfig "$f"
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
debug "Not removing \"$f\" (unknown file extension)"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
}
|
|
||||||
downloadAndInstall()
|
|
||||||
{
|
|
||||||
dburl=$1
|
|
||||||
if [ "$skipExisting" -eq 1 -a -f "$(dbFname "$dburl")" ]; then
|
|
||||||
debug "Skipping existing file: $(dbFname "$dburl")"
|
|
||||||
return 0
|
|
||||||
fi
|
|
||||||
downloadDb "$dburl" || return 1
|
|
||||||
decompressDb "$dburl" || return 1
|
|
||||||
atomicRename "$dburl" || return 1
|
|
||||||
info "Updated $(basename "$(dbFname "$dburl")")"
|
|
||||||
}
|
|
||||||
for arg in "$@"; do
|
|
||||||
case "$arg" in
|
|
||||||
--skip-existing)
|
|
||||||
skipExisting=1
|
|
||||||
info "Option --skip-existing is set: not updating existing databases"
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
error "Unknown argument: $arg";;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
waitNetworkOnline || die "Network is down (${dbBaseUrl} is unreachable)"
|
|
||||||
test -d "${cfg.databaseDir}" || die "Database directory (${cfg.databaseDir}) doesn't exist"
|
|
||||||
debug "Starting update of GeoIP databases in ${cfg.databaseDir}"
|
|
||||||
all_ret=0
|
|
||||||
for db in ${lib.concatStringsSep " \\\n " cfg.databases}; do
|
|
||||||
downloadAndInstall "${dbBaseUrl}/$db" || all_ret=1
|
|
||||||
done
|
|
||||||
removeUnspecifiedDbs || all_ret=1
|
|
||||||
if [ $all_ret -eq 0 ]; then
|
|
||||||
info "Completed GeoIP database update in ${cfg.databaseDir}"
|
|
||||||
else
|
|
||||||
error "Completed GeoIP database update in ${cfg.databaseDir}, with error(s)"
|
|
||||||
fi
|
|
||||||
# Hack to work around systemd journal race:
|
|
||||||
# https://github.com/systemd/systemd/issues/2913
|
|
||||||
sleep 2
|
|
||||||
exit $all_ret
|
|
||||||
'';
|
|
||||||
|
|
||||||
in
|
|
||||||
|
|
||||||
{
|
|
||||||
options = {
|
|
||||||
services.geoip-updater = {
|
|
||||||
enable = mkOption {
|
|
||||||
default = false;
|
|
||||||
type = types.bool;
|
|
||||||
description = ''
|
|
||||||
Whether to enable periodic downloading of GeoIP databases from
|
|
||||||
maxmind.com. You might want to enable this if you, for instance, use
|
|
||||||
ntopng or Wireshark.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
interval = mkOption {
|
|
||||||
type = types.str;
|
|
||||||
default = "weekly";
|
|
||||||
description = ''
|
|
||||||
Update the GeoIP databases at this time / interval.
|
|
||||||
The format is described in
|
|
||||||
<citerefentry><refentrytitle>systemd.time</refentrytitle>
|
|
||||||
<manvolnum>7</manvolnum></citerefentry>.
|
|
||||||
To prevent load spikes on maxmind.com, the timer interval is
|
|
||||||
randomized by an additional delay of ${randomizedTimerDelaySec}
|
|
||||||
seconds. Setting a shorter interval than this is not recommended.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
databaseDir = mkOption {
|
|
||||||
type = types.path;
|
|
||||||
default = "/var/lib/geoip-databases";
|
|
||||||
description = ''
|
|
||||||
Directory that will contain GeoIP databases.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
databases = mkOption {
|
|
||||||
type = types.listOf types.str;
|
|
||||||
default = [
|
|
||||||
"GeoLiteCountry/GeoIP.dat.gz"
|
|
||||||
"GeoIPv6.dat.gz"
|
|
||||||
"GeoLiteCity.dat.xz"
|
|
||||||
"GeoLiteCityv6-beta/GeoLiteCityv6.dat.gz"
|
|
||||||
"asnum/GeoIPASNum.dat.gz"
|
|
||||||
"asnum/GeoIPASNumv6.dat.gz"
|
|
||||||
"GeoLite2-Country.mmdb.gz"
|
|
||||||
"GeoLite2-City.mmdb.gz"
|
|
||||||
];
|
|
||||||
description = ''
|
|
||||||
Which GeoIP databases to update. The full URL is ${dbBaseUrl}/ +
|
|
||||||
<literal>the_database</literal>.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
|
||||||
|
|
||||||
assertions = [
|
|
||||||
{ assertion = (builtins.filter
|
|
||||||
(x: builtins.match ".*\\.(gz|xz)$" x == null) cfg.databases) == [];
|
|
||||||
message = ''
|
|
||||||
services.geoip-updater.databases supports only .gz and .xz databases.
|
|
||||||
|
|
||||||
Current value:
|
|
||||||
${toString cfg.databases}
|
|
||||||
|
|
||||||
Offending element(s):
|
|
||||||
${toString (builtins.filter (x: builtins.match ".*\\.(gz|xz)$" x == null) cfg.databases)};
|
|
||||||
'';
|
|
||||||
}
|
|
||||||
];
|
|
||||||
|
|
||||||
users.users.geoip = {
|
|
||||||
group = "root";
|
|
||||||
description = "GeoIP database updater";
|
|
||||||
uid = config.ids.uids.geoip;
|
|
||||||
};
|
|
||||||
|
|
||||||
systemd.timers.geoip-updater =
|
|
||||||
{ description = "GeoIP Updater Timer";
|
|
||||||
partOf = [ "geoip-updater.service" ];
|
|
||||||
wantedBy = [ "timers.target" ];
|
|
||||||
timerConfig.OnCalendar = cfg.interval;
|
|
||||||
timerConfig.Persistent = "true";
|
|
||||||
timerConfig.RandomizedDelaySec = randomizedTimerDelaySec;
|
|
||||||
};
|
|
||||||
|
|
||||||
systemd.services.geoip-updater = {
|
|
||||||
description = "GeoIP Updater";
|
|
||||||
after = [ "network-online.target" "nss-lookup.target" ];
|
|
||||||
wants = [ "network-online.target" ];
|
|
||||||
preStart = ''
|
|
||||||
mkdir -p "${cfg.databaseDir}"
|
|
||||||
chmod 755 "${cfg.databaseDir}"
|
|
||||||
chown geoip:root "${cfg.databaseDir}"
|
|
||||||
'';
|
|
||||||
serviceConfig = {
|
|
||||||
ExecStart = "${geoip-updater}/bin/geoip-updater";
|
|
||||||
User = "geoip";
|
|
||||||
PermissionsStartOnly = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
systemd.services.geoip-updater-setup = {
|
|
||||||
description = "GeoIP Updater Setup";
|
|
||||||
after = [ "network-online.target" "nss-lookup.target" ];
|
|
||||||
wants = [ "network-online.target" ];
|
|
||||||
wantedBy = [ "multi-user.target" ];
|
|
||||||
conflicts = [ "geoip-updater.service" ];
|
|
||||||
preStart = ''
|
|
||||||
mkdir -p "${cfg.databaseDir}"
|
|
||||||
chmod 755 "${cfg.databaseDir}"
|
|
||||||
chown geoip:root "${cfg.databaseDir}"
|
|
||||||
'';
|
|
||||||
serviceConfig = {
|
|
||||||
ExecStart = "${geoip-updater}/bin/geoip-updater --skip-existing";
|
|
||||||
User = "geoip";
|
|
||||||
PermissionsStartOnly = true;
|
|
||||||
# So it won't be (needlessly) restarted:
|
|
||||||
RemainAfterExit = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
};
|
|
||||||
}
|
|
145
third_party/nixpkgs/nixos/modules/services/misc/geoipupdate.nix
vendored
Normal file
145
third_party/nixpkgs/nixos/modules/services/misc/geoipupdate.nix
vendored
Normal file
|
@ -0,0 +1,145 @@
|
||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
cfg = config.services.geoipupdate;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
(lib.mkRemovedOptionModule [ "services" "geoip-updater" ] "services.geoip-updater has been removed, use services.geoipupdate instead.")
|
||||||
|
];
|
||||||
|
|
||||||
|
options = {
|
||||||
|
services.geoipupdate = {
|
||||||
|
enable = lib.mkEnableOption ''
|
||||||
|
periodic downloading of GeoIP databases using
|
||||||
|
<productname>geoipupdate</productname>.
|
||||||
|
'';
|
||||||
|
|
||||||
|
interval = lib.mkOption {
|
||||||
|
type = lib.types.str;
|
||||||
|
default = "weekly";
|
||||||
|
description = ''
|
||||||
|
Update the GeoIP databases at this time / interval.
|
||||||
|
The format is described in
|
||||||
|
<citerefentry><refentrytitle>systemd.time</refentrytitle>
|
||||||
|
<manvolnum>7</manvolnum></citerefentry>.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
settings = lib.mkOption {
|
||||||
|
description = ''
|
||||||
|
<productname>geoipupdate</productname> configuration
|
||||||
|
options. See
|
||||||
|
<link xlink:href="https://github.com/maxmind/geoipupdate/blob/main/doc/GeoIP.conf.md" />
|
||||||
|
for a full list of available options.
|
||||||
|
'';
|
||||||
|
type = lib.types.submodule {
|
||||||
|
freeformType =
|
||||||
|
with lib.types;
|
||||||
|
let
|
||||||
|
type = oneOf [str int bool];
|
||||||
|
in
|
||||||
|
attrsOf (either type (listOf type));
|
||||||
|
|
||||||
|
options = {
|
||||||
|
|
||||||
|
AccountID = lib.mkOption {
|
||||||
|
type = lib.types.int;
|
||||||
|
description = ''
|
||||||
|
Your MaxMind account ID.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
EditionIDs = lib.mkOption {
|
||||||
|
type = with lib.types; listOf (either str int);
|
||||||
|
example = [
|
||||||
|
"GeoLite2-ASN"
|
||||||
|
"GeoLite2-City"
|
||||||
|
"GeoLite2-Country"
|
||||||
|
];
|
||||||
|
description = ''
|
||||||
|
List of database edition IDs. This includes new string
|
||||||
|
IDs like <literal>GeoIP2-City</literal> and old
|
||||||
|
numeric IDs like <literal>106</literal>.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
LicenseKey = lib.mkOption {
|
||||||
|
type = lib.types.path;
|
||||||
|
description = ''
|
||||||
|
A file containing the <productname>MaxMind</productname>
|
||||||
|
license key.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
DatabaseDirectory = lib.mkOption {
|
||||||
|
type = lib.types.path;
|
||||||
|
default = "/var/lib/GeoIP";
|
||||||
|
example = "/run/GeoIP";
|
||||||
|
description = ''
|
||||||
|
The directory to store the database files in. The
|
||||||
|
directory will be automatically created, the owner
|
||||||
|
changed to <literal>geoip</literal> and permissions
|
||||||
|
set to world readable. This applies if the directory
|
||||||
|
already exists as well, so don't use a directory with
|
||||||
|
sensitive contents.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
|
||||||
|
services.geoipupdate.settings = {
|
||||||
|
LockFile = "/run/geoipupdate/.lock";
|
||||||
|
};
|
||||||
|
|
||||||
|
systemd.services.geoipupdate = {
|
||||||
|
description = "GeoIP Updater";
|
||||||
|
after = [ "network-online.target" "nss-lookup.target" ];
|
||||||
|
wants = [ "network-online.target" ];
|
||||||
|
startAt = cfg.interval;
|
||||||
|
serviceConfig = {
|
||||||
|
ExecStartPre =
|
||||||
|
let
|
||||||
|
geoipupdateKeyValue = lib.generators.toKeyValue {
|
||||||
|
mkKeyValue = lib.flip lib.generators.mkKeyValueDefault " " rec {
|
||||||
|
mkValueString = v: with builtins;
|
||||||
|
if isInt v then toString v
|
||||||
|
else if isString v then v
|
||||||
|
else if true == v then "1"
|
||||||
|
else if false == v then "0"
|
||||||
|
else if isList v then lib.concatMapStringsSep " " mkValueString v
|
||||||
|
else throw "unsupported type ${typeOf v}: ${(lib.generators.toPretty {}) v}";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
geoipupdateConf = pkgs.writeText "discourse.conf" (geoipupdateKeyValue cfg.settings);
|
||||||
|
|
||||||
|
script = ''
|
||||||
|
mkdir -p "${cfg.settings.DatabaseDirectory}"
|
||||||
|
chmod 755 "${cfg.settings.DatabaseDirectory}"
|
||||||
|
chown geoip "${cfg.settings.DatabaseDirectory}"
|
||||||
|
|
||||||
|
cp ${geoipupdateConf} /run/geoipupdate/GeoIP.conf
|
||||||
|
${pkgs.replace-secret}/bin/replace-secret '${cfg.settings.LicenseKey}' \
|
||||||
|
'${cfg.settings.LicenseKey}' \
|
||||||
|
/run/geoipupdate/GeoIP.conf
|
||||||
|
'';
|
||||||
|
in
|
||||||
|
"+${pkgs.writeShellScript "start-pre-full-privileges" script}";
|
||||||
|
ExecStart = "${pkgs.geoipupdate}/bin/geoipupdate -f /run/geoipupdate/GeoIP.conf";
|
||||||
|
User = "geoip";
|
||||||
|
DynamicUser = true;
|
||||||
|
ReadWritePaths = cfg.settings.DatabaseDirectory;
|
||||||
|
RuntimeDirectory = "geoipupdate";
|
||||||
|
RuntimeDirectoryMode = 0700;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -122,6 +122,15 @@ in
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
sftpServerExecutable = mkOption {
|
||||||
|
type = types.str;
|
||||||
|
example = "internal-sftp";
|
||||||
|
description = ''
|
||||||
|
The sftp server executable. Can be a path or "internal-sftp" to use
|
||||||
|
the sftp server built into the sshd binary.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
sftpFlags = mkOption {
|
sftpFlags = mkOption {
|
||||||
type = with types; listOf str;
|
type = with types; listOf str;
|
||||||
default = [];
|
default = [];
|
||||||
|
@ -386,6 +395,7 @@ in
|
||||||
};
|
};
|
||||||
|
|
||||||
services.openssh.moduliFile = mkDefault "${cfgc.package}/etc/ssh/moduli";
|
services.openssh.moduliFile = mkDefault "${cfgc.package}/etc/ssh/moduli";
|
||||||
|
services.openssh.sftpServerExecutable = mkDefault "${cfgc.package}/libexec/sftp-server";
|
||||||
|
|
||||||
environment.etc = authKeysFiles //
|
environment.etc = authKeysFiles //
|
||||||
{ "ssh/moduli".source = cfg.moduliFile;
|
{ "ssh/moduli".source = cfg.moduliFile;
|
||||||
|
@ -505,7 +515,7 @@ in
|
||||||
''}
|
''}
|
||||||
|
|
||||||
${optionalString cfg.allowSFTP ''
|
${optionalString cfg.allowSFTP ''
|
||||||
Subsystem sftp ${cfgc.package}/libexec/sftp-server ${concatStringsSep " " cfg.sftpFlags}
|
Subsystem sftp ${cfg.sftpServerExecutable} ${concatStringsSep " " cfg.sftpFlags}
|
||||||
''}
|
''}
|
||||||
|
|
||||||
PermitRootLogin ${cfg.permitRootLogin}
|
PermitRootLogin ${cfg.permitRootLogin}
|
||||||
|
|
|
@ -89,7 +89,7 @@ in {
|
||||||
# create database
|
# create database
|
||||||
services.mysql = mkIf cfg.createDatabase {
|
services.mysql = mkIf cfg.createDatabase {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = mkDefault pkgs.mysql;
|
package = mkDefault pkgs.mariadb;
|
||||||
ensureUsers = [{
|
ensureUsers = [{
|
||||||
name = "engelsystem";
|
name = "engelsystem";
|
||||||
ensurePermissions = { "engelsystem.*" = "ALL PRIVILEGES"; };
|
ensurePermissions = { "engelsystem.*" = "ALL PRIVILEGES"; };
|
||||||
|
|
273
third_party/nixpkgs/nixos/modules/services/web-apps/plausible.nix
vendored
Normal file
273
third_party/nixpkgs/nixos/modules/services/web-apps/plausible.nix
vendored
Normal file
|
@ -0,0 +1,273 @@
|
||||||
|
{ lib, pkgs, config, ... }:
|
||||||
|
|
||||||
|
with lib;
|
||||||
|
|
||||||
|
let
|
||||||
|
cfg = config.services.plausible;
|
||||||
|
|
||||||
|
# FIXME consider using LoadCredential as soon as it actually works.
|
||||||
|
envSecrets = ''
|
||||||
|
export ADMIN_USER_PWD="$(<${cfg.adminUser.passwordFile})"
|
||||||
|
export SECRET_KEY_BASE="$(<${cfg.server.secretKeybaseFile})"
|
||||||
|
${optionalString (cfg.mail.smtp.passwordFile != null) ''
|
||||||
|
export SMTP_USER_PWD="$(<${cfg.mail.smtp.passwordFile})"
|
||||||
|
''}
|
||||||
|
'';
|
||||||
|
in {
|
||||||
|
options.services.plausible = {
|
||||||
|
enable = mkEnableOption "plausible";
|
||||||
|
|
||||||
|
adminUser = {
|
||||||
|
name = mkOption {
|
||||||
|
default = "admin";
|
||||||
|
type = types.str;
|
||||||
|
description = ''
|
||||||
|
Name of the admin user that plausible will created on initial startup.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
email = mkOption {
|
||||||
|
type = types.str;
|
||||||
|
example = "admin@localhost";
|
||||||
|
description = ''
|
||||||
|
Email-address of the admin-user.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
passwordFile = mkOption {
|
||||||
|
type = types.either types.str types.path;
|
||||||
|
description = ''
|
||||||
|
Path to the file which contains the password of the admin user.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
activate = mkEnableOption "activating the freshly created admin-user";
|
||||||
|
};
|
||||||
|
|
||||||
|
database = {
|
||||||
|
clickhouse = {
|
||||||
|
setup = mkEnableOption "creating a clickhouse instance" // { default = true; };
|
||||||
|
url = mkOption {
|
||||||
|
default = "http://localhost:8123/default";
|
||||||
|
type = types.str;
|
||||||
|
description = ''
|
||||||
|
The URL to be used to connect to <package>clickhouse</package>.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
postgres = {
|
||||||
|
setup = mkEnableOption "creating a postgresql instance" // { default = true; };
|
||||||
|
dbname = mkOption {
|
||||||
|
default = "plausible";
|
||||||
|
type = types.str;
|
||||||
|
description = ''
|
||||||
|
Name of the database to use.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
socket = mkOption {
|
||||||
|
default = "/run/postgresql";
|
||||||
|
type = types.str;
|
||||||
|
description = ''
|
||||||
|
Path to the UNIX domain-socket to communicate with <package>postgres</package>.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
server = {
|
||||||
|
disableRegistration = mkOption {
|
||||||
|
default = true;
|
||||||
|
type = types.bool;
|
||||||
|
description = ''
|
||||||
|
Whether to prohibit creating an account in plausible's UI.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
secretKeybaseFile = mkOption {
|
||||||
|
type = types.either types.path types.str;
|
||||||
|
description = ''
|
||||||
|
Path to the secret used by the <literal>phoenix</literal>-framework. Instructions
|
||||||
|
how to generate one are documented in the
|
||||||
|
<link xlink:href="https://hexdocs.pm/phoenix/Mix.Tasks.Phx.Gen.Secret.html#content">
|
||||||
|
framework docs</link>.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
port = mkOption {
|
||||||
|
default = 8000;
|
||||||
|
type = types.port;
|
||||||
|
description = ''
|
||||||
|
Port where the service should be available.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
baseUrl = mkOption {
|
||||||
|
type = types.str;
|
||||||
|
description = ''
|
||||||
|
Public URL where plausible is available.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
mail = {
|
||||||
|
email = mkOption {
|
||||||
|
default = "hello@plausible.local";
|
||||||
|
type = types.str;
|
||||||
|
description = ''
|
||||||
|
The email id to use for as <emphasis>from</emphasis> address of all communications
|
||||||
|
from Plausible.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
smtp = {
|
||||||
|
hostAddr = mkOption {
|
||||||
|
default = "localhost";
|
||||||
|
type = types.str;
|
||||||
|
description = ''
|
||||||
|
The host address of your smtp server.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
hostPort = mkOption {
|
||||||
|
default = 25;
|
||||||
|
type = types.port;
|
||||||
|
description = ''
|
||||||
|
The port of your smtp server.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
user = mkOption {
|
||||||
|
default = null;
|
||||||
|
type = types.nullOr types.str;
|
||||||
|
description = ''
|
||||||
|
The username/email in case SMTP auth is enabled.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
passwordFile = mkOption {
|
||||||
|
default = null;
|
||||||
|
type = with types; nullOr (either str path);
|
||||||
|
description = ''
|
||||||
|
The path to the file with the password in case SMTP auth is enabled.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
enableSSL = mkEnableOption "SSL when connecting to the SMTP server";
|
||||||
|
retries = mkOption {
|
||||||
|
type = types.ints.unsigned;
|
||||||
|
default = 2;
|
||||||
|
description = ''
|
||||||
|
Number of retries to make until mailer gives up.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
assertions = [
|
||||||
|
{ assertion = cfg.adminUser.activate -> cfg.database.postgres.setup;
|
||||||
|
message = ''
|
||||||
|
Unable to automatically activate the admin-user if no locally managed DB for
|
||||||
|
postgres (`services.plausible.database.postgres.setup') is enabled!
|
||||||
|
'';
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
services.postgresql = mkIf cfg.database.postgres.setup {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
services.clickhouse = mkIf cfg.database.clickhouse.setup {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
systemd.services = mkMerge [
|
||||||
|
{
|
||||||
|
plausible = {
|
||||||
|
inherit (pkgs.plausible.meta) description;
|
||||||
|
documentation = [ "https://plausible.io/docs/self-hosting" ];
|
||||||
|
wantedBy = [ "multi-user.target" ];
|
||||||
|
after = optional cfg.database.postgres.setup "plausible-postgres.service";
|
||||||
|
requires = optional cfg.database.clickhouse.setup "clickhouse.service"
|
||||||
|
++ optionals cfg.database.postgres.setup [
|
||||||
|
"postgresql.service"
|
||||||
|
"plausible-postgres.service"
|
||||||
|
];
|
||||||
|
|
||||||
|
environment = {
|
||||||
|
# NixOS specific option to avoid that it's trying to write into its store-path.
|
||||||
|
# See also https://github.com/lau/tzdata#data-directory-and-releases
|
||||||
|
TZDATA_DIR = "/var/lib/plausible/elixir_tzdata";
|
||||||
|
|
||||||
|
# Configuration options from
|
||||||
|
# https://plausible.io/docs/self-hosting-configuration
|
||||||
|
PORT = toString cfg.server.port;
|
||||||
|
DISABLE_REGISTRATION = boolToString cfg.server.disableRegistration;
|
||||||
|
|
||||||
|
RELEASE_TMP = "/var/lib/plausible/tmp";
|
||||||
|
|
||||||
|
ADMIN_USER_NAME = cfg.adminUser.name;
|
||||||
|
ADMIN_USER_EMAIL = cfg.adminUser.email;
|
||||||
|
|
||||||
|
DATABASE_SOCKET_DIR = cfg.database.postgres.socket;
|
||||||
|
DATABASE_NAME = cfg.database.postgres.dbname;
|
||||||
|
CLICKHOUSE_DATABASE_URL = cfg.database.clickhouse.url;
|
||||||
|
|
||||||
|
BASE_URL = cfg.server.baseUrl;
|
||||||
|
|
||||||
|
MAILER_EMAIL = cfg.mail.email;
|
||||||
|
SMTP_HOST_ADDR = cfg.mail.smtp.hostAddr;
|
||||||
|
SMTP_HOST_PORT = toString cfg.mail.smtp.hostPort;
|
||||||
|
SMTP_RETRIES = toString cfg.mail.smtp.retries;
|
||||||
|
SMTP_HOST_SSL_ENABLED = boolToString cfg.mail.smtp.enableSSL;
|
||||||
|
|
||||||
|
SELFHOST = "true";
|
||||||
|
} // (optionalAttrs (cfg.mail.smtp.user != null) {
|
||||||
|
SMTP_USER_NAME = cfg.mail.smtp.user;
|
||||||
|
});
|
||||||
|
|
||||||
|
path = [ pkgs.plausible ]
|
||||||
|
++ optional cfg.database.postgres.setup config.services.postgresql.package;
|
||||||
|
|
||||||
|
serviceConfig = {
|
||||||
|
DynamicUser = true;
|
||||||
|
PrivateTmp = true;
|
||||||
|
WorkingDirectory = "/var/lib/plausible";
|
||||||
|
StateDirectory = "plausible";
|
||||||
|
ExecStartPre = "@${pkgs.writeShellScript "plausible-setup" ''
|
||||||
|
${envSecrets}
|
||||||
|
${pkgs.plausible}/createdb.sh
|
||||||
|
${pkgs.plausible}/migrate.sh
|
||||||
|
${optionalString cfg.adminUser.activate ''
|
||||||
|
if ! ${pkgs.plausible}/init-admin.sh | grep 'already exists'; then
|
||||||
|
psql -d plausible <<< "UPDATE users SET email_verified=true;"
|
||||||
|
fi
|
||||||
|
''}
|
||||||
|
''} plausible-setup";
|
||||||
|
ExecStart = "@${pkgs.writeShellScript "plausible" ''
|
||||||
|
${envSecrets}
|
||||||
|
plausible start
|
||||||
|
''} plausible";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
(mkIf cfg.database.postgres.setup {
|
||||||
|
# `plausible' requires the `citext'-extension.
|
||||||
|
plausible-postgres = {
|
||||||
|
after = [ "postgresql.service" ];
|
||||||
|
bindsTo = [ "postgresql.service" ];
|
||||||
|
requiredBy = [ "plausible.service" ];
|
||||||
|
partOf = [ "plausible.service" ];
|
||||||
|
serviceConfig.Type = "oneshot";
|
||||||
|
unitConfig.ConditionPathExists = "!/var/lib/plausible/.db-setup";
|
||||||
|
script = ''
|
||||||
|
mkdir -p /var/lib/plausible/
|
||||||
|
PSQL() {
|
||||||
|
/run/wrappers/bin/sudo -Hu postgres ${config.services.postgresql.package}/bin/psql --port=5432 "$@"
|
||||||
|
}
|
||||||
|
PSQL -tAc "CREATE ROLE plausible WITH LOGIN;"
|
||||||
|
PSQL -tAc "CREATE DATABASE plausible WITH OWNER plausible;"
|
||||||
|
PSQL -d plausible -tAc "CREATE EXTENSION IF NOT EXISTS citext;"
|
||||||
|
touch /var/lib/plausible/.db-setup
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
})
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
meta.maintainers = with maintainers; [ ma27 ];
|
||||||
|
meta.doc = ./plausible.xml;
|
||||||
|
}
|
51
third_party/nixpkgs/nixos/modules/services/web-apps/plausible.xml
vendored
Normal file
51
third_party/nixpkgs/nixos/modules/services/web-apps/plausible.xml
vendored
Normal file
|
@ -0,0 +1,51 @@
|
||||||
|
<chapter xmlns="http://docbook.org/ns/docbook"
|
||||||
|
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||||
|
xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||||
|
version="5.0"
|
||||||
|
xml:id="module-services-plausible">
|
||||||
|
<title>Plausible</title>
|
||||||
|
<para>
|
||||||
|
<link xlink:href="https://plausible.io/">Plausible</link> is a privacy-friendly alternative to
|
||||||
|
Google analytics.
|
||||||
|
</para>
|
||||||
|
<section xml:id="module-services-plausible-basic-usage">
|
||||||
|
<title>Basic Usage</title>
|
||||||
|
<para>
|
||||||
|
At first, a secret key is needed to be generated. This can be done with e.g.
|
||||||
|
<screen><prompt>$ </prompt>openssl rand -base64 64</screen>
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
After that, <package>plausible</package> can be deployed like this:
|
||||||
|
<programlisting>{
|
||||||
|
services.plausible = {
|
||||||
|
<link linkend="opt-services.plausible.enable">enable</link> = true;
|
||||||
|
adminUser = {
|
||||||
|
<link linkend="opt-services.plausible.adminUser.activate">activate</link> = true; <co xml:id='ex-plausible-cfg-activate' />
|
||||||
|
<link linkend="opt-services.plausible.adminUser.email">email</link> = "admin@localhost";
|
||||||
|
<link linkend="opt-services.plausible.adminUser.passwordFile">passwordFile</link> = "/run/secrets/plausible-admin-pwd";
|
||||||
|
};
|
||||||
|
server = {
|
||||||
|
<link linkend="opt-services.plausible.server.baseUrl">baseUrl</link> = "http://analytics.example.org";
|
||||||
|
<link linkend="opt-services.plausible.server.secretKeybaseFile">secretKeybaseFile</link> = "/run/secrets/plausible-secret-key-base"; <co xml:id='ex-plausible-cfg-secretbase' />
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}</programlisting>
|
||||||
|
<calloutlist>
|
||||||
|
<callout arearefs='ex-plausible-cfg-activate'>
|
||||||
|
<para>
|
||||||
|
<varname>activate</varname> is used to skip the email verification of the admin-user that's
|
||||||
|
automatically created by <package>plausible</package>. This is only supported if
|
||||||
|
<package>postgresql</package> is configured by the module. This is done by default, but
|
||||||
|
can be turned off with <xref linkend="opt-services.plausible.database.postgres.setup" />.
|
||||||
|
</para>
|
||||||
|
</callout>
|
||||||
|
<callout arearefs='ex-plausible-cfg-secretbase'>
|
||||||
|
<para>
|
||||||
|
<varname>secretKeybaseFile</varname> is a path to the file which contains the secret generated
|
||||||
|
with <package>openssl</package> as described above.
|
||||||
|
</para>
|
||||||
|
</callout>
|
||||||
|
</calloutlist>
|
||||||
|
</para>
|
||||||
|
</section>
|
||||||
|
</chapter>
|
|
@ -256,6 +256,17 @@ in
|
||||||
default = [];
|
default = [];
|
||||||
description = "Other GNOME Flashback sessions to enable.";
|
description = "Other GNOME Flashback sessions to enable.";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
panelModulePackages = mkOption {
|
||||||
|
default = [ pkgs.gnome.gnome-applets ];
|
||||||
|
type = types.listOf types.path;
|
||||||
|
description = ''
|
||||||
|
Packages containing modules that should be made available to <literal>gnome-panel</literal> (usually for applets).
|
||||||
|
|
||||||
|
If you're packaging something to use here, please install the modules in <literal>$out/lib/gnome-panel/modules</literal>.
|
||||||
|
'';
|
||||||
|
example = literalExample "[ pkgs.gnome.gnome-applets ]";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -318,6 +329,7 @@ in
|
||||||
(wm:
|
(wm:
|
||||||
pkgs.gnome.gnome-flashback.mkSessionForWm {
|
pkgs.gnome.gnome-flashback.mkSessionForWm {
|
||||||
inherit (wm) wmName wmLabel wmCommand enableGnomePanel;
|
inherit (wm) wmName wmLabel wmCommand enableGnomePanel;
|
||||||
|
inherit (cfg.flashback) panelModulePackages;
|
||||||
}
|
}
|
||||||
) flashbackWms;
|
) flashbackWms;
|
||||||
|
|
||||||
|
|
|
@ -1,10 +1,20 @@
|
||||||
{ pkgs, lib, config, ... }:
|
{ pkgs, lib, config, ... }:
|
||||||
let
|
let
|
||||||
cfg = config.virtualisation.containerd;
|
cfg = config.virtualisation.containerd;
|
||||||
containerdConfigChecked = pkgs.runCommand "containerd-config-checked.toml" { nativeBuildInputs = [pkgs.containerd]; } ''
|
|
||||||
containerd -c ${cfg.configFile} config dump >/dev/null
|
configFile = if cfg.configFile == null then
|
||||||
ln -s ${cfg.configFile} $out
|
settingsFormat.generate "containerd.toml" cfg.settings
|
||||||
|
else
|
||||||
|
cfg.configFile;
|
||||||
|
|
||||||
|
containerdConfigChecked = pkgs.runCommand "containerd-config-checked.toml" {
|
||||||
|
nativeBuildInputs = [ pkgs.containerd ];
|
||||||
|
} ''
|
||||||
|
containerd -c ${configFile} config dump >/dev/null
|
||||||
|
ln -s ${configFile} $out
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
settingsFormat = pkgs.formats.toml {};
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
|
||||||
|
@ -13,10 +23,21 @@ in
|
||||||
|
|
||||||
configFile = lib.mkOption {
|
configFile = lib.mkOption {
|
||||||
default = null;
|
default = null;
|
||||||
description = "path to containerd config file";
|
description = ''
|
||||||
|
Path to containerd config file.
|
||||||
|
Setting this option will override any configuration applied by the settings option.
|
||||||
|
'';
|
||||||
type = nullOr path;
|
type = nullOr path;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
settings = lib.mkOption {
|
||||||
|
type = settingsFormat.type;
|
||||||
|
default = {};
|
||||||
|
description = ''
|
||||||
|
Verbatim lines to add to containerd.toml
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
args = lib.mkOption {
|
args = lib.mkOption {
|
||||||
default = {};
|
default = {};
|
||||||
description = "extra args to append to the containerd cmdline";
|
description = "extra args to append to the containerd cmdline";
|
||||||
|
@ -25,9 +46,19 @@ in
|
||||||
};
|
};
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
config = lib.mkIf cfg.enable {
|
||||||
virtualisation.containerd.args.config = lib.mkIf (cfg.configFile != null) (toString containerdConfigChecked);
|
warnings = lib.optional (cfg.configFile != null) ''
|
||||||
|
`virtualisation.containerd.configFile` is deprecated. use `virtualisation.containerd.settings` instead.
|
||||||
|
'';
|
||||||
|
|
||||||
environment.systemPackages = [pkgs.containerd];
|
virtualisation.containerd = {
|
||||||
|
args.config = toString containerdConfigChecked;
|
||||||
|
settings = {
|
||||||
|
plugins.cri.containerd.snapshotter = lib.mkIf config.boot.zfs.enabled "zfs";
|
||||||
|
plugins.cri.cni.bin_dir = lib.mkDefault "${pkgs.cni-plugins}/bin";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
environment.systemPackages = [ pkgs.containerd ];
|
||||||
|
|
||||||
systemd.services.containerd = {
|
systemd.services.containerd = {
|
||||||
description = "containerd - container runtime";
|
description = "containerd - container runtime";
|
||||||
|
@ -37,7 +68,7 @@ in
|
||||||
containerd
|
containerd
|
||||||
runc
|
runc
|
||||||
iptables
|
iptables
|
||||||
];
|
] ++ lib.optional config.boot.zfs.enabled config.boot.zfs.package;
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
ExecStart = ''${pkgs.containerd}/bin/containerd ${lib.concatStringsSep " " (lib.cli.toGNUCommandLine {} cfg.args)}'';
|
ExecStart = ''${pkgs.containerd}/bin/containerd ${lib.concatStringsSep " " (lib.cli.toGNUCommandLine {} cfg.args)}'';
|
||||||
Delegate = "yes";
|
Delegate = "yes";
|
||||||
|
|
|
@ -48,6 +48,23 @@ in
|
||||||
description = "containers.conf configuration";
|
description = "containers.conf configuration";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
containersConf.cniPlugins = mkOption {
|
||||||
|
type = types.listOf types.package;
|
||||||
|
defaultText = ''
|
||||||
|
[
|
||||||
|
pkgs.cni-plugins
|
||||||
|
]
|
||||||
|
'';
|
||||||
|
example = lib.literalExample ''
|
||||||
|
[
|
||||||
|
pkgs.cniPlugins.dnsname
|
||||||
|
]
|
||||||
|
'';
|
||||||
|
description = ''
|
||||||
|
CNI plugins to install on the system.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
registries = {
|
registries = {
|
||||||
search = mkOption {
|
search = mkOption {
|
||||||
type = types.listOf types.str;
|
type = types.listOf types.str;
|
||||||
|
@ -97,8 +114,11 @@ in
|
||||||
};
|
};
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
config = lib.mkIf cfg.enable {
|
||||||
|
|
||||||
|
virtualisation.containers.containersConf.cniPlugins = [ pkgs.cni-plugins ];
|
||||||
|
|
||||||
virtualisation.containers.containersConf.settings = {
|
virtualisation.containers.containersConf.settings = {
|
||||||
network.cni_plugin_dirs = [ "${pkgs.cni-plugins}/bin/" ];
|
network.cni_plugin_dirs = map (p: "${lib.getBin p}/bin") cfg.containersConf.cniPlugins;
|
||||||
engine = {
|
engine = {
|
||||||
init_path = "${pkgs.catatonit}/bin/catatonit";
|
init_path = "${pkgs.catatonit}/bin/catatonit";
|
||||||
} // lib.optionalAttrs cfg.ociSeccompBpfHook.enable {
|
} // lib.optionalAttrs cfg.ociSeccompBpfHook.enable {
|
||||||
|
|
36
third_party/nixpkgs/nixos/modules/virtualisation/podman-dnsname.nix
vendored
Normal file
36
third_party/nixpkgs/nixos/modules/virtualisation/podman-dnsname.nix
vendored
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
let
|
||||||
|
inherit (lib)
|
||||||
|
mkOption
|
||||||
|
mkIf
|
||||||
|
types
|
||||||
|
;
|
||||||
|
|
||||||
|
cfg = config.virtualisation.podman;
|
||||||
|
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options = {
|
||||||
|
virtualisation.podman = {
|
||||||
|
|
||||||
|
defaultNetwork.dnsname.enable = mkOption {
|
||||||
|
type = types.bool;
|
||||||
|
default = false;
|
||||||
|
description = ''
|
||||||
|
Enable DNS resolution in the default podman network.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
config = {
|
||||||
|
virtualisation.containers.containersConf.cniPlugins = mkIf cfg.defaultNetwork.dnsname.enable [ pkgs.dnsname-cni ];
|
||||||
|
virtualisation.podman.defaultNetwork.extraPlugins =
|
||||||
|
lib.optional cfg.defaultNetwork.dnsname.enable {
|
||||||
|
type = "dnsname";
|
||||||
|
domainName = "dns.podman";
|
||||||
|
capabilities.aliases = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -2,6 +2,7 @@
|
||||||
let
|
let
|
||||||
cfg = config.virtualisation.podman;
|
cfg = config.virtualisation.podman;
|
||||||
toml = pkgs.formats.toml { };
|
toml = pkgs.formats.toml { };
|
||||||
|
json = pkgs.formats.json { };
|
||||||
|
|
||||||
inherit (lib) mkOption types;
|
inherit (lib) mkOption types;
|
||||||
|
|
||||||
|
@ -22,9 +23,23 @@ let
|
||||||
done
|
done
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
net-conflist = pkgs.runCommand "87-podman-bridge.conflist" {
|
||||||
|
nativeBuildInputs = [ pkgs.jq ];
|
||||||
|
extraPlugins = builtins.toJSON cfg.defaultNetwork.extraPlugins;
|
||||||
|
jqScript = ''
|
||||||
|
. + { "plugins": (.plugins + $extraPlugins) }
|
||||||
|
'';
|
||||||
|
} ''
|
||||||
|
jq <${cfg.package}/etc/cni/net.d/87-podman-bridge.conflist \
|
||||||
|
--argjson extraPlugins "$extraPlugins" \
|
||||||
|
"$jqScript" \
|
||||||
|
>$out
|
||||||
|
'';
|
||||||
|
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
|
./podman-dnsname.nix
|
||||||
./podman-network-socket.nix
|
./podman-network-socket.nix
|
||||||
(lib.mkRenamedOptionModule [ "virtualisation" "podman" "libpod" ] [ "virtualisation" "containers" "containersConf" ])
|
(lib.mkRenamedOptionModule [ "virtualisation" "podman" "libpod" ] [ "virtualisation" "containers" "containersConf" ])
|
||||||
];
|
];
|
||||||
|
@ -99,6 +114,13 @@ in
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
defaultNetwork.extraPlugins = lib.mkOption {
|
||||||
|
type = types.listOf json.type;
|
||||||
|
default = [];
|
||||||
|
description = ''
|
||||||
|
Extra CNI plugin configurations to add to podman's default network.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -107,7 +129,7 @@ in
|
||||||
environment.systemPackages = [ cfg.package ]
|
environment.systemPackages = [ cfg.package ]
|
||||||
++ lib.optional cfg.dockerCompat dockerCompat;
|
++ lib.optional cfg.dockerCompat dockerCompat;
|
||||||
|
|
||||||
environment.etc."cni/net.d/87-podman-bridge.conflist".source = "${cfg.package}/etc/cni/net.d/87-podman-bridge.conflist";
|
environment.etc."cni/net.d/87-podman-bridge.conflist".source = net-conflist;
|
||||||
|
|
||||||
virtualisation.containers = {
|
virtualisation.containers = {
|
||||||
enable = true; # Enable common /etc/containers configuration
|
enable = true; # Enable common /etc/containers configuration
|
||||||
|
|
|
@ -147,6 +147,7 @@ in rec {
|
||||||
(onFullSupported "nixos.tests.sddm.default")
|
(onFullSupported "nixos.tests.sddm.default")
|
||||||
(onFullSupported "nixos.tests.shadow")
|
(onFullSupported "nixos.tests.shadow")
|
||||||
(onFullSupported "nixos.tests.simple")
|
(onFullSupported "nixos.tests.simple")
|
||||||
|
(onFullSupported "nixos.tests.sway")
|
||||||
(onFullSupported "nixos.tests.switchTest")
|
(onFullSupported "nixos.tests.switchTest")
|
||||||
(onFullSupported "nixos.tests.udisks2")
|
(onFullSupported "nixos.tests.udisks2")
|
||||||
(onFullSupported "nixos.tests.xfce")
|
(onFullSupported "nixos.tests.xfce")
|
||||||
|
|
|
@ -330,11 +330,13 @@ in
|
||||||
php80 = handleTest ./php { php = pkgs.php80; };
|
php80 = handleTest ./php { php = pkgs.php80; };
|
||||||
pinnwand = handleTest ./pinnwand.nix {};
|
pinnwand = handleTest ./pinnwand.nix {};
|
||||||
plasma5 = handleTest ./plasma5.nix {};
|
plasma5 = handleTest ./plasma5.nix {};
|
||||||
|
plausible = handleTest ./plausible.nix {};
|
||||||
pleroma = handleTestOn [ "x86_64-linux" "aarch64-linux" ] ./pleroma.nix {};
|
pleroma = handleTestOn [ "x86_64-linux" "aarch64-linux" ] ./pleroma.nix {};
|
||||||
plikd = handleTest ./plikd.nix {};
|
plikd = handleTest ./plikd.nix {};
|
||||||
plotinus = handleTest ./plotinus.nix {};
|
plotinus = handleTest ./plotinus.nix {};
|
||||||
podgrab = handleTest ./podgrab.nix {};
|
podgrab = handleTest ./podgrab.nix {};
|
||||||
podman = handleTestOn ["x86_64-linux"] ./podman.nix {};
|
podman = handleTestOn ["x86_64-linux"] ./podman.nix {};
|
||||||
|
podman-dnsname = handleTestOn ["x86_64-linux"] ./podman-dnsname.nix {};
|
||||||
podman-tls-ghostunnel = handleTestOn ["x86_64-linux"] ./podman-tls-ghostunnel.nix {};
|
podman-tls-ghostunnel = handleTestOn ["x86_64-linux"] ./podman-tls-ghostunnel.nix {};
|
||||||
pomerium = handleTestOn ["x86_64-linux"] ./pomerium.nix {};
|
pomerium = handleTestOn ["x86_64-linux"] ./pomerium.nix {};
|
||||||
postfix = handleTest ./postfix.nix {};
|
postfix = handleTest ./postfix.nix {};
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
f: {
|
f: {
|
||||||
system ? builtins.currentSystem,
|
system ? builtins.currentSystem,
|
||||||
pkgs ? import ../.. { inherit system; config = {}; },
|
pkgs ? import ../.. { inherit system; },
|
||||||
...
|
...
|
||||||
} @ args:
|
} @ args:
|
||||||
|
|
||||||
|
|
46
third_party/nixpkgs/nixos/tests/plausible.nix
vendored
Normal file
46
third_party/nixpkgs/nixos/tests/plausible.nix
vendored
Normal file
|
@ -0,0 +1,46 @@
|
||||||
|
import ./make-test-python.nix ({ pkgs, lib, ... }: {
|
||||||
|
name = "plausible";
|
||||||
|
meta = with lib.maintainers; {
|
||||||
|
maintainers = [ ma27 ];
|
||||||
|
};
|
||||||
|
|
||||||
|
machine = { pkgs, ... }: {
|
||||||
|
virtualisation.memorySize = 4096;
|
||||||
|
services.plausible = {
|
||||||
|
enable = true;
|
||||||
|
adminUser = {
|
||||||
|
email = "admin@example.org";
|
||||||
|
passwordFile = "${pkgs.writeText "pwd" "foobar"}";
|
||||||
|
activate = true;
|
||||||
|
};
|
||||||
|
server = {
|
||||||
|
baseUrl = "http://localhost:8000";
|
||||||
|
secretKeybaseFile = "${pkgs.writeText "dont-try-this-at-home" "nannannannannannannannannannannannannannannannannannannan_batman!"}";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
testScript = ''
|
||||||
|
start_all()
|
||||||
|
machine.wait_for_unit("plausible.service")
|
||||||
|
machine.wait_for_open_port(8000)
|
||||||
|
|
||||||
|
machine.succeed("curl -f localhost:8000 >&2")
|
||||||
|
|
||||||
|
csrf_token = machine.succeed(
|
||||||
|
"curl -c /tmp/cookies localhost:8000/login | grep '_csrf_token' | sed -E 's,.*value=\"(.*)\".*,\\1,g'"
|
||||||
|
)
|
||||||
|
|
||||||
|
machine.succeed(
|
||||||
|
f"curl -b /tmp/cookies -f -X POST localhost:8000/login -F email=admin@example.org -F password=foobar -F _csrf_token={csrf_token.strip()} -D headers"
|
||||||
|
)
|
||||||
|
|
||||||
|
# By ensuring that the user is redirected to the dashboard after login, we
|
||||||
|
# also make sure that the automatic verification of the module works.
|
||||||
|
machine.succeed(
|
||||||
|
"[[ $(grep 'location: ' headers | cut -d: -f2- | xargs echo) == /sites* ]]"
|
||||||
|
)
|
||||||
|
|
||||||
|
machine.shutdown()
|
||||||
|
'';
|
||||||
|
})
|
42
third_party/nixpkgs/nixos/tests/podman-dnsname.nix
vendored
Normal file
42
third_party/nixpkgs/nixos/tests/podman-dnsname.nix
vendored
Normal file
|
@ -0,0 +1,42 @@
|
||||||
|
import ./make-test-python.nix (
|
||||||
|
{ pkgs, lib, ... }:
|
||||||
|
let
|
||||||
|
inherit (pkgs) writeTextDir python3 curl;
|
||||||
|
webroot = writeTextDir "index.html" "<h1>Hi</h1>";
|
||||||
|
in
|
||||||
|
{
|
||||||
|
name = "podman-dnsname";
|
||||||
|
meta = {
|
||||||
|
maintainers = with lib.maintainers; [ roberth ] ++ lib.teams.podman.members;
|
||||||
|
};
|
||||||
|
|
||||||
|
nodes = {
|
||||||
|
podman = { pkgs, ... }: {
|
||||||
|
virtualisation.podman.enable = true;
|
||||||
|
virtualisation.podman.defaultNetwork.dnsname.enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
testScript = ''
|
||||||
|
podman.wait_for_unit("sockets.target")
|
||||||
|
|
||||||
|
with subtest("DNS works"): # also tests inter-container tcp routing
|
||||||
|
podman.succeed("tar cv --files-from /dev/null | podman import - scratchimg")
|
||||||
|
podman.succeed(
|
||||||
|
"podman run -d --name=webserver -v /nix/store:/nix/store -v /run/current-system/sw/bin:/bin -w ${webroot} scratchimg ${python3}/bin/python -m http.server 8000"
|
||||||
|
)
|
||||||
|
podman.succeed("podman ps | grep webserver")
|
||||||
|
podman.succeed("""
|
||||||
|
for i in `seq 0 120`; do
|
||||||
|
podman run --rm --name=client -v /nix/store:/nix/store -v /run/current-system/sw/bin:/bin scratchimg ${curl}/bin/curl http://webserver:8000 >/dev/console \
|
||||||
|
&& exit 0
|
||||||
|
sleep 0.5
|
||||||
|
done
|
||||||
|
exit 1
|
||||||
|
""")
|
||||||
|
podman.succeed("podman stop webserver")
|
||||||
|
podman.succeed("podman rm webserver")
|
||||||
|
|
||||||
|
'';
|
||||||
|
}
|
||||||
|
)
|
4
third_party/nixpkgs/nixos/tests/snapcast.nix
vendored
4
third_party/nixpkgs/nixos/tests/snapcast.nix
vendored
|
@ -72,10 +72,10 @@ in {
|
||||||
)
|
)
|
||||||
|
|
||||||
with subtest("test a connection"):
|
with subtest("test a connection"):
|
||||||
client.execute("systemd-run snapclient -h server -p ${toString port}")
|
client.execute("systemd-run --unit=snapcast-client snapclient -h server -p ${toString port}")
|
||||||
server.wait_until_succeeds(
|
server.wait_until_succeeds(
|
||||||
"journalctl -o cat -u snapserver.service | grep -q 'Hello from'"
|
"journalctl -o cat -u snapserver.service | grep -q 'Hello from'"
|
||||||
)
|
)
|
||||||
client.wait_until_succeeds("journalctl -o cat -u run-\* | grep -q ${toString bufferSize}")
|
client.wait_until_succeeds("journalctl -o cat -u snapcast-client | grep -q 'buffer: ${toString bufferSize}'")
|
||||||
'';
|
'';
|
||||||
})
|
})
|
||||||
|
|
|
@ -14,7 +14,7 @@ python3Packages.buildPythonApplication rec {
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = with pkgs; [
|
propagatedBuildInputs = with pkgs; [
|
||||||
python3Packages.numpy flac vorbis-tools ffmpeg_3 faad2 lame
|
python3Packages.numpy flac vorbis-tools ffmpeg faad2 lame
|
||||||
];
|
];
|
||||||
|
|
||||||
# There are no tests
|
# There are no tests
|
||||||
|
|
33
third_party/nixpkgs/pkgs/applications/audio/gnaural/default.nix
vendored
Normal file
33
third_party/nixpkgs/pkgs/applications/audio/gnaural/default.nix
vendored
Normal file
|
@ -0,0 +1,33 @@
|
||||||
|
{ lib, stdenv, fetchurl, pkg-config, libsndfile, portaudio, gtk2 }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
pname = "gnaural";
|
||||||
|
version = "20110606";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "mirror://sourceforge/${pname}/${pname}_${version}.tar.xz";
|
||||||
|
hash = "sha256-0a09DUMfHEIGYuIYSBGJalBiIHIgejr/KVDXCFgKBb8=";
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [ pkg-config ];
|
||||||
|
buildInputs = [ gtk2 libsndfile portaudio ];
|
||||||
|
|
||||||
|
postInstall = ''
|
||||||
|
mkdir -p $out/share/applications
|
||||||
|
substitute \
|
||||||
|
$out/share/gnome/apps/Multimedia/gnaural.desktop \
|
||||||
|
$out/share/applications/gnaural.desktop \
|
||||||
|
--replace \
|
||||||
|
"/usr/share/gnaural/pixmaps/gnaural-icon.png" \
|
||||||
|
"$out/share/gnaural/pixmaps/gnaural-icon.png" \
|
||||||
|
|
||||||
|
rm -rf $out/share/gnome
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Programmable auditory binaural-beat synthesizer";
|
||||||
|
homepage = "http://gnaural.sourceforge.net/";
|
||||||
|
maintainers = with maintainers; [ ehmry ];
|
||||||
|
license = with licenses; [ gpl2Only ];
|
||||||
|
};
|
||||||
|
}
|
|
@ -14,16 +14,16 @@ let
|
||||||
in
|
in
|
||||||
rustPlatform.buildRustPackage rec {
|
rustPlatform.buildRustPackage rec {
|
||||||
pname = "ncspot";
|
pname = "ncspot";
|
||||||
version = "0.7.2";
|
version = "0.7.3";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "hrkfdn";
|
owner = "hrkfdn";
|
||||||
repo = "ncspot";
|
repo = "ncspot";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "0ww7ipyvcdphbkzjpvdqs1s3bqk3rj3jdy1n3bnk76csw9vgn2zi";
|
sha256 = "0lfly3d8pag78pabmna4i6xjwzi65dx1mwfmsk7nx64brq3iypbq";
|
||||||
};
|
};
|
||||||
|
|
||||||
cargoSha256 = "1mrjp5p3iryxzgg6ca9zjwm8n6w0ljs108ll0wkwgfih6rip7ba4";
|
cargoSha256 = "0a6d41ll90fza6k3lixjqzwxim98q6zbkqa3zvxvs7q5ydzg8nsp";
|
||||||
|
|
||||||
cargoBuildFlags = [ "--no-default-features" "--features" "${lib.concatStringsSep "," features}" ];
|
cargoBuildFlags = [ "--no-default-features" "--features" "${lib.concatStringsSep "," features}" ];
|
||||||
|
|
||||||
|
|
|
@ -14,7 +14,7 @@ in
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "renoise";
|
pname = "renoise";
|
||||||
version = "3.3.1";
|
version = "3.3.2";
|
||||||
|
|
||||||
src =
|
src =
|
||||||
if stdenv.hostPlatform.system == "x86_64-linux" then
|
if stdenv.hostPlatform.system == "x86_64-linux" then
|
||||||
|
@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
|
||||||
"https://files.renoise.com/demo/Renoise_${urlVersion version}_Demo_Linux.tar.gz"
|
"https://files.renoise.com/demo/Renoise_${urlVersion version}_Demo_Linux.tar.gz"
|
||||||
"https://web.archive.org/web/https://files.renoise.com/demo/Renoise_${urlVersion version}_Demo_Linux.tar.gz"
|
"https://web.archive.org/web/https://files.renoise.com/demo/Renoise_${urlVersion version}_Demo_Linux.tar.gz"
|
||||||
];
|
];
|
||||||
sha256 = "05baicks5dx278z2dx6h5n2vabsn64niwqssgys36xy469l9m1h0";
|
sha256 = "0d9pnrvs93d4bwbfqxwyr3lg3k6gnzmp81m95gglzwdzczxkw38k";
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
releasePath
|
releasePath
|
||||||
|
|
|
@ -1,16 +1,21 @@
|
||||||
{ lib, stdenv, fetchFromGitHub
|
{ lib
|
||||||
|
, stdenv
|
||||||
|
, fetchFromGitHub
|
||||||
, autoreconfHook
|
, autoreconfHook
|
||||||
, alsaLib, python, SDL }:
|
, alsaLib
|
||||||
|
, python
|
||||||
|
, SDL
|
||||||
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "schismtracker";
|
pname = "schismtracker";
|
||||||
version = "20200412";
|
version = "20210525";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = pname;
|
owner = pname;
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "1n6cgjiw3vkv7a1h1nki5syyjxjb6icknr9s049w2jrag10bxssn";
|
sha256 = "06ybkbqry7f7lmzgwb9s7ipafshl5gdj98lcjsjkcbnywj8r9b3h";
|
||||||
};
|
};
|
||||||
|
|
||||||
configureFlags = [ "--enable-dependency-tracking" ]
|
configureFlags = [ "--enable-dependency-tracking" ]
|
||||||
|
@ -23,8 +28,8 @@ stdenv.mkDerivation rec {
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Music tracker application, free reimplementation of Impulse Tracker";
|
description = "Music tracker application, free reimplementation of Impulse Tracker";
|
||||||
homepage = "http://schismtracker.org/";
|
homepage = "http://schismtracker.org/";
|
||||||
license = licenses.gpl2;
|
license = licenses.gpl2Plus;
|
||||||
platforms = [ "x86_64-linux" "i686-linux" "x86_64-darwin" ];
|
platforms = platforms.unix;
|
||||||
maintainers = with maintainers; [ ftrvxmtrx ];
|
maintainers = with maintainers; [ ftrvxmtrx ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
{ stdenv, lib, fetchFromGitHub, cmake, pkg-config
|
{ stdenv, lib, fetchFromGitHub, cmake, pkg-config
|
||||||
, alsaLib, asio, avahi, boost170, flac, libogg, libvorbis, soxr
|
, alsaLib, asio, avahi, boost17x, flac, libogg, libvorbis, soxr
|
||||||
, nixosTests }:
|
, nixosTests }:
|
||||||
|
|
||||||
let
|
let
|
||||||
|
@ -34,19 +34,20 @@ in
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "snapcast";
|
pname = "snapcast";
|
||||||
version = "0.24.0";
|
version = "0.25.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "badaix";
|
owner = "badaix";
|
||||||
repo = "snapcast";
|
repo = "snapcast";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "13yz8alplnqwkcns3mcli01qbyy6l3h62xx0v71ygcrz371l4g9g";
|
sha256 = "064pcpr5dsv9hncqkrnxriva4xjv1vcxhvc69h1an8x8vn4dwgmf";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake pkg-config boost170.dev ];
|
nativeBuildInputs = [ cmake pkg-config ];
|
||||||
# snapcast also supports building against tremor but as we have libogg, that's
|
# snapcast also supports building against tremor but as we have libogg, that's
|
||||||
# not needed
|
# not needed
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
|
boost17x
|
||||||
alsaLib asio avahi flac libogg libvorbis
|
alsaLib asio avahi flac libogg libvorbis
|
||||||
aixlog popl soxr
|
aixlog popl soxr
|
||||||
];
|
];
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
{ lib, stdenv
|
{ lib
|
||||||
|
, stdenv
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
|
, fetchpatch
|
||||||
, nix-update-script
|
, nix-update-script
|
||||||
, cmake
|
, cmake
|
||||||
, ninja
|
, ninja
|
||||||
|
@ -61,13 +63,22 @@ stdenv.mkDerivation rec {
|
||||||
glib-networking
|
glib-networking
|
||||||
];
|
];
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
# granite 6.0.0 removed about dialogs
|
||||||
|
# see: https://github.com/needle-and-thread/vocal/issues/483
|
||||||
|
(fetchpatch {
|
||||||
|
name = "remove-about.patch";
|
||||||
|
url = "https://raw.githubusercontent.com/archlinux/svntogit-community/03543ffdb6cd52ce1a8293f3303225b3afac2431/trunk/remove-about.patch";
|
||||||
|
sha256 = "sha256-yGD7BYOTmqs4h+Odh/mB3fI1HM7GDO6F+QaHpRUD5p4=";
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
passthru = {
|
passthru = {
|
||||||
updateScript = nix-update-script {
|
updateScript = nix-update-script {
|
||||||
attrPath = pname;
|
attrPath = pname;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "The podcast client for the modern free desktop";
|
description = "The podcast client for the modern free desktop";
|
||||||
longDescription = ''
|
longDescription = ''
|
||||||
|
|
|
@ -23,7 +23,7 @@ in python3.pkgs.buildPythonApplication rec {
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = with python3.pkgs; [
|
nativeBuildInputs = with python3.pkgs; [
|
||||||
setuptools_scm
|
setuptools-scm
|
||||||
docutils
|
docutils
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
|
@ -20,7 +20,7 @@ python3Packages.buildPythonApplication rec {
|
||||||
python3Packages.setuptools-scm
|
python3Packages.setuptools-scm
|
||||||
];
|
];
|
||||||
|
|
||||||
# give a hint to setuptools_scm on package version
|
# give a hint to setuptools-scm on package version
|
||||||
SETUPTOOLS_SCM_PRETEND_VERSION = "v${version}";
|
SETUPTOOLS_SCM_PRETEND_VERSION = "v${version}";
|
||||||
|
|
||||||
propagatedBuildInputs = with python3Packages; [
|
propagatedBuildInputs = with python3Packages; [
|
||||||
|
|
|
@ -38,13 +38,13 @@ let
|
||||||
in
|
in
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "cudatext";
|
pname = "cudatext";
|
||||||
version = "1.131.0";
|
version = "1.133.5";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "Alexey-T";
|
owner = "Alexey-T";
|
||||||
repo = "CudaText";
|
repo = "CudaText";
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "1zq17yi5zn4hdgrrn3c3cdk6s38fv36r66dl0dqz2z8jjd6vy4p3";
|
sha256 = "sha256-0QWYitlOS3x7BQpFTYDAjIgkw83IkRFfA/slyEvQUnw=";
|
||||||
};
|
};
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
|
|
|
@ -11,33 +11,33 @@
|
||||||
},
|
},
|
||||||
"ATFlatControls": {
|
"ATFlatControls": {
|
||||||
"owner": "Alexey-T",
|
"owner": "Alexey-T",
|
||||||
"rev": "2021.04.01",
|
"rev": "2021.05.16",
|
||||||
"sha256": "12sncivsv6pvwflzzy12rpn1fjiq64n2n3bcj7630xxlrbygkhxb"
|
"sha256": "sha256-oQW0M8Sx1bC+keOWivXwlD5SDKJuO5Sk/3HiO9HvJtY="
|
||||||
},
|
},
|
||||||
"ATSynEdit": {
|
"ATSynEdit": {
|
||||||
"owner": "Alexey-T",
|
"owner": "Alexey-T",
|
||||||
"rev": "2021.04.09",
|
"rev": "2021.05.31",
|
||||||
"sha256": "1ldr2z88zywn0ccgs17vfhq55ibihjcmfjjxcqsjifrbm0y6wipp"
|
"sha256": "sha256-4B6/I0CH9gfslwUbCTTI4kycgTHUjLGtVrCctfO6gRo="
|
||||||
},
|
},
|
||||||
"ATSynEdit_Cmp": {
|
"ATSynEdit_Cmp": {
|
||||||
"owner": "Alexey-T",
|
"owner": "Alexey-T",
|
||||||
"rev": "2021.04.01",
|
"rev": "2021.05.03",
|
||||||
"sha256": "1g6zp9d7vwjisad3y1mfnk1jcbjqxp3yimm0sh1655al6qwn886m"
|
"sha256": "sha256-zns83XA2SslHRGqa3iro0phIBlz5/neJ34TTYAKhX5Q="
|
||||||
},
|
},
|
||||||
"EControl": {
|
"EControl": {
|
||||||
"owner": "Alexey-T",
|
"owner": "Alexey-T",
|
||||||
"rev": "2021.03.16",
|
"rev": "2021.05.27",
|
||||||
"sha256": "159s1rpl829bmaa4bllqhjm8z0vji1ncsd6hw2s8z8hz28n905k8"
|
"sha256": "sha256-D0UBK69V28Izs9FgevtvX6vyDU7KpfIGJqcqpWaxU9E="
|
||||||
},
|
},
|
||||||
"ATSynEdit_Ex": {
|
"ATSynEdit_Ex": {
|
||||||
"owner": "Alexey-T",
|
"owner": "Alexey-T",
|
||||||
"rev": "2021.04.01",
|
"rev": "2021.05.27",
|
||||||
"sha256": "1hq9hbv81mcymjcms97wcwcfqfpxis6h6v5m0syyih4r53khv0az"
|
"sha256": "sha256-1zhSB6bgeW5G6RAZvhznNTpRk0uEDZnLXsk+cgElKLw="
|
||||||
},
|
},
|
||||||
"Python-for-Lazarus": {
|
"Python-for-Lazarus": {
|
||||||
"owner": "Alexey-T",
|
"owner": "Alexey-T",
|
||||||
"rev": "2021.02.18",
|
"rev": "2021.04.16",
|
||||||
"sha256": "0fy6bmpdcl2aa8pb7zban6midkfwdj99x14hdghrv7cp8l4gcsg5"
|
"sha256": "sha256-HN3Lr3uDCyNk+8+J09ivyC0LZxQ6x6SaUH4swZJBFkM="
|
||||||
},
|
},
|
||||||
"Emmet-Pascal": {
|
"Emmet-Pascal": {
|
||||||
"owner": "Alexey-T",
|
"owner": "Alexey-T",
|
||||||
|
|
|
@ -242,12 +242,12 @@ in
|
||||||
|
|
||||||
clion = buildClion rec {
|
clion = buildClion rec {
|
||||||
name = "clion-${version}";
|
name = "clion-${version}";
|
||||||
version = "2021.1.1"; /* updated by script */
|
version = "2021.1.2"; /* updated by script */
|
||||||
description = "C/C++ IDE. New. Intelligent. Cross-platform";
|
description = "C/C++ IDE. New. Intelligent. Cross-platform";
|
||||||
license = lib.licenses.unfree;
|
license = lib.licenses.unfree;
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://download.jetbrains.com/cpp/CLion-${version}.tar.gz";
|
url = "https://download.jetbrains.com/cpp/CLion-${version}.tar.gz";
|
||||||
sha256 = "0xzlkf3gq6fcb0q9mcj8k39880l8h21pb1lz0xl2dqj8cfwpws9h"; /* updated by script */
|
sha256 = "1zx9qwjx7hwjq25y474yj7sxvp9bqnq9l53afs6d4h6131lhjkcz"; /* updated by script */
|
||||||
};
|
};
|
||||||
wmClass = "jetbrains-clion";
|
wmClass = "jetbrains-clion";
|
||||||
update-channel = "CLion RELEASE"; # channel's id as in http://www.jetbrains.com/updates/updates.xml
|
update-channel = "CLion RELEASE"; # channel's id as in http://www.jetbrains.com/updates/updates.xml
|
||||||
|
@ -255,12 +255,12 @@ in
|
||||||
|
|
||||||
datagrip = buildDataGrip rec {
|
datagrip = buildDataGrip rec {
|
||||||
name = "datagrip-${version}";
|
name = "datagrip-${version}";
|
||||||
version = "2021.1.1"; /* updated by script */
|
version = "2021.1.2"; /* updated by script */
|
||||||
description = "Your Swiss Army Knife for Databases and SQL";
|
description = "Your Swiss Army Knife for Databases and SQL";
|
||||||
license = lib.licenses.unfree;
|
license = lib.licenses.unfree;
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://download.jetbrains.com/datagrip/${name}.tar.gz";
|
url = "https://download.jetbrains.com/datagrip/${name}.tar.gz";
|
||||||
sha256 = "0smg0qbk3mnm2543w0nlvnyvbwmprf0p3z2spwrmcmfagv50crrx"; /* updated by script */
|
sha256 = "1znb4m7sv7xqi1mq3yw0m51m06wfwmhhxmvck0xkv8s0cfg18qim"; /* updated by script */
|
||||||
};
|
};
|
||||||
wmClass = "jetbrains-datagrip";
|
wmClass = "jetbrains-datagrip";
|
||||||
update-channel = "DataGrip RELEASE";
|
update-channel = "DataGrip RELEASE";
|
||||||
|
@ -268,12 +268,12 @@ in
|
||||||
|
|
||||||
goland = buildGoland rec {
|
goland = buildGoland rec {
|
||||||
name = "goland-${version}";
|
name = "goland-${version}";
|
||||||
version = "2021.1.1"; /* updated by script */
|
version = "2021.1.2"; /* updated by script */
|
||||||
description = "Up and Coming Go IDE";
|
description = "Up and Coming Go IDE";
|
||||||
license = lib.licenses.unfree;
|
license = lib.licenses.unfree;
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://download.jetbrains.com/go/${name}.tar.gz";
|
url = "https://download.jetbrains.com/go/${name}.tar.gz";
|
||||||
sha256 = "02fyrq4px9w34amincgjgm6maxpxn445j5h4nfbskx7z428ynx25"; /* updated by script */
|
sha256 = "0g20r7yn4r2h08wv3i8bnnma8x4jljixsbmfml8kixk0pzfhv4px"; /* updated by script */
|
||||||
};
|
};
|
||||||
wmClass = "jetbrains-goland";
|
wmClass = "jetbrains-goland";
|
||||||
update-channel = "GoLand RELEASE";
|
update-channel = "GoLand RELEASE";
|
||||||
|
@ -281,12 +281,12 @@ in
|
||||||
|
|
||||||
idea-community = buildIdea rec {
|
idea-community = buildIdea rec {
|
||||||
name = "idea-community-${version}";
|
name = "idea-community-${version}";
|
||||||
version = "2021.1.1"; /* updated by script */
|
version = "2021.1.2"; /* updated by script */
|
||||||
description = "Integrated Development Environment (IDE) by Jetbrains, community edition";
|
description = "Integrated Development Environment (IDE) by Jetbrains, community edition";
|
||||||
license = lib.licenses.asl20;
|
license = lib.licenses.asl20;
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://download.jetbrains.com/idea/ideaIC-${version}.tar.gz";
|
url = "https://download.jetbrains.com/idea/ideaIC-${version}.tar.gz";
|
||||||
sha256 = "1say19p7kgx4b2ccs9bv61phllzhl8gmrd1fp1a5cnagya7vl1c5"; /* updated by script */
|
sha256 = "03i5f6p0abr9yfs9fg90fg7hb1a7zar9q4d4iiag30cmndwpslg2"; /* updated by script */
|
||||||
};
|
};
|
||||||
wmClass = "jetbrains-idea-ce";
|
wmClass = "jetbrains-idea-ce";
|
||||||
update-channel = "IntelliJ IDEA RELEASE";
|
update-channel = "IntelliJ IDEA RELEASE";
|
||||||
|
@ -294,12 +294,12 @@ in
|
||||||
|
|
||||||
idea-ultimate = buildIdea rec {
|
idea-ultimate = buildIdea rec {
|
||||||
name = "idea-ultimate-${version}";
|
name = "idea-ultimate-${version}";
|
||||||
version = "2021.1.1"; /* updated by script */
|
version = "2021.1.2"; /* updated by script */
|
||||||
description = "Integrated Development Environment (IDE) by Jetbrains, requires paid license";
|
description = "Integrated Development Environment (IDE) by Jetbrains, requires paid license";
|
||||||
license = lib.licenses.unfree;
|
license = lib.licenses.unfree;
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://download.jetbrains.com/idea/ideaIU-${version}-no-jbr.tar.gz";
|
url = "https://download.jetbrains.com/idea/ideaIU-${version}-no-jbr.tar.gz";
|
||||||
sha256 = "19zi4njz79z8gi458kz1m0sia79y3rhbayix4rmh93mwfc0npkii"; /* updated by script */
|
sha256 = "0mw4acaik1bkr7gqbwgs3i8f8px8zw95hm1zxgd5gd5kh88n17x5"; /* updated by script */
|
||||||
};
|
};
|
||||||
wmClass = "jetbrains-idea";
|
wmClass = "jetbrains-idea";
|
||||||
update-channel = "IntelliJ IDEA RELEASE";
|
update-channel = "IntelliJ IDEA RELEASE";
|
||||||
|
@ -359,12 +359,12 @@ in
|
||||||
|
|
||||||
rider = buildRider rec {
|
rider = buildRider rec {
|
||||||
name = "rider-${version}";
|
name = "rider-${version}";
|
||||||
version = "2021.1.2"; /* updated by script */
|
version = "2021.1.3"; /* updated by script */
|
||||||
description = "A cross-platform .NET IDE based on the IntelliJ platform and ReSharper";
|
description = "A cross-platform .NET IDE based on the IntelliJ platform and ReSharper";
|
||||||
license = lib.licenses.unfree;
|
license = lib.licenses.unfree;
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://download.jetbrains.com/rider/JetBrains.Rider-${version}.tar.gz";
|
url = "https://download.jetbrains.com/rider/JetBrains.Rider-${version}.tar.gz";
|
||||||
sha256 = "1a28pi18j0cb2wxhw1vnfg9gqsgf2kyfg0hl4xgqp50gzv7i3aam"; /* updated by script */
|
sha256 = "0k2vpndpachq6g767v2dwfa3xc8mssv0i7wwpm05dgqirpn4n0dw"; /* updated by script */
|
||||||
};
|
};
|
||||||
wmClass = "jetbrains-rider";
|
wmClass = "jetbrains-rider";
|
||||||
update-channel = "Rider RELEASE";
|
update-channel = "Rider RELEASE";
|
||||||
|
@ -385,12 +385,12 @@ in
|
||||||
|
|
||||||
webstorm = buildWebStorm rec {
|
webstorm = buildWebStorm rec {
|
||||||
name = "webstorm-${version}";
|
name = "webstorm-${version}";
|
||||||
version = "2021.1.1"; /* updated by script */
|
version = "2021.1.2"; /* updated by script */
|
||||||
description = "Professional IDE for Web and JavaScript development";
|
description = "Professional IDE for Web and JavaScript development";
|
||||||
license = lib.licenses.unfree;
|
license = lib.licenses.unfree;
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://download.jetbrains.com/webstorm/WebStorm-${version}.tar.gz";
|
url = "https://download.jetbrains.com/webstorm/WebStorm-${version}.tar.gz";
|
||||||
sha256 = "1hici40qsxj2fw29g68i6hr1vhr0h7xrlhkialy74ah53wi7myz1"; /* updated by script */
|
sha256 = "0q4hn6npm0c30v23d30dnphd6wajif0im1b9vjwa121lqi997l34"; /* updated by script */
|
||||||
};
|
};
|
||||||
wmClass = "jetbrains-webstorm";
|
wmClass = "jetbrains-webstorm";
|
||||||
update-channel = "WebStorm RELEASE";
|
update-channel = "WebStorm RELEASE";
|
||||||
|
|
|
@ -2,20 +2,20 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "micro";
|
pname = "micro";
|
||||||
version = "2.0.8";
|
version = "2.0.9";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "zyedidia";
|
owner = "zyedidia";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "1b51fvc9hrjfl8acr3yybp66xfll7d43412qwi76wxwarn06gkci";
|
sha256 = "sha256-8QtucdamxVwHuuhQhVQuvTNbqY5p97LKSB23617p4ow=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ installShellFiles ];
|
nativeBuildInputs = [ installShellFiles ];
|
||||||
|
|
||||||
subPackages = [ "cmd/micro" ];
|
subPackages = [ "cmd/micro" ];
|
||||||
|
|
||||||
vendorSha256 = "19iqvl63g9y6gkzfmv87rrgj4c4y6ngh467ss94rzrhaybj2b2d8";
|
vendorSha256 = "sha256-bkD125ePdKcVgmNilOMZgUK6A8KWxaBOGKs8AvvIboI=";
|
||||||
|
|
||||||
buildFlagsArray = [ "-ldflags=-s -w -X github.com/zyedidia/micro/v2/internal/util.Version=${version} -X github.com/zyedidia/micro/v2/internal/util.CommitHash=${src.rev}" ];
|
buildFlagsArray = [ "-ldflags=-s -w -X github.com/zyedidia/micro/v2/internal/util.Version=${version} -X github.com/zyedidia/micro/v2/internal/util.CommitHash=${src.rev}" ];
|
||||||
|
|
||||||
|
|
|
@ -1,56 +1,39 @@
|
||||||
{ fetchurl, lib, stdenv, ncurses }:
|
{ lib, stdenv, fetchurl, fetchpatch, ncurses, db }:
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation rec {
|
||||||
name = "nvi-1.79";
|
pname = "nvi";
|
||||||
|
version = "1.81.6";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
urls =
|
url = "https://deb.debian.org/debian/pool/main/n/nvi/nvi_${version}.orig.tar.gz";
|
||||||
[ "ftp://ftp.eenet.ee/pub/cpan/src/misc/nvi-1.79.tar.gz"
|
sha256 = "13cp9iz017bk6ryi05jn7drbv7a5dyr201zqd3r4r8srj644ihwb";
|
||||||
"ftp://ftp.saintjoe.edu/pub/CPAN/src/misc/nvi-1.79.tar.gz"
|
|
||||||
"ftp://ftp.free.fr/.mirrors1/ftp.netbsd.org/packages/distfiles/nvi-1.79.tar.gz"
|
|
||||||
];
|
|
||||||
sha256 = "0cvf56rbylz7ksny6g2256sjg8yrsxrmbpk82r64rhi53sm8fnvm";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ ncurses ];
|
patches = [
|
||||||
|
# Fix runtime error with modern versions of db.
|
||||||
|
(fetchpatch {
|
||||||
|
url = "https://src.fedoraproject.org/rpms/nvi/raw/f33/f/nvi-03-db4.patch";
|
||||||
|
sha256 = "1vpnly3dcldwl8gwl0jrh5yh0vhgbdhsh6xn7lnwhrawlvk6d55y";
|
||||||
|
})
|
||||||
|
|
||||||
# nvi tries to write to a usual tmp directory (/var/tmp),
|
# Fix build with Glibc.
|
||||||
# so we will force it to use /tmp.
|
(fetchpatch {
|
||||||
patchPhase = ''
|
url = "https://src.fedoraproject.org/rpms/nvi/raw/f33/f/nvi-20-glibc_has_grantpt.patch";
|
||||||
sed -i build/configure \
|
sha256 = "1ypqj263wh53m5rgiag5c4gy1rksj2waginny1lcj34n72p2dsml";
|
||||||
-e s@vi_cv_path_preserve=no@vi_cv_path_preserve=/tmp/vi.recover@ \
|
})
|
||||||
-e s@/var/tmp@@ \
|
];
|
||||||
-e s@-lcurses@-lncurses@
|
|
||||||
|
buildInputs = [ ncurses db ];
|
||||||
|
|
||||||
|
preConfigure = ''
|
||||||
|
cd build.unix
|
||||||
'';
|
'';
|
||||||
|
configureScript = "../dist/configure";
|
||||||
|
configureFlags = [ "vi_cv_path_preserve=/tmp" ];
|
||||||
|
|
||||||
configurePhase = ''
|
meta = with lib; {
|
||||||
mkdir mybuild
|
|
||||||
cd mybuild
|
|
||||||
../build/configure --prefix=$out --disable-curses
|
|
||||||
'';
|
|
||||||
|
|
||||||
installPhase = ''
|
|
||||||
mkdir -p $out/bin $out/share/vi/catalog
|
|
||||||
for a in dutch english french german ru_SU.KOI8-R spanish swedish; do
|
|
||||||
cp ../catalog/$a $out/share/vi/catalog
|
|
||||||
done
|
|
||||||
cp nvi $out/bin/nvi
|
|
||||||
ln -s $out/bin/nvi $out/bin/vi
|
|
||||||
ln -s $out/bin/nvi $out/bin/ex
|
|
||||||
ln -s $out/bin/nvi $out/bin/view
|
|
||||||
|
|
||||||
mkdir -p $out/share/man/man1
|
|
||||||
cp ../docs/USD.doc/vi.man/vi.1 $out/share/man/man1/nvi.1
|
|
||||||
ln -s $out/share/man/man1/nvi.1 $out/share/man/man1/vi
|
|
||||||
ln -s $out/share/man/man1/nvi.1 $out/share/man/man1/ex
|
|
||||||
ln -s $out/share/man/man1/nvi.1 $out/share/man/man1/view
|
|
||||||
ln -s $out/bin/{,vi-}nvi # create a symlink so that all vi(m) users will find it
|
|
||||||
'';
|
|
||||||
|
|
||||||
meta = {
|
|
||||||
homepage = "http://www.bostic.com/vi/";
|
|
||||||
description = "The Berkeley Vi Editor";
|
description = "The Berkeley Vi Editor";
|
||||||
license = lib.licenses.free;
|
license = licenses.free;
|
||||||
broken = true; # since 2020-02-08
|
platforms = platforms.unix;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,13 +3,13 @@
|
||||||
|
|
||||||
mkDerivation rec {
|
mkDerivation rec {
|
||||||
pname = "texstudio";
|
pname = "texstudio";
|
||||||
version = "3.1.1";
|
version = "3.1.2";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "${pname}-org";
|
owner = "${pname}-org";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "sha256-MFCQwhdF+WCTqDt4q5qw431y/zqEy9vHudcUYb4BYNQ=";
|
sha256 = "0h5g1sirsy1f2xlq85c1ik1s52gycfipy9yx0flgaw8m4wmhz26v";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ qmake wrapQtAppsHook pkg-config ];
|
nativeBuildInputs = [ qmake wrapQtAppsHook pkg-config ];
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
{ lib, stdenv, fetchFromGitHub, libpng, python3
|
{ lib, stdenv, fetchFromGitHub, libpng, python3
|
||||||
, libGLU, libGL, qtbase, wrapQtAppsHook, ncurses
|
, libGLU, libGL, qtbase, wrapQtAppsHook, ncurses
|
||||||
, cmake, flex, lemon
|
, cmake, flex, lemon
|
||||||
|
, makeDesktopItem, copyDesktopItems
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
|
@ -27,12 +28,35 @@ in
|
||||||
sed -i "s,python3,${python3.executable}," CMakeLists.txt
|
sed -i "s,python3,${python3.executable}," CMakeLists.txt
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
postInstall = lib.optionalString stdenv.isLinux ''
|
||||||
|
install -Dm644 $src/deploy/icon.svg $out/share/icons/hicolor/scalable/apps/antimony.svg
|
||||||
|
install -Dm644 ${./mimetype.xml} $out/share/mime/packages/antimony.xml
|
||||||
|
'';
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
libpng python3 python3.pkgs.boost
|
libpng python3 python3.pkgs.boost
|
||||||
libGLU libGL qtbase ncurses
|
libGLU libGL qtbase ncurses
|
||||||
];
|
];
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake flex lemon wrapQtAppsHook ];
|
nativeBuildInputs = [ cmake flex lemon wrapQtAppsHook copyDesktopItems ];
|
||||||
|
|
||||||
|
desktopItems = [
|
||||||
|
(makeDesktopItem {
|
||||||
|
name = "antimony";
|
||||||
|
desktopName = "Antimony";
|
||||||
|
comment="Tree-based Modeler";
|
||||||
|
genericName = "CAD Application";
|
||||||
|
exec = "antimony %f";
|
||||||
|
icon = "antimony";
|
||||||
|
terminal = "false";
|
||||||
|
categories = "Graphics;Science;Engineering";
|
||||||
|
mimeType = "application/x-extension-sb;application/x-antimony;";
|
||||||
|
extraEntries = ''
|
||||||
|
StartupWMClass=antimony
|
||||||
|
Version=1.0
|
||||||
|
'';
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
cmakeFlags= [
|
cmakeFlags= [
|
||||||
"-DGITREV=${gitRev}"
|
"-DGITREV=${gitRev}"
|
||||||
|
|
7
third_party/nixpkgs/pkgs/applications/graphics/antimony/mimetype.xml
vendored
Normal file
7
third_party/nixpkgs/pkgs/applications/graphics/antimony/mimetype.xml
vendored
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
|
||||||
|
<mime-type type="application/x-antimony">
|
||||||
|
<comment xml:lang="en">Antimony model</comment>
|
||||||
|
<glob pattern="*.sb"/>
|
||||||
|
</mime-type>
|
||||||
|
</mime-info>
|
|
@ -3,20 +3,21 @@
|
||||||
, xz
|
, xz
|
||||||
, wrapQtAppsHook
|
, wrapQtAppsHook
|
||||||
, miniupnpc_2
|
, miniupnpc_2
|
||||||
|
, enableSwftools ? false
|
||||||
, swftools
|
, swftools
|
||||||
, pythonPackages
|
, pythonPackages
|
||||||
}:
|
}:
|
||||||
|
|
||||||
pythonPackages.buildPythonPackage rec {
|
pythonPackages.buildPythonPackage rec {
|
||||||
pname = "hydrus";
|
pname = "hydrus";
|
||||||
version = "438";
|
version = "441";
|
||||||
format = "other";
|
format = "other";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "hydrusnetwork";
|
owner = "hydrusnetwork";
|
||||||
repo = "hydrus";
|
repo = "hydrus";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-iBJkbVUlsjt26SbDe92eIrWKQwWBhkjjeLM14Pm/obc=";
|
sha256 = "13h4qcz0iqba4mwyvgmdqh99jy22x7kw20f3g43b5aq3qyk9ca2h";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
@ -79,7 +80,7 @@ pythonPackages.buildPythonPackage rec {
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
sed 's;os\.path\.join(\sHC\.BIN_DIR,.*;"${miniupnpc_2}/bin/upnpc";' \
|
sed 's;os\.path\.join(\sHC\.BIN_DIR,.*;"${miniupnpc_2}/bin/upnpc";' \
|
||||||
-i ./hydrus/core/networking/HydrusNATPunch.py
|
-i ./hydrus/core/networking/HydrusNATPunch.py
|
||||||
|
'' + lib.optionalString enableSwftools ''
|
||||||
sed 's;os\.path\.join(\sHC\.BIN_DIR,.*;"${swftools}/bin/swfrender";' \
|
sed 's;os\.path\.join(\sHC\.BIN_DIR,.*;"${swftools}/bin/swfrender";' \
|
||||||
-i ./hydrus/core/HydrusFlashHandling.py
|
-i ./hydrus/core/HydrusFlashHandling.py
|
||||||
'';
|
'';
|
||||||
|
|
|
@ -54,6 +54,10 @@ stdenv.mkDerivation rec {
|
||||||
substituteAll ${./nufraw.thumbnailer} $out/share/thumbnailers/${pname}.thumbnailer
|
substituteAll ${./nufraw.thumbnailer} $out/share/thumbnailers/${pname}.thumbnailer
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
# Fixes an upstream issue where headers with templates were included in an extern-C scope
|
||||||
|
# which caused the build to fail
|
||||||
|
patches = [ ./move-extern-c.patch ];
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
homepage = "https://nufraw.sourceforge.io/";
|
homepage = "https://nufraw.sourceforge.io/";
|
||||||
description = "Utility to read and manipulate raw images from digital cameras";
|
description = "Utility to read and manipulate raw images from digital cameras";
|
||||||
|
|
21
third_party/nixpkgs/pkgs/applications/graphics/nufraw/move-extern-c.patch
vendored
Normal file
21
third_party/nixpkgs/pkgs/applications/graphics/nufraw/move-extern-c.patch
vendored
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
diff --git a/uf_glib.h b/uf_glib.h
|
||||||
|
index c1a17bd..8a10800 100644
|
||||||
|
--- a/uf_glib.h
|
||||||
|
+++ b/uf_glib.h
|
||||||
|
@@ -13,13 +13,13 @@
|
||||||
|
#ifndef _UF_GLIB_H
|
||||||
|
#define _UF_GLIB_H
|
||||||
|
|
||||||
|
+#include <glib.h>
|
||||||
|
+#include <glib/gstdio.h>
|
||||||
|
+
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
-#include <glib.h>
|
||||||
|
-#include <glib/gstdio.h>
|
||||||
|
-
|
||||||
|
// g_win32_locale_filename_from_utf8 is needed only on win32
|
||||||
|
#ifdef _WIN32
|
||||||
|
#define uf_win32_locale_filename_from_utf8(__some_string__) \
|
|
@ -2,6 +2,7 @@
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
, boost
|
, boost
|
||||||
, cmake
|
, cmake
|
||||||
|
, giflib
|
||||||
, ilmbase
|
, ilmbase
|
||||||
, libjpeg
|
, libjpeg
|
||||||
, libpng
|
, libpng
|
||||||
|
@ -33,6 +34,7 @@ stdenv.mkDerivation rec {
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
boost
|
boost
|
||||||
|
giflib
|
||||||
ilmbase
|
ilmbase
|
||||||
libjpeg
|
libjpeg
|
||||||
libpng
|
libpng
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
, libxml2, gnutls, sane-backends }:
|
, libxml2, gnutls, sane-backends }:
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "sane-airscan";
|
pname = "sane-airscan";
|
||||||
version = "0.99.24";
|
version = "0.99.26";
|
||||||
|
|
||||||
nativeBuildInputs = [ meson ninja pkg-config ];
|
nativeBuildInputs = [ meson ninja pkg-config ];
|
||||||
buildInputs = [ avahi gnutls libjpeg libpng libxml2 sane-backends ];
|
buildInputs = [ avahi gnutls libjpeg libpng libxml2 sane-backends ];
|
||||||
|
@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
|
||||||
owner = "alexpevzner";
|
owner = "alexpevzner";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "sha256-2zSLC9P7Q/GMefHvmrUz6nV2hgScb4BhPAkahNBouqk=";
|
sha256 = "08snfg5zx9924ryww0kxf1kgl085yw7fg6l4f1kzlhcmqf1958w5";
|
||||||
};
|
};
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
|
|
|
@ -1,22 +1,28 @@
|
||||||
{ lib, mkDerivation, fetchurl, cmake, pkg-config, sword, boost, clucene_core
|
{ lib, mkDerivation, fetchurl, cmake, pkg-config, sword, boost, clucene_core
|
||||||
, qtbase, qttools, qtsvg, qtwebkit
|
, qtbase, qttools, qtsvg, perlPackages, docbook_xml_dtd_45
|
||||||
}:
|
, docbook_xsl_ns }:
|
||||||
|
|
||||||
mkDerivation rec {
|
mkDerivation rec {
|
||||||
|
|
||||||
version = "2.11.2";
|
version = "3.0";
|
||||||
|
|
||||||
pname = "bibletime";
|
pname = "bibletime";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://sourceforge/bibletime/${pname}-${version}.tar.xz";
|
url =
|
||||||
sha256 = "1s5bvmwbz1gyp3ml8sghpc00h8nhdvx2iyq96iri30kwx1y1jy6i";
|
"https://github.com/bibletime/bibletime/releases/download/v${version}/${pname}-${version}.tar.xz";
|
||||||
|
sha256 = "08i6nb9a7z0jpsq76q0kr62hw6ph9chqjpjcvkimbcj4mmifzgnn";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake pkg-config ];
|
nativeBuildInputs = [ cmake pkg-config docbook_xml_dtd_45 ];
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
sword boost clucene_core
|
sword
|
||||||
qtbase qttools qtsvg qtwebkit
|
boost
|
||||||
|
clucene_core
|
||||||
|
qtbase
|
||||||
|
qttools
|
||||||
|
qtsvg
|
||||||
|
perlPackages.Po4a
|
||||||
];
|
];
|
||||||
|
|
||||||
preConfigure = ''
|
preConfigure = ''
|
||||||
|
@ -24,13 +30,18 @@ mkDerivation rec {
|
||||||
export SWORD_HOME=${sword};
|
export SWORD_HOME=${sword};
|
||||||
'';
|
'';
|
||||||
|
|
||||||
cmakeFlags = [ "-DUSE_QT_WEBKIT=ON" "-DCMAKE_BUILD_TYPE=Debug" ];
|
cmakeFlags = [
|
||||||
|
"-DBUILD_HOWTO_PDF=OFF"
|
||||||
|
"-DBUILD_HANDBOOK_PDF=OFF"
|
||||||
|
"-DBT_DOCBOOK_XSL_HTML_CHUNK_XSL=${docbook_xsl_ns}/share/xml/docbook-xsl-ns/html/chunk.xsl"
|
||||||
|
"-DBT_DOCBOOK_XSL_PDF_DOCBOOK_XSL=${docbook_xsl_ns}/share/xml/docbook-xsl-ns/html/chunk.xsl"
|
||||||
|
];
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
description = "A Qt4 Bible study tool";
|
description = "A Qt4 Bible study tool";
|
||||||
homepage = "http://www.bibletime.info/";
|
homepage = "http://www.bibletime.info/";
|
||||||
platforms = lib.platforms.linux;
|
platforms = lib.platforms.linux;
|
||||||
license = lib.licenses.gpl2;
|
license = lib.licenses.gpl2Plus;
|
||||||
maintainers = [ lib.maintainers.piotr ];
|
maintainers = [ lib.maintainers.piotr ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
diff --git a/build_files/cmake/platform/platform_apple.cmake b/build_files/cmake/platform/platform_apple.cmake
|
diff --git a/build_files/cmake/platform/platform_apple.cmake b/build_files/cmake/platform/platform_apple.cmake
|
||||||
index 31da529..90308aa 100644
|
|
||||||
--- a/build_files/cmake/platform/platform_apple.cmake
|
--- a/build_files/cmake/platform/platform_apple.cmake
|
||||||
+++ b/build_files/cmake/platform/platform_apple.cmake
|
+++ b/build_files/cmake/platform/platform_apple.cmake
|
||||||
@@ -77,7 +77,6 @@ else()
|
@@ -77,7 +77,6 @@ else()
|
||||||
|
@ -10,7 +9,7 @@ index 31da529..90308aa 100644
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Prefer lib directory paths
|
# Prefer lib directory paths
|
||||||
@@ -113,10 +112,6 @@ if(WITH_CODEC_SNDFILE)
|
@@ -114,10 +113,6 @@ if(WITH_CODEC_SNDFILE)
|
||||||
find_library(_sndfile_VORBIS_LIBRARY NAMES vorbis HINTS ${LIBDIR}/ffmpeg/lib)
|
find_library(_sndfile_VORBIS_LIBRARY NAMES vorbis HINTS ${LIBDIR}/ffmpeg/lib)
|
||||||
find_library(_sndfile_VORBISENC_LIBRARY NAMES vorbisenc HINTS ${LIBDIR}/ffmpeg/lib)
|
find_library(_sndfile_VORBISENC_LIBRARY NAMES vorbisenc HINTS ${LIBDIR}/ffmpeg/lib)
|
||||||
list(APPEND LIBSNDFILE_LIBRARIES
|
list(APPEND LIBSNDFILE_LIBRARIES
|
||||||
|
@ -21,16 +20,16 @@ index 31da529..90308aa 100644
|
||||||
)
|
)
|
||||||
|
|
||||||
print_found_status("SndFile libraries" "${LIBSNDFILE_LIBRARIES}")
|
print_found_status("SndFile libraries" "${LIBSNDFILE_LIBRARIES}")
|
||||||
@@ -133,7 +128,7 @@ if(WITH_PYTHON)
|
@@ -134,7 +129,7 @@ if(WITH_PYTHON)
|
||||||
# normally cached but not since we include them with blender
|
# normally cached but not since we include them with blender
|
||||||
set(PYTHON_INCLUDE_DIR "${LIBDIR}/python/include/python${PYTHON_VERSION}m")
|
set(PYTHON_INCLUDE_DIR "${LIBDIR}/python/include/python${PYTHON_VERSION}")
|
||||||
set(PYTHON_EXECUTABLE "${LIBDIR}/python/bin/python${PYTHON_VERSION}m")
|
set(PYTHON_EXECUTABLE "${LIBDIR}/python/bin/python${PYTHON_VERSION}")
|
||||||
- set(PYTHON_LIBRARY ${LIBDIR}/python/lib/libpython${PYTHON_VERSION}m.a)
|
- set(PYTHON_LIBRARY ${LIBDIR}/python/lib/libpython${PYTHON_VERSION}.a)
|
||||||
+ set(PYTHON_LIBRARY "${LIBDIR}/python/lib/libpython${PYTHON_VERSION}m.dylib")
|
+ set(PYTHON_LIBRARY ${LIBDIR}/python/lib/libpython${PYTHON_VERSION}.dylib)
|
||||||
set(PYTHON_LIBPATH "${LIBDIR}/python/lib/python${PYTHON_VERSION}")
|
set(PYTHON_LIBPATH "${LIBDIR}/python/lib/python${PYTHON_VERSION}")
|
||||||
# set(PYTHON_LINKFLAGS "-u _PyMac_Error") # won't build with this enabled
|
# set(PYTHON_LINKFLAGS "-u _PyMac_Error") # won't build with this enabled
|
||||||
else()
|
else()
|
||||||
@@ -174,9 +169,7 @@ endif()
|
@@ -175,9 +170,7 @@ endif()
|
||||||
if(WITH_CODEC_FFMPEG)
|
if(WITH_CODEC_FFMPEG)
|
||||||
set(FFMPEG_FIND_COMPONENTS
|
set(FFMPEG_FIND_COMPONENTS
|
||||||
avcodec avdevice avformat avutil
|
avcodec avdevice avformat avutil
|
||||||
|
@ -41,7 +40,7 @@ index 31da529..90308aa 100644
|
||||||
find_package(FFmpeg)
|
find_package(FFmpeg)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
@@ -267,7 +260,6 @@ if(WITH_BOOST)
|
@@ -275,7 +268,6 @@ if(WITH_BOOST)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(WITH_INTERNATIONAL OR WITH_CODEC_FFMPEG)
|
if(WITH_INTERNATIONAL OR WITH_CODEC_FFMPEG)
|
||||||
|
@ -49,7 +48,7 @@ index 31da529..90308aa 100644
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(WITH_PUGIXML)
|
if(WITH_PUGIXML)
|
||||||
@@ -451,7 +443,7 @@ else()
|
@@ -476,7 +468,7 @@ else()
|
||||||
set(CMAKE_CXX_FLAGS_RELEASE "-O2 -mdynamic-no-pic")
|
set(CMAKE_CXX_FLAGS_RELEASE "-O2 -mdynamic-no-pic")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{ config, stdenv, lib, fetchurl, fetchzip, boost, cmake, ffmpeg, gettext, glew
|
{ config, stdenv, lib, fetchurl, fetchzip, boost, cmake, ffmpeg, gettext, glew
|
||||||
, ilmbase, libXi, libX11, libXext, libXrender
|
, ilmbase, libXi, libX11, libXext, libXrender
|
||||||
, libjpeg, libpng, libsamplerate, libsndfile
|
, libjpeg, libpng, libsamplerate, libsndfile
|
||||||
, libtiff, libGLU, libGL, openal, opencolorio, openexr, openimagedenoise, openimageio2, openjpeg, python3Packages
|
, libtiff, libGLU, libGL, openal, opencolorio, openexr, openimagedenoise, openimageio2, openjpeg, python39Packages
|
||||||
, openvdb, libXxf86vm, tbb, alembic
|
, openvdb, libXxf86vm, tbb, alembic
|
||||||
, zlib, fftw, opensubdiv, freetype, jemalloc, ocl-icd, addOpenGLRunpath
|
, zlib, fftw, opensubdiv, freetype, jemalloc, ocl-icd, addOpenGLRunpath
|
||||||
, jackaudioSupport ? false, libjack2
|
, jackaudioSupport ? false, libjack2
|
||||||
|
@ -17,7 +17,7 @@
|
||||||
|
|
||||||
with lib;
|
with lib;
|
||||||
let
|
let
|
||||||
python = python3Packages.python;
|
python = python39Packages.python;
|
||||||
optix = fetchzip {
|
optix = fetchzip {
|
||||||
url = "https://developer.download.nvidia.com/redist/optix/v7.0/OptiX-7.0.0-include.zip";
|
url = "https://developer.download.nvidia.com/redist/optix/v7.0/OptiX-7.0.0-include.zip";
|
||||||
sha256 = "1b3ccd3197anya2bj3psxdrvrpfgiwva5zfv2xmyrl73nb2dvfr7";
|
sha256 = "1b3ccd3197anya2bj3psxdrvrpfgiwva5zfv2xmyrl73nb2dvfr7";
|
||||||
|
@ -26,16 +26,16 @@ let
|
||||||
in
|
in
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "blender";
|
pname = "blender";
|
||||||
version = "2.92.0";
|
version = "2.93.0";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://download.blender.org/source/${pname}-${version}.tar.xz";
|
url = "https://download.blender.org/source/${pname}-${version}.tar.xz";
|
||||||
sha256 = "15a5vffn18a920286x0avbc2rap56k6y531wgibq68r90g2cz4g7";
|
sha256 = "0f2rpqa39sir6g90khd2d2fs4kss0zhk7vya1nscf5yp8r566fxs";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = lib.optional stdenv.isDarwin ./darwin.patch;
|
patches = lib.optional stdenv.isDarwin ./darwin.patch;
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake makeWrapper python3Packages.wrapPython llvmPackages.llvm.dev ]
|
nativeBuildInputs = [ cmake makeWrapper python39Packages.wrapPython llvmPackages.llvm.dev ]
|
||||||
++ optionals cudaSupport [ addOpenGLRunpath ];
|
++ optionals cudaSupport [ addOpenGLRunpath ];
|
||||||
buildInputs =
|
buildInputs =
|
||||||
[ boost ffmpeg gettext glew ilmbase
|
[ boost ffmpeg gettext glew ilmbase
|
||||||
|
@ -64,7 +64,7 @@ stdenv.mkDerivation rec {
|
||||||
++ optional cudaSupport cudatoolkit
|
++ optional cudaSupport cudatoolkit
|
||||||
++ optional colladaSupport opencollada
|
++ optional colladaSupport opencollada
|
||||||
++ optional spaceNavSupport libspnav;
|
++ optional spaceNavSupport libspnav;
|
||||||
pythonPath = with python3Packages; [ numpy requests ];
|
pythonPath = with python39Packages; [ numpy requests ];
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
# allow usage of dynamically linked embree
|
# allow usage of dynamically linked embree
|
||||||
|
@ -78,16 +78,12 @@ stdenv.mkDerivation rec {
|
||||||
--replace '${"$"}{LIBDIR}/openmp' \
|
--replace '${"$"}{LIBDIR}/openmp' \
|
||||||
'${llvmPackages.openmp}'
|
'${llvmPackages.openmp}'
|
||||||
substituteInPlace build_files/cmake/platform/platform_apple.cmake \
|
substituteInPlace build_files/cmake/platform/platform_apple.cmake \
|
||||||
--replace 'set(PYTHON_VERSION 3.7)' \
|
|
||||||
'set(PYTHON_VERSION ${python.pythonVersion})' \
|
|
||||||
--replace '${"$"}{PYTHON_VERSION}m' \
|
|
||||||
'${"$"}{PYTHON_VERSION}' \
|
|
||||||
--replace '${"$"}{LIBDIR}/python' \
|
--replace '${"$"}{LIBDIR}/python' \
|
||||||
'${python}' \
|
'${python}' \
|
||||||
--replace '${"$"}{LIBDIR}/opencollada' \
|
--replace '${"$"}{LIBDIR}/opencollada' \
|
||||||
'${opencollada}' \
|
'${opencollada}' \
|
||||||
--replace '${"$"}{PYTHON_LIBPATH}/site-packages/numpy' \
|
--replace '${"$"}{PYTHON_LIBPATH}/site-packages/numpy' \
|
||||||
'${python3Packages.numpy}/${python.sitePackages}/numpy'
|
'${python39Packages.numpy}/${python.sitePackages}/numpy'
|
||||||
'' else ''
|
'' else ''
|
||||||
substituteInPlace extern/clew/src/clew.c --replace '"libOpenCL.so"' '"${ocl-icd}/lib/libOpenCL.so"'
|
substituteInPlace extern/clew/src/clew.c --replace '"libOpenCL.so"' '"${ocl-icd}/lib/libOpenCL.so"'
|
||||||
'');
|
'');
|
||||||
|
@ -109,8 +105,8 @@ stdenv.mkDerivation rec {
|
||||||
"-DPYTHON_VERSION=${python.pythonVersion}"
|
"-DPYTHON_VERSION=${python.pythonVersion}"
|
||||||
"-DWITH_PYTHON_INSTALL=OFF"
|
"-DWITH_PYTHON_INSTALL=OFF"
|
||||||
"-DWITH_PYTHON_INSTALL_NUMPY=OFF"
|
"-DWITH_PYTHON_INSTALL_NUMPY=OFF"
|
||||||
"-DPYTHON_NUMPY_PATH=${python3Packages.numpy}/${python.sitePackages}"
|
"-DPYTHON_NUMPY_PATH=${python39Packages.numpy}/${python.sitePackages}"
|
||||||
"-DPYTHON_NUMPY_INCLUDE_DIRS=${python3Packages.numpy}/${python.sitePackages}/numpy/core/include"
|
"-DPYTHON_NUMPY_INCLUDE_DIRS=${python39Packages.numpy}/${python.sitePackages}/numpy/core/include"
|
||||||
"-DWITH_PYTHON_INSTALL_REQUESTS=OFF"
|
"-DWITH_PYTHON_INSTALL_REQUESTS=OFF"
|
||||||
"-DWITH_OPENVDB=ON"
|
"-DWITH_OPENVDB=ON"
|
||||||
"-DWITH_TBB=ON"
|
"-DWITH_TBB=ON"
|
||||||
|
|
|
@ -1,4 +1,6 @@
|
||||||
{ stdenv, mkDerivation, lib, fetchFromGitHub, qmake, qttools, qttranslations }:
|
{ stdenv, mkDerivation, lib, fetchFromGitHub, substituteAll
|
||||||
|
, qmake, qttools, qttranslations
|
||||||
|
}:
|
||||||
|
|
||||||
mkDerivation rec {
|
mkDerivation rec {
|
||||||
pname = "gpxlab";
|
pname = "gpxlab";
|
||||||
|
@ -11,8 +13,13 @@ mkDerivation rec {
|
||||||
sha256 = "080vnwcciqblfrbfyz9gjhl2lqw1hkdpbgr5qfrlyglkd4ynjd84";
|
sha256 = "080vnwcciqblfrbfyz9gjhl2lqw1hkdpbgr5qfrlyglkd4ynjd84";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ qmake ];
|
patches = (substituteAll {
|
||||||
buildInputs = [ qttools qttranslations ];
|
# See https://github.com/NixOS/nixpkgs/issues/86054
|
||||||
|
src = ./fix-qttranslations-path.patch;
|
||||||
|
inherit qttranslations;
|
||||||
|
});
|
||||||
|
|
||||||
|
nativeBuildInputs = [ qmake qttools ];
|
||||||
|
|
||||||
preConfigure = ''
|
preConfigure = ''
|
||||||
lrelease GPXLab/locale/*.ts
|
lrelease GPXLab/locale/*.ts
|
||||||
|
@ -24,8 +31,6 @@ mkDerivation rec {
|
||||||
wrapQtApp $out/Applications/GPXLab.app/Contents/MacOS/GPXLab
|
wrapQtApp $out/Applications/GPXLab.app/Contents/MacOS/GPXLab
|
||||||
'';
|
'';
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
homepage = "https://github.com/BourgeoisLab/GPXLab";
|
homepage = "https://github.com/BourgeoisLab/GPXLab";
|
||||||
description = "Program to show and manipulate GPS tracks";
|
description = "Program to show and manipulate GPS tracks";
|
||||||
|
@ -33,8 +38,8 @@ mkDerivation rec {
|
||||||
GPXLab is an application to display and manage GPS tracks
|
GPXLab is an application to display and manage GPS tracks
|
||||||
previously recorded with a GPS tracker.
|
previously recorded with a GPS tracker.
|
||||||
'';
|
'';
|
||||||
license = licenses.gpl3;
|
license = licenses.gpl3Only;
|
||||||
maintainers = with maintainers; [ sikmir ];
|
maintainers = with maintainers; [ sikmir ];
|
||||||
platforms = with platforms; linux ++ darwin;
|
platforms = platforms.unix;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
17
third_party/nixpkgs/pkgs/applications/misc/gpxlab/fix-qttranslations-path.patch
vendored
Normal file
17
third_party/nixpkgs/pkgs/applications/misc/gpxlab/fix-qttranslations-path.patch
vendored
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
diff --git i/GPXLab/main.cpp w/GPXLab/main.cpp
|
||||||
|
index b12d2dd..58d37c5 100644
|
||||||
|
--- i/GPXLab/main.cpp
|
||||||
|
+++ w/GPXLab/main.cpp
|
||||||
|
@@ -19,10 +19,10 @@ int main(int argc, char *argv[])
|
||||||
|
app.installTranslator(&gpxlab);
|
||||||
|
|
||||||
|
QTranslator qt;
|
||||||
|
-#if defined(Q_OS_WIN32) || defined(Q_OS_MAC)
|
||||||
|
+#if defined(Q_OS_WIN32)
|
||||||
|
qt.load(QLocale::system(), "qt", "_", TRANSLATIONS_DIR);
|
||||||
|
#else
|
||||||
|
- qt.load(QLocale::system(), "qt", "_", QLibraryInfo::location(QLibraryInfo::TranslationsPath));
|
||||||
|
+ qt.load(QLocale::system(), "qt", "_", QLatin1String("@qttranslations@/translations"));
|
||||||
|
#endif
|
||||||
|
app.installTranslator(&qt);
|
||||||
|
|
37
third_party/nixpkgs/pkgs/applications/misc/iptsd/default.nix
vendored
Normal file
37
third_party/nixpkgs/pkgs/applications/misc/iptsd/default.nix
vendored
Normal file
|
@ -0,0 +1,37 @@
|
||||||
|
{ lib, stdenv, fetchFromGitHub, meson, ninja, pkg-config, systemd, inih }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
pname = "iptsd";
|
||||||
|
version = "0.4";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "linux-surface";
|
||||||
|
repo = pname;
|
||||||
|
rev = "v${version}";
|
||||||
|
sha256 = "sha256-CoPgkt7n2kk7WlQHe0RjNlxfp2Nd8BbIE2gyf0bOBy4=";
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [ meson ninja pkg-config ];
|
||||||
|
|
||||||
|
buildInputs = [ systemd inih ];
|
||||||
|
|
||||||
|
# Original installs udev rules and service config into global paths
|
||||||
|
postPatch = ''
|
||||||
|
substituteInPlace meson.build \
|
||||||
|
--replace "install_dir: unitdir" "install_dir: datadir" \
|
||||||
|
--replace "install_dir: rulesdir" "install_dir: datadir" \
|
||||||
|
'';
|
||||||
|
mesonFlags = [
|
||||||
|
"-Dsystemd=true"
|
||||||
|
"-Dsample_config=false"
|
||||||
|
"-Ddebug_tool=false"
|
||||||
|
];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Userspace daemon for Intel Precise Touch & Stylus";
|
||||||
|
homepage = "https://github.com/linux-surface/iptsd";
|
||||||
|
license = licenses.gpl2Only;
|
||||||
|
maintainers = with maintainers; [ tomberek ];
|
||||||
|
platforms = platforms.linux;
|
||||||
|
};
|
||||||
|
}
|
|
@ -3,15 +3,15 @@
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
pname = "josm";
|
pname = "josm";
|
||||||
version = "17833";
|
version = "17919";
|
||||||
srcs = {
|
srcs = {
|
||||||
jar = fetchurl {
|
jar = fetchurl {
|
||||||
url = "https://josm.openstreetmap.de/download/josm-snapshot-${version}.jar";
|
url = "https://josm.openstreetmap.de/download/josm-snapshot-${version}.jar";
|
||||||
sha256 = "sha256-i3seRVfCLXNvUkWAAPZK0XloRHuXWCNp1tqnVr7CQ7Y=";
|
sha256 = "sha256-Bj1s3vFSHPiZNTjp7hQhu1X2v8nlynC37Cm6sMNOi3g=";
|
||||||
};
|
};
|
||||||
macosx = fetchurl {
|
macosx = fetchurl {
|
||||||
url = "https://josm.openstreetmap.de/download/macosx/josm-macos-${version}-java16.zip";
|
url = "https://josm.openstreetmap.de/download/macosx/josm-macos-${version}-java16.zip";
|
||||||
sha256 = "sha256-PM/wNXqtEwalhorWHqVHWsaiGv60SFrHXZrb1Mw/QqQ=";
|
sha256 = "sha256-W+s6ARA5lyRwTuRD89wm4HChb2Up5AXQwh5uk0U7pQk=";
|
||||||
};
|
};
|
||||||
pkg = fetchsvn {
|
pkg = fetchsvn {
|
||||||
url = "https://josm.openstreetmap.de/svn/trunk/native/linux/tested";
|
url = "https://josm.openstreetmap.de/svn/trunk/native/linux/tested";
|
||||||
|
|
|
@ -30,7 +30,7 @@ with python3.pkgs; buildPythonApplication rec {
|
||||||
pkginfo
|
pkginfo
|
||||||
freezegun
|
freezegun
|
||||||
];
|
];
|
||||||
nativeBuildInputs = [ setuptools_scm sphinx sphinxcontrib_newsfeed ];
|
nativeBuildInputs = [ setuptools-scm sphinx sphinxcontrib_newsfeed ];
|
||||||
checkInputs = [ pytest glibcLocales ];
|
checkInputs = [ pytest glibcLocales ];
|
||||||
LC_ALL = "en_US.UTF-8";
|
LC_ALL = "en_US.UTF-8";
|
||||||
|
|
||||||
|
|
36
third_party/nixpkgs/pkgs/applications/misc/natural-docs/default.nix
vendored
Normal file
36
third_party/nixpkgs/pkgs/applications/misc/natural-docs/default.nix
vendored
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
{ stdenv, fetchzip, makeWrapper, mono, lib }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
pname = "natural-docs";
|
||||||
|
version = "2.1.1";
|
||||||
|
|
||||||
|
src = fetchzip {
|
||||||
|
url = "https://naturaldocs.org/download/natural_docs/${version}/Natural_Docs_${version}.zip";
|
||||||
|
sha256 = "03fizjgvhiw3lqyykqw1whdh97xyiy3f226c1348ll61ryjxamqw";
|
||||||
|
};
|
||||||
|
|
||||||
|
dontPatch = true;
|
||||||
|
dontConfigure = true;
|
||||||
|
dontBuild = true;
|
||||||
|
|
||||||
|
nativeBuildInputs = [ makeWrapper ];
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
mkdir -p $out/bin
|
||||||
|
cp -r . $out/
|
||||||
|
makeWrapper ${mono}/bin/mono $out/bin/NaturalDocs --add-flags "$out/NaturalDocs.exe"
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Documentation generator for multiple programming languages.";
|
||||||
|
longDescription = ''
|
||||||
|
Natural Docs is an open source documentation generator for multiple
|
||||||
|
programming languages. You document your code in a natural syntax that
|
||||||
|
reads like plain English. Natural Docs then scans your code and builds
|
||||||
|
high-quality HTML documentation from it.
|
||||||
|
'';
|
||||||
|
homepage = "https://naturaldocs.org";
|
||||||
|
license = licenses.agpl3Only;
|
||||||
|
maintainers = [ maintainers.nkpvk ];
|
||||||
|
};
|
||||||
|
}
|
|
@ -20,13 +20,13 @@ assert withNerdIcons -> withIcons == false;
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "nnn";
|
pname = "nnn";
|
||||||
version = "4.0";
|
version = "4.1.1";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "jarun";
|
owner = "jarun";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "0cbxgss9j0bvsp3czjx1kpm9id7c5xxmjfnvjyk3pfd69ygif2kl";
|
sha256 = "09z37lv57nbp0l1ax28558jk5jv91lb22bgaclirvdyz2qp47xhj";
|
||||||
};
|
};
|
||||||
|
|
||||||
configFile = lib.optionalString (conf != null) (builtins.toFile "nnn.h" conf);
|
configFile = lib.optionalString (conf != null) (builtins.toFile "nnn.h" conf);
|
||||||
|
|
|
@ -1,12 +1,14 @@
|
||||||
{ lib, stdenv, fetchurl, imake, gccmakedep, xlibsWrapper }:
|
{ lib, stdenv, fetchFromGitHub, imake, gccmakedep, xlibsWrapper }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
version_name = "1.2.sakura.5";
|
version_name = "1.2.hanami.6";
|
||||||
version = "1.2.5";
|
version = "1.2.6";
|
||||||
pname = "oneko";
|
pname = "oneko";
|
||||||
src = fetchurl {
|
src = fetchFromGitHub {
|
||||||
url = "http://www.daidouji.com/oneko/distfiles/oneko-${version_name}.tar.gz";
|
owner = "IreneKnapp";
|
||||||
sha256 = "2c2e05f1241e9b76f54475b5577cd4fb6670de058218d04a741a04ebd4a2b22f";
|
repo = "oneko";
|
||||||
|
rev = version_name;
|
||||||
|
sha256 = "0vx12v5fm8ar3f1g6jbpmd3b1q652d32nc67ahkf28djbqjgcbnc";
|
||||||
};
|
};
|
||||||
nativeBuildInputs = [ imake gccmakedep ];
|
nativeBuildInputs = [ imake gccmakedep ];
|
||||||
buildInputs = [ xlibsWrapper ];
|
buildInputs = [ xlibsWrapper ];
|
||||||
|
@ -22,9 +24,9 @@ stdenv.mkDerivation rec {
|
||||||
chasing around your mouse cursor.
|
chasing around your mouse cursor.
|
||||||
When the cat is done catching the mouse, it starts sleeping.
|
When the cat is done catching the mouse, it starts sleeping.
|
||||||
'';
|
'';
|
||||||
homepage = "http://www.daidouji.com/oneko/";
|
homepage = "https://github.com/IreneKnapp/oneko";
|
||||||
license = licenses.publicDomain;
|
license = with licenses; [ publicDomain ];
|
||||||
maintainers = [ maintainers.xaverdh ];
|
maintainers = with maintainers; [ xaverdh irenes ];
|
||||||
platforms = platforms.unix;
|
platforms = platforms.unix;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,13 +2,13 @@
|
||||||
|
|
||||||
mkDerivation rec {
|
mkDerivation rec {
|
||||||
pname = "openrgb";
|
pname = "openrgb";
|
||||||
version = "0.5";
|
version = "0.6";
|
||||||
|
|
||||||
src = fetchFromGitLab {
|
src = fetchFromGitLab {
|
||||||
owner = "CalcProgrammer1";
|
owner = "CalcProgrammer1";
|
||||||
repo = "OpenRGB";
|
repo = "OpenRGB";
|
||||||
rev = "release_${version}";
|
rev = "release_${version}";
|
||||||
sha256 = "001x2ycfmlb9s21sp91aw5gxizcn6kzm8x7bvkps4b1iq0ap5fzv";
|
sha256 = "sha256-x/wGD39Jm/kmcTEZP3BnLXxyv/jkPOJd6mLCO0dp5wM=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ qmake pkg-config ];
|
nativeBuildInputs = [ qmake pkg-config ];
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
sha256 = "1hdg5491phx6svrxxsxp8v6n4b25y7y4wxw7x3bxlbyhaskgj53r";
|
sha256 = "1hdg5491phx6svrxxsxp8v6n4b25y7y4wxw7x3bxlbyhaskgj53r";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ setuptools_scm ];
|
nativeBuildInputs = [ setuptools-scm ];
|
||||||
buildInputs = [ pytest mock ];
|
buildInputs = [ pytest mock ];
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
six setuptools pyserial appdirs hidapi wxPython xlib wmctrl dbus-python
|
six setuptools pyserial appdirs hidapi wxPython xlib wmctrl dbus-python
|
||||||
|
|
|
@ -1,24 +1,60 @@
|
||||||
{ stdenv, lib, makeWrapper, fetchurl
|
{ stdenv
|
||||||
, dpkg, wrapGAppsHook, autoPatchelfHook
|
, lib
|
||||||
, gtk3, cairo, pango, atk, gdk-pixbuf, glib
|
, makeWrapper
|
||||||
, at-spi2-atk, dbus, libX11, libxcb, libXi
|
, fetchurl
|
||||||
, libXcursor, libXdamage, libXrandr, libXcomposite
|
, dpkg
|
||||||
, libXext, libXfixes, libXrender, libXtst, libXScrnSaver
|
, wrapGAppsHook
|
||||||
, nss, nspr, alsaLib, cups, fontconfig, expat
|
, autoPatchelfHook
|
||||||
, libudev0-shim, glibc, curl, openssl, libnghttp2, gsettings-desktop-schemas }:
|
, gtk3
|
||||||
|
, cairo
|
||||||
|
, pango
|
||||||
|
, atk
|
||||||
|
, gdk-pixbuf
|
||||||
|
, glib
|
||||||
|
, at-spi2-atk
|
||||||
|
, dbus
|
||||||
|
, libX11
|
||||||
|
, libxcb
|
||||||
|
, libXi
|
||||||
|
, libXcursor
|
||||||
|
, libXdamage
|
||||||
|
, libXrandr
|
||||||
|
, libXcomposite
|
||||||
|
, libXext
|
||||||
|
, libXfixes
|
||||||
|
, libXrender
|
||||||
|
, libXtst
|
||||||
|
, libXScrnSaver
|
||||||
|
, nss
|
||||||
|
, nspr
|
||||||
|
, alsaLib
|
||||||
|
, cups
|
||||||
|
, fontconfig
|
||||||
|
, expat
|
||||||
|
, libudev0-shim
|
||||||
|
, glibc
|
||||||
|
, curl
|
||||||
|
, openssl
|
||||||
|
, libnghttp2
|
||||||
|
, gsettings-desktop-schemas
|
||||||
|
, libdrm
|
||||||
|
, mesa
|
||||||
|
}:
|
||||||
|
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "polar-bookshelf";
|
pname = "polar-bookshelf";
|
||||||
version = "2.0.42";
|
version = "2.0.103";
|
||||||
|
|
||||||
# fetching a .deb because there's no easy way to package this Electron app
|
# fetching a .deb because there's no easy way to package this Electron app
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/burtonator/polar-bookshelf/releases/download/v${version}/polar-desktop-app-${version}-amd64.deb";
|
url = "https://github.com/burtonator/polar-bookshelf/releases/download/v${version}/polar-desktop-app-${version}-amd64.deb";
|
||||||
hash = "sha256-JyO71wyE6b0iHAYs/6/WbG+OdUVUUPpJla+ZUzg0Gng=";
|
hash = "sha256-jcq0hW698bAhVM3fLQQeKAnld33XLkHsGjS3QwUpciQ=";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
|
libdrm
|
||||||
|
mesa
|
||||||
gsettings-desktop-schemas
|
gsettings-desktop-schemas
|
||||||
glib
|
glib
|
||||||
gtk3
|
gtk3
|
||||||
|
@ -60,6 +96,8 @@ stdenv.mkDerivation rec {
|
||||||
unpackPhase = "dpkg-deb -x $src .";
|
unpackPhase = "dpkg-deb -x $src .";
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
|
runHook preInstall
|
||||||
|
|
||||||
mkdir -p $out/share/polar-bookshelf
|
mkdir -p $out/share/polar-bookshelf
|
||||||
mkdir -p $out/bin
|
mkdir -p $out/bin
|
||||||
mkdir -p $out/lib
|
mkdir -p $out/lib
|
||||||
|
@ -73,6 +111,8 @@ stdenv.mkDerivation rec {
|
||||||
|
|
||||||
substituteInPlace $out/share/applications/polar-desktop-app.desktop \
|
substituteInPlace $out/share/applications/polar-desktop-app.desktop \
|
||||||
--replace "/opt/Polar/polar-desktop-app" "$out/bin/polar-desktop-app"
|
--replace "/opt/Polar/polar-desktop-app" "$out/bin/polar-desktop-app"
|
||||||
|
|
||||||
|
runHook postInstall
|
||||||
'';
|
'';
|
||||||
|
|
||||||
preFixup = ''
|
preFixup = ''
|
||||||
|
@ -82,7 +122,7 @@ stdenv.mkDerivation rec {
|
||||||
meta = {
|
meta = {
|
||||||
homepage = "https://getpolarized.io/";
|
homepage = "https://getpolarized.io/";
|
||||||
description = "Personal knowledge repository for PDF and web content supporting incremental reading and document annotation";
|
description = "Personal knowledge repository for PDF and web content supporting incremental reading and document annotation";
|
||||||
license = lib.licenses.gpl3;
|
license = lib.licenses.gpl3Only;
|
||||||
platforms = lib.platforms.linux;
|
platforms = lib.platforms.linux;
|
||||||
maintainers = [ lib.maintainers.noneucat ];
|
maintainers = [ lib.maintainers.noneucat ];
|
||||||
};
|
};
|
||||||
|
|
|
@ -12,7 +12,7 @@ in buildPythonApplication rec {
|
||||||
inherit pname version;
|
inherit pname version;
|
||||||
sha256 = "da0365ae9064e30c4a27526fb0d7a802fda5c8651cda6990d17be7ede89a2551";
|
sha256 = "da0365ae9064e30c4a27526fb0d7a802fda5c8651cda6990d17be7ede89a2551";
|
||||||
};
|
};
|
||||||
nativeBuildInputs = [ setuptools_scm ];
|
nativeBuildInputs = [ setuptools-scm ];
|
||||||
propagatedBuildInputs = [ pyyaml six jinja2 cerberus_1_1 ];
|
propagatedBuildInputs = [ pyyaml six jinja2 cerberus_1_1 ];
|
||||||
|
|
||||||
checkPhase = ''
|
checkPhase = ''
|
||||||
|
|
|
@ -9,7 +9,7 @@ python3Packages.buildPythonApplication rec {
|
||||||
sha256 = "3d694015d020a888b42564d56559213b94981ca2b32b952a49b2de4d029d2e59";
|
sha256 = "3d694015d020a888b42564d56559213b94981ca2b32b952a49b2de4d029d2e59";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ python3Packages.setuptools_scm ];
|
nativeBuildInputs = [ python3Packages.setuptools-scm ];
|
||||||
pythonPath = with python3Packages; [ i3ipc ];
|
pythonPath = with python3Packages; [ i3ipc ];
|
||||||
|
|
||||||
# no tests
|
# no tests
|
||||||
|
|
38
third_party/nixpkgs/pkgs/applications/misc/skytemple/default.nix
vendored
Normal file
38
third_party/nixpkgs/pkgs/applications/misc/skytemple/default.nix
vendored
Normal file
|
@ -0,0 +1,38 @@
|
||||||
|
{ lib, fetchFromGitHub, gobject-introspection, gtk3, gtksourceview3, wrapGAppsHook, python3Packages }:
|
||||||
|
|
||||||
|
python3Packages.buildPythonApplication rec {
|
||||||
|
pname = "skytemple";
|
||||||
|
version = "1.2.3";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "SkyTemple";
|
||||||
|
repo = pname;
|
||||||
|
rev = version;
|
||||||
|
sha256 = "0l2c4qngv58j6zkp0va6m96zksx8gqn3mjc3isqybfnhjr6nd3v9";
|
||||||
|
};
|
||||||
|
|
||||||
|
buildInputs = [ gobject-introspection gtk3 gtksourceview3 ];
|
||||||
|
nativeBuildInputs = [ gobject-introspection wrapGAppsHook ];
|
||||||
|
propagatedBuildInputs = with python3Packages; [
|
||||||
|
natsort
|
||||||
|
packaging
|
||||||
|
pycairo
|
||||||
|
pygal
|
||||||
|
pypresence
|
||||||
|
setuptools
|
||||||
|
skytemple-dtef
|
||||||
|
skytemple-eventserver
|
||||||
|
skytemple-files
|
||||||
|
skytemple-icons
|
||||||
|
skytemple-ssb-debugger
|
||||||
|
];
|
||||||
|
|
||||||
|
doCheck = false; # there are no tests
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
homepage = "https://github.com/SkyTemple/skytemple";
|
||||||
|
description = "ROM hacking tool for Pokémon Mystery Dungeon Explorers of Sky";
|
||||||
|
license = licenses.gpl3Plus;
|
||||||
|
maintainers = with maintainers; [ xfix ];
|
||||||
|
};
|
||||||
|
}
|
|
@ -1,20 +1,16 @@
|
||||||
{ lib, stdenv, fetchFromGitHub, pkg-config, glib }:
|
{ lib, stdenv, fetchFromGitHub, pkg-config, glib }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation {
|
||||||
pname = "tiramisu";
|
pname = "tiramisu";
|
||||||
version = "1.0";
|
version = "unstable-2021-05-20";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "Sweets";
|
owner = "Sweets";
|
||||||
repo = pname;
|
repo = "tiramisu";
|
||||||
rev = version;
|
rev = "e53833d0b5b0ae41ceb7dc434d8e25818fe62291";
|
||||||
sha256 = "0aw17riwgrhsmcndzh7sw2zw8xvn3d203c2gcrqi9nk5pa7fwp9m";
|
sha256 = "sha256-F4oaTOAQQfOkEXeBVbGH+0CHc9v9Ac08GyzHliOdAfc=";
|
||||||
};
|
};
|
||||||
|
|
||||||
postPatch = ''
|
|
||||||
sed -i 's/printf(element_delimiter)/printf("%s", element_delimiter)/' src/output.c
|
|
||||||
'';
|
|
||||||
|
|
||||||
buildInputs = [ glib ];
|
buildInputs = [ glib ];
|
||||||
|
|
||||||
nativeBuildInputs = [ pkg-config ];
|
nativeBuildInputs = [ pkg-config ];
|
||||||
|
@ -31,6 +27,6 @@ stdenv.mkDerivation rec {
|
||||||
homepage = "https://github.com/Sweets/tiramisu";
|
homepage = "https://github.com/Sweets/tiramisu";
|
||||||
license = licenses.mit;
|
license = licenses.mit;
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
maintainers = with maintainers; [ wishfort36 ];
|
maintainers = with maintainers; [ wishfort36 fortuneteller2k ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,22 +4,23 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "xmrig";
|
pname = "xmrig";
|
||||||
version = "6.6.1";
|
version = "6.12.2";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "xmrig";
|
owner = "xmrig";
|
||||||
repo = "xmrig";
|
repo = "xmrig";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "03phq1c6fylvkg5x7l0bskspr9jdfx61jy67yx2lxhymqgpbf64z";
|
sha256 = "1gjwh509cxs8vqz72v97cir0aazcrd9y9l0k1q5ywbl5l3yf6ryf";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake ];
|
nativeBuildInputs = [ cmake ];
|
||||||
buildInputs = [ libuv libmicrohttpd openssl hwloc ];
|
buildInputs = [ libuv libmicrohttpd openssl hwloc ];
|
||||||
|
|
||||||
|
inherit donateLevel;
|
||||||
|
|
||||||
|
patches = [ ./donate-level.patch ];
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
substituteInPlace src/donate.h \
|
substituteAllInPlace src/donate.h
|
||||||
--replace "kDefaultDonateLevel = 5;" "kDefaultDonateLevel = ${toString donateLevel};" \
|
|
||||||
--replace "kMinimumDonateLevel = 1;" "kMinimumDonateLevel = ${toString donateLevel};"
|
|
||||||
'';
|
'';
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
|
|
12
third_party/nixpkgs/pkgs/applications/misc/xmrig/donate-level.patch
vendored
Normal file
12
third_party/nixpkgs/pkgs/applications/misc/xmrig/donate-level.patch
vendored
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
diff --git a/src/donate.h b/src/donate.h
|
||||||
|
--- a/src/donate.h
|
||||||
|
+++ b/src/donate.h
|
||||||
|
@@ -46,6 +46,6 @@
|
||||||
|
*/
|
||||||
|
-constexpr const int kDefaultDonateLevel = 1;
|
||||||
|
-constexpr const int kMinimumDonateLevel = 1;
|
||||||
|
+constexpr const int kDefaultDonateLevel = @donateLevel@;
|
||||||
|
+constexpr const int kMinimumDonateLevel = @donateLevel@;
|
||||||
|
|
||||||
|
|
||||||
|
#endif /* XMRIG_DONATE_H */
|
|
@ -24,6 +24,6 @@ buildPythonApplication rec {
|
||||||
description = "A command line oriented, sqlite powered, todo-list";
|
description = "A command line oriented, sqlite powered, todo-list";
|
||||||
homepage = "https://yokadi.github.io/index.html";
|
homepage = "https://yokadi.github.io/index.html";
|
||||||
license = licenses.gpl3Plus;
|
license = licenses.gpl3Plus;
|
||||||
maintainers = [ maintainers.nipav ];
|
maintainers = [ maintainers.nkpvk ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -90,11 +90,11 @@ in
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "brave";
|
pname = "brave";
|
||||||
version = "1.24.86";
|
version = "1.25.68";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-browser_${version}_amd64.deb";
|
url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-browser_${version}_amd64.deb";
|
||||||
sha256 = "VKUs8PPyAbuH91Zck0QTiFCEUOMDlLT4Itv4MXi4Ygg=";
|
sha256 = "OBf42L6pctflNLjtcbnw2wKo7TisRSMF3SriDPFlB6I=";
|
||||||
};
|
};
|
||||||
|
|
||||||
dontConfigure = true;
|
dontConfigure = true;
|
||||||
|
|
|
@ -31,9 +31,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"dev": {
|
"dev": {
|
||||||
"version": "92.0.4515.20",
|
"version": "92.0.4515.40",
|
||||||
"sha256": "0xmpmjpxr4bgy62d71ky9asxwbgnx60mrp9f1dxm9nm92dv6w0ac",
|
"sha256": "1v0vmnzdqq7d2rqp1sam8nk7z20xg5l9lnlpqjxj30y8k37gzh8p",
|
||||||
"sha256bin64": "1la5mrh33izl7nf1rr899ljh448ckpqz2bp0vac83vb8952krm05",
|
"sha256bin64": "12kfzgg0fhlrvr3ci1gzsn5rzdwr4dc2k3sj45j4dn7wnrjlpmbx",
|
||||||
"deps": {
|
"deps": {
|
||||||
"gn": {
|
"gn": {
|
||||||
"version": "2021-05-07",
|
"version": "2021-05-07",
|
||||||
|
|
|
@ -32,10 +32,10 @@ rec {
|
||||||
|
|
||||||
firefox-esr-78 = common rec {
|
firefox-esr-78 = common rec {
|
||||||
pname = "firefox-esr";
|
pname = "firefox-esr";
|
||||||
ffversion = "78.10.1esr";
|
ffversion = "78.11.0esr";
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://mozilla/firefox/releases/${ffversion}/source/firefox-${ffversion}.source.tar.xz";
|
url = "mirror://mozilla/firefox/releases/${ffversion}/source/firefox-${ffversion}.source.tar.xz";
|
||||||
sha512 = "a22773d9b3f0dca253805257f358a906769d23f15115e3a8851024f701e27dee45f056f7d34ebf1fcde0a3f91ec299639c2a12556e938a232cdea9e59835fde1";
|
sha512 = "d02fc2eda587155b1c54ca12a6c5cde220a29f41f154f1c9b71ae8f966d8cc9439201a5b241e03fc0795b74e2479f7aa5d6b69f70b7639432e5382f321f7a6f4";
|
||||||
};
|
};
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
|
|
|
@ -15,13 +15,13 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "lagrange";
|
pname = "lagrange";
|
||||||
version = "1.4.0";
|
version = "1.5.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "skyjake";
|
owner = "skyjake";
|
||||||
repo = "lagrange";
|
repo = "lagrange";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-l8k81w+ilkOk8iQTc46+HK40JQZ0dCYVAvkGTrEpZSQ=";
|
sha256 = "sha256-W7uSyApTKBTE7bgprgCd8T5dKQ/nLYKIzFxjDMCRmZQ=";
|
||||||
fetchSubmodules = true;
|
fetchSubmodules = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -31,12 +31,12 @@ let
|
||||||
|
|
||||||
in mkDerivationWith python3Packages.buildPythonApplication rec {
|
in mkDerivationWith python3Packages.buildPythonApplication rec {
|
||||||
pname = "qutebrowser";
|
pname = "qutebrowser";
|
||||||
version = "2.2.2";
|
version = "2.2.3";
|
||||||
|
|
||||||
# the release tarballs are different from the git checkout!
|
# the release tarballs are different from the git checkout!
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/qutebrowser/qutebrowser/releases/download/v${version}/${pname}-${version}.tar.gz";
|
url = "https://github.com/qutebrowser/qutebrowser/releases/download/v${version}/${pname}-${version}.tar.gz";
|
||||||
sha256 = "11vjp20gzmdjj09b7wxzn7ar6viih0bk76y618yqsyqqkffylmbq";
|
sha256 = "sha256-BoP168jxj94nvkrcgC83fPw/TPRsI2PbCooqzWNF62I=";
|
||||||
};
|
};
|
||||||
|
|
||||||
# Needs tox
|
# Needs tox
|
||||||
|
|
|
@ -1,4 +1,11 @@
|
||||||
{ buildGoModule, fetchFromGitHub, lib, dnsmasq }:
|
{
|
||||||
|
buildGoModule,
|
||||||
|
dnsmasq,
|
||||||
|
fetchFromGitHub,
|
||||||
|
lib,
|
||||||
|
nixosTests,
|
||||||
|
makeWrapper,
|
||||||
|
}:
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "cni-plugin-dnsname";
|
pname = "cni-plugin-dnsname";
|
||||||
|
@ -11,10 +18,9 @@ buildGoModule rec {
|
||||||
sha256 = "sha256-hHkQOHDso92gXFCz40iQ7j2cHTEAMsaeW8MCJV2Otqo=";
|
sha256 = "sha256-hHkQOHDso92gXFCz40iQ7j2cHTEAMsaeW8MCJV2Otqo=";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [ ./hardcode-dnsmasq-path.patch ];
|
nativeBuildInputs = [ makeWrapper ];
|
||||||
|
postInstall = ''
|
||||||
postPatch = ''
|
wrapProgram $out/bin/dnsname --prefix PATH : ${lib.makeBinPath [ dnsmasq ]}
|
||||||
substituteInPlace plugins/meta/dnsname/service.go --replace '@DNSMASQ@' '${dnsmasq}/bin/dnsmasq'
|
|
||||||
'';
|
'';
|
||||||
|
|
||||||
vendorSha256 = null;
|
vendorSha256 = null;
|
||||||
|
@ -22,6 +28,10 @@ buildGoModule rec {
|
||||||
|
|
||||||
doCheck = false; # NOTE: requires root privileges
|
doCheck = false; # NOTE: requires root privileges
|
||||||
|
|
||||||
|
passthru.tests = {
|
||||||
|
inherit (nixosTests) podman-dnsname;
|
||||||
|
};
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "DNS name resolution for containers";
|
description = "DNS name resolution for containers";
|
||||||
homepage = "https://github.com/containers/dnsname";
|
homepage = "https://github.com/containers/dnsname";
|
||||||
|
|
|
@ -1,19 +0,0 @@
|
||||||
diff --git a/plugins/meta/dnsname/service.go b/plugins/meta/dnsname/service.go
|
|
||||||
index fc05f75..f6b4caf 100644
|
|
||||||
--- a/plugins/meta/dnsname/service.go
|
|
||||||
+++ b/plugins/meta/dnsname/service.go
|
|
||||||
@@ -16,10 +16,14 @@ import (
|
|
||||||
|
|
||||||
// newDNSMasqFile creates a new instance of a dnsNameFile
|
|
||||||
func newDNSMasqFile(domainName, networkInterface, networkName string) (dnsNameFile, error) {
|
|
||||||
+ /*
|
|
||||||
dnsMasqBinary, err := exec.LookPath("dnsmasq")
|
|
||||||
if err != nil {
|
|
||||||
return dnsNameFile{}, errors.Errorf("the dnsmasq cni plugin requires the dnsmasq binary be in PATH")
|
|
||||||
}
|
|
||||||
+ */
|
|
||||||
+ _ = errors.Errorf // XXX(mikroskeem): reduce diff
|
|
||||||
+ dnsMasqBinary := "@DNSMASQ@"
|
|
||||||
masqConf := dnsNameFile{
|
|
||||||
ConfigFile: makePath(networkName, confFileName),
|
|
||||||
Domain: domainName,
|
|
|
@ -10,13 +10,13 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "nerdctl";
|
pname = "nerdctl";
|
||||||
version = "0.8.2";
|
version = "0.8.3";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "containerd";
|
owner = "containerd";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-GPOrC9gL9lPv5SUldFxTS8ZT9YboPoDdqOAfwD0qGBQ=";
|
sha256 = "sha256-mBoqyDfGho2e4RuFwkiU2R+zb38LzByWtH4pOhguueY=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorSha256 = "sha256-S3Gp7HkBIZNZ8rkp64XaUQUj1TggGwI9FMrVkyLCQWA=";
|
vendorSha256 = "sha256-S3Gp7HkBIZNZ8rkp64XaUQUj1TggGwI9FMrVkyLCQWA=";
|
||||||
|
|
|
@ -70,10 +70,10 @@
|
||||||
"owner": "hashicorp",
|
"owner": "hashicorp",
|
||||||
"provider-source-address": "registry.terraform.io/hashicorp/aws",
|
"provider-source-address": "registry.terraform.io/hashicorp/aws",
|
||||||
"repo": "terraform-provider-aws",
|
"repo": "terraform-provider-aws",
|
||||||
"rev": "v3.39.0",
|
"rev": "v3.43.0",
|
||||||
"sha256": "05clqnrgh8ydwnsb1bacg9is7pzwqz5ncr806xgvryxybp8lz2jg",
|
"sha256": "05rv93y9hf0l869q6i581748rw4bahvsgggj0h7cwjnf7xap0sxj",
|
||||||
"vendorSha256": "104cmwlzrcggb6fd1h7igy30g8542mzzzb6i54ldn5s1dahhprmb",
|
"vendorSha256": "1m6pkrpknslqnv60cz5739gp5nxc7xhga402wkl37gdagmadkmrk",
|
||||||
"version": "3.39.0"
|
"version": "3.43.0"
|
||||||
},
|
},
|
||||||
"azuread": {
|
"azuread": {
|
||||||
"owner": "hashicorp",
|
"owner": "hashicorp",
|
||||||
|
|
|
@ -164,8 +164,8 @@ in rec {
|
||||||
});
|
});
|
||||||
|
|
||||||
terraform_0_15 = pluggable (generic {
|
terraform_0_15 = pluggable (generic {
|
||||||
version = "0.15.4";
|
version = "0.15.5";
|
||||||
sha256 = "14pxnmxy0c7idn8vgns70fxm2835gbz5vd1hmwzvhm394vr62frp";
|
sha256 = "18f4a6l24s3cym7gk40agxikd90i56q84wziskw1spy9rgv2yx6d";
|
||||||
vendorSha256 = "12hrpxay6k3kz89ihyhl91c4lw4wp821ppa245w9977fq09fhnx0";
|
vendorSha256 = "12hrpxay6k3kz89ihyhl91c4lw4wp821ppa245w9977fq09fhnx0";
|
||||||
patches = [ ./provider-path-0_15.patch ];
|
patches = [ ./provider-path-0_15.patch ];
|
||||||
passthru = { inherit plugins; };
|
passthru = { inherit plugins; };
|
||||||
|
|
|
@ -21,11 +21,11 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "zeek";
|
pname = "zeek";
|
||||||
version = "4.0.1";
|
version = "4.0.2";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://download.zeek.org/zeek-${version}.tar.gz";
|
url = "https://download.zeek.org/zeek-${version}.tar.gz";
|
||||||
sha256 = "0ficl4i012gfv4mdbdclgvi6gyq338gw9gb6k58k1drw8c7qk6k5";
|
sha256 = "15gxxgg7nmfmswlbxhvcp6alq5k9wpvrm5cwyf1qfd7xsfli61sm";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake flex bison file ];
|
nativeBuildInputs = [ cmake flex bison file ];
|
||||||
|
|
49
third_party/nixpkgs/pkgs/applications/networking/instant-messengers/deltachat-cursed/default.nix
vendored
Normal file
49
third_party/nixpkgs/pkgs/applications/networking/instant-messengers/deltachat-cursed/default.nix
vendored
Normal file
|
@ -0,0 +1,49 @@
|
||||||
|
{ lib
|
||||||
|
, python3
|
||||||
|
, fetchFromGitHub
|
||||||
|
, wrapGAppsHook
|
||||||
|
, gobject-introspection
|
||||||
|
, libnotify
|
||||||
|
}:
|
||||||
|
|
||||||
|
python3.pkgs.buildPythonApplication rec {
|
||||||
|
pname = "deltachat-cursed";
|
||||||
|
version = "0.2.0";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "adbenitez";
|
||||||
|
repo = "deltachat-cursed";
|
||||||
|
rev = "v${version}";
|
||||||
|
sha256 = "0kbb7lh17dbkd85mcqf438qwk5masz2fxsy8ljdh23kis55nksh8";
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
wrapGAppsHook
|
||||||
|
];
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
gobject-introspection
|
||||||
|
libnotify
|
||||||
|
];
|
||||||
|
|
||||||
|
propagatedBuildInputs = with python3.pkgs; [
|
||||||
|
deltachat
|
||||||
|
pygobject3
|
||||||
|
urwid-readline
|
||||||
|
];
|
||||||
|
|
||||||
|
dontWrapGApps = true;
|
||||||
|
|
||||||
|
preFixup = ''
|
||||||
|
makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
|
||||||
|
'';
|
||||||
|
|
||||||
|
doCheck = false; # no tests implemented
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Lightweight Delta Chat client";
|
||||||
|
homepage = "https://github.com/adbenitez/deltachat-cursed";
|
||||||
|
license = licenses.gpl3Plus;
|
||||||
|
maintainers = with maintainers; [ dotlambda ];
|
||||||
|
};
|
||||||
|
}
|
|
@ -11,11 +11,11 @@ let
|
||||||
in
|
in
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "jitsi-meet-electron";
|
pname = "jitsi-meet-electron";
|
||||||
version = "2.8.5";
|
version = "2.8.6";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/jitsi/jitsi-meet-electron/releases/download/v${version}/jitsi-meet-x86_64.AppImage";
|
url = "https://github.com/jitsi/jitsi-meet-electron/releases/download/v${version}/jitsi-meet-x86_64.AppImage";
|
||||||
sha256 = "0r3jj3qjx38l1g733vhrwcm2yg7ppp23ciz84x2kqq51mlzr84c6";
|
sha256 = "sha256-kLX8SZERlyNVSvszkV/fkQh/Z/Z20PAPJ9eug2oKlqI=";
|
||||||
name = "${pname}-${version}.AppImage";
|
name = "${pname}-${version}.AppImage";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -13,13 +13,13 @@
|
||||||
|
|
||||||
mkDerivation rec {
|
mkDerivation rec {
|
||||||
pname = "kdeltachat";
|
pname = "kdeltachat";
|
||||||
version = "unstable-2021-05-22";
|
version = "unstable-2021-05-31";
|
||||||
|
|
||||||
src = fetchFromSourcehut {
|
src = fetchFromSourcehut {
|
||||||
owner = "~link2xt";
|
owner = "~link2xt";
|
||||||
repo = "kdeltachat";
|
repo = "kdeltachat";
|
||||||
rev = "9c22c6d6a03f620f14f289b464354159b8a76f6b";
|
rev = "318ae67c17f3e64532bad23c2a61a93446db553d";
|
||||||
sha256 = "1qmal6dng8ynp5mrkrgykz78c8zp1gbv53s479qvj0h3axrp2s8p";
|
sha256 = "1qy0hlp0r91sqn26ai9isxw4rl8kcmmb10a2p9yqynhm8py3dfn4";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{ lib, stdenv, buildPythonApplication, fetchFromGitHub, pythonOlder,
|
{ lib, stdenv, buildPythonApplication, fetchFromGitHub, pythonOlder,
|
||||||
attrs, aiohttp, appdirs, click, keyring, Logbook, peewee, janus,
|
attrs, aiohttp, appdirs, click, keyring, Logbook, peewee, janus,
|
||||||
prompt_toolkit, matrix-nio, dbus-python, pydbus, notify2, pygobject3,
|
prompt_toolkit, matrix-nio, dbus-python, pydbus, notify2, pygobject3,
|
||||||
setuptools, fetchpatch,
|
setuptools, fetchpatch, installShellFiles,
|
||||||
|
|
||||||
pytest, faker, pytest-aiohttp, aioresponses,
|
pytest, faker, pytest-aiohttp, aioresponses,
|
||||||
|
|
||||||
|
@ -56,6 +56,10 @@ buildPythonApplication rec {
|
||||||
aioresponses
|
aioresponses
|
||||||
];
|
];
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
installShellFiles
|
||||||
|
];
|
||||||
|
|
||||||
# darwin has difficulty communicating with server, fails some integration tests
|
# darwin has difficulty communicating with server, fails some integration tests
|
||||||
doCheck = !stdenv.isDarwin;
|
doCheck = !stdenv.isDarwin;
|
||||||
|
|
||||||
|
@ -63,6 +67,10 @@ buildPythonApplication rec {
|
||||||
pytest
|
pytest
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
postInstall = ''
|
||||||
|
installManPage docs/man/*.[1-9]
|
||||||
|
'';
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "An end-to-end encryption aware Matrix reverse proxy daemon";
|
description = "An end-to-end encryption aware Matrix reverse proxy daemon";
|
||||||
homepage = "https://github.com/matrix-org/pantalaimon";
|
homepage = "https://github.com/matrix-org/pantalaimon";
|
||||||
|
|
|
@ -1,15 +1,26 @@
|
||||||
{ lib, buildPythonApplication, fetchFromGitHub, pythonOlder
|
{ lib
|
||||||
, pytest, aiodns, slixmpp, pyinotify, potr, mpd2, cffi, pkg-config, setuptools }:
|
, aiodns
|
||||||
|
, buildPythonApplication
|
||||||
|
, cffi
|
||||||
|
, fetchFromGitHub
|
||||||
|
, mpd2
|
||||||
|
, pkg-config
|
||||||
|
, potr
|
||||||
|
, pyasn1
|
||||||
|
, pyasn1-modules
|
||||||
|
, pyinotify
|
||||||
|
, pytestCheckHook
|
||||||
|
, pythonOlder
|
||||||
|
, setuptools
|
||||||
|
, slixmpp
|
||||||
|
, typing-extensions
|
||||||
|
}:
|
||||||
|
|
||||||
buildPythonApplication rec {
|
buildPythonApplication rec {
|
||||||
pname = "poezio";
|
pname = "poezio";
|
||||||
version = "0.13.1";
|
version = "0.13.1";
|
||||||
|
|
||||||
disabled = pythonOlder "3.4";
|
disabled = pythonOlder "3.4";
|
||||||
|
|
||||||
checkInputs = [ pytest ];
|
|
||||||
propagatedBuildInputs = [ aiodns slixmpp pyinotify potr mpd2 cffi setuptools ];
|
|
||||||
nativeBuildInputs = [ pkg-config ];
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = pname;
|
owner = pname;
|
||||||
repo = pname;
|
repo = pname;
|
||||||
|
@ -17,14 +28,32 @@ buildPythonApplication rec {
|
||||||
sha256 = "041y61pcbdb86s04qwp8s1g6bp84yskc7vdizwpi2hz18y01x5fy";
|
sha256 = "041y61pcbdb86s04qwp8s1g6bp84yskc7vdizwpi2hz18y01x5fy";
|
||||||
};
|
};
|
||||||
|
|
||||||
checkPhase = ''
|
nativeBuildInputs = [
|
||||||
pytest
|
pkg-config
|
||||||
'';
|
];
|
||||||
|
|
||||||
|
propagatedBuildInputs = [
|
||||||
|
aiodns
|
||||||
|
cffi
|
||||||
|
mpd2
|
||||||
|
potr
|
||||||
|
pyasn1
|
||||||
|
pyasn1-modules
|
||||||
|
pyinotify
|
||||||
|
setuptools
|
||||||
|
slixmpp
|
||||||
|
] ++ lib.optionals (pythonOlder "3.7") [
|
||||||
|
typing-extensions
|
||||||
|
];
|
||||||
|
|
||||||
|
checkInputs = [
|
||||||
|
pytestCheckHook
|
||||||
|
];
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Free console XMPP client";
|
description = "Free console XMPP client";
|
||||||
homepage = "https://poez.io";
|
homepage = "https://poez.io";
|
||||||
license = licenses.mit;
|
license = licenses.zlib;
|
||||||
maintainers = [ maintainers.lsix ];
|
maintainers = [ maintainers.lsix ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,6 +6,7 @@
|
||||||
, dpkg
|
, dpkg
|
||||||
, atomEnv
|
, atomEnv
|
||||||
, libuuid
|
, libuuid
|
||||||
|
, libappindicator-gtk3
|
||||||
, pulseaudio
|
, pulseaudio
|
||||||
, at-spi2-atk
|
, at-spi2-atk
|
||||||
, coreutils
|
, coreutils
|
||||||
|
@ -34,6 +35,7 @@ stdenv.mkDerivation rec {
|
||||||
runtimeDependencies = [
|
runtimeDependencies = [
|
||||||
(lib.getLib systemd)
|
(lib.getLib systemd)
|
||||||
pulseaudio
|
pulseaudio
|
||||||
|
libappindicator-gtk3
|
||||||
];
|
];
|
||||||
|
|
||||||
preFixup = ''
|
preFixup = ''
|
||||||
|
|
|
@ -2,11 +2,11 @@
|
||||||
, pkg-config, cmake, ninja, python3, wrapGAppsHook, wrapQtAppsHook, removeReferencesTo
|
, pkg-config, cmake, ninja, python3, wrapGAppsHook, wrapQtAppsHook, removeReferencesTo
|
||||||
, qtbase, qtimageformats, gtk3, libsForQt5, enchant2, lz4, xxHash
|
, qtbase, qtimageformats, gtk3, libsForQt5, enchant2, lz4, xxHash
|
||||||
, dee, ffmpeg, openalSoft, minizip, libopus, alsaLib, libpulseaudio, range-v3
|
, dee, ffmpeg, openalSoft, minizip, libopus, alsaLib, libpulseaudio, range-v3
|
||||||
, tl-expected, hunspell, glibmm, webkitgtk
|
, tl-expected, hunspell, glibmm, webkitgtk, libtgvoip
|
||||||
# Transitive dependencies:
|
# Transitive dependencies:
|
||||||
, pcre, xorg, util-linux, libselinux, libsepol, epoxy
|
, pcre, xorg, util-linux, libselinux, libsepol, epoxy
|
||||||
, at-spi2-core, libXtst, libthai, libdatrie
|
, at-spi2-core, libXtst, libthai, libdatrie
|
||||||
, xdg-utils
|
, xdg-utils, libsysprof-capture, libpsl, brotli
|
||||||
}:
|
}:
|
||||||
|
|
||||||
with lib;
|
with lib;
|
||||||
|
@ -20,27 +20,33 @@ with lib;
|
||||||
|
|
||||||
let
|
let
|
||||||
tg_owt = callPackage ./tg_owt.nix {};
|
tg_owt = callPackage ./tg_owt.nix {};
|
||||||
webviewPatch = fetchpatch {
|
|
||||||
url = "https://raw.githubusercontent.com/archlinux/svntogit-community/013eff77a13b6c2629a04e07a4d09dbe60c8ca48/trunk/fix-webview-includes.patch";
|
|
||||||
sha256 = "0112zaysf3f02dd4bgqc5hwg66h1bfj8r4yjzb06sfi0pl9vl96l";
|
|
||||||
};
|
|
||||||
|
|
||||||
in mkDerivation rec {
|
in mkDerivation rec {
|
||||||
pname = "telegram-desktop";
|
pname = "telegram-desktop";
|
||||||
version = "2.7.4";
|
version = "2.7.5";
|
||||||
|
|
||||||
# Telegram-Desktop with submodules
|
# Telegram-Desktop with submodules
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/telegramdesktop/tdesktop/releases/download/v${version}/tdesktop-${version}-full.tar.gz";
|
url = "https://github.com/telegramdesktop/tdesktop/releases/download/v${version}/tdesktop-${version}-full.tar.gz";
|
||||||
sha256 = "1cigqvxa8lp79y7sp2w2izmmikxaxzrq9bh5ns3cy16z985nyllp";
|
sha256 = "sha256-9GxBw5ii9Musjq7D3KMf/P5BA4h690EgXRbhynHwO98=";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
# fixes issue with ffmpeg>=4.4 crashes, hasn't been upstreamed yet
|
||||||
|
(fetchpatch {
|
||||||
|
url = "https://raw.githubusercontent.com/gentoo/gentoo/1c91884873968997be4b0c954169d04dc839f1db/net-im/telegram-desktop/files/tdesktop-2.7.4-voice-crash.patch";
|
||||||
|
sha256 = "sha256-inLXcP70yJlkkmdeXlc3HRL7Vt+Sf00LLJG33gwBKdY=";
|
||||||
|
})
|
||||||
|
(fetchpatch {
|
||||||
|
url = "https://raw.githubusercontent.com/gentoo/gentoo/1c91884873968997be4b0c954169d04dc839f1db/net-im/telegram-desktop/files/tdesktop-2.7.4-voice-ffmpeg44.patch";
|
||||||
|
sha256 = "sha256-p57LipNf7BDhVvNKRuicVqx0vU6IBL/Cvr5BAfLF4Hs=";
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
substituteInPlace Telegram/lib_spellcheck/spellcheck/platform/linux/linux_enchant.cpp \
|
substituteInPlace Telegram/lib_spellcheck/spellcheck/platform/linux/linux_enchant.cpp \
|
||||||
--replace '"libenchant-2.so.2"' '"${enchant2}/lib/libenchant-2.so.2"'
|
--replace '"libenchant-2.so.2"' '"${enchant2}/lib/libenchant-2.so.2"'
|
||||||
substituteInPlace Telegram/CMakeLists.txt \
|
substituteInPlace Telegram/CMakeLists.txt \
|
||||||
--replace '"''${TDESKTOP_LAUNCHER_BASENAME}.appdata.xml"' '"''${TDESKTOP_LAUNCHER_BASENAME}.metainfo.xml"'
|
--replace '"''${TDESKTOP_LAUNCHER_BASENAME}.appdata.xml"' '"''${TDESKTOP_LAUNCHER_BASENAME}.metainfo.xml"'
|
||||||
patch -d Telegram/lib_webview -p1 < "${webviewPatch}"
|
|
||||||
'';
|
'';
|
||||||
|
|
||||||
# We want to run wrapProgram manually (with additional parameters)
|
# We want to run wrapProgram manually (with additional parameters)
|
||||||
|
@ -53,10 +59,10 @@ in mkDerivation rec {
|
||||||
qtbase qtimageformats gtk3 libsForQt5.kwayland libsForQt5.libdbusmenu enchant2 lz4 xxHash
|
qtbase qtimageformats gtk3 libsForQt5.kwayland libsForQt5.libdbusmenu enchant2 lz4 xxHash
|
||||||
dee ffmpeg openalSoft minizip libopus alsaLib libpulseaudio range-v3
|
dee ffmpeg openalSoft minizip libopus alsaLib libpulseaudio range-v3
|
||||||
tl-expected hunspell glibmm webkitgtk
|
tl-expected hunspell glibmm webkitgtk
|
||||||
tg_owt
|
tg_owt libtgvoip
|
||||||
# Transitive dependencies:
|
# Transitive dependencies:
|
||||||
pcre xorg.libpthreadstubs xorg.libXdmcp util-linux libselinux libsepol epoxy
|
pcre xorg.libpthreadstubs xorg.libXdmcp util-linux libselinux libsepol epoxy
|
||||||
at-spi2-core libXtst libthai libdatrie
|
at-spi2-core libXtst libthai libdatrie libsysprof-capture libpsl brotli
|
||||||
];
|
];
|
||||||
|
|
||||||
cmakeFlags = [
|
cmakeFlags = [
|
||||||
|
|
|
@ -9,7 +9,7 @@ python3Packages.buildPythonApplication rec {
|
||||||
sha256 = "0wpfqbqjlfb9z0hafvdhkm7qw56cr9kfy6n8vb0q42dwlghpz1ff";
|
sha256 = "0wpfqbqjlfb9z0hafvdhkm7qw56cr9kfy6n8vb0q42dwlghpz1ff";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = with python3Packages; [ sphinx setuptools_scm ];
|
nativeBuildInputs = with python3Packages; [ sphinx setuptools-scm ];
|
||||||
|
|
||||||
propagatedBuildInputs = with python3Packages; [
|
propagatedBuildInputs = with python3Packages; [
|
||||||
python3Packages.setuptools python3Packages.notmuch chardet dkimpy
|
python3Packages.setuptools python3Packages.notmuch chardet dkimpy
|
||||||
|
|
|
@ -9,7 +9,7 @@ python3.pkgs.buildPythonApplication rec {
|
||||||
sha256 = "02zjwa7zbcbqj76l0qmg7bbf3fqli60pl2apby3j4zwzcrrryczs";
|
sha256 = "02zjwa7zbcbqj76l0qmg7bbf3fqli60pl2apby3j4zwzcrrryczs";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = with python3.pkgs; [ setuptools_scm ];
|
nativeBuildInputs = with python3.pkgs; [ setuptools-scm ];
|
||||||
|
|
||||||
propagatedBuildInputs = with python3.pkgs; [
|
propagatedBuildInputs = with python3.pkgs; [
|
||||||
beautifulsoup4
|
beautifulsoup4
|
||||||
|
|
|
@ -1,665 +1,665 @@
|
||||||
{
|
{
|
||||||
version = "78.10.2";
|
version = "78.11.0";
|
||||||
sources = [
|
sources = [
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-x86_64/af/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/af/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "af";
|
locale = "af";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "095f6e89aa3f1fcd2b2f92bb56777d10fa997dec6aa3098a3109511e2b07927b";
|
sha256 = "061da958c7e0b52c76cc3152cf541eabd855e7189f976b9743792e52ab733ea8";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-x86_64/ar/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/ar/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "ar";
|
locale = "ar";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "2a4e1461f291711196ef0cc717824d364ddc35ef24e7fc202b05939c59e8409f";
|
sha256 = "915ca02f6e7639adef01d8e332133762bd3f88df6a1c12e86a86c04010efcd69";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-x86_64/ast/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/ast/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "ast";
|
locale = "ast";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "361e614c83311619ab64e61b1ade46b3f36093b7ba9c5d3fdd8046bb7e0e7f59";
|
sha256 = "6a1995efbca69e251ca70af570b02d94a99f83ef7927d667f9f856febc53ff40";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-x86_64/be/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/be/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "be";
|
locale = "be";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "f86b8494488b18c9892daaf6d4c62234bfd060b8313107c4a638862d94ba1950";
|
sha256 = "28c87eb1651bb4fd00d8b52b3f0a4e0520ceeed76305ea124915c238562f28a2";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-x86_64/bg/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/bg/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "bg";
|
locale = "bg";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "0f47d29aaa13aa5018f3cb28b10547586f22123f1cabc161610c83c60aa357eb";
|
sha256 = "24bb2cd51bdf4e99fe88a13c70289f3896cb17c911d556150f1c6e216f3ef5ce";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-x86_64/br/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/br/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "br";
|
locale = "br";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "ada5fba11311e356fc1b016728bb5c229e85f1900c0b102e3a392de4124c8022";
|
sha256 = "473fe2acadfa6e4f6ba8eddcfd4377c3eeb583f6510461e6f51b9dcd89d36ace";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-x86_64/ca/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/ca/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "ca";
|
locale = "ca";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "6f74a52f34f9449fb1530f308b738b7af2854b1cc9a5301a1f771bf36e0bcbc7";
|
sha256 = "d128adb596f6be2a940a2544ad653c812c177b3d08ddac7de716fc3ce603b71c";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-x86_64/cak/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/cak/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "cak";
|
locale = "cak";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "3fb516dce71d9e44ad509724a61c92f3d45cddf9c82f9fdf0f948fdbc2549583";
|
sha256 = "cff975db463997677d392264e55bd73a3c1a36e34991f8bcbb0673980f428589";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-x86_64/cs/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/cs/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "cs";
|
locale = "cs";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "47b70bdc716049edae3beffacef19dcab5abafc0b2f674f04980983d07ba6acd";
|
sha256 = "90836d8c099594ca0e459d7d07232ab47d811cafc79ca5ad2999186f242fa8c2";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-x86_64/cy/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/cy/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "cy";
|
locale = "cy";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "279b9a9190fc7033ee223b72b361d715f5f3ddc701c51bf18bd325b667450a12";
|
sha256 = "2a844b7afe834dc6e0ad291a6d5cb9ca0389d703f9a8ca385aabf5e5f012c4c5";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-x86_64/da/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/da/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "da";
|
locale = "da";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "19340a3dcdec6ba26eb08c0a65cb0790bfa4c0ead09126fa8cdd2aa3cbb692dc";
|
sha256 = "a37075627a6955abfc15508d2bb4a16ba330a4c64c89f95084635319ad5106e6";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-x86_64/de/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/de/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "de";
|
locale = "de";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "09fb186c140013906af953729e7c42047c415e57b6a34562b7638f517ed5a03b";
|
sha256 = "6e03c8b0f791cc09b04b3114e8b44950de974beabf0563705af625ac1226dbb2";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-x86_64/dsb/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/dsb/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "dsb";
|
locale = "dsb";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "12903ffe77c9e678b418ab5cfe76d3babd36aeef286a9976fd85f1051c2a2fd7";
|
sha256 = "546f10d4653940798540797deeec54287cd1275b5ebf350661d49cd313228ddb";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-x86_64/el/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/el/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "el";
|
locale = "el";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "74ac5f4175a6cacbcb9643761b022fe52cff03afe9754acb53effc1a5735cb7f";
|
sha256 = "b6fa7ae657a03c4f91905e95931af05b9af588a067a03a3a8a0d9faa8d40b59d";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-x86_64/en-CA/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/en-CA/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "en-CA";
|
locale = "en-CA";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "5a1be335a0a4534308bc6b3c8bee8c592475b7b2b65a070412c7cf44de0e183f";
|
sha256 = "5507e9b74cea95681a2c7c21cb5127a7369366bbdaa6a24dbafc7a4fbe11b924";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-x86_64/en-GB/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/en-GB/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "en-GB";
|
locale = "en-GB";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "da6b0e21275e49202cbbab6a85e4601550ba21b8de5535ef0e252df6d693a2c2";
|
sha256 = "fcaa2b652b43367fcb720e8386cdc92346318bab67fd720c5958e7ec236c0844";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-x86_64/en-US/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/en-US/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "en-US";
|
locale = "en-US";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "3f35551b1bf9b588c7e16810312fe8274bd06283974913e881ca5e7b6035666d";
|
sha256 = "688a2f7274581fa4735a6d2f8166ba262999694889635bf3bc30ac77ad746fb3";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-x86_64/es-AR/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/es-AR/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "es-AR";
|
locale = "es-AR";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "22e962bbd6d38f4eec50d31638bb7d895f2a7be1c626b42605bffb071328a468";
|
sha256 = "506a63de366968c6a3e66503def57e621cc2458ccf07ccc53ffdad72fdab8914";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-x86_64/es-ES/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/es-ES/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "es-ES";
|
locale = "es-ES";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "2237c69f5b2bb8e0b975be18ec5413c46aacf6a8910120d90707909acd7b1e26";
|
sha256 = "974acf65d509929d6b8175ac99a2886f17d4dbc4a6b8d4ef50e82585e1ea9fe6";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-x86_64/et/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/et/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "et";
|
locale = "et";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "630f76686314f7214cc672a7b2f9d501cf34350dd5da5c8e03564e1debc1ff63";
|
sha256 = "504c97962170388d6fe249c24b6f5a62025ebf9bf4b30b65fbfd3baf12756809";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-x86_64/eu/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/eu/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "eu";
|
locale = "eu";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "63c62c592f00c35f2489ca7806dd2861fd1179ad367ac14529dfe117b3050bae";
|
sha256 = "b4c4bd5b228f2b945dc8f280b12a72dd68dff10562c4f19b5a27fa94a95d9128";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-x86_64/fa/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/fa/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "fa";
|
locale = "fa";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "b750c02dfff907d6d530d4e7b481fbd9115c02fcd5eb22da6d76f163f2f66cf3";
|
sha256 = "4384d9579304ec344f616e00a51bebbf5038e212cc54d07586182fce9558af91";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-x86_64/fi/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/fi/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "fi";
|
locale = "fi";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "fd385a85a1e28b75730ca8ca73181c5571a3ebbb51ae1c095bea8f174db3f37f";
|
sha256 = "89bba8ff928caa79b8b1947be761388e441f01655f200f4a7fb9d9894b3ea4e6";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-x86_64/fr/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/fr/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "fr";
|
locale = "fr";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "f0b8be6aa87f221262725785eee2a06b4bb0e191f2ce9350f40c6f62014272c9";
|
sha256 = "c2953ff1879ed8f80f6b9f1a26c08ba1f5969e8b47b81a3eb3ab690698142bbb";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-x86_64/fy-NL/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/fy-NL/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "fy-NL";
|
locale = "fy-NL";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "242760433a15d6509bcd617f82a2a3b2a27c34197420fafb02cc8bca17d0163b";
|
sha256 = "58057f7bb143512c1171296413050178f0a7a0651513e7c67d153af5874aa382";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-x86_64/ga-IE/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/ga-IE/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "ga-IE";
|
locale = "ga-IE";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "5b21caf17170642158945dfaa383729226ace99f789b7ed7babb08ea98bdaf8d";
|
sha256 = "94c070e79bba7a43f3fcc8b0b1759e424366f3ced72e2e53c5fe75689602a0ed";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-x86_64/gd/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/gd/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "gd";
|
locale = "gd";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "21b2d8d9107bcc4e4d0a453f9eace739e349c31d556672114fcc9ef7bc81e0ea";
|
sha256 = "a655074ab7d0f86318199ab32b77c889ccfd366f6a0d9d43b4bbeba54ae2ee1a";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-x86_64/gl/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/gl/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "gl";
|
locale = "gl";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "32329f7d8f0256c0012ffd0d5a88f7abeff22d89adb6d1ffdaca05cb74a6a9e4";
|
sha256 = "2835735ebf7f518aaf8d16ca3cedd3e7f7414e0cc1177a185b6e896da7e2c87f";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-x86_64/he/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/he/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "he";
|
locale = "he";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "453f0348607ef24799f190ecae102ee35cf21212c3ee978ac275457177c5d91a";
|
sha256 = "804c359b76026631e5a0ecf40258782f24f0be4d34b700b2aa0532607e4c5651";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-x86_64/hr/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/hr/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "hr";
|
locale = "hr";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "845dcc473833cc306dea211448a9719ab72daa57bf952e8260e28d5df616cd92";
|
sha256 = "d7278bc20c7eb6c071648b639064338ae8cf7535476c0493b642d45c0ae9804d";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-x86_64/hsb/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/hsb/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "hsb";
|
locale = "hsb";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "179e106128bda04f3109e76023031e8441e174bacf4fc4f8976c7bce4be291f9";
|
sha256 = "fb520d80d1505b50b8d9e2a43c10512e001b120790c823eb41dcc076e68eca51";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-x86_64/hu/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/hu/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "hu";
|
locale = "hu";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "59901e6396d16776c281c83f3cace029b8b1f9171ce58918d9af86144ffbb576";
|
sha256 = "20639f623995f76b2f7d5f8d81e08145767d2a67d97fbd31542599abd4c80a57";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-x86_64/hy-AM/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/hy-AM/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "hy-AM";
|
locale = "hy-AM";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "5bcde77ed1459713d8a33ccb34a003f3e863f53a6f4fe853d8a5982eca3d0cef";
|
sha256 = "bf4c1fcaa9bf928607dade6d8fd16b47fff6c248c07ef86fcb20c0b3a6841ba1";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-x86_64/id/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/id/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "id";
|
locale = "id";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "994e5971a0e269bb392f5b54b79ee58c42f222eb593c72a0515df5a12784a423";
|
sha256 = "03665c9cfdd39e8ebb568151a28ecf02e425bae4241de74bdb47a0f9f38e26ba";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-x86_64/is/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/is/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "is";
|
locale = "is";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "725b7dc0b9528b868794cd94e1c845c2f9816825b8e3f8f6de466e84ddf02447";
|
sha256 = "1efb313ae0fc03d402f306ca0258ea4c784a762a642f947065e154c382e9135b";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-x86_64/it/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/it/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "it";
|
locale = "it";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "036516a7978eb98407e6ce97cbcb5c4269f0fe72ae2955dfab925812912be28d";
|
sha256 = "95e1c07248c8ef1ab36b8a57729615a4f2ab9a4cb6148f1b0bca20554901ffca";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-x86_64/ja/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/ja/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "ja";
|
locale = "ja";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "c9c05bb9423e4f72ef782322da54d5d6e2f751e3dea812dced5956cfbfe4f494";
|
sha256 = "95c592c41b1199bc280c219a8b4873e2bdb18171c4cccff4809a5a87ccb52d0f";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-x86_64/ka/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/ka/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "ka";
|
locale = "ka";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "75f096a651b8538f6565dc67158a9398d5c97799da708f12e7ad781c99aa458a";
|
sha256 = "85566d54dd72a9ae9d6e3e5b85ed2ad01fe7d6e08e33b02985bc4e78e55dc5e9";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-x86_64/kab/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/kab/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "kab";
|
locale = "kab";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "edfe5788049f41860e958bc3f04c4b61c5199a1c1c969338d09218813e6dbbbf";
|
sha256 = "cf7f8a9975f9ce163bba8438121cd8090a498877d65d91694aac198f4307bc90";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-x86_64/kk/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/kk/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "kk";
|
locale = "kk";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "e838db372ca7e93c69261883b0803baf076109192c0524fd7d159d4111eec76a";
|
sha256 = "9ef1e12e02ed3e8a05f58da73e0221ac6545c515eb2e236b4a99b4594afc10af";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-x86_64/ko/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/ko/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "ko";
|
locale = "ko";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "b3245edbcd50e24f81804eef56246bc00112d7d2303633777ab29e4560ef7595";
|
sha256 = "6d028659f0b239b81dae7dfe44b96015ef1a217cddb135fee3bd8884e7b442c5";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-x86_64/lt/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/lt/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "lt";
|
locale = "lt";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "60a8d3e6b634277c41bcc89287e2034ba41cf251d354209d2f7bfe01f7042258";
|
sha256 = "90f11349d4f5a674457f541b4edadd83b6a8f32f56eaa0a4d49e9b2c26dbbe47";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-x86_64/ms/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/ms/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "ms";
|
locale = "ms";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "c39efc74560d6eab6183b4af517d6eb538a4e17b2a943e59b4d1760bf31f8259";
|
sha256 = "f235748f67ad749d8b020288df8c7251bcbd9d1bc4bb979554928f54270c1f88";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-x86_64/nb-NO/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/nb-NO/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "nb-NO";
|
locale = "nb-NO";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "f663e884cad7ded824f03952a8c563e317dd5768962fb13e3e484cfdf2061e42";
|
sha256 = "de2bfc3bfc2f285a42cbcc800867395d132a56f3aaed8ff687c9e95706164ad0";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-x86_64/nl/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/nl/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "nl";
|
locale = "nl";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "e4a48f5b5d3ea2310b0236f030086defb6c3e07c0cc21a1123979c31b5a7020e";
|
sha256 = "4b7be1a4717a4b42bdf3b7583b2a1fa6cc9cfcad52ac7fafa4435230dec70048";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-x86_64/nn-NO/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/nn-NO/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "nn-NO";
|
locale = "nn-NO";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "5724f509e78558ba4f81b695e8ede6530ed11c355544a717791f21de2e9bd13a";
|
sha256 = "0ba39f2e8b6895216d97e13809749fb6a1237c5bfd0c1f8ef9e365218d1422e4";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-x86_64/pa-IN/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/pa-IN/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "pa-IN";
|
locale = "pa-IN";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "d0c0b1f7fdf8096f2b68361a2d0d50b96b763f4b06b59ad83299cd3a50fb64f4";
|
sha256 = "2bf07cc1f213c20b2f181cd104eb6cdd6b5f885ccff2774817ad95840addf3ef";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-x86_64/pl/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/pl/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "pl";
|
locale = "pl";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "a6960122b0a16afb23151039da5b815e3fa49924459a7e2977c5a6ed757456a2";
|
sha256 = "9d2607c5d61ef121a383eb71d5bb650ba0ccb6b441666bbac5a9f3b91377f574";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-x86_64/pt-BR/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/pt-BR/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "pt-BR";
|
locale = "pt-BR";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "8cda6290381759cf776d0d3d8ce5df1fb5e9eb646fb0d2c6d294e04bc11548ba";
|
sha256 = "cab1a3fabb975895b0c57bb4cb3b90f9386d0c33228b24edc13095d7d644d727";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-x86_64/pt-PT/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/pt-PT/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "pt-PT";
|
locale = "pt-PT";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "ee722a15adc1091789655fbd1acfb73bc607853ccb9eeb19c02aa1a0af7c27fc";
|
sha256 = "53b44f8caae2a2ca878435d988dbaec7c188c2fe236efcda8b92b4310aa3119f";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-x86_64/rm/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/rm/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "rm";
|
locale = "rm";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "b9995a75cf4b874060974e8418f26ff2bdc6c5e620d55d36ff856a3b0415a9ae";
|
sha256 = "f170779793afc440c273b8826cc456af903a98ac9694b1aae6ee50a5bec2be26";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-x86_64/ro/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/ro/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "ro";
|
locale = "ro";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "078033f2d95dbf736d1f52da07c8b373b8d9f76cb1054495f9c2b9b39da56b4e";
|
sha256 = "d0628abef66e2585db898834ddbd3ad9e97edea7269538dbd4b4520f22969b4a";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-x86_64/ru/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/ru/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "ru";
|
locale = "ru";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "1c29d7ef67161430f392ed02e3344e136ca16199cef14df75af472c096e94f4a";
|
sha256 = "077b682cc7365aab8fb3100d5f487fc873a16a4fcf71dc25e63a2604b57ccc00";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-x86_64/si/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/si/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "si";
|
locale = "si";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "67829f91431cbfb1213fb9c7e70b4dcd25b4c2e0b3b433e466684ae582e583b5";
|
sha256 = "7fc582c2f23b197da426ff0150941ea59fe1da26c84df41bff88039ff3fdf4fb";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-x86_64/sk/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/sk/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "sk";
|
locale = "sk";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "73d935c1b4f8e353a3aaffedbbe91a34c3ef09e10de8526fb1aeb857640bfb4f";
|
sha256 = "cde3c240b1718085b36e9479eb9717202c1a179d9cd2cd094901074d666fb763";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-x86_64/sl/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/sl/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "sl";
|
locale = "sl";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "0686fcf2458572e3be774b1a18400d649bb8618910b3d92ea20a0111a2373dc3";
|
sha256 = "54ee18a338c727838db7cdca4c458d4b9248c626a3338ec83c41001d124d2917";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-x86_64/sq/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/sq/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "sq";
|
locale = "sq";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "b3245baa380a84916021643cba7dedaf8c4b030df87ad358b03f245478cc3a84";
|
sha256 = "511209ca3eb810250fef3b0b01f71941bc0436410716974244aa9b5b1193582b";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-x86_64/sr/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/sr/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "sr";
|
locale = "sr";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "8436ecac0bbac402c24fe75ee94272d8cef563f31dbf52027bb6c429df3d52c9";
|
sha256 = "d22da1e4ab790ffb3e8a8c3928adfe8c1b7b65c08a5dbaf2bb63473b08fb5207";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-x86_64/sv-SE/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/sv-SE/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "sv-SE";
|
locale = "sv-SE";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "288ccc7ba5040126801af4fc9a19a44e6498a034fbc483ae8bd626b8c11e0fa1";
|
sha256 = "c7826bfef5b705fb5d00b6ade07d092bfed25d74b6992308027e8ea99f2ed16b";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-x86_64/th/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/th/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "th";
|
locale = "th";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "c59e1b0cddf5b65690acbcbf7a23c08db290bf953eafc0cc7c1a8f6ed6da5312";
|
sha256 = "cba4789bcd072a21d5e131f0aed7aed1775f6122776f873b54fd9832bc5b621b";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-x86_64/tr/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/tr/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "tr";
|
locale = "tr";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "a0c894db24906ce1b4386acf404feb212103ae5d1ddab7c2e2b77a0903a133c8";
|
sha256 = "8f8345e6722931b495755ccf67b0546443e11d435cfe809edd00f6e3565a17bc";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-x86_64/uk/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/uk/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "uk";
|
locale = "uk";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "4ed5efc42866fe755a62a84a74a6f7535e50561fe3ab6d54b9765b0da93229a6";
|
sha256 = "cce394a934ab0352cbd980d29a61fc1be4e66636ab5e31d358fa2efc82e17c19";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-x86_64/uz/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/uz/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "uz";
|
locale = "uz";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "690a6d3b774be3f4cdb8468e191de18fcc1ffce06046c32f25207732d16da1b5";
|
sha256 = "4a94d98472bcbb34a19b58c8e4caeb2e29c58d4d7496ba0d4af02a8aa0fe3802";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-x86_64/vi/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/vi/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "vi";
|
locale = "vi";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "30971dab3bf4e13665d779d83bff7ee0ca9bc126d57f446f7472c8bd5ba490ee";
|
sha256 = "a48de334712d154917d6285a84ab115f48e672fdbcd9a7469013d3b07524562e";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-x86_64/zh-CN/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/zh-CN/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "zh-CN";
|
locale = "zh-CN";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "00cba2ab030699fe429d138dd572fcad5c4aaf6236f5e6ff8659fe577c27aff3";
|
sha256 = "6892a5236ac0abecaa657b98929fd9feeaa0ac9d4d64e000ced26687c4fa96a3";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-x86_64/zh-TW/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-x86_64/zh-TW/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "zh-TW";
|
locale = "zh-TW";
|
||||||
arch = "linux-x86_64";
|
arch = "linux-x86_64";
|
||||||
sha256 = "4eb969ea56666f12804dd7c63f5872be4c0194d10335a52dbbb041c5c18d3e53";
|
sha256 = "292ae08c031cd40a493348dcf39adfecbb9372288cd2cc4bb5ada9eaee5a7649";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-i686/af/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/af/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "af";
|
locale = "af";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "8484971834097887f0b2f61286fcb14fa1f60bbd25d4d54f6ef5b390a9eedd64";
|
sha256 = "26a1e66facb1839a8a2dcb2fffe3677a5d6f9c68343293625b22faf553ff1244";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-i686/ar/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/ar/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "ar";
|
locale = "ar";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "345546bf8da50e507c8205cdd9e933e1bec524080f9c4c439c26a1e55ba8e22f";
|
sha256 = "6625bb6b5374ae174b21d53735c4d51d3d8464556ff42ac9b270908991837989";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-i686/ast/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/ast/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "ast";
|
locale = "ast";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "d11e78aa384af2e11a6ecb41d82f0fbc1d1b4b19d137ff9ac15f8858dfa0a3f9";
|
sha256 = "57e8de5bbace8def637356ac7b519155411f8b5b2dd6496ebbdde102fea490fc";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-i686/be/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/be/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "be";
|
locale = "be";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "c99b7cb728432c4d8d5281206e7a72757621066d2403fe9d2305ce9f40635a46";
|
sha256 = "c045e2b129cd373ed1b2a6ce4d12d4dd3dbcf92c380a1dd8fa237f001f7c5bda";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-i686/bg/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/bg/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "bg";
|
locale = "bg";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "e8a6e2e53757a27954728c87a23f1631148d9391118d16cde1a8eef31c641317";
|
sha256 = "5bd9ded232f60b88be72a5cd301b02c6bc6a6651be48e08ebe5358aaa801dd6e";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-i686/br/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/br/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "br";
|
locale = "br";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "65c138cc97aa673c8a44f7faadf3f31524ea71a1e5b8ad9d5cad7c0c9fcb39f7";
|
sha256 = "1dc7583fe66a26b040e1a46281964898c5a79ead6516e02a0c1ec7a175962621";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-i686/ca/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/ca/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "ca";
|
locale = "ca";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "0eaffda4000d85a5f369c3be6edc9561c54047def9d8790af0195bf3fa7f85da";
|
sha256 = "68cc1ba9382be6d5b90e94fdc6fd1403b2b07c67759be80d2623fcd41b16f51f";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-i686/cak/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/cak/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "cak";
|
locale = "cak";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "0765345951e7a3c4604ba633f7e029cbad2af783e72325147c4a1e48a5cb65bf";
|
sha256 = "006d1806c7ce336fb51bcc74d4907a6aacb43c0902e0b323b638f9a9d2664ed1";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-i686/cs/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/cs/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "cs";
|
locale = "cs";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "2c254e630288415de40276ef6e4d59bdd677568a4f24629136e36938fd03563c";
|
sha256 = "5b342803243a51a9e521705c1082c87cc528ac59475d6b893ca475ecb10ee02c";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-i686/cy/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/cy/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "cy";
|
locale = "cy";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "ce71a9c112876c4ff47c09e5feb39dbb3ed2c002c79abef8383735e9d74c5c9c";
|
sha256 = "55bf6bc1aa371ad52097e89dc26af4fd11a2afc73b4ece79ae3c3bf0294fe5fc";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-i686/da/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/da/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "da";
|
locale = "da";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "644d65f2245f51c0ec992554e87223db813d121973c76141f6b0a121b9a278e2";
|
sha256 = "41d21b7065bb4a11b80990daf550a29e5d588965c83cb48a762bba7bcbbec502";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-i686/de/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/de/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "de";
|
locale = "de";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "422274c487c76579600ab0c00b815e079a0225a6e87b2a8c9b2e2e93f252e080";
|
sha256 = "190339793ab6b5bcbbea2e81a1c783fa91dc18ac702870bd045ba597d0c826d0";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-i686/dsb/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/dsb/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "dsb";
|
locale = "dsb";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "5c3676f8ce30fe42f0dcfb0ef8d793929527bef0d62e5014e48116ec583670ac";
|
sha256 = "068243c6d19d9c5ba9ff4ce9793db643555657593659176fb543eba5cbde7c44";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-i686/el/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/el/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "el";
|
locale = "el";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "94a3af4bc068b7bd7d3ef8e649dcd95a5db30aa4906b0702911ffb837b02ba23";
|
sha256 = "ab93bb707a7bf50813b067c7d2f5f72e858073080e28094a917a4e5715612053";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-i686/en-CA/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/en-CA/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "en-CA";
|
locale = "en-CA";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "8be631960ed39fdfb5d97f550a1be0d0de2bd237ad80162dc580cac17c79d190";
|
sha256 = "2bbc9fe5efb8905d069174d939933b64dfeba6716f81487b4aedcea7e00fb48a";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-i686/en-GB/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/en-GB/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "en-GB";
|
locale = "en-GB";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "991b14eb38814c70170e3404d5e659c00504c4792ed104d86097a71542ad0f0d";
|
sha256 = "6ac3648deccc9b3b01575791fadec6bb9210aeae4d32934f7ae7ddee7d857b93";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-i686/en-US/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/en-US/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "en-US";
|
locale = "en-US";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "ab8487bfd03b26dea36db6da1e59294322392365da9cd6f13e2b454b07f9d77d";
|
sha256 = "e423d465824e4b56f3899fb15dbac1b016832446ded5c46b8bde0c279ddd3df2";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-i686/es-AR/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/es-AR/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "es-AR";
|
locale = "es-AR";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "4e7c1248cdaf72d98a41738dee2e1c95b7e1be68beaee0eb41b0184cda8f75c2";
|
sha256 = "925c762d84e4620b96b8feb73a4b5506fe3dc339c0ef316e23ef7ea636ad8da6";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-i686/es-ES/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/es-ES/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "es-ES";
|
locale = "es-ES";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "af2c06a28cf1272d692f0a7d652716cc7419f92c069b828c3ceaae0b6e9cbbee";
|
sha256 = "d75ea97c5cfa524c93055af618cbbd27a6ef8c2125ebe963467f0e93f9f80ea3";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-i686/et/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/et/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "et";
|
locale = "et";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "1e8bb2945185187e5e3a21f66f0ef94f9431945f51f1d13fbd36d1b67a2e6e3b";
|
sha256 = "f925832734574c0056ce60edc9630db70d262b993c913da167f01b51f9ec14b1";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-i686/eu/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/eu/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "eu";
|
locale = "eu";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "be969ada044ade28a438b35d8b65e4a14995e24341f15a06b08dd6da7b5ef7df";
|
sha256 = "60f27f7d725bb90ec93ab247c708442506e9532c050bc7a66b5d23db2dcab91a";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-i686/fa/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/fa/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "fa";
|
locale = "fa";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "8dedd020f9d7d0869c2d394f7f643cb6c95be59ce5e7a63a736493b66108154e";
|
sha256 = "505373b341db6e20b90d555815974a232b6ec685b4301e9b81305092806d721e";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-i686/fi/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/fi/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "fi";
|
locale = "fi";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "5d1fba8f83af7f02359b7469c036cc8438dc1284aa1c68676245966faa7aef81";
|
sha256 = "6f9c715ae0d7db81db3ee72d822ea1d9395b30d0a4a2f46c50f77e4a156df27f";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-i686/fr/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/fr/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "fr";
|
locale = "fr";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "49b23d9fae7f132908b8d3498fb5f17321c25037bf300188dd2916ac947f0086";
|
sha256 = "5600b094c00d9607e91f2c28aa99de75c87999a1d16739f926812a0e9bdcda53";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-i686/fy-NL/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/fy-NL/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "fy-NL";
|
locale = "fy-NL";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "7a4c4e6a7801805685b062b402c36d9c53e69864fad37d7e7da08270528caf74";
|
sha256 = "3fd24a4704df03e83bdebdf9a98a085849a72de939aa21c8fb93051ca9ddab85";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-i686/ga-IE/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/ga-IE/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "ga-IE";
|
locale = "ga-IE";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "ff396a9fd281a954c4f8fb7d244f4d38f525e6b4a2b60e6be349c77dfdc0cc08";
|
sha256 = "1f69cea70de04de5458a877b9ac3c2cb9cb04a60f888cdb19118bb04156540e2";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-i686/gd/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/gd/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "gd";
|
locale = "gd";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "c7d41e9cfd5fc3b3f2b7500cb0c3825c54ae1b5a0ac43de81e7bd1d89e7d2937";
|
sha256 = "d33666cb1812541a81f91b457a7d9d3dba3ede5b90f0e56d31d90dd8359e077b";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-i686/gl/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/gl/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "gl";
|
locale = "gl";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "b029af91843cceeba4b0cb8f65290c7d8ae847b0e297bf16c9f596416fb7d973";
|
sha256 = "5694106a7bccd7dacc35d89f4c2dc3080be40f937d5b3a18e6797a2dad1dfdc4";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-i686/he/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/he/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "he";
|
locale = "he";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "0378df8e3e79fbdc85bee602d2215a088f9f9bffaa65ea66808fe27efd38ef3f";
|
sha256 = "77e2e3e1872c67de101d3fca87a3c308b26eb47f06222f0504a95e42f9248d39";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-i686/hr/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/hr/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "hr";
|
locale = "hr";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "1d4c9f9ff3d78d049769404088bc2cc8e7c45480aca2da53974f3388d0f156a0";
|
sha256 = "513c4d88387c7ac3463047b4e84c2f049dcb0dcc205bcf0d1b6935f94db16a88";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-i686/hsb/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/hsb/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "hsb";
|
locale = "hsb";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "8a0bc3d8b5c58b44f299243c7ac9e0166b530c26e6c7c71a2eacb7b6e2b9d9c0";
|
sha256 = "f2731aff055f734befefbd17778ccf8962c882266443b9ff5e6e6babcc09c0c4";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-i686/hu/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/hu/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "hu";
|
locale = "hu";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "6ea2a35507444301cc1a7dd970a69b21a350254cc5de676406b09c55596e146c";
|
sha256 = "c29018382b2d0d45727e23bbaf3a37661ccb7908912a24ed5ff3042766ecdec9";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-i686/hy-AM/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/hy-AM/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "hy-AM";
|
locale = "hy-AM";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "f6f744b1ecdff58e0bf1ef315705f8e0dc17bb3fab3db3d6a54004632eb5e037";
|
sha256 = "f9152a462ac758fe21c46e734bc8d8e727479f4cc8c7c26cda43bfc896244596";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-i686/id/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/id/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "id";
|
locale = "id";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "6cc9fec045a8ba154203fa597e4c67335e4461dc2026d27cc7675b9ebef03f8c";
|
sha256 = "e336ee15d25b0edca6492a765af7a6b0eed3ef30155c908e4940985e373304b5";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-i686/is/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/is/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "is";
|
locale = "is";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "c2e9b5fba27f077833c49910dc82922d80fa3d34b954aa5440626030e103a6c6";
|
sha256 = "6495cec1de969c1f30ef042fe604027014161497ed77eb327451eb4a70f7b1a2";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-i686/it/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/it/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "it";
|
locale = "it";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "62c7ba5135cd6c4cf3e079dc91699574328146d1b7258b609d8e6374be5a1596";
|
sha256 = "7bb395c5b3cda42c41196f06be6ed2f35eff958c3a9325807c42616b971087c3";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-i686/ja/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/ja/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "ja";
|
locale = "ja";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "3cf3692667897274da887fd7b055f9b3887cdd62d840fef44b83a9b991ae6a77";
|
sha256 = "ec313b0754cffa5ed388e983faa394b146cb5227c99e74ee681ab833540b1cf4";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-i686/ka/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/ka/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "ka";
|
locale = "ka";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "5f06a74d0b4aa431648424fd0c074f192914da9d28bbd54b8303372aba1201ec";
|
sha256 = "13b8d137d2b1da647ed603208a4cd275e5cc11d3395a5709629ed8965c5c355d";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-i686/kab/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/kab/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "kab";
|
locale = "kab";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "42540cb34f2f32eb713dec1609ac708b176110a09e6be5723fad3f1d1175d251";
|
sha256 = "a8780a5af7cd112d05a2b13469ff40d09c1909b2a09012a4ac7883b8555c3b71";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-i686/kk/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/kk/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "kk";
|
locale = "kk";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "6aad09c45d90c39b2b3b81b26888de00e1e8593fc53304d87fec5b6caeee2459";
|
sha256 = "1a1b0ac46b10eda11ffa4a53dcf53c1dce2a2a52355e08e44960d135a8feea91";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-i686/ko/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/ko/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "ko";
|
locale = "ko";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "94291ef5626c5d56b7923648ccaf0723bb0588a9898dc8b28f227949c138b325";
|
sha256 = "312c211b3079191b5d53cf5052e0225fee2b4e699a848b3d29a8efdf3192185b";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-i686/lt/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/lt/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "lt";
|
locale = "lt";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "10bc645a6577fd310f0bcd85f686d6e43a2c58eaf910e3d084a97fbca3d3c4b3";
|
sha256 = "817b079ecff259043a0bf3abece031c15e04a2a615b49314d8377da6ee8feebc";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-i686/ms/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/ms/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "ms";
|
locale = "ms";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "f64aac07837b287cfc55b30ef30989b91b1536ee3823087deb4ecd5e5dc35d08";
|
sha256 = "737b88b2fd394851143a798508b537b921fde8c0648856e09426102e7962ef7d";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-i686/nb-NO/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/nb-NO/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "nb-NO";
|
locale = "nb-NO";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "250be8abfa2e95e89d01cce787f210db2ead934f58f426c8fef6b0807bdc37a7";
|
sha256 = "9754dd9cc6ca38970a50b3f26d0d2fe1cb1c3a66a77829489cf6f2098f7f244f";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-i686/nl/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/nl/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "nl";
|
locale = "nl";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "50d4354bef2bffdfc7f51f0d855aa27f1c2c4798d623b50f8517fb29e6055e95";
|
sha256 = "b43da367f973e7b2899967c777514262f4503778d550bee27c5b11651555cc17";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-i686/nn-NO/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/nn-NO/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "nn-NO";
|
locale = "nn-NO";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "6eaaf29fece0729b40e05b79d7c3875862eabd8c87fb992a1c36334437501dbb";
|
sha256 = "cb0bae6a905c2ffc39f173519ab9dcdd7835c1b9c169f778727b55eeb8c67cfa";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-i686/pa-IN/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/pa-IN/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "pa-IN";
|
locale = "pa-IN";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "36a2de0519ab3edbbdff6e6ed00fb29be936c1db8083780e441832647a939ac7";
|
sha256 = "d9d7c15ca519636ff93e0f1ec956e131b5bc92bb18a67c7958140ebd75ca84c0";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-i686/pl/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/pl/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "pl";
|
locale = "pl";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "5f7289ff86b91e62365c0fee423e1823bf8642ac18e0377bb12f0a352df3e675";
|
sha256 = "7cbe410b721565b676d6a9c0d09e163a7452b0a9137672f654f8fdeca6212a27";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-i686/pt-BR/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/pt-BR/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "pt-BR";
|
locale = "pt-BR";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "e3107e2fbaaaa2be0bc1f54c837a26052f407d08cc0f6a9225045c295323b339";
|
sha256 = "aa4fbe2a656d937559c8556549f0cc2d9f8fa0c75ad1ede55c9e8877a63538cd";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-i686/pt-PT/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/pt-PT/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "pt-PT";
|
locale = "pt-PT";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "76a119289c6fd93531945945ea9061b0e243a23b050cc6d4b65e50c84f32d631";
|
sha256 = "63a2c44c1ec1486574c8addf920e8561f792d01fb8179239fb268e5277e68782";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-i686/rm/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/rm/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "rm";
|
locale = "rm";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "db6109fc701fd86068e2bfd28619f7ff3e8984dc2dd527b15069a636caff72de";
|
sha256 = "8610c130d68a8d5f38ea179b13bdd17ab349cca8647470b4e2987937676f3c5e";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-i686/ro/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/ro/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "ro";
|
locale = "ro";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "6ebd451d5dea498c610aa8fcf64033768dc63b1c5b3d911a078b885005387a43";
|
sha256 = "d809cc26b134f707579e78e624f654b569d33d2282391943eeabfd494388f4f9";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-i686/ru/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/ru/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "ru";
|
locale = "ru";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "fcbfbce5906a720982e1a38043afa9ad24af5dee56594846fcafe1d18f8f6788";
|
sha256 = "1d73258212131087d878fac0087f758cd11209aeeaff075b0352f8414769d3d7";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-i686/si/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/si/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "si";
|
locale = "si";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "acd5bf205178b62a8f3c867d1eb9b25e8e5f9227e342375521f06474fae90618";
|
sha256 = "342ddb753fc1870321613e7668a741269bfff786f21ff22f4f8f84f5e1df9c2a";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-i686/sk/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/sk/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "sk";
|
locale = "sk";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "021f126842a7320463b4eef88134d63b29cc8658351c140a1c25854dc4aec83e";
|
sha256 = "241cae2dbe7130a3df8d64e99fce375c0966df0cf4dbd6cbddfb069f736c3450";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-i686/sl/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/sl/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "sl";
|
locale = "sl";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "cdee34a796c4a4d4c879fd93a08781784afe5d0f7795d3d0c8c26783500a26d3";
|
sha256 = "d09d44f1fd9e90e71e67334eed2df3eacdbc2509782e625e25aea3b993b1f28a";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-i686/sq/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/sq/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "sq";
|
locale = "sq";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "17c18f91b9152438ec0b12ee9d99a64d7a90cd4f8db5eed909b11df5b9fdad49";
|
sha256 = "afa21cf461d53c2a3e781e45b7802a0b5ffcb0ca4c4452865bdbf2bceeb13776";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-i686/sr/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/sr/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "sr";
|
locale = "sr";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "7c471edbeda0ecee64bcee08a703e3726f8bd3dd9f2579295abd080d53afcb73";
|
sha256 = "15b3faf5cef87e1101629410cdb169f81da94b5e1b0902d02b161ef67df15e8f";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-i686/sv-SE/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/sv-SE/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "sv-SE";
|
locale = "sv-SE";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "eef3af1ef0969cffbe960d420bf121293dc90aab7e45a4c3f601f8167a5ec58a";
|
sha256 = "b42f3e8aefc4ebfc718ace6eda4d9416752dbec346f1a212fa637edfe08277dc";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-i686/th/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/th/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "th";
|
locale = "th";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "94ae0ccfbee17713cfd91f18e2c3a1f7d8bc9ecb717ba0707845b2f0c36ab47c";
|
sha256 = "0972ee48e0f8f0e6f81831a5c8b3d832c7af05477a3f824afb252c1f32d6843a";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-i686/tr/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/tr/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "tr";
|
locale = "tr";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "c699ea9c567eee815530db25183a98db0cc96d244ec3dec151979b8ab1974748";
|
sha256 = "5dccdb0c97511aab0926caf679dced22609fb0e702b87078ac9379c94b3aed37";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-i686/uk/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/uk/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "uk";
|
locale = "uk";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "8b4ec008865b5114b2451464a7d9c518a084d0517dc54e58d9ed4fa568a9745d";
|
sha256 = "526e1cdadbf15a0aee1b31607f39710f90fdd6ea23623c74fbc87928b0b2056c";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-i686/uz/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/uz/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "uz";
|
locale = "uz";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "3a8864594a11e514a52e50b0188054b56d245a5737ec4465c6ff0f5d5678216f";
|
sha256 = "46454f21518cdeee20dcd0ed3f57a45cf8ab3a240d55cf2df36aed253307fb99";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-i686/vi/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/vi/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "vi";
|
locale = "vi";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "51991f70a7876b6dd07861446e9adf0939fd636396ff9588594638f644447530";
|
sha256 = "d624ec4f25277ae1b4b463e0c8381371562cf4185aab3ed67b9463b3dadde5dd";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-i686/zh-CN/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/zh-CN/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "zh-CN";
|
locale = "zh-CN";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "b185bdd74b03343dacffd4564cef1c0434b3a18614f1942325bd1c2230c64db5";
|
sha256 = "3699eefc2f941a4b32305a934a02bb94b5213c4584bfeb816859de471e2d2f08";
|
||||||
}
|
}
|
||||||
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.10.2/linux-i686/zh-TW/thunderbird-78.10.2.tar.bz2";
|
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/78.11.0/linux-i686/zh-TW/thunderbird-78.11.0.tar.bz2";
|
||||||
locale = "zh-TW";
|
locale = "zh-TW";
|
||||||
arch = "linux-i686";
|
arch = "linux-i686";
|
||||||
sha256 = "e26ac3909969514959e7b6bf60a453ecd2b555eac7ca7b798f3d38376b183207";
|
sha256 = "9d6878ab69fcf266f1b226100a5b26d78d8d604f741827ae8f62fca665adf557";
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
@ -73,13 +73,13 @@ assert waylandSupport -> gtk3Support == true;
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "thunderbird";
|
pname = "thunderbird";
|
||||||
version = "78.10.2";
|
version = "78.11.0";
|
||||||
|
|
||||||
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 =
|
||||||
"3sc6n3n9bqnsq9qn9myanvxpgdx20c803prla3p236hwidz7snmyp2097ggn42xp765km55n11drxalnslsxdypgjikbfdqal05hf5r";
|
"1m12kx830pfzvby8j9i5nb9c5v71vlg4wr0qrjgg3pw5ml9j5x7myrqyfd49l2qppm3xjn08srvmf45avnwq0lrys4sb83iwsd46sf6";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
|
|
@ -4,6 +4,7 @@
|
||||||
substituteAll,
|
substituteAll,
|
||||||
fetchFromGitHub,
|
fetchFromGitHub,
|
||||||
isPy3k,
|
isPy3k,
|
||||||
|
colorama,
|
||||||
flask,
|
flask,
|
||||||
flask-httpauth,
|
flask-httpauth,
|
||||||
flask-socketio,
|
flask-socketio,
|
||||||
|
@ -22,12 +23,12 @@
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
version = "2.3.1";
|
version = "2.3.2";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "micahflee";
|
owner = "micahflee";
|
||||||
repo = "onionshare";
|
repo = "onionshare";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-H09x3OF6l1HLHukGPvV2rZUjW9fxeKKMZkKbY9a2m9I=";
|
sha256 = "sha256-mzLDvvpO82iGDnzY42wx1KCNmAxUgVhpaDVprtb+YOI=";
|
||||||
};
|
};
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Securely and anonymously send and receive files";
|
description = "Securely and anonymously send and receive files";
|
||||||
|
@ -69,6 +70,7 @@ in rec {
|
||||||
];
|
];
|
||||||
disable = !isPy3k;
|
disable = !isPy3k;
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
|
colorama
|
||||||
flask
|
flask
|
||||||
flask-httpauth
|
flask-httpauth
|
||||||
flask-socketio
|
flask-socketio
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue