Merge master into staging-next

This commit is contained in:
github-actions[bot]
2024-12-12 00:15:34 +00:00
committed by GitHub
98 changed files with 3365 additions and 3963 deletions
+1 -1
View File
@@ -179,7 +179,7 @@ jobs:
done
if [[ "$conclusion" != "success" ]]; then
echo "Workflow was not successful, cannot make comparison"
echo "Workflow was not successful (conclusion: $conclusion), cannot make comparison"
exit 0
fi
+30 -7
View File
@@ -1,11 +1,15 @@
# A module for rtkit, a DBus system service that hands out realtime
# scheduling priority to processes that ask for it.
{ config, lib, pkgs, ... }:
{ config, lib, pkgs, utils, ... }:
with lib;
{
let
cfg = config.security.rtkit;
package = pkgs.rtkit;
in {
options = {
@@ -15,24 +19,43 @@ with lib;
description = ''
Whether to enable the RealtimeKit system service, which hands
out realtime scheduling priority to user processes on
demand. For example, the PulseAudio server uses this to
demand. For example, PulseAudio and PipeWire use this to
acquire realtime priority.
'';
};
security.rtkit.args = mkOption {
type = types.listOf types.str;
default = [];
description = ''
Command-line options for `rtkit-daemon`.
'';
example = [
"--our-realtime-priority=29"
"--max-realtime-priority=28"
];
};
};
config = mkIf config.security.rtkit.enable {
config = mkIf cfg.enable {
security.polkit.enable = true;
# To make polkit pickup rtkit policies
environment.systemPackages = [ pkgs.rtkit ];
environment.systemPackages = [ package ];
systemd.packages = [ pkgs.rtkit ];
services.dbus.packages = [ package ];
services.dbus.packages = [ pkgs.rtkit ];
systemd.packages = [ package ];
systemd.services.rtkit-daemon = {
serviceConfig.ExecStart = [
"" # Resets command from upstream unit.
"${package}/libexec/rtkit-daemon ${utils.escapeSystemdExecArgs cfg.args}"
];
};
users.users.rtkit =
{
+9 -2
View File
@@ -892,6 +892,7 @@ in {
rstudio-server = handleTest ./rstudio-server.nix {};
rsyncd = handleTest ./rsyncd.nix {};
rsyslogd = handleTest ./rsyslogd.nix {};
rtkit = runTest ./rtkit.nix;
rtorrent = handleTest ./rtorrent.nix {};
rxe = handleTest ./rxe.nix {};
sabnzbd = handleTest ./sabnzbd.nix {};
@@ -965,8 +966,14 @@ in {
swapspace = handleTestOn ["aarch64-linux" "x86_64-linux"] ./swapspace.nix {};
sway = handleTest ./sway.nix {};
swayfx = handleTest ./swayfx.nix {};
switchTest = handleTest ./switch-test.nix { ng = false; };
switchTestNg = handleTest ./switch-test.nix { ng = true; };
switchTest = runTest {
imports = [ ./switch-test.nix ];
defaults.system.switch.enableNg = false;
};
switchTestNg = runTest {
imports = [ ./switch-test.nix ];
defaults.system.switch.enableNg = true;
};
sx = handleTest ./sx.nix {};
sympa = handleTest ./sympa.nix {};
syncthing = handleTest ./syncthing.nix {};
+216
View File
@@ -0,0 +1,216 @@
{ lib, ... }:
{
name = "rtkit";
meta.maintainers = with lib.maintainers; [ rvl ];
nodes.machine =
{ config, pkgs, ... }:
{
assertions = [
{
assertion = config.security.polkit.enable;
message = "rtkit needs polkit to handle authorization";
}
];
imports = [ ./common/user-account.nix ];
services.getty.autologinUser = "alice";
security.rtkit.enable = true;
# Modified configuration with higher maximum realtime priority.
specialisation.withHigherPrio.configuration = {
security.rtkit.args = [
"--max-realtime-priority=89"
"--our-realtime-priority=90"
];
};
# Target process for testing - belongs to a logind session.
systemd.user.services.sleeper = {
description = "Guinea pig service";
serviceConfig = {
ExecStart = "@${pkgs.coreutils}/bin/sleep sleep inf";
# rtkit-daemon won't grant real-time to threads unless they have a rttime limit.
LimitRTTIME = 200000;
};
wantedBy = [ "default.target" ];
};
# Target process for testing - doesn't belong to a session.
systemd.services."sleeper@" = {
description = "Guinea pig system service for %I";
serviceConfig = {
ExecStart = "@${pkgs.coreutils}/bin/sleep sleep inf";
LimitRTTIME = 200000;
User = "%I";
};
};
systemd.targets.multi-user.wants = [ "sleeper@alice.service" ];
# Install chrt to check outcomes of rtkit calls
environment.systemPackages = [ pkgs.util-linux ];
# Provide a little logging of polkit checks - otherwise it's
# impossible to know what's going on.
security.polkit.debug = true;
security.polkit.extraConfig = ''
polkit.addRule(function(action, subject) {
const ns = "org.freedesktop.RealtimeKit1.";
const acquireHighPrio = ns + "acquire-high-priority";
const acquireRT = ns + "acquire-real-time";
if (action.id == acquireHighPrio || action.id == acquireRT) {
polkit.log("rtkit: Checking " + action.id + " for " + subject.user + "\n " + subject);
}
});
'';
};
interactive.nodes.machine =
{ pkgs, ... }:
{
security.rtkit.args = [ "--debug" ];
systemd.services.strace-rtkit =
let
target = "rtkit-daemon.service";
in
{
bindsTo = [ target ];
after = [ target ];
scriptArgs = target;
script = ''
pid=$(systemctl show -P MainPID $1)
strace -tt -s 100 -e trace=all -p $pid
'';
path = [ pkgs.strace ];
};
};
testScript =
{ nodes, ... }:
let
specialisations = "${nodes.machine.system.build.toplevel}/specialisation";
uid = toString nodes.machine.users.users.alice.uid;
in
''
import json
import shlex
from collections import namedtuple
from typing import Any, Optional
Result = namedtuple("Result", ["command", "machine", "status", "out", "value"])
Value = namedtuple("Value", ["type", "data"])
def busctl(node: Machine, *args: Any, user: Optional[str] = None) -> Result:
command = f"busctl --json=short {shlex.join(map(str, args))}"
if user is not None:
command = f"su - {user} -c {shlex.quote(command)}"
(status, out) = node.execute(command)
out = out.strip()
value = json.loads(out, object_hook=lambda x: Value(**x)) if status == 0 and out else None
return Result(command, node, status, out, value)
def assert_result_success(result: Result):
if result.status != 0:
result.machine.log(f"output: {result.out}")
raise Exception(f"command `{result.command}` failed (exit code {result.status})")
def assert_result_fail(result: Result):
if result.status == 0:
raise Exception(f"command `{result.command}` unexpectedly succeeded")
def rtkit_make_process_realtime(node: Machine, pid: int, priority: int, user: Optional[str] = None) -> Result:
return busctl(node, "call", "org.freedesktop.RealtimeKit1", "/org/freedesktop/RealtimeKit1", "org.freedesktop.RealtimeKit1", "MakeThreadRealtimeWithPID", "ttu", pid, 0, priority, user=user)
def get_max_realtime_priority() -> int:
result = busctl(machine, "get-property", "org.freedesktop.RealtimeKit1", "/org/freedesktop/RealtimeKit1", "org.freedesktop.RealtimeKit1", "MaxRealtimePriority")
assert_result_success(result)
assert result.value.type == "i", f"""Unexpected MaxRealtimePriority property type ({result.value})"""
return int(result.value.data)
def parse_chrt(out: str, field: str) -> str:
return next(map(lambda l: l.split(": ")[1], filter(lambda l: field in l, out.splitlines())))
def get_pid(node: Machine, unit: str, user: Optional[str] = None) -> int:
node.wait_for_unit(unit, user=user)
(status, out) = node.systemctl(f"show -P MainPID {unit}", user=user)
if status == 0:
return int(out.strip())
else:
node.log(out)
raise Exception(f"unable to determine MainPID of {unit} (systemctl exit code {status})")
def assert_sched(node: Machine, pid: int, policy: Optional[str] = None, priority: Optional[int] = None):
out = node.succeed(f"chrt -p {pid}")
node.log(out)
if policy is not None:
thread_policy = parse_chrt(out, "policy")
assert policy in thread_policy, f"Expected {policy} scheduling policy, but got: {thread_policy}"
if priority is not None:
thread_priority = parse_chrt(out, "priority")
assert str(priority) == thread_priority, f"Expected scheduling priority {priority}, but got: {thread_priority}"
machine.wait_for_unit("basic.target")
rtprio = 20
higher_rtprio = 42
max_rtprio = get_max_realtime_priority()
with subtest("maximum sched_rr priority"):
assert max_rtprio >= rtprio, f"""MaxRealtimePriority ({max_rtprio}) too low"""
assert higher_rtprio > max_rtprio, f"""Test value higher_rtprio ({higher_rtprio}) insufficient compared to MaxRealtimePriority ({max_rtprio})"""
# wait for autologin and systemd user service manager
machine.wait_for_unit("multi-user.target")
machine.wait_for_unit("user@${uid}.service")
with subtest("polkit sanity check"):
pid = get_pid(machine, "sleeper.service", user="alice")
machine.succeed(f"pkcheck -p {pid} -a org.freedesktop.RealtimeKit1.acquire-real-time")
with subtest("chrt sanity check"):
print(machine.succeed("chrt --rr --max"))
pid = get_pid(machine, "sleeper.service", user="alice")
machine.succeed(f"chrt --rr --pid {rtprio} {pid}")
assert_sched(machine, pid, policy="SCHED_RR", priority=rtprio)
machine.stop_job("sleeper.service", user="alice")
machine.start_job("sleeper.service", user="alice")
# Permission granted by policy from rtkit package.
with subtest("local user process can acquire real-time scheduling"):
pid = get_pid(machine, "sleeper.service", user="alice")
result = rtkit_make_process_realtime(machine, pid, rtprio, user="alice")
assert_result_success(result)
assert_sched(machine, pid, policy="SCHED_RR", priority=rtprio)
# User must not get higher priority than the maximum
with subtest("real-time scheduling priority is limited"):
machine.stop_job("sleeper.service", user="alice")
machine.start_job("sleeper.service", user="alice")
pid = get_pid(machine, "sleeper.service", user="alice")
with machine.nested("rtkit call must fail"):
result = rtkit_make_process_realtime(machine, pid, max_rtprio + 1, user="alice")
assert_result_fail(result)
assert_sched(machine, pid, policy="SCHED_OTHER")
# This is a local shop for local people - we'll have no trouble here.
# In this test, the target process belongs to alice, but doesn't
# have a user session, so it's considered non-local.
with subtest("non-local user process cannot acquire real-time scheduling"):
pid = get_pid(machine, "sleeper@alice.service")
with machine.nested("rtkit call must fail"):
result = rtkit_make_process_realtime(machine, pid, rtprio, "alice")
assert_result_fail(result)
assert_sched(machine, pid, policy="SCHED_OTHER")
# Switch to alternate configuration then ask for higher priority.
with subtest("command-line arguments allow increasing maximum rtprio"):
machine.succeed("${specialisations}/withHigherPrio/bin/switch-to-configuration test")
pid = get_pid(machine, "sleeper.service", user="alice")
result = rtkit_make_process_realtime(machine, pid, higher_rtprio, user="alice")
assert_result_success(result)
assert_sched(machine, pid, policy="SCHED_RR", priority=higher_rtprio)
'';
}
+3 -4
View File
@@ -1,6 +1,7 @@
# Test configuration switching.
{ lib, pkgs, ...}:
import ./make-test-python.nix ({ lib, pkgs, ng, ...} : let
let
# Simple service that can either be socket-activated or that will
# listen on port 1234 if not socket-activated.
@@ -48,8 +49,6 @@ in {
nodes = {
machine = { pkgs, lib, ... }: {
system.switch.enableNg = ng;
environment.systemPackages = [ pkgs.socat ]; # for the socket activation stuff
users.mutableUsers = false;
@@ -1455,4 +1454,4 @@ in {
assert_lacks(out, "\nstarting the following units:")
assert_lacks(out, "the following new units were started:")
'';
})
}
+4 -4
View File
@@ -28,13 +28,13 @@ let
in
stdenv.mkDerivation rec {
pname = "reaper";
version = "7.27";
version = "7.28";
src = fetchurl {
url = url_for_platform version stdenv.hostPlatform.qemuArch;
hash = if stdenv.hostPlatform.isDarwin then "sha256-jDqdtm0W5mF8U/KJi7vRse9tT2X4AVwHUtvXC+6iADM=" else {
x86_64-linux = "sha256-/szRnFsu0LpthdMOy/6fmkE72zxBvhQkcVhPtO54Djk=";
aarch64-linux = "sha256-yl5PCRSzRiZ5TF9gXoP572H19/vlszJeFARtZy5ClXI=";
hash = if stdenv.hostPlatform.isDarwin then "sha256-bhrBIXrE3gaAjpqrOtFK9Awb3rKMIckYhpQKVioBbqY=" else {
x86_64-linux = "sha256-HTxuu1IfjDYnCRksW5tjbOLIFz150wBwyJKCkMATlAk=";
aarch64-linux = "sha256-3jH6UwQefhLyymGltw7+//tUaO0V/3VySWuDsS3cqSo=";
}.${stdenv.hostPlatform.system};
};
+4 -4
View File
@@ -45,7 +45,7 @@ in
stdenv.mkDerivation rec {
pname = "touchosc";
version = "1.3.5.212";
version = "1.3.6.216";
suffix = {
aarch64-linux = "linux-arm64";
@@ -56,9 +56,9 @@ stdenv.mkDerivation rec {
src = fetchurl {
url = "https://hexler.net/pub/${pname}/${pname}-${version}-${suffix}.deb";
hash = {
aarch64-linux = "sha256-eaZNiZsmPHKvgvcfs8LcJjbHas+AlnRniBhAet1ld0E=";
armv7l-linux = "sha256-/ZIUen0qYRcfG6WmO3K3n1xIhUY3JqZFO7Pwnw3c/9c=";
x86_64-linux = "sha256-5KBrelfElsnGHcJObIj8CJ5L3jJO54tSjlEUcXhH/lE=";
aarch64-linux = "sha256-GV2j6WBvclr5/T9GtLspbLm2UDfyPJUu6Bau43mi4ZM=";
armv7l-linux = "sha256-tqGM1/faPjmHoHuefYJ+M/P/7SVTMcLnxCnwSFIiFhM=";
x86_64-linux = "sha256-P/D5JijtSr1vP1Hccl8COj9i6B7bgWcHLTrBfKj1jlA=";
}.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
};
+3 -7
View File
@@ -29,7 +29,7 @@
, pkg-config
, postgresql
, proj
, python311Packages
, python3Packages
, readline
, sqlite
, wxGTK32
@@ -37,10 +37,6 @@
, zstd
}:
let
pyPackages = python311Packages;
in
stdenv.mkDerivation (finalAttrs: {
pname = "grass";
version = "8.4.0";
@@ -62,7 +58,7 @@ stdenv.mkDerivation (finalAttrs: {
geos # for `geos-config`
netcdf # for `nc-config`
pkg-config
] ++ (with pyPackages; [ python-dateutil numpy wxpython ]);
] ++ (with python3Packages; [ python-dateutil numpy wxpython ]);
buildInputs = [
blas
@@ -139,7 +135,7 @@ stdenv.mkDerivation (finalAttrs: {
postInstall = ''
wrapProgram $out/bin/grass \
--set PYTHONPATH $PYTHONPATH \
--set GRASS_PYTHON ${pyPackages.python.interpreter} \
--set GRASS_PYTHON ${python3Packages.python.interpreter} \
--suffix LD_LIBRARY_PATH ':' '${gdal}/lib'
ln -s $out/grass*/lib $out/lib
ln -s $out/grass*/include $out/include
+2 -2
View File
@@ -21,7 +21,7 @@
stdenv.mkDerivation rec {
pname = "f3d";
version = "2.5.0";
version = "2.5.1";
outputs = [ "out" ] ++ lib.optionals withManual [ "man" ];
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
owner = "f3d-app";
repo = "f3d";
rev = "refs/tags/v${version}";
hash = "sha256-Mw40JyXZj+Q4a9dD5UnkUSdUfQGaV92gor8ynn86VJ8=";
hash = "sha256-S3eigdW6rkDRSm4uCCTFHx5fhJGNVWpAAAKboougr08=";
};
nativeBuildInputs = [
@@ -1,6 +1,7 @@
{ lib
, stdenv
, fetchFromGitHub
, fetchpatch
, cmake
, ninja
, pkg-config
@@ -40,6 +41,14 @@ in stdenv.mkDerivation rec {
fetchSubmodules = true;
};
patches = [
# Fix for https://github.com/organicmaps/organicmaps/issues/7838
(fetchpatch {
url = "https://github.com/organicmaps/organicmaps/commit/1caf64e315c988cd8d5196c80be96efec6c74ccc.patch";
hash = "sha256-k3VVRgHCFDhviHxduQMVRUUvQDgMwFHIiDZKa4BNTyk=";
})
];
postPatch = ''
# Disable certificate check. It's dependent on time
echo "exit 0" > tools/unix/check_cert.sh
File diff suppressed because it is too large Load Diff
@@ -24,7 +24,7 @@ let
vivaldiName = if isSnapshot then "vivaldi-snapshot" else "vivaldi";
in stdenv.mkDerivation rec {
pname = "vivaldi";
version = "7.0.3495.18";
version = "7.0.3495.23";
suffix = {
aarch64-linux = "arm64";
@@ -34,8 +34,8 @@ in stdenv.mkDerivation rec {
src = fetchurl {
url = "https://downloads.vivaldi.com/${branch}/vivaldi-${branch}_${version}-1_${suffix}.deb";
hash = {
aarch64-linux = "sha256-UXv04KNyTgFsHsgl3bKZcttZfWSnOQbpwRVbZnCbKVY=";
x86_64-linux = "sha256-LFKtuIorb21/U6ysHq6GRo0FP2DgD7yM6DwuIlpuT5U=";
aarch64-linux = "sha256-mnu76Lu4xKaA0mZYto3wOYZl65i6SDU56Lo3dH59mtM=";
x86_64-linux = "sha256-FtCmtwipbEyhTmt/d5tSEc7MKrrPssiSWzcC7AYy3tg=";
}.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
};
@@ -184,8 +184,8 @@ rec {
mkTerraform = attrs: pluggable (generic attrs);
terraform_1 = mkTerraform {
version = "1.10.1";
hash = "sha256-fOilZJbkPkGNcnKYBZtH81YE+XHsXsvxFAMt6YRcJCo=";
version = "1.10.2";
hash = "sha256-dnoaiIOyZ6l1hGz/yjMwxrbKXioqWEpMSjiFA1zN3AY=";
vendorHash = "sha256-AajBuUwOhK0OniRRfCqR89+mA9LnQBkbG3Xge9c0qSQ=";
patches = [ ./provider-path-0_15.patch ];
passthru = {
+2 -2
View File
@@ -17,13 +17,13 @@
stdenv.mkDerivation rec {
pname = "qlog";
version = "0.40.0";
version = "0.40.1";
src = fetchFromGitHub {
owner = "foldynl";
repo = "QLog";
rev = "v${version}";
hash = "sha256-mG2OUw1sB2bd4XiEXP5CblfpeZZNVqQ7310wepCZqbI=";
hash = "sha256-6mAFOf/5LsmgMBxzkBlN1MOz4NVS9hi9YWOgeJ2tHSs=";
fetchSubmodules = true;
};
@@ -13,6 +13,7 @@
, extraPkgs ? [ ]
}:
let
pname = "fah-client";
version = "8.3.18";
cbangSrc = fetchFromGitHub {
@@ -23,8 +24,7 @@ let
};
fah-client = stdenv.mkDerivation {
pname = "fah-client";
inherit version;
inherit pname version;
src = fetchFromGitHub {
owner = "FoldingAtHome";
@@ -66,16 +66,12 @@ let
};
in
buildFHSEnv {
name = fah-client.name;
inherit pname version;
targetPkgs = _: [ fah-client ocl-icd zlib expat ] ++ extraPkgs;
runScript = "/bin/fah-client";
extraInstallCommands = ''
mv $out/bin/$name $out/bin/fah-client
'';
meta = {
description = "Folding@home client";
homepage = "https://foldingathome.org/";
@@ -1,15 +1,15 @@
{
"version": "17.6.1",
"repo_hash": "1az442dj0xxkb3bdqgln7ax5779bmndbx8p8mszybgghkjl0g4nq",
"version": "17.6.2",
"repo_hash": "0j08l2rhhlm5b6cim3bq5zk6lwimf467jhqarm01mxn53qj5rfna",
"yarn_hash": "0g60lvngbvgvirjag5l539innmklh2x6a56vd38svrgx5jm6d3jc",
"owner": "gitlab-org",
"repo": "gitlab",
"rev": "v17.6.1-ee",
"rev": "v17.6.2-ee",
"passthru": {
"GITALY_SERVER_VERSION": "17.6.1",
"GITLAB_PAGES_VERSION": "17.6.1",
"GITALY_SERVER_VERSION": "17.6.2",
"GITLAB_PAGES_VERSION": "17.6.2",
"GITLAB_SHELL_VERSION": "14.39.0",
"GITLAB_ELASTICSEARCH_INDEXER_VERSION": "5.4.0",
"GITLAB_WORKHORSE_VERSION": "17.6.1"
"GITLAB_WORKHORSE_VERSION": "17.6.2"
}
}
@@ -5,7 +5,7 @@ in
buildGoModule rec {
pname = "gitlab-workhorse";
version = "17.6.1";
version = "17.6.2";
# nixpkgs-update: no auto update
src = fetchFromGitLab {
@@ -715,7 +715,7 @@ gem 'cvss-suite', '~> 3.0.1', require: 'cvss_suite' # rubocop:todo Gemfile/Missi
gem 'arr-pm', '~> 0.0.12' # rubocop:todo Gemfile/MissingFeatureCategory
# Remote Development
gem 'devfile', '~> 0.1.0', feature_category: :workspaces
gem 'devfile', '~> 0.1.1', feature_category: :workspaces
# Apple plist parsing
gem 'CFPropertyList', '~> 3.0.0' # rubocop:todo Gemfile/MissingFeatureCategory
@@ -509,7 +509,7 @@ GEM
thor (>= 0.19, < 2)
descendants_tracker (0.0.4)
thread_safe (~> 0.3, >= 0.3.1)
devfile (0.1.0)
devfile (0.1.1)
device_detector (1.0.0)
devise (4.9.3)
bcrypt (~> 3.0)
@@ -2018,7 +2018,7 @@ DEPENDENCIES
declarative_policy (~> 1.1.0)
deprecation_toolkit (~> 1.5.1)
derailed_benchmarks
devfile (~> 0.1.0)
devfile (~> 0.1.1)
device_detector
devise (~> 4.9.3)
devise-pbkdf2-encryptable (~> 0.0.0)!
@@ -1233,10 +1233,10 @@ src:
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "18fbys0bf562681c96a4qcbdwxhlc9w3jz8rzkkfqns421hn024q";
sha256 = "0yf8ckwr0pkzbdhs4y57gv9a80hvasdjv815fn67yhs4zpphqs5f";
type = "gem";
};
version = "0.1.0";
version = "0.1.1";
};
device_detector = {
groups = ["default"];
@@ -8,13 +8,13 @@
buildLua rec {
pname = "mpv-playlistmanager";
version = "0-unstable-2024-08-17";
version = "0-unstable-2024-11-19";
src = fetchFromGitHub {
owner = "jonniek";
repo = "mpv-playlistmanager";
rev = "d733d8c00cb543a646f2ce5ab5c12bef2dfd6756";
hash = "sha256-Pv2+dl9QIIwOYmT4sJmPOBHed5pZLMXZaw80mT4s+WQ=";
rev = "c5526169ada174b0a45be55ee020a52126b54cc5";
hash = "sha256-15559OfwwwxR5CpElwzdbhgodvl5gCM1AI4gTk/9wg4=";
};
passthru.updateScript = unstableGitUpdater { };
+1 -1
View File
@@ -60,7 +60,7 @@
branch ? lib.versions.majorMinor version,
version,
vendor ? "nixos",
upstreamVersion,
upstreamVersion ? version,
withFlask ? false,
withSeaBIOS ? true,
withOVMF ? true,
+3 -3
View File
@@ -7,16 +7,16 @@
buildGoModule rec {
pname = "algia";
version = "0.0.74";
version = "0.0.84";
src = fetchFromGitHub {
owner = "mattn";
repo = "algia";
rev = "v${version}";
hash = "sha256-t6XDw40FTa7QkZmOkgAufWV1aFjQrLWmycp+zcVYQWs=";
hash = "sha256-i7rSmLFtUFSA1pW5IShYnTxjtwZ5z31OP4kVcMQgMxA=";
};
vendorHash = "sha256-fko9WC/Rh5fmoypqBuFKiuIuIJYMbKV+1uQKf5tFil0=";
vendorHash = "sha256-8zAGkz17U7j0WWh8ayLowVhNZQvbIlA2YgXMgVIHuFg=";
meta = {
description = "CLI application for nostr";
@@ -0,0 +1,40 @@
{
lib,
stdenv,
buildGoModule,
fetchFromGitHub,
go-task,
}:
buildGoModule rec {
pname = "arduino-create-agent";
version = "1.6.1";
src = fetchFromGitHub {
owner = "arduino";
repo = "arduino-create-agent";
rev = "${version}";
hash = "sha256-TWyjF/2F3ub+sGFOTWc3kv2w6SRrvDaBSztOki32oxc=";
};
patches = [
./updater.patch
];
vendorHash = "sha256-SV0Cw0MrAufBleloG1m4qNPme03cBj0UgQGL7jY1wY4=";
ldflags = [
"-X github.com/arduino/arduino-create-agent/version.versionString=${version}"
"-X github.com/arduino/arduino-create-agent/version.commit=unknown"
];
doCheck = false; # require network connectivity
meta = {
description = "Agent to upload code to any USB connected Arduino board directly from the browser";
homepage = "https://github.com/arduino/arduino-create-agent";
changelog = "https://github.com/arduino/arduino-create-agent/releases/tag/${version}";
license = lib.licenses.agpl3Plus;
maintainers = with lib.maintainers; [ kilimnik ];
};
}
@@ -0,0 +1,25 @@
diff --git a/main.go b/main.go
index 65b8219..8be36c6 100755
--- a/main.go
+++ b/main.go
@@ -399,7 +399,6 @@ func loop() {
r.Handle("WSS", "/socket.io/", socketHandler)
r.GET("/info", infoHandler)
r.POST("/pause", pauseHandler)
- r.POST("/update", updateHandler)
// Mount goa handlers
goa := v2.Server(config.GetDataDir().String(), Index)
diff --git a/updater/updater.go b/updater/updater.go
index db4e545..693431a 100644
--- a/updater/updater.go
+++ b/updater/updater.go
@@ -34,7 +34,7 @@ import (
// binary to be executed to perform the update. If no update has been downloaded
// it returns an empty string.
func Start(src string) string {
- return start(src)
+ return ""
}
// CheckForUpdates checks if there is a new version of the binary available and
+15 -3
View File
@@ -20,26 +20,36 @@
, sqlite
, wayland
, zbar
, glycin-loaders
}:
stdenv.mkDerivation rec {
pname = "authenticator";
version = "4.4.0";
version = "4.5.0";
src = fetchFromGitLab {
domain = "gitlab.gnome.org";
owner = "World";
repo = "Authenticator";
rev = version;
hash = "sha256-LNYhUDV5nM46qx29xXE6aCEdBo7VnwT61YgAW0ZXW30=";
hash = "sha256-g4+ntBuAEH9sj61CiS5t95nMfCgaWJTgiwRXtwrUTs0=";
};
cargoDeps = rustPlatform.fetchCargoTarball {
inherit src;
name = "${pname}-${version}";
hash = "sha256-ntkKH4P3Ui2NZSVy87hGAsRA1GDRwoK9UnA/nFjyLnA=";
hash = "sha256-XNAC1eA+11gAvMRu95huRM+YHdsrg5Sqpzb6F3Rgu5U=";
};
preFixup = ''
gappsWrapperArgs+=(
# vp8enc preset
--prefix GST_PRESET_PATH : "${gst_all_1.gst-plugins-good}/share/gstreamer-1.0/presets"
# See https://gitlab.gnome.org/sophie-h/glycin/-/blob/0.1.beta.2/glycin/src/config.rs#L44
--prefix XDG_DATA_DIRS : "${glycin-loaders}/share"
)
'';
nativeBuildInputs = [
appstream-glib
desktop-file-utils
@@ -59,6 +69,8 @@ stdenv.mkDerivation rec {
gst_all_1.gstreamer
gst_all_1.gst-plugins-base
(gst_all_1.gst-plugins-bad.override { enableZbar = true; })
gst_all_1.gst-plugins-good
gst_all_1.gst-plugins-rs
gtk4
libadwaita
openssl
+1472 -288
View File
File diff suppressed because it is too large Load Diff
+2 -2
View File
@@ -9,13 +9,13 @@
buildDotnetModule rec {
pname = "bicep";
version = "0.31.92";
version = "0.32.4";
src = fetchFromGitHub {
owner = "Azure";
repo = "bicep";
rev = "v${version}";
hash = "sha256-NBWZ/URykZxkupMI+xOWB/sJ0hJojkJKvEnrmQg6CCk=";
hash = "sha256-SONzxKT+kVQTvkc4mKZcSGborXR4L9wadgss7j5PgmA=";
};
postPatch = ''
@@ -0,0 +1,86 @@
{
bitcoind,
electrum,
fetchFromGitHub,
lib,
rocksdb_8_3,
rustPlatform,
stdenv,
}:
rustPlatform.buildRustPackage rec {
pname = "blockstream-electrs";
version = "0.4.1-unstable-2024-11-25";
src = fetchFromGitHub {
owner = "Blockstream";
repo = "electrs";
rev = "680eacaa8360d5f46eaae9611a3097ba183795c6";
hash = "sha256-oDM4arH3aplgcS49t/hy5Rqt36glrVufd3F4tw3j1zo=";
};
useFetchCargoVendor = true;
cargoHash = "sha256-X2C69ui3XiYP1cg9FgfBbJlLLMq1SCw+oAL20B1Fs30=";
nativeBuildInputs = [
# Needed for librocksdb-sys
rustPlatform.bindgenHook
];
env = {
# Dynamically link rocksdb
ROCKSDB_INCLUDE_DIR = "${rocksdb_8_3}/include";
ROCKSDB_LIB_DIR = "${rocksdb_8_3}/lib";
# External binaries for integration tests are provided via nixpkgs. Skip
# trying to download them.
BITCOIND_SKIP_DOWNLOAD = true;
ELECTRUMD_SKIP_DOWNLOAD = true;
ELEMENTSD_SKIP_DOWNLOAD = true;
};
# Only build the service
cargoBuildFlags = [
"--package=electrs"
"--bin=electrs"
];
# Some upstream dev-dependencies (electrumd, elementsd) currently fail to
# build on non-x86_64-linux platforms, even if downloading is skipped.
# TODO(phlip9): submit a PR to fix this
doCheck = stdenv.hostPlatform.system == "x86_64-linux";
# Build tests in debug mode to reduce build time
checkType = "debug";
# Integration tests require us to pass in some external deps via env.
preCheck = lib.optionalString doCheck ''
export BITCOIND_EXE=${bitcoind}/bin/bitcoind
export ELECTRUMD_EXE=${electrum}/bin/electrum
'';
# Make sure the final binary actually runs
doInstallCheck = true;
installCheckPhase = ''
$out/bin/electrs --version
'';
meta = {
description = "Efficient re-implementation of Electrum Server in Rust";
longDescription = ''
A blockchain index engine and HTTP API written in Rust based on
[romanz/electrs](https://github.com/romanz/electrs).
Used as the backend for the [Esplora block explorer](https://github.com/Blockstream/esplora)
powering <https://blockstream.info>.
API documentation [is available here](https://github.com/blockstream/esplora/blob/master/API.md).
Documentation for the database schema and indexing process [is available here](https://github.com/Blockstream/electrs/blob/new-index/doc/schema.md).
'';
homepage = "https://github.com/Blockstream/electrs";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ phlip9 ];
mainProgram = "electrs";
};
}
+2 -2
View File
@@ -13,13 +13,13 @@
llvmPackages.stdenv.mkDerivation (finalAttrs: {
pname = "c3c";
version = "0.6.3";
version = "0.6.4";
src = fetchFromGitHub {
owner = "c3lang";
repo = "c3c";
rev = "refs/tags/v${finalAttrs.version}";
hash = "sha256-hFLiE1S9l2NhSIaqpYoBfn27IkhavcM0Ma31+XJtYj4=";
hash = "sha256-nSsNLde9jK+GgSp6DXXmD31+un7peK6t/vnzM7hZDFg=";
};
postPatch = ''
+3 -3
View File
@@ -11,7 +11,7 @@
buildNpmPackage rec {
pname = "clever-tools";
version = "3.9.0";
version = "3.10.1";
nodejs = nodejs_18;
@@ -19,10 +19,10 @@ buildNpmPackage rec {
owner = "CleverCloud";
repo = "clever-tools";
rev = version;
hash = "sha256-nSTcJIZO/CMliAYFUGu/oA+VdtONDPwyj6vCr5Ry6ac=";
hash = "sha256-dMSVw3buj0m2Ixir8rVeCg0PAVqXFBsBEohKfLsYhaI=";
};
npmDepsHash = "sha256-+3/zSsO5+s1MUome3CQ1p1tN3OtWp+XE9Z6GSdDiRh8=";
npmDepsHash = "sha256-v0nCYRfmcGbePI838Yhb+XvpN4JItQn2D+AHyNoeZLw=";
nativeBuildInputs = [
installShellFiles
+2 -2
View File
@@ -39,13 +39,13 @@ let
in
stdenv.mkDerivation rec {
pname = "crun";
version = "1.18.2";
version = "1.19";
src = fetchFromGitHub {
owner = "containers";
repo = pname;
rev = version;
hash = "sha256-v/ZYy4aPsE7couVHSM4VFXPhn48cZK1odDK3r9yYprc=";
hash = "sha256-vAM68vyR5I1PyF9jJgBtY0pROyOhhCmqb0I+5RIrgb4=";
fetchSubmodules = true;
};
+3 -3
View File
@@ -8,13 +8,13 @@
stdenv.mkDerivation rec {
pname = "eigenmath";
version = "3.33-unstable-2024-11-22";
version = "3.35-unstable-2024-12-11";
src = fetchFromGitHub {
owner = "georgeweigt";
repo = pname;
rev = "2b68af098c0ae53ce3e1dda2d397f383e5418b34";
hash = "sha256-YnSNXlH8l8+2WeoiLpPuzepv/Mtxa1ltGpgcln+Emgw=";
rev = "8aeb901425aae6dc27b00040dee38cf51fd81a5e";
hash = "sha256-fhQHxdbecDAcMylMU50FHPGWf6XgwBgPBaP4v3ntOmc=";
};
checkPhase =
+4 -4
View File
@@ -7,11 +7,11 @@
flutter.buildFlutterApplication rec {
pname = "firmware-updater";
version = "0-unstable-2024-10-03";
version = "0-unstable-2024-20-11";
pubspecLock = lib.importJSON ./pubspec.lock.json;
sourceRoot = "./source/packages/firmware_updater";
sourceRoot = "./source/apps/firmware_updater";
gitHashes = {
fwupd = "sha256-l/+HrrJk1mE2Mrau+NmoQ7bu9qhHU6wX68+m++9Hjd4=";
@@ -20,8 +20,8 @@ flutter.buildFlutterApplication rec {
src = fetchFromGitHub {
owner = "canonical";
repo = "firmware-updater";
rev = "ce300838d95c5955423eedcac8b05589b14a8c52";
hash = "sha256-o3OU43pEzo8FC5e6kknB8BV9n7U4RMqg/+CDbHraAKw=";
rev = "ab5d44d594d68d106aafb511252a94a24e94d601";
hash = "sha256-4a0OojgNvOpvM4+8uSslxxKb6uwKDfDkvHo29rMXynQ=";
};
meta = with lib; {
+2 -2
View File
@@ -23,13 +23,13 @@ in
flutter324.buildFlutterApplication (
rec {
pname = "fluffychat-${targetFlutterPlatform}";
version = "1.22.1";
version = "1.23.0";
src = fetchFromGitHub {
owner = "krille-chan";
repo = "fluffychat";
rev = "refs/tags/v${version}";
hash = "sha256-biFoRcMss3JVrMoilc8BzJ+R6f+e4RYpZ5dbxDpnfTk=";
hash = "sha256-T187GK0hBTRLGgUw23dNSzql6VZssreS84NbgCwf558=";
};
inherit pubspecLock;
File diff suppressed because it is too large Load Diff
+2 -2
View File
@@ -11,14 +11,14 @@
python3Packages.buildPythonApplication rec {
pname = "git-cola";
version = "4.9.0";
version = "4.10.0";
pyproject = true;
src = fetchFromGitHub {
owner = "git-cola";
repo = "git-cola";
rev = "v${version}";
hash = "sha256-pEl9kMdKGGKeca7xrb9KW5hVvjRBqqG7ktYXbJgc4YE=";
hash = "sha256-nF+QbVkGL8eQFoe/f433uQKc5nKmGuS1fIZC6uMSC2U=";
};
buildInputs = lib.optionals stdenv.hostPlatform.isLinux [
+2 -2
View File
@@ -7,7 +7,7 @@
}:
let
version = "17.6.1";
version = "17.6.2";
package_version = "v${lib.versions.major version}";
gitaly_package = "gitlab.com/gitlab-org/gitaly/${package_version}";
@@ -21,7 +21,7 @@ let
owner = "gitlab-org";
repo = "gitaly";
rev = "v${version}";
hash = "sha256-eh/dMoKnwN+xz6dMnPZUD8b/SyrxUqDAtWmCIBXbIT4=";
hash = "sha256-i+Yk5hFhtIxf12crSJRbkHNbfPy9ZbxSNFEPwFOovhE=";
};
vendorHash = "sha256-AxuAEiYV3jwWxcuTLc1i4/6sG957YIA+Fmky5Dkdzu8=";
+2 -2
View File
@@ -6,14 +6,14 @@
buildGoModule rec {
pname = "gitlab-pages";
version = "17.6.1";
version = "17.6.2";
# nixpkgs-update: no auto update
src = fetchFromGitLab {
owner = "gitlab-org";
repo = "gitlab-pages";
rev = "v${version}";
hash = "sha256-fLQ2Hd1GtSBfxUJIozf4xcXC5yvNX4xqh0H0UVL55kw=";
hash = "sha256-iO6kMggGajB7ARXsJynEVbgd7iPBBp0x6J1lKuOxgH4=";
};
vendorHash = "sha256-2feUOWcGj7eQ43rfM6IF55BawYVP4UY5sKA29Y9ozPk=";
+2 -2
View File
@@ -19,7 +19,7 @@
}:
let
version = "3.5.9";
version = "3.6.11";
icon = fetchurl {
url = "https://github.com/huanghongxun/HMCL/raw/release-${version}/HMCLauncher/HMCL/HMCL.ico";
hash = "sha256-+EYL33VAzKHOMp9iXoJaSGZfv+ymDDYIx6i/1o47Dmc=";
@@ -31,7 +31,7 @@ stdenv.mkDerivation (finalAttrs: {
src = fetchurl {
url = "https://github.com/huanghongxun/HMCL/releases/download/release-${version}/HMCL-${version}.jar";
hash = "sha256-iaOg0OiGEdS0E7UTanZkciWDHqeZoAdBM3ghH10Wbd8=";
hash = "sha256-ZQNJm7xbOdVSnxtx4krOnM9QBsxibFXo8wx1fCn1gJA=";
};
dontUnpack = true;
@@ -6,15 +6,15 @@
}:
let
timestamp = "202409261450";
timestamp = "202411281516";
in
stdenv.mkDerivation (finalAttrs: {
pname = "jdt-language-server";
version = "1.40.0";
version = "1.42.0";
src = fetchurl {
url = "https://download.eclipse.org/jdtls/milestones/${finalAttrs.version}/jdt-language-server-${finalAttrs.version}-${timestamp}.tar.gz";
hash = "sha256-dBb8Yr76RQ4y8G7CtQPy7sXyLwscwS97juURK/ZxzxE=";
hash = "sha256-ddJtwD+IbAiZWKZo3Iuu3hpVmm6DvxLJYHCk7hmdxY4=";
};
sourceRoot = ".";
+3 -3
View File
@@ -5,16 +5,16 @@
rustPlatform.buildRustPackage rec {
pname = "jql";
version = "8.0.0";
version = "8.0.2";
src = fetchFromGitHub {
owner = "yamafaktory";
repo = pname;
rev = "jql-v${version}";
hash = "sha256-4H2V/ZE29Jw0JWSzP7X8SKgD+vXoCd7pcfTqB7/8m7M=";
hash = "sha256-acvLzxjj+HxVE/BWiWezeghDiP4VNNAzeFEs+u+b5iA=";
};
cargoHash = "sha256-/Y880GUXTUOd7SyVhbMZhMPgfm66HbWrz5miGJjfX0g=";
cargoHash = "sha256-BNrCzXqmS9fJfhPbt1fLSgUTL2cgsfcnjEtns2umFMs=";
meta = with lib; {
description = "JSON Query Language CLI tool built with Rust";
+3 -3
View File
@@ -5,16 +5,16 @@
buildGoModule rec {
pname = "kubefirst";
version = "2.7.3";
version = "2.7.7";
src = fetchFromGitHub {
owner = "konstructio";
repo = "kubefirst";
rev = "refs/tags/v${version}";
hash = "sha256-pMvkroPxlHIf2zWO5aqTPYlQ3LlQLaahHuTZ2E1mKJY=";
hash = "sha256-aXZ1RwqmogEZOu9cxsrxiH0hVioUB5ph4QrsMnREd6c=";
};
vendorHash = "sha256-O7olGZC1QZQm1BPZOQdxSgUkASuE26oMpSPMv2sBawc=";
vendorHash = "sha256-DYEEkduud1sXVao7xbJoyvmMhfMJUPswIs3v20tncwo=";
ldflags = [
"-s"
+3 -3
View File
@@ -6,13 +6,13 @@
}:
stdenv.mkDerivation rec {
pname = "libgnt";
version = "2.14.3";
version = "2.14.4-dev";
outputs = [ "out" "dev" ] ++ lib.optional buildDocs "devdoc";
src = fetchurl {
url = "mirror://sourceforge/pidgin/${pname}-${version}.tar.xz";
hash = "sha256-V/VFf3KZnQuxoTmjfydG7BtaAsCU8nEKM52LzqQjYSM=";
hash = "sha256-GVkzqacx01dXkbiBulzArSpxXh6cTCPMqqKhfhZMluw=";
};
nativeBuildInputs = [ glib meson ninja pkg-config ]
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
buildInputs = [ glib ncurses libxml2 ];
postPatch = ''
substituteInPlace meson.build --replace \
substituteInPlace meson.build --replace-fail \
"ncurses_sys_prefix = '/usr'" \
"ncurses_sys_prefix = '${lib.getDev ncurses}'"
'';
+2 -2
View File
@@ -19,13 +19,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "lock";
version = "1.3.0";
version = "1.3.4";
src = fetchFromGitHub {
owner = "konstantintutsch";
repo = "Lock";
rev = "refs/tags/v${finalAttrs.version}";
hash = "sha256-RDFFI7NKGs1LXNEYWgv1JBE00yjmcH4hrHebAIY85EA=";
hash = "sha256-H8/OEl8TQ9nLpOFrLRy0ZsjDttcja0KMYkBK+/Ewo18=";
};
strictDeps = true;
+3 -3
View File
@@ -12,18 +12,18 @@
stdenv.mkDerivation rec {
pname = "lxd-ui";
version = "0.12";
version = "0.14";
src = fetchFromGitHub {
owner = "canonical";
repo = "lxd-ui";
rev = "refs/tags/${version}";
hash = "sha256-dVTUme+23HaONcvfcgen/y1S0D91oYmgGLGfRcAMJSw=";
hash = "sha256-mrJpoD8eq/LxZl0JJ0ZqnAvMqqNGqRfi9UUh40PD0TY=";
};
offlineCache = fetchYarnDeps {
yarnLock = "${src}/yarn.lock";
hash = "sha256-lPBkGKK6C6C217wqvOoC7on/Dzmk3NkdIkMDMF9CRNQ=";
hash = "sha256-dkATFNjAPhrPbXhcJ/R4eIpcagKEwBSnRfLwqTPIe6c=";
};
nativeBuildInputs = [
+3 -3
View File
@@ -8,16 +8,16 @@
rustPlatform.buildRustPackage rec {
pname = "macchina";
version = "6.2.1";
version = "6.4.0";
src = fetchFromGitHub {
owner = "Macchina-CLI";
repo = pname;
rev = "v${version}";
hash = "sha256-v1EaC4VBOvZFL2GoKlTDBMjSe8+4bxaLFvy2V7e7RW4=";
hash = "sha256-GZO9xGc3KGdq2WdA10m/XV8cNAlQjUZFUVu1CzidJ5c=";
};
cargoHash = "sha256-k17x7BEaBWo4Ka2HIjHd4DrO/tolKR/+s7Mm5ZzJk/Y=";
cargoHash = "sha256-BIyr/EaOjKDT5+4RFs3xz7zqAG1gblUqr2f+vl7B6Zo=";
nativeBuildInputs = [
installShellFiles
+2 -2
View File
@@ -10,11 +10,11 @@
stdenv.mkDerivation (finalAttrs: {
pname = "maestro";
version = "1.39.0";
version = "1.39.2";
src = fetchurl {
url = "https://github.com/mobile-dev-inc/maestro/releases/download/cli-${finalAttrs.version}/maestro.zip";
hash = "sha256-nvnxk3iyko2pgajmQO8F7N9EpPte3g2i5y+Wyst14mU=";
hash = "sha256-yX9ZtfWLg2OnsDqYH9jSW6elB+snmUUY5hWjO2Bw1sA=";
};
dontUnpack = true;
+3 -3
View File
@@ -7,13 +7,13 @@
with python3.pkgs;
buildPythonApplication rec {
pname = "mapproxy";
version = "3.1.2";
version = "3.1.3";
src = fetchFromGitHub {
owner = "mapproxy";
repo = "mapproxy";
rev = "refs/tags/${version}";
hash = "sha256-D3ZPcl9++yCq4zVR3WUIyu9UWQO3FT1MNyV7/Iuzkcw=";
tag = version;
hash = "sha256-Dltr4JlgE1aJfSybTbAxlUyjqkfaobupNNSj90j9taE=";
};
prePatch = ''
+5 -2
View File
@@ -16,7 +16,10 @@ let
hash = "sha256-IszdD/9fAh+JA26bSR1roXSo8LDU/rf4CuRI3HjU1xc=";
};
buildEnv = buildFHSEnv { name = "msecli-buildEnv"; };
buildEnv = buildFHSEnv {
pname = "msecli-buildEnv";
inherit version;
};
in
stdenv.mkDerivation {
inherit pname version src;
@@ -39,7 +42,7 @@ stdenv.mkDerivation {
# ignore the exit code as the installer
# fails at optional steps due to read only FHS
${buildEnv}/bin/${buildEnv.name} -c "./${src.name} --mode unattended --prefix bin || true"
${buildEnv}/bin/${buildEnv.pname} -c "./${src.name} --mode unattended --prefix bin || true"
runHook postbuild
'';
+79
View File
@@ -0,0 +1,79 @@
{
commonMeta,
multipass_src,
multipassd,
version,
autoPatchelfHook,
flutter327,
gtkmm3,
keybinder3,
lib,
libayatana-appindicator,
libnotify,
protobuf,
protoc-gen-dart,
qt6,
}:
flutter327.buildFlutterApplication {
inherit version;
pname = "multipass-gui";
src = multipass_src;
sourceRoot = "${multipass_src.name}/src/client/gui";
pubspecLock = lib.importJSON ./pubspec.lock.json;
gitHashes = {
dartssh2 = "sha256-2pypKwurziwGLZYuGaxlS2lzN3UvJp3bRTvvYYxEqRI=";
hotkey_manager_linux = "sha256-aO0h94YZvgV/ggVupNw8GjyZsnXrq3qTHRDtuhNv3oI=";
system_info2 = "sha256-fly7E2vG+bQ/+QGzXk+DYba73RZccltdW2LpZGDKX60=";
tray_menu = "sha256-riiAiBEms+9ARog8i+MR1fto1Yqx+gwbBWyNbNq6VTM=";
window_size = "sha256-71PqQzf+qY23hTJvcm0Oye8tng3Asr42E2vfF1nBmVA=";
xterm = "sha256-h8vIonTPUVnNqZPk/A4ZV7EYCMyM0rrErL9ZOMe4ZBE=";
};
buildInputs = [
gtkmm3
keybinder3
libayatana-appindicator
libnotify
qt6.qtbase
qt6.qtwayland
];
nativeBuildInputs = [
autoPatchelfHook
protobuf
protoc-gen-dart
qt6.wrapQtAppsHook
];
preBuild = ''
mkdir -p lib/generated
# Generate the Dart gRPC code for the Multipass GUI.
protoc \
--plugin=protoc-gen-dart=${lib.getExe protoc-gen-dart} \
--dart_out=grpc:lib/generated \
-I ../../rpc \
../../rpc/multipass.proto \
google/protobuf/timestamp.proto
'';
runtimeDependencies = [ multipassd ];
postFixup = ''
mv $out/bin/multipass_gui $out/bin/multipass.gui
install -Dm444 $out/app/multipass-gui/data/flutter_assets/assets/icon.png \
$out/share/icons/hicolor/256x256/apps/multipass.gui.png
cp $out/share/applications/multipass.gui.autostart.desktop \
$out/share/applications/multipass.gui.desktop
'';
meta = commonMeta // {
description = "Flutter frontend application for managing Ubuntu VMs";
};
}
@@ -1,4 +1,8 @@
{
commonMeta,
multipass_src,
version,
cmake,
dnsmasq,
fetchFromGitHub,
@@ -10,53 +14,35 @@
libapparmor,
libvirt,
libxml2,
nixosTests,
openssl,
OVMF,
pkg-config,
qemu,
poco,
protobuf,
qemu-utils,
qtbase,
qtwayland,
wrapQtAppsHook,
qemu,
qt6,
slang,
stdenv,
xterm,
}:
let
pname = "multipass";
version = "1.14.1";
# This is done here because a CMakeLists.txt from one of it's submodules tries
# to modify a file, so we grab the source for the submodule here, copy it into
# the source of the Multipass project which allows the modification to happen.
grpc_src = fetchFromGitHub {
owner = "CanonicalLtd";
owner = "canonical";
repo = "grpc";
rev = "e3acf245";
hash = "sha256-tDc2iGxIV68Yi4RL8ES4yglJNlu8yH6FlpVvZoWjoXk=";
rev = "ba8e7f72a57b9e0b25783a4d3cea58c79379f194";
hash = "sha256-DS1UNLCUdbipn5w4p2aVa8LgHHhdJiAfzfEdIXNO69o=";
fetchSubmodules = true;
};
in
stdenv.mkDerivation {
inherit pname version;
src = fetchFromGitHub {
owner = "canonical";
repo = "multipass";
rev = "refs/tags/v${version}";
hash = "sha256-i6SKiV4jwiBURx85m3u7km1dhi+fRdVpMBanlZo0VK4=";
fetchSubmodules = true;
leaveDotGit = true;
postFetch = ''
# Workaround for https://github.com/NixOS/nixpkgs/issues/8567
cd $out
rm -rf .git
'';
};
inherit version;
pname = "multipassd";
src = multipass_src;
patches = [
# Multipass is usually only delivered as a snap package on Linux, and it expects that
@@ -86,6 +72,9 @@ stdenv.mkDerivation {
--replace-fail "determine_version(MULTIPASS_VERSION)" "" \
--replace-fail 'set(MULTIPASS_VERSION ''${MULTIPASS_VERSION})' 'set(MULTIPASS_VERSION "v${version}")'
# Don't build the GUI .desktop file, do that in the gui derivation instead
substituteInPlace ./CMakeLists.txt --replace-fail "add_subdirectory(data)" ""
# Don't build/use vcpkg
rm -rf 3rd-party/vcpkg
@@ -118,7 +107,7 @@ stdenv.mkDerivation {
EOF
'';
# We'll build the flutter application seperately using buildFlutterApplication
# We'll build the flutter application separately using buildFlutterApplication
cmakeFlags = [ "-DMULTIPASS_ENABLE_FLUTTER_GUI=false" ];
buildInputs = [
@@ -127,18 +116,18 @@ stdenv.mkDerivation {
libvirt
libxml2
openssl
qtbase
qtwayland
poco.dev
protobuf
qt6.qtbase
qt6.qtwayland
];
nativeBuildInputs = [
cmake
git
pkg-config
qt6.wrapQtAppsHook
slang
wrapQtAppsHook
];
nativeCheckInputs = [ gtest ];
@@ -157,15 +146,7 @@ stdenv.mkDerivation {
}
'';
passthru.tests = {
multipass = nixosTests.multipass;
};
meta = with lib; {
description = "Ubuntu VMs on demand for any workstation";
homepage = "https://multipass.run";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ jnsgruk ];
platforms = [ "x86_64-linux" ];
meta = commonMeta // {
description = "Backend server & client for managing on-demand Ubuntu VMs";
};
}
+61
View File
@@ -0,0 +1,61 @@
{
callPackage,
fetchFromGitHub,
lib,
nixosTests,
stdenv,
symlinkJoin,
}:
let
name = "multipass";
version = "1.15.0";
multipass_src = fetchFromGitHub {
owner = "canonical";
repo = "multipass";
rev = "refs/tags/v${version}";
hash = "sha256-RoOCh1winDs7BZwyduZziHj6EMe3sGMYonkA757UrIU=";
fetchSubmodules = true;
};
commonMeta = {
homepage = "https://multipass.run";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ jnsgruk ];
platforms = [ "x86_64-linux" ];
};
multipassd = callPackage ./multipassd.nix {
inherit commonMeta multipass_src version;
};
multipass-gui = callPackage ./gui.nix {
inherit
commonMeta
multipass_src
multipassd
version
;
};
in
symlinkJoin {
inherit version;
pname = name;
paths = [
multipassd
multipass-gui
];
passthru = {
tests = lib.optionalAttrs stdenv.hostPlatform.isLinux {
inherit (nixosTests) multipass;
};
updateScript = ./update.sh;
};
meta = commonMeta // {
description = "Ubuntu VMs on demand for any workstation";
};
}
File diff suppressed because one or more lines are too long
+78
View File
@@ -0,0 +1,78 @@
#!/usr/bin/env nix-shell
#!nix-shell -I nixpkgs=./. -i bash -p curl jq nix-prefetch-github yj git
# shellcheck shell=bash
set -euo pipefail
cd $(readlink -e $(dirname "${BASH_SOURCE[0]}"))
# Download the latest pubspec.lock (which is a YAML file), convert it to JSON and write it to
# the package directory as pubspec.lock.json
update_pubspec_json() {
local version; version="$1"
echo "Updating pubspec.lock.json"
curl -s \
"https://raw.githubusercontent.com/canonical/multipass/refs/tags/v${version}/src/client/gui/pubspec.lock" \
| yj > pubspec.lock.json
}
# Update the SRI hash of a particular overridden Dart package in the Nix expression
update_dart_pkg_hash() {
local pkg_name; pkg_name="$1"
local owner; owner="$2";
local repo; repo="$3";
echo "Updating dart package hash: $pkg_name"
resolved_ref="$(jq -r --arg PKG "$pkg_name" '.packages[$PKG].description."resolved-ref"' pubspec.lock.json)"
hash="$(nix-prefetch-github --rev "$resolved_ref" "$owner" "$repo" | jq '.hash')"
sed -i "s|${pkg_name} = \".*\";|${pkg_name} = $hash;|" gui.nix
}
# Update the hash of the multipass source code in the Nix expression.
update_multipass_source() {
local version; version="$1"
echo "Updating multipass source"
sri_hash="$(nix-prefetch-github canonical multipass --rev "refs/tags/v${version}" --fetch-submodules | jq -r '.hash')"
sed -i "s|version = \".*$|version = \"$version\";|" package.nix
sed -i "s|hash = \".*$|hash = \"${sri_hash}\";|" package.nix
}
# Update the version/hash of the grpc source code in the Nix expression.
update_grpc_source() {
local version; version="$1"
echo "Updating grpc source"
submodule_info="https://raw.githubusercontent.com/canonical/multipass/refs/tags/v${version}/3rd-party/submodule_info.md"
commit_short="$(curl -s "${submodule_info}" | grep -Po "CanonicalLtd/grpc/compare/v[0-9]+\.[0-9]+\.[0-9]+\.\.\K[0-9a-f]+")"
commit_hash="$(curl -s "https://github.com/canonical/grpc/commits/${commit_short}" | grep -Po "${commit_short}[0-9a-f]+" | head -n1)"
sri_hash="$(nix-prefetch-github canonical grpc --rev "${commit_hash}" --fetch-submodules | jq -r '.hash')"
sed -i "s|rev = \".*$|rev = \"${commit_hash}\";|" multipassd.nix
sed -i "s|hash = \".*$|hash = \"${sri_hash}\";|" multipassd.nix
}
LATEST_TAG="$(curl -s ${GITHUB_TOKEN:+-u ":$GITHUB_TOKEN"} https://api.github.com/repos/canonical/multipass/releases/latest | jq -r '.tag_name')"
LATEST_VERSION="$(expr "$LATEST_TAG" : 'v\(.*\)')"
CURRENT_VERSION="$(grep -Po "version = \"\K[^\"]+" package.nix)"
if [[ "$CURRENT_VERSION" == "$LATEST_VERSION" ]]; then
echo "multipass is up to date: ${CURRENT_VERSION}"
exit 0
fi
update_pubspec_json "$LATEST_VERSION"
update_dart_pkg_hash dartssh2 andrei-toterman dartssh2
update_dart_pkg_hash hotkey_manager_linux andrei-toterman hotkey_manager
update_dart_pkg_hash system_info2 andrei-toterman system_info
update_dart_pkg_hash tray_menu andrei-toterman tray_menu
update_dart_pkg_hash window_size google flutter-desktop-embedding
update_dart_pkg_hash xterm levkropp xterm.dart
update_multipass_source "$LATEST_VERSION"
update_grpc_source "$LATEST_VERSION"
+2 -2
View File
@@ -20,13 +20,13 @@
stdenvNoCC.mkDerivation rec {
pname = "noto-fonts${suffix}";
version = "2024.11.01";
version = "2024.12.01";
src = fetchFromGitHub {
owner = "notofonts";
repo = "notofonts.github.io";
rev = "noto-monthly-release-${version}";
hash = "sha256-d6xqG+unmFATdwXnRniTtm/ER+NzKi0jPxkgxr+bnhk=";
hash = "sha256-CmYGnQOSABTMir120VWtROiLcEBVj117ZpgwPijoWnI=";
};
_variants = map (variant: builtins.replaceStrings [ " " ] [ "" ] variant) variants;
+2 -2
View File
@@ -9,13 +9,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "primesieve";
version = "12.4";
version = "12.6";
src = fetchFromGitHub {
owner = "kimwalisch";
repo = "primesieve";
rev = "v${finalAttrs.version}";
hash = "sha256-3iVQsksnyw9KFBTYsmyZ6YxYICVq1GzOzemDBpqpU3M=";
hash = "sha256-XbHZDB6QbzS/+8wbgXIwWWla0nt5fCGbW3MAQvxavTk=";
};
outputs = [
+2 -2
View File
@@ -6,10 +6,10 @@
}:
let
pname = "remnote";
version = "1.17.21";
version = "1.18.17";
src = fetchurl {
url = "https://download2.remnote.io/remnote-desktop2/RemNote-${version}.AppImage";
hash = "sha256-VoEaBaHGBgkDpzk2n/LXlzR+xl2AXMv5zSAzB74YIuE=";
hash = "sha256-ybdH8fCw2YYGXjZe6zNIQy/AnLwXkQTVcjBeBmdDlOg=";
};
appimageContents = appimageTools.extractType2 { inherit pname version src; };
in
+3 -3
View File
@@ -6,17 +6,17 @@
}:
rustPlatform.buildRustPackage rec {
pname = "revpfw3";
version = "0.4.2";
version = "0.4.3";
passthru.updateScript = nix-update-script { };
src = fetchgit {
url = "https://git.tudbut.de/tudbut/revpfw3";
rev = "v${version}";
hash = "sha256-v8BtgQYdELui5Yu8kpE5f97MSo/WhNah+e1xXhZGJwM=";
hash = "sha256-7MnYTY/7PWu+VvxABtSLUnJ4FPzd9QCfrUBcSxcXUso=";
};
cargoHash = "sha256-MmVN4NmwSZiWYh7uMAQ+OogJT1kRLoB2q6gVfoaer54=";
cargoHash = "sha256-D+9269WRCvpohyhrl6wkzalV7wPsJE38hSviTU2CNyg=";
meta = {
description = "Reverse proxy to bypass the need for port forwarding";
+2 -2
View File
@@ -19,13 +19,13 @@ in
stdenv.mkDerivation rec {
pname = "sby";
version = "0.46";
version = "0.47";
src = fetchFromGitHub {
owner = "YosysHQ";
repo = "sby";
rev = "yosys-${version}";
hash = "sha256-LVfHSVMrAKImD1y6icQSSfOSt9khZfOKK+lXhxdvRb4=";
hash = "sha256-Il2pXw2doaoZrVme2p0dSUUa8dCQtJJrmYitn1MkTD4=";
};
nativeBuildInputs = [ bash ];
+2 -2
View File
@@ -14,14 +14,14 @@
stdenv.mkDerivation (finalAttrs: {
pname = "scotch";
version = "7.0.5";
version = "7.0.6";
src = fetchFromGitLab {
domain = "gitlab.inria.fr";
owner = "scotch";
repo = "scotch";
rev = "v${finalAttrs.version}";
hash = "sha256-XXkVwTr8cbYfzXWWkPERTmjfE86JHUUuU6yxjp9k6II=";
hash = "sha256-RW1H0By7jqSM9bT4v6zIuaAZj3iyM1vNsfIcFlRxlkc=";
};
outputs = [
+3 -3
View File
@@ -6,16 +6,16 @@
buildGoModule rec {
pname = "ssh-to-age";
version = "1.1.9";
version = "1.1.10";
src = fetchFromGitHub {
owner = "Mic92";
repo = "ssh-to-age";
rev = version;
sha256 = "sha256-cEEFz/iVhvfo8CffC9wkIRnF26xL+roaqKsLmUgfUiA=";
sha256 = "sha256-rYQ3uLLcewloMv0uvJVbLG1T60Wxij5WdfOMLjYOjaQ=";
};
vendorHash = "sha256-FH+etKil0oiiB5tvDYS2nu1HG4yZTWZuRhtYnbq4Os4=";
vendorHash = "sha256-csKM/Cx+ALcUrMBGAEGGIsEItLNAhzvHc2lNBO2k+oc=";
checkPhase = ''
runHook preCheck
@@ -1,5 +1,6 @@
{
buildPackages,
clippy,
dbus,
lib,
pkg-config,
@@ -22,6 +23,15 @@ rustPlatform.buildRustPackage {
env.SYSTEMD_DBUS_INTERFACE_DIR = "${buildPackages.systemd}/share/dbus-1/interfaces";
nativeCheckInputs = [
clippy
];
preCheck = ''
echo "Running clippy..."
cargo clippy -- -Dwarnings
'';
meta = {
description = "NixOS switch-to-configuration program";
mainProgram = "switch-to-configuration";
@@ -1,3 +1,7 @@
#![deny(clippy::all)]
#![allow(clippy::too_many_arguments)]
#![allow(clippy::type_complexity)]
use std::{
cell::RefCell,
collections::HashMap,
@@ -33,6 +37,7 @@ mod systemd_manager {
#![allow(non_camel_case_types)]
#![allow(non_snake_case)]
#![allow(unused)]
#![allow(clippy::all)]
include!(concat!(env!("OUT_DIR"), "/systemd_manager.rs"));
}
@@ -41,6 +46,7 @@ mod logind_manager {
#![allow(non_camel_case_types)]
#![allow(non_snake_case)]
#![allow(unused)]
#![allow(clippy::all)]
include!(concat!(env!("OUT_DIR"), "/logind_manager.rs"));
}
@@ -100,9 +106,9 @@ impl std::str::FromStr for Action {
}
}
impl Into<&'static str> for &Action {
fn into(self) -> &'static str {
match self {
impl From<&Action> for &'static str {
fn from(val: &Action) -> Self {
match val {
Action::Switch => "switch",
Action::Boot => "boot",
Action::Test => "test",
@@ -122,7 +128,6 @@ fn parse_os_release() -> Result<HashMap<String, String>> {
Ok(std::fs::read_to_string("/etc/os-release")
.context("Failed to read /etc/os-release")?
.lines()
.into_iter()
.fold(HashMap::new(), |mut acc, line| {
if let Some((k, v)) = line.split_once('=') {
acc.insert(k.to_string(), v.to_string());
@@ -190,8 +195,8 @@ struct UnitState {
// Asks the currently running systemd instance via dbus which units are active. Returns a hash
// where the key is the name of each unit and the value a hash of load, state, substate.
fn get_active_units<'a>(
systemd_manager: &Proxy<'a, &LocalConnection>,
fn get_active_units(
systemd_manager: &Proxy<'_, &LocalConnection>,
) -> Result<HashMap<String, UnitState>> {
let units = systemd_manager
.list_units_by_patterns(Vec::new(), Vec::new())
@@ -212,7 +217,7 @@ fn get_active_units<'a>(
_job_type,
_job_path,
)| {
if following == "" && active_state != "inactive" {
if following.is_empty() && active_state != "inactive" {
Some((id, active_state, sub_state))
} else {
None
@@ -424,7 +429,7 @@ fn compare_units(current_unit: &UnitInfo, new_unit: &UnitInfo) -> UnitComparison
// If the [Unit] section was removed, make sure that only keys were in it that are
// ignored
if section_name == "Unit" {
for (ini_key, _ini_val) in section_val {
for ini_key in section_val.keys() {
if !unit_section_ignores.contains_key(ini_key.as_str()) {
return UnitComparison::UnequalNeedsRestart;
}
@@ -506,7 +511,7 @@ fn compare_units(current_unit: &UnitInfo, new_unit: &UnitInfo) -> UnitComparison
if !section_cmp.is_empty() {
if section_cmp.keys().len() == 1 && section_cmp.contains_key("Unit") {
if let Some(new_unit_unit) = new_unit.get("Unit") {
for (ini_key, _) in new_unit_unit {
for ini_key in new_unit_unit.keys() {
if !unit_section_ignores.contains_key(ini_key.as_str()) {
return UnitComparison::UnequalNeedsRestart;
} else if ini_key == "X-Reload-Triggers" {
@@ -617,7 +622,6 @@ fn handle_modified_unit(
sockets
.join(" ")
.split_whitespace()
.into_iter()
.map(String::from)
.collect()
} else {
@@ -712,7 +716,6 @@ fn unrecord_unit(p: impl AsRef<Path>, unit: &str) {
{
contents
.lines()
.into_iter()
.filter(|line| line != &unit)
.for_each(|line| _ = writeln!(&mut f, "{line}"))
}
@@ -725,7 +728,6 @@ fn map_from_list_file(p: impl AsRef<Path>) -> HashMap<String, ()> {
.unwrap_or_default()
.lines()
.filter(|line| !line.is_empty())
.into_iter()
.fold(HashMap::new(), |mut acc, line| {
acc.insert(line.to_string(), ());
acc
@@ -816,7 +818,7 @@ fn filter_units(
) -> HashMap<String, ()> {
let mut res = HashMap::new();
for (unit, _) in units {
for unit in units.keys() {
if !units_to_filter.contains_key(unit) {
res.insert(unit.to_string(), ());
}
@@ -825,7 +827,7 @@ fn filter_units(
res
}
fn unit_is_active<'a>(conn: &LocalConnection, unit: &str) -> Result<bool> {
fn unit_is_active(conn: &LocalConnection, unit: &str) -> Result<bool> {
let unit_object_path = conn
.with_proxy(
"org.freedesktop.systemd1",
@@ -872,11 +874,11 @@ impl std::fmt::Display for Job {
}
}
fn new_dbus_proxies<'a>(
conn: &'a LocalConnection,
fn new_dbus_proxies(
conn: &LocalConnection,
) -> (
Proxy<'a, &'a LocalConnection>,
Proxy<'a, &'a LocalConnection>,
Proxy<'_, &LocalConnection>,
Proxy<'_, &LocalConnection>,
) {
(
conn.with_proxy(
@@ -1154,8 +1156,8 @@ won't take effect until you reboot the system.
.context("Invalid regex for matching systemd unit names")?;
for (unit, unit_state) in &current_active_units {
let current_unit_file = Path::new("/etc/systemd/system").join(&unit);
let new_unit_file = toplevel.join("etc/systemd/system").join(&unit);
let current_unit_file = Path::new("/etc/systemd/system").join(unit);
let new_unit_file = toplevel.join("etc/systemd/system").join(unit);
let mut base_unit = unit.clone();
let mut current_base_unit_file = current_unit_file.clone();
@@ -1163,7 +1165,7 @@ won't take effect until you reboot the system.
// Detect template instances
if let Some((Some(template_name), Some(template_instance))) =
template_unit_re.captures(&unit).map(|captures| {
template_unit_re.captures(unit).map(|captures| {
(
captures.get(1).map(|c| c.as_str()),
captures.get(2).map(|c| c.as_str()),
@@ -1204,11 +1206,10 @@ won't take effect until you reboot the system.
// changed units we stop here as well as any new dependencies (including new mounts
// and swap devices). FIXME: the suspend target is sometimes active after the
// system has resumed, which probably should not be the case. Just ignore it.
if !matches!(
if !(matches!(
unit.as_str(),
"suspend.target" | "hibernate.target" | "hybrid-sleep.target"
) {
if !(parse_systemd_bool(
) || parse_systemd_bool(
Some(&new_unit_info),
"Unit",
"RefuseManualStart",
@@ -1219,12 +1220,11 @@ won't take effect until you reboot the system.
"X-OnlyManualStart",
false,
)) {
units_to_start.insert(unit.to_string(), ());
record_unit(START_LIST_FILE, unit);
// Don't spam the user with target units that always get started.
if std::env::var("STC_DISPLAY_ALL_UNITS").as_deref() != Ok("1") {
units_to_filter.insert(unit.to_string(), ());
}
units_to_start.insert(unit.to_string(), ());
record_unit(START_LIST_FILE, unit);
// Don't spam the user with target units that always get started.
if std::env::var("STC_DISPLAY_ALL_UNITS").as_deref() != Ok("1") {
units_to_filter.insert(unit.to_string(), ());
}
}
@@ -1251,7 +1251,7 @@ won't take effect until you reboot the system.
UnitComparison::UnequalNeedsRestart => {
handle_modified_unit(
&toplevel,
&unit,
unit,
base_name,
&new_unit_file,
&new_base_unit_file,
@@ -1266,7 +1266,7 @@ won't take effect until you reboot the system.
}
UnitComparison::UnequalNeedsReload if !units_to_restart.contains_key(unit) => {
units_to_reload.insert(unit.clone(), ());
record_unit(RELOAD_LIST_FILE, &unit);
record_unit(RELOAD_LIST_FILE, unit);
}
_ => {}
}
@@ -1319,7 +1319,7 @@ won't take effect until you reboot the system.
// Also handles swap devices.
for (device, _) in current_swaps {
if new_swaps.get(&device).is_none() {
if !new_swaps.contains_key(&device) {
// Swap entry disappeared, so turn it off. Can't use "systemctl stop" here because
// systemd has lots of alias units that prevent a stop from actually calling "swapoff".
if *action == Action::DryActivate {
@@ -1362,7 +1362,6 @@ won't take effect until you reboot the system.
if !units_to_stop_filtered.is_empty() {
let mut units = units_to_stop_filtered
.keys()
.into_iter()
.map(String::as_str)
.collect::<Vec<&str>>();
units.sort_by_key(|name| name.to_lowercase());
@@ -1372,7 +1371,6 @@ won't take effect until you reboot the system.
if !units_to_skip.is_empty() {
let mut units = units_to_skip
.keys()
.into_iter()
.map(String::as_str)
.collect::<Vec<&str>>();
units.sort_by_key(|name| name.to_lowercase());
@@ -1400,7 +1398,7 @@ won't take effect until you reboot the system.
// Detect template instances.
if let Some((Some(template_name), Some(template_instance))) =
template_unit_re.captures(&unit).map(|captures| {
template_unit_re.captures(unit).map(|captures| {
(
captures.get(1).map(|c| c.as_str()),
captures.get(2).map(|c| c.as_str()),
@@ -1469,7 +1467,6 @@ won't take effect until you reboot the system.
if !units_to_reload.is_empty() {
let mut units = units_to_reload
.keys()
.into_iter()
.map(String::as_str)
.collect::<Vec<&str>>();
units.sort_by_key(|name| name.to_lowercase());
@@ -1479,7 +1476,6 @@ won't take effect until you reboot the system.
if !units_to_restart.is_empty() {
let mut units = units_to_restart
.keys()
.into_iter()
.map(String::as_str)
.collect::<Vec<&str>>();
units.sort_by_key(|name| name.to_lowercase());
@@ -1490,7 +1486,6 @@ won't take effect until you reboot the system.
if !units_to_start_filtered.is_empty() {
let mut units = units_to_start_filtered
.keys()
.into_iter()
.map(String::as_str)
.collect::<Vec<&str>>();
units.sort_by_key(|name| name.to_lowercase());
@@ -1506,7 +1501,6 @@ won't take effect until you reboot the system.
if !units_to_stop_filtered.is_empty() {
let mut units = units_to_stop_filtered
.keys()
.into_iter()
.map(String::as_str)
.collect::<Vec<&str>>();
units.sort_by_key(|name| name.to_lowercase());
@@ -1514,12 +1508,9 @@ won't take effect until you reboot the system.
}
for unit in units_to_stop.keys() {
match systemd.stop_unit(unit, "replace") {
Ok(job_path) => {
let mut j = submitted_jobs.borrow_mut();
j.insert(job_path.to_owned(), Job::Stop);
}
Err(_) => {}
if let Ok(job_path) = systemd.stop_unit(unit, "replace") {
let mut j = submitted_jobs.borrow_mut();
j.insert(job_path.to_owned(), Job::Stop);
};
}
@@ -1529,7 +1520,6 @@ won't take effect until you reboot the system.
if !units_to_skip.is_empty() {
let mut units = units_to_skip
.keys()
.into_iter()
.map(String::as_str)
.collect::<Vec<&str>>();
units.sort_by_key(|name| name.to_lowercase());
@@ -1572,7 +1562,7 @@ won't take effect until you reboot the system.
// Detect template instances.
if let Some((Some(template_name), Some(template_instance))) =
template_unit_re.captures(&unit).map(|captures| {
template_unit_re.captures(unit).map(|captures| {
(
captures.get(1).map(|c| c.as_str()),
captures.get(2).map(|c| c.as_str()),
@@ -1756,7 +1746,6 @@ won't take effect until you reboot the system.
if !units_to_reload.is_empty() {
let mut units = units_to_reload
.keys()
.into_iter()
.map(String::as_str)
.collect::<Vec<&str>>();
units.sort_by_key(|name| name.to_lowercase());
@@ -1786,7 +1775,6 @@ won't take effect until you reboot the system.
if !units_to_restart.is_empty() {
let mut units = units_to_restart
.keys()
.into_iter()
.map(String::as_str)
.collect::<Vec<&str>>();
units.sort_by_key(|name| name.to_lowercase());
@@ -1819,7 +1807,6 @@ won't take effect until you reboot the system.
if !units_to_start_filtered.is_empty() {
let mut units = units_to_start_filtered
.keys()
.into_iter()
.map(String::as_str)
.collect::<Vec<&str>>();
units.sort_by_key(|name| name.to_lowercase());
@@ -1968,7 +1955,7 @@ fn main() -> anyhow::Result<()> {
.unwrap_or("switch-to-configuration");
let Some(Ok(action)) = args.next().map(|a| Action::from_str(&a)) else {
usage(&argv0);
usage(argv0);
};
if unsafe { nix::libc::geteuid() } == 0 {
-2498
View File
File diff suppressed because it is too large Load Diff
+10 -13
View File
@@ -10,24 +10,18 @@
rustPlatform.buildRustPackage {
pname = "tdf";
version = "0-unstable-2024-10-09";
version = "0.2.0";
src = fetchFromGitHub {
owner = "itsjunetime";
repo = "tdf";
fetchSubmodules = true;
rev = "f6d339923bc71d3f637f24bf0c6eef6dacb61bf9";
hash = "sha256-C1S5u1EsOYvUE1CqreeBg7Z5Oj+mzCf0zPdZBz0LNLw=";
rev = "a2b728fae3c5b0addfa64e8d3e44eac6fd50f1d9";
hash = "sha256-0as/tKw0nKkZn+5q5PlKwK+LZK0xWXDAdiD3valVjBs=";
};
cargoLock = {
lockFile = ./Cargo.lock;
outputHashes = {
"ratatui-0.28.1" = "sha256-riVdXpHW5J1f4YY2A32YLpwydxn/kJ1cHRdm7CCdoN8=";
"ratatui-image-2.0.1" = "sha256-ZFd7ABeyuO270vWEZEE685Bil6sq3RndqoD7TSU8qmU=";
"vb64-0.1.2" = "sha256-Ypb59Rtn0ZkP6fwqIqOEeiNLcmzB368CkViIVCxpCI8=";
};
};
useFetchCargoVendor = true;
cargoHash = "sha256-krIPfi4SM4uCw7NLauudwh1tgAaB8enDWnMC5X16n48=";
nativeBuildInputs = [ pkg-config ];
buildInputs = [
@@ -48,8 +42,11 @@ rustPlatform.buildRustPackage {
description = "Tui-based PDF viewer";
homepage = "https://github.com/itsjunetime/tdf";
license = lib.licenses.mpl20;
maintainers = with lib.maintainers; [ luftmensch-luftmensch ];
maintainers = with lib.maintainers; [
luftmensch-luftmensch
DieracDelta
];
mainProgram = "tdf";
platforms = lib.platforms.linux;
platforms = lib.platforms.linux ++ lib.platforms.darwin;
};
}
+3 -3
View File
@@ -5,16 +5,16 @@
}:
buildGoModule rec {
pname = "tdl";
version = "0.17.7";
version = "0.18.3";
src = fetchFromGitHub {
owner = "iyear";
repo = "tdl";
rev = "v${version}";
hash = "sha256-1dRZdLHSZo4d6kE8qdyyk8Va4VUVxw3LiiWaz4lGpPQ=";
hash = "sha256-/aZ85FLGlNVfHG/LyfbvxBdZlne/s3ktw7RNmKeNSeI=";
};
vendorHash = "sha256-4lTbDMJkABZC1Slf9YhNZHXECbRhMbck2mqeIfog/aU=";
vendorHash = "sha256-o1GVra4kbjkLtFkoqK+8We/Ov+JHsEI+4jJYX5tPimM=";
ldflags = [
"-s"
+3 -3
View File
@@ -11,16 +11,16 @@
rustPlatform.buildRustPackage rec {
pname = "tui-journal";
version = "0.12.1";
version = "0.13.0";
src = fetchFromGitHub {
owner = "AmmarAbouZor";
repo = "tui-journal";
rev = "v${version}";
hash = "sha256-BVTH5NF0/9wLHwTgXUO+v97d332SwAgTeWbVoQjgRfA=";
hash = "sha256-fmkncLmIlvj7TOXIEcB0AXBa3E6kYqJsVCyekWXHPC0=";
};
cargoHash = "sha256-BnFWv/DcJ8WR67QV/gLK6dBaFvcm7NT4yfCQv0V0mSk=";
cargoHash = "sha256-ewqirDLvsR/FRDUJco4LXPobPtruyYGdbT7qFyithtE=";
nativeBuildInputs = [
pkg-config
+3 -3
View File
@@ -8,17 +8,17 @@
rustPlatform.buildRustPackage rec {
pname = "typstyle";
version = "0.12.9";
version = "0.12.10";
src = fetchFromGitHub {
owner = "Enter-tainer";
repo = "typstyle";
tag = "v${version}";
hash = "sha256-iKtOE/JP77NsYMYPuMJtMMp2qryS4es4IlircekMhbc=";
hash = "sha256-nrsfp0T4QYLZw5F5R4iTewUjlZOErc/15c0O6O9BFBE=";
};
useFetchCargoVendor = true;
cargoHash = "sha256-p6S8YRysEyLCo+082AtwFHYzv+p8JjWhvcWPInGYmvQ=";
cargoHash = "sha256-gPsZRdksX+7sZWK7V/q17oZmN2kgQkApC66/3KowDCI=";
# Disabling tests requiring network access
checkFlags = [
+3 -2
View File
@@ -45,7 +45,7 @@ let
unvanquished-binary-deps = stdenv.mkDerivation rec {
# DISCLAIMER: this is selected binary crap from the NaCl SDK
name = "unvanquished-binary-deps";
pname = "unvanquished-binary-deps";
version = binary-deps-version;
src = fetchzip {
@@ -95,7 +95,8 @@ let
};
fhsEnv = buildFHSEnv {
name = "unvanquished-fhs-wrapper";
pname = "unvanquished-fhs-wrapper";
inherit version;
targetPkgs = pkgs: [ libstdcpp-preload-for-unvanquished-nacl ];
};
+3 -3
View File
@@ -5,14 +5,14 @@
}:
rustPlatform.buildRustPackage rec {
pname = "vault-tasks";
version = "0.5.0";
version = "0.6.1";
src = fetchFromGitHub {
owner = "louis-thevenet";
repo = "vault-tasks";
rev = "v${version}";
hash = "sha256-Ygc19Up/lWLE7eK6AHYbW/+Ddx6om+1cSJB2bxjcf38=";
hash = "sha256-H0cfzjOtVzOEoGmj3u80hj1QlK1QEgbl9vq4otlXKew=";
};
cargoHash = "sha256-MgyKiK+JQsiWMDHQDZ/OTxUvXn2sbZmzqZGzRFkgY4o=";
cargoHash = "sha256-Iezin3TguweHd9RIyFvNL4IWUtXNJbQH2KXIgaXJHgk=";
postInstall = "install -Dm444 desktop/vault-tasks.desktop -t $out/share/applications";
+2 -2
View File
@@ -156,11 +156,11 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "wavebox";
version = "10.129.32-2";
version = "10.131.16-2";
src = fetchurl {
url = "https://download.wavebox.app/stable/linux/deb/amd64/wavebox_${finalAttrs.version}_amd64.deb";
hash = "sha256-MaVmiD+XwQLZVVTEZTn/2Kme5pCHXpgQ9bgJRsfrlU0=";
hash = "sha256-/wnFG+GKV7/f1PBZu7LSZhV9oxUCJCJoNycq/4ONAzQ=";
};
nativeBuildInputs = [
+10 -4
View File
@@ -1,12 +1,18 @@
{
buildXenPackage,
python3Packages,
fetchpatch,
}:
buildXenPackage.override { inherit python3Packages; } {
pname = "xen";
version = "4.19.0-unstable-2024-11-12";
upstreamVersion = "4.19.1-pre"; # We track the stable branches. Despite the version number, this is actually 4.19.0, not 4.19.1.
rev = "251a9496485a86f302980a3f8d3c656831b5a62f";
hash = "sha256-kHuB6kagH3AU+Wsx4oD7HnNsZpxCu7x3v/m4/1xi6lY=";
version = "4.19.1";
patches = [
(fetchpatch {
url = "https://lore.kernel.org/xen-devel/e2caa6648a0b6c429349a9826d8fbc4338222482.1733766758.git.andrii.sultanov@cloud.com/raw";
hash = "sha256-JC1ueXuC1Jdi2gtUsjOHmTeEx56zjotMMLde5vBonxc=";
})
];
rev = "ccf400846780289ae779c62ef0c94757ff43bb60";
hash = "sha256-s0eCBCd6ybl+kLtXCC6E1sk++w7txXn/B/Cg5acQFfY=";
}
+2 -2
View File
@@ -8,13 +8,13 @@
}:
buildGoModule rec {
pname = "ytt";
version = "0.51.0";
version = "0.51.1";
src = fetchFromGitHub {
owner = "carvel-dev";
repo = "ytt";
rev = "v${version}";
sha256 = "sha256-7PN6ejI7Ov0O3oJW71P3s3RWeRrX6M4+GTqsVlr8+7w=";
sha256 = "sha256-MVkgZDHFkjtOuBDm/VjUU2QXMR7HdcNJwqD4mMBHt48=";
};
vendorHash = null;
+3 -3
View File
@@ -89,13 +89,13 @@ let
in
rustPlatform.buildRustPackage rec {
pname = "zed-editor";
version = "0.164.2";
version = "0.165.4";
src = fetchFromGitHub {
owner = "zed-industries";
repo = "zed";
rev = "refs/tags/v${version}";
hash = "sha256-qWfd/d+czk/1YjncRAhgWIRDUUrJQKj7UaEV7RJ5FFs=";
hash = "sha256-g+ZHchlxeNDkxUM306OK3BsjrvO3snF4vcQQZJSIhLc=";
};
patches =
@@ -117,7 +117,7 @@ rustPlatform.buildRustPackage rec {
];
useFetchCargoVendor = true;
cargoHash = "sha256-j8t4i4YNB7eQuJ8+GtOLX0ZSfw6SracFE1sw71l4IKI=";
cargoHash = "sha256-ZNXvuHX9b3T58FUs9TjpfiGYNr9J3IDbz2JE6Vy7Sg0=";
nativeBuildInputs =
[
+2 -2
View File
@@ -43,7 +43,7 @@ let
++ lib.optional withQt (if (supportWayland) then qt5.qtwayland else qt5.qtbase);
in stdenv.mkDerivation rec {
pname = "zxtune";
version = "5075";
version = "5080";
outputs = [ "out" ];
@@ -51,7 +51,7 @@ in stdenv.mkDerivation rec {
owner = "zxtune";
repo = "zxtune";
rev = "r${version}";
hash = "sha256-EhzkNrUU/GEYyLZE5TUIMVaALfqZ3n/0khoZV47GV88=";
hash = "sha256-It+CTDuh6Bxbac4KqFc7MmOXpkEhqSyiPs81Z3T1wyc=";
};
passthru.updateScript = nix-update-script {
@@ -5,13 +5,13 @@
buildDunePackage rec {
pname = "hxd";
version = "0.3.2";
version = "0.3.3";
minimalOCamlVersion = "4.08";
src = fetchurl {
url = "https://github.com/dinosaure/hxd/releases/download/v${version}/hxd-${version}.tbz";
sha256 = "a00290abb8538e79b32ddc22ed9b301b9806bc4c03eb1e5105b14af47dabec9f";
sha256 = "sha256-Tt4jUpal4qJZl3bIvOtIU8Fk735XNXCh7caKTAyQQz4=";
};
propagatedBuildInputs = lib.optional withLwt lwt;
@@ -0,0 +1,41 @@
{
lib,
buildPythonPackage,
fetchPypi,
setuptools,
wheel,
aiocoap,
pycryptodomex,
}:
buildPythonPackage rec {
pname = "aioairctrl";
version = "0.2.5";
pyproject = true;
src = fetchPypi {
inherit pname version;
hash = "sha256-BPUV79S2A0F6vZA2pd3XNLpmRHTp6RSoNXPcI+OJRbk=";
};
build-system = [
setuptools
wheel
];
dependencies = [
aiocoap
pycryptodomex
];
pythonImportsCheck = [ "aioairctrl" ];
doCheck = false; # no tests
meta = {
description = "Library for controlling Philips air purifiers (using encrypted CoAP)";
homepage = "https://github.com/kongo09/aioairctrl";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ justinas ];
};
}
@@ -13,14 +13,14 @@
buildPythonPackage rec {
pname = "courlan";
version = "1.3.1";
version = "1.3.2";
pyproject = true;
disabled = pythonOlder "3.8";
src = fetchPypi {
inherit pname version;
hash = "sha256-EIWKtoZHCjsdh0jXuIGZYHyU5066PIredZukqVdtNm4=";
hash = "sha256-C2b02zqcOabiLdJHxyz6pX1o6mYOlLsshOx9uHEq8ZA=";
};
# Tests try to write to /tmp directly. use $TMPDIR instead.
@@ -14,14 +14,14 @@
buildPythonPackage rec {
pname = "gflanguages";
version = "0.6.5";
version = "0.7.1";
pyproject = true;
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
hash = "sha256-wMhRVWdjKiEfzswnAWqKfzHrpJj0U4q8tzDBGshNryo=";
hash = "sha256-gjWV1T+XU2qKzohDNq1RlZgh8GgRVrSGhpwrXTuTPtE=";
};
# Relax the dependency on protobuf 3. Other packages in the Google Fonts
@@ -15,7 +15,7 @@
buildPythonPackage rec {
pname = "peft";
version = "0.13.2";
version = "0.14.0";
format = "pyproject";
disabled = pythonOlder "3.8";
@@ -23,8 +23,8 @@ buildPythonPackage rec {
src = fetchFromGitHub {
owner = "huggingface";
repo = pname;
rev = "refs/tags/v${version}";
hash = "sha256-LKVrkNFY5Ar5Zl1q3heU+Z0ZKNnMz7VBR/WLrYkAg6Y=";
tag = "v${version}";
hash = "sha256-Bo8nqhxL6st/Nk9wSqly7FH+RNkT0baB+1bbTIolUis=";
};
nativeBuildInputs = [ setuptools ];
@@ -6,25 +6,24 @@
# build-system
poetry-core,
# buildInputs
deprecation,
docker,
wrapt,
# dependencies
docker,
python-dotenv,
typing-extensions,
urllib3,
wrapt,
}:
buildPythonPackage rec {
pname = "testcontainers";
version = "4.8.2";
version = "4.9.0";
pyproject = true;
src = fetchFromGitHub {
owner = "testcontainers";
repo = "testcontainers-python";
rev = "refs/tags/testcontainers-v${version}";
hash = "sha256-cfvhTNUadx7zRmDPAv9Djsx+jWgBIAf9dMmwop/8oa0=";
tag = "testcontainers-v${version}";
hash = "sha256-E0g0A3RJY2l/0N6t+/OSXB+Xm2O/9y7FkscXfGm/nKw=";
};
postPatch = ''
@@ -33,18 +32,21 @@ buildPythonPackage rec {
build-system = [ poetry-core ];
buildInputs = [
deprecation
dependencies = [
docker
typing-extensions
python-dotenv
urllib3
wrapt
];
dependencies = [ typing-extensions ];
# Tests require various container and database services running
doCheck = false;
pythonImportsCheck = [ "testcontainers" ];
pythonImportsCheck = [
"testcontainers"
"testcontainers.core.container"
];
meta = {
description = "Allows using docker containers for functional and integration testing";
@@ -1,5 +1,5 @@
{
"version": "0.7.2",
"url": "https://github.com/getgauge/gauge-dotnet/releases/download/v0.7.2/gauge-dotnet-0.7.2.zip",
"hash": "sha256-ac2pf0st1p/DPAXgQC689nbD+DO7DYkxFqrVItq+UWw="
"version": "0.7.3",
"url": "https://github.com/getgauge/gauge-dotnet/releases/download/v0.7.3/gauge-dotnet-0.7.3.zip",
"hash": "sha256-XjqKij5woXe5e+/NfH21HxSLu5BJCw41de5yXGi5k1Q="
}
@@ -1,19 +1,19 @@
{
"version": "0.11.1",
"version": "0.11.2",
"aarch64-darwin": {
"url": "https://github.com/getgauge/gauge-java/releases/download/v0.11.1/gauge-java-0.11.1-darwin.arm64.zip",
"hash": "sha256-KoUVku5DRi6sUYCMJ5/DBEYv4NlNEcHdOlYGsfYR0Yw="
"url": "https://github.com/getgauge/gauge-java/releases/download/v0.11.2/gauge-java-0.11.2-darwin.arm64.zip",
"hash": "sha256-n5mito+tzYmOR+shjOfhxsXDBeDxV6oC90YeJGu5n8Y="
},
"x86_64-darwin": {
"url": "https://github.com/getgauge/gauge-java/releases/download/v0.11.1/gauge-java-0.11.1-darwin.x86_64.zip",
"hash": "sha256-ea2s3b38MG8r7i6IqlOjQ2Wc7b237Eu1VL7euwNW43M="
"url": "https://github.com/getgauge/gauge-java/releases/download/v0.11.2/gauge-java-0.11.2-darwin.x86_64.zip",
"hash": "sha256-7O8ac62ePbcCQ68R5h1Q4rEJIEBgd6ub8aglsdYpCRg="
},
"aarch64-linux": {
"url": "https://github.com/getgauge/gauge-java/releases/download/v0.11.1/gauge-java-0.11.1-linux.arm64.zip",
"hash": "sha256-QbQWDYkk+XnJReqx+Kj3hvGSDM7ACjDEWVFKd34hZkw="
"url": "https://github.com/getgauge/gauge-java/releases/download/v0.11.2/gauge-java-0.11.2-linux.arm64.zip",
"hash": "sha256-7CAj04MVvcV9/C5HXVnBrKx3OEqgx8khrnFc8jkFFvc="
},
"x86_64-linux": {
"url": "https://github.com/getgauge/gauge-java/releases/download/v0.11.1/gauge-java-0.11.1-linux.x86_64.zip",
"hash": "sha256-Ikt8rE8tehLXtWa4CjU6tWiBvOVoDpds8Jgy8QwW6lY="
"url": "https://github.com/getgauge/gauge-java/releases/download/v0.11.2/gauge-java-0.11.2-linux.x86_64.zip",
"hash": "sha256-LgAekVYpPOjm5t+bwyeZWlUSONgJ0r0mHQRjtB4zoSc="
}
}
@@ -14,16 +14,16 @@
rustPlatform.buildRustPackage rec {
pname = "cargo-crev";
version = "0.25.11";
version = "0.26.2";
src = fetchFromGitHub {
owner = "crev-dev";
repo = "cargo-crev";
rev = "v${version}";
sha256 = "sha256-suKnbCCJWKCDVGEmpddTphUfvuebBeiV+N/B6BIid88=";
sha256 = "sha256-4BtEP8amnyJm0+8NLZq9+Sm5YVxVawNfKiyAasSSBJA=";
};
cargoHash = "sha256-U6pznzHE9yURptV+7rC63vIdD1HxRD+Vg9vemHk7G+Q=";
cargoHash = "sha256-nf+ZGnzsZtB3IQ9gA5t7Ib0p1f6HWm83Qt0rvjn48xk=";
preCheck = ''
export HOME=$(mktemp -d)
@@ -0,0 +1,37 @@
{
lib,
buildHomeAssistantComponent,
fetchFromGitHub,
aioairctrl,
getmac,
}:
buildHomeAssistantComponent rec {
owner = "kongo09";
domain = "philips_airpurifier_coap";
version = "0.28.0";
src = fetchFromGitHub {
inherit owner;
repo = "philips-airpurifier-coap";
rev = "v${version}";
hash = "sha256-yoaph/R3c4j+sXEC02Hv+ixtuif70/y6Gag5NBpKFLs=";
};
postPatch = ''
substituteInPlace custom_components/philips_airpurifier_coap/manifest.json --replace-fail 'getmac==0.9.4' 'getmac>=0.9.4'
'';
dependencies = [
aioairctrl
getmac
];
meta = {
description = "Philips AirPurifier custom component for Home Assistant";
homepage = "https://github.com/kongo09/philips-airpurifier-coap";
license = lib.licenses.unfree; # See https://github.com/kongo09/philips-airpurifier-coap/issues/209
maintainers = with lib.maintainers; [ justinas ];
};
}
+3 -3
View File
@@ -6,16 +6,16 @@
buildGoModule rec {
pname = "spicedb";
version = "1.37.1";
version = "1.38.1";
src = fetchFromGitHub {
owner = "authzed";
repo = "spicedb";
rev = "v${version}";
hash = "sha256-15X9Q6akidXTYO5U3MYi14u8shTicQQ9wGSVOcefxhg=";
hash = "sha256-axPf0HV+slTJ3aDuy8x/YZ/UKkTuRcKSMhkMPRrbm4M=";
};
vendorHash = "sha256-aTfjSGen9rJ/GTCUFuuEykNqQNsnuNyRGm7CtMSZoJ0=";
vendorHash = "sha256-8Y8Mg6zLR9FOrf/TfGBOOo7ud5/1pXTm7d/Kdtwx0Gc=";
ldflags = [
"-X 'github.com/jzelinskie/cobrautil/v2.Version=${src.rev}'"
@@ -1,7 +1,5 @@
{
pkgs ? import <nixpkgs> {
inherit system;
},
pkgs ? import <nixpkgs> { inherit system; },
system ? builtins.currentSystem,
noDev ? false,
php ? pkgs.php,
+2 -2
View File
@@ -27,13 +27,13 @@ let
in
package.override rec {
pname = "bookstack";
version = "24.05.4";
version = "24.10.3";
src = fetchFromGitHub {
owner = "bookstackapp";
repo = pname;
rev = "v${version}";
sha256 = "1aa4im2khxycv5i2ff23ss91p4kr7d2a4yhjm0k0n6av64zhz2x3";
sha256 = "11gbzx5qb79vknrs2ci5g21jxz7sxm3b69m0xhqpkbpdfnrgp4pl";
};
meta = with lib; {
+194 -204
View File
@@ -12,30 +12,30 @@ let
"aws/aws-crt-php" = {
targetDir = "";
src = composerEnv.buildZipPackage {
name = "aws-aws-crt-php-a63485b65b6b3367039306496d49737cf1995408";
name = "aws-aws-crt-php-d71d9906c7bb63a28295447ba12e74723bd3730e";
src = fetchurl {
url = "https://api.github.com/repos/awslabs/aws-crt-php/zipball/a63485b65b6b3367039306496d49737cf1995408";
sha256 = "0sga71rp99dxjx524wxrn9lrjca4fd5iniphzwd9ss97w9nihq9i";
url = "https://api.github.com/repos/awslabs/aws-crt-php/zipball/d71d9906c7bb63a28295447ba12e74723bd3730e";
sha256 = "1giqdlzja742di06qychsi8w12hy4dmaajzgl7jhcpwqqyi4xh42";
};
};
};
"aws/aws-sdk-php" = {
targetDir = "";
src = composerEnv.buildZipPackage {
name = "aws-aws-sdk-php-702b9955160d2dacdf2cdf4d4476fcf95eae1aaf";
name = "aws-aws-sdk-php-0f8b3f63ba7b296afedcb3e6a43ce140831b9400";
src = fetchurl {
url = "https://api.github.com/repos/aws/aws-sdk-php/zipball/702b9955160d2dacdf2cdf4d4476fcf95eae1aaf";
sha256 = "0yhld9v2qbdrw3bz8dwjhv60mbjyr632rqnj593h3bsxf4w3l7vj";
url = "https://api.github.com/repos/aws/aws-sdk-php/zipball/0f8b3f63ba7b296afedcb3e6a43ce140831b9400";
sha256 = "1fccvd3mp1q180980y2ri0iy55mrzcv3yc1kiwiz4dm2lswzi2n8";
};
};
};
"bacon/bacon-qr-code" = {
targetDir = "";
src = composerEnv.buildZipPackage {
name = "bacon-bacon-qr-code-8674e51bb65af933a5ffaf1c308a660387c35c22";
name = "bacon-bacon-qr-code-f9cc1f52b5a463062251d666761178dbdb6b544f";
src = fetchurl {
url = "https://api.github.com/repos/Bacon/BaconQrCode/zipball/8674e51bb65af933a5ffaf1c308a660387c35c22";
sha256 = "0hb0w6m5rwzghw2im3yqn6ly2kvb3jgrv8jwra1lwd0ik6ckrngl";
url = "https://api.github.com/repos/Bacon/BaconQrCode/zipball/f9cc1f52b5a463062251d666761178dbdb6b544f";
sha256 = "1gjx5c8y5kx57i1525pls1ay0rrxd3bh8504arrxjh7fcag0lvdf";
};
};
};
@@ -92,10 +92,10 @@ let
"doctrine/dbal" = {
targetDir = "";
src = composerEnv.buildZipPackage {
name = "doctrine-dbal-d8f68ea6cc00912e5313237130b8c8decf4d28c6";
name = "doctrine-dbal-61446f07fcb522414d6cfd8b1c3e5f9e18c579ba";
src = fetchurl {
url = "https://api.github.com/repos/doctrine/dbal/zipball/d8f68ea6cc00912e5313237130b8c8decf4d28c6";
sha256 = "0ay8x80cyfnr83c3bpjkabh0hlzz7hibd8jpfr24gsrf592sz82m";
url = "https://api.github.com/repos/doctrine/dbal/zipball/61446f07fcb522414d6cfd8b1c3e5f9e18c579ba";
sha256 = "0sxl6xf9svrz4pda9x3zpygfqr6m0x96yixjim6mqi8mx4xxayv9";
};
};
};
@@ -142,20 +142,40 @@ let
"dompdf/dompdf" = {
targetDir = "";
src = composerEnv.buildZipPackage {
name = "dompdf-dompdf-c20247574601700e1f7c8dab39310fca1964dc52";
name = "dompdf-dompdf-fbc7c5ee5d94f7a910b78b43feb7931b7f971b59";
src = fetchurl {
url = "https://api.github.com/repos/dompdf/dompdf/zipball/c20247574601700e1f7c8dab39310fca1964dc52";
sha256 = "01r93dlglgvd1dnpq0jpjajr0vwkv56zyi9xafw423lyg2ghn3n0";
url = "https://api.github.com/repos/dompdf/dompdf/zipball/fbc7c5ee5d94f7a910b78b43feb7931b7f971b59";
sha256 = "0pm5nkk44z5walc494g907w6s0n8njq62bbr2sr5akcdic4wwshs";
};
};
};
"dompdf/php-font-lib" = {
targetDir = "";
src = composerEnv.buildZipPackage {
name = "dompdf-php-font-lib-991d6a954f6bbd7e41022198f00586b230731441";
src = fetchurl {
url = "https://api.github.com/repos/dompdf/php-font-lib/zipball/991d6a954f6bbd7e41022198f00586b230731441";
sha256 = "03k37d1dswzgmsjzzmhyavvbs46jara7v976cxmbs89by48kngmj";
};
};
};
"dompdf/php-svg-lib" = {
targetDir = "";
src = composerEnv.buildZipPackage {
name = "dompdf-php-svg-lib-eb045e518185298eb6ff8d80d0d0c6b17aecd9af";
src = fetchurl {
url = "https://api.github.com/repos/dompdf/php-svg-lib/zipball/eb045e518185298eb6ff8d80d0d0c6b17aecd9af";
sha256 = "1n9ykcs226fnzhk45afyjpn50pqmz5w3gw5zx5iyv0lsdpdhdilc";
};
};
};
"dragonmantank/cron-expression" = {
targetDir = "";
src = composerEnv.buildZipPackage {
name = "dragonmantank-cron-expression-adfb1f505deb6384dc8b39804c5065dd3c8c8c0a";
name = "dragonmantank-cron-expression-8c784d071debd117328803d86b2097615b457500";
src = fetchurl {
url = "https://api.github.com/repos/dragonmantank/cron-expression/zipball/adfb1f505deb6384dc8b39804c5065dd3c8c8c0a";
sha256 = "1gw2bnsh8ca5plfpyyyz1idnx7zxssg6fbwl7niszck773zrm5ca";
url = "https://api.github.com/repos/dragonmantank/cron-expression/zipball/8c784d071debd117328803d86b2097615b457500";
sha256 = "1zamydhfqww233055i7199jqpn6cjxm00r5mfa6mix3fnbbff7n1";
};
};
};
@@ -172,10 +192,10 @@ let
"firebase/php-jwt" = {
targetDir = "";
src = composerEnv.buildZipPackage {
name = "firebase-php-jwt-500501c2ce893c824c801da135d02661199f60c5";
name = "firebase-php-jwt-30c19ed0f3264cb660ea496895cfb6ef7ee3653b";
src = fetchurl {
url = "https://api.github.com/repos/firebase/php-jwt/zipball/500501c2ce893c824c801da135d02661199f60c5";
sha256 = "1dnn4r2yrckai5f88riix9ws615007x6x9i6j7621kmy5a05xaiq";
url = "https://api.github.com/repos/firebase/php-jwt/zipball/30c19ed0f3264cb660ea496895cfb6ef7ee3653b";
sha256 = "1hyf7g7i1bwv5yd53dg3g6c5f4r8cniynys4y4dwqavl5v92lgkn";
};
};
};
@@ -212,10 +232,10 @@ let
"guzzlehttp/promises" = {
targetDir = "";
src = composerEnv.buildZipPackage {
name = "guzzlehttp-promises-6ea8dd08867a2a42619d65c3deb2c0fcbf81c8f8";
name = "guzzlehttp-promises-f9c436286ab2892c7db7be8c8da4ef61ccf7b455";
src = fetchurl {
url = "https://api.github.com/repos/guzzle/promises/zipball/6ea8dd08867a2a42619d65c3deb2c0fcbf81c8f8";
sha256 = "03l91ksymgygdwa30ry0752564nrwkbgmrmlhmmhq89v06i70lln";
url = "https://api.github.com/repos/guzzle/promises/zipball/f9c436286ab2892c7db7be8c8da4ef61ccf7b455";
sha256 = "0xp8slhb6kw9n7i5y6cpbgkc0nkk4gb1lw452kz4fszhk3r1wmgh";
};
};
};
@@ -242,20 +262,20 @@ let
"intervention/gif" = {
targetDir = "";
src = composerEnv.buildZipPackage {
name = "intervention-gif-3a2b5f8a8856e8877cdab5c47e51aab2d4cb23a3";
name = "intervention-gif-42c131a31b93c440ad49061b599fa218f06f93be";
src = fetchurl {
url = "https://api.github.com/repos/Intervention/gif/zipball/3a2b5f8a8856e8877cdab5c47e51aab2d4cb23a3";
sha256 = "1b2ljm2pi03p0jzkvl2da2bqv60xniyasgz0wv3xi9qjxv7abbx6";
url = "https://api.github.com/repos/Intervention/gif/zipball/42c131a31b93c440ad49061b599fa218f06f93be";
sha256 = "00144rc5wig0d594m2xvpwr2nd28z2xr4s7rcgcqg0iyf6d4xnwy";
};
};
};
"intervention/image" = {
targetDir = "";
src = composerEnv.buildZipPackage {
name = "intervention-image-1786ad5e1789050939d73cd195de4b8eaeeb34ed";
name = "intervention-image-b496d1f6b9f812f96166623358dfcafb8c3b1683";
src = fetchurl {
url = "https://api.github.com/repos/Intervention/image/zipball/1786ad5e1789050939d73cd195de4b8eaeeb34ed";
sha256 = "1hx23frhjsisss19xzhjmrv7ymf0siqp1g50xvx27kisp7ifyv1k";
url = "https://api.github.com/repos/Intervention/image/zipball/b496d1f6b9f812f96166623358dfcafb8c3b1683";
sha256 = "0mkcwbkp6g36irngcdaf13zs2ddhkjjy19szd45xvnrgi815szak";
};
};
};
@@ -272,10 +292,10 @@ let
"laravel/framework" = {
targetDir = "";
src = composerEnv.buildZipPackage {
name = "laravel-framework-be2be342d4c74db6a8d2bd18469cd6d488ab9c98";
name = "laravel-framework-f132b23b13909cc22c615c01b0c5640541c3da0c";
src = fetchurl {
url = "https://api.github.com/repos/laravel/framework/zipball/be2be342d4c74db6a8d2bd18469cd6d488ab9c98";
sha256 = "0r62pimjsqcgip725qh4zmb7icssf84larffjv2l0g4f31683h6x";
url = "https://api.github.com/repos/laravel/framework/zipball/f132b23b13909cc22c615c01b0c5640541c3da0c";
sha256 = "1jcj7cy0hhnx1h69c5sbj193sd43azgjcg89vmzn271z20nbq2bp";
};
};
};
@@ -292,30 +312,30 @@ let
"laravel/serializable-closure" = {
targetDir = "";
src = composerEnv.buildZipPackage {
name = "laravel-serializable-closure-61b87392d986dc49ad5ef64e75b1ff5fee24ef81";
name = "laravel-serializable-closure-4f48ade902b94323ca3be7646db16209ec76be3d";
src = fetchurl {
url = "https://api.github.com/repos/laravel/serializable-closure/zipball/61b87392d986dc49ad5ef64e75b1ff5fee24ef81";
sha256 = "02mpbd5qv27p5637yyyx8jpx6x3sgjdj1j5immlgc73j7a0vj7xl";
url = "https://api.github.com/repos/laravel/serializable-closure/zipball/4f48ade902b94323ca3be7646db16209ec76be3d";
sha256 = "0bky5s0lhi52d50jvns0844v9fcjlrf95df4mxrz17rkffix3h5w";
};
};
};
"laravel/socialite" = {
targetDir = "";
src = composerEnv.buildZipPackage {
name = "laravel-socialite-cc02625f0bd1f95dc3688eb041cce0f1e709d029";
name = "laravel-socialite-40a2dc98c53d9dc6d55eadb0d490d3d72b73f1bf";
src = fetchurl {
url = "https://api.github.com/repos/laravel/socialite/zipball/cc02625f0bd1f95dc3688eb041cce0f1e709d029";
sha256 = "1fcrk4h4gwb06x842225yk1mbja0bbrzjd7dxkhqzvccfkd3q1km";
url = "https://api.github.com/repos/laravel/socialite/zipball/40a2dc98c53d9dc6d55eadb0d490d3d72b73f1bf";
sha256 = "0bdc7z06yn7n17bhagp3b0a0q5639yy9766vzbd0sxjllnyviq4l";
};
};
};
"laravel/tinker" = {
targetDir = "";
src = composerEnv.buildZipPackage {
name = "laravel-tinker-502e0fe3f0415d06d5db1f83a472f0f3b754bafe";
name = "laravel-tinker-ba4d51eb56de7711b3a37d63aa0643e99a339ae5";
src = fetchurl {
url = "https://api.github.com/repos/laravel/tinker/zipball/502e0fe3f0415d06d5db1f83a472f0f3b754bafe";
sha256 = "13l5lm6xz9qad3nmld8sjr4bznh82z8s4kr8kkd8d8a1ai6jd0aq";
url = "https://api.github.com/repos/laravel/tinker/zipball/ba4d51eb56de7711b3a37d63aa0643e99a339ae5";
sha256 = "1zwfb4qcy254fbfzv0y6vijmr5309qi419mppmzd3x68bhwbqqhx";
};
};
};
@@ -342,30 +362,30 @@ let
"league/flysystem" = {
targetDir = "";
src = composerEnv.buildZipPackage {
name = "league-flysystem-e611adab2b1ae2e3072fa72d62c62f52c2bf1f0c";
name = "league-flysystem-edc1bb7c86fab0776c3287dbd19b5fa278347319";
src = fetchurl {
url = "https://api.github.com/repos/thephpleague/flysystem/zipball/e611adab2b1ae2e3072fa72d62c62f52c2bf1f0c";
sha256 = "18sackbf9pfbpr03dd5z8vfcqsqhz1sajj2pp2wddz3srcf3zxk5";
url = "https://api.github.com/repos/thephpleague/flysystem/zipball/edc1bb7c86fab0776c3287dbd19b5fa278347319";
sha256 = "04pimnf6r8ji528miz1cvzd7wqg3i79nlgrlnk1g9sl58c3aac99";
};
};
};
"league/flysystem-aws-s3-v3" = {
targetDir = "";
src = composerEnv.buildZipPackage {
name = "league-flysystem-aws-s3-v3-22071ef1604bc776f5ff2468ac27a752514665c8";
name = "league-flysystem-aws-s3-v3-c6ff6d4606e48249b63f269eba7fabdb584e76a9";
src = fetchurl {
url = "https://api.github.com/repos/thephpleague/flysystem-aws-s3-v3/zipball/22071ef1604bc776f5ff2468ac27a752514665c8";
sha256 = "1yhrnw4alf5cf3bwyd3nxcrmwcih6hkmc2l3f6nmhksiza89b9cv";
url = "https://api.github.com/repos/thephpleague/flysystem-aws-s3-v3/zipball/c6ff6d4606e48249b63f269eba7fabdb584e76a9";
sha256 = "1xafv6yal257zjs78v08axhx0vh8mwp2c755qcc663aqqxf0f191";
};
};
};
"league/flysystem-local" = {
targetDir = "";
src = composerEnv.buildZipPackage {
name = "league-flysystem-local-13f22ea8be526ea58c2ddff9e158ef7c296e4f40";
name = "league-flysystem-local-e0e8d52ce4b2ed154148453d321e97c8e931bd27";
src = fetchurl {
url = "https://api.github.com/repos/thephpleague/flysystem-local/zipball/13f22ea8be526ea58c2ddff9e158ef7c296e4f40";
sha256 = "1cpi818r6nizp965hiba9zhrfjr9gbyqms3f4r4hzd19d73p6l60";
url = "https://api.github.com/repos/thephpleague/flysystem-local/zipball/e0e8d52ce4b2ed154148453d321e97c8e931bd27";
sha256 = "1znrjl38qagn78rjnsrlqmwghff6dfdqk9wy5r0bhrf6yjfs7j3z";
};
};
};
@@ -382,10 +402,10 @@ let
"league/mime-type-detection" = {
targetDir = "";
src = composerEnv.buildZipPackage {
name = "league-mime-type-detection-ce0f4d1e8a6f4eb0ddff33f57c69c50fd09f4301";
name = "league-mime-type-detection-2d6702ff215bf922936ccc1ad31007edc76451b9";
src = fetchurl {
url = "https://api.github.com/repos/thephpleague/mime-type-detection/zipball/ce0f4d1e8a6f4eb0ddff33f57c69c50fd09f4301";
sha256 = "1yvjnqb6wv6kxfs21qw31yqcb653dz2xw9g646y2g9via33fxvpd";
url = "https://api.github.com/repos/thephpleague/mime-type-detection/zipball/2d6702ff215bf922936ccc1ad31007edc76451b9";
sha256 = "0i1gkmflcb17f2bi39xgfgxkjw0wb3qzlag7zjdwqfrg991xda0v";
};
};
};
@@ -422,20 +442,20 @@ let
"monolog/monolog" = {
targetDir = "";
src = composerEnv.buildZipPackage {
name = "monolog-monolog-f4393b648b78a5408747de94fca38beb5f7e9ef8";
name = "monolog-monolog-32e515fdc02cdafbe4593e30a9350d486b125b67";
src = fetchurl {
url = "https://api.github.com/repos/Seldaek/monolog/zipball/f4393b648b78a5408747de94fca38beb5f7e9ef8";
sha256 = "0jz5b9rss98xa4bw0y4bp3by9vpbw97scwndkjimq7kwr9n6kpjy";
url = "https://api.github.com/repos/Seldaek/monolog/zipball/32e515fdc02cdafbe4593e30a9350d486b125b67";
sha256 = "0bj9mzh8a08y672fbwmmgxp8ma1n2cjcs37bjv2wy9pcnr28562p";
};
};
};
"mtdowling/jmespath.php" = {
targetDir = "";
src = composerEnv.buildZipPackage {
name = "mtdowling-jmespath.php-bbb69a935c2cbb0c03d7f481a238027430f6440b";
name = "mtdowling-jmespath.php-a2a865e05d5f420b50cc2f85bb78d565db12a6bc";
src = fetchurl {
url = "https://api.github.com/repos/jmespath/jmespath.php/zipball/bbb69a935c2cbb0c03d7f481a238027430f6440b";
sha256 = "1ksjdc2icgafkx16j05ir3vk1ryhgdr2l41wpfd6nhzzk42smiwb";
url = "https://api.github.com/repos/jmespath/jmespath.php/zipball/a2a865e05d5f420b50cc2f85bb78d565db12a6bc";
sha256 = "0jrv7w57fb22lrmvr1llw82g2zghm55bar8mp7jnmx486fn6vlx1";
};
};
};
@@ -452,10 +472,10 @@ let
"nette/schema" = {
targetDir = "";
src = composerEnv.buildZipPackage {
name = "nette-schema-a6d3a6d1f545f01ef38e60f375d1cf1f4de98188";
name = "nette-schema-da801d52f0354f70a638673c4a0f04e16529431d";
src = fetchurl {
url = "https://api.github.com/repos/nette/schema/zipball/a6d3a6d1f545f01ef38e60f375d1cf1f4de98188";
sha256 = "0byhgs7jv0kybv0x3xycvi0x2gh7009a3dfgs02yqzzjbbwvrzgz";
url = "https://api.github.com/repos/nette/schema/zipball/da801d52f0354f70a638673c4a0f04e16529431d";
sha256 = "0l9yc070yd90v4bzqrcnl4lc7vsk35d96fs1r8qsy4v8gnwmmfxy";
};
};
};
@@ -472,20 +492,20 @@ let
"nikic/php-parser" = {
targetDir = "";
src = composerEnv.buildZipPackage {
name = "nikic-php-parser-683130c2ff8c2739f4822ff7ac5c873ec529abd1";
name = "nikic-php-parser-8eea230464783aa9671db8eea6f8c6ac5285794b";
src = fetchurl {
url = "https://api.github.com/repos/nikic/PHP-Parser/zipball/683130c2ff8c2739f4822ff7ac5c873ec529abd1";
sha256 = "1wwjddqsbq94grckdnplcg8c3423y2jw2mx97n2k7f8wlq4q1fhv";
url = "https://api.github.com/repos/nikic/PHP-Parser/zipball/8eea230464783aa9671db8eea6f8c6ac5285794b";
sha256 = "1afglrsixmhjb4s5zpvw1y1mayjii6fbb22cfb6c96i84d3sjlc6";
};
};
};
"nunomaduro/termwind" = {
targetDir = "";
src = composerEnv.buildZipPackage {
name = "nunomaduro-termwind-8ab0b32c8caa4a2e09700ea32925441385e4a5dc";
name = "nunomaduro-termwind-5369ef84d8142c1d87e4ec278711d4ece3cbf301";
src = fetchurl {
url = "https://api.github.com/repos/nunomaduro/termwind/zipball/8ab0b32c8caa4a2e09700ea32925441385e4a5dc";
sha256 = "1g75vpq7014s5yd6bvj78b88ia31slkikdhjv8iprz987qm5dnl7";
url = "https://api.github.com/repos/nunomaduro/termwind/zipball/5369ef84d8142c1d87e4ec278711d4ece3cbf301";
sha256 = "18n79xd3pp3mim5dkhjlgp6xbsyfrvps6cfwkb2hykf5gbk0n0lh";
};
};
};
@@ -502,10 +522,10 @@ let
"paragonie/constant_time_encoding" = {
targetDir = "";
src = composerEnv.buildZipPackage {
name = "paragonie-constant_time_encoding-52a0d99e69f56b9ec27ace92ba56897fe6993105";
name = "paragonie-constant_time_encoding-df1e7fde177501eee2037dd159cf04f5f301a512";
src = fetchurl {
url = "https://api.github.com/repos/paragonie/constant_time_encoding/zipball/52a0d99e69f56b9ec27ace92ba56897fe6993105";
sha256 = "1ja5b3fm5v665igrd37vs28zdipbh1xgh57lil2iaggvh1b8kh4x";
url = "https://api.github.com/repos/paragonie/constant_time_encoding/zipball/df1e7fde177501eee2037dd159cf04f5f301a512";
sha256 = "1kmhg6nfl71p4incb64md9q0s9lnpbl65z8442kqlgyhhfzi00v2";
};
};
};
@@ -519,26 +539,6 @@ let
};
};
};
"phenx/php-font-lib" = {
targetDir = "";
src = composerEnv.buildZipPackage {
name = "phenx-php-font-lib-a1681e9793040740a405ac5b189275059e2a9863";
src = fetchurl {
url = "https://api.github.com/repos/dompdf/php-font-lib/zipball/a1681e9793040740a405ac5b189275059e2a9863";
sha256 = "0xb28w943pg0xb5mmm2jd74vr14k2lwh40azpfv0p4ghfg16v3jp";
};
};
};
"phenx/php-svg-lib" = {
targetDir = "";
src = composerEnv.buildZipPackage {
name = "phenx-php-svg-lib-46b25da81613a9cf43c83b2a8c2c1bdab27df691";
src = fetchurl {
url = "https://api.github.com/repos/dompdf/php-svg-lib/zipball/46b25da81613a9cf43c83b2a8c2c1bdab27df691";
sha256 = "1bpkank11plq1xwxv5psn8ip4pk9qxffmgf71k0bzq26xa2b2v8b";
};
};
};
"phpoption/phpoption" = {
targetDir = "";
src = composerEnv.buildZipPackage {
@@ -552,30 +552,30 @@ let
"phpseclib/phpseclib" = {
targetDir = "";
src = composerEnv.buildZipPackage {
name = "phpseclib-phpseclib-621c73f7dcb310b61de34d1da4c4204e8ace6ceb";
name = "phpseclib-phpseclib-db92f1b1987b12b13f248fe76c3a52cadb67bb98";
src = fetchurl {
url = "https://api.github.com/repos/phpseclib/phpseclib/zipball/621c73f7dcb310b61de34d1da4c4204e8ace6ceb";
sha256 = "1p3asiv3cak3m6lla66bgxiwz00nwn1dd6lwnqgdpqyqh6gbln1n";
url = "https://api.github.com/repos/phpseclib/phpseclib/zipball/db92f1b1987b12b13f248fe76c3a52cadb67bb98";
sha256 = "0121b5ysn2wj9x5pibil2d0fqvy0b1wpywr7r7y5n2n5bnmq1p6i";
};
};
};
"pragmarx/google2fa" = {
targetDir = "";
src = composerEnv.buildZipPackage {
name = "pragmarx-google2fa-80c3d801b31fe165f8fe99ea085e0a37834e1be3";
name = "pragmarx-google2fa-6f8d87ebd5afbf7790bde1ffc7579c7c705e0fad";
src = fetchurl {
url = "https://api.github.com/repos/antonioribeiro/google2fa/zipball/80c3d801b31fe165f8fe99ea085e0a37834e1be3";
sha256 = "0qfjgkl02ifc0zicv3d5d6zs8mwpq68bg211jy3psgghnqpxyhlm";
url = "https://api.github.com/repos/antonioribeiro/google2fa/zipball/6f8d87ebd5afbf7790bde1ffc7579c7c705e0fad";
sha256 = "0dknaaz6rlnyvisqbydx9mvy3fgp8pjavk4ms8qyq6dil4z1z13l";
};
};
};
"predis/predis" = {
targetDir = "";
src = composerEnv.buildZipPackage {
name = "predis-predis-b1d3255ed9ad4d7254f9f9bba386c99f4bb983d1";
name = "predis-predis-bac46bfdb78cd6e9c7926c697012aae740cb9ec9";
src = fetchurl {
url = "https://api.github.com/repos/predis/predis/zipball/b1d3255ed9ad4d7254f9f9bba386c99f4bb983d1";
sha256 = "0pylca7in1fm6vyrfdp12pqamp7y09cr5mc8hyr1m22r9f6m82l9";
url = "https://api.github.com/repos/predis/predis/zipball/bac46bfdb78cd6e9c7926c697012aae740cb9ec9";
sha256 = "1gq4drppphcxdmcgxnx4l63qnlksns0xs9amnz9dr728vs89y9k6";
};
};
};
@@ -652,10 +652,10 @@ let
"psr/log" = {
targetDir = "";
src = composerEnv.buildZipPackage {
name = "psr-log-79dff0b268932c640297f5208d6298f71855c03e";
name = "psr-log-f16e1d5863e37f8d8c2a01719f5b34baa2b714d3";
src = fetchurl {
url = "https://api.github.com/repos/php-fig/log/zipball/79dff0b268932c640297f5208d6298f71855c03e";
sha256 = "18vvdj61v85glmr26i1jl1x93cq2c1aq1ajpa6z4l749c62670f2";
url = "https://api.github.com/repos/php-fig/log/zipball/f16e1d5863e37f8d8c2a01719f5b34baa2b714d3";
sha256 = "14h8r5qwjvlj7mjwk6ksbhffbv4k9v5cailin9039z1kz4nwz38y";
};
};
};
@@ -712,20 +712,20 @@ let
"robrichards/xmlseclibs" = {
targetDir = "";
src = composerEnv.buildZipPackage {
name = "robrichards-xmlseclibs-f8f19e58f26cdb42c54b214ff8a820760292f8df";
name = "robrichards-xmlseclibs-2bdfd742624d739dfadbd415f00181b4a77aaf07";
src = fetchurl {
url = "https://api.github.com/repos/robrichards/xmlseclibs/zipball/f8f19e58f26cdb42c54b214ff8a820760292f8df";
sha256 = "01zlpm36rrdj310cfmiz2fnabszxd3fq80fa8x8j3f9ki7dvhh5y";
url = "https://api.github.com/repos/robrichards/xmlseclibs/zipball/2bdfd742624d739dfadbd415f00181b4a77aaf07";
sha256 = "0i7kah5qym1nqzvhlyzr4x519cnm2wshgc4x95zis6nci2abc4nb";
};
};
};
"sabberworm/php-css-parser" = {
targetDir = "";
src = composerEnv.buildZipPackage {
name = "sabberworm-php-css-parser-d2fb94a9641be84d79c7548c6d39bbebba6e9a70";
name = "sabberworm-php-css-parser-f414ff953002a9b18e3a116f5e462c56f21237cf";
src = fetchurl {
url = "https://api.github.com/repos/MyIntervals/PHP-CSS-Parser/zipball/d2fb94a9641be84d79c7548c6d39bbebba6e9a70";
sha256 = "0dvn86wx9h4vlw7wz7v1jq8ba654s060dg3186z2cr2q9f636dy2";
url = "https://api.github.com/repos/MyIntervals/PHP-CSS-Parser/zipball/f414ff953002a9b18e3a116f5e462c56f21237cf";
sha256 = "0g1swfbvqafhzw6kdfc3dgn3n0bv1mcjy0q4xnb9j31j03j6nhni";
};
};
};
@@ -752,10 +752,10 @@ let
"socialiteproviders/manager" = {
targetDir = "";
src = composerEnv.buildZipPackage {
name = "socialiteproviders-manager-dea5190981c31b89e52259da9ab1ca4e2b258b21";
name = "socialiteproviders-manager-ab0691b82cec77efd90154c78f1854903455c82f";
src = fetchurl {
url = "https://api.github.com/repos/SocialiteProviders/Manager/zipball/dea5190981c31b89e52259da9ab1ca4e2b258b21";
sha256 = "11lvz1lckglh5nz0nvv0ifw9a2yfcgzlf30h09ci0d6cklkqf3la";
url = "https://api.github.com/repos/SocialiteProviders/Manager/zipball/ab0691b82cec77efd90154c78f1854903455c82f";
sha256 = "016w17wjw35dbkpy3y032dp1ns43khybsxqfqgvdm5ipwrh2z6hx";
};
};
};
@@ -812,270 +812,260 @@ let
"symfony/console" = {
targetDir = "";
src = composerEnv.buildZipPackage {
name = "symfony-console-504974cbe43d05f83b201d6498c206f16fc0cdbc";
name = "symfony-console-f1fc6f47283e27336e7cebb9e8946c8de7bff9bd";
src = fetchurl {
url = "https://api.github.com/repos/symfony/console/zipball/504974cbe43d05f83b201d6498c206f16fc0cdbc";
sha256 = "004hx7047y2cknj54kfifj28rchvx7k1635y28gmaq5k5caahfd8";
url = "https://api.github.com/repos/symfony/console/zipball/f1fc6f47283e27336e7cebb9e8946c8de7bff9bd";
sha256 = "0c2j2w9fnah56rgpfjnn21n23gp46253qp6j8q5xdz1z70dy9ihg";
};
};
};
"symfony/css-selector" = {
targetDir = "";
src = composerEnv.buildZipPackage {
name = "symfony-css-selector-4b61b02fe15db48e3687ce1c45ea385d1780fe08";
name = "symfony-css-selector-cb23e97813c5837a041b73a6d63a9ddff0778f5e";
src = fetchurl {
url = "https://api.github.com/repos/symfony/css-selector/zipball/4b61b02fe15db48e3687ce1c45ea385d1780fe08";
sha256 = "066gmgxy8228kxfqgirmilil172q61i6fc0vnxxpmcyz6b7xxfai";
url = "https://api.github.com/repos/symfony/css-selector/zipball/cb23e97813c5837a041b73a6d63a9ddff0778f5e";
sha256 = "1xfvaydli47df151mvrdg34xx0jpvywiyyml5wrznb1hvds5z2gi";
};
};
};
"symfony/deprecation-contracts" = {
targetDir = "";
src = composerEnv.buildZipPackage {
name = "symfony-deprecation-contracts-0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1";
name = "symfony-deprecation-contracts-74c71c939a79f7d5bf3c1ce9f5ea37ba0114c6f6";
src = fetchurl {
url = "https://api.github.com/repos/symfony/deprecation-contracts/zipball/0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1";
sha256 = "1qhyyfyd7q75nyqivjzrljmqa5qhh09gjs2vz7s3xadq0j525c2b";
url = "https://api.github.com/repos/symfony/deprecation-contracts/zipball/74c71c939a79f7d5bf3c1ce9f5ea37ba0114c6f6";
sha256 = "0jr67zcxmgq26xi9lrw3pg33fvchf27qg3liicm3r1k36hg4ymwf";
};
};
};
"symfony/error-handler" = {
targetDir = "";
src = composerEnv.buildZipPackage {
name = "symfony-error-handler-231f1b2ee80f72daa1972f7340297d67439224f0";
name = "symfony-error-handler-9e024324511eeb00983ee76b9aedc3e6ecd993d9";
src = fetchurl {
url = "https://api.github.com/repos/symfony/error-handler/zipball/231f1b2ee80f72daa1972f7340297d67439224f0";
sha256 = "0bdphr8xv4d9ln3yiaajzxfvybc6kvcpsybf69kg6f2v88p14pj7";
url = "https://api.github.com/repos/symfony/error-handler/zipball/9e024324511eeb00983ee76b9aedc3e6ecd993d9";
sha256 = "18psyck3drgxqshs6r6kixcna3irp9sqf59b1ybd34f2fszp3nn6";
};
};
};
"symfony/event-dispatcher" = {
targetDir = "";
src = composerEnv.buildZipPackage {
name = "symfony-event-dispatcher-8d7507f02b06e06815e56bb39aa0128e3806208b";
name = "symfony-event-dispatcher-0ffc48080ab3e9132ea74ef4e09d8dcf26bf897e";
src = fetchurl {
url = "https://api.github.com/repos/symfony/event-dispatcher/zipball/8d7507f02b06e06815e56bb39aa0128e3806208b";
sha256 = "162p2x4vxwvljdrqq481sccspzyky2g53pmmnqg4hvg76g5yajj8";
url = "https://api.github.com/repos/symfony/event-dispatcher/zipball/0ffc48080ab3e9132ea74ef4e09d8dcf26bf897e";
sha256 = "1gbdzsdhmncxpsdhy2l28lb1yjny1k6d7gz04c58bqpy9lwyc6pv";
};
};
};
"symfony/event-dispatcher-contracts" = {
targetDir = "";
src = composerEnv.buildZipPackage {
name = "symfony-event-dispatcher-contracts-8f93aec25d41b72493c6ddff14e916177c9efc50";
name = "symfony-event-dispatcher-contracts-7642f5e970b672283b7823222ae8ef8bbc160b9f";
src = fetchurl {
url = "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/8f93aec25d41b72493c6ddff14e916177c9efc50";
sha256 = "1ybpwhcf82fpa7lj5n2i8jhba2qmq4850svd4nv3v852vwr98ani";
url = "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/7642f5e970b672283b7823222ae8ef8bbc160b9f";
sha256 = "0d6d95w7dix7l8wyz66ki9781z3k8hsz1c7aglszlc1fn2v9kb93";
};
};
};
"symfony/finder" = {
targetDir = "";
src = composerEnv.buildZipPackage {
name = "symfony-finder-af29198d87112bebdd397bd7735fbd115997824c";
name = "symfony-finder-daea9eca0b08d0ed1dc9ab702a46128fd1be4958";
src = fetchurl {
url = "https://api.github.com/repos/symfony/finder/zipball/af29198d87112bebdd397bd7735fbd115997824c";
sha256 = "0wgc1rr6fg9prsmjbkcaf530h1gf1v8wnab84sfzpcrwaa4abdmv";
url = "https://api.github.com/repos/symfony/finder/zipball/daea9eca0b08d0ed1dc9ab702a46128fd1be4958";
sha256 = "0sr3vk37p427i8sk4rbyhb8rjqbl51k77q55kasszk75bnmx3dpa";
};
};
};
"symfony/http-foundation" = {
targetDir = "";
src = composerEnv.buildZipPackage {
name = "symfony-http-foundation-117f1f20a7ade7bcea28b861fb79160a21a1e37b";
name = "symfony-http-foundation-431771b7a6f662f1575b3cfc8fd7617aa9864d57";
src = fetchurl {
url = "https://api.github.com/repos/symfony/http-foundation/zipball/117f1f20a7ade7bcea28b861fb79160a21a1e37b";
sha256 = "1rgzpb9v9502d5f0zlq7h0s15i1lg63clsx1j5cw51w2y079frgn";
url = "https://api.github.com/repos/symfony/http-foundation/zipball/431771b7a6f662f1575b3cfc8fd7617aa9864d57";
sha256 = "03v6aahc3s5wyz295g4iikixfy6jqys4j1k37ik6w1kax4igzy7q";
};
};
};
"symfony/http-kernel" = {
targetDir = "";
src = composerEnv.buildZipPackage {
name = "symfony-http-kernel-147e0daf618d7575b5007055340d09aece5cf068";
name = "symfony-http-kernel-8838b5b21d807923b893ccbfc2cbeda0f1bc00f0";
src = fetchurl {
url = "https://api.github.com/repos/symfony/http-kernel/zipball/147e0daf618d7575b5007055340d09aece5cf068";
sha256 = "1bpv2zwsgz1ki9vzhcz5jj9c712zz6crncw2gw88n10gn2sir1cj";
url = "https://api.github.com/repos/symfony/http-kernel/zipball/8838b5b21d807923b893ccbfc2cbeda0f1bc00f0";
sha256 = "1clb6wl1qnf8ilfcd6zkmdc5dq8r0lf0fhw6z57yxm09yp4gva9g";
};
};
};
"symfony/mime" = {
targetDir = "";
src = composerEnv.buildZipPackage {
name = "symfony-mime-7d048964877324debdcb4e0549becfa064a20d43";
name = "symfony-mime-1de1cf14d99b12c7ebbb850491ec6ae3ed468855";
src = fetchurl {
url = "https://api.github.com/repos/symfony/mime/zipball/7d048964877324debdcb4e0549becfa064a20d43";
sha256 = "0i9falma5rwi59cjylibgzj70gqj0vrkpkf9g8mxzy62ij5l61rq";
url = "https://api.github.com/repos/symfony/mime/zipball/1de1cf14d99b12c7ebbb850491ec6ae3ed468855";
sha256 = "1khg1pznfybzwn2ci7dlyy72c34l7gh2xd2imi5dg78xr92f421w";
};
};
};
"symfony/polyfill-ctype" = {
targetDir = "";
src = composerEnv.buildZipPackage {
name = "symfony-polyfill-ctype-0424dff1c58f028c451efff2045f5d92410bd540";
name = "symfony-polyfill-ctype-a3cc8b044a6ea513310cbd48ef7333b384945638";
src = fetchurl {
url = "https://api.github.com/repos/symfony/polyfill-ctype/zipball/0424dff1c58f028c451efff2045f5d92410bd540";
sha256 = "1lcz3k1i3yndy1qkdh89n05m60hh3g1zi438l0qf92j5hy2pr32n";
url = "https://api.github.com/repos/symfony/polyfill-ctype/zipball/a3cc8b044a6ea513310cbd48ef7333b384945638";
sha256 = "1gwalz2r31bfqldkqhw8cbxybmc1pkg74kvg07binkhk531gjqdn";
};
};
};
"symfony/polyfill-intl-grapheme" = {
targetDir = "";
src = composerEnv.buildZipPackage {
name = "symfony-polyfill-intl-grapheme-64647a7c30b2283f5d49b874d84a18fc22054b7a";
name = "symfony-polyfill-intl-grapheme-b9123926e3b7bc2f98c02ad54f6a4b02b91a8abe";
src = fetchurl {
url = "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/64647a7c30b2283f5d49b874d84a18fc22054b7a";
sha256 = "1flqdijnx2kz2i9jdaz23ambii3nx60j211hcjzdf5mzmbic4izr";
url = "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/b9123926e3b7bc2f98c02ad54f6a4b02b91a8abe";
sha256 = "06kbz2rqp0kyxpry055pciv02ihl7vgygigqhdqqy6q7aphg9i9a";
};
};
};
"symfony/polyfill-intl-idn" = {
targetDir = "";
src = composerEnv.buildZipPackage {
name = "symfony-polyfill-intl-idn-a6e83bdeb3c84391d1dfe16f42e40727ce524a5c";
name = "symfony-polyfill-intl-idn-c36586dcf89a12315939e00ec9b4474adcb1d773";
src = fetchurl {
url = "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/a6e83bdeb3c84391d1dfe16f42e40727ce524a5c";
sha256 = "1y81p5kkrclbgq1v3qgf32mpgn6q1hjkw0n6328n2n81wj32japg";
url = "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/c36586dcf89a12315939e00ec9b4474adcb1d773";
sha256 = "1abzqpkq647mh6z5xbf81v50q9s6llaag9sk8y0mf3n0lm47nx4w";
};
};
};
"symfony/polyfill-intl-normalizer" = {
targetDir = "";
src = composerEnv.buildZipPackage {
name = "symfony-polyfill-intl-normalizer-a95281b0be0d9ab48050ebd988b967875cdb9fdb";
name = "symfony-polyfill-intl-normalizer-3833d7255cc303546435cb650316bff708a1c75c";
src = fetchurl {
url = "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/a95281b0be0d9ab48050ebd988b967875cdb9fdb";
sha256 = "1bsynsi3gqcdi5asgip7srnwciwz7dflzqx1n0c9x3zmd128fs42";
url = "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/3833d7255cc303546435cb650316bff708a1c75c";
sha256 = "0qrq26nw97xfcl0p8x4ria46lk47k73vjjyqiklpw8w5cbibsfxj";
};
};
};
"symfony/polyfill-mbstring" = {
targetDir = "";
src = composerEnv.buildZipPackage {
name = "symfony-polyfill-mbstring-fd22ab50000ef01661e2a31d850ebaa297f8e03c";
name = "symfony-polyfill-mbstring-85181ba99b2345b0ef10ce42ecac37612d9fd341";
src = fetchurl {
url = "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/fd22ab50000ef01661e2a31d850ebaa297f8e03c";
sha256 = "145vqkfca4h0smyjnhcsvn85ij75bbp9a5s3m672nn48671a8sxk";
};
};
};
"symfony/polyfill-php72" = {
targetDir = "";
src = composerEnv.buildZipPackage {
name = "symfony-polyfill-php72-10112722600777e02d2745716b70c5db4ca70442";
src = fetchurl {
url = "https://api.github.com/repos/symfony/polyfill-php72/zipball/10112722600777e02d2745716b70c5db4ca70442";
sha256 = "1l9qpprnqrjjhkwggcz0c6ll8wrfzwlqcwq13xa0j9w0q5bwafp2";
url = "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/85181ba99b2345b0ef10ce42ecac37612d9fd341";
sha256 = "07ir4drsx4ddmbps6igm6wyrzx2ksz3d61rs2m7p27qz7kx17ff1";
};
};
};
"symfony/polyfill-php80" = {
targetDir = "";
src = composerEnv.buildZipPackage {
name = "symfony-polyfill-php80-77fa7995ac1b21ab60769b7323d600a991a90433";
name = "symfony-polyfill-php80-60328e362d4c2c802a54fcbf04f9d3fb892b4cf8";
src = fetchurl {
url = "https://api.github.com/repos/symfony/polyfill-php80/zipball/77fa7995ac1b21ab60769b7323d600a991a90433";
sha256 = "03y0jzb5z1d2jdxcw1mhcbb9psp1iabmvaflwib68vzncvh6fscl";
url = "https://api.github.com/repos/symfony/polyfill-php80/zipball/60328e362d4c2c802a54fcbf04f9d3fb892b4cf8";
sha256 = "008nx5xplqx3iks3fpzd4qgy3zzrvx1bmsdc13ndf562a6hf9lrg";
};
};
};
"symfony/polyfill-php83" = {
targetDir = "";
src = composerEnv.buildZipPackage {
name = "symfony-polyfill-php83-dbdcdf1a4dcc2743591f1079d0c35ab1e2dcbbc9";
name = "symfony-polyfill-php83-2fb86d65e2d424369ad2905e83b236a8805ba491";
src = fetchurl {
url = "https://api.github.com/repos/symfony/polyfill-php83/zipball/dbdcdf1a4dcc2743591f1079d0c35ab1e2dcbbc9";
sha256 = "1sxmb6f75iclbpqwlsgi3af1xfcrxm7vcyyh0khn14nvd654ivrl";
url = "https://api.github.com/repos/symfony/polyfill-php83/zipball/2fb86d65e2d424369ad2905e83b236a8805ba491";
sha256 = "1agcx7ydr1ljimacxbgpspcx7kssclwm0bj4zcdq6fhdwrkzxa15";
};
};
};
"symfony/polyfill-uuid" = {
targetDir = "";
src = composerEnv.buildZipPackage {
name = "symfony-polyfill-uuid-2ba1f33797470debcda07fe9dce20a0003df18e9";
name = "symfony-polyfill-uuid-21533be36c24be3f4b1669c4725c7d1d2bab4ae2";
src = fetchurl {
url = "https://api.github.com/repos/symfony/polyfill-uuid/zipball/2ba1f33797470debcda07fe9dce20a0003df18e9";
sha256 = "1hsfsap6qmlkzfi56z44wgds5igw9xj7rax2znr8y3ci4x9sbxd0";
url = "https://api.github.com/repos/symfony/polyfill-uuid/zipball/21533be36c24be3f4b1669c4725c7d1d2bab4ae2";
sha256 = "0v8x07llqn7hac6qzm92ly6839ib63v05630rzr71f5ds69j1m09";
};
};
};
"symfony/process" = {
targetDir = "";
src = composerEnv.buildZipPackage {
name = "symfony-process-8d92dd79149f29e89ee0f480254db595f6a6a2c5";
name = "symfony-process-3cb242f059c14ae08591c5c4087d1fe443564392";
src = fetchurl {
url = "https://api.github.com/repos/symfony/process/zipball/8d92dd79149f29e89ee0f480254db595f6a6a2c5";
sha256 = "1fvyj71vdnbm56xp167svigax6q562j92i309wqikprdyakdqmyy";
url = "https://api.github.com/repos/symfony/process/zipball/3cb242f059c14ae08591c5c4087d1fe443564392";
sha256 = "1dkif5bql8ngvr00x76c2v9x2d6kgddmniyv36m119c83r7ydk3f";
};
};
};
"symfony/routing" = {
targetDir = "";
src = composerEnv.buildZipPackage {
name = "symfony-routing-aad19fe10753ba842f0d653a8db819c4b3affa87";
name = "symfony-routing-91e02e606b4b705c2f4fb42f7e7708b7923a3220";
src = fetchurl {
url = "https://api.github.com/repos/symfony/routing/zipball/aad19fe10753ba842f0d653a8db819c4b3affa87";
sha256 = "1cm2x1bffnm0parfkw3xixz8igj52pc4vv6hydkj0l2i3qrv4y0g";
url = "https://api.github.com/repos/symfony/routing/zipball/91e02e606b4b705c2f4fb42f7e7708b7923a3220";
sha256 = "0bgnl82j3g1qr7idr1xfh0wgc2civvy3hm1dqbk3ryd81mlkxrz7";
};
};
};
"symfony/service-contracts" = {
targetDir = "";
src = composerEnv.buildZipPackage {
name = "symfony-service-contracts-bd1d9e59a81d8fa4acdcea3f617c581f7475a80f";
name = "symfony-service-contracts-e53260aabf78fb3d63f8d79d69ece59f80d5eda0";
src = fetchurl {
url = "https://api.github.com/repos/symfony/service-contracts/zipball/bd1d9e59a81d8fa4acdcea3f617c581f7475a80f";
sha256 = "1q7382ingrvqdh7hm8lrwrimcvlv5qcmp6xrparfh1kmrsf45prv";
url = "https://api.github.com/repos/symfony/service-contracts/zipball/e53260aabf78fb3d63f8d79d69ece59f80d5eda0";
sha256 = "0qvk3ajc1jgw97ibr3jmxh7wxmxrvra5471ashhbd56gaiim7iq4";
};
};
};
"symfony/string" = {
targetDir = "";
src = composerEnv.buildZipPackage {
name = "symfony-string-ccf9b30251719567bfd46494138327522b9a9446";
name = "symfony-string-73a5e66ea2e1677c98d4449177c5a9cf9d8b4c6f";
src = fetchurl {
url = "https://api.github.com/repos/symfony/string/zipball/ccf9b30251719567bfd46494138327522b9a9446";
sha256 = "1yfdvksfhpq74vb45d3p8rnkbr43djbcy15gyi0vsbgccr64gc1v";
url = "https://api.github.com/repos/symfony/string/zipball/73a5e66ea2e1677c98d4449177c5a9cf9d8b4c6f";
sha256 = "1hnsdk4j9pj1h3nbyndbjl4yx1vczcpxsipf9b5llq70hx9bf12a";
};
};
};
"symfony/translation" = {
targetDir = "";
src = composerEnv.buildZipPackage {
name = "symfony-translation-94041203f8ac200ae9e7c6a18fa6137814ccecc9";
name = "symfony-translation-bee9bfabfa8b4045a66bf82520e492cddbaffa66";
src = fetchurl {
url = "https://api.github.com/repos/symfony/translation/zipball/94041203f8ac200ae9e7c6a18fa6137814ccecc9";
sha256 = "01kzjwvkq434d36c5ag9qfzi4fdb3klcbx1gsrwx6zc3wvxs50x1";
url = "https://api.github.com/repos/symfony/translation/zipball/bee9bfabfa8b4045a66bf82520e492cddbaffa66";
sha256 = "0a2pxp58sy2f3198f3l60kxj74laswvwhldsbfpkbp1kjz47r31k";
};
};
};
"symfony/translation-contracts" = {
targetDir = "";
src = composerEnv.buildZipPackage {
name = "symfony-translation-contracts-b9d2189887bb6b2e0367a9fc7136c5239ab9b05a";
name = "symfony-translation-contracts-4667ff3bd513750603a09c8dedbea942487fb07c";
src = fetchurl {
url = "https://api.github.com/repos/symfony/translation-contracts/zipball/b9d2189887bb6b2e0367a9fc7136c5239ab9b05a";
sha256 = "0y9dp08gw7rk50i5lpci6n2hziajvps97g9j3sz148p0afdr5q3c";
url = "https://api.github.com/repos/symfony/translation-contracts/zipball/4667ff3bd513750603a09c8dedbea942487fb07c";
sha256 = "1hkjg2anfkc56c4k31r2q857pm2w0r57zsn5hfrg7zv47slhb55n";
};
};
};
"symfony/uid" = {
targetDir = "";
src = composerEnv.buildZipPackage {
name = "symfony-uid-35904eca37a84bb764c560cbfcac9f0ac2bcdbdf";
name = "symfony-uid-18eb207f0436a993fffbdd811b5b8fa35fa5e007";
src = fetchurl {
url = "https://api.github.com/repos/symfony/uid/zipball/35904eca37a84bb764c560cbfcac9f0ac2bcdbdf";
sha256 = "1xwvr4lp9cxr7s065xidqw9k3abdj6npd54flp7smgb4npl67s13";
url = "https://api.github.com/repos/symfony/uid/zipball/18eb207f0436a993fffbdd811b5b8fa35fa5e007";
sha256 = "0ah9mjjlizxsb7jk1aky9ws2d7v6y9xlb9vwcqmdmidiwmnkzq51";
};
};
};
"symfony/var-dumper" = {
targetDir = "";
src = composerEnv.buildZipPackage {
name = "symfony-var-dumper-a71cc3374f5fb9759da1961d28c452373b343dd4";
name = "symfony-var-dumper-38254d5a5ac2e61f2b52f9caf54e7aa3c9d36b80";
src = fetchurl {
url = "https://api.github.com/repos/symfony/var-dumper/zipball/a71cc3374f5fb9759da1961d28c452373b343dd4";
sha256 = "19nwa0qydp0g0s5fvcm7h90973c1j1q5llrg80v43qgv3wgawp36";
url = "https://api.github.com/repos/symfony/var-dumper/zipball/38254d5a5ac2e61f2b52f9caf54e7aa3c9d36b80";
sha256 = "0y55js8kqbafns1hkd03vgv7mzlyi540bb5kggi95b7v2mpy6c7j";
};
};
};
@@ -1102,10 +1092,10 @@ let
"voku/portable-ascii" = {
targetDir = "";
src = composerEnv.buildZipPackage {
name = "voku-portable-ascii-b56450eed252f6801410d810c8e1727224ae0743";
name = "voku-portable-ascii-b1d923f88091c6bf09699efcd7c8a1b1bfd7351d";
src = fetchurl {
url = "https://api.github.com/repos/voku/portable-ascii/zipball/b56450eed252f6801410d810c8e1727224ae0743";
sha256 = "0gwlv1hr6ycrf8ik1pnvlwaac8cpm8sa1nf4d49s8rp4k2y5anyl";
url = "https://api.github.com/repos/voku/portable-ascii/zipball/b1d923f88091c6bf09699efcd7c8a1b1bfd7351d";
sha256 = "1x5wls3q4m7sa0jly8f7s29sd4kb2p59imdr6i5ajzyn5b947aac";
};
};
};
+3 -3
View File
@@ -8,16 +8,16 @@
buildGoModule rec {
pname = "gopass-summon-provider";
version = "1.15.14";
version = "1.15.15";
src = fetchFromGitHub {
owner = "gopasspw";
repo = "gopass-summon-provider";
rev = "v${version}";
hash = "sha256-L/wX3qUrx6YfA6flCJ32WyEiBV0dSwAGdWQCU++/Iz8=";
hash = "sha256-yMua3BSl4u/1axLMmLIzjqj8wYvMMPTqmRgcuH1tqN0=";
};
vendorHash = "sha256-ZNHAjFzMMxodxb/AGVq8q+sP36qR5+8eaKdmmjIaMjs=";
vendorHash = "sha256-onpg0CRm5HSfMEejhn2ycnV1GuukX1SK4FZN/KjEiR4=";
subPackages = [ "." ];
-2
View File
@@ -4413,8 +4413,6 @@ with pkgs;
mtr-gui = callPackage ../tools/networking/mtr { withGtk = true; };
multipass = qt6Packages.callPackage ../tools/virtualization/multipass { };
multitran = recurseIntoAttrs (let callPackage = newScope pkgs.multitran; in {
multitrandata = callPackage ../tools/text/multitran/data { };
+2
View File
@@ -153,6 +153,8 @@ self: super: with self; {
aio-pika = callPackage ../development/python-modules/aio-pika { };
aioairctrl = callPackage ../development/python-modules/aioairctrl { };
aioacaia = callPackage ../development/python-modules/aioacaia { };
aioairzone = callPackage ../development/python-modules/aioairzone { };