From b360de16fc47a7d445f13d4b82449085339aa9ff Mon Sep 17 00:00:00 2001 From: Redvers Davies Date: Sat, 11 Jul 2026 19:01:49 +0000 Subject: [PATCH 01/53] ponyc: 0.64.0 -> 0.67.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Upstream ponyc has made two significant changes since our last update: 1. Removal of the ability to use an external linker. 2. Moving from make to cmake for build. Previously we had relied on being able to call gcc as an external wrapper, which would take care of all of the /nix/store linking paths, selecting the correct dynamic linker etc etc… Now that the wrapper isn't available anymore, we have modified the embedded linker to read the flags from nix's environment. Assisted-By: Opus 4.8 --- pkgs/by-name/po/ponyc/cmake-presets.patch | 34 ++ .../po/ponyc/disable-networking-tests.patch | 95 ++++-- .../po/ponyc/disable-process-tests.patch | 26 -- pkgs/by-name/po/ponyc/fix-darwin-build.patch | 13 - pkgs/by-name/po/ponyc/gencshim-pony-cc.patch | 61 ++++ .../by-name/po/ponyc/genexe-pony-linker.patch | 174 +++++++++-- pkgs/by-name/po/ponyc/nix-codegen.patch | 291 ++++++++++++++++++ pkgs/by-name/po/ponyc/package.nix | 143 ++++----- 8 files changed, 679 insertions(+), 158 deletions(-) create mode 100644 pkgs/by-name/po/ponyc/cmake-presets.patch delete mode 100644 pkgs/by-name/po/ponyc/disable-process-tests.patch delete mode 100644 pkgs/by-name/po/ponyc/fix-darwin-build.patch create mode 100644 pkgs/by-name/po/ponyc/gencshim-pony-cc.patch create mode 100644 pkgs/by-name/po/ponyc/nix-codegen.patch diff --git a/pkgs/by-name/po/ponyc/cmake-presets.patch b/pkgs/by-name/po/ponyc/cmake-presets.patch new file mode 100644 index 000000000000..f8ee564f7a09 --- /dev/null +++ b/pkgs/by-name/po/ponyc/cmake-presets.patch @@ -0,0 +1,34 @@ +diff --git a/CMakePresets.json b/CMakePresets.json +index d12d71eb5..d337e7339 100644 +--- a/CMakePresets.json ++++ b/CMakePresets.json +@@ -9,11 +9,7 @@ + { + "name": "base", + "hidden": true, +- "binaryDir": "${sourceDir}/build/build_${presetName}", +- "cacheVariables": { +- "CMAKE_C_COMPILER": "clang", +- "CMAKE_CXX_COMPILER": "clang++" +- } ++ "binaryDir": "${sourceDir}/build/build_${presetName}" + }, + { + "name": "native", +diff --git a/lib/CMakePresets.json b/lib/CMakePresets.json +index 12d797b87..92196d931 100644 +--- a/lib/CMakePresets.json ++++ b/lib/CMakePresets.json +@@ -19,11 +19,7 @@ + { + "name": "libs", + "displayName": "Vendored LLVM + support libraries (clang)", +- "inherits": "libs-base", +- "cacheVariables": { +- "CMAKE_C_COMPILER": "clang", +- "CMAKE_CXX_COMPILER": "clang++" +- } ++ "inherits": "libs-base" + }, + { + "name": "libs-windows-x86-64", diff --git a/pkgs/by-name/po/ponyc/disable-networking-tests.patch b/pkgs/by-name/po/ponyc/disable-networking-tests.patch index 2bf7d15a58b4..fccafa80b7ed 100644 --- a/pkgs/by-name/po/ponyc/disable-networking-tests.patch +++ b/pkgs/by-name/po/ponyc/disable-networking-tests.patch @@ -1,41 +1,80 @@ -From c1283b82daff94ebac21fc20cb8df0b05aa080f8 Mon Sep 17 00:00:00 2001 -From: Morgan Jones -Date: Fri, 22 May 2026 23:06:52 -0700 -Subject: [PATCH] net: disable networking tests - ---- - packages/net/_test.pony | 18 ------------------ - 1 file changed, 18 deletions(-) - diff --git a/packages/net/_test.pony b/packages/net/_test.pony -index 1d7b2d6f..69cbeea6 100644 +index 081ce67a0..99942c05e 100644 --- a/packages/net/_test.pony +++ b/packages/net/_test.pony -@@ -20,24 +20,6 @@ actor \nodoc\ Main is TestList +@@ -26,14 +26,14 @@ actor \nodoc\ Main is TestList + + fun tag tests(test: PonyTest) => // Tests below function across all systems and are listed alphabetically +- test(_TestDNSBroadcastIP4) +- test(_TestDNSBroadcastIP6) +- test(_TestDNSUnresolvableEmpty) +- test(_TestMulticastIP4) +- test(_TestMulticastIP6) +- test(_TestNetAddressIP6Scope) +- test(_TestNetAddressNameRoundTripIP4) +- test(_TestNetAddressNameRoundTripIP6) ++// test(_TestDNSBroadcastIP4) ++// test(_TestDNSBroadcastIP6) ++// test(_TestDNSUnresolvableEmpty) ++// test(_TestMulticastIP4) ++// test(_TestMulticastIP6) ++// test(_TestNetAddressIP6Scope) ++// test(_TestNetAddressNameRoundTripIP4) ++// test(_TestNetAddressNameRoundTripIP6) test(_TestOsIpString) + test(_TestSocketResultDecoder) test(_TestTCPConnectionFailed) -- test(_TestTCPExpect) -- test(_TestTCPExpectOverBufferSize) -- test(_TestTCPExpectSetToZero) -- test(_TestTCPMute) -- test(_TestTCPProxy) -- test(_TestTCPUnmute) -- test(_TestTCPWritev) -- -- // Tests below exclude windows and are listed alphabetically -- ifdef not windows then -- test(_TestTCPConnectionToClosedServerFailed) -- test(_TestTCPThrottle) +@@ -48,36 +48,36 @@ actor \nodoc\ Main is TestList + test(_TestTCPThrottle) + test(_TestTCPUnmute) + test(_TestTCPWritev) +- test(_TestUDPEmptyDatagramDelivered) ++// test(_TestUDPEmptyDatagramDelivered) + test(_TestUDPListenFailure) +- test(_TestUDPOversizedDatagramTruncated) +- test(_TestUDPUndersizedDatagramDelivered) +- test(_TestUDPZeroSizeReadBufferDelivers) ++// test(_TestUDPOversizedDatagramTruncated) ++// test(_TestUDPUndersizedDatagramDelivered) ++// test(_TestUDPZeroSizeReadBufferDelivers) + test(_TestUnicastIP6Loopback) + + // The deterministic send-failure trigger (send to broadcast without + // SO_BROADCAST -> EACCES/WSAEACCES) is verified on linux and windows. +- ifdef linux or windows then +- test(_TestUDPCloseOnSendFailure) - end -- -- // Tests below exclude osx and are listed alphabetically ++// ifdef linux or windows then ++// test(_TestUDPCloseOnSendFailure) ++// end + + // Tests below run only on linux and are listed alphabetically +- ifdef linux then +- test(_TestBroadcastReceive) +- end ++// ifdef linux then ++// test(_TestBroadcastReceive) ++// end + + // Tests below exclude osx and are listed alphabetically - ifdef not osx then - test(_TestBroadcast) - end ++// ifdef not osx then ++// test(_TestBroadcast) ++// end + + // Tests below exclude osx and bsd and are listed alphabetically. + // They read IPv4 multicast options back with getsockopt_u32, which + // expects a 4-byte value; osx and bsd return these options as a 1-byte + // u_char, so the read-back fails there regardless of correctness. +- ifdef (not osx) and (not bsd) then +- test(_TestMulticastSockopt) +- end ++// ifdef (not osx) and (not bsd) then ++// test(_TestMulticastSockopt) ++// end class \nodoc\ _TestPing is UDPNotify let _h: TestHelper --- -2.53.0 - diff --git a/pkgs/by-name/po/ponyc/disable-process-tests.patch b/pkgs/by-name/po/ponyc/disable-process-tests.patch deleted file mode 100644 index e4ee0656655b..000000000000 --- a/pkgs/by-name/po/ponyc/disable-process-tests.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 77d703b11d298f6be88b04f7e8ca85de139e82be Mon Sep 17 00:00:00 2001 -From: Morgan Jones -Date: Mon, 5 May 2025 20:34:02 -0700 -Subject: [PATCH] process: disable KillLongRunningChild test - ---- - packages/process/_test.pony | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/packages/process/_test.pony b/packages/process/_test.pony -index fe9fdb04..756588f9 100644 ---- a/packages/process/_test.pony -+++ b/packages/process/_test.pony -@@ -18,7 +18,8 @@ actor \nodoc\ Main is TestList - test(_TestChdir) - test(_TestExpect) - test(_TestFileExecCapabilityIsRequired) -- test(_TestKillLongRunningChild) -+ // (@booxter/@numinit) Appears to be flaky. -+ // test(_TestKillLongRunningChild) - test(_TestLongRunningChild) - test(_TestNonExecutablePathResultsInExecveError) - test(_TestPrintvOrdering) --- -2.47.0 - diff --git a/pkgs/by-name/po/ponyc/fix-darwin-build.patch b/pkgs/by-name/po/ponyc/fix-darwin-build.patch deleted file mode 100644 index 47d99cfb9242..000000000000 --- a/pkgs/by-name/po/ponyc/fix-darwin-build.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/src/libponyc/codegen/genexe.cc b/src/libponyc/codegen/genexe.cc -index 3f0348eaa1..76b03030bf 100644 ---- a/src/libponyc/codegen/genexe.cc -+++ b/src/libponyc/codegen/genexe.cc -@@ -308,7 +308,7 @@ - snprintf(ld_cmd, ld_len, - "%s -execute -arch %.*s " - "-o %s %s %s %s " -- "-L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib -lSystem %s -platform_version macos '" STR(PONY_OSX_PLATFORM) "' '0.0.0'", -+ "-L\"${SDKROOT:-${DEVELOPER_DIR:-@apple-sdk@}/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk}/usr/lib\" -lSystem %s -platform_version macos '" STR(PONY_OSX_PLATFORM) "' '0.0.0'", - linker, (int)arch_len, c->opt->triple, file_exe, file_o, - lib_args, ponyrt, sanitizer_arg - ); diff --git a/pkgs/by-name/po/ponyc/gencshim-pony-cc.patch b/pkgs/by-name/po/ponyc/gencshim-pony-cc.patch new file mode 100644 index 000000000000..8340ca6d893b --- /dev/null +++ b/pkgs/by-name/po/ponyc/gencshim-pony-cc.patch @@ -0,0 +1,61 @@ +diff --git a/src/libponyc/codegen/gencshim.cc b/src/libponyc/codegen/gencshim.cc +index a1722ad01a22..db742c6adaa5 100644 +--- a/src/libponyc/codegen/gencshim.cc ++++ b/src/libponyc/codegen/gencshim.cc +@@ -7,6 +7,7 @@ + #include "../ast/stringtab.h" + #include "paths.h" + #include "ponyassert.h" ++#include "nix.h" + + #ifdef _MSC_VER + # pragma warning(push) +@@ -307,8 +308,11 @@ static const char* find_macos_sdk_include(pass_opt_t* opt) + pclose(f); + } + ++ // Fall back to the Nix apple-sdk when xcrun is unavailable, mirroring the ++ // link side in genexe.cc. The unversioned MacOSX.sdk symlink keeps this ++ // independent of the SDK version. + const char* fallback = +- "/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include"; ++ "@apple-sdk@/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include"; + + if(dir_exists(fallback)) + { +@@ -349,6 +353,25 @@ static bool push_isystem(pass_opt_t* opt, std::vector& args, + } + + ++/* ++ Add the Nix header search directories (see nix.h) as -internal-isystem ++ entries. push_isystem skips any directory that doesn't exist, so a partial ++ toolchain degrades gracefully. ++*/ ++static bool add_nix_include_dirs(pass_opt_t* opt, ++ std::vector& args, errors_t* errors) ++{ ++ std::vector dirs; ++ nix_collect_include_dirs(opt->strtab, dirs); ++ ++ bool any = false; ++ for(size_t i = 0; i < dirs.size(); i++) ++ any |= push_isystem(opt, args, errors, "-internal-isystem", dirs[i], ""); ++ ++ return any; ++} ++ ++ + // System include directories for the target, derived from the same sysroot + // the embedded linker uses β€” hand-rolled like LLD rather than driven through + // clang's Driver, so the headers the shim compiles against stay consistent +@@ -488,6 +511,9 @@ static bool add_system_include_args(pass_opt_t* opt, const char* sysroot, + any |= push_isystem(opt, args, errors, "-internal-externc-isystem", + sysroot, "/usr/include"); + ++ if(sysroot[0] == '\0') ++ any |= add_nix_include_dirs(opt, args, errors); ++ + // Per-directory skipping is right (multiarch and /usr/local are + // legitimately absent on many systems), but an explicit --sysroot that + // yields nothing at all deserves a direct answer, like the macOS branch diff --git a/pkgs/by-name/po/ponyc/genexe-pony-linker.patch b/pkgs/by-name/po/ponyc/genexe-pony-linker.patch index 39fa7a117f19..c7567b998f14 100644 --- a/pkgs/by-name/po/ponyc/genexe-pony-linker.patch +++ b/pkgs/by-name/po/ponyc/genexe-pony-linker.patch @@ -1,26 +1,158 @@ -From ac4b2a65f997f7f779b9c63dbe683ba10a26fc7f Mon Sep 17 00:00:00 2001 -From: Morgan Jones -Date: Fri, 22 May 2026 23:58:29 -0700 -Subject: [PATCH] genexe: take PONY_LINKER into account - ---- - src/libponyc/codegen/genexe.cc | 3 +++ - 1 file changed, 3 insertions(+) - diff --git a/src/libponyc/codegen/genexe.cc b/src/libponyc/codegen/genexe.cc -index 48f97578..5b9f36f1 100644 +index 826d69f0bcba..897afba953bb 100644 --- a/src/libponyc/codegen/genexe.cc +++ b/src/libponyc/codegen/genexe.cc -@@ -1448,6 +1448,9 @@ static bool link_exe(compile_t* c, ast_t* program, - { - errors_t* errors = c->opt->check.errors; +@@ -22,6 +22,7 @@ LLD_HAS_DRIVER(wasm) + #include "../type/lookup.h" + #include "../../libponyrt/mem/pool.h" + #include "ponyassert.h" ++#include "nix.h" + #include -+ if(c->opt->linker == NULL) -+ c->opt->linker = getenv("PONY_LINKER"); + #include +@@ -38,6 +39,8 @@ LLD_HAS_DRIVER(wasm) + # include + #endif + ++static bool dir_has_arch_libc_crt(const char* dir, uint16_t target_machine); + - // Use embedded LLD for Linux, macOS, and Windows targets unless --linker - // escape hatch is specified. Sanitizer builds fall back to the system - // compiler driver for native compilation since sanitizer runtime libraries --- -2.53.0 - + #if defined(PONY_SANITIZER) + // Generated at configure time (top-level CMakeLists.txt, PONY_SANITIZERS_ENABLED + // block): the sanitizer runtime link fragment captured from the compiler driver. +@@ -965,6 +968,9 @@ static bool link_exe_lld_elf(compile_t* c, ast_t* program, + + program_lib_build_args_embedded(program, c->opt); + ++ std::vector env_libdirs; ++ nix_collect_link_libdirs(c->opt->strtab, env_libdirs); ++ + const char* sys_triple = system_triple(c->opt); + bool is_freebsd = target_is_freebsd(c->opt->triple); + bool is_dragonfly = target_is_dragonfly(c->opt->triple); +@@ -996,7 +1002,11 @@ static bool link_exe_lld_elf(compile_t* c, ast_t* program, + return false; + } + +- const char* dynlinker = dynamic_linker_path(c); ++ // Prefer a Nix-provided ELF interpreter (baked default or environment); ++ // fall back to the built-in FHS search when none is configured. ++ const char* dynlinker = nix_dynamic_linker(c->opt->strtab); ++ if(dynlinker[0] == '\0') ++ dynlinker = dynamic_linker_path(c); + if(!c->opt->staticbin && dynlinker == NULL) + { + errorf(errors, NULL, +@@ -1009,10 +1019,23 @@ static bool link_exe_lld_elf(compile_t* c, ast_t* program, + const char* libc_crt_dir = find_libc_crt_dir(sysroot, sys_triple, + target_machine, c->opt->strtab); + if(libc_crt_dir == NULL) ++ { ++ for(size_t i = 0; i < env_libdirs.size(); i++) ++ { ++ if(dir_has_arch_libc_crt(env_libdirs[i], target_machine)) ++ { ++ libc_crt_dir = env_libdirs[i]; ++ break; ++ } ++ } ++ } ++ if(libc_crt_dir == NULL) + { + errorf(errors, NULL, + "could not find a libc crt startup object (crt1.o or crt0.o) " +- "matching target architecture '%s' in sysroot '%s'", ++ "matching target architecture '%s' in sysroot '%s'\n" ++ " On NixOS systems, set PONY_LINK_LIBDIRS to the directory holding " ++ "the arch-matching libc startup object (crt1.o or crt0.o).", + c->opt->triple, sysroot); + return false; + } +@@ -1305,6 +1328,21 @@ static bool link_exe_lld_elf(compile_t* c, ast_t* program, + } + } + ++/* ++ Add /nix/store lib directories to the embedded linker args ++*/ ++ for(size_t i = 0; i < env_libdirs.size(); i++) ++ { ++ snprintf(buf, sizeof(buf), "-L%s", env_libdirs[i]); ++ args.push_back(stringtab(c->opt->strtab, buf)); ++ ++ if(!c->opt->staticbin) ++ { ++ args.push_back("-rpath"); ++ args.push_back(env_libdirs[i]); ++ } ++ } ++ + // Standard system library fallback paths. The paths above cover + // distro-specific locations (libc_crt_dir, gcc_lib_dir, etc.) but miss + // common install locations like /usr/local/lib (where libraries built +@@ -1732,9 +1770,10 @@ static const char* find_macos_sdk_path(strtable_t* strtab) + pclose(f); + } + +- // Hardcoded fallback. ++ // Fall back to the Nix apple-sdk when xcrun is unavailable. The unversioned ++ // MacOSX.sdk symlink keeps this independent of the SDK version. + const char* fallback = +- "/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib"; ++ "@apple-sdk@/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/lib"; + + struct stat st; + if(stat(fallback, &st) == 0 && S_ISDIR(st.st_mode)) +@@ -1947,6 +1986,31 @@ static bool link_exe_lld_macho(compile_t* c, ast_t* program, + } + } + ++/* ++ Add /nix/store lib directories to the embedded Mach-O linker args, mirroring ++ the ELF path. On NixOS the C++ standard library, buildInputs and user FFI ++ libraries live under /nix/store, not in the SDK's usr/lib or the Homebrew and ++ /usr/local fallbacks above. nix_collect_link_libdirs() (see nix.h) gathers ++ them from the baked PONY_NIX_LINK_LIBDIRS default, the PONY_LINK_LIBDIRS / ++ NIX_LDFLAGS env vars, and the cc-wrapper's $NIX_CC/nix-support/cc-ldflags ++ (which carries the -L path on Darwin). Without this, ++ `use "lib:c++" if osx` (as used by pony-compiler) fails to link with ++ "library not found for -lc++". ++*/ ++ std::vector env_libdirs; ++ nix_collect_link_libdirs(c->opt->strtab, env_libdirs); ++ for(size_t i = 0; i < env_libdirs.size(); i++) ++ { ++ snprintf(buf, sizeof(buf), "-L%s", env_libdirs[i]); ++ args.push_back(stringtab(c->opt->strtab, buf)); ++ ++ if(!c->opt->staticbin) ++ { ++ args.push_back("-rpath"); ++ args.push_back(env_libdirs[i]); ++ } ++ } ++ + // Object file. + args.push_back(file_o); + +@@ -2417,3 +2481,21 @@ bool genexe(compile_t* c, ast_t* program) + + return true; + } ++ ++// Does `dir` hold a libc startup object (crt1.o / crt0.o) whose ELF machine ++// matches the target? Used to pick the crt directory out of the Nix libdirs ++// gathered by nix_collect_link_libdirs(). ++static bool dir_has_arch_libc_crt(const char* dir, uint16_t target_machine) ++{ ++ static const char* sentinels[] = { "crt1.o", "crt0.o" }; ++ char buf[PATH_MAX]; ++ ++ for(size_t j = 0; j < sizeof(sentinels) / sizeof(sentinels[0]); j++) ++ { ++ snprintf(buf, sizeof(buf), "%s/%s", dir, sentinels[j]); ++ if(file_exists(buf) && elf_matches_target(buf, target_machine)) ++ return true; ++ } ++ ++ return false; ++} diff --git a/pkgs/by-name/po/ponyc/nix-codegen.patch b/pkgs/by-name/po/ponyc/nix-codegen.patch new file mode 100644 index 000000000000..f56bc8cdba15 --- /dev/null +++ b/pkgs/by-name/po/ponyc/nix-codegen.patch @@ -0,0 +1,291 @@ +diff --git a/src/libponyc/codegen/nix.h b/src/libponyc/codegen/nix.h +new file mode 100644 +index 000000000000..b1368f222b91 +--- /dev/null ++++ b/src/libponyc/codegen/nix.h +@@ -0,0 +1,47 @@ ++#ifndef CODEGEN_NIX_H ++#define CODEGEN_NIX_H ++ ++#include "../ast/stringtab.h" ++ ++#include ++ ++/* ++ Nix/NixOS toolchain path discovery for the embedded LLD linker (genexe.cc) ++ and the embedded clang C-shim compiler (gencshim.cc). ++ ++ On Nix there is no FHS layout: no /usr/lib, no /lib64/ld-linux-*.so, no ++ /usr/include. The libc, libgcc, C++ runtime, buildInputs and user FFI ++ libraries all live under /nix/store, and their locations reach the compiler ++ through baked-in defaults (the -DPONY_NIX_* macros set at configure time) and ++ the cc-wrapper environment (NIX_LDFLAGS, NIX_CFLAGS_COMPILE, ++ $NIX_CC/nix-support/*). These helpers gather those paths so the embedded ++ tools link and compile without a wrapper script. ++ ++ On a plain non-Nix build every source is empty, so the collectors append ++ nothing and behaviour is unchanged. ++*/ ++ ++// Library search directories for the linker, in priority order: ++// PONY_NIX_LINK_LIBDIRS (baked default), PONY_LINK_LIBDIRS, NIX_LDFLAGS, ++// NIX_LDFLAGS_BEFORE, $NIX_CC/nix-support {orig-libc, cc-ldflags}. ++// Directories are interned into `strtab` and appended to `dirs`; existing ++// entries are left in place. ++void nix_collect_link_libdirs(strtable_t* strtab, ++ std::vector& dirs); ++ ++// Header search directories for the C-shim compiler, in priority order: ++// PONY_NIX_INCLUDE_DIRS (baked default), PONY_INCLUDE_DIRS, ++// NIX_CFLAGS_COMPILE, $NIX_CC/nix-support/libc-cflags. ++// Directories are interned into `strtab` and appended to `dirs`; existing ++// entries are left in place. ++void nix_collect_include_dirs(strtable_t* strtab, ++ std::vector& dirs); ++ ++// The ELF dynamic linker (interpreter) path, in priority order: ++// PONY_DYNAMIC_LINKER, PONY_NIX_DYNAMIC_LINKER (baked default), ++// $NIX_CC/nix-support/dynamic-linker. ++// Returns "" (never NULL) when none is configured, so the caller can test the ++// first byte and fall back to the built-in FHS search. ++const char* nix_dynamic_linker(strtable_t* strtab); ++ ++#endif +diff --git a/src/libponyc/codegen/nix.cc b/src/libponyc/codegen/nix.cc +new file mode 100644 +index 000000000000..eddfd7833103 +--- /dev/null ++++ b/src/libponyc/codegen/nix.cc +@@ -0,0 +1,220 @@ ++#include "nix.h" ++ ++#include "../ast/stringtab.h" ++ ++#include ++#include ++#include ++#include ++ ++#ifndef PATH_MAX ++# define PATH_MAX 4096 ++#endif ++ ++/* ++ The baked-in Nix defaults. package.nix passes each of these through ++ -DPONY_NIX_*="..." in NIX_CFLAGS_COMPILE at configure time, capturing the ++ cc-wrapper's libc/libgcc/pcre2/openssl lib dirs, the ELF interpreter and the ++ libc/gcc include dirs. They are empty strings on a plain source build, which ++ disables every Nix-specific path below. ++*/ ++#ifndef PONY_NIX_LINK_LIBDIRS ++# define PONY_NIX_LINK_LIBDIRS "" ++#endif ++#ifndef PONY_NIX_DYNAMIC_LINKER ++# define PONY_NIX_DYNAMIC_LINKER "" ++#endif ++#ifndef PONY_NIX_INCLUDE_DIRS ++# define PONY_NIX_INCLUDE_DIRS "" ++#endif ++ ++/* ++ Split `s` into tokens on any delimiter character in `delims`, interning each ++ token into `strtab` and appending it to `toks`. A token that would overflow ++ the buffer is dropped whole rather than truncated to a wrong path. ++*/ ++static void tokenize(const char* s, const char* delims, strtable_t* strtab, ++ std::vector& toks) ++{ ++ if(s == NULL || s[0] == '\0') ++ return; ++ ++ char buf[PATH_MAX]; ++ size_t len = 0; ++ bool overflow = false; ++ for(const char* p = s; ; p++) ++ { ++ // The '\0' test is first so strchr is never asked to match the terminator. ++ if(*p == '\0' || strchr(delims, *p) != NULL) ++ { ++ if(len > 0 && !overflow) ++ { ++ buf[len] = '\0'; ++ toks.push_back(stringtab(strtab, buf)); ++ } ++ len = 0; ++ overflow = false; ++ if(*p == '\0') ++ break; ++ } ++ else if(len < sizeof(buf) - 1) ++ { ++ buf[len++] = *p; ++ } ++ else ++ { ++ overflow = true; ++ } ++ } ++} ++ ++/* ++ Interpret a whitespace-separated linker-flag string (NIX_LDFLAGS, ++ $NIX_CC/nix-support/cc-ldflags) for library directories, handling the joined ++ -L, the separated -L , and -rpath / -rpath-link forms. ++ ++ This is how /nix/store libraries (and directories injected by pkg-config) are ++ found where other distros would look in /usr/lib and the like. ++*/ ++static void append_ldflags_dirs(const char* flags, strtable_t* strtab, ++ std::vector& dirs) ++{ ++ std::vector toks; ++ tokenize(flags, " \t\n\r", strtab, toks); ++ ++ for(size_t i = 0; i < toks.size(); i++) ++ { ++ const char* t = toks[i]; ++ if(strncmp(t, "-L", 2) == 0) ++ { ++ if(t[2] != '\0') ++ dirs.push_back(stringtab(strtab, t + 2)); ++ else if(i + 1 < toks.size()) ++ dirs.push_back(toks[++i]); ++ } ++ else if(strcmp(t, "-rpath") == 0 || strcmp(t, "-rpath-link") == 0) ++ { ++ if(i + 1 < toks.size()) ++ dirs.push_back(toks[++i]); ++ } ++ } ++} ++ ++/* ++ Interpret a whitespace-separated compiler-flag string (NIX_CFLAGS_COMPILE, ++ $NIX_CC/nix-support/libc-cflags) for header search directories, handling the ++ joined -I, the separated -I , and -isystem / -idirafter / -iquote ++ forms. This covers directories injected by pkg-config too. ++*/ ++static void append_cflags_include_dirs(const char* flags, strtable_t* strtab, ++ std::vector& dirs) ++{ ++ std::vector toks; ++ tokenize(flags, " \t\n\r", strtab, toks); ++ ++ for(size_t i = 0; i < toks.size(); i++) ++ { ++ const char* t = toks[i]; ++ if(strcmp(t, "-isystem") == 0 || strcmp(t, "-idirafter") == 0 || ++ strcmp(t, "-iquote") == 0 || strcmp(t, "-I") == 0) ++ { ++ if(i + 1 < toks.size()) ++ dirs.push_back(toks[++i]); ++ } ++ else if(strncmp(t, "-I", 2) == 0 && t[2] != '\0') ++ { ++ dirs.push_back(stringtab(strtab, t + 2)); ++ } ++ } ++} ++ ++/* ++ Read $NIX_CC/nix-support/ into `out`, trimming trailing whitespace. ++ Returns false if the file is missing, empty, or so long it would be ++ truncated -- acting on a partial flag string would be worse than ignoring it. ++*/ ++static bool read_nix_support_file(const char* nix_cc, const char* name, ++ char* out, size_t outsz) ++{ ++ char path[PATH_MAX]; ++ snprintf(path, sizeof(path), "%s/nix-support/%s", nix_cc, name); ++ ++ FILE* f = fopen(path, "rb"); ++ if(f == NULL) ++ return false; ++ ++ size_t n = fread(out, 1, outsz - 1, f); ++ // If the buffer filled and the file still has bytes, the content was ++ // truncated; reject it rather than acting on a partial flag string. ++ bool truncated = (n == outsz - 1) && (fgetc(f) != EOF); ++ fclose(f); ++ if(truncated) ++ return false; ++ out[n] = '\0'; ++ ++ while(n > 0 && (out[n - 1] == '\n' || out[n - 1] == '\r' || ++ out[n - 1] == ' ' || out[n - 1] == '\t')) ++ out[--n] = '\0'; ++ ++ return n > 0; ++} ++ ++void nix_collect_link_libdirs(strtable_t* strtab, ++ std::vector& dirs) ++{ ++ tokenize(PONY_NIX_LINK_LIBDIRS, ":", strtab, dirs); ++ tokenize(getenv("PONY_LINK_LIBDIRS"), ":", strtab, dirs); ++ append_ldflags_dirs(getenv("NIX_LDFLAGS"), strtab, dirs); ++ append_ldflags_dirs(getenv("NIX_LDFLAGS_BEFORE"), strtab, dirs); ++ ++ const char* nix_cc = getenv("NIX_CC"); ++ if(nix_cc == NULL || nix_cc[0] == '\0') ++ return; ++ ++ char buf[PATH_MAX]; ++ if(read_nix_support_file(nix_cc, "orig-libc", buf, sizeof(buf))) ++ { ++ char libdir[PATH_MAX]; ++ snprintf(libdir, sizeof(libdir), "%s/lib", buf); ++ dirs.push_back(stringtab(strtab, libdir)); ++ } ++ ++ if(read_nix_support_file(nix_cc, "cc-ldflags", buf, sizeof(buf))) ++ append_ldflags_dirs(buf, strtab, dirs); ++} ++ ++void nix_collect_include_dirs(strtable_t* strtab, ++ std::vector& dirs) ++{ ++ tokenize(PONY_NIX_INCLUDE_DIRS, ":", strtab, dirs); ++ tokenize(getenv("PONY_INCLUDE_DIRS"), ":", strtab, dirs); ++ append_cflags_include_dirs(getenv("NIX_CFLAGS_COMPILE"), strtab, dirs); ++ ++ const char* nix_cc = getenv("NIX_CC"); ++ if(nix_cc != NULL && nix_cc[0] != '\0') ++ { ++ char cflags[PATH_MAX * 4]; ++ if(read_nix_support_file(nix_cc, "libc-cflags", cflags, sizeof(cflags))) ++ append_cflags_include_dirs(cflags, strtab, dirs); ++ } ++} ++ ++const char* nix_dynamic_linker(strtable_t* strtab) ++{ ++ const char* dl = getenv("PONY_DYNAMIC_LINKER"); ++ if(dl != NULL && dl[0] != '\0') ++ return stringtab(strtab, dl); ++ ++ if(PONY_NIX_DYNAMIC_LINKER[0] != '\0') ++ return stringtab(strtab, PONY_NIX_DYNAMIC_LINKER); ++ ++ const char* nix_cc = getenv("NIX_CC"); ++ if(nix_cc != NULL && nix_cc[0] != '\0') ++ { ++ char buf[PATH_MAX]; ++ if(read_nix_support_file(nix_cc, "dynamic-linker", buf, sizeof(buf))) ++ return stringtab(strtab, buf); ++ } ++ ++ return ""; ++} +diff --git a/src/libponyc/CMakeLists.txt b/src/libponyc/CMakeLists.txt +index f4e3e42ef48f..4a477e306ac1 100644 +--- a/src/libponyc/CMakeLists.txt ++++ b/src/libponyc/CMakeLists.txt +@@ -27,6 +27,7 @@ add_library(libponyc STATIC + codegen/gendesc.c + codegen/gencshim.cc + codegen/genexe.cc ++ codegen/nix.cc + codegen/genexpr.c + codegen/genfun.c + codegen/genheader.c diff --git a/pkgs/by-name/po/ponyc/package.nix b/pkgs/by-name/po/ponyc/package.nix index 3d01332e124f..d46d5dcb16c3 100644 --- a/pkgs/by-name/po/ponyc/package.nix +++ b/pkgs/by-name/po/ponyc/package.nix @@ -7,14 +7,11 @@ cmake, coreutils, libxml2, - lto ? true, - makeWrapper, openssl, pcre2, pony-corral, python3, zlib, - # Not really used for anything real, just at build time. git, replaceVars, which, @@ -25,13 +22,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "ponyc"; - version = "0.64.0"; + version = "0.67.0"; src = fetchFromGitHub { owner = "ponylang"; repo = "ponyc"; tag = finalAttrs.version; - hash = "sha256-CdsfJO+7y7nvlDdCXdWRB4vmP9pB1Jz5CVwJuha+yds="; + hash = "sha256-9X2xaQ5nCV/sTL3WjXNDswIfNhlwgfV4/X70p1zTd2U="; fetchSubmodules = true; }; @@ -53,7 +50,6 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ cmake - makeWrapper which python3 git @@ -64,23 +60,36 @@ stdenv.mkDerivation (finalAttrs: { buildInputs = [ libxml2 + openssl + pcre2 z3 zlib ]; patches = [ + ./cmake-presets.patch # Sandbox disallows network access, so disabling problematic networking tests ./disable-networking-tests.patch - ./disable-process-tests.patch - - # Take PONY_LINKER into account - ./genexe-pony-linker.patch + # Adds codegen/nix.cc + nix.h (the Nix toolchain-path helpers shared by the + # embedded linker and C-shim compiler) and wires them into libponyc's + # CMakeLists. Platform-independent, so applied verbatim everywhere. + ./nix-codegen.patch ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ - (replaceVars ./fix-darwin-build.patch { - inherit apple-sdk; - }) - ]; + ++ ( + let + # These patch the embedded LLD/clang codegen and reference the macOS SDK + # via @apple-sdk@; substitute it on Darwin, apply verbatim elsewhere (the + # placeholder sits in macOS-only code that other platforms never compile). + sdkPatches = [ + ./gencshim-pony-cc.patch + ./genexe-pony-linker.patch + ]; + in + if stdenv.hostPlatform.isDarwin then + map (p: replaceVars p { inherit apple-sdk; }) sdkPatches + else + sdkPatches + ); postUnpack = '' mkdir -p $NIX_BUILD_TOP/deps @@ -88,8 +97,6 @@ stdenv.mkDerivation (finalAttrs: { tar -C "$googletest" -cf $NIX_BUILD_TOP/deps/googletest-$googletestRev.tar . ''; - dontConfigure = true; - postPatch = '' substituteInPlace packages/process/_test.pony \ --replace-fail '"/bin/' '"${coreutils}/bin/' \ @@ -105,8 +112,7 @@ stdenv.mkDerivation (finalAttrs: { ''; # We do not concern ourselves with darwin as the ponyc compiler - # has logic which overrides this environmental variable in this - # case. + # has logic which overrides this environment variable. env.arch = if stdenv.hostPlatform.isx86_64 then "x86-64" @@ -118,32 +124,41 @@ stdenv.mkDerivation (finalAttrs: { this may result in crashes on incompatible CPUs! '' "native"; - preBuild = '' - extraFlags=(build_flags=-j$NIX_BUILD_CORES) - '' - + lib.optionalString stdenv.hostPlatform.isLinux '' - export PONY_LINKER="$CC" - '' - + lib.optionalString stdenv.hostPlatform.isDarwin '' - export PONY_LINKER=ld - '' - + lib.optionalString stdenv.hostPlatform.isAarch64 '' - # See this relnote about building on Raspbian: - # https://github.com/ponylang/ponyc/blob/0.46.0/.release-notes/0.45.2.md - extraFlags+=(pic_flag=-fPIC) - '' - + '' - make libs "''${extraFlags[@]}" - make configure "''${extraFlags[@]}" + # Bake the Nix link/include paths into the compiler before it is built. + preConfigure = + lib.optionalString stdenv.hostPlatform.isLinux '' + libcDir=$(dirname "$($CC -print-file-name=crt1.o)") + gccDir=$(dirname "$($CC -print-libgcc-file-name)") + gccSharedDir=$(dirname "$($CC -print-file-name=libgcc_s.so)") + dynamicLinker=$(cat "$NIX_CC/nix-support/dynamic-linker") + libcIncDir="$(cat "$NIX_CC/nix-support/orig-libc-dev")/include" + # pcre2 and openssl are baked into the compiler's link path so an installed + # ponyc can link `use "regex"` (pcre2) and `use "net/ssl"` (openssl) + # programs without a wrapper β€” this replaces the old wrapProgram PONYPATH. + export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -DPONY_NIX_LINK_LIBDIRS=\"$libcDir:$gccDir:$gccSharedDir:${lib.getLib pcre2}/lib:${lib.getLib openssl}/lib\" -DPONY_NIX_DYNAMIC_LINKER=\"$dynamicLinker\" -DPONY_NIX_INCLUDE_DIRS=\"$libcIncDir:$gccDir/include:$gccDir/include-fixed\"" + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + # Bake pcre2/openssl into the compiler's link path so an installed ponyc can + # link `use "regex"` / `use "net/ssl"` without a wrapper; libc and the C++ + # standard library come from the SDK (via xcrun / apple-sdk) at link time. + export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -DPONY_NIX_LINK_LIBDIRS=\"${lib.getLib pcre2}/lib:${lib.getLib openssl}/lib\"" + ''; + + # Upstream drives the build through CMakePresets (which fix the binaryDir and + # compiler), so we bypass the cmake setup hook's configurePhase and invoke the + # presets directly rather than fight its flags. + configurePhase = '' + runHook preConfigure + cmake -DJOBS=$NIX_BUILD_CORES -P lib/build-libs.cmake + cmake --preset release + runHook postConfigure ''; - enableParallelBuilding = true; - - makeFlags = [ - "PONYC_VERSION=${finalAttrs.version}" - "prefix=${placeholder "out"}" - ] - ++ lib.optionals stdenv.hostPlatform.isDarwin ([ "bits=64" ] ++ lib.optional (!lto) "lto=no"); + buildPhase = '' + runHook preBuild + cmake --build --preset release --parallel $NIX_BUILD_CORES + runHook postBuild + ''; env.NIX_CFLAGS_COMPILE = toString [ "-Wno-error=redundant-move" @@ -152,35 +167,21 @@ stdenv.mkDerivation (finalAttrs: { doCheck = true; - enableParallelChecking = true; - nativeCheckInputs = [ procps ]; - installPhase = '' - makeArgs=(config=release prefix=$out) - '' - + lib.optionalString stdenv.hostPlatform.isDarwin '' - makeArgs+=(bits=64) - '' - + lib.optionalString (stdenv.hostPlatform.isDarwin && !lto) '' - makeArgs+=(lto=no) - '' - + '' - make "''${makeArgs[@]}" install - wrapProgram $out/bin/ponyc \ - --prefix PATH ":" "${stdenv.cc}/bin" \ - --set-default CC "$CC" \ - --set-default PONY_LINKER "$PONY_LINKER" \ - --prefix PONYPATH : "${ - lib.makeLibraryPath [ - pcre2 - openssl - (placeholder "out") - ] - }" + checkPhase = '' + runHook preCheck + ctest --preset release -L ci-core -j$NIX_BUILD_CORES + runHook postCheck ''; - # Stripping breaks linking for ponyc + installPhase = '' + runHook preInstall + cmake --install build/build_release --prefix=$out + runHook postInstall + ''; + + # Stripping breaks linking for ponyc. dontStrip = true; passthru = { @@ -189,17 +190,19 @@ stdenv.mkDerivation (finalAttrs: { }; meta = { - description = "Pony is an Object-oriented, actor-model, capabilities-secure, high performance programming language"; + description = "Object-oriented, actor-model, capabilities-secure, high performance programming language"; homepage = "https://www.ponylang.io"; license = lib.licenses.bsd2; + mainProgram = "ponyc"; maintainers = with lib.maintainers; [ kamilchm redvers numinit ]; + # Intel macOS (x86_64-darwin) is intentionally unsupported; only Apple + # Silicon is supported on Darwin. platforms = [ "x86_64-linux" - "x86_64-darwin" "aarch64-linux" "aarch64-darwin" ]; From 05c36f66d6c1abc43fe925fb40b439dde6425f29 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 24 Jul 2026 12:36:01 +0000 Subject: [PATCH 02/53] clj-kondo: 2026.05.25 -> 2026.07.24 --- pkgs/by-name/cl/clj-kondo/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/cl/clj-kondo/package.nix b/pkgs/by-name/cl/clj-kondo/package.nix index 36c66478b6f8..756f50175c15 100644 --- a/pkgs/by-name/cl/clj-kondo/package.nix +++ b/pkgs/by-name/cl/clj-kondo/package.nix @@ -6,11 +6,11 @@ buildGraalvmNativeImage (finalAttrs: { pname = "clj-kondo"; - version = "2026.05.25"; + version = "2026.07.24"; src = fetchurl { url = "https://github.com/clj-kondo/clj-kondo/releases/download/v${finalAttrs.version}/clj-kondo-${finalAttrs.version}-standalone.jar"; - sha256 = "sha256-SzrfsIHUW+KzZITesZ9aS00Gx7S4hekLsXXdjQJJxLM="; + sha256 = "sha256-QUZkiURBeuv0qxELNRhFw8MudP0m026IpZ8axG922Qg="; }; extraNativeImageBuildArgs = [ From 4c7fe7e3ca7432578fb992ad58dcb076a80ed287 Mon Sep 17 00:00:00 2001 From: matthewcroughan Date: Sun, 26 Jul 2026 15:11:35 +0100 Subject: [PATCH 03/53] qrtr: 0-unstable-2025-03-01 -> 1.2 --- pkgs/by-name/qr/qrtr/package.nix | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/qr/qrtr/package.nix b/pkgs/by-name/qr/qrtr/package.nix index 355b8ce4fbc8..240dde537cdf 100644 --- a/pkgs/by-name/qr/qrtr/package.nix +++ b/pkgs/by-name/qr/qrtr/package.nix @@ -3,21 +3,21 @@ lib, fetchFromGitHub, meson, - cmake, pkg-config, systemd, ninja, + nix-update-script, }: stdenv.mkDerivation (finalAttrs: { pname = "qrtr"; - version = "0-unstable-2025-03-01"; + version = "1.2"; src = fetchFromGitHub { owner = "linux-msm"; repo = "qrtr"; - rev = "5923eea97377f4a3ed9121b358fd919e3659db7b"; - hash = "sha256-iHjF/2SQsvB/qC/UykNITH/apcYSVD+n4xA0S/rIfnM="; + tag = "v${finalAttrs.version}"; + hash = "sha256-plVPR3BKtMLSVgTK8TPFbt5vuo9ZovEGz6qJzUZ33G4="; }; nativeBuildInputs = [ @@ -30,6 +30,8 @@ stdenv.mkDerivation (finalAttrs: { installFlags = [ "prefix=$(out)" ]; + passthru.updateScript = nix-update-script { }; + meta = { maintainers = with lib.maintainers; [ matthewcroughan ]; description = "QMI IDL compiler"; From 862cf2c919fb4597914cafbe15265defb8857852 Mon Sep 17 00:00:00 2001 From: Ethan Carter Edwards Date: Sun, 26 Jul 2026 16:20:26 -0400 Subject: [PATCH 04/53] qdl: modernize Signed-off-by: Ethan Carter Edwards --- pkgs/by-name/qd/qdl/package.nix | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/pkgs/by-name/qd/qdl/package.nix b/pkgs/by-name/qd/qdl/package.nix index bea86693c187..84d97af3948b 100644 --- a/pkgs/by-name/qd/qdl/package.nix +++ b/pkgs/by-name/qd/qdl/package.nix @@ -10,6 +10,7 @@ libzip, cmocka, ninja, + versionCheckHook, nix-update-script, }: @@ -17,6 +18,9 @@ stdenv.mkDerivation (finalAttrs: { pname = "qdl"; version = "2.7.1"; + __structuredAttrs = true; + strictDeps = true; + src = fetchFromGitHub { owner = "linux-msm"; repo = "qdl"; @@ -56,6 +60,9 @@ stdenv.mkDerivation (finalAttrs: { enableParallelBuilding = true; + nativeInstallCheckInputs = [ versionCheckHook ]; + doInstallCheck = true; + passthru.updateScript = nix-update-script { }; meta = { From afcf24882de58fbc28111b71c13d5a5ae5deeccf Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 27 Jul 2026 15:05:31 +0000 Subject: [PATCH 05/53] shogihome: 1.28.0 -> 1.28.1 --- pkgs/by-name/sh/shogihome/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/sh/shogihome/package.nix b/pkgs/by-name/sh/shogihome/package.nix index f3a90eb4da32..99d5fca47885 100644 --- a/pkgs/by-name/sh/shogihome/package.nix +++ b/pkgs/by-name/sh/shogihome/package.nix @@ -22,16 +22,16 @@ let in buildNpmPackage (finalAttrs: { pname = "shogihome"; - version = "1.28.0"; + version = "1.28.1"; src = fetchFromGitHub { owner = "sunfish-shogi"; repo = "shogihome"; tag = "v${finalAttrs.version}"; - hash = "sha256-icFWpyfdnm0wIkTVa2ijcnBcDmxrutV38vN3/8AY4cg="; + hash = "sha256-En2tH9AFBdhZsHoy/uiHf4RO3+gFkfwHnZAyDJ7FcoE="; }; - npmDepsHash = "sha256-SSpw8bBbf6saWwR3ZpqMrbrdjDJTCeARBAlHO65O+Zc="; + npmDepsHash = "sha256-9O/PQAGv0xg6dKgFHjErYTnaM2PxyUIZk8auiReSo2Q="; postPatch = '' substituteInPlace package.json \ From 7134f7833162492b54ded68294b7305fad28ca65 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 30 Jul 2026 04:08:58 +0000 Subject: [PATCH 06/53] snip: 0.22.0 -> 0.24.1 --- pkgs/by-name/sn/snip/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/sn/snip/package.nix b/pkgs/by-name/sn/snip/package.nix index f890bd12d9f1..7b67e08b6572 100644 --- a/pkgs/by-name/sn/snip/package.nix +++ b/pkgs/by-name/sn/snip/package.nix @@ -7,13 +7,13 @@ buildGoModule (finalAttrs: { pname = "snip"; - version = "0.22.0"; + version = "0.24.1"; src = fetchFromGitHub { owner = "edouard-claude"; repo = "snip"; tag = "v${finalAttrs.version}"; - hash = "sha256-y88ZHg29Z/QBZk8YWXp287Rel7DpPESYAlbqt5hj1nc="; + hash = "sha256-17vAgwuOrDN81+XKa2vn60T9RyZktOoF2xfF/RE+BNw="; }; vendorHash = "sha256-2MxFZqjNuLzcuu+bsLyOyHIakCxh7j0FUx8LsjZRhrY="; From 81d18adeab0ac68d5095d8516632e934cea6044f Mon Sep 17 00:00:00 2001 From: Oleksii Filonenko Date: Thu, 30 Jul 2026 15:46:03 +0000 Subject: [PATCH 07/53] hk: 1.51.0 -> 1.53.0 --- pkgs/by-name/hk/hk/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/hk/hk/package.nix b/pkgs/by-name/hk/hk/package.nix index f0d97b585f7d..8f299b7757a3 100644 --- a/pkgs/by-name/hk/hk/package.nix +++ b/pkgs/by-name/hk/hk/package.nix @@ -15,7 +15,7 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "hk"; - version = "1.51.0"; + version = "1.53.0"; __structuredAttrs = true; @@ -23,10 +23,10 @@ rustPlatform.buildRustPackage (finalAttrs: { owner = "jdx"; repo = "hk"; tag = "v${finalAttrs.version}"; - hash = "sha256-kCmujjvh2CACLrzqFal1CFc7RMzECBYsQ4W3ZnJGRV0="; + hash = "sha256-O9D5gpkLEiA7yotDehsCu6qdYKBaUCmGZjVPETiZXzA="; }; - cargoHash = "sha256-hICexfvE0swz+g/9r/vR/sG2DUAK5Fj0lDTrkuWujok="; + cargoHash = "sha256-4y4wg24yN9lTZvg4SgTZcYSVwIaPowTJ4jj3P09FHjE="; nativeBuildInputs = [ installShellFiles From c55edd53fb8bb13b3f166e021ed1a3cf341e350f Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 30 Jul 2026 16:43:13 +0000 Subject: [PATCH 08/53] python3Packages.environ-config: 24.1.0 -> 26.1.0 --- pkgs/development/python-modules/environ-config/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/environ-config/default.nix b/pkgs/development/python-modules/environ-config/default.nix index 06e82efea86c..ff5975aba463 100644 --- a/pkgs/development/python-modules/environ-config/default.nix +++ b/pkgs/development/python-modules/environ-config/default.nix @@ -12,14 +12,14 @@ }: buildPythonPackage rec { pname = "environ-config"; - version = "24.1.0"; + version = "26.1.0"; pyproject = true; src = fetchFromGitHub { repo = "environ-config"; owner = "hynek"; tag = version; - hash = "sha256-XiJNLQgKhf9hXQfIMsfiEaHx7IHaExhphpYfOBgIT+s="; + hash = "sha256-baj61mS4rSLMngrAdmSwupN/2ewo/GDwbZqFTr8fVuE="; }; build-system = [ From 99b0a7f2fadefd2d961db918bf5fd42ab604d457 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 30 Jul 2026 16:57:05 +0000 Subject: [PATCH 09/53] stevenblack-blocklist: 3.16.99 -> 3.16.102 --- pkgs/by-name/st/stevenblack-blocklist/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/st/stevenblack-blocklist/package.nix b/pkgs/by-name/st/stevenblack-blocklist/package.nix index 3dc5aeebce6e..d70d9763d26e 100644 --- a/pkgs/by-name/st/stevenblack-blocklist/package.nix +++ b/pkgs/by-name/st/stevenblack-blocklist/package.nix @@ -6,13 +6,13 @@ }: stdenvNoCC.mkDerivation (finalAttrs: { pname = "stevenblack-blocklist"; - version = "3.16.99"; + version = "3.16.102"; src = fetchFromGitHub { owner = "StevenBlack"; repo = "hosts"; tag = finalAttrs.version; - hash = "sha256-IZaEcG/u1zgJBxXc2Dyx0gxzpnmWQQ5NUyOrDBLiOXk="; + hash = "sha256-TzFQ0aOcIgdNHD7pmrMkdcv+V9ZNzqXnSOm4wBaLtwI="; }; outputs = [ From 8db7f5701d9078fc48d93bd44784bbac42ddd37b Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 30 Jul 2026 18:39:03 +0000 Subject: [PATCH 10/53] dgraph: 25.3.8 -> 25.4.0 --- pkgs/by-name/dg/dgraph/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/dg/dgraph/package.nix b/pkgs/by-name/dg/dgraph/package.nix index b2f4a1100b9c..e6eab01aa6f6 100644 --- a/pkgs/by-name/dg/dgraph/package.nix +++ b/pkgs/by-name/dg/dgraph/package.nix @@ -9,16 +9,16 @@ buildGoModule (finalAttrs: { pname = "dgraph"; - version = "25.3.8"; + version = "25.4.0"; src = fetchFromGitHub { owner = "dgraph-io"; repo = "dgraph"; tag = "v${finalAttrs.version}"; - hash = "sha256-RrOlJVkekZ3xWGtjc013YyCycJmlPowVzqrttnZD8BI="; + hash = "sha256-77uhpDyQhAbeQVGbAB2ZX1YATA5qAk8l5Y7PWhoJm9E="; }; - vendorHash = "sha256-gD91KGWLqd6a7YkqQSeW1eS2MQI+1/RbI5X1/Xwrz90="; + vendorHash = "sha256-Kr4qeoLsqK7qV7OMAvaY7fbzsxaP6bm9bdUZlmQYAug="; doCheck = false; From 5fe0cfac84303a20cf486f88f6b42de90e76bd5e Mon Sep 17 00:00:00 2001 From: oeilvert Date: Fri, 31 Jul 2026 03:44:59 +0900 Subject: [PATCH 11/53] nixos/librechat: fix undefined cfg.port in openFirewall option The openFirewall option referenced the non-existent cfg.port, causing evaluation to fail with an 'attribute port missing' error whenever it was set to true. Use cfg.env.PORT instead, which is where the actual listen port is stored. Assisted-by: Claude (Sonnet 5) --- nixos/modules/services/web-apps/librechat.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/services/web-apps/librechat.nix b/nixos/modules/services/web-apps/librechat.nix index 932f81404af3..87dbb08823c9 100644 --- a/nixos/modules/services/web-apps/librechat.nix +++ b/nixos/modules/services/web-apps/librechat.nix @@ -218,7 +218,7 @@ in } ]; - networking.firewall.allowedTCPPorts = lib.optional cfg.openFirewall cfg.port; + networking.firewall.allowedTCPPorts = lib.optional cfg.openFirewall (lib.toInt cfg.env.PORT); systemd.tmpfiles.settings."10-librechat"."${cfg.dataDir}".d = { mode = "0755"; From e582e42fe8f9e4ad6e09cbe202bc958f06dfbd20 Mon Sep 17 00:00:00 2001 From: kilianar Date: Fri, 31 Jul 2026 08:03:36 +0200 Subject: [PATCH 12/53] portfolio: 0.86.0 -> 0.86.1 https://github.com/portfolio-performance/portfolio/releases/tag/0.86.1 --- pkgs/by-name/po/portfolio/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/po/portfolio/package.nix b/pkgs/by-name/po/portfolio/package.nix index a6f456284a49..21dcea6107ca 100644 --- a/pkgs/by-name/po/portfolio/package.nix +++ b/pkgs/by-name/po/portfolio/package.nix @@ -48,11 +48,11 @@ let in stdenvNoCC.mkDerivation (finalAttrs: { pname = "PortfolioPerformance"; - version = "0.86.0"; + version = "0.86.1"; src = fetchurl { url = "https://github.com/buchen/portfolio/releases/download/${finalAttrs.version}/PortfolioPerformance-${finalAttrs.version}-linux.gtk.x86_64.tar.gz"; - hash = "sha256-7qSWHlHKIzqHO5iCbi+y0+u7OoIC9tUYL1e0mpAHAWM="; + hash = "sha256-iTHtIuSVapNc5ZckIIfDXYpMP2PiYLV8JojuqQ9nl9E="; }; nativeBuildInputs = [ From 7410277e3a18e3da04aed3122ee3254f5747dc8a Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 31 Jul 2026 06:36:05 +0000 Subject: [PATCH 13/53] vscode-extensions.charliermarsh.ruff: 2026.62.0 -> 2026.68.0 --- .../vscode/extensions/charliermarsh.ruff/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/applications/editors/vscode/extensions/charliermarsh.ruff/default.nix b/pkgs/applications/editors/vscode/extensions/charliermarsh.ruff/default.nix index 80c7a5e9e731..df082efe8b47 100644 --- a/pkgs/applications/editors/vscode/extensions/charliermarsh.ruff/default.nix +++ b/pkgs/applications/editors/vscode/extensions/charliermarsh.ruff/default.nix @@ -12,22 +12,22 @@ vscode-utils.buildVscodeMarketplaceExtension { sources = { "x86_64-linux" = { arch = "linux-x64"; - hash = "sha256-YB+PtOdmsNfDuWl1U5g2HxnaXTmWBOnInVwoAcc2rwk="; + hash = "sha256-aEcYKsmZstFbSNybBLwtsrQu2P3cXeUSx+bb/fX52p4="; }; "aarch64-linux" = { arch = "linux-arm64"; - hash = "sha256-K6KjMMJHqwTlwHZuINHSSXG5R99b8w4SRkXcCBtf0d4="; + hash = "sha256-2B9jbLjYp2Dj+cqECeX7gCfB34Yoy8o3jTdzLd7ZLbc="; }; "aarch64-darwin" = { arch = "darwin-arm64"; - hash = "sha256-D7bHjKOvaJj98vuPW53kHieGYIXOLft4OkpuG0AX9Rc="; + hash = "sha256-TGX0gaKZcvEWYz+Z/1tVTaE+6xbcTRR+Tb7JHVSAXkc="; }; }; in { name = "ruff"; publisher = "charliermarsh"; - version = "2026.62.0"; + version = "2026.68.0"; } // sources.${stdenvNoCC.hostPlatform.system} or (throw "Unsupported system ${stdenvNoCC.hostPlatform.system}"); From d0995d75555efd115cbf539a1107129742050b56 Mon Sep 17 00:00:00 2001 From: tea Date: Fri, 31 Jul 2026 10:36:57 +0200 Subject: [PATCH 14/53] cosmic-monitor: enable GPU monitoring --- pkgs/by-name/co/cosmic-monitor/package.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/by-name/co/cosmic-monitor/package.nix b/pkgs/by-name/co/cosmic-monitor/package.nix index 5606bf8d0da3..120673e3306b 100644 --- a/pkgs/by-name/co/cosmic-monitor/package.nix +++ b/pkgs/by-name/co/cosmic-monitor/package.nix @@ -5,6 +5,7 @@ fetchFromGitHub, just, libcosmicAppHook, + autoAddDriverRunpath, nixosTests, nix-update-script, }: @@ -30,6 +31,7 @@ rustPlatform.buildRustPackage (finalAttrs: { just libcosmicAppHook rustPlatform.bindgenHook + autoAddDriverRunpath # for GPU monitoring ]; dontUseJustBuild = true; From 4145ba7dfde33bb693b7aee7e819e27517a235fa Mon Sep 17 00:00:00 2001 From: dramforever Date: Fri, 31 Jul 2026 19:41:00 +0800 Subject: [PATCH 15/53] nixos/ifstate: Fix systemd package references pkgs.systemd does not respect config.systemd.package and config.boot.initrd.systemd.package overrides. Fix references to the systemd package to ensure that the udevadm used is copied into the initrd. While we're at it, fix the non-initrd reference to systemd as well. --- nixos/modules/services/networking/ifstate.nix | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/nixos/modules/services/networking/ifstate.nix b/nixos/modules/services/networking/ifstate.nix index ef44463ba9cf..a1aeeda26b8c 100644 --- a/nixos/modules/services/networking/ifstate.nix +++ b/nixos/modules/services/networking/ifstate.nix @@ -87,12 +87,6 @@ let "network.target" ]; - # We wait for the udev events queue to empty in the *hope* that the - # devices needed here become available. This is terribly broken and - # essentially no better than a random sleep(). - # FIXME: use .device units dependecies instead. - serviceConfig.ExecStartPre = "-${lib.getExe' pkgs.systemd "udevadm"} settle --timeout=180"; - unitConfig = { # Avoid default dependencies like "basic.target", which prevents ifstate from starting before luks is unlocked. DefaultDependencies = "no"; @@ -193,6 +187,13 @@ in ExecStart = "${lib.getExe cfg.package} --config ${ config.environment.etc."ifstate/ifstate.yaml".source } apply"; + + # We wait for the udev events queue to empty in the *hope* that the + # devices needed here become available. This is terribly broken and + # essentially no better than a random sleep(). Same below for initrd. + # FIXME: use .device units dependecies instead. + ExecStartPre = "-${lib.getExe' config.systemd.package "udevadm"} settle --timeout=180"; + # because oneshot services do not have a timeout by default TimeoutStartSec = "2min"; }; @@ -294,6 +295,8 @@ in } apply"; # because oneshot services do not have a timeout by default TimeoutStartSec = "2min"; + # See comment on non-initrd service above + ExecStartPre = "-${lib.getExe' config.boot.initrd.systemd.package "udevadm"} settle --timeout=180"; }; }; }; From 60be170a3a6693186e1472d594188147c2fa7dc1 Mon Sep 17 00:00:00 2001 From: dramforever Date: Fri, 31 Jul 2026 19:42:53 +0800 Subject: [PATCH 16/53] nixos/tests/predictable-interface-names: Fix systemd reference pkgs.systemd does not respect config.systemd.package and config.boot.initrd.systemd.package overrides. Fix references to the systemd package to ensure that the udevadm used is copied into the initrd. --- nixos/tests/predictable-interface-names.nix | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/nixos/tests/predictable-interface-names.nix b/nixos/tests/predictable-interface-names.nix index 6282c433bae7..f1f0f80fea0e 100644 --- a/nixos/tests/predictable-interface-names.nix +++ b/nixos/tests/predictable-interface-names.nix @@ -43,10 +43,15 @@ pkgs.lib.listToAttrs ( meta = { }; nodes.machine = - { pkgs, lib, ... }: + { + config, + pkgs, + lib, + ... + }: let script = '' - ${lib.getExe' pkgs.systemd "udevadm"} settle --timeout=180 + ${lib.getExe' config.boot.initrd.systemd.package "udevadm"} settle --timeout=180 ip link if ${lib.optionalString predictable "!"} ip link show eth0; then echo Success From 61847bbf3b5db147ff43e306e98ba52fec4bc53b Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 31 Jul 2026 12:36:58 +0000 Subject: [PATCH 17/53] wastebin: 3.7.0 -> 3.7.1 --- pkgs/by-name/wa/wastebin/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/wa/wastebin/package.nix b/pkgs/by-name/wa/wastebin/package.nix index f4b5d79b2eaf..5a58c2eaeae4 100644 --- a/pkgs/by-name/wa/wastebin/package.nix +++ b/pkgs/by-name/wa/wastebin/package.nix @@ -10,16 +10,16 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "wastebin"; - version = "3.7.0"; + version = "3.7.1"; src = fetchFromGitHub { owner = "matze"; repo = "wastebin"; rev = finalAttrs.version; - hash = "sha256-uWr2xJjWcm0WmOB6eD2pdzUch7HSk9KdHV31FoYHr0E="; + hash = "sha256-HwJlulSvhqBIrV3Dk/kpDj4+yEsX6gOA4kzWzpRPfbE="; }; - cargoHash = "sha256-m5cO3J4LryO+pS991DkS+4J6dw8ltP9sJR88FVGdsdw="; + cargoHash = "sha256-+p+EM5ggCpuEo/cEwjcdjJd8HahCwpn8QGdmRjJIijA="; nativeBuildInputs = [ pkg-config From 041d0576a2a5f27b294f44a215c885944298c856 Mon Sep 17 00:00:00 2001 From: Stzx Date: Fri, 31 Jul 2026 20:41:24 +0800 Subject: [PATCH 18/53] Revert "fluent-gtk-theme: remove" This reverts commit 1f5996fd40228f5958b40022af6dcc60a568ddd5. --- pkgs/by-name/fl/fluent-gtk-theme/package.nix | 111 +++++++++++++++++++ pkgs/top-level/aliases.nix | 1 - 2 files changed, 111 insertions(+), 1 deletion(-) create mode 100644 pkgs/by-name/fl/fluent-gtk-theme/package.nix diff --git a/pkgs/by-name/fl/fluent-gtk-theme/package.nix b/pkgs/by-name/fl/fluent-gtk-theme/package.nix new file mode 100644 index 000000000000..5bbc44052e29 --- /dev/null +++ b/pkgs/by-name/fl/fluent-gtk-theme/package.nix @@ -0,0 +1,111 @@ +{ + lib, + stdenvNoCC, + fetchFromGitHub, + gitUpdater, + gtk-engine-murrine, + jdupes, + sassc, + themeVariants ? [ ], # default: blue + colorVariants ? [ ], # default: all + sizeVariants ? [ ], # default: standard + tweaks ? [ ], +}: + +let + pname = "fluent-gtk-theme"; +in +lib.checkListOfEnum "${pname}: theme variants" + [ + "default" + "purple" + "pink" + "red" + "orange" + "yellow" + "green" + "teal" + "grey" + "all" + ] + themeVariants + lib.checkListOfEnum + "${pname}: color variants" + [ + "standard" + "light" + "dark" + ] + colorVariants + lib.checkListOfEnum + "${pname}: size variants" + [ + "standard" + "compact" + ] + sizeVariants + lib.checkListOfEnum + "${pname}: tweaks" + [ + "solid" + "float" + "round" + "blur" + "noborder" + "square" + ] + tweaks + + stdenvNoCC.mkDerivation + (finalAttrs: { + inherit pname; + version = "2025-04-17"; + + src = fetchFromGitHub { + owner = "vinceliuice"; + repo = "fluent-gtk-theme"; + rev = finalAttrs.version; + hash = "sha256-AaFj9lG9lWg0a0ksJ0ufoUpsunR3uDhcdb7oSrvAmPI="; + }; + + nativeBuildInputs = [ + jdupes + sassc + ]; + + propagatedUserEnvPkgs = [ gtk-engine-murrine ]; + + postPatch = '' + patchShebangs install.sh + ''; + + installPhase = '' + runHook preInstall + + name= HOME="$TMPDIR" ./install.sh \ + ${lib.optionalString (themeVariants != [ ]) "--theme " + toString themeVariants} \ + ${lib.optionalString (colorVariants != [ ]) "--color " + toString colorVariants} \ + ${lib.optionalString (sizeVariants != [ ]) "--size " + toString sizeVariants} \ + ${lib.optionalString (tweaks != [ ]) "--tweaks " + toString tweaks} \ + --icon nixos \ + --dest $out/share/themes + + jdupes --quiet --link-soft --recurse $out/share + + runHook postInstall + ''; + + passthru.updateScript = gitUpdater { }; + + meta = { + description = "Fluent design gtk theme"; + changelog = "https://github.com/vinceliuice/Fluent-gtk-theme/releases/tag/${finalAttrs.version}"; + homepage = "https://github.com/vinceliuice/Fluent-gtk-theme"; + license = lib.licenses.gpl3Only; + platforms = lib.platforms.unix; + maintainers = with lib.maintainers; [ + luftmensch-luftmensch + romildo + ]; + }; + }) diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 8136fbc74b0d..f000038c4cb2 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -836,7 +836,6 @@ mapAliases { fltk13-minimal = warnAlias "'fltk13-minimal' has been renamed to 'fltk_1_3-minimal'" fltk_1_3-minimal; # Added 2026-01-14 fltk14 = warnAlias "'fltk14' has been renamed to 'fltk_1_4'" fltk_1_4; # Added 2026-01-14 fltk14-minimal = warnAlias "'fltk14-minimal' has been renamed to 'fltk_1_4-minimal'" fltk_1_4-minimal; # Added 2026-01-14 - fluent-gtk-theme = throw "'fluent-gtk-theme' has been removed because it depended on 'gtk-engine-murrine', which was removed because it was unmaintained upstream and depended on GTK 2."; # Added 2026-07-22 flut-renamer = throw "flut-renamer is unmaintained and has been removed"; # Added 2025-08-26 flutter324 = throw "flutter324 has been removed because it isn't updated anymore, and no packages in nixpkgs use it. If you still need it, use flutter.mkFlutter to get a custom version"; # Added 2025-10-28 flutter326 = throw "flutter326 has been removed because it isn't updated anymore, and no packages in nixpkgs use it. If you still need it, use flutter.mkFlutter to get a custom version"; # Added 2025-06-08 From d359b87f406ce467635d56bba2d5f415979d5bf0 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 31 Jul 2026 12:55:51 +0000 Subject: [PATCH 19/53] terramate: 0.17.1 -> 0.17.2 --- pkgs/by-name/te/terramate/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/te/terramate/package.nix b/pkgs/by-name/te/terramate/package.nix index 02fdbf1f698c..17d35e3375ad 100644 --- a/pkgs/by-name/te/terramate/package.nix +++ b/pkgs/by-name/te/terramate/package.nix @@ -7,16 +7,16 @@ buildGoModule (finalAttrs: { pname = "terramate"; - version = "0.17.1"; + version = "0.17.2"; src = fetchFromGitHub { owner = "terramate-io"; repo = "terramate"; rev = "v${finalAttrs.version}"; - hash = "sha256-jdhOuaSFcq3bw9cX+IJN233x4o76shMfZQDmyUiTWO4="; + hash = "sha256-NoQLxvby0sUA/tcyfJUMuNQukfQINS+v1oJDS0+ehJ0="; }; - vendorHash = "sha256-tjAsA8rxFE4zINc0Dpm2/5PpJ6BGYJiz059dBKCKsck="; + vendorHash = "sha256-vmweLyq9lr2V4ou2mzVnIaI8p63D9c0IVLKo8vYLm54="; # required for version info nativeBuildInputs = [ git ]; From d783e134c8ea967290507b3d057e50304a06de6e Mon Sep 17 00:00:00 2001 From: Stzx Date: Fri, 31 Jul 2026 20:54:04 +0800 Subject: [PATCH 20/53] fluent-gtk-theme: remove GTK2 --- pkgs/by-name/fl/fluent-gtk-theme/package.nix | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/fl/fluent-gtk-theme/package.nix b/pkgs/by-name/fl/fluent-gtk-theme/package.nix index 5bbc44052e29..2e76fe206f32 100644 --- a/pkgs/by-name/fl/fluent-gtk-theme/package.nix +++ b/pkgs/by-name/fl/fluent-gtk-theme/package.nix @@ -3,7 +3,6 @@ stdenvNoCC, fetchFromGitHub, gitUpdater, - gtk-engine-murrine, jdupes, sassc, themeVariants ? [ ], # default: blue @@ -73,10 +72,10 @@ lib.checkListOfEnum "${pname}: theme variants" sassc ]; - propagatedUserEnvPkgs = [ gtk-engine-murrine ]; - postPatch = '' patchShebangs install.sh + + sed -i '/"$THEME_DIR\/gtk-2.0/d' install.sh ''; installPhase = '' From 59337efb367b8fbbadbff8a89ac7a9798343690c Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 31 Jul 2026 14:21:23 +0000 Subject: [PATCH 21/53] clojure: 1.12.5.1654 -> 1.12.5.1664 --- pkgs/by-name/cl/clojure/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/cl/clojure/package.nix b/pkgs/by-name/cl/clojure/package.nix index 5e6ee69fd55c..15540c124036 100644 --- a/pkgs/by-name/cl/clojure/package.nix +++ b/pkgs/by-name/cl/clojure/package.nix @@ -15,12 +15,12 @@ stdenv.mkDerivation (finalAttrs: { pname = "clojure"; - version = "1.12.5.1654"; + version = "1.12.5.1664"; src = fetchurl { # https://github.com/clojure/brew-install/releases url = "https://github.com/clojure/brew-install/releases/download/${finalAttrs.version}/clojure-tools-${finalAttrs.version}.tar.gz"; - hash = "sha256-3IbMVrw3L87we9h/RGk+60thz19ENHiDh4Nk0Dtfs0I="; + hash = "sha256-d91oaJSAdK3Mk+g6eW+OjxWhqSvLG5AC1xX9IhDkdvM="; }; nativeBuildInputs = [ From 7ed6b9d5d439bea8ecf1bdea4f133ae957d446d0 Mon Sep 17 00:00:00 2001 From: HigherOrderLogic <73709188+HigherOrderLogic@users.noreply.github.com> Date: Fri, 31 Jul 2026 15:11:37 +0000 Subject: [PATCH 22/53] dioxus-cli: 0.7.9 -> 0.7.10 --- pkgs/by-name/di/dioxus-cli/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/di/dioxus-cli/package.nix b/pkgs/by-name/di/dioxus-cli/package.nix index ce34b458922b..746f686683a2 100644 --- a/pkgs/by-name/di/dioxus-cli/package.nix +++ b/pkgs/by-name/di/dioxus-cli/package.nix @@ -17,15 +17,15 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "dioxus-cli"; - version = "0.7.9"; + version = "0.7.10"; src = fetchCrate { pname = "dioxus-cli"; version = finalAttrs.version; - hash = "sha256-tLMtUlohSJt3okdJh+ARweQNGmzj/vYiNl8iZhDbSAc="; + hash = "sha256-kPzo5zRSVs46SjiDRKpKxca8kPcWUgqc/LMKQsk0sC8="; }; - cargoHash = "sha256-h5wkxHP8ehZLHqcUsro08/dpqSPnPuBbZuUGG8i4nBc="; + cargoHash = "sha256-cvBVIkIqBjXFifYNpL2DqZpQcBaX/59Xw0ZJKUvUcIs="; buildFeatures = [ "no-downloads" ] From 1b65f5f2a1fa7114623e4a679a077a05284dfa16 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 31 Jul 2026 15:51:14 +0000 Subject: [PATCH 23/53] talhelper: 3.1.14 -> 3.1.15 --- pkgs/by-name/ta/talhelper/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ta/talhelper/package.nix b/pkgs/by-name/ta/talhelper/package.nix index a064b76d8a62..2641eec0b996 100644 --- a/pkgs/by-name/ta/talhelper/package.nix +++ b/pkgs/by-name/ta/talhelper/package.nix @@ -9,13 +9,13 @@ buildGoModule (finalAttrs: { pname = "talhelper"; - version = "3.1.14"; + version = "3.1.15"; src = fetchFromGitHub { owner = "budimanjojo"; repo = "talhelper"; tag = "v${finalAttrs.version}"; - hash = "sha256-vFI7xKnxEoqNcBKW+FSNXHNz6g1pb2zq0eiAc5AbcQA="; + hash = "sha256-1jvUf/YsCdj/zJ+BoIv+52CobScWMlc+hIHUN9VPN04="; }; vendorHash = "sha256-mXM7c6T5qcAHez5QrmxFmGE0DLyL2RADIFTdrQaH2GQ="; From b3dddddd68de25ba409f1abdc549fa4c672cf8fd Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 31 Jul 2026 15:56:42 +0000 Subject: [PATCH 24/53] civicrm: 6.16.1 -> 6.16.2 --- pkgs/by-name/ci/civicrm/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ci/civicrm/package.nix b/pkgs/by-name/ci/civicrm/package.nix index b2e80c642a92..0d2fbef7b174 100644 --- a/pkgs/by-name/ci/civicrm/package.nix +++ b/pkgs/by-name/ci/civicrm/package.nix @@ -5,7 +5,7 @@ }: php.buildComposerProject2 (finalAttrs: { pname = "civicrm-core"; - version = "6.16.1"; + version = "6.16.2"; __structuredAttrs = true; strictDeps = true; dontUnpack = false; @@ -14,10 +14,10 @@ php.buildComposerProject2 (finalAttrs: { owner = "civicrm"; repo = "civicrm-core"; tag = finalAttrs.version; - hash = "sha256-T56hljO656dwXccSlJjGzdHlYfqMUe3Mqzr/xSF/fHE="; + hash = "sha256-aIjQ0d/JseuHQKrph5dD8juUnZa/Krh9L6vN4GUqncE="; }; - vendorHash = "sha256-PTDBSTm7C4ygF/YqV1pnHrjzfJ/Kqud1ICq1ObaledQ="; + vendorHash = "sha256-cuePs/kZx+cpCvG8r9eDmccyEFfL7G9zfD5tpzD5CJE="; installPhase = '' runHook preInstall From eee8e3f4570a84fe66caa433445de037dd2d2bb5 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 31 Jul 2026 17:24:05 +0000 Subject: [PATCH 25/53] expresslrs-configurator: 1.8.2 -> 1.8.3 --- pkgs/by-name/ex/expresslrs-configurator/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ex/expresslrs-configurator/package.nix b/pkgs/by-name/ex/expresslrs-configurator/package.nix index 11d43e3febc5..af5177cf5685 100644 --- a/pkgs/by-name/ex/expresslrs-configurator/package.nix +++ b/pkgs/by-name/ex/expresslrs-configurator/package.nix @@ -12,7 +12,7 @@ let pname = "expresslrs-configurator"; - version = "1.8.2"; + version = "1.8.3"; installPath = "share/${pname}"; resourcesPath = "${installPath}/resources"; in @@ -22,7 +22,7 @@ stdenv.mkDerivation { src = fetchzip { url = "https://github.com/ExpressLRS/ExpressLRS-Configurator/releases/download/v${version}/${pname}-${version}.zip"; stripRoot = false; - hash = "sha256-fVERT1JkXYwEqP0UJZZxT8AgkEMRzlvSqWPM4Zo9KXU="; + hash = "sha256-KoT9YoeAkYrr9FIS7+Lm1CafTNwvV+jLTYYHziCVvrs="; }; nativeBuildInputs = [ From 6ef6a0303d1f9fb0f7c8894793affcc0bb7e8a1d Mon Sep 17 00:00:00 2001 From: Austin Eschweiler Date: Fri, 31 Jul 2026 13:50:41 -0500 Subject: [PATCH 26/53] pocket-id: 2.11.0 -> 2.12.0 --- pkgs/by-name/po/pocket-id/package.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/po/pocket-id/package.nix b/pkgs/by-name/po/pocket-id/package.nix index 8168c2ed9549..f277b4114f8d 100644 --- a/pkgs/by-name/po/pocket-id/package.nix +++ b/pkgs/by-name/po/pocket-id/package.nix @@ -14,18 +14,18 @@ }: buildGo127Module (finalAttrs: { pname = "pocket-id"; - version = "2.11.0"; + version = "2.12.0"; src = fetchFromGitHub { owner = "pocket-id"; repo = "pocket-id"; tag = "v${finalAttrs.version}"; - hash = "sha256-keib2ebju6hKlH1XJQRBmXwxBsUnVZOIs+djvYkXYqU="; + hash = "sha256-n9yqZs8RlgJk+NByRJ7a+HRY4YkQNNH7xY02BSy/RhE="; }; sourceRoot = "${finalAttrs.src.name}/backend"; - vendorHash = "sha256-/5lXAnb2FHeGBgrpU4Jpt2KX+sgGyYH61odppTaulbs="; + vendorHash = "sha256-BGIF9ZhPAJrUvX1cahe3EyWM3QLIfkkZaChaBign7io="; env.CGO_ENABLED = 0; ldflags = [ @@ -67,7 +67,7 @@ buildGo127Module (finalAttrs: { inherit (finalAttrs) pname version src; pnpm = pnpm_10; fetcherVersion = 4; - hash = "sha256-aJq5yLeeHY7zlOgSr1bOJCL8e1HBwCmoL7nTD2a06tg="; + hash = "sha256-iXWR3idBiafZXCrt1M7UCJQJsA+IL2AU6pRJI7MdY1E="; }; env.BUILD_OUTPUT_PATH = "dist"; From 3f0fdbd52d93b672298ef370540945e218ddb6e2 Mon Sep 17 00:00:00 2001 From: Austin Eschweiler Date: Fri, 31 Jul 2026 13:52:24 -0500 Subject: [PATCH 27/53] pocket-id: add esch to maintainers --- pkgs/by-name/po/pocket-id/package.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/by-name/po/pocket-id/package.nix b/pkgs/by-name/po/pocket-id/package.nix index f277b4114f8d..c10b14930880 100644 --- a/pkgs/by-name/po/pocket-id/package.nix +++ b/pkgs/by-name/po/pocket-id/package.nix @@ -107,6 +107,7 @@ buildGo127Module (finalAttrs: { marcusramberg tmarkus ymstnt + esch ]; platforms = lib.platforms.unix; }; From 955ba5281f998413510b6297e390b988fccbf1ea Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 31 Jul 2026 20:35:12 +0000 Subject: [PATCH 28/53] nextvi: 7.0 -> 7.1 --- pkgs/by-name/ne/nextvi/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ne/nextvi/package.nix b/pkgs/by-name/ne/nextvi/package.nix index 16ecd75d1520..6f1c4b6d37a1 100644 --- a/pkgs/by-name/ne/nextvi/package.nix +++ b/pkgs/by-name/ne/nextvi/package.nix @@ -7,13 +7,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "nextvi"; - version = "7.0"; + version = "7.1"; src = fetchFromGitHub { owner = "kyx0r"; repo = "nextvi"; tag = finalAttrs.version; - hash = "sha256-corF/cPmkCkpqg2UVLrMHL33pgp3ffBohbQzq95b+Ws="; + hash = "sha256-2GvSnTV+NUACDvJq0WtpvoQpDBlPmrYBWjKsMHpVB+s="; }; nativeBuildInputs = [ installShellFiles ]; From f614e4bb2d0cc1fdef44d57dd1f9db8a5d3f323b Mon Sep 17 00:00:00 2001 From: BatteredBunny Date: Sat, 1 Aug 2026 01:05:37 +0300 Subject: [PATCH 29/53] plezy: 2.10.0 -> 2.11.0 --- pkgs/by-name/pl/plezy/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/pl/plezy/package.nix b/pkgs/by-name/pl/plezy/package.nix index ec92821157cd..9ac41d7d0bcd 100644 --- a/pkgs/by-name/pl/plezy/package.nix +++ b/pkgs/by-name/pl/plezy/package.nix @@ -27,13 +27,13 @@ let pname = "plezy"; - version = "2.10.0"; + version = "2.11.0"; src = fetchFromGitHub { owner = "edde746"; repo = "plezy"; tag = version; - hash = "sha256-82OPOad3ti+5Eec8U3vEJaAE12+ViQb+P7ZhMhEplL8="; + hash = "sha256-nv2hYuPZEUkmcM7sVzmcKZm17CHjxmEWlXLdCPKFXU0="; }; simdutf = fetchurl { @@ -146,7 +146,7 @@ let src = fetchurl { url = "https://github.com/edde746/plezy/releases/download/${version}/plezy-macos.dmg"; - hash = "sha256-lwO34G2w4hAju06z3/HwI3Tq7dHhgWZD4HxShby8OYg="; + hash = "sha256-cqanTS+PSsdtg9AF/yiVezq8ydgNfVdXEN8DHRLByM8="; }; nativeBuildInputs = [ From fb96139603f7e82a948ece76632302ec76ed8f6a Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Sat, 1 Aug 2026 00:04:30 +0000 Subject: [PATCH 30/53] python3Packages.trafilatura: 2.1.0 -> 2.2.0 Diff: https://github.com/adbar/trafilatura/compare/v2.1.0...v2.2.0 Changelog: https://github.com/adbar/trafilatura/blob/v2.2.0/HISTORY.md --- .../python-modules/trafilatura/default.nix | 24 +++++++------------ 1 file changed, 9 insertions(+), 15 deletions(-) diff --git a/pkgs/development/python-modules/trafilatura/default.nix b/pkgs/development/python-modules/trafilatura/default.nix index 9feb0e285720..034c72ea69c2 100644 --- a/pkgs/development/python-modules/trafilatura/default.nix +++ b/pkgs/development/python-modules/trafilatura/default.nix @@ -16,12 +16,14 @@ urllib3, # tests + addBinToPathHook, pytestCheckHook, + versionCheckHook, }: buildPythonPackage (finalAttrs: { pname = "trafilatura"; - version = "2.1.0"; + version = "2.2.0"; pyproject = true; __structuredAttrs = true; @@ -29,23 +31,11 @@ buildPythonPackage (finalAttrs: { owner = "adbar"; repo = "trafilatura"; tag = "v${finalAttrs.version}"; - hash = "sha256-hSeJH+8JX8QC3zHMZ3+M2H0C3xI+BCvLnSo/Ih1wUQw="; + hash = "sha256-U6sqUuPQZiv7VMCJ5lLJ3qqdEBq60J82nHHlGdCOyX4="; }; - postPatch = - # nixify path to the trafilatura binary in the test suite - '' - substituteInPlace tests/cli_tests.py \ - --replace-fail \ - 'trafilatura_bin = "trafilatura"' \ - 'trafilatura_bin = "${placeholder "out"}/bin/trafilatura"' - ''; - build-system = [ setuptools ]; - pythonRelaxDeps = [ - "lxml" - ]; dependencies = [ certifi charset-normalizer @@ -56,7 +46,11 @@ buildPythonPackage (finalAttrs: { urllib3 ]; - nativeCheckInputs = [ pytestCheckHook ]; + nativeCheckInputs = [ + addBinToPathHook # tests need to execute the trafilatura binary + pytestCheckHook + versionCheckHook + ]; disabledTests = [ # Disable tests that require an internet connection From ac1af7ea79ed248f59397b39ea3a0fa76924f50b Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Sat, 1 Aug 2026 00:24:26 +0000 Subject: [PATCH 31/53] python3Packages.pure-magic-rs: 0.3.3 -> 0.4.3 Diff: https://github.com/qjerome/magic-rs/compare/pure-magic-v0.3.3...pure-magic-rs-v0.4.3 --- .../python-modules/pure-magic-rs/default.nix | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/pkgs/development/python-modules/pure-magic-rs/default.nix b/pkgs/development/python-modules/pure-magic-rs/default.nix index 34353e6503fb..0f2f70b11575 100644 --- a/pkgs/development/python-modules/pure-magic-rs/default.nix +++ b/pkgs/development/python-modules/pure-magic-rs/default.nix @@ -8,13 +8,14 @@ buildPythonPackage (finalAttrs: { pname = "pure-magic-rs"; - version = "0.3.3"; + version = "0.4.3"; pyproject = true; + __structuredAttrs = true; src = fetchFromGitHub { owner = "qjerome"; repo = "magic-rs"; - tag = "pure-magic-v${finalAttrs.version}"; + tag = "pure-magic-rs-v${finalAttrs.version}"; hash = "sha256-cvCAiZSyB+9tNydfco9YGU5NA6Ja/SCsVeYJvuKitGo="; }; @@ -30,7 +31,9 @@ buildPythonPackage (finalAttrs: { maturinBuildHook ]; - nativeCheckInputs = [ pytestCheckHook ]; + nativeCheckInputs = [ + pytestCheckHook + ]; pythonImportsCheck = [ "pure_magic_rs" ]; @@ -39,6 +42,5 @@ buildPythonPackage (finalAttrs: { homepage = "https://github.com/qjerome/magic-rs"; license = lib.licenses.gpl3Only; maintainers = with lib.maintainers; [ fab ]; - mainProgram = "pure-magic-rs"; }; }) From 9b344f1e9488e3f5c0d5f535c0a1e84009df4422 Mon Sep 17 00:00:00 2001 From: Vinicius Deolindo Date: Fri, 31 Jul 2026 18:00:54 -0300 Subject: [PATCH 32/53] jujutsu: add `nushell` completions --- pkgs/by-name/ju/jujutsu/package.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/by-name/ju/jujutsu/package.nix b/pkgs/by-name/ju/jujutsu/package.nix index c8da060e028f..6fcc3e67be88 100644 --- a/pkgs/by-name/ju/jujutsu/package.nix +++ b/pkgs/by-name/ju/jujutsu/package.nix @@ -69,6 +69,7 @@ rustPlatform.buildRustPackage (finalAttrs: { installShellCompletion --cmd jj \ --bash <(COMPLETE=bash ${jj}) \ --fish <(COMPLETE=fish ${jj}) \ + --nushell <(${jj} util completion nushell) \ --zsh <(COMPLETE=zsh ${jj}) ''; From 81f9bba8b09f66044be8a5c05612e237636b1766 Mon Sep 17 00:00:00 2001 From: Vinicius Deolindo Date: Fri, 31 Jul 2026 21:43:06 -0300 Subject: [PATCH 33/53] starship: add `nushell` completions --- pkgs/by-name/st/starship/package.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/by-name/st/starship/package.nix b/pkgs/by-name/st/starship/package.nix index 877f887a9569..d24d03b9a61d 100644 --- a/pkgs/by-name/st/starship/package.nix +++ b/pkgs/by-name/st/starship/package.nix @@ -43,6 +43,7 @@ rustPlatform.buildRustPackage (finalAttrs: { installShellCompletion --cmd starship \ --bash <(${emulator} $out/bin/starship completions bash) \ --fish <(${emulator} $out/bin/starship completions fish) \ + --nushell <(${emulator} $out/bin/starship completions nushell) \ --zsh <(${emulator} $out/bin/starship completions zsh) '' ); From 376264ed871f6cee0d7d4063123202366694850e Mon Sep 17 00:00:00 2001 From: Vinicius Deolindo Date: Fri, 31 Jul 2026 21:43:14 -0300 Subject: [PATCH 34/53] zoxide: add `nushell` completions --- pkgs/by-name/zo/zoxide/package.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/by-name/zo/zoxide/package.nix b/pkgs/by-name/zo/zoxide/package.nix index 8e8eec5f254f..a9c71b308d18 100644 --- a/pkgs/by-name/zo/zoxide/package.nix +++ b/pkgs/by-name/zo/zoxide/package.nix @@ -62,6 +62,7 @@ rustPlatform.buildRustPackage (finalAttrs: { installShellCompletion --cmd zoxide \ --bash contrib/completions/zoxide.bash \ --fish contrib/completions/zoxide.fish \ + --nushell contrib/completions/zoxide.nu \ --zsh contrib/completions/_zoxide ''; From 7eba92554cf8d34c132ffd17e00281790a6b567d Mon Sep 17 00:00:00 2001 From: Adib Hanna Date: Fri, 31 Jul 2026 19:50:43 -0500 Subject: [PATCH 35/53] zennotes-desktop: 2.19.0 -> 2.20.2 --- pkgs/by-name/ze/zennotes-desktop/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ze/zennotes-desktop/package.nix b/pkgs/by-name/ze/zennotes-desktop/package.nix index 781b64ddb7d8..8712f4d89f91 100644 --- a/pkgs/by-name/ze/zennotes-desktop/package.nix +++ b/pkgs/by-name/ze/zennotes-desktop/package.nix @@ -13,14 +13,14 @@ buildNpmPackage (finalAttrs: { pname = "zennotes-desktop"; - version = "2.19.0"; - npmDepsHash = "sha256-z1njt74VvEpxO75bprGD3/eUsv1gH2GPIz6Svye+WYg="; + version = "2.20.2"; + npmDepsHash = "sha256-xm9VdnjAxeCi/wyD/otqlv0ioqb53eORcELoyPY7PK8="; src = fetchFromGitHub { owner = "ZenNotes"; repo = "zennotes"; tag = "v${finalAttrs.version}"; - hash = "sha256-pf90wkUMIJ9wGM8JzkTWv/CipJc0cBzeSozhKdGPCGw="; + hash = "sha256-t2VCOSpdpfRIEuck3kiJ9SWcnQzYEHbPDDRhnX2l0+k="; }; npmWorkspace = "apps/desktop"; From 7abb13d34e4616a15bd42acc61cdde33f874cb59 Mon Sep 17 00:00:00 2001 From: Stzx Date: Sat, 1 Aug 2026 09:25:46 +0800 Subject: [PATCH 36/53] maintainers: add stzx --- maintainers/maintainer-list.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 6501b3cbcadc..dcc2c6cf7d6d 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -27284,6 +27284,12 @@ githubId = 285829; keys = [ { fingerprint = "09BE 3BAE 8D55 D4CD 8579 285A 9675 EAC3 4897 E6E2"; } ]; }; + stzx = { + name = "Stzx"; + github = "Stzx"; + githubId = 19950702; + email = "silence.m@hotmail.com"; + }; SubhrajyotiSen = { email = "subhrajyoti12@gmail.com"; github = "SubhrajyotiSen"; From f8d6e92260573ea87c24c17eeb3030c2adaa1848 Mon Sep 17 00:00:00 2001 From: Stzx Date: Sat, 1 Aug 2026 09:33:33 +0800 Subject: [PATCH 37/53] fluent-gtk-theme: add maintainer stzx --- pkgs/by-name/fl/fluent-gtk-theme/package.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/by-name/fl/fluent-gtk-theme/package.nix b/pkgs/by-name/fl/fluent-gtk-theme/package.nix index 2e76fe206f32..291ff8b304b3 100644 --- a/pkgs/by-name/fl/fluent-gtk-theme/package.nix +++ b/pkgs/by-name/fl/fluent-gtk-theme/package.nix @@ -105,6 +105,7 @@ lib.checkListOfEnum "${pname}: theme variants" maintainers = with lib.maintainers; [ luftmensch-luftmensch romildo + stzx ]; }; }) From 531718e98f4ea379f5b0da66a4b3869ea59eb13a Mon Sep 17 00:00:00 2001 From: Benedikt Ritter Date: Sat, 1 Aug 2026 09:23:12 +0200 Subject: [PATCH 38/53] nextcloudPackages: update apps --- pkgs/servers/nextcloud/packages/32.json | 12 ++++++------ pkgs/servers/nextcloud/packages/33.json | 12 ++++++------ pkgs/servers/nextcloud/packages/34.json | 12 ++++++------ 3 files changed, 18 insertions(+), 18 deletions(-) diff --git a/pkgs/servers/nextcloud/packages/32.json b/pkgs/servers/nextcloud/packages/32.json index a3384180070a..7fad4fdedad2 100644 --- a/pkgs/servers/nextcloud/packages/32.json +++ b/pkgs/servers/nextcloud/packages/32.json @@ -190,9 +190,9 @@ ] }, "integration_deepl": { - "hash": "sha256-RHYxxZw/2/uDdZdf8kGYgGBlBi1rfgXUtTtr9lgr/20=", - "url": "https://github.com/nextcloud-releases/integration_deepl/releases/download/v2.2.0/integration_deepl-v2.2.0.tar.gz", - "version": "2.2.0", + "hash": "sha256-PMK1Z3oFVkN8WtgySidCLnp+SZ3xHkPfzI2xVBfBm/k=", + "url": "https://github.com/nextcloud-releases/integration_deepl/releases/download/v2.3.0/integration_deepl-v2.3.0.tar.gz", + "version": "2.3.0", "description": "Deepl integration providing an translations through deepl.com with Nextcloud\n\nThis app integrates with [Nextcloud Assistant](https://apps.nextcloud.com/apps/assistant) to offer translation services We recommend to install Assistant additionally and activate Deepl as translation provider in the Artifical Intelligence admin settings.\n\nThis app also integrates with the translation API of Nextcloud server to offer translation services without Assistant. Currently this is available in Text and Talk.\n\nTo run translations and any other Task Processing tasks synchronously, run the following command in a background process (10 is the interval in seconds when the process should relaunch to use the latest php changes):\n\n```sh\nset -e; while true; do occ background-job:worker -v -t 10 \"OC\\TaskProcessing\\SynchronousBackgroundJob\"; done\n```\n\n## Ethical AI Rating\n### Rating: πŸ”΄\n\nNegative:\n* the software for training and inferencing of this model is proprietary, limiting running it locally or training by yourself\n* the trained model is not freely available, so the model can not be ran on-premises\n* the training data is not freely available, limiting the ability of external parties to check and correct for bias or optimise the model’s performance and CO2 usage.\n\nLearn more about the Nextcloud Ethical AI Rating [in our blog](https://nextcloud.com/blog/nextcloud-ethical-ai-rating/).", "homepage": "https://github.com/nextcloud/integration_deepl", "licenses": [ @@ -310,9 +310,9 @@ ] }, "phonetrack": { - "hash": "sha256-bt/R1kZiTa9pWruKsAU01ni1d0AIy7vAOvIF8zwRhhw=", - "url": "https://github.com/julien-nc/phonetrack/releases/download/v1.3.1/phonetrack-1.3.1.tar.gz", - "version": "1.3.1", + "hash": "sha256-cinP3WFja6QjJYlQZcTKayHTheLjvnKY9s+CIJWKlcQ=", + "url": "https://github.com/julien-nc/phonetrack/releases/download/v1.3.2/phonetrack-1.3.2.tar.gz", + "version": "1.3.2", "description": "# PhoneTrack Nextcloud application\n\nπŸ“± PhoneTrack is a Nextcloud application to track and store mobile device's locations.\n\nπŸ—Ί It receives information from mobile phone's logging apps and displays it dynamically on a map.\n\n🌍 Help us to translate this app on [PhoneTrack Crowdin project](https://crowdin.com/project/phonetrack).\n\nβš’ Check out other ways to help in the [contribution guidelines](https://gitlab.com/eneiluj/phonetrack-oc/blob/master/CONTRIBUTING.md).\n\nHow to use PhoneTrack :\n\n- Create a tracking session.\n- Give the logging link\\* to the mobile devices. Choose the [logging method](https://github.com/julien-nc/phonetrack/blob/main/doc/user.md#logging-methods) you prefer.\n- Watch the session's devices location in real time (or not) in PhoneTrack or share it with public pages.\n\n(\\*) Don't forget to set the device name in the link (rather than in the logging app settings). Replace \"yourname\" with the desired device name.\nSetting the device name in logging app settings only works with Owntracks, Traccar and OpenGTS.\n\nOn PhoneTrack main page, while watching a session, you can :\n\n- πŸ“ Display location history\n- β›› Filter points\n- ✎ Manually edit/add/delete points\n- ✎ Edit devices (rename, change colour/shape, move to another session)\n- β›Ά Define geofencing zones for devices\n- βš‡ Define proximity alerts for device pairs\n- πŸ–§ Share a session to other Nextcloud users or with a public link (read-only)\n- πŸ”— Generate public share links with optional restrictions (filters, device name, last positions only, geofencing simplification)\n- πŸ–« Import/export a session in GPX format (one file with one track per device or one file per device)\n- πŸ—  Display sessions statistics\n- πŸ”’ [Reserve a device name](https://github.com/julien-nc/phonetrack/blob/main/doc/user.md#device-name-reservation) to make sure only authorized user can log with this name\n- πŸ—“ Toggle session auto export and auto purge (daily/weekly/monthly)\n- β—” Choose what to do when point number quota is reached (block logging or delete oldest point)\n\nPublic page and public filtered page work like main page except there is only one session displayed, everything is read-only and there is no need to be logged in.\n\nThis app is under development.\n\n## Install\n\nSee the [AdminDoc](https://gitlab.com/eneiluj/phonetrack-oc/wikis/admindoc) for installation details.\n\nCheck [CHANGELOG](https://gitlab.com/eneiluj/phonetrack-oc/blob/master/CHANGELOG.md#change-log) file to see what's new and what's coming in next release.\n\nCheck [AUTHORS](https://gitlab.com/eneiluj/phonetrack-oc/blob/master/AUTHORS.md#authors) file to see complete list of authors.\n\n## Known issues\n\n- PhoneTrack **now works** with Nextcloud group restriction activated. See [admindoc](https://github.com/julien-nc/phonetrack/blob/main/doc/admin.md#issue-with-phonetrack-restricted-to-some-groups-in-nextcloud).\n\nAny feedback will be appreciated.\n\n\n\n## Donation\n\nI develop this app during my free time.\n\n* [Donate with Paypal](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=66PALMY8SF5JE) (you don't need a paypal account)\n* [Donate with Liberapay : ![Donate using Liberapay](https://liberapay.com/assets/widgets/donate.svg)](https://liberapay.com/eneiluj/donate)", "homepage": "https://github.com/julien-nc/phonetrack", "licenses": [ diff --git a/pkgs/servers/nextcloud/packages/33.json b/pkgs/servers/nextcloud/packages/33.json index d604950ceeb5..e46944447184 100644 --- a/pkgs/servers/nextcloud/packages/33.json +++ b/pkgs/servers/nextcloud/packages/33.json @@ -190,9 +190,9 @@ ] }, "integration_deepl": { - "hash": "sha256-RHYxxZw/2/uDdZdf8kGYgGBlBi1rfgXUtTtr9lgr/20=", - "url": "https://github.com/nextcloud-releases/integration_deepl/releases/download/v2.2.0/integration_deepl-v2.2.0.tar.gz", - "version": "2.2.0", + "hash": "sha256-PMK1Z3oFVkN8WtgySidCLnp+SZ3xHkPfzI2xVBfBm/k=", + "url": "https://github.com/nextcloud-releases/integration_deepl/releases/download/v2.3.0/integration_deepl-v2.3.0.tar.gz", + "version": "2.3.0", "description": "Deepl integration providing an translations through deepl.com with Nextcloud\n\nThis app integrates with [Nextcloud Assistant](https://apps.nextcloud.com/apps/assistant) to offer translation services We recommend to install Assistant additionally and activate Deepl as translation provider in the Artifical Intelligence admin settings.\n\nThis app also integrates with the translation API of Nextcloud server to offer translation services without Assistant. Currently this is available in Text and Talk.\n\nTo run translations and any other Task Processing tasks synchronously, run the following command in a background process (10 is the interval in seconds when the process should relaunch to use the latest php changes):\n\n```sh\nset -e; while true; do occ background-job:worker -v -t 10 \"OC\\TaskProcessing\\SynchronousBackgroundJob\"; done\n```\n\n## Ethical AI Rating\n### Rating: πŸ”΄\n\nNegative:\n* the software for training and inferencing of this model is proprietary, limiting running it locally or training by yourself\n* the trained model is not freely available, so the model can not be ran on-premises\n* the training data is not freely available, limiting the ability of external parties to check and correct for bias or optimise the model’s performance and CO2 usage.\n\nLearn more about the Nextcloud Ethical AI Rating [in our blog](https://nextcloud.com/blog/nextcloud-ethical-ai-rating/).", "homepage": "https://github.com/nextcloud/integration_deepl", "licenses": [ @@ -310,9 +310,9 @@ ] }, "phonetrack": { - "hash": "sha256-bt/R1kZiTa9pWruKsAU01ni1d0AIy7vAOvIF8zwRhhw=", - "url": "https://github.com/julien-nc/phonetrack/releases/download/v1.3.1/phonetrack-1.3.1.tar.gz", - "version": "1.3.1", + "hash": "sha256-cinP3WFja6QjJYlQZcTKayHTheLjvnKY9s+CIJWKlcQ=", + "url": "https://github.com/julien-nc/phonetrack/releases/download/v1.3.2/phonetrack-1.3.2.tar.gz", + "version": "1.3.2", "description": "# PhoneTrack Nextcloud application\n\nπŸ“± PhoneTrack is a Nextcloud application to track and store mobile device's locations.\n\nπŸ—Ί It receives information from mobile phone's logging apps and displays it dynamically on a map.\n\n🌍 Help us to translate this app on [PhoneTrack Crowdin project](https://crowdin.com/project/phonetrack).\n\nβš’ Check out other ways to help in the [contribution guidelines](https://gitlab.com/eneiluj/phonetrack-oc/blob/master/CONTRIBUTING.md).\n\nHow to use PhoneTrack :\n\n- Create a tracking session.\n- Give the logging link\\* to the mobile devices. Choose the [logging method](https://github.com/julien-nc/phonetrack/blob/main/doc/user.md#logging-methods) you prefer.\n- Watch the session's devices location in real time (or not) in PhoneTrack or share it with public pages.\n\n(\\*) Don't forget to set the device name in the link (rather than in the logging app settings). Replace \"yourname\" with the desired device name.\nSetting the device name in logging app settings only works with Owntracks, Traccar and OpenGTS.\n\nOn PhoneTrack main page, while watching a session, you can :\n\n- πŸ“ Display location history\n- β›› Filter points\n- ✎ Manually edit/add/delete points\n- ✎ Edit devices (rename, change colour/shape, move to another session)\n- β›Ά Define geofencing zones for devices\n- βš‡ Define proximity alerts for device pairs\n- πŸ–§ Share a session to other Nextcloud users or with a public link (read-only)\n- πŸ”— Generate public share links with optional restrictions (filters, device name, last positions only, geofencing simplification)\n- πŸ–« Import/export a session in GPX format (one file with one track per device or one file per device)\n- πŸ—  Display sessions statistics\n- πŸ”’ [Reserve a device name](https://github.com/julien-nc/phonetrack/blob/main/doc/user.md#device-name-reservation) to make sure only authorized user can log with this name\n- πŸ—“ Toggle session auto export and auto purge (daily/weekly/monthly)\n- β—” Choose what to do when point number quota is reached (block logging or delete oldest point)\n\nPublic page and public filtered page work like main page except there is only one session displayed, everything is read-only and there is no need to be logged in.\n\nThis app is under development.\n\n## Install\n\nSee the [AdminDoc](https://gitlab.com/eneiluj/phonetrack-oc/wikis/admindoc) for installation details.\n\nCheck [CHANGELOG](https://gitlab.com/eneiluj/phonetrack-oc/blob/master/CHANGELOG.md#change-log) file to see what's new and what's coming in next release.\n\nCheck [AUTHORS](https://gitlab.com/eneiluj/phonetrack-oc/blob/master/AUTHORS.md#authors) file to see complete list of authors.\n\n## Known issues\n\n- PhoneTrack **now works** with Nextcloud group restriction activated. See [admindoc](https://github.com/julien-nc/phonetrack/blob/main/doc/admin.md#issue-with-phonetrack-restricted-to-some-groups-in-nextcloud).\n\nAny feedback will be appreciated.\n\n\n\n## Donation\n\nI develop this app during my free time.\n\n* [Donate with Paypal](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=66PALMY8SF5JE) (you don't need a paypal account)\n* [Donate with Liberapay : ![Donate using Liberapay](https://liberapay.com/assets/widgets/donate.svg)](https://liberapay.com/eneiluj/donate)", "homepage": "https://github.com/julien-nc/phonetrack", "licenses": [ diff --git a/pkgs/servers/nextcloud/packages/34.json b/pkgs/servers/nextcloud/packages/34.json index db603b4ebe44..7556d95e2540 100644 --- a/pkgs/servers/nextcloud/packages/34.json +++ b/pkgs/servers/nextcloud/packages/34.json @@ -190,9 +190,9 @@ ] }, "integration_deepl": { - "hash": "sha256-RHYxxZw/2/uDdZdf8kGYgGBlBi1rfgXUtTtr9lgr/20=", - "url": "https://github.com/nextcloud-releases/integration_deepl/releases/download/v2.2.0/integration_deepl-v2.2.0.tar.gz", - "version": "2.2.0", + "hash": "sha256-PMK1Z3oFVkN8WtgySidCLnp+SZ3xHkPfzI2xVBfBm/k=", + "url": "https://github.com/nextcloud-releases/integration_deepl/releases/download/v2.3.0/integration_deepl-v2.3.0.tar.gz", + "version": "2.3.0", "description": "Deepl integration providing an translations through deepl.com with Nextcloud\n\nThis app integrates with [Nextcloud Assistant](https://apps.nextcloud.com/apps/assistant) to offer translation services We recommend to install Assistant additionally and activate Deepl as translation provider in the Artifical Intelligence admin settings.\n\nThis app also integrates with the translation API of Nextcloud server to offer translation services without Assistant. Currently this is available in Text and Talk.\n\nTo run translations and any other Task Processing tasks synchronously, run the following command in a background process (10 is the interval in seconds when the process should relaunch to use the latest php changes):\n\n```sh\nset -e; while true; do occ background-job:worker -v -t 10 \"OC\\TaskProcessing\\SynchronousBackgroundJob\"; done\n```\n\n## Ethical AI Rating\n### Rating: πŸ”΄\n\nNegative:\n* the software for training and inferencing of this model is proprietary, limiting running it locally or training by yourself\n* the trained model is not freely available, so the model can not be ran on-premises\n* the training data is not freely available, limiting the ability of external parties to check and correct for bias or optimise the model’s performance and CO2 usage.\n\nLearn more about the Nextcloud Ethical AI Rating [in our blog](https://nextcloud.com/blog/nextcloud-ethical-ai-rating/).", "homepage": "https://github.com/nextcloud/integration_deepl", "licenses": [ @@ -310,9 +310,9 @@ ] }, "phonetrack": { - "hash": "sha256-bt/R1kZiTa9pWruKsAU01ni1d0AIy7vAOvIF8zwRhhw=", - "url": "https://github.com/julien-nc/phonetrack/releases/download/v1.3.1/phonetrack-1.3.1.tar.gz", - "version": "1.3.1", + "hash": "sha256-cinP3WFja6QjJYlQZcTKayHTheLjvnKY9s+CIJWKlcQ=", + "url": "https://github.com/julien-nc/phonetrack/releases/download/v1.3.2/phonetrack-1.3.2.tar.gz", + "version": "1.3.2", "description": "# PhoneTrack Nextcloud application\n\nπŸ“± PhoneTrack is a Nextcloud application to track and store mobile device's locations.\n\nπŸ—Ί It receives information from mobile phone's logging apps and displays it dynamically on a map.\n\n🌍 Help us to translate this app on [PhoneTrack Crowdin project](https://crowdin.com/project/phonetrack).\n\nβš’ Check out other ways to help in the [contribution guidelines](https://gitlab.com/eneiluj/phonetrack-oc/blob/master/CONTRIBUTING.md).\n\nHow to use PhoneTrack :\n\n- Create a tracking session.\n- Give the logging link\\* to the mobile devices. Choose the [logging method](https://github.com/julien-nc/phonetrack/blob/main/doc/user.md#logging-methods) you prefer.\n- Watch the session's devices location in real time (or not) in PhoneTrack or share it with public pages.\n\n(\\*) Don't forget to set the device name in the link (rather than in the logging app settings). Replace \"yourname\" with the desired device name.\nSetting the device name in logging app settings only works with Owntracks, Traccar and OpenGTS.\n\nOn PhoneTrack main page, while watching a session, you can :\n\n- πŸ“ Display location history\n- β›› Filter points\n- ✎ Manually edit/add/delete points\n- ✎ Edit devices (rename, change colour/shape, move to another session)\n- β›Ά Define geofencing zones for devices\n- βš‡ Define proximity alerts for device pairs\n- πŸ–§ Share a session to other Nextcloud users or with a public link (read-only)\n- πŸ”— Generate public share links with optional restrictions (filters, device name, last positions only, geofencing simplification)\n- πŸ–« Import/export a session in GPX format (one file with one track per device or one file per device)\n- πŸ—  Display sessions statistics\n- πŸ”’ [Reserve a device name](https://github.com/julien-nc/phonetrack/blob/main/doc/user.md#device-name-reservation) to make sure only authorized user can log with this name\n- πŸ—“ Toggle session auto export and auto purge (daily/weekly/monthly)\n- β—” Choose what to do when point number quota is reached (block logging or delete oldest point)\n\nPublic page and public filtered page work like main page except there is only one session displayed, everything is read-only and there is no need to be logged in.\n\nThis app is under development.\n\n## Install\n\nSee the [AdminDoc](https://gitlab.com/eneiluj/phonetrack-oc/wikis/admindoc) for installation details.\n\nCheck [CHANGELOG](https://gitlab.com/eneiluj/phonetrack-oc/blob/master/CHANGELOG.md#change-log) file to see what's new and what's coming in next release.\n\nCheck [AUTHORS](https://gitlab.com/eneiluj/phonetrack-oc/blob/master/AUTHORS.md#authors) file to see complete list of authors.\n\n## Known issues\n\n- PhoneTrack **now works** with Nextcloud group restriction activated. See [admindoc](https://github.com/julien-nc/phonetrack/blob/main/doc/admin.md#issue-with-phonetrack-restricted-to-some-groups-in-nextcloud).\n\nAny feedback will be appreciated.\n\n\n\n## Donation\n\nI develop this app during my free time.\n\n* [Donate with Paypal](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=66PALMY8SF5JE) (you don't need a paypal account)\n* [Donate with Liberapay : ![Donate using Liberapay](https://liberapay.com/assets/widgets/donate.svg)](https://liberapay.com/eneiluj/donate)", "homepage": "https://github.com/julien-nc/phonetrack", "licenses": [ From 0c27cbdd5cee49da38d4720be1b6a037df622517 Mon Sep 17 00:00:00 2001 From: Benedikt Ritter Date: Sat, 1 Aug 2026 09:28:52 +0200 Subject: [PATCH 39/53] nextcloudPackages: add pantry --- pkgs/servers/nextcloud/packages/32.json | 10 ++++++++++ pkgs/servers/nextcloud/packages/33.json | 10 ++++++++++ pkgs/servers/nextcloud/packages/34.json | 10 ++++++++++ pkgs/servers/nextcloud/packages/nextcloud-apps.json | 1 + 4 files changed, 31 insertions(+) diff --git a/pkgs/servers/nextcloud/packages/32.json b/pkgs/servers/nextcloud/packages/32.json index 7fad4fdedad2..afcfa4a94e7e 100644 --- a/pkgs/servers/nextcloud/packages/32.json +++ b/pkgs/servers/nextcloud/packages/32.json @@ -309,6 +309,16 @@ "agpl" ] }, + "pantry": { + "hash": "sha256-kPldsAVbpoJ+6kMWmh70j3HBTlzZibtbyr5tvT0ZcaA=", + "url": "https://github.com/chenasraf/nextcloud-pantry/releases/download/v0.24.0/pantry-v0.24.0.tar.gz", + "version": "0.24.0", + "description": "Pantry helps households stay organized in Nextcloud.\n\n- **Houses** group members and their shared data. A person can belong to multiple houses and switch between them freely.\n- **Checklists** support recurring items (e.g. milk every week) that automatically reappear when due. Share lists with the whole household so everyone knows what to pick up.\n- **Photo boards** let you keep shared reference photos organized in folders β€” the right brand of dog food, a favorite recipe card, a product label, and so on.\n- **Notes wall** gives the household a lightweight shared space for reminders, pinned messages, and quick notes with customizable colors.\n- **Notifications** keep everyone in the loop when photos are uploaded or notes are added or edited.\n\nAll data is scoped to a house; members only see the houses they belong to.\n\nPantry also has companion apps for mobile and desktop that let you manage your lists, photos and notes on the go and keep everything in sync with your Nextcloud instance.\n\n**Companion apps:** Android ([Google Play](https://play.google.com/store/apps/details?id=dev.casraf.pantry), [F-Droid](https://f-droid.org/en/packages/dev.casraf.pantry/)) | iOS/macOS ([App Store](https://apps.apple.com/us/app/pantry-for-nextcloud/id6762161619))", + "homepage": "https://github.com/chenasraf/nextcloud-pantry", + "licenses": [ + "agpl" + ] + }, "phonetrack": { "hash": "sha256-cinP3WFja6QjJYlQZcTKayHTheLjvnKY9s+CIJWKlcQ=", "url": "https://github.com/julien-nc/phonetrack/releases/download/v1.3.2/phonetrack-1.3.2.tar.gz", diff --git a/pkgs/servers/nextcloud/packages/33.json b/pkgs/servers/nextcloud/packages/33.json index e46944447184..2d698afffcae 100644 --- a/pkgs/servers/nextcloud/packages/33.json +++ b/pkgs/servers/nextcloud/packages/33.json @@ -309,6 +309,16 @@ "agpl" ] }, + "pantry": { + "hash": "sha256-kPldsAVbpoJ+6kMWmh70j3HBTlzZibtbyr5tvT0ZcaA=", + "url": "https://github.com/chenasraf/nextcloud-pantry/releases/download/v0.24.0/pantry-v0.24.0.tar.gz", + "version": "0.24.0", + "description": "Pantry helps households stay organized in Nextcloud.\n\n- **Houses** group members and their shared data. A person can belong to multiple houses and switch between them freely.\n- **Checklists** support recurring items (e.g. milk every week) that automatically reappear when due. Share lists with the whole household so everyone knows what to pick up.\n- **Photo boards** let you keep shared reference photos organized in folders β€” the right brand of dog food, a favorite recipe card, a product label, and so on.\n- **Notes wall** gives the household a lightweight shared space for reminders, pinned messages, and quick notes with customizable colors.\n- **Notifications** keep everyone in the loop when photos are uploaded or notes are added or edited.\n\nAll data is scoped to a house; members only see the houses they belong to.\n\nPantry also has companion apps for mobile and desktop that let you manage your lists, photos and notes on the go and keep everything in sync with your Nextcloud instance.\n\n**Companion apps:** Android ([Google Play](https://play.google.com/store/apps/details?id=dev.casraf.pantry), [F-Droid](https://f-droid.org/en/packages/dev.casraf.pantry/)) | iOS/macOS ([App Store](https://apps.apple.com/us/app/pantry-for-nextcloud/id6762161619))", + "homepage": "https://github.com/chenasraf/nextcloud-pantry", + "licenses": [ + "agpl" + ] + }, "phonetrack": { "hash": "sha256-cinP3WFja6QjJYlQZcTKayHTheLjvnKY9s+CIJWKlcQ=", "url": "https://github.com/julien-nc/phonetrack/releases/download/v1.3.2/phonetrack-1.3.2.tar.gz", diff --git a/pkgs/servers/nextcloud/packages/34.json b/pkgs/servers/nextcloud/packages/34.json index 7556d95e2540..fbf4bb205f2d 100644 --- a/pkgs/servers/nextcloud/packages/34.json +++ b/pkgs/servers/nextcloud/packages/34.json @@ -309,6 +309,16 @@ "agpl" ] }, + "pantry": { + "hash": "sha256-kPldsAVbpoJ+6kMWmh70j3HBTlzZibtbyr5tvT0ZcaA=", + "url": "https://github.com/chenasraf/nextcloud-pantry/releases/download/v0.24.0/pantry-v0.24.0.tar.gz", + "version": "0.24.0", + "description": "Pantry helps households stay organized in Nextcloud.\n\n- **Houses** group members and their shared data. A person can belong to multiple houses and switch between them freely.\n- **Checklists** support recurring items (e.g. milk every week) that automatically reappear when due. Share lists with the whole household so everyone knows what to pick up.\n- **Photo boards** let you keep shared reference photos organized in folders β€” the right brand of dog food, a favorite recipe card, a product label, and so on.\n- **Notes wall** gives the household a lightweight shared space for reminders, pinned messages, and quick notes with customizable colors.\n- **Notifications** keep everyone in the loop when photos are uploaded or notes are added or edited.\n\nAll data is scoped to a house; members only see the houses they belong to.\n\nPantry also has companion apps for mobile and desktop that let you manage your lists, photos and notes on the go and keep everything in sync with your Nextcloud instance.\n\n**Companion apps:** Android ([Google Play](https://play.google.com/store/apps/details?id=dev.casraf.pantry), [F-Droid](https://f-droid.org/en/packages/dev.casraf.pantry/)) | iOS/macOS ([App Store](https://apps.apple.com/us/app/pantry-for-nextcloud/id6762161619))", + "homepage": "https://github.com/chenasraf/nextcloud-pantry", + "licenses": [ + "agpl" + ] + }, "phonetrack": { "hash": "sha256-cinP3WFja6QjJYlQZcTKayHTheLjvnKY9s+CIJWKlcQ=", "url": "https://github.com/julien-nc/phonetrack/releases/download/v1.3.2/phonetrack-1.3.2.tar.gz", diff --git a/pkgs/servers/nextcloud/packages/nextcloud-apps.json b/pkgs/servers/nextcloud/packages/nextcloud-apps.json index af5d73fe8b4d..2e13179282ea 100644 --- a/pkgs/servers/nextcloud/packages/nextcloud-apps.json +++ b/pkgs/servers/nextcloud/packages/nextcloud-apps.json @@ -35,6 +35,7 @@ , "oidc_login": "agpl3Only" , "onlyoffice": "asl20" , "phonetrack": "agpl3Plus" +, "pantry": "agpl3Plus" , "polls": "agpl3Plus" , "previewgenerator": "agpl3Plus" , "qownnotesapi": "agpl3Plus" From 104bfcda76e65b98e6a0dec08f6a568fcf423689 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sat, 1 Aug 2026 07:47:50 +0000 Subject: [PATCH 40/53] lianad: 14.0 -> 15.0 --- pkgs/by-name/li/lianad/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/li/lianad/package.nix b/pkgs/by-name/li/lianad/package.nix index 9930dde43f7a..7716079c5e3d 100644 --- a/pkgs/by-name/li/lianad/package.nix +++ b/pkgs/by-name/li/lianad/package.nix @@ -8,16 +8,16 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "lianad"; - version = "14.0"; # keep in sync with liana + version = "15.0"; # keep in sync with liana src = fetchFromGitHub { owner = "wizardsardine"; repo = "liana"; rev = "v${finalAttrs.version}"; - hash = "sha256-1d+icjk1NamlvEx4Xb1Ao4d1hb/t5aBwho+yCtHF9y4="; + hash = "sha256-mRBhpf4Risuq4TQ1y/5lWTOxN2RMHcZ2SC2BpbsOdhA="; }; - cargoHash = "sha256-9CWJIRby6QWJmkYSHj2lFfEj0plX5iWxsdQs5sYww7Q="; + cargoHash = "sha256-Mr6YOK7d6pfFliaiw2Mjj5wJvPk+6yH892uS7ksd4YU="; buildInputs = [ udev ]; From 4cd0c3dbfd5fcae1d25a57034aa67f4ef1efd694 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sat, 1 Aug 2026 07:49:48 +0000 Subject: [PATCH 41/53] liana: 14.0 -> 15.0 --- pkgs/by-name/li/liana/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/li/liana/package.nix b/pkgs/by-name/li/liana/package.nix index 454696a2791b..5685bed1d2be 100644 --- a/pkgs/by-name/li/liana/package.nix +++ b/pkgs/by-name/li/liana/package.nix @@ -42,16 +42,16 @@ let in rustPlatform.buildRustPackage rec { pname = "liana"; - version = "14.0"; # keep in sync with lianad + version = "15.0"; # keep in sync with lianad src = fetchFromGitHub { owner = "wizardsardine"; repo = "liana"; tag = "v${version}"; - hash = "sha256-1d+icjk1NamlvEx4Xb1Ao4d1hb/t5aBwho+yCtHF9y4="; + hash = "sha256-mRBhpf4Risuq4TQ1y/5lWTOxN2RMHcZ2SC2BpbsOdhA="; }; - cargoHash = "sha256-9CWJIRby6QWJmkYSHj2lFfEj0plX5iWxsdQs5sYww7Q="; + cargoHash = "sha256-Mr6YOK7d6pfFliaiw2Mjj5wJvPk+6yH892uS7ksd4YU="; nativeBuildInputs = [ pkg-config From f61dc483711e5a8fcb68dd7522b9ec18d1df68da Mon Sep 17 00:00:00 2001 From: K900 Date: Sat, 1 Aug 2026 11:00:44 +0300 Subject: [PATCH 42/53] qui: 1.23.0 -> 1.24.0 --- pkgs/by-name/qu/qui/package.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/qu/qui/package.nix b/pkgs/by-name/qu/qui/package.nix index bdbf019d1f29..4c99a0ee9f18 100644 --- a/pkgs/by-name/qu/qui/package.nix +++ b/pkgs/by-name/qu/qui/package.nix @@ -14,12 +14,12 @@ }: buildGo126Module (finalAttrs: { pname = "qui"; - version = "1.23.0"; + version = "1.24.0"; src = fetchFromGitHub { owner = "autobrr"; repo = "qui"; tag = "v${finalAttrs.version}"; - hash = "sha256-RprALTd610Krh1q5yr0HIbNwb8TDbUvgbFfMMrsJT+E="; + hash = "sha256-xtYHIM1xYg92EwHndpuSRSdg8aAjNc3xaBo+Uu6Zsf4="; }; qui-web = stdenvNoCC.mkDerivation (finalAttrs': { @@ -44,7 +44,7 @@ buildGo126Module (finalAttrs: { ; pnpm = pnpm_11; fetcherVersion = 4; - hash = "sha256-aty/BRc3WqdnN3yynH4EbyledU3NtKu9E+3vP4KAdsk="; + hash = "sha256-ajnOwiMBpNesn+4F+lNpdWO7VgK7O99xITVz4NjVWTE="; }; postBuild = '' @@ -56,7 +56,7 @@ buildGo126Module (finalAttrs: { ''; }); - vendorHash = "sha256-6DX2s/y5nHYI5Jz2zs+ROGM+xk4K5yTwEwGkNiYhlcc="; + vendorHash = "sha256-GxpYkRsPUVbVK8oKwwGM+AGNvfzT2pdUadX+pAmr7Bk="; preBuild = '' cp -r ${finalAttrs.qui-web}/* web/dist From 16c0cd5ab31d394fd5d71c04f8be04ed229450d8 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sat, 1 Aug 2026 08:04:49 +0000 Subject: [PATCH 43/53] terraform-providers.yandex-cloud_yandex: 0.218.0 -> 0.220.0 --- .../networking/cluster/terraform-providers/providers.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/networking/cluster/terraform-providers/providers.json b/pkgs/applications/networking/cluster/terraform-providers/providers.json index 01bdd3cb9422..076d8bf84d7c 100644 --- a/pkgs/applications/networking/cluster/terraform-providers/providers.json +++ b/pkgs/applications/networking/cluster/terraform-providers/providers.json @@ -1508,12 +1508,12 @@ "vendorHash": "sha256-8p6dJwGyTK+qtgplSLtIRKxnNAQAgHfs4z/EsBcg/iY=" }, "yandex-cloud_yandex": { - "hash": "sha256-0155GXJMfoCnyqaJiF5SJIA1Qz1q2AYe/BB0AYODG/0=", + "hash": "sha256-0jUqljsSnNctu+5XPQGF6OE+BBZLbRoKxZLbe4/toRs=", "homepage": "https://registry.terraform.io/providers/yandex-cloud/yandex", "owner": "yandex-cloud", "repo": "terraform-provider-yandex", - "rev": "v0.218.0", + "rev": "v0.220.0", "spdx": "MPL-2.0", - "vendorHash": "sha256-FfZvuC/XXhKS03E+l4/9KCLSwx+uTP1LzywckZqX6pA=" + "vendorHash": "sha256-ZRElns36b4n5LaIIA6Snfxj15LXSVnf6o/H7lyJw3h0=" } } From b9fd5dee6ace7f73c50d292ffda4946e38a62945 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sat, 1 Aug 2026 08:06:37 +0000 Subject: [PATCH 44/53] nvc: 1.22.0 -> 1.22.1 --- pkgs/by-name/nv/nvc/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/nv/nvc/package.nix b/pkgs/by-name/nv/nvc/package.nix index 7de8ea30d51f..a4aded1c7d37 100644 --- a/pkgs/by-name/nv/nvc/package.nix +++ b/pkgs/by-name/nv/nvc/package.nix @@ -16,13 +16,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "nvc"; - version = "1.22.0"; + version = "1.22.1"; src = fetchFromGitHub { owner = "nickg"; repo = "nvc"; tag = "r${finalAttrs.version}"; - hash = "sha256-Z8N4TskOak7tU3Kp5BfUahoXsP/LnCLx5mhAuXwG7qI="; + hash = "sha256-FA9GzfwsQRI3OOJQ54H8+JbgVtIz2F4xncVDUHRzgRA="; }; nativeBuildInputs = [ From 6bc461fa522f5bbbacb414721d7537d8aac30497 Mon Sep 17 00:00:00 2001 From: Marien Zwart Date: Sat, 1 Aug 2026 17:47:55 +1000 Subject: [PATCH 45/53] emacs.pkgs.ghostel: further ease overrideAttrs of local bumps Even with the changes from https://github.com/NixOS/nixpkgs/commit/99800dd6b5955e2955848a9e0bbf95c899ccf814, local bumps break if they need a different version of Zig, like the upgrade from Zig 0.15 to 0.16 in https://github.com/NixOS/nixpkgs/commit/78f9fbc2273f534abe17222a5319b616ba946e47. Fix this by using finalAttrs for zig too, so it can be overridden along with src and zigDeps. --- .../manual-packages/ghostel/package.nix | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/ghostel/package.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/ghostel/package.nix index 91d7269be058..803ef6ee12b3 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/ghostel/package.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/ghostel/package.nix @@ -10,13 +10,12 @@ }: let - zig = zig_0_16; - mkModule = { pname, version, src, + zig, zigDeps, }: stdenv.mkDerivation (finalAttrs: { @@ -24,10 +23,11 @@ let pname version src + zig zigDeps ; - nativeBuildInputs = [ zig ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ xcbuild ]; + nativeBuildInputs = [ finalAttrs.zig ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ xcbuild ]; env.EMACS_INCLUDE_DIR = "${emacs}/include"; @@ -67,8 +67,9 @@ melpaBuild (finalAttrs: { hash = "sha256-upIcL4wf2zAc3/3QeERF619nSDml2wEZCOl6/XOaT3E="; }; - # this can be put into mkModule, but we put it here to ease user overrideAttrs - zigDeps = zig.fetchDeps { + # these can be put into mkModule, but we put them here to ease user overrideAttrs + zig = zig_0_16; + zigDeps = finalAttrs.zig.fetchDeps { inherit (finalAttrs) src pname version; fetchAll = true; hash = "sha256-NcNp0FnMy6FfZ63+pwiTRCmJ8FIovJEOhNvxVr1+uSQ="; @@ -91,6 +92,7 @@ melpaBuild (finalAttrs: { inherit (finalAttrs) version src + zig zigDeps ; }; From e3000cae3e8e5d68805b4b49d5f7d743d138161a Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sat, 1 Aug 2026 09:26:41 +0000 Subject: [PATCH 46/53] ulid: 2.1.1 -> 2.1.2 --- pkgs/by-name/ul/ulid/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ul/ulid/package.nix b/pkgs/by-name/ul/ulid/package.nix index dce41f939ec0..7175df47e525 100644 --- a/pkgs/by-name/ul/ulid/package.nix +++ b/pkgs/by-name/ul/ulid/package.nix @@ -7,13 +7,13 @@ buildGoModule (finalAttrs: { pname = "ulid"; - version = "2.1.1"; + version = "2.1.2"; src = fetchFromGitHub { owner = "oklog"; repo = "ulid"; tag = "v${finalAttrs.version}"; - hash = "sha256-kPNLaZMGwGc7ngPCivf/n4Bis219yOkGAaa6mt7+yTY="; + hash = "sha256-J4+O+1pQPAr+ieHBocT/AQ9kjmcU40RqRKMrS4qQxfc="; }; vendorHash = "sha256-s1YkEwFxE1zpUUCgwOAl8i6/9HB2rcGG+4kqnixTit0="; From 69d3715286395b14992870477577081ef84df4af Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sat, 1 Aug 2026 09:33:09 +0000 Subject: [PATCH 47/53] beeper: 4.2.985 -> 4.3.0 --- pkgs/by-name/be/beeper/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/be/beeper/package.nix b/pkgs/by-name/be/beeper/package.nix index 34d47709b99e..0678725f2fe9 100644 --- a/pkgs/by-name/be/beeper/package.nix +++ b/pkgs/by-name/be/beeper/package.nix @@ -12,18 +12,18 @@ }: let pname = "beeper"; - version = "4.2.985"; + version = "4.3.0"; inherit (stdenv.hostPlatform) system; sources = { x86_64-linux = fetchurl { url = "https://beeper-desktop.download.beeper.com/builds/Beeper-${version}-x86_64.AppImage"; - hash = "sha256-oWJdpZL+Q8/jaI/WJfgXUisPASuvHkxU6rOeJkedHSM="; + hash = "sha256-/DJmQMQGzZFnONjQZ9fr9NDtGv9Kg8jF8aBzAOUyCUg="; }; aarch64-linux = fetchurl { url = "https://beeper-desktop.download.beeper.com/builds/Beeper-${version}-arm64.AppImage"; - hash = "sha256-rY302fiRG2c6dwZ+a8e43DjDUklfR0j78XTixhPkvwY="; + hash = "sha256-zZIbcE78XcXremyWjs3jsiBRTwP24y45CfZHJym8MhQ="; }; }; From 46469d8283eca468d3b4508c4b934c9013b65a26 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sat, 1 Aug 2026 09:59:52 +0000 Subject: [PATCH 48/53] temporal-cli: 1.8.1 -> 1.8.2 --- pkgs/by-name/te/temporal-cli/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/te/temporal-cli/package.nix b/pkgs/by-name/te/temporal-cli/package.nix index 770420fa4da9..67d60755c1e2 100644 --- a/pkgs/by-name/te/temporal-cli/package.nix +++ b/pkgs/by-name/te/temporal-cli/package.nix @@ -11,13 +11,13 @@ buildGoModule (finalAttrs: { pname = "temporal-cli"; - version = "1.8.1"; + version = "1.8.2"; src = fetchFromGitHub { owner = "temporalio"; repo = "cli"; tag = "v${finalAttrs.version}"; - hash = "sha256-RswHPnaWN3bLerhttVb/3G//cyz9Fr+x/B4h+/SSSqA="; + hash = "sha256-OBdWQLPFvXAsbjNv/Tq+75IUl31XVtpgJVCQdHQqdBw="; }; vendorHash = "sha256-9lO9uhy1n85QYyoh27cKhdlcuL4GT98aCNWwe8tOwoQ="; From a449f1ae651ad6128c532b7a4689015c0279fdee Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sat, 1 Aug 2026 10:27:30 +0000 Subject: [PATCH 49/53] flying-carpet: 9.0.10 -> 10.0.2 --- pkgs/by-name/fl/flying-carpet/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/fl/flying-carpet/package.nix b/pkgs/by-name/fl/flying-carpet/package.nix index d4cc33651216..2ceef4e10577 100644 --- a/pkgs/by-name/fl/flying-carpet/package.nix +++ b/pkgs/by-name/fl/flying-carpet/package.nix @@ -19,16 +19,16 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "flying-carpet"; - version = "9.0.10"; + version = "10.0.2"; src = fetchFromGitHub { owner = "spieglt"; repo = "FlyingCarpet"; tag = "v${finalAttrs.version}"; - hash = "sha256-7yGU4HCuP8/6UC1J6fNA5CpppJGGhS/ywThXRToDTqo="; + hash = "sha256-38gPXTP+WAZ43oVhgYEFy0lD41uV4JxlNktiD+tJOu0="; }; - cargoHash = "sha256-/Z+0hdQ1H9R7FMLunGT5WgQKFY0b0b6gzrR2CNMe2II="; + cargoHash = "sha256-WZ93Gk2n8GJox7I4o/McC0AgrBh6CZAJFcXWvALk9TM="; nativeBuildInputs = [ cargo-tauri.hook From 8dad48e06a7df8861b7ccb6ba05fbddff4270174 Mon Sep 17 00:00:00 2001 From: adisbladis Date: Sat, 1 Aug 2026 12:41:55 +0200 Subject: [PATCH 50/53] hexagonrpc: add tools output with sscregistrygen `sscregistrygen` is used to create (sensor) registry files. Put into a separate tools output to not pollute the closures of devices not needing this. --- pkgs/by-name/he/hexagonrpc/package.nix | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/pkgs/by-name/he/hexagonrpc/package.nix b/pkgs/by-name/he/hexagonrpc/package.nix index fd21a813f146..dc0346b868ef 100644 --- a/pkgs/by-name/he/hexagonrpc/package.nix +++ b/pkgs/by-name/he/hexagonrpc/package.nix @@ -4,6 +4,8 @@ fetchFromGitHub, meson, ninja, + pkg-config, + json_c, }: stdenv.mkDerivation (finalAttrs: { @@ -17,11 +19,27 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-OC6wXBCIW4XznWG0zzxRK3BzWMVK2Jq/gTL36sJV1PE="; }; + outputs = [ + "out" + "tools" + ]; + nativeBuildInputs = [ meson ninja + pkg-config ]; + buildInputs = [ + json_c + ]; + + # sscregistrygen is only compiled when json-c is available and meson doesn't install it + postInstall = '' + mkdir -p $tools/bin + install -Dm755 tools/sscregistrygen $tools/bin/sscregistrygen + ''; + meta = { description = "Daemon to communicate with Qualcomm DSPs"; homepage = "https://github.com/linux-msm/hexagonrpc"; From 3d21f57997155dc91d20de9b2b9ba75a5ee8e819 Mon Sep 17 00:00:00 2001 From: matthewcroughan Date: Sat, 1 Aug 2026 12:05:48 +0100 Subject: [PATCH 51/53] qrtr: limit lib.platforms to aarch64-linux --- pkgs/by-name/qr/qrtr/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/qr/qrtr/package.nix b/pkgs/by-name/qr/qrtr/package.nix index 240dde537cdf..a777ba779e5a 100644 --- a/pkgs/by-name/qr/qrtr/package.nix +++ b/pkgs/by-name/qr/qrtr/package.nix @@ -37,6 +37,6 @@ stdenv.mkDerivation (finalAttrs: { description = "QMI IDL compiler"; homepage = "https://github.com/linux-msm/qrtr"; license = lib.licenses.bsd3; - platforms = lib.platforms.aarch64; + platforms = [ "aarch64-linux" ]; }; }) From e1060cde30ae73d0ce2f3aedcd1c2e6ace6486a6 Mon Sep 17 00:00:00 2001 From: Grimmauld Date: Sat, 1 Aug 2026 13:00:34 +0200 Subject: [PATCH 52/53] coin3d: unvendor expat closes #544607 Using the ancient vendored `expat` 2.2.10 from 2020-10-03 is a security nightmare. It also recently started exploding due to symbol collisions with the significantly newer expat used in python3, crashing FreeCAD. Co-authored-by: Patrick Lawrence --- pkgs/by-name/co/coin3d/package.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pkgs/by-name/co/coin3d/package.nix b/pkgs/by-name/co/coin3d/package.nix index c5faea3690d1..e6631df9b49d 100644 --- a/pkgs/by-name/co/coin3d/package.nix +++ b/pkgs/by-name/co/coin3d/package.nix @@ -7,6 +7,7 @@ libGL, libGLU, libx11, + expat, }: stdenv.mkDerivation (finalAttrs: { @@ -26,9 +27,14 @@ stdenv.mkDerivation (finalAttrs: { boost libGL libGLU + expat ] ++ lib.optional stdenv.hostPlatform.isLinux libx11; + cmakeFlags = [ + (lib.cmakeBool "USE_EXTERNAL_EXPAT" true) + ]; + meta = { homepage = "https://github.com/coin3d/coin"; description = "High-level, retained-mode toolkit for effective 3D graphics development"; From 9291b15f286675ea3f22ea88b511e07540c685a1 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sat, 1 Aug 2026 11:23:12 +0000 Subject: [PATCH 53/53] code-cursor: 3.13.10 -> 3.14.7 --- pkgs/by-name/co/code-cursor/sources.json | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/pkgs/by-name/co/code-cursor/sources.json b/pkgs/by-name/co/code-cursor/sources.json index f4501132e62a..74861cfc60c6 100644 --- a/pkgs/by-name/co/code-cursor/sources.json +++ b/pkgs/by-name/co/code-cursor/sources.json @@ -1,18 +1,18 @@ { - "version": "3.13.10", + "version": "3.14.7", "vscodeVersion": "1.128.0", "sources": { "x86_64-linux": { - "url": "https://downloads.cursor.com/production/4f02290ccd9304f0e6bf8ee85f6e9106f02ac1f7/linux/x64/Cursor-3.13.10-x86_64.AppImage", - "hash": "sha256-pZq2rQnIbFLejOkK2y0GZEVRmuNKZvI+oxaviK/vpXQ=" + "url": "https://downloads.cursor.com/production/a758f2241ca99fecf380180b6cbdbbce0f1f42cf/linux/x64/Cursor-3.14.7-x86_64.AppImage", + "hash": "sha256-+nvthb0R7tvAH9t1cd4BqIrcjq16Sy2VycLWovjB2wg=" }, "aarch64-linux": { - "url": "https://downloads.cursor.com/production/4f02290ccd9304f0e6bf8ee85f6e9106f02ac1f7/linux/arm64/Cursor-3.13.10-aarch64.AppImage", - "hash": "sha256-fqQbQZqOAXxumAErlKK+1Z19mY3GitfVAwy6vNePcZA=" + "url": "https://downloads.cursor.com/production/a758f2241ca99fecf380180b6cbdbbce0f1f42cf/linux/arm64/Cursor-3.14.7-aarch64.AppImage", + "hash": "sha256-jkZyayWZ/gpHuyCjzI+RePOr4GWt2rJwkCGf4dXC1Yk=" }, "aarch64-darwin": { - "url": "https://downloads.cursor.com/production/4f02290ccd9304f0e6bf8ee85f6e9106f02ac1f7/darwin/arm64/Cursor-darwin-arm64.dmg", - "hash": "sha256-d/bdi67FN3BBjIG5GI+O2GtYUeHLKW0iZRjOGxwuS0o=" + "url": "https://downloads.cursor.com/production/a758f2241ca99fecf380180b6cbdbbce0f1f42cf/darwin/arm64/Cursor-darwin-arm64.dmg", + "hash": "sha256-mn8km5Jxswh2cKUh78tcv3+qpvgPFFffRfe0YjgiWgo=" } } }