Merge master into staging-next
This commit is contained in:
@@ -163,6 +163,8 @@ Nixpkgs fetchers can make use of a http(s) proxy. Each fetcher will automaticall
|
||||
|
||||
The environment variable `NIX_SSL_CERT_FILE` is also inherited in fetchers, and can be used to provide a custom certificate bundle to fetchers. This is usually required for a https proxy to work without certificate validation errors.
|
||||
|
||||
To use a temporary Tor instance as a proxy for fetching from `.onion` addresses, add `nativeBuildInputs = [ tor.proxyHook ];` to the fetcher parameters.
|
||||
|
||||
[]{#fetchurl}
|
||||
## `fetchurl` {#sec-pkgs-fetchers-fetchurl}
|
||||
|
||||
|
||||
@@ -1648,6 +1648,7 @@
|
||||
./services/web-apps/part-db.nix
|
||||
./services/web-apps/pds.nix
|
||||
./services/web-apps/peering-manager.nix
|
||||
./services/web-apps/peertube-runner.nix
|
||||
./services/web-apps/peertube.nix
|
||||
./services/web-apps/pgpkeyserver-lite.nix
|
||||
./services/web-apps/photoprism.nix
|
||||
|
||||
@@ -766,6 +766,7 @@ in
|
||||
restartTriggers = [ config.environment.etc."ssh/sshd_config".source ];
|
||||
|
||||
serviceConfig = {
|
||||
Type = "notify-reload";
|
||||
Restart = "always";
|
||||
ExecStart = lib.concatStringsSep " " [
|
||||
(lib.getExe' cfg.package "sshd")
|
||||
|
||||
@@ -0,0 +1,256 @@
|
||||
{
|
||||
lib,
|
||||
pkgs,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
|
||||
let
|
||||
cfg = config.services.peertube-runner;
|
||||
|
||||
settingsFormat = pkgs.formats.toml { };
|
||||
configFile = settingsFormat.generate "config.toml" cfg.settings;
|
||||
|
||||
env = {
|
||||
NODE_ENV = "production";
|
||||
XDG_CONFIG_HOME = "/var/lib/peertube-runner";
|
||||
XDG_CACHE_HOME = "/var/cache/peertube-runner";
|
||||
# peertube-runner makes its IPC socket in $XDG_DATA_HOME.
|
||||
XDG_DATA_HOME = "/run/peertube-runner";
|
||||
};
|
||||
in
|
||||
{
|
||||
options.services.peertube-runner = {
|
||||
enable = lib.mkEnableOption "peertube-runner";
|
||||
package = lib.mkPackageOption pkgs [ "peertube" "runner" ] { };
|
||||
|
||||
user = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = "prunner";
|
||||
example = "peertube-runner";
|
||||
description = "User account under which peertube-runner runs.";
|
||||
};
|
||||
group = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = "prunner";
|
||||
example = "peertube-runner";
|
||||
description = "Group under which peertube-runner runs.";
|
||||
};
|
||||
|
||||
settings = lib.mkOption {
|
||||
type = settingsFormat.type;
|
||||
default = { };
|
||||
example = lib.literalExpression ''
|
||||
{
|
||||
jobs.concurrency = 4;
|
||||
ffmpeg = {
|
||||
threads = 0; # Let ffmpeg automatically choose.
|
||||
nice = 5;
|
||||
};
|
||||
transcription.model = "large-v3";
|
||||
}
|
||||
'';
|
||||
description = ''
|
||||
Configuration for peertube-runner.
|
||||
|
||||
See available configuration options at https://docs.joinpeertube.org/maintain/tools#configuration.
|
||||
'';
|
||||
};
|
||||
instancesToRegister = lib.mkOption {
|
||||
type =
|
||||
with lib.types;
|
||||
attrsOf (submodule {
|
||||
options = {
|
||||
url = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
example = "https://mypeertubeinstance.com";
|
||||
description = "URL of the PeerTube instance.";
|
||||
};
|
||||
registrationTokenFile = lib.mkOption {
|
||||
type = lib.types.path;
|
||||
example = "/run/secrets/my-peertube-instance-registration-token";
|
||||
description = ''
|
||||
Path to a file containing a registration token for the PeerTube instance.
|
||||
|
||||
See how to generate registration tokens at https://docs.joinpeertube.org/admin/remote-runners#manage-remote-runners.
|
||||
'';
|
||||
};
|
||||
runnerName = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
example = "Transcription";
|
||||
description = "Runner name declared to the PeerTube instance.";
|
||||
};
|
||||
runnerDescription = lib.mkOption {
|
||||
type = with lib.types; nullOr str;
|
||||
default = null;
|
||||
example = "Runner for video transcription";
|
||||
description = "Runner description declared to the PeerTube instance.";
|
||||
};
|
||||
};
|
||||
});
|
||||
default = { };
|
||||
example = {
|
||||
personal = {
|
||||
url = "https://mypeertubeinstance.com";
|
||||
registrationTokenFile = "/run/secrets/my-peertube-instance-registration-token";
|
||||
runnerName = "Transcription";
|
||||
runnerDescription = "Runner for video transcription";
|
||||
};
|
||||
};
|
||||
description = "PeerTube instances to register this runner with.";
|
||||
};
|
||||
|
||||
enabledJobTypes = lib.mkOption {
|
||||
type = with lib.types; nonEmptyListOf str;
|
||||
default = [
|
||||
"vod-web-video-transcoding"
|
||||
"vod-hls-transcoding"
|
||||
"vod-audio-merge-transcoding"
|
||||
"live-rtmp-hls-transcoding"
|
||||
"video-studio-transcoding"
|
||||
"video-transcription"
|
||||
];
|
||||
example = [ "video-transcription" ];
|
||||
description = "Job types that this runner will execute.";
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
assertions = [
|
||||
{
|
||||
assertion = !(cfg.settings ? registeredInstances);
|
||||
message = ''
|
||||
`services.peertube-runner.settings.registeredInstances` cannot be used.
|
||||
Instead, registered instances can be configured with `services.peertube-runner.instancesToRegister`.
|
||||
'';
|
||||
}
|
||||
];
|
||||
warnings = lib.optional (cfg.instancesToRegister == { }) ''
|
||||
`services.peertube-runner.instancesToRegister` is empty.
|
||||
Instances cannot be manually registered using the command line.
|
||||
'';
|
||||
|
||||
services.peertube-runner.settings = {
|
||||
transcription = lib.mkIf (lib.elem "video-transcription" cfg.enabledJobTypes) {
|
||||
engine = lib.mkDefault "whisper-ctranslate2";
|
||||
enginePath = lib.mkDefault (lib.getExe pkgs.whisper-ctranslate2);
|
||||
};
|
||||
};
|
||||
|
||||
environment.systemPackages = [
|
||||
(pkgs.writeShellScriptBin "peertube-runner" ''
|
||||
${lib.concatMapAttrsStringSep "\n" (name: value: ''export ${name}="${toString value}"'') env}
|
||||
|
||||
if [[ "$USER" == ${cfg.user} ]]; then
|
||||
exec ${lib.getExe' cfg.package "peertube-runner"} "$@"
|
||||
else
|
||||
echo "This has to be run with the \`${cfg.user}\` user. Ex: \`sudo -u ${cfg.user} peertube-runner\`"
|
||||
fi
|
||||
'')
|
||||
];
|
||||
|
||||
systemd.services.peertube-runner = {
|
||||
description = "peertube-runner daemon";
|
||||
after = [
|
||||
"network.target"
|
||||
(lib.mkIf config.services.peertube.enable "peertube.service")
|
||||
];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
|
||||
environment = env;
|
||||
path = [ pkgs.ffmpeg-headless ];
|
||||
|
||||
script = ''
|
||||
config_dir=$XDG_CONFIG_HOME/peertube-runner-nodejs/default
|
||||
mkdir -p $config_dir
|
||||
config_file=$config_dir/config.toml
|
||||
cp -f --no-preserve=mode,ownership ${configFile} $config_file
|
||||
|
||||
${lib.optionalString ((lib.length (lib.attrNames cfg.instancesToRegister)) > 0) ''
|
||||
# Temp config directory for registration commands
|
||||
temp_dir=$(mktemp --directory)
|
||||
temp_config_dir=$temp_dir/peertube-runner-nodejs/default
|
||||
mkdir -p $temp_config_dir
|
||||
temp_config_file=$temp_config_dir/config.toml
|
||||
|
||||
mkdir -p $STATE_DIRECTORY/runner_tokens
|
||||
${lib.concatMapAttrsStringSep "\n" (instanceName: instance: ''
|
||||
runner_token_file=$STATE_DIRECTORY/runner_tokens/${instanceName}
|
||||
|
||||
# Register any currenctly unregistered instances.
|
||||
if [ ! -f $runner_token_file ] || [[ $(cat $runner_token_file) != ptrt-* ]]; then
|
||||
# Server has to be running for registration.
|
||||
XDG_CONFIG_HOME=$temp_dir ${lib.getExe' cfg.package "peertube-runner"} server &
|
||||
|
||||
XDG_CONFIG_HOME=$temp_dir ${lib.getExe' cfg.package "peertube-runner"} register \
|
||||
--url ${lib.escapeShellArg instance.url} \
|
||||
--registration-token "$(cat ${instance.registrationTokenFile})" \
|
||||
--runner-name ${lib.escapeShellArg instance.runnerName} \
|
||||
${lib.optionalString (
|
||||
instance.runnerDescription != null
|
||||
) ''--runner-description ${lib.escapeShellArg instance.runnerDescription}''}
|
||||
|
||||
# Kill the server
|
||||
kill $!
|
||||
|
||||
${lib.getExe pkgs.yq-go} -e ".registeredInstances[0].runnerToken" \
|
||||
$temp_config_file > $runner_token_file
|
||||
rm $temp_config_file
|
||||
fi
|
||||
|
||||
echo "
|
||||
|
||||
[[registeredInstances]]
|
||||
url = \"${instance.url}\"
|
||||
runnerToken = \"$(cat $runner_token_file)\"
|
||||
runnerName = \"${instance.runnerName}\"
|
||||
${lib.optionalString (
|
||||
instance.runnerDescription != null
|
||||
) ''runnerDescription = \"${instance.runnerDescription}\"''}
|
||||
" >> $config_file
|
||||
'') cfg.instancesToRegister}
|
||||
''}
|
||||
|
||||
# Don't allow changes that won't persist.
|
||||
chmod 440 $config_file
|
||||
|
||||
systemd-notify --ready
|
||||
exec ${lib.getExe' cfg.package "peertube-runner"} server ${
|
||||
lib.concatMapStringsSep " " (jobType: "--enable-job ${jobType}") cfg.enabledJobTypes
|
||||
}
|
||||
'';
|
||||
serviceConfig = {
|
||||
Type = "notify";
|
||||
NotifyAccess = "all"; # for systemd-notify
|
||||
Restart = "always";
|
||||
RestartSec = 5;
|
||||
SyslogIdentifier = "prunner";
|
||||
User = cfg.user;
|
||||
Group = cfg.group;
|
||||
StateDirectory = "peertube-runner";
|
||||
StateDirectoryMode = "0700";
|
||||
CacheDirectory = "peertube-runner";
|
||||
CacheDirectoryMode = "0700";
|
||||
RuntimeDirectory = "peertube-runner";
|
||||
RuntimeDirectoryMode = "0700";
|
||||
|
||||
ProtectSystem = "full";
|
||||
NoNewPrivileges = true;
|
||||
ProtectHome = true;
|
||||
CapabilityBoundingSet = "~CAP_SYS_ADMIN";
|
||||
};
|
||||
};
|
||||
|
||||
users.users = lib.mkIf (cfg.user == "prunner") {
|
||||
${cfg.user} = {
|
||||
isSystemUser = true;
|
||||
group = cfg.group;
|
||||
};
|
||||
};
|
||||
users.groups = lib.mkIf (cfg.group == "prunner") {
|
||||
${cfg.group} = { };
|
||||
};
|
||||
};
|
||||
|
||||
meta.maintainers = lib.teams.ngi.members;
|
||||
}
|
||||
@@ -1,8 +1,15 @@
|
||||
import ../make-test-python.nix (
|
||||
{ pkgs, ... }:
|
||||
{ lib, pkgs, ... }:
|
||||
let
|
||||
domain = "peertube.local";
|
||||
port = 9000;
|
||||
url = "http://${domain}:${toString port}";
|
||||
password = "zw4SqYVdcsXUfRX8aaFX";
|
||||
registrationTokenFile = "/etc/peertube-runner-registration-token";
|
||||
in
|
||||
{
|
||||
name = "peertube";
|
||||
meta.maintainers = with pkgs.lib.maintainers; [ izorkin ];
|
||||
meta.maintainers = with lib.maintainers; [ izorkin ] ++ lib.teams.ngi.members;
|
||||
|
||||
nodes = {
|
||||
database = {
|
||||
@@ -53,7 +60,7 @@ import ../make-test-python.nix (
|
||||
environment = {
|
||||
etc = {
|
||||
"peertube/password-init-root".text = ''
|
||||
PT_INITIAL_ROOT_PASSWORD=zw4SqYVdcsXUfRX8aaFX
|
||||
PT_INITIAL_ROOT_PASSWORD=${password}
|
||||
'';
|
||||
"peertube/secrets-peertube".text = ''
|
||||
063d9c60d519597acef26003d5ecc32729083965d09181ef3949200cbe5f09ee
|
||||
@@ -77,14 +84,14 @@ import ../make-test-python.nix (
|
||||
];
|
||||
};
|
||||
extraHosts = ''
|
||||
192.168.2.11 peertube.local
|
||||
192.168.2.11 ${domain}
|
||||
'';
|
||||
firewall.allowedTCPPorts = [ 9000 ];
|
||||
firewall.allowedTCPPorts = [ port ];
|
||||
};
|
||||
|
||||
services.peertube = {
|
||||
enable = true;
|
||||
localDomain = "peertube.local";
|
||||
localDomain = domain;
|
||||
enableWebHttps = false;
|
||||
|
||||
serviceEnvironmentFile = "/etc/peertube/password-init-root";
|
||||
@@ -132,9 +139,28 @@ import ../make-test-python.nix (
|
||||
];
|
||||
};
|
||||
extraHosts = ''
|
||||
192.168.2.11 peertube.local
|
||||
192.168.2.11 ${domain}
|
||||
'';
|
||||
};
|
||||
|
||||
services.peertube-runner = {
|
||||
enable = true;
|
||||
# Don't pull in unneeded dependencies.
|
||||
enabledJobTypes = [ "video-studio-transcoding" ];
|
||||
instancesToRegister = {
|
||||
testServer1 = {
|
||||
inherit url registrationTokenFile;
|
||||
runnerName = "I'm a test!!!";
|
||||
};
|
||||
testServer2 = {
|
||||
inherit url registrationTokenFile;
|
||||
runnerName = "I'm also a test...";
|
||||
runnerDescription = "Even more testing?!?!";
|
||||
};
|
||||
};
|
||||
};
|
||||
# Will be manually started in test script.
|
||||
systemd.services.peertube-runner.wantedBy = lib.mkForce [ ];
|
||||
};
|
||||
|
||||
};
|
||||
@@ -149,16 +175,49 @@ import ../make-test-python.nix (
|
||||
database.wait_for_open_port(31638)
|
||||
|
||||
server.wait_for_unit("peertube.service")
|
||||
server.wait_for_open_port(9000)
|
||||
server.wait_for_open_port(${toString port})
|
||||
|
||||
# Check if PeerTube is running
|
||||
client.succeed("curl --fail http://peertube.local:9000/api/v1/config/about | jq -r '.instance.name' | grep 'PeerTube\ Test\ Server'")
|
||||
client.succeed("curl --fail ${url}/api/v1/config/about | jq -r '.instance.name' | grep 'PeerTube Test Server'")
|
||||
|
||||
# Check PeerTube CLI version
|
||||
client.succeed('peertube-cli auth add -u "http://peertube.local:9000" -U "root" --password "zw4SqYVdcsXUfRX8aaFX"')
|
||||
client.succeed('peertube-cli auth list | grep "http://peertube.local:9000"')
|
||||
client.succeed('peertube-cli auth del "http://peertube.local:9000"')
|
||||
client.fail('peertube-cli auth list | grep "http://peertube.local:9000"')
|
||||
|
||||
# PeerTube CLI
|
||||
|
||||
client.succeed('peertube-cli auth add -u "${url}" -U "root" --password "${password}"')
|
||||
client.succeed('peertube-cli auth list | grep "${url}"')
|
||||
client.succeed('peertube-cli auth del "${url}"')
|
||||
client.fail('peertube-cli auth list | grep "${url}"')
|
||||
|
||||
|
||||
# peertube-runner
|
||||
|
||||
access_token = client.succeed(
|
||||
'peertube-cli get-access-token --url "${url}" --username "root" --password "${password}"'
|
||||
).strip()
|
||||
# Generate registration token.
|
||||
client.succeed(f"curl --fail -X POST -H 'Authorization: Bearer {access_token}' ${url}/api/v1/runners/registration-tokens/generate")
|
||||
# Get registration token, and put it where `registrationTokenFile` from the
|
||||
# peertube-runner module points to.
|
||||
client.succeed(
|
||||
f"curl --fail -H 'Authorization: Bearer {access_token}' ${url}/api/v1/runners/registration-tokens" \
|
||||
" | jq --raw-output '.data[0].registrationToken'" \
|
||||
" > ${registrationTokenFile}"
|
||||
)
|
||||
|
||||
client.systemctl("start peertube-runner.service")
|
||||
client.wait_for_unit("peertube-runner.service")
|
||||
|
||||
runner_command = "sudo -u prunner peertube-runner"
|
||||
client.succeed(f'{runner_command} list-registered | grep "I\'m a test!!!"')
|
||||
client.succeed(f'{runner_command} list-registered | grep "I\'m also a test..."')
|
||||
client.succeed(f'{runner_command} list-registered | grep "Even more testing?!?!"')
|
||||
|
||||
# Service should still work once instances are already registered.
|
||||
client.systemctl("restart peertube-runner.service")
|
||||
client.wait_for_unit("peertube-runner.service")
|
||||
|
||||
|
||||
# Cleanup
|
||||
|
||||
client.shutdown()
|
||||
server.shutdown()
|
||||
|
||||
@@ -157,6 +157,19 @@ lib.makeOverridable (
|
||||
"GIT_PROXY_COMMAND"
|
||||
"NIX_GIT_SSL_CAINFO"
|
||||
"SOCKS_SERVER"
|
||||
|
||||
# This is a parameter intended to be set by setup hooks or preFetch
|
||||
# scripts that want per-URL control over HTTP proxies used by Git
|
||||
# (if per-URL control isn't needed, `http_proxy` etc. will
|
||||
# suffice). It must be a whitespace-separated (with backslash as an
|
||||
# escape character) list of pairs like this:
|
||||
#
|
||||
# http://domain1/path1 proxy1 https://domain2/path2 proxy2
|
||||
#
|
||||
# where the URLs are as documented in the `git-config` manual page
|
||||
# under `http.<url>.*`, and the proxies are as documented on the
|
||||
# same page under `http.proxy`.
|
||||
"FETCHGIT_HTTP_PROXIES"
|
||||
];
|
||||
|
||||
inherit preferLocalBuild meta allowedRequisites;
|
||||
|
||||
@@ -126,6 +126,11 @@ init_remote(){
|
||||
echo "$sparseCheckout" | git sparse-checkout set --stdin ${nonConeMode:+--no-cone}
|
||||
fi
|
||||
( [ -n "$http_proxy" ] && clean_git config --global http.proxy "$http_proxy" ) || true
|
||||
local proxy_pairs i
|
||||
read -a proxy_pairs <<< "${FETCHGIT_HTTP_PROXIES:-}"
|
||||
for ((i = 1; i < ${#proxy_pairs[@]}; i += 2)); do
|
||||
clean_git config --global "http.${proxy_pairs[$i - 1]}.proxy" "${proxy_pairs[$i]}"
|
||||
done
|
||||
}
|
||||
|
||||
# Return the reference of an hash if it exists on the remote repository.
|
||||
|
||||
@@ -40,20 +40,20 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "389-ds-base";
|
||||
version = "3.1.2";
|
||||
version = "3.1.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "389ds";
|
||||
repo = "389-ds-base";
|
||||
rev = "389-ds-base-${finalAttrs.version}";
|
||||
hash = "sha256-FIx+ZW3K5KevU+wAiwPbDAQ6q7rPFEHFa+5eKqtgzpQ=";
|
||||
hash = "sha256-hRTK9xBu8v8+SGa/3IB8Alh/aGUiRRn2LmYOvXy0Yd4=";
|
||||
};
|
||||
|
||||
cargoDeps = rustPlatform.fetchCargoVendor {
|
||||
inherit (finalAttrs) src;
|
||||
sourceRoot = "${finalAttrs.src.name}/src";
|
||||
name = "389-ds-base-${finalAttrs.version}";
|
||||
hash = "sha256-8A2xnJI22mjupX5FVsvRa5RfWyOE+VLH2aJwBHjDOME=";
|
||||
hash = "sha256-pNzMQjeBpmzFg6oWCxhLDmKGUKIW6jGmZQWai5Yunjc=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -13,13 +13,13 @@
|
||||
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "anubis";
|
||||
version = "1.21.0";
|
||||
version = "1.21.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "TecharoHQ";
|
||||
repo = "anubis";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-FKX8E32unAKK8e/Nlrj24FU1amc7AJw28hzmZDbIcIc=";
|
||||
hash = "sha256-CMFd9che+D1ot1Iqk0VcJmna0xIqHlRIvNnzYo+q+RU=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-cWkC3Bqut5h3hHh5tPIPeHMnkwoqKMnG1x40uCtUIwI=";
|
||||
@@ -34,7 +34,7 @@ buildGoModule (finalAttrs: {
|
||||
pname = "anubis-xess";
|
||||
inherit (finalAttrs) version src;
|
||||
|
||||
npmDepsHash = "sha256-jvYmAbbMRy8fK2Y0YC0UJGhNRLzk1kjzGvRbqhWFzS4=";
|
||||
npmDepsHash = "sha256-NJMUXGXcaY8l1WIbvCn+aIknVuagR7X8gRkme9xpYQ0=";
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
|
||||
@@ -13,16 +13,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "bootc";
|
||||
version = "1.5.0";
|
||||
version = "1.5.1";
|
||||
useFetchCargoVendor = true;
|
||||
cargoHash = "sha256-3/Ngq6ZHPoE9BMychv+Jg0LhtJrY8GPrFYu7lRvX1+k=";
|
||||
cargoHash = "sha256-+FxydTK0Dmcj+doHMSoTgiues7Rrwxv/D+BOq4siKCk=";
|
||||
doInstallCheck = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "bootc-dev";
|
||||
repo = "bootc";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-1u4pBiySYzudFVf4bayQ7FbXf4EjA4v1+AOX9E+tjyA=";
|
||||
hash = "sha256-LmhgCiVFbhrePV/A/FaNjD7VytUZqSm9VDU+1z0O98U=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
|
||||
@@ -14,17 +14,17 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "cargo-lambda";
|
||||
version = "1.8.5";
|
||||
version = "1.8.6";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "cargo-lambda";
|
||||
repo = "cargo-lambda";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-iYfm7/XbLThtEo+zSW8sn7T6XEhzyiVKy6/cisshc+Y=";
|
||||
hash = "sha256-ocFD2FK1nlEJ8xXhDSxpSKYU8oZk/QwfojveypVt1GU=";
|
||||
};
|
||||
|
||||
useFetchCargoVendor = true;
|
||||
cargoHash = "sha256-mCD3Szbl5BXknTWJhm2xlcIV0aKczsEi8yRDA4erTYc=";
|
||||
cargoHash = "sha256-yE0pr7RZb015d51QtwVNfqXd8yEETvDdKJ5M7Oqc4Ds=";
|
||||
|
||||
nativeCheckInputs = [ cacert ];
|
||||
|
||||
|
||||
@@ -13,17 +13,17 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "tauri";
|
||||
version = "2.7.0";
|
||||
version = "2.7.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "tauri-apps";
|
||||
repo = "tauri";
|
||||
tag = "tauri-cli-v${version}";
|
||||
hash = "sha256-nEt4xoVHozqxWnyrXTn7XDgH2HYCzrfqBgt71+goYms=";
|
||||
hash = "sha256-0J55AvAvvqTVls4474GcgLPBtSC+rh8cXVKluMjAVBE=";
|
||||
};
|
||||
|
||||
useFetchCargoVendor = true;
|
||||
cargoHash = "sha256-av5UF0MgKnTwEX4dHhekvj2tz/BOZyUbs1YqLwx28Cw=";
|
||||
cargoHash = "sha256-nkY1ydc2VewRwY+B5nR68mz8Ff3FK1KoHE4dLzNtPkY=";
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "consul";
|
||||
version = "1.21.2";
|
||||
version = "1.21.3";
|
||||
|
||||
# Note: Currently only release tags are supported, because they have the Consul UI
|
||||
# vendored. See
|
||||
@@ -22,7 +22,7 @@ buildGoModule rec {
|
||||
owner = "hashicorp";
|
||||
repo = "consul";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-ejslKLoZFxNKQiV9AH+djRIN1lUC4WvUBkaVOENsHwM=";
|
||||
hash = "sha256-mWwDAlHbG0L/9xNAmUxAj2S5dDaWZaah/OWPndBRRWE=";
|
||||
};
|
||||
|
||||
# This corresponds to paths with package main - normally unneeded but consul
|
||||
@@ -32,7 +32,7 @@ buildGoModule rec {
|
||||
"connect/certgen"
|
||||
];
|
||||
|
||||
vendorHash = "sha256-Bmuc/nNNztd0wZqpLrFv4FZ/1CZ2lN1Bhob+grJJC8w=";
|
||||
vendorHash = "sha256-jb/oUcqMHNBlDgqYNDai2Q9ChA98JGXwFHWNxnrMpaU=";
|
||||
|
||||
doCheck = false;
|
||||
|
||||
|
||||
@@ -7,13 +7,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "exploitdb";
|
||||
version = "2025-07-17";
|
||||
version = "2025-07-23";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "exploit-database";
|
||||
repo = "exploitdb";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-RxK983lsfEHKCG9lG7EBVgpS3XJ3NC0LjsgDF8dVcn8=";
|
||||
hash = "sha256-wnYqtWtqvy5SsgHSDIzxNpnhXMT4WIVwWh2woW4eLhw=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
@@ -10,13 +10,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "faudio";
|
||||
version = "25.06";
|
||||
version = "25.07";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "FNA-XNA";
|
||||
repo = "FAudio";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-wIFUOOpI/kUeXjodHwt1KZ30ooSYEGrZ8XSW0zOm3xk=";
|
||||
hash = "sha256-ZMU3ntvnUHbeWQ5k5ZSnSLBABGm/F/rSAUM4blorpts=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import ./generic.nix {
|
||||
version = "12.0.0";
|
||||
hash = "sha256-8cokjK9fbxd9lm+5oDoMll9f7ejiVzMNuDgC0Pk1pbM=";
|
||||
version = "12.0.1";
|
||||
hash = "sha256-MBk5QHjnyMXmQDIbMuehjcGN/PUN1ViRtIi1pJGHlW0=";
|
||||
npmDepsHash = "sha256-kq2AV1D0xA4Csm8XUTU5D0iCmyuajcnwlLdPjJ/mj1g=";
|
||||
vendorHash = "sha256-B9menPCDUOYHPCS0B5KpxuE03FdFXmA8XqkiYEAxs5Y=";
|
||||
lts = false;
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
gettext,
|
||||
glib,
|
||||
glibcLocales,
|
||||
gobject-introspection,
|
||||
gtest,
|
||||
guile,
|
||||
gwenhywfar,
|
||||
@@ -24,12 +25,17 @@
|
||||
perlPackages,
|
||||
pkg-config,
|
||||
swig,
|
||||
webkitgtk_4_0,
|
||||
webkitgtk_4_1,
|
||||
wrapGAppsHook3,
|
||||
python3,
|
||||
replaceVars,
|
||||
}:
|
||||
|
||||
let
|
||||
py = python3.withPackages (
|
||||
ps: with ps; [
|
||||
pygobject3.out
|
||||
]
|
||||
);
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gnucash";
|
||||
version = "5.11";
|
||||
@@ -43,6 +49,7 @@ stdenv.mkDerivation rec {
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
gettext
|
||||
gobject-introspection
|
||||
makeWrapper
|
||||
wrapGAppsHook3
|
||||
pkg-config
|
||||
@@ -69,8 +76,8 @@ stdenv.mkDerivation rec {
|
||||
libxml2
|
||||
libxslt
|
||||
swig
|
||||
webkitgtk_4_0
|
||||
python3
|
||||
webkitgtk_4_1
|
||||
py
|
||||
]
|
||||
++ (with perlPackages; [
|
||||
JSONParse
|
||||
@@ -151,11 +158,16 @@ stdenv.mkDerivation rec {
|
||||
# Perl wrapping
|
||||
dontWrapGApps = true;
|
||||
|
||||
# gnucash is wrapped using the args constructed for wrapGAppsHook3.
|
||||
# We could not find the python entrypoint and somehow it is used from PATH,
|
||||
# so force to use the one with all dependencies
|
||||
# gnc-fq-* are cli utils written in Perl hence the extra wrapping
|
||||
postFixup = ''
|
||||
wrapProgram $out/bin/gnucash "''${gappsWrapperArgs[@]}"
|
||||
wrapProgram $out/bin/gnucash-cli "''${gappsWrapperArgs[@]}"
|
||||
wrapProgram $out/bin/gnucash \
|
||||
--prefix PATH : ${lib.makeBinPath [ py ]} \
|
||||
"''${gappsWrapperArgs[@]}"
|
||||
wrapProgram $out/bin/gnucash-cli \
|
||||
--prefix PATH : ${lib.makeBinPath [ py ]} \
|
||||
"''${gappsWrapperArgs[@]}"
|
||||
|
||||
wrapProgram $out/bin/finance-quote-wrapper \
|
||||
--prefix PERL5LIB : "${
|
||||
@@ -165,6 +177,9 @@ stdenv.mkDerivation rec {
|
||||
FinanceQuote
|
||||
]
|
||||
}"
|
||||
|
||||
chmod +x $out/share/gnucash/python/pycons/*.py
|
||||
patchShebangs $out/share/gnucash/python/pycons/*.py
|
||||
'';
|
||||
|
||||
passthru.updateScript = ./update.sh;
|
||||
|
||||
@@ -43,8 +43,10 @@
|
||||
libmsgraph,
|
||||
python3,
|
||||
gsettings-desktop-schemas,
|
||||
googleSupport ? false, # dependency on vulnerable libsoup versions
|
||||
}:
|
||||
|
||||
assert googleSupport -> gnomeSupport;
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "gvfs";
|
||||
version = "1.57.2";
|
||||
@@ -106,8 +108,10 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
glib-networking # TLS support
|
||||
gnome-online-accounts
|
||||
libsecret
|
||||
libgdata
|
||||
libmsgraph
|
||||
]
|
||||
++ lib.optionals googleSupport [
|
||||
libgdata
|
||||
];
|
||||
|
||||
mesonFlags = [
|
||||
@@ -130,9 +134,11 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
"-Dgcr=false"
|
||||
"-Dgoa=false"
|
||||
"-Dkeyring=false"
|
||||
"-Dgoogle=false"
|
||||
"-Donedrive=false"
|
||||
]
|
||||
++ lib.optionals (!googleSupport) [
|
||||
"-Dgoogle=false"
|
||||
]
|
||||
++ lib.optionals (avahi == null) [
|
||||
"-Ddnssd=false"
|
||||
]
|
||||
|
||||
@@ -15,14 +15,14 @@ let
|
||||
dashboardIcons = fetchFromGitHub {
|
||||
owner = "homarr-labs";
|
||||
repo = "dashboard-icons";
|
||||
rev = "51a2ae7b101c520bcfb5b44e5ddc99e658bc1e21"; # Until 2025-01-06
|
||||
hash = "sha256-rKXeMAhHV0Ax7mVFyn6hIZXm5RFkbGakjugU0DG0jLM=";
|
||||
rev = "f222c55843b888a82e9f2fe2697365841cbe6025"; # Until 2025-07-11
|
||||
hash = "sha256-VOWQh8ZadsqNInoXcRKYuXfWn5MK0qJpuYEWgM7Pny8=";
|
||||
};
|
||||
|
||||
installLocalIcons = ''
|
||||
mkdir -p $out/share/homepage/public/icons
|
||||
cp ${dashboardIcons}/png/* $out/share/homepage/public/icons
|
||||
cp ${dashboardIcons}/svg/* $out/share/homepage/public/icons
|
||||
cp -r --no-preserve=mode ${dashboardIcons}/png/. $out/share/homepage/public/icons
|
||||
cp -r --no-preserve=mode ${dashboardIcons}/svg/. $out/share/homepage/public/icons
|
||||
cp ${dashboardIcons}/LICENSE $out/share/homepage/public/icons/
|
||||
'';
|
||||
in
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
}:
|
||||
|
||||
let
|
||||
version = "1.11.2";
|
||||
version = "1.12.0";
|
||||
in
|
||||
stdenv.mkDerivation {
|
||||
pname = "libcpr";
|
||||
@@ -23,7 +23,7 @@ stdenv.mkDerivation {
|
||||
owner = "libcpr";
|
||||
repo = "cpr";
|
||||
rev = version;
|
||||
hash = "sha256-nKX9AYVC4e3B+vOzXWZu8S4I5BNpKnqkFJ2e8bVAUE4=";
|
||||
hash = "sha256-OkOyh2ibt/jX/Dc+TB1uSlWtzEhdSQwHVN96oCOh2yM=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
@@ -9,16 +9,16 @@
|
||||
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "overpush";
|
||||
version = "0.4.3";
|
||||
version = "0.4.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mrusme";
|
||||
repo = "overpush";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-Bs5Mlpod7bIQxekadU6xBhgC8nchli+BvxEH6NeMOKw=";
|
||||
hash = "sha256-6tSptrvlaljKMUawGD3Bk1LBwge/Awvvudpr+juuuQQ=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-wsuztFwEfluUxL2RjMP7Y+JtxQHr5oLwHkAL8UIHyVQ=";
|
||||
vendorHash = "sha256-KUfGc4vFfw59mwqR840cbL4ubBH1i+sIniHU0CDCKTg=";
|
||||
|
||||
env.CGO_ENABLED = "0";
|
||||
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
# Generated by ./update.sh - do not update manually!
|
||||
# Last updated: 2025-07-18
|
||||
# Last updated: 2025-07-25
|
||||
{ fetchurl }:
|
||||
let
|
||||
any-darwin = {
|
||||
version = "6.9.75-2025-07-10";
|
||||
version = "6.9.77-2025-07-24";
|
||||
src = fetchurl {
|
||||
url = "https://dldir1v6.qq.com/qqfile/qq/QQNT/Mac/QQ_6.9.75_250710_01.dmg";
|
||||
hash = "sha256-ejplu4I5PRBdwMrgDZ51WS+qN1GKc5qHqMToIvgR6og=";
|
||||
url = "https://dldir1v6.qq.com/qqfile/qq/QQNT/Mac/QQ_6.9.77_250724_01.dmg";
|
||||
hash = "sha256-ZHpFH5PPDaVtbEZsb+1fyoscWuPYedTrIaoqhnsXRlc=";
|
||||
};
|
||||
};
|
||||
in
|
||||
@@ -14,17 +14,17 @@ in
|
||||
aarch64-darwin = any-darwin;
|
||||
x86_64-darwin = any-darwin;
|
||||
aarch64-linux = {
|
||||
version = "3.2.18-2025-07-10";
|
||||
version = "3.2.18-2025-07-24";
|
||||
src = fetchurl {
|
||||
url = "https://dldir1v6.qq.com/qqfile/qq/QQNT/Linux/QQ_3.2.18_250710_arm64_01.deb";
|
||||
hash = "sha256-37HEXpLyeIjgXsAonNjS3YaIwk4It2LDy6Yj4lqK94Q=";
|
||||
url = "https://dldir1v6.qq.com/qqfile/qq/QQNT/Linux/QQ_3.2.18_250724_arm64_01.deb";
|
||||
hash = "sha256-j+ouSBfryrRXQbyC4ZDyrKPLqJVw67tGjlHdKel5Br4=";
|
||||
};
|
||||
};
|
||||
x86_64-linux = {
|
||||
version = "3.2.18-2025-07-10";
|
||||
version = "3.2.18-2025-07-24";
|
||||
src = fetchurl {
|
||||
url = "https://dldir1v6.qq.com/qqfile/qq/QQNT/Linux/QQ_3.2.18_250710_amd64_01.deb";
|
||||
hash = "sha256-P023rIalPAgBXZqJvnCgEHqTumWm+dhaUefzuR/4aoU=";
|
||||
url = "https://dldir1v6.qq.com/qqfile/qq/QQNT/Linux/QQ_3.2.18_250724_amd64_01.deb";
|
||||
hash = "sha256-HHFUXAv6oWsipBYECLNFJG8OMQ7fxjruA210w/oFFok=";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -8,16 +8,16 @@
|
||||
|
||||
buildNpmPackage rec {
|
||||
pname = "repomix";
|
||||
version = "1.1.0";
|
||||
version = "1.2.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "yamadashy";
|
||||
repo = "repomix";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-kqbVQCXLxcDYtKJt34gzhvgXdpF786uk5N2j2W4pcRg=";
|
||||
hash = "sha256-WLL9EBC7YQ3MH0/J/a18j3GsHBkJdS4+bucIenq0UwU=";
|
||||
};
|
||||
|
||||
npmDepsHash = "sha256-Ewyfhx1VwbUVM045KcDvgTzTCEVEssMVQrNbbnwnz+8=";
|
||||
npmDepsHash = "sha256-LEd0Wo0dgmCvEYB8yyqtVuyhDsUQAaHxvCl9nNVOVME=";
|
||||
|
||||
nativeInstallCheckInputs = [ versionCheckHook ];
|
||||
doInstallCheck = true;
|
||||
|
||||
@@ -7,13 +7,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "terramate";
|
||||
version = "0.14.0";
|
||||
version = "0.14.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "terramate-io";
|
||||
repo = "terramate";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-op8mwCofnktV+kkvh4mO5tfLrynlxGbQzOxq6JR7HbE=";
|
||||
hash = "sha256-75tx0LQwAUdox7qIkedPH956DAx0l6f+9M+6VgYDosQ=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-u9eXi7FjMsXm0H0y7Gs/Wu2I8tp4rRLxtjUxrrHJkEU=";
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
nixosTests,
|
||||
writeShellScript,
|
||||
versionCheckHook,
|
||||
makeSetupHook,
|
||||
}:
|
||||
|
||||
let
|
||||
@@ -111,8 +112,21 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
versionCheckProgramArg = "--version";
|
||||
|
||||
passthru = {
|
||||
tests.tor = nixosTests.tor;
|
||||
tests = {
|
||||
inherit (nixosTests) tor;
|
||||
proxyHook = callPackage ./proxy-hook-tests.nix {
|
||||
tor = finalAttrs.finalPackage;
|
||||
};
|
||||
};
|
||||
updateScript = callPackage ./update.nix { };
|
||||
proxyHook = makeSetupHook {
|
||||
name = "tor-proxy-hook";
|
||||
substitutions = {
|
||||
grep = lib.getExe gnugrep;
|
||||
tee = lib.getExe' coreutils "tee";
|
||||
tor = lib.getExe finalAttrs.finalPackage;
|
||||
};
|
||||
} ./proxy-hook.sh;
|
||||
};
|
||||
|
||||
meta = {
|
||||
|
||||
@@ -0,0 +1,45 @@
|
||||
{
|
||||
testers,
|
||||
fetchFromGitLab,
|
||||
fetchgit,
|
||||
fetchurl,
|
||||
fetchzip,
|
||||
linkFarm,
|
||||
tor,
|
||||
}:
|
||||
let
|
||||
domain = "eweiibe6tdjsdprb4px6rqrzzcsi22m4koia44kc5pcjr7nec2rlxyad.onion";
|
||||
rev = "933c5491db00c703d5d8264fdabd5a5b10aff96f";
|
||||
hash = "sha256-o6Wpso8GSlQH39GpH3IXZyrVhdP8pEYFxLDq9a7yHX0=";
|
||||
in
|
||||
linkFarm "tor-proxy-hook-tests" {
|
||||
fetchgit = testers.invalidateFetcherByDrvHash fetchgit {
|
||||
name = "fetchgit-tor-source";
|
||||
url = "http://${domain}/tpo/core/tor";
|
||||
inherit rev hash;
|
||||
nativeBuildInputs = [ tor.proxyHook ];
|
||||
};
|
||||
|
||||
fetchzip = testers.invalidateFetcherByDrvHash fetchzip {
|
||||
name = "fetchzip-tor-source";
|
||||
url = "http://${domain}/tpo/core/tor/-/archive/${rev}/tor-${rev}.zip";
|
||||
inherit hash;
|
||||
nativeBuildInputs = [ tor.proxyHook ];
|
||||
};
|
||||
|
||||
fetchurl = testers.invalidateFetcherByDrvHash fetchurl {
|
||||
name = "fetchurl-tor-source";
|
||||
url = "http://${domain}/tpo/core/tor/-/raw/${rev}/Cargo.lock";
|
||||
hash = "sha256-oX4WbsscLADgJ5o+czpueyAih7ic0u4lZQs7y1vMA3A=";
|
||||
nativeBuildInputs = [ tor.proxyHook ];
|
||||
};
|
||||
|
||||
fetchFromGitLab = testers.invalidateFetcherByDrvHash fetchFromGitLab {
|
||||
name = "gitlab-tor-source";
|
||||
protocol = "http";
|
||||
owner = "tpo/core";
|
||||
repo = "tor";
|
||||
inherit domain rev hash;
|
||||
nativeBuildInputs = [ tor.proxyHook ];
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
_setupTorProxy(){
|
||||
local torSocket=$NIX_BUILD_TOP/.tor.sock
|
||||
local torPort=unix:$torSocket
|
||||
|
||||
exec {tor_fd}< <(@tor@ --DataDirectory "$NIX_BUILD_TOP/.tor" --SocksPort "$torPort")
|
||||
exitHooks+=("kill '$!'")
|
||||
|
||||
# Wait for Tor to start
|
||||
read < <(<&$tor_fd- @tee@ /dev/fd/2 | @grep@ -m 1 -F 'Bootstrapped 100% (done): Done')
|
||||
|
||||
export ALL_PROXY="socks5h://localhost$torSocket"
|
||||
|
||||
# A Git repository may have submodules that fetch from clearnet URLs, so
|
||||
# for better performance, use Tor only for onion addresses. (fetchgit
|
||||
# doesn't respect ALL_PROXY, so this doesn't conflict.)
|
||||
export FETCHGIT_HTTP_PROXIES="http://*.onion $ALL_PROXY ${FETCHGIT_HTTP_PROXIES-}"
|
||||
}
|
||||
|
||||
postHooks+=(_setupTorProxy)
|
||||
@@ -23,13 +23,13 @@ assert lib.elem lineEditingLibrary [
|
||||
];
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "trealla";
|
||||
version = "2.78.0";
|
||||
version = "2.78.24";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "trealla-prolog";
|
||||
repo = "trealla";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-CJ1/Qbt6osuJZNuKiEaGEsDztVo8hTNOv6XvUQyWbFU=";
|
||||
hash = "sha256-0OCb/U09b7DNd3bOEszuVH7gA0cRVqoWS7/HRZRFCIs=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
||||
@@ -14,14 +14,14 @@
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "ty";
|
||||
version = "0.0.1-alpha.15";
|
||||
version = "0.0.1-alpha.16";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "astral-sh";
|
||||
repo = "ty";
|
||||
tag = finalAttrs.version;
|
||||
fetchSubmodules = true;
|
||||
hash = "sha256-7aOFRrnj4WFTuQWcOgdSU3w9KWwRbpPj3K6g4y0JPo0=";
|
||||
hash = "sha256-hpDzl1TJRCfr5l76HwK90WAbAgeDR48eRNs9knj87lk=";
|
||||
};
|
||||
|
||||
# For Darwin platforms, remove the integration test for file notifications,
|
||||
@@ -35,7 +35,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
|
||||
cargoBuildFlags = [ "--package=ty" ];
|
||||
|
||||
cargoHash = "sha256-vhsXYqU3Y5xGDLE/AVkVIY4eweHbyR/E3RvGoHG+1ZE=";
|
||||
cargoHash = "sha256-/SoF87aZHypzEsetgmALmNTheEH/CodZEPW2I5+F/a4=";
|
||||
|
||||
nativeBuildInputs = [ installShellFiles ];
|
||||
|
||||
|
||||
@@ -6,12 +6,12 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "unrar";
|
||||
version = "7.1.8";
|
||||
version = "7.1.9";
|
||||
|
||||
src = fetchzip {
|
||||
url = "https://www.rarlab.com/rar/unrarsrc-${finalAttrs.version}.tar.gz";
|
||||
stripRoot = false;
|
||||
hash = "sha256-0A6GAuAOJuP6bcNsfhNe7zALGu3nkqa3Q16FphXwT7A=";
|
||||
hash = "sha256-CkeE97RcEyCwOX4NKZG2d63ZvxsYFN8Y1swJ9ODb8sk=";
|
||||
};
|
||||
|
||||
sourceRoot = finalAttrs.src.name;
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "wdisplays";
|
||||
version = "1.1.1";
|
||||
version = "1.1.3";
|
||||
|
||||
nativeBuildInputs = [
|
||||
meson
|
||||
@@ -34,7 +34,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
owner = "artizirk";
|
||||
repo = "wdisplays";
|
||||
rev = finalAttrs.version;
|
||||
sha256 = "sha256-dtvP930ChiDRT60xq6xBDU6k+zHnkrAkxkKz2FxlzRs=";
|
||||
sha256 = "sha256-KabaW2BH4zAS0xWkzCM8YaAnP/hkZL7Wq3EARantRis=";
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
|
||||
@@ -5,13 +5,13 @@
|
||||
}:
|
||||
mkYaziPlugin {
|
||||
pname = "chmod.yazi";
|
||||
version = "25.5.28-unstable-2025-05-28";
|
||||
version = "25.5.31-unstable-2025-06-26";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "yazi-rs";
|
||||
repo = "plugins";
|
||||
rev = "d642bfb0822eb0c3c5c891ab0f4b6f897a2083cb";
|
||||
hash = "sha256-WF2b9t0VPGNP3QXgr/GMDFcSh5bsXC7KKd2ICL4WDHo=";
|
||||
rev = "7c174cc0ae1e07876218868e5e0917308201c081";
|
||||
hash = "sha256-RE93ZNlG6CRGZz7YByXtO0mifduh6MMGls6J9IYwaFA=";
|
||||
};
|
||||
|
||||
meta = {
|
||||
|
||||
@@ -5,13 +5,13 @@
|
||||
}:
|
||||
mkYaziPlugin {
|
||||
pname = "git.yazi";
|
||||
version = "25.5.28-unstable-2025-05-28";
|
||||
version = "25.5.31-unstable-2025-07-05";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "yazi-rs";
|
||||
repo = "plugins";
|
||||
rev = "d642bfb0822eb0c3c5c891ab0f4b6f897a2083cb";
|
||||
hash = "sha256-WF2b9t0VPGNP3QXgr/GMDFcSh5bsXC7KKd2ICL4WDHo=";
|
||||
rev = "cbc4450a6c238114362e3c2fbca355166c2a2202";
|
||||
hash = "sha256-otD7zmm/Juh68D2czRhtU7CZFIaMgADxuo8p68cS7fk=";
|
||||
};
|
||||
|
||||
meta = {
|
||||
|
||||
@@ -5,13 +5,13 @@
|
||||
}:
|
||||
mkYaziPlugin {
|
||||
pname = "glow.yazi";
|
||||
version = "0-unstable-2025-04-15";
|
||||
version = "0-unstable-2025-06-13";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Reledia";
|
||||
repo = "glow.yazi";
|
||||
rev = "2da96e3ffd9cd9d4dd53e0b2636f83ff69fe9af0";
|
||||
hash = "sha256-4krck4U/KWmnl32HWRsblYW/biuqzDPysrEn76buRck=";
|
||||
rev = "bd3eaa58c065eaf216a8d22d64c62d8e0e9277e9";
|
||||
hash = "sha256-mzW/ut/LTEriZiWF8YMRXG9hZ70OOC0irl5xObTNO40=";
|
||||
};
|
||||
|
||||
meta = {
|
||||
|
||||
@@ -5,13 +5,13 @@
|
||||
}:
|
||||
mkYaziPlugin {
|
||||
pname = "jump-to-char.yazi";
|
||||
version = "25.5.28-unstable-2025-05-28";
|
||||
version = "25.5.31-unstable-2025-06-18";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "yazi-rs";
|
||||
repo = "plugins";
|
||||
rev = "d642bfb0822eb0c3c5c891ab0f4b6f897a2083cb";
|
||||
hash = "sha256-WF2b9t0VPGNP3QXgr/GMDFcSh5bsXC7KKd2ICL4WDHo=";
|
||||
rev = "86d28e4fb4f25f36cc501b8cb0badb37a6b14263";
|
||||
hash = "sha256-m/gJTDm0cVkIdcQ1ZJliPqBhNKoCW1FciLkuq7D1mxo=";
|
||||
};
|
||||
|
||||
meta = {
|
||||
|
||||
@@ -5,13 +5,13 @@
|
||||
}:
|
||||
mkYaziPlugin {
|
||||
pname = "lsar.yazi";
|
||||
version = "25.5.28-unstable-2025-05-28";
|
||||
version = "25.5.31-unstable-2025-06-18";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "yazi-rs";
|
||||
repo = "plugins";
|
||||
rev = "d642bfb0822eb0c3c5c891ab0f4b6f897a2083cb";
|
||||
hash = "sha256-WF2b9t0VPGNP3QXgr/GMDFcSh5bsXC7KKd2ICL4WDHo=";
|
||||
rev = "86d28e4fb4f25f36cc501b8cb0badb37a6b14263";
|
||||
hash = "sha256-m/gJTDm0cVkIdcQ1ZJliPqBhNKoCW1FciLkuq7D1mxo=";
|
||||
};
|
||||
|
||||
meta = {
|
||||
|
||||
@@ -5,13 +5,13 @@
|
||||
}:
|
||||
mkYaziPlugin {
|
||||
pname = "mactag.yazi";
|
||||
version = "25.5.28-unstable-2025-05-28";
|
||||
version = "25.5.31-unstable-2025-07-02";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "yazi-rs";
|
||||
repo = "plugins";
|
||||
rev = "d642bfb0822eb0c3c5c891ab0f4b6f897a2083cb";
|
||||
hash = "sha256-WF2b9t0VPGNP3QXgr/GMDFcSh5bsXC7KKd2ICL4WDHo=";
|
||||
rev = "e5f00e2716fd177b0ca0d313f1a6e64f01c12760";
|
||||
hash = "sha256-DLcmzCmITybWrYuBpTyswtoGUimpagkyeVUWmbKjarY=";
|
||||
};
|
||||
|
||||
meta = {
|
||||
|
||||
@@ -5,13 +5,13 @@
|
||||
}:
|
||||
mkYaziPlugin {
|
||||
pname = "mediainfo.yazi";
|
||||
version = "25.5.31-unstable-2025-06-05";
|
||||
version = "25.5.31-unstable-2025-07-19";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "boydaihungst";
|
||||
repo = "mediainfo.yazi";
|
||||
rev = "a7d1aa69a1a107e64540c17f19ac94be1366769f";
|
||||
hash = "sha256-HUD8Sv1C4gzZRvSEIYqcmm+A0mBYDuwZHCNH26kipS0=";
|
||||
rev = "f89605ce7ca33181ee6770e641d80ec4673093e0";
|
||||
hash = "sha256-NloChkZWKo9JL636d+G7vgEY/HX24udngYftw/Ydzk4=";
|
||||
};
|
||||
|
||||
meta = {
|
||||
|
||||
@@ -5,13 +5,13 @@
|
||||
}:
|
||||
mkYaziPlugin {
|
||||
pname = "mime-ext.yazi";
|
||||
version = "25.5.28-unstable-2025-05-28";
|
||||
version = "25.5.31-unstable-2025-06-18";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "yazi-rs";
|
||||
repo = "plugins";
|
||||
rev = "d642bfb0822eb0c3c5c891ab0f4b6f897a2083cb";
|
||||
hash = "sha256-WF2b9t0VPGNP3QXgr/GMDFcSh5bsXC7KKd2ICL4WDHo=";
|
||||
rev = "86d28e4fb4f25f36cc501b8cb0badb37a6b14263";
|
||||
hash = "sha256-m/gJTDm0cVkIdcQ1ZJliPqBhNKoCW1FciLkuq7D1mxo=";
|
||||
};
|
||||
|
||||
meta = {
|
||||
|
||||
@@ -5,13 +5,13 @@
|
||||
}:
|
||||
mkYaziPlugin {
|
||||
pname = "mount.yazi";
|
||||
version = "25.5.28-unstable-2025-06-11";
|
||||
version = "25.5.31-unstable-2025-07-02";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "yazi-rs";
|
||||
repo = "plugins";
|
||||
rev = "c1d638374c76655896c06e9bc91cdb39857b7f15";
|
||||
hash = "sha256-cj2RjeW4/9ZRCd/H4PxrIQWW9kSOxtdi72f+8o13aPI=";
|
||||
rev = "e5f00e2716fd177b0ca0d313f1a6e64f01c12760";
|
||||
hash = "sha256-DLcmzCmITybWrYuBpTyswtoGUimpagkyeVUWmbKjarY=";
|
||||
};
|
||||
|
||||
meta = {
|
||||
|
||||
@@ -5,13 +5,13 @@
|
||||
}:
|
||||
mkYaziPlugin {
|
||||
pname = "ouch.yazi";
|
||||
version = "0-unstable-2025-06-10";
|
||||
version = "0-unstable-2025-07-13";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ndtoan96";
|
||||
repo = "ouch.yazi";
|
||||
rev = "1ee69a56da3c4b90ec8716dd9dd6b82e7a944614";
|
||||
hash = "sha256-4KZeDkMXlhUV0Zh+VGBtz9kFPGOWCexYVuKUSCN463o=";
|
||||
rev = "0742fffea5229271164016bf96fb599d861972db";
|
||||
hash = "sha256-C0wG8NQ+zjAMfd+J39Uvs3K4U6e3Qpo1yLPm2xcsAaI=";
|
||||
};
|
||||
|
||||
meta = {
|
||||
|
||||
@@ -5,13 +5,13 @@
|
||||
}:
|
||||
mkYaziPlugin {
|
||||
pname = "piper.yazi";
|
||||
version = "25.5.28-unstable-2025-05-28";
|
||||
version = "25.5.31-unstable-2025-06-21";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "yazi-rs";
|
||||
repo = "plugins";
|
||||
rev = "f9b3f8876eaa74d8b76e5b8356aca7e6a81c0fb7";
|
||||
hash = "sha256-EoIrbyC7WgRzrEtvso2Sr6HnNW91c5E+RZGqnjEi6Zo=";
|
||||
rev = "3d1efb706924112daed986a4eef634e408bad65e";
|
||||
hash = "sha256-GgEg1A5sxaH7hR1CUOO9WV21kH8B2YUGAtOapcWLP7Y=";
|
||||
};
|
||||
|
||||
meta = {
|
||||
|
||||
@@ -5,13 +5,13 @@
|
||||
}:
|
||||
mkYaziPlugin {
|
||||
pname = "projects.yazi";
|
||||
version = "0-unstable-2025-06-03";
|
||||
version = "0-unstable-2025-06-19";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "MasouShizuka";
|
||||
repo = "projects.yazi";
|
||||
rev = "7037dd5eee184ccb7725bdc9f7ea6faa188420d5";
|
||||
hash = "sha256-Lc0MeiAuPgJTq4ojNw9hwxqPJ74S4ymn4uPTkxGeZGc=";
|
||||
rev = "a5e33db284ab580de7b549e472bba13a5ba7c7b9";
|
||||
hash = "sha256-4VD1OlzGgyeB1jRgPpI4aWnOCHNZQ9vhh40cbU80Les=";
|
||||
};
|
||||
|
||||
meta = {
|
||||
|
||||
@@ -5,13 +5,13 @@
|
||||
}:
|
||||
mkYaziPlugin {
|
||||
pname = "relative-motions.yazi";
|
||||
version = "25.5.28-unstable-2025-06-05";
|
||||
version = "25.5.28-unstable-2025-07-09";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "dedukun";
|
||||
repo = "relative-motions.yazi";
|
||||
rev = "2e3b6172e6226e0db96aea12d09dea2d2e443fea";
|
||||
hash = "sha256-v0e06ieBKNmt9DATdL7R4AyVFa9DlNBwpfME3LHozLA=";
|
||||
rev = "a603d9ea924dfc0610bcf9d3129e7cba605d4501";
|
||||
hash = "sha256-9i6x/VxGOA3bB3FPieB7mQ1zGaMK5wnMhYqsq4CvaM4=";
|
||||
};
|
||||
|
||||
meta = {
|
||||
|
||||
@@ -5,13 +5,13 @@
|
||||
}:
|
||||
mkYaziPlugin {
|
||||
pname = "restore.yazi";
|
||||
version = "25.5.31-unstable-2025-06-05";
|
||||
version = "25.5.31-unstable-2025-07-11";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "boydaihungst";
|
||||
repo = "restore.yazi";
|
||||
rev = "b7c33766e0bc4bbbb99e8e934be90e3beb881d29";
|
||||
hash = "sha256-qtthY7eySqXoA3TARubZF0SsYkkLEgkjdtPUxR5ro0I=";
|
||||
rev = "84f1921806c49b7b20af26cbe57cb4fd286142e2";
|
||||
hash = "sha256-pEQZ/2Z4XVYlfzqtCz51bIgE9KzkDF/qyX8vThhlWGI=";
|
||||
};
|
||||
|
||||
meta = {
|
||||
|
||||
@@ -5,13 +5,13 @@
|
||||
}:
|
||||
mkYaziPlugin {
|
||||
pname = "smart-enter.yazi";
|
||||
version = "25.5.28-unstable-2025-05-28";
|
||||
version = "25.5.31-unstable-2025-06-18";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "yazi-rs";
|
||||
repo = "plugins";
|
||||
rev = "d642bfb0822eb0c3c5c891ab0f4b6f897a2083cb";
|
||||
hash = "sha256-WF2b9t0VPGNP3QXgr/GMDFcSh5bsXC7KKd2ICL4WDHo=";
|
||||
rev = "86d28e4fb4f25f36cc501b8cb0badb37a6b14263";
|
||||
hash = "sha256-m/gJTDm0cVkIdcQ1ZJliPqBhNKoCW1FciLkuq7D1mxo=";
|
||||
};
|
||||
|
||||
meta = {
|
||||
|
||||
@@ -5,13 +5,13 @@
|
||||
}:
|
||||
mkYaziPlugin {
|
||||
pname = "smart-filter.yazi";
|
||||
version = "25.5.28-unstable-2025-05-28";
|
||||
version = "25.5.31-unstable-2025-07-23";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "yazi-rs";
|
||||
repo = "plugins";
|
||||
rev = "d642bfb0822eb0c3c5c891ab0f4b6f897a2083cb";
|
||||
hash = "sha256-WF2b9t0VPGNP3QXgr/GMDFcSh5bsXC7KKd2ICL4WDHo=";
|
||||
rev = "de53d90cb2740f84ae595f93d0c4c23f8618a9e4";
|
||||
hash = "sha256-ixZKOtLOwLHLeSoEkk07TB3N57DXoVEyImR3qzGUzxQ=";
|
||||
};
|
||||
|
||||
meta = {
|
||||
|
||||
@@ -5,13 +5,13 @@
|
||||
}:
|
||||
mkYaziPlugin {
|
||||
pname = "smart-paste.yazi";
|
||||
version = "25.5.28-unstable-2025-05-28";
|
||||
version = "25.5.31-unstable-2025-06-18";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "yazi-rs";
|
||||
repo = "plugins";
|
||||
rev = "d642bfb0822eb0c3c5c891ab0f4b6f897a2083cb";
|
||||
hash = "sha256-WF2b9t0VPGNP3QXgr/GMDFcSh5bsXC7KKd2ICL4WDHo=";
|
||||
rev = "86d28e4fb4f25f36cc501b8cb0badb37a6b14263";
|
||||
hash = "sha256-m/gJTDm0cVkIdcQ1ZJliPqBhNKoCW1FciLkuq7D1mxo=";
|
||||
};
|
||||
|
||||
meta = {
|
||||
|
||||
@@ -5,13 +5,13 @@
|
||||
}:
|
||||
mkYaziPlugin {
|
||||
pname = "starship.yazi";
|
||||
version = "25.4.8-unstable-2025-06-01";
|
||||
version = "25.4.8-unstable-2025-07-08";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Rolv-Apneseth";
|
||||
repo = "starship.yazi";
|
||||
rev = "6a0f3f788971b155cbc7cec47f6f11aebbc148c9";
|
||||
hash = "sha256-q1G0Y4JAuAv8+zckImzbRvozVn489qiYVGFQbdCxC98=";
|
||||
rev = "a63550b2f91f0553cc545fd8081a03810bc41bc0";
|
||||
hash = "sha256-PYeR6fiWDbUMpJbTFSkM57FzmCbsB4W4IXXe25wLncg=";
|
||||
};
|
||||
|
||||
meta = {
|
||||
|
||||
@@ -5,13 +5,13 @@
|
||||
}:
|
||||
mkYaziPlugin {
|
||||
pname = "toggle-pane.yazi";
|
||||
version = "25.5.28-unstable-2025-05-28";
|
||||
version = "25.5.31-unstable-2025-06-18";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "yazi-rs";
|
||||
repo = "plugins";
|
||||
rev = "a54b96a3f21495ab3659e45d5354bcc8413be15c";
|
||||
hash = "sha256-TtVaWazkk2xnomhJFinElbUsXUKAbDDhLEVq5Ah3nAk=";
|
||||
rev = "86d28e4fb4f25f36cc501b8cb0badb37a6b14263";
|
||||
hash = "sha256-m/gJTDm0cVkIdcQ1ZJliPqBhNKoCW1FciLkuq7D1mxo=";
|
||||
};
|
||||
|
||||
meta = {
|
||||
|
||||
@@ -5,13 +5,13 @@
|
||||
}:
|
||||
mkYaziPlugin {
|
||||
pname = "vcs-files.yazi";
|
||||
version = "25.5.28-unstable-2025-05-28";
|
||||
version = "25.5.31-unstable-2025-06-18";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "yazi-rs";
|
||||
repo = "plugins";
|
||||
rev = "d642bfb0822eb0c3c5c891ab0f4b6f897a2083cb";
|
||||
hash = "sha256-WF2b9t0VPGNP3QXgr/GMDFcSh5bsXC7KKd2ICL4WDHo=";
|
||||
rev = "86d28e4fb4f25f36cc501b8cb0badb37a6b14263";
|
||||
hash = "sha256-m/gJTDm0cVkIdcQ1ZJliPqBhNKoCW1FciLkuq7D1mxo=";
|
||||
};
|
||||
|
||||
meta = {
|
||||
|
||||
@@ -5,13 +5,13 @@
|
||||
}:
|
||||
mkYaziPlugin {
|
||||
pname = "yatline.yazi";
|
||||
version = "0-unstable-2025-06-11";
|
||||
version = "25.5.31-unstable-2025-06-12";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "imsi32";
|
||||
repo = "yatline.yazi";
|
||||
rev = "73bce63ffb454ea108a96f316e2a8c2e16a35262";
|
||||
hash = "sha256-pIaqnxEGKiWvtFZJm0e7GSbbIc2qaTCB+czHLcVuVzY=";
|
||||
rev = "88bd1c58357d472fe7e8daf9904936771fc49795";
|
||||
hash = "sha256-RkQKZQAa5U9eMWk1Q0doueJZiuP4elUJ0dM1XKLSnDo=";
|
||||
};
|
||||
|
||||
meta = {
|
||||
|
||||
@@ -7,15 +7,15 @@
|
||||
|
||||
buildNpmPackage rec {
|
||||
pname = "zwave-js-ui";
|
||||
version = "10.8.0";
|
||||
version = "10.10.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "zwave-js";
|
||||
repo = "zwave-js-ui";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-/YXt5yvlYdslxtc6dVGJXsgoMMmIXt8lRoYPn6nNjYY=";
|
||||
hash = "sha256-75B/3hBD2FfLRcbBbj+uB43dd7Wiaipy8prBEcwSB6Y=";
|
||||
};
|
||||
npmDepsHash = "sha256-qQJ/TCaRvdaKok1ud4MzrM8dtYjlNpESxiN/sJbPexY=";
|
||||
npmDepsHash = "sha256-8WEUicgztCi6eK7vri3cOKjDgMx2DIcJTIGp0WTNiDc=";
|
||||
|
||||
passthru.tests.zwave-js-ui = nixosTests.zwave-js-ui;
|
||||
|
||||
|
||||
@@ -139,5 +139,31 @@ stdenv.mkDerivation rec {
|
||||
"libsoup-2.4"
|
||||
"libsoup-gnome-2.4"
|
||||
];
|
||||
knownVulnerabilities = [
|
||||
''
|
||||
libsoup 2 is EOL, with many known unfixed CVEs.
|
||||
The last release happened 2023-10-11,
|
||||
with few security backports since and no stable release.
|
||||
|
||||
Vulnerabilities likely include (incomplete list):
|
||||
- CVE-2025-4948: https://gitlab.gnome.org/GNOME/libsoup/-/issues/449
|
||||
- CVE-2025-46421: https://gitlab.gnome.org/GNOME/libsoup/-/issues/439
|
||||
- CVE-2025-32914: https://gitlab.gnome.org/GNOME/libsoup/-/issues/436
|
||||
- CVE-2025-32913: https://gitlab.gnome.org/GNOME/libsoup/-/issues/435
|
||||
- CVE-2025-32912: https://gitlab.gnome.org/GNOME/libsoup/-/issues/434
|
||||
- CVE-2025-32911: https://gitlab.gnome.org/GNOME/libsoup/-/issues/433
|
||||
- CVE-2025-32910: https://gitlab.gnome.org/GNOME/libsoup/-/issues/432
|
||||
- CVE-2025-32909: https://gitlab.gnome.org/GNOME/libsoup/-/issues/431
|
||||
- CVE-2025-32907: https://gitlab.gnome.org/GNOME/libsoup/-/issues/428
|
||||
- CVE-2025-32053: https://gitlab.gnome.org/GNOME/libsoup/-/issues/426
|
||||
- CVE-2025-32052: https://gitlab.gnome.org/GNOME/libsoup/-/issues/425
|
||||
- CVE-2025-32050: https://gitlab.gnome.org/GNOME/libsoup/-/issues/424
|
||||
- CVE-2024-52531: https://gitlab.gnome.org/GNOME/libsoup/-/issues/423
|
||||
- CVE-2025-2784: https://gitlab.gnome.org/GNOME/libsoup/-/issues/422
|
||||
|
||||
These vulnerabilities were fixed in libsoup 3,
|
||||
with the vulnerable code present in libsoup 2 versions.
|
||||
''
|
||||
];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
{
|
||||
lib,
|
||||
buildPythonPackage,
|
||||
fetchFromGitHub,
|
||||
hatchling,
|
||||
pytestCheckHook,
|
||||
regex,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "backrefs";
|
||||
version = "5.9";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "facelessuser";
|
||||
repo = "backrefs";
|
||||
tag = version;
|
||||
hash = "sha256-W75JLoBn990PoO3Ej3nb3BjOGm0c71o8hDDBUFWr8i4=";
|
||||
};
|
||||
|
||||
build-system = [
|
||||
hatchling
|
||||
];
|
||||
|
||||
pythonImportsCheck = [ "backrefs" ];
|
||||
|
||||
nativeCheckInputs = [
|
||||
pytestCheckHook
|
||||
regex
|
||||
];
|
||||
|
||||
meta = {
|
||||
description = "Wrapper around re or regex that adds additional back references";
|
||||
homepage = "https://github.com/facelessuser/backrefs";
|
||||
changelog = "https://github.com/facelessuser/backrefs/releases/tag/${version}";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ drupol ];
|
||||
};
|
||||
}
|
||||
@@ -24,14 +24,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "bayesian-optimization";
|
||||
version = "3.0.0";
|
||||
version = "3.0.1";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "bayesian-optimization";
|
||||
repo = "BayesianOptimization";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-ruMxuMTXVpS5oaZk994xIjgUnhpybrvhvy69nvU5feE=";
|
||||
hash = "sha256-dq5R0/gqjSzQPAmYvtByJ6gT8pOiXcezfYlKpFLnryk=";
|
||||
};
|
||||
|
||||
build-system = [ poetry-core ];
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
dask,
|
||||
dask-awkward,
|
||||
dask-histogram,
|
||||
fsspec-xrootd,
|
||||
hist,
|
||||
lz4,
|
||||
matplotlib,
|
||||
@@ -42,14 +41,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "coffea";
|
||||
version = "2025.7.1";
|
||||
version = "2025.7.2";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "CoffeaTeam";
|
||||
repo = "coffea";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-GtofpITO9QcwFcKyVTz7clquJy2tBTlkf3IR1cXlklM=";
|
||||
hash = "sha256-MSCJRjw4bbQQAA39fOQAJ9qfRXO/hUrLeXZMRVGd2Zc=";
|
||||
};
|
||||
|
||||
build-system = [
|
||||
@@ -70,7 +69,6 @@ buildPythonPackage rec {
|
||||
dask
|
||||
dask-awkward
|
||||
dask-histogram
|
||||
fsspec-xrootd
|
||||
hist
|
||||
lz4
|
||||
matplotlib
|
||||
|
||||
@@ -11,14 +11,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "gocardless-pro";
|
||||
version = "3.1.0";
|
||||
version = "3.2.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "gocardless";
|
||||
repo = "gocardless-pro-python";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-NbUgntDZnre6raLGhC2NIY1DctaYInSk5JvsTRDO/dQ=";
|
||||
hash = "sha256-nSgOHc4Y8wes2lYWWdhxkGXiXUaRnpaj1/gnmeA7dXA=";
|
||||
};
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
||||
@@ -8,13 +8,13 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "jianpu-ly";
|
||||
version = "1.859";
|
||||
version = "1.860";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchPypi {
|
||||
inherit version;
|
||||
pname = "jianpu_ly";
|
||||
hash = "sha256-+DMaFEf8LfXMujmq1eKQO2/8L1lqQ2Idc5UuN7saIP4=";
|
||||
hash = "sha256-lUsQMNYQVuZ0Ob007hrSigGLWuyFehLEdm112V3PLXI=";
|
||||
};
|
||||
|
||||
dependencies = [ lilypond ];
|
||||
|
||||
@@ -9,13 +9,13 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "llama-index-instrumentation";
|
||||
version = "0.2.0";
|
||||
version = "0.3.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchPypi {
|
||||
pname = "llama_index_instrumentation";
|
||||
inherit version;
|
||||
hash = "sha256-roMzUiSH4iozcykkqaCN+0VvVJk8XJfYNA2zxiC3bxM=";
|
||||
hash = "sha256-d3QcHZhh6tCA5vmDUGJZcUiNHgRr7ekc7J4M4vY+o0o=";
|
||||
};
|
||||
|
||||
pythonRelaxDeps = [ "pydantic" ];
|
||||
|
||||
@@ -10,13 +10,13 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "llama-index-workflows";
|
||||
version = "1.1.0";
|
||||
version = "1.2.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchPypi {
|
||||
pname = "llama_index_workflows";
|
||||
inherit version;
|
||||
hash = "sha256-/wAdNiEAv8KjNTzF8lKKCttSJF5jIZGoa0vdrN5ytq8=";
|
||||
hash = "sha256-9rGfAaNAoa+x0v0ihcnc40bjBKOq5RnmEDBZ9a+yYJ8=";
|
||||
};
|
||||
|
||||
pythonRelaxDeps = [ "pydantic" ];
|
||||
|
||||
@@ -0,0 +1,45 @@
|
||||
{
|
||||
lib,
|
||||
buildPythonPackage,
|
||||
fetchFromGitHub,
|
||||
pkgs, # Only for pkgs.plantuml,
|
||||
setuptools,
|
||||
httplib2,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "mkdocs-build-plantuml";
|
||||
version = "1.11.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "christo-ph";
|
||||
repo = "mkdocs_build_plantuml";
|
||||
tag = version;
|
||||
hash = "sha256-cbyxvWBIV+v81m+xGZZsUypkM1uuj4ADMUrAYlc/XBI=";
|
||||
};
|
||||
|
||||
# There's only one substitution, no patch is needed.
|
||||
postPatch = ''
|
||||
substituteInPlace mkdocs_build_plantuml_plugin/plantuml.py \
|
||||
--replace-fail '/usr/local/bin/plantuml' '${lib.getExe pkgs.plantuml}'
|
||||
'';
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
||||
dependencies = [
|
||||
httplib2
|
||||
];
|
||||
|
||||
pythonImportsCheck = [ "mkdocs_build_plantuml_plugin" ];
|
||||
|
||||
# No tests available
|
||||
doCheck = false;
|
||||
|
||||
meta = {
|
||||
description = "MkDocs plugin to help generate your plantuml images locally or remotely as files (NOT inline)";
|
||||
homepage = "https://github.com/christo-ph/mkdocs_build_plantuml";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ drupol ];
|
||||
};
|
||||
}
|
||||
@@ -1,6 +1,7 @@
|
||||
{
|
||||
lib,
|
||||
babel,
|
||||
backrefs,
|
||||
buildPythonPackage,
|
||||
cairosvg,
|
||||
colorama,
|
||||
@@ -20,7 +21,6 @@
|
||||
pillow,
|
||||
pygments,
|
||||
pymdown-extensions,
|
||||
pythonOlder,
|
||||
regex,
|
||||
requests,
|
||||
trove-classifiers,
|
||||
@@ -28,16 +28,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "mkdocs-material";
|
||||
version = "9.6.4";
|
||||
version = "9.6.15";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "squidfunk";
|
||||
repo = "mkdocs-material";
|
||||
tag = version;
|
||||
hash = "sha256-Di+m06LuS5mXzvmz8Cvby49HguUPbXEJf9PnR8fQ5jw=";
|
||||
hash = "sha256-EksLvPl/VfGSufdqgWlQTd6kz07/pTIAOz7hMBdy8Ro=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
@@ -49,6 +47,7 @@ buildPythonPackage rec {
|
||||
|
||||
propagatedBuildInputs = [
|
||||
babel
|
||||
backrefs
|
||||
colorama
|
||||
jinja2
|
||||
markdown
|
||||
|
||||
@@ -12,14 +12,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "mktestdocs";
|
||||
version = "0.2.3";
|
||||
version = "0.2.5";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "koaning";
|
||||
repo = "mktestdocs";
|
||||
tag = version;
|
||||
hash = "sha256-egLlgq0lQOk0cPBly01zQ0rkl7D7Rf/bZ4en5oG+wlE=";
|
||||
hash = "sha256-OiOkU/qfxeLbCT1QywA1rGSwe9Ja8tENTmBo93vo0vc=";
|
||||
};
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
||||
@@ -13,14 +13,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "roadlib";
|
||||
version = "1.3.1";
|
||||
version = "1.4.0";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-RI6gUqCaOeLesIwHtsASEkTtdRxLCAP6+C5Yj8mBb2o=";
|
||||
hash = "sha256-xiWX16bnEhy7Ykn0nEXpXLJJ5rsZrr2rYmu6WE5XhaQ=";
|
||||
};
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
{
|
||||
"1.21": {
|
||||
"sha1": "6e64dcabba3c01a7271b4fa6bd898483b794c59b",
|
||||
"url": "https://piston-data.mojang.com/v1/objects/6e64dcabba3c01a7271b4fa6bd898483b794c59b/server.jar",
|
||||
"version": "1.21.6",
|
||||
"sha1": "05e4b48fbc01f0385adb74bcff9751d34552486c",
|
||||
"url": "https://piston-data.mojang.com/v1/objects/05e4b48fbc01f0385adb74bcff9751d34552486c/server.jar",
|
||||
"version": "1.21.7",
|
||||
"javaVersion": 21
|
||||
},
|
||||
"1.20": {
|
||||
|
||||
@@ -238,6 +238,26 @@ in
|
||||
};
|
||||
};
|
||||
|
||||
dotbar = mkTmuxPlugin rec {
|
||||
pluginName = "dotbar";
|
||||
version = "0.3.0";
|
||||
src = fetchFromGitHub {
|
||||
owner = "vaaleyard";
|
||||
repo = "tmux-dotbar";
|
||||
tag = version;
|
||||
hash = "sha256-n9k18pJnd5mnp9a7VsMBmEHDwo3j06K6/G6p7/DTyIY=";
|
||||
};
|
||||
meta = {
|
||||
homepage = "https://github.com/vaaleyard/tmux-dotbar";
|
||||
downloadPage = "https://github.com/vaaleyard/tmux-dotbar";
|
||||
description = "Simple and minimalist status bar for tmux";
|
||||
changelog = "https://github.com/vaaleyard/tmux-dotbar/releases/tag/${version}";
|
||||
license = lib.licenses.mit;
|
||||
platforms = lib.platforms.unix;
|
||||
maintainers = with lib.maintainers; [ FKouhai ];
|
||||
};
|
||||
};
|
||||
|
||||
extrakto = mkTmuxPlugin {
|
||||
pluginName = "extrakto";
|
||||
version = "0-unstable-2024-08-25";
|
||||
@@ -356,6 +376,26 @@ in
|
||||
};
|
||||
};
|
||||
|
||||
harpoon = mkTmuxPlugin {
|
||||
pluginName = "harpoon";
|
||||
rtpFilePath = "harpoon.tmux";
|
||||
version = "0.4.0";
|
||||
src = fetchFromGitHub {
|
||||
owner = "chaitanyabsprip";
|
||||
repo = "tmux-harpoon";
|
||||
rev = "v0.4.0";
|
||||
hash = "sha256-+IakWkPoQFhIQ4m/98NVYWe5tFKmtfKBnPXZcfU9iOk=";
|
||||
};
|
||||
meta = {
|
||||
homepage = "https://github.com/Chaitanyabsprip/tmux-harpoon";
|
||||
downloadPage = "https://github.com/Chaitanyabsprip/tmux-harpoon";
|
||||
description = "Tool to bookmark session supporting auto create for sessions";
|
||||
license = lib.licenses.mit;
|
||||
platforms = lib.platforms.unix;
|
||||
maintainers = with lib.maintainers; [ FKouhai ];
|
||||
};
|
||||
};
|
||||
|
||||
jump = mkTmuxPlugin {
|
||||
pluginName = "jump";
|
||||
version = "2020-06-26";
|
||||
|
||||
@@ -1635,6 +1635,8 @@ self: super: with self; {
|
||||
|
||||
backports-tarfile = callPackage ../development/python-modules/backports-tarfile { };
|
||||
|
||||
backrefs = callPackage ../development/python-modules/backrefs { };
|
||||
|
||||
backtesting = callPackage ../development/python-modules/backtesting { };
|
||||
|
||||
bacpypes = callPackage ../development/python-modules/bacpypes { };
|
||||
@@ -9273,6 +9275,8 @@ self: super: with self; {
|
||||
|
||||
mkdocs-backlinks = callPackage ../development/python-modules/mkdocs-backlinks { };
|
||||
|
||||
mkdocs-build-plantuml = callPackage ../development/python-modules/mkdocs-build-plantuml { };
|
||||
|
||||
mkdocs-drawio-exporter = callPackage ../development/python-modules/mkdocs-drawio-exporter { };
|
||||
|
||||
mkdocs-drawio-file = callPackage ../development/python-modules/mkdocs-drawio-file { };
|
||||
|
||||
@@ -168,7 +168,6 @@ in
|
||||
util-linux = linux;
|
||||
util-linuxMinimal = linux;
|
||||
w3m = all;
|
||||
webkitgtk_4_0 = linux;
|
||||
wget = all;
|
||||
which = all;
|
||||
wirelesstools = linux;
|
||||
|
||||
Reference in New Issue
Block a user