Merge staging-next into staging

This commit is contained in:
nixpkgs-ci[bot]
2025-07-21 00:20:28 +00:00
committed by GitHub
87 changed files with 1209 additions and 524 deletions
+3 -8
View File
@@ -220,14 +220,9 @@ module.exports = async function ({ github, context, core, dry }) {
}
core.summary.addRaw('<details><summary>Show diff</summary>')
core.summary.addCodeBlock(
truncated
.join('\n')
.replace(/&/g, '&amp;')
.replace(/</g, '&lt;')
.replace(/>/g, '&gt;'),
'diff',
)
core.summary.addRaw('\n\n``````````diff', true)
core.summary.addRaw(truncated.join('\n'), true)
core.summary.addRaw('``````````', true)
core.summary.addRaw('</details>')
}
@@ -36,6 +36,8 @@
- [Chhoto URL](https://github.com/SinTan1729/chhoto-url), a simple, blazingly fast, selfhosted URL shortener with no unnecessary features, written in Rust. Available as [services.chhoto-url](#opt-services.chhoto-url.enable).
- [tuwunel](https://matrix-construct.github.io/tuwunel/), a federated chat server implementing the Matrix protocol, forked from Conduwuit. Available as [services.matrix-tuwunel](#opt-services.matrix-tuwunel.enable).
- [Broadcast Box](https://github.com/Glimesh/broadcast-box), a WebRTC broadcast server. Available as [services.broadcast-box](options.html#opt-services.broadcast-box.enable).
- Docker now defaults to 28.x, because version 27.x stopped receiving security updates and bug fixes after [May 2, 2025](https://github.com/moby/moby/pull/49910).
+1
View File
@@ -781,6 +781,7 @@
./services/matrix/pantalaimon.nix
./services/matrix/synapse-auto-compressor.nix
./services/matrix/synapse.nix
./services/matrix/tuwunel.nix
./services/misc/airsonic.nix
./services/misc/amazon-ssm-agent.nix
./services/misc/ananicy.nix
+268
View File
@@ -0,0 +1,268 @@
{
config,
lib,
pkgs,
...
}:
let
cfg = config.services.matrix-tuwunel;
defaultUser = "tuwunel";
defaultGroup = "tuwunel";
format = pkgs.formats.toml { };
configFile = format.generate "tuwunel.toml" cfg.settings;
in
{
meta.maintainers = with lib.maintainers; [
scvalex
];
options.services.matrix-tuwunel = {
enable = lib.mkEnableOption "tuwunel";
package = lib.mkPackageOption pkgs "matrix-tuwunel" { };
user = lib.mkOption {
type = lib.types.nonEmptyStr;
description = ''
The user {command}`tuwunel` is run as. If left as the default, the user will
automatically be created by the service.
'';
example = "conduit";
default = defaultUser;
};
group = lib.mkOption {
type = lib.types.nonEmptyStr;
description = ''
The group {command}`tuwunel` is run as. If left as the default, the group will
automatically be created by the service.
'';
example = "conduit";
default = defaultGroup;
};
stateDirectory = lib.mkOption {
type = lib.types.nonEmptyStr;
default = "tuwunel";
example = "matrix-conduit";
description = ''
The name of the directory under /var/lib/ where the database will be stored.
Note that `stateDirectory` cannot be changed once created because of the service's reliance on
systemd `StateDirectory`.
'';
};
extraEnvironment = lib.mkOption {
type = lib.types.attrsOf lib.types.str;
description = "Extra Environment variables to pass to the tuwunel server.";
default = { };
example = {
RUST_BACKTRACE = "yes";
};
};
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`, tuwunel 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) tuwunel 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 tuwunel
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.tuwunel.group` must
be set to a group your reverse proxy is part of.
'';
};
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, tuwunel doesn't support inbound batched key requests, so
this list should only contain other Synapse servers.
Example: `[ "matrix.org" "constellatory.net" "tchncs.de" ]`
'';
};
};
};
default = { };
# TOML does not allow null values, so we use null to omit those fields
apply = lib.filterAttrsRecursive (_: v: v != null);
description = ''
Generates the tuwunel.toml configuration file. Refer to
<https://matrix-construct.github.io/tuwunel/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.matrix-tuwunel.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.matrix-tuwunel.user` is changed, the configured user must already exist.";
}
{
assertion = cfg.group != defaultGroup -> config ? users.groups.${cfg.group};
message = "If `services.matrix-tuwunel.group` is changed, the configured group must already exist.";
}
{
assertion = "/var/lib/${cfg.settings.global.database_path}" != cfg.stateDirectory;
message = "The `services.matrix-tuwunel.stateDirectory` and `services.matrix-tuwunel.settings.global.database_path` options must match.";
}
];
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} = { };
};
services.matrix-tuwunel.settings.global.database_path = "/var/lib/${cfg.stateDirectory}/";
systemd.services.tuwunel = {
description = "Tuwunel Matrix Server";
documentation = [ "https://matrix-construct.github.io/tuwunel/" ];
wantedBy = [ "multi-user.target" ];
wants = [ "network-online.target" ];
after = [ "network-online.target" ];
environment = lib.mkMerge [
{ TUWUNEL_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 = cfg.stateDirectory;
StateDirectoryMode = "0700";
RuntimeDirectory = "tuwunel";
RuntimeDirectoryMode = "0750";
ExecStart = lib.getExe cfg.package;
Restart = "on-failure";
RestartSec = 10;
};
};
};
}
+1
View File
@@ -865,6 +865,7 @@ in
matrix-continuwuity = runTest ./matrix/continuwuity.nix;
matrix-synapse = runTest ./matrix/synapse.nix;
matrix-synapse-workers = runTest ./matrix/synapse-workers.nix;
matrix-tuwunel = runTest ./matrix/tuwunel.nix;
mautrix-discord = runTest ./matrix/mautrix-discord.nix;
mattermost = handleTest ./mattermost { };
mautrix-meta-postgres = runTest ./matrix/mautrix-meta-postgres.nix;
+135
View File
@@ -0,0 +1,135 @@
{ lib, pkgs, ... }:
let
name = "tuwunel";
in
{
inherit name;
nodes = {
# Host1 is a fresh install of tuwunel
host1 = {
services.matrix-tuwunel = {
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 ];
};
# Host2 was upgraded from the matrix-conduit service
host2 = {
users.users.conduit = {
group = "conduit";
home = "/var/lib/matrix-conduit";
isSystemUser = true;
};
users.groups.conduit = { };
services.matrix-tuwunel = {
enable = true;
user = "conduit";
group = "conduit";
stateDirectory = "matrix-conduit";
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
import sys
async def main(host) -> None:
# Connect to server
client = nio.AsyncClient(f"http://{host}: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 matrix!"
}
)
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 server
last_message = response.rooms.join[room_id].timeline.events[-1].body
assert last_message == "Hello matrix!"
# 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(sys.argv[1]))
'')
];
};
};
testScript = ''
start_all()
with subtest("start tuwunel on host1"):
host1.wait_for_unit("tuwunel.service")
host1.wait_for_open_port(6167)
with subtest("start tuwunel on host2"):
host1.wait_for_unit("tuwunel.service")
host1.wait_for_open_port(6167)
with subtest("ensure messages can be sent to servers"):
client.succeed("do_test host1 >&2")
client.succeed("do_test host2 >&2")
'';
meta.maintainers = with lib.maintainers; [
scvalex
];
}
@@ -1478,8 +1478,8 @@ let
mktplcRef = {
publisher = "discloud";
name = "discloud";
version = "2.24.3";
hash = "sha256-OfkZdF5Qz3VketCIjWuwd08EI7e/II9c7G4a3O2mW+s=";
version = "2.26.3";
hash = "sha256-0kcRegl+TIjAoK3+AwxO07TJ7h64F1eIPAauav2z4vI=";
};
meta = {
changelog = "https://marketplace.visualstudio.com/items/discloud.discloud/changelog";
@@ -4696,8 +4696,8 @@ let
mktplcRef = {
name = "tabnine-vscode";
publisher = "tabnine";
version = "3.296.0";
hash = "sha256-LQzVo7NKJvjQ/eUOzXtDEDCSnSIjACPgZFwp87qG/JM=";
version = "3.297.0";
hash = "sha256-K5XRBefGWG3BGyBCK0QIpZ6Jjm+qNjVEyMucCGs+LKs=";
};
meta = {
license = lib.licenses.mit;
@@ -1,11 +1,11 @@
{
"packageVersion": "140.0.2-1",
"packageVersion": "140.0.4-1",
"source": {
"rev": "140.0.2-1",
"hash": "sha256-xCKZgnPAoY5y5NmM0/qSeLRvB5ZirnPyxxoNnYA4ZRs="
"rev": "140.0.4-1",
"hash": "sha256-/7Ynt0mKEu/ms9B5J3xfh6I5nnmdz8xI/7bm9uURE7M="
},
"firefox": {
"version": "140.0.2",
"hash": "sha512-EdMpXIKDVmj0OoiL1araIiSHduAzrsx1WDSObuJmJr9LZbuq4mgPcoWmsrYgnsXUrqRT8eBgNUTNSL9FxzWy6g=="
"version": "140.0.4",
"hash": "sha512-PefAhxuKRWg/XCJvs+keWX6Pie8VSyCLKlfE0+qfOctcaey9Xso7baaNN3VojSKJwTYMfREMZ7sb4c8m74zzbQ=="
}
}
@@ -931,13 +931,13 @@
"vendorHash": null
},
"okta": {
"hash": "sha256-JbhL4QP+c8TtTyaUcsmiOESNdKFLml/4H+Ar8VbA/O8=",
"hash": "sha256-Up75XRwe7bnns+ahHtQfK7IG2gptDKNIY8pWG5QcjVI=",
"homepage": "https://registry.terraform.io/providers/okta/okta",
"owner": "okta",
"repo": "terraform-provider-okta",
"rev": "v5.0.0",
"rev": "v5.2.0",
"spdx": "MPL-2.0",
"vendorHash": "sha256-PoANgzaVtd59xBjt02L6bV7Vi6gyT2XgGuWOm8rr+Ng="
"vendorHash": "sha256-7zB+ZdrisV+C2kbDWHCaR4uNV3TZAh4EAQcT4jdJpQs="
},
"oktaasa": {
"hash": "sha256-2LhxgowqKvDDDOwdznusL52p2DKP+UiXALHcs9ZQd0U=",
@@ -1237,13 +1237,13 @@
"vendorHash": "sha256-skswuFKhN4FFpIunbom9rM/FVRJVOFb1WwHeAIaEjn8="
},
"sops": {
"hash": "sha256-VuQTJFI4KcSnaog9VTV+zBg0XAORvWzuCFYMB0BM6n4=",
"hash": "sha256-SBg46q9kggwXR142MpzwM5R4L2WfM07aJkGSLngAcFk=",
"homepage": "https://registry.terraform.io/providers/carlpett/sops",
"owner": "carlpett",
"repo": "terraform-provider-sops",
"rev": "v1.2.0",
"rev": "v1.2.1",
"spdx": "MPL-2.0",
"vendorHash": "sha256-K/44Jio2a1kKYuyI6o/5wwMNRaZvx9zrNEC85v56xdU="
"vendorHash": "sha256-4gtM8U//RXpYc4klCgpZS/3ZRzAHfcbOPTnNqlX4H7M="
},
"spacelift": {
"hash": "sha256-lBt1ZtQ5pxX/t4b264LzQwajXDozE9veYOOV3lhfTZQ=",
@@ -1327,13 +1327,13 @@
"vendorHash": "sha256-V0dK5G3zheyyqexBud+9Hg9ExYI/9X1wuYx+lEn6pVg="
},
"temporalcloud": {
"hash": "sha256-nm7YQNoVTy53GpXIu2gQhIblvZMIdCyDcXK9aCL+Xfg=",
"hash": "sha256-FTvTp2Mf8uz0e+y7AprAxgMEllGJFbWiPCzDZ8jzdrc=",
"homepage": "https://registry.terraform.io/providers/temporalio/temporalcloud",
"owner": "temporalio",
"repo": "terraform-provider-temporalcloud",
"rev": "v0.8.0",
"rev": "v0.9.0",
"spdx": "MPL-2.0",
"vendorHash": "sha256-Sqi4MLQTF5n3AZyEkaI03KhFvgy34ROqbd8Rx1N6/oY="
"vendorHash": "sha256-PVN3oPT3cxsnWH03twbPSIIERGHCp3XAmcqrQAOULZ4="
},
"tencentcloud": {
"hash": "sha256-MMmBhzhD5SPvTJPzuxAPEmE2ydcwVH4cYAx21ze/umk=",
@@ -1345,13 +1345,13 @@
"vendorHash": null
},
"tfe": {
"hash": "sha256-O8QNI4lUsw+lY5MThGVR7hwci3XvjvjSN/bzhh9c3mc=",
"hash": "sha256-gT5KOJZJG8cZs1Dcn31bfKLC8zvkG62tn4sZuH9ieGk=",
"homepage": "https://registry.terraform.io/providers/hashicorp/tfe",
"owner": "hashicorp",
"repo": "terraform-provider-tfe",
"rev": "v0.67.1",
"rev": "v0.68.0",
"spdx": "MPL-2.0",
"vendorHash": "sha256-fw92xhRF60f3QRLBtSvdSwOtXY4QzgJlwb6zgi0OGjw="
"vendorHash": "sha256-tf78FT9JD5IVswgDB3Yug1NZQvo8NDqjPEAfF3gg93w="
},
"thunder": {
"hash": "sha256-2i1DSOSt/vbFs0QCPogEBvADhLJFKbrQzwZ20ChCQMk=",
@@ -1508,12 +1508,12 @@
"vendorHash": "sha256-GRnVhGpVgFI83Lg34Zv1xgV5Kp8ioKTFV5uaqS80ATg="
},
"yandex": {
"hash": "sha256-egxwRkS+RvI6XmEQjugpNg1OSAn63RBw7NHXSJBZ0Q4=",
"hash": "sha256-W67wzWkbSaoRbntJhlErhQ5lOIyJdoIZFJUsBnzLP5o=",
"homepage": "https://registry.terraform.io/providers/yandex-cloud/yandex",
"owner": "yandex-cloud",
"repo": "terraform-provider-yandex",
"rev": "v0.145.0",
"rev": "v0.146.0",
"spdx": "MPL-2.0",
"vendorHash": "sha256-myp9DZQqU7Gf6FHySoPhU3k/JBFMyOjc05nhMigk+fA="
"vendorHash": "sha256-DXZi6ncn/X4sx2i8xM7ItxGCuRwLi391LLJ7NlZkxFg="
}
}
@@ -24,9 +24,13 @@ let
zip
];
postInstall = lib.optional (name == "packages3d") ''
find $out -type f -name '*.step' | parallel 'stepreduce {} {} && zip -9 {.}.stpZ {} && rm {}'
'';
postInstall =
lib.optionalString (name == "packages3d") ''
find $out -type f -name '*.step' | parallel 'stepreduce {} {} && zip -9 {.}.stpZ {} && rm {}'
''
+ lib.optionalString (name == "footprints") ''
grep -rl '\.step' $out | xargs sed -i 's/\.step/.stpZ/g'
'';
meta = {
license = lib.licenses.cc-by-sa-40;
@@ -63,7 +63,7 @@ stdenv.mkDerivation rec {
meta = with lib; {
description = "Open Source Electromagnetic Field Solver";
homepage = "http://openems.de/index.php/Main_Page.html";
homepage = "https://wiki.openems.de/index.php/Main_Page.html";
license = licenses.gpl3;
maintainers = with maintainers; [ matthuszagh ];
platforms = platforms.linux;
+3 -3
View File
@@ -19,9 +19,9 @@ lib.makeOverridable (
let
repo' = lib.last (lib.strings.splitString "/" repo); # support repo like emacs/elpa
in
"https://git.savannah.gnu.org/cgit/${repo}.git/snapshot/${repo'}-${rev}.tar.gz";
meta.homepage = "https://git.savannah.gnu.org/cgit/${repo}.git/";
passthru.gitRepoUrl = "https://git.savannah.gnu.org/git/${repo}.git";
"https://cgit.git.savannah.gnu.org/cgit/${repo}.git/snapshot/${repo'}-${rev}.tar.gz";
meta.homepage = "https://cgit.git.savannah.gnu.org/cgit/${repo}.git/";
passthru.gitRepoUrl = "https://cgit.git.savannah.gnu.org/git/${repo}.git";
}
// removeAttrs args [
"repo"
+3 -3
View File
@@ -9,17 +9,17 @@
}:
rustPlatform.buildRustPackage rec {
pname = "argon";
version = "2.0.24";
version = "2.0.25";
src = fetchFromGitHub {
owner = "argon-rbx";
repo = "argon";
tag = version;
hash = "sha256-2E9vyXTLCqW5zzCal9FjmV3LvLymjfUbzwZJB77FilU=";
hash = "sha256-nQdh263qFS3seazdoNxme7SxQ7aJsRmFdoyfsZMDjw0=";
};
useFetchCargoVendor = true;
cargoHash = "sha256-j9aSnyc65CeBdgoFevdn1xpJHs4xWMhFDoRiPizceTI=";
cargoHash = "sha256-s3/i7RnwadgGBg0lZmttxpLC/hZUba+PGc8WD30aAQI=";
nativeBuildInputs = [ pkg-config ];
+3 -3
View File
@@ -7,16 +7,16 @@
buildNpmPackage rec {
pname = "ariang";
version = "1.3.10";
version = "1.3.11";
src = fetchFromGitHub {
owner = "mayswind";
repo = "AriaNg";
rev = version;
hash = "sha256-YABoDBPrxII0uw4Cyy1A4AcLQ3Uo28dJa/F4LTI7f5Y=";
hash = "sha256-TisgE5VFOe/1LbDq43AHASMVhC85BglETYFcvsQpwMw=";
};
npmDepsHash = "sha256-cNTkdrJuXMhcBbbCYJ9Xs639T0QWUbhRABD2gQ2cfjM=";
npmDepsHash = "sha256-wWy9XxwZvUo89kgxApHd3qZ2Bb4NgifQ96WRDsZvTGU=";
makeCacheWritable = true;
+2 -2
View File
@@ -6,13 +6,13 @@
buildGoModule rec {
pname = "brev-cli";
version = "0.6.310";
version = "0.6.311";
src = fetchFromGitHub {
owner = "brevdev";
repo = "brev-cli";
rev = "v${version}";
sha256 = "sha256-dZY87iUPr1NYZNERAzuxX/en0fgefekpXAi5Um1nTBc=";
sha256 = "sha256-XKXIDnqAmWUDiwjvNV/mmGyxkScuz3YJ2DpMcRhwLKU=";
};
vendorHash = "sha256-7MXZVdpsPHfHk8hNZM2CT0FW8gTKt3oUap7CTVYMNfI=";
+3 -3
View File
@@ -7,17 +7,17 @@
rustPlatform.buildRustPackage rec {
pname = "cargo-nextest";
version = "0.9.100";
version = "0.9.101";
src = fetchFromGitHub {
owner = "nextest-rs";
repo = "nextest";
rev = "cargo-nextest-${version}";
hash = "sha256-MbgX/n6TC5hz66gvRAc7A0xFWbF2Ec68gMxCgPFpeoQ=";
hash = "sha256-yaRwHQopkkZ8gLEhuJuzAiY/enWNdL3B+POGV2ykOWA=";
};
useFetchCargoVendor = true;
cargoHash = "sha256-jRBFjJB38JI9whFpImYlMx0znQj1+cdeu4Nc+nYc7OI=";
cargoHash = "sha256-F26/IDq3/Il6BBCkKUy59T47sI20DAabeSjt3Kdqu+Y=";
cargoBuildFlags = [
"-p"
+3 -3
View File
@@ -16,15 +16,15 @@
rustPlatform.buildRustPackage rec {
pname = "cargo-update";
version = "16.3.2";
version = "16.4.0";
src = fetchCrate {
inherit pname version;
hash = "sha256-VKXEbgm3Oc4rq/F2p/kuhhhiyKvLU6KHnKnQMBX17XU=";
hash = "sha256-Y0TvzOjkq/9/NG87iGhazLSZFnFCEG/S+lI4AJDAw0M=";
};
useFetchCargoVendor = true;
cargoHash = "sha256-AXYcDxKQ9p4deolcZFO5SmfwnQGxl1I03RK6tSTbjlo=";
cargoHash = "sha256-PD6HycP6+/tKafirCc2Oj0MffHizLqTmDIrdIOmXY/w=";
nativeBuildInputs =
[
+2 -2
View File
@@ -6,13 +6,13 @@
buildGoModule rec {
pname = "credhub-cli";
version = "2.9.47";
version = "2.9.48";
src = fetchFromGitHub {
owner = "cloudfoundry-incubator";
repo = "credhub-cli";
rev = version;
sha256 = "sha256-3/CYwgdGOFkiGNsWrIGbHGK/iSJxz6KRneTdaJT6i24=";
sha256 = "sha256-jZmnun7EkCWiWq8i+9cgn/2ffxt9VbVf0DxYHKgwNqg=";
};
# these tests require network access that we're not going to give them
+2 -2
View File
@@ -11,13 +11,13 @@
buildGoModule rec {
pname = "direnv";
version = "2.37.0";
version = "2.37.1";
src = fetchFromGitHub {
owner = "direnv";
repo = "direnv";
rev = "v${version}";
hash = "sha256-wMv2ZzAc3GhUhvSnHgxJKPFmEjhujff9/CozYcgKfbk=";
hash = "sha256-92xjoCjH5O7wx8U7OFG8Lw9eDOAdeVKNvxBHW+TiniM=";
};
vendorHash = "sha256-SAIGFQGACTB3Q0KnIdiKKNYY6fVjf/09wGqNr0Hkg+M=";
@@ -8,16 +8,16 @@
buildGoModule rec {
pname = "docker-language-server";
version = "0.12.0";
version = "0.14.0";
src = fetchFromGitHub {
owner = "docker";
repo = "docker-language-server";
tag = "v${version}";
hash = "sha256-cMHWdSMPo38Nuvx/K187PJ4tp6F1Fqs73+sIOrAk8Jo=";
hash = "sha256-ht63NilujpbDhBjkzCNpY95AAuwqya37qchgqKLlTw8=";
};
vendorHash = "sha256-yb/GdwgEwv6ybb1CkBivCC6WKc/DX9FXxz+7WLr3scw=";
vendorHash = "sha256-w7CDl27178oe/DpfqSbNbyOsR3D34EpcCMZNQ7i3JE4=";
nativeCheckInputs = [
docker
+2 -2
View File
@@ -6,13 +6,13 @@
buildGoModule rec {
pname = "amazon-ecs-agent";
version = "1.95.0";
version = "1.96.0";
src = fetchFromGitHub {
rev = "v${version}";
owner = "aws";
repo = "amazon-ecs-agent";
hash = "sha256-HJrio/Hr2ms33g9NM1sytLaig6D1ixYp1W16AE7OlGo=";
hash = "sha256-jKqGKSPjHQvRKAxqB81u/i7LeIV8IeiCF9O5dSmebQQ=";
};
vendorHash = null;
+3 -3
View File
@@ -5,14 +5,14 @@
nix-update-script,
}:
buildGoModule rec {
buildGoModule (finalAttrs: {
pname = "fake-gcs-server";
version = "1.52.2";
src = fetchFromGitHub {
owner = "fsouza";
repo = "fake-gcs-server";
tag = "v${version}";
tag = "v${finalAttrs.version}";
hash = "sha256-sidMCbJAK3bRGJyyFIUn7e5y0z4O72JWCICHf4JL4yo=";
};
@@ -34,4 +34,4 @@ buildGoModule rec {
mainProgram = "fake-gcs-server";
maintainers = with lib.maintainers; [ jpetrucciani ];
};
}
})
+3 -3
View File
@@ -8,16 +8,16 @@
buildGoModule rec {
pname = "files-cli";
version = "2.15.44";
version = "2.15.51";
src = fetchFromGitHub {
repo = "files-cli";
owner = "files-com";
rev = "v${version}";
hash = "sha256-+5fGCHRjBbPgX2CdNyBS+cOXJYLK/HPwca0Gg+ZVEx0=";
hash = "sha256-BvBbC/okSti4rL886+P6Kh8vAwI1TN688oyrgTch9e8=";
};
vendorHash = "sha256-ofI/aaikK2O02XswK5WgDTCgnwDyfq0eR17WWJsOqH8=";
vendorHash = "sha256-dCujq1drJ8wgzo7hV4kJ8k5EXzXu3k6Oc6TuOLRsqrY=";
ldflags = [
"-s"
+3 -3
View File
@@ -31,13 +31,13 @@ let
in
buildGoModule rec {
pname = "frankenphp";
version = "1.8.0";
version = "1.9.0";
src = fetchFromGitHub {
owner = "dunglas";
repo = "frankenphp";
tag = "v${version}";
hash = "sha256-mwS4Y0XBIlAI2UogvlI6DK+oIrqSx8sqnyN+rb0kLjQ=";
hash = "sha256-fa9IWIypPAXRDw5KsiJkNGaRP4lH50xb4PVWYa5guwE=";
};
sourceRoot = "${src.name}/caddy";
@@ -45,7 +45,7 @@ buildGoModule rec {
# frankenphp requires C code that would be removed with `go mod tidy`
# https://github.com/golang/go/issues/26366
proxyVendor = true;
vendorHash = "sha256-N5/ytcXhHJlVzV6cyweCRG3HYHeQl3VXlM/9u4L+ThU=";
vendorHash = "sha256-vmOlqPhU5sKwRYgZQ0LVE1eMWEtSLTduAeRLEm7gLcI=";
buildInputs = [
phpUnwrapped
+2 -2
View File
@@ -21,13 +21,13 @@
stdenv.mkDerivation rec {
pname = "fwup";
version = "1.13.0";
version = "1.13.1";
src = fetchFromGitHub {
owner = "fhunleth";
repo = "fwup";
rev = "v${version}";
sha256 = "sha256-j/UuJf7tDY1ku2vfmh2f8fQVZS7dhmiH6T1zS8IlcDE=";
sha256 = "sha256-lf8NCF+K47V55pUC4uNzCh5D454OQl5VruGfC6X5mJw=";
};
nativeBuildInputs = [
+2 -2
View File
@@ -5,10 +5,10 @@
}:
let
pname = "heptabase";
version = "1.61.0";
version = "1.64.0";
src = fetchurl {
url = "https://github.com/heptameta/project-meta/releases/download/v${version}/Heptabase-${version}.AppImage";
hash = "sha256-dvVLygj0saCod6sD6kcFhYO5IWz2iblywL6QNZPVYmk=";
hash = "sha256-VBoQgSVpEshmGjEGzSe1sG8nDcrl8nJ+m7+s/7LlAMg=";
};
appimageContents = appimageTools.extractType2 { inherit pname version src; };
+3 -3
View File
@@ -19,14 +19,14 @@
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "home-manager";
version = "0-unstable-2025-07-11";
version = "0-unstable-2025-07-18";
src = fetchFromGitHub {
name = "home-manager-source";
owner = "nix-community";
repo = "home-manager";
rev = "392ddb642abec771d63688c49fa7bcbb9d2a5717";
hash = "sha256-A4nftqiNz2bNihz0bKY94Hq/6ydR6UQOcGioeL7iymY=";
rev = "d0300c8808e41da81d6edfc202f3d3833c157daf";
hash = "sha256-irfg7lnfEpJY+3Cffkluzp2MTVw1Uq9QGxFp6qadcXI=";
};
nativeBuildInputs = [
+3 -3
View File
@@ -6,16 +6,16 @@
buildGoModule rec {
pname = "hydroxide";
version = "0.2.29";
version = "0.2.30";
src = fetchFromGitHub {
owner = "emersion";
repo = "hydroxide";
rev = "v${version}";
sha256 = "sha256-VAbMcON75dTS+1lUqmveN2WruQCCmK3kB86e+vKM64U=";
sha256 = "sha256-PjT8kIS2k4e9Xuw6uCXiCtg5Rawvcmslzz9Qa4Wnroo=";
};
vendorHash = "sha256-JaYJq8lnZHK75Rwif77A9y9jTUoJFyoSZQgaExnY+rM=";
vendorHash = "sha256-NKWUpyS5IHBTPzjfTkov/ypoGQW6inX32Y7lpdIDOUc=";
doCheck = false;
+30
View File
@@ -0,0 +1,30 @@
{
fetchFromGitea,
lib,
nix-update-script,
rustPlatform,
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "improv-setup";
version = "1.0.0";
src = fetchFromGitea {
domain = "git.clerie.de";
owner = "clerie";
repo = "improv-setup";
tag = "v${finalAttrs.version}";
hash = "sha256-3vF8StD2qk3S87Rw7hphmIW2udlFK9e4YQfHF12yFwI=";
};
cargoHash = "sha256-H2X1hpynOIZOHBx8nZz09Yr4zk/7Ikn6TNhx3cCmOuA=";
passthru.updateScript = nix-update-script { };
meta = {
description = "Configure Wifi credentials on IOT devices using Improv serial protocol";
homepage = "https://git.clerie.de/clerie/improv-setup/";
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [ fooker ];
};
})
+10 -8
View File
@@ -16,16 +16,16 @@
libgudev,
}:
python3Packages.buildPythonApplication {
python3Packages.buildPythonApplication rec {
pname = "kazam";
version = "unstable-2021-06-22";
format = "pyproject";
version = "1.5.5-unstable-2025-01-02";
pyproject = true;
src = fetchFromGitHub {
owner = "niknah";
repo = "kazam";
rev = "13f6ce124e5234348f56358b9134a87121f3438c";
sha256 = "1jk6khwgdv3nmagdgp5ivz3156pl0ljhf7b6i4b52w1h5ywsg9ah";
rev = "b6c1bddc9ac93aad50476f2c87fec9f0cf204f2a";
hash = "sha256-xllpNoKeSXVWZhzlY60ZDnWIKoAW+cd08Tb1413Ldpk=";
};
nativeBuildInputs = [
@@ -51,6 +51,7 @@ python3Packages.buildPythonApplication {
];
dependencies = with python3Packages; [
distro
pygobject3
pyxdg
pycairo
@@ -71,11 +72,12 @@ python3Packages.buildPythonApplication {
pythonImportsCheck = [ "kazam" ];
meta = with lib; {
meta = {
description = "Screencasting program created with design in mind";
homepage = "https://github.com/niknah/kazam";
license = licenses.lgpl3;
platforms = platforms.linux;
changelog = "https://github.com/niknah/kazam/raw/${src.rev}/NEWS";
license = lib.licenses.lgpl3;
platforms = lib.platforms.linux;
maintainers = [ ];
mainProgram = "kazam";
};
+3 -3
View File
@@ -38,13 +38,13 @@ assert enableTools -> enableAudio && enableEmulation && enableLibplayer;
stdenv.mkDerivation (finalAttrs: {
pname = "libvgm";
version = "0-unstable-2025-05-30";
version = "0-unstable-2025-07-14";
src = fetchFromGitHub {
owner = "ValleyBell";
repo = "libvgm";
rev = "82ba45d3906a0b54b6de2555468dd9e9598f617d";
hash = "sha256-+EMI8hGDE+oiOK4pHRfDJxmGAZ3SBecNhCoPhS95NAk=";
rev = "7cad78367fa35c3f7b3ae16a296d31063cd3a7e4";
hash = "sha256-8Hnr9VeVkrvRe1mwCUBGhSwYYYXxbby+aQU+KBrSyRM=";
};
outputs = [
+2 -2
View File
@@ -19,13 +19,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "lock";
version = "1.6.5";
version = "1.6.6";
src = fetchFromGitHub {
owner = "konstantintutsch";
repo = "Lock";
tag = "v${finalAttrs.version}";
hash = "sha256-SomQYgc3F7w5DB0+j4peYTLSdHsrg9fw3h15gU3DTKU=";
hash = "sha256-JAtQxmcLFNj6epk3ipVaa/u7fQ4E2maHZN+7jk+ktmE=";
};
strictDeps = true;
+2 -2
View File
@@ -5,12 +5,12 @@
}:
buildGoModule rec {
pname = "lsh";
version = "1.4.0";
version = "1.4.2";
src = fetchFromGitHub {
owner = "latitudesh";
repo = "lsh";
rev = "v${version}";
sha256 = "sha256-yYjCxH92GyFl4Gf4hH97E3EiMQ6WvWIItVI4U54JdaM=";
sha256 = "sha256-TV3ix1W/+rUXgeoVYneAfosa6ikf7e3giwsX4gyp2o0=";
};
vendorHash = "sha256-ogdyzfayleka4Y8x74ZtttD7MaeCl1qP/rQi9x0tMto=";
subPackages = [ "." ];
+168
View File
@@ -0,0 +1,168 @@
{
lib,
rustPlatform,
fetchFromGitHub,
pkg-config,
bzip2,
zstd,
stdenv,
rocksdb,
nix-update-script,
testers,
matrix-tuwunel,
enableBlurhashing ? true,
# upstream tuwunel 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;
};
# tuwunel uses a modified version of rocksdb. The following overrides take a lot from the
# official flake:
# https://github.com/matrix-construct/tuwunel/blob/main/flake.nix#L54
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';
}).overrideAttrs
(
final: old: {
src = fetchFromGitHub {
owner = "matrix-construct";
repo = "rocksdb";
# The commit on the rocksdb fork, tuwunel-changes branch referenced by the upstream
# tuwunel flake.lock:
# https://github.com/matrix-construct/tuwunel/blob/main/flake.lock#L557C17-L557C57
rev = "cf7f65d0b377af019661c240f9165b3ef60640c3";
hash = "sha256-ZSjvAZBfZkJrBIpw8ANZMbJVb8AeuogvuAipGVE4Qe4=";
};
version = "tuwunel-changes";
patches = [ ];
postPatch = "";
cmakeFlags =
lib.subtractLists [
# no real reason to have snappy or zlib, no one uses this
"-DWITH_SNAPPY=1"
"-DZLIB=1"
"-DWITH_ZLIB=1"
# we dont need to use ldb or sst_dump (core_tools)
"-DWITH_CORE_TOOLS=1"
# we dont need to build rocksdb tests
"-DWITH_TESTS=1"
# we use rust-rocksdb via C interface and dont need C++ RTTI
"-DUSE_RTTI=1"
# this doesn't exist in RocksDB, and USE_SSE is deprecated for
# PORTABLE=$(march)
"-DFORCE_SSE42=1"
# PORTABLE will get set in main/default.nix
"-DPORTABLE=1"
] old.cmakeFlags
++ [
# no real reason to have snappy, no one uses this
"-DWITH_SNAPPY=0"
"-DZLIB=0"
"-DWITH_ZLIB=0"
# we dont need to use ldb or sst_dump (core_tools)
"-DWITH_CORE_TOOLS=0"
# we dont need trace tools
"-DWITH_TRACE_TOOLS=0"
# we dont need to build rocksdb tests
"-DWITH_TESTS=0"
# we use rust-rocksdb via C interface and dont need C++ RTTI
"-DUSE_RTTI=0"
];
outputs = [ "out" ];
preInstall = "";
}
);
in
rustPlatform.buildRustPackage (finalAttrs: {
pname = "matrix-tuwunel";
version = "1.2.0";
src = fetchFromGitHub {
owner = "matrix-construct";
repo = "tuwunel";
tag = "v${finalAttrs.version}";
hash = "sha256-YiZuCdSs3f4Hlfdzhz/B/u8GLf8VPgaLN8KMPLjFoVk=";
};
useFetchCargoVendor = true;
cargoHash = "sha256-y3JXG/5a9x/KM1PxGW1qmpCeRFvWXWHHplCi+MdjhQ8=";
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://github.com/matrix-construct/tuwunel/blob/main/src/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"
"direct_tls"
"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 = {
rocksdb = rocksdb'; # make used rocksdb version available (e.g., for backup scripts)
updateScript = nix-update-script { };
tests =
{
version = testers.testVersion {
inherit (finalAttrs) version;
package = matrix-tuwunel;
};
}
// lib.optionalAttrs stdenv.hostPlatform.isLinux {
inherit (nixosTests) matrix-tuwunel;
};
};
meta = {
description = "Matrix homeserver written in Rust, official successor to conduwuit";
homepage = "https://github.com/matrix-construct/tuwunel";
changelog = "https://github.com/matrix-construct/tuwunel/releases/tag/v${finalAttrs.version}";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [
scvalex
];
mainProgram = "tuwunel";
};
})
+2 -2
View File
@@ -7,13 +7,13 @@
buildGoModule (finalAttrs: {
pname = "mcp-k8s-go";
version = "0.4.0";
version = "0.5.0";
src = fetchFromGitHub {
owner = "strowk";
repo = "mcp-k8s-go";
tag = "v${finalAttrs.version}";
hash = "sha256-13FwrG/eqR9bVrQ3CAIY7cFyj+EScWABnKIBo7Pm1w8=";
hash = "sha256-4pS0X1G/wGemBkLC9UFLHxaRLtCDALIRPnOCzAf/6JA=";
};
vendorHash = "sha256-BPmocRaqqV7p5Yjto3UEbzc2vdlyRSGkdPye3EWXEe4=";
+3 -3
View File
@@ -21,17 +21,17 @@
rustPlatform.buildRustPackage rec {
pname = "mise";
version = "2025.7.4";
version = "2025.7.17";
src = fetchFromGitHub {
owner = "jdx";
repo = "mise";
rev = "v${version}";
hash = "sha256-l1Bce0CFhR5cyBnlNGy4KM8aqVntGkzRsi+Qh6KODQk=";
hash = "sha256-lyj5ksasgeQhjsYI+LD5UhXQQHjCviphcMdjEW/AQmM=";
};
useFetchCargoVendor = true;
cargoHash = "sha256-ujZ6iPwsIlAFCfkZbGLqgLjvJMZE+ehKRw10NnwS7jE=";
cargoHash = "sha256-So6ZYIkwxxh8cYaLGyA1LMoRU00jXda/R/fdYN55oVg=";
nativeBuildInputs = [
installShellFiles
+3 -3
View File
@@ -8,16 +8,16 @@
buildGoModule (finalAttrs: {
pname = "nak";
version = "0.15.1";
version = "0.15.2";
src = fetchFromGitHub {
owner = "fiatjaf";
repo = "nak";
tag = "v${finalAttrs.version}";
hash = "sha256-0x9fMcB8voV9MFX+XxkXgrb2WdnQONPyLQgG1bJwu2Q=";
hash = "sha256-pYSD6pVp4WRbRzv/voiHpgPKbC9J+PLJGGx6hH813FQ=";
};
vendorHash = "sha256-5W7uqHT9iP5NbE3EFiFBSdjsINIWv5lIkz3K6yMcgrM=";
vendorHash = "sha256-Xoi0sepupJK3pT0egbXRYQkPgwc0G2Xgwiz71Tqj8T4=";
ldflags = [
"-s"
+3 -3
View File
@@ -6,16 +6,16 @@
buildGoModule rec {
pname = "namespace-cli";
version = "0.0.429";
version = "0.0.431";
src = fetchFromGitHub {
owner = "namespacelabs";
repo = "foundation";
rev = "v${version}";
hash = "sha256-O/GS//bEEkqg0Wu2I4pyEPB/lURtfMB0vjam7Uk/mNA=";
hash = "sha256-huMJCStwmvPkvAEp0FnC3B4z9KqSRMWUd3KJ61WNREE=";
};
vendorHash = "sha256-5cZy89dJbekxba7BTxKtJkicRPUsl4PyLiNZnG564U4=";
vendorHash = "sha256-/JFiCflhJsu8Tkkw0Pqj0iOauVXXLaNuPRK524YVN98=";
subPackages = [
"cmd/nsc"
+2 -2
View File
@@ -7,14 +7,14 @@
python3Packages.buildPythonApplication rec {
pname = "oelint-adv";
version = "8.1.2";
version = "8.1.4";
pyproject = true;
src = fetchFromGitHub {
owner = "priv-kweihmann";
repo = "oelint-adv";
tag = version;
hash = "sha256-ucQGXb2dqXQhf2m8TcUPQznfwBrtK7zc6DSajF/GQxU=";
hash = "sha256-Ld8PwAWKH1BQTvmIev5e6ZI1xOaaopunKJkTgAFUipI=";
};
postPatch = ''
+2 -2
View File
@@ -15,13 +15,13 @@
stdenv.mkDerivation rec {
pname = "oidc-agent";
version = "5.2.3";
version = "5.3.2";
src = fetchFromGitHub {
owner = "indigo-dc";
repo = "oidc-agent";
rev = "v${version}";
hash = "sha256-Vj/YoZpbiV8psU70i3SIKJM/qPQYuy96ogEhT8cG7RU=";
hash = "sha256-G2E6/mMP8d9s6JsIlFwMQ8sm4FCF8Gm8OqrsTPjPUrA=";
};
nativeBuildInputs = [
+2 -2
View File
@@ -7,13 +7,13 @@
buildGoModule rec {
pname = "parlay";
version = "0.8.0";
version = "0.9.0";
src = fetchFromGitHub {
owner = "snyk";
repo = "parlay";
rev = "v${version}";
hash = "sha256-i7g0l+Q4VpBINK/HgIsl3wuxT2YoSqK08AJRxeVEzyo=";
hash = "sha256-56N8eVsNvaK1gCJWk7h+C0w5DbBaDHH1DpIqmflc2e4=";
};
vendorHash = "sha256-X/cgNdsUG0Ics/DCk1HOdzez9Ewwm1odFL1EiyFv1Sw=";
+2 -2
View File
@@ -6,7 +6,7 @@
python3Packages.buildPythonApplication rec {
pname = "pg_activity";
version = "3.6.0";
version = "3.6.1";
pyproject = true;
disabled = python3Packages.pythonOlder "3.8";
@@ -14,7 +14,7 @@ python3Packages.buildPythonApplication rec {
owner = "dalibo";
repo = "pg_activity";
tag = "v${version}";
sha256 = "sha256-7nHtJl/b2pZqiJbpWArMS5jh7B8dv8V1esic6uFPV/0=";
sha256 = "sha256-TzY+3RE06TxIrhl75wol9CvZDIz25GfgOx11vkREw2c=";
};
build-system = with python3Packages; [ setuptools ];
+3 -3
View File
@@ -6,16 +6,16 @@
buildGoModule rec {
pname = "phrase-cli";
version = "2.42.2";
version = "2.43.0";
src = fetchFromGitHub {
owner = "phrase";
repo = "phrase-cli";
rev = version;
sha256 = "sha256-63mlrUmXb0MjQvobghXj63cmSgKPMrtNuoqORCDQPsU=";
sha256 = "sha256-myG+V7piegEvjqLYeGg8Q3YgcNeLSZmB+5qwUhZRUik=";
};
vendorHash = "sha256-zVIxBZ2zTXk407piA4dXxKfyD7Ke8RIq7lYogr/+rcs=";
vendorHash = "sha256-ycjpZBa/6yYChQh+gHrq0V76GR38TnEU73QKJQBlr5o=";
ldflags = [ "-X=github.com/phrase/phrase-cli/cmd.PHRASE_CLIENT_VERSION=${version}" ];
+10 -10
View File
@@ -1,12 +1,12 @@
# Generated by ./update.sh - do not update manually!
# Last updated: 2025-06-28
# Last updated: 2025-07-18
{ fetchurl }:
let
any-darwin = {
version = "6.9.75-2025.6.26";
version = "6.9.75-2025-07-10";
src = fetchurl {
url = "https://dldir1v6.qq.com/qqfile/qq/QQNT/Mac/QQ_6.9.75_250626_01.dmg";
hash = "sha256-tWT0R88tXz0ypPQTDzASrh4znvBvq/ohBhpeDv2PlVc=";
url = "https://dldir1v6.qq.com/qqfile/qq/QQNT/Mac/QQ_6.9.75_250710_01.dmg";
hash = "sha256-ejplu4I5PRBdwMrgDZ51WS+qN1GKc5qHqMToIvgR6og=";
};
};
in
@@ -14,17 +14,17 @@ in
aarch64-darwin = any-darwin;
x86_64-darwin = any-darwin;
aarch64-linux = {
version = "3.2.18-2025.6.26";
version = "3.2.18-2025-07-10";
src = fetchurl {
url = "https://dldir1v6.qq.com/qqfile/qq/QQNT/Linux/QQ_3.2.18_250626_arm64_01.deb";
hash = "sha256-7teJWRvvz5baJsaHmOwnkLgBcBxWOUCGpV2+MHH7Tic=";
url = "https://dldir1v6.qq.com/qqfile/qq/QQNT/Linux/QQ_3.2.18_250710_arm64_01.deb";
hash = "sha256-37HEXpLyeIjgXsAonNjS3YaIwk4It2LDy6Yj4lqK94Q=";
};
};
x86_64-linux = {
version = "3.2.18-2025.6.26";
version = "3.2.18-2025-07-10";
src = fetchurl {
url = "https://dldir1v6.qq.com/qqfile/qq/QQNT/Linux/QQ_3.2.18_250626_amd64_01.deb";
hash = "sha256-xEw6tE+qX90XQS3e2MTudeUJNfx25hwgq1YFROHqfng=";
url = "https://dldir1v6.qq.com/qqfile/qq/QQNT/Linux/QQ_3.2.18_250710_amd64_01.deb";
hash = "sha256-P023rIalPAgBXZqJvnCgEHqTumWm+dhaUefzuR/4aoU=";
};
};
}
+2 -4
View File
@@ -7,8 +7,7 @@ cd $(readlink -e $(dirname "${BASH_SOURCE[0]}"))
# darwin
darwin_url=$(curl -s https://im.qq.com/macqq/index.shtml | grep -oP 'var rainbowConfigUrl = "\K.*(?=";)')
darwin_payload=$(curl "$darwin_url" | grep -oP "var params= \K\{.*\}(?=;)")
darwin_payload=$(curl https://cdn-go.cn/qq-web/im.qq.com_new/latest/rainbow/macOSConfig.js | grep -oP "var params= \K\{.*\}(?=;)")
darwin_version=$(jq -r .version <<< "$darwin_payload" | awk -F\ '{print $1}')-$(jq -r .updateDate <<< "$darwin_payload")
darwin_url=$(jq -r .downloadUrl <<< "$darwin_payload")
@@ -20,8 +19,7 @@ darwin_hash=$(nix --extra-experimental-features nix-command hash convert --to sr
# linux
linux_url=$(curl -s https://im.qq.com/linuxqq/index.shtml | grep -oP 'var rainbowConfigUrl = "\K.*(?=";)')
linux_payload=$(curl "$linux_url" | grep -oP "var params= \K\{.*\}(?=;)")
linux_payload=$(curl https://cdn-go.cn/qq-web/im.qq.com_new/latest/rainbow/linuxConfig.js | grep -oP "var params= \K\{.*\}(?=;)")
linux_version=$(jq -r .version <<< "$linux_payload")-$(jq -r .updateDate <<< "$linux_payload")
linux_aarch64_url=$(jq -r .armDownloadUrl.deb <<< "$linux_payload")
+3 -3
View File
@@ -16,19 +16,19 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "ruff";
version = "0.12.3";
version = "0.12.4";
src = fetchFromGitHub {
owner = "astral-sh";
repo = "ruff";
tag = finalAttrs.version;
hash = "sha256-KvTRoiySjLhm5jmYqXZAehRAzkB9CufyNisXkuagOv8=";
hash = "sha256-XuHVKxzXYlm3iEhdAVCyd62uNyb3jeJRl3B0hnvUzX0=";
};
cargoBuildFlags = [ "--package=ruff" ];
useFetchCargoVendor = true;
cargoHash = "sha256-5fK5VQ+UqkHmPdFz3FKAY9TVjvpePiYifrTHsxnkThM=";
cargoHash = "sha256-cyjaGI7JoreAmHtUrRKNyiCaE8zveP/dFJROC2iIXr4=";
nativeBuildInputs = [ installShellFiles ];
+3 -3
View File
@@ -8,16 +8,16 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "rustical";
version = "0.4.11";
version = "0.6.0";
src = fetchFromGitHub {
owner = "lennart-k";
repo = "rustical";
tag = "v${finalAttrs.version}";
hash = "sha256-QWuJKEc6hBA2rdbaqdhrah+WyRwVd91Y8/BIOaKlW28=";
hash = "sha256-0QpzJt5Jz1s4Ax9p4AyCwkrqi0HGf65VPbYy17WdYh8=";
};
cargoHash = "sha256-dQF+6my+TxZ6niFO5OnLXcPt0LGEymaXE9NqZWU5HJk=";
cargoHash = "sha256-Iylek8vY4lvKRQ/4LTalg0WMgopnvNKO7splZDrSjHE=";
nativeBuildInputs = [ pkg-config ];
buildInputs = [ openssl ];
@@ -11,7 +11,7 @@ let
src = fetchurl {
url = "https://github.com/simplex-chat/simplex-chat/releases/download/v${version}/simplex-desktop-x86_64.AppImage";
hash = "sha256-QTq2hBuFfuCvQ9EDcSW5M7bpkBvhYjYXCkKaRqLyblg=";
hash = "sha256-DxOq0pimXxvXDi65Hryp7Fv++M6a+V1qYyDSSEgttQs=";
};
appimageContents = appimageTools.extract {
+2 -2
View File
@@ -8,13 +8,13 @@
ocamlPackages.buildDunePackage rec {
pname = "slipshow";
version = "0.2.0";
version = "0.4.1";
src = fetchFromGitHub {
owner = "panglesd";
repo = "slipshow";
tag = "v${version}";
hash = "sha256-1gjQDkjDxanshvn1fNxwpJFt12uRWnkmRbs0tWdTgtM=";
hash = "sha256-VUKh3O2FYsA8gUJQT0LxTV9psp/neYfYEmQS9cgeFW8=";
};
postPatch = ''
+2 -2
View File
@@ -10,14 +10,14 @@
python3Packages.buildPythonApplication rec {
pname = "sqlite3-to-mysql";
version = "2.4.0";
version = "2.4.1";
format = "pyproject";
src = fetchFromGitHub {
owner = "techouse";
repo = "sqlite3-to-mysql";
tag = "v${version}";
hash = "sha256-1XYDCHR1GitMr6wgpj+roCzf5q4tMr6eGLMWzZgzpBY=";
hash = "sha256-sX70CmNt4mhZSyzh1x/FEovMpjiJMLFIfxgVIS9CuMY=";
};
build-system = with python3Packages; [
+3 -3
View File
@@ -7,17 +7,17 @@
rustPlatform.buildRustPackage rec {
pname = "subxt";
version = "0.42.1";
version = "0.43.0";
src = fetchFromGitHub {
owner = "paritytech";
repo = "subxt";
rev = "v${version}";
hash = "sha256-wp6gxIpo5MyODB/Gf6oh62iK/VmwjVaJkuysrytHKf4=";
hash = "sha256-BV/zP0L0gDmLSuzkp4OkOPfgldXBUiaHL4rciM7lrno=";
};
useFetchCargoVendor = true;
cargoHash = "sha256-1jat45mCpivEnKCp/9BfsW4ZXi0HF9PeAvK5gw5+enw=";
cargoHash = "sha256-7kmxnlhgNj0hY9FwVrzmdHw73Jf/pSeTHi6sqDg9X24=";
# Only build the command line client
cargoBuildFlags = [
+2 -2
View File
@@ -22,7 +22,7 @@ let
requests-mock
;
version = "4.127";
version = "4.131";
in
@@ -35,7 +35,7 @@ buildPythonApplication {
owner = "spaam";
repo = "svtplay-dl";
rev = version;
hash = "sha256-p+Ncd5J0DEuoU+h2ouPNi0s0XQcGpYXb5n7x0nj1NJ8=";
hash = "sha256-ZW30KI0R7bn4iESlhsYz1D2LQ4PDg7HBqW4wP1XO8gs=";
};
build-system = [ setuptools ];
+3 -3
View File
@@ -5,16 +5,16 @@
}:
buildGoModule rec {
pname = "testkube";
version = "2.1.162";
version = "2.1.163";
src = fetchFromGitHub {
owner = "kubeshop";
repo = "testkube";
rev = "v${version}";
hash = "sha256-zLq+lytTwNXLiJPnWP+fb7j5dEXF4OuZ8B9ucN+26/I=";
hash = "sha256-g9m3Uyrc8dXeDm5mjmWhcSrlVAqP0/4OCvuZQwW6Pf8=";
};
vendorHash = "sha256-m1w8z0d02/NzGkWULAMy9Ktd3rULgiQ8f6eUP/t97Lo=";
vendorHash = "sha256-i7GjhW9w6TEHg+PBVsQ8bOuToejiPpuOcSbXO5ffAMs=";
ldflags = [
"-X main.version=${version}"
+3 -3
View File
@@ -8,16 +8,16 @@
buildGoModule (finalAttrs: {
pname = "tldx";
version = "1.2.4";
version = "1.3.0";
src = fetchFromGitHub {
owner = "brandonyoungdev";
repo = "tldx";
tag = "v${finalAttrs.version}";
hash = "sha256-inX/27nzju1ns6fKF3iFmgYOd8KpI/cLX+UM8LjeOVw=";
hash = "sha256-JdVngzH6Md7LPV5m8p+C8CW/JRdXlEX19C9+oMTEtDY=";
};
vendorHash = "sha256-gNU1YcvRXOvPsniZKE+XEQ7YaJTc5qjTRgCrnNMjfXw=";
vendorHash = "sha256-Dzeo4ZvbKUow8IF5Lal1GK7sT71IEBPDitYCvNaK4aI=";
ldflags = [
"-s"
+2 -2
View File
@@ -6,13 +6,13 @@
buildGoModule rec {
pname = "tygo";
version = "0.2.18";
version = "0.2.19";
src = fetchFromGitHub {
owner = "gzuidhof";
repo = "tygo";
rev = "v${version}";
hash = "sha256-W2PgBcbkreP61QtAuOZ+VHUUZ4Mhe++1SK1p4Tg4Ack=";
hash = "sha256-Eyvvqk8D9q8rOODR72kJSg+g7cVjx3FJCPmSog6eP1E=";
};
vendorHash = "sha256-E73yqGhPzZA/1xTYGvTBy0/b4SE9hzx+gdhjX3ClE/Y=";
+45 -40
View File
@@ -11,8 +11,8 @@
},
{
"pname": "Avalonia",
"version": "11.3.1",
"hash": "sha256-732wl4/JmvYFS26NLvPD7T/V3J3JZUDy6Xwj5p1TNyE="
"version": "11.3.2",
"hash": "sha256-eDptsmrO7QxIvHm5kCs9ZE/N1tAuIBvaJMKiAcsu9yk="
},
{
"pname": "Avalonia.Angle.Windows.Natives",
@@ -31,38 +31,38 @@
},
{
"pname": "Avalonia.Controls.ColorPicker",
"version": "11.3.1",
"hash": "sha256-95sAkALievpuwLtCl7+6PgwNyxx9DAi/vVvQUFT7Qqs="
"version": "11.3.2",
"hash": "sha256-Lr943SkpYMZz3+TPA7vc/mtbQH0r/eLewZFNGNf3i2M="
},
{
"pname": "Avalonia.Controls.DataGrid",
"version": "11.3.1",
"hash": "sha256-UcfsSNYCd9zO75hyLevVe59/esHgNmcjJOproy3nhNM="
"version": "11.3.2",
"hash": "sha256-PFz2fgrBzXQWPLj9X1wdDKDH2iy/54E4NBa+yO7DTfQ="
},
{
"pname": "Avalonia.Desktop",
"version": "11.3.1",
"hash": "sha256-H6SLCi3by9bFF1YR12PnNZSmtC44UQPKr+5+8LvqC90="
"version": "11.3.2",
"hash": "sha256-A3LV30ekjXWdo/pRldL4S68AAA6BTuLU8ZGCinkNrvk="
},
{
"pname": "Avalonia.Diagnostics",
"version": "11.3.1",
"hash": "sha256-zDX3BfqUFUQ+p1ZWdHuhnV0n5B9RfiEtB8m0Px5AhsI="
"version": "11.3.2",
"hash": "sha256-fMXY9p16o/wpUXFjRngf96gVwSlX/WCY0fn3nE/TmIY="
},
{
"pname": "Avalonia.FreeDesktop",
"version": "11.3.1",
"hash": "sha256-Iph1SQazNNr9liox0LR7ITidAEEWhp8Mg9Zn4MZVkRQ="
"version": "11.3.2",
"hash": "sha256-Mxvpd5JKmIpjQCZmuiSb6IkKfwQhA3o712Ubdx0gP28="
},
{
"pname": "Avalonia.Native",
"version": "11.3.1",
"hash": "sha256-jNzqmHm58bbPGs/ogp6gFvinbN81Psg+sg+Z5UsbcDs="
"version": "11.3.2",
"hash": "sha256-HLVKaAVIRnm77lk7LJfrbiEmGWVIim7XMMoZAyGVUFA="
},
{
"pname": "Avalonia.ReactiveUI",
"version": "11.3.1",
"hash": "sha256-m7AFSxwvfz9LAueu0AFC+C7jHrB+lysBmpBh7bhpmUs="
"version": "11.3.2",
"hash": "sha256-lYKhqoKqEZB4tttXehK5KoBMkwVeTxAThh87dns4C/c="
},
{
"pname": "Avalonia.Remote.Protocol",
@@ -76,28 +76,28 @@
},
{
"pname": "Avalonia.Remote.Protocol",
"version": "11.3.1",
"hash": "sha256-evkhJOxKjsR+jNLrXRcrhqjFdlrxYMMMRBJ6FK08vMM="
"version": "11.3.2",
"hash": "sha256-NIkrj4pMvxVvznexzEXmNI8KXWLSXmVbHHWpwz9h3M8="
},
{
"pname": "Avalonia.Skia",
"version": "11.3.1",
"hash": "sha256-zN09CcuSqtLcQrTCQOoPJrhLd4LioZqt/Qi4sDp/cJI="
"version": "11.3.2",
"hash": "sha256-cBJo/tTewA2/LSygJ5aAyPPr11KpLPwS1I6kQxDMy24="
},
{
"pname": "Avalonia.Themes.Simple",
"version": "11.3.1",
"hash": "sha256-U9btigJeFcuOu7T3ryyJJesffnZo1JBb9pWkF0PFu9s="
"version": "11.3.2",
"hash": "sha256-c8QtpXv+B1CTkW9ovxOZwjRZAkD4KZzIvhIhI5WJXdo="
},
{
"pname": "Avalonia.Win32",
"version": "11.3.1",
"hash": "sha256-w3+8luJByeIchiVQ0wsq0olDabX/DndigyBEuK8Ty04="
"version": "11.3.2",
"hash": "sha256-FNs+O2knXcmUpfDjd/9JcNmpzEi8g3UQ3pQHItnN2U8="
},
{
"pname": "Avalonia.X11",
"version": "11.3.1",
"hash": "sha256-0iUFrDM+10T3OiOeGSEiqQ6EzEucQL3shZUNqOiqkyQ="
"version": "11.3.2",
"hash": "sha256-OCH5bwJ7Zje0/L7qtDcFa+yje/uwm2pYNE169J866/I="
},
{
"pname": "CliWrap",
@@ -116,8 +116,8 @@
},
{
"pname": "DynamicData",
"version": "9.3.2",
"hash": "sha256-00fzA28aU48l52TsrDSJ9ucljYOunmH7s2qPyR3YjRA="
"version": "9.4.1",
"hash": "sha256-CX4NQj2LTk/8f4xDE5rUVBsqcY74H/1qUHFTrVX+9/0="
},
{
"pname": "Fody",
@@ -176,8 +176,8 @@
},
{
"pname": "NLog",
"version": "5.3.4",
"hash": "sha256-Cwr1Wu9VbOcRz3GdVKkt7lIpNwC1E4Hdb0g+qEkEr3k="
"version": "5.5.0",
"hash": "sha256-WkuKGo3iEqJruQuRZXMksqIbAQjZbFIANcm0zZr/fYE="
},
{
"pname": "QRCoder",
@@ -186,8 +186,8 @@
},
{
"pname": "ReactiveUI",
"version": "20.3.1",
"hash": "sha256-1eCZ5M+zkVmlPYuK1gBDCdyCGlYbXIfX+h6Vz0hu8e4="
"version": "20.4.1",
"hash": "sha256-YXd4A5akZ/dMOo9IalKPoNMGlBGxk60o3u6pGB4BCXY="
},
{
"pname": "ReactiveUI.Fody",
@@ -196,13 +196,13 @@
},
{
"pname": "Semi.Avalonia",
"version": "11.2.1.8",
"hash": "sha256-1P3hr634woqLtNrWOiJWzizwh0AMWt9Y7J1SXHIkv5M="
"version": "11.2.1.9",
"hash": "sha256-4NsQyk70xjD+V0X/0wuWhQshkadbBVs1iyRNEPmExkk="
},
{
"pname": "Semi.Avalonia.DataGrid",
"version": "11.2.1.8",
"hash": "sha256-OKb+vlKSf9e0vL5mGNzSEr62k1Zy/mS4kXWGHZHcBq0="
"version": "11.2.1.9",
"hash": "sha256-6V1agOI1KcTXQN1+uab7tSZH1ZdJEQrVfxZ5ha1cvGI="
},
{
"pname": "SkiaSharp",
@@ -249,10 +249,15 @@
"version": "15.3.1",
"hash": "sha256-1MlkqywOtLr5TbQ+zAqzw0l92LK9+9h2+sJgmfV32RU="
},
{
"pname": "Splat",
"version": "15.4.1",
"hash": "sha256-qmp9aNmSSGQjrt9womxfC786nxeafH66okaBk0LXnhw="
},
{
"pname": "Splat.NLog",
"version": "15.3.1",
"hash": "sha256-u/8nSYE618HHNfJjyiQfuluWx83FDYW2RlorPjxRuxs="
"version": "15.4.1",
"hash": "sha256-CPgRSGmCtG9hFTFjd9r0Hwr0tO9MHpyttZ4NdKrWYyY="
},
{
"pname": "sqlite-net-pcl",
@@ -316,8 +321,8 @@
},
{
"pname": "TaskScheduler",
"version": "2.12.1",
"hash": "sha256-eM4vgA+/ukoXCX3y4Ad5WPeIPiwLLDfhh4P0ukWf4lQ="
"version": "2.12.2",
"hash": "sha256-05yC1ufzZrRQU8PxG1EvDsAh0aD8+f4Cg0eLLt0Ljdk="
},
{
"pname": "Tmds.DBus.Protocol",
+2 -2
View File
@@ -21,13 +21,13 @@
buildDotnetModule rec {
pname = "v2rayn";
version = "7.12.7";
version = "7.13.1";
src = fetchFromGitHub {
owner = "2dust";
repo = "v2rayN";
tag = version;
hash = "sha256-pYkUbctdN3qaGxI5DbreoOGmXyIVrpHqYlN3BFRCcZ8=";
hash = "sha256-4lnMT6p32uHeLd85JNWEVg1LsDr99YVsgpxG2MdpYQ0=";
fetchSubmodules = true;
};
+3 -3
View File
@@ -7,17 +7,17 @@
buildGoModule (finalAttrs: {
pname = "vacuum-go";
version = "0.17.5";
version = "0.17.6";
src = fetchFromGitHub {
owner = "daveshanley";
repo = "vacuum";
# using refs/tags because simple version gives: 'the given path has multiple possibilities' error
tag = "v${finalAttrs.version}";
hash = "sha256-QBbpDV/hlzFgrmCsywH5CC43V2Rt0fwPkf6ZCgjqqUc=";
hash = "sha256-riTyTOx8SoyIaXtL2qbL7AZO2sPcCIi6DJ64OFMNAWE=";
};
vendorHash = "sha256-AjmET86E/xu6DTK07kMySWp5Z8W1RE/QPSe2B/IfDl0=";
vendorHash = "sha256-f+frQCCk/9+9dilSt13yk4U3c7D/r5XAwlXznyMhqM4=";
env.CGO_ENABLED = 0;
ldflags = [
@@ -13,7 +13,7 @@
stdenv.mkDerivation (finalAttrs: {
pname = "vapoursynth-bestsource";
version = "11";
version = "13";
outputs = [
"out"
@@ -25,7 +25,7 @@ stdenv.mkDerivation (finalAttrs: {
owner = "vapoursynth";
repo = "bestsource";
tag = "R${finalAttrs.version}";
hash = "sha256-/hRjo7MQhm/ANUC38p9btOO5ek4Q6IaeKtcSbTzD3BQ=";
hash = "sha256-c+FMFWICDS8Plj6GE2vvhWPmf56Vk10j41HUK1q20/U=";
};
nativeBuildInputs = [
+3 -3
View File
@@ -6,16 +6,16 @@
buildGoModule rec {
pname = "versitygw";
version = "1.0.15";
version = "1.0.16";
src = fetchFromGitHub {
owner = "versity";
repo = "versitygw";
tag = "v${version}";
hash = "sha256-gRVUR1BlGVLS6+OZUvOVgoRNDiHrDSDu2L3iBwZ/zbg=";
hash = "sha256-MLM3pjcSV+4cpHcUP4m2YqadOEdwAnnk7IvaF9vXw48=";
};
vendorHash = "sha256-7efskc/3bj8/8D5LgQnkC4TYib+73fpDyRKDDcFVRvA=";
vendorHash = "sha256-EV2GWfRvYHFosl2NjRkSu1acWKxcCd1I8gVvyXA4O1A=";
doCheck = false; # Require access to online S3 services
@@ -0,0 +1,35 @@
{
lib,
buildNpmPackage,
fetchFromGitHub,
pkg-config,
libsecret,
}:
buildNpmPackage {
pname = "solidity-language-server";
version = "0.0.185";
src = fetchFromGitHub {
owner = "juanfranblanco";
repo = "vscode-solidity";
rev = "5198201a23874e79248e6b09558ca30e5bf5cdcf";
hash = "sha256-GHa2VbMyYn0FXEhd1my0851rbtoWtlOGmsAF6JDzLkc=";
};
npmDepsHash = "sha256-zXhWtPuiu+CRk712KskuHP4vglogJmFoCak6qWczPFM=";
nativeBuildInputs = [ pkg-config ];
buildInputs = [ libsecret ];
npmBuildScript = "build:cli";
meta = {
description = "Language Server for solidity code";
homepage = "https://github.com/juanfranblanco/vscode-solidity";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ rookeur ];
mainProgram = "solidity-language-server";
};
}
+2 -2
View File
@@ -10,13 +10,13 @@
buildGoModule rec {
pname = "wakatime-cli";
version = "1.115.6";
version = "1.118.0";
src = fetchFromGitHub {
owner = "wakatime";
repo = "wakatime-cli";
tag = "v${version}";
hash = "sha256-kLvYU+mu9vXD0mfgrvpMFeeLTJcp4NxY4Z3n0ks5RC4=";
hash = "sha256-f17dSfS+6jF1wsLEP5UdzYbqK6DVD5nflMpz8oQzZ+Q=";
};
vendorHash = "sha256-jyFUauK+CAuSv+dKUyVtuoTizeGkKnNquZLA96oq1BM=";
+2 -2
View File
@@ -8,13 +8,13 @@
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "wavelog";
version = "2.0.5";
version = "2.0.7";
src = fetchFromGitHub {
owner = "wavelog";
repo = "wavelog";
tag = finalAttrs.version;
hash = "sha256-FFPg9VSyOeUPH0bV4fY3e7NKH9vW+JdIeYbAAzCEpiA=";
hash = "sha256-QgFxvaldTfuimEgRz2T3grllwLpznoHnOi66kXyMiGU=";
};
installPhase = ''
+3 -3
View File
@@ -8,16 +8,16 @@
buildNpmPackage rec {
pname = "web-ext";
version = "8.8.0";
version = "8.9.0";
src = fetchFromGitHub {
owner = "mozilla";
repo = "web-ext";
rev = version;
hash = "sha256-119LxYhTqzobcwJZ0DSawNUIVMWxWSQp/XtkGEK2L7k=";
hash = "sha256-hy/Jt9P0ROXC+00kFbB1Qh9kOPjSvAREXCPI4kpsDMM=";
};
npmDepsHash = "sha256-Na0caulpTMMIvsXC04+x8GUWDCyX6f6vVNmlnN694BE=";
npmDepsHash = "sha256-4Raak0Jqahc9l48SUctFKT0M1m27X8VcLyC3eJJCX1I=";
npmBuildFlags = [ "--production" ];
+3 -3
View File
@@ -11,17 +11,17 @@
rustPlatform.buildRustPackage rec {
pname = "wlr-which-key";
version = "1.2.0";
version = "1.3.0";
src = fetchFromGitHub {
owner = "MaxVerevkin";
repo = "wlr-which-key";
rev = "v${version}";
hash = "sha256-P7DtSTyAfgACEfpnxYXhQ+Rvdw4rg2hFllCN1mEGfJQ=";
hash = "sha256-2dVTN5aaXeGBUKhsuUyDfELyL4AcKoaPXD0gN7ydL/Y=";
};
useFetchCargoVendor = true;
cargoHash = "sha256-yH05tpJiEDP0qEhDY3dpf2cxYeJYVOvOQyfcgg2vPQk=";
cargoHash = "sha256-v+4/lD00rjJvrQ2NQqFusZc0zQbM9mBG5T9bNioNGKQ=";
nativeBuildInputs = [
pkg-config
+2 -2
View File
@@ -9,13 +9,13 @@
buildGoModule rec {
pname = "xk6";
version = "1.0.1";
version = "1.1.1";
src = fetchFromGitHub {
owner = "grafana";
repo = "xk6";
tag = "v${version}";
hash = "sha256-uFW8TogMq0Uo0SXzO7V8xK4UCo+u6CTArIWIwz+kyZc=";
hash = "sha256-cypxnBQwVW4gdesRljlT8ATmgojOj5RxU+lScMTj5Ac=";
};
vendorHash = null;
+3 -3
View File
@@ -13,13 +13,13 @@
rustPlatform.buildRustPackage rec {
pname = "youki";
version = "0.5.3";
version = "0.5.4";
src = fetchFromGitHub {
owner = "containers";
repo = "youki";
rev = "v${version}";
hash = "sha256-SFU7v5pefQkh751Ato4xkPqiEc/3++9hpwyNJjXwqMA=";
hash = "sha256-tWe5EPodO+slp+K7mn9UTVApNdiDRPMsOa9RfiT9qQw=";
};
nativeBuildInputs = [
@@ -54,7 +54,7 @@ rustPlatform.buildRustPackage rec {
];
useFetchCargoVendor = true;
cargoHash = "sha256-nRlvvr73glmpFsWb2Pi1icZl7d85/8iX2rHnNXv4ep8=";
cargoHash = "sha256-YM4D2DDXc9o4ak2DT36IeXpYykA/9R7PPqmIXkZ9aDs=";
meta = {
description = "Container runtime written in Rust";
@@ -1,4 +1,5 @@
{
config,
lib,
stdenv,
makeWrapper,
@@ -21,7 +22,7 @@ let
# some builds need that clarity.
#
ndkBuildInfoFun =
{ config, ... }:
fallback:
{
x86_64-apple-darwin = {
double = "darwin-x86_64";
@@ -30,10 +31,10 @@ let
double = "linux-x86_64";
};
}
.${config} or (throw "Android NDK doesn't support building on ${config}, as far as we know");
.${stdenv.buildPlatform.config} or fallback;
ndkTargetInfoFun =
{ config, ... }:
fallback:
{
i686-unknown-linux-android = {
triple = "i686-linux-android";
@@ -52,10 +53,14 @@ let
triple = "aarch64-linux-android";
};
}
.${config} or (throw "Android NDK doesn't support targetting ${config}, as far as we know");
.${stdenv.targetPlatform.config} or fallback;
buildInfo = ndkBuildInfoFun stdenv.buildPlatform;
targetInfo = ndkTargetInfoFun stdenv.targetPlatform;
buildInfo = ndkBuildInfoFun (
throw "Android NDK doesn't support building on ${stdenv.buildPlatform.config}, as far as we know"
);
targetInfo = ndkTargetInfoFun (
throw "Android NDK doesn't support targetting ${stdenv.targetPlatform.config}, as far as we know"
);
androidSdkVersion =
if
@@ -74,119 +79,123 @@ let
);
in
lib.recurseIntoAttrs rec {
# Misc tools
binaries = stdenv.mkDerivation {
pname = "${targetPrefix}ndk-toolchain";
inherit (androidndk) version;
nativeBuildInputs = [
makeWrapper
autoPatchelfHook
];
propagatedBuildInputs = [ androidndk ];
passthru = {
inherit targetPrefix;
isClang = true; # clang based cc, but bintools ld
inherit (llvmPackages.clang.cc) hardeningUnsupportedFlagsByTargetPlatform;
};
dontUnpack = true;
dontBuild = true;
dontStrip = true;
dontConfigure = true;
dontPatch = true;
autoPatchelfIgnoreMissingDeps = true;
installPhase = ''
# https://developer.android.com/ndk/guides/other_build_systems
mkdir -p $out
cp -r ${androidndk}/libexec/android-sdk/ndk-bundle/toolchains/llvm/prebuilt/${buildInfo.double} $out/toolchain
find $out/toolchain -type d -exec chmod 777 {} \;
if !config.allowAliases && (ndkBuildInfoFun null == null || ndkTargetInfoFun null == null) then
# Don't throw without aliases to not break CI.
null
else
lib.recurseIntoAttrs rec {
# Misc tools
binaries = stdenv.mkDerivation {
pname = "${targetPrefix}ndk-toolchain";
inherit (androidndk) version;
nativeBuildInputs = [
makeWrapper
autoPatchelfHook
];
propagatedBuildInputs = [ androidndk ];
passthru = {
inherit targetPrefix;
isClang = true; # clang based cc, but bintools ld
inherit (llvmPackages.clang.cc) hardeningUnsupportedFlagsByTargetPlatform;
};
dontUnpack = true;
dontBuild = true;
dontStrip = true;
dontConfigure = true;
dontPatch = true;
autoPatchelfIgnoreMissingDeps = true;
installPhase = ''
# https://developer.android.com/ndk/guides/other_build_systems
mkdir -p $out
cp -r ${androidndk}/libexec/android-sdk/ndk-bundle/toolchains/llvm/prebuilt/${buildInfo.double} $out/toolchain
find $out/toolchain -type d -exec chmod 777 {} \;
if [ ! -d $out/toolchain/sysroot/usr/lib/${targetInfo.triple}/${androidSdkVersion} ]; then
echo "NDK does not contain libraries for SDK version ${androidSdkVersion}";
if [ ! -d $out/toolchain/sysroot/usr/lib/${targetInfo.triple}/${androidSdkVersion} ]; then
echo "NDK does not contain libraries for SDK version ${androidSdkVersion}";
exit 1
fi
ln -vfs $out/toolchain/sysroot/usr/lib $out/lib
ln -s $out/toolchain/sysroot/usr/lib/${targetInfo.triple}/*.so $out/lib/
ln -s $out/toolchain/sysroot/usr/lib/${targetInfo.triple}/*.a $out/lib/
chmod +w $out/lib/*
ln -s $out/toolchain/sysroot/usr/lib/${targetInfo.triple}/${androidSdkVersion}/*.so $out/lib/
ln -s $out/toolchain/sysroot/usr/lib/${targetInfo.triple}/${androidSdkVersion}/*.o $out/lib/
echo "INPUT(-lc++_static)" > $out/lib/libc++.a
ln -s $out/toolchain/bin $out/bin
ln -s $out/toolchain/${targetInfo.triple}/bin/* $out/bin/
for f in $out/bin/${targetInfo.triple}-*; do
ln -s $f ''${f/${targetInfo.triple}-/${targetPrefix}}
done
for f in $(find $out/toolchain -type d -name ${targetInfo.triple}); do
ln -s $f ''${f/${targetInfo.triple}/${targetPrefix}}
done
rm -f $out/bin/${targetPrefix}ld
ln -s $out/bin/lld $out/bin/${targetPrefix}ld
(cd $out/bin;
for tool in llvm-*; do
ln -sf $tool ${targetPrefix}$(echo $tool | sed 's/llvm-//')
ln -sf $tool $(echo $tool | sed 's/llvm-//')
done)
ln -sf $out/bin/yasm $out/bin/${targetPrefix}as
ln -sf $out/bin/yasm $out/bin/as
patchShebangs $out/bin
'';
meta = {
description = "The Android NDK toolchain, tuned for other platforms";
license = with lib.licenses; [ unfree ];
teams = [ lib.teams.android ];
};
};
binutils = wrapBintoolsWith {
bintools = binaries;
libc = targetAndroidndkPkgs.libraries;
};
clang = wrapCCWith {
cc = binaries // {
# for packages expecting libcompiler-rt, etc. to come from here (stdenv.cc.cc.lib)
lib = targetAndroidndkPkgs.libraries;
};
bintools = binutils;
libc = targetAndroidndkPkgs.libraries;
extraBuildCommands = ''
echo "-D__ANDROID_API__=${stdenv.targetPlatform.androidSdkVersion}" >> $out/nix-support/cc-cflags
# Android needs executables linked with -pie since version 5.0
# Use -fPIC for compilation, and link with -pie if no -shared flag used in ldflags
echo "-target ${targetInfo.triple} -fPIC" >> $out/nix-support/cc-cflags
echo "-z,noexecstack -z,relro -z,now -z,muldefs" >> $out/nix-support/cc-ldflags
echo 'expandResponseParams "$@"' >> $out/nix-support/add-flags.sh
echo 'if [[ ! (" ''${params[@]} " =~ " -shared ") && ! (" ''${params[@]} " =~ " -no-pie ") ]]; then NIX_LDFLAGS_${suffixSalt}+=" -pie"; fi' >> $out/nix-support/add-flags.sh
echo "-Xclang -mnoexecstack" >> $out/nix-support/cc-cxxflags
if [ ${targetInfo.triple} == arm-linux-androideabi ]; then
# https://android.googlesource.com/platform/external/android-cmake/+/refs/heads/cmake-master-dev/android.toolchain.cmake
echo "--fix-cortex-a8" >> $out/nix-support/cc-ldflags
fi
'';
};
# Bionic lib C and other libraries.
#
# We use androidndk from the previous stage, else we waste time or get cycles
# cross-compiling packages to wrap incorrectly wrap binaries we don't include
# anyways.
libraries = runCommand "bionic-prebuilt" { } ''
lpath=${buildAndroidndk}/libexec/android-sdk/ndk-bundle/toolchains/llvm/prebuilt/${buildInfo.double}/sysroot/usr/lib/${targetInfo.triple}/${androidSdkVersion}
if [ ! -d $lpath ]; then
echo "NDK does not contain libraries for SDK version ${androidSdkVersion} <$lpath>"
exit 1
fi
ln -vfs $out/toolchain/sysroot/usr/lib $out/lib
ln -s $out/toolchain/sysroot/usr/lib/${targetInfo.triple}/*.so $out/lib/
ln -s $out/toolchain/sysroot/usr/lib/${targetInfo.triple}/*.a $out/lib/
mkdir -p $out/lib
cp $lpath/*.so $lpath/*.a $out/lib
chmod +w $out/lib/*
ln -s $out/toolchain/sysroot/usr/lib/${targetInfo.triple}/${androidSdkVersion}/*.so $out/lib/
ln -s $out/toolchain/sysroot/usr/lib/${targetInfo.triple}/${androidSdkVersion}/*.o $out/lib/
echo "INPUT(-lc++_static)" > $out/lib/libc++.a
ln -s $out/toolchain/bin $out/bin
ln -s $out/toolchain/${targetInfo.triple}/bin/* $out/bin/
for f in $out/bin/${targetInfo.triple}-*; do
ln -s $f ''${f/${targetInfo.triple}-/${targetPrefix}}
done
for f in $(find $out/toolchain -type d -name ${targetInfo.triple}); do
ln -s $f ''${f/${targetInfo.triple}/${targetPrefix}}
done
rm -f $out/bin/${targetPrefix}ld
ln -s $out/bin/lld $out/bin/${targetPrefix}ld
(cd $out/bin;
for tool in llvm-*; do
ln -sf $tool ${targetPrefix}$(echo $tool | sed 's/llvm-//')
ln -sf $tool $(echo $tool | sed 's/llvm-//')
done)
ln -sf $out/bin/yasm $out/bin/${targetPrefix}as
ln -sf $out/bin/yasm $out/bin/as
patchShebangs $out/bin
cp $lpath/* $out/lib
'';
meta = {
description = "The Android NDK toolchain, tuned for other platforms";
license = with lib.licenses; [ unfree ];
teams = [ lib.teams.android ];
};
};
binutils = wrapBintoolsWith {
bintools = binaries;
libc = targetAndroidndkPkgs.libraries;
};
clang = wrapCCWith {
cc = binaries // {
# for packages expecting libcompiler-rt, etc. to come from here (stdenv.cc.cc.lib)
lib = targetAndroidndkPkgs.libraries;
};
bintools = binutils;
libc = targetAndroidndkPkgs.libraries;
extraBuildCommands = ''
echo "-D__ANDROID_API__=${stdenv.targetPlatform.androidSdkVersion}" >> $out/nix-support/cc-cflags
# Android needs executables linked with -pie since version 5.0
# Use -fPIC for compilation, and link with -pie if no -shared flag used in ldflags
echo "-target ${targetInfo.triple} -fPIC" >> $out/nix-support/cc-cflags
echo "-z,noexecstack -z,relro -z,now -z,muldefs" >> $out/nix-support/cc-ldflags
echo 'expandResponseParams "$@"' >> $out/nix-support/add-flags.sh
echo 'if [[ ! (" ''${params[@]} " =~ " -shared ") && ! (" ''${params[@]} " =~ " -no-pie ") ]]; then NIX_LDFLAGS_${suffixSalt}+=" -pie"; fi' >> $out/nix-support/add-flags.sh
echo "-Xclang -mnoexecstack" >> $out/nix-support/cc-cxxflags
if [ ${targetInfo.triple} == arm-linux-androideabi ]; then
# https://android.googlesource.com/platform/external/android-cmake/+/refs/heads/cmake-master-dev/android.toolchain.cmake
echo "--fix-cortex-a8" >> $out/nix-support/cc-ldflags
fi
'';
};
# Bionic lib C and other libraries.
#
# We use androidndk from the previous stage, else we waste time or get cycles
# cross-compiling packages to wrap incorrectly wrap binaries we don't include
# anyways.
libraries = runCommand "bionic-prebuilt" { } ''
lpath=${buildAndroidndk}/libexec/android-sdk/ndk-bundle/toolchains/llvm/prebuilt/${buildInfo.double}/sysroot/usr/lib/${targetInfo.triple}/${androidSdkVersion}
if [ ! -d $lpath ]; then
echo "NDK does not contain libraries for SDK version ${androidSdkVersion} <$lpath>"
exit 1
fi
mkdir -p $out/lib
cp $lpath/*.so $lpath/*.a $out/lib
chmod +w $out/lib/*
cp $lpath/* $out/lib
'';
}
}
+1 -1
View File
@@ -24,7 +24,7 @@ let
majorVersion = lib.versions.major ndkVersion;
in
import ./androidndk-pkgs.nix {
inherit lib;
inherit config lib;
inherit (buildPackages)
makeWrapper
autoPatchelfHook
@@ -19,11 +19,6 @@
libXmu,
}:
assert stdenv ? cc;
assert stdenv.cc.isGNU;
assert stdenv.cc ? libc;
assert stdenv.cc.libc != null;
stdenv.mkDerivation rec {
pname = "gcl";
version = "2.6.14";
@@ -1,4 +1,5 @@
{
config,
lib,
stdenv,
fetchFromGitHub,
@@ -57,6 +58,8 @@ let
true
else
versionOlder (versions.major (getVersion erlang)) maxShiftMajor;
minAssert = versionAtLeast (getVersion erlang) minimumOTPVersion;
bothAssert = minAssert && maxAssert;
elixirShebang =
if stdenv.hostPlatform.isDarwin then
@@ -70,82 +73,84 @@ let
erlc_opts = [ "deterministic" ] ++ optionals debugInfo [ "debug_info" ];
in
assert assertMsg (versionAtLeast (getVersion erlang) minimumOTPVersion) compatibilityMsg;
assert assertMsg maxAssert compatibilityMsg;
if !config.allowAliases && !bothAssert then
# Don't throw without aliases to not break CI.
null
else
assert assertMsg bothAssert compatibilityMsg;
stdenv.mkDerivation {
pname = "${baseName}";
stdenv.mkDerivation {
pname = "${baseName}";
inherit src version debugInfo;
inherit src version debugInfo;
nativeBuildInputs = [ makeWrapper ];
buildInputs = [ erlang ];
nativeBuildInputs = [ makeWrapper ];
buildInputs = [ erlang ];
env = {
LANG = "C.UTF-8";
LC_TYPE = "C.UTF-8";
DESTDIR = placeholder "out";
PREFIX = "/";
ERL_COMPILER_OPTIONS = "[${concatStringsSep "," erlc_opts}]";
};
env = {
LANG = "C.UTF-8";
LC_TYPE = "C.UTF-8";
DESTDIR = placeholder "out";
PREFIX = "/";
ERL_COMPILER_OPTIONS = "[${concatStringsSep "," erlc_opts}]";
};
preBuild = ''
patchShebangs ${escriptPath} || true
'';
# copy stdlib source files for LSP access
postInstall = ''
for d in lib/*; do
cp -R "$d/lib" "$out/lib/elixir/$d"
done
'';
postFixup = ''
# Elixir binaries are shell scripts which run erl. Add some stuff
# to PATH so the scripts can run without problems.
for f in $out/bin/*; do
b=$(basename $f)
if [ "$b" = mix ]; then continue; fi
wrapProgram $f \
--prefix PATH ":" "${
lib.makeBinPath [
erlang
coreutils
curl
bash
]
}"
done
substituteInPlace $out/bin/mix \
--replace "/usr/bin/env elixir" "${elixirShebang}"
'';
passthru.updateScript = nix-update-script {
extraArgs = [
"--version-regex"
"v(${lib.versions.major version}\\.${lib.versions.minor version}\\.[0-9\\-rc.]+)"
"--override-filename"
"pkgs/development/interpreters/elixir/${lib.versions.major version}.${lib.versions.minor version}.nix"
];
};
pos = builtins.unsafeGetAttrPos "sha256" args;
meta = with lib; {
homepage = "https://elixir-lang.org/";
description = "Functional, meta-programming aware language built on top of the Erlang VM";
longDescription = ''
Elixir is a functional, meta-programming aware language built on
top of the Erlang VM. It is a dynamic language with flexible
syntax and macro support that leverages Erlang's abilities to
build concurrent, distributed and fault-tolerant applications
with hot code upgrades.
preBuild = ''
patchShebangs ${escriptPath} || true
'';
license = licenses.asl20;
platforms = platforms.unix;
teams = [ teams.beam ];
};
}
# copy stdlib source files for LSP access
postInstall = ''
for d in lib/*; do
cp -R "$d/lib" "$out/lib/elixir/$d"
done
'';
postFixup = ''
# Elixir binaries are shell scripts which run erl. Add some stuff
# to PATH so the scripts can run without problems.
for f in $out/bin/*; do
b=$(basename $f)
if [ "$b" = mix ]; then continue; fi
wrapProgram $f \
--prefix PATH ":" "${
lib.makeBinPath [
erlang
coreutils
curl
bash
]
}"
done
substituteInPlace $out/bin/mix \
--replace "/usr/bin/env elixir" "${elixirShebang}"
'';
passthru.updateScript = nix-update-script {
extraArgs = [
"--version-regex"
"v(${lib.versions.major version}\\.${lib.versions.minor version}\\.[0-9\\-rc.]+)"
"--override-filename"
"pkgs/development/interpreters/elixir/${lib.versions.major version}.${lib.versions.minor version}.nix"
];
};
pos = builtins.unsafeGetAttrPos "sha256" args;
meta = with lib; {
homepage = "https://elixir-lang.org/";
description = "Functional, meta-programming aware language built on top of the Erlang VM";
longDescription = ''
Elixir is a functional, meta-programming aware language built on
top of the Erlang VM. It is a dynamic language with flexible
syntax and macro support that leverages Erlang's abilities to
build concurrent, distributed and fault-tolerant applications
with hot code upgrades.
'';
license = licenses.asl20;
platforms = platforms.unix;
teams = [ teams.beam ];
};
}
@@ -1,4 +1,5 @@
{
config,
lib,
fetchFromGitHub,
erlang,
@@ -37,6 +38,8 @@ let
mainVersion = versions.major (getVersion erlang);
maxAssert = versionAtLeast maximumOTPVersion mainVersion;
proper = buildHex {
name = "proper";
version = "1.4.0";
@@ -45,82 +48,85 @@ let
};
in
assert (assertMsg (versionAtLeast maximumOTPVersion mainVersion)) ''
LFE ${version} is supported on OTP <=${maximumOTPVersion}, not ${mainVersion}.
'';
buildRebar3 {
name = baseName;
inherit src version;
nativeBuildInputs = [
makeWrapper
erlang
];
beamDeps = [ proper ];
patches = [
./fix-rebar-config.patch
./dedup-ebins.patch
] ++ patches;
doCheck = true;
checkTarget = "travis";
makeFlags = [
"-e"
"MANDB=''"
"PREFIX=$$out"
];
# These installPhase tricks are based on Elixir's Makefile.
# TODO: Make, upload, and apply a patch.
installPhase = optionalString (versionOlder version "1.3") ''
local libdir=$out/lib/lfe
local ebindir=$libdir/ebin
local bindir=$libdir/bin
rm -Rf $ebindir
install -m755 -d $ebindir
install -m644 _build/default/lib/lfe/ebin/* $ebindir
install -m755 -d $bindir
for bin in bin/lfe{,c,doc,script}; do install -m755 $bin $bindir; done
install -m755 -d $out/bin
for file in $bindir/*; do ln -sf $file $out/bin/; done
if !config.allowAliases && !maxAssert then
# Don't throw without aliases to not break CI.
null
else
assert assertMsg maxAssert ''
LFE ${version} is supported on OTP <=${maximumOTPVersion}, not ${mainVersion}.
'';
buildRebar3 {
name = baseName;
# Thanks again, Elixir.
postFixup = ''
# LFE binaries are shell scripts which run erl and lfe.
# Add some stuff to PATH so the scripts can run without problems.
for f in $out/bin/*; do
wrapProgram $f \
--prefix PATH ":" "${
makeBinPath [
erlang
coreutils
bash
]
}:$out/bin"
substituteInPlace $f --replace "/usr/bin/env" "${coreutils}/bin/env"
done
'';
inherit src version;
meta = with lib; {
description = "Best of Erlang and of Lisp; at the same time!";
longDescription = ''
LFE, Lisp Flavoured Erlang, is a lisp syntax front-end to the Erlang
compiler. Code produced with it is compatible with "normal" Erlang
code. An LFE evaluator and shell is also included.
nativeBuildInputs = [
makeWrapper
erlang
];
beamDeps = [ proper ];
patches = [
./fix-rebar-config.patch
./dedup-ebins.patch
] ++ patches;
doCheck = true;
checkTarget = "travis";
makeFlags = [
"-e"
"MANDB=''"
"PREFIX=$$out"
];
# These installPhase tricks are based on Elixir's Makefile.
# TODO: Make, upload, and apply a patch.
installPhase = optionalString (versionOlder version "1.3") ''
local libdir=$out/lib/lfe
local ebindir=$libdir/ebin
local bindir=$libdir/bin
rm -Rf $ebindir
install -m755 -d $ebindir
install -m644 _build/default/lib/lfe/ebin/* $ebindir
install -m755 -d $bindir
for bin in bin/lfe{,c,doc,script}; do install -m755 $bin $bindir; done
install -m755 -d $out/bin
for file in $bindir/*; do ln -sf $file $out/bin/; done
'';
homepage = "https://lfe.io";
downloadPage = "https://github.com/rvirding/lfe/releases";
# Thanks again, Elixir.
postFixup = ''
# LFE binaries are shell scripts which run erl and lfe.
# Add some stuff to PATH so the scripts can run without problems.
for f in $out/bin/*; do
wrapProgram $f \
--prefix PATH ":" "${
makeBinPath [
erlang
coreutils
bash
]
}:$out/bin"
substituteInPlace $f --replace "/usr/bin/env" "${coreutils}/bin/env"
done
'';
license = licenses.asl20;
teams = [ teams.beam ];
platforms = platforms.unix;
};
}
meta = with lib; {
description = "Best of Erlang and of Lisp; at the same time!";
longDescription = ''
LFE, Lisp Flavoured Erlang, is a lisp syntax front-end to the Erlang
compiler. Code produced with it is compatible with "normal" Erlang
code. An LFE evaluator and shell is also included.
'';
homepage = "https://lfe.io";
downloadPage = "https://github.com/rvirding/lfe/releases";
license = licenses.asl20;
teams = [ teams.beam ];
platforms = platforms.unix;
};
}
@@ -1,9 +1,9 @@
{
# https://www.aquamaniac.de/rdm/projects/gwenhywfar/files
gwenhywfar = {
version = "5.11.2beta";
hash = "sha256-5/KxLAktb1mPKeJVsLAD2YrBeWyFtzpXCJDb8tzzWyQ=";
releaseId = "518";
version = "5.12.1";
hash = "sha256-0YhEi5w6lwlyFCLuATS50Ld5CrdRQFjZngQ5njlGXdo=";
releaseId = "533";
};
# https://www.aquamaniac.de/rdm/projects/libchipcard/files
@@ -15,8 +15,8 @@
# https://www.aquamaniac.de/rdm/projects/aqbanking/files
aqbanking = {
version = "6.5.12beta";
hash = "sha256-TH6+eEiULmOciB1Mqo4vjgF9JbF4BW+llrTjS6BtctY=";
releaseId = "526";
version = "6.6.0";
hash = "sha256-N2NEh7lbrXKxshOXvOCMtLFeE8slOIZ2fJjzFxLkC/s=";
releaseId = "531";
};
}
@@ -14,13 +14,13 @@
stdenv.mkDerivation rec {
pname = "qtspell";
version = "1.0.1";
version = "1.0.2";
src = fetchFromGitHub {
owner = "manisandro";
repo = "qtspell";
rev = "${version}";
hash = "sha256-yaR3eCUbK2KTpvzO2G5sr+NEJ2mDnzJzzzwlU780zqU=";
hash = "sha256-OuEGY+0XJo3EUUcH8xAzlgE6zKPndBvG0arWhG/QO6Y=";
};
nativeBuildInputs = [
@@ -20,14 +20,14 @@
buildPythonPackage rec {
pname = "appthreat-vulnerability-db";
version = "6.4.2";
version = "6.4.3";
pyproject = true;
src = fetchFromGitHub {
owner = "AppThreat";
repo = "vulnerability-db";
tag = "v${version}";
hash = "sha256-PmxlcdAUJjLIc0AWsN/oG11ESdsnln3LALsSnjV0yWM=";
hash = "sha256-08/ohfIPM/jb2nuOIj1XoUzWaq7s6CfWFRLHwqK0HAQ=";
};
pythonRelaxDeps = [
@@ -11,14 +11,14 @@
buildPythonPackage rec {
pname = "eq3btsmart";
version = "2.1.0";
version = "2.1.1";
pyproject = true;
src = fetchFromGitHub {
owner = "EuleMitKeule";
repo = "eq3btsmart";
tag = version;
hash = "sha256-JPmIKj8IL3i7QWiMTmGQzqb4h0VqLlhILPAOqMucsuM=";
hash = "sha256-/Z/lSZXJ+c+G5iDF/BGacSpxrgJK4NLU7ShIAV4ipLc=";
};
build-system = [ setuptools ];
@@ -13,14 +13,14 @@
buildPythonPackage rec {
pname = "gaphas";
version = "5.0.3";
version = "5.1.0";
format = "pyproject";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
hash = "sha256-Rw7j41S+u5jyYKTJqVI/36aLh/0HIWFsrPCZgY0qtgY=";
hash = "sha256-89KGjrA5ncwxK5gVayfhlTddRZj2912L5G4L4ov4YhA=";
};
nativeBuildInputs = [
@@ -14,14 +14,14 @@
buildPythonPackage rec {
pname = "gflanguages";
version = "0.7.5";
version = "0.7.6";
pyproject = true;
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
hash = "sha256-jc48DKUp3ai6AxcveyvR7TF80wmVLWfG58W2xR/HIsE=";
hash = "sha256-8lhD0L3JwmogPFjL+LAdV8ewvIR4IEtuhEYlaTZXFjk=";
};
# Relax the dependency on protobuf 3. Other packages in the Google Fonts
@@ -16,7 +16,7 @@
buildPythonPackage rec {
pname = "internetarchive";
version = "5.4.0";
version = "5.5.0";
pyproject = true;
disabled = pythonOlder "3.9";
@@ -25,7 +25,7 @@ buildPythonPackage rec {
owner = "jjjake";
repo = "internetarchive";
tag = "v${version}";
hash = "sha256-2IL4VUt958atKDqCmj6rZ9I74tBRsA42EF1F1YT433E=";
hash = "sha256-jGzY/m7FpQPobyUaftsTQ0YX/sc6/s0xCVsMAK10ZSk=";
};
build-system = [ setuptools ];
@@ -19,14 +19,14 @@
buildPythonPackage rec {
pname = "mandown";
version = "1.12.1";
version = "1.12.2";
pyproject = true;
src = fetchFromGitHub {
owner = "potatoeggy";
repo = "mandown";
tag = "v${version}";
hash = "sha256-dx92a1YI1BW90E2u+v9fggWzrg0mqsV+INNq+2aLmFI=";
hash = "sha256-kbzh6qbex3PzdE53rx9Sxff1lhh1yYjehdEJ9Srq5gY=";
};
build-system = [
@@ -20,14 +20,14 @@
buildPythonPackage rec {
pname = "nominal";
version = "1.65.0";
version = "1.66.0";
pyproject = true;
src = fetchFromGitHub {
owner = "nominal-io";
repo = "nominal-client";
tag = "v${version}";
hash = "sha256-MDIrKDMU4PgCXxaraVYKeRwgn84UXdwxNeyoJvMHiuE=";
hash = "sha256-xRt8xRMjjQQ+2IujW//F6Z3xaPz4+YuV0AP4Km8mc04=";
};
build-system = [ hatchling ];
@@ -27,6 +27,16 @@
requests,
stevedore,
# optional dependencies
chardet,
citeproc-py,
jinja2,
markdownify,
whoosh,
# switch for optional dependencies
withOptDeps ? false,
# tests
docutils,
git,
@@ -69,7 +79,17 @@ buildPythonPackage rec {
pyyaml
requests
stevedore
];
] ++ lib.optionals withOptDeps optional-dependencies.complete;
optional-dependencies = {
complete = [
chardet
citeproc-py
jinja2
markdownify
whoosh
];
};
pythonImportsCheck = [ "papis" ];
@@ -9,7 +9,7 @@
buildPythonPackage rec {
pname = "pyorthanc";
version = "1.21.0";
version = "1.22.1";
pyproject = true;
@@ -17,7 +17,7 @@ buildPythonPackage rec {
owner = "gacou54";
repo = "pyorthanc";
tag = "v${version}";
hash = "sha256-293H5hQ+6eknzKNsZpVKoTcrKzbHfJE4C+SyxAOLphY=";
hash = "sha256-vdrLWDDEMEh7hg+M4FdxiaCC3IJfvuh8fgq+aLPfVJc=";
};
build-system = [ poetry-core ];
@@ -18,7 +18,7 @@
buildPythonPackage rec {
pname = "pysmartthings";
version = "3.2.7";
version = "3.2.8";
pyproject = true;
disabled = pythonOlder "3.12";
@@ -27,7 +27,7 @@ buildPythonPackage rec {
owner = "andrewsayre";
repo = "pysmartthings";
tag = "v${version}";
hash = "sha256-znaiCZiSGi3J9PhBtOhsh/ISHoa/lyd1lurneLPNHt4=";
hash = "sha256-bTE4N2TwrAyi0NZcj/GghLZ7Vq4eoc9mQH2OBeCfHn8=";
};
build-system = [ poetry-core ];
@@ -15,14 +15,14 @@
buildPythonPackage rec {
pname = "python-linkplay";
version = "0.2.12";
version = "0.2.13";
pyproject = true;
src = fetchFromGitHub {
owner = "Velleman";
repo = "python-linkplay";
tag = "v${version}";
hash = "sha256-oE3ILnaUDWMNcN3ZAIQKmGgUTc/tqXYdZTX1bxuHBso=";
hash = "sha256-E9KuIHLaA7XQC2XH8a1oeTuQh7Q4YxmswoaVKEJU4VE=";
};
build-system = [ setuptools ];
@@ -6,14 +6,14 @@
python3Packages.buildPythonApplication rec {
pname = "check-esxi-hardware";
version = "20250221";
version = "20250716";
format = "other";
src = fetchFromGitHub {
owner = "Napsty";
repo = "check_esxi_hardware";
tag = version;
hash = "sha256-80yru0ltioxNc6goiMKZGTFmfcyHw3N01zd91DXq9lQ=";
hash = "sha256-tw1b2ZmkEIdlqov4JoEDc8cR2AmAiZWocKjir4AFIv0=";
};
dontBuild = true;
+9 -3
View File
@@ -5097,11 +5097,10 @@ with pkgs;
# The GCC used to build libc for the target platform. Normal gccs will be
# built with, and use, that cross-compiled libc.
gccWithoutTargetLibc =
assert stdenv.targetPlatform != stdenv.hostPlatform;
let
libc1 = binutilsNoLibc.libc;
in
wrapCCWith {
(wrapCCWith {
cc = gccFun {
# copy-pasted
inherit noSysDirs;
@@ -5127,7 +5126,14 @@ with pkgs;
bintools = binutilsNoLibc;
libc = libc1;
extraPackages = [ ];
};
}).overrideAttrs
(prevAttrs: {
meta = prevAttrs.meta // {
badPlatforms =
(prevAttrs.meta.badPlatforms or [ ])
++ lib.optionals (stdenv.targetPlatform == stdenv.hostPlatform) [ stdenv.hostPlatform.system ];
};
});
inherit (callPackage ../development/compilers/gcc/all.nix { inherit noSysDirs; })
gcc9