Merge master into staging-next
This commit is contained in:
@@ -77,6 +77,8 @@
|
||||
|
||||
- [MaryTTS](https://github.com/marytts/marytts), an open-source, multilingual text-to-speech synthesis system written in pure Java. Available as [services.marytts](options.html#opt-services.marytts).
|
||||
|
||||
- [Continuwuity](https://continuwuity.org/), a federated chat server implementing the Matrix protocol, forked from Conduwuit. Available as [services.matrix-continuwuity](#opt-services.matrix-continuwuity.enable).
|
||||
|
||||
- [Reposilite](https://reposilite.com), a lightweight and easy-to-use repository manager for Maven-based artifacts in the JVM ecosystem. Available as [services.reposilite](options.html#opt-services.reposilite).
|
||||
|
||||
- [networking.modemmanager](options.html#opt-networking.modemmanager) has been split out of [networking.networkmanager](options.html#opt-networking.networkmanager). NetworkManager still enables ModemManager by default, but options exist now to run NetworkManager without ModemManager.
|
||||
|
||||
@@ -752,6 +752,7 @@
|
||||
./services/matrix/appservice-discord.nix
|
||||
./services/matrix/appservice-irc.nix
|
||||
./services/matrix/conduit.nix
|
||||
./services/matrix/continuwuity.nix
|
||||
./services/matrix/dendrite.nix
|
||||
./services/matrix/hebbot.nix
|
||||
./services/matrix/hookshot.nix
|
||||
|
||||
@@ -0,0 +1,268 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
let
|
||||
cfg = config.services.matrix-continuwuity;
|
||||
defaultUser = "continuwuity";
|
||||
defaultGroup = "continuwuity";
|
||||
|
||||
format = pkgs.formats.toml { };
|
||||
configFile = format.generate "continuwuity.toml" cfg.settings;
|
||||
in
|
||||
{
|
||||
meta.maintainers = with lib.maintainers; [
|
||||
nyabinary
|
||||
snaki
|
||||
];
|
||||
options.services.matrix-continuwuity = {
|
||||
enable = lib.mkEnableOption "continuwuity";
|
||||
|
||||
user = lib.mkOption {
|
||||
type = lib.types.nonEmptyStr;
|
||||
description = ''
|
||||
The user {command}`continuwuity` is run as.
|
||||
'';
|
||||
default = defaultUser;
|
||||
};
|
||||
|
||||
group = lib.mkOption {
|
||||
type = lib.types.nonEmptyStr;
|
||||
description = ''
|
||||
The group {command}`continuwuity` is run as.
|
||||
'';
|
||||
default = defaultGroup;
|
||||
};
|
||||
|
||||
extraEnvironment = lib.mkOption {
|
||||
type = lib.types.attrsOf lib.types.str;
|
||||
description = "Extra Environment variables to pass to the continuwuity server.";
|
||||
default = { };
|
||||
example = {
|
||||
RUST_BACKTRACE = "yes";
|
||||
};
|
||||
};
|
||||
|
||||
package = lib.mkPackageOption pkgs "matrix-continuwuity" { };
|
||||
|
||||
settings = lib.mkOption {
|
||||
type = lib.types.submodule {
|
||||
freeformType = format.type;
|
||||
options = {
|
||||
global.server_name = lib.mkOption {
|
||||
type = lib.types.nonEmptyStr;
|
||||
example = "example.com";
|
||||
description = "The server_name is the name of this server. It is used as a suffix for user and room ids.";
|
||||
};
|
||||
global.address = lib.mkOption {
|
||||
type = lib.types.nullOr (lib.types.listOf lib.types.nonEmptyStr);
|
||||
default = null;
|
||||
example = [
|
||||
"127.0.0.1"
|
||||
"::1"
|
||||
];
|
||||
description = ''
|
||||
Addresses (IPv4 or IPv6) to listen on for connections by the reverse proxy/tls terminator.
|
||||
If set to `null`, continuwuity will listen on IPv4 and IPv6 localhost.
|
||||
Must be `null` if `unix_socket_path` is set.
|
||||
'';
|
||||
};
|
||||
global.port = lib.mkOption {
|
||||
type = lib.types.listOf lib.types.port;
|
||||
default = [ 6167 ];
|
||||
description = ''
|
||||
The port(s) continuwuity will be running on.
|
||||
You need to set up a reverse proxy in your web server (e.g. apache or nginx),
|
||||
so all requests to /_matrix on port 443 and 8448 will be forwarded to the continuwuity
|
||||
instance running on this port.
|
||||
'';
|
||||
};
|
||||
global.unix_socket_path = lib.mkOption {
|
||||
type = lib.types.nullOr lib.types.path;
|
||||
default = null;
|
||||
description = ''
|
||||
Listen on a UNIX socket at the specified path. If listening on a UNIX socket,
|
||||
listening on an address will be disabled. The `address` option must be set to
|
||||
`null` (the default value). The option {option}`services.continuwuity.group` must
|
||||
be set to a group your reverse proxy is part of.
|
||||
|
||||
This will automatically add a system user "continuwuity" to your system if
|
||||
{option}`services.continuwuity.user` is left at the default, and a "continuwuity"
|
||||
group if {option}`services.continuwuity.group` is left at the default.
|
||||
'';
|
||||
};
|
||||
global.unix_socket_perms = lib.mkOption {
|
||||
type = lib.types.ints.positive;
|
||||
default = 660;
|
||||
description = "The default permissions (in octal) to create the UNIX socket with.";
|
||||
};
|
||||
global.max_request_size = lib.mkOption {
|
||||
type = lib.types.ints.positive;
|
||||
default = 20000000;
|
||||
description = "Max request size in bytes. Don't forget to also change it in the proxy.";
|
||||
};
|
||||
global.allow_registration = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = false;
|
||||
description = ''
|
||||
Whether new users can register on this server.
|
||||
|
||||
Registration with token requires `registration_token` or `registration_token_file` to be set.
|
||||
|
||||
If set to true without a token configured, and
|
||||
`yes_i_am_very_very_sure_i_want_an_open_registration_server_prone_to_abuse`
|
||||
is set to true, users can freely register.
|
||||
'';
|
||||
};
|
||||
global.allow_encryption = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = true;
|
||||
description = "Whether new encrypted rooms can be created. Note: existing rooms will continue to work.";
|
||||
};
|
||||
global.allow_federation = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = true;
|
||||
description = ''
|
||||
Whether this server federates with other servers.
|
||||
'';
|
||||
};
|
||||
global.trusted_servers = lib.mkOption {
|
||||
type = lib.types.listOf lib.types.nonEmptyStr;
|
||||
default = [ "matrix.org" ];
|
||||
description = ''
|
||||
Servers listed here will be used to gather public keys of other servers
|
||||
(notary trusted key servers).
|
||||
|
||||
Currently, continuwuity doesn't support inbound batched key requests, so
|
||||
this list should only contain other Synapse servers.
|
||||
|
||||
Example: `[ "matrix.org" "constellatory.net" "tchncs.de" ]`
|
||||
'';
|
||||
};
|
||||
global.database_path = lib.mkOption {
|
||||
readOnly = true;
|
||||
type = lib.types.path;
|
||||
default = "/var/lib/continuwuity/";
|
||||
description = ''
|
||||
Path to the continuwuity database, the directory where continuwuity will save its data.
|
||||
Note that database_path cannot be edited because of the service's reliance on systemd StateDir.
|
||||
'';
|
||||
};
|
||||
global.allow_announcements_check = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = true;
|
||||
description = ''
|
||||
If enabled, continuwuity will send a simple GET request periodically to
|
||||
<https://continuwuity.org/.well-known/continuwuity/announcements> for any new announcements made.
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
default = { };
|
||||
# TOML does not allow null values, so we use null to omit those fields
|
||||
apply = lib.filterAttrsRecursive (_: v: v != null);
|
||||
description = ''
|
||||
Generates the continuwuity.toml configuration file. Refer to
|
||||
<https://continuwuity.org/configuration.html>
|
||||
for details on supported values.
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
assertions = [
|
||||
{
|
||||
assertion = !(cfg.settings ? global.unix_socket_path) || !(cfg.settings ? global.address);
|
||||
message = ''
|
||||
In `services.continuwuity.settings.global`, `unix_socket_path` and `address` cannot be set at the
|
||||
same time.
|
||||
Leave one of the two options unset or explicitly set them to `null`.
|
||||
'';
|
||||
}
|
||||
{
|
||||
assertion = cfg.user != defaultUser -> config ? users.users.${cfg.user};
|
||||
message = "If `services.continuwuity.user` is changed, the configured user must already exist.";
|
||||
}
|
||||
{
|
||||
assertion = cfg.group != defaultGroup -> config ? users.groups.${cfg.group};
|
||||
message = "If `services.continuwuity.group` is changed, the configured group must already exist.";
|
||||
}
|
||||
];
|
||||
|
||||
users.users = lib.mkIf (cfg.user == defaultUser) {
|
||||
${defaultUser} = {
|
||||
group = cfg.group;
|
||||
home = cfg.settings.global.database_path;
|
||||
isSystemUser = true;
|
||||
};
|
||||
};
|
||||
|
||||
users.groups = lib.mkIf (cfg.group == defaultGroup) {
|
||||
${defaultGroup} = { };
|
||||
};
|
||||
|
||||
systemd.services.continuwuity = {
|
||||
description = "Continuwuity Matrix Server";
|
||||
documentation = [ "https://continuwuity.org/" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
wants = [ "network-online.target" ];
|
||||
after = [ "network-online.target" ];
|
||||
environment = lib.mkMerge [
|
||||
{ CONDUWUIT_CONFIG = configFile; }
|
||||
cfg.extraEnvironment
|
||||
];
|
||||
startLimitBurst = 5;
|
||||
startLimitIntervalSec = 60;
|
||||
serviceConfig = {
|
||||
DynamicUser = true;
|
||||
User = cfg.user;
|
||||
Group = cfg.group;
|
||||
|
||||
DevicePolicy = "closed";
|
||||
LockPersonality = true;
|
||||
MemoryDenyWriteExecute = true;
|
||||
NoNewPrivileges = true;
|
||||
ProtectClock = true;
|
||||
ProtectControlGroups = true;
|
||||
ProtectHome = true;
|
||||
ProtectHostname = true;
|
||||
ProtectKernelLogs = true;
|
||||
ProtectKernelModules = true;
|
||||
ProtectKernelTunables = true;
|
||||
ProtectProc = "invisible";
|
||||
ProtectSystem = "strict";
|
||||
PrivateDevices = true;
|
||||
PrivateMounts = true;
|
||||
PrivateTmp = true;
|
||||
PrivateUsers = true;
|
||||
PrivateIPC = true;
|
||||
RemoveIPC = true;
|
||||
RestrictAddressFamilies = [
|
||||
"AF_INET"
|
||||
"AF_INET6"
|
||||
"AF_UNIX"
|
||||
];
|
||||
RestrictNamespaces = true;
|
||||
RestrictRealtime = true;
|
||||
RestrictSUIDSGID = true;
|
||||
SystemCallArchitectures = "native";
|
||||
SystemCallFilter = [
|
||||
"@system-service @resources"
|
||||
"~@clock @debug @module @mount @reboot @swap @cpu-emulation @obsolete @timer @chown @setuid @privileged @keyring @ipc"
|
||||
];
|
||||
SystemCallErrorNumber = "EPERM";
|
||||
|
||||
StateDirectory = "continuwuity";
|
||||
StateDirectoryMode = "0700";
|
||||
RuntimeDirectory = "continuwuity";
|
||||
RuntimeDirectoryMode = "0750";
|
||||
|
||||
ExecStart = lib.getExe cfg.package;
|
||||
Restart = "on-failure";
|
||||
RestartSec = 10;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -781,6 +781,7 @@ in
|
||||
matrix-alertmanager = runTest ./matrix/matrix-alertmanager.nix;
|
||||
matrix-appservice-irc = runTest ./matrix/appservice-irc.nix;
|
||||
matrix-conduit = handleTest ./matrix/conduit.nix { };
|
||||
matrix-continuwuity = runTest ./matrix/continuwuity.nix;
|
||||
matrix-synapse = handleTest ./matrix/synapse.nix { };
|
||||
matrix-synapse-workers = handleTest ./matrix/synapse-workers.nix { };
|
||||
mautrix-meta-postgres = handleTest ./matrix/mautrix-meta-postgres.nix { };
|
||||
|
||||
@@ -0,0 +1,104 @@
|
||||
{ lib, ... }:
|
||||
let
|
||||
name = "continuwuity";
|
||||
in
|
||||
{
|
||||
inherit name;
|
||||
|
||||
nodes = {
|
||||
continuwuity = {
|
||||
services.matrix-continuwuity = {
|
||||
enable = true;
|
||||
settings.global = {
|
||||
server_name = name;
|
||||
address = [ "0.0.0.0" ];
|
||||
allow_registration = true;
|
||||
yes_i_am_very_very_sure_i_want_an_open_registration_server_prone_to_abuse = true;
|
||||
};
|
||||
extraEnvironment.RUST_BACKTRACE = "yes";
|
||||
};
|
||||
networking.firewall.allowedTCPPorts = [ 6167 ];
|
||||
};
|
||||
client =
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
environment.systemPackages = [
|
||||
(pkgs.writers.writePython3Bin "do_test" { libraries = [ pkgs.python3Packages.matrix-nio ]; } ''
|
||||
import asyncio
|
||||
import nio
|
||||
|
||||
|
||||
async def main() -> None:
|
||||
# Connect to continuwuity
|
||||
client = nio.AsyncClient("http://continuwuity:6167", "alice")
|
||||
|
||||
# Register as user alice
|
||||
response = await client.register("alice", "my-secret-password")
|
||||
|
||||
# Log in as user alice
|
||||
response = await client.login("my-secret-password")
|
||||
|
||||
# Create a new room
|
||||
response = await client.room_create(federate=False)
|
||||
print("Matrix room create response:", response)
|
||||
assert isinstance(response, nio.RoomCreateResponse)
|
||||
room_id = response.room_id
|
||||
|
||||
# Join the room
|
||||
response = await client.join(room_id)
|
||||
print("Matrix join response:", response)
|
||||
assert isinstance(response, nio.JoinResponse)
|
||||
|
||||
# Send a message to the room
|
||||
response = await client.room_send(
|
||||
room_id=room_id,
|
||||
message_type="m.room.message",
|
||||
content={
|
||||
"msgtype": "m.text",
|
||||
"body": "Hello continuwuity!"
|
||||
}
|
||||
)
|
||||
print("Matrix room send response:", response)
|
||||
assert isinstance(response, nio.RoomSendResponse)
|
||||
|
||||
# Sync responses
|
||||
response = await client.sync(timeout=30000)
|
||||
print("Matrix sync response:", response)
|
||||
assert isinstance(response, nio.SyncResponse)
|
||||
|
||||
# Check the message was received by continuwuity
|
||||
last_message = response.rooms.join[room_id].timeline.events[-1].body
|
||||
assert last_message == "Hello continuwuity!"
|
||||
|
||||
# Leave the room
|
||||
response = await client.room_leave(room_id)
|
||||
print("Matrix room leave response:", response)
|
||||
assert isinstance(response, nio.RoomLeaveResponse)
|
||||
|
||||
# Close the client
|
||||
await client.close()
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
asyncio.run(main())
|
||||
'')
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
start_all()
|
||||
|
||||
with subtest("start continuwuity"):
|
||||
continuwuity.wait_for_unit("continuwuity.service")
|
||||
continuwuity.wait_for_open_port(6167)
|
||||
|
||||
with subtest("ensure messages can be exchanged"):
|
||||
client.succeed("do_test >&2")
|
||||
'';
|
||||
|
||||
meta.maintainers = with lib.maintainers; [
|
||||
nyabinary
|
||||
snaki
|
||||
];
|
||||
}
|
||||
@@ -10,13 +10,13 @@
|
||||
}:
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "aws-lc";
|
||||
version = "1.50.0";
|
||||
version = "1.51.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "aws";
|
||||
repo = "aws-lc";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-aYill04Fs/mJFCmzP/tlwUcPRHJz6R9knQWKGEOMwfQ=";
|
||||
hash = "sha256-Of4zXFO2+2uvu5xi4tmzUK9F5pJ+VyKQOrLpdYPvhSA=";
|
||||
};
|
||||
|
||||
outputs = [
|
||||
|
||||
@@ -8,13 +8,13 @@
|
||||
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "bark-server";
|
||||
version = "2.2.0";
|
||||
version = "2.2.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Finb";
|
||||
repo = "bark-server";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-c3kMGD4JuLAP/Ms2dJBAl85urvranGGIicTmx4gIhNM=";
|
||||
hash = "sha256-wwb3k68tjdmN+dy5CKJoUIScLXzNucq6wXy1HgXNa/0=";
|
||||
# populate values that require us to use git. By doing this in postFetch we
|
||||
# can delete .git afterwards and maintain better reproducibility of the src.
|
||||
leaveDotGit = true;
|
||||
@@ -27,7 +27,7 @@ buildGoModule (finalAttrs: {
|
||||
'';
|
||||
};
|
||||
|
||||
vendorHash = "sha256-Yti+W3GKUMEfNBHf4C435BpYsDjCzgfLr55iqU3BGbA=";
|
||||
vendorHash = "sha256-FTzSlliphTukCNf+cGGKWK798SARdEkE2HpfWS8ZlNc=";
|
||||
|
||||
ldflags = [
|
||||
"-s"
|
||||
|
||||
Generated
+486
@@ -0,0 +1,486 @@
|
||||
{
|
||||
"!comment": "This is a nixpkgs Gradle dependency lockfile. For more details, refer to the Gradle section in the nixpkgs manual.",
|
||||
"!version": 1,
|
||||
"https://jitpack.io": {
|
||||
"com/github/bailuk#java-gtk/0.5.0": {
|
||||
"jar": "sha256-fCXY4gCLzBU7D+RFsLGz3NN47176XCtak+z65vURKl8=",
|
||||
"module": "sha256-7mj8zV9UNi61F1iEA809wldidgJQKETrS/FYk4hYbCQ=",
|
||||
"pom": "sha256-lARyD2FpDWBPqPMJ+0npOLh4VMP0P9/aK0QasHJYimU="
|
||||
}
|
||||
},
|
||||
"https://plugins.gradle.org/m2": {
|
||||
"com/fasterxml#oss-parent/48": {
|
||||
"pom": "sha256-EbuiLYYxgW4JtiOiAHR0U9ZJGmbqyPXAicc9ordJAU8="
|
||||
},
|
||||
"com/fasterxml/jackson#jackson-bom/2.14.1": {
|
||||
"pom": "sha256-eP35nlBQ/EhfQRfauMzL+2+mxoOF6184oJtlU3HUpsw="
|
||||
},
|
||||
"com/fasterxml/jackson#jackson-parent/2.14": {
|
||||
"pom": "sha256-CQat2FWuOfkjV9Y/SFiJsI/KTEOl/kM1ItdTROB1exk="
|
||||
},
|
||||
"com/github/johnrengelman#shadow/8.1.1": {
|
||||
"jar": "sha256-CEGXVVWQpTuyG1lQijMwVZ9TbdtEjq/R7GdfVGIDb88=",
|
||||
"module": "sha256-nQ87SqpniYcj6vbF6c0nOHj5V03azWSqNwJDYgzgLko=",
|
||||
"pom": "sha256-Mu55f8hDI3xM5cSeX0FSxYoIlK/OCg6SY25qLU/JjDU="
|
||||
},
|
||||
"com/github/johnrengelman/shadow#com.github.johnrengelman.shadow.gradle.plugin/8.1.1": {
|
||||
"pom": "sha256-PLOIa5ffbgZvEIwxayGfJiyXw8st9tp4kn5kXetkPLA="
|
||||
},
|
||||
"com/google/code/gson#gson-parent/2.8.9": {
|
||||
"pom": "sha256-sW4CbmNCfBlyrQ/GhwPsN5sVduQRuknDL6mjGrC7z/s="
|
||||
},
|
||||
"com/google/code/gson#gson-parent/2.9.1": {
|
||||
"pom": "sha256-fKCEXnNoVhjePka9NDTQOko3PVIPq5OmgDGK1sjLKnk="
|
||||
},
|
||||
"com/google/code/gson#gson/2.8.9": {
|
||||
"jar": "sha256-05mSkYVd5JXJTHQ3YbirUXbP6r4oGlqw2OjUUyb9cD4=",
|
||||
"pom": "sha256-r97W5qaQ+/OtSuZa2jl/CpCl9jCzA9G3QbnJeSb91N4="
|
||||
},
|
||||
"com/google/code/gson#gson/2.9.1": {
|
||||
"jar": "sha256-N4U04znm5tULFzb7Ort28cFdG+P0wTzsbVNkEuI9pgM=",
|
||||
"pom": "sha256-5ZZjI9cUJXCzekvpeeIbwtroSBB+TcQW2PRNmqPwKQM="
|
||||
},
|
||||
"commons-io#commons-io/2.11.0": {
|
||||
"jar": "sha256-lhsvbYfbrMXVSr9Fq3puJJX4m3VZiWLYxyPOqbwhCQg=",
|
||||
"pom": "sha256-LgFv1+MkS18sIKytg02TqkeQSG7h5FZGQTYaPoMe71k="
|
||||
},
|
||||
"io/fabric8#kubernetes-client-bom/5.12.2": {
|
||||
"pom": "sha256-6qA8FpVlaNVKa6Q31J1Ay/DdjpOXf5hDGCQldrZQvDs="
|
||||
},
|
||||
"io/netty#netty-bom/4.1.86.Final": {
|
||||
"pom": "sha256-EnFsH+ZM9b2qcETTfROq46iIIbkdR5hCDEanR2kXiv0="
|
||||
},
|
||||
"jakarta/platform#jakarta.jakartaee-bom/9.0.0": {
|
||||
"pom": "sha256-kZA9Ddh23sZ/i5I/EzK6cr8pWwa9OX0Y868ZMHzhos4="
|
||||
},
|
||||
"jakarta/platform#jakartaee-api-parent/9.0.0": {
|
||||
"pom": "sha256-9l3PFLbh2RSOGYo5D6/hVfrKCTJT3ekAMH8+DqgsrTs="
|
||||
},
|
||||
"org/apache#apache/23": {
|
||||
"pom": "sha256-vBBiTgYj82V3+sVjnKKTbTJA7RUvttjVM6tNJwVDSRw="
|
||||
},
|
||||
"org/apache#apache/27": {
|
||||
"pom": "sha256-srD8aeIqZQw4kvHDZtdwdvKVdcZzjfTHpwpEhESEzfk="
|
||||
},
|
||||
"org/apache/ant#ant-launcher/1.10.13": {
|
||||
"jar": "sha256-zXaVs7+2lkq3G2oLMdrWAAWud/5QITI2Rnmqzwj3eXA=",
|
||||
"pom": "sha256-ApkvvDgFU1bzyU0B6qJJmcsCoJuqnB/fXqx2t8MVY8o="
|
||||
},
|
||||
"org/apache/ant#ant-parent/1.10.13": {
|
||||
"pom": "sha256-blv8hwgiFD8f+7LG8I7EiHctsxSlKDMC9IFLEms0aTk="
|
||||
},
|
||||
"org/apache/ant#ant/1.10.13": {
|
||||
"jar": "sha256-vvv8eedE6Yks+n25bfO26C3BfSVxr0KqQnl2/CIpmDg=",
|
||||
"pom": "sha256-J5NR7tkLj3QbtIyVvmHD7CRU48ipr7Q7zB0LrB3aE3o="
|
||||
},
|
||||
"org/apache/commons#commons-parent/52": {
|
||||
"pom": "sha256-ddvo806Y5MP/QtquSi+etMvNO18QR9VEYKzpBtu0UC4="
|
||||
},
|
||||
"org/apache/logging#logging-parent/7": {
|
||||
"pom": "sha256-5YkR3J/GsXOhDlqp7bk8eZStBmAnBd0Gftz8bh6eFys="
|
||||
},
|
||||
"org/apache/logging/log4j#log4j-api/2.20.0": {
|
||||
"jar": "sha256-L0PupnnqZvFMoPE/7CqGAKwST1pSMdy034OT7dy5dVA=",
|
||||
"pom": "sha256-zUWDKj1s0hlENcDWPKAV8ZSWjy++pPKRVTv3r7hOFjc="
|
||||
},
|
||||
"org/apache/logging/log4j#log4j-bom/2.20.0": {
|
||||
"pom": "sha256-+LtpLpWmt72mAehxAJWOg9AGG38SMlC2gSiUOhlenaE="
|
||||
},
|
||||
"org/apache/logging/log4j#log4j-core/2.20.0": {
|
||||
"jar": "sha256-YTffhIza7Z9NUHb3VRPGyF2oC5U/TnrMo4CYt3B2P1U=",
|
||||
"pom": "sha256-3nGsEAVR9KB3rsrQd70VPnHfeqacMELXZRbMXM4Ice4="
|
||||
},
|
||||
"org/apache/logging/log4j#log4j/2.20.0": {
|
||||
"pom": "sha256-mje0qPZ+jUG8JHNxejAhYz1qPD8xBXnbmtC+PyRlnGk="
|
||||
},
|
||||
"org/codehaus/groovy#groovy-bom/3.0.14": {
|
||||
"pom": "sha256-JODptzjecRjennNWD/0GA0u1zwfKE6fgNFnoi6nRric="
|
||||
},
|
||||
"org/codehaus/plexus#plexus-utils/3.5.1": {
|
||||
"jar": "sha256-huAlXUyHnGG0gz7X8TEk6LtnnfR967EnMm59t91JoHs=",
|
||||
"pom": "sha256-lP9o7etIIE0SyZGJx2cWTTqfd4oTctHc4RpBRi5iNvI="
|
||||
},
|
||||
"org/codehaus/plexus#plexus/10": {
|
||||
"pom": "sha256-u6nFIQZLnKEyzpfMHMfrSvwtvjK8iMuHLIjpn2FiMB8="
|
||||
},
|
||||
"org/eclipse/ee4j#project/1.0.6": {
|
||||
"pom": "sha256-Tn2DKdjafc8wd52CQkG+FF8nEIky9aWiTrkHZ3vI1y0="
|
||||
},
|
||||
"org/eclipse/jetty#jetty-bom/9.4.50.v20221201": {
|
||||
"pom": "sha256-TN5uUz1gHq+LZazulWt3BsGBkvJ1XQI9fo0Zu31bOUM="
|
||||
},
|
||||
"org/gradle/toolchains#foojay-resolver/0.7.0": {
|
||||
"jar": "sha256-k2crR0Cg/b+7W68INT24rpqbsl9rEKk8B4EmxxfbOsA=",
|
||||
"module": "sha256-7WdGoJ8yv63bkLApECrmIybiSBKaaLdGYqSkM9VTFLg=",
|
||||
"pom": "sha256-iCa8+5Iq8MIR5BPTmwgWWRPAgwZkE+BzDNgrLgsKie4="
|
||||
},
|
||||
"org/gradle/toolchains/foojay-resolver-convention#org.gradle.toolchains.foojay-resolver-convention.gradle.plugin/0.7.0": {
|
||||
"pom": "sha256-yKRD4vrvh28zijkSM8IKka1bg/acHGuiDTmns5EGJAo="
|
||||
},
|
||||
"org/jdom#jdom2/2.0.6.1": {
|
||||
"jar": "sha256-CyD0XjoP2PDRLNxTFrBndukCsTZdsAEYh2+RdcYPMCw=",
|
||||
"pom": "sha256-VXleEBi4rmR7k3lnz4EKmbCFgsI3TnhzwShzTIyRS/M="
|
||||
},
|
||||
"org/jetbrains/intellij/deps#trove4j/1.0.20200330": {
|
||||
"jar": "sha256-xf1yW/+rUYRr88d9sTg8YKquv+G3/i8A0j/ht98KQ50=",
|
||||
"pom": "sha256-h3IcuqZaPJfYsbqdIHhA8WTJ/jh1n8nqEP/iZWX40+k="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-build-statistics/2.0.20": {
|
||||
"jar": "sha256-c6fXFRN1WzF9Kxttp2bW5reiXcmdzv5DEzJTNkIuzhE=",
|
||||
"pom": "sha256-10GK0lyAbeg2FQvdNQsAvmwtJQmeXXQd3+PzgcUurY0="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-build-tools-api/2.0.20": {
|
||||
"jar": "sha256-V+1QIg547DnoqAAUMw8pXlSFtWOMESmvntfVPXhYxcI=",
|
||||
"pom": "sha256-nHrVho+yGJsb9NbCL2yUmDs6jhopTpWlQSy4Lg9C3bI="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-compiler-embeddable/2.0.20": {
|
||||
"jar": "sha256-o2BL81DIvM4nECFYu7OD+k0YFLxIaq7VnyeOraUf9q0=",
|
||||
"pom": "sha256-WXBD+4xlJ/QpmcoE7TUpY5Is0W5piKqlLT2zLaHbhZ0="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-compiler-runner/2.0.20": {
|
||||
"jar": "sha256-4DzwSwNA8a4VEhBjC10pFcKXmIxuIuTe206nz7dKz2c=",
|
||||
"pom": "sha256-3M3xugxPzYvUIwNFroP6fb6SglY9ilP9XmHFM1tbcYA="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-daemon-client/2.0.20": {
|
||||
"jar": "sha256-cxUswf2CHQcTlHOry/jH0B0A5oaEuWHhkurogNycfaQ=",
|
||||
"pom": "sha256-qUcReIj0z/tjk9QurqYRtj31ib8pYXgmzLclNxK/OsM="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-daemon-embeddable/2.0.20": {
|
||||
"jar": "sha256-W9URO4WrhSjhkuK7P8GX9bw0SLzb0Fh5Czf9N/TuV68=",
|
||||
"pom": "sha256-IZgoJm6keO7rQuT1L5bQuQfYykhHz4aq45FprYsupKU="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-gradle-plugin-annotations/2.0.20": {
|
||||
"jar": "sha256-i2O0/7e6aOKHIFaa1HqWzAZclFZO0WHuoVrIZIh7pN4=",
|
||||
"pom": "sha256-D8eaPIg8fbbsD6lU1cimiugRBlIm+4WRbhy/9pnlwUc="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-gradle-plugin-api/2.0.20": {
|
||||
"jar": "sha256-D3NXvFzMjjaB7DtGQ8cMrSiDskbIt699bZccQeOTTy0=",
|
||||
"module": "sha256-CJ8SCJE61calM09nu8pI/HsK+hCv0L2lFT+8tSzCqWw=",
|
||||
"pom": "sha256-IQOK734wtxG0qE3grS1TO9MgXhOKrWfP1YnXl+/afII="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-gradle-plugin-idea-proto/2.0.20": {
|
||||
"jar": "sha256-Ce2wJ7mh899xYnGuyte7QaHdvC+cETFyl5ANTyvc6Iw=",
|
||||
"pom": "sha256-wZireMJmzzvnodJHBeW7GIbUlF/cpPcX9U77hv9M10o="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-gradle-plugin-idea/2.0.20": {
|
||||
"jar": "sha256-wfTqDBkmfx7tR0tUGwdxXEkWes+/AnqKL9B8u8gbjnI=",
|
||||
"module": "sha256-wy8Uw0SXgCqOjXk7K11nkj4gIlOUePNm4Yp+9kFOut4=",
|
||||
"pom": "sha256-Vn7N8kaceWkMLgmdz6r8PhF67GTe3BejtJ/Uo/ptDgg="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-gradle-plugin-model/2.0.20": {
|
||||
"jar": "sha256-UUx/F9xeVO5dFqdhs2S500OVa8rUnf0I4IWWIldzfhk=",
|
||||
"module": "sha256-HPn20+xtMFqgiQMqyJL/rogcwQUAP0VvLBX9PDAyCm4=",
|
||||
"pom": "sha256-SEIbKUnHKiDU4OPybYcYxruScIbHbF/AlSCg1jbPumc="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-gradle-plugin/2.0.20": {
|
||||
"module": "sha256-aBPMpB7w+/FciL7MQB44cGuWlEwhtr7HPdiM+QoPIB4=",
|
||||
"pom": "sha256-eEmYfUbGj7neKvOwReEq1nPm1mOvbqpf2MYRlCt3LF0="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-gradle-plugin/2.0.20/gradle85": {
|
||||
"jar": "sha256-gSn2LLfGJ7XOghh+QqbYfEKVK8e6ZLgFo1R/aFIxlmI="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-gradle-plugins-bom/2.0.20": {
|
||||
"module": "sha256-GwMjHvp7O20xsJNocpQfh+J6gZwANxiz0JiAt25j180=",
|
||||
"pom": "sha256-TDLrNQlMFjWd943q7BHOUjvjYEB0FPoK7Miu/GftSkM="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-klib-commonizer-api/2.0.20": {
|
||||
"jar": "sha256-QsQvvic/oDBOThf3OSxms56R+Z01+FwGixG91Wuemdw=",
|
||||
"pom": "sha256-5f4GjE69XIhYw1w56GI6vrnIb4oXJUdC5/VZjkP62jw="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-native-utils/2.0.20": {
|
||||
"jar": "sha256-wWbyBR6R0ZnpYP/HsnZEhcFRDNF2dN17jOPC/NBqhys=",
|
||||
"pom": "sha256-mISZMftwkWhS6qfCDm2Pr1IsUNd627r9k2T1JrfN7EI="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-tooling-core/2.0.20": {
|
||||
"jar": "sha256-W28UhUj+ngdN9R9CJTREM78DdaxbOf/NPXvX1/YC1ik=",
|
||||
"pom": "sha256-XhIxEeAQewRmSIOgpAjB/zvbXQR+SQH4L0xC8QV4Bi0="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-util-io/2.0.20": {
|
||||
"jar": "sha256-ZGTbjUFywhoXp5C20XiQIu1nrbN8UL5ri59YK1UrhSI=",
|
||||
"pom": "sha256-LrBxVfqEF46ZVjnOe3aRcofK5UKjXSm1a7CZEB0oajw="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-util-klib/2.0.20": {
|
||||
"jar": "sha256-h92Djcd3gsuVZ/GnYUmbPkpQ9SjABbJjii4+V0EKljs=",
|
||||
"pom": "sha256-fbTRw72mdZvifuk35gfoscRpWNwIR3Ey/a7t4BbnOP8="
|
||||
},
|
||||
"org/jetbrains/kotlin/jvm#org.jetbrains.kotlin.jvm.gradle.plugin/2.0.20": {
|
||||
"pom": "sha256-JyOoqUP6SkTTcD8VTEW31UcMcZ1OYKvz4ixzt3s4i5M="
|
||||
},
|
||||
"org/jetbrains/kotlinx#kotlinx-coroutines-bom/1.6.4": {
|
||||
"pom": "sha256-qyYUhV+6ZqqKQlFNvj1aiEMV/+HtY/WTLnEKgAYkXOE="
|
||||
},
|
||||
"org/jetbrains/kotlinx#kotlinx-coroutines-core-jvm/1.6.4": {
|
||||
"jar": "sha256-wkyLsnuzIMSpOHFQGn5eDGFgdjiQexl672dVE9TIIL4=",
|
||||
"module": "sha256-DZTIpBSD58Jwfr1pPhsTV6hBUpmM6FVQ67xUykMho6c=",
|
||||
"pom": "sha256-Cdlg+FkikDwuUuEmsX6fpQILQlxGnsYZRLPAGDVUciQ="
|
||||
},
|
||||
"org/junit#junit-bom/5.7.2": {
|
||||
"module": "sha256-87zrHFndT2mT9DBN/6WAFyuN9lp2zTb6T9ksBXjSitg=",
|
||||
"pom": "sha256-zRSqqGmZH4ICHFhdVw0x/zQry6WLtEIztwGTdxuWSHs="
|
||||
},
|
||||
"org/junit#junit-bom/5.9.1": {
|
||||
"module": "sha256-kCbBZWaQ+hRa117Og2dCEaoSrYkwqRsQfC9c3s4vGxw=",
|
||||
"pom": "sha256-sWPBz8j8H9WLRXoA1YbATEbphtdZBOnKVMA6l9ZbSWw="
|
||||
},
|
||||
"org/ow2#ow2/1.5.1": {
|
||||
"pom": "sha256-Mh3bt+5v5PU96mtM1tt0FU1r+kI5HB92OzYbn0hazwU="
|
||||
},
|
||||
"org/ow2/asm#asm-commons/9.4": {
|
||||
"jar": "sha256-DBKKnsPzPJiVknL20WzxQke1CPWJUVdLzb0rVtYyY2Q=",
|
||||
"pom": "sha256-tCyiq8+IEXdqXdwCkPIQbX8xP4LHiw3czVzOTGOjUXk="
|
||||
},
|
||||
"org/ow2/asm#asm-tree/9.4": {
|
||||
"jar": "sha256-xC1HnPJFZqIesgr37q7vToa9tKiGMGz3L0g7ZedbKs8=",
|
||||
"pom": "sha256-x+nvk73YqzYwMs5TgvzGTQAtbFicF1IzI2zSmOUaPBY="
|
||||
},
|
||||
"org/ow2/asm#asm/9.4": {
|
||||
"jar": "sha256-OdDis9xFr2Wgmwl5RXUKlKEm4FLhJPk0aEQ6HQ4V84E=",
|
||||
"pom": "sha256-SDdR5I+y0fQ8Ya06sA/6Rm7cAzPY/C/bWibpXTKYI5Q="
|
||||
},
|
||||
"org/sonatype/oss#oss-parent/7": {
|
||||
"pom": "sha256-tR+IZ8kranIkmVV/w6H96ne9+e9XRyL+kM5DailVlFQ="
|
||||
},
|
||||
"org/sonatype/oss#oss-parent/9": {
|
||||
"pom": "sha256-+0AmX5glSCEv+C42LllzKyGH7G8NgBgohcFO8fmCgno="
|
||||
},
|
||||
"org/springframework#spring-framework-bom/5.3.24": {
|
||||
"module": "sha256-GZbh9hfLA/p26hGFD+Kh4gsOMKEEa6bV2zvbv0QRP84=",
|
||||
"pom": "sha256-U1ITVmu77+Jjag1OjdGnOt5hLiQwyP/TENzCo7O5ukE="
|
||||
},
|
||||
"org/vafer#jdependency/2.8.0": {
|
||||
"jar": "sha256-v9LMfhv8eKqDtEwKVL8s3jikOC7CRyivaD2Y3GvngZI=",
|
||||
"pom": "sha256-EBhn8/npJlei74mjELYE1D0JDJuQqj4LBS3NFqO78y0="
|
||||
}
|
||||
},
|
||||
"https://repo.maven.apache.org/maven2": {
|
||||
"com/google/code/findbugs#jsr305/3.0.2": {
|
||||
"jar": "sha256-dmrSoHg/JoeWLIrXTO7MOKKLn3Ki0IXuQ4t4E+ko0Mc=",
|
||||
"pom": "sha256-GYidvfGyVLJgGl7mRbgUepdGRIgil2hMeYr+XWPXjf4="
|
||||
},
|
||||
"com/google/errorprone#error_prone_annotations/2.18.0": {
|
||||
"jar": "sha256-nmgUy3GBaYik/RsHqZOo8hu3BY1SLBYrHehJ4ZvqVK4=",
|
||||
"pom": "sha256-kgE1eX3MpZF7WlwBdkKljTQKTNG80S9W+JKlZjvXvdw="
|
||||
},
|
||||
"com/google/errorprone#error_prone_parent/2.18.0": {
|
||||
"pom": "sha256-R/Iumce/RmOR3vFvg3eYXl07pvW7z2WFNkSAVRPhX60="
|
||||
},
|
||||
"com/google/guava#failureaccess/1.0.1": {
|
||||
"jar": "sha256-oXHuTHNN0tqDfksWvp30Zhr6typBra8x64Tf2vk2yiY=",
|
||||
"pom": "sha256-6WBCznj+y6DaK+lkUilHyHtAopG1/TzWcqQ0kkEDxLk="
|
||||
},
|
||||
"com/google/guava#guava-parent/26.0-android": {
|
||||
"pom": "sha256-+GmKtGypls6InBr8jKTyXrisawNNyJjUWDdCNgAWzAQ="
|
||||
},
|
||||
"com/google/guava#guava-parent/32.1.2-jre": {
|
||||
"pom": "sha256-iOnLAHM1q1/bMUpuPJh3NOwjCMmgY/90fHRpGJ0Kkr8="
|
||||
},
|
||||
"com/google/guava#guava/32.1.2-jre": {
|
||||
"jar": "sha256-vGXep8/Z5NrPhBnYrw50FlWFfSeIW7NdlD1xh/w6j84=",
|
||||
"module": "sha256-5Azwhc7QWrGPnJTnx7wZfhzbaVvJOa/DRKskwUFNbH4=",
|
||||
"pom": "sha256-PyCFltceCDmyU6SQr0mjbvf9tFG+kKQqsd+els/TFmA="
|
||||
},
|
||||
"com/google/guava#listenablefuture/9999.0-empty-to-avoid-conflict-with-guava": {
|
||||
"jar": "sha256-s3KgN9QjCqV/vv/e8w/WEj+cDC24XQrO0AyRuXTzP5k=",
|
||||
"pom": "sha256-GNSx2yYVPU5VB5zh92ux/gXNuGLvmVSojLzE/zi4Z5s="
|
||||
},
|
||||
"com/google/j2objc#j2objc-annotations/2.8": {
|
||||
"jar": "sha256-8CqV+hpele2z7YWf0Pt99wnRIaNSkO/4t03OKrf01u0=",
|
||||
"pom": "sha256-N/h3mLGDhRE8kYv6nhJ2/lBzXvj6hJtYAMUZ1U2/Efg="
|
||||
},
|
||||
"net/java/dev/jna#jna/5.13.0": {
|
||||
"jar": "sha256-ZtT4GaBipRodVie//CP6xV0Wd/Dgof66FEqr3WcKZLs=",
|
||||
"pom": "sha256-9RXCV4F49FJH7Mp6nh2xCVMbHELyQk4lPO6w9rjUI3Q="
|
||||
},
|
||||
"org/apiguardian#apiguardian-api/1.1.2": {
|
||||
"jar": "sha256-tQlEisUG1gcxnxglN/CzXXEAdYLsdBgyofER5bW3Czg=",
|
||||
"module": "sha256-4IAoExN1s1fR0oc06aT7QhbahLJAZByz7358fWKCI/w=",
|
||||
"pom": "sha256-MjVQgdEJCVw9XTdNWkO09MG3XVSemD71ByPidy5TAqA="
|
||||
},
|
||||
"org/checkerframework#checker-qual/3.33.0": {
|
||||
"jar": "sha256-4xYlW7/Nn+UNFlMUuFq7KzPLKmapPEkdtkjkmKgsLeE=",
|
||||
"module": "sha256-6FIddWJdQScsdn0mKhU6wWPMUFtmZEou9wX6iUn/tOU=",
|
||||
"pom": "sha256-9VqSICenj92LPqFaDYv+P+xqXOrDDIaqivpKW5sN9gM="
|
||||
},
|
||||
"org/ejml#ejml-all/0.43": {
|
||||
"jar": "sha256-GBDaHXRTexoIeerYHHHOSEzBQtS4mBV3pHdTeeiSRXg=",
|
||||
"module": "sha256-L6r5GgeR5U0jw5CXL7StUdLFxf+56s9RWMjeW/99Fh0=",
|
||||
"pom": "sha256-+XUcA/lcos9UotaxcRsnIRzRJH2aVVonBGCwQY5e7Q4="
|
||||
},
|
||||
"org/ejml#ejml-cdense/0.43": {
|
||||
"jar": "sha256-p/w9/byGtxRqOJB0OtalJrtqvzSSisXjK8RwzbYsE1k=",
|
||||
"module": "sha256-xtKuzLBpMx9PhMnUTOhX41MA6OU7MClSnmPcZcNx7lU=",
|
||||
"pom": "sha256-aUxBPx4SPy6EBQJ9BFapzLVpIfeRUIQ0GHOZxkSAc4Q="
|
||||
},
|
||||
"org/ejml#ejml-core/0.43": {
|
||||
"jar": "sha256-gk82hbw41d6uHMHu7CM+HDSwxb6c4cTnKd607pAZTdg=",
|
||||
"module": "sha256-vB0hwXsc0fHk3liP1x8j5GLeFb9amF3+gJjTtgkd1mE=",
|
||||
"pom": "sha256-i9r882Z7d9gILFuLJapI0N4vRTiXx8tYJXhGVcDMA9E="
|
||||
},
|
||||
"org/ejml#ejml-ddense/0.43": {
|
||||
"jar": "sha256-Ca8oTFIJ4IRxe0z/nphVqMgpiybCl7cPt+BGLQEtiKg=",
|
||||
"module": "sha256-+L5P/I+yqBHlZ3PfNHN54ayy0fYiI9t2vkoZGnFlnBM=",
|
||||
"pom": "sha256-k+Z/WVJU1qok5L6QWr9IAkLgMyNT7VLxLv9/jw3gPNk="
|
||||
},
|
||||
"org/ejml#ejml-dsparse/0.43": {
|
||||
"jar": "sha256-YOK/6s0bydXtWJdYrLkw5M89aVS+Peen4m7SGfI/qpE=",
|
||||
"module": "sha256-OsTQjsRuw2tZ8Z2VfhZAMHhfqHsDnmwv0rHEx2CHGvs=",
|
||||
"pom": "sha256-JSXdCWEaCIyfxWiF/D2SY6g09hqHSv8k3Iv+pZ9CM7A="
|
||||
},
|
||||
"org/ejml#ejml-fdense/0.43": {
|
||||
"jar": "sha256-aYfzCUarOrYBhVEjityoqiLzU2L4G96rQjzxeO0y0Jk=",
|
||||
"module": "sha256-17G6273LePZWgSnUvNNC24Lpt8vVz3P7IfAZH6BFL2Q=",
|
||||
"pom": "sha256-/F3shPgpX84LhBM8+nH5wpqI0QYATYNwwbn8b3dFT7U="
|
||||
},
|
||||
"org/ejml#ejml-fsparse/0.43": {
|
||||
"jar": "sha256-WkZs60HHQxRvAOJRw1MdF5YOWcUTlgSeuhsCtkNu/dk=",
|
||||
"module": "sha256-A+2C1L2rpq23TqKBw8KT9OPTCzkmXZiqdH4oSZyDcPE=",
|
||||
"pom": "sha256-Hp1uhLrUX26LLWlIe/vdsz1+Krc/MJex8/0TNpX8juo="
|
||||
},
|
||||
"org/ejml#ejml-simple/0.43": {
|
||||
"jar": "sha256-PS0FZYn+8he1J2U+g+w2luZnilf43xc1wq2sBSSZxnM=",
|
||||
"module": "sha256-EhdXX+Zg0uocDt2CVGiDKcUP0u0Q4+1NcRFphpdrR2k=",
|
||||
"pom": "sha256-RHst4Wksfb/vM9colSeK6GQae5HlWDZjwVOqEOtLBNc="
|
||||
},
|
||||
"org/ejml#ejml-zdense/0.43": {
|
||||
"jar": "sha256-aGU63SwAt+cT2nXFZ2HbTzm+GXQsjxLbNuJ2IKy0f1M=",
|
||||
"module": "sha256-N0BJcmoNrj/LPbwuAaxra+6I7myj4Z8naR9xXWVHK8o=",
|
||||
"pom": "sha256-Ejz7uqu3F0Lzd/9mXGEk2SPvNrSgfXLNZqUKhwvoBaU="
|
||||
},
|
||||
"org/jetbrains#annotations/13.0": {
|
||||
"jar": "sha256-rOKhDcji1f00kl7KwD5JiLLA+FFlDJS4zvSbob0RFHg=",
|
||||
"pom": "sha256-llrrK+3/NpgZvd4b96CzuJuCR91pyIuGN112Fju4w5c="
|
||||
},
|
||||
"org/jetbrains/intellij/deps#trove4j/1.0.20200330": {
|
||||
"jar": "sha256-xf1yW/+rUYRr88d9sTg8YKquv+G3/i8A0j/ht98KQ50=",
|
||||
"pom": "sha256-h3IcuqZaPJfYsbqdIHhA8WTJ/jh1n8nqEP/iZWX40+k="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-build-common/2.0.20": {
|
||||
"jar": "sha256-NvDXXOmviQZNnbT9IeIsVQdyAP5OOufZnjREmCZ6oNs=",
|
||||
"pom": "sha256-EOhYxaCAxN21Wx0GvujV6Ea4YQX1aw5A8ojj+mGWEXI="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-build-tools-api/2.0.20": {
|
||||
"jar": "sha256-V+1QIg547DnoqAAUMw8pXlSFtWOMESmvntfVPXhYxcI=",
|
||||
"pom": "sha256-nHrVho+yGJsb9NbCL2yUmDs6jhopTpWlQSy4Lg9C3bI="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-build-tools-impl/2.0.20": {
|
||||
"jar": "sha256-nOb4Gmmcw32zY6KDcVC8YqJJA9r2EhA00Sl5qpUBRGs=",
|
||||
"pom": "sha256-DyiqOx3o2AWm+HlX08PWbDOeDEMmaZlc9Zf58r6J4II="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-compiler-embeddable/2.0.20": {
|
||||
"jar": "sha256-o2BL81DIvM4nECFYu7OD+k0YFLxIaq7VnyeOraUf9q0=",
|
||||
"pom": "sha256-WXBD+4xlJ/QpmcoE7TUpY5Is0W5piKqlLT2zLaHbhZ0="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-compiler-runner/2.0.20": {
|
||||
"jar": "sha256-4DzwSwNA8a4VEhBjC10pFcKXmIxuIuTe206nz7dKz2c=",
|
||||
"pom": "sha256-3M3xugxPzYvUIwNFroP6fb6SglY9ilP9XmHFM1tbcYA="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-daemon-client/2.0.20": {
|
||||
"jar": "sha256-cxUswf2CHQcTlHOry/jH0B0A5oaEuWHhkurogNycfaQ=",
|
||||
"pom": "sha256-qUcReIj0z/tjk9QurqYRtj31ib8pYXgmzLclNxK/OsM="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-daemon-embeddable/2.0.20": {
|
||||
"jar": "sha256-W9URO4WrhSjhkuK7P8GX9bw0SLzb0Fh5Czf9N/TuV68=",
|
||||
"pom": "sha256-IZgoJm6keO7rQuT1L5bQuQfYykhHz4aq45FprYsupKU="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-klib-commonizer-embeddable/2.0.20": {
|
||||
"jar": "sha256-ZzHCVkuXOXGDWCVJAUC3rZ63Jtk4/gzvTr7y7Fkt6wM=",
|
||||
"pom": "sha256-rVSg2nLxASl08e7sdp2EopMnzzfMrVUxt4cT/GD0tnY="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-native-prebuilt/2.0.20": {
|
||||
"pom": "sha256-xYoRfPul4AVC+QrYLytqsh4Z46Ifzvy0mLq5k69FDwY="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-reflect/1.6.10": {
|
||||
"jar": "sha256-MnesECrheq0QpVq+x1/1aWyNEJeQOWQ0tJbnUIeFQgM=",
|
||||
"pom": "sha256-V5BVJCdKAK4CiqzMJyg/a8WSWpNKBGwcxdBsjuTW1ak="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-script-runtime/2.0.20": {
|
||||
"jar": "sha256-/pcAKmeY9yB1ZGSJGdbuzPszi5XcBLSIhthWZVvGSk4=",
|
||||
"pom": "sha256-o6N2KcmFzt17+d12rGdJaz+ApZIoVB6WiAKg7obEuRQ="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-scripting-common/2.0.20": {
|
||||
"jar": "sha256-XTdTOT5/7PHSG67l2314gyZ4K9v4qOxqKyzM97Ve5sY=",
|
||||
"pom": "sha256-BesUmiCZ8ILJf1xFQ1HQuMphLFUwo6wyHSyMB12wEVU="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-scripting-compiler-embeddable/2.0.20": {
|
||||
"jar": "sha256-Ie8wOrS54Pnzl8FIliU6rkkCV7+w3VAInBwcBPAYcXE=",
|
||||
"pom": "sha256-zr8swRmuHPJqP2tECxidwrruhS0nASU06qNqrNue4VI="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-scripting-compiler-impl-embeddable/2.0.20": {
|
||||
"jar": "sha256-WgaucwO1TL0XdYnWEFumv9WbGxgur7W2aHJf9ypf0y0=",
|
||||
"pom": "sha256-z6al9YOJy3K0SRLTABoB9eqL+vx5mbr6BRGz7t/LYdI="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-scripting-jvm/2.0.20": {
|
||||
"jar": "sha256-sLtQD2MztLFsjraeo5TvaE8zRT+NNDEDSokHqfGNtvE=",
|
||||
"pom": "sha256-m8uNHCOvcm21KpNrpbkXeyRoKSBYxT8Ckd5MwNpOzh4="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-stdlib/2.0.20": {
|
||||
"jar": "sha256-+xaVlmWaUYNXxLLBb0PcdascSYBWXtS0oxegUOXjkAY=",
|
||||
"module": "sha256-3AUdwExqGW8tBtDTya8zufErybT+E5rhKQFAUII2tns=",
|
||||
"pom": "sha256-Cu6WIJHn3QKIzDykz0qSjFYgcUYCEb+PQXkAkwbmGf4="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-stdlib/2.0.20/all": {
|
||||
"jar": "sha256-UP+t6yC00kVqUmWVpPep6FiJaCcVBz5s26Gx2A461Fg="
|
||||
},
|
||||
"org/jetbrains/kotlin/kotlin-native-prebuilt/2.0.20/kotlin-native-prebuilt-2.0.20-linux-x86_64": {
|
||||
"tar.gz": "sha256-soKRi19RWLL41bU94ICTpyIG/CO5E4Lh3dJjDHIChCc="
|
||||
},
|
||||
"org/jetbrains/kotlinx#kotlinx-coroutines-bom/1.6.4": {
|
||||
"pom": "sha256-qyYUhV+6ZqqKQlFNvj1aiEMV/+HtY/WTLnEKgAYkXOE="
|
||||
},
|
||||
"org/jetbrains/kotlinx#kotlinx-coroutines-core-jvm/1.6.4": {
|
||||
"jar": "sha256-wkyLsnuzIMSpOHFQGn5eDGFgdjiQexl672dVE9TIIL4=",
|
||||
"module": "sha256-DZTIpBSD58Jwfr1pPhsTV6hBUpmM6FVQ67xUykMho6c=",
|
||||
"pom": "sha256-Cdlg+FkikDwuUuEmsX6fpQILQlxGnsYZRLPAGDVUciQ="
|
||||
},
|
||||
"org/junit#junit-bom/5.10.0": {
|
||||
"module": "sha256-6z7mEnYIAQaUqJgFbnQH0RcpYAOrpfXbgB30MLmIf88=",
|
||||
"pom": "sha256-4AbdiJT5/Ht1/DK7Ev5e2L5lZn1bRU+Z4uC4xbuNMLM="
|
||||
},
|
||||
"org/junit/jupiter#junit-jupiter-api/5.10.0": {
|
||||
"jar": "sha256-EICI/X6kao5loM5/XXWuP/eGVgZ3CgeHFfWm5XCeF9g=",
|
||||
"module": "sha256-rlZhzTgeEJo8NXWzqy3tdHnnvdfOxKqfJtQ3iXNAl5s=",
|
||||
"pom": "sha256-Tx3RjtVlgTdJThuDUFN5V994ExxnNYrDw/IM3vKF9xw="
|
||||
},
|
||||
"org/junit/jupiter#junit-jupiter-engine/5.10.0": {
|
||||
"jar": "sha256-V+pI5veVIAeRBlu8hrcLhM0FNnxcnyrI+SaOJxVMiKg=",
|
||||
"module": "sha256-ahCFcpBdHtGcAtzQePNMHt6zFVX1RCF24BQYJwCFYmo=",
|
||||
"pom": "sha256-tgBsZQiRofdWh1Z2xtj+m0FqwckRfntBg0KdnxU0crU="
|
||||
},
|
||||
"org/junit/jupiter#junit-jupiter-params/5.10.0": {
|
||||
"jar": "sha256-8lmnMizON1QwwiNqLcsk1KSdIgRbcjrYWviOEXBDkcI=",
|
||||
"module": "sha256-GW9/Tv35x3OnEEwzn2AlNCuHQvz6sC+IArqAJ+0o+S4=",
|
||||
"pom": "sha256-hJpvXnjyuDFLW10KDMymYhblwH4pWFRxJX3/CvrLELE="
|
||||
},
|
||||
"org/junit/jupiter#junit-jupiter/5.10.0": {
|
||||
"jar": "sha256-jkveI+4o/EQ5dWVKeyjEEKO3jWvpa3jJmrc2lew0T3w=",
|
||||
"module": "sha256-BXDggypUZagvBKK492Hyux4w+v4oLSowmHAV/LBQdgM=",
|
||||
"pom": "sha256-9LAPh2BzWmAc6U0sxq0r9WpK30885g7iD1LHDa5bMxM="
|
||||
},
|
||||
"org/junit/platform#junit-platform-commons/1.10.0": {
|
||||
"jar": "sha256-YIPbCMoR/KHhYJnQ3P7eAZPYCzdisnY0nYDT2lNnkbI=",
|
||||
"module": "sha256-jLYNPfgdYG6hvj4/yuVpdlOxswPi96mCKn7RJkdF/Cc=",
|
||||
"pom": "sha256-vkEftVMxuqETp0wRkA8HVVhasg76cMJtlQ9a4hRJALA="
|
||||
},
|
||||
"org/junit/platform#junit-platform-engine/1.10.0": {
|
||||
"jar": "sha256-zTOO/QLuc5Zup1TgwMceGhH0r125wgA+S2E34RkVWr4=",
|
||||
"module": "sha256-duCMg/k91SuD6IW5AJIMHcheNoaID2ZTrysiMX9N3jc=",
|
||||
"pom": "sha256-+RGG4YGx4VrofVJ5uaKzDGLO1ROQE6NJoQu03hL6+YI="
|
||||
},
|
||||
"org/junit/platform#junit-platform-launcher/1.10.0": {
|
||||
"jar": "sha256-jGC2YawXBwGmNd/GdWXvu4yFtcXN1aSpV246AVxxEaQ=",
|
||||
"module": "sha256-9dy3QIxCQmA/mb1c3GNcQGbRioKNuF7TcAqo3T6vGmk=",
|
||||
"pom": "sha256-Z3Xvl0dO7JwTo1If5iAPmqG4cegyc9q1VfgEgGW7wRI="
|
||||
},
|
||||
"org/opentest4j#opentest4j/1.3.0": {
|
||||
"jar": "sha256-SOLfY2yrZWPO1k3N/4q7I1VifLI27wvzdZhoLd90Lxs=",
|
||||
"module": "sha256-SL8dbItdyU90ZSvReQD2VN63FDUCSM9ej8onuQkMjg0=",
|
||||
"pom": "sha256-m/fP/EEPPoNywlIleN+cpW2dQ72TfjCUhwbCMqlDs1U="
|
||||
},
|
||||
"org/sonatype/oss#oss-parent/7": {
|
||||
"pom": "sha256-tR+IZ8kranIkmVV/w6H96ne9+e9XRyL+kM5DailVlFQ="
|
||||
},
|
||||
"org/sonatype/oss#oss-parent/9": {
|
||||
"pom": "sha256-+0AmX5glSCEv+C42LllzKyGH7G8NgBgohcFO8fmCgno="
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,97 @@
|
||||
{
|
||||
stdenv,
|
||||
lib,
|
||||
gradle,
|
||||
jdk21_headless,
|
||||
fetchFromGitHub,
|
||||
stripJavaArchivesHook,
|
||||
wrapGAppsHook4,
|
||||
nix-update-script,
|
||||
makeWrapper,
|
||||
pkg-config,
|
||||
gtk4,
|
||||
libadwaita,
|
||||
glib,
|
||||
pango,
|
||||
gdk-pixbuf,
|
||||
atk,
|
||||
cairo,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "coulomb";
|
||||
version = "0.6.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "hamza-algohary";
|
||||
repo = "Coulomb";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-SbtFUUla0uoeDik+7CtibV/lvgUg8N81WWRp2+8wygM=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace app/build.gradle.kts \
|
||||
--replace-fail "languageVersion.set(JavaLanguageVersion.of(19))" "languageVersion.set(JavaLanguageVersion.of(21))"
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
gradle
|
||||
jdk21_headless
|
||||
makeWrapper
|
||||
pkg-config
|
||||
stripJavaArchivesHook
|
||||
wrapGAppsHook4
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
gtk4
|
||||
libadwaita
|
||||
glib
|
||||
pango
|
||||
gdk-pixbuf
|
||||
atk
|
||||
cairo
|
||||
];
|
||||
|
||||
mitmCache = gradle.fetchDeps {
|
||||
inherit (finalAttrs) pname;
|
||||
data = ./deps.json;
|
||||
};
|
||||
|
||||
gradleFlags = [ "-Dfile.encoding=utf-8" ];
|
||||
|
||||
dontWrapGApps = true;
|
||||
|
||||
doCheck = true;
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out/{bin,share/coulomb,lib-jna}
|
||||
cp app/build/libs/app-all.jar $out/share/coulomb/
|
||||
|
||||
mkdir -p $out/share/{applications,icons/{dark,light,hicolor/scalable/apps}}
|
||||
cp app/build/resources/main/*.desktop $out/share/applications
|
||||
cp -r app/build/resources/main/icons/vector/* $out/share/icons/
|
||||
cp app/build/resources/main/icons/vector/light/coulomb.svg $out/share/icons/hicolor/scalable/apps/io.github.hamza_algohary.Coulomb.svg
|
||||
|
||||
makeWrapper ${jdk21_headless}/bin/java $out/bin/coulomb \
|
||||
--add-flags "-Djava.library.path=${lib.makeLibraryPath finalAttrs.buildInputs}" \
|
||||
--add-flags "-jar $out/share/coulomb/app-all.jar" \
|
||||
--prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath finalAttrs.buildInputs}" \
|
||||
''${gappsWrapperArgs[@]}
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
meta = {
|
||||
description = "Simple and beautiful circuit simulator app";
|
||||
homepage = "https://github.com/hamza-algohary/Coulomb";
|
||||
license = lib.licenses.gpl3Only;
|
||||
maintainers = with lib.maintainers; [ thtrf ];
|
||||
platforms = lib.platforms.linux;
|
||||
mainProgram = "coulomb";
|
||||
};
|
||||
})
|
||||
@@ -223,12 +223,13 @@ stdenv.mkDerivation {
|
||||
'';
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
meta = {
|
||||
description = "All-in-one collaboration suite";
|
||||
homepage = "https://www.feishu.cn/en/";
|
||||
downloadPage = "https://www.feishu.cn/en/#en_home_download_block";
|
||||
license = licenses.unfree;
|
||||
license = lib.licenses.unfree;
|
||||
platforms = supportedPlatforms;
|
||||
maintainers = with maintainers; [ billhuang ];
|
||||
maintainers = with lib.maintainers; [ billhuang ];
|
||||
mainProgram = "bytedance-feishu";
|
||||
};
|
||||
}
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
let
|
||||
pname = "gate";
|
||||
version = "0.48.1";
|
||||
version = "0.49.1";
|
||||
in
|
||||
buildGoModule {
|
||||
inherit pname version;
|
||||
@@ -15,10 +15,10 @@ buildGoModule {
|
||||
owner = "minekube";
|
||||
repo = "gate";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-e6NJlKAo9Y2HGcOF3rfystTRerqgicKVZ+1g2zsQq9g=";
|
||||
hash = "sha256-gDRw/YQtIpYiX3uKjvmttbVkohj2k5f+pvv+xYyY3S8=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-gho3OJvDTRTHg+ITCvR49oq9pBUZj7i7rtpSIctmTcY=";
|
||||
vendorHash = "sha256-4LJwb4ZXs+CUcxhvRveJy+xu7/UEjxIEwLV5Z5gBbT4=";
|
||||
|
||||
ldflags = [
|
||||
"-s"
|
||||
|
||||
@@ -0,0 +1,49 @@
|
||||
{
|
||||
lib,
|
||||
buildGoModule,
|
||||
fetchFromGitHub,
|
||||
installShellFiles,
|
||||
stdenv,
|
||||
}:
|
||||
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "geminicommit";
|
||||
version = "0.2.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "tfkhdyt";
|
||||
repo = "geminicommit";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-dWJzS9vfEEvfPA5IS5WZDwoNMaXXNuVIb3p2xZvSbbQ=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-+eKJLXgKuUHelUjD8MpMa+cRP+clmYK+1olcb/jmabk=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
installShellFiles
|
||||
];
|
||||
|
||||
postInstall =
|
||||
let
|
||||
cmd = finalAttrs.meta.mainProgram;
|
||||
in
|
||||
lib.optionalString (with stdenv; buildPlatform.canExecute hostPlatform) ''
|
||||
# `geminicommit` requires write permissions to $HOME for its `config.toml`
|
||||
# ... which is automatically initiated on startup
|
||||
export HOME=$(mktemp -d)
|
||||
|
||||
for shell in bash zsh fish; do
|
||||
installShellCompletion \
|
||||
--cmd "${cmd}" \
|
||||
--"$shell" <($out/bin/"${cmd}" completion "$shell")
|
||||
done
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "CLI that generates git commit messages with Google Gemini AI";
|
||||
homepage = "https://github.com/tfkhdyt/geminicommit";
|
||||
license = lib.licenses.gpl3Only;
|
||||
maintainers = with lib.maintainers; [ bryango ];
|
||||
mainProgram = "geminicommit";
|
||||
};
|
||||
})
|
||||
@@ -6,16 +6,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "kwok";
|
||||
version = "0.6.1";
|
||||
version = "0.7.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "kubernetes-sigs";
|
||||
repo = "kwok";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-RVyXGPT30Fz+K1VdMneYldXvzHyimuCX406DMKOtUq4=";
|
||||
hash = "sha256-gtDGkAXbNCWUVGL4+C6mOkWwrPcik6+nGEQNrjLb57U=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-xzFbcsL6pz91GFwjkriTMKlX2fgm2NMO9+H3lqH/C2c=";
|
||||
vendorHash = "sha256-UNso+e/zYah0jApHZgWnQ3cUSV44HsMqPy4q4JMCyiA=";
|
||||
|
||||
doCheck = false; # docker is need for test
|
||||
|
||||
|
||||
@@ -0,0 +1,115 @@
|
||||
{
|
||||
lib,
|
||||
rustPlatform,
|
||||
fetchFromGitea,
|
||||
pkg-config,
|
||||
bzip2,
|
||||
zstd,
|
||||
stdenv,
|
||||
rocksdb,
|
||||
nix-update-script,
|
||||
testers,
|
||||
matrix-continuwuity,
|
||||
enableBlurhashing ? true,
|
||||
# upstream continuwuity enables jemalloc by default, so we follow suit
|
||||
enableJemalloc ? true,
|
||||
rust-jemalloc-sys,
|
||||
enableLiburing ? stdenv.hostPlatform.isLinux,
|
||||
liburing,
|
||||
nixosTests,
|
||||
}:
|
||||
let
|
||||
rust-jemalloc-sys' = rust-jemalloc-sys.override {
|
||||
unprefixed = !stdenv.hostPlatform.isDarwin;
|
||||
};
|
||||
rocksdb' = rocksdb.override {
|
||||
inherit enableLiburing;
|
||||
# rocksdb does not support prefixed jemalloc, which is required on darwin
|
||||
enableJemalloc = enableJemalloc && !stdenv.hostPlatform.isDarwin;
|
||||
jemalloc = rust-jemalloc-sys';
|
||||
};
|
||||
in
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "matrix-continuwuity";
|
||||
version = "0.5.0-rc.5";
|
||||
|
||||
src = fetchFromGitea {
|
||||
domain = "forgejo.ellis.link";
|
||||
owner = "continuwuation";
|
||||
repo = "continuwuity";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-Oq2scBu3Ewao828BT1QGffqIqF5WoH9HMXEXKg1YU0o=";
|
||||
};
|
||||
|
||||
useFetchCargoVendor = true;
|
||||
cargoHash = "sha256-bjjGR3++CaDEtlsQj9GgdViCEB5l72sI868uTFBtIwg=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
rustPlatform.bindgenHook
|
||||
];
|
||||
|
||||
buildInputs =
|
||||
[
|
||||
bzip2
|
||||
zstd
|
||||
]
|
||||
++ lib.optional enableJemalloc rust-jemalloc-sys'
|
||||
++ lib.optional enableLiburing liburing;
|
||||
|
||||
env = {
|
||||
ZSTD_SYS_USE_PKG_CONFIG = true;
|
||||
ROCKSDB_INCLUDE_DIR = "${rocksdb'}/include";
|
||||
ROCKSDB_LIB_DIR = "${rocksdb'}/lib";
|
||||
};
|
||||
|
||||
buildNoDefaultFeatures = true;
|
||||
# See https://forgejo.ellis.link/continuwuation/continuwuity/src/branch/main/Cargo.toml
|
||||
# for available features.
|
||||
# We enable all default features except jemalloc, blurhashing, and io_uring, which
|
||||
# we guard behind our own (default-enabled) flags.
|
||||
buildFeatures =
|
||||
[
|
||||
"brotli_compression"
|
||||
"element_hacks"
|
||||
"gzip_compression"
|
||||
"media_thumbnail"
|
||||
"release_max_log_level"
|
||||
"systemd"
|
||||
"url_preview"
|
||||
"zstd_compression"
|
||||
]
|
||||
++ lib.optional enableBlurhashing "blurhashing"
|
||||
++ lib.optional enableJemalloc [
|
||||
"jemalloc"
|
||||
"jemalloc_conf"
|
||||
]
|
||||
++ lib.optional enableLiburing "io_uring";
|
||||
|
||||
passthru = {
|
||||
updateScript = nix-update-script { };
|
||||
tests =
|
||||
{
|
||||
version = testers.testVersion {
|
||||
inherit (finalAttrs) version;
|
||||
package = matrix-continuwuity;
|
||||
};
|
||||
}
|
||||
// lib.optionalAttrs stdenv.hostPlatform.isLinux {
|
||||
inherit (nixosTests) matrix-continuwuity;
|
||||
};
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "Matrix homeserver written in Rust, forked from conduwuit";
|
||||
homepage = "https://continuwuity.org/";
|
||||
changelog = "https://forgejo.ellis.link/continuwuation/continuwuity/releases/tag/v${finalAttrs.version}";
|
||||
license = lib.licenses.asl20;
|
||||
maintainers = with lib.maintainers; [
|
||||
nyabinary
|
||||
snaki
|
||||
];
|
||||
# Not a typo, continuwuity is a drop-in replacement for conduwuit.
|
||||
mainProgram = "conduwuit";
|
||||
};
|
||||
})
|
||||
@@ -0,0 +1,27 @@
|
||||
From 44679bc1a03302aa6b1eb19220d9723e9e0e4d3f Mon Sep 17 00:00:00 2001
|
||||
From: usertam <code@usertam.dev>
|
||||
Date: Fri, 16 May 2025 23:29:41 +0800
|
||||
Subject: [PATCH] ignore obstack_free alias on darwin
|
||||
|
||||
clang will complain "error: aliases are not supported on darwin".
|
||||
---
|
||||
obstack.c | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/obstack.c b/obstack.c
|
||||
index 1f2f4c7..b9be9dd 100644
|
||||
--- a/obstack.c
|
||||
+++ b/obstack.c
|
||||
@@ -294,7 +294,9 @@ _obstack_free (struct obstack *h, void *obj)
|
||||
abort ();
|
||||
}
|
||||
|
||||
+#ifndef __APPLE__
|
||||
extern __typeof(_obstack_free) obstack_free __attribute__((alias("_obstack_free")));
|
||||
+#endif
|
||||
|
||||
_OBSTACK_SIZE_T
|
||||
_obstack_memory_used (struct obstack *h)
|
||||
--
|
||||
2.48.1
|
||||
|
||||
@@ -17,6 +17,10 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "sha256-oydS7FubUniMHAUWfg84OH9+CZ0JCrTXy7jzwOyJzC8=";
|
||||
};
|
||||
|
||||
patches = lib.optionals stdenv.isDarwin [
|
||||
./0001-ignore-obstack_free-alias-on-darwin.patch
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
autoreconfHook
|
||||
pkg-config
|
||||
@@ -27,7 +31,7 @@ stdenv.mkDerivation rec {
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/void-linux/musl-obstack";
|
||||
description = "An extraction of the obstack functions and macros from GNU libiberty for use with musl-libc";
|
||||
platforms = platforms.linux;
|
||||
platforms = platforms.unix;
|
||||
license = licenses.lgpl21Plus;
|
||||
maintainers = [ maintainers.pjjw ];
|
||||
};
|
||||
|
||||
@@ -8,16 +8,16 @@
|
||||
|
||||
buildNpmPackage (finalAttrs: {
|
||||
pname = "particle-cli";
|
||||
version = "3.35.8";
|
||||
version = "3.35.10";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "particle-iot";
|
||||
repo = "particle-cli";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-t4alWb6W6AHBAsyRGLBTmjB0JpfzKBQ+yt2LESuU7YE=";
|
||||
hash = "sha256-u1QiV8KNG5tRrSqKkoSljCvaGw5rExSVC71IQaC5hPI=";
|
||||
};
|
||||
|
||||
npmDepsHash = "sha256-FEpj9u0KqQ+yLtwFgahun6AUSolbEiWjWstglD9yyQ8=";
|
||||
npmDepsHash = "sha256-QIyq/hmZFjt2mpH61ZaCTPve8QvDTSm2Ijwa5thrKkM=";
|
||||
|
||||
buildInputs = [
|
||||
udev
|
||||
|
||||
@@ -123,5 +123,6 @@ python3.pkgs.buildPythonApplication rec {
|
||||
maintainers = with maintainers; [ emily ];
|
||||
license = licenses.gpl3Plus;
|
||||
platforms = platforms.unix;
|
||||
mainProgram = "whipper";
|
||||
};
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
fetchurl,
|
||||
}:
|
||||
let
|
||||
version = "110.99.7.1";
|
||||
version = "110.99.8";
|
||||
baseurl = "https://smlnj.cs.uchicago.edu/dist/working/${version}";
|
||||
|
||||
arch = if stdenv.hostPlatform.is64bit then "64" else "32";
|
||||
|
||||
@@ -1,27 +1,27 @@
|
||||
{
|
||||
"boot.amd64-unix.tgz": "sha256-qgcD8MrTXg9xa0EsIxJyKXYO4FpEVa4/YCG0zuhH11Q=",
|
||||
"boot.x86-unix.tgz": "sha256-VUJMOa8pBeDFOLivGaPC0BbtAsgJXjcjpzJgwpgOh1o=",
|
||||
"config.tgz": "sha256-frBrrZNeG8DAOimVjUKR2j9iXhxrFA6LcDbNbyZEEoE=",
|
||||
"cm.tgz": "sha256-+BLucH3PHt4JJpjofoVptIiTdrxplygq81kpy3VOBmo=",
|
||||
"compiler.tgz": "sha256-9dPAnqpeadTMqIJKfnoa0WvceATt+VLcKgg0auHjIWM=",
|
||||
"runtime.tgz": "sha256-XbmBENbIDng/KEW0Sq/45uFZ4/pp2avGJHa+XNotwIU=",
|
||||
"system.tgz": "sha256-IoYZiOd+ZoE7zlJWzHNP3kIZ9/zvvdNBcTj+W1feRio=",
|
||||
"MLRISC.tgz": "sha256-Jt0g+Rblt/eClAekeZkfPmssFB8FVqkdjzAs9q/VfGs=",
|
||||
"smlnj-lib.tgz": "sha256-TgxzbqbtGlUQYhCmSUwYba5UM//9IKQr6QVEufOxcBM=",
|
||||
"old-basis.tgz": "sha256-dcERPGMHcdASg2CQ9H91mLIeJoHW2l41wZjmt4eAMBI=",
|
||||
"ckit.tgz": "sha256-ZylxTkbF4e/7bIvaAkWKbdtDfDNWS9HWtqkTZZ40qfo=",
|
||||
"nlffi.tgz": "sha256-Z/O5JZeZKiDa5ZHRhLoK321VXk0hpHZg+9D396ClwOA=",
|
||||
"cml.tgz": "sha256-eShOhvwea5TovWDtpXvJeUWuJlBTV0dIOIrMEkVhuPw=",
|
||||
"eXene.tgz": "sha256-JXNvSTofM2tv3GunE9E3OVSfeQan8aTcfhzyouf93BU=",
|
||||
"ml-lpt.tgz": "sha256-5yJupxZA0m3RzgS9G/P49ZrtN9ZfZSE9Min8GdagnLY=",
|
||||
"ml-lex.tgz": "sha256-eJIT4fvCkweJSeZgM+HPd/AQxUx/hfXRj1Ltv//RS8o=",
|
||||
"ml-yacc.tgz": "sha256-/RccvPDAB3VOAHWtQTPz31nFPAIUhcU9NmF+pOVjo2g=",
|
||||
"ml-burg.tgz": "sha256-0Z5dPZV66Rvwa1RWLpjhsRznxmPnsexrLVdGVYspsSA=",
|
||||
"pgraph.tgz": "sha256-BgrF76d98d4xl+a29iZyI1bQKx6jmyC+Ach1Fik0i+4=",
|
||||
"trace-debug-profile.tgz": "sha256-17CWvN1TgZhR4mWzrB9b7lovlcludkT1dLaLPiyR6SI=",
|
||||
"heap2asm.tgz": "sha256-qOLbT71ijcUPt0Rx20Iq+qqYU49dIt3mfzc6f5+y+GM=",
|
||||
"smlnj-c.tgz": "sha256-V6AXfoGGO39XYBDWLDUf7vN2jcG6UUvFteOMF8v6m6Q=",
|
||||
"doc.tgz": "sha256-y8fCPt4PaHsTf3uViMC6YrOapVE0fwJWbSQ8FmELPy0=",
|
||||
"asdl.tgz": "sha256-cDPssSS2GRYrkUGqTCdHUJO+KD6vPy6HpP4NUU1h8Lc=",
|
||||
"version": "110.99.7.1"
|
||||
"boot.amd64-unix.tgz": "sha256-udLexaSne+fK87rcEWauTL2RL7eyLAQclFlHf1348GQ=",
|
||||
"boot.x86-unix.tgz": "sha256-pNPW12mc17QcLq+vg8l8nYmFOEy6VbdCAlRTFwOXL/o=",
|
||||
"config.tgz": "sha256-63pvIXHI4XJ+R2mn7vcvcuxf8a6FYd1giICZeJjbAjs=",
|
||||
"cm.tgz": "sha256-JBjG6OXw0F6DiDSd4O1wiGmRxxj4gXrs+baVevO4Xd0=",
|
||||
"compiler.tgz": "sha256-GsEFh6XhEAi144+r2B0m5n7bWlPwnm5b89JxTBSAGGw=",
|
||||
"runtime.tgz": "sha256-q4ViTS3/OuHkNChRrECOANWshmu0EGtFdSWF5jHIbcU=",
|
||||
"system.tgz": "sha256-x7TzZKUNZFAmnv4iR4bJ0uK+pMVMKrt0F9NViJNw7s8=",
|
||||
"MLRISC.tgz": "sha256-fKWObr2uulRF0HCUaG19xwUkHlSEyB2OmDvjsX9904o=",
|
||||
"smlnj-lib.tgz": "sha256-79ExeRN/w/Tgi+L4FY6th5JKBh1Ga5SqlLZ7kErjYK0=",
|
||||
"old-basis.tgz": "sha256-qkOFr+slwF/kMqH9346RHHqMCFUkhgt43JJedhNjHHI=",
|
||||
"ckit.tgz": "sha256-VxeJBBJviCJGjiT0fb7nXKxPxrM5eZtOjHt9+Nw5wZ8=",
|
||||
"nlffi.tgz": "sha256-miwWceBsB9M4iuFjgwPX1K6Ljx2NXPrL3YczbrSkEco=",
|
||||
"cml.tgz": "sha256-pF0zZdSt8RMWKv7Yb6s3GTvfBiIIOfHqXLAs+tFH02c=",
|
||||
"eXene.tgz": "sha256-XkaLMzyCTYD4vHrd83iZ40ETlZH8TQBO7c4WpqcSF3I=",
|
||||
"ml-lpt.tgz": "sha256-vBZ7QUQSKaLN171usPGyORuxSg965egAwI2HgfylIWU=",
|
||||
"ml-lex.tgz": "sha256-f2cSozI8QCZJByE4FFF8FAJPINAXkfTUeTLCebYS8yw=",
|
||||
"ml-yacc.tgz": "sha256-eS7zzvEkkBg8teP3Kb8wMLXogUM6zLukkBXIEo0mm1Y=",
|
||||
"ml-burg.tgz": "sha256-tRKoTgC0eGBvay6nfS+w8+XFnq2I6oaBltPhSNKCai4=",
|
||||
"pgraph.tgz": "sha256-t7lrnIUHo9QPYP9VUxSc+BW98Ppc7JuBukjenvHy+jk=",
|
||||
"trace-debug-profile.tgz": "sha256-ZEEY14wrAxayLUO7EKcnFRfsN78ZIoONXkNCJ0Wyggk=",
|
||||
"heap2asm.tgz": "sha256-M94j6ElcXRjUYbRZGnvHORBdokEYomC2dB4hbFVOdOM=",
|
||||
"smlnj-c.tgz": "sha256-ebZX6mgIPCBMA4ygCVMJrh8InqVFY/kNZEY0jwbFw6E=",
|
||||
"doc.tgz": "sha256-Jml2Do2yufMtN80avD9ffRt5voTmLFIuMTOaiXLhHwo=",
|
||||
"asdl.tgz": "sha256-nNiLcWjGqyEyp9JVrti+wT2LgxKqOV0GNK5z/NxKTG0=",
|
||||
"version": "110.99.8"
|
||||
}
|
||||
|
||||
@@ -105,7 +105,6 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
meta = with lib; {
|
||||
description = "Core Wayland window system code and protocol";
|
||||
mainProgram = "wayland-scanner";
|
||||
longDescription = ''
|
||||
Wayland is a project to define a protocol for a compositor to talk to its
|
||||
clients as well as a library implementation of the protocol.
|
||||
|
||||
@@ -28,7 +28,7 @@ let
|
||||
# to update:
|
||||
# 1) change all these hashes
|
||||
# 2) nix-build -A tree-sitter.updater.update-all-grammars
|
||||
# 3) Set NIXPKGS_GITHUB_TOKEN env variable to avoid api rate limit (Use a Personal Access Token from https://github.com/settings/tokens It does not need any permissions)
|
||||
# 3) Set GITHUB_TOKEN env variable to avoid api rate limit (Use a Personal Access Token from https://github.com/settings/tokens It does not need any permissions)
|
||||
# 4) run the ./result script that is output by that (it updates ./grammars)
|
||||
version = "0.25.3";
|
||||
hash = "sha256-xafeni6Z6QgPiKzvhCT2SyfPn0agLHo47y+6ExQXkzE=";
|
||||
@@ -43,7 +43,7 @@ let
|
||||
|
||||
update-all-grammars = callPackage ./update.nix { };
|
||||
|
||||
fetchGrammar = (
|
||||
fetchGrammar =
|
||||
v:
|
||||
fetchgit {
|
||||
inherit (v)
|
||||
@@ -52,8 +52,7 @@ let
|
||||
sha256
|
||||
fetchSubmodules
|
||||
;
|
||||
}
|
||||
);
|
||||
};
|
||||
|
||||
grammars = runCommand "grammars" { } (
|
||||
''
|
||||
@@ -61,7 +60,7 @@ let
|
||||
''
|
||||
+ (lib.concatStrings (
|
||||
lib.mapAttrsToList (
|
||||
name: grammar: "ln -s ${if grammar ? src then grammar.src else fetchGrammar grammar} $out/${name}\n"
|
||||
name: grammar: "ln -s ${grammar.src or (fetchGrammar grammar)} $out/${name}\n"
|
||||
) (import ./grammars { inherit lib; })
|
||||
))
|
||||
);
|
||||
@@ -134,7 +133,7 @@ let
|
||||
};
|
||||
};
|
||||
in
|
||||
lib.mapAttrs build (grammars);
|
||||
lib.mapAttrs build grammars;
|
||||
|
||||
# Usage:
|
||||
# pkgs.tree-sitter.withPlugins (p: [ p.tree-sitter-c p.tree-sitter-java ... ])
|
||||
|
||||
@@ -31,6 +31,7 @@
|
||||
tree-sitter-fish = lib.importJSON ./tree-sitter-fish.json;
|
||||
tree-sitter-fortran = lib.importJSON ./tree-sitter-fortran.json;
|
||||
tree-sitter-gdscript = lib.importJSON ./tree-sitter-gdscript.json;
|
||||
tree-sitter-gemini = lib.importJSON ./tree-sitter-gemini.json;
|
||||
tree-sitter-gleam = lib.importJSON ./tree-sitter-gleam.json;
|
||||
tree-sitter-glimmer = lib.importJSON ./tree-sitter-glimmer.json;
|
||||
tree-sitter-glsl = lib.importJSON ./tree-sitter-glsl.json;
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"url": "https://github.com/blessanabraham/tree-sitter-gemini",
|
||||
"rev": "3cc5e4bdf572d5df4277fc2e54d6299bd59a54b3",
|
||||
"date": "2023-08-26T22:20:36+03:00",
|
||||
"path": "/nix/store/ywwyjjaps1swpzy0hndllwka4rg8hbdb-tree-sitter-gemini",
|
||||
"sha256": "1r965z6cls7ahipf9bpvcvpv4xda7k1j64lvnwf2bkb83qpakdc2",
|
||||
"hash": "sha256-grWpLh5ozSUct5sSI8M8qnWy72b7ruRuhOpoyswvJuU=",
|
||||
"fetchLFS": false,
|
||||
"fetchSubmodules": false,
|
||||
"deepClone": false,
|
||||
"leaveDotGit": false
|
||||
}
|
||||
@@ -336,6 +336,10 @@ let
|
||||
orga = "prestonknopp";
|
||||
repo = "tree-sitter-gdscript";
|
||||
};
|
||||
"tree-sitter-gemini" = {
|
||||
orga = "blessanabraham";
|
||||
repo = "tree-sitter-gemini";
|
||||
};
|
||||
"tree-sitter-godot-resource" = {
|
||||
orga = "prestonknopp";
|
||||
repo = "tree-sitter-godot-resource";
|
||||
@@ -574,15 +578,13 @@ let
|
||||
}
|
||||
${updateImpl} print-all-grammars-nix-file "$(< ${
|
||||
jsonFile "all-grammars.json" {
|
||||
allGrammars = (
|
||||
lib.mapAttrsToList (
|
||||
nixRepoAttrName: attrs:
|
||||
attrs
|
||||
// {
|
||||
inherit nixRepoAttrName;
|
||||
}
|
||||
) allGrammars
|
||||
);
|
||||
allGrammars = lib.mapAttrsToList (
|
||||
nixRepoAttrName: attrs:
|
||||
attrs
|
||||
// {
|
||||
inherit nixRepoAttrName;
|
||||
}
|
||||
) allGrammars;
|
||||
inherit outputDir;
|
||||
}
|
||||
})"
|
||||
|
||||
Reference in New Issue
Block a user