Merge master into staging-next

This commit is contained in:
nixpkgs-ci[bot]
2026-09-13 18:10:02 +00:00
committed by GitHub
143 changed files with 2797 additions and 3098 deletions

View File

@@ -66,4 +66,4 @@ jobs:
Periodic merge from `${{ inputs.from }}` into [`${{ inputs.into }}`](https://github.com/NixOS/nixpkgs/tree/${{ inputs.into }}) has [failed](https://github.com/NixOS/nixpkgs/actions/runs/${{ github.run_id }}).
GH_TOKEN: ${{ steps.app-token.outputs.token }}
run: |
gh pr comment 105153 --body "$BODY_TEXT"
gh issue comment 562905 --body "$BODY_TEXT"

File diff suppressed because it is too large Load Diff

View File

@@ -745,6 +745,9 @@ checkConfigOutput '^38|27$' options.submoduleLine38.declarationPositions.1.line
# nested options work
checkConfigOutput '^34$' options.nested.nestedLine34.declarationPositions.0.line ./declaration-positions.nix
# types.pathWith in-module assertions
checkConfigOutput '"ok"' config.assertionsResult ./pathWith.nix
# types.pathWith { inStore = true; }
checkConfigOutput '".*/store/0lz9p8xhf89kb1c1kk6jxrzskaiygnlh-bash-5.2-p15.drv"' config.pathInStore.ok1 ./pathWith.nix
checkConfigOutput '".*/store/0fb3ykw9r5hpayd05sr0cizwadzq1d8q-bash-5.2-p15"' config.pathInStore.ok2 ./pathWith.nix

View File

@@ -1,4 +1,4 @@
{ lib, ... }:
{ config, lib, ... }:
let
inherit (builtins)
storeDir
@@ -12,6 +12,8 @@ in
imports = [
{
options = {
assertionsResult = mkOption { };
pathInStore = mkOption { type = types.lazyAttrsOf (types.pathWith { inStore = true; }); };
pathNotInStore = mkOption { type = types.lazyAttrsOf (types.pathWith { inStore = false; }); };
anyPath = mkOption { type = types.lazyAttrsOf (types.pathWith { }); };
@@ -23,6 +25,13 @@ in
}
);
};
absolutePath = mkOption {
type = types.lazyAttrsOf (
types.pathWith {
absolute = true;
}
);
};
# This conflicts with `conflictingPathOptionType` below.
conflictingPathOptionType = mkOption { type = types.pathWith { absolute = true; }; };
@@ -85,7 +94,21 @@ in
absolutePathNotInStore.bad1 = "./this/is/relative";
absolutePathNotInStore.bad2 = "${storeDir}/0fb3ykw9r5hpayd05sr0cizwadzq1d8q-bash-5.2-p15";
absolutePath.ok1 = "/var/lib/postgresql";
absolutePath.ok2 = {
type = "derivation";
outPath = abort "do not instantiate (via outPath)";
drvPath = abort "do not instantiate (via drvPath)";
meta.description = "just a test fixture";
};
conflictingPathOptionType = "/foo/bar";
impossiblePathOptionType = "/foo/bar";
assertionsResult =
assert config.absolutePath.ok1 == "/var/lib/postgresql";
assert config.absolutePath.ok2.type == "derivation";
assert config.absolutePath.ok2.meta.description == "just a test fixture";
"ok";
}

View File

@@ -695,7 +695,7 @@ rec {
else
/. + builtins.unsafeDiscardStringContext x
);
isAbsolute = substring 0 1 (toString x) == "/";
isAbsolute = x.type or null == "derivation" || substring 0 1 (toString x) == "/";
isExpectedType = (
if inStore == null || inStore then isStringLike x else isString x # Do not allow a true path, which could be copied to the store later on.
);

View File

@@ -45,6 +45,17 @@ in
default = null;
};
databaseEncryptionKeysFile = mkOption {
description = ''
Path to file containing encryption key(s) to encrypt target credentials stored in database.
Should be a env-like file: `WARPGATE_ENCRYPTION_KEY=$(openssl rand -base64 32)`.
If you are rotating key, move the old key to `WARPGATE_ENCRYPTION_KEY_OLD`.
See [Encrypting credentials at rest](https://warpgate.null.page/encryption/).
'';
type = nullOr str;
default = null;
};
settings = mkOption {
description = "Warpgate configuration.";
type = submodule {
@@ -120,18 +131,6 @@ in
]
'';
};
recordings = {
enable = mkOption {
description = "Whether to enable session recording.";
default = true;
type = bool;
};
path = mkOption {
description = "Path to store session recordings.";
default = "/var/lib/warpgate/recordings";
type = str;
};
};
external_host = mkOption {
description = ''
Configure the domain name of this Warpgate instance.
@@ -160,6 +159,11 @@ in
default = "[::]:2222";
type = str;
};
proxy_protocol = mkOption {
description = "Accept HAProxy PROXY protocol v1/v2 headers from upstream reverse proxy.";
default = false;
type = bool;
};
external_host = mkOption {
description = "The SSH listener is reachable via this domain name externally.";
default = null;
@@ -201,6 +205,11 @@ in
default = "[::]:8888";
type = str;
};
proxy_protocol = mkOption {
description = "Accept HAProxy PROXY protocol v1/v2 headers from upstream reverse proxy.";
default = false;
type = bool;
};
external_host = mkOption {
description = "The HTTP listener is reachable via this domain name externally.";
default = null;
@@ -270,6 +279,88 @@ in
type = str;
};
};
rdp = {
enable = mkOption {
description = "Whether to enable RDP listener.";
default = false;
type = bool;
};
listen = mkOption {
description = "Listen endpoint of RDP listener.";
default = "[::]:3389";
type = str;
};
proxy_protocol = mkOption {
description = "Accept HAProxy PROXY protocol v1/v2 headers from the listener's peer.";
default = false;
type = bool;
};
external_host = mkOption {
description = "The RDP listener is reachable via this domain name externally.";
default = null;
type = nullOr str;
};
external_port = mkOption {
description = "The RDP listener is reachable via this port externally.";
default = null;
type = nullOr str;
};
certificate = mkOption {
description = "Path to RDP listener certificate.";
default = "/var/lib/warpgate/tls.certificate.pem";
type = str;
};
key = mkOption {
description = "Path to RDP listener private key.";
default = "/var/lib/warpgate/tls.key.pem";
type = str;
};
};
vnc = {
enable = mkOption {
description = "Whether to enable VNC listener.";
default = false;
type = bool;
};
listen = mkOption {
description = "Listen endpoint of VNC listener.";
default = "[::]:5900";
type = str;
};
proxy_protocol = mkOption {
description = "Accept HAProxy PROXY protocol v1/v2 headers from the listener's peer.";
default = false;
type = bool;
};
external_host = mkOption {
description = "The VNC listener is reachable via this domain name externally.";
default = null;
type = nullOr str;
};
external_port = mkOption {
description = "The VNC listener is reachable via this port externally.";
default = null;
type = nullOr str;
};
certificate = mkOption {
description = "Path to VNC listener certificate.";
default = "/var/lib/warpgate/tls.certificate.pem";
type = str;
};
key = mkOption {
description = "Path to VNC listener private key.";
default = "/var/lib/warpgate/tls.key.pem";
type = str;
};
enable_ard_auth = mkOption {
description = ''
Enable Apple-DH (Apple Remote Desktop / type 30) auth, which is to ensure compatibility with Apple clients.
However [connections from macOS built-in VNC client with ARD auth is not supported](https://github.com/warp-tech/warpgate/blob/47e676969a0b1e0b8456f9a5f1474d6c58648c4f/warpgate-protocol-vnc/src/server/rfb.rs#L8-L10).
'';
default = false;
type = bool;
};
};
mysql = {
enable = mkOption {
description = "Whether to enable MySQL listener.";
@@ -281,6 +372,11 @@ in
default = "[::]:33306";
type = str;
};
proxy_protocol = mkOption {
description = "Accept HAProxy PROXY protocol v1/v2 headers from upstream reverse proxy.";
default = false;
type = bool;
};
external_host = mkOption {
description = "The MySQL listener is reachable via this domain name externally.";
default = null;
@@ -301,6 +397,14 @@ in
default = "/var/lib/warpgate/tls.key.pem";
type = str;
};
advertised_version = mkOption {
description = ''
The server version advertised to clients during the handshake.
Warpgate can't auto-match the target's version since the target is only known after the handshake, but Warpgate's clients use it to pick a protocol dialect.
'';
default = "8.0.3-Warpgate";
type = str;
};
};
postgres = {
enable = mkOption {
@@ -313,6 +417,11 @@ in
default = "[::]:55432";
type = str;
};
proxy_protocol = mkOption {
description = "Accept HAProxy PROXY protocol v1/v2 headers from upstream reverse proxy.";
default = false;
type = bool;
};
external_host = mkOption {
description = "The PostgreSQL listener is reachable via this domain name externally.";
default = null;
@@ -345,6 +454,11 @@ in
default = "[::]:8443";
type = str;
};
proxy_protocol = mkOption {
description = "Accept HAProxy PROXY protocol v1/v2 headers from upstream reverse proxy.";
default = false;
type = bool;
};
external_host = mkOption {
description = "The Kubernetes listener is reachable via this domain name externally.";
default = null;
@@ -420,36 +534,45 @@ in
any
map
head
optional
reverseList
;
inherit (lib.strings) splitString toIntBase10;
inherit (lib.strings)
optionalString
splitString
toIntBase10
;
preStartScript = pkgs.writers.writeBash "warpgate-init" ''
CFGFILE=/var/lib/warpgate/config.yaml
renderedYamlConfig = yaml.generate "warpgate-config" cfg.settings;
startupScript = pkgs.writeShellScript "warpgate-run" ''
CFGFILE=$STATE_DIRECTORY/config.yaml
if [ ! -O $CFGFILE ] || [ ! -s $CFGFILE ]; then
INITPWD=$(tr -dc 'A-Za-z0-9!?%=' </dev/urandom 2>/dev/null | head -c 16)
${lib.getExe cfg.package} \
--config $CFGFILE unattended-setup \
--data-path /var/lib/warpgate \
--data-path $STATE_DIRECTORY \
--http-port 8888 \
--admin-password $INITPWD
fi
${
if cfg.databaseUrlFile != null then
''
sed -e '/^database_url: null/d' ${yaml.generate "warpgate-config" cfg.settings} > $CFGFILE
cat /run/credentials/warpgate.service/databaseUrl >> $CFGFILE
''
else
"cp --no-preserve=ownership ${yaml.generate "warpgate-config" cfg.settings} $CFGFILE"
}
cp --no-preserve=ownership ${renderedYamlConfig} $CFGFILE
${optionalString (cfg.databaseUrlFile != null) ''
sed -e '/^database_url: null/d' ${renderedYamlConfig} > $CFGFILE
cat $CREDENTIALS_DIRECTORY/databaseUrl >> $CFGFILE
''}
${optionalString (cfg.databaseEncryptionKeysFile != null) ''
set -a
source $CREDENTIALS_DIRECTORY/dbEncryptionKeys
set +a
''}
${lib.getExe cfg.package} --config $CFGFILE run
'';
bindOnPrivilegedPorts = any (x: toIntBase10 x < 1025) (
map (x: head (reverseList (splitString ":" x))) (
[ cfg.settings.http.listen ]
++ lib.optional cfg.settings.ssh.enable cfg.settings.ssh.listen
++ lib.optional cfg.settings.mysql.enable cfg.settings.mysql.listen
++ lib.optional cfg.settings.postgres.enable cfg.settings.postgres.listen
++ optional cfg.settings.ssh.enable cfg.settings.ssh.listen
++ optional cfg.settings.mysql.enable cfg.settings.mysql.listen
++ optional cfg.settings.postgres.enable cfg.settings.postgres.listen
)
);
in
@@ -467,6 +590,10 @@ in
assertion = !(lib.hasAttr "config_provider" cfg.settings);
message = "`services.warpgate.settings.config_provider` is a legacy option that has been removed since 0.14.0. Please do not set this option.";
}
{
assertion = !(lib.hasAttr "recordings" cfg.settings);
message = "`services.warpgate.settings.recordings` has been deprecated by S3 recording storage support in 0.27.0. Please remove this section from your config and set it from admin UI.";
}
];
environment.systemPackages = [ cfg.package ];
@@ -474,14 +601,16 @@ in
systemd.services.warpgate = {
description = "Warpgate smart bastion";
wantedBy = [ "multi-user.target" ];
after = [ "network.target" ];
wants = [ "network-online.target" ];
after = [ "network-online.target" ];
startLimitBurst = 5;
serviceConfig = {
LoadCredential = "${
if cfg.databaseUrlFile != null then "databaseUrl:${cfg.databaseUrlFile}" else ""
}";
ExecStartPre = preStartScript;
ExecStart = "${lib.getExe cfg.package} --config /var/lib/warpgate/config.yaml run";
LoadCredential =
optional (cfg.databaseUrlFile != null) "databaseUrl:${cfg.databaseUrlFile}"
++ optional (
cfg.databaseEncryptionKeysFile != null
) "dbEncryptionKeys:${cfg.databaseEncryptionKeysFile}";
ExecStart = startupScript;
DynamicUser = true;
RestartSec = 3;
Restart = "on-failure";

View File

@@ -1403,26 +1403,23 @@ let
settings = {
targets = [
{
"localhost" = {
alias = "local machine";
env = "prod";
type = "domain";
};
host = "localhost";
alias = "local machine";
env = "prod";
type = "domain";
}
{
"127.0.0.1" = {
alias = "local machine";
type = "v4";
};
host = "127.0.0.1";
alias = "local machine";
type = "v4";
}
{
"::1" = {
alias = "local machine";
type = "v6";
};
host = "::1";
alias = "local machine";
type = "v6";
}
{
"google.com" = { };
host = "google.com";
}
];
dns = { };

View File

@@ -47,8 +47,10 @@ in
# sanity check on the directory listing: we serve a directory and a file
# via gopher, so the directory listing should have exactly two entries,
# one with gopher file type 0 (file) and one with file type 1 (directory).
# note that the menu is CRLF-terminated and ends with a "." line
# which is not a directory entry, but the end of the response.
dirResponse = ${gopherClient}.succeed("curl -f -s gopher://${gopherHost}")
dirEntries = [l[0] for l in dirResponse.split("\n") if len(l) > 0]
dirEntries = [l[0] for l in dirResponse.split("\r\n") if len(l) > 0 and l != "."]
dirEntries.sort()
if not (["0", "1"] == dirEntries):

View File

@@ -1,3 +1,4 @@
{ pkgs, ... }:
{
name = "warpgate";
@@ -9,14 +10,29 @@
};
machine2 = {
environment.etc."warpgate-db-url".text = "database: sqlite:/var/lib/warpgate/db/";
environment.etc."warpgate-db-url".text =
"database_url: postgresql://warpgate:warpgate@localhost:5432/warpgate";
environment.etc."warpgate-db-enc".text =
"WARPGATE_ENCRYPTION_KEY=QVJBTkRPTTMyQ0hBUkFDVEVSU0VOQ1JZUFRJT05LRVk=";
services.warpgate = {
enable = true;
databaseUrlFile = "/etc/warpgate-db-url";
databaseEncryptionKeysFile = "/etc/warpgate-db-enc";
settings = {
database_url = null;
};
};
services.postgresql = {
enable = true;
initialScript = pkgs.writeText "psql-init" ''
CREATE ROLE warpgate WITH LOGIN PASSWORD 'warpgate';
CREATE DATABASE warpgate WITH OWNER warpgate;
'';
};
systemd.services.warpgate = {
after = [ "postgresql.target" ];
requires = [ "postgresql.target" ];
};
};
machine3 = {
@@ -24,6 +40,12 @@
enable = true;
settings = {
http.listen = "[::]:443";
ssh.enable = true;
rdp.enable = true;
vnc.enable = true;
mysql.enable = true;
postgres.enable = true;
kubernetes.enable = true;
};
};
};
@@ -43,6 +65,12 @@
machine3.wait_for_unit("warpgate.service")
machine3.wait_for_open_port(443)
machine3.wait_for_open_port(2222)
machine3.wait_for_open_port(3389)
machine3.wait_for_open_port(5900)
machine3.wait_for_open_port(33306)
machine3.wait_for_open_port(55432)
machine3.wait_for_open_port(8443)
machine3.succeed("curl -k --fail https://localhost/@warpgate")
machine3.shutdown()
'';

View File

@@ -87,9 +87,9 @@ rec {
)
{ }
[
"6_8"
"6_9"
"7_0"
"7_1"
];
testScript = ''

View File

@@ -17,16 +17,16 @@ let
# update-script-start: urls
urls = {
x86_64-linux = {
url = "https://download.jetbrains.com/idea/ideaIU-2026.2.0.1.tar.gz";
hash = "sha256-kU4x4xtOEoXVOM8/rlswCvCLz/NrwpisYgBQS74S8YA=";
url = "https://download.jetbrains.com/idea/ideaIU-2026.2.2.tar.gz";
hash = "sha256-8cxTKaet86s72IhnRBA/fTvPHKEuaZdi7Nm//lczX4s=";
};
aarch64-linux = {
url = "https://download.jetbrains.com/idea/ideaIU-2026.2.0.1-aarch64.tar.gz";
hash = "sha256-HkRhBq1vh1iRjshmX+D9cT1iSRZk/NEz6YkTwWhKl0g=";
url = "https://download.jetbrains.com/idea/ideaIU-2026.2.2-aarch64.tar.gz";
hash = "sha256-BLq6b7EDSuv7+G6LVRhsgYuT27vhMQEpdXGP9/cHQPU=";
};
aarch64-darwin = {
url = "https://download.jetbrains.com/idea/ideaIU-2026.2.0.1-aarch64.dmg";
hash = "sha256-vN2wVaM5V9H5Xnrjv9MIKT0PgSJQqrk5kWQWOqEYOZ8=";
url = "https://download.jetbrains.com/idea/ideaIU-2026.2.2-aarch64.dmg";
hash = "sha256-9KRfRRAIyGzk6TQtWTH9ichVP506tugBLadTPp/lwkk=";
};
};
# update-script-end: urls
@@ -41,8 +41,8 @@ jetbrains.mkJetBrainsProduct {
productShort = "IDEA";
# update-script-start: version
version = "2026.2.0.1";
buildNumber = "262.8665.337";
version = "2026.2.2";
buildNumber = "262.10315.125";
# update-script-end: version
src = fetchurl (urls.${system} or (throw "Unsupported system: ${system}"));

View File

@@ -5923,6 +5923,20 @@ final: prev: {
meta.hydraPlatforms = [ ];
};
fcitx-nvim = buildVimPlugin {
pname = "fcitx.nvim";
version = "0-unstable-2026-08-28";
src = fetchFromGitHub {
owner = "h-hg";
repo = "fcitx.nvim";
rev = "72cf374c6011a7f2e0bc5f896adba4e62700e41c";
hash = "sha256-nv38gSq6X7Q0aPdAknGjwfh8Bn+AxTpgUYK9kNyKfM8=";
};
meta.homepage = "https://github.com/h-hg/fcitx.nvim/";
meta.license = getLicenseFromSpdxId "MIT";
meta.hydraPlatforms = [ ];
};
fcitx-vim = buildVimPlugin {
pname = "fcitx.vim";
version = "1.2.6-unstable-2025-12-28";

View File

@@ -421,6 +421,7 @@ https://github.com/Chaitanyabsprip/fastaction.nvim/,,
https://github.com/pteroctopus/faster.nvim/,,
https://github.com/konfekt/fastfold/,,
https://github.com/madskjeldgaard/faust-nvim/,,
https://github.com/h-hg/fcitx.nvim/,,
https://github.com/lilydjwg/fcitx.vim/,fcitx5,
https://github.com/micampe/fennel.vim/,,
https://github.com/wincent/ferret/,,

View File

@@ -197,7 +197,10 @@ stdenv.mkDerivation (finalAttrs: {
# New file dialogue crashes with “Icon 'image-missing' not present in theme Symbolic” without an icon theme.
adwaita-icon-theme
# for Lua plug-ins
]
# for Lua plug-ins; LuaJIT is unavailable on riscv64
# https://github.com/LuaJIT/LuaJIT/issues/628
++ lib.optionals (lib.meta.availableOn stdenv.hostPlatform luajit) [
(luajit.withPackages (pp: [
pp.lgi
]))

View File

@@ -310,7 +310,7 @@ stdenv.mkDerivation {
$out/opt/brave.com/${optName}/brave --version
'';
passthru.updateScript = ./update.sh;
passthru.updateScript = ./update.py;
meta = {
homepage = homepage;

View File

@@ -1,21 +1,21 @@
# Expression generated by update.py; do not edit it by hand!
rec {
pname = "brave-origin";
version = "1.94.121";
version = "1.95.101";
flavor = "origin";
archives = {
aarch64-linux = {
url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-origin_${version}_arm64.deb";
sha256 = "4e94a2f04d940fed80303f1e4a33c47961da79680586b1c2644a21339f9a64a3";
sha256 = "c8bccc15a7db38e260203ede15fe3e5bc3591b23f7f8bdfef1c18acc8ee8e540";
};
x86_64-linux = {
url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-origin_${version}_amd64.deb";
sha256 = "0f76ec5f00413954355c19b0d6633b618ac4418afed333e14ece980c6b6b1495";
sha256 = "d0cf5a3ff164aec9fd3c8259d25cbfce44b010fe36c36096a67966e4b03d99b3";
};
aarch64-darwin = {
url = "https://github.com/brave/brave-browser/releases/download/v${version}/Brave-Origin-arm64.dmg";
sha256 = "471eb0ec7e7ee7cd28a23c2c0ee5eebee4b621854f8966b2b45cc28e88332ecb";
sha256 = "2861104b0926036980223a502fe7b84da2517608189605072bd10333bd7061cf";
};
};
}

View File

@@ -1,20 +1,20 @@
# Expression generated by update.py; do not edit it by hand!
rec {
pname = "brave";
version = "1.94.121";
version = "1.95.101";
archives = {
aarch64-linux = {
url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-browser_${version}_arm64.deb";
sha256 = "ec2a784860e912ccc3df6887a2fc7a54427321cdaa84f1e617450bd71ee0ec7b";
sha256 = "8260ff8796cc3fc8741324786cbb67ea56320f48f76700082c86c734dfd2df25";
};
x86_64-linux = {
url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-browser_${version}_amd64.deb";
sha256 = "21d7ac36b64a408dc598bb6ec3db84b07b2cbca854d26b28055a2fb5b94a2e77";
sha256 = "7c41a55820117d93b821e55e55defb5f6cae8a86115c88f3a1026cd27f1c73cc";
};
aarch64-darwin = {
url = "https://github.com/brave/brave-browser/releases/download/v${version}/Brave-Browser-arm64.dmg";
sha256 = "fdb8af6099d91ec3813c93d9cc1bcb6e59ee1b9fde97e0a94283e4ed6c5db3b5";
sha256 = "2deaed060d24f0809bb87332a4d75c7dd140bd38d0915b9e63791917eee3898f";
};
};
}

View File

@@ -10,16 +10,16 @@
buildGoModule (finalAttrs: {
pname = "kubernetes-helm";
version = "4.2.4";
version = "4.3.0";
src = fetchFromGitHub {
owner = "helm";
repo = "helm";
rev = "v${finalAttrs.version}";
hash = "sha256-Q9+0K65qwmebkXlsIByEX2zE4hSaZWYGTWGgwVkcJNs=";
hash = "sha256-E1xhKV3ahZ8ahCDalga2XSOiLea0UyC8b1t3Gd4P6xA=";
};
vendorHash = "sha256-AFiniy+SM1svofkNWjowIE0BPmYa6TUcK9LPQahP+S4=";
vendorHash = "sha256-WxQMzzWcMJJATibiXXSBmCQz8YAlRu/MPGBkQaiHht8=";
subPackages = [ "cmd/helm" ];
ldflags = [

View File

@@ -25,6 +25,8 @@ stdenv.mkDerivation {
"-Wno-error=incompatible-pointer-types"
# smScSema.c:183:10: error: implicit declaration of function 'read'; did you mean 'fread'? [-Wimplicit-function-declaration]
"-Wno-error=implicit-function-declaration"
# Fix build with GCC 15 (defaults to C23) which rejects old-style unprototyped function declarations
"-std=gnu17"
];
installPhase = ''

View File

@@ -9,7 +9,7 @@
buildGoModule (finalAttrs: {
pname = "andcli";
version = "2.9.0";
version = "2.9.1";
__structuredAttrs = true;
@@ -19,7 +19,7 @@ buildGoModule (finalAttrs: {
owner = "tjblackheart";
repo = "andcli";
tag = "v${finalAttrs.version}";
hash = "sha256-ls/QWEAxxnsersk7L3AaRo5jo1Vsao61c2mgjt91sAQ=";
hash = "sha256-N/CKAtHLhUhAi6eSyS/tgADYGLeCPcw5BGLJKmqyWyc=";
};
vendorHash = "sha256-+qz2vIh4GTkdmhjGvYqJYZ9ZMI9f+yXObmyGHk/5Cyg=";

View File

@@ -1,43 +1,48 @@
GEM
remote: https://rubygems.org/
specs:
bashly (1.2.10)
colsole (>= 0.8.1, < 2)
completely (>= 0.6.1, < 0.8)
filewatcher (~> 2.0)
bashly (1.4.0)
colsole (~> 1.0)
completely (~> 0.8.0)
gtx (~> 0.1.1)
logger (>= 1, < 3)
listen (~> 3.9)
lp (~> 0.2.0)
mister_bin (~> 0.8.1)
ostruct (>= 0, < 2)
mister_bin (~> 0.9.0)
requires (~> 1.1)
tty-markdown (~> 0.7.2)
cgi (0.4.2)
colsole (1.0.0)
completely (0.7.0)
colsole (>= 0.8.1, < 2)
colsole (1.0.1)
completely (0.8.0)
colsole (~> 1.0.0)
erb
mister_bin (~> 0.7)
docopt_ng (0.7.1)
erb (4.0.4)
cgi (>= 0.3.3)
filewatcher (2.1.0)
module_methods (~> 0.1.0)
gtx (0.1.1)
erb (~> 4.0)
kramdown (2.5.1)
rexml (>= 3.3.9)
logger (1.6.6)
erb (6.0.7)
ffi (1.17.4)
gtx (0.1.2)
erb (>= 4.0, < 7)
io-console (0.9.2)
kramdown (2.5.2)
rexml (>= 3.4.4)
listen (3.10.0)
logger
rb-fsevent (~> 0.10, >= 0.10.3)
rb-inotify (~> 0.9, >= 0.9.10)
logger (1.7.0)
lp (0.2.1)
mister_bin (0.8.1)
colsole (>= 0.8.1, < 2)
docopt_ng (~> 0.7, >= 0.7.1)
module_methods (0.1.0)
ostruct (0.6.1)
mister_bin (0.9.0)
colsole (~> 1.0.0)
docopt_ng (~> 0.7.1)
reline (~> 0.6)
pastel (0.8.0)
tty-color (~> 0.5)
rb-fsevent (0.11.2)
rb-inotify (0.11.1)
ffi (~> 1.0)
reline (0.7.0)
io-console (~> 0.5)
requires (1.1.0)
rexml (3.4.1)
rouge (4.5.1)
rexml (3.4.4)
rouge (4.7.0)
strings (0.2.1)
strings-ansi (~> 0.2)
unicode-display_width (>= 1.5, < 3.0)
@@ -62,4 +67,4 @@ DEPENDENCIES
bashly
BUNDLED WITH
2.6.2
2.7.2

View File

@@ -3,12 +3,10 @@
dependencies = [
"colsole"
"completely"
"filewatcher"
"gtx"
"logger"
"listen"
"lp"
"mister_bin"
"ostruct"
"requires"
"tty-markdown"
];
@@ -16,44 +14,35 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1dzvgrk5vqncvwi1dn7kk5gzfjcr58jmqb6cyqcspwj6mr6zp7sw";
sha256 = "1a5kqfwkknwd2j1dbdbqgyikm196ah22dfx9f34yq5xy15im19cs";
type = "gem";
};
version = "1.2.10";
};
cgi = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1rj7agrnd1a4282vg13qkpwky0379svdb2z2lc0wl8588q6ikjx3";
type = "gem";
};
version = "0.4.2";
version = "1.4.0";
};
colsole = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1fvf6dz2wsvjk7q24z0dm8lajq3p2l6i5ywf3mxj683rmhwq49bg";
sha256 = "00kvcnfnqiczrrdbfr0jwhvwym29d0y43zjg09y8gnz2mh0a6ckn";
type = "gem";
};
version = "1.0.0";
version = "1.0.1";
};
completely = {
dependencies = [
"colsole"
"erb"
"mister_bin"
];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1j3kpgmcvvs257m2zqhc3jlyrflhphcmy19lwgamv9p6xg100ak1";
sha256 = "0pkciknwlfkxjmdbww6nprim7wz5pzn7gwj1ga8lfpw0hifwv4z4";
type = "gem";
};
version = "0.7.0";
version = "0.8.0";
};
docopt_ng = {
groups = [ "default" ];
@@ -66,26 +55,24 @@
version = "0.7.1";
};
erb = {
dependencies = [ "cgi" ];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "05wpc7pn1k6jik7i57vfrj6k5lda39hrny0q3706pi05c886w4fy";
sha256 = "14pfj6zn0p1hxj6s6s0r7d424wap8zl9zxf89nj79y8fbg16vjn5";
type = "gem";
};
version = "4.0.4";
version = "6.0.7";
};
filewatcher = {
dependencies = [ "module_methods" ];
ffi = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "03f9v57c5zag09mi10yjhdx7y0vv2w5wrnwzbij9hhkwh43rk077";
sha256 = "1kqasqvy8d7r09ri4n6bkdwbk63j7afd9ilsw34nzlgh0qp69ldw";
type = "gem";
};
version = "2.1.0";
version = "1.17.4";
};
gtx = {
dependencies = [ "erb" ];
@@ -93,10 +80,20 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1w0hbr9i6jpn9spbb13ipg2fajkwa51y56jw21ziwsddmv997274";
sha256 = "1fpknqc50vsgwylvx7xzj4b401gxrnd4wp6cy81l23qakb6192v6";
type = "gem";
};
version = "0.1.1";
version = "0.1.2";
};
io-console = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "026v93kja19bfslnwi9xfq2dj4r89kkwdprim4whjg6h3n4lz9zg";
type = "gem";
};
version = "0.9.2";
};
kramdown = {
dependencies = [ "rexml" ];
@@ -104,20 +101,35 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "131nwypz8b4pq1hxs6gsz3k00i9b75y3cgpkq57vxknkv6mvdfw7";
sha256 = "1yh2gwpwhh0p4vc0aabzn0hb55av0wkcq3gh3w8zkdk69hh4598v";
type = "gem";
};
version = "2.5.1";
version = "2.5.2";
};
listen = {
dependencies = [
"logger"
"rb-fsevent"
"rb-inotify"
];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1ln9c0vx165hkfbn2817qw4m6i77xcxh6q0r5v6fqfhlcbdq5qf6";
type = "gem";
};
version = "3.10.0";
};
logger = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "05s008w9vy7is3njblmavrbdzyrwwc1fsziffdr58w9pwqj8sqfx";
sha256 = "00q2zznygpbls8asz5knjvvj2brr3ghmqxgr83xnrdj4rk3xwvhr";
type = "gem";
};
version = "1.6.6";
version = "1.7.0";
};
lp = {
groups = [ "default" ];
@@ -133,35 +145,16 @@
dependencies = [
"colsole"
"docopt_ng"
"reline"
];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1zz3vpy6xrgzln2dpxgcnrq1bpzz0syl60whqc9zf8j29mayw1fy";
sha256 = "1lz7kc3nj4h0avk4zfkc7ahrfxl242ry05scx1w1kbsgvc0y8kv2";
type = "gem";
};
version = "0.8.1";
};
module_methods = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1886wjscfripgzlmyvcd0jmlzwr6hxvklm2a5rm32dw5bf7bvjki";
type = "gem";
};
version = "0.1.0";
};
ostruct = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "05xqijcf80sza5pnlp1c8whdaay8x5dc13214ngh790zrizgp8q9";
type = "gem";
};
version = "0.6.1";
version = "0.9.0";
};
pastel = {
dependencies = [ "tty-color" ];
@@ -174,6 +167,38 @@
};
version = "0.8.0";
};
rb-fsevent = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1zmf31rnpm8553lqwibvv3kkx0v7majm1f341xbxc0bk5sbhp423";
type = "gem";
};
version = "0.11.2";
};
rb-inotify = {
dependencies = [ "ffi" ];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0vmy8xgahixcz6hzwy4zdcyn2y6d6ri8dqv5xccgzc1r292019x0";
type = "gem";
};
version = "0.11.1";
};
reline = {
dependencies = [ "io-console" ];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0gaq2lc463ap1srz7y5kh2p4dxazs7vjrpiby58d9yfvan72s0av";
type = "gem";
};
version = "0.7.0";
};
requires = {
groups = [ "default" ];
platforms = [ ];
@@ -189,20 +214,20 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1jmbf6lf7pcyacpb939xjjpn1f84c3nw83dy3p1lwjx0l2ljfif7";
sha256 = "0hninnbvqd2pn40h863lbrn9p11gvdxp928izkag5ysx8b1s5q0r";
type = "gem";
};
version = "3.4.1";
version = "3.4.4";
};
rouge = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1pchwrkr0994v7mh054lcp0na3bk3mj2sk0dc33bn6bhxrnirj1a";
sha256 = "0fd77qcz603mli4lyi97cjzkv02hsfk60m495qv5qcn02mkqk9fv";
type = "gem";
};
version = "4.5.1";
version = "4.7.0";
};
strings = {
dependencies = [

View File

@@ -38,12 +38,12 @@
stdenv.mkDerivation (finalAttrs: {
pname = "bitwig-studio6";
version = "6.1";
version = "6.1.1";
src = fetchurl {
name = "bitwig-studio-${finalAttrs.version}.deb";
url = "https://www.bitwig.com/dl/Bitwig%20Studio/${finalAttrs.version}/installer_linux";
hash = "sha256-dJbwn8JNHuSZ/lKQV4zoSbbthDdHl4J7hhmOZ5AdA2M=";
hash = "sha256-FBe0R6YW4IS1OPvCwWseQvJnn7OrPn1uZ0v/GKRIIYE=";
};
strictDeps = true;

View File

@@ -13,13 +13,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "btfs";
version = "3.2";
version = "3.3";
src = fetchFromGitHub {
owner = "johang";
repo = "btfs";
rev = "v${finalAttrs.version}";
sha256 = "sha256-g8ta5T17iKTpdR0wMQe1LU78LTIxwECmf86o4IlVF00=";
sha256 = "sha256-kl58bz+iozviWMmqjUNAcccxKcB3bg6iDAcWNezmN6g=";
};
nativeBuildInputs = [

View File

@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
meta = {
description = "Retrieve WPA/WPA2 passphrase from a WPS enabled access point";
homepage = "https://github.com/kimocoder/bully";
license = lib.licenses.gpl3;
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ edwtjo ];
platforms = lib.platforms.linux;
mainProgram = "bully";

View File

@@ -33,14 +33,14 @@
withCli ? true,
}:
let
version = "2.3.0";
rev = "94d5eb9e6fe9c6b1f69e663d9ed410a441e2d67f";
version = "2.4.0";
rev = "24aa15eefdb146350d2548c0a015b04eddbd1008";
m3shapes_src = fetchFromGitHub {
owner = "soramanew";
repo = "m3shapes";
rev = "bdc327b29f95394a732baf3c9b19658ba23755b6";
hash = "sha256-kfHyzZaPHgqZML48OA+5JwBOsLdQJ2ci/aGPShvUB4Y=";
rev = "32ad9ce328bb77ed349b40a3be10ee9ea610b8ab";
hash = "sha256-YZelgEZflFNwGutX4/tIzBdbOeghJgE2oDw0uWYGxns=";
};
runtimeDeps = [
@@ -73,11 +73,9 @@ let
(lib.cmakeFeature "DISTRIBUTOR" "nixpkgs")
];
m3shapesFlag = lib.cmakeFeature "FETCHCONTENT_SOURCE_DIR_M3SHAPES_EXTERNAL" "${m3shapes_src}";
shellSrc = fetchurl {
url = "https://github.com/caelestia-dots/shell/releases/download/v${version}/caelestia-shell-v${version}.tar.gz";
hash = "sha256-EjPnMXxonYAewJW1/XKQUC5fbqIU7xSwI3XTW1VC544=";
hash = "sha256-r3SRcn/zBplpgVD598GGCJzNFxpQne8zK8uh3hyzF3E=";
};
extras = stdenv.mkDerivation {
@@ -130,7 +128,7 @@ let
m3shapesModule = stdenv.mkDerivation {
inherit cmakeBuildType;
name = "caelestia-m3shapes";
src = shellSrc;
src = m3shapes_src;
nativeBuildInputs = [
cmake
@@ -139,15 +137,13 @@ let
buildInputs = [
qt6.qtbase
qt6.qtdeclarative
qt6.qtshadertools
];
dontWrapQtApps = true;
cmakeFlags = [
(lib.cmakeFeature "ENABLE_MODULES" "m3shapes")
(lib.cmakeFeature "INSTALL_QMLDIR" qt6.qtbase.qtQmlPrefix)
m3shapesFlag
]
++ cmakeVersionFlags;
];
};
in

View File

@@ -15,8 +15,12 @@ TAR_URL="https://github.com/caelestia-dots/shell/releases/download/v${VERSION}/c
SHELL_RAW="$(nix-prefetch-url "$TAR_URL" 2>/dev/null | tail -n 1)"
SHELL_SRI="$(nix hash convert --to sri --hash-algo sha256 "$SHELL_RAW")"
CMAKE_TXT="$(curl -sL ${GITHUB_TOKEN:+-u ":$GITHUB_TOKEN"} "https://raw.githubusercontent.com/caelestia-dots/shell/$REV/CMakeLists.txt")"
M3_REV="$(echo "$CMAKE_TXT" | grep "set(M3SHAPES_REV" | awk '{print $2}' | tr -d ')')"
M3_REV="$(curl -sL ${GITHUB_TOKEN:+-u ":$GITHUB_TOKEN"} "https://raw.githubusercontent.com/caelestia-dots/shell/$REV/flake.lock" | jq -r '.nodes.m3shapes.locked.rev // empty')"
if [[ -z "$M3_REV" ]]; then
CMAKE_TXT="$(curl -sL ${GITHUB_TOKEN:+-u ":$GITHUB_TOKEN"} "https://raw.githubusercontent.com/caelestia-dots/shell/$REV/CMakeLists.txt")"
M3_REV="$(echo "$CMAKE_TXT" | grep "set(M3SHAPES_REV" | awk '{print $2}' | tr -d ')' || true)"
fi
M3_RAW="$(nix-prefetch-url --unpack "https://github.com/soramanew/m3shapes/archive/$M3_REV.tar.gz" 2>/dev/null | tail -n 1)"
M3_SRI="$(nix hash convert --to sri --hash-algo sha256 "$M3_RAW")"
@@ -29,10 +33,10 @@ with open("$PKG_NIX", "r") as f:
content = re.sub(r'version\s*=\s*"[^"]+";', f'version = "$VERSION";', content, count=1)
content = re.sub(r'rev\s*=\s*"[^"]+";', f'rev = "$REV";', content, count=1)
m3_pattern = r'(m3shapes_src\s*=\s*fetchFromGitHub\s*\{[^}]*?rev\s*=\s*")[^"]+(";\s*hash\s*=\s*")[^"]+(";\s*\};)'
m3_pattern = r'(m3shapes_src\s*=\s*fetchFromGitHub\s*\{.*?rev\s*=\s*")[^"]+(";\s*hash\s*=\s*")[^"]+(";\s*\};)'
content = re.sub(m3_pattern, rf'\g<1>$M3_REV\g<2>$M3_SRI\g<3>', content, flags=re.DOTALL)
shell_pattern = r'(shellSrc\s*=\s*fetchurl\s*\{[^}]*?hash\s*=\s*")[^"]+(";\s*\};)'
shell_pattern = r'(shellSrc\s*=\s*fetchurl\s*\{.*?hash\s*=\s*")[^"]+(";\s*\};)'
content = re.sub(shell_pattern, rf'\g<1>$SHELL_SRI\g<2>', content, flags=re.DOTALL)
with open("$PKG_NIX", "w") as f:

View File

@@ -6,17 +6,17 @@
nixosTests,
python3Packages,
}:
python3Packages.buildPythonApplication rec {
python3Packages.buildPythonApplication (finalAttrs: {
pname = "calibre-web";
version = "0.6.26-unstable-2026-03-01";
version = "0.6.27";
pyproject = true;
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "janeczku";
repo = "calibre-web";
# remember changing this back (and changelog below) to tag after new release come out
rev = "6157f5027c979aa05f8d97a09f1388ceb3085ac5";
hash = "sha256-1ljMsf8Puvq4ELUSi8Vl3T7EHcd7MO3zGgT4j5PYsT0=";
tag = finalAttrs.version;
hash = "sha256-ULUEQ35R+jI0nCrwYkTvmaUqpi1a/Sjvs5kWHYfTTWY=";
};
patches = [
@@ -37,7 +37,7 @@ python3Packages.buildPythonApplication rec {
mv cps src/calibreweb
substituteInPlace pyproject.toml \
--replace-fail 'cps = "calibreweb:main"' 'calibre-web = "calibreweb:main"'
--replace-fail 'cps = "calibreweb.__main__:main"' 'calibre-web = "calibreweb.__main__:main"'
'';
build-system = [ python3Packages.setuptools ];
@@ -57,6 +57,7 @@ python3Packages.buildPythonApplication rec {
iso-639
lxml
netifaces-plus
nh3
pycountry
pypdf
python-magic
@@ -141,7 +142,7 @@ python3Packages.buildPythonApplication rec {
"wand"
];
nativeCheckInputs = lib.concatAttrValues optional-dependencies;
nativeCheckInputs = lib.concatAttrValues finalAttrs.passthru.optional-dependencies;
pythonImportsCheck = [ "calibreweb" ];
@@ -153,12 +154,10 @@ python3Packages.buildPythonApplication rec {
meta = {
description = "Web app for browsing, reading and downloading eBooks stored in a Calibre database";
homepage = "https://github.com/janeczku/calibre-web";
# revert back to tag based changelog
# changelog = "https://github.com/janeczku/calibre-web/releases/tag/${src.tag}";
changelog = "https://github.com/janeczku/calibre-web/compare/0.6.26...${src.rev}";
changelog = "https://github.com/janeczku/calibre-web/releases/tag/${finalAttrs.src.tag}";
license = lib.licenses.gpl3Plus;
maintainers = [ ];
maintainers = with lib.maintainers; [ juli0604 ];
mainProgram = "calibre-web";
platforms = lib.platforms.all;
};
}
})

View File

@@ -2,7 +2,7 @@
lib,
buildNpmPackage,
fetchFromGitHub,
nodejs_22,
nodejs_24,
installShellFiles,
makeWrapper,
stdenv,
@@ -11,18 +11,18 @@
buildNpmPackage rec {
pname = "clever-tools";
version = "4.11.0";
version = "5.0.0";
nodejs = nodejs_22;
nodejs = nodejs_24;
src = fetchFromGitHub {
owner = "CleverCloud";
repo = "clever-tools";
rev = version;
hash = "sha256-ma1EZL5xuUw8BrECFamSR1I8XJk8PERW7YJSj8JTp4w=";
hash = "sha256-9znQ7AsjYNQ70laoKyV42Avvt4JL3FgVdY/tEhX/nNY=";
};
npmDepsHash = "sha256-9TPH+jRcM161MhabA9m0GcgAzc+yO1a1zh8vQHjZt7g=";
npmDepsHash = "sha256-q9CfE7ImYLSrDR7uApNmL3/T/IEuOGx4W4VJT9+KFs4=";
nativeBuildInputs = [
installShellFiles

View File

@@ -6,7 +6,7 @@
}:
buildGoModule (finalAttrs: {
pname = "cloudflare-dynamic-dns";
version = "4.5.7";
version = "4.5.9";
__structuredAttrs = true;
@@ -14,10 +14,10 @@ buildGoModule (finalAttrs: {
owner = "zebradil";
repo = "cloudflare-dynamic-dns";
tag = finalAttrs.version;
hash = "sha256-8rkQkPbFkz1XTMBRHFxoQx09eHFv2M91Q9RCyeD+ZbM=";
hash = "sha256-Z2NHq8iG6t+mlm8Sm0IecBwlFJQdE108/Sa0IXIg4J0=";
};
vendorHash = "sha256-aYQsDAFck0qt675E+u1Aq9qKcsxMARrqRVpIxgM1yok=";
vendorHash = "sha256-U1UTZIqa6bPfU8iLDBAV0291+jbUD5Mqhuc/HtFxznk=";
subPackages = ".";

View File

@@ -9,14 +9,14 @@
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "cmux";
version = "0.64.10";
version = "0.64.22";
__structuredAttrs = true;
strictDeps = true;
src = fetchurl {
url = "https://github.com/manaflow-ai/cmux/releases/download/v${finalAttrs.version}/cmux-macos.dmg";
hash = "sha256-+MKcMChZTFiDF482mVIh6mzeyKghDMV9gLA+6BjamXw=";
hash = "sha256-/RSNujUZ/n0wiEQInOTQYrF3ObpkViPwWPZ6ZHmM6iU=";
};
# -snld prevents "ERROR: Dangerous symbolic link path was ignored"

View File

@@ -10,7 +10,7 @@
stdenv.mkDerivation (finalAttrs: {
pname = "cosmic-sound-theme";
version = "1.7.0";
version = "1.8.0";
src = fetchFromGitHub {
owner = "pop-os";

View File

@@ -21,12 +21,12 @@
}:
stdenv.mkDerivation (finalAttrs: {
version = "2.8.5";
version = "2.8.6";
pname = "dar";
src = fetchzip {
url = "mirror://sourceforge/dar/dar-${finalAttrs.version}.tar.gz";
sha256 = "sha256-VPBj5/e67DutuZOBBDkCbM9Hke7gZW8FpvgQH5hcXJ0=";
sha256 = "sha256-wO2W/iZwbaytduQE8DOGtgLXd92nm8CGafZaoygwRJY=";
};
outputs = [

View File

@@ -8,16 +8,16 @@
buildGoModule (finalAttrs: {
pname = "dgop";
version = "0.2.3";
version = "1.6.0";
src = fetchFromGitHub {
owner = "AvengeMedia";
repo = "dgop";
tag = "v${finalAttrs.version}";
hash = "sha256-wH1A4bg7OSD/vb5r0naaT+5x5oy6wwTRh12a60sXPxU=";
hash = "sha256-5oGojLTg8DjsKn97EurssiZJlpdUD9AvhaM/jXjK3+o=";
};
vendorHash = "sha256-M46W8rnexs0GR5hahAqCiAX+bsQEmdwTIccUox+oJas=";
vendorHash = "sha256-agVGh6togqHNCU7/3xDnmfF6bNlm2TAnXw5JhhUivgs=";
ldflags = [
"-w"

View File

@@ -15,11 +15,11 @@
stdenv.mkDerivation (finalAttrs: {
pname = "drumkv1";
version = "1.4.2";
version = "1.4.3";
src = fetchurl {
url = "mirror://sourceforge/drumkv1/drumkv1-${finalAttrs.version}.tar.gz";
hash = "sha256-jTOTOziCrycFyMe6wIfUnw7d6p+gNZfO7Q9BcZOyOME=";
hash = "sha256-tMzNLWclKkYStICOn4ztb2vcYnA2WniSPSjZNk9TmqQ=";
};
buildInputs = [

View File

@@ -8,16 +8,16 @@
buildGoModule (finalAttrs: {
pname = "dsearch";
version = "0.3.2";
version = "1.6.0";
src = fetchFromGitHub {
owner = "AvengeMedia";
repo = "danksearch";
tag = "v${finalAttrs.version}";
hash = "sha256-TnoKATODjWk4e1w3VhRYLWGMdXMJzDyvQF8mtD6WRGA=";
hash = "sha256-C9mVxnPCaA6mtz8H5GwMfBjOdhLRmXrpzcDc7z99iOo=";
};
vendorHash = "sha256-Gq3tVwe39m5KGfkI3DEnQEQEGs/cLDCiwx6XFM61f6c=";
vendorHash = "sha256-MkRBJPsHHgH2z/hTt8Z6SM/+KNQ8PuipBALW8qbJldE=";
ldflags = [
"-w"

View File

@@ -8,13 +8,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "dtools";
version = "2.112.1";
version = "2.113.0";
src = fetchFromGitHub {
owner = "dlang";
repo = "tools";
rev = "v${finalAttrs.version}";
hash = "sha256-WHgV33fu1YhRQCERVatqXKEqmfHlUvZ4IXhga/yOQ3w=";
hash = "sha256-loXsGNaMH93dw9U2+s9D5xQBbO1aeeAPPS/bSHLJkP4=";
name = "dtools";
};

View File

@@ -1,12 +1,12 @@
{
"name": "eslint",
"version": "10.9.1",
"version": "10.10.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "eslint",
"version": "10.9.1",
"version": "10.10.0",
"license": "MIT",
"workspaces": [
"packages/*"
@@ -17,7 +17,7 @@
"@eslint/config-array": "^0.23.5",
"@eslint/config-helpers": "^0.7.0",
"@eslint/core": "^1.2.1",
"@eslint/plugin-kit": "^0.7.2",
"@eslint/plugin-kit": "^0.7.3",
"@humanfs/node": "^0.16.6",
"@humanwhocodes/module-importer": "^1.0.1",
"@humanwhocodes/retry": "^0.4.2",
@@ -32,7 +32,7 @@
"esquery": "^1.7.0",
"esutils": "^2.0.2",
"fast-deep-equal": "^3.1.3",
"file-entry-cache": "^8.0.0",
"file-entry-cache": "11.1.5 || >11.1.6 <12",
"find-up": "^5.0.0",
"glob-parent": "^6.0.2",
"ignore": "^5.2.0",
@@ -51,8 +51,8 @@
"@babel/core": "^7.4.3",
"@babel/preset-env": "^7.4.3",
"@cypress/webpack-preprocessor": "^6.0.2",
"@eslint/eslintrc": "^3.3.6",
"@eslint/json": "^2.0.1",
"@eslint/eslintrc": "^3.3.7",
"@eslint/json": "^2.1.0",
"@types/esquery": "^1.5.4",
"@types/node": "^22.13.14",
"@typescript-eslint/parser": "^8.58.2",
@@ -1858,6 +1858,28 @@
"specificity": "bin/cli.js"
}
},
"node_modules/@cacheable/memory": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/@cacheable/memory/-/memory-2.2.0.tgz",
"integrity": "sha512-CTLKqLItRCEixEAewD3/j9DB3/o96gpTPD4eJ1v+DGOlxZRZncRQkGYqqnAGCscYd6RNeXfGeiuCphsPtqyIfQ==",
"license": "MIT",
"dependencies": {
"@cacheable/utils": "^2.5.0",
"@keyv/bigmap": "^1.3.1",
"hookified": "^1.15.1",
"keyv": "^5.6.0"
}
},
"node_modules/@cacheable/utils": {
"version": "2.5.0",
"resolved": "https://registry.npmjs.org/@cacheable/utils/-/utils-2.5.0.tgz",
"integrity": "sha512-buipgOVDkkPXNR5+xBpDw7Zk2n1EvU7qBJCNUcL7rhQ//kfpOXPAvQ511Os0vpLYJ1pZnvudNytkQt2hst3wqA==",
"license": "MIT",
"dependencies": {
"hashery": "^1.5.1",
"keyv": "^5.6.0"
}
},
"node_modules/@colors/colors": {
"version": "1.5.0",
"resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz",
@@ -2254,9 +2276,9 @@
}
},
"node_modules/@eslint/eslintrc": {
"version": "3.3.6",
"resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.6.tgz",
"integrity": "sha512-l2Ul9PrHsPCKcEY/ac7VgFj9D80C7S68sOKc618SyHDPK36s1XcFebXY0iTzUVn4Yq+YbwvSnDmCz9yxjX+QrA==",
"version": "3.3.7",
"resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.7.tgz",
"integrity": "sha512-F42g89Qd5oAWtp0k0nnSrjziAKza7w8SVT4mStc18LZMaRb4J1HQAHLCalEtDCxrTuksx7NU9qsmeLwpOfPqWw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -2266,7 +2288,7 @@
"globals": "^14.0.0",
"ignore": "^5.2.0",
"import-fresh": "^3.2.1",
"js-yaml": "^4.3.0",
"js-yaml": "^4.3.2",
"minimatch": "^3.1.5",
"strip-json-comments": "^3.1.1"
},
@@ -2357,9 +2379,9 @@
"link": true
},
"node_modules/@eslint/json": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/@eslint/json/-/json-2.0.1.tgz",
"integrity": "sha512-Thz2j92ceUF3Bq/0TuWb3MWn3Z+Cwc8k5ptF0fakl2D4Mp8mSx07Xr1aQM4R5NoihzarWUdxfOmQ8DesGy4jOg==",
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/@eslint/json/-/json-2.1.0.tgz",
"integrity": "sha512-Zcg+SXHmdAlo+0ZFwxOvDQye2zxhaFCu/CPdJTsMDSEYZXkX67AWvdwzhI/YdPYNW68Q1Tr1Rv2SsuUZydnjBg==",
"dev": true,
"license": "Apache-2.0",
"dependencies": {
@@ -2382,9 +2404,9 @@
}
},
"node_modules/@eslint/plugin-kit": {
"version": "0.7.2",
"resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.7.2.tgz",
"integrity": "sha512-+CNAzxglkrpNf/kKywqQfk74QjtceuOE7Qm+AF8miRvPF/wmmK5+OJOgVh3AVTT3RP2mH3+FOaxlE5v72owk0A==",
"version": "0.7.3",
"resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.7.3.tgz",
"integrity": "sha512-IkO+/KEUvwbVpiURZg+P7zF74z5Jxe0UgJxVni+RtoHQ6IZieXaO02kmadomap/q+l6bc/jdPGGqTjhuZnuz1Q==",
"license": "Apache-2.0",
"dependencies": {
"@eslint/core": "^1.2.1",
@@ -2461,9 +2483,9 @@
}
},
"node_modules/@humanwhocodes/momoa": {
"version": "3.3.12",
"resolved": "https://registry.npmjs.org/@humanwhocodes/momoa/-/momoa-3.3.12.tgz",
"integrity": "sha512-xS9xl4ieqTqhSZfKV3YXj/htwJCUxbgvkTVaK1fkESgrOzvoVSOTRQeQ8tTLOZUS0Csi2xqtJQXgVTRH5OEbHQ==",
"version": "3.3.13",
"resolved": "https://registry.npmjs.org/@humanwhocodes/momoa/-/momoa-3.3.13.tgz",
"integrity": "sha512-AbKq3EW41+HY6pNMJgAOrz68iyiTTf0Nr1JRHHfuG5zwniJ9Dw8J3U7oa1I2ptpqYwmEf1sXKOGK6lbdZ9eqmg==",
"dev": true,
"license": "Apache-2.0",
"engines": {
@@ -2626,6 +2648,28 @@
"@jridgewell/sourcemap-codec": "^1.4.14"
}
},
"node_modules/@keyv/bigmap": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/@keyv/bigmap/-/bigmap-1.3.1.tgz",
"integrity": "sha512-WbzE9sdmQtKy8vrNPa9BRnwZh5UF4s1KTmSK0KUVLo3eff5BlQNNWDnFOouNpKfPKDnms9xynJjsMYjMaT/aFQ==",
"license": "MIT",
"dependencies": {
"hashery": "^1.4.0",
"hookified": "^1.15.0"
},
"engines": {
"node": ">= 18"
},
"peerDependencies": {
"keyv": "^5.6.0"
}
},
"node_modules/@keyv/serialize": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/@keyv/serialize/-/serialize-1.1.1.tgz",
"integrity": "sha512-dXn3FZhPv0US+7dtJsIi2R+c7qWYiReoEh5zUntWCf4oSpMNib8FDhSoed6m3QyZdx5hK7iLFkYk3rNxwt8vTA==",
"license": "MIT"
},
"node_modules/@keyvhq/core": {
"version": "2.2.7",
"resolved": "https://registry.npmjs.org/@keyvhq/core/-/core-2.2.7.tgz",
@@ -4581,9 +4625,9 @@
"license": "MIT"
},
"node_modules/baseline-browser-mapping": {
"version": "2.11.20",
"resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.11.20.tgz",
"integrity": "sha512-H0ulySigv6icDJ1F7SjtdCD6PrhTpdYCmP0CactWy1+ekh0AFd0o1Wn5T8b+hnTmdBx19u9yhL6wvCylXMY7zw==",
"version": "2.11.21",
"resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.11.21.tgz",
"integrity": "sha512-uh8vpY/1/YyFkunIDFH/12p7/7VdPKA1hejMVEbdkEaWnUz0Hesvx5EbiU6XxjyHZIOju+ZMbQJkRh+es3/spQ==",
"license": "Apache-2.0",
"bin": {
"baseline-browser-mapping": "dist/cli.cjs"
@@ -4823,9 +4867,9 @@
}
},
"node_modules/browserslist": {
"version": "4.28.8",
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.8.tgz",
"integrity": "sha512-V2NpofLblG64mfOtSgDhOJESZEGogzDMBv/q+W6oc4LXWP/q75eOXoOaaOu1EOadB9U4Bwx/e0yzbvwKH8zalA==",
"version": "4.28.9",
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.9.tgz",
"integrity": "sha512-EWazOblFYUvlGZcfGhPUPmYh3nikUxBVb+y9MJun5f3hBi812X+8MSQTujLBtgK3cf51fJWbWfOjyeO954d+Eg==",
"funding": [
{
"type": "opencollective",
@@ -4842,11 +4886,11 @@
],
"license": "MIT",
"dependencies": {
"baseline-browser-mapping": "^2.11.12",
"caniuse-lite": "^1.0.30001809",
"electron-to-chromium": "^1.5.402",
"node-releases": "^2.0.53",
"update-browserslist-db": "^1.3.0"
"baseline-browser-mapping": "^2.11.20",
"caniuse-lite": "^1.0.30001810",
"electron-to-chromium": "^1.5.420",
"node-releases": "^2.0.54",
"update-browserslist-db": "^1.3.2"
},
"bin": {
"browserslist": "cli.js"
@@ -4957,6 +5001,19 @@
}
}
},
"node_modules/cacheable": {
"version": "2.5.0",
"resolved": "https://registry.npmjs.org/cacheable/-/cacheable-2.5.0.tgz",
"integrity": "sha512-60cyAOytib/OzBw1JNSoSV/boK1AtHryDIjvVBk7XbN4ugfkM3+Sry7fEjNgPMGgOjuaZPAp8ruZ0Cxafwyq9g==",
"license": "MIT",
"dependencies": {
"@cacheable/memory": "^2.2.0",
"@cacheable/utils": "^2.5.0",
"hookified": "^1.15.0",
"keyv": "^5.6.0",
"qified": "^0.10.1"
}
},
"node_modules/cacheable-lookup": {
"version": "5.0.4",
"resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz",
@@ -4986,6 +5043,16 @@
"node": ">=8"
}
},
"node_modules/cacheable-request/node_modules/keyv": {
"version": "4.5.4",
"resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz",
"integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==",
"dev": true,
"license": "MIT",
"dependencies": {
"json-buffer": "3.0.1"
}
},
"node_modules/cachedir": {
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/cachedir/-/cachedir-2.4.0.tgz",
@@ -6545,9 +6612,9 @@
}
},
"node_modules/electron-to-chromium": {
"version": "1.5.418",
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.418.tgz",
"integrity": "sha512-UzS26r3AEbG5wSoGVpJKqwHIU9zwQN7LHdVIThDrJpS0I5KdlXFMEb8543fhc9dVnIIAST6ar8rhwa00AL5MlA==",
"version": "1.5.422",
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.422.tgz",
"integrity": "sha512-UvA/32XqrLDdZSn7Jllo1AYNcWji/G0d5M0GTViE7KoGBiMunw3a34Sb2KO4ZZyrSEhqsxFoVhWWJshdyfKqJA==",
"license": "ISC"
},
"node_modules/elliptic": {
@@ -6967,9 +7034,9 @@
}
},
"node_modules/eslint-plugin-regexp": {
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/eslint-plugin-regexp/-/eslint-plugin-regexp-3.2.0.tgz",
"integrity": "sha512-4yq47CnLxyfHFKJEo5kvNaiJ0aDtBxSJWk4M2LiamplUXdWxdlzDYqImb/ZVCp+2BqkQjBAmw4Xc07Q8SXVDZg==",
"version": "3.3.0",
"resolved": "https://registry.npmjs.org/eslint-plugin-regexp/-/eslint-plugin-regexp-3.3.0.tgz",
"integrity": "sha512-TT0JTQbW7CRKohntpGAsMdQ1K3MsmJK4gdAhKJtIwlJ0JvuYxauymFgJdvqxIY4lqNj0EuRZWVrymQtEdJYEFg==",
"license": "MIT",
"dependencies": {
"@eslint-community/eslint-utils": "^4.2.0",
@@ -6988,9 +7055,9 @@
}
},
"node_modules/eslint-plugin-regexp/node_modules/@types/node": {
"version": "26.4.0",
"resolved": "https://registry.npmjs.org/@types/node/-/node-26.4.0.tgz",
"integrity": "sha512-faiGnoIrLH/V8cibOMEAZ8pMw6oXqSukl29ra4mN8GdaB2ZewzeaLj+INpV5N+Z1eKWzY+IzaIZH2EIR6YZRNQ==",
"version": "26.4.1",
"resolved": "https://registry.npmjs.org/@types/node/-/node-26.4.1.tgz",
"integrity": "sha512-k97ENvZWtvA6yqz5/FS6a7duDgOPEeOQOc2iKS/nY6mX6qJUKtLnWzQS+Xj6tXweyj6ZcTAK2Qecetnvi9nCLA==",
"license": "MIT",
"dependencies": {
"undici-types": "~8.3.0"
@@ -7437,9 +7504,9 @@
"license": "MIT"
},
"node_modules/fast-uri": {
"version": "3.1.6",
"resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.6.tgz",
"integrity": "sha512-7Ical1vFEMr0onbVzEDIreM22I4khW+fzyQPwvAFWBp1iwdshSZRsL4jjRvPG9JP1uiqMHRto+YU6R2/CzDz5Q==",
"version": "3.1.7",
"resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.7.tgz",
"integrity": "sha512-dOvZVzjdZdz7phd9v6jCbwxrBW3fK6n8Rc0CtdmM4bumzMnxywBYhuph6J819RRw/ku+rLbelwfMunktuzVVHg==",
"dev": true,
"funding": [
{
@@ -7545,15 +7612,12 @@
}
},
"node_modules/file-entry-cache": {
"version": "8.0.0",
"resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz",
"integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==",
"version": "11.1.5",
"resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-11.1.5.tgz",
"integrity": "sha512-+PFTHITI08JIGhnNpGNI8T8inUpgZfk3GNEqfT9R2zZV2iFXg3CvqzSl/uEhs7TSGujYRELEANyDvS8Fj7+S7Q==",
"license": "MIT",
"dependencies": {
"flat-cache": "^4.0.0"
},
"engines": {
"node": ">=16.0.0"
"flat-cache": "^6.1.23"
}
},
"node_modules/file-extension": {
@@ -7700,16 +7764,14 @@
}
},
"node_modules/flat-cache": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz",
"integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==",
"version": "6.1.23",
"resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-6.1.23.tgz",
"integrity": "sha512-f++BY9pTk+983xK1FLzlLpmM0i0z+jHmx3QESGkURMXujQZz1k5wzwX6hjnQ8goaD0B+sYnDK1yZ6MTyZfUaqA==",
"license": "MIT",
"dependencies": {
"flatted": "^3.2.9",
"keyv": "^4.5.4"
},
"engines": {
"node": ">=16"
"cacheable": "^2.5.0",
"flatted": "^3.4.2",
"hookified": "^1.15.0"
}
},
"node_modules/flatted": {
@@ -8401,6 +8463,18 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/hashery": {
"version": "1.5.1",
"resolved": "https://registry.npmjs.org/hashery/-/hashery-1.5.1.tgz",
"integrity": "sha512-iZyKG96/JwPz1N55vj2Ie2vXbhu440zfUfJvSwEqEbeLluk7NnapfGqa7LH0mOsnDxTF85Mx8/dyR6HfqcbmbQ==",
"license": "MIT",
"dependencies": {
"hookified": "^1.15.0"
},
"engines": {
"node": ">=20"
}
},
"node_modules/hasown": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.4.tgz",
@@ -8446,6 +8520,12 @@
"minimalistic-crypto-utils": "^1.0.1"
}
},
"node_modules/hookified": {
"version": "1.15.1",
"resolved": "https://registry.npmjs.org/hookified/-/hookified-1.15.1.tgz",
"integrity": "sha512-MvG/clsADq1GPM2KGo2nyfaWVyn9naPiXrqIe4jYjXNZQt238kWyOGrsyc/DmRAQ+Re6yeo6yX/yoNCG5KAEVg==",
"license": "MIT"
},
"node_modules/hosted-git-info": {
"version": "2.8.9",
"resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz",
@@ -9482,6 +9562,7 @@
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz",
"integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==",
"dev": true,
"license": "MIT"
},
"node_modules/json-parse-even-better-errors": {
@@ -9621,12 +9702,12 @@
}
},
"node_modules/keyv": {
"version": "4.5.4",
"resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz",
"integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==",
"version": "5.6.0",
"resolved": "https://registry.npmjs.org/keyv/-/keyv-5.6.0.tgz",
"integrity": "sha512-CYDD3SOtsHtyXeEORYRx2qBtpDJFjRTGXUtmNEMGyzYOKj1TE3tycdlho7kA1Ufx9OYWZzg52QFBGALTirzDSw==",
"license": "MIT",
"dependencies": {
"json-buffer": "3.0.1"
"@keyv/serialize": "^1.1.1"
}
},
"node_modules/kind-of": {
@@ -10768,9 +10849,9 @@
}
},
"node_modules/metascraper/node_modules/undici": {
"version": "7.29.0",
"resolved": "https://registry.npmjs.org/undici/-/undici-7.29.0.tgz",
"integrity": "sha512-IDxfleLmmbSskfWSUATiN1nfn2rDuvnMOqb5CWR92iIfojA0Ud+ulOAAEQ57LPr9rWmsreUyf5lwyao+7GNNVw==",
"version": "7.29.1",
"resolved": "https://registry.npmjs.org/undici/-/undici-7.29.1.tgz",
"integrity": "sha512-RYONW2MeafgYlkVOKYKkA/Ag7BmXqgIWCa8t1m0JcxrQg9pI9lEqRhAOruOBCbAohOa/gkCF+iPi9hrgvTzu6Q==",
"dev": true,
"license": "MIT",
"engines": {
@@ -11480,9 +11561,9 @@
}
},
"node_modules/minimizer-webpack-plugin": {
"version": "5.8.0",
"resolved": "https://registry.npmjs.org/minimizer-webpack-plugin/-/minimizer-webpack-plugin-5.8.0.tgz",
"integrity": "sha512-2cT9+goJfBhtMz+gJqejSf09ClgmYhPhccRb/fb0ztVbixt0BkO8mRuI26FoPPuUNkRk6iEDryWAIouc5W8eJA==",
"version": "5.9.0",
"resolved": "https://registry.npmjs.org/minimizer-webpack-plugin/-/minimizer-webpack-plugin-5.9.0.tgz",
"integrity": "sha512-OASqv+dewv8vjkOBjqMOHvxUaXhtGBLZAXq7JbmYE8TSzBvOswiGq5JcBdc8ypuLL/8YUT1OEyupga6/iqdyTA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -11505,6 +11586,9 @@
"@minify-html/node": {
"optional": true
},
"@napi-rs/image": {
"optional": true
},
"@swc/core": {
"optional": true
},
@@ -11529,12 +11613,21 @@
"html-minifier-terser": {
"optional": true
},
"imagemin": {
"optional": true
},
"lightningcss": {
"optional": true
},
"postcss": {
"optional": true
},
"sharp": {
"optional": true
},
"svgo": {
"optional": true
},
"uglify-js": {
"optional": true
}
@@ -13042,6 +13135,24 @@
"node": ">=0.10"
}
},
"node_modules/qified": {
"version": "0.10.1",
"resolved": "https://registry.npmjs.org/qified/-/qified-0.10.1.tgz",
"integrity": "sha512-+Owyggi9IxT1ePKGafcI87ubSmxol6smwJ+RAHDQlx9+9cPwFWDiKFFCPuWhr9ignlGpZ9vDQLw67N4dcTVFEA==",
"license": "MIT",
"dependencies": {
"hookified": "^2.1.1"
},
"engines": {
"node": ">=20"
}
},
"node_modules/qified/node_modules/hookified": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/hookified/-/hookified-2.2.0.tgz",
"integrity": "sha512-p/LgFzRN5FeoD3DLS6bkUapeye6E4SI6yJs6KetENd18S+FBthqYq2amJUWpt5z0EQwwHemidjY5OqJGEKm5uA==",
"license": "MIT"
},
"node_modules/qs": {
"version": "6.14.2",
"resolved": "https://registry.npmjs.org/qs/-/qs-6.14.2.tgz",
@@ -15071,9 +15182,9 @@
"license": "MIT"
},
"node_modules/unbash": {
"version": "4.0.10",
"resolved": "https://registry.npmjs.org/unbash/-/unbash-4.0.10.tgz",
"integrity": "sha512-b7zoBQvpWp0vuN5q2vK2RRBR2SvuruQAs50DApdDveBSn3eSYd84IaHodFqQIMlvY9K2VnyBUEXgwOBuGU9GBg==",
"version": "4.0.11",
"resolved": "https://registry.npmjs.org/unbash/-/unbash-4.0.11.tgz",
"integrity": "sha512-FoSOKV7NEofQSkAefMVHam4ZPKYMxjAydxiV72UFEDNV/YofxjGfiZ2A9pZjdL/lRJzTjcu4PABo1JYJX8N5iQ==",
"dev": true,
"license": "ISC",
"engines": {
@@ -15087,9 +15198,9 @@
"dev": true
},
"node_modules/undici": {
"version": "8.10.1",
"resolved": "https://registry.npmjs.org/undici/-/undici-8.10.1.tgz",
"integrity": "sha512-YQ3WlbqjYMmNpdvDH64jAgLjxuAR9+649calDWhbshYaeQGO2bR4nI94ORJmwI3J9YhoKQnpyGOK+0zlWS5N5Q==",
"version": "8.10.2",
"resolved": "https://registry.npmjs.org/undici/-/undici-8.10.2.tgz",
"integrity": "sha512-/y4/bH9YNU5hi9NIrpOuvGXFcxrj3CMrV+/AYpowAYTpHn8gX/XPFjNy766FPoYY0miQhdW977JFWKGNhBdwyQ==",
"dev": true,
"license": "MIT",
"engines": {
@@ -15446,9 +15557,9 @@
}
},
"node_modules/webpack": {
"version": "5.110.2",
"resolved": "https://registry.npmjs.org/webpack/-/webpack-5.110.2.tgz",
"integrity": "sha512-TciLrfM7zgEjqGdY851HkirDsSPQgTFsWQpl9oHqMAMYsHhEC0bKjscvjpnz+pzx10hLC8qISApGrsnrCP4UtQ==",
"version": "5.110.3",
"resolved": "https://registry.npmjs.org/webpack/-/webpack-5.110.3.tgz",
"integrity": "sha512-GuizBzRvo9YPpyoNMf3ag7AzxbaW85qrRSqTha345KyJbAFPt3/cMzBM0h+RWg7SK/7DdzRLINP3LvQ0hvr4hg==",
"dev": true,
"license": "MIT",
"dependencies": {

View File

@@ -7,13 +7,13 @@
}:
buildNpmPackage (finalAttrs: {
pname = "eslint";
version = "10.9.1";
version = "10.10.0";
src = fetchFromGitHub {
owner = "eslint";
repo = "eslint";
tag = "v${finalAttrs.version}";
hash = "sha256-bGAbBQgyQoicLtC81ae3UIqg1zLHqfoCTn2NEKV3Zyo=";
hash = "sha256-el0WEwds1CfWK8/mCygHQwyjYCYXixbG26Q1koOXolw=";
};
# NOTE: Generating lock-file
@@ -22,7 +22,7 @@ buildNpmPackage (finalAttrs: {
cp ${./package-lock.json} package-lock.json
'';
npmDepsHash = "sha256-GsdriwfM0WpSwJBIw0alcGDsylQHZD+6gooyUbsc7tE=";
npmDepsHash = "sha256-6JgtuLB6yrcO+tpQoQHnf86yq3uoDJyk1mJOC78LJYI=";
npmInstallFlags = [ "--omit=dev" ];
dontNpmBuild = true;

View File

@@ -7,7 +7,7 @@ index e3e4b702..de06dd21 100644
snprintf(charbuf, sizeof(charbuf), "%g", mbr_volume);
- execlp("mbrola", "mbrola", "-e", "-v", charbuf,
+ execlp("@mbrola/bin/mbrola@", "mbrola", "-e", "-v", charbuf,
+ execlp("@mbrola@/bin/mbrola", "mbrola", "-e", "-v", charbuf,
voice_path, "-", "-.wav", (char *)NULL);
/* if execution reaches this point then the exec() failed */
snprintf(mbr_errorbuf, sizeof(mbr_errorbuf),
@@ -20,7 +20,7 @@ index 5f9b0458..26a05635 100644
return ENS_MBROLA_NOT_FOUND;
- sprintf(path, "%s/mbrola/%s", path_home, mbrola_voice);
+ sprintf(path, "%s/@mbrola@/%s", path_home, mbrola_voice);
+ sprintf(path, "@mbrola@/share/mbrola/voices/%s/%s", mbrola_voice, mbrola_voice);
#if PLATFORM_POSIX
// if not found, then also look in
// $data_dir/mbrola/xx, $data_dir/mbrola/xx/xx, $data_dir/mbrola/voices/xx

View File

@@ -23,14 +23,14 @@
python3Packages.buildPythonApplication (finalAttrs: {
pname = "faugus-launcher";
version = "2.2.1";
version = "2.3.0";
pyproject = false;
src = fetchFromGitHub {
owner = "Faugus";
repo = "faugus-launcher";
tag = finalAttrs.version;
hash = "sha256-NCWuyIhPVs+6zYpi4JYxukKyO+YLnHPOfd3APTECTFE=";
hash = "sha256-fD4mvz4zSYzyp9MCTKjYvaYMa/Hc7IRrirnF/GNF6p8=";
};
nativeBuildInputs = [

View File

@@ -7,21 +7,21 @@
buildGoModule (finalAttrs: {
pname = "ffuf";
version = "2.2.1";
version = "2.3.0";
src = fetchFromGitHub {
owner = "ffuf";
repo = "ffuf";
tag = "v${finalAttrs.version}";
hash = "sha256-xN7FxxxIpkaGlfBgs0RwEPlzo/HLMfioC6MAMVP2su8=";
hash = "sha256-bnxpfomvih4/SVs7aqVICsW9AML/E8LODP+peg7x64M=";
};
vendorHash = "sha256-SrC6Q7RKf+gwjJbxSZkWARw+kRtkwVv1UJshc/TkNdc=";
ldflags = [
"-s"
"-X github.com/ffuf/ffuf/v${(lib.versions.major finalAttrs.version)}/pkg/ffuf.VERSION=${finalAttrs.version}"
"-X github.com/ffuf/ffuf/v${(lib.versions.major finalAttrs.version)}/pkg/ffuf.VERSION_APPENDIX="
"-X=github.com/ffuf/ffuf/v${(lib.versions.major finalAttrs.version)}/pkg/ffuf.VERSION=${finalAttrs.version}"
"-X=github.com/ffuf/ffuf/v${(lib.versions.major finalAttrs.version)}/pkg/ffuf.VERSION_APPENDIX="
];
nativeInstallCheckInputs = [ versionCheckHook ];
@@ -30,6 +30,11 @@ buildGoModule (finalAttrs: {
versionCheckProgramArg = "-V";
checkFlags = [
# These integration tests require a local server
"-skip=^(TestE2E_JSONOutput|TestE2E_DefaultMatcher|TestE2E_MatcherSuppressesDefault)$"
];
meta = {
description = "Tool for web fuzzing";
longDescription = ''

View File

@@ -1,34 +0,0 @@
From 4fa9323aa6c029049848bf619b11fc790d9cecc2 Mon Sep 17 00:00:00 2001
From: Chris Moultrie <tebriel@frodux.in>
Date: Sun, 9 Aug 2026 18:08:21 -0400
Subject: [PATCH] pytest: Parametrize compatability with 9.1.1
---
fittrackee/tests/workouts/test_workouts_model.py | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/fittrackee/tests/workouts/test_workouts_model.py b/fittrackee/tests/workouts/test_workouts_model.py
index 077a8a86e..ca4175a6f 100644
--- a/fittrackee/tests/workouts/test_workouts_model.py
+++ b/fittrackee/tests/workouts/test_workouts_model.py
@@ -1199,7 +1199,7 @@ class TestWorkoutModelForOwner(WorkoutModelTestCase):
)
@pytest.mark.parametrize(
- "input_args,",
+ "input_args",
[
{"light": False},
{"light": False, "with_equipments": True},
@@ -1226,7 +1226,7 @@ class TestWorkoutModelForOwner(WorkoutModelTestCase):
equipment_bike_user_1.serialize(current_user=user_1)
]
- @pytest.mark.parametrize("input_args,", [{}, {"light": True}])
+ @pytest.mark.parametrize("input_args", [{}, {"light": True}])
def test_serializer_does_not_return_equipments(
self,
app: Flask,
--
2.54.0

View File

@@ -11,27 +11,22 @@
}:
python3Packages.buildPythonApplication (finalAttrs: {
pname = "fittrackee";
version = "1.3.4";
version = "1.3.5";
pyproject = true;
src = fetchFromCodeberg {
owner = "FitTrackee";
repo = "FitTrackee";
tag = "v${finalAttrs.version}";
hash = "sha256-PN+YHRKvsAgTaSm4dl2t5voRxbgIo+yoieMfGEuE0oI=";
hash = "sha256-IJ/Y1y94esoJtGNJBUbwQo5H0s6hGcUDCIfI1RUht1c=";
};
patches = [
# https://codeberg.org/FitTrackee/FitTrackee/pulls/1205
./0001-pytest-Parametrize-compatability-with-9.1.1.patch
];
makeCacheWritable = true;
npmRoot = "fittrackee_client";
npmDeps = fetchNpmDeps {
inherit (finalAttrs) pname version src;
hash = "sha256-kN/J7hIeEcnCKaramIPhoBsbBg32VgF372f9KOPi+nY=";
hash = "sha256-zIqkJdXeQjvXW9TSKZ2Qs9YwiSdRb7HNhZB9Roauu9Y=";
sourceRoot = "${finalAttrs.src.name}/fittrackee_client";
};

View File

@@ -8,11 +8,11 @@
stdenvNoCC.mkDerivation rec {
pname = "flix";
version = "0.75.3";
version = "0.76.0";
src = fetchurl {
url = "https://github.com/flix/flix/releases/download/v${version}/flix.jar";
sha256 = "sha256-vxI822SU1uDL/2OZvxhTFNMyu+l7/XduSrwDpdOd2VQ=";
sha256 = "sha256-2Nmjhw4ZnAPtY2TqlDD1b2e/04wzLEEWKKany4iysLQ=";
};
dontUnpack = true;

View File

@@ -8,13 +8,13 @@
buildDotnetModule rec {
pname = "garnet";
version = "2.1.5";
version = "2.1.7";
src = fetchFromGitHub {
owner = "microsoft";
repo = "garnet";
tag = "v${version}";
hash = "sha256-4KyZZOyl5ntqXXZDaJlkLoQ3cvHaDzydP6lMDWUK4vA=";
hash = "sha256-CYOp6KR84ggZ+XCZa1cV5nGs6P+Lcoejop7QXtG0RVk=";
};
projectFile = "main/GarnetServer/GarnetServer.csproj";

View File

@@ -22,7 +22,7 @@
}:
stdenv.mkDerivation (finalAttrs: {
pname = "gitte";
version = "0.9.1";
version = "0.10.0";
__structuredAttrs = true;
@@ -30,12 +30,12 @@ stdenv.mkDerivation (finalAttrs: {
owner = "ckruse";
repo = "Gitte";
tag = finalAttrs.version;
hash = "sha256-/vVNWYuTsFf9SsL/PvM5hOJfULeibRn+9ukAbTs5rXk=";
hash = "sha256-AT9dTlme7n/pWwNE2q8mubz6gc1+k7gg10KposjLD6M=";
};
cargoDeps = rustPlatform.fetchCargoVendor {
inherit (finalAttrs) pname version src;
hash = "sha256-oz8pX33jua+bOBEmI87p4rkUxYrhzagBLcQvSHPOkp0=";
hash = "sha256-EwYPJ+ospD9qK/iSmhmQ/fo3ftJi2xA/UZ+rA0F6TCQ=";
};
strictDeps = true;

File diff suppressed because it is too large Load Diff

View File

@@ -1,23 +1,23 @@
# DO NOT EDIT! This file is generated automatically by update.sh
{ }:
{
version = "581.0.0";
version = "583.0.0";
googleCloudSdkPkgs = {
x86_64-linux = {
url = "https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-581.0.0-linux-x86_64.tar.gz";
sha256 = "14gvc7c0cha7v7jv4bkisc0m3q018kr989agi7hma4xgqmdwzrij";
url = "https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-583.0.0-linux-x86_64.tar.gz";
sha256 = "0xxi4vs6cld358iqgcj44pm667f13vp0j5y7fhcmv6qsar1q4aqb";
};
aarch64-linux = {
url = "https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-581.0.0-linux-arm.tar.gz";
sha256 = "1l00qdriqnnzdbd134v565p3ii50fx133wca5am6qf04yqnwbpyd";
url = "https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-583.0.0-linux-arm.tar.gz";
sha256 = "0clqkah2s2k62i628wc6zmqpns43r01clvfww5bdzibmzy6csgxp";
};
aarch64-darwin = {
url = "https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-581.0.0-darwin-arm.tar.gz";
sha256 = "1pabqk9nk2gfmzgp1kfw9qv3v2qk1asxsg5qzyyyn0n353y7jnsx";
url = "https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-583.0.0-darwin-arm.tar.gz";
sha256 = "17z79g05zs5afcjzapj1kzn43c7asrjlf65qwb7vx7nm186y1z6j";
};
i686-linux = {
url = "https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-581.0.0-linux-x86.tar.gz";
sha256 = "06lihs49m98mznzr9j6v03pfcqnjf5qvwrqwdr3wzas9kch56qyf";
url = "https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-583.0.0-linux-x86.tar.gz";
sha256 = "1x5avi90wq21h6sy38xpwv6nwfhxwxicwsngv2la5y94ym4rdvfr";
};
};
}

View File

@@ -10,16 +10,16 @@
buildGoModule (finalAttrs: {
pname = "gopass-hibp";
version = "1.16.1";
version = "1.17.2";
src = fetchFromGitHub {
owner = "gopasspw";
repo = "gopass-hibp";
tag = "v${finalAttrs.version}";
hash = "sha256-BlZxXN14bOO7LMdjS/ooqVKmRZQTpNYlYp4A4rTew4Q=";
hash = "sha256-3zC39DE5jl5d3nUjzzSmFPI4K5Uez4tYwmb+lWmwvmM=";
};
vendorHash = "sha256-LUmxstDE0paYaNS2Em1Xc6pJmHHWk/IJEjTZXq5qWW8=";
vendorHash = "sha256-bdUg4uX3hsbxc3xmKX9bqhJVnB1KEJTnnQySQnHe5Q8=";
subPackages = [ "." ];

View File

@@ -10,16 +10,16 @@
buildGoModule (finalAttrs: {
pname = "gopass-summon-provider";
version = "1.17.0";
version = "1.17.2";
src = fetchFromGitHub {
owner = "gopasspw";
repo = "gopass-summon-provider";
tag = "v${finalAttrs.version}";
hash = "sha256-QBulvVbpJCtQ3ay655ic0J9sPR2JfwFlVPzLXEYX79Q=";
hash = "sha256-OWQQXMUKz8EmyowTVRaO8FhskXEGO0asWP7J/Xqd90k=";
};
vendorHash = "sha256-QShKZLYF3/uMFb7O2MGfLB2cFVQwlVLF/Bi2f0UuCDA=";
vendorHash = "sha256-7wwjPcnAJ/9l8ff2qqqU/Z8l223g0GDogJbf3TwcOaw=";
subPackages = [ "." ];

View File

@@ -14,13 +14,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "gtkterm";
version = "1.3.1";
version = "1.4";
src = fetchFromGitHub {
owner = "wvdakker";
repo = "gtkterm";
rev = finalAttrs.version;
sha256 = "sha256-oGqOXIu5P3KfdV6Unm7Nz+BRhb5Z6rne0+e0wZ2EcAI=";
tag = finalAttrs.version;
hash = "sha256-a1GRSSyUnBkAW0HAlmoFO2R193KWSlDm3cjIIhKuNWU=";
};
nativeBuildInputs = [

View File

@@ -17,13 +17,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "hasciicam";
version = "2.6.0";
version = "2.11.1";
src = fetchFromGitHub {
owner = "dyne";
repo = "hasciicam";
tag = "v${finalAttrs.version}";
hash = "sha256-Zh/yJJHWcD79J2HvUD5h4itg4jlDvpVb4cSwMsB1QOg=";
hash = "sha256-QFYWYr2s+d3qcgknnyFbvpL5K5ohI+yY+7dntfJQLZA=";
};
__structuredAttrs = true;

View File

@@ -10,13 +10,13 @@
gcc16Stdenv.mkDerivation (finalAttrs: {
pname = "hyprutils";
version = "0.14.1";
version = "0.14.2";
src = fetchFromGitHub {
owner = "hyprwm";
repo = "hyprutils";
tag = "v${finalAttrs.version}";
hash = "sha256-WGAG9f7YnEjAu33WWxL6kkOyZGgcpiASwdNxpkwr2AQ=";
hash = "sha256-dpmeFq5vPvSOsi30ZchOLjltAZEuVBucDvGKs3IZYf4=";
};
nativeBuildInputs = [

View File

@@ -4,10 +4,11 @@
fetchFromGitHub,
makeWrapper,
nodejs_22,
nix-update-script,
}:
buildNpmPackage (finalAttrs: {
pname = "jellystat";
version = "1.1.11";
version = "1.1.12";
__structuredAttrs = true;
@@ -15,7 +16,7 @@ buildNpmPackage (finalAttrs: {
owner = "CyferShepard";
repo = "Jellystat";
tag = finalAttrs.version;
hash = "sha256-HuLSXhj90fPfxv5qyCVCY67w07WwTBGp220iG9dGZyk=";
hash = "sha256-DVWo6zeEOAE3EaCXmN1JYouCvyG1lx4OrJP3BGnjumo=";
};
patches = [
@@ -24,7 +25,7 @@ buildNpmPackage (finalAttrs: {
npmDepsFetcherVersion = 2;
npmDepsHash = "sha256-yfcrBLbD11x3Siqv670jw8A3K11DrwnBj0VSC64JBP0=";
npmDepsHash = "sha256-hVvwjm3oY9NBVP98Vf2cBkDY7N9AeIL2PauSuk2NaVM=";
makeCacheWritable = true;
@@ -55,12 +56,16 @@ buildNpmPackage (finalAttrs: {
runHook postInstall
'';
passthru = {
updateScript = nix-update-script { };
};
meta = with lib; {
description = "Jellystat is a free and open source Statistics App for Jellyfin";
homepage = "https://github.com/CyferShepard/Jellystat";
license = licenses.mit;
maintainers = with maintainers; [ mistyttm ];
mainProgram = "jellystat";
platforms = platforms.linux;
platforms = platforms.all;
};
})

View File

@@ -1,62 +1,27 @@
diff --git a/backend/classes/backup.js b/backend/classes/backup.js
index 981b7d6..c6b4124 100644
--- a/backend/classes/backup.js
+++ b/backend/classes/backup.js
@@ -15,7 +15,9 @@ const postgresPassword = process.env.POSTGRES_PASSWORD;
const postgresIp = process.env.POSTGRES_IP;
const postgresPort = process.env.POSTGRES_PORT;
const postgresDatabase = process.env.POSTGRES_DB || "jfstat";
@@ -19,1 +19,3 @@
-const backupfolder = "backup-data";
+const backupfolder = process.env.JS_BACKUP_DIR
+ ? path.resolve(process.env.JS_BACKUP_DIR)
+ : path.join(__dirname, "..", "backup-data");
function checkFolderWritePermission(folderPath) {
try {
@@ -51,7 +53,7 @@ async function backup(refLog) {
try {
let now = dayjs();
- const backuppath = "./" + backupfolder;
@@ -84,1 +84,1 @@
- const backuppath = path.join(__dirname, "..", backupfolder);
+ const backuppath = backupfolder;
if (!fs.existsSync(backuppath)) {
fs.mkdirSync(backuppath);
@@ -79,7 +81,7 @@ async function backup(refLog) {
}
// const backupPath = `../backup-data/backup_${now.format('YYYY-MM-DD HH-mm-ss')}.json`;
- const directoryPath = path.join(__dirname, "..", backupfolder, `backup_${now.format("YYYY-MM-DD HH-mm-ss")}.json`);
+ const directoryPath = path.join(backupfolder, `backup_${now.format("YYYY-MM-DD HH-mm-ss")}.json`);
refLog.logData.push({ color: "yellow", Message: "Begin Backup " + directoryPath });
const stream = fs.createWriteStream(directoryPath, { flags: "a" });
stream.on("error", async (error) => {
@@ -105,7 +107,7 @@ async function backup(refLog) {
//Cleanup excess backups
let deleteCount = 0;
@@ -111,1 +111,1 @@
- const directoryPath = path.join(__dirname, "..", backupfolder, `backup_${now.format("YYYY-MM-DD HH-mm-ss")}.jsonl`);
+ const directoryPath = path.join(backupfolder, `backup_${now.format("YYYY-MM-DD HH-mm-ss")}.jsonl`);
@@ -157,1 +157,1 @@
- const directoryPathDelete = path.join(__dirname, "..", backupfolder);
+ const directoryPathDelete = backupfolder;
const files = await new Promise((resolve, reject) => {
fs.readdir(directoryPathDelete, (err, files) => {
@@ -132,7 +134,7 @@ async function backup(refLog) {
fileData = fileData.sort((a, b) => new Date(b.datecreated) - new Date(a.datecreated)).slice(5);
for (var oldBackup of fileData) {
@@ -184,1 +184,1 @@
- const oldBackupFile = path.join(__dirname, "..", backupfolder, oldBackup.name);
+ const oldBackupFile = path.join(backupfolder, oldBackup.name);
await new Promise((resolve, reject) => {
fs.unlink(oldBackupFile, (err) => {
diff --git a/backend/classes/env.js b/backend/classes/env.js
index afb76e7..5863934 100644
--- a/backend/classes/env.js
+++ b/backend/classes/env.js
@@ -16,7 +16,12 @@ async function writeEnvVariables() {
const envContent = `window.env = ${JSON.stringify(envVariables, null, 2)};`;
// Define the output file path
@@ -19,1 +19,6 @@
- const outputPath = path.join(__dirname, "..", "..", "dist", "env.js");
+ const envDir = process.env.JS_ENV_DIR ? path.resolve(process.env.JS_ENV_DIR) : path.join(__dirname, "..", "..", "dist");
+ const outputPath = path.join(envDir, "env.js");
@@ -64,77 +29,33 @@ index afb76e7..5863934 100644
+ if (process.env.JS_ENV_DIR) {
+ fs.mkdirSync(envDir, { recursive: true });
+ }
// Write the environment variables to the file
fs.writeFile(outputPath, envContent, "utf8", (err) => {
diff --git a/backend/routes/backup.js b/backend/routes/backup.js
index cfc3d3f..12d9b32 100644
--- a/backend/routes/backup.js
+++ b/backend/routes/backup.js
@@ -25,7 +25,9 @@ const postgresPort = process.env.POSTGRES_PORT;
const postgresDatabase = process.env.POSTGRES_DB || "jfstat";
const postgresSslRejectUnauthorized = process.env.POSTGRES_SSL_REJECT_UNAUTHORIZED === undefined ? true : process.env.POSTGRES_SSL_REJECT_UNAUTHORIZED === "true";
@@ -31,1 +31,3 @@
-const backupfolder = "backup-data";
+const backupfolder = process.env.JS_BACKUP_DIR
+ ? path.resolve(process.env.JS_BACKUP_DIR)
+ : path.join(__dirname, "..", "backup-data");
// Restore function
@@ -187,7 +189,7 @@ router.get("/restore/:filename", async (req, res) => {
Logging.insertLog(uuid, triggertype.Manual, taskName.restore);
const filename = sanitizeFilename(req.params.filename);
@@ -312,1 +312,1 @@
- const filePath = path.join(__dirname, "..", backupfolder, filename);
+ const filePath = path.join(backupfolder, filename);
await restore(filePath, refLog);
Logging.updateLog(uuid, refLog.logData, taskstate.SUCCESS);
@@ -202,7 +204,7 @@ router.get("/restore/:filename", async (req, res) => {
router.get("/files", (req, res) => {
try {
@@ -331,1 +331,1 @@
- const directoryPath = path.join(__dirname, "..", backupfolder);
+ const directoryPath = backupfolder;
fs.readdir(directoryPath, (err, files) => {
if (err) {
res.status(500).send("Unable to read directory");
@@ -229,7 +231,7 @@ router.get("/files", (req, res) => {
//download backup file
router.get("/files/:filename", (req, res) => {
const filename = sanitizeFilename(req.params.filename);
@@ -358,1 +358,1 @@
- const filePath = path.join(__dirname, "..", backupfolder, filename);
+ const filePath = path.join(backupfolder, filename);
res.download(filePath);
});
@@ -237,7 +239,7 @@ router.get("/files/:filename", (req, res) => {
router.delete("/files/:filename", (req, res) => {
try {
const filename = sanitizeFilename(req.params.filename);
@@ -366,1 +366,1 @@
- const filePath = path.join(__dirname, "..", backupfolder, filename);
+ const filePath = path.join(backupfolder, filename);
fs.unlink(filePath, (err) => {
if (err) {
@@ -256,7 +258,7 @@ router.delete("/files/:filename", (req, res) => {
const storage = multer.diskStorage({
destination: function (req, file, cb) {
@@ -385,1 +385,1 @@
- cb(null, path.join(__dirname, "..", backupfolder)); // Set the destination folder for uploaded files
+ cb(null, backupfolder); // Set the destination folder for uploaded files
},
filename: function (req, file, cb) {
cb(null, file.originalname); // Set the file name
diff --git a/backend/server.js b/backend/server.js
index d70975d..1898ec6 100644
--- a/backend/server.js
+++ b/backend/server.js
@@ -106,6 +106,17 @@ const findFile = (dir, fileName) => {
const root = path.join(__dirname, "..", "dist");
@@ -107,0 +108,11 @@
+// When JS_ENV_DIR is set, env.js is written outside of `root` (e.g. because
+// `root` lives on a read-only filesystem), so serve it explicitly from
+// there instead of relying on the findFile() lookup below, which only
@@ -146,6 +67,3 @@ index d70975d..1898ec6 100644
+ });
+}
+
//hacky middleware to handle basename changes for UI
app.use((req, res, next) => {

View File

@@ -9,15 +9,15 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "jsonschema-cli";
version = "0.52.1";
version = "0.56.0";
src = fetchCrate {
pname = "jsonschema-cli";
inherit (finalAttrs) version;
hash = "sha256-/RObXfxdgY4PFilPGBVeLGhtEhueX8l035pn6g1QNsk=";
hash = "sha256-RqTWoTeswkHQgX3AlHpMfDk23UP1g+M8+nVkWt9oqBs=";
};
cargoHash = "sha256-jqbS9DqWe6C5C8BBbR0dGgGCpY3t3xHBA+wy+UqabK4=";
cargoHash = "sha256-0MllKQrW9sQ0E4OF4RdB2sIZDdt0xNvJ4jtb4jC2eU8=";
preCheck = ''
export SSL_CERT_FILE=${cacert}/etc/ssl/certs/ca-bundle.crt

View File

@@ -8,13 +8,13 @@
}:
buildGoModule (finalAttrs: {
pname = "lazygit";
version = "0.65.0";
version = "0.65.1";
src = fetchFromGitHub {
owner = "jesseduffield";
repo = "lazygit";
tag = "v${finalAttrs.version}";
hash = "sha256-W/Z/BnA5L8tXYrKn3bnekNnx7bEaaJRoHSGAeygcK0E=";
hash = "sha256-vpvjywx8PeKuAVWfYfG6MUfSddOwZupzRhPYwrTWEmw=";
};
vendorHash = null;
@@ -42,6 +42,7 @@ buildGoModule (finalAttrs: {
changelog = "https://github.com/jesseduffield/lazygit/releases/tag/v${finalAttrs.version}";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [
ddogfoodd
equirosa
khaneliman
starsep

View File

@@ -3,16 +3,17 @@
stdenv,
fetchurl,
autoreconfHook,
pkg-config,
elfutils,
libxml2,
pkg-config,
strace,
xxhash,
xz,
python3,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "libabigail";
version = "2.5";
version = "2.10";
outputs = [
"bin"
@@ -22,18 +23,19 @@ stdenv.mkDerivation (finalAttrs: {
src = fetchurl {
url = "https://mirrors.kernel.org/sourceware/libabigail/libabigail-${finalAttrs.version}.tar.xz";
hash = "sha256-fPxOmwCuONh/sMY76rsyucv5zkEOUs7rWtWzxb6xEfM=";
hash = "sha256-DMEOZHE5gzDgAbn+N/HoxRCKmrYysIypY01sZLw4C3g=";
};
nativeBuildInputs = [
autoreconfHook
pkg-config
strace
];
buildInputs = [
elfutils
libxml2
xxhash
xz
];
nativeCheckInputs = [

View File

@@ -86,7 +86,9 @@ stdenv.mkDerivation (finalAttrs: {
# assumption: build machine runs linux kernel 5.0 or newer
# see https://github.com/stevegrubb/libcap-ng?tab=readme-ov-file#note-to-distributions
doCheck = true;
# disabled on static due to symbol collision in test file compilation
# see https://github.com/stevegrubb/libcap-ng/issues/85
doCheck = !stdenv.hostPlatform.isStatic;
pythonImportsCheck = [
"capng"

View File

@@ -7,11 +7,11 @@
appimageTools.wrapType2 rec {
pname = "lunarclient";
version = "3.7.16";
version = "3.7.17";
src = fetchurl {
url = "https://launcherupdates.lunarclientcdn.com/Lunar%20Client-${version}-ow.AppImage";
hash = "sha512-sSkwC1gi1IBvzOxd9qWui0b0dbh8jX7E0mLZm9CbJpmAcJXW87SE7WwjeL0RLTpNwvjWCt8KREr0yeQKIzXlWA==";
hash = "sha512-qAiOVtqZJMRi1dWPtHhy/MeUAoGcVw+WzUM1U8sSn3Ojf+7SFJgaz451kVKPDyBT0jelwy4bZ6nmaEyiy0wZwQ==";
};
nativeBuildInputs = [ makeWrapper ];

View File

@@ -1,296 +0,0 @@
diff --git a/package-lock.json b/package-lock.json
index 1beb8ee..7160473 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -11,7 +11,7 @@
"license": "Apache-2.0",
"dependencies": {
"@simonwep/pickr": "^1.9.1",
- "better-sqlite3": "^12.9.0",
+ "better-sqlite3": "^12.11.1",
"bufferutil": "^4.1.0",
"comlink": "~4.3.1",
"crypto-js": "^4.2.0",
@@ -50,7 +50,7 @@
"css-loader": "^7.1.4",
"css-minimizer-webpack-plugin": "^8.0.0",
"del": "^6.1.1",
- "electron": "40.9.2",
+ "electron": "42.6.0",
"electron-builder": "^26.9.0",
"electron-debug": "^3.2.0",
"electron-devtools-installer": "github:lyswhut/electron-devtools-installer#64596d615c1fc891eefd8aef1dfcb2c87aaadf03",
@@ -210,6 +210,16 @@
"node": ">=14.17.0"
}
},
+ "node_modules/@electron-internal/extract-zip": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/@electron-internal/extract-zip/-/extract-zip-1.0.4.tgz",
+ "integrity": "sha512-Zr1Vs7E9tpCNhZHDAbFVXc2gEVCG9RqPDjrno5+bdgB6LRAuvgyMHJut4NCVyYwtAieapMzc3fiQ3CSTi75ARg==",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "engines": {
+ "node": ">=22.12.0"
+ }
+ },
"node_modules/@electron/asar": {
"version": "3.4.1",
"resolved": "https://registry.npmjs.org/@electron/asar/-/asar-3.4.1.tgz",
@@ -283,25 +293,37 @@
}
},
"node_modules/@electron/get": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/@electron/get/-/get-2.0.3.tgz",
- "integrity": "sha512-Qkzpg2s9GnVV2I2BjRksUi43U5e6+zaQMcjoJy0C+C5oxaKl+fmckGDQFtRpZpZV0NQekuZZ+tGz7EA9TVnQtQ==",
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/@electron/get/-/get-5.0.0.tgz",
+ "integrity": "sha512-pjoBpru1KdEtcExBnuHAP1cAc/5faoedw0hzJkL3o4/IJp7HNF1+fbrdxT3gMYRX2oJfvnA/WXeCTVQpYYxyJA==",
"dev": true,
"license": "MIT",
"dependencies": {
"debug": "^4.1.1",
- "env-paths": "^2.2.0",
- "fs-extra": "^8.1.0",
- "got": "^11.8.5",
+ "env-paths": "^3.0.0",
+ "graceful-fs": "^4.2.11",
"progress": "^2.0.3",
- "semver": "^6.2.0",
+ "semver": "^7.6.3",
"sumchecker": "^3.0.1"
},
"engines": {
- "node": ">=12"
+ "node": ">=22.12.0"
},
"optionalDependencies": {
- "global-agent": "^3.0.0"
+ "undici": "^7.24.4"
+ }
+ },
+ "node_modules/@electron/get/node_modules/env-paths": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-3.0.0.tgz",
+ "integrity": "sha512-dtJUTepzMW3Lm/NPxRf3wP4642UWhjL2sQxc+ym2YMj1m/H2zDNQOlezafzkHwn6sMstjHTwG6iQQsctDW/b1A==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/@electron/notarize": {
@@ -2014,17 +2036,6 @@
"dev": true,
"license": "MIT"
},
- "node_modules/@types/yauzl": {
- "version": "2.10.3",
- "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.3.tgz",
- "integrity": "sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==",
- "dev": true,
- "license": "MIT",
- "optional": true,
- "dependencies": {
- "@types/node": "*"
- }
- },
"node_modules/@typescript-eslint/eslint-plugin": {
"version": "6.21.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.21.0.tgz",
@@ -3373,9 +3384,9 @@
"license": "MIT"
},
"node_modules/better-sqlite3": {
- "version": "12.9.0",
- "resolved": "https://registry.npmjs.org/better-sqlite3/-/better-sqlite3-12.9.0.tgz",
- "integrity": "sha512-wqUv4Gm3toFpHDQmaKD4QhZm3g1DjUBI0yzS4UBl6lElUmXFYdTQmmEDpAFa5o8FiFiymURypEnfVHzILKaxqQ==",
+ "version": "12.11.1",
+ "resolved": "https://registry.npmjs.org/better-sqlite3/-/better-sqlite3-12.11.1.tgz",
+ "integrity": "sha512-dq9AtApgg5PGFtBzPFSBl3HZQjHok5gaQCM6zh2Yk0aSmDCs1CbnVI8/HgASQkNKsWFpseIO9beg5xxpYhbIfA==",
"hasInstallScript": true,
"license": "MIT",
"dependencies": {
@@ -3383,7 +3394,7 @@
"prebuild-install": "^7.1.1"
},
"engines": {
- "node": "20.x || 22.x || 23.x || 24.x || 25.x"
+ "node": "20.x || 22.x || 23.x || 24.x || 25.x || 26.x"
}
},
"node_modules/big.js": {
@@ -3632,16 +3643,6 @@
"ieee754": "^1.1.13"
}
},
- "node_modules/buffer-crc32": {
- "version": "0.2.13",
- "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz",
- "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": "*"
- }
- },
"node_modules/buffer-from": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
@@ -5529,22 +5530,22 @@
}
},
"node_modules/electron": {
- "version": "40.9.2",
- "resolved": "https://registry.npmjs.org/electron/-/electron-40.9.2.tgz",
- "integrity": "sha512-gTLLTlfMyORZDj+03tkxsstQOQlmu6dYl0X8cwlmFb+gMmCM9Gc+rmBGSaCb5KI11IMUWHu4hvKA/spP8oJe+w==",
+ "version": "42.6.0",
+ "resolved": "https://registry.npmjs.org/electron/-/electron-42.6.0.tgz",
+ "integrity": "sha512-axGNgd+yCTg+vi1VEGrQqAj9WVWkePKwbICSAvMiT2eTaxhij9a/xhBHD6rXV8wrlW9ZfJzE5+xg752ImxrmTw==",
"dev": true,
- "hasInstallScript": true,
"license": "MIT",
"dependencies": {
- "@electron/get": "^2.0.0",
- "@types/node": "^24.9.0",
- "extract-zip": "^2.0.1"
+ "@electron-internal/extract-zip": "^1.0.1",
+ "@electron/get": "^5.0.0",
+ "@types/node": "^24.9.0"
},
"bin": {
- "electron": "cli.js"
+ "electron": "cli.js",
+ "install-electron": "install.js"
},
"engines": {
- "node": ">= 12.20.55"
+ "node": ">= 22.12.0"
}
},
"node_modules/electron-builder": {
@@ -6963,27 +6964,6 @@
"dev": true,
"license": "MIT"
},
- "node_modules/extract-zip": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz",
- "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==",
- "dev": true,
- "license": "BSD-2-Clause",
- "dependencies": {
- "debug": "^4.1.1",
- "get-stream": "^5.1.0",
- "yauzl": "^2.10.0"
- },
- "bin": {
- "extract-zip": "cli.js"
- },
- "engines": {
- "node": ">= 10.17.0"
- },
- "optionalDependencies": {
- "@types/yauzl": "^2.9.1"
- }
- },
"node_modules/extsprintf": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.4.1.tgz",
@@ -7096,16 +7076,6 @@
"node": ">=0.8.0"
}
},
- "node_modules/fd-slicer": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz",
- "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "pend": "~1.2.0"
- }
- },
"node_modules/fdir": {
"version": "6.5.0",
"resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz",
@@ -7390,21 +7360,6 @@
"integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==",
"license": "MIT"
},
- "node_modules/fs-extra": {
- "version": "8.1.0",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
- "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "graceful-fs": "^4.2.0",
- "jsonfile": "^4.0.0",
- "universalify": "^0.1.0"
- },
- "engines": {
- "node": ">=6 <7 || >=8"
- }
- },
"node_modules/fs.realpath": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
@@ -10819,13 +10774,6 @@
"url": "https://github.com/sponsors/jet2jet"
}
},
- "node_modules/pend": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz",
- "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/picocolors": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
@@ -16252,17 +16200,6 @@
"node": ">=12"
}
},
- "node_modules/yauzl": {
- "version": "2.10.0",
- "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz",
- "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "buffer-crc32": "~0.2.3",
- "fd-slicer": "~1.1.0"
- }
- },
"node_modules/yocto-queue": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
diff --git a/package.json b/package.json
index cc041c3..b656a6b 100644
--- a/package.json
+++ b/package.json
@@ -123,7 +123,7 @@
"css-loader": "^7.1.4",
"css-minimizer-webpack-plugin": "^8.0.0",
"del": "^6.1.1",
- "electron": "40.9.2",
+ "electron": "42.6.0",
"electron-builder": "^26.9.0",
"electron-debug": "^3.2.0",
"electron-devtools-installer": "github:lyswhut/electron-devtools-installer#64596d615c1fc891eefd8aef1dfcb2c87aaadf03",
@@ -167,7 +167,7 @@
},
"dependencies": {
"@simonwep/pickr": "^1.9.1",
- "better-sqlite3": "^12.9.0",
+ "better-sqlite3": "^12.11.1",
"bufferutil": "^4.1.0",
"comlink": "~4.3.1",
"crypto-js": "^4.2.0",

View File

@@ -19,13 +19,13 @@ let
in
buildNpmPackage (finalAttrs: {
pname = "lx-music-desktop";
version = "2.12.2";
version = "2.12.4";
src = fetchFromGitHub {
owner = "lyswhut";
repo = "lx-music-desktop";
tag = "v${finalAttrs.version}";
hash = "sha256-0hUm7BfjI4x22DsAPX/VZo+IKInSl6hhylTK0awPhYo=";
hash = "sha256-sjdWDpObF+AxPLommw1biJU8OgTALYLEjJDV2yBiCPg=";
};
desktopItems = [
@@ -56,13 +56,6 @@ buildNpmPackage (finalAttrs: {
(replaceVars ./electron-builder.patch {
electron_version = electron.version;
})
# the upstream repository hasn't released a version with a newer
# electron yet, so we patch `package.json` and the lock file to use
# electron 42. updating better-sqlite3 is also required due to the
# ABI incompatibility between the original one with electron 42, see
# https://github.com/WiseLibs/better-sqlite3/issues/1474
./npm-deps.patch
];
nativeBuildInputs = [
@@ -70,7 +63,7 @@ buildNpmPackage (finalAttrs: {
copyDesktopItems
];
npmDepsHash = "sha256-1gizfbnkdG84VxB2MaoGoIEQoydiVHbGeWmy2A03FCI=";
npmDepsHash = "sha256-A7tR1mZ9TlGj+srPb6ZrJcCPbafT4e51XDexE76jPXc=";
makeCacheWritable = true;
@@ -83,6 +76,11 @@ buildNpmPackage (finalAttrs: {
preBuild = ''
# delete prebuilt libs
rm -r build-config/lib
rm -r node_modules/better-sqlite3/prebuilds
# prevent copying previously deleted libs to node_modules
substituteInPlace build-config/postinstall.js \
--replace-fail 'copyLib()' ""
# don't spam the build logs
substituteInPlace build-config/pack.js \

View File

@@ -4,7 +4,7 @@
fetchFromGitHub,
}:
let
version = "1.2.20";
version = "2.0.3";
in
python3Packages.buildPythonApplication {
pname = "mktxp";
@@ -15,7 +15,7 @@ python3Packages.buildPythonApplication {
owner = "akpw";
repo = "mktxp";
tag = "v${version}";
hash = "sha256-xYVIaO60ih3P/oV11QljSCF5iRYf2fK3EjEhhdPFIzo=";
hash = "sha256-6CVVYBQWsEiFuJSeEiXAtsWuAKWBGrSFCT8xzCW5QrQ=";
};
build-system = with python3Packages; [ setuptools ];

View File

@@ -8,13 +8,13 @@
buildLua {
pname = "mpv-webm";
version = "0-unstable-2026-03-01";
version = "0-unstable-2026-09-12";
src = fetchFromGitHub {
owner = "ekisu";
repo = "mpv-webm";
rev = "8d703b49dffa954d19a61e3c61d19514607b2e0d";
hash = "sha256-Kl5LkdMcUtQAkx/hWvAjebvaptcURfDzOe5oMyBqY4I=";
rev = "7d0a5c45ed6b878ddb1a5b609bb92388b27849f8";
hash = "sha256-m9IoyRiYzbePGxf4WfcXM8uHljAnnBOS3VK4P4GFR98=";
};
passthru.updateScript = unstableGitUpdater {
# only "latest" tag pointing at HEAD

View File

@@ -1,5 +1,6 @@
{
fetchurl,
fetchpatch,
gitUpdater,
lib,
nixosTests,
@@ -167,6 +168,14 @@ stdenv.mkDerivation (finalAttrs: {
# Meson does not support using different directories during build and
# for installation like Autotools did with flags passed to make install.
./fix-install-paths.patch
# Fixes BPF build on powerpc64-linux w/ ELFv1-targeting glibc
# https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/2529
(fetchpatch {
name = "0001-networkmanager-bpf-Detect-ELF-ABI-version-on-ppc64.patch";
url = "https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/commit/3c28325b9c63386e5313ce006267144e7f63417a.patch";
hash = "sha256-SlyeykqL7Y11jEF+5l4aRXY2znHaSBhwV5lcmf88PGc=";
})
];
nativeBuildInputs = [

View File

@@ -32,7 +32,7 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "omp";
version = "18.1.17";
version = "18.1.19";
strictDeps = true;
__structuredAttrs = true;
@@ -41,12 +41,12 @@ stdenv.mkDerivation (finalAttrs: {
owner = "can1357";
repo = "oh-my-pi";
tag = "v${finalAttrs.version}";
hash = "sha256-2Pm47xHRvEQoOvWYFNtJhgJkueAThfrLYhBysjQCQoQ=";
hash = "sha256-FoUXv2pban2aK22MLB3YiOipxCs4V79pt6/pe5WaGD4=";
};
cargoDeps = rustPlatform.fetchCargoVendor {
inherit (finalAttrs) src;
hash = "sha256-89/hqvbgMeJLKZdzP+ZnJRjSXs1NoDu8hAQIdlNlDQM=";
hash = "sha256-6ZazYW0nsW717VTOdNpMWUvhfiZ5PY0LT70s7f98jLU=";
};
postPatch = ''
@@ -91,7 +91,7 @@ stdenv.mkDerivation (finalAttrs: {
# Prevents breaking symlinks in node_modules
dontFixup = true;
outputHash = "sha256-d6ygla6moNBSB6tB8tfQ35lrpB65IJRiMGqaTpw++gc=";
outputHash = "sha256-QAgvh3vPHc7RJzBF+w4tUcjGb7MHs2JFomEaT+1EcGw=";
outputHashMode = "recursive";
};

View File

@@ -26,13 +26,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "openimageio";
version = "3.1.16.0";
version = "3.1.17.0";
src = fetchFromGitHub {
owner = "AcademySoftwareFoundation";
repo = "OpenImageIO";
tag = "v${finalAttrs.version}";
hash = "sha256-6oeJHdMToAqPJs4po6QbKCu4Xqbi5nawNXT35Eckv2Q=";
hash = "sha256-wubIGLrp3FdYEWc61EyAV6lzG+HmOja/XTvqNgi8jMo=";
};
outputs = [

View File

@@ -3,36 +3,62 @@
stdenv,
fetchFromGitHub,
autoreconfHook,
docbook_xml_dtd_45,
docbook_xsl,
libtool,
libxslt,
pkg-config,
liburcu,
libuuid,
e2fsprogs,
nilfs-utils,
ntfs3g,
openssl,
xxhash,
zlib,
zstd,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "partclone";
version = "0.3.38";
version = "0.3.48";
src = fetchFromGitHub {
owner = "Thomas-Tsai";
repo = "partclone";
rev = finalAttrs.version;
sha256 = "sha256-lWnGi8giz7vzdBnuth55h0VMuNyCQaCclRqPJdm0I14=";
hash = "sha256-mN4hIIFBHCawpHq6qGcSmBTsuQk2/gngSgnXMka1HTA=";
};
nativeBuildInputs = [
autoreconfHook
docbook_xml_dtd_45
docbook_xsl
libtool
libxslt
pkg-config
];
postPatch = ''
substituteInPlace docs/Makefile.am \
--replace-fail 'http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl' \
'${docbook_xsl}/xml/xsl/docbook/manpages/docbook.xsl'
substituteInPlace docs/*.xml \
--replace-fail 'http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd' \
'${docbook_xml_dtd_45}/xml/dtd/docbook/docbookx.dtd'
'';
buildInputs = [
e2fsprogs
liburcu
libuuid
stdenv.cc.libc
nilfs-utils
ntfs3g
openssl
xxhash
zlib
zstd
(lib.getOutput "static" stdenv.cc.libc)
];

View File

@@ -14,16 +14,16 @@ let
in
rustPlatform.buildRustPackage.override { inherit stdenv; } (finalAttrs: {
pname = "pgdog";
version = "0.1.57";
version = "0.1.58";
src = fetchFromGitHub {
owner = "pgdogdev";
repo = "pgdog";
tag = "v${finalAttrs.version}";
hash = "sha256-eqF8lfxzn+7joKy/XP3iNvMWpb2t4dvezuXvnV4YTGg=";
hash = "sha256-Hw9U2WHMJEiC0gQGJmUr8/xehsYe9jr8cxFnbdgTWKw=";
};
cargoHash = "sha256-Q9IL8cV06dklpTqrWFyxKTqbsgur2TbEr6Hkv5V7fYE=";
cargoHash = "sha256-znrpe09PhC3Vn5iUP39/TBwCeYseBE5cLTxhrb02qps=";
# Hardcoded paths for C compiler and linker
postPatch = ''

View File

@@ -14,16 +14,16 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "pixi";
version = "0.78.0";
version = "0.80.0";
src = fetchFromGitHub {
owner = "prefix-dev";
repo = "pixi";
tag = "v${finalAttrs.version}";
hash = "sha256-FWSsfv8q+XpiyQHpDI7Vg3w2y2BWOgjqnTUiv+aTIIA=";
hash = "sha256-PeTSCk6b8GaEXlMWmHMGczIXpj72twXRd3vb8Sb0ZWs=";
};
cargoHash = "sha256-kOsAn851rYIbmNGEgFyaFjkz+ia52JUE1QkJ9dw60jc=";
cargoHash = "sha256-M6pP4xGeuJMzjKLbH3uIfLkfs6M0uztoea4GPTiDQ1E=";
nativeBuildInputs = [
pkg-config

View File

@@ -21,7 +21,6 @@
libxslt,
upower,
umockdev,
systemd,
python3,
nixosTests,
nix-update-script,
@@ -74,7 +73,6 @@ stdenv.mkDerivation (finalAttrs: {
buildInputs = [
bash-completion
libgudev
systemd
upower
glib
polkit

View File

@@ -6,13 +6,13 @@
buildGoModule (finalAttrs: {
pname = "protobuf-language-server";
version = "0.1.4";
version = "0.1.8";
src = fetchFromGitHub {
owner = "lasorda";
repo = "protobuf-language-server";
tag = "v${finalAttrs.version}";
hash = "sha256-tI89aP8EXZ73U0q7QMugT9/Ih1OnNstgm7ku71uBPxo=";
hash = "sha256-Agi3/xsGM+TvfYc/JGaa2AVXukaA9X3u17u8VJKBjRQ=";
};
vendorHash = "sha256-4nTpKBe7ekJsfQf+P6edT/9Vp2SBYbKz1ITawD3bhkI=";

View File

@@ -8,7 +8,7 @@
python3Packages.buildPythonApplication (finalAttrs: {
pname = "prowler";
version = "5.41.0";
version = "5.42.0";
pyproject = true;
__structuredAttrs = true;
@@ -17,7 +17,7 @@ python3Packages.buildPythonApplication (finalAttrs: {
owner = "prowler-cloud";
repo = "prowler";
tag = finalAttrs.version;
hash = "sha256-aWGMdpQXwxDXqYpil+MjlIRTZ9/KzxPGPtJ3eLyiTIY=";
hash = "sha256-vt6OtR7qqmulrVaB2YQnwA7Xzbm1QCEDx4YGEpUKeq8=";
};
postPatch = ''

View File

@@ -44,20 +44,20 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "rapidraw";
version = "1.6.2";
version = "1.6.3";
src = fetchFromGitHub {
owner = "CyberTimon";
repo = "RapidRAW";
tag = "v${finalAttrs.version}";
hash = "sha256-5jMjXTdBeukxk7e+ls7CdjIqmY14nZ9LlUj71fjvbrg=";
hash = "sha256-XzVfcwDEp5VZrqb1LNaWBpqGhUMFpF/BvfMn1cx5A1M=";
};
cargoHash = "sha256-iWff7FCWrhhbS0UntseJTCRtLr6ElB8wQWoV0ZndaOA=";
cargoHash = "sha256-++Xhd6fdTdtTJvojXwFC3LS/oXdQAWnKJgj4TACnxa8=";
npmDeps = fetchNpmDeps {
inherit (finalAttrs) src;
hash = "sha256-DXz+An1LzPiHM8rY+7KdrsieimAjwPYJBiGSa624SE0=";
hash = "sha256-P1YT5agK1hMVpe7pLXkWrK99g/uAA46ovF+mUe+xVhk=";
};
nativeBuildInputs = [

View File

@@ -7,13 +7,13 @@
stdenvNoCC.mkDerivation {
pname = "rkbin";
version = "0-unstable-2025-12-30";
version = "0-unstable-2026-06-26";
src = fetchFromGitHub {
owner = "rockchip-linux";
repo = "rkbin";
rev = "ecb4fcbe954edf38b3ae037d5de6d9f5bccf81f4";
hash = "sha256-U8d2cH6/TSXfBnLhh141A9wP/t6prFgwYMvwgXBf4vc=";
rev = "3e288fe814e059dd06833495f845cab04ac20a5c";
hash = "sha256-CgGTTGsR0ptrCffYw6A1iujOeQHvVEywqtiqTnxsZjw=";
};
installPhase = ''
@@ -24,10 +24,10 @@ stdenvNoCC.mkDerivation {
passthru = {
BL31_RK3568 = "${rkbin}/bin/rk35/rk3568_bl31_v1.46.elf";
BL31_RK3588 = "${rkbin}/bin/rk35/rk3588_bl31_v1.54.elf";
TPL_RK3566 = "${rkbin}/bin/rk35/rk3566_ddr_1056MHz_v1.25.bin";
TPL_RK3568 = "${rkbin}/bin/rk35/rk3568_ddr_1056MHz_v1.25.bin";
TPL_RK3588 = "${rkbin}/bin/rk35/rk3588_ddr_lp4_2112MHz_lp5_2400MHz_v1.21.bin";
BL31_RK3588 = "${rkbin}/bin/rk35/rk3588_bl31_v1.56.elf";
TPL_RK3566 = "${rkbin}/bin/rk35/rk3566_ddr_1056MHz_v1.26.bin";
TPL_RK3568 = "${rkbin}/bin/rk35/rk3568_ddr_1056MHz_v1.26.bin";
TPL_RK3588 = "${rkbin}/bin/rk35/rk3588_ddr_lp4_2112MHz_lp5_2400MHz_v1.24.bin";
};
meta = {

View File

@@ -7,19 +7,21 @@
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "samloader-rs";
version = "2.0.0";
version = "2.1.0";
src = fetchFromGitHub {
owner = "topjohnwu";
repo = "samloader-rs";
tag = finalAttrs.version;
hash = "sha256-vUoRO//RSPv0Z69nyeiwtFIN+5lkOjguR96KjsLpc5U=";
hash = "sha256-ObqatL1cu45KWQ3nL7lgxHjOpXSVQm6uqjyqSkZWMaA=";
};
cargoHash = "sha256-rqJ0/h/HDBlXQ7MGQspKXMSUEGaddkxRqdQmwSlfttc=";
cargoHash = "sha256-FOoL3D0IaZ+MQKLHv1v0g/FkZQeG5GgR4D7K/Xbx9wU=";
nativeBuildInputs = [ perl ];
checkFeatures = [ "mock" ];
passthru.updateScript = nix-update-script { };
meta = {

View File

@@ -39,7 +39,7 @@
soundfont-path ? "${soundfont-fluid}/share/soundfonts/FluidR3_GM2-2.sf2",
}:
let
version = "0.39.1";
version = "0.40.1";
buildType = "Release";
in
buildDotnetModule {
@@ -51,7 +51,7 @@ buildDotnetModule {
owner = "space-wizards";
repo = "SS14.Launcher";
tag = "v${version}";
hash = "sha256-u3tsPWAFMckWSHhiPqL50i9BMxR+VrLnpUSWGRRu9AA=";
hash = "sha256-d+pkz2N7yejZxDDh+w/EpL91zKb7ADR+wYQtO1sjKI0=";
fetchSubmodules = true;
};

View File

@@ -7,13 +7,13 @@
python3Packages.buildPythonApplication (finalAttrs: {
pname = "spec-kit";
version = "1.0.3";
version = "1.0.6";
src = fetchFromGitHub {
owner = "github";
repo = "spec-kit";
tag = "v${finalAttrs.version}";
hash = "sha256-TMe71eazczLdK3FLnfhkIdrrXM+CK3+39y21toD5/s4=";
hash = "sha256-e9/2lc80SLHVLpA1Hs7NceEflNjWACsHIamtuYTYNMQ=";
};
pyproject = true;

View File

@@ -18,14 +18,14 @@
buildGoModule (finalAttrs: {
pname = "spotiflac";
version = "7.2.0";
version = "7.2.2";
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "spotbye";
repo = "SpotiFLAC";
tag = "v${finalAttrs.version}";
hash = "sha256-T73zf/ji9wqUytVQbn8GswBAlZ/RUu8+xg6B6bhqxhU=";
hash = "sha256-bi8V//3xd2ScVaPDARjZgm4TC2vmDNr0bnfPBdk+MZo=";
};
nativeBuildInputs = [
@@ -53,7 +53,7 @@ buildGoModule (finalAttrs: {
sourceRoot = "${finalAttrs.src.name}/frontend";
pnpm = pnpm_10;
fetcherVersion = 3;
hash = "sha256-fAb+8IgtxfDRZeUJaEq0SMvfoUAkoMXQWfQSIEaTwy4=";
hash = "sha256-/E8YZGW4lnOMJGnNwp3Peua/TuWoGy6lij87SLl1jCA=";
};
pnpmRoot = "frontend";
};
@@ -88,7 +88,7 @@ buildGoModule (finalAttrs: {
runHook postInstall;
'';
vendorHash = "sha256-NRpuPFymdNeG1Wzeyis9k2V/GqbIu1M+nfag8GG7ILc=";
vendorHash = "sha256-B8FgP4w08imhrERyAbmLjvBIyb+5I05hhY2rF+uJoV4=";
desktopItems = [
(makeDesktopItem {

View File

@@ -7,18 +7,18 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "syswatch";
version = "0.11.0";
version = "0.14.1";
src = fetchFromGitHub {
owner = "matthart1983";
repo = "syswatch";
tag = "v${finalAttrs.version}";
hash = "sha256-BLl2A14CYTMXD5cjFwjhuiAo/WPIiyqfc2uGCRXXTKg=";
hash = "sha256-ROuPauHvrwXoDyYg0OZV2OtpuC9dTwhPuqU8+JDzTCw=";
};
__structuredAttrs = true;
cargoHash = "sha256-zZENTqVwL8au2C5LoXzpGF1EY9kTCHKV9pFV5+O5zJg=";
cargoHash = "sha256-jwWvZaU+mOeg80ImdTXDnu4219SXRiKlPzvpFBn1bbE=";
nativeCheckInputs = [ versionCheckHook ];

View File

@@ -24,7 +24,7 @@
buildGoModule (finalAttrs: {
pname = "tailscale";
version = "1.102.3";
version = "1.102.4";
outputs = [
"out"

View File

@@ -14,16 +14,16 @@
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "timr-tui";
version = "1.11.0";
version = "1.11.1";
src = fetchFromGitHub {
owner = "sectore";
repo = "timr-tui";
tag = "v${finalAttrs.version}";
hash = "sha256-/XsYDAvtkbGEtHz68ar2MqONAXyP3i5X0iZ08lnYOu4=";
hash = "sha256-ZudyEkYAwVQ7Q61B7ElkwHBs9V36+aTOGgA+Rvr/F7Q=";
};
cargoHash = "sha256-DnjKH1EnOY9YnApJDO4R0M7XhxYs5k1f4hoa3J3J32c=";
cargoHash = "sha256-1fGcVNjPs4UER9QVraUDX0twlm5hrbg7rzL7RjYZTEo=";
# Enable upstream "sound" feature when requested
buildFeatures = lib.optionals enableSound [ "sound" ];

View File

@@ -5,7 +5,7 @@
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "topcoat-cli";
version = "0.6.2";
version = "0.8.0";
__structuredAttrs = true;
@@ -13,10 +13,10 @@ rustPlatform.buildRustPackage (finalAttrs: {
owner = "tokio-rs";
repo = "topcoat";
tag = "v${finalAttrs.version}";
hash = "sha256-gslnny08zjnKN+2DDXoXWYqihwrgUvV9wRaZrAUF5l4=";
hash = "sha256-op1pZ5FQHqNNGg7utANADV55pngivhP7I/cLI/I20Us=";
};
cargoHash = "sha256-g11IsGMUcIzF+CC5sjIbX1pRpjmZCLynblaPWNvlelM=";
cargoHash = "sha256-PuPu2mArS4LeIfwcDAJrqGB9mAqlRdeCMeqCkd22UW4=";
cargoBuildFlags = [
"-p"

View File

@@ -2,6 +2,7 @@
lib,
fetchFromGitHub,
libffi,
nix-update-script,
openssl,
readline,
stdenv,
@@ -23,20 +24,20 @@ assert lib.elem lineEditingLibrary [
];
stdenv.mkDerivation (finalAttrs: {
pname = "trealla";
version = "2.106.1";
version = "3.9.39";
src = fetchFromGitHub {
owner = "trealla-prolog";
repo = "trealla";
rev = "v${finalAttrs.version}";
hash = "sha256-21moIBYPAH9MF6NBfZRrnKMuQsFpLI+gxxe0kkoLDII=";
hash = "sha256-yfulQuwR3DgZk7ZUrVdqs09uZOcRmrTkZuU45Sw/f/o=";
};
postPatch = ''
substituteInPlace Makefile \
--replace '-I/usr/local/include' "" \
--replace '-L/usr/local/lib' "" \
--replace 'GIT_VERSION :=' 'GIT_VERSION ?='
substituteInPlace GNUmakefile \
--replace-fail '-I/usr/local/include' "" \
--replace-fail '-I/usr/local/opt/libffi/include' "" \
--replace-fail '-L/usr/local/lib' ""
'';
nativeBuildInputs = [ xxd ];
@@ -50,20 +51,22 @@ stdenv.mkDerivation (finalAttrs: {
strictDeps = true;
env.LC_ALL = if stdenv.hostPlatform.isDarwin then "en_US.UTF-8" else "C.UTF-8";
makeFlags = [
"GIT_VERSION=\"v${finalAttrs.version}\""
"PREFIX=$(out)"
]
++ lib.optionals (lineEditingLibrary == "isocline") [ "ISOCLINE=1" ]
++ lib.optionals (!enableFFI) [ "NOFFI=1" ]
++ lib.optionals (!enableSSL) [ "NOSSL=1" ]
++ lib.optionals enableThreads [ "THREADS=1" ];
++ lib.optionals (!enableThreads) [ "NOTHREADS=1" ];
enableParallelBuilding = true;
installPhase = ''
runHook preInstall
install -Dm755 -t $out/bin tpl
runHook postInstall
postInstall = ''
find $out/share/trealla/library -type f \
\( -name '*.c' -o -name '*.d' -o -name '*.o' \) -delete
'';
doCheck = !valgrind.meta.broken;
@@ -71,6 +74,8 @@ stdenv.mkDerivation (finalAttrs: {
checkFlags = [ "test" ] ++ lib.optionals checkLeaks [ "leaks" ];
passthru = {
updateScript = nix-update-script { };
tests = {
version = testers.testVersion {
package = finalAttrs.finalPackage;

View File

@@ -46,13 +46,13 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "ultrastardx";
version = "2026.8.1";
version = "2026.9.0";
src = fetchFromGitHub {
owner = "UltraStar-Deluxe";
repo = "USDX";
rev = "v${finalAttrs.version}";
hash = "sha256-z6gEjXZwq4jSUEjhECo4E5AI3bMETilmvYzTW6OXN2M=";
hash = "sha256-fSSwMjX1Dk1o6XI06PPR8/Q22YY38Hz9spnU/WsUTA4=";
};
nativeBuildInputs = [

View File

@@ -2,7 +2,6 @@
lib,
stdenv,
fetchFromGitLab,
fetchpatch,
makeWrapper,
pkg-config,
libxslt,
@@ -30,8 +29,6 @@
&& stdenv.hostPlatform.emulatorAvailable buildPackages,
buildPackages,
gobject-introspection,
withSystemd ? lib.meta.availableOn stdenv.hostPlatform systemd,
systemd,
}:
assert withDocs -> withIntrospection;
@@ -109,9 +106,6 @@ stdenv.mkDerivation (finalAttrs: {
pp.packaging
]))
]
++ lib.optionals withSystemd [
systemd
]
++ lib.optionals useIMobileDevice [
libimobiledevice
];

View File

@@ -22,13 +22,13 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "vencord";
version = "1.15.4";
version = "1.15.5";
src = fetchFromGitHub {
owner = "Vendicated";
repo = "Vencord";
tag = "v${finalAttrs.version}";
hash = "sha256-GSCTNw4J6tiQ5rB6QURi0FLKzCkmzCJfPWEeGy1yfxQ=";
hash = "sha256-AiZjrbx2A3NMkbyKJBGiCB/zq7fIvWlhpAAcyPrtT7Q=";
};
patches = [ ./fix-deps.patch ];
@@ -47,7 +47,7 @@ stdenv.mkDerivation (finalAttrs: {
;
inherit pnpm;
fetcherVersion = 4;
hash = "sha256-Zn6No8EyGHUR36Av1VxGWD19tUMBxSUo3QPCPXzlx0U=";
hash = "sha256-LiAcWwGmZlpO+rr0tcMNpViBiBRhSHj+wvyHFIe32lw=";
};
nativeBuildInputs = [

View File

@@ -7,14 +7,14 @@
python3Packages.buildPythonApplication (finalAttrs: {
pname = "virtnbdbackup";
version = "2.49";
version = "2.53";
pyproject = true;
src = fetchFromGitHub {
owner = "abbbi";
repo = "virtnbdbackup";
tag = "v${finalAttrs.version}";
hash = "sha256-Z6lHU28pqO3Xf9470mVInJdv0hh/sgNPnMIt57WFbFk=";
hash = "sha256-+VMomIOHlwthKhQq5NCnOjs5Ak6iPLLhD0Hxk84FC1o=";
};
build-system = with python3Packages; [

View File

@@ -66,7 +66,7 @@
stdenv.mkDerivation rec {
pname = "vivaldi";
version = "8.1.4087.75";
version = "8.2.4133.47";
suffix =
{
@@ -79,8 +79,8 @@ stdenv.mkDerivation rec {
url = "https://downloads.vivaldi.com/stable/vivaldi-stable_${version}-1_${suffix}.deb";
hash =
{
aarch64-linux = "sha256-MyGnFbWXjbD5TzHzlXyV1Qg17dx/MjjNWRDRieqksCw=";
x86_64-linux = "sha256-nLfNB2SB3Z7PQ0gRXbegQ0JD6RHie2EVdQkuNLLUiZw=";
aarch64-linux = "sha256-oyS7p7B8kxRPl0KxXuWQBgEhIPkP36vI6MNDRfkl7UY=";
x86_64-linux = "sha256-St7C8XxA1PIegF1JDUoPHV9Q/UBuemKzcRfLQqWKX24=";
}
.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
};
@@ -172,10 +172,6 @@ stdenv.mkDerivation rec {
--set-rpath "${libPath}" \
opt/vivaldi/$f
done
for f in libGLESv2.so libqt5_shim.so libqt6_shim.so; do
patchelf --set-rpath "${libPath}" opt/vivaldi/$f
done
''
+ lib.optionalString proprietaryCodecs ''
ln -s ${vivaldi-ffmpeg-codecs}/lib/libffmpeg.so opt/vivaldi/libffmpeg.so.''${version%\.*\.*}

View File

@@ -1,20 +1,12 @@
diff --git a/warpgate-common/src/version.rs b/warpgate-common/src/version.rs
index 0e7985a..62c2b67 100644
index 31104706..ec201419 100644
--- a/warpgate-common/src/version.rs
+++ b/warpgate-common/src/version.rs
@@ -1,14 +1,3 @@
-use git_version::git_version;
-
pub const fn warpgate_version() -> &'static str {
- git_version!(
- args = [
- "--tags",
- "--always",
- "--dirty=-modified",
- "--match",
- "v[0-9]*"
- ],
@@ -9,6 +9,6 @@ pub const fn warpgate_version() -> &'static str {
"--match",
"v[0-9]*"
],
- fallback = "unknown"
- )
+ "v@version@"
+ fallback = "v@version@"
)
}

View File

@@ -7,20 +7,24 @@
openapi-generator-cli,
nixosTests,
nix-update-script,
perl,
withRDPLegacyTLSBackend ? false,
}:
rustPlatform.buildRustPackage (
finalAttrs:
let
warpgate-web = buildNpmPackage {
pname = "${finalAttrs.pname}-web";
webUi = buildNpmPackage {
pname = "warpgate-web";
version = finalAttrs.version;
src = finalAttrs.src;
sourceRoot = "${finalAttrs.src.name}/warpgate-web";
patches = [ ./web-ui-package-json.patch ];
patches = [
./web-ui-package-json.patch
];
npmDepsHash = "sha256-McQI5EmTfrbdcWnYRsoRHjhZphrZVaV/fN9i9MX8XF0=";
npmDepsHash = "sha256-BfmYRfsxdJZuS/c7bGccXXYktsjQ76mjwTFKLvNsGAg=";
nativeBuildInputs = [ openapi-generator-cli ];
@@ -35,45 +39,51 @@ rustPlatform.buildRustPackage (
in
{
pname = "warpgate";
version = "0.26.1";
version = "0.28.4";
src = fetchFromGitHub {
owner = "warp-tech";
repo = "warpgate";
tag = "v${finalAttrs.version}";
hash = "sha256-1Dg7bzhBQNe+u90Tw+kcmVaxV5IK0/t505HZr18qP5I=";
hash = "sha256-BWfkStxPi4LucoADK1YwRZaQwObPtq08eEVK9XG7vfU=";
};
cargoHash = "sha256-A5rRLrqlAZV/3ID8F+wUO8OP3Ocivg7vYrNDiMqRKik=";
cargoHash = "sha256-TVNOCMmL8ICtQImA39jhlfCnghvV90NlRBdSol2MGtY=";
patches = [
(replaceVars ./hardcode-version.patch { inherit (finalAttrs) version; })
./remove-nightly-rustflags.patch
];
env.RUSTFLAGS = "--cfg tokio_unstable";
env = {
# uses nightly feature: gethostname, once_cell_try
RUSTC_BOOTSTRAP = true;
RUSTFLAGS = "--cfg tokio_unstable";
};
nativeBuildInputs = lib.optional withRDPLegacyTLSBackend perl;
buildFeatures = [
"postgres"
"mysql"
"sqlite"
];
]
++ lib.optional withRDPLegacyTLSBackend "rdp-openssl-tls";
preBuild = ''
rm -r .cargo/
ln -rs "${warpgate-web}" warpgate-web/dist
rm -rf .cargo/
ln -rs "${webUi}" warpgate-web/dist
'';
# skip check, project included tests require python stuff and docker
doCheck = false;
passthru = {
inherit warpgate-web;
inherit webUi;
tests = {
inherit (nixosTests) warpgate;
};
updateScript = nix-update-script {
extraArgs = [ "--subpackage=warpgate-web" ];
extraArgs = [ "--subpackage=webUi" ];
};
};

View File

@@ -1,31 +0,0 @@
diff --git a/Cargo.toml b/Cargo.toml
index 0e92acb..d187ebc 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -1,5 +1,3 @@
-cargo-features = ["profile-rustflags"]
-
[workspace]
members = [
"warpgate",
@@ -160,20 +158,2 @@
[profile.coverage]
inherits = "dev"
-
-[profile.dev.package.aws-sdk-ec2]
-hint-mostly-unused = true
-
-[profile.release.package.aws-sdk-ec2]
-hint-mostly-unused = true
-
-[profile.dev.package.aws-sdk-rds]
-hint-mostly-unused = true
-
-[profile.release.package.aws-sdk-rds]
-hint-mostly-unused = true
-
-[profile.dev.package.aws-sdk-eks]
-hint-mostly-unused = true
-
-[profile.release.package.aws-sdk-eks]
-hint-mostly-unused = true

View File

@@ -1,15 +1,15 @@
diff --git a/package.json b/package.json
index 0f1d768..c070a59 100644
index d8734a74..513d5606 100644
--- a/package.json
+++ b/package.json
@@ -12,8 +12,8 @@
"postinstall": "npm run openapi:client:gateway && npm run openapi:client:admin",
"openapi:schema:gateway": "cargo run -p warpgate-protocol-http > src/gateway/lib/openapi-schema.json",
"openapi:schema:admin": "cargo run -p warpgate-admin > src/admin/lib/openapi-schema.json",
- "openapi:client:gateway": "openapi-generator-cli generate -g typescript-fetch -i src/gateway/lib/openapi-schema.json -o src/gateway/lib/api-client -p npmName=warpgate-gateway-api-client -p useSingleRequestParameter=true && cd src/gateway/lib/api-client && npm i typescript@5 && npm i && npx tsc --target esnext --module esnext && rm -rf src tsconfig.json",
- "openapi:client:admin": "openapi-generator-cli generate -g typescript-fetch -i src/admin/lib/openapi-schema.json -o src/admin/lib/api-client -p npmName=warpgate-admin-api-client -p useSingleRequestParameter=true && cd src/admin/lib/api-client && npm i typescript@5 && npm i && npx tsc --target esnext --module esnext && rm -rf src tsconfig.json",
+ "openapi:client:gateway": "openapi-generator-cli generate -g typescript-fetch -i src/gateway/lib/openapi-schema.json -o src/gateway/lib/api-client -p npmName=warpgate-gateway-api-client -p useSingleRequestParameter=true && ln -sr node_modules src/gateway/lib/api-client/node_modules && cd src/gateway/lib/api-client && npx tsc --target esnext --moduleResolution node && npx tsc -p tsconfig.esm.json --target esnext --moduleResolution node && rm -rf src tsconfig.json tsconfig.esm.json",
+ "openapi:client:admin": "openapi-generator-cli generate -g typescript-fetch -i src/admin/lib/openapi-schema.json -o src/admin/lib/api-client -p npmName=warpgate-admin-api-client -p useSingleRequestParameter=true && ln -sr node_modules src/admin/lib/api-client/node_modules && cd src/admin/lib/api-client && npx tsc --target esnext --moduleResolution node && npx tsc -p tsconfig.esm.json --target esnext --moduleResolution node && rm -rf src tsconfig.json tsconfig.esm.json",
"openapi:tests-sdk": "openapi-generator-cli generate -g python -i src/admin/lib/openapi-schema.json -o ../tests/api_sdk",
"openapi": "npm run openapi:schema:admin && npm run openapi:schema:gateway && npm run openapi:client:admin && npm run openapi:client:gateway"
},
@@ -16,8 +16,8 @@
"postinstall": "npm run openapi:client:gateway && npm run openapi:client:admin",
"openapi:schema:gateway": "cargo run -p warpgate-protocol-http > src/gateway/lib/openapi-schema.json",
"openapi:schema:admin": "cargo run -p warpgate-admin > src/admin/lib/openapi-schema.json",
- "openapi:client:gateway": "openapi-generator-cli generate -g typescript-fetch -i src/gateway/lib/openapi-schema.json -o src/gateway/lib/api-client -p npmName=warpgate-gateway-api-client -p useSingleRequestParameter=true && cd src/gateway/lib/api-client && npm i typescript@5 && npm i && npx tsc --target esnext --module esnext && rm -rf src tsconfig.json",
- "openapi:client:admin": "openapi-generator-cli generate -g typescript-fetch -i src/admin/lib/openapi-schema.json -o src/admin/lib/api-client -p npmName=warpgate-admin-api-client -p useSingleRequestParameter=true && cd src/admin/lib/api-client && npm i typescript@5 && npm i && npx tsc --target esnext --module esnext && rm -rf src tsconfig.json",
+ "openapi:client:gateway": "openapi-generator-cli generate -g typescript-fetch -i src/gateway/lib/openapi-schema.json -o src/gateway/lib/api-client -p npmName=warpgate-gateway-api-client -p useSingleRequestParameter=true && ln -sr node_modules src/gateway/lib/api-client/node_modules && cd src/gateway/lib/api-client && npx tsc --target esnext --moduleResolution node && npx tsc -p tsconfig.esm.json --target esnext --moduleResolution node && rm -rf src tsconfig.json tsconfig.esm.json",
+ "openapi:client:admin": "openapi-generator-cli generate -g typescript-fetch -i src/admin/lib/openapi-schema.json -o src/admin/lib/api-client -p npmName=warpgate-admin-api-client -p useSingleRequestParameter=true && ln -sr node_modules src/admin/lib/api-client/node_modules && cd src/admin/lib/api-client && npx tsc --target esnext --moduleResolution node && npx tsc -p tsconfig.esm.json --target esnext --moduleResolution node && rm -rf src tsconfig.json tsconfig.esm.json",
"openapi:tests-sdk": "openapi-generator-cli generate -g python -i src/admin/lib/openapi-schema.json -o ../tests/api_sdk",
"openapi": "npm run openapi:schema:admin && npm run openapi:schema:gateway && npm run openapi:client:admin && npm run openapi:client:gateway"
},

View File

@@ -19,13 +19,13 @@
}:
stdenv.mkDerivation (finalAttrs: {
pname = "wealthfolio";
version = "3.7.0";
version = "3.8.0";
src = fetchFromGitHub {
owner = "wealthfolio";
repo = "wealthfolio";
rev = "v${finalAttrs.version}";
hash = "sha256-GsI2TrPXEiHKUnUxNNmYf2EveWlg5PJBGh5TYILK0yc=";
hash = "sha256-5CqLHnwBzqA+yf/sQM2ie3xuO+5aM5EDA0bhZ6r1VIM=";
};
pnpmDeps = fetchPnpmDeps {
@@ -45,7 +45,7 @@ stdenv.mkDerivation (finalAttrs: {
src
cargoRoot
;
hash = "sha256-vnmhaAoF3O5N+y3HpYZz+2j/WU1HAA5uyKtxLCJBqA4=";
hash = "sha256-PFMmpQhQubMzomvLWMJZrriH9emwEzO/rTFCovzFt6w=";
};
nativeBuildInputs = [

View File

@@ -3,44 +3,49 @@
stdenv,
fetchFromGitHub,
cmake,
SDL2,
SDL2_net,
pkg-config,
sdl3,
openal,
libsndfile,
fluidsynth,
alsa-lib,
libxmp,
libebur128,
libspng,
miniz,
python3,
yyjson,
discord-rpc,
nix-update-script,
versionCheckHook,
withDiscordRpc ? true,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "woof-doom";
version = "15.3.0";
version = "16.0.0";
src = fetchFromGitHub {
owner = "fabiangreffrath";
repo = "woof";
tag = "woof_${finalAttrs.version}";
hash = "sha256-G9exAJivfZnT2eWQhFYT8ZVRUU1QT0VAZF1CDCXmJ04=";
hash = "sha256-YiMLaAfMmLBLG5Zhl7hAhHVSWpUFUqH/CR4G3jwCFHk=";
};
nativeBuildInputs = [
cmake
pkg-config
python3
];
buildInputs = [
SDL2
SDL2_net
sdl3
fluidsynth
libsndfile
libspng
libxmp
libebur128
miniz
openal
yyjson
]
@@ -49,12 +54,16 @@ stdenv.mkDerivation (finalAttrs: {
]
++ lib.optional withDiscordRpc discord-rpc;
__structuredAttrs = true;
strictDeps = true;
cmakeFlags = [
(lib.cmakeBool "WITH_DISCORD_RPC" withDiscordRpc)
];
doInstallCheck = true;
nativeInstallCheckInputs = [ versionCheckHook ];
passthru.updateScript = nix-update-script {
extraArgs = [
"--version-regex"

View File

@@ -9,13 +9,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "wtf";
version = "0.5.7";
version = "0.5.8";
src = fetchFromGitHub {
owner = "0vercl0k";
repo = "wtf";
tag = "v${finalAttrs.version}";
hash = "sha256-lfPx9RQEW457VQkDbvu/D9EFZrdNLz2ToQ9dfa7+tzY=";
hash = "sha256-d2Gh70FG3maAZ9JV6AxH0Jkm5Eb2hONw5236AqPUBFY=";
};
nativeBuildInputs = [

View File

@@ -2,6 +2,7 @@
lib,
stdenv,
buildGoModule,
buildNpmPackage,
fetchFromGitHub,
versionCheckHook,
nix-update-script,
@@ -10,15 +11,30 @@
buildGoModule (finalAttrs: {
pname = "yarr";
version = "2.6";
version = "2.8";
src = fetchFromGitHub {
owner = "nkanaev";
repo = "yarr";
rev = "v${finalAttrs.version}";
hash = "sha256-D/049qH6CFNL7MY5e54guA9i84pbAwGf2UPHnVQWCkU=";
tag = "v${finalAttrs.version}";
hash = "sha256-9JzwuDaU/dV9SXBL5cAiDl0lehfFZMnClYS94dlUh88=";
};
assets = buildNpmPackage {
pname = "${finalAttrs.pname}-assets";
inherit (finalAttrs) version src;
npmDepsHash = "sha256-1WUzvlllmQhtJ2k2rw+SzBu5ktwIFaATMSNZWq9EU0k=";
installPhase = ''
runHook preInstall
cp -r src/assets/static "$out"
runHook postInstall
'';
};
postPatch = ''
cp ${finalAttrs.assets}/bundle.{css,js} src/assets/static
'';
vendorHash = null;
ldflags = [
@@ -31,16 +47,21 @@ buildGoModule (finalAttrs: {
tags = [
"sqlite_foreign_keys"
"sqlite_json"
"sqlite_fts5"
];
doInstallCheck = true;
nativeInstallCheckInputs = [ versionCheckHook ];
checkFlags = [ "-short" ]; # skip docker tests
passthru = {
updateScript = nix-update-script { };
tests = lib.optionalAttrs stdenv.hostPlatform.isLinux nixosTests.yarr;
};
__darwinAllowLocalNetworking = true;
meta = {
description = "Yet another rss reader";
mainProgram = "yarr";

View File

@@ -9,11 +9,11 @@
stdenv.mkDerivation (finalAttrs: {
pname = "kotlin";
version = "2.4.10";
version = "2.4.20";
src = fetchurl {
url = "https://github.com/JetBrains/kotlin/releases/download/v${finalAttrs.version}/kotlin-compiler-${finalAttrs.version}.zip";
sha256 = "sha256-Rz3WbHo+9LGCBls9pnBGbBvydzqduw7Yszo5/p1Ph20=";
sha256 = "sha256-WenKdMeQTvLBIrEhFJN2c8zOaN6CCmY/DtZsz4eZ4Lc=";
};
propagatedBuildInputs = [ jre ];

View File

@@ -102,7 +102,10 @@
withKvazaar ? withFullDeps, # HEVC encoding
withLadspa ? withFullDeps, # LADSPA audio filtering
withLc3 ? withFullDeps && lib.versionAtLeast version "7.1", # LC3 de/encoding
withLcevcdec ? withFullDeps && lib.versionAtLeast version "7.1", # LCEVC decoding
withLcevcdec ?
withFullDeps
&& lib.versionAtLeast version "7.1"
&& lib.meta.availableOn stdenv.hostPlatform lcevcdec, # LCEVC decoding
withLcms2 ? withFullDeps, # ICC profile support via lcms2
withLzma ? withHeadlessDeps, # xz-utils
withMetal ? false, # Unfree and requires manual downloading of files

Some files were not shown because too many files have changed in this diff Show More