Merge 1edca39caf into haskell-updates

This commit is contained in:
nixpkgs-ci[bot]
2026-01-06 00:23:59 +00:00
committed by GitHub
249 changed files with 2263 additions and 1385 deletions
+20 -23
View File
@@ -92,14 +92,14 @@ Generate a script that can be used to run an interactive session in the given im
### Examples {#vm-tools-makeImageTestScript-examples}
Create a script for running a Fedora 27 VM:
Create a script for running a Fedora 43 VM:
```nix
{ pkgs }: with pkgs; with vmTools; makeImageTestScript diskImages.fedora27x86_64
{ pkgs }: pkgs.vmTools.makeImageTestScript pkgs.vmTools.diskImages.fedora43x86_64
```
Create a script for running an Ubuntu 20.04 VM:
Create a script for running an Ubuntu 24.04 VM:
```nix
{ pkgs }: with pkgs; with vmTools; makeImageTestScript diskImages.ubuntu2004x86_64
{ pkgs }: pkgs.vmTools.makeImageTestScript pkgs.vmTools.diskImages.ubuntu2404x86_64
```
## `vmTools.diskImageFuns` {#vm-tools-diskImageFuns}
@@ -109,30 +109,29 @@ A set of functions that build a predefined set of minimal Linux distributions im
### Images {#vm-tools-diskImageFuns-images}
* Fedora
* `fedora26x86_64`
* `fedora27x86_64`
* CentOS
* `centos6i386`
* `centos6x86_64`
* `centos7x86_64`
* `fedora42x86_64`
* `fedora43x86_64`
* Rocky Linux
* `rocky9x86_64`
* `rocky10x86_64`
* AlmaLinux
* `alma9x86_64`
* `alma10x86_64`
* Oracle Linux
* `oracle9x86_64`
* Amazon Linux
* `amazon2023x86_64`
* Ubuntu
* `ubuntu1404i386`
* `ubuntu1404x86_64`
* `ubuntu1604i386`
* `ubuntu1604x86_64`
* `ubuntu1804i386`
* `ubuntu1804x86_64`
* `ubuntu2004i386`
* `ubuntu2004x86_64`
* `ubuntu2204i386`
* `ubuntu2204x86_64`
* `ubuntu2404x86_64`
* Debian
* `debian10i386`
* `debian10x86_64`
* `debian11i386`
* `debian11x86_64`
* `debian12i386`
* `debian12x86_64`
* `debian13i386`
* `debian13x86_64`
### Attributes {#vm-tools-diskImageFuns-attributes}
@@ -144,9 +143,7 @@ A set of functions that build a predefined set of minimal Linux distributions im
8GiB image containing Firefox in addition to the default packages:
```nix
{ pkgs }:
with pkgs;
with vmTools;
diskImageFuns.ubuntu2004x86_64 {
pkgs.vmTools.diskImageFuns.ubuntu2404x86_64 {
extraPackages = [ "firefox" ];
size = 8192;
}
+5 -7
View File
@@ -9870,13 +9870,6 @@
githubId = 6179496;
name = "Grayson Head";
};
grburst = {
email = "GRBurst@protonmail.com";
github = "GRBurst";
githubId = 4647221;
name = "GRBurst";
keys = [ { fingerprint = "7FC7 98AB 390E 1646 ED4D 8F1F 797F 6238 68CD 00C2"; } ];
};
greaka = {
email = "git@greaka.de";
github = "greaka";
@@ -22312,6 +22305,11 @@
github = "RhydianJenkins";
githubId = 9198690;
};
Rhys-T = {
name = "Rhys T.";
github = "Rhys-T";
githubId = 108157737;
};
rhysmdnz = {
email = "rhys@memes.nz";
matrix = "@rhys:memes.nz";
@@ -67,6 +67,8 @@ of pulling the upstream container image from Docker Hub. If you want the old beh
- The Bash implementation of the `nixos-rebuild` program is removed. All switchable systems now use the Python rewrite. Any prior usage of `system.rebuild.enableNg` must now be removed. If you have any outstanding issues with the new implementation, please open an issue on GitHub.
- `services.desktopManager.gnome` no longer installs the Geary e-mail client since it is not part of the GNOME [core applications](https://apps.gnome.org/) list. Geary's position in the default favorite apps section has been replaced by GNOME Text Editor. To keep it installed, add `programs.geary.enable = true;` to your configuration.
- The `networking.wireless` module has been security hardened: the `wpa_supplicant` daemon now runs under an unprivileged user with restricted access to the system.
As part of these changes, `/etc/wpa_supplicant.conf` has been deprecated: the NixOS-generated configuration file is now linked to `/etc/wpa_supplicant/nixos.conf` and `/etc/wpa_supplicant/imperative.conf` has been added for imperatively configuring `wpa_supplicant` or when using [allowAuxiliaryImperativeNetworks](#opt-networking.wireless.allowAuxiliaryImperativeNetworks).
+5 -5
View File
@@ -1,5 +1,5 @@
# QEMU-related utilities shared between various Nix expressions.
{ lib, pkgs }:
{ lib, stdenv }:
let
zeroPad =
@@ -17,19 +17,19 @@ rec {
];
qemuSerialDevice =
if with pkgs.stdenv.hostPlatform; isx86 || isLoongArch64 || isMips64 || isRiscV then
if with stdenv.hostPlatform; isx86 || isLoongArch64 || isMips64 || isRiscV then
"ttyS0"
else if (with pkgs.stdenv.hostPlatform; isAarch || isPower) then
else if (with stdenv.hostPlatform; isAarch || isPower) then
"ttyAMA0"
else
throw "Unknown QEMU serial device for system '${pkgs.stdenv.hostPlatform.system}'";
throw "Unknown QEMU serial device for system '${stdenv.hostPlatform.system}'";
qemuBinary =
qemuPkg:
let
hostStdenv = qemuPkg.stdenv;
hostSystem = hostStdenv.system;
guestSystem = pkgs.stdenv.hostPlatform.system;
guestSystem = stdenv.hostPlatform.system;
linuxHostGuestMatrix = {
x86_64-linux = "${qemuPkg}/bin/qemu-system-x86_64 -machine accel=kvm:tcg -cpu max";
+1 -1
View File
@@ -30,7 +30,7 @@ let
...
}:
let
qemu-common = import ../qemu-common.nix { inherit lib pkgs; };
qemu-common = import ../qemu-common.nix { inherit (pkgs) lib stdenv; };
# Convert legacy VLANs to named interfaces and merge with explicit interfaces.
vlansNumbered = forEach (zipLists config.virtualisation.vlans (range 1 255)) (v: {
-1
View File
@@ -160,7 +160,6 @@
./misc/wordlist.nix
./programs/_1password-gui.nix
./programs/_1password.nix
./programs/adb.nix
./programs/alvr.nix
./programs/amnezia-vpn.nix
./programs/appgate-sdp.nix
-28
View File
@@ -1,28 +0,0 @@
{
config,
lib,
pkgs,
...
}:
{
meta.maintainers = [ lib.maintainers.mic92 ];
###### interface
options = {
programs.adb = {
enable = lib.mkOption {
default = false;
type = lib.types.bool;
description = ''
Whether to configure system to use Android Debug Bridge (adb).
'';
};
};
};
###### implementation
config = lib.mkIf config.programs.adb.enable {
environment.systemPackages = [ pkgs.android-tools ];
};
}
+10 -16
View File
@@ -27,23 +27,17 @@ in
type =
with lib.types;
submodule {
options = (
lib.listToAttrs (
map (
name:
lib.nameValuePair name (
lib.mkOption {
inherit (settingsFormat) type;
default = { };
description = ''
Configuration included in `${name}.toml`.
options = lib.genAttrs files (
name:
lib.mkOption {
inherit (settingsFormat) type;
default = { };
description = ''
Configuration included in `${name}.toml`.
See <https://yazi-rs.github.io/docs/configuration/${name}/> for documentation.
'';
}
)
) files
)
See <https://yazi-rs.github.io/docs/configuration/${name}/> for documentation.
'';
}
);
};
default = { };
+7
View File
@@ -63,6 +63,13 @@ in
"networking"
"wicd"
] "The corresponding package was removed from nixpkgs.")
(mkRemovedOptionModule
[
"programs"
"adb"
]
"This option is no longer needed as systemd 258 handles uaccess rules automatically. Please add `pkgs.android-tools` to your system packages to get the adb command."
)
(mkRemovedOptionModule [
"programs"
"cardboard"
@@ -30,7 +30,7 @@ let
defaultFavoriteAppsOverride = ''
[org.gnome.shell]
favorite-apps=[ 'org.gnome.Epiphany.desktop', 'org.gnome.Geary.desktop', 'org.gnome.Calendar.desktop', 'org.gnome.Music.desktop', 'org.gnome.Nautilus.desktop' ]
favorite-apps=[ 'org.gnome.Epiphany.desktop', 'org.gnome.Calendar.desktop', 'org.gnome.Music.desktop', 'org.gnome.TextEditor.desktop', 'org.gnome.Nautilus.desktop' ]
'';
nixos-background-light = pkgs.nixos-artwork.wallpapers.simple-blue;
@@ -75,6 +75,8 @@ let
notExcluded =
pkg: mkDefault (utils.disablePackageByName pkg config.environment.gnome.excludePackages);
removeExcluded =
pkgList: utils.removePackagesByName pkgList config.environment.gnome.excludePackages;
in
{
@@ -416,9 +418,9 @@ in
services.orca.enable = notExcluded pkgs.orca;
fonts.packages = utils.removePackagesByName [
fonts.packages = removeExcluded [
pkgs.adwaita-fonts
] config.environment.gnome.excludePackages;
];
# Adapt from https://gitlab.gnome.org/GNOME/gnome-build-meta/blob/gnome-48/elements/core/meta-gnome-core-shell.bst
environment.systemPackages =
@@ -442,13 +444,12 @@ in
pkgs.xdg-user-dirs-gtk # Used to create the default bookmarks
];
in
mandatoryPackages
++ utils.removePackagesByName optionalPackages config.environment.gnome.excludePackages;
mandatoryPackages ++ removeExcluded optionalPackages;
})
# Adapt from https://gitlab.gnome.org/GNOME/gnome-build-meta/-/blob/gnome-48/elements/core/meta-gnome-core-apps.bst
(lib.mkIf serviceCfg.core-apps.enable {
environment.systemPackages = utils.removePackagesByName [
environment.systemPackages = removeExcluded [
pkgs.baobab
pkgs.decibels
pkgs.epiphany
@@ -473,13 +474,12 @@ in
pkgs.simple-scan
pkgs.snapshot
pkgs.yelp
] config.environment.gnome.excludePackages;
];
# Enable default program modules
# Since some of these have a corresponding package, we only
# enable that program module if the package hasn't been excluded
# through `environment.gnome.excludePackages`
programs.geary.enable = notExcluded pkgs.geary;
programs.gnome-disks.enable = notExcluded pkgs.gnome-disk-utility;
programs.seahorse.enable = notExcluded pkgs.seahorse;
services.gnome.sushi.enable = notExcluded pkgs.sushi;
@@ -507,7 +507,7 @@ in
})
(lib.mkIf serviceCfg.games.enable {
environment.systemPackages = utils.removePackagesByName [
environment.systemPackages = removeExcluded [
pkgs.aisleriot
pkgs.atomix
pkgs.five-or-more
@@ -528,12 +528,12 @@ in
pkgs.quadrapassel
pkgs.swell-foop
pkgs.tali
] config.environment.gnome.excludePackages;
];
})
# Adapt from https://gitlab.gnome.org/GNOME/gnome-build-meta/-/blob/gnome-48/elements/core/meta-gnome-core-developer-tools.bst
(lib.mkIf serviceCfg.core-developer-tools.enable {
environment.systemPackages = utils.removePackagesByName [
environment.systemPackages = removeExcluded [
pkgs.dconf-editor
pkgs.devhelp
pkgs.d-spy
@@ -544,7 +544,7 @@ in
# https://github.com/NixOS/nixpkgs/issues/60908
# pkgs.gnome-boxes
pkgs.sysprof
] config.environment.gnome.excludePackages;
];
services.sysprof.enable = notExcluded pkgs.sysprof;
})
+16 -9
View File
@@ -217,7 +217,8 @@ in
When enabled you must also configure `strict-export = "git-daemon-export-ok"`
in `settings` to make cgit check for the same files.
'';
type = lib.types.bool;
type = lib.types.nullOr lib.types.bool;
default = null;
};
};
}
@@ -235,18 +236,24 @@ in
}
{
assertion =
!cfg.enable
|| !cfg.gitHttpBackend.enable
|| !cfg.gitHttpBackend.checkExportOkFiles
|| cfg.settings.strict-export == "git-daemon-export-ok";
cfg.enable -> cfg.gitHttpBackend.enable -> cfg.gitHttpBackend.checkExportOkFiles != null;
message = "Misconfigured services.cgit.${vhost}: When gitHttpBackend.enable is true then gitHttpBackend.checkExportOkFiles must be set, see the documentation for the option for further information.";
}
{
assertion =
cfg.enable
-> cfg.gitHttpBackend.enable
-> cfg.gitHttpBackend.checkExportOkFiles
-> (cfg.settings ? strict-export && cfg.settings.strict-export == "git-daemon-export-ok");
message = "Misconfigured services.cgit.${vhost}: When gitHttpBackend.checkExportOkFiles is true then settings.strict-export must be \"git-daemon-export-ok\".";
}
{
assertion =
!cfg.enable
|| !cfg.gitHttpBackend.enable
|| cfg.settings.strict-export == null
|| cfg.gitHttpBackend.checkExportOkFiles;
cfg.enable
-> cfg.gitHttpBackend.enable
-> !cfg.gitHttpBackend.checkExportOkFiles
-> cfg.settings ? strict-export
-> cfg.settings.strict-export == null;
message = "Misconfigured services.cgit.${vhost}: settings.strict-export is set but the gitHttpBackend is enabled and checkExportOkFiles is false.";
}
]) cfgs
@@ -99,7 +99,7 @@ with lib;
Compared to `listen` this only sets the addresses
and the ports are chosen automatically.
Note: This option overrides `enableIPv6`
Note: This option overrides `networking.enableIPv6`
'';
default = [ ];
example = [
@@ -14,7 +14,7 @@ with lib;
let
cfg = config.testing;
qemu-common = import ../../lib/qemu-common.nix { inherit lib pkgs; };
qemu-common = import ../../lib/qemu-common.nix { inherit (pkgs) lib stdenv; };
backdoorService = {
requires = [
+1 -1
View File
@@ -16,7 +16,7 @@ with lib;
let
qemu-common = import ../../lib/qemu-common.nix { inherit lib pkgs; };
qemu-common = import ../../lib/qemu-common.nix { inherit (pkgs) lib stdenv; };
cfg = config.virtualisation;
+1 -1
View File
@@ -8,7 +8,7 @@ with import ../lib/testing-python.nix { inherit system pkgs; };
let
lib = pkgs.lib;
qemu-common = import ../lib/qemu-common.nix { inherit lib pkgs; };
qemu-common = import ../lib/qemu-common.nix { inherit (pkgs) lib stdenv; };
mkStartCommand =
{
+1 -1
View File
@@ -2,7 +2,7 @@
{ config, pkgs, ... }:
let
inherit (pkgs) lib;
qemu-common = import ../../lib/qemu-common.nix { inherit lib pkgs; };
qemu-common = import ../../lib/qemu-common.nix { inherit (pkgs) lib stdenv; };
vlanIfs = lib.range 1 (lib.length config.virtualisation.vlans);
in
{
@@ -24,8 +24,8 @@ let
sha256Hash = "sha256-d5BcAUkYV7O25wyoifiZxfUsANPxLa/QkuT9u1qqfP8=";
};
latestVersion = {
version = "2025.3.1.1"; # "Android Studio Panda 1 | 2025.3.1 Canary 1"
sha256Hash = "sha256-hCWt8wMxqA4So/oZL6RzRRY3Kg6vAYr9xDAzQ/5ZXow=";
version = "2025.3.1.2"; # "Android Studio Panda 1 | 2025.3.1 Canary 2"
sha256Hash = "sha256-kgYPwMF/CypkCq4w/y+HnraNdPNHf53198x35S0i7OA=";
};
in
{
+65 -1
View File
@@ -59,6 +59,70 @@ let
opt = map (x: x.plugin) pluginsPartitioned.right;
};
/**
* Builds a vim package (see ':h packages') with additionnal info:
- the user lua configuration (specified by user)
- the advised and advised by nixpkgs in passthru.initLua)
- runtime dependencies (specified in plugins' "runtimeDeps")
- plugin dependencies (vim plugins, python deps)
*/
makeVimPackageInfo =
# a list of neovim plugin derivations, for instance
# plugins = [
# { plugin=vimPlugins.far-vim; config = "let g:far#source='rg'"; optional = false; }
# vimPlugins.vim-fugitive
# ]
plugins:
let
pluginsNormalized = normalizePlugins plugins;
vimPackage = normalizedPluginsToVimPackage pluginsNormalized;
userPluginLua = lib.foldl (
acc: p: if p.config != null then acc ++ [ p.config ] else acc
) [ ] pluginsNormalized;
pluginAdvisedLua =
let
op =
acc: normalizedPlugin:
acc
++ lib.optional (
normalizedPlugin.plugin.passthru ? initLua
) normalizedPlugin.plugin.passthru.initLua;
in
lib.foldl' op [ ] pluginsNormalized;
getDeps = attrname: map (plugin: plugin.${attrname} or (_: [ ]));
requiredPlugins = vimUtils.requiredPluginsForPackage vimPackage;
pluginPython3Packages = getDeps "python3Dependencies" requiredPlugins;
in
{
# plugins' python dependencies
inherit pluginPython3Packages;
# lua config set by the user along with the plugin
inherit userPluginLua;
# recommanded configuration set in vim plugins ".passthru.initLua"
inherit pluginAdvisedLua;
# A Vim "package", see ':h packages'
# You most likely want to use vimPackage as follows:
# packpathDirs.myNeovimPackages = vimPackage;
# finalPackdir = neovimUtils.packDir packpathDirs;
inherit vimPackage;
runtimeDeps =
let
op = acc: normalizedPlugin: acc ++ normalizedPlugin.plugin.runtimeDeps or [ ];
in
lib.foldl' op [ ] pluginsNormalized;
};
/*
returns everything needed for the caller to wrap its own neovim:
- the generated content of the future init.vim
@@ -297,7 +361,6 @@ let
packages:
let
rawPackDir = vimUtils.packDir packages;
in
rawPackDir.override {
postBuild = ''
@@ -311,6 +374,7 @@ let
in
{
inherit makeNeovimConfig;
inherit makeVimPackageInfo;
inherit generateProviderRc;
inherit legacyWrapper;
inherit grammarToPlugin;
+15 -34
View File
@@ -81,9 +81,6 @@ let
stdenv.mkDerivation (
finalAttrs:
let
pluginsNormalized = neovimUtils.normalizePlugins finalAttrs.plugins;
myVimPackage = neovimUtils.normalizedPluginsToVimPackage pluginsNormalized;
rubyEnv = bundlerEnv {
name = "neovim-ruby-env";
@@ -93,49 +90,38 @@ let
'';
};
pluginRC = lib.foldl (
acc: p: if p.config != null then acc ++ [ p.config ] else acc
) [ ] pluginsNormalized;
# a limited RC script used only to generate the manifest for remote plugins
manifestRc = "";
# plugin-related information
vimPackageInfo = neovimUtils.makeVimPackageInfo finalAttrs.plugins;
# we call vimrcContent without 'packages' to avoid the init.vim generation
neovimRcContent' = lib.concatStringsSep "\n" (
pluginRC ++ lib.optional (neovimRcContent != null) neovimRcContent
vimPackageInfo.userPluginLua ++ lib.optional (neovimRcContent != null) neovimRcContent
);
packpathDirs.myNeovimPackages = myVimPackage;
packpathDirs.myNeovimPackages = vimPackageInfo.vimPackage;
finalPackdir = neovimUtils.packDir packpathDirs;
luaPluginRC =
let
op =
acc: normalizedPlugin:
acc
++ lib.optional (
finalAttrs.autoconfigure && normalizedPlugin.plugin.passthru ? initLua
) normalizedPlugin.plugin.passthru.initLua;
in
lib.foldl' op [ ] pluginsNormalized;
rcContent = ''
${luaRcContent}
''
+ lib.optionalString (neovimRcContent' != "") ''
vim.cmd.source "${writeText "init.vim" neovimRcContent'}"
''
+ lib.concatStringsSep "\n" luaPluginRC;
getDeps = attrname: map (plugin: plugin.${attrname} or (_: [ ]));
requiredPlugins = vimUtils.requiredPluginsForPackage myVimPackage;
pluginPython3Packages = getDeps "python3Dependencies" requiredPlugins;
+ lib.optionalString autoconfigure (lib.concatStringsSep "\n" vimPackageInfo.pluginAdvisedLua);
python3Env =
lib.warnIf (attrs ? python3Env)
"Pass your python packages via the `extraPython3Packages`, e.g., `extraPython3Packages = ps: [ ps.pandas ]`"
python3.pkgs.python.withPackages
(ps: [ ps.pynvim ] ++ (extraPython3Packages ps) ++ (lib.concatMap (f: f ps) pluginPython3Packages));
(
ps:
[ ps.pynvim ]
++ (extraPython3Packages ps)
++ (lib.concatMap (f: f ps) vimPackageInfo.pluginPython3Packages)
);
wrapperArgsStr = if lib.isString wrapperArgs then wrapperArgs else lib.escapeShellArgs wrapperArgs;
@@ -234,14 +220,10 @@ let
inherit wrapperArgs generatedWrapperArgs;
runtimeDeps =
let
op = acc: normalizedPlugin: acc ++ normalizedPlugin.plugin.runtimeDeps or [ ];
runtimeDeps = lib.foldl' op [ ] pluginsNormalized;
in
lib.optionals finalAttrs.waylandSupport [ wl-clipboard ]
++ lib.optional finalAttrs.withRuby rubyEnv
++ lib.optional finalAttrs.withNodeJs nodejs
++ lib.optionals finalAttrs.autowrapRuntimeDeps runtimeDeps;
++ lib.optionals finalAttrs.autowrapRuntimeDeps vimPackageInfo.runtimeDeps;
luaRcContent = rcContent;
# Remove the symlinks created by symlinkJoin which we need to perform
@@ -342,8 +324,7 @@ let
lndir
];
# A Vim "package", see ':h packages'
vimPackage = myVimPackage;
vimPackage = vimPackageInfo.vimPackage;
checkPhase = ''
runHook preCheck
@@ -7328,12 +7328,12 @@ final: prev: {
kulala-nvim = buildVimPlugin {
pname = "kulala.nvim";
version = "5.3.3-unstable-2025-12-16";
version = "5.3.3-unstable-2025-12-25";
src = fetchFromGitHub {
owner = "mistweaverco";
repo = "kulala.nvim";
rev = "9fc4831a116fb32b0fd420ed483f5102a873446a";
hash = "sha256-A5yNW1XLLoSmsT8/7qB+SGguE7IMmcwv6tnhbF6nb2Y=";
rev = "cd3eaa83b8d60533837202dede73238334d71832";
hash = "sha256-xyhhvWLF+k+QG7GYOHEdmusZWsHlFg5O3np0a8pT2SU=";
fetchSubmodules = true;
};
meta.homepage = "https://github.com/mistweaverco/kulala.nvim/";
@@ -12117,12 +12117,12 @@ final: prev: {
nvim-treesitter-textobjects = buildVimPlugin {
pname = "nvim-treesitter-textobjects";
version = "0-unstable-2025-10-31";
version = "0-unstable-2025-12-27";
src = fetchFromGitHub {
owner = "nvim-treesitter";
repo = "nvim-treesitter-textobjects";
rev = "5ca4aaa6efdcc59be46b95a3e876300cfead05ef";
hash = "sha256-lf+AwSu96iKO1vWWU2D7jWHGfjXkbX9R2CX3gMZaD4M=";
rev = "ecd03f5811eb5c66d2fa420b79121b866feecd82";
hash = "sha256-mMxCAkrGqTstEgaf/vwQMEF7D8swH3oyUJtaxuXzpcs=";
};
meta.homepage = "https://github.com/nvim-treesitter/nvim-treesitter-textobjects/";
meta.hydraPlatforms = [ ];
@@ -7,14 +7,14 @@
}:
vimUtils.buildVimPlugin {
pname = "cmp-async-path";
version = "0-unstable-2025-11-04";
version = "0-unstable-2026-01-05";
src = fetchFromGitea {
domain = "codeberg.org";
owner = "FelipeLema";
repo = "cmp-async-path";
rev = "b8aade3a0626f2bc1d3cd79affcd7da9f47f7ab1";
hash = "sha256-gaK2aemMX4fzH85idIPuVZ1+ay5vCNqgxU15J4Jz5wU=";
rev = "a14d3a9c7f303551a0b8c64a0e4e6527ce39a8a2";
hash = "sha256-QOa2Oke3p5wGhTJ4TjcgTUphb0OdDUwmw8MiYp2LkhA=";
};
checkInputs = [ vimPlugins.nvim-cmp ];
@@ -1591,7 +1591,6 @@ assertNoAdditions {
dependencies = [ kulala-http-grammar ];
buildInputs = [ curl ];
patches = [ ./patches/kulala-nvim/do-not-install-grammar.patch ];
postPatch = ''
substituteInPlace lua/kulala/config/defaults.lua \
--replace-fail 'curl_path = "curl"' 'curl_path = "${lib.getExe curl}"'
@@ -1,15 +0,0 @@
diff --git a/lua/kulala/config/init.lua b/lua/kulala/config/init.lua
index 7298f95..d781a12 100644
--- a/lua/kulala/config/init.lua
+++ b/lua/kulala/config/init.lua
@@ -122,6 +122,10 @@ local function setup_treesitter_master()
end
local function set_kulala_parser()
+ assert(vim.treesitter.language.add("kulala_http"))
+ vim.treesitter.language.register("kulala_http", { "http", "rest" })
+ do return end
+
local parsers = vim.F.npcall(require, "nvim-treesitter.parsers")
if not parsers then
@@ -930,7 +930,7 @@ https://github.com/theHamsta/nvim-treesitter-pairs/,HEAD,
https://github.com/eddiebergman/nvim-treesitter-pyfold/,,
https://github.com/nvim-treesitter/nvim-treesitter-refactor/,,
https://github.com/PaterJason/nvim-treesitter-sexp/,HEAD,
https://github.com/nvim-treesitter/nvim-treesitter-textobjects/,,
https://github.com/nvim-treesitter/nvim-treesitter-textobjects/,main,
https://github.com/RRethy/nvim-treesitter-textsubjects/,HEAD,
https://github.com/AckslD/nvim-trevJ.lua/,HEAD,
https://github.com/windwp/nvim-ts-autotag/,,
@@ -18,6 +18,14 @@ mkLibretroCore {
hash = "sha256-Th8VqENewfTeRTH+lONN7ZTMLQ0G6901q6ZBNMgepL4=";
};
patches = [
# Fix build with gcc15
# Upstream considers this core legacy (for "potato PC") and won't fix.
# See: https://github.com/libretro/parallel-n64/issues/797
# /nix/store/...-glibc-2.40-66-dev/include/bits/mathcalls-narrow.h:36:20: error: conflicting types for 'fsqrt'; have 'float(double)'
./patches/parallel-n64-gcc15.patch
];
extraBuildInputs = [
libGLU
libGL
@@ -0,0 +1,62 @@
From 3a891c0450c4968afbe76c594c22347354bd8834 Mon Sep 17 00:00:00 2001
From: Moraxyc <i@qaq.li>
Date: Sat, 3 Jan 2026 13:41:55 +0800
Subject: [PATCH] Rename fsqrt to _fsqrt to avoid conflict
---
mupen64plus-core/src/r4300/hacktarux_dynarec/assemble.h | 2 +-
.../src/r4300/hacktarux_dynarec/hacktarux_dynarec.c | 8 ++++----
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/mupen64plus-core/src/r4300/hacktarux_dynarec/assemble.h b/mupen64plus-core/src/r4300/hacktarux_dynarec/assemble.h
index 8161292..e256dd9 100644
--- a/mupen64plus-core/src/r4300/hacktarux_dynarec/assemble.h
+++ b/mupen64plus-core/src/r4300/hacktarux_dynarec/assemble.h
@@ -1650,7 +1650,7 @@ static INLINE void fchs(void)
}
-static INLINE void fsqrt(void)
+static INLINE void _fsqrt(void)
{
put8(0xD9);
put8(0xFA);
diff --git a/mupen64plus-core/src/r4300/hacktarux_dynarec/hacktarux_dynarec.c b/mupen64plus-core/src/r4300/hacktarux_dynarec/hacktarux_dynarec.c
index 89fb982..2fc70d1 100644
--- a/mupen64plus-core/src/r4300/hacktarux_dynarec/hacktarux_dynarec.c
+++ b/mupen64plus-core/src/r4300/hacktarux_dynarec/hacktarux_dynarec.c
@@ -6317,13 +6317,13 @@ void gensqrt_d(void)
#ifdef __x86_64__
mov_xreg64_m64rel(RAX, (uint64_t *)(&reg_cop1_double[dst->f.cf.fs]));
fld_preg64_qword(RAX);
- fsqrt();
+ _fsqrt();
mov_xreg64_m64rel(RAX, (uint64_t *)(&reg_cop1_double[dst->f.cf.fd]));
fstp_preg64_qword(RAX);
#else
mov_eax_memoffs32((unsigned int *)(&reg_cop1_double[dst->f.cf.fs]));
fld_preg32_qword(EAX);
- fsqrt();
+ _fsqrt();
mov_eax_memoffs32((unsigned int *)(&reg_cop1_double[dst->f.cf.fd]));
fstp_preg32_qword(EAX);
#endif
@@ -7301,13 +7301,13 @@ void gensqrt_s(void)
#ifdef __x86_64__
mov_xreg64_m64rel(RAX, (uint64_t *)(&reg_cop1_simple[dst->f.cf.fs]));
fld_preg64_dword(RAX);
- fsqrt();
+ _fsqrt();
mov_xreg64_m64rel(RAX, (uint64_t *)(&reg_cop1_simple[dst->f.cf.fd]));
fstp_preg64_dword(RAX);
#else
mov_eax_memoffs32((unsigned int *)(&reg_cop1_simple[dst->f.cf.fs]));
fld_preg32_dword(EAX);
- fsqrt();
+ _fsqrt();
mov_eax_memoffs32((unsigned int *)(&reg_cop1_simple[dst->f.cf.fd]));
fstp_preg32_dword(EAX);
#endif
--
2.52.0
@@ -13,13 +13,13 @@
}:
mkLibretroCore {
core = "ppsspp";
version = "0-unstable-2025-12-30";
version = "0-unstable-2026-01-04";
src = fetchFromGitHub {
owner = "hrydgard";
repo = "ppsspp";
rev = "34fde065b76805c851d7c4b5bc4c67a3d347aab9";
hash = "sha256-se8WptzipVwAE6Qwq2hTv7xBsY22HoACdVrPv+ssBDc=";
rev = "6c0aff3a28b8c1ee97e1346d0b2404179ce5e5c0";
hash = "sha256-X/d3qGpdTJx7r6qtW2P/l7COMsv4oJ1nqjZC0QRLYiQ=";
fetchSubmodules = true;
};
@@ -30,6 +30,15 @@ mkLibretroCore {
})
];
postPatch = ''
# Fix sol2 compatibility with GCC 15 (construct -> emplace)
# https://github.com/ThePhD/sol2/issues/1657
sed -i 's/this->construct(std::forward<Args>(args)\.\.\.);/this->emplace(std::forward<Args>(args)...);/g' 3rdparty/sol2/sol/sol.hpp
# Fix missing cstdint include for uint8_t
sed -i '1i #include <cstdint>' src/lib/util/corestr.cpp
'';
extraNativeBuildInputs = [ python3 ];
extraBuildInputs = [
alsa-lib
@@ -50,6 +50,9 @@ mkLibretroCore {
cp -a ${libretro-deps-src}/* deps/libretro-deps
chmod -R u+w deps/
# Fix conflicts with glibc index/rindex functions
sed -i 's/\bindex\b/faad_index/g; s/\brindex\b/faad_rindex/g' deps/libretro-deps/libfaad/libfaad/common.h
patchShebangs ./scripts/*
'';
@@ -5,13 +5,13 @@
}:
mkLibretroCore {
core = "vbam";
version = "0-unstable-2025-12-10";
version = "0-unstable-2026-01-04";
src = fetchFromGitHub {
owner = "libretro";
repo = "vbam-libretro";
rev = "b269c9c3eb05da5e2adf3a512873224e3164dea3";
hash = "sha256-SwBLeCa233RMp4lJf3pv7aegy9jd/M/GO7T9jbIuBY8=";
rev = "894948f85303253d4e70ae03c9eff8865d95f427";
hash = "sha256-0KgCJSYn0PUL/5cGLzFEfRCAMtsdY4N6wY5hbNteRFI=";
};
makefile = "Makefile";
@@ -7,9 +7,7 @@
herbstluftwm,
}:
mkDerivationWith python3Packages.buildPythonApplication rec {
inherit stdenv;
mkDerivationWith (python3Packages.buildPythonApplication.override { inherit stdenv; }) rec {
pname = "webmacs";
version = "0.8";
format = "setuptools";
@@ -1,26 +1,26 @@
{
"airgap-images-amd64-tar-gz": {
"url": "https://github.com/k3s-io/k3s/releases/download/v1.32.10%2Bk3s1/k3s-airgap-images-amd64.tar.gz",
"sha256": "0bad9ede6ecd09461f9f73c44073e97f20e45c59556c0db61be93f8695fdf901"
"url": "https://github.com/k3s-io/k3s/releases/download/v1.32.11%2Bk3s1/k3s-airgap-images-amd64.tar.gz",
"sha256": "6dfe83a7d8984a5fe6be63a429698ce3fc61761ce68e3f4f2c6f3ff96a349f37"
},
"airgap-images-amd64-tar-zst": {
"url": "https://github.com/k3s-io/k3s/releases/download/v1.32.10%2Bk3s1/k3s-airgap-images-amd64.tar.zst",
"sha256": "4217e7a36bfecc66cd678e854175f740f6b97dda44b094a132bf751c7198bba9"
"url": "https://github.com/k3s-io/k3s/releases/download/v1.32.11%2Bk3s1/k3s-airgap-images-amd64.tar.zst",
"sha256": "9b6a7ea64b7b14a6c43613e4e170902e99c600857265875282f8d4b9dfefa6f4"
},
"airgap-images-arm-tar-gz": {
"url": "https://github.com/k3s-io/k3s/releases/download/v1.32.10%2Bk3s1/k3s-airgap-images-arm.tar.gz",
"sha256": "7c21cafa273e4cf30fd43c7fccb147897084bb7eba21c9e99b3ae0246eef7a55"
"url": "https://github.com/k3s-io/k3s/releases/download/v1.32.11%2Bk3s1/k3s-airgap-images-arm.tar.gz",
"sha256": "cbda428d59a8593267343fb32ad985bf2125f45860425f9b7b31bbea9d305046"
},
"airgap-images-arm-tar-zst": {
"url": "https://github.com/k3s-io/k3s/releases/download/v1.32.10%2Bk3s1/k3s-airgap-images-arm.tar.zst",
"sha256": "a52d31f6dbc756ffe8a1701d3ad52d432a904d7b34932049d411f16bc3bb4e2c"
"url": "https://github.com/k3s-io/k3s/releases/download/v1.32.11%2Bk3s1/k3s-airgap-images-arm.tar.zst",
"sha256": "b1a253aab260beabea305517d8d57cce4594d2e071320d5700d389b29eb3c196"
},
"airgap-images-arm64-tar-gz": {
"url": "https://github.com/k3s-io/k3s/releases/download/v1.32.10%2Bk3s1/k3s-airgap-images-arm64.tar.gz",
"sha256": "d35f436ed082ccde1b3712617b05da4464832747bb41dcd14261237834d91296"
"url": "https://github.com/k3s-io/k3s/releases/download/v1.32.11%2Bk3s1/k3s-airgap-images-arm64.tar.gz",
"sha256": "0f6e598bf90b9ced4f1f758db6b0d7f8afbf9b5973d801d8a743c5b27ac3b748"
},
"airgap-images-arm64-tar-zst": {
"url": "https://github.com/k3s-io/k3s/releases/download/v1.32.10%2Bk3s1/k3s-airgap-images-arm64.tar.zst",
"sha256": "a32df1ffd86eb63e5f91e1c69438ff4074020ca76976a293321e524bc1562fc0"
"url": "https://github.com/k3s-io/k3s/releases/download/v1.32.11%2Bk3s1/k3s-airgap-images-arm64.tar.zst",
"sha256": "297beda34a0a2a7ff727fced94dba6f999636a4e9b2cdd6e30840cc0e746a4ee"
}
}
@@ -1,8 +1,8 @@
{
k3sVersion = "1.32.10+k3s1";
k3sCommit = "1c5d65cec8e24f5238e2e0b21f0dac8c2f8d5db5";
k3sRepoSha256 = "0wfh2m55dxfvf3m74jrwvpc21xxc17gwbifnkl9nyd8kha271876";
k3sVendorHash = "sha256-PedpbkyP3XZ8yLlFo/VGjPlImYGOk5ebPYGivPR2Izg=";
k3sVersion = "1.32.11+k3s1";
k3sCommit = "8119508834f2503e3c7bace3125f5db6b038d377";
k3sRepoSha256 = "0fni4sh3a5flyrli7xxd9zxj9sh75kv79msy3zkfbgjxqz7rg4v9";
k3sVendorHash = "sha256-8gzvad5Cpkatc8158m9FBGnkGEbajn30alSPlzhor0E=";
chartVersions = import ./chart-versions.nix;
imagesVersions = builtins.fromJSON (builtins.readFile ./images-versions.json);
k3sRootVersion = "0.15.0";
@@ -11,5 +11,11 @@
k3sCNISha256 = "04xig5spp81l81781ixmk99ghiz8lk0p16zhcbja5mslfdjmc7vg";
containerdVersion = "2.1.5-k3s1.32";
containerdSha256 = "1fzld9q0ycfg9b3054qg70mif1p6i7xqikcbabrmxapk81fy83kn";
containerdPackage = "github.com/k3s-io/containerd/v2";
criCtlVersion = "1.31.0-k3s2";
flannelVersion = "v0.27.4";
flannelPluginVersion = "v1.8.0-flannel1";
kubeRouterVersion = "v2.6.3-k3s1";
criDockerdVersion = "v0.3.19-k3s2.32";
helmJobVersion = "v0.9.12-build20251215";
}
@@ -1,26 +1,26 @@
{
"airgap-images-amd64-tar-gz": {
"url": "https://github.com/k3s-io/k3s/releases/download/v1.33.6%2Bk3s1/k3s-airgap-images-amd64.tar.gz",
"sha256": "9cc46db774c51e4195dfe3c2dafe1ecc18c7293bf08e7a81258aec07e60fc26d"
"url": "https://github.com/k3s-io/k3s/releases/download/v1.33.7%2Bk3s1/k3s-airgap-images-amd64.tar.gz",
"sha256": "47644f3141878535a1951fdaf03bc485001b50a58b8fb58d97c75c49ea38a1f0"
},
"airgap-images-amd64-tar-zst": {
"url": "https://github.com/k3s-io/k3s/releases/download/v1.33.6%2Bk3s1/k3s-airgap-images-amd64.tar.zst",
"sha256": "1a852774a4cf27b24b1c60fc8fdc88e1f31841955dad99dfedd492a4ccfb6c08"
"url": "https://github.com/k3s-io/k3s/releases/download/v1.33.7%2Bk3s1/k3s-airgap-images-amd64.tar.zst",
"sha256": "9b6a7ea64b7b14a6c43613e4e170902e99c600857265875282f8d4b9dfefa6f4"
},
"airgap-images-arm-tar-gz": {
"url": "https://github.com/k3s-io/k3s/releases/download/v1.33.6%2Bk3s1/k3s-airgap-images-arm.tar.gz",
"sha256": "4026e1da9f3f184e4d66474d278785c50276867e057376073504b63f06d48e7c"
"url": "https://github.com/k3s-io/k3s/releases/download/v1.33.7%2Bk3s1/k3s-airgap-images-arm.tar.gz",
"sha256": "ee76f65f39a0ca12bbaa6bf9fdd5dc161b553b15a5746d47795cf0113916c063"
},
"airgap-images-arm-tar-zst": {
"url": "https://github.com/k3s-io/k3s/releases/download/v1.33.6%2Bk3s1/k3s-airgap-images-arm.tar.zst",
"sha256": "c1f1dc4e3a3f42ec1aad051b0d7a6ecb4853f5f428f043c318d1aab5ab73728d"
"url": "https://github.com/k3s-io/k3s/releases/download/v1.33.7%2Bk3s1/k3s-airgap-images-arm.tar.zst",
"sha256": "b1a253aab260beabea305517d8d57cce4594d2e071320d5700d389b29eb3c196"
},
"airgap-images-arm64-tar-gz": {
"url": "https://github.com/k3s-io/k3s/releases/download/v1.33.6%2Bk3s1/k3s-airgap-images-arm64.tar.gz",
"sha256": "7bbe0b76621debfeaf8f50a931e833102d7cade1a65b7fd8ff83027aa8f5add5"
"url": "https://github.com/k3s-io/k3s/releases/download/v1.33.7%2Bk3s1/k3s-airgap-images-arm64.tar.gz",
"sha256": "a2f534291abd4d6491dc669b46e437df1fe0cd7b573485ec30aa813510b22635"
},
"airgap-images-arm64-tar-zst": {
"url": "https://github.com/k3s-io/k3s/releases/download/v1.33.6%2Bk3s1/k3s-airgap-images-arm64.tar.zst",
"sha256": "059a3595138d019c676b2753b144dab613c4ee1d3892a115a95e74d665009b1b"
"url": "https://github.com/k3s-io/k3s/releases/download/v1.33.7%2Bk3s1/k3s-airgap-images-arm64.tar.zst",
"sha256": "87db88828e43179ef30a17ba66b416a3e398c4a00673908bd8d39ae4996ce300"
}
}
@@ -1,8 +1,8 @@
{
k3sVersion = "1.33.6+k3s1";
k3sCommit = "b5847677be5afdc431f70afec6780679c3845d16";
k3sRepoSha256 = "0pm8x121pb6pyn9rq9c5pbr7y293rzyp0q3c5mc1gb4glqwx7f8g";
k3sVendorHash = "sha256-Cjacx5i1ahZ9RBXBTsUtmNDyyofw1fedpExTHuU8grA=";
k3sVersion = "1.33.7+k3s1";
k3sCommit = "0b396d3f7f26e0c2ae5b6a114383830f533938c2";
k3sRepoSha256 = "0jkvm7c333zazabsxrjl6wkdsni1m5g5gamriyyf53lly9935wsf";
k3sVendorHash = "sha256-HpgcO/mUo64mkH38sAURnLOmXdXmHh3o6iDKtQeUt/E=";
chartVersions = import ./chart-versions.nix;
imagesVersions = builtins.fromJSON (builtins.readFile ./images-versions.json);
k3sRootVersion = "0.15.0";
@@ -11,5 +11,11 @@
k3sCNISha256 = "04xig5spp81l81781ixmk99ghiz8lk0p16zhcbja5mslfdjmc7vg";
containerdVersion = "2.1.5-k3s1.33";
containerdSha256 = "15iw6px3710rlsx7j933i07qd4a2r7caagfjbhhfcp33m9k19v7h";
containerdPackage = "github.com/k3s-io/containerd/v2";
criCtlVersion = "1.33.0-k3s2";
flannelVersion = "v0.27.4";
flannelPluginVersion = "v1.8.0-flannel1";
kubeRouterVersion = "v2.6.3-k3s1";
criDockerdVersion = "v0.3.19-k3s2";
helmJobVersion = "v0.9.12-build20251215";
}
@@ -1,26 +1,26 @@
{
"airgap-images-amd64-tar-gz": {
"url": "https://github.com/k3s-io/k3s/releases/download/v1.34.2%2Bk3s1/k3s-airgap-images-amd64.tar.gz",
"sha256": "4bfa596bec42e8752d6f90e69e724ee438c2a8c3ba7827c3d4f30ca8ca30de35"
"url": "https://github.com/k3s-io/k3s/releases/download/v1.34.3%2Bk3s1/k3s-airgap-images-amd64.tar.gz",
"sha256": "499d7fb0b2eab200e9bf9b3935ce787a7fa0597933dce25ad091703933d6ecc8"
},
"airgap-images-amd64-tar-zst": {
"url": "https://github.com/k3s-io/k3s/releases/download/v1.34.2%2Bk3s1/k3s-airgap-images-amd64.tar.zst",
"sha256": "24359781bd775f513691e98031853d79eac53e265f7d72d1e7325df4f3b18eb0"
"url": "https://github.com/k3s-io/k3s/releases/download/v1.34.3%2Bk3s1/k3s-airgap-images-amd64.tar.zst",
"sha256": "b8dff3265568e1be66ab72ac0ded68bd266fa37a32c010f1253dba6547a49ce8"
},
"airgap-images-arm-tar-gz": {
"url": "https://github.com/k3s-io/k3s/releases/download/v1.34.2%2Bk3s1/k3s-airgap-images-arm.tar.gz",
"sha256": "ee792ad7b22a03567fd2dea4e16bf239667df50367f6b65070d5daf76e6054f8"
"url": "https://github.com/k3s-io/k3s/releases/download/v1.34.3%2Bk3s1/k3s-airgap-images-arm.tar.gz",
"sha256": "170db25228c873741f895fced05f0e5bdbbddb8ffeb5e0342a5b8e44f3c28757"
},
"airgap-images-arm-tar-zst": {
"url": "https://github.com/k3s-io/k3s/releases/download/v1.34.2%2Bk3s1/k3s-airgap-images-arm.tar.zst",
"sha256": "ae43b262c9d739a7b693670825160e9afab6b10fdb975659679de576b84ae286"
"url": "https://github.com/k3s-io/k3s/releases/download/v1.34.3%2Bk3s1/k3s-airgap-images-arm.tar.zst",
"sha256": "27407fd1553c89b8ccd3b45ad0fbdcd483c1a010e7b28b60b24a8e73b58aa783"
},
"airgap-images-arm64-tar-gz": {
"url": "https://github.com/k3s-io/k3s/releases/download/v1.34.2%2Bk3s1/k3s-airgap-images-arm64.tar.gz",
"sha256": "2e0383744babd5e801acdb2c6bd9cced8cf2d60c7b4a699ecf3311e200aeacdb"
"url": "https://github.com/k3s-io/k3s/releases/download/v1.34.3%2Bk3s1/k3s-airgap-images-arm64.tar.gz",
"sha256": "e67cddf839571cd489aef44acb2aca82285a9789a170c1a44d51b7f8b6129883"
},
"airgap-images-arm64-tar-zst": {
"url": "https://github.com/k3s-io/k3s/releases/download/v1.34.2%2Bk3s1/k3s-airgap-images-arm64.tar.zst",
"sha256": "41b34aab92bc5166135dc73217ead65766688fd3543166ce32ffff7e101bef46"
"url": "https://github.com/k3s-io/k3s/releases/download/v1.34.3%2Bk3s1/k3s-airgap-images-arm64.tar.zst",
"sha256": "b6cb3c06f19859d3a5fba54b305097e89d2a86b5bce9e8360a46b9d2e67da565"
}
}
@@ -1,8 +1,8 @@
{
k3sVersion = "1.34.2+k3s1";
k3sCommit = "8dac81b2a24e78ce4cf951c7788ea6a8d4a59aa7";
k3sRepoSha256 = "1nwh1aggxvjv99kz1zkklim7jqsn0d44g8905653gkfpk0givghq";
k3sVendorHash = "sha256-IJi5gVxBsAjeQHi5rQpNRvWOXuNPx2Rtsy18VL+2Yxo=";
k3sVersion = "1.34.3+k3s1";
k3sCommit = "48ffa7b6893f21b919b3029d54c9d9838ae426a1";
k3sRepoSha256 = "1177kzbhp6ihb7dzfdi1a0idgp69y1hwh6wnwvdx1fnivg2gj7aw";
k3sVendorHash = "sha256-dp8SU24nuy3WmG1Zln/J2nVHnVQmVyN78FBOSxNjbF8=";
chartVersions = import ./chart-versions.nix;
imagesVersions = builtins.fromJSON (builtins.readFile ./images-versions.json);
k3sRootVersion = "0.15.0";
@@ -11,5 +11,11 @@
k3sCNISha256 = "04xig5spp81l81781ixmk99ghiz8lk0p16zhcbja5mslfdjmc7vg";
containerdVersion = "2.1.5-k3s1";
containerdSha256 = "0n0g58d352i8wz0bqn87vgrd7z54j268cbmbp19fz68wmifm7fl8";
containerdPackage = "github.com/k3s-io/containerd/v2";
criCtlVersion = "1.34.0-k3s2";
flannelVersion = "v0.27.4";
flannelPluginVersion = "v1.8.0-flannel1";
kubeRouterVersion = "v2.6.3-k3s1";
criDockerdVersion = "v0.3.19-k3s3";
helmJobVersion = "v0.9.12-build20251215";
}
@@ -6,7 +6,7 @@ lib:
k3sCommit,
k3sRepoSha256 ? lib.fakeHash,
k3sVendorHash ? lib.fakeHash,
# taken from ./scripts/version.sh VERSION_ROOT https://github.com/k3s-io/k3s/blob/v1.23.3%2Bk3s1/scripts/version.sh#L47
# taken from ./scripts/version.sh VERSION_ROOT
k3sRootVersion,
k3sRootSha256 ? lib.fakeHash,
# Based on the traefik charts here: https://github.com/k3s-io/k3s/blob/d71ab6317e22dd34673faa307a412a37a16767f6/scripts/download#L29-L32
@@ -14,15 +14,27 @@ lib:
chartVersions,
# Air gap container images that are released as assets with every k3s release
imagesVersions,
# taken from ./scripts/version.sh VERSION_CNIPLUGINS https://github.com/k3s-io/k3s/blob/v1.23.3%2Bk3s1/scripts/version.sh#L45
# taken from ./scripts/version.sh VERSION_CNIPLUGINS
k3sCNIVersion,
k3sCNISha256 ? lib.fakeHash,
# taken from ./scripts/version.sh VERSION_CONTAINERD
containerdVersion,
containerdSha256 ? lib.fakeHash,
# taken from ./scripts/version.sh PKG_CONTAINERD_K3S
containerdPackage,
# run `grep github.com/kubernetes-sigs/cri-tools go.mod | head -n1 | awk '{print $4}'` in the k3s repo at the tag
criCtlVersion,
updateScript ? null,
# taken from ./scripts/version.sh VERSION_FLANNEL
flannelVersion,
# taken from ./scripts/version.sh VERSION_FLANNEL_PLUGIN
flannelPluginVersion,
# taken from ./scripts/version.sh VERSION_KUBE_ROUTER
kubeRouterVersion,
# taken from ./scripts/version.sh VERSION_CRI_DOCKERD
criDockerdVersion,
# taken from ./scripts/version.sh VERSION_HELM_JOB
helmJobVersion,
}@attrs:
# builder.nix contains a "builder" expression that, given k3s version and hash
@@ -109,23 +121,58 @@ let
priority = 5;
};
# https://github.com/k3s-io/k3s/blob/5fb370e53e0014dc96183b8ecb2c25a61e891e76/scripts/build#L19-L40
versionldflags = [
"-X github.com/k3s-io/k3s/pkg/version.Version=v${k3sVersion}"
"-X github.com/k3s-io/k3s/pkg/version.GitCommit=${lib.substring 0 8 k3sCommit}"
"-X github.com/k3s-io/k3s/pkg/version.UpstreamGolang=go${go.version}"
"-X k8s.io/client-go/pkg/version.gitVersion=v${k3sVersion}"
"-X k8s.io/client-go/pkg/version.gitCommit=${k3sCommit}"
"-X k8s.io/client-go/pkg/version.gitTreeState=clean"
"-X k8s.io/client-go/pkg/version.buildDate=1970-01-01T01:01:01Z"
"-X k8s.io/component-base/version.gitVersion=v${k3sVersion}"
"-X k8s.io/component-base/version.gitCommit=${k3sCommit}"
"-X k8s.io/component-base/version.gitTreeState=clean"
"-X k8s.io/component-base/version.buildDate=1970-01-01T01:01:01Z"
"-X github.com/kubernetes-sigs/cri-tools/pkg/version.Version=v${criCtlVersion}"
"-X github.com/containerd/containerd/version.Version=v${containerdVersion}"
"-X github.com/containerd/containerd/version.Package=github.com/k3s-io/containerd"
];
# https://github.com/k3s-io/k3s/blob/fd48cd623340a4a6e3b2717dede368283cedec1a/scripts/build#L23-L59
versionldflags =
let
PKG = "github.com/k3s-io/k3s";
PKG_CONTAINERD = "github.com/containerd/containerd/v2";
PKG_CRICTL = "sigs.k8s.io/cri-tools/pkg";
PKG_K8S_BASE = "k8s.io/component-base";
PKG_K8S_CLIENT = "k8s.io/client-go/pkg";
PKG_CNI_PLUGINS = "github.com/containernetworking/plugins";
PKG_KUBE_ROUTER = "github.com/cloudnativelabs/kube-router/v2";
PKG_CRI_DOCKERD = "github.com/Mirantis/cri-dockerd";
PKG_ETCD = "go.etcd.io/etcd";
PKG_HELM_CONTROLLER = "github.com/k3s-io/helm-controller";
buildDate = "1970-01-01T01:01:01Z";
in
[
"-X ${PKG}/pkg/version.Version=${k3sVersion}"
"-X ${PKG}/pkg/version.GitCommit=${lib.substring 0 8 k3sCommit}"
"-X ${PKG}/pkg/version.UpstreamGolang=go${go.version}"
"-X ${PKG_K8S_CLIENT}/version.gitVersion=v${k3sVersion}"
"-X ${PKG_K8S_CLIENT}/version.gitCommit=${k3sCommit}"
"-X ${PKG_K8S_CLIENT}/version.gitTreeState=clean"
"-X ${PKG_K8S_CLIENT}/version.buildDate=${buildDate}"
"-X ${PKG_K8S_BASE}/version.gitVersion=v${k3sVersion}"
"-X ${PKG_K8S_BASE}/version.gitCommit=${k3sCommit}"
"-X ${PKG_K8S_BASE}/version.gitTreeState=clean"
"-X ${PKG_K8S_BASE}/version.buildDate=${buildDate}"
"-X ${PKG_CRICTL}/version.Version=${criCtlVersion}"
"-X ${PKG_CONTAINERD}/version.Version=${containerdVersion}"
"-X ${PKG_CONTAINERD}/version.Package=${containerdPackage}"
"-X ${PKG_CNI_PLUGINS}/pkg/utils/buildversion.BuildVersion=${k3sCNIVersion}"
"-X ${PKG_CNI_PLUGINS}/plugins/meta/flannel.Program=flannel"
"-X ${PKG_CNI_PLUGINS}/plugins/meta/flannel.Version=${flannelPluginVersion}+${flannelVersion}"
"-X ${PKG_CNI_PLUGINS}/plugins/meta/flannel.Commit=HEAD"
"-X ${PKG_CNI_PLUGINS}/plugins/meta/flannel.buildDate=${buildDate}"
"-X ${PKG_KUBE_ROUTER}/pkg/version.Version=${kubeRouterVersion}"
"-X ${PKG_KUBE_ROUTER}/pkg/version.BuildDate=${buildDate}"
"-X ${PKG_CRI_DOCKERD}/cmd/version.Version=${criDockerdVersion}"
"-X ${PKG_CRI_DOCKERD}/cmd/version.GitCommit=HEAD"
"-X ${PKG_CRI_DOCKERD}/cmd/version.BuildTime=${buildDate}"
"-X ${PKG_ETCD}/api/v3/version.GitSHA=HEAD"
"-X ${PKG_HELM_CONTROLLER}/pkg/controllers/chart.DefaultJobImage=rancher/klipper-helm:${helmJobVersion}"
];
# bundled into the k3s binary
traefik = {
@@ -346,16 +393,6 @@ buildGoModule (finalAttrs: {
--replace-fail '"$LDFLAGS $STATIC" -o' \
'"$LDFLAGS" -o'
# Upstream codegen fails with trimpath set. Removes "trimpath" for 'go generate':
substituteInPlace scripts/package-cli \
--replace-fail '"''${GO}" generate' \
'GOFLAGS="" \
GOOS="${pkgsBuildBuild.go.GOOS}" \
GOARCH="${pkgsBuildBuild.go.GOARCH}" \
CC="${pkgsBuildBuild.stdenv.cc}/bin/cc" \
"''${GO}" generate'
# Add the -e flag to process "errornous" packages. We need to modify this because the upstream
# build-time version detection doesn't work with a vendor directory.
substituteInPlace scripts/version.sh \
@@ -426,8 +463,8 @@ buildGoModule (finalAttrs: {
rsync -a --no-perms --chmod u=rwX ${k3sRoot}/etc/ ./etc/
export ARCH=$GOARCH
export DRONE_TAG="v${k3sVersion}"
export DRONE_COMMIT="${k3sCommit}"
export TAG="v${k3sVersion}"
export GITHUB_SHA="${k3sCommit}"
# use ./scripts/package-cli to run 'go generate' + 'go build'
./scripts/package-cli
@@ -35,8 +35,8 @@ K3S_REPO_SHA256=${PREFETCH_META%$'\n'*}
cd "$K3S_STORE_PATH"
# Set the DRONE variables as they are expected to be set in version.sh
DRONE_TAG="$LATEST_TAG_NAME"
DRONE_COMMIT="$K3S_COMMIT"
TAG="$LATEST_TAG_NAME"
GITHUB_SHA="$K3S_COMMIT"
NO_DAPPER="" # Source git_version.sh in scripts/version.sh#L8
source "${K3S_STORE_PATH}/scripts/version.sh"
@@ -119,7 +119,13 @@ cat >versions.nix <<EOF
k3sCNISha256 = "${CNIPLUGINS_SHA256}";
containerdVersion = "${VERSION_CONTAINERD:1}";
containerdSha256 = "${CONTAINERD_SHA256}";
containerdPackage = "${PKG_CONTAINERD_K3S}";
criCtlVersion = "${VERSION_CRICTL:1}";
flannelVersion = "${VERSION_FLANNEL}";
flannelPluginVersion = "${VERSION_FLANNEL_PLUGIN}";
kubeRouterVersion = "${VERSION_KUBE_ROUTER}";
criDockerdVersion = "${VERSION_CRI_DOCKERD}";
helmJobVersion = "${VERSION_HELM_JOB}";
}
EOF
@@ -110,13 +110,13 @@
"vendorHash": null
},
"bpg_proxmox": {
"hash": "sha256-S4GJqoUkqGNe3oZ0pwPR08+qkG5f2RiReVBU+UHkfFw=",
"hash": "sha256-RVhClLMaoCtMhh+4NL8aOj/sK2WtFA/LNjkscKmxIiU=",
"homepage": "https://registry.terraform.io/providers/bpg/proxmox",
"owner": "bpg",
"repo": "terraform-provider-proxmox",
"rev": "v0.90.0",
"rev": "v0.91.0",
"spdx": "MPL-2.0",
"vendorHash": "sha256-Vcp/AvcBz7wO8k89c1u3WGjhl0iuNMbWRAOIbEGXhbw="
"vendorHash": "sha256-/kRacnH+zVEm0u091euV0UIyadAcYnykn2tJiYY19I8="
},
"brightbox_brightbox": {
"hash": "sha256-pwFbCP+qDL/4IUfbPRCkddkbsEEeAu7Wp12/mDL0ABA=",
+2 -2
View File
@@ -75,11 +75,11 @@ in
mkDerivation rec {
pname = "recoll";
version = "1.43.5";
version = "1.43.9";
src = fetchurl {
url = "https://www.recoll.org/${pname}-${version}.tar.gz";
hash = "sha256-Px3uK7I/MkrJbAOmV2ipVct/+p05SST6TLTYoDaLNdQ=";
hash = "sha256-irloDtMO9CBvtI+oEicUOy2myrGskieWoqNk5eapzU8=";
};
mesonFlags = [
@@ -8,13 +8,13 @@
stdenv.mkDerivation rec {
pname = "obs-gradient-source";
version = "0.3.2";
version = "0.3.3";
src = fetchFromGitHub {
owner = "exeldro";
repo = "obs-gradient-source";
rev = version;
sha256 = "sha256-5pll84UZYOTESrid2UuC1aWlaLrWf1LpXqlV09XKLug=";
sha256 = "sha256-Y9PTvaZr7ANwHhqgWsNIikRQLdKO8sA4OXI+mKyUnaM=";
};
nativeBuildInputs = [ cmake ];
@@ -8,13 +8,13 @@
stdenv.mkDerivation rec {
pname = "obs-retro-effects";
version = "1.0.1";
version = "1.0.2";
src = fetchFromGitHub {
owner = "FiniteSingularity";
repo = "obs-retro-effects";
rev = "${version}";
sha256 = "sha256-bWUGuCgCNAaSc0+NRRYsx/8EhrlWuPcipkuUlQZvWDk=";
sha256 = "sha256-oQGXBd/KGPGTK+CoomMjjgrnxTqVIefEKqKH11SPHSY=";
};
nativeBuildInputs = [ cmake ];
@@ -8,13 +8,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "obs-source-clone";
version = "0.1.5";
version = "0.2.0";
src = fetchFromGitHub {
owner = "exeldro";
repo = "obs-source-clone";
tag = finalAttrs.version;
hash = "sha256-0rBtFPfqVvB333eeWRpVe4TgrJTiBTIzsV/SSe3EgOc=";
hash = "sha256-LvxeADojLM33N3CmdwEHQ2FuORMlbKq961do5J7891M=";
};
nativeBuildInputs = [ cmake ];
@@ -11,13 +11,13 @@
stdenv.mkDerivation rec {
pname = "obs-text-pthread";
version = "2.0.7";
version = "2.1.0";
src = fetchFromGitHub {
owner = "norihiro";
repo = "obs-text-pthread";
rev = version;
sha256 = "sha256-YjMZfDSO5VRIY+HBGniNV3HG5vs+zbiqfbrPKs9v804=";
sha256 = "sha256-Br7cX1/7VYIruLA5107+PjTMNEFAE2P/cvmu5EuXbWI=";
};
nativeBuildInputs = [
@@ -51,7 +51,7 @@ in
autoconf,
cargo,
dump_syms,
makeWrapper,
makeBinaryWrapper,
mimalloc,
nodejs,
perl,
@@ -354,7 +354,7 @@ buildStdenv.mkDerivation {
cargo
gnum4
llvmPackagesBuildBuild.bintools
makeWrapper
makeBinaryWrapper
nodejs
perl
python3
@@ -658,9 +658,6 @@ buildStdenv.mkDerivation {
# Remove SDK cruft. FIXME: move to a separate output?
rm -rf $out/share/idl $out/include $out/lib/${binaryName}-devel-*
# Needed to find Mozilla runtime
gappsWrapperArgs+=(--argv0 "$out/bin/.${binaryName}-wrapped")
resourceDir=$out/lib/${binaryName}
''
+ ''
@@ -10,24 +10,38 @@
# $ mkdir ~/.config/nixpkgs/overlays/
# $ echo 'self: super: super.prefer-remote-fetch self super' > ~/.config/nixpkgs/overlays/prefer-remote-fetch.nix
#
self: super: {
binary-cache = args: super.binary-cache ({ preferLocalBuild = false; } // args);
buildenv = args: super.buildenv ({ preferLocalBuild = false; } // args);
fetchfossil = args: super.fetchfossil ({ preferLocalBuild = false; } // args);
fetchdocker = args: super.fetchdocker ({ preferLocalBuild = false; } // args);
fetchgit = args: super.fetchgit ({ preferLocalBuild = false; } // args);
fetchgx = args: super.fetchgx ({ preferLocalBuild = false; } // args);
fetchhg = args: super.fetchhg ({ preferLocalBuild = false; } // args);
fetchipfs = args: super.fetchipfs ({ preferLocalBuild = false; } // args);
fetchrepoproject = args: super.fetchrepoproject ({ preferLocalBuild = false; } // args);
fetchs3 = args: super.fetchs3 ({ preferLocalBuild = false; } // args);
fetchsvn = args: super.fetchsvn ({ preferLocalBuild = false; } // args);
fetchurl =
fpArgs:
super.fetchurl (
super.lib.extends (finalAttrs: args: { preferLocalBuild = args.preferLocalBuild or false; }) (
super.lib.toFunction fpArgs
)
);
mkNugetSource = args: super.mkNugetSource ({ preferLocalBuild = false; } // args);
self: super:
let
preferLocal =
orig:
self.lib.extendMkDerivation {
constructDrv = orig;
extendDrvArgs =
finalAttrs:
{
preferLocalBuild ? false,
...
}:
{
inherit preferLocalBuild;
};
};
in
{
binary-cache = preferLocal super.binary-cache;
buildenv = preferLocal super.buildenv;
fetchfossil = preferLocal super.fetchfossil;
fetchdocker = preferLocal super.fetchdocker;
fetchgit = (preferLocal super.fetchgit) // {
inherit (super.fetchgit) getRevWithTag;
};
fetchgx = preferLocal super.fetchgx;
fetchhg = preferLocal super.fetchhg;
fetchipfs = preferLocal super.fetchipfs;
fetchrepoproject = preferLocal super.fetchrepoproject;
fetchs3 = preferLocal super.fetchs3;
fetchsvn = preferLocal super.fetchsvn;
fetchurl = preferLocal super.fetchurl;
mkNugetSource = preferLocal super.mkNugetSource;
}
@@ -0,0 +1,49 @@
{ pkgs, ... }:
let
pkgs' = pkgs.extend (self: super: super.prefer-remote-fetch self super);
check =
fn: args:
let
drv = pkgs'.testers.invalidateFetcherByDrvHash fn args;
in
if drv.preferLocalBuild then throw "Fetcher must not prefer local builds" else drv;
in
pkgs'.callPackage (
{
testers,
fetchgit,
fetchFromGitHub,
fetchurl,
fetchzip,
...
}:
{
fetchgit = check fetchgit {
name = "simple-nix-source";
url = "https://github.com/NixOS/nix";
rev = "9d9dbe6ed05854e03811c361a3380e09183f4f4a";
sha256 = "sha256-7DszvbCNTjpzGRmpIVAWXk20P0/XTrWZ79KSOGLrUWY=";
};
fetchFromGitHub = check fetchFromGitHub {
name = "simple-nix-source";
owner = "NixOS";
repo = "nix";
rev = "9d9dbe6ed05854e03811c361a3380e09183f4f4a";
hash = "sha256-7DszvbCNTjpzGRmpIVAWXk20P0/XTrWZ79KSOGLrUWY=";
};
fetchurl = check fetchurl {
url = "https://gist.github.com/glandium/01d54cefdb70561b5f6675e08f2990f2/archive/2f430f0c136a69b0886281d0c76708997d8878af.zip";
sha256 = "sha256-J/ZWC23GmFfew/56NQvPqKzqkWgjOaPvbMicFJnuJxI=";
};
fetchzip = check fetchzip {
url = "https://gist.github.com/glandium/01d54cefdb70561b5f6675e08f2990f2/archive/2f430f0c136a69b0886281d0c76708997d8878af.zip";
sha256 = "sha256-0ecwgL8qUavSj1+WkaxpmRBmu7cvj53V5eXQV71fddU=";
};
}
) { }
+478 -152
View File
@@ -1,9 +1,37 @@
{
lib,
pkgs,
stdenv,
buildPackages,
bash,
bashInteractive,
busybox,
coreutils,
cpio,
dpkg,
e2fsprogs,
fetchurl,
glibc,
kmod,
linux,
makeInitrd,
makeModulesClosure,
mtdutils,
rpm,
runCommand,
util-linux,
virtiofsd,
writeScript,
writeText,
xz,
zstd,
# ----------------------------
# The following arguments form the "interface" of `pkgs.vmTools`.
# Note that `img` is a real package, but is set to this default in `all-packages.nix`.
# ----------------------------
customQemu ? null,
kernel ? pkgs.linux,
img ? pkgs.stdenv.hostPlatform.linux-kernel.target,
kernel ? linux,
img ? stdenv.hostPlatform.linux-kernel.target,
storeDir ? builtins.storeDir,
rootModules ? [
"virtio_pci"
@@ -18,30 +46,11 @@
}:
let
inherit (pkgs)
bash
bashInteractive
busybox
cpio
coreutils
e2fsprogs
fetchurl
kmod
rpm
stdenv
util-linux
buildPackages
writeScript
writeText
runCommand
;
in
rec {
qemu-common = import ../../../nixos/lib/qemu-common.nix { inherit lib pkgs; };
qemu-common = import ../../../nixos/lib/qemu-common.nix { inherit lib stdenv; };
qemu = buildPackages.qemu_kvm;
modulesClosure = pkgs.makeModulesClosure {
modulesClosure = makeModulesClosure {
kernel = lib.getOutput "modules" kernel;
inherit rootModules;
firmware = kernel;
@@ -64,18 +73,18 @@ rec {
# Copy what we need from Glibc.
cp -p \
${pkgs.stdenv.cc.libc}/lib/ld-*.so.? \
${pkgs.stdenv.cc.libc}/lib/libc.so.* \
${pkgs.stdenv.cc.libc}/lib/libm.so.* \
${pkgs.stdenv.cc.libc}/lib/libresolv.so.* \
${pkgs.stdenv.cc.libc}/lib/libpthread.so.* \
${pkgs.zstd.out}/lib/libzstd.so.* \
${pkgs.xz.out}/lib/liblzma.so.* \
${stdenv.cc.libc}/lib/ld-*.so.? \
${stdenv.cc.libc}/lib/libc.so.* \
${stdenv.cc.libc}/lib/libm.so.* \
${stdenv.cc.libc}/lib/libresolv.so.* \
${stdenv.cc.libc}/lib/libpthread.so.* \
${zstd.out}/lib/libzstd.so.* \
${xz.out}/lib/liblzma.so.* \
$out/lib
# Copy BusyBox.
cp -pd ${pkgs.busybox}/bin/* $out/bin
cp -pd ${pkgs.kmod}/bin/* $out/bin
cp -pd ${busybox}/bin/* $out/bin
cp -pd ${kmod}/bin/* $out/bin
# Run patchelf to make the programs refer to the copied libraries.
for i in $out/bin/* $out/lib/*; do if ! test -L $i; then nuke-refs $i; fi; done
@@ -179,7 +188,7 @@ rec {
exec switch_root /fs $command
'';
initrd = pkgs.makeInitrd {
initrd = makeInitrd {
contents = [
{
object = stage1Init;
@@ -294,8 +303,8 @@ rec {
''${diskImage:+diskImage=$diskImage}
# GitHub Actions runners seems to not allow installing seccomp filter: https://github.com/rcambrj/nix-pi-loader/issues/1#issuecomment-2605497516
# Since we are running in a sandbox already, the difference between seccomp and none is minimal
${pkgs.virtiofsd}/bin/virtiofsd --xattr --socket-path virtio-store.sock --sandbox none --seccomp none --shared-dir "${storeDir}" &
${pkgs.virtiofsd}/bin/virtiofsd --xattr --socket-path virtio-xchg.sock --sandbox none --seccomp none --shared-dir xchg &
${virtiofsd}/bin/virtiofsd --xattr --socket-path virtio-store.sock --sandbox none --seccomp none --shared-dir "${storeDir}" &
${virtiofsd}/bin/virtiofsd --xattr --socket-path virtio-xchg.sock --sandbox none --seccomp none --shared-dir xchg &
# Wait until virtiofsd has created these sockets to avoid race condition.
until [[ -e virtio-store.sock ]]; do ${coreutils}/bin/sleep 1; done
@@ -437,8 +446,8 @@ rec {
stdenv.mkDerivation {
name = "extract-file-mtd";
buildInputs = [
pkgs.util-linux
pkgs.mtdutils
util-linux
mtdutils
];
buildCommand = ''
ln -s ${kernel}/lib /lib
@@ -548,9 +557,10 @@ rec {
# Newer distributions like Fedora 18 require /lib etc. to be
# symlinked to /usr.
${lib.optionalString unifiedSystemDir ''
mkdir -p /mnt/usr/bin /mnt/usr/sbin /mnt/usr/lib /mnt/usr/lib64
mkdir -p /mnt/usr/bin /mnt/usr/lib /mnt/usr/lib64
ln -s /usr/bin /mnt/bin
ln -s /usr/sbin /mnt/sbin
ln -s /usr/bin /mnt/sbin
ln -s /usr/bin /mnt/usr/sbin
ln -s /usr/lib /mnt/lib
ln -s /usr/lib64 /mnt/lib64
${util-linux}/bin/mount -t proc none /mnt/proc
@@ -729,9 +739,9 @@ rec {
PATH=$PATH:${
lib.makeBinPath [
pkgs.dpkg
pkgs.glibc
pkgs.xz
dpkg
glibc
xz
]
}
@@ -826,13 +836,32 @@ rec {
{
nativeBuildInputs = [
buildPackages.perl
buildPackages.perlPackages.URI
buildPackages.perlPackages.XMLSimple
buildPackages.zstd
];
inherit archs;
}
''
${lib.concatImapStrings (i: pl: ''
gunzip < ${pl} > ./packages_${toString i}.xml
echo "decompressing ${pl}..."
case ${pl} in
*.zst)
zstd -d < ${pl} > ./packages_${toString i}.xml
;;
*.xz | *.lzma)
xz -d < ${pl} > ./packages_${toString i}.xml
;;
*.bz2)
bunzip2 < ${pl} > ./packages_${toString i}.xml
;;
*.gz)
gunzip < ${pl} > ./packages_${toString i}.xml
;;
*)
cp ${pl} ./packages_${toString i}.xml
;;
esac
'') packagesLists}
perl -w ${rpm/rpm-closure.pl} \
${
@@ -990,25 +1019,246 @@ rec {
# The set of supported RPM-based distributions.
rpmDistros = { };
rpmDistros = {
fedora42x86_64 = {
name = "fedora-42-x86_64";
fullName = "Fedora 42 (x86_64)";
packagesList = fetchurl {
url = "https://dl.fedoraproject.org/pub/fedora/linux/releases/42/Everything/x86_64/os/repodata/cd483b35df017d68b73a878a392bbf666a43d75db54c386e4720bc369eb5c3a3-primary.xml.zst";
hash = "sha256-zUg7Nd8BfWi3OoeKOSu/ZmpD1121TDhuRyC8Np61w6M=";
};
urlPrefix = "https://dl.fedoraproject.org/pub/fedora/linux/releases/42/Everything/x86_64/os";
archs = [
"noarch"
"x86_64"
];
packages = commonFedoraPackages;
unifiedSystemDir = true;
};
fedora43x86_64 = {
name = "fedora-43-x86_64";
fullName = "Fedora 43 (x86_64)";
packagesList = fetchurl {
url = "https://dl.fedoraproject.org/pub/fedora/linux/releases/43/Everything/x86_64/os/repodata/fffa3e9f63fffd3d21b8ea5e9bb0fe349a7ed1d4e09777a618cec93a2bcc305f-primary.xml.zst";
hash = "sha256-//o+n2P//T0huOpem7D+NJp+0dTgl3emGM7JOivMMF8=";
};
urlPrefix = "https://dl.fedoraproject.org/pub/fedora/linux/releases/43/Everything/x86_64/os";
archs = [
"noarch"
"x86_64"
];
packages = commonFedoraPackages ++ [ "gpgverify" ];
unifiedSystemDir = true;
};
# Rocky Linux's /pub/rocky/9/ URL is rolling and changes with each minor release. We use the
# vault instead, which provides stable URLs for specific minor versions.
rocky9x86_64 = {
name = "rocky-9.6-x86_64";
fullName = "Rocky Linux 9.6 (x86_64)";
packagesLists = [
(fetchurl {
url = "https://dl.rockylinux.org/vault/rocky/9.6/BaseOS/x86_64/os/repodata/9965e429a90787a87a07eed62872d046411fb7dded524b96d74c4ce1eade327a-primary.xml.gz";
hash = "sha256-mWXkKakHh6h6B+7WKHLQRkEft93tUkuW10xM4ereMno=";
})
(fetchurl {
url = "https://dl.rockylinux.org/vault/rocky/9.6/AppStream/x86_64/os/repodata/8cc9f795679c3365c06b6135f685ebf4188a5863a5f52f09f8cabd4f09c4dfa1-primary.xml.gz";
hash = "sha256-jMn3lWecM2XAa2E19oXr9BiKWGOl9S8J+Mq9TwnE36E=";
})
];
urlPrefixes = [
"https://dl.rockylinux.org/vault/rocky/9.6/BaseOS/x86_64/os"
"https://dl.rockylinux.org/vault/rocky/9.6/AppStream/x86_64/os"
];
archs = [
"noarch"
"x86_64"
];
packages = commonRockyPackages ++ [
"annobin"
];
unifiedSystemDir = true;
};
# Rocky Linux's /pub/rocky/10/ URL is rolling and changes with each minor release. We use the
# vault instead, which provides stable URLs for specific minor versions.
rocky10x86_64 = {
name = "rocky-10.0-x86_64";
fullName = "Rocky Linux 10.0 (x86_64)";
packagesLists = [
(fetchurl {
url = "https://dl.rockylinux.org/vault/rocky/10.0/BaseOS/x86_64/os/repodata/484d5c43cdb1058dd1328a6b891f45c85f1cb2620c528f2ef423d4b9feb9e2f0-primary.xml.gz";
hash = "sha256-SE1cQ82xBY3RMopriR9FyF8csmIMUo8u9CPUuf654vA=";
})
(fetchurl {
url = "https://dl.rockylinux.org/vault/rocky/10.0/AppStream/x86_64/os/repodata/32c93064142d89f3f19c11e92642c5abd8368418f7ab3f3bdd752e4afa9b5b23-primary.xml.gz";
hash = "sha256-MskwZBQtifPxnBHpJkLFq9g2hBj3qz873XUuSvqbWyM=";
})
];
urlPrefixes = [
"https://dl.rockylinux.org/vault/rocky/10.0/BaseOS/x86_64/os"
"https://dl.rockylinux.org/vault/rocky/10.0/AppStream/x86_64/os"
];
archs = [
"noarch"
"x86_64"
];
packages = commonRockyPackages ++ [
"annobin-plugin-gcc"
];
unifiedSystemDir = true;
};
# AlmaLinux's repo.almalinux.org URLs are rolling and change with each minor release.
# We use vault.almalinux.org instead, which provides stable URLs for specific versions.
alma9x86_64 = {
name = "alma-9.6-x86_64";
fullName = "AlmaLinux 9.6 (x86_64)";
packagesLists = [
(fetchurl {
url = "https://vault.almalinux.org/9.6/BaseOS/x86_64/os/repodata/26d6cf944c86ef850773e61919e892a375ff10bb2254003e1d71673db9900b07-primary.xml.gz";
hash = "sha256-JtbPlEyG74UHc+YZGeiSo3X/ELsiVAA+HXFnPbmQCwc=";
})
(fetchurl {
url = "https://vault.almalinux.org/9.6/AppStream/x86_64/os/repodata/afb5d18b78d819d826d3d0e32ba439da7b9e0fd91d726dd833366496b1b8ca20-primary.xml.gz";
hash = "sha256-r7XRi3jYGdgm09DjK6Q52nueD9kdcm3YMzZklrG4yiA=";
})
];
urlPrefixes = [
"https://vault.almalinux.org/9.6/BaseOS/x86_64/os"
"https://vault.almalinux.org/9.6/AppStream/x86_64/os"
];
archs = [
"noarch"
"x86_64"
];
packages = commonAlmaPackages ++ [
"annobin"
];
unifiedSystemDir = true;
};
alma10x86_64 = {
name = "alma-10.0-x86_64";
fullName = "AlmaLinux 10.0 (x86_64)";
packagesLists = [
(fetchurl {
url = "https://vault.almalinux.org/10.0/BaseOS/x86_64/os/repodata/4d88695fa7ccb6298897fa9682ac1ded4628df342ffe08312846225e4469e3e4-primary.xml.gz";
hash = "sha256-TYhpX6fMtimIl/qWgqwd7UYo3zQv/ggxKEYiXkRp4+Q=";
})
(fetchurl {
url = "https://vault.almalinux.org/10.0/AppStream/x86_64/os/repodata/11ac32065bae6f2c2451803458690fc550e79f93a4ea9f438930f0c228964791-primary.xml.gz";
hash = "sha256-EawyBluubywkUYA0WGkPxVDnn5Ok6p9DiTDwwiiWR5E=";
})
];
urlPrefixes = [
"https://vault.almalinux.org/10.0/BaseOS/x86_64/os"
"https://vault.almalinux.org/10.0/AppStream/x86_64/os"
];
archs = [
"noarch"
"x86_64"
];
packages = commonAlmaPackages ++ [
"annobin-plugin-gcc"
];
unifiedSystemDir = true;
};
# Oracle provides versioned URLs for baseos (e.g., OL9/7/baseos/base/) but not for appstream.
# We can't mix versioned baseos with rolling appstream due to package version dependencies,
# so we use rolling URLs for both. These may need hash updates when Oracle releases new versions.
oracle9x86_64 = {
name = "oracle-9-x86_64";
fullName = "Oracle Linux 9 (x86_64)";
packagesLists = [
(fetchurl {
url = "https://yum.oracle.com/repo/OracleLinux/OL9/baseos/latest/x86_64/repodata/bc292d67f73fc606db1872d5ba8804da06a514efe64523247035f0d3b678fb63-primary.xml.gz";
hash = "sha256-vCktZ/c/xgbbGHLVuogE2galFO/mRSMkcDXw07Z4+2M=";
})
(fetchurl {
url = "https://yum.oracle.com/repo/OracleLinux/OL9/appstream/x86_64/repodata/6fabacadf7cdf22cbb21dc296f58e6b852d5b8ec9a927e214231477ef90083f9-primary.xml.gz";
hash = "sha256-b6usrffN8iy7Idwpb1jmuFLVuOyakn4hQjFHfvkAg/k=";
})
];
urlPrefixes = [
"https://yum.oracle.com/repo/OracleLinux/OL9/baseos/latest/x86_64"
"https://yum.oracle.com/repo/OracleLinux/OL9/appstream/x86_64"
];
archs = [
"noarch"
"x86_64"
];
packages = commonOraclePackages ++ [
"annobin"
];
unifiedSystemDir = true;
};
# Amazon Linux 2023 uses GUID-based URLs that don't allow directory listing.
# To update: The GUID corresponds to a specific AL2023 release version. You can find the
# current GUID by either:
# 1. Running an AL2023 container: `docker run -it amazonlinux:2023 dnf repolist -v`
# and extracting the GUID from the Repo-baseurl field
# 2. Checking https://github.com/docker-library/repo-info/blob/master/repos/amazonlinux/local/latest.md
# which tracks the repository URLs from the official Docker image
# Release notes: https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes.html
amazon2023x86_64 = {
name = "amazon-2023-x86_64";
fullName = "Amazon Linux 2023 (x86_64)";
packagesList = fetchurl {
url = "https://cdn.amazonlinux.com/al2023/core/guids/6fa961924efb4835a7e8de43c89726dca28a5cf5906f891262d8f78a31ea3aaf/x86_64/repodata/primary.xml.gz";
hash = "sha256-Ezdsc8a2aOIbyXvQ/nyanWe1fl089VgtfegaPcu2oo4=";
};
urlPrefix = "https://cdn.amazonlinux.com/al2023/core/guids/6fa961924efb4835a7e8de43c89726dca28a5cf5906f891262d8f78a31ea3aaf/x86_64";
archs = [
"noarch"
"x86_64"
];
packages = commonAmazonPackages ++ [
"annobin-plugin-gcc"
];
unifiedSystemDir = true;
};
};
# The set of supported Dpkg-based distributions.
debDistros = {
# Ubuntu's snapshot service returns the same data for 22.04 regardless of the timestamp in the
# URL. The hashes don't change between mirror://ubuntu and snapshot.ubuntu.com, so this is fine.
ubuntu2204i386 = {
name = "ubuntu-22.04-jammy-i386";
fullName = "Ubuntu 22.04 Jammy (i386)";
packagesLists = [
(fetchurl {
url = "mirror://ubuntu/dists/jammy/main/binary-i386/Packages.xz";
sha256 = "sha256-iZBmwT0ep4v+V3sayybbOgZBOFFZwPGpOKtmuLMMVPQ=";
url = "https://snapshot.ubuntu.com/ubuntu/20260101T000000Z/dists/jammy/main/binary-i386/Packages.xz";
hash = "sha256-iZBmwT0ep4v+V3sayybbOgZBOFFZwPGpOKtmuLMMVPQ=";
})
(fetchurl {
url = "mirror://ubuntu/dists/jammy/universe/binary-i386/Packages.xz";
sha256 = "sha256-DO2LdpZ9rDDBhWj2gvDWd0TJJVZHxKsYTKTi6GXjm1E=";
url = "https://snapshot.ubuntu.com/ubuntu/20260101T000000Z/dists/jammy/universe/binary-i386/Packages.xz";
hash = "sha256-DO2LdpZ9rDDBhWj2gvDWd0TJJVZHxKsYTKTi6GXjm1E=";
})
(fetchurl {
url = "https://snapshot.ubuntu.com/ubuntu/20260101T000000Z/dists/jammy-updates/main/binary-i386/Packages.xz";
hash = "sha256-g95BtOoMxacZEHMBbcMes4a1P9HKf/QGOMOPr+OKayo=";
})
(fetchurl {
url = "https://snapshot.ubuntu.com/ubuntu/20260101T000000Z/dists/jammy-updates/universe/binary-i386/Packages.xz";
hash = "sha256-VbazaDDJKSUyQchGmw5f+FYAr4PIXWZJSBF0WVC5j+0=";
})
(fetchurl {
url = "https://snapshot.ubuntu.com/ubuntu/20260101T000000Z/dists/jammy-security/main/binary-i386/Packages.xz";
hash = "sha256-SkP4PqjUAbEMtktR5WQm/3jQl9O0T2VOVTP9QIYIVkQ=";
})
(fetchurl {
url = "https://snapshot.ubuntu.com/ubuntu/20260101T000000Z/dists/jammy-security/universe/binary-i386/Packages.xz";
hash = "sha256-citjk8LAGSRlXgOXgf3oe9vBCUC6/DJGhRJl/3ppN9c=";
})
];
urlPrefix = "mirror://ubuntu";
urlPrefix = "https://snapshot.ubuntu.com/ubuntu/20260101T000000Z";
packages = commonDebPackages ++ [
"diffutils"
"libc-bin"
@@ -1020,15 +1270,31 @@ rec {
fullName = "Ubuntu 22.04 Jammy (amd64)";
packagesLists = [
(fetchurl {
url = "mirror://ubuntu/dists/jammy/main/binary-amd64/Packages.xz";
sha256 = "sha256-N8tX8VVMv6ccWinun/7hipqMF4K7BWjgh0t/9M6PnBE=";
url = "https://snapshot.ubuntu.com/ubuntu/20260101T000000Z/dists/jammy/main/binary-amd64/Packages.xz";
hash = "sha256-N8tX8VVMv6ccWinun/7hipqMF4K7BWjgh0t/9M6PnBE=";
})
(fetchurl {
url = "mirror://ubuntu/dists/jammy/universe/binary-amd64/Packages.xz";
sha256 = "sha256-0pyyTJP+xfQyVXBrzn60bUd5lSA52MaKwbsUpvNlXOI=";
url = "https://snapshot.ubuntu.com/ubuntu/20260101T000000Z/dists/jammy/universe/binary-amd64/Packages.xz";
hash = "sha256-0pyyTJP+xfQyVXBrzn60bUd5lSA52MaKwbsUpvNlXOI=";
})
(fetchurl {
url = "https://snapshot.ubuntu.com/ubuntu/20260101T000000Z/dists/jammy-updates/main/binary-amd64/Packages.xz";
hash = "sha256-I57YuLZ458RljXfp1xFxqQLGNJh9uu8kQC0hc88XZro=";
})
(fetchurl {
url = "https://snapshot.ubuntu.com/ubuntu/20260101T000000Z/dists/jammy-updates/universe/binary-amd64/Packages.xz";
hash = "sha256-ZXobWMi7tkakZ89GoyKpiRhRxMRXud0DOerSfzz5CPE=";
})
(fetchurl {
url = "https://snapshot.ubuntu.com/ubuntu/20260101T000000Z/dists/jammy-security/main/binary-amd64/Packages.xz";
hash = "sha256-cifTPY1iyckkaLd7dp+VPRlF0viWKrWXhM8HVWaMuUw=";
})
(fetchurl {
url = "https://snapshot.ubuntu.com/ubuntu/20260101T000000Z/dists/jammy-security/universe/binary-amd64/Packages.xz";
hash = "sha256-LTSOGbzkv0KrF2JM6oVT1Ml2KQkySXMbKNMBb9AyfQM=";
})
];
urlPrefix = "mirror://ubuntu";
urlPrefix = "https://snapshot.ubuntu.com/ubuntu/20260101T000000Z";
packages = commonDebPackages ++ [
"diffutils"
"libc-bin"
@@ -1040,15 +1306,31 @@ rec {
fullName = "Ubuntu 24.04 Noble (amd64)";
packagesLists = [
(fetchurl {
url = "mirror://ubuntu/dists/noble/main/binary-amd64/Packages.xz";
sha256 = "sha256-KmoZnhAxpcJ5yzRmRtWUmT81scA91KgqqgMjmA3ZJFE=";
url = "https://snapshot.ubuntu.com/ubuntu/20260101T000000Z/dists/noble/main/binary-amd64/Packages.xz";
hash = "sha256-KmoZnhAxpcJ5yzRmRtWUmT81scA91KgqqgMjmA3ZJFE=";
})
(fetchurl {
url = "mirror://ubuntu/dists/noble/universe/binary-amd64/Packages.xz";
sha256 = "sha256-upBX+huRQ4zIodJoCNAMhTif4QHQwUliVN+XI2QFWZo=";
url = "https://snapshot.ubuntu.com/ubuntu/20260101T000000Z/dists/noble/universe/binary-amd64/Packages.xz";
hash = "sha256-upBX+huRQ4zIodJoCNAMhTif4QHQwUliVN+XI2QFWZo=";
})
(fetchurl {
url = "https://snapshot.ubuntu.com/ubuntu/20260101T000000Z/dists/noble-updates/main/binary-amd64/Packages.xz";
hash = "sha256-leBJ29a2C2qdIPdjSSuwkHKUSq8GEC9L0DgdxHWZ55s=";
})
(fetchurl {
url = "https://snapshot.ubuntu.com/ubuntu/20260101T000000Z/dists/noble-updates/universe/binary-amd64/Packages.xz";
hash = "sha256-CWYA0A4ytptWdClW3ACdIH4hKscblDh5OgxExP4VdJA=";
})
(fetchurl {
url = "https://snapshot.ubuntu.com/ubuntu/20260101T000000Z/dists/noble-security/main/binary-amd64/Packages.xz";
hash = "sha256-TYs8ugCYqzOleH2OebdrpB8E68PfxB+7sRb+PlfANEo=";
})
(fetchurl {
url = "https://snapshot.ubuntu.com/ubuntu/20260101T000000Z/dists/noble-security/universe/binary-amd64/Packages.xz";
hash = "sha256-bK9R8CUjLQ1V4GP7/KqZooSnKHF5+T5SuBs0butC82M=";
})
];
urlPrefix = "mirror://ubuntu";
urlPrefix = "https://snapshot.ubuntu.com/ubuntu/20260101T000000Z";
packages = commonDebPackages ++ [
"diffutils"
"libc-bin"
@@ -1056,137 +1338,147 @@ rec {
};
debian11i386 = {
name = "debian-11.8-bullseye-i386";
fullName = "Debian 11.8 Bullseye (i386)";
name = "debian-11.11-bullseye-i386";
fullName = "Debian 11.11 Bullseye (i386)";
packagesList = fetchurl {
url = "https://snapshot.debian.org/archive/debian/20231124T031419Z/dists/bullseye/main/binary-i386/Packages.xz";
hash = "sha256-0bKSLLPhEC7FB5D1NA2jaQP0wTe/Qp1ddiA/NDVjRaI=";
url = "https://snapshot.debian.org/archive/debian/20260105T082626Z/dists/bullseye/main/binary-i386/Packages.xz";
hash = "sha256-kUg1VBUO6co/5bKloxncta49191oCeF05Hm399+UuDA=";
};
urlPrefix = "https://snapshot.debian.org/archive/debian/20231124T031419Z";
urlPrefix = "https://snapshot.debian.org/archive/debian/20260105T082626Z";
packages = commonDebianPackages;
};
debian11x86_64 = {
name = "debian-11.8-bullseye-amd64";
fullName = "Debian 11.8 Bullseye (amd64)";
name = "debian-11.11-bullseye-amd64";
fullName = "Debian 11.11 Bullseye (amd64)";
packagesList = fetchurl {
url = "https://snapshot.debian.org/archive/debian/20231124T031419Z/dists/bullseye/main/binary-amd64/Packages.xz";
hash = "sha256-CYPsGgQgJZkh3JmbcAQkYDWP193qrkOADOgrMETZIeo=";
url = "https://snapshot.debian.org/archive/debian/20260105T082626Z/dists/bullseye/main/binary-amd64/Packages.xz";
hash = "sha256-HDQFREKX6thkcRwY5kvOSBDbY7SDQKL52BGC2fI1rXE=";
};
urlPrefix = "https://snapshot.debian.org/archive/debian/20231124T031419Z";
urlPrefix = "https://snapshot.debian.org/archive/debian/20260105T082626Z";
packages = commonDebianPackages;
};
debian12i386 = {
name = "debian-12.2-bookworm-i386";
fullName = "Debian 12.2 Bookworm (i386)";
packagesList = fetchurl {
url = "https://snapshot.debian.org/archive/debian/20231124T031419Z/dists/bookworm/main/binary-i386/Packages.xz";
hash = "sha256-OeN9Q2HFM3GsPNhOa4VhM7qpwT66yUNwC+6Z8SbGEeQ=";
};
urlPrefix = "https://snapshot.debian.org/archive/debian/20231124T031419Z";
name = "debian-12.12-bookworm-i386";
fullName = "Debian 12.12 Bookworm (i386)";
packagesLists = [
(fetchurl {
url = "https://snapshot.debian.org/archive/debian/20260105T082626Z/dists/bookworm/main/binary-i386/Packages.xz";
hash = "sha256-nIijsNoHUYkrL6eiwN4FCLHnJy/Bv/RMvnbMIHvieVI=";
})
(fetchurl {
url = "https://snapshot.debian.org/archive/debian/20260105T082626Z/dists/bookworm-backports/main/binary-i386/Packages.xz";
hash = "sha256-/ja7+DNIKc2ZUIXiocTjLbaD2EPsfeyZcd5ndEMapp4=";
})
];
urlPrefix = "https://snapshot.debian.org/archive/debian/20260105T082626Z";
packages = commonDebianPackages;
};
debian12x86_64 = {
name = "debian-12.2-bookworm-amd64";
fullName = "Debian 12.2 Bookworm (amd64)";
packagesList = fetchurl {
url = "https://snapshot.debian.org/archive/debian/20231124T031419Z/dists/bookworm/main/binary-amd64/Packages.xz";
hash = "sha256-SZDElRfe9BlBwDlajQB79Qdn08rv8whYoQDeVCveKVs=";
};
urlPrefix = "https://snapshot.debian.org/archive/debian/20231124T031419Z";
name = "debian-12.12-bookworm-amd64";
fullName = "Debian 12.12 Bookworm (amd64)";
packagesLists = [
(fetchurl {
url = "https://snapshot.debian.org/archive/debian/20260105T082626Z/dists/bookworm/main/binary-amd64/Packages.xz";
hash = "sha256-PfjQeu3tXmXZhH7foSD6WyFrvY4PfwSN/v5pBeShIBE=";
})
(fetchurl {
url = "https://snapshot.debian.org/archive/debian/20260105T082626Z/dists/bookworm-backports/main/binary-amd64/Packages.xz";
hash = "sha256-S3NSvw1kX2zxzMh+WYhY58VUR7iLrTEIuXwwSK6itIs=";
})
];
urlPrefix = "https://snapshot.debian.org/archive/debian/20260105T082626Z";
packages = commonDebianPackages;
};
debian13i386 = {
name = "debian-13.0-trixie-i386";
fullName = "Debian 13.0 Trixie (i386)";
packagesList = fetchurl {
url = "https://snapshot.debian.org/archive/debian/20250819T202603Z/dists/trixie/main/binary-i386/Packages.xz";
hash = "sha256-fXjhaG1Y+kn6iMEtqVZLwYN7lZ0cEQKVfMS3hSHJipY=";
};
urlPrefix = "https://snapshot.debian.org/archive/debian/20250819T202603Z";
name = "debian-13.2-trixie-i386";
fullName = "Debian 13.2 Trixie (i386)";
packagesLists = [
(fetchurl {
url = "https://snapshot.debian.org/archive/debian/20260105T082626Z/dists/trixie/main/binary-i386/Packages.xz";
hash = "sha256-9zozvFZoWiv3wNe9rb+kPwSOgc5G5f4zmNpdoet5A78=";
})
(fetchurl {
url = "https://snapshot.debian.org/archive/debian/20260105T082626Z/dists/trixie-backports/main/binary-i386/Packages.xz";
hash = "sha256-hEBAQ73Jnv8zp9YvNXWLEObyrSlQNBNBj/XoofJL7eI=";
})
];
urlPrefix = "https://snapshot.debian.org/archive/debian/20260105T082626Z";
packages = commonDebianPackages;
};
debian13x86_64 = {
name = "debian-13.0-trixie-amd64";
fullName = "Debian 13.0 Trixie (amd64)";
packagesList = fetchurl {
url = "https://snapshot.debian.org/archive/debian/20250819T202603Z/dists/trixie/main/binary-amd64/Packages.xz";
hash = "sha256-15cDoCcTv3m5fiZqP1hqWWnSG1BVUZSrm5YszTSKQs4=";
};
urlPrefix = "https://snapshot.debian.org/archive/debian/20250819T202603Z";
name = "debian-13.2-trixie-amd64";
fullName = "Debian 13.2 Trixie (amd64)";
packagesLists = [
(fetchurl {
url = "https://snapshot.debian.org/archive/debian/20260105T082626Z/dists/trixie/main/binary-amd64/Packages.xz";
hash = "sha256-g7f+tKljUXAC4gxJfzSC8+j0GbiwRZjonv25tYuvxtU=";
})
(fetchurl {
url = "https://snapshot.debian.org/archive/debian/20260105T082626Z/dists/trixie-backports/main/binary-amd64/Packages.xz";
hash = "sha256-9OoR36FsyK7MQMLHLFMRJ9O11WKq9JCfGwnprpztxNw=";
})
];
urlPrefix = "https://snapshot.debian.org/archive/debian/20260105T082626Z";
packages = commonDebianPackages;
};
};
# Common packages for Fedora images.
commonFedoraPackages = [
# Base packages for all RHEL-family distros (Fedora, Rocky, Alma, etc.)
baseRHELFamilyPackages = [
"autoconf"
"automake"
"basesystem"
"bzip2"
"curl"
"diffutils"
"findutils"
"gawk"
"gcc-c++"
"glibc-gconv-extra"
"gzip"
"make"
"patch"
"perl"
"rpm"
"rpm-build"
"tar"
"unzip"
];
commonFedoraPackages = baseRHELFamilyPackages ++ [
"annobin-plugin-gcc"
"fedora-release"
"findutils"
"gawk"
"gcc-c++"
"gzip"
"make"
"patch"
"perl"
"gcc-plugin-annobin"
"pkgconf-pkg-config"
"rpm"
"rpm-build"
"tar"
"unzip"
];
commonCentOSPackages = [
"autoconf"
"automake"
"basesystem"
"bzip2"
"curl"
"diffutils"
"centos-release"
"findutils"
"gawk"
"gcc-c++"
"gzip"
"make"
"patch"
"perl"
"pkgconfig"
"rpm"
"rpm-build"
"tar"
"unzip"
commonRockyPackages = baseRHELFamilyPackages ++ [
"gcc-plugin-annobin"
"pkgconf"
"rocky-release"
];
commonRHELPackages = [
"autoconf"
"automake"
"basesystem"
"bzip2"
"curl"
"diffutils"
"findutils"
"gawk"
"gcc-c++"
"gzip"
"make"
"patch"
"perl"
"pkgconfig"
"procps-ng"
"rpm"
"rpm-build"
"tar"
"unzip"
commonAlmaPackages = baseRHELFamilyPackages ++ [
"almalinux-release"
"gcc-plugin-annobin"
"pkgconf"
];
commonOraclePackages = baseRHELFamilyPackages ++ [
"gcc-plugin-annobin"
"oraclelinux-release"
"pkgconf"
];
commonAmazonPackages = baseRHELFamilyPackages ++ [
"gcc-plugin-annobin"
"pkgconf"
"system-release"
];
# Common packages for openSUSE images.
@@ -1284,5 +1576,39 @@ rec {
`debDistros' sets.
*/
diskImages = lib.mapAttrs (name: f: f { }) diskImageFuns;
in
{
inherit
buildRPM
commonDebPackages
commonDebianPackages
commonFedoraPackages
commonOpenSUSEPackages
createEmptyImage
debClosureGenerator
debDistros
defaultCreateRootFS
diskImageExtraFuns
diskImageFuns
diskImages
extractFs
extractMTDfs
fillDiskWithDebs
fillDiskWithRPMs
hd
initrd
initrdUtils
makeImageFromDebDist
makeImageFromRPMDist
makeImageTestScript
modulesClosure
qemu
rpmClosureGenerator
rpmDistros
runInLinuxImage
runInLinuxVM
stage1Init
stage2Init
vmRunCommand
;
}
+14 -2
View File
@@ -1,6 +1,7 @@
use strict;
use XML::Simple;
use List::Util qw(min);
use URI::Escape;
my @packagesFiles = ();
my @urlPrefixes = ();
@@ -156,7 +157,13 @@ sub closePackage {
foreach my $pkgName (@toplevelPkgs) {
closePackage $pkgName;
# If the package doesn't exist by name, check if something provides it
if (!defined $pkgs{$pkgName} && defined $provides{$pkgName}) {
print STDERR "package $pkgName is provided by $provides{$pkgName}\n";
closePackage $provides{$pkgName};
} else {
closePackage $pkgName;
}
}
@@ -168,8 +175,13 @@ print "[\n\n";
foreach my $pkgName (@needed) {
my $pkg = $pkgs{$pkgName};
# URL-encode each path segment separately to handle special characters like '+'
my $href = $pkg->{location}->{href};
my @segments = split('/', $href);
my @encoded_segments = map { uri_escape($_) } @segments;
my $encoded_href = join('/', @encoded_segments);
print " (fetchurl {\n";
print " url = $pkg->{urlPrefix}/$pkg->{location}->{href};\n";
print " url = \"$pkg->{urlPrefix}/$encoded_href\";\n";
if ($pkg->{checksum}->{type} eq "sha") {
print " sha1 = \"$pkg->{checksum}->{content}\";\n";
} elsif ($pkg->{checksum}->{type} eq "sha256") {
+45 -35
View File
@@ -1,14 +1,12 @@
{
hello,
patchelf,
pcmanfm,
stdenv,
vmTools,
}:
let
pkgs = import ../../.. { };
inherit (pkgs)
hello
patchelf
pcmanfm
stdenv
;
inherit (pkgs.vmTools)
inherit (vmTools)
buildRPM
diskImages
makeImageTestScript
@@ -18,12 +16,28 @@ let
in
{
# Run the PatchELF derivation in a VM.
buildPatchelfInVM = runInLinuxVM patchelf;
buildPatchelfInDebian = runInLinuxImage (
stdenv.mkDerivation {
inherit (patchelf) pname version src;
diskImage = diskImages.debian13x86_64;
diskImageFormat = "qcow2";
memSize = 512;
}
);
buildHelloInVM = runInLinuxVM hello;
buildStructuredAttrsHelloInVM = runInLinuxVM (hello.overrideAttrs { __structuredAttrs = true; });
buildHelloInFedora = runInLinuxImage (
stdenv.mkDerivation {
inherit (hello) pname version src;
diskImage = diskImages.fedora42x86_64;
diskImageFormat = "qcow2";
memSize = 512;
}
);
buildPcmanrmInVM = runInLinuxVM (
pcmanfm.overrideAttrs (old: {
@@ -32,28 +46,24 @@ in
})
);
testRPMImage = makeImageTestScript diskImages.fedora27x86_64;
buildPatchelfRPM = buildRPM {
name = "patchelf-rpm";
src = patchelf.src;
diskImage = diskImages.fedora27x86_64;
diskImageFormat = "qcow2";
};
testUbuntuImage = makeImageTestScript diskImages.ubuntu1804i386;
buildInDebian = runInLinuxImage (
stdenv.mkDerivation {
name = "deb-compile";
src = patchelf.src;
diskImage = diskImages.ubuntu1804i386;
diskImageFormat = "qcow2";
memSize = 512;
postHook = ''
dpkg-query --list
'';
}
);
# RPM-based distros
testFedora42Image = makeImageTestScript diskImages.fedora42x86_64;
testFedora43Image = makeImageTestScript diskImages.fedora43x86_64;
testRocky9Image = makeImageTestScript diskImages.rocky9x86_64;
testRocky10Image = makeImageTestScript diskImages.rocky10x86_64;
testAlma9Image = makeImageTestScript diskImages.alma9x86_64;
testAlma10Image = makeImageTestScript diskImages.alma10x86_64;
testOracle9Image = makeImageTestScript diskImages.oracle9x86_64;
testAmazon2023Image = makeImageTestScript diskImages.amazon2023x86_64;
# Debian-based distros
testDebian11i386Image = makeImageTestScript diskImages.debian11i386;
testDebian11x86_64Image = makeImageTestScript diskImages.debian11x86_64;
testDebian12i386Image = makeImageTestScript diskImages.debian12i386;
testDebian12x86_64Image = makeImageTestScript diskImages.debian12x86_64;
testDebian13i386Image = makeImageTestScript diskImages.debian13i386;
testDebian13x86_64Image = makeImageTestScript diskImages.debian13x86_64;
testUbuntu2204i386Image = makeImageTestScript diskImages.ubuntu2204i386;
testUbuntu2204x86_64Image = makeImageTestScript diskImages.ubuntu2204x86_64;
testUbuntu2404x86_64Image = makeImageTestScript diskImages.ubuntu2404x86_64;
}
+4 -4
View File
@@ -9,15 +9,15 @@
buildGoModule (finalAttrs: {
pname = "adguardhome";
version = "0.107.69";
version = "0.107.71";
src = fetchFromGitHub {
owner = "AdguardTeam";
repo = "AdGuardHome";
tag = "v${finalAttrs.version}";
hash = "sha256-eUMssp4rYmkreYdaSDlYP0bQsZgsrrN9e65UF7NseN8=";
hash = "sha256-uyDmS/C1nd0DEHy91tMw/2W5Rih/0j59yxGCwTjFjPc=";
};
vendorHash = "sha256-qee3ifDDR1U23VZAu0gj1CPPaDrSQfwfrKte1OUZPlE=";
vendorHash = "sha256-KSDvI7SljFUZSUFytT1U76HzQydv3rNsOmDMKCXDl6M=";
dashboard = buildNpmPackage {
inherit (finalAttrs) src version;
@@ -45,7 +45,7 @@ buildGoModule (finalAttrs: {
passthru = {
updateScript = ./update.sh;
schema_version = 31;
schema_version = 32;
tests.adguardhome = nixosTests.adguardhome;
tests.version = testers.testVersion {
package = finalAttrs.finalPackage;
+2 -2
View File
@@ -7,11 +7,11 @@
let
pname = "altair";
version = "8.3.0";
version = "8.5.0";
src = fetchurl {
url = "https://github.com/imolorhe/altair/releases/download/v${version}/altair_${version}_x86_64_linux.AppImage";
sha256 = "sha256-uLqtrF5WWJ5+6bN/h4u/vdvTlbQtZID1osujfuJad4U=";
sha256 = "sha256-ImcnV+Z1J+6wGs3HmlCpXmLb/BbyEcunY+IZ2cbD8Ns=";
};
appimageContents = appimageTools.extract { inherit pname version src; };
@@ -1,29 +0,0 @@
From cae2ad70d6202bc97623be8c7c123ee2736a4644 Mon Sep 17 00:00:00 2001
From: aleksana <me@aleksana.moe>
Date: Sun, 9 Mar 2025 21:19:27 +0800
Subject: [PATCH] replace_regex: remove bash word boundary when detecting
gnused
Bash linked against C libraries other than GLibc may not support GNU
extensions of POSIX Extended Regular Regex. For example,
> re='\bx'; [[ 'x' =~ $re ]] && echo "1"
does not output the same result on Linux/GLibc and macOS.
---
src/std/text.ab | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/std/text.ab b/src/std/text.ab
index fe071e33..82449a02 100644
--- a/src/std/text.ab
+++ b/src/std/text.ab
@@ -19,7 +19,7 @@ pub fun replace_regex(source: Text, search: Text, replace: Text, extended: Bool
// GNU sed versions 4.0 through 4.2 support extended regex syntax,
// but only via the "-r" option; use that if the version information
// contains "GNU sed".
- $ re='\bCopyright\b.+\bFree Software Foundation\b'; [[ \$(sed --version 2>/dev/null) =~ \$re ]] $
+ $ re='Copyright.+Free Software Foundation'; [[ \$(sed --version 2>/dev/null) =~ \$re ]] $
let flag = status == 0 then "-r" else "-E"
return $ echo "{source}" | sed "{flag}" -e "s/{search}/{replace}/g" $
} else {
@@ -0,0 +1,38 @@
From efdbecaf721ccb217ece34a5105eaac68e27aa51 Mon Sep 17 00:00:00 2001
From: Max Karou <maxkarou@protonmail.com>
Date: Sun, 4 Jan 2026 01:47:51 +0100
Subject: [PATCH] sed_version: remove word boundary assertions
Word boundary assertions (\b) are GNU regex extensions that may fail
on systems using non-glibc C libraries (e.g., musl, macOS).
This was previously fixed in replace_regex() via NixOS/nixpkgs#388412,
which was subsequently upstreamed in amber-lang/amber#686.
Changes in amber-lang/amber#717 reintroduced the same portability issue.
---
src/std/text.ab | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/std/text.ab b/src/std/text.ab
index 5f2d935..a5dac3f 100644
--- a/src/std/text.ab
+++ b/src/std/text.ab
@@ -51,12 +51,12 @@ const SED_VERSION_BUSYBOX = 2
fun sed_version(): Int {
// We can't match against a word "GNU" because
// alpine's busybox sed returns "This is not GNU sed version"
- trust $ re='\bCopyright\b.+\bFree Software Foundation\b'; [[ \$(sed --version 2>/dev/null) =~ \$re ]] $
+ trust $ re='Copyright.+Free Software Foundation'; [[ \$(sed --version 2>/dev/null) =~ \$re ]] $
if status == 0 {
return SED_VERSION_GNU
}
// On BSD single `sed` waits for stdin. We must use `sed --help` to avoid this.
- trust $ re='\bBusyBox\b'; [[ \$(sed --help 2>&1) =~ \$re ]] $
+ trust $ re='BusyBox'; [[ \$(sed --help 2>&1) =~ \$re ]] $
if status == 0 {
return SED_VERSION_BUSYBOX
}
--
2.51.2
+6 -5
View File
@@ -15,21 +15,22 @@
rustPlatform.buildRustPackage rec {
pname = "amber-lang";
version = "0.4.0-alpha";
version = "0.5.1-alpha";
src = fetchFromGitHub {
owner = "amber-lang";
repo = "amber";
tag = version;
hash = "sha256-N9G/2G8+vrpr1/K7XLwgW+X2oAyAaz4qvN+EbLOCU1Q=";
hash = "sha256-v1uJe3vVGKXaZcQzdoYzu/bJKMQnS4IYET4QLPW+J8Y=";
};
patches = [
# https://github.com/amber-lang/amber/pull/686
./fix_gnused_detection.patch
# Upstreamed in #995, can be removed in >= 0.5.2
# github.com/amber-lang/amber/pull/995
./fix_word_boundaries.patch
];
cargoHash = "sha256-e5+L7Qgd6hyqT1Pb9X7bVtRr+xm428Z5J4hhsYNnGtU=";
cargoHash = "sha256-aXcxlmmDYLFbyRJYyGE1gbQMbdysHx4iWXsrUj10Eco=";
preConfigure = ''
substituteInPlace src/compiler.rs \
+3 -3
View File
@@ -11,16 +11,16 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "angrr";
version = "0.2.0";
version = "0.2.3";
src = fetchFromGitHub {
owner = "linyinfeng";
repo = "angrr";
tag = "v${finalAttrs.version}";
hash = "sha256-Z+B0MO5ZoPJveO571mlzNVedBEac7P4RE7Cq8e/9bJk=";
hash = "sha256-8UrQ9e+gx7AR6ASNX94P2K3SvNOzvR98U3ub/odqybM=";
};
cargoHash = "sha256-j36vyfIP63Qmd55vaVb9buqrCItXwFalelzU8BlKm9s=";
cargoHash = "sha256-pVFIsFIdOIgBilBRYtGZdjVOyaERrfiJJT2WT/YoXeQ=";
buildAndTestSubdir = "angrr";
+4 -2
View File
@@ -3,7 +3,7 @@
lib,
buildNpmPackage,
electron,
nodejs,
nodejs_22,
makeDesktopItem,
copyDesktopItems,
icoutils,
@@ -29,7 +29,9 @@ buildNpmPackage rec {
./npm-lock.patch
];
buildInputs = [ nodejs ];
nodejs = nodejs_22;
buildInputs = [ nodejs_22 ];
nativeBuildInputs = [
copyDesktopItems
+2 -2
View File
@@ -7,13 +7,13 @@
stdenv.mkDerivation rec {
pname = "aocl-utils";
version = "5.1";
version = "5.2";
src = fetchFromGitHub {
owner = "amd";
repo = "aocl-utils";
tag = version;
hash = "sha256-1g5gERVxXKAeCyNR9/HheUfj+MPxJso3NzqDonvuyMo=";
hash = "sha256-wPnKfPbkW9ILu1YgyymKmg5gZj0l0cWio3/JTXtbylA=";
};
patches = [ ./pkg-config.patch ];
+3 -5
View File
@@ -3,12 +3,11 @@
makeWrapper,
gawk,
perl,
bash,
runtimeShellPackage,
stdenv,
which,
linuxHeaders ? stdenv.cc.libc.linuxHeaders,
python3Packages,
bashNonInteractive,
buildPackages,
# apparmor deps
@@ -23,7 +22,7 @@ python3Packages.buildPythonApplication {
inherit (libapparmor) version src;
postPatch = ''
patchShebangs .
patchShebangs common
cd utils
substituteInPlace aa-remove-unknown \
@@ -45,13 +44,12 @@ python3Packages.buildPythonApplication {
nativeBuildInputs = [
makeWrapper
which
bashNonInteractive
python3Packages.setuptools
];
buildInputs = [
bash
perl
runtimeShellPackage
];
pythonPath = [
+4 -4
View File
@@ -50,9 +50,9 @@ let
# https://gitlab.com/armagetronad/armagetronad/-/tags
${latestVersionMajor} =
let
version = "${latestVersionMajor}.2.3";
version = "${latestVersionMajor}.2.5";
rev = "v${version}";
hash = "sha256-lfYJ3luGK9hB0aiiBiJIqq5ddANqGaVtKXckbo4fl2g=";
hash = "sha256-bj+oUqz0WHAjZ0iS7GlbIfLeMFSPQkH99mPaLdapkPo=";
in
dedicatedServer: {
inherit version;
@@ -98,8 +98,8 @@ let
# https://gitlab.com/armagetronad/armagetronad/-/commits/hack-0.2.8-sty+ct+ap/?ref_type=heads
"${latestVersionMajor}-sty+ct+ap" =
let
rev = "c907ee3efd76f3b1e6eb41257cf7127f3eab280c";
hash = "sha256-d5uWBSz07OinbGHoxUQ64go3eOugLu/tWNjeihobQdo=";
rev = "22fdbee08ca301c09ae4dee7210ccef02536670d";
hash = "sha256-F+nnQxI2TTTa+gJYWjQPFjd8tQLCh/dEu/oTV0ie8BI=";
in
dedicatedServer: {
version = "${latestVersionMajor}-sty+ct+ap-${lib.substring 0 8 rev}";
+3 -3
View File
@@ -10,17 +10,17 @@
}:
buildGoModule rec {
pname = "aws-vault";
version = "7.8.6";
version = "7.8.7";
src = fetchFromGitHub {
owner = "ByteNess";
repo = "aws-vault";
rev = "v${version}";
hash = "sha256-nULl68DMTqrVXlPmJlp7M3EZ+MiGR9FsWKIRaa2i91I=";
hash = "sha256-q4I/sCFo8svf+XL+Eln5TWLvj1ggaRjUplSgV6M0f9s=";
};
proxyVendor = true;
vendorHash = "sha256-tuOrD2NjcjmjosI1bW2F7xEwGLNOMDNxFpEfODF9FHs=";
vendorHash = "sha256-tsIyY+L3Bvv/3uvRVkCGK4cAZXQyZSa0mUPDg8Aqml8=";
nativeBuildInputs = [
installShellFiles
+3 -3
View File
@@ -8,17 +8,17 @@
buildGoModule rec {
pname = "bento";
version = "1.13.1";
version = "1.14.0";
src = fetchFromGitHub {
owner = "warpstreamlabs";
repo = "bento";
tag = "v${version}";
hash = "sha256-5UzicbR+JzLgPLilPHO9HKteC632cJc5EQanPPc0lj8=";
hash = "sha256-60hWz6DgJk5PJR/W19lFVxIubZBPLZ3SENc/3bpA9hs=";
};
proxyVendor = true;
vendorHash = "sha256-wZPhjzDD2T7CYz0Y0QkFarnTOsJzm5snlp9KnBuOc3U=";
vendorHash = "sha256-G9slXTly5cJT93wQrD8eITsF0rVdrpRW4r/YTYqW/Mc=";
subPackages = [
"cmd/bento"
+3 -3
View File
@@ -6,16 +6,16 @@
rustPlatform.buildRustPackage rec {
pname = "bingrep";
version = "0.11.0";
version = "0.12.1";
src = fetchFromGitHub {
owner = "m4b";
repo = "bingrep";
rev = "v${version}";
hash = "sha256-bHu3/f25U1QtRZv1z5OQSDMayOpLU6tbNaV00K55ZY8=";
hash = "sha256-1GSAYhxFg5nXR8+vWBN10JLV7qUIxT1hYNXdnpE5Uag=";
};
cargoHash = "sha256-cGDFbf8fUGbuxl8tOvKss5tqpBd1TY7TcwNzWwdw12A=";
cargoHash = "sha256-llyItFYNnvWjPYoTrY8oS4z8tU9IuKYCfvHSURDKNDk=";
meta = {
description = "Greps through binaries from various OSs and architectures, and colors them";
+3 -3
View File
@@ -10,16 +10,16 @@
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "biome";
version = "2.3.9";
version = "2.3.11";
src = fetchFromGitHub {
owner = "biomejs";
repo = "biome";
rev = "@biomejs/biome@${finalAttrs.version}";
hash = "sha256-2eW60IoEeh3pnnsnZLdS6paw0f6vf+2LBM95WyOKDwc=";
hash = "sha256-AWVFrzIDg+mVnUYTMLr10o8IOSvewVhVMcYd2wvT5y0=";
};
cargoHash = "sha256-WSl/OObiOXx4MJcnGQtvGVfM2i5k8lLIQoPy9s+GT/U=";
cargoHash = "sha256-N2TauXj1pRrYnVD0qPtruy7qwdWBGJaa47++AaY8TMQ=";
nativeBuildInputs = [ pkg-config ];
+18 -17
View File
@@ -23,7 +23,6 @@
gettext,
glew,
gmp,
hipSupport ? false,
jackaudioSupport ? false,
jemalloc,
lib,
@@ -68,7 +67,8 @@
potrace,
pugixml,
python311Packages, # must use python3Packages instead of python3.pkgs, see https://github.com/NixOS/nixpkgs/issues/211340
rocmPackages, # comes with a significantly larger closure size
rocmPackages,
rocmSupport ? config.rocmSupport,
rubberband,
runCommand,
shaderc,
@@ -95,8 +95,9 @@ let
(!stdenv.hostPlatform.isAarch64 && stdenv.hostPlatform.isLinux) || stdenv.hostPlatform.isDarwin;
vulkanSupport = !stdenv.hostPlatform.isDarwin;
python3 = python311Packages.python;
pyPkgsOpenusd = python311Packages.openusd.override (old: {
python3Packages = python311Packages;
python3 = python3Packages.python;
pyPkgsOpenusd = python3Packages.openusd.override (old: {
opensubdiv = old.opensubdiv.override { inherit cudaSupport; };
withOsl = false;
});
@@ -131,14 +132,14 @@ stdenv'.mkDerivation (finalAttrs: {
substituteInPlace source/creator/CMakeLists.txt \
--replace-fail '${"$"}{LIBDIR}/python' \
'${python3}' \
--replace-fail '${"$"}{LIBDIR}/materialx/' '${python311Packages.materialx}/'
--replace-fail '${"$"}{LIBDIR}/materialx/' '${python3Packages.materialx}/'
substituteInPlace build_files/cmake/platform/platform_apple.cmake \
--replace-fail '${"$"}{LIBDIR}/brotli/lib/libbrotlicommon-static.a' \
'${lib.getLib brotli}/lib/libbrotlicommon.dylib' \
--replace-fail '${"$"}{LIBDIR}/brotli/lib/libbrotlidec-static.a' \
'${lib.getLib brotli}/lib/libbrotlidec.dylib'
'')
+ (lib.optionalString hipSupport ''
+ (lib.optionalString rocmSupport ''
substituteInPlace extern/hipew/src/hipew.c --replace-fail '"/opt/rocm/hip/lib/libamdhip64.so.${lib.versions.major rocmPackages.clr.version}"' '"${rocmPackages.clr}/lib/libamdhip64.so"'
substituteInPlace extern/hipew/src/hipew.c --replace-fail '"opt/rocm/hip/bin"' '"${rocmPackages.clr}/bin"'
substituteInPlace extern/hipew/src/hiprtew.cc --replace-fail '"/opt/rocm/lib/libhiprt64.so"' '"${rocmPackages.hiprt}/lib/libhiprt64.so"'
@@ -149,18 +150,18 @@ stdenv'.mkDerivation (finalAttrs: {
cmakeFlags = [
"-C../build_files/cmake/config/blender_release.cmake"
(lib.cmakeFeature "MaterialX_DIR" "${python311Packages.materialx}/lib/cmake/MaterialX")
(lib.cmakeFeature "MaterialX_DIR" "${python3Packages.materialx}/lib/cmake/MaterialX")
(lib.cmakeFeature "PYTHON_INCLUDE_DIR" "${python3}/include/${python3.libPrefix}")
(lib.cmakeFeature "PYTHON_LIBPATH" "${python3}/lib")
(lib.cmakeFeature "PYTHON_LIBRARY" "${python3.libPrefix}")
(lib.cmakeFeature "PYTHON_NUMPY_INCLUDE_DIRS" "${python311Packages.numpy_1}/${python3.sitePackages}/numpy/core/include")
(lib.cmakeFeature "PYTHON_NUMPY_PATH" "${python311Packages.numpy_1}/${python3.sitePackages}")
(lib.cmakeFeature "PYTHON_NUMPY_INCLUDE_DIRS" "${python3Packages.numpy_1}/${python3.sitePackages}/numpy/core/include")
(lib.cmakeFeature "PYTHON_NUMPY_PATH" "${python3Packages.numpy_1}/${python3.sitePackages}")
(lib.cmakeFeature "PYTHON_VERSION" "${python3.pythonVersion}")
(lib.cmakeBool "WITH_BUILDINFO" false)
(lib.cmakeBool "WITH_CPU_CHECK" false)
(lib.cmakeBool "WITH_CYCLES_CUDA_BINARIES" cudaSupport)
(lib.cmakeBool "WITH_CYCLES_DEVICE_HIP" hipSupport)
(lib.cmakeBool "WITH_CYCLES_DEVICE_HIP" rocmSupport)
(lib.cmakeBool "WITH_CYCLES_DEVICE_ONEAPI" false)
(lib.cmakeBool "WITH_CYCLES_DEVICE_OPTIX" cudaSupport)
(lib.cmakeBool "WITH_CYCLES_EMBREE" embreeSupport)
@@ -187,7 +188,7 @@ stdenv'.mkDerivation (finalAttrs: {
(lib.cmakeFeature "OPTIX_ROOT_DIR" "${optix}")
(lib.cmakeBool "WITH_CYCLES_CUDA_BINARIES" true)
]
++ lib.optionals hipSupport [
++ lib.optionals rocmSupport [
(lib.cmakeFeature "HIPRT_INCLUDE_DIR" "${rocmPackages.hiprt}/include")
(lib.cmakeBool "WITH_CYCLES_DEVICE_HIPRT" true)
(lib.cmakeBool "WITH_CYCLES_HIP_BINARIES" true)
@@ -221,7 +222,7 @@ stdenv'.mkDerivation (finalAttrs: {
cmake
llvmPackages.llvm.dev
makeWrapper
python311Packages.wrapPython
python3Packages.wrapPython
]
++ lib.optionals cudaSupport [
addDriverRunpath
@@ -263,13 +264,13 @@ stdenv'.mkDerivation (finalAttrs: {
potrace
pugixml
python3
python311Packages.materialx
python3Packages.materialx
rubberband
zlib
zstd
]
++ lib.optional embreeSupport embree
++ lib.optional hipSupport rocmPackages.clr
++ lib.optional rocmSupport rocmPackages.clr
++ lib.optional openImageDenoiseSupport (openimagedenoise.override { inherit cudaSupport; })
++ (
if (!stdenv.hostPlatform.isDarwin) then
@@ -316,7 +317,7 @@ stdenv'.mkDerivation (finalAttrs: {
pythonPath =
let
ps = python311Packages;
ps = python3Packages;
in
[
ps.materialx
@@ -362,13 +363,13 @@ stdenv'.mkDerivation (finalAttrs: {
passthru = {
python = python3;
pythonPackages = python311Packages;
pythonPackages = python3Packages;
withPackages =
f:
(callPackage ./wrapper.nix { }).override {
blender = finalAttrs.finalPackage;
extraModules = (f python311Packages);
extraModules = (f python3Packages);
};
tests = {
+1 -1
View File
@@ -28,6 +28,6 @@ stdenvNoCC.mkDerivation {
ufl
];
platforms = lib.platforms.all;
maintainers = [ lib.maintainers.grburst ];
maintainers = [ ];
};
}
+3 -3
View File
@@ -12,16 +12,16 @@
}:
rustPlatform.buildRustPackage rec {
pname = "cantus";
version = "0.4.0";
version = "0.4.1";
src = fetchFromGitHub {
owner = "CodedNil";
repo = "cantus";
tag = version;
hash = "sha256-Mox8OGJFbQd3dy/I1O6OjqDa4FAFcZWiS+zOuTwV6js=";
hash = "sha256-U8a0LcNlaiLdba4z2LUBQkwrOrE/7S9OIQ4JJw1m4Ck=";
};
cargoHash = "sha256-9+2+PkUA+s6v/Mrpo8M1lLemxClVONbbeHtric2z/Jw=";
cargoHash = "sha256-mpjcX5xuhsqr3Jxva8Oy1tQvM+29N3LHvym76Bs0uhk=";
nativeBuildInputs = [
pkg-config
+5 -5
View File
@@ -11,16 +11,16 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "clouddrive2";
version = "0.9.18";
version = "0.9.21";
src = fetchurl {
url = "https://github.com/cloud-fs/cloud-fs.github.io/releases/download/v${finalAttrs.version}/clouddrive-2-${os}-${arch}-${finalAttrs.version}.tgz";
hash =
{
x86_64-linux = "sha256-FTddo953oYhAwSXTiLWIN2y3BV6Q+cy8sE6dNJKghiU=";
aarch64-linux = "sha256-j23/P9CDb+0+gheMMbxE7NyHmnhHmPRWLc9SvD27pRs=";
x86_64-darwin = "sha256-YiCkYrDldm5JcAheTCUC/gg1ZgMxMue/bcz1gEjXdy0=";
aarch64-darwin = "sha256-CbzA38bkavPGJko0x/JqBxkx5CP7wM6iDEB2aejZrN4=";
x86_64-linux = "sha256-Hvu6+5bDrq1qnxc3bCWnERd4CTzaGk8NlO4F75AKNR8=";
aarch64-linux = "sha256-2JAGvpwkEzmcElwojZpcujzTpoo+watUR1Xxog6mZRs=";
x86_64-darwin = "sha256-9/2x2zen361UxX1yw7c5xlRmLLdwao0yt0j9/By6aJc=";
aarch64-darwin = "sha256-lk6QpXPo7bZo4VoVjMxfo4ePZaFww2SJmLp2cIQiJk0=";
}
.${stdenv.hostPlatform.system} or (throw "unsupported system ${stdenv.hostPlatform.system}");
};
+2 -2
View File
@@ -41,13 +41,13 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "crun";
version = "1.25.1";
version = "1.26";
src = fetchFromGitHub {
owner = "containers";
repo = "crun";
tag = finalAttrs.version;
hash = "sha256-WBAwyDODMrUDlgonRbxaNQ+aN8K6YicY2JVArXDJem8=";
hash = "sha256-h9X9UNPXNLSN+b9ka1kXMfApxkU4j5zU3yyyBQyYmwE=";
fetchSubmodules = true;
leaveDotGit = true;
postFetch = ''
+3 -3
View File
@@ -34,7 +34,7 @@ let
davinci = (
stdenv.mkDerivation rec {
pname = "davinci-resolve${lib.optionalString studioVariant "-studio"}";
version = "20.3";
version = "20.3.1";
nativeBuildInputs = [
appimageTools.appimage-exec
@@ -56,9 +56,9 @@ let
outputHashAlgo = "sha256";
outputHash =
if studioVariant then
"sha256-NaWnlFna/NaYNb4aaO++598mlpMsPFGL6nlXREBSAlI="
"sha256-JaP0O+bSc9wd2YTqRwRQo35kdDkq//5WMb+7MtC9S/A="
else
"sha256-hVliyg6BBkY83INF7ZbO8myXX+FjC4RwgipfOH5cFAs=";
"sha256-3mZWP58UZYS4U1f9M3TZ9wyto0cGy+KdB+GIJlvCVng=";
impureEnvVars = lib.fetchers.proxyImpureEnvVars;
+3 -3
View File
@@ -8,13 +8,13 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "dua";
version = "2.32.2";
version = "2.33.0";
src = fetchFromGitHub {
owner = "Byron";
repo = "dua-cli";
tag = "v${finalAttrs.version}";
hash = "sha256-MB5uePy32jTvOtkQKcP9peFPqwR68E+NZ7UGMuLx8Eo=";
hash = "sha256-3Mlhz+vYeDSoVLuBFAtgJxrECwUchSWIusrLKqhxU30=";
# Remove unicode file names which leads to different checksums on HFS+
# vs. other filesystems because of unicode normalisation.
postFetch = ''
@@ -22,7 +22,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
'';
};
cargoHash = "sha256-6H0x6I3nkCezu4/Hguv0XTdl+3QiyPL8Ue1rqTQU7VA=";
cargoHash = "sha256-85I+rWomp+2G1DLbwowHDSrRm6dS4b99Ia24ffY7Fnk=";
checkFlags = [
# Skip interactive tests
+3 -3
View File
@@ -12,16 +12,16 @@
rustPlatform.buildRustPackage rec {
pname = "easytier";
version = "2.4.5";
version = "2.5.0";
src = fetchFromGitHub {
owner = "EasyTier";
repo = "EasyTier";
tag = "v${version}";
hash = "sha256-vGQHrpImPMF44LXVnKRpj47Nr534wTlVZJiBDm4GkGs=";
hash = "sha256-XnEfxWDKUTQFWYKtqetI7sLbOmGqw2BqpU5by1ajZGA=";
};
cargoHash = "sha256-B9GkvSXyZXTBsnV7wbipjdZ0EkVrL/aw8Ff7uUvfKPo=";
cargoHash = "sha256-ueDulcv7DnwvMWYayc3hzBVtldX6gg7fP7YQpdUPq7c=";
nativeBuildInputs = [
protobuf
@@ -0,0 +1,25 @@
diff --git a/sources/core/dsp.h b/sources/core/dsp.h
index 5e3b1c6..b1a4f2d 100644
--- a/sources/core/dsp.h
+++ b/sources/core/dsp.h
@@ -5,6 +5,7 @@
#pragma once
#include <jsl/dynarray>
+#include <cstdint>
namespace dsp {
uint32_t fastrandom(uint32_t *pseed);
diff --git a/sources/fl/main_controller.h b/sources/fl/main_controller.h
index 9a7c6b0..e3d4f1a 100644
--- a/sources/fl/main_controller.h
+++ b/sources/fl/main_controller.h
@@ -6,6 +6,7 @@
#pragma once
#include <memory>
+#include <cstdint>
class Message_Queue;
struct Basic_Message;
@@ -29,6 +29,7 @@ stdenv.mkDerivation {
patches = [
# fix compile error regarding packed attribute in 3rd party juice library
./juice-cxx-packing-fix.diff
./add-missing-cstdint-includes.patch
];
nativeBuildInputs = [
+2 -2
View File
@@ -7,13 +7,13 @@
}:
llvmPackages.stdenv.mkDerivation rec {
pname = "enzyme";
version = "0.0.223";
version = "0.0.234";
src = fetchFromGitHub {
owner = "EnzymeAD";
repo = "Enzyme";
rev = "v${version}";
hash = "sha256-J11NVgBT8wOrSEP7lQZMGu5Th0VFrWTzEs0tz8otgcc=";
hash = "sha256-FK1/Ezld9U+xWuQ92ekOighDFUJQ0WOweSHHIq+ZyvA=";
};
postPatch = ''
+2
View File
@@ -163,6 +163,8 @@ stdenv.mkDerivation (finalAttrs: {
FISH_BUILD_VERSION = finalAttrs.version;
# Skip tests that are known to be flaky in CI
CI = 1;
# really skip them all https://github.com/fish-shell/fish-shell/issues/12253#issuecomment-3707996020
FISH_CI_SAN = 1;
};
cargoDeps = rustPlatform.fetchCargoVendor {
+2 -2
View File
@@ -19,13 +19,13 @@ let
in
ocamlPackages.buildDunePackage (finalAttrs: {
pname = "fstar";
version = "2025.10.06";
version = "2025.12.15";
src = fetchFromGitHub {
owner = "FStarLang";
repo = "FStar";
rev = "v${finalAttrs.version}";
hash = "sha256-PH3ylEiUS+mfFtYV+KI7xrCewkEutM1c14A+ARsyOQY=";
hash = "sha256-UuwDX6178YMhEQqpEOATswzoUNpEECq7Nyh2yk5gKRg=";
};
nativeBuildInputs = [
+4 -4
View File
@@ -171,6 +171,10 @@ stdenv.mkDerivation (finalAttrs: {
docbook_xsl
docbook_xml_dtd_45
libxslt
]
++ lib.optionals rustSupport [
cargo
rustc
];
buildInputs = [
curl
@@ -189,10 +193,6 @@ stdenv.mkDerivation (finalAttrs: {
++ lib.optionals withLibsecret [
glib
libsecret
]
++ lib.optionals rustSupport [
cargo
rustc
];
# required to support pthread_cancel()
+17 -3
View File
@@ -91,9 +91,23 @@ stdenv.mkDerivation (finalAttrs: {
substituteInPlace configure --replace-fail '"GNU strip"' 'FAKE GNU strip'
'';
# error: call to undeclared function 'xmlCleanupParser'
# ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
env.CFLAGS = lib.optionalString stdenv.hostPlatform.isDarwin "-Wno-error=implicit-function-declaration";
# GCC 15 changed some warnings to errors, particularly around function pointer types
# (C23 empty parentheses means no args, not unspecified). These flags are needed
# until gnucobol is updated to compile cleanly with GCC 15.
# See: https://gcc.gnu.org/gcc-15/porting_to.html
env.CFLAGS =
let
# Clang needs -Wno-error=implicit-function-declaration for xmlCleanupParser
clangFlags = "-Wno-error=implicit-function-declaration";
# GCC 15+ needs additional flags for incompatible pointer type errors
gcc15Flags = "-Wno-error=incompatible-pointer-types -std=gnu11";
in
if stdenv.cc.isGNU && lib.versionAtLeast stdenv.cc.version "15.0.0" then
gcc15Flags
else if stdenv.cc.isClang then
clangFlags
else
"";
enableParallelBuilding = true;
+3 -3
View File
@@ -7,16 +7,16 @@
buildGoModule (finalAttrs: {
pname = "goat";
version = "0.2.0";
version = "0.5.0";
src = fetchFromGitHub {
owner = "blampe";
repo = "goat";
rev = "v${finalAttrs.version}";
hash = "sha256-/m9qRTVrak+C4Df5y+36Ff7E0TdwHVbQEyrP+qfNF6E=";
hash = "sha256-+x+bOgNa9nOMWUMUVK816DK7f4SuoWEbRr2OZ+iSPig=";
};
vendorHash = "sha256-24YllmSUzRcqWbJ8NLyhsJaoGG2+yE8/eXX6teJ1nV8=";
vendorHash = "sha256-RRjEFZLbfeiFUWjGZI4HSZ8PhVj1IMlU5D4Nb1sexoQ=";
passthru.updateScript = nix-update-script { };
+3 -3
View File
@@ -10,16 +10,16 @@
buildGoModule rec {
pname = "gocatcli";
version = "1.2.0";
version = "1.2.1";
src = fetchFromGitHub {
owner = "deadc0de6";
repo = "gocatcli";
tag = "v${version}";
hash = "sha256-a76vQGfw5LnLVurPkAXdwVtdCn+hjmC5Q5oNYSHRsjo=";
hash = "sha256-MUOyxDdU5xCQ7mQpNP1sS1zKGe/6/bqN1sSu5JqW36o=";
};
vendorHash = "sha256-aT56Xx6m/AlvzPmlaJR4wiqTsxjWk0lyPXShNaHPoaU=";
vendorHash = "sha256-Zp9m0v/F4AJ9b3GH3/SoZx1jijHGR854f8KhhcIPjS8=";
nativeBuildInputs = [ installShellFiles ];
+9 -15
View File
@@ -1,5 +1,5 @@
{
stdenv,
stdenvNoCC,
lib,
protobuf,
rustPlatform,
@@ -10,17 +10,16 @@
writableTmpDirAsHomeHook,
versionCheckHook,
nix-update-script,
gurk-rs,
}:
rustPlatform.buildRustPackage rec {
rustPlatform.buildRustPackage (finalAttrs: {
pname = "gurk-rs";
version = "0.6.4";
src = fetchFromGitHub {
owner = "boxdot";
repo = "gurk-rs";
tag = "v${version}";
tag = "v${finalAttrs.version}";
hash = "sha256-1vnyzKissOciLopWzWN2kmraFevYW/w32KVmP8qgUM4=";
};
@@ -38,24 +37,19 @@ rustPlatform.buildRustPackage rec {
buildInputs = [ openssl ];
env = {
NIX_LDFLAGS = lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64) [
"-framework"
"AppKit"
];
NIX_LDFLAGS = lib.optionalString (
with stdenvNoCC.hostPlatform; (isDarwin && isx86_64)
) "-framework AppKit";
OPENSSL_NO_VENDOR = true;
PROTOC = "${lib.getExe pkgsBuildHost.protobuf}";
};
PROTOC = "${pkgsBuildHost.protobuf}/bin/protoc";
useNextest = true;
nativeCheckInputs = [ writableTmpDirAsHomeHook ];
nativeInstallCheckInputs = [
versionCheckHook
];
nativeInstallCheckInputs = [ versionCheckHook ];
doInstallCheck = true;
versionCheckProgram = "${placeholder "out"}/bin/${meta.mainProgram}";
passthru.updateScript = nix-update-script { };
@@ -66,4 +60,4 @@ rustPlatform.buildRustPackage rec {
license = lib.licenses.agpl3Only;
maintainers = with lib.maintainers; [ devhell ];
};
}
})
+9
View File
@@ -2,6 +2,7 @@
lib,
stdenv,
fetchFromGitHub,
fetchpatch2,
makeWrapper,
clang,
llvm,
@@ -22,6 +23,14 @@ stdenv.mkDerivation rec {
sha256 = "sha256-/ra6g0qjjC8Lo8/n2XEbwnZ95yDHcGhYd5+TTvQ6FAc=";
};
patches = [
# [PATCH] mangle: support gcc-15 with __attribute__((nonstring))
(fetchpatch2 {
url = "https://github.com/google/honggfuzz/commit/4cfa62f4fdb56e3027c1cb3aecf04812e786f0fd.patch?full_index=1";
hash = "sha256-79/GZfqTH1o/21P7At5ZPmvcCSYWAsVakSv5dNCT+XI=";
})
];
postPatch = ''
substituteInPlace hfuzz_cc/hfuzz-cc.c \
--replace '"clang' '"${clang}/bin/clang'
+4
View File
@@ -16,6 +16,10 @@ stdenv.mkDerivation {
hash = "sha256-fUaVHE3nxq3fU7DYCvaQTOoMzax/qFH8cMegFLLybNk=";
};
# httptunnel makes liberal use of old C features, just selecting an old version
# is easier than patching around language updates.
env.NIX_CFLAGS_COMPILE = "-std=gnu17";
nativeBuildInputs = [
autoreconfHook
];
+2 -2
View File
@@ -6,10 +6,10 @@
}:
let
pname = "hydralauncher";
version = "3.7.6";
version = "3.8.0";
src = fetchurl {
url = "https://github.com/hydralauncher/hydra/releases/download/v${version}/hydralauncher-${version}.AppImage";
hash = "sha256-6ERgFwJkRZH1Cj6ucswLU0EpwmjDE0gcmFYm5JbLuK0=";
hash = "sha256-8dRnGr9nVu+GNIVcH90iPDF0VoMibiKqL6dGRdmZl94=";
};
appimageContents = appimageTools.extractType2 { inherit pname src version; };
+2 -2
View File
@@ -25,13 +25,13 @@
gcc15Stdenv.mkDerivation (finalAttrs: {
pname = "hyprtoolkit";
version = "0.5.1";
version = "0.5.2";
src = fetchFromGitHub {
owner = "hyprwm";
repo = "hyprtoolkit";
tag = "v${finalAttrs.version}";
hash = "sha256-qxWKwg99yIV72E+xAUz82+TD3X3+VPgnGHBX6mOLp9Q=";
hash = "sha256-AEnLjthDHNqD1uPBsVWdo7Pb+Xveh4DzwAPFM2stzNM=";
};
nativeBuildInputs = [
@@ -3,6 +3,7 @@
stdenv,
buildNpmPackage,
fetchFromGitHub,
nodejs_22,
cacert,
}:
@@ -17,6 +18,10 @@ buildNpmPackage rec {
hash = "sha256-zERwrvioPwGm/351kYuK9S3uOrrzs/6OFPRdNSSr7Tc=";
};
# Building against nodejs-24 is not yet supported by upstream.
# https://github.com/microsoft/inshellisense/issues/369
nodejs = nodejs_22;
npmDepsHash = "sha256-iD5SvkVbrHh0Hx44y6VtNerwBA8K7vSe/yfvhgndMEw=";
# Needed for dependency `@homebridge/node-pty-prebuilt-multiarch`
+4
View File
@@ -24,6 +24,10 @@ python3.pkgs.buildPythonApplication rec {
--replace-fail "from pytest_bdd.steps import inject_fixture" "from pytest_bdd.compat import inject_fixture"
'';
disabledTests = [
"test_override_configured_linewrap_with_a_value_of_23"
];
build-system = with python3.pkgs; [ poetry-core ];
dependencies = with python3.pkgs; [
+3 -3
View File
@@ -7,16 +7,16 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "just-lsp";
version = "0.3.0";
version = "0.3.1";
src = fetchFromGitHub {
owner = "terror";
repo = "just-lsp";
tag = finalAttrs.version;
hash = "sha256-VA6rUcOc/O4KocefxGr4BFnGSb1Gv8+UObtHua/6lbg=";
hash = "sha256-43w5kA/rGEt7mZCPWlSzYQAme7YJ4EZ97zHmNiDzZ0c=";
};
cargoHash = "sha256-t+a24rBEHLgnrADRzMtrZHdeQ2tDxHK/bMzYidLPNQw=";
cargoHash = "sha256-/Y9GCKsam5x1FjWcNxKiwf3LiYRg3SWILWGnuyhptrc=";
passthru = {
updateScript = nix-update-script { };
+1 -1
View File
@@ -33,6 +33,6 @@ buildGoModule rec {
- directly access kafka clusters inside your kubernetes cluster
'';
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ grburst ];
maintainers = [ ];
};
}
+8 -5
View File
@@ -5,7 +5,7 @@
fetchFromGitHub,
electron,
nodejs,
nodejs_22,
cmake,
zip,
@@ -21,18 +21,21 @@
wayland,
}:
buildNpmPackage rec {
let
nodejs = nodejs_22; # NPM v11 included in nodejs_24 doesn't work with the current lockfile
in
buildNpmPackage.override { inherit nodejs; } rec {
pname = "kando";
version = "2.0.0";
version = "2.1.2";
src = fetchFromGitHub {
owner = "kando-menu";
repo = "kando";
tag = "v${version}";
hash = "sha256-pgHhMzObj8Fh6pw1wjJXjghjKzKiM64lXS4Xlwh3omY=";
hash = "sha256-x+emk0N5AL5Nfk9d1+RehdLoEvqVe5DafZL1WRPFdrc=";
};
npmDepsHash = "sha256-vytwJdVnkm1AlDoM86xh5Vx5lsaDRcNdwjhP43A6KF8=";
npmDepsHash = "sha256-zbPrQpm2IgIMqGvMzj6fzEV/lV/FszfU3fnFx3kPHr4=";
npmFlags = [ "--ignore-scripts" ];
@@ -11,13 +11,13 @@ let
jdk = jdk11;
in
stdenv.mkDerivation rec {
version = "5.6.0";
version = "5.6.1";
pname = "keystore-explorer";
src = fetchzip {
url = "https://github.com/kaikramer/keystore-explorer/releases/download/v${version}/kse-${
lib.replaceStrings [ "." ] [ "" ] version
}.zip";
sha256 = "sha256-+ZgALJaZodLmAtdCIE1SG6D0lzlETg4mMPXheXmGhPc=";
sha256 = "sha256-yhYQpeBoicILYEXpW+oqDdF+KieDbNmTFpxL+aA8vTw=";
};
# glib is necessary so file dialogs don't hang.
+17 -3
View File
@@ -2,6 +2,7 @@
lib,
stdenv,
fetchFromGitHub,
fetchpatch,
unicode-emoji,
unicode-character-database,
unicode-idna,
@@ -29,17 +30,18 @@
unstableGitUpdater,
libtommath,
sdl3,
icu78,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "ladybird";
version = "0-unstable-2025-12-03";
version = "0-unstable-2025-12-24";
src = fetchFromGitHub {
owner = "LadybirdBrowser";
repo = "ladybird";
rev = "9b4d9966da96b7f6421b59eb0adfe90d484ee920";
hash = "sha256-dqTxW1ENc3k9pk8z2BFPsVJVren9ZkFovKKhNAcs1eo=";
rev = "5b4341996b2d22e549f0bc6f749b188e5014847f";
hash = "sha256-EVP8OoFqOySAhy02nQpc4CKYCV/rPW87pjMxb/IdBxM=";
};
postPatch = ''
@@ -100,8 +102,17 @@ stdenv.mkDerivation (finalAttrs: {
# Remove when/if this gets upstreamed in skia.
"extra_cflags+=[\"-DSKCMS_API=[[gnu::visibility(\\\"default\\\")]]\"]"
];
# Ladybird depends on the vcpkg-packaged version of skia,
# which includes this patch that exposes deprecated interfaces.
patches = prev.patches or [ ] ++ [
(fetchpatch {
url = "https://github.com/microsoft/vcpkg/raw/64e1fbee7d9f40eab5d112aaff648c4dcffe9e47/ports/skia/skpath-enable-edit-methods.patch";
hash = "sha256-r5+HqSjACINn8igXqBANQsq0K+fn+Ut8L2VRs40FkTM=";
})
];
}))
woff2
icu78
]
++ lib.optional stdenv.hostPlatform.isLinux [
libpulseaudio.dev
@@ -114,6 +125,9 @@ stdenv.mkDerivation (finalAttrs: {
# Disable network operations
"-DLADYBIRD_CACHE_DIR=Caches"
"-DENABLE_NETWORK_DOWNLOADS=OFF"
# Ladybird requires icu 78, but without this flag the default icu
# from other dependencies gets picked up instead.
(lib.cmakeFeature "ICU_ROOT" (toString icu78.dev))
]
++ lib.optionals stdenv.hostPlatform.isLinux [
"-DCMAKE_INSTALL_LIBEXECDIR=libexec"
+2 -2
View File
@@ -15,14 +15,14 @@
stdenv.mkDerivation (finalAttrs: {
pname = "libgdstk";
version = "0.9.61";
version = "0.9.62";
pyproject = true;
src = fetchFromGitHub {
owner = "heitzmann";
repo = "gdstk";
tag = "v${finalAttrs.version}";
hash = "sha256-soU+6EbyOkHGvVq230twiRzywOskhkkXFr5akBpvgBw=";
hash = "sha256-NHz9PQMmOnJt09FDwLzy5t9hVbZrJ6Lf19iPYOB5B2A=";
};
nativeBuildInputs = [
+2 -2
View File
@@ -8,11 +8,11 @@
stdenv.mkDerivation rec {
pname = "libmilter";
version = "8.18.1";
version = "8.18.2";
src = fetchurl {
url = "ftp://ftp.sendmail.org/pub/sendmail/sendmail.${version}.tar.gz";
sha256 = "sha256-y/HzCcOOSAb3zz6tJCYPF9H+j7YyVtE+2zzdGgmPB3A=";
sha256 = "sha256-GghfqorOUs/94vXpvGEb21+BSByqq/RvBDe3GcoInS8=";
};
buildPhase = ''
+13
View File
@@ -2,6 +2,7 @@
lib,
stdenv,
fetchurl,
fetchpatch,
gi-docgen,
meson,
ninja,
@@ -37,6 +38,16 @@ stdenv.mkDerivation (finalAttrs: {
hash = "sha256-2q34twATQ4jH6TPgtiNYaqp/L76LOmJZOHUTMDuYduY=";
};
patches = [
(fetchpatch {
# Required for cross-compiled libshumate to get $dev/share/vala/vapi/shumate-1.0.{deps,vapi}
# https://gitlab.gnome.org/GNOME/libshumate/-/merge_requests/263
url = "https://gitlab.gnome.org/GNOME/libshumate/-/commit/8a8a5013ed69f443b84500b4f745079025863a32.patch";
name = "meson-use-find_program-instead-of-dependency-for-vapigen";
hash = "sha256-nYLUMLcghnWU/hlCWOHMmFIUdDa7UkX4TP7C4ftZVJM=";
})
];
depsBuildBuild = [
# required to find native gi-docgen when cross compiling
pkg-config
@@ -89,6 +100,8 @@ stdenv.mkDerivation (finalAttrs: {
moveToOutput share/doc/libshumate-1.0 "$devdoc"
'';
strictDeps = true;
passthru = {
updateScript = gnome.updateScript {
packageName = "libshumate";
+2 -2
View File
@@ -15,12 +15,12 @@
stdenv.mkDerivation rec {
pname = "libtraceevent";
version = "1.8.6";
version = "1.8.7";
src = fetchgit {
url = "https://git.kernel.org/pub/scm/libs/libtrace/libtraceevent.git";
rev = "libtraceevent-${version}";
hash = "sha256-k084Sl0Uv+/mQM+Voktz3jjcKmXSi7n2VWpZLRcKSrY=";
hash = "sha256-9rDgAHK1m369CGKxC+NEkW7fzOJsgKTQtk9GLfVEoLg=";
};
postPatch = ''
+2 -2
View File
@@ -47,14 +47,14 @@ in
# as bootloader for various platforms and corresponding binary and helper files.
stdenv.mkDerivation (finalAttrs: {
pname = "limine";
version = "10.6.0";
version = "10.6.1";
# We don't use the Git source but the release tarball, as the source has a
# `./bootstrap` script performing network access to download resources.
# Packaging that in Nix is very cumbersome.
src = fetchurl {
url = "https://codeberg.org/Limine/Limine/releases/download/v${finalAttrs.version}/limine-${finalAttrs.version}.tar.gz";
hash = "sha256-rNLPfDHYVGOzO7pnv7w+l8kevmKPFFJ3O5MtPN6YlG4=";
hash = "sha256-juCivgLVpGY7hiHLMhZwhTTcIPA2CfYyKHTp8Oy33mI=";
};
enableParallelBuilding = true;
+9 -1
View File
@@ -6,6 +6,7 @@
yarn-berry,
makeBinaryWrapper,
nixosTests,
stdenv,
# dependencies
bash,
monolith,
@@ -46,6 +47,13 @@ let
"Bentham"
];
};
chromeDir =
{
x86_64-linux = "chrome-linux64";
aarch64-linux = "chrome-linux";
}
.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
in
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "linkwarden";
@@ -173,7 +181,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
--set-default PRISMA_QUERY_ENGINE_LIBRARY "${prisma-engines_6}/lib/libquery_engine.node" \
--set-default PRISMA_QUERY_ENGINE_BINARY "${prisma-engines_6}/bin/query-engine" \
--set-default PRISMA_SCHEMA_ENGINE_BINARY "${prisma-engines_6}/bin/schema-engine" \
--set-default PLAYWRIGHT_LAUNCH_OPTIONS_EXECUTABLE_PATH ${playwright-driver.browsers-chromium}/chromium-*/chrome-linux/chrome \
--set-default PLAYWRIGHT_LAUNCH_OPTIONS_EXECUTABLE_PATH ${playwright-driver.browsers-chromium}/chromium-*/${chromeDir}/chrome \
--set-default LINKWARDEN_CACHE_DIR /var/cache/linkwarden \
--set-default LINKWARDEN_HOST localhost \
--set-default LINKWARDEN_PORT 3000 \

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