Merge staging-next into staging

This commit is contained in:
github-actions[bot] 2024-03-15 00:02:27 +00:00 committed by GitHub
commit 241984a941
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
62 changed files with 2644 additions and 4682 deletions

View File

@ -1,14 +1,37 @@
{ lib }:
let
inherit (builtins) head tail isList isAttrs isInt attrNames;
inherit (lib)
and
any
attrByPath
attrNames
compare
concat
concatMap
elem
filter
foldl
foldr
genericClosure
head
imap1
init
isAttrs
isFunction
isInt
isList
lists
listToAttrs
mapAttrs
mergeAttrs
meta
nameValuePair
tail
toList
;
in
with lib.lists;
with lib.attrsets;
with lib.strings;
rec {
inherit (lib.attrsets) removeAttrs;
# returns default if env var is not set
maybeEnv = name: default:
@ -26,7 +49,7 @@ rec {
base = (setAttrMerge "passthru" {} (f arg)
( z: z // {
function = foldArgs merger f arg;
args = (lib.attrByPath ["passthru" "args"] {} z) // x;
args = (attrByPath ["passthru" "args"] {} z) // x;
} ));
withStdOverrides = base // {
override = base.passthru.function;
@ -77,11 +100,11 @@ rec {
# Output : are reqs satisfied? It's asserted.
checkReqs = attrSet: argList: condList:
(
foldr lib.and true
foldr and true
(map (x: let name = (head x); in
((checkFlag attrSet name) ->
(foldr lib.and true
(foldr and true
(map (y: let val=(getValue attrSet argList y); in
(val!=null) && (val!=false))
(tail x))))) condList));
@ -159,11 +182,11 @@ rec {
closePropagationSlow = list: (uniqList {inputList = (innerClosePropagation [] list);});
# This is an optimisation of lib.closePropagation which avoids the O(n^2) behavior
# This is an optimisation of closePropagation which avoids the O(n^2) behavior
# Using a list of derivations, it generates the full closure of the propagatedXXXBuildInputs
# The ordering / sorting / comparison is done based on the `outPath`
# attribute of each derivation.
# On some benchmarks, it performs up to 15 times faster than lib.closePropagation.
# On some benchmarks, it performs up to 15 times faster than closePropagation.
# See https://github.com/NixOS/nixpkgs/pull/194391 for details.
closePropagationFast = list:
builtins.map (x: x.val) (builtins.genericClosure {
@ -250,10 +273,10 @@ rec {
# foldArgs, composedArgsAndFun or applyAndFun. Example: composableDerivation in all-packages.nix
mergeAttrByFunc = x: y:
let
mergeAttrBy2 = { mergeAttrBy = lib.mergeAttrs; }
mergeAttrBy2 = { mergeAttrBy = mergeAttrs; }
// (maybeAttr "mergeAttrBy" {} x)
// (maybeAttr "mergeAttrBy" {} y); in
foldr lib.mergeAttrs {} [
foldr mergeAttrs {} [
x y
(mapAttrs ( a: v: # merge special names using given functions
if x ? ${a}
@ -273,9 +296,9 @@ rec {
# sane defaults (same name as attr name so that inherit can be used)
mergeAttrBy = # { buildInputs = concatList; [...]; passthru = mergeAttr; [..]; }
listToAttrs (map (n: nameValuePair n lib.concat)
listToAttrs (map (n: nameValuePair n concat)
[ "nativeBuildInputs" "buildInputs" "propagatedBuildInputs" "configureFlags" "prePhases" "postAll" "patches" ])
// listToAttrs (map (n: nameValuePair n lib.mergeAttrs) [ "passthru" "meta" "cfg" "flags" ])
// listToAttrs (map (n: nameValuePair n mergeAttrs) [ "passthru" "meta" "cfg" "flags" ])
// listToAttrs (map (n: nameValuePair n (a: b: "${a}\n${b}") ) [ "preConfigure" "postInstall" ])
;
@ -283,7 +306,7 @@ rec {
if isAttrs x then
if x ? outPath then "derivation"
else "attrs"
else if lib.isFunction x then "function"
else if isFunction x then "function"
else if isList x then "list"
else if x == true then "bool"
else if x == false then "bool"
@ -304,4 +327,47 @@ rec {
fakeHash = "sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=";
fakeSha256 = "0000000000000000000000000000000000000000000000000000000000000000";
fakeSha512 = "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000";
in
# Everything in this attrset is the public interface of the file.
{
inherit
checkFlag
checkReqs
closePropagation
closePropagationFast
closePropagationSlow
condConcat
defaultMerge
defaultMergeArg
fakeHash
fakeSha256
fakeSha512
foldArgs
getValue
ifEnable
imap
innerClosePropagation
innerModifySumArgs
lazyGenericClosure
mapAttrsFlatten
maybeAttr
maybeAttrNullable
maybeEnv
mergeAttrBy
mergeAttrByFunc
mergeAttrsByFuncDefaults
mergeAttrsByFuncDefaultsClean
mergeAttrsConcatenateValues
mergeAttrsNoOverride
mergeAttrsWithFunc
modifySumArgs
nixType
nvs
setAttr
setAttrMerge
uniqList
uniqListExt
;
}

View File

@ -1,6 +1,8 @@
{ lib }:
with lib;
let
inherit (lib) mkIf versionAtLeast versionOlder;
in
{

View File

@ -17621,15 +17621,6 @@
matrix = "@shamrocklee:matrix.org";
name = "Yueh-Shun Li";
};
shanesveller = {
email = "shane@sveller.dev";
github = "shanesveller";
githubId = 831;
keys = [{
fingerprint = "F83C 407C ADC4 5A0F 1F2F 44E8 9210 C218 023C 15CD";
}];
name = "Shane Sveller";
};
shard7 = {
email = "sh7user@gmail.com";
github = "shard77";

View File

@ -14,7 +14,6 @@ let
expose_php = "Off";
error_reporting = "E_ALL & ~E_DEPRECATED & ~E_STRICT";
display_errors = "stderr";
"opcache.enable_cli" = "1";
"opcache.interned_strings_buffer" = "8";
"opcache.max_accelerated_files" = "10000";
"opcache.memory_consumption" = "128";

View File

@ -42,8 +42,18 @@ import ./make-test-python.nix ({ pkgs, ... }:
virtualisation.additionalPaths = [ containerSystem ];
# not needed, but we want to test the nspawn file generation
systemd.nspawn.${containerName} = { };
systemd.tmpfiles.rules = [
"d /var/lib/machines/shared-decl 0755 root root - -"
];
systemd.nspawn.shared-decl = {
execConfig = {
Boot = false;
Parameters = "${containerSystem}/init";
};
filesConfig = {
BindReadOnly = "/nix/store";
};
};
systemd.services."systemd-nspawn@${containerName}" = {
serviceConfig.Environment = [
@ -52,14 +62,33 @@ import ./make-test-python.nix ({ pkgs, ... }:
];
overrideStrategy = "asDropin";
};
# open DHCP for container
networking.firewall.extraCommands = ''
${pkgs.iptables}/bin/iptables -A nixos-fw -i ve-+ -p udp -m udp --dport 67 -j nixos-fw-accept
'';
};
testScript = ''
start_all()
machine.wait_for_unit("default.target");
# Install container
# Test machinectl start stop of shared-decl
machine.succeed("machinectl start shared-decl");
machine.wait_until_succeeds("systemctl -M shared-decl is-active default.target");
machine.succeed("machinectl stop shared-decl");
# create containers root
machine.succeed("mkdir -p ${containerRoot}");
# start container with shared nix store by using same arguments as for systemd-nspawn@.service
machine.succeed("systemd-run systemd-nspawn --machine=${containerName} --network-veth -U --bind-ro=/nix/store ${containerSystem}/init")
machine.wait_until_succeeds("systemctl -M ${containerName} is-active default.target");
# Test machinectl stop
machine.succeed("machinectl stop ${containerName}");
# Install container
# Workaround for nixos-install
machine.succeed("chmod o+rx /var/lib/machines");
machine.succeed("nixos-install --root ${containerRoot} --system ${containerSystem} --no-channel-copy --no-root-passwd");
@ -77,6 +106,12 @@ import ./make-test-python.nix ({ pkgs, ... }:
# Test nss_mymachines via nscd
machine.succeed("getent hosts ${containerName}");
# Test systemd-nspawn network configuration to container
machine.succeed("networkctl --json=short status ve-${containerName} | ${pkgs.jq}/bin/jq -e '.OperationalState == \"routable\"'");
# Test systemd-nspawn network configuration to host
machine.succeed("machinectl shell ${containerName} /run/current-system/sw/bin/networkctl --json=short status host0 | ${pkgs.jq}/bin/jq -r '.OperationalState == \"routable\"'");
# Test systemd-nspawn network configuration
machine.succeed("ping -n -c 1 ${containerName}");

View File

@ -1,40 +0,0 @@
{ lib, stdenv, fetchurl, pkg-config, wrapGAppsHook, intltool, libgpod, libxml2, curl, flac
, gnome, gtk3, gettext, perlPackages, flex, libid3tag, gdl
, libvorbis, gdk-pixbuf
}:
stdenv.mkDerivation rec {
version = "2.1.5";
pname = "gtkpod";
src = fetchurl {
url = "mirror://sourceforge/gtkpod/${pname}-${version}.tar.gz";
sha256 = "0xisrpx069f7bjkyc8vqxb4k0480jmx1wscqxr6cpq1qj6pchzd5";
};
postPatch = ''
sed -i 's/which/type -P/' scripts/*.sh
'';
nativeBuildInputs = [ pkg-config wrapGAppsHook intltool ];
buildInputs = [
curl gettext
flex libgpod libid3tag flac libvorbis libxml2 gtk3 gdk-pixbuf
gdl gnome.adwaita-icon-theme gnome.anjuta
] ++ (with perlPackages; [ perl XMLParser ]);
# Workaround build failure on -fno-common toolchains like upstream
# gcc-10. Otherwise build fails as:
# ld: .libs/autodetection.o:/build/gtkpod-2.1.5/libgtkpod/gtkpod_app_iface.h:248: multiple definition of
# `gtkpod_app'; .libs/gtkpod_app_iface.o:/build/gtkpod-2.1.5/libgtkpod/gtkpod_app_iface.h:248: first defined here
env.NIX_CFLAGS_COMPILE = "-fcommon";
enableParallelBuilding = true;
meta = with lib; {
description = "GTK Manager for an Apple ipod";
homepage = "https://sourceforge.net/projects/gtkpod/";
license = licenses.gpl2Plus;
platforms = platforms.linux;
maintainers = [ ];
};
}

File diff suppressed because it is too large Load Diff

View File

@ -12,9 +12,9 @@
, postgresql
, protobuf
, rustPlatform
, rust-jemalloc-sys
, Security
, sqlite
, rust-jemalloc-sys
, stdenv
, SystemConfiguration
, testers
@ -23,7 +23,7 @@
rustPlatform.buildRustPackage rec {
pname = "lighthouse";
version = "4.5.0";
version = "4.6.0";
# lighthouse/common/deposit_contract/build.rs
depositContractSpecVersion = "0.12.1";
@ -33,11 +33,12 @@ rustPlatform.buildRustPackage rec {
owner = "sigp";
repo = "lighthouse";
rev = "v${version}";
hash = "sha256-UUOvTxOQXT1zfhDYEL/J6moHAyejZn7GyGS/XBmXxRQ=";
hash = "sha256-uMrVnVvYXcY2Axn3ycsf+Pwur3HYGoOYjjUkGS5c3l4=";
};
patches = [
./use-system-sqlite.patch
./use-c-kzg-from-crates-io.patch
];
postPatch = ''
@ -48,14 +49,11 @@ rustPlatform.buildRustPackage rec {
lockFile = ./Cargo.lock;
outputHashes = {
"amcl-0.3.0" = "sha256-kc8k/ls4W0TwFBsRcyyotyz8ZBEjsZXHeJnJtsnW/LM=";
"anvil-rpc-0.1.0" = "sha256-L38OioxnWEn94g3GJT4j3U1cJZ8jQDHp8d1QOHaVEuU=";
"beacon-api-client-0.1.0" = "sha256-Z0CoPxZzl2bjb8vgmHWxq2orMawhMMs7beKGopilKjE=";
"ethereum-consensus-0.1.1" = "sha256-biTrw3yMJUo9+56QK5RGWXLCoPPZEWp18SCs+Y9QWg4=";
"discv5-0.4.0" = "sha256-GKAk9Du6fy0ldeBEwPueDbVPhyNxdKNROKpMJvR/OTc=";
"futures-bounded-0.2.3" = "sha256-/LbD+je9P1lPnXMJVDqRQHJziQPXPvSDmQadTfsQ5I8=";
"libmdbx-0.1.4" = "sha256-NMsR/Wl1JIj+YFPyeMMkrJFfoS07iEAKEQawO89a+/Q=";
"lmdb-rkv-0.14.0" = "sha256-sxmguwqqcyOlfXOZogVz1OLxfJPo+Q0+UjkROkbbOCk=";
"mev-rs-0.3.0" = "sha256-LCO0GTvWTLcbPt7qaSlLwlKmAjt3CIHVYTT/JRXpMEo=";
"testcontainers-0.14.0" = "sha256-mSsp21G7MLEtFROWy88Et5s07PO0tjezovCGIMh+/oQ=";
"warp-0.3.5" = "sha256-d5e6ASdL7+Dl3KsTNOb9B5RHpStrupOKsbGWsdu9Jfk=";
"warp-0.3.6" = "sha256-knDt2aw/PJ0iabhKg+okwwnEzCY+vQVhE7HKCTM6QbE=";
};
};
@ -70,8 +68,8 @@ rustPlatform.buildRustPackage rec {
];
buildInputs = [
sqlite
rust-jemalloc-sys
sqlite
] ++ lib.optionals stdenv.isDarwin [
CoreFoundation
Security
@ -102,11 +100,12 @@ rustPlatform.buildRustPackage rec {
# All of these tests require network access and/or docker
cargoTestFlags = [
"--workspace"
"--exclude beacon_node"
"--exclude beacon_chain"
"--exclude beacon_node"
"--exclude http_api"
"--exclude lighthouse"
"--exclude lighthouse_network"
"--exclude network"
"--exclude slashing_protection"
"--exclude watch"
"--exclude web3signer_tests"
@ -147,11 +146,17 @@ rustPlatform.buildRustPackage rec {
updateScript = nix-update-script { };
};
enableParallelBuilding = true;
# This is needed by the unit tests.
FORK_NAME = "capella";
meta = with lib; {
description = "Ethereum consensus client in Rust";
homepage = "https://lighthouse.sigmaprime.io/";
license = licenses.asl20;
maintainers = with maintainers; [ centromere pmw ];
mainProgram = "lighthouse";
broken = stdenv.hostPlatform.isDarwin;
};
}

View File

@ -0,0 +1,11 @@
diff --git a/crypto/kzg/Cargo.toml b/crypto/kzg/Cargo.toml
index 7b70166f9..857fa4ee1 100644
--- a/crypto/kzg/Cargo.toml
+++ b/crypto/kzg/Cargo.toml
@@ -16,4 +16,4 @@ serde = { workspace = true }
ethereum_serde_utils = { workspace = true }
hex = { workspace = true }
ethereum_hashing = { workspace = true }
-c-kzg = { git = "https://github.com/ethereum/c-kzg-4844", rev = "748283cced543c486145d5f3f38684becdfe3e1b"}
\ No newline at end of file
+c-kzg = "0.4.0"

View File

@ -1,10 +1,10 @@
diff --git a/Cargo.toml b/Cargo.toml
index 62c0e7bd2..a089e3c5b 100644
index ca55d00d4..76514b545 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -138,7 +138,7 @@ rayon = "1.7"
@@ -139,7 +139,7 @@ rayon = "1.7"
regex = "1"
reqwest = { version = "0.11", default-features = false, features = ["blocking", "json", "stream", "rustls-tls"] }
reqwest = { version = "0.11", default-features = false, features = ["blocking", "json", "stream", "rustls-tls", "native-tls-vendored"] }
ring = "0.16"
-rusqlite = { version = "0.28", features = ["bundled"] }
+rusqlite = { version = "0.28" }

View File

@ -1,72 +1,63 @@
{ lib
, fetchurl
, vscode-utils
, patchelf
, icu
, stdenv
, openssl
, coreutils
,
}:
let
inherit (stdenv.hostPlatform) system;
inherit (vscode-utils) buildVscodeMarketplaceExtension;
version = "1.25.4";
vsixInfo =
extInfo =
let
linuxDebuggerBins = [
baseBins = [
".roslyn/Microsoft.CodeAnalysis.LanguageServer"
".razor/rzls"
];
linuxBins = baseBins ++ [
".debugger/vsdbg-ui"
".debugger/vsdbg"
];
darwinX86DebuggerBins = [
darwinBins = baseBins ++ [
".debugger/x86_64/vsdbg-ui"
".debugger/x86_64/vsdbg"
];
darwinAarch64DebuggerBins = [
".debugger/arm64/vsdbg-ui"
".debugger/arm64/vsdbg"
];
omniSharpBins = [
".omnisharp/1.39.4-net6.0/OmniSharp"
];
razorBins = [
".razor/createdump"
".razor/rzls"
];
in
{
x86_64-linux = {
url = "https://github.com/OmniSharp/omnisharp-vscode/releases/download/v${version}/csharp-${version}-linux-x64.vsix";
sha256 = "08k0wxyj8wz8npw1yqrkdpbvwbnrdnsngdkrd2p5ayn3v608ifc2";
binaries = linuxDebuggerBins ++ omniSharpBins ++ razorBins;
arch = "linux-x64";
sha256 = "sha256-si4HKGVIHu44QNlNI2WEnMff9+QZOMWiBfWQaaFGyQE=";
binaries = linuxBins;
};
aarch64-linux = {
url = "https://github.com/OmniSharp/omnisharp-vscode/releases/download/v${version}/csharp-${version}-linux-arm64.vsix";
sha256 = "09r2d463dk35905f2c3msqzxa7ylcf0ynhbp3n6d12y3x1200pr2";
binaries = linuxDebuggerBins ++ omniSharpBins ++ razorBins;
arch = "linux-arm64";
sha256 = "sha256-1IXkSRgCHOLD4VeCdqyy54MXCBUX5RDDb3pf7GQH5jA=";
binaries = linuxBins;
};
x86_64-darwin = {
url = "https://github.com/OmniSharp/omnisharp-vscode/releases/download/v${version}/csharp-${version}-darwin-x64.vsix";
sha256 = "0mp550kq33zwmlvrhymwnixl4has62imw3ia5z7a01q7mp0w9wpn";
binaries = darwinX86DebuggerBins ++ omniSharpBins ++ razorBins;
arch = "darwin-x64";
sha256 = "sha256-AAbYjZ+YYyGEXSLkiFfluLf7P4OzPhmHzK44N5XT9UI=";
binaries = darwinBins;
};
aarch64-darwin = {
url = "https://github.com/OmniSharp/omnisharp-vscode/releases/download/v${version}/csharp-${version}-darwin-arm64.vsix";
sha256 = "08406xz2raal8f10bmnkz1mwdfprsbkjxzc01v0i4sax1hr2a2yl";
binaries = darwinAarch64DebuggerBins ++ darwinX86DebuggerBins ++ omniSharpBins ++ razorBins;
arch = "darwin-arm64";
sha256 = "sha256-1m47kX0Jo+UvthNfgdoPdBBOcDyCA8DfP+zRk3SicR0=";
binaries = darwinBins ++ [
".debugger/arm64/vsdbg-ui"
".debugger/arm64/vsdbg"
];
};
}.${system} or (throw "Unsupported system: ${system}");
in
vscode-utils.buildVscodeMarketplaceExtension rec {
buildVscodeMarketplaceExtension {
mktplcRef = {
name = "csharp";
publisher = "ms-dotnettools";
inherit version;
};
vsix = fetchurl {
name = "${mktplcRef.publisher}-${mktplcRef.name}.zip";
inherit (vsixInfo) url sha256;
version = "2.22.3";
inherit (extInfo) sha256 arch;
};
nativeBuildInputs = [
@ -74,63 +65,47 @@ vscode-utils.buildVscodeMarketplaceExtension rec {
];
postPatch = ''
declare ext_unique_id
# See below as to why we cannot take the whole basename.
ext_unique_id="$(basename "$out" | head -c 32)"
patchelf_add_icu_as_needed() {
declare elf="''${1?}"
declare icu_major_v="${
lib.head (lib.splitVersion (lib.getVersion icu.name))
}"
# Fix 'Unable to connect to debuggerEventsPipeName .. exceeds the maximum length 107.' when
# attempting to launch a specific test in debug mode. The extension attemps to open
# a pipe in extension dir which would fail anyway. We change to target file path
# to a path in tmp dir with a short name based on the unique part of the nix store path.
# This is however a brittle patch as we're working on minified code.
# Hence the attempt to only hold on stable names.
# However, this really would better be fixed upstream.
sed -i \
-E -e 's/(this\._pipePath=[a-zA-Z0-9_]+\.join\()([a-zA-Z0-9_]+\.getExtensionPath\(\)[^,]*,)/\1require("os").tmpdir(), "'"$ext_unique_id"'"\+/g' \
"$PWD/dist/extension.js"
for icu_lib in icui18n icuuc icudata; do
patchelf --add-needed "lib''${icu_lib}.so.$icu_major_v" "$elf"
done
}
# Fix reference to uname
sed -i \
-E -e 's_uname -m_${coreutils}/bin/uname -m_g' \
"$PWD/dist/extension.js"
patchelf_common() {
declare elf="''${1?}"
patchelf_add_icu_as_needed() {
declare elf="''${1?}"
declare icu_major_v="${
lib.head (lib.splitVersion (lib.getVersion icu.name))
}"
patchelf_add_icu_as_needed "$elf"
patchelf --add-needed "libssl.so" "$elf"
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath "${lib.makeLibraryPath [stdenv.cc.cc openssl icu.out]}:\$ORIGIN" \
"$elf"
}
for icu_lib in icui18n icuuc icudata; do
patchelf --add-needed "lib''${icu_lib}.so.$icu_major_v" "$elf"
done
}
substituteInPlace dist/extension.js \
--replace 'uname -m' '${lib.getExe' coreutils "uname"} -m'
patchelf_common() {
declare elf="''${1?}"
patchelf_add_icu_as_needed "$elf"
patchelf --add-needed "libssl.so" "$elf"
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath "${lib.makeLibraryPath [ stdenv.cc.cc openssl icu.out ]}:\$ORIGIN" \
"$elf"
}
'' + (lib.concatStringsSep "\n" (map
(bin: ''
chmod +x "${bin}"
'')
vsixInfo.binaries))
+ lib.optionalString stdenv.isLinux (lib.concatStringsSep "\n" (map
(bin: ''
patchelf_common "${bin}"
'')
vsixInfo.binaries));
''
+ (lib.concatStringsSep "\n" (map
(bin: ''
chmod +x "${bin}"
'')
extInfo.binaries))
+ lib.optionalString stdenv.isLinux (lib.concatStringsSep "\n" (map
(bin: ''
patchelf_common "${bin}"
'')
extInfo.binaries));
meta = {
description = "C# for Visual Studio Code (powered by OmniSharp)";
homepage = "https://github.com/OmniSharp/omnisharp-vscode";
description = "Official C# support for Visual Studio Code";
homepage = "https://github.com/dotnet/vscode-csharp";
license = lib.licenses.mit;
maintainers = [ lib.maintainers.jraygauthier ];
maintainers = with lib.maintainers; [ ggg ];
platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ];
};
}

View File

@ -94,11 +94,11 @@ in
stdenv.mkDerivation rec {
pname = "brave";
version = "1.63.169";
version = "1.63.174";
src = fetchurl {
url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-browser_${version}_amd64.deb";
hash = "sha256-K8zbsxwKcYuhW7m7ijrAOeHHpC2AhM4Kr2M7SwGlV70=";
hash = "sha256-COy1XwooN0agp5dLDVUAfhpFvgubbClaGrUQ5PFgTJk=";
};
dontConfigure = true;

View File

@ -18,37 +18,39 @@
, libpng
, python3
, zlib
, simde
, bashInteractive
, zsh
, fish
, nixosTests
, go
, buildGoModule
, go_1_22
, buildGo122Module
, nix-update-script
}:
with python3Packages;
buildPythonApplication rec {
pname = "kitty";
version = "0.32.2";
version = "0.33.0";
format = "other";
src = fetchFromGitHub {
owner = "kovidgoyal";
repo = "kitty";
rev = "refs/tags/v${version}";
hash = "sha256-CgL+XXVTGLbNXm7DLenrkCZAfspyNubGOAPUZmKiq2c=";
hash = "sha256-0bdDolaFbVI3CqcOtKFrvRqrKXIiSIfH5rxJgK5XssI=";
};
goModules = (buildGoModule {
goModules = (buildGo122Module {
pname = "kitty-go-modules";
inherit src version;
vendorHash = "sha256-Ve8s4vgDmByfvyJL8a36+7g3QErkhqVXGCSu6vHFFx0=";
vendorHash = "sha256-7301wHGCXUdfPFOhgLEJILmYxNohNm6H2zXGd9W11Wk=";
}).goModules;
buildInputs = [
harfbuzz
ncurses
simde
lcms2
librsync
openssl.dev
@ -78,7 +80,7 @@ buildPythonApplication rec {
sphinx-copybutton
sphinxext-opengraph
sphinx-inline-tabs
go
go_1_22
] ++ lib.optionals stdenv.isDarwin [
imagemagick
libicns # For the png2icns tool.
@ -232,7 +234,9 @@ buildPythonApplication rec {
'';
passthru = {
tests.test = nixosTests.terminal-emulators.kitty;
tests = lib.mkIf stdenv.isLinux {
default = nixosTests.terminal-emulators.kitty;
};
updateScript = nix-update-script {};
};

View File

@ -51,16 +51,16 @@ let
in
rustPlatform.buildRustPackage rec {
pname = "rio";
version = "0.0.35";
version = "0.0.36";
src = fetchFromGitHub {
owner = "raphamorim";
repo = "rio";
rev = "v${version}";
hash = "sha256-e+GiNwvjwIi5wCyI+IQ0BZ8IR8by5RUq8dk1JO50mjU=";
hash = "sha256-QCQFFnlKD5olaGjRwDlj5/EBV6Qy/bFAZOQRtCSPamc=";
};
cargoHash = "sha256-voQQjouCOwVLzOKtDUCa1lZLgx0JB7mvCqOY4BhmMr4=";
cargoHash = "sha256-Ea0scCbM9mfxC1YL3HCoBk93eVW20bj2mJyauyDSzT8=";
nativeBuildInputs = [
ncurses

View File

@ -39,7 +39,7 @@ rustPlatform.buildRustPackage {
"CLI tool to help keep track of your Git repositories, written in Rust";
homepage = "https://github.com/nickgerace/gfold";
license = licenses.asl20;
maintainers = [ maintainers.shanesveller ];
maintainers = [];
platforms = platforms.unix;
mainProgram = "gfold";
};

View File

@ -1,12 +1,12 @@
{ stdenv, lib, fetchFromGitLab, vdr, graphicsmagick }:
stdenv.mkDerivation rec {
pname = "vdr-skin-nopacity";
version = "1.1.16";
version = "1.1.17";
src = fetchFromGitLab {
repo = "SkinNopacity";
owner = "kamel5";
sha256 = "sha256-5TTilBKlNsFBm5BaCoRV1LzZgpad2lOIQGyk94jGYls=";
hash = "sha256-QJKlh5my7e+H5R4E0fCWB/PtwIAXCXw4drQEQzhzfag=";
rev = version;
};

View File

@ -21,6 +21,10 @@ checkComposerValidate() {
echo -e '\e[31mThe validation of the composer.json failed.\e[0m'
echo -e '\e[31mMake sure that the file composer.json is valid.\e[0m'
echo
echo -e '\e[31mTo address the issue efficiently, follow one of these steps:\e[0m'
echo -e '\e[31m 1. File an issue in the project'\''s issue tracker with detailed information, and apply any available remote patches as a temporary solution '\('with fetchpatch'\)'.\e[0m'
echo -e '\e[31m 2. If an immediate fix is needed or if reporting upstream isn'\''t suitable, develop a temporary local patch.\e[0m'
echo
exit 1
else
echo
@ -29,6 +33,10 @@ checkComposerValidate() {
echo -e '\e[33mThe validation of the composer.json failed.\e[0m'
echo -e '\e[33mMake sure that the file composer.json is valid.\e[0m'
echo
echo -e '\e[33mTo address the issue efficiently, follow one of these steps:\e[0m'
echo -e '\e[33m 1. File an issue in the project'\''s issue tracker with detailed information, and apply any available remote patches as a temporary solution with '\('with fetchpatch'\)'.\e[0m'
echo -e '\e[33m 2. If an immediate fix is needed or if reporting upstream isn'\''t suitable, develop a temporary local patch.\e[0m'
echo
echo -e '\e[33mThis check is not blocking, but it is recommended to fix the issue.\e[0m'
echo
fi
@ -42,6 +50,12 @@ checkComposerValidate() {
echo -e '\e[31mThe validation of the composer.json and composer.lock failed.\e[0m'
echo -e '\e[31mMake sure that the file composer.lock is consistent with composer.json.\e[0m'
echo
echo -e '\e[31mThis often indicates an issue with the upstream project, which can typically be resolved by reporting the issue to the relevant project maintainers.\e[0m'
echo
echo -e '\e[31mTo address the issue efficiently, follow one of these steps:\e[0m'
echo -e '\e[31m 1. File an issue in the project'\''s issue tracker with detailed information '\('run '\''composer update --lock --no-install'\'' to fix the issue'\)', and apply any available remote patches as a temporary solution with '\('with fetchpatch'\)'.\e[0m'
echo -e '\e[31m 2. If an immediate fix is needed or if reporting upstream isn'\''t suitable, develop a temporary local patch.\e[0m'
echo
exit 1
else
echo
@ -50,6 +64,12 @@ checkComposerValidate() {
echo -e '\e[33mThe validation of the composer.json and composer.lock failed.\e[0m'
echo -e '\e[33mMake sure that the file composer.lock is consistent with composer.json.\e[0m'
echo
echo -e '\e[33mThis often indicates an issue with the upstream project, which can typically be resolved by reporting the issue to the relevant project maintainers.\e[0m'
echo
echo -e '\e[33mTo address the issue efficiently, follow one of these steps:\e[0m'
echo -e '\e[33m 1. File an issue in the project'\''s issue tracker with detailed information '\('run '\''composer update --lock --no-install'\'' to fix the issue'\)', and apply any available remote patches as a temporary solution with '\('with fetchpatch'\)'.\e[0m'
echo -e '\e[33m 2. If an immediate fix is needed or if reporting upstream isn'\''t suitable, develop a temporary local patch.\e[0m'
echo
echo -e '\e[33mThis check is not blocking, but it is recommended to fix the issue.\e[0m'
echo
fi

View File

@ -0,0 +1,27 @@
{ lib
, fetchFromGitHub
, rustPlatform
}:
rustPlatform.buildRustPackage rec {
pname = "audion";
version = "0.2.0";
src = fetchFromGitHub {
owner = "audiusGmbH";
repo = "audion";
rev = "refs/tags/${version}";
hash = "sha256-j8sQCeHpxrpzyY75DypWI9z+JBWq7aaaXPnZh7ksRjc=";
};
cargoHash = "sha256-/x2gjLz73uPY+ouQOxLN2ViET+V/s9jgkgw97yzVj24=";
meta = with lib; {
description = "Ping the host continuously and write results to a file";
homepage = "https://github.com/audiusGmbH/audion";
changelog = "https://github.com/audiusGmbH/audion/releases/tag/${version}";
license = licenses.mit;
maintainers = with maintainers; [ fab ];
mainProgram = "audion";
};
}

View File

@ -14,24 +14,33 @@
, cairo
, pango
, npm-lockfile-fix
, overrideSDK
, darwin
}:
buildNpmPackage rec {
let
# fix for: https://github.com/NixOS/nixpkgs/issues/272156
buildNpmPackage' =
buildNpmPackage.override {
stdenv = if stdenv.isDarwin then overrideSDK stdenv "11.0" else stdenv;
};
in
buildNpmPackage' rec {
pname = "bruno";
version = "1.8.0";
version = "1.10.0";
src = fetchFromGitHub {
owner = "usebruno";
repo = "bruno";
rev = "v${version}";
hash = "sha256-STWGZzFtU3UpctgNz3m96JyfSRzHy2ZZQPr8R+zpDgM=";
hash = "sha256-wxQaKewKIfN93Wvb7WmOSuflTgfk1XKvHAA1UIVyMqk=";
postFetch = ''
${lib.getExe npm-lockfile-fix} $out/package-lock.json
'';
};
npmDepsHash = "sha256-0Uac4Q3EYiTkg6RFuwR+saXiVm7jISyZBjkN30uYnnE=";
npmDepsHash = "sha256-IXFFOegzJbDcQejqQsAg11jDnhSKi27Olm8m3qr7bqw=";
npmFlags = [ "--legacy-peer-deps" ];
nativeBuildInputs = [
@ -46,6 +55,8 @@ buildNpmPackage rec {
pixman
cairo
pango
] ++ lib.optionals stdenv.isDarwin [
darwin.apple_sdk_11_0.frameworks.CoreText
];
desktopItems = [

View File

@ -0,0 +1,50 @@
{ lib
, stdenv
, fetchFromGitLab
, meson
, ninja
, pkg-config
, wrapGAppsHook4
, desktop-file-utils
, libadwaita
, isocodes
, json-glib
, libipuz
}:
stdenv.mkDerivation rec {
pname = "crosswords";
version = "0.3.12";
src = fetchFromGitLab {
domain = "gitlab.gnome.org";
owner = "jrb";
repo = "crosswords";
rev = version;
hash = "sha256-3RL2LJdIHmDAjXaxqsE0n5UQMsuBJWEMoyAEoSBemR0=";
};
nativeBuildInputs = [
meson
ninja
pkg-config
wrapGAppsHook4
desktop-file-utils
];
buildInputs = [
libadwaita
isocodes
json-glib
libipuz
];
meta = with lib; {
description = "A Crossword player and editor for GNOME";
homepage = "https://gitlab.gnome.org/jrb/crosswords";
license = licenses.gpl3Plus;
mainProgram = "crosswords";
maintainers = with maintainers; [ aleksana ];
platforms = platforms.unix;
};
}

View File

@ -1,6 +1,7 @@
{ lib
, blueprint-compiler
, cargo
, darwin
, desktop-file-utils
, fetchFromGitHub
, glib
@ -17,19 +18,19 @@
stdenv.mkDerivation rec {
pname = "fretboard";
version = "5.3";
version = "5.4";
src = fetchFromGitHub {
owner = "bragefuglseth";
repo = pname;
repo = "fretboard";
rev = "v${version}";
hash = "sha256-wwq4Xq6IVLF2hICk9HfCpfxpWer8PNWywD8p3wQdp6U=";
hash = "sha256-GqnwAB7hmg2QLwSWqrZtTp6+FybK8/v4GZx/lMi0dGY=";
};
cargoDeps = rustPlatform.fetchCargoTarball {
inherit src;
name = "${pname}-${version}";
hash = "sha256-H/dAKaYHxRmldny8EoasrcDROZhLo5UbHPAoMicDehA=";
hash = "sha256-sGvb1+HKIqNSgCV9UzkCrkGrpjA34Pe9eq2/w3K/w/E=";
};
nativeBuildInputs = [
@ -48,8 +49,14 @@ stdenv.mkDerivation rec {
glib
gtk4
libadwaita
] ++ lib.optionals stdenv.isDarwin [
darwin.apple_sdk.frameworks.Foundation
];
env.NIX_CFLAGS_COMPILE = toString (lib.optionals stdenv.cc.isClang [
"-Wno-error=incompatible-function-pointer-types"
]);
meta = with lib; {
description = "Look up guitar chords";
homepage = "https://github.com/bragefuglseth/fretboard";
@ -57,6 +64,6 @@ stdenv.mkDerivation rec {
license = licenses.gpl3Plus;
maintainers = with maintainers; [ michaelgrahamevans ];
mainProgram = "fretboard";
platforms = platforms.linux;
platforms = platforms.unix;
};
}

View File

@ -12,16 +12,16 @@
rustPlatform.buildRustPackage rec {
pname = "gitu";
version = "0.5.4";
version = "0.6.2";
src = fetchFromGitHub {
owner = "altsem";
repo = "gitu";
rev = "v${version}";
hash = "sha256-a4hNgEizxanYE3XuHSCmbV6CkOqhXkznP3Sp0KLFFQs=";
hash = "sha256-ymAggfyLPpXp4aQPHp1R+olKeCZwrcwu1GldM8yJVtQ=";
};
cargoHash = "sha256-+CA3UG32oZedzRbt7b0wOlhH/subuym4BCL5SMNzrr8=";
cargoHash = "sha256-pIA9AnJoauT5nLxSgzR2Lk3wSo30fXAepAJlMahSuCA=";
nativeBuildInputs = [
pkg-config

View File

@ -6,7 +6,7 @@
let
pname = "lefthook";
version = "1.6.5";
version = "1.6.6";
in
buildGoModule {
inherit pname version;
@ -15,10 +15,10 @@ buildGoModule {
owner = "evilmartians";
repo = "lefthook";
rev = "v${version}";
hash = "sha256-C76yQ9F4QSywGdihDbNh8KwSL2U+rUjb8VpWRByxzVk=";
hash = "sha256-upt6N6t2ogCaRrHwvw/grTbhr0QXVQCtxMd34XmK030=";
};
vendorHash = "sha256-yWT7IX1n8CQSyXAzoncyYHzvYvIr8WzolyvC8/Cuhlo=";
vendorHash = "sha256-b+1Y75CG4ayDmnhYfPwpzMFrHCPmZ0FMbMsLiToac5c=";
nativeBuildInputs = [ installShellFiles ];

View File

@ -0,0 +1,42 @@
{ lib
, stdenv
, fetchFromGitLab
, meson
, ninja
, pkg-config
, glib
, json-glib
}:
stdenv.mkDerivation rec {
pname = "libipuz";
version = "0.4.5";
src = fetchFromGitLab {
domain = "gitlab.gnome.org";
owner = "jrb";
repo = "libipuz";
rev = version;
hash = "sha256-psC2cFqSTlToCtCxwosXyJbmX/96AEI0xqzXtlc/HQE=";
};
nativeBuildInputs = [
meson
ninja
pkg-config
glib
];
buildInputs = [
glib
json-glib
];
meta = with lib; {
description = "Library for parsing .ipuz puzzle files";
homepage = "https://gitlab.gnome.org/jrb/libipuz";
license = licenses.lgpl21Plus;
maintainers = with maintainers; [ aleksana ];
platforms = platforms.unix;
};
}

View File

@ -6,13 +6,13 @@
buildDotnetModule rec {
pname = "lubelogger";
version = "1.2.5";
version = "1.2.6";
src = fetchFromGitHub {
owner = "hargata";
repo = "lubelog";
rev = "v${version}";
hash = "sha256-wMsIcmHNNpgfYtQNQX8D7umdAGnlv0v5PIcI4Q5mRos=";
hash = "sha256-ZFFTkRCwcoYBjdzlkeAl2MCokF1dXuRV56WpGo2oaiA=";
};
projectFile = "CarCareTracker.sln";

View File

@ -1,23 +1,26 @@
{ lib, fetchFromGitHub, qmake
, coreutils, xdg-utils, bash
, makeWrapper, perlPackages, mkDerivation }:
{
lib,
fetchFromGitHub,
libsForQt5,
coreutils,
xdg-utils,
bash,
makeWrapper,
perlPackages,
}:
let
libsForQt5.mkDerivation rec {
pname = "qdirstat";
version = "1.9";
src = fetchFromGitHub {
owner = "shundhammer";
repo = pname;
repo = "qdirstat";
rev = version;
sha256 = "sha256-pwdmltHDNwUMx1FNOoiXl5Pna0zlKqahmicBCN6UVSU=";
hash = "sha256-pwdmltHDNwUMx1FNOoiXl5Pna0zlKqahmicBCN6UVSU=";
};
in
mkDerivation {
inherit pname version src;
nativeBuildInputs = [ qmake makeWrapper ];
nativeBuildInputs = [ makeWrapper ] ++ (with libsForQt5; [ qmake ]);
buildInputs = [ perlPackages.perl ];
@ -49,9 +52,9 @@ mkDerivation {
meta = with lib; {
description = "Graphical disk usage analyzer";
homepage = src.meta.homepage;
homepage = "https://github.com/shundhammer/qdirstat";
license = licenses.gpl2Plus;
maintainers = with maintainers; [ ];
maintainers = with maintainers; [ donovanglover ];
platforms = platforms.linux;
mainProgram = "qdirstat";
};

View File

@ -7,10 +7,10 @@
inherit buildUnstable;
}).overrideAttrs (finalAttrs: _: {
pname = "renode-unstable";
version = "1.14.0+20240308git65e3eb0f5";
version = "1.14.0+20240314git7ff57f373";
src = fetchurl {
url = "https://builds.renode.io/renode-${finalAttrs.version}.linux-portable.tar.gz";
hash = "sha256-s0SK4Ixl2hTbh6X3nddjKNpnxePjcd/SRXnP/xytInc=";
hash = "sha256-r9dI8g9GPa4QymFJagZLLynjTvQzR8IBIFOCSxZ3x7Q=";
};
})

View File

@ -1,6 +1,7 @@
{ lib
, blueprint-compiler
, cargo
, darwin
, desktop-file-utils
, fetchFromGitLab
, glib
@ -17,19 +18,19 @@
stdenv.mkDerivation (finalAttrs: {
pname = "switcheroo";
version = "2.0.1";
version = "2.1.0";
src = fetchFromGitLab {
owner = "adhami3310";
repo = "Switcheroo";
rev = "v${finalAttrs.version}";
hash = "sha256-3JlI0Co3yuD6fKaKlmz1Vg0epXABO+7cRvm6/PgbGUE=";
hash = "sha256-hopN2ynksaYoNYjXrh7plmhfmGYyqqK75GOtbsE95ZY=";
};
cargoDeps = rustPlatform.fetchCargoTarball {
src = finalAttrs.src;
name = "switcheroo-${finalAttrs.version}";
hash = "sha256-wC57VTJGiN2hDL2Z9fFw5H9c3Txqh30AHfR9o2DbcSk=";
hash = "sha256-wN6MsiOgYFgzDzdGei0ptRbG+h+xMJiFfzCcg6Xtryw=";
};
nativeBuildInputs = [
@ -48,8 +49,19 @@ stdenv.mkDerivation (finalAttrs: {
glib
gtk4
libadwaita
] ++ lib.optionals stdenv.isDarwin [
darwin.apple_sdk.frameworks.Foundation
];
# Workaround for the gettext-sys issue
# https://github.com/Koka/gettext-rs/issues/114
env.NIX_CFLAGS_COMPILE = lib.optionalString
(
stdenv.cc.isClang &&
lib.versionAtLeast stdenv.cc.version "16"
)
"-Wno-error=incompatible-function-pointer-types";
meta = with lib; {
changelog = "https://gitlab.com/adhami3310/Switcheroo/-/releases/v${finalAttrs.version}";
description = "An app for converting images between different formats";
@ -57,6 +69,6 @@ stdenv.mkDerivation (finalAttrs: {
license = licenses.gpl3Plus;
mainProgram = "switcheroo";
maintainers = with maintainers; [ michaelgrahamevans ];
platforms = platforms.linux;
platforms = platforms.unix;
};
})

View File

@ -7,15 +7,15 @@
, python3Packages
}:
stdenv.mkDerivation {
stdenv.mkDerivation (finalAttrs: {
pname = "budgie-media-player-applet";
version = "1.0.0-unstable-2023-12-31";
version = "1.0.1";
src = fetchFromGitHub {
owner = "zalesyc";
repo = "budgie-media-player-applet";
rev = "24500be1e0a1f92968df80f8befdf896723ba8ee";
hash = "sha256-jQgkE6vv8PIcB0MJgfsQvzMRkkMU51Gqefoa2G6YJCw=";
rev = "v${finalAttrs.version}";
hash = "sha256-E4aD7/SJNvWe6B3iX8fUZeZj14+uxjn0s+30BhU0dxE=";
};
nativeBuildInputs = [
@ -31,8 +31,8 @@ stdenv.mkDerivation {
];
postPatch = ''
substituteInPlace meson.build --replace "/usr" "$out"
substituteInPlace meson_post_install.py --replace '"/", "usr"' "\"$out\""
substituteInPlace meson.build --replace-fail "/usr" "$out"
substituteInPlace meson_post_install.py --replace-fail '"/", "usr"' "\"$out\""
'';
postFixup = ''
@ -47,4 +47,4 @@ stdenv.mkDerivation {
platforms = lib.platforms.linux;
maintainers = lib.teams.budgie.members;
};
}
})

View File

@ -184,8 +184,6 @@ lib.makeScope pkgs.newScope (self: with self; {
#### Dev http://ftp.gnome.org/pub/GNOME/devtools/
anjuta = callPackage ./devtools/anjuta { };
devhelp = callPackage ./devtools/devhelp { };
#### Games
@ -262,4 +260,7 @@ lib.makeScope pkgs.newScope (self: with self; {
gedit = throw "The gnome.gedit alias was removed. Please use pkgs.gedit directly."; # converted to throw on 2023-12-27
gnome-todo = throw "The gnome.gnome-todo alias was removed. Please use pkgs.endeavour directly."; # converted to throw on 2023-12-27
#### Removals
anjuta = throw "`anjuta` was removed after not being maintained upstream and losing control of its official domain."; # 2024-01-16
}

View File

@ -1,44 +0,0 @@
{ lib, stdenv, fetchurl, pkg-config, gnome, gtk3, gjs, flex, bison, libxml2, intltool,
gdl, libgda, gtksourceview, gsettings-desktop-schemas,
itstool, python3, ncurses, makeWrapper }:
stdenv.mkDerivation rec {
pname = "anjuta";
version = "3.34.0";
src = fetchurl {
url = "mirror://gnome/sources/anjuta/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "13ql7axw6zz387s7pa1m7wmh7qps3x7fk53h9832vq1yxlq33aa2";
};
passthru = {
updateScript = gnome.updateScript { packageName = "anjuta"; attrPath = "gnome.anjuta"; };
};
enableParallelBuilding = true;
nativeBuildInputs = [
pkg-config intltool itstool python3 makeWrapper
# Required by python3
ncurses
];
buildInputs = [
flex bison gtk3 libxml2 gjs gdl
libgda gtksourceview
gsettings-desktop-schemas
];
preFixup = ''
wrapProgram $out/bin/anjuta \
--prefix XDG_DATA_DIRS : \
"$GSETTINGS_SCHEMAS_PATH"
'';
meta = with lib; {
description = "Software development studio";
homepage = "http://anjuta.org/";
license = licenses.gpl2;
maintainers = with maintainers; [];
platforms = platforms.linux;
};
}

View File

@ -272,12 +272,11 @@ let
# Don't record the configure flags since this causes unnecessary
# runtime dependencies
''
for i in main/build-defs.h.in scripts/php-config.in; do
substituteInPlace $i \
--replace '@CONFIGURE_COMMAND@' '(omitted)' \
--replace '@CONFIGURE_OPTIONS@' "" \
--replace '@PHP_LDFLAGS@' ""
done
substituteInPlace main/build-defs.h.in \
--replace-fail '@CONFIGURE_COMMAND@' '(omitted)'
substituteInPlace scripts/php-config.in \
--replace-fail '@CONFIGURE_OPTIONS@' "" \
--replace-fail '@PHP_LDFLAGS@' ""
export EXTENSION_DIR=$out/lib/php/extensions
@ -287,7 +286,7 @@ let
./scripts/dev/genfiles
fi
'' + lib.optionalString stdenv.isDarwin ''
substituteInPlace configure --replace "-lstdc++" "-lc++"
substituteInPlace configure --replace-fail "-lstdc++" "-lc++"
'';
# When compiling PHP sources from Github, this file is missing and we

View File

@ -1,23 +0,0 @@
{ fetchFromGitHub, perl, lib, stdenv, cmake }:
stdenv.mkDerivation rec {
pname = "libbson";
version = "1.9.5";
src = fetchFromGitHub {
owner = "mongodb";
repo = "libbson";
rev = version;
sha256 = "16rmzxhhmbvhp4q6qac5j9c74z2pcg5raag5w16mynzikdd2l05b";
};
nativeBuildInputs = [ cmake ];
buildInputs = [ perl ];
meta = with lib; {
description = "A C Library for parsing, editing, and creating BSON documents";
homepage = "https://github.com/mongodb/libbson";
license = licenses.asl20;
platforms = platforms.all;
};
}

View File

@ -13,18 +13,23 @@
buildPythonPackage rec {
pname = "bluetooth-auto-recovery";
version = "1.3.0";
format = "pyproject";
version = "1.4.0";
pyproject = true;
disabled = pythonOlder "3.9";
src = fetchFromGitHub {
owner = "Bluetooth-Devices";
repo = pname;
repo = "bluetooth-auto-recovery";
rev = "refs/tags/v${version}";
hash = "sha256-4DFi7UrEQgU7dckUuGxj/sWyystx8NYb6xK4hyurKKo=";
hash = "sha256-fXR7leW+eXaQZ22IyeVhpS5/MOnuAiunUGMdtfVrlos=";
};
postPatch = ''
substituteInPlace pyproject.toml \
--replace-fail " --cov=bluetooth_auto_recovery --cov-report=term-missing:skip-covered" ""
'';
nativeBuildInputs = [
poetry-core
];
@ -41,11 +46,6 @@ buildPythonPackage rec {
pytestCheckHook
];
postPatch = ''
substituteInPlace pyproject.toml \
--replace " --cov=bluetooth_auto_recovery --cov-report=term-missing:skip-covered" ""
'';
pythonImportsCheck = [
"bluetooth_auto_recovery"
];

View File

@ -365,14 +365,14 @@
buildPythonPackage rec {
pname = "boto3-stubs";
version = "1.34.61";
version = "1.34.62";
pyproject = true;
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
hash = "sha256-LhxHv+AKNAHJL6d+5FYL2mFSzDRX8qwA5KNJyKhTx3Y=";
hash = "sha256-0ms6qz8xFWwDST6cMbf1SRVJyasMuqV+Cgnjifscipo=";
};
nativeBuildInputs = [

View File

@ -39,7 +39,7 @@ buildPythonPackage rec {
version = "2.16.1";
pyproject = true;
disabled = pythonOlder "3.6";
disabled = pythonOlder "3.8";
src = fetchFromGitHub {
owner = "plotly";
@ -57,7 +57,7 @@ buildPythonPackage rec {
yarnOfflineCache = fetchYarnDeps {
yarnLock = "${src}/@plotly/dash-jupyterlab/yarn.lock";
hash = "sha256-mkiyrA0jGiP0zbabSjgHFLEUX3f+LZdJ8eARI5QA8CU=";
hash = "sha256-L/or8jO6uEypI5krwy/ElIxa6jJrXGsCRZ9mh+0kcGA=";
};
preBuild = ''

View File

@ -3,20 +3,25 @@
, fetchPypi
, pythonOlder
, async-timeout
, setuptools
}:
buildPythonPackage rec {
pname = "ha-ffmpeg";
version = "3.1.0";
format = "setuptools";
version = "3.2.0";
pyproject = true;
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
hash = "sha256-sheNYtmp1panthglpEqJTdaCgGBTUJRswikl5hu9k7s=";
hash = "sha256-FW8WlrhVL+ryupHAKii8fKBku/6uxdw1uLCKUszkP50=";
};
nativeBuildInputs = [
setuptools
];
propagatedBuildInputs = [
async-timeout
];

View File

@ -0,0 +1,360 @@
Based on upstream 66b7fb630903fdcf3e83b6b6d56d82e904264a20, adjusted to
apply to 1.15.0 & avoid implicit inclusion of changes from other
intermediate commits
diff --git a/onnx/checker.cc b/onnx/checker.cc
index fac56f56..c9fda9b2 100644
--- a/onnx/checker.cc
+++ b/onnx/checker.cc
@@ -13,7 +13,6 @@
#include <vector>
#include "onnx/common/file_utils.h"
-#include "onnx/common/path.h"
#include "onnx/defs/schema.h"
#include "onnx/defs/tensor_proto_util.h"
#include "onnx/proto_utils.h"
@@ -135,85 +134,7 @@ void check_tensor(const TensorProto& tensor, const CheckerContext& ctx) {
for (const StringStringEntryProto& entry : tensor.external_data()) {
if (entry.has_key() && entry.has_value() && entry.key() == "location") {
has_location = true;
-#ifdef _WIN32
- auto file_path = std::filesystem::path(utf8str_to_wstring(entry.value()));
- if (file_path.is_absolute()) {
- fail_check(
- "Location of external TensorProto ( tensor name: ",
- tensor.name(),
- ") should be a relative path, but it is an absolute path: ",
- entry.value());
- }
- auto relative_path = file_path.lexically_normal().make_preferred().wstring();
- // Check that normalized relative path contains ".." on Windows.
- if (relative_path.find(L"..", 0) != std::string::npos) {
- fail_check(
- "Data of TensorProto ( tensor name: ",
- tensor.name(),
- ") should be file inside the ",
- ctx.get_model_dir(),
- ", but the '",
- entry.value(),
- "' points outside the directory");
- }
- std::wstring data_path = path_join(utf8str_to_wstring(ctx.get_model_dir()), relative_path);
- struct _stat64 buff;
- if (_wstat64(data_path.c_str(), &buff) != 0) {
- fail_check(
- "Data of TensorProto ( tensor name: ",
- tensor.name(),
- ") should be stored in ",
- entry.value(),
- ", but it doesn't exist or is not accessible.");
- }
-#else // POSIX
- if (entry.value().empty()) {
- fail_check("Location of external TensorProto ( tensor name: ", tensor.name(), ") should not be empty.");
- } else if (entry.value()[0] == '/') {
- fail_check(
- "Location of external TensorProto ( tensor name: ",
- tensor.name(),
- ") should be a relative path, but it is an absolute path: ",
- entry.value());
- }
- std::string relative_path = clean_relative_path(entry.value());
- // Check that normalized relative path contains ".." on POSIX
- if (relative_path.find("..", 0) != std::string::npos) {
- fail_check(
- "Data of TensorProto ( tensor name: ",
- tensor.name(),
- ") should be file inside the ",
- ctx.get_model_dir(),
- ", but the '",
- entry.value(),
- "' points outside the directory");
- }
- std::string data_path = path_join(ctx.get_model_dir(), relative_path);
- // use stat64 to check whether the file exists
-#if defined(__APPLE__) || defined(__wasm__) || !defined(__GLIBC__)
- struct stat buffer; // APPLE, wasm and non-glic stdlibs do not have stat64
- if (stat((data_path).c_str(), &buffer) != 0) {
-#else
- struct stat64 buffer; // All POSIX under glibc except APPLE and wasm have stat64
- if (stat64((data_path).c_str(), &buffer) != 0) {
-#endif
- fail_check(
- "Data of TensorProto ( tensor name: ",
- tensor.name(),
- ") should be stored in ",
- data_path,
- ", but it doesn't exist or is not accessible.");
- }
- // Do not allow symlinks or directories.
- if (!S_ISREG(buffer.st_mode)) {
- fail_check(
- "Data of TensorProto ( tensor name: ",
- tensor.name(),
- ") should be stored in ",
- data_path,
- ", but it is not regular file.");
- }
-#endif
+ resolve_external_data_location(ctx.get_model_dir(), entry.value(), tensor.name());
}
}
if (!has_location) {
@@ -1054,6 +975,93 @@ void check_model(const ModelProto& model, bool full_check, bool skip_opset_compa
}
}
+std::string resolve_external_data_location(
+ const std::string& base_dir,
+ const std::string& location,
+ const std::string& tensor_name) {
+#ifdef _WIN32
+ auto file_path = std::filesystem::path(utf8str_to_wstring(location));
+ if (file_path.is_absolute()) {
+ fail_check(
+ "Location of external TensorProto ( tensor name: ",
+ tensor_name,
+ ") should be a relative path, but it is an absolute path: ",
+ location);
+ }
+ auto relative_path = file_path.lexically_normal().make_preferred().wstring();
+ // Check that normalized relative path contains ".." on Windows.
+ if (relative_path.find(L"..", 0) != std::string::npos) {
+ fail_check(
+ "Data of TensorProto ( tensor name: ",
+ tensor_name,
+ ") should be file inside the ",
+ base_dir,
+ ", but the '",
+ location,
+ "' points outside the directory");
+ }
+ std::wstring data_path = path_join(utf8str_to_wstring(base_dir), relative_path);
+ struct _stat64 buff;
+ if (_wstat64(data_path.c_str(), &buff) != 0) {
+ fail_check(
+ "Data of TensorProto ( tensor name: ",
+ tensor_name,
+ ") should be stored in ",
+ location,
+ ", but it doesn't exist or is not accessible.");
+ }
+ return wstring_to_utf8str(data_path);
+#else // POSIX
+ if (location.empty()) {
+ fail_check("Location of external TensorProto ( tensor name: ", tensor_name, ") should not be empty.");
+ } else if (location[0] == '/') {
+ fail_check(
+ "Location of external TensorProto ( tensor name: ",
+ tensor_name,
+ ") should be a relative path, but it is an absolute path: ",
+ location);
+ }
+ std::string relative_path = clean_relative_path(location);
+ // Check that normalized relative path contains ".." on POSIX
+ if (relative_path.find("..", 0) != std::string::npos) {
+ fail_check(
+ "Data of TensorProto ( tensor name: ",
+ tensor_name,
+ ") should be file inside the ",
+ base_dir,
+ ", but the '",
+ location,
+ "' points outside the directory");
+ }
+ std::string data_path = path_join(base_dir, relative_path);
+ // use stat64 to check whether the file exists
+#if defined(__APPLE__) || defined(__wasm__) || !defined(__GLIBC__)
+ struct stat buffer; // APPLE, wasm and non-glic stdlibs do not have stat64
+ if (stat((data_path).c_str(), &buffer) != 0) {
+#else
+ struct stat64 buffer; // All POSIX under glibc except APPLE and wasm have stat64
+ if (stat64((data_path).c_str(), &buffer) != 0) {
+#endif
+ fail_check(
+ "Data of TensorProto ( tensor name: ",
+ tensor_name,
+ ") should be stored in ",
+ data_path,
+ ", but it doesn't exist or is not accessible.");
+ }
+ // Do not allow symlinks or directories.
+ if (!S_ISREG(buffer.st_mode)) {
+ fail_check(
+ "Data of TensorProto ( tensor name: ",
+ tensor_name,
+ ") should be stored in ",
+ data_path,
+ ", but it is not regular file.");
+ }
+ return data_path;
+#endif
+}
+
std::set<std::string> experimental_ops = {
"ATen",
"Affine",
diff --git a/onnx/checker.h b/onnx/checker.h
index 6796acab..83012213 100644
--- a/onnx/checker.h
+++ b/onnx/checker.h
@@ -160,7 +160,10 @@ void check_model_local_functions(
void check_model(const ModelProto& model, bool full_check = false, bool skip_opset_compatibility_check = false);
void check_model(const std::string& model_path, bool full_check = false, bool skip_opset_compatibility_check = false);
-
+std::string resolve_external_data_location(
+ const std::string& base_dir,
+ const std::string& location,
+ const std::string& tensor_name);
bool check_is_experimental_op(const NodeProto& node);
} // namespace checker
diff --git a/onnx/common/path.h b/onnx/common/path.h
index 6eaf5e67..09212747 100644
--- a/onnx/common/path.h
+++ b/onnx/common/path.h
@@ -31,11 +31,22 @@ inline std::wstring utf8str_to_wstring(const std::string& utf8str) {
if (utf8str.size() > INT_MAX) {
fail_check("utf8str_to_wstring: string is too long for converting to wstring.");
}
- int size_required = MultiByteToWideChar(CP_UTF8, 0, utf8str.c_str(), (int)utf8str.size(), NULL, 0);
+ int size_required = MultiByteToWideChar(CP_UTF8, 0, utf8str.c_str(), static_cast<int>(utf8str.size()), NULL, 0);
std::wstring ws_str(size_required, 0);
- MultiByteToWideChar(CP_UTF8, 0, utf8str.c_str(), (int)utf8str.size(), &ws_str[0], size_required);
+ MultiByteToWideChar(CP_UTF8, 0, utf8str.c_str(), static_cast<int>(utf8str.size()), &ws_str[0], size_required);
return ws_str;
}
+inline std::string wstring_to_utf8str(const std::wstring& ws_str) {
+ if (ws_str.size() > INT_MAX) {
+ fail_check("wstring_to_utf8str: string is too long for converting to UTF-8.");
+ }
+ int size_required =
+ WideCharToMultiByte(CP_UTF8, 0, ws_str.c_str(), static_cast<int>(ws_str.size()), NULL, 0, NULL, NULL);
+ std::string utf8str(size_required, 0);
+ WideCharToMultiByte(
+ CP_UTF8, 0, ws_str.c_str(), static_cast<int>(ws_str.size()), &utf8str[0], size_required, NULL, NULL);
+ return utf8str;
+}
#else
std::string path_join(const std::string& origin, const std::string& append);
diff --git a/onnx/cpp2py_export.cc b/onnx/cpp2py_export.cc
index bc2594db..83cea68f 100644
--- a/onnx/cpp2py_export.cc
+++ b/onnx/cpp2py_export.cc
@@ -545,6 +545,8 @@ PYBIND11_MODULE(onnx_cpp2py_export, onnx_cpp2py_export) {
"full_check"_a = false,
"skip_opset_compatibility_check"_a = false);
+ checker.def("_resolve_external_data_location", &checker::resolve_external_data_location);
+
// Submodule `version_converter`
auto version_converter = onnx_cpp2py_export.def_submodule("version_converter");
version_converter.doc() = "VersionConverter submodule";
diff --git a/onnx/external_data_helper.py b/onnx/external_data_helper.py
index bbc2717f..05c486c6 100644
--- a/onnx/external_data_helper.py
+++ b/onnx/external_data_helper.py
@@ -8,6 +8,7 @@ import uuid
from itertools import chain
from typing import Callable, Iterable, Optional
+import onnx.onnx_cpp2py_export.checker as c_checker
from onnx.onnx_pb import AttributeProto, GraphProto, ModelProto, TensorProto
@@ -39,9 +40,9 @@ def load_external_data_for_tensor(tensor: TensorProto, base_dir: str) -> None:
base_dir: directory that contains the external data.
"""
info = ExternalDataInfo(tensor)
- file_location = _sanitize_path(info.location)
- external_data_file_path = os.path.join(base_dir, file_location)
-
+ external_data_file_path = c_checker._resolve_external_data_location( # type: ignore[attr-defined]
+ base_dir, info.location, tensor.name
+ )
with open(external_data_file_path, "rb") as data_file:
if info.offset:
data_file.seek(info.offset)
@@ -259,14 +260,6 @@ def _get_attribute_tensors(onnx_model_proto: ModelProto) -> Iterable[TensorProto
yield from _get_attribute_tensors_from_graph(onnx_model_proto.graph)
-def _sanitize_path(path: str) -> str:
- """Remove path components which would allow traversing up a directory tree from a base path.
-
- Note: This method is currently very basic and should be expanded.
- """
- return path.lstrip("/.")
-
-
def _is_valid_filename(filename: str) -> bool:
"""Utility to check whether the provided filename is valid."""
exp = re.compile('^[^<>:;,?"*|/]+$')
diff --git a/onnx/test/test_external_data.py b/onnx/test/test_external_data.py
index 63f6b4ef..bb14d279 100644
--- a/onnx/test/test_external_data.py
+++ b/onnx/test/test_external_data.py
@@ -3,6 +3,7 @@
# SPDX-License-Identifier: Apache-2.0
from __future__ import annotations
+import itertools
import os
import pathlib
import tempfile
@@ -204,6 +205,52 @@ class TestLoadExternalDataSingleFile(TestLoadExternalDataBase):
attribute_tensor = new_model.graph.node[0].attribute[0].t
np.testing.assert_allclose(to_array(attribute_tensor), self.attribute_value)
+ @parameterized.parameterized.expand(itertools.product((True, False), (True, False)))
+ def test_save_external_invalid_single_file_data_and_check(
+ self, use_absolute_path: bool, use_model_path: bool
+ ) -> None:
+ model = onnx.load_model(self.model_filename, self.serialization_format)
+
+ model_dir = os.path.join(self.temp_dir, "save_copy")
+ os.mkdir(model_dir)
+
+ traversal_external_data_dir = os.path.join(
+ self.temp_dir, "invlid_external_data"
+ )
+ os.mkdir(traversal_external_data_dir)
+
+ if use_absolute_path:
+ traversal_external_data_location = os.path.join(
+ traversal_external_data_dir, "tensors.bin"
+ )
+ else:
+ traversal_external_data_location = "../invlid_external_data/tensors.bin"
+
+ external_data_dir = os.path.join(self.temp_dir, "external_data")
+ os.mkdir(external_data_dir)
+ new_model_filepath = os.path.join(model_dir, "model.onnx")
+
+ def convert_model_to_external_data_no_check(model: ModelProto, location: str):
+ for tensor in model.graph.initializer:
+ if tensor.HasField("raw_data"):
+ set_external_data(tensor, location)
+
+ convert_model_to_external_data_no_check(
+ model,
+ location=traversal_external_data_location,
+ )
+
+ onnx.save_model(model, new_model_filepath, self.serialization_format)
+ if use_model_path:
+ with self.assertRaises(onnx.checker.ValidationError):
+ _ = onnx.load_model(new_model_filepath, self.serialization_format)
+ else:
+ onnx_model = onnx.load_model(
+ new_model_filepath, self.serialization_format, load_external_data=False
+ )
+ with self.assertRaises(onnx.checker.ValidationError):
+ load_external_data_for_model(onnx_model, external_data_dir)
+
@parameterized.parameterized_class(
[

View File

@ -3,6 +3,7 @@
, buildPythonPackage
, cmake
, fetchFromGitHub
, fetchpatch
, gtest
, nbval
, numpy
@ -35,6 +36,15 @@ in buildPythonPackage rec {
hash = "sha256-Jzga1IiUO5LN5imSUmnbsjYtapRatTihx38EOUjm9Os=";
};
patches = [
./1.15.0-CVE-2024-27318.patch
(fetchpatch {
name = "CVE-2024-27319.patch";
url = "https://github.com/onnx/onnx/commit/08a399ba75a805b7813ab8936b91d0e274b08287.patch";
hash = "sha256-9X92N9i/hpQjDGe4I/C+FwUcTUTtP2Nf7+pcTA2sXoA=";
})
];
nativeBuildInputs = [
cmake
pybind11

View File

@ -7,22 +7,27 @@
, pytestCheckHook
, pythonAtLeast
, pythonOlder
, setuptools
}:
buildPythonPackage rec {
pname = "pykaleidescape";
version = "2022.2.3";
format = "setuptools";
version = "1.0.1";
pyproject = true;
disabled = pythonOlder "3.7";
src = fetchFromGitHub {
owner = "SteveEasley";
repo = pname;
repo = "pykaleidescape";
rev = "refs/tags/v${version}";
hash = "sha256-h5G7wV4Z+sf8Qq4GNFsp8DVDSgQgS0dLGf+DzK/egYM=";
hash = "sha256-KM/gtpsQ27QZz2uI1t/yVN5no0zp9LZag1duAJzK55g=";
};
nativeBuildInputs = [
setuptools
];
propagatedBuildInputs = [
aiohttp
dnspython

View File

@ -8,14 +8,14 @@
buildPythonPackage rec {
pname = "quaternion";
version = "2023.0.2";
version = "2023.0.3";
format = "pyproject";
src = fetchFromGitHub {
owner = "moble";
repo = pname;
rev = "refs/tags/v${version}";
hash = "sha256-G5Xbo6Ns98oqtY/AKz9CE7nt8j2b6+Hv14ZoKtlDCMQ=";
hash = "sha256-vSkFHYXcT14aW3OTfqYymVQbpWnKFEVkhh3IQTi5xS4=";
};
propagatedBuildInputs = [

View File

@ -0,0 +1,47 @@
{ lib
, aiohttp
, buildPythonPackage
, fetchFromGitHub
, hatchling
, pytestCheckHook
, pythonOlder
}:
buildPythonPackage rec {
pname = "ttn-client";
version = "0.0.3";
pyproject = true;
disabled = pythonOlder "3.8";
src = fetchFromGitHub {
owner = "angelnu";
repo = "thethingsnetwork_python_client";
rev = "refs/tags/v${version}";
hash = "sha256-oHGv9huk400nPl4ytV8uxzK7eENpoBHt8uFjD2Ck67w=";
};
nativeBuildInputs = [
hatchling
];
propagatedBuildInputs = [
aiohttp
];
checkInputs = [
pytestCheckHook
];
pythonImportsCheck = [
"ttn_client"
];
meta = with lib; {
description = "Module to fetch/receive and parse uplink messages from The Thinks Network";
homepage = "https://github.com/angelnu/thethingsnetwork_python_client";
changelog = "https://github.com/angelnu/thethingsnetwork_python_client/releases/tag/v${version}";
license = licenses.mit;
maintainers = with maintainers; [ fab ];
};
}

View File

@ -28,6 +28,7 @@
tree-sitter-fish = lib.importJSON ./tree-sitter-fish.json;
tree-sitter-fortran = lib.importJSON ./tree-sitter-fortran.json;
tree-sitter-gdscript = lib.importJSON ./tree-sitter-gdscript.json;
tree-sitter-gleam = lib.importJSON ./tree-sitter-gleam.json;
tree-sitter-glimmer = lib.importJSON ./tree-sitter-glimmer.json;
tree-sitter-glsl = lib.importJSON ./tree-sitter-glsl.json;
tree-sitter-go = lib.importJSON ./tree-sitter-go.json;

View File

@ -0,0 +1,12 @@
{
"url": "https://github.com/gleam-lang/tree-sitter-gleam",
"rev": "2012f294baacf30e7a62414754021284377366c6",
"date": "2023-03-04T16:19:15-05:00",
"path": "/nix/store/qc0bxfrv9rb95cg5q8nf0prpz4gs93wd-tree-sitter-gleam",
"sha256": "sha256-W+PfxqPUKHhLH5UBATmQ1mlSfLPAWIQyDgiSQBWBtBs=",
"hash": "sha256-W+PfxqPUKHhLH5UBATmQ1mlSfLPAWIQyDgiSQBWBtBs=",
"fetchLFS": false,
"fetchSubmodules": false,
"deepClone": false,
"leaveDotGit": false
}

View File

@ -409,6 +409,10 @@ let
orga = "vrischmann";
repo = "tree-sitter-templ";
};
"tree-sitter-gleam" = {
orga = "gleam-lang";
repo = "tree-sitter-gleam";
};
};
allGrammars =

View File

@ -8,7 +8,7 @@
rustPlatform.buildRustPackage rec {
pname = "wizer";
version = "4.0.0";
version = "5.0.0";
# the crate does not contain files which are necessary for the tests
# see https://github.com/bytecodealliance/wizer/commit/3a95e27ce42f1fdaef07b52988e4699eaa221e04
@ -16,10 +16,10 @@ rustPlatform.buildRustPackage rec {
owner = "bytecodealliance";
repo = "wizer";
rev = "refs/tags/v${version}";
hash = "sha256-KFMfNgoKZWVLXNUYHWpAP8CCnVQLv/cDmQgzz29lKxQ=";
hash = "sha256-VkWnmwOnlNkfgUyFXV+iwsUdJcJgzUCNus+FiV9sg0Y=";
};
cargoHash = "sha256-kKN2JwzuFe7q8VZcKOjc5PkN3isHzzQcTJAvapGBdAE=";
cargoHash = "sha256-KSdQqt9szk8qmg3DxBatkJvv//KbSx/MEulJx1gNmB8=";
cargoBuildFlags = [ "--bin" pname ];

View File

@ -35,19 +35,19 @@
stdenv.mkDerivation rec {
pname = "ddnet";
version = "18.0.3";
version = "18.1";
src = fetchFromGitHub {
owner = "ddnet";
repo = pname;
rev = version;
hash = "sha256-XirN16XywTtF+gLQT3G3HjqStkNk+NVO7j+FEecq54E=";
hash = "sha256-kAMKeYYMCFMgG3+G/05DwA3mj4JkJdrXadjFUMPDAbM=";
};
cargoDeps = rustPlatform.fetchCargoTarball {
name = "${pname}-${version}";
inherit src;
hash = "sha256-dFYrvnVxOelRIuqtTiSwBIFher/b/dCdyZvqIne3Lng=";
hash = "sha256-8mUo2I5FsA3ym/hrlGaUW8yltLuh/0H6wetCbzvRga0=";
};
nativeBuildInputs = [

View File

@ -23,6 +23,13 @@ stdenv.mkDerivation {
cp --no-preserve=mode --recursive ./firmware/* $out/lib/firmware/vsc/
install -D ./LICENSE $out/share/doc
mkdir -p $out/lib/firmware/vsc/soc_a1_prod
# According to Intel's documentation for prod platform the a1_prod postfix is need it (https://github.com/intel/ivsc-firmware)
# This fixes ipu6 webcams
for file in $out/lib/firmware/vsc/*.bin; do
ln -sf "$file" "$out/lib/firmware/vsc/soc_a1_prod/$(basename "$file" .bin)_a1_prod.bin"
done
runHook postInstall
'';

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation {
pname = "v4l2loopback";
version = "unstable-2023-11-23-${kernel.version}";
version = "0.12.7-unstable-2024-02-12-${kernel.version}";
src = fetchFromGitHub {
owner = "umlaeute";
repo = "v4l2loopback";
rev = "850a2e36849f6ad3c9bf74f2ae3f603452bd8a71";
hash = "sha256-LqP5R3oKbjUQUfDZUWpkrmyopWhOt4wlgSgGywTPJXM=";
rev = "5d72c17f92ee0e38efbb7eb85e34443ecbf1a80c";
hash = "sha256-ggmYH5MUXhMPvA8UZ2EAG+eGoPTNbw7B8UxmmgP6CsE=";
};
hardeningDisable = [ "format" "pic" ];

View File

@ -1,55 +0,0 @@
diff --git a/v4l2loopback.c b/v4l2loopback.c
index 2ab1f76..2514f09 100644
--- a/v4l2loopback.c
+++ b/v4l2loopback.c
@@ -92,17 +92,6 @@ MODULE_LICENSE("GPL");
} \
} while (0)
-/* TODO: Make sure that function is never interrupted. */
-static inline int mod_inc(int *number, int mod)
-{
- int result;
- result = (*number + 1) % mod;
- if (unlikely(result < 0))
- result += mod;
- *number = result;
- return result;
-}
-
static inline void v4l2l_get_timestamp(struct v4l2_buffer *b)
{
/* ktime_get_ts is considered deprecated, so use ktime_get_ts64 if possible */
@@ -1424,8 +1413,9 @@ static int vidioc_reqbufs(struct file *file, void *fh,
i = dev->write_position;
list_for_each_entry(pos, &dev->outbufs_list,
list_head) {
- dev->bufpos2index[mod_inc(&i, b->count)] =
+ dev->bufpos2index[i % b->count] =
pos->buffer.index;
+ ++i;
}
}
@@ -1489,9 +1479,10 @@ static void buffer_written(struct v4l2_loopback_device *dev,
del_timer_sync(&dev->timeout_timer);
spin_lock_bh(&dev->lock);
- dev->bufpos2index[mod_inc(&dev->write_position, dev->used_buffers)] =
+ dev->bufpos2index[dev->write_position % dev->used_buffers] =
buf->buffer.index;
list_move_tail(&buf->list_head, &dev->outbufs_list);
+ ++dev->write_position;
dev->reread_count = 0;
check_timers(dev);
@@ -1586,7 +1577,8 @@ static int get_capture_buffer(struct file *file)
if (dev->write_position >
opener->read_position + dev->used_buffers)
opener->read_position = dev->write_position - 1;
- pos = mod_inc(&opener->read_position, dev->used_buffers);
+ pos = opener->read_position % dev->used_buffers;
+ ++opener->read_position;
}
timeout_happened = dev->timeout_happened;
dev->timeout_happened = 0;

View File

@ -221,8 +221,6 @@ dependencies = [
"memchr",
"pin-project-lite",
"tokio",
"zstd",
"zstd-safe",
]
[[package]]
@ -644,7 +642,6 @@ version = "1.0.83"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0"
dependencies = [
"jobserver",
"libc",
]
@ -2860,15 +2857,6 @@ version = "1.0.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c"
[[package]]
name = "jobserver"
version = "0.1.27"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8c37f63953c4c63420ed5fd3d6d398c719489b9f872b9fa683262f8edd363c7d"
dependencies = [
"libc",
]
[[package]]
name = "jpeg-decoder"
version = "0.3.1"
@ -6887,34 +6875,6 @@ dependencies = [
"flate2",
]
[[package]]
name = "zstd"
version = "0.13.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bffb3309596d527cfcba7dfc6ed6052f1d39dfbd7c867aa2e865e4a449c10110"
dependencies = [
"zstd-safe",
]
[[package]]
name = "zstd-safe"
version = "7.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "43747c7422e2924c11144d5229878b98180ef8b06cca4ab5af37afc8a8d8ea3e"
dependencies = [
"zstd-sys",
]
[[package]]
name = "zstd-sys"
version = "2.0.9+zstd.1.5.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9e16efa8a874a0481a574084d34cc26fdb3b99627480f785888deb6386506656"
dependencies = [
"cc",
"pkg-config",
]
[[package]]
name = "zxcvbn"
version = "2.2.2"

View File

@ -24,8 +24,9 @@ rustPlatform.buildRustPackage rec {
src = fetchFromGitHub {
owner = pname;
repo = pname;
rev = version;
hash = "sha256-UavMiHe91UrCZfmG6b+yhdduOY2eKMev9HSjtXq1Tlw=";
# Latest revision of 1.1.0-rc.16 stable branch
rev = "4c88d6b27c9b82ad5b2482bda140025d7068293f";
hash = "sha256-tatZ56uIusNvAAGwJ731rfmHvheOtPXjPUxLuAPFxXs=";
};
cargoLock = {

View File

@ -326,7 +326,7 @@ dependencies = [
"actix-http",
"actix-web",
"futures-util",
"opentelemetry 0.21.0",
"opentelemetry",
"opentelemetry-semantic-conventions",
"serde",
]
@ -1181,7 +1181,7 @@ dependencies = [
"hyper-rustls",
"lazy_static",
"pin-project-lite",
"rustls",
"rustls 0.21.10",
"tokio",
"tower",
"tracing",
@ -1823,6 +1823,16 @@ dependencies = [
"phf_codegen",
]
[[package]]
name = "chumsky"
version = "0.9.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8eebd66744a15ded14960ab4ccdbfb51ad3b81f51f3f04a80adac98c985396c9"
dependencies = [
"hashbrown 0.14.3",
"stacker",
]
[[package]]
name = "ciborium"
version = "0.2.2"
@ -2072,6 +2082,7 @@ dependencies = [
"hex",
"indexmap 2.1.0",
"itertools 0.12.1",
"lettre",
"log",
"memchr",
"murmur3",
@ -2088,7 +2099,7 @@ dependencies = [
"sysinfo",
"tokio",
"tracing",
"tracing-log 0.2.0",
"tracing-log",
"tracing-subscriber",
"utoipa",
"walkdir",
@ -2783,6 +2794,22 @@ dependencies = [
"serde",
]
[[package]]
name = "email-encoding"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dbfb21b9878cf7a348dcb8559109aabc0ec40d69924bd706fa5149846c4fef75"
dependencies = [
"base64 0.21.7",
"memchr",
]
[[package]]
name = "email_address"
version = "0.2.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e2153bd83ebc09db15bcbdc3e2194d901804952e3dc96967e1cd3b0c5c32d112"
[[package]]
name = "ena"
version = "0.14.2"
@ -3532,10 +3559,10 @@ dependencies = [
"http 0.2.11",
"hyper",
"log",
"rustls",
"rustls 0.21.10",
"rustls-native-certs",
"tokio",
"tokio-rustls",
"tokio-rustls 0.24.1",
]
[[package]]
@ -3894,6 +3921,36 @@ dependencies = [
"spin 0.5.2",
]
[[package]]
name = "lettre"
version = "0.11.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "357ff5edb6d8326473a64c82cf41ddf78ab116f89668c50c4fac1b321e5e80f4"
dependencies = [
"async-trait",
"base64 0.21.7",
"chumsky",
"email-encoding",
"email_address",
"fastrand 2.0.1",
"futures-io",
"futures-util",
"hostname",
"httpdate",
"idna",
"mime",
"nom",
"percent-encoding",
"quoted_printable",
"rustls 0.22.2",
"rustls-pemfile 2.0.0",
"socket2",
"tokio",
"tokio-rustls 0.25.0",
"url",
"webpki-roots 0.26.1",
]
[[package]]
name = "lexical-core"
version = "0.8.5"
@ -4291,9 +4348,9 @@ dependencies = [
[[package]]
name = "mio"
version = "0.8.10"
version = "0.8.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8f3d0b296e374a4e6f3c7b0a1f5a51d748a0d34c85e7dc48fc3fa9a87657fe09"
checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c"
dependencies = [
"libc",
"log",
@ -4625,7 +4682,7 @@ checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5"
[[package]]
name = "openobserve"
version = "0.8.1"
version = "0.9.0"
dependencies = [
"actix-cors",
"actix-multipart",
@ -4671,15 +4728,17 @@ dependencies = [
"ipnetwork 0.20.0",
"itertools 0.12.1",
"jsonwebtoken",
"lettre",
"log",
"maxminddb",
"memory-stats",
"mimalloc",
"object_store",
"once_cell",
"opentelemetry 0.18.0",
"opentelemetry",
"opentelemetry-otlp",
"opentelemetry-proto 0.2.0",
"opentelemetry-proto",
"opentelemetry_sdk",
"parking_lot 0.12.1",
"parquet",
"prometheus",
@ -4709,8 +4768,8 @@ dependencies = [
"time",
"tokio",
"tokio-stream",
"tonic 0.8.3",
"tonic-build 0.8.4",
"tonic 0.9.2",
"tonic-build 0.9.2",
"tracing",
"tracing-appender",
"tracing-opentelemetry",
@ -4730,26 +4789,6 @@ version = "0.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf"
[[package]]
name = "opentelemetry"
version = "0.18.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "69d6c3d7288a106c0a363e4b0e8d308058d56902adefb16f4936f417ffef086e"
dependencies = [
"opentelemetry_api 0.18.0",
"opentelemetry_sdk 0.18.0",
]
[[package]]
name = "opentelemetry"
version = "0.19.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5f4b8347cc26099d3aeee044065ecc3ae11469796b4d65d065a23a584ed92a6f"
dependencies = [
"opentelemetry_api 0.19.0",
"opentelemetry_sdk 0.19.0",
]
[[package]]
name = "opentelemetry"
version = "0.21.0"
@ -4768,66 +4807,50 @@ dependencies = [
[[package]]
name = "opentelemetry-http"
version = "0.7.0"
version = "0.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1edc79add46364183ece1a4542592ca593e6421c60807232f5b8f7a31703825d"
checksum = "7f51189ce8be654f9b5f7e70e49967ed894e84a06fc35c6c042e64ac1fc5399e"
dependencies = [
"async-trait",
"bytes",
"http 0.2.11",
"opentelemetry_api 0.18.0",
"opentelemetry",
"reqwest",
]
[[package]]
name = "opentelemetry-otlp"
version = "0.11.0"
version = "0.14.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d1c928609d087790fc936a1067bdc310ae702bdf3b090c3f281b713622c8bbde"
checksum = "f24cda83b20ed2433c68241f918d0f6fdec8b1d43b7a9590ab4420c5095ca930"
dependencies = [
"async-trait",
"futures",
"futures-util",
"futures-core",
"http 0.2.11",
"opentelemetry 0.18.0",
"opentelemetry",
"opentelemetry-http",
"opentelemetry-proto 0.1.0",
"opentelemetry-proto",
"opentelemetry-semantic-conventions",
"opentelemetry_sdk",
"prost 0.11.9",
"reqwest",
"serde",
"thiserror",
"tokio",
"tonic 0.8.3",
"tonic 0.9.2",
]
[[package]]
name = "opentelemetry-proto"
version = "0.1.0"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d61a2f56df5574508dd86aaca016c917489e589ece4141df1b5e349af8d66c28"
checksum = "a2e155ce5cc812ea3d1dffbd1539aed653de4bf4882d60e6e04dcf0901d674e1"
dependencies = [
"futures",
"futures-util",
"opentelemetry 0.18.0",
"opentelemetry",
"opentelemetry_sdk",
"prost 0.11.9",
"tonic 0.8.3",
"tonic-build 0.8.4",
]
[[package]]
name = "opentelemetry-proto"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "045f8eea8c0fa19f7d48e7bc3128a39c2e5c533d5c61298c548dfefc1064474c"
dependencies = [
"futures",
"futures-util",
"opentelemetry 0.19.0",
"prost 0.11.9",
"protobuf",
"serde",
"serde_json",
"tonic 0.8.3",
"tonic 0.9.2",
]
[[package]]
@ -4836,83 +4859,32 @@ version = "0.13.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f5774f1ef1f982ef2a447f6ee04ec383981a3ab99c8e77a1a7b30182e65bbc84"
dependencies = [
"opentelemetry 0.21.0",
]
[[package]]
name = "opentelemetry_api"
version = "0.18.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c24f96e21e7acc813c7a8394ee94978929db2bcc46cf6b5014fc612bf7760c22"
dependencies = [
"fnv",
"futures-channel",
"futures-util",
"indexmap 1.9.3",
"js-sys",
"once_cell",
"pin-project-lite",
"thiserror",
]
[[package]]
name = "opentelemetry_api"
version = "0.19.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ed41783a5bf567688eb38372f2b7a8530f5a607a4b49d38dd7573236c23ca7e2"
dependencies = [
"fnv",
"futures-channel",
"futures-util",
"indexmap 1.9.3",
"once_cell",
"pin-project-lite",
"thiserror",
"urlencoding",
"opentelemetry",
]
[[package]]
name = "opentelemetry_sdk"
version = "0.18.0"
version = "0.21.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1ca41c4933371b61c2a2f214bf16931499af4ec90543604ec828f7a625c09113"
checksum = "2f16aec8a98a457a52664d69e0091bac3a0abd18ead9b641cb00202ba4e0efe4"
dependencies = [
"async-trait",
"crossbeam-channel",
"dashmap",
"fnv",
"futures-channel",
"futures-executor",
"futures-util",
"glob",
"once_cell",
"opentelemetry_api 0.18.0",
"opentelemetry",
"ordered-float 4.2.0",
"percent-encoding",
"rand",
"serde_json",
"thiserror",
"tokio",
"tokio-stream",
]
[[package]]
name = "opentelemetry_sdk"
version = "0.19.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8b3a2a91fdbfdd4d212c0dcc2ab540de2c2bcbbd90be17de7a7daf8822d010c1"
dependencies = [
"async-trait",
"crossbeam-channel",
"dashmap",
"fnv",
"futures-channel",
"futures-executor",
"futures-util",
"once_cell",
"opentelemetry_api 0.19.0",
"percent-encoding",
"rand",
"thiserror",
]
[[package]]
name = "option-ext"
version = "0.2.0"
@ -5568,9 +5540,14 @@ name = "protobuf"
version = "2.28.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "106dd99e98437432fed6519dedecfade6a06a73bb7b2a1e019fdd2bee5778d94"
[[package]]
name = "psm"
version = "0.1.21"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5787f7cda34e3033a72192c018bc5883100330f362ef279a8cbccfce8bb4e874"
dependencies = [
"serde",
"serde_derive",
"cc",
]
[[package]]
@ -5846,7 +5823,7 @@ dependencies = [
"once_cell",
"percent-encoding",
"pin-project-lite",
"rustls",
"rustls 0.21.10",
"rustls-native-certs",
"rustls-pemfile 1.0.4",
"serde",
@ -5855,7 +5832,7 @@ dependencies = [
"sync_wrapper",
"system-configuration",
"tokio",
"tokio-rustls",
"tokio-rustls 0.24.1",
"tokio-util",
"tower-service",
"url",
@ -5863,7 +5840,7 @@ dependencies = [
"wasm-bindgen-futures",
"wasm-streams",
"web-sys",
"webpki-roots",
"webpki-roots 0.25.4",
"winreg",
]
@ -6103,10 +6080,24 @@ checksum = "f9d5a6813c0759e4609cd494e8e725babae6a2ca7b62a5536a13daaec6fcb7ba"
dependencies = [
"log",
"ring 0.17.7",
"rustls-webpki",
"rustls-webpki 0.101.7",
"sct",
]
[[package]]
name = "rustls"
version = "0.22.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e87c9956bd9807afa1f77e0f7594af32566e830e088a5576d27c5b6f30f49d41"
dependencies = [
"log",
"ring 0.17.7",
"rustls-pki-types",
"rustls-webpki 0.102.2",
"subtle",
"zeroize",
]
[[package]]
name = "rustls-native-certs"
version = "0.6.3"
@ -6154,6 +6145,17 @@ dependencies = [
"untrusted 0.9.0",
]
[[package]]
name = "rustls-webpki"
version = "0.102.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "faaa0a62740bedb9b2ef5afa303da42764c012f743917351dc9a237ea1663610"
dependencies = [
"ring 0.17.7",
"rustls-pki-types",
"untrusted 0.9.0",
]
[[package]]
name = "rustversion"
version = "1.0.14"
@ -6680,7 +6682,7 @@ dependencies = [
"once_cell",
"paste",
"percent-encoding",
"rustls",
"rustls 0.21.10",
"rustls-pemfile 1.0.4",
"serde",
"serde_json",
@ -6692,7 +6694,7 @@ dependencies = [
"tokio-stream",
"tracing",
"url",
"webpki-roots",
"webpki-roots 0.25.4",
]
[[package]]
@ -6848,6 +6850,19 @@ version = "1.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3"
[[package]]
name = "stacker"
version = "0.1.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c886bd4480155fd3ef527d45e9ac8dd7118a898a46530b7b94c3e21866259fce"
dependencies = [
"cc",
"cfg-if 1.0.0",
"libc",
"psm",
"winapi 0.3.9",
]
[[package]]
name = "static_assertions"
version = "1.1.0"
@ -7281,7 +7296,18 @@ version = "0.24.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081"
dependencies = [
"rustls",
"rustls 0.21.10",
"tokio",
]
[[package]]
name = "tokio-rustls"
version = "0.25.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "775e0c0f0adb3a2f22a00c4745d728b479985fc15ee7ca6a2608388c5569860f"
dependencies = [
"rustls 0.22.2",
"rustls-pki-types",
"tokio",
]
@ -7340,14 +7366,13 @@ dependencies = [
[[package]]
name = "tonic"
version = "0.8.3"
version = "0.9.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8f219fad3b929bef19b1f86fbc0358d35daed8f2cac972037ac0dc10bbb8d5fb"
checksum = "3082666a3a6433f7f511c7192923fa1fe07c69332d3c6a2e6bb040b569199d5a"
dependencies = [
"async-stream",
"async-trait",
"axum",
"base64 0.13.1",
"base64 0.21.7",
"bytes",
"flate2",
"futures-core",
@ -7360,15 +7385,12 @@ dependencies = [
"percent-encoding",
"pin-project",
"prost 0.11.9",
"prost-derive 0.11.9",
"tokio",
"tokio-stream",
"tokio-util",
"tower",
"tower-layer",
"tower-service",
"tracing",
"tracing-futures",
]
[[package]]
@ -7390,10 +7412,10 @@ dependencies = [
"percent-encoding",
"pin-project",
"prost 0.12.3",
"rustls",
"rustls 0.21.10",
"rustls-pemfile 1.0.4",
"tokio",
"tokio-rustls",
"tokio-rustls 0.24.1",
"tokio-stream",
"tower",
"tower-layer",
@ -7403,9 +7425,9 @@ dependencies = [
[[package]]
name = "tonic-build"
version = "0.8.4"
version = "0.9.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5bf5e9b9c0f7e0a7c027dcfaba7b2c60816c7049171f679d99ee2ff65d0de8c4"
checksum = "a6fdaae4c2c638bb70fe42803a26fbd6fc6ac8c72f5c59f67ecc2a2dcabf4b07"
dependencies = [
"prettyplease 0.1.25",
"proc-macro2",
@ -7504,27 +7526,6 @@ dependencies = [
"valuable",
]
[[package]]
name = "tracing-futures"
version = "0.2.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "97d095ae15e245a057c8e8451bab9b3ee1e1f68e9ba2b4fbc18d0ac5237835f2"
dependencies = [
"pin-project",
"tracing",
]
[[package]]
name = "tracing-log"
version = "0.1.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f751112709b4e791d8ce53e32c4ed2d353565a795ce84da2285393f41557bdf2"
dependencies = [
"log",
"once_cell",
"tracing-core",
]
[[package]]
name = "tracing-log"
version = "0.2.0"
@ -7538,16 +7539,20 @@ dependencies = [
[[package]]
name = "tracing-opentelemetry"
version = "0.18.0"
version = "0.22.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "21ebb87a95ea13271332df069020513ab70bdb5637ca42d6e492dc3bbbad48de"
checksum = "c67ac25c5407e7b961fafc6f7e9aa5958fd297aada2d20fa2ae1737357e55596"
dependencies = [
"js-sys",
"once_cell",
"opentelemetry 0.18.0",
"opentelemetry",
"opentelemetry_sdk",
"smallvec",
"tracing",
"tracing-core",
"tracing-log 0.1.4",
"tracing-log",
"tracing-subscriber",
"web-time",
]
[[package]]
@ -7577,7 +7582,7 @@ dependencies = [
"thread_local",
"tracing",
"tracing-core",
"tracing-log 0.2.0",
"tracing-log",
"tracing-serde",
]
@ -8077,6 +8082,16 @@ dependencies = [
"wasm-bindgen",
]
[[package]]
name = "web-time"
version = "0.2.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "aa30049b1c872b72c89866d458eae9f20380ab280ffd1b1e18df2d3e2d98cfe0"
dependencies = [
"js-sys",
"wasm-bindgen",
]
[[package]]
name = "webbrowser"
version = "0.8.12"
@ -8100,6 +8115,15 @@ version = "0.25.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5f20c57d8d7db6d3b86154206ae5d8fba62dd39573114de97c2cb0578251f8e1"
[[package]]
name = "webpki-roots"
version = "0.26.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b3de34ae270483955a94f4b21bdaaeb83d508bb84a01435f393818edb0012009"
dependencies = [
"rustls-pki-types",
]
[[package]]
name = "which"
version = "4.4.2"

View File

@ -1,7 +1,6 @@
{ lib
, rustPlatform
, fetchFromGitHub
, fetchpatch
, pkg-config
, protobuf
, bzip2
@ -16,12 +15,12 @@
}:
let
version = "0.8.1";
version = "0.9.1";
src = fetchFromGitHub {
owner = "openobserve";
repo = "openobserve";
rev = "v${version}";
hash = "sha256-J8TuaWjtuR39XA7tizyI+DFkpOaLFweM+/9VImGj8UE=";
hash = "sha256-AQxSR2cMkNst5YEv4TqVNgdriMsg/0ed5YN4W8qZKxM=";
};
web = buildNpmPackage {
inherit src version;
@ -29,7 +28,7 @@ let
sourceRoot = "${src.name}/web";
npmDepsHash = "sha256-RNUCR80ewFt9F/VHv7kXLa87h0fz0YBp+9gSOUhtrdU=";
npmDepsHash = "sha256-c82NLNLfqQrS/jv7ixpLCYDMEUtx6+Mm8cSwvVis2fc=";
preBuild = ''
# Patch vite config to not open the browser to visualize plugin composition
@ -56,12 +55,6 @@ rustPlatform.buildRustPackage {
inherit version src;
patches = [
(fetchpatch {
name = "fix-test-hash-partition.patch";
url = "https://github.com/openobserve/openobserve/commit/24919333d6b6696f0f9d9aff0a883431481e8fce.patch";
includes = ["src/common/meta/stream.rs"];
hash = "sha256-GB3Pgmp1swJt6ESgKL2eWOZ3jBcsN0r+5Dxasgg50D4=";
})
# prevent using git to determine version info during build time
./build.rs.patch
];

File diff suppressed because it is too large Load Diff

View File

@ -10,13 +10,13 @@
rustPlatform.buildRustPackage rec {
pname = "polaris";
version = "0.14.1";
version = "0.14.2";
src = fetchFromGitHub {
owner = "agersant";
repo = "polaris";
rev = version;
hash = "sha256-YI2IBlZm+RIFcZgXYh9HdxVpSMjPN/s9oBXDrb2V3iE=";
hash = "sha256-UC66xRL9GyTPHJ3z0DD/yyI9GlyqelCaHHDyl79ptJg=";
# The polaris version upstream in Cargo.lock is "0.0.0".
# We're unable to simply patch it in the patch phase due to
@ -30,9 +30,7 @@ rustPlatform.buildRustPackage rec {
'';
};
cargoLock = {
lockFile = ./Cargo.lock;
};
cargoHash = "sha256-+4WN6TTIzVu3Jj0SfPq2jnYh0oWRo/C4qDMeJLrj1kk=";
buildInputs = lib.optionals stdenv.isDarwin [
darwin.Security

View File

@ -7,14 +7,14 @@
}:
python3.pkgs.buildPythonApplication rec {
pname = "nbqa";
version = "1.8.3";
version = "1.8.4";
pyproject = true;
src = fetchFromGitHub {
owner = "nbQA-dev";
repo = "nbQA";
rev = "refs/tags/${version}";
hash = "sha256-RucDwXXEOTInhV/hk6gYXUmxUu660/pSTrBtHLrLkQ8=";
hash = "sha256-clxIe97pWeA9IGt+650tJfxTmU+qbrL/9B2VRVIML+s=";
};
nativeBuildInputs = with python3.pkgs; [

View File

@ -24,12 +24,12 @@ let
];
in
stdenv.mkDerivation (finalAttrs: {
version = "6.0.1";
version = "6.1.0";
pname = "staruml";
src = fetchurl {
url = "https://files.staruml.io/releases-v6/StarUML_${finalAttrs.version}_amd64.deb";
sha256 = "sha256-LxulOfYjdJrDjRL661S0W9slIXvhLc+kXZN6e3TfXVs=";
sha256 = "sha256-ULdrAQCiQlTN+aRhETj+ASMKkKctFgC2AfvUHGc6stU=";
};
nativeBuildInputs = [ wrapGAppsHook dpkg ];

View File

@ -451,6 +451,7 @@ mapAliases ({
grub2_full = grub2; # Added 2022-11-18
grub = throw "grub1 was removed after not being maintained upstream for a decade. Please switch to another bootloader"; # Added 2023-04-11
gtkcord4 = dissent; # Added 2024-03-10
gtkpod = throw "'gtkpod' was removed due to one of its dependencies, 'anjuta' being unmaintained"; # Added 2024-01-16
guile-disarchive = disarchive; # Added 2023-10-27
guile-lint = throw "'guile-lint' has been removed, please use 'guild lint' instead"; # Added 2023-10-16
@ -561,6 +562,7 @@ mapAliases ({
libayatana-appindicator-gtk3 = libayatana-appindicator; # Added 2022-10-18
libbencodetools = bencodetools; # Added 2022-07-30
libbpf_1 = libbpf; # Added 2022-12-06
libbson = mongoc; # Added 2024-03-11
libcap_pam = throw "'libcap_pam' has been replaced with 'libcap'"; # Converted to throw 2023-09-10
libclc = llvmPackages_latest.libclc; # Added 2023-10-28
libcxxabi = throw "'libcxxabi' was merged into 'libcxx'"; # Converted to throw 2024-03-08

View File

@ -22167,8 +22167,6 @@ with pkgs;
libbs2b = callPackage ../development/libraries/audio/libbs2b { };
libbson = callPackage ../development/libraries/libbson { };
libbytesize = callPackage ../development/libraries/libbytesize { };
libcaca = callPackage ../development/libraries/libcaca { };
@ -31821,8 +31819,6 @@ with pkgs;
gscreenshot = callPackage ../applications/graphics/gscreenshot { };
gtkpod = callPackage ../applications/audio/gtkpod { };
guacamole-client = callPackage ../servers/guacamole-client { };
guacamole-server = callPackage ../servers/guacamole-server { };
@ -34382,8 +34378,6 @@ with pkgs;
eiskaltdcpp = libsForQt5.callPackage ../applications/networking/p2p/eiskaltdcpp { };
qdirstat = libsForQt5.callPackage ../applications/misc/qdirstat { };
qemu = callPackage ../applications/virtualization/qemu {
inherit (darwin.apple_sdk.frameworks) CoreServices Cocoa Hypervisor vmnet;
inherit (darwin.stubs) rez setfile;

View File

@ -411,7 +411,7 @@ lib.makeScope pkgs.newScope (self: with self; {
{
name = "gettext";
buildInputs = [ gettext ];
postPhpize = ''substituteInPlace configure --replace 'as_fn_error $? "Cannot locate header file libintl.h" "$LINENO" 5' ':' '';
postPhpize = ''substituteInPlace configure --replace-fail 'as_fn_error $? "Cannot locate header file libintl.h" "$LINENO" 5' ':' '';
configureFlags = [ "--with-gettext=${gettext}" ];
}
{
@ -663,7 +663,9 @@ lib.makeScope pkgs.newScope (self: with self; {
{
name = "xsl";
buildInputs = [ libxslt libxml2 ];
internalDeps = [ php.extensions.dom ];
doCheck = false;
env.NIX_CFLAGS_COMPILE = toString [ "-I../.." "-DHAVE_DOM" ];
configureFlags = [ "--with-xsl=${libxslt.dev}" ];
}
{ name = "zend_test"; }

View File

@ -15031,6 +15031,8 @@ self: super: with self; {
ttls = callPackage ../development/python-modules/ttls { };
ttn-client = callPackage ../development/python-modules/ttn-client { };
ttp = callPackage ../development/python-modules/ttp { };
ttp-templates = callPackage ../development/python-modules/ttp-templates { };