Merge master into staging-next

Changed files
+1308 -931
maintainers
nixos
modules
services
monitoring
prometheus
web-apps
tests
pkgs
applications
networking
cluster
instant-messengers
profanity
virtualization
docker
by-name
as
ashell
bi
bird3
ca
cargo-deb
cl
cp
cpp-utilities
de
descent3-unwrapped
dp
ea
eask-cli
fl
gi
gp
ls
ma
mi
mirrord
mo
modrinth-app-unwrapped
mosdepth
ni
nimble
op
openstack-rs
os
osmo-hlr
ot
pf
pfetch
se
session-desktop
sp
splash
ta
tailwindcss_4
ve
vencord
development
libraries
qtutilities
python-modules
django-phonenumber-field
meep
qcodes
qcodes-contrib-drivers
ruby-modules
tools
misc
coreboot-toolchain
games
dxx-rebirth
tools
misc
coreboot-utils
topgrade
top-level
+3 -2
maintainers/maintainer-list.nix
···
name = "Mason Mackaman";
usertam = {
-
email = "nix@usertam.dev";
+
name = "Samuel Tam";
+
email = "code@usertam.dev";
github = "usertam";
githubId = 22500027;
-
name = "Samuel Tam";
+
keys = [ { fingerprint = "EC4E E490 3C82 3698 2CAB D206 2D87 60B0 229E 2560"; } ];
uskudnik = {
email = "urban.skudnik@gmail.com";
+2
nixos/modules/services/monitoring/prometheus/exporters.nix
···
"blackbox"
"borgmatic"
"buildkite-agent"
+
"ecoflow"
"chrony"
"collectd"
"deluge"
···
"statsd"
"surfboard"
"systemd"
+
"tibber"
"unbound"
"unpoller"
"v2ray"
+151
nixos/modules/services/monitoring/prometheus/exporters/ecoflow.nix
···
+
{
+
config,
+
lib,
+
pkgs,
+
...
+
}:
+
let
+
cfg = config.services.prometheus.exporters.ecoflow;
+
inherit (lib) mkOption types;
+
in
+
{
+
port = 2112;
+
extraOpts = {
+
exporterType = mkOption {
+
type = types.enum [
+
"rest"
+
"mqtt"
+
];
+
default = "rest";
+
example = "mqtt";
+
description = ''
+
The type of exporter you'd like to use.
+
Possible values: "rest" and "mqtt". Default value is "rest".
+
Choose "rest" for the ecoflow online cloud api use "rest" and define: accessKey, secretKey.
+
Choose "mqtt" for the lan realtime integration use "mqtt" and define: email, password, devices.
+
'';
+
};
+
ecoflowAccessKeyFile = mkOption {
+
type = types.path;
+
default = /etc/ecoflow-access-key;
+
description = ''
+
Path to the file with your personal api access string from the Ecoflow development website https://developer-eu.ecoflow.com.
+
Do to share or commit your plaintext scecrets to a public repo use: agenix or soaps.
+
'';
+
};
+
ecoflowSecretKeyFile = mkOption {
+
type = types.path;
+
default = /etc/ecoflow-secret-key;
+
description = ''
+
Path to the file with your personal api secret string from the Ecoflow development website https://developer-eu.ecoflow.com.
+
Do to share or commit your plaintext scecrets to a public repo use: agenix or soaps.
+
'';
+
};
+
ecoflowEmailFile = mkOption {
+
type = types.path;
+
default = /etc/ecoflow-email;
+
description = ''
+
Path to the file with your personal ecoflow app login email address.
+
Do to share or commit your plaintext scecrets to a public repo use: agenix or soaps.
+
'';
+
};
+
ecoflowPasswordFile = mkOption {
+
type = types.path;
+
default = /etc/ecoflow-password;
+
description = ''
+
Path to the file with your personal ecoflow app login email password.
+
Do to share or commit your plaintext passwords to a public repo use: agenix or soaps here!
+
'';
+
};
+
ecoflowDevicesFile = mkOption {
+
type = types.path;
+
default = /etc/ecoflow-devices;
+
description = ''
+
File must contain one line, example: R3300000,R3400000,NC430000,....
+
The list of devices serial numbers separated by comma. For instance: SN1,SN2,SN3.
+
Instead of "devicesFile" you can specify "devicesPrettynamesFile" which will also work. You can specify both.
+
Do to share or commit your plaintext serial numbers to a public repo use: agenix or soaps.
+
'';
+
};
+
ecoflowDevicesPrettyNamesFile = mkOption {
+
type = types.path;
+
default = /etc/ecoflow-devices-pretty-names;
+
description = ''
+
File must contain one line, example: {"R3300000":"Delta 2","R3400000":"Delta Pro",...}
+
The key/value map of custom names for your devices. Key is a serial number, value is a device name you want
+
to see in Grafana Dashboard. It's helpful to see a meaningful name in Grafana dashboard instead of a serialnumber.
+
Do to share or commit your plaintext serial numbers to a public repo use: agenix or soaps.
+
'';
+
};
+
debug = mkOption {
+
type = types.str;
+
default = "0";
+
example = "1";
+
description = ''
+
Enable debug log messages. Disabled by default. Set to "1" to enable.
+
'';
+
};
+
prefix = mkOption {
+
type = types.str;
+
default = "ecoflow";
+
example = "ecoflow_privateSite";
+
description = ''
+
The prefix that will be added to all metrics. Default value is ecoflow.
+
For instance metric bms_bmsStatus.minCellTemp will be exported to prometheus as ecoflow.bms_bmsStatus.minCellTemp.
+
With default value "ecoflow" you can use Grafana Dashboard with ID 17812 without any changes.
+
'';
+
};
+
scrapingInterval = mkOption {
+
type = types.ints.positive;
+
default = 30;
+
example = 120;
+
description = ''
+
Scrapping interval in seconds. How often should the exporter execute requests to Ecoflow Rest API in order to get the data.
+
Default value is 30 seconds. Align this value with your prometheus scraper interval settings.
+
'';
+
};
+
mqttDeviceOfflineThreshold = mkOption {
+
type = types.ints.positive;
+
default = 60;
+
example = 120;
+
description = ''
+
The threshold in seconds which indicates how long we should wait for a metric message from MQTT broker.
+
Default value: 60 seconds. If we don't receive message within 60 seconds we consider that device is offline.
+
If we don't receive messages within the threshold for all devices, we'll try to reconnect to the MQTT broker.
+
There is a strange behavior that MQTT stop sends messages if you open Ecoflow mobile app and then close it).
+
'';
+
};
+
};
+
serviceOpts = {
+
environment = {
+
PROMETHEUS_ENABLED = "1";
+
EXPORTER_TYPE = cfg.exporterType;
+
DEBUG_ENABLED = cfg.debug;
+
METRIC_PREFIX = cfg.prefix;
+
SCRAPING_INTERVAL = toString cfg.scrapingInterval;
+
MQTT_DEVICE_OFFLINE_THRESHOLD_SECONDS = toString cfg.mqttDeviceOfflineThreshold;
+
};
+
script = ''
+
export ECOFLOW_ACCESS_KEY="$(cat ${toString cfg.ecoflowAccessKeyFile})"
+
export ECOFLOW_SECRET_KEY="$(cat ${toString cfg.ecoflowSecretKeyFile})"
+
export ECOFLOW_EMAIL="$(cat ${toString cfg.ecoflowEmailFile})"
+
export ECOFLOW_PASSWORD="$(cat ${toString cfg.ecoflowPasswordFile})"
+
export ECOFLOW_DEVICES="$(cat ${toString cfg.ecoflowDevicesFile})"
+
export ECOFLOW_DEVICES_PRETTY_NAMES="$(cat ${toString cfg.ecoflowDevicesPrettyNamesFile})"
+
exec ${lib.getExe pkgs.go-ecoflow-exporter}'';
+
serviceConfig = {
+
AmbientCapabilities = [ "CAP_NET_BIND_SERVICE" ];
+
CapabilityBoundingSet = [ "CAP_NET_BIND_SERVICE" ];
+
MemoryDenyWriteExecute = true;
+
NoNewPrivileges = true;
+
ProtectSystem = "strict";
+
Restart = "on-failure";
+
RestrictAddressFamilies = [
+
"AF_INET"
+
"AF_INET6"
+
];
+
RestrictNamespaces = true;
+
User = "prometheus"; # context needed to runtime access encrypted token and secrets
+
};
+
};
+
}
+44
nixos/modules/services/monitoring/prometheus/exporters/tibber.nix
···
+
{
+
config,
+
lib,
+
pkgs,
+
...
+
}:
+
let
+
cfg = config.services.prometheus.exporters.tibber;
+
inherit (lib) mkOption types concatStringsSep;
+
in
+
{
+
port = 9489;
+
extraOpts = {
+
apiTokenPath = mkOption {
+
type = types.path;
+
default = null;
+
description = ''
+
Add here the path to your personal Tibber API Token ('Bearer Token') File.
+
Get your personal Tibber API Token here: https://developer.tibber.com
+
Do not share your personal plaintext Tibber API Token via github. (see: ryantm/agenix, mic92/sops)
+
'';
+
};
+
};
+
serviceOpts = {
+
script = ''
+
export TIBBER_TOKEN="$(cat ${toString cfg.apiTokenPath})"
+
exec ${pkgs.prometheus-tibber-exporter}/bin/tibber-exporter --listen-address ${cfg.listenAddress}:${toString cfg.port} ${concatStringsSep " \\\n " cfg.extraFlags}
+
'';
+
serviceConfig = {
+
AmbientCapabilities = [ "CAP_NET_BIND_SERVICE" ];
+
CapabilityBoundingSet = [ "CAP_NET_BIND_SERVICE" ];
+
MemoryDenyWriteExecute = true;
+
NoNewPrivileges = true;
+
ProtectSystem = "strict";
+
Restart = "on-failure";
+
RestrictAddressFamilies = [
+
"AF_INET"
+
"AF_INET6"
+
];
+
RestrictNamespaces = true;
+
User = "prometheus"; # context needed to runtime access encrypted token and secrets
+
};
+
};
+
}
+1 -1
nixos/modules/services/web-apps/glance.nix
···
ProtectKernelModules = true;
ProtectKernelTunables = true;
ProtectControlGroups = true;
-
ProcSubset = "pid";
+
ProcSubset = "all";
RestrictNamespaces = true;
RestrictRealtime = true;
SystemCallArchitectures = "native";
+128 -113
nixos/tests/rke2/multi-node.nix
···
...
}:
let
-
pauseImage = pkgs.dockerTools.streamLayeredImage {
-
name = "test.local/pause";
+
throwSystem = throw "RKE2: Unsupported system: ${pkgs.stdenv.hostPlatform.system}";
+
coreImages =
+
{
+
aarch64-linux = rke2.images-core-linux-arm64-tar-zst;
+
x86_64-linux = rke2.images-core-linux-amd64-tar-zst;
+
}
+
.${pkgs.stdenv.hostPlatform.system} or throwSystem;
+
canalImages =
+
{
+
aarch64-linux = rke2.images-canal-linux-arm64-tar-zst;
+
x86_64-linux = rke2.images-canal-linux-amd64-tar-zst;
+
}
+
.${pkgs.stdenv.hostPlatform.system} or throwSystem;
+
helloImage = pkgs.dockerTools.buildImage {
+
name = "test.local/hello";
tag = "local";
-
contents = pkgs.buildEnv {
-
name = "rke2-pause-image-env";
+
compressor = "zstd";
+
copyToRoot = pkgs.buildEnv {
+
name = "rke2-hello-image-env";
paths = with pkgs; [
-
tini
-
bashInteractive
coreutils
socat
];
};
-
config.Entrypoint = [
-
"/bin/tini"
-
"--"
-
"/bin/sleep"
-
"inf"
-
];
};
-
# A daemonset that responds 'server' on port 8000
+
# A daemonset that responds 'hello' on port 8000
networkTestDaemonset = pkgs.writeText "test.yml" ''
apiVersion: apps/v1
kind: DaemonSet
···
spec:
containers:
- name: test
-
image: test.local/pause:local
+
image: test.local/hello:local
imagePullPolicy: Never
resources:
limits:
memory: 20Mi
-
command: ["socat", "TCP4-LISTEN:8000,fork", "EXEC:echo server"]
+
command: ["socat", "TCP4-LISTEN:8000,fork", "EXEC:echo hello"]
'';
tokenFile = pkgs.writeText "token" "p@s$w0rd";
-
agentTokenFile = pkgs.writeText "agent-token" "p@s$w0rd";
+
agentTokenFile = pkgs.writeText "agent-token" "agentP@s$w0rd";
+
# Let flannel use eth1 to enable inter-node communication in tests
+
canalConfig = pkgs.writeText "rke2-canal-config.yaml" ''
+
apiVersion: helm.cattle.io/v1
+
kind: HelmChartConfig
+
metadata:
+
name: rke2-canal
+
namespace: kube-system
+
spec:
+
valuesContent: |-
+
flannel:
+
iface: "eth1"
+
'';
in
{
name = "${rke2.name}-multi-node";
meta.maintainers = rke2.meta.maintainers;
nodes = {
-
server1 =
-
{ pkgs, ... }:
+
server =
+
{
+
config,
+
nodes,
+
pkgs,
+
...
+
}:
{
-
networking.firewall.enable = false;
-
networking.useDHCP = false;
-
networking.defaultGateway = "192.168.1.1";
-
networking.interfaces.eth1.ipv4.addresses = pkgs.lib.mkForce [
-
{
-
address = "192.168.1.1";
-
prefixLength = 24;
-
}
+
# Setup image archives to be imported by rke2
+
systemd.tmpfiles.settings."10-rke2" = {
+
"/var/lib/rancher/rke2/agent/images/rke2-images-core.tar.zst" = {
+
"L+".argument = "${coreImages}";
+
};
+
"/var/lib/rancher/rke2/agent/images/rke2-images-canal.tar.zst" = {
+
"L+".argument = "${canalImages}";
+
};
+
"/var/lib/rancher/rke2/agent/images/hello.tar.zst" = {
+
"L+".argument = "${helloImage}";
+
};
+
# Copy the canal config so that rke2 can write the remaining default values to it
+
"/var/lib/rancher/rke2/server/manifests/rke2-canal-config.yaml" = {
+
"C".argument = "${canalConfig}";
+
};
+
};
+
+
# Canal CNI with VXLAN
+
networking.firewall.allowedUDPPorts = [ 8472 ];
+
networking.firewall.allowedTCPPorts = [
+
# Kubernetes API
+
6443
+
# Canal CNI health checks
+
9099
+
# RKE2 supervisor API
+
9345
];
-
virtualisation.memorySize = 1536;
-
virtualisation.diskSize = 4096;
+
# RKE2 needs more resources than the default
+
virtualisation.cores = 4;
+
virtualisation.memorySize = 4096;
+
virtualisation.diskSize = 8092;
services.rke2 = {
enable = true;
role = "server";
+
package = rke2;
inherit tokenFile;
inherit agentTokenFile;
-
nodeName = "${rke2.name}-server1";
-
package = rke2;
-
nodeIP = "192.168.1.1";
+
# Without nodeIP the apiserver starts with the wrong service IP family
+
nodeIP = config.networking.primaryIPAddress;
disable = [
"rke2-coredns"
"rke2-metrics-server"
"rke2-ingress-nginx"
-
];
-
extraFlags = [
-
"--cluster-reset"
+
"rke2-snapshot-controller"
+
"rke2-snapshot-controller-crd"
+
"rke2-snapshot-validation-webhook"
];
};
};
-
server2 =
-
{ pkgs, ... }:
+
agent =
+
{
+
config,
+
nodes,
+
pkgs,
+
...
+
}:
{
-
networking.firewall.enable = false;
-
networking.useDHCP = false;
-
networking.defaultGateway = "192.168.1.2";
-
networking.interfaces.eth1.ipv4.addresses = pkgs.lib.mkForce [
-
{
-
address = "192.168.1.2";
-
prefixLength = 24;
-
}
-
];
-
-
virtualisation.memorySize = 1536;
-
virtualisation.diskSize = 4096;
-
-
services.rke2 = {
-
enable = true;
-
role = "server";
-
serverAddr = "https://192.168.1.1:6443";
-
inherit tokenFile;
-
inherit agentTokenFile;
-
nodeName = "${rke2.name}-server2";
-
package = rke2;
-
nodeIP = "192.168.1.2";
-
disable = [
-
"rke2-coredns"
-
"rke2-metrics-server"
-
"rke2-ingress-nginx"
-
];
+
# Setup image archives to be imported by rke2
+
systemd.tmpfiles.settings."10-rke2" = {
+
"/var/lib/rancher/rke2/agent/images/rke2-images-core.linux-amd64.tar.zst" = {
+
"L+".argument = "${coreImages}";
+
};
+
"/var/lib/rancher/rke2/agent/images/rke2-images-canal.linux-amd64.tar.zst" = {
+
"L+".argument = "${canalImages}";
+
};
+
"/var/lib/rancher/rke2/agent/images/hello.tar.zst" = {
+
"L+".argument = "${helloImage}";
+
};
+
"/var/lib/rancher/rke2/server/manifests/rke2-canal-config.yaml" = {
+
"C".argument = "${canalConfig}";
+
};
};
-
};
-
agent1 =
-
{ pkgs, ... }:
-
{
-
networking.firewall.enable = false;
-
networking.useDHCP = false;
-
networking.defaultGateway = "192.168.1.3";
-
networking.interfaces.eth1.ipv4.addresses = pkgs.lib.mkForce [
-
{
-
address = "192.168.1.3";
-
prefixLength = 24;
-
}
-
];
+
# Canal CNI health checks
+
networking.firewall.allowedTCPPorts = [ 9099 ];
+
# Canal CNI with VXLAN
+
networking.firewall.allowedUDPPorts = [ 8472 ];
-
virtualisation.memorySize = 1536;
-
virtualisation.diskSize = 4096;
+
# The agent node can work with less resources
+
virtualisation.memorySize = 2048;
+
virtualisation.diskSize = 8092;
services.rke2 = {
enable = true;
role = "agent";
-
tokenFile = agentTokenFile;
-
serverAddr = "https://192.168.1.2:6443";
-
nodeName = "${rke2.name}-agent1";
package = rke2;
-
nodeIP = "192.168.1.3";
+
tokenFile = agentTokenFile;
+
serverAddr = "https://${nodes.server.networking.primaryIPAddress}:9345";
+
nodeIP = config.networking.primaryIPAddress;
};
};
};
···
testScript =
let
kubectl = "${pkgs.kubectl}/bin/kubectl --kubeconfig=/etc/rancher/rke2/rke2.yaml";
-
ctr = "${pkgs.containerd}/bin/ctr -a /run/k3s/containerd/containerd.sock";
jq = "${pkgs.jq}/bin/jq";
-
ping = "${pkgs.iputils}/bin/ping";
in
+
# python
''
-
machines = [server1, server2, agent1]
-
-
for machine in machines:
-
machine.start()
-
machine.wait_for_unit("rke2")
+
start_all()
-
# wait for the agent to show up
-
server1.succeed("${kubectl} get node ${rke2.name}-agent1")
+
server.wait_for_unit("rke2-server")
+
agent.wait_for_unit("rke2-agent")
-
for machine in machines:
-
machine.succeed("${pauseImage} | ${ctr} image import -")
+
# Wait for the agent to be ready
+
server.wait_until_succeeds(r"""${kubectl} wait --for='jsonpath={.status.conditions[?(@.type=="Ready")].status}=True' nodes/agent""")
-
server1.succeed("${kubectl} cluster-info")
-
server1.wait_until_succeeds("${kubectl} get serviceaccount default")
+
server.succeed("${kubectl} cluster-info")
+
server.wait_until_succeeds("${kubectl} get serviceaccount default")
# Now create a pod on each node via a daemonset and verify they can talk to each other.
-
server1.succeed("${kubectl} apply -f ${networkTestDaemonset}")
-
server1.wait_until_succeeds(
+
server.succeed("${kubectl} apply -f ${networkTestDaemonset}")
+
server.wait_until_succeeds(
f'[ "$(${kubectl} get ds test -o json | ${jq} .status.numberReady)" -eq {len(machines)} ]'
)
# Get pod IPs
-
pods = server1.succeed("${kubectl} get po -o json | ${jq} '.items[].metadata.name' -r").splitlines()
+
pods = server.succeed("${kubectl} get po -o json | ${jq} '.items[].metadata.name' -r").splitlines()
pod_ips = [
-
server1.succeed(f"${kubectl} get po {n} -o json | ${jq} '.status.podIP' -cr").strip() for n in pods
+
server.succeed(f"${kubectl} get po {n} -o json | ${jq} '.status.podIP' -cr").strip() for n in pods
]
-
# Verify each server can ping each pod ip
+
# Verify each node can ping each pod ip
for pod_ip in pod_ips:
-
server1.succeed(f"${ping} -c 1 {pod_ip}")
-
agent1.succeed(f"${ping} -c 1 {pod_ip}")
-
-
# Verify the pods can talk to each other
-
resp = server1.wait_until_succeeds(f"${kubectl} exec {pods[0]} -- socat TCP:{pod_ips[1]}:8000 -")
-
assert resp.strip() == "server"
-
resp = server1.wait_until_succeeds(f"${kubectl} exec {pods[1]} -- socat TCP:{pod_ips[0]}:8000 -")
-
assert resp.strip() == "server"
-
-
# Cleanup
-
server1.succeed("${kubectl} delete -f ${networkTestDaemonset}")
-
for machine in machines:
-
machine.shutdown()
+
# The CNI sometimes needs a little time
+
server.wait_until_succeeds(f"ping -c 1 {pod_ip}", timeout=5)
+
agent.wait_until_succeeds(f"ping -c 1 {pod_ip}", timeout=5)
+
# Verify the server can exec into the pod
+
# for pod in pods:
+
# resp = server.succeed(f"${kubectl} exec {pod} -- socat TCP:{pod_ip}:8000 -")
+
# assert resp.strip() == "hello", f"Unexpected response from hello daemonset: {resp.strip()}"
'';
}
)
+61 -51
nixos/tests/rke2/single-node.nix
···
...
}:
let
-
pauseImage = pkgs.dockerTools.streamLayeredImage {
-
name = "test.local/pause";
+
throwSystem = throw "RKE2: Unsupported system: ${pkgs.stdenv.hostPlatform.system}";
+
coreImages =
+
{
+
aarch64-linux = rke2.images-core-linux-arm64-tar-zst;
+
x86_64-linux = rke2.images-core-linux-amd64-tar-zst;
+
}
+
.${pkgs.stdenv.hostPlatform.system} or throwSystem;
+
canalImages =
+
{
+
aarch64-linux = rke2.images-canal-linux-arm64-tar-zst;
+
x86_64-linux = rke2.images-canal-linux-amd64-tar-zst;
+
}
+
.${pkgs.stdenv.hostPlatform.system} or throwSystem;
+
helloImage = pkgs.dockerTools.buildImage {
+
name = "test.local/hello";
tag = "local";
-
contents = pkgs.buildEnv {
-
name = "rke2-pause-image-env";
-
paths = with pkgs; [
-
tini
-
(hiPrio coreutils)
-
busybox
-
];
-
};
-
config.Entrypoint = [
-
"/bin/tini"
-
"--"
-
"/bin/sleep"
-
"inf"
-
];
+
compressor = "zstd";
+
copyToRoot = pkgs.hello;
+
config.Entrypoint = [ "${pkgs.hello}/bin/hello" ];
};
-
testPodYaml = pkgs.writeText "test.yaml" ''
-
apiVersion: v1
-
kind: Pod
+
testJobYaml = pkgs.writeText "test.yaml" ''
+
apiVersion: batch/v1
+
kind: Job
metadata:
name: test
spec:
-
containers:
-
- name: test
-
image: test.local/pause:local
-
imagePullPolicy: Never
-
command: ["sh", "-c", "sleep inf"]
+
template:
+
spec:
+
containers:
+
- name: test
+
image: "test.local/hello:local"
+
restartPolicy: Never
'';
in
{
name = "${rke2.name}-single-node";
meta.maintainers = rke2.meta.maintainers;
-
nodes.machine =
-
{ pkgs, ... }:
{
-
networking.firewall.enable = false;
-
networking.useDHCP = false;
-
networking.defaultGateway = "192.168.1.1";
-
networking.interfaces.eth1.ipv4.addresses = pkgs.lib.mkForce [
-
{
-
address = "192.168.1.1";
-
prefixLength = 24;
-
}
-
];
+
config,
+
nodes,
+
pkgs,
+
...
+
}:
+
{
+
# Setup image archives to be imported by rke2
+
systemd.tmpfiles.settings."10-rke2" = {
+
"/var/lib/rancher/rke2/agent/images/rke2-images-core.tar.zst" = {
+
"L+".argument = "${coreImages}";
+
};
+
"/var/lib/rancher/rke2/agent/images/rke2-images-canal.tar.zst" = {
+
"L+".argument = "${canalImages}";
+
};
+
"/var/lib/rancher/rke2/agent/images/hello.tar.zst" = {
+
"L+".argument = "${helloImage}";
+
};
+
};
-
virtualisation.memorySize = 1536;
-
virtualisation.diskSize = 4096;
+
# RKE2 needs more resources than the default
+
virtualisation.cores = 4;
+
virtualisation.memorySize = 4096;
+
virtualisation.diskSize = 8092;
services.rke2 = {
enable = true;
role = "server";
package = rke2;
-
nodeIP = "192.168.1.1";
+
# Without nodeIP the apiserver starts with the wrong service IP family
+
nodeIP = config.networking.primaryIPAddress;
+
# Slightly reduce resource consumption
disable = [
"rke2-coredns"
"rke2-metrics-server"
"rke2-ingress-nginx"
-
];
-
extraFlags = [
-
"--cluster-reset"
+
"rke2-snapshot-controller"
+
"rke2-snapshot-controller-crd"
+
"rke2-snapshot-validation-webhook"
];
};
};
···
testScript =
let
kubectl = "${pkgs.kubectl}/bin/kubectl --kubeconfig=/etc/rancher/rke2/rke2.yaml";
-
ctr = "${pkgs.containerd}/bin/ctr -a /run/k3s/containerd/containerd.sock";
in
+
# python
''
start_all()
-
machine.wait_for_unit("rke2")
+
machine.wait_for_unit("rke2-server")
machine.succeed("${kubectl} cluster-info")
-
machine.wait_until_succeeds(
-
"${pauseImage} | ${ctr} -n k8s.io image import -"
-
)
machine.wait_until_succeeds("${kubectl} get serviceaccount default")
-
machine.succeed("${kubectl} apply -f ${testPodYaml}")
-
machine.succeed("${kubectl} wait --for 'condition=Ready' pod/test")
-
machine.succeed("${kubectl} delete -f ${testPodYaml}")
-
-
machine.shutdown()
+
machine.succeed("${kubectl} apply -f ${testJobYaml}")
+
machine.wait_until_succeeds("${kubectl} wait --for 'condition=complete' job/test")
+
output = machine.succeed("${kubectl} logs -l batch.kubernetes.io/job-name=test")
+
assert output.rstrip() == "Hello, world!", f"unexpected output of test job: {output}"
'';
}
)
+9 -3
pkgs/applications/networking/cluster/rke2/builder.nix
···
passthru = {
inherit updateScript;
tests =
+
let
+
moduleTests =
+
let
+
package_version =
+
"rke2_" + lib.replaceStrings [ "." ] [ "_" ] (lib.versions.majorMinor rke2Version);
+
in
+
lib.mapAttrs (name: value: nixosTests.rke2.${name}.${package_version}) nixosTests.rke2;
+
in
{
version = testers.testVersion {
package = rke2;
version = "v${version}";
};
}
-
// lib.optionalAttrs stdenv.hostPlatform.isLinux {
-
inherit (nixosTests) rke2;
-
};
+
// moduleTests;
} // (lib.mapAttrs (_: value: fetchurl value) imagesVersions);
meta = with lib; {
+5 -9
pkgs/applications/networking/instant-messengers/profanity/default.nix
···
gtk3,
}:
-
stdenv.mkDerivation rec {
+
stdenv.mkDerivation (finalAttrs: {
pname = "profanity";
-
version = "0.14.0";
+
version = "0.15.0";
src = fetchFromGitHub {
owner = "profanity-im";
repo = "profanity";
-
rev = version;
-
hash = "sha256-u/mp+vtMj602LfrulA+nhLNH8K6sqKIOuPJzhZusVmE=";
+
rev = finalAttrs.version;
+
hash = "sha256-3TmnbTnL8SPSd3seThavOOJVELi8kWLSlZlAub24KZ4=";
};
patches = [
···
++ lib.optionals pythonPluginSupport [ "--enable-python-plugins" ]
++ lib.optionals omemoSupport [ "--enable-omemo" ];
-
preAutoreconf = ''
-
mkdir m4
-
'';
-
doCheck = true;
LC_ALL = "en_US.utf8";
···
maintainers = [ maintainers.devhell ];
platforms = platforms.unix;
};
-
}
+
})
+28 -12
pkgs/applications/virtualization/docker/default.nix
···
# Get revisions from
# https://github.com/moby/moby/tree/${version}/hack/dockerfile/install/*
docker_25 = callPackage dockerGen rec {
-
version = "25.0.6";
-
cliRev = "v${version}";
-
cliHash = "sha256-7ZKjlONL5RXEJZrvssrL1PQMNANP0qTw4myGKdtd19U=";
+
version = "25.0.8";
+
# Upstream forgot to tag release
+
# https://github.com/docker/cli/issues/5789
+
cliRev = "43987fca488a535d810c429f75743d8c7b63bf4f";
+
cliHash = "sha256-OwufdfuUPbPtgqfPeiKrQVkOOacU2g4ommHb770gV40=";
mobyRev = "v${version}";
-
mobyHash = "sha256-+zkhUMeVD3HNq8WrWQmLskq+HykvD5kzSACmf67YbJE=";
-
runcRev = "v1.1.12";
-
runcHash = "sha256-N77CU5XiGYIdwQNPFyluXjseTeaYuNJ//OsEUS0g/v0=";
-
containerdRev = "v1.7.20";
-
containerdHash = "sha256-Q9lTzz+G5PSoChy8MZtbOpO81AyNWXC+CgGkdOg14uY=";
+
mobyHash = "sha256-n7GdjQEceqyC7E2sPXQWyxpRThtH35eM/J20yLa5NSs=";
+
runcRev = "v1.2.4";
+
runcHash = "sha256-LdYCMxdqDP7rKo6Ek/B1DE6QvUFrltbSJVggkVkXQZo=";
+
containerdRev = "v1.7.25";
+
containerdHash = "sha256-T0F5bwxSCqa4Czs/W01NaAlJJFvgrzkBC1y/r+muivA=";
tiniRev = "v0.19.0";
tiniHash = "sha256-ZDKu/8yE5G0RYFJdhgmCdN3obJNyRWv6K/Gd17zc1sI=";
};
···
cliHash = "sha256-7laxRfssh2aGfJeZI0PsJ/MCiy2npigSmCa1SUlWY4s=";
mobyRev = "v${version}";
mobyHash = "sha256-q+VCJZ93jvPJQE0xn89prH/6spsarVY3VUEmgwyMxU4=";
-
runcRev = "v1.2.3";
-
runcHash = "sha256-SdeCmPttMXQdIn3kGWsIM3dfhQCx1C5bMyAM889VVUc=";
-
containerdRev = "v1.7.24";
-
containerdHash = "sha256-03vJs61AnTuFAdImZjBfn1izFcoalVJdVs9DZeDcABI=";
+
runcRev = "v1.2.4";
+
runcHash = "sha256-LdYCMxdqDP7rKo6Ek/B1DE6QvUFrltbSJVggkVkXQZo=";
+
containerdRev = "v1.7.25";
+
containerdHash = "sha256-T0F5bwxSCqa4Czs/W01NaAlJJFvgrzkBC1y/r+muivA=";
+
tiniRev = "v0.19.0";
+
tiniHash = "sha256-ZDKu/8yE5G0RYFJdhgmCdN3obJNyRWv6K/Gd17zc1sI=";
+
};
+
+
docker_28 = callPackage dockerGen rec {
+
version = "28.0.4";
+
cliRev = "v${version}";
+
cliHash = "sha256-DLUcmxbCxJs3EA96SGaesA+GzvHq6DC2vrGe5PvA0dE=";
+
mobyRev = "v${version}";
+
mobyHash = "sha256-yvz8MUOU61OuphPaIDu6+1wsbCXkIxJYQKK0fhcVwp0=";
+
runcRev = "v1.2.6";
+
runcHash = "sha256-XMN+YKdQOQeOLLwvdrC6Si2iAIyyHD5RgZbrOHrQE/g=";
+
containerdRev = "v1.7.27";
+
containerdHash = "sha256-H94EHnfW2Z59KcHcbfJn+BipyZiNUvHe50G5EXbrIps=";
tiniRev = "v0.19.0";
tiniHash = "sha256-ZDKu/8yE5G0RYFJdhgmCdN3obJNyRWv6K/Gd17zc1sI=";
};
+7 -3
pkgs/by-name/as/ashell/package.nix
···
pipewire,
libpulseaudio,
wayland,
+
udev,
+
vulkan-loader,
}:
rustPlatform.buildRustPackage rec {
pname = "ashell";
-
version = "0.4.0";
+
version = "0.4.1";
src = fetchFromGitHub {
owner = "MalpenZibo";
repo = "ashell";
tag = version;
-
hash = "sha256-a0yvmAq/4TDe+W1FLeLPSLppX81G6fdAOhzDmDJg3II=";
+
hash = "sha256-J97MRYYkNx8Ze4vcxZTDVOSQLCANyIBcDtqZEsEZ80w=";
};
useFetchCargoVendor = true;
-
cargoHash = "sha256-Vh/+4iApi+03ZmMIDSXc9Mn408v3wC+WlNJsXNcva+Q=";
+
cargoHash = "sha256-XDcCCKq/NOzaKTDwVu0GCeGV70IlJ2TvD0w8ib+lEhg=";
nativeBuildInputs = [
pkg-config
···
runtimeDependencies = [
wayland
libGL
+
vulkan-loader
];
buildInputs = [
libpulseaudio
libxkbcommon
pipewire
+
udev
] ++ runtimeDependencies;
meta = {
+2 -2
pkgs/by-name/bi/bird3/package.nix
···
stdenv.mkDerivation rec {
pname = "bird";
-
version = "3.0.1";
+
version = "3.1.0";
src = fetchurl {
url = "https://bird.network.cz/download/bird-${version}.tar.gz";
-
hash = "sha256-iGhAPKqE4lVLtuYK2+fGV+e7fErEGRDjmPNeI2upD6E=";
+
hash = "sha256-xxY49Xb0MWcEN++dkL6lZZK8VjcB3nhpg/RCJk7Hdiw=";
};
nativeBuildInputs = [
+3 -3
pkgs/by-name/ca/cargo-deb/package.nix
···
rustPlatform.buildRustPackage rec {
pname = "cargo-deb";
-
version = "2.11.3";
+
version = "2.11.4";
src = fetchFromGitHub {
owner = "kornelski";
repo = "cargo-deb";
rev = "v${version}";
-
hash = "sha256-QDx7ZP/5z1YgD3RzLmwDE3KLY+5nMncYy97aveFH03w=";
+
hash = "sha256-E0PU0j0n1ITP65D+p1upn3cBFBKkoCbyHe6S5XxDAyU=";
};
useFetchCargoVendor = true;
-
cargoHash = "sha256-ZN0TAQzt7LrHxoM4qAuMUm5Goaq1BuNBmd4kDGjiK4Q=";
+
cargoHash = "sha256-uPLXUx+nbUqXJM83RHxuXWiVWEWp5c+v5A0dOESL9oA=";
nativeBuildInputs = [
makeWrapper
+4 -4
pkgs/by-name/cl/claude-code/package-lock.json
···
"packages": {
"": {
"dependencies": {
-
"@anthropic-ai/claude-code": "^0.2.59"
+
"@anthropic-ai/claude-code": "^0.2.62"
}
},
"node_modules/@anthropic-ai/claude-code": {
-
"version": "0.2.59",
-
"resolved": "https://registry.npmjs.org/@anthropic-ai/claude-code/-/claude-code-0.2.59.tgz",
-
"integrity": "sha512-hcUHEiPUmkgU00J4/1dlLgWvf5ZkWOjMpUrXhMq2o143LOElKuTGxPGt2RtmFHKk6DesFZcV/gabZYkcTqraBw==",
+
"version": "0.2.62",
+
"resolved": "https://registry.npmjs.org/@anthropic-ai/claude-code/-/claude-code-0.2.62.tgz",
+
"integrity": "sha512-Mod9/kbqKy344lm5YmDJLn8dR3HYlA2zGCQy4exU7hmECNqg3KlTAz8u4O4YdiRMxXeUJ3Izi9YSJUT7oZOKdg==",
"hasInstallScript": true,
"license": "SEE LICENSE IN README.md",
"bin": {
+3 -3
pkgs/by-name/cl/claude-code/package.nix
···
buildNpmPackage rec {
pname = "claude-code";
-
version = "0.2.59";
+
version = "0.2.62";
src = fetchzip {
url = "https://registry.npmjs.org/@anthropic-ai/claude-code/-/claude-code-${version}.tgz";
-
hash = "sha256-XHHWmDw9qBM4fQ975wSk12hJnr4+1H4AhlNc+IBV3qs=";
+
hash = "sha256-O6jkpx3OxEh/npZjyJb+osoeJrG+HZ6NRB9T4EMkdf8=";
};
-
npmDepsHash = "sha256-KorQlEB90EDE+NIxyUh1apqCDzgrCpwcaOy2mt2mz1s=";
+
npmDepsHash = "sha256-tVA4VbPaPc+KwZzUK0QI9In3QSXXoELaNM2U65wxGGA=";
postPatch = ''
cp ${./package-lock.json} package-lock.json
+2 -2
pkgs/by-name/cp/cpp-utilities/package.nix
···
stdenv.mkDerivation (finalAttrs: {
pname = "cpp-utilities";
-
version = "5.27.3";
+
version = "5.28.0";
src = fetchFromGitHub {
owner = "Martchus";
repo = "cpp-utilities";
rev = "v${finalAttrs.version}";
-
sha256 = "sha256-/602rIjPZ6b9bMTpfjKz+XWpAlKoTHyCKUyGIA9qpto=";
+
sha256 = "sha256-EdqM7RsvJzMQWtwqnohbC5JJRVZJYgpTLJW1rPmTB4s=";
};
nativeBuildInputs = [ cmake ];
+3 -3
pkgs/by-name/de/descent3-unwrapped/package.nix
···
# the wrapped version of Descent 3. Once there’s a stable version of Descent
# 3 that supports the -additionaldir command-line option, we can stop using
# an unstable version of Descent 3.
-
version = "1.5.0-beta-unstable-2025-03-22";
+
version = "1.5.0-beta-unstable-2025-03-25";
src = fetchFromGitHub {
owner = "DescentDevelopers";
repo = "Descent3";
-
rev = "55827d453f835df944b7071ed336ba6a5c30a976";
+
rev = "67244d953588c8c63baa17c150076153c526258b";
leaveDotGit = true;
# Descent 3 is supposed to display its Git commit hash in the bottom right
# corner of the main menu. That feature only works if either the .git
···
git rev-parse --verify HEAD | tr --delete '\n' > git-hash.txt
rm -r .git
'';
-
hash = "sha256-RZCkApFwbBtAnBWimupsaTcItwAWNJCntIu6S0UOcyU=";
+
hash = "sha256-lRTzy5GQJ5J9ban7Q6pBmHHXgHNpgemlYYlzmUnvFW0=";
};
hardeningDisable = [ "format" ];
+3 -3
pkgs/by-name/dp/dprint/plugins/dprint-plugin-json.nix
···
{ mkDprintPlugin }:
mkDprintPlugin {
description = "JSON/JSONC code formatter.";
-
hash = "sha256-Sw+HkUb4K2wrLuQRZibr8gOCR3Rz36IeId4Vd4LijmY=";
+
hash = "sha256-uFcFLi9aYsBrAqkhFmg9GI+LKiV19LxdNjxQ85EH9To=";
initConfig = {
configExcludes = [ "**/*-lock.json" ];
configKey = "json";
···
};
pname = "dprint-plugin-json";
updateUrl = "https://plugins.dprint.dev/dprint/json/latest.json";
-
url = "https://plugins.dprint.dev/json-0.19.4.wasm";
-
version = "0.19.4";
+
url = "https://plugins.dprint.dev/json-0.20.0.wasm";
+
version = "0.20.0";
}
+3 -3
pkgs/by-name/dp/dprint/plugins/dprint-plugin-jupyter.nix
···
{ mkDprintPlugin }:
mkDprintPlugin {
description = "Jupyter notebook code block formatter.";
-
hash = "sha256-877CEZbMlj9cHkFtl16XCnan37SeEGUL3BHaUKUv8S4=";
+
hash = "sha256-IlGwt2TnKeH9NwmUmU1keaTInXgYQVLIPNnr30A9lsM=";
initConfig = {
configExcludes = [ ];
configKey = "jupyter";
···
};
pname = "dprint-plugin-jupyter";
updateUrl = "https://plugins.dprint.dev/dprint/jupyter/latest.json";
-
url = "https://plugins.dprint.dev/jupyter-0.1.5.wasm";
-
version = "0.1.5";
+
url = "https://plugins.dprint.dev/jupyter-0.2.0.wasm";
+
version = "0.2.0";
}
+3 -3
pkgs/by-name/dp/dprint/plugins/dprint-plugin-markdown.nix
···
{ mkDprintPlugin }:
mkDprintPlugin {
description = "Markdown code formatter.";
-
hash = "sha256-PIEN9UnYC8doJpdzS7M6QEHQNQtj7WwXAgvewPsTjqs=";
+
hash = "sha256-fBy+G+DkJqhrCyyaMjmXRe1VeSeCYO+XmJ8ogwAoptA=";
initConfig = {
configExcludes = [ ];
configKey = "markdown";
···
};
pname = "dprint-plugin-markdown";
updateUrl = "https://plugins.dprint.dev/dprint/markdown/latest.json";
-
url = "https://plugins.dprint.dev/markdown-0.17.8.wasm";
-
version = "0.17.8";
+
url = "https://plugins.dprint.dev/markdown-0.18.0.wasm";
+
version = "0.18.0";
}
+3 -3
pkgs/by-name/dp/dprint/plugins/dprint-plugin-toml.nix
···
{ mkDprintPlugin }:
mkDprintPlugin {
description = "TOML code formatter.";
-
hash = "sha256-4g/nu8Wo7oF+8OAyXOzs9MuGpt2RFGvD58Bafnrr3ZQ=";
+
hash = "sha256-ASbIESaRVC0wtSpjkHbsyD4Hus6HdjjO58aRX9Nrhik=";
initConfig = {
configExcludes = [ ];
configKey = "toml";
···
};
pname = "dprint-plugin-toml";
updateUrl = "https://plugins.dprint.dev/dprint/toml/latest.json";
-
url = "https://plugins.dprint.dev/toml-0.6.4.wasm";
-
version = "0.6.4";
+
url = "https://plugins.dprint.dev/toml-0.7.0.wasm";
+
version = "0.7.0";
}
+3 -3
pkgs/by-name/dp/dprint/plugins/dprint-plugin-typescript.nix
···
{ mkDprintPlugin }:
mkDprintPlugin {
description = "TypeScript/JavaScript code formatter.";
-
hash = "sha256-urgKQOjgkoDJCH/K7DWLJCkD0iH0Ok+rvrNDI0i4uS0=";
+
hash = "sha256-/N6TH5hYsTHJcBWwpz874EDRxBv+SRhyPO8IyN5dzDU=";
initConfig = {
configExcludes = [ "**/node_modules" ];
configKey = "typescript";
···
};
pname = "dprint-plugin-typescript";
updateUrl = "https://plugins.dprint.dev/dprint/typescript/latest.json";
-
url = "https://plugins.dprint.dev/typescript-0.93.3.wasm";
-
version = "0.93.3";
+
url = "https://plugins.dprint.dev/typescript-0.94.0.wasm";
+
version = "0.94.0";
}
+3 -3
pkgs/by-name/dp/dprint/plugins/g-plane-malva.nix
···
{ mkDprintPlugin }:
mkDprintPlugin {
description = "CSS, SCSS, Sass and Less formatter.";
-
hash = "sha256-zt7F1tgPhPAn+gtps6+JB5RtvjIZw2n/G85Bv6kazgU=";
+
hash = "sha256-mFlhfqtglKtKNls96PO/2AWLL1fNC5msQCd9EgdKauE=";
initConfig = {
configExcludes = [ "**/node_modules" ];
configKey = "malva";
···
};
pname = "g-plane-malva";
updateUrl = "https://plugins.dprint.dev/g-plane/malva/latest.json";
-
url = "https://plugins.dprint.dev/g-plane/malva-v0.11.1.wasm";
-
version = "0.11.1";
+
url = "https://plugins.dprint.dev/g-plane/malva-v0.11.2.wasm";
+
version = "0.11.2";
}
+3 -3
pkgs/by-name/dp/dprint/plugins/g-plane-markup_fmt.nix
···
{ mkDprintPlugin }:
mkDprintPlugin {
description = "HTML, Vue, Svelte, Astro, Angular, Jinja, Twig, Nunjucks, and Vento formatter.";
-
hash = "sha256-G8UnJbc+oZ60V3oi8W2SS6H06zEYfY3wpmSUp+1GF8k=";
+
hash = "sha256-fCvurr8f79io/jIjwCfwr/WGjvcKZtptRrx9GFfytSI=";
initConfig = {
configExcludes = [ ];
configKey = "markup";
···
};
pname = "g-plane-markup_fmt";
updateUrl = "https://plugins.dprint.dev/g-plane/markup_fmt/latest.json";
-
url = "https://plugins.dprint.dev/g-plane/markup_fmt-v0.18.0.wasm";
-
version = "0.18.0";
+
url = "https://plugins.dprint.dev/g-plane/markup_fmt-v0.19.0.wasm";
+
version = "0.19.0";
}
+3 -3
pkgs/by-name/ea/eask-cli/package.nix
···
buildNpmPackage rec {
pname = "eask-cli";
-
version = "0.10.3";
+
version = "0.11.0";
src = fetchFromGitHub {
owner = "emacs-eask";
repo = "cli";
rev = version;
-
hash = "sha256-PDWPamX3Jp28VLvyx5ZXtQ8sNTlYcwP3TlVPOgwnek8=";
+
hash = "sha256-xMay2HGw5vGvGIrbjCk0LNn5bvSiHbnpjfdGdO7BpQ4=";
};
-
npmDepsHash = "sha256-1VWTL4BzvSHmVIyteHkjVqLPtbrhD2MMg/I+4mnPBIw=";
+
npmDepsHash = "sha256-8/2DCFlQ0bQt9uajWm17qqp2zc8scHdscL6n/laSZZ8=";
dontBuild = true;
+3 -3
pkgs/by-name/fl/fly/package.nix
···
buildGoModule rec {
pname = "fly";
-
version = "7.12.1";
+
version = "7.13.0";
src = fetchFromGitHub {
owner = "concourse";
repo = "concourse";
rev = "v${version}";
-
hash = "sha256-3RsFtU2C3XxBddyW5liAwia9I7Fc8f2+TsziiJy6rHg=";
+
hash = "sha256-myvYACdTqnEb8aBpBeCA1qvcnF0lwYbSo6kMgSz7iiA=";
};
-
vendorHash = "sha256-up77TV/A/C39LjgQ+1uQExWfMlbruLhY3H6820cRnt0=";
+
vendorHash = "sha256-WC4uzTgvW15IumwmsWXXeiF5qagbeb5XWRaSjd1XLvA=";
subPackages = [ "fly" ];
+2 -2
pkgs/by-name/gi/giza/package.nix
···
stdenv.mkDerivation (finalAttrs: {
pname = "giza";
-
version = "1.4.4";
+
version = "1.5.0";
src = fetchFromGitHub {
owner = "danieljprice";
repo = "giza";
rev = "v${finalAttrs.version}";
-
hash = "sha256-FlD+emPrdXYmalHqQ6jKmkZudyLtlbeHtUOjT/D6UOA=";
+
hash = "sha256-tNz0Lh6bzQPxsd/Vz3jh8u0JiRXT0O43hyfgbGTJUeE=";
};
nativeBuildInputs = [
+15
pkgs/by-name/gp/gpupad/glslang-use-combined-lib.patch
···
+
diff --git a/CMakeLists.txt b/CMakeLists.txt
+
index a05c447..20a5c98 100644
+
--- a/CMakeLists.txt
+
+++ b/CMakeLists.txt
+
@@ -276,8 +276,8 @@ endif()
+
+
# link glslang
+
find_package(glslang CONFIG REQUIRED)
+
-target_link_libraries(${PROJECT_NAME} PRIVATE glslang::OSDependent glslang::glslang
+
- glslang::MachineIndependent glslang::GenericCodeGen glslang::glslang-default-resource-limits
+
+target_link_libraries(${PROJECT_NAME} PRIVATE glslang::glslang
+
+ glslang::glslang-default-resource-limits
+
glslang::SPVRemapper glslang::SPIRV)
+
+
# link SPIRV-Cross
+63
pkgs/by-name/gp/gpupad/package.nix
···
+
{
+
lib,
+
stdenv,
+
fetchFromGitHub,
+
cmake,
+
+
glslang,
+
imath,
+
ktx-tools,
+
openimageio,
+
qt6Packages,
+
spdlog,
+
spirv-cross,
+
vulkan-memory-allocator,
+
}:
+
+
stdenv.mkDerivation (finalAttrs: {
+
pname = "gpupad";
+
version = "2.4.0";
+
+
src = fetchFromGitHub {
+
owner = "houmain";
+
repo = "gpupad";
+
tag = finalAttrs.version;
+
hash = "sha256-yCoLvocfqYOwbsGn2r3+2iThDZCkRAUrNI71fIH7XXU=";
+
fetchSubmodules = true;
+
};
+
+
patches = [
+
# the current version of glslang no longer separates its libs into sublibs
+
./glslang-use-combined-lib.patch
+
];
+
+
strictDeps = true;
+
+
nativeBuildInputs = [
+
cmake
+
qt6Packages.wrapQtAppsHook
+
];
+
+
buildInputs = [
+
glslang
+
imath # needed for openimageio
+
ktx-tools
+
openimageio
+
qt6Packages.qtbase
+
qt6Packages.qtdeclarative
+
qt6Packages.qtmultimedia
+
spdlog
+
spirv-cross
+
vulkan-memory-allocator
+
];
+
+
meta = {
+
description = "Flexible GLSL and HLSL shader editor and IDE";
+
homepage = "https://github.com/houmain/gpupad";
+
changelog = "https://github.com/houmain/gpupad/blob/${finalAttrs.src.rev}/CHANGELOG.md";
+
license = lib.licenses.gpl3Only;
+
maintainers = with lib.maintainers; [ tomasajt ];
+
mainProgram = "gpupad";
+
platforms = lib.platforms.linux;
+
};
+
})
+9
pkgs/by-name/ls/lswt/package.nix
···
lib,
stdenv,
fetchFromSourcehut,
+
fetchpatch,
wayland-scanner,
wayland,
}:
···
rev = "v${version}";
hash = "sha256-8jP6I2zsDt57STtuq4F9mcsckrjvaCE5lavqKTjhNT0=";
};
+
+
patches = [
+
# Subject: [PATCH] fix JSON formatting of identifier string
+
(fetchpatch {
+
url = "https://git.sr.ht/~leon_plickat/lswt/commit/d35786da4383388c19f5437128fd393a6f16f74f.patch";
+
hash = "sha256-3RTq8BXRR7MgKV0BueoOjPORMrYVAKNbKR74hZ75W/Y=";
+
})
+
];
nativeBuildInputs = [ wayland-scanner ];
buildInputs = [ wayland ];
+46
pkgs/by-name/ma/ma/package.nix
···
+
{
+
lib,
+
stdenv,
+
tclPackages,
+
fetchurl,
+
}:
+
+
stdenv.mkDerivation {
+
pname = "ma";
+
version = "11";
+
+
src = fetchurl {
+
url = "http://call-with-current-continuation.org/ma/ma.tar.gz";
+
hash = "sha256-1UVxXbN2jSNm13BjyoN3jbKtkO3DUEEHaDOC2Ibbxf4=";
+
};
+
+
buildInputs = [
+
tclPackages.tk
+
];
+
+
buildPhase = ''
+
runHook preBuild
+
./build
+
for f in B ma ma-eval; do
+
substituteInPlace $f --replace-fail \
+
'set exec_prefix ""' "set exec_prefix \"$out/bin/\""
+
done
+
runHook postBuild
+
'';
+
+
installPhase = ''
+
runHook preInstall
+
install -Dt $out/bin \
+
B awd ma ma-eval plumb pty win
+
runHook postInstall
+
'';
+
+
meta = {
+
description = "minimalistic variant of the Acme editor";
+
homepage = "http://call-with-current-continuation.org/ma/ma.html";
+
mainProgram = "ma";
+
maintainers = with lib.maintainers; [ ehmry ];
+
license = lib.licenses.free;
+
inherit (tclPackages.tk.meta) platforms;
+
};
+
}
+9 -9
pkgs/by-name/mi/mirrord/manifest.json
···
{
-
"version": "3.136.0",
+
"version": "3.137.0",
"assets": {
"x86_64-linux": {
-
"url": "https://github.com/metalbear-co/mirrord/releases/download/3.136.0/mirrord_linux_x86_64",
-
"hash": "sha256-MV6S23Ly0g2FPAhp2+RIMSC8D+s6NakVbMqLSwEr/2o="
+
"url": "https://github.com/metalbear-co/mirrord/releases/download/3.137.0/mirrord_linux_x86_64",
+
"hash": "sha256-IrsvX7Z+8k3OvtojhWuSeeiO75Okth6MCF3sPs3jIZo="
},
"aarch64-linux": {
-
"url": "https://github.com/metalbear-co/mirrord/releases/download/3.136.0/mirrord_linux_aarch64",
-
"hash": "sha256-zwistetfQCucaQ3yE1XHNChDhVCnSUq2ttl4XMnAQJU="
+
"url": "https://github.com/metalbear-co/mirrord/releases/download/3.137.0/mirrord_linux_aarch64",
+
"hash": "sha256-E5Jhx3FsaVNCbvC1SH0D2GPsgQDwKkMPe/wR9MoVzKs="
},
"aarch64-darwin": {
-
"url": "https://github.com/metalbear-co/mirrord/releases/download/3.136.0/mirrord_mac_universal",
-
"hash": "sha256-eSHJvtbCBxegYUjfplyBND2kinEqr5LlXJs9mm2U9wI="
+
"url": "https://github.com/metalbear-co/mirrord/releases/download/3.137.0/mirrord_mac_universal",
+
"hash": "sha256-PKW2K5ITt1wagtET6MVx2rTn9CcqqujKaYt0XleIyzY="
},
"x86_64-darwin": {
-
"url": "https://github.com/metalbear-co/mirrord/releases/download/3.136.0/mirrord_mac_universal",
-
"hash": "sha256-eSHJvtbCBxegYUjfplyBND2kinEqr5LlXJs9mm2U9wI="
+
"url": "https://github.com/metalbear-co/mirrord/releases/download/3.137.0/mirrord_mac_universal",
+
"hash": "sha256-PKW2K5ITt1wagtET6MVx2rTn9CcqqujKaYt0XleIyzY="
}
}
}
+10 -4
pkgs/by-name/mo/modrinth-app-unwrapped/package.nix
···
desktop-file-utils,
fetchFromGitHub,
makeBinaryWrapper,
+
nix-update-script,
nodejs,
openssl,
pkg-config,
···
let
pnpm = pnpm_9;
in
-
rustPlatform.buildRustPackage rec {
+
+
rustPlatform.buildRustPackage (finalAttrs: {
pname = "modrinth-app-unwrapped";
version = "0.9.3";
src = fetchFromGitHub {
owner = "modrinth";
repo = "code";
-
tag = "v${version}";
+
tag = "v${finalAttrs.version}";
hash = "sha256-h+zj4Hm7v8SU6Zy0rIWbOknXVdSDf8b1d4q6M12J5Lc=";
};
···
cargoHash = "sha256-RrXSBgVh4UZFHcgUWhUjE7rEm/RZFDSDCpXS22gVjZ0=";
pnpmDeps = pnpm.fetchDeps {
-
inherit pname version src;
+
inherit (finalAttrs) pname version src;
hash = "sha256-nFuPFgwJw38XVxhW0QXmU31o+hqJKGJysnPg2YSg2D0=";
};
···
$out/share/applications/Modrinth\ App.desktop
'';
+
passthru = {
+
updateScript = nix-update-script { };
+
};
+
meta = {
description = "Modrinth's game launcher";
longDescription = ''
···
# See https://github.com/modrinth/code/issues/776#issuecomment-1742495678
broken = !stdenv.hostPlatform.isx86_64 && !stdenv.hostPlatform.isDarwin;
};
-
}
+
})
+2 -2
pkgs/by-name/mo/mosdepth/package.nix
···
buildNimPackage (finalAttrs: {
pname = "mosdepth";
-
version = "0.3.10";
+
version = "0.3.11";
requiredNimVersion = 1;
···
owner = "brentp";
repo = "mosdepth";
rev = "v${finalAttrs.version}";
-
hash = "sha256-RAE3k2yA2zsIr5JFYb5bPaMzdoEKms7TKaqVhPS5LzY=";
+
hash = "sha256-EzzDuzPAyNkL2tFWre86U+kx3SvLPbWto2/vfLdwHGI=";
};
lockFile = ./lock.json;
+8 -2
pkgs/by-name/ni/nimble/package.nix
···
nim,
openssl,
makeWrapper,
+
+
nix-update-script,
}:
buildNimPackage (
final: prev: {
pname = "nimble";
-
version = "0.16.4";
+
version = "0.18.0";
src = fetchFromGitHub {
owner = "nim-lang";
repo = "nimble";
rev = "v${final.version}";
-
hash = "sha256-ASodRov4rO/IhjQRRdqVnLWMG1voXWM9F6R6VJd9qkM=";
+
hash = "sha256-HFuJiozRsRlVIXIv+vRjsfosrBlWfnUYtep27Fy/PPA=";
fetchSubmodules = true;
};
···
--suffix PATH : ${lib.makeBinPath [ nim ]}
'';
+
passthru.updateScript = nix-update-script { };
+
meta = {
description = "Package manager for the Nim programming language";
homepage = "https://github.com/nim-lang/nimble";
+
changelog = "https://github.com/nim-lang/nimble/releases/tag/v${final.version}";
license = lib.licenses.bsd3;
mainProgram = "nimble";
+
maintainers = [ lib.maintainers.daylinmorgan ];
};
}
)
+48
pkgs/by-name/op/openstack-rs/package.nix
···
+
{
+
stdenv,
+
lib,
+
fetchFromGitHub,
+
rustPlatform,
+
installShellFiles,
+
versionCheckHook,
+
nix-update-script,
+
}:
+
rustPlatform.buildRustPackage (finalAttrs: {
+
pname = "openstack-rs";
+
version = "0.10.0";
+
src = fetchFromGitHub {
+
owner = "gtema";
+
repo = "openstack";
+
tag = "v${finalAttrs.version}";
+
hash = "sha256-NDiqIhpKP7iGEAgAnaBekqjjWM7KqZPpdtPu/mEp1NU=";
+
};
+
+
useFetchCargoVendor = true;
+
cargoHash = "sha256-S4FivjHkWC5tA1l4cheJsTECRfv8zyQbR88BqCeKFuc=";
+
+
nativeBuildInputs = [
+
installShellFiles
+
];
+
+
postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
+
installShellCompletion --cmd osc \
+
--bash <($out/bin/osc completion bash) \
+
--fish <($out/bin/osc completion fish) \
+
--zsh <($out/bin/osc completion zsh)
+
'';
+
+
doInstallCheck = true;
+
versionCheckProgram = "${placeholder "out"}/bin/${finalAttrs.meta.mainProgram}";
+
nativeInstallCheckInputs = [ versionCheckHook ];
+
+
passthru.updateScript = nix-update-script { };
+
+
meta = {
+
description = "OpenStack CLI and TUI implemented in Rust";
+
homepage = "https://github.com/gtema/openstack";
+
changelog = "https://github.com/gtema/openstack/releases/tag/v${finalAttrs.version}";
+
license = lib.licenses.asl20;
+
maintainers = with lib.maintainers; [ lykos153 ];
+
mainProgram = "osc";
+
};
+
})
+2 -2
pkgs/by-name/os/osmo-hlr/package.nix
···
stdenv.mkDerivation rec {
pname = "osmo-hlr";
-
version = "1.9.0";
+
version = "1.9.1";
src = fetchFromGitHub {
owner = "osmocom";
repo = "osmo-hlr";
rev = version;
-
hash = "sha256-W9j/p7rQDF2/9L02fEeu85pV4lUrHT3xI7jUB2WkpKg=";
+
hash = "sha256-yi4sgcX8WOWz7qw/jGvVCtIYe867uBzLps8gdG6ziOA=";
};
postPatch = ''
+2 -2
pkgs/by-name/ot/otf2/package.nix
···
stdenv.mkDerivation (finalAttrs: {
pname = "otf2";
-
version = "3.0.3";
+
version = "3.1.1";
src = fetchurl {
url = "http://perftools.pages.jsc.fz-juelich.de/cicd/otf2/tags/otf2-${finalAttrs.version}/otf2-${finalAttrs.version}.tar.gz";
-
hash = "sha256-GKOQX3kXNAOH4+3I5XZvMasa9B9OzFZl2mx2nKIcTug=";
+
hash = "sha256-Wk4BOlGsTteU/jXFW3AM1yA0b9p/M+yEx2uGpfuICm4=";
};
configureFlags = [
+2 -2
pkgs/by-name/pf/pfetch/package.nix
···
stdenvNoCC.mkDerivation rec {
pname = "pfetch";
-
version = "1.8.1";
+
version = "1.9.0";
src = fetchFromGitHub {
owner = "Un1q32";
repo = "pfetch";
tag = version;
-
hash = "sha256-lzXoe4RYfd8aSnrkpz5VYhMlJUcaMsZBZyPBOjpBXG8=";
+
hash = "sha256-DWntcAowiia4gEiYcZCJ6+uDGQ5h2eh/XwSSW+ThPKY=";
};
dontBuild = true;
+3 -3
pkgs/by-name/se/session-desktop/package.nix
···
}:
let
-
version = "1.13.2";
+
version = "1.15.2";
pname = "session-desktop";
src = fetchurl {
-
url = "https://github.com/oxen-io/session-desktop/releases/download/v${version}/session-desktop-linux-x86_64-${version}.AppImage";
-
hash = "sha256-71v6CvlKa4m1LPG07eGhPqkpK60X4VrafCQyfjQR3rs=";
+
url = "https://github.com/session-foundation/session-desktop/releases/download/v${version}/session-desktop-linux-x86_64-${version}.AppImage";
+
hash = "sha256-xQ/Fjg04XgXUioCCU0+sOLaTWZV1z05EmzZCqEU++Ok=";
};
appimage = appimageTools.wrapType2 { inherit version pname src; };
appimage-contents = appimageTools.extractType2 { inherit version pname src; };
+2 -2
pkgs/by-name/sp/splash/package.nix
···
stdenv.mkDerivation (finalAttrs: {
pname = "splash";
-
version = "3.11.1";
+
version = "3.11.2";
src = fetchFromGitHub {
owner = "danieljprice";
repo = "splash";
rev = "v${finalAttrs.version}";
-
hash = "sha256-zENMQpLsm6GlqrXsFDjEnMbtODcqwhB3jGfGHLuGcYw=";
+
hash = "sha256-YB0cgxpRlya8/7fYxPKWBCovHvE/N7HY/7nwKnzYiJc=";
};
nativeBuildInputs = [
+5 -5
pkgs/by-name/ta/tailwindcss_4/package.nix
···
makeWrapper,
}:
let
-
version = "4.1.1";
+
version = "4.1.2";
inherit (stdenv.hostPlatform) system;
throwSystem = throw "tailwindcss has not been packaged for ${system} yet.";
···
hash =
{
-
aarch64-darwin = "sha256-moydWSkhoHmxd+4zeWwgneUNHOlJ9yqPXlGHhCQmYXA=";
-
aarch64-linux = "sha256-zTW+fGIkpwWRYMRJjZRJmO4YI5J6gOXOKUfq9KtGxKI=";
-
x86_64-darwin = "sha256-JPnnUj30uQVvj+dnq7+fG4Trt7ArLVPsP4G1RVUeZAA=";
-
x86_64-linux = "sha256-jIW4NmIW7dk3iTS0JY5V7PF9LfnWIVEDcYOUP0nWp1Y=";
+
aarch64-darwin = "sha256-6kR+iOsfIeHvNRdLP72Mv8nKkCN877dcKl1FNG4ij/A=";
+
aarch64-linux = "sha256-m6uFYOQ4P52WhA73/ZAZxt3hAnq+xhreueDoXOOKF88=";
+
x86_64-darwin = "sha256-6C12gk9WnGP5nhSBBZT2q8SoCCdyOHCszHtAQi1d+0A=";
+
x86_64-linux = "sha256-2g+J98RrSheoUp1LJCzFa1mivMoVLFpQPSAOV8eA8Gw=";
}
.${system} or throwSystem;
in
+5 -5
pkgs/by-name/ve/vencord/package.nix
···
stdenv.mkDerivation (finalAttrs: {
pname = "vencord";
-
version = "1.11.7";
+
version = "1.11.8";
src = fetchFromGitHub {
owner = "Vendicated";
repo = "Vencord";
rev = "v${finalAttrs.version}";
-
hash = "sha256-WzmRz0wf/Ss90FmXXp6gaylC0k/k/QkFaFddlnLo+Xk=";
+
hash = "sha256-Ej04ONaeNt55mbQ5RTKM4MySYsw3UJky9ZK9h1gMEzo=";
};
pnpmDeps = pnpm_10.fetchDeps {
inherit (finalAttrs) pname src;
-
hash = "sha256-g9BSVUKpn74D9eIDj/lS1Y6w/+AnhCw++st4s4REn+A=";
+
hash = "sha256-hO6QKRr4jTfesRDAEGcpFeJmGTGLGMw6EgIvD23DNzw=";
};
nativeBuildInputs = [
···
ESBUILD_BINARY_PATH = lib.getExe (
esbuild.overrideAttrs (
final: _: {
-
version = "0.25.0";
+
version = "0.25.1";
src = fetchFromGitHub {
owner = "evanw";
repo = "esbuild";
rev = "v${final.version}";
-
hash = "sha256-L9jm94Epb22hYsU3hoq1lZXb5aFVD4FC4x2qNt0DljA=";
+
hash = "sha256-vrhtdrvrcC3dQoJM6hWq6wrGJLSiVww/CNPlL1N5kQ8=";
};
vendorHash = "sha256-+BfxCyg0KkDQpHt/wycy/8CTG6YBA/VJvJFhhzUnSiQ=";
}
+2 -2
pkgs/development/libraries/qtutilities/default.nix
···
stdenv.mkDerivation (finalAttrs: {
pname = "qtutilities";
-
version = "6.14.6";
+
version = "6.15.0";
src = fetchFromGitHub {
owner = "Martchus";
repo = "qtutilities";
rev = "v${finalAttrs.version}";
-
hash = "sha256-A61X6WKrP7CVgcRyB6phrVQo/B9VESRo0xTZV49KA3M=";
+
hash = "sha256-FWDvcUATod1n8CICmlQl/RA57c0EjLtwZ05mmVzc6Ec=";
};
nativeBuildInputs = [
+7
pkgs/development/python-modules/django-phonenumber-field/default.nix
···
django,
djangorestframework,
fetchFromGitHub,
+
gettext,
phonenumbers,
phonenumberslite,
python,
···
djangorestframework
];
+
nativeBuildInputs = [ gettext ];
+
pythonImportsCheck = [ "phonenumber_field" ];
checkPhase = ''
${python.interpreter} -m django test --settings tests.settings
+
'';
+
+
preBuild = ''
+
${python.interpreter} -m django compilemessages
'';
optional-dependencies = {
+2 -2
pkgs/development/python-modules/meep/default.nix
···
buildPythonPackage rec {
pname = "meep";
-
version = "1.29.0";
+
version = "1.30.0";
src = fetchFromGitHub {
owner = "NanoComp";
repo = pname;
tag = "v${version}";
-
hash = "sha256-TB85obdk8pSWRaz3+3I6P6+dQtCHosWHRnKGck/wG9Q=";
+
hash = "sha256-9cQHvwUAeop5dRMVvedph+KQvTcmnkHdfqPQlSY280c=";
};
format = "other";
+20 -24
pkgs/development/python-modules/qcodes-contrib-drivers/default.nix
···
{
lib,
+
stdenv,
buildPythonPackage,
-
pythonOlder,
fetchFromGitHub,
-
fetchpatch2,
+
+
# build-system
setuptools,
versioningit,
+
+
# dependencies
+
autobahn,
cffi,
-
qcodes,
packaging,
pandas,
-
pytestCheckHook,
+
qcodes,
+
python-dotenv,
+
+
# tests
pytest-mock,
+
pytestCheckHook,
pyvisa-sim,
-
stdenv,
+
writableTmpDirAsHomeHook,
}:
buildPythonPackage rec {
pname = "qcodes-contrib-drivers";
-
version = "0.22.0";
+
version = "0.23.0";
pyproject = true;
-
-
disabled = pythonOlder "3.9";
src = fetchFromGitHub {
owner = "QCoDeS";
repo = "Qcodes_contrib_drivers";
tag = "v${version}";
-
sha256 = "sha256-/W5oC5iqYifMR3/s7aSQ2yTJNmkemkc0KVxIU0Es3zY=";
+
hash = "sha256-m2idBaQl2OVhrY5hcLTeXY6BycGf0ufa/ySgxaU2L/4=";
};
-
patches = [
-
(fetchpatch2 {
-
name = "numpy-v2-compat.patch";
-
url = "https://github.com/QCoDeS/Qcodes_contrib_drivers/commit/fc792779dbc0b023bdccfe8877dac192d75a88db.patch?full_index=1";
-
hash = "sha256-G+/IVG9a4mOFudpqEpI+Q/+WwF6lm2nRKjODCdzWHe0=";
-
})
-
];
-
build-system = [
setuptools
versioningit
];
dependencies = [
+
autobahn
cffi
-
qcodes
packaging
pandas
+
qcodes
+
python-dotenv
];
nativeCheckInputs = [
-
pytestCheckHook
pytest-mock
+
pytestCheckHook
pyvisa-sim
+
writableTmpDirAsHomeHook
];
pythonImportsCheck = [ "qcodes_contrib_drivers" ];
disabledTests =
-
lib.optionals (stdenv.hostPlatform.isDarwin) [
+
lib.optionals stdenv.hostPlatform.isDarwin [
# At index 13 diff: 'sour6:volt 0.29000000000000004' != 'sour6:volt 0.29'
"test_stability_diagram_external"
]
···
# AssertionError: assert ['outp:trig4:...9999996', ...] == ['outp:trig4:...t 0.266', ...]
"test_stability_diagram_external"
];
-
-
postInstall = ''
-
export HOME="$TMPDIR"
-
'';
meta = {
description = "User contributed drivers for QCoDeS";
+4 -2
pkgs/development/python-modules/qcodes/default.nix
···
lxml,
pip,
pytest-asyncio,
+
pytest-cov-stub,
pytest-mock,
pytest-rerunfailures,
pytest-xdist,
···
buildPythonPackage rec {
pname = "qcodes";
-
version = "0.51.0";
+
version = "0.52.0";
pyproject = true;
src = fetchFromGitHub {
owner = "microsoft";
repo = "Qcodes";
tag = "v${version}";
-
hash = "sha256-QgCMoZrC3ZCo8yayRXw9fvBj5xi+XH2x/E1MuQFULPo=";
+
hash = "sha256-AQBzYKD4RsPQBtq/FxFwYnSUf8wW87JOb2cOnk9MHDY=";
};
postPatch = ''
···
lxml
pip
pytest-asyncio
+
pytest-cov-stub
pytest-mock
pytest-rerunfailures
pytest-xdist
+2 -7
pkgs/development/ruby-modules/gem-config/default.nix
···
libvirt,
glib,
vips,
-
taglib_1,
+
taglib,
libopus,
linux-pam,
libidn,
···
};
iconv = attrs: {
-
dontBuild = false;
buildFlags = lib.optionals stdenv.hostPlatform.isDarwin [
"--with-iconv-dir=${lib.getLib libiconv}"
"--with-iconv-include=${lib.getDev libiconv}/include"
-
];
-
patches = [
-
# Fix incompatible function pointer conversion errors with clang 16
-
./iconv-fix-incompatible-function-pointer-conversions.patch
];
};
···
};
taglib-ruby = attrs: {
-
buildInputs = [ taglib_1 ];
+
buildInputs = [ taglib ];
};
timfel-krb5-auth = attrs: {
-51
pkgs/development/ruby-modules/gem-config/iconv-fix-incompatible-function-pointer-conversions.patch
···
-
diff --git a/ext/iconv/iconv.c b/ext/iconv/iconv.c
-
index 2801049..77fae7e 100644
-
--- a/ext/iconv/iconv.c
-
+++ b/ext/iconv/iconv.c
-
@@ -188,7 +188,7 @@ static VALUE iconv_convert _((iconv_t cd, VALUE str, long start, long length, in
-
static VALUE iconv_s_allocate _((VALUE klass));
-
static VALUE iconv_initialize _((int argc, VALUE *argv, VALUE self));
-
static VALUE iconv_s_open _((int argc, VALUE *argv, VALUE self));
-
-static VALUE iconv_s_convert _((struct iconv_env_t* env));
-
+static VALUE iconv_s_convert _((VALUE env));
-
static VALUE iconv_s_iconv _((int argc, VALUE *argv, VALUE self));
-
static VALUE iconv_init_state _((VALUE cd));
-
static VALUE iconv_finish _((VALUE self));
-
@@ -204,7 +204,7 @@ static VALUE charset_map;
-
* Returns the map from canonical name to system dependent name.
-
*/
-
static VALUE
-
-charset_map_get(void)
-
+charset_map_get(VALUE klass)
-
{
-
return charset_map;
-
}
-
@@ -642,7 +642,7 @@ iconv_s_allocate(VALUE klass)
-
}
-
-
static VALUE
-
-get_iconv_opt_i(VALUE i, VALUE arg)
-
+get_iconv_opt_i(RB_BLOCK_CALL_FUNC_ARGLIST(i, arg))
-
{
-
VALUE name;
-
#if defined ICONV_SET_TRANSLITERATE || defined ICONV_SET_DISCARD_ILSEQ
-
@@ -784,8 +784,9 @@ iconv_s_open(int argc, VALUE *argv, VALUE self)
-
}
-
-
static VALUE
-
-iconv_s_convert(struct iconv_env_t* env)
-
+iconv_s_convert(VALUE env_value)
-
{
-
+ struct iconv_env_t* env = (struct iconv_env_t*)env_value;
-
VALUE last = 0;
-
-
for (; env->argc > 0; --env->argc, ++env->argv) {
-
@@ -906,7 +907,7 @@ list_iconv(unsigned int namescount, const char *const *names, void *data)
-
-
#if defined(HAVE_ICONVLIST) || defined(HAVE___ICONV_FREE_LIST)
-
static VALUE
-
-iconv_s_list(void)
-
+iconv_s_list(VALUE klass)
-
{
-
#ifdef HAVE_ICONVLIST
-
int state;
-1
pkgs/development/ruby-modules/with-packages/Gemfile
···
gem 'jmespath'
gem 'jwt'
gem 'kramdown-rfc2629'
-
gem 'libv8'
gem 'libxml-ruby'
gem 'mail'
gem 'magic'
+2 -2
pkgs/development/tools/misc/coreboot-toolchain/default.nix
···
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "coreboot-toolchain-${arch}";
-
version = "24.12";
+
version = "25.03";
src = fetchgit {
url = "https://review.coreboot.org/coreboot";
rev = finalAttrs.version;
-
hash = "sha256-vK2kxLJZFz7QqWYRF6JIGrM2Hobmzp31HtQMpb1mx9M=";
+
hash = "sha256-zyfBQKVton+2vjYd6fqrUqkHY9bci411pujRGabvTjQ=";
fetchSubmodules = false;
leaveDotGit = true;
postFetch = ''
+3 -3
pkgs/development/tools/misc/coreboot-toolchain/stable.nix
···
};
}
{
-
name = "acpica-unix-20230628.tar.gz";
+
name = "acpica-unix-20241212.tar.gz";
archive = fetchurl {
-
sha256 = "1kjwzyfrmw0fhawjvpqib3l5jxdlcpj3vv92sb7ls8ixbrs6m1w6";
-
url = "https://downloadmirror.intel.com/783534/acpica-unix-20230628.tar.gz";
+
sha256 = "0q8rqc9nxvyg4310rc93az04j01p91q7ipzvhl2722rrxv7q7jlx";
+
url = "https://github.com/acpica/acpica/releases/download/R2024_12_12/acpica-unix-20241212.tar.gz";
};
}
{
+3 -3
pkgs/games/dxx-rebirth/default.nix
···
in
stdenv.mkDerivation {
pname = "dxx-rebirth";
-
version = "0.60.0-beta2-unstable-2025-03-01";
+
version = "0.60.0-beta2-unstable-2025-03-29";
src = fetchFromGitHub {
owner = "dxx-rebirth";
repo = "dxx-rebirth";
-
rev = "d96665375a8bd273dcc0d0b21c87249861b0e00f";
-
hash = "sha256-HoGRpqfgPh7nBYbX5ZGETgNNKtDs22IarVzvSTWLi58=";
+
rev = "ddc84fa623ed508073cf99244db731bd73f36b6b";
+
hash = "sha256-VZ3PQ4YECM+z+V1zPSNdgIIBFjRIAunEmhENJAUj+P8=";
};
nativeBuildInputs = [
+2 -2
pkgs/tools/misc/coreboot-utils/default.nix
···
}:
let
-
version = "24.12";
+
version = "25.03";
commonMeta = {
description = "Various coreboot-related tools";
···
src = fetchgit {
url = "https://review.coreboot.org/coreboot";
rev = version;
-
hash = "sha256-PtHvzMf9sKvrgWVT5XVCy4BbMklCKcpnJAE+WeE2Cgs=";
+
hash = "sha256-tsNdsH+GxjLUTd7KXHMZUTNTIAWeKJ3BNy1Lehjo8Eo=";
};
enableParallelBuilding = true;
+3 -3
pkgs/tools/misc/topgrade/default.nix
···
rustPlatform.buildRustPackage rec {
pname = "topgrade";
-
version = "16.0.2";
+
version = "16.0.3";
src = fetchFromGitHub {
owner = "topgrade-rs";
repo = "topgrade";
rev = "v${version}";
-
hash = "sha256-0wJxBFGPjJReWoeeKpHEsKaB3npR8nf7Uw8BgPQ+ccs=";
+
hash = "sha256-TLeShvDdVqFBIStdRlgF1Zmi8FwS9pmeQ9qOu63nq/E=";
};
useFetchCargoVendor = true;
-
cargoHash = "sha256-/sN5Vl1Co2VYnG2vN170Q3hAbOYhJSvLawJDFytz+ho=";
+
cargoHash = "sha256-Tu4exuUhsk9hGDreQWkPrYvokZh0z6DQSQnREO40Qwc=";
nativeBuildInputs = [
installShellFiles
+1
pkgs/top-level/all-packages.nix
···
docker_25
docker_26
docker_27
+
docker_28
docker = docker_27;
+541 -551
pkgs/top-level/ruby-packages.nix
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "0ifiz4nd6a34z2n8lpdgvlgwziy2g364b0xzghiqd3inji0cwqp1";
+
sha256 = "18496axh89kakw5f82mmmac3w9rwb0b0wq4j6la806p9cbgy5k3v";
type = "gem";
};
-
version = "7.1.3.2";
+
version = "8.0.2";
};
actionmailbox = {
dependencies = [
···
"activestorage"
"activesupport"
"mail"
-
"net-imap"
-
"net-pop"
-
"net-smtp"
];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "1adqnf5zc4fdr71ykxdv5b50h7n4xfvrc0qcgwmgidi0cxkzx4r4";
+
sha256 = "1nyfwa1kj0cm1scqsbv723ypv69bzaxh886hliyjbrhk752v73rx";
type = "gem";
};
-
version = "7.1.3.2";
+
version = "8.0.2";
};
actionmailer = {
dependencies = [
···
"activejob"
"activesupport"
"mail"
-
"net-imap"
-
"net-pop"
-
"net-smtp"
"rails-dom-testing"
];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "012mxn5dfhwbssrckw6kvf851m6rlfa87n4nikk28g05ydfsvcys";
+
sha256 = "1l3pnba14p0p7zsh366c31maxap030c97597vjimdv3nhnrnijdh";
type = "gem";
};
-
version = "7.1.3.2";
+
version = "8.0.2";
};
actionpack = {
dependencies = [
"actionview"
"activesupport"
"nokogiri"
-
"racc"
"rack"
"rack-session"
"rack-test"
"rails-dom-testing"
"rails-html-sanitizer"
+
"useragent"
];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "0n1v4r5cyac5wfdlf8bly45mnh60vbp067yjpkyb05vyszamiydq";
+
sha256 = "0y2b5ydiqy32jbd9g5bl6v4aw6d7pjn5f3w2rxf2j59q9w307rwk";
type = "gem";
};
-
version = "7.1.3.2";
+
version = "8.0.2";
};
actiontext = {
dependencies = [
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "0an5sfy96cbd7f43igq47h3m228ivngqjj40gj6iqllhjhchgs7c";
+
sha256 = "1grs41yr3nzw7zbnz0vkv8f4qd448a632saxkm3vnbzf68hb63d4";
type = "gem";
};
-
version = "7.1.3.2";
+
version = "8.0.2";
};
actionview = {
dependencies = [
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "1kq9b4xnwiknjqg4y6ixvv0cf1z0dcxs68inc8bx05s0fqrim6rn";
+
sha256 = "1fyfyxf2a798lxq6sfpnj94kmnpfp17xlhvjy428zhfzbi0f2f70";
type = "gem";
};
-
version = "7.1.3.2";
+
version = "8.0.2";
};
activejob = {
dependencies = [
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "08gjywvd65yzgjw7ynsgvi00scxc4fmgj70wajn7wsdqx00hbafj";
+
sha256 = "1jjk31di5kvcflc90wmgdd50jzhljhafi166h6hg67kbwd2qn8mh";
type = "gem";
};
-
version = "7.1.3.2";
+
version = "8.0.2";
};
activemodel = {
dependencies = [ "activesupport" ];
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "0p3ibps515151ja4gadrhh8frvjvvq4h5fpxw2acccv3z5i553hh";
+
sha256 = "0v35y2jzqlfy1wnrzlzj2cxylhnz09vykaa1l2dnkq7sl5zzpq8a";
type = "gem";
};
-
version = "7.1.3.2";
+
version = "8.0.2";
};
activerecord = {
dependencies = [
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "0ww1qxn12nlp0ivysq0pxj6cvajf0fbq781fr4pqx5206c690wj8";
+
sha256 = "02nrya34qviawdkssyahb3mg08kqdc461b320a6ikr245jwp0d3r";
type = "gem";
};
-
version = "7.1.3.2";
+
version = "8.0.2";
};
activestorage = {
dependencies = [
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "09wp0qqp7xr31ipcv42bs81fmyksz9l3jmraryf53qjsbbqpfdr8";
+
sha256 = "0xr9cy6h8il61qq6w3rkvl56visms45ljm8f43r3ibh61wg24ggq";
type = "gem";
};
-
version = "7.1.3.2";
+
version = "8.0.2";
};
activesupport = {
dependencies = [
"base64"
+
"benchmark"
"bigdecimal"
"concurrent-ruby"
"connection_pool"
"drb"
"i18n"
+
"logger"
"minitest"
-
"mutex_m"
+
"securerandom"
"tzinfo"
+
"uri"
];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "0blbbf2x7dn7ar4g9aij403582zb6zscbj48bz63lvaamsvlb15d";
+
sha256 = "0pm40y64wfc50a9sj87kxvil2102rmpdcbv82zf0r40vlgdwsrc5";
type = "gem";
};
-
version = "7.1.3.2";
+
version = "8.0.2";
};
addressable = {
dependencies = [ "public_suffix" ];
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "0irbdwkkjwzajq1ip6ba46q49sxnrl2cw7ddkdhsfhb6aprnm3vr";
+
sha256 = "0cl2qpvwiffym62z991ynks7imsm87qmgxf0yfsmlwzkgi9qcaa6";
type = "gem";
};
-
version = "2.8.6";
+
version = "2.8.7";
};
ansi = {
groups = [ "default" ];
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "04nc8x27hlzlrr5c2gn7mar4vdr0apw5xg22wp6m8dx3wqr04a0y";
+
sha256 = "10yknjyn0728gjn6b5syynvrvrwm66bhssbxq8mkhshxghaiailm";
type = "gem";
};
-
version = "2.4.2";
+
version = "2.4.3";
};
atk = {
dependencies = [ "glib2" ];
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "11lcig7dr3nanwdgsacv2hbdpdk5yfaqzfjl8gav41mjbk90w15q";
+
sha256 = "0x8w98m2i2ywq3pb72rdmvmnbffnjg7fm1y99b4cb556mfvfvkr2";
type = "gem";
};
-
version = "4.2.1";
+
version = "4.2.9";
};
awesome_print = {
groups = [ "default" ];
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "0wghmhwjzv4r9mdcny4xfz2h2cm7ci24md79rvy2x65r4i99k9sc";
+
sha256 = "0jl71qcgamm96dzyqk695j24qszhcc7liw74qc83fpjljp2gh4hg";
type = "gem";
};
-
version = "0.3.0";
+
version = "0.4.0";
};
bigdecimal = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "0cq1c29zbkcxgdihqisirhcw76xc768z2zpd5vbccpq0l1lv76g7";
+
sha256 = "1k6qzammv9r6b2cw3siasaik18i6wjc5m0gw5nfdc6jj64h79z1g";
type = "gem";
};
-
version = "3.1.7";
+
version = "3.1.9";
};
bindata = {
groups = [ "default" ];
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "045wzckxpwcqzrjr353cxnyaxgf0qg22jh00dcx7z38cys5g1jlr";
+
sha256 = "0pw3r2lyagsxkm71bf44v5b74f7l9r7di22brbyji9fwz791hya9";
type = "gem";
};
-
version = "3.2.4";
+
version = "3.3.0";
};
byebug = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "0nx3yjf4xzdgb8jkmk2344081gqr22pgjqnmjg2q64mj5d6r9194";
+
sha256 = "07hsr9zzl2mvf5gk65va4smdizlk9rsiz8wwxik0p96cj79518fl";
type = "gem";
};
-
version = "11.1.3";
+
version = "12.0.0";
};
cairo = {
dependencies = [
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "1a85gisjb2n236bpay7cjqlxq07m4swc8mqnwy8c5rkxfhil194c";
+
sha256 = "02rd8zfzkq4nfv84y6jqmplc3ysygwladsnw1hfl44pgk9ync1ws";
type = "gem";
};
-
version = "1.17.13";
+
version = "1.18.4";
};
cairo-gobject = {
dependencies = [
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "06y99zan4apgi4bsqqwnsdlsyss8dk2plr2gksh4yw8lkkk3a5zs";
+
sha256 = "0xmp41l5d2344ll3vy5dvmbs0pmsyxrpcrgvg745n8982b0rkxv5";
type = "gem";
};
-
version = "4.2.1";
+
version = "4.2.9";
};
camping = {
dependencies = [
-
"kdl"
-
"listen"
"mab"
"rack"
-
"rack-session"
-
"rackup"
-
"zeitwerk"
];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "1w6q8qfz05w0f530yfg8r134zkbsgis9fa0awbypdqfh9jmlhn0m";
+
sha256 = "1q2a5x97pgnld0b8yziblp9fqkjyib4gfwv9gcyynyhswqwsldpf";
type = "gem";
};
-
version = "3.1.3";
+
version = "2.1.532";
};
certified = {
groups = [ "default" ];
···
};
version = "1.0.0";
};
-
cf-uaa-lib = {
-
dependencies = [
-
"addressable"
-
"httpclient"
-
"multi_json"
-
];
-
groups = [ "default" ];
-
platforms = [ ];
-
source = {
-
remotes = [ "https://rubygems.org" ];
-
sha256 = "f03e5fc4630511d39d42d802715d65997abfc5cdd113564fa21aebb610f63a46";
-
type = "gem";
-
};
-
version = "4.0.8";
-
};
-
cf-uaac = {
-
dependencies = [
-
"cf-uaa-lib"
-
"em-http-request"
-
"eventmachine"
-
"highline"
-
"json_pure"
-
"launchy"
-
"rack"
-
];
-
groups = [ "default" ];
-
platforms = [ ];
-
source = {
-
remotes = [ "https://rubygems.org" ];
-
sha256 = "f31cbbe93f8d791fac8ed6c9ede370f29d58654913b81177b6918c476b675528";
-
type = "gem";
-
};
-
version = "4.27.0";
-
};
charlock_holmes = {
groups = [ "default" ];
platforms = [ ];
···
};
version = "0.7.9";
};
-
childprocess = {
-
dependecnies = [ "logger" ];
-
groups = [ "default" ];
-
platforms = [ ];
-
source = {
-
remotes = [ "https://rubygems.org" ];
-
sha256 = "9a8d484be2fd4096a0e90a0cd3e449a05bc3aa33f8ac9e4d6dcef6ac1455b6ec";
-
type = "gem";
-
};
-
version = "5.1.0";
-
};
claide = {
groups = [ "default" ];
platforms = [ ];
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "0rn46vga5c1ww2vkf4dbg0w5g4h0vwx9idvdz3284188q4ksfbmg";
+
sha256 = "16n57vzkhsyjsmkb46n6pk4drcfvpy1mg3j4an9k21akr67qadmp";
type = "gem";
};
-
version = "3.6.0";
+
version = "3.7.0";
};
cocoapods = {
groups = [ "default" ];
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "0imaai3zmm3mx35kmfhsir8c3ijcs0s2zm8gd2rhqmk26gn3xqbm";
+
sha256 = "03n8gqzxnbkvfz875cdci4gdfc6pbdv1vjw8sy6m75l26ykimbav";
type = "gem";
};
-
version = "0.5.4";
+
version = "0.6.0";
};
cocoapods-wholemodule = {
groups = [ "default" ];
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "1zj06gjqwykgzxmbkp2hmg3wv5kv8zz5d77acxipzcgicdjgvfan";
+
sha256 = "0drbrv5m3l3qpal7s87gvss81cbzl76gad1hqkpqfqlphf0h7qb3";
type = "gem";
};
-
version = "4.0.0";
+
version = "4.0.3";
};
commonmarker = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "1lb5slzbqrca49h0gaifg82xky5r7i9xgm4560pin1xl5fp15lzx";
+
sha256 = "1gyjwd7in1nlf8zai2fxazxi8cy6xjzswdcjway520blb39ka7cx";
type = "gem";
};
-
version = "0.23.10";
+
version = "0.23.11";
};
concurrent-ruby = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "1qh1b14jwbbj242klkyz5fc7npd4j0mvndz62gajhvl1l3wd7zc2";
+
sha256 = "1ipbrgvf0pp6zxdk5ascp6i29aybz2bx9wdrlchjmpx6mhvkwfw1";
type = "gem";
};
-
version = "1.2.3";
+
version = "1.3.5";
};
connection_pool = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "1x32mcpm2cl5492kd6lbjbaf17qsssmpx9kdyr7z1wcif2cwyh0g";
+
sha256 = "1z7bag6zb2vwi7wp2bkdkmk7swkj6zfnbsnc949qq0wfsgw94fr3";
type = "gem";
};
-
version = "2.4.1";
+
version = "2.5.0";
};
crabstone = {
dependencies = [ "ffi" ];
···
};
version = "4.0.4";
};
-
cookiejar = {
-
groups = [ "default" ];
-
platforms = [ ];
-
source = {
-
remotes = [ "https://rubygems.org" ];
-
sha256 = "11b16acfc4baf7a0f463c21a6212005e04e25f5554d4d9f24d97f3492dfda0df";
-
type = "gem";
-
};
-
version = "0.3.4";
-
};
crass = {
groups = [ "default" ];
platforms = [ ];
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "sha256-C70d79wxE0q+/tAnpjmzcjwnU4YhUPTD7mHKtxsg1n0=";
+
sha256 = "0059n2hqiv3afahq1wc4ymr7lpka7vkisvmkx7azgnkvzfz6caby";
type = "gem";
};
-
version = "3.3.0";
+
version = "3.3.3";
};
curb = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "1lgga9ina9gnpp9ycj8lpqkc5hm5qlxb41s4pfg0w6fnnpgmairc";
+
sha256 = "03gb7yqfg3p11v0zaibwkcd9klr2dbvjhxc2hvhkq41n915bgr87";
type = "gem";
};
-
version = "1.0.5";
+
version = "1.0.9";
};
curses = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "00y9g79lzfffxarj3rmhnkblsnyx7izx91mh8c1sdcs9y2pdfq53";
+
sha256 = "0ywack2dm2q67qb2an0fagzbmwm7gcizw02arp87d7bhkx8h770y";
type = "gem";
};
-
version = "1.4.4";
+
version = "1.4.7";
};
daemons = {
groups = [ "default" ];
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "149jknsq999gnhy865n33fkk22s0r447k76x9pmcnnwldfv2q7wp";
+
sha256 = "0kz6mc4b9m49iaans6cbx031j9y7ldghpi5fzsdh0n3ixwa8w9mz";
type = "gem";
};
-
version = "3.3.4";
+
version = "3.4.1";
};
dentaku = {
dependencies = [ "concurrent-ruby" ];
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "1znxccz83m4xgpd239nyqxlifdb7m8rlfayk6s259186nkgj6ci7";
+
sha256 = "1m3cv0ynmxq93axp6kiby9wihpsdj42y6s3j8bsf5a1p7qzsi98j";
type = "gem";
};
-
version = "1.5.1";
+
version = "1.6.1";
};
differ = {
groups = [ "default" ];
···
version = "1.0.2";
};
dip = {
-
dependencies = [ "thor" ];
+
dependencies = [
+
"json-schema"
+
"public_suffix"
+
"thor"
+
];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "0vpj7mxfyjjyhqmxrbwgf03b4m4wq4bmcbka66jarp1nsqsxya28";
+
sha256 = "0b3p0mjz6l4dya5k8z0nsq186r1yvkbkrwaqgrg23lr96l24r381";
type = "gem";
};
-
version = "8.0.0";
+
version = "8.2.5";
};
dnsruby = {
-
dependencies = [ "simpleidn" ];
+
dependencies = [
+
"base64"
+
"simpleidn"
+
];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "069402nn1sb63bslp9p5mcbn90zzzj6549ykxa4km0klb1l1klxr";
+
sha256 = "0ys49x6lsy1cly3w9w4zrivv0lg8rqsdbp9q2ix05d3494dbsjkn";
type = "gem";
};
-
version = "1.72.0";
+
version = "1.72.3";
};
do_sqlite3 = {
dependencies = [ "data_objects" ];
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "1lxqxgq71rqwj1lpl9q1mbhhhhhhdkkj7my341f2889pwayk85sz";
+
sha256 = "07pj4z3h8wk4fgdn6s62vw1lwvhj0ac0x10vfbdkr9xzk7krn5cn";
type = "gem";
};
-
version = "1.4.0";
+
version = "1.4.1";
};
domain_name = {
groups = [ "default" ];
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "1d5jv27p3gpj68pc1cxj3cp1bs11r25w2336sndsdfkx34p6hzlb";
+
sha256 = "1wrw6fm0s38cd6h55w79bkvjhcj2zfkargjpws4kilkmhr3xyw66";
type = "gem";
};
-
version = "3.1.0";
+
version = "3.1.7";
};
drb = {
groups = [ "default" ];
···
};
version = "2.2.1";
};
-
e2mmap = {
-
groups = [ "default" ];
-
platforms = [ ];
-
source = {
-
remotes = [ "https://rubygems.org" ];
-
sha256 = "0n8gxjb63dck3vrmsdcqqll7xs7f3wk78mw8w0gdk9wp5nx6pvj5";
-
type = "gem";
-
};
-
version = "0.1.0";
-
};
-
em-http-request = {
-
dependencies = [
-
"addressable"
-
"cookiejar"
-
"em-socksify"
-
"eventmachine"
-
"http_parser.rb"
-
];
-
groups = [ "default" ];
-
platforms = [ ];
-
source = {
-
remotes = [ "https://rubygems.org" ];
-
sha256 = "1azx5rgm1zvx7391sfwcxzyccs46x495vb34ql2ch83f58mwgyqn";
-
type = "gem";
-
};
-
version = "1.1.7";
-
};
-
em-socksify = {
-
dependencies = [ "eventmachine" ];
-
groups = [ "default" ];
-
platforms = [ ];
-
source = {
-
remotes = [ "https://rubygems.org" ];
-
sha256 = "0rk43ywaanfrd8180d98287xv2pxyl7llj291cwy87g1s735d5nk";
-
type = "gem";
-
};
-
version = "0.3.3";
-
};
elftools = {
dependencies = [ "bindata" ];
groups = [ "default" ];
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "0g2jghbn2pmi1k8lnqbslyjix2rablalp4gjjsh4k9gxpvx5r1x1";
+
sha256 = "1nd46v4d6x5hr6afwx06rs7vqgjf1gb4rssnpa3a89wqgf4qilb4";
type = "gem";
};
-
version = "0.7.2";
+
version = "0.7.3";
};
erubi = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "08s75vs9cxlc4r1q2bjg4br8g9wc5lc5x5vl0vv4zq5ivxsdpgi7";
+
sha256 = "1naaxsqkv5b3vklab5sbb9sdpszrjzlfsbqpy7ncbnw510xi10m0";
type = "gem";
};
-
version = "1.12.0";
+
version = "1.13.1";
};
ethon = {
dependencies = [ "ffi" ];
···
version = "1.2.7";
};
excon = {
+
dependencies = [ "logger" ];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "1m3gzvp1wqki0yh4b7761qhdy4pyr4phy429b7s9w25nrkhp4lsz";
+
sha256 = "17asr18vawi08g3wbif0wdi8bnyj01d125saydl9j1f03fv0n16a";
type = "gem";
};
-
version = "0.110.0";
+
version = "1.2.5";
};
execjs = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "1yywajqlpjhrj1m43s3lfg3i4lkb6pxwccmwps7qw37ndmphdzg8";
+
sha256 = "03a590q16nhqvfms0lh42mp6a1i41w41qpdnf39zjbq5y3l8pjvb";
type = "gem";
};
-
version = "2.9.1";
+
version = "2.10.0";
};
faraday = {
-
dependencies = [ "faraday-net_http" ];
+
dependencies = [
+
"faraday-net_http"
+
"json"
+
"logger"
+
];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "1qqb1rmk0f9m82iijjlqadh5yby1bhnr6svjk9vxdvh6f181988s";
+
sha256 = "1mls9g490k63rdmjc9shqshqzznfn1y21wawkxrwp2vvbk13jwqm";
type = "gem";
};
-
version = "2.9.0";
+
version = "2.12.2";
};
faraday-net_http = {
dependencies = [ "net-http" ];
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "17w51yk4rrm9rpnbc3x509s619kba0jga3qrj4b17l30950vw9qn";
+
sha256 = "0jp5ci6g40d6i50bsywp35l97nc2fpi9a592r2cibwicdb6y9wd1";
type = "gem";
};
-
version = "3.1.0";
+
version = "3.4.0";
};
ffi = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "1yvii03hcgqj30maavddqamqy50h7y6xcn2wcyq72wn823zl4ckd";
+
sha256 = "0fgwn1grxf4zxmyqmb9i4z2hr111585n9jnk17y6y7hhs7dv1xi6";
type = "gem";
};
-
version = "1.16.3";
+
version = "1.17.1";
};
ffi-compiler = {
dependencies = [
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "0x504023g56y32r81l6i4pqbhn46szzy6s5bcdlc7kb5iv1iigar";
+
sha256 = "1as92bp6pgkab73kj3mh5d1idjr9wykczz7r9i1pkn82wq4xks3r";
type = "gem";
};
-
version = "1.1.2";
+
version = "1.1.6";
};
fog-core = {
dependencies = [
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "0p2xiw0n4l1k3ynma1vl0fzw5w8xhkv70x4f829nydxv7hply80y";
+
sha256 = "1rjv4iqr64arxv07bh84zzbr1y081h21592b5zjdrk937al8mq1z";
type = "gem";
};
-
version = "2.4.0";
+
version = "2.6.0";
};
fog-dnsimple = {
dependencies = [
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "0nbzvmg3aa0r9iadkpiz3fzr1dnv09vx6bi7cc5wgpg13d3i3rbl";
+
sha256 = "12ly1k3rscybpp1dm5yaaqczi9d17dll5f4n9s2ypqgxymjdljad";
type = "gem";
};
-
version = "4.2.1";
+
version = "4.2.9";
};
gdk_pixbuf2 = {
dependencies = [ "gio2" ];
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "1lrs0g6s5l050ld8mfjscijg0iycx9hq2wgdwc76y3nm47gs78na";
+
sha256 = "0bxmyyrbnx827zr2kpb1d637ap8kzhaxllj2h7vx4n0q9glw7mi2";
type = "gem";
};
-
version = "4.2.1";
+
version = "4.2.9";
};
gemoji = {
groups = [ "default" ];
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "16h0kda5z4s4zqygyk0f52xzs9mlz9r4lnhjwk729hhmdbz68a19";
+
sha256 = "0aji3873pxn6gc5qkvnv5y9025mqk0p6h22yrpyz2b3yx9qpzv03";
type = "gem";
};
-
version = "3.4.9";
+
version = "3.5.1";
};
gio2 = {
dependencies = [
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "1zpz71ybilrk7i9ym7jx807fza22sdjm18l6qydds3gm7bpybvdz";
+
sha256 = "1z958fb5kg28glazqmbha2wx43nr7lq1qvivqnrslmxcaszmlnb3";
type = "gem";
};
-
version = "4.2.1";
+
version = "4.2.9";
};
git = {
dependencies = [
+
"activesupport"
"addressable"
+
"process_executer"
"rchardet"
];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "0w3xhay1z7qx9ab04wmy5p4f1fadvqa6239kib256wsiyvcj595h";
+
sha256 = "0h026bb5j5m86l4gasx462im6in467picr56pixj1nc0fami47lm";
type = "gem";
};
-
version = "1.19.1";
+
version = "3.0.0";
};
github-pages = {
dependencies = [
···
"nokogiri"
"rouge"
"terminal-table"
+
"webrick"
];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "0608fr1ggyrk2f6pfc4zwy9i9prkxx0dsfb4k9j8s249kczqmlbr";
+
sha256 = "11r22g1j9x2gjaxjk78z2nm5wkirsjlz8iswwi67wqi7fcyljh1b";
type = "gem";
};
-
version = "231";
+
version = "232";
};
github-pages-health-check = {
dependencies = [
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "1m3ypny84jyvlxf060p3q3d8pb4yihxa2br5hh012bgc11d09nky";
+
sha256 = "0bm0zccj88aavy23vqy1pkz4gmbw6gdb40n0wqlz7a332j3iq6lm";
type = "gem";
};
-
version = "1.9.0";
+
version = "2.0.0";
};
glib2 = {
dependencies = [
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "0lbvk3jz21kw811hn411xvql7l14bb8kfnqc10inkkyli3a2ifv3";
+
sha256 = "1sz4f938vy3iivnfp6r3g290x8a9xbj951n8v59xyb3v89wdndx4";
type = "gem";
};
-
version = "4.2.1";
+
version = "4.2.9";
};
globalid = {
dependencies = [ "activesupport" ];
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "08ysbhg8njdf1sb4mmx90baswqbya5ihw8kyym3rw43sl2gswnsk";
+
sha256 = "0p77n5dppphnl1y7kxv8hrj8x7crapb3zcrzkb7pd9rksdcxih1s";
type = "gem";
};
-
version = "4.2.1";
+
version = "4.2.9";
};
gpgme = {
dependencies = [ "mini_portile2" ];
···
gtk3 = {
dependencies = [
"atk"
-
"cairo"
"gdk3"
];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "1hk0anmyczicvjzri5pdj6f65ibf1pyarychayhzxjl50n9sf1wd";
+
sha256 = "0npdbdk8a6mgbbw69j435azamdmcnx9wx5i708j9h9x1wdc6gafy";
type = "gem";
};
-
version = "4.2.1";
+
version = "4.2.9";
};
haml = {
dependencies = [
···
version = "5.0.0";
};
highline = {
+
dependencies = [ "reline" ];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "02ghhvigqbq4252gsi4w8a9klkdkybmbz29ghfp1y6sqzlcb466a";
+
sha256 = "0jmvyhjp2v3iq47la7w6psrxbprnbnmzz0hxxski3vzn356x7jv7";
type = "gem";
};
-
version = "3.0.1";
+
version = "3.1.2";
};
hike = {
groups = [ "default" ];
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "0ix9rp9rsrwin38z2aqiwpxc8p2dzl6m3ra47az47fsija1cb2qf";
+
sha256 = "0bx09c9zfjhp3pbyvsf8il9sdn64mnydcxs13mqk574ngvccmhm9";
type = "gem";
};
-
version = "2.0.0";
+
version = "3.1.0";
};
hpricot = {
groups = [ "default" ];
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "13rilvlv8kwbzqfb644qp6hrbsj82cbqmnzcvqip1p6vqx36sxbk";
+
sha256 = "19hsskzk5zpv14mnf07pq71hfk1fsjwfjcw616pgjjzjbi2f0kxi";
type = "gem";
};
-
version = "1.0.5";
+
version = "1.0.8";
};
http-form_data = {
groups = [ "default" ];
···
version = "0.8.0";
};
httpclient = {
+
dependencies = [ "mutex_m" ];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "19mxmvghp7ki3klsxwrlwr431li7hm1lczhhj8z4qihl2acy8l99";
+
sha256 = "1j4qwj1nv66v3n9s4xqf64x2galvjm630bwa5xngicllwic5jr2b";
type = "gem";
};
-
version = "2.8.3";
+
version = "2.9.0";
};
i18n = {
dependencies = [ "concurrent-ruby" ];
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "0lbm33fpb3w06wd2231sg58dwlwgjsvym93m548ajvl6s3mfvpn7";
+
sha256 = "03sx3ahz1v5kbqjwxj48msw3maplpp2iyzs22l4jrzrqh4zmgfnf";
type = "gem";
};
-
version = "1.14.4";
+
version = "1.14.7";
};
iconv = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "00fppiz9ypy7xpc08xdk6glq842rbc69c7a1p0kmv195271i4yqv";
+
sha256 = "1s10cwzm54vps35bqadgyksc7i0zkdaxjry8kkz6w65aag7dkmwa";
type = "gem";
};
-
version = "1.0.8";
+
version = "1.1.0";
};
idn-ruby = {
groups = [ "default" ];
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "08d2lx42pa8jjav0lcjbzfzmw61b8imxr9041pva8xzqabrczp7h";
+
sha256 = "18pgvl7lfjpichdfh1g50rpz0zpaqrpr52ybn9liv1v9pjn9ysnd";
type = "gem";
};
-
version = "0.7.2";
+
version = "0.8.0";
};
irb = {
dependencies = [
+
"pp"
"rdoc"
"reline"
];
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "17ak21ybbprj9vg0hk8pb1r2yk9vlh50v9bdwh3qvlmpzcvljqq7";
+
sha256 = "1478m97wiy6nwg6lnl0szy39p46acsvrhax552vsh1s2mi2sgg6r";
type = "gem";
};
-
version = "1.12.0";
+
version = "1.15.1";
};
jaro_winkler = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "10fd3i92897blalxfkgc0jjv0qqx31v7cm7j2b6a3b97an0bfz80";
+
sha256 = "09645h5an19zc1i7wlmixszj8xxqb2zc8qlf8dmx39bxpas1l24b";
type = "gem";
};
-
version = "1.5.6";
+
version = "1.6.0";
};
jbuilder = {
dependencies = [
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "1h58xgmp0fqpnd6mvw0zl0f76119v8lnf4xabqhckbzl6jrk8qpa";
+
sha256 = "1mi7s8kida8rg754bzgiik2mpdwx55x7wxd9ny0sm0803j5a603j";
type = "gem";
};
-
version = "2.11.5";
+
version = "2.13.0";
};
jekyll = {
dependencies = [
"addressable"
"colorator"
+
"csv"
"em-websocket"
"i18n"
"jekyll-sass-converter"
···
"pathutil"
"rouge"
"safe_yaml"
+
"webrick"
];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "1w36kbn1ijbqfn33xbx14rpzr6adgiw2ip5g95jrzi1nh3qraan2";
+
sha256 = "144dvgqffkkp34763hj0wh1qabd0fq22sx7bk7afgpy73mv3n8f4";
type = "gem";
};
-
version = "3.9.5";
+
version = "3.10.0";
};
jekyll-archives = {
dependencies = [ "jekyll" ];
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "0c2rks7xf6ajp18h4f4wmmbqm5ljprv70bqcz2sabi17zncmz9n0";
+
sha256 = "1xkm6f0zvb7mb89nyqncids1rqm6a90smjg23zlaryqj4bi8rg9d";
type = "gem";
};
-
version = "2.2.1";
+
version = "2.3.0";
};
jekyll-avatar = {
dependencies = [ "jekyll" ];
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "1zps7bb9kc4qf32b9y9h47z08wpsziklg0jnhcrcz2wxn09fijgd";
+
sha256 = "19544wfdcdh52qw76m6ayv6zbdabqv9wdfp1wqjmdr4k6gr24rym";
type = "gem";
};
-
version = "0.4.0";
-
};
-
jekyll-compose = {
-
dependencies = [ "jekyll" ];
-
groups = [ "default" ];
-
platforms = [ ];
-
source = {
-
remotes = [ "https://rubygems.org" ];
-
sha256 = "1ny8xps0mrmx2w0xxc9rwa15ch1wkxvdrzxiwnqramqwja566y04";
-
type = "gem";
-
};
-
version = "0.12.0";
+
version = "0.5.1";
};
jekyll-default-layout = {
dependencies = [ "jekyll" ];
···
dependencies = [
"jekyll"
"mini_magick"
-
"rexml"
];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "0dyksm4i11n0qshd7wh6dvk8d0fc70dd32ir2dxs6igxq0gd6hi1";
+
sha256 = "0gxz6db4gdz2x305xlfxi3lanndbx2nagqfl8qjnjzshxzq7zdyr";
type = "gem";
};
-
version = "1.1.0";
+
version = "0.2.9";
};
jekyll-feed = {
dependencies = [ "jekyll" ];
···
};
jekyll-webmention_io = {
dependencies = [
-
"activesupport"
"htmlbeautifier"
"jekyll"
"json"
-
"jsonpath"
"openssl"
+
"string_inflection"
"uglifier"
"webmention"
];
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "0kkxvr1gfbmfbhy13syq4pqwmfqwhnbfcwjiqrwahf99gfcj5izh";
+
sha256 = "003lwcl00l13c5r1i1zk5q1p8m50nv83w6h3j2mij6hs2aaz1zwb";
type = "gem";
};
-
version = "4.0.0";
+
version = "3.3.7";
};
jemoji = {
dependencies = [
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "0r9jmjhg2ly3l736flk7r2al47b5c8cayh0gqkq0yhjqzc9a6zhq";
+
sha256 = "01lbdaizhkxmrw4y8j3wpvsryvnvzmg0pfs56c52laq2jgdfmq1l";
type = "gem";
};
-
version = "2.7.1";
+
version = "2.10.2";
};
-
json_pure = {
+
json-schema = {
+
dependencies = [
+
"addressable"
+
"bigdecimal"
+
];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "09w7f7xlcas9irlaavhz0rnh17cjvjmmqm07drgghx5gwjcrar31";
+
sha256 = "1gzrf6q4d9kbixj6bpi2bp8dizmqxcmlq30ni86h3ifzpkcrm0mk";
type = "gem";
};
-
version = "2.7.1";
+
version = "5.1.1";
};
-
jsonpath = {
-
dependencies = [ "multi_json" ];
+
json_pure = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "0xxklfvmwz8z6l08704x65gnq6r8r1pb9qk125qjbndnb1zz6fsp";
+
sha256 = "1kks889ymaq5xqvj18qamar3il8m3dnnaf6cij0a0kwxp8lpk1va";
type = "gem";
};
-
version = "1.0.7";
+
version = "2.8.1";
};
jwt = {
dependencies = [ "base64" ];
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "02m3vza49pb9dirwpn8vmzbcypi3fc6l3a9dh253jwm1121g7ajb";
-
type = "gem";
-
};
-
version = "2.8.1";
-
};
-
kdl = {
-
dependencies = [
-
"base64"
-
"bigdecimal"
-
"simpleidn"
-
];
-
groups = [ "default" ];
-
platforms = [ ];
-
source = {
-
remotes = [ "https://rubygems.org" ];
-
sha256 = "02kpqgss9psmxb1c2gzq6l5i41ykskwqiacppqdm86ky0f88j6cb";
+
sha256 = "1i8wmzgb5nfhvkx1f6bhdwfm7v772172imh439v3xxhkv3hllhp6";
type = "gem";
};
-
version = "1.0.4";
+
version = "2.10.1";
};
keystone-engine = {
dependencies = [ "ffi" ];
···
};
kramdown-rfc2629 = {
dependencies = [
+
"base64"
"certified"
"differ"
"json_pure"
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "00sms1hsjsw3w9a7z4qn3sl1dhkjg9wfnfmjbxk6n5glz7ymfwnj";
-
type = "gem";
-
};
-
version = "1.7.8";
-
};
-
launchy = {
-
dependencies = [
-
"addressable"
-
"childprocess"
-
"logger"
-
];
-
groups = [ "default" ];
-
platforms = [ ];
-
source = {
-
remotes = [ "https://rubygems.org" ];
-
sha256 = "4964ae775cd802f5a57ae5584fbdb1151a8908cb0c626341563430d614a59572";
+
sha256 = "05csr84kb0jk4iciy09zz73a535nbyq27vv1mp1529y577d7ivsl";
type = "gem";
};
-
version = "3.1.0";
+
version = "1.7.27";
};
language_server-protocol = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "0gvb1j8xsqxms9mww01rmdl78zkd72zgxaap56bhv8j45z05hp1x";
+
sha256 = "0scnz2fvdczdgadvjn0j9d49118aqm3hj66qh8sd2kv6g1j65164";
type = "gem";
};
-
version = "3.17.0.3";
+
version = "3.17.0.4";
};
libxml-ruby = {
groups = [ "default" ];
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "13rgkfar8pp31z1aamxf5y7cfq88wv6rxxcwy7cmm177qq508ycn";
+
sha256 = "0rwwsmvq79qwzl6324yc53py02kbrcww35si720490z5w0j497nv";
type = "gem";
};
-
version = "3.8.0";
+
version = "3.9.0";
};
llhttp-ffi = {
dependencies = [
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "1yph78m8w8l6i9833fc7shy5krk4mnqjc7ys0bg9kgxw8jnl0vs9";
+
sha256 = "1g57iw0l3y7x50132x6a1jyssxa6pw7srh69g0d6j7ri37yaf9cs";
type = "gem";
};
-
version = "0.5.0";
+
version = "0.5.1";
};
locale = {
groups = [ "default" ];
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "c3cfe56d01656490ddd103d38b8993d73d86296adebc5f58cefc9ec03741e56b";
+
sha256 = "00q2zznygpbls8asz5knjvvj2brr3ghmqxgr83xnrdj4rk3xwvhr";
type = "gem";
};
-
version = "1.6.5";
+
version = "1.7.0";
};
loofah = {
dependencies = [
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "1zkjqf37v2d7s11176cb35cl83wls5gm3adnfkn2zcc61h3nxmqh";
+
sha256 = "07pfa5kgl7k2hxlzzn89qna6bmiyrxlchgbzi0885frsi08agrk1";
type = "gem";
};
-
version = "2.22.0";
+
version = "2.24.0";
};
mab = {
groups = [ "default" ];
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "0da76p1gvfabm49a0g0pppxgcdackw8f3qhljalqykd4d5mb828j";
+
sha256 = "1vizqpa9pks5nlqj0jjx2d1q6f9vfmjjbb774v1kp591pq5nhmcm";
type = "gem";
};
-
version = "0.9.3";
+
version = "0.9.4";
};
matrix = {
groups = [ "default" ];
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "1pnyh44qycnf9mzi1j6fywd5fkskv3x7nmsqrrws0rjn5dd4ayfp";
+
sha256 = "1igmc3sq9ay90f8xjvfnswd1dybj1s3fi0dwd53inwsvqk4h24qq";
type = "gem";
};
-
version = "1.0.0";
+
version = "1.1.0";
};
mime-types = {
-
dependencies = [ "mime-types-data" ];
+
dependencies = [
+
"logger"
+
"mime-types-data"
+
];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "1r64z0m5zrn4k37wabfnv43wa6yivgdfk6cf2rpmmirlz889yaf1";
+
sha256 = "1bv08jvx1g9ifjdyrp5hgalxkv7qxwfmfx0ba43ncrbfda7182b1";
type = "gem";
};
-
version = "3.5.2";
+
version = "3.6.2";
};
mime-types-data = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "00x7w5xqsj9m33v3vkmy23wipkkysafksib53ypzn27p5g81w455";
+
sha256 = "0s66lgmrwigp888j9nrrcsyzspxnq4wh0a8qlp11cchb7gjf0mw5";
type = "gem";
};
-
version = "3.2024.0305";
+
version = "3.2025.0325";
};
mini_magick = {
+
dependencies = [
+
"benchmark"
+
"logger"
+
];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "0slh78f9z6n0l1i2km7m48yz7l4fjrk88sj1f4mh1wb39sl2yc37";
+
sha256 = "0jiz4jqsrmgnkyvpmsq2vicmvdqa6q2ibzx93lnj8f0xvfzzymr7";
type = "gem";
};
-
version = "4.12.0";
+
version = "5.2.0";
};
mini_mime = {
groups = [ "default" ];
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "1kl9c3kdchjabrihdqfmcplk3lq4cw1rr9f378y6q22qwy5dndvs";
+
sha256 = "0x8asxl83msn815lwmb2d7q5p29p7drhjv5va0byhk60v9n16iwf";
type = "gem";
};
-
version = "2.8.5";
+
version = "2.8.8";
};
minima = {
dependencies = [
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "07lq26b86giy3ha3fhrywk9r1ajhc2pm2mzj657jnpnbj1i6g17a";
+
sha256 = "0mn7q9yzrwinvfvkyjiz548a4rmcwbmz2fn9nyzh4j1snin6q6rr";
type = "gem";
};
-
version = "5.22.3";
+
version = "5.25.5";
};
msgpack = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "1a5adcb7bwan09mqhj3wi9ib52hmdzmqg7q08pggn3adibyn5asr";
+
sha256 = "0cnpnbn2yivj9gxkh8mjklbgnpx6nf7b8j2hky01dl0040hy0k76";
type = "gem";
};
-
version = "1.7.2";
+
version = "1.8.0";
};
multi_json = {
groups = [ "default" ];
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "0rwbq20s2gdh8dljjsgj5s6wqqfmnbclhvv2c2608brv7jm6jdbd";
+
sha256 = "123ycmq6pkivv29bqbv79jv2cs04xakzd0fz1lalgvfs5nxfky6i";
type = "gem";
};
-
version = "3.0.0";
+
version = "3.0.3";
};
mutex_m = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "1ma093ayps1m92q845hmpk0dmadicvifkbf05rpq9pifhin0rvxn";
+
sha256 = "0l875dw0lk7b2ywa54l0wjcggs94vb7gs8khfw9li75n2sn09jyg";
type = "gem";
};
-
version = "0.2.0";
+
version = "0.3.0";
};
mysql2 = {
groups = [ "default" ];
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "10n2n9aq00ih8v881af88l1zyrqgs5cl3njdw8argjwbl5ggqvm9";
+
sha256 = "1ysrwaabhf0sn24jrp0nnp51cdv0jf688mh5i6fsz63q2c6b48cn";
type = "gem";
};
-
version = "0.4.1";
+
version = "0.6.0";
};
net-http-persistent = {
dependencies = [ "connection_pool" ];
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "0i1as2lgnw7b4jid0gw5glv5hnxz36nmfsbr9rmxbcap72ijgy03";
+
sha256 = "13psmr8009wwknainvns5jidhvjsknffb6k7mzz0yrby6h5qhhkf";
type = "gem";
};
-
version = "4.0.2";
+
version = "4.0.5";
};
net-imap = {
dependencies = [
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "0zn7j2w0hc622ig0rslk4iy6yp3937dy9ibhyr1mwwx39n7paxaj";
+
sha256 = "1rgva7p9gvns2ndnqpw503mbd36i2skkggv0c0h192k8xr481phy";
type = "gem";
};
-
version = "0.4.10";
+
version = "0.5.6";
};
net-pop = {
dependencies = [ "net-protocol" ];
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "1si2nq9l6jy5n2zw1q59a5gaji7v9vhy8qx08h4fg368906ysbdk";
+
sha256 = "0p8s7l4pr6hkn0l6rxflsc11alwi1kfg5ysgvsq61lz5l690p6x9";
type = "gem";
};
-
version = "4.0.0";
+
version = "4.1.0";
};
net-smtp = {
dependencies = [ "net-protocol" ];
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "0amlhz8fhnjfmsiqcjajip57ici2xhw089x7zqyhpk51drg43h2z";
+
sha256 = "0dh7nzjp0fiaqq1jz90nv4nxhc2w359d7c199gmzq965cfps15pd";
type = "gem";
};
-
version = "0.5.0";
+
version = "0.5.1";
};
net-ssh = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "1i01340c4i144vvn3x54lc2rb77ch829qipl1rh6rqwm3yxzml9w";
+
sha256 = "1w1ypxa3n6mskkwb00b489314km19l61p5h3bar6zr8cng27c80p";
type = "gem";
};
-
version = "7.2.1";
+
version = "7.3.0";
};
netrc = {
groups = [ "default" ];
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "15iwbiij52x6jhdbl0rkcldnhfndmsy0sbnsygkr9vhskfqrp72m";
+
sha256 = "1a9www524fl1ykspznz54i0phfqya4x45hqaz67in9dvw1lfwpfr";
type = "gem";
};
-
version = "2.7.1";
+
version = "2.7.4";
};
nokogiri = {
dependencies = [
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "0j72sg8n8834vbw2x8glcp46y5r2dls2pj64ll7rmf6mri9s52j9";
+
sha256 = "0cgv8vzp7kl20ip8qdzmrbr1vaaw4mjjy4mksg8k13z4xxfzyqvb";
type = "gem";
};
-
version = "1.16.3";
+
version = "1.18.7";
};
observer = {
groups = [ "default" ];
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "054d6ybgjdzxw567m7rbnd46yp6gkdbc5ihr536vxd3p15vbhjrw";
+
sha256 = "0ygfbbs3c61d32ymja2k6sznj5pr540cip9z91lhzcvsr4zmffpz";
type = "gem";
};
-
version = "3.2.0";
+
version = "3.3.0";
};
optimist = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "sha256-gYhvU+6JGfMwqjAHbTINiO75vIWq4idTdrSvsAfGkmA=";
+
sha256 = "0kp3f8g7g7cbw5vfkmpdv71pphhpcxk3lpc892mj9apkd7ys1y4c";
type = "gem";
};
-
version = "3.1.0";
+
version = "3.2.1";
};
opus-ruby = {
dependencies = [ "ffi" ];
···
};
version = "1.1.4";
};
+
ostruct = {
+
groups = [ "default" ];
+
platforms = [ ];
+
source = {
+
remotes = [ "https://rubygems.org" ];
+
sha256 = "05xqijcf80sza5pnlp1c8whdaay8x5dc13214ngh790zrizgp8q9";
+
type = "gem";
+
};
+
version = "0.6.1";
+
};
ovirt-engine-sdk = {
dependencies = [ "json" ];
groups = [ "default" ];
···
};
pandocomatic = {
dependencies = [
+
"logger"
"optimist"
"paru"
];
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "sha256-Gf4ySW/iE1UP5TWm6/oXsi9lo654hrfa7LBY+nZSTaw=";
+
sha256 = "1b2da9vgln5hxkdbg1kqmsinabxj2zxfp9imwl7ma4z2dx4k5zhr";
type = "gem";
};
version = "2.0.1";
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "1lpl4klg2f1rq8rpsgkmjndkpf4zh2b8jjwryi8s3s5w9lb3314y";
+
sha256 = "0azjsmbcs5k6lc030xcgvfjrjvifdrpzq79x1bxjmgss2mw4lfld";
type = "gem";
};
-
version = "4.2.1";
+
version = "4.2.9";
};
parallel = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "15wkxrg1sj3n1h2g8jcrn7gcapwcgxr659ypjf75z1ipkgxqxwsv";
+
sha256 = "1vy7sjs2pgz4i96v5yk9b7aafbffnvq7nn419fgvw55qlavsnsyq";
type = "gem";
};
-
version = "1.24.0";
+
version = "1.26.3";
};
parser = {
dependencies = [
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "11r6kp8wam0nkfvnwyc1fmvky102r1vcfr84vi2p1a2wa0z32j3p";
+
sha256 = "1awq9rswd3mj8sr5acp1ca6nbkk57zpw8388j7w163i8fhi2h9ib";
type = "gem";
};
-
version = "3.3.0.5";
+
version = "3.3.7.4";
};
paru = {
dependencies = [ "csv" ];
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "sha256-Q0iafTt/9NuoAyxm2U6mWq9J4v1QR0D73ERsqnbIYOs=";
+
sha256 = "1sv0r1valv24vkxl0ishzpi4kbsslr7djric0fldpx3z7dyrlj23";
type = "gem";
};
version = "1.4.1";
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "0523gddx88zql2mq6655k60gy2ac8vybpzkcf90lmd9nx7wl3fi9";
+
sha256 = "029vmc5kbhd9qmq3v2nz7yjhm5xy34gaf69g3ra751q29903gbn4";
type = "gem";
};
-
version = "0.13.3";
+
version = "0.13.4";
};
pcaprub = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "0886fcc5bi0kc0rbma5fj3wa3hbg2nl7ivnbi2j995yzg36zq7xy";
+
sha256 = "0ag6p7n5s1s3mcsqw8rzafz5dlanwwqfkh7sb44qlp0dq8bvh73v";
type = "gem";
};
-
version = "0.13.1";
+
version = "0.13.3";
};
pg = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "071b55bhsz7mivlnp2kv0a11msnl7xg5awvk8mlflpl270javhsb";
+
sha256 = "1p2gqqrm895fzr9vi8d118zhql67bm8ydjvgqbq1crdnfggzn7kn";
type = "gem";
};
-
version = "1.5.6";
+
version = "1.5.9";
};
pkg-config = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "04wi7n51w42v9s958gfmxwkg5iikq25whacyflpi307517ymlaya";
+
sha256 = "0q5nn4z1lgdx6wjpnpf8gicqr50m6ill7mzx7i4s2qvarkxqlm6n";
type = "gem";
};
-
version = "1.5.6";
+
version = "1.6.0";
};
polyglot = {
groups = [ "default" ];
···
};
version = "0.3.5";
};
+
pp = {
+
dependencies = [ "prettyprint" ];
+
groups = [ "default" ];
+
platforms = [ ];
+
source = {
+
remotes = [ "https://rubygems.org" ];
+
sha256 = "1zxnfxjni0r9l2x42fyq0sqpnaf5nakjbap8irgik4kg1h9c6zll";
+
type = "gem";
+
};
+
version = "0.6.2";
+
};
prettier = {
dependencies = [
"syntax_tree"
···
type = "gem";
};
version = "1.2.1";
+
};
+
prettyprint = {
+
groups = [ "default" ];
+
platforms = [ ];
+
source = {
+
remotes = [ "https://rubygems.org" ];
+
sha256 = "14zicq3plqi217w6xahv7b8f7aj5kpxv1j1w98344ix9h5ay3j9b";
+
type = "gem";
+
};
+
version = "0.2.0";
};
prime = {
dependencies = [
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "sRYggpgxsct+bJtGyB/4puNsyz+IjxZEhetzUfOGJzo=";
+
sha256 = "0gkhpdjib9zi9i27vd9djrxiwjia03cijmd6q8yj2q1ix403w3nw";
+
type = "gem";
+
};
+
version = "1.4.0";
+
};
+
process_executer = {
+
groups = [ "default" ];
+
platforms = [ ];
+
source = {
+
remotes = [ "https://rubygems.org" ];
+
sha256 = "0vslspnp4aki1cw4lwk9d5bmjfqwbf5i2wwgimch8cp14wns409v";
type = "gem";
};
version = "1.3.0";
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "0k9kqkd9nps1w1r1rb7wjr31hqzkka2bhi8b518x78dcxppm9zn4";
+
sha256 = "0ssv704qg75mwlyagdfr9xxbzn1ziyqgzm0x474jkynk8234pm8j";
type = "gem";
};
-
version = "0.14.2";
+
version = "0.15.2";
};
pry-byebug = {
dependencies = [
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "1y41al94ks07166qbp2200yzyr5y60hm7xaiw4lxpgsm4b1pbyf8";
+
sha256 = "0wpa3jd46h44rjz3hjwl5c0zfx3jav4a64nm8h0g1iwv61yvn2hb";
type = "gem";
};
-
version = "3.10.1";
+
version = "3.11.0";
};
pry-doc = {
dependencies = [
···
version = "1.5.0";
};
psych = {
-
dependencies = [ "stringio" ];
+
dependencies = [
+
"date"
+
"stringio"
+
];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "0s5383m6004q76xm3lb732bp4sjzb6mxb6rbgn129gy2izsj4wrk";
+
sha256 = "1vjrx3yd596zzi42dcaq5xw7hil1921r769dlbz08iniaawlp9c4";
type = "gem";
};
-
version = "5.1.2";
+
version = "5.2.3";
};
public_suffix = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "1bni4qjrsh2q49pnmmd6if4iv3ak36bd2cckrs6npl111n769k9m";
+
sha256 = "1vb6f3v8q9m67xmbdl4vbmxis53a7igci4blg561jdfp613cf3i5";
type = "gem";
};
-
version = "5.0.4";
+
version = "5.1.1";
};
puma = {
dependencies = [ "nio4r" ];
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "sha256-JKRkXABoEdg/JIAFfR9UqW52J7a5DhyZsmC53GMOtD4=";
+
sha256 = "11xd3207k5rl6bz0qxhcb3zcr941rhx7ig2f19gxxmdk7s3hcp7j";
type = "gem";
};
-
version = "6.4.3";
+
version = "6.6.0";
};
pwntools = {
dependencies = [
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "01b9662zd2x9bp4rdjfid07h09zxj7kvn7f5fghbqhzc625ap1dp";
+
sha256 = "0byn0c9nkahsl93y9ln5bysq4j31q8xkf2ws42swighxd4lnjzsa";
type = "gem";
};
-
version = "1.7.3";
+
version = "1.8.1";
};
rack = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "0x3mijjklsrlzfmwqp7x58fla7sk8pfwijhk988nmba787r8rf9g";
+
sha256 = "0h65a1f9gsqx2ryisdy4lrd9a9l8gdv65dcscw9ynwwjr1ak1n00";
type = "gem";
};
-
version = "3.0.10";
+
version = "3.1.12";
};
rack-protection = {
dependencies = [
"base64"
+
"logger"
"rack"
];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "1xmvcxgm1jq92hqxm119gfk95wzl0d46nb2c2c6qqsm4ra2n3nyh";
+
sha256 = "0sniswjyi0yn949l776h7f67rvx5w9f04wh69z5g19vlsnjm98ji";
type = "gem";
};
-
version = "4.0.0";
+
version = "4.1.1";
};
rack-session = {
-
dependencies = [ "rack" ];
+
dependencies = [
+
"base64"
+
"rack"
+
];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "10afdpmy9kh0qva96slcyc59j4gkk9av8ilh58cnj0qq7q3b416v";
+
sha256 = "1452c1bhh6fdnv17s1z65ajwh08axqnlmkhnr1qyyn2vacb3jz23";
type = "gem";
};
-
version = "2.0.0";
+
version = "2.1.0";
};
rack-test = {
dependencies = [ "rack" ];
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "1ysx29gk9k14a14zsp5a8czys140wacvp91fja8xcja0j1hzqq8c";
+
sha256 = "0qy4ylhcfdn65a5mz2hly7g9vl0g13p5a0rmm6sc0sih5ilkcnh0";
type = "gem";
};
-
version = "2.1.0";
+
version = "2.2.0";
};
rackup = {
-
dependencies = [
-
"rack"
-
"webrick"
-
];
+
dependencies = [ "rack" ];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "0kbcka30g681cqasw47pq93fxjscq7yvs5zf8lp3740rb158ijvf";
+
sha256 = "13brkq5xkj6lcdxj3f0k7v28hgrqhqxjlhd4y2vlicy5slgijdzp";
type = "gem";
};
-
version = "2.1.0";
+
version = "2.2.1";
};
rails = {
dependencies = [
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "sha256-On/KnfdO5kHcHom4MCrG0D8iiD3nceeGoOnzCU5apq0=";
+
sha256 = "1ik4y7c545pb9lf70prv0n4drblwjlaxb22fhq18wf607slabypx";
type = "gem";
};
-
version = "7.1.3.4";
+
version = "8.0.2";
};
rails-dom-testing = {
dependencies = [
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "1w6bqm8d3afc66ff6npnsc2d8ky552n6qzwwwc1bh0wz6c8gplp3";
+
sha256 = "0q55i6mpad20m2x1lg5pkqfpbmmapk0sjsrvr1sqgnj2hb5f5z1m";
type = "gem";
};
-
version = "1.6.1";
+
version = "1.6.2";
};
railties = {
dependencies = [
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "0435sfvhhrd4b2ic9b4c2df3i1snryidx7ry9km4805rpxfdbz2r";
+
sha256 = "1yaw5sw9vxvvkkc335laxv2k34rs2nxx9hdsy604k9wvqi03yz0d";
type = "gem";
};
-
version = "7.1.3.2";
+
version = "8.0.2";
};
rainbow = {
groups = [ "default" ];
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "1ilr853hawi09626axx0mps4rkkmxcs54mapz9jnqvpnlwd3wsmy";
+
sha256 = "17850wcwkgi30p7yqh60960ypn7yibacjjha0av78zaxwvd3ijs6";
type = "gem";
};
-
version = "13.1.0";
+
version = "13.2.1";
};
rb-fsevent = {
groups = [ "default" ];
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "1jm76h8f8hji38z3ggf4bzi8vps6p7sagxn3ab57qc0xyga64005";
+
sha256 = "0vmy8xgahixcz6hzwy4zdcyn2y6d6ri8dqv5xccgzc1r292019x0";
type = "gem";
};
-
version = "0.10.1";
+
version = "0.11.1";
};
rb-readline = {
groups = [ "default" ];
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "0y8yzianlkc9w6sbqy8iy8l0yym0y6x7p5rjflkfixq76fqmhvzk";
+
sha256 = "0q4si2n6m719clr5acb77p6fcryyy9a9xnm90f67n2ir7glk7165";
type = "gem";
};
-
version = "7.1.1";
+
version = "7.1.2";
};
rbs = {
dependencies = [ "logger" ];
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "0drs9n5qn9pifmb752kali7r2sv0laclvchahc670phlv21awdqf";
+
sha256 = "1wpslq5nzfaff13kpdzvskx0ag8cspcndgf3gidc2g8zl40msfw7";
type = "gem";
};
-
version = "3.9.0";
+
version = "3.9.2";
};
rchardet = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "1isj1b3ywgg2m1vdlnr41lpvpm3dbyarf1lla4dfibfmad9csfk9";
+
sha256 = "1455yhd1arccrns3ghhvn4dl6gnrf4zn1xxsaa33ffyqrn399216";
type = "gem";
};
-
version = "1.8.0";
+
version = "1.9.0";
};
rdoc = {
dependencies = [ "psych" ];
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "0ib3cnf4yllvw070gr4bz94sbmqx3haqc5f846fsvdcs494vgxrr";
+
sha256 = "1xvjskc5xp5x4lgrkxqrn7n4rjzgbbjl9yx3ny74xjckjk4xm832";
type = "gem";
};
-
version = "6.6.3.1";
+
version = "6.13.1";
};
re2 = {
dependencies = [ "mini_portile2" ];
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "1lx4wsrk7gd6733sjgrkwmj1x9jalnbfppawqfk0ljnw95c0557c";
+
sha256 = "1n2v1lm3a4alh23r1x12blv9qqckas7cncpn4hk3ar3sdym25604";
type = "gem";
};
-
version = "2.9.0";
+
version = "2.15.0";
};
red-colors = {
dependencies = [
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "1sg9sbf9pm91l7lac7fs4silabyn0vflxwaa2x3lrzsm0ff8ilca";
+
sha256 = "0iglapqs4av4za9yfaac0lna7s16fq2xn36wpk380m55d8792i6l";
type = "gem";
};
-
version = "3.6.0";
+
version = "3.6.1";
};
redis = {
dependencies = [ "redis-client" ];
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "1yv9z3cch7aay3rs2iildk7jnvhijhwyyxvcn2nfdn6yp9vn7kxz";
+
sha256 = "0syhyw1bp9nbb0fvcmm58y1c6iav6xw6b4bzjz1rz2j1d7c012br";
type = "gem";
};
-
version = "5.1.0";
+
version = "5.4.0";
};
redis-client = {
dependencies = [ "connection_pool" ];
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "0irk5j73aqhyv54q3vs88y5rp9a5fkvbdif7zn5q7m5d51h2375w";
+
sha256 = "1fsx10xg4n18w9sr1xa128y4yf0jv5zicrj5ff5n0f1crcwywrgf";
type = "gem";
};
-
version = "0.21.1";
+
version = "0.24.0";
};
redis-rack = {
dependencies = [
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "17mhr1g3lmacrgjndbmrklngy32g55165n53111q70kykx7qjn7j";
+
sha256 = "197d1088jw3wl3lfcdj4w4c4da13wsqyd12mj3czvlfw77ig7i7d";
type = "gem";
};
-
version = "1.10.0";
+
version = "1.11.0";
};
regexp_parser = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "1ndxm0xnv27p4gv6xynk6q41irckj76q1jsqpysd9h6f86hhp841";
+
sha256 = "0qccah61pjvzyyg6mrp27w27dlv6vxlbznzipxjcswl7x3fhsvyb";
type = "gem";
};
-
version = "2.9.0";
+
version = "2.10.0";
};
reline = {
dependencies = [ "io-console" ];
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "1dr6dl0fsj66z3w0q90v467nswn5shmfq1rfsqjh4wzyldq4ak9c";
+
sha256 = "1lirwlw59apc8m1wjk85y2xidiv0fkxjn6f7p84yqmmyvish6qjp";
type = "gem";
};
-
version = "0.5.0";
+
version = "0.6.0";
};
rest-client = {
dependencies = [
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "0087vhw5ik50lxvddicns01clkx800fk5v5qnrvi3b42nrk6885j";
+
sha256 = "195c7yra7amggqj7rir0yr09r4v29c2hgkbkb21mj0jsfs3868mb";
type = "gem";
};
-
version = "2.1.1";
+
version = "3.0.0";
};
rexml = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "1j9p66pmfgxnzp76ksssyfyqqrg7281dyi3xyknl3wwraaw7a66p";
+
sha256 = "1jmbf6lf7pcyacpb939xjjpn1f84c3nw83dy3p1lwjx0l2ljfif7";
type = "gem";
};
-
version = "3.3.9";
+
version = "3.4.1";
};
rmagick = {
dependencies = [
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "1blqchqfbvqrwn9izzqf8wzkgfw6zafyrsl2ksg1w1d9qxj0c15s";
+
sha256 = "09l77gfjqb7k0m3kc2gcldzsss7aybf6pgqbxmra2mhrck0720fz";
type = "gem";
};
-
version = "5.4.4";
+
version = "6.1.1";
};
rouge = {
groups = [ "default" ];
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "0k252n7s80bvjvpskgfm285a3djjjqyjcarlh3aq7a4dx2s94xsm";
+
sha256 = "1r6zbis0hhbik1ck8kh58qb37d1qwij1x1d2fy4jxkzryh3na4r5";
type = "gem";
};
-
version = "3.13.0";
+
version = "3.13.3";
};
rspec-expectations = {
dependencies = [
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "0bhhjzwdk96vf3gq3rs7mln80q27fhq82hda3r15byb24b34h7b2";
+
sha256 = "0n3cyrhsa75x5wwvskrrqk56jbjgdi2q1zx0irllf0chkgsmlsqf";
type = "gem";
};
-
version = "3.13.0";
+
version = "3.13.3";
};
rspec-mocks = {
dependencies = [
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "0rkzkcfk2x0qjr5fxw6ib4wpjy0hqbziywplnp6pg3bm2l98jnkk";
+
sha256 = "1vxxkb2sf2b36d8ca2nq84kjf85fz4x7wqcvb8r6a5hfxxfk69r3";
type = "gem";
};
-
version = "3.13.0";
+
version = "3.13.2";
};
rspec-support = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "03z7gpqz5xkw9rf53835pa8a9vgj4lic54rnix9vfwmp2m7pv1s8";
+
sha256 = "1v6v6xvxcpkrrsrv7v1xgf7sl0d71vcfz1cnrjflpf6r7x3a58yf";
type = "gem";
};
-
version = "3.13.1";
+
version = "3.13.2";
};
rubocop = {
dependencies = [
"json"
"language_server-protocol"
+
"lint_roller"
"parallel"
"parser"
"rainbow"
"regexp_parser"
-
"rexml"
"rubocop-ast"
"ruby-progressbar"
"unicode-display_width"
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "13bif1z20kqq8aaglj7352qpfkzbd8p8rd7lak335szxziqrn8rs";
+
sha256 = "0p9bq6dpvakndircsr4415vrp76hxjy1lxzy4d1j75xscl9ipk9m";
type = "gem";
};
-
version = "1.65.1";
+
version = "1.73.2";
};
rubocop-ast = {
-
dependencies = [ "parser" ];
+
dependencies = [
+
"parser"
+
"prism"
+
];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "1v3q8n48w8h809rqbgzihkikr4g3xk72m1na7s97jdsmjjq6y83w";
+
sha256 = "16mp7ppf3p516zs0iwbpqkn7fxs8iw12jargrc905qbc6fg69kcj";
type = "gem";
};
-
version = "1.31.2";
+
version = "1.43.0";
};
rubocop-performance = {
dependencies = [
+
"lint_roller"
"rubocop"
"rubocop-ast"
];
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "16jayzjaaglhx69s6b83acpdzcxxccfkcn69gfpkimf2j64zlm7c";
+
sha256 = "1da08idjsdclcm9cimjbvd1jz2gm6z62fsc8mywrb0rn7vzkkgg5";
type = "gem";
};
-
version = "1.21.0";
+
version = "1.24.0";
};
ruby-graphviz = {
dependencies = [ "rexml" ];
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "0v6vj5vs9v01zr00bflqpfczhwcyc6jdf8k2dqn42lq6d87si77d";
+
sha256 = "0r0igmwr22pi3dkkg1p79hjf8mr178qnz83q8fnaj87x7zk3qfyg";
type = "gem";
};
-
version = "0.8.2";
+
version = "0.8.4";
};
ruby-lsp = {
dependencies = [
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "0rmqhp7v4k3xdz6d9sbb0xjyk2519zrk8lr3hpyrv9xa9jyxn6hn";
+
sha256 = "0j4zcp7nncrr6sn0m3scnqsxcf7j2v82pxcd7p3436m70ncmm1x1";
type = "gem";
};
-
version = "0.23.12";
+
version = "0.23.13";
};
ruby-lxc = {
groups = [ "default" ];
···
version = "0.1.1";
};
ruby-vips = {
-
dependencies = [ "ffi" ];
+
dependencies = [
+
"ffi"
+
"logger"
+
];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "0yycazz91ywwwv2iz3fgjkfn1z687bl4z5jjn7cwmky507b43652";
+
sha256 = "14nwdsd73c4ygjb7sfldnndlbzn5yyl02llnlzafmmjwh0d2pla1";
type = "gem";
};
-
version = "2.2.1";
+
version = "2.2.3";
};
ruby2_keywords = {
groups = [ "default" ];
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "04bz2jw3ida07mgk450l9m6xklhzbv0z4s6ak6bl7vp4rhcy41f8";
+
sha256 = "0cs7z80wnr3spia7mdfqq2gn87sljl9hw08cxqsz0yiin8i1xd16";
type = "gem";
};
-
version = "2.5.0";
+
version = "2.5.2";
};
ruby_parser = {
dependencies = [
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "0sy5y7w89ii5iqym7b21glcwxqg8kizxfy8a7kcxq0j65wyqjhiq";
+
sha256 = "1v3g9nc7k154ii99zm0vxxb4jmkjyqy1v08g51jpsa7cbaz1m4wx";
type = "gem";
};
-
version = "3.21.0";
+
version = "3.21.1";
};
rubyserial = {
dependencies = [ "ffi" ];
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "0grps9197qyxakbpw02pda59v45lfgbgiyw48i0mq9f2bn9y6mrz";
+
sha256 = "05an0wz87vkmqwcwyh5rjiaavydfn5f4q1lixcsqkphzvj7chxw5";
type = "gem";
};
-
version = "2.3.2";
+
version = "2.4.1";
};
rugged = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "1sccng15h8h3mcjxfgvxy85lfpswbj0nhmzwwsqdffbzqgsb2jch";
+
sha256 = "1b7gcf6pxg4x607bica68dbz22b4kch33yi0ils6x3c8ql9akakz";
type = "gem";
};
-
version = "1.7.2";
+
version = "1.9.0";
};
safe_yaml = {
groups = [ "default" ];
···
version = "0.9.2";
};
scrypt = {
-
dependencies = [ "ffi-compiler" ];
+
dependencies = [
+
"ffi-compiler"
+
"rake"
+
];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "0jw2bn6mqpw2wbjpmsfz44pppwa6zmhg9lywimm684sxkmlxscbl";
+
sha256 = "1cfhb822q3npfqmvd9xx20rwsphfnarrh5bfp88xs6v8rk29zvsd";
type = "gem";
};
-
version = "3.0.7";
+
version = "3.0.8";
};
seccomp-tools = {
dependencies = [ "os" ];
···
};
version = "1.6.1";
};
+
securerandom = {
+
groups = [ "default" ];
+
platforms = [ ];
+
source = {
+
remotes = [ "https://rubygems.org" ];
+
sha256 = "1cd0iriqfsf1z91qg271sm88xjnfd92b832z49p1nd542ka96lfc";
+
type = "gem";
+
};
+
version = "0.4.1";
+
};
semian = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "0qs5mrjsr2hs03f2c1a611qrvxsk8pqlmhymxgwccwvr6arh3iby";
+
sha256 = "0hp7pfs3ilqr5jlpk9vwrnxl9sdqb9kcy9zlgb21iayrpvzpxxka";
type = "gem";
};
-
version = "0.21.3";
+
version = "0.22.1";
};
sequel = {
dependencies = [ "bigdecimal" ];
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "186wldacv9zdd3bxi85lika9hz6ac09r7kp1h4cjv23436qmsjq2";
+
sha256 = "1s5qhylirrmfbjhdjdfqaiksjlaqmgixl25sxd8znq8dqwqlrydz";
type = "gem";
};
-
version = "5.78.0";
+
version = "5.90.0";
};
sequel_pg = {
dependencies = [
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "01j51vn47ynyhlxpgz6wj8swm3d8g1hrad1678s0sd43kh2hqxdg";
+
sha256 = "1c5r1scy8dwfd8r1i37gqqrg84irs180ml8734lqrldzgyxjkxmg";
type = "gem";
};
-
version = "1.17.1";
+
version = "1.17.2";
};
sexp_processor = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "182x05kpdjlckh31qizws50fz7sjk86yjjfmy45z61q3f930j4ci";
+
sha256 = "1bjx55fxiwl6d7s2ia5v19qbcshwnjv7ixhrcm0xpvjyar9dkw2y";
type = "gem";
};
-
version = "4.17.1";
+
version = "4.17.3";
};
simplecov = {
dependencies = [
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "0yx01bxa8pbf9ip4hagqkp5m0mqfnwnw2xk8kjraiywz4lrss6jb";
+
sha256 = "02zi3rwihp7rlnp9x18c9idnkx7x68w6jmxdhyc0xrhjwrz0pasx";
type = "gem";
};
-
version = "0.12.3";
+
version = "0.13.1";
};
simplecov_json_formatter = {
groups = [ "default" ];
···
version = "0.1.4";
};
simpleidn = {
-
dependencies = [ "unf" ];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "06f7w6ph3bzzqk212yylfp4jfx275shgp9zg3xszbpv1ny2skp9m";
+
sha256 = "0a9c1mdy12y81ck7mcn9f9i2s2wwzjh1nr92ps354q517zq9dkh8";
type = "gem";
};
-
version = "0.2.1";
+
version = "0.2.3";
};
sinatra = {
dependencies = [
+
"logger"
"mustermann"
"rack"
"rack-protection"
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "0za92lv4s7xhgkkm6xxf7ib0b3bsyj8drxgkrskgsb5g3mxnixjl";
+
sha256 = "002dkzdc1xqhvz5sdnj4vb0apczhs07mnpgq4kkd5dd1ka2pp6af";
type = "gem";
};
-
version = "4.0.0";
+
version = "4.1.1";
};
singleton = {
groups = [ "default" ];
···
"backport"
"benchmark"
"diff-lcs"
-
"e2mmap"
"jaro_winkler"
"kramdown"
"kramdown-parser-gfm"
+
"logger"
+
"observer"
+
"ostruct"
"parser"
"rbs"
"reverse_markdown"
···
"thor"
"tilt"
"yard"
+
"yard-solargraph"
];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "0qbjgsrlrwvbywzi0shf3nmfhb52y5fmp9al9nk7c4qqwxyhz397";
+
sha256 = "1lk5kah00nd727667qw070imclnd788kb2s34cp6xl3fz65pfk51";
type = "gem";
};
-
version = "0.50.0";
+
version = "0.53.4";
};
sorbet-runtime = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "10fja24vp16ggxdaw77hcdk0rcz47qpdv8nn2wsgqdr04rrfjjvd";
+
sha256 = "0p9ahcr2914w9w3aig72zv6dl5l6jqwn4jjnqw7z0lkdn7x1z29n";
type = "gem";
};
-
version = "0.5.11319";
+
version = "0.5.11966";
};
sqlite3 = {
dependencies = [ "mini_portile2" ];
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "073hd24qwx9j26cqbk0jma0kiajjv9fb8swv9rnz8j4mf0ygcxzs";
+
sha256 = "0573vgz5ck0hqr8h132ln0hczx53m21h4w42n1p75rj837qjbim1";
type = "gem";
};
-
version = "1.7.3";
+
version = "2.6.0";
};
standard = {
dependencies = [
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "0whz1l232xsf5fq5gxcbandmws8fx37h389n4q4ky1x1p7c7md2n";
+
sha256 = "1461gina65n06xycxxv2d76vszjhwcivf5kj1iv3xifyv1qnpnmh";
type = "gem";
};
-
version = "1.40.0";
+
version = "1.47.0";
};
standard-custom = {
dependencies = [
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "1551dwjwyqy7rckjgcb25k51k6wndn8m37mmbpanr0k4b6v757yy";
+
sha256 = "053ki51v2081mh6z7kgdwkvngfbk3wf9mvak630czh286gprlsn4";
+
type = "gem";
+
};
+
version = "1.7.0";
+
};
+
string_inflection = {
+
groups = [ "default" ];
+
platforms = [ ];
+
source = {
+
remotes = [ "https://rubygems.org" ];
+
sha256 = "0v57afc7rdr58xd6mayf9giifqgav3hqjr54kagi7iki3hn6vjag";
type = "gem";
};
-
version = "1.4.0";
+
version = "0.1.2";
};
stringio = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "063psvsn1aq6digpznxfranhcpmi0sdv2jhra5g0459sw0x2dxn1";
+
sha256 = "1xblh8332bivml93232hg8qr2rhflq9czvij1bgzrbap2rfljb19";
type = "gem";
};
-
version = "3.1.0";
+
version = "3.1.6";
};
syntax_tree = {
dependencies = [ "prettier_print" ];
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "0yvchq3j0splz70796a27hr1v6ifhyab5ddc9fl1x734nhmsy4rb";
+
sha256 = "1bmirkz9lfhbykj3x48z1gv0jl1bfz60yscpl0hmjxrdmcihzfai";
type = "gem";
};
-
version = "1.1.3";
+
version = "2.0.0";
};
temple = {
groups = [ "default" ];
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "1vq1fjp45az9hfp6fxljhdrkv75cvbab1jfrwcw738pnsiqk8zps";
+
sha256 = "1nmymd86a0vb39pzj2cwv57avdrl6pl3lf5bsz58q594kqxjkw7f";
type = "gem";
};
-
version = "1.3.1";
+
version = "1.3.2";
};
thrift = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "0i686137n188lj75nnhfpjz5zs8b4iak8iwpwciwb8lywm860nmv";
+
sha256 = "0sv2y3jmh7snxk0sm8xf0r606aig1zrr64vl64qab4xfkv12zjb2";
type = "gem";
};
-
version = "0.20.0";
+
version = "0.21.0";
};
tilt = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "0p3l7v619hwfi781l3r7ypyv1l8hivp09r18kmkn6g11c4yr1pc2";
+
sha256 = "0szpapi229v3scrvw1pgy0vpjm7z3qlf58m1198kxn70cs278g96";
type = "gem";
};
-
version = "2.3.0";
+
version = "2.6.0";
};
timeout = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "16mvvsmx90023wrhf8dxc1lpqh0m8alk65shb7xcya6a9gflw7vg";
+
sha256 = "03p31w5ghqfsbz5mcjzvwgkw3h9lbvbknqvrdliy8pxmn9wz02cm";
type = "gem";
};
-
version = "0.4.1";
+
version = "0.4.3";
};
tiny_tds = {
+
dependencies = [ "bigdecimal" ];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "1nva5glid3mpwqk0siws74r6qfv89n0amw9ffzwnwlm12cd4ahdm";
+
sha256 = "12hs5qzhah7jkj6hrzv930m816w2hiqvq5qsh7bd4mc4wb012xj9";
type = "gem";
};
-
version = "2.1.7";
+
version = "3.2.0";
};
treetop = {
dependencies = [ "polyglot" ];
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "0adc8qblz8ii668r3rksjx83p675iryh52rvdvysimx2hkbasj7d";
+
sha256 = "1m5fqy7vq6y7bgxmw7jmk7y6pla83m16p7lb41lbqgg53j8x2cds";
type = "gem";
};
-
version = "1.6.12";
+
version = "1.6.14";
};
tty-color = {
groups = [ "default" ];
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "0wgh7bzy68vhv9v68061519dd8samcy8sazzz0w3k8kqpy3g4s5f";
+
sha256 = "1apmqsad2y1avffh79f4lfysfppz94fvpyi7lkkj3z8bn60jpm3m";
type = "gem";
};
-
version = "4.2.0";
+
version = "4.2.1";
};
-
unf = {
-
dependencies = [ "unf_ext" ];
+
unf_ext = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "0bh2cf73i2ffh4fcpdn9ir4mhq8zi50ik0zqa1braahzadx536a9";
+
sha256 = "1sf6bxvf6x8gihv6j63iakixmdddgls58cpxpg32chckb2l18qcj";
type = "gem";
};
-
version = "0.1.4";
+
version = "0.0.9.1";
};
-
unf_ext = {
+
unicode-blocks = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "1sf6bxvf6x8gihv6j63iakixmdddgls58cpxpg32chckb2l18qcj";
+
sha256 = "1k9r44ynr5xwvgqyc3lxx7915vl14z0cmk0392qbz8krjkhvhcdy";
type = "gem";
};
-
version = "0.0.9.1";
+
version = "1.10.0";
};
-
unicode-blocks = {
+
unicode-display_width = {
+
dependencies = [ "unicode-emoji" ];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "0zf98czws958zyniwb0wvcxifpcr850qfp4m9g6q90qpdh9c61s1";
+
sha256 = "1has87asspm6m9wgqas8ghhhwyf2i1yqrqgrkv47xw7jq3qjmbwc";
type = "gem";
};
-
version = "1.9.0";
+
version = "3.1.4";
};
-
unicode-display_width = {
+
unicode-emoji = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "1d0azx233nags5jx3fqyr23qa2rhgzbhv8pxp46dgbg1mpf82xky";
+
sha256 = "0ajk6rngypm3chvl6r0vwv36q1931fjqaqhjjya81rakygvlwb1c";
type = "gem";
};
-
version = "2.5.0";
+
version = "4.0.4";
};
unicode-name = {
dependencies = [ "unicode-types" ];
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "0177232y0di7klwy0nsixbjfs5mym334y6b3lbfczl8953ybdmg6";
+
sha256 = "0n92l6p4lvkbmb0596dzl57ysmkl33c1z7f9msl42568p1fr1dpn";
type = "gem";
};
-
version = "1.12.0";
+
version = "1.13.5";
};
unicode-scripts = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "0m2xcss5nr9q6312c4dir54537skpdmwdp5s7gxgjrsv82pzpjdr";
+
sha256 = "0r3d7qms3syx1ijn027vj4fycy5dzh8bwl99i8ykrgyadx01569d";
type = "gem";
};
-
version = "1.9.0";
+
version = "1.11.0";
};
unicode-types = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "1wlqwz1cq4bis4r2h8ghbp5c56867a86nnzp2pxnlq48mnjnmgww";
+
sha256 = "1mif6v3wlfpb69scikpv7i4zq9rhj19px23iym6j8m3wnnh7d2wi";
type = "gem";
};
-
version = "1.9.0";
+
version = "1.10.0";
};
uri = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "094gk72ckazf495qc76gk09b5i318d5l9m7bicg2wxlrjcm3qm96";
+
sha256 = "04bhfvc25b07jaiaf62yrach7khhr5jlr5bx6nygg8pf11329wp9";
+
type = "gem";
+
};
+
version = "1.0.3";
+
};
+
useragent = {
+
groups = [ "default" ];
+
platforms = [ ];
+
source = {
+
remotes = [ "https://rubygems.org" ];
+
sha256 = "0i1q2xdjam4d7gwwc35lfnz0wyyzvnca0zslcfxm9fabml9n83kh";
type = "gem";
};
-
version = "0.13.0";
+
version = "0.16.11";
};
uuid4r = {
groups = [ "default" ];
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "13qm7s0gr2pmfcl7dxrmq38asaza4w0i2n9my4yzs499j731wh8r";
+
sha256 = "12d9n8hll67j737ym2zw4v23cn4vxyfkb6vyv1rzpwv6y6a3qbdl";
type = "gem";
};
-
version = "1.8.1";
+
version = "1.9.1";
};
websocket-driver = {
-
dependencies = [ "websocket-extensions" ];
+
dependencies = [
+
"base64"
+
"websocket-extensions"
+
];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "1nyh873w4lvahcl8kzbjfca26656d5c6z3md4sbqg5y1gfz0157n";
+
sha256 = "1d26l4qn55ivzahbc7fwc4k4z3j7wzym05i9n77i4mslrpr9jv85";
type = "gem";
};
-
version = "0.7.6";
+
version = "0.7.7";
};
websocket-extensions = {
groups = [ "default" ];
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "109v9vgkry317v5vc3b5dwgxpp1if3q9m26mrpl6052m020q05qx";
+
sha256 = "0wzp988qlq2c88m7ic5nvsarxmgihs5qv3s1x4mvglmjdyvpzq0s";
type = "gem";
};
-
version = "5.1.1";
+
version = "6.0.1";
};
xcodeproj = {
dependencies = [
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "1r0b8w58p7gy06wph1qdjv2p087hfnmhd9jk23vjdj803dn761am";
+
sha256 = "14k9lb9a60r9z2zcqg08by9iljrrgjxdkbd91gw17rkqkqwi1sd6";
type = "gem";
};
-
version = "0.9.36";
+
version = "0.9.37";
+
};
+
yard-solargraph = {
+
dependencies = [ "yard" ];
+
groups = [ "default" ];
+
platforms = [ ];
+
source = {
+
remotes = [ "https://rubygems.org" ];
+
sha256 = "03lklm47k6k294ww97x6zpvlqlyjm5q8jidrixhil622r4cld6m1";
+
type = "gem";
+
};
+
version = "0.1.0";
};
zeitwerk = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "1m67qmsak3x8ixs8rb971azl3l7wapri65pmbf5z886h46q63f1d";
+
sha256 = "0ws6rpyj0y9iadjg1890dwnnbjfdbzxsv6r48zbj7f8yn5y0cbl4";
type = "gem";
};
-
version = "2.6.13";
+
version = "2.7.2";
};
zookeeper = {
groups = [ "default" ];