Merge master into haskell-updates

This commit is contained in:
github-actions[bot] 2024-09-17 00:13:11 +00:00 committed by GitHub
commit a748cedf46
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
307 changed files with 7092 additions and 3974 deletions

View File

@ -46,7 +46,7 @@ jobs:
run: |
git clean -f
- name: create PR
uses: peter-evans/create-pull-request@8867c4aba1b742c39f8d0ba35429c2dfa4b6cb20 # v7.0.1
uses: peter-evans/create-pull-request@6cd32fd93684475c31847837f87bb135d40a2b79 # v7.0.3
with:
body: |
Automatic update by [update-terraform-providers](https://github.com/NixOS/nixpkgs/blob/master/.github/workflows/update-terraform-providers.yml) action.

View File

@ -315,6 +315,22 @@ When reviewing a pull request, please always be nice and polite. Controversial c
GitHub provides reactions as a simple and quick way to provide feedback to pull requests or any comments. The thumb-down reaction should be used with care and if possible accompanied with some explanation so the submitter has directions to improve their contribution.
When doing a review:
- Aim to drive the proposal to a timely conclusion.
- Focus on the proposed changes to keep the scope of the discussion narrow.
- Help the contributor prioritise their efforts towards getting their change merged.
If you find anything related that could be improved but is not immediately required for acceptance, consider
- Implementing the changes yourself in a follow-up pull request (and request review from the person who inspired you)
- Tracking your idea in an issue
- Offering the original contributor to review a follow-up pull request
- Making concrete [suggestions](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/incorporating-feedback-in-your-pull-request) in the same pull request.
For example, follow-up changes could involve refactoring code in the affected files.
But please remember not to make such additional considerations a blocker, and communicate that to the contributor, for example by following the [conventional comments](https://conventionalcomments.org/) pattern.
If the related change is essential for the contribution at hand, make clear why you think it is important to address that first.
Pull request reviews should include a list of what has been reviewed in a comment, so other reviewers and mergers can know the state of the review.
All the review template samples provided in this section are generic and meant as examples. Their usage is optional and the reviewer is free to adapt them to their liking.

View File

@ -1136,6 +1136,12 @@ Example removing all references to the compiler in the output:
}
```
### `runHook` \<hook\> {#fun-runHook}
Execute \<hook\> and the values in the array associated with it. The array's name is determined by removing `Hook` from the end of \<hook\> and appending `Hooks`.
For example, `runHook postHook` would run the hook `postHook` and all of the values contained in the `postHooks` array, if it exists.
### `substitute` \<infile\> \<outfile\> \<subs\> {#fun-substitute}
Performs string substitution on the contents of \<infile\>, writing the result to \<outfile\>. The substitutions in \<subs\> are of the following form:

View File

@ -79,7 +79,8 @@ let
fromHexString toHexString toBaseDigits inPureEvalMode isBool isInt pathExists
genericClosure readFile;
inherit (self.fixedPoints) fix fix' converge extends composeExtensions
composeManyExtensions makeExtensible makeExtensibleWithCustomName;
composeManyExtensions makeExtensible makeExtensibleWithCustomName
toExtension;
inherit (self.attrsets) attrByPath hasAttrByPath setAttrByPath
getAttrFromPath attrVals attrNames attrValues getAttrs catAttrs filterAttrs
filterAttrsRecursive foldlAttrs foldAttrs collect nameValuePair mapAttrs

View File

@ -438,4 +438,76 @@ rec {
${extenderName} = f: makeExtensibleWithCustomName extenderName (extends f rattrs);
}
);
/**
Convert to an extending function (overlay).
`toExtension` is the `toFunction` for extending functions (a.k.a. extensions or overlays).
It converts a non-function or a single-argument function to an extending function,
while returning a two-argument function as-is.
That is, it takes a value of the shape `x`, `prev: x`, or `final: prev: x`,
and returns `final: prev: x`, assuming `x` is not a function.
This function takes care of the input to `stdenv.mkDerivation`'s
`overrideAttrs` function.
It bridges the gap between `<pkg>.overrideAttrs`
before and after the overlay-style support.
# Inputs
`f`
: The function or value to convert to an extending function.
# Type
```
toExtension ::
b' -> Any -> Any -> b'
or
toExtension ::
(a -> b') -> Any -> a -> b'
or
toExtension ::
(a -> a -> b) -> a -> a -> b
where b' = ! Callable
Set a = b = b' = AttrSet & ! Callable to make toExtension return an extending function.
```
# Examples
:::{.example}
## `lib.fixedPoints.toExtension` usage example
```nix
fix (final: { a = 0; c = final.a; })
=> { a = 0; c = 0; };
fix (extends (toExtension { a = 1; b = 2; }) (final: { a = 0; c = final.a; }))
=> { a = 1; b = 2; c = 1; };
fix (extends (toExtension (prev: { a = 1; b = prev.a; })) (final: { a = 0; c = final.a; }))
=> { a = 1; b = 0; c = 1; };
fix (extends (toExtension (final: prev: { a = 1; b = prev.a; c = final.a + 1 })) (final: { a = 0; c = final.a; }))
=> { a = 1; b = 0; c = 2; };
```
:::
*/
toExtension =
f:
if lib.isFunction f then
final: prev:
let
fPrev = f prev;
in
if lib.isFunction fPrev then
# f is (final: prev: { ... })
f final prev
else
# f is (prev: { ... })
fPrev
else
# f is not a function; probably { ... }
final: prev: f;
}

View File

@ -45,6 +45,7 @@ let
const
escapeXML
evalModules
extends
filter
fix
fold
@ -102,6 +103,7 @@ let
take
testAllTrue
toBaseDigits
toExtension
toHexString
fromHexString
toInt
@ -233,11 +235,6 @@ runTests {
];
};
testFix = {
expr = fix (x: {a = if x ? a then "a" else "b";});
expected = {a = "a";};
};
testComposeExtensions = {
expr = let obj = makeExtensible (self: { foo = self.bar; });
f = self: super: { bar = false; baz = true; };
@ -1237,6 +1234,28 @@ runTests {
attrsToList { someFunc= a: a + 1;}
);
# FIXED-POINTS
testFix = {
expr = fix (x: {a = if x ? a then "a" else "b";});
expected = {a = "a";};
};
testToExtension = {
expr = [
(fix (final: { a = 0; c = final.a; }))
(fix (extends (toExtension { a = 1; b = 2; }) (final: { a = 0; c = final.a; })))
(fix (extends (toExtension (prev: { a = 1; b = prev.a; })) (final: { a = 0; c = final.a; })))
(fix (extends (toExtension (final: prev: { a = 1; b = prev.a; c = final.a + 1; })) (final: { a = 0; c = final.a; })))
];
expected = [
{ a = 0; c = 0; }
{ a = 1; b = 2; c = 1; }
{ a = 1; b = 0; c = 1; }
{ a = 1; b = 0; c = 2; }
];
};
# GENERATORS
# these tests assume attributes are converted to lists
# in alphabetical order

View File

@ -351,6 +351,12 @@
githubId = 22131756;
name = "Aaqa Ishtyaq";
};
aarnphm = {
email = "contact@aarnphm.xyz";
github = "aarnphm";
githubId = 29749331;
name = "Aaron Pham";
};
aaronarinder = {
email = "aaronarinder@gmail.com";
github = "aaronArinder";
@ -17635,6 +17641,13 @@
github = "renesat";
githubId = 11363539;
};
rennsax = {
name = "Bojun Ren";
email = "bj.ren.coding@outlook.com";
github = "rennsax";
githubId = 93167100;
keys = [ { fingerprint = "9075 CEF8 9850 D261 6599 641A A2C9 36D5 B88C 139C"; } ];
};
renzo = {
email = "renzocarbonara@gmail.com";
github = "k0001";
@ -19701,11 +19714,11 @@
name = "Kylie McClain";
};
SomeoneSerge = {
email = "sergei.kozlukov@aalto.fi";
email = "else+nixpkgs@someonex.net";
matrix = "@ss:someonex.net";
github = "SomeoneSerge";
githubId = 9720532;
name = "Sergei K";
name = "Else Someone";
};
sontek = {
email = "sontek@gmail.com";
@ -21504,6 +21517,12 @@
githubId = 4044033;
name = "Thomas Sowell";
};
ttrei = {
email = "reinis.taukulis@gmail.com";
github = "ttrei";
githubId = 27609929;
name = "Reinis Taukulis";
};
ttuegel = {
email = "ttuegel@mailbox.org";
github = "ttuegel";
@ -22826,6 +22845,12 @@
githubId = 36407913;
name = "Uli Baum";
};
xelden = {
email = "anpiz@protonmail.com";
github = "Xelden";
githubId = 117323435;
name = "Andrés Pico";
};
xfnw = {
email = "xfnw+nixos@riseup.net";
github = "xfnw";

View File

@ -183,6 +183,16 @@ with lib.maintainers;
githubTeams = [ "cuda-maintainers" ];
};
cyberus = {
# Verify additions by approval of an already existing member of the team.
members = [
xanderio
blitz
];
scope = "Team for Cyberus Technology employees who collectively maintain packages.";
shortName = "Cyberus Technology employees";
};
darwin = {
members = [ toonn ];
githubTeams = [ "darwin-maintainers" ];

View File

@ -356,6 +356,9 @@
- `zx` was updated to v8, which introduces several breaking changes.
See the [v8 changelog](https://github.com/google/zx/releases/tag/8.0.0) for more information.
- The `dnscrypt-wrapper` module was removed since the project has been effectively unmaintained since 2018; moreover the NixOS module had to rely on an abandoned version of dnscrypt-proxy v1 for the rotation of keys.
To wrap a resolver with DNSCrypt you can instead use `dnsdist`. See options `services.dnsdist.dnscrypt.*`
- The `portunus` package and service do not support weak password hashes anymore.
If you installed Portunus on NixOS 23.11 or earlier, upgrade to NixOS 24.05 first to get support for strong password hashing.
Then, follow the instructions on the [upstream release notes](https://github.com/majewsky/portunus/releases/tag/v2.0.0) to upgrade all existing user accounts to strong password hashes.

View File

@ -722,7 +722,7 @@ in
"/nix/.ro-store" = lib.mkImageMediaOverride
{ fsType = "squashfs";
device = "/iso/nix-store.squashfs";
options = [ "loop" ];
options = [ "loop" "threads=multi" ];
neededForBoot = true;
};

View File

@ -47,7 +47,7 @@ with lib;
fileSystems."/nix/.ro-store" = mkImageMediaOverride
{ fsType = "squashfs";
device = "../nix-store.squashfs";
options = [ "loop" ];
options = [ "loop" "threads=multi" ];
neededForBoot = true;
};

View File

@ -96,7 +96,7 @@ in
imports = [
./assertions.nix
./meta.nix
(lib.mkRemovedOptionModule [ "nixpkgs" "initialSystem" ] "The NixOS options `nesting.clone` and `nesting.children` have been deleted, and replaced with named specialisation. Therefore `nixpgks.initialSystem` has no effect lib.anymore.")
(lib.mkRemovedOptionModule [ "nixpkgs" "initialSystem" ] "The NixOS options `nesting.clone` and `nesting.children` have been deleted, and replaced with named specialisation. Therefore `nixpgks.initialSystem` has no effect anymore.")
];
options.nixpkgs = {

View File

@ -1014,7 +1014,6 @@
./services/networking/dhcpcd.nix
./services/networking/dnscache.nix
./services/networking/dnscrypt-proxy2.nix
./services/networking/dnscrypt-wrapper.nix
./services/networking/dnsdist.nix
./services/networking/dnsmasq.nix
./services/networking/dnsproxy.nix

View File

@ -22,6 +22,12 @@ in
nautilus-python
nautilus-open-any-terminal
];
environment.sessionVariables.NAUTILUS_4_EXTENSION_DIR = "${pkgs.nautilus-python}/lib/nautilus/extensions-4";
environment.pathsToLink = [
"/share/nautilus-python/extensions"
];
programs.dconf = lib.optionalAttrs (cfg.terminal != null) {
enable = true;
profiles.user.databases = [{

View File

@ -61,6 +61,12 @@ in
(mkRemovedOptionModule [ "services" "couchpotato" ] "The corresponding package was removed from nixpkgs.")
(mkRemovedOptionModule [ "services" "dd-agent" ] "dd-agent was removed from nixpkgs in favor of the newer datadog-agent.")
(mkRemovedOptionModule [ "services" "dnscrypt-proxy" ] "Use services.dnscrypt-proxy2 instead")
(mkRemovedOptionModule [ "services" "dnscrypt-wrapper" ] ''
The dnscrypt-wrapper module was removed since the project has been effectively unmaintained since 2018;
moreover the NixOS module had to rely on an abandoned version of dnscrypt-proxy v1 for the rotation of keys.
To wrap a resolver with DNSCrypt you can instead use dnsdist. See options `services.dnsdist.dnscrypt.*`
'')
(mkRemovedOptionModule [ "services" "exhibitor" ] "The corresponding package was removed from nixpkgs.")
(mkRemovedOptionModule [ "services" "firefox" "syncserver" ] "The corresponding package was removed from nixpkgs.")
(mkRemovedOptionModule [ "services" "flashpolicyd" ] "The flashpolicyd module has been removed. Adobe Flash Player is deprecated.")

View File

@ -128,8 +128,8 @@ in
lib.concatStringsSep "\n"
(map prependData
((lib.mapAttrsToList (name: value: name + " " + value)) dataDisks)
++ zipListsWith (a: b: a + b)
([ "parity " ] ++ map (i: toString i + "-parity ") (range 2 6))
++ lib.zipListsWith (a: b: a + b)
([ "parity " ] ++ map (i: toString i + "-parity ") (lib.range 2 6))
parityFiles ++ map prependContent contentFiles
++ map prependExclude exclude) + "\n" + extraConfig;
};
@ -222,7 +222,7 @@ in
# Multiple "split" parity files can be specified in a single
# "parityFile", separated by a comma.
# https://www.snapraid.it/manual#7.1
splitParityFiles = map (s: splitString "," s) parityFiles;
splitParityFiles = map (s: lib.splitString "," s) parityFiles;
in
lib.unique (
lib.attrValues dataDisks ++ splitParityFiles ++ contentDirs

View File

@ -312,7 +312,7 @@ in
systemd.services = lib.mapAttrs'
(name: c:
lib.nameValuePair "syncoid-${lib.escapeUnitName name}" (lib.mkMerge [
lib.nameValuePair "syncoid-${escapeUnitName name}" (lib.mkMerge [
{
description = "Syncoid ZFS synchronization from ${c.source} to ${c.target}";
after = [ "zfs.target" ];
@ -376,15 +376,15 @@ in
RestrictNamespaces = true;
RestrictRealtime = true;
RestrictSUIDSGID = true;
RootDirectory = "/run/syncoid/${lib.escapeUnitName name}";
RootDirectory = "/run/syncoid/${escapeUnitName name}";
RootDirectoryStartOnly = true;
BindPaths = [ "/dev/zfs" ];
BindReadOnlyPaths = [ builtins.storeDir "/etc" "/run" "/bin/sh" ];
# Avoid useless mounting of RootDirectory= in the own RootDirectory= of ExecStart='s mount namespace.
InaccessiblePaths = [ "-+/run/syncoid/${lib.escapeUnitName name}" ];
InaccessiblePaths = [ "-+/run/syncoid/${escapeUnitName name}" ];
MountAPIVFS = true;
# Create RootDirectory= in the host's mount namespace.
RuntimeDirectory = [ "syncoid/${lib.escapeUnitName name}" ];
RuntimeDirectory = [ "syncoid/${escapeUnitName name}" ];
RuntimeDirectoryMode = "700";
SystemCallFilter = [
"@system-service"

View File

@ -16,10 +16,10 @@ let
c = BuildmasterConfig = dict(
workers = [${lib.concatStringsSep "," cfg.workers}],
protocols = { 'pb': {'port': ${toString cfg.pbPort} } },
title = '${lib.escapeStr cfg.title}',
titleURL = '${lib.escapeStr cfg.titleUrl}',
buildbotURL = '${lib.escapeStr cfg.buildbotUrl}',
db = dict(db_url='${lib.escapeStr cfg.dbUrl}'),
title = '${escapeStr cfg.title}',
titleURL = '${escapeStr cfg.titleUrl}',
buildbotURL = '${escapeStr cfg.buildbotUrl}',
db = dict(db_url='${escapeStr cfg.dbUrl}'),
www = dict(port=${toString cfg.port}),
change_source = [ ${lib.concatStringsSep "," cfg.changeSource} ],
schedulers = [ ${lib.concatStringsSep "," cfg.schedulers} ],

View File

@ -273,11 +273,11 @@ in
ingressesSet = filterIngressSet tunnel.ingress;
ingressesStr = filterIngressStr tunnel.ingress;
fullConfig = lib.filterConfig {
fullConfig = filterConfig {
tunnel = name;
"credentials-file" = tunnel.credentialsFile;
warp-routing = lib.filterConfig tunnel.warp-routing;
originRequest = lib.filterConfig tunnel.originRequest;
warp-routing = filterConfig tunnel.warp-routing;
originRequest = filterConfig tunnel.originRequest;
ingress =
(map
(key: {

View File

@ -1,273 +0,0 @@
{ config, lib, pkgs, ... }:
let
cfg = config.services.dnscrypt-wrapper;
dataDir = "/var/lib/dnscrypt-wrapper";
mkPath = path: default:
if path != null
then toString path
else default;
publicKey = mkPath cfg.providerKey.public "${dataDir}/public.key";
secretKey = mkPath cfg.providerKey.secret "${dataDir}/secret.key";
daemonArgs = with cfg; [
"--listen-address=${address}:${toString port}"
"--resolver-address=${upstream.address}:${toString upstream.port}"
"--provider-name=${providerName}"
"--provider-publickey-file=${publicKey}"
"--provider-secretkey-file=${secretKey}"
"--provider-cert-file=${providerName}.crt"
"--crypt-secretkey-file=${providerName}.key"
];
genKeys = ''
# generates time-limited keypairs
keyGen() {
dnscrypt-wrapper --gen-crypt-keypair \
--crypt-secretkey-file=${cfg.providerName}.key
dnscrypt-wrapper --gen-cert-file \
--crypt-secretkey-file=${cfg.providerName}.key \
--provider-cert-file=${cfg.providerName}.crt \
--provider-publickey-file=${publicKey} \
--provider-secretkey-file=${secretKey} \
--cert-file-expire-days=${toString cfg.keys.expiration}
}
cd ${dataDir}
# generate provider keypair (first run only)
${lib.optionalString (cfg.providerKey.public == null || cfg.providerKey.secret == null) ''
if [ ! -f ${publicKey} ] || [ ! -f ${secretKey} ]; then
dnscrypt-wrapper --gen-provider-keypair
fi
''}
# generate new keys for rotation
if [ ! -f ${cfg.providerName}.key ] || [ ! -f ${cfg.providerName}.crt ]; then
keyGen
fi
'';
rotateKeys = ''
# check if keys are not expired
keyValid() {
fingerprint=$(dnscrypt-wrapper \
--show-provider-publickey \
--provider-publickey-file=${publicKey} \
| awk '{print $(NF)}')
dnscrypt-proxy --test=${toString (cfg.keys.checkInterval + 1)} \
--resolver-address=127.0.0.1:${toString cfg.port} \
--provider-name=${cfg.providerName} \
--provider-key=$fingerprint
}
cd ${dataDir}
# archive old keys and restart the service
if ! keyValid; then
echo "certificate soon to become invalid; backing up old cert"
mkdir -p oldkeys
mv -v "${cfg.providerName}.key" "oldkeys/${cfg.providerName}-$(date +%F-%T).key"
mv -v "${cfg.providerName}.crt" "oldkeys/${cfg.providerName}-$(date +%F-%T).crt"
kill "$(pidof -s dnscrypt-wrapper)"
fi
'';
# This is the fork of the original dnscrypt-proxy maintained by Dyne.org.
# dnscrypt-proxy2 doesn't provide the `--test` feature that is needed to
# correctly implement key rotation of dnscrypt-wrapper ephemeral keys.
dnscrypt-proxy1 = pkgs.callPackage
({ stdenv, fetchFromGitHub, autoreconfHook
, pkg-config, libsodium, ldns, openssl, systemd }:
stdenv.mkDerivation rec {
pname = "dnscrypt-proxy";
version = "2019-08-20";
src = fetchFromGitHub {
owner = "dyne";
repo = "dnscrypt-proxy";
rev = "07ac3825b5069adc28e2547c16b1d983a8ed8d80";
sha256 = "0c4mq741q4rpmdn09agwmxap32kf0vgfz7pkhcdc5h54chc3g3xy";
};
configureFlags = lib.optional stdenv.isLinux "--with-systemd";
nativeBuildInputs = [ autoreconfHook pkg-config ];
# <ldns/ldns.h> depends on <openssl/ssl.h>
buildInputs = [ libsodium openssl.dev ldns ] ++ lib.optional stdenv.isLinux systemd;
postInstall = ''
# Previous versions required libtool files to load plugins; they are
# now strictly optional.
rm $out/lib/dnscrypt-proxy/*.la
'';
meta = {
description = "A tool for securing communications between a client and a DNS resolver";
homepage = "https://github.com/dyne/dnscrypt-proxy";
license = lib.licenses.isc;
maintainers = with lib.maintainers; [ rnhmjoj ];
platforms = lib.platforms.linux;
};
}) { };
in {
###### interface
options.services.dnscrypt-wrapper = {
enable = lib.mkEnableOption "DNSCrypt wrapper";
address = lib.mkOption {
type = lib.types.str;
default = "127.0.0.1";
description = ''
The DNSCrypt wrapper will bind to this IP address.
'';
};
port = lib.mkOption {
type = lib.types.port;
default = 5353;
description = ''
The DNSCrypt wrapper will listen for DNS queries on this port.
'';
};
providerName = lib.mkOption {
type = lib.types.str;
default = "2.dnscrypt-cert.${config.networking.hostName}";
defaultText = lib.literalExpression ''"2.dnscrypt-cert.''${config.networking.hostName}"'';
example = "2.dnscrypt-cert.myresolver";
description = ''
The name that will be given to this DNSCrypt resolver.
Note: the resolver name must start with `2.dnscrypt-cert.`.
'';
};
providerKey.public = lib.mkOption {
type = lib.types.nullOr lib.types.path;
default = null;
example = "/etc/secrets/public.key";
description = ''
The filepath to the provider public key. If not given a new
provider key pair will be generated on the first run.
'';
};
providerKey.secret = lib.mkOption {
type = lib.types.nullOr lib.types.path;
default = null;
example = "/etc/secrets/secret.key";
description = ''
The filepath to the provider secret key. If not given a new
provider key pair will be generated on the first run.
'';
};
upstream.address = lib.mkOption {
type = lib.types.str;
default = "127.0.0.1";
description = ''
The IP address of the upstream DNS server DNSCrypt will "wrap".
'';
};
upstream.port = lib.mkOption {
type = lib.types.port;
default = 53;
description = ''
The port of the upstream DNS server DNSCrypt will "wrap".
'';
};
keys.expiration = lib.mkOption {
type = lib.types.int;
default = 30;
description = ''
The duration (in days) of the time-limited secret key.
This will be automatically rotated before expiration.
'';
};
keys.checkInterval = lib.mkOption {
type = lib.types.int;
default = 1440;
description = ''
The time interval (in minutes) between key expiration checks.
'';
};
};
###### implementation
config = lib.mkIf cfg.enable {
users.users.dnscrypt-wrapper = {
description = "dnscrypt-wrapper daemon user";
home = "${dataDir}";
createHome = true;
isSystemUser = true;
group = "dnscrypt-wrapper";
};
users.groups.dnscrypt-wrapper = { };
systemd.services.dnscrypt-wrapper = {
description = "dnscrypt-wrapper daemon";
after = [ "network.target" ];
wantedBy = [ "multi-user.target" ];
path = [ pkgs.dnscrypt-wrapper ];
serviceConfig = {
User = "dnscrypt-wrapper";
WorkingDirectory = dataDir;
Restart = "always";
ExecStart = "${pkgs.dnscrypt-wrapper}/bin/dnscrypt-wrapper ${toString daemonArgs}";
};
preStart = genKeys;
};
systemd.services.dnscrypt-wrapper-rotate = {
after = [ "network.target" ];
requires = [ "dnscrypt-wrapper.service" ];
description = "Rotates DNSCrypt wrapper keys if soon to expire";
path = with pkgs; [ dnscrypt-wrapper dnscrypt-proxy1 gawk procps ];
script = rotateKeys;
serviceConfig.User = "dnscrypt-wrapper";
};
systemd.timers.dnscrypt-wrapper-rotate = {
description = "Periodically check DNSCrypt wrapper keys for expiration";
wantedBy = [ "multi-user.target" ];
timerConfig = {
Unit = "dnscrypt-wrapper-rotate.service";
OnBootSec = "1min";
OnUnitActiveSec = cfg.keys.checkInterval * 60;
};
};
assertions = with cfg; [
{ assertion = (providerKey.public == null && providerKey.secret == null) ||
(providerKey.secret != null && providerKey.public != null);
message = "The secret and public provider key must be set together.";
}
];
};
meta.maintainers = with lib.maintainers; [ rnhmjoj ];
}

View File

@ -203,10 +203,13 @@ in {
ln -sf ${cfg.package}/share/php/flarum/public/index.php public/
'' + optionalString (cfg.createDatabaseLocally && cfg.database.driver == "mysql") ''
if [ ! -f config.php ]; then
php flarum install --file=${flarumInstallConfig}
php flarum install --file=${flarumInstallConfig}
fi
'' + ''
if [ -f config.php ]; then
php flarum migrate
php flarum cache:clear
fi
php flarum migrate
php flarum cache:clear
'';
};
};

View File

@ -329,6 +329,6 @@ in {
];
};
meta.maintainers = with maintainers; [ xanderio ];
meta.maintainers = teams.cyberus.members;
meta.doc = ./plausible.md;
}

View File

@ -260,7 +260,6 @@ in {
disable-installer-tools = handleTest ./disable-installer-tools.nix {};
discourse = handleTest ./discourse.nix {};
dnscrypt-proxy2 = handleTestOn ["x86_64-linux"] ./dnscrypt-proxy2.nix {};
dnscrypt-wrapper = runTestOn ["x86_64-linux"] ./dnscrypt-wrapper;
dnsdist = import ./dnsdist.nix { inherit pkgs runTest; };
doas = handleTest ./doas.nix {};
docker = handleTestOn ["aarch64-linux" "x86_64-linux"] ./docker.nix {};

View File

@ -1,148 +0,0 @@
{ lib, pkgs, ... }:
let
snakeoil = import ../common/acme/server/snakeoil-certs.nix;
hosts = lib.mkForce
{ "fd::a" = [ "server" snakeoil.domain ];
"fd::b" = [ "client" ];
};
in
{
name = "dnscrypt-wrapper";
meta = with pkgs.lib.maintainers; {
maintainers = [ rnhmjoj ];
};
nodes = {
server = {
networking.hosts = hosts;
networking.interfaces.eth1.ipv6.addresses = lib.singleton
{ address = "fd::a"; prefixLength = 64; };
services.dnscrypt-wrapper =
{ enable = true;
address = "[::]";
port = 5353;
keys.expiration = 5; # days
keys.checkInterval = 2; # min
# The keypair was generated by the command:
# dnscrypt-wrapper --gen-provider-keypair \
# --provider-name=2.dnscrypt-cert.server \
providerKey.public = "${./public.key}";
providerKey.secret = "${./secret.key}";
};
# nameserver
services.bind.enable = true;
services.bind.zones = lib.singleton
{ name = ".";
master = true;
file = pkgs.writeText "root.zone" ''
$TTL 3600
. IN SOA example.org. admin.example.org. ( 1 3h 1h 1w 1d )
. IN NS example.org.
example.org. IN AAAA 2001:db8::1
'';
};
# webserver
services.nginx.enable = true;
services.nginx.virtualHosts.${snakeoil.domain} =
{ onlySSL = true;
listenAddresses = [ "localhost" ];
sslCertificate = snakeoil.${snakeoil.domain}.cert;
sslCertificateKey = snakeoil.${snakeoil.domain}.key;
locations."/ip".extraConfig = ''
default_type text/plain;
return 200 "Ciao $remote_addr!\n";
'';
};
# demultiplex HTTP and DNS from port 443
services.sslh =
{ enable = true;
method = "ev";
settings.transparent = true;
settings.listen = lib.mkForce
[ { host = "server"; port = "443"; is_udp = false; }
{ host = "server"; port = "443"; is_udp = true; }
];
settings.protocols =
[ # Send TLS to webserver (TCP)
{ name = "tls"; host= "localhost"; port= "443"; }
# Send DNSCrypt to dnscrypt-wrapper (TCP or UDP)
{ name = "anyprot"; host = "localhost"; port = "5353"; }
{ name = "anyprot"; host = "localhost"; port = "5353"; is_udp = true;}
];
};
networking.firewall.allowedTCPPorts = [ 443 ];
networking.firewall.allowedUDPPorts = [ 443 ];
};
client = {
networking.hosts = hosts;
networking.interfaces.eth1.ipv6.addresses = lib.singleton
{ address = "fd::b"; prefixLength = 64; };
services.dnscrypt-proxy2.enable = true;
services.dnscrypt-proxy2.upstreamDefaults = false;
services.dnscrypt-proxy2.settings =
{ server_names = [ "server" ];
listen_addresses = [ "[::1]:53" ];
cache = false;
# Computed using https://dnscrypt.info/stamps/
static.server.stamp =
"sdns://AQAAAAAAAAAADzE5Mi4xNjguMS4yOjQ0MyAUQdg6"
+"_RIIpK6pHkINhrv7nxwIG5c7b_m5NJVT3A1AXRYyLmRuc2NyeXB0LWNlcnQuc2VydmVy";
};
networking.nameservers = [ "::1" ];
security.pki.certificateFiles = [ snakeoil.ca.cert ];
};
};
testScript = ''
with subtest("The server can generate the ephemeral keypair"):
server.wait_for_unit("dnscrypt-wrapper")
server.wait_for_file("/var/lib/dnscrypt-wrapper/2.dnscrypt-cert.server.key")
server.wait_for_file("/var/lib/dnscrypt-wrapper/2.dnscrypt-cert.server.crt")
almost_expiration = server.succeed("date --date '4days 23 hours 56min'").strip()
with subtest("The DNSCrypt client can connect to the server"):
server.wait_for_unit("sslh")
client.wait_until_succeeds("journalctl -u dnscrypt-proxy2 --grep '\[server\] OK'")
with subtest("HTTP client can connect to the server"):
server.wait_for_unit("nginx")
client.succeed("curl -s --fail https://${snakeoil.domain}/ip | grep -q fd::b")
with subtest("DNS queries over UDP are working"):
server.wait_for_unit("bind")
client.wait_for_open_port(53)
assert "2001:db8::1" in client.wait_until_succeeds(
"host -U example.org"
), "The IP address of 'example.org' does not match 2001:db8::1"
with subtest("DNS queries over TCP are working"):
server.wait_for_unit("bind")
client.wait_for_open_port(53)
assert "2001:db8::1" in client.wait_until_succeeds(
"host -T example.org"
), "The IP address of 'example.org' does not match 2001:db8::1"
with subtest("The server rotates the ephemeral keys"):
# advance time by a little less than 5 days
server.succeed(f"date -s '{almost_expiration}'")
client.succeed(f"date -s '{almost_expiration}'")
server.wait_for_file("/var/lib/dnscrypt-wrapper/oldkeys")
with subtest("The client can still connect to the server"):
client.systemctl("restart dnscrypt-proxy2")
client.wait_until_succeeds("host -T example.org")
client.wait_until_succeeds("host -U example.org")
'';
}

View File

@ -1 +0,0 @@
A<>:<3A><08><><EFBFBD>B <0A><><EFBFBD><EFBFBD><1B>;o<><6F>4<EFBFBD>S<EFBFBD> @]

View File

@ -1 +0,0 @@
G½>ֶ©» ל>׀א¥(ׂ²‡¼J•«÷=<3D><EFBFBD>ֱ<EFBFBD>A״:₪®©B †»<E280A0><C2BB>—;oש¹4•S<E280A2> @]

View File

@ -13,7 +13,7 @@ in
{
name = "outline";
meta.maintainers = with lib.maintainers; [ xanderio ];
meta.maintainers = lib.teams.cyberus.members;
nodes = {
outline = { pkgs, config, ... }: {

View File

@ -50,13 +50,13 @@ let
} else portaudio;
in stdenv'.mkDerivation (finalAttrs: {
pname = "musescore";
version = "4.4.1";
version = "4.4.2";
src = fetchFromGitHub {
owner = "musescore";
repo = "MuseScore";
rev = "v${finalAttrs.version}";
sha256 = "sha256-eLtpLgXSc8L5y1Mg3s1wrxr09+/vBxNqJEtl9IoKYSM=";
sha256 = "sha256-wgujiFvaWejSEXTbq/Re/7Ca1jIqso2uZej3Lb3V4I8=";
};
patches = [
# https://github.com/musescore/MuseScore/pull/24326
@ -65,6 +65,11 @@ in stdenv'.mkDerivation (finalAttrs: {
url = "https://github.com/musescore/MuseScore/pull/24326/commits/b274f13311ad0b2bce339634a006ba22fbd3379e.patch";
hash = "sha256-ZGmjRa01CBEIxJdJYQMhdg4A9yjWdlgn0pCPmENBTq0=";
})
(fetchpatch {
name = "fix-crash-accessing-uninitialized-properties.patch";
url = "https://github.com/musescore/MuseScore/pull/24714.patch";
hash = "sha256-ErrCU/U+wyfD7R8kiZTifGIeuCAdKi1q7uxYsoE/OLA=";
})
];
cmakeFlags = [
@ -83,6 +88,8 @@ in stdenv'.mkDerivation (finalAttrs: {
# Don't bundle qt qml files, relevant really only for darwin, but we set
# this for all platforms anyway.
"-DMUE_COMPILE_INSTALL_QTQML_FILES=OFF"
# Don't build unit tests unless we are going to run them.
(lib.cmakeBool "MUSE_ENABLE_UNIT_TESTS" finalAttrs.finalPackage.doCheck)
];
qtWrapperArgs = [
@ -103,12 +110,15 @@ in stdenv'.mkDerivation (finalAttrs: {
dontWrapGApps = true;
nativeBuildInputs = [
wrapGAppsHook3
wrapQtAppsHook
cmake
qttools
pkg-config
ninja
] ++ lib.optionals stdenv.isLinux [
# Since https://github.com/musescore/MuseScore/pull/13847/commits/685ac998
# GTK3 is needed for file dialogs. Fixes crash with No GSettings schemas error.
wrapGAppsHook3
];
buildInputs = [
@ -148,6 +158,29 @@ in stdenv'.mkDerivation (finalAttrs: {
ln -s $out/Applications/mscore.app/Contents/MacOS/mscore $out/bin/mscore
'';
# muse-sounds-manager installs Muse Sounds sampler libMuseSamplerCoreLib.so.
# It requires that argv0 of the calling process ends with "/mscore" or "/MuseScore-4".
# We need to ensure this in two cases:
#
# 1) when the user invokes MuseScore as "mscore" on the command line or from
# the .desktop file, and the normal argv0 is "mscore" (no "/");
# 2) when MuseScore invokes itself via File -> New, and the normal argv0 is
# the target of /proc/self/exe, which in Nixpkgs was "{...}/.mscore-wrapped"
#
# In order to achieve (2) we install the final binary as $out/libexec/mscore, and
# in order to achieve (1) we use makeWrapper without --inherit-argv0.
#
# wrapQtAppsHook uses wrapQtApp -> wrapProgram -> makeBinaryWrapper --inherit-argv0
# so we disable it and explicitly use makeQtWrapper.
#
# TODO: check if something like this is also needed for macOS.
dontWrapQtApps = stdenv.isLinux;
postFixup = lib.optionalString stdenv.isLinux ''
mkdir -p $out/libexec
mv $out/bin/mscore $out/libexec
makeQtWrapper $out/libexec/mscore $out/bin/mscore
'';
# Don't run bundled upstreams tests, as they require a running X window system.
doCheck = false;
@ -157,7 +190,7 @@ in stdenv'.mkDerivation (finalAttrs: {
description = "Music notation and composition software";
homepage = "https://musescore.org/";
license = licenses.gpl3Only;
maintainers = with maintainers; [ vandenoever doronbehar ];
maintainers = with maintainers; [ vandenoever doronbehar orivej ];
mainProgram = "mscore";
platforms = platforms.unix;
};

View File

@ -1,46 +1,62 @@
{ stdenv, lib, mkDerivation, fetchFromGitHub, qmake, pkg-config, alsa-lib, libjack2, portaudio, libogg, flac, libvorbis, rtmidi, qtsvg, qttools }:
{
stdenv,
lib,
fetchFromGitHub,
pkg-config,
qmake,
qttools,
wrapQtAppsHook,
alsa-lib,
flac,
libjack2,
libogg,
libvorbis,
qtsvg,
qtwayland,
rtmidi,
}:
mkDerivation rec {
version = "2.3.0";
stdenv.mkDerivation rec {
version = "2.4.0";
pname = "polyphone";
src = fetchFromGitHub {
owner = "davy7125";
repo = "polyphone";
rev = version;
sha256 = "09habv51pw71wrb39shqi80i2w39dx5a39klzswsald5j9sia0ir";
hash = "sha256-cPHLmqsS4ReqOCcsgOf77V/ShIkk7chGoJ6bU4W5ejs=";
};
nativeBuildInputs = [
pkg-config
qmake
qttools
wrapQtAppsHook
];
buildInputs = [
alsa-lib
libjack2
portaudio
libogg
flac
libjack2
libogg
libvorbis
rtmidi
qtsvg
qtwayland
rtmidi
];
nativeBuildInputs = [ qmake qttools pkg-config ];
preConfigure = ''
cd ./sources/
'';
installPhase = ''
runHook preInstall
install -d $out/bin
install -m755 bin/polyphone $out/bin/
install -Dm444 ./contrib/com.polyphone_soundfonts.polyphone.desktop -t $out/share/applications/
install -Dm444 ./contrib/polyphone.svg -t $out/share/icons/hicolor/scalable/apps/
runHook postInstall
postConfigure = ''
# Work around https://github.com/NixOS/nixpkgs/issues/214765
substituteInPlace Makefile \
--replace-fail "$(dirname $QMAKE)/lrelease" "${lib.getBin qttools}/bin/lrelease"
'';
qmakeFlags = [
"DEFINES+=USE_LOCAL_STK"
"DEFINES+=USE_LOCAL_QCUSTOMPLOT"
];
meta = with lib; {
@ -49,7 +65,10 @@ mkDerivation rec {
mainProgram = "polyphone";
homepage = "https://www.polyphone-soundfonts.com/";
license = licenses.gpl3;
maintainers = [ maintainers.maxdamantus ];
maintainers = with maintainers; [
maxdamantus
orivej
];
platforms = platforms.linux;
};
}

View File

@ -54,19 +54,21 @@ in
}
);
# TODO delete this when we get upstream fix https://debbugs.gnu.org/cgi/bugreport.cgi?bug=73241
eglot = super.eglot.overrideAttrs (old: {
postInstall =
old.postInstall or ""
+ ''
local info_file=eglot.info
pushd $out/share/emacs/site-lisp/elpa/eglot-*
# specify output info file to override the one defined in eglot.texi
makeinfo --output=$info_file eglot.texi
install-info $info_file dir
popd
'';
});
eglot = super.eglot.overrideAttrs (
finalAttrs: previousAttrs: {
postInstall =
previousAttrs.postInstall or ""
# old versions do not include an info manual
+ lib.optionalString (lib.versionAtLeast "1.17.0.20240829.5352" finalAttrs.version) ''
local info_file=eglot.info
pushd $out/share/emacs/site-lisp/elpa/eglot-*
# specify output info file to override the one defined in eglot.texi
makeinfo --output=$info_file eglot.texi
install-info $info_file dir
popd
'';
}
);
jinx = super.jinx.overrideAttrs (old: {
dontUnpack = false;

View File

@ -0,0 +1,28 @@
{
lib,
gn,
melpaBuild,
}:
melpaBuild {
pname = "gn-mode-from-sources";
ename = "gn-mode";
version = "0-unstable-${gn.version}";
inherit (gn) src;
files = ''("misc/emacs/gn-mode.el")'';
# Fixes the malformed header error
postPatch = ''
substituteInPlace misc/emacs/gn-mode.el \
--replace-fail ";;; gn-mode.el - " ";;; gn-mode.el --- "
'';
ignoreCompilationError = false;
meta = {
inherit (gn.meta) homepage license;
maintainers = with lib.maintainers; [ rennsax ];
description = "Major mode for editing GN files; taken from GN sources";
};
}

View File

@ -29,13 +29,13 @@ let
in
melpaBuild {
pname = "lsp-bridge";
version = "0-unstable-2024-09-05";
version = "0-unstable-2024-09-11";
src = fetchFromGitHub {
owner = "manateelazycat";
repo = "lsp-bridge";
rev = "bd0cea9639bb902d22ec05189681eef1f1df7e17";
hash = "sha256-QBtYSZAmdRhZqaR0/y0A1Q8fx62+owfdRiIVZOgWxkQ=";
rev = "fb64891c2585f9fc0b7f2062cc2b98321aa4e4ca";
hash = "sha256-ChpZhFEKvN+1oYHbQKBUMbTjk/U++kCDnImMVtcYVBc=";
};
patches = [

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,75 @@
{
lib,
rustPlatform,
fetchFromGitHub,
pkg-config,
openssl,
stdenv,
vimUtils,
darwin,
}:
let
version = "2024-09-15";
src = fetchFromGitHub {
owner = "yetone";
repo = "avante.nvim";
rev = "f9520c4fdfed08e9cc609d6cd319b358e4ea33a5";
hash = "sha256-8zTDGPnhNI2rQA0uJc8gQRj4JCyg+IkO/D3oHYy4f9U=";
};
meta = with lib; {
description = "Neovim plugin designed to emulate the behaviour of the Cursor AI IDE";
homepage = "https://github.com/yetone/avante.nvim";
license = licenses.asl20;
maintainers = with lib.maintainers; [
ttrei
aarnphm
];
};
avante-nvim-lib = rustPlatform.buildRustPackage {
pname = "avante-nvim-lib";
inherit version src meta;
cargoLock = {
lockFile = ./Cargo.lock;
outputHashes = {
"mlua-0.10.0-beta.1" = "sha256-ZEZFATVldwj0pmlmi0s5VT0eABA15qKhgjmganrhGBY=";
};
};
nativeBuildInputs = [
pkg-config
];
buildInputs =
[
openssl
]
++ lib.optionals stdenv.isDarwin [
darwin.apple_sdk.frameworks.Security
];
buildFeatures = [ "luajit" ];
};
in
vimUtils.buildVimPlugin {
pname = "avante.nvim";
inherit version src meta;
postInstall =
let
ext = stdenv.hostPlatform.extensions.sharedLibrary;
in
''
mkdir -p $out/build
ln -s ${avante-nvim-lib}/lib/libavante_templates${ext} $out/build/avante_templates${ext}
ln -s ${avante-nvim-lib}/lib/libavante_tokenizers${ext} $out/build/avante_tokenizers${ext}
'';
doInstallCheck = true;
# TODO: enable after https://github.com/NixOS/nixpkgs/pull/342240 merged
# nvimRequireCheck = "avante";
}

View File

@ -8537,6 +8537,18 @@ final: prev:
meta.homepage = "https://github.com/olrtg/nvim-rename-state/";
};
nvim-rip-substitute = buildVimPlugin {
pname = "nvim-rip-substitute";
version = "2024-08-30";
src = fetchFromGitHub {
owner = "chrisgrieser";
repo = "nvim-rip-substitute";
rev = "4e5ed58d74d210b853255e3d1a4ab6410f3007b5";
sha256 = "0p6ycz1bq8j5xafn59kyn5xdashbir66gnzlqdpdmzmigw3z9vq1";
};
meta.homepage = "https://github.com/chrisgrieser/nvim-rip-substitute/";
};
nvim-scrollbar = buildVimPlugin {
pname = "nvim-scrollbar";
version = "2024-06-03";

View File

@ -154,6 +154,14 @@
dependencies = with super; [ plenary-nvim ];
};
avante-nvim = (callPackage ./avante-nvim { }).overrideAttrs {
dependencies = with self; [
dressing-nvim
nui-nvim
plenary-nvim
];
};
barbecue-nvim = super.barbecue-nvim.overrideAttrs {
dependencies = with self; [ nvim-lspconfig nvim-navic nvim-web-devicons ];
meta = {

View File

@ -717,6 +717,7 @@ https://github.com/gennaro-tedesco/nvim-peekup/,,
https://github.com/yorickpeterse/nvim-pqf/,HEAD,
https://github.com/jamestthompson3/nvim-remote-containers/,HEAD,
https://github.com/olrtg/nvim-rename-state/,HEAD,
https://github.com/chrisgrieser/nvim-rip-substitute/,,
https://github.com/petertriho/nvim-scrollbar/,HEAD,
https://github.com/dstein64/nvim-scrollview/,,
https://github.com/s1n7ax/nvim-search-and-replace/,HEAD,

View File

@ -78,14 +78,14 @@ let
urllib3
];
in mkDerivation rec {
version = "3.34.10";
version = "3.34.11";
pname = "qgis-ltr-unwrapped";
src = fetchFromGitHub {
owner = "qgis";
repo = "QGIS";
rev = "final-${lib.replaceStrings [ "." ] [ "_" ] version}";
hash = "sha256-E2Ak14h1kWdGq+JNbCeh5YJkr/S9g/0HD834MtgACSA=";
hash = "sha256-VNgUMEA7VKZXsLG1ZYUIlYvjwRrH8LsliGiVRMnXOM0=";
};
passthru = {
@ -151,7 +151,6 @@ in mkDerivation rec {
env.QT_QPA_PLATFORM_PLUGIN_PATH="${qtbase}/${qtbase.qtPluginPrefix}/platforms";
cmakeFlags = [
"-DCMAKE_BUILD_TYPE=Release"
"-DWITH_3D=True"
"-DWITH_PDAL=True"
"-DENABLE_TESTS=False"

View File

@ -79,14 +79,14 @@ let
urllib3
];
in mkDerivation rec {
version = "3.38.2";
version = "3.38.3";
pname = "qgis-unwrapped";
src = fetchFromGitHub {
owner = "qgis";
repo = "QGIS";
rev = "final-${lib.replaceStrings [ "." ] [ "_" ] version}";
hash = "sha256-lArwRtHR/KAsgjpjid6YnPA9BkcG1Mg/KeIIOWN75Kg=";
hash = "sha256-yJFYq4t0LzBr+O2bmtBSeehQ2vfUaZIQfOY68WZcHG4=";
};
passthru = {
@ -152,7 +152,6 @@ in mkDerivation rec {
env.QT_QPA_PLATFORM_PLUGIN_PATH="${qtbase}/${qtbase.qtPluginPrefix}/platforms";
cmakeFlags = [
"-DCMAKE_BUILD_TYPE=Release"
"-DWITH_3D=True"
"-DWITH_PDAL=True"
"-DENABLE_TESTS=False"

View File

@ -1,45 +1,44 @@
{ lib
, fetchFromGitHub
, gitUpdater
, python3Packages
, blueprint-compiler
, meson
, ninja
, pkg-config
, wrapGAppsHook4
, appstream-glib
, desktop-file-utils
, librsvg
, gtk4
, gtksourceview5
, libadwaita
, cabextract
, p7zip
, xdpyinfo
, imagemagick
, lsb-release
, pciutils
, procps
, gamescope
, mangohud
, vkbasalt-cli
, vmtouch
{
lib,
fetchFromGitHub,
gitUpdater,
python3Packages,
blueprint-compiler,
meson,
ninja,
pkg-config,
wrapGAppsHook4,
appstream-glib,
desktop-file-utils,
librsvg,
gtk4,
gtksourceview5,
libadwaita,
cabextract,
p7zip,
xdpyinfo,
imagemagick,
lsb-release,
pciutils,
procps,
gamescope,
mangohud,
vkbasalt-cli,
vmtouch,
}:
python3Packages.buildPythonApplication rec {
pname = "bottles-unwrapped";
version = "51.11";
version = "51.13";
src = fetchFromGitHub {
owner = "bottlesdevs";
repo = "bottles";
rev = version;
sha256 = "sha256-uS3xmTu+LrVFX93bYcJvYjl6179d3IjpxLKrOXn8Z8Y=";
hash = "sha256-ZcUevGY81H3ATTk390ojBp/4zBE2Lui7Qa+Qe8B0XL4=";
};
patches = [
./vulkan_icd.patch
];
patches = [ ./vulkan_icd.patch ];
# https://github.com/bottlesdevs/Bottles/wiki/Packaging
nativeBuildInputs = [
@ -60,38 +59,41 @@ python3Packages.buildPythonApplication rec {
libadwaita
];
propagatedBuildInputs = with python3Packages; [
pathvalidate
pycurl
pyyaml
requests
pygobject3
patool
markdown
fvs
pefile
urllib3
chardet
certifi
idna
orjson
icoextract
] ++ [
cabextract
p7zip
xdpyinfo
imagemagick
vkbasalt-cli
propagatedBuildInputs =
with python3Packages;
[
pathvalidate
pycurl
pyyaml
requests
pygobject3
patool
markdown
fvs
pefile
urllib3
chardet
certifi
idna
orjson
icoextract
]
++ [
cabextract
p7zip
xdpyinfo
imagemagick
vkbasalt-cli
gamescope
mangohud
vmtouch
gamescope
mangohud
vmtouch
# Undocumented (subprocess.Popen())
lsb-release
pciutils
procps
];
# Undocumented (subprocess.Popen())
lsb-release
pciutils
procps
];
format = "other";
dontWrapGApps = true; # prevent double wrapping
@ -107,7 +109,10 @@ python3Packages.buildPythonApplication rec {
homepage = "https://usebottles.com/";
downloadPage = "https://github.com/bottlesdevs/Bottles/releases";
license = licenses.gpl3Only;
maintainers = with maintainers; [ psydvl shamilton ];
maintainers = with maintainers; [
psydvl
shamilton
];
platforms = platforms.linux;
mainProgram = "bottles";
};

View File

@ -1,106 +1,129 @@
{ buildFHSEnv
, symlinkJoin
, bottles-unwrapped
, extraPkgs ? pkgs: [ ]
, extraLibraries ? pkgs: [ ]
{
buildFHSEnv,
symlinkJoin,
bottles-unwrapped,
extraPkgs ? pkgs: [ ],
extraLibraries ? pkgs: [ ],
}:
let fhsEnv = {
# Many WINE games need 32bit
multiArch = true;
let
fhsEnv = {
# Many WINE games need 32bit
multiArch = true;
targetPkgs = pkgs: with pkgs; [
bottles-unwrapped
# This only allows to enable the toggle, vkBasalt won't work if not installed with environment.systemPackages (or nix-env)
# See https://github.com/bottlesdevs/Bottles/issues/2401
vkbasalt
] ++ extraPkgs pkgs;
targetPkgs =
pkgs:
with pkgs;
[
bottles-unwrapped
# This only allows to enable the toggle, vkBasalt won't work if not installed with environment.systemPackages (or nix-env)
# See https://github.com/bottlesdevs/Bottles/issues/2401
vkbasalt
]
++ extraPkgs pkgs;
multiPkgs =
let
xorgDeps = pkgs: with pkgs.xorg; [
libpthreadstubs
libSM
libX11
libXaw
libxcb
libXcomposite
libXcursor
libXdmcp
libXext
libXi
libXinerama
libXmu
libXrandr
libXrender
libXv
libXxf86vm
];
gstreamerDeps = pkgs: with pkgs.gst_all_1; [
gstreamer
gst-plugins-base
gst-plugins-good
gst-plugins-ugly
gst-plugins-bad
gst-libav
];
in
pkgs: with pkgs; [
# https://wiki.winehq.org/Building_Wine
alsa-lib
cups
dbus
fontconfig
freetype
glib
gnutls
libglvnd
gsm
libgphoto2
libjpeg_turbo
libkrb5
libpcap
libpng
libpulseaudio
libtiff
libunwind
libusb1
libv4l
libxml2
mpg123
ocl-icd
openldap
samba4
sane-backends
SDL2
udev
vulkan-loader
multiPkgs =
let
xorgDeps =
pkgs: with pkgs.xorg; [
libpthreadstubs
libSM
libX11
libXaw
libxcb
libXcomposite
libXcursor
libXdmcp
libXext
libXi
libXinerama
libXmu
libXrandr
libXrender
libXv
libXxf86vm
];
gstreamerDeps =
pkgs: with pkgs.gst_all_1; [
gstreamer
gst-plugins-base
gst-plugins-good
gst-plugins-ugly
gst-plugins-bad
gst-libav
];
in
pkgs:
with pkgs;
[
# https://wiki.winehq.org/Building_Wine
alsa-lib
cups
dbus
fontconfig
freetype
glib
gnutls
libglvnd
gsm
libgphoto2
libjpeg_turbo
libkrb5
libpcap
libpng
libpulseaudio
libtiff
libunwind
libusb1
libv4l
libxml2
mpg123
ocl-icd
openldap
samba4
sane-backends
SDL2
udev
vulkan-loader
# https://www.gloriouseggroll.tv/how-to-get-out-of-wine-dependency-hell/
alsa-plugins
dosbox
giflib
gtk3
libva
libxslt
ncurses
openal
# https://www.gloriouseggroll.tv/how-to-get-out-of-wine-dependency-hell/
alsa-plugins
dosbox
giflib
gtk3
libva
libxslt
ncurses
openal
# Steam runtime
libgcrypt
libgpg-error
p11-kit
zlib # Freetype
] ++ xorgDeps pkgs
++ gstreamerDeps pkgs
++ extraLibraries pkgs;
};
# Steam runtime
libgcrypt
libgpg-error
p11-kit
zlib # Freetype
]
++ xorgDeps pkgs
++ gstreamerDeps pkgs
++ extraLibraries pkgs;
};
in
symlinkJoin {
name = "bottles";
paths = [
(buildFHSEnv (fhsEnv // { name = "bottles"; runScript = "bottles"; }))
(buildFHSEnv (fhsEnv // { name = "bottles-cli"; runScript = "bottles-cli"; }))
(buildFHSEnv (
fhsEnv
// {
name = "bottles";
runScript = "bottles";
}
))
(buildFHSEnv (
fhsEnv
// {
name = "bottles-cli";
runScript = "bottles-cli";
}
))
];
postBuild = ''
mkdir -p $out/share

View File

@ -6,7 +6,7 @@ index 6673493..9191004 100644
"/usr/share/vulkan",
"/etc/vulkan",
"/usr/local/share/vulkan",
- "/usr/local/etc/vulkan"
- "/usr/local/etc/vulkan",
+ "/usr/local/etc/vulkan",
+ "/run/opengl-driver/share/vulkan",
+ "/run/opengl-driver-32/share/vulkan",

View File

@ -0,0 +1,35 @@
From 3a0181ab0fb6c40f613894e65009e148c6e652c9 Mon Sep 17 00:00:00 2001
From: Alyssa Ross <hi@alyssa.is>
Date: Mon, 16 Sep 2024 10:24:08 +0200
Subject: [PATCH] Remove outdated musl hack in rlimit_nofile_safe
This was incorrect, because RLIM_FMT is not the format specifier for uintmax_t.
Since 53e84063a ("Change RLIM_FMT to '%llu' for non-glibc builds (#269)"),
RLIM_FMT is correct for musl, so there's no longer any need for this casting
version.
Link: https://github.com/elogind/elogind/pull/288
---
src/basic/rlimit-util.c | 4 ----
1 file changed, 4 deletions(-)
diff --git a/src/basic/rlimit-util.c b/src/basic/rlimit-util.c
index 091c111df..59bdc35a0 100644
--- a/src/basic/rlimit-util.c
+++ b/src/basic/rlimit-util.c
@@ -428,11 +428,7 @@ int rlimit_nofile_safe(void) {
rl.rlim_max = MIN(rl.rlim_max, (rlim_t) read_nr_open());
rl.rlim_cur = MIN((rlim_t) FD_SETSIZE, rl.rlim_max);
if (setrlimit(RLIMIT_NOFILE, &rl) < 0)
-#ifdef __GLIBC__ /// To be compatible with musl-libc, elogind uses an (uintmax_t) cast.
return log_debug_errno(errno, "Failed to lower RLIMIT_NOFILE's soft limit to " RLIM_FMT ": %m", rl.rlim_cur);
-#else // __GLIBC__
- return log_debug_errno(errno, "Failed to lower RLIMIT_NOFILE's soft limit to " RLIM_FMT ": %m", (uintmax_t)rl.rlim_cur);
-#endif // __GLIBC__
return 1;
}
--
2.45.2

View File

@ -1,16 +1,24 @@
{ stdenv
, lib
, fetchFromGitHub
, fetchurl
, fetchpatch
, meson
, ninja
, m4
, gperf
, getent
, acl
, audit
, dbus
, libcap
, libselinux
, pam
, gettext
, pkg-config
, udev
, eudev
, util-linux
, libxslt
, python3Packages
, docbook5
@ -27,13 +35,13 @@
stdenv.mkDerivation rec {
pname = "elogind";
version = "246.10";
version = "255.5";
src = fetchFromGitHub {
owner = "elogind";
repo = pname;
rev = "v${version}";
sha256 = "sha256-+Nv6FL9Yjmfxs24+2mUTP//wbjzGUq4ftgJLfuEqBJg=";
hash = "sha256-4KZr/NiiGVwzdDROhiX3GEQTUyIGva6ezb+xC2U3bkg=";
};
nativeBuildInputs = [
@ -48,12 +56,63 @@ stdenv.mkDerivation rec {
libxslt.bin # xsltproc
docbook5 docbook_xsl docbook_xsl_ns docbook_xml_dtd_42 docbook_xml_dtd_45 # needed for docbook without Internet
# fixes: man/meson.build:111:0: ERROR: Could not execute command "/build/source/tools/xml_helper.py".
python3Packages.python
python3Packages.lxml
python3Packages.jinja2
];
buildInputs = [ libcap ] ++ (if enableSystemd then [ udev ] else [ eudev ]);
buildInputs = [ acl audit dbus libcap libselinux pam util-linux ]
++ (if enableSystemd then [ udev ] else [ eudev ]);
postPatch = ''
substituteInPlace meson.build --replace-fail "install_emptydir(elogindstatedir)" ""
'';
patches = [
(fetchurl {
url = "https://github.com/chimera-linux/cports/raw/49d65fe38be815b9918a15ac2d2ff2b123fc559a/main/elogind/patches/strerror_r.patch";
hash = "sha256-amqXP12mLtrkWuAURb3/aoQeeTSRYlYqL2q2zrKbhxk=";
})
(fetchurl {
url = "https://github.com/chimera-linux/cports/raw/49d65fe38be815b9918a15ac2d2ff2b123fc559a/main/elogind/patches/strerror_r_1.patch";
hash = "sha256-tVUlmPValUPApqRX+Cqkzn7bkIILYSuCouvgRsdl9XE=";
})
(fetchpatch {
url = "https://github.com/chimera-linux/cports/raw/49d65fe38be815b9918a15ac2d2ff2b123fc559a/main/elogind/patches/xxx-musl-fixes.patch";
includes = [
"src/basic/cgroup-util.c"
"src/basic/missing_prctl.h"
"src/libelogind/sd-journal/journal-file.h"
];
hash = "sha256-kY+B1t87E/TtWa83r0VoiojhRrrB667ZhUAHtHE7m28=";
})
(fetchurl {
url = "https://github.com/chimera-linux/cports/raw/49d65fe38be815b9918a15ac2d2ff2b123fc559a/main/elogind/patches/gshadow.patch";
hash = "sha256-YBy1OeWD1EluLTeUvqUvZKyrZyoUbGg1mxwqG5+VNO0=";
})
(fetchurl {
name = "FTW.patch";
url = "https://git.openembedded.org/openembedded-core/plain/meta/recipes-core/systemd/systemd/0005-add-missing-FTW_-macros-for-musl.patch?id=6bc5e3f3cd882c81c972dbd27aacc1ce00e5e59a";
hash = "sha256-SGvP0GT43vfyHxrmvl4AbsWQz8CPmNGyH001s3lTxng=";
})
(fetchurl {
name = "malloc_info.patch";
url = "https://git.openembedded.org/openembedded-core/plain/meta/recipes-core/systemd/systemd/0016-pass-correct-parameters-to-getdents64.patch?id=6bc5e3f3cd882c81c972dbd27aacc1ce00e5e59a";
hash = "sha256-8aOw+BTtl5Qta8aqLmliKSHEirTjp1xLM195EmBdEDI=";
})
(fetchpatch {
name = "malloc_trim.patch";
url = "https://git.openembedded.org/openembedded-core/plain/meta/recipes-core/systemd/systemd/0020-sd-event-Make-malloc_trim-conditional-on-glibc.patch?id=6bc5e3f3cd882c81c972dbd27aacc1ce00e5e59a";
stripLen = 3;
extraPrefix = [ "src/libelogind/" ];
hash = "sha256-rtSnCEK+frhnlwl/UW3YHxB8MUCAq48jEzQRURpxdXk=";
})
(fetchurl {
name = "malloc_info.patch";
url = "https://git.openembedded.org/openembedded-core/plain/meta/recipes-core/systemd/systemd/0021-shared-Do-not-use-malloc_info-on-musl.patch?id=6bc5e3f3cd882c81c972dbd27aacc1ce00e5e59a";
hash = "sha256-ZyOCmM5LcwJ7mHiZr0lQjV4G+XMxjhsUm7g7L3OzDDM=";
})
./0001-Remove-outdated-musl-hack-in-rlimit_nofile_safe.patch
];
# Inspired by the systemd `preConfigure`.
# Conceptually we should patch all files required during the build, but not scripts
@ -68,8 +127,11 @@ stdenv.mkDerivation rec {
'';
mesonFlags = [
"-Drootprefix=${placeholder "out"}"
"-Dsysconfdir=${placeholder "out"}/etc"
(lib.mesonOption "dbuspolicydir" "${placeholder "out"}/share/dbus-1/system.d")
(lib.mesonOption "dbussystemservicedir" "${placeholder "out"}/share/dbus-1/system-services")
(lib.mesonOption "sysconfdir" "${placeholder "out"}/etc")
(lib.mesonBool "utmp" (!stdenv.hostPlatform.isMusl))
(lib.mesonEnable "xenctrl" false)
];
meta = with lib; {

View File

@ -16,13 +16,13 @@
stdenv.mkDerivation rec {
pname = "iptsd";
version = "2";
version = "3";
src = fetchFromGitHub {
owner = "linux-surface";
repo = pname;
rev = "v${version}";
hash = "sha256-zTXTyDgSa1akViDZlYLtJk1yCREGCSJKxzF+HZAWx0c=";
repo = "iptsd";
rev = "refs/tags/v${version}";
hash = "sha256-3z3A9qywmsSW1tlJ6LePC5wudM/FITTAFyuPkbHlid0=";
};
nativeBuildInputs = [
@ -47,13 +47,12 @@ stdenv.mkDerivation rec {
# Original installs udev rules and service config into global paths
postPatch = ''
substituteInPlace etc/meson.build \
--replace "install_dir: unitdir" "install_dir: '$out/etc/systemd/system'" \
--replace "install_dir: rulesdir" "install_dir: '$out/etc/udev/rules.d'"
substituteInPlace etc/systemd/iptsd-find-service \
--replace "iptsd-find-hidraw" "$out/bin/iptsd-find-hidraw" \
--replace "systemd-escape" "${lib.getExe' systemd "systemd-escape"}"
--replace-fail "install_dir: unitdir" "install_dir: '$out/etc/systemd/system'" \
--replace-fail "install_dir: rulesdir" "install_dir: '$out/etc/udev/rules.d'"
substituteInPlace etc/scripts/iptsd-find-service \
--replace-fail "systemd-escape" "${lib.getExe' systemd "systemd-escape"}"
substituteInPlace etc/udev/50-iptsd.rules.in \
--replace "/bin/systemd-escape" "${lib.getExe' systemd "systemd-escape"}"
--replace-fail "/bin/systemd-escape" "${lib.getExe' systemd "systemd-escape"}"
'';
mesonFlags = [

View File

@ -1,7 +1,7 @@
GEM
remote: https://rubygems.org/
specs:
activesupport (7.1.3.2)
activesupport (7.1.3.4)
base64
bigdecimal
concurrent-ruby (~> 1.0, >= 1.0.2)
@ -11,28 +11,29 @@ GEM
minitest (>= 5.1)
mutex_m
tzinfo (~> 2.0)
addressable (2.8.6)
public_suffix (>= 2.0.2, < 6.0)
addressable (2.8.7)
public_suffix (>= 2.0.2, < 7.0)
base64 (0.2.0)
bigdecimal (3.1.7)
bigdecimal (3.1.8)
colorator (1.1.0)
concurrent-ruby (1.2.3)
concurrent-ruby (1.3.3)
connection_pool (2.4.1)
drb (2.2.1)
em-websocket (0.5.3)
eventmachine (>= 0.12.9)
http_parser.rb (~> 0)
eventmachine (1.2.7)
ffi (1.16.3)
ffi (1.17.0)
forwardable-extended (2.6.0)
gemoji (4.1.0)
google-protobuf (4.26.1)
google-protobuf (4.27.2)
bigdecimal
rake (>= 13)
html-pipeline (2.14.3)
activesupport (>= 2)
nokogiri (>= 1.4)
http_parser.rb (0.8.0)
i18n (1.14.4)
i18n (1.14.5)
concurrent-ruby (~> 1.0)
jekyll (4.3.3)
addressable (~> 2.4)
@ -76,26 +77,28 @@ GEM
rb-fsevent (~> 0.10, >= 0.10.3)
rb-inotify (~> 0.9, >= 0.9.10)
mercenary (0.4.0)
mini_portile2 (2.8.5)
minitest (5.22.3)
mini_portile2 (2.8.7)
minitest (5.24.0)
mutex_m (0.2.0)
nokogiri (1.16.3)
nokogiri (1.16.6)
mini_portile2 (~> 2.8.2)
racc (~> 1.4)
pathutil (0.16.2)
forwardable-extended (~> 2.6)
public_suffix (5.0.4)
racc (1.7.3)
rake (13.1.0)
public_suffix (6.0.0)
racc (1.8.0)
rake (13.2.1)
rb-fsevent (0.11.2)
rb-inotify (0.10.1)
rb-inotify (0.11.1)
ffi (~> 1.0)
rexml (3.2.6)
rouge (4.2.1)
rexml (3.3.1)
strscan
rouge (4.3.0)
safe_yaml (1.0.5)
sass-embedded (1.72.0)
sass-embedded (1.77.5)
google-protobuf (>= 3.25, < 5.0)
rake (>= 13.0.0)
rake (>= 13)
strscan (3.1.0)
terminal-table (3.0.2)
unicode-display_width (>= 1.1.1, < 3)
tzinfo (2.0.6)
@ -115,4 +118,4 @@ DEPENDENCIES
jemoji
BUNDLED WITH
2.5.6
2.5.11

View File

@ -5,10 +5,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0blbbf2x7dn7ar4g9aij403582zb6zscbj48bz63lvaamsvlb15d";
sha256 = "0283wk1zxb76lg79dk501kcf5xy9h25qiw15m86s4nrfv11vqns5";
type = "gem";
};
version = "7.1.3.2";
version = "7.1.3.4";
};
addressable = {
dependencies = ["public_suffix"];
@ -16,10 +16,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0irbdwkkjwzajq1ip6ba46q49sxnrl2cw7ddkdhsfhb6aprnm3vr";
sha256 = "0cl2qpvwiffym62z991ynks7imsm87qmgxf0yfsmlwzkgi9qcaa6";
type = "gem";
};
version = "2.8.6";
version = "2.8.7";
};
base64 = {
groups = ["default"];
@ -36,10 +36,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0cq1c29zbkcxgdihqisirhcw76xc768z2zpd5vbccpq0l1lv76g7";
sha256 = "1gi7zqgmqwi5lizggs1jhc3zlwaqayy9rx2ah80sxy24bbnng558";
type = "gem";
};
version = "3.1.7";
version = "3.1.8";
};
colorator = {
groups = ["default"];
@ -56,10 +56,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1qh1b14jwbbj242klkyz5fc7npd4j0mvndz62gajhvl1l3wd7zc2";
sha256 = "0skwdasxq7mnlcccn6aqabl7n9r3jd7k19ryzlzzip64cn4x572g";
type = "gem";
};
version = "1.2.3";
version = "1.3.3";
};
connection_pool = {
groups = ["default"];
@ -107,10 +107,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1yvii03hcgqj30maavddqamqy50h7y6xcn2wcyq72wn823zl4ckd";
sha256 = "07139870npj59jnl8vmk39ja3gdk3fb5z9vc0lf32y2h891hwqsi";
type = "gem";
};
version = "1.16.3";
version = "1.17.0";
};
forwardable-extended = {
groups = ["default"];
@ -133,15 +133,15 @@
version = "4.1.0";
};
google-protobuf = {
dependencies = ["rake"];
dependencies = ["bigdecimal" "rake"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "14s40yxj35vixx9pvpnbrkz9z7ga3m7vcy72yll1flnn3cirl1aj";
sha256 = "0vwnr6fmxig4pkag86yzbznpxk8ii7rhjz0rrprkqvnymhhfnscz";
type = "gem";
};
version = "4.26.1";
version = "4.27.2";
};
html-pipeline = {
dependencies = ["activesupport" "nokogiri"];
@ -170,10 +170,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0lbm33fpb3w06wd2231sg58dwlwgjsvym93m548ajvl6s3mfvpn7";
sha256 = "1ffix518y7976qih9k1lgnc17i3v6yrlh0a3mckpxdb4wc2vrp16";
type = "gem";
};
version = "1.14.4";
version = "1.14.5";
};
jekyll = {
dependencies = ["addressable" "colorator" "em-websocket" "i18n" "jekyll-sass-converter" "jekyll-watch" "kramdown" "kramdown-parser-gfm" "liquid" "mercenary" "pathutil" "rouge" "safe_yaml" "terminal-table" "webrick"];
@ -321,20 +321,20 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1kl9c3kdchjabrihdqfmcplk3lq4cw1rr9f378y6q22qwy5dndvs";
sha256 = "1q1f2sdw3y3y9mnym9dhjgsjr72sq975cfg5c4yx7gwv8nmzbvhk";
type = "gem";
};
version = "2.8.5";
version = "2.8.7";
};
minitest = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "07lq26b86giy3ha3fhrywk9r1ajhc2pm2mzj657jnpnbj1i6g17a";
sha256 = "0zgq31wa0ygqnmpqh3plsig32xc8k4l99r49ncmidfg91kfagymg";
type = "gem";
};
version = "5.22.3";
version = "5.24.0";
};
mutex_m = {
groups = ["default"];
@ -352,10 +352,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0j72sg8n8834vbw2x8glcp46y5r2dls2pj64ll7rmf6mri9s52j9";
sha256 = "1vz1ychq2fhfqjgqdrx8bqkaxg5dzcgwnah00m57ydylczfy8pwk";
type = "gem";
};
version = "1.16.3";
version = "1.16.6";
};
pathutil = {
dependencies = ["forwardable-extended"];
@ -373,30 +373,30 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1bni4qjrsh2q49pnmmd6if4iv3ak36bd2cckrs6npl111n769k9m";
sha256 = "17m8q2dzm7a74amnab5rf3f3m466i300awihl3ygh4v80wpf3j6j";
type = "gem";
};
version = "5.0.4";
version = "6.0.0";
};
racc = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "01b9662zd2x9bp4rdjfid07h09zxj7kvn7f5fghbqhzc625ap1dp";
sha256 = "021s7maw0c4d9a6s07vbmllrzqsj2sgmrwimlh8ffkvwqdjrld09";
type = "gem";
};
version = "1.7.3";
version = "1.8.0";
};
rake = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1ilr853hawi09626axx0mps4rkkmxcs54mapz9jnqvpnlwd3wsmy";
sha256 = "17850wcwkgi30p7yqh60960ypn7yibacjjha0av78zaxwvd3ijs6";
type = "gem";
};
version = "13.1.0";
version = "13.2.1";
};
rb-fsevent = {
groups = ["default"];
@ -414,30 +414,31 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1jm76h8f8hji38z3ggf4bzi8vps6p7sagxn3ab57qc0xyga64005";
sha256 = "0vmy8xgahixcz6hzwy4zdcyn2y6d6ri8dqv5xccgzc1r292019x0";
type = "gem";
};
version = "0.10.1";
version = "0.11.1";
};
rexml = {
dependencies = ["strscan"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "05i8518ay14kjbma550mv0jm8a6di8yp5phzrd8rj44z9qnrlrp0";
sha256 = "09f3sw7f846fpcpwdm362ylqldwqxpym6z0qpld4av7zisrrzbrl";
type = "gem";
};
version = "3.2.6";
version = "3.3.1";
};
rouge = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1zd1pdldi6h8x27dqim7cy8m69xr01aw5c8k1zhkz497n4np6wgk";
sha256 = "072qvvrcqj0yfr3b0j932mlhvn41i38bq37z7z07i3ikagndkqwy";
type = "gem";
};
version = "4.2.1";
version = "4.3.0";
};
safe_yaml = {
groups = ["default"];
@ -455,10 +456,20 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0bixk8c02dhflvhi4s5hxzjg8akzgicvjxjvxx74nah2j8qfblq5";
sha256 = "1nmy052pm46781s7ca6x3l4yb5p3glh8sf201xwcwpk9rv2av9m2";
type = "gem";
};
version = "1.72.0";
version = "1.77.5";
};
strscan = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0mamrl7pxacbc79ny5hzmakc9grbjysm3yy6119ppgsg44fsif01";
type = "gem";
};
version = "3.1.0";
};
terminal-table = {
dependencies = ["unicode-display_width"];

View File

@ -10,6 +10,7 @@ gem "jemoji"
# Optional dependencies:
gem "jekyll-coffeescript"
gem "jekyll-compose"
#gem "jekyll-docs"
gem "jekyll-favicon"
gem "jekyll-feed", "~> 0.9"

View File

@ -1,7 +1,7 @@
GEM
remote: https://rubygems.org/
specs:
activesupport (7.1.3.2)
activesupport (7.1.3.4)
base64
bigdecimal
concurrent-ruby (~> 1.0, >= 1.0.2)
@ -11,10 +11,10 @@ GEM
minitest (>= 5.1)
mutex_m
tzinfo (~> 2.0)
addressable (2.8.6)
public_suffix (>= 2.0.2, < 6.0)
addressable (2.8.7)
public_suffix (>= 2.0.2, < 7.0)
base64 (0.2.0)
bigdecimal (3.1.7)
bigdecimal (3.1.8)
classifier-reborn (2.3.0)
fast-stemmer (~> 1.0)
matrix (~> 0.4)
@ -24,7 +24,7 @@ GEM
execjs
coffee-script-source (1.12.2)
colorator (1.1.0)
concurrent-ruby (1.2.3)
concurrent-ruby (1.3.3)
connection_pool (2.4.1)
drb (2.2.1)
em-websocket (0.5.3)
@ -32,21 +32,22 @@ GEM
http_parser.rb (~> 0)
eventmachine (1.2.7)
execjs (2.9.1)
faraday (2.9.0)
faraday (2.9.2)
faraday-net_http (>= 2.0, < 3.2)
faraday-net_http (3.1.0)
net-http
fast-stemmer (1.0.2)
ffi (1.16.3)
ffi (1.17.0)
forwardable-extended (2.6.0)
gemoji (4.1.0)
google-protobuf (4.26.1)
google-protobuf (4.27.2)
bigdecimal
rake (>= 13)
html-pipeline (2.14.3)
activesupport (>= 2)
nokogiri (>= 1.4)
http_parser.rb (0.8.0)
i18n (1.14.4)
i18n (1.14.5)
concurrent-ruby (~> 1.0)
jekyll (4.3.3)
addressable (~> 2.4)
@ -69,6 +70,8 @@ GEM
jekyll-coffeescript (2.0.0)
coffee-script (~> 2.2)
coffee-script-source (~> 1.12)
jekyll-compose (0.12.0)
jekyll (>= 3.7, < 5.0)
jekyll-favicon (1.1.0)
jekyll (>= 3.0, < 5.0)
mini_magick (~> 4.11)
@ -114,14 +117,14 @@ GEM
mercenary (0.4.0)
mime-types (3.5.2)
mime-types-data (~> 3.2015)
mime-types-data (3.2024.0305)
mini_magick (4.12.0)
mini_portile2 (2.8.5)
minitest (5.22.3)
mime-types-data (3.2024.0604)
mini_magick (4.13.1)
mini_portile2 (2.8.7)
minitest (5.24.0)
mutex_m (0.2.0)
net-http (0.4.1)
uri
nokogiri (1.16.3)
nokogiri (1.16.6)
mini_portile2 (~> 2.8.2)
racc (~> 1.4)
octokit (4.25.1)
@ -131,24 +134,26 @@ GEM
forwardable-extended (~> 2.6)
psych (5.1.2)
stringio
public_suffix (5.0.4)
racc (1.7.3)
rake (13.1.0)
public_suffix (6.0.0)
racc (1.8.0)
rake (13.2.1)
rb-fsevent (0.11.2)
rb-inotify (0.10.1)
rb-inotify (0.11.1)
ffi (~> 1.0)
rdoc (6.6.3.1)
rdoc (6.7.0)
psych (>= 4.0.0)
rexml (3.2.6)
rouge (4.2.1)
rexml (3.3.1)
strscan
rouge (4.3.0)
safe_yaml (1.0.5)
sass-embedded (1.72.0)
sass-embedded (1.77.5)
google-protobuf (>= 3.25, < 5.0)
rake (>= 13.0.0)
rake (>= 13)
sawyer (0.9.2)
addressable (>= 2.3.5)
faraday (>= 0.17.3, < 3)
stringio (3.1.0)
stringio (3.1.1)
strscan (3.1.0)
terminal-table (3.0.2)
unicode-display_width (>= 1.1.1, < 3)
tomlrb (1.3.0)
@ -167,6 +172,7 @@ DEPENDENCIES
jekyll
jekyll-avatar
jekyll-coffeescript
jekyll-compose
jekyll-favicon
jekyll-feed (~> 0.9)
jekyll-gist
@ -185,4 +191,4 @@ DEPENDENCIES
yajl-ruby (~> 1.4)
BUNDLED WITH
2.5.6
2.5.11

View File

@ -5,10 +5,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0blbbf2x7dn7ar4g9aij403582zb6zscbj48bz63lvaamsvlb15d";
sha256 = "0283wk1zxb76lg79dk501kcf5xy9h25qiw15m86s4nrfv11vqns5";
type = "gem";
};
version = "7.1.3.2";
version = "7.1.3.4";
};
addressable = {
dependencies = ["public_suffix"];
@ -16,10 +16,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0irbdwkkjwzajq1ip6ba46q49sxnrl2cw7ddkdhsfhb6aprnm3vr";
sha256 = "0cl2qpvwiffym62z991ynks7imsm87qmgxf0yfsmlwzkgi9qcaa6";
type = "gem";
};
version = "2.8.6";
version = "2.8.7";
};
base64 = {
groups = ["default"];
@ -36,10 +36,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0cq1c29zbkcxgdihqisirhcw76xc768z2zpd5vbccpq0l1lv76g7";
sha256 = "1gi7zqgmqwi5lizggs1jhc3zlwaqayy9rx2ah80sxy24bbnng558";
type = "gem";
};
version = "3.1.7";
version = "3.1.8";
};
classifier-reborn = {
dependencies = ["fast-stemmer" "matrix"];
@ -110,10 +110,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1qh1b14jwbbj242klkyz5fc7npd4j0mvndz62gajhvl1l3wd7zc2";
sha256 = "0skwdasxq7mnlcccn6aqabl7n9r3jd7k19ryzlzzip64cn4x572g";
type = "gem";
};
version = "1.2.3";
version = "1.3.3";
};
connection_pool = {
groups = ["default"];
@ -172,10 +172,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1qqb1rmk0f9m82iijjlqadh5yby1bhnr6svjk9vxdvh6f181988s";
sha256 = "1913fk7szy3bj8mf1dxs4waym5ya5fzzc5d3a8z24qs67fzfv5b5";
type = "gem";
};
version = "2.9.0";
version = "2.9.2";
};
faraday-net_http = {
dependencies = ["net-http"];
@ -215,10 +215,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1yvii03hcgqj30maavddqamqy50h7y6xcn2wcyq72wn823zl4ckd";
sha256 = "07139870npj59jnl8vmk39ja3gdk3fb5z9vc0lf32y2h891hwqsi";
type = "gem";
};
version = "1.16.3";
version = "1.17.0";
};
forwardable-extended = {
groups = ["default"];
@ -241,15 +241,15 @@
version = "4.1.0";
};
google-protobuf = {
dependencies = ["rake"];
dependencies = ["bigdecimal" "rake"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "14s40yxj35vixx9pvpnbrkz9z7ga3m7vcy72yll1flnn3cirl1aj";
sha256 = "0vwnr6fmxig4pkag86yzbznpxk8ii7rhjz0rrprkqvnymhhfnscz";
type = "gem";
};
version = "4.26.1";
version = "4.27.2";
};
html-pipeline = {
dependencies = ["activesupport" "nokogiri"];
@ -278,10 +278,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0lbm33fpb3w06wd2231sg58dwlwgjsvym93m548ajvl6s3mfvpn7";
sha256 = "1ffix518y7976qih9k1lgnc17i3v6yrlh0a3mckpxdb4wc2vrp16";
type = "gem";
};
version = "1.14.4";
version = "1.14.5";
};
jekyll = {
dependencies = ["addressable" "colorator" "em-websocket" "i18n" "jekyll-sass-converter" "jekyll-watch" "kramdown" "kramdown-parser-gfm" "liquid" "mercenary" "pathutil" "rouge" "safe_yaml" "terminal-table" "webrick"];
@ -316,6 +316,17 @@
};
version = "2.0.0";
};
jekyll-compose = {
dependencies = ["jekyll"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1ny8xps0mrmx2w0xxc9rwa15ch1wkxvdrzxiwnqramqwja566y04";
type = "gem";
};
version = "0.12.0";
};
jekyll-favicon = {
dependencies = ["jekyll" "mini_magick" "rexml"];
groups = ["default"];
@ -584,40 +595,40 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "00x7w5xqsj9m33v3vkmy23wipkkysafksib53ypzn27p5g81w455";
sha256 = "0rri45lldyk3bsg4yqpxcl1xrnxnqasnw94x03w5arq3yy7kff65";
type = "gem";
};
version = "3.2024.0305";
version = "3.2024.0604";
};
mini_magick = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0slh78f9z6n0l1i2km7m48yz7l4fjrk88sj1f4mh1wb39sl2yc37";
sha256 = "1zbfldqc3dp9fiyz9d4hkkabkvsmx5649bs78j5008i5gzr0x6zg";
type = "gem";
};
version = "4.12.0";
version = "4.13.1";
};
mini_portile2 = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1kl9c3kdchjabrihdqfmcplk3lq4cw1rr9f378y6q22qwy5dndvs";
sha256 = "1q1f2sdw3y3y9mnym9dhjgsjr72sq975cfg5c4yx7gwv8nmzbvhk";
type = "gem";
};
version = "2.8.5";
version = "2.8.7";
};
minitest = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "07lq26b86giy3ha3fhrywk9r1ajhc2pm2mzj657jnpnbj1i6g17a";
sha256 = "0zgq31wa0ygqnmpqh3plsig32xc8k4l99r49ncmidfg91kfagymg";
type = "gem";
};
version = "5.22.3";
version = "5.24.0";
};
mutex_m = {
groups = ["default"];
@ -646,10 +657,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0j72sg8n8834vbw2x8glcp46y5r2dls2pj64ll7rmf6mri9s52j9";
sha256 = "1vz1ychq2fhfqjgqdrx8bqkaxg5dzcgwnah00m57ydylczfy8pwk";
type = "gem";
};
version = "1.16.3";
version = "1.16.6";
};
octokit = {
dependencies = ["faraday" "sawyer"];
@ -689,30 +700,30 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1bni4qjrsh2q49pnmmd6if4iv3ak36bd2cckrs6npl111n769k9m";
sha256 = "17m8q2dzm7a74amnab5rf3f3m466i300awihl3ygh4v80wpf3j6j";
type = "gem";
};
version = "5.0.4";
version = "6.0.0";
};
racc = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "01b9662zd2x9bp4rdjfid07h09zxj7kvn7f5fghbqhzc625ap1dp";
sha256 = "021s7maw0c4d9a6s07vbmllrzqsj2sgmrwimlh8ffkvwqdjrld09";
type = "gem";
};
version = "1.7.3";
version = "1.8.0";
};
rake = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1ilr853hawi09626axx0mps4rkkmxcs54mapz9jnqvpnlwd3wsmy";
sha256 = "17850wcwkgi30p7yqh60960ypn7yibacjjha0av78zaxwvd3ijs6";
type = "gem";
};
version = "13.1.0";
version = "13.2.1";
};
rb-fsevent = {
groups = ["default"];
@ -730,10 +741,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1jm76h8f8hji38z3ggf4bzi8vps6p7sagxn3ab57qc0xyga64005";
sha256 = "0vmy8xgahixcz6hzwy4zdcyn2y6d6ri8dqv5xccgzc1r292019x0";
type = "gem";
};
version = "0.10.1";
version = "0.11.1";
};
rdoc = {
dependencies = ["psych"];
@ -741,30 +752,31 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0ib3cnf4yllvw070gr4bz94sbmqx3haqc5f846fsvdcs494vgxrr";
sha256 = "0ygk2zk0ky3d88v3ll7qh6xqvbvw5jin0hqdi1xkv1dhaw7myzdi";
type = "gem";
};
version = "6.6.3.1";
version = "6.7.0";
};
rexml = {
dependencies = ["strscan"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "05i8518ay14kjbma550mv0jm8a6di8yp5phzrd8rj44z9qnrlrp0";
sha256 = "09f3sw7f846fpcpwdm362ylqldwqxpym6z0qpld4av7zisrrzbrl";
type = "gem";
};
version = "3.2.6";
version = "3.3.1";
};
rouge = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1zd1pdldi6h8x27dqim7cy8m69xr01aw5c8k1zhkz497n4np6wgk";
sha256 = "072qvvrcqj0yfr3b0j932mlhvn41i38bq37z7z07i3ikagndkqwy";
type = "gem";
};
version = "4.2.1";
version = "4.3.0";
};
safe_yaml = {
groups = ["default"];
@ -782,10 +794,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0bixk8c02dhflvhi4s5hxzjg8akzgicvjxjvxx74nah2j8qfblq5";
sha256 = "1nmy052pm46781s7ca6x3l4yb5p3glh8sf201xwcwpk9rv2av9m2";
type = "gem";
};
version = "1.72.0";
version = "1.77.5";
};
sawyer = {
dependencies = ["addressable" "faraday"];
@ -803,7 +815,17 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "063psvsn1aq6digpznxfranhcpmi0sdv2jhra5g0459sw0x2dxn1";
sha256 = "07mfqb40b2wh53k33h91zva78f9zwcdnl85jiq74wnaw2wa6wiak";
type = "gem";
};
version = "3.1.1";
};
strscan = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0mamrl7pxacbc79ny5hzmakc9grbjysm3yy6119ppgsg44fsif01";
type = "gem";
};
version = "3.1.0";

View File

@ -1,13 +1,12 @@
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p bundix zlib libyaml
set -o errexit
set -o nounset
set -o errexit -o nounset
readonly BASEDIR="$(dirname $(readlink -f $0))"
script_dir=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" &>/dev/null && pwd)
for directory in "basic" "full"; do
pushd "$BASEDIR/$directory"
pushd "$script_dir/$directory"
rm -f Gemfile.lock gemset.nix
BUNDLE_FORCE_RUBY_PLATFORM=true bundix --magic
rm -rf .bundle vendor

View File

@ -212,5 +212,8 @@ stdenv.mkDerivation rec {
maintainers = with maintainers; [ fpletz ];
platforms = platforms.unix;
mainProgram = "mupdf";
# ImportError: cannot import name '_mupdf' from partially initialized module 'mupdf'
# (most likely due to a circular import)
broken = enablePython;
};
}

View File

@ -12,6 +12,7 @@
, baseName ? "firefox"
, basePath ? "pkgs/applications/networking/browsers/firefox-bin"
, baseUrl
, versionSuffix ? ""
}:
let
@ -47,7 +48,7 @@ in writeScript "update-${pname}" ''
grep "^[0-9]" | \
sort --version-sort | \
grep -v "funnelcake" | \
grep -e "${lib.optionalString isBeta "b"}\([[:digit:]]\|[[:digit:]][[:digit:]]\)$" | ${lib.optionalString (!isBeta) "grep -v \"b\" |"} \
grep -e "${lib.optionalString isBeta "b"}\([[:digit:]]\|[[:digit:]][[:digit:]]\)${versionSuffix}$" | ${lib.optionalString (!isBeta) "grep -v \"b\" |"} \
tail -1`
curl --silent -o $HOME/shasums "$url$version/SHA256SUMS"

View File

@ -5,10 +5,10 @@
{
firefox = buildMozillaMach rec {
pname = "firefox";
version = "130.0";
version = "130.0.1";
src = fetchurl {
url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
sha512 = "d0d11b38d9e02fa15298ec13336bb086668b4f36b3ce9ced218a265327fd4822b9fea4303402631947ea3c20490c414de87f8df3e7c23d2e02b70f0456b9af40";
sha512 = "163d1ce9f671a4716686955c43ff23d9f200f6c52dfdabcbb93af6a326c24aa5096404f42447b02b5a3ad02e2f60d17271783638fe027d24865aebb3e70e97fe";
};
extraPatches = [

View File

@ -9,15 +9,15 @@
buildGoModule rec {
pname = "kubernetes-helm";
version = "3.15.4";
version = "3.16.1";
src = fetchFromGitHub {
owner = "helm";
repo = "helm";
rev = "v${version}";
sha256 = "sha256-hFQX9v37cXJ4wv1aQnBOBlmVWUiZuKrjCJ/R4dzUa/4=";
sha256 = "sha256-OTG4xPgK1WT/HUWjQZ1a7X126+PUo02yFnEAnd6MTU8=";
};
vendorHash = "sha256-lR/6n+EH4Nhs1Q/BqEkMlugM74NtEtT+SKQQHc6+Zjk=";
vendorHash = "sha256-rNp2aah6lAMZd07HXF2w0h7wfPc+TuRHl/jQpgqY5Sk=";
subPackages = [ "cmd/helm" ];
ldflags = [

View File

@ -8,16 +8,16 @@
buildGoModule rec {
pname = "helmfile";
version = "0.167.1";
version = "0.168.0";
src = fetchFromGitHub {
owner = "helmfile";
repo = "helmfile";
rev = "v${version}";
hash = "sha256-v5H5CQtLUmWCAh1Fhnf63gObxz3Wchpczi4gsPOh2ps=";
hash = "sha256-qpYTYOzQWhjuVANOPpLDsYZyhvRl6FnNQz5ssDZHohw=";
};
vendorHash = "sha256-QVFCPTGhYcCya9MGtj0vVZ3BJCcJeaxENrrJVef0H4Y=";
vendorHash = "sha256-pCP5PxxOLlqQBmqufpo6G69v4M+NxMpTlIUY6TnclVA=";
proxyVendor = true; # darwin/linux hash mismatch

View File

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "pachyderm";
version = "2.11.1";
version = "2.11.2";
src = fetchFromGitHub {
owner = "pachyderm";
repo = "pachyderm";
rev = "v${version}";
hash = "sha256-dg93x73Lg0JGE/q67ae+ugLrVXDRftsZRLslaPryui8=";
hash = "sha256-CNYFaUZBUwa+RF4JFXSmsdHalCPeowM4FYeWBojOOjA=";
};
vendorHash = "sha256-d2MSMucGMGGPLE0wh8Y27AUVPkeyOCkCa0JSPawYQmc=";

View File

@ -1,38 +1,38 @@
{ callPackage
, libsForQt5
, python311
, python311Packages
}:
let
mkGui = args: callPackage (import ./gui.nix (args)) {
inherit (libsForQt5) wrapQtAppsHook;
python3 = python311;
python3Packages = python311Packages;
};
mkServer = args: callPackage (import ./server.nix (args)) { };
in {
in
{
guiStable = mkGui {
channel = "stable";
version = "2.2.47";
hash = "sha256-6UXQTPkRHbtNX6RzWMakCsO9YpkFlWliNnm+mZ4wuZA=";
version = "2.2.49";
hash = "sha256-hvLJ4VilcgtpxHeboeSUuGAco9LEnUB8J6vy/ZPajbU=";
};
guiPreview = mkGui {
channel = "stable";
version = "2.2.47";
hash = "sha256-6UXQTPkRHbtNX6RzWMakCsO9YpkFlWliNnm+mZ4wuZA=";
version = "2.2.49";
hash = "sha256-hvLJ4VilcgtpxHeboeSUuGAco9LEnUB8J6vy/ZPajbU=";
};
serverStable = mkServer {
channel = "stable";
version = "2.2.47";
hash = "sha256-iZ/1qACPLe7r1cZMhJbFRjVt/FlVgadBgp9tJwvYSi0=";
version = "2.2.49";
hash = "sha256-fI49MxA6b2kPkUihLl32a6jo8oHcEwDEjmvSVDj8/So=";
};
serverPreview = mkServer {
channel = "stable";
version = "2.2.47";
hash = "sha256-iZ/1qACPLe7r1cZMhJbFRjVt/FlVgadBgp9tJwvYSi0=";
version = "2.2.49";
hash = "sha256-fI49MxA6b2kPkUihLl32a6jo8oHcEwDEjmvSVDj8/So=";
};
}

View File

@ -1,33 +1,37 @@
{ channel
, version
, hash
{
channel,
version,
hash,
}:
{ lib
, python3
, fetchFromGitHub
, qt5
, wrapQtAppsHook
, testers
, gns3-gui
{
fetchFromGitHub,
gns3-gui,
lib,
python3Packages,
qt5,
testers,
wrapQtAppsHook,
}:
python3.pkgs.buildPythonApplication rec {
python3Packages.buildPythonApplication rec {
pname = "gns3-gui";
inherit version;
src = fetchFromGitHub {
inherit hash;
owner = "GNS3";
repo = pname;
repo = "gns3-gui";
rev = "refs/tags/v${version}";
};
nativeBuildInputs = with python3.pkgs; [
wrapQtAppsHook
];
nativeBuildInputs = with python3Packages; [ wrapQtAppsHook ];
propagatedBuildInputs = with python3.pkgs; [
build-system = with python3Packages; [ setuptools ];
propagatedBuildInputs = [ qt5.qtwayland ];
dependencies = with python3Packages; [
distro
jsonschema
psutil
@ -36,7 +40,6 @@ python3.pkgs.buildPythonApplication rec {
sip
(pyqt5.override { withWebSockets = true; })
truststore
qt5.qtwayland
] ++ lib.optionals (pythonOlder "3.9") [
importlib-resources
];
@ -49,9 +52,7 @@ python3.pkgs.buildPythonApplication rec {
doCheck = true;
checkInputs = with python3.pkgs; [
pytestCheckHook
];
checkInputs = with python3Packages; [ pytestCheckHook ];
preCheck = ''
export HOME=$(mktemp -d)
@ -65,7 +66,7 @@ python3.pkgs.buildPythonApplication rec {
command = "${lib.getExe gns3-gui} --version";
};
meta = with lib; {
meta = {
description = "Graphical Network Simulator 3 GUI (${channel} release)";
longDescription = ''
Graphical user interface for controlling the GNS3 network simulator. This
@ -74,9 +75,9 @@ python3.pkgs.buildPythonApplication rec {
'';
homepage = "https://www.gns3.com/";
changelog = "https://github.com/GNS3/gns3-gui/releases/tag/v${version}";
license = licenses.gpl3Plus;
platforms = platforms.linux;
maintainers = with maintainers; [ anthonyroussel ];
license = lib.licenses.gpl3Plus;
platforms = lib.platforms.linux;
maintainers = with lib.maintainers; [ anthonyroussel ];
mainProgram = "gns3";
};
}

View File

@ -1,17 +1,19 @@
{ channel
, version
, hash
{
channel,
version,
hash,
}:
{ lib
, python3Packages
, fetchFromGitHub
, pkgsStatic
, stdenv
, nixosTests
, testers
, util-linux
, gns3-server
{
fetchFromGitHub,
gns3-server,
lib,
nixosTests,
pkgsStatic,
python3Packages,
stdenv,
testers,
util-linux,
}:
python3Packages.buildPythonApplication {
@ -30,7 +32,9 @@ python3Packages.buildPythonApplication {
cp ${pkgsStatic.busybox}/bin/busybox gns3server/compute/docker/resources/bin/busybox
'';
propagatedBuildInputs = with python3Packages; [
build-system = with python3Packages; [ setuptools ];
dependencies = with python3Packages; [
aiofiles
aiohttp
aiohttp-cors
@ -44,7 +48,6 @@ python3Packages.buildPythonApplication {
psutil
py-cpuinfo
sentry-sdk
setuptools
truststore
yarl
] ++ lib.optionals (pythonOlder "3.9") [
@ -69,7 +72,7 @@ python3Packages.buildPythonApplication {
checkInputs = with python3Packages; [
pytest-aiohttp
pytest-rerunfailures
(pytestCheckHook.override { pytest = pytest_7; })
pytestCheckHook
];
pytestFlagsArray = [
@ -87,7 +90,7 @@ python3Packages.buildPythonApplication {
};
};
meta = with lib; {
meta = {
description = "Graphical Network Simulator 3 server (${channel} release)";
longDescription = ''
The GNS3 server manages emulators such as Dynamips, VirtualBox or
@ -96,9 +99,9 @@ python3Packages.buildPythonApplication {
'';
homepage = "https://www.gns3.com/";
changelog = "https://github.com/GNS3/gns3-server/releases/tag/v${version}";
license = licenses.gpl3Plus;
platforms = platforms.linux;
maintainers = with maintainers; [ anthonyroussel ];
license = lib.licenses.gpl3Plus;
platforms = lib.platforms.linux;
maintainers = with lib.maintainers; [ anthonyroussel ];
mainProgram = "gns3server";
};
}

View File

@ -128,6 +128,8 @@ stdenv.mkDerivation rec {
# zerocallusedregs interferes during BPF compilation; TODO: perhaps improve
hardeningDisable = [ "stackprotector" "zerocallusedregs" ];
doCheck = true;
installFlags = [
"e_datadir=\${TMPDIR}"
"e_localstatedir=\${TMPDIR}"

View File

@ -14,13 +14,13 @@
stdenv.mkDerivation rec {
pname = "signalbackup-tools";
version = "20240910";
version = "20240913";
src = fetchFromGitHub {
owner = "bepaald";
repo = "signalbackup-tools";
rev = version;
hash = "sha256-VOC13xXWRGHq7K5ju1U/+SNj+qgkJCSYN11l01hwYhI=";
hash = "sha256-Rtoxa0LYL2ElBtt6KxRmKAkRDc8PNvRCoP0s51h+sIM=";
};
nativeBuildInputs = [

View File

@ -5,13 +5,13 @@
buildGoModule rec {
pname = "ircdog";
version = "0.5.4";
version = "0.5.5";
src = fetchFromGitHub {
owner = "goshuirc";
repo = "ircdog";
rev = "refs/tags/v${version}";
hash = "sha256-X8DTwudgQyQQIpXCG7d+tdXMV33HG6ETzHsvIp3KFDo=";
hash = "sha256-maF53Z0FHAhGmnOnMsX0dDnmckPNBY4Bcm4OBM/x4hQ=";
};
vendorHash = null;

View File

@ -3,48 +3,10 @@
# To update `thunderbird-bin`'s `release_sources.nix`, run from the nixpkgs root:
#
# nix-shell maintainers/scripts/update.nix --argstr package pkgs.thunderbird-bin-unwrapped
{ lib, stdenv, fetchurl, config, wrapGAppsHook3
{ lib, stdenv, fetchurl, config, wrapGAppsHook3, autoPatchelfHook
, alsa-lib
, atk
, cairo
, curl
, cups
, dbus-glib
, dbus
, fontconfig
, freetype
, gdk-pixbuf
, glib
, glibc
, gtk2
, gtk3
, libkrb5
, libX11
, libXScrnSaver
, libxcb
, libXcomposite
, libXcursor
, libXdamage
, libXext
, libXfixes
, libXi
, libXinerama
, libXrender
, libXrandr
, libXt
, libXtst
, libcanberra
, libnotify
, adwaita-icon-theme
, libGLU, libGL
, nspr
, nss_latest
, pango
, pipewire
, pciutils
, heimdal
, libpulseaudio
, systemd
, writeScript
, writeText
, xidel
@ -52,10 +14,9 @@
, gnused
, gnugrep
, gnupg
, ffmpeg
, runtimeShell
, mesa # thunderbird wants gbm for drm+dmabuf
, systemLocale ? config.i18n.defaultLocale or "en_US"
, patchelfUnstable # have to use patchelfUnstable to support --no-clobber-old-sections
, generated
}:
@ -86,83 +47,30 @@ let
else lib.replaceStrings ["_"] ["-"] systemLocale;
source = lib.findFirst (sourceMatches mozLocale) defaultSource sources;
pname = "thunderbird-bin";
in
stdenv.mkDerivation {
pname = "thunderbird-bin";
inherit version;
inherit pname version;
src = fetchurl {
url = "https://download-installer.cdn.mozilla.net/pub/thunderbird/releases/${version}/${source.arch}/${source.locale}/thunderbird-${version}.tar.bz2";
inherit (source) sha256;
};
libPath = lib.makeLibraryPath
[ stdenv.cc.cc
alsa-lib
atk
cairo
curl
cups
dbus-glib
dbus
fontconfig
freetype
gdk-pixbuf
glib
glibc
gtk2
gtk3
libkrb5
mesa
libX11
libXScrnSaver
libXcomposite
libXcursor
libxcb
libXdamage
libXext
libXfixes
libXi
libXinerama
libXrender
libXrandr
libXt
libXtst
libcanberra
libnotify
libGLU libGL
nspr
nss_latest
pango
pipewire
pciutils
heimdal
libpulseaudio
systemd
ffmpeg
] + ":" + lib.makeSearchPathOutput "lib" "lib64" [
stdenv.cc.cc
];
inherit gtk3;
nativeBuildInputs = [ wrapGAppsHook3 ];
buildInputs = [ gtk3 adwaita-icon-theme ];
# "strip" after "patchelf" may break binaries.
# See: https://github.com/NixOS/patchelf/issues/10
dontStrip = true;
dontPatchELF = true;
nativeBuildInputs = [ wrapGAppsHook3 autoPatchelfHook patchelfUnstable ];
buildInputs = [
alsa-lib
];
# Thunderbird uses "relrhack" to manually process relocations from a fixed offset
patchelfFlags = [ "--no-clobber-old-sections" ];
patchPhase = ''
# Don't download updates from Mozilla directly
echo 'pref("app.update.auto", "false");' >> defaults/pref/channel-prefs.js
'';
# See "Note on GPG support" in `../thunderbird/default.nix` for explanations
# on adding `gnupg` and `gpgme` into PATH/LD_LIBRARY_PATH.
installPhase =
''
mkdir -p "$prefix/usr/lib/thunderbird-bin-${version}"
@ -171,21 +79,6 @@ stdenv.mkDerivation {
mkdir -p "$out/bin"
ln -s "$prefix/usr/lib/thunderbird-bin-${version}/thunderbird" "$out/bin/"
for executable in \
thunderbird thunderbird-bin plugin-container \
updater crashreporter webapprt-stub \
glxtest vaapitest
do
if [ -e "$out/usr/lib/thunderbird-bin-${version}/$executable" ]; then
patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
"$out/usr/lib/thunderbird-bin-${version}/$executable"
fi
done
find . -executable -type f -exec \
patchelf --set-rpath "$libPath" \
"$out/usr/lib/thunderbird-bin-${version}/{}" \;
# wrapThunderbird expects "$out/lib" instead of "$out/usr/lib"
ln -s "$out/usr/lib" "$out/lib"
@ -197,16 +90,18 @@ stdenv.mkDerivation {
'';
passthru.updateScript = import ./../../browsers/firefox-bin/update.nix {
inherit lib writeScript xidel coreutils gnused gnugrep curl gnupg runtimeShell;
pname = "thunderbird-bin";
inherit pname lib writeScript xidel coreutils gnused gnugrep curl gnupg runtimeShell;
baseName = "thunderbird";
channel = "release";
basePath = "pkgs/applications/networking/mailreaders/thunderbird-bin";
baseUrl = "http://archive.mozilla.org/pub/thunderbird/releases/";
versionSuffix = "esr";
};
passthru = {
binaryName = "thunderbird";
gssSupport = true;
gtk3 = gtk3;
};
meta = with lib; {

View File

@ -1,665 +1,665 @@
{
version = "115.13.0";
version = "128.2.0esr";
sources = [
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-x86_64/af/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-x86_64/af/thunderbird-128.2.0esr.tar.bz2";
locale = "af";
arch = "linux-x86_64";
sha256 = "73600c9de1e75f0a2baf7e13d9ecded491e93f7fb4d5aa63e8e4ec2f5c95ab2d";
sha256 = "f4b3a3087afc240c9c1b4439316b1f0fda190143cca1da0d0c10d537ec47fdf2";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-x86_64/ar/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-x86_64/ar/thunderbird-128.2.0esr.tar.bz2";
locale = "ar";
arch = "linux-x86_64";
sha256 = "8eee06c6f5d347d23fa2401862bc733065162415e15a8decba31d7f71afaf8f5";
sha256 = "d49d17d785de3f9145f5640e3c835a1cd6ec7b205868be4c0a598160835bfe25";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-x86_64/ast/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-x86_64/ast/thunderbird-128.2.0esr.tar.bz2";
locale = "ast";
arch = "linux-x86_64";
sha256 = "6ebcc36fc7306e49513ce6ba9090817acbfcc65eefacac552d4c1fbb3d2ee452";
sha256 = "7d2e82951778bf97279fe5c1eb9a36010af6d28ac3eaaaec7cff6da26cb51593";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-x86_64/be/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-x86_64/be/thunderbird-128.2.0esr.tar.bz2";
locale = "be";
arch = "linux-x86_64";
sha256 = "386cd002e1986c4ae5e3d05e3279713994b610453745b25199906427db3874ee";
sha256 = "e77107193165eb5050286965e752b326fa15f33cc891e011f01ab09b90e92d91";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-x86_64/bg/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-x86_64/bg/thunderbird-128.2.0esr.tar.bz2";
locale = "bg";
arch = "linux-x86_64";
sha256 = "c909a752e7f09c37ce67cd7995562eaa30cdb5f604bda70a222e376eacdab8b2";
sha256 = "f64b546fe7803e808a82de46f9bd118b897004afdfb10baa2de9a190e3572ce0";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-x86_64/br/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-x86_64/br/thunderbird-128.2.0esr.tar.bz2";
locale = "br";
arch = "linux-x86_64";
sha256 = "511f1af492da3cd5a6aea641a8cc67f5f779196cbd81a940f3b0390dc0c1809f";
sha256 = "a64ed5e163431a5fccfa452a565b109badbc80556cbe13bf00285afdb6fa1c1f";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-x86_64/ca/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-x86_64/ca/thunderbird-128.2.0esr.tar.bz2";
locale = "ca";
arch = "linux-x86_64";
sha256 = "c7f087af3ed5b3fa60b94cd5380aabf019397479591be08b60d23ca782ac144d";
sha256 = "b0fb10db25845009c25e1bdbb408a1cc6935dd742c8cc1acd7c398bff4a600d0";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-x86_64/cak/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-x86_64/cak/thunderbird-128.2.0esr.tar.bz2";
locale = "cak";
arch = "linux-x86_64";
sha256 = "fe7c6fe3e99f0d4d8d6e2561e1fb2e5e8ce6def6caa119d4bb73c55605c3222d";
sha256 = "74a8c917565f27eced4b9ec952fee871da7e51c2323e509225227ccdb231cb79";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-x86_64/cs/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-x86_64/cs/thunderbird-128.2.0esr.tar.bz2";
locale = "cs";
arch = "linux-x86_64";
sha256 = "222a9a0898375e5edfe09ff67a6db89a340eab4c7b195f895dbe891b5157846c";
sha256 = "63537a0b0efff24f47e9e8ea35bd28a55c6b96917c06a2dfa141d8f107f3194c";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-x86_64/cy/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-x86_64/cy/thunderbird-128.2.0esr.tar.bz2";
locale = "cy";
arch = "linux-x86_64";
sha256 = "19e3060fb67039a6fd70bbbce712aeab7def908528a3d54cc77387cac8c58d83";
sha256 = "fd459d4fcd1c6143f7a03ae3069073f4e4b8d097733d504dd0221069520fcc6e";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-x86_64/da/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-x86_64/da/thunderbird-128.2.0esr.tar.bz2";
locale = "da";
arch = "linux-x86_64";
sha256 = "a2462934c90fb2433692b8ccf342c1669770a20be0c3703ecc54f65e5aaa2487";
sha256 = "7b75d5ab21254ef75a96217d715fc0a951ab38e8da61c2411820daea4b2ab979";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-x86_64/de/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-x86_64/de/thunderbird-128.2.0esr.tar.bz2";
locale = "de";
arch = "linux-x86_64";
sha256 = "d45733c83c65abc1a3df8f6fc0cb2880c55405a4b2a798a5062304dc93f4ac43";
sha256 = "cb05aa781c9cb360b23c597ab4566954e2506c01e214b14b0f7e863b2d5cadc0";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-x86_64/dsb/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-x86_64/dsb/thunderbird-128.2.0esr.tar.bz2";
locale = "dsb";
arch = "linux-x86_64";
sha256 = "e91883128422d834b7713f1ffc0d8095882e4f4e594940c5adf825f38ca8c1e7";
sha256 = "0d79340c7ae3af1e3be717ec92fe1ee14a53a680991ee2fb092dc9d4894b62c3";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-x86_64/el/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-x86_64/el/thunderbird-128.2.0esr.tar.bz2";
locale = "el";
arch = "linux-x86_64";
sha256 = "f54b76e5ae958ad3eb5bf651f892fbfef460732dee8364df70ed5f8b24a77a5c";
sha256 = "58049b7f1224ed79f63e053c1dabf795f851e6441c09044e6b7272074cbaeb15";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-x86_64/en-CA/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-x86_64/en-CA/thunderbird-128.2.0esr.tar.bz2";
locale = "en-CA";
arch = "linux-x86_64";
sha256 = "fff09666b871aff621cc513aa8fab7843cb1d019e1914c9b654e8af797edfc04";
sha256 = "338d69c084b4a9dcf93b0536417ab8a3dfa258647229e74e2f6b487a3d381900";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-x86_64/en-GB/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-x86_64/en-GB/thunderbird-128.2.0esr.tar.bz2";
locale = "en-GB";
arch = "linux-x86_64";
sha256 = "2762b9c0c2da7b1d35b51231f395b34d6e7ed8a8c34c56a3c36fd1af40152d57";
sha256 = "cc87b7ea712cc7f426129245a32d26724047932c12c4f5ac262e52ca551d7378";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-x86_64/en-US/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-x86_64/en-US/thunderbird-128.2.0esr.tar.bz2";
locale = "en-US";
arch = "linux-x86_64";
sha256 = "b70d487213fca89aaed8c2a1da07e179597cf70c6bc56e5fcc93855afdf66365";
sha256 = "4200c48e8b57bddde15c7ad6757077e560d2f52a29da1902a35bcce945e751aa";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-x86_64/es-AR/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-x86_64/es-AR/thunderbird-128.2.0esr.tar.bz2";
locale = "es-AR";
arch = "linux-x86_64";
sha256 = "37341713a27b90cd8324585cbe2b4413ed0ce3415366b27f1cbfb97f91595e22";
sha256 = "a1cf08ad3e0a80b90814c779e031a97aa9dba9797b02acf8c2e45fb1e994d54f";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-x86_64/es-ES/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-x86_64/es-ES/thunderbird-128.2.0esr.tar.bz2";
locale = "es-ES";
arch = "linux-x86_64";
sha256 = "c2412ebe923dfcdc464bd6d7576c0fdfde748d26b5684b75618b21fa3396d69a";
sha256 = "2e0a4a2d9001c587b9f61478de6611a94de912ab8fe1ed3bace2959f3bfb57ee";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-x86_64/es-MX/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-x86_64/es-MX/thunderbird-128.2.0esr.tar.bz2";
locale = "es-MX";
arch = "linux-x86_64";
sha256 = "6a1e03cdf4605b768feb802502dc00b9cf7567804c8c2cc7eebf7855c10e555c";
sha256 = "e47fb45e3c8e05a0027bff1bf2b9a9fe07b73c28144beeceef5fe40b40fbd5a0";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-x86_64/et/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-x86_64/et/thunderbird-128.2.0esr.tar.bz2";
locale = "et";
arch = "linux-x86_64";
sha256 = "e8d92ff29455577680ea1c24f5025387ec502ae5ce65a528c3d526dc2b0e23d5";
sha256 = "c45c5801a736a578c06993f3e061e0df5c798fefc49f415d5ed1196c93d3b07f";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-x86_64/eu/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-x86_64/eu/thunderbird-128.2.0esr.tar.bz2";
locale = "eu";
arch = "linux-x86_64";
sha256 = "0added0bc1846f7231a8806bbf5d4478743fb9dab3ba12270a540cb298ce2e12";
sha256 = "f709c4440888772dca99dd6cc667a9d72d20a6e1eb5c84dfbb0a7a8e488a6f74";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-x86_64/fi/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-x86_64/fi/thunderbird-128.2.0esr.tar.bz2";
locale = "fi";
arch = "linux-x86_64";
sha256 = "08ecb359ec9f1bb79271fae375f4094f32232ca17ba516b4dc68d33a49fe26a4";
sha256 = "e6f32dfc0095065326ce886f0ccc46259a13ae4339f609b2519f74226cf88e02";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-x86_64/fr/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-x86_64/fr/thunderbird-128.2.0esr.tar.bz2";
locale = "fr";
arch = "linux-x86_64";
sha256 = "5cbb360a2f824a63a06996d8d7bd11184f04a154acca6d11f9d9ad149add7211";
sha256 = "92ba3a5b2ebddd5e6f60c52e948f3336360e69fb3c21ca97f5629f16b6c74158";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-x86_64/fy-NL/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-x86_64/fy-NL/thunderbird-128.2.0esr.tar.bz2";
locale = "fy-NL";
arch = "linux-x86_64";
sha256 = "8c489d2e33c2c0d0d1ecb7c8d8766fce2498ee1256cd37e12f4c975b5533a98d";
sha256 = "7f905d1e7d17dd314f3e58286bdac0f4fcfacdddf1df809dd95a80a992f3ac03";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-x86_64/ga-IE/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-x86_64/ga-IE/thunderbird-128.2.0esr.tar.bz2";
locale = "ga-IE";
arch = "linux-x86_64";
sha256 = "5841ef91f177e47ff8a272e76cb57968863c341531b45a42c14bac80979b3187";
sha256 = "10421949c685172e8c842fa99ab11ee249a4e8357b9595a10d9a93659d5f45b5";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-x86_64/gd/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-x86_64/gd/thunderbird-128.2.0esr.tar.bz2";
locale = "gd";
arch = "linux-x86_64";
sha256 = "a07eacd6df3834980886517a9eb1f5d4a6c05d087bb6aac024456b1867079ab6";
sha256 = "8861ac36c0c65b00e15fbe3ecb6b288c612b4226bc06d688189548e95abe46f7";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-x86_64/gl/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-x86_64/gl/thunderbird-128.2.0esr.tar.bz2";
locale = "gl";
arch = "linux-x86_64";
sha256 = "d5359822c6817dc8937a3d24e3e50efa27d450c1f9d48d5b79c63b7ffce54439";
sha256 = "44259d867c523488b62c06b41a340e5efdceda7e42faa98564643249c6409110";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-x86_64/he/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-x86_64/he/thunderbird-128.2.0esr.tar.bz2";
locale = "he";
arch = "linux-x86_64";
sha256 = "5320ef08555bf368c4e09a80524429482f2b23fb27b8b2850ef4a1f60eaf34b0";
sha256 = "56b6152345ae31bf2e721aa1c4256493214969d1e6237bb3d861b784d0ff61d1";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-x86_64/hr/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-x86_64/hr/thunderbird-128.2.0esr.tar.bz2";
locale = "hr";
arch = "linux-x86_64";
sha256 = "dd6a69a320ed40b662814da28af7165ac499cbcdca1371bba86ef4c84f0d0949";
sha256 = "64c7bf327329149f0f8f0138db5759fd0d2f032d58ea795b95f23c44e6cd2124";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-x86_64/hsb/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-x86_64/hsb/thunderbird-128.2.0esr.tar.bz2";
locale = "hsb";
arch = "linux-x86_64";
sha256 = "fdc547651aa09c3874366180d4e3fcca407fc8efba5745344cfca1f5c4597003";
sha256 = "b23577fb06f2813a6b8a0a0e8b76d029ec0d129758814696de4b5679e8b46d3f";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-x86_64/hu/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-x86_64/hu/thunderbird-128.2.0esr.tar.bz2";
locale = "hu";
arch = "linux-x86_64";
sha256 = "85b1b6f9b3f52258ddae7fd03dcd12dc87564d5d797cf7dd8c9fa6f1278da233";
sha256 = "9f2a7bb6990dfdd7b35922132701ead5505343ad53b12ef44743fffef8d4878e";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-x86_64/hy-AM/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-x86_64/hy-AM/thunderbird-128.2.0esr.tar.bz2";
locale = "hy-AM";
arch = "linux-x86_64";
sha256 = "13c0f0e3b112ac7d4ec0c794458b81057f9965ca718b10bf2b7880be4f4a85fd";
sha256 = "176130e7a7701022fdb308edfa8504c432639794e2582c214807d9496583de95";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-x86_64/id/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-x86_64/id/thunderbird-128.2.0esr.tar.bz2";
locale = "id";
arch = "linux-x86_64";
sha256 = "700393b3b121a6398e3f809d035e5b90fd8f3879f0a751a4ed362fb973b3ccfd";
sha256 = "80d9b02e4125d1e8f59cb7384c2ea6559c77a517675c84e286f8574d86459aeb";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-x86_64/is/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-x86_64/is/thunderbird-128.2.0esr.tar.bz2";
locale = "is";
arch = "linux-x86_64";
sha256 = "8eb368b9ffc00aa06238af03c16c3b183858aff829d5741100e515498bee065a";
sha256 = "677d0f4bc43d2efefc1fb052706cf7307ccf7b8bd529c76c1860e6f121daaf2e";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-x86_64/it/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-x86_64/it/thunderbird-128.2.0esr.tar.bz2";
locale = "it";
arch = "linux-x86_64";
sha256 = "c3d8d2136e3a0096c07413c0c591cc60e322ee1b929b5f6cd99708413014913c";
sha256 = "f7160c5183922bdcecdaf87100b1556081072dc31c2436690ac707e47511d36b";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-x86_64/ja/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-x86_64/ja/thunderbird-128.2.0esr.tar.bz2";
locale = "ja";
arch = "linux-x86_64";
sha256 = "af6109dade0343a3354e5b8c82df8505ecca189bb9eae0037a578db4fcf99f1b";
sha256 = "9b1144c1911f0186d4ad6b1b4526d55aad0a6de2157e02cd8bf593c827ac28f3";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-x86_64/ka/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-x86_64/ka/thunderbird-128.2.0esr.tar.bz2";
locale = "ka";
arch = "linux-x86_64";
sha256 = "ad7c22e31b575f28268794b390d75021bcf67cb2a4d7ecbdfc3a5bce8f547160";
sha256 = "1dbc9c8419f6f7d131c00851d54bab714ca30f75be97529bf5f679a859014050";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-x86_64/kab/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-x86_64/kab/thunderbird-128.2.0esr.tar.bz2";
locale = "kab";
arch = "linux-x86_64";
sha256 = "0356017444c3a046c85599f7188d012f1a8260a5a76d42e8bddb3e937ff1d0db";
sha256 = "fe5fbf0b7c3e5f10846a0ab019baf5ddddc7b7bbb04b32e56cfca6bde5d92fb6";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-x86_64/kk/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-x86_64/kk/thunderbird-128.2.0esr.tar.bz2";
locale = "kk";
arch = "linux-x86_64";
sha256 = "d278f53f92f4514b1a1b0cc87a6329e1cfe53d82c815557d2d1038b192fb0a03";
sha256 = "77055d3004bbe6fce489cb4ea8c9e6f75d19ad35d0015caceb24920d372036f3";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-x86_64/ko/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-x86_64/ko/thunderbird-128.2.0esr.tar.bz2";
locale = "ko";
arch = "linux-x86_64";
sha256 = "0cda6697ab6041f0983447e5594158e185905d34a7b3ec70022f258403dba6d5";
sha256 = "1711d530249728789931831680cb3062c1da2addd90482a195d27ccb2d69cb33";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-x86_64/lt/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-x86_64/lt/thunderbird-128.2.0esr.tar.bz2";
locale = "lt";
arch = "linux-x86_64";
sha256 = "f783e465629993c2e5d7c5f71fa421b289ca1051ab461ea4e128a9facf370e21";
sha256 = "e3fd07e0bf2c1c6586b5826c92e4aa2341faea04791e686c8e6213a0d0f4e00c";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-x86_64/lv/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-x86_64/lv/thunderbird-128.2.0esr.tar.bz2";
locale = "lv";
arch = "linux-x86_64";
sha256 = "b64684c99509c9b2751d4afaced2a2f6067251345f672eb84d2337f9082fee67";
sha256 = "432cce43817a60790d8295c49b6e04b5d595811a3bf5024d733302ea755ab1c3";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-x86_64/ms/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-x86_64/ms/thunderbird-128.2.0esr.tar.bz2";
locale = "ms";
arch = "linux-x86_64";
sha256 = "a001272f61877db602f26aa80c485f0ad7be82acc26343fbf18a95040aeed429";
sha256 = "110ea1d59a3d00d45198505ecb15100d9cbcc77bfba69fb9000ecdfcc9db1d4c";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-x86_64/nb-NO/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-x86_64/nb-NO/thunderbird-128.2.0esr.tar.bz2";
locale = "nb-NO";
arch = "linux-x86_64";
sha256 = "6d9b817608399d59a20d34da172529eacb950e19ddb3cb3966f8acb2704099e1";
sha256 = "7d7bac855a4e27055e0a8561172cde744058e74aa8233554504d87dfc68f29f6";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-x86_64/nl/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-x86_64/nl/thunderbird-128.2.0esr.tar.bz2";
locale = "nl";
arch = "linux-x86_64";
sha256 = "259e8b433b7c757c507f8deb5ae9453f593f353a7544ec6d8e4b798b3c9958e1";
sha256 = "4820f08e4979e9eddc4182fea39d023defcb450e7edac9c8a2d3b09c62669959";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-x86_64/nn-NO/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-x86_64/nn-NO/thunderbird-128.2.0esr.tar.bz2";
locale = "nn-NO";
arch = "linux-x86_64";
sha256 = "0af2bea6b0b4b56dfbbf0b3a4845d5540d17a2998ee000c16a9dee0e63814ee7";
sha256 = "835b1befa30afa3d8cd50f4cd9a2922cb63815ac1c9b240c491d114f4e8542cf";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-x86_64/pa-IN/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-x86_64/pa-IN/thunderbird-128.2.0esr.tar.bz2";
locale = "pa-IN";
arch = "linux-x86_64";
sha256 = "7a686986ed8d899ffd00dd770c04c16a0ba5ef66e6889dbf34e86d9794d27448";
sha256 = "cee9b2f3aee4e978772222f2946c99986ce36695f34e51708cae928bc66ab6ef";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-x86_64/pl/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-x86_64/pl/thunderbird-128.2.0esr.tar.bz2";
locale = "pl";
arch = "linux-x86_64";
sha256 = "d736d10c5c57a2b8b5c7ddd8620eea673e83a4efb66288dcac4f39fb9cafdeef";
sha256 = "ba29593feccd45c43605c6aaaddaa99afd25308e810e6059ca873a162a054eae";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-x86_64/pt-BR/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-x86_64/pt-BR/thunderbird-128.2.0esr.tar.bz2";
locale = "pt-BR";
arch = "linux-x86_64";
sha256 = "2666dfb8ed5cdcc747d91b5a8f396a268243c9e46aada60b26a62ac1904f11d0";
sha256 = "5e1bb94d66d757a62e093835f91b097586980702985931813d2825bf7b90f5c6";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-x86_64/pt-PT/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-x86_64/pt-PT/thunderbird-128.2.0esr.tar.bz2";
locale = "pt-PT";
arch = "linux-x86_64";
sha256 = "ba1a76293cac33601f8317e538b54c4a05b277f862d3e76e11944a0d51d0b4c2";
sha256 = "f437bdc00cc4cd70995000c4a23dc7407f8b0b42dd42d3e536e95ea6d79f0ebf";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-x86_64/rm/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-x86_64/rm/thunderbird-128.2.0esr.tar.bz2";
locale = "rm";
arch = "linux-x86_64";
sha256 = "d55625a4a75b671cc614f04fa55337df80d0949906256c8852274b0c73f9d8c1";
sha256 = "b068a55935501994c69390b2d45b3592e2d3f7fb8e270fb058aec8882a353e90";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-x86_64/ro/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-x86_64/ro/thunderbird-128.2.0esr.tar.bz2";
locale = "ro";
arch = "linux-x86_64";
sha256 = "ff56d88c4c003bf8e5aa245b65ae17d0d2a3f40ab5cf341fedf7b2bbcfec7088";
sha256 = "6f6fce04d2676a21dad81a77f0b875a3730e996810f249452fd49d277d13b39a";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-x86_64/ru/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-x86_64/ru/thunderbird-128.2.0esr.tar.bz2";
locale = "ru";
arch = "linux-x86_64";
sha256 = "a9eb569ff312c13fc651c44f192c64cd46eb27624f71a4ad9399b0531cdf1a57";
sha256 = "2044141931cb4735ef1236b8c000aeed718266cbbd3c28b5d3fd3ddda4f64317";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-x86_64/sk/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-x86_64/sk/thunderbird-128.2.0esr.tar.bz2";
locale = "sk";
arch = "linux-x86_64";
sha256 = "82bb11f5491a90404d40692218848a36c62ee1f73294f94abaf89102c185dfae";
sha256 = "bdf6d92e16397237d5c9168d3d5f14d0ffc8df04e9b435a5f1e7a49138cf593f";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-x86_64/sl/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-x86_64/sl/thunderbird-128.2.0esr.tar.bz2";
locale = "sl";
arch = "linux-x86_64";
sha256 = "b5400b07f12e0712157bbaedafd9f88e7d2326e1407b9a989ae9da8fc245c558";
sha256 = "21aa9cd554c5a5d6f23f433c4697e47e3fca90d957f9a413d3b7aeb030055544";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-x86_64/sq/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-x86_64/sq/thunderbird-128.2.0esr.tar.bz2";
locale = "sq";
arch = "linux-x86_64";
sha256 = "cff26cd2e27db6c374d1b34da18bd513010bd4572a5abd3179cb6b0bb062a750";
sha256 = "f8bfdbb24d67341cd5d3e88012883835a2d48f18e0d6efe33c1b726431bc279b";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-x86_64/sr/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-x86_64/sr/thunderbird-128.2.0esr.tar.bz2";
locale = "sr";
arch = "linux-x86_64";
sha256 = "bce534608ef8da85ea0083dfc86c40759b4b073c90369f94ed98df3d41c3e1c9";
sha256 = "f906ca1bd4391ccad57eed53d247d32fd62b3328a005e034e5f76e74ea37aa4b";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-x86_64/sv-SE/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-x86_64/sv-SE/thunderbird-128.2.0esr.tar.bz2";
locale = "sv-SE";
arch = "linux-x86_64";
sha256 = "3a2e9f610436b140e3a7098ac27516c3ce5fe2dd672e23a85050bbd896bb2738";
sha256 = "697c1c80cc743f5446c3d6744cfac640bf5968d9b8322697546af9a4cffe6517";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-x86_64/th/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-x86_64/th/thunderbird-128.2.0esr.tar.bz2";
locale = "th";
arch = "linux-x86_64";
sha256 = "3753527489a666c2e89cc1c4be85d85a52890069700ef9bd809e14a50d253d37";
sha256 = "62bf8a81688e3405ebde85623df7cbb9c87a41ed0b86ef32f791c1a3b383c185";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-x86_64/tr/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-x86_64/tr/thunderbird-128.2.0esr.tar.bz2";
locale = "tr";
arch = "linux-x86_64";
sha256 = "90d37e9512c46db20d8ce44863dabb1c72b196fb26e462e310f83bf7472763b1";
sha256 = "af3b01def0092f1abd3dc7517ac68e41d92fa816ff0ee0045a14fffd257dc732";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-x86_64/uk/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-x86_64/uk/thunderbird-128.2.0esr.tar.bz2";
locale = "uk";
arch = "linux-x86_64";
sha256 = "07f8d8809d3dc079e9f5d25f0b553b96efa975c69f4b94ddc5772bbb07c6f2a9";
sha256 = "0b5c83c3e28b59c7feeba5ce953b0b60d115f33f567e7942d450c804e4f0d236";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-x86_64/uz/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-x86_64/uz/thunderbird-128.2.0esr.tar.bz2";
locale = "uz";
arch = "linux-x86_64";
sha256 = "7d3d207fe4f427b5492771a6db5f6716d0f49ea2452f3521c53d06da15090135";
sha256 = "45091cbd6336995b86d3e2b5e0ef82792dc5484a90ca94de905526d3122853c2";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-x86_64/vi/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-x86_64/vi/thunderbird-128.2.0esr.tar.bz2";
locale = "vi";
arch = "linux-x86_64";
sha256 = "48de00ce91f678f9e2b2fdddd57b164feee7c06079c10796707cd1be67452cf1";
sha256 = "448a8ed43b80448994b918f3f91c3de3698b106f578b776efbaa7b4e4c4d3fc1";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-x86_64/zh-CN/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-x86_64/zh-CN/thunderbird-128.2.0esr.tar.bz2";
locale = "zh-CN";
arch = "linux-x86_64";
sha256 = "686dd1d40c6e5d473b7f768919567d71d7a32bf277aa4f20ee160850d4a19812";
sha256 = "53cbdf5039e2f6d724b45ecf948c63af367e7df4f7766e628fb945fce33734f8";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-x86_64/zh-TW/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-x86_64/zh-TW/thunderbird-128.2.0esr.tar.bz2";
locale = "zh-TW";
arch = "linux-x86_64";
sha256 = "3be64c8cb88ab2e93ce85249110e91da26f958f5f667f9b2c3524d9337aa3ae6";
sha256 = "147e2983179d906c7878a889a4e05be792fb54336f029b7c4c7f26f115ed9217";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-i686/af/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-i686/af/thunderbird-128.2.0esr.tar.bz2";
locale = "af";
arch = "linux-i686";
sha256 = "fc6f36e813419ef33d9491c0317c8f73a7d08a10d2767446a6e708499d0664db";
sha256 = "282558d2d07b3c44de23c5684771e8f2eab9f67f5fef844f569f84474687da04";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-i686/ar/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-i686/ar/thunderbird-128.2.0esr.tar.bz2";
locale = "ar";
arch = "linux-i686";
sha256 = "d7134af862d2f588623a9414d0e09702b04c20577f674ade2c67269db25e7bbf";
sha256 = "972d674e174433e6dd91627942a1d2e3e06b16c9fcc5288b9ab1f92a0a2526f8";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-i686/ast/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-i686/ast/thunderbird-128.2.0esr.tar.bz2";
locale = "ast";
arch = "linux-i686";
sha256 = "5632d2264f4ad78115c66542bb9a30bd92044e2e480612f0755d1f2bbac1fa39";
sha256 = "bb7c12421185c2a1db8e94bcd7d0c7b9d461272652ab22fa5a05f08e83a226c3";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-i686/be/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-i686/be/thunderbird-128.2.0esr.tar.bz2";
locale = "be";
arch = "linux-i686";
sha256 = "522b1219b3586e028023a0b40b5a0b807fd5bbf26981ae0b28fed41111dfd97f";
sha256 = "0a731f7c5caa910719d3efbf8d65a8d7149a3195631263de13e0ccdc51eb5268";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-i686/bg/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-i686/bg/thunderbird-128.2.0esr.tar.bz2";
locale = "bg";
arch = "linux-i686";
sha256 = "cee2dbcb5d3e6cff325cc5a9132d574c48cc356a524b619ab0efea481fed87a5";
sha256 = "af55dd242ea2edceb2b7faabcf26f1c976efb9f8b5ff76d5b07cfbd9c6eb55d5";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-i686/br/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-i686/br/thunderbird-128.2.0esr.tar.bz2";
locale = "br";
arch = "linux-i686";
sha256 = "5583cf26d49f32dfaf5a7000c8c670d3b7fd1e839595960bc73e81e5bed8b2b1";
sha256 = "b5b249a78710ba4c7d1bc696fccfa7a63a517d537ac4f011ba7a22f2d3fffb0a";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-i686/ca/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-i686/ca/thunderbird-128.2.0esr.tar.bz2";
locale = "ca";
arch = "linux-i686";
sha256 = "7ecbeb64308d4a8962c86a75742dcf86ac4f3a0009fa60071f1ba90e3fd89cc3";
sha256 = "2dc876760e6520cd3ace249943e37d363f98388e799c0e0fb2d51e751404de40";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-i686/cak/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-i686/cak/thunderbird-128.2.0esr.tar.bz2";
locale = "cak";
arch = "linux-i686";
sha256 = "4c55e8fa96c9763d1b8e9d8c47b55683827dfceac982514206c422edd34afe37";
sha256 = "836350ae188d39899231a26d7e10eaa029559c83a3395b7c74536d37f73d795f";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-i686/cs/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-i686/cs/thunderbird-128.2.0esr.tar.bz2";
locale = "cs";
arch = "linux-i686";
sha256 = "6f0e483d77b6322fcd50decd868994c9a22e8f7f8ede4a8cc6def64cebf3fd36";
sha256 = "1b3bdd19f3e880bab7428e831f490c0ce69fe1db20b8699402e956f09b77c5ff";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-i686/cy/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-i686/cy/thunderbird-128.2.0esr.tar.bz2";
locale = "cy";
arch = "linux-i686";
sha256 = "0c727b6364d07666417f7ab03dbf9e8e1cc040d855cbe361e1385cb2d4aa4242";
sha256 = "b1153a70b2bcf6e9f0deaaaf175a5085921f7d1e1a1f319136c94ce57bef54ed";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-i686/da/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-i686/da/thunderbird-128.2.0esr.tar.bz2";
locale = "da";
arch = "linux-i686";
sha256 = "819b01b0fb03eab22d58de73f464e98133778154e122463d20693b4aa1090ecb";
sha256 = "a2eb8ba6175dd4b7336ab05fe4834527a31ab5e13abb0381f187e91f836031e3";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-i686/de/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-i686/de/thunderbird-128.2.0esr.tar.bz2";
locale = "de";
arch = "linux-i686";
sha256 = "84db18d8ebc383fac729a9e5be2554169368aaaac34523450151ec9c4f8015b1";
sha256 = "1c23af1559f2e8f090cc651c827d4130e74f7141daae585ddc43c0287b8b0e0a";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-i686/dsb/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-i686/dsb/thunderbird-128.2.0esr.tar.bz2";
locale = "dsb";
arch = "linux-i686";
sha256 = "4d23aead7db91ca8f657f6eefc3cb37d08be537586d492122b2583c5e4bac516";
sha256 = "341d6a892f5b79836bb18fcd97df1b2fab695791a50af6ded0d966f1d0439008";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-i686/el/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-i686/el/thunderbird-128.2.0esr.tar.bz2";
locale = "el";
arch = "linux-i686";
sha256 = "44833b968bf29d784163776cc7343d23a9c4a781aa36728dcea9fad23b776aa8";
sha256 = "8eb920d8e41cc1ca8607580f124061f9c10a549377b591ac5cfb53b2859248d9";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-i686/en-CA/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-i686/en-CA/thunderbird-128.2.0esr.tar.bz2";
locale = "en-CA";
arch = "linux-i686";
sha256 = "c29f159ff4a8aa234f8117c936fc1621aac4ad12841ac261a85c7326d9ad8704";
sha256 = "ca2c7d3eee2129e3da7bc4a7d25db4b867c23408084a9438c4a600c1d35c9853";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-i686/en-GB/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-i686/en-GB/thunderbird-128.2.0esr.tar.bz2";
locale = "en-GB";
arch = "linux-i686";
sha256 = "51a2633ed89f3eb08df77153a1a894983b9609fab6aed998cbad7e78129845aa";
sha256 = "f8f1aeddf0b5711e10ae4a4d785380230a9f8871d73baebe95ae43f3bf4b2a45";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-i686/en-US/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-i686/en-US/thunderbird-128.2.0esr.tar.bz2";
locale = "en-US";
arch = "linux-i686";
sha256 = "badce662962c90cc0fe4a0e89c7b69185fcf11ac1fdebcb12078226d06eec7cd";
sha256 = "c89cda02e8a17ff8e455085ef22c1a14f8d42217239e68133ab0d3076a4df170";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-i686/es-AR/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-i686/es-AR/thunderbird-128.2.0esr.tar.bz2";
locale = "es-AR";
arch = "linux-i686";
sha256 = "6e26898de69237d3915c7b7b18ee565e1b882a0a62ff89d0c64de74f4cf32b06";
sha256 = "30b6d06405cdc824d2ea2e8ae3352403d631e02d182621035c9c4b89a2f5d3e8";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-i686/es-ES/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-i686/es-ES/thunderbird-128.2.0esr.tar.bz2";
locale = "es-ES";
arch = "linux-i686";
sha256 = "8de6a6bc3c688375239fd56a72c8f9b5db45dbc01793cdb4e508b89b600957cf";
sha256 = "4a52ee0cad2c6adb85a5e847b71761fa931f2baa34f310c2135249a1f74d1e81";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-i686/es-MX/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-i686/es-MX/thunderbird-128.2.0esr.tar.bz2";
locale = "es-MX";
arch = "linux-i686";
sha256 = "d7fa892b266cde71881c6bc1a2926c273ac9990a5f555a1da7ad92e8da7d2079";
sha256 = "5e3ee38af26a47df39c542da9cad4f0f5fcd761b93cc25aa3b3e484afea342a2";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-i686/et/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-i686/et/thunderbird-128.2.0esr.tar.bz2";
locale = "et";
arch = "linux-i686";
sha256 = "7e3f6026fd7eb69fcc716b1fd512e43bb24e666fd9792b9c0fcdecc6c2080c64";
sha256 = "bad8263e3754045770662250327c14ea50a11d46d786fcf0d41f761e0cc2c60f";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-i686/eu/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-i686/eu/thunderbird-128.2.0esr.tar.bz2";
locale = "eu";
arch = "linux-i686";
sha256 = "6992361227e6455834651d2d4c322d68b2772e81f5d41495bc891c6968a31fb3";
sha256 = "8433875ae5b054541f6fc70ef566482acabc9f013a0010d4d3125c09acbd4e2c";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-i686/fi/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-i686/fi/thunderbird-128.2.0esr.tar.bz2";
locale = "fi";
arch = "linux-i686";
sha256 = "eb2f64b6079a7fc82ac9cb300a3263682c30f5d5ca88b7e8ffc239b0eeff2e4b";
sha256 = "4a077df147a2a27eff7cae97bf33c1d2ed92c11f6f6f6e71307bda9951137fe7";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-i686/fr/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-i686/fr/thunderbird-128.2.0esr.tar.bz2";
locale = "fr";
arch = "linux-i686";
sha256 = "2cd90fda0de39c0c5f880967d5b3c887b82a4b2b2cff68e563cacf918d1067c2";
sha256 = "4373edef98045ff52146a9899159f4d0614cefc0a49740c538ea52692097d45b";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-i686/fy-NL/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-i686/fy-NL/thunderbird-128.2.0esr.tar.bz2";
locale = "fy-NL";
arch = "linux-i686";
sha256 = "79e3d745529f8ba10c47bf47c530d251a60fba60ae6434c28b21d6d920715343";
sha256 = "0397b53ac71755e8ce65a946d3aa1eb2d025ee3e211857d31519f13d560e99f7";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-i686/ga-IE/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-i686/ga-IE/thunderbird-128.2.0esr.tar.bz2";
locale = "ga-IE";
arch = "linux-i686";
sha256 = "eecef1ff59423519f2dcda87e5bbe2d627324c1e2812d2ee8554fe4624ae5f13";
sha256 = "ea0f51dce8b5f51cb857c112eda213599a0cf85f03de718c3cccb575afe8c311";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-i686/gd/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-i686/gd/thunderbird-128.2.0esr.tar.bz2";
locale = "gd";
arch = "linux-i686";
sha256 = "98061b5bbba7663a76ba1fd81c45da1b819dc60d7eb328865bb4e6054893e68c";
sha256 = "4f2f2d90b84349889b93be998eadff420dc547b36ed2e232c3cdf6a4269a7c1e";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-i686/gl/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-i686/gl/thunderbird-128.2.0esr.tar.bz2";
locale = "gl";
arch = "linux-i686";
sha256 = "20b27324d5d1007898432a5149be39e023d0574cd9412e1981644fa437559462";
sha256 = "8737b1b7a116da2e2a7054c579d5898ecca15abff78a179d86734ea9a58e717e";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-i686/he/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-i686/he/thunderbird-128.2.0esr.tar.bz2";
locale = "he";
arch = "linux-i686";
sha256 = "d0b623cb12b09e8da788a248d9d0c73075a47ab400cd5e9636d63f802d81239f";
sha256 = "2260a9384ac575b3232dc5ceed92e76d56ffd44072784d26f4efaa30a7c4d33c";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-i686/hr/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-i686/hr/thunderbird-128.2.0esr.tar.bz2";
locale = "hr";
arch = "linux-i686";
sha256 = "a4c6f3c8c4e39677e4fa7a7260bff44764fa66e571919d70349f615429ded199";
sha256 = "30ffe91315ac17eaecbe112d4f7db5482c464843c80dcf45f2cb7739b6f957c2";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-i686/hsb/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-i686/hsb/thunderbird-128.2.0esr.tar.bz2";
locale = "hsb";
arch = "linux-i686";
sha256 = "e059202e8add45d767878d96af50d08e540e21af6239e101825153ad3bcde087";
sha256 = "4ab8a3ad84614e9b5efeb953e34a7258cdad035235d4de1e802351c04d135889";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-i686/hu/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-i686/hu/thunderbird-128.2.0esr.tar.bz2";
locale = "hu";
arch = "linux-i686";
sha256 = "a02b0c0460e6bdc54f4d9be92e78ff5c6f8730e1f7199f5f0eceefc220d585ab";
sha256 = "e710ec3beb0656fb14962cfae06b29be24d30f5c2cefd1cbb4e8e09471193d54";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-i686/hy-AM/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-i686/hy-AM/thunderbird-128.2.0esr.tar.bz2";
locale = "hy-AM";
arch = "linux-i686";
sha256 = "53b02544de8294c1292311510f5e72b0b0c6c0209e3d01d92d603e5e52f988b6";
sha256 = "18941e2454d60b17aeebdc95aad7854b989e71c4e928b0147c0beb36eff54f3f";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-i686/id/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-i686/id/thunderbird-128.2.0esr.tar.bz2";
locale = "id";
arch = "linux-i686";
sha256 = "014a9d5214ccd346df23168d1f523374bc5058d247a3817fa8a3df1af7255230";
sha256 = "029c210861312a5d2d3c59f69b692692b133296b27d125367ac2cc2419e0a8d5";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-i686/is/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-i686/is/thunderbird-128.2.0esr.tar.bz2";
locale = "is";
arch = "linux-i686";
sha256 = "f81280dd398b1e5f6e003ec040052f739d20e3f5bc6ebf79ba5ddef068ab9cd7";
sha256 = "bdc4447638fc299cf5974adf5ca268d6d4a46f6d1b22b51e54b2de46f1c266c8";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-i686/it/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-i686/it/thunderbird-128.2.0esr.tar.bz2";
locale = "it";
arch = "linux-i686";
sha256 = "54a9b84390fe010708a901aeedd95a1a6b51aeeb44c47760ee68c261898fa52a";
sha256 = "b3a39203e13635e59b6f58fbd053ebe630c5da786325c48f62f2493e00237d32";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-i686/ja/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-i686/ja/thunderbird-128.2.0esr.tar.bz2";
locale = "ja";
arch = "linux-i686";
sha256 = "a3a1e497d31244a7acc5ea99a1cd4129c28fc00d82d750b5ce360165e7c6b915";
sha256 = "d684e3c5423710c07f5f6918257acabff6ee3c7fa685fb19269f482a6c6f9c61";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-i686/ka/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-i686/ka/thunderbird-128.2.0esr.tar.bz2";
locale = "ka";
arch = "linux-i686";
sha256 = "df4ea755689a82315627d851fa7b59d5cb9730064785099273431e1993ccb529";
sha256 = "5363ebecae103a8b5d37dbd0011e6bdc284e28beb4a32dae17314d3ab420cd22";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-i686/kab/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-i686/kab/thunderbird-128.2.0esr.tar.bz2";
locale = "kab";
arch = "linux-i686";
sha256 = "e40f72751b40fe6896ab0cdd78ab540ece04d1650c35d1d9af944f5e9983da69";
sha256 = "06a8be9cd3cdd3a7b6dd1c9d854a92858c3bde93a1ec49986a9e9325d883527a";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-i686/kk/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-i686/kk/thunderbird-128.2.0esr.tar.bz2";
locale = "kk";
arch = "linux-i686";
sha256 = "aee0ac4b2bf06468b0fd4d302507693c3e5a76426d4aa2b4deb9081f054156b3";
sha256 = "48f9e2bb1efd842fa78cd593305771b43c80d25bbc5ae3336123af43a50a8676";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-i686/ko/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-i686/ko/thunderbird-128.2.0esr.tar.bz2";
locale = "ko";
arch = "linux-i686";
sha256 = "32cbdac8073fdc47feda1e17754a1966d668d10b881d137d593f10ef61f1c8a8";
sha256 = "09c25ebf06fb2524b3717f17a63c4ffc95925a626d0f102ce926108ba1fb4f0e";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-i686/lt/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-i686/lt/thunderbird-128.2.0esr.tar.bz2";
locale = "lt";
arch = "linux-i686";
sha256 = "be4a3241453d43ec04586d27c7a2d09c96ab0558eba5c52a6242b5cc39f7be89";
sha256 = "721c02bd8e8016494d7a32465cb69cac923fb8ba48bd32dbedde6c7e3d88a1be";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-i686/lv/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-i686/lv/thunderbird-128.2.0esr.tar.bz2";
locale = "lv";
arch = "linux-i686";
sha256 = "6b92c31b2e2cbb9f2dcf73d29004233f4a4128dfa315fcc0e642aab59ea65c82";
sha256 = "2f60dcfa5fbadb856aeb15b3542f27952469aa8b333fcb91d3d1e7f69cb9b3a2";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-i686/ms/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-i686/ms/thunderbird-128.2.0esr.tar.bz2";
locale = "ms";
arch = "linux-i686";
sha256 = "87cc4f4a7cf59361c899990e023a57ffd6cd7f8b575fa4f06b5045d71b7d0ba8";
sha256 = "cdf054772acb4130e300ba0aac0e803298387e775af0d890476239e3d7be7c05";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-i686/nb-NO/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-i686/nb-NO/thunderbird-128.2.0esr.tar.bz2";
locale = "nb-NO";
arch = "linux-i686";
sha256 = "5a21efede9c8f142e77c37dd569a42467408c9863c03b791b26153c4e09a962a";
sha256 = "1c56b63aff8096f946388498eee83ba509c46b2f8a609665eded59f13b729d22";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-i686/nl/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-i686/nl/thunderbird-128.2.0esr.tar.bz2";
locale = "nl";
arch = "linux-i686";
sha256 = "d6158645ee629b89a6d518d1e62f6777f3f453e6546ad177979473f432dfb376";
sha256 = "d93de2c117308f4843d9c9377ad336730834132ce823d2d0a1f49c40160c0933";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-i686/nn-NO/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-i686/nn-NO/thunderbird-128.2.0esr.tar.bz2";
locale = "nn-NO";
arch = "linux-i686";
sha256 = "1528148ba47eabfce476ca351ba0c7341a5454d38c798c3b6dfb1c2f02efd3f8";
sha256 = "4f183fe49f3725defcd1c2b4ae65bd95a5ff135b5f2ba0ef348fdecf04c2f7d4";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-i686/pa-IN/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-i686/pa-IN/thunderbird-128.2.0esr.tar.bz2";
locale = "pa-IN";
arch = "linux-i686";
sha256 = "8d6c1f3ce92af5e19e24661aa7bbbe815e3c9ac7ff3e9b6db7c2662e8f56f97c";
sha256 = "f9c8787bd95bdedc4e21fb9ee13b2d4ce7bb051bc3890d104b805b5f859ab922";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-i686/pl/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-i686/pl/thunderbird-128.2.0esr.tar.bz2";
locale = "pl";
arch = "linux-i686";
sha256 = "b26ab380e57e442047092f8f12ce701fc062d3dffb3fb905ffde8ec1c2bd9975";
sha256 = "f536ba3b737d23dc9e0b0f9bf6d0bef06c08c35f37ae92e8f56ce49760422614";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-i686/pt-BR/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-i686/pt-BR/thunderbird-128.2.0esr.tar.bz2";
locale = "pt-BR";
arch = "linux-i686";
sha256 = "23ff7b60b2a754c34bf243851ce7896cba6918126615ebffb030180fc4df754b";
sha256 = "5d7a8b873affd479fcefbe88db6677fdbe616ad67031ccf7fdeee4e740e99653";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-i686/pt-PT/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-i686/pt-PT/thunderbird-128.2.0esr.tar.bz2";
locale = "pt-PT";
arch = "linux-i686";
sha256 = "f6667f60d0a54f4e5c25b7c15d843f7215fb0ff8f65962b9ed219f9fa1cac9c1";
sha256 = "999f812b3ca0cec36503a425b0d756555bc159e2a1cd952a06d65034d28aa0f9";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-i686/rm/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-i686/rm/thunderbird-128.2.0esr.tar.bz2";
locale = "rm";
arch = "linux-i686";
sha256 = "c6c6d412f9a01824bedb46094239caec8c8f32b249f5c9bcce455166472e0c8a";
sha256 = "081809c7c14f8056db296ff3ac97e2a9aaaf56302a40ffb8ede62d83e17fc944";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-i686/ro/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-i686/ro/thunderbird-128.2.0esr.tar.bz2";
locale = "ro";
arch = "linux-i686";
sha256 = "d87bb9e6262ca8639db9c72dc512ccd6e2c5c644b2540b76f1d8db2c6cc11681";
sha256 = "61ffe80eb8d740dda615ced1365b96f6a453947cd174bc3e96577538e3ffb8b3";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-i686/ru/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-i686/ru/thunderbird-128.2.0esr.tar.bz2";
locale = "ru";
arch = "linux-i686";
sha256 = "933509f254d0a83807eb8423a812b44fa293a34302179bde31f8e7c63f29f17a";
sha256 = "c71adef5e11819e3cb7d8ba9c4081058e76f5e3a07e57f8e6c66dd4baf53945c";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-i686/sk/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-i686/sk/thunderbird-128.2.0esr.tar.bz2";
locale = "sk";
arch = "linux-i686";
sha256 = "7075f022ecbc76d4c00a9816f85f22a08998bd44080b3edf7bb2b15f78a5ca98";
sha256 = "28f2ead6651a8fd9d2e75ad3eca88161e93aa13b0ab4e4efa22a5b4e0f77804d";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-i686/sl/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-i686/sl/thunderbird-128.2.0esr.tar.bz2";
locale = "sl";
arch = "linux-i686";
sha256 = "66bd3ea1238198fdf240fa471c846b83ae6ddcb7bb164d3e0bad8480c2b0c9cc";
sha256 = "ace141250862bd1ed339e2a808c059e453ee48cc655e1fec00539c44c12fc77a";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-i686/sq/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-i686/sq/thunderbird-128.2.0esr.tar.bz2";
locale = "sq";
arch = "linux-i686";
sha256 = "0fa98fbe0ebd473ffb247546fba6e7ebcb994bbd4bbbbffb868c2d27984ed8e2";
sha256 = "4463332d93d5f055a39aefefee061c496e4df909c5f605e561bdad524df0ec8b";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-i686/sr/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-i686/sr/thunderbird-128.2.0esr.tar.bz2";
locale = "sr";
arch = "linux-i686";
sha256 = "8388932ebc71148cfd3be78d5fd31754c78c4e249930ec5290876655e115207a";
sha256 = "c6b2bc17a929cce1f829809870cbee9be414c0847ce00a51afa923977a1e0bb7";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-i686/sv-SE/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-i686/sv-SE/thunderbird-128.2.0esr.tar.bz2";
locale = "sv-SE";
arch = "linux-i686";
sha256 = "793f43ad4062323b408527cbf98988291452fb5007938fc6c75f794a95f6fbbd";
sha256 = "71241892935c67e156ea3b37e46056896ac9e60ec90f328ff6fbde1d3fc15bff";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-i686/th/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-i686/th/thunderbird-128.2.0esr.tar.bz2";
locale = "th";
arch = "linux-i686";
sha256 = "ccd43eb6dd39d0be2af3ab4581a1d49563b78aa1389ff227b5b9c7ae83a782b1";
sha256 = "23a404e4f2ad01295a8a6b8439e6a4a733b4ee26eeb709c71ef76a6fb859a244";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-i686/tr/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-i686/tr/thunderbird-128.2.0esr.tar.bz2";
locale = "tr";
arch = "linux-i686";
sha256 = "61cef2f34fba3606af62ed2cdeff626f73d1bf628af17c9a30b151da4f7357e2";
sha256 = "e418a2be53df374d9ea08fd64a890dbe076e420d9b0e2db3dd58035433801d57";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-i686/uk/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-i686/uk/thunderbird-128.2.0esr.tar.bz2";
locale = "uk";
arch = "linux-i686";
sha256 = "51daf721ea9864fb199eab9908792b67031005238067543f4a69ebc5ad4fb10c";
sha256 = "0185113bbdda3bf7fc03578ff8cd7c2cabf691608d3ff67e598bb669c60690fb";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-i686/uz/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-i686/uz/thunderbird-128.2.0esr.tar.bz2";
locale = "uz";
arch = "linux-i686";
sha256 = "83acb46cce8a7e94e16bb0dd323af816284728d507c2787ae3a8e77fd78662d9";
sha256 = "dda399a258e14ce9f38b5b1c4b9c366c52ed0d3158ae8eda45da3e28648bba6e";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-i686/vi/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-i686/vi/thunderbird-128.2.0esr.tar.bz2";
locale = "vi";
arch = "linux-i686";
sha256 = "2ddc9a1b085f1a936e1ac10fb84440cb6159d77baab95ee7a2073202b3341987";
sha256 = "fadfa641fd7363d82856b2957645a619c9f8f582c9bda78b6a74a825729aec91";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-i686/zh-CN/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-i686/zh-CN/thunderbird-128.2.0esr.tar.bz2";
locale = "zh-CN";
arch = "linux-i686";
sha256 = "6468070bca4ab013646945206c04a03a9b5ac5bac5b07cd48543aa0b7e980353";
sha256 = "667e7244f358e12973df794afd4077bb1ceb7e4cbaee88f0832cb2c25d151d1d";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/115.13.0/linux-i686/zh-TW/thunderbird-115.13.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/128.2.0esr/linux-i686/zh-TW/thunderbird-128.2.0esr.tar.bz2";
locale = "zh-TW";
arch = "linux-i686";
sha256 = "27a73e84abdea7e4f9d4fe595129f08dd92dc9fdb4d2a3c275481096be90cb8a";
sha256 = "becf451ca9483fb8a8d0b9d76942eac71df2d4ea063ff8f5411e84d9b8392898";
}
];
}

View File

@ -16,7 +16,7 @@ index 887213f09..c66468306 100644
<< QLatin1String("Name=") << guiName << QLatin1Char('\n')
<< QLatin1String("GenericName=") << QLatin1String("File Synchronizer\n")
- << QLatin1String("Exec=\"") << executablePath << "\" --background\n"
+ << QLatin1String("Exec=") << "nextcloud --background" << endl
+ << QLatin1String("Exec=") << "nextcloud --background\n"
<< QLatin1String("Terminal=") << "false\n"
<< QLatin1String("Icon=") << APPLICATION_ICON_NAME << QLatin1Char('\n')
<< QLatin1String("Categories=") << QLatin1String("Network\n")

View File

@ -4,20 +4,20 @@
, cmake
, extra-cmake-modules
, inotify-tools
, kdePackages
, libcloudproviders
, librsvg
, libsecret
, openssl
, pcre
, pkg-config
, qt5compat
, qtbase
, qtkeychain
, qtsvg
, qttools
, qtwebengine
, qtwebsockets
, qtquickcontrols2
, qtgraphicaleffects
, plasma5Packages
, sphinx
, sqlite
, xdg-utils
@ -26,15 +26,15 @@
stdenv.mkDerivation rec {
pname = "nextcloud-client";
version = "3.13.4";
version = "3.14.0";
outputs = [ "out" "dev" ];
src = fetchFromGitHub {
owner = "nextcloud-releases";
repo = "desktop";
rev = "v${version}";
hash = "sha256-anQwIqWtHdKFfUuCekiyrdg9xzxcs5bVJ0VDMtyVfw8=";
rev = "refs/tags/v${version}";
hash = "sha256-/jRD0swNs59xugsXLbesGcTtyGdc/y/iwiDVoErW+d4=";
};
patches = [
@ -46,7 +46,7 @@ stdenv.mkDerivation rec {
postPatch = ''
for file in src/libsync/vfs/*/CMakeLists.txt; do
substituteInPlace $file \
--replace "PLUGINDIR" "KDE_INSTALL_PLUGINDIR"
--replace-fail "PLUGINDIR" "KDE_INSTALL_PLUGINDIR"
done
'';
@ -61,17 +61,17 @@ stdenv.mkDerivation rec {
buildInputs = [
inotify-tools
kdePackages.kio
libcloudproviders
libsecret
openssl
pcre
plasma5Packages.kio
qt5compat
qtbase
qtkeychain
qtsvg
qttools
qtwebengine
qtquickcontrols2
qtgraphicaleffects
qtwebsockets
sqlite
];
@ -93,6 +93,7 @@ stdenv.mkDerivation rec {
'';
meta = with lib; {
changelog = "https://github.com/nextcloud/desktop/releases/tag/v${version}";
description = "Nextcloud themed desktop client";
homepage = "https://nextcloud.com";
license = licenses.gpl2Plus;

View File

@ -38,13 +38,13 @@
let
pname = "pcloud";
version = "1.14.6";
code = "XZQDbs0Z4ET1VL0SIUuzr5ewR9LYuf6ssLRk";
version = "1.14.7";
code = "XZhPkU0Zh5gulxHfMn4j1dYBS4dh45iDQHby";
# Archive link's codes: https://www.pcloud.com/release-notes/linux.html
src = fetchzip {
url = "https://api.pcloud.com/getpubzip?code=${code}&filename=pcloud-${version}.zip";
hash = "sha256-3HUVIDxeq7svzeWyZrxlE4TjZ8lOwT8bYgyRFRzGnmU=";
hash = "sha256-fzQVuCI3mK93Y3Fwzc0WM5rti0fTZhRm+Qj1CHC8CJ4=";
};
appimageContents = appimageTools.extractType2 {

View File

@ -40,6 +40,9 @@ mkDerivation rec {
ghostscript
];
# needed for qmakeFlags+=( below
__structuredAttrs = true;
preConfigure = ''
lrelease qpdfview.pro
qmakeFlags+=(*.pro)

View File

@ -6,7 +6,7 @@
wrapQtAppsHook,
pkg-config,
qtbase,
qwt,
qwt6_1,
fftwFloat,
libsamplerate,
portaudio,
@ -37,7 +37,7 @@ stdenv.mkDerivation (finalAttrs: {
buildInputs = [
qtbase
qwt
qwt6_1
fftwFloat
libsamplerate
portaudio

View File

@ -1,10 +1,9 @@
{ lib, stdenv, fetchFromGitHub }:
{ lib, gccStdenv, fetchFromGitHub }:
stdenv.mkDerivation rec {
pname = "muscle";
gccStdenv.mkDerivation rec {
pname = "muscle";
version = "5.1.0";
src = fetchFromGitHub {
owner = "rcedgar";
repo = pname;
@ -14,15 +13,26 @@ stdenv.mkDerivation rec {
sourceRoot = "${src.name}/src";
installPhase = ''
install -m755 -D Linux/muscle $out/bin/muscle
'';
patches = [
./muscle-darwin-g++.patch
];
installPhase =
let
target =
if gccStdenv.isDarwin
then "Darwin"
else "Linux";
in
''
install -m755 -D ${target}/muscle $out/bin/muscle
'';
meta = with lib; {
description = "Multiple sequence alignment with top benchmark scores scalable to thousands of sequences";
mainProgram = "muscle";
license = licenses.gpl3Plus;
homepage = "https://www.drive5.com/muscle/";
license = licenses.gpl3Plus;
homepage = "https://www.drive5.com/muscle/";
maintainers = with maintainers; [ unode thyol ];
};
}

View File

@ -0,0 +1,15 @@
diff --git a/Makefile b/Makefile
index df16673..be3bd0d 100644
--- a/Makefile
+++ b/Makefile
@@ -20,9 +20,6 @@ OS := $(shell uname)
CPPFLAGS := $(CPPFLAGS) -DNDEBUG -pthread
CXX := g++
-ifeq ($(OS),Darwin)
- CXX := g++-11
-endif
CXXFLAGS := $(CXXFLAGS) -O3 -fopenmp -ffast-math

View File

@ -1,6 +1,7 @@
{ lib
, stdenv
, fetchFromGitHub
, fetchpatch
, cmake
, doxygen
, graphviz
@ -42,6 +43,14 @@ in stdenv.mkDerivation (finalAttrs: {
hash = "sha256-3fEwm5EKK9RcRbnyUejgwfjdsXaujjZjoMbq/BbVMeM=";
};
patches = [
(fetchpatch {
name = "qwt-6.3-compile-error-fix.patch";
url = "https://github.com/GPlates/GPlates/commit/c4680ebe54f4535909085feacecd66410a91ff98.patch";
hash = "sha256-mw5+GLayMrmcSDd1ai+0JTuY3iedHT9u2kx5Dd2wMjg=";
})
];
nativeBuildInputs = [
cmake
doxygen

View File

@ -28,7 +28,7 @@ buildGoModule rec {
meta = with lib; {
description = "GitLab Docker toolset to pack, ship, store, and deliver content";
license = licenses.asl20;
maintainers = with maintainers; [ yayayayaka xanderio ];
maintainers = with maintainers; [ yayayayaka ] ++ teams.cyberus.members;
platforms = platforms.unix;
};
}

View File

@ -21,6 +21,6 @@ buildGoModule rec {
description = "Indexes Git repositories into Elasticsearch for GitLab";
mainProgram = "gitlab-elasticsearch-indexer";
license = licenses.mit;
maintainers = with maintainers; [ xanderio yayayayaka ];
maintainers = with maintainers; [ yayayayaka ] ++ teams.cyberus.members;
};
}

View File

@ -10,13 +10,13 @@
stdenv.mkDerivation rec {
pname = "obs-text-pthread";
version = "2.0.4";
version = "2.0.5";
src = fetchFromGitHub {
owner = "norihiro";
repo = "obs-text-pthread";
rev = version;
sha256 = "sha256-3Y++zpy5TEp8AtyRw+1fZDEFY9AuN7JpUNqUhM7h04U=";
sha256 = "sha256-zrgxKs3jmrwQJiEgKfZz1BOVToTLauQXtFYcuFlV71o=";
};
nativeBuildInputs = [ cmake pkg-config ];

View File

@ -63,20 +63,6 @@ let
GO111MODULE = "on";
GOTOOLCHAIN = "local";
toExtension =
overlay0:
if lib.isFunction overlay0 then
final: prev:
if lib.isFunction (overlay0 prev) then
# `overlay0` is `final: prev: { ... }`
overlay0 final prev
else
# `overlay0` is `prev: { ... }`
overlay0 prev
else
# `overlay0` is `{ ... }`
final: prev: overlay0;
in
(stdenv.mkDerivation (finalAttrs:
args
@ -333,7 +319,7 @@ in
# Canonicallize `overrideModAttrs` as an attribute overlay.
# `passthru.overrideModAttrs` will be overridden
# when users want to override `goModules`.
overrideModAttrs = toExtension overrideModAttrs;
overrideModAttrs = lib.toExtension overrideModAttrs;
} // passthru;
meta = {

View File

@ -0,0 +1,32 @@
{
lib,
buildGoModule,
fetchFromGitHub,
stdenv,
}:
let
pname = "abctl";
version = "0.13.1";
in
buildGoModule {
inherit pname version;
src = fetchFromGitHub {
owner = "airbytehq";
repo = pname;
rev = "v${version}";
hash = "sha256-ZZP5wXsPtqkZd/sdj/LU8M/DYv0gjIWRspAFrp3ETH8=";
};
vendorHash = "sha256-uvOKH/MLIoIwYClpTIj010os9dGkkZPAVV0RYBjjzVk=";
meta = {
description = "Airbyte's CLI for managing local Airbyte installations";
homepage = "https://airbyte.com/";
changelog = "https://github.com/airbytehq/abctl/releases/tag/v${version}";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ xelden ];
mainProgram = "abctl";
broken = stdenv.isDarwin;
};
}

View File

@ -95,6 +95,8 @@ python3.pkgs.buildPythonApplication {
"test_browser_flag_imports_streamlit"
# AttributeError
"test_simple_send_with_retries"
# Expected 'check_version' to have been called once
"test_main_exit_calls_version_check"
]
++ lib.optionals stdenv.hostPlatform.isDarwin [
# Tests fails on darwin
@ -104,6 +106,7 @@ python3.pkgs.buildPythonApplication {
preCheck = ''
export HOME=$(mktemp -d)
export AIDER_CHECK_UPDATE=false
'';
meta = {

View File

@ -10,16 +10,16 @@
rustPlatform.buildRustPackage rec {
pname = "aiken";
version = "1.0.29-alpha"; # all releases are 'alpha'
version = "1.1.2";
src = fetchFromGitHub {
owner = "aiken-lang";
repo = "aiken";
rev = "v${version}";
hash = "sha256-fikXypc9HKil4Ut4jdgQtTTy/CHEogEpDprwdTgd9b4=";
hash = "sha256-os8OqLX6vxHQvrn+X8/BeYnfZJSKG7GDScz7ikJ4sl8=";
};
cargoHash = "sha256-UWDPXnq2k/PoogrfuW93ieRW8AfuNIEfri9Jo6gHkdg=";
cargoHash = "sha256-7VoTL9W9KboBhhxB9nkzPag6IR/RsXZUDVXjdzOITVM=";
buildInputs =
[ openssl ]

View File

@ -8,13 +8,13 @@
stdenv.mkDerivation rec {
pname = "ceph-csi";
version = "3.12.1";
version = "3.12.2";
src = fetchFromGitHub {
owner = "ceph";
repo = "ceph-csi";
rev = "v${version}";
hash = "sha256-ujshfbqOyyOZUYuR5edLPGOKlteu1gxmn0xo+QzZLVM=";
hash = "sha256-AyGdXPszvYO/ocfcWKeRaUXgwB0IHFVG9uc+c2iaEvA=";
};
preConfigure = ''

View File

@ -22,18 +22,18 @@
rustPlatform.buildRustPackage rec {
pname = "cinny-desktop";
# We have to be using the same version as cinny-web or this isn't going to work.
version = "4.1.0";
version = "4.2.1";
src = fetchFromGitHub {
owner = "cinnyapp";
repo = "cinny-desktop";
rev = "refs/tags/v${version}";
hash = "sha256-3HwKDD0O1Yx2OIjyO5FhV4d1INAIFXMO7FjSL7cOVmI=";
hash = "sha256-W73ma8ScF3LGv45yhZCV80zhh7URLuWhbi+JumyTp+4=";
};
sourceRoot = "${src.name}/src-tauri";
cargoHash = "sha256-CwB4S/5UuDH1LlJ4CY77XUCriplT3ZFfdg1j41AUoTI=";
cargoHash = "sha256-ved2W4+Dt7pN9j9vIaDlAkaY517nBEgPKgu8ArcHXsM=";
postPatch =
let

View File

@ -14,16 +14,16 @@
buildNpmPackage rec {
pname = "cinny-unwrapped";
version = "4.1.0";
version = "4.2.1";
src = fetchFromGitHub {
owner = "cinnyapp";
repo = "cinny";
rev = "v${version}";
hash = "sha256-GC+TvTPfirov4GxkTp0N3tkDQEAEdmPB71NzOBZQiqs=";
hash = "sha256-+sJQosQMji2iLGgOMRykSJm0zIhghsOsROJZvTQk2zQ=";
};
npmDepsHash = "sha256-dP+m/ocGn8szZuakrz8slSReNeepOF4Jf7L0/gnXWGU=";
npmDepsHash = "sha256-VSTpe1CA6lv5MoqXyk1iZSwzRc6Axy5cM8PmqPOyheA=";
# Fix error: no member named 'aligned_alloc' in the global namespace
env.NIX_CFLAGS_COMPILE = lib.optionalString (

View File

@ -1,14 +1,21 @@
{ lib, stdenv, fetchzip, mono, sqlite, makeWrapper }:
{
lib,
stdenv,
fetchzip,
mono,
sqlite,
makeWrapper,
}:
stdenv.mkDerivation rec {
pname = "duplicati";
version = "2.0.7.1";
version = "2.0.8.1";
channel = "beta";
build_date = "2023-05-25";
build_date = "2024-05-07";
src = fetchzip {
url = "https://github.com/duplicati/duplicati/releases/download/v${version}-${version}_${channel}_${build_date}/duplicati-${version}_${channel}_${build_date}.zip";
hash = "sha256-isPmRC6N+gEZgvJ0bgeFf5kOQJsicZOsGnT+CAGgg+U=";
hash = "sha256-LmW6yGutxP33ghFqyOLKrGDNCQdr8DDFn/IHigsLpzA=";
stripRoot = false;
};
@ -19,19 +26,26 @@ stdenv.mkDerivation rec {
cp -r * $out/share/${pname}-${version}
makeWrapper "${mono}/bin/mono" $out/bin/duplicati-cli \
--add-flags "$out/share/${pname}-${version}/Duplicati.CommandLine.exe" \
--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [
sqlite ]}
--prefix LD_LIBRARY_PATH : ${
lib.makeLibraryPath [
sqlite
]
}
makeWrapper "${mono}/bin/mono" $out/bin/duplicati-server \
--add-flags "$out/share/${pname}-${version}/Duplicati.Server.exe" \
--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [
sqlite ]}
--prefix LD_LIBRARY_PATH : ${
lib.makeLibraryPath [
sqlite
]
}
'';
meta = with lib; {
description = "Free backup client that securely stores encrypted, incremental, compressed backups on cloud storage services and remote file servers";
homepage = "https://www.duplicati.com/";
license = licenses.lgpl21;
maintainers = with maintainers; [ nyanloutre ];
maintainers = with maintainers; [ nyanloutre bot-wxt1221 ];
sourceProvenance = with sourceTypes; [ binaryBytecode ];
platforms = platforms.all;
};
}

View File

@ -47,13 +47,13 @@ let
in
stdenv.mkDerivation rec {
pname = "easyeffects";
version = "7.1.8";
version = "7.1.9";
src = fetchFromGitHub {
owner = "wwmm";
repo = "easyeffects";
rev = "refs/tags/v${version}";
hash = "sha256-eDjtmr100WOCd0k0p3rUEtu6O9LlSGs43oaIXT07ikI=";
hash = "sha256-It+kldlhThWF9y/rTgKt9QlIouH1cQcCtSHQTsaGjfo=";
};
nativeBuildInputs = [

View File

@ -41,6 +41,8 @@ stdenv.mkDerivation rec {
})
];
enableParallelBuilding = true;
meta = {
homepage = "https://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs-tools.git/";
description = "Userland tools for the f2fs filesystem";

View File

@ -2,9 +2,9 @@
buildDotnetGlobalTool {
pname = "fantomas";
version = "6.3.13";
version = "6.3.15";
nugetHash = "sha256-ZVNYG0GtFlNYLE1J8Ts4GEfJlEgoMaQwGdHdCX3ru50=";
nugetHash = "sha256-Gjw7MxjUNckMWSfnOye4UTe5fZWnor6RHCls3PNsuG8=";
meta = with lib; {
description = "F# source code formatter";

View File

@ -6,11 +6,11 @@
}:
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "fcitx5-pinyin-moegirl";
version = "20240809";
version = "20240909";
src = fetchurl {
url = "https://github.com/outloudvi/mw2fcitx/releases/download/${finalAttrs.version}/moegirl.dict";
hash = "sha256-2jSKzDgjxuz0/Agqefy4JrScmqM7SXnIuZlLMkqAGT0=";
hash = "sha256-+e4azEWHYSh3Gy9Xa+Y8E7f7rAA8YlWlbvbva9kNXCI=";
};
dontUnpack = true;

View File

@ -6,11 +6,11 @@
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "fcitx5-pinyin-zhwiki";
version = "0.2.5";
date = "20240509";
date = "20240909";
src = fetchurl {
url = "https://github.com/felixonmars/fcitx5-pinyin-zhwiki/releases/download/${finalAttrs.version}/zhwiki-${finalAttrs.date}.dict";
hash = "sha256-uRpKPq+/xJ8akKB8ol/JRF79VfDIQ8L4SxLDXzpfPxg=";
hash = "sha256-djXrwl1MmiAf0U5Xvm4S7Fk2fKNRm5jtc94KUYIrcm8=";
};
dontUnpack = true;

File diff suppressed because it is too large Load Diff

View File

@ -28,13 +28,13 @@
rustPlatform.buildRustPackage rec {
pname = "firefoxpwa";
version = "2.12.1";
version = "2.12.3";
src = fetchFromGitHub {
owner = "filips123";
repo = "PWAsForFirefox";
rev = "v${version}";
hash = "sha256-0Yyd0mJK/eDallg9ERimvZIRCOTeDkzeAVUfDeNP928=";
hash = "sha256-+dQr8eMOvCKt3ZEVU/EbEroVSpLQsBC+1Wix01IrOyc=";
};
sourceRoot = "${src.name}/native";

View File

@ -5,7 +5,7 @@
python3.pkgs.buildPythonApplication rec {
pname = "flexget";
version = "3.11.43";
version = "3.11.45";
pyproject = true;
# Fetch from GitHub in order to use `requirements.in`
@ -13,21 +13,17 @@ python3.pkgs.buildPythonApplication rec {
owner = "Flexget";
repo = "Flexget";
rev = "refs/tags/v${version}";
hash = "sha256-KX7Bvu4rt+Q7x2XkBiZMngAgqRKYu90EVi2oQ21o5AI=";
hash = "sha256-QtxtkXKBYf46cS+TAxJGQNQktHpLgGDIf7Czfznzr1s=";
};
postPatch = ''
# remove dependency constraints but keep environment constraints
sed 's/[~<>=][^;]*//' -i requirements.txt
'';
# relax dep constrains, keep environment constraints
pythonRelaxDeps = true;
build-system = with python3.pkgs; [
setuptools
wheel
];
build-system = with python3.pkgs; [ setuptools ];
dependencies = with python3.pkgs; [
# See https://github.com/Flexget/Flexget/blob/master/pyproject.toml
# and https://github.com/Flexget/Flexget/blob/develop/requirements.txt
apscheduler
beautifulsoup4
colorama
@ -48,6 +44,7 @@ python3.pkgs.buildPythonApplication rec {
rich
rpyc
sqlalchemy
zstandard
# WebUI requirements
cherrypy

View File

@ -1,21 +1,28 @@
{ lib, stdenv, fetchFromGitHub }:
{
lib,
stdenv,
fetchFromGitHub,
pandoc,
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "fscryptctl";
version = "1.0.0";
goPackagePath = "github.com/google/fscrypt";
version = "1.2.0";
src = fetchFromGitHub {
owner = "google";
repo = "fscryptctl";
rev = "v${version}";
sha256 = "1hwj726mm0yhlcf6523n07h0yq1rvkv4km64h3ydpjcrcxklhw6l";
rev = "v${finalAttrs.version}";
hash = "sha256-5suEdSpX8alDkSnSnyiIjUmZq98eK0ZPVAtDKhOs65c=";
};
nativeBuildInputs = [ pandoc ];
strictDeps = true;
makeFlags = [ "PREFIX=${placeholder "out"}" ];
meta = with lib; {
meta = {
description = "Small C tool for Linux filesystem encryption";
mainProgram = "fscryptctl";
longDescription = ''
@ -32,10 +39,10 @@ stdenv.mkDerivation rec {
As fscryptctl is intended for advanced users, you should read the kernel
documentation for filesystem encryption before using fscryptctl.
'';
inherit (src.meta) homepage;
changelog = "https://github.com/google/fscryptctl/releases/tag/v${version}";
license = licenses.asl20;
platforms = platforms.linux;
maintainers = with maintainers; [ primeos ];
inherit (finalAttrs.src.meta) homepage;
changelog = "https://github.com/google/fscryptctl/blob/master/NEWS.md";
license = lib.licenses.asl20;
platforms = lib.platforms.linux;
maintainers = with lib.maintainers; [ primeos ];
};
}
})

View File

@ -0,0 +1,7 @@
{ libtool }:
libtool.overrideAttrs {
pname = "glibtool";
meta.mainProgram = "glibtool";
configureFlags = [ "--program-prefix=g" ];
}

View File

@ -0,0 +1,65 @@
{
lib,
rustPlatform,
fetchFromGitLab,
pkg-config,
wrapGAppsHook4,
libadwaita,
openssl,
webkitgtk_6_0,
sqlite,
glib-networking,
}:
rustPlatform.buildRustPackage {
pname = "hackgregator";
version = "0.5.0-unstable-2023-12-05";
src = fetchFromGitLab {
owner = "gunibert";
repo = "hackgregator";
rev = "594bdcdc3919c7216d611ddbbc77ab4d0c1f4f2b";
hash = "sha256-RE0x4YWquWAcQzxGk9zdNjEp1pijrBtjV1EMBu9c5cs=";
};
cargoHash = "sha256-OPlYFUhAFRHqXS2vad0QYlhcwyyxdxi1kjpTxVlgyxs=";
nativeBuildInputs = [
pkg-config
wrapGAppsHook4
];
buildInputs = [
libadwaita
openssl
webkitgtk_6_0
sqlite
glib-networking
];
# 'error[E0432]: unresolved import' when compiling checks
doCheck = false;
postInstall = ''
rm $out/bin/xtask
mkdir -p $out/share
pushd hackgregator/data
cp -r icons $out/share/icons
install -Dm644 de.gunibert.Hackgregator.desktop -t $out/share/applications
install -Dm644 de.gunibert.Hackgregator.appdata.xml -t $out/share/appdata
popd
'';
meta = {
description = "Comfortable GTK reader application for news.ycombinator.com";
homepage = "https://gitlab.com/gunibert/hackgregator";
license = with lib.licenses; [
gpl3Plus
# and
cc0
];
mainProgram = "hackgregator";
maintainers = with lib.maintainers; [ aleksana ];
platforms = lib.platforms.unix;
};
}

File diff suppressed because it is too large Load Diff

View File

@ -9,20 +9,17 @@
rustPlatform.buildRustPackage rec {
pname = "hdr10plus_tool";
version = "1.6.0";
version = "1.6.1";
src = fetchFromGitHub {
owner = "quietvoid";
repo = "hdr10plus_tool";
rev = "refs/tags/${version}";
hash = "sha256-EyKCdrilb6Ha9avEe5L4Snbufq8pEiTvr8tcdj0M6Zs=";
hash = "sha256-eP77LHADP9oenMACctPKU6xPzg4atC0dPOqyrFse/1s=";
};
cargoLock = {
lockFile = ./Cargo.lock;
outputHashes = {
"plotters-0.3.5" = "sha256-cz8/chdq8C/h1q5yFcQp0Rzg89XHnQhIN1Va52p6Z2Y=";
};
};
nativeBuildInputs = [ pkg-config ];

View File

@ -44,6 +44,7 @@
, glibcLocales
, fetchFromGitHub
, nixosTests
, unstableGitUpdater
}:
let
@ -123,13 +124,13 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "hydra";
version = "0-unstable-2024-08-27";
version = "0-unstable-2024-09-15";
src = fetchFromGitHub {
owner = "NixOS";
repo = "hydra";
rev = "2d79b0a4da9e2a8ff97c1173aa56fe92e1f4629b";
hash = "sha256-ZU8/LzdZ0nbUxVxTsRZyMpTGEtps9oG0Yx2cpS9J8I4=";
rev = "b6f44b5cd020d95c405e149e4c3a0e9dc785e31a";
hash = "sha256-dXDOX6IvAeznNoh73P2QWstBJ/jqfzEKjgNvdfsGTuY=";
};
buildInputs = [
@ -232,6 +233,7 @@ stdenv.mkDerivation (finalAttrs: {
passthru = {
inherit nix perlDeps;
tests.basic = nixosTests.hydra.hydra;
updateScript = unstableGitUpdater {};
};
meta = with lib; {

View File

@ -24,14 +24,14 @@
let
pname = "libvmi";
version = "0.14.0-unstable-2024-08-06";
version = "0.14.0-unstable-2024-09-04";
libVersion = "0.0.15";
src = fetchFromGitHub {
owner = "libvmi";
repo = "libvmi";
rev = "bdb9ffb8f1f70b425454bc41da2be353cc6cbf5c";
hash = "sha256-5K+9Qq5vGeYYy8kqWIeO25iNJoD/HvtyircH6odr/qA=";
rev = "033a0ec5468c29a93888385fd722798a2ca639b7";
hash = "sha256-NPcOqmTO4EligGsOTfyO6Bc1duyAoMuX85ICVIOWFE8=";
};
in

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