Merge staging-next into staging

This commit is contained in:
nixpkgs-ci[bot] 2025-06-12 18:05:58 +00:00 committed by GitHub
commit c3c7187bcf
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
108 changed files with 2692 additions and 1323 deletions

View File

@ -56,6 +56,7 @@
/pkgs/build-support/cc-wrapper @Ericson2314
/pkgs/build-support/bintools-wrapper @Ericson2314
/pkgs/build-support/setup-hooks @Ericson2314
/pkgs/build-support/setup-hooks/arrayUtilities @ConnorBaker
/pkgs/build-support/setup-hooks/auto-patchelf.sh @layus
/pkgs/by-name/au/auto-patchelf @layus

View File

@ -115,8 +115,8 @@ All new projects should use the CUDA redistributables available in [`cudaPackage
### Updating supported compilers and GPUs {#updating-supported-compilers-and-gpus}
1. Update `nvccCompatibilities` in `pkgs/development/cuda-modules/_cuda/data/nvcc.nix` to include the newest release of NVCC, as well as any newly supported host compilers.
2. Update `cudaCapabilityToInfo` in `pkgs/development/cuda-modules/_cuda/data/cuda.nix` to include any new GPUs supported by the new release of CUDA.
1. Update `nvccCompatibilities` in `pkgs/development/cuda-modules/_cuda/db/bootstrap/nvcc.nix` to include the newest release of NVCC, as well as any newly supported host compilers.
2. Update `cudaCapabilityToInfo` in `pkgs/development/cuda-modules/_cuda/db/bootstrap/cuda.nix` to include any new GPUs supported by the new release of CUDA.
### Updating the CUDA Toolkit runfile installer {#updating-the-cuda-toolkit}

View File

@ -3724,6 +3724,13 @@
githubId = 92804487;
keys = [ { fingerprint = "58A2 81E6 2FBD 6E4E 664C B603 7B4D 2A02 BB0E C28C"; } ];
};
bricklou = {
name = "Bricklou";
email = "louis13.bailleau@gmail.com";
github = "bricklou";
githubId = 15181236;
keys = [ { fingerprint = "AE1E 3B80 7727 C974 B972 AB3C C324 01C3 BF52 1179"; } ];
};
britter = {
name = "Benedikt Ritter";
email = "beneritter@gmail.com";
@ -3916,15 +3923,14 @@
github = "c4f3z1n";
githubId = 22820003;
};
c4thebomb = {
c4patino = {
name = "Ceferino Patino";
email = "c4patino@gmail.com";
github = "c4thebomb";
github = "c4patino";
githubId = 79673111;
keys = [
{
fingerprint = "EA60 D516 A926 7532 369D 3E67 E161 DF22 9EC1 280E";
}
{ fingerprint = "EA60 D516 A926 7532 369D 3E67 E161 DF22 9EC1 280E"; }
{ fingerprint = "D088 A5AF C45B 78D1 CD4F 457C 6957 B3B6 46F2 BB4E"; }
];
};
caarlos0 = {

View File

@ -111,6 +111,14 @@ in
};
};
# DNS fails for QEMU user networking (SLiRP) on macOS. See:
#
# https://github.com/utmapp/UTM/issues/2353
#
# This works around that by using a public DNS server other than the DNS
# server that QEMU provides (normally 10.0.2.3)
networking.nameservers = [ "8.8.8.8" ];
# The linux builder is a lightweight VM for remote building; not evaluation.
nix.channel.enable = false;

View File

@ -1,76 +1,178 @@
{
name = "zrepl";
nodes.host =
{ pkgs, ... }:
{
config = {
# Prerequisites for ZFS and tests.
boot.supportedFilesystems = [ "zfs" ];
environment.systemPackages = [ pkgs.zrepl ];
networking.hostId = "deadbeef";
services.zrepl = {
enable = true;
settings = {
# Enable Prometheus output for status assertions.
global.monitoring = [
{
type = "prometheus";
listen = ":9811";
}
];
# Create a periodic snapshot job for an ephemeral zpool.
jobs = [
{
name = "snap_test";
type = "snap";
nodes = {
source =
{ nodes, pkgs, ... }:
{
config = {
# Prerequisites for ZFS and tests.
virtualisation.emptyDiskImages = [
2048
];
filesystems."test" = true;
snapshotting = {
type = "periodic";
prefix = "zrepl_";
interval = "1s";
};
boot.supportedFilesystems = [ "zfs" ];
environment.systemPackages = [
pkgs.parted
pkgs.zrepl
];
networking.firewall.allowedTCPPorts = [ 8888 ];
networking.hostId = "deadbeef";
services.zrepl = {
enable = true;
settings = {
# Enable Prometheus output for status assertions.
global.monitoring = [
{
type = "prometheus";
listen = ":9811";
}
];
# Create a periodic snapshot job for an ephemeral zpool.
jobs = [
{
name = "snapshots";
type = "snap";
pruning.keep = [
{
type = "last_n";
count = 8;
}
];
}
];
filesystems."tank/data" = true;
snapshotting = {
type = "periodic";
prefix = "zrepl_";
interval = "10s";
};
pruning.keep = [
{
type = "last_n";
count = 8;
}
];
}
{
name = "backup-target";
type = "source";
serve = {
type = "tcp";
listen = ":8888";
clients = {
"${nodes.target.networking.primaryIPAddress}" = "${nodes.target.networking.hostName}";
"${nodes.target.networking.primaryIPv6Address}" = "${nodes.target.networking.hostName}";
};
};
filesystems."tank/data" = true;
# Snapshots are handled by the separate snap job
snapshotting = {
type = "manual";
};
}
];
};
};
};
};
};
target =
{ pkgs, ... }:
{
config = {
# Prerequisites for ZFS and tests.
virtualisation.emptyDiskImages = [
2048
];
boot.supportedFilesystems = [ "zfs" ];
environment.systemPackages = [
pkgs.parted
pkgs.zrepl
];
networking.hostId = "deadd0d0";
services.zrepl = {
enable = true;
settings = {
# Enable Prometheus output for status assertions.
global.monitoring = [
{
type = "prometheus";
listen = ":9811";
}
];
jobs = [
{
name = "source-pull";
type = "pull";
connect = {
type = "tcp";
address = "source:8888";
};
root_fs = "tank/zrepl/source";
interval = "15s";
recv = {
placeholder = {
encryption = "off";
};
};
pruning = {
keep_sender = [
{
type = "regex";
regex = ".*";
}
];
keep_receiver = [
{
type = "grid";
grid = "1x1h(keep=all) | 24x1h";
regex = "^zrepl_";
}
];
};
}
];
};
};
};
};
};
testScript = ''
start_all()
with subtest("Wait for zrepl and network ready"):
host.systemctl("start network-online.target")
host.wait_for_unit("network-online.target")
host.wait_for_unit("zrepl.service")
for machine in source, target:
machine.systemctl("start network-online.target")
machine.wait_for_unit("network-online.target")
machine.wait_for_unit("zrepl.service")
with subtest("Create test zpool"):
# ZFS requires 64MiB minimum pool size.
host.succeed("fallocate -l 64MiB /root/zpool.img")
host.succeed("zpool create test /root/zpool.img")
with subtest("Create tank zpool"):
for machine in source, target:
machine.succeed(
"parted --script /dev/vdb mklabel gpt",
"zpool create tank /dev/vdb",
)
with subtest("Check for completed zrepl snapshot"):
# Create ZFS datasets
source.succeed("zfs create tank/data")
target.succeed("zfs create -p tank/zrepl/source")
with subtest("Check for completed zrepl snapshot on target"):
# zrepl periodic snapshot job creates a snapshot with this prefix.
host.wait_until_succeeds("zfs list -t snapshot | grep -q zrepl_")
target.wait_until_succeeds("zfs list -t snapshot | grep -q tank/zrepl/source/tank/data@zrepl_")
with subtest("Check for completed zrepl bookmark on source"):
source.wait_until_succeeds("zfs list -t bookmark | grep -q tank/data#zrepl_")
with subtest("Verify HTTP monitoring server is configured"):
out = host.succeed("curl -f localhost:9811/metrics")
out = source.succeed("curl -f localhost:9811/metrics")
assert (
"zrepl_start_time" in out
), "zrepl start time metric was not found in Prometheus output"
assert (
"zrepl_zfs_snapshot_duration_count{filesystem=\"test\"}" in out
), "zrepl snapshot counter for test was not found in Prometheus output"
"zrepl_zfs_snapshot_duration_count{filesystem=\"tank/data\"}" in out
), "zrepl snapshot counter for tank/data was not found in Prometheus output"
'';
}

View File

@ -3350,8 +3350,8 @@ let
mktplcRef = {
name = "vscode-kubernetes-tools";
publisher = "ms-kubernetes-tools";
version = "1.3.23";
hash = "sha256-8s1fuuTwUPd1Z32EqZNloD50KaFlPOxlvMmo5D6NaE4=";
version = "1.3.24";
hash = "sha256-LO8WWLxvLZKSpQx+iLR8RpRxnck0oZU/A0WzEeDPgyQ=";
};
meta = {
license = lib.licenses.mit;

View File

@ -41,11 +41,13 @@ mkLibretroCore {
})
];
extraNativeBuildInputs = [
nasm
];
extraBuildInputs = [
libGLU
libGL
libpng
nasm
xorg.libX11
];
makefile = "Makefile";

View File

@ -2,7 +2,7 @@
lib,
alsa-lib,
fetchFromGitHub,
gcc12Stdenv,
fetchpatch2,
libGL,
libGLU,
mkLibretroCore,
@ -21,6 +21,15 @@ mkLibretroCore {
hash = "sha256-EGE3NuO0gpZ8MKPypH8rFwJiv4QsdKuIyLKVuKTcvws=";
};
patches = [
(fetchpatch2 {
# https://github.com/libretro/same_cdi/pull/19
name = "Fixes_compilation_errors_as_per_issue_9.patch";
url = "https://github.com/libretro/same_cdi/commit/bf3212315546cdd514118a4f3ea764fd9c401091.patch?full_index=1";
hash = "sha256-1vrMxnRtEWUt+6I/4PSfCPDIUAGKkXFd2UVr9473ngo=";
})
];
extraNativeBuildInputs = [ python3 ];
extraBuildInputs = [
alsa-lib
@ -29,9 +38,6 @@ mkLibretroCore {
portaudio
xorg.libX11
];
# FIXME = build fail with GCC13:
# error = 'uint8_t' in namespace 'std' does not name a type; did you mean 'wint_t'?
stdenv = gcc12Stdenv;
meta = {
description = "SAME_CDI is a libretro core to play CD-i games";

View File

@ -4,7 +4,7 @@
}:
lib.makeScope newScope (self: {
mkLibretroCore = self.callPackage ./mkLibretroCore.nix;
mkLibretroCore = self.callPackage ./mkLibretroCore.nix { };
atari800 = self.callPackage ./cores/atari800.nix { };

View File

@ -6,96 +6,93 @@
retroarch-bare,
unstableGitUpdater,
zlib,
# Params
core,
makefile ? "Makefile.libretro",
extraBuildInputs ? [ ],
extraNativeBuildInputs ? [ ],
## Location of resulting RetroArch core on $out
libretroCore ? "/lib/retroarch/cores",
## The core filename is derived from the core name
## Setting `normalizeCore` to `true` will convert `-` to `_` on the core filename
normalizeCore ? true,
...
}@args:
}:
let
d2u = if normalizeCore then (lib.replaceStrings [ "-" ] [ "_" ]) else (x: x);
coreDir = placeholder "out" + libretroCore;
coreFilename = "${d2u core}_libretro${stdenv.hostPlatform.extensions.sharedLibrary}";
mainProgram = "retroarch-${core}";
extraArgs = builtins.removeAttrs args [
"lib"
"stdenv"
"makeWrapper"
"retroarch-bare"
"unstableGitUpdater"
"zlib"
lib.extendMkDerivation {
constructDrv = stdenv.mkDerivation;
excludeDrvArgNames = [
"core"
"extraBuildInputs"
"extraNativeBuildInputs"
"libretroCore"
"makefile"
"normalizeCore"
"passthru"
"meta"
];
in
stdenv.mkDerivation (
{
pname = "libretro-${core}";
buildInputs = [ zlib ] ++ extraBuildInputs;
nativeBuildInputs = [ makeWrapper ] ++ extraNativeBuildInputs;
extendDrvArgs =
finalAttrs:
{
core,
enableParallelBuilding ? true,
extraBuildInputs ? [ ],
extraNativeBuildInputs ? [ ],
makeFlags ? [ ],
makefile ? "Makefile.libretro",
meta ? { },
passthru ? { },
strictDeps ? true,
## Location of resulting RetroArch core on $out
libretroCore ? "/lib/retroarch/cores",
## The core filename is derived from the core name
## Setting `normalizeCore` to `true` will convert `-` to `_` on the core filename
normalizeCore ? true,
...
}:
let
d2u = if normalizeCore then (lib.replaceStrings [ "-" ] [ "_" ]) else (x: x);
coreDir = placeholder "out" + libretroCore;
coreFilename = "${d2u core}_libretro${stdenv.hostPlatform.extensions.sharedLibrary}";
mainProgram = "retroarch-${core}";
in
{
pname = "libretro-${core}";
inherit makefile;
buildInputs = [ zlib ] ++ extraBuildInputs;
nativeBuildInputs = [ makeWrapper ] ++ extraNativeBuildInputs;
makeFlags = [
"platform=${
{
linux = "unix";
darwin = "osx";
windows = "win";
}
.${stdenv.hostPlatform.parsed.kernel.name} or stdenv.hostPlatform.parsed.kernel.name
}"
"ARCH=${
{
armv7l = "arm";
armv6l = "arm";
aarch64 = "arm64";
i686 = "x86";
}
.${stdenv.hostPlatform.parsed.cpu.name} or stdenv.hostPlatform.parsed.cpu.name
}"
] ++ (args.makeFlags or [ ]);
inherit enableParallelBuilding makefile strictDeps;
installPhase = ''
runHook preInstall
makeFlags = [
"platform=${
{
linux = "unix";
darwin = "osx";
windows = "win";
}
.${stdenv.hostPlatform.parsed.kernel.name} or stdenv.hostPlatform.parsed.kernel.name
}"
"ARCH=${
{
armv7l = "arm";
armv6l = "arm";
aarch64 = "arm64";
i686 = "x86";
}
.${stdenv.hostPlatform.parsed.cpu.name} or stdenv.hostPlatform.parsed.cpu.name
}"
] ++ makeFlags;
install -Dt ${coreDir} ${coreFilename}
makeWrapper ${retroarch-bare}/bin/retroarch $out/bin/${mainProgram} \
--add-flags "-L ${coreDir}/${coreFilename}"
installPhase = ''
runHook preInstall
runHook postInstall
'';
install -Dt ${coreDir} ${coreFilename}
makeWrapper ${retroarch-bare}/bin/retroarch $out/bin/${mainProgram} \
--add-flags "-L ${coreDir}/${coreFilename}"
enableParallelBuilding = true;
runHook postInstall
'';
passthru = {
inherit core libretroCore;
# libretro repos sometimes has a fake tag like "Current", ignore
# it by setting hardcodeZeroVersion
updateScript = unstableGitUpdater { hardcodeZeroVersion = true; };
} // (args.passthru or { });
passthru = {
inherit core libretroCore;
# libretro repos sometimes has a fake tag like "Current", ignore
# it by setting hardcodeZeroVersion
updateScript = unstableGitUpdater { hardcodeZeroVersion = true; };
} // passthru;
meta = {
inherit mainProgram;
inherit (retroarch-bare.meta) platforms;
homepage = "https://www.libretro.com/";
teams = [ lib.teams.libretro ];
} // (args.meta or { });
}
// extraArgs
)
meta = {
inherit mainProgram;
inherit (retroarch-bare.meta) platforms;
teams = [ lib.teams.libretro ];
} // meta;
};
}

View File

@ -9,14 +9,14 @@
python3Packages.buildPythonApplication rec {
pname = "MeerK40t";
version = "0.9.7030";
version = "0.9.7051";
pyproject = true;
src = fetchFromGitHub {
owner = "meerk40t";
repo = pname;
tag = version;
hash = "sha256-3UO2M4mDzRdzhS+H2gyzJo5W4JWGK+qt1Gg9LHGmdOY=";
hash = "sha256-v3lwFl4Qls+NzR2rYwNF8PyFTH0nNcLlF/uwc0h3Pc0=";
};
nativeBuildInputs =

View File

@ -2,7 +2,7 @@
(callPackage ./generic.nix { }) {
channel = "edge";
version = "25.5.4";
sha256 = "0hyjhcb36qbsigc0knf4spyal0djijln1w5cdjrrpwx58jzjhzj8";
vendorHash = "sha256-DNR2qLTai7BOOovbd9MfQ1ZUUehkD9WQ/UJo+MDdjSg=";
version = "25.6.1";
sha256 = "0lpf9f5bj6x8b21xak6dzwscj0w9jcdvz83fl6nymy8z8y0dybq7";
vendorHash = "sha256-ePioPHA9gps76VncdPkDEDE3sLUlrCxr7CFsXqoR6KM=";
}

View File

@ -164,7 +164,7 @@ mkDerivation rec {
jagajaga
jraygauthier
gador
c4thebomb
c4patino
];
};
}

View File

@ -4,16 +4,28 @@
python3,
fetchFromGitHub,
qt6,
writeShellScriptBin,
}:
let
# Matches the pyside6-uic and pyside6-rcc implementations
# https://code.qt.io/cgit/pyside/pyside-setup.git/tree/sources/pyside-tools/pyside_tool.py?id=9b310d4c0654a244147766e382834b5e8bdeb762#n90
pyside-tools-uic = writeShellScriptBin "pyside6-uic" ''
exec ${qt6.qtbase}/libexec/uic -g python "$@"
'';
pyside-tools-rcc = writeShellScriptBin "pyside6-rcc" ''
exec ${qt6.qtbase}/libexec/rcc -g python "$@"
'';
in
python3.pkgs.buildPythonApplication rec {
pname = "nanovna-saver";
version = "0.6.8";
version = "0.7.3";
pyproject = true;
src = fetchFromGitHub {
owner = "NanoVNA-Saver";
repo = pname;
tag = "v${version}";
sha256 = "sha256-XGm3y0C0bFqKbh2ImbYTKOKSYFJ728mE/1N78/WPJqo=";
sha256 = "sha256-Asx4drb9W2NobdgOlbgdm1aAzB69hnIWvOM915F7sgA=";
};
nativeBuildInputs = [
@ -28,6 +40,7 @@ python3.pkgs.buildPythonApplication rec {
scipy
pyqt6
pyserial
pyside6
numpy
setuptools
setuptools-scm
@ -38,6 +51,12 @@ python3.pkgs.buildPythonApplication rec {
dontWrapGApps = true;
dontWrapQtApps = true;
postPatch = ''
substituteInPlace src/tools/ui_compile.py \
--replace-fail "pyside6-uic" "${pyside-tools-uic}/bin/pyside6-uic" \
--replace-fail "pyside6-rcc" "${pyside-tools-rcc}/bin/pyside6-rcc"
'';
preFixup = ''
makeWrapperArgs+=(
"''${gappsWrapperArgs[@]}"

View File

@ -9,13 +9,13 @@
}:
mkHyprlandPlugin hyprland rec {
pluginName = "hyprsplit";
version = "0.48.1-unstable-2025-05-03";
version = "0.49.0";
src = fetchFromGitHub {
owner = "shezdy";
repo = "hyprsplit";
rev = "9a65a4d33cc86703d2ac1f349de9697c8fc7a4b9";
hash = "sha256-NJTCUa8kHXzQDpUmSifXrHMheR5yejigG2vPBepHolA=";
rev = "refs/tags/v${version}";
hash = "sha256-0jrsiUoQi/VXM2Ji7YTOEYDYYlBI2C3ZbgQpYoAEVKI=";
};
nativeBuildInputs = [

View File

@ -0,0 +1,45 @@
# shellcheck shell=bash
# getSortedMapKeys
# Stores the sorted keys of the input associative array referenced by inputMapRef in the indexed arrray referenced by
# outputArrRef.
#
# Note from the Bash manual on arrays:
# There is no maximum limit on the size of an array, nor any requirement that members be indexed or assigned contiguously.
# - https://www.gnu.org/software/bash/manual/html_node/Arrays.html
#
# Since no guarantees are made about the order in which associative maps are traversed, this function is primarly
# useful for getting rid of yet another source of non-determinism. As an added benefit, it checks that the arguments
# provided are of correct type, unlike native parameter expansion which will accept expansions of strings.
#
# Arguments:
# - inputMapRef: a reference to an associative array (not mutated)
# - outputArrRef: a reference to an indexed array (contents are replaced entirely)
#
# Returns 0.
getSortedMapKeys() {
if (($# != 2)); then
nixErrorLog "expected two arguments!"
nixErrorLog "usage: getSortedMapKeys inputMapRef outputArrRef"
exit 1
fi
local -rn inputMapRef="$1"
# shellcheck disable=SC2178
# Don't warn about outputArrRef being used as an array because it is an array.
local -rn outputArrRef="$2"
if ! isDeclaredMap "${!inputMapRef}"; then
nixErrorLog "first argument inputMapRef must be a reference to an associative array"
exit 1
elif ! isDeclaredArray "${!outputArrRef}"; then
nixErrorLog "second argument outputArrRef must be a reference to an indexed array"
exit 1
fi
# shellcheck disable=SC2034
local -a keys=("${!inputMapRef[@]}")
sortArray keys "${!outputArrRef}"
return 0
}

View File

@ -0,0 +1,17 @@
{
callPackages,
isDeclaredArray,
isDeclaredMap,
makeSetupHook,
sortArray,
}:
makeSetupHook {
name = "getSortedMapKeys";
propagatedBuildInputs = [
isDeclaredArray
isDeclaredMap
sortArray
];
passthru.tests = callPackages ./tests.nix { };
meta.description = "Gets the sorted indices of an associative array";
} ./getSortedMapKeys.bash

View File

@ -0,0 +1,80 @@
# NOTE: Tests related to getSortedMapKeys go here.
{
getSortedMapKeys,
lib,
testers,
}:
let
inherit (lib.attrsets) recurseIntoAttrs;
inherit (testers) shellcheck shfmt testEqualArrayOrMap;
check =
{
name,
valuesMap,
expectedArray,
}:
(testEqualArrayOrMap {
inherit name valuesMap expectedArray;
script = ''
set -eu
nixLog "running getSortedMapKeys with valuesMap to populate actualArray"
getSortedMapKeys valuesMap actualArray
'';
}).overrideAttrs
(prevAttrs: {
nativeBuildInputs = prevAttrs.nativeBuildInputs or [ ] ++ [ getSortedMapKeys ];
});
in
recurseIntoAttrs {
shellcheck = shellcheck {
name = "getSortedMapKeys";
src = ./getSortedMapKeys.bash;
};
shfmt = shfmt {
name = "getSortedMapKeys";
src = ./getSortedMapKeys.bash;
};
empty = check {
name = "empty";
valuesMap = { };
expectedArray = [ ];
};
singleton = check {
name = "singleton";
valuesMap = {
"apple" = "fruit";
};
expectedArray = [ "apple" ];
};
keysAreSorted = check {
name = "keysAreSorted";
valuesMap = {
"apple" = "fruit";
"bee" = "insect";
"carrot" = "vegetable";
};
expectedArray = [
"apple"
"bee"
"carrot"
];
};
# NOTE: While keys can be whitespace, they cannot be null (empty).
keysCanBeWhitespace = check {
name = "keysCanBeWhitespace";
valuesMap = {
" " = 1;
" " = 2;
};
expectedArray = [
" "
" "
];
};
}

View File

@ -0,0 +1,14 @@
# shellcheck shell=bash
# isDeclaredArray
# Tests if inputArrayRef refers to a declared, indexed array.
#
# Arguments:
# - inputArrayRef: a reference to an indexed array (not mutated)
#
# Returns 0 if the indexed array is declared, 1 otherwise.
isDeclaredArray() {
# NOTE: We must dereference the name ref to get the type of the underlying variable.
# shellcheck disable=SC2034
local -nr inputArrayRef="$1" && [[ ${!inputArrayRef@a} =~ a ]]
}

View File

@ -0,0 +1,9 @@
{
callPackages,
makeSetupHook,
}:
makeSetupHook {
name = "isDeclaredArray";
passthru.tests = callPackages ./tests.nix { };
meta.description = "Tests if an array is declared";
} ./isDeclaredArray.bash

View File

@ -0,0 +1,353 @@
# NOTE: Tests related to isDeclaredArray go here.
{
isDeclaredArray,
lib,
runCommand,
testers,
}:
let
inherit (lib.attrsets) recurseIntoAttrs;
inherit (testers) shellcheck shfmt testBuildFailure';
commonArgs = {
__structuredAttrs = true;
strictDeps = true;
preferLocalBuild = true;
nativeBuildInputs = [ isDeclaredArray ];
};
check =
let
mkLine =
intro: values:
"${if intro == null then "" else intro + " "}check${if values == null then "" else "=" + values}";
mkScope =
scope: line:
if scope == null then
line
else if scope == "function" then
''
foo() {
${line}
}
foo
''
else
builtins.throw "Invalid scope: ${scope}";
in
{
name,
scope,
intro,
values,
}:
runCommand name commonArgs ''
set -eu
${mkScope scope (mkLine intro values)}
if isDeclaredArray check; then
nixLog "test passed"
touch "$out"
else
nixErrorLog "test failed"
exit 1
fi
'';
in
recurseIntoAttrs {
shellcheck = shellcheck {
name = "isDeclaredArray";
src = ./isDeclaredArray.bash;
};
shfmt = shfmt {
name = "isDeclaredArray";
src = ./isDeclaredArray.bash;
};
undeclaredFails = testBuildFailure' {
name = "undeclaredFails";
drv = runCommand "undeclared" commonArgs ''
set -eu
if isDeclaredArray undeclared; then
nixLog "test passed"
touch "$out"
else
nixErrorLog "test failed"
exit 1
fi
'';
expectedBuilderLogEntries = [
"test failed"
];
};
mapFails = testBuildFailure' {
name = "mapFails";
drv = runCommand "map" commonArgs ''
set -eu
local -A map
if isDeclaredArray map; then
nixLog "test passed"
touch "$out"
else
nixErrorLog "test failed"
exit 1
fi
'';
expectedBuilderLogEntries = [
"test failed"
];
};
emptyStringNamerefFails = testBuildFailure' {
name = "emptyStringNamerefFails";
drv = runCommand "emptyStringNameref" commonArgs ''
set -eu
if isDeclaredArray ""; then
nixLog "test passed"
touch "$out"
else
nixErrorLog "test failed"
exit 1
fi
'';
expectedBuilderLogEntries = [
"local: `': not a valid identifier"
"test failed"
];
};
namerefToEmptyStringFails = testBuildFailure' {
name = "namerefToEmptyStringFails";
drv = check {
name = "namerefToEmptyString";
scope = null;
intro = "local -n";
values = "";
};
expectedBuilderLogEntries = [
"local: `': not a valid identifier"
# The test fails in such a way that it exits immediately, without returning to the else branch.
];
};
sameScopeEmptyStringFails = testBuildFailure' {
name = "sameScopeEmptyStringFails";
drv = check {
name = "sameScopeEmptyString";
scope = null;
intro = null;
values = "";
};
expectedBuilderLogEntries = [
"test failed"
];
};
sameScopeEmptyArray = check {
name = "sameScopeEmptyArray";
scope = null;
intro = null;
values = "()";
};
sameScopeSingletonArray = check {
name = "sameScopeSingletonArray";
scope = null;
intro = null;
values = ''("hello!")'';
};
sameScopeLocalUnsetArray = check {
name = "sameScopeLocalUnsetArray";
scope = null;
intro = "local -a";
values = null;
};
sameScopeLocalEmptyArray = check {
name = "sameScopeLocalEmptyArray";
scope = null;
intro = "local -a";
values = "()";
};
sameScopeLocalSingletonArray = check {
name = "sameScopeLocalSingletonArray";
scope = null;
intro = "local -a";
values = ''("hello!")'';
};
sameScopeDeclareUnsetArray = check {
name = "sameScopeDeclareUnsetArray";
scope = null;
intro = "declare -a";
values = null;
};
sameScopeDeclareEmptyArray = check {
name = "sameScopeDeclareEmptyArray";
scope = null;
intro = "declare -a";
values = "()";
};
sameScopeDeclareSingletonArray = check {
name = "sameScopeDeclareSingletonArray";
scope = null;
intro = "declare -a";
values = ''("hello!")'';
};
previousScopeEmptyStringFails = testBuildFailure' {
name = "previousScopeEmptyStringFails";
drv = check {
name = "previousScopeEmptyString";
scope = "function";
intro = null;
values = "";
};
expectedBuilderLogEntries = [
"test failed"
];
};
# Works because the variable isn't lexically scoped.
previousScopeEmptyArray = check {
name = "previousScopeEmptyArray";
scope = "function";
intro = null;
values = "()";
};
# Works because the variable isn't lexically scoped.
previousScopeSingletonArray = check {
name = "previousScopeSingletonArray";
scope = "function";
intro = null;
values = ''("hello!")'';
};
previousScopeLocalUnsetArrayFails = testBuildFailure' {
name = "previousScopeLocalUnsetArrayFails";
drv = check {
name = "previousScopeLocalUnsetArray";
scope = "function";
intro = "local -a";
values = null;
};
expectedBuilderLogEntries = [
"test failed"
];
};
previousScopeLocalEmptyArrayFails = testBuildFailure' {
name = "previousScopeLocalEmptyArrayFails";
drv = check {
name = "previousScopeLocalEmptyArray";
scope = "function";
intro = "local -a";
values = "()";
};
expectedBuilderLogEntries = [
"test failed"
];
};
previousScopeLocalSingletonArrayFails = testBuildFailure' {
name = "previousScopeLocalSingletonArrayFails";
drv = check {
name = "previousScopeLocalSingletonArray";
scope = "function";
intro = "local -a";
values = ''("hello!")'';
};
expectedBuilderLogEntries = [
"test failed"
];
};
previousScopeLocalGlobalUnsetArray = check {
name = "previousScopeLocalGlobalUnsetArray";
scope = "function";
intro = "local -ag";
values = null;
};
previousScopeLocalGlobalEmptyArray = check {
name = "previousScopeLocalGlobalEmptyArray";
scope = "function";
intro = "local -ag";
values = "()";
};
previousScopeLocalGlobalSingletonArray = check {
name = "previousScopeLocalGlobalSingletonArray";
scope = "function";
intro = "local -ag";
values = ''("hello!")'';
};
previousScopeDeclareUnsetArrayFails = testBuildFailure' {
name = "previousScopeDeclareUnsetArrayFails";
drv = check {
name = "previousScopeDeclareUnsetArray";
scope = "function";
intro = "declare -a";
values = null;
};
expectedBuilderLogEntries = [
"test failed"
];
};
previousScopeDeclareEmptyArrayFails = testBuildFailure' {
name = "previousScopeDeclareEmptyArrayFails";
drv = check {
name = "previousScopeDeclareEmptyArray";
scope = "function";
intro = "declare -a";
values = "()";
};
expectedBuilderLogEntries = [
"test failed"
];
};
previousScopeDeclareSingletonArrayFails = testBuildFailure' {
name = "previousScopeDeclareSingletonArrayFails";
drv = check {
name = "previousScopeDeclareSingletonArray";
scope = "function";
intro = "declare -a";
values = ''("hello!")'';
};
expectedBuilderLogEntries = [
"test failed"
];
};
previousScopeDeclareGlobalUnsetArray = check {
name = "previousScopeDeclareGlobalUnsetArray";
scope = "function";
intro = "declare -ag";
values = null;
};
previousScopeDeclareGlobalEmptyArray = check {
name = "previousScopeDeclareGlobalEmptyArray";
scope = "function";
intro = "declare -ag";
values = "()";
};
previousScopeDeclareGlobalSingletonArray = check {
name = "previousScopeDeclareGlobalSingletonArray";
scope = "function";
intro = "declare -ag";
values = ''("hello!")'';
};
}

