Merge 0cc225cd89 into haskell-updates

This commit is contained in:
nixpkgs-ci[bot] 2026-06-04 01:02:38 +00:00 committed by GitHub
commit d58b43bad8
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
293 changed files with 4608 additions and 2085 deletions

View file

@ -37,6 +37,7 @@ npm-install-hook.section.md
patch-rc-path-hooks.section.md
perl.section.md
pkg-config.section.md
pnpm.section.md
postgresql-test-hook.section.md
premake.section.md
python.section.md

142
doc/hooks/pnpm.section.md Normal file
View file

@ -0,0 +1,142 @@
# pnpmBuildHook {#pnpm-build-hook}
[pnpm](https://pnpm.io/) is a an NPM-compatible package manager focused on increasing managment speeds, and reducing disk space.
The `pnpmBuildHook` in Nixpkgs overrides the default build phase for building packages that use pnpm.
:::{.example #ex-pnpm-build-hook}
## pnpmBuildHook example code snippet {#pnpm-build-hook-code-snippet}
```
{
lib,
stdenv,
fetchFromGitHub,
fetchPnpmDeps,
pnpmConfigHook,
pnpmBuildHook,
makeBinaryWrapper,
pnpm_10,
}:
let
pnpm = pnpm_10;
in
stdenv.mkDerivation (finalAttrs: {
pname = "coolPackages";
version = "1.0";
src = fetchFromGitHub {
owner = "JaneCool";
repo = "coolpackage";
tag = finalAttrs.version;
hash = lib.fakeHash;
};
__structuredAttrs = true;
strictDeps = true;
pnpmDeps = fetchPnpmDeps {
inherit (finalAttrs) pname version src;
inherit pnpm;
fetcherversion = 4;
hash = lib.fakeHash;
};
nativeBuildInputs = [
pnpmConfigHook
pnpmBuildHook
makeBinaryWrapper
];
pnpmBuildScript = "build";
pnpmBuildFlags = [
"--mode"
"production"
];
pnpmWorkspaces = [
"test"
];
installPhase = ''
runHook preInstall
mkdir "$out"
cp -r dist/. "$out"
runHook postInstall
'';
meta = {
description = "very cool package that does cool things";
mainProgram = "cool";
};
})
```
:::
## Variables controlling pnpmBuildHook {#pnpm-build-hook-variables}
### pnpm Exclusive Variables {#pnpm-build-hook-exclusive-variables}
#### `pnpmBuildScript` {#pnpm-build-hook-script}
Controls the script ran to build the package, by default the script is `build`.
#### `pnpmFlags` {#pnpm-build-hook-flags}
Controls flags used for all invocations of pnpm across all hooks local to this derivation.
#### `pnpmBuildFlags` {#pnpm-build-hook-build-flags}
Controls the flags pass only to the pnpm build script invocation.
#### `dontPnpmBuild` {#pnpm-build-hook-dont}
Disables automatically running `pnpmBuildHook`. The build can still be run manually if needed, for example:
```
{
lib,
rustPlatform,
pnpmBuildHook,
pnpmConfigHook,
fetchPnpmDeps,
emptyDirectory,
pnpm_10,
}:
let
pnpm = pnpm_10;
in
rustPlatform.buildRustPackage (finalAttrs: {
pname = "super-fast-application";
version = "1.0";
src = emptyDirectory;
cargoHash = lib.fakeHash;
nativeBuildInputs = [
pnpmBuildHook
pnpmConfigHook
];
pnpmDeps = fetchPnpmDeps {
inherit (finalAttrs) pname version src;
inherit pnpm;
fetcherversion = 3;
hash = lib.fakeHash;
}
dontPnpmBuild = true;
postBuild = ''
pnpmBuildHook
'';
})
```
### Honored Variables {#pnpm-build-hook-honored-variables}
The following variables are honored by `pnpmBuildHook`.
* [`pnpmRoot`](#javascript-pnpm-sourceRoot)
* [`pnpmWorkspaces`](#javascript-pnpm-workspaces)

View file

@ -309,6 +309,8 @@ pnpm is available as the top-level package `pnpm`. Additionally, there are varia
When packaging an application that includes a `pnpm-lock.yaml`, you need to fetch the pnpm store for that project using a fixed-output-derivation. The function `fetchPnpmDeps` can create this pnpm store derivation. In conjunction, the setup hook `pnpmConfigHook` will prepare the build environment to install the pre-fetched dependencies store. Here is an example for a package that contains `package.json` and a `pnpm-lock.yaml` files using the fetcher and setup hook above:
There is also the [`pnpmBuildHook`](#pnpm-build-hook) for building packages with `pnpm`, as seen in [](#ex-pnpm-build-hook).
```nix
{
fetchPnpmDeps,
@ -511,10 +513,10 @@ Changes can include workarounds or bug fixes to existing PNPM issues.
##### Version history {#javascript-pnpm-fetcherVersion-versionHistory}
Version 3 is the recommended value for new packages. Versions 1 and 2 are deprecated and scheduled for removal in the 26.11 release; existing packages must migrate.
Version 3 is the minimum supported value. Versions 1 and 2 were removed in the 26.11 release; packages that still use them fail to evaluate and must migrate to `fetcherVersion = 3` (or later) and regenerate their hashes.
- 1: Initial version, nothing special.
- 2: [Ensure consistent permissions](https://github.com/NixOS/nixpkgs/pull/422975)
- 1: Initial version, nothing special. (removed in 26.11)
- 2: [Ensure consistent permissions](https://github.com/NixOS/nixpkgs/pull/422975) (removed in 26.11)
- 3: [Build a reproducible tarball](https://github.com/NixOS/nixpkgs/pull/469950)
- 4: [Dump SQLite database to an SQL file](https://github.com/NixOS/nixpkgs/pull/522703)

View file

@ -113,6 +113,9 @@
"ex-pkgs-replace-vars-with": [
"index.html#ex-pkgs-replace-vars-with"
],
"ex-pnpm-build-hook": [
"index.html#ex-pnpm-build-hook"
],
"ex-shfmt": [
"index.html#ex-shfmt"
],
@ -346,6 +349,33 @@
"pkgs.treefmt.withConfig": [
"index.html#pkgs.treefmt.withConfig"
],
"pnpm-build-hook": [
"index.html#pnpm-build-hook"
],
"pnpm-build-hook-build-flags": [
"index.html#pnpm-build-hook-build-flags"
],
"pnpm-build-hook-code-snippet": [
"index.html#pnpm-build-hook-code-snippet"
],
"pnpm-build-hook-dont": [
"index.html#pnpm-build-hook-dont"
],
"pnpm-build-hook-exclusive-variables": [
"index.html#pnpm-build-hook-exclusive-variables"
],
"pnpm-build-hook-flags": [
"index.html#pnpm-build-hook-flags"
],
"pnpm-build-hook-script": [
"index.html#pnpm-build-hook-script"
],
"pnpm-build-hook-variables": [
"index.html#pnpm-build-hook-variables"
],
"pnpm-build-hook-honored-variables": [
"index.html#pnpm-build-hook-honored-variables"
],
"preface": [
"index.html#preface"
],

View file

@ -29,6 +29,13 @@
- `librest` providing 0.7 ABI was removed. `librest_1_0` providing 1.0 ABI was renamed to `librest` and `librest_1_0` was kept as an alias.
- `fetchPnpmDeps`' `fetcherVersion = 1` and `fetcherVersion = 2` have been
removed, as announced in the 26.05 release. Packages still using them now
throw an evaluation error and must migrate to `fetcherVersion = 3` (or later)
and regenerate their hashes. See the
[pnpm `fetcherVersion` section](#javascript-pnpm-fetcherVersion) of the manual
for details.
## Other Notable Changes {#sec-nixpkgs-release-26.11-notable-changes}
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->

View file

@ -20417,6 +20417,12 @@
email = "nyu@nyuku.ru";
githubId = 97425873;
};
nyxar77 = {
name = "nyxar77";
github = "nyxar77";
email = "dev@nyxar.space";
githubId = 153492661;
};
nyxonios = {
name = "nyxonios";
github = "Nyxonios";
@ -25764,6 +25770,7 @@
};
skyesoss = {
name = "Skye Soss";
email = "skye@soss.website";
matrix = "@skyesoss:matrix.org";
github = "Skyb0rg007";
githubId = 30806179;

View file

@ -6,12 +6,16 @@
- ./nix.nix
- ./nix-flakes.nix
*/
{ config, lib, ... }:
{
config,
lib,
pkgs,
...
}:
let
inherit (lib)
mkIf
mkOption
stringAfter
types
;
@ -98,8 +102,10 @@ in
''f /root/.nix-channels - - - - ${config.system.defaultChannel} nixos\n''
];
system.activationScripts.no-nix-channel = mkIf (!cfg.channel.enable) (
stringAfter [ "etc" "users" ] (builtins.readFile ./nix-channel/activation-check.sh)
system.preSwitchChecks.no-nix-channel = mkIf (!cfg.channel.enable) (
lib.replaceStrings [ "@getent@" ] [ (lib.getExe pkgs.getent) ] (
builtins.readFile ./nix-channel/pre-switch-check.sh
)
);
};
}

View file

@ -1,4 +1,6 @@
# shellcheck shell=bash
warn() {
printf "\033[1;35mwarning:\033[0m %s\n" "$*" >&2
}
explainChannelWarning=0
if [[ -e "/root/.nix-defexpr/channels" ]]; then
@ -11,11 +13,13 @@ if [[ -e "/nix/var/nix/profiles/per-user/root/channels" ]]; then
fi
while IFS=: read -r _ _ _ _ _ home _ ; do
if [[ -n "$home" && -e "$home/.nix-defexpr/channels" ]]; then
warn "$home/.nix-defexpr/channels exists, but channels have been disabled." 1>&2
warn "$home/.nix-defexpr/channels exists, but channels have been disabled."
explainChannelWarning=1
fi
done < <(getent passwd)
done < <(@getent@ passwd)
if [[ $explainChannelWarning -eq 1 ]]; then
echo "Due to https://github.com/NixOS/nix/issues/9574, Nix may still use these channels when NIX_PATH is unset." 1>&2
echo "Delete the above directory or directories to prevent this." 1>&2
echo "Due to https://github.com/NixOS/nix/issues/9574, Nix may still use these channels when NIX_PATH is unset." >&2
echo "Delete the above directory or directories to prevent this." >&2
fi
# This check is informational only and must never block a switch.
true

View file

@ -1,20 +0,0 @@
# Run:
# nix-build -A nixosTests.nix-channel
{ lib, testers }:
let
inherit (lib) fileset;
runShellcheck = testers.shellcheck {
name = "activation-check";
src = fileset.toSource {
root = ./.;
fileset = fileset.unions [
./activation-check.sh
];
};
};
in
lib.recurseIntoAttrs {
inherit runShellcheck;
}

View file

@ -36,25 +36,22 @@
# Avoid bundling an entire MariaDB installation on the ISO.
programs.kde-pim.enable = false;
system.activationScripts.installerDesktop =
systemd.tmpfiles.settings."10-installer-desktop" =
let
# Comes from documentation.nix when xserver and nixos.enable are true.
manualDesktopFile = "/run/current-system/sw/share/applications/nixos-manual.desktop";
homeDir = "/home/nixos/";
desktopDir = homeDir + "Desktop/";
in
''
mkdir -p ${desktopDir}
chown nixos ${homeDir} ${desktopDir}
ln -sfT ${manualDesktopFile} ${desktopDir + "nixos-manual.desktop"}
ln -sfT ${pkgs.gparted}/share/applications/gparted.desktop ${desktopDir + "gparted.desktop"}
ln -sfT ${pkgs.calamares-nixos}/share/applications/calamares.desktop ${
desktopDir + "calamares.desktop"
}
'';
{
"/home/nixos/Desktop".d = {
user = "nixos";
group = "users";
mode = "0755";
};
"/home/nixos/Desktop/nixos-manual.desktop"."L+".argument = manualDesktopFile;
"/home/nixos/Desktop/gparted.desktop"."L+".argument =
"${pkgs.gparted}/share/applications/gparted.desktop";
"/home/nixos/Desktop/calamares.desktop"."L+".argument =
"${pkgs.calamares-nixos}/share/applications/calamares.desktop";
};
}

View file

@ -207,6 +207,7 @@ in
};
tmpfiles.rules = [
"d ${cfg.settings.Rules.Path} 0750 root root - -"
"L+ /etc/opensnitchd/network_aliases.json - - - - ${cfg.package}/etc/opensnitchd/network_aliases.json"
"L+ /etc/opensnitchd/system-fw.json - - - - ${cfg.package}/etc/opensnitchd/system-fw.json"
];
};

View file

@ -238,10 +238,10 @@ in
default = null;
example = "770";
description = ''
If not `null`, is used as the permissions
set by `system.activationScripts.transmission-daemon`
on the directories [](#opt-services.transmission.settings.download-dir),
[](#opt-services.transmission.settings.incomplete-dir).
If not `null`, is used as the permissions set by
`transmission-setup.service` on the directories
[](#opt-services.transmission.settings.download-dir),
[](#opt-services.transmission.settings.incomplete-dir)
and [](#opt-services.transmission.settings.watch-dir).
Note that you may also want to change
[](#opt-services.transmission.settings.umask).

View file

@ -9,6 +9,7 @@ let
cfg = config.services.weblate;
dataDir = "/var/lib/weblate";
cacheDir = "${dataDir}/cache";
settingsDir = "${dataDir}/settings";
finalPackage = cfg.package.overridePythonAttrs (old: {
@ -362,6 +363,18 @@ in
];
inherit environment;
path = weblatePath;
# Weblate generates SSH wrappers with some preset options that use the
# absolute paths of the ssh and scp binaries internally.
# As the wrapper is only regenerated when the generator itself is changed,
# this absolute nix store path becomes unusable once ssh is updated and
# the path is garbage collected.
# As generating the wrappers is a quick operation, simply deleting the
# wrapper directory before service start ensures they are up to date.
preStart = ''
if [ -d "${cacheDir}/ssh" ]; then
rm -r "${cacheDir}/ssh"
fi
'';
serviceConfig = {
Type = "notify";
NotifyAccess = "all";

View file

@ -173,5 +173,18 @@
})
(lib.mkIf (config.system.etc.overlay.enable && !config.system.etc.overlay.mutable) {
# Systemd requires /etc/machine-id exists or can be initialized on first
# boot. This file should not be part of an image or system config because
# it is unique to the machine, so it is initialized at first boot and
# persisted in the system state directory, /var/lib/nixos.
environment.etc."machine-id".source = lib.mkDefault "/var/lib/nixos/machine-id";
boot.initrd.systemd.tmpfiles.settings.machine-id."/sysroot/var/lib/nixos/machine-id".f =
lib.mkDefault
{
argument = "uninitialized";
};
})
];
}

View file

@ -1122,7 +1122,6 @@ in
nimdow = runTest ./nimdow.nix;
nipap = runTest ./web-apps/nipap.nix;
nitter = runTest ./nitter.nix;
nix-channel = pkgs.callPackage ../modules/config/nix-channel/test.nix { };
nix-config = runTest ./nix-config.nix;
nix-daemon-firewall = runTest ./nix-daemon-firewall.nix;
nix-daemon-unprivileged = runTest ./nix-daemon-unprivileged.nix;

View file

@ -14,7 +14,8 @@
];
specialisation.fstab-test.configuration = {
fileSystems."/plain" = {
# This can't be fileSytems, as the qemu machinery doesn't honor it.
virtualisation.fileSystems."/plain" = {
device = "/encrypted";
fsType = "fuse.gocryptfs";
options = [
@ -27,31 +28,24 @@
};
testScript = ''
# Initialize a gocryptfs filesystem and mount it
machine.succeed("openssl rand -base64 32 > /tmp/password.txt")
machine.succeed("mkdir -p /encrypted /plain")
machine.succeed("gocryptfs -init /encrypted -passfile /tmp/password.txt -quiet")
machine.succeed("gocryptfs /encrypted /plain -passfile /tmp/password.txt -quiet")
# Generate a password
machine.execute("openssl rand -base64 32 > /tmp/password.txt")
# Drop a canary file and unmount
machine.succeed("echo success > /plain/data.txt")
machine.succeed("fusermount -u /plain")
# Initialize an encrypted vault
machine.execute("mkdir -p /encrypted /plain")
machine.execute("gocryptfs -init /encrypted -passfile /password.txt -quiet")
# Switch to a specialisation that has this in /etc/fstab
machine.succeed("/run/current-system/specialisation/fstab-test/bin/switch-to-configuration switch")
# Open and mount vault
machine.execute("gocryptfs /encrypted /plain -passfile /tmp/password.txt -quiet")
machine.execute("echo test > /plain/data.txt")
machine.execute("echo test > /tmp/data.txt")
# Unmount
machine.execute("fusermount -u /plain")
# Switch to the specialisation
machine.succeed("/run/current-system/specialisation/fstab-test/bin/switch-to-configuration test")
# Wait for mount
# Wait for mounts
machine.wait_for_unit("local-fs.target")
# Check data
machine.succeed("diff /plain/data.txt /tmp/data.txt")
# Ensure the canary is alive
machine.succeed("grep -q success /plain/data.txt")
'';
}

View file

@ -54,10 +54,23 @@ in
action = "allow";
duration = "always";
operator = {
type = "simple";
sensitive = false;
operand = "process.path";
data = "${pkgs.curl}/bin/curl";
type = "list";
operand = "list";
list = [
{
type = "simple";
sensitive = false;
operand = "process.path";
data = "${pkgs.curl}/bin/curl";
}
# Check that network aliases like "LAN" are properly resolved.
{
type = "network";
sensitive = false;
operand = "dest.network";
data = "LAN";
}
];
};
};
};

View file

@ -26,9 +26,9 @@ let
url = "https://edgedl.me.gvt1.com/android/studio/ide-zips/2026.1.1.6/android-studio-quail1-rc1-linux.tar.gz";
};
latestVersion = {
version = "2026.1.2.2"; # "Android Studio Quail 2 | 2026.1.2 Canary 2"
sha256Hash = "sha256-+FmW72k48GF71yzCdpIAl//qi6w26Qg8gZUW5/Nuh58=";
url = "https://edgedl.me.gvt1.com/android/studio/ide-zips/2026.1.2.2/android-studio-quail2-canary2-linux.tar.gz";
version = "2026.1.2.4"; # "Android Studio Quail 2 | 2026.1.2 Canary 4"
sha256Hash = "sha256-fnJYHZPy9bOZJ2leG2+Mr5JGH5HMc2HeMeYGHBUxJXo=";
url = "https://edgedl.me.gvt1.com/android/studio/ide-zips/2026.1.2.4/android-studio-quail2-canary4-linux.tar.gz";
};
in
{

View file

@ -9,6 +9,7 @@
*/
{
vimUtils,
neovimUtils,
writeText,
neovim,
vimPlugins,
@ -444,4 +445,117 @@ pkgs.lib.recurseIntoAttrs rec {
'';
inherit (vimPlugins) corePlugins;
nvim_require_check_lua_module =
let
inherit (neovim-unwrapped.lua.pkgs) luaexpat luassert;
in
vimUtils.buildVimPlugin {
pname = "neovim-require-check-lua-module-test";
version = "0";
src = runCommandLocal "neovim-require-check-lua-module-src" { } ''
mkdir -p "$out/lua/require-check-luamods"
mkdir -p "$out/plugin"
cat > "$out/plugin/require-check-luamods.vim" <<'EOF'
let g:require_check_luamods_plugin_loaded = 1
EOF
cat > "$out/lua/require-check-luamods/init.lua" <<'EOF'
if vim.g.require_check_luamods_plugin_loaded ~= 1 then
error("plugin script was not sourced")
end
-- lxp: direct C dependency from luaexpat (package.cpath)
require("lxp")
-- say: transitive dependency of luassert (package.path closure)
require("say")
return {}
EOF
'';
requiredLuaModules = [
luaexpat
luassert
];
};
nvim_require_check_passthru_lua_module =
let
inherit (neovim-unwrapped.lua.pkgs) luassert;
in
vimUtils.buildVimPlugin {
pname = "neovim-require-check-passthru-lua-module-test";
version = "0";
src = runCommandLocal "neovim-require-check-passthru-lua-module-src" { } ''
mkdir -p "$out/lua/require-check-passthru-luamods"
cat > "$out/lua/require-check-passthru-luamods/init.lua" <<'EOF'
require("say")
return {}
EOF
'';
passthru.requiredLuaModules = [ luassert ];
};
nvim_require_check_neovim_plugin =
let
luaPkg = neovim-unwrapped.lua.pkgs.buildLuarocksPackage {
pname = "neovim-require-check-fails";
version = "0.0.1-1";
src = runCommandLocal "neovim-require-check-fails-src" { } ''
mkdir -p "$out"
cat > "$out/neovim-require-check-fails-0.0.1-1.rockspec" <<'EOF'
package = "neovim-require-check-fails"
version = "0.0.1-1"
source = {
url = "."
}
build = {
type = "none"
}
EOF
'';
};
in
testers.testBuildFailure (
neovimUtils.buildNeovimPlugin {
luaAttr = luaPkg;
doCheck = true;
postInstall = ''
mkdir -p "$out/lua"
cat > "$out/lua/require_check_fails.lua" <<'EOF'
error("neovimRequireCheckHook required installed module")
EOF
'';
}
);
nvim_require_check_ignores_test_modules = vimUtils.buildVimPlugin {
pname = "neovim-require-check-ignores-test-modules";
version = "0";
src = runCommandLocal "neovim-require-check-ignores-test-modules-src" { } ''
mkdir -p \
"$out/lua/require-check-ignores"/{debug,script,scripts,test,tests,spec,_meta} \
"$out/lua/require-check-ignores"
cat > "$out/lua/require-check-ignores/init.lua" <<'EOF'
return {}
EOF
for dir in debug script scripts test tests spec _meta; do
cat > "$out/lua/require-check-ignores/$dir/failing.lua" <<EOF
error("excluded $dir directory was required")
EOF
done
cat > "$out/lua/require-check-ignores/failing_meta.lua" <<'EOF'
error("excluded _meta module was required")
EOF
cat > "$out/lua/require-check-ignores/failing_spec.lua" <<'EOF'
error("excluded _spec module was required")
EOF
cat > "$out/lua/require-check-ignores/failing.spec.lua" <<'EOF'
error("excluded .spec module was required")
EOF
cat > "$out/lua/require-check-ignores/failing.test.lua" <<'EOF'
error("excluded .test module was required")
EOF
cat > "$out/lua/require-check-ignores/meta.lua" <<'EOF'
error("excluded meta module was required")
EOF
'';
};
}

View file

@ -5235,6 +5235,19 @@ final: prev: {
meta.hydraPlatforms = [ ];
};
diffview-plus-nvim = buildVimPlugin {
pname = "diffview.nvim";
version = "0.34";
src = fetchFromGitHub {
owner = "dlyongemallo";
repo = "diffview-plus.nvim";
tag = "v0.34";
hash = "sha256-M3Hf4y9HGFquBOK/Stv5FIxoVYX4aoO4dbbYQNPhisk=";
};
meta.homepage = "https://github.com/dlyongemallo/diffview.nvim/";
meta.hydraPlatforms = [ ];
};
dirbuf-nvim = buildVimPlugin {
pname = "dirbuf.nvim";
version = "0-unstable-2022-08-28";

View file

@ -4,17 +4,27 @@ echo "Sourcing neovim-require-check-hook.sh"
# Discover modules automatically if nvimRequireCheck is not set
discover_modules() {
echo "Running module discovery in source directory..."
echo "Running module discovery in output directory..."
# Create unique lists so we can organize later
modules=()
while IFS= read -r lua_file; do
# Ignore certain infra directories
if [[ "$lua_file" =~ (^|/)(debug|script|scripts|test|tests|spec)(/|$) || "$lua_file" =~ .*\meta.lua ]]; then
continue
# Ignore infrastructure directories and non-runtime module files
case "/$lua_file/" in
*/debug/* | */script/* | */scripts/* | */test/* | */tests/* | */spec/* | */_meta/*)
continue
;;
esac
case "${lua_file##*/}" in
*meta.lua | *_spec.lua | *.spec.lua | *.test.lua)
continue
;;
esac
# Ignore optional telescope and lualine modules
elif [[ "$lua_file" =~ ^lua/telescope/_extensions/(.+)\.lua || "$lua_file" =~ ^lua/lualine/(.+)\.lua ]]; then
if [[ "$lua_file" =~ ^lua/telescope/_extensions/(.+)\.lua || "$lua_file" =~ ^lua/lualine/(.+)\.lua ]]; then
continue
# Grab main module names
elif [[ "$lua_file" =~ ^lua/([^/]+)/init.lua$ ]]; then
@ -30,7 +40,7 @@ discover_modules() {
echo "$lua_file"
modules+=("${BASH_REMATCH[1]}")
fi
done < <(find "$src" -name '*.lua' | xargs -n 1 realpath --relative-to="$src")
done < <(find "$out" -name '*.lua' -exec realpath --relative-to="$out" {} +)
nvimRequireCheck=("${modules[@]}")
echo "Discovered modules: ${nvimRequireCheck[*]}"
@ -53,6 +63,12 @@ run_require_checks() {
local deps="${dependencies[*]}"
local nativeCheckInputs="${nativeBuildInputs[*]}"
local checkInputs="${buildInputs[*]}"
local -a luaPathArgs=()
if [ -n "${nvimRequireCheckLuaPath:-}" ] || [ -n "${nvimRequireCheckLuaCPath:-}" ]; then
luaPathArgs=(--cmd "lua package.path='${nvimRequireCheckLuaPath:-}'..';'..package.path; package.cpath='${nvimRequireCheckLuaCPath:-}'..';'..package.cpath")
fi
set +e
if [ -v 'nvimSkipModule' ]; then
@ -85,6 +101,7 @@ run_require_checks() {
--cmd "set rtp+=$out,${deps// /,}" \
--cmd "set rtp+=$out,${nativeCheckInputs// /,}" \
--cmd "set rtp+=$out,${checkInputs// /,}" \
"${luaPathArgs[@]}" \
--cmd "set packpath^=$packPathDir" \
--cmd "packadd testPlugin" \
--cmd "lua require('$name')"; then

View file

@ -0,0 +1,63 @@
{
vimPlugins,
lib,
vimUtils,
rustPlatform,
stdenv,
nix-update-script,
fetchFromGitHub,
}:
let
version = "0.0.9";
src = fetchFromGitHub {
owner = "clabby";
repo = "difftastic.nvim";
rev = "6041ef0244b3fecf3b7f07de9af8cfbf8dbc4945";
hash = "sha256-23NGKhytF3OsLJgdrC51IH/sIGoqe/yBfmPsZKHOMSk=";
};
difftastic-nvim-lib = rustPlatform.buildRustPackage {
pname = "difftastic-nvim-lib";
inherit version src;
cargoHash = "sha256-VSlFlLa4knQ7bH8yFHSKTTtt1cQ76dstlCdWBAtkf1I=";
postInstall = ''
ln -s $out/lib/libdifftastic_nvim${stdenv.hostPlatform.extensions.sharedLibrary} $out/lib/difftastic_nvim.so
'';
env.RUSTFLAGS = lib.optionalString stdenv.hostPlatform.isDarwin "-C link-arg=-undefined -C link-arg=dynamic_lookup";
};
in
vimUtils.buildVimPlugin {
pname = "difftastic-nvim";
inherit version src;
dependencies = [
vimPlugins.nui-nvim
];
postPatch = ''
substituteInPlace lua/difftastic-nvim/binary.lua \
--replace-fail \
'release_dir = plugin_root .. "/target/release"' \
"release_dir = '${difftastic-nvim-lib}/lib'"
'';
passthru = {
updateScript = nix-update-script {
attrPath = "vimPlugins.difftastic-nvim.difftastic-nvim-lib";
};
# needed for the update script
inherit difftastic-nvim-lib;
};
meta = {
description = "Neovim plugin that displays difftastic's structural diffs in a side-by-side view with syntax highlighting";
homepage = "https://github.com/clabby/difftastic.nvim/";
license = lib.licenses.mit;
platforms = lib.platforms.unix;
maintainers = with lib.maintainers; [
auscyber
];
};
}

View file

@ -1372,41 +1372,21 @@ assertNoAdditions {
diffview-nvim = super.diffview-nvim.overrideAttrs (old: {
dependencies = [ self.plenary-nvim ];
nvimSkipModules = [
# https://github.com/sindrets/diffview.nvim/issues/498
"diffview.api.views.diff.diff_view"
"diffview.scene.layouts.diff_2"
"diffview.scene.layouts.diff_2_hor"
"diffview.scene.layouts.diff_2_ver"
"diffview.scene.layouts.diff_3"
"diffview.scene.layouts.diff_3_hor"
"diffview.scene.layouts.diff_3_mixed"
"diffview.scene.layouts.diff_3_ver"
"diffview.scene.layouts.diff_4"
"diffview.scene.layouts.diff_4_mixed"
"diffview.scene.views.diff.diff_view"
"diffview.scene.views.file_history.file_history_panel"
"diffview.scene.views.file_history.option_panel"
"diffview.scene.window"
"diffview.ui.panels.commit_log_panel"
"diffview.ui.panels.help_panel"
"diffview.ui.panel"
"diffview.vcs.adapters.git.init"
"diffview.vcs.adapters.hg.init"
"diffview.vcs.adapter"
"diffview.vcs.init"
"diffview.vcs.utils"
"diffview.job"
"diffview.lib"
"diffview.multi_job"
];
doInstallCheck = true;
meta = old.meta // {
license = lib.licenses.gpl3Plus;
};
});
diffview-plus-nvim = super.diffview-plus-nvim.overrideAttrs (old: {
dependencies = [ self.plenary-nvim ];
doInstallCheck = true;
meta = old.meta // {
license = lib.licenses.gpl3Plus;
description = "Cycle through diffs for all modified files for any git rev (dlyongemallo's active fork)";
};
});
direnv-vim = super.direnv-vim.overrideAttrs (old: {
preFixup = old.preFixup or "" + ''
substituteInPlace $out/autoload/direnv.vim \
@ -2788,6 +2768,7 @@ assertNoAdditions {
dependencies = [ self.plenary-nvim ];
nvimSkipModules = [
# E5108: Error executing lua ...vim-2024-06-13/lua/diffview/api/views/diff/diff_view.lua:13: attempt to index global 'DiffviewGlobal' (a nil value)
# Requires diffview-nvim's plugin script to be sourced.
"neogit.integrations.diffview"
"neogit.popups.diff.actions"
"neogit.popups.diff.init"

View file

@ -4,6 +4,7 @@
stdenv,
vim,
vimPlugins,
neovim-unwrapped,
buildEnv,
symlinkJoin,
writeText,
@ -516,35 +517,47 @@ rec {
drv:
let
drv-name = drv.name or "${drv.pname}-${drv.version}";
lua = neovim-unwrapped.lua;
in
drv.overrideAttrs (oldAttrs: {
name = "vimplugin-${drv-name}";
# dont move the "doc" folder since vim expects it
forceShare = [
"man"
"info"
];
nativeBuildInputs =
oldAttrs.nativeBuildInputs or [ ]
++ lib.optionals (stdenv.buildPlatform.canExecute stdenv.hostPlatform) [
vimGenDocHook
drv.overrideAttrs (
finalAttrs: oldAttrs:
let
getRequiredLuaModules = attrs: attrs.requiredLuaModules or attrs.passthru.requiredLuaModules or [ ];
modules = getRequiredLuaModules finalAttrs;
luaEnv = lua.withPackages (_: modules);
in
{
name = "vimplugin-${drv-name}";
# dont move the "doc" folder since vim expects it
forceShare = [
"man"
"info"
];
doCheck = oldAttrs.doCheck or true;
nativeBuildInputs =
oldAttrs.nativeBuildInputs or [ ]
++ lib.optionals (stdenv.buildPlatform.canExecute stdenv.hostPlatform) [
vimGenDocHook
];
nativeCheckInputs =
oldAttrs.nativeCheckInputs or [ ]
++ lib.optionals (stdenv.buildPlatform.canExecute stdenv.hostPlatform) [
vimCommandCheckHook
# many neovim plugins keep using buildVimPlugin
neovimRequireCheckHook
];
doCheck = oldAttrs.doCheck or true;
passthru = (oldAttrs.passthru or { }) // {
vimPlugin = true;
};
});
nativeCheckInputs =
oldAttrs.nativeCheckInputs or [ ]
++ lib.optionals (stdenv.buildPlatform.canExecute stdenv.hostPlatform) [
vimCommandCheckHook
# many neovim plugins keep using buildVimPlugin
neovimRequireCheckHook
];
nvimRequireCheckLuaPath = lib.optionalString (modules != [ ]) (lua.pkgs.getLuaPath luaEnv);
nvimRequireCheckLuaCPath = lib.optionalString (modules != [ ]) (lua.pkgs.getLuaCPath luaEnv);
passthru = (oldAttrs.passthru or { }) // {
vimPlugin = true;
};
}
);
}
// lib.optionalAttrs config.allowAliases {
vimWithRC = throw "vimWithRC was removed, please use vim.customize instead";

View file

@ -372,6 +372,7 @@ https://github.com/3rd/diagram.nvim/,,
https://github.com/monaqa/dial.nvim/,,
https://github.com/barrettruth/diffs.nvim/,,
https://github.com/sindrets/diffview.nvim/,,
https://github.com/dlyongemallo/diffview-plus.nvim/,,
https://github.com/elihunter173/dirbuf.nvim/,,
https://github.com/direnv/direnv.vim/,,
https://github.com/chipsenkbeil/distant.nvim/,,

View file

@ -5,13 +5,13 @@
}:
mkLibretroCore {
core = "mednafen-saturn";
version = "0-unstable-2026-05-17";
version = "0-unstable-2026-05-28";
src = fetchFromGitHub {
owner = "libretro";
repo = "beetle-saturn-libretro";
rev = "c64a467e334cde47d74df6456748deb783522752";
hash = "sha256-np+zzuMDtanmlUVlDoS0D4Fm+2uuXo08qar/aoXwmUI=";
rev = "8f0d69a4938edd84ef5b308b6013ed4b17b5b7dd";
hash = "sha256-hDiUcmkAyFbuMdK3LCshC2vMMU4TbJQAyqzkye/Sb5U=";
};
makefile = "Makefile";

View file

@ -13,13 +13,13 @@
}:
mkLibretroCore {
core = "ppsspp";
version = "0-unstable-2026-05-25";
version = "0-unstable-2026-06-03";
src = fetchFromGitHub {
owner = "hrydgard";
repo = "ppsspp";
rev = "68296a4f75cc3c30b39ea6e82dac8c4e83fd41a4";
hash = "sha256-mME2g2a1HLGsby2ZV5S/brYAeHBhBCIUF5plQMQWLac=";
rev = "c9bededa26315b0a7564f72821ce61a5420c79b4";
hash = "sha256-bm83QjqhyployW+LzC3/AvR6qgEF9DpQrDqRAtI+4dU=";
fetchSubmodules = true;
};

View file

@ -5,13 +5,13 @@
}:
mkLibretroCore {
core = "stella";
version = "0-unstable-2026-05-24";
version = "0-unstable-2026-06-01";
src = fetchFromGitHub {
owner = "stella-emu";
repo = "stella";
rev = "a720cccc55ae9bce007e748b53371914951f9f32";
hash = "sha256-TAR1/FiVMz6YYzbLB8maZcsU+0h6lo8lpY31Y+gGj1k=";
rev = "502f15b41708a3911048f2770a320a3ef20b0415";
hash = "sha256-1/Zl6YNZhsIDJobbzGKAWKGEsep7k/iXAbwL7sK98M8=";
};
makefile = "Makefile";

View file

@ -6,13 +6,13 @@
}:
mkLibretroCore {
core = "vice-${type}";
version = "0-unstable-2026-05-21";
version = "0-unstable-2026-06-03";
src = fetchFromGitHub {
owner = "libretro";
repo = "vice-libretro";
rev = "b0d88812a0af0dcba40041d78709480ad1d90833";
hash = "sha256-OD1OB68g8WxpXLyJ0YIQ9Ys6D4eoARFjjFx+gAdeYGg=";
rev = "7946cfa0d3775e958616d4d107de867a4616ae6c";
hash = "sha256-tsOACtp58eXar5y3unuz46sVkQ/ZTSF9go9G56iNyxo=";
};
makefile = "Makefile";

View file

@ -621,7 +621,7 @@ let
# clang++: error: unknown argument: '-fno-lifetime-dse'
./patches/chromium-147-llvm-22.patch
]
++ lib.optionals (chromiumVersionAtLeast "148" && lib.versionOlder llvmVersion "23") [
++ lib.optionals (versionRange "148" "149" && lib.versionOlder llvmVersion "23") [
# clang++: error: unknown argument: '-fsanitize-ignore-for-ubsan-feature=return'
(fetchpatch {
name = "chromium-148-revert-build-Add--fsanitizer=return-config.patch";
@ -651,7 +651,22 @@ let
hash = "sha256-jR0G9z2R8VGl2tkB3u0368RyWM1J6qYXqNWwKkYd5zU=";
})
]
++ lib.optionals (chromiumVersionAtLeast "148") [
++ lib.optionals (chromiumVersionAtLeast "149" && lib.versionOlder llvmVersion "23") [
# clang++: error: unknown argument: '-fdiagnostics-show-inlining-chain'
# clang++: error: unknown argument: '-fsanitize-ignore-for-ubsan-feature=array-bounds'
# clang++: error: unknown argument: '-fsanitize-ignore-for-ubsan-feature=return'
./patches/chromium-149-llvm-22.patch
]
++ lib.optionals (chromiumVersionAtLeast "149" && stdenv.hostPlatform.isAarch64) [
# [43731/56364] CXX obj/media/gpu/sandbox/sandbox/hardware_video_decoding_sandbox_hook_linux.o
# FAILED: [code=1] obj/media/gpu/sandbox/sandbox/hardware_video_decoding_sandbox_hook_linux.o
# clang++ -MD -MF obj/media/gpu/sandbox/sandbox/hardware_video_decoding_sandbox_hook_linux.o.d [...]
# ../../media/gpu/sandbox/hardware_video_decoding_sandbox_hook_linux.cc:123:9: error: use of undeclared identifier 'ERROR'
# 123 | LOG(ERROR) << "dlopen(radeonsi_dri.so) failed with error: " << dlerror();
# | ^~~~~
./patches/chromium-149-use-of-undeclared-identifier-ERROR.patch
]
++ lib.optionals (versionRange "148" "149") [
# ninja: error: '../../third_party/rust-toolchain/bin/rustc', needed by 'phony/default_for_rust_host_build_tools_rust_bin_inputs', missing and no known rule to make it
(fetchpatch {
name = "chromium-148-revert-Reland-build-use-tool-inputs-instead-of-siso-config-for-rust-actions.patch";
@ -792,6 +807,12 @@ let
mkdir -p third_party/gperf/cipd/bin
ln -s "${pkgsBuildHost.gperf}/bin/gperf" third_party/gperf/cipd/bin/gperf
''
# https://chromium-review.googlesource.com/c/chromium/src/+/7719879
# ninja: error: '../../third_party/rust-toolchain/bin/rustc', needed by 'phony/default_for_rust_host_build_tools_rust_bin_inputs', missing and no known rule to make it
+ lib.optionalString (chromiumVersionAtLeast "149") ''
mkdir -p third_party/rust-toolchain/bin
ln -s "${buildPackages.rustc}/bin/rustc" third_party/rust-toolchain/bin/rustc
''
+
lib.optionalString (stdenv.hostPlatform == stdenv.buildPlatform && stdenv.hostPlatform.isAarch64)
''
@ -973,7 +994,11 @@ let
# Mute some warnings that are enabled by default. This is useful because
# our Clang is always older than Chromium's and the build logs have a size
# of approx. 25 MB without this option (and this saves e.g. 66 %).
env.NIX_CFLAGS_COMPILE = "-Wno-unknown-warning-option -Wno-unused-command-line-argument -Wno-shadow";
env.NIX_CFLAGS_COMPILE =
"-Wno-unknown-warning-option -Wno-unused-command-line-argument -Wno-shadow"
# warning: '_LIBCPP_HARDENING_MODE' macro redefined [-Wmacro-redefined]
# because of hardeningDisable = [ "strictflexarrays1" ];
+ lib.optionalString (chromiumVersionAtLeast "149") " -Wno-macro-redefined";
env.BUILD_CC = "$CC_FOR_BUILD";
env.BUILD_CXX = "$CXX_FOR_BUILD";
env.BUILD_AR = "$AR_FOR_BUILD";

View file

@ -1,44 +1,44 @@
{
"chromium": {
"version": "148.0.7778.215",
"version": "149.0.7827.53",
"chromedriver": {
"version": "148.0.7778.216",
"hash_darwin": "sha256-gsK7Q3rwfQQ0iE5e/st/3gGtU+D8dGsTycffpEejmhw=",
"hash_darwin_aarch64": "sha256-zHASbRPnYf2q1qq8FsKnYrLwPjzoGk0tzLxB9SdTXFw="
"version": "149.0.7827.53",
"hash_darwin": "sha256-JzeQy8O9gcoV195sQrfUV1TclUyAI4lzOcE5+BmgKrM=",
"hash_darwin_aarch64": "sha256-nEkMVGUVYP0q9UECGT0ibc2vzjVRIO69dFrYOB05lqg="
},
"deps": {
"depot_tools": {
"rev": "41c40cfaec7ee3bf0423c59925d8b23982a601f1",
"hash": "sha256-s9uvmYHCJKWnNhztmOPb+OHj/HbGo30PupwT4mHWjnM="
"rev": "45dedc4c3b87c982fd846b3dc599b233ed3aff90",
"hash": "sha256-Ttklyw6IdNeMExlzeiQg/qsCkTmqVhUJ34MFgYmCWD4="
},
"gn": {
"version": "0-unstable-2026-04-01",
"rev": "6e8dcdebbadf4f8aa75e6a4b6e0bdf89dce1513a",
"hash": "sha256-BTPD8WM1pVAMkFDlHekMdWFGyf63KdhKkKwsqikqoBQ="
"version": "0-unstable-2026-05-01",
"rev": "1740f5c25bcac5a650ee3d1c1ec22bfa25fcd756",
"hash": "sha256-oFs7fZAZEs/gQ7X1A4uigo9+Y+iEN9sMMQYwAjEuD04="
},
"npmHash": "sha256-JuVcY8iFRDWcPcP4Pg+qm5rnTXkiVfNsqSkXbDWqsE8="
"npmHash": "sha256-pF0JtwFpPC4/fodbhSJnQKkczA9WlDg4VqEAy9aDVLg="
},
"DEPS": {
"src": {
"url": "https://chromium.googlesource.com/chromium/src.git",
"rev": "7c855c70efe3f6ade6663c1520913fa7f63a0b2b",
"hash": "sha256-uDVYgSjxQ+xw8DHVd5UNkqnUrJ6P5ZWxL2tZToBhgQg=",
"rev": "9d2c8156a72129edca4785abb98866fad60ea338",
"hash": "sha256-RPFeHTWAeJUzbWU7QyRPmT3sqf3bAEuJ7/IJ3TP40pA=",
"recompress": true
},
"src/third_party/clang-format/script": {
"url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/clang/tools/clang-format.git",
"rev": "c2725e0622e1a86d55f14514f2177a39efea4a0e",
"hash": "sha256-f+BbQ6xIubloSzx/MhPSZ8ymCskmS+9+epDGtPjZqXc="
"rev": "6eddfb5ec5f92127a531eda66c568d3a11e7ec11",
"hash": "sha256-Cm6BOOlEyD0kdYxMSmk6Fj1Dnfs3zCzXsm+BOXgBme0="
},
"src/third_party/compiler-rt/src": {
"url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/compiler-rt.git",
"rev": "76287b5da8e155135536c8e3a67432d97d74fe3a",
"hash": "sha256-q6syHriTR8TCQSqTWbbAkVVK0a/i4wojdEGN7sWGxUY="
"rev": "0408cce08083f3d81379ed7d9f5bd26c03e1495b",
"hash": "sha256-kR5osTmp2girvNRVHzEKMZDCelgux9RrRuMoXMCRSGM="
},
"src/third_party/libc++/src": {
"url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git",
"rev": "7ab65651aed6802d2599dcb7a73b1f82d5179d05",
"hash": "sha256-7O/X2JW8ghkPTjmFZmT9cgG3Ui5zk3gUb436KlPww34="
"rev": "be1c391acca009d8d80535ce924e3d285451cdfa",
"hash": "sha256-zKb9PUiiBvhVhWnbQwR8uOFJ9gt3uYmfJ4M9ijpgKRc="
},
"src/third_party/libc++abi/src": {
"url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git",
@ -47,13 +47,13 @@
},
"src/third_party/libunwind/src": {
"url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libunwind.git",
"rev": "6ca46ff28e3578c57cbead6f233969eb3dabc176",
"hash": "sha256-JW4kqpVTCFDN4WZE2S5gEkX1O7eDycl+adm3KGlUoTU="
"rev": "71192be150bbe04d87bb5298512d464e38d2f654",
"hash": "sha256-PxXemxdWZoEavKDOovi67IVWEr2YW8YK2F0LXM3LZPw="
},
"src/third_party/llvm-libc/src": {
"url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libc.git",
"rev": "2a826f2fda3cf8d75b47cbc3bb1d9b244f13a6ab",
"hash": "sha256-OWe2lAT5XbADWuxHgg53lZiU0My/ys86FEXvn4zlVx0="
"rev": "deb95b5e48e875920a2eaae799c8dbcd76a6a4db",
"hash": "sha256-oAgIT3+vjBrX86jgi/Pb0SCyco0lozjBjXlrKm6i56M="
},
"src/chrome/test/data/perf/canvas_bench": {
"url": "https://chromium.googlesource.com/chromium/canvas_bench.git",
@ -72,8 +72,8 @@
},
"src/docs/website": {
"url": "https://chromium.googlesource.com/website.git",
"rev": "44319eca109f9678595924a90547c1f6650d8664",
"hash": "sha256-Trkan7bzRaLFlTkRfNGh7ssoZ3QpMh+mxQacsSM+d2I="
"rev": "c9a9ad55e9ec9934244e58a5a8cab9a295526010",
"hash": "sha256-2GKWEnlExrTzoIYMxeP4n2klLLT/phB5ZVJ5Nj3/aoY="
},
"src/media/cdm/api": {
"url": "https://chromium.googlesource.com/chromium/cdm.git",
@ -82,8 +82,8 @@
},
"src/net/third_party/quiche/src": {
"url": "https://quiche.googlesource.com/quiche.git",
"rev": "21ffbe4c7b717d00d2d768c259b5b330fd754ac3",
"hash": "sha256-yKMmfdSBvbB3T042TJbZ1Mw+y0kyfHP0knQVFWAFPTg="
"rev": "fafc2fe9efc9f2e28a0815229fc14ca30c266ba8",
"hash": "sha256-4UmjE41MOFCBa3APDMyyJwkeV6LhHl5UsMxZpPRDsRY="
},
"src/testing/libfuzzer/fuzzers/wasm_corpus": {
"url": "https://chromium.googlesource.com/v8/fuzzer_wasm_corpus.git",
@ -92,8 +92,8 @@
},
"src/third_party/angle": {
"url": "https://chromium.googlesource.com/angle/angle.git",
"rev": "a101e2d1db6da927325273566fe8f5404fa3a9bd",
"hash": "sha256-uIqodvHxEY9xNse2IHNns2Mz9zLAUZSSIN7pAXB8cPs="
"rev": "ded782bca9d5f165d1c4a70124cdc5384043a8b3",
"hash": "sha256-7+Hhx/V554hO3zzGuIZswkaRVDElz7ost7vbnf2wyZc="
},
"src/third_party/angle/third_party/glmark2/src": {
"url": "https://chromium.googlesource.com/external/github.com/glmark2/glmark2",
@ -102,18 +102,18 @@
},
"src/third_party/angle/third_party/rapidjson/src": {
"url": "https://chromium.googlesource.com/external/github.com/Tencent/rapidjson",
"rev": "781a4e667d84aeedbeb8184b7b62425ea66ec59f",
"hash": "sha256-btUl1a/B0sXwf/+hyvCvVJjWqIkXfVYCpHm3TeBuOxk="
"rev": "24b5e7a8b27f42fa16b96fc70aade9106cf7102f",
"hash": "sha256-oHHLYRDMb7Y/k0CwsdsxPC5lglr2IChQi0AiOMiFn78="
},
"src/third_party/angle/third_party/VK-GL-CTS/src": {
"url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS",
"rev": "f52e89f885064b9109501bca16c813bb29389993",
"hash": "sha256-3jx4QVR9nB3WggfrORGJGifmJQhAYVSPusa7RlR16qg="
"rev": "3fe33a325af90c1c820b1e8109f11ea0f4b60c9b",
"hash": "sha256-JgOdlwtjC5HiCWBAaeM+Ffp9KlbI7+erT0ZRZBlWxXI="
},
"src/third_party/anonymous_tokens/src": {
"url": "https://chromium.googlesource.com/external/github.com/google/anonymous-tokens.git",
"rev": "fdff40da0398d2c229308aed169345f6ff1a150f",
"hash": "sha256-eJP45x3vXOG1rWvRl/0H0c2IV7nQ/9dYjAzJGHHszdc="
"rev": "208ea23596884f6d86476ea88b64e7931cdec08a",
"hash": "sha256-HLUX0mUzA3xcXbw71sIxFBNEkL8x86urcdJH2Yuuy04="
},
"src/third_party/readability/src": {
"url": "https://chromium.googlesource.com/external/github.com/mozilla/readability.git",
@ -127,28 +127,23 @@
},
"src/third_party/dav1d/libdav1d": {
"url": "https://chromium.googlesource.com/external/github.com/videolan/dav1d.git",
"rev": "d69235dd804b24c04ed05639cffcc912cd6cfd75",
"hash": "sha256-iKq6TYscIBK4ydv+0msNV3tcs82Ljk5ZNr954Qv2lII="
"rev": "5cfc3832687e3229117203905faf5425ac6bc0d7",
"hash": "sha256-MWDDrb8P5AIFszY0u5gCrK+kZlbYffIt9Y1b/thXL7I="
},
"src/third_party/dawn": {
"url": "https://dawn.googlesource.com/dawn.git",
"rev": "78a9030d63048d832c4b822839bffe38ad4f20e5",
"hash": "sha256-ZknkLN64TYAN5j9WsgtKlRBrAc3iCM084zpc8Zui8Ts="
"rev": "1815a06195d9c74ac737a96f87c05111926e04f8",
"hash": "sha256-71KbW0w60VB67+HM48WpOo18hrVId4/4QBDl+xl5pgo="
},
"src/third_party/dawn/third_party/glfw3/src": {
"url": "https://chromium.googlesource.com/external/github.com/glfw/glfw",
"rev": "043378876a67b092f5d0d3d9748660121a336dd3",
"hash": "sha256-4QSD1/uxWfYZPMjShB0h639eqAfuBRXAVfOm6BbZCBs="
"rev": "b00e6a8a88ad1b60c0a045e696301deb92c9a13e",
"hash": "sha256-uVJOf+D3bgS/CyEL1y52gvkml6VUTtNPMTU6X5/XyS4="
},
"src/third_party/dawn/third_party/dxc": {
"src/third_party/dawn/third_party/directx-shader-compiler/src": {
"url": "https://chromium.googlesource.com/external/github.com/microsoft/DirectXShaderCompiler",
"rev": "eb67a9085c758516d940e1ce3fed0acfb6518209",
"hash": "sha256-z+yIuVweIyLdOiZDRfSppjTRoYq8S93+JNUla4Umot8="
},
"src/third_party/dawn/third_party/dxheaders": {
"url": "https://chromium.googlesource.com/external/github.com/microsoft/DirectX-Headers",
"rev": "980971e835876dc0cde415e8f9bc646e64667bf7",
"hash": "sha256-0Miw1Cy/jmOo7bLFBOHuTRDV04cSeyvUEyPkpVsX9DA="
"rev": "d73829d4e677ef00931e8e57de6d544396ab46cb",
"hash": "sha256-BIXNgVeF5x3BZWFWZ1Gz+zpNSOEl+hZWB0GgMEaNS2w="
},
"src/third_party/dawn/third_party/directx-headers/src": {
"url": "https://chromium.googlesource.com/external/github.com/microsoft/DirectX-Headers",
@ -157,33 +152,33 @@
},
"src/third_party/dawn/third_party/OpenGL-Registry/src": {
"url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/OpenGL-Registry",
"rev": "5bae8738b23d06968e7c3a41308568120943ae77",
"hash": "sha256-K3PcRIiD3AmnbiSm5TwaLs4Gu9hxaN8Y91WMKK8pOXE="
"rev": "9cb90ca4902d588bef3c830fbb1da484893bd5fb",
"hash": "sha256-mWVORjrbNFINr5WKAIDVnPs2T+96vkxWqZdJwp8oT9I="
},
"src/third_party/dawn/third_party/EGL-Registry/src": {
"url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/EGL-Registry",
"rev": "7dea2ed79187cd13f76183c4b9100159b9e3e071",
"hash": "sha256-Z6DwLfgQ1wsJXz0KKJyVieOatnDmx3cs0qJ6IEgSq1A="
"rev": "3d7796b3721d93976b6bfe536aa97bbc4bce8667",
"hash": "sha256-csSV8Yp0p0UIrodbX5793uO5iZMjQfy+0D2wPif2+Fw="
},
"src/third_party/dawn/third_party/webgpu-cts": {
"url": "https://chromium.googlesource.com/external/github.com/gpuweb/cts",
"rev": "09fdb847d90d0b5bfe57068ce2eb9283cb77fc7f",
"hash": "sha256-eTAwnTiAHq8rmbw7u9nAwSuAlS5adStUJKfITlYkcgU="
"rev": "5c6b119c4fa0d9059c45f7637df1fe26fc80a6e4",
"hash": "sha256-9DAdS2u2YtrCFJu0KTuwRJjTUNexFxdmnn7LkwQ+KiQ="
},
"src/third_party/dawn/third_party/webgpu-headers/src": {
"url": "https://chromium.googlesource.com/external/github.com/webgpu-native/webgpu-headers",
"rev": "7d3186c3dd2c708703524027b46b8703534ab3cc",
"hash": "sha256-yE3/mfhqc7YtVNg4f/nrUpuRUGRjOzdwl++vPvd+mvc="
"rev": "dc16b3e531cf4f31be54236d1a3e988ba5f295a2",
"hash": "sha256-tFn3OChLKsYz52Vml7WVgqyrK7SI6WR1Z2C2vvFfakI="
},
"src/third_party/highway/src": {
"url": "https://chromium.googlesource.com/external/github.com/google/highway.git",
"rev": "84379d1c73de9681b54fbe1c035a23c7bd5d272d",
"hash": "sha256-HNrlqtAs1vKCoSJ5TASs34XhzjEbLW+ISco1NQON+BI="
"rev": "2607d3b5b0113992fe84d3848859eae13b3b52c1",
"hash": "sha256-YUYZO9KLffczjwIz3mBBceD6oM1giLCFLDHgDCevdRA="
},
"src/third_party/google_benchmark/src": {
"url": "https://chromium.googlesource.com/external/github.com/google/benchmark.git",
"rev": "188e8278990a9069ffc84441cb5a024fd0bede37",
"hash": "sha256-GfqY2d+Nd7ovNrXxzTRm/AYWj7GuxIO6FawzUEzwOVA="
"rev": "8abf1e701fbd88c8170f48fe0558247e2e5f8e7d",
"hash": "sha256-M8QkA8+bckoRjlcVneYXNetmPEWEvmWy/mca5JA40Ho="
},
"src/third_party/libpfm4/src": {
"url": "https://chromium.googlesource.com/external/git.code.sf.net/p/perfmon2/libpfm4.git",
@ -192,13 +187,13 @@
},
"src/third_party/boringssl/src": {
"url": "https://boringssl.googlesource.com/boringssl.git",
"rev": "d8be2b4a71155bf82da092ef543176351eeb59ff",
"hash": "sha256-fZc95YrREDbf0YcO6zahIjdX6TcRJANcH9MrkLIIIHw="
"rev": "65818adf16411ca394625f5747a1af28faf95d2c",
"hash": "sha256-tcTTzQnBp8Od1jdDMrFoCr9bnW0OCjGqUjH3QMnusmo="
},
"src/third_party/breakpad/breakpad": {
"url": "https://chromium.googlesource.com/breakpad/breakpad.git",
"rev": "8be0e3114685fcc1589561067282edf75ea1259a",
"hash": "sha256-igcX5XwacIwoGbqIcZKwlJYpRWl9Uc32WdpXyHO7UVA="
"rev": "afa2870e449ef33ad41545e7670c574cf70926a4",
"hash": "sha256-+N6FPtSiLQmNqf5+x5XDSksrRq/YDVSMVx5Rv1PGjfI="
},
"src/third_party/cast_core/public/src": {
"url": "https://chromium.googlesource.com/cast_core/public",
@ -207,13 +202,13 @@
},
"src/third_party/catapult": {
"url": "https://chromium.googlesource.com/catapult.git",
"rev": "4f1d71f6841d210b3a06ab3ef2e2ed679af0ee56",
"hash": "sha256-aHlf8gw3KxbKoyyajP4w586iYybx7HSkcKtLcZIgiDE="
"rev": "6e4188cabb4f37314ea41e9adfcb2cf9b64e2641",
"hash": "sha256-/kleYYllR22KjxHT2gTMGf6LEUZ1Ud7j593fIIAgqAA="
},
"src/third_party/catapult/third_party/webpagereplay": {
"url": "https://chromium.googlesource.com/webpagereplay.git",
"rev": "be48b5e3387780790ecc7723434b6ea6733bcc33",
"hash": "sha256-KcFUlQMltsMm4WlTVMLzZXfrvu67ffkKjmBcruwZye0="
"rev": "b7ac48f52cd298e966a76eb054412915c3e445d4",
"hash": "sha256-smtwB6vzLgCAePz0jNfrpm8TxrxBnBkigLxERhxUEvE="
},
"src/third_party/ced/src": {
"url": "https://chromium.googlesource.com/external/github.com/google/compact_enc_det.git",
@ -232,13 +227,13 @@
},
"src/third_party/cpu_features/src": {
"url": "https://chromium.googlesource.com/external/github.com/google/cpu_features.git",
"rev": "936b9ab5515dead115606559502e3864958f7f6e",
"hash": "sha256-E8LoVzhe+TAmARWZTSuINlsVhzpUJMxPPCGe/dHZcyA="
"rev": "d3b2440fcfc25fe8e6d0d4a85f06d68e98312f5b",
"hash": "sha256-IBJc1sHHh4G3oTzQm1RAHHahsEECC+BDl14DHJ8M1Ys="
},
"src/third_party/cpuinfo/src": {
"url": "https://chromium.googlesource.com/external/github.com/pytorch/cpuinfo.git",
"rev": "7607ca500436b37ad23fb8d18614bec7796b68a7",
"hash": "sha256-LnLtCMMRg+DwB7MijBdt/tmCKD/zN5y2oTgXlYw3hTg="
"rev": "3681f0ce1446167d01dfe125d6db96ba2ac31c3c",
"hash": "sha256-PhWbzQgZSUb3eVyx+JTSnxVOAC2WzL2Dw1I9/6LEIsw="
},
"src/third_party/crc32c/src": {
"url": "https://chromium.googlesource.com/external/github.com/google/crc32c.git",
@ -247,28 +242,28 @@
},
"src/third_party/cros_system_api": {
"url": "https://chromium.googlesource.com/chromiumos/platform2/system_api.git",
"rev": "c27a09148de373889e5d2bf616c4e85a68050ae2",
"hash": "sha256-a/mAa1+if6B1FHe9crO8PDpc3o8M+CeIuXjXT0lwZOY="
"rev": "7ecd2b41460516ecd7b7d6e5c298db25e1436b6f",
"hash": "sha256-ehbAXv4DZStWDMC3iOjmWkAc4PhAamyI4C9bdXO7FfA="
},
"src/third_party/crossbench": {
"url": "https://chromium.googlesource.com/crossbench.git",
"rev": "c179f7919aade97c5cff64d14b9171736e7aaef9",
"hash": "sha256-Hxazf58z9imnGO1aj2NRtsQ+BYrfAuIuZscADpr1NVI="
"rev": "cecd70a5f49f777f603d38d11ac1f66c03c3e8af",
"hash": "sha256-zLwIY8fQVebkfN4KFMbitZODhmiN65JK2s9IG/5Cd+o="
},
"src/third_party/crossbench-web-tests": {
"url": "https://chromium.googlesource.com/chromium/web-tests.git",
"rev": "b19e4e52c33fb8a105c3fc99598b0b9b4bc59752",
"hash": "sha256-7vCQw91L2c97dnVdrJ53zL8hi0KZffDJJjk7GaG3b/U="
"rev": "baf176aadedccc44329231d5dd40346874c2a63e",
"hash": "sha256-oY1/uGB6ykePIklWe35rmJWsnpu/wjkER4TJeP4TTdw="
},
"src/third_party/depot_tools": {
"url": "https://chromium.googlesource.com/chromium/tools/depot_tools.git",
"rev": "41c40cfaec7ee3bf0423c59925d8b23982a601f1",
"hash": "sha256-s9uvmYHCJKWnNhztmOPb+OHj/HbGo30PupwT4mHWjnM="
"rev": "45dedc4c3b87c982fd846b3dc599b233ed3aff90",
"hash": "sha256-Ttklyw6IdNeMExlzeiQg/qsCkTmqVhUJ34MFgYmCWD4="
},
"src/third_party/devtools-frontend/src": {
"url": "https://chromium.googlesource.com/devtools/devtools-frontend",
"rev": "1fb83ff123c44ab59a480056c8c1ba3d33c2caf0",
"hash": "sha256-S6agM7HMZ2g2W6e9tYdLSXr0Lc6zeQF9hAYLIeImAYQ="
"rev": "33c2f401a9c8ddad2159eb0ab83aa244a5247361",
"hash": "sha256-M9aULI+HECgA0ptAG47OPK0QuB+xzmb29iOtJ3whpB0="
},
"src/third_party/dom_distiller_js/dist": {
"url": "https://chromium.googlesource.com/chromium/dom-distiller/dist.git",
@ -282,8 +277,8 @@
},
"src/third_party/eigen3/src": {
"url": "https://chromium.googlesource.com/external/gitlab.com/libeigen/eigen.git",
"rev": "a3074053a614df7a3896cb4edbcba40222a5f549",
"hash": "sha256-9AHpSqemqdwXoMiP3hH1YuEd3+nrudeVGTpInw+8BU4="
"rev": "2cf9891537250255f50df5109ffe9e700e2a73de",
"hash": "sha256-1bu1Y9itHIKcwY5J0sF08DSyfElLHiZ6SRsNZkFjz8o="
},
"src/third_party/farmhash/src": {
"url": "https://chromium.googlesource.com/external/github.com/google/farmhash.git",
@ -292,18 +287,18 @@
},
"src/third_party/fast_float/src": {
"url": "https://chromium.googlesource.com/external/github.com/fastfloat/fast_float.git",
"rev": "cb1d42aaa1e14b09e1452cfdef373d051b8c02a4",
"hash": "sha256-CG5je117WYyemTe5PTqznDP0bvY5TeXn8Vu1Xh5yUzQ="
"rev": "05087a303dad9c98768b33c829d398223a649bc6",
"hash": "sha256-ZQm8kDMYdwjKugc2vBG5mwTqXa01u6hODQc/Tai2I9A="
},
"src/third_party/federated_compute/src": {
"url": "https://chromium.googlesource.com/external/github.com/google-parfait/federated-compute.git",
"rev": "eb170f645b270c7979edb863fd2cf8edab2b2fd1",
"hash": "sha256-Cp0WQBbqWvPdrKCMQhH4Z6zl6YlIPLjafWZEwdkYWlc="
"rev": "3112513bf1a80872311e7718c5385f535a819b89",
"hash": "sha256-jnG3PCxjaYcClRgzOfIkHbbD3xU9TDLyQR3VZUwHIgU="
},
"src/third_party/ffmpeg": {
"url": "https://chromium.googlesource.com/chromium/third_party/ffmpeg.git",
"rev": "b5e18fb9da84e26ceef30d4e4886696bf59337c0",
"hash": "sha256-JHAicFKBvtkwmZPRBKYPT6JVqYqF8hyXxU0H7kfgCBs="
"rev": "f45bab87ce4c5fafc67fd53fcde777578d01bfa0",
"hash": "sha256-fsZSqmG6vFOPJYuBgG6OSWkzRu27B3mv/PqAP8s4ARk="
},
"src/third_party/flac": {
"url": "https://chromium.googlesource.com/chromium/deps/flac.git",
@ -332,8 +327,8 @@
},
"src/third_party/freetype/src": {
"url": "https://chromium.googlesource.com/chromium/src/third_party/freetype2.git",
"rev": "6d9fc45fc4bca8aef0b8f65592520673638c3334",
"hash": "sha256-A21ONLz8HxoBkOL/jHfs5YwePmOnFyNdlNYSJa9wers="
"rev": "b6bcd2177f72bb4842c7701d7b7f633bb3fc951a",
"hash": "sha256-TUz3yUD9HxqUMCOpLk74rEf8J0tMTh4ZCuD94AD4+q4="
},
"src/third_party/fxdiv/src": {
"url": "https://chromium.googlesource.com/external/github.com/Maratyszcza/FXdiv.git",
@ -342,18 +337,13 @@
},
"src/third_party/harfbuzz/src": {
"url": "https://chromium.googlesource.com/external/github.com/harfbuzz/harfbuzz.git",
"rev": "67bb413f586f36ba44d740319cb7a28b3d283ea6",
"hash": "sha256-WCPEkbiiU8dENM+ik0KokW9Uxmz0xlsRFVVPPOEOZXw="
"rev": "e6741e2205309752839da60ff075b7fa2e7cddd3",
"hash": "sha256-XjUuY17fcZi+dIZFojq+eDsDVrBxtAWRydPdudt56+8="
},
"src/third_party/ink/src": {
"url": "https://chromium.googlesource.com/external/github.com/google/ink.git",
"rev": "9d5367423281a8fcf5bc1c418e20477a992b270a",
"hash": "sha256-uDaK/cDA52Cn+ioPW2bXAJze1eW8TK3xF7+bl/Ylh6Y="
},
"src/third_party/ink_stroke_modeler/src": {
"url": "https://chromium.googlesource.com/external/github.com/google/ink-stroke-modeler.git",
"rev": "da42d439389c90ec7574f0381ec53e7f5be0c2eb",
"hash": "sha256-W5HgVe0v9O/EuhpKMHp83PLq4p6cuBul3QUGLYdF6rY="
"rev": "a988417b6d0b1ea03fb0b40269fbc42313acc6fd",
"hash": "sha256-6O+N/ULn8sqsdgFw7VZ7TMjWvCAZbYo398PruPScU/k="
},
"src/third_party/instrumented_libs": {
"url": "https://chromium.googlesource.com/chromium/third_party/instrumented_libraries.git",
@ -417,8 +407,8 @@
},
"src/third_party/fuzztest/src": {
"url": "https://chromium.googlesource.com/external/github.com/google/fuzztest.git",
"rev": "800c545cf9d6e9c01328a1974f93a7e6564a74fd",
"hash": "sha256-Pvz+CWTBcWE0N0yfNGZhXDgUrGeIaCNfEjP1jYmF6G0="
"rev": "e24a91020ab19c3d6f590bd0911b7acb492f81be",
"hash": "sha256-wFjuvJzGEaal+pIo5UtkdLHYTpoWxRE6Vf5OGLObGQk="
},
"src/third_party/domato/src": {
"url": "https://chromium.googlesource.com/external/github.com/googleprojectzero/domato.git",
@ -432,13 +422,13 @@
},
"src/third_party/libaom/source/libaom": {
"url": "https://aomedia.googlesource.com/aom.git",
"rev": "343cee0a952f8c7d329e59ff3ac2c8bdbe70ec6a",
"hash": "sha256-H8Eu3BiUIiZcyReGDyFq9UvjdMJOX00ERjru8+I0zL8="
"rev": "33dba9e12a9f12e737eaa7c2624e8c580950a89a",
"hash": "sha256-01DbV0kQFg1yyFpVeo82KBoZHhizA7xnZ1qOuu4HTcs="
},
"src/third_party/crabbyavif/src": {
"url": "https://chromium.googlesource.com/external/github.com/webmproject/CrabbyAvif.git",
"rev": "7466a44ac80893803d4a7168b98dc6cd02d1fe2d",
"hash": "sha256-x1MRNtGLmwlRNenoQKz2Bgm3J5eHlNiJZtzhT9lttmk="
"rev": "c433c9a32320aed983e4106931596fbbae3f77ee",
"hash": "sha256-yw1cXB6s6biD2vj2K/3sVbKiaNK7bt+NkbQovbYlJ2Q="
},
"src/third_party/nearby/src": {
"url": "https://chromium.googlesource.com/external/github.com/google/nearby-connections.git",
@ -492,8 +482,8 @@
},
"src/third_party/cros-components/src": {
"url": "https://chromium.googlesource.com/external/google3/cros_components.git",
"rev": "fb512780dcc5ba4b5be9e8a3118919002077c760",
"hash": "sha256-7wx73HZ6aqXQvLxwX6XnJAPefi/t47gIhvDH3FRT1j4="
"rev": "e580888fcc1c108e25c218ccf8b7a4372de18d57",
"hash": "sha256-p0Wfvhg/j8v9xL9Pueo7xPVHBKowOLI00AeIZXPQw4k="
},
"src/third_party/libdrm/src": {
"url": "https://chromium.googlesource.com/chromiumos/third_party/libdrm.git",
@ -520,20 +510,20 @@
"rev": "9700847afb92cb35969bdfcbbfbbb74b9c7b3376",
"hash": "sha256-EI/uaHXe0NlqdEw764q0SjerThYEVLRogUlmrsZwXnY="
},
"src/third_party/libphonenumber/dist": {
"src/third_party/libphonenumber/src": {
"url": "https://chromium.googlesource.com/external/libphonenumber.git",
"rev": "9d46308f313f2bf8dbce1dfd4f364633ca869ca7",
"hash": "sha256-ZbuDrZEUVp/ekjUP8WO/FsjAomRjeDBptT4nQZvTVi4="
"rev": "ade546d8856475d0493863ee270eb3be9628106b",
"hash": "sha256-cLtsM35Ir3iG3j8+Cy2McL1ysRB0Y1PXealAKl05Twg="
},
"src/third_party/libprotobuf-mutator/src": {
"url": "https://chromium.googlesource.com/external/github.com/google/libprotobuf-mutator.git",
"rev": "7bf98f78a30b067e22420ff699348f084f802e12",
"hash": "sha256-EaEC6R7SzqLw4QjEcWXFXhZc84lNBp6RSa9izjGnWKE="
"rev": "c1c950eae0440c3808f2b8bd7c57d0c6a42c1a90",
"hash": "sha256-Su1SPr/GEFi7/N8/HrFkVbGfWH0vYdcJ5/on8zLMcyU="
},
"src/third_party/libsrtp": {
"url": "https://chromium.googlesource.com/chromium/deps/libsrtp.git",
"rev": "e8383771af8aa4096f5bcfe3743a5ea128f88a9a",
"hash": "sha256-xC//VEFrI94nCkyLnRa6uQ+hJQqe41v0Qjm4LJ7K84I="
"rev": "cd5d177bf1fde755ddb4c7f0d9ff7693f8b49e5e",
"hash": "sha256-6tIbthIcUw58AgaNzvSenZPp/e5vHVTp5K2bpPF+Zg0="
},
"src/third_party/libsync/src": {
"url": "https://chromium.googlesource.com/aosp/platform/system/core/libsync.git",
@ -547,13 +537,13 @@
},
"src/third_party/libvpx/source/libvpx": {
"url": "https://chromium.googlesource.com/webm/libvpx.git",
"rev": "47ac1ec7f3de7d7cb3d070844c427c8f1fa9d6fc",
"hash": "sha256-RyYnkLYafiS6kQKeOmzohtxFRXudDzgEmQkG+qKHozc="
"rev": "640d4ce27ba918783e28a0da46a8a37abe4a65b6",
"hash": "sha256-uCa/MEfw2s05kK91uubi/TqztHulwattzt1vfr0LR4E="
},
"src/third_party/libwebm/source": {
"url": "https://chromium.googlesource.com/webm/libwebm.git",
"rev": "b7a1e4767fbb02ad467f45ba378e858e897028da",
"hash": "sha256-Lzfs15Us8MDDQYvLRVf6xKg9A76aXPnTukx/A8Mf7rw="
"rev": "6184f4484a826724b5293837134ab9492261b941",
"hash": "sha256-zXPuisCv2KkGQq23qTNhHeXpyCClUIeyjHra08DHJIw="
},
"src/third_party/libwebp/src": {
"url": "https://chromium.googlesource.com/webm/libwebp.git",
@ -562,8 +552,8 @@
},
"src/third_party/libyuv": {
"url": "https://chromium.googlesource.com/libyuv/libyuv.git",
"rev": "30809ff64a9ca5e45f86439c0d474c2d3eef3d05",
"hash": "sha256-DW7PuRqA1x0K8/uJbxBJ4Cn9YEPFhZ9vhuGVVyGKK98="
"rev": "a7849e8a5e9c996bef2332efae897e7301055a20",
"hash": "sha256-ftOTwWULKNplqjQQ9oM9t+PU3S6/ySDOBoE5E/HWuHg="
},
"src/third_party/lss": {
"url": "https://chromium.googlesource.com/linux-syscall-support.git",
@ -582,13 +572,13 @@
},
"src/third_party/nasm": {
"url": "https://chromium.googlesource.com/chromium/deps/nasm.git",
"rev": "45252858722aad12e545819b2d0f370eb865431b",
"hash": "sha256-0KsHYi76IaVNwk0dBhem2AnUXd9PpeS+jUsY+zPmeJ8="
"rev": "358842b6b7dd69b2ed635bef17f941e030a05e5f",
"hash": "sha256-YwjwubijMZ9OvYeMUVMSunWZ2VCuqUFEOyv/MK/oojc="
},
"src/third_party/neon_2_sse/src": {
"url": "https://chromium.googlesource.com/external/github.com/intel/ARM_NEON_2_x86_SSE.git",
"rev": "662a85912e8f86ec808f9b15ce77f8715ba53316",
"hash": "sha256-4OzG4wIPwnKbFD9LG+stxHt5O4qB85ZIXVeSrNqDAyM="
"rev": "ed59be8546632d5126ff69c87122ae5de20ffe4f",
"hash": "sha256-ydHSMPJS+axvW7KIR/9SLWNFq/lP67dpg9Yt7shLCng="
},
"src/third_party/openh264/src": {
"url": "https://chromium.googlesource.com/external/github.com/cisco/openh264",
@ -597,8 +587,8 @@
},
"src/third_party/openscreen/src": {
"url": "https://chromium.googlesource.com/openscreen",
"rev": "448a19d1f24e0f8ce85ad0c1c6a50cf370ae69d7",
"hash": "sha256-hRDFnoqAH4HoWZ3oTWlzNge2nwlxpUC/GEq0MQVzBw8="
"rev": "684bcd767271a21f3e5d475b17a0fd862f16c65e",
"hash": "sha256-Yjz2E1/h+zp7L2x0zE0l+ktQIiSrJ4ZknXOhaVPKQVE="
},
"src/third_party/openscreen/src/buildtools": {
"url": "https://chromium.googlesource.com/chromium/src/buildtools",
@ -612,13 +602,13 @@
},
"src/third_party/pdfium": {
"url": "https://pdfium.googlesource.com/pdfium.git",
"rev": "72ea487e4399c44c3a53a48b104f9612ca772008",
"hash": "sha256-0VgmDPyF5k81nBXdo88CcIIbz6XRhaiADnG8gwDGZZk="
"rev": "74d747ce1d383caca3ec0e604d77bac35ccd1e58",
"hash": "sha256-qMY6L93hlnMgGZ5Blk5ldDnI/LUXYyuk+b7FXCiVV6s="
},
"src/third_party/perfetto": {
"url": "https://chromium.googlesource.com/external/github.com/google/perfetto.git",
"rev": "46432bb2a7a60e10fcee516f1692e6846d098a8d",
"hash": "sha256-jVih4xWota4SZQi4yEtaIP+4qgD03OsELt2aaulIXik="
"rev": "846203c4b3b25f834a0bebc101fa8e1b8f9d0ca9",
"hash": "sha256-YOgOau9vNrOOqyUf6WylI/oQ2drCxoW7jnrHt7fAfQM="
},
"src/third_party/protobuf-javascript/src": {
"url": "https://chromium.googlesource.com/external/github.com/protocolbuffers/protobuf-javascript",
@ -627,8 +617,8 @@
},
"src/third_party/pthreadpool/src": {
"url": "https://chromium.googlesource.com/external/github.com/google/pthreadpool.git",
"rev": "9003ee6c137cea3b94161bd5c614fb43be523ee1",
"hash": "sha256-Es9QNblzo5b+x4K7myQJwIiUKvqyP16QExWPhGqqDO8="
"rev": "a56dcd79c699366e7ac6466792c3025883ff7704",
"hash": "sha256-WfyuPfII4eSmLskZV0TAcu4K6OyW38TjkDHm+VUx5eY="
},
"src/third_party/pyelftools": {
"url": "https://chromium.googlesource.com/chromiumos/third_party/pyelftools.git",
@ -657,13 +647,13 @@
},
"src/third_party/search_engines_data/resources": {
"url": "https://chromium.googlesource.com/external/search_engines_data.git",
"rev": "2ecec7b3a56bcb5d7a4a1fc9bc71d7e1cda2a8d1",
"hash": "sha256-UPP47dgdXxr+LPvTcEc6gi89OxmvdKD3CdwV4wKXvwQ="
"rev": "2345fee6ce4ae24d9c365d5c0884ece593c55c67",
"hash": "sha256-5qkra6FURaMvEOk+ZKMRH1hc8ixEnk3u4rxNm0G8tuQ="
},
"src/third_party/skia": {
"url": "https://skia.googlesource.com/skia.git",
"rev": "03c3234e64f9fbbbcf6a7b9c79e94059df49dbfe",
"hash": "sha256-e0MSCbqv4u4995nowzipKorkn6mPpO7tf8+ygj3/nFY="
"rev": "53348aa333da02b77c4b5797e2de722f5abde7d0",
"hash": "sha256-Qh0ytA45zP67VQE417iUtjPcJmJmDzcu4BAatyh6p0w="
},
"src/third_party/smhasher/src": {
"url": "https://chromium.googlesource.com/external/smhasher.git",
@ -682,8 +672,8 @@
},
"src/third_party/swiftshader": {
"url": "https://swiftshader.googlesource.com/SwiftShader.git",
"rev": "89556131bf9d48af3c5c9fbb9a3322e706da89a3",
"hash": "sha256-h0utcwCnzwhFufggkBNeA674x2Kqwu4sz3jQ/9eoQv0="
"rev": "f9d5d49a3c599a315e3493dc1e9b5309cffb3305",
"hash": "sha256-kBfqgXXJeEPT80mu6CJ2Bwmdv/y8jVzM6TedMXbzo4o="
},
"src/third_party/text-fragments-polyfill/src": {
"url": "https://chromium.googlesource.com/external/github.com/GoogleChromeLabs/text-fragments-polyfill.git",
@ -692,23 +682,23 @@
},
"src/third_party/tflite/src": {
"url": "https://chromium.googlesource.com/external/github.com/tensorflow/tensorflow.git",
"rev": "de8d7f65b6eb670e4dad0225d0d6f99bebaab559",
"hash": "sha256-r2b+/VBffxsh1sRM2xcFiBx9K6GD6FsaQXpfFMBFUag="
"rev": "2216f531fb72119745382c62f232acf9790f4b6e",
"hash": "sha256-zySLNPmug5HS5pwJ/lEMAWjjZSOuxdTgup7Y90k7NZI="
},
"src/third_party/litert/src": {
"url": "https://chromium.googlesource.com/external/github.com/google-ai-edge/LiteRT.git",
"rev": "588075c77c6895cce6397d41d2890b1aa0a14372",
"hash": "sha256-rcEPZNSV0DiDrmoBCtJ07wFzzpmpM93jG4jYaEdNWvI="
"rev": "9b5418dd7a1a318eed20395743dcc868df17d8b0",
"hash": "sha256-80amwDPF3RrcoTaTQsunNmlvBGs6KCv369FW3J/Xcts="
},
"src/third_party/vulkan-deps": {
"url": "https://chromium.googlesource.com/vulkan-deps",
"rev": "0ced1107c62836f439f684a5696c4bd69e09fce3",
"hash": "sha256-VOyN618wzyyO2Wh18gCnw+FCr/NbegX3A/54MClyhwc="
"rev": "d234b7b29748c07ef389279dd24f533ebd04cadc",
"hash": "sha256-w49HOjPixSI/C5IGlxQMj/Ol9f/Lr2zI2oMhQzzu1zk="
},
"src/third_party/glslang/src": {
"url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang",
"rev": "715c8500e7cd67f2eba9e60e98852a1ed49d2f15",
"hash": "sha256-vSbMdTjlRVvYLi5ZvTVmfe76oAQ4AhqyD+ohvkvIYIs="
"rev": "458ff50a67cb69371850068a62b78f1990a1ff9a",
"hash": "sha256-2WauVjAEeZn16b4fE4ImKPX3wjDmeN92mqWi3NMiXSw="
},
"src/third_party/spirv-cross/src": {
"url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Cross",
@ -717,38 +707,38 @@
},
"src/third_party/spirv-headers/src": {
"url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Headers",
"rev": "6dd7ba990830f7c15ac1345ff3b43ef6ffdad216",
"hash": "sha256-UKBVs2s05hP+paPq1dZFaUEQQ9Kx9acHxYUyJVx22eY="
"rev": "126038020c2bd47efaa942ccc364ca5353ffccde",
"hash": "sha256-QBX2M+ZSWgVvCx58NeDIdf6mIkdJbecDktBfUWGPvNc="
},
"src/third_party/spirv-tools/src": {
"url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools",
"rev": "2d14d2e76aa7de72404b17078eda15c20a6a0389",
"hash": "sha256-8Xtzq8WOdFEw+uEJqMW39LLHt2m165K9OJsIFZuifoM="
"rev": "2ec8457ab33d539b6f1fecc998360c0b8b05ed4f",
"hash": "sha256-9TBb/gnDXgZRZXhF27KEQ0XQI5itRHKJQjLrkFDQq7Q="
},
"src/third_party/vulkan-headers/src": {
"url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Headers",
"rev": "afe9eb980aa928a66d1c9c06f38c55dd59868720",
"hash": "sha256-/yolWlC7ruRiJ0gSdCoSlqL9+j2uJAh+o+H0OG37pq4="
"rev": "f6a6f7ab165cedbfa2a7d0c93fe27a2d01ce09c8",
"hash": "sha256-ZbjmxbRUiVJADNRWziCH0UIM09qKf+lm9PRnWOhZFhQ="
},
"src/third_party/vulkan-loader/src": {
"url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader",
"rev": "df84d2be47457a8dfd7eb66f8c2b031683bd1ba5",
"hash": "sha256-8ParcURRRU3eS9Oej/vHTwOwvYy3HsVJsKh2wQLKUgM="
"rev": "15a84652b94e465e9a7b25eb507193929863bc2f",
"hash": "sha256-pdC3YCM0Nzeabi5TPD+qR5PVdsxmWMnf2L9HsOcbv84="
},
"src/third_party/vulkan-tools/src": {
"url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools",
"rev": "90bf5bc4fd8bea0d300f6564af256a51a34124b8",
"hash": "sha256-tmTD/waVX/duaKXvj0FNUS+ncL1agM73kK7pEfHEsSA="
"rev": "7c46da2b39036a80ce088576d5794bf39e667f56",
"hash": "sha256-nAyNVveeGg9sA0E37YiEPm+UdKsy48nAOjnUYHQnuqw="
},
"src/third_party/vulkan-utility-libraries/src": {
"url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Utility-Libraries",
"rev": "48b1fd1a65e436bae806cb6180c9338846b9de97",
"hash": "sha256-B3GXmwJEvnGcER5DJt0FGrwqNi3t8iV6VgX8uOrExlU="
"rev": "2c909c1ab6f9c6caba39a84a4887186b3fafdead",
"hash": "sha256-k3xeKHQbd2rTQJsOZKXEMPrYjcHwoCC1N12F6AIP6Ho="
},
"src/third_party/vulkan-validation-layers/src": {
"url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers",
"rev": "ac146eef210b6f52b842111c5d3419ab32a7293f",
"hash": "sha256-GqjVHxtda1a47+9G+nqh4qNMJmQaUdZNMUGQ8kAIIkk="
"rev": "b105d8ea361af258abed65efb5a1565c031dcf1c",
"hash": "sha256-GgznBGYgnCFMNaqAOQ15dlw2dOFfSp3mAV2KokVLzgk="
},
"src/third_party/vulkan_memory_allocator": {
"url": "https://chromium.googlesource.com/external/github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator.git",
@ -787,23 +777,23 @@
},
"src/third_party/webgpu-cts/src": {
"url": "https://chromium.googlesource.com/external/github.com/gpuweb/cts.git",
"rev": "09fdb847d90d0b5bfe57068ce2eb9283cb77fc7f",
"hash": "sha256-eTAwnTiAHq8rmbw7u9nAwSuAlS5adStUJKfITlYkcgU="
"rev": "3b327ebc44f11212fd3872972a6dd394634fb9e3",
"hash": "sha256-RSZVKv2Z0pg2cGa3Elr2r5VZqdxlRJ+6mzm1Au1qg1I="
},
"src/third_party/webpagereplay": {
"url": "https://chromium.googlesource.com/webpagereplay.git",
"rev": "be48b5e3387780790ecc7723434b6ea6733bcc33",
"hash": "sha256-KcFUlQMltsMm4WlTVMLzZXfrvu67ffkKjmBcruwZye0="
"rev": "b7ac48f52cd298e966a76eb054412915c3e445d4",
"hash": "sha256-smtwB6vzLgCAePz0jNfrpm8TxrxBnBkigLxERhxUEvE="
},
"src/third_party/webrtc": {
"url": "https://webrtc.googlesource.com/src.git",
"rev": "e3ee86921c57b9f8921045e77f098604803cb66c",
"hash": "sha256-n39HENOXmatsZLF6jdYRsb+wl2cM0i6ngT4Zbyu5ayE="
"rev": "5a7e0ff57a52e12f834d64c57d040d1105ea17f2",
"hash": "sha256-V1accCSU6LV5Ixhd+HBOvqZ7GxT57ALsvaF8ABLIXxM="
},
"src/third_party/wuffs/src": {
"url": "https://skia.googlesource.com/external/github.com/google/wuffs-mirror-release-c.git",
"rev": "e3f919ccfe3ef542cfc983a82146070258fb57f8",
"hash": "sha256-373d2F/STcgCHEq+PO+SCHrKVOo6uO1rqqwRN5eeBCw="
"rev": "50869df0ea703b4f41b238bfe26aec6ec9c86889",
"hash": "sha256-V7inWJqH7Q4Ac/ZB//7XHrpgfAYUPBxWBerBem6Q/Kk="
},
"src/third_party/weston/src": {
"url": "https://chromium.googlesource.com/external/anongit.freedesktop.org/git/wayland/weston.git",
@ -812,8 +802,13 @@
},
"src/third_party/xnnpack/src": {
"url": "https://chromium.googlesource.com/external/github.com/google/XNNPACK.git",
"rev": "1812bbe2928a32f26c5e48466712ba6460cf290c",
"hash": "sha256-xal21wjgeql3MjQXw6F1ezcRsnhVKod5jv0nYWroJ1o="
"rev": "2ad25fc09167df69c6c02eb8082a0b9658dd5e80",
"hash": "sha256-vBMGBXzJPCcsc2kMyGecjti68oZHWUwJKd7tkKub6kg="
},
"src/third_party/libei/src": {
"url": "https://chromium.googlesource.com/external/gitlab.freedesktop.org/libinput/libei.git",
"rev": "5d6d8e6590df210b75559a889baa9459c68d9366",
"hash": "sha256-lSrIC93Cke90/Xc8dqd3e/TU32tflYHYqc5fE8wglBI="
},
"src/third_party/zstd/src": {
"url": "https://chromium.googlesource.com/external/github.com/facebook/zstd.git",
@ -822,8 +817,8 @@
},
"src/v8": {
"url": "https://chromium.googlesource.com/v8/v8.git",
"rev": "5e24a1fd6ffb840b93ee90a800897fcb4d60eeab",
"hash": "sha256-JcBGaXhqNRIA4NPPV4eANVM93wsQ9QxSLO/Ecz3wklU="
"rev": "5a39b146dd810a52812202fae891281d5dc4db7d",
"hash": "sha256-UbX88nE4VyWUm4PvFTOy3mC04MzSdgC006ZpQrEY8cQ="
}
}
},

View file

@ -0,0 +1,30 @@
diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn
index f977c9fed76e6f50c50351ca22128e8c8c8897b1..81460f3591b734f3354a6f9ac7bb0990e5b28889 100644
--- a/build/config/compiler/BUILD.gn
+++ b/build/config/compiler/BUILD.gn
@@ -589,7 +589,7 @@ config("compiler") {
# Flags for diagnostics.
cflags += [ "-fcolor-diagnostics" ]
if (!is_win) {
- cflags += [ "-fdiagnostics-show-inlining-chain" ]
+ cflags += [ ]
} else {
# Combine after https://github.com/llvm/llvm-project/pull/192241
cflags += [ "/clang:-fdiagnostics-show-inlining-chain" ]
@@ -1911,7 +1911,7 @@ config("clang_warning_suppression") {
# See also: https://crbug.com/40891132#comment10
ubsan_hardening("c_array_bounds") {
sanitizer = "array-bounds"
- condition = !(is_asan && target_cpu == "x86")
+ condition = false
# Because we've enabled array-bounds sanitizing we also want to suppress
# the related warning about "unsafe-buffer-usage-in-static-sized-array",
@@ -1925,6 +1925,7 @@ ubsan_hardening("c_array_bounds") {
# `NOTREACHED()` at the end of such functions.
ubsan_hardening("return") {
sanitizer = "return"
+ condition = false
}
config("rustc_revision") {

View file

@ -0,0 +1,12 @@
diff --git a/media/gpu/sandbox/hardware_video_decoding_sandbox_hook_linux.cc b/media/gpu/sandbox/hardware_video_decoding_sandbox_hook_linux.cc
index 58ab0db508f73dbac36a84cb71ffdad972b3fc3c..b5b97f6c6b22a79fd5e4e53393859a107cc0f399 100644
--- a/media/gpu/sandbox/hardware_video_decoding_sandbox_hook_linux.cc
+++ b/media/gpu/sandbox/hardware_video_decoding_sandbox_hook_linux.cc
@@ -7,6 +7,7 @@
#include <dlfcn.h>
#include <sys/stat.h>
+#include "base/logging.h"
#include "base/process/process_metrics.h"
#include "base/strings/stringprintf.h"
#include "build/build_config.h"

View file

@ -9,11 +9,11 @@
"vendorHash": "sha256-RTfj2Omiqe92Ad0swEY/aGIMvcXb39bdQoObYKiekiw="
},
"a10networks_thunder": {
"hash": "sha256-RX3mP5btzyvuBjoMNiUL6ZeFLEo5SqmwwSK/eE0gWEw=",
"hash": "sha256-mqCXiBtVHzEOdLW0KudPWJO6kGi0SiGawN/NQvjAJdg=",
"homepage": "https://registry.terraform.io/providers/a10networks/thunder",
"owner": "a10networks",
"repo": "terraform-provider-thunder",
"rev": "v1.5.0",
"rev": "v1.6.0",
"spdx": "BSD-2-Clause",
"vendorHash": null
},
@ -110,13 +110,13 @@
"vendorHash": null
},
"bpg_proxmox": {
"hash": "sha256-eOllsoXIHOym4pn2pBh5Air5eDvgvppVcnw+FfxRet4=",
"hash": "sha256-HQDXazrYuO4Sy2p5M3T+ic34GXaLuAt/oPlUPC6kHSk=",
"homepage": "https://registry.terraform.io/providers/bpg/proxmox",
"owner": "bpg",
"repo": "terraform-provider-proxmox",
"rev": "v0.107.0",
"rev": "v0.108.0",
"spdx": "MPL-2.0",
"vendorHash": "sha256-IbxQVfNvMiXGMkrNQoSBQW3VemK9NW8zs8o1epTZydE="
"vendorHash": "sha256-pk4FEx/GpI3pbRt1zXEnTwfEy2renn8gh0mVbBiwUE0="
},
"brightbox_brightbox": {
"hash": "sha256-pwFbCP+qDL/4IUfbPRCkddkbsEEeAu7Wp12/mDL0ABA=",
@ -155,13 +155,13 @@
"vendorHash": "sha256-SO3CX7pZ+q7ytz/55cxTPlW7ByY1zKhxkQxMiqAvm8o="
},
"checkly_checkly": {
"hash": "sha256-v9px/k2b6zUza8ZvoOfxQLNyofcIKOLYVmGAmkyA3TQ=",
"hash": "sha256-C85OWP4y5Kh4coaUwxW07bgQWrB6LntEKtXia3Xu7Bg=",
"homepage": "https://registry.terraform.io/providers/checkly/checkly",
"owner": "checkly",
"repo": "terraform-provider-checkly",
"rev": "v1.23.0",
"rev": "v1.24.0",
"spdx": null,
"vendorHash": "sha256-fY1oLzNYYNmUvOVNCWZlo2pvn2SgGjc4JnMORZdt/ss="
"vendorHash": "sha256-CkrDrGP20Gby2wWsl+un3hp3u5gAmWOpjzgs9HQytjg="
},
"ciscodevnet_aci": {
"hash": "sha256-Z3qat3S7dv5kGpc82RxAwlgp3hfscFbkokVsgGnBRHY=",
@ -517,13 +517,13 @@
"vendorHash": "sha256-XnVGjEz4mxqkNFrvgpRQ4W9s+j03mk0NTgEx4p5Z6qk="
},
"hashicorp_awscc": {
"hash": "sha256-kpLC5NdlpBNXj2V0hR8ZvsJjyVgKCXFt7xK8Z7AOyoQ=",
"hash": "sha256-ywRxQKGrQ+kT08gNgNgdT5FmvsHYucT/W29+uyz1mwg=",
"homepage": "https://registry.terraform.io/providers/hashicorp/awscc",
"owner": "hashicorp",
"repo": "terraform-provider-awscc",
"rev": "v1.85.0",
"rev": "v1.87.0",
"spdx": "MPL-2.0",
"vendorHash": "sha256-ryLMz2eh5LO0e6OLJJUoMbM+U53uDTq9sHNcnSuuWt4="
"vendorHash": "sha256-Bf2XnjX0G5iufWOi6E/imRQ+qgr8Yse73rrnY8CbSMg="
},
"hashicorp_azuread": {
"hash": "sha256-BkQwLkGu8Xmb4laoXOLDbSPyya5v8HBBNIya5hUBlV8=",
@ -851,11 +851,11 @@
"vendorHash": "sha256-OgKOjLwDQxJiv+VWdOzjMcUDPu9LOuhyTRyLyM39vLM="
},
"linode_linode": {
"hash": "sha256-FUOVV0gyUMb7VnZkK0ua92IHOUJ4wmnkbjh0fSQ9vGc=",
"hash": "sha256-ZDU8rEmbq9tIXq9+jL30i5GnTIWM6lMJ+rljVJhBJis=",
"homepage": "https://registry.terraform.io/providers/linode/linode",
"owner": "linode",
"repo": "terraform-provider-linode",
"rev": "v3.13.0",
"rev": "v3.14.0",
"spdx": "MPL-2.0",
"vendorHash": "sha256-6wWNt0TDqqwtRFMCLH81WQ55XLEn4dHx+prM0DA+e4U="
},
@ -1184,13 +1184,13 @@
"vendorHash": "sha256-w/AmSHydCeyp/EURgPY2c/E2LjqAXXCORI53X1hEdxY="
},
"scaleway_scaleway": {
"hash": "sha256-79oqPfnfX1jFDM9hSXqGF1r3B6S0JEj2+6whxLEmq+Q=",
"hash": "sha256-nBx7zmNiQHL+VomJJ4/tyd0gujc2BNQfVA8zG3hT0wc=",
"homepage": "https://registry.terraform.io/providers/scaleway/scaleway",
"owner": "scaleway",
"repo": "terraform-provider-scaleway",
"rev": "v2.75.0",
"rev": "v2.76.0",
"spdx": "MPL-2.0",
"vendorHash": "sha256-GwOKy2H06s+byyb0k4lta30lfAVmLSbEcyyQm0giw1E="
"vendorHash": "sha256-X5OVBa1vKsPA2gfXDZWJIcncor9V4NFmWILarqbIBiw="
},
"scottwinkler_shell": {
"hash": "sha256-LTWEdXxi13sC09jh+EFZ6pOi1mzuvgBz5vceIkNE/JY=",
@ -1202,13 +1202,13 @@
"vendorHash": "sha256-MIO0VHofPtKPtynbvjvEukMNr5NXHgk7BqwIhbc9+u0="
},
"selectel_selectel": {
"hash": "sha256-DdQKI9YQcOYNOGNS0uCXFl6rSLVB+YShR+PHSB+W4dY=",
"hash": "sha256-1KHFXjYJIWgdZo5nAsckQI9ff+74yO0A5Q65symJjlw=",
"homepage": "https://registry.terraform.io/providers/selectel/selectel",
"owner": "selectel",
"repo": "terraform-provider-selectel",
"rev": "v7.8.0",
"rev": "v8.0.1",
"spdx": "MPL-2.0",
"vendorHash": "sha256-U3v7oYqc3CJIFlNsUqy8ZLy7wRkgjIwLWjwU6eRYvzk="
"vendorHash": "sha256-ICMbdEr2vGKZ1ETZLmmrW8h+bzPkpSQk9U3qF+LHPzk="
},
"siderolabs_talos": {
"hash": "sha256-/NACmEpodBNx+Q2M9y3JnKpw9a3Y1eFDdTQ+48MXAc8=",

View file

@ -200,9 +200,9 @@ rec {
mkTerraform = attrs: pluggable (generic attrs);
terraform_1 = mkTerraform {
version = "1.15.4";
hash = "sha256-yZj/i/Fkd70y5dzQ7LoHVB8GfY0aaJ7LwmQrmR4DaKI=";
vendorHash = "sha256-aGkIsUxKHRgz8vxNO8RhXS0CH78Q14zSVANLrBGdhWw=";
version = "1.15.5";
hash = "sha256-U3A+Zwe+oj107z635uxzt4y06hvbv9sfokknYdFIglE=";
vendorHash = "sha256-3y9+KCmvskJ24X4F6gSLglmsl4hUlvzBb/ep4kcbS8A=";
patches = [ ./provider-path-0_15.patch ];
passthru = {
inherit plugins;

View file

@ -105,11 +105,11 @@ assert lib.all (p: p.enabled -> !(builtins.elem null p.buildInputs)) plugins;
stdenv.mkDerivation rec {
pname = "weechat";
version = "4.9.0";
version = "4.9.1";
src = fetchurl {
url = "https://weechat.org/files/src/weechat-${version}.tar.xz";
hash = "sha256-fLubJ/JafS8djEJqCPjmJe77wdPlm793WSVET3I5S28=";
hash = "sha256-BJYLVuHdhhJ/Y8+P0Bu/93yBQvQK6KlBrD22QtMQzek=";
};
# Why is this needed? https://github.com/weechat/weechat/issues/2031
@ -199,7 +199,7 @@ stdenv.mkDerivation rec {
on https://nixos.org/nixpkgs/manual/#sec-weechat .
'';
license = lib.licenses.gpl3;
maintainers = with lib.maintainers; [ ncfavier ];
maintainers = with lib.maintainers; [ abbe ];
mainProgram = "weechat";
platforms = lib.platforms.unix;
};

View file

@ -0,0 +1,61 @@
From a8122a78c496f09711e81c669ca3ee44c8df79f9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Stanis=C5=82aw=20Pitucha?= <stan.pitucha@envato.com>
Date: Fri, 27 Mar 2026 08:58:08 +1100
Subject: [PATCH] Skip fixup; it's unnecessary for nixpkgs
---
cmake/TrMacros.cmake | 38 --------------------------------------
1 file changed, 38 deletions(-)
diff --git a/cmake/TrMacros.cmake b/cmake/TrMacros.cmake
index 2efa8767c..cc17a47a5 100644
--- a/cmake/TrMacros.cmake
+++ b/cmake/TrMacros.cmake
@@ -376,44 +376,6 @@ function(tr_select_library LIBNAMES FUNCNAME DIRS OVAR)
endfunction()
function(tr_fixup_bundle_item BUNDLE_DIR BUNDLE_ITEMS DEP_DIRS)
- while(BUNDLE_ITEMS)
- list(GET BUNDLE_ITEMS 0 ITEM)
- list(REMOVE_AT BUNDLE_ITEMS 0)
-
- set(ITEM_FULL_BUNDLE_PATH "${BUNDLE_DIR}/${ITEM}")
- get_filename_component(ITEM_FULL_BUNDLE_DIR "${ITEM_FULL_BUNDLE_PATH}" PATH)
-
- unset(ITEM_DEPS)
- get_prerequisites("${ITEM_FULL_BUNDLE_PATH}" ITEM_DEPS 1 0 "${ITEM_FULL_BUNDLE_PATH}" "${DEP_DIRS}")
-
- foreach(DEP IN LISTS ITEM_DEPS)
- gp_resolve_item("${ITEM_FULL_BUNDLE_PATH}" "${DEP}" "${ITEM_FULL_BUNDLE_DIR}" "${DEP_DIRS}" DEP_FULL_PATH)
-
- if(DEP_FULL_PATH MATCHES "[.]dylib$")
- get_filename_component(DEP_NAME "${DEP_FULL_PATH}" NAME)
- file(COPY "${DEP_FULL_PATH}" DESTINATION "${BUNDLE_DIR}/Contents/MacOS/")
- set(DEP_BUNDLE_PATH "Contents/MacOS/${DEP_NAME}")
- elseif(DEP_FULL_PATH MATCHES "^(.+)/(([^/]+[.]framework)/.+)$")
- set(DEP_NAME "${CMAKE_MATCH_2}")
- file(
- COPY "${CMAKE_MATCH_1}/${CMAKE_MATCH_3}"
- DESTINATION "${BUNDLE_DIR}/Contents/Frameworks/"
- PATTERN "Headers" EXCLUDE)
- set(DEP_BUNDLE_PATH "Contents/Frameworks/${DEP_NAME}")
- else()
- message(FATAL_ERROR "Don't know how to fixup '${DEP_FULL_PATH}'")
- endif()
-
- execute_process(COMMAND install_name_tool -change "${DEP}" "@rpath/${DEP_NAME}" "${ITEM_FULL_BUNDLE_PATH}")
-
- set(DEP_FULL_BUNDLE_PATH "${BUNDLE_DIR}/${DEP_BUNDLE_PATH}")
- execute_process(COMMAND chmod u+w "${DEP_FULL_BUNDLE_PATH}")
- execute_process(COMMAND install_name_tool -id "@rpath/${DEP_NAME}" "${DEP_FULL_BUNDLE_PATH}")
-
- list(REMOVE_ITEM BUNDLE_ITEMS "${DEP_BUNDLE_PATH}")
- list(APPEND BUNDLE_ITEMS "${DEP_BUNDLE_PATH}")
- endforeach()
- endwhile()
endfunction()
function(tr_glib_compile_resources TGT NAME INPUT_DIR INPUT_FILE OUTPUT_FILE_BASE)
--
2.51.2

View file

@ -30,6 +30,7 @@
wrapGAppsHook3,
enableQt5 ? false,
enableQt6 ? false,
enableMac ? false,
qt5,
qt6Packages,
nixosTests,
@ -38,10 +39,14 @@
enableCli ? true,
installLib ? false,
apparmorRulesFromClosure,
ibtool,
actool,
coreutils,
makeWrapper,
}:
let
inherit (lib) cmakeBool optionals;
inherit (lib) cmakeBool optionals optionalString;
apparmorRules = apparmorRulesFromClosure { name = "transmission-daemon"; } (
[
@ -71,16 +76,29 @@ stdenv.mkDerivation (finalAttrs: {
fetchSubmodules = true;
};
strictDeps = true;
__structuredAttrs = true;
patches = [
./0001-Skip-bundle-fixup.patch
];
outputs = [
"out"
]
++ optionals stdenv.hostPlatform.isLinux [
"apparmor"
];
# Remove once https://github.com/NixOS/nixpkgs/pull/508307 lands
# Stop clang trying to write in $HOME
env.CLANG_MODULE_CACHE_PATH = "/tmp/clang_module_cache";
cmakeFlags = [
(cmakeBool "ENABLE_CLI" enableCli)
(cmakeBool "ENABLE_DAEMON" enableDaemon)
(cmakeBool "ENABLE_GTK" enableGTK3)
(cmakeBool "ENABLE_MAC" false) # requires xcodebuild
(cmakeBool "ENABLE_MAC" enableMac)
(cmakeBool "ENABLE_QT" (enableQt5 || enableQt6))
(cmakeBool "INSTALL_LIB" installLib)
(cmakeBool "RUN_CLANG_TIDY" false)
@ -88,6 +106,9 @@ stdenv.mkDerivation (finalAttrs: {
++ optionals stdenv.hostPlatform.isDarwin [
# Transmission sets this to 10.13 if not explicitly specified, see https://github.com/transmission/transmission/blob/0be7091eb12f4eb55f6690f313ef70a66795ee72/CMakeLists.txt#L7-L16.
"-DCMAKE_OSX_DEPLOYMENT_TARGET=${stdenv.hostPlatform.darwinMinVersion}"
# we don't have a compatible-enough signing tool right now
"-DCODESIGN_EXECUTABLE=${lib.getExe' coreutils "true"}"
"-DACTOOL_EXECUTABLE=${lib.getExe actool}"
];
postPatch = ''
@ -109,6 +130,12 @@ stdenv.mkDerivation (finalAttrs: {
# Upstream uses different config file name.
substituteInPlace CMakeLists.txt \
--replace-fail 'find_package(UtfCpp)' 'find_package(utf8cpp)'
''
+ optionalString (stdenv.hostPlatform.isDarwin && (enableQt5 || enableQt6)) ''
substituteInPlace qt/CMakeLists.txt \
--replace-fail \
'transmission::qt_impl)' \
'transmission::qt_impl "-framework AppKit" "-framework CoreGraphics")'
'';
nativeBuildInputs = [
@ -118,7 +145,12 @@ stdenv.mkDerivation (finalAttrs: {
]
++ optionals enableGTK3 [ wrapGAppsHook3 ]
++ optionals enableQt5 [ qt5.wrapQtAppsHook ]
++ optionals enableQt6 [ qt6Packages.wrapQtAppsHook ];
++ optionals enableQt6 [ qt6Packages.wrapQtAppsHook ]
++ optionals enableMac [
ibtool
actool
makeWrapper
];
buildInputs = [
curl
@ -160,29 +192,33 @@ stdenv.mkDerivation (finalAttrs: {
++ optionals enableSystemd [ systemd ]
++ optionals stdenv.hostPlatform.isLinux [ inotify-tools ];
postInstall = ''
mkdir $apparmor
cat >$apparmor/bin.transmission-daemon <<EOF
abi <abi/4.0>,
include <tunables/global>
profile $out/bin/transmission-daemon {
include <abstractions/base>
include <abstractions/nameservice>
include <abstractions/ssl_certs>
include "${apparmorRules}"
@{PROC}/sys/kernel/random/uuid r,
@{PROC}/sys/vm/overcommit_memory r,
@{PROC}/@{pid}/environ r,
@{PROC}/@{pid}/mounts r,
/tmp/tr_session_id_* rwk,
postInstall =
optionalString stdenv.hostPlatform.isLinux ''
mkdir $apparmor
cat >$apparmor/bin.transmission-daemon <<EOF
abi <abi/4.0>,
include <tunables/global>
profile $out/bin/transmission-daemon {
include <abstractions/base>
include <abstractions/nameservice>
include <abstractions/ssl_certs>
include "${apparmorRules}"
@{PROC}/sys/kernel/random/uuid r,
@{PROC}/sys/vm/overcommit_memory r,
@{PROC}/@{pid}/environ r,
@{PROC}/@{pid}/mounts r,
/tmp/tr_session_id_* rwk,
$out/share/transmission/public_html/** r,
$out/share/transmission/public_html/** r,
include if exists <local/bin.transmission-daemon>
}
EOF
install -Dm0444 -t $out/share/icons ../icons/hicolor_apps_scalable_transmission.svg
'';
include if exists <local/bin.transmission-daemon>
}
EOF
install -Dm0444 -t $out/share/icons ../icons/hicolor_apps_scalable_transmission.svg
''
+ optionalString enableMac ''
makeWrapper $out/Applications/Transmission.app/Contents/MacOS/Transmission $out/bin/transmission-mac
'';
passthru.tests = {
apparmor = nixosTests.transmission_4; # starts the service with apparmor enabled
@ -196,6 +232,8 @@ stdenv.mkDerivation (finalAttrs: {
"transmission-qt"
else if enableGTK3 then
"transmission-gtk"
else if enableMac then
"transmission-mac"
else
"transmission-cli";
longDescription = ''

View file

@ -17,8 +17,6 @@ let
pnpmLatest = pnpm;
supportedFetcherVersions = [
1 # First version. Here to preserve backwards compatibility
2 # Ensure consistent permissions. See https://github.com/NixOS/nixpkgs/pull/422975
3 # Build a reproducible tarball. See https://github.com/NixOS/nixpkgs/pull/469950
4 # Dump SQLite database to an SQL file. See https://github.com/NixOS/nixpkgs/pull/522703
];
@ -63,178 +61,167 @@ in
fetcherVersion != null
|| throw "fetchPnpmDeps: `fetcherVersion` is not set, see https://nixos.org/manual/nixpkgs/stable/#javascript-pnpm-fetcherVersion.";
assert
!(fetcherVersion == 1 || fetcherVersion == 2)
|| throw "fetchPnpmDeps: `fetcherVersion = ${toString fetcherVersion}` was removed in the 26.11 release. Please migrate `${pname}` to `fetcherVersion = 3` and regenerate the hash. See https://nixos.org/manual/nixpkgs/stable/#javascript-pnpm-fetcherVersion.";
assert
builtins.elem fetcherVersion supportedFetcherVersions
|| throw "fetchPnpmDeps `fetcherVersion` is not set to a supported value (${lib.concatStringsSep ", " (map toString supportedFetcherVersions)}), see https://nixos.org/manual/nixpkgs/stable/#javascript-pnpm-fetcherVersion.";
lib.warnIf (fetcherVersion < 3)
"fetchPnpmDeps: `fetcherVersion = ${toString fetcherVersion}` is deprecated and scheduled for removal in the 26.11 release. Please migrate `${pname}` to `fetcherVersion = 3` and regenerate the hash. See https://nixos.org/manual/nixpkgs/stable/#javascript-pnpm-fetcherVersion."
stdenvNoCC.mkDerivation
stdenvNoCC.mkDerivation (
finalAttrs:
(
finalAttrs:
(
args'
// {
name = "${pname}-pnpm-deps";
args'
// {
name = "${pname}-pnpm-deps";
nativeBuildInputs = [
cacert
jq
moreutils
pnpm # from args
pnpm-fixup-state-db'
sqlite
writableTmpDirAsHomeHook
yq
zstd
]
++ args.nativeBuildInputs or [ ];
nativeBuildInputs = [
cacert
jq
moreutils
pnpm # from args
pnpm-fixup-state-db'
sqlite
writableTmpDirAsHomeHook
yq
zstd
]
++ args.nativeBuildInputs or [ ];
impureEnvVars =
lib.fetchers.proxyImpureEnvVars ++ [ "NIX_NPM_REGISTRY" ] ++ args.impureEnvVars or [ ];
impureEnvVars =
lib.fetchers.proxyImpureEnvVars ++ [ "NIX_NPM_REGISTRY" ] ++ args.impureEnvVars or [ ];
installPhase = ''
runHook preInstall
installPhase = ''
runHook preInstall
versionAtLeast () {
local cur_version=$1 min_version=$2
printf "%s\0%s" "$min_version" "$cur_version" | sort -zVC
}
versionAtLeast () {
local cur_version=$1 min_version=$2
printf "%s\0%s" "$min_version" "$cur_version" | sort -zVC
}
lockfileVersion="$(yq -r .lockfileVersion pnpm-lock.yaml)"
if [[ ''${lockfileVersion:0:1} -gt ${lib.versions.major pnpm.version} ]]; then
echo "ERROR: lockfileVersion $lockfileVersion in pnpm-lock.yaml is too new for the provided pnpm version ${lib.versions.major pnpm.version}!"
exit 1
lockfileVersion="$(yq -r .lockfileVersion pnpm-lock.yaml)"
if [[ ''${lockfileVersion:0:1} -gt ${lib.versions.major pnpm.version} ]]; then
echo "ERROR: lockfileVersion $lockfileVersion in pnpm-lock.yaml is too new for the provided pnpm version ${lib.versions.major pnpm.version}!"
exit 1
fi
# The pnpm store is bundled into a compressed tarball within $out,
# without distributing the uncompressed store files.
mkdir $out
storePath=$(mktemp -d)
pushd "$HOME"
pnpmVersion=$(pnpm --version)
if versionAtLeast "$pnpmVersion" "11"; then
# pnpm 11 uses a different mechanism to manage package manager versions
export pnpm_config_pm_on_fail=ignore
# Some packages produce platform dependent outputs. We do not want to cache those in the global store
export pnpm_config_side_effects_cache=false
export pnpm_config_update_notifier=false
else
pnpm config set manage-package-manager-versions false
pnpm config set side-effects-cache false
pnpm config set update-notifier false
fi
popd
pnpm config set store-dir $storePath
# Run any additional pnpm configuration commands that users provide.
${prePnpmInstall}
echo "Final pnpm config:"
pnpm config list
echo
# pnpm is going to warn us about using --force
# --force allows us to fetch all dependencies including ones that aren't meant for our host platform
pnpm install \
--force \
--ignore-scripts \
${lib.escapeShellArgs filterFlags} \
${lib.escapeShellArgs pnpmInstallFlags} \
--registry="$NIX_NPM_REGISTRY" \
--frozen-lockfile
# Record the fetcherVersion in the output for introspection.
echo ${toString fetcherVersion} > $out/.fetcher-version
runHook postInstall
'';
fixupPhase = ''
runHook preFixup
# Remove timestamp and sort the json files
rm -rf $storePath/{v3,v10,v11}/tmp
for f in $(find $storePath -name "*.json"); do
jq --sort-keys "del(.. | .checkedAt?)" $f | sponge $f
done
if [ -f "$storePath/v11/index.db" ]; then
pnpm-fixup-state-db "$storePath/v11";
# Dump the SQLite database to a SQL text file for reproducibility.
# SQLite's binary format is non-deterministic (version-valid-for number, etc),
# so we store the logical contents as SQL statements and reconstruct during build.
if [[ ${toString fetcherVersion} -ge 4 ]]; then
sqlite3 "$storePath/v11/index.db" .dump > "$storePath/v11/index.db.sql"
rm "$storePath/v11/index.db"
fi
fi
# For fetcherVersion < 3, the pnpm store files are placed directly into $out.
# For fetcherVersion >= 3, it is bundled into a compressed tarball within $out,
# without distributing the uncompressed store files.
if [[ ${toString fetcherVersion} -ge 3 ]]; then
mkdir $out
storePath=$(mktemp -d)
else
storePath=$out
fi
# This folder contains symlinks to /build/source which we don't need
# since https://github.com/pnpm/pnpm/releases/tag/v10.27.0
rm -rf $storePath/{v3,v10,v11}/projects
pushd "$HOME"
pnpmVersion=$(pnpm --version)
# Ensure consistent permissions
# NOTE: For reasons not yet fully understood, pnpm might create files with
# inconsistent permissions, for example inside the ubuntu-24.04
# github actions runner.
# To ensure stable derivations, we need to set permissions
# consistently, namely:
# * All files with `-exec` suffix have 555.
# * All other files have 444.
# * All folders have 555.
# See https://github.com/NixOS/nixpkgs/pull/350063
# See https://github.com/NixOS/nixpkgs/issues/422889
find $storePath -type f -name "*-exec" -print0 | xargs --no-run-if-empty -0 chmod 555
find $storePath -type f -not -name "*-exec" -print0 | xargs --no-run-if-empty -0 chmod 444
find $storePath -type d -print0 | xargs --no-run-if-empty -0 chmod 555
if versionAtLeast "$pnpmVersion" "11"; then
# pnpm 11 uses a different mechanism to manage package manager versions
export pnpm_config_pm_on_fail=ignore
(
cd $storePath
# Some packages produce platform dependent outputs. We do not want to cache those in the global store
export pnpm_config_side_effects_cache=false
# Build a reproducible tarball, per instructions at https://reproducible-builds.org/docs/archives/
tar --sort=name \
--mtime="@$SOURCE_DATE_EPOCH" \
--owner=0 --group=0 --numeric-owner \
--pax-option=exthdr.name=%d/PaxHeaders/%f,delete=atime,delete=ctime \
--zstd -cf $out/pnpm-store.tar.zst .
)
export pnpm_config_update_notifier=false
else
pnpm config set manage-package-manager-versions false
pnpm config set side-effects-cache false
pnpm config set update-notifier false
fi
popd
runHook postFixup
'';
pnpm config set store-dir $storePath
# Run any additional pnpm configuration commands that users provide.
${prePnpmInstall}
echo "Final pnpm config:"
pnpm config list
echo
# pnpm is going to warn us about using --force
# --force allows us to fetch all dependencies including ones that aren't meant for our host platform
pnpm install \
--force \
--ignore-scripts \
${lib.escapeShellArgs filterFlags} \
${lib.escapeShellArgs pnpmInstallFlags} \
--registry="$NIX_NPM_REGISTRY" \
--frozen-lockfile
# Store newer fetcherVersion in case pnpmConfigHook also needs it
if [[ ${toString fetcherVersion} -gt 1 ]]; then
echo ${toString fetcherVersion} > $out/.fetcher-version
fi
runHook postInstall
'';
fixupPhase = ''
runHook preFixup
# Remove timestamp and sort the json files
rm -rf $storePath/{v3,v10,v11}/tmp
for f in $(find $storePath -name "*.json"); do
jq --sort-keys "del(.. | .checkedAt?)" $f | sponge $f
done
if [ -f "$storePath/v11/index.db" ]; then
pnpm-fixup-state-db "$storePath/v11";
# Dump the SQLite database to a SQL text file for reproducibility.
# SQLite's binary format is non-deterministic (version-valid-for number, etc),
# so we store the logical contents as SQL statements and reconstruct during build.
if [[ ${toString fetcherVersion} -ge 4 ]]; then
sqlite3 "$storePath/v11/index.db" .dump > "$storePath/v11/index.db.sql"
rm "$storePath/v11/index.db"
fi
fi
# This folder contains symlinks to /build/source which we don't need
# since https://github.com/pnpm/pnpm/releases/tag/v10.27.0
rm -rf $storePath/{v3,v10,v11}/projects
# Ensure consistent permissions
# NOTE: For reasons not yet fully understood, pnpm might create files with
# inconsistent permissions, for example inside the ubuntu-24.04
# github actions runner.
# To ensure stable derivations, we need to set permissions
# consistently, namely:
# * All files with `-exec` suffix have 555.
# * All other files have 444.
# * All folders have 555.
# See https://github.com/NixOS/nixpkgs/pull/350063
# See https://github.com/NixOS/nixpkgs/issues/422889
if [[ ${toString fetcherVersion} -ge 2 ]]; then
find $storePath -type f -name "*-exec" -print0 | xargs --no-run-if-empty -0 chmod 555
find $storePath -type f -not -name "*-exec" -print0 | xargs --no-run-if-empty -0 chmod 444
find $storePath -type d -print0 | xargs --no-run-if-empty -0 chmod 555
fi
if [[ ${toString fetcherVersion} -ge 3 ]]; then
(
cd $storePath
# Build a reproducible tarball, per instructions at https://reproducible-builds.org/docs/archives/
tar --sort=name \
--mtime="@$SOURCE_DATE_EPOCH" \
--owner=0 --group=0 --numeric-owner \
--pax-option=exthdr.name=%d/PaxHeaders/%f,delete=atime,delete=ctime \
--zstd -cf $out/pnpm-store.tar.zst .
)
fi
runHook postFixup
'';
passthru = args.passthru or { } // {
inherit fetcherVersion;
serve = callPackage ./serve.nix {
inherit pnpm; # from args
pnpmDeps = finalAttrs.finalPackage;
};
passthru = args.passthru or { } // {
inherit fetcherVersion;
serve = callPackage ./serve.nix {
inherit pnpm; # from args
pnpmDeps = finalAttrs.finalPackage;
};
};
dontConfigure = true;
dontBuild = true;
outputHashMode = "recursive";
}
// hash'
)
dontConfigure = true;
dontBuild = true;
outputHashMode = "recursive";
}
// hash'
)
)
);
pnpmConfigHook = makeSetupHook {

View file

@ -40,7 +40,7 @@ pnpmConfigHook() {
echo "Found 'pnpm' with version '$pnpmVersion'"
fetcherVersion=$(cat "${pnpmDeps}/.fetcher-version" || echo 1)
fetcherVersion=$(cat "${pnpmDeps}/.fetcher-version")
echo "Using fetcherVersion: $fetcherVersion"
@ -52,11 +52,7 @@ pnpmConfigHook() {
export npm_config_platform="@npmPlatform@"
export pnpm_config_platform="@npmPlatform@"
if [[ $fetcherVersion -ge 3 ]]; then
tar --zstd -xf "$pnpmDeps/pnpm-store.tar.zst" -C "$STORE_PATH"
else
cp -Tr "$pnpmDeps" "$STORE_PATH"
fi
tar --zstd -xf "$pnpmDeps/pnpm-store.tar.zst" -C "$STORE_PATH"
chmod -R +w "$STORE_PATH"

View file

@ -17,8 +17,6 @@ writeShellApplication {
text = ''
storePath=$(mktemp -d)
fetcherVersion=$(cat "${pnpmDeps}/.fetcher-version" || echo 1)
clean() {
echo "Cleaning up temporary store at '$storePath'..."
@ -27,11 +25,7 @@ writeShellApplication {
echo "Copying pnpm store '${pnpmDeps}' to temporary store..."
if [[ $fetcherVersion -ge 3 ]]; then
tar --zstd -xf "${pnpmDeps}/pnpm-store.tar.zst" -C "$storePath"
else
cp -Tr "${pnpmDeps}" "$storePath"
fi
tar --zstd -xf "${pnpmDeps}/pnpm-store.tar.zst" -C "$storePath"
chmod -R +w "$storePath"

View file

@ -46,6 +46,7 @@ installFonts() {
installFont 'bdf' "$out/share/fonts/misc"
installFont 'pcf' "$out/share/fonts/misc"
installFont 'otb' "$out/share/fonts/misc"
installFont 'pcf.gz' "$out/share/fonts/misc"
installFont 'psf' "$out/share/consolefonts"
installFont 'psfu' "$out/share/consolefonts"

View file

@ -723,6 +723,7 @@ rec {
meta ? { },
passthru ? { },
substitutions ? { },
__structuredAttrs ? false,
}@args:
script:
runCommand name
@ -735,7 +736,7 @@ rec {
# TODO(@Artturin:) substitutions should be inside the env attrset
# but users are likely passing non-substitution arguments through substitutions
# turn off __structuredAttrs to unbreak substituteAll
__structuredAttrs = false;
inherit __structuredAttrs;
pname = name;
version = "26.05pre-git";
inherit meta;

View file

@ -1,10 +1,14 @@
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p jq curl
#!nix-shell -i bash -p jq curl gawk
#shellcheck shell=bash
set -euo pipefail
# For Linux version checks we rely on Repology API to check 1Password managed Arch User Repository.
REPOLOGY_PROJECT_URI="https://repology.org/api/v1/project/1password"
# For Linux version checks we query upstream's APT repository.
#
# Repository only offers amd64 packages for the desktop app.
# We assume updates are always for both architectures.
OP_APT_REPO_DIST_BASE="https://downloads.1password.com/linux/debian/amd64/dists"
OP_APT_REPO_COMPONENT_INDEX="main/binary-amd64/Packages"
# For Darwin version checks we query the same endpoint 1Password 8 for Mac queries.
# This is the base URI. For stable channel an additional path of "N", for beta channel, "Y" is required.
@ -17,11 +21,7 @@ CURL=(
"-H" "user-agent: nixpkgs#_1password-gui update.sh" # repology requires a descriptive user-agent
)
JQ=(
"jq"
"--raw-output"
"--exit-status" # exit non-zero if no output is produced
)
JQ=("jq" "--raw-output")
read_local_versions() {
@ -37,36 +37,56 @@ read_local_versions() {
read_remote_versions() {
local channel="$1"
local darwin_beta_maybe
local apt_index="${OP_APT_REPO_DIST_BASE}/${channel}/${OP_APT_REPO_COMPONENT_INDEX}"
local apt_awk_prog=$'
/^Package: 1password$/ { pkg_is_1password_gui=1 }
/^Version/ && pkg_is_1password_gui { print $2; exit }
'
local chan_os ver
if [[ ${channel} == "stable" ]]; then
remote_versions["stable/linux"]=$(
"${CURL[@]}" "${REPOLOGY_PROJECT_URI}" \
| "${JQ[@]}" '.[] | select(.repo == "aur" and .srcname == "1password" and .status == "newest") | .version'
)
chan_os="${channel}/linux"
ver=$("${CURL[@]}" "${apt_index}" | awk "${apt_awk_prog}")
if [[ -n ${ver} ]]; then
remote_versions["${chan_os}"]="${ver}"
else
echo "No remote version for ${chan_os}" >&2
fi
remote_versions["stable/darwin"]=$(
chan_os="${channel}/darwin"
ver=$(
"${CURL[@]}" "${APP_UPDATES_URI_BASE}/N" \
| "${JQ[@]}" 'select(.available == "1") | .version'
)
if [[ -n ${ver} ]]; then
remote_versions["${chan_os}"]="${ver}"
else
echo "No remote version for ${chan_os}" >&2
fi
else
remote_versions["beta/linux"]=$(
# AUR version string uses underscores instead of dashes for betas.
# We fix that with a `sub` in jq query.
"${CURL[@]}" "${REPOLOGY_PROJECT_URI}" \
| "${JQ[@]}" '.[] | select(.repo == "aur" and .srcname == "1password-beta") | .version | sub("_"; "-")'
chan_os="${channel}/linux"
ver=$(
# Deb package version string uses tilde instead of dashes for betas.
"${CURL[@]}" "${apt_index}" | awk "${apt_awk_prog}" | sed 's/~/-/'
)
if [[ -n ${ver} ]]; then
remote_versions["${chan_os}"]="${ver}"
else
echo "No remote version for ${chan_os}" >&2
fi
# Handle macOS Beta app-update feed quirk.
# If there is a newer release in the stable channel, queries for beta
# channel will return the stable channel version; masking the current beta.
darwin_beta_maybe=$(
chan_os="${channel}/darwin"
ver=$(
"${CURL[@]}" "${APP_UPDATES_URI_BASE}/Y" \
| "${JQ[@]}" 'select(.available == "1") | .version'
| "${JQ[@]}" 'select(.available == "1" and (.version | endswith(".BETA"))) | .version'
)
# Only consider versions that end with '.BETA'
if [[ ${darwin_beta_maybe} =~ \.BETA$ ]]; then
remote_versions["beta/darwin"]=${darwin_beta_maybe}
if [[ -n ${ver} ]]; then
remote_versions["${chan_os}"]="${ver}"
else
echo "No remote version for ${chan_os}" >&2
fi
fi
}

View file

@ -6,7 +6,7 @@
libcxx,
}:
stdenvNoCC.mkDerivation rec {
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "aapt";
version = "8.13.2-14304508";
@ -15,12 +15,12 @@ stdenvNoCC.mkDerivation rec {
urlAndHash =
if stdenvNoCC.hostPlatform.isLinux then
{
url = "https://dl.google.com/android/maven2/com/android/tools/build/aapt2/${version}/aapt2-${version}-linux.jar";
url = "https://dl.google.com/android/maven2/com/android/tools/build/aapt2/${finalAttrs.version}/aapt2-${finalAttrs.version}-linux.jar";
hash = "sha256-eiNY58ueDpcyKvAteRuKFVr3r22kOhwSADkaH3CRwKw=";
}
else if stdenvNoCC.hostPlatform.isDarwin then
{
url = "https://dl.google.com/android/maven2/com/android/tools/build/aapt2/${version}/aapt2-${version}-osx.jar";
url = "https://dl.google.com/android/maven2/com/android/tools/build/aapt2/${finalAttrs.version}/aapt2-${finalAttrs.version}-osx.jar";
hash = "sha256-RI/S2oXMSvipALRfeRTsiXUh130/b8iP+EO0yltd7x0=";
}
else
@ -55,4 +55,4 @@ stdenvNoCC.mkDerivation rec {
platforms = lib.platforms.darwin ++ [ "x86_64-linux" ];
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
};
}
})

View file

@ -21,14 +21,14 @@
sqlite,
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "abaddon";
version = "0.2.4";
src = fetchFromGitHub {
owner = "uowuo";
repo = "abaddon";
tag = "v${version}";
tag = "v${finalAttrs.version}";
hash = "sha256-fSNXMbyYmUOA4x911/an02fhhhWe6a4xlLVb2DIqIOE=";
fetchSubmodules = true;
};
@ -74,11 +74,11 @@ stdenv.mkDerivation rec {
desktopItems = [
(makeDesktopItem {
name = pname;
exec = pname;
name = finalAttrs.pname;
exec = finalAttrs.pname;
desktopName = "Abaddon";
genericName = meta.description;
startupWMClass = pname;
genericName = finalAttrs.meta.description;
startupWMClass = finalAttrs.pname;
categories = [
"Network"
"InstantMessaging"
@ -95,4 +95,4 @@ stdenv.mkDerivation rec {
maintainers = with lib.maintainers; [ choco98 ];
platforms = lib.platforms.linux;
};
}
})

View file

@ -7,14 +7,14 @@
udevCheckHook,
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "acpilight";
version = "1.2";
src = fetchgit {
url = "https://gitlab.com/wavexx/acpilight.git";
tag = "v${version}";
sha256 = "1r0r3nx6x6vkpal6vci0zaa1n9dfacypldf6k8fxg7919vzxdn1w";
tag = "v${finalAttrs.version}";
hash = "sha256-PNjW/04hndcdmsY1ej1TriUblPogsm2ounObbrodGeQ=";
};
pyenv = python3.withPackages (
@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
substituteInPlace Makefile --replace-fail udevadm true
'';
buildInputs = [ pyenv ];
buildInputs = [ finalAttrs.pyenv ];
makeFlags = [ "DESTDIR=$(out) prefix=" ];
@ -45,4 +45,4 @@ stdenv.mkDerivation rec {
platforms = lib.platforms.linux;
mainProgram = "xbacklight";
};
}
})

View file

@ -6,16 +6,16 @@
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "actool";
version = "2.1.2";
version = "2.2.4";
src = fetchFromGitHub {
owner = "viraptor";
repo = "actool";
tag = finalAttrs.version;
hash = "sha256-LN35yD9iynU1sCkp5kWL9jUgRIvNTkssherTBaSBenU=";
hash = "sha256-dDTa6J2by6uvg4gecwCcBIRGesZ1F0gAXSLr+6DYjGc=";
};
cargoHash = "sha256-Fw/0KmFDqXs3IjqnoYfvdrQS3QzF7QhIwmTRt18JEq4=";
cargoHash = "sha256-Q0fSZNXw/71kMemYzwVsBRFcAMNl4ItKu56YdB0AAdM=";
meta = {
description = "Apple's actool reimplementation";

View file

@ -11,7 +11,7 @@
trackma,
ueberzug,
}:
stdenvNoCC.mkDerivation rec {
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "adl";
version = "3.2.8";
@ -41,7 +41,7 @@ stdenvNoCC.mkDerivation rec {
mkdir -p $out/bin
cp $src/adl $out/bin
wrapProgram $out/bin/adl \
--prefix PATH : ${lib.makeBinPath buildInputs}
--prefix PATH : ${lib.makeBinPath finalAttrs.buildInputs}
'';
meta = {
@ -52,4 +52,4 @@ stdenvNoCC.mkDerivation rec {
maintainers = with lib.maintainers; [ weathercold ];
mainProgram = "adl";
};
}
})

View file

@ -20,14 +20,14 @@
runCommand,
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "adr-tools";
version = "3.0.0";
src = fetchFromGitHub {
owner = "npryce";
repo = "adr-tools";
tag = version;
tag = finalAttrs.version;
hash = "sha256-JEwLn+SY6XcaQ9VhN8ARQaZc1zolgAJKfIqPggzV+sU=";
};
@ -112,4 +112,4 @@ stdenv.mkDerivation rec {
mainProgram = "adr";
platforms = lib.platforms.all;
};
}
})

View file

@ -9,14 +9,14 @@
sparsehash,
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "afsctool";
version = "1.7.3";
src = fetchFromGitHub {
owner = "RJVB";
repo = "afsctool";
tag = "v${version}";
tag = "v${finalAttrs.version}";
fetchSubmodules = true;
gitConfigFile = builtins.toFile "gitconfig" ''
[url "https://github.com/"]
@ -46,4 +46,4 @@ stdenv.mkDerivation rec {
platforms = lib.platforms.darwin;
homepage = "https://github.com/RJVB/afsctool";
};
}
})

View file

@ -4,14 +4,14 @@
fetchFromGitHub,
}:
stdenvNoCC.mkDerivation rec {
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "aixlog";
version = "1.5.0";
src = fetchFromGitHub {
owner = "badaix";
repo = "aixlog";
tag = "v${version}";
tag = "v${finalAttrs.version}";
hash = "sha256-Xhle7SODRZlHT3798mYIzBi1Mqjz8ai74/UnbVWetiY=";
};
@ -30,8 +30,8 @@ stdenvNoCC.mkDerivation rec {
meta = {
description = "Header-only C++ logging library";
homepage = "https://github.com/badaix/aixlog";
changelog = "https://github.com/badaix/aixlog/releases/tag/${src.rev}";
changelog = "https://github.com/badaix/aixlog/releases/tag/${finalAttrs.src.rev}";
license = lib.licenses.mit;
maintainers = [ ];
};
}
})

View file

@ -9,7 +9,7 @@
buildGoModule (finalAttrs: {
pname = "andcli";
version = "2.6.2";
version = "2.7.0";
subPackages = [ "cmd/andcli" ];
@ -17,10 +17,10 @@ buildGoModule (finalAttrs: {
owner = "tjblackheart";
repo = "andcli";
tag = "v${finalAttrs.version}";
hash = "sha256-EtfsSLyZs5hADJRE5xvn2mu6A04Sz9e21Y4+VkopCY0=";
hash = "sha256-l+ZpAm+yHCKPalGib4OlIaGFsDHc3IFFlOvB1kXWZG0=";
};
vendorHash = "sha256-CHWypAA2BpHop5LGkjZVTBL4dGzWfrwDJcFrtGTBAb4=";
vendorHash = "sha256-S2JRkVy1iLGBqoOWukTQm80fVJ2YMNHTLfUUA2530GE=";
ldflags = [
"-s"

View file

@ -473,6 +473,7 @@
"kerberos"
"marshmallow"
"msgpack"
"pyjwt"
"werkzeug"
"wtforms"
];
@ -644,7 +645,10 @@
};
jdbc = {
deps = [ "jaydebeapi" ];
deps = [
"jaydebeapi"
"jpype1"
];
imports = [
"airflow.providers.jdbc"
"airflow.providers.jdbc.get_provider_info"
@ -754,6 +758,7 @@
deps = [
"aiomysql"
"mysqlclient"
"pymysql"
];
imports = [
"airflow.providers.mysql"

View file

@ -19,6 +19,7 @@
attrs,
babel,
buildPythonPackage,
cachetools,
cadwyn,
colorlog,
cron-descriptor,
@ -88,13 +89,13 @@
enabledProviders,
}:
let
version = "3.2.1";
version = "3.2.2";
src = fetchFromGitHub {
owner = "apache";
repo = "airflow";
tag = version;
hash = "sha256-jwWxH9fTTCFdLAaAN18/FUAbN0cTCPkkk9+0ZMYNXek=";
hash = "sha256-nAFSLdcKmP2CNm3rx+/fwIsJnpju7wBl+fYWQV8p+sU=";
};
pnpm = pnpm_10;
@ -119,7 +120,7 @@ let
pnpm
;
fetcherVersion = 3;
hash = "sha256-OkSDQoWsHQ6w1vIoX5W9zXHghV0obvL6Wji0HYN6CSs=";
hash = "sha256-wJ2u+y3umecL4IeVW/29/yDgYZ77ffOBQLHeplD3XlQ=";
};
buildPhase = ''
@ -146,9 +147,14 @@ let
pnpmDeps = fetchPnpmDeps {
pname = "simple-auth-manager-ui";
inherit sourceRoot src version;
inherit
sourceRoot
src
version
pnpm
;
fetcherVersion = 3;
hash = "sha256-uQIVHzX0BcJuxgbPp6wqKhALbsfACSJjiMOdmrpuzOk=";
hash = "sha256-AKaafmDjIlg4eFJT1JGyelXVjcId8f0iXTR3JK4ZMq0=";
};
buildPhase = ''
@ -212,6 +218,7 @@ let
sed -i -E 's/"GitPython==[^"]+"/"GitPython"/' pyproject.toml
sed -i -E 's/"trove-classifiers==[^"]+"/"trove-classifiers"/' pyproject.toml
sed -i -E 's/"smmap==[^"]+"/"smmap"/' pyproject.toml
sed -i -E 's/"pathspec==[^"]+"/"pathspec"/' pyproject.toml
# Copy built UI assets
cp -r ${airflowUi}/share/airflow/ui/dist src/airflow/ui/
@ -235,6 +242,7 @@ let
argcomplete
asgiref
attrs
cachetools
cadwyn
colorlog
cron-descriptor
@ -291,6 +299,8 @@ let
uvicorn
]
++ (map buildProvider requiredProviders);
pythonRelaxDeps = [ "starlette" ];
};
taskSdk = buildPythonPackage {
@ -308,6 +318,7 @@ let
sed -i -E 's/"hatchling==[^"]+"/"hatchling"/' pyproject.toml
sed -i -E 's/"packaging==[^"]+"/"packaging"/' pyproject.toml
sed -i -E 's/"trove-classifiers==[^"]+"/"trove-classifiers"/' pyproject.toml
sed -i -E 's/"pathspec==[^"]+"/"pathspec"/' pyproject.toml
# task-sdk needs config.yml from core subpackage
mkdir -p src/airflow/config_templates
@ -354,6 +365,7 @@ buildPythonPackage rec {
sed -i -E 's/"hatchling==[^"]+"/"hatchling"/' pyproject.toml
sed -i -E 's/"packaging==[^"]+"/"packaging"/' pyproject.toml
sed -i -E 's/"trove-classifiers==[^"]+"/"trove-classifiers"/' pyproject.toml
sed -i -E 's/"pathspec==[^"]+"/"pathspec"/' pyproject.toml
'';
nativeBuildInputs = [ writableTmpDirAsHomeHook ];

View file

@ -126,7 +126,19 @@ stdenvNoCC.mkDerivation (finalAttrs: {
description = "Open-source alternative to Notion";
homepage = "https://www.appflowy.io/";
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
license = lib.licenses.agpl3Only;
license = with lib.licenses; [
# The LICENSE file clearly claims the project is using AGPL-3.0
#
# c.f. https://github.com/AppFlowy-IO/AppFlowy/blob/main/LICENSE
agpl3Only
# But, the source code has not been synced with any major release since
# the end of 2025. One of the core team member said that they will "merge
# Flutter code back into this public repository at a later stage". However,
# 2 months later, nothing has changed.
#
# c.f. https://github.com/AppFlowy-IO/AppFlowy/issues/8479#issuecomment-4053301446
unfreeRedistributable
];
changelog = "https://github.com/AppFlowy-IO/appflowy/releases/tag/${finalAttrs.version}";
maintainers = with lib.maintainers; [ darkonion0 ];
platforms = [ "x86_64-linux" ] ++ lib.platforms.darwin;

View file

@ -11,13 +11,13 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "ast-grep";
version = "0.42.3";
version = "0.43.0";
src = fetchFromGitHub {
owner = "ast-grep";
repo = "ast-grep";
tag = finalAttrs.version;
hash = "sha256-CbZDibpdEMQayd9tzNTZRUmyx4/9K5VzhbqeFatOn+Q=";
hash = "sha256-qQkG04aGaw3U/FFP1omlsoAKfNsVKafgJlVzAxvHkcA=";
};
# error: linker `aarch64-linux-gnu-gcc` not found
@ -25,7 +25,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
rm .cargo/config.toml
'';
cargoHash = "sha256-WhhSD2doqdwGnSKTVjnpjnuPep+4+nB2ZPiFFi8VbQQ=";
cargoHash = "sha256-YL76pCvCco9u8nAGIuiEciQrgUgaPx1s8hHyu2x3KmI=";
nativeBuildInputs = [ installShellFiles ];

View file

@ -47,13 +47,13 @@ in
stdenv.mkDerivation (finalAttrs: {
pname = "astc-encoder";
version = "5.3.0";
version = "5.4.0";
src = fetchFromGitHub {
owner = "ARM-software";
repo = "astc-encoder";
tag = finalAttrs.version;
hash = "sha256-15fX+3wzDoVzvQAhneeGajMsFXqSwmYtlsi3qrNFNus=";
hash = "sha256-mpaLSf1K+SsxkQm/b+QIWU34TzHQ7CAkyDNczBrcmBo=";
};
nativeBuildInputs = [ cmake ];

View file

@ -18,16 +18,16 @@
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "asusctl";
version = "6.3.7";
version = "6.3.8";
src = fetchFromGitLab {
owner = "asus-linux";
repo = "asusctl";
tag = finalAttrs.version;
hash = "sha256-jBO9AzQt4T4VU8aMcC9ALI7xBesAZC4beEyZ4+0cPPU=";
hash = "sha256-DXpuKZmjYKiQp8ULH39EYtY75muZ77YzwYmE/yF1wEY=";
};
cargoHash = "sha256-f/rD2zEvGwyyBFSih7G9vdwFepehYS1u38vBlKGZBFM=";
cargoHash = "sha256-nZDpKuL+7IIuV5q/W4qWHa7C/HEoX5YaerUMcDQQVtg=";
postPatch = ''
files="

View file

@ -18,13 +18,13 @@
}:
stdenv.mkDerivation (finalAttrs: {
pname = "attyx";
version = "0.4.2";
version = "0.4.3";
src = fetchFromGitHub {
owner = "semos-labs";
repo = "attyx";
tag = "v${finalAttrs.version}";
hash = "sha256-b8a/fLW4jeek5KckBWmd+fIhN6S2JoNvxAW2zBCokiY=";
hash = "sha256-DJe1HreijOwFaqDY+Ai1utiK4u66pUbBkEY6TOat27A=";
};
deps = callPackage ./build.zig.zon.nix { };

View file

@ -19,13 +19,13 @@
buildNimPackage rec {
pname = "auto-editor";
version = "30.3.0";
version = "30.4.0";
src = fetchFromGitHub {
owner = "WyattBlue";
repo = "auto-editor";
tag = version;
hash = "sha256-1DFTT6dyIYlB3EMPf5eleXvRr1d29jmtt7GQfRpOkUE=";
hash = "sha256-AzUTDOWzyhZLrwqO9HfZ/Ke72LElJAMzVoDydBfYKwg=";
};
lockFile = ./lock.json;

View file

@ -2,29 +2,19 @@
lib,
stdenvNoCC,
fetchzip,
installFonts,
}:
let
version = "16.0.3";
in
stdenvNoCC.mkDerivation {
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "babelstone-han";
inherit version;
version = "16.0.3";
src = fetchzip {
url = "https://babelstone.co.uk/Fonts/Download/BabelStoneHan-${version}.zip";
url = "https://babelstone.co.uk/Fonts/Download/BabelStoneHan-${finalAttrs.version}.zip";
hash = "sha256-HmmRJLs51hoHoKQYdjbiivnJl+RhcBwzkng+5PoqX10=";
};
installPhase = ''
runHook preInstall
mkdir -p $out/share/fonts/truetype
cp *.ttf $out/share/fonts/truetype
runHook postInstall
'';
nativeBuildInputs = [ installFonts ];
meta = {
description = "Unicode CJK font with over 36000 Han characters";
@ -34,4 +24,4 @@ stdenvNoCC.mkDerivation {
platforms = lib.platforms.all;
maintainers = with lib.maintainers; [ emily ];
};
}
})

View file

@ -0,0 +1,27 @@
{
lib,
stdenv,
base16-schemes,
}:
stdenv.mkDerivation {
pname = "base24-schemes";
inherit (base16-schemes) version src;
strictDeps = true;
__structuredAttrs = true;
dontBuild = true;
installPhase = ''
runHook preInstall
mkdir -p $out/share/themes
install base24/*.yaml $out/share/themes/
runHook postInstall
'';
meta = base16-schemes.meta // {
description = "Base24 color schemes from Tinted Theming";
maintainers = with lib.maintainers; [ nyxar77 ];
};
}

View file

@ -0,0 +1,51 @@
{
lib,
buildGoModule,
fetchFromGitHub,
gitMinimal,
nix-update-script,
versionCheckHook,
}:
buildGoModule (finalAttrs: {
pname = "beadwork";
version = "0.13.0";
src = fetchFromGitHub {
owner = "jallum";
repo = "beadwork";
rev = "v${finalAttrs.version}";
hash = "sha256-SuIQygsd/X8khQ1+S/af5haREBxsznFfcefLwsJRv/g=";
};
vendorHash = "sha256-LjqZSI7F3C8GyNrPK/BwG9QTmNg89hFAvhUuBjmbHTU=";
subPackages = [ "cmd/bw" ];
nativeCheckInputs = [
gitMinimal
versionCheckHook
];
doCheck = true;
doInstallCheck = true;
preCheck = ''
export HOME="$TMPDIR"
git config --global user.email "test@test.com"
git config --global user.name "Test"
git config --global init.defaultBranch main
'';
passthru.updateScript = nix-update-script { };
meta = with lib; {
description = "Git-native work management for AI coding agents";
homepage = "https://github.com/jallum/beadwork";
license = licenses.mit;
mainProgram = "bw";
maintainers = with lib.maintainers; [ munksgaard ];
};
__structuredAttrs = true;
})

View file

@ -24,7 +24,7 @@
}:
let
version = "2.1.10";
version = "2.1.11";
jdk = zulu25.override { enableJavaFX = true; };
@ -69,7 +69,7 @@ stdenv.mkDerivation (finalAttrs: {
# nixpkgs-update: no auto update
src = fetchurl {
url = "https://github.com/bisq-network/bisq2/releases/download/v${version}/Bisq-${version}.deb";
hash = "sha256-e1b2F4JKm7i7iMEqi+OTBryScWWhdvLJW3iKecQgqvg=";
hash = "sha256-Ts0u1Rapgfz/z17U3VSN17/rdACr/KOGmiZjWnGJmcw=";
# Verify the upstream Debian package prior to extraction.
# See https://bisq.wiki/Bisq_2#Installation
@ -94,7 +94,7 @@ stdenv.mkDerivation (finalAttrs: {
signature = fetchurl {
url = "https://github.com/bisq-network/bisq2/releases/download/v${version}/Bisq-${version}.deb.asc";
hash = "sha256-2B8rmNwCcJ/cSv7P0FYi2DlRcWkG0o0lMFPsr5zaoIk=";
hash = "sha256-/+HDj28uOFQwkrrzKfcQW0T5/qTIeB30Zd10EjeGhlU=";
};
nativeBuildInputs = [

View file

@ -13,12 +13,12 @@
# reference: https://boringssl.googlesource.com/boringssl/+/refs/tags/0.20250818.0/BUILDING.md
stdenv.mkDerivation (finalAttrs: {
pname = "boringssl";
version = "0.20260508.0";
version = "0.20260526.0";
src = fetchgit {
url = "https://boringssl.googlesource.com/boringssl";
tag = finalAttrs.version;
hash = "sha256-7fW0OmOj+Hduq5YCc5xpcfICpC8qAc/05/UMgZ70jhM=";
hash = "sha256-SmyImyzGn7v2b5qGJbMmQZX5bODA9i6+8jy3uGwOawA=";
};
patches = [

View file

@ -34,13 +34,13 @@
python3Packages.buildPythonApplication (finalAttrs: {
pname = "bottles-unwrapped";
version = "63.2";
version = "64.1";
src = fetchFromGitHub {
owner = "bottlesdevs";
repo = "bottles";
tag = finalAttrs.version;
hash = "sha256-cBqKUf96BLYyVD8onkvejL7pcxYrVCnhjhhT9FSwuNo=";
hash = "sha256-RwH2XLY9PmyDvIYu3Wr2qL89ErJBfC58i0jHLLNnKJQ=";
};
patches = [

View file

@ -16,16 +16,16 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "broot";
version = "1.56.4";
version = "1.57.0";
src = fetchFromGitHub {
owner = "Canop";
repo = "broot";
tag = "v${finalAttrs.version}";
hash = "sha256-JqD4CSTVbrqg7nAkSRp4SaGpFKt1U3CYLxM31AJfcPA=";
hash = "sha256-uRMa8zaXXM8KWUplYMyOLic/WITLU0eAbZ2VDgM/PBw=";
};
cargoHash = "sha256-5VGgbrd+iDD+L6JFy4H6HFuRW6xtQDawSGGSQARjRU0=";
cargoHash = "sha256-p4R8+PcRmjy/2q7lpfUevuYROPrCQEffmXx5vRrjwKs=";
nativeBuildInputs = [
installShellFiles

View file

@ -19,14 +19,14 @@
stdenv.mkDerivation (finalAttrs: {
pname = "catalyst";
version = "2.0.0";
version = "2.1.0";
src = fetchFromGitLab {
domain = "gitlab.kitware.com";
owner = "paraview";
repo = "catalyst";
tag = "v${finalAttrs.version}";
hash = "sha256-uPb7vgJpKquZVmSMxeWDVMiNkUdYv3oVVKu7t4+zkbs=";
hash = "sha256-8pBQQE5/h9LKRgFJi/KHtQPQ9rm7JyxBRVgh6Uf0Q98=";
};
nativeBuildInputs = [

View file

@ -6,16 +6,16 @@
buildGoModule (finalAttrs: {
pname = "cdncheck";
version = "1.2.37";
version = "1.2.38";
src = fetchFromGitHub {
owner = "projectdiscovery";
repo = "cdncheck";
tag = "v${finalAttrs.version}";
hash = "sha256-gw3WhhuCXFTAaqO4Sp8TDZ1W6xTCvH91hK5R/GEgoY0=";
hash = "sha256-OZ+rCxcJCeo8kWoL0UT7+bsT+QWt/xtKFKb0oHogB7o=";
};
vendorHash = "sha256-gCq1m+9XCo4HGL1sT5AEMP0M430sy+5aKeOHwUWlme4=";
vendorHash = "sha256-iJ1agL7sZ3ZKbW1wMA+qi8FgHdPa6gZLQ5BBPKJTNaQ=";
subPackages = [ "cmd/cdncheck/" ];

View file

@ -1,49 +0,0 @@
{
lib,
appimageTools,
fetchurl,
writeScript,
}:
let
pname = "chatbox";
version = "1.20.3";
src = fetchurl {
url = "https://download.chatboxai.app/releases/Chatbox-${version}-x86_64.AppImage";
hash = "sha256-m2nCVYa2OGd1vV685+0Z3K6g4LjkHL5edhJ43ENWAZM=";
};
appimageContents = appimageTools.extract { inherit pname version src; };
in
appimageTools.wrapType2 {
inherit pname version src;
extraInstallCommands = ''
install -m 444 -D ${appimageContents}/xyz.chatboxapp.app.desktop $out/share/applications/chatbox.desktop
install -m 444 -D ${appimageContents}/usr/share/icons/hicolor/512x512/apps/xyz.chatboxapp.app.png $out/share/icons/hicolor/512x512/apps/chatbox.png
substituteInPlace $out/share/applications/chatbox.desktop \
--replace-fail 'Exec=AppRun' 'Exec=chatbox' \
--replace-fail 'Icon=xyz.chatboxapp.app' 'Icon=chatbox'
'';
passthru.updateScript = writeScript "update-chatbox" ''
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p curl gnugrep common-updater-scripts
version=$(curl -I -X GET https://chatboxai.app/install_chatbox/linux | grep -oP 'Chatbox-\K[0-9]+\.[0-9]+\.[0-9]+')
update-source-version chatbox $version
'';
meta = {
description = "AI client application and smart assistant";
homepage = "https://chatboxai.app";
downloadPage = "https://chatboxai.app/en#download";
changelog = "https://chatboxai.app/en/help-center/changelog";
license = lib.licenses.unfree;
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
maintainers = with lib.maintainers; [ c31io ];
mainProgram = "chatbox";
# Help porting to other platforms :)
platforms = [ "x86_64-linux" ];
};
}

View file

@ -8,13 +8,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "cimg";
version = "3.6.3";
version = "3.7.6";
src = fetchFromGitHub {
owner = "GreycLab";
repo = "CImg";
tag = "v.${finalAttrs.version}";
hash = "sha256-X99t7X6Z1OssRrcYSJdj/ptfn0Q7ocSzf1z6bzMdT1Q=";
hash = "sha256-7VZU1/iZH0mtnWaPLRXXYRmpv1tbHKlTglQXIFaocWs=";
};
outputs = [

View file

@ -16,13 +16,13 @@
buildGoModule (finalAttrs: {
pname = "cliamp";
version = "1.50.0";
version = "1.56.0";
src = fetchFromGitHub {
owner = "bjarneo";
repo = "cliamp";
tag = "v${finalAttrs.version}";
hash = "sha256-wXOIJ6oJfphEtBs84ova5tErcmKO3bHbDmRTiTX5zUE=";
hash = "sha256-07hKE13eX6IWo77mMbgvPgJZjymfsGn9xMN7XIVIB1g=";
};
vendorHash = "sha256-A2Ygc1a9e2flZzaNAEXvr8Ui1cE89TxBfUNALmDzIo0=";

View file

@ -6,18 +6,18 @@
buildGoModule (finalAttrs: {
pname = "cnspec";
version = "13.11.0";
version = "13.21.0";
src = fetchFromGitHub {
owner = "mondoohq";
repo = "cnspec";
tag = "v${finalAttrs.version}";
hash = "sha256-MhORGeHFIiNHCipbpCl18utmCVD09UyN5dwNravus0o=";
hash = "sha256-RQ7OmsGTibOPL1R9h9+2sRXQhgToI+zwmMfuupwcjQI=";
};
proxyVendor = true;
vendorHash = "sha256-4p8vsWUdeVVG6qy1QMbuyxJarA1l72euzoswmMDn7gM=";
vendorHash = "sha256-TMrDKXQC/l6859ygN8yjVE5vVoJWHLUh+bUpPirNp/Y=";
subPackages = [ "apps/cnspec" ];

View file

@ -25,18 +25,20 @@
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "codex";
version = "0.135.0";
version = "0.136.0";
src = fetchFromGitHub {
owner = "openai";
repo = "codex";
tag = "rust-v${finalAttrs.version}";
hash = "sha256-7Ak7rpogcN2kNezk7aMdMmkgNyPxH58f6lFdXOd/mgc=";
hash = "sha256-MI9VrfMFuUOup0e8KECaFA8SbkrPLEG+6K/wqLA8rs8=";
};
sourceRoot = "${finalAttrs.src.name}/codex-rs";
cargoHash = "sha256-v1ggzNoncBVcOiJDQNNKPxYqWASNGjVjLMCXhsIbrVI=";
cargoHash = "sha256-zHNOUHUnyNxYSWn13H77ZdIuv09kHSlJfQBatTugLUA=";
__structuredAttrs = true;
# Match upstream's release build for the codex binary only.
cargoBuildFlags = [

View file

@ -10,15 +10,15 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "commit-notifier";
version = "0-unstable-2026-02-07";
version = "0-unstable-2026-05-31";
src = fetchFromGitHub {
owner = "linyinfeng";
repo = "commit-notifier";
rev = "93ad526940c60d3a7be65239e6ff8604ce8c6e17";
hash = "sha256-2U1Pp6v68fAxG6pVztHvCGe8FP714o9V2WQFMSmChBQ=";
rev = "82d9177bc494f946d5fcdae14578908b5b7fb2f5";
hash = "sha256-tlYXx9gtHv3HSlmdtGIZ70CsL19nmhoi8DbzQu30izQ=";
};
cargoHash = "sha256-IezbCVH3C7i7COZ8Fw7aXym7Q64hy6jxo98aohxgOyA=";
cargoHash = "sha256-VOemLMuCa1AEwbFnngimO9xtpi/ZGcX6ZstwKEaOdvA=";
nativeBuildInputs = [ pkg-config ];

View file

@ -15,14 +15,14 @@
stdenv.mkDerivation (finalAttrs: {
pname = "conduit";
version = "0.9.5";
version = "0.9.7";
src = fetchFromGitHub {
owner = "LLNL";
repo = "conduit";
tag = "v${finalAttrs.version}";
fetchSubmodules = true;
hash = "sha256-mX7/5C4wd70Kx1rQyo2BcZMwDRqvxo4fBdz3pq7PuvM=";
hash = "sha256-DmnHGj6Q/i+wVNIbaTGrFX9f0Kry2X5bC7zahXv29I4=";
};
nativeBuildInputs = [
@ -41,13 +41,24 @@ stdenv.mkDerivation (finalAttrs: {
(lib.cmakeBool "ENABLE_MPI" mpiSupport)
];
installCheckPhase = ''
runHook preInstallCheck
installCheckPhase =
let
excludedTests = lib.optionals stdenv.hostPlatform.isDarwin [
# SIGTRAP***Exception
"t_conduit_fixed_size_vector"
];
make test
excludedTestsString = lib.optionalString (
excludedTests != [ ]
) "-E '^(${builtins.concatStringsSep "|" excludedTests})$'";
in
''
runHook preInstallCheck
runHook postInstallCheck
'';
ctest --output-on-failure ${excludedTestsString}
runHook postInstallCheck
'';
doInstallCheck = true;
passthru = {

View file

@ -7,7 +7,7 @@
python3Packages.buildPythonApplication (finalAttrs: {
pname = "daktari";
version = "0.0.324";
version = "0.0.328";
pyproject = true;
__structuredAttrs = true;
@ -15,7 +15,7 @@ python3Packages.buildPythonApplication (finalAttrs: {
owner = "genio-learn";
repo = "daktari";
tag = "v${finalAttrs.version}";
hash = "sha256-f9TpdxarSTMmXhalrjFmGT+zIUNMY+add5OiTq/xW7A=";
hash = "sha256-WTxZTfW4KVACxR3wS9+nDV/pYlCrCu8TBQRVulxqiRo=";
};
patches = [ ./optional-pyclip.patch ];

View file

@ -6,13 +6,13 @@
buildGoModule (finalAttrs: {
pname = "dalfox";
version = "3.0.0";
version = "3.0.2";
src = fetchFromGitHub {
owner = "hahwul";
repo = "dalfox";
tag = "v${finalAttrs.version}";
hash = "sha256-EYX+nag7aaqm9Saa9w4fbuxyuHxx1TIIgIj/yTKfE98=";
hash = "sha256-IUCpDTTJJHZS+e/7ZR2ObZOxLIQhPD6MZvYp9opqUAI=";
};
vendorHash = null;

View file

@ -0,0 +1,109 @@
{
apple-sdk_14,
cargo-tauri,
darwin,
fetchFromGitHub,
fetchPnpmDeps,
gst_all_1,
lib,
libayatana-appindicator,
makeWrapper,
nodejs,
openssl,
perl,
pkg-config,
pnpm_9,
pnpmConfigHook,
python3,
rustPlatform,
stdenv,
versionCheckHook,
webkitgtk_4_1,
wrapGAppsHook4,
}:
let
pnpm = pnpm_9;
in
rustPlatform.buildRustPackage (finalAttrs: {
pname = "deltachat-tauri";
version = "2.49.1";
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "deltachat";
repo = "deltachat-desktop";
tag = "v${finalAttrs.version}";
hash = "sha256-JTbhKOTtPNlromdOsdekw6hhuE4gRwm1QB+5qaKy53o=";
};
pnpmDeps = fetchPnpmDeps {
inherit (finalAttrs) pname version src;
inherit pnpm;
fetcherVersion = 3;
hash = "sha256-UZ6/OTUtIiOA1D5PanY4aS+VCBNj/AIbIGYe1eibGMQ=";
};
cargoHash = "sha256-xxO17cpZ86Pg/zlfoEYLdBkY9MstsgNqoJbPWxTaXrw=";
postPatch = lib.optionalString stdenv.hostPlatform.isLinux ''
substituteInPlace $cargoDepsCopy/source-registry-0/libappindicator-sys-*/src/lib.rs \
--replace-fail libayatana-appindicator3.so.1 '${libayatana-appindicator}/lib/libayatana-appindicator3.so.1'
'';
nativeBuildInputs = [
cargo-tauri.hook
nodejs
perl
pnpm
pnpmConfigHook
]
++ lib.optionals stdenv.hostPlatform.isLinux [
pkg-config
python3
wrapGAppsHook4
]
++ lib.optionals stdenv.hostPlatform.isDarwin [
darwin.autoSignDarwinBinariesHook
];
buildInputs =
lib.optionals stdenv.hostPlatform.isLinux [
gst_all_1.gst-libav
gst_all_1.gst-plugins-base
gst_all_1.gst-plugins-good
gst_all_1.gst-plugins-bad
gst_all_1.gst-vaapi
gst_all_1.gstreamer
libayatana-appindicator
openssl
webkitgtk_4_1
]
++ lib.optionals stdenv.hostPlatform.isDarwin [
apple-sdk_14
];
buildAndTestSubdir = "packages/target-tauri";
env = {
VERSION_INFO_GIT_REF = finalAttrs.src.tag;
};
postInstall = lib.optionalString stdenv.hostPlatform.isLinux ''
install -Dm 444 images/tray/deltachat.svg "$out/share/icons/hicolor/scalable/apps/deltachat-tauri.svg"
'';
nativeInstallCheckInputs = [
versionCheckHook
];
meta = {
changelog = "https://github.com/deltachat/deltachat-desktop/blob/${finalAttrs.src.tag}/CHANGELOG.md";
description = "Email-based instant messaging for Desktop";
homepage = "https://github.com/deltachat/deltachat-desktop";
license = lib.licenses.gpl3Plus;
mainProgram = "deltachat-tauri";
maintainers = [ lib.maintainers.dotlambda ];
platforms = lib.platforms.darwin ++ lib.platforms.linux;
};
})

View file

@ -0,0 +1,5 @@
{ python3Packages }:
with python3Packages;
(toPythonApplication deptry).overrideAttrs (_: {
__structuredAttrs = true;
})

View file

@ -12,13 +12,13 @@
inherit hamlibSupport gpsdSupport extraScripts;
}).overrideAttrs
(oldAttrs: {
version = "1.8.1-unstable-2026-03-18";
version = "1.8.1-unstable-2026-05-27";
src = fetchFromGitHub {
owner = "wb2osz";
repo = "direwolf";
rev = "78d6559c67b94568b2f093fc9b4d4965749387ae";
hash = "sha256-sSXvDTnrOHplmg86kZ+ppPD0Y6JuhHBfrXZToK8EqmY=";
rev = "d6151874ecf202cbb401a671a90b15d0fab92fa9";
hash = "sha256-t19AjQzjkpteqwfRVI/tM5wCVNeFceWPHjq0UtdevXg=";
};
dontVersionCheck = true;

View file

@ -7,16 +7,16 @@
buildNpmPackage (finalAttrs: {
pname = "dotenvx";
version = "1.68.0";
version = "1.71.0";
src = fetchFromGitHub {
owner = "dotenvx";
repo = "dotenvx";
tag = "v${finalAttrs.version}";
hash = "sha256-w2AljviPNkXC+f4x3QEuR9FSkg0Dy+zYqVPrSWjbrDU=";
hash = "sha256-nnzjPyxqAu7r4rKkTEaQsHdORnVo6dqwG38ALjjmZMs=";
};
npmDepsHash = "sha256-l9nRDYg7mrgF2GAYbQgoes0VzpTGAn9TMHrmWjvZnMY=";
npmDepsHash = "sha256-XMNpCgFVphdfdAWjclqjpGyhggbNm6A/RdIAy/Ga9po=";
dontNpmBuild = true;

View file

@ -0,0 +1,13 @@
diff --git a/src/LzFind.c b/src/LzFind.c
index 98d0ac6..f1bee55 100755
--- a/src/LzFind.c
+++ b/src/LzFind.c
@@ -229,7 +229,7 @@ static unsigned short * GetMatches2(UInt32 lenLimit, UInt32 curMatch, UInt32 pos
const unsigned char* _min = min;
unsigned cnt = 0;
if (_min < pb - (rle_len - len)) {_min = pb - (rle_len - len);}
- while (rle_pos > _min && *(uint64_t*)(rle_pos - 8) == starter_full) {rle_pos-=8; cnt+=8;}
+ while (rle_pos > _min && *(__typeof__(const uint64_t __attribute__((aligned(1))))*)(rle_pos - 8) == starter_full) {rle_pos-=8; cnt+=8;}
if (cnt) {
if (cnt + len > rle_len - 1) {cnt = rle_len - 1 - len;}
curMatch_rle -= cnt;

View file

@ -22,6 +22,11 @@ stdenv.mkDerivation (finalAttrs: {
fetchSubmodules = true;
};
patches = [
# from https://github.com/fhanau/Efficient-Compression-Tool/issues/145
./ect-gcc-15-O3-fix.patch
];
# devendor libpng
postPatch = ''
substituteInPlace src/CMakeLists.txt \

View file

@ -10,6 +10,8 @@
doxygen,
cmake,
graphviz,
withDoc ? true, # upstream disable for cross, even if it seems to build fine
}:
stdenv.mkDerivation (finalAttrs: {
@ -34,16 +36,25 @@ stdenv.mkDerivation (finalAttrs: {
outputs = [
"out"
"doc"
];
]
++ lib.optional withDoc "doc";
nativeBuildInputs = [
doxygen
cmake
]
++ lib.optionals withDoc [
doxygen
graphviz
];
postInstall = ''
cmakeFlags = [
(lib.cmakeBool "EIGEN_BUILD_DOC" withDoc)
];
postInstall = lib.optionalString withDoc ''
# Fontconfig error: No writable cache directories
export XDG_CACHE_HOME="$(mktemp -d)"
cmake --build . -t install-doc
'';

View file

@ -6,14 +6,14 @@
python3.pkgs.buildPythonApplication (finalAttrs: {
pname = "embedxpl";
version = "3.1.0";
version = "3.4.0";
pyproject = true;
src = fetchFromGitHub {
owner = "mrhenrike";
repo = "EmbedXPL-Forge";
tag = "v${finalAttrs.version}";
hash = "sha256-C7BTFRvhIjUePXxVmUbZXN2EKi+D/nE220/6ms30yAs=";
hash = "sha256-UzlJFg/30xwUmWDoRBlTbHKgLvCudHOGeqyfBYQO2qQ=";
};
__structuredAttrs = true;

View file

@ -5,6 +5,7 @@
libfaketime,
mkfontscale,
fonttosfnt,
installFonts,
}:
stdenv.mkDerivation (finalAttrs: {
@ -17,6 +18,7 @@ stdenv.mkDerivation (finalAttrs: {
};
nativeBuildInputs = [
installFonts
libfaketime
fonttosfnt
mkfontscale
@ -38,13 +40,8 @@ stdenv.mkDerivation (finalAttrs: {
runHook postBuild
'';
installPhase = ''
runHook preInstall
install -D -m 644 -t "$out/share/fonts/misc" *.otb *.pcf.gz
postInstall = ''
mkfontdir "$out/share/fonts/misc"
runHook postInstall
'';
meta = {

View file

@ -33,14 +33,14 @@ let
in
python.pkgs.buildPythonApplication (finalAttrs: {
pname = "esphome";
version = "2026.5.1";
version = "2026.5.2";
pyproject = true;
src = fetchFromGitHub {
owner = "esphome";
repo = "esphome";
tag = finalAttrs.version;
hash = "sha256-faW44FhAymqGQG4khAUEcv6QoAn49KPSghi3YcXttNk=";
hash = "sha256-DLM4hzbEWaJURtCIpKdL9Igy53puEGW+qRiBpDdFZ4o=";
};
patches = [

View file

@ -19,28 +19,39 @@
SDL2,
sqlite,
zlib,
versionCheckHook,
}:
let
version = "2.83.2";
version = "2.84.0";
fakeGit = writeScriptBin "git" ''
if [ "$1" = "describe" ]; then
echo "${version}"
fi
'';
binarySuffix =
if stdenv.hostPlatform.isx86_64 then
"x86_64"
else if stdenv.hostPlatform.isAarch64 then
"aarch64"
else if stdenv.hostPlatform.isi686 then
"386"
else
throw "Unsupported architecture: ${stdenv.hostPlatform.system}";
in
stdenv.mkDerivation {
pname = "etlegacy-unwrapped";
inherit version;
__structuredAttrs = true;
strictDeps = true;
src = fetchFromGitHub {
owner = "etlegacy";
repo = "etlegacy";
tag = "v${version}";
hash = "sha256-hZwLYaYV0j3YwFi8KRr4DZV73L2yIwFJ3XqCyq6L7hE=";
hash = "sha256-E1eR0OIfXn2QkSGYNu1JFXDIVrkz+pxM7IU0GVkvAFQ=";
};
strictDeps = true;
nativeBuildInputs = [
cmake
fakeGit
@ -69,6 +80,9 @@ stdenv.mkDerivation {
(lib.cmakeFeature "CMAKE_BUILD_TYPE" "Release")
(lib.cmakeBool "BUILD_SERVER" true)
(lib.cmakeBool "BUILD_CLIENT" true)
(lib.cmakeBool "BUNDLED_WOLFSSL" false)
(lib.cmakeBool "BUNDLED_OPENSSL" false)
(lib.cmakeBool "BUNDLED_CURL" false)
(lib.cmakeBool "BUNDLED_ZLIB" false)
(lib.cmakeBool "BUNDLED_CJSON" false)
(lib.cmakeBool "BUNDLED_JPEG" false)
@ -86,12 +100,18 @@ stdenv.mkDerivation {
(lib.cmakeBool "INSTALL_OMNIBOT" false)
(lib.cmakeBool "INSTALL_GEOIP" false)
(lib.cmakeBool "INSTALL_WOLFADMIN" false)
(lib.cmakeBool "FEATURE_FREETYPE" true)
(lib.cmakeBool "FEATURE_GETTEXT" true)
(lib.cmakeBool "FEATURE_AUTOUPDATE" false)
(lib.cmakeBool "FEATURE_RENDERER2" false)
(lib.cmakeBool "RENDERER_DYNAMIC" true)
(lib.cmakeFeature "INSTALL_DEFAULT_BASEDIR" "${placeholder "out"}/lib/etlegacy")
(lib.cmakeFeature "INSTALL_DEFAULT_BINDIR" "${placeholder "out"}/bin")
];
nativeInstallCheckInputs = [ versionCheckHook ];
doInstallCheck = true;
meta = {
description = "ET: Legacy is an open source project based on the code of Wolfenstein: Enemy Territory which was released in 2010 under the terms of the GPLv3 license";
homepage = "https://etlegacy.com";
@ -104,5 +124,7 @@ stdenv.mkDerivation {
maintainers = with lib.maintainers; [
ashleyghooper
];
mainProgram = "etl." + binarySuffix;
platforms = lib.platforms.linux;
};
}

View file

@ -7,9 +7,20 @@
makeBinaryWrapper,
}:
let
binarySuffix =
if stdenv.hostPlatform.isx86_64 then
"x86_64"
else if stdenv.hostPlatform.isAarch64 then
"aarch64"
else if stdenv.hostPlatform.isi686 then
"386"
else
throw "Unsupported architecture: ${stdenv.hostPlatform.system}";
in
symlinkJoin {
pname = "etlegacy";
version = "2.83.2";
version = "2.84.0";
paths = [
etlegacy-assets
@ -39,7 +50,7 @@ symlinkJoin {
for the popular online FPS game Wolfenstein: Enemy Territory - whose
gameplay is still considered unmatched by many, despite its great age.
'';
mainProgram = "etl." + (if stdenv.hostPlatform.isi686 then "i386" else "x86_64");
mainProgram = "etl." + binarySuffix;
maintainers = with lib.maintainers; [
ashleyghooper
];

View file

@ -22,13 +22,13 @@ lib.checkListOfEnum "${pname}: colorVariants" colorVariantList colorVariants
stdenvNoCC.mkDerivation
{
inherit pname;
version = "0-unstable-2026-05-15";
version = "0-unstable-2026-05-30";
src = fetchFromGitLab {
owner = "aiyahm";
owner = "FreshDoctor";
repo = "FairyWren-Icons";
rev = "d4a7d6d0a363e9a640a97e54318e64a52c7fcc28";
hash = "sha256-08w8DhTpQeJzqgcBjaH5ELkahgrYrYjulCVR8zd5n9Q=";
rev = "1c5df6752220e7dd1dcf6f08974234785cd0edb6";
hash = "sha256-CD5m/juhC40Hg2rh1n5WfbukRW3TueXXQb4oYUHHVs4=";
};
propagatedBuildInputs = [
@ -51,11 +51,13 @@ lib.checkListOfEnum "${pname}: colorVariants" colorVariantList colorVariants
dontFixup = true;
passthru.updateScript = unstableGitUpdater { };
passthru.updateScript = unstableGitUpdater {
hardcodeZeroVersion = true;
};
meta = {
description = "FairyWren Icon Set";
homepage = "https://gitlab.com/aiyahm/FairyWren-Icons";
homepage = "https://gitlab.com/FreshDoctor/FairyWren-Icons";
maintainers = with lib.maintainers; [ iamanaws ];
platforms = lib.platforms.all;
license = lib.licenses.gpl3Plus;

View file

@ -3,29 +3,30 @@
stdenv,
buildNpmPackage,
fetchFromGitHub,
electron_40,
electron_41,
dart-sass,
mpv-unwrapped,
fetchPnpmDeps,
pnpmConfigHook,
pnpm_10_29_2,
darwin,
actool,
copyDesktopItems,
makeDesktopItem,
nix-update-script,
}:
let
pname = "feishin";
version = "1.11.0";
version = "1.13.0";
src = fetchFromGitHub {
owner = "jeffvli";
repo = "feishin";
tag = "v${version}";
hash = "sha256-TSjgjNHhPSZ4k7zZTH5e3FCkl6d7B/2w2WCt0S5OW0g=";
hash = "sha256-v6dWzEB1+IK4bHmDo8Rr5e0Xi3OWKcm+UPBmBiSfdZ0=";
};
electron = electron_40;
electron = electron_41;
in
buildNpmPackage {
inherit pname version;
@ -43,7 +44,7 @@ buildNpmPackage {
;
pnpm = pnpm_10_29_2;
fetcherVersion = 3;
hash = "sha256-2fLqqCbbCIPoW/wGzsZOpZd5tnvyrLYlrVhbFWixlDM=";
hash = "sha256-zNOGJ24G0xcgsGK4DmbBm7d1PHTp7IJS+RTALGRtfDg=";
};
env.ELECTRON_SKIP_BINARY_DOWNLOAD = "1";
@ -52,17 +53,15 @@ buildNpmPackage {
pnpm_10_29_2
]
++ lib.optionals (stdenv.hostPlatform.isLinux) [ copyDesktopItems ]
++ lib.optionals stdenv.hostPlatform.isDarwin [ darwin.autoSignDarwinBinariesHook ];
++ lib.optionals stdenv.hostPlatform.isDarwin [
darwin.autoSignDarwinBinariesHook
actool
];
postPatch = ''
# release/app dependencies are installed on preConfigure
substituteInPlace package.json \
--replace-fail '"postinstall": "electron-builder install-app-deps",' ""
''
+ lib.optionalString stdenv.hostPlatform.isLinux ''
# https://github.com/electron/electron/issues/31121
substituteInPlace src/main/index.ts \
--replace-fail "process.resourcesPath" "'$out/share/feishin/resources'"
'';
preBuild = ''

View file

@ -8,16 +8,16 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "framework-tool";
version = "0.6.3";
version = "0.6.4";
src = fetchFromGitHub {
owner = "FrameworkComputer";
repo = "framework-system";
tag = "v${finalAttrs.version}";
hash = "sha256-EoaMVbnmidXoCRMbqn5LIZuxXE9xl9Dtb16U9FKmH+4=";
hash = "sha256-EpStj1uMh0IkzXA5eI/xOndzDCxyJITqKGaSHqnJEFs=";
};
cargoHash = "sha256-PshbC+LIBm84/86w9lP0OmCVztsT5gB+86rUorCDsQM=";
cargoHash = "sha256-SVipNctgdU5oJiKbDnUmpv99Hc0W6nFtnI/DB90ndCo=";
nativeBuildInputs = [ pkg-config ];
buildInputs = [ udev ];

View file

@ -12,16 +12,16 @@
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "fresh";
version = "0.3.8";
version = "0.3.10";
src = fetchFromGitHub {
owner = "sinelaw";
repo = "fresh";
tag = "v${finalAttrs.version}";
hash = "sha256-HMKvqJ69EvlAK2Tc4yeY0mfJgUwFIGyhUWdqqOgu6Ec=";
hash = "sha256-5gMrQOhQVyIJuv5QAPOyiTFcY4RntmQV0Mtue1x8aAs=";
};
cargoHash = "sha256-n48tWnb9NuPC9VET/LfcJD5ub8IZ62PvvqcQ5d5Pkg8=";
cargoHash = "sha256-5QHNIt7PoB2IhQU6IyL5Ljax0/CzVMHvMcNDfM9st7U=";
__structuredAttrs = true;

View file

@ -13,13 +13,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "fulcrum";
version = "2.1.0";
version = "2.1.1";
src = fetchFromGitHub {
owner = "cculianu";
repo = "Fulcrum";
tag = "v${finalAttrs.version}";
hash = "sha256-5DsZcnmqO8ZuD3+H/1lkfBrKeGq7efAjji0JDXTPQ1M=";
hash = "sha256-ygUzDhqUDeoNgNNXjuIfcy1b5B1KxDGBV4dMdn83GR8=";
};
nativeBuildInputs = [

View file

@ -8,13 +8,13 @@
buildDotnetModule rec {
pname = "garnet";
version = "1.1.9";
version = "1.1.10";
src = fetchFromGitHub {
owner = "microsoft";
repo = "garnet";
tag = "v${version}";
hash = "sha256-8oZrUb3ed/M3juchn6OSRQAX6tfplekwmLLjHURtms8=";
hash = "sha256-tvfqs9ZSIQySJu7euf56ESzqw7A2973PSMr/rxNHxR8=";
};
projectFile = "main/GarnetServer/GarnetServer.csproj";

View file

@ -42,159 +42,159 @@ in
{
app-schema = mkGeoserverExtension {
name = "app-schema";
version = "2.28.3"; # app-schema
hash = "sha256-fxMFV5/lvhCcgRfL+2Qf0ePo6EC/bLM1IeL5qNoKVrQ="; # app-schema
version = "2.28.4"; # app-schema
hash = "sha256-qgzJP8m3CnkZHlM3Wmix9wl8M0G9m8DTJZ8HcBJx/aw="; # app-schema
};
authkey = mkGeoserverExtension {
name = "authkey";
version = "2.28.3"; # authkey
hash = "sha256-pAB8vPn+cZnKQKGLHtXrkLbieTs7wMi6ArGL8fxo31s="; # authkey
version = "2.28.4"; # authkey
hash = "sha256-UDRVVPGqhCwen/irMz8YUbv01PQ4oRFJgELtzvJ6WGk="; # authkey
};
cas = mkGeoserverExtension {
name = "cas";
version = "2.28.3"; # cas
hash = "sha256-BEDE9dZ4sZBr15Wvbpio9JOIEai53cJLe4QhvYbQwKw="; # cas
version = "2.28.4"; # cas
hash = "sha256-g0BqPXtRoIYfLps6cFCg/+DBYOZpQX/bolJcwGuCTaI="; # cas
};
charts = mkGeoserverExtension {
name = "charts";
version = "2.28.3"; # charts
hash = "sha256-cFbMdIIQwZudSgDBW8YN81GduG1bSQFLldjtubaclqA="; # charts
version = "2.28.4"; # charts
hash = "sha256-vhFVGX64M+5NfHYBNj1yMadZ2bKLwemURjwd6jp2HPM="; # charts
};
control-flow = mkGeoserverExtension {
name = "control-flow";
version = "2.28.3"; # control-flow
hash = "sha256-HrS+/QntfSdMHLzA1+wJh7JWA2THLSOBDdIdeG7I4u4="; # control-flow
version = "2.28.4"; # control-flow
hash = "sha256-FJj8g145s1qOoym+5SQymcSzH8bTzthUg5dWIR7ZGPU="; # control-flow
};
css = mkGeoserverExtension {
name = "css";
version = "2.28.3"; # css
hash = "sha256-7gYg4v8ekThV3k21hrJlu6jULJxdyUFZZh0ToaZSyeI="; # css
version = "2.28.4"; # css
hash = "sha256-9BYc4j1fk5hTT4jKdHReaoSg7bWjxmyUrOdwMospiiM="; # css
};
csw = mkGeoserverExtension {
name = "csw";
version = "2.28.3"; # csw
hash = "sha256-C/Th+KjiGWCfzMvVpby22BxXnkEtAYg1asYjO/Ge0fA="; # csw
version = "2.28.4"; # csw
hash = "sha256-/+IQO/X26cMz5+aOtMDJ23ovjnmOOATSgRNs40bzM0I="; # csw
};
csw-iso = mkGeoserverExtension {
name = "csw-iso";
version = "2.28.3"; # csw-iso
hash = "sha256-ctZgjCQDLZKHAmd2Og+Vvu7iYxCU+08pTniImDDjmz0="; # csw-iso
version = "2.28.4"; # csw-iso
hash = "sha256-kmUH2g18/PXBTl2cUzs2q1fzSn6BllikvatRgNlxRtc="; # csw-iso
};
db2 = mkGeoserverExtension {
name = "db2";
version = "2.28.3"; # db2
hash = "sha256-yVghGPW07USGx4ZYs6F2P5VuGbNaUo3wzOrx1BOvFkE="; # db2
version = "2.28.4"; # db2
hash = "sha256-4xeE1Y6PXqlt7LCz5s86+Uj6JMV2HqrmJpIAR6pnQhk="; # db2
};
# Needs wps extension.
dxf = mkGeoserverExtension {
name = "dxf";
version = "2.28.3"; # dxf
hash = "sha256-o40HBSTzAmaUdCHslpBnK8ALHKh36V8PqmGzqdAtl7w="; # dxf
version = "2.28.4"; # dxf
hash = "sha256-lfvvlennN7Ig0sV2ujAi3KpLmgqFSf1Y5m6pcpSc2wY="; # dxf
};
excel = mkGeoserverExtension {
name = "excel";
version = "2.28.3"; # excel
hash = "sha256-7kOEb3ayiUZs0PV8qSiz+FuniWI1JEfod7wcf4e+1LM="; # excel
version = "2.28.4"; # excel
hash = "sha256-VSh9rNAnJzbfEYKELY1BRcoHRtifk3J0D08ZnF5+kTc="; # excel
};
feature-pregeneralized = mkGeoserverExtension {
name = "feature-pregeneralized";
version = "2.28.3"; # feature-pregeneralized
hash = "sha256-/6qvxhpg5HG+FlTsUclxxEfAYdhqV/cefDAta1Iw3sg="; # feature-pregeneralized
version = "2.28.4"; # feature-pregeneralized
hash = "sha256-ZY7Qr3faGZOFg7zX4JFJ+FdSIhXQ1ROulcPRmGRGyAI="; # feature-pregeneralized
};
# Note: The extension name ("gdal") clashes with pkgs.gdal.
gdal = mkGeoserverExtension {
name = "gdal";
version = "2.28.3"; # gdal
version = "2.28.4"; # gdal
buildInputs = [ pkgs.gdal ];
hash = "sha256-0IFF+x7T6qupakRx0Y+nwlVAC4byiDDCqovdPewdJWY="; # gdal
hash = "sha256-7GT6XfpDjCX+TYprg4Y59UshSYa0tACIFQrtPW8vrFM="; # gdal
};
# Throws "java.io.FileNotFoundException: URL [jar:file:/nix/store/.../WEB-INF/lib/gs-geofence-server-2.24.1.jar!/geofence-default-override.properties] cannot be resolved to absolute file path because it does not reside in the file system: jar:file:/nix/store/.../WEB-INF/lib/gs-geofence-server-2.24.1.jar!/geofence-default-override.properties" but seems to work out of the box.
#geofence = mkGeoserverExtension {
# name = "geofence";
# version = "2.28.3"; # geofence
# hash = "sha256-IQ+s6Q/nEnUAKfCdWQNhVNIEOWyi2VhDxMxWg4lfWKI="; # geofence
# version = "2.28.4"; # geofence
# hash = "sha256-620nYoPkM1GitY221F/uN9Ts8D9h7DBvXf9DAxoUGBY="; # geofence
#};
#geofence-server-h2 = mkGeoserverExtension {
# name = "geofence-server-h2";
# version = "2.28.3"; # geofence-server
# hash = "sha256-WqzBPh0YNMcLbrKdNcYNZSQrVYPYczC/+uIw4I58A14="; # geofence-server-h2
# version = "2.28.4"; # geofence-server
# hash = "sha256-KL4VTHZ3/kfCBkvAKgCmXs+TVa2Z4Zb+UphRyVnZI2I="; # geofence-server-h2
#};
#geofence-server-postgres = mkGeoserverExtension {
# name = "geofence-server-postgres";
# version = "2.28.3"; # geofence-server
# hash = "sha256-ox7EjhVcetJInONerxtLK4MQt4BPIZ9EtPmmK6cnKJY="; # geofence-server-postgres
# version = "2.28.4"; # geofence-server
# hash = "sha256-7EVrhV6vbglGd15K81Ypygu+1tEYtZOy9wsERBu4sNM="; # geofence-server-postgres
#};
#geofence-wps = mkGeoserverExtension {
# name = "geofence-wps";
# version = "2.28.3"; # geofence-wps
# hash = "sha256-txQwmE8mkCttfd57JFYbVuwIpfY+FFzb/hMcGEiEeW4="; # geofence-wps
# version = "2.28.4"; # geofence-wps
# hash = "sha256-7yVXODL1Fx0KM4BSeHCa4Fw/+xE7j9LJtdpVLeWPOI8="; # geofence-wps
#};
geopkg-output = mkGeoserverExtension {
name = "geopkg-output";
version = "2.28.3"; # geopkg-output
hash = "sha256-JlMDDHvieYPTdKzYJxALzVrVZ+Jce447lq99hRQwP6Y="; # geopkg-output
version = "2.28.4"; # geopkg-output
hash = "sha256-2CbA5opqZwwKBcM87nbY9e/i67vs70SShW08Fpryy8o="; # geopkg-output
};
grib = mkGeoserverExtension {
name = "grib";
version = "2.28.3"; # grib
hash = "sha256-ydDlRbTxxieQkeSHAR4gf1+KrjvjGBQhAEyTc0jTN9E="; # grib
version = "2.28.4"; # grib
hash = "sha256-apCBtt1SOB8rimpUDny6KOjxzwMjCk+E3vdpv336iJE="; # grib
buildInputs = [ netcdf ];
};
gwc-s3 = mkGeoserverExtension {
name = "gwc-s3";
version = "2.28.3"; # gwc-s3
hash = "sha256-OsfS7b4w6PsJ6s20wn09FFJzjMv32iZldF9T8qaHH8A="; # gwc-s3
version = "2.28.4"; # gwc-s3
hash = "sha256-Jy3/EFNJym61st2LAysgRKsS2KBTFhkFSZc6WouO3LA="; # gwc-s3
};
h2 = mkGeoserverExtension {
name = "h2";
version = "2.28.3"; # h2
hash = "sha256-3B0WJrYG7UaHHt2p98zd5mWPJWKz3J/R7iwH4b2PLe4="; # h2
version = "2.28.4"; # h2
hash = "sha256-tqchE8kkyo35rL9ESs/TD8n9CWAaWiWqe3wxKXt3Ut4="; # h2
};
iau = mkGeoserverExtension {
name = "iau";
version = "2.28.3"; # iau
hash = "sha256-oIgED4jwp5QENorSdWSvj3Pvy92dSF/Pjm6YwdZrbw8="; # iau
version = "2.28.4"; # iau
hash = "sha256-yorqFxLh9PWoC0j4WXwXs5uK1sy2gV9S1vS36ebKBIc="; # iau
};
importer = mkGeoserverExtension {
name = "importer";
version = "2.28.3"; # importer
hash = "sha256-6ZCmlzu5/sN76ZgVDtU02L9D/aNL+kawcf/EKakdlgU="; # importer
version = "2.28.4"; # importer
hash = "sha256-XGCVD/CUZjiPCzLyHec7na+fNARkBvnfR1+GbCdogXQ="; # importer
};
inspire = mkGeoserverExtension {
name = "inspire";
version = "2.28.3"; # inspire
hash = "sha256-O/WPgBfyyI/sHZK9xGMjlYf4qyTT7Sx3psYWbjV3z1E="; # inspire
version = "2.28.4"; # inspire
hash = "sha256-/9juMAOOCycPeJcuB9a3DMIC8xzN1WjrzEi951utodg="; # inspire
};
# Needs Kakadu plugin from
# https://github.com/geosolutions-it/imageio-ext
#jp2k = mkGeoserverExtension {
# name = "jp2k";
# version = "2.28.3"; # jp2k
# hash = "sha256-rLwuY5aEIKrjgyAXexFEpsRt+pNZLxI/YFo0yiBCblc="; # jp2k
# version = "2.28.4"; # jp2k
# hash = "sha256-IfGThXCIEkmoTlA3EdIWekFDGBw3K+yqO49RZFDfAeQ="; # jp2k
#};
# Throws "java.lang.UnsatisfiedLinkError: 'void org.libjpegturbo.turbojpeg.TJDecompressor.init()'"
@ -202,174 +202,174 @@ in
# NOTE: When re-enabling this, RE-ENABLE THE CORRESPONDING TEST, TOO! (See tests/geoserver.nix)
#libjpeg-turbo = mkGeoserverExtension {
# name = "libjpeg-turbo";
# version = "2.28.3"; # libjpeg-turbo
# hash = "sha256-cftD9VyJCxkYQBKuyBtnEeBAchYOAJGnl677MQAAdc4="; # libjpeg-turbo
# version = "2.28.4"; # libjpeg-turbo
# hash = "sha256-05aP0WypGM0dz/OXM/1paYgmmwGGcU7j34kYdJIlL0U="; # libjpeg-turbo
# buildInputs = [ libjpeg.out ];
#};
mapml = mkGeoserverExtension {
name = "mapml";
version = "2.28.3"; # mapml
hash = "sha256-r7GJbqCAnsxJV8zyHQG8EP3sbiXcfpQHNgMmj7viJac="; # mapml
version = "2.28.4"; # mapml
hash = "sha256-fZVPUqUlNx2xvh9qEJgIX+rfvT2ZeLjb8SgTEdYC4FI="; # mapml
};
mbstyle = mkGeoserverExtension {
name = "mbstyle";
version = "2.28.3"; # mbstyle
hash = "sha256-RtxnQoWUSHOfizRS1eYR+o+n9HXpCt+bG1UOxFyRy9I="; # mbstyle
version = "2.28.4"; # mbstyle
hash = "sha256-OHEJ5u1r4KcikluRjah1S137IjbDDtGtVQQbqczjoco="; # mbstyle
};
metadata = mkGeoserverExtension {
name = "metadata";
version = "2.28.3"; # metadata
hash = "sha256-lFnZhs3FdGlQ4J37erOjLVB5QuRo6E0IUvAgONqvP4U="; # metadata
version = "2.28.4"; # metadata
hash = "sha256-pL1Xti6+TUPN0ujpJjGRt26q3ItEKQa37loNpmQvwVs="; # metadata
};
mongodb = mkGeoserverExtension {
name = "mongodb";
version = "2.28.3"; # mongodb
hash = "sha256-M9l7jdp7oUfo0gMVfMcCVHizi0//YfBqh17tsiDMKno="; # mongodb
version = "2.28.4"; # mongodb
hash = "sha256-XwQAKp6XZH3W4qsNjhmA73hf6SjINz9/SOPwb2wGdcU="; # mongodb
};
monitor = mkGeoserverExtension {
name = "monitor";
version = "2.28.3"; # monitor
hash = "sha256-HPdoKySCLT3zVdOlNIuJlEu99mJ9J/VjTFEfT63UdUs="; # monitor
version = "2.28.4"; # monitor
hash = "sha256-JhmsDRoHGbTBCKxKqlxdpmn2WGC/aQnyeuWLs1u0xFE="; # monitor
};
mysql = mkGeoserverExtension {
name = "mysql";
version = "2.28.3"; # mysql
hash = "sha256-w/owOCOXJnw7EoJdPO8NGEw75MEfNMWSCySh0+2x84E="; # mysql
version = "2.28.4"; # mysql
hash = "sha256-f8xdJ2WVYQV+HG5U2J/1vKBAFo5srFWSPXVAyRUt8kE="; # mysql
};
netcdf = mkGeoserverExtension {
name = "netcdf";
version = "2.28.3"; # netcdf
hash = "sha256-2O7s7SUjAm/V+O2LrdqOLou12WkjxIg0zuIgRMFUp9M="; # netcdf
version = "2.28.4"; # netcdf
hash = "sha256-wU5MkTYgxxOgBBybbbeHtT2Rj1CoTFBTjGzyLPlPT7A="; # netcdf
buildInputs = [ netcdf ];
};
netcdf-out = mkGeoserverExtension {
name = "netcdf-out";
version = "2.28.3"; # netcdf-out
hash = "sha256-KgqbHHxBlr0EIPJ1MStCPzV/844C3CUUBuBMe2ljbuA="; # netcdf-out
version = "2.28.4"; # netcdf-out
hash = "sha256-0RIRTDtTUEj9OUDpAD1LbCY1iGCbXAKbgmH7ZkNHWhM="; # netcdf-out
buildInputs = [ netcdf ];
};
ogr-wfs = mkGeoserverExtension {
name = "ogr-wfs";
version = "2.28.3"; # ogr-wfs
version = "2.28.4"; # ogr-wfs
buildInputs = [ pkgs.gdal ];
hash = "sha256-+l9U1YoiKn1nxOUP5tRT/9WPRham5Lrk12xt/9rrZuM="; # ogr-wfs
hash = "sha256-UAsTKEMVlYTrCpbs8++Kxdn0w6ejzMiPrT7S2NlMNxc="; # ogr-wfs
};
# Needs ogr-wfs extension.
ogr-wps = mkGeoserverExtension {
name = "ogr-wps";
version = "2.28.3"; # ogr-wps
version = "2.28.4"; # ogr-wps
# buildInputs = [ pkgs.gdal ];
hash = "sha256-PBqObn/gle6A8RVPmKOPhi2YNTqR2MmhbqZT3X7TygI="; # ogr-wps
hash = "sha256-sjV0YwR21GQYt4YuDIE2H+5UQ2qRmP7tWVyOXNuLkSM="; # ogr-wps
};
oracle = mkGeoserverExtension {
name = "oracle";
version = "2.28.3"; # oracle
hash = "sha256-fHbgYIz7Kb7lTgDVlKPkMwldXIJn/mqG3oHDUk76rTc="; # oracle
version = "2.28.4"; # oracle
hash = "sha256-xiIPgpWCDycE6rTW49QnB/7rHbns1GJhWCdIfMEBuXE="; # oracle
};
params-extractor = mkGeoserverExtension {
name = "params-extractor";
version = "2.28.3"; # params-extractor
hash = "sha256-nseCXkh4V13FfbWtva79ydxg7sFMTeGrK3HygaVNPR8="; # params-extractor
version = "2.28.4"; # params-extractor
hash = "sha256-/AOjfsA58btiOBv4zvF4jdLt2lE5GPDKUKzNZyX8fI0="; # params-extractor
};
printing = mkGeoserverExtension {
name = "printing";
version = "2.28.3"; # printing
hash = "sha256-zGqDnmrO82cgCQgaorHa+O/Z5L42um/7CttZ2wC7Az4="; # printing
version = "2.28.4"; # printing
hash = "sha256-smytiUVPKq31YyWE/xLwiGPLQ6DxScj2gHjMbgKCjMc="; # printing
};
pyramid = mkGeoserverExtension {
name = "pyramid";
version = "2.28.3"; # pyramid
hash = "sha256-BCvGhp9WmdqutPu09kIExJzuFGdOWQ8Eyin95iIhdw8="; # pyramid
version = "2.28.4"; # pyramid
hash = "sha256-xfOzBm5eTbzfRRiMQ63i29GW91IxWKIotrSUa6BgD5M="; # pyramid
};
querylayer = mkGeoserverExtension {
name = "querylayer";
version = "2.28.3"; # querylayer
hash = "sha256-oA8F3J9i5sQTmUGLysddXF+GU6hR1yOHbNqiUAyPDTE="; # querylayer
version = "2.28.4"; # querylayer
hash = "sha256-WyLyUoLfv8JIKBqjphcXgWBbtkJEB3ig4cyY158lRQk="; # querylayer
};
sldservice = mkGeoserverExtension {
name = "sldservice";
version = "2.28.3"; # sldservice
hash = "sha256-AehHS+ELScFdeZi5kyqqJ9nldKla06r8Yq1PB43cYA0="; # sldservice
version = "2.28.4"; # sldservice
hash = "sha256-DsN9tKZshcsz6/IsPA0l757YtmsakBi/NbgEUwnfafs="; # sldservice
};
sqlserver = mkGeoserverExtension {
name = "sqlserver";
version = "2.28.3"; # sqlserver
hash = "sha256-ZS5ThHv/TEiH4BWcox68GKbqueFq7qhWDtDMgcUBINo="; # sqlserver
version = "2.28.4"; # sqlserver
hash = "sha256-MBMU4pJKgS3qra9pli8SAnOtIiDU2zD0sXJaKXlr0+A="; # sqlserver
};
vectortiles = mkGeoserverExtension {
name = "vectortiles";
version = "2.28.3"; # vectortiles
hash = "sha256-vvZSFfKgAFFtzLKv+RVh99frUyG2RkWrCwfR7scF+xw="; # vectortiles
version = "2.28.4"; # vectortiles
hash = "sha256-6E3lwH573lTSMYtQ00b3fVtJYSsIFETwT7JAZHI6ubQ="; # vectortiles
};
wcs2_0-eo = mkGeoserverExtension {
name = "wcs2_0-eo";
version = "2.28.3"; # wcs2_0-eo
hash = "sha256-x876KCXUbr1kGkAoHtDhoNqFGFVWw3te0tBt+03+ywU="; # wcs2_0-eo
version = "2.28.4"; # wcs2_0-eo
hash = "sha256-w30lrzli6++7NDu59QsRFxyIQBMSV7M5BeTqGSJmw18="; # wcs2_0-eo
};
web-resource = mkGeoserverExtension {
name = "web-resource";
version = "2.28.3"; # web-resource
hash = "sha256-gjeqIP0qGCjogDgxug3k+1daVCxKQeHAsEJJWmPbe/8="; # web-resource
version = "2.28.4"; # web-resource
hash = "sha256-GH0foPjbBcKOXahqgPv+02Jex3ZE5XKmeWNDew0DKF4="; # web-resource
};
wmts-multi-dimensional = mkGeoserverExtension {
name = "wmts-multi-dimensional";
version = "2.28.3"; # wmts-multi-dimensional
hash = "sha256-LbdMCDHjCiWpEUxL43RZY19a5DfJ9RKxmcq213NbAY8="; # wmts-multi-dimensional
version = "2.28.4"; # wmts-multi-dimensional
hash = "sha256-gi8qwwKG9K1l4AJ05vDGykxCmd42oSFSZtwhDwDI8m0="; # wmts-multi-dimensional
};
wps = mkGeoserverExtension {
name = "wps";
version = "2.28.3"; # wps
hash = "sha256-QgDpKbRGwGnAVrx/PW87N22D2yhrmzfg6qNmevXWI44="; # wps
version = "2.28.4"; # wps
hash = "sha256-2qh7fDeJAswTb+P60zNQeH1nc0886Dfh7pWpUWCaEKc="; # wps
};
# Needs hazelcast (https://github.com/hazelcast/hazelcast (?)) which is not
# available in nixpgs as of 2024/01.
#wps-cluster-hazelcast = mkGeoserverExtension {
# name = "wps-cluster-hazelcast";
# version = "2.28.3"; # wps-cluster-hazelcast
# hash = "sha256-beSIkj3btLokQsS800vD0q2hiagLnnX+VTH8DMQy8NI="; # wps-cluster-hazelcast
# version = "2.28.4"; # wps-cluster-hazelcast
# hash = "sha256-r9BpjvFL00lgTrbhIxY7c16sGu6ujKJ6D4oDz61KekA="; # wps-cluster-hazelcast
#};
wps-download = mkGeoserverExtension {
name = "wps-download";
version = "2.28.3"; # wps-download
hash = "sha256-2dIjMPA8Y3sPzJLtPxX0HFuq+dYxmz65dJzxugkSyS0="; # wps-download
version = "2.28.4"; # wps-download
hash = "sha256-MAL71aYRKOFSKnhj+3dxZhCDQL/6GAeAtB11Zs6C5tI="; # wps-download
};
# Needs Postrgres configuration or similar.
# See https://docs.geoserver.org/main/en/user/extensions/wps-jdbc/index.html
wps-jdbc = mkGeoserverExtension {
name = "wps-jdbc";
version = "2.28.3"; # wps-jdbc
hash = "sha256-yL5xw1g2FcWCSgfw28gbYmrvIiHD0coE9AAH601Bqbg="; # wps-jdbc
version = "2.28.4"; # wps-jdbc
hash = "sha256-QBydO6EKLe22W+3pCP4p9TqMyp1KeKReyeidL5yxndo="; # wps-jdbc
};
ysld = mkGeoserverExtension {
name = "ysld";
version = "2.28.3"; # ysld
hash = "sha256-oe/eT/IdqnlrQ58HBpuQA6ZRw8oCPAWPQ2Tles71V8M="; # ysld
version = "2.28.4"; # ysld
hash = "sha256-Qg+wzMzRebqqOAK4Y7hsfcTyKcz/E5Fw/fHLcUr3KwY="; # ysld
};
}

View file

@ -10,11 +10,11 @@
}:
stdenv.mkDerivation (finalAttrs: {
pname = "geoserver";
version = "2.28.3";
version = "2.28.4";
src = fetchurl {
url = "mirror://sourceforge/geoserver/GeoServer/${finalAttrs.version}/geoserver-${finalAttrs.version}-bin.zip";
hash = "sha256-jXvuIQvpOYGnRTcdHwa+p8lbMaaqiFDMLRRzpxs6wLg=";
hash = "sha256-bQECI2MEk8OcALk21bbv/V/yNbOrHKlhcpoVy37U1i0=";
};
sourceRoot = ".";

View file

@ -35,13 +35,13 @@ in
stdenv.mkDerivation (finalAttrs: {
pname = "github-desktop";
version = "3.5.11";
version = "3.5.12";
src = fetchFromGitHub {
owner = "desktop";
repo = "desktop";
tag = "release-${finalAttrs.version}";
hash = "sha256-nW+yq330lQRfo1RtxUtbkQ336WeE8BjC9jYAIibfdXo=";
hash = "sha256-/ehwjv1ipvxhmZYye1avkpz8uyO8YEWl0iM8U8n6pwE=";
fetchSubmodules = true;
postCheckout = "git -C $out rev-parse HEAD > $out/.gitrev";
};
@ -100,9 +100,15 @@ stdenv.mkDerivation (finalAttrs: {
yarn --cwd app/node_modules/desktop-notifications run install
# use git from nixpkgs instead of an automatically downloaded one by dugite
makeWrapper ${lib.getExe git} app/node_modules/dugite/git/bin/git \
gitRoot=app/node_modules/dugite/git
makeWrapper ${lib.getExe git} "$gitRoot/bin/git" \
--prefix PATH : ${lib.makeBinPath [ git-lfs ]}
mkdir -p "$gitRoot/libexec/git-core"
for script in ${git}/libexec/git-core/*; do
ln -s "$script" "$gitRoot/libexec/git-core/$(basename "$script")"
done
# exception: printenvz needs `node-gyp` configure first for some reason
pushd node_modules/printenvz

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