Merge master into haskell-updates
This commit is contained in:
commit
c2b48909d6
@ -205,7 +205,7 @@ runCommand "example" {
|
||||
|
||||
:::
|
||||
|
||||
## `testEqualContents` {#tester-equalContents}
|
||||
## `testEqualContents` {#tester-testEqualContents}
|
||||
|
||||
Check that two paths have the same contents.
|
||||
|
||||
|
@ -7,7 +7,7 @@ The following example shows a Nim program that depends only on Nim libraries:
|
||||
```nix
|
||||
{ lib, buildNimPackage, fetchFromGitHub }:
|
||||
|
||||
buildNimPackage { } (finalAttrs: {
|
||||
buildNimPackage (finalAttrs: {
|
||||
pname = "ttop";
|
||||
version = "1.2.7";
|
||||
|
||||
@ -80,7 +80,6 @@ For example, to propagate a dependency on SDL2 for lockfiles that select the Nim
|
||||
/* … */
|
||||
sdl2 =
|
||||
lockAttrs:
|
||||
finalAttrs:
|
||||
{ buildInputs ? [ ], ... }:
|
||||
{
|
||||
buildInputs = buildInputs ++ [ SDL2 ];
|
||||
@ -89,9 +88,8 @@ For example, to propagate a dependency on SDL2 for lockfiles that select the Nim
|
||||
}
|
||||
```
|
||||
|
||||
The annotations in the `nim-overrides.nix` set are functions that take three arguments and return a new attrset to be overlayed on the package being built.
|
||||
The annotations in the `nim-overrides.nix` set are functions that take two arguments and return a new attrset to be overlayed on the package being built.
|
||||
- lockAttrs: the attrset for this library from within a lockfile. This can be used to implement library version constraints, such as marking libraries as broken or insecure.
|
||||
- finalAttrs: the final attrset passed by `buildNimPackage` to `stdenv.mkDerivation`.
|
||||
- prevAttrs: the attrset produced by initial arguments to `buildNimPackage` and any preceding lockfile overlays.
|
||||
|
||||
### Overriding an Nim library override {#nim-lock-overrides-overrides}
|
||||
|
@ -577,6 +577,15 @@
|
||||
fingerprint = "51E4 F5AB 1B82 BE45 B422 9CC2 43A5 E25A A5A2 7849";
|
||||
}];
|
||||
};
|
||||
aduh95 = {
|
||||
email = "duhamelantoine1995@gmail.com";
|
||||
github = "aduh95";
|
||||
githubId = 14309773;
|
||||
name = "Antoine du Hamel";
|
||||
keys = [{
|
||||
fingerprint = "C0D6 2484 39F1 D560 4AAF FB40 21D9 00FF DB23 3756";
|
||||
}];
|
||||
};
|
||||
aerialx = {
|
||||
email = "aaron+nixos@aaronlindsay.com";
|
||||
github = "AerialX";
|
||||
@ -1086,6 +1095,12 @@
|
||||
fingerprint = "1F73 8879 5E5A 3DFC E2B3 FA32 87D1 AADC D25B 8DEE";
|
||||
}];
|
||||
};
|
||||
aman9das = {
|
||||
email = "amandas62640@gmail.com";
|
||||
github = "Aman9das";
|
||||
githubId = 39594914;
|
||||
name = "Aman Das";
|
||||
};
|
||||
amanjeev = {
|
||||
email = "aj@amanjeev.com";
|
||||
github = "amanjeev";
|
||||
|
@ -1,18 +1,22 @@
|
||||
{ stdenv, lib, makeWrapper, perl, perlPackages }:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "nixpkgs-lint-1";
|
||||
pname = "nixpkgs-lint";
|
||||
version = "1";
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
buildInputs = [ perl perlPackages.XMLSimple ];
|
||||
|
||||
dontUnpack = true;
|
||||
buildPhase = "true";
|
||||
dontBuild = true;
|
||||
|
||||
installPhase =
|
||||
''
|
||||
mkdir -p $out/bin
|
||||
cp ${./nixpkgs-lint.pl} $out/bin/nixpkgs-lint
|
||||
# make the built version hermetic
|
||||
substituteInPlace $out/bin/nixpkgs-lint \
|
||||
--replace-fail "#! /usr/bin/env nix-shell" "#! ${lib.getExe perl}"
|
||||
wrapProgram $out/bin/nixpkgs-lint --set PERL5LIB $PERL5LIB
|
||||
'';
|
||||
|
||||
|
@ -42,8 +42,14 @@ In addition to numerous new and upgraded packages, this release has the followin
|
||||
}
|
||||
```
|
||||
|
||||
- Cinnamon has been updated to 6.0. Please be aware that the [Wayland session](https://blog.linuxmint.com/?p=4591) is still experimental in this release and could potentially [affect Xorg sessions](https://blog.linuxmint.com/?p=4639). We suggest a reboot when switching between sessions.
|
||||
|
||||
- GNOME has been updated to 46 "Kathmandu", which introduces an enhanced Files app, support for OneDrive in Online Accounts, and more changes. Refer to the [release notes](https://release.gnome.org/46/) for more details.
|
||||
|
||||
- Lomiri (formerly known as Unity8) desktop mode, using Mir 2.x to function as a Wayland compositor, is now available and can be installed with `services.desktopManager.lomiri.enable = true`. Note that some core applications, services and indicators have yet to be packaged, and some functions may remain incomplete, but the base experience should be there.
|
||||
|
||||
- LXQt has been updated to 2.0, which is based on Qt 6 and features Wayland support for many applications.
|
||||
|
||||
- MATE has been updated to 1.28.
|
||||
- To properly support panel plugins built with Wayland (in-process) support, we are introducing the `services.xserver.desktopManager.mate.extraPanelApplets` option, please use that for installing panel applets.
|
||||
- Similarly, please use the `services.xserver.desktopManager.mate.extraCajaExtensions` option for installing Caja extensions.
|
||||
@ -619,8 +625,6 @@ Use `services.pipewire.extraConfig` or `services.pipewire.configPackages` for Pi
|
||||
|
||||
- `castopod` has some migration actions to be taken in case of a S3 setup. Some new features may also need some manual migration actions. See [https://code.castopod.org/adaures/castopod/-/releases](https://code.castopod.org/adaures/castopod/-/releases) for more information.
|
||||
|
||||
- `cinnamon` has been updated to 6.0. Please be aware that the [Wayland session](https://blog.linuxmint.com/?p=4591) is still experimental in this release and could potentially [affect Xorg sessions](https://blog.linuxmint.com/?p=4639). We suggest a reboot when switching between sessions.
|
||||
|
||||
- `documentation.man.mandoc` now, by default, uses `MANPATH` to set the directories where mandoc will search for manual pages.
|
||||
This enables mandoc to find manual pages in Nix profiles. To set the manual search paths via the `mandoc.conf` configuration file like before, use `documentation.man.mandoc.settings.manpath` instead.
|
||||
|
||||
|
@ -18,6 +18,9 @@
|
||||
nvimpager settings: user commands in `-c` and `--cmd` now override the
|
||||
respective default settings because they are executed later.
|
||||
|
||||
- The Invoiceplane module now only accepts the structured `settings` option.
|
||||
`extraConfig` is now removed.
|
||||
|
||||
- Legacy package `stalwart-mail_0_6` was dropped, please note the
|
||||
[manual upgrade process](https://github.com/stalwartlabs/mail-server/blob/main/UPGRADING.md)
|
||||
before changing the package to `pkgs.stalwart-mail` in
|
||||
@ -31,6 +34,10 @@
|
||||
for information on working around `output '...' is not allowed to refer to
|
||||
the following paths` errors caused by this change.
|
||||
|
||||
- The `stalwart-mail` module now uses RocksDB as the default storage backend
|
||||
for `stateVersion` ≥ 24.11. (It was previously using SQLite for structured
|
||||
data and the filesystem for blobs).
|
||||
|
||||
## Other Notable Changes {#sec-release-24.11-notable-changes}
|
||||
|
||||
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
|
||||
|
@ -182,6 +182,30 @@ in rec {
|
||||
in if errors == [] then true
|
||||
else trace (concatStringsSep "\n" errors) false;
|
||||
|
||||
checkUnitConfigWithLegacyKey = legacyKey: group: checks: attrs:
|
||||
let
|
||||
dump = lib.generators.toPretty { }
|
||||
(lib.generators.withRecursion { depthLimit = 2; throwOnDepthLimit = false; } attrs);
|
||||
attrs' =
|
||||
if legacyKey == null
|
||||
then attrs
|
||||
else if ! attrs?${legacyKey}
|
||||
then attrs
|
||||
else if removeAttrs attrs [ legacyKey ] == {}
|
||||
then attrs.${legacyKey}
|
||||
else throw ''
|
||||
The declaration
|
||||
|
||||
${dump}
|
||||
|
||||
must not mix unit options with the legacy key '${legacyKey}'.
|
||||
|
||||
This can be fixed by moving all settings from within ${legacyKey}
|
||||
one level up.
|
||||
'';
|
||||
in
|
||||
checkUnitConfig group checks attrs';
|
||||
|
||||
toOption = x:
|
||||
if x == true then "true"
|
||||
else if x == false then "false"
|
||||
|
@ -63,13 +63,13 @@ in {
|
||||
${attrsToSection def.l2tpConfig}
|
||||
'' + flip concatMapStrings def.l2tpSessions (x: ''
|
||||
[L2TPSession]
|
||||
${attrsToSection x.l2tpSessionConfig}
|
||||
${attrsToSection x}
|
||||
'') + optionalString (def.wireguardConfig != { }) ''
|
||||
[WireGuard]
|
||||
${attrsToSection def.wireguardConfig}
|
||||
'' + flip concatMapStrings def.wireguardPeers (x: ''
|
||||
[WireGuardPeer]
|
||||
${attrsToSection x.wireguardPeerConfig}
|
||||
${attrsToSection x}
|
||||
'') + optionalString (def.bondConfig != { }) ''
|
||||
[Bond]
|
||||
${attrsToSection def.bondConfig}
|
||||
@ -122,13 +122,13 @@ in {
|
||||
${concatStringsSep "\n" (map (s: "Xfrm=${s}") def.xfrm)}
|
||||
'' + "\n" + flip concatMapStrings def.addresses (x: ''
|
||||
[Address]
|
||||
${attrsToSection x.addressConfig}
|
||||
${attrsToSection x}
|
||||
'') + flip concatMapStrings def.routingPolicyRules (x: ''
|
||||
[RoutingPolicyRule]
|
||||
${attrsToSection x.routingPolicyRuleConfig}
|
||||
${attrsToSection x}
|
||||
'') + flip concatMapStrings def.routes (x: ''
|
||||
[Route]
|
||||
${attrsToSection x.routeConfig}
|
||||
${attrsToSection x}
|
||||
'') + optionalString (def.dhcpV4Config != { }) ''
|
||||
[DHCPv4]
|
||||
${attrsToSection def.dhcpV4Config}
|
||||
@ -149,22 +149,22 @@ in {
|
||||
${attrsToSection def.ipv6SendRAConfig}
|
||||
'' + flip concatMapStrings def.ipv6Prefixes (x: ''
|
||||
[IPv6Prefix]
|
||||
${attrsToSection x.ipv6PrefixConfig}
|
||||
${attrsToSection x}
|
||||
'') + flip concatMapStrings def.ipv6RoutePrefixes (x: ''
|
||||
[IPv6RoutePrefix]
|
||||
${attrsToSection x.ipv6RoutePrefixConfig}
|
||||
${attrsToSection x}
|
||||
'') + flip concatMapStrings def.dhcpServerStaticLeases (x: ''
|
||||
[DHCPServerStaticLease]
|
||||
${attrsToSection x.dhcpServerStaticLeaseConfig}
|
||||
${attrsToSection x}
|
||||
'') + optionalString (def.bridgeConfig != { }) ''
|
||||
[Bridge]
|
||||
${attrsToSection def.bridgeConfig}
|
||||
'' + flip concatMapStrings def.bridgeFDBs (x: ''
|
||||
[BridgeFDB]
|
||||
${attrsToSection x.bridgeFDBConfig}
|
||||
${attrsToSection x}
|
||||
'') + flip concatMapStrings def.bridgeMDBs (x: ''
|
||||
[BridgeMDB]
|
||||
${attrsToSection x.bridgeMDBConfig}
|
||||
${attrsToSection x}
|
||||
'') + optionalString (def.lldpConfig != { }) ''
|
||||
[LLDP]
|
||||
${attrsToSection def.lldpConfig}
|
||||
@ -251,7 +251,7 @@ in {
|
||||
${attrsToSection def.quickFairQueueingConfigClass}
|
||||
'' + flip concatMapStrings def.bridgeVLANs (x: ''
|
||||
[BridgeVLAN]
|
||||
${attrsToSection x.bridgeVLANConfig}
|
||||
${attrsToSection x}
|
||||
'') + def.extraConfig;
|
||||
|
||||
}
|
||||
|
@ -6,7 +6,7 @@ let
|
||||
in
|
||||
{
|
||||
options.hardware.xone = {
|
||||
enable = mkEnableOption "the xone driver for Xbox One and Xbobx Series X|S accessories";
|
||||
enable = mkEnableOption "the xone driver for Xbox One and Xbox Series X|S accessories";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
|
@ -281,6 +281,7 @@
|
||||
./programs/systemtap.nix
|
||||
./programs/thefuck.nix
|
||||
./programs/thunar.nix
|
||||
./programs/thunderbird.nix
|
||||
./programs/tmux.nix
|
||||
./programs/traceroute.nix
|
||||
./programs/trippy.nix
|
||||
|
89
nixos/modules/programs/thunderbird.nix
Normal file
89
nixos/modules/programs/thunderbird.nix
Normal file
@ -0,0 +1,89 @@
|
||||
{
|
||||
pkgs,
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
let
|
||||
cfg = config.programs.thunderbird;
|
||||
policyFormat = pkgs.formats.json { };
|
||||
policyDoc = "https://github.com/thunderbird/policy-templates";
|
||||
in
|
||||
{
|
||||
options.programs.thunderbird = {
|
||||
enable = lib.mkEnableOption "Thunderbird mail client";
|
||||
|
||||
package = lib.mkPackageOption pkgs "thunderbird" { };
|
||||
|
||||
policies = lib.mkOption {
|
||||
type = policyFormat.type;
|
||||
default = { };
|
||||
description = ''
|
||||
Group policies to install.
|
||||
|
||||
See [Thunderbird's documentation](${policyDoc})
|
||||
for a list of available options.
|
||||
|
||||
This can be used to install extensions declaratively! Check out the
|
||||
documentation of the `ExtensionSettings` policy for details.
|
||||
|
||||
'';
|
||||
};
|
||||
|
||||
preferences = lib.mkOption {
|
||||
type =
|
||||
with lib.types;
|
||||
attrsOf (oneOf [
|
||||
bool
|
||||
int
|
||||
str
|
||||
]);
|
||||
default = { };
|
||||
description = ''
|
||||
Preferences to set from `about:config`.
|
||||
|
||||
Some of these might be able to be configured more ergonomically
|
||||
using policies.
|
||||
'';
|
||||
};
|
||||
|
||||
preferencesStatus = lib.mkOption {
|
||||
type = lib.types.enum [
|
||||
"default"
|
||||
"locked"
|
||||
"user"
|
||||
"clear"
|
||||
];
|
||||
default = "locked";
|
||||
description = ''
|
||||
The status of `thunderbird.preferences`.
|
||||
|
||||
`status` can assume the following values:
|
||||
- `"default"`: Preferences appear as default.
|
||||
- `"locked"`: Preferences appear as default and can't be changed.
|
||||
- `"user"`: Preferences appear as changed.
|
||||
- `"clear"`: Value has no effect. Resets to factory defaults on each startup.
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
environment.systemPackages = [ cfg.package ];
|
||||
|
||||
environment.etc =
|
||||
let
|
||||
policiesJSON = policyFormat.generate "thunderbird-policies.json" { inherit (cfg) policies; };
|
||||
in
|
||||
lib.mkIf (cfg.policies != { }) { "thunderbird/policies/policies.json".source = policiesJSON; };
|
||||
|
||||
programs.thunderbird.policies = {
|
||||
DisableAppUpdate = true;
|
||||
Preferences = builtins.mapAttrs (_: value: {
|
||||
Value = value;
|
||||
Status = cfg.preferencesStatus;
|
||||
}) cfg.preferences;
|
||||
};
|
||||
};
|
||||
|
||||
meta.maintainers = with lib.maintainers; [ nydragon ];
|
||||
}
|
@ -78,6 +78,7 @@ in {
|
||||
systemd.services.mopidy = {
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
after = [ "network-online.target" "sound.target" ];
|
||||
wants = [ "network-online.target" ];
|
||||
description = "mopidy music player daemon";
|
||||
serviceConfig = {
|
||||
ExecStart = "${mopidyEnv}/bin/mopidy --config ${concatStringsSep ":" ([mopidyConf] ++ cfg.extraConfigFiles)}";
|
||||
|
@ -7,6 +7,7 @@ let
|
||||
configFormat = pkgs.formats.toml { };
|
||||
configFile = configFormat.generate "stalwart-mail.toml" cfg.settings;
|
||||
dataDir = "/var/lib/stalwart-mail";
|
||||
useLegacyStorage = versionOlder config.system.stateVersion "24.11";
|
||||
|
||||
in {
|
||||
options.services.stalwart-mail = {
|
||||
@ -30,30 +31,59 @@ in {
|
||||
|
||||
# Default config: all local
|
||||
services.stalwart-mail.settings = {
|
||||
global.tracing.method = mkDefault "stdout";
|
||||
global.tracing.level = mkDefault "info";
|
||||
tracer.stdout = {
|
||||
type = mkDefault "stdout";
|
||||
level = mkDefault "info";
|
||||
ansi = mkDefault false; # no colour markers to journald
|
||||
enable = mkDefault true;
|
||||
};
|
||||
queue.path = mkDefault "${dataDir}/queue";
|
||||
report.path = mkDefault "${dataDir}/reports";
|
||||
store.db.type = mkDefault "sqlite";
|
||||
store.db.path = mkDefault "${dataDir}/data/index.sqlite3";
|
||||
store.blob.type = mkDefault "fs";
|
||||
store.blob.path = mkDefault "${dataDir}/data/blobs";
|
||||
store = if useLegacyStorage then {
|
||||
# structured data in SQLite, blobs on filesystem
|
||||
db.type = mkDefault "sqlite";
|
||||
db.path = mkDefault "${dataDir}/data/index.sqlite3";
|
||||
fs.type = mkDefault "fs";
|
||||
fs.path = mkDefault "${dataDir}/data/blobs";
|
||||
} else {
|
||||
# everything in RocksDB
|
||||
db.type = mkDefault "rocksdb";
|
||||
db.path = mkDefault "${dataDir}/db";
|
||||
db.compression = mkDefault "lz4";
|
||||
};
|
||||
storage.data = mkDefault "db";
|
||||
storage.fts = mkDefault "db";
|
||||
storage.lookup = mkDefault "db";
|
||||
storage.blob = mkDefault "blob";
|
||||
storage.blob = mkDefault (if useLegacyStorage then "fs" else "db");
|
||||
directory.internal.type = mkDefault "internal";
|
||||
directory.internal.store = mkDefault "db";
|
||||
storage.directory = mkDefault "internal";
|
||||
resolver.type = mkDefault "system";
|
||||
resolver.public-suffix = lib.mkDefault [
|
||||
"file://${pkgs.publicsuffix-list}/share/publicsuffix/public_suffix_list.dat"
|
||||
];
|
||||
};
|
||||
|
||||
# This service stores a potentially large amount of data.
|
||||
# Running it as a dynamic user would force chown to be run everytime the
|
||||
# service is restarted on a potentially large number of files.
|
||||
# That would cause unnecessary and unwanted delays.
|
||||
users = {
|
||||
groups.stalwart-mail = { };
|
||||
users.stalwart-mail = {
|
||||
isSystemUser = true;
|
||||
group = "stalwart-mail";
|
||||
};
|
||||
};
|
||||
|
||||
systemd.services.stalwart-mail = {
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
after = [ "local-fs.target" "network.target" ];
|
||||
|
||||
preStart = ''
|
||||
preStart = if useLegacyStorage then ''
|
||||
mkdir -p ${dataDir}/{queue,reports,data/blobs}
|
||||
'' else ''
|
||||
mkdir -p ${dataDir}/{queue,reports,db}
|
||||
'';
|
||||
|
||||
serviceConfig = {
|
||||
@ -71,8 +101,8 @@ in {
|
||||
StandardError = "journal";
|
||||
SyslogIdentifier = "stalwart-mail";
|
||||
|
||||
DynamicUser = true;
|
||||
User = "stalwart-mail";
|
||||
Group = "stalwart-mail";
|
||||
StateDirectory = "stalwart-mail";
|
||||
|
||||
# Bind standard privileged ports
|
||||
|
@ -181,6 +181,10 @@ let
|
||||
communicating with external systems (federation, remote
|
||||
storage, Alertmanager).
|
||||
'';
|
||||
|
||||
query_log_file = mkOpt types.str ''
|
||||
Path to the file prometheus should write its query log to.
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -23,10 +23,9 @@ let
|
||||
"pbr"
|
||||
"bfd"
|
||||
"fabric"
|
||||
"mgmt"
|
||||
];
|
||||
|
||||
allServices = services ++ [ "zebra" ];
|
||||
allServices = services ++ [ "zebra" "mgmt" ];
|
||||
|
||||
isEnabled = service: cfg.${service}.enable;
|
||||
|
||||
@ -137,6 +136,20 @@ in
|
||||
'';
|
||||
};
|
||||
};
|
||||
mgmt = (serviceOptions "mgmt") // {
|
||||
enable = mkOption {
|
||||
type = types.bool;
|
||||
default = isEnabled "static";
|
||||
defaultText = lib.literalExpression "config.services.frr.static.enable";
|
||||
description = ''
|
||||
Whether to enable the Configuration management daemon.
|
||||
|
||||
The Configuration management daemon is automatically
|
||||
enabled if needed, at the moment this is when staticd
|
||||
is enabled.
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
{ options.services.frr = (genAttrs services serviceOptions); }
|
||||
@ -164,7 +177,7 @@ in
|
||||
|
||||
environment.etc = let
|
||||
mkEtcLink = service: {
|
||||
name = "frr/${service}.conf";
|
||||
name = "frr/${daemonName service}.conf";
|
||||
value.source = configFile service;
|
||||
};
|
||||
in
|
||||
@ -196,18 +209,18 @@ in
|
||||
unitConfig.Documentation = if service == "zebra" then "man:zebra(8)"
|
||||
else "man:${daemon}(8) man:zebra(8)";
|
||||
|
||||
restartTriggers = [
|
||||
restartTriggers = mkIf (service != "mgmt") [
|
||||
(configFile service)
|
||||
];
|
||||
reloadIfChanged = true;
|
||||
reloadIfChanged = (service != "mgmt");
|
||||
|
||||
serviceConfig = {
|
||||
PIDFile = "frr/${daemon}.pid";
|
||||
ExecStart = "${pkgs.frr}/libexec/frr/${daemon} -f /etc/frr/${service}.conf"
|
||||
ExecStart = "${pkgs.frr}/libexec/frr/${daemon}"
|
||||
+ optionalString (scfg.vtyListenAddress != "") " -A ${scfg.vtyListenAddress}"
|
||||
+ optionalString (scfg.vtyListenPort != null) " -P ${toString scfg.vtyListenPort}"
|
||||
+ " " + (concatStringsSep " " scfg.extraOptions);
|
||||
ExecReload = "${pkgs.python3.interpreter} ${pkgs.frr}/libexec/frr/frr-reload.py --reload --daemon ${daemonName service} --bindir ${pkgs.frr}/bin --rundir /run/frr /etc/frr/${service}.conf";
|
||||
ExecReload = mkIf (service != "mgmt") "${pkgs.python3.interpreter} ${pkgs.frr}/libexec/frr/frr-reload.py --reload --daemon ${daemon} --bindir ${pkgs.frr}/bin --rundir /run/frr /etc/frr/${daemon}.conf";
|
||||
Restart = "on-abnormal";
|
||||
};
|
||||
});
|
||||
|
@ -130,8 +130,8 @@ in
|
||||
relevant = config.systemd.network.enable;
|
||||
root = config.systemd.network.netdevs;
|
||||
peer = (x: x.wireguardPeers);
|
||||
key = (x: if x.wireguardPeerConfig ? PublicKey then x.wireguardPeerConfig.PublicKey else null);
|
||||
description = "${options.systemd.network.netdevs}.\"<name>\".wireguardPeers.*.wireguardPeerConfig.PublicKey";
|
||||
key = x: x.PublicKey or null;
|
||||
description = "${options.systemd.network.netdevs}.\"<name>\".wireguardPeers.*.PublicKey";
|
||||
}
|
||||
{
|
||||
relevant = config.networking.wireguard.enable;
|
||||
|
@ -39,10 +39,7 @@ let
|
||||
|
||||
extraConfig = hostName: cfg: let
|
||||
settings = mapAttrsToList (k: v: "${k}=${mkPhpValue v}") cfg.settings;
|
||||
in pkgs.writeText "extraConfig.php" ''
|
||||
${concatStringsSep "\n" settings}
|
||||
${toString cfg.extraConfig}
|
||||
'';
|
||||
in pkgs.writeText "extraConfig.php" (concatStringsSep "\n" settings);
|
||||
|
||||
pkg = hostName: cfg: pkgs.stdenv.mkDerivation rec {
|
||||
pname = "invoiceplane-${hostName}";
|
||||
@ -182,25 +179,6 @@ let
|
||||
'';
|
||||
};
|
||||
|
||||
extraConfig = mkOption {
|
||||
type = types.nullOr types.lines;
|
||||
default = null;
|
||||
example = ''
|
||||
SETUP_COMPLETED=true
|
||||
DISABLE_SETUP=true
|
||||
IP_URL=https://invoice.example.com
|
||||
'';
|
||||
description = ''
|
||||
InvoicePlane configuration. Refer to
|
||||
<https://github.com/InvoicePlane/InvoicePlane/blob/master/ipconfig.php.example>
|
||||
for details on supported values.
|
||||
|
||||
**Note**: Please pass structured settings via
|
||||
`services.invoiceplane.sites.${name}.settings` instead, this option
|
||||
will get deprecated in the future.
|
||||
'';
|
||||
};
|
||||
|
||||
settings = mkOption {
|
||||
type = types.attrsOf types.anything;
|
||||
default = {};
|
||||
@ -269,12 +247,6 @@ in
|
||||
# implementation
|
||||
config = mkIf (eachSite != {}) (mkMerge [{
|
||||
|
||||
warnings = flatten (mapAttrsToList (hostName: cfg: [
|
||||
(optional (cfg.extraConfig != null) ''
|
||||
services.invoiceplane.sites."${hostName}".extraConfig will be deprecated in future releases, please use the settings option now.
|
||||
'')
|
||||
]) eachSite);
|
||||
|
||||
assertions = flatten (mapAttrsToList (hostName: cfg: [
|
||||
{ assertion = cfg.database.createLocally -> cfg.database.user == user;
|
||||
message = ''services.invoiceplane.sites."${hostName}".database.user must be ${user} if the database is to be automatically provisioned'';
|
||||
|
@ -386,7 +386,7 @@ let
|
||||
(assertValueOneOf "UDP6ZeroChecksumRx" boolValues)
|
||||
];
|
||||
|
||||
sectionL2TPSession = checkUnitConfig "L2TPSession" [
|
||||
sectionL2TPSession = checkUnitConfigWithLegacyKey "l2tpSessionConfig" "L2TPSession" [
|
||||
(assertOnlyFields [
|
||||
"Name"
|
||||
"SessionId"
|
||||
@ -421,7 +421,7 @@ let
|
||||
# NOTE The PresharedKey directive is missing on purpose here, please
|
||||
# do not add it to this list. The nix store is world-readable,let's
|
||||
# refrain ourselves from providing a footgun.
|
||||
sectionWireGuardPeer = checkUnitConfig "WireGuardPeer" [
|
||||
sectionWireGuardPeer = checkUnitConfigWithLegacyKey "wireguardPeerConfig" "WireGuardPeer" [
|
||||
(assertOnlyFields [
|
||||
"PublicKey"
|
||||
"PresharedKeyFile"
|
||||
@ -712,7 +712,7 @@ let
|
||||
(assertValueOneOf "KeepConfiguration" (boolValues ++ ["static" "dhcp-on-stop" "dhcp"]))
|
||||
];
|
||||
|
||||
sectionAddress = checkUnitConfig "Address" [
|
||||
sectionAddress = checkUnitConfigWithLegacyKey "addressConfig" "Address" [
|
||||
(assertOnlyFields [
|
||||
"Address"
|
||||
"Peer"
|
||||
@ -737,7 +737,7 @@ let
|
||||
(assertValueOneOf "AutoJoin" boolValues)
|
||||
];
|
||||
|
||||
sectionRoutingPolicyRule = checkUnitConfig "RoutingPolicyRule" [
|
||||
sectionRoutingPolicyRule = checkUnitConfigWithLegacyKey "routingPolicyRuleConfig" "RoutingPolicyRule" [
|
||||
(assertOnlyFields [
|
||||
"TypeOfService"
|
||||
"From"
|
||||
@ -772,7 +772,7 @@ let
|
||||
(assertRange "SuppressInterfaceGroup" 0 2147483647)
|
||||
];
|
||||
|
||||
sectionRoute = checkUnitConfig "Route" [
|
||||
sectionRoute = checkUnitConfigWithLegacyKey "routeConfig" "Route" [
|
||||
(assertOnlyFields [
|
||||
"Gateway"
|
||||
"GatewayOnLink"
|
||||
@ -1033,7 +1033,7 @@ let
|
||||
(assertValueOneOf "EmitDomains" boolValues)
|
||||
];
|
||||
|
||||
sectionIPv6Prefix = checkUnitConfig "IPv6Prefix" [
|
||||
sectionIPv6Prefix = checkUnitConfigWithLegacyKey "ipv6PrefixConfig" "IPv6Prefix" [
|
||||
(assertOnlyFields [
|
||||
"AddressAutoconfiguration"
|
||||
"OnLink"
|
||||
@ -1048,7 +1048,7 @@ let
|
||||
(assertValueOneOf "Assign" boolValues)
|
||||
];
|
||||
|
||||
sectionIPv6RoutePrefix = checkUnitConfig "IPv6RoutePrefix" [
|
||||
sectionIPv6RoutePrefix = checkUnitConfigWithLegacyKey "ipv6RoutePrefixConfig" "IPv6RoutePrefix" [
|
||||
(assertOnlyFields [
|
||||
"Route"
|
||||
"LifetimeSec"
|
||||
@ -1057,7 +1057,7 @@ let
|
||||
(assertInt "LifetimeSec")
|
||||
];
|
||||
|
||||
sectionDHCPServerStaticLease = checkUnitConfig "DHCPServerStaticLease" [
|
||||
sectionDHCPServerStaticLease = checkUnitConfigWithLegacyKey "dhcpServerStaticLeaseConfig" "DHCPServerStaticLease" [
|
||||
(assertOnlyFields [
|
||||
"MACAddress"
|
||||
"Address"
|
||||
@ -1104,7 +1104,7 @@ let
|
||||
(assertRange "Priority" 0 63)
|
||||
];
|
||||
|
||||
sectionBridgeFDB = checkUnitConfig "BridgeFDB" [
|
||||
sectionBridgeFDB = checkUnitConfigWithLegacyKey "bridgeFDBConfig" "BridgeFDB" [
|
||||
(assertOnlyFields [
|
||||
"MACAddress"
|
||||
"Destination"
|
||||
@ -1121,7 +1121,7 @@ let
|
||||
(assertValueOneOf "AssociatedWith" [ "use" "self" "master" "router" ])
|
||||
];
|
||||
|
||||
sectionBridgeMDB = checkUnitConfig "BridgeMDB" [
|
||||
sectionBridgeMDB = checkUnitConfigWithLegacyKey "bridgeMDBConfig" "BridgeMDB" [
|
||||
(assertOnlyFields [
|
||||
"MulticastGroupAddress"
|
||||
"VLANId"
|
||||
@ -1524,7 +1524,7 @@ let
|
||||
(assertRange "Weight" 1 1023)
|
||||
];
|
||||
|
||||
sectionBridgeVLAN = checkUnitConfig "BridgeVLAN" [
|
||||
sectionBridgeVLAN = checkUnitConfigWithLegacyKey "bridgeVLANConfig" "BridgeVLAN" [
|
||||
(assertOnlyFields [
|
||||
"VLAN"
|
||||
"EgressUntagged"
|
||||
@ -1627,34 +1627,21 @@ let
|
||||
|
||||
};
|
||||
|
||||
|
||||
l2tpSessionOptions = {
|
||||
options = {
|
||||
l2tpSessionConfig = mkOption {
|
||||
default = {};
|
||||
type = types.addCheck (types.attrsOf unitOption) check.netdev.sectionL2TPSession;
|
||||
description = ''
|
||||
Each attribute in this set specifies an option in the
|
||||
`[L2TPSession]` section of the unit. See
|
||||
{manpage}`systemd.netdev(5)` for details.
|
||||
'';
|
||||
};
|
||||
mkSubsectionType = oldKey: checkF:
|
||||
let
|
||||
type = types.addCheck (types.attrsOf unitOption) checkF;
|
||||
in type // {
|
||||
merge = loc: defs:
|
||||
let
|
||||
final = type.merge loc defs;
|
||||
in
|
||||
if final?${oldKey}
|
||||
then warn
|
||||
"Using '${oldKey}' is deprecated! Move all attributes inside one level up and remove it."
|
||||
final.${oldKey}
|
||||
else
|
||||
final;
|
||||
};
|
||||
};
|
||||
|
||||
wireguardPeerOptions = {
|
||||
options = {
|
||||
wireguardPeerConfig = mkOption {
|
||||
default = {};
|
||||
type = types.addCheck (types.attrsOf unitOption) check.netdev.sectionWireGuardPeer;
|
||||
description = ''
|
||||
Each attribute in this set specifies an option in the
|
||||
`[WireGuardPeer]` section of the unit. See
|
||||
{manpage}`systemd.netdev(5)` for details.
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
netdevOptions = commonNetworkOptions // {
|
||||
|
||||
@ -1805,12 +1792,12 @@ let
|
||||
|
||||
l2tpSessions = mkOption {
|
||||
default = [];
|
||||
example = [ { l2tpSessionConfig={
|
||||
example = [ {
|
||||
SessionId = 25;
|
||||
PeerSessionId = 26;
|
||||
Name = "l2tp-sess";
|
||||
};}];
|
||||
type = with types; listOf (submodule l2tpSessionOptions);
|
||||
}];
|
||||
type = types.listOf (mkSubsectionType "l2tpSessionConfig" check.netdev.sectionL2TPSession);
|
||||
description = ''
|
||||
Each item in this array specifies an option in the
|
||||
`[L2TPSession]` section of the unit. See
|
||||
@ -1838,14 +1825,14 @@ let
|
||||
|
||||
wireguardPeers = mkOption {
|
||||
default = [];
|
||||
example = [ { wireguardPeerConfig={
|
||||
example = [ {
|
||||
Endpoint = "192.168.1.1:51820";
|
||||
PublicKey = "27s0OvaBBdHoJYkH9osZpjpgSOVNw+RaKfboT/Sfq0g=";
|
||||
PresharedKeyFile = "/etc/wireguard/psk.key";
|
||||
AllowedIPs = [ "10.0.0.1/32" ];
|
||||
PersistentKeepalive = 15;
|
||||
};}];
|
||||
type = with types; listOf (submodule wireguardPeerOptions);
|
||||
} ];
|
||||
type = types.listOf (mkSubsectionType "wireguardPeerConfig" check.netdev.sectionWireGuardPeer);
|
||||
description = ''
|
||||
Each item in this array specifies an option in the
|
||||
`[WireGuardPeer]` section of the unit. See
|
||||
@ -1917,143 +1904,6 @@ let
|
||||
|
||||
};
|
||||
|
||||
addressOptions = {
|
||||
options = {
|
||||
addressConfig = mkOption {
|
||||
example = { Address = "192.168.0.100/24"; };
|
||||
type = types.addCheck (types.attrsOf unitOption) check.network.sectionAddress;
|
||||
description = ''
|
||||
Each attribute in this set specifies an option in the
|
||||
`[Address]` section of the unit. See
|
||||
{manpage}`systemd.network(5)` for details.
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
routingPolicyRulesOptions = {
|
||||
options = {
|
||||
routingPolicyRuleConfig = mkOption {
|
||||
default = { };
|
||||
example = { Table = 10; IncomingInterface = "eth1"; Family = "both"; };
|
||||
type = types.addCheck (types.attrsOf unitOption) check.network.sectionRoutingPolicyRule;
|
||||
description = ''
|
||||
Each attribute in this set specifies an option in the
|
||||
`[RoutingPolicyRule]` section of the unit. See
|
||||
{manpage}`systemd.network(5)` for details.
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
routeOptions = {
|
||||
options = {
|
||||
routeConfig = mkOption {
|
||||
default = {};
|
||||
example = { Gateway = "192.168.0.1"; };
|
||||
type = types.addCheck (types.attrsOf unitOption) check.network.sectionRoute;
|
||||
description = ''
|
||||
Each attribute in this set specifies an option in the
|
||||
`[Route]` section of the unit. See
|
||||
{manpage}`systemd.network(5)` for details.
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
ipv6PrefixOptions = {
|
||||
options = {
|
||||
ipv6PrefixConfig = mkOption {
|
||||
default = {};
|
||||
example = { Prefix = "fd00::/64"; };
|
||||
type = types.addCheck (types.attrsOf unitOption) check.network.sectionIPv6Prefix;
|
||||
description = ''
|
||||
Each attribute in this set specifies an option in the
|
||||
`[IPv6Prefix]` section of the unit. See
|
||||
{manpage}`systemd.network(5)` for details.
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
ipv6RoutePrefixOptions = {
|
||||
options = {
|
||||
ipv6RoutePrefixConfig = mkOption {
|
||||
default = {};
|
||||
example = { Route = "fd00::/64"; };
|
||||
type = types.addCheck (types.attrsOf unitOption) check.network.sectionIPv6RoutePrefix;
|
||||
description = ''
|
||||
Each attribute in this set specifies an option in the
|
||||
`[IPv6RoutePrefix]` section of the unit. See
|
||||
{manpage}`systemd.network(5)` for details.
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
dhcpServerStaticLeaseOptions = {
|
||||
options = {
|
||||
dhcpServerStaticLeaseConfig = mkOption {
|
||||
default = {};
|
||||
example = { MACAddress = "65:43:4a:5b:d8:5f"; Address = "192.168.1.42"; };
|
||||
type = types.addCheck (types.attrsOf unitOption) check.network.sectionDHCPServerStaticLease;
|
||||
description = ''
|
||||
Each attribute in this set specifies an option in the
|
||||
`[DHCPServerStaticLease]` section of the unit. See
|
||||
{manpage}`systemd.network(5)` for details.
|
||||
|
||||
Make sure to configure the corresponding client interface to use
|
||||
`ClientIdentifier=mac`.
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
bridgeFDBOptions = {
|
||||
options = {
|
||||
bridgeFDBConfig = mkOption {
|
||||
default = {};
|
||||
example = { MACAddress = "65:43:4a:5b:d8:5f"; Destination = "192.168.1.42"; VNI = 20; };
|
||||
type = types.addCheck (types.attrsOf unitOption) check.network.sectionBridgeFDB;
|
||||
description = ''
|
||||
Each attribute in this set specifies an option in the
|
||||
`[BridgeFDB]` section of the unit. See
|
||||
{manpage}`systemd.network(5)` for details.
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
bridgeMDBOptions = {
|
||||
options = {
|
||||
bridgeMDBConfig = mkOption {
|
||||
default = {};
|
||||
example = { MulticastGroupAddress = "ff02::1:2:3:4"; VLANId = 10; };
|
||||
type = types.addCheck (types.attrsOf unitOption) check.network.sectionBridgeMDB;
|
||||
description = ''
|
||||
Each attribute in this set specifies an option in the
|
||||
`[BridgeMDB]` section of the unit. See
|
||||
{manpage}`systemd.network(5)` for details.
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
bridgeVLANOptions = {
|
||||
options = {
|
||||
bridgeVLANConfig = mkOption {
|
||||
default = {};
|
||||
example = { VLAN = 20; };
|
||||
type = types.addCheck (types.attrsOf unitOption) check.network.sectionBridgeVLAN;
|
||||
description = ''
|
||||
Each attribute in this set specifies an option in the
|
||||
`[BridgeVLAN]` section of the unit. See
|
||||
{manpage}`systemd.network(5)` for details.
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
networkOptions = commonNetworkOptions // {
|
||||
|
||||
linkConfig = mkOption {
|
||||
@ -2165,8 +2015,8 @@ let
|
||||
|
||||
dhcpServerStaticLeases = mkOption {
|
||||
default = [];
|
||||
example = [ { dhcpServerStaticLeaseConfig = { MACAddress = "65:43:4a:5b:d8:5f"; Address = "192.168.1.42"; }; } ];
|
||||
type = with types; listOf (submodule dhcpServerStaticLeaseOptions);
|
||||
example = [ { MACAddress = "65:43:4a:5b:d8:5f"; Address = "192.168.1.42"; } ];
|
||||
type = types.listOf (mkSubsectionType "dhcpServerStaticLeaseConfig" check.network.sectionDHCPServerStaticLease);
|
||||
description = ''
|
||||
A list of DHCPServerStaticLease sections to be added to the unit. See
|
||||
{manpage}`systemd.network(5)` for details.
|
||||
@ -2175,8 +2025,8 @@ let
|
||||
|
||||
ipv6Prefixes = mkOption {
|
||||
default = [];
|
||||
example = [ { ipv6PrefixConfig = { AddressAutoconfiguration = true; OnLink = true; }; } ];
|
||||
type = with types; listOf (submodule ipv6PrefixOptions);
|
||||
example = [ { AddressAutoconfiguration = true; OnLink = true; } ];
|
||||
type = types.listOf (mkSubsectionType "ipv6PrefixConfig" check.network.sectionIPv6Prefix);
|
||||
description = ''
|
||||
A list of ipv6Prefix sections to be added to the unit. See
|
||||
{manpage}`systemd.network(5)` for details.
|
||||
@ -2185,8 +2035,8 @@ let
|
||||
|
||||
ipv6RoutePrefixes = mkOption {
|
||||
default = [];
|
||||
example = [ { ipv6RoutePrefixConfig = { Route = "fd00::/64"; LifetimeSec = 3600; }; } ];
|
||||
type = with types; listOf (submodule ipv6RoutePrefixOptions);
|
||||
example = [ { Route = "fd00::/64"; LifetimeSec = 3600; } ];
|
||||
type = types.listOf (mkSubsectionType "ipv6RoutePrefixConfig" check.network.sectionIPv6RoutePrefix);
|
||||
description = ''
|
||||
A list of ipv6RoutePrefix sections to be added to the unit. See
|
||||
{manpage}`systemd.network(5)` for details.
|
||||
@ -2206,8 +2056,8 @@ let
|
||||
|
||||
bridgeFDBs = mkOption {
|
||||
default = [];
|
||||
example = [ { bridgeFDBConfig = { MACAddress = "90:e2:ba:43:fc:71"; Destination = "192.168.100.4"; VNI = 3600; }; } ];
|
||||
type = with types; listOf (submodule bridgeFDBOptions);
|
||||
example = [ { MACAddress = "90:e2:ba:43:fc:71"; Destination = "192.168.100.4"; VNI = 3600; } ];
|
||||
type = types.listOf (mkSubsectionType "bridgeFDBConfig" check.network.sectionBridgeFDB);
|
||||
description = ''
|
||||
A list of BridgeFDB sections to be added to the unit. See
|
||||
{manpage}`systemd.network(5)` for details.
|
||||
@ -2216,8 +2066,8 @@ let
|
||||
|
||||
bridgeMDBs = mkOption {
|
||||
default = [];
|
||||
example = [ { bridgeMDBConfig = { MulticastGroupAddress = "ff02::1:2:3:4"; VLANId = 10; } ; } ];
|
||||
type = with types; listOf (submodule bridgeMDBOptions);
|
||||
example = [ { MulticastGroupAddress = "ff02::1:2:3:4"; VLANId = 10; } ];
|
||||
type = types.listOf (mkSubsectionType "bridgeMDBConfig" check.network.sectionBridgeMDB);
|
||||
description = ''
|
||||
A list of BridgeMDB sections to be added to the unit. See
|
||||
{manpage}`systemd.network(5)` for details.
|
||||
@ -2534,8 +2384,8 @@ let
|
||||
|
||||
bridgeVLANs = mkOption {
|
||||
default = [];
|
||||
example = [ { bridgeVLANConfig = { VLAN = "10-20"; }; } ];
|
||||
type = with types; listOf (submodule bridgeVLANOptions);
|
||||
example = [ { VLAN = "10-20"; } ];
|
||||
type = types.listOf (mkSubsectionType "bridgeVLANConfig" check.network.sectionBridgeVLAN);
|
||||
description = ''
|
||||
A list of BridgeVLAN sections to be added to the unit. See
|
||||
{manpage}`systemd.network(5)` for details.
|
||||
@ -2685,7 +2535,8 @@ let
|
||||
|
||||
addresses = mkOption {
|
||||
default = [ ];
|
||||
type = with types; listOf (submodule addressOptions);
|
||||
example = [ { Address = "192.168.0.100/24"; } ];
|
||||
type = types.listOf (mkSubsectionType "addressConfig" check.network.sectionAddress);
|
||||
description = ''
|
||||
A list of address sections to be added to the unit. See
|
||||
{manpage}`systemd.network(5)` for details.
|
||||
@ -2694,7 +2545,8 @@ let
|
||||
|
||||
routingPolicyRules = mkOption {
|
||||
default = [ ];
|
||||
type = with types; listOf (submodule routingPolicyRulesOptions);
|
||||
example = [ { Table = 10; IncomingInterface = "eth1"; Family = "both"; } ];
|
||||
type = types.listOf (mkSubsectionType "routingPolicyRuleConfig" check.network.sectionRoutingPolicyRule);
|
||||
description = ''
|
||||
A list of routing policy rules sections to be added to the unit. See
|
||||
{manpage}`systemd.network(5)` for details.
|
||||
@ -2703,7 +2555,8 @@ let
|
||||
|
||||
routes = mkOption {
|
||||
default = [ ];
|
||||
type = with types; listOf (submodule routeOptions);
|
||||
example = [ { Gateway = "192.168.0.1"; } ];
|
||||
type = types.listOf (mkSubsectionType "routeConfig" check.network.sectionRoute);
|
||||
description = ''
|
||||
A list of route sections to be added to the unit. See
|
||||
{manpage}`systemd.network(5)` for details.
|
||||
|
@ -32,13 +32,13 @@ let
|
||||
optionalAttrs (gateway != null && gateway.interface != null) {
|
||||
networks."40-${gateway.interface}" = {
|
||||
matchConfig.Name = gateway.interface;
|
||||
routes = [{
|
||||
routeConfig = {
|
||||
routes = [
|
||||
({
|
||||
Gateway = gateway.address;
|
||||
} // optionalAttrs (gateway.metric != null) {
|
||||
Metric = gateway.metric;
|
||||
};
|
||||
}];
|
||||
})
|
||||
];
|
||||
};
|
||||
}
|
||||
));
|
||||
@ -98,61 +98,24 @@ let
|
||||
(route: {
|
||||
# Most of these route options have not been tested.
|
||||
# Please fix or report any mistakes you may find.
|
||||
routeConfig =
|
||||
optionalAttrs (route.address != null && route.prefixLength != null) {
|
||||
Destination = "${route.address}/${toString route.prefixLength}";
|
||||
} //
|
||||
optionalAttrs (route.options ? fastopen_no_cookie) {
|
||||
FastOpenNoCookie = route.options.fastopen_no_cookie;
|
||||
} //
|
||||
optionalAttrs (route.via != null) {
|
||||
Gateway = route.via;
|
||||
} //
|
||||
optionalAttrs (route.type != null) {
|
||||
Type = route.type;
|
||||
} //
|
||||
optionalAttrs (route.options ? onlink) {
|
||||
GatewayOnLink = true;
|
||||
} //
|
||||
optionalAttrs (route.options ? initrwnd) {
|
||||
InitialAdvertisedReceiveWindow = route.options.initrwnd;
|
||||
} //
|
||||
optionalAttrs (route.options ? initcwnd) {
|
||||
InitialCongestionWindow = route.options.initcwnd;
|
||||
} //
|
||||
optionalAttrs (route.options ? pref) {
|
||||
IPv6Preference = route.options.pref;
|
||||
} //
|
||||
optionalAttrs (route.options ? mtu) {
|
||||
MTUBytes = route.options.mtu;
|
||||
} //
|
||||
optionalAttrs (route.options ? metric) {
|
||||
Metric = route.options.metric;
|
||||
} //
|
||||
optionalAttrs (route.options ? src) {
|
||||
PreferredSource = route.options.src;
|
||||
} //
|
||||
optionalAttrs (route.options ? protocol) {
|
||||
Protocol = route.options.protocol;
|
||||
} //
|
||||
optionalAttrs (route.options ? quickack) {
|
||||
QuickAck = route.options.quickack;
|
||||
} //
|
||||
optionalAttrs (route.options ? scope) {
|
||||
Scope = route.options.scope;
|
||||
} //
|
||||
optionalAttrs (route.options ? from) {
|
||||
Source = route.options.from;
|
||||
} //
|
||||
optionalAttrs (route.options ? table) {
|
||||
Table = route.options.table;
|
||||
} //
|
||||
optionalAttrs (route.options ? advmss) {
|
||||
TCPAdvertisedMaximumSegmentSize = route.options.advmss;
|
||||
} //
|
||||
optionalAttrs (route.options ? ttl-propagate) {
|
||||
TTLPropagate = route.options.ttl-propagate == "enabled";
|
||||
};
|
||||
Destination = mkIf (route.address != null && route.prefixLength != null) "${route.address}/${toString route.prefixLength}";
|
||||
FastOpenNoCookie = mkIf (route.options ? fastopen_no_cookie) route.options.fastopen_no_cookie;
|
||||
Gateway = mkIf (route.via != null) route.via;
|
||||
Type = mkIf (route.type != null) route.type;
|
||||
GatewayOnLink = mkIf (route.options ? onlink) true;
|
||||
InitialAdvertisedReceiveWindow = mkIf (route.options ? initrwnd) route.options.initrwnd;
|
||||
InitialCongestionWindow = mkIf (route.options ? initcwnd) route.options.initcwnd;
|
||||
IPv6Preference = mkIf (route.options ? pref) route.options.pref;
|
||||
MTUBytes = mkIf (route.options ? mtu) route.options.mtu;
|
||||
Metric = mkIf (route.options ? metric) route.options.metric;
|
||||
PreferredSource = mkIf (route.options ? src) route.options.src;
|
||||
Protocol = mkIf (route.options ? protocol) route.options.protocol;
|
||||
QuickAck = mkIf (route.options ? quickack) route.options.quickack;
|
||||
Scope = mkIf (route.options ? scope) route.options.scope;
|
||||
Source = mkIf (route.options ? from) route.options.from;
|
||||
Table = mkIf (route.options ? table) route.options.table;
|
||||
TCPAdvertisedMaximumSegmentSize = mkIf (route.options ? advmss) route.options.advmss;
|
||||
TTLPropagate = mkIf (route.options ? ttl-propagate) route.options.ttl-propagate == "enabled";
|
||||
});
|
||||
networkConfig.IPv6PrivacyExtensions = "kernel";
|
||||
linkConfig = optionalAttrs (i.macAddress != null) {
|
||||
|
@ -59,7 +59,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }:
|
||||
"100.64.0.2/24"
|
||||
];
|
||||
routes = [
|
||||
{ routeConfig = { Destination = "192.0.2.0/24"; Gateway = "100.64.0.1"; }; }
|
||||
{ Destination = "192.0.2.0/24"; Gateway = "100.64.0.1"; }
|
||||
];
|
||||
};
|
||||
};
|
||||
@ -149,7 +149,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }:
|
||||
"2001:db8::2/64"
|
||||
];
|
||||
routes = [
|
||||
{ routeConfig = { Destination = "::/0"; Gateway = "2001:db8::1"; }; }
|
||||
{ Destination = "::/0"; Gateway = "2001:db8::1"; }
|
||||
];
|
||||
};
|
||||
};
|
||||
|
@ -10,6 +10,7 @@ import ./make-test-python.nix ({ pkgs, ... }: {
|
||||
];
|
||||
|
||||
services.xserver.enable = true;
|
||||
sound.enable = true;
|
||||
environment.systemPackages = [ pkgs.domination ];
|
||||
};
|
||||
|
||||
@ -18,6 +19,9 @@ import ./make-test-python.nix ({ pkgs, ... }: {
|
||||
testScript =
|
||||
''
|
||||
machine.wait_for_x()
|
||||
# Add a dummy sound card, or an error reporting popup will appear,
|
||||
# covering the main window and preventing OCR
|
||||
machine.execute("modprobe snd-dummy")
|
||||
machine.execute("domination >&2 &")
|
||||
machine.wait_for_window("Menu")
|
||||
machine.wait_for_text(r"(New Game|Start Server|Load Game|Help Manual|Join Game|About|Play Online)")
|
||||
|
@ -57,6 +57,7 @@ import ./make-test-python.nix ({ pkgs, lib, ...}: {
|
||||
};
|
||||
|
||||
subnet4 = [ {
|
||||
id = 1;
|
||||
subnet = "10.0.0.0/29";
|
||||
pools = [ {
|
||||
pool = "10.0.0.3 - 10.0.0.3";
|
||||
|
@ -37,6 +37,7 @@ let
|
||||
linux_rt_5_10
|
||||
linux_rt_5_15
|
||||
linux_rt_6_1
|
||||
linux_rt_6_6
|
||||
linux_libre
|
||||
|
||||
linux_testing;
|
||||
|
@ -73,16 +73,19 @@ let
|
||||
|
||||
|
||||
with subtest("nix-db"):
|
||||
info = get_path_info("${foo}")
|
||||
out = "${foo}"
|
||||
info = get_path_info(out)
|
||||
print(info)
|
||||
|
||||
pathinfo = info[0] if isinstance(info, list) else info[out]
|
||||
|
||||
if (
|
||||
info[0]["narHash"]
|
||||
pathinfo["narHash"]
|
||||
!= "sha256-BdMdnb/0eWy3EddjE83rdgzWWpQjfWPAj3zDIFMD3Ck="
|
||||
):
|
||||
raise Exception("narHash not set")
|
||||
|
||||
if info[0]["narSize"] != 128:
|
||||
if pathinfo["narSize"] != 128:
|
||||
raise Exception("narSize not set")
|
||||
|
||||
with subtest("nixos-version"):
|
||||
|
@ -3,7 +3,7 @@ import ./make-test-python.nix ({ pkgs, ...}: let
|
||||
in {
|
||||
name = "phosh";
|
||||
meta = with pkgs.lib.maintainers; {
|
||||
maintainers = [ tomfitzhenry zhaofengli ];
|
||||
maintainers = [ zhaofengli ];
|
||||
};
|
||||
|
||||
nodes = {
|
||||
|
@ -74,10 +74,8 @@ in
|
||||
wireguardConfig.ListenPort = server.wg.listen;
|
||||
wireguardPeers = [
|
||||
{
|
||||
wireguardPeerConfig = {
|
||||
AllowedIPs = [ "::/0" ];
|
||||
PublicKey = client.wg.public;
|
||||
};
|
||||
AllowedIPs = [ "::/0" ];
|
||||
PublicKey = client.wg.public;
|
||||
}
|
||||
];
|
||||
};
|
||||
@ -97,11 +95,9 @@ in
|
||||
|
||||
systemd.network.netdevs."10-${deviceName}".wireguardPeers = [
|
||||
{
|
||||
wireguardPeerConfig = {
|
||||
AllowedIPs = [ "::/0" ];
|
||||
PublicKey = server.wg.public;
|
||||
Endpoint = "server:${builtins.toString server.wg.listen}";
|
||||
};
|
||||
AllowedIPs = [ "::/0" ];
|
||||
PublicKey = server.wg.public;
|
||||
Endpoint = "server:${builtins.toString server.wg.listen}";
|
||||
}
|
||||
];
|
||||
|
||||
|
@ -24,14 +24,14 @@ import ./make-test-python.nix ({ lib, ... }: {
|
||||
"01-eth1" = {
|
||||
name = "eth1";
|
||||
networkConfig = {
|
||||
# IPForward prevents dynamic address configuration
|
||||
IPForward = true;
|
||||
DHCPServer = true;
|
||||
Address = "10.0.0.1/24";
|
||||
};
|
||||
dhcpServerStaticLeases = [{
|
||||
dhcpServerStaticLeaseConfig = {
|
||||
MACAddress = "02:de:ad:be:ef:01";
|
||||
Address = "10.0.0.10";
|
||||
};
|
||||
MACAddress = "02:de:ad:be:ef:01";
|
||||
Address = "10.0.0.10";
|
||||
}];
|
||||
};
|
||||
};
|
||||
@ -41,20 +41,30 @@ import ./make-test-python.nix ({ lib, ... }: {
|
||||
client = {
|
||||
virtualisation.vlans = [ 1 ];
|
||||
systemd.services.systemd-networkd.environment.SYSTEMD_LOG_LEVEL = "debug";
|
||||
networking = {
|
||||
useNetworkd = true;
|
||||
useDHCP = false;
|
||||
firewall.enable = false;
|
||||
interfaces.eth1 = {
|
||||
useDHCP = true;
|
||||
macAddress = "02:de:ad:be:ef:01";
|
||||
systemd.network = {
|
||||
enable = true;
|
||||
links."10-eth1" = {
|
||||
matchConfig.OriginalName = "eth1";
|
||||
linkConfig.MACAddress = "02:de:ad:be:ef:01";
|
||||
};
|
||||
networks."40-eth1" = {
|
||||
matchConfig.Name = "eth1";
|
||||
networkConfig = {
|
||||
DHCP = "ipv4";
|
||||
IPv6AcceptRA = false;
|
||||
};
|
||||
# This setting is important to have the router assign the
|
||||
# configured lease based on the client's MAC address. Also see:
|
||||
# https://github.com/systemd/systemd/issues/21368#issuecomment-982193546
|
||||
dhcpV4Config.ClientIdentifier = "mac";
|
||||
linkConfig.RequiredForOnline = "routable";
|
||||
};
|
||||
};
|
||||
|
||||
# This setting is important to have the router assign the
|
||||
# configured lease based on the client's MAC address. Also see:
|
||||
# https://github.com/systemd/systemd/issues/21368#issuecomment-982193546
|
||||
systemd.network.networks."40-eth1".dhcpV4Config.ClientIdentifier = "mac";
|
||||
networking = {
|
||||
useDHCP = false;
|
||||
firewall.enable = false;
|
||||
interfaces.eth1 = lib.mkForce {};
|
||||
};
|
||||
};
|
||||
};
|
||||
testScript = ''
|
||||
|
@ -54,7 +54,7 @@ import ./make-test-python.nix ({pkgs, ...}: {
|
||||
name = "eth1";
|
||||
networkConfig.Bridge = "br0";
|
||||
bridgeVLANs = [
|
||||
{ bridgeVLANConfig = { PVID = 2; EgressUntagged = 2; }; }
|
||||
{ PVID = 2; EgressUntagged = 2; }
|
||||
];
|
||||
};
|
||||
"02-br0" = {
|
||||
@ -69,8 +69,8 @@ import ./make-test-python.nix ({pkgs, ...}: {
|
||||
PoolSize = 1;
|
||||
};
|
||||
bridgeVLANs = [
|
||||
{ bridgeVLANConfig = { PVID = 1; EgressUntagged = 1; }; }
|
||||
{ bridgeVLANConfig = { VLAN = 2; }; }
|
||||
{ PVID = 1; EgressUntagged = 1; }
|
||||
{ VLAN = 2; }
|
||||
];
|
||||
};
|
||||
"02-vlan2" = {
|
||||
|
@ -66,6 +66,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: {
|
||||
settings = {
|
||||
interfaces-config.interfaces = [ "eth1" ];
|
||||
subnet6 = [ {
|
||||
id = 1;
|
||||
interface = "eth1";
|
||||
subnet = "2001:DB8::/32";
|
||||
pd-pools = [ {
|
||||
@ -258,7 +259,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: {
|
||||
"01-lo" = {
|
||||
name = "lo";
|
||||
addresses = [
|
||||
{ addressConfig.Address = "FD42::1/128"; }
|
||||
{ Address = "FD42::1/128"; }
|
||||
];
|
||||
};
|
||||
};
|
||||
|
@ -59,14 +59,14 @@ in {
|
||||
matchConfig.Name = "vrf1";
|
||||
networkConfig.IPForward = "yes";
|
||||
routes = [
|
||||
{ routeConfig = { Destination = "192.168.1.2"; Metric = 100; }; }
|
||||
{ Destination = "192.168.1.2"; Metric = 100; }
|
||||
];
|
||||
};
|
||||
networks."10-vrf2" = {
|
||||
matchConfig.Name = "vrf2";
|
||||
networkConfig.IPForward = "yes";
|
||||
routes = [
|
||||
{ routeConfig = { Destination = "192.168.2.3"; Metric = 100; }; }
|
||||
{ Destination = "192.168.2.3"; Metric = 100; }
|
||||
];
|
||||
};
|
||||
|
||||
|
@ -23,13 +23,13 @@ let generateNodeConf = { lib, pkgs, config, privk, pubk, peerId, nodeId, ...}: {
|
||||
ListenPort = 51820;
|
||||
FirewallMark = 42;
|
||||
};
|
||||
wireguardPeers = [ {wireguardPeerConfig={
|
||||
wireguardPeers = [ {
|
||||
Endpoint = "192.168.1.${peerId}:51820";
|
||||
PublicKey = pubk;
|
||||
PresharedKeyFile = pkgs.writeText "psk.key" "yTL3sCOL33Wzi6yCnf9uZQl/Z8laSE+zwpqOHC4HhFU=";
|
||||
AllowedIPs = [ "10.0.0.${peerId}/32" ];
|
||||
PersistentKeepalive = 15;
|
||||
};}];
|
||||
} ];
|
||||
};
|
||||
};
|
||||
networks = {
|
||||
@ -41,8 +41,8 @@ let generateNodeConf = { lib, pkgs, config, privk, pubk, peerId, nodeId, ...}: {
|
||||
matchConfig = { Name = "wg0"; };
|
||||
address = [ "10.0.0.${nodeId}/32" ];
|
||||
routes = [
|
||||
{ routeConfig = { Gateway = "10.0.0.${nodeId}"; Destination = "10.0.0.0/24"; }; }
|
||||
{ routeConfig = { Gateway = "10.0.0.${nodeId}"; Destination = "10.0.0.0/24"; Table = "custom"; }; }
|
||||
{ Gateway = "10.0.0.${nodeId}"; Destination = "10.0.0.0/24"; }
|
||||
{ Gateway = "10.0.0.${nodeId}"; Destination = "10.0.0.0/24"; Table = "custom"; }
|
||||
];
|
||||
};
|
||||
"30-eth1" = {
|
||||
@ -52,11 +52,11 @@ let generateNodeConf = { lib, pkgs, config, privk, pubk, peerId, nodeId, ...}: {
|
||||
"fe80::${nodeId}/64"
|
||||
];
|
||||
routingPolicyRules = [
|
||||
{ routingPolicyRuleConfig = { Table = 10; IncomingInterface = "eth1"; Family = "both"; };}
|
||||
{ routingPolicyRuleConfig = { Table = 20; OutgoingInterface = "eth1"; };}
|
||||
{ routingPolicyRuleConfig = { Table = 30; From = "192.168.1.1"; To = "192.168.1.2"; SourcePort = 666 ; DestinationPort = 667; };}
|
||||
{ routingPolicyRuleConfig = { Table = 40; IPProtocol = "tcp"; InvertRule = true; };}
|
||||
{ routingPolicyRuleConfig = { Table = 50; IncomingInterface = "eth1"; Family = "ipv4"; };}
|
||||
{ Table = 10; IncomingInterface = "eth1"; Family = "both"; }
|
||||
{ Table = 20; OutgoingInterface = "eth1"; }
|
||||
{ Table = 30; From = "192.168.1.1"; To = "192.168.1.2"; SourcePort = 666 ; DestinationPort = 667; }
|
||||
{ Table = 40; IPProtocol = "tcp"; InvertRule = true; }
|
||||
{ Table = 50; IncomingInterface = "eth1"; Family = "ipv4"; }
|
||||
];
|
||||
};
|
||||
};
|
||||
|
@ -55,7 +55,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }:
|
||||
"100.64.0.2/24"
|
||||
];
|
||||
routes = [
|
||||
{ routeConfig = { Destination = "192.0.2.0/24"; Gateway = "100.64.0.1"; }; }
|
||||
{ Destination = "192.0.2.0/24"; Gateway = "100.64.0.1"; }
|
||||
];
|
||||
};
|
||||
};
|
||||
@ -202,7 +202,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }:
|
||||
"2001:db8::2/64"
|
||||
];
|
||||
routes = [
|
||||
{ routeConfig = { Destination = "64:ff9b::/96"; Gateway = "2001:db8::1"; }; }
|
||||
{ Destination = "64:ff9b::/96"; Gateway = "2001:db8::1"; }
|
||||
];
|
||||
};
|
||||
};
|
||||
|
@ -24,11 +24,14 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: {
|
||||
};
|
||||
|
||||
# So that we can ssh into the VM, see e.g.
|
||||
# http://blog.patapon.info/nixos-local-vm/#accessing-the-vm-with-ssh
|
||||
# https://nixos.org/manual/nixos/stable/#sec-nixos-test-port-forwarding
|
||||
services.openssh.enable = true;
|
||||
services.openssh.settings.PermitRootLogin = "yes";
|
||||
users.extraUsers.root.password = "";
|
||||
users.mutableUsers = false;
|
||||
# `test-instrumentation.nix` already sets an empty root password.
|
||||
# The following have to all be set to allow an empty SSH login password.
|
||||
services.openssh.settings.PermitRootLogin = "yes";
|
||||
services.openssh.settings.PermitEmptyPasswords = "yes";
|
||||
security.pam.services.sshd.allowNullPassword = true; # the default `UsePam yes` makes this necessary
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
@ -124,7 +127,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: {
|
||||
machine.wait_until_succeeds("test -f /tmp/glxgears-should-fail.stderr")
|
||||
wait_until_terminated_or_succeeds(
|
||||
termination_check_shell_command="pidof glxgears",
|
||||
success_check_shell_command="grep 'libGL error: failed to load driver: swrast' /tmp/glxgears-should-fail.stderr",
|
||||
success_check_shell_command="grep 'MESA-LOADER: failed to open swrast' /tmp/glxgears-should-fail.stderr",
|
||||
get_detail_message_fn=lambda: "Contents of /tmp/glxgears-should-fail.stderr:\n"
|
||||
+ machine.succeed("cat /tmp/glxgears-should-fail.stderr"),
|
||||
)
|
||||
|
@ -69,7 +69,7 @@ stdenv.mkDerivation rec {
|
||||
description = "A virtual keyboard supporting Wayland";
|
||||
homepage = "https://gitlab.gnome.org/World/Phosh/squeekboard";
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = with maintainers; [ artturin tomfitzhenry ];
|
||||
maintainers = with maintainers; [ artturin ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
|
@ -39,7 +39,7 @@ stdenv.mkDerivation rec {
|
||||
description = "Daemon for dealing with audio routing during phone calls";
|
||||
homepage = "https://gitlab.com/mobian1/callaudiod";
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = with maintainers; [ pacman99 tomfitzhenry ];
|
||||
maintainers = with maintainers; [ pacman99 ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
|
@ -1,5 +1,4 @@
|
||||
{ stdenv
|
||||
, fetchFromGitHub
|
||||
, fetchurl
|
||||
, cmake
|
||||
, dbus
|
||||
|
355
pkgs/applications/audio/pwvucontrol/Cargo.lock
generated
355
pkgs/applications/audio/pwvucontrol/Cargo.lock
generated
@ -4,18 +4,18 @@ version = 3
|
||||
|
||||
[[package]]
|
||||
name = "aho-corasick"
|
||||
version = "1.0.4"
|
||||
version = "1.1.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "6748e8def348ed4d14996fa801f4122cd763fff530258cdc03f64b25f89d3a5a"
|
||||
checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0"
|
||||
dependencies = [
|
||||
"memchr",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "anyhow"
|
||||
version = "1.0.75"
|
||||
version = "1.0.77"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6"
|
||||
checksum = "c9d19de80eff169429ac1e9f48fffb163916b448a44e8e046186232046d9e1f9"
|
||||
|
||||
[[package]]
|
||||
name = "autocfg"
|
||||
@ -29,7 +29,7 @@ version = "0.66.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f2b84e06fc203107bfbad243f4aba2af864eb7db3b1cf46ea0a023b0b433d2a7"
|
||||
dependencies = [
|
||||
"bitflags 2.4.0",
|
||||
"bitflags 2.4.1",
|
||||
"cexpr",
|
||||
"clang-sys",
|
||||
"lazy_static",
|
||||
@ -40,7 +40,7 @@ dependencies = [
|
||||
"regex",
|
||||
"rustc-hash",
|
||||
"shlex",
|
||||
"syn 2.0.29",
|
||||
"syn 2.0.43",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@ -51,18 +51,15 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
|
||||
|
||||
[[package]]
|
||||
name = "bitflags"
|
||||
version = "2.4.0"
|
||||
version = "2.4.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b4682ae6287fcf752ecaabbfcc7b6f9b72aa33933dc23a554d853aea8eea8635"
|
||||
checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07"
|
||||
|
||||
[[package]]
|
||||
name = "bitmaps"
|
||||
version = "2.1.0"
|
||||
version = "3.2.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "031043d04099746d8db04daf1fa424b2bc8bd69d92b25962dcde24da39ab64a2"
|
||||
dependencies = [
|
||||
"typenum",
|
||||
]
|
||||
checksum = "a1d084b0137aaa901caf9f1e8b21daa6aa24d41cd806e111335541eff9683bd6"
|
||||
|
||||
[[package]]
|
||||
name = "block"
|
||||
@ -72,11 +69,11 @@ checksum = "0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a"
|
||||
|
||||
[[package]]
|
||||
name = "cairo-rs"
|
||||
version = "0.18.0"
|
||||
version = "0.18.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d859b656775a6b1dd078d3e5924884e6ea88aa649a7fdde03d5b2ec56ffcc10b"
|
||||
checksum = "f33613627f0dea6a731b0605101fad59ba4f193a52c96c4687728d822605a8a1"
|
||||
dependencies = [
|
||||
"bitflags 2.4.0",
|
||||
"bitflags 2.4.1",
|
||||
"cairo-sys-rs",
|
||||
"glib",
|
||||
"libc",
|
||||
@ -86,9 +83,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "cairo-sys-rs"
|
||||
version = "0.18.0"
|
||||
version = "0.18.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "bd4d115132e01c0165e3bf5f56aedee8980b0b96ede4eb000b693c05a8adb8ff"
|
||||
checksum = "685c9fa8e590b8b3d678873528d83411db17242a73fccaed827770ea0fedda51"
|
||||
dependencies = [
|
||||
"glib-sys",
|
||||
"libc",
|
||||
@ -97,9 +94,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "cc"
|
||||
version = "1.0.82"
|
||||
version = "1.0.83"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "305fe645edc1442a0fa8b6726ba61d422798d37a52e12eaecf4b022ebbb88f01"
|
||||
checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0"
|
||||
dependencies = [
|
||||
"libc",
|
||||
]
|
||||
@ -115,9 +112,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "cfg-expr"
|
||||
version = "0.15.4"
|
||||
version = "0.15.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b40ccee03b5175c18cde8f37e7d2a33bcef6f8ec8f7cc0d81090d1bb380949c9"
|
||||
checksum = "03915af431787e6ffdcc74c645077518c6b6e01f80b761e0fbbfa288536311b3"
|
||||
dependencies = [
|
||||
"smallvec",
|
||||
"target-lexicon",
|
||||
@ -173,9 +170,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "futures"
|
||||
version = "0.3.28"
|
||||
version = "0.3.30"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "23342abe12aba583913b2e62f22225ff9c950774065e4bfb61a19cd9770fec40"
|
||||
checksum = "645c6916888f6cb6350d2550b80fb63e734897a8498abe35cfb732b6487804b0"
|
||||
dependencies = [
|
||||
"futures-channel",
|
||||
"futures-core",
|
||||
@ -188,9 +185,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "futures-channel"
|
||||
version = "0.3.28"
|
||||
version = "0.3.30"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "955518d47e09b25bbebc7a18df10b81f0c766eaf4c4f1cccef2fca5f2a4fb5f2"
|
||||
checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78"
|
||||
dependencies = [
|
||||
"futures-core",
|
||||
"futures-sink",
|
||||
@ -198,15 +195,15 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "futures-core"
|
||||
version = "0.3.28"
|
||||
version = "0.3.30"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c"
|
||||
checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d"
|
||||
|
||||
[[package]]
|
||||
name = "futures-executor"
|
||||
version = "0.3.28"
|
||||
version = "0.3.30"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ccecee823288125bd88b4d7f565c9e58e41858e47ab72e8ea2d64e93624386e0"
|
||||
checksum = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d"
|
||||
dependencies = [
|
||||
"futures-core",
|
||||
"futures-task",
|
||||
@ -215,38 +212,38 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "futures-io"
|
||||
version = "0.3.28"
|
||||
version = "0.3.30"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "4fff74096e71ed47f8e023204cfd0aa1289cd54ae5430a9523be060cdb849964"
|
||||
checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1"
|
||||
|
||||
[[package]]
|
||||
name = "futures-macro"
|
||||
version = "0.3.28"
|
||||
version = "0.3.30"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72"
|
||||
checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.29",
|
||||
"syn 2.0.43",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "futures-sink"
|
||||
version = "0.3.28"
|
||||
version = "0.3.30"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f43be4fe21a13b9781a69afa4985b0f6ee0e1afab2c6f454a8cf30e2b2237b6e"
|
||||
checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5"
|
||||
|
||||
[[package]]
|
||||
name = "futures-task"
|
||||
version = "0.3.28"
|
||||
version = "0.3.30"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "76d3d132be6c0e6aa1534069c705a74a5997a356c0dc2f86a47765e5617c5b65"
|
||||
checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004"
|
||||
|
||||
[[package]]
|
||||
name = "futures-util"
|
||||
version = "0.3.28"
|
||||
version = "0.3.30"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533"
|
||||
checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48"
|
||||
dependencies = [
|
||||
"futures-channel",
|
||||
"futures-core",
|
||||
@ -262,9 +259,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "gdk-pixbuf"
|
||||
version = "0.18.0"
|
||||
version = "0.18.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "bbc9c2ed73a81d556b65d08879ba4ee58808a6b1927ce915262185d6d547c6f3"
|
||||
checksum = "446f32b74d22c33b7b258d4af4ffde53c2bf96ca2e29abdf1a785fe59bd6c82c"
|
||||
dependencies = [
|
||||
"gdk-pixbuf-sys",
|
||||
"gio",
|
||||
@ -288,9 +285,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "gdk4"
|
||||
version = "0.7.2"
|
||||
version = "0.7.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "6982d9815ed6ac95b0467b189e81f29dea26d08a732926ec113e65744ed3f96c"
|
||||
checksum = "7edb019ad581f8ecf8ea8e4baa6df7c483a95b5a59be3140be6a9c3b0c632af6"
|
||||
dependencies = [
|
||||
"cairo-rs",
|
||||
"gdk-pixbuf",
|
||||
@ -340,9 +337,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "gio"
|
||||
version = "0.18.1"
|
||||
version = "0.18.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "7884cba6b1c5db1607d970cadf44b14a43913d42bc68766eea6a5e2fe0891524"
|
||||
checksum = "d4fc8f532f87b79cbc51a79748f16a6828fb784be93145a322fa14d06d354c73"
|
||||
dependencies = [
|
||||
"futures-channel",
|
||||
"futures-core",
|
||||
@ -372,11 +369,11 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "glib"
|
||||
version = "0.18.1"
|
||||
version = "0.18.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "331156127e8166dd815cf8d2db3a5beb492610c716c03ee6db4f2d07092af0a7"
|
||||
checksum = "951bbd7fdc5c044ede9f05170f05a3ae9479239c3afdfe2d22d537a3add15c4e"
|
||||
dependencies = [
|
||||
"bitflags 2.4.0",
|
||||
"bitflags 2.4.1",
|
||||
"futures-channel",
|
||||
"futures-core",
|
||||
"futures-executor",
|
||||
@ -396,16 +393,16 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "glib-macros"
|
||||
version = "0.18.0"
|
||||
version = "0.18.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "179643c50bf28d20d2f6eacd2531a88f2f5d9747dd0b86b8af1e8bb5dd0de3c0"
|
||||
checksum = "72793962ceece3863c2965d7f10c8786323b17c7adea75a515809fa20ab799a5"
|
||||
dependencies = [
|
||||
"heck",
|
||||
"proc-macro-crate",
|
||||
"proc-macro-crate 2.0.1",
|
||||
"proc-macro-error",
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.29",
|
||||
"syn 2.0.43",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@ -460,9 +457,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "gsk4"
|
||||
version = "0.7.2"
|
||||
version = "0.7.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "cc25855255120f294d874acd6eaf4fbed7ce1cdc550e2d8415ea57fafbe816d5"
|
||||
checksum = "0d958e351d2f210309b32d081c832d7de0aca0b077aa10d88336c6379bd01f7e"
|
||||
dependencies = [
|
||||
"cairo-rs",
|
||||
"gdk4",
|
||||
@ -475,9 +472,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "gsk4-sys"
|
||||
version = "0.7.2"
|
||||
version = "0.7.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e1ecf3a63bf1223d68f80f72cc896c4d8c80482fbce1c9a12c66d3de7290ee46"
|
||||
checksum = "12bd9e3effea989f020e8f1ff3fa3b8c63ba93d43b899c11a118868853a56d55"
|
||||
dependencies = [
|
||||
"cairo-sys-rs",
|
||||
"gdk4-sys",
|
||||
@ -491,9 +488,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "gtk4"
|
||||
version = "0.7.2"
|
||||
version = "0.7.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a3b095b26f2a2df70be1805d3590eeb9d7a05ecb5be9649b82defc72dc56228c"
|
||||
checksum = "5aeb51aa3e9728575a053e1f43543cd9992ac2477e1b186ad824fd4adfb70842"
|
||||
dependencies = [
|
||||
"cairo-rs",
|
||||
"field-offset",
|
||||
@ -517,7 +514,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d57ec49cf9b657f69a05bca8027cff0a8dfd0c49e812be026fc7311f2163832f"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"proc-macro-crate",
|
||||
"proc-macro-crate 1.3.1",
|
||||
"proc-macro-error",
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
@ -526,9 +523,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "gtk4-sys"
|
||||
version = "0.7.2"
|
||||
version = "0.7.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "7b0bdde87c50317b4f355bcbb4a9c2c414ece1b7c824fb4ad4ba8f3bdb2c6603"
|
||||
checksum = "54d8c4aa23638ce9faa2caf7e2a27d4a1295af2155c8e8d28c4d4eeca7a65eb8"
|
||||
dependencies = [
|
||||
"cairo-sys-rs",
|
||||
"gdk-pixbuf-sys",
|
||||
@ -545,9 +542,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "hashbrown"
|
||||
version = "0.14.0"
|
||||
version = "0.14.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2c6201b9ff9fd90a5a3bac2e56a830d0caa509576f0e503818ee82c181b3437a"
|
||||
checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604"
|
||||
|
||||
[[package]]
|
||||
name = "heck"
|
||||
@ -556,24 +553,32 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
|
||||
|
||||
[[package]]
|
||||
name = "im-rc"
|
||||
version = "15.1.0"
|
||||
name = "imbl"
|
||||
version = "3.0.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "af1955a75fa080c677d3972822ec4bad316169ab1cfc6c257a942c2265dbe5fe"
|
||||
checksum = "bc3be8d8cd36f33a46b1849f31f837c44d9fa87223baee3b4bd96b8f11df81eb"
|
||||
dependencies = [
|
||||
"bitmaps",
|
||||
"imbl-sized-chunks",
|
||||
"rand_core",
|
||||
"rand_xoshiro",
|
||||
"sized-chunks",
|
||||
"typenum",
|
||||
"version_check",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "indexmap"
|
||||
version = "2.0.0"
|
||||
name = "imbl-sized-chunks"
|
||||
version = "0.1.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d5477fe2230a79769d8dc68e0eabf5437907c0457a5614a9e8dddb67f65eb65d"
|
||||
checksum = "144006fb58ed787dcae3f54575ff4349755b00ccc99f4b4873860b654be1ed63"
|
||||
dependencies = [
|
||||
"bitmaps",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "indexmap"
|
||||
version = "2.1.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d530e1a18b1cb4c484e6e34556a0d948706958449fca0cab753d649f2bce3d1f"
|
||||
dependencies = [
|
||||
"equivalent",
|
||||
"hashbrown",
|
||||
@ -593,9 +598,9 @@ checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55"
|
||||
|
||||
[[package]]
|
||||
name = "libadwaita"
|
||||
version = "0.5.2"
|
||||
version = "0.5.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "06444f4ca05a60693da6e9e2b591bd40a298e65a118a8d5e830771718b3e0253"
|
||||
checksum = "2fe7e70c06507ed10a16cda707f358fbe60fe0dc237498f78c686ade92fd979c"
|
||||
dependencies = [
|
||||
"gdk-pixbuf",
|
||||
"gdk4",
|
||||
@ -609,9 +614,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "libadwaita-sys"
|
||||
version = "0.5.2"
|
||||
version = "0.5.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "021cfe3d1fcfa82411765a791f7e9b32f35dd98ce88d2e3fa10e7320f5cc8ce7"
|
||||
checksum = "5e10aaa38de1d53374f90deeb4535209adc40cc5dba37f9704724169bceec69a"
|
||||
dependencies = [
|
||||
"gdk4-sys",
|
||||
"gio-sys",
|
||||
@ -625,9 +630,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "libc"
|
||||
version = "0.2.147"
|
||||
version = "0.2.151"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3"
|
||||
checksum = "302d7ab3130588088d277783b1e2d2e10c9e9e4a16dd9050e6ec93fb3e7048f4"
|
||||
|
||||
[[package]]
|
||||
name = "libloading"
|
||||
@ -641,11 +646,11 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "libspa"
|
||||
version = "0.7.1"
|
||||
version = "0.7.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "dcdea6b6663acf456641a4dea1b87fa6970a3e881596237713192d8f5423b542"
|
||||
checksum = "0434617020ddca18b86067912970c55410ca654cdafd775480322f50b857a8c4"
|
||||
dependencies = [
|
||||
"bitflags 2.4.0",
|
||||
"bitflags 2.4.1",
|
||||
"cc",
|
||||
"convert_case",
|
||||
"cookie-factory",
|
||||
@ -658,9 +663,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "libspa-sys"
|
||||
version = "0.7.1"
|
||||
version = "0.7.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e63fc701d3375e6e255765d6a6172d9af06583115e78f3dfe2c8ff1dfd0b2dab"
|
||||
checksum = "b3e70ca3f3e70f858ef363046d06178c427b4e0b63d210c95fd87d752679d345"
|
||||
dependencies = [
|
||||
"bindgen",
|
||||
"cc",
|
||||
@ -697,9 +702,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "memchr"
|
||||
version = "2.5.0"
|
||||
version = "2.6.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
|
||||
checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167"
|
||||
|
||||
[[package]]
|
||||
name = "memoffset"
|
||||
@ -727,16 +732,15 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
|
||||
|
||||
[[package]]
|
||||
name = "nix"
|
||||
version = "0.26.2"
|
||||
version = "0.26.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "bfdda3d196821d6af13126e40375cdf7da646a96114af134d5f417a9a1dc8e1a"
|
||||
checksum = "598beaf3cc6fdd9a5dfb1630c2800c7acd31df7aaf0f565796fba2b53ca1af1b"
|
||||
dependencies = [
|
||||
"bitflags 1.3.2",
|
||||
"cfg-if",
|
||||
"libc",
|
||||
"memoffset 0.7.1",
|
||||
"pin-utils",
|
||||
"static_assertions",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@ -780,15 +784,15 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "once_cell"
|
||||
version = "1.18.0"
|
||||
version = "1.19.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d"
|
||||
checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92"
|
||||
|
||||
[[package]]
|
||||
name = "pango"
|
||||
version = "0.18.0"
|
||||
version = "0.18.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "06a9e54b831d033206160096b825f2070cf5fda7e35167b1c01e9e774f9202d1"
|
||||
checksum = "7ca27ec1eb0457ab26f3036ea52229edbdb74dee1edd29063f5b9b010e7ebee4"
|
||||
dependencies = [
|
||||
"gio",
|
||||
"glib",
|
||||
@ -817,9 +821,9 @@ checksum = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099"
|
||||
|
||||
[[package]]
|
||||
name = "pin-project-lite"
|
||||
version = "0.2.12"
|
||||
version = "0.2.13"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "12cc1b0bf1727a77a54b6654e7b5f1af8604923edc8b81885f8ec92f9e3f0a05"
|
||||
checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58"
|
||||
|
||||
[[package]]
|
||||
name = "pin-utils"
|
||||
@ -829,12 +833,12 @@ checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
|
||||
|
||||
[[package]]
|
||||
name = "pipewire"
|
||||
version = "0.7.1"
|
||||
version = "0.7.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "062c97c31818918b8bffdc66cfd93f3e4b4141f505c63234f9ff0a658fddedab"
|
||||
checksum = "a2d009c8dd65e890b515a71950f7e4c801523b8894ff33863a40830bf762e9e9"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"bitflags 2.4.0",
|
||||
"bitflags 2.4.1",
|
||||
"libc",
|
||||
"libspa",
|
||||
"libspa-sys",
|
||||
@ -846,9 +850,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "pipewire-sys"
|
||||
version = "0.7.1"
|
||||
version = "0.7.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d558e2cffe5f97ac32c7e0b6cb6074b5271b8c2c628ac68633342ee08fdab308"
|
||||
checksum = "890c084e7b737246cb4799c86b71a0e4da536031ff7473dd639eba9f95039f64"
|
||||
dependencies = [
|
||||
"bindgen",
|
||||
"libspa-sys",
|
||||
@ -857,9 +861,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "pkg-config"
|
||||
version = "0.3.27"
|
||||
version = "0.3.28"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964"
|
||||
checksum = "69d3587f8a9e599cc7ec2c00e331f71c4e69a5f9a4b8a6efd5b07466b9736f9a"
|
||||
|
||||
[[package]]
|
||||
name = "proc-macro-crate"
|
||||
@ -868,7 +872,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919"
|
||||
dependencies = [
|
||||
"once_cell",
|
||||
"toml_edit",
|
||||
"toml_edit 0.19.15",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "proc-macro-crate"
|
||||
version = "2.0.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "97dc5fea232fc28d2f597b37c4876b348a40e33f3b02cc975c8d006d78d94b1a"
|
||||
dependencies = [
|
||||
"toml_datetime",
|
||||
"toml_edit 0.20.2",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@ -897,9 +911,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "proc-macro2"
|
||||
version = "1.0.66"
|
||||
version = "1.0.71"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9"
|
||||
checksum = "75cb1540fadbd5b8fbccc4dddad2734eba435053f725621c070711a14bb5f4b8"
|
||||
dependencies = [
|
||||
"unicode-ident",
|
||||
]
|
||||
@ -913,7 +927,7 @@ dependencies = [
|
||||
"gettext-rs",
|
||||
"glib",
|
||||
"gtk4",
|
||||
"im-rc",
|
||||
"imbl",
|
||||
"libadwaita",
|
||||
"log",
|
||||
"once_cell",
|
||||
@ -947,9 +961,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "regex"
|
||||
version = "1.9.3"
|
||||
version = "1.10.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "81bc1d4caf89fac26a70747fe603c130093b53c773888797a6329091246d651a"
|
||||
checksum = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343"
|
||||
dependencies = [
|
||||
"aho-corasick",
|
||||
"memchr",
|
||||
@ -959,9 +973,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "regex-automata"
|
||||
version = "0.3.6"
|
||||
version = "0.4.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "fed1ceff11a1dddaee50c9dc8e4938bd106e9d89ae372f192311e7da498e3b69"
|
||||
checksum = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f"
|
||||
dependencies = [
|
||||
"aho-corasick",
|
||||
"memchr",
|
||||
@ -970,9 +984,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "regex-syntax"
|
||||
version = "0.7.4"
|
||||
version = "0.8.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e5ea92a5b6195c6ef2a0295ea818b312502c6fc94dde986c5553242e18fd4ce2"
|
||||
checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f"
|
||||
|
||||
[[package]]
|
||||
name = "rustc-hash"
|
||||
@ -991,61 +1005,59 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "semver"
|
||||
version = "1.0.18"
|
||||
version = "1.0.20"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b0293b4b29daaf487284529cc2f5675b8e57c61f70167ba415a463651fd6a918"
|
||||
checksum = "836fa6a3e1e547f9a2c4040802ec865b5d85f4014efe00555d7090a3dcaa1090"
|
||||
|
||||
[[package]]
|
||||
name = "serde"
|
||||
version = "1.0.183"
|
||||
version = "1.0.193"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "32ac8da02677876d532745a130fc9d8e6edfa81a269b107c5b00829b91d8eb3c"
|
||||
checksum = "25dd9975e68d0cb5aa1120c288333fc98731bd1dd12f561e468ea4728c042b89"
|
||||
dependencies = [
|
||||
"serde_derive",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "serde_derive"
|
||||
version = "1.0.193"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "43576ca501357b9b071ac53cdc7da8ef0cbd9493d8df094cd821777ea6e894d3"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.43",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "serde_spanned"
|
||||
version = "0.6.3"
|
||||
version = "0.6.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "96426c9936fd7a0124915f9185ea1d20aa9445cc9821142f0a73bc9207a2e186"
|
||||
checksum = "eb3622f419d1296904700073ea6cc23ad690adbd66f13ea683df73298736f0c1"
|
||||
dependencies = [
|
||||
"serde",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "shlex"
|
||||
version = "1.1.0"
|
||||
version = "1.2.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "43b2853a4d09f215c24cc5489c992ce46052d359b5109343cbafbf26bc62f8a3"
|
||||
|
||||
[[package]]
|
||||
name = "sized-chunks"
|
||||
version = "0.6.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "16d69225bde7a69b235da73377861095455d298f2b970996eec25ddbb42b3d1e"
|
||||
dependencies = [
|
||||
"bitmaps",
|
||||
"typenum",
|
||||
]
|
||||
checksum = "a7cee0529a6d40f580e7a5e6c495c8fbfe21b7b52795ed4bb5e62cdf92bc6380"
|
||||
|
||||
[[package]]
|
||||
name = "slab"
|
||||
version = "0.4.8"
|
||||
version = "0.4.9"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "6528351c9bc8ab22353f9d776db39a20288e8d6c37ef8cfe3317cf875eecfc2d"
|
||||
checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67"
|
||||
dependencies = [
|
||||
"autocfg",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "smallvec"
|
||||
version = "1.11.0"
|
||||
version = "1.11.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9"
|
||||
|
||||
[[package]]
|
||||
name = "static_assertions"
|
||||
version = "1.1.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
|
||||
checksum = "4dccd0940a2dcdf68d092b8cbab7dc0ad8fa938bf95787e1b916b0e3d0e8e970"
|
||||
|
||||
[[package]]
|
||||
name = "syn"
|
||||
@ -1060,9 +1072,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "syn"
|
||||
version = "2.0.29"
|
||||
version = "2.0.43"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c324c494eba9d92503e6f1ef2e6df781e78f6a7705a0202d9801b198807d518a"
|
||||
checksum = "ee659fb5f3d355364e1f3e5bc10fb82068efbf824a1e9d1c9504244a6469ad53"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
@ -1071,9 +1083,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "system-deps"
|
||||
version = "6.1.1"
|
||||
version = "6.2.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "30c2de8a4d8f4b823d634affc9cd2a74ec98c53a756f317e529a48046cbf71f3"
|
||||
checksum = "2a2d580ff6a20c55dfb86be5f9c238f67835d0e81cbdea8bf5680e0897320331"
|
||||
dependencies = [
|
||||
"cfg-expr",
|
||||
"heck",
|
||||
@ -1084,46 +1096,46 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "target-lexicon"
|
||||
version = "0.12.11"
|
||||
version = "0.12.12"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9d0e916b1148c8e263850e1ebcbd046f333e0683c724876bb0da63ea4373dc8a"
|
||||
checksum = "14c39fd04924ca3a864207c66fc2cd7d22d7c016007f9ce846cbb9326331930a"
|
||||
|
||||
[[package]]
|
||||
name = "temp-dir"
|
||||
version = "0.1.11"
|
||||
version = "0.1.12"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "af547b166dd1ea4b472165569fc456cfb6818116f854690b0ff205e636523dab"
|
||||
checksum = "dd16aa9ffe15fe021c6ee3766772132c6e98dfa395a167e16864f61a9cfb71d6"
|
||||
|
||||
[[package]]
|
||||
name = "thiserror"
|
||||
version = "1.0.47"
|
||||
version = "1.0.52"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "97a802ec30afc17eee47b2855fc72e0c4cd62be9b4efe6591edde0ec5bd68d8f"
|
||||
checksum = "83a48fd946b02c0a526b2e9481c8e2a17755e47039164a86c4070446e3a4614d"
|
||||
dependencies = [
|
||||
"thiserror-impl",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "thiserror-impl"
|
||||
version = "1.0.47"
|
||||
version = "1.0.52"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "6bb623b56e39ab7dcd4b1b98bb6c8f8d907ed255b18de254088016b27a8ee19b"
|
||||
checksum = "e7fbe9b594d6568a6a1443250a7e67d80b74e1e96f6d1715e1e21cc1888291d3"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.29",
|
||||
"syn 2.0.43",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "toml"
|
||||
version = "0.7.6"
|
||||
version = "0.8.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c17e963a819c331dcacd7ab957d80bc2b9a9c1e71c804826d2f283dd65306542"
|
||||
checksum = "185d8ab0dfbb35cf1399a6344d8484209c088f75f8f68230da55d48d95d43e3d"
|
||||
dependencies = [
|
||||
"serde",
|
||||
"serde_spanned",
|
||||
"toml_datetime",
|
||||
"toml_edit",
|
||||
"toml_edit 0.20.2",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@ -1137,9 +1149,20 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "toml_edit"
|
||||
version = "0.19.14"
|
||||
version = "0.19.15"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f8123f27e969974a3dfba720fdb560be359f57b44302d280ba72e76a74480e8a"
|
||||
checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421"
|
||||
dependencies = [
|
||||
"indexmap",
|
||||
"toml_datetime",
|
||||
"winnow",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "toml_edit"
|
||||
version = "0.20.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "396e4d48bbb2b7554c944bde63101b5ae446cff6ec4a24227428f15eb72ef338"
|
||||
dependencies = [
|
||||
"indexmap",
|
||||
"serde",
|
||||
@ -1148,17 +1171,11 @@ dependencies = [
|
||||
"winnow",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "typenum"
|
||||
version = "1.16.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba"
|
||||
|
||||
[[package]]
|
||||
name = "unicode-ident"
|
||||
version = "1.0.11"
|
||||
version = "1.0.12"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c"
|
||||
checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
|
||||
|
||||
[[package]]
|
||||
name = "unicode-segmentation"
|
||||
@ -1202,9 +1219,9 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
|
||||
|
||||
[[package]]
|
||||
name = "winnow"
|
||||
version = "0.5.14"
|
||||
version = "0.5.31"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d09770118a7eb1ccaf4a594a221334119a44a814fcb0d31c5b85e83e97227a97"
|
||||
checksum = "97a4882e6b134d6c28953a387571f1acdd3496830d5e36c5e3a1075580ea641c"
|
||||
dependencies = [
|
||||
"memchr",
|
||||
]
|
||||
@ -1214,7 +1231,7 @@ name = "wireplumber"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/arcnmx/wireplumber.rs.git?rev=341b0c4e8d177f5f21c109cf88cca4f2dc1f853a#341b0c4e8d177f5f21c109cf88cca4f2dc1f853a"
|
||||
dependencies = [
|
||||
"bitflags 2.4.0",
|
||||
"bitflags 2.4.1",
|
||||
"gio",
|
||||
"glib",
|
||||
"libc",
|
||||
|
@ -34,13 +34,13 @@ let
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "pwvucontrol";
|
||||
version = "0.3.1";
|
||||
version = "0.4.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "saivert";
|
||||
repo = "pwvucontrol";
|
||||
rev = version;
|
||||
hash = "sha256-t4JUpKtuO1JgrdsNbl0M/SwPmoqu7WxsaD74vlJeVhY=";
|
||||
hash = "sha256-soxB8pbbyYe1EXtopq1OjoklEDJrwK6od4nFLDwb8LY=";
|
||||
};
|
||||
|
||||
cargoDeps = rustPlatform.importCargoLock {
|
||||
|
@ -4,7 +4,6 @@
|
||||
, pkg-config
|
||||
, meson
|
||||
, ninja
|
||||
, fetchFromGitLab
|
||||
, python3
|
||||
, vala
|
||||
, glib
|
||||
|
@ -2,16 +2,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "dcrwallet";
|
||||
version = "2.0.0";
|
||||
version = "2.0.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "decred";
|
||||
repo = "dcrwallet";
|
||||
rev = "release-v${version}";
|
||||
hash = "sha256-KBmEMYNVHGkkFXE99nI0uCGGDpkC0MvSFWFPEQwvx+o=";
|
||||
hash = "sha256-vFh3+FDN1+7HiP9fFyW8p1LJkW0lfwAiyLhZjqxQ6J4=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-66S1evvX/SEKFXB00dyI9IEuV8dmqM+k1wuhTtgVpBs=";
|
||||
vendorHash = "sha256-rVkQsr14yqATLGxevl8PLBOhVnTCrM4Yo2G5NvX/59g=";
|
||||
|
||||
subPackages = [ "." ];
|
||||
|
||||
|
@ -1,10 +1,5 @@
|
||||
{ lib
|
||||
, pkgs
|
||||
, symlinkJoin
|
||||
, fetchzip
|
||||
, melpaBuild
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, writeText
|
||||
, melpaStablePackages
|
||||
, runCommand
|
||||
|
@ -1,6 +1,6 @@
|
||||
# run tests by building `neovim.tests`
|
||||
{ vimUtils, writeText, neovim, vimPlugins
|
||||
, lib, fetchFromGitHub, neovimUtils, wrapNeovimUnstable
|
||||
, lib, neovimUtils, wrapNeovimUnstable
|
||||
, neovim-unwrapped
|
||||
, fetchFromGitLab
|
||||
, runCommandLocal
|
||||
|
@ -28,8 +28,6 @@
|
||||
, soci
|
||||
, postgresql
|
||||
, nodejs
|
||||
, mkYarnModules
|
||||
, fetchYarnDeps
|
||||
, qmake
|
||||
, server ? false # build server version
|
||||
, sqlite
|
||||
|
@ -3294,6 +3294,21 @@ let
|
||||
};
|
||||
};
|
||||
|
||||
phind.phind = buildVscodeMarketplaceExtension {
|
||||
mktplcRef = {
|
||||
name = "phind";
|
||||
publisher = "phind";
|
||||
version = "0.22.2";
|
||||
hash = "sha256-nN/7IVa4WaA5V39CHx0nrvWBmBNtISvAINTQzk02x1w=";
|
||||
};
|
||||
meta = {
|
||||
description = "Using Phind AI service to provide answers based on the code context";
|
||||
downloadPage = "https://marketplace.visualstudio.com/items?itemName=phind.phind";
|
||||
license = lib.licenses.unfree;
|
||||
maintainers = [ lib.maintainers.onny ];
|
||||
};
|
||||
};
|
||||
|
||||
phoenixframework.phoenix = buildVscodeMarketplaceExtension {
|
||||
mktplcRef = {
|
||||
name = "phoenix";
|
||||
@ -4733,6 +4748,23 @@ let
|
||||
};
|
||||
};
|
||||
|
||||
xdebug.php-debug = buildVscodeMarketplaceExtension {
|
||||
mktplcRef = {
|
||||
name = "php-debug";
|
||||
publisher = "xdebug";
|
||||
version = "1.34.0";
|
||||
hash = "sha256-WAcXWCMmvuw7nkfGcOgmK+s+Nw6XpvNR4POXD85E/So=";
|
||||
};
|
||||
meta = {
|
||||
description = "PHP Debug Adapter";
|
||||
license = lib.licenses.mit;
|
||||
homepage = "https://github.com/xdebug/vscode-php-debug";
|
||||
changelog = "https://github.com/xdebug/vscode-php-debug/blob/main/CHANGELOG.md";
|
||||
downloadPage = "https://marketplace.visualstudio.com/items?itemName=xdebug.php-debug";
|
||||
maintainers = [ lib.maintainers.onny ];
|
||||
};
|
||||
};
|
||||
|
||||
xyz.local-history = buildVscodeMarketplaceExtension {
|
||||
mktplcRef = {
|
||||
name = "local-history";
|
||||
|
@ -1,37 +0,0 @@
|
||||
# To use this for hacking of your Yi config file, drop into a shell
|
||||
# with env attribute.
|
||||
{ lib, stdenv, makeWrapper
|
||||
, haskellPackages
|
||||
, extraPackages ? (s: [])
|
||||
}:
|
||||
let
|
||||
yiEnv = haskellPackages.ghcWithPackages
|
||||
(self: [ self.yi ] ++ extraPackages self);
|
||||
in
|
||||
stdenv.mkDerivation {
|
||||
pname = "yi-custom";
|
||||
version = "0.0.0.1";
|
||||
dontUnpack = true;
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
buildCommand = ''
|
||||
mkdir -p $out/bin
|
||||
makeWrapper ${haskellPackages.yi}/bin/yi $out/bin/yi \
|
||||
--set NIX_GHC ${yiEnv}/bin/ghc
|
||||
'';
|
||||
|
||||
# For hacking purposes
|
||||
passthru.env = yiEnv;
|
||||
|
||||
meta = with lib; {
|
||||
description = "Allows Yi to find libraries and the compiler easily";
|
||||
# This wrapper and wrapper only is under PD
|
||||
license = licenses.publicDomain;
|
||||
maintainers = with maintainers; [ ];
|
||||
|
||||
# dependency yi-language no longer builds
|
||||
hydraPlatforms = lib.platforms.none;
|
||||
broken = true;
|
||||
};
|
||||
|
||||
}
|
@ -1,6 +1,7 @@
|
||||
{ stdenv
|
||||
, lib
|
||||
, fetchFromGitHub
|
||||
, fetchpatch
|
||||
, gitUpdater
|
||||
, cmake
|
||||
, pkg-config
|
||||
@ -27,6 +28,16 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
hash = "sha256-TIXjYkInWV3yVnvXrdHcmeWYeps5TcvkG2Xjg4roIds=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Fix FTBFS with Qt 6.7.1
|
||||
# Remove when https://github.com/punesemu/puNES/pull/403 merged & in release
|
||||
(fetchpatch {
|
||||
name = "0001-punes-Fix-compatibility-with-Qt-6.7.1.patch";
|
||||
url = "https://github.com/punesemu/puNES/commit/78c72d2dfcd570e7463a78da10904cebae6127f5.patch";
|
||||
hash = "sha256-xRalKIOb1qWgqJsFLcm7uUOblEfHDYbkukmcr4/+4Qc=";
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
pkg-config
|
||||
|
@ -1,6 +1,5 @@
|
||||
{ stdenv
|
||||
, lib
|
||||
, fetchFromGitHub
|
||||
, fetchzip
|
||||
, python310
|
||||
, rtlcss
|
||||
|
@ -1,23 +1,30 @@
|
||||
{ lib
|
||||
, buildPythonApplication
|
||||
, python3Packages
|
||||
, fetchPypi
|
||||
, pynput
|
||||
, xdg
|
||||
, xdg-base-dirs
|
||||
}:
|
||||
|
||||
buildPythonApplication rec {
|
||||
pname = "bitwarden-menu";
|
||||
version = "0.4.1";
|
||||
format = "setuptools";
|
||||
version = "0.4.3";
|
||||
format = "pyproject";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-OC+MHEiUU6bDT2wSSDtu0KnwDwBpbLTBta0xjfuzlOI=";
|
||||
pname = "bitwarden_menu";
|
||||
inherit version;
|
||||
hash = "sha256-tuIolWvQ/vKSJr6oUTL7ZLPgdkYsIZods5yQNNfWbWY=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = with python3Packages; [
|
||||
hatch-vcs
|
||||
hatchling
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
pynput
|
||||
xdg
|
||||
xdg-base-dirs
|
||||
];
|
||||
|
||||
doCheck = false;
|
||||
@ -28,6 +35,6 @@ buildPythonApplication rec {
|
||||
mainProgram = "bwm";
|
||||
homepage = "https://github.com/firecat53/bitwarden-menu";
|
||||
license = licenses.mit;
|
||||
maintainers = [ ];
|
||||
maintainers = with maintainers; [ aman9das ];
|
||||
};
|
||||
}
|
||||
|
@ -2,7 +2,6 @@
|
||||
, stdenv
|
||||
, fetchurl
|
||||
, fetchFromGitHub
|
||||
, fetchpatch
|
||||
, wrapQtAppsHook
|
||||
, python3
|
||||
, zbar
|
||||
@ -14,7 +13,7 @@
|
||||
}:
|
||||
|
||||
let
|
||||
version = "4.5.4";
|
||||
version = "4.5.5";
|
||||
|
||||
python = python3.override {
|
||||
self = python;
|
||||
@ -47,7 +46,7 @@ let
|
||||
owner = "spesmilo";
|
||||
repo = "electrum";
|
||||
rev = version;
|
||||
sha256 = "sha256-fDu2PlEQOF7ftlS6dYw15S2XiAx+D/bng4zC9ELj6uk=";
|
||||
sha256 = "sha256-CbhI/q+zjk9odxuvdzpogi046FqkedJooiQwS+WAkJ8=";
|
||||
|
||||
postFetch = ''
|
||||
mv $out ./all
|
||||
@ -63,7 +62,7 @@ python.pkgs.buildPythonApplication {
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://download.electrum.org/${version}/Electrum-${version}.tar.gz";
|
||||
sha256 = "sha256-lDuwXhOjcbCx8x/oIoigrklDwCbhn1trf5lDf/X/1Qc=";
|
||||
sha256 = "1jiagz9avkbd158pcip7p4wz0pdsxi94ndvg5p8afvshb32aqwav";
|
||||
};
|
||||
|
||||
postUnpack = ''
|
||||
@ -99,7 +98,7 @@ python.pkgs.buildPythonApplication {
|
||||
keepkey
|
||||
trezor
|
||||
bitbox02
|
||||
cbor
|
||||
cbor2
|
||||
pyserial
|
||||
] ++ lib.optionals enableQt [
|
||||
pyqt5
|
||||
@ -110,30 +109,7 @@ python.pkgs.buildPythonApplication {
|
||||
pyqt6
|
||||
];
|
||||
|
||||
patches = [
|
||||
# aiorpcx 0.23.1 compatibility
|
||||
# Note: this patches `/run_electrum`.
|
||||
# In the source repo, `/electrum/electrum`
|
||||
# is a symlink to `../run_electrum`,
|
||||
# so that path would also be affected by the patch.
|
||||
# However, in the distribution tarball used here,
|
||||
# `/electrum/electrum` is simply an exact copy of
|
||||
# `/run_electrum` and is thereby *not* affected.
|
||||
# So we have to manually copy the patched `/run_electrum`
|
||||
# over `/electrum/electrum` after the patching (see below).
|
||||
# XXX remove the copy command in `postPatch`
|
||||
# as soon as the patch itself is removed!
|
||||
(fetchpatch {
|
||||
url = "https://github.com/spesmilo/electrum/commit/5f95d919dfa9868eaf82889903b94faa8c6443e0.patch";
|
||||
hash = "sha256-cEkduLsL6A8qPhXS2KPQWzVtkQPYQhHSbuwQ2SnanHw=";
|
||||
})
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
# copy the patched `/run_electrum` over `/electrum/electrum`
|
||||
# so the aiorpcx compatibility patch is used
|
||||
cp run_electrum electrum/electrum
|
||||
|
||||
# make compatible with protobuf4 by easing dependencies ...
|
||||
substituteInPlace ./contrib/requirements/requirements.txt \
|
||||
--replace "protobuf>=3.20,<4" "protobuf>=3.20"
|
||||
|
@ -100,7 +100,7 @@ stdenv.mkDerivation rec {
|
||||
description = "A daemon to provide haptic (and later more) feedback on events";
|
||||
homepage = "https://source.puri.sm/Librem5/feedbackd";
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = with maintainers; [ pacman99 tomfitzhenry ];
|
||||
maintainers = with maintainers; [ pacman99 ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
|
@ -1,7 +1,7 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, substituteAll
|
||||
, wrapGAppsHook3
|
||||
, buildGoModule
|
||||
, go
|
||||
, glib
|
||||
@ -15,32 +15,26 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "nwg-look";
|
||||
version = "0.2.6";
|
||||
version = "0.2.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "nwg-piotr";
|
||||
repo = "nwg-look";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-kOoYhJKt7/BsQ0/RuVhj0bWnX9GU8ET3MSq6NMCOw5E=";
|
||||
hash = "sha256-qUNTJkNHWoJisLH0SU23UQuamEL27MMRnxw0kBxzWLk=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-V0KXK6jxBYI+tixBLq24pJJcnu4gDF6nfyns2IBTss4=";
|
||||
|
||||
# Replace /usr/ directories with the packages output location
|
||||
# This means it references the correct path
|
||||
patches = [ ./fix-paths.patch ];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace main.go tools.go --replace '@out@' $out
|
||||
'';
|
||||
vendorHash = "sha256-qHWy9OCxENrrWk00YoRveSjqYWIy/fe4Fyc8tc4n34E=";
|
||||
|
||||
ldflags = [ "-s" "-w" ];
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
wrapGAppsHook3
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
glib
|
||||
cairo
|
||||
xcur2png
|
||||
libX11.dev
|
||||
@ -55,12 +49,21 @@ buildGoModule rec {
|
||||
mkdir -p $out/share/nwg-look/langs
|
||||
mkdir -p $out/share/applications
|
||||
mkdir -p $out/share/pixmaps
|
||||
mkdir -p $out/share/icons
|
||||
cp stuff/main.glade $out/share/nwg-look/
|
||||
cp langs/* $out/share/nwg-look/langs
|
||||
cp stuff/nwg-look.desktop $out/share/applications
|
||||
cp stuff/nwg-look.svg $out/share/pixmaps
|
||||
'';
|
||||
|
||||
preFixup = ''
|
||||
gappsWrapperArgs+=(
|
||||
--prefix PATH : "${glib.bin}/bin"
|
||||
--prefix PATH : "${xcur2png}/bin"
|
||||
--prefix XDG_DATA_DIRS : "${gtk3}/share/gsettings-schemas/${gtk3.name}"
|
||||
)
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/nwg-piotr/nwg-look";
|
||||
description = "Nwg-look is a GTK3 settings editor, designed to work properly in wlroots-based Wayland environment.";
|
||||
|
@ -1,35 +0,0 @@
|
||||
diff --git a/main.go b/main.go
|
||||
index 23c4756..c52e9c3 100644
|
||||
--- a/main.go
|
||||
+++ b/main.go
|
||||
@@ -335,7 +335,7 @@ func main() {
|
||||
|
||||
gtkSettings, _ = gtk.SettingsGetDefault()
|
||||
|
||||
- builder, _ := gtk.BuilderNewFromFile("/usr/share/nwg-look/main.glade")
|
||||
+ builder, _ := gtk.BuilderNewFromFile("@out@/share/nwg-look/main.glade")
|
||||
win, _ := getWindow(builder, "window")
|
||||
|
||||
win.Connect("destroy", func() {
|
||||
diff --git a/tools.go b/tools.go
|
||||
index e6e7665..59d6f35 100644
|
||||
--- a/tools.go
|
||||
+++ b/tools.go
|
||||
@@ -1034,7 +1034,7 @@ func getDataDirs() []string {
|
||||
if os.Getenv("XDG_DATA_DIRS") != "" {
|
||||
xdgDataDirs = os.Getenv("XDG_DATA_DIRS")
|
||||
} else {
|
||||
- xdgDataDirs = "/usr/local/share/:/usr/share/"
|
||||
+ xdgDataDirs = "@out@/local/share/:@out@/share/"
|
||||
}
|
||||
|
||||
for _, d := range strings.Split(xdgDataDirs, ":") {
|
||||
@@ -1280,7 +1280,7 @@ func detectLang() string {
|
||||
}
|
||||
|
||||
func loadVocabulary(lang string) map[string]string {
|
||||
- langsDir := "/usr/share/nwg-look/langs/"
|
||||
+ langsDir := "@out@/share/nwg-look/langs/"
|
||||
enUSFile := filepath.Join(langsDir, "en_US.json")
|
||||
if pathExists(enUSFile) {
|
||||
log.Infof(">>> Loading basic lang from '%s'", enUSFile)
|
@ -1,10 +1,10 @@
|
||||
module github.com/nwg-piotr/nwg-look
|
||||
|
||||
go 1.20
|
||||
go 1.22
|
||||
|
||||
require (
|
||||
github.com/gotk3/gotk3 v0.6.2
|
||||
github.com/gotk3/gotk3 v0.6.3
|
||||
github.com/sirupsen/logrus v1.9.3
|
||||
)
|
||||
|
||||
require golang.org/x/sys v0.6.0 // indirect
|
||||
require golang.org/x/sys v0.17.0 // indirect
|
||||
|
@ -87,7 +87,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
mainProgram = "phoc";
|
||||
homepage = "https://gitlab.gnome.org/World/Phosh/phoc";
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = with maintainers; [ masipcat tomfitzhenry zhaofengli ];
|
||||
maintainers = with maintainers; [ masipcat zhaofengli ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
})
|
||||
|
@ -1,6 +1,5 @@
|
||||
{ lib
|
||||
, python310
|
||||
, fetchPypi
|
||||
, fetchFromGitHub
|
||||
, gdk-pixbuf
|
||||
, gnome
|
||||
|
@ -1,5 +1,15 @@
|
||||
{ stdenv, lib, fetchurl, meson, ninja, pkg-config, zathura_core
|
||||
, girara, gettext, libarchive }:
|
||||
{
|
||||
stdenv,
|
||||
lib,
|
||||
fetchurl,
|
||||
meson,
|
||||
ninja,
|
||||
pkg-config,
|
||||
zathura_core,
|
||||
girara,
|
||||
gettext,
|
||||
libarchive,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "zathura-cb";
|
||||
@ -7,11 +17,20 @@ stdenv.mkDerivation rec {
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://pwmt.org/projects/${pname}/download/${pname}-${version}.tar.xz";
|
||||
sha256 = "1j5v32f9ki35v1jc7a067anhlgqplzrp4fqvznlixfhcm0bwmc49";
|
||||
hash = "sha256-ibDKF6gMuh6p/Rs7cvOnFz8KrToGqMNk2GXEmZwYu8g=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ meson ninja pkg-config gettext ];
|
||||
buildInputs = [ libarchive zathura_core girara ];
|
||||
nativeBuildInputs = [
|
||||
meson
|
||||
ninja
|
||||
pkg-config
|
||||
gettext
|
||||
];
|
||||
buildInputs = [
|
||||
libarchive
|
||||
zathura_core
|
||||
girara
|
||||
];
|
||||
|
||||
PKG_CONFIG_ZATHURA_PLUGINDIR = "lib/zathura";
|
||||
|
||||
@ -20,7 +39,7 @@ stdenv.mkDerivation rec {
|
||||
description = "A zathura CB plugin";
|
||||
longDescription = ''
|
||||
The zathura-cb plugin adds comic book support to zathura.
|
||||
'';
|
||||
'';
|
||||
license = licenses.zlib;
|
||||
platforms = platforms.unix;
|
||||
maintainers = with maintainers; [ jlesquembre ];
|
||||
|
@ -1,24 +1,48 @@
|
||||
{ lib, stdenv, fetchFromGitLab, meson, ninja, wrapGAppsHook3, pkg-config, gitUpdater
|
||||
, appstream-glib, json-glib, desktop-file-utils, python3
|
||||
, gtk, girara, gettext, libxml2, check
|
||||
, sqlite, glib, texlive, libintl, libseccomp
|
||||
, file, librsvg
|
||||
, gtk-mac-integration
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
meson,
|
||||
ninja,
|
||||
wrapGAppsHook3,
|
||||
pkg-config,
|
||||
gitUpdater,
|
||||
appstream-glib,
|
||||
json-glib,
|
||||
desktop-file-utils,
|
||||
python3,
|
||||
gtk,
|
||||
girara,
|
||||
gettext,
|
||||
libxml2,
|
||||
check,
|
||||
sqlite,
|
||||
glib,
|
||||
texlive,
|
||||
libintl,
|
||||
libseccomp,
|
||||
file,
|
||||
librsvg,
|
||||
gtk-mac-integration,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "zathura";
|
||||
version = "0.5.5";
|
||||
version = "0.5.6";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
domain = "git.pwmt.org";
|
||||
src = fetchFromGitHub {
|
||||
owner = "pwmt";
|
||||
repo = "zathura";
|
||||
rev = finalAttrs.version;
|
||||
hash = "sha256-mHEYqgBB55p8nykFtvYtP5bWexp/IqFbeLs7gZmXCeE=";
|
||||
hash = "sha256-lTEBIZ3lkzjJ+L1qecrcL8iseo8AvSIo3Wh65/ikwac=";
|
||||
};
|
||||
|
||||
outputs = [ "bin" "man" "dev" "out" ];
|
||||
outputs = [
|
||||
"bin"
|
||||
"man"
|
||||
"dev"
|
||||
"out"
|
||||
];
|
||||
|
||||
# Flag list:
|
||||
# https://github.com/pwmt/zathura/blob/master/meson_options.txt
|
||||
@ -33,22 +57,36 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
meson ninja pkg-config desktop-file-utils python3.pythonOnBuildForHost.pkgs.sphinx
|
||||
gettext wrapGAppsHook3 libxml2 appstream-glib
|
||||
meson
|
||||
ninja
|
||||
pkg-config
|
||||
desktop-file-utils
|
||||
python3.pythonOnBuildForHost.pkgs.sphinx
|
||||
gettext
|
||||
wrapGAppsHook3
|
||||
libxml2
|
||||
appstream-glib
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
gtk girara libintl sqlite glib file librsvg check json-glib
|
||||
gtk
|
||||
girara
|
||||
libintl
|
||||
sqlite
|
||||
glib
|
||||
file
|
||||
librsvg
|
||||
check
|
||||
json-glib
|
||||
texlive.bin.core
|
||||
] ++ lib.optional stdenv.isLinux libseccomp
|
||||
++ lib.optional stdenv.isDarwin gtk-mac-integration;
|
||||
] ++ lib.optional stdenv.isLinux libseccomp ++ lib.optional stdenv.isDarwin gtk-mac-integration;
|
||||
|
||||
doCheck = !stdenv.isDarwin;
|
||||
|
||||
passthru.updateScript = gitUpdater { };
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://git.pwmt.org/pwmt/zathura";
|
||||
homepage = "https://pwmt.org/projects/zathura";
|
||||
description = "A core component for zathura PDF viewer";
|
||||
license = licenses.zlib;
|
||||
platforms = platforms.unix;
|
||||
|
@ -1,6 +1,9 @@
|
||||
{ config, pkgs
|
||||
# zathura_pdf_mupdf fails to load _opj_create_decompress at runtime on Darwin (https://github.com/NixOS/nixpkgs/pull/61295#issue-277982980)
|
||||
, useMupdf ? config.zathura.useMupdf or (!pkgs.stdenv.isDarwin) }:
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
# zathura_pdf_mupdf fails to load _opj_create_decompress at runtime on Darwin (https://github.com/NixOS/nixpkgs/pull/61295#issue-277982980)
|
||||
useMupdf ? config.zathura.useMupdf or (!pkgs.stdenv.isDarwin),
|
||||
}:
|
||||
|
||||
let
|
||||
callPackage = pkgs.newScope self;
|
||||
@ -29,5 +32,5 @@ let
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
in self
|
||||
in
|
||||
self
|
||||
|
@ -1,4 +1,16 @@
|
||||
{ lib, stdenv, fetchurl, meson, ninja, pkg-config, gtk, zathura_core, girara, djvulibre, gettext }:
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchurl,
|
||||
meson,
|
||||
ninja,
|
||||
pkg-config,
|
||||
gtk,
|
||||
zathura_core,
|
||||
girara,
|
||||
djvulibre,
|
||||
gettext,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "zathura-djvu";
|
||||
@ -6,11 +18,21 @@ stdenv.mkDerivation rec {
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://pwmt.org/projects/${pname}/download/${pname}-${version}.tar.xz";
|
||||
sha256 = "0062n236414db7q7pnn3ccg5111ghxj3407pn9ri08skxskgirln";
|
||||
hash = "sha256-lub4pu5TIxBzsvcAMmSHL4RQHmPD2nvwWY0EYoawwgA=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ meson ninja pkg-config ];
|
||||
buildInputs = [ djvulibre gettext zathura_core gtk girara ];
|
||||
nativeBuildInputs = [
|
||||
meson
|
||||
ninja
|
||||
pkg-config
|
||||
];
|
||||
buildInputs = [
|
||||
djvulibre
|
||||
gettext
|
||||
zathura_core
|
||||
gtk
|
||||
girara
|
||||
];
|
||||
|
||||
PKG_CONFIG_ZATHURA_PLUGINDIR = "lib/zathura";
|
||||
|
||||
@ -26,4 +48,3 @@ stdenv.mkDerivation rec {
|
||||
maintainers = with maintainers; [ ];
|
||||
};
|
||||
}
|
||||
|
||||
|
@ -1,29 +1,39 @@
|
||||
{ stdenv, lib, meson, ninja, fetchurl, cairo
|
||||
, girara
|
||||
, gtk-mac-integration
|
||||
, gumbo
|
||||
, jbig2dec
|
||||
, libjpeg
|
||||
, mupdf
|
||||
, openjpeg
|
||||
, pkg-config
|
||||
, zathura_core
|
||||
, tesseract
|
||||
, leptonica
|
||||
, mujs
|
||||
, gitUpdater
|
||||
{
|
||||
stdenv,
|
||||
lib,
|
||||
meson,
|
||||
ninja,
|
||||
fetchurl,
|
||||
cairo,
|
||||
girara,
|
||||
gtk-mac-integration,
|
||||
gumbo,
|
||||
jbig2dec,
|
||||
libjpeg,
|
||||
mupdf,
|
||||
openjpeg,
|
||||
pkg-config,
|
||||
zathura_core,
|
||||
tesseract,
|
||||
leptonica,
|
||||
mujs,
|
||||
gitUpdater,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "0.4.1";
|
||||
version = "0.4.2";
|
||||
pname = "zathura-pdf-mupdf";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://pwmt.org/projects/${pname}/download/${pname}-${version}.tar.xz";
|
||||
hash = "sha256-+YKgHWUj+iVmk4EYTAamJe2/15YcvbBxHcz9ucQCrC8=";
|
||||
hash = "sha256-fFC+z9mJX9ccExsV336Ut+zJJa8UdfUz/qVp9YgcnhM=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ meson ninja pkg-config ];
|
||||
nativeBuildInputs = [
|
||||
meson
|
||||
ninja
|
||||
pkg-config
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
cairo
|
||||
@ -39,15 +49,13 @@ stdenv.mkDerivation rec {
|
||||
mujs
|
||||
] ++ lib.optional stdenv.isDarwin gtk-mac-integration;
|
||||
|
||||
PKG_CONFIG_ZATHURA_PLUGINDIR= "lib/zathura";
|
||||
PKG_CONFIG_ZATHURA_PLUGINDIR = "lib/zathura";
|
||||
|
||||
postPatch = ''
|
||||
sed -i -e '/^mupdfthird =/d' -e 's/, mupdfthird//g' meson.build
|
||||
'';
|
||||
|
||||
passthru.updateScript = gitUpdater {
|
||||
url = "https://git.pwmt.org/pwmt/zathura-pdf-mupdf.git";
|
||||
};
|
||||
passthru.updateScript = gitUpdater { url = "https://git.pwmt.org/pwmt/zathura-pdf-mupdf.git"; };
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://pwmt.org/projects/zathura-pdf-mupdf/";
|
||||
|
@ -1,4 +1,14 @@
|
||||
{ stdenv, lib, fetchurl, meson, ninja, pkg-config, zathura_core, girara, poppler }:
|
||||
{
|
||||
stdenv,
|
||||
lib,
|
||||
fetchurl,
|
||||
meson,
|
||||
ninja,
|
||||
pkg-config,
|
||||
zathura_core,
|
||||
girara,
|
||||
poppler,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "zathura-pdf-poppler";
|
||||
@ -6,11 +16,19 @@ stdenv.mkDerivation rec {
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://pwmt.org/projects/${pname}/download/${pname}-${version}.tar.xz";
|
||||
sha256 = "049h8m9swxni7ar6fsbm0hb3fg4ffmjc3m6vyg78ilfi3kayxavi";
|
||||
hash = "sha256-cavu1RzR0YjO89vUwWR1jjw3FgR1aWeyOtF2rlNFMBE=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ meson ninja pkg-config zathura_core ];
|
||||
buildInputs = [ poppler girara ];
|
||||
nativeBuildInputs = [
|
||||
meson
|
||||
ninja
|
||||
pkg-config
|
||||
zathura_core
|
||||
];
|
||||
buildInputs = [
|
||||
poppler
|
||||
girara
|
||||
];
|
||||
|
||||
PKG_CONFIG_ZATHURA_PLUGINDIR = "lib/zathura";
|
||||
|
||||
|
@ -1,4 +1,15 @@
|
||||
{ stdenv, lib, fetchurl, meson, ninja, pkg-config, zathura_core, girara, libspectre, gettext }:
|
||||
{
|
||||
stdenv,
|
||||
lib,
|
||||
fetchurl,
|
||||
meson,
|
||||
ninja,
|
||||
pkg-config,
|
||||
zathura_core,
|
||||
girara,
|
||||
libspectre,
|
||||
gettext,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "zathura-ps";
|
||||
@ -6,11 +17,20 @@ stdenv.mkDerivation rec {
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://pwmt.org/projects/${pname}/download/${pname}-${version}.tar.xz";
|
||||
sha256 = "0ilf63wxn1yzis9m3qs8mxbk316yxdzwxrrv86wpiygm9hhgk5sq";
|
||||
hash = "sha256-WJf5IEz1+Xi5QTvnzn/r3oQxV69I41GTjt8H2/kwjkY=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ meson ninja pkg-config gettext ];
|
||||
buildInputs = [ libspectre zathura_core girara ];
|
||||
nativeBuildInputs = [
|
||||
meson
|
||||
ninja
|
||||
pkg-config
|
||||
gettext
|
||||
];
|
||||
buildInputs = [
|
||||
libspectre
|
||||
zathura_core
|
||||
girara
|
||||
];
|
||||
|
||||
PKG_CONFIG_ZATHURA_PLUGINDIR = "lib/zathura";
|
||||
|
||||
@ -20,10 +40,9 @@ stdenv.mkDerivation rec {
|
||||
longDescription = ''
|
||||
The zathura-ps plugin adds PS support to zathura by using the
|
||||
libspectre library.
|
||||
'';
|
||||
'';
|
||||
license = licenses.zlib;
|
||||
platforms = platforms.unix;
|
||||
maintainers = with maintainers; [ ];
|
||||
};
|
||||
}
|
||||
|
||||
|
@ -1,28 +1,44 @@
|
||||
{ symlinkJoin, lib, makeWrapper, zathura_core, file, plugins ? [] }:
|
||||
{
|
||||
symlinkJoin,
|
||||
lib,
|
||||
makeWrapper,
|
||||
zathura_core,
|
||||
file,
|
||||
plugins ? [ ],
|
||||
}:
|
||||
symlinkJoin {
|
||||
name = "zathura-with-plugins-${zathura_core.version}";
|
||||
|
||||
paths = with zathura_core; [ man dev out ] ++ plugins;
|
||||
paths =
|
||||
with zathura_core;
|
||||
[
|
||||
man
|
||||
dev
|
||||
out
|
||||
]
|
||||
++ plugins;
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
postBuild = let
|
||||
fishCompletion = "share/fish/vendor_completions.d/zathura.fish";
|
||||
in ''
|
||||
makeWrapper ${zathura_core.bin}/bin/zathura $out/bin/zathura \
|
||||
--prefix PATH ":" "${lib.makeBinPath [ file ]}" \
|
||||
--prefix ZATHURA_PLUGINS_PATH : "$out/lib/zathura"
|
||||
postBuild =
|
||||
let
|
||||
fishCompletion = "share/fish/vendor_completions.d/zathura.fish";
|
||||
in
|
||||
''
|
||||
makeWrapper ${zathura_core.bin}/bin/zathura $out/bin/zathura \
|
||||
--prefix PATH ":" "${lib.makeBinPath [ file ]}" \
|
||||
--prefix ZATHURA_PLUGINS_PATH : "$out/lib/zathura"
|
||||
|
||||
# zathura fish completion references the zathura_core derivation to
|
||||
# check for supported plugins which live in the wrapper derivation,
|
||||
# so we need to fix the path to reference $out instead.
|
||||
rm "$out/${fishCompletion}"
|
||||
substitute "${zathura_core.out}/${fishCompletion}" "$out/${fishCompletion}" \
|
||||
--replace "${zathura_core.out}" "$out"
|
||||
'';
|
||||
# zathura fish completion references the zathura_core derivation to
|
||||
# check for supported plugins which live in the wrapper derivation,
|
||||
# so we need to fix the path to reference $out instead.
|
||||
rm "$out/${fishCompletion}"
|
||||
substitute "${zathura_core.out}/${fishCompletion}" "$out/${fishCompletion}" \
|
||||
--replace "${zathura_core.out}" "$out"
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://git.pwmt.org/pwmt/zathura/";
|
||||
homepage = "https://pwmt.org/projects/zathura/";
|
||||
description = "A highly customizable and functional PDF viewer";
|
||||
longDescription = ''
|
||||
Zathura is a highly customizable and functional PDF viewer based on the
|
||||
@ -32,7 +48,11 @@ symlinkJoin {
|
||||
'';
|
||||
license = licenses.zlib;
|
||||
platforms = platforms.unix;
|
||||
maintainers = with maintainers; [ smironov globin TethysSvensson ];
|
||||
maintainers = with maintainers; [
|
||||
smironov
|
||||
globin
|
||||
TethysSvensson
|
||||
];
|
||||
mainProgram = "zathura";
|
||||
};
|
||||
}
|
||||
|
@ -22,11 +22,11 @@
|
||||
|
||||
let
|
||||
inherit (builtins) elemAt;
|
||||
cldr_version = "44.1.0";
|
||||
cldr_version = "45.0.0";
|
||||
cldr-json = fetchzip {
|
||||
url = "https://github.com/unicode-org/cldr-json/releases/download/${cldr_version}/cldr-${cldr_version}-json-modern.zip";
|
||||
stripRoot = false;
|
||||
hash = "sha256-EbbzaaspKgRT/dsJV3Kf0Dfj8LN9zT+Pl4gk5kiOXWk=";
|
||||
hash = "sha256-BPDvYjlvJMudX/YlS7HrwKEABYx+1KzjiFlLYA5+Oew=";
|
||||
postFetch = ''
|
||||
echo -n ${cldr_version} > $out/version.txt
|
||||
'';
|
||||
@ -50,13 +50,13 @@ let
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "ladybird";
|
||||
version = "0-unstable-2024-03-16";
|
||||
version = "0-unstable-2024-05-26";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "SerenityOS";
|
||||
repo = "serenity";
|
||||
rev = "3a8bde9ef24dace600484b38992fdc7d17bf92c3";
|
||||
hash = "sha256-r8HYcexrOjDYsXuCtROiNY7Rl60pVQBvVQf190gqNuY=";
|
||||
rev = "1a9d8e8fbe360f2d3b376ca0e13c507bd2cc6e8b";
|
||||
hash = "sha256-+g/1F/v8nTVbvtSrtyvQbeYacjTlfRpg+Htu0lRlkcU=";
|
||||
};
|
||||
|
||||
sourceRoot = "${finalAttrs.src.name}/Ladybird";
|
||||
@ -74,6 +74,12 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
# Setup caches for LibLocale, LibUnicode, LibTimezone, LibTLS and LibGfx
|
||||
# Note that the versions of the input data packages must match the
|
||||
# expected version in the package's CMake.
|
||||
|
||||
# Check that the versions match
|
||||
grep -F 'set(CLDR_VERSION "${cldr_version}")' ../Meta/CMake/locale_data.cmake || (echo cldr_version mismatch && exit 1)
|
||||
grep -F 'set(TZDB_VERSION "${tzdata.version}")' ../Meta/CMake/time_zone_data.cmake || (echo tzdata.version mismatch && exit 1)
|
||||
grep -F 'set(CACERT_VERSION "${cacert_version}")' ../Meta/CMake/ca_certificates_data.cmake || (echo cacert_version mismatch && exit 1)
|
||||
|
||||
mkdir -p build/Caches
|
||||
|
||||
ln -s ${cldr-json} build/Caches/CLDR
|
||||
|
@ -20,7 +20,7 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "palemoon-bin";
|
||||
version = "33.1.0";
|
||||
version = "33.1.1";
|
||||
|
||||
src = finalAttrs.passthru.sources."gtk${if withGTK3 then "3" else "2"}";
|
||||
|
||||
@ -158,11 +158,11 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
in {
|
||||
gtk3 = fetchzip {
|
||||
urls = urlRegionVariants "gtk3";
|
||||
hash = "sha256-qjztSvNL7KNFG3sszgk5qH77do0HFQ8YTrgjFi2ZM00=";
|
||||
hash = "sha256-0i0hXC6mC1SY2V6ANMXHS4LZ/HZk8FUsSDQfQUE14IM=";
|
||||
};
|
||||
gtk2 = fetchzip {
|
||||
urls = urlRegionVariants "gtk2";
|
||||
hash = "sha256-q4zAmnCN9SHGb8PthjAx7d5FKq/oAQ8c0R+U1SWqjAA=";
|
||||
hash = "sha256-RnBlCxIsWxm6BbtAS0YKHtix93N6t9jihFItqhtLhRU=";
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -110,7 +110,7 @@ stdenv.mkDerivation rec {
|
||||
longDescription = "GNOME Calls is a phone dialer and call handler. Setting NixOS option `programs.calls.enable = true` is recommended.";
|
||||
homepage = "https://gitlab.gnome.org/GNOME/calls";
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = with maintainers; [ craigem lheckemann tomfitzhenry ];
|
||||
maintainers = with maintainers; [ craigem lheckemann ];
|
||||
platforms = platforms.linux;
|
||||
mainProgram = "gnome-calls";
|
||||
};
|
||||
|
@ -2,13 +2,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "cilium-cli";
|
||||
version = "0.16.7";
|
||||
version = "0.16.8";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "cilium";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-+Uxn9yR3D38CuvFeBA62aWLtY4rPrBJoF3tUmgKvKpw=";
|
||||
hash = "sha256-SJWLWyjTdBilba+wsdpVS6i/OlQNlxZ5vjJTLheybSU=";
|
||||
};
|
||||
|
||||
vendorHash = null;
|
||||
|
@ -1,8 +1,8 @@
|
||||
{
|
||||
k3sVersion = "1.28.9+k3s1";
|
||||
k3sCommit = "289a1a3edbc0f6ee5a7f91bf96aa1ed1b743bd1f";
|
||||
k3sRepoSha256 = "0kms6r10k6v037r5lxxrp90bnynrgyrn61kqnzy2f5avny4blikh";
|
||||
k3sVendorHash = "sha256-iUp2Maua3BnrC4Jq2ij0uOW5gYYZfz6e+TEdDtN0PT8=";
|
||||
k3sVersion = "1.28.10+k3s1";
|
||||
k3sCommit = "a4c5612ea3dd202135e7c691c534c671a7d43690";
|
||||
k3sRepoSha256 = "00r06kc98nvbmaai8m2pbqsl0v6y3kbc3rz3l7lb9wy4qhiyxrww";
|
||||
k3sVendorHash = "sha256-8PbpjPVX+Yimhwbydu9YOTIMRTf/iLG21Ee/QMowp5Y=";
|
||||
chartVersions = import ./chart-versions.nix;
|
||||
k3sRootVersion = "0.12.2";
|
||||
k3sRootSha256 = "1gjynvr350qni5mskgm7pcc7alss4gms4jmkiv453vs8mmma9c9k";
|
||||
|
@ -1,7 +1,7 @@
|
||||
GEM
|
||||
remote: https://rubygems.org/
|
||||
specs:
|
||||
activesupport (7.1.3.2)
|
||||
activesupport (7.1.3.3)
|
||||
base64
|
||||
bigdecimal
|
||||
concurrent-ruby (~> 1.0, >= 1.0.2)
|
||||
@ -54,7 +54,7 @@ GEM
|
||||
multi_json
|
||||
jwt (2.8.1)
|
||||
base64
|
||||
krane (3.5.3)
|
||||
krane (3.6.0)
|
||||
activesupport (>= 5.0)
|
||||
colorize (~> 0.8)
|
||||
concurrent-ruby (~> 1.1)
|
||||
@ -76,7 +76,7 @@ GEM
|
||||
mime-types (3.5.2)
|
||||
mime-types-data (~> 3.2015)
|
||||
mime-types-data (3.2024.0507)
|
||||
minitest (5.22.3)
|
||||
minitest (5.23.1)
|
||||
multi_json (1.15.0)
|
||||
mutex_m (0.2.0)
|
||||
net-http (0.4.1)
|
||||
|
@ -5,10 +5,10 @@
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0blbbf2x7dn7ar4g9aij403582zb6zscbj48bz63lvaamsvlb15d";
|
||||
sha256 = "0z8kygxmz99krz9pwp947znkzf0jr64sml28df0vf1gzxlg7y57i";
|
||||
type = "gem";
|
||||
};
|
||||
version = "7.1.3.2";
|
||||
version = "7.1.3.3";
|
||||
};
|
||||
addressable = {
|
||||
dependencies = ["public_suffix"];
|
||||
@ -247,10 +247,10 @@
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "11jj5fpfsb1sfwgc356xv1vxl8yq65wbbshmawpagk555y0pzbpb";
|
||||
sha256 = "08dkvcmxa869pk6qdpsvljy16lb1kj94cgr4w9bhg93gx3m642v6";
|
||||
type = "gem";
|
||||
};
|
||||
version = "3.5.3";
|
||||
version = "3.6.0";
|
||||
};
|
||||
kubeclient = {
|
||||
dependencies = ["http" "jsonpath" "recursive-open-struct" "rest-client"];
|
||||
@ -300,10 +300,10 @@
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "07lq26b86giy3ha3fhrywk9r1ajhc2pm2mzj657jnpnbj1i6g17a";
|
||||
sha256 = "1gkslxvkhh44s21rbjvka3zsvfxxrf5pcl6f75rv2vyrzzbgis7i";
|
||||
type = "gem";
|
||||
};
|
||||
version = "5.22.3";
|
||||
version = "5.23.1";
|
||||
};
|
||||
multi_json = {
|
||||
groups = ["default"];
|
||||
|
@ -17,7 +17,7 @@ buildGoModule rec {
|
||||
|
||||
ldflags = [
|
||||
"-s" "-w"
|
||||
"-X github.com/inspektor-gadget/inspektor-gadget/cmd/common.version=v${version}"
|
||||
"-X github.com/inspektor-gadget/inspektor-gadget/internal/version.version=v${version}"
|
||||
"-X main.gadgetimage=ghcr.io/inspektor-gadget/inspektor-gadget:v${version}"
|
||||
"-extldflags=-static"
|
||||
];
|
||||
|
@ -82,9 +82,9 @@ rec {
|
||||
|
||||
nomad_1_7 = generic {
|
||||
buildGoModule = buildGo121Module;
|
||||
version = "1.7.7";
|
||||
sha256 = "sha256-4nuRheidR6rIoytrnDQdIP69f+sBLJ3Ias5DvqVaLFc=";
|
||||
vendorHash = "sha256-ZuaD8iDsT+/eW0QUavf485R804Jtjl76NcQWYHA8QII=";
|
||||
version = "1.8.0";
|
||||
sha256 = "sha256-j/9wvnxYhv6h344904cO2Fi6pNeSV5IfcqS4mSjDqpo=";
|
||||
vendorHash = "sha256-jNdLLs/mfARl5Uk9RalwSDFLAKqIISEkek3l1wV8EYE=";
|
||||
license = lib.licenses.bsl11;
|
||||
passthru.tests.nomad = nixosTests.nomad;
|
||||
preCheck = ''
|
||||
|
25
pkgs/applications/networking/cluster/rke2/README.md
Normal file
25
pkgs/applications/networking/cluster/rke2/README.md
Normal file
@ -0,0 +1,25 @@
|
||||
# RKE2 Version
|
||||
|
||||
RKE2, Kubernetes, and other clustered software has the property of not being able to update atomically. Most software in nixpkgs, like for example bash, can be updated as part of a `nixos-rebuild switch` without having to worry about the old and the new bash interacting in some way.
|
||||
|
||||
> [!NOTE]
|
||||
> Upgrade the server nodes first, one at a time. Once all servers have been upgraded, you may then upgrade agent nodes.
|
||||
|
||||
## Release Channels
|
||||
|
||||
RKE2 has there own release channels, which are: `stable`, `latest` and `testing`.
|
||||
|
||||
The `stable` channel is the default channel and is recommended for production use. The `latest` channel is the latest stable release. The `testing` channel is the latest release, including pre-releases.
|
||||
|
||||
| Channel | Description |
|
||||
| --------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `stable` | **(Default)** Stable is recommended for production environments. These releases have been through a period of community hardening, and are compatible with the most recent release of Rancher. |
|
||||
| `latest` | Latest is recommended for trying out the latest features. These releases have not yet been through a period of community hardening, and may not be compatible with Rancher. |
|
||||
| `testing` | The most recent release, including pre-releases. |
|
||||
|
||||
Learn more about the [RKE2 release channels](https://docs.rke2.io/upgrade/manual_upgrade).
|
||||
|
||||
For an exhaustive and up-to-date list of channels, you can visit the [rke2 channel service API](https://update.rke2.io/v1-release/channels). For more technical details on how channels work, you can see the [channelserver project](https://github.com/rancher/channelserver).
|
||||
|
||||
> [!TIP]
|
||||
> When attempting to upgrade to a new version of RKE2, the [Kubernetes version skew policy](https://kubernetes.io/docs/setup/release/version-skew-policy) applies. Ensure that your plan does not skip intermediate minor versions when upgrading. Nothing in the upgrade process will protect against unsupported changes to the Kubernetes version.
|
99
pkgs/applications/networking/cluster/rke2/builder.nix
Normal file
99
pkgs/applications/networking/cluster/rke2/builder.nix
Normal file
@ -0,0 +1,99 @@
|
||||
lib: { rke2Version, rke2RepoSha256, rke2VendorHash, updateScript
|
||||
|
||||
, rke2Commit, k8sImageTag, etcdVersion, pauseVersion, ccmVersion, dockerizedVersion, ... }:
|
||||
|
||||
{ lib, stdenv, buildGoModule, go, fetchgit, makeWrapper
|
||||
|
||||
# Runtime dependencies
|
||||
, procps, coreutils, util-linux, ethtool, socat, iptables, bridge-utils, iproute2, kmod, lvm2
|
||||
|
||||
# Testing dependencies
|
||||
, nixosTests, testers, rke2
|
||||
}:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "rke2";
|
||||
version = rke2Version;
|
||||
|
||||
src = fetchgit {
|
||||
url = "https://github.com/rancher/rke2.git";
|
||||
rev = "v${version}";
|
||||
sha256 = rke2RepoSha256;
|
||||
};
|
||||
|
||||
vendorHash = rke2VendorHash;
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
# Important utilities used by the kubelet.
|
||||
# See: https://github.com/kubernetes/kubernetes/issues/26093#issuecomment-237202494
|
||||
# Notice the list in that issue is stale, but as a redundancy reservation.
|
||||
buildInputs = [
|
||||
procps # pidof pkill
|
||||
coreutils # uname touch env nice du
|
||||
util-linux # lsblk fsck mkfs nsenter mount umount
|
||||
ethtool # ethtool
|
||||
socat # socat
|
||||
iptables # iptables iptables-restore iptables-save
|
||||
bridge-utils # brctl
|
||||
iproute2 # ip tc
|
||||
kmod # modprobe
|
||||
lvm2 # dmsetup
|
||||
];
|
||||
|
||||
# See: https://github.com/rancher/rke2/blob/e7f87c6dd56fdd76a7dab58900aeea8946b2c008/scripts/build-binary#L27-L38
|
||||
ldflags = [
|
||||
"-w"
|
||||
"-X github.com/k3s-io/k3s/pkg/version.GitCommit=${lib.substring 0 6 rke2Commit}"
|
||||
"-X github.com/k3s-io/k3s/pkg/version.Program=${pname}"
|
||||
"-X github.com/k3s-io/k3s/pkg/version.Version=v${version}"
|
||||
"-X github.com/k3s-io/k3s/pkg/version.UpstreamGolang=go${go.version}"
|
||||
"-X github.com/rancher/rke2/pkg/images.DefaultRegistry=docker.io"
|
||||
"-X github.com/rancher/rke2/pkg/images.DefaultEtcdImage=rancher/hardened-etcd:${etcdVersion}-build20240418"
|
||||
"-X github.com/rancher/rke2/pkg/images.DefaultKubernetesImage=rancher/hardened-kubernetes:${k8sImageTag}"
|
||||
"-X github.com/rancher/rke2/pkg/images.DefaultPauseImage=rancher/mirrored-pause:${pauseVersion}"
|
||||
"-X github.com/rancher/rke2/pkg/images.DefaultRuntimeImage=rancher/rke2-runtime:${dockerizedVersion}"
|
||||
"-X github.com/rancher/rke2/pkg/images.DefaultCloudControllerManagerImage=rancher/rke2-cloud-provider:${ccmVersion}"
|
||||
];
|
||||
|
||||
tags = [
|
||||
"no_cri_dockerd"
|
||||
"no_embedded_executor"
|
||||
"no_stage"
|
||||
"sqlite_omit_load_extension"
|
||||
"selinux"
|
||||
"netgo"
|
||||
"osusergo"
|
||||
];
|
||||
|
||||
subPackages = [ "." ];
|
||||
|
||||
installPhase = ''
|
||||
install -D $GOPATH/bin/rke2 $out/bin/rke2
|
||||
wrapProgram $out/bin/rke2 \
|
||||
--prefix PATH : ${lib.makeBinPath buildInputs}
|
||||
'';
|
||||
|
||||
doCheck = false;
|
||||
|
||||
passthru.updateScript = updateScript;
|
||||
|
||||
passthru.tests = {
|
||||
version = testers.testVersion {
|
||||
package = rke2;
|
||||
version = "v${version}";
|
||||
};
|
||||
} // lib.optionalAttrs stdenv.isLinux {
|
||||
inherit (nixosTests) rke2;
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/rancher/rke2";
|
||||
description = "RKE2, also known as RKE Government, is Rancher's next-generation Kubernetes distribution.";
|
||||
changelog = "https://github.com/rancher/rke2/releases/tag/v${version}";
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ zimbatm zygot ];
|
||||
mainProgram = "rke2";
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
@ -1,79 +1,19 @@
|
||||
{ lib, stdenv, buildGoModule, fetchFromGitHub, makeWrapper, nix-update-script
|
||||
{ lib, callPackage, ... }@args:
|
||||
|
||||
# Runtime dependencies
|
||||
, procps, coreutils, util-linux, ethtool, socat, iptables, bridge-utils, iproute2, kmod, lvm2
|
||||
let
|
||||
common = opts: callPackage (import ./builder.nix lib opts);
|
||||
extraArgs = builtins.removeAttrs args [ "callPackage" ];
|
||||
in
|
||||
{
|
||||
rke2_stable = common ((import ./stable/versions.nix) // {
|
||||
updateScript = [ ./update-script.sh "stable" ];
|
||||
}) extraArgs;
|
||||
|
||||
# Testing dependencies
|
||||
, nixosTests, testers, rke2
|
||||
}:
|
||||
rke2_latest = common ((import ./latest/versions.nix) // {
|
||||
updateScript = [ ./update-script.sh "latest" ];
|
||||
}) extraArgs;
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "rke2";
|
||||
version = "1.29.0+rke2r1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "rancher";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-E59GUcbnbvsGZYn87RGNrGTVUsydKsjL+C5h15q74p0=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-Og0CqxNnhRN6PdggneGK05uprZ2D7lux/snXcArIm8Q=";
|
||||
|
||||
postPatch = ''
|
||||
# Patch the build scripts so they work in the Nix build environment.
|
||||
patchShebangs ./scripts
|
||||
|
||||
# Disable the static build as it breaks.
|
||||
sed -e 's/STATIC_FLAGS=.*/STATIC_FLAGS=/g' -i scripts/build-binary
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
# Important utilities used by the kubelet.
|
||||
# See: https://github.com/kubernetes/kubernetes/issues/26093#issuecomment-237202494
|
||||
# Notice the list in that issue is stale, but as a redundancy reservation.
|
||||
buildInputs = [
|
||||
procps # pidof pkill
|
||||
coreutils # uname touch env nice du
|
||||
util-linux # lsblk fsck mkfs nsenter mount umount
|
||||
ethtool # ethtool
|
||||
socat # socat
|
||||
iptables # iptables iptables-restore iptables-save
|
||||
bridge-utils # brctl
|
||||
iproute2 # ip tc
|
||||
kmod # modprobe
|
||||
lvm2 # dmsetup
|
||||
];
|
||||
|
||||
buildPhase = ''
|
||||
DRONE_TAG="v${version}" ./scripts/build-binary
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
install -D ./bin/rke2 $out/bin/rke2
|
||||
wrapProgram $out/bin/rke2 \
|
||||
--prefix PATH : ${lib.makeBinPath buildInputs}
|
||||
'';
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
passthru.tests = {
|
||||
version = testers.testVersion {
|
||||
package = rke2;
|
||||
version = "v${version}";
|
||||
};
|
||||
} // lib.optionalAttrs stdenv.isLinux {
|
||||
inherit (nixosTests) rke2;
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/rancher/rke2";
|
||||
description = "RKE2, also known as RKE Government, is Rancher's next-generation Kubernetes distribution.";
|
||||
changelog = "https://github.com/rancher/rke2/releases/tag/v${version}";
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ zimbatm zygot ];
|
||||
mainProgram = "rke2";
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
rke2_testing = common ((import ./testing/versions.nix) // {
|
||||
updateScript = [ ./update-script.sh "testing" ];
|
||||
}) extraArgs;
|
||||
}
|
||||
|
@ -0,0 +1,14 @@
|
||||
{
|
||||
rke2Version = "1.30.1+rke2r1";
|
||||
rke2RepoSha256 = "0jrvvpj9fnlbykyr06w1f92ay708xzaizg8dhg1z4bsq1cdgs33k";
|
||||
rke2Commit = "e7f87c6dd56fdd76a7dab58900aeea8946b2c008";
|
||||
rke2VendorHash = "sha256-QqV8mSbqa8A5zABHQoVB2jht/eYCoqTZ/WoAqIl9oZY=";
|
||||
k8sVersion = "v1.30.1";
|
||||
k8sImageTag = "v1.30.1-rke2r1-build20240515";
|
||||
etcdVersion = "v3.5.9-k3s1";
|
||||
pauseVersion = "3.6";
|
||||
ccmVersion = "v1.29.3-build20240412";
|
||||
dockerizedVersion = "v1.30.1-rke2r1";
|
||||
golangVersion = "go1.22.2";
|
||||
eol = "2025-06-28";
|
||||
}
|
@ -0,0 +1,14 @@
|
||||
{
|
||||
rke2Version = "1.28.10+rke2r1";
|
||||
rke2RepoSha256 = "1pbanikvrl6rqrplrpvjc9ym8qq1yrs621gwy99shp0prfw5zvsx";
|
||||
rke2Commit = "b0d0d687d98f4fa015e7b30aaf2807b50edcc5d7";
|
||||
rke2VendorHash = "sha256-iidkTSrrHyW5ZEouzHAWUwCC9nplGz1v/E9bM2lMPeM=";
|
||||
k8sVersion = "v1.28.10";
|
||||
k8sImageTag = "v1.28.10-rke2r1-build20240514";
|
||||
etcdVersion = "v3.5.9-k3s1";
|
||||
pauseVersion = "3.6";
|
||||
ccmVersion = "v1.29.3-build20240412";
|
||||
dockerizedVersion = "v1.28.10-rke2r1";
|
||||
golangVersion = "go1.21.9";
|
||||
eol = "2024-10-28";
|
||||
}
|
@ -0,0 +1,14 @@
|
||||
{
|
||||
rke2Version = "1.30.1-rc3+rke2r1";
|
||||
rke2RepoSha256 = "0jrvvpj9fnlbykyr06w1f92ay708xzaizg8dhg1z4bsq1cdgs33k";
|
||||
rke2Commit = "e7f87c6dd56fdd76a7dab58900aeea8946b2c008";
|
||||
rke2VendorHash = "sha256-QqV8mSbqa8A5zABHQoVB2jht/eYCoqTZ/WoAqIl9oZY=";
|
||||
k8sVersion = "v1.30.1";
|
||||
k8sImageTag = "v1.30.1-rke2r1-build20240515";
|
||||
etcdVersion = "v3.5.9-k3s1";
|
||||
pauseVersion = "3.6";
|
||||
ccmVersion = "v1.29.3-build20240412";
|
||||
dockerizedVersion = "v1.30.1-rc3-rke2r1";
|
||||
golangVersion = "go1.22.2";
|
||||
eol = "2025-06-28";
|
||||
}
|
86
pkgs/applications/networking/cluster/rke2/update-script.sh
Executable file
86
pkgs/applications/networking/cluster/rke2/update-script.sh
Executable file
@ -0,0 +1,86 @@
|
||||
#!/usr/bin/env nix-shell
|
||||
#!nix-shell -i bash -p curl git gnugrep gnused yq-go nix-prefetch
|
||||
|
||||
set -x -eu -o pipefail
|
||||
|
||||
CHANNEL_NAME="${1:?Must provide a release channel, like 'stable', as the only argument}"
|
||||
|
||||
mkdir --parents --verbose ./${CHANNEL_NAME}
|
||||
|
||||
LATEST_TAG_NAME=$(curl --silent --fail https://update.rke2.io/v1-release/channels | \
|
||||
yq eval ".data[] | select(.id == \"${CHANNEL_NAME}\").latest" - | \
|
||||
sort -rV | grep --extended-regexp "^v[0-9]+\.[0-9]+\.[0-9]+" | head -n1)
|
||||
|
||||
RKE2_VERSION=$(echo ${LATEST_TAG_NAME} | sed 's/^v//')
|
||||
|
||||
RKE2_REPO_SHA256=$(nix-prefetch-url --quiet --unpack \
|
||||
https://github.com/rancher/rke2/archive/refs/tags/${LATEST_TAG_NAME}.tar.gz)
|
||||
|
||||
RKE2_COMMIT=$(curl --silent --fail ${GITHUB_TOKEN:+-u ":${GITHUB_TOKEN}"} \
|
||||
https://api.github.com/repos/rancher/rke2/git/refs/tags | \
|
||||
yq eval ".[] | select(.ref == \"refs/tags/${LATEST_TAG_NAME}\").object.sha" -)
|
||||
|
||||
VERSIONS_SCRIPT=$(mktemp --suffix ".${RKE2_COMMIT:0:6}.sh")
|
||||
trap "rm --force ${VERSIONS_SCRIPT}" EXIT
|
||||
|
||||
curl --silent --fail --output ${VERSIONS_SCRIPT} \
|
||||
https://raw.githubusercontent.com/rancher/rke2/${RKE2_COMMIT}/scripts/version.sh
|
||||
|
||||
set +eu
|
||||
DRONE_TAG=${LATEST_TAG_NAME} source ${VERSIONS_SCRIPT}
|
||||
set -eu
|
||||
|
||||
KUBERNETES_CYCLES=$(echo ${KUBERNETES_VERSION} | grep -Eo "[0-9]+\.[0-9]+")
|
||||
KUBERNETES_EOL=$(curl --silent --fail \
|
||||
https://endoflife.date/api/kubernetes/${KUBERNETES_CYCLES}.json | \
|
||||
yq eval ".eol" -)
|
||||
|
||||
FAKE_HASH="sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=";
|
||||
|
||||
cat > ./${CHANNEL_NAME}/versions.nix << EOF
|
||||
{
|
||||
rke2Version = "${RKE2_VERSION}";
|
||||
rke2RepoSha256 = "${RKE2_REPO_SHA256}";
|
||||
rke2Commit = "${RKE2_COMMIT}";
|
||||
rke2VendorHash = "${FAKE_HASH}";
|
||||
k8sVersion = "${KUBERNETES_VERSION}";
|
||||
k8sImageTag = "${KUBERNETES_IMAGE_TAG}";
|
||||
etcdVersion = "${ETCD_VERSION}";
|
||||
pauseVersion = "${PAUSE_VERSION}";
|
||||
ccmVersion = "${CCM_VERSION}";
|
||||
dockerizedVersion = "${DOCKERIZED_VERSION}";
|
||||
golangVersion = "${VERSION_GOLANG}";
|
||||
eol = "${KUBERNETES_EOL}";
|
||||
}
|
||||
EOF
|
||||
|
||||
NIXPKGS_ROOT=$(git rev-parse --show-toplevel)
|
||||
|
||||
set +e
|
||||
RKE2_VENDOR_HASH=$(nix-prefetch -I nixpkgs=${NIXPKGS_ROOT} \
|
||||
"{ sha256 }: (import ${NIXPKGS_ROOT}/. {}).rke2_${CHANNEL_NAME}.goModules.overrideAttrs (_: { vendorHash = sha256; })")
|
||||
set -e
|
||||
|
||||
if [ -n "${RKE2_VENDOR_HASH:-}" ]; then
|
||||
sed -i "s#${FAKE_HASH}#${RKE2_VENDOR_HASH}#g" ./${CHANNEL_NAME}/versions.nix
|
||||
else
|
||||
echo "Update failed. 'RKE2_VENDOR_HASH' is empty."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Implement commit
|
||||
# See: https://nixos.org/manual/nixpkgs/stable/#var-passthru-updateScript-commit
|
||||
OLD_VERSION=$(nix-instantiate --eval -E \
|
||||
"with import ${NIXPKGS_ROOT}/. {}; rke2.version or (builtins.parseDrvName rke2.name).version" | \
|
||||
tr -d '"')
|
||||
|
||||
cat << EOF
|
||||
[{
|
||||
"attrPath": "rke2_${CHANNEL_NAME}",
|
||||
"oldVersion": "${OLD_VERSION}",
|
||||
"newVersion": "${RKE2_VERSION}",
|
||||
"files": [
|
||||
"${PWD}/${CHANNEL_NAME}/versions.nix"
|
||||
]
|
||||
}]
|
||||
EOF
|
@ -10,16 +10,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "werf";
|
||||
version = "2.1.0";
|
||||
version = "2.3.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "werf";
|
||||
repo = "werf";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-Qur3TzFkHbPICHiJLUSp1i1uGCBIft5sp92voLR8Ics=";
|
||||
hash = "sha256-nodWxHLVg5bSuixQirAsVfQZ1g38IgZJEl/3O/b3NIE=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-kpW72OnK5YybW5YuW2eTleso0fgyDfgbJRK4QSP8ocQ=";
|
||||
vendorHash = "sha256-mAA5S9t+mHMxSV8l7H9XxJ80k4pJRWDDZ0BSJrmQO1I=";
|
||||
|
||||
proxyVendor = true;
|
||||
|
||||
|
@ -1,6 +1,5 @@
|
||||
{ lib
|
||||
, python3
|
||||
, fetchPypi
|
||||
, fetchFromGitHub
|
||||
}:
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ lib, fetchurl, fetchFromGitLab, gettext, wrapGAppsHook3
|
||||
{ lib, fetchurl, gettext, wrapGAppsHook3
|
||||
|
||||
# Native dependencies
|
||||
, python3, gtk3, gobject-introspection, gnome
|
||||
|
@ -1,99 +0,0 @@
|
||||
{ lib, stdenv, fetchFromGitHub, gradle_6, perl, jre, makeWrapper, makeDesktopItem, mplayer }:
|
||||
|
||||
let
|
||||
version = "6.6.7-build-529";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "frostwire";
|
||||
repo = "frostwire";
|
||||
rev = "frostwire-desktop-${version}";
|
||||
sha256 = "03wdj2kr8akzx8m1scvg98132zbaxh81qjdsxn2645b3gahjwz0m";
|
||||
};
|
||||
|
||||
desktopItem = makeDesktopItem {
|
||||
name = "frostwire";
|
||||
desktopName = "FrostWire";
|
||||
genericName = "P2P Bittorrent client";
|
||||
exec = "frostwire";
|
||||
icon = "frostwire";
|
||||
comment = "Search and explore all kinds of files on the Bittorrent network";
|
||||
categories = [ "Network" "FileTransfer" "P2P" ];
|
||||
};
|
||||
|
||||
# fake build to pre-download deps into fixed-output derivation
|
||||
deps = stdenv.mkDerivation {
|
||||
pname = "frostwire-desktop-deps";
|
||||
inherit version src;
|
||||
buildInputs = [ gradle_6 perl ];
|
||||
buildPhase = ''
|
||||
export GRADLE_USER_HOME=$(mktemp -d)
|
||||
( cd desktop
|
||||
gradle --no-daemon build
|
||||
)
|
||||
'';
|
||||
# perl code mavenizes pathes (com.squareup.okio/okio/1.13.0/a9283170b7305c8d92d25aff02a6ab7e45d06cbe/okio-1.13.0.jar -> com/squareup/okio/okio/1.13.0/okio-1.13.0.jar)
|
||||
installPhase = ''
|
||||
find $GRADLE_USER_HOME -type f -regex '.*\.\(jar\|pom\)' \
|
||||
| perl -pe 's#(.*/([^/]+)/([^/]+)/([^/]+)/[0-9a-f]{30,40}/([^/\s]+))$# ($x = $2) =~ tr|\.|/|; "install -Dm444 $1 \$out/$x/$3/$4/$5" #e' \
|
||||
| sh
|
||||
'';
|
||||
outputHashAlgo = "sha256";
|
||||
outputHashMode = "recursive";
|
||||
outputHash = "sha256-r6YSrbSJbM3063JrX4tCVKFrJxTaLN4Trc+33jzpwcE=";
|
||||
};
|
||||
|
||||
in stdenv.mkDerivation {
|
||||
pname = "frostwire-desktop";
|
||||
inherit version src;
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
buildInputs = [ gradle_6 ];
|
||||
|
||||
buildPhase = ''
|
||||
export GRADLE_USER_HOME=$(mktemp -d)
|
||||
( cd desktop
|
||||
|
||||
# disable auto-update (anyway it won't update frostwire installed in nix store)
|
||||
substituteInPlace src/com/frostwire/gui/updates/UpdateManager.java \
|
||||
--replace 'um.checkForUpdates' '// um.checkForUpdates'
|
||||
|
||||
# fix path to mplayer
|
||||
substituteInPlace src/com/frostwire/gui/player/MediaPlayerLinux.java \
|
||||
--replace /usr/bin/mplayer ${mplayer}/bin/mplayer
|
||||
|
||||
substituteInPlace build.gradle \
|
||||
--replace 'mavenCentral()' 'mavenLocal(); maven { url uri("${deps}") }'
|
||||
gradle --offline --no-daemon build
|
||||
)
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/lib $out/share/java
|
||||
|
||||
cp desktop/build/libs/frostwire.jar $out/share/java/frostwire.jar
|
||||
|
||||
cp ${ { x86_64-darwin = "desktop/lib/native/*.dylib";
|
||||
x86_64-linux = "desktop/lib/native/lib{jlibtorrent,SystemUtilities}.so";
|
||||
i686-linux = "desktop/lib/native/lib{jlibtorrent,SystemUtilities}X86.so";
|
||||
}.${stdenv.hostPlatform.system} or (throw "unsupported system ${stdenv.hostPlatform.system}")
|
||||
} $out/lib
|
||||
|
||||
cp -dpR ${desktopItem}/share $out
|
||||
|
||||
makeWrapper ${jre}/bin/java $out/bin/frostwire \
|
||||
--add-flags "-Djava.library.path=$out/lib -jar $out/share/java/frostwire.jar"
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://www.frostwire.com/";
|
||||
description = "BitTorrent Client and Cloud File Downloader";
|
||||
sourceProvenance = with sourceTypes; [
|
||||
fromSource
|
||||
binaryBytecode # deps
|
||||
];
|
||||
license = licenses.gpl2;
|
||||
maintainers = with maintainers; [ gavin ];
|
||||
platforms = [ "x86_64-darwin" "x86_64-linux" "i686-linux" ];
|
||||
broken = true; # at 2022-09-30, errors with changing hash.
|
||||
};
|
||||
}
|
@ -5,18 +5,18 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "storj-uplink";
|
||||
version = "1.104.5";
|
||||
version = "1.105.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "storj";
|
||||
repo = "storj";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-tzAArj813Hn/iH3LEsz1bytoOr2GfI5kyKZdXNgYwSE=";
|
||||
hash = "sha256-uoMjV0ab/H8WXWawWM9CB/mGTh9odrfmKehRz6A9/Xo=";
|
||||
};
|
||||
|
||||
subPackages = [ "cmd/uplink" ];
|
||||
|
||||
vendorHash = "sha256-Eo6JHcTcfC8zmKZh9sXrZ90RhIgdEBgTldIUnvNm8ms=";
|
||||
vendorHash = "sha256-HlnnWmjYL/j5RvRKFtEE4ib477erA94aQ+HSF+sCiuA=";
|
||||
|
||||
ldflags = [ "-s" "-w" ];
|
||||
|
||||
|
@ -7,7 +7,7 @@
|
||||
, pkg-config
|
||||
, vala
|
||||
, wrapGAppsHook4
|
||||
, evolution-data-server
|
||||
, evolution-data-server-gtk4
|
||||
, glib
|
||||
, glib-networking
|
||||
, gst_all_1
|
||||
@ -47,7 +47,7 @@ stdenv.mkDerivation rec {
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
evolution-data-server
|
||||
evolution-data-server-gtk4
|
||||
glib
|
||||
glib-networking
|
||||
# Needed for GtkMediaStream creation with success.ogg, see #311295.
|
||||
|
@ -1,6 +1,5 @@
|
||||
{ lib
|
||||
, mkDerivation
|
||||
, fetchFromGitLab
|
||||
|
||||
, cmake
|
||||
, extra-cmake-modules
|
||||
|
@ -10,13 +10,13 @@
|
||||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "chirp";
|
||||
version = "0.4.0-unstable-2024-05-23";
|
||||
version = "0.4.0-unstable-2024-05-24";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "kk7ds";
|
||||
repo = "chirp";
|
||||
rev = "743c98a579018238595f6e022e38e4f97f23140d";
|
||||
hash = "sha256-ooadPzP9UIhMHbl5v2H3eV0uZQqnNCXpwRjgbD8tFjA=";
|
||||
rev = "e17c021ba4fc39eea8a2a1de37ef04a0d1253090";
|
||||
hash = "sha256-YvIRo7g9fxnlf8og5CM2JLf8DeADVkcHdvb4ppS1veE=";
|
||||
};
|
||||
buildInputs = [
|
||||
glib
|
||||
|
@ -52,13 +52,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "sdrangel";
|
||||
version = "7.21.0";
|
||||
version = "7.21.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "f4exb";
|
||||
repo = "sdrangel";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-TbOGuxFFBSjva1dbZxd2oQJs6X43QWYSU6VjlXKlDfk=";
|
||||
hash = "sha256-l80CgR8Io4HlSuUU3HWM1sInKSRH+F0N55CIWdu/tao=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -6,13 +6,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "opensmt";
|
||||
version = "2.6.0";
|
||||
version = "2.7.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "usi-verification-and-security";
|
||||
repo = "opensmt";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-glIiyPSkLG7sGYw5ujfl47GuDuPIPdP+UybA1vSn0Uw=";
|
||||
sha256 = "sha256-zhNNnwc41B4sNq50kPub29EYhqV+FoDKRD/CLHnVyZw=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake bison flex ];
|
||||
|
@ -1,31 +0,0 @@
|
||||
{ mkDerivation
|
||||
, async, base, bytestring, containers, fetchFromGitLab, mtl
|
||||
, parallel-io, parsec, lib, stm, transformers, sbv_7_13}:
|
||||
|
||||
mkDerivation rec {
|
||||
pname = "petrinizer";
|
||||
version = "0.9.1.1";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
domain = "gitlab.lrz.de";
|
||||
owner = "i7";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "1n7fzm96gq5rxm2f8w8sr1yzm1zcxpf0b473c6xnhsgqsis5j4xw";
|
||||
};
|
||||
|
||||
isLibrary = false;
|
||||
isExecutable = true;
|
||||
executableHaskellDepends = [
|
||||
async base bytestring containers mtl parallel-io parsec sbv_7_13 stm
|
||||
transformers
|
||||
];
|
||||
description = "Safety and Liveness Analysis of Petri Nets with SMT solvers";
|
||||
license = lib.licenses.gpl3;
|
||||
maintainers = with lib.maintainers; [ raskin ];
|
||||
inherit (sbv_7_13.meta) platforms;
|
||||
|
||||
# dependency sbv no longer builds
|
||||
hydraPlatforms = lib.platforms.none;
|
||||
broken = true;
|
||||
}
|
@ -15,13 +15,13 @@
|
||||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "terminator";
|
||||
version = "2.1.3";
|
||||
version = "2.1.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "gnome-terminator";
|
||||
repo = "terminator";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-Kx0z9oheA7Ihgsyg6zgPcGFMrqlXoIpQcL/dMqPB2qA=";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-0468d/sAM/UOiaSspwWaOGogoE8/Idth0G4CMCXWFFo=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -1,6 +1,5 @@
|
||||
{ lib
|
||||
, fetchFromGitLab
|
||||
, fetchFromGitHub
|
||||
, buildGoModule
|
||||
, pkg-config
|
||||
}:
|
||||
|
@ -26,7 +26,7 @@
|
||||
, numactl
|
||||
, writeText
|
||||
# Processing, video codecs, containers
|
||||
, ffmpeg-full
|
||||
, ffmpeg_7-full
|
||||
, nv-codec-headers
|
||||
, libogg
|
||||
, x264
|
||||
@ -69,14 +69,14 @@
|
||||
# for now we disable GTK GUI support on Darwin. (It may be possible to remove
|
||||
# this restriction later.)
|
||||
, useGtk ? !stdenv.isDarwin
|
||||
, bzip2
|
||||
, appstream
|
||||
, desktop-file-utils
|
||||
, meson
|
||||
, ninja
|
||||
, wrapGAppsHook3
|
||||
, wrapGAppsHook4
|
||||
, intltool
|
||||
, glib
|
||||
, gtk3
|
||||
, gtk4
|
||||
, libappindicator-gtk3
|
||||
, libnotify
|
||||
, gst_all_1
|
||||
@ -90,13 +90,14 @@
|
||||
}:
|
||||
|
||||
let
|
||||
version = "1.7.3";
|
||||
version = "1.8.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "HandBrake";
|
||||
repo = "HandBrake";
|
||||
rev = version;
|
||||
hash = "sha256-4Q//UU/CPgWvhtpROfNPLzBvZlB02hbFe9Z9FA7mX04=";
|
||||
# uses version commit for logic in version.txt
|
||||
rev = "5edf59c1da54fe1c9a487d09e8f52561fe49cb2a";
|
||||
hash = "sha256-gr2UhqPY5mZOP8KBvk9yydl4AkTlqE83hYAcLwSv1Is=";
|
||||
};
|
||||
|
||||
# Handbrake maintains a set of ffmpeg patches. In particular, these
|
||||
@ -104,12 +105,12 @@ let
|
||||
# https://github.com/HandBrake/HandBrake/issues/4029
|
||||
# base ffmpeg version is specified in:
|
||||
# https://github.com/HandBrake/HandBrake/blob/master/contrib/ffmpeg/module.defs
|
||||
ffmpeg-version = "6.1";
|
||||
ffmpeg-hb = ffmpeg-full.overrideAttrs (old: {
|
||||
ffmpeg-version = "7.0";
|
||||
ffmpeg-hb = ffmpeg_7-full.overrideAttrs (old: {
|
||||
version = ffmpeg-version;
|
||||
src = fetchurl {
|
||||
url = "https://www.ffmpeg.org/releases/ffmpeg-${ffmpeg-version}.tar.bz2";
|
||||
hash = "sha256-632j3n3TzkiplGq0R6c0a9EaOoXm77jyws5jfn9UdhE=";
|
||||
hash = "sha256-ok2QdL9VI6Zaqp570Cr+QQnOedab130QT+09q0uTTXo=";
|
||||
};
|
||||
patches = (old.patches or [ ]) ++ [
|
||||
"${src}/contrib/ffmpeg/A01-mov-read-name-track-tag-written-by-movenc.patch"
|
||||
@ -119,22 +120,23 @@ let
|
||||
"${src}/contrib/ffmpeg/A05-dvdsubdec-fix-processing-of-partial-packets.patch"
|
||||
"${src}/contrib/ffmpeg/A06-dvdsubdec-return-number-of-bytes-used.patch"
|
||||
"${src}/contrib/ffmpeg/A07-dvdsubdec-use-pts-of-initial-packet.patch"
|
||||
"${src}/contrib/ffmpeg/A08-ccaption_dec-fix-pts-in-real_time-mode.patch"
|
||||
"${src}/contrib/ffmpeg/A09-matroskaenc-aac-extradata-updated.patch"
|
||||
"${src}/contrib/ffmpeg/A10-amfenc-Add-support-for-pict_type-field.patch"
|
||||
"${src}/contrib/ffmpeg/A11-amfenc-Fixes-the-color-information-in-the-ou.patch"
|
||||
"${src}/contrib/ffmpeg/A12-amfenc-HDR-metadata.patch"
|
||||
"${src}/contrib/ffmpeg/A13-libavcodec-amfenc-Fix-issue-with-missing-headers-in-.patch"
|
||||
"${src}/contrib/ffmpeg/A14-avcodec-add-ambient-viewing-environment-packet-side-.patch"
|
||||
"${src}/contrib/ffmpeg/A15-avformat-mov-add-support-for-amve-ambient-viewing-en.patch"
|
||||
"${src}/contrib/ffmpeg/A16-videotoolbox-dec-h264.patch"
|
||||
"${src}/contrib/ffmpeg/A08-dvdsubdec-do-not-discard-zero-sized-rects.patch"
|
||||
"${src}/contrib/ffmpeg/A09-ccaption_dec-fix-pts-in-real_time-mode.patch"
|
||||
"${src}/contrib/ffmpeg/A10-matroskaenc-aac-extradata-updated.patch"
|
||||
"${src}/contrib/ffmpeg/A11-videotoolbox-disable-H.264-10-bit-on-Intel-macOS.patch"
|
||||
|
||||
# patch to fix <https://github.com/HandBrake/HandBrake/issues/5011>
|
||||
# commented out because it causes ffmpeg's filter-pixdesc-p010le test to fail.
|
||||
# "${src}/contrib/ffmpeg/A17-libswscale-fix-yuv420p-to-p01xle-color-conversion-bu.patch"
|
||||
# "${src}/contrib/ffmpeg/A12-libswscale-fix-yuv420p-to-p01xle-color-conversion-bu.patch"
|
||||
|
||||
"${src}/contrib/ffmpeg/A18-qsv-fix-decode-10bit-hdr.patch"
|
||||
"${src}/contrib/ffmpeg/A19-ffbuild-common-use-gzip-n-flag-for-cuda.patch"
|
||||
"${src}/contrib/ffmpeg/A13-qsv-fix-decode-10bit-hdr.patch"
|
||||
"${src}/contrib/ffmpeg/A14-amfenc-Add-support-for-pict_type-field.patch"
|
||||
"${src}/contrib/ffmpeg/A15-amfenc-Fixes-the-color-information-in-the-ou.patch"
|
||||
"${src}/contrib/ffmpeg/A16-amfenc-HDR-metadata.patch"
|
||||
"${src}/contrib/ffmpeg/A17-av1dec-dovi-rpu.patch"
|
||||
"${src}/contrib/ffmpeg/A18-avformat-mov-add-support-audio-fallback-track-ref.patch"
|
||||
"${src}/contrib/ffmpeg/A19-mov-ignore-old-infe-box.patch"
|
||||
"${src}/contrib/ffmpeg/A20-mov-free-infe-on-failure.patch"
|
||||
];
|
||||
});
|
||||
|
||||
@ -144,24 +146,26 @@ let
|
||||
# patches which don't cleanly apply are commented out.
|
||||
postPatch = (old.postPatch or "") + ''
|
||||
pushd ..
|
||||
# patch -p1 < ${src}/contrib/x265/A00-crosscompile-fix.patch
|
||||
patch -p1 < ${src}/contrib/x265/A01-threads-priority.patch
|
||||
patch -p1 < ${src}/contrib/x265/A02-threads-pool-adjustments.patch
|
||||
patch -p1 < ${src}/contrib/x265/A03-sei-length-crash-fix.patch
|
||||
patch -p1 < ${src}/contrib/x265/A04-ambient-viewing-enviroment-sei.patch
|
||||
# patch -p1 < ${src}/contrib/x265/A05-memory-leaks.patch
|
||||
# patch -p1 < ${src}/contrib/x265/A06-crosscompile-fix.patch
|
||||
popd
|
||||
'';
|
||||
});
|
||||
|
||||
versionFile = writeText "version.txt" ''
|
||||
BRANCH=${versions.majorMinor version}.x
|
||||
DATE=1970-01-01 00:00:01 +0000
|
||||
URL=${src.meta.homepage}.git
|
||||
HASH=${src.rev}
|
||||
REV=${src.rev}
|
||||
SHORTHASH=${src.rev}
|
||||
SHORTHASH=${lib.substring 0 9 src.rev}
|
||||
TAG=${version}
|
||||
URL=${src.meta.homepage}
|
||||
TAG_HASH=${src.rev}
|
||||
REV=0
|
||||
BRANCH=
|
||||
REMOTE=${src.meta.homepage}.git
|
||||
DATE=1970-01-01 00:00:01 +0000
|
||||
'';
|
||||
|
||||
inherit (lib) optional optionals optionalString versions;
|
||||
@ -176,9 +180,10 @@ let
|
||||
install -Dm444 ${versionFile} ${versionFile.name}
|
||||
|
||||
patchShebangs scripts
|
||||
patchShebangs gtk/data/
|
||||
|
||||
substituteInPlace libhb/hb.c \
|
||||
--replace 'return hb_version;' 'return "${version}";'
|
||||
--replace-fail 'return hb_version;' 'return "${version}";'
|
||||
|
||||
# Force using nixpkgs dependencies
|
||||
sed -i '/MODULES += contrib/d' make/include/main.defs
|
||||
@ -186,30 +191,23 @@ let
|
||||
-e '/ ## Additional library and tool checks/,/ ## MinGW specific library and tool checks/d' \
|
||||
-i make/configure.py
|
||||
'' + optionalString stdenv.isDarwin ''
|
||||
# Use the Nix-provided libxml2 instead of the patched version available on
|
||||
# the Handbrake website.
|
||||
substituteInPlace libhb/module.defs \
|
||||
--replace '$(CONTRIB.build/)include/libxml2' ${libxml2.dev}/include/libxml2
|
||||
|
||||
# Prevent the configure script from failing if xcodebuild isn't available,
|
||||
# which it isn't in the Nix context. (The actual build goes fine without
|
||||
# xcodebuild.)
|
||||
sed -e '/xcodebuild = ToolProbe/s/abort=.\+)/abort=False)/' -i make/configure.py
|
||||
'' + optionalString stdenv.isLinux ''
|
||||
# Use the Nix-provided libxml2 instead of the system-provided one.
|
||||
substituteInPlace libhb/module.defs \
|
||||
--replace /usr/include/libxml2 ${libxml2.dev}/include/libxml2
|
||||
'' + optionalString useGtk ''
|
||||
substituteInPlace gtk/module.rules \
|
||||
--replace-fail '$(MESON.exe)' 'meson' \
|
||||
--replace-fail '$(NINJA.exe)' 'ninja' \
|
||||
# Force using nixpkgs dependencies
|
||||
substituteInPlace gtk/meson.build \
|
||||
--replace-fail "cc.find_library('bz2', dirs: hb_libdirs)" "cc.find_library('bz2')" \
|
||||
--replace-fail "cc.find_library('mp3lame', dirs: hb_libdirs)" "cc.find_library('mp3lame')" \
|
||||
--replace-fail \
|
||||
"hb_incdirs = include_directories(hb_dir / 'libhb', hb_dir / 'contrib/include')" \
|
||||
"hb_incdirs = include_directories(hb_dir / 'libhb')" \
|
||||
"hb_incdirs = include_directories(hb_dir / 'libhb')"
|
||||
substituteInPlace gtk/ghb.spec \
|
||||
--replace-fail "gtk-update-icon-cache" "gtk4-update-icon-cache"
|
||||
substituteInPlace gtk/data/post_install.py \
|
||||
--replace-fail "gtk-update-icon-cache" "gtk4-update-icon-cache"
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
@ -220,7 +218,7 @@ let
|
||||
pkg-config
|
||||
python3
|
||||
]
|
||||
++ optionals useGtk [ desktop-file-utils intltool meson ninja wrapGAppsHook3 ];
|
||||
++ optionals useGtk [ appstream desktop-file-utils intltool meson ninja wrapGAppsHook4 ];
|
||||
|
||||
buildInputs = [
|
||||
a52dec
|
||||
@ -255,12 +253,14 @@ let
|
||||
]
|
||||
++ optional (!stdenv.isDarwin) numactl
|
||||
++ optionals useGtk [
|
||||
bzip2
|
||||
dbus-glib
|
||||
glib
|
||||
gst_all_1.gst-libav
|
||||
gst_all_1.gst-plugins-bad
|
||||
gst_all_1.gst-plugins-base
|
||||
gst_all_1.gst-plugins-good
|
||||
gst_all_1.gstreamer
|
||||
gtk3
|
||||
gtk4
|
||||
hicolor-icon-theme
|
||||
libappindicator-gtk3
|
||||
libgudev
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ lib, callPackage, fetchFromGitHub }:
|
||||
{ lib, callPackage }:
|
||||
|
||||
rec {
|
||||
dockerGen = {
|
||||
|
@ -39,7 +39,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
description = "macOS VMs on Apple Silicon to use in CI and other automations";
|
||||
homepage = "https://tart.run";
|
||||
license = licenses.fairsource09;
|
||||
maintainers = with maintainers; [ emilytrau Enzime ];
|
||||
maintainers = with maintainers; [ emilytrau Enzime aduh95 ];
|
||||
mainProgram = finalAttrs.pname;
|
||||
platforms = [ "aarch64-darwin" ];
|
||||
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
|
||||
|
@ -3,7 +3,6 @@
|
||||
, pkg-config
|
||||
, stdenv
|
||||
, hyprland
|
||||
, fetchpatch
|
||||
}:
|
||||
let
|
||||
mkHyprlandPlugin = hyprland:
|
||||
@ -34,18 +33,6 @@ let
|
||||
hash = "sha256-Y9bIML3C5xyKKv+Yel4LUfSkScwGunOVZkg+Z1dPwHI=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
(fetchpatch {
|
||||
url = "https://github.com/outfoxxed/hy3/commit/33c8d761ff1c1d2264f7549a7bcfc010929d153c.patch";
|
||||
hash = "sha256-GcLQ38IVGB6VFMviKqWAM9ayjC2lpWekx3kqrnwsLhk=";
|
||||
})
|
||||
|
||||
(fetchpatch {
|
||||
url = "https://github.com/outfoxxed/hy3/commit/400930e0391a0e13ebbc6a3b9fe162e00aaad89a.patch";
|
||||
hash = "sha256-DVrZSkXE4uKrAceGpUZklqrVRzV1CpNRgjpq0uOz0jk=";
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
dontStrip = true;
|
||||
|
@ -19,7 +19,6 @@
|
||||
, wayland
|
||||
, wayland-protocols
|
||||
, wayland-scanner
|
||||
, wlroots
|
||||
, libXdmcp
|
||||
, debug ? false
|
||||
}:
|
||||
@ -57,7 +56,6 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
wayland
|
||||
wayland-protocols
|
||||
wayland-scanner
|
||||
wlroots
|
||||
libXdmcp
|
||||
util-linux
|
||||
];
|
||||
|
@ -124,7 +124,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
homepage = "https://gitlab.gnome.org/World/Phosh/phosh";
|
||||
changelog = "https://gitlab.gnome.org/World/Phosh/phosh/-/blob/v${finalAttrs.version}/debian/changelog";
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = with maintainers; [ masipcat tomfitzhenry zhaofengli ];
|
||||
maintainers = with maintainers; [ masipcat zhaofengli ];
|
||||
platforms = platforms.linux;
|
||||
mainProgram = "phosh-session";
|
||||
};
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ stdenv, lib, fetchFromGitHub, ghcWithPackages, haskellPackages, ... }:
|
||||
{ stdenv, lib, ghcWithPackages, haskellPackages, ... }:
|
||||
|
||||
let xmonadctlEnv = ghcWithPackages (self: [ self.xmonad-contrib self.X11 ]);
|
||||
in stdenv.mkDerivation rec {
|
||||
|
@ -7,13 +7,13 @@
|
||||
|
||||
stdenvNoCC.mkDerivation {
|
||||
pname = "ananicy-rules-cachyos";
|
||||
version = "0-unstable-2024-05-10";
|
||||
version = "0-unstable-2024-05-28";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "CachyOS";
|
||||
repo = "ananicy-rules";
|
||||
rev = "1826cf45201770e20fea2e7bebfc2a5001074703";
|
||||
hash = "sha256-9Uth0OvV5NXHZxOCQDMmb0VdXpi8dSMdN9StnJa8n90=";
|
||||
rev = "5718579addbd733a4ab190fb9355a78e8b19b0b4";
|
||||
hash = "sha256-SD15wFUWryL3sRBbREr94A8oKf8KXVBaiI2bmWxbMx4=";
|
||||
};
|
||||
|
||||
dontConfigure = true;
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user