View File

@ -0,0 +1,14 @@
# shellcheck shell=bash
# isDeclaredMap
# Tests if inputMapRef refers to a declared, associative array.
#
# Arguments:
# - inputMapRef: a reference to an associative array (not mutated)
#
# Returns 0 if the associative array is declared, 1 otherwise.
isDeclaredMap() {
# NOTE: We must dereference the name ref to get the type of the underlying variable.
# shellcheck disable=SC2034
local -nr inputMapRef="$1" && [[ ${!inputMapRef@a} =~ A ]]
}

View File

@ -0,0 +1,9 @@
{
callPackages,
makeSetupHook,
}:
makeSetupHook {
name = "isDeclaredMap";
passthru.tests = callPackages ./tests.nix { };
meta.description = "Tests if an associative array is declared";
} ./isDeclaredMap.bash

View File

@ -0,0 +1,377 @@
# NOTE: Tests related to isDeclaredMap go here.
{
isDeclaredMap,
lib,
runCommand,
testers,
}:
let
inherit (lib.attrsets) recurseIntoAttrs;
inherit (testers) shellcheck shfmt testBuildFailure';
commonArgs = {
__structuredAttrs = true;
strictDeps = true;
preferLocalBuild = true;
nativeBuildInputs = [ isDeclaredMap ];
};
check =
let
mkLine =
intro: values:
"${if intro == null then "" else intro + " "}check${if values == null then "" else "=" + values}";
mkScope =
scope: line:
if scope == null then
line
else if scope == "function" then
''
foo() {
${line}
}
foo
''
else
builtins.throw "Invalid scope: ${scope}";
in
{
name,
scope,
intro,
values,
}:
runCommand name commonArgs ''
set -eu
${mkScope scope (mkLine intro values)}
if isDeclaredMap check; then
nixLog "test passed"
touch "$out"
else
nixErrorLog "test failed"
exit 1
fi
'';
in
recurseIntoAttrs {
shellcheck = shellcheck {
name = "isDeclaredMap";
src = ./isDeclaredMap.bash;
};
shfmt = shfmt {
name = "isDeclaredMap";
src = ./isDeclaredMap.bash;
};
undeclaredFails = testBuildFailure' {
name = "undeclaredFails";
drv = runCommand "undeclared" commonArgs ''
set -eu
if isDeclaredMap undeclared; then
nixLog "test passed"
touch "$out"
else
nixErrorLog "test failed"
exit 1
fi
'';
expectedBuilderLogEntries = [
"test failed"
];
};
arrayFails = testBuildFailure' {
name = "arrayFails";
drv = runCommand "array" commonArgs ''
set -eu
local -a array
if isDeclaredMap array; then
nixLog "test passed"
touch "$out"
else
nixErrorLog "test failed"
exit 1
fi
'';
expectedBuilderLogEntries = [
"test failed"
];
};
emptyStringNamerefFails = testBuildFailure' {
name = "emptyStringNamerefFails";
drv = runCommand "emptyStringNameref" commonArgs ''
set -eu
if isDeclaredMap ""; then
nixLog "test passed"
touch "$out"
else
nixErrorLog "test failed"
exit 1
fi
'';
expectedBuilderLogEntries = [
"local: `': not a valid identifier"
"test failed"
];
};
namerefToEmptyStringFails = testBuildFailure' {
name = "namerefToEmptyStringFails";
drv = check {
name = "namerefToEmptyString";
scope = null;
intro = "local -n";
values = "";
};
expectedBuilderLogEntries = [
"local: `': not a valid identifier"
# The test fails in such a way that it exits immediately, without returning to the else branch.
];
};
sameScopeEmptyStringFails = testBuildFailure' {
name = "sameScopeEmptyStringFails";
drv = check {
name = "sameScopeEmptyString";
scope = null;
intro = null;
values = "";
};
expectedBuilderLogEntries = [
"test failed"
];
};
sameScopeEmptyMapFails = testBuildFailure' {
name = "sameScopeEmptyMapFails";
drv = check {
name = "sameScopeEmptyMap";
scope = null;
intro = null;
values = "()";
};
expectedBuilderLogEntries = [
"test failed"
];
};
# Fails because maps must be declared with the -A flag.
sameScopeSingletonMapFails = testBuildFailure' {
name = "sameScopeSingletonMapFails";
drv = check {
name = "sameScopeSingletonMap";
scope = null;
intro = null;
values = ''([greeting]="hello!")'';
};
expectedBuilderLogEntries = [
"greeting: unbound variable"
];
};
sameScopeLocalUnsetMap = check {
name = "sameScopeLocalUnsetMap";
scope = null;
intro = "local -A";
values = null;
};
sameScopeLocalEmptyMap = check {
name = "sameScopeLocalEmptyMap";
scope = null;
intro = "local -A";
values = "()";
};
sameScopeLocalSingletonMap = check {
name = "sameScopeLocalSingletonMap";
scope = null;
intro = "local -A";
values = ''([greeting]="hello!")'';
};
sameScopeDeclareUnsetMap = check {
name = "sameScopeDeclareUnsetMap";
scope = null;
intro = "declare -A";
values = null;
};
sameScopeDeclareEmptyMap = check {
name = "sameScopeDeclareEmptyMap";
scope = null;
intro = "declare -A";
values = "()";
};
sameScopeDeclareSingletonMap = check {
name = "sameScopeDeclareSingletonMap";
scope = null;
intro = "declare -A";
values = ''([greeting]="hello!")'';
};
previousScopeEmptyStringFails = testBuildFailure' {
name = "previousScopeEmptyStringFails";
drv = check {
name = "previousScopeEmptyString";
scope = "function";
intro = null;
values = "";
};
expectedBuilderLogEntries = [
"test failed"
];
};
# Fails because () is ambiguous and defaults to array rather than associative array.
previousScopeEmptyMapFails = testBuildFailure' {
name = "previousScopeEmptyMapFails";
drv = check {
name = "previousScopeEmptyMap";
scope = "function";
intro = null;
values = "()";
};
expectedBuilderLogEntries = [
"test failed"
];
};
previousScopeSingletonMapFails = testBuildFailure' {
name = "previousScopeSingletonMapFails";
drv = check {
name = "previousScopeSingletonMap";
scope = "function";
intro = null;
values = ''([greeting]="hello!")'';
};
expectedBuilderLogEntries = [
"greeting: unbound variable"
];
};
previousScopeLocalUnsetMapFails = testBuildFailure' {
name = "previousScopeLocalUnsetMapFails";
drv = check {
name = "previousScopeLocalUnsetMap";
scope = "function";
intro = "local -A";
values = null;
};
expectedBuilderLogEntries = [
"test failed"
];
};
previousScopeLocalEmptyMapFails = testBuildFailure' {
name = "previousScopeLocalEmptyMapFails";
drv = check {
name = "previousScopeLocalEmptyMap";
scope = "function";
intro = "local -A";
values = "()";
};
expectedBuilderLogEntries = [
"test failed"
];
};
previousScopeLocalSingletonMapFails = testBuildFailure' {
name = "previousScopeLocalSingletonMapFails";
drv = check {
name = "previousScopeLocalSingletonMap";
scope = "function";
intro = "local -A";
values = ''([greeting]="hello!")'';
};
expectedBuilderLogEntries = [
"test failed"
];
};
previousScopeLocalGlobalUnsetMap = check {
name = "previousScopeLocalGlobalUnsetMap";
scope = "function";
intro = "local -Ag";
values = null;
};
previousScopeLocalGlobalEmptyMap = check {
name = "previousScopeLocalGlobalEmptyMap";
scope = "function";
intro = "local -Ag";
values = "()";
};
previousScopeLocalGlobalSingletonMap = check {
name = "previousScopeLocalGlobalSingletonMap";
scope = "function";
intro = "local -Ag";
values = ''([greeting]="hello!")'';
};
previousScopeDeclareUnsetMapFails = testBuildFailure' {
name = "previousScopeDeclareUnsetMapFails";
drv = check {
name = "previousScopeDeclareUnsetMap";
scope = "function";
intro = "declare -A";
values = null;
};
expectedBuilderLogEntries = [
"test failed"
];
};
previousScopeDeclareEmptyMapFails = testBuildFailure' {
name = "previousScopeDeclareEmptyMapFails";
drv = check {
name = "previousScopeDeclareEmptyMap";
scope = "function";
intro = "declare -A";
values = "()";
};
expectedBuilderLogEntries = [
"test failed"
];
};
previousScopeDeclareSingletonMapFails = testBuildFailure' {
name = "previousScopeDeclareSingletonMapFails";
drv = check {
name = "previousScopeDeclareSingletonMap";
scope = "function";
intro = "declare -A";
values = ''([greeting]="hello!")'';
};
expectedBuilderLogEntries = [
"test failed"
];
};
previousScopeDeclareGlobalUnsetMap = check {
name = "previousScopeDeclareGlobalUnsetMap";
scope = "function";
intro = "declare -Ag";
values = null;
};
previousScopeDeclareGlobalEmptyMap = check {
name = "previousScopeDeclareGlobalEmptyMap";
scope = "function";
intro = "declare -Ag";
values = "()";
};
previousScopeDeclareGlobalSingletonMap = check {
name = "previousScopeDeclareGlobalSingletonMap";
scope = "function";
intro = "declare -Ag";
values = ''([greeting]="hello!")'';
};
}

View File

@ -0,0 +1,11 @@
{
callPackages,
isDeclaredArray,
makeSetupHook,
}:
makeSetupHook {
name = "sortArray";
propagatedBuildInputs = [ isDeclaredArray ];
passthru.tests = callPackages ./tests.nix { };
meta.description = "Sorts an array";
} ./sortArray.bash

View File

@ -0,0 +1,53 @@
# shellcheck shell=bash
# sortArray
# Sorts the indexed array referenced by inputArrRef and stores the result in the indexed array referenced by
# outputArrRef.
#
# Arguments:
# - inputArrRef: a reference to an indexed array (not mutated, may alias outputArrRef)
# - outputArrRef: a reference to an indexed array (contents are replaced entirely, may alias inputArrRef)
#
# Returns 0.
sortArray() {
if (($# != 2)); then
nixErrorLog "expected two arguments!"
nixErrorLog "usage: sortArray inputArrRef outputArrRef"
exit 1
fi
local -rn inputArrRef="$1"
local -rn outputArrRef="$2"
if ! isDeclaredArray "${!inputArrRef}"; then
nixErrorLog "first argument inputArrRef must be a reference to an indexed array"
exit 1
elif ! isDeclaredArray "${!outputArrRef}"; then
nixErrorLog "second argument outputArrRef must be a reference to an indexed array"
exit 1
fi
local -a sortedArray=()
# Guard on the length of the input array, as empty array will expand to nothing, but printf will still see it as an
# argument, producing an empty string.
if ((${#inputArrRef[@]} > 0)); then
# NOTE from Bash's printf documentation:
# The format is reused as necessary to consume all of the arguments. If the format requires more arguments than
# are supplied, the extra format specifications behave as if a zero value or null string, as appropriate, had
# been supplied.
# - https://www.gnu.org/software/bash/manual/html_node/Bash-Builtins.html#index-printf
# NOTE from sort manpage:
# If you use a non-POSIX locale (e.g., by setting LC_ALL to 'en_US'), then sort may produce output that is sorted
# differently than you're accustomed to. In that case, set the LC_ALL environment variable to 'C'. Setting only
# LC_COLLATE has two problems. First, it is ineffective if LC_ALL is also set. Second, it has undefined behavior
# if LC_CTYPE (or LANG, if LC_CTYPE is unset) is set to an incompatible value. For example, you get undefined
# behavior if LC_CTYPE is ja_JP.PCK but LC_COLLATE is en_US.UTF-8.
# - https://www.gnu.org/software/coreutils/manual/html_node/sort-invocation.html#FOOT1
mapfile -d $'\0' -t sortedArray < <(printf '%s\0' "${inputArrRef[@]}" | LC_ALL=C sort --stable --zero-terminated)
fi
outputArrRef=("${sortedArray[@]}")
return 0
}

View File

@ -0,0 +1,178 @@
# NOTE: Tests related to sortArray go here.
{
lib,
sortArray,
testers,
}:
let
inherit (lib.attrsets) recurseIntoAttrs;
inherit (testers) shellcheck shfmt testEqualArrayOrMap;
check =
{
name,
valuesArray,
expectedArray,
}:
(testEqualArrayOrMap {
inherit name valuesArray expectedArray;
script = ''
set -eu
nixLog "running sortArray with valuesArray to populate actualArray"
sortArray valuesArray actualArray
'';
}).overrideAttrs
(prevAttrs: {
nativeBuildInputs = prevAttrs.nativeBuildInputs or [ ] ++ [ sortArray ];
});
checkInPlace =
{
name,
valuesArray,
expectedArray,
}:
(testEqualArrayOrMap {
inherit name valuesArray expectedArray;
script = ''
set -eu
nixLog "running sortArray with valuesArray as input and output"
sortArray valuesArray valuesArray
nixLog "copying valuesArray to actualArray"
actualArray=("''${valuesArray[@]}")
'';
}).overrideAttrs
(prevAttrs: {
nativeBuildInputs = prevAttrs.nativeBuildInputs or [ ] ++ [ sortArray ];
});
in
recurseIntoAttrs {
shellcheck = shellcheck {
name = "sortArray";
src = ./sortArray.bash;
};
shfmt = shfmt {
name = "sortArray";
src = ./sortArray.bash;
};
empty = check {
name = "empty";
valuesArray = [ ];
expectedArray = [ ];
};
singleton = check {
name = "singleton";
valuesArray = [ "apple" ];
expectedArray = [ "apple" ];
};
oneDuplicate = check {
name = "oneDuplicate";
valuesArray = [
"apple"
"apple"
];
expectedArray = [
"apple"
"apple"
];
};
oneUnique = check {
name = "oneUnique";
valuesArray = [
"bee"
"apple"
"bee"
];
expectedArray = [
"apple"
"bee"
"bee"
];
};
duplicatesWithSpacesAndLineBreaks = check {
name = "duplicatesWithSpacesAndLineBreaks";
valuesArray = [
"dog"
"bee"
''
line
break
''
"cat"
"zebra"
"bee"
"cat"
"elephant"
"dog with spaces"
''
line
break
''
];
expectedArray = [
"bee"
"bee"
"cat"
"cat"
"dog"
"dog with spaces"
"elephant"
# NOTE: lead whitespace is removed, so the following entries start with `l`.
''
line
break
''
''
line
break
''
"zebra"
];
};
duplicatesWithSpacesAndLineBreaksInPlace = checkInPlace {
name = "duplicatesWithSpacesAndLineBreaksInPlace";
valuesArray = [
"dog"
"bee"
''
line
break
''
"cat"
"zebra"
"bee"
"cat"
"elephant"
"dog with spaces"
''
line
break
''
];
expectedArray = [
"bee"
"bee"
"cat"
"cat"
"dog"
"dog with spaces"
"elephant"
# NOTE: lead whitespace is removed, so the following entries start with `l`.
''
line
break
''
''
line
break
''
"zebra"
];
};
}

View File

@ -1,11 +1,5 @@
# shellcheck shell=bash
# Tests if an array is declared.
isDeclaredArray() {
# shellcheck disable=SC2034
local -nr arrayRef="$1" && [[ ${!arrayRef@a} =~ a ]]
}
# Asserts that two arrays are equal, printing out differences if they are not.
# Does not short circuit on the first difference.
assertEqualArray() {
@ -19,12 +13,12 @@ assertEqualArray() {
local -nr actualArrayRef="$2"
if ! isDeclaredArray "${!expectedArrayRef}"; then
nixErrorLog "first arugment expectedArrayRef must be an array reference to a declared array"
nixErrorLog "first argument expectedArrayRef must be a reference to an indexed array"
exit 1
fi
if ! isDeclaredArray "${!actualArrayRef}"; then
nixErrorLog "second arugment actualArrayRef must be an array reference to a declared array"
nixErrorLog "second argument actualArrayRef must be a reference to an indexed array"
exit 1
fi

View File

@ -1,11 +1,5 @@
# shellcheck shell=bash
# Tests if a map is declared.
isDeclaredMap() {
# shellcheck disable=SC2034
local -nr mapRef="$1" && [[ ${!mapRef@a} =~ A ]]
}
# Asserts that two maps are equal, printing out differences if they are not.
# Does not short circuit on the first difference.
assertEqualMap() {
@ -19,26 +13,15 @@ assertEqualMap() {
local -nr actualMapRef="$2"
if ! isDeclaredMap "${!expectedMapRef}"; then
nixErrorLog "first arugment expectedMapRef must be an associative array reference to a declared associative array"
nixErrorLog "first argument expectedMapRef must be a reference to an associative array"
exit 1
fi
if ! isDeclaredMap "${!actualMapRef}"; then
nixErrorLog "second arugment actualMapRef must be an associative array reference to a declared associative array"
nixErrorLog "second argument actualMapRef must be a reference to an associative array"
exit 1
fi
# NOTE:
# From the `sort` manpage: "The locale specified by the environment affects sort order. Set LC_ALL=C to get the
# traditional sort order that uses native byte values."
# We specify the environment variable in a subshell to avoid polluting the caller's environment.
local -a sortedExpectedKeys
mapfile -d '' -t sortedExpectedKeys < <(printf '%s\0' "${!expectedMapRef[@]}" | LC_ALL=C sort --stable --zero-terminated)
local -a sortedActualKeys
mapfile -d '' -t sortedActualKeys < <(printf '%s\0' "${!actualMapRef[@]}" | LC_ALL=C sort --stable --zero-terminated)
local -ir expectedLength=${#expectedMapRef[@]}
local -ir actualLength=${#actualMapRef[@]}
@ -49,6 +32,12 @@ assertEqualMap() {
hasDiff=1
fi
local -a sortedExpectedKeys=()
getSortedMapKeys "${!expectedMapRef}" sortedExpectedKeys
local -a sortedActualKeys=()
getSortedMapKeys "${!actualMapRef}" sortedActualKeys
local -i expectedKeyIdx=0
local expectedKey
local expectedValue

View File

@ -1,4 +1,5 @@
{
arrayUtilities,
lib,
stdenvNoCC,
}:
@ -21,7 +22,10 @@ lib.makeOverridable (
inherit name;
nativeBuildInputs = [
arrayUtilities.isDeclaredArray
./assert-equal-array.sh
arrayUtilities.isDeclaredMap
arrayUtilities.getSortedMapKeys
./assert-equal-map.sh
];

View File

@ -5,7 +5,7 @@
installShellFiles,
}:
let
version = "1.6.11";
version = "1.7.0";
in
buildGoModule {
pname = "algolia-cli";
@ -15,10 +15,10 @@ buildGoModule {
owner = "algolia";
repo = "cli";
rev = "v${version}";
hash = "sha256-VqY0h0Z3ocmgw0uFI4f6B5C/bTt3zoUXBlYPgOPxBo0=";
hash = "sha256-j8OCN+iV5sMjgYTMGCc72JPImuFFvehKw4S99l+YWhs=";
};
vendorHash = "sha256-cNuBTH7L2K4TgD0H9FZ9CjhE5AGXADaniGLD9Lhrtrk=";
vendorHash = "sha256-qzgkcmRuXHM9aMQGBObUHYH9qpWnDfTvwdx1A4it8aQ=";
nativeBuildInputs = [ installShellFiles ];

View File

@ -20,14 +20,14 @@
python3Packages.buildPythonApplication rec {
pname = "alpaca";
version = "6.1.5";
version = "6.1.7";
pyproject = false; # Built with meson
src = fetchFromGitHub {
owner = "Jeffser";
repo = "Alpaca";
tag = version;
hash = "sha256-4QN88KOCtVFNoqAKpjW/MSvPJFsLoXZixiGN5JNRDvs=";
hash = "sha256-9UXaJpkz9F2D490bMKU/xv+rgfrxstm1DuDwpMmydI0=";
};
nativeBuildInputs = [

View File

@ -4,6 +4,7 @@
fetchFromGitHub,
nixosTests,
testers,
nix-update-script,
}:
let
tools = [
@ -15,13 +16,13 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "apfsprogs";
version = "0.2.0";
version = "0.2.1";
src = fetchFromGitHub {
owner = "linux-apfs";
repo = "apfsprogs";
tag = "v${finalAttrs.version}";
hash = "sha256-rolbBLdE98jqlKC06fTo6eJU3abKzgB3QIlaw4bza9U=";
hash = "sha256-GhhuielfFvcpe9hL3fUcg2xlwFrzjiUS/ZLn0jkfkh8=";
};
postPatch = ''
@ -68,6 +69,8 @@ stdenv.mkDerivation (finalAttrs: {
}
// versionTests;
passthru.updateScript = nix-update-script { };
strictDeps = true;
meta = with lib; {

View File

@ -4,20 +4,21 @@
dash,
fetchFromGitHub,
}:
stdenvNoCC.mkDerivation {
stdenvNoCC.mkDerivation rec {
pname = "app2unit";
version = "0-unstable-2025-05-09";
version = "0.9.0";
src = fetchFromGitHub {
owner = "Vladimir-csp";
repo = "app2unit";
rev = "7b9672a2dc16bdfbe7b7b7c27043529ca3bcb6ae";
sha256 = "03dnx5v75530fwppfgpjl6xzzmdbk73ymrlix129d9n5sqrz9wgk";
tag = "v${version}";
sha256 = "fw6Vh3Jyop95TQdOFrpspbauSfqMpd0BZkZVc1k6+K0=";
};
installPhase = ''
install -Dt $out/bin app2unit
ln -s $out/bin/app2unit $out/bin/app2unit-open
ln -s $out/bin/app2unit $out/bin/app2unit-term
'';
dontPatchShebangs = true;

View File

@ -6,17 +6,17 @@
rustPlatform.buildRustPackage rec {
pname = "awsbck";
version = "0.3.12";
version = "0.3.13";
src = fetchFromGitHub {
owner = "beeb";
repo = "awsbck";
rev = "v${version}";
hash = "sha256-C5QaOxZ9DQuda+slf8uqPQYVgDtS5Lhm3AFn8K2G/T4=";
hash = "sha256-7ykDkCA6c5MzaMWT+ZjNBhPOZO8UNYIP5sNwoFx1XT8=";
};
useFetchCargoVendor = true;
cargoHash = "sha256-Pb4tnP8BiVTfUR1qM1dUXj9aCmdK23YYxQ4KQQc4z54=";
cargoHash = "sha256-L7iWM5T/FRK+0KQROILg4Mns1+cwPPGKfe0H00FJrSo=";
# tests run in CI on the source repo
doCheck = false;

View File

@ -31,7 +31,7 @@
stdenv.mkDerivation (finalAttrs: {
pname = "beekeeper-studio";
version = "5.2.9";
version = "5.2.12";
src =
let
@ -44,8 +44,8 @@ stdenv.mkDerivation (finalAttrs: {
fetchurl {
url = "https://github.com/beekeeper-studio/beekeeper-studio/releases/download/v${finalAttrs.version}/beekeeper-studio_${finalAttrs.version}_${arch}.deb";
hash = selectSystem {
x86_64-linux = "sha256-iooZSiIkHfd3jSk+Pk0E7s/g51UzbyqyP8qnfes3mts=";
aarch64-linux = "sha256-zLkEMOJhckIM0qPCKBNUgFwYiF1YjJU4wKmiLJ1pzNg=";
x86_64-linux = "sha256-hpzvu4SyVLXhQ5wbh5hyx+8tM19SxkKZvlMVhzhDCW4=";
aarch64-linux = "sha256-s567NOTzTItfOdsABIzYoF8iYSpwDsDzbnLZhUSfT8o=";
};
};

View File

@ -205,7 +205,7 @@ stdenv.mkDerivation {
# Fix path to bash in $BINARYWRAPPER
substituteInPlace $BINARYWRAPPER \
--replace /bin/bash ${stdenv.shell} \
--replace-fail /bin/bash ${stdenv.shell} \
--replace-fail 'CHROME_WRAPPER' 'WRAPPER'
ln -sf $BINARYWRAPPER $out/bin/brave
@ -217,14 +217,14 @@ stdenv.mkDerivation {
done
# Fix paths
substituteInPlace $out/share/applications/brave-browser.desktop \
--replace /usr/bin/brave-browser-stable $out/bin/brave
substituteInPlace $out/share/applications/{brave-browser,com.brave.Browser}.desktop \
--replace-fail /usr/bin/brave-browser-stable $out/bin/brave
substituteInPlace $out/share/gnome-control-center/default-apps/brave-browser.xml \
--replace /opt/brave.com $out/opt/brave.com
--replace-fail /opt/brave.com $out/opt/brave.com
substituteInPlace $out/share/menu/brave-browser.menu \
--replace /opt/brave.com $out/opt/brave.com
--replace-fail /opt/brave.com $out/opt/brave.com
substituteInPlace $out/opt/brave.com/brave/default-app-block \
--replace /opt/brave.com $out/opt/brave.com
--replace-fail /opt/brave.com $out/opt/brave.com
# Correct icons location
icon_sizes=("16" "24" "32" "48" "64" "128" "256")

View File

@ -1,6 +1,6 @@
{
lib,
flutter329,
flutter332,
fetchFromGitHub,
autoPatchelfHook,
copyDesktopItems,
@ -12,15 +12,15 @@
gitUpdater,
}:
flutter329.buildFlutterApplication rec {
flutter332.buildFlutterApplication rec {
pname = "chatmcp";
version = "0.0.57";
version = "0.0.62";
src = fetchFromGitHub {
owner = "daodao97";
repo = "chatmcp";
tag = "v${version}";
hash = "sha256-V4Tf3nIGMytVuSRlHDd8FvG4qyrpESM1cZKJS9PRCMg=";
hash = "sha256-DEq1LECqlvl3P4ib3RyHK3VLbcTh8PXJtbWwK/0R5dA=";
};
pubspecLock = lib.importJSON ./pubspec.lock.json;

View File

@ -14,11 +14,11 @@
"dependency": "transitive",
"description": {
"name": "analyzer",
"sha256": "13c1e6c6fd460522ea840abec3f677cc226f5fec7872c04ad7b425517ccf54f7",
"sha256": "904ae5bb474d32c38fb9482e2d925d5454cda04ddd0e55d2e6826bc72f6ba8c0",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "7.4.4"
"version": "7.4.5"
},
"archive": {
"dependency": "transitive",
@ -44,11 +44,11 @@
"dependency": "transitive",
"description": {
"name": "async",
"sha256": "d2872f9c19731c2e5f10444b14686eb7cc85c76274bd6c16e1816bff9a3bab63",
"sha256": "758e6d74e971c3e5aceb4110bfd6698efc7f501675bcfe0c775459a8140750eb",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "2.12.0"
"version": "2.13.0"
},
"boolean_selector": {
"dependency": "transitive",
@ -144,11 +144,11 @@
"dependency": "transitive",
"description": {
"name": "built_value",
"sha256": "ea90e81dc4a25a043d9bee692d20ed6d1c4a1662a28c03a96417446c093ed6b4",
"sha256": "082001b5c3dc495d4a42f1d5789990505df20d8547d42507c29050af6933ee27",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "8.9.5"
"version": "8.10.1"
},
"cached_network_image": {
"dependency": "direct main",
@ -264,11 +264,11 @@
"dependency": "transitive",
"description": {
"name": "coverage",
"sha256": "802bd084fb82e55df091ec8ad1553a7331b61c08251eef19a508b6f3f3a9858d",
"sha256": "4b8701e48a58f7712492c9b1f7ba0bb9d525644dd66d023b62e1fc8cdb560c8a",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.13.1"
"version": "1.14.0"
},
"cross_file": {
"dependency": "transitive",
@ -314,11 +314,11 @@
"dependency": "transitive",
"description": {
"name": "dart_style",
"sha256": "27eb0ae77836989a3bc541ce55595e8ceee0992807f14511552a898ddd0d88ac",
"sha256": "5b236382b47ee411741447c1f1e111459c941ea1b3f2b540dde54c210a3662af",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "3.0.1"
"version": "3.1.0"
},
"event_bus": {
"dependency": "direct main",
@ -344,11 +344,11 @@
"dependency": "transitive",
"description": {
"name": "fake_async",
"sha256": "6a95e56b2449df2273fd8c45a662d6947ce1ebb7aafe80e550a3f68297f3cacc",
"sha256": "5368f224a74523e8d2e7399ea1638b37aecfca824a3cc4dfdf77bf1fa905ac44",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.3.2"
"version": "1.3.3"
},
"ffi": {
"dependency": "transitive",
@ -374,11 +374,11 @@
"dependency": "direct main",
"description": {
"name": "file_picker",
"sha256": "ab13ae8ef5580a411c458d6207b6774a6c237d77ac37011b13994879f68a8810",
"sha256": "77f8e81d22d2a07d0dee2c62e1dda71dc1da73bf43bb2d45af09727406167964",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "8.3.7"
"version": "10.1.9"
},
"fixnum": {
"dependency": "transitive",
@ -590,11 +590,11 @@
"dependency": "direct dev",
"description": {
"name": "flutter_lints",
"sha256": "5398f14efa795ffb7a33e9b6a08798b26a180edac4ad7db3f231e40f82ce11e1",
"sha256": "3105dc8492f6183fb076ccf1f351ac3d60564bff92e20bfc4af9cc1651f4e7e1",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "5.0.0"
"version": "6.0.0"
},
"flutter_localizations": {
"dependency": "direct main",
@ -606,11 +606,11 @@
"dependency": "direct main",
"description": {
"name": "flutter_math_fork",
"sha256": "284bab89b2fbf1bc3a0baf13d011c1dd324d004e35d177626b77f2fc056366ac",
"sha256": "6d5f2f1aa57ae539ffb0a04bb39d2da67af74601d685a161aff7ce5bda5fa407",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "0.7.3"
"version": "0.7.4"
},
"flutter_plugin_android_lifecycle": {
"dependency": "transitive",
@ -626,11 +626,11 @@
"dependency": "direct main",
"description": {
"name": "flutter_popup",
"sha256": "8f93cb4ec7341330ee585b4624ac6596f02587aaefc47297344cb7b5af26aa07",
"sha256": "63cbae63fb15f81be1b533cc53306d3835305e314e8ce99c62b98d45ab685261",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "3.3.4"
"version": "3.3.7"
},
"flutter_svg": {
"dependency": "direct main",
@ -728,11 +728,11 @@
"dependency": "direct main",
"description": {
"name": "http",
"sha256": "fe7ab022b76f3034adc518fb6ea04a82387620e19977665ea18d30a1cf43442f",
"sha256": "2c11f3f94c687ee9bad77c171151672986360b2b001d109814ee7140b2cf261b",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.3.0"
"version": "1.4.0"
},
"http_multi_server": {
"dependency": "transitive",
@ -768,11 +768,11 @@
"dependency": "direct main",
"description": {
"name": "intl",
"sha256": "d6f56758b7d3014a48af9701c085700aac781a92a87a62b1333b46d8879661cf",
"sha256": "3df61194eb431efc39c4ceba583b95633a403f46c9fd341e550ce0bfa50e9aa5",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "0.19.0"
"version": "0.20.2"
},
"io": {
"dependency": "transitive",
@ -828,11 +828,11 @@
"dependency": "transitive",
"description": {
"name": "leak_tracker",
"sha256": "c35baad643ba394b40aac41080300150a4f08fd0fd6a10378f8f7c6bc161acec",
"sha256": "6bb818ecbdffe216e81182c2f0714a2e62b593f4a4f13098713ff1685dfb6ab0",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "10.0.8"
"version": "10.0.9"
},
"leak_tracker_flutter_testing": {
"dependency": "transitive",
@ -858,11 +858,11 @@
"dependency": "transitive",
"description": {
"name": "lints",
"sha256": "c35bb79562d980e9a453fc715854e1ed39e24e7d0297a880ef54e17f9874a9d7",
"sha256": "a5e2b223cb7c9c8efdc663ef484fdd95bb243bff242ef5b13e26883547fce9a0",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "5.1.1"
"version": "6.0.0"
},
"logging": {
"dependency": "direct main",
@ -1494,11 +1494,11 @@
"dependency": "transitive",
"description": {
"name": "sqlite3",
"sha256": "310af39c40dd0bb2058538333c9d9840a2725ae0b9f77e4fd09ad6696aa8f66e",
"sha256": "c0503c69b44d5714e6abbf4c1f51a3c3cc42b75ce785f44404765e4635481d38",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "2.7.5"
"version": "2.7.6"
},
"stack_trace": {
"dependency": "transitive",
@ -1734,11 +1734,11 @@
"dependency": "transitive",
"description": {
"name": "vector_graphics_compiler",
"sha256": "1b4b9e706a10294258727674a340ae0d6e64a7231980f9f9a3d12e4b42407aad",
"sha256": "557a315b7d2a6dbb0aaaff84d857967ce6bdc96a63dc6ee2a57ce5a6ee5d3331",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.1.16"
"version": "1.1.17"
},
"vector_math": {
"dependency": "transitive",
@ -1764,11 +1764,11 @@
"dependency": "transitive",
"description": {
"name": "vm_service",
"sha256": "0968250880a6c5fe7edc067ed0a13d4bae1577fe2771dcf3010d52c4a9d3ca14",
"sha256": "ddfa8d30d89985b96407efce8acbdd124701f96741f2d981ca860662f1c0dc02",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "14.3.1"
"version": "15.0.0"
},
"watcher": {
"dependency": "transitive",
@ -1794,11 +1794,11 @@
"dependency": "transitive",
"description": {
"name": "web_socket",
"sha256": "bfe6f435f6ec49cb6c01da1e275ae4228719e59a6b067048c51e72d9d63bcc4b",
"sha256": "34d64019aa8e36bf9842ac014bb5d2f5586ca73df5e4d9bf5c936975cae6982c",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.0.0"
"version": "1.0.1"
},
"web_socket_channel": {
"dependency": "transitive",
@ -1824,21 +1824,21 @@
"dependency": "transitive",
"description": {
"name": "win32",
"sha256": "dc6ecaa00a7c708e5b4d10ee7bec8c270e9276dfcab1783f57e9962d7884305f",
"sha256": "329edf97fdd893e0f1e3b9e88d6a0e627128cc17cc316a8d67fda8f1451178ba",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "5.12.0"
"version": "5.13.0"
},
"window_manager": {
"dependency": "direct main",
"description": {
"name": "window_manager",
"sha256": "732896e1416297c63c9e3fb95aea72d0355f61390263982a47fd519169dc5059",
"sha256": "51d50168ab267d344b975b15390426b1243600d436770d3f13de67e55b05ec16",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "0.4.3"
"version": "0.5.0"
},
"xdg_directories": {
"dependency": "transitive",
@ -1872,7 +1872,7 @@
}
},
"sdks": {
"dart": ">=3.7.0 <4.0.0",
"dart": ">=3.8.0 <4.0.0",
"flutter": ">=3.29.0"
}
}

View File

@ -2,10 +2,10 @@
buildDotnetGlobalTool {
pname = "csharpier";
version = "0.30.6";
executables = "dotnet-csharpier";
version = "1.0.2";
executables = "csharpier";
nugetHash = "sha256-A39F3ohTHZo8yYoyBOAUeW0bk98Za74Esz0Tx0tXgDI=";
nugetHash = "sha256-FPcdTWhdIhl0MgOsWcCzgzLyHFyz0szLYQUBUFoe3Cs=";
meta = with lib; {
description = "Opinionated code formatter for C#";
@ -13,6 +13,6 @@ buildDotnetGlobalTool {
changelog = "https://github.com/belav/csharpier/blob/main/CHANGELOG.md";
license = licenses.mit;
maintainers = with maintainers; [ zoriya ];
mainProgram = "dotnet-csharpier";
mainProgram = "csharpier";
};
}

View File

@ -0,0 +1,18 @@
diff --git a/Makefile b/Makefile
index c92df71..724911a 100644
--- a/Makefile
+++ b/Makefile
@@ -10,11 +10,12 @@ DATE ?= $(shell date -u -d @${SOURCE_DATE_EPOCH} +"%Y-%m-%dT%H:%M:%SZ")
VERSION ?= 0.10.0
test: ## Run all tests
- @go clean --testcache && go test -v ./...
+ @go clean --testcache && go test -ldflags -extldflags=-Wl,-z,lazy -v ./...
build: ## Builds the CLI
@go build ${GO_FLAGS} \
-ldflags "-w -s \
+ -extldflags=-Wl,-z,lazy \
-X ${NAME}/cmd/global.Version=${VERSION} \
-X ${PACKAGE}/cmd/global.Version=${VERSION} \
-X ${NAME}/cmd/global.Commit=${GIT_REV} \

View File

@ -1,25 +1,33 @@
{
buildGo123Module,
buildGoModule,
fetchFromGitHub,
lib,
lm_sensors,
}:
buildGo123Module rec {
buildGoModule rec {
pname = "fan2go";
version = "0.9.0";
version = "0.10.0";
src = fetchFromGitHub {
owner = "markusressel";
repo = "fan2go";
rev = version;
hash = "sha256-eSHeHBzDvzsDAck0zexwR8drasisvlQNTeowv92E2uc=";
tag = version;
hash = "sha256-mLypuOGjYrXFf3BGCDggEDk1+PVx2CgsxAjZQ7uiSW0=";
leaveDotGit = true;
postFetch = ''
cd $out
git rev-parse --short HEAD > $out/GIT_REV
find $out -name .git -print0 | xargs -0 rm -rf
'';
};
vendorHash = "sha256-ad0e/cxbcU/KfPDOdD46KdCcvns83dgGDAyLLQiGyiA=";
vendorHash = "sha256-IJJTolpOtstVov8MNel6EOJqv1oCkTOTiPyW42ElQjc=";
buildInputs = [ lm_sensors ];
patches = [ ./lazy-binding.patch ];
postConfigure = ''
substituteInPlace vendor/github.com/md14454/gosensors/gosensors.go \
--replace-fail '"/etc/sensors3.conf"' '"${lib.getLib lm_sensors}/etc/sensors3.conf"'
@ -30,6 +38,24 @@ buildGo123Module rec {
rm internal/fans/cmd_test.go
'';
buildPhase = ''
runHook preBuild
make build GIT_REV="$(cat GIT_REV)"
dir="$GOPATH/bin"
mkdir -p "$dir"
cp bin/fan2go "$dir"
runHook postBuild
'';
checkPhase = ''
runHook preCheck
make test
runHook postCheck
'';
meta = with lib; {
description = "Simple daemon providing dynamic fan speed control based on temperature sensors";
mainProgram = "fan2go";

View File

@ -13,13 +13,13 @@
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "firefly-iii-data-importer";
version = "1.6.1";
version = "1.6.3";
src = fetchFromGitHub {
owner = "firefly-iii";
repo = "data-importer";
tag = "v${finalAttrs.version}";
hash = "sha256-/mQnv/81XpdiXayC4+kw0QihZSPBkz59eJCdEBodudQ=";
hash = "sha256-+e5UtnK/eiFnmvtKjVp3EZ8JLi+dWnJ+vgjDJKRLqH8=";
};
buildInputs = [ php84 ];
@ -38,12 +38,12 @@ stdenvNoCC.mkDerivation (finalAttrs: {
composerStrictValidation = true;
strictDeps = true;
vendorHash = "sha256-9WSq8kUoXyClAHvuMtqzlfcITgCgXdulslDAzlaJ9LU=";
vendorHash = "sha256-ExHT4kRyyp4c7vGqUN7hbP8pScvto/qp81oDjZGBJis=";
npmDeps = fetchNpmDeps {
inherit (finalAttrs) src;
name = "${finalAttrs.pname}-npm-deps";
hash = "sha256-6yfXh9KX0ucAB+wo/xG4gRGmDL+CPtLkcq390iVz2qU=";
hash = "sha256-i+Ytv8uLSrdLPC04BfZbRXRA7jmy1IX4nYW5WRZubCY=";
};
composerRepository = php84.mkComposerRepository {
@ -66,7 +66,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
passthru = {
phpPackage = php84;
tests = nixosTests.firefly-iii-data-importer;
updateScript = nix-update-script { };
updateScript = nix-update-script { extraArgs = [ "--version-regex='v([0-9]+\.[0-9]+\.[0-9]+)'" ]; };
};
postInstall = ''

View File

@ -1,7 +1,7 @@
{
lib,
fetchFromGitHub,
flutter329,
flutter332,
keybinder3,
libayatana-appindicator,
buildGoModule,
@ -12,14 +12,14 @@
let
pname = "flclash";
version = "0.8.84";
version = "0.8.85";
src =
(fetchFromGitHub {
owner = "chen08209";
repo = "FlClash";
tag = "v${version}";
hash = "sha256-XrZay7C8XIqwAATwDd8U+sh0BcNN5ap43ibYVs6qXFg=";
hash = "sha256-bMx9yQkzUZ8cJpT1WBIqmYKoUvkPND9qg26HoRiY5kM=";
fetchSubmodules = true;
}).overrideAttrs
(_: {
@ -32,7 +32,7 @@ let
description = "Multi-platform proxy client based on ClashMeta, simple and easy to use, open-source and ad-free";
homepage = "https://github.com/chen08209/FlClash";
license = with lib.licenses; [ gpl3Plus ];
maintainers = with lib.maintainers; [ ];
maintainers = with lib.maintainers; [ emaryn ];
};
libclash = buildGoModule {
@ -41,7 +41,7 @@ let
modRoot = "core";
vendorHash = "sha256-Wm1VheSLaAS+tLQq7lNkPzoEER1sKiNczUgYLSfuLng=";
vendorHash = "sha256-pc0TnYnY6QWpGdO7IGAquuyS+NXbq7Xkr+dOo8uLPQU=";
env.CGO_ENABLED = 0;
@ -57,11 +57,13 @@ let
meta = metaCommon;
};
in
flutter329.buildFlutterApplication {
flutter332.buildFlutterApplication {
inherit pname version src;
pubspecLock = lib.importJSON ./pubspec.lock.json;
gitHashes.flutter_js = "sha256-4PgiUL7aBnWVOmz2bcSxKt81BRVMnopabj5LDbtPYk4=";
nativeBuildInputs = [
copyDesktopItems
autoPatchelfHook
@ -81,9 +83,7 @@ flutter329.buildFlutterApplication {
icon = "flclash";
genericName = "FlClash";
desktopName = "FlClash";
categories = [
"Network"
];
categories = [ "Network" ];
keywords = [
"FlClash"
"Clash"

File diff suppressed because it is too large Load Diff

View File

@ -9,13 +9,13 @@
python3.pkgs.buildPythonApplication rec {
pname = "git-machete";
version = "3.34.1";
version = "3.36.0";
src = fetchFromGitHub {
owner = "virtuslab";
repo = pname;
rev = "v${version}";
hash = "sha256-CllaviW7pqLD9XD4oSHyW2nG4lObkPWFseXZbtkNUQI=";
hash = "sha256-iSuOiQC+dKqcDCS4nTPMrNFpo3ipPUQhfoofM11UInI=";
};
nativeBuildInputs = [ installShellFiles ];

View File

@ -6,13 +6,13 @@
buildGoModule rec {
pname = "go-licence-detector";
version = "0.7.0";
version = "0.8.0";
src = fetchFromGitHub {
owner = "elastic";
repo = "go-licence-detector";
rev = "v${version}";
hash = "sha256-43MyzEF7BZ7pcgzDvXx9SjXGHaLozmWkGWUO/yf6K98=";
hash = "sha256-mytZc5sfYkzvdv53EVnM97fvfOPh+Y06j+aB8bhFv5o=";
};
vendorHash = "sha256-7vIP5pGFH6CbW/cJp+DiRg2jFcLFEBl8dQzUw1ogTTA=";

View File

@ -10,16 +10,16 @@
}:
buildGoModule rec {
pname = "goreleaser";
version = "2.9.0";
version = "2.10.2";
src = fetchFromGitHub {
owner = "goreleaser";
repo = "goreleaser";
rev = "v${version}";
hash = "sha256-2nen0Bd7jBlRz9AbcQAiK1GdT0ZkP9gBu3TfbpXIX6M=";
hash = "sha256-MryN6Qm/cedL/aIpf8Pxb4nPdH4iw9aW0mhEv5jBvUo=";
};
vendorHash = "sha256-RN06Smr6HQGOUV3hQKxAbueDwI8ZlrnaF3vwrSesGOM=";
vendorHash = "sha256-s23FmEbtITW/PD64f8qecClC7SDp08VhC4bRpbgVrb0=";
ldflags = [
"-s"

View File

@ -3,7 +3,9 @@
set -euo pipefail
currentVersion=$(nix-instantiate --eval -E "with import ./. {}; hoppscotch.version or (lib.getVersion hoppscotch)" | tr -d '"')
BASEDIR="$(dirname "$0")/../../../.."
currentVersion=$(nix-instantiate --eval -E "with import $BASEDIR {}; hoppscotch.version or (lib.getVersion hoppscotch)" | tr -d '"')
latestVersion=$(curl ${GITHUB_TOKEN:+-u ":$GITHUB_TOKEN"} -sL https://api.github.com/repos/hoppscotch/releases/releases/latest | jq --raw-output .tag_name | sed 's/^v//')
if [[ "$currentVersion" == "$latestVersion" ]]; then
@ -17,6 +19,6 @@ for system in \
x86_64-linux \
x86_64-darwin \
aarch64-darwin; do
hash=$(nix hash convert --to sri --hash-algo sha256 $(nix-prefetch-url $(nix-instantiate --eval -E "with import ./. {}; hoppscotch.src.url" --system "$system" | tr -d '"')))
update-source-version hoppscotch $latestVersion $hash --system=$system --ignore-same-version
hash=$(nix hash convert --to sri --hash-algo sha256 $(nix-prefetch-url $(nix-instantiate --eval -E "with import $BASEDIR {}; hoppscotch.src.url" --system "$system" | tr -d '"')))
(cd $BASEDIR && update-source-version hoppscotch $latestVersion $hash --system=$system --ignore-same-version)
done

View File

@ -7,17 +7,17 @@
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "iwe";
version = "0.0.30";
version = "0.0.33";
src = fetchFromGitHub {
owner = "iwe-org";
repo = "iwe";
tag = "iwe-v${finalAttrs.version}";
hash = "sha256-KIhBzPFEPayihDPGy9Zlb59Nf5oOiySKCIS0OClqZnU=";
hash = "sha256-PjonpAyq6FPJs5mo4W3z9yIVU8auGGtTrK/GBxMcPbk=";
};
useFetchCargoVendor = true;
cargoHash = "sha256-mADJKDRTixToyol9KEtYWsOy/P70itLAtjh3UbqUz9E=";
cargoHash = "sha256-EfoDpa2hN9W2unci4rIi4gjlJV2NzdU77FbOW0OTu2c=";
cargoBuildFlags = [
"--package=iwe"

View File

@ -1,7 +1,7 @@
{
lib,
fetchFromGitHub,
flutter329,
flutter332,
webkitgtk_4_1,
mpv,
rustPlatform,
@ -13,13 +13,13 @@
let
pname = "mangayomi";
version = "0.6.0";
version = "0.6.25";
src = fetchFromGitHub {
owner = "kodjodevf";
repo = "mangayomi";
tag = "v${version}";
hash = "sha256-kvwssyVjce9VipANRED5k3a2pdJRAhio6GtM7+5nd38=";
hash = "sha256-vuikoTyvUESz9ZESo4gy76syLYVO1WZdvoJf6NsyW4Y=";
};
metaCommon = {
@ -38,14 +38,14 @@ let
useFetchCargoVendor = true;
cargoHash = "sha256-vGu5e5M6CFpaLodEpt8v8DGhu2S5h/E4vvqSNOKkWns=";
cargoHash = "sha256-DDHBLQWscORg4+0CX5c2wmrhm2t7wOpotZFB+85w+EA=";
passthru.libraryPath = "lib/librust_lib_mangayomi.so";
meta = metaCommon;
};
in
flutter329.buildFlutterApplication {
flutter332.buildFlutterApplication {
inherit pname version src;
pubspecLock = lib.importJSON ./pubspec.lock.json;
@ -76,8 +76,11 @@ flutter329.buildFlutterApplication {
gitHashes = {
desktop_webview_window = "sha256-wRxQPlJZZe4t2C6+G5dMx3+w8scxWENLwII08dlZ4IA=";
flutter_qjs = "sha256-m+Z0bCswylfd1E2Y6X6bdPivkSlXUxO4J0Icbco+/0A=";
flutter_qjs = "sha256-uF3+lQyc6oXWjg9xm8PVXRNZ3AXrw7+FH/lPIQPzaJY=";
flutter_web_auth_2 = "sha256-3aci73SP8eXg6++IQTQoyS+erUUuSiuXymvR32sxHFw=";
epubx = "sha256-Rf9zaabPvP7D4NgyJ+LpSB8zHjBvhq2wE0p9Sy7uOXM=";
media_kit_video = "sha256-t8lqS44lylLhMyvlY5G1k7EXfpDq8WshBVg8D/z0Hbc=";
re_editor = "sha256-alfzTs9lUHTsaZgXADb1X3T4ZB6KrhIEeGY0wuvZJtU=";
};
nativeBuildInputs = [ copyDesktopItems ];

View File

@ -90,11 +90,11 @@
"dependency": "direct main",
"description": {
"name": "archive",
"sha256": "7dcbd0f87fe5f61cb28da39a1a8b70dbc106e2fe0516f7836eb7bb2948481a12",
"sha256": "2fde1607386ab523f7a36bb3e7edb43bd58e6edaf2ffb29d8a6d578b297fdbbd",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "4.0.5"
"version": "4.0.7"
},
"args": {
"dependency": "transitive",
@ -110,21 +110,21 @@
"dependency": "transitive",
"description": {
"name": "asn1lib",
"sha256": "e02d018628c870ef2d7f03e33f9ad179d89ff6ec52ca6c56bcb80bcef979867f",
"sha256": "0511d6be23b007e95105ae023db599aea731df604608978dada7f9faf2637623",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.6.2"
"version": "1.6.4"
},
"async": {
"dependency": "transitive",
"description": {
"name": "async",
"sha256": "d2872f9c19731c2e5f10444b14686eb7cc85c76274bd6c16e1816bff9a3bab63",
"sha256": "758e6d74e971c3e5aceb4110bfd6698efc7f501675bcfe0c775459a8140750eb",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "2.12.0"
"version": "2.13.0"
},
"audio_session": {
"dependency": "transitive",
@ -276,16 +276,6 @@
"source": "hosted",
"version": "1.3.1"
},
"change_case": {
"dependency": "transitive",
"description": {
"name": "change_case",
"sha256": "e41ef3df58521194ef8d7649928954805aeb08061917cf658322305e61568003",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "2.2.0"
},
"characters": {
"dependency": "transitive",
"description": {
@ -310,11 +300,11 @@
"dependency": "transitive",
"description": {
"name": "chewie",
"sha256": "df6711bc3ba165ad19cb496e350250be5673327f79c61c9cc8a15088ed8007ed",
"sha256": "4d9554a8f87cc2dc6575dfd5ad20a4375015a29edd567fd6733febe6365e2566",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.11.1"
"version": "1.11.3"
},
"cli_util": {
"dependency": "transitive",
@ -360,11 +350,11 @@
"dependency": "direct main",
"description": {
"name": "connectivity_plus",
"sha256": "04bf81bb0b77de31557b58d052b24b3eee33f09a6e7a8c68a3e247c7df19ec27",
"sha256": "051849e2bd7c7b3bc5844ea0d096609ddc3a859890ec3a9ac4a65a2620cc1f99",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "6.1.3"
"version": "6.1.4"
},
"connectivity_plus_platform_interface": {
"dependency": "transitive",
@ -446,15 +436,15 @@
"source": "hosted",
"version": "1.0.0+7.3.0"
},
"dart_eval": {
"d4rt": {
"dependency": "direct main",
"description": {
"name": "dart_eval",
"sha256": "bbad8246a99a3c61925e19b3d2c2bd6311f8186fb4642a16bf3d22153b3ade55",
"name": "d4rt",
"sha256": "d38cde299f9e434b3c2bd0c07a7f3743e2853dfed60a3ed1f97685c34d922062",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "0.7.10"
"version": "0.0.7"
},
"dart_style": {
"dependency": "transitive",
@ -501,11 +491,11 @@
"dependency": "direct main",
"description": {
"name": "device_info_plus",
"sha256": "306b78788d1bb569edb7c55d622953c2414ca12445b41c9117963e03afc5c513",
"sha256": "0c6396126421b590089447154c5f98a5de423b70cfb15b1578fd018843ee6f53",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "11.3.3"
"version": "11.4.0"
},
"device_info_plus_platform_interface": {
"dependency": "transitive",
@ -517,16 +507,6 @@
"source": "hosted",
"version": "7.0.2"
},
"directed_graph": {
"dependency": "transitive",
"description": {
"name": "directed_graph",
"sha256": "3718b9f697a8e73890dea3d93edb6d58b63778996306b4b19c575710e3e2523d",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "0.4.4"
},
"draggable_menu": {
"dependency": "direct main",
"description": {
@ -547,15 +527,16 @@
"source": "hosted",
"version": "5.0.3"
},
"exception_templates": {
"dependency": "transitive",
"epubx": {
"dependency": "direct main",
"description": {
"name": "exception_templates",
"sha256": "517f7c770da690073663f867ee2057ae2f4ffb28edae9da9faa624aa29ac76eb",
"url": "https://pub.dev"
"path": ".",
"ref": "dev",
"resolved-ref": "c8203a489fae5683001556b1d323e35f356294fb",
"url": "https://github.com/kodjodevf/epubx.dart.git"
},
"source": "hosted",
"version": "0.3.1"
"source": "git",
"version": "4.0.3"
},
"expandable_text": {
"dependency": "direct main",
@ -581,31 +562,41 @@
"dependency": "direct main",
"description": {
"name": "extended_image",
"sha256": "85199f9233e03abc2ce2e68cbb2991648666af4a527ae4e6250935be8edfddae",
"sha256": "f6cbb1d798f51262ed1a3d93b4f1f2aa0d76128df39af18ecb77fa740f88b2e0",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "9.1.0"
"version": "10.0.1"
},
"extended_image_library": {
"dependency": "transitive",
"description": {
"name": "extended_image_library",
"sha256": "e61dafd94400fff6ef7ed1523d445ff3af137f198f3228e4a3107bc5b4bec5d1",
"sha256": "ae468c31c375064964de11cbb31310a58c4462df6e3bae1a0bc0066f586795d5",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "4.0.6"
"version": "5.0.0"
},
"fading_edge_scrollview": {
"dependency": "transitive",
"description": {
"name": "fading_edge_scrollview",
"sha256": "1f84fe3ea8e251d00d5735e27502a6a250e4aa3d3b330d3fdcb475af741464ef",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "4.1.1"
},
"fake_async": {
"dependency": "transitive",
"description": {
"name": "fake_async",
"sha256": "6a95e56b2449df2273fd8c45a662d6947ce1ebb7aafe80e550a3f68297f3cacc",
"sha256": "5368f224a74523e8d2e7399ea1638b37aecfca824a3cc4dfdf77bf1fa905ac44",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.3.2"
"version": "1.3.3"
},
"ffi": {
"dependency": "direct main",
@ -641,11 +632,11 @@
"dependency": "direct main",
"description": {
"name": "file_picker",
"sha256": "16dc141db5a2ccc6520ebb6a2eb5945b1b09e95085c021d9f914f8ded7f1465c",
"sha256": "77f8e81d22d2a07d0dee2c62e1dda71dc1da73bf43bb2d45af09727406167964",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "8.1.4"
"version": "10.1.9"
},
"fixnum": {
"dependency": "transitive",
@ -683,16 +674,6 @@
"source": "sdk",
"version": "0.0.0"
},
"flutter_app_installer": {
"dependency": "direct main",
"description": {
"name": "flutter_app_installer",
"sha256": "b71f7c3f6c5712b6f9bdcde798bbb8a0c4047cab47c4364f7252de8c95d67358",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.0.0"
},
"flutter_cache_manager": {
"dependency": "transitive",
"description": {
@ -787,11 +768,11 @@
"dependency": "direct dev",
"description": {
"name": "flutter_launcher_icons",
"sha256": "526faf84284b86a4cb36d20a5e45147747b7563d921373d4ee0559c54fcdbcea",
"sha256": "bfa04787c85d80ecb3f8777bde5fc10c3de809240c48fa061a2c2bf15ea5211c",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "0.13.1"
"version": "0.14.3"
},
"flutter_lints": {
"dependency": "direct dev",
@ -813,18 +794,18 @@
"dependency": "transitive",
"description": {
"name": "flutter_plugin_android_lifecycle",
"sha256": "5a1e6fb2c0561958d7e4c33574674bda7b77caaca7a33b758876956f2902eea3",
"sha256": "f948e346c12f8d5480d2825e03de228d0eb8c3a737e4cdaa122267b89c022b5e",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "2.0.27"
"version": "2.0.28"
},
"flutter_qjs": {
"dependency": "direct main",
"description": {
"path": ".",
"ref": "main",
"resolved-ref": "6b70858b18d53203f5024edd7e24fee4af8b921a",
"resolved-ref": "312d06c722287cfa05946bc75ac02587eb7a33c0",
"url": "https://github.com/kodjodevf/flutter_qjs.git"
},
"source": "git",
@ -844,21 +825,21 @@
"dependency": "direct main",
"description": {
"name": "flutter_rust_bridge",
"sha256": "5a5c7a5deeef2cc2ffe6076a33b0429f4a20ceac22a397297aed2b1eb067e611",
"sha256": "b416ff56002789e636244fb4cc449f587656eff995e5a7169457eb0593fcaddb",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "2.9.0"
"version": "2.10.0"
},
"flutter_svg": {
"dependency": "transitive",
"description": {
"name": "flutter_svg",
"sha256": "c200fd79c918a40c5cd50ea0877fa13f81bdaf6f0a5d3dbcc2a13e3285d6aa1b",
"sha256": "d44bf546b13025ec7353091516f6881f1d4c633993cb109c3916c3a0159dadf1",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "2.0.17"
"version": "2.1.0"
},
"flutter_test": {
"dependency": "direct dev",
@ -1077,21 +1058,21 @@
"dependency": "direct main",
"description": {
"name": "html",
"sha256": "1fc58edeaec4307368c60d59b7e15b9d658b57d7f3125098b6294153c75337ec",
"sha256": "6d1264f2dffa1b1101c25a91dff0dc2daee4c18e87cd8538729773c073dbf602",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "0.15.5"
"version": "0.15.6"
},
"http": {
"dependency": "direct main",
"description": {
"name": "http",
"sha256": "fe7ab022b76f3034adc518fb6ea04a82387620e19977665ea18d30a1cf43442f",
"sha256": "2c11f3f94c687ee9bad77c171151672986360b2b001d109814ee7140b2cf261b",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.3.0"
"version": "1.4.0"
},
"http_client_helper": {
"dependency": "transitive",
@ -1157,21 +1138,21 @@
"dependency": "direct dev",
"description": {
"name": "inno_bundle",
"sha256": "e9d0ab41a82157da42ebd4206bda22ed04bf096a6e7d416c79d79201c388d563",
"sha256": "544ca69ce64c5b06b346f328170ae407ca99605beab23ccc779b39acf6ba1c9a",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "0.8.0"
"version": "0.9.0"
},
"intl": {
"dependency": "direct main",
"description": {
"name": "intl",
"sha256": "d6f56758b7d3014a48af9701c085700aac781a92a87a62b1333b46d8879661cf",
"sha256": "3df61194eb431efc39c4ceba583b95633a403f46c9fd341e550ce0bfa50e9aa5",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "0.19.0"
"version": "0.20.2"
},
"io": {
"dependency": "transitive",
@ -1307,41 +1288,31 @@
"dependency": "transitive",
"description": {
"name": "just_audio_platform_interface",
"sha256": "271b93b484c6f494ecd72a107fffbdb26b425f170c665b9777a0a24a726f2f24",
"sha256": "4cd94536af0219fa306205a58e78d67e02b0555283c1c094ee41e402a14a5c4a",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "4.4.0"
"version": "4.5.0"
},
"just_audio_web": {
"dependency": "transitive",
"description": {
"name": "just_audio_web",
"sha256": "58915be64509a7683c44bf11cd1a23c15a48de104927bee116e3c63c8eeea0d4",
"sha256": "6ba8a2a7e87d57d32f0f7b42856ade3d6a9fbe0f1a11fabae0a4f00bb73f0663",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "0.4.14"
},
"lazy_memo": {
"dependency": "transitive",
"description": {
"name": "lazy_memo",
"sha256": "dcb30b4184a6d767e1d779d74ce784d752d38313b8fb4bad6b659ae7af4bb34d",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "0.2.3"
"version": "0.4.16"
},
"leak_tracker": {
"dependency": "transitive",
"description": {
"name": "leak_tracker",
"sha256": "c35baad643ba394b40aac41080300150a4f08fd0fd6a10378f8f7c6bc161acec",
"sha256": "6bb818ecbdffe216e81182c2f0714a2e62b593f4a4f13098713ff1685dfb6ab0",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "10.0.8"
"version": "10.0.9"
},
"leak_tracker_flutter_testing": {
"dependency": "transitive",
@ -1393,6 +1364,16 @@
"source": "hosted",
"version": "0.1.3-main.0"
},
"marquee": {
"dependency": "direct main",
"description": {
"name": "marquee",
"sha256": "a87e7e80c5d21434f90ad92add9f820cf68be374b226404fe881d2bba7be0862",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "2.3.0"
},
"matcher": {
"dependency": "transitive",
"description": {
@ -1496,11 +1477,12 @@
"media_kit_video": {
"dependency": "direct main",
"description": {
"name": "media_kit_video",
"sha256": "a656a9463298c1adc64c57f2d012874f7f2900f0c614d9545a3e7b8bb9e2137b",
"url": "https://pub.dev"
"path": "media_kit_video",
"ref": "aeb29faa8ea93a386ad1185b69fd6225fa331c74",
"resolved-ref": "aeb29faa8ea93a386ad1185b69fd6225fa331c74",
"url": "https://github.com/media-kit/media-kit.git"
},
"source": "hosted",
"source": "git",
"version": "1.3.0"
},
"meta": {
@ -1627,11 +1609,11 @@
"dependency": "transitive",
"description": {
"name": "path_provider_android",
"sha256": "0ca7359dad67fd7063cb2892ab0c0737b2daafd807cf1acecd62374c8fae6c12",
"sha256": "d0d310befe2c8ab9e7f393288ccbb11b60c019c6b5afc21973eeee4dda2b35e9",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "2.2.16"
"version": "2.2.17"
},
"path_provider_foundation": {
"dependency": "transitive",
@ -1697,11 +1679,11 @@
"dependency": "transitive",
"description": {
"name": "permission_handler_apple",
"sha256": "f84a188e79a35c687c132a0a0556c254747a08561e99ab933f12f6ca71ef3c98",
"sha256": "f000131e755c54cf4d84a5d8bd6e4149e262cc31c5a8b1d698de1ac85fa41023",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "9.4.6"
"version": "9.4.7"
},
"permission_handler_html": {
"dependency": "transitive",
@ -1797,41 +1779,41 @@
"dependency": "transitive",
"description": {
"name": "posix",
"sha256": "a0117dc2167805aa9125b82eee515cc891819bac2f538c83646d355b16f58b9a",
"sha256": "f0d7856b6ca1887cfa6d1d394056a296ae33489db914e365e2044fdada449e62",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "6.0.1"
"version": "6.0.2"
},
"protobuf": {
"dependency": "direct main",
"description": {
"name": "protobuf",
"sha256": "68645b24e0716782e58948f8467fd42a880f255096a821f9e7d0ec625b00c84d",
"sha256": "579fe5557eae58e3adca2e999e38f02441d8aa908703854a9e0a0f47fa857731",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "3.1.0"
"version": "4.1.0"
},
"protoc_plugin": {
"dependency": "direct dev",
"description": {
"name": "protoc_plugin",
"sha256": "fb0554851c9eca30bd18405fbbfe81e39166d4a2f0e5b770606fd69da3da0b2f",
"sha256": "1d163c80b803c5aeec6364cca95edb22d31941e9dbd921463f063660c70a2368",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "21.1.2"
"version": "22.2.0"
},
"provider": {
"dependency": "transitive",
"description": {
"name": "provider",
"sha256": "489024f942069c2920c844ee18bb3d467c69e48955a4f32d1677f71be103e310",
"sha256": "4abbd070a04e9ddc287673bf5a030c7ca8b685ff70218720abab8b092f53dd84",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "6.1.4"
"version": "6.1.5"
},
"pseudom": {
"dependency": "direct main",
@ -1873,25 +1855,16 @@
"source": "hosted",
"version": "3.2.2"
},
"quote_buffer": {
"dependency": "transitive",
"description": {
"name": "quote_buffer",
"sha256": "c4cd07e55ed1b1645a1cc74278a03b2a642c9f6ea3c0528d51827fdd320acf87",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "0.2.6"
},
"re_editor": {
"dependency": "direct main",
"description": {
"name": "re_editor",
"sha256": "2169c114c7877bcaae72d6e8b69cdaa2a9cded69a51e3cf26209dad4a3ed2b9c",
"url": "https://pub.dev"
"path": ".",
"ref": "main",
"resolved-ref": "f4d9107956aabae303a2b990119bebc9a2671e62",
"url": "https://github.com/kodjodevf/re-editor"
},
"source": "hosted",
"version": "0.6.0"
"source": "git",
"version": "0.7.0"
},
"re_highlight": {
"dependency": "direct main",
@ -1986,11 +1959,11 @@
"dependency": "direct main",
"description": {
"name": "screen_brightness",
"sha256": "eca7bd9d2c3c688bcad14855361cab7097839400b6b4a56f62b7ae511c709958",
"sha256": "46d1b448729c1ed67c812f2c97d7fa8308809d91031c7ecdeb216ca65f7660de",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "2.1.2"
"version": "2.1.3"
},
"screen_brightness_android": {
"dependency": "transitive",
@ -2022,6 +1995,16 @@
"source": "hosted",
"version": "2.1.1"
},
"screen_brightness_ohos": {
"dependency": "transitive",
"description": {
"name": "screen_brightness_ohos",
"sha256": "61e313e46eaee3f83dd4e85a2a91f8a81be02c154bc9e60830a7c0fd76dac286",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "2.1.0"
},
"screen_brightness_platform_interface": {
"dependency": "transitive",
"description": {
@ -2382,21 +2365,21 @@
"dependency": "transitive",
"description": {
"name": "url_launcher_android",
"sha256": "1d0eae19bd7606ef60fe69ef3b312a437a16549476c42321d5dc1506c9ca3bf4",
"sha256": "8582d7f6fe14d2652b4c45c9b6c14c0b678c2af2d083a11b604caeba51930d79",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "6.3.15"
"version": "6.3.16"
},
"url_launcher_ios": {
"dependency": "transitive",
"description": {
"name": "url_launcher_ios",
"sha256": "16a513b6c12bb419304e72ea0ae2ab4fed569920d1c7cb850263fe3acc824626",
"sha256": "7f2022359d4c099eea7df3fdf739f7d3d3b9faf3166fb1dd390775176e0b76cb",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "6.3.2"
"version": "6.3.3"
},
"url_launcher_linux": {
"dependency": "transitive",
@ -2432,11 +2415,11 @@
"dependency": "transitive",
"description": {
"name": "url_launcher_web",
"sha256": "3ba963161bd0fe395917ba881d320b9c4f6dd3c4a233da62ab18a5025c85f1e9",
"sha256": "4bd2b7b4dc4d4d0b94e5babfffbca8eac1a126c7f3d6ecbc1a11013faa3abba2",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "2.4.0"
"version": "2.4.1"
},
"url_launcher_windows": {
"dependency": "transitive",
@ -2512,21 +2495,21 @@
"dependency": "transitive",
"description": {
"name": "video_player_android",
"sha256": "ae7d4f1b41e3ac6d24dd9b9d5d6831b52d74a61bdd90a7a6262a33d8bb97c29a",
"sha256": "28dcc4122079f40f93a0965b3679aff1a5f4251cf79611bd8011f937eb6b69de",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "2.8.2"
"version": "2.8.4"
},
"video_player_avfoundation": {
"dependency": "transitive",
"description": {
"name": "video_player_avfoundation",
"sha256": "84b4752745eeccb6e75865c9aab39b3d28eb27ba5726d352d45db8297fbd75bc",
"sha256": "9ee764e5cd2fc1e10911ae8ad588e1a19db3b6aa9a6eb53c127c42d3a3c3f22f",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "2.7.0"
"version": "2.7.1"
},
"video_player_platform_interface": {
"dependency": "transitive",
@ -2542,21 +2525,21 @@
"dependency": "transitive",
"description": {
"name": "video_player_web",
"sha256": "3ef40ea6d72434edbfdba4624b90fd3a80a0740d260667d91e7ecd2d79e13476",
"sha256": "e8bba2e5d1e159d5048c9a491bb2a7b29c535c612bb7d10c1e21107f5bd365ba",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "2.3.4"
"version": "2.3.5"
},
"vm_service": {
"dependency": "transitive",
"description": {
"name": "vm_service",
"sha256": "0968250880a6c5fe7edc067ed0a13d4bae1577fe2771dcf3010d52c4a9d3ca14",
"sha256": "ddfa8d30d89985b96407efce8acbdd124701f96741f2d981ca860662f1c0dc02",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "14.3.1"
"version": "15.0.0"
},
"volume_controller": {
"dependency": "transitive",
@ -2572,21 +2555,21 @@
"dependency": "transitive",
"description": {
"name": "wakelock_plus",
"sha256": "b90fbcc8d7bdf3b883ea9706d9d76b9978cb1dfa4351fcc8014d6ec31a493354",
"sha256": "a474e314c3e8fb5adef1f9ae2d247e57467ad557fa7483a2b895bc1b421c5678",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.2.11"
"version": "1.3.2"
},
"wakelock_plus_platform_interface": {
"dependency": "transitive",
"description": {
"name": "wakelock_plus_platform_interface",
"sha256": "70e780bc99796e1db82fe764b1e7dcb89a86f1e5b3afb1db354de50f2e41eb7a",
"sha256": "e10444072e50dbc4999d7316fd303f7ea53d31c824aa5eb05d7ccbdd98985207",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.2.2"
"version": "1.2.3"
},
"watcher": {
"dependency": "transitive",
@ -2612,71 +2595,71 @@
"dependency": "transitive",
"description": {
"name": "web_socket",
"sha256": "3c12d96c0c9a4eec095246debcea7b86c0324f22df69893d538fcc6f1b8cce83",
"sha256": "34d64019aa8e36bf9842ac014bb5d2f5586ca73df5e4d9bf5c936975cae6982c",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "0.1.6"
"version": "1.0.1"
},
"web_socket_channel": {
"dependency": "transitive",
"description": {
"name": "web_socket_channel",
"sha256": "0b8e2457400d8a859b7b2030786835a28a8e80836ef64402abef392ff4f1d0e5",
"sha256": "d645757fb0f4773d602444000a8131ff5d48c9e47adfe9772652dd1a4f2d45c8",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "3.0.2"
"version": "3.0.3"
},
"webview_flutter": {
"dependency": "transitive",
"description": {
"name": "webview_flutter",
"sha256": "889a0a678e7c793c308c68739996227c9661590605e70b1f6cf6b9a6634f7aec",
"sha256": "c3e4fe614b1c814950ad07186007eff2f2e5dd2935eba7b9a9a1af8e5885f1ba",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "4.10.0"
"version": "4.13.0"
},
"webview_flutter_android": {
"dependency": "transitive",
"description": {
"name": "webview_flutter_android",
"sha256": "e09150b28a07933839adef0e4a088bb43e8c8d9e6b93025b01882d4067a58ab0",
"sha256": "f6e6afef6e234801da77170f7a1847ded8450778caf2fe13979d140484be3678",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "4.3.4"
"version": "4.7.0"
},
"webview_flutter_platform_interface": {
"dependency": "transitive",
"description": {
"name": "webview_flutter_platform_interface",
"sha256": "d937581d6e558908d7ae3dc1989c4f87b786891ab47bb9df7de548a151779d8d",
"sha256": "7cb32b21825bd65569665c32bb00a34ded5779786d6201f5350979d2d529940d",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "2.10.0"
"version": "2.13.0"
},
"webview_flutter_wkwebview": {
"dependency": "transitive",
"description": {
"name": "webview_flutter_wkwebview",
"sha256": "c14455137ce60a68e1ccaf4e8f2dae8cebcb3465ddaa2fcfb57584fb7c5afe4d",
"sha256": "a3d461fe3467014e05f3ac4962e5fdde2a4bf44c561cb53e9ae5c586600fdbc3",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "3.18.5"
"version": "3.22.0"
},
"win32": {
"dependency": "direct main",
"description": {
"name": "win32",
"sha256": "dc6ecaa00a7c708e5b4d10ee7bec8c270e9276dfcab1783f57e9962d7884305f",
"sha256": "329edf97fdd893e0f1e3b9e88d6a0e627128cc17cc316a8d67fda8f1451178ba",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "5.12.0"
"version": "5.13.0"
},
"win32_registry": {
"dependency": "transitive",
@ -2780,7 +2763,7 @@
}
},
"sdks": {
"dart": ">=3.7.2 <4.0.0",
"dart": ">=3.8.0 <4.0.0",
"flutter": ">=3.29.0"
}
}

View File

@ -34,13 +34,13 @@
}:
stdenv.mkDerivation (finalAttrs: {
pname = "megasync";
version = "5.9.0.3";
version = "5.12.0.1";
src = fetchFromGitHub rec {
owner = "meganz";
repo = "MEGAsync";
tag = "v${finalAttrs.version}_Linux";
hash = "sha256-anX/zVCKG3azROamIIqG9hrj+2Tcw+sFIE60RDCJjaY=";
hash = "sha256-dIva/Xmk7enmRbczfuy1VLAcAMPQ27HUaHEQSTsldaY=";
fetchSubmodules = false; # DesignTokensImporter cannot be fetched, see #1010 in github:meganz/megasync
leaveDotGit = true;
postFetch = ''
@ -122,6 +122,8 @@ stdenv.mkDerivation (finalAttrs: {
(lib.cmakeBool "USE_PDFIUM" false) # PDFIUM is not in nixpkgs
(lib.cmakeBool "USE_FREEIMAGE" false) # freeimage is insecure
(lib.cmakeBool "ENABLE_DESIGN_TOKENS_IMPORTER" false) # cannot be fetched
(lib.cmakeBool "USE_BREAKPAD" false)
(lib.cmakeBool "ENABLE_DESKTOP_APP_TESTS" false)
];
preFixup = ''

View File

@ -292,6 +292,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
ulrikstrid
maeve-oake
leleuvilela
bricklou
];
platforms = [ "x86_64-linux" ];
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];

View File

@ -6,18 +6,20 @@
openjdk11,
jnr-posix,
makeWrapper,
openjfx17,
zip,
nixosTests,
bash,
glib,
xorg,
alsa-lib,
}:
stdenv.mkDerivation rec {
pname = "microsoft-identity-broker";
version = "2.0.1";
src = fetchurl {
url = "https://packages.microsoft.com/ubuntu/22.04/prod/pool/main/m/microsoft-identity-broker/microsoft-identity-broker_${version}_amd64.deb";
hash = "sha256-v/FxtdvRaUHYqvFSkJIZyicIdcyxQ8lPpY5rb9smnqA=";
url = "https://packages.microsoft.com/ubuntu/24.04/prod/pool/main/m/microsoft-identity-broker/microsoft-identity-broker_${version}_amd64.deb";
hash = "sha256-JheJnsu1ZxJbcpt0367FqfHVdwWWvPem2fm0i8s7MGE=";
};
nativeBuildInputs = [
@ -27,24 +29,15 @@ stdenv.mkDerivation rec {
zip
];
buildInputs = [
glib
xorg.libXtst
alsa-lib
];
buildPhase = ''
runHook preBuild
rm opt/microsoft/identity-broker/lib/jnr-posix-3.1.4.jar
jar -uf opt/microsoft/identity-broker/lib/javafx-graphics-15-linux.jar -C ${openjfx17}/modules_libs/javafx.graphics/ libglass.so
jar -uf opt/microsoft/identity-broker/lib/javafx-graphics-15-linux.jar -C ${openjfx17}/modules_libs/javafx.graphics/ libglassgtk3.so
jar -uf opt/microsoft/identity-broker/lib/javafx-graphics-15-linux.jar -C ${openjfx17}/modules_libs/javafx.graphics/ libprism_es2.so
zip -d opt/microsoft/identity-broker/lib/javafx-media-15-linux.jar libavplugin-54.so
zip -d opt/microsoft/identity-broker/lib/javafx-media-15-linux.jar libavplugin-56.so
zip -d opt/microsoft/identity-broker/lib/javafx-media-15-linux.jar libavplugin-57.so
zip -d opt/microsoft/identity-broker/lib/javafx-media-15-linux.jar libavplugin-ffmpeg-56.so
zip -d opt/microsoft/identity-broker/lib/javafx-media-15-linux.jar libavplugin-ffmpeg-57.so
zip -d opt/microsoft/identity-broker/lib/javafx-media-15-linux.jar libavplugin-ffmpeg-58.so
jar -uf opt/microsoft/identity-broker/lib/javafx-media-15-linux.jar -C ${openjfx17}/modules_libs/javafx.media/ libavplugin.so
jar -uf opt/microsoft/identity-broker/lib/javafx-media-15-linux.jar -C ${openjfx17}/modules_libs/javafx.media/ libfxplugins.so
jar -uf opt/microsoft/identity-broker/lib/javafx-media-15-linux.jar -C ${openjfx17}/modules_libs/javafx.media/ libgstreamer-lite.so
jar -uf opt/microsoft/identity-broker/lib/javafx-media-15-linux.jar -C ${openjfx17}/modules_libs/javafx.media/ libjfxmedia.so
runHook postBuild
'';
@ -60,13 +53,20 @@ stdenv.mkDerivation rec {
classpath="$classpath:${jnr-posix}/share/java/jnr-posix-${jnr-posix.version}.jar"
mkdir -p $out/bin
makeWrapper ${openjdk11}/bin/java $out/bin/microsoft-identity-broker \
--add-flags "-classpath $classpath com.microsoft.identity.broker.service.IdentityBrokerService" \
--add-flags "-verbose"
makeWrapper ${openjdk11}/bin/java $out/bin/microsoft-identity-device-broker \
--add-flags "-verbose" \
--prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath buildInputs}" \
--add-flags "-classpath $classpath" \
--add-flags "com.microsoft.identity.broker.service.DeviceBrokerService" \
--add-flags "save"
--add-flags "-Xmx256m -Xss256k -XX:+UseParallelGC -XX:ParallelGCThreads=1" \
--add-flags "-verbose" \
--add-flags "-Djava.net.useSystemProxies=true" \
--add-flags "com.microsoft.identity.broker.service.IdentityBrokerService"
makeWrapper ${openjdk11}/bin/java $out/bin/microsoft-identity-device-broker \
--prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath buildInputs}" \
--add-flags "-classpath $classpath" \
--add-flags "-Xmx256m -Xss256k -XX:+UseParallelGC -XX:ParallelGCThreads=1" \
--add-flags "-verbose" \
--add-flags "-Djava.net.useSystemProxies=true" \
--add-flags "com.microsoft.identity.broker.service.DeviceBrokerService"
runHook postInstall
'';
@ -91,7 +91,7 @@ stdenv.mkDerivation rec {
$out/bin/microsoft-identity-device-broker \
--replace \
/usr/lib/jvm/java-11-openjdk-amd64 \
${openjdk11}/bin/java
${openjdk11}
'';
passthru = {

View File

@ -11,13 +11,13 @@
stdenv.mkDerivation rec {
pname = "nb";
version = "7.19.1";
version = "7.20.0";
src = fetchFromGitHub {
owner = "xwmx";
repo = "nb";
rev = version;
hash = "sha256-vryc1sfjIE2ZaZ4Z/KG1Zij81tIwImUMjk2ZZvzpDF4=";
hash = "sha256-lK7jAECLAL/VX3K7AZEwxkQCRRn2ggRNBAeNPv5x35I=";
};
nativeBuildInputs = [ installShellFiles ];

View File

@ -271,8 +271,8 @@
},
{
"pname": "DynamicData",
"version": "9.2.2",
"hash": "sha256-76RE68Yvibq237dUEc8mCN/S4PQRyULJPs/tFgNOY2I="
"version": "9.3.2",
"hash": "sha256-00fzA28aU48l52TsrDSJ9ucljYOunmH7s2qPyR3YjRA="
},
{
"pname": "EmptyFiles",
@ -356,58 +356,58 @@
},
{
"pname": "GameFinder",
"version": "4.6.3",
"hash": "sha256-Y1kNjf8kZQtx4jrAOv02Jj0JzedTqLhS7CQvtvuFtzY="
"version": "4.7.2",
"hash": "sha256-a+/4rJbo7dc4sVRg6TtvfCt02/Qlih9ovwwkAf6Lve0="
},
{
"pname": "GameFinder.Common",
"version": "4.6.3",
"hash": "sha256-EjbqVIx67dZocKL+IGyvcm/7DmDMCfvOgPEUpf0XMRQ="
"version": "4.7.2",
"hash": "sha256-PNGHswvAeJyr0ipbxY884c9/SKsoYXEYMsI5ymfJovQ="
},
{
"pname": "GameFinder.Launcher.Heroic",
"version": "4.6.3",
"hash": "sha256-w/z5qi5O3CjDNDR9rFdgibeUB+OspNEHfEKXLtEXkn0="
"version": "4.7.2",
"hash": "sha256-sQth9S4artOEA0nalFZRQKLkMU7IqHCx/B5HG8fJVZk="
},
{
"pname": "GameFinder.RegistryUtils",
"version": "4.6.3",
"hash": "sha256-keHM0ngcgxx8UEBky6GtDMfqEv1VupeLsmNpd1i7s2A="
"version": "4.7.2",
"hash": "sha256-ujiSbIH5JHG4c861ex3zm+Uf7RbV+2tNFHKY2gtkwFg="
},
{
"pname": "GameFinder.StoreHandlers.EADesktop",
"version": "4.6.3",
"hash": "sha256-n9Dg0bawW+UtedEJMHiEZOhDigd7j74DX1kWMJlbngw="
"version": "4.7.2",
"hash": "sha256-BcSyWqlsFXaQmYqD+dR2FSNI0NkzjkH9kZCqp4YOy14="
},
{
"pname": "GameFinder.StoreHandlers.EGS",
"version": "4.6.3",
"hash": "sha256-v1kmug4QkBzaqm/6droC36U4gQcckv5bbdw6TIG3Y4o="
"version": "4.7.2",
"hash": "sha256-YAz1gf77Bm18dZe0h1zKO52ZJ7sw6XRz1XPQRVt8W3U="
},
{
"pname": "GameFinder.StoreHandlers.GOG",
"version": "4.6.3",
"hash": "sha256-aGplqNlf8gwnoEpfieMDJQxmJJ13hdz+ahgpBdxK7Do="
"version": "4.7.2",
"hash": "sha256-hvA+kf2ZvpDS1pVSTAJ2839b1rRamJTz+Erux/OmdfE="
},
{
"pname": "GameFinder.StoreHandlers.Origin",
"version": "4.6.3",
"hash": "sha256-U7DfWE2IwOBeDBvdsRXAgiGojnocGqvOa7MNq2nFJ/8="
"version": "4.7.2",
"hash": "sha256-U7ko6fWujUXabVEe0Xxc5PXwb2VBFCyHIByg3MzleG4="
},
{
"pname": "GameFinder.StoreHandlers.Steam",
"version": "4.6.3",
"hash": "sha256-h+akH+XSLnhD2NLM4K3YqgXxEY2dQxeB4XN4D1d0Enk="
"version": "4.7.2",
"hash": "sha256-G1YPgAn7ORQuBm5ZD78EzKS1hIiLyQgjcX2RzSYWbO4="
},
{
"pname": "GameFinder.StoreHandlers.Xbox",
"version": "4.6.3",
"hash": "sha256-fIwa/j71Ll3k371pxmKnEQWOqowW9XD0VhRTMnqsNYA="
"version": "4.7.2",
"hash": "sha256-LSxBpARmANJg199wBZ5FgvBUkq5JvCjTUEe9X+Gs+Ec="
},
{
"pname": "GameFinder.Wine",
"version": "4.6.3",
"hash": "sha256-Tm1i2PO/+y/eCoVjKNsbX0Hu0w09mtUC4xkShgNVJz0="
"version": "4.7.2",
"hash": "sha256-YQgkRgF/wh+Jy5dIDBBE3lExDv5XpylL/xNBf0ge9sI="
},
{
"pname": "Gee.External.Capstone",
@ -1011,8 +1011,8 @@
},
{
"pname": "Microsoft.CodeCoverage",
"version": "17.13.0",
"hash": "sha256-GKrIxeyQo5Az1mztfQgea1kGtJwonnNOrXK/0ULfu8o="
"version": "17.14.0",
"hash": "sha256-dvhelCipcrKwLvwilqwU4Md2YONCHteV+vcWnvBlLEI="
},
{
"pname": "Microsoft.Composition",
@ -1511,8 +1511,8 @@
},
{
"pname": "Microsoft.NET.Test.Sdk",
"version": "17.13.0",
"hash": "sha256-sc2wvyV8cGm1FrNP2GGHEI584RCvRPu15erYCsgw5QY="
"version": "17.14.0",
"hash": "sha256-KSZk8lDeSyHDiFC2xG4b9x6XoK+6nDVEFi2dDd4bk+4="
},
{
"pname": "Microsoft.NETCore.Platforms",
@ -1551,13 +1551,13 @@
},
{
"pname": "Microsoft.TestPlatform.ObjectModel",
"version": "17.13.0",
"hash": "sha256-6S0fjfj8vA+h6dJVNwLi6oZhYDO/I/6hBZaq2VTW+Uk="
"version": "17.14.0",
"hash": "sha256-e312v6n+QcNG6boEL1L7W1pzi14NhVnzf1EAH/Pn06s="
},
{
"pname": "Microsoft.TestPlatform.TestHost",
"version": "17.13.0",
"hash": "sha256-L/CJzou7dhmShUgXq3aXL3CaLTJll17Q+JY2DBdUUpo="
"version": "17.14.0",
"hash": "sha256-uSiD1mioF2ROSmw4B1qONNPe5PxlKzu0AYg3kr3AYH0="
},
{
"pname": "Microsoft.VisualStudio.Composition",
@ -1671,58 +1671,58 @@
},
{
"pname": "NexusMods.Cascade",
"version": "0.12.0",
"hash": "sha256-EHGoZyp67KzDPz3weqQTaSe2aMwJvwUFkeDDdqXYHBU="
"version": "0.15.0",
"hash": "sha256-lmb0zvp4cq9oOF25B/J2iBKmiBAMGtCYb6WMqeqwgA0="
},
{
"pname": "NexusMods.Cascade.SourceGenerator",
"version": "0.12.0",
"hash": "sha256-P7cUTqFgHrvbEvd2nYD0acD8l3f7ZqmT6DX2fxTmpEg="
"version": "0.15.0",
"hash": "sha256-8tfNAUILcmBPeZNiQJ7VC+jbuFEhT9aZo/T7gnn4ZAI="
},
{
"pname": "NexusMods.Hashing.xxHash3",
"version": "3.0.3",
"hash": "sha256-lhuuHZvH1klH6HE00h1On6icd6CLdFqvLLkfb3x1VVY="
"version": "3.0.4",
"hash": "sha256-QXqRjwLcIXD4nTJrxkhp+/2WEkGjjJgE8Zi3bX/4Y9M="
},
{
"pname": "NexusMods.Hashing.xxHash3.Paths",
"version": "3.0.3",
"hash": "sha256-UeOX3Y8MGmAgWHWH3GolsA/MyNM9iam75pxxRXhd50M="
"version": "3.0.4",
"hash": "sha256-n5cVzPcTl0f3iGRFqxr2hP8MXIUQPcAizmDfnmDEAGk="
},
{
"pname": "NexusMods.MnemonicDB",
"version": "0.13.0",
"hash": "sha256-Qb+RAMFYwDSmh4LJwGg0DIR4vzIPP6qJlYL1NQ1THOA="
"version": "0.15.0",
"hash": "sha256-4rtb6WRCxknp0a47tg3JPkvGOCoRXl4ilQZOaTvYQFw="
},
{
"pname": "NexusMods.MnemonicDB.Abstractions",
"version": "0.13.0",
"hash": "sha256-UzVjG5w7UCWpnuvSWrWdUKTyYtb09FM5LweGfE2a5OQ="
"version": "0.15.0",
"hash": "sha256-BWx5MjJfSu4UGRVnFIncfSg6tu5OetSTdtDsIHwHZ5Q="
},
{
"pname": "NexusMods.MnemonicDB.SourceGenerator",
"version": "0.13.0",
"hash": "sha256-vuvKag8+4c0YTuQ+XqitOXg6LQtgY7wonsGeQqhl0uw="
},
{
"pname": "NexusMods.Paths",
"version": "0.15.0",
"hash": "sha256-No2kbrDVmJ5ySLm7jH+gNAfNLVnsv4AtLT1phcuOFLc="
"hash": "sha256-MuMgcHn+73izfYdA6WTHpvKBAITxuNhtGSW1JCJD4Y0="
},
{
"pname": "NexusMods.Paths",
"version": "0.18.0",
"hash": "sha256-HNFDFStIXxkoHU8bt9enmb6YxU2NZnqbiapztQpzCcE="
"version": "0.19.1",
"hash": "sha256-OVknNOErAXglQfDFit+uIQlpxBJ//WOsYtIdGICls88="
},
{
"pname": "NexusMods.Paths",
"version": "0.20.0",
"hash": "sha256-EA4t3gmBF5ny9DyPdb/17NaryOEV8ZxUwS27PW2a9SM="
},
{
"pname": "NexusMods.Paths.Extensions.Nx",
"version": "0.18.0",
"hash": "sha256-UcDLHyepHB1c3RnObNk7Y+2+GDAg+ZmJkGwJ+fLfo1w="
"version": "0.20.0",
"hash": "sha256-4FWRle0MlCm120gp4/3yG0WqMolf/44v+P8oSaQibDc="
},
{
"pname": "NexusMods.Paths.TestingHelpers",
"version": "0.18.0",
"hash": "sha256-J8vNJ5njlKz9Nl6JzrTo232p8PAgm9t3RPh+y7nnD68="
"version": "0.20.0",
"hash": "sha256-k+1dgCZEuEO8xVfdwGKec+FgE//FX1xqIyiyPGYypF0="
},
{
"pname": "NLog",
@ -2399,11 +2399,6 @@
"version": "4.3.0",
"hash": "sha256-KMY5DfJnDeIsa13DpqvyN8NkReZEMAFnlmNglVoFIXI="
},
{
"pname": "System.Collections.Immutable",
"version": "1.2.0",
"hash": "sha256-FQ3l+ulbLSPhQ0JcQCC4D4SzjTnHsRqcOj56Ywy7pMo="
},
{
"pname": "System.Collections.Immutable",
"version": "5.0.0",
@ -2609,11 +2604,6 @@
"version": "4.3.0",
"hash": "sha256-mmJWA27T0GRVuFP9/sj+4TrR4GJWrzNIk2PDrbr7RQk="
},
{
"pname": "System.IO",
"version": "4.1.0",
"hash": "sha256-V6oyQFwWb8NvGxAwvzWnhPxy9dKOfj/XBM3tEC5aHrw="
},
{
"pname": "System.IO",
"version": "4.3.0",
@ -2654,11 +2644,6 @@
"version": "9.0.0",
"hash": "sha256-k6Pdndm5fTD6CB1QsQfP7G+2h4B30CWIsuvjHuBg3fc="
},
{
"pname": "System.IO.Hashing",
"version": "9.0.4",
"hash": "sha256-rbcQzEncB3VuUZIcsE1tq30suf5rvRE4HkE+0lR/skU="
},
{
"pname": "System.IO.Pipelines",
"version": "6.0.3",
@ -2819,11 +2804,6 @@
"version": "4.3.0",
"hash": "sha256-rKx4a9yZKcajloSZHr4CKTVJ6Vjh95ni+zszPxWjh2I="
},
{
"pname": "System.Reflection.Extensions",
"version": "4.0.1",
"hash": "sha256-NsfmzM9G/sN3H8X2cdnheTGRsh7zbRzvegnjDzDH/FQ="
},
{
"pname": "System.Reflection.Extensions",
"version": "4.3.0",
@ -2849,6 +2829,11 @@
"version": "7.0.0",
"hash": "sha256-GwAKQhkhPBYTqmRdG9c9taqrKSKDwyUgOEhWLKxWNPI="
},
{
"pname": "System.Reflection.Metadata",
"version": "8.0.0",
"hash": "sha256-dQGC30JauIDWNWXMrSNOJncVa1umR1sijazYwUDdSIE="
},
{
"pname": "System.Reflection.Primitives",
"version": "4.0.1",
@ -2919,11 +2904,6 @@
"version": "4.3.0",
"hash": "sha256-KJ5aXoGpB56Y6+iepBkdpx/AfaJDAitx4vrkLqR7gms="
},
{
"pname": "System.Runtime.InteropServices",
"version": "4.1.0",
"hash": "sha256-QceAYlJvkPRJc/+5jR+wQpNNI3aqGySWWSO30e/FfQY="
},
{
"pname": "System.Runtime.InteropServices",
"version": "4.3.0",
@ -3044,11 +3024,6 @@
"version": "5.0.0",
"hash": "sha256-CBOQwl9veFkrKK2oU8JFFEiKIh/p+aJO+q9Tc2Q/89Y="
},
{
"pname": "System.Text.Encoding",
"version": "4.0.11",
"hash": "sha256-PEailOvG05CVgPTyKLtpAgRydlSHmtd5K0Y8GSHY2Lc="
},
{
"pname": "System.Text.Encoding",
"version": "4.3.0",
@ -3064,11 +3039,6 @@
"version": "7.0.0",
"hash": "sha256-eCKTVwumD051ZEcoJcDVRGnIGAsEvKpfH3ydKluHxmo="
},
{
"pname": "System.Text.Encoding.Extensions",
"version": "4.0.11",
"hash": "sha256-+kf7J3dEhgCbnCM5vHYlsTm5/R/Ud0Jr6elpHm922iI="
},
{
"pname": "System.Text.Encoding.Extensions",
"version": "4.3.0",
@ -3191,8 +3161,13 @@
},
{
"pname": "TransparentValueObjects",
"version": "1.0.2",
"hash": "sha256-5d9pIf8hbbcBtj6/oc87f98xEuhBiT6Yq5FR2b/mvUQ="
"version": "1.1.0",
"hash": "sha256-ofguV7Dk9Wf47JIvYXoFIs7T+Rv4evtUJ7hcqa8xFDo="
},
{
"pname": "TransparentValueObjects.Abstractions",
"version": "1.1.0",
"hash": "sha256-I2NBomTTExaEhf9/BoplBbDJ9B7YMS3nUOQ5Od4A/e0="
},
{
"pname": "Validation",

View File

@ -24,12 +24,12 @@ let
in
buildDotnetModule (finalAttrs: {
inherit pname;
version = "0.11.3";
version = "0.12.3";
src = fetchgit {
url = "https://github.com/Nexus-Mods/NexusMods.App.git";
rev = "refs/tags/v${finalAttrs.version}";
hash = "sha256-EP51nhFKYfYRjOpgHiGLwXGmpDULoTlGh3hQXhR8sy8=";
hash = "sha256-X0zF0zqWwuCt7oWXwfzDtu+7KZ3yMQwQqP45rlfGm/o=";
fetchSubmodules = true;
};
@ -64,6 +64,10 @@ buildDotnetModule (finalAttrs: {
postPatch = ''
# for some reason these tests fail (intermittently?) with a zero timestamp
touch tests/NexusMods.UI.Tests/WorkspaceSystem/*.verified.png
# Assertion assumes version is set to 0.0.1
substituteInPlace tests/NexusMods.Telemetry.Tests/TrackingDataSenderTests.cs \
--replace-fail 'cra_ct=v0.0.1' 'cra_ct=v${finalAttrs.version}'
'';
makeWrapperArgs = [

View File

@ -41,7 +41,6 @@ SWITCH_TO_CONFIGURATION_CMD_PREFIX: Final = [
"--no-ask-password",
"--pipe",
"--quiet",
"--same-dir",
"--service-type=exec",
"--unit=nixos-rebuild-switch-to-configuration",
]

View File

@ -9,16 +9,16 @@
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "openstack-rs";
version = "0.12.1";
version = "0.12.2";
src = fetchFromGitHub {
owner = "gtema";
repo = "openstack";
tag = "v${finalAttrs.version}";
hash = "sha256-jJNEZF0aGD4pdKWdWOa64nIr/CKJlBL7Vo9MFiQ54xo=";
hash = "sha256-rqHWNI5SDuEV64eFBIfoQrO2DSy/L8WpKxdkUE/EZ9Y=";
};
useFetchCargoVendor = true;
cargoHash = "sha256-edKIJM4FQ/SmR7IU/7WxNm+hHouXMWUV8n3rbKzvV0A=";
cargoHash = "sha256-61Il8RxTIKAnDtyy9dVpAtK3hox4mV2cL0VMmXe6hLA=";
nativeBuildInputs = [
installShellFiles

View File

@ -30,12 +30,12 @@ let
castore = buildMix rec {
name = "castore";
version = "1.0.11";
version = "1.0.14";
src = fetchHex {
pkg = "castore";
version = "${version}";
sha256 = "e03990b4db988df56262852f20de0f659871c35154691427a5047f4967a16a62";
sha256 = "7bc1b65249d31701393edaaac18ec8398d8974d52c647b7904d01b964137b9f4";
};
beamDeps = [ ];
@ -56,12 +56,12 @@ let
certifi = buildRebar3 rec {
name = "certifi";
version = "2.12.0";
version = "2.15.0";
src = fetchHex {
pkg = "certifi";
version = "${version}";
sha256 = "ee68d85df22e554040cdb4be100f33873ac6051387baf6a8f6ce82272340ff1c";
sha256 = "b147ed22ce71d72eafdad94f055165c1c182f61a2ff49df28bcc71d1d5b94a60";
};
beamDeps = [ ];
@ -82,12 +82,12 @@ let
cowboy = buildErlangMk rec {
name = "cowboy";
version = "2.12.0";
version = "2.13.0";
src = fetchHex {
pkg = "cowboy";
version = "${version}";
sha256 = "8a7abe6d183372ceb21caa2709bec928ab2b72e18a3911aa1771639bef82651e";
sha256 = "e724d3a70995025d654c1992c7b11dbfea95205c047d86ff9bf1cda92ddc5614";
};
beamDeps = [
@ -114,12 +114,12 @@ let
cowlib = buildRebar3 rec {
name = "cowlib";
version = "2.13.0";
version = "2.15.0";
src = fetchHex {
pkg = "cowlib";
version = "${version}";
sha256 = "e1e1284dc3fc030a64b1ad0d8382ae7e99da46c3246b815318a4b848873800a4";
sha256 = "4f00c879a64b4fe7c8fcb42a4281925e9ffdb928820b03c3ad325a617e857532";
};
beamDeps = [ ];
@ -127,12 +127,12 @@ let
credo = buildMix rec {
name = "credo";
version = "1.7.7";
version = "1.7.12";
src = fetchHex {
pkg = "credo";
version = "${version}";
sha256 = "8bc87496c9aaacdc3f90f01b7b0582467b69b4bd2441fe8aae3109d843cc2f2e";
sha256 = "8493d45c656c5427d9c729235b99d498bd133421f3e0a683e5c1b561471291e5";
};
beamDeps = [
@ -170,12 +170,12 @@ let
decimal = buildMix rec {
name = "decimal";
version = "2.2.0";
version = "2.3.0";
src = fetchHex {
pkg = "decimal";
version = "${version}";
sha256 = "af8daf87384b51b7e611fb1a1f2c4d4876b65ef968fa8bd3adf44cff401c7f21";
sha256 = "a4d66355cb29cb47c3cf30e71329e58361cfcb37c34235ef3bf1d7bf3773aeac";
};
beamDeps = [ ];
@ -183,12 +183,12 @@ let
dns_cluster = buildMix rec {
name = "dns_cluster";
version = "0.1.2";
version = "0.2.0";
src = fetchHex {
pkg = "dns_cluster";
version = "${version}";
sha256 = "7494272040f847637bbdb01bcdf4b871e82daf09b813e7d3cb3b84f112c6f2f8";
sha256 = "ba6f1893411c69c01b9e8e8f772062535a4cf70f3f35bcc964a324078d8c8240";
};
beamDeps = [ ];
@ -196,12 +196,12 @@ let
ecto = buildMix rec {
name = "ecto";
version = "3.12.3";
version = "3.12.5";
src = fetchHex {
pkg = "ecto";
version = "${version}";
sha256 = "9efd91506ae722f95e48dc49e70d0cb632ede3b7a23896252a60a14ac6d59165";
sha256 = "6eb18e80bef8bb57e17f5a7f068a1719fbda384d40fc37acb8eb8aeca493b6ea";
};
beamDeps = [
@ -213,12 +213,12 @@ let
ecto_sql = buildMix rec {
name = "ecto_sql";
version = "3.12.0";
version = "3.12.1";
src = fetchHex {
pkg = "ecto_sql";
version = "${version}";
sha256 = "dc9e4d206f274f3947e96142a8fdc5f69a2a6a9abb4649ef5c882323b6d512f0";
sha256 = "aff5b958a899762c5f09028c847569f7dfb9cc9d63bdb8133bff8a5546de6bf5";
};
beamDeps = [
@ -230,12 +230,12 @@ let
ecto_sqlite3 = buildMix rec {
name = "ecto_sqlite3";
version = "0.17.2";
version = "0.19.0";
src = fetchHex {
pkg = "ecto_sqlite3";
version = "${version}";
sha256 = "a3838919c5a34c268c28cafab87b910bcda354a9a4e778658da46c149bb2c1da";
sha256 = "297b16750fe229f3056fe32afd3247de308094e8b0298aef0d73a8493ce97c81";
};
beamDeps = [
@ -264,44 +264,38 @@ let
elixir_make = buildMix rec {
name = "elixir_make";
version = "0.8.4";
version = "0.9.0";
src = fetchHex {
pkg = "elixir_make";
version = "${version}";
sha256 = "6e7f1d619b5f61dfabd0a20aa268e575572b542ac31723293a4c1a567d5ef040";
sha256 = "db23d4fd8b757462ad02f8aa73431a426fe6671c80b200d9710caf3d1dd0ffdb";
};
beamDeps = [
castore
certifi
];
beamDeps = [ ];
};
esbuild = buildMix rec {
name = "esbuild";
version = "0.8.1";
version = "0.10.0";
src = fetchHex {
pkg = "esbuild";
version = "${version}";
sha256 = "25fc876a67c13cb0a776e7b5d7974851556baeda2085296c14ab48555ea7560f";
sha256 = "468489cda427b974a7cc9f03ace55368a83e1a7be12fba7e30969af78e5f8c70";
};
beamDeps = [
castore
jason
];
beamDeps = [ jason ];
};
ex_check = buildMix rec {
name = "ex_check";
version = "0.14.0";
version = "0.16.0";
src = fetchHex {
pkg = "ex_check";
version = "${version}";
sha256 = "8a602e98c66e6a4be3a639321f1f545292042f290f91fa942a285888c6868af0";
sha256 = "4d809b72a18d405514dda4809257d8e665ae7cf37a7aee3be6b74a34dec310f5";
};
beamDeps = [ ];
@ -309,12 +303,12 @@ let
expo = buildMix rec {
name = "expo";
version = "0.5.1";
version = "1.1.0";
src = fetchHex {
pkg = "expo";
version = "${version}";
sha256 = "68a4233b0658a3d12ee00d27d37d856b1ba48607e7ce20fd376958d0ba6ce92b";
sha256 = "fbadf93f4700fb44c331362177bdca9eeb8097e8b0ef525c9cc501cb9917c960";
};
beamDeps = [ ];
@ -322,19 +316,14 @@ let
exqlite = buildMix rec {
name = "exqlite";
version = "0.23.0";
version = "0.31.0";
src = fetchHex {
pkg = "exqlite";
version = "${version}";
sha256 = "404341cceec5e6466aaed160cf0b58be2019b60af82588c215e1224ebd3ec831";
sha256 = "df352de99ba4ce1bac2ad4943d09dbe9ad59e0e7ace55917b493ae289c78fc75";
};
# This needs to be re-added manually after running mix2nix, see: https://github.com/ydlr/mix2nix/issues/3#issuecomment-2508889881
preConfigure = ''
export ELIXIR_MAKE_CACHE_DIR="$TMPDIR/.cache"
'';
beamDeps = [
cc_precompiler
db_connection
@ -344,12 +333,12 @@ let
faker = buildMix rec {
name = "faker";
version = "0.17.0";
version = "0.18.0";
src = fetchHex {
pkg = "faker";
version = "${version}";
sha256 = "a7d4ad84a93fd25c5f5303510753789fc2433ff241bf3b4144d3f6f291658a6a";
sha256 = "bfbdd83958d78e2788e99ec9317c4816e651ad05e24cfd1196ce5db5b3e81797";
};
beamDeps = [ ];
@ -357,12 +346,12 @@ let
file_system = buildMix rec {
name = "file_system";
version = "0.2.10";
version = "1.1.0";
src = fetchHex {
pkg = "file_system";
version = "${version}";
sha256 = "41195edbfb562a593726eda3b3e8b103a309b733ad25f3d642ba49696bf715dc";
sha256 = "bfcf81244f416871f2a2e15c1b515287faa5db9c6bcf290222206d120b3d43f6";
};
beamDeps = [ ];
@ -389,12 +378,12 @@ let
floki = buildMix rec {
name = "floki";
version = "0.36.3";
version = "0.37.1";
src = fetchHex {
pkg = "floki";
version = "${version}";
sha256 = "fe0158bff509e407735f6d40b3ee0d7deb47f3f3ee7c6c182ad28599f9f6b27a";
sha256 = "673d040cb594d31318d514590246b6dd587ed341d3b67e17c1c0eb8ce7ca6f04";
};
beamDeps = [ ];
@ -402,12 +391,12 @@ let
gettext = buildMix rec {
name = "gettext";
version = "0.24.0";
version = "0.26.2";
src = fetchHex {
pkg = "gettext";
version = "${version}";
sha256 = "bdf75cdfcbe9e4622dd18e034b227d77dd17f0f133853a1c73b97b3d6c770e8b";
sha256 = "aa978504bcf76511efdc22d580ba08e2279caab1066b76bb9aa81c4a1e0a32a5";
};
beamDeps = [ expo ];
@ -415,12 +404,12 @@ let
hackney = buildRebar3 rec {
name = "hackney";
version = "1.20.1";
version = "1.24.1";
src = fetchHex {
pkg = "hackney";
version = "${version}";
sha256 = "fe9094e5f1a2a2c0a7d10918fee36bfec0ec2a979994cff8cfe8058cd9af38e3";
sha256 = "f4a7392a0b53d8bbc3eb855bdcc919cd677358e65b2afd3840b5b3690c4c8a39";
};
beamDeps = [
@ -436,12 +425,12 @@ let
hpax = buildMix rec {
name = "hpax";
version = "1.0.2";
version = "1.0.3";
src = fetchHex {
pkg = "hpax";
version = "${version}";
sha256 = "2f09b4c1074e0abd846747329eaa26d535be0eb3d189fa69d812bfb8bfefd32f";
sha256 = "8eab6e1cfa8d5918c2ce4ba43588e894af35dbd8e91e6e55c817bca5847df34a";
};
beamDeps = [ ];
@ -488,12 +477,12 @@ let
mime = buildMix rec {
name = "mime";
version = "2.0.6";
version = "2.0.7";
src = fetchHex {
pkg = "mime";
version = "${version}";
sha256 = "c9945363a6b26d747389aac3643f8e0e09d30499a138ad64fe8fd1d13d9b153e";
sha256 = "6171188e399ee16023ffc5b76ce445eb6d9672e2e241d2df6050f3c771e80ccd";
};
beamDeps = [ ];
@ -501,12 +490,12 @@ let
mimerl = buildRebar3 rec {
name = "mimerl";
version = "1.3.0";
version = "1.4.0";
src = fetchHex {
pkg = "mimerl";
version = "${version}";
sha256 = "a1e15a50d1887217de95f0b9b0793e32853f7c258a5cd227650889b38839fe9d";
sha256 = "13af15f9f68c65884ecca3a3891d50a7b57d82152792f3e19d88650aa126b144";
};
beamDeps = [ ];
@ -514,12 +503,12 @@ let
mint = buildMix rec {
name = "mint";
version = "1.6.2";
version = "1.7.1";
src = fetchHex {
pkg = "mint";
version = "${version}";
sha256 = "5ee441dffc1892f1ae59127f74afe8fd82fda6587794278d924e4d90ea3d63f9";
sha256 = "fceba0a4d0f24301ddee3024ae116df1c3f4bb7a563a731f45fdfeb9d39a231b";
};
beamDeps = [
@ -530,15 +519,15 @@ let
mox = buildMix rec {
name = "mox";
version = "1.1.0";
version = "1.2.0";
src = fetchHex {
pkg = "mox";
version = "${version}";
sha256 = "d44474c50be02d5b72131070281a5d3895c0e7a95c780e90bc0cfe712f633a13";
sha256 = "c7b92b3cc69ee24a7eeeaf944cd7be22013c52fcb580c1f33f50845ec821089a";
};
beamDeps = [ ];
beamDeps = [ nimble_ownership ];
};
nimble_options = buildMix rec {
@ -554,14 +543,27 @@ let
beamDeps = [ ];
};
nimble_ownership = buildMix rec {
name = "nimble_ownership";
version = "1.0.1";
src = fetchHex {
pkg = "nimble_ownership";
version = "${version}";
sha256 = "3825e461025464f519f3f3e4a1f9b68c47dc151369611629ad08b636b73bb22d";
};
beamDeps = [ ];
};
nimble_parsec = buildMix rec {
name = "nimble_parsec";
version = "1.4.0";
version = "1.4.2";
src = fetchHex {
pkg = "nimble_parsec";
version = "${version}";
sha256 = "9c565862810fb383e9838c1dd2d7d2c437b3d13b267414ba6af33e50d2d1cf28";
sha256 = "4b21398942dda052b403bbe1da991ccd03a053668d147d53fb8c4e0efe09c973";
};
beamDeps = [ ];
@ -582,12 +584,12 @@ let
oban = buildMix rec {
name = "oban";
version = "2.18.3";
version = "2.19.4";
src = fetchHex {
pkg = "oban";
version = "${version}";
sha256 = "36ca6ca84ef6518f9c2c759ea88efd438a3c81d667ba23b02b062a0aa785475e";
sha256 = "5fcc6219e6464525b808d97add17896e724131f498444a292071bf8991c99f97";
};
beamDeps = [
@ -646,12 +648,12 @@ let
phoenix = buildMix rec {
name = "phoenix";
version = "1.7.17";
version = "1.7.21";
src = fetchHex {
pkg = "phoenix";
version = "${version}";
sha256 = "50e8ad537f3f7b0efb1509b2f75b5c918f697be6a45d48e49a30d3b7c0e464c9";
sha256 = "336dce4f86cba56fed312a7d280bf2282c720abb6074bdb1b61ec8095bdd0bc9";
};
beamDeps = [
@ -669,12 +671,12 @@ let
phoenix_ecto = buildMix rec {
name = "phoenix_ecto";
version = "4.4.3";
version = "4.6.4";
src = fetchHex {
pkg = "phoenix_ecto";
version = "${version}";
sha256 = "d36c401206f3011fefd63d04e8ef626ec8791975d9d107f9a0817d426f61ac07";
sha256 = "f5b8584c36ccc9b903948a696fc9b8b81102c79c7c0c751a9f00cdec55d5f2d7";
};
beamDeps = [
@ -686,25 +688,25 @@ let
phoenix_html = buildMix rec {
name = "phoenix_html";
version = "3.3.4";
version = "4.2.1";
src = fetchHex {
pkg = "phoenix_html";
version = "${version}";
sha256 = "0249d3abec3714aff3415e7ee3d9786cb325be3151e6c4b3021502c585bf53fb";
sha256 = "cff108100ae2715dd959ae8f2a8cef8e20b593f8dfd031c9cba92702cf23e053";
};
beamDeps = [ plug ];
beamDeps = [ ];
};
phoenix_live_dashboard = buildMix rec {
name = "phoenix_live_dashboard";
version = "0.8.3";
version = "0.8.7";
src = fetchHex {
pkg = "phoenix_live_dashboard";
version = "${version}";
sha256 = "f9470a0a8bae4f56430a23d42f977b5a6205fdba6559d76f932b876bfaec652d";
sha256 = "3a8625cab39ec261d48a13b7468dc619c0ede099601b084e343968309bd4d7d7";
};
beamDeps = [
@ -718,12 +720,12 @@ let
phoenix_live_reload = buildMix rec {
name = "phoenix_live_reload";
version = "1.4.1";
version = "1.6.0";
src = fetchHex {
pkg = "phoenix_live_reload";
version = "${version}";
sha256 = "9bffb834e7ddf08467fe54ae58b5785507aaba6255568ae22b4d46e2bb3615ab";
sha256 = "b3a1fa036d7eb2f956774eda7a7638cf5123f8f2175aca6d6420a7f95e598e1c";
};
beamDeps = [
@ -734,12 +736,12 @@ let
phoenix_live_view = buildMix rec {
name = "phoenix_live_view";
version = "1.0.0";
version = "1.0.17";
src = fetchHex {
pkg = "phoenix_live_view";
version = "${version}";
sha256 = "254caef0028765965ca6bd104cc7d68dcc7d57cc42912bef92f6b03047251d99";
sha256 = "a4ca05c1eb6922c4d07a508a75bfa12c45e5f4d8f77ae83283465f02c53741e1";
};
beamDeps = [
@ -781,12 +783,12 @@ let
plug = buildMix rec {
name = "plug";
version = "1.16.1";
version = "1.18.0";
src = fetchHex {
pkg = "plug";
version = "${version}";
sha256 = "a13ff6b9006b03d7e33874945b2755253841b238c34071ed85b0e86057f8cddc";
sha256 = "819f9e176d51e44dc38132e132fe0accaf6767eab7f0303431e404da8476cfa2";
};
beamDeps = [
@ -798,12 +800,12 @@ let
plug_cowboy = buildMix rec {
name = "plug_cowboy";
version = "2.7.2";
version = "2.7.3";
src = fetchHex {
pkg = "plug_cowboy";
version = "${version}";
sha256 = "245d8a11ee2306094840c000e8816f0cbed69a23fc0ac2bcf8d7835ae019bb2f";
sha256 = "77c95524b2aa5364b247fa17089029e73b951ebc1adeef429361eab0bb55819d";
};
beamDeps = [
@ -815,12 +817,12 @@ let
plug_crypto = buildMix rec {
name = "plug_crypto";
version = "2.1.0";
version = "2.1.1";
src = fetchHex {
pkg = "plug_crypto";
version = "${version}";
sha256 = "131216a4b030b8f8ce0f26038bc4421ae60e4bb95c5cf5395e1421437824c4fa";
sha256 = "6470bce6ffe41c8bd497612ffde1a7e4af67f36a15eea5f921af71cf3e11247c";
};
beamDeps = [ ];
@ -856,12 +858,12 @@ let
ranch = buildRebar3 rec {
name = "ranch";
version = "1.8.0";
version = "2.2.0";
src = fetchHex {
pkg = "ranch";
version = "${version}";
sha256 = "49fbcfd3682fab1f5d109351b61257676da1a2fdbe295904176d5e521a2ddfe5";
sha256 = "fa0b99a1780c80218a4197a59ea8d3bdae32fbff7e88527d7d8a4787eff4f8e7";
};
beamDeps = [ ];
@ -869,12 +871,12 @@ let
sobelow = buildMix rec {
name = "sobelow";
version = "0.13.0";
version = "0.14.0";
src = fetchHex {
pkg = "sobelow";
version = "${version}";
sha256 = "cd6e9026b85fc35d7529da14f95e85a078d9dd1907a9097b3ba6ac7ebbe34a0d";
sha256 = "7ecf91e298acfd9b24f5d761f19e8f6e6ac585b9387fb6301023f1f2cd5eed5f";
};
beamDeps = [ jason ];
@ -895,12 +897,12 @@ let
swoosh = buildMix rec {
name = "swoosh";
version = "1.14.4";
version = "1.19.1";
src = fetchHex {
pkg = "swoosh";
version = "${version}";
sha256 = "081c5a590e4ba85cc89baddf7b2beecf6c13f7f84a958f1cd969290815f0f026";
sha256 = "eab57462d41a3330e82cb93a9d7640f5c79a85951f3457db25c1eb28fda193a6";
};
beamDeps = [
@ -917,12 +919,12 @@ let
table_rex = buildMix rec {
name = "table_rex";
version = "4.0.0";
version = "4.1.0";
src = fetchHex {
pkg = "table_rex";
version = "${version}";
sha256 = "c35c4d5612ca49ebb0344ea10387da4d2afe278387d4019e4d8111e815df8f55";
sha256 = "95932701df195d43bc2d1c6531178fc8338aa8f38c80f098504d529c43bc2601";
};
beamDeps = [ ];
@ -956,12 +958,12 @@ let
telemetry_metrics = buildMix rec {
name = "telemetry_metrics";
version = "1.0.0";
version = "1.1.0";
src = fetchHex {
pkg = "telemetry_metrics";
version = "${version}";
sha256 = "f23713b3847286a534e005126d4c959ebcca68ae9582118ce436b521d1d47d5d";
sha256 = "e7b79e8ddfde70adb6db8a6623d1778ec66401f366e9a8f5dd0955c56bc8ce67";
};
beamDeps = [ telemetry ];
@ -985,12 +987,12 @@ let
telemetry_poller = buildRebar3 rec {
name = "telemetry_poller";
version = "1.1.0";
version = "1.2.0";
src = fetchHex {
pkg = "telemetry_poller";
version = "${version}";
sha256 = "9eb9d9cbfd81cbd7cdd24682f8711b6e2b691289a0de6826e58452f28c103c8f";
sha256 = "7216e21a6c326eb9aa44328028c34e9fd348fb53667ca837be59d0aa2a0156e8";
};
beamDeps = [ telemetry ];
@ -998,12 +1000,12 @@ let
timex = buildMix rec {
name = "timex";
version = "3.7.11";
version = "3.7.12";
src = fetchHex {
pkg = "timex";
version = "${version}";
sha256 = "8b9024f7efbabaf9bd7aa04f65cf8dcd7c9818ca5737677c7b76acbc6a94d1aa";
sha256 = "220dc675e8afca1762568dad874d8fbc8a0a0ccb25a4d1bde8f7cf006707e04f";
};
beamDeps = [
@ -1015,12 +1017,12 @@ let
tzdata = buildMix rec {
name = "tzdata";
version = "1.1.2";
version = "1.1.3";
src = fetchHex {
pkg = "tzdata";
version = "${version}";
sha256 = "cec7b286e608371602318c414f344941d5eb0375e14cfdab605cca2fe66cba8b";
sha256 = "d4ca85575a064d29d4e94253ee95912edfb165938743dbf002acdf0dcecb0c28";
};
beamDeps = [ hackney ];
@ -1028,12 +1030,12 @@ let
unicode_util_compat = buildRebar3 rec {
name = "unicode_util_compat";
version = "0.7.0";
version = "0.7.1";
src = fetchHex {
pkg = "unicode_util_compat";
version = "${version}";
sha256 = "25eee6d67df61960cf6a794239566599b09e17e668d3700247bc498638152521";
sha256 = "b3a917854ce3ae233619744ad1e0102e05673136776fb2fa76234f3e03b23642";
};
beamDeps = [ ];

View File

@ -13,16 +13,24 @@
}:
beamPackages.mixRelease rec {
pname = "pinchflat";
version = "2025.3.17";
version = "2025.6.6";
src = fetchFromGitHub {
owner = "kieraneglin";
repo = "pinchflat";
rev = "v${version}";
hash = "sha256-XHYCYC3SEVyheBV6diE2pn1AJARml+aNNUjJw2tVKTk=";
hash = "sha256-5hHueaA0QGTDr4wViZMBpBFhPnl8uAaxy72LMHgZdWU=";
};
mixNixDeps = import ./mix.nix {
inherit beamPackages lib;
overrides = _: super: {
exqlite = super.exqlite.overrideAttrs (_: {
preConfigure = ''
export ELIXIR_MAKE_CACHE_DIR="$TMPDIR/.cache"
'';
});
};
};
removeCookie = false;

View File

@ -7,21 +7,17 @@
stdenv.mkDerivation rec {
pname = "pptpd";
version = "1.4.0";
version = "1.5.0";
src = fetchurl {
url = "mirror://sourceforge/poptop/${pname}/${pname}-${version}/${pname}-${version}.tar.gz";
sha256 = "1h06gyxj51ba6kbbnf6hyivwjia0i6gsmjz8kyggaany8a58pkcg";
sha256 = "sha256-anJChLHOAOoj99dgjQgYQ6EMio2H2VHLLqhucKobTnc=";
};
patches = [
./ppp-2.5.0-compat.patch
];
buildInputs = [ ppp ];
postPatch = ''
substituteInPlace plugins/Makefile --replace "install -o root" "install"
substituteInPlace plugins/Makefile --replace-fail "install -o root" "install"
'';
meta = with lib; {

View File

@ -1,59 +0,0 @@
diff --git a/plugins/pptpd-logwtmp.c b/plugins/pptpd-logwtmp.c
index ac5ecc2..9745177 100644
--- a/plugins/pptpd-logwtmp.c
+++ b/plugins/pptpd-logwtmp.c
@@ -12,9 +12,18 @@
#include <unistd.h>
#include <utmp.h>
#include <string.h>
+
+#define HAVE_STDARG_H 1
+#define HAVE_STDBOOL_H 1
+#define HAVE_STDDEF_H 1
#include <pppd/pppd.h>
+#include <pppd/options.h>
+#include <linux/ppp_defs.h>
+#include <linux/limits.h>
+
+int debug = 0;
-char pppd_version[] = VERSION;
+char pppd_version[] = PPPD_VERSION;
static char pptpd_original_ip[PATH_MAX+1];
static bool pptpd_logwtmp_strip_domain = 0;
@@ -42,25 +51,27 @@ static char *reduce(char *user)
static void ip_up(void *opaque, int arg)
{
+ char peer_authname[MAXNAMELEN];
+ ppp_peer_authname(peer_authname, MAXNAMELEN);
char *user = reduce(peer_authname);
if (debug)
- notice("pptpd-logwtmp.so ip-up %s %s %s", ifname, user,
+ notice("pptpd-logwtmp.so ip-up %s %s %s", ppp_ifname(), user,
pptpd_original_ip);
- logwtmp(ifname, user, pptpd_original_ip);
+ logwtmp(ppp_ifname(), user, pptpd_original_ip);
}
static void ip_down(void *opaque, int arg)
{
if (debug)
- notice("pptpd-logwtmp.so ip-down %s", ifname);
- logwtmp(ifname, "", "");
+ notice("pptpd-logwtmp.so ip-down %s", ppp_ifname());
+ logwtmp(ppp_ifname(), "", "");
}
void plugin_init(void)
{
- add_options(options);
- add_notifier(&ip_up_notifier, ip_up, NULL);
- add_notifier(&ip_down_notifier, ip_down, NULL);
+ ppp_add_options(options);
+ ppp_add_notify(NF_IP_UP, ip_up, NULL);
+ ppp_add_notify(NF_IP_DOWN, ip_down, NULL);
if (debug)
notice("pptpd-logwtmp: $Version$");
}

View File

@ -19,12 +19,12 @@
electron,
}:
let
version = "1.3.4220.57";
version = "1.3.4275.94";
src = fetchFromGitHub {
owner = "pritunl";
repo = "pritunl-client-electron";
rev = version;
sha256 = "sha256-AqolwsGHDxVQMjgQdWz24BmM+uMT/XII1vtDjA3fFcQ=";
sha256 = "sha256-a1arRI4qQy5niKV8JAyusAjheMa/LtEXPZGhngsH+TU=";
};
cli = buildGoModule {
@ -32,7 +32,7 @@ let
inherit version src;
modRoot = "cli";
vendorHash = "sha256-wwPgyIo14zpA+oCJH0CQ4+7zyP+Itxbd6S0P7t01wBw=";
vendorHash = "sha256-xozdrNKBgrrCZ5WYHGWKOuuGrEhx/VzOKLZTGq3scoo=";
postInstall = ''
mv $out/bin/cli $out/bin/pritunl-client
@ -45,7 +45,7 @@ let
inherit version src;
modRoot = "service";
vendorHash = "sha256-WWvROYvw8JuidZHKOO0xiNcxlyRCZkw9j/eI6C5HJhU=";
vendorHash = "sha256-3dgBiCqWj+nwWn9mFARBKIpgjn2aJYvVUrqMIzhToQs=";
nativeBuildInputs = [ makeWrapper ];

View File

@ -10,12 +10,12 @@
buildGoModule rec {
pname = "shopware-cli";
version = "0.6.3";
version = "0.6.8";
src = fetchFromGitHub {
repo = "shopware-cli";
owner = "FriendsOfShopware";
tag = version;
hash = "sha256-UkLzjW3Ak+bMw+nRqlaojeJ67cxadkvufZ/pn1nTmoM=";
hash = "sha256-vLy3HWHfsUaf80iuBUYYAP87wJNke8/h48r3Db18kFQ=";
};
nativeBuildInputs = [
@ -27,7 +27,7 @@ buildGoModule rec {
dart-sass
];
vendorHash = "sha256-bNno3YGfm/3MLMtp3N2XX4UwXNZ0lusjIjnZJlke09Q=";
vendorHash = "sha256-pidR7b4k3PG9FVHJ5oWz2nYtCZwE8SlBjQqqvyFPNzM=";
postInstall = ''
installShellCompletion --cmd shopware-cli \

View File

@ -0,0 +1,47 @@
{
makeBinaryWrapper,
buildNpmPackage,
nodejs,
fetchFromGitHub,
lib,
}:
buildNpmPackage (finalAttrs: {
pname = "sillytavern";
version = "1.13.0";
src = fetchFromGitHub {
owner = "SillyTavern";
repo = "SillyTavern";
tag = finalAttrs.version;
hash = "sha256-HUlypAPadlad12J60Xfa30qE18II6MceVYkMqANWlyI=";
};
npmDepsHash = "sha256-IZMwDgazY+6oyuOlE7zdWcDn5D2/8v2mHX9yDBwK+4I=";
nativeBuildInputs = [ makeBinaryWrapper ];
dontNpmBuild = true;
installPhase = ''
runHook preInstall
mkdir -p $out/{bin,opt}
cp -r . $out/opt/sillytavern
makeWrapper ${lib.getExe nodejs} $out/bin/sillytavern \
--add-flags $out/opt/sillytavern/server.js \
--set-default NODE_ENV production
runHook postInstall
'';
meta = {
description = "LLM Frontend for Power Users";
longDescription = ''
SillyTavern is a user interface you can install on your computer (and Android phones) that allows you to interact with
text generation AIs and chat/roleplay with characters you or the community create.
'';
downloadPage = "https://github.com/SillyTavern/SillyTavern/releases";
homepage = "https://docs.sillytavern.app/";
mainProgram = "sillytavern";
license = lib.licenses.agpl3Only;
maintainers = [ lib.maintainers.wrvsrx ];
};
})

View File

@ -1,6 +1,6 @@
{
lib,
flutter329,
flutter332,
fetchFromGitHub,
autoPatchelfHook,
mpv,
@ -8,15 +8,15 @@
copyDesktopItems,
}:
flutter329.buildFlutterApplication rec {
flutter332.buildFlutterApplication rec {
pname = "simple-live-app";
version = "1.8.3";
version = "1.8.6";
src = fetchFromGitHub {
owner = "xiaoyaocz";
repo = "dart_simple_live";
tag = "v${version}";
hash = "sha256-8l+9NA9W7um61dbEf264OhrAdJLS6zyCTv78daOKfOw=";
hash = "sha256-6kEty4QZZQW3Xzz4213ThC4FF+quMNE4oAuZ1limxFg=";
};
sourceRoot = "${src.name}/simple_live_app";

View File

@ -160,11 +160,11 @@
"dependency": "transitive",
"description": {
"name": "built_value",
"sha256": "ea90e81dc4a25a043d9bee692d20ed6d1c4a1662a28c03a96417446c093ed6b4",
"sha256": "082001b5c3dc495d4a42f1d5789990505df20d8547d42507c29050af6933ee27",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "8.9.5"
"version": "8.10.1"
},
"characters": {
"dependency": "transitive",
@ -502,11 +502,11 @@
"dependency": "direct main",
"description": {
"name": "flutter_smart_dialog",
"sha256": "a3aaf690b2737ee6b2c7e7a983bc685e5f118e5de7e2042d2e0b7db26eb074f2",
"sha256": "d09a661b928b0af0bff58c84c5a5244ab342fc7ce6f910ac1d01b0b284d821be",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "4.9.8+7"
"version": "4.9.8+8"
},
"flutter_staggered_grid_view": {
"dependency": "direct main",
@ -614,11 +614,11 @@
"dependency": "transitive",
"description": {
"name": "http",
"sha256": "fe7ab022b76f3034adc518fb6ea04a82387620e19977665ea18d30a1cf43442f",
"sha256": "2c11f3f94c687ee9bad77c171151672986360b2b001d109814ee7140b2cf261b",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.3.0"
"version": "1.4.0"
},
"http_client_helper": {
"dependency": "transitive",
@ -1265,11 +1265,11 @@
"dependency": "direct main",
"description": {
"name": "screen_brightness",
"sha256": "eca7bd9d2c3c688bcad14855361cab7097839400b6b4a56f62b7ae511c709958",
"sha256": "46d1b448729c1ed67c812f2c97d7fa8308809d91031c7ecdeb216ca65f7660de",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "2.1.2"
"version": "2.1.3"
},
"screen_brightness_android": {
"dependency": "transitive",
@ -1301,6 +1301,16 @@
"source": "hosted",
"version": "2.1.1"
},
"screen_brightness_ohos": {
"dependency": "transitive",
"description": {
"name": "screen_brightness_ohos",
"sha256": "61e313e46eaee3f83dd4e85a2a91f8a81be02c154bc9e60830a7c0fd76dac286",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "2.1.0"
},
"screen_brightness_platform_interface": {
"dependency": "transitive",
"description": {
@ -1490,11 +1500,11 @@
"dependency": "transitive",
"description": {
"name": "sse",
"sha256": "4389a01d5bc7ef3e90fbc645f8e7c6d8711268adb1f511e14ae9c71de47ee32b",
"sha256": "fcc97470240bb37377f298e2bd816f09fd7216c07928641c0560719f50603643",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "4.1.7"
"version": "4.1.8"
},
"sse_channel": {
"dependency": "transitive",
@ -1819,11 +1829,11 @@
"dependency": "transitive",
"description": {
"name": "web_socket",
"sha256": "bfe6f435f6ec49cb6c01da1e275ae4228719e59a6b067048c51e72d9d63bcc4b",
"sha256": "34d64019aa8e36bf9842ac014bb5d2f5586ca73df5e4d9bf5c936975cae6982c",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.0.0"
"version": "1.0.1"
},
"web_socket_channel": {
"dependency": "transitive",
@ -1849,11 +1859,11 @@
"dependency": "transitive",
"description": {
"name": "win32",
"sha256": "dc6ecaa00a7c708e5b4d10ee7bec8c270e9276dfcab1783f57e9962d7884305f",
"sha256": "329edf97fdd893e0f1e3b9e88d6a0e627128cc17cc316a8d67fda8f1451178ba",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "5.12.0"
"version": "5.13.0"
},
"win32_registry": {
"dependency": "transitive",

View File

@ -10,14 +10,14 @@
stdenv.mkDerivation (finalAttrs: {
pname = "snac2";
version = "2.77";
version = "2.78";
src = fetchFromGitea {
domain = "codeberg.org";
owner = "grunfink";
repo = "snac2";
tag = finalAttrs.version;
hash = "sha256-QUPFD7x1ZDnDxediA+oqYC8CotmGeAr36xSZ3STOK9Y=";
hash = "sha256-t2FQFHpEN9IZMqLp2nNH0utkKjgkw1EPxadAn07h7sw=";
};
buildInputs = [

View File

@ -16,7 +16,7 @@
stdenv.mkDerivation (finalAttrs: {
pname = "sparkle";
version = "1.6.4";
version = "1.6.7";
src =
let
@ -31,8 +31,8 @@ stdenv.mkDerivation (finalAttrs: {
fetchurl {
url = "https://github.com/xishang0128/sparkle/releases/download/${finalAttrs.version}/sparkle-linux-${finalAttrs.version}-${arch}.deb";
hash = selectSystem {
x86_64-linux = "sha256-Q2TWrYNz3BAV8rBflxMuIQOogs+QJmmEidnGSOXaZgQ=";
aarch64-linux = "sha256-m/aAnAJpu9ycXECQJNrCpwFN76kWGFKvWfLXiJQbrWE=";
x86_64-linux = "sha256-WpyHZzQ3LkBToiBXLUoUx5H4ZhK3J5JVqXYDl+9MtHo=";
aarch64-linux = "sha256-7u5CUB8i5b2PXhHw0x8rjCH8jcC2Ncrz00Nty7rqKng=";
};
};

View File

@ -2,6 +2,7 @@
lib,
stdenv,
fetchurl,
fetchDebianPatch,
glib,
pkg-config,
libogg,
@ -18,6 +19,23 @@ stdenv.mkDerivation rec {
sha256 = "0hnyv3206r0rfprn3k7k6a0j959kagsfyrmyjm3gsf3vkhp5zmy1";
};
patches = [
# fix build with gcc 14
(fetchDebianPatch {
inherit pname version;
debianRevision = "2";
patch = "1075541-gcc14";
hash = "sha256-30bz7CDmbq+Bd+jTKSq7aJsXUJQAQp3nnJZvt3Qbp8Q=";
})
# fix parse of URIs containing colons (https://bugs.debian.org/873964)
(fetchDebianPatch {
inherit pname version;
debianRevision = "2";
patch = "873964-http";
hash = "sha256-D6koUCbnJHtRuq2zZy9VrxymuGXN1COacbQhphgB8qo=";
})
];
nativeBuildInputs = [ pkg-config ];
buildInputs = [
glib
@ -26,10 +44,6 @@ stdenv.mkDerivation rec {
libmad
];
makeFlags = [
"AR:=$(AR)"
];
meta = with lib; {
homepage = "https://streamripper.sourceforge.net/";
description = "Application that lets you record streaming mp3 to your hard drive";

View File

@ -13,13 +13,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "sums";
version = "0.13";
version = "0.15";
src = fetchFromGitLab {
owner = "leesonwai";
repo = "sums";
rev = "refs/tags/${finalAttrs.version}";
hash = "sha256-DztSQcaH/k5EOvsrVA/DdgNSEHtz4Nr938tIhC94Gu8=";
hash = "sha256-L+ND18cqXAi0qqt1lECQlx2cBX9HrhAXNFxHFl9wjU8=";
};
nativeBuildInputs = [

View File

@ -1,74 +0,0 @@
{
lib,
stdenv,
fetchurl,
fetchpatch,
libX11,
libXaw,
}:
let
getPatch =
{ name, sha256 }:
fetchpatch {
inherit name sha256;
url =
"https://projects.archlinux.org/svntogit/packages.git/plain/trunk/${name}"
+ "?h=packages/t1lib&id=643a4c2c58e70072b5bc1e9e4624162517b58357";
};
patches = map getPatch [
{
name = "lib-cleanup.diff";
sha256 = "1w3q1y4zk0y4mf2s2x9z4cd8d4af8i868c8837p40mz3dqrai4zp";
}
{
name = "format-security.diff";
sha256 = "0cca94bif9dsc6iwpcnk1504gb3sl3nsqhni85c21q9aywyz26l3";
}
{
name = "CVE-2011-0764.diff";
sha256 = "1j0y3f38im7srpqjg9jvx8as6sxkz8gw7hglcxnxl9qylx8mr2jh";
}
{
name = "CVE-2011-1552_1553_1554.patch";
sha256 = "16cyq6jhyhh8912j8hapx9pq4rzxk36ljlkxlnyi7i3wr8iz1dir";
}
{
name = "CVE-2010-2642.patch";
sha256 = "175zvyr9v1xs22k2svgxqjcpz5nihfa7j46hn9nzvkqcrhm5m9y8";
}
# this ^ also fixes CVE-2011-5244
];
in
stdenv.mkDerivation rec {
pname = "t1lib";
version = "5.1.2";
src = fetchurl {
url = "mirror://ibiblioPubLinux/libs/graphics/${pname}-${version}.tar.gz";
hash = "sha256-ghMotQVPeJCg0M0vUoJScHBd82QdvUdtWNF+Vu2Ve1k=";
};
inherit patches;
buildInputs = [
libX11
libXaw
];
buildFlags = [ "without_doc" ];
postInstall = lib.optionalString (!stdenv.hostPlatform.isDarwin) ''
# ??
chmod +x $out/lib/*.so.*
'';
meta = with lib; {
homepage = "http://www.t1lib.org/";
description = "Type 1 font rasterizer library for UNIX/X11";
license = with licenses; [
gpl2
lgpl2
];
platforms = platforms.unix;
};
}

View File

@ -6,17 +6,17 @@
buildGoModule rec {
pname = "tea";
version = "0.9.2";
version = "0.10.0";
src = fetchFromGitea {
domain = "gitea.com";
owner = "gitea";
repo = "tea";
rev = "v${version}";
sha256 = "sha256-sZfg8+LIu1Ejvmr/o4X3EOz3fv+RvLhrGRf2yy+6t8c=";
sha256 = "sha256-JXF3oKbJ1G5UBfZYfEJcFw8H+J9KRn1aqSxUAyiRCIg=";
};
vendorHash = "sha256-nb0lQEAaIYlGpodFQLhMk/24DmTgg5K3zQ4s/XY+Z1w=";
vendorHash = "sha256-1j8X4euJPbNeqEtYFKuRl9zARxUW0aWk07+AoNO24Qc=";
meta = with lib; {
description = "Gitea official CLI client";

View File

@ -144,7 +144,7 @@ let
++ google-api-core.optional-dependencies.grpc
++ unstructured.optional-dependencies.all-docs
);
version = "0.0.85";
version = "0.0.86";
unstructured_api_nltk_data = python3.pkgs.nltk.dataDir (d: [
d.punkt
d.averaged-perceptron-tagger
@ -158,7 +158,7 @@ stdenvNoCC.mkDerivation {
owner = "Unstructured-IO";
repo = "unstructured-api";
rev = version;
hash = "sha256-FNcm/7JxQE6ZksFtEgInnUhbKArZoyo9rlxhyHgRG3E=";
hash = "sha256-8GjBhuZJUt+dN3DuC2tqzPFblZNzLJsYu0ZAh7asdyM=";
};
nativeBuildInputs = [ makeWrapper ];

View File

@ -28,13 +28,13 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "uwsm";
version = "0.21.6";
version = "0.21.8";
src = fetchFromGitHub {
owner = "Vladimir-csp";
repo = "uwsm";
tag = "v${finalAttrs.version}";
hash = "sha256-Pav86kNCIe1cqkkPyAt8yGCR1M7wGHPSGibkeLCE4E4=";
hash = "sha256-b5n0SuJ0WEm7Mx77BVgjabw5QQeXR7lGUHLxIyqmM9I=";
};
nativeBuildInputs = [

View File

@ -2,10 +2,13 @@
lib,
fetchFromGitHub,
rustPlatform,
stdenv,
buildPackages,
installShellFiles,
nix-update-script,
}:
let
version = "0.11.2";
version = "0.12.0";
in
rustPlatform.buildRustPackage {
pname = "vault-tasks";
@ -14,12 +17,37 @@ rustPlatform.buildRustPackage {
owner = "louis-thevenet";
repo = "vault-tasks";
rev = "v${version}";
hash = "sha256-DcnOuQ37fzLVJOteP7ZiA9IxNAd6lH6zelaO5GCvakk=";
hash = "sha256-PMqGqvyxgkGRVahQ+ruDA0vFT0162DrZU92nT4SMTGw=";
};
useFetchCargoVendor = true;
cargoHash = "sha256-/5CpIPdqIvxwiplMqXZ1J04oQoK9rnzDP1N7ffrbJDk=";
cargoHash = "sha256-34c5i2kIoQuTkm1SF7bYX109noVGaGJ47b2FCxQUyB8=";
postInstall = "install -Dm444 desktop/vault-tasks.desktop -t $out/share/applications";
nativeBuildInputs = [
installShellFiles
];
postInstall =
''
install -Dm444 desktop/vault-tasks.desktop -t $out/share/applications
''
+ (
let
vault-tasks =
if stdenv.buildPlatform.canExecute stdenv.hostPlatform then
placeholder "out"
else
buildPackages.vault-tasks;
in
''
# vault-tasks tries to load a config file from ~/.config/ before generating completions
export HOME="$(mktemp -d)"
installShellCompletion --cmd vault-tasks \
--bash <(${vault-tasks}/bin/vault-tasks generate-completions bash) \
--fish <(${vault-tasks}/bin/vault-tasks generate-completions fish) \
--zsh <(${vault-tasks}/bin/vault-tasks generate-completions zsh)
''
);
passthru.updateScript = nix-update-script { };

View File

@ -34,13 +34,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "vengi-tools";
version = "0.0.37";
version = "0.0.38";
src = fetchFromGitHub {
owner = "vengi-voxel";
repo = "vengi";
rev = "v${finalAttrs.version}";
hash = "sha256-Pm3vGS6u//iktkj/2RR7xaCTt8fevCWm0a1Hlfkxry8=";
hash = "sha256-TTbwoZt5+tkxuoC05sbgrwIRmyWIR272D4TZWYXyPjA=";
};
prePatch = lib.optionalString stdenv.hostPlatform.isDarwin ''

View File

@ -5,17 +5,18 @@
makeWrapper,
jq,
glow,
nix-update-script,
}:
stdenvNoCC.mkDerivation rec {
stdenvNoCC.mkDerivation {
pname = "xdg-ninja";
version = "0.2.0.2";
version = "0.2.0.2-unstable-2025-03-09";
src = fetchFromGitHub {
owner = "b3nj5m1n";
repo = "xdg-ninja";
rev = "v${version}";
sha256 = "sha256-ASJIFQ/BpZMQGRtw8kPhtMCbXC1eb/X8TWQz+CAnaSM=";
rev = "a964a4a4a9b2e34eb3f684f72f5c751c18b27348";
hash = "sha256-rFGVRbjpXBDS8qae9xv9pL6dNlZNN/WYC3taUFK8O2U=";
};
nativeBuildInputs = [ makeWrapper ];
@ -38,6 +39,8 @@ stdenvNoCC.mkDerivation rec {
runHook postInstall
'';
passthru.updateScript = nix-update-script { extraArgs = [ "--version=branch" ]; };
meta = with lib; {
description = "Shell script which checks your $HOME for unwanted files and directories";
homepage = "https://github.com/b3nj5m1n/xdg-ninja";

View File

@ -1,29 +1,42 @@
{
lib,
stdenv,
fetchurl,
fetchFromGitLab,
pkg-config,
libXt,
autoreconfHook,
xorg-autoconf,
xorg,
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "xscope";
version = "1.4.1";
version = "1.4.5";
src = fetchurl {
url = "mirror://xorg/individual/app/${pname}-${version}.tar.bz2";
sha256 = "08zl3zghvbcqy0r5dn54dim84lp52s0ygrr87jr3a942a6ypz01k";
src = fetchFromGitLab {
domain = "gitlab.freedesktop.org";
owner = "xorg";
repo = "app/xscope";
tag = "xscope-${finalAttrs.version}";
hash = "sha256-9ZmmV41PKv+WFL9I4D9NTfNVTsazCijZMMmDFSvXMlg=";
};
nativeBuildInputs = [ pkg-config ];
buildInputs = [ libXt ];
nativeBuildInputs = [
autoreconfHook
pkg-config
xorg-autoconf
];
meta = with lib; {
buildInputs = [
xorg.libXt
xorg.xtrans
];
meta = {
description = "program to monitor X11/Client conversations";
homepage = "https://cgit.freedesktop.org/xorg/app/xscope/";
license = with licenses; [ mit ];
maintainers = with maintainers; [ crertel ];
platforms = with platforms; unix;
license = with lib.licenses; [ mit ];
maintainers = with lib.maintainers; [ crertel ];
platforms = lib.platforms.unix;
mainProgram = "xscope";
};
}
})

View File

@ -12,16 +12,19 @@ let
in
buildDotnetModule (finalAttrs: {
pname = "yafc-ce";
version = "2.11.1";
version = "2.13.0";
src = fetchFromGitHub {
owner = "shpaass";
repo = "yafc-ce";
rev = finalAttrs.version;
hash = "sha256-n6twiCIQ1nMSidfmdl2py5wHvx4kk6skK0f8chXTCjQ=";
hash = "sha256-FWGH/CDjfeewms0lKMMK3hGPCw6Xs40MdsbS/Cgif8s=";
};
projectFile = [ "Yafc/Yafc.csproj" ];
projectFile = [
"Yafc.I18n.Generator/Yafc.I18n.Generator.csproj"
"Yafc/Yafc.csproj"
];
testProjectFile = [ "Yafc.Model.Tests/Yafc.Model.Tests.csproj" ];
nugetDeps = ./deps.json;
@ -36,6 +39,13 @@ buildDotnetModule (finalAttrs: {
SDL2_image
];
postPatch = ''
# Yafc finds the root by looking for a `.git` directory, but `.git` is
# removed by Nix to ensure reproducibility. `.github` is not.
substituteInPlace Yafc.I18n.Generator/SourceGenerator.cs \
--replace-fail 'rootDirectory, ".git"' 'rootDirectory, ".github"'
'';
meta = {
description = "Powerful Factorio calculator/analyser that works with mods, Community Edition";
longDescription = ''

View File

@ -9,13 +9,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "zashboard";
version = "1.93.0";
version = "1.94.0";
src = fetchFromGitHub {
owner = "Zephyruso";
repo = "zashboard";
tag = "v${finalAttrs.version}";
hash = "sha256-0YlFDmn5XAQiGxGpFJtVgtFdPbxApVlsqRLwIun0YtI=";
hash = "sha256-jhnK7G1OLAntVRpozVCn/Gky3qy6rAu8Eevs0nLTvSI=";
};
nativeBuildInputs = [
@ -25,7 +25,7 @@ stdenv.mkDerivation (finalAttrs: {
pnpmDeps = pnpm_9.fetchDeps {
inherit (finalAttrs) pname version src;
hash = "sha256-LYHBWNMTZQU1sXwwpAmBaypLDR3w/T9i9WdOoI+TcEo=";
hash = "sha256-hZ6Lvj4YimhIKFu/fJHCd+EOCny+RSFMOdhBcUUNqNw=";
};
buildPhase = ''

View File

@ -19,13 +19,13 @@
stdenv.mkDerivation rec {
pname = "xdg-desktop-portal-pantheon";
version = "8.0.1";
version = "8.0.2";
src = fetchFromGitHub {
owner = "elementary";
repo = "portals";
rev = version;
sha256 = "sha256-oBOyYE4NLlNmCRO9Uk22/OZb9+fXcyOICE8V3n4grEw=";
sha256 = "sha256-/zX2OZggMYbiyTLVOuSpfQw8E4ZMr19CiiVV47zpSV0=";
};
nativeBuildInputs = [

View File

@ -15,10 +15,11 @@
useDune = true;
release."0.1.8+8.16".sha256 = "sha256-dEEAK5IXGjHB8D/fYJRQG/oCotoXJuWLxXB0GQlY2eo=";
release."0.2.2+8.17".sha256 = "sha256-dWPAwePbfTf2t+ydSd1Cnr2kKTDbvedmxm2+Z6F5zuM=";
release."0.2.2+8.18".sha256 = "sha256-0J/XaSvhnKHRlcWfG1xbUOyN4LDtK1SEahE9kpV7GK4=";
release."0.2.2+8.19".sha256 = "sha256-E2zO2SOU3nmTFf1yA1gefyIWTViUGNTTJ4r6fZYl6UY=";
release."0.2.2+8.20".sha256 = "sha256-9yHisA3YJ/KuolU53qcQAjuSIAZPY+4rnkWV9dpLc6c=";
release."0.2.3+8.17".sha256 = "sha256-s7GXRYxuCMXm0XpKAyEwYqolsVFcKHhM71uabqqK5BY=";
release."0.2.3+8.18".sha256 = "sha256-0cEuMWuNJwfiPdc0aHKk3EQbkVRIbVukS586EWSHCgo=";
release."0.2.3+8.19".sha256 = "sha256-0eQQheY2yjS7shifhUlVPLXvTmyvgNpx7deLWXBRTfA=";
release."0.2.3+8.20".sha256 = "sha256-TUVS8jkgf1MMOOx5y70OaeZkdIgdgmyGQ2/zKxeplEk=";
release."0.2.3+9.0".sha256 = "sha256-eZMM4gYRXQroEIKz6XlffyHNYryEF5dIeIoVbEulh6M=";
inherit version;
defaultVersion =
@ -30,19 +31,23 @@
}
{
case = isEq "8.17";
out = "0.2.2+8.17";
out = "0.2.3+8.17";
}
{
case = isEq "8.18";
out = "0.2.2+8.18";
out = "0.2.3+8.18";
}
{
case = isEq "8.19";
out = "0.2.2+8.19";
out = "0.2.3+8.19";
}
{
case = isEq "8.20";
out = "0.2.2+8.20";
out = "0.2.3+8.20";
}
{
case = isEq "9.0";
out = "0.2.3+9.0";
}
] null;

View File

@ -14,7 +14,7 @@
buildPythonPackage rec {
pname = "aiokem";
version = "1.0.1";
version = "1.1.4";
pyproject = true;
disabled = pythonOlder "3.12";
@ -23,7 +23,7 @@ buildPythonPackage rec {
owner = "kohlerlibs";
repo = "aiokem";
tag = "v${version}";
hash = "sha256-1mhsHoHttMMdMkHJ4awDHQhoMHWLHnNkeC6scEd25Z4=";
hash = "sha256-4LbpTov81LMr4V8jMgttlUCyHWJoR6tExOvt8X4Telc=";
};
build-system = [ setuptools ];

View File

@ -25,7 +25,7 @@
buildPythonPackage rec {
pname = "craft-store";
version = "3.2.1";
version = "3.2.2";
pyproject = true;
@ -33,7 +33,7 @@ buildPythonPackage rec {
owner = "canonical";
repo = "craft-store";
tag = version;
hash = "sha256-rJ7FXHDrJ7w+dFPBs7MhT4iqN6KCWaqrmlCni5kUEKI=";
hash = "sha256-ODchOdEzzR8LXdPgPVXp0mWIu2rr5yzrfUDbOVW1xXc=";
};
postPatch = ''

View File

@ -15,14 +15,14 @@
buildPythonPackage rec {
pname = "google-maps-routing";
version = "0.6.15";
version = "0.6.16";
pyproject = true;
src = fetchFromGitHub {
owner = "googleapis";
repo = "google-cloud-python";
tag = "google-maps-routing-v${version}";
hash = "sha256-5PzidE1CWN+pt7+gcAtbuXyL/pq6cnn0MCRkBfmeUSw=";
hash = "sha256-VYkgkVrUgBiUEFF2J8ZFrh2Sw7h653stYxNcpYfRAj4=";
};
sourceRoot = "${src.name}/packages/google-maps-routing";

View File

@ -1,5 +1,6 @@
{
lib,
stdenv,
buildPythonPackage,
fetchPypi,
fetchpatch,
@ -56,6 +57,18 @@ buildPythonPackage rec {
pytest-mock
];
# meson-python respectes MACOSX_DEPLOYMENT_TARGET, but compares it with the
# actual platform version during tests, which mismatches.
# https://github.com/mesonbuild/meson-python/issues/760
# FIXME: drop in 0.19.0
preCheck =
if stdenv.hostPlatform.isDarwin then
''
unset MACOSX_DEPLOYMENT_TARGET
''
else
null;
setupHooks = [ ./add-build-flags.sh ];
meta = {

View File

@ -22,7 +22,7 @@
buildPythonPackage rec {
pname = "openstacksdk";
version = "4.5.0";
version = "4.6.0";
pyproject = true;
outputs = [
@ -32,7 +32,7 @@ buildPythonPackage rec {
src = fetchPypi {
inherit pname version;
hash = "sha256-q3oSQCB6aWm6Cc7ujxZlOAVzBne0SXqAbNlWczZR/mg=";
hash = "sha256-5H4WbEcy6a6mUijmGNSQ5L5d8GUmobleLVmV19CXfT0=";
};
postPatch = ''

View File

@ -18,18 +18,17 @@
buildPythonPackage rec {
pname = "panphon";
version = "0.21.2";
version = "0.22.0";
pyproject = true;
src = fetchPypi {
inherit pname version;
hash = "sha256-FpYHbkEeQzyPfbpigZ1EMNlzLLFWB/wNcGHYFYiEE2k=";
hash = "sha256-iSdCZjzeZhxsrkaRYHpg60evmo9g09a9Fwr0I5WWd1A=";
};
build-system = [ setuptools ];
dependencies = [
setuptools # need for pkg_resources
unicodecsv
pyyaml
regex

View File

@ -70,7 +70,8 @@ buildPythonPackage rec {
checkPhase = ''
runHook preCheck
stestr run
stestr run -E \
"openstackclient.tests.unit.network.v2.test_security_group_network.(TestCreateSecurityGroupNetwork.(test_create_with_tags|test_create_with_no_tag|test_create_min_options|test_create_all_options)|TestShowSecurityGroupNetwork.test_show_all_options)"
runHook postCheck
'';

View File

@ -441,6 +441,10 @@ let
};
};
rocm-bandwidth-test = self.callPackage ./rocm-bandwidth-test {
rocmPackages = self;
};
rocm-tests = self.callPackage ./rocm-tests {
rocmPackages = self;
};

View File

@ -0,0 +1,38 @@
{
lib,
stdenv,
fetchFromGitHub,
rocmPackages,
cmake,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "rocm-bandwidth-test";
version = "6.3.3";
src = fetchFromGitHub {
owner = "ROCm";
repo = "rocm_bandwidth_test";
rev = "rocm-${finalAttrs.version}";
hash = "sha256-dHyfYpRB13wUvim152nZ61McZOQ1zUZFx4dUo2vVqZM=";
};
nativeBuildInputs = [
cmake
];
buildInputs = [ rocmPackages.rocm-runtime ];
cmakeFlags = [
"-DROCT_INC_DIR=${rocmPackages.rocm-runtime}/include/libhsakmt"
];
meta = with lib; {
description = "Bandwidth test for AMD GPUs supported by ROCm";
homepage = "https://github.com/ROCm/rocm_bandwidth_test";
license = with licenses; [ mit ];
maintainers = with maintainers; [ fangpen ];
teams = [ teams.rocm ];
platforms = [ "x86_64-linux" ];
};
})

View File

@ -6,13 +6,13 @@
callPackage ./generic.nix rec {
pname = "shattered-pixel-dungeon";
version = "3.0.2";
version = "3.1.0";
src = fetchFromGitHub {
owner = "00-Evan";
repo = "shattered-pixel-dungeon";
rev = "v${version}";
hash = "sha256-tEgwB/YIhSpwUZrEC4Gw9+6lLllNK8JuTMNKgVzqv7c=";
hash = "sha256-BPZN163Opr2uKYckqlimizr0pIhmz4wUzI5r2aYzZFY=";
};
depsPath = ./deps.json;

View File

@ -11,13 +11,13 @@
buildGoModule rec {
pname = "fastly";
version = "11.2.0";
version = "11.3.0";
src = fetchFromGitHub {
owner = "fastly";
repo = "cli";
tag = "v${version}";
hash = "sha256-2bZEPwAj9K3ubKoM0P1xRS/NmJp+CMRYo7tXk6miRRs=";
hash = "sha256-SFBKu30C92BbbwSlmlRU/66mBywROktWUiw8fltFXoA=";
# The git commit is part of the `fastly version` original output;
# leave that output the same in nixpkgs. Use the `.git` directory
# to retrieve the commit SHA, and remove the directory afterwards,
@ -34,7 +34,7 @@ buildGoModule rec {
"cmd/fastly"
];
vendorHash = "sha256-dmUqlkBwnz4/u3vOxNfk/rMFuPwB5OoHz5/xjYnffRk=";
vendorHash = "sha256-ypimv9xi3mKL6xmmkAYdUO+lspafXpJsP8StaniboE0=";
nativeBuildInputs = [
installShellFiles

View File

@ -59,14 +59,14 @@ let
in
{
nextcloud30 = generic {
version = "30.0.11";
hash = "sha256-WEJ3LV1xLxBdyPFdZ4hFnmFEuDbMiKBiyQU3CiZUN3o=";
version = "30.0.12";
hash = "sha256-nhmyX0InPUNhIYQmtHYqdmvuQIz6aqghn4wn9yCVp6g=";
packages = nextcloud30Packages;
};
nextcloud31 = generic {
version = "31.0.5";
hash = "sha256-Iii49STc2H8IoqkoHUGwT1y1ALdiS8jI4HuOMDkGFQM=";
version = "31.0.6";
hash = "sha256-pqvOG+hK5lCQYliV7leWxuYx/RDLF2RexNc/fZs3Jig=";
packages = nextcloud31Packages;
};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -6,12 +6,11 @@
pkg-config,
rustPlatform,
libiconv,
fetchpatch,
nixosTests,
}:
let
libflux_version = "0.194.5";
libflux_version = "0.196.1";
# This is copied from influxdb2 with the required flux version
flux = rustPlatform.buildRustPackage rec {
@ -21,21 +20,11 @@ let
owner = "influxdata";
repo = "flux";
tag = "v${libflux_version}";
hash = "sha256-XHT/+JMu5q1cPjZT2x/OKEPgxFJcnjrQKqn8w9/Mb3s=";
hash = "sha256-935aN2SxfNZvpG90rXuqZ2OTpSGLgiBDbZsBoG0WUvU=";
};
patches = [
# Fix build on Rust 1.78 (included after v0.195.0)
(fetchpatch {
name = "fix-build-on-rust-1.78.patch";
url = "https://github.com/influxdata/flux/commit/68c831c40b396f0274f6a9f97d77707c39970b02.patch";
stripLen = 2;
extraPrefix = "";
excludes = [ ];
hash = "sha256-6LOTgbOCfETNTmshyXgtDZf9y4t/2iqRuVPkz9dYPHc=";
})
# https://github.com/influxdata/flux/pull/5542
../influxdb2/fix-unsigned-char.patch
# https://github.com/influxdata/flux/pull/5516
../influxdb2/rust_lifetime.patch
];
# Don't fail on missing code documentation
postPatch = ''
@ -44,7 +33,7 @@ let
'';
sourceRoot = "${src.name}/libflux";
useFetchCargoVendor = true;
cargoHash = "sha256-wJVvpjaBUae3FK3lQaQov4t0UEsH86tB8B8bsSFGGBU=";
cargoHash = "sha256-A6j/lb47Ob+Po8r1yvqBXDVP0Hf7cNz8WFZqiVUJj+Y=";
nativeBuildInputs = [ rustPlatform.bindgenHook ];
buildInputs = lib.optional stdenv.hostPlatform.isDarwin libiconv;
pkgcfg = ''
@ -60,7 +49,7 @@ let
mkdir -p $out/include $out/pkgconfig
cp -r $NIX_BUILD_TOP/source/libflux/include/influxdata $out/include
substitute $pkgcfgPath $out/pkgconfig/flux.pc \
--replace /out $out
--replace-fail /out $out
''
+ lib.optionalString stdenv.hostPlatform.isDarwin ''
install_name_tool -id $out/lib/libflux.dylib $out/lib/libflux.dylib
@ -69,16 +58,16 @@ let
in
buildGoModule rec {
pname = "influxdb";
version = "1.10.7";
version = "1.12.0";
src = fetchFromGitHub {
owner = "influxdata";
repo = pname;
repo = "influxdb";
rev = "v${version}";
hash = "sha256-Aibu3yG/D1501Hr2F2qsGvjig14tbEAI+MBfqbxlpg8=";
hash = "sha256-jSv3zzU/jIqALF9mb4gV7zyQvm8pIwJU6Y4ADBlpVOE=";
};
vendorHash = "sha256-AA6uj7PgXjC+IK2ZSwRnYpHS4MFScOROO1BpP+s33IU=";
vendorHash = "sha256-tPw/1vkUTwmRHrnENDG3NJTV6RplI4pCP6GueRT8dbc=";
nativeBuildInputs = [ pkg-config ];

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