Merge master into staging-next
This commit is contained in:
@@ -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
|
||||
|
||||
|
||||
@@ -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 =
|
||||
{
|
||||
|
||||
@@ -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 {};
|
||||
|
||||
@@ -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)
|
||||
'';
|
||||
}
|
||||
@@ -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:")
|
||||
'';
|
||||
})
|
||||
}
|
||||
|
||||
@@ -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};
|
||||
};
|
||||
|
||||
|
||||
@@ -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}");
|
||||
};
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 = {
|
||||
|
||||
@@ -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 { };
|
||||
|
||||
|
||||
@@ -60,7 +60,7 @@
|
||||
branch ? lib.versions.majorMinor version,
|
||||
version,
|
||||
vendor ? "nixos",
|
||||
upstreamVersion,
|
||||
upstreamVersion ? version,
|
||||
withFlask ? false,
|
||||
withSeaBIOS ? true,
|
||||
withOVMF ? true,
|
||||
|
||||
@@ -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
|
||||
@@ -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
|
||||
|
||||
Generated
+1472
-288
File diff suppressed because it is too large
Load Diff
@@ -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";
|
||||
};
|
||||
}
|
||||
@@ -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 = ''
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
|
||||
|
||||
@@ -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 =
|
||||
|
||||
@@ -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; {
|
||||
|
||||
@@ -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
@@ -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 [
|
||||
|
||||
@@ -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=";
|
||||
|
||||
@@ -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=";
|
||||
|
||||
@@ -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 = ".";
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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}'"
|
||||
'';
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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 = ''
|
||||
|
||||
@@ -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
|
||||
'';
|
||||
|
||||
@@ -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";
|
||||
};
|
||||
}
|
||||
+21
-40
@@ -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";
|
||||
};
|
||||
}
|
||||
@@ -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
Executable
+78
@@ -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"
|
||||
@@ -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;
|
||||
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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 ];
|
||||
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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 ¤t_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 {
|
||||
|
||||
Generated
-2498
File diff suppressed because it is too large
Load Diff
@@ -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;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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 ];
|
||||
};
|
||||
|
||||
@@ -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";
|
||||
|
||||
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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=";
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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 =
|
||||
[
|
||||
|
||||
@@ -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 ];
|
||||
};
|
||||
}
|
||||
@@ -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,
|
||||
|
||||
@@ -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; {
|
||||
|
||||
@@ -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";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -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 = [ "." ];
|
||||
|
||||
|
||||
@@ -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 { };
|
||||
|
||||
|
||||
@@ -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 { };
|
||||
|
||||
Reference in New Issue
Block a user