Merge branch 'staging' into staging-next

This commit is contained in:
Vladimír Čunát
2026-09-23 08:58:19 +02:00
674 changed files with 20565 additions and 18485 deletions

View File

@@ -11,47 +11,86 @@ nix-shell -p swift --run 'swiftc -' <<< 'print("Hello world!")'
The `swift` package also provides the `swift` command, with some caveats:
- Swift Package Manager (SwiftPM) is packaged separately as `swiftpm`. If you
need functionality like `swift build`, `swift run`, `swift test`, you must
also add the `swiftpm` package to your closure.
- On Darwin, the `swift repl` command requires an Xcode installation. This is
because it uses the system LLDB debugserver, which has special entitlements.
- Swift Package Manager (SwiftPM) is packaged separately as `swiftpm`.
If you need functionality like `swift build`, `swift run`, `swift test`, you must also add the `swiftpm` package to your closure.
- On Darwin, the `swift repl` command requires an Xcode installation.
This is because it uses the system LLDB debugserver, which has special entitlements.
## Module search paths {#ssec-swift-module-search-paths}
Like other toolchains in Nixpkgs, the Swift compiler executables are wrapped
to help Swift find your application's dependencies in the Nix store. These
wrappers scan the `buildInputs` of your package derivation for specific
directories where Swift modules are placed by convention, and automatically
add those directories to the Swift compiler search paths.
The Swift compiler executables are patched to find the C and C++ standard libraries associated with its target platform, but they are not wrapped.
They will not find your application’s dependencies automatically in the Nix store.
Your build system is expected to handle this for you.
Swift follows different conventions depending on the platform. The wrappers
look for the following directories:
SwiftPM provides a hook that scans the `buildInputs` of your package derivation for specific directories where the Swift modules are placed by convention.
These directories are added automatically to `swiftpmFlags` when the hook runs.
Swift in Nixpkgs follows a few conventions when installing dependencies:
- On Darwin platforms: `lib/swift/macosx`
(If not targeting macOS, replace `macosx` with the Xcode platform name.)
- On other platforms: `lib/swift/linux/x86_64`
(Where `linux` and `x86_64` are from lowercase `uname -sm`.)
- For convenience, Nixpkgs also adds `lib/swift` to the search path.
This can save a bit of work packaging Swift modules, because many Nix builds
will produce output for just one target anyway.
- Libraries (both shared and static) are installed to `lib`.
This differs from upstream packaging, but it matches how other langauges are packaged in Nixpkgs.
This allows Swift packages to take advantage of existing tooling that expects libraries to be installed in this standard location.
- Modules are installed to `lib/swift/<platform>` where `<platform>` is the Swift platform for your host platform (e.g., `lib/swift/macosx` or `lib/swift/linux`).
Note that Linux modules may be installed in a directory specific to the target architecture(e.g., `lib/swift/linux/x86_64`), but this is uncommon.
Upstream Swift appears to be moving away from this convention.
## Core libraries {#ssec-swift-core-libraries}
In addition to the standard library, the Swift toolchain contains some
additional 'core libraries' that, on Apple platforms, are normally distributed
as part of the OS or Xcode. These are packaged separately in Nixpkgs and can
be found (for use in `buildInputs`) as:
The `swift` package contains a complete toolchain with the Swift stdlib, Dispatch, Foundation, XCTest, and Swift Testing.
These packages do not need to be added to `buildInputs` when packaging applications.
The Swift compiler will find them automatically in the `swift` toolchain.
- `swiftPackages.Dispatch`
- `swiftPackages.Foundation`
- `swiftPackages.XCTest`
If you do need to use these packages outside of the Swift toolchain, they are available in the following packages:
- `swiftPackages.stdlib` contains the Swift stdlib and backdeployment dylibs.
- `swiftPackages.swift-corelibs-libdispatch` contains the Dispatch framework.
- `swiftPackages.swift-corelibs-foundation` contains the Foundation framework.
- `swiftPackages.swift-corelibs-xctest` and `swiftPackages.swift-testing` contain the XCTest and Swift Testing frameworks respectively.
Note: On Darwin, the Swift stdlib has been removed from the SDK.
The Swift toolchain contains the stubs and modules required to build Swift applications with the following exceptions:
- Swift Differentiation is shipped as a dylib in Nixpkgs because it is no longer shipped with the OS (as of macOS 26.4).
This allows packages using Swift Differentiation to work regardless of OS version.
- The Span back-deployment dylib is shipped with the stdlib.
- This is expected because back-deployment dylibs are normally shipped with the toolchain.
- FoundationMacros is built and shipped as a dylib in `swiftPackages.swift-foundation` and included in the toolchain.
Macros are actually compiler plugins executed at build time.
Without this, FoundationMacros would not work on Darwin.
## Packaging with SwiftPM {#ssec-swift-packaging-with-swiftpm}
Nixpkgs includes a small helper `swiftpm2nix` that can fetch your SwiftPM
dependencies for you, when you need to write a Nix expression to package your
application.
Nixpkgs includes two ways to package dependencies for Swift applications: `fetchSwiftPMDeps` and `swiftpm2nix`.
While `swiftpm2nix` is not deprecated, using `fetchSwiftPMDeps` is preferred because it is easier to use and does not (usually) require shipping extra files with your package.
### Packaging with `fetchSwiftPMDeps` {#ssec-swift-packaging-with-fetch-swiftpm-deps}
Swift provides a fetcher that will download all of your dependencies based on the `Package.resolved` shipped by your package.
If your package does not ship one, you will have to generate it yourself and provide it with your package.
Otherwise, set `swiftpmDeps` as follows:
```nix
{
swiftpmDeps = fetchSwiftPMDeps {
inherit src;
hash = "sha256-1KfyrQXE1HaO9WsuskzgiiEZxM/oelp40Jwzr8xJEL4=";
};
}
```
The `src` attribute is required as is the `hash`.
The first time you build your package, you will need to set `hash` to an empty value by using `lib.fakeHash` to get the hash for your dependencies.
The following optional attributes can also be used:
- `name`: Sets the name of the vendored dependencies fixed-output derivation.
You can also use `pname` and `version` to set the `name`.
This is often easier because you can inherit them from `finalAttrs`.
- `sourceRoot`: Sets the path where `Package.swift` and `Package.resolved` can be found if they are not in their default, top-level location.
- `patches`: Can be used to apply patches to your project before the dependencies are vendored.
This is useful to update `Package.swift` or `Package.resolved`.
- `postPatch`: Can be used to perform extra steps after patching.
You can copy a custom `Package.resolved` in `postPatch`.
### Packaging with `swiftpm2nix` {#ssec-swift-packaging-with-swiftpm2nix}
The first step is to run the generator:
@@ -65,8 +104,8 @@ swift package resolve
swiftpm2nix
```
This produces some files in a directory `nix`, which will be part of your Nix
expression. The next step is to write that expression:
This produces some files in a directory `nix`, which will be part of your Nix expression.
The next step is to write that expression:
```nix
{
@@ -126,45 +165,13 @@ stdenv.mkDerivation (finalAttrs: {
})
```
### Custom build flags {#ssec-swiftpm-custom-build-flags}
#### Patching dependencies {#ssec-swiftpm-patching-dependencies}
If you'd like to build a different configuration than `release`:
In some cases, it may be necessary to patch a SwiftPM dependency.
SwiftPM dependencies are located in `.build/checkouts`, but the `swiftpm2nix` helper provides these as symlinks to read-only `/nix/store` paths.
To patch them, we need to make them writable.
```nix
{ swiftpmBuildConfig = "debug"; }
```
It is also possible to provide additional flags to `swift build`:
```nix
{ swiftpmFlags = [ "--disable-dead-strip" ]; }
```
The default `buildPhase` already passes `-j` for parallel building.
If these two customization options are insufficient, provide your own
`buildPhase` that invokes `swift build`.
### Running tests {#ssec-swiftpm-running-tests}
Including `swiftpm` in your `nativeBuildInputs` also provides a default
`checkPhase`, but it must be enabled with:
```nix
{ doCheck = true; }
```
This essentially runs: `swift test -c release`
### Patching dependencies {#ssec-swiftpm-patching-dependencies}
In some cases, it may be necessary to patch a SwiftPM dependency. SwiftPM
dependencies are located in `.build/checkouts`, but the `swiftpm2nix` helper
provides these as symlinks to read-only `/nix/store` paths. To patch
them, we need to make them writable.
A special function `swiftpmMakeMutable` is available to replace the symlink
with a writable copy:
A special function `swiftpmMakeMutable` is available to replace the symlink with a writable copy:
```nix
{
@@ -183,21 +190,76 @@ with a writable copy:
}
```
### Custom build flags {#ssec-swiftpm-custom-build-flags}
If you'd like to build a different configuration than `release`:
```nix
{ swiftpmBuildConfig = "debug"; }
```
It is also possible to provide additional flags to `swift build`:
```nix
{ swiftpmFlags = [ "--disable-dead-strip" ]; }
```
The default `buildPhase` already passes `-j` for parallel building.
If these two customization options are insufficient, provide your own `buildPhase` that invokes `swift build`.
### Running tests {#ssec-swiftpm-running-tests}
Including `swiftpm` in your `nativeBuildInputs` also provides a default `checkPhase`, but it must be enabled with:
```nix
{ doCheck = true; }
```
This essentially runs: `swift test -c release`
### Installing packages {#ssec-swiftpm-install-phase}
SwiftPM provides a default install phase that installs any products specified in your package’s `Package.swift`.
If your package does not specify any products, which is not uncommon, you will have to manually install them to `out`.
To disable the SwiftPM install phase, include the following in your derivation:
```nix
{ dontUseSwiftpmInstall = true; }
```
## Hooks {#ssec-swift-hooks}
Swift provides the following hooks to automate builds and unpack dependencies:
- `swiftpmHook`: Propagated by `swiftpm`.
Also propagates `swiftpmUnpackHook`.
Provides build, install, and check phases. It also adds any dependencies found in `buildInputs` to `swiftpmFlags`.
- `swiftpmUnpackHook`: Sets up `workspace-state.json` and links vendored dependencies to the top-level `Packages` directory in the build environment.
Swift also provides a hook with the toolchain to replace rpath references to the toolchain with references to the stdlib package.
This hook is used automatically by the `swift` package.
This avoids pulling the entire toolchain into the closure of your package.
## Considerations for custom build tools {#ssec-swift-considerations-for-custom-build-tools}
### Linking the standard library {#ssec-swift-linking-the-standard-library}
The `swift` package has a separate `lib` output containing just the Swift
standard library, to prevent Swift applications needing a dependency on the
full Swift compiler at runtime. Linking with the Nixpkgs Swift toolchain
already ensures binaries correctly reference the `lib` output.
The Swift stdlib is packaged separately as `swiftPackages.stdlib`.
The shared and static libraries are installed to `lib`.
Most tooling in Nixpkgs should find them automatically when linking.
The stdlib provides a hook to change any rpaths pointing to the toolchain to point to the stdlib instead.
Sometimes, Swift is used only to compile part of a mixed codebase, and the
link step is manual. Custom build tools often locate the standard library
relative to the `swift` compiler executable, and while the result will work,
when this path ends up in the binary, it will have the Swift compiler as an
unintended dependency.
The stdlib modules are installed to `lib/swift/<platform>` in the `dev` output of the stdlib package.
These are symlinked together into the `swift` toolchain.
If your build tools locate the modules relative to the `swift` compiler executable, it should do the right thing automatically.
In this case, you should investigate how your build process discovers the
standard library, and override the path. The correct path will be something
like: `"${swift.swift.lib}/${swift.swiftModuleSubdir}"`
### Accessing properties of the Swift platform {#ssec-swift-platform-properties}
The architecture, platform, and triple used by Swift is available as attributes on the build/host/targetPlatform for the `stdenv`.
- `stdenv.<platform>.swift.platform`: The Swift platform (e.g., `macosx` for macOS, `linux` for Linux, etc).
- `stdenv.<platform>.swift.arch`: The Swift architecture (e.g., `arm64` for Darwin or `aarch64` for Linux, `x86_64`, etc).
- `stdenv.<platform>.swift.triple`: The triple used by Swift.
This is the same as `stdenv.<platform>.config` except on Darwin.
On Darwin, it uses the OS name instead of `darwin` and includes the deployment target (e.g., `arm64-apple-macosx14.0`).

View File

@@ -1981,6 +1981,9 @@
"sec-darwin-troubleshooting-xcodebuild-absolute-paths": [
"index.html#sec-darwin-troubleshooting-xcodebuild-absolute-paths"
],
"sec-darwin-missing-macros": [
"index.html#sec-darwin-missing-macros"
],
"sec-darwin-troubleshooting-libiconv": [
"index.html#sec-darwin-troubleshooting-libiconv"
],
@@ -4593,14 +4596,26 @@
"ssec-swift-packaging-with-swiftpm": [
"index.html#ssec-swift-packaging-with-swiftpm"
],
"ssec-swift-packaging-with-fetch-swiftpm-deps": [
"index.html#ssec-swift-packaging-with-fetch-swiftpm-deps"
],
"ssec-swift-packaging-with-swiftpm2nix": [
"index.html#ssec-swift-packaging-with-swiftpm2nix"
],
"ssec-swiftpm-patching-dependencies": [
"index.html#ssec-swiftpm-patching-dependencies"
],
"ssec-swiftpm-custom-build-flags": [
"index.html#ssec-swiftpm-custom-build-flags"
],
"ssec-swiftpm-running-tests": [
"index.html#ssec-swiftpm-running-tests"
],
"ssec-swiftpm-patching-dependencies": [
"index.html#ssec-swiftpm-patching-dependencies"
"ssec-swiftpm-install-phase": [
"index.html#ssec-swiftpm-install-phase"
],
"ssec-swift-hooks": [
"index.html#ssec-swift-hooks"
],
"ssec-swift-considerations-for-custom-build-tools": [
"index.html#ssec-swift-considerations-for-custom-build-tools"
@@ -4608,6 +4623,9 @@
"ssec-swift-linking-the-standard-library": [
"index.html#ssec-swift-linking-the-standard-library"
],
"ssec-swift-platform-properties": [
"index.html#ssec-swift-platform-properties"
],
"sec-language-tcl": [
"index.html#sec-language-tcl"
],

View File

@@ -16,6 +16,8 @@
+nixpkgs.url = "https://channels.nixos.org/nixos-26.05/nixexprs.tar.zst";
```
- GCC has been updated from GCC 15 to GCC 16. This introduces some backwards-incompatible changes. Refer to the [upstream porting guide](https://gcc.gnu.org/gcc-16/porting_to.html) for details.
- Emacs has been updated to 31.
This introduces some backwards‐incompatible changes; see the NEWS for details.
NEWS can be viewed from Emacs by typing `C-h n`, or by clicking `Help->Emacs News` from the menu bar.
@@ -216,6 +218,16 @@
- `nim-2_0` & `nim-2_2` and respective aliases have been removed; please migrate to `nim` or `nim-unwrapped` (nim 2.2.10).
- `domoticz` has been updated from `2024.7` to `2026.x`, breaking third party applications and scripts using the old RType calls. Review the [release notes](https://github.com/domoticz/domoticz/blob/2026.2/History.txt#L398) for more information.
- `swift` is no longer wrapped.
The `NIX_SWIFTFLAGS_COMPILE` variable is no longer supported.
If you need to pass custom flags to the Swift compiler, you must add them via your package’s build system.
The default target version used by `swiftc` on Darwin is the operating system major version.
This value may be overridden by the build system (e.g., SwiftPM defaults to 10.13 instead).
See the Swift documentation in Nixpkgs for details.
- `swiftpm` is no longer wrapped to include Git to fetch dependencies.
Users with Git-based dependencies will need to add `git` to their dev shells or include it in their environment if they weren’t already.
- `vimacs` has been removed, as it has not been maintained in 10 years and was built for an old version of vim (6.0).
- The deprecated `appimageTools.extractType1`, `appimageTools.extractType2`, and `appimageTools.wrapType1` aliases now emit warnings. Use `appimageTools.extract` and `appimageTools.wrapType2` instead.
@@ -264,6 +276,9 @@
- Firefox wrapper now accepts an optional `appDataDir` argument, which sets `MOZ_APP_DATA` to relocate Firefox application data. This is especially useful on macOS 27 and later, where wrapped Firefox applications may be denied access to profiles in traditional application data directory.
- Swift has been upgraded to Swift 6.2.4 from Swift 5.10.1.
The Swift packaging has been rewritten.
## Nixpkgs Library {#sec-nixpkgs-release-26.11-lib}
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->

View File

@@ -121,7 +121,8 @@ Generally, only the last SDK release for a major version is packaged.
|---------------|-------------|------------------------------|
| 15.0–15.4 | 14.4 | `apple-sdk_14` / `apple-sdk` |
| 16.0 | 15.0 | `apple-sdk_15` |
| 26.0+ | 26.0+ | `apple-sdk_26`, etc |
| 26.0 | 26.0 | `apple-sdk_26` |
| 27.0+ | 27.0+ | `apple-sdk_27`, etc |
#### Darwin Default SDK versions {#sec-darwin-troubleshooting-darwin-defaults}
@@ -192,6 +193,13 @@ stdenv.mkDerivation {
}
```
### Macro library not available {#sec-darwin-missing-macros}
Some frameworks provide macros that are only shipped with Xcode.
For example, the AppleIntelligence framework, Swift Data, and SwiftUI (as of the 27.0 SDK).
A non-free package making these available will be added at a later date.
Until then, they are unfortunately not available in Nixpkgs.
#### How to use libiconv on Darwin {#sec-darwin-troubleshooting-libiconv}
The libiconv package is included in the SDK by default along with libresolv and libsbuf.

View File

@@ -719,6 +719,26 @@ let
else
null;
};
swift = {
arch = final.uname.processor;
platform =
if final.isMacOS then
"macosx"
else if final.isiOS then
"iphoneos"
else if final.isLinux then
"linux"
else if final.isWindows then
"windows"
else
null;
triple =
if final.isDarwin then
# FIXME: Can this be done a better way?
"${final.swift.arch}-${final.parsed.vendor.name}-${final.swift.platform}${final.darwinMinVersion}"
else
final.config;
};
};
in
# Platforms elaborated by pre-26.11 Nixpkgs will include the `linux-kernel` attr,

View File

@@ -751,6 +751,7 @@ with lib.maintainers;
swift = {
members = [
reckenrode
samasaur
stephank
];

View File

@@ -405,7 +405,9 @@ in
extraConfig = nginxAuthRequest + ''
types {
video/mp4 mp4;
image/jpeg jpg;
image/jpeg jpg jpeg;
image/png png;
image/webp webp;
}
expires 7d;
@@ -493,19 +495,6 @@ in
}
'';
};
# frontend uses this to fetch the version
"/api/go2rtc/api" = {
proxyPass = "http://frigate-go2rtc/api";
recommendedProxySettings = true;
extraConfig =
nginxAuthRequest
+ nginxProxySettings
+ ''
limit_except GET {
deny all;
}
'';
};
# integrationn uses this to add webrtc candidate
"/api/go2rtc/webrtc" = {
proxyPass = "http://frigate-go2rtc/api/webrtc";
@@ -541,6 +530,7 @@ in
expires off;
proxy_cache frigate_api_cache;
proxy_cache_key "$scheme$proxy_host$request_uri|$role|$groups|$user";
proxy_cache_lock on;
proxy_cache_use_stale updating;
proxy_cache_valid 200 5s;
@@ -563,6 +553,13 @@ in
${nginxProxySettings}
}
location /api/logout {
auth_request off;
rewrite ^/api(/.*)$ $1 break;
proxy_pass http://frigate-api;
${nginxProxySettings}
}
location /api/auth/first_time_login {
auth_request off;
limit_except GET {
@@ -747,7 +744,6 @@ in
]
++ optionals (!stdenv.hostPlatform.isAarch64) [
# not available on aarch64-linux
intel-gpu-tools
rocmPackages.rocminfo
];
serviceConfig = {
@@ -775,11 +771,10 @@ in
Group = "frigate";
SupplementaryGroups = [ "render" ] ++ optionals withCoral [ "coral" ];
AmbientCapabilities = optionals (elem cfg.vaapiDriver [
"i965"
"iHD"
]) [ "CAP_PERFMON" ]; # for intel_gpu_top
# No capabilities
CapabilityBoundingSet = [ "" ];
# Allow delegating access
UMask = "0027";
StateDirectory = "frigate";
@@ -797,9 +792,53 @@ in
# Sockets/IPC
RuntimeDirectory = "frigate";
RemoveIPC = true;
# Reduce visible process scope to cgroup
ProtectProc = "invisible";
# Allow wide /proc inspection, e.g. for cpuinfo
ProcSubset = "all";
# Protect various system locations/interfaces
ProtectControlGroups = true;
ProtectHome = true;
ProtectHostname = true;
ProtectKernelLogs = true;
ProtectKernelModules = true;
ProtectKernelTunables = true;
ProtectSystem = "strict";
# No JIT compilation
MemoryDenyWriteExecute = true;
# No ABI personality changes
LockPersonality = true;
# Only IP/Unix sockets
RestrictAddressFamilies = [
"AF_INET"
"AF_INET6"
"AF_UNIX"
];
# Deny namespace creation
RestrictNamespaces = true;
# No privilege escalation
NoNewPrivileges = true;
RestrictSUIDSGID = true;
# No realtime schedulign
RestrictRealtime = true;
# Restrict allowed syscalls
SystemCallFilter = [
"@system-service"
"~@privileged"
];
SystemCallArchitectures = "native";
SystemCallErrorNumber = "EPERM";
};
};

View File

@@ -77,5 +77,7 @@
# wait for a recording to appear
machine.wait_for_file("/var/cache/frigate/test@*.mp4")
machine.log(machine.execute("systemd-analyze security frigate.service | grep -v ✓")[1])
'';
}

View File

@@ -13,7 +13,7 @@
gettext,
ghostscript,
glib,
glibmm,
glibmm_2_4,
gobject-introspection,
gsl,
gspell,
@@ -29,7 +29,7 @@
libpng,
librevenge,
librsvg,
libsigcxx,
libsigcxx_2_0,
libvisio,
libwpg,
libxft,
@@ -111,6 +111,8 @@ stdenv.mkDerivation (finalAttrs: {
})
# https://gitlab.com/inkscape/inkscape/-/merge_requests/7968
./fix-build-poppler-26.06.0.patch
# https://gitlab.com/inkscape/inkscape/-/merge_requests/8034
./fix-build-poppler-26.07.0.patch
];
postPatch = ''
@@ -153,7 +155,7 @@ stdenv.mkDerivation (finalAttrs: {
boost
gettext
glib
glibmm
glibmm_2_4
gsl
gtkmm3
gtksourceview4
@@ -165,7 +167,7 @@ stdenv.mkDerivation (finalAttrs: {
libpng
librevenge
librsvg # for loading icons
libsigcxx
libsigcxx_2_0
libvisio
libwpg
libxft

View File

@@ -0,0 +1,331 @@
From fc52525f8d8d7d3e772c5bfa1bdfe9b33c7f9709 Mon Sep 17 00:00:00 2001
From: KrIr17 <elendil.krir17@gmail.com>
Date: Sat, 4 Jul 2026 14:07:44 +0200
Subject: [PATCH] Fix building with Poppler 26.07.0
1. `arrayGetfoo()` to `getArray()->getFoo()` [1]
2. `streamGetFoo()` to `getStream()->getFoo()` [2]
3. indextolabel now requires an `std::string *` and not `GooString *`
introduced _POPPLER_STRING_26_7 that changes accordingly.
Relevant poppler commits:
[1] [Remove Object::arrayGetNF](https://gitlab.freedesktop.org/poppler/poppler/-/commit/d9ffc4c29d1975a5c81d6bac9d8a1b6dc5aa1f50): Technically only arrayGetNF was removed, but perusing the commit shows that all `arrayGetFoo` are being changed. I assume they are slated for removal in future releases.
[2] [Remove Object::streamGetDict](gitlab.freedesktop.org/poppler/poppler/-/commit/87edb5a5c40e67e782e54a14a2251547b4acdfb5)
[3] [Use std::string instead of GooString for label](https://gitlab.freedesktop.org/poppler/poppler/-/commit/9e34004aae04064f1b798b5e711e13d0dddacf9e)
---
src/extension/internal/pdfinput/pdf-input.cpp | 5 +-
.../internal/pdfinput/pdf-parser.cpp | 54 +++++++++----------
.../pdfinput/poppler-transition-api.h | 6 +++
.../internal/pdfinput/poppler-utils.cpp | 29 +++++-----
.../internal/pdfinput/poppler-utils.h | 1 +
5 files changed, 54 insertions(+), 41 deletions(-)
diff --git a/src/extension/internal/pdfinput/pdf-input.cpp b/src/extension/internal/pdfinput/pdf-input.cpp
index 4030a95882..0d46a0577f 100644
--- a/src/extension/internal/pdfinput/pdf-input.cpp
+++ b/src/extension/internal/pdfinput/pdf-input.cpp
@@ -891,9 +891,10 @@ PdfInput::add_builder_page(std::shared_ptr<PDFDoc>pdf_doc, SvgBuilder *builder,
// Parse the annotations
if (auto annots = page->getAnnotsObject(); annots.isArray()) {
- auto const size = annots.arrayGetLength();
+ auto* annotsArray = annots.getArray();
+ auto const size = annotsArray->getLength();
for (int i = 0; i < size; i++) {
- pdf_parser.build_annots(annots.arrayGet(i), page_num);
+ pdf_parser.build_annots(annotsArray->get(i), page_num);
}
}
}
diff --git a/src/extension/internal/pdfinput/pdf-parser.cpp b/src/extension/internal/pdfinput/pdf-parser.cpp
index 86fc51b1f2..fac5326988 100644
--- a/src/extension/internal/pdfinput/pdf-parser.cpp
+++ b/src/extension/internal/pdfinput/pdf-parser.cpp
@@ -289,8 +289,8 @@ PdfParser::PdfParser(std::shared_ptr<PDFDoc> pdf_doc, Inkscape::Extension::Inter
if (page) {
// Increment the page building here and set page label
Catalog *catalog = pdf_doc->getCatalog();
- GooString *label = new GooString("");
- catalog->indexToLabel(page->getNum() - 1, label);
+ _POPPLER_STRING_26_7 label;
+ catalog->indexToLabel(page->getNum() - 1, &label);
builder->pushPage(getString(label), state);
}
@@ -374,8 +374,8 @@ void PdfParser::parse(Object *obj, GBool topLevel) {
Object obj2;
if (obj->isArray()) {
- for (int i = 0; i < obj->arrayGetLength(); ++i) {
- _POPPLER_CALL_ARGS(obj2, obj->arrayGet, i);
+ for (int i = 0; i < obj->getArray()->getLength(); ++i) {
+ _POPPLER_CALL_ARGS(obj2, obj->getArray()->get, i);
if (!obj2.isStream()) {
error(errInternal, -1, "Weird page contents");
_POPPLER_FREE(obj2);
@@ -782,8 +782,8 @@ void PdfParser::opSetExtGState(Object args[], int /*numArgs*/)
for (int &i : backdropColor.c) {
i = 0;
}
- for (int i = 0; i < obj3.arrayGetLength() && i < gfxColorMaxComps; ++i) {
- _POPPLER_CALL_ARGS(obj4, obj3.arrayGet, i);
+ for (int i = 0; i < obj3.getArray()->getLength() && i < gfxColorMaxComps; ++i) {
+ _POPPLER_CALL_ARGS(obj4, obj3.getArray()->get, i);
if (obj4.isNum()) {
backdropColor.c[i] = dblToCol(obj4.getNum());
}
@@ -792,7 +792,7 @@ void PdfParser::opSetExtGState(Object args[], int /*numArgs*/)
}
_POPPLER_FREE(obj3);
if (_POPPLER_CALL_ARGS_DEREF(obj3, obj2.dictLookup, "G").isStream()) {
- if (_POPPLER_CALL_ARGS_DEREF(obj4, obj3.streamGetDict()->lookup, "Group").isDict()) {
+ if (_POPPLER_CALL_ARGS_DEREF(obj4, obj3.getStream()->getDict()->lookup, "Group").isDict()) {
std::unique_ptr<GfxColorSpace> blendingColorSpace;
GBool isolated = gFalse;
GBool knockout = gFalse;
@@ -855,7 +855,7 @@ void PdfParser::doSoftMask(Object *str, GBool alpha,
}
// get stream dict
- dict = str->streamGetDict();
+ dict = str->getStream()->getDict();
// check form type
_POPPLER_CALL_ARGS(obj1, dict->lookup, "FormType");
@@ -872,7 +872,7 @@ void PdfParser::doSoftMask(Object *str, GBool alpha,
return;
}
for (i = 0; i < 4; ++i) {
- _POPPLER_CALL_ARGS(obj2, obj1.arrayGet, i);
+ _POPPLER_CALL_ARGS(obj2, obj1.getArray()->get, i);
bbox[i] = obj2.getNum();
_POPPLER_FREE(obj2);
}
@@ -882,7 +882,7 @@ void PdfParser::doSoftMask(Object *str, GBool alpha,
_POPPLER_CALL_ARGS(obj1, dict->lookup, "Matrix");
if (obj1.isArray()) {
for (i = 0; i < 6; ++i) {
- _POPPLER_CALL_ARGS(obj2, obj1.arrayGet, i);
+ _POPPLER_CALL_ARGS(obj2, obj1.getArray()->get, i);
m[i] = obj2.getNum();
_POPPLER_FREE(obj2);
}
@@ -2396,7 +2396,7 @@ void PdfParser::opXObject(Object args[], int /*numArgs*/)
}
//add layer at root if xObject has type OCG
- _POPPLER_CALL_ARGS(obj2, obj1.streamGetDict()->lookup, "OC");
+ _POPPLER_CALL_ARGS(obj2, obj1.getStream()->getDict()->lookup, "OC");
if(obj2.isDict()){
auto type_dict = obj2.getDict();
if (type_dict->lookup("Type").isName("OCG")) {
@@ -2406,7 +2406,7 @@ void PdfParser::opXObject(Object args[], int /*numArgs*/)
}
}
- _POPPLER_CALL_ARGS(obj2, obj1.streamGetDict()->lookup, "Subtype");
+ _POPPLER_CALL_ARGS(obj2, obj1.getStream()->getDict()->lookup, "Subtype");
if (obj2.isName(const_cast<char*>("Image"))) {
_POPPLER_CALL_ARGS(refObj, res->lookupXObjectNF, name);
doImage(&refObj, obj1.getStream(), gFalse);
@@ -2414,7 +2414,7 @@ void PdfParser::opXObject(Object args[], int /*numArgs*/)
} else if (obj2.isName(const_cast<char*>("Form"))) {
doForm(&obj1);
} else if (obj2.isName(const_cast<char*>("PS"))) {
- _POPPLER_CALL_ARGS(obj3, obj1.streamGetDict()->lookup, "Level1");
+ _POPPLER_CALL_ARGS(obj3, obj1.getStream()->getDict()->lookup, "Level1");
} else if (obj2.isName()) {
error(errSyntaxError, getPos(), "Unknown XObject subtype '{0:s}'", obj2.getName());
} else {
@@ -2545,7 +2545,7 @@ void PdfParser::doImage(Object * /*ref*/, Stream *str, GBool inlineImg)
_POPPLER_CALL_ARGS(obj1, dict->lookup, "D");
}
if (obj1.isArray()) {
- _POPPLER_CALL_ARGS(obj2, obj1.arrayGet, 0);
+ _POPPLER_CALL_ARGS(obj2, obj1.getArray()->get, 0);
if (obj2.isInt() && obj2.getInt() == 1) {
invert = gTrue;
}
@@ -2607,7 +2607,7 @@ void PdfParser::doImage(Object * /*ref*/, Stream *str, GBool inlineImg)
goto err1;
}
maskStr = smaskObj.getStream();
- maskDict = smaskObj.streamGetDict();
+ maskDict = smaskObj.getStream()->getDict();
_POPPLER_CALL_ARGS(obj1, maskDict->lookup, "Width");
if (obj1.isNull()) {
_POPPLER_FREE(obj1);
@@ -2673,8 +2673,8 @@ void PdfParser::doImage(Object * /*ref*/, Stream *str, GBool inlineImg)
} else if (maskObj.isArray()) {
// color key mask
int i;
- for (i = 0; i < maskObj.arrayGetLength() && i < 2*gfxColorMaxComps; ++i) {
- _POPPLER_CALL_ARGS(obj1, maskObj.arrayGet, i);
+ for (i = 0; i < maskObj.getArray()->getLength() && i < 2*gfxColorMaxComps; ++i) {
+ _POPPLER_CALL_ARGS(obj1, maskObj.getArray()->get, i);
maskColors[i] = obj1.getInt();
_POPPLER_FREE(obj1);
}
@@ -2685,7 +2685,7 @@ void PdfParser::doImage(Object * /*ref*/, Stream *str, GBool inlineImg)
goto err1;
}
maskStr = maskObj.getStream();
- maskDict = maskObj.streamGetDict();
+ maskDict = maskObj.getStream()->getDict();
_POPPLER_CALL_ARGS(obj1, maskDict->lookup, "Width");
if (obj1.isNull()) {
_POPPLER_FREE(obj1);
@@ -2732,7 +2732,7 @@ void PdfParser::doImage(Object * /*ref*/, Stream *str, GBool inlineImg)
_POPPLER_CALL_ARGS(obj1, maskDict->lookup, "D");
}
if (obj1.isArray()) {
- _POPPLER_CALL_ARGS(obj2, obj1.arrayGet, 0);
+ _POPPLER_CALL_ARGS(obj2, obj1.getArray()->get, 0);
if (obj2.isInt() && obj2.getInt() == 1) {
maskInvert = gTrue;
}
@@ -2785,7 +2785,7 @@ void PdfParser::doForm(Object *str, double *offset)
}
// get stream dict
- dict = str->streamGetDict();
+ dict = str->getStream()->getDict();
// check form type
_POPPLER_CALL_ARGS(obj1, dict->lookup, "FormType");
@@ -2802,7 +2802,7 @@ void PdfParser::doForm(Object *str, double *offset)
return;
}
for (i = 0; i < 4; ++i) {
- _POPPLER_CALL_ARGS(obj1, bboxObj.arrayGet, i);
+ _POPPLER_CALL_ARGS(obj1, bboxObj.getArray()->get, i);
bbox[i] = obj1.getNum();
_POPPLER_FREE(obj1);
}
@@ -2812,7 +2812,7 @@ void PdfParser::doForm(Object *str, double *offset)
_POPPLER_CALL_ARGS(matrixObj, dict->lookup, "Matrix");
if (matrixObj.isArray()) {
for (i = 0; i < 6; ++i) {
- _POPPLER_CALL_ARGS(obj1, matrixObj.arrayGet, i);
+ _POPPLER_CALL_ARGS(obj1, matrixObj.getArray()->get, i);
m[i] = obj1.getNum();
_POPPLER_FREE(obj1);
}
@@ -3248,10 +3248,10 @@ void PdfParser::loadColorProfile()
return;
Object outputIntents = catDict.dictLookup("OutputIntents");
- if (!outputIntents.isArray() || outputIntents.arrayGetLength() != 1)
+ if (!outputIntents.isArray() || outputIntents.getArray()->getLength() != 1)
return;
- Object firstElement = outputIntents.arrayGet(0);
+ Object firstElement = outputIntents.getArray()->get(0);
if (!firstElement.isDict())
return;
@@ -3300,7 +3300,7 @@ void PdfParser::build_annots(const Object &annot, int page_num)
_POPPLER_CALL_ARGS(Rect_obj, annot_dict->lookup, "Rect");
if (Rect_obj.isArray()) {
for (int i = 0; i < 2; i++) {
- _POPPLER_CALL_ARGS(xy_obj, Rect_obj.arrayGet, i);
+ _POPPLER_CALL_ARGS(xy_obj, Rect_obj.getArray()->get, i);
offset[i] = xy_obj.getNum();
}
doForm(&first_state_obj, offset);
diff --git a/src/extension/internal/pdfinput/poppler-transition-api.h b/src/extension/internal/pdfinput/poppler-transition-api.h
index 23550a3068..22bc8d223d 100644
--- a/src/extension/internal/pdfinput/poppler-transition-api.h
+++ b/src/extension/internal/pdfinput/poppler-transition-api.h
@@ -15,6 +15,12 @@
#include <glib/poppler-features.h>
#include <UTF.h>
+#if POPPLER_CHECK_VERSION(26, 7, 0)
+#define _POPPLER_STRING_26_7 std::string
+#else
+#define _POPPLER_STRING_26_7 GooString
+#endif
+
#if POPPLER_CHECK_VERSION(26, 6, 0)
#define _POPPLER_GET_GRAY(color, gray) getGray(color, gray)
#define _POPPLER_GET_RGB(color, rgb) getRGB(color, rgb)
diff --git a/src/extension/internal/pdfinput/poppler-utils.cpp b/src/extension/internal/pdfinput/poppler-utils.cpp
index 66dcf85e1d..0a82574209 100644
--- a/src/extension/internal/pdfinput/poppler-utils.cpp
+++ b/src/extension/internal/pdfinput/poppler-utils.cpp
@@ -187,15 +187,16 @@ void InkFontDict::hashFontObject1(const Object *obj, FNVHash *h)
case objNull:
h->hash('z');
break;
- case objArray:
- h->hash('a');
- n = obj->arrayGetLength();
- h->hash((char *)&n, sizeof(int));
- for (i = 0; i < n; ++i) {
- const Object &obj2 = obj->arrayGetNF(i);
- hashFontObject1(&obj2, h);
- }
- break;
+ case objArray: {
+ h->hash('a');
+ Array * objArray = obj->getArray();
+ n = objArray->getLength();
+ h->hash((char *)&n, sizeof(int));
+ for (i = 0; i < n; ++i) {
+ const Object &obj2 = objArray->getNF(i);
+ hashFontObject1(&obj2, h);
+ }
+ } break;
case objDict: {
h->hash('d');
auto objdict = obj->getDict();
@@ -207,8 +208,7 @@ void InkFontDict::hashFontObject1(const Object *obj, FNVHash *h)
const Object &obj2 = objdict->getValNF(i);
hashFontObject1(&obj2, h);
}
- }
- break;
+ } break;
case objStream:
// this should never happen - streams must be indirect refs
break;
@@ -546,7 +546,7 @@ void _getFontsRecursive(std::shared_ptr<PDFDoc> pdf_doc, Dict *resources, const
continue;
Ref resourcesRef;
- const Object resObj = obj2.streamGetDict()->lookup("Resources", &resourcesRef);
+ const Object resObj = obj2.getStream()->getDict()->lookup("Resources", &resourcesRef);
if (resourcesRef != Ref::INVALID() && !visitedObjects.insert(resourcesRef.num).second)
continue;
@@ -661,6 +661,11 @@ std::string getString(const GooString *value)
return "";
}
+std::string getString(const GooString &value)
+{
+ return getString(value.toStr());
+}
+
/**
* Convert PDF strings, which can be formatted as UTF8, UTF16BE or UTF16LE into
* a predictable UTF8 string consistant with svg requirements.
diff --git a/src/extension/internal/pdfinput/poppler-utils.h b/src/extension/internal/pdfinput/poppler-utils.h
index b11ecd11e5..27675b758e 100644
--- a/src/extension/internal/pdfinput/poppler-utils.h
+++ b/src/extension/internal/pdfinput/poppler-utils.h
@@ -86,6 +86,7 @@ std::string getDictString(Dict *dict, const char *key);
std::string getString(const std::string &value);
std::string getString(const std::unique_ptr<GooString> &value);
std::string getString(const GooString *value);
+std::string getString(const GooString &value);
std::string validateString(std::string const &in);
std::string sanitizeId(std::string const &in);
--
GitLab

View File

@@ -66,6 +66,16 @@ stdenv.mkDerivation (finalAttrs: {
hash = "sha256-9KKTr7p1vCgvGr6hFY83K5gbL7Ilm4Uzc86JIxv+ahI=";
revert = true;
})
# Fix gphoto2 backend build with glibc 2.43 C23 const-preserving strchr
(fetchpatch {
url = "https://gitlab.com/sane-project/backends/-/commit/d04d17b456d9847021b6df6eb08a3419a75172cf.patch";
hash = "sha256-4iAzwA+uh8W+xSpUkZgvShQ71kq/OVJ26pKsD1NwiXs=";
})
(fetchpatch {
url = "https://gitlab.com/sane-project/backends/-/commit/ebd4d82bd7a6b8c57870dbfb492e4c186cf584d8.patch";
hash = "sha256-vHtv+OMA0f9JR1ReshTg8IOgcZf7cnV7chitRBBCAg4=";
})
];
postPatch = ''

View File

@@ -37,6 +37,7 @@ buildMozillaMach rec {
spec = "firefox@${lib.removeSuffix "esr" version}";
};
};
broken = true; # doesn't build on glibc 2.44
};
tests = {
inherit (nixosTests) firefox-esr-140;

View File

@@ -1,7 +1,7 @@
{
lib,
stdenv,
glibmm,
glibmm_2_4,
pidgin,
pkg-config,
modemmanager,
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ pkg-config ];
buildInputs = [
glibmm
glibmm_2_4
pidgin
modemmanager
];

View File

@@ -15,6 +15,7 @@ let
sha512,
updateScript,
applicationName ? "Thunderbird",
broken ? stdenv.buildPlatform.is32bit,
}:
(buildMozillaMach rec {
pname = "thunderbird";
@@ -49,6 +50,7 @@ let
'';
meta = {
inherit broken;
changelog = "https://www.thunderbird.net/en-US/thunderbird/${version}/releasenotes/";
description = "Full-featured e-mail client";
homepage = "https://www.thunderbird.net/";
@@ -61,7 +63,6 @@ let
vcunat
];
platforms = lib.platforms.unix;
broken = stdenv.buildPlatform.is32bit;
# since Firefox 60, build on 32-bit platforms fails with "out of memory".
# not in `badPlatforms` because cross-compilation on 64-bit machine might work.
license = lib.licenses.mpl20;
@@ -120,6 +121,8 @@ rec {
versionPrefix = "140";
versionSuffix = "esr";
};
broken = true;
};
}
// lib.optionalAttrs config.allowAliases {

View File

@@ -219,7 +219,6 @@ lib.extendMkDerivation {
env = args.env or { } // {
inherit (go) GOOS GOARCH;
GO111MODULE = "on";
GOTOOLCHAIN = "local";
CGO_ENABLED = args.env.CGO_ENABLED or go.CGO_ENABLED;

View File

@@ -103,6 +103,8 @@ let
outputHash = hash;
outputHashAlgo = if hash == "" then "sha256" else null;
outputHashMode = "recursive";
__structuredAttrs = true;
}
// removeAttrs args removedArgs
);
@@ -115,6 +117,8 @@ runCommand "${name}-vendor"
cargo
replaceWorkspaceValues
];
strictDeps = true;
__structuredAttrs = true;
}
''
fetch-cargo-vendor-util create-vendor "$vendorStaging" "$out"

View File

@@ -132,6 +132,9 @@
substitutions = {
libclang = (lib.getLib clang.cc);
inherit clang;
targetFlag = lib.optionalString (
!lib.systems.equals stdenv.targetPlatform stdenv.hostPlatform
) "--target=${stdenv.targetPlatform.config}";
};
meta.license = lib.licenses.mit;
} ./rust-bindgen-hook.sh;

View File

@@ -6,7 +6,7 @@
populateBindgenEnv () {
export LIBCLANG_PATH=@libclang@/lib
BINDGEN_EXTRA_CLANG_ARGS="$(< @clang@/nix-support/cc-cflags) $(< @clang@/nix-support/libc-cflags) $(< @clang@/nix-support/libcxx-cxxflags) $NIX_CFLAGS_COMPILE"
BINDGEN_EXTRA_CLANG_ARGS="@targetFlag@ $(< @clang@/nix-support/cc-cflags) $(< @clang@/nix-support/libc-cflags) $(< @clang@/nix-support/libcxx-cxxflags) $NIX_CFLAGS_COMPILE"
export BINDGEN_EXTRA_CLANG_ARGS
}

View File

@@ -49,6 +49,8 @@ runCommand "${rustc-unwrapped.pname}-wrapper-${rustc-unwrapped.version}"
unwrapped = rustc-unwrapped;
};
__structuredAttrs = true;
meta = rustc-unwrapped.meta // {
description = "${rustc-unwrapped.meta.description} (wrapper script)";
priority = 10;

View File

@@ -192,23 +192,25 @@ _multioutPropagateDev() {
propagaterOutput="$outputFirst"
fi
# Default value: propagate binaries, includes and libraries
if [ -z "${propagatedBuildOutputs+1}" ]; then
local outputsToPropagate=()
if declare -p propagatedBuildOutputs &>/dev/null; then
concatTo outputsToPropagate propagatedBuildOutputs
else
local po_dirty="$outputBin $outputInclude $outputLib"
set +o pipefail
propagatedBuildOutputs=`echo "$po_dirty" \
readarray -t outputsToPropagate < <(echo "$po_dirty" \
| tr -s ' ' '\n' | grep -v -F "$propagaterOutput" \
| sort -u | tr '\n' ' ' `
| sort -u )
set -o pipefail
fi
# The variable was explicitly set to empty or we resolved it so
if [ -z "$propagatedBuildOutputs" ]; then
# Check whether we actually have any outputs to propagate
if [[ "${#outputsToPropagate[@]}" -eq 0 ]]; then
return
fi
mkdir -p "${!propagaterOutput}"/nix-support
for output in $propagatedBuildOutputs; do
for output in "${outputsToPropagate[@]}"; do
echo -n " ${!output}" >> "${!propagaterOutput}"/nix-support/propagated-build-inputs
done
}

View File

@@ -6,7 +6,7 @@
# required LTS branch, leaving `abseil-cpp` as an alias.
{
abseil-cpp_202601,
abseil-cpp_202608,
cxxStandard ? null,
}:
abseil-cpp_202601.override { inherit cxxStandard; }
abseil-cpp_202608.override { inherit cxxStandard; }

View File

@@ -23,6 +23,12 @@ stdenv.mkDerivation (finalAttrs: {
hash = "sha256-TvjoLUKO2+YgS1mlyglLb+rBLTO/SWSBVA2S34Z6kMI=";
};
outputs = [
"out"
"dev"
];
strictDeps = true;
nativeBuildInputs = [
cmake
validatePkgConfig
@@ -54,6 +60,8 @@ stdenv.mkDerivation (finalAttrs: {
};
};
__structuredAttrs = true;
meta = {
description = "WHATWG-compliant and fast URL parser written in modern C";
homepage = "https://github.com/ada-url/ada";

View File

@@ -33,6 +33,9 @@ stdenv.mkDerivation (finalAttrs: {
zlib
];
# glibc 2.43 C23 const-preserving strchr/strstr macros
env.NIX_CFLAGS_COMPILE = "-Wno-error=discarded-qualifiers";
dontUseCmakeConfigure = true;
preBuild = ''

View File

@@ -3,6 +3,7 @@
stdenv,
stdenvNoCC,
fetchFromGitHub,
substitute,
rustPlatform,
electron,
nodejs_22,
@@ -51,14 +52,24 @@ stdenv.mkDerivation (finalAttrs: {
owner = "toeverything";
repo = "AFFiNE";
tag = "v${finalAttrs.version}";
hash = "sha256-gtdhWLNZRNY91j9wVVny1bRAjZAwIvNJr11ePQapWYQ=";
};
hash = "sha256-RotC2mNtMig3QKcKo8zr15myAqkPDuBopvV9wLlr2tQ=";
patches = [
# Remove after upstream updates to Yarn 4.14
# https://github.com/toeverything/AFFiNE/blob/canary/package.json#L96
./yarn-4.14-support.patch
];
# Remove when updating since upstream has updated Yarn
# https://github.com/toeverything/AFFiNE/commit/6375f5ab8c389831327284f4795d8397de085153
postFetch = ''
cd $out
patch -p1 < ${
(substitute {
src = ./yarn-fix.patch;
substitutions = [
"--replace-fail"
"YARN_LOCKFILE_VERSION_PLACEHOLDER"
yarn-berry.lockfileVersion
];
})
}
'';
};
cargoDeps = rustPlatform.fetchCargoVendor {
inherit (finalAttrs) pname version src;
@@ -68,7 +79,7 @@ stdenv.mkDerivation (finalAttrs: {
# keep yarnOfflineCache same output style with offlineCache = yarn-berry.fetchYarnBerryDeps { inherit (finalAttrs) src missingHashes; hash = "" };
yarnOfflineCache = stdenvNoCC.mkDerivation {
name = "yarn-offline-cache";
inherit (finalAttrs) src patches;
inherit (finalAttrs) src;
nativeBuildInputs = [
yarn-berry
cacert
@@ -112,7 +123,7 @@ stdenv.mkDerivation (finalAttrs: {
'';
dontInstall = true;
outputHashMode = "recursive";
outputHash = "sha256-mNvvKbj9mUioh5Jw4CcRt0CpX1IcQC8JOxUnyy0Lw9c=";
outputHash = "sha256-gje8iTCiy3N/zYRuf/CGUVfGw0RSVXTPu4SjnE9+OY8=";
};
buildInputs = lib.optionals hostPlatform.isDarwin [

View File

@@ -1,23 +0,0 @@
diff --git a/.yarnrc.yml b/.yarnrc.yml
--- a/.yarnrc.yml
+++ b/.yarnrc.yml
@@ -12,4 +12,7 @@ npmPublishAccess: public
npmRegistryServer: "https://registry.npmjs.org"
-yarnPath: .yarn/releases/yarn-4.12.0.cjs
+approvedGitRepositories:
+ - "**"
+
+enableScripts: true
diff --git a/yarn.lock b/yarn.lock
--- a/yarn.lock
+++ b/yarn.lock
@@ -2,6 +2,6 @@
# Manual changes might be lost - proceed with caution!
__metadata:
- version: 8
+ version: 9
cacheKey: 10

View File

@@ -0,0 +1,58 @@
diff --git a/.yarnrc.yml b/.yarnrc.yml
--- a/.yarnrc.yml
+++ b/.yarnrc.yml
@@ -12,4 +12,7 @@ npmPublishAccess: public
npmRegistryServer: "https://registry.npmjs.org"
-yarnPath: .yarn/releases/yarn-4.12.0.cjs
+approvedGitRepositories:
+ - "**"
+
+enableScripts: true
diff --git a/yarn.lock b/yarn.lock
--- a/yarn.lock
+++ b/yarn.lock
@@ -2,6 +2,6 @@
# Manual changes might be lost - proceed with caution!
__metadata:
- version: 8
+ version: YARN_LOCKFILE_VERSION_PLACEHOLDER
cacheKey: 10
diff --git a/yarn.lock b/yarn.lock
--- a/yarn.lock
+++ b/yarn.lock
@@ -33250,27 +33250,27 @@ __metadata:
"resolve@patch:resolve@npm%3A^1.1.6#optional!builtin<compat/resolve>, resolve@patch:resolve@npm%3A^1.10.0#optional!builtin<compat/resolve>, resolve@patch:resolve@npm%3A^1.19.0#optional!builtin<compat/resolve>, resolve@patch:resolve@npm%3A^1.20.0#optional!builtin<compat/resolve>, resolve@patch:resolve@npm%3A^1.22.1#optional!builtin<compat/resolve>, resolve@patch:resolve@npm%3A^1.22.8#optional!builtin<compat/resolve>":
version: 1.22.11
- resolution: "resolve@patch:resolve@npm%3A1.22.11#optional!builtin<compat/resolve>::version=1.22.11&hash=c3c19d"
+ resolution: "resolve@patch:resolve@npm%3A1.22.11#optional!builtin<compat/resolve>::version=1.22.11&hash=9bd1a5"
dependencies:
is-core-module: "npm:^2.16.1"
path-parse: "npm:^1.0.7"
supports-preserve-symlinks-flag: "npm:^1.0.0"
bin:
resolve: bin/resolve
- checksum: 10/fd342cad25e52cd6f4f3d1716e189717f2522bfd6641109fe7aa372f32b5714a296ed7c238ddbe7ebb0c1ddfe0b7f71c9984171024c97cf1b2073e3e40ff71a8
+ checksum: 10/c990146fed81dd7792c56c1d62c170a8c8330bee86ef5d2524f0b1db79cfd9a6e2b4ad3cd4742b2685e51117b67be5d6f8cfd6ffa9c57bd64a1c8c8c9ff4c965
languageName: node
linkType: hard
"resolve@patch:resolve@npm%3A^2.0.0-next.5#optional!builtin<compat/resolve>":
version: 2.0.0-next.5
- resolution: "resolve@patch:resolve@npm%3A2.0.0-next.5#optional!builtin<compat/resolve>::version=2.0.0-next.5&hash=c3c19d"
+ resolution: "resolve@patch:resolve@npm%3A2.0.0-next.5#optional!builtin<compat/resolve>::version=2.0.0-next.5&hash=9bd1a5"
dependencies:
is-core-module: "npm:^2.13.0"
path-parse: "npm:^1.0.7"
supports-preserve-symlinks-flag: "npm:^1.0.0"
bin:
resolve: bin/resolve
- checksum: 10/05fa778de9d0347c8b889eb7a18f1f06bf0f801b0eb4610b4871a4b2f22e220900cf0ad525e94f990bb8d8921c07754ab2122c0c225ab4cdcea98f36e64fa4c2
+ checksum: 10/76c221deb1d986c0a80cd576373b0ee09f42871e0085a1f76beda84f73ce04e0d21bab28dffd326eb006a7af83bbc582404566b384aa3b0baa217f56cf7e8618
languageName: node
linkType: hard

View File

@@ -1,15 +1,13 @@
{
lib,
fetchFromGitHub,
llvmPackages,
swiftPackages,
fetchSwiftPMDeps,
stdenv,
swift,
swiftpm,
nix-update-script,
}:
let
inherit (llvmPackages) stdenv;
in
stdenv.mkDerivation (finalAttrs: {
pname = "age-plugin-se";
version = "0.2.1";
@@ -26,43 +24,18 @@ stdenv.mkDerivation (finalAttrs: {
swiftpm
];
env = lib.optionalAttrs stdenv.hostPlatform.isLinux {
# Can't find libdispatch without this on NixOS. (swift 5.8)
LD_LIBRARY_PATH = "${swiftPackages.Dispatch}/lib";
swiftpmDeps = fetchSwiftPMDeps {
inherit (finalAttrs) pname version src;
hash = "sha256-rGPaSlNmW4zn2bBhu3LnJvPUWBQhAfFmHnNFm9jKR+8=";
};
postPatch =
let
swift-crypto = fetchFromGitHub {
owner = "apple";
repo = "swift-crypto";
tag = "3.7.1";
hash = "sha256-zxmHxTryAezgqU5qjXlFFThJlfUsPxb1KRBan4DSm9A=";
};
in
''
${lib.optionalString (lib.versionAtLeast swift.version "6") ''
echo "age-plugin-se still applies patch-package-swift-legacy; remove or revisit this patch now that nixpkgs Swift is 6+."
exit 1
''}
make patch-package-swift-legacy
ln -s ${swift-crypto} swift-crypto
substituteInPlace Package.swift --replace-fail 'url: "https://github.com/apple/swift-crypto.git"' 'path: "./swift-crypto"), //'
${lib.optionalString stdenv.hostPlatform.isLinux ''
# Swift 5.10.1's corelibs Foundation lacks Date.ISO8601Format().
# Remove this substitution once the upstream fallback is released:
# https://github.com/remko/age-plugin-se/issues/20
substituteInPlace Sources/Plugin.swift --replace-fail \
'let createdAt = now.ISO8601Format()' \
'let createdAt = ISO8601DateFormatter().string(from: now)'
''}
'';
makeFlags = [
"PREFIX=$(out)"
"RELEASE=1"
];
dontUseSwiftpmInstall = true;
passthru.updateScript = nix-update-script { };
meta = {

View File

@@ -1,13 +1,12 @@
{
lib,
fetchFromGitHub,
stdenv,
swift,
swiftPackages,
swiftpm,
}:
# Doesn't build without using the same stdenv (and Clang) to build swift
swiftPackages.stdenv.mkDerivation {
stdenv.mkDerivation {
pname = "airdrop-cli";
version = "0-unstable-2025-07-14";
@@ -27,6 +26,8 @@ swiftPackages.stdenv.mkDerivation {
"PREFIX=$(out)"
];
dontUseSwiftpmInstall = true;
meta = {
description = "Use Airdrop from the CLI on macOS written in Swift";
homepage = "https://github.com/vldmrkl/airdrop-cli";

View File

@@ -22,7 +22,10 @@ stdenv.mkDerivation (finalAttrs: {
hash = "sha256-DkfpMK0T67B4mnriignf4hx6Ifddls0rN0SxyfEsPZg=";
};
env.NIX_CFLAGS_COMPILE = toString [ "-Wno-error=deprecated-declarations" ];
env.NIX_CFLAGS_COMPILE = toString [
"-Wno-error=deprecated-declarations"
"-Wno-error=discarded-qualifiers"
];
makeFlags = [
"DESTDIR=\${out}"

View File

@@ -1,39 +0,0 @@
From 85a2e0440f8af42ae02cf7fee1119255b2459016 Mon Sep 17 00:00:00 2001
From: nixpkgs <nix@nixpkgs>
Date: Fri, 10 Jul 2026 12:21:11 +0300
Subject: [PATCH 1/4] replace count(where:) with filter{}.count for Swift 5.10
---
src/events/TrackpadEvents.swift | 2 +-
src/switcher/main-window/StatusIconsView.swift | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/events/TrackpadEvents.swift b/src/events/TrackpadEvents.swift
index 2f1909df..5e187064 100644
--- a/src/events/TrackpadEvents.swift
+++ b/src/events/TrackpadEvents.swift
@@ -76,7 +76,7 @@ class TrackpadEvents {
// on macOS, the finger contact surface is not exposed in NSTouch, so we can't detect big contact == palm, for example
// the closest thing we can do to detect resting inputs is remove touches which have .phase == .stationary
let activeTouches = touches.filter { !$0.isResting && ($0.phase == .began || $0.phase == .moved) }
- let fingersDown = touches.count { $0.phase == .began || $0.phase == .moved || $0.phase == .stationary }
+ let fingersDown = touches.filter { $0.phase == .began || $0.phase == .moved || $0.phase == .stationary }.count
let requiredFingers = Preferences.nextWindowGesture.isThreeFinger() ? 3 : 4
if SwitcherSession.isActive {
handleEventIfAppIsBeingUsed(fingersDown, activeTouches, requiredFingers)
diff --git a/src/switcher/main-window/StatusIconsView.swift b/src/switcher/main-window/StatusIconsView.swift
index beeb2a54..2f35bddc 100644
--- a/src/switcher/main-window/StatusIconsView.swift
+++ b/src/switcher/main-window/StatusIconsView.swift
@@ -76,7 +76,7 @@ class StatusIconsView: FlippedView {
icons[Self.fullscreenIdx].visible = isFullscreen
icons[Self.minimizedIdx].visible = isMinimized
icons[Self.spaceIdx].visible = showSpace
- visibleCount = icons.count(where: { $0.visible })
+ visibleCount = icons.filter { $0.visible }.count
}
func setSpaceStar() {
--
2.55.0

View File

@@ -1,39 +0,0 @@
From 7313d220616e756c4bb4f2c8cc5cf6b6b2e4789c Mon Sep 17 00:00:00 2001
From: nixpkgs <nix@nixpkgs>
Date: Fri, 10 Jul 2026 12:21:11 +0300
Subject: [PATCH 2/4] replace .extraLarge with .large for macOS 14 SDK
---
src/preferences/settings-window/SettingsWindow.swift | 2 +-
src/switcher/main-window/TilesView.swift | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/preferences/settings-window/SettingsWindow.swift b/src/preferences/settings-window/SettingsWindow.swift
index 866329ea..44f1da76 100644
--- a/src/preferences/settings-window/SettingsWindow.swift
+++ b/src/preferences/settings-window/SettingsWindow.swift
@@ -462,7 +462,7 @@ class SettingsWindow: NSWindow {
searchField.sendsWholeSearchString = true
searchField.bezelStyle = .roundedBezel
if #available(macOS 26.0, *) {
- searchField.controlSize = .extraLarge
+ searchField.controlSize = .large
} else if #available(macOS 13.0, *) {
searchField.controlSize = .large
}
diff --git a/src/switcher/main-window/TilesView.swift b/src/switcher/main-window/TilesView.swift
index d6c7fb69..b6f374c9 100644
--- a/src/switcher/main-window/TilesView.swift
+++ b/src/switcher/main-window/TilesView.swift
@@ -142,7 +142,7 @@ class TilesView {
searchField.sendsWholeSearchString = true
searchField.bezelStyle = .roundedBezel
if #available(macOS 26.0, *) {
- searchField.controlSize = .extraLarge
+ searchField.controlSize = .large
} else if #available(macOS 13.0, *) {
searchField.controlSize = .large
} else {
--
2.55.0

View File

@@ -1,193 +0,0 @@
From 727f4c5aed5960bb429c7df0bbc3a547e05db7dd Mon Sep 17 00:00:00 2001
From: nixpkgs <nix@nixpkgs>
Date: Fri, 10 Jul 2026 12:21:12 +0300
Subject: [PATCH 3/4] use runtime dispatch for Liquid Glass with SDK 14
---
src/switcher/Appearance.swift | 2 +-
.../TilesPanelBackgroundView.swift | 122 +++++++++++-------
2 files changed, 77 insertions(+), 47 deletions(-)
diff --git a/src/switcher/Appearance.swift b/src/switcher/Appearance.swift
index dd033fa4..efb70c77 100644
--- a/src/switcher/Appearance.swift
+++ b/src/switcher/Appearance.swift
@@ -83,7 +83,7 @@ class Appearance {
lightTheme()
}
// for Liquid Glass, we don't want a shadow around the panel
- if #available(macOS 26.0, *), currentStyle == .appIcons && LiquidGlass.canUsePrivateLook {
+ if #available(macOS 26.0, *), currentStyle == .appIcons && LiquidGlassEffectView.canUsePrivateLook {
enablePanelShadow = false
} else {
enablePanelShadow = true
diff --git a/src/switcher/main-window/TilesPanelBackgroundView.swift b/src/switcher/main-window/TilesPanelBackgroundView.swift
index cea0819c..99d12b06 100644
--- a/src/switcher/main-window/TilesPanelBackgroundView.swift
+++ b/src/switcher/main-window/TilesPanelBackgroundView.swift
@@ -7,12 +7,81 @@ protocol EffectView: NSView {
}
@available(macOS 26.0, *)
-extension NSGlassEffectView: EffectView {
- func updateAppearance() {
- cornerRadius = Appearance.windowCornerRadius
+class LiquidGlassEffectView: NSView, EffectView {
+ private typealias SetIntType = @convention(c) (AnyObject, Selector, Int) -> Void
+ private typealias SetCGFloatType = @convention(c) (AnyObject, Selector, CGFloat) -> Void
+ private typealias SetObjectType = @convention(c) (AnyObject, Selector, AnyObject) -> Void
+ private static let setVariantSelector = NSSelectorFromString("set_variant:")
+ private static let setStyleSelector = NSSelectorFromString("setStyle:")
+ private static let setCornerRadiusSelector = NSSelectorFromString("setCornerRadius:")
+ private static let setContentViewSelector = NSSelectorFromString("setContentView:")
+ private static let glassClass: AnyClass? = NSClassFromString("NSGlassEffectView")
+
+ static let canUsePrivateLook: Bool = {
+ guard let cls = glassClass else { return false }
+ return class_getInstanceMethod(cls, setVariantSelector) != nil
+ }()
+
+ private var glassView: NSView?
+ private var contentHost: NSView!
+
+ var hostView: NSView { contentHost }
+
+ convenience init(clear: Bool) {
+ self.init(frame: .zero)
+ wantsLayer = true
+ layer!.masksToBounds = true
+
+ let glass: NSView
+ if let cls = Self.glassClass as? NSView.Type {
+ glass = cls.init(frame: .zero)
+ } else {
+ glass = NSView(frame: .zero)
+ }
+ glass.translatesAutoresizingMaskIntoConstraints = false
+ addSubview(glass)
+ NSLayoutConstraint.activate([
+ glass.leadingAnchor.constraint(equalTo: leadingAnchor),
+ glass.trailingAnchor.constraint(equalTo: trailingAnchor),
+ glass.topAnchor.constraint(equalTo: topAnchor),
+ glass.bottomAnchor.constraint(equalTo: bottomAnchor),
+ ])
+ glassView = glass
+
+ // NSGlassEffectView.Style: regular = 0, clear = 1
+ Self.invokeIntSetter(glass, Self.setStyleSelector, clear ? 1 : 0)
+ if clear {
+ Self.invokeIntSetter(glass, Self.setVariantSelector, 3)
+ }
+ contentHost = NSView(frame: .zero)
+ Self.invokeObjectSetter(glass, Self.setContentViewSelector, contentHost)
+ updateAppearance()
+ }
+
+ private static func invokeIntSetter(_ target: AnyObject, _ selector: Selector, _ value: Int) {
+ guard let method = class_getInstanceMethod(object_getClass(target), selector) else { return }
+ let function = unsafeBitCast(method_getImplementation(method), to: SetIntType.self)
+ function(target, selector, value)
}
- var hostView: NSView { contentView! }
+ private static func invokeCGFloatSetter(_ target: AnyObject, _ selector: Selector, _ value: CGFloat) {
+ guard let method = class_getInstanceMethod(object_getClass(target), selector) else { return }
+ let function = unsafeBitCast(method_getImplementation(method), to: SetCGFloatType.self)
+ function(target, selector, value)
+ }
+
+ private static func invokeObjectSetter(_ target: AnyObject, _ selector: Selector, _ value: AnyObject) {
+ guard let method = class_getInstanceMethod(object_getClass(target), selector) else { return }
+ let function = unsafeBitCast(method_getImplementation(method), to: SetObjectType.self)
+ function(target, selector, value)
+ }
+
+ func updateAppearance() {
+ let radius = Appearance.windowCornerRadius
+ layer?.cornerRadius = radius
+ guard let glass = glassView else { return }
+ Self.invokeCGFloatSetter(glass, Self.setCornerRadiusSelector, radius)
+ }
}
class FrostedGlassEffectView: NSVisualEffectView, EffectView {
@@ -51,28 +120,6 @@ class FrostedGlassEffectView: NSVisualEffectView, EffectView {
}
}
-/// The App Icons style uses the private `set_variant:` on `NSGlassEffectView` to get the macOS
-/// Cmd-Tab-like clear glass look. `style = .clear` alone renders nearly fully transparent, so the
-/// variant is what makes the panel visible. Lives here as a free helper (no NSGlassEffectView subclass).
-enum LiquidGlass {
- private static let setVariantSelector = NSSelectorFromString("set_variant:")
- private typealias SetVariantFn = @convention(c) (AnyObject, Selector, Int) -> Void
-
- static let canUsePrivateLook: Bool = {
- if #available(macOS 26.0, *) {
- return class_getInstanceMethod(object_getClass(NSGlassEffectView()), setVariantSelector) != nil
- }
- return false
- }()
-
- @available(macOS 26.0, *)
- static func applyClearVariant(_ view: NSGlassEffectView) {
- guard let method = class_getInstanceMethod(object_getClass(view), setVariantSelector) else { return }
- let f = unsafeBitCast(method_getImplementation(method), to: SetVariantFn.self)
- f(view, setVariantSelector, 3)
- }
-}
-
enum EffectViewKind {
case frosted
case liquidGlassRegular
@@ -82,7 +129,7 @@ enum EffectViewKind {
func requiredEffectViewKind() -> EffectViewKind {
if #available(macOS 26.0, *) {
if Preferences.effectiveAppearanceStyle(SwitcherSession.activeShortcutIndex) == .appIcons,
- LiquidGlass.canUsePrivateLook {
+ LiquidGlassEffectView.canUsePrivateLook {
return .liquidGlassClear
}
return .liquidGlassRegular
@@ -90,28 +137,11 @@ func requiredEffectViewKind() -> EffectViewKind {
return .frosted
}
-@available(macOS 26.0, *)
-private func makeGlassEffectView(clear: Bool) -> NSGlassEffectView {
- let glass = NSGlassEffectView()
- glass.style = clear ? .clear : .regular
- if clear {
- LiquidGlass.applyClearVariant(glass)
- }
- // NSGlassEffectView only renders views embedded in `contentView`; this single host holds the
- // scroll view, search field and empty-state label so they all sit inside the glass.
- glass.contentView = NSView()
- glass.updateAppearance()
- // without this, there are weird shadows around the corners (most visible with .regular glass)
- glass.wantsLayer = true
- glass.layer!.masksToBounds = true
- return glass
-}
-
func makeEffectView(for kind: EffectViewKind) -> EffectView {
if #available(macOS 26.0, *) {
switch kind {
case .liquidGlassClear:
- return makeGlassEffectView(clear: true)
+ return LiquidGlassEffectView(clear: true)
case .liquidGlassRegular:
if Preferences.effectiveAppearanceStyle(SwitcherSession.activeShortcutIndex) == .appIcons {
Logger.error {
@@ -119,7 +149,7 @@ func makeEffectView(for kind: EffectViewKind) -> EffectView {
return "Private API set_variant is no longer available. macOS version: \(os.majorVersion).\(os.minorVersion).\(os.patchVersion)"
}
}
- return makeGlassEffectView(clear: false)
+ return LiquidGlassEffectView(clear: false)
case .frosted:
break
}
--
2.55.0

View File

@@ -0,0 +1,53 @@
diff --git a/src/macos/SystemPermissions.swift b/src/macos/SystemPermissions.swift
index 4a98ef9461..ae983eb73a 100644
--- a/src/macos/SystemPermissions.swift
+++ b/src/macos/SystemPermissions.swift
@@ -158,24 +158,7 @@
// their return value is not updated during the app lifetime
// note: shows the system prompt if there's no permission
private static func isGrantedOnSomeDisplay() -> Bool {
- if #available(macOS 12.3, *) {
- return checkWithSCShareableContent()
- } else {
- let mainDisplayID = CGMainDisplayID()
- if checkWithCGDisplayStream(mainDisplayID) {
- return true
- }
- // maybe the main screen can't produce a CGDisplayStream, but another screen can
- // a positive on any screen must mean that the permission is granted; we try on the other screens
- for screen in NSScreen.screens {
- if let id = screen.number(), id != mainDisplayID {
- if checkWithCGDisplayStream(id) {
- return true
- }
- }
- }
- return false
- }
+ return checkWithSCShareableContent()
}
@available(macOS 12.3, *)
@@ -193,22 +176,6 @@
}
}
- private static func checkWithCGDisplayStream(_ id: CGDirectDisplayID) -> Bool {
- return runWithTimeout { completion in
- // this initializer can actually block for a while
- // it's undocumented but has been proven by spindumps shared by AltTab users
- let displayStream = CGDisplayStream(
- dispatchQueueDisplay: id,
- outputWidth: 1,
- outputHeight: 1,
- pixelFormat: Int32(kCVPixelFormatType_32BGRA),
- properties: nil,
- queue: .global()
- ) { _, _, _, _ in }
- completion(displayStream != nil)
- }
- }
-
private static func runWithTimeout(_ block: @escaping (@escaping (Bool) -> Void) -> Void) -> Bool {
let semaphore = DispatchSemaphore(value: 0)
var result = false

View File

@@ -1,17 +1,16 @@
{
lib,
swiftPackages,
fetchFromGitHub,
actool,
lld,
stdenv,
swift,
makeWrapper,
nix-update-script,
rcodesign,
}:
let
inherit (swiftPackages) stdenv swift;
toPlist = lib.generators.toPlist { escape = true; };
deploymentTarget = "14.0";
sdkVersion = "26.0";
@@ -83,9 +82,6 @@ let
allFrameworks = lib.catAttrs "name" frameworks;
objcFrameworks = lib.filter (fw: fw ? objc) frameworks;
# apple-sdk_26 cannot be used here because swiftPackages compiles its own modules
# against apple-sdk_14; adding it to buildInputs redirects SDKROOT and breaks Swift's
# foundational modules
commonSwiftFlags = [
"-O"
"-swift-version"
@@ -282,30 +278,15 @@ stdenv.mkDerivation (finalAttrs: {
];
patches = [
# Swift 5.10 compatibility: count(where:), .extraLarge, Liquid Glass
./0001-replace-count-where-with-filter-.count-for-Swift-5.1.patch
./0002-replace-.extraLarge-with-.large-for-macOS-14-SDK.patch
./0003-use-runtime-dispatch-for-Liquid-Glass-with-SDK-14.patch
# Don't offer preferences for services disabled by the source-only stubs.
./0004-hide-settings-for-disabled-services.patch
# Avoids error about `CGDisplayStream` initializer being unavailable on macOS when using the 26.x SDK.
./0005-avoid-using-obsolete-api.patch
];
# Remove trailing comma incompatible with Swift 5.10
postPatch = ''
substituteInPlace Info.plist \
${substitutePlistVariables (infoPlistSubstitutions finalAttrs.version)}
substituteInPlace src/secondary-windows/permission-window/PermissionsWindow.swift \
--replace-fail \
'"x-apple.systempreferences:com.apple.preference.security?Privacy_Accessibility",' \
'"x-apple.systempreferences:com.apple.preference.security?Privacy_Accessibility"'
# Swift 5.10 compat: additional call site using trailing-closure
# sugar for count(where:). See 0001-replace-count-where-...patch.
substituteInPlace src/util/UsageStats.swift \
--replace-fail \
'getTimestamps(key).count { $0 >= threshold }' \
'getTimestamps(key).filter { $0 >= threshold }.count'
'';
dontConfigure = true;

View File

@@ -24,6 +24,7 @@
yarn,
yarn-berry_4,
runCommand,
substitute,
wrapGAppsHook3,
@@ -42,7 +43,7 @@ let
srcHash = "sha256-0sqtKiMqw7MLXVFSCT1sKX/VO7q5BY63pJP5OnCE2zo=";
cargoHash = "sha256-LQ5uD86ZOKXy9vGbTqPBi3Q57PZEjwQkbHR94QAIVMg=";
yarnHash = "sha256-bOgiZImraPXR/gVk9MB3o9GScMGvLvdhc9mLAaCA4IE=";
yarnHash = "sha256-mpHGclmQxFqiIuZWFTOYBKQW24ugSVhQiYMTmyyk/n4=";
pythonDeps =
with python3Packages;
[
@@ -155,9 +156,16 @@ python3Packages.buildPythonApplication (finalAttrs: {
# Used in with-addons.nix
./patches/allow-setting-addons-folder.patch
# Remove after upstream updates to Yarn 4.14
# https://github.com/ankitects/anki/blob/main/package.json#L99
./patches/yarn-4.14-support.patch
# Remove after upstream updates to Yarn 4.15
# https://github.com/ankitects/anki/blob/main/package.json#L103
(substitute {
src = ./patches/yarn-fix.patch;
substitutions = [
"--replace-fail"
"YARN_LOCKFILE_VERSION_PLACEHOLDER"
yarn-berry.lockfileVersion
];
})
];
inherit cargoDeps;

View File

@@ -14,6 +14,6 @@ diff --git a/yarn.lock b/yarn.lock
__metadata:
- version: 8
+ version: 9
+ version: YARN_LOCKFILE_VERSION_PLACEHOLDER
cacheKey: 10c0

View File

@@ -75,7 +75,7 @@ stdenv.mkDerivation (finalAttrs: {
GTEST_HOME = gtest.dev;
LZ4_HOME = lz4;
ORC_FORMAT_URL = orc-format;
PROTOBUF_HOME = protobuf;
PROTOBUF_HOME = protobuf.full; # Configure script expects to find both executables and headers at this path.
SNAPPY_HOME = snappy.dev;
ZLIB_HOME = zlib.dev;
ZSTD_HOME = zstd.dev;

View File

@@ -482,6 +482,40 @@
{
"package": "swift",
"libraries": [
"swift/Cxx.swiftmodule",
"swift/CxxStdlib.swiftmodule",
"swift/Distributed.swiftmodule",
"swift/Observation.swiftmodule",
"swift/RegexBuilder.swiftmodule",
"swift/Runtime.swiftmodule",
"swift/Swift.swiftmodule",
"swift/SwiftOnoneSupport.swiftmodule",
"swift/Synchronization.swiftmodule",
"swift/_Builtin_float.swiftmodule",
"swift/_Concurrency.swiftmodule",
"swift/_Differentiation.swiftmodule",
"swift/_RegexParser.swiftmodule",
"swift/_StringProcessing.swiftmodule",
"swift/_Volatile.swiftmodule",
"swift/lib_InternalSwiftStaticMirror.tbd",
"swift/libcxxshim.h",
"swift/libcxxshim.modulemap",
"swift/libcxxstdlibshim.h",
"swift/libswiftCompatibilitySpan.tbd",
"swift/libswiftCore.tbd",
"swift/libswiftDistributed.tbd",
"swift/libswiftObservation.tbd",
"swift/libswiftRegexBuilder.tbd",
"swift/libswiftRemoteMirror.tbd",
"swift/libswiftRuntime.tbd",
"swift/libswiftSwiftOnoneSupport.tbd",
"swift/libswiftSynchronization.tbd",
"swift/libswift_Builtin_float.tbd",
"swift/libswift_Concurrency.tbd",
"swift/libswift_Differentiation.tbd",
"swift/libswift_RegexParser.tbd",
"swift/libswift_StringProcessing.tbd",
"swift/libswift_Volatile.tbd",
"swift/shims"
]
},

View File

@@ -22,5 +22,13 @@
],
"version": "26.5",
"hash": "sha256-IkDNtiO7PP4GI6OszCNWE1Xb4iepCUKwQHYUyc9NgNA="
},
"27": {
"urls": [
"https://swcdn.apple.com/content/downloads/58/48/082-83364-A_KCEBOO2NJS/0d2rj4y5ucjlkgcvqt6f6a4pergug5tu2b/CLTools_macOSNMOS_SDK.pkg",
"https://web.archive.org/web/20260910221111/https://swcdn.apple.com/content/downloads/58/48/082-83364-A_KCEBOO2NJS/0d2rj4y5ucjlkgcvqt6f6a4pergug5tu2b/CLTools_macOSNMOS_SDK.pkg"
],
"version": "27.0",
"hash": "sha256-qTDE8wu3pfk21WtgboKHYH/MiJnC8gKpDeMyrRJZaP8="
}
}

View File

@@ -100,6 +100,7 @@ stdenvNoCC.mkDerivation (
passthru = {
sdkroot = finalAttrs.finalPackage + "/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk";
tests = callPackage ./tests { };
};
__structuredAttrs = true;

View File

@@ -0,0 +1,10 @@
#include <math.h>
#include <stdio.h>
int main() {
if (@available(macOS 15, *)) {
printf("%f\n", (double) __sqrtf16(2));
} else {
printf(":(\n");
}
}

View File

@@ -0,0 +1,2 @@
project('apple-sdk_15-test', 'objc')
executable('apple-sdk_15-test', 'apple-sdk_15-test.m', install : true)

View File

@@ -0,0 +1,21 @@
#include <stdio.h>
#include <spawn.h>
int main(int argc, char** argv, char** env) {
if (@available(macOS 26, *)) {
int ret;
pid_t pid;
posix_spawn_file_actions_t actions;
if ((ret = posix_spawn_file_actions_init(&actions))) {
printf("cannot create file_actions\n");
}
if ((ret = posix_spawn_file_actions_addchdir(&actions, "/tmp"))) {
printf("cannot add_chdir\n");
}
if ((ret = posix_spawnp(&pid, "pwd", &actions, NULL, argv, env))) {
printf("cannot spawn\n");
}
} else {
printf(":(\n");
}
}

View File

@@ -0,0 +1,2 @@
project('apple-sdk_26-test', 'objc')
executable('apple-sdk_26-test', 'apple-sdk_26-test.m', install : true)

View File

@@ -0,0 +1,15 @@
#include <sys/unistd.h>
#include <stdio.h>
int main() {
if (@available(macOS 27, *)) {
int ret = dup3(1, 3, 0);
if (ret < 0) {
printf("dup3(1,3,0) failed with error\n");
return -1;
}
dprintf(3, ":)\n");
} else {
printf(":(\n");
}
}

View File

@@ -0,0 +1,2 @@
project('apple-sdk_27-test', 'objc')
executable('apple-sdk_27-test', 'apple-sdk_27-test.m', install : true)

View File

@@ -0,0 +1,61 @@
{
lib,
stdenv,
ninja,
meson,
apple-sdk_15,
apple-sdk_26,
apple-sdk_27,
}:
{
apple-sdk_15 = stdenv.mkDerivation {
name = "apple-sdk_15-test";
src = ./15;
nativeBuildInputs = [
meson
ninja
];
buildInputs = [
apple-sdk_15
];
meta.mainProgram = "apple-sdk_15-test";
};
apple-sdk_26 = stdenv.mkDerivation {
name = "apple-sdk_26-test";
src = ./26;
nativeBuildInputs = [
meson
ninja
];
buildInputs = [
apple-sdk_26
];
meta.mainProgram = "apple-sdk_26-test";
};
apple-sdk_27 = stdenv.mkDerivation {
name = "apple-sdk_27-test";
src = ./27;
nativeBuildInputs = [
meson
ninja
];
buildInputs = [
apple-sdk_27
];
meta.mainProgram = "apple-sdk_27-test";
};
}

View File

@@ -21,7 +21,7 @@
flac,
fluidsynth,
glibc,
glibmm,
glibmm_2_4,
graphviz,
harvid,
hidapi,
@@ -36,7 +36,7 @@
libpulseaudio,
librdf_rasqal,
libsamplerate,
libsigcxx,
libsigcxx_2_0,
libsndfile,
libusb1,
libuv,
@@ -142,7 +142,7 @@ let
fftwSinglePrec
flac
fluidsynth
glibmm
glibmm_2_4
hidapi
itstool
kissfft
@@ -154,7 +154,7 @@ let
libogg
librdf_rasqal
libsamplerate
libsigcxx
libsigcxx_2_0
libsndfile
libusb1
libuv

View File

@@ -17,7 +17,7 @@
flac,
fluidsynth,
glibc,
glibmm,
glibmm_2_4,
graphviz,
harvid,
hidapi,
@@ -31,7 +31,7 @@
libpulseaudio,
librdf_rasqal,
libsamplerate,
libsigcxx,
libsigcxx_2_0,
libsndfile,
libusb1,
libuv,
@@ -129,7 +129,7 @@ stdenv.mkDerivation (
fftwSinglePrec
flac
fluidsynth
glibmm
glibmm_2_4
hidapi
itstool
kissfft
@@ -141,7 +141,7 @@ stdenv.mkDerivation (
libpulseaudio
librdf_rasqal
libsamplerate
libsigcxx
libsigcxx_2_0
libsndfile
libusb1
libuv

View File

@@ -25,7 +25,7 @@
fftwSinglePrec,
expat,
pcre2,
libsigcxx,
libsigcxx_2_0,
lensfun,
librsvg,
libcanberra-gtk3,
@@ -83,7 +83,7 @@ stdenv.mkDerivation (finalAttrs: {
fftwSinglePrec
expat
pcre2
libsigcxx
libsigcxx_2_0
lensfun
librsvg
exiv2

View File

@@ -6,7 +6,7 @@
SDL_image,
SDL_mixer,
SDL_sound,
libsigcxx,
libsigcxx_2_0,
physfs,
boost,
expat,
@@ -64,7 +64,7 @@ stdenv.mkDerivation {
flac
libvorbis
libogg
libsigcxx
libsigcxx_2_0
];
meta = {

View File

@@ -3,7 +3,7 @@
stdenv,
fetchurl,
atk,
glibmm,
glibmm_2_4,
pkg-config,
gnome,
meson,
@@ -27,7 +27,7 @@ stdenv.mkDerivation (finalAttrs: {
propagatedBuildInputs = [
atk
glibmm
glibmm_2_4
];
nativeBuildInputs = [

View File

@@ -0,0 +1,20 @@
diff --git a/prelude/CATS/array.cats b/prelude/CATS/array.cats
index 70c7e3e..cec3b1d 100644
--- a/prelude/CATS/array.cats
+++ b/prelude/CATS/array.cats
@@ -56,6 +56,7 @@ void qsort
void *base, size_t nmemb, size_t size
, int(*compar)(const void *, const void *)
) ; // end of [qsort]
+#ifndef bsearch
extern
void *bsearch
(
@@ -64,6 +65,7 @@ void *bsearch
, size_t nmemb, size_t size
, int (*compar)(const void *, const void *)
) ; // end of [bsearch]
+#endif
//
#define atspre_array_qsort qsort
#define atspre_array_bsearch bsearch

View File

@@ -49,6 +49,10 @@ stdenv.mkDerivation rec {
sed -i 's/gcc/clang/g' utils/*/DATS/atscc_util.dats
'';
patches = [
./fix-build-glibc-2.44.patch
];
buildInputs = [ gmp ];
# Disable parallel build, errors:

View File

@@ -1,8 +1,8 @@
{
fetchFromGitHub,
lib,
stdenv,
swift,
swiftPackages,
swiftpm,
swiftpm2nix,
}:
@@ -10,7 +10,7 @@ let
# Nix dir generated by running `swiftpm2nix` in the upstream project
generated = swiftpm2nix.helpers ./nix;
in
swiftPackages.stdenv.mkDerivation rec {
stdenv.mkDerivation rec {
pname = "autokbisw";
version = "2.0.1";
src = fetchFromGitHub {

View File

@@ -50,7 +50,6 @@ stdenv.mkDerivation (finalAttrs: {
NX_VERBOSE_LOGGING = "true";
# Needed to properly embed version info
CODEBUILD_RESOLVED_SOURCE_VERSION = finalAttrs.version;
YARN_LOCKFILE_VERSION_OVERRIDE = "8";
};
# Regular "build" is very heavy and does things we don't need.
@@ -64,13 +63,6 @@ stdenv.mkDerivation (finalAttrs: {
in
''
echo '${cliVersionJson}' > packages/@aws-cdk/cloud-assembly-schema/cli-version.json
cat >> .yarnrc.yml <<'EOF'
approvedGitRepositories:
- "**"
enableScripts: true
enableNetwork: false
enableHardenedMode: false
EOF
'';
preBuild = ''

View File

@@ -11,16 +11,16 @@
buildNpmPackage (finalAttrs: {
pname = "azurite";
version = "3.35.0";
version = "3.37.0";
src = fetchFromGitHub {
owner = "Azure";
repo = "Azurite";
rev = "v${finalAttrs.version}";
hash = "sha256-sVYiHQJ3nR5vM+oPAHzr/MjuNBMY14afqCHpw32WCiQ=";
hash = "sha256-gqWwUpUKaMzc9TiIhgubak+NQCX9dvqLQDg6Eysaw14=";
};
npmDepsHash = "sha256-UBHjb65Ud7IANsR30DokbI/16+dVjDEtfhqRPAQhGUw=";
npmDepsHash = "sha256-ZgYGURSFc/4xx6QqJA5wMFzbWSaAH39ztcfBEqCfmVg=";
nativeBuildInputs = [
pkg-config

View File

@@ -106,12 +106,6 @@ stdenv.mkDerivation (finalAttrs: {
PKG_CONFIG_SYSTEMD_SYSTEMDSYSTEMGENERATORDIR = "${placeholder "out"}/lib/systemd/system-generators";
};
# Workaround for RISCV cross-compilation issue
# https://github.com/koverstreet/bcachefs-tools/issues/850
preBuild = lib.optionalString stdenv.hostPlatform.isRiscV ''
export BINDGEN_EXTRA_CLANG_ARGS="$BINDGEN_EXTRA_CLANG_ARGS --target=riscv64-unknown-linux-gnu -march=rv64gc"
'';
# FIXME: Try enabling this once the default linux kernel is at least 6.7
doCheck = false; # needs bcachefs module loaded on builder

View File

@@ -28,6 +28,9 @@ stdenv.mkDerivation (finalAttrs: {
hardeningDisable = [ "fortify" ];
# fix build w/ glibc-2.44
env.NIX_CFLAGS_COMPILE = "-Wno-error=discarded-qualifiers";
makeFlags = [ "PREFIX=${placeholder "out"}" ];
nativeBuildInputs = [ installShellFiles ];

View File

@@ -3,6 +3,7 @@
fetchFromGitHub,
makeWrapper,
nixosTests,
fetchpatch,
stdenv,
# Build inputs
@@ -25,6 +26,14 @@ stdenv.mkDerivation (finalAttrs: {
hash = "sha256-qaiRWRd9+ElJ40QGOS3AxT2NvF3phQCyPnVz6RfTt8c=";
};
patches = [
# fix build w/ glibc-2.44
(fetchpatch {
url = "https://github.com/Zygo/bees/commit/14c82dce8a7e9714d6f9cd03229e0fb55460aa25.patch";
hash = "sha256-bAYacaS3u01XdlM/8+baD+sMuCOyYDtSis4NvTkx8jk=";
})
];
buildInputs = [
btrfs-progs # for btrfs/ioctl.h
util-linux # for uuid.h

View File

@@ -1,41 +1,91 @@
{
"@esbuild/aix-ppc64@npm:0.27.4": "ba2c14b9cd901d9e7ea99b7de8ac259b146bf978c69866328d1765f277b11105cd16ed4df82107593b5c9b667bba5fbcde73cb7a9f511d98caca9e26778f64a5",
"@esbuild/android-arm64@npm:0.27.4": "d5a06758f91f0cf795d3a77198fc26fefbd78c3ddfce682df8d8ddb96b31ee65549ead1f6040a496dad2a1fc0fa345fab90692eff3410663bd0f39ed670ac727",
"@esbuild/android-arm@npm:0.27.4": "faeac957ba9eaff1c79871151dea2101d03691cb3772ffd5b4475551f54bf7962e1313346b6c06527e5dce09c63391b6b987b06070a544c4b8aaf91652ffbb84",
"@esbuild/android-x64@npm:0.27.4": "7e294ba0331704c4c455763a7132efff4484066b1a522d64c3068c9017749b9b2c59dbb04bfa6491d78fb65da826109af0ea6a7517b06c8a7d7a64e706390e59",
"@esbuild/darwin-arm64@npm:0.27.4": "57f495c8302bfb58852915195e3066166239de00ea84f91f4cc84b7f46dcd126bdbef0ceb22581e643d0c3a2ca34936dd72a96b40291362c2716d3edb6e051ee",
"@esbuild/darwin-x64@npm:0.27.4": "8b0af048b1b03a2145484fa02283b5c0c9b528fb857d510d9a02150854a2df3a08ee93a4ed269b7e1da54c9009273dac2ce75a419c32fd2f516550bfc534fe11",
"@esbuild/freebsd-arm64@npm:0.27.4": "67a551695f67acdbe7ada9dfa0d97d30ba9065cf79fa96d4e8b75c892200ea25ad8187fb108811b0af1e1ba559fb2b7d4ec572a002916bed70bca654e2888c14",
"@esbuild/freebsd-x64@npm:0.27.4": "a3b0ce4ce0f6e3614b49fded87a7c5989e34a4b81876450650f372cb119d835e627c325039c9ec93cb5fbb098a14dd0e8cfda8a24e8be670ec7900a27e9b90f3",
"@esbuild/linux-arm64@npm:0.27.4": "f3467a2e4f7db00b73df8e074d6c4d7b685d90965d7db8bf1a041460027b61cd9e9f258cca66dc26e0a1b5d8cb84263cd7bec81d7513e27f0ea9dc86253e69da",
"@esbuild/linux-arm@npm:0.27.4": "b30c834aca19a68de625214e912e3e5e2b040a32c82acba0c66a70af741b43f5a02ab07fd1e2f42f2bd7d336e0cf25333993dd070e23c70ea6470170a3ad90a1",
"@esbuild/linux-ia32@npm:0.27.4": "51d5d31a222490225f78802cda61d4ba618a3b5b35f3ea57675725f2cf7af32740c8be078fd5bb42952719b81de4e5b692ea1961d0618d827cbd5bc3b8298a94",
"@esbuild/linux-loong64@npm:0.27.4": "225d208ce874ec7bac4b9028933872aacc1b3d7be886f90741efa1cdf853ad51a064c176bd76ff24f0ce1b21946865b72c69a68bbabdf0653873d0f95398a4c8",
"@esbuild/linux-mips64el@npm:0.27.4": "ca438a7ada46810bc1b24ebfcccf0e2c2cc3098e0690b6d2f4dd031bf33160fb5dde07d5644d5a60bdf3768d89667da7c0df30debee684efc47f0ed5b876c6da",
"@esbuild/linux-ppc64@npm:0.27.4": "da0bb5332234921f746da98765b9a20421a5334bbca2abf8fa0f149929a94c5e1a42319b62aaf9711918d42bc0e397e7dbdbda7389ff64c63f843d451378eb0c",
"@esbuild/linux-riscv64@npm:0.27.4": "b6942603508353c956f804e8c037d9d7092b7885f78c88882753e21e978f5aace82c0aaa42a4100edf2fce3be76ce582ff4e550a7a87079446a4b6228918100c",
"@esbuild/linux-s390x@npm:0.27.4": "719d52323400ce16ee69314886ca17a97d7ed6a9886387b7e4e70fae7133721eecb65a44b521d79d9b6a4f9a3c5fd78bfe65a3b0c5315f11e68847d012344d97",
"@esbuild/linux-x64@npm:0.27.4": "2281d03477bd82fecd14fbbe2c6ee385bc196fef87a2dee9be9eae69429af9972b53f869741db3fdfd404d936f38f3aaf237194f506f8113b79aa9978c26ffba",
"@esbuild/netbsd-arm64@npm:0.27.4": "ca68d9ba6054eb15e7de67283073a82b6492871bec6d9b67cee0785c6d4b9a3391f7c286dfe093206a659a05bf27dc2b58c1e730c0d7ddcb997b7643684cd734",
"@esbuild/netbsd-x64@npm:0.27.4": "9ca4d720a2b681d1a01b50005bd00eb6ac182055585adc845fee4312ff87c55a678d19bbcbaad9f4211e9d409c7d03121748524978aa5404143e375e22d2f900",
"@esbuild/openbsd-arm64@npm:0.27.4": "1459bc44aabc838255cae80e33b32eb22fd375d924ca3eed9e0987e33a1ddae6e59ac61e529564ed9ab7ce9ad108db0f9eb4c5558eb8bc63b952d4ff3692f4a6",
"@esbuild/openbsd-x64@npm:0.27.4": "809917a83bb809d51d11d59ebc1bf9f44b6a94fb1f82bd5d52ac642a7dfaf55c90a71351d263d2c164b2d38700aa0dca69afec4840f929ce56daf90a696eadc9",
"@esbuild/openharmony-arm64@npm:0.27.4": "0f9f7dd181d505e0bedae25a73ac26ad9acd099f7b7c49e2ecf12998b59e49c64331616f22cba6b0da9bd7ea6f5b7fc59f7860014dda5e6673d25661042f4237",
"@esbuild/sunos-x64@npm:0.27.4": "16c38ba94b9b2ed6a2ce17e6b5071459f24e7f1df51e4b6555de7310ff1696743089462585c8c49103ea468b8b1b4ee47913d759c5b44b45c15963795c731150",
"@esbuild/win32-arm64@npm:0.27.4": "6e7361fc9a6d12896443f5b59897e5539d642514b9ba440a2d245f84d82b4589744905b6144d6d345a25cb5b1d80dcbc8a87109f4c9d9e88533919587d76c8bf",
"@esbuild/win32-ia32@npm:0.27.4": "36b0fdfeed7263f87a86c93a47d45c07b5e5502dd31c4a3244f058a0ccfa08c206c8d450eac1cc1e0ab98dc1edeb601b60d3b673cec28015d4ed2fd3a0592da5",
"@esbuild/win32-x64@npm:0.27.4": "70e6d04df925717d37f64cf9945a2ce9d5265169df6a9f5d75e60079023d8f0de7ca9f6ac8826a947c313116990562fc6f92c635f0a185bdb6d02e94e967fe77",
"@napi-rs/canvas-android-arm64@npm:0.1.97": "e36688d7201e7c2f60e3e1691aa4be52059a57d1a076b0fd922ebcb032665d0cfa522f17686d6fa619ab948f22ddf5c454b2695263edad66c0684f22373f22ef",
"@napi-rs/canvas-darwin-arm64@npm:0.1.97": "ec8ff5246e437209e4d2c6ef3cfcacba95cb1f73e1f54734ea3df26cd861761d724342072367b68e377ea5780646384a420f5654711b5afe97704bfde1dc7439",
"@napi-rs/canvas-darwin-x64@npm:0.1.97": "706510e1bbdb5d0d7cd90477714326f420788f6869bdbbf009e46061d23abb043d655ea64d71d6f1332c7fd267acf7250119d2356760743d6243ad0ed08e18fc",
"@napi-rs/canvas-linux-arm-gnueabihf@npm:0.1.97": "f0615e165f53f67aae5eb109763376647c80870d696e3d50a85396816e909088ec4f5a3d5c200a2d87514fb870700362f334034c2e629d1dd377c91f8d566f8a",
"@napi-rs/canvas-linux-arm64-gnu@npm:0.1.97": "972083576ede6a0bbd7698775cfa954bc109ca863cda19dc29b4c7b479ca3d6a8e6e3ff3c2fd25f4b9d5ac140885a469a5f99e9c5fe8ccb8d2f714360cb0522f",
"@napi-rs/canvas-linux-arm64-musl@npm:0.1.97": "ed6f85095031d58d649d094bd4de9d61b81bc33df753711eca284e2f01778eb9a0ffe9259a18e7e3245862ac6299425099a85823322caf691436a60c63396d3e",
"@napi-rs/canvas-linux-riscv64-gnu@npm:0.1.97": "cbe5940f9f0cbf88161aedef662791475b0d7abc43a6c0698a6e35ebc8c0d74630cabc491b484ffcd83f5bc3abea07876b781ca93d369d13acc277f1f5de379b",
"@napi-rs/canvas-linux-x64-gnu@npm:0.1.97": "a3484db20c9db146b16a17697e99929611edd973222ab6afff45f8d76bd56551942d9cf250e11206d9a708cfc14958a93941531eb63ed6a95b4925ae1902bff4",
"@napi-rs/canvas-linux-x64-musl@npm:0.1.97": "2ea96191a243930371271cc34d3ad53d12bc19718e6eeadd5f98e64e6a9c6cb682fc9cc76eacda8daf7a197d7edde56aa3a8171abfd1b47d2dbc358edac21b3f",
"@napi-rs/canvas-win32-arm64-msvc@npm:0.1.97": "67bf5d16e364ac882d3a626c426fb5a46147809ee78e4184839e2b600b72668a5c45143d79e712ae3c6662e54a9c9b2b4f36b03482086f5ac46c25c84dad8771",
"@napi-rs/canvas-win32-x64-msvc@npm:0.1.97": "3435d19347f23ec93eed8adecfbca6c14db368e916298edf1adbe80dfdd9e7679effe3f64ec9ad8c4f683b56528328508fa6e1fad46230c5ce96f2db704cf5c2",
"@esbuild/aix-ppc64@npm:0.28.1": "9b01eaa9c57542436436de762466b9a348b4596aa53dffa6e7034e4180691e1948d33fe34ec302239ab04c280e5166248880f24531011ff419fbec6986a265f3",
"@esbuild/android-arm64@npm:0.28.1": "7c977c8d4cea5126df4b298d5c31c3df8d14aa05d7477aa11c4147ec7baff17d25542234eea0134f279191b59cb1af18fee49c6916afda554484464129e4f9c3",
"@esbuild/android-arm@npm:0.28.1": "44baed9765216202f71b6aae8d9ddb930efa671d34f63f4220d980662b3df4da7972e965c0a0f12922147aa8428083686f6cb23cd9a4f140eaf922ae0b59c2a0",
"@esbuild/android-x64@npm:0.28.1": "1b8183640bef23f41a91598d898a04a6a8e3ca31d0100207c7e75928ee885878c04e3bcf31f27ed9c655d6d8a7c08e35e3afef035aee649488cb2d68e51abf1e",
"@esbuild/darwin-arm64@npm:0.28.1": "8ed80a99836df196c2b7996448eabb2d503ec8c71d0a8be59af4eed457b858fa5fd9292528b1967f0e106d2a045387e375207a2cc262cd45f89596681e94e7fd",
"@esbuild/darwin-x64@npm:0.28.1": "952b23f33c24aea13f5a78fd41731e06e8c7fa732e10995327fa1289115da6b4123899ca0cdb0cf0a56add29efcb9f7891ad6fda0bfb94541347275537a71e77",
"@esbuild/freebsd-arm64@npm:0.28.1": "cc2c4f1f13230607807c3f128680d789e85d4b93309501c4f8d84ed0674f4a2a3e60e279e3b997ee9f797047c1c5b906b25e4fe37de62d19634e4470bcb16f32",
"@esbuild/freebsd-x64@npm:0.28.1": "5b99b980599567ee931520a019beaeea4c7ae2874d0bfab79ee4bd6373a869251d2175946478c527490ce155d10a5bcc795e8c986dceb4a36fb6e813513fc54c",
"@esbuild/linux-arm64@npm:0.28.1": "9348c6bfc2d878e6213cffe482d4455d817b9e56b3c581a9f68b94aac720cddea5733d963dec57ca273039f3a7ca1714f1ac8e39e2e0f85f1af42f5d05e3ed00",
"@esbuild/linux-arm@npm:0.28.1": "654d7af59b4be40f585455e42ecb389657c6f11b1f2be2d5ab04caeac0514574d8b2a28b9f0f9805d92e266a44a5627c5acc8151b0d0379f75ac1490fecc013d",
"@esbuild/linux-ia32@npm:0.28.1": "cce27fbd8d74f34bb5507a5db8c0119aa377c7a070fd0be3881a8efddcdb8adeebe24dc97d55784d74a8bf4a60fb55b48899f41b5e931acaa3eb9f90ecc94a01",
"@esbuild/linux-loong64@npm:0.28.1": "47c3215d378f5da750300694b273b83db26d3e9ed36553696a1769da6d467e7557e289b46d211c93ab7a2978348b7415b66c7fec31658622f5bd356332b9d5b0",
"@esbuild/linux-mips64el@npm:0.28.1": "166d8888e731bdeba0c657382d429c0a979af2136100ee2491ec47b2e2ec55f6924fe2045880b48a6cdaeb3dcc44fc495f3f4b9a5aa3bb8c418d1f53f86b2ba1",
"@esbuild/linux-ppc64@npm:0.28.1": "a8eecb9e43a26dcb70a9805e685dec9f0caff0a8bac691b06a6db7c14ba0a69980ef0c01cb3fc1377ad63e2c4945f396fbbeaf008588bb232e9c0c37dcdb557b",
"@esbuild/linux-riscv64@npm:0.28.1": "cfde883f336e1811fee019a1df402000c7a8e6dc5a2b3577679fd0d9711d1a774c1faa194cc8954b18ca11f3a380ef32905ea90c241803831b61017d8a667c3b",
"@esbuild/linux-s390x@npm:0.28.1": "ea121d2fb6c8f6161312e0239258b584c431b4d23f320ace7cbc18da77034aac5ed383658d2a48fdfa32e38be07126a14aa26802b8e04d0e958e82646fb87f41",
"@esbuild/linux-x64@npm:0.28.1": "9b5458cf012247e31c6bf465e37553f2fc5aef3fccc6593bb30fee0c547958f9f00fbedd44e5bc076cf68d6791a4af2ce8714260fe341cb16843a78643773e3d",
"@esbuild/netbsd-arm64@npm:0.28.1": "86b5cf33fbad27ea5e7345601e711a26717bdf5ad119efa0b1bb9ad6a75f7cb2658c57ffb80f19491e3c7105f4698e76358ee2b6d57f48c9a230de9f588589c7",
"@esbuild/netbsd-x64@npm:0.28.1": "ff24c209715f7f122c711d3c51af099de27659837d3f7bd4cbea9a8868fa99a10b7af785058d18a1e32b2132989d1d1d82b8768df77ff25ab6cf19d58be3697d",
"@esbuild/openbsd-arm64@npm:0.28.1": "fe6590621116132baa0a2b9c2dc95c6342f146170ec1ffb343c29936580c369a69061676bef4e654ee27bad6491f531af3ba985aed7133eb16b758fffae6a445",
"@esbuild/openbsd-x64@npm:0.28.1": "2600c51c394945654f99b096fccba95e1d34fa3ecf4e78f40a7aee4573bf21dd955c274e0586768e9ebef3bff145ffe30231f1cb281ef5e679f7aa78dcc86687",
"@esbuild/openharmony-arm64@npm:0.28.1": "be9e1d1e4af478778ce847e28809fba0b754340a699e37ec03bc1a3cd4e84e4fde30ffea62099757877229b024d50331efd6270580492aa6be38eb2353ef5646",
"@esbuild/sunos-x64@npm:0.28.1": "349b9c7d879496456b2eb28f7bb3decc12a906007bb7fb24cb2b269f6b3e5138af109045b216bd0396762e63b802f0233408cc3dce802be5fcf242d4835b6bc8",
"@esbuild/win32-arm64@npm:0.28.1": "551ada5396e1f10e3d3592dd60a148a7257af1ab2317bba09e9ed18a6d7ee7e5961c68eb1fbaee4e8c1961b504807493e1b8f5c700dd1fb990f0cb36b240ad57",
"@esbuild/win32-ia32@npm:0.28.1": "2676ace6b4d63721da34873974152e869aed9fc8bd9fdff4b8df14a3a3e68b78a9b4566e643b90b948b4e85773cbf288a33a59d13979caaadd43b5adad68312c",
"@esbuild/win32-x64@npm:0.28.1": "8d658b74ed9b7494b3799093551d4c928a7916865ed42d00a135156cbd08612b53072e9e424f0687c10a93a444d30d6b0294b6a1d5fdba78078d706646ba558f",
"@napi-rs/canvas-android-arm64@npm:1.0.1": "1cc67a6e714b9e6cb194709b04a3994ec70679734608244b56aaf2cdd08a451cfc489957ffbaae6d11df2a3ffa9783d27704e14f479720b8ca0002d152f11098",
"@napi-rs/canvas-darwin-arm64@npm:1.0.1": "670bb1e83207a3b100f21c9e46a9539a8c7435264aa83faa7db47697dcefc52ae3c890a3f3f3df4f0e48ae2a0a684ab2e150a917977fa5291e7909bda485dc6e",
"@napi-rs/canvas-darwin-x64@npm:1.0.1": "ad09f3cd6a77b2fce80797ed25dd234906a523d7b7eb3e1a7f282b2d2a5778b2524166a9fb3964211869acb7bdf0bac664f9fb23e3e5301e37f7dc3eee445943",
"@napi-rs/canvas-linux-arm-gnueabihf@npm:1.0.1": "a204cc876f337011d1f04fdb7030af306c52612d8ed62e9fa2d9355f862de52fe56585c08a409b08e8d117200170c368cc6c9a60771f3763532c0ee900ec8e8f",
"@napi-rs/canvas-linux-arm64-gnu@npm:1.0.1": "84847d67398ba2a03b6eb77a3d71fa5ca17a0155483fbd8662a2fed106e3a5cfa7724149b571cc324beea3ebedfe1a5ba74c92254e2db1944c312750e9597349",
"@napi-rs/canvas-linux-arm64-musl@npm:1.0.1": "0f952496e5b22698580182862784ad4ab6afea1822a0398eea66e659f1c548e669a1fc9d805c9bc2e8e784d2ac1e8ca1fddf1584a0abc5abad9a017d5c2213f2",
"@napi-rs/canvas-linux-riscv64-gnu@npm:1.0.1": "2a10b4a1fc89e6dfa152f70de041e5c81ed4f7129ec5ab8ec54d155652540ffde5468b3b536f451c439e1b3b07c77bb3609c486cc9ad4a164267c781cad13a53",
"@napi-rs/canvas-linux-x64-gnu@npm:1.0.1": "41a577d9024e6c01fd47eb44f35514a558d63ce8f71384ad237857613911d667cd22caa3bea8ff470de771987cc293acf2433a5758307dfcfecafb4d2d1598ab",
"@napi-rs/canvas-linux-x64-musl@npm:1.0.1": "2c46a2475e59718f1562639bba501cef507cfbfbbeb15aa92dc5ca9839df781d698d152e3d5e56b258343aff03403b18d984e49a27f48df24013258f9ac9b554",
"@napi-rs/canvas-win32-arm64-msvc@npm:1.0.1": "8ef07e51204c8fb38b5bcd2e94f3dcb731b4456a8a56b3fb4eae3f7c92cc7020e1a7b94b0e566d6432783050d8a1737d40dfb37b06863d5064fdf1519aa11d15",
"@napi-rs/canvas-win32-x64-msvc@npm:1.0.1": "ee22f54b18f16ee09711b63ef67f2d2c6302574ea0140181664d1efcf508875d69c0d8948c2e5be0cc6078bd6f5781e0cb85c1af81e7443251a2983f7f030acd",
"@node-usb/usb-darwin-arm64@npm:3.0.1": "a47f20202b48f309a91aa726b0e5a8ccb3d19d8615988cc90b4e3ef3557f5bceb3da98a8495c6a59d22cd486db2faf78cec69cffc4d6285ac239392ed8be07d5",
"@node-usb/usb-darwin-x64@npm:3.0.1": "a6f0010a97bb3756956b2a14234350fe06cfea03feb087bffe0d9bb5f5b571e3ebe93c6ce0ad4a486bb4d0bb880eabf6fa50f1bc2d273f16e4811905b70e3313",
"@node-usb/usb-linux-arm-gnueabihf@npm:3.0.1": "3caf6677834fae131ed1566aab62eba1da1f9d12da17fb789bf48c142b5ab5fde7eb8fceef59a8b1543a73846bb8bf368a4029ca8bbf9b1c35d30e93cde3ccc8",
"@node-usb/usb-linux-arm64-gnu@npm:3.0.1": "194dbc3d0e594c023efee4c060c61d2523d96e686f74181f06df9747b9b6dd31daa2a757dc0bfa26ea819f68ab10edcd64e12faf052ead2af31ace1e1494a94d",
"@node-usb/usb-linux-arm64-musl@npm:3.0.1": "1bf85e9d653f3418f66e06d7df9da879fa8dc10ef11a1eedac66116d8f9eb459f59e83d033471886a556ea35805bb4bda07070b698d6fdbbb817929e8acd78a6",
"@node-usb/usb-linux-x64-gnu@npm:3.0.1": "0c2e117a42697717fa2c7a72865aabeb148a5c3f2b29d9b06d614282f3da2a536afef0151ea5fe6e826de3f4af4f0be745b30fbc614a82dc2a54ad5a087b14eb",
"@node-usb/usb-linux-x64-musl@npm:3.0.1": "fc8d8ca0efb54b88020ae9fba342f76ee6b5be4faa0ff4bf95b85f35ebaa3a7a52cbf98b9c432c18145a5a199c2a276793308276eb76c6177ba7bbe13545904a",
"@node-usb/usb-win32-arm64-msvc@npm:3.0.1": "0f793ce63cb210b8afe545acb61056941023694ab28c6f98a1153b7f82199efcabecfba5fbc5312e431f7473ef49ee0a2c32ef3e210edbda7e86503cd62f146a",
"@node-usb/usb-win32-ia32-msvc@npm:3.0.1": "2d8aae1e5694e046dfa2bbdcf18265c7b3ede1c17b71b1120efd7c43be30c187133289c6e2495d39c04ac5eb0cb37d8954339eea177024a8cd87ae2cff5557a1",
"@node-usb/usb-win32-x64-msvc@npm:3.0.1": "d3b0ec8570dcccc0e47eb5633bd8bad6276a98134fa1f1d87cfb35f66fb3a9cccbb54efad0842e8f1491d5d40b0620358ba87d247bcbdbdb4307db3d3a41168d",
"@oxc-parser/binding-android-arm-eabi@npm:0.127.0": "945e01f64f415992639081a3dc19aa5919f45e69c38298e20cda23c1e8bba26f79bad55e6dd6190a43866f363dd275970b71843ecf8a51a360cc8768f5900da0",
"@oxc-parser/binding-android-arm64@npm:0.127.0": "f28a90adca64bdabb7e5991941ace223559acaf5ec134fc6fd4f983979a660eafe97b1b03139c6608640e3b37d5a0225684fb49efc38b97486acaac2ebf9f3ef",
"@oxc-parser/binding-darwin-arm64@npm:0.127.0": "490d39689bb179a1f21b6e2230fe877fe6d62520e84d5a673f4d7c704c9a95bf63826bce15208ebacba172bdef0d5fd189b87eb5556de1b9fbf12944be183c8a",
"@oxc-parser/binding-darwin-x64@npm:0.127.0": "8e1ad7af46356aca1d43627e94c9a72d35328a5f66dc184a33bc3e28a086f4ad2b70bd44f097eff6a6b52ab94bafe0e15de396f6eed01d0beee7bd1a45e98541",
"@oxc-parser/binding-freebsd-x64@npm:0.127.0": "7eabf352fd03452bb8f853c7d92581705ddc207a31797b2649f364715b5818d3fb86512bca5a1dd6b3092f0690303f92c240d6ca1738b7a5e27992c08f648cfb",
"@oxc-parser/binding-linux-arm-gnueabihf@npm:0.127.0": "98edb854fd3c30e489237fec6cda7c1e46f0961d1b738369fec357b694989d95ff5ca20b576c835b7af7084ff703888751c877d46862e5745ccaf9e6ac226a0d",
"@oxc-parser/binding-linux-arm-musleabihf@npm:0.127.0": "d4a19c2d8f943c341e452e7ba8adf844998f87ed4ab501b473a05719fca52282bd133973f26e07fee28812963d39cd199702faf424a42300d4e317149079e84d",
"@oxc-parser/binding-linux-arm64-gnu@npm:0.127.0": "d818144ea9a661d54474001e750a501cb5e12460e22d4fb3f1c46506282ee9689a682761e07f4b925d2349fcee2734fa50b6655ca7f519c4ad9a055b0c4dac89",
"@oxc-parser/binding-linux-arm64-musl@npm:0.127.0": "f62825639af42d6be5e4c7a16576f1e23f4386b7db222dec59e320c0c2ccfdcb6efe45903a2969024f14c15f173b174d969473af9a0773cf25c07fdd3bfa4e31",
"@oxc-parser/binding-linux-ppc64-gnu@npm:0.127.0": "e635b0adb9e26bfce5209a87f2b55137ccb1e0d95208e1fd36bc1f0735fc3df95f8a99e11ad9d9ae621031ce21dffe583aa01c40080a9f57b466945306878e83",
"@oxc-parser/binding-linux-riscv64-gnu@npm:0.127.0": "bd16bb323eaf46ed519a583dba0a4b1a5984f65ba19d3773133476a7bec6985e6490efffcfd4d5f711c5acb7e201ffc5898b56ad7fa619cf884990514264bede",
"@oxc-parser/binding-linux-riscv64-musl@npm:0.127.0": "dc38d5b6c6ebe40c2f45ba59c1fa175f9bf148c274c41b0fea39311756e7390fbc25ad1f2399bbb9a2a12f1c2a8d4e284055a12042b6ec90b08d79e579afad33",
"@oxc-parser/binding-linux-s390x-gnu@npm:0.127.0": "a6e6f9c0de7b62087e3950a16b8c6f74b0995e0599a74eff0044b770dc1509e7f390c837f58ef349812036c2cec145cff5ff29800707123813688cbb632b3565",
"@oxc-parser/binding-linux-x64-gnu@npm:0.127.0": "2eea74fcd38d5c2cfdece401e9e8d2099f660266a2efd01603f85abd464aed1f28f77af8951655b2173bde8446da99a0657e7f531af93c941d6e2c851cef093f",
"@oxc-parser/binding-linux-x64-musl@npm:0.127.0": "e746466aaa1f7826130337d83e6b976736d780c59c12c43b5ca4710ad6a24439341e9d5aa58d705d6f6e0618296daf7f422f24e260b3e5c52f7cd0d916bd7ddb",
"@oxc-parser/binding-openharmony-arm64@npm:0.127.0": "5a00e6fcea62d4cfa3993e8d1f4a7f1bc2d70a80f8ac5bcff204eaf820124529194517e94937a3a6d0c28844cf713e7629c0a57cdddd87e0670c786c1890aa74",
"@oxc-parser/binding-wasm32-wasi@npm:0.127.0": "0679729f6bb75538acfda31258110ba0c7c60b195ebf8f0461c1f412fe8cf8a423c35eb107f184e67f3160c44efa32c705581a4014be050feac652a814eb9376",
"@oxc-parser/binding-win32-arm64-msvc@npm:0.127.0": "410ccb3fedde21efef8713198be39e7ba6526509d1328801b52c76e911af3412d1f214aea3609aa828bf30ec8a05e811c82e383da8e6cc3d670415cf17497db8",
"@oxc-parser/binding-win32-ia32-msvc@npm:0.127.0": "86b35f2feea4b23654bafe27b9bbe77194d4923f73f4254f813bcf14de5f12a09ce67e7fdb93b73944c9b859a0433128f3df2ef3fbc56f4c486e99d393508f0b",
"@oxc-parser/binding-win32-x64-msvc@npm:0.127.0": "6993c90d54ecfca7b5fd5a2a6f07909d53ce553b14e55dda739550e8dbc1a593c49f23792063cce95bf286bcae4f67624d0d9f014e28eaa700a31da185f2127b",
"@oxc-resolver/binding-android-arm-eabi@npm:11.19.1": "7fe35b00927acc6b1e9abd7cbf001cc4855f697b1a6604f245cf80ecb09628195d724545680b11ee58c462482247017e6d25d3b6074437ac61842ebb2200e925",
"@oxc-resolver/binding-android-arm64@npm:11.19.1": "2074f0f614aac0178d8c879f0a3897aebbe9cce66241bb8db8dd0400bf30db8a322fbcfb3dffd90e4a9f08eb52f32026155094c3515901f9e50f8c8115508bc2",
"@oxc-resolver/binding-darwin-arm64@npm:11.19.1": "43f0ebd467387f508dd13749b67a1b21b81902dfec7c7fdee24df1976942a78171e29e4ef09390dae88181dcdc4ccf08f43ade727c101572fff961b925f79834",
"@oxc-resolver/binding-darwin-x64@npm:11.19.1": "efad8b905d7cab94ddb749a7b486e7606d21a71ba3f2c8bb117e4a7648aa22499663c96819196e0f38830bb87885f147f517147f3117f805f908274086de01f9",
"@oxc-resolver/binding-freebsd-x64@npm:11.19.1": "750c57d8291f8ab8759f68f16b10aa5967879b7f6f432aed838d3e4b3ea25857c3f5dc1fd4677e79de890e79cc5bdf8bc845ab403bc7d9b7d7827c6af11404a3",
"@oxc-resolver/binding-linux-arm-gnueabihf@npm:11.19.1": "d1a71513000f2d7c300c45ac6b0900831e37759fd0df7c92a6cd2c66b87a724a303da7df94ed16fcbba72ccda45766923212c9711edd228b9f97dfa8da38e08a",
"@oxc-resolver/binding-linux-arm-musleabihf@npm:11.19.1": "4f1b757e8e86fbfdb7f8fd43e9684f3fe339e46606d836b509241c9217ae608397c5c4383b45ba9eabc3b6b4664842839037d41a9e49e726e4ef6e75d871904c",
"@oxc-resolver/binding-linux-arm64-gnu@npm:11.19.1": "6b1342772f5f347fe2a25582a8cd60f3814a7a6e4d2bc8e4a140355409df550858b961ce93932e3ce01fd440e7d4b2dd144978cd6372af325a6e2d85e496b4e8",
"@oxc-resolver/binding-linux-arm64-musl@npm:11.19.1": "40b99fcf1401d0f09a701572927bae4305a15705d2bb44003773ca5bb3ea8f28037e1e64fef5525eef314bd6ef348997b36cd521b4023053e0e0873b6700d52f",
"@oxc-resolver/binding-linux-ppc64-gnu@npm:11.19.1": "3581288514ce58eb79c927a03a43667e7e51b67b20be1f2c8343bce07f1fa848b9802f2d12990af73e8dae790d1ac6200611699c5350bd28a06abe3115a98002",
"@oxc-resolver/binding-linux-riscv64-gnu@npm:11.19.1": "1a8e43df91d8e7fec21c3cf816f20f98a0237b202e99d3768e1a9c49d9ddfbf0acea962991c4ae67dea936f3d2031d77bcacd3af615eecacf7828246be79becc",
"@oxc-resolver/binding-linux-riscv64-musl@npm:11.19.1": "a71fd4c5a13d7cb588d341318811d2728d64111878757988b15c2be3199d0e3f9dacb867ca990ec3cc38ff9eeaf9dfdee7aeb23738028031e6303903f0e501c4",
"@oxc-resolver/binding-linux-s390x-gnu@npm:11.19.1": "f4fc6a75967235ab88550b30891eb17a490e5bcfa8e9b2eaad33b3a4e7fd52ca60e6e0df3dbed5ab9bf4cab51bf05725e86e6d3172a46a1a95a928012a2d52bc",
"@oxc-resolver/binding-linux-x64-gnu@npm:11.19.1": "090f364639f4c6c021f345dc182c37c0d8370bc7b7ce5d93c546a49a3188d400a9c030106cba27a8c02dd7044384efc51187cee4f2e617109593e3c237a65509",
"@oxc-resolver/binding-linux-x64-musl@npm:11.19.1": "653779d9f6b78df664667e5f8693741727cd7c3e74831e0642a3ecd84fbfb36d302c1ae38a53cf33cc9516aef7d7f5ff66dacbb5f3701805baefc5785a5d7669",
"@oxc-resolver/binding-openharmony-arm64@npm:11.19.1": "4d88027b1ad55ab8b4820e8ee24c3a23b6ab6731c14da0da3c6b27394657bb54dd09d01085a64884e8f7219f719b48ea2221f0d7c8f10d2e7288c8a5e0b68287",
"@oxc-resolver/binding-wasm32-wasi@npm:11.19.1": "53be10977b68276a5e72be2a6b56361ff5548243aac269b93178a6058b0cf4dc14484a73ee5d0b68be1582982d96d434d97838515d1a9034a901080aef9d1b75",
"@oxc-resolver/binding-win32-arm64-msvc@npm:11.19.1": "f7671ed2e4f73d9f5ec386355fc9d93940c32bccdfbb7a7fb16bdc51e3cc42ed920cf9cd2f72d77c56e4a4a2c9357e53df3ae88b36106fcb363771e47f50e19e",
"@oxc-resolver/binding-win32-ia32-msvc@npm:11.19.1": "d60ccab0778023eb6977636c32d05c2369b54390aa8bdba4da1809323149548359bc546bccd9e5e717310c46e2a742ccd4dbc3f4750789aa97b5f9cef10ddcf7",
"@oxc-resolver/binding-win32-x64-msvc@npm:11.19.1": "bd84616bb214bd3f63531299f5576538f3f63411f95f1fb470fc8d7434c409fa1922bcbe535c4137673ceb3517e61b102e739a06b1963df600b717a954d22b16",
"@parcel/watcher-android-arm64@npm:2.5.1": "f99d569e4f6cf78a1b0097fb9d4682cb201a74370ae440c531da4e1d5021e46141bfcdf8ef708b51a5b9cb1c30f78eea933ce75216d5eeb7b969a2ad27c68e4a",
"@parcel/watcher-darwin-arm64@npm:2.5.1": "973c7ef3c94608da9cd1b20b18b9a7de2fb46fe44553731fe372b640de524491976150d0845f3d5953b74ed8ea469cb8d18a48651d0e5fb82f549a6b46b54f79",
"@parcel/watcher-darwin-x64@npm:2.5.1": "848c5516aed9c36e14751200dbbf57e83c0bd46cdab0932df33db120e66b9596de18eeb98980e319efde84014f67d9e7924d7555383d8ffcefe35c501166b84b",
@@ -49,46 +99,21 @@
"@parcel/watcher-win32-arm64@npm:2.5.1": "e015314d6b9b727cbe25eedf963ca8b23bf6d4e78d3c28008bd0d2657940ad54a271330486df3a93a5f1a30f2b8d052d14415b85cc7e7b747c6c73b5dc055628",
"@parcel/watcher-win32-ia32@npm:2.5.1": "920b6ad6a2095aeb9c2d329c5118472a3c14669fa93eaa99aa8050c76c5c2d3d76d92677167ed748c2ac5487c568d5df16d5d94f4bc7c354094fccd8e0d6350c",
"@parcel/watcher-win32-x64@npm:2.5.1": "8f1c8e41ec9f86e4dcd0d4db0a077742d5dcc853f15ea888387183e34e2efcff09fd1cc9ec46fc1121b9ad4ddc0e221283f2ffb23cfd7dbcbb8b03060b461963",
"@rolldown/binding-android-arm64@npm:1.0.0-rc.15": "0c78d6321d2dedc0c6ed4b5541328f6c04e8530a3c294b477cd9741e2af7c8377a51474f0171c85ecf63bff5c8bb31ee586f40f13fa265a869247ec3d6293204",
"@rolldown/binding-darwin-arm64@npm:1.0.0-rc.15": "598b8cb87d8ba8df4e880e0d6903f7f4f32b3e7b2804429cb3ccc47a69b8e7b852b2e3115a8c3a882d14979909f9464e8da55c2c52a52cb18a81df7e8a1aa654",
"@rolldown/binding-darwin-x64@npm:1.0.0-rc.15": "92fdfa58a8d9edaec4c1766c38c34f657715d2c8faec141590812d11ba6a6ce52530e55a6a2515fcd2ec6287e50187a458f06ca3c6813130cb9869a99c9f6f29",
"@rolldown/binding-freebsd-x64@npm:1.0.0-rc.15": "04e8288accf007c82e8bbe75af62d4ed570bddd7b25a178506fcf97daa0907cf6f85ea095be5826095242ac1a4923196059f53a9e8fdd0e3c34d9ed1c00d64ae",
"@rolldown/binding-linux-arm-gnueabihf@npm:1.0.0-rc.15": "4cd7452e4fe4433b730585bcbaf210efc50621bca5906204179ffe80748bea187398d4091dae64079f0c7ebfea1987f0b1c045ff60209ab0f60be9e04eccbef7",
"@rolldown/binding-linux-arm64-gnu@npm:1.0.0-rc.15": "fbddea791134b45a94aa5aea640a177d6feacd81a44f9ee3615da3daa824dc2a193ced6e8f2a0bb0676fca7b224525513b451cd8f78b379d7b1983fe6a0360ff",
"@rolldown/binding-linux-arm64-musl@npm:1.0.0-rc.15": "b325fa98753bf41100c5d95145f30ce92b5f69f6989973306344b1644fb21633454aa216f28355c74d0e7bd5885bb6d2c80d0f96dcc2b869ca7e63d8b22dbe91",
"@rolldown/binding-linux-ppc64-gnu@npm:1.0.0-rc.15": "0bff0d2724912079dcedfbc0a86dbad8e3e376d2d619cf36917964701b9ae5a39afa5ff49d3cb5b2c3e17437c559314cf8e17433ad3bfb4b64229d9c8bf1ebca",
"@rolldown/binding-linux-s390x-gnu@npm:1.0.0-rc.15": "6718fd91ead389f3bdefe22fd0344b490d3f9350697e4aa35a0fb55957aa1b127d26aaecf9bc2d49f1dfde62d9d4717cf5dfb7d93ce3b871372ef9c6cb7a1b1a",
"@rolldown/binding-linux-x64-gnu@npm:1.0.0-rc.15": "cb7628e1a7398ab5fd07dc79a38c73a27524d45adc989b5d906ea37e23b7692123d607d07fb9fda35485d6caba545ae41c561b9632aefa0bff76997208f83eae",
"@rolldown/binding-linux-x64-musl@npm:1.0.0-rc.15": "f59fb354b8cac55d123f6f3fe7bf8210402f97ed4be3f3a883c6c544ce1b825e36154f479d45f6e9f23c1fcd8861e9f3873dc24278631db871d263db3bea5580",
"@rolldown/binding-openharmony-arm64@npm:1.0.0-rc.15": "b6c220a48ace9c381d238dce2caaa8453da1d3fe9312bab7babf127a500bdec2bbe30bd381f9945af79c30fe9ca0185108b86ef311fc83ecb83ef24f7a587902",
"@rolldown/binding-wasm32-wasi@npm:1.0.0-rc.15": "9cd39e02ad5f43fc45901d074df10c0e3532d9077a6e334e431de60f90555c15e5445d1b5156c10df49d28839f9f15d5d808666bc8e70ab065bb9af3b8567e7a",
"@rolldown/binding-win32-arm64-msvc@npm:1.0.0-rc.15": "cfc32a72e8a3900f356b0b359520df3f18ac79379a273a4c53b00b1555123dcfd8204cf9976762664898b0c6c949c0edd4be850ae254d2e84a40fcb8352858eb",
"@rolldown/binding-win32-x64-msvc@npm:1.0.0-rc.15": "f0bd2876247f0834f135c1ae150b7d5626d54ff399b4a6193626dc46a0eca22374a43c64afdf3eff8e8e9cf1f20df826bcd9fd4219df3fece03972b8ae080e20",
"@rollup/rollup-android-arm-eabi@npm:4.60.0": "9a4292f59c64fadb8583a1cb20aa76ad07cb14213abcf705a25f21102f618d2c0c225caaa1730d77da3a472ba1660c987f709f364a60ceaf31199ecb2c7bd82e",
"@rollup/rollup-android-arm64@npm:4.60.0": "59f4cffa6b8245a3570479ac30834d18a63bc18d0eef706eec41800fa3256ccf3d5da1d9b0eecd360b8dff4df6c50adf7935b300e5443c72c2348f37307f828d",
"@rollup/rollup-darwin-arm64@npm:4.60.0": "5bdfee08ea0c0c49dd9877773c8a7361628b4274d7ae03925aa83e38dbda0f985d3bf128ee5bba99e50754034e109b8b3faddd47b776e503374fbebec6e98dd4",
"@rollup/rollup-darwin-x64@npm:4.60.0": "eb7bcb4655e1c31eca74ee96bc8c1de3ab3a511de3e5f433d59c14d4075ab6c32f6770722f5faded1cf8b6b64e3cf9378ac50b0722a928f972abb5e9e8b79096",
"@rollup/rollup-freebsd-arm64@npm:4.60.0": "510dc460350a81125c86db154c152af573e97fc77658924ddc126c98fae1b4e7e96274b1943d0c90f6246fc821aa0f90401f8982e18cdc06b5d0d62b0dd8791e",
"@rollup/rollup-freebsd-x64@npm:4.60.0": "5d8f2e66a1d62ddaec83fccce64a407e63174deb6fb4e492a8719c879f18e77baf2b1068b044f5fe0b67a41a80b72ac418f9aeb4baf5d9d9433c7701202d8a06",
"@rollup/rollup-linux-arm-gnueabihf@npm:4.60.0": "ab1f4fcc86f5d25867f84b00dc546f067f2a53ca631452407c03e70c341b554b03d2f77086533f55be20d36d9382a8ec339901bf789482c73dbe59d768adfdc8",
"@rollup/rollup-linux-arm-musleabihf@npm:4.60.0": "e08b56f8e3d7773e5b685100d22b4b0a8a562ea56524817528d214a6aff2319234da462e228d4842d04f5e1b711ceb77f4b041a4d2b69d446b959c1ce5cc603d",
"@rollup/rollup-linux-arm64-gnu@npm:4.60.0": "1cbf82bc9acca2ae204155d38c890faf88c4b02060b3ff4c96993379e48c08e6541aee3adf4e6a6dba986c0accc554eb21f9c23bbfb0257773e607a5d40eb6d1",
"@rollup/rollup-linux-arm64-musl@npm:4.60.0": "94fbd42c786baf0178adb6309c8d2c9fb5daa97cf2db8cd2cbcd88999c80b9de3089240e804f4287545eda3b509aaa67a41a8711ac5799f74261e11469d64dca",
"@rollup/rollup-linux-loong64-gnu@npm:4.60.0": "e840acd88f492be16732c7b365c680e03109702c7e6a33fdae04992abe333378180e713f9d536585348aac09e50dc11fad23d946df7338d13d95913010232bf9",
"@rollup/rollup-linux-loong64-musl@npm:4.60.0": "9775b8fbd12743f82230f4cb42f69c5fa2a96ca132a87d5a141115f8f879e96d37f8f9ee42fa5d9323a9c0e2ff7e5aba4e7ac99fab5aac044e0d47ed4e6dc2b4",
"@rollup/rollup-linux-ppc64-gnu@npm:4.60.0": "343870a783702e938933f8161c9a55abc5899cf52bc4bf44a97c0fe93ede9622f52488d56c33b67ccc18da1f3b369db984a6930d0a005de87221d8d997a827c7",
"@rollup/rollup-linux-ppc64-musl@npm:4.60.0": "3e8bcd82cc55f01a62e900877a56eb307824dc20edc22b0d51f3b21851f873f2da0dd146eaebf4423a7bf1d8ba377e58abf66194deb280d1fae54fb9de3b9d63",
"@rollup/rollup-linux-riscv64-gnu@npm:4.60.0": "3fdef46fa6ec90106db05d313048d970e86a80ed5ac6463b1f6060e1796a9f1c2287787ef47705032e0df704250046b271c9a52e691df727613421953bcb2bb8",
"@rollup/rollup-linux-riscv64-musl@npm:4.60.0": "50fe34aeb87c03f2c5a356884902242d4ddd3b0eec43b946c89ef1323dbab485a504638d024353f6b3aa7fdb1a4ddc979b8b034be22278ced4b0a9595d6ec7b6",
"@rollup/rollup-linux-s390x-gnu@npm:4.60.0": "af9d7f6f876af243960262868146f4f1ebaea0dbf9adeb14ea85b07c60df0e1d4241ddac1008509ee80ef47cac8b924f85099f7076f8c25e807cf87f048f435f",
"@rollup/rollup-linux-x64-gnu@npm:4.60.0": "3ce88bf8a93ab7f732139b3015249c5b8af5f0ceba8058e05f21c3e51144661be844b9a9ab20503b0f420579d930d37e55575dd544d303a0efcc09d979f537b8",
"@rollup/rollup-linux-x64-musl@npm:4.60.0": "893569365547e7fcea9fa83dc5f7824316ba959ee546606df70633576e6223fc5f33db3da89caf18815f2d671e87fd549886bbe7795facb68de9da941680c335",
"@rollup/rollup-openbsd-x64@npm:4.60.0": "ec522dccd3807237927afd6680ba7096041b477d4ebef6142e6a390fcc975fbd6d43d1a0d6e53cf8e97b6d90e528bb51a8ba1029383bbf086f5380fdf90ec6bd",
"@rollup/rollup-openharmony-arm64@npm:4.60.0": "aacd3b633618c1933f413e0ec2c588e75c3dd7830c34e2bc947915a307f97c570d08d103c5b4f30fd6b60a77dc6c81eb9ab4041205ba19414f55ed644a74f180",
"@rollup/rollup-win32-arm64-msvc@npm:4.60.0": "d8ecd24616112de473344717e07481081c0652f0a0d40dcc645ae2ac05e60fc962e2b0f86dcca7ab40b07625886050214403fd125e53297ba3003c877430f71a",
"@rollup/rollup-win32-ia32-msvc@npm:4.60.0": "0362713f7cfeb0b3deeedc11fabd551ec309cf21952735c2e2b76caf083331aef6701a11d2ad7a3824c439a9ff0d0c305aa12ef62f4f0a540eba2e952a18b00c",
"@rollup/rollup-win32-x64-gnu@npm:4.60.0": "1400b3aace00dc90638bfd39d68275bb5f16143d240b9c36eb70f242ed2080c26fe14192fd3375120308ff94a7da1e169a8e0e56efbe41483f59731602d3be84",
"@rollup/rollup-win32-x64-msvc@npm:4.60.0": "c948b3a8ed6e73f2382dc41ffab3e9928f95c4a0e3481272b26ad04a5f73084ca13fd5c253887f9077c37cb1c91bd8494b4a45a7764c874aa105684e8424289a",
"@rolldown/binding-android-arm64@npm:1.1.4": "d59f76669aaf18426811b5e35321cb5598e69bf57c1fe52c384ec157417c2cce95b34af5c41c085eb1098d92b3129ad3f5211df48efc759361ea8df5011efcbc",
"@rolldown/binding-darwin-arm64@npm:1.1.4": "0a1b74f273e25911b0110d289fe517f6273e39b5a08972231ccb74b76035d6229d51ca3a92eb1b0dc774e7377d373404d1c2736493271f576a266c0080a34206",
"@rolldown/binding-darwin-x64@npm:1.1.4": "736b7ee7d9ca8524466c329361c64929fcde7ca98ab99f279383b4e2e8df5824a1cce08bc5b6b0ff5c6753385bb4438b057c0afb7326b568d020848d950b2924",
"@rolldown/binding-freebsd-x64@npm:1.1.4": "d18f28b53889c03a99822f1666684533074329be5519ed79428d0f180d8748a21a1af00cb1de895a4a2e2c4981219d67ffbf894f37b5d45d287402644e4c6c3a",
"@rolldown/binding-linux-arm-gnueabihf@npm:1.1.4": "0229d25aafebcb76beb377ccfa2e4d55ff632563ad1ff8b061e71f5f98408924cd69c7b826265d957f8f392d77503d0acb7b297944915df44718a57ac83c7efb",
"@rolldown/binding-linux-arm64-gnu@npm:1.1.4": "0941dd2d18304ecb46cb08d8be7dfa22f34ed7a6c63632c6a274ff3035987fea4d672ade92d5a4ee5c31113ef66373978a3c9cab598c0b128ab1b2c9e5cee5e1",
"@rolldown/binding-linux-arm64-musl@npm:1.1.4": "a655f61bb3695a470deee665d3b1b6bf1d08e89b71d96e6362de6675dfa058352cb4ae360a4716aa1887cd97163b61411851780b84a2847ccf4cbdbf1dc36565",
"@rolldown/binding-linux-ppc64-gnu@npm:1.1.4": "7af64514357ba55256c6d2c62e1a2f0fc0a807f303353cd5b2703f64f04d1140f0edaa3eea9a94cfb120cb6e4c71a447c30041ecb86983e9a001455de5a1430d",
"@rolldown/binding-linux-s390x-gnu@npm:1.1.4": "abc61c30e8993fec98a17bba70398150b5b1a2a637e869ef767150906e43622ec2dd7cba4d5ec44f2f3aea193c95b75a9b67438e6cf2cb1f2b7e19569821fd80",
"@rolldown/binding-linux-x64-gnu@npm:1.1.4": "a7f99f45df86abb32d0d95023cae3e9923b47f04bad48e276355b9ceda9c9b9c0f70966557d48006bd0d673e7b4b622dd9af4ae3e605f2e7b717fc63f1c43878",
"@rolldown/binding-linux-x64-musl@npm:1.1.4": "1ac0921cfcd2ce3a5fbc70bb8bbc17e7a138a39413cce6a151a943be870d2c91b5679ad6a85ccadc383100f795f52d6fa47a47652a5c217a8bcb1302defddc91",
"@rolldown/binding-openharmony-arm64@npm:1.1.4": "f61e8562d59b91f4c238cfc815d5b43fa170f6a2795f0de6fd18425e155c8a75486f5a1ca53785bc81b4b9fc3b1967d7803b5be89fe50957e823746f6a35484e",
"@rolldown/binding-wasm32-wasi@npm:1.1.4": "e248421de5a5d30667deb15274101b73562e0ccb25de708eb7c1e463d825dfbf42e0a498f70093d8c22bf640d21f660c5d9e158001ecbb0e02c8c2be8db4009a",
"@rolldown/binding-win32-arm64-msvc@npm:1.1.4": "d2893af2319711c04eaab03e248d0f96b320942b7f843267b7d62d829eddd5c47808f0b2534fcce4c79db53da4d4cb57a7912f6ddc2e39ca72f09263d397d87a",
"@rolldown/binding-win32-x64-msvc@npm:1.1.4": "1566f653b56c576927cbe33d6c8aafccc82046ab04bfc6ac1907c58b48d902033610a6db23bfaa3376b2bdcbda1ef1c5c9437367b8bd3df4e247c9469e8beb1f",
"@sentry/cli-darwin@npm:2.58.5": "8bb8a01ab9ba6862304d2efbb40a397cc52859665be38c238b75a3c82c0e6b795513a8e018c591da6b992e9531e8e485ba0ca46c60f2beca7690b0693ac5a771",
"@sentry/cli-linux-arm64@npm:2.58.5": "1755aea6fe1808306fcc51e2d88f1c161118ea9f40d47f97570d121300da083fe405fb64b8fbbe753930c8ebaadb30da24c951e5e38ae5ed39bc97e02d712d73",
"@sentry/cli-linux-arm@npm:2.58.5": "4fa8047b1bfa13969093ab25a643ae8b3e1f65fa3e1c6b2287efb1c6ca086b44e39ed8e7a5dfdac0d71efd7d985eaa12fa9034dfaa0b65e904d0ee082fca0e31",
@@ -107,18 +132,38 @@
"@socketsecurity/socket-patch-win32-arm64@npm:2.0.0": "65418168f7f68cd2373000893d96251ea7ee8216a9730f0d51efe24402d67a5126f5255d6eb2d5ccfc4726e685a3ca17fcf7ed0b0d5feab631136902d5f959cc",
"@socketsecurity/socket-patch-win32-ia32@npm:2.0.0": "b48b42604530d283c2e1230c5d7604fc5c87f97d0d50ca305a89ddc16c24eec6d833cba39a94fe4e6cc3bb85d3a5e1f47fe1013f1bcc0c0906563b823fc8405f",
"@socketsecurity/socket-patch-win32-x64@npm:2.0.0": "8057bbfb19b4601bb1eb4af272fbab315af92c9b870731cdf8cfa7520bfe7b0e4b96c9ad6b1c1959490f97054bc64cc7e3c7dade054a46801b61ddb69e369253",
"@tailwindcss/oxide-android-arm64@npm:4.2.2": "11f6e9bd3c1eb998725a89210a74ec2253e7387e451fad4c9ac171d9299cfd4ca1ce24e687856ff7887a2fd60cfabb267f8bf77e392e3069b2ccb1d22007aac3",
"@tailwindcss/oxide-darwin-arm64@npm:4.2.2": "ddd2d7844ef9be81dfe043b393a4eb7d971d72c53eef241456c132f7c38d5acaf569311dd565d23a345484f0dcc16a3967eb3ed74ad08e672310919f1a0d8502",
"@tailwindcss/oxide-darwin-x64@npm:4.2.2": "29b54e88665e7cb6b08ec143336d56e7bc100f6c621a414ae1c96c5a913de43859d8b5fd197dc9b257c95530dc949d259d841f1b657cc7a037e74b61aee85de9",
"@tailwindcss/oxide-freebsd-x64@npm:4.2.2": "7e89193701c6239dd007eab2e48e4fca0b88337b50bdabd341bbab3660fdc5a151131ae28a24c5a9bb59ee491fd8acc4583018b93dd545e4889da28dc6a445f3",
"@tailwindcss/oxide-linux-arm-gnueabihf@npm:4.2.2": "6bc2f863e02da37c9ce2807ee2fe1f1d00f391d5608fd9092630faefc0902f3982917d9dfb6df38e6e2ae4e3e83d5587db02a178c78a4b896085f3dfe72fa931",
"@tailwindcss/oxide-linux-arm64-gnu@npm:4.2.2": "a8962da367468c8b28b4d0afec55e55dcff3c4c0f885b60ed4ad825b6f3b40c7c7350a646f72cfe502f247d5b3c4c0c1f03b56d96b3867c034e839379e91a78f",
"@tailwindcss/oxide-linux-arm64-musl@npm:4.2.2": "cbab9ca951ccf818c9ccdfa6a9450a18a022fe67ae86c75c30ad325fb2a3e0821362954dc76d188746d3d54cee93b0b1b286bdc3540d6e79a3d504aad8f135ce",
"@tailwindcss/oxide-linux-x64-gnu@npm:4.2.2": "0b6e47b461b9e1168033edb2c72b6405c24e944c5caf867858bd1e5dcdc68dcb5175edc8bbbffc472d00444dc1dfd45d510073fb619cad2887ebb996e485bcbd",
"@tailwindcss/oxide-linux-x64-musl@npm:4.2.2": "c1e258d6d954b0c3fa3c8214478c2b46e5581f60aa1049c11f60a1836668157b023325c691b8ddfabe39b36d8df9ff32e9237d06dc1e8e0beff103324730537d",
"@tailwindcss/oxide-wasm32-wasi@npm:4.2.2": "83ae560e1503cefc9854d5d54b9222d81287a8bd7fc29015f42d032c262cf0ba5ac88f6707219092bb0ec7d8f569a3440e585a9dc084aa07ef7dcfb4dba3defd",
"@tailwindcss/oxide-win32-arm64-msvc@npm:4.2.2": "674ba83bdf03338878cb7839d4a081934404f9fe8771df3c55f6c2f0c09cdf4ab871ec2e821f23eda245c7b0a9b9fdbe32c0d038f887e4958d97c37f9cfe5b3d",
"@tailwindcss/oxide-win32-x64-msvc@npm:4.2.2": "8fd2254df241f2d17417c8a3ecf9ddc51dc23f415a7cd1e7661930296de1a9f4128ae9f3912050f8e9dde4ea0f0f2b2452031b913451aecf12d453f131703c79",
"@tailwindcss/oxide-android-arm64@npm:4.3.2": "d71f84cf523d0b7e617640b2ef6930f8c78321076cca1d0266a531a12f0d1165a0f4b434a1527b3b43640dc19b2ed86c9db8b20de3e2adeb55a63dfbcfa096a8",
"@tailwindcss/oxide-darwin-arm64@npm:4.3.2": "57ee616c3c64a55da3e7a756e7ca82af89a3948646cf4b5117884ab60d922193cb003dc74837b11671f2c888ae28e6c3be69bba898fe7eecdb92cc5e8b6457a7",
"@tailwindcss/oxide-darwin-x64@npm:4.3.2": "30e477d48d3ee6c195583108f70ae861d47eebb35139dce00e57bcde5d58d387918b1ee4b1b1dd320f915a22965faa8caace579cde10707070ca25fdb754a9c3",
"@tailwindcss/oxide-freebsd-x64@npm:4.3.2": "c47f0a698c2e6f13780916468b70de9d13662851ddf085c3a4bc1b481335b4b01028e2446a0f88fe1846c9b325b7cf3c28844b4b5e6c399b768a3481e943637c",
"@tailwindcss/oxide-linux-arm-gnueabihf@npm:4.3.2": "79270082658f16b905cb1861070c87f02a2cf11f24f34b5a543d7da5197c7a7f117847a68f11cc8f39abe1d40a93cd7da9f605f828b2f45eb9fa75e294bbb91c",
"@tailwindcss/oxide-linux-arm64-gnu@npm:4.3.2": "a2a9a54d3a9204585e7af11b17b0f3748d4924364606276938a13a423ae27341dfea6317c35fbaadc436a493a60675851b45ce61c30021d7a4c2cd3c3c839e86",
"@tailwindcss/oxide-linux-arm64-musl@npm:4.3.2": "5abfb9e78a6946f90c1ca2e57b0ac1be87cd5f0dbabb34d9de2e2d652cbfce35d264cc9fd98d0560800f7e000495ab25c45c630916fd621aee7dd20fd3771de8",
"@tailwindcss/oxide-linux-x64-gnu@npm:4.3.2": "5cdd5aaa678665b024d16d557e344d564810e78525be3bde0b86b6b924bcff1e81e2b7e0da88c7f0868c26669955129960c215044a2fd47cb63d2002c6c7e96d",
"@tailwindcss/oxide-linux-x64-musl@npm:4.3.2": "61d39503d79726cae3c497432bf18840c170f198d7ee65b40108e546a24cd661d6f6587adf023254410f11bd6d143a88d09399342f43f4cbcfc017b0aa853d66",
"@tailwindcss/oxide-wasm32-wasi@npm:4.3.2": "6afddcfaf232ac6290ea3368ee3c878bddf8b3c842f3cb71583ef387009de12988067545e9dd4de423f3bca3f93498c4fa46ad105bd9c63582946fbef98e8628",
"@tailwindcss/oxide-win32-arm64-msvc@npm:4.3.2": "68130dff13d07c88b5a59ca1b27acfde384d2c246db910c5a4f98e3fe5ab27ce538e4aca31aa70a68bd5e5a59b50a1875fe9908aeba7b394289c377089753053",
"@tailwindcss/oxide-win32-x64-msvc@npm:4.3.2": "0240e7ab3cb5418d5f655a1b356eb21819c56be193a469b8670a3a89b1f9e66c8cda3120849cffd57c8167ad0098d0e0cfc69ff24577111d5689711f7a13879b",
"@typescript/typescript-aix-ppc64@npm:7.0.2": "6135266f6e9c5928a8efd220b2ec972ecd6fa8c771dea432d2b8ffcec606aedd57b949db98ccb2a216e3fb87d4c6d42fd449258e0ee4cbda3d5994c69c5e84d2",
"@typescript/typescript-darwin-arm64@npm:7.0.2": "c859259821baf9d7a8c1811bc1d0c0cb67b0d7fa9f99f1a3b50aa0e656a2df35c6142f77a9d2b1cd200874fd33bc3bf7ffb5cb5491d57be8e0522319ee3453f8",
"@typescript/typescript-darwin-x64@npm:7.0.2": "4c689effd4a83b881b993903901f58d13aded3c61b2a9b6a0f8f591eeab595dbfab82930b1b2af3b1595829ead0e86c9278ea7b7f8fad47c8c76dd6b0e7fec4c",
"@typescript/typescript-freebsd-arm64@npm:7.0.2": "3339e5cbf127f689cdd977133f903e9549afbf1c85fd12d2b61944bc8cb9cca2c18f45070066476273cb8af992591e340e9b661cbbe62c5bd4882615c2a62892",
"@typescript/typescript-freebsd-x64@npm:7.0.2": "52b1180545def7206ac4a944b3a4bf38809b22b3816e9b0f553e87a4ecbf8e61a6039bb6bcc3a353ad0c16f90195e7ff86f25874ada409dcbbf4c4a587e40c2d",
"@typescript/typescript-linux-arm64@npm:7.0.2": "b3873b9c64ff950230eb1d087eb2f46f7102cbf0f483b5280cb76221626833a1065e4e4dfdd99777151d03c0abde157fde73b605829343a022f3fcc6862490dc",
"@typescript/typescript-linux-arm@npm:7.0.2": "ff6a5f61931a97dd4555c2055001c4720cd0c44e3f102ecb79998799cdf156f39884c87f096036c7a57a09a132b4b545b3830c0ca952292661170a7c10c7ae73",
"@typescript/typescript-linux-loong64@npm:7.0.2": "7cdf90b48bf0792e6cd6f9c151bbfd1963980e50f20e73f75c27fa210ba8de65c8b69092b1dd4c6db5d86396cbe8fb5473ca2986ad45be0afc42e7dc863e5ac6",
"@typescript/typescript-linux-mips64el@npm:7.0.2": "6c669e865878a186249631ac720126ea9a71637170cf14cf6d0aef3dfa0f496cdf8fc1a71db1ed24064b1aa612e9b902c64e53689995a0671e6b6146cc68d156",
"@typescript/typescript-linux-ppc64@npm:7.0.2": "702ac3a57ed2e9932185b2b6a3aaeb12d50152d78b453ced55f936d442d9fd7669a5c8a81c76b44ec60201f96533aa38ad2ca80f70ea8b3e6dcbc5cc4a200208",
"@typescript/typescript-linux-riscv64@npm:7.0.2": "ea92265112cf9320f09fcaef847c8612421cc0a907b50bbc8aa928de1a6306cdf7f4d0c1426c3e475923c99f490dc4469042b2edab3c2eff3afef8c14456650d",
"@typescript/typescript-linux-s390x@npm:7.0.2": "dc6b678125ee4c1b81a91c64076490ec985b84e9dde9c017fbc50ec34808aefe45bf90e04c57bf9d0146ea453d71cd1543ac7c47f7a7ef77635758317d0b2173",
"@typescript/typescript-linux-x64@npm:7.0.2": "93d1142b9099dce38f9f2b25a7c4800289c72699e93e695aba5a6923f3661720b336cdd437f4cb3d49324226b7288c606f24f32a85c8e4be5f97c523f5b27b0a",
"@typescript/typescript-netbsd-arm64@npm:7.0.2": "b3274f1c526a20f4436b0f1167dc0e60dac5606f31491429c61439519a3f6a68fcee3a3f7f26f2fafb6557d918af75795b37d2fb6ede7b857bab772eb529140d",
"@typescript/typescript-netbsd-x64@npm:7.0.2": "d3c15af4176791e21927d35afe4935c8a98d21509db7ecb4dd7769a02c2f983500ef6d0f1646ad614a59a748269d517604af98cbd7c3c0450bb57a12cccd7270",
"@typescript/typescript-openbsd-arm64@npm:7.0.2": "09feda2dcbe2e3f9d31f2e98b09477158da1bb9509fe42dda2ce0b12a33b43bd31bb0caee24c6bde4c735c9d33662bcf65593ee762a2a5fee225798b5d674692",
"@typescript/typescript-openbsd-x64@npm:7.0.2": "e29ffc0538c2843b1e731b90626b5d2855345627fbb6b2ad7ee40b8f88ed1df6f91b03cf5c227645c4fc35a18fb6ff1612de98a9b449da25042f66478e671875",
"@typescript/typescript-sunos-x64@npm:7.0.2": "1647e487c452504c646c01e9e4a504e41c180bc09c9af7ccd2a6db23b6fedad436861de2681674793baccbbfc8970dccc85fce59a4da3d802dd67966774fc188",
"@typescript/typescript-win32-arm64@npm:7.0.2": "26cf8934a58378a2e8467914407f2d06028ca0e211bd68403994f9b27353439d8b0935ebeb7b9a03d8768a64e444285f87756a77ce72211efeecf5239af52bc5",
"@typescript/typescript-win32-x64@npm:7.0.2": "7f8408c4b3a58a2ef8851103c0575b97654e34c5aa0658e32be5584030f395f8a8e8a7fa87eb3afe2c794a01a0eb2e77db743c6025af57ed2915605b8e0a7c82",
"dmg-license@npm:1.0.11": "feef35cfb45270a72daadcca9584be5cb840f924448b9d4e543fcd61f1b6d471151049f277c91de1d8b003fad6203d0176066a5f427a01df5fb073402cb8c8b7",
"iconv-corefoundation@npm:1.1.7": "bc6f08ac421e5e92ed20f3825f123fd705e036612b2b6aa687958de753c06f32e54f0203ef55540869e3ee189eaea15e43a2757f3a90e555c4dd512c9422da43",
"lightningcss-android-arm64@npm:1.32.0": "1cb326ad39dcb02cf9f45025c167b6900e3a04b08f5149d3c5ee26054b00d08db3736fb69183a6c3ed1cb32dddd148608c784b6631b4777623f7dd0c032c392d",
@@ -132,22 +177,22 @@
"lightningcss-linux-x64-musl@npm:1.32.0": "a6f48ccc30a73d30563c7b61856d1fd6a8812ce62b1bee797f227e06612df70aab4ccd1908552952f77ca7ff2a51019f62d14ae5310ca67311635eeec55d3a9e",
"lightningcss-win32-arm64-msvc@npm:1.32.0": "a919be7fb298c1102bccf18b6f83d54946adfac70ab2ac9c95e4ae38ded76d8f530215b0bcda4d38df4ffc40a70abe3afd91d01d35fd122e7d119ed0e46972d0",
"lightningcss-win32-x64-msvc@npm:1.32.0": "5b8d3431aadbdc40a0a7eae32f2415e4f28b547af1a1cd5b35a35d67f772a89492c7fa03e9fc88ce804b14f5f88e412e49fff40d1b0aad67177de815c434207e",
"sass-embedded-all-unknown@npm:1.98.0": "36a9126decd90bb1e7cdb6e5a6ec9913ca644e1ba16748b179daf0b78c87bab1905647b3e4221dcd6dfb8bed9211830ed853d4fab257057f1678a557b4982ec7",
"sass-embedded-android-arm64@npm:1.98.0": "83bcb98adb64adcf01d1bfd0d5726cd28942e3a276b1cf2b8ed426fcb6de4345539b9cde44b6cc3593fd7643f6ac4138ccc5107bccc195438fefe63140f0cecf",
"sass-embedded-android-arm@npm:1.98.0": "7083ddf06fb3685351cef3d95c78044d25b6798f6c9db2898d75ac6f61a140344d591888f8760445e952dfdb6610934b97edab3c323431edc49655ef47d3d3a8",
"sass-embedded-android-riscv64@npm:1.98.0": "dedb467cf1b72c100409268889131ac85f08b517c76ba1fff2a05d829c1f38e14acde11a3081b4ae7063c8a7ee0fda5cdd880cde0d43c3f5bb616419209eb85e",
"sass-embedded-android-x64@npm:1.98.0": "9030281251fa16600de1c90ab8a8995d022fbbb2c7d7a6447ee262f3b3fcd4cbe772c1c9067b7296b8dd6a3311ef5655246ca9c03051b838b978cced82515896",
"sass-embedded-darwin-arm64@npm:1.98.0": "0955f52140dbcd6cc2a35592cbe147e271f988a8d9e2807e28e3c4ba49e950e8d9fbbca00e2187c36530d28de2916e9e79f3ad9ec5c0f214449e3f3d10b15a1b",
"sass-embedded-darwin-x64@npm:1.98.0": "aba47e0c1b61a64f9e0a3899bb84725dfb2b45fb4b3a38e7c2e5d767d0b0ca429ce49dba98699298a2491f4ef2e2e40f2dd32905bf268ec4ef7acaa1ca3730da",
"sass-embedded-linux-arm64@npm:1.98.0": "766a5f93c80ba64f3f1733dbf01ee71e0f0a5a56bf75227f0455bd5151ec0348b85501fb4ee09da6393655638b4c34cfcff420ea96645fb25ba7e6afe5a1a1f9",
"sass-embedded-linux-arm@npm:1.98.0": "109131a0d1173f6b34c987192607d148721f980396f8288df29bd407dbc160142e088320ac95a63fdfda464a07953e6092f00a5d3f1e56540cf2553ad21e2b68",
"sass-embedded-linux-musl-arm64@npm:1.98.0": "bcddf4d567b1e335bb5bdad25469d773d3a965cf9c9972e8c43cf943016d010a79ea441df0c1f47a7c67e7330f4f88fc2d13d07d4fe720138f44e8837f660468",
"sass-embedded-linux-musl-arm@npm:1.98.0": "e1572282ac95d9b20afe7053c9415b21490aebb49d276838d256189387df3cc5804f6ba21794ad43dce0531e925f89722a5bea139f327bd51ff4bcf754a84589",
"sass-embedded-linux-musl-riscv64@npm:1.98.0": "6f0f51d3daac10c8a6ca79f0627304f191ab0db1e9dc120084c23231cc7c60929b51e75d64b6afb77abf5054cea89c2d0b129e40ed552489bfb1662a152017e9",
"sass-embedded-linux-musl-x64@npm:1.98.0": "51e55184d36b60a8777dd89f84354fbc4e0e5c09d8b0a2bd842138bb6a766c7e42bf7817cab5784416541a8e31c5a872121b24ec8d945768ced9e0074e648c1f",
"sass-embedded-linux-riscv64@npm:1.98.0": "6dc8669e8e23f8079a1d29073b8c3947314b4dae7c88db86b7dc6642a86e3aebf1a4f7cf38903423552aa9388fa4aef5c137f332aba5fa37b8447ca11640dcd4",
"sass-embedded-linux-x64@npm:1.98.0": "67dc506dd51e139173539008c07e2a7a397a3d47c7192039a3bc1c9af578a8c19c91fa03768851af653002b850098340e401de7af9041fafc7bb49162848e63b",
"sass-embedded-unknown-all@npm:1.98.0": "c6bc5bc3828d9091e7b669379f7248771ff0b5bae78c5f52d4cc193a387ef0ff30b7a7f17ccb576fcf18502134727a2433ebc5470f67f0b6f5cababdda52a9e4",
"sass-embedded-win32-arm64@npm:1.98.0": "b799485e7afb87d08901bbbb419217ae94e57c60a38ab1ffa74c0f521b1e5f77cb30769807a8403dc0ee27003fbaec402cec2add8ce8bc8d625f48c7afbd5a0d",
"sass-embedded-win32-x64@npm:1.98.0": "c8cb13fafca66b403e829c166ddb57fbecbe7433f515b90841ad49deeb6641b5f8db2238fcfb11a03df094f16ff7e63c0454f4ecdba314a7d7cf7408abfd3658"
"sass-embedded-all-unknown@npm:1.100.0": "ed802ec849fb09307294e942382bd19d72c79f53dd348db51fd431f18354876f50e47bef586a27fa1546fe68c1df638e05d9eace5925074b3e117419f1bd486f",
"sass-embedded-android-arm64@npm:1.100.0": "0a219201304c6e3b37e7099092730e978e1e77bb5ab1b0ecb84d72bb4f78b4703552d7f2937ba29250fa67032a23b0417e47ddbe497ce3abd8386d492fbcbdfb",
"sass-embedded-android-arm@npm:1.100.0": "460f04093b37d7bb0a2b6b689622e084795a0c0b820327ce57b7905e6495de777d669b6ac663bf728fb9f62c99e1ad3a6dfe7cc15aca5005037a217130aeac95",
"sass-embedded-android-riscv64@npm:1.100.0": "5b84b0b8a00197571f7d82977af81c0d88053cda91cc1c283f80821a4d8e45532fc8bc974b2c53a3ff869f49f60b2c8f412c90694fb9fa1e5f7396fb3ca7dc8a",
"sass-embedded-android-x64@npm:1.100.0": "d225b29000a7ff1e0aa2a64e5d60ee63679630eaf717311b20e972326ac31711928c2deb2f78d6a5ad2d3b9ef0bfa918d40940dea01e75232db7146624e66323",
"sass-embedded-darwin-arm64@npm:1.100.0": "ae3b9b1ef84b5cc53f2c364295070b8ef8fe7c8cbde6ea278d34d3fa0e1636168f13abe074155549587300c1c91d90d07b2fba25f1f765f62aa26729a0f2d37c",
"sass-embedded-darwin-x64@npm:1.100.0": "85b6aecb66dfe00a3600eac244b1611c04e608f42fc64720519d0996a5a59692b619176ea726647aa031b496c6a147b3f1b2dc8aef43c61c9cecec63bfe1d138",
"sass-embedded-linux-arm64@npm:1.100.0": "9ea709b02c24242bcbae8cc299913b1b28ea85c95c3a4a14b645b59f7cebe283c199b2e823edf8cb76255216c160c5642b0ff02d63cd9649ed2fc67aec900adf",
"sass-embedded-linux-arm@npm:1.100.0": "1f673e52323446f60d069182dc3488e957df3b7e4b17a6973c39bd1922d073521e665371a64d76f527287a0b1c3e47825b4252c51de0817d02c069c4b3839252",
"sass-embedded-linux-musl-arm64@npm:1.100.0": "f87777a45b855531b990c2969b2a7c8dae02b5a3e80e712e093b61632384db5c176cb776507f886791cc378b504e936da30e4bf97d105454ee7d520f662c25d9",
"sass-embedded-linux-musl-arm@npm:1.100.0": "66887ed9ce2f552942a463f2276c4d93dc2ef6ad55797507e667580f8b1911c5b471a941c3a1a999516fd4802cc833a4f39a738d2e65bb2a2d76172bc56f280b",
"sass-embedded-linux-musl-riscv64@npm:1.100.0": "ceb308bd10e2176e6885303e8f64a414eec5d6db4badf1517069c744fedc4fd05f0d34abae2f71dfa9db4b73b2269e7f1d793a600ff4610f165abda35b06c4a2",
"sass-embedded-linux-musl-x64@npm:1.100.0": "64b02ea419edea470f485b87631f065b891adca5cb555b3089c6922200dc2cd6982ff51dcdf2bd44cb7aa3b6e81590346f672f1f64481609734176536cce6e47",
"sass-embedded-linux-riscv64@npm:1.100.0": "9f443b08cf057d1577b5178608b2fa34963a614e9fe06b132d77065650536f1013dc567f8754e3d059f036e39a4f58013c512cb94bd7497ca839f5d5febce25d",
"sass-embedded-linux-x64@npm:1.100.0": "85307c181232f792bf6b7ed3c4849d043802d4b0a2988cf589efcbf83e4c49099f0a599084d08dea160723ff21a931c5f4cb4eded7d300765c77dd13efd7f1ea",
"sass-embedded-unknown-all@npm:1.100.0": "576eea8f7e866bc5aee12995e219f65c2ddc9da3c848950740c2568e1dd4433a782be6a8b6a87e1c9fb27a03e6e06982efa3da04df8a2dec8cdb685f72f56a63",
"sass-embedded-win32-arm64@npm:1.100.0": "bfd7231a5965a4f9c31cf9778c664a6917ead537742beeacb7042c4e7f40301cc305c409620643bfa255a31efec69bad637ae359e8573376891b41ba9f4eb450",
"sass-embedded-win32-x64@npm:1.100.0": "d78da6f82e616e5ecfc8221648029343320ac2cff8357152ecb582ab5ac5dbd20a838cce78d29a8c9986310e2a097c263dbab93c105affc5c009c71fdb1de5fc"
}

View File

@@ -3,7 +3,7 @@
lib,
fetchFromGitHub,
fetchurl,
nodejs,
nodejs_26,
git,
python3,
udev,
@@ -20,8 +20,8 @@ let
builtinSurfaces = {
elgato-stream-deck = fetchurl {
url = "https://s4.bitfocus.io/developer-module-builds/surface/elgato-stream-deck/v1.4.3-70e2c01d15a0f58c52a8e80d7d6f4977f157d58e/elgato-stream-deck-v1.4.3.tgz";
hash = "sha256-bZnXvkyfllzHZTAJtH/hSYIv+J5ZOYWZycUHdz9srGI=";
url = "https://s4.bitfocus.io/developer-module-builds/surface/elgato-stream-deck/v1.4.6-c7ea9961c73fc6bf184b563d03c64b5607312d8d/elgato-stream-deck-v1.4.6.tgz";
hash = "sha256-0zYgn2ao2yhy3CSlHbdqfV9YWWwUiQ5kibDjT4uqOn8=";
};
xkeys = fetchurl {
url = "https://s4.bitfocus.io/developer-module-builds/surface/xkeys/v1.0.2-876f00ee194faa57ec14468b7019bbaa516a9e6d/xkeys-v1.0.2.tgz";
@@ -41,7 +41,7 @@ in
stdenv.mkDerivation rec {
pname = "bitfocus-companion";
version = "4.3.4";
version = "5.0.5";
__structuredAttrs = true;
strictDeps = true;
@@ -50,7 +50,7 @@ stdenv.mkDerivation rec {
owner = "bitfocus";
repo = "companion";
tag = "v${version}";
hash = "sha256-ojSXiWaRKFCjHmAMs/RtzNhgSNUy7RKTZ4CE/wCxEaI=";
hash = "sha256-Q5XQ/r4YYYqLk6YaSlBZqcqEH8nFmpqyzMf7/fMWX74=";
};
passthru.updateScript = nix-update-script { };
@@ -59,15 +59,10 @@ stdenv.mkDerivation rec {
# patch out git calls to generate version strings.
substituteInPlace tools/lib.mts --replace-fail "return await fcn()" "return \"v${version}\" as unknown as T"
# remove unsupported yarn config options (npmMinimalAgeGate, npmPreapprovedPackages removed in newer yarn)
# approvedGitRepositories and compressionLevel required by yarn >= 4.14 for lockfile version < 9
printf "nodeLinker: node-modules\nenableScripts: false\ncompressionLevel: 0\napprovedGitRepositories:\n - '**'\n" > .yarnrc.yml
# remove yarn config options which require network access at install time
printf "nodeLinker: node-modules\nenableScripts: false\n" > .yarnrc.yml
# remove the yarn install during the build, since there is no internet connection, and everything has already been installed by yarnBerryConfigHook
substituteInPlace tools/build/dist.mts \
--replace-fail 'await $`yarn --cwd node_modules/better-sqlite3 prebuild-install --arch=''${platformInfo.nodeArch} --platform=''${platformInfo.nodePlatform}`' "" \
--replace-fail 'await $`yarn --cwd node_modules/better-sqlite3 prebuild-install`' ""
substituteInPlace tools/build/package.mts --replace-fail "await $\`yarn install --no-immutable\`" ""
# remove node download, since we'll use the nix version
@@ -76,11 +71,16 @@ stdenv.mkDerivation rec {
--replace-fail "await fs.createSymlink(latestRuntimeDir, path.join(runtimesDir, 'main'), 'dir')" ""
substituteInPlace companion/lib/Instance/NodePath.ts \
--replace-fail "if (!(await fs.pathExists(nodePath))) return null" "return '${lib.getExe nodejs}'" \
--replace-fail "if (!(await fs.pathExists(nodePath))) return null" "return '${lib.getExe nodejs_26}'"
# allow all surface modules (builtin and user-downloaded) to find libudev, by adding
# LD_LIBRARY_PATH to the env whitelist companion uses when spawning module child processes
substituteInPlace companion/lib/Instance/Environment.ts \
--replace-fail "'DISABLE_IPV6'," "'DISABLE_IPV6', 'LD_LIBRARY_PATH',"
'';
nativeBuildInputs = [
nodejs
nodejs_26
yarn-berry.yarnBerryConfigHook
git
python3
@@ -91,7 +91,7 @@ stdenv.mkDerivation rec {
buildInputs = [
libusb1
dart-sass
nodejs
nodejs_26
electron
udev
];
@@ -100,15 +100,13 @@ stdenv.mkDerivation rec {
offlineCache = yarn-berry.fetchYarnBerryDeps {
inherit src missingHashes;
hash = "sha256-XDXxv+LSr9fYhVhwkcvmd56fAL6gY9FK6kiQlXxTWXo=";
hash = "sha256-Fuh/D3FVtm08h7pW+LHgrEiyN9vmCjy+WekfpIz/Xc4=";
};
env = {
ELECTRON_SKIP_BINARY_DOWNLOAD = 1;
SKIP_LAUNCH_CHECK = true;
ELECTRON = 0;
# prevent yarn >= 4.14 from triggering a lockfile refresh for v8 lockfiles
YARN_LOCKFILE_VERSION_OVERRIDE = 8;
};
# with dontConfigure it doesn't seem to retrieve node_modules, so empty configurePhase instead
@@ -142,20 +140,13 @@ stdenv.mkDerivation rec {
rm -rf dist/node-runtimes
'';
postInstall = ''
# patch the env whitelist companion uses when spawning module child processes to include
# LD_LIBRARY_PATH, so all surface modules (builtin and user-downloaded) can find libudev
substituteInPlace $out/share/bitfocus-companion/dist/main.js \
--replace-fail '"DISABLE_IPV6"],t={}' '"DISABLE_IPV6","LD_LIBRARY_PATH"],t={}'
'';
installPhase = ''
runHook preInstall
mkdir -p $out/share/bitfocus-companion
cp -r * $out/share/bitfocus-companion/
makeWrapper ${lib.getExe nodejs} $out/bin/bitfocus-companion \
makeWrapper ${lib.getExe nodejs_26} $out/bin/bitfocus-companion \
--add-flags $out/share/bitfocus-companion/dist/main.js \
--set LD_LIBRARY_PATH "${
lib.makeLibraryPath [

View File

@@ -26,7 +26,7 @@ stdenv.mkDerivation (finalAttrs: {
src = fetchFromGitHub {
owner = "bdwgc";
repo = "bdwgc";
rev = "v${finalAttrs.version}";
tag = "v${finalAttrs.version}";
hash = "sha256-5yeAB5Y92YjOutwRXBJkMxoOLkmzmqIJs4PirKX89fE=";
};
@@ -43,6 +43,8 @@ stdenv.mkDerivation (finalAttrs: {
autoreconfHook
];
strictDeps = true;
configureFlags = [
"--enable-cplusplus"
"--with-libatomic-ops=none"

View File

@@ -11,7 +11,7 @@
nix-update-script,
boost,
glibmm,
glibmm_2_4,
gmpxx,
gtkmm3,
jsoncpp,
@@ -94,7 +94,7 @@ stdenv.mkDerivation (finalAttrs: {
buildInputs = [
boost
glibmm
glibmm_2_4
gmpxx
jsoncpp
onetbb

View File

@@ -6,7 +6,7 @@
boost,
cairo,
fontconfig,
libsigcxx,
libsigcxx_2_0,
meson,
ninja,
}:
@@ -41,7 +41,7 @@ stdenv.mkDerivation (finalAttrs: {
propagatedBuildInputs = [
cairo
libsigcxx
libsigcxx_2_0
];
mesonFlags = [

View File

@@ -8,7 +8,7 @@
pkg-config,
cairo,
fontconfig,
libsigcxx30,
libsigcxx_3_0,
}:
stdenv.mkDerivation (finalAttrs: {
@@ -41,7 +41,7 @@ stdenv.mkDerivation (finalAttrs: {
propagatedBuildInputs = [
cairo
libsigcxx30
libsigcxx_3_0
];
mesonFlags = [

View File

@@ -1,15 +0,0 @@
diff --git a/tests/SelfTest/UsageTests/Misc.tests.cpp b/tests/SelfTest/UsageTests/Misc.tests.cpp
index 3697f0695c..8c10aace7b 100644
--- a/tests/SelfTest/UsageTests/Misc.tests.cpp
+++ b/tests/SelfTest/UsageTests/Misc.tests.cpp
@@ -384,10 +384,6 @@
REQUIRE(x.size() > 0);
}
-TEMPLATE_PRODUCT_TEST_CASE("Product with differing arities", "[template][product]", std::tuple, (int, (int, double), (int, double, float))) {
- REQUIRE(std::tuple_size<TestType>::value >= 1);
-}
-
using MyTypes = std::tuple<int, char, float>;
TEMPLATE_LIST_TEST_CASE("Template test case with test types specified inside std::tuple", "[template][list]", MyTypes)
{

View File

@@ -7,23 +7,17 @@
spdlog,
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "catch2";
version = "3.15.3";
version = "3.16.0";
src = fetchFromGitHub {
owner = "catchorg";
repo = "Catch2";
tag = "v${version}";
hash = "sha256-ZuH3tUWNklq0bKp0Yu9w3L5FNsQwUxe6lyGBv4M6U1E=";
tag = "v${finalAttrs.version}";
hash = "sha256-vvPZTQzLNGIcdDbuo0w6sQvxzLdKFCl2LNwcHu0d5I8=";
};
patches = lib.optionals stdenv.cc.isClang [
# This test fails to compile with Clang 20
# See: https://github.com/catchorg/Catch2/issues/2991
./clang-20-disable-broken-test.patch
];
postPatch = ''
substituteInPlace CMake/*.pc.in \
--replace-fail "\''${prefix}/" ""
@@ -37,10 +31,10 @@ stdenv.mkDerivation rec {
cmakeFlags = [
"-DCATCH_DEVELOPMENT_BUILD=ON"
"-DCATCH_BUILD_TESTING=${if doCheck then "ON" else "OFF"}"
"-DCATCH_BUILD_TESTING=${if finalAttrs.doCheck then "ON" else "OFF"}"
"-DCATCH_ENABLE_WERROR=OFF"
]
++ lib.optionals (stdenv.cc.isClang && doCheck) [
++ lib.optionals (stdenv.cc.isClang && finalAttrs.doCheck) [
# test has a faulty path normalization technique that won't work in
# our darwin/LLVM build environment https://github.com/catchorg/Catch2/issues/1691
"-DCMAKE_CTEST_ARGUMENTS=-E;ApprovalTests"
@@ -69,9 +63,9 @@ stdenv.mkDerivation rec {
meta = {
description = "Modern, C++-native, test framework for unit-tests";
homepage = "https://github.com/catchorg/Catch2";
changelog = "https://github.com/catchorg/Catch2/blob/${src.tag}/docs/release-notes.md";
changelog = "https://github.com/catchorg/Catch2/blob/${finalAttrs.src.tag}/docs/release-notes.md";
license = lib.licenses.boost;
maintainers = with lib.maintainers; [ dotlambda ];
platforms = with lib.platforms; unix ++ windows;
};
}
})

View File

@@ -73,5 +73,6 @@ stdenv.mkDerivation (finalAttrs: {
maintainers = with lib.maintainers; [ sigmanificient ];
platforms = lib.platforms.unix;
mainProgram = "cdecl";
broken = true;
};
})

View File

@@ -4,7 +4,6 @@
nix-update-script,
stdenv,
swift,
swiftPackages,
swiftpm,
swiftpm2nix,
}:
@@ -37,13 +36,7 @@ stdenv.mkDerivation (finalAttrs: {
runHook postInstall
'';
buildInputs = [
swiftPackages.XCTest
];
# libIndexStore.so: cannot open shared object file: No such file or directory
# https://github.com/NixOS/nixpkgs/issues/379859
doCheck = false;
doCheck = !stdenv.hostPlatform.isDarwin;
passthru.updateScript = nix-update-script {
extraArgs = [ "--version=branch" ];

View File

@@ -11,7 +11,7 @@
wrapGAppsHook4,
evolution-data-server,
feedbackd,
glibmm,
glibmm_2_4,
libsecret,
gnome-desktop,
gspell,
@@ -53,7 +53,7 @@ stdenv.mkDerivation (finalAttrs: {
buildInputs = [
evolution-data-server
feedbackd
glibmm
glibmm_2_4
libsecret
gnome-desktop
gspell

View File

@@ -130,6 +130,9 @@ llvmStdenv.mkDerivation (finalAttrs: {
postPatch = ''
patchShebangs src/ utils/
substituteInPlace contrib/liburing-cmake/CMakeLists.txt \
--replace-fail "set (LIBURING_CONFIG_HAS_OPEN_HOW FALSE)" "set (LIBURING_CONFIG_HAS_OPEN_HOW TRUE)"
''
+ lib.optionalString stdenv.hostPlatform.isDarwin ''
substituteInPlace cmake/tools.cmake \

View File

@@ -1,8 +1,8 @@
diff --git a/Modules/Platform/UnixPaths.cmake b/Modules/Platform/UnixPaths.cmake
index e95da44ea4..bdf4155232 100644
index 9aa659e4fd..ba9974c316 100644
--- a/Modules/Platform/UnixPaths.cmake
+++ b/Modules/Platform/UnixPaths.cmake
@@ -71,28 +71,38 @@
@@ -81,28 +81,38 @@ list(APPEND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES
/lib /lib32 /lib64 /usr/lib /usr/lib32 /usr/lib64
)

View File

@@ -1,21 +1,21 @@
diff --git a/Modules/Platform/Darwin-Initialize.cmake b/Modules/Platform/Darwin-Initialize.cmake
index 196ab18b0b..31dd4346b1 100644
index c9c88b36f5..0b1fda27d7 100644
--- a/Modules/Platform/Darwin-Initialize.cmake
+++ b/Modules/Platform/Darwin-Initialize.cmake
@@ -16,7 +16,7 @@
endif()
@@ -290,7 +290,7 @@ endif()
# CMAKE_OSX_DEPLOYMENT_TARGET
if(NOT CMAKE_CROSSCOMPILING)
- execute_process(COMMAND sw_vers -productVersion
+ execute_process(COMMAND @sw_vers@ -productVersion
OUTPUT_VARIABLE _CMAKE_HOST_OSX_VERSION
OUTPUT_STRIP_TRAILING_WHITESPACE)
endif()
OUTPUT_STRIP_TRAILING_WHITESPACE
RESULT_VARIABLE _result)
diff --git a/Source/kwsys/SystemInformation.cxx b/Source/kwsys/SystemInformation.cxx
index c65587edbe..0a7cc380c3 100644
index 743c224437..173ceb0a64 100644
--- a/Source/kwsys/SystemInformation.cxx
+++ b/Source/kwsys/SystemInformation.cxx
@@ -3833,7 +3833,7 @@
@@ -3835,7 +3835,7 @@ long long SystemInformationImplementation::GetHostMemoryUsed()
}
char const* names[3] = { "Pages wired down:", "Pages active:", nullptr };
long long values[2] = { 0 };
@@ -24,7 +24,7 @@ index c65587edbe..0a7cc380c3 100644
if (ierr) {
return -1;
}
@@ -5586,7 +5586,7 @@
@@ -5506,7 +5506,7 @@ int SystemInformationImplementation::CallSwVers(char const* arg,
{
#ifdef __APPLE__
std::vector<char const*> args;
@@ -34,10 +34,10 @@ index c65587edbe..0a7cc380c3 100644
args.push_back(nullptr);
ver = this->RunProcess(args);
diff --git a/Tests/CMakeLists.txt b/Tests/CMakeLists.txt
index 15a1e2c0c3..33bb304cf7 100644
index 8020d96833..d32e6a6693 100644
--- a/Tests/CMakeLists.txt
+++ b/Tests/CMakeLists.txt
@@ -1958,7 +1958,7 @@
@@ -1977,7 +1977,7 @@ if(BUILD_TESTING)
if(CMake_TEST_XCODE_VERSION AND NOT CMake_TEST_XCODE_VERSION VERSION_LESS 5)
if(NOT CMake_TEST_XCTest_DEPLOYMENT_TARGET)
execute_process(
@@ -45,4 +45,4 @@ index 15a1e2c0c3..33bb304cf7 100644
+ COMMAND @sw_vers@ -productVersion
OUTPUT_VARIABLE OSX_VERSION
OUTPUT_STRIP_TRAILING_WHITESPACE
)
RESULT_VARIABLE _sw_vers_result

View File

@@ -1,8 +1,8 @@
diff --git a/Modules/CMakeDetermineSystem.cmake b/Modules/CMakeDetermineSystem.cmake
index dc26258eac..dd8d30e3d9 100644
index c70fea184d..10b18675b0 100644
--- a/Modules/CMakeDetermineSystem.cmake
+++ b/Modules/CMakeDetermineSystem.cmake
@@ -68,7 +68,7 @@
@@ -74,7 +74,7 @@ if(CMAKE_HOST_UNIX)
endif()
if(_CMAKE_APPLE_SILICON_PROCESSOR)
if(";${_CMAKE_APPLE_SILICON_PROCESSOR};" MATCHES "^;(arm64|x86_64);$")
@@ -12,10 +12,10 @@ index dc26258eac..dd8d30e3d9 100644
ERROR_VARIABLE _sysctl_stderr
RESULT_VARIABLE _sysctl_result
diff --git a/Modules/Platform/Darwin-Initialize.cmake b/Modules/Platform/Darwin-Initialize.cmake
index 31dd4346b1..7c4f123a1d 100644
index 0b1fda27d7..f5491ef048 100644
--- a/Modules/Platform/Darwin-Initialize.cmake
+++ b/Modules/Platform/Darwin-Initialize.cmake
@@ -28,7 +28,7 @@
@@ -22,7 +22,7 @@ set(CMAKE_OSX_ARCHITECTURES "$ENV{CMAKE_OSX_ARCHITECTURES}" CACHE STRING
if(NOT CMAKE_CROSSCOMPILING AND
CMAKE_SYSTEM_NAME STREQUAL "Darwin" AND
CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "^(arm64|x86_64)$")
@@ -25,10 +25,10 @@ index 31dd4346b1..7c4f123a1d 100644
ERROR_VARIABLE _sysctl_stderr
RESULT_VARIABLE _sysctl_result
diff --git a/Modules/ProcessorCount.cmake b/Modules/ProcessorCount.cmake
index 260b6631c0..ffb8fcd8d2 100644
index b8fa1fabc0..7c3112b817 100644
--- a/Modules/ProcessorCount.cmake
+++ b/Modules/ProcessorCount.cmake
@@ -87,8 +87,7 @@
@@ -87,8 +87,7 @@ function(ProcessorCount var)
if(NOT count)
# Mac, FreeBSD, OpenBSD (systems with sysctl):
@@ -52,10 +52,10 @@ index 8c22b4e43a..6d9ccef5e7 100644
#elif defined(__sun) && (defined(__SVR4) || defined(__svr4__)) /* Solaris */
# define KWSYSPE_PS_COMMAND "ps -e -o pid,ppid"
diff --git a/Source/kwsys/SystemInformation.cxx b/Source/kwsys/SystemInformation.cxx
index 0a7cc380c3..9923dc4ab9 100644
index 173ceb0a64..7bddddf955 100644
--- a/Source/kwsys/SystemInformation.cxx
+++ b/Source/kwsys/SystemInformation.cxx
@@ -3876,7 +3876,7 @@
@@ -3878,7 +3878,7 @@ long long SystemInformationImplementation::GetProcMemoryUsed()
long long memUsed = 0;
pid_t pid = getpid();
std::ostringstream oss;
@@ -65,10 +65,10 @@ index 0a7cc380c3..9923dc4ab9 100644
if (!file) {
return -1;
diff --git a/Tests/CMakeLists.txt b/Tests/CMakeLists.txt
index 33bb304cf7..7dbda40a81 100644
index d32e6a6693..683e27ece7 100644
--- a/Tests/CMakeLists.txt
+++ b/Tests/CMakeLists.txt
@@ -216,7 +216,7 @@
@@ -249,7 +249,7 @@ if(BUILD_TESTING)
endif()
if(CMAKE_SYSTEM_NAME STREQUAL "Darwin" AND NOT DEFINED CMake_TEST_APPLE_SILICON)

View File

@@ -1,8 +1,8 @@
diff --git a/Source/cmFindBase.cxx b/Source/cmFindBase.cxx
index b8d4765692..902c1e5290 100644
index e9e8dfd4b9..d115cd1897 100644
--- a/Source/cmFindBase.cxx
+++ b/Source/cmFindBase.cxx
@@ -312,6 +312,11 @@ void cmFindBase::FillCMakeEnvironmentPath()
@@ -308,6 +308,11 @@ void cmFindBase::FillCMakeEnvironmentPath()
// Add CMAKE_*_PATH environment variables
std::string var = cmStrCat("CMAKE_", this->CMakePathName, "_PATH");
paths.AddEnvPrefixPath("CMAKE_PREFIX_PATH");
@@ -15,10 +15,10 @@ index b8d4765692..902c1e5290 100644
if (this->CMakePathName == "PROGRAM") {
diff --git a/Source/cmFindPackageCommand.cxx b/Source/cmFindPackageCommand.cxx
index 6201894fd1..9533862a2b 100644
index 2f2c5c6662..4594afd0e7 100644
--- a/Source/cmFindPackageCommand.cxx
+++ b/Source/cmFindPackageCommand.cxx
@@ -2467,6 +2467,7 @@ void cmFindPackageCommand::FillPrefixesCMakeEnvironment()
@@ -2520,6 +2520,7 @@ void cmFindPackageCommand::FillPrefixesCMakeEnvironment()
// And now the general CMake environment variables
paths.AddEnvPath("CMAKE_PREFIX_PATH");

View File

@@ -52,11 +52,11 @@ stdenv.mkDerivation (finalAttrs: {
+ lib.optionalString isMinimalBuild "-minimal"
+ lib.optionalString cursesUI "-cursesUI"
+ lib.optionalString qt5UI "-qt5UI";
version = "4.4.2";
version = "4.4.3";
src = fetchurl {
url = "https://cmake.org/files/v${lib.versions.majorMinor finalAttrs.version}/cmake-${finalAttrs.version}.tar.gz";
hash = "sha256-HbnmHmC24IdMhjhjQLkQOC88XnW5+/tE0SIGMSmieJ0=";
hash = "sha256-xGQAYYtPHytDUH8k+yLzroMMNBbPI7d24W4dQTqokvA=";
};
patches = [

File diff suppressed because it is too large Load Diff

View File

@@ -1,7 +1,6 @@
{
acl,
bash,
buildPackages,
cockpit,
coreutils,
fetchFromGitHub,
@@ -15,7 +14,7 @@
mbuffer,
msmtp,
nix-update-script,
nodejs_22,
nodejs,
openssh,
samba,
shadow,
@@ -27,22 +26,6 @@
yarn-berry,
zfs,
}:
let
# Pin to Node <24.15.0: Yarn Berry's PnP linker breaks `require.cache` on
# newer Node, which crashes tailwindcss mid-build (and ESLint, per
# yarnpkg/berry#7106). See NixOS/nixpkgs#530137.
#
# `nodejs` is rebound here (rather than touched at every call site below)
# so the rest of this file is unaffected.
#
# yarn-berry's own `yarn` binary gets patchShebang'd against whatever
# `nodejs` *it* was built with, so overriding nativeBuildInputs alone does
# nothing - we have to rebuild yarn-berry itself against nodejs_22, for
# both the host and build-platform (cross-compilation) variants.
nodejs = nodejs_22;
yarnBerry = yarn-berry.override { inherit nodejs; };
yarnBerryForBuild = buildPackages.yarn-berry.override { nodejs = buildPackages.nodejs_22; };
in
stdenv.mkDerivation (finalAttrs: {
pname = "cockpit-zfs";
@@ -59,17 +42,17 @@ stdenv.mkDerivation (finalAttrs: {
missingHashes = ./missing-hashes.json;
# Use buildPackages for cross-compilation support
offlineCache = yarnBerryForBuild.fetchYarnBerryDeps {
offlineCache = yarn-berry.fetchYarnBerryDeps {
inherit (finalAttrs) src missingHashes;
hash = "sha256-nm3iHf9Rm5JFKzH0HAvglkQPFIV6Fl1e9WvNdqevTug=";
};
nativeBuildInputs = [
makeWrapper
nodejs_22
nodejs
jq
yarnBerry
yarnBerryForBuild.yarnBerryConfigHook
yarn-berry
yarn-berry.yarnBerryConfigHook
];
disallowedRequisites = [ finalAttrs.offlineCache ];
@@ -86,7 +69,7 @@ stdenv.mkDerivation (finalAttrs: {
lsscsi
mbuffer
msmtp
nodejs_22
nodejs
openssh
samba
shadow

View File

@@ -42,5 +42,6 @@ stdenv.mkDerivation (finalAttrs: {
maintainers = [ ];
platforms = lib.platforms.linux;
mainProgram = "convimg";
broken = true;
};
})

View File

@@ -9,6 +9,7 @@
sqlite,
incus,
nix-update-script,
fetchpatch,
}:
stdenv.mkDerivation (finalAttrs: {
@@ -22,6 +23,14 @@ stdenv.mkDerivation (finalAttrs: {
hash = "sha256-7djVcozWklI/0KhDC20df+H3YQbodUZaXBnQT4Ug8oI=";
};
patches = [
# fix build w/ glibc-2.44
(fetchpatch {
url = "https://github.com/cowsql/cowsql/commit/7c4d73151969ead4f81077ae243d81396ce67988.patch";
hash = "sha256-aJkf3egKbF23KNC0feDkxh8gIEupsyDBY3PTKuT6lcQ=";
})
];
nativeBuildInputs = [
autoreconfHook
pkg-config

View File

@@ -45,6 +45,12 @@ stdenv.mkDerivation (finalAttrs: {
url = "https://github.com/checkpoint-restore/criu/commit/3f3acc3200a23140abaa32a2017ae159d3c2d02c.patch?full_index=1";
hash = "sha256-J8n4TjqjzJLLULnpJdR/6YWa/8moFQMn+wNo4a0otgE=";
})
# fix build w/ glibc-2.44
(fetchpatch2 {
url = "https://github.com/checkpoint-restore/criu/commit/a810faba33f43d61372741ed196eafd485546f83.patch?full_index=1";
hash = "sha256-UHSSC3qI6dvtUAiXNnKXTtuXZYGE0SXpUnQ917SXFaU=";
})
];
enableParallelBuilding = true;

View File

@@ -25,7 +25,7 @@
stdenv.mkDerivation (finalAttrs: {
pname = "cryptsetup";
version = "2.8.7";
version = "2.8.8";
outputs = [
"bin"
@@ -39,7 +39,7 @@ stdenv.mkDerivation (finalAttrs: {
url =
"mirror://kernel/linux/utils/cryptsetup/v${lib.versions.majorMinor finalAttrs.version}/"
+ "cryptsetup-${finalAttrs.version}.tar.xz";
hash = "sha256-53bw04HobKYQQsRXBpSR/o4KwoZ4DHw7Hk+ZIavJYdo=";
hash = "sha256-Os+mhfLdf8yDLgt3vHCTqn2lVKUc6Nr7tBOOqoVO7jU=";
};
patches = [

View File

@@ -1,67 +0,0 @@
diff -Naur --no-dereference ctx-source-old/configure.sh ctx-source-new/configure.sh
--- ctx-source-old/configure.sh 1969-12-31 21:00:01.000000000 -0300
+++ ctx-source-new/configure.sh 2023-09-27 19:26:05.403569888 -0300
@@ -42,15 +42,18 @@
ENABLE_SWITCH_DISPATCH=1
pkg-config sdl2 && HAVE_SDL=1
-pkg-config babl && HAVE_BABL=1
+
+pkg-config babl-0.1 && { HAVE_BABL=1; BABL_NAME=babl-0.1; }
+if [ $HAVE_BABL != 1 ]; then
+ pkg-config babl && { HAVE_BABL=1; BABL_NAME=babl; }
+fi
+
pkg-config libcurl && HAVE_LIBCURL=1
pkg-config alsa && HAVE_ALSA=1
pkg-config libdrm && HAVE_KMS=1
#pkg-config harfbuzz && HAVE_HARFBUZZ=1
-
-
-ARCH=`uname -m`
+: "${ARCH:="$(uname -m)"}"
case "$ARCH" in
"x86_64") HAVE_SIMD=1 ;;
@@ -224,8 +227,8 @@
if [ $HAVE_BABL = 1 ];then
echo "#define CTX_BABL 1 " >> local.conf
echo "#define CTX_ENABLE_CM 1 " >> local.conf
- echo "CTX_CFLAGS+= `pkg-config babl --cflags`" >> build.conf
- echo "CTX_LIBS+= `pkg-config babl --libs` " >> build.conf
+ echo "CTX_CFLAGS+= `pkg-config "${BABL_NAME}" --cflags`" >> build.conf
+ echo "CTX_LIBS+= `pkg-config "${BABL_NAME}" --libs` " >> build.conf
else
echo "#define CTX_BABL 0 " >> local.conf
echo "#define CTX_ENABLE_CM 0 " >> local.conf
@@ -335,7 +338,7 @@
#echo "Generating build.deps"
#make build.deps 2>/dev/null
-echo -n "configuration summary, architecture $(arch)"
+echo -n "configuration summary, architecture $ARCH"
[ $HAVE_SIMD = 1 ] && echo " SIMD multi-pass"
echo ""
echo "Backends:"
diff -Naur --no-dereference ctx-source-old/Makefile ctx-source-new/Makefile
--- ctx-source-old/Makefile 1969-12-31 21:00:01.000000000 -0300
+++ ctx-source-new/Makefile 2023-09-27 19:37:23.779830320 -0300
@@ -206,8 +206,8 @@
libctx.a: itk.o deps.o $(CTX_OBJS) build.conf Makefile
$(AR) rcs $@ $(CTX_OBJS) deps.o itk.o
libctx.so: $(CTX_OBJS) deps.o itk.o build.conf Makefile
- $(LD) -shared $(LIBS) $(CTX_OBJS) deps.o itk.o $(CTX_LIBS) -o $@
- #$(LD) --retain-symbols-file=symbols -shared $(LIBS) $? $(CTX_LIBS) -o $@
+ $(CCC) -shared $(LIBS) $(CTX_OBJS) deps.o itk.o $(CTX_LIBS) -o $@
+ #$(CCC) --retain-symbols-file=symbols -shared $(LIBS) $? $(CTX_LIBS) -o $@
ctx: main.c ctx.h build.conf Makefile $(TERMINAL_OBJS) $(MEDIA_HANDLERS_OBJS) libctx.a
$(CCC) main.c $(TERMINAL_OBJS) $(MEDIA_HANDLERS_OBJS) -o $@ $(CFLAGS) libctx.a $(LIBS) $(CTX_CFLAGS) $(OFLAGS_LIGHT) -lpthread $(CTX_LIBS)
@@ -277,5 +277,5 @@
for a in `cat itk/css.h | tr ';' ' ' | tr ',' ' ' | tr ')' ' '|tr ':' ' ' | tr '{' ' ' | tr ' ' '\n' | grep 'SQZ_[a-z][0-9a-zA-Z_]*'| sort | uniq`;do b=`echo $$a|tail -c+5|tr '_' '-'`;echo "#define $$a `./squoze/squoze -33 $$b`u // \"$$b\"";done \
>> $@
echo '#endif' >> $@
-static.inc: static/* static/*/* tools/gen_fs.sh
+static.inc: static/* tools/gen_fs.sh
./tools/gen_fs.sh static > $@

View File

@@ -1,83 +0,0 @@
{
lib,
stdenv,
fetchgit,
SDL2,
alsa-lib,
babl,
bash,
curl,
libdrm, # Not documented
pkg-config,
xxd,
enableFb ? false,
nixosTests,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "ctx";
version = "0-unstable-2023-09-03";
src = fetchgit {
name = "ctx-source"; # because of a dash starting the directory
url = "https://ctx.graphics/.git/";
rev = "1bac18c152eace3ca995b3c2b829a452085d46fb";
hash = "sha256-fOcQJ2XCeomdtAUmy0A+vU7Vt325OSwrb1+ccW+gZ38=";
};
patches = [
# Many problematic things fixed - it should be upstreamed somehow:
# - babl changed its name in pkg-config files
# - arch detection made optional
# - LD changed to CCC
# - remove inexistent reference to static/*/*
./0001-fix-detections.diff
];
postPatch = ''
patchShebangs ./tools/gen_fs.sh
'';
nativeBuildInputs = [
pkg-config
xxd
];
buildInputs = [
SDL2
alsa-lib
babl
bash # for ctx-audioplayer
curl
libdrm
];
strictDeps = true;
env.ARCH = stdenv.hostPlatform.parsed.cpu.arch or stdenv.hostPlatform.parsed.cpu.name;
configureScript = "./configure.sh";
configureFlags = lib.optional enableFb "--enable-fb";
configurePlatforms = [ ];
dontAddPrefix = true;
dontDisableStatic = true;
installFlags = [
"PREFIX=${placeholder "out"}"
];
passthru.tests.test = nixosTests.terminal-emulators.ctx;
meta = {
homepage = "https://ctx.graphics/";
description = "Vector graphics terminal";
longDescription = ''
ctx is an interactive 2D vector graphics, audio, text- canvas and
terminal, with escape sequences that enable a 2D vector drawing API using
a vector graphics protocol.
'';
license = lib.licenses.gpl3Plus;
maintainers = [ ];
platforms = lib.platforms.unix;
};
})

View File

@@ -2,6 +2,7 @@
lib,
stdenv,
fetchurl,
fetchpatch,
pkg-config,
removeReferencesTo,
zlib,
@@ -42,6 +43,29 @@ stdenv.mkDerivation (finalAttrs: {
"man"
];
patches = [
(fetchpatch {
name = "CVE-2026-87875.patch";
url = "https://github.com/OpenPrinting/cups/commit/2b1dc178a2d2325135b855142e384f4e8c42d8e4.patch";
excludes = [ "CHANGES.md" ];
hash = "sha256-WHw/UWyUuYEBC6TRADpw+BBCaCts9Nd0jS9qsQHTBMo=";
})
(fetchpatch {
url = "https://github.com/OpenPrinting/cups/commit/76b515154ce6264dae6d7cc44915d85e0e5fa0f4.patch";
hash = "sha256-KtwcB4KrFmsLbtAz6u593qxbnozW2Vb/I9yX36gZTd0=";
})
(fetchpatch {
url = "https://github.com/OpenPrinting/cups/commit/526adb34fe87f7f0cf5f63ae26751c1afa36a5d6.patch";
hash = "sha256-Pg2xbCXalbvDvv5iI19MrjpOTW03XLKfEHN+lhImG1U=";
})
(fetchpatch {
name = "CVE-2026-87876.patch";
url = "https://github.com/OpenPrinting/cups/commit/88e67c00c130a45f3a1edf36686f7a0b2982fef8.patch";
excludes = [ "CHANGES.md" ];
hash = "sha256-gohcRO93JE2ldF5uPbR0re9NYxb13AeVn4b/qYsQGaE=";
})
];
postPatch = ''
substituteInPlace cups/testfile.c \
--replace 'cupsFileFind("cat", "/bin' 'cupsFileFind("cat", "${coreutils}/bin'

View File

@@ -4,12 +4,9 @@
stdenv,
swift,
swiftpm,
swiftPackages,
}:
# Use the same stdenv, including clang, as Swift itself
# Fixes build issues, see https://github.com/NixOS/nixpkgs/pull/296082 and https://github.com/NixOS/nixpkgs/issues/295322
swiftPackages.stdenv.mkDerivation (finalAttrs: {
stdenv.mkDerivation (finalAttrs: {
pname = "dark-mode-notify";
version = "0-unstable-2022-07-18";
@@ -27,6 +24,8 @@ swiftPackages.stdenv.mkDerivation (finalAttrs: {
makeFlags = [ "prefix=$(out)" ];
dontUseSwiftpmInstall = true;
meta = {
description = "Run a script whenever dark mode changes in macOS";
homepage = "https://github.com/bouk/dark-mode-notify";

View File

@@ -8,7 +8,7 @@
libjpeg,
wxwidgets_3_2,
libxml2,
libsigcxx,
libsigcxx_2_0,
libpng,
openal,
libvorbis,
@@ -50,7 +50,7 @@ stdenv.mkDerivation (finalAttrs: {
libjpeg
wxwidgets_3_2
libxml2
libsigcxx
libsigcxx_2_0
libpng
openal
libvorbis

View File

@@ -29,10 +29,14 @@ stdenv.mkDerivation (finalAttrs: {
pname = "dconf";
version = "0.49.0";
__structuredAttrs = true;
strictDeps = true;
outputs = [
"out"
"lib"
"dev"
"man"
]
++ lib.optional withDocs "devdoc";

View File

@@ -9,6 +9,7 @@
libcap,
perl,
ncurses,
fetchpatch,
}:
let
lua = lua5_1;
@@ -24,6 +25,14 @@ stdenv.mkDerivation (finalAttrs: {
hash = "sha256-Fz+qvgw5ipyAcZlWBGkmSHuGrZ95i5OorLN3dkdsYKU=";
};
patches = [
# fix build w/ glibc-2.44
(fetchpatch {
url = "https://github.com/chaos/diod/commit/d56db0c55012c8a9ea2d3c72749022292c0f65b8.patch";
hash = "sha256-wuPok3D3VKiao9NmHYLcccsL+91xVbhUeSDExw17X/E=";
})
];
postPatch = ''
sed -i configure.ac -e '/git describe/c ${finalAttrs.version})'
'';

View File

@@ -7,7 +7,6 @@
swift,
swiftpm,
swiftpm2nix,
swiftPackages,
libarchive,
p7zip,
# Building from source on x86_64 fails (among other things) due to:
@@ -30,7 +29,7 @@ let
platforms = lib.platforms.darwin;
};
buildFromSource = swiftPackages.stdenv.mkDerivation (finalAttrs: {
buildFromSource = stdenv.mkDerivation (finalAttrs: {
inherit pname version meta;
src = fetchFromGitHub {

View File

@@ -1,12 +0,0 @@
diff --git a/src/lib/map/Mapper.cpp b/src/lib/map/Mapper.cpp
index 6eaa2c5..781988c 100644
--- a/src/lib/map/Mapper.cpp
+++ b/src/lib/map/Mapper.cpp
@@ -22,6 +22,7 @@
//#include "common/Crc32Hw.hpp"
#include "common/DragenLogger.hpp"
#include "map/Mapper.hpp"
+#include <boost/range/iterator_range.hpp>
namespace dragenos {
namespace map {

View File

@@ -1,73 +0,0 @@
diff --git a/src/include/map/SeedPosition.hpp b/src/include/map/SeedPosition.hpp
index 30a7d47..c05af16 100644
--- a/src/include/map/SeedPosition.hpp
+++ b/src/include/map/SeedPosition.hpp
@@ -16,6 +16,7 @@
#define MAP_SEED_POSITION_HPP
#include <ostream>
+#include <cstdint>
#include "sequences/Seed.hpp"
diff --git a/src/include/sequences/Read.hpp b/src/include/sequences/Read.hpp
index 460c1cb..c7ff619 100644
--- a/src/include/sequences/Read.hpp
+++ b/src/include/sequences/Read.hpp
@@ -16,6 +16,7 @@
#define SEQUENCES_READ_HPP
#include <iostream>
+#include <cstdint>
#include <string>
#include <vector>
diff --git a/src/include/sequences/Seed.hpp b/src/include/sequences/Seed.hpp
index a242153..dd4d23b 100644
--- a/src/include/sequences/Seed.hpp
+++ b/src/include/sequences/Seed.hpp
@@ -16,6 +16,7 @@
#define SEQUENCES_SEED_HPP
#include <ostream>
+#include <cstdint>
#include <vector>
#include "sequences/Read.hpp"
diff --git a/src/lib/sequences/tests/unit/CrcHasherMocks.hpp b/src/lib/sequences/tests/unit/CrcHasherMocks.hpp
index 1866be7..5d9b7d7 100644
--- a/src/lib/sequences/tests/unit/CrcHasherMocks.hpp
+++ b/src/lib/sequences/tests/unit/CrcHasherMocks.hpp
@@ -2,6 +2,7 @@
#include <array>
#include <cassert>
+#include <cstdint>
#include <cstdlib>
#include <string>
diff --git a/stubs/dragen/src/host/dragen_api/read_group_list.hpp b/stubs/dragen/src/host/dragen_api/read_group_list.hpp
index eefb9ae..623a77f 100644
--- a/stubs/dragen/src/host/dragen_api/read_group_list.hpp
+++ b/stubs/dragen/src/host/dragen_api/read_group_list.hpp
@@ -14,6 +14,7 @@
#define __READ_GROUP_LIST_HPP__
#include "dragen_exception.hpp"
+#include <cstdint>
class ReadGroupList {
public:
const std::string &getReadGroupName(const uint16_t idx) const {
diff --git a/stubs/dragen/src/host/metrics/public/run_stats.hpp b/stubs/dragen/src/host/metrics/public/run_stats.hpp
index 998fe4e..9561b0b 100644
--- a/stubs/dragen/src/host/metrics/public/run_stats.hpp
+++ b/stubs/dragen/src/host/metrics/public/run_stats.hpp
@@ -10,6 +10,7 @@
#include <string>
#include <vector>
#include <memory>
+#include <cstdint>
//
// RP: HA! HA! HA! That's what you get when you write code logging to cout all
// over the place!

View File

@@ -1,11 +0,0 @@
diff --git a/thirdparty/dragen/src/common/hash_generation/gen_hash_table.c b/thirdparty/dragen/src/common/hash_generation/gen_hash_table.c
index cdca3df..5a55699 100644
--- a/thirdparty/dragen/src/common/hash_generation/gen_hash_table.c
+++ b/thirdparty/dragen/src/common/hash_generation/gen_hash_table.c
@@ -249,7 +249,7 @@ void setDefaultHashParams(hashTableConfig_t* defConfig, const char* destDir, Has
free(dir);
}
- defConfig->hostVersion = (char*)getHostVersion(0);
+ defConfig->hostVersion = (char*)getHostVersion();
}

View File

@@ -1,82 +0,0 @@
{
lib,
stdenv,
fetchFromGitHub,
boost,
gtest,
zlib,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "dragmap";
version = "1.3.0";
src = fetchFromGitHub {
owner = "Illumina";
repo = "DRAGMAP";
tag = finalAttrs.version;
fetchSubmodules = true;
hash = "sha256-f1jsOErriS1I/iUS4CzJ3+Dz8SMUve/ccb3KaE+L7U8=";
};
nativeBuildInputs = [ boost ];
buildInputs = [
gtest
zlib
];
# Latest boost do not need system as a linking flag
postPatch = ''
sed -i 's/system filesystem/filesystem/' config.mk
'';
patches = [
# getHostVersion use an empty parameter list. This is now an error for GC
./getHostVersion.patch
# pclose is called on a NULL value. This is no longer allowed since
# https://github.com/bminor/glibc/commit/64b1a44183a3094672ed304532bedb9acc707554
./stdio-pclose.patch
# Add missing include cstdint. Upstream does not accept PR. Issue opened at
# https://github.com/Illumina/DRAGMAP/issues/63
./cstdint.patch
# Missing import in Mapper.cpp
# Issue opened upstream https://github.com/Illumina/DRAGMAP/pull/66
./boost-iterator-range.patch
];
env = {
GTEST_INCLUDEDIR = "${gtest.dev}/include";
CPPFLAGS = "-I ${boost.dev}/include";
LDFLAGS = "-L ${boost.out}/lib";
};
installPhase = ''
runHook preInstall
mkdir -p $out/bin
cp build/release/dragen-os $out/bin/
runHook postInstall
'';
# Tests are launched by default from makefile
doCheck = false;
meta = {
description = "Open Source version of Dragen mapper for genomics";
mainProgram = "dragen-os";
longDescription = ''
DRAGMAP is an open-source software implementation of the DRAGEN mapper,
which the Illumina team created to produce the same results as their
proprietary DRAGEN hardware.
'';
homepage = "https://github.com/Illumina/DRAGMAP";
changelog = "https://github.com/Illumina/DRAGMAP/releases/tag/${finalAttrs.version}";
license = lib.licenses.gpl3;
platforms = [ "x86_64-linux" ];
maintainers = with lib.maintainers; [ apraga ];
};
})

View File

@@ -1,12 +0,0 @@
diff --git a/stubs/dragen/src/host/infra/linux/infra_linux_utils.cpp b/stubs/dragen/src/host/infra/linux/infra_linux_utils.cpp
index cd02cd4..c26e9cf 100644
--- a/stubs/dragen/src/host/infra/linux/infra_linux_utils.cpp
+++ b/stubs/dragen/src/host/infra/linux/infra_linux_utils.cpp
@@ -57,7 +57,6 @@ int GetDmiValue(const std::string& label, std::string& value)
FILE* dmiOutput = popen("sudo /usr/sbin/dmidecode -t 2", "r");
if (dmiOutput == NULL) {
perror("dmidecode popen");
- pclose(dmiOutput);
return -1;
}

View File

@@ -14,40 +14,43 @@
replaceVars,
swig,
libyaml,
gitUpdater,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "dtc";
version = "1.7.2";
version = "1.8.1";
src = fetchzip {
url = "https://git.kernel.org/pub/scm/utils/dtc/dtc.git/snapshot/dtc-v${finalAttrs.version}.tar.gz";
hash = "sha256-KZCzrvdWd6zfQHppjyp4XzqNCfH2UnuRneu+BNIRVAY=";
hash = "sha256-l32ZGygimwSB2xmwQEvS+C2c5n86OMH92jQZ/tPI+YI=";
};
patches = [
# backport of https://github.com/dgibson/dtc/pull/141
# to 1.7.2, to drop in 1.8.
./static.patch
# backport fix for SWIG 4.3
# These 4 patches fix build failures on x86_64-linux for tests/dumptrees by replacing it.
(fetchpatch2 {
url = "https://github.com/dgibson/dtc/commit/9a969f3b70b07bbf1c9df44a38d7f8d1d3a6e2a5.patch";
hash = "sha256-YrRzc3ATNmU6LYNHEQeU8wtjt1Ap7/gNFvtRR14PQEE=";
url = "https://github.com/dgibson/dtc/commit/9b53b9a4c2f953a37d8f68d72f5910b20cf5aee0.patch?full_index=1";
hash = "sha256-HHX3zg1uwD3ZFHbHcANX85gNDpeEMVbkG7zMhyc/87k=";
})
# glibc-2.41 support
(fetchpatch2 {
url = "https://github.com/dgibson/dtc/commit/ce1d8588880aecd7af264e422a16a8b33617cef7.patch";
hash = "sha256-t1CxKnbCXUArtVcniAIdNvahOGXPbYhPCZiTynGLvfo=";
url = "https://github.com/dgibson/dtc/commit/f116f4800edce6cd58f680a36fbaed656018d528.patch?full_index=1";
hash = "sha256-XcLzfruD3DGs4girNxsqrhBW3Ct/+vAltn8OzIRyU6w=";
})
(fetchpatch2 {
url = "https://github.com/dgibson/dtc/commit/4df9ca4c8ddb83c40900bf13916b42914a25caf4.patch?full_index=1";
hash = "sha256-ap3D2DxHxLYOSJPhWAUP/nooi/n2/wLc65NfbjlYl2M=";
})
(fetchpatch2 {
url = "https://github.com/dgibson/dtc/commit/214372a27398121f8266cf9bb9592561508c4c0f.patch?full_index=1";
hash = "sha256-Fk0dA1J14NsIfd5qSknOMkB769TEwvWem8e+uEleM84=";
})
]
++
lib.optional pythonSupport
# Make Meson use our Python version, not the one it was built with itself
(
replaceVars ./python-path.patch {
python_bin = lib.getExe python;
}
);
++ lib.optionals pythonSupport [
# Make Meson use our Python version, not the one it was built with itself
(replaceVars ./python-path.patch {
python_bin = lib.getExe python;
})
];
nativeBuildInputs = [
meson
@@ -55,25 +58,23 @@ stdenv.mkDerivation (finalAttrs: {
flex
bison
pkg-config
which
]
++ lib.optionals pythonSupport [
python
python.pkgs.setuptools-scm
swig
];
buildInputs = [ libyaml ];
postPatch = ''
patchShebangs setup.py
# Align the name with pypi
sed -i "s/name='libfdt',/name='pylibfdt',/" setup.py
substituteInPlace pyproject.toml --replace-fail "name = 'libfdt'" "name = 'pylibfdt'"
'';
# Required for installation of Python library and is innocuous otherwise.
env.DESTDIR = "/";
# glibc 2.43 C23 const-preserving strchr/strstr macros
env.NIX_CFLAGS_COMPILE = "-Wno-error=discarded-qualifiers";
mesonAutoFeatures = "auto";
mesonFlags = [
@@ -97,6 +98,11 @@ stdenv.mkDerivation (finalAttrs: {
# hostPlatform binaries during the configurePhase.
(with stdenv; buildPlatform.canExecute hostPlatform);
passthru.updateScript = gitUpdater {
url = "https://git.kernel.org/pub/scm/utils/dtc/dtc.git";
rev-prefix = "v";
};
meta = {
description = "Device Tree Compiler";
homepage = "https://git.kernel.org/pub/scm/utils/dtc/dtc.git";

View File

@@ -1,150 +0,0 @@
commit a881a5b110d2f23a11924604bff64ab3c2755bc6
Author: Brandon Maier <brandon.maier@gmail.com>
Date: Thu Mar 6 20:30:47 2025 -0600
meson: support building libfdt without static library
Some packaging systems like NixOS don't support compiling static
libraries. However libfdt's meson.build uses `both_library()` which
forces the build to always compile shared and static libraries. Removing
`both_library()` will make packaging easier.
libfdt uses `both_libraries()` to support the 'static-build' option.
But we do not need the 'static-build' option as Meson can natively
build static using
> meson setup builddir/ -Dc_link_args='-static' --prefer-static --default-library=static
So drop 'static-build' and then replace `both_libraries()` with
`library()`.
Signed-off-by: Brandon Maier <brandon.maier@gmail.com>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
diff --git a/libfdt/meson.build b/libfdt/meson.build
index bf8343f..c2f4bd6 100644
--- a/libfdt/meson.build
+++ b/libfdt/meson.build
@@ -26,7 +26,7 @@ else
endif
link_args += version_script
-libfdt = both_libraries(
+libfdt = library(
'fdt', sources,
version: meson.project_version(),
link_args: link_args,
@@ -34,17 +34,11 @@ libfdt = both_libraries(
install: true,
)
-if static_build
- link_with = libfdt.get_static_lib()
-else
- link_with = libfdt.get_shared_lib()
-endif
-
libfdt_inc = include_directories('.')
libfdt_dep = declare_dependency(
include_directories: libfdt_inc,
- link_with: link_with,
+ link_with: libfdt,
)
install_headers(
diff --git a/meson.build b/meson.build
index 310699f..603ffaa 100644
--- a/meson.build
+++ b/meson.build
@@ -1,7 +1,7 @@
project('dtc', 'c',
version: files('VERSION.txt'),
license: ['GPL2+', 'BSD-2'],
- default_options: 'werror=true',
+ default_options: ['werror=true', 'default_library=both'],
meson_version: '>=0.57.0'
)
@@ -27,16 +27,8 @@ add_project_arguments(
language: 'c'
)
-if get_option('static-build')
- static_build = true
- extra_link_args = ['-static']
-else
- static_build = false
- extra_link_args = []
-endif
-
yamltree = 'yamltree.c'
-yaml = dependency('yaml-0.1', version: '>=0.2.3', required: get_option('yaml'), static: static_build)
+yaml = dependency('yaml-0.1', version: '>=0.2.3', required: get_option('yaml'))
if not yaml.found()
add_project_arguments('-DNO_YAML', language: 'c')
yamltree = []
@@ -92,7 +84,6 @@ if get_option('tools')
],
dependencies: util_dep,
install: true,
- link_args: extra_link_args,
)
endif
@@ -113,11 +104,10 @@ if get_option('tools')
],
dependencies: [util_dep, yaml],
install: true,
- link_args: extra_link_args,
)
foreach e: ['fdtdump', 'fdtget', 'fdtput', 'fdtoverlay']
- dtc_tools += executable(e, files(e + '.c'), dependencies: util_dep, install: true, link_args: extra_link_args)
+ dtc_tools += executable(e, files(e + '.c'), dependencies: util_dep, install: true)
endforeach
install_data(
diff --git a/meson_options.txt b/meson_options.txt
index 36f391a..62b31b3 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -8,7 +8,5 @@ option('valgrind', type: 'feature', value: 'auto',
description: 'Valgrind support')
option('python', type: 'feature', value: 'auto',
description: 'Build pylibfdt Python library')
-option('static-build', type: 'boolean', value: false,
- description: 'Build static binaries')
option('tests', type: 'boolean', value: true,
description: 'Build tests')
diff --git a/tests/meson.build b/tests/meson.build
index 9cf6e3d..baed174 100644
--- a/tests/meson.build
+++ b/tests/meson.build
@@ -96,22 +96,20 @@ tests += [
'truncated_string',
]
+test_deps = [testutil_dep, util_dep, libfdt_dep]
+
dl = cc.find_library('dl', required: false)
-if dl.found() and not static_build
+if dl.found()
tests += [
'asm_tree_dump',
'value-labels',
]
-endif
-
-test_deps = [testutil_dep, util_dep, libfdt_dep]
-if not static_build
test_deps += [dl]
endif
tests_exe = []
foreach t: tests
- tests_exe += executable(t, files(t + '.c'), dependencies: test_deps, link_args: extra_link_args)
+ tests_exe += executable(t, files(t + '.c'), dependencies: test_deps)
endforeach
run_tests = find_program('run_tests.sh')

View File

@@ -2,6 +2,7 @@
lib,
stdenv,
fetchFromGitHub,
substitute,
yarn-berry_4,
nodejs,
jq,
@@ -15,14 +16,25 @@ let
owner = "expo";
repo = "eas-cli";
rev = "v${version}";
hash = "sha256-EMN54PR9lhrZcGMq2iNUsdyBP3wVk4G/isjsneIGslI=";
hash = "sha256-WfzCV304xgTqiKBCsZc5rnzaC+UHA6c155FG+HWBY7s=";
# Remove after upstream updates to Yarn 4.15
# https://github.com/expo/eas-cli/blob/main/package.json#L38
postFetch = ''
cd $out
patch -p1 < ${
(substitute {
src = ./yarn-fix.patch;
substitutions = [
"--replace-fail"
"YARN_LOCKFILE_VERSION_PLACEHOLDER"
yarn-berry_4.lockfileVersion
];
})
}
'';
};
missingHashes = ./missing-hashes.json;
patches = [
# Remove after upstream updates to Yarn 4.14
# https://github.com/expo/eas-cli/blob/v18.7.0/package.json#L37
./yarn-4.14-support.patch
];
in
# cc is necessary because of building an npm package without a prebuilt binary
# for ARM. See comment in nativeBuildInputs below.
@@ -32,12 +44,11 @@ stdenv.mkDerivation (finalAttrs: {
src
version
missingHashes
patches
;
yarnOfflineCache = yarn-berry_4.fetchYarnBerryDeps {
inherit src missingHashes patches;
hash = "sha256-dOx4T009+FMFEvTZtlyJpAUo2UYBm1O1hIyBnSbqIgw=";
inherit src missingHashes;
hash = "sha256-Iqdk0MpXeiKm5hgF68XOKvl0a+5LpXsNNcelCcbfj3s=";
};
nativeBuildInputs = [

View File

@@ -15,6 +15,6 @@ diff --git a/yarn.lock b/yarn.lock
__metadata:
- version: 8
+ version: 9
+ version: YARN_LOCKFILE_VERSION_PLACEHOLDER
cacheKey: 10c0

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