diff --git a/doc/build-helpers/special/vm-tools.section.md b/doc/build-helpers/special/vm-tools.section.md index 142093274987..47988eb3f4a1 100644 --- a/doc/build-helpers/special/vm-tools.section.md +++ b/doc/build-helpers/special/vm-tools.section.md @@ -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; } diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index c63da58967cf..856a3cfaa186 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -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"; diff --git a/nixos/doc/manual/release-notes/rl-2605.section.md b/nixos/doc/manual/release-notes/rl-2605.section.md index ed4c83085e79..66a57940b24d 100644 --- a/nixos/doc/manual/release-notes/rl-2605.section.md +++ b/nixos/doc/manual/release-notes/rl-2605.section.md @@ -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). diff --git a/nixos/lib/qemu-common.nix b/nixos/lib/qemu-common.nix index 5629b0b81d20..a43b624cdbce 100644 --- a/nixos/lib/qemu-common.nix +++ b/nixos/lib/qemu-common.nix @@ -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"; diff --git a/nixos/lib/testing/network.nix b/nixos/lib/testing/network.nix index 1188e9bec505..e65767e7fb99 100644 --- a/nixos/lib/testing/network.nix +++ b/nixos/lib/testing/network.nix @@ -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: { diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 953444abe586..ad943c98fc9b 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -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 diff --git a/nixos/modules/programs/adb.nix b/nixos/modules/programs/adb.nix deleted file mode 100644 index 4ae2569049ed..000000000000 --- a/nixos/modules/programs/adb.nix +++ /dev/null @@ -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 ]; - }; -} diff --git a/nixos/modules/programs/yazi.nix b/nixos/modules/programs/yazi.nix index b19b7abff758..ffab1747d991 100644 --- a/nixos/modules/programs/yazi.nix +++ b/nixos/modules/programs/yazi.nix @@ -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 for documentation. - ''; - } - ) - ) files - ) + See for documentation. + ''; + } ); }; default = { }; diff --git a/nixos/modules/rename.nix b/nixos/modules/rename.nix index 1f01c20575c3..0a661c984c2c 100644 --- a/nixos/modules/rename.nix +++ b/nixos/modules/rename.nix @@ -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" diff --git a/nixos/modules/services/desktop-managers/gnome.nix b/nixos/modules/services/desktop-managers/gnome.nix index dc9f8c11b138..ac0431411341 100644 --- a/nixos/modules/services/desktop-managers/gnome.nix +++ b/nixos/modules/services/desktop-managers/gnome.nix @@ -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; }) diff --git a/nixos/modules/services/networking/cgit.nix b/nixos/modules/services/networking/cgit.nix index 63d247a9e068..db0fa913cde4 100644 --- a/nixos/modules/services/networking/cgit.nix +++ b/nixos/modules/services/networking/cgit.nix @@ -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 diff --git a/nixos/modules/services/web-servers/nginx/vhost-options.nix b/nixos/modules/services/web-servers/nginx/vhost-options.nix index cc57325a1959..c197e2d42838 100644 --- a/nixos/modules/services/web-servers/nginx/vhost-options.nix +++ b/nixos/modules/services/web-servers/nginx/vhost-options.nix @@ -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 = [ diff --git a/nixos/modules/testing/test-instrumentation.nix b/nixos/modules/testing/test-instrumentation.nix index 3ec4fdc0e2a0..dce59a0a93b7 100644 --- a/nixos/modules/testing/test-instrumentation.nix +++ b/nixos/modules/testing/test-instrumentation.nix @@ -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 = [ diff --git a/nixos/modules/virtualisation/qemu-vm.nix b/nixos/modules/virtualisation/qemu-vm.nix index abded7525062..8a6c55cfc9fa 100644 --- a/nixos/modules/virtualisation/qemu-vm.nix +++ b/nixos/modules/virtualisation/qemu-vm.nix @@ -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; diff --git a/nixos/tests/boot.nix b/nixos/tests/boot.nix index 863d80e41dac..d1ac1a8769fe 100644 --- a/nixos/tests/boot.nix +++ b/nixos/tests/boot.nix @@ -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 = { diff --git a/nixos/tests/networking/router.nix b/nixos/tests/networking/router.nix index 082f2bc7d227..ae9c64607a66 100644 --- a/nixos/tests/networking/router.nix +++ b/nixos/tests/networking/router.nix @@ -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 { diff --git a/pkgs/applications/editors/android-studio/default.nix b/pkgs/applications/editors/android-studio/default.nix index ccb6a5600ad4..c2604cdeabdf 100644 --- a/pkgs/applications/editors/android-studio/default.nix +++ b/pkgs/applications/editors/android-studio/default.nix @@ -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 { diff --git a/pkgs/applications/editors/neovim/utils.nix b/pkgs/applications/editors/neovim/utils.nix index 675aae8a9c57..6a7d1f83573f 100644 --- a/pkgs/applications/editors/neovim/utils.nix +++ b/pkgs/applications/editors/neovim/utils.nix @@ -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; diff --git a/pkgs/applications/editors/neovim/wrapper.nix b/pkgs/applications/editors/neovim/wrapper.nix index 5c91bac0b11b..ef2372c54f34 100644 --- a/pkgs/applications/editors/neovim/wrapper.nix +++ b/pkgs/applications/editors/neovim/wrapper.nix @@ -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 diff --git a/pkgs/applications/editors/vim/plugins/generated.nix b/pkgs/applications/editors/vim/plugins/generated.nix index 519f8cda20e4..0774f577f4c4 100644 --- a/pkgs/applications/editors/vim/plugins/generated.nix +++ b/pkgs/applications/editors/vim/plugins/generated.nix @@ -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 = [ ]; diff --git a/pkgs/applications/editors/vim/plugins/non-generated/cmp-async-path/default.nix b/pkgs/applications/editors/vim/plugins/non-generated/cmp-async-path/default.nix index ff7883e7b4b4..663717cce39a 100644 --- a/pkgs/applications/editors/vim/plugins/non-generated/cmp-async-path/default.nix +++ b/pkgs/applications/editors/vim/plugins/non-generated/cmp-async-path/default.nix @@ -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 ]; diff --git a/pkgs/applications/editors/vim/plugins/overrides.nix b/pkgs/applications/editors/vim/plugins/overrides.nix index 40e371956232..c0e94b15e074 100644 --- a/pkgs/applications/editors/vim/plugins/overrides.nix +++ b/pkgs/applications/editors/vim/plugins/overrides.nix @@ -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}"' diff --git a/pkgs/applications/editors/vim/plugins/patches/kulala-nvim/do-not-install-grammar.patch b/pkgs/applications/editors/vim/plugins/patches/kulala-nvim/do-not-install-grammar.patch deleted file mode 100644 index 00a76f9c0492..000000000000 --- a/pkgs/applications/editors/vim/plugins/patches/kulala-nvim/do-not-install-grammar.patch +++ /dev/null @@ -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 diff --git a/pkgs/applications/editors/vim/plugins/vim-plugin-names b/pkgs/applications/editors/vim/plugins/vim-plugin-names index 2960933b83fe..4deab3bb7e3b 100644 --- a/pkgs/applications/editors/vim/plugins/vim-plugin-names +++ b/pkgs/applications/editors/vim/plugins/vim-plugin-names @@ -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/,, diff --git a/pkgs/applications/emulators/libretro/cores/parallel-n64.nix b/pkgs/applications/emulators/libretro/cores/parallel-n64.nix index a95a63558c1d..738804e10ae3 100644 --- a/pkgs/applications/emulators/libretro/cores/parallel-n64.nix +++ b/pkgs/applications/emulators/libretro/cores/parallel-n64.nix @@ -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 diff --git a/pkgs/applications/emulators/libretro/cores/patches/parallel-n64-gcc15.patch b/pkgs/applications/emulators/libretro/cores/patches/parallel-n64-gcc15.patch new file mode 100644 index 000000000000..52e0bc3e64ea --- /dev/null +++ b/pkgs/applications/emulators/libretro/cores/patches/parallel-n64-gcc15.patch @@ -0,0 +1,62 @@ +From 3a891c0450c4968afbe76c594c22347354bd8834 Mon Sep 17 00:00:00 2001 +From: Moraxyc +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 *)(®_cop1_double[dst->f.cf.fs])); + fld_preg64_qword(RAX); +- fsqrt(); ++ _fsqrt(); + mov_xreg64_m64rel(RAX, (uint64_t *)(®_cop1_double[dst->f.cf.fd])); + fstp_preg64_qword(RAX); + #else + mov_eax_memoffs32((unsigned int *)(®_cop1_double[dst->f.cf.fs])); + fld_preg32_qword(EAX); +- fsqrt(); ++ _fsqrt(); + mov_eax_memoffs32((unsigned int *)(®_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 *)(®_cop1_simple[dst->f.cf.fs])); + fld_preg64_dword(RAX); +- fsqrt(); ++ _fsqrt(); + mov_xreg64_m64rel(RAX, (uint64_t *)(®_cop1_simple[dst->f.cf.fd])); + fstp_preg64_dword(RAX); + #else + mov_eax_memoffs32((unsigned int *)(®_cop1_simple[dst->f.cf.fs])); + fld_preg32_dword(EAX); +- fsqrt(); ++ _fsqrt(); + mov_eax_memoffs32((unsigned int *)(®_cop1_simple[dst->f.cf.fd])); + fstp_preg32_dword(EAX); + #endif +-- +2.52.0 + diff --git a/pkgs/applications/emulators/libretro/cores/ppsspp.nix b/pkgs/applications/emulators/libretro/cores/ppsspp.nix index 659b9c0c1dda..5d7c6373ae21 100644 --- a/pkgs/applications/emulators/libretro/cores/ppsspp.nix +++ b/pkgs/applications/emulators/libretro/cores/ppsspp.nix @@ -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; }; diff --git a/pkgs/applications/emulators/libretro/cores/same_cdi.nix b/pkgs/applications/emulators/libretro/cores/same_cdi.nix index 517fd721caea..a92e4390b89e 100644 --- a/pkgs/applications/emulators/libretro/cores/same_cdi.nix +++ b/pkgs/applications/emulators/libretro/cores/same_cdi.nix @@ -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)\.\.\.);/this->emplace(std::forward(args)...);/g' 3rdparty/sol2/sol/sol.hpp + + # Fix missing cstdint include for uint8_t + sed -i '1i #include ' src/lib/util/corestr.cpp + ''; + extraNativeBuildInputs = [ python3 ]; extraBuildInputs = [ alsa-lib diff --git a/pkgs/applications/emulators/libretro/cores/scummvm.nix b/pkgs/applications/emulators/libretro/cores/scummvm.nix index acd4315d0ed5..fe52e890a40b 100644 --- a/pkgs/applications/emulators/libretro/cores/scummvm.nix +++ b/pkgs/applications/emulators/libretro/cores/scummvm.nix @@ -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/* ''; diff --git a/pkgs/applications/emulators/libretro/cores/vba-m.nix b/pkgs/applications/emulators/libretro/cores/vba-m.nix index 4653c11652ec..0e0d9cd98671 100644 --- a/pkgs/applications/emulators/libretro/cores/vba-m.nix +++ b/pkgs/applications/emulators/libretro/cores/vba-m.nix @@ -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"; diff --git a/pkgs/applications/networking/browsers/webmacs/default.nix b/pkgs/applications/networking/browsers/webmacs/default.nix index 737affc42bb9..a3816002a53b 100644 --- a/pkgs/applications/networking/browsers/webmacs/default.nix +++ b/pkgs/applications/networking/browsers/webmacs/default.nix @@ -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"; diff --git a/pkgs/applications/networking/cluster/k3s/1_32/images-versions.json b/pkgs/applications/networking/cluster/k3s/1_32/images-versions.json index 956cdbe87d17..35f6baea1aab 100644 --- a/pkgs/applications/networking/cluster/k3s/1_32/images-versions.json +++ b/pkgs/applications/networking/cluster/k3s/1_32/images-versions.json @@ -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" } } diff --git a/pkgs/applications/networking/cluster/k3s/1_32/versions.nix b/pkgs/applications/networking/cluster/k3s/1_32/versions.nix index d60771de68b2..905c26918e97 100644 --- a/pkgs/applications/networking/cluster/k3s/1_32/versions.nix +++ b/pkgs/applications/networking/cluster/k3s/1_32/versions.nix @@ -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"; } diff --git a/pkgs/applications/networking/cluster/k3s/1_33/images-versions.json b/pkgs/applications/networking/cluster/k3s/1_33/images-versions.json index d62353c580db..d1cce735c16a 100644 --- a/pkgs/applications/networking/cluster/k3s/1_33/images-versions.json +++ b/pkgs/applications/networking/cluster/k3s/1_33/images-versions.json @@ -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" } } diff --git a/pkgs/applications/networking/cluster/k3s/1_33/versions.nix b/pkgs/applications/networking/cluster/k3s/1_33/versions.nix index 83459b59dd75..de73eecf3c19 100644 --- a/pkgs/applications/networking/cluster/k3s/1_33/versions.nix +++ b/pkgs/applications/networking/cluster/k3s/1_33/versions.nix @@ -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"; } diff --git a/pkgs/applications/networking/cluster/k3s/1_34/images-versions.json b/pkgs/applications/networking/cluster/k3s/1_34/images-versions.json index 5cbddbcf2378..ca2e2fb2860e 100644 --- a/pkgs/applications/networking/cluster/k3s/1_34/images-versions.json +++ b/pkgs/applications/networking/cluster/k3s/1_34/images-versions.json @@ -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" } } diff --git a/pkgs/applications/networking/cluster/k3s/1_34/versions.nix b/pkgs/applications/networking/cluster/k3s/1_34/versions.nix index 6e7d8df7cd9e..3cc9396b70cd 100644 --- a/pkgs/applications/networking/cluster/k3s/1_34/versions.nix +++ b/pkgs/applications/networking/cluster/k3s/1_34/versions.nix @@ -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"; } diff --git a/pkgs/applications/networking/cluster/k3s/builder.nix b/pkgs/applications/networking/cluster/k3s/builder.nix index f766104463f8..38835677408a 100644 --- a/pkgs/applications/networking/cluster/k3s/builder.nix +++ b/pkgs/applications/networking/cluster/k3s/builder.nix @@ -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 diff --git a/pkgs/applications/networking/cluster/k3s/update-script.sh b/pkgs/applications/networking/cluster/k3s/update-script.sh index aced5253abf1..73c9b7348629 100755 --- a/pkgs/applications/networking/cluster/k3s/update-script.sh +++ b/pkgs/applications/networking/cluster/k3s/update-script.sh @@ -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 < ~/.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; } diff --git a/pkgs/build-support/prefer-remote-fetch/tests.nix b/pkgs/build-support/prefer-remote-fetch/tests.nix new file mode 100644 index 000000000000..a9bd1f2b2e24 --- /dev/null +++ b/pkgs/build-support/prefer-remote-fetch/tests.nix @@ -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="; + }; + } +) { } diff --git a/pkgs/build-support/vm/default.nix b/pkgs/build-support/vm/default.nix index bb877c2a7ae3..73325c0d81eb 100644 --- a/pkgs/build-support/vm/default.nix +++ b/pkgs/build-support/vm/default.nix @@ -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 + ; } diff --git a/pkgs/build-support/vm/rpm/rpm-closure.pl b/pkgs/build-support/vm/rpm/rpm-closure.pl index 6442cd91a957..a11adc27ac10 100644 --- a/pkgs/build-support/vm/rpm/rpm-closure.pl +++ b/pkgs/build-support/vm/rpm/rpm-closure.pl @@ -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") { diff --git a/pkgs/build-support/vm/test.nix b/pkgs/build-support/vm/test.nix index 313ca50e55f9..3a7adcbd216e 100644 --- a/pkgs/build-support/vm/test.nix +++ b/pkgs/build-support/vm/test.nix @@ -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; } diff --git a/pkgs/by-name/ad/adguardhome/package.nix b/pkgs/by-name/ad/adguardhome/package.nix index b175a5ea5a38..124f19ca0a04 100644 --- a/pkgs/by-name/ad/adguardhome/package.nix +++ b/pkgs/by-name/ad/adguardhome/package.nix @@ -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; diff --git a/pkgs/by-name/al/altair/package.nix b/pkgs/by-name/al/altair/package.nix index 160c2e3cb69b..6f46cf3feabd 100644 --- a/pkgs/by-name/al/altair/package.nix +++ b/pkgs/by-name/al/altair/package.nix @@ -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; }; diff --git a/pkgs/by-name/am/amber-lang/fix_gnused_detection.patch b/pkgs/by-name/am/amber-lang/fix_gnused_detection.patch deleted file mode 100644 index a4d2e99ea729..000000000000 --- a/pkgs/by-name/am/amber-lang/fix_gnused_detection.patch +++ /dev/null @@ -1,29 +0,0 @@ -From cae2ad70d6202bc97623be8c7c123ee2736a4644 Mon Sep 17 00:00:00 2001 -From: aleksana -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 { diff --git a/pkgs/by-name/am/amber-lang/fix_word_boundaries.patch b/pkgs/by-name/am/amber-lang/fix_word_boundaries.patch new file mode 100644 index 000000000000..ec73631eccae --- /dev/null +++ b/pkgs/by-name/am/amber-lang/fix_word_boundaries.patch @@ -0,0 +1,38 @@ +From efdbecaf721ccb217ece34a5105eaac68e27aa51 Mon Sep 17 00:00:00 2001 +From: Max Karou +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 + diff --git a/pkgs/by-name/am/amber-lang/package.nix b/pkgs/by-name/am/amber-lang/package.nix index e3180bf19415..a704fbd47fa1 100644 --- a/pkgs/by-name/am/amber-lang/package.nix +++ b/pkgs/by-name/am/amber-lang/package.nix @@ -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 \ diff --git a/pkgs/by-name/an/angrr/package.nix b/pkgs/by-name/an/angrr/package.nix index 8c1d4c2c4367..c40bf8caadba 100644 --- a/pkgs/by-name/an/angrr/package.nix +++ b/pkgs/by-name/an/angrr/package.nix @@ -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"; diff --git a/pkgs/by-name/an/antares/package.nix b/pkgs/by-name/an/antares/package.nix index a83b1f09bede..be56fc44203a 100644 --- a/pkgs/by-name/an/antares/package.nix +++ b/pkgs/by-name/an/antares/package.nix @@ -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 diff --git a/pkgs/by-name/ao/aocl-utils/package.nix b/pkgs/by-name/ao/aocl-utils/package.nix index af9c835cbeb4..59f81da125bc 100644 --- a/pkgs/by-name/ao/aocl-utils/package.nix +++ b/pkgs/by-name/ao/aocl-utils/package.nix @@ -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 ]; diff --git a/pkgs/by-name/ap/apparmor-utils/package.nix b/pkgs/by-name/ap/apparmor-utils/package.nix index 68959cdab171..c7f958887967 100644 --- a/pkgs/by-name/ap/apparmor-utils/package.nix +++ b/pkgs/by-name/ap/apparmor-utils/package.nix @@ -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 = [ diff --git a/pkgs/by-name/ar/armagetronad/package.nix b/pkgs/by-name/ar/armagetronad/package.nix index 146fe963c05e..78d217979804 100644 --- a/pkgs/by-name/ar/armagetronad/package.nix +++ b/pkgs/by-name/ar/armagetronad/package.nix @@ -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}"; diff --git a/pkgs/by-name/aw/aws-vault/package.nix b/pkgs/by-name/aw/aws-vault/package.nix index 0dfbf8311fee..d65ce380545a 100644 --- a/pkgs/by-name/aw/aws-vault/package.nix +++ b/pkgs/by-name/aw/aws-vault/package.nix @@ -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 diff --git a/pkgs/by-name/be/bento/package.nix b/pkgs/by-name/be/bento/package.nix index 65b3b2d82626..45889d77b3bf 100644 --- a/pkgs/by-name/be/bento/package.nix +++ b/pkgs/by-name/be/bento/package.nix @@ -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" diff --git a/pkgs/by-name/bi/bingrep/package.nix b/pkgs/by-name/bi/bingrep/package.nix index d66c76afc307..51ffde524857 100644 --- a/pkgs/by-name/bi/bingrep/package.nix +++ b/pkgs/by-name/bi/bingrep/package.nix @@ -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"; diff --git a/pkgs/by-name/bi/biome/package.nix b/pkgs/by-name/bi/biome/package.nix index b6e450ca832a..0b8119e4702c 100644 --- a/pkgs/by-name/bi/biome/package.nix +++ b/pkgs/by-name/bi/biome/package.nix @@ -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 ]; diff --git a/pkgs/by-name/bl/blender/package.nix b/pkgs/by-name/bl/blender/package.nix index b458b7e7c057..f4cec841f317 100644 --- a/pkgs/by-name/bl/blender/package.nix +++ b/pkgs/by-name/bl/blender/package.nix @@ -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 = { diff --git a/pkgs/by-name/br/bront_fonts/package.nix b/pkgs/by-name/br/bront_fonts/package.nix index ffaaddcb10c6..15e4447e2b48 100644 --- a/pkgs/by-name/br/bront_fonts/package.nix +++ b/pkgs/by-name/br/bront_fonts/package.nix @@ -28,6 +28,6 @@ stdenvNoCC.mkDerivation { ufl ]; platforms = lib.platforms.all; - maintainers = [ lib.maintainers.grburst ]; + maintainers = [ ]; }; } diff --git a/pkgs/by-name/ca/cantus/package.nix b/pkgs/by-name/ca/cantus/package.nix index 2fc13a7ec16d..d39300e4557a 100644 --- a/pkgs/by-name/ca/cantus/package.nix +++ b/pkgs/by-name/ca/cantus/package.nix @@ -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 diff --git a/pkgs/by-name/cl/clouddrive2/package.nix b/pkgs/by-name/cl/clouddrive2/package.nix index 00b6fb81ba9a..07c244cab04d 100644 --- a/pkgs/by-name/cl/clouddrive2/package.nix +++ b/pkgs/by-name/cl/clouddrive2/package.nix @@ -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}"); }; diff --git a/pkgs/by-name/cr/crun/package.nix b/pkgs/by-name/cr/crun/package.nix index 6c2fa30a251b..65e73259621c 100644 --- a/pkgs/by-name/cr/crun/package.nix +++ b/pkgs/by-name/cr/crun/package.nix @@ -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 = '' diff --git a/pkgs/by-name/da/davinci-resolve/package.nix b/pkgs/by-name/da/davinci-resolve/package.nix index 7b5c8b55f4d3..ec22c2d055c7 100644 --- a/pkgs/by-name/da/davinci-resolve/package.nix +++ b/pkgs/by-name/da/davinci-resolve/package.nix @@ -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; diff --git a/pkgs/by-name/du/dua/package.nix b/pkgs/by-name/du/dua/package.nix index d86c9a566447..09711f351e85 100644 --- a/pkgs/by-name/du/dua/package.nix +++ b/pkgs/by-name/du/dua/package.nix @@ -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 diff --git a/pkgs/by-name/ea/easytier/package.nix b/pkgs/by-name/ea/easytier/package.nix index b81ca34bac16..19040c2e7f7a 100644 --- a/pkgs/by-name/ea/easytier/package.nix +++ b/pkgs/by-name/ea/easytier/package.nix @@ -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 diff --git a/pkgs/by-name/en/ensemble-chorus/add-missing-cstdint-includes.patch b/pkgs/by-name/en/ensemble-chorus/add-missing-cstdint-includes.patch new file mode 100644 index 000000000000..79576250787a --- /dev/null +++ b/pkgs/by-name/en/ensemble-chorus/add-missing-cstdint-includes.patch @@ -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 ++#include + + 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 ++#include + class Message_Queue; + struct Basic_Message; diff --git a/pkgs/by-name/en/ensemble-chorus/package.nix b/pkgs/by-name/en/ensemble-chorus/package.nix index 87feeb3f144e..17668f30ced8 100644 --- a/pkgs/by-name/en/ensemble-chorus/package.nix +++ b/pkgs/by-name/en/ensemble-chorus/package.nix @@ -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 = [ diff --git a/pkgs/by-name/en/enzyme/package.nix b/pkgs/by-name/en/enzyme/package.nix index ac60f46c4216..a235e087e68b 100644 --- a/pkgs/by-name/en/enzyme/package.nix +++ b/pkgs/by-name/en/enzyme/package.nix @@ -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 = '' diff --git a/pkgs/by-name/fi/fish/package.nix b/pkgs/by-name/fi/fish/package.nix index eb8748075079..e9179633a25f 100644 --- a/pkgs/by-name/fi/fish/package.nix +++ b/pkgs/by-name/fi/fish/package.nix @@ -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 { diff --git a/pkgs/by-name/fs/fstar/package.nix b/pkgs/by-name/fs/fstar/package.nix index 0886216122c8..b694bf7cdbf0 100644 --- a/pkgs/by-name/fs/fstar/package.nix +++ b/pkgs/by-name/fs/fstar/package.nix @@ -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 = [ diff --git a/pkgs/by-name/gi/git/package.nix b/pkgs/by-name/gi/git/package.nix index c4a4bd7e8334..fd9a5f2f5179 100644 --- a/pkgs/by-name/gi/git/package.nix +++ b/pkgs/by-name/gi/git/package.nix @@ -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() diff --git a/pkgs/by-name/gn/gnucobol/package.nix b/pkgs/by-name/gn/gnucobol/package.nix index 76231551ccc7..a4d5cf34a611 100644 --- a/pkgs/by-name/gn/gnucobol/package.nix +++ b/pkgs/by-name/gn/gnucobol/package.nix @@ -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; diff --git a/pkgs/by-name/go/goat/package.nix b/pkgs/by-name/go/goat/package.nix index f2c3bc98a6e2..3c8a041dce8d 100644 --- a/pkgs/by-name/go/goat/package.nix +++ b/pkgs/by-name/go/goat/package.nix @@ -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 { }; diff --git a/pkgs/by-name/go/gocatcli/package.nix b/pkgs/by-name/go/gocatcli/package.nix index 63a51f85a9ea..af9584391016 100644 --- a/pkgs/by-name/go/gocatcli/package.nix +++ b/pkgs/by-name/go/gocatcli/package.nix @@ -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 ]; diff --git a/pkgs/by-name/gu/gurk-rs/package.nix b/pkgs/by-name/gu/gurk-rs/package.nix index ac0db5ce49fd..adc9d720de98 100644 --- a/pkgs/by-name/gu/gurk-rs/package.nix +++ b/pkgs/by-name/gu/gurk-rs/package.nix @@ -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 ]; }; -} +}) diff --git a/pkgs/by-name/ho/honggfuzz/package.nix b/pkgs/by-name/ho/honggfuzz/package.nix index 06f40e8b8a5d..9fa9071c091b 100644 --- a/pkgs/by-name/ho/honggfuzz/package.nix +++ b/pkgs/by-name/ho/honggfuzz/package.nix @@ -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' diff --git a/pkgs/by-name/ht/httptunnel/package.nix b/pkgs/by-name/ht/httptunnel/package.nix index 5f1e6a55f8b1..2b618642243e 100644 --- a/pkgs/by-name/ht/httptunnel/package.nix +++ b/pkgs/by-name/ht/httptunnel/package.nix @@ -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 ]; diff --git a/pkgs/by-name/hy/hydralauncher/package.nix b/pkgs/by-name/hy/hydralauncher/package.nix index dc24d414a84f..1c98d0bed83d 100644 --- a/pkgs/by-name/hy/hydralauncher/package.nix +++ b/pkgs/by-name/hy/hydralauncher/package.nix @@ -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; }; diff --git a/pkgs/by-name/hy/hyprtoolkit/package.nix b/pkgs/by-name/hy/hyprtoolkit/package.nix index bf97ca524c9e..6bc8429b4451 100644 --- a/pkgs/by-name/hy/hyprtoolkit/package.nix +++ b/pkgs/by-name/hy/hyprtoolkit/package.nix @@ -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 = [ diff --git a/pkgs/by-name/in/inshellisense/package.nix b/pkgs/by-name/in/inshellisense/package.nix index c535edbbd344..3ce3096982d6 100644 --- a/pkgs/by-name/in/inshellisense/package.nix +++ b/pkgs/by-name/in/inshellisense/package.nix @@ -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` diff --git a/pkgs/by-name/jr/jrnl/package.nix b/pkgs/by-name/jr/jrnl/package.nix index d83601ab2173..387e197e66f2 100644 --- a/pkgs/by-name/jr/jrnl/package.nix +++ b/pkgs/by-name/jr/jrnl/package.nix @@ -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; [ diff --git a/pkgs/by-name/ju/just-lsp/package.nix b/pkgs/by-name/ju/just-lsp/package.nix index d3d2a538eeb6..a3f4bec19cdc 100644 --- a/pkgs/by-name/ju/just-lsp/package.nix +++ b/pkgs/by-name/ju/just-lsp/package.nix @@ -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 { }; diff --git a/pkgs/by-name/ka/kafkactl/package.nix b/pkgs/by-name/ka/kafkactl/package.nix index e94e4ddf1fc8..d627a4fef654 100644 --- a/pkgs/by-name/ka/kafkactl/package.nix +++ b/pkgs/by-name/ka/kafkactl/package.nix @@ -33,6 +33,6 @@ buildGoModule rec { - directly access kafka clusters inside your kubernetes cluster ''; license = lib.licenses.asl20; - maintainers = with lib.maintainers; [ grburst ]; + maintainers = [ ]; }; } diff --git a/pkgs/by-name/ka/kando/package.nix b/pkgs/by-name/ka/kando/package.nix index c00687e01d9f..285f5bbd9e11 100644 --- a/pkgs/by-name/ka/kando/package.nix +++ b/pkgs/by-name/ka/kando/package.nix @@ -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" ]; diff --git a/pkgs/by-name/ke/keystore-explorer/package.nix b/pkgs/by-name/ke/keystore-explorer/package.nix index 6739ab2d1b0e..646028c204ac 100644 --- a/pkgs/by-name/ke/keystore-explorer/package.nix +++ b/pkgs/by-name/ke/keystore-explorer/package.nix @@ -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. diff --git a/pkgs/by-name/la/ladybird/package.nix b/pkgs/by-name/la/ladybird/package.nix index 3bbb4abb2fe8..382894ea6d2b 100644 --- a/pkgs/by-name/la/ladybird/package.nix +++ b/pkgs/by-name/la/ladybird/package.nix @@ -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" diff --git a/pkgs/by-name/li/libgdstk/package.nix b/pkgs/by-name/li/libgdstk/package.nix index 7ec5c8d0920a..bf2fe954b030 100644 --- a/pkgs/by-name/li/libgdstk/package.nix +++ b/pkgs/by-name/li/libgdstk/package.nix @@ -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 = [ diff --git a/pkgs/by-name/li/libmilter/package.nix b/pkgs/by-name/li/libmilter/package.nix index 471d7e6bf3b5..6a9addcb8e24 100644 --- a/pkgs/by-name/li/libmilter/package.nix +++ b/pkgs/by-name/li/libmilter/package.nix @@ -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 = '' diff --git a/pkgs/by-name/li/libshumate/package.nix b/pkgs/by-name/li/libshumate/package.nix index 5ae76ed886d4..f5ea007b96c5 100644 --- a/pkgs/by-name/li/libshumate/package.nix +++ b/pkgs/by-name/li/libshumate/package.nix @@ -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"; diff --git a/pkgs/by-name/li/libtraceevent/package.nix b/pkgs/by-name/li/libtraceevent/package.nix index fb595a712243..0a646a97aac0 100644 --- a/pkgs/by-name/li/libtraceevent/package.nix +++ b/pkgs/by-name/li/libtraceevent/package.nix @@ -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 = '' diff --git a/pkgs/by-name/li/limine/package.nix b/pkgs/by-name/li/limine/package.nix index 5ee9c05a017d..238f21a95b06 100644 --- a/pkgs/by-name/li/limine/package.nix +++ b/pkgs/by-name/li/limine/package.nix @@ -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; diff --git a/pkgs/by-name/li/linkwarden/package.nix b/pkgs/by-name/li/linkwarden/package.nix index 3d8289cbbec3..d25eab008b58 100644 --- a/pkgs/by-name/li/linkwarden/package.nix +++ b/pkgs/by-name/li/linkwarden/package.nix @@ -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 \ diff --git a/pkgs/by-name/ll/llama-cpp/package.nix b/pkgs/by-name/ll/llama-cpp/package.nix index 71ca9fbaec55..133b59620f13 100644 --- a/pkgs/by-name/ll/llama-cpp/package.nix +++ b/pkgs/by-name/ll/llama-cpp/package.nix @@ -74,13 +74,13 @@ let in effectiveStdenv.mkDerivation (finalAttrs: { pname = "llama-cpp"; - version = "7581"; + version = "7628"; src = fetchFromGitHub { owner = "ggml-org"; repo = "llama.cpp"; tag = "b${finalAttrs.version}"; - hash = "sha256-8xQ6Azdr2Nwn+2EYAn/YDGLDRI6hqKVQsBDmfa7f5uk="; + hash = "sha256-SRz8uLjXtjpHhekqrksUc7oUuz6cYdWfvcdHxWNEgbs="; leaveDotGit = true; postFetch = '' git -C "$out" rev-parse --short HEAD > $out/COMMIT diff --git a/pkgs/by-name/lm/lms/package.nix b/pkgs/by-name/lm/lms/package.nix index 59f17dcfd316..3137d88a0563 100644 --- a/pkgs/by-name/lm/lms/package.nix +++ b/pkgs/by-name/lm/lms/package.nix @@ -23,13 +23,13 @@ stdenv.mkDerivation rec { pname = "lms"; - version = "3.73.0"; + version = "3.74.0"; src = fetchFromGitHub { owner = "epoupon"; repo = "lms"; rev = "v${version}"; - hash = "sha256-9m1YvuYuiiEXAX8HFt61VGZN/ThYXdBcwOSeL05mwOU="; + hash = "sha256-D1Sg6XzZ8t/dFKrVh7k+KGLg2r6LeLGJk4FweVb4L1A="; }; strictDeps = true; diff --git a/pkgs/by-name/lm/lmstudio/linux.nix b/pkgs/by-name/lm/lmstudio/linux.nix index 5b6e09171819..054bb7b900c3 100644 --- a/pkgs/by-name/lm/lmstudio/linux.nix +++ b/pkgs/by-name/lm/lmstudio/linux.nix @@ -9,6 +9,7 @@ stdenv, lib, passthru, + graphicsmagick, }: let src = fetchurl { inherit url hash; }; @@ -24,11 +25,21 @@ appimageTools.wrapType2 { passthru ; + nativeBuildInputs = [ graphicsmagick ]; + extraPkgs = pkgs: [ pkgs.ocl-icd ]; extraInstallCommands = '' mkdir -p $out/share/applications - cp -r ${appimageContents}/usr/share/icons $out/share + + # setup icons (see https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=lmstudio#n55 for how Arch solved this; approach adapted to here) + src_icon="${appimageContents}/usr/share/icons/hicolor/0x0/apps/lm-studio.png" + sizes=("16x16" "32x32" "48x48" "64x64" "128x128" "256x256") + for size in "''${sizes[@]}"; do + install -dm755 "$out/share/icons/hicolor/$size/apps" + gm convert "$src_icon" -resize "$size" "$out/share/icons/hicolor/$size/apps/lm-studio.png" + done + install -m 444 -D ${appimageContents}/lm-studio.desktop -t $out/share/applications # Rename the main executable from lmstudio to lm-studio diff --git a/pkgs/by-name/lu/lurk/package.nix b/pkgs/by-name/lu/lurk/package.nix index f6ff6aee0e48..f3a737cefadd 100644 --- a/pkgs/by-name/lu/lurk/package.nix +++ b/pkgs/by-name/lu/lurk/package.nix @@ -6,16 +6,16 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "lurk"; - version = "0.3.10"; + version = "0.3.11"; src = fetchFromGitHub { owner = "jakwai01"; repo = "lurk"; tag = "v${finalAttrs.version}"; - hash = "sha256-5riwosaT7QjRFnIFRAcyLul7i1g8OpHyUuuJNOROTF0="; + hash = "sha256-Sng+mMMKDuI1aSgusJDRFMT5iKNUlp9arp9ruRn0bb0="; }; - cargoHash = "sha256-CDrqcKNhQYbtDaasyCQ6VPGdIrW34VBKPDpbFeommAc="; + cargoHash = "sha256-Cmlhhda35FmNg/OvfMRPHBLPRXF5bs0ebBYT7KfierA="; postPatch = '' substituteInPlace src/lib.rs \ diff --git a/pkgs/by-name/me/meld/package.nix b/pkgs/by-name/me/meld/package.nix index 4d72e5d698cd..49ebf4782d93 100644 --- a/pkgs/by-name/me/meld/package.nix +++ b/pkgs/by-name/me/meld/package.nix @@ -22,13 +22,13 @@ python3.pkgs.buildPythonApplication rec { pname = "meld"; - version = "3.23.0"; + version = "3.23.1"; format = "other"; src = fetchurl { url = "mirror://gnome/sources/meld/${lib.versions.majorMinor version}/meld-${version}.tar.xz"; - hash = "sha256-mDwqQkDgJaIQnHc4GYcQ6dawY8kQsEgzLRRpDPU4wqY="; + hash = "sha256-c/gnkkZjx8a0UadMg4UwTZn+qhPIH04KFx2ll8aENXQ="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/me/meli/package.nix b/pkgs/by-name/me/meli/package.nix index 9ed50bba7621..f4332eba458c 100644 --- a/pkgs/by-name/me/meli/package.nix +++ b/pkgs/by-name/me/meli/package.nix @@ -28,7 +28,7 @@ rustPlatform.buildRustPackage rec { pname = "meli"; - version = "0.8.12"; + version = "0.8.13"; src = fetchzip { urls = [ @@ -36,10 +36,10 @@ rustPlatform.buildRustPackage rec { "https://codeberg.org/meli/meli/archive/v${version}.tar.gz" "https://github.com/meli/meli/archive/refs/tags/v${version}.tar.gz" ]; - hash = "sha256-Dp0WI1Cl+m7oxZ/4zEi0TtOwqRX681jZht9bNMFnmsU="; + hash = "sha256-uyhxNEKoRKrqvU76SuTKl1wlwOdHIxMFLXB5LwsdvQE="; }; - cargoHash = "sha256-DJtk8xLppXdl9sSt6GcaXwZ5MEIY/s/z/bdcdr8YdLw="; + cargoHash = "sha256-wDj4g5Cjm6zedjCmpc/A40peHO951lLuEQGsn+i3eT0="; # Needed to get openssl-sys to use pkg-config env.OPENSSL_NO_VENDOR = 1; diff --git a/pkgs/by-name/mi/mimir/package.nix b/pkgs/by-name/mi/mimir/package.nix index ebc6e2bfead3..c2e42872e1aa 100644 --- a/pkgs/by-name/mi/mimir/package.nix +++ b/pkgs/by-name/mi/mimir/package.nix @@ -7,13 +7,13 @@ }: buildGoModule (finalAttrs: { pname = "mimir"; - version = "3.0.1"; + version = "3.0.2"; src = fetchFromGitHub { rev = "mimir-${finalAttrs.version}"; owner = "grafana"; repo = "mimir"; - hash = "sha256-tYGzU/sn6KLLetDmAyph5u8bCocmfF4ZysTkOCSVf+U="; + hash = "sha256-8dym3E6VinpExE4A+ekbhiQ+Zhwvue6/s1mAhBkwPMU="; }; vendorHash = null; diff --git a/pkgs/by-name/mo/modrinth-app/package.nix b/pkgs/by-name/mo/modrinth-app/package.nix index 3047fe2aa192..baf52dc3f9c0 100644 --- a/pkgs/by-name/mo/modrinth-app/package.nix +++ b/pkgs/by-name/mo/modrinth-app/package.nix @@ -24,7 +24,7 @@ pipewire, symlinkJoin, udev, - wrapGAppsHook4, + wrapGAppsHook3, xorg, }: @@ -38,7 +38,7 @@ symlinkJoin { nativeBuildInputs = [ glib - wrapGAppsHook4 + wrapGAppsHook3 ]; buildInputs = [ diff --git a/pkgs/by-name/mp/mpls/package.nix b/pkgs/by-name/mp/mpls/package.nix index ce7229790821..b2e71a124d95 100644 --- a/pkgs/by-name/mp/mpls/package.nix +++ b/pkgs/by-name/mp/mpls/package.nix @@ -7,13 +7,13 @@ }: buildGoModule rec { pname = "mpls"; - version = "0.16.0"; + version = "0.16.1"; src = fetchFromGitHub { owner = "mhersson"; repo = "mpls"; tag = "v${version}"; - hash = "sha256-xNgbtVyjhimvhZ1ua8NoTS3bV7ZSbX5j9VnFSYXuGpI="; + hash = "sha256-O//9AeJ9x8WF+0ub6KK91efPr9Hdbx1Ab4X0oaUhwss="; }; vendorHash = "sha256-QtNQnJtYLmSTTLwKKQ8P6O6wyctgwN8OcGZkMXa+Ark="; diff --git a/pkgs/by-name/my/myks/package.nix b/pkgs/by-name/my/myks/package.nix index 718fb15a7ca8..335ee9a1cd3c 100644 --- a/pkgs/by-name/my/myks/package.nix +++ b/pkgs/by-name/my/myks/package.nix @@ -10,16 +10,16 @@ buildGoModule rec { pname = "myks"; - version = "5.5.0"; + version = "5.5.1"; src = fetchFromGitHub { owner = "mykso"; repo = "myks"; tag = "v${version}"; - hash = "sha256-swfzmuw7TtRvYeAlRTP1v3zvuSUsD/j1FddPfMDekbs="; + hash = "sha256-6K/mlx1l8Ijmligefb2Wcwq9aSGh5PbvgoyJpx0U4w4="; }; - vendorHash = "sha256-Gi/y6fCrfphBrF4Zag1zkAXuRhvvl9sTm3Magm6k0Q0="; + vendorHash = "sha256-Tl8ubucPn72TGD5ER3zeDHJUoSklNeeByitj/WfICoU="; subPackages = "."; diff --git a/pkgs/by-name/ne/netatalk/package.nix b/pkgs/by-name/ne/netatalk/package.nix index c6111d502cc3..e5f418735096 100644 --- a/pkgs/by-name/ne/netatalk/package.nix +++ b/pkgs/by-name/ne/netatalk/package.nix @@ -29,11 +29,11 @@ stdenv.mkDerivation (finalAttrs: { pname = "netatalk"; - version = "4.3.2"; + version = "4.4.0"; src = fetchurl { url = "mirror://sourceforge/netatalk/netatalk/netatalk-${finalAttrs.version}.tar.xz"; - hash = "sha256-KXe0/RExgvDMGDM3uiPVcB+yvk4N/Ox+5XW01zpzjTo="; + hash = "sha256-GMoy3Gwl57o1KFlLeEN58BOIj6mED/xHjNH+9VUTglw="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/ne/neverball/package.nix b/pkgs/by-name/ne/neverball/package.nix index 9526c928c514..ecc9828ab8dd 100644 --- a/pkgs/by-name/ne/neverball/package.nix +++ b/pkgs/by-name/ne/neverball/package.nix @@ -12,6 +12,8 @@ libvorbis, gettext, physfs, + iconv, + makeBinaryWrapper, }: stdenv.mkDerivation rec { @@ -31,6 +33,10 @@ stdenv.mkDerivation rec { }) ]; + nativeBuildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ + iconv + makeBinaryWrapper + ]; buildInputs = [ libpng SDL2 @@ -38,9 +44,11 @@ stdenv.mkDerivation rec { libjpeg SDL2_ttf libvorbis - libX11 gettext physfs + ] + ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ + libX11 ]; dontPatchELF = true; @@ -48,7 +56,21 @@ stdenv.mkDerivation rec { postPatch = '' sed -i -e 's@\./data@'$out/share/neverball/data@ share/base_config.h Makefile sed -i -e 's@\./locale@'$out/share/neverball/locale@ share/base_config.h Makefile - sed -i -e 's@-lvorbisfile@-lvorbisfile -lX11 -lgcc_s@' Makefile + sed -i -e 's@-lvorbisfile@-lvorbisfile${ + lib.optionalString (!stdenv.hostPlatform.isDarwin) " -lX11" + + lib.optionalString stdenv.cc.isGNU " -lgcc_s" + }@' Makefile + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + for game in ball putt; do + pushd macosx/xcode/''${game}_items/ + substituteInPlace Info.plist --replace-fail '1.5.3' "$version" + iconv -f UTF-16LE -t UTF-8 English.lproj/InfoPlist.strings > English.lproj/InfoPlist.strings.tmp + substituteInPlace English.lproj/InfoPlist.strings.tmp --replace-fail '1.5.3' "$version" --replace-fail '2002-2009' '2002-2014' + iconv -f UTF-8 -t UTF-16LE English.lproj/InfoPlist.strings.tmp > English.lproj/InfoPlist.strings + rm English.lproj/InfoPlist.strings.tmp + popd + done ''; # The map generation code requires a writable HOME @@ -57,8 +79,23 @@ stdenv.mkDerivation rec { installPhase = '' mkdir -p $out/bin $out/share/neverball cp -R data locale $out/share/neverball - cp neverball $out/bin - cp neverputt $out/bin + ${ + if stdenv.hostPlatform.isDarwin then + '' + mkdir -p $out/Applications/Never{ball,putt}.app/Contents/{MacOS,Resources} + for game in ball putt; do + cp never$game $out/Applications/Never$game.app/Contents/MacOS/Never$game + makeWrapper $out/Applications/Never$game.app/Contents/MacOS/Never$game $out/bin/never$game + cp macosx/xcode/''${game}_items/Info.plist $out/Applications/Never$game.app/Contents/Info.plist + cp -r macosx/icons/never$game.icns macosx/xcode/''${game}_items/English.lproj $out/Applications/Never$game.app/Contents/Resources/ + done + '' + else + '' + cp neverball $out/bin + cp neverputt $out/bin + '' + } cp mapc $out/bin ''; @@ -73,7 +110,7 @@ stdenv.mkDerivation rec { mit gpl3Only ]; - maintainers = [ ]; - platforms = with lib.platforms; linux; + maintainers = with lib.maintainers; [ Rhys-T ]; + platforms = with lib.platforms; linux ++ darwin; }; } diff --git a/pkgs/by-name/ne/newsraft/package.nix b/pkgs/by-name/ne/newsraft/package.nix index 4443bc9943a4..8afd52549f36 100644 --- a/pkgs/by-name/ne/newsraft/package.nix +++ b/pkgs/by-name/ne/newsraft/package.nix @@ -12,14 +12,14 @@ stdenv.mkDerivation (finalAttrs: { pname = "newsraft"; - version = "0.34"; + version = "0.35"; src = fetchFromGitea { domain = "codeberg.org"; owner = "newsraft"; repo = "newsraft"; rev = "newsraft-${finalAttrs.version}"; - hash = "sha256-o02NAIkT98GJAcAlj04L6sVYcx/x+JOefxkK8llEqYM="; + hash = "sha256-c1IlPs+GxwDeUCpyQ6oy9iLC3YNLCJpjkj1gnwY7lxA="; }; nativeBuildInputs = [ pkg-config ]; diff --git a/pkgs/by-name/ne/nezha-agent/package.nix b/pkgs/by-name/ne/nezha-agent/package.nix index 5ac493fa03fc..4b99d7a475b6 100644 --- a/pkgs/by-name/ne/nezha-agent/package.nix +++ b/pkgs/by-name/ne/nezha-agent/package.nix @@ -8,13 +8,13 @@ }: buildGoModule (finalAttrs: { pname = "nezha-agent"; - version = "1.14.1"; + version = "1.14.3"; src = fetchFromGitHub { owner = "nezhahq"; repo = "agent"; tag = "v${finalAttrs.version}"; - hash = "sha256-1p/YEAIa0+9FC+TuNHdv7WSXzDJBS7zgrocNJZ0Tuk0="; + hash = "sha256-/DDk57rUXiACQaXl4KTMiOFFMopHtYvRI4vnPORseFE="; }; vendorHash = "sha256-A0oVUyCflbEY3vBbJwy7cF2m1x9vHCY2jAOsrm3659E="; diff --git a/pkgs/by-name/ng/ngrep/package.nix b/pkgs/by-name/ng/ngrep/package.nix index 028e8e8f8f68..b29a1e025e64 100644 --- a/pkgs/by-name/ng/ngrep/package.nix +++ b/pkgs/by-name/ng/ngrep/package.nix @@ -2,39 +2,31 @@ lib, stdenv, fetchFromGitHub, - fetchpatch, autoreconfHook, libpcap, - pcre, + pcre2, }: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "ngrep"; - version = "1.47"; + version = "1.48.3"; src = fetchFromGitHub { owner = "jpr5"; repo = "ngrep"; - rev = "V${lib.replaceStrings [ "." ] [ "_" ] version}"; - sha256 = "1x2fyd7wdqlj1r76ilal06cl2wmbz0ws6i3ys204sbjh1cj6dcl7"; + tag = "v${finalAttrs.version}"; + hash = "sha256-2fYv9iLS+YLFLMjTpi/K4BLRSLTbkLGATlToA2ivrTo="; }; - patches = [ - (fetchpatch { - url = "https://patch-diff.githubusercontent.com/raw/jpr5/ngrep/pull/11.patch"; - sha256 = "0k5qzvj8j3r1409qwwvzp7m3clgs2g7hs4q68bhrqbrsvvb2h5dh"; - }) - ]; - nativeBuildInputs = [ autoreconfHook ]; buildInputs = [ libpcap - pcre + pcre2 ]; configureFlags = [ "--enable-ipv6" - "--enable-pcre" + "--enable-pcre2" "--disable-pcap-restart" "--with-pcap-includes=${libpcap}/include" ]; @@ -65,4 +57,4 @@ stdenv.mkDerivation rec { maintainers = [ lib.maintainers.bjornfor ]; mainProgram = "ngrep"; }; -} +}) diff --git a/pkgs/by-name/ni/nitrotpm-tools/package.nix b/pkgs/by-name/ni/nitrotpm-tools/package.nix new file mode 100644 index 000000000000..2ac90fe24fd0 --- /dev/null +++ b/pkgs/by-name/ni/nitrotpm-tools/package.nix @@ -0,0 +1,47 @@ +{ + lib, + fetchFromGitHub, + rustPlatform, + pkg-config, + openssl, + tpm2-tss, + nix-update-script, +}: + +rustPlatform.buildRustPackage rec { + pname = "nitrotpm-tools"; + version = "1.1.0"; + + src = fetchFromGitHub { + owner = "aws"; + repo = "NitroTPM-Tools"; + rev = "v${version}"; + hash = "sha256-ZTASHHa+LQ/hNaM0qfsaGdNwkZQQZnR9+f05DHbviLw="; + }; + + cargoHash = "sha256-z0b0bLKrnLdMfGKp9aIg3DPW3MJnEhjy9GjCYy44TTQ="; + + nativeBuildInputs = [ + pkg-config + ]; + + buildInputs = [ + openssl + tpm2-tss + ]; + + passthru.updateScript = nix-update-script { }; + + meta = { + description = "Collection of utilities for working with NitroTPM attestation"; + longDescription = '' + A collection of utilities for working with NitroTPM attestation on AWS EC2. + Includes nitro-tpm-attest for requesting attestation documents and + nitro-tpm-pcr-compute for precomputing PCR values of UKIs (Unified Kernel Images). + ''; + homepage = "https://github.com/aws/NitroTPM-Tools"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ arianvp ]; + platforms = lib.platforms.linux; + }; +} diff --git a/pkgs/by-name/ni/nix-converter/package.nix b/pkgs/by-name/ni/nix-converter/package.nix index 318e181fcac2..1e7ed5b459ca 100644 --- a/pkgs/by-name/ni/nix-converter/package.nix +++ b/pkgs/by-name/ni/nix-converter/package.nix @@ -4,16 +4,15 @@ fetchFromGitHub, nix-update-script, }: - -buildGoModule { +buildGoModule (finalAttrs: { pname = "nix-converter"; - version = "0-unstable-2025-12-29"; + version = "1.0.0"; src = fetchFromGitHub { owner = "theobori"; repo = "nix-converter"; - rev = "6e5c00e94f078a1eea610e736e7e1fb8349b1ab5"; - hash = "sha256-Pdw/vUgfEws+EOyFT9WK8SjZP6DCVJkWWJgI01+5+KI="; + tag = finalAttrs.version; + hash = "sha256-RfZcQsDPZJZXggvjF0JQqUXg5p2WnMjYANkDXkQZIhU="; }; vendorHash = "sha256-Ay1f9sk8RuJyOS7hl/lrscpxdlIgm9dMow/xTFoR+H4="; @@ -35,4 +34,4 @@ buildGoModule { ]; mainProgram = "nix-converter"; }; -} +}) diff --git a/pkgs/by-name/ni/nix-top/package.nix b/pkgs/by-name/ni/nix-top/package.nix index 1f5717ed7ccb..bf334ad9b711 100644 --- a/pkgs/by-name/ni/nix-top/package.nix +++ b/pkgs/by-name/ni/nix-top/package.nix @@ -23,13 +23,13 @@ let in stdenv.mkDerivation rec { pname = "nix-top"; - version = "0.3.0"; + version = "0.4.0"; src = fetchFromGitHub { owner = "jerith666"; repo = "nix-top"; rev = "v${version}"; - hash = "sha256-w/TKzbZmMt4CX2KnLwPvR1ydp5NNlp9nNx78jJvhp54="; + hash = "sha256-dpH1qfAHt8kDEG1QMFcD67rOhDsWZuaw3WSUZdPx3oQ="; }; nativeBuildInputs = [ makeWrapper ]; diff --git a/pkgs/by-name/nx/nxv/package.nix b/pkgs/by-name/nx/nxv/package.nix new file mode 100644 index 000000000000..3fac23f6d872 --- /dev/null +++ b/pkgs/by-name/nx/nxv/package.nix @@ -0,0 +1,42 @@ +{ + lib, + rustPlatform, + fetchFromGitHub, + versionCheckHook, + nix-update-script, +}: + +rustPlatform.buildRustPackage (finalAttrs: { + pname = "nxv"; + version = "0.1.3"; + + src = fetchFromGitHub { + owner = "jamesbrink"; + repo = "nxv"; + tag = "v${finalAttrs.version}"; + hash = "sha256-Gj+5Tgt0IO2P/GyPVM9yBgYoiSkpdfcq1r8TmZLZMSs="; + fetchSubmodules = true; + }; + + cargoHash = "sha256-7c1LryJvrOsSiLPYNvGIFaTONhA0c99n918/yNRKkxo="; + + doInstallCheck = true; + nativeInstallCheckInputs = [ versionCheckHook ]; + versionCheckProgramArg = "--version"; + + passthru.updateScript = nix-update-script { }; + + meta = { + description = "Find any version of any Nix package instantly"; + longDescription = '' + nxv indexes the entire nixpkgs git history to help you discover + when packages were added, which versions existed, and the exact + commit to use with `nix shell nixpkgs/#package`. + ''; + homepage = "https://nxv.urandom.io"; + changelog = "https://github.com/jamesbrink/nxv/blob/${finalAttrs.src.tag}/CHANGELOG.md"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ yiyu ]; + mainProgram = "nxv"; + }; +}) diff --git a/pkgs/by-name/op/opencode/package.nix b/pkgs/by-name/op/opencode/package.nix index 1d6076a7b127..7d91031028ed 100644 --- a/pkgs/by-name/op/opencode/package.nix +++ b/pkgs/by-name/op/opencode/package.nix @@ -9,16 +9,17 @@ nix-update-script, ripgrep, testers, + installShellFiles, writableTmpDirAsHomeHook, }: let pname = "opencode"; - version = "1.0.224"; + version = "1.1.3"; src = fetchFromGitHub { - owner = "sst"; + owner = "anomalyco"; repo = "opencode"; tag = "v${version}"; - hash = "sha256-4ozluoXTovh1wpWVzxCN4jUO7cMxZER/0KMOBsJFO64="; + hash = "sha256-uNeje6WZ/FJVOtxdTdWXbWhPl7BwMws+7/Iz2Hz/stw="; }; node_modules = stdenvNoCC.mkDerivation { @@ -70,7 +71,7 @@ let # NOTE: Required else we get errors that our fixed-output derivation references store paths dontFixup = true; - outputHash = "sha256-+HEd3I11VqejTi7cikbTL5+DmNGyvUC4Cm4ysfujwes="; + outputHash = "sha256-LJ7xgKQP0ows76P8QVflS6SGGowVBYVvarkmCVkfe60="; outputHashAlgo = "sha256"; outputHashMode = "recursive"; }; @@ -85,8 +86,10 @@ stdenvNoCC.mkDerivation (finalAttrs: { nativeBuildInputs = [ bun + installShellFiles makeBinaryWrapper models-dev + writableTmpDirAsHomeHook ]; patches = [ @@ -197,6 +200,17 @@ stdenvNoCC.mkDerivation (finalAttrs: { $out/lib/opencode/node_modules/@opentui/$pkgName fi done + + ${lib.optionalString + ( + (stdenvNoCC.buildPlatform.canExecute stdenvNoCC.hostPlatform) + && (stdenvNoCC.hostPlatform.system != "x86_64-darwin") + ) + '' + installShellCompletion --cmd opencode \ + --bash <($out/bin/opencode completion) + '' + } ''; passthru = { @@ -221,7 +235,7 @@ stdenvNoCC.mkDerivation (finalAttrs: { It combines a TypeScript/JavaScript core with a Go-based TUI to provide an interactive AI coding experience. ''; - homepage = "https://github.com/sst/opencode"; + homepage = "https://github.com/anomalyco/opencode"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ delafthi ]; sourceProvenance = with lib.sourceTypes; [ fromSource ]; diff --git a/pkgs/by-name/op/opendmarc/package.nix b/pkgs/by-name/op/opendmarc/package.nix index 815abcd88711..34bafbc67d8b 100644 --- a/pkgs/by-name/op/opendmarc/package.nix +++ b/pkgs/by-name/op/opendmarc/package.nix @@ -27,6 +27,11 @@ stdenv.mkDerivation rec { "doc" ]; + env.NIX_CFLAGS_COMPILE = toString [ + # gcc15 build failure + "-std=gnu17" + ]; + buildInputs = [ perl ]; nativeBuildInputs = [ autoreconfHook diff --git a/pkgs/by-name/pk/pkgsite/package.nix b/pkgs/by-name/pk/pkgsite/package.nix index 5c4562bfa15d..ead7791f81bf 100644 --- a/pkgs/by-name/pk/pkgsite/package.nix +++ b/pkgs/by-name/pk/pkgsite/package.nix @@ -7,16 +7,16 @@ buildGoModule { pname = "pkgsite"; - version = "0-unstable-2025-12-23"; + version = "0-unstable-2026-01-01"; src = fetchFromGitHub { owner = "golang"; repo = "pkgsite"; - rev = "1a3bd3c788fea11057a8e696fd274c4c3f3e952c"; - hash = "sha256-GnjzJhmH9mOBdpc+r3Hco0KFsTp4LMkbTn/oMBthemQ="; + rev = "3a74f05acd7522e74e16a35bdf80301dae44cfc9"; + hash = "sha256-1YTCjaPf6t0Tn/u1ERBxoHeXAIMO4wsPIcODBPJjrlM="; }; - vendorHash = "sha256-6wgJNDzUzSCkwzjqGwzpa63+0HoN5PapKxMBFBuu16M="; + vendorHash = "sha256-rruIjtXtFZ0MOJkWx4n+7apKGv4Pq6GrOWoQ3o+8KFs="; subPackages = [ "cmd/pkgsite" ]; diff --git a/pkgs/by-name/pr/prisma-engines_6/package.nix b/pkgs/by-name/pr/prisma-engines_6/package.nix index c49edabc8d2d..74f5d5964d3d 100644 --- a/pkgs/by-name/pr/prisma-engines_6/package.nix +++ b/pkgs/by-name/pr/prisma-engines_6/package.nix @@ -10,14 +10,14 @@ # Updating this package will force an update for prisma. The # version of prisma-engines and prisma must be the same for them to # function correctly. -rustPlatform.buildRustPackage rec { +rustPlatform.buildRustPackage (finalAttrs: { pname = "prisma-engines_6"; version = "6.19.1"; src = fetchFromGitHub { owner = "prisma"; repo = "prisma-engines"; - tag = version; + tag = finalAttrs.version; hash = "sha256-z3GdnrLEMJIGPKXXbz2wrbiGpuNlgYxqg3iYINYTnPI="; }; @@ -70,7 +70,7 @@ rustPlatform.buildRustPackage rec { aqrln ]; }; -} +}) ### Troubleshooting # Here's an example application using Prisma with Nix: https://github.com/pimeys/nix-prisma-example diff --git a/pkgs/by-name/pr/prisma-engines_7/package.nix b/pkgs/by-name/pr/prisma-engines_7/package.nix index 88164ec1e541..91854e23a96e 100644 --- a/pkgs/by-name/pr/prisma-engines_7/package.nix +++ b/pkgs/by-name/pr/prisma-engines_7/package.nix @@ -9,18 +9,18 @@ # Updating this package will force an update for prisma. The # version of prisma-engines and prisma must be the same for them to # function correctly. -rustPlatform.buildRustPackage rec { +rustPlatform.buildRustPackage (finalAttrs: { pname = "prisma-engines_7"; - version = "7.0.1"; + version = "7.2.0"; src = fetchFromGitHub { owner = "prisma"; repo = "prisma-engines"; - tag = version; - hash = "sha256-+8k+M2+WySR2CeywYlhU/jd3av/4UeUoEOlO/qHUk5o="; + tag = finalAttrs.version; + hash = "sha256-1CwpUtNuqxGNjBmmmo/Aet8XrmnCQfDToI7vZaNupDI="; }; - cargoHash = "sha256-n83hJfSlvuaoBb3w9Rk8+q2emjGCoPDHhFdoVzhf4sM="; + cargoHash = "sha256-U5d/HkuWnD/XSrAJr5AYh+WPVGDOcK/e4sC0udPZoyU="; # Use system openssl. OPENSSL_NO_VENDOR = 1; @@ -59,7 +59,7 @@ rustPlatform.buildRustPackage rec { aqrln ]; }; -} +}) ### Troubleshooting # Here's an example application using Prisma with Nix: https://github.com/pimeys/nix-prisma-example diff --git a/pkgs/by-name/pr/prisma_7/package.nix b/pkgs/by-name/pr/prisma_7/package.nix index 710c5d4b8051..113c33111ead 100644 --- a/pkgs/by-name/pr/prisma_7/package.nix +++ b/pkgs/by-name/pr/prisma_7/package.nix @@ -15,13 +15,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "prisma_7"; - version = "7.0.1"; + version = "7.2.0"; src = fetchFromGitHub { owner = "prisma"; repo = "prisma"; tag = finalAttrs.version; - hash = "sha256-bmmthEFMBMJAracWUCU/6Nyic05JglP5t1VAWPVKFnU="; + hash = "sha256-oDfb/RwSa63ErWHF86q5xPPUUsRUV2DwNHARTV5gxyk="; }; nativeBuildInputs = [ @@ -36,8 +36,8 @@ stdenv.mkDerivation (finalAttrs: { pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; pnpm = pnpm_10; - fetcherVersion = 1; - hash = "sha256-sJmlMF8nay4/3LTHEWzBWaS8Xq91JRZlzKBfeMnJEMM="; + fetcherVersion = 3; + hash = "sha256-HZsrHYUh4nxUgwVbmJ+fV4/OZvEWDKkD4CT8hIt1SRY="; }; patchPhase = '' diff --git a/pkgs/by-name/qo/qownnotes/package.nix b/pkgs/by-name/qo/qownnotes/package.nix index 1bf49b13e252..37b59c1e875d 100644 --- a/pkgs/by-name/qo/qownnotes/package.nix +++ b/pkgs/by-name/qo/qownnotes/package.nix @@ -19,11 +19,11 @@ stdenv.mkDerivation (finalAttrs: { pname = "qownnotes"; appname = "QOwnNotes"; - version = "25.12.7"; + version = "26.1.4"; src = fetchurl { url = "https://github.com/pbek/QOwnNotes/releases/download/v${finalAttrs.version}/qownnotes-${finalAttrs.version}.tar.xz"; - hash = "sha256-C05YNT6BfrWMuzph8DxNnc5eu2b3nqj06bzWqEWm0hU="; + hash = "sha256-+YDDbG1M/po1ln/vpzoWcj8wD5302o1kjv9b6UWZsNU="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/qu/qui/package.nix b/pkgs/by-name/qu/qui/package.nix index f43a5a277fa9..89a73f6946a6 100644 --- a/pkgs/by-name/qu/qui/package.nix +++ b/pkgs/by-name/qu/qui/package.nix @@ -13,12 +13,12 @@ }: buildGoModule (finalAttrs: { pname = "qui"; - version = "1.11.0"; + version = "1.12.0"; src = fetchFromGitHub { owner = "autobrr"; repo = "qui"; tag = "v${finalAttrs.version}"; - hash = "sha256-ioyFTTJu2B0m+U+GgY/VOIesAZLQI3mRZ5ZBh77emFY="; + hash = "sha256-j0d8aJ9qcK3+/g+qNBsH84U5zQho6bl5TdzHQRQsabs="; }; qui-web = stdenvNoCC.mkDerivation (finalAttrs': { @@ -43,7 +43,7 @@ buildGoModule (finalAttrs: { ; pnpm = pnpm_9; fetcherVersion = 2; - hash = "sha256-6brOEC1UAxjIZB4pujhA624jKTTxfZQiiz/PzqooPeA="; + hash = "sha256-3TAB5StrKBmgit02J7GiMfk6EDl8oiLvcOAnCJ9ian4="; }; postBuild = '' @@ -55,7 +55,7 @@ buildGoModule (finalAttrs: { ''; }); - vendorHash = "sha256-clVC3xPV/vJpWogDs1a977osQgPyhvZ4CRnHnKEZMs0="; + vendorHash = "sha256-hdgTC/oA2ZUc7mqA3v1vunXcu+aeKGw2fEUBBeerCeg="; preBuild = '' cp -r ${finalAttrs.qui-web}/* web/dist @@ -84,7 +84,10 @@ buildGoModule (finalAttrs: { license = lib.licenses.gpl2Plus; homepage = "https://github.com/autobrr/qui"; changelog = "https://github.com/autobrr/qui/releases/tag/v${finalAttrs.version}"; - maintainers = with lib.maintainers; [ pta2002 ]; + maintainers = with lib.maintainers; [ + pta2002 + tmarkus + ]; mainProgram = "qui"; platforms = lib.platforms.unix; }; diff --git a/pkgs/by-name/ra/raffi/package.nix b/pkgs/by-name/ra/raffi/package.nix index edebe08a30fe..20af8bf80053 100644 --- a/pkgs/by-name/ra/raffi/package.nix +++ b/pkgs/by-name/ra/raffi/package.nix @@ -9,16 +9,16 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "raffi"; - version = "0.9.0"; + version = "0.10.0"; src = fetchFromGitHub { owner = "chmouel"; repo = "raffi"; tag = "v${finalAttrs.version}"; - hash = "sha256-k0NJEv76f33yd+mtCJ7bxzaT3UAn0TOaLC/HlzEXUyo="; + hash = "sha256-CjgLxGsx0Ai5kB/XK0ylk8j0rd4ZomZwDHaQAGcYAQw="; }; - cargoHash = "sha256-udXVIV6qDmpLR2QNF+/h69WNGbe7QRDD5YWQ3Sl5Ol0="; + cargoHash = "sha256-etWO77Um+SCyQU5at55F7V2ljw1cXJsTbex61gN/uUk="; nativeBuildInputs = [ makeBinaryWrapper diff --git a/pkgs/by-name/ra/railway/package.nix b/pkgs/by-name/ra/railway/package.nix index 8f832f9da63a..3fe423b92fe1 100644 --- a/pkgs/by-name/ra/railway/package.nix +++ b/pkgs/by-name/ra/railway/package.nix @@ -7,16 +7,16 @@ }: rustPlatform.buildRustPackage rec { pname = "railway"; - version = "4.12.0"; + version = "4.16.1"; src = fetchFromGitHub { owner = "railwayapp"; repo = "cli"; rev = "v${version}"; - hash = "sha256-ViafZYAQCEfNJZpJgWVHG55+Ylkl3xndqT+zuNUDF04="; + hash = "sha256-ylmSsBGmYFLQExwFtI7gFwGmZeuIJy+QXQeCRdL669Y="; }; - cargoHash = "sha256-CaB6sobEw+Z/R/zjGNonVhIiuX676P/4SA6nwoWWA7g="; + cargoHash = "sha256-Fk+2QRNJr2zFIKHOuEjoZbnwloGPCXP0Ilc26iKNI64="; nativeBuildInputs = [ pkg-config ]; diff --git a/pkgs/by-name/ro/rosa/package.nix b/pkgs/by-name/ro/rosa/package.nix index 9ae4e0dcb08c..8dbb866d21fe 100644 --- a/pkgs/by-name/ro/rosa/package.nix +++ b/pkgs/by-name/ro/rosa/package.nix @@ -11,13 +11,13 @@ buildGoModule rec { pname = "rosa"; - version = "1.2.57"; + version = "1.2.59"; src = fetchFromGitHub { owner = "openshift"; repo = "rosa"; rev = "v${version}"; - hash = "sha256-oRW5CUQzepQialxi7lHoskNm6ZXLiPWGatKo61GEVLQ="; + hash = "sha256-/5J0R8LMNnKv2jMgMg9O1IBU84/bAznra5uXt5HvsUY="; }; vendorHash = null; diff --git a/pkgs/by-name/ru/runescape/package.nix b/pkgs/by-name/ru/runescape/package.nix index f0f6751701f3..16aaec3a34a7 100644 --- a/pkgs/by-name/ru/runescape/package.nix +++ b/pkgs/by-name/ru/runescape/package.nix @@ -99,7 +99,7 @@ let homepage = "https://www.runescape.com/"; sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; license = lib.licenses.unfree; - maintainers = with lib.maintainers; [ grburst ]; + maintainers = [ ]; platforms = [ "x86_64-linux" ]; }; }; @@ -149,7 +149,7 @@ buildFHSEnv { description = "RuneScape Game Client (NXT) - Launcher for RuneScape 3"; homepage = "https://www.runescape.com/"; license = lib.licenses.unfree; - maintainers = with lib.maintainers; [ grburst ]; + maintainers = [ ]; platforms = [ "x86_64-linux" ]; }; } diff --git a/pkgs/by-name/sa/sage/sage-src.nix b/pkgs/by-name/sa/sage/sage-src.nix index 89f8e4c25ab2..e810df08abcc 100644 --- a/pkgs/by-name/sa/sage/sage-src.nix +++ b/pkgs/by-name/sa/sage/sage-src.nix @@ -60,10 +60,10 @@ stdenv.mkDerivation rec { # a more conservative version of https://github.com/sagemath/sage/pull/37951 ./patches/gap-element-crash.patch - # https://github.com/sagemath/sage/pull/40895, positively reviewed + # https://github.com/sagemath/sage/pull/40895, landed in 10.8.beta6 (fetchpatch2 { name = "doctest-absolute-path.patch"; - url = "https://github.com/sagemath/sage/commit/3de32dccd2e32e5452ca3adf5bd63cbacb64ba9d.patch?full_index=1"; + url = "https://github.com/sagemath/sage/commit/3a5904d43f552bf63ed1eed9154f87b1f0de53fb.patch?full_index=1"; hash = "sha256-rp+9d8Y6kifWzufE07GWU68txPn//w7uMn4LcpITaBs="; }) ]; @@ -82,6 +82,13 @@ stdenv.mkDerivation rec { hash = "sha256-PZyOXRsgcsPvgceGGZXet5URJgWiIlCfFx8tvwpLk5A="; excludes = [ "src/doc/zh/constructions/rep_theory.rst" ]; }) + + # https://github.com/sagemath/sage/pull/41141, landed in 10.8.beta9 + (fetchpatch2 { + name = "ipython-9_7_0-unicode_to_str.patch"; + url = "https://github.com/sagemath/sage/commit/fa00696112fde95e0c4241ad6063936200ce6f68.patch?full_index=1"; + hash = "sha256-eFDpNu/2gcQATELmQ7/VzXI35xIzaVrD8bhhJ57e2gc="; + }) ]; patches = nixPatches ++ bugfixPatches ++ packageUpgradePatches; diff --git a/pkgs/by-name/se/seatd/package.nix b/pkgs/by-name/se/seatd/package.nix index d9197f5dafdc..85dfc8d1911e 100644 --- a/pkgs/by-name/se/seatd/package.nix +++ b/pkgs/by-name/se/seatd/package.nix @@ -13,13 +13,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "seatd"; - version = "0.9.1"; + version = "0.9.2"; src = fetchFromSourcehut { owner = "~kennylevinsen"; repo = "seatd"; rev = finalAttrs.version; - hash = "sha256-6F+TPSpcEwX4wW5GPy5Ck2AeHyH/Ba2oBUSUnVyAMeA="; + hash = "sha256-B1MIPnf5rO+Jj2/0xuWvsigShmcRF/8/KP2Xh4YTseY="; }; outputs = [ diff --git a/pkgs/by-name/se/seaweedfs/package.nix b/pkgs/by-name/se/seaweedfs/package.nix index 657e512b5a20..b72571740214 100644 --- a/pkgs/by-name/se/seaweedfs/package.nix +++ b/pkgs/by-name/se/seaweedfs/package.nix @@ -11,16 +11,16 @@ buildGoModule (finalAttrs: { pname = "seaweedfs"; - version = "3.97"; + version = "4.05"; src = fetchFromGitHub { owner = "seaweedfs"; repo = "seaweedfs"; tag = finalAttrs.version; - hash = "sha256-h8pyjC/hbKfvt4hEKuq0v5osLMWNU+6mYqFGqsZFqXs="; + hash = "sha256-R59I/xRr/JsRVfQGsZ5dzzQbpBOOCxhsr/q9QQ/Nang="; }; - vendorHash = "sha256-KRO0aDGOVx1neXcGsYYqcpD0tAqtR3GSBDhFz5TbQBs="; + vendorHash = "sha256-kTkEiUwUEXB3IPXW8LjdGSHXKGmes0rjueTNyf8Bgf0="; nativeBuildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ libredirect.hook ]; @@ -48,7 +48,7 @@ buildGoModule (finalAttrs: { # Test all targets. unset subPackages # Remove unmaintained tests and those that require additional services. - rm -rf unmaintained test/s3 test/fuse_integration + rm -rf unmaintained test/s3 test/fuse_integration test/kafka test/sftp # TestECEncodingVolumeLocationTimingBug, TestECEncodingMasterTimingRaceCondition: weed binary not found export PATH=$PATH:$NIX_BUILD_TOP/go/bin '' diff --git a/pkgs/by-name/sh/sherpa/package.nix b/pkgs/by-name/sh/sherpa/package.nix index c05b4522f66c..8b79450dad1a 100644 --- a/pkgs/by-name/sh/sherpa/package.nix +++ b/pkgs/by-name/sh/sherpa/package.nix @@ -13,13 +13,13 @@ stdenv.mkDerivation rec { pname = "sherpa"; - version = "3.0.2"; + version = "3.0.3"; src = fetchFromGitLab { owner = "sherpa-team"; repo = "sherpa"; tag = "v${version}"; - hash = "sha256-VlC5MnbrXp2fdO2EtBjtw45Gx6PhF/hcLy0ajlKp10E="; + hash = "sha256-bh5C0BYbuAkbPrp27P0oD0yoxd53ViRtmpUKfN7kZ90="; }; postPatch = lib.optionalString (stdenv.hostPlatform.libc == "glibc") '' diff --git a/pkgs/by-name/sh/showtime/package.nix b/pkgs/by-name/sh/showtime/package.nix index ad483746311d..8988fee92d3b 100644 --- a/pkgs/by-name/sh/showtime/package.nix +++ b/pkgs/by-name/sh/showtime/package.nix @@ -69,6 +69,13 @@ python3Packages.buildPythonApplication rec { export HOME="$TEMPDIR" ''; + # HACK: To get rid of unreproducible __pycache__ created by pythonImportsCheck. + # See https://github.com/NixOS/nixpkgs/issues/469081 + deletePycachePhase = '' + find $out/lib -type d -name __pycache__ -prune -exec rm -vr {} \; + ''; + postPhases = [ "deletePycachePhase" ]; + passthru = { updateScript = gnome.updateScript { packageName = "showtime"; diff --git a/pkgs/by-name/si/siyuan/package.nix b/pkgs/by-name/si/siyuan/package.nix index e23f7000aa5a..ddb8b5c044f7 100644 --- a/pkgs/by-name/si/siyuan/package.nix +++ b/pkgs/by-name/si/siyuan/package.nix @@ -36,20 +36,20 @@ let in stdenv.mkDerivation (finalAttrs: { pname = "siyuan"; - version = "3.5.1"; + version = "3.5.2"; src = fetchFromGitHub { owner = "siyuan-note"; repo = "siyuan"; rev = "v${finalAttrs.version}"; - hash = "sha256-7fKvSK3gatEdIHAZuOzL6LdzLz4k97G+ZKpQh39yhbs="; + hash = "sha256-Rimb2OfohjTfaqVCZcoGDxpEfXvyp2CLqwqOjqAJjJg="; }; kernel = buildGoModule { name = "${finalAttrs.pname}-${finalAttrs.version}-kernel"; inherit (finalAttrs) src; sourceRoot = "${finalAttrs.src.name}/kernel"; - vendorHash = "sha256-SqPegOTdjd8HrnXNIRUMAbDhKKrFR+xWZUuqblrZ10c="; + vendorHash = "sha256-PNFIWH6IL/Zj/eK/5M8ACICOeQi4WEBIh1aY4eyfkn4="; patches = [ (replaceVars ./set-pandoc-path.patch { @@ -100,7 +100,7 @@ stdenv.mkDerivation (finalAttrs: { ; pnpm = pnpm_9; fetcherVersion = 1; - hash = "sha256-bteZZ9sgYLLvOPSVbqm9E0Hb5x1UdWMu8DtpQHGjbPU="; + hash = "sha256-JTfCU5kWR2tvVNFT+PAzqKe8tUk4+uwwVgo85VOntck="; }; sourceRoot = "${finalAttrs.src.name}/app"; diff --git a/pkgs/by-name/sk/skia/package.nix b/pkgs/by-name/sk/skia/package.nix index 09c3c3851a62..d1395ac59e5e 100644 --- a/pkgs/by-name/sk/skia/package.nix +++ b/pkgs/by-name/sk/skia/package.nix @@ -30,19 +30,21 @@ stdenv.mkDerivation (finalAttrs: { # Version from https://skia.googlesource.com/skia/+/refs/heads/main/RELEASE_NOTES.md # or https://chromiumdash.appspot.com/releases # plus date of the tip of the corresponding chrome/m$version branch - version = "129-unstable-2024-09-18"; + version = "144-unstable-2025-12-02"; src = fetchgit { url = "https://skia.googlesource.com/skia.git"; # Tip of the chrome/m$version branch - rev = "dda581d538cb6532cda841444e7b4ceacde01ec9"; - hash = "sha256-NZiZFsABebugszpYsBusVlTYnYda+xDIpT05cZ8Jals="; + rev = "ee20d565acb08dece4a32e3f209cdd41119015ca"; + hash = "sha256-0LiFK/8873gei70iVhNGRlcFeGIp7tjDEfxTBz1LYv8="; }; postPatch = '' + substituteInPlace BUILD.gn \ + --replace-fail 'rebase_path("//bin/gn")' '"gn"' # System zlib detection bug workaround substituteInPlace BUILD.gn \ - --replace-fail 'deps = [ "//third_party/zlib" ]' 'deps = []' + --replace-fail '"//third_party/zlib",' "" ''; strictDeps = true; diff --git a/pkgs/by-name/sl/slade/package.nix b/pkgs/by-name/sl/slade/package.nix index 85c3758264d1..3dd90e566256 100644 --- a/pkgs/by-name/sl/slade/package.nix +++ b/pkgs/by-name/sl/slade/package.nix @@ -21,13 +21,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "slade"; - version = "3.2.9"; + version = "3.2.10"; src = fetchFromGitHub { owner = "sirjuddington"; repo = "SLADE"; tag = finalAttrs.version; - hash = "sha256-N+rCtrfvVJnkfj8kU4ahzF6o7lp1VWJbVmkvaZoxBv8="; + hash = "sha256-r1tfp0NomZEETY41wXIDvZbgCbBFEh4oW0qcnr/t/9E="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/sr/srb2/package.nix b/pkgs/by-name/sr/srb2/package.nix index 92989db0bccf..0a9567759ff9 100644 --- a/pkgs/by-name/sr/srb2/package.nix +++ b/pkgs/by-name/sr/srb2/package.nix @@ -66,6 +66,11 @@ stdenv.mkDerivation (finalAttrs: { ''; }; + # Fix build with gcc15 (-std=gnu23) + # Note that upstream fixed compatibility with C23 as of commit 639b58c6d718452ef343a0bc927d043bed9e40d6, + # so it's likely this can be removed on the next version after 2.2.15. + env.NIX_CFLAGS_COMPILE = "-std=gnu17"; + cmakeFlags = [ "-DSRB2_ASSET_DIRECTORY=${finalAttrs.assets}/share/srb2" "-DGME_INCLUDE_DIR=${game-music-emu}/include" diff --git a/pkgs/by-name/sr/srb2kart/package.nix b/pkgs/by-name/sr/srb2kart/package.nix index 8015e5c39b21..db9a64591472 100644 --- a/pkgs/by-name/sr/srb2kart/package.nix +++ b/pkgs/by-name/sr/srb2kart/package.nix @@ -55,6 +55,9 @@ stdenv.mkDerivation (finalAttrs: { zlib ]; + # Fix build with gcc15 (-std=gnu23) + env.NIX_CFLAGS_COMPILE = "-std=gnu17"; + cmakeFlags = [ "-DSRB2_ASSET_DIRECTORY=${finalAttrs.assets}" "-DGME_INCLUDE_DIR=${game-music-emu}/include" diff --git a/pkgs/by-name/sy/systemd-lsp/package.nix b/pkgs/by-name/sy/systemd-lsp/package.nix index ab0b87c851c8..2d4ed253a1a6 100644 --- a/pkgs/by-name/sy/systemd-lsp/package.nix +++ b/pkgs/by-name/sy/systemd-lsp/package.nix @@ -7,16 +7,16 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "systemd-lsp"; - version = "2025.10.16"; + version = "2025.12.30"; src = fetchFromGitHub { owner = "JFryy"; repo = "systemd-lsp"; tag = "v${finalAttrs.version}"; - hash = "sha256-xhk1jUAA81Rkq9Nmcw+XyWrSbq3ygRvS615Z56j0WBM="; + hash = "sha256-iDVyWV+j1zdcF5Fpl1X7y/itHNLg3cxcvi4UrDrgicg="; }; - cargoHash = "sha256-6hePUny2iBjslkIk8wVXHnuAHzG3WpBdcj8D5FM9Bc4="; + cargoHash = "sha256-D8XkMzh6dxXGGrDpkREUl0RkN/vhbw9uQYtqdiTcfBE="; passthru.updateScript = nix-update-script { }; diff --git a/pkgs/by-name/te/television/package.nix b/pkgs/by-name/te/television/package.nix index df8edd29a7b8..ddf349aead95 100644 --- a/pkgs/by-name/te/television/package.nix +++ b/pkgs/by-name/te/television/package.nix @@ -20,16 +20,16 @@ let television = rustPlatform.buildRustPackage (finalAttrs: { pname = "television"; - version = "0.14.3"; + version = "0.14.4"; src = fetchFromGitHub { owner = "alexpasmantier"; repo = "television"; tag = finalAttrs.version; - hash = "sha256-z+ztj21JJaMuqTaN44JVAyAzSmOzUgjo9t23lTnehyI="; + hash = "sha256-OXWRJGfnNcZQMkmeCjNEsOTTDmvwYTCI8eyWNU4l8D4="; }; - cargoHash = "sha256-TAj6QgQK/ZOcUMeIePD2tzBKav4BJSeOjaSSaO5eD6o="; + cargoHash = "sha256-yLv8Jw3buKg3s0yB+KrVSPM/s+LpBu0brz1U11B/dZg="; strictDeps = true; nativeBuildInputs = [ diff --git a/pkgs/by-name/ty/ty/package.nix b/pkgs/by-name/ty/ty/package.nix index f5da6e9c8111..2a6ed9950e2b 100644 --- a/pkgs/by-name/ty/ty/package.nix +++ b/pkgs/by-name/ty/ty/package.nix @@ -14,14 +14,14 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "ty"; - version = "0.0.8"; + version = "0.0.9"; src = fetchFromGitHub { owner = "astral-sh"; repo = "ty"; tag = finalAttrs.version; fetchSubmodules = true; - hash = "sha256-PSw+yRAj6i2qld+10FEMWRxOaqzqu+4CYJcO0PAgG0g="; + hash = "sha256-6f1qm0n8kPPFGCVi+McsqlnMsV1qG1Um2BA/i+YT8Wg="; }; # For Darwin platforms, remove the integration test for file notifications, @@ -35,7 +35,7 @@ rustPlatform.buildRustPackage (finalAttrs: { cargoBuildFlags = [ "--package=ty" ]; - cargoHash = "sha256-XRiIngGFG8j3zQd6QMAFoZ64M7X4NkXCwYiUKA6oefA="; + cargoHash = "sha256-AWYxIPp+/pzTBjv1VjHumKuNfjU/ByspfONezEFE+FY="; nativeBuildInputs = [ installShellFiles ]; @@ -62,6 +62,7 @@ rustPlatform.buildRustPackage (finalAttrs: { "--skip=python_environment::ty_environment_and_active_environment" "--skip=python_environment::ty_environment_is_only_environment" "--skip=python_environment::ty_environment_is_system_not_virtual" + "--skip=python_environment::ty_environment_and_discovered_venv" ]; nativeInstallCheckInputs = [ versionCheckHook ]; diff --git a/pkgs/by-name/vi/victorialogs/package.nix b/pkgs/by-name/vi/victorialogs/package.nix index 192b724da049..57a006c5e957 100644 --- a/pkgs/by-name/vi/victorialogs/package.nix +++ b/pkgs/by-name/vi/victorialogs/package.nix @@ -10,13 +10,13 @@ buildGoModule (finalAttrs: { pname = "VictoriaLogs"; - version = "1.40.0"; + version = "1.43.1"; src = fetchFromGitHub { owner = "VictoriaMetrics"; repo = "VictoriaLogs"; tag = "v${finalAttrs.version}"; - hash = "sha256-liHpejO6wVr3YEyWhBwakWlDfly7mujVhQn7Sl5Z1kE="; + hash = "sha256-Tez8XTOLcuuOOVXt3cgOfRyXldP1b9ox9N9Ddm28E7I="; }; vendorHash = null; diff --git a/pkgs/by-name/vl/vlc/package.nix b/pkgs/by-name/vl/vlc/package.nix index 3880b90314b7..94af6b973cc7 100644 --- a/pkgs/by-name/vl/vlc/package.nix +++ b/pkgs/by-name/vl/vlc/package.nix @@ -27,7 +27,7 @@ libXpm, libarchive, libass, - libbluray, + libbluray-full, libcaca, libcddb, libdc1394, @@ -153,7 +153,7 @@ stdenv.mkDerivation (finalAttrs: { libSM libarchive libass - libbluray + libbluray-full libcaca libcddb libdc1394 diff --git a/pkgs/by-name/vt/vte/package.nix b/pkgs/by-name/vt/vte/package.nix index 9282bb97366b..fba620e727d1 100644 --- a/pkgs/by-name/vt/vte/package.nix +++ b/pkgs/by-name/vt/vte/package.nix @@ -39,7 +39,7 @@ stdenv.mkDerivation (finalAttrs: { pname = "vte"; - version = "0.82.2"; + version = "0.82.3"; outputs = [ "out" @@ -49,7 +49,7 @@ stdenv.mkDerivation (finalAttrs: { src = fetchurl { url = "mirror://gnome/sources/vte/${lib.versions.majorMinor finalAttrs.version}/vte-${finalAttrs.version}.tar.xz"; - hash = "sha256-4Slar8RoKztVDxI13CZ5uqD3FXDY7VQ8ABwSg9UwvpE="; + hash = "sha256-bcYnj2/uMNB9GgPiujM1sepOjSlWzrWdhhlDEV2TCoU="; }; patches = [ @@ -67,12 +67,6 @@ stdenv.mkDerivation (finalAttrs: { url = "https://gitlab.gnome.org/GNOME/vte/-/commit/f672ed15a88dd3e25c33aa0a5ef6f6d291a6d5c7.patch"; hash = "sha256-JdLDild5j7marvR5n2heW9YD00+bwzJIoxDlzO5r/6w="; }) - - (fetchpatch { - name = "qemu-backspace.patch"; - url = "https://gitlab.gnome.org/GNOME/vte/-/commit/79d5fea437185e52a740130d5a276b83dfdcd558.patch"; - hash = "sha256-28Cehw5uJuGG7maLGUl1TBwfIwuXpkLKSQ2lXauLlz0="; - }) ]; nativeBuildInputs = [ diff --git a/pkgs/by-name/wa/watcher/package.nix b/pkgs/by-name/wa/watcher/package.nix index 78d08eb9dbde..1ee9b6c37f30 100644 --- a/pkgs/by-name/wa/watcher/package.nix +++ b/pkgs/by-name/wa/watcher/package.nix @@ -7,13 +7,13 @@ stdenv.mkDerivation rec { pname = "watcher"; - version = "0.14.1"; + version = "0.14.2"; src = fetchFromGitHub { owner = "e-dant"; repo = "watcher"; tag = version; - hash = "sha256-Rqsm6DBS8SHxibQvrwO30RZ5ZPLWQvdTOM7i2zzCPXc="; + hash = "sha256-UO17PcLVsPgSFOfCPFth/SzEQaZRcXWPHKQFLTrPnEU="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/xc/xcwd/package.nix b/pkgs/by-name/xc/xcwd/package.nix index 58808c9ec962..b206010dfbdb 100644 --- a/pkgs/by-name/xc/xcwd/package.nix +++ b/pkgs/by-name/xc/xcwd/package.nix @@ -31,7 +31,7 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://github.com/schischi/xcwd"; license = lib.licenses.bsd3; mainProgram = "xcwd"; - maintainers = [ lib.maintainers.grburst ]; + maintainers = [ ]; platforms = lib.platforms.linux; }; }) diff --git a/pkgs/by-name/xe/xemu/package.nix b/pkgs/by-name/xe/xemu/package.nix index 827af00f896e..2a680f122d99 100644 --- a/pkgs/by-name/xe/xemu/package.nix +++ b/pkgs/by-name/xe/xemu/package.nix @@ -34,13 +34,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "xemu"; - version = "0.8.129"; + version = "0.8.130"; src = fetchFromGitHub { owner = "xemu-project"; repo = "xemu"; tag = "v${finalAttrs.version}"; - hash = "sha256-Y7iIODMczLFRisOPxLPsl2Ot44I8pvjflD3vI+4rIlk="; + hash = "sha256-v2o+AhfI1qqRRc1yEhOYLnZb8cEdIye4HeMQ2hcwbOU="; nativeBuildInputs = [ git diff --git a/pkgs/by-name/xp/xpra/package.nix b/pkgs/by-name/xp/xpra/package.nix index fd921eb40923..b2344e9477aa 100644 --- a/pkgs/by-name/xp/xpra/package.nix +++ b/pkgs/by-name/xp/xpra/package.nix @@ -48,7 +48,7 @@ withHtml ? true, xpra-html5, udevCheckHook, -}@args: +}: let inherit (python3.pkgs) cython buildPythonApplication; @@ -86,14 +86,15 @@ let mkdir -p $out/include $out/lib/pkgconfig substituteAll ${cudaPackages.libnvjpeg.dev}/share/pkgconfig/nvjpeg.pc $out/lib/pkgconfig/nvjpeg.pc ''; + effectiveBuildPythonApplication = buildPythonApplication.override { + stdenv = if withNvenc then cudaPackages.backendStdenv else stdenv; + }; in -buildPythonApplication rec { +effectiveBuildPythonApplication rec { pname = "xpra"; version = "6.3.6"; format = "setuptools"; - stdenv = if withNvenc then cudaPackages.backendStdenv else args.stdenv; - src = fetchFromGitHub { owner = "Xpra-org"; repo = "xpra"; diff --git a/pkgs/by-name/ya/yazi-unwrapped/package.nix b/pkgs/by-name/ya/yazi-unwrapped/package.nix index 9efa57b0d93f..ab9d84051eed 100644 --- a/pkgs/by-name/ya/yazi-unwrapped/package.nix +++ b/pkgs/by-name/ya/yazi-unwrapped/package.nix @@ -8,17 +8,17 @@ }: rustPlatform.buildRustPackage (finalAttrs: { pname = "yazi"; - version = "25.12.29"; + version = "26.1.4"; srcs = builtins.attrValues finalAttrs.passthru.srcs; sourceRoot = finalAttrs.passthru.srcs.code_src.name; - cargoHash = "sha256-AoUAAzbooKzaiMy9izYk7MSY/frfEuB9wMcdorXWIQw="; + cargoHash = "sha256-P1ijZsY1AYosWVyxdmDX1SN6KZsrlUqJ9cNfyVWV6mI="; env.YAZI_GEN_COMPLETIONS = true; env.VERGEN_GIT_SHA = "Nixpkgs"; - env.VERGEN_BUILD_DATE = "2025-12-29"; + env.VERGEN_BUILD_DATE = "2026-1-4"; nativeBuildInputs = [ installShellFiles ]; buildInputs = [ rust-jemalloc-sys ]; @@ -42,7 +42,7 @@ rustPlatform.buildRustPackage (finalAttrs: { owner = "sxyazi"; repo = "yazi"; tag = "v${finalAttrs.version}"; - hash = "sha256-xOltBlD5nU8kMzh7GPoTtkDD8sEDAzTtaR3LRPDWRS0="; + hash = "sha256-dNDwlMM+k20c2Lnm+hqUvzu5l3Ip9GeP+nnj4WlDVdw="; }; man_src = fetchFromGitHub { diff --git a/pkgs/by-name/yt/ytdl-sub/package.nix b/pkgs/by-name/yt/ytdl-sub/package.nix index 34da2fe8cb61..1de6b5e985a4 100644 --- a/pkgs/by-name/yt/ytdl-sub/package.nix +++ b/pkgs/by-name/yt/ytdl-sub/package.nix @@ -9,14 +9,14 @@ python3Packages.buildPythonApplication rec { pname = "ytdl-sub"; - version = "2025.12.30"; + version = "2025.12.31.post5"; pyproject = true; src = fetchFromGitHub { owner = "jmbannon"; repo = "ytdl-sub"; tag = version; - hash = "sha256-MRDLtrfxGJIWz5yk4tW4MMSY9muhgZz0w8+1XWmSAks="; + hash = "sha256-Ksm3aXqE+rhuc9nDN4uFqePrrIonvPTSz+J6WkxlnTg="; }; postPatch = '' diff --git a/pkgs/by-name/ze/zerofs/package.nix b/pkgs/by-name/ze/zerofs/package.nix index 7ea50507fce6..b99f34beaad3 100644 --- a/pkgs/by-name/ze/zerofs/package.nix +++ b/pkgs/by-name/ze/zerofs/package.nix @@ -11,18 +11,18 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "zerofs"; - version = "0.22.9"; + version = "0.22.11"; src = fetchFromGitHub { owner = "Barre"; repo = "ZeroFS"; tag = "v${finalAttrs.version}"; - hash = "sha256-eAH2zOM5FOUaLRfMQp2Dsa6ghKmOGVVbOz7JETnVRzU="; + hash = "sha256-Gy3yZEQ7jLOed6ZmXfegd4YN+i20N5D1E2rleA52FDc="; }; sourceRoot = "${finalAttrs.src.name}/zerofs"; - cargoHash = "sha256-U/ZsjZ42PxTd/g2G1DfDazCSOIvsULtt/zufyBVZFyQ="; + cargoHash = "sha256-IUWzbZG/uHHjkxe/4moZ1mDUC+ROuxBZjQlAZcGutUc="; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/development/compilers/dart/default.nix b/pkgs/development/compilers/dart/default.nix index 82ebeba65138..352fc6e5337c 100644 --- a/pkgs/development/compilers/dart/default.nix +++ b/pkgs/development/compilers/dart/default.nix @@ -79,7 +79,7 @@ stdenv.mkDerivation (finalAttrs: { meta = { homepage = "https://dart.dev"; - maintainers = with lib.maintainers; [ grburst ]; + maintainers = [ ]; description = "Scalable programming language, with robust libraries and runtimes, for building web, server, and mobile apps"; longDescription = '' Dart is a class-based, single inheritance, object-oriented language diff --git a/pkgs/development/compilers/zig/hook.nix b/pkgs/development/compilers/zig/hook.nix index b199728eb7bd..2620414b6a2e 100644 --- a/pkgs/development/compilers/zig/hook.nix +++ b/pkgs/development/compilers/zig/hook.nix @@ -4,6 +4,7 @@ zig, stdenv, xcbuild, + globalBuildFlags ? [ "-Dcpu=baseline" ], }: makeSetupHook { @@ -47,10 +48,7 @@ makeSetupHook { else "-Drelease-safe=true"; in - [ - "-Dcpu=baseline" - releaseType - ]; + globalBuildFlags ++ [ releaseType ]; }; passthru = { inherit zig; }; diff --git a/pkgs/development/interpreters/perl/interpreter.nix b/pkgs/development/interpreters/perl/interpreter.nix index ee59b10344c5..4f3036dfb5c5 100644 --- a/pkgs/development/interpreters/perl/interpreter.nix +++ b/pkgs/development/interpreters/perl/interpreter.nix @@ -319,22 +319,19 @@ stdenv.mkDerivation ( }; } // lib.optionalAttrs crossCompiling rec { - crossVersion = "1.6.2"; + crossVersion = "1.6.4"; perl-cross-src = fetchFromGitHub { name = "perl-cross-${crossVersion}"; owner = "arsv"; repo = "perl-cross"; rev = crossVersion; - hash = "sha256-mG9ny+eXGBL4K/rXqEUPSbar+4Mq4IaQrGRFIHIyAAw="; + hash = "sha256-Qcysy7f887XHlq23iE5U92PhxDhpgaluITZBSdcc9Ck="; }; patches = commonPatches ++ [ # fixes build failure due to missing d_fdopendir/HAS_FDOPENDIR configure option # https://github.com/arsv/perl-cross/pull/159 ./cross-fdopendir.patch - # Add patchset for 5.42.0 - Can hopefully be removed once perl-cross is updated - # https://github.com/arsv/perl-cross/pull/164 - ./perl-5.42.0-cross.patch ]; depsBuildBuild = [ diff --git a/pkgs/development/interpreters/perl/perl-5.42.0-cross.patch b/pkgs/development/interpreters/perl/perl-5.42.0-cross.patch deleted file mode 100644 index 66b536b6973d..000000000000 --- a/pkgs/development/interpreters/perl/perl-5.42.0-cross.patch +++ /dev/null @@ -1,186 +0,0 @@ -From b47ef629459076a5ccb3d0caf83ccfbb8ba0571b Mon Sep 17 00:00:00 2001 -From: Marcus Ramberg -Date: Wed, 3 Sep 2025 10:35:58 +0200 -Subject: [PATCH] patches for perl-5.42.0 - ---- - cnf/diffs/perl5-5.42.0/constant.patch | 1 + - cnf/diffs/perl5-5.42.0/dynaloader.patch | 1 + - cnf/diffs/perl5-5.42.0/findext.patch | 1 + - cnf/diffs/perl5-5.42.0/installscripts.patch | 1 + - cnf/diffs/perl5-5.42.0/liblist.patch | 80 +++++++++++++++++++++ - cnf/diffs/perl5-5.42.0/makemaker.patch | 1 + - cnf/diffs/perl5-5.42.0/posix-makefile.patch | 1 + - cnf/diffs/perl5-5.42.0/test-checkcase.patch | 1 + - cnf/diffs/perl5-5.42.0/test-makemaker.patch | 1 + - cnf/diffs/perl5-5.42.0/xconfig.patch | 1 + - 10 files changed, 89 insertions(+) - create mode 120000 cnf/diffs/perl5-5.42.0/constant.patch - create mode 120000 cnf/diffs/perl5-5.42.0/dynaloader.patch - create mode 120000 cnf/diffs/perl5-5.42.0/findext.patch - create mode 120000 cnf/diffs/perl5-5.42.0/installscripts.patch - create mode 100644 cnf/diffs/perl5-5.42.0/liblist.patch - create mode 120000 cnf/diffs/perl5-5.42.0/makemaker.patch - create mode 120000 cnf/diffs/perl5-5.42.0/posix-makefile.patch - create mode 120000 cnf/diffs/perl5-5.42.0/test-checkcase.patch - create mode 120000 cnf/diffs/perl5-5.42.0/test-makemaker.patch - create mode 120000 cnf/diffs/perl5-5.42.0/xconfig.patch - -diff --git a/cnf/diffs/perl5-5.42.0/constant.patch b/cnf/diffs/perl5-5.42.0/constant.patch -new file mode 120000 -index 0000000..065e198 ---- /dev/null -+++ b/cnf/diffs/perl5-5.42.0/constant.patch -@@ -0,0 +1 @@ -+../perl5-5.22.3/constant.patch -\ No newline at end of file -diff --git a/cnf/diffs/perl5-5.42.0/dynaloader.patch b/cnf/diffs/perl5-5.42.0/dynaloader.patch -new file mode 120000 -index 0000000..ffb73eb ---- /dev/null -+++ b/cnf/diffs/perl5-5.42.0/dynaloader.patch -@@ -0,0 +1 @@ -+../perl5-5.22.3/dynaloader.patch -\ No newline at end of file -diff --git a/cnf/diffs/perl5-5.42.0/findext.patch b/cnf/diffs/perl5-5.42.0/findext.patch -new file mode 120000 -index 0000000..9efbe5b ---- /dev/null -+++ b/cnf/diffs/perl5-5.42.0/findext.patch -@@ -0,0 +1 @@ -+../perl5-5.22.3/findext.patch -\ No newline at end of file -diff --git a/cnf/diffs/perl5-5.42.0/installscripts.patch b/cnf/diffs/perl5-5.42.0/installscripts.patch -new file mode 120000 -index 0000000..1c05e0f ---- /dev/null -+++ b/cnf/diffs/perl5-5.42.0/installscripts.patch -@@ -0,0 +1 @@ -+../perl5-5.36.0/installscripts.patch -\ No newline at end of file -diff --git a/cnf/diffs/perl5-5.42.0/liblist.patch b/cnf/diffs/perl5-5.42.0/liblist.patch -new file mode 100644 -index 0000000..5e6331f ---- /dev/null -+++ b/cnf/diffs/perl5-5.42.0/liblist.patch -@@ -0,0 +1,80 @@ -+When deciding which libraries are available, the original Configure uses -+shaky heuristics to physically locate library files. -+This is a very very bad thing to do, *especially* when cross-compiling, -+as said heiristics are likely to locate the host libraries, not the target ones. -+ -+The only real need for this test is to make sure it's safe to pass -llibrary -+to the compiler. So that's exactly what perl-cross does, pass -llibrary -+and see if it breaks things. -+ -+Note this is a part of MakeMaker, and only applies to module Makefiles. -+ -+ -+--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm -++++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm -+@@ -20,9 +20,10 @@ -+ use File::Spec; -+ -+ sub ext { -+- if ( $^O eq 'VMS' ) { goto &_vms_ext; } -+- elsif ( $^O eq 'MSWin32' ) { goto &_win32_ext; } -+- else { goto &_unix_os2_ext; } -++ if ($Config{usemmldlt}){ goto &_ld_ext; } -++ elsif($^O eq 'VMS') { goto &_vms_ext; } -++ elsif($^O eq 'MSWin32') { goto &_win32_ext; } -++ else { goto &_unix_os2_ext; } -+ } -+ -+ sub _unix_os2_ext { -+@@ -661,4 +662,51 @@ -+ wantarray ? ( $lib, '', $ldlib, '', ( $give_libs ? \@flibs : () ) ) : $lib; -+ } -+ -++# A direct test for -l validity. -++# Because guessing real file names for -llib options when dealing -++# with a cross compiler is generally a BAD IDEA^tm. -++sub _ld_ext { -++ my($self,$potential_libs, $verbose, $give_libs) = @_; -++ $verbose ||= 0; -++ -++ if ($^O =~ 'os2' and $Config{perllibs}) { -++ # Dynamic libraries are not transitive, so we may need including -++ # the libraries linked against perl.dll again. -++ -++ $potential_libs .= " " if $potential_libs; -++ $potential_libs .= $Config{perllibs}; -++ } -++ return ("", "", "", "", ($give_libs ? [] : ())) unless $potential_libs; -++ warn "Potential libraries are '$potential_libs':\n" if $verbose; -++ -++ my($ld) = $Config{ld}; -++ my($ldflags) = $Config{ldflags}; -++ my($libs) = defined $Config{perllibs} ? $Config{perllibs} : $Config{libs}; -++ -++ my $try = 'try_mm.c'; -++ my $tryx = 'try_mm.x'; -++ open(TRY, '>', $try) || die "Can't create MakeMaker test file $try: $!\n"; -++ print TRY "int main(void) { return 0; }\n"; -++ close(TRY); -++ -++ my $testlibs = ''; -++ my @testlibs = (); -++ foreach my $thislib (split ' ', $potential_libs) { -++ $testlibs = join(' ', @testlibs); -++ if($thislib =~ /^-L/) { -++ push(@testlibs, $thislib); -++ next -++ }; -++ my $cmd = "$ld $ldflags -o $tryx $try $testlibs $thislib >/dev/null 2>&1"; -++ my $ret = system($cmd); -++ warn "Warning (mostly harmless): " . "No library found for $thislib\n" if $ret; -++ next if $ret; -++ push @testlibs, $thislib; -++ } -++ unlink($try); -++ unlink($tryx); -++ -++ return (join(' ', @testlibs), '', join(' ', @testlibs), ''); -++} -++ -+ 1; -diff --git a/cnf/diffs/perl5-5.42.0/makemaker.patch b/cnf/diffs/perl5-5.42.0/makemaker.patch -new file mode 120000 -index 0000000..d7bd609 ---- /dev/null -+++ b/cnf/diffs/perl5-5.42.0/makemaker.patch -@@ -0,0 +1 @@ -+../perl5-5.38.0/makemaker.patch -\ No newline at end of file -diff --git a/cnf/diffs/perl5-5.42.0/posix-makefile.patch b/cnf/diffs/perl5-5.42.0/posix-makefile.patch -new file mode 120000 -index 0000000..29463b7 ---- /dev/null -+++ b/cnf/diffs/perl5-5.42.0/posix-makefile.patch -@@ -0,0 +1 @@ -+../perl5-5.22.3/posix-makefile.patch -\ No newline at end of file -diff --git a/cnf/diffs/perl5-5.42.0/test-checkcase.patch b/cnf/diffs/perl5-5.42.0/test-checkcase.patch -new file mode 120000 -index 0000000..36c5186 ---- /dev/null -+++ b/cnf/diffs/perl5-5.42.0/test-checkcase.patch -@@ -0,0 +1 @@ -+../perl5-5.22.3/test-checkcase.patch -\ No newline at end of file -diff --git a/cnf/diffs/perl5-5.42.0/test-makemaker.patch b/cnf/diffs/perl5-5.42.0/test-makemaker.patch -new file mode 120000 -index 0000000..4e970ff ---- /dev/null -+++ b/cnf/diffs/perl5-5.42.0/test-makemaker.patch -@@ -0,0 +1 @@ -+../perl5-5.34.0/test-makemaker.patch -\ No newline at end of file -diff --git a/cnf/diffs/perl5-5.42.0/xconfig.patch b/cnf/diffs/perl5-5.42.0/xconfig.patch -new file mode 120000 -index 0000000..1c22c96 ---- /dev/null -+++ b/cnf/diffs/perl5-5.42.0/xconfig.patch -@@ -0,0 +1 @@ -+../perl5-5.41.3/xconfig.patch -\ No newline at end of file diff --git a/pkgs/development/ocaml-modules/frama-c-luncov/default.nix b/pkgs/development/ocaml-modules/frama-c-luncov/default.nix new file mode 100644 index 000000000000..16ccfc348e7d --- /dev/null +++ b/pkgs/development/ocaml-modules/frama-c-luncov/default.nix @@ -0,0 +1,38 @@ +{ + lib, + buildDunePackage, + dune-site, + fetchzip, + frama-c, + menhir, + unionFind, + why3, +}: + +buildDunePackage (finalAttrs: { + pname = "frama-c-luncov"; + version = "0.2.4"; + + src = fetchzip { + url = "https://git.frama-c.com/pub/ltest/luncov/-/archive/${finalAttrs.version}/luncov-${finalAttrs.version}.tar.bz2"; + hash = "sha256-E7zzm9qs34V+sRHElpe1JKHjeyXGALXVj1DNMVzlWn0="; + }; + + nativeBuildInputs = [ + menhir + ]; + + propagatedBuildInputs = [ + dune-site + frama-c + unionFind + why3 + ]; + + meta = { + description = "Luncov plugin of Frama-C, part of the LTest suite"; + homepage = "https://frama-c.com/fc-plugins/ltest.html"; + license = lib.licenses.lgpl2; + maintainers = with lib.maintainers; [ redianthus ]; + }; +}) diff --git a/pkgs/development/ocaml-modules/smtml/default.nix b/pkgs/development/ocaml-modules/smtml/default.nix index bc474a3ed6d6..d628399608cf 100644 --- a/pkgs/development/ocaml-modules/smtml/default.nix +++ b/pkgs/development/ocaml-modules/smtml/default.nix @@ -36,16 +36,21 @@ buildDunePackage (finalAttrs: { hash = "sha256-s72m7N9Ovd2Vl4F+hb2MsNmnF1hFQGkf2s7TrJ9IWI8="; }; + minimalOCamlVersion = "4.14"; + nativeBuildInputs = [ menhir ]; + buildInputs = [ + dune-build-info + ]; + propagatedBuildInputs = [ bos cmdliner dolmen_model dolmen_type - dune-build-info fpath hc menhirLib diff --git a/pkgs/development/python-modules/afdko/default.nix b/pkgs/development/python-modules/afdko/default.nix index e61bdbb2d1fd..c37a6a2988e5 100644 --- a/pkgs/development/python-modules/afdko/default.nix +++ b/pkgs/development/python-modules/afdko/default.nix @@ -1,8 +1,6 @@ { lib, stdenv, - # Enables some expensive tests, useful for verifying an update - afdko, antlr4_13, booleanoperations, buildPythonPackage, @@ -26,7 +24,7 @@ ufoprocessor, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "afdko"; version = "4.0.2"; pyproject = true; @@ -36,7 +34,7 @@ buildPythonPackage rec { src = fetchFromGitHub { owner = "adobe-type-tools"; repo = "afdko"; - tag = version; + tag = finalAttrs.version; hash = "sha256:0955dvbydifhgx9gswbf5drsmmghry7iyf6jwz6qczhj86clswcm"; }; @@ -144,14 +142,14 @@ buildPythonPackage rec { ]; passthru.tests = { - fullTestsuite = afdko.override { runAllTests = true; }; + fullTestsuite = finalAttrs.finalPackage.override { runAllTests = true; }; }; meta = { description = "Adobe Font Development Kit for OpenType"; - changelog = "https://github.com/adobe-type-tools/afdko/blob/${version}/NEWS.md"; + changelog = "https://github.com/adobe-type-tools/afdko/blob/${finalAttrs.version}/NEWS.md"; homepage = "https://adobe-type-tools.github.io/afdko"; license = lib.licenses.asl20; maintainers = with lib.maintainers; [ sternenseemann ]; }; -} +}) diff --git a/pkgs/development/python-modules/agentic-threat-hunting-framework/default.nix b/pkgs/development/python-modules/agentic-threat-hunting-framework/default.nix new file mode 100644 index 000000000000..c9b661eee919 --- /dev/null +++ b/pkgs/development/python-modules/agentic-threat-hunting-framework/default.nix @@ -0,0 +1,54 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, + click, + jinja2, + pyyaml, + rich, + pytest-cov-stub, + pytestCheckHook, + scikit-learn, +}: + +buildPythonPackage rec { + pname = "agentic-threat-hunting-framework"; + version = "0.2.2"; + pyproject = true; + + src = fetchFromGitHub { + owner = "Nebulock-Inc"; + repo = "agentic-threat-hunting-framework"; + tag = "v${version}"; + hash = "sha256-rt7WmBCbSqoZBpwGi7dzh8QDw8Iby3LSdavnCot1Hr0="; + }; + + build-system = [ setuptools ]; + + dependencies = [ + click + jinja2 + pyyaml + rich + ]; + + optional-dependencies = { + similarity = [ scikit-learn ]; + }; + + nativeCheckInputs = [ + pytest-cov-stub + pytestCheckHook + ]; + + pythonImportsCheck = [ "athf" ]; + + meta = { + description = "Framework for agentic threat hunting"; + homepage = "https://github.com/Nebulock-Inc/agentic-threat-hunting-framework"; + changelog = "https://github.com/Nebulock-Inc/agentic-threat-hunting-framework/releases/tag/${src.tag}"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ fab ]; + }; +} diff --git a/pkgs/development/python-modules/aiobtclientapi/default.nix b/pkgs/development/python-modules/aiobtclientapi/default.nix index 6af43695037d..0bd027871905 100644 --- a/pkgs/development/python-modules/aiobtclientapi/default.nix +++ b/pkgs/development/python-modules/aiobtclientapi/default.nix @@ -12,7 +12,7 @@ setuptools, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "aiobtclientapi"; version = "1.1.4"; pyproject = true; @@ -21,7 +21,7 @@ buildPythonPackage rec { domain = "codeberg.org"; owner = "plotski"; repo = "aiobtclientapi"; - tag = "v${version}"; + tag = "v${finalAttrs.version}"; hash = "sha256-ga3EyKhfdEKkjFktUlgLSX54QbTc/a48vmWjmRqa+4w="; }; @@ -64,4 +64,4 @@ buildPythonPackage rec { license = lib.licenses.gpl3Plus; maintainers = with lib.maintainers; [ ambroisie ]; }; -} +}) diff --git a/pkgs/development/python-modules/aiobtclientrpc/default.nix b/pkgs/development/python-modules/aiobtclientrpc/default.nix index 928647d5d5d3..b206e8912923 100644 --- a/pkgs/development/python-modules/aiobtclientrpc/default.nix +++ b/pkgs/development/python-modules/aiobtclientrpc/default.nix @@ -15,7 +15,7 @@ fetchpatch, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "aiobtclientrpc"; version = "5.0.1"; pyproject = true; @@ -24,7 +24,7 @@ buildPythonPackage rec { domain = "codeberg.org"; owner = "plotski"; repo = "aiobtclientrpc"; - tag = "v${version}"; + tag = "v${finalAttrs.version}"; hash = "sha256-2nBrIMlYUI4PwirkiSJSkw5zw2Kc/KoVRyIIYYx4iYs="; }; @@ -80,4 +80,4 @@ buildPythonPackage rec { license = lib.licenses.gpl3Plus; maintainers = with lib.maintainers; [ ambroisie ]; }; -} +}) diff --git a/pkgs/development/python-modules/aioesphomeapi/default.nix b/pkgs/development/python-modules/aioesphomeapi/default.nix index 8cc4ec81f630..cb06400a549d 100644 --- a/pkgs/development/python-modules/aioesphomeapi/default.nix +++ b/pkgs/development/python-modules/aioesphomeapi/default.nix @@ -26,14 +26,14 @@ buildPythonPackage rec { pname = "aioesphomeapi"; - version = "43.6.0"; + version = "43.10.1"; pyproject = true; src = fetchFromGitHub { owner = "esphome"; repo = "aioesphomeapi"; tag = "v${version}"; - hash = "sha256-ghm+44EEgzlIfbcHrIrOLVyCSYH+Sj2b7RWIhD3mgUA="; + hash = "sha256-UzeCXjWqcwEuoZY9YotbIGfvoSsJpGLMLErdF1Ld5AI="; }; build-system = [ diff --git a/pkgs/development/python-modules/aiohomematic/default.nix b/pkgs/development/python-modules/aiohomematic/default.nix index 384c71f3485d..ab3b5dad39ca 100644 --- a/pkgs/development/python-modules/aiohomematic/default.nix +++ b/pkgs/development/python-modules/aiohomematic/default.nix @@ -16,14 +16,14 @@ buildPythonPackage rec { pname = "aiohomematic"; - version = "2026.1.5"; + version = "2026.1.9"; pyproject = true; src = fetchFromGitHub { owner = "SukramJ"; repo = "aiohomematic"; tag = version; - hash = "sha256-WOAbfy3cufE/5iDpDR5J0eNFFYyzwCLsgFqIFfLvYZM="; + hash = "sha256-bPz40fOSEimhUrSyOO0JVahFjL2V48x8IHdaA6mh3VI="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/aiosmb/default.nix b/pkgs/development/python-modules/aiosmb/default.nix index ba4fb2bd08f8..4034ca3e9713 100644 --- a/pkgs/development/python-modules/aiosmb/default.nix +++ b/pkgs/development/python-modules/aiosmb/default.nix @@ -9,7 +9,6 @@ minikerberos, prompt-toolkit, pycryptodomex, - pythonOlder, setuptools, six, tqdm, @@ -19,14 +18,12 @@ buildPythonPackage rec { pname = "aiosmb"; - version = "0.4.13"; + version = "0.4.14"; pyproject = true; - disabled = pythonOlder "3.7"; - src = fetchPypi { inherit pname version; - hash = "sha256-ytnzpUnshwKczXgqNPL0vouBMSgY52zONOrwraUVnk8="; + hash = "sha256-So6u+sX7EOEIjrYejfWK/z/mH9bxHOcu/YpjF1VfAsM="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/beancount-black/default.nix b/pkgs/development/python-modules/beancount-black/default.nix index 98155e951df7..2bbd162a8caf 100644 --- a/pkgs/development/python-modules/beancount-black/default.nix +++ b/pkgs/development/python-modules/beancount-black/default.nix @@ -9,7 +9,7 @@ pytestCheckHook, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "beancount-black"; version = "1.0.5"; @@ -19,7 +19,7 @@ buildPythonPackage rec { src = fetchFromGitHub { owner = "LaunchPlatform"; repo = "beancount-black"; - tag = version; + tag = finalAttrs.version; hash = "sha256-vo11mlgDhyc8YFnULJ4AFrANWmGpAMNX5jJ6QaUNqk0="; }; @@ -41,4 +41,4 @@ buildPythonPackage rec { license = with lib.licenses; [ mit ]; maintainers = with lib.maintainers; [ ambroisie ]; }; -} +}) diff --git a/pkgs/development/python-modules/beancount-parser/default.nix b/pkgs/development/python-modules/beancount-parser/default.nix index 620f0f199a8c..5951efbadfac 100644 --- a/pkgs/development/python-modules/beancount-parser/default.nix +++ b/pkgs/development/python-modules/beancount-parser/default.nix @@ -8,7 +8,7 @@ pytestCheckHook, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "beancount-parser"; version = "1.2.3"; format = "pyproject"; @@ -18,7 +18,7 @@ buildPythonPackage rec { src = fetchFromGitHub { owner = "LaunchPlatform"; repo = "beancount-parser"; - tag = version; + tag = finalAttrs.version; hash = "sha256-8YcrsLdSRTixKXU/IM821kNcBo0jB/8DXA1/KiedsBY="; }; @@ -33,8 +33,8 @@ buildPythonPackage rec { meta = { description = "Standalone Lark based Beancount syntax parser"; homepage = "https://github.com/LaunchPlatform/beancount-parser/"; - changelog = "https://github.com/LaunchPlatform/beancount-parser/releases/tag/${version}"; + changelog = "https://github.com/LaunchPlatform/beancount-parser/releases/tag/${finalAttrs.version}"; license = with lib.licenses; [ mit ]; maintainers = with lib.maintainers; [ ambroisie ]; }; -} +}) diff --git a/pkgs/development/python-modules/bleach-allowlist/default.nix b/pkgs/development/python-modules/bleach-allowlist/default.nix index 3aa7e57a71cd..575d33f4f5e2 100644 --- a/pkgs/development/python-modules/bleach-allowlist/default.nix +++ b/pkgs/development/python-modules/bleach-allowlist/default.nix @@ -5,13 +5,13 @@ bleach, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "bleach-allowlist"; version = "1.0.3"; format = "setuptools"; src = fetchPypi { - inherit pname version; + inherit (finalAttrs) pname version; hash = "sha256-VuIghgeaDmoxAK6Z5NuvIOslhUhlmOsOmUAIoRQo2ps="; }; @@ -28,4 +28,4 @@ buildPythonPackage rec { license = lib.licenses.bsd2; maintainers = with lib.maintainers; [ ambroisie ]; }; -} +}) diff --git a/pkgs/development/python-modules/cmudict/default.nix b/pkgs/development/python-modules/cmudict/default.nix index b75eb3e66209..ad9878c10d9b 100644 --- a/pkgs/development/python-modules/cmudict/default.nix +++ b/pkgs/development/python-modules/cmudict/default.nix @@ -1,42 +1,42 @@ { lib, buildPythonPackage, - fetchPypi, - pythonOlder, - poetry-core, + fetchFromGitHub, importlib-metadata, importlib-resources, + poetry-core, + pytestCheckHook, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "cmudict"; - version = "1.1.2"; + version = "1.1.3"; pyproject = true; - disabled = pythonOlder "3.9"; - src = fetchPypi { - inherit pname version; - hash = "sha256-IhZd73NPGpwZHKFowGbX6lgsi42nkNo+g0TpZeJkfbg="; + src = fetchFromGitHub { + owner = "prosegrinder"; + repo = "python-cmudict"; + tag = "v${finalAttrs.version}"; + hash = "sha256-pOqzezrDlwlVsvBHreHmLKxYKDxllZNs0TgLwxBhy58="; + fetchSubmodules = true; }; - build-system = [ - poetry-core - ]; + build-system = [ poetry-core ]; dependencies = [ importlib-metadata importlib-resources ]; - pythonImportsCheck = [ - "cmudict" - ]; + nativeCheckInputs = [ pytestCheckHook ]; + + pythonImportsCheck = [ "cmudict" ]; meta = { - changelog = "https://github.com/prosegrinder/python-cmudict/blob/main/CHANGELOG.md"; - description = "A versioned python wrapper package for The CMU Pronouncing Dictionary data files"; - homepage = "https://pypi.org/project/cmudict/"; + description = "Python wrapper package for The CMU Pronouncing Dictionary data files"; + homepage = "https://github.com/prosegrinder/python-cmudict"; + changelog = "https://github.com/prosegrinder/python-cmudict/blob/v${finalAttrs.version}/CHANGELOG.md"; license = lib.licenses.gpl3Only; maintainers = with lib.maintainers; [ sandarukasa ]; }; -} +}) diff --git a/pkgs/development/python-modules/coincidence/default.nix b/pkgs/development/python-modules/coincidence/default.nix new file mode 100644 index 000000000000..d0649f5ceaf1 --- /dev/null +++ b/pkgs/development/python-modules/coincidence/default.nix @@ -0,0 +1,45 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + pytest-regressions, + pytest-timeout, + pytestCheckHook, + toml, + typing-extensions, + whey, +}: + +buildPythonPackage rec { + pname = "coincidence"; + version = "0.6.6"; + pyproject = true; + + src = fetchFromGitHub { + owner = "python-coincidence"; + repo = "coincidence"; + tag = "v${version}"; + hash = "sha256-ktSuUzAwMych6Y2eJWMUfG1a3mGypg8L20f/105RFXc="; + }; + + build-system = [ whey ]; + + dependencies = [ typing-extensions ]; + + nativeCheckInputs = [ + pytest-regressions + pytest-timeout + pytestCheckHook + toml + ]; + + pythonImportsCheck = [ "coincidence" ]; + + meta = { + description = "Helper functions for pytest"; + homepage = "https://github.com/python-coincidence/coincidence"; + changelog = "https://github.com/python-coincidence/coincidence/releases/tag/${src.tag}"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ fab ]; + }; +} diff --git a/pkgs/development/python-modules/countryguess/default.nix b/pkgs/development/python-modules/countryguess/default.nix index 19d7f86c0256..21df86b448a9 100644 --- a/pkgs/development/python-modules/countryguess/default.nix +++ b/pkgs/development/python-modules/countryguess/default.nix @@ -7,7 +7,7 @@ setuptools, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "countryguess"; version = "0.4.9"; pyproject = true; @@ -16,7 +16,7 @@ buildPythonPackage rec { domain = "codeberg.org"; owner = "plotski"; repo = "countryguess"; - tag = "v${version}"; + tag = "v${finalAttrs.version}"; hash = "sha256-RlOOao6aU3MylghDyOeg3poYQw+0UhljN79/ZBLjq24="; }; @@ -37,4 +37,4 @@ buildPythonPackage rec { license = lib.licenses.gpl3Plus; maintainers = with lib.maintainers; [ ambroisie ]; }; -} +}) diff --git a/pkgs/development/python-modules/cupy/default.nix b/pkgs/development/python-modules/cupy/default.nix index 0eb635c06a15..3af28161ba4e 100644 --- a/pkgs/development/python-modules/cupy/default.nix +++ b/pkgs/development/python-modules/cupy/default.nix @@ -49,13 +49,11 @@ let outpaths ++ lib.concatMap (outpath: lib.map (output: outpath.${output}) outpath.outputs) outpaths; }; in -buildPythonPackage rec { +buildPythonPackage.override { stdenv = cudaPackages.backendStdenv; } rec { pname = "cupy"; version = "13.6.0"; pyproject = true; - stdenv = cudaPackages.backendStdenv; - src = fetchFromGitHub { owner = "cupy"; repo = "cupy"; diff --git a/pkgs/development/python-modules/django-annoying/default.nix b/pkgs/development/python-modules/django-annoying/default.nix index 20d5d3eee1fa..5ececfb35041 100644 --- a/pkgs/development/python-modules/django-annoying/default.nix +++ b/pkgs/development/python-modules/django-annoying/default.nix @@ -9,7 +9,7 @@ pytestCheckHook, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "django-annoying"; version = "0.10.8"; pyproject = true; @@ -17,7 +17,7 @@ buildPythonPackage rec { src = fetchFromGitHub { owner = "skorokithakis"; repo = "django-annoying"; - tag = "v${version}"; + tag = "v${finalAttrs.version}"; hash = "sha256-zBOHVar4iKb+BioIwmDosNZKi/0YcjYfBusn0Lv8pMw="; }; @@ -38,8 +38,8 @@ buildPythonPackage rec { meta = { description = "Django application that tries to eliminate annoying things in the Django framework"; homepage = "https://skorokithakis.github.io/django-annoying/"; - changelog = "https://github.com/skorokithakis/django-annoying/releases/tag/v$version"; + changelog = "https://github.com/skorokithakis/django-annoying/releases/tag/v${finalAttrs.version}"; license = lib.licenses.bsd3; maintainers = with lib.maintainers; [ ambroisie ]; }; -} +}) diff --git a/pkgs/development/python-modules/django-autocomplete-light/default.nix b/pkgs/development/python-modules/django-autocomplete-light/default.nix index df0b8b33a0d7..dfb98c2a1841 100644 --- a/pkgs/development/python-modules/django-autocomplete-light/default.nix +++ b/pkgs/development/python-modules/django-autocomplete-light/default.nix @@ -9,7 +9,7 @@ setuptools, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "django-autocomplete-light"; version = "3.12.1"; pyproject = true; @@ -19,7 +19,7 @@ buildPythonPackage rec { src = fetchFromGitHub { owner = "yourlabs"; repo = "django-autocomplete-light"; - tag = version; + tag = finalAttrs.version; hash = "sha256-ctNbbmTUgrkLGCo7tgPIJpLn7RmkZSuj54/5RBe/sdA="; }; @@ -42,8 +42,8 @@ buildPythonPackage rec { meta = { description = "Fresh approach to autocomplete implementations, specially for Django"; homepage = "https://django-autocomplete-light.readthedocs.io"; - changelog = "https://github.com/yourlabs/django-autocomplete-light/blob/${version}/CHANGELOG"; + changelog = "https://github.com/yourlabs/django-autocomplete-light/blob/${finalAttrs.version}/CHANGELOG"; license = lib.licenses.bsd3; maintainers = with lib.maintainers; [ ambroisie ]; }; -} +}) diff --git a/pkgs/development/python-modules/django-bootstrap4/default.nix b/pkgs/development/python-modules/django-bootstrap4/default.nix index 1e504aa7d2cb..68d0de112c6a 100644 --- a/pkgs/development/python-modules/django-bootstrap4/default.nix +++ b/pkgs/development/python-modules/django-bootstrap4/default.nix @@ -19,14 +19,14 @@ buildPythonPackage rec { pname = "django-bootstrap4"; - version = "25.3"; + version = "26.1"; pyproject = true; src = fetchFromGitHub { owner = "zostera"; repo = "django-bootstrap4"; tag = "v${version}"; - hash = "sha256-aayR9yXsC1Kt4PtlhhdnaPA5cqYuL4CV0UY1fvA/ntk="; + hash = "sha256-g66JJVPB+YQjN5IHSu/jqKVu5gS8Llb+mALJ9f5H2ds="; }; build-system = [ uv-build ]; diff --git a/pkgs/development/python-modules/django-crispy-forms/default.nix b/pkgs/development/python-modules/django-crispy-forms/default.nix index c46fc7d9a48e..8776334d18fa 100644 --- a/pkgs/development/python-modules/django-crispy-forms/default.nix +++ b/pkgs/development/python-modules/django-crispy-forms/default.nix @@ -8,7 +8,7 @@ pytest-django, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "django-crispy-forms"; version = "2.5"; format = "pyproject"; @@ -16,7 +16,7 @@ buildPythonPackage rec { src = fetchFromGitHub { owner = "django-crispy-forms"; repo = "django-crispy-forms"; - tag = version; + tag = finalAttrs.version; hash = "sha256-UZw860dOmQOAHcOPn5JO5OPe0kei4Mivy5FTh25Zo1s="; }; @@ -49,4 +49,4 @@ buildPythonPackage rec { license = lib.licenses.mit; maintainers = with lib.maintainers; [ ambroisie ]; }; -} +}) diff --git a/pkgs/development/python-modules/django-hcaptcha/default.nix b/pkgs/development/python-modules/django-hcaptcha/default.nix index a045811aeec9..9f51677dbdaa 100644 --- a/pkgs/development/python-modules/django-hcaptcha/default.nix +++ b/pkgs/development/python-modules/django-hcaptcha/default.nix @@ -5,13 +5,13 @@ django, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "django-hcaptcha"; version = "0.2.0"; format = "setuptools"; src = fetchPypi { - inherit version; + inherit (finalAttrs) version; pname = "django-hCaptcha"; hash = "sha256-slGerwzJeGWscvglMBEixc9h4eSFLWiVmUFgIirLbBo="; }; @@ -29,4 +29,4 @@ buildPythonPackage rec { license = lib.licenses.bsd3; maintainers = with lib.maintainers; [ ambroisie ]; }; -} +}) diff --git a/pkgs/development/python-modules/django-js-reverse/default.nix b/pkgs/development/python-modules/django-js-reverse/default.nix index 5acf47d3a565..46f066f3246d 100644 --- a/pkgs/development/python-modules/django-js-reverse/default.nix +++ b/pkgs/development/python-modules/django-js-reverse/default.nix @@ -10,7 +10,7 @@ six, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "django-js-reverse"; version = "0.10.2"; pyproject = true; @@ -18,7 +18,7 @@ buildPythonPackage rec { src = fetchFromGitHub { owner = "vintasoftware"; repo = "django-js-reverse"; - tag = "v${version}"; + tag = "v${finalAttrs.version}"; hash = "sha256-0S1g8tLWaJVV2QGPeiBOevhz9f0ueINxA9HOcnXuyYg="; }; @@ -46,8 +46,8 @@ buildPythonPackage rec { meta = { description = "Javascript URL handling for Django"; homepage = "https://django-js-reverse.readthedocs.io/"; - changelog = "https://github.com/vintasoftware/django-js-reverse/releases/tag/${src.tag}"; + changelog = "https://github.com/vintasoftware/django-js-reverse/releases/tag/v${finalAttrs.version}"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ ambroisie ]; }; -} +}) diff --git a/pkgs/development/python-modules/django-scopes/default.nix b/pkgs/development/python-modules/django-scopes/default.nix index 648c4c0544c9..94a1ef052f4d 100644 --- a/pkgs/development/python-modules/django-scopes/default.nix +++ b/pkgs/development/python-modules/django-scopes/default.nix @@ -7,7 +7,7 @@ pytest-django, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "django-scopes"; version = "2.0.0"; format = "setuptools"; @@ -15,7 +15,7 @@ buildPythonPackage rec { src = fetchFromGitHub { owner = "raphaelm"; repo = "django-scopes"; - tag = version; + tag = finalAttrs.version; hash = "sha256-CtToztLVvSb91pMpPNL8RysQJzlRkeXuQbpvbkX3jfM="; }; @@ -28,10 +28,10 @@ buildPythonPackage rec { pythonImportsCheck = [ "django_scopes" ]; - meta = { + meta = with lib; { description = "Safely separate multiple tenants in a Django database"; homepage = "https://github.com/raphaelm/django-scopes"; - license = lib.licenses.asl20; - maintainers = with lib.maintainers; [ ambroisie ]; + license = licenses.asl20; + maintainers = with maintainers; [ ambroisie ]; }; -} +}) diff --git a/pkgs/development/python-modules/dlib/default.nix b/pkgs/development/python-modules/dlib/default.nix index d8b863ade3f8..5868705f1127 100644 --- a/pkgs/development/python-modules/dlib/default.nix +++ b/pkgs/development/python-modules/dlib/default.nix @@ -5,9 +5,8 @@ more-itertools, }: -buildPythonPackage { +buildPythonPackage.override { inherit (dlib) stdenv; } { inherit (dlib) - stdenv pname version src diff --git a/pkgs/development/python-modules/dom-toml/default.nix b/pkgs/development/python-modules/dom-toml/default.nix index 3c54e8023d70..8b94a193f4bd 100644 --- a/pkgs/development/python-modules/dom-toml/default.nix +++ b/pkgs/development/python-modules/dom-toml/default.nix @@ -1,35 +1,51 @@ { - buildPythonPackage, - fetchPypi, lib, - flit-core, - setuptools, + attrs, + buildPythonPackage, domdf-python-tools, - tomli, + fetchFromGitHub, + flit-core, + pytestCheckHook, + setuptools, + tomli-w, }: + buildPythonPackage rec { pname = "dom-toml"; - version = "2.1.0"; + version = "2.2.0"; pyproject = true; - src = fetchPypi { - inherit version; - pname = "dom_toml"; - hash = "sha256-XMDdEM4lZtNbwdlKbvFsBilx/wMYxvNwWADWHSB1raw="; + src = fetchFromGitHub { + owner = "domdfcoding"; + repo = "dom_toml"; + tag = "v${version}"; + hash = "sha256-2kO/6spc+y/ltHf493JkSKI0vGuJu2a29fqsW/EDFxE="; }; build-system = [ flit-core ]; - nativeBuildInputs = [ setuptools ]; + dependencies = [ domdf-python-tools ]; - dependencies = [ - domdf-python-tools - tomli - ]; + optional-dependencies = { + all = [ + attrs + tomli-w + ]; + config = [ + attrs + tomli-w + ]; + }; + + # Circular dependency whey -> domdf-python-tools -> coincidence + doCheck = false; + + pythonImportsCheck = [ "dom_toml" ]; meta = { description = "Dom's tools for Tom's Obvious, Minimal Language"; homepage = "https://github.com/domdfcoding/dom_toml"; + changelog = "https://github.com/domdfcoding/dom_toml/releases/tag/${src.tag}"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ tyberius-prime ]; }; diff --git a/pkgs/development/python-modules/drawsvg/default.nix b/pkgs/development/python-modules/drawsvg/default.nix index 2360b947dee7..cb8f1d7a4adc 100644 --- a/pkgs/development/python-modules/drawsvg/default.nix +++ b/pkgs/development/python-modules/drawsvg/default.nix @@ -1,27 +1,24 @@ { lib, buildPythonPackage, - fetchFromGitHub, - setuptools, - pythonOlder, - numpy, - imageio, cairosvg, + fetchFromGitHub, imageio-ffmpeg, + imageio, + numpy, pwkit, + setuptools, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "drawsvg"; version = "2.4.0"; pyproject = true; - disabled = pythonOlder "3.9"; - src = fetchFromGitHub { owner = "cduck"; repo = "drawsvg"; - tag = version; + tag = finalAttrs.version; hash = "sha256-JC7u6bEB7RCJVLeYnNqACmddLI5F5PyaaBxaAZ+N/5s="; }; @@ -29,21 +26,21 @@ buildPythonPackage rec { optional-dependencies = { all = [ - numpy - imageio cairosvg + imageio imageio-ffmpeg + numpy pwkit ]; raster = [ - numpy - imageio cairosvg + imageio imageio-ffmpeg + numpy ]; color = [ - pwkit numpy + pwkit ]; }; @@ -58,4 +55,4 @@ buildPythonPackage rec { license = lib.licenses.mit; maintainers = with lib.maintainers; [ fab ]; }; -} +}) diff --git a/pkgs/development/python-modules/drf-writable-nested/default.nix b/pkgs/development/python-modules/drf-writable-nested/default.nix index 227fad5b5b04..966e07b48e2a 100644 --- a/pkgs/development/python-modules/drf-writable-nested/default.nix +++ b/pkgs/development/python-modules/drf-writable-nested/default.nix @@ -8,7 +8,7 @@ pytest-django, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "drf-writable-nested"; version = "0.7.2"; format = "setuptools"; @@ -16,7 +16,7 @@ buildPythonPackage rec { src = fetchFromGitHub { owner = "beda-software"; repo = "drf-writable-nested"; - tag = "v${version}"; + tag = "v${finalAttrs.version}"; hash = "sha256-VkQ3Di3vXxQAmvuMP8KpGVVdx7LMYcQFEF4ZsuA9KeA="; }; @@ -36,4 +36,4 @@ buildPythonPackage rec { license = lib.licenses.bsd2; maintainers = with lib.maintainers; [ ambroisie ]; }; -} +}) diff --git a/pkgs/development/python-modules/extruct/default.nix b/pkgs/development/python-modules/extruct/default.nix index 6b8718b46bbe..24e1835f8859 100644 --- a/pkgs/development/python-modules/extruct/default.nix +++ b/pkgs/development/python-modules/extruct/default.nix @@ -16,7 +16,7 @@ w3lib, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "extruct"; version = "0.18.0"; pyproject = true; @@ -26,7 +26,7 @@ buildPythonPackage rec { src = fetchFromGitHub { owner = "scrapinghub"; repo = "extruct"; - tag = "v${version}"; + tag = "v${finalAttrs.version}"; hash = "sha256-hUSlIlWxrsxGLCE8/DAGSqxx9+7TEkynmXrVnXGjDQ8="; }; @@ -60,8 +60,8 @@ buildPythonPackage rec { description = "Extract embedded metadata from HTML markup"; mainProgram = "extruct"; homepage = "https://github.com/scrapinghub/extruct"; - changelog = "https://github.com/scrapinghub/extruct/blob/v${version}/HISTORY.rst"; + changelog = "https://github.com/scrapinghub/extruct/blob/v${finalAttrs.version}/HISTORY.rst"; license = lib.licenses.bsd3; maintainers = with lib.maintainers; [ ambroisie ]; }; -} +}) diff --git a/pkgs/development/python-modules/fastcore/default.nix b/pkgs/development/python-modules/fastcore/default.nix index df1014ec53a2..be09243c89fd 100644 --- a/pkgs/development/python-modules/fastcore/default.nix +++ b/pkgs/development/python-modules/fastcore/default.nix @@ -8,14 +8,14 @@ buildPythonPackage rec { pname = "fastcore"; - version = "1.10.0"; + version = "1.11.0"; pyproject = true; src = fetchFromGitHub { owner = "fastai"; repo = "fastcore"; tag = version; - hash = "sha256-hPcL1FB7O/+YCq+p32KWykfoDTs3g+sk1oBCtrZZERU="; + hash = "sha256-mzOarqm7ng4Jz+z5CNjmff8j0wfNGSYjR2LNhtRfmhc="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/flatbencode/default.nix b/pkgs/development/python-modules/flatbencode/default.nix index c7511dd7e8aa..5ed38818a6a1 100644 --- a/pkgs/development/python-modules/flatbencode/default.nix +++ b/pkgs/development/python-modules/flatbencode/default.nix @@ -7,7 +7,7 @@ setuptools, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "flatbencode"; version = "0.2.1"; pyproject = true; @@ -15,7 +15,7 @@ buildPythonPackage rec { src = fetchFromGitHub { owner = "acatton"; repo = "flatbencode"; - tag = "v${version}"; + tag = "v${finalAttrs.version}"; hash = "sha256-1/4w41E8IKygJTBcQOexiDytV6BvVBwIjajKz2uCfu8="; }; @@ -36,4 +36,4 @@ buildPythonPackage rec { license = lib.licenses.mit; maintainers = with lib.maintainers; [ ambroisie ]; }; -} +}) diff --git a/pkgs/development/python-modules/gfsubsets/default.nix b/pkgs/development/python-modules/gfsubsets/default.nix index 8572b3182cc9..13f6e574abb5 100644 --- a/pkgs/development/python-modules/gfsubsets/default.nix +++ b/pkgs/development/python-modules/gfsubsets/default.nix @@ -1,7 +1,7 @@ { lib, buildPythonPackage, - fetchPypi, + fetchFromGitHub, fonttools, importlib-resources, setuptools, @@ -11,12 +11,13 @@ buildPythonPackage rec { pname = "gfsubsets"; - version = "2024.9.25"; - gitTag = "v2024.02.05"; + version = "2025.11.04"; - src = fetchPypi { - inherit pname version; - hash = "sha256-jEuIBNQ89Le3Rbk0W4PLl9LE7rP0IcE6RAzyfhZb7lY="; + src = fetchFromGitHub { + owner = "googlefonts"; + repo = "nam-files"; + tag = "v${version}"; + hash = "sha256-mMsmccIuilKeOUjt68etYefibuorjlW32gLcLgV8jxo="; }; pyproject = true; @@ -39,7 +40,7 @@ buildPythonPackage rec { meta = { description = "Codepoint definitions for the Google Fonts subsetter"; homepage = "https://github.com/googlefonts/nam-files"; - changelog = "https://github.com/googlefonts/nam-files/releases/tag/${gitTag}"; + changelog = "https://github.com/googlefonts/nam-files/releases/tag/${src.tag}"; license = lib.licenses.asl20; maintainers = with lib.maintainers; [ danc86 ]; }; diff --git a/pkgs/development/python-modules/grpclib/default.nix b/pkgs/development/python-modules/grpclib/default.nix index 3dc8d48cb010..675f3f95439e 100644 --- a/pkgs/development/python-modules/grpclib/default.nix +++ b/pkgs/development/python-modules/grpclib/default.nix @@ -1,14 +1,14 @@ { lib, + async-timeout, buildPythonPackage, certifi, faker, fetchFromGitHub, - fetchpatch, googleapis-common-protos, h2, multidict, - pytest-asyncio_0, + pytest-asyncio, pytestCheckHook, pythonOlder, setuptools, @@ -16,7 +16,7 @@ buildPythonPackage rec { pname = "grpclib"; - version = "0.4.8"; + version = "0.4.9"; pyproject = true; disabled = pythonOlder "3.7"; @@ -25,18 +25,9 @@ buildPythonPackage rec { owner = "vmagamedov"; repo = "grpclib"; tag = "v${version}"; - hash = "sha256-Z+DMwGMUxNTQ7ABd4q/FgMHEZ/NCOtst+6QfQJm3jVU="; + hash = "sha256-9ElCIL084B+KihV1AXYJejBletj8y6LnoWRGEj4E1tQ="; }; - patches = [ - # https://github.com/vmagamedov/grpclib/pull/209 - (fetchpatch { - name = "replace-async-timeout-with-asyncio-timeout-patch"; - url = "https://github.com/vmagamedov/grpclib/commit/36b23ce3ca3f1742e39b50f939d13cd08b4f28ac.patch"; - hash = "sha256-3ztLBOFpTK8CFIp8a6suhWXY5kIBCBRWBX/oAyYU4yI="; - }) - ]; - build-system = [ setuptools ]; dependencies = [ @@ -46,12 +37,15 @@ buildPythonPackage rec { nativeCheckInputs = [ pytestCheckHook - pytest-asyncio_0 + pytest-asyncio + async-timeout faker googleapis-common-protos certifi ]; + __darwinAllowLocalNetworking = true; + pythonImportsCheck = [ "grpclib" ]; meta = { diff --git a/pkgs/development/python-modules/hdfury/default.nix b/pkgs/development/python-modules/hdfury/default.nix index f34d9decb16b..3401e62ea7aa 100644 --- a/pkgs/development/python-modules/hdfury/default.nix +++ b/pkgs/development/python-modules/hdfury/default.nix @@ -6,16 +6,16 @@ hatchling, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "hdfury"; - version = "1.3.0"; + version = "1.3.1"; pyproject = true; src = fetchFromGitHub { owner = "glenndehaan"; repo = "python-hdfury"; - tag = version; - hash = "sha256-cV9cqZ0ogxXF2IHtywV5EyC0aIsgzRQOIQHfOT1uq8c="; + tag = finalAttrs.version; + hash = "sha256-vEIlDhDWC7My9mqXxHseDpvW/vWe9jWkYzcgz3xFhyQ="; }; build-system = [ hatchling ]; @@ -30,8 +30,8 @@ buildPythonPackage rec { meta = { description = "Python client for HDFury devices"; homepage = "https://github.com/glenndehaan/python-hdfury"; - changelog = "https://github.com/glenndehaan/python-hdfury/releases/tag/${src.tag}"; + changelog = "https://github.com/glenndehaan/python-hdfury/releases/tag/${finalAttrs.src.tag}"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ fab ]; }; -} +}) diff --git a/pkgs/development/python-modules/html-text/default.nix b/pkgs/development/python-modules/html-text/default.nix index 6964221e31ac..c212d4bae740 100644 --- a/pkgs/development/python-modules/html-text/default.nix +++ b/pkgs/development/python-modules/html-text/default.nix @@ -9,7 +9,7 @@ setuptools, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "html-text"; version = "0.6.2"; pyproject = true; @@ -19,7 +19,7 @@ buildPythonPackage rec { src = fetchFromGitHub { owner = "zytedata"; repo = "html-text"; - tag = version; + tag = finalAttrs.version; hash = "sha256-e9gkibQv8mn1Jbt77UmpauOeTqhJQhY9R5Sge/iYi+U="; }; @@ -37,8 +37,8 @@ buildPythonPackage rec { meta = { description = "Extract text from HTML"; homepage = "https://github.com/zytedata/html-text"; - changelog = "https://github.com/zytedata/html-text/blob/${version}/CHANGES.rst"; + changelog = "https://github.com/zytedata/html-text/blob/${finalAttrs.version}/CHANGES.rst"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ ambroisie ]; }; -} +}) diff --git a/pkgs/development/python-modules/iamdata/default.nix b/pkgs/development/python-modules/iamdata/default.nix index 98267ed28318..61168ec51802 100644 --- a/pkgs/development/python-modules/iamdata/default.nix +++ b/pkgs/development/python-modules/iamdata/default.nix @@ -6,16 +6,16 @@ pytestCheckHook, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "iamdata"; - version = "0.1.202601031"; + version = "0.1.202601051"; pyproject = true; src = fetchFromGitHub { owner = "cloud-copilot"; repo = "iam-data-python"; - tag = "v${version}"; - hash = "sha256-01PMwJ7F7quyZPHUWVtTe9dkAktZ3j8MbIysIcb+BD4="; + tag = "v${finalAttrs.version}"; + hash = "sha256-zCFUaPVocCvFH3eWdfufWHDsgN/ewW/hKoS9D/XnInU="; }; __darwinAllowLocalNetworking = true; @@ -31,8 +31,8 @@ buildPythonPackage rec { meta = { description = "Module for utilizing AWS IAM data for Services, Actions, Resources, and Condition Keys"; homepage = "https://github.com/cloud-copilot/iam-data-python"; - changelog = "https://github.com/cloud-copilot/iam-data-python/releases/tag/${src.tag}"; + changelog = "https://github.com/cloud-copilot/iam-data-python/releases/tag/${finalAttrs.src.tag}"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ fab ]; }; -} +}) diff --git a/pkgs/development/python-modules/lance-namespace-urllib3-client/default.nix b/pkgs/development/python-modules/lance-namespace-urllib3-client/default.nix index 5c83589693bd..c3d6fd8c3bf9 100644 --- a/pkgs/development/python-modules/lance-namespace-urllib3-client/default.nix +++ b/pkgs/development/python-modules/lance-namespace-urllib3-client/default.nix @@ -16,19 +16,19 @@ pytestCheckHook, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "lance-namespace"; - version = "0.4.0"; + version = "0.4.4"; pyproject = true; src = fetchFromGitHub { owner = "lancedb"; repo = "lance-namespace"; - tag = "v${version}"; - hash = "sha256-t6VCKG54Sxf92B1OmfXXsWaJww2fyEcMGpJy4z94HZs="; + tag = "v${finalAttrs.version}"; + hash = "sha256-aNo6rrWnnFpFk3iPX1sQsuXTDkE5ZRA/9P7TQeJr4iI="; }; - sourceRoot = "${src.name}/python/lance_namespace_urllib3_client"; + sourceRoot = "${finalAttrs.src.name}/python/lance_namespace_urllib3_client"; build-system = [ hatchling @@ -53,4 +53,4 @@ buildPythonPackage rec { license = lib.licenses.asl20; maintainers = with lib.maintainers; [ GaetanLepage ]; }; -} +}) diff --git a/pkgs/development/python-modules/lance-namespace/default.nix b/pkgs/development/python-modules/lance-namespace/default.nix index dacb8e124dc6..6853775d1816 100644 --- a/pkgs/development/python-modules/lance-namespace/default.nix +++ b/pkgs/development/python-modules/lance-namespace/default.nix @@ -28,19 +28,19 @@ lance-namespace, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "lance-namespace"; - version = "0.4.0"; + version = "0.4.4"; pyproject = true; src = fetchFromGitHub { owner = "lancedb"; repo = "lance-namespace"; - tag = "v${version}"; - hash = "sha256-t6VCKG54Sxf92B1OmfXXsWaJww2fyEcMGpJy4z94HZs="; + tag = "v${finalAttrs.version}"; + hash = "sha256-aNo6rrWnnFpFk3iPX1sQsuXTDkE5ZRA/9P7TQeJr4iI="; }; - sourceRoot = "${src.name}/python/lance_namespace"; + sourceRoot = "${finalAttrs.src.name}/python/lance_namespace"; build-system = [ hatchling @@ -74,7 +74,7 @@ buildPythonPackage rec { pylance pytestCheckHook ] - ++ lib.concatAttrValues optional-dependencies; + ++ lib.concatAttrValues finalAttrs.optional-dependencies; # Tests require pylance, which is a circular dependency doCheck = false; @@ -108,4 +108,4 @@ buildPythonPackage rec { license = lib.licenses.asl20; maintainers = with lib.maintainers; [ GaetanLepage ]; }; -} +}) diff --git a/pkgs/development/python-modules/language-tags/default.nix b/pkgs/development/python-modules/language-tags/default.nix index e25827f76dbc..167164aff9b1 100644 --- a/pkgs/development/python-modules/language-tags/default.nix +++ b/pkgs/development/python-modules/language-tags/default.nix @@ -5,7 +5,7 @@ pytestCheckHook, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "language-tags"; version = "1.2.0"; format = "setuptools"; @@ -13,7 +13,7 @@ buildPythonPackage rec { src = fetchFromGitHub { owner = "OnroerendErfgoed"; repo = "language-tags"; - tag = version; + tag = finalAttrs.version; hash = "sha256-T9K290seKhQLqW36EfA9kn3WveKCmyjN4Mx2j50qIEk="; }; @@ -21,10 +21,10 @@ buildPythonPackage rec { pythonImportsCheck = [ "language_tags" ]; - meta = { + meta = with lib; { description = "Dealing with IANA language tags in Python"; homepage = "https://language-tags.readthedocs.io/en/latest/"; - license = lib.licenses.mit; - maintainers = with lib.maintainers; [ ambroisie ]; + license = licenses.mit; + maintainers = with maintainers; [ ambroisie ]; }; -} +}) diff --git a/pkgs/development/python-modules/llama-cpp-python/default.nix b/pkgs/development/python-modules/llama-cpp-python/default.nix index 27781bd0c2c2..5e9e79e390c8 100644 --- a/pkgs/development/python-modules/llama-cpp-python/default.nix +++ b/pkgs/development/python-modules/llama-cpp-python/default.nix @@ -39,7 +39,7 @@ let stdenvTarget = if cudaSupport then gcc13Stdenv else stdenv; in -buildPythonPackage rec { +buildPythonPackage.override { stdenv = stdenvTarget; } rec { pname = "llama-cpp-python"; version = "0.3.16"; pyproject = true; @@ -108,8 +108,6 @@ buildPythonPackage rec { ] ); - stdenv = stdenvTarget; - dependencies = [ diskcache jinja2 diff --git a/pkgs/development/python-modules/llm/default.nix b/pkgs/development/python-modules/llm/default.nix index f04cd5b18be8..c93fe1269bb0 100644 --- a/pkgs/development/python-modules/llm/default.nix +++ b/pkgs/development/python-modules/llm/default.nix @@ -4,6 +4,7 @@ callPackage, buildPythonPackage, fetchFromGitHub, + fetchpatch, pytestCheckHook, pythonOlder, replaceVars, @@ -24,6 +25,7 @@ pytest-asyncio, pytest-httpx, pytest-recording, + sqlite, sqlite-utils, syrupy, llm-echo, @@ -179,7 +181,17 @@ let hash = "sha256-PMQGyBwP6UCIz7p94atWgepbw9IwW6ym60sfP/PBrCA="; }; - patches = [ ./001-disable-install-uninstall-commands.patch ]; + patches = [ + ./001-disable-install-uninstall-commands.patch + ] + # See https://github.com/NixOS/nixpkgs/issues/476258 and https://github.com/simonw/llm/pull/1334 + # TODO: Remove when sqlite 3.52.x is released. + ++ lib.optionals (sqlite.version == "3.51.1") [ + (fetchpatch { + url = "https://github.com/simonw/llm/commit/6e24b883c3e3c4ddd2ec9006714d0a9ec17b59da.patch"; + hash = "sha256-4AKQdZCr6qxuWnjWoSW6I44hPL5e7tnvREx2Ns0WwNc="; + }) + ]; postPatch = '' substituteInPlace llm/cli.py \ diff --git a/pkgs/development/python-modules/mf2py/default.nix b/pkgs/development/python-modules/mf2py/default.nix index 9d5d69ca4ebb..9b327245e460 100644 --- a/pkgs/development/python-modules/mf2py/default.nix +++ b/pkgs/development/python-modules/mf2py/default.nix @@ -12,7 +12,7 @@ requests, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "mf2py"; version = "2.0.1"; pyproject = true; @@ -22,7 +22,7 @@ buildPythonPackage rec { src = fetchFromGitHub { owner = "microformats"; repo = "mf2py"; - tag = "v${version}"; + tag = "v${finalAttrs.version}"; hash = "sha256-mhJ+s1rtXEJ6DqVmiyWNEK+3cdDLpR63Q4QGmD9wVio="; }; @@ -45,8 +45,8 @@ buildPythonPackage rec { meta = { description = "Microformats2 parser written in Python"; homepage = "https://microformats.org/wiki/mf2py"; - changelog = "https://github.com/microformats/mf2py/blob/v${version}/CHANGELOG.md"; + changelog = "https://github.com/microformats/mf2py/blob/v${finalAttrs.version}/CHANGELOG.md"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ ambroisie ]; }; -} +}) diff --git a/pkgs/development/python-modules/microdata/default.nix b/pkgs/development/python-modules/microdata/default.nix index cb3e852900c0..b5d14da3657b 100644 --- a/pkgs/development/python-modules/microdata/default.nix +++ b/pkgs/development/python-modules/microdata/default.nix @@ -6,7 +6,7 @@ unittestCheckHook, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "microdata"; version = "0.8.0"; format = "setuptools"; @@ -14,7 +14,7 @@ buildPythonPackage rec { src = fetchFromGitHub { owner = "edsu"; repo = "microdata"; - rev = "v${version}"; + rev = "v${finalAttrs.version}"; hash = "sha256-BAygCLBLxZ033ZWRFSR52dSM2nPY8jXplDXQ8WW3KPo="; }; @@ -31,4 +31,4 @@ buildPythonPackage rec { license = lib.licenses.cc0; maintainers = with lib.maintainers; [ ambroisie ]; }; -} +}) diff --git a/pkgs/development/python-modules/murmurhash/default.nix b/pkgs/development/python-modules/murmurhash/default.nix index ba1a3caa4d91..83bf70a02d22 100644 --- a/pkgs/development/python-modules/murmurhash/default.nix +++ b/pkgs/development/python-modules/murmurhash/default.nix @@ -3,19 +3,17 @@ buildPythonPackage, cython, fetchPypi, - pythonOlder, + setuptools, }: buildPythonPackage rec { pname = "murmurhash"; - version = "1.0.13"; - format = "setuptools"; - - disabled = pythonOlder "3.6"; + version = "1.0.15"; + pyproject = true; src = fetchPypi { inherit pname version; - hash = "sha256-c3JG1B7gD/dLB7C9HwiIvjBNIDzmaOZCyGqmTt4w+Lc="; + hash = "sha256-WOKye3hH+eKm7fELR6jI3XCkcF9F3Mt792rq2s9WugE="; }; postPatch = '' @@ -23,6 +21,8 @@ buildPythonPackage rec { --replace "'wheel>=0.32.0,<0.33.0'" "" ''; + build-system = [ setuptools ]; + buildInputs = [ cython ]; # No test @@ -33,6 +33,7 @@ buildPythonPackage rec { meta = { description = "Cython bindings for MurmurHash2"; homepage = "https://github.com/explosion/murmurhash"; + changelog = "https://github.com/explosion/murmurhash/releases/tag/release-v${version}"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ aborsu ]; }; diff --git a/pkgs/development/python-modules/netutils/default.nix b/pkgs/development/python-modules/netutils/default.nix index 4f5b83854004..700e5b1e6247 100644 --- a/pkgs/development/python-modules/netutils/default.nix +++ b/pkgs/development/python-modules/netutils/default.nix @@ -13,14 +13,14 @@ buildPythonPackage rec { pname = "netutils"; - version = "1.15.1"; + version = "1.15.2"; pyproject = true; src = fetchFromGitHub { owner = "networktocode"; repo = "netutils"; tag = "v${version}"; - hash = "sha256-bT/a6PhjNZ7vYXio7XOKNnzRfh7UqRn3+OYbhlYL3/I="; + hash = "sha256-2IPmv86b2dvvUTmvSex3hTpBi3CzHJzA5qfM3E7gv08="; }; build-system = [ poetry-core ]; diff --git a/pkgs/development/python-modules/nicegui/default.nix b/pkgs/development/python-modules/nicegui/default.nix index f4a97b00f078..be6dc3bced7d 100644 --- a/pkgs/development/python-modules/nicegui/default.nix +++ b/pkgs/development/python-modules/nicegui/default.nix @@ -43,14 +43,14 @@ buildPythonPackage rec { pname = "nicegui"; - version = "3.1.0"; + version = "3.4.1"; pyproject = true; src = fetchFromGitHub { owner = "zauberzeug"; repo = "nicegui"; tag = "v${version}"; - hash = "sha256-otHPWOdTrlmf2VQUOhr3196MhN6ihk97y5sOEmnXuAw="; + hash = "sha256-fZAGqFQQFLFi5jWlQb1SAQnAFEtt2C07vNZXfyUHIa0="; }; pythonRelaxDeps = [ "requests" ]; diff --git a/pkgs/development/python-modules/openusd/default.nix b/pkgs/development/python-modules/openusd/default.nix index 0354d1c923a6..7b7a8cf09168 100644 --- a/pkgs/development/python-modules/openusd/default.nix +++ b/pkgs/development/python-modules/openusd/default.nix @@ -33,6 +33,7 @@ python, qt6, setuptools, + stdenv, onetbb, withDocs ? false, withOsl ? true, @@ -61,8 +62,6 @@ buildPythonPackage rec { hash = "sha256-gxikEC4MqTkhgYaRsCVYtS/VmXClSaCMdzpQ0LmiR7Q="; }; - stdenv = python.stdenv; - outputs = [ "out" ] ++ lib.optional withDocs "doc"; patches = [ diff --git a/pkgs/development/python-modules/pdfminer-six/default.nix b/pkgs/development/python-modules/pdfminer-six/default.nix index 653ad14c40df..7cfcac144c7f 100644 --- a/pkgs/development/python-modules/pdfminer-six/default.nix +++ b/pkgs/development/python-modules/pdfminer-six/default.nix @@ -12,14 +12,14 @@ buildPythonPackage rec { pname = "pdfminer-six"; - version = "20251107"; + version = "20251227"; pyproject = true; src = fetchFromGitHub { owner = "pdfminer"; repo = "pdfminer.six"; tag = version; - hash = "sha256-PuRxiKL1rLpfdabH3cMywkwBoeImu/yNgEhckLzr0Z4="; + hash = "sha256-O/9B04lLFNoqvvyGAFADuqzIGnthN50V1+PMAFt1ysc="; }; build-system = [ diff --git a/pkgs/development/python-modules/posthog/default.nix b/pkgs/development/python-modules/posthog/default.nix index f2411acfa845..7d99bb575b18 100644 --- a/pkgs/development/python-modules/posthog/default.nix +++ b/pkgs/development/python-modules/posthog/default.nix @@ -10,24 +10,26 @@ monotonic, openai, parameterized, + pytest-asyncio, pytestCheckHook, python-dateutil, + pythonAtLeast, requests, setuptools, six, typing-extensions, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "posthog"; - version = "6.7.0"; + version = "7.0.1"; pyproject = true; src = fetchFromGitHub { owner = "PostHog"; repo = "posthog-python"; - tag = "v${version}"; - hash = "sha256-//PjAWZF6FYsiG9UDg+MPv1x06Yp4msBkYkNAU9Rjsc="; + tag = "v${finalAttrs.version}"; + hash = "sha256-YDW3FneQec09BOUh3wBbgz1ng3n6tkzoAZhIynp4wGA="; }; build-system = [ setuptools ]; @@ -48,6 +50,7 @@ buildPythonPackage rec { mock openai parameterized + pytest-asyncio pytestCheckHook ]; @@ -62,19 +65,22 @@ buildPythonPackage rec { "test_upload" # AssertionError: 2 != 3 "test_flush_interval" + ] + ++ lib.optionals (pythonAtLeast "3.14") [ + # Pydantic V1 functionality isn't compatible with Python 3.14 + "test_clean_pydantic" ]; disabledTestPaths = [ - # Revisit this at the next version bump, issue open upstream - # See https://github.com/PostHog/posthog-python/issues/234 - "posthog/test/ai/openai/test_openai.py" + # Missing parts + "posthog/test/integrations/test_middleware.py" ]; meta = { description = "Module for interacting with PostHog"; homepage = "https://github.com/PostHog/posthog-python"; - changelog = "https://github.com/PostHog/posthog-python/blob/${src.tag}/CHANGELOG.md"; + changelog = "https://github.com/PostHog/posthog-python/blob/${finalAttrs.src.tag}/CHANGELOG.md"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ happysalada ]; }; -} +}) diff --git a/pkgs/development/python-modules/psutil/default.nix b/pkgs/development/python-modules/psutil/default.nix index d1d2f609d652..8a60fac56e20 100644 --- a/pkgs/development/python-modules/psutil/default.nix +++ b/pkgs/development/python-modules/psutil/default.nix @@ -14,8 +14,6 @@ buildPythonPackage rec { version = "7.1.3"; pyproject = true; - inherit stdenv; - src = fetchFromGitHub { owner = "giampaolo"; repo = "psutil"; diff --git a/pkgs/development/python-modules/pyimgbox/default.nix b/pkgs/development/python-modules/pyimgbox/default.nix index 284fcc559774..225ed464998d 100644 --- a/pkgs/development/python-modules/pyimgbox/default.nix +++ b/pkgs/development/python-modules/pyimgbox/default.nix @@ -11,7 +11,7 @@ setuptools, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "pyimgbox"; version = "1.0.7"; pyproject = true; @@ -20,7 +20,7 @@ buildPythonPackage rec { domain = "codeberg.org"; owner = "plotski"; repo = "pyimgbox"; - tag = "v${version}"; + tag = "v${finalAttrs.version}"; hash = "sha256-HYKi5nYXJ+5ytQEFVMMm1HxEsD1zMU7cE2mOdwuZxvk="; }; @@ -48,4 +48,4 @@ buildPythonPackage rec { license = lib.licenses.gpl3Plus; maintainers = with lib.maintainers; [ ambroisie ]; }; -} +}) diff --git a/pkgs/development/python-modules/pylint/default.nix b/pkgs/development/python-modules/pylint/default.nix index 698da478fced..b53e0011d383 100644 --- a/pkgs/development/python-modules/pylint/default.nix +++ b/pkgs/development/python-modules/pylint/default.nix @@ -13,6 +13,7 @@ pytest-timeout, pytest-xdist, pytest7CheckHook, + pythonAtLeast, pythonOlder, requests, setuptools, @@ -96,6 +97,10 @@ buildPythonPackage rec { # AssertionError: assert [('specializa..., 'Ancestor')] == [('aggregatio..., 'Ancestor')] "test_functional_relation_extraction" ] + ++ lib.optionals (pythonAtLeast "3.14") [ + # ModuleNotFoundError: No module named 'completely_unknown' + "test_do_not_import_files_from_local_directory" + ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ "test_parallel_execution" "test_py3k_jobs_option" diff --git a/pkgs/development/python-modules/pyparsebluray/default.nix b/pkgs/development/python-modules/pyparsebluray/default.nix index 100e5d651ba1..024be33d2cd3 100644 --- a/pkgs/development/python-modules/pyparsebluray/default.nix +++ b/pkgs/development/python-modules/pyparsebluray/default.nix @@ -5,7 +5,7 @@ setuptools, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "pyparsebluray"; version = "0.1.4"; pyproject = true; @@ -13,7 +13,7 @@ buildPythonPackage rec { src = fetchFromGitHub { owner = "Ichunjo"; repo = "pyparsebluray"; - tag = version; + tag = finalAttrs.version; hash = "sha256-9G+pf4kZnj5ZkJj8qmymqdxCRVUTfGy3m9iF5BjiCxM="; }; @@ -27,4 +27,4 @@ buildPythonPackage rec { license = lib.licenses.mit; maintainers = with lib.maintainers; [ ambroisie ]; }; -} +}) diff --git a/pkgs/development/python-modules/pypdf3/default.nix b/pkgs/development/python-modules/pypdf3/default.nix index e74677c2b0bd..78b230965674 100644 --- a/pkgs/development/python-modules/pypdf3/default.nix +++ b/pkgs/development/python-modules/pypdf3/default.nix @@ -7,14 +7,14 @@ tqdm, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "pypdf3"; version = "1.0.6"; format = "setuptools"; src = fetchPypi { pname = "PyPDF3"; - inherit version; + inherit (finalAttrs) version; hash = "sha256-yUbzJzQZ43JY415yJz9JkEqxVyPYenYcERXvmXmfjF8="; }; @@ -33,4 +33,4 @@ buildPythonPackage rec { license = lib.licenses.bsd3; maintainers = with lib.maintainers; [ ambroisie ]; }; -} +}) diff --git a/pkgs/development/python-modules/pypika/default.nix b/pkgs/development/python-modules/pypika/default.nix index 11fa9455b4bf..bd29b60e11f6 100644 --- a/pkgs/development/python-modules/pypika/default.nix +++ b/pkgs/development/python-modules/pypika/default.nix @@ -2,32 +2,47 @@ lib, buildPythonPackage, fetchFromGitHub, + fetchpatch, parameterized, unittestCheckHook, + setuptools, }: -buildPythonPackage rec { + +buildPythonPackage (finalAttrs: { pname = "pypika"; version = "0.49.0"; - format = "setuptools"; + pyproject = true; src = fetchFromGitHub { owner = "kayak"; repo = "pypika"; - rev = "v${version}"; + tag = "v${finalAttrs.version}"; hash = "sha256-Lawsc19sJ3U7rCOnYvDWhWqK/J+Hd3zKG6TrhDsTtVs="; }; - pythonImportsCheck = [ "pypika" ]; + patches = [ + # Fix ast deprecation warnings, https://github.com/HENNGE/arsenic/pull/160 + (fetchpatch { + name = "ast-deprecation.patch"; + url = "https://github.com/pyctrl/pypika/commit/e302e4d1c26242bcff61b50e0e8f157f181e1bc0.patch"; + hash = "sha256-pbJwOE5xaAapMKdm1xsNrISbCzHIKuhCgA2lA0vB1T8="; + }) + ]; + + build-system = [ setuptools ]; nativeCheckInputs = [ parameterized unittestCheckHook ]; + pythonImportsCheck = [ "pypika" ]; + meta = { description = "Python SQL query builder"; homepage = "https://github.com/kayak/pypika"; + changelog = "https://github.com/kayak/pypika/releases/tag/${finalAttrs.src.tag}"; license = lib.licenses.asl20; maintainers = [ ]; }; -} +}) diff --git a/pkgs/development/python-modules/pyrdfa3/default.nix b/pkgs/development/python-modules/pyrdfa3/default.nix index e0fab4a58ad9..5a4813d69cfb 100644 --- a/pkgs/development/python-modules/pyrdfa3/default.nix +++ b/pkgs/development/python-modules/pyrdfa3/default.nix @@ -9,7 +9,7 @@ setuptools, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "pyrdfa3"; version = "3.6.4"; pyproject = true; @@ -17,7 +17,7 @@ buildPythonPackage rec { disabled = pythonOlder "3.8"; src = fetchPypi { - inherit pname version; + inherit (finalAttrs) pname version; hash = "sha256-ZHEtGkvyGCllKzlxW62m58A7zxnLSfliwZCjj0YXIkM="; }; @@ -37,8 +37,8 @@ buildPythonPackage rec { meta = { description = "RDFa 1.1 distiller/parser library"; homepage = "https://github.com/prrvchr/pyrdfa3/"; - changelog = "https://github.com/prrvchr/pyrdfa3/releases/tag/v${version}"; + changelog = "https://github.com/prrvchr/pyrdfa3/releases/tag/v${finalAttrs.version}"; license = lib.licenses.w3c; maintainers = with lib.maintainers; [ ambroisie ]; }; -} +}) diff --git a/pkgs/development/python-modules/pytest-describe/default.nix b/pkgs/development/python-modules/pytest-describe/default.nix index a8635b38d0f2..7259cb1aafbe 100644 --- a/pkgs/development/python-modules/pytest-describe/default.nix +++ b/pkgs/development/python-modules/pytest-describe/default.nix @@ -15,7 +15,7 @@ let pname = "pytest-describe"; - version = "3.0.0"; + version = "3.1.0"; in buildPythonPackage { inherit pname version; @@ -25,7 +25,7 @@ buildPythonPackage { owner = "pytest-dev"; repo = "pytest-describe"; tag = version; - hash = "sha256-rMO+Hkz3iWFML8UUq4aDl+t7epzqXmYGZrgRB9OYf6w="; + hash = "sha256-ygrZwd1cO9arekdzqn5Axjz4i9Q0QKFA/OS6QSIvP9Y="; }; build-system = [ uv-build ]; diff --git a/pkgs/development/python-modules/pytest-gitconfig/default.nix b/pkgs/development/python-modules/pytest-gitconfig/default.nix index b1f5e4206e50..a243a4063291 100644 --- a/pkgs/development/python-modules/pytest-gitconfig/default.nix +++ b/pkgs/development/python-modules/pytest-gitconfig/default.nix @@ -8,16 +8,16 @@ pytestCheckHook, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "pytest-gitconfig"; - version = "0.8.0"; + version = "0.9.0"; pyproject = true; src = fetchFromGitHub { owner = "noirbizarre"; repo = "pytest-gitconfig"; - tag = version; - hash = "sha256-5DfG74mEvsWHH2xPyG1mNcWp9/DgpveLbaSEOoRzD+g="; + tag = finalAttrs.version; + hash = "sha256-z3W9AL74i47k/eYCbFMn3foVaD2h7lFrGzyOnbDwkyc="; }; build-system = [ pdm-backend ]; @@ -34,8 +34,8 @@ buildPythonPackage rec { meta = { description = "Pytest gitconfig sandbox"; homepage = "https://github.com/noirbizarre/pytest-gitconfig"; - changelog = "https://github.com/noirbizarre/pytest-gitconfig/blob/${src.rev}/CHANGELOG.md"; + changelog = "https://github.com/noirbizarre/pytest-gitconfig/blob/${finalAttrs.src.rev}/CHANGELOG.md"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ fab ]; }; -} +}) diff --git a/pkgs/development/python-modules/python-mapnik/default.nix b/pkgs/development/python-modules/python-mapnik/default.nix index 5a37c6cc8d32..8c5874ea7f19 100644 --- a/pkgs/development/python-modules/python-mapnik/default.nix +++ b/pkgs/development/python-modules/python-mapnik/default.nix @@ -5,6 +5,7 @@ replaceVars, isPyPy, python, + stdenv, setuptools, pillow, pycairo, @@ -27,7 +28,7 @@ pybind11, }: -buildPythonPackage rec { +buildPythonPackage { pname = "python-mapnik"; version = "4.1.3.unstable-2025-09-25"; pyproject = true; @@ -49,8 +50,6 @@ buildPythonPackage rec { }) ]; - stdenv = python.stdenv; - build-system = [ setuptools ]; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/pytorch-tokenizers/add-missing-cstdint-sentencepiece.patch b/pkgs/development/python-modules/pytorch-tokenizers/add-missing-cstdint-sentencepiece.patch new file mode 100644 index 000000000000..95556a83da45 --- /dev/null +++ b/pkgs/development/python-modules/pytorch-tokenizers/add-missing-cstdint-sentencepiece.patch @@ -0,0 +1,13 @@ +Submodule third-party/sentencepiece contains modified content +diff --git a/third-party/sentencepiece/src/sentencepiece_processor.h b/third-party/sentencepiece/src/sentencepiece_processor.h +index dd3f092..553fbff 100644 +--- a/third-party/sentencepiece/src/sentencepiece_processor.h ++++ b/third-party/sentencepiece/src/sentencepiece_processor.h +@@ -16,6 +16,7 @@ + #define SENTENCEPIECE_PROCESSOR_H_ + + #include ++#include + #include + #include + #include diff --git a/pkgs/development/python-modules/pytorch-tokenizers/default.nix b/pkgs/development/python-modules/pytorch-tokenizers/default.nix index e87b613b887a..10f2835577f5 100644 --- a/pkgs/development/python-modules/pytorch-tokenizers/default.nix +++ b/pkgs/development/python-modules/pytorch-tokenizers/default.nix @@ -45,6 +45,8 @@ buildPythonPackage rec { (replaceVars ./dont-fetch-pybind11.patch { pybind11 = pybind11-src; }) + # error: ‘uint32_t’ does not name a type + ./add-missing-cstdint-sentencepiece.patch ]; postPatch = '' diff --git a/pkgs/development/python-modules/recipe-scrapers/default.nix b/pkgs/development/python-modules/recipe-scrapers/default.nix index 46372966bb99..dbbc5bf6de11 100644 --- a/pkgs/development/python-modules/recipe-scrapers/default.nix +++ b/pkgs/development/python-modules/recipe-scrapers/default.nix @@ -15,7 +15,7 @@ nixosTests, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "recipe-scrapers"; version = "15.11.0"; pyproject = true; @@ -25,7 +25,7 @@ buildPythonPackage rec { src = fetchFromGitHub { owner = "hhursev"; repo = "recipe-scrapers"; - tag = version; + tag = finalAttrs.version; hash = "sha256-S0/RPVeEr/lAPJZSUwCippuXyirYnmaAuesWGYwg6kE="; }; @@ -64,8 +64,8 @@ buildPythonPackage rec { meta = { description = "Python package for scraping recipes data"; homepage = "https://github.com/hhursev/recipe-scrapers"; - changelog = "https://github.com/hhursev/recipe-scrapers/releases/tag/${src.tag}"; + changelog = "https://github.com/hhursev/recipe-scrapers/releases/tag/${finalAttrs.version}"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ ambroisie ]; }; -} +}) diff --git a/pkgs/development/python-modules/reflink-copy/default.nix b/pkgs/development/python-modules/reflink-copy/default.nix index 9cc908b73f49..714b19bac5cd 100644 --- a/pkgs/development/python-modules/reflink-copy/default.nix +++ b/pkgs/development/python-modules/reflink-copy/default.nix @@ -6,7 +6,7 @@ pytestCheckHook, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "reflink-copy"; version = "0.3.3"; pyproject = true; @@ -14,12 +14,12 @@ buildPythonPackage rec { src = fetchFromGitHub { owner = "iterative"; repo = "reflink-copy"; - tag = version; + tag = finalAttrs.version; hash = "sha256-HxUAsqV5kjstfBfY/nEGJ3epUVT5WXoTqKerUggKDyo="; }; cargoDeps = rustPlatform.fetchCargoVendor { - inherit pname version src; + inherit (finalAttrs) pname version src; hash = "sha256-TBKVf0kRRYn+1aYvhQHCHmJEsT0khFxp8iuyEWX9xyI="; }; @@ -38,4 +38,4 @@ buildPythonPackage rec { license = lib.licenses.asl20; maintainers = with lib.maintainers; [ ambroisie ]; }; -} +}) diff --git a/pkgs/development/python-modules/simple-websocket/default.nix b/pkgs/development/python-modules/simple-websocket/default.nix index a4da26a4bdde..66de62481a04 100644 --- a/pkgs/development/python-modules/simple-websocket/default.nix +++ b/pkgs/development/python-modules/simple-websocket/default.nix @@ -2,23 +2,21 @@ lib, buildPythonPackage, fetchFromGitHub, - pytestCheckHook, - pythonOlder, setuptools, wsproto, + pythonAtLeast, + pytestCheckHook, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "simple-websocket"; version = "1.1.0"; pyproject = true; - disabled = pythonOlder "3.11"; - src = fetchFromGitHub { owner = "miguelgrinberg"; repo = "simple-websocket"; - tag = "v${version}"; + tag = "v${finalAttrs.version}"; hash = "sha256-dwL6GUyygNGBXqkkTnsHwFFpa1JAaeWc9ycQNRgTN4I="; }; @@ -33,13 +31,17 @@ buildPythonPackage rec { disabledTests = [ # Tests require network access "SimpleWebSocketClientTestCase" + ] + ++ lib.optionals (pythonAtLeast "3.14") [ + # RuntimeError: There is no current event loop in thread 'MainThread' + "AioSimpleWebSocketServerTestCase" ]; meta = { description = "Simple WebSocket server and client for Python"; homepage = "https://github.com/miguelgrinberg/simple-websocket"; - changelog = "https://github.com/miguelgrinberg/simple-websocket/blob/${version}/CHANGES.md"; + changelog = "https://github.com/miguelgrinberg/simple-websocket/blob/${finalAttrs.src.tag}/CHANGES.md"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ fab ]; }; -} +}) diff --git a/pkgs/development/python-modules/starlette-admin/default.nix b/pkgs/development/python-modules/starlette-admin/default.nix index ba2cf376223d..5c341d6d7a4a 100644 --- a/pkgs/development/python-modules/starlette-admin/default.nix +++ b/pkgs/development/python-modules/starlette-admin/default.nix @@ -3,15 +3,26 @@ stdenv, buildPythonPackage, fetchFromGitHub, + pythonAtLeast, + + # build-system hatchling, + + # dependencies + jinja2, + python-multipart, + starlette, + + # optional-dependencies + babel, + + # tests aiosqlite, arrow, - babel, cacert, colour, fasteners, httpx, - jinja2, mongoengine, motor, passlib, @@ -21,25 +32,23 @@ pydantic, pytest-asyncio, pytestCheckHook, - python-multipart, requests, sqlalchemy, sqlalchemy-file, sqlalchemy-utils, sqlmodel, - starlette, }: buildPythonPackage rec { pname = "starlette-admin"; - version = "0.15.1"; + version = "0.16.0"; pyproject = true; src = fetchFromGitHub { owner = "jowilf"; repo = "starlette-admin"; tag = version; - hash = "sha256-yPePxdKrg41kycXl1fDKf1jWx0YD+K26w8z2LmQV0g0="; + hash = "sha256-JVvrfbyKillkx6fOx4DEbHZoHIPxF1Gn3HzkxyJc66o="; }; build-system = [ hatchling ]; @@ -85,12 +94,17 @@ buildPythonPackage rec { export LOCAL_PATH="$PWD/.storage" ''; - disabledTests = lib.optionals stdenv.hostPlatform.isDarwin [ - # flaky, depends on test order - "test_ensuring_pk" - # flaky, of-by-one - "test_api" - ]; + disabledTests = + lib.optionals (pythonAtLeast "3.14") [ + # AssertionError: Regex pattern did not match + "test_not_supported_annotation" + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + # flaky, depends on test order + "test_ensuring_pk" + # flaky, of-by-one + "test_api" + ]; disabledTestPaths = [ # odmantic is not packaged diff --git a/pkgs/development/python-modules/tencentcloud-sdk-python/default.nix b/pkgs/development/python-modules/tencentcloud-sdk-python/default.nix index 0727c34b77a6..35f6c25eca4a 100644 --- a/pkgs/development/python-modules/tencentcloud-sdk-python/default.nix +++ b/pkgs/development/python-modules/tencentcloud-sdk-python/default.nix @@ -7,16 +7,16 @@ setuptools, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "tencentcloud-sdk-python"; - version = "3.1.24"; + version = "3.1.26"; pyproject = true; src = fetchFromGitHub { owner = "TencentCloud"; repo = "tencentcloud-sdk-python"; - tag = version; - hash = "sha256-jRuQOcmBBbzpQHapezXmHwCfGJXv6zkXrdpW+W8biaQ="; + tag = finalAttrs.version; + hash = "sha256-5A3IQUEz+LtsiirNJeVeHawrvlJ2s3UTXXYGAYrPM74="; }; build-system = [ setuptools ]; @@ -38,8 +38,8 @@ buildPythonPackage rec { meta = { description = "Tencent Cloud API 3.0 SDK for Python"; homepage = "https://github.com/TencentCloud/tencentcloud-sdk-python"; - changelog = "https://github.com/TencentCloud/tencentcloud-sdk-python/blob/${version}/CHANGELOG.md"; + changelog = "https://github.com/TencentCloud/tencentcloud-sdk-python/blob/${finalAttrs.src.tag}/CHANGELOG.md"; license = lib.licenses.asl20; maintainers = with lib.maintainers; [ fab ]; }; -} +}) diff --git a/pkgs/development/python-modules/torchaudio/default.nix b/pkgs/development/python-modules/torchaudio/default.nix index 1b22d4efdf59..afea38e2ab98 100644 --- a/pkgs/development/python-modules/torchaudio/default.nix +++ b/pkgs/development/python-modules/torchaudio/default.nix @@ -74,14 +74,13 @@ let else throw "No GPU targets specified" ); + stdenv = torch.stdenv; in -buildPythonPackage rec { +buildPythonPackage.override { inherit stdenv; } rec { pname = "torchaudio"; version = "2.9.1"; pyproject = true; - stdenv = torch.stdenv; - src = fetchFromGitHub { owner = "pytorch"; repo = "audio"; diff --git a/pkgs/development/python-modules/torchvision/default.nix b/pkgs/development/python-modules/torchvision/default.nix index c13be8dfb523..ce38cc74401c 100644 --- a/pkgs/development/python-modules/torchvision/default.nix +++ b/pkgs/development/python-modules/torchvision/default.nix @@ -30,12 +30,10 @@ let pname = "torchvision"; version = "0.24.1"; in -buildPythonPackage { +buildPythonPackage.override { stdenv = torch.stdenv; } { format = "setuptools"; inherit pname version; - stdenv = torch.stdenv; - src = fetchFromGitHub { owner = "pytorch"; repo = "vision"; diff --git a/pkgs/development/python-modules/torf/default.nix b/pkgs/development/python-modules/torf/default.nix index c467e3b373de..625e2e91d37b 100644 --- a/pkgs/development/python-modules/torf/default.nix +++ b/pkgs/development/python-modules/torf/default.nix @@ -17,7 +17,7 @@ pytestCheckHook, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "torf"; version = "4.3.0"; pyproject = true; @@ -25,7 +25,7 @@ buildPythonPackage rec { src = fetchFromGitHub { owner = "rndusr"; repo = "torf"; - tag = "v${version}"; + tag = "v${finalAttrs.version}"; hash = "sha256-vJapB4Tbn3tLLUIH9LemU9kTqG7TsByiotkWM52lsno="; }; @@ -67,4 +67,4 @@ buildPythonPackage rec { license = lib.licenses.gpl3Plus; maintainers = with lib.maintainers; [ ambroisie ]; }; -} +}) diff --git a/pkgs/development/python-modules/tuf/default.nix b/pkgs/development/python-modules/tuf/default.nix index d8245d540bb6..69e6e86710b4 100644 --- a/pkgs/development/python-modules/tuf/default.nix +++ b/pkgs/development/python-modules/tuf/default.nix @@ -1,17 +1,23 @@ { lib, buildPythonPackage, - ed25519, - freezegun, fetchFromGitHub, - hatchling, - pytestCheckHook, + + # build-system flit-core, + hatchling, + + # dependencies requests, securesystemslib, + + # tests + ed25519, + freezegun, + pytestCheckHook, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "tuf"; version = "6.0.0"; pyproject = true; @@ -19,10 +25,15 @@ buildPythonPackage rec { src = fetchFromGitHub { owner = "theupdateframework"; repo = "python-tuf"; - tag = "v${version}"; + tag = "v${finalAttrs.version}"; hash = "sha256-CPbZOpUYi7MWKLMj7kwTsmEkxLCf4wU7IOCcbzMkPlU="; }; + postPatch = '' + substituteInPlace pyproject.toml \ + --replace-fail "hatchling==1.27.0" "hatchling" + ''; + build-system = [ flit-core hatchling @@ -37,12 +48,9 @@ buildPythonPackage rec { __darwinAllowLocalNetworking = true; - checkInputs = [ - freezegun - ]; - nativeCheckInputs = [ ed25519 + freezegun pytestCheckHook ]; @@ -55,11 +63,11 @@ buildPythonPackage rec { meta = { description = "Python reference implementation of The Update Framework (TUF)"; homepage = "https://github.com/theupdateframework/python-tuf"; - changelog = "https://github.com/theupdateframework/python-tuf/blob/v${version}/docs/CHANGELOG.md"; + changelog = "https://github.com/theupdateframework/python-tuf/blob/${finalAttrs.src.tag}/docs/CHANGELOG.md"; license = with lib.licenses; [ asl20 mit ]; maintainers = with lib.maintainers; [ fab ]; }; -} +}) diff --git a/pkgs/development/python-modules/verilogae/default.nix b/pkgs/development/python-modules/verilogae/default.nix index 2e159af68a70..a60e2498e9d0 100644 --- a/pkgs/development/python-modules/verilogae/default.nix +++ b/pkgs/development/python-modules/verilogae/default.nix @@ -14,13 +14,11 @@ zlib, }: -buildPythonPackage rec { +buildPythonPackage.override { stdenv = llvmPackages.stdenv; } rec { pname = "verilogae"; version = "24.0.0mob-unstable-2025-07-21"; pyproject = true; - stdenv = llvmPackages.stdenv; - src = fetchFromGitHub { owner = "OpenVAF"; repo = "OpenVAF-Reloaded"; diff --git a/pkgs/development/python-modules/vllm/default.nix b/pkgs/development/python-modules/vllm/default.nix index 22211f4d38bd..ea1a1c1f625f 100644 --- a/pkgs/development/python-modules/vllm/default.nix +++ b/pkgs/development/python-modules/vllm/default.nix @@ -313,13 +313,11 @@ let in -buildPythonPackage rec { +buildPythonPackage.override { stdenv = torch.stdenv; } rec { pname = "vllm"; version = "0.13.0"; pyproject = true; - stdenv = torch.stdenv; - src = fetchFromGitHub { owner = "vllm-project"; repo = "vllm"; diff --git a/pkgs/development/python-modules/warp-lang/default.nix b/pkgs/development/python-modules/warp-lang/default.nix index ca97757e3ff3..d9550d87bd0f 100644 --- a/pkgs/development/python-modules/warp-lang/default.nix +++ b/pkgs/development/python-modules/warp-lang/default.nix @@ -43,7 +43,7 @@ let libmathdx = callPackage ./libmathdx.nix { }; in -buildPythonPackage { +buildPythonPackage.override { stdenv = effectiveStdenv; } { pname = "warp-lang"; inherit version; pyproject = true; @@ -53,8 +53,6 @@ buildPythonPackage { # provided by NVCC. __structuredAttrs = true; - stdenv = effectiveStdenv; - src = fetchFromGitHub { owner = "NVIDIA"; repo = "warp"; diff --git a/pkgs/development/python-modules/whey/default.nix b/pkgs/development/python-modules/whey/default.nix index 415bd2a09023..894572461032 100644 --- a/pkgs/development/python-modules/whey/default.nix +++ b/pkgs/development/python-modules/whey/default.nix @@ -76,6 +76,7 @@ buildPythonPackage rec { meta = { description = "Simple Python wheel builder for simple projects"; homepage = "https://github.com/repo-helper/whey"; + changelog = "https://github.com/repo-helper/whey/releases/tag/${src.tag}"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ tyberius-prime ]; }; diff --git a/pkgs/development/python-modules/xformers/default.nix b/pkgs/development/python-modules/xformers/default.nix index a39f5154cf3d..8054520520d9 100644 --- a/pkgs/development/python-modules/xformers/default.nix +++ b/pkgs/development/python-modules/xformers/default.nix @@ -35,8 +35,9 @@ let # version 0.0.32.post2 was confirmed to break CUDA. # Remove this note once the latest published revision "just works". version = "0.0.30"; + effectiveStdenv = if cudaSupport then cudaPackages.backendStdenv else stdenv; in -buildPythonPackage { +buildPythonPackage.override { stdenv = effectiveStdenv; } { pname = "xformers"; inherit version; pyproject = true; @@ -66,8 +67,6 @@ buildPythonPackage { TORCH_CUDA_ARCH_LIST = "${lib.concatStringsSep ";" torch.cudaCapabilities}"; }; - stdenv = if cudaSupport then cudaPackages.backendStdenv else stdenv; - buildInputs = lib.optional stdenv.hostPlatform.isDarwin openmp ++ lib.optionals cudaSupport ( diff --git a/pkgs/development/rocm-modules/6/release-attrPaths.json b/pkgs/development/rocm-modules/6/release-attrPaths.json index c77c53292c73..286734db1920 100644 --- a/pkgs/development/rocm-modules/6/release-attrPaths.json +++ b/pkgs/development/rocm-modules/6/release-attrPaths.json @@ -18,6 +18,7 @@ "audiobookshelf", "babeldoc", "backgroundremover", + "blender", "btop", "btop-cuda", "c3d", diff --git a/pkgs/games/dwarf-fortress/df.lock.json b/pkgs/games/dwarf-fortress/df.lock.json index b3fda97b6897..e17862c54e9c 100644 --- a/pkgs/games/dwarf-fortress/df.lock.json +++ b/pkgs/games/dwarf-fortress/df.lock.json @@ -1,28 +1,28 @@ { "game": { "latest": { - "linux": "53.06", + "linux": "53.08", "darwin": "0.47.05" }, "versions": { - "53.06": { + "53.08": { "df": { - "version": "53.06", + "version": "53.08", "urls": { "linux": { - "url": "https://www.bay12games.com/dwarves/df_53_06_linux.tar.bz2", - "outputHash": "sha256-PSoYP9XVgAYMPih3uP2pCMwkWic3jPkz+V5j9g0KO1A=" + "url": "https://www.bay12games.com/dwarves/df_53_08_linux.tar.bz2", + "outputHash": "sha256-0h6vA9n33Qt/y4v9UIuQl7p//SuQOkRV8Moe3MYAfIw=" } } }, "hack": { - "version": "53.06-r1", + "version": "53.08-r1", "git": { "url": "https://github.com/DFHack/dfhack.git", - "revision": "53.06-r1", - "outputHash": "sha256-tjhfr7UKGaiuzjanFrYeG8CS20EDjPchB2fQr/hz9HI=" + "revision": "53.08-r1", + "outputHash": "sha256-LM3lsM1SZR1fKyhfTdbYBOYe+qbGcIkpvJYT3j16OSM=" }, - "xmlRev": "24322fe4a30209399c1c5fe903726828edd9032b" + "xmlRev": "da0b52eb3ad79866b1228a880be3b734cfac7b55" } }, "52.05": { diff --git a/pkgs/games/dwarf-fortress/dfhack/default.nix b/pkgs/games/dwarf-fortress/dfhack/default.nix index 18c080f9d510..25530140c90a 100644 --- a/pkgs/games/dwarf-fortress/dfhack/default.nix +++ b/pkgs/games/dwarf-fortress/dfhack/default.nix @@ -4,14 +4,16 @@ fetchFromGitHub, fetchpatch, cmake, + fmt, ninja, writeScriptBin, + writeText, perl, XMLLibXML, XMLLibXSLT, makeWrapper, zlib, - enableStoneSense ? false, + enableStoneSense ? true, allegro5, libGLU, libGL, @@ -81,9 +83,25 @@ let elif [ "$*" = "rev-parse HEAD:library/xml" ]; then echo "${xmlRev}" else + echo "Unhandled git command: '$*'" >&2 exit 1 fi ''; + + needFetchOverrides = versionAtLeast version "53.07-r1"; + + fetchOverrides = writeText "fetch-overrides.cmake" '' + include_guard(GLOBAL) + function(cmake_language_dependency_provider method package_name) + if(package_name STREQUAL "fmt") + find_package(fmt CONFIG QUIET) + if(fmt_FOUND) + set(''${package_name}_PROVIDER_SATISFIED TRUE PARENT_SCOPE) + return() + endif() + endif() + endfunction() + ''; in stdenv.mkDerivation { pname = "dfhack"; @@ -150,6 +168,9 @@ stdenv.mkDerivation { allegro5 libGLU libGL + ] + ++ optionals needFetchOverrides [ + fmt ]; preConfigure = '' @@ -173,6 +194,10 @@ stdenv.mkDerivation { ++ optionals enableStoneSense [ "-DBUILD_STONESENSE=ON" "-DSTONESENSE_INTERNAL_SO=OFF" + ] + ++ optionals needFetchOverrides [ + "-DFETCHCONTENT_FULLY_DISCONNECTED=ON" + "-DCMAKE_PROJECT_TOP_LEVEL_INCLUDES=${fetchOverrides}" ]; NIX_CFLAGS_COMPILE = [ diff --git a/pkgs/games/dwarf-fortress/wrapper/default.nix b/pkgs/games/dwarf-fortress/wrapper/default.nix index 6321e88d3dd6..8c941c8879bd 100644 --- a/pkgs/games/dwarf-fortress/wrapper/default.nix +++ b/pkgs/games/dwarf-fortress/wrapper/default.nix @@ -18,7 +18,7 @@ expect, xvfb-run, writeText, - enableStoneSense ? false, + enableStoneSense ? enableDFHack, enableTWBT ? false, twbt, themes ? { }, diff --git a/pkgs/servers/home-assistant/custom-components/homematicip_local/package.nix b/pkgs/servers/home-assistant/custom-components/homematicip_local/package.nix index 45b3718be15b..2a7660dad059 100644 --- a/pkgs/servers/home-assistant/custom-components/homematicip_local/package.nix +++ b/pkgs/servers/home-assistant/custom-components/homematicip_local/package.nix @@ -13,13 +13,13 @@ buildHomeAssistantComponent rec { owner = "SukramJ"; domain = "homematicip_local"; - version = "2.0.2"; + version = "2.0.4"; src = fetchFromGitHub { owner = "SukramJ"; repo = "custom_homematic"; tag = version; - hash = "sha256-r/VKs5npPNoOZmWQmpoyEgCjRBZz8KEpNeLFVo5PECo="; + hash = "sha256-lcw1N2xnM+CkzLCSVkp9R/+AEoWUQTnDkGo+q4R21ZU="; }; postPatch = '' diff --git a/pkgs/servers/jackett/default.nix b/pkgs/servers/jackett/default.nix index 6e3775e63816..2e68bcfc40c2 100644 --- a/pkgs/servers/jackett/default.nix +++ b/pkgs/servers/jackett/default.nix @@ -11,13 +11,13 @@ buildDotnetModule rec { pname = "jackett"; - version = "0.24.532"; + version = "0.24.645"; src = fetchFromGitHub { owner = "jackett"; repo = "jackett"; tag = "v${version}"; - hash = "sha256-9dLBQOAyR2oyN1lGLPN/QLZtGLASRKUXUCLCdvqOmmE="; + hash = "sha256-nb5WDMhba4kTGxtX4rLLZdM9iJI6dM6kPBu3hht/CYk="; }; projectFile = "src/Jackett.Server/Jackett.Server.csproj"; diff --git a/pkgs/test/default.nix b/pkgs/test/default.nix index 4c613135e977..d1449a1f7f91 100644 --- a/pkgs/test/default.nix +++ b/pkgs/test/default.nix @@ -191,6 +191,8 @@ in trivial-builders = callPackage ../build-support/trivial-builders/test/default.nix { }; + vmTools = callPackage ../build-support/vm/test.nix { }; + writers = callPackage ../build-support/writers/test.nix { }; testers = callPackage ../build-support/testers/test/default.nix { }; @@ -246,4 +248,8 @@ in build-environment-info = callPackage ./build-environment-info { }; rust-hooks = recurseIntoAttrs (callPackages ../build-support/rust/hooks/test { }); + + prefer-remote-fetch = recurseIntoAttrs ( + callPackages ../build-support/prefer-remote-fetch/tests.nix { } + ); } diff --git a/pkgs/test/overriding.nix b/pkgs/test/overriding.nix index 9ee13e3778d2..9d2d0612d23a 100644 --- a/pkgs/test/overriding.nix +++ b/pkgs/test/overriding.nix @@ -446,20 +446,6 @@ let expr = package-stub-libcxx.stdenv; expected = pkgs.libcxxStdenv; }; - overridePythonAttrs-stdenv-deprecated = { - expr = - (package-stub.overridePythonAttrs (_: { - stdenv = pkgs.clangStdenv; - })).stdenv; - expected = pkgs.clangStdenv; - }; - overridePythonAttrs-override-clangStdenv-deprecated-nested = { - expr = - (package-stub-gcc.overridePythonAttrs { - stdenv = pkgs.clangStdenv; - }).stdenv; - expected = pkgs.clangStdenv; - }; overridePythonAttrs = { expr = (applyOverridePythonAttrs package-stub).overridePythonAttrsFlag; diff --git a/pkgs/tools/misc/file/default.nix b/pkgs/tools/misc/file/default.nix index c96214519966..34f58c1f92a8 100644 --- a/pkgs/tools/misc/file/default.nix +++ b/pkgs/tools/misc/file/default.nix @@ -2,7 +2,7 @@ lib, stdenv, fetchurl, - file, + buildPackages, zlib, libgnurx, updateAutotoolsGnuConfigScriptsHook, @@ -51,14 +51,16 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ updateAutotoolsGnuConfigScriptsHook - ] - ++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) file; + ]; buildInputs = [ zlib ] ++ lib.optional stdenv.hostPlatform.isMinGW libgnurx; # https://bugs.astron.com/view.php?id=382 doCheck = !stdenv.buildPlatform.isMusl; - makeFlags = lib.optional stdenv.hostPlatform.isWindows "FILE_COMPILE=file"; + # In native builds, it will use the newly-compiled file instead. + makeFlags = lib.optional ( + !lib.systems.equals stdenv.hostPlatform stdenv.buildPlatform + ) "FILE_COMPILE=${lib.getExe buildPackages.file}"; passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; diff --git a/pkgs/tools/package-management/lix/common-lix.nix b/pkgs/tools/package-management/lix/common-lix.nix index f792ad9b561d..7e0ddc4f4846 100644 --- a/pkgs/tools/package-management/lix/common-lix.nix +++ b/pkgs/tools/package-management/lix/common-lix.nix @@ -196,7 +196,6 @@ stdenv.mkDerivation (finalAttrs: { curl capnproto editline - libsodium openssl sqlite xz @@ -295,9 +294,21 @@ stdenv.mkDerivation (finalAttrs: { ] ++ lib.optionals - (stdenv.hostPlatform.isLinux && finalAttrs.doInstallCheck && lib.versionAtLeast version "2.94") + ( + stdenv.hostPlatform.isLinux + && finalAttrs.doInstallCheck + && lib.versionAtLeast version "2.94" + && lib.versionOlder version "2.95" + ) [ (lib.mesonOption "build-test-shell" "${pkgsStatic.busybox}/bin") + ] + ++ + lib.optionals + (stdenv.hostPlatform.isLinux && finalAttrs.doInstallCheck && lib.versionAtLeast version "2.95") + [ + (lib.mesonOption "build-test-env" "${pkgsStatic.busybox}/bin") + (lib.mesonOption "build-test-shell" "${pkgsStatic.bash}/bin") ]; ninjaFlags = [ "-v" ]; @@ -347,7 +358,8 @@ stdenv.mkDerivation (finalAttrs: { rapidcheck ]; - doInstallCheck = true; + # Python splices are broken (https://github.com/NixOS/nixpkgs/issues/476822), causing build failure in `buildPackages.python3Packages.bcrypt`. + doInstallCheck = stdenv.buildPlatform == stdenv.hostPlatform; mesonInstallCheckFlags = [ "--suite=installcheck" "--print-errorlogs" diff --git a/pkgs/tools/package-management/lix/default.nix b/pkgs/tools/package-management/lix/default.nix index 80df0b52c248..814bd457e050 100644 --- a/pkgs/tools/package-management/lix/default.nix +++ b/pkgs/tools/package-management/lix/default.nix @@ -265,14 +265,14 @@ lib.makeExtensible ( attrName = "git"; lix-args = rec { - version = "2.95.0-pre-20251121_${builtins.substring 0 12 src.rev}"; + version = "2.95.0-pre-20260103_${builtins.substring 0 12 src.rev}"; src = fetchFromGitea { domain = "git.lix.systems"; owner = "lix-project"; repo = "lix"; - rev = "b707403a308030739dfeacc5b0aaaeef8ba3f633"; - hash = "sha256-kas7FT2J86DVJlPH5dNNHM56OgdQQyfCE/dX/EOKDp8="; + rev = "d387c9113c73f04bed46dbdd59b6c36de2253d73"; + hash = "sha256-jYUcmXA4FNwoJtxRgH+Be96wQv8h9Y9dByYf+KmcgK4="; }; cargoDeps = rustPlatform.fetchCargoVendor { @@ -280,8 +280,6 @@ lib.makeExtensible ( inherit src; hash = "sha256-APm8m6SVEAO17BBCka13u85/87Bj+LePP7Y3zHA3Mpg="; }; - - patches = [ lixMdbookPatch ]; }; }; diff --git a/pkgs/tools/package-management/nix/default.nix b/pkgs/tools/package-management/nix/default.nix index 72914913e83d..a76afd838755 100644 --- a/pkgs/tools/package-management/nix/default.nix +++ b/pkgs/tools/package-management/nix/default.nix @@ -198,25 +198,17 @@ lib.makeExtensible ( nix_2_31 = addTests "nix_2_31" self.nixComponents_2_31.nix-everything; - nixComponents_2_32 = - (nixDependencies.callPackage ./modular/packages.nix rec { - version = "2.32.4"; - inherit (self.nix_2_31.meta) maintainers teams; - otherSplices = generateSplicesForNixComponents "nixComponents_2_32"; - src = fetchFromGitHub { - owner = "NixOS"; - repo = "nix"; - tag = version; - hash = "sha256-8QYnRyGOTm3h/Dp8I6HCmQzlO7C009Odqyp28pTWgcY="; - }; - }).appendPatches - [ - (fetchpatch2 { - name = "nix-2.32-14693-mdbook-0.5-support.patch"; - url = "https://github.com/NixOS/nix/commit/ba5bede9f51f126b29aaa01a3170da281cef0231.patch"; - hash = "sha256-jY5fWnJSBfHRmB0RnBKeu3aYQ8wmDKYVqTj85cWVZRA="; - }) - ]; + nixComponents_2_32 = nixDependencies.callPackage ./modular/packages.nix rec { + version = "2.32.5"; + inherit (self.nix_2_31.meta) maintainers teams; + otherSplices = generateSplicesForNixComponents "nixComponents_2_32"; + src = fetchFromGitHub { + owner = "NixOS"; + repo = "nix"; + tag = version; + hash = "sha256-vnlVgJ5VXn2LVvdzf1HUZeGq0pqa6vII11C8u5Q/YgM="; + }; + }; nix_2_32 = addTests "nix_2_32" self.nixComponents_2_32.nix-everything; diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 5942875ddb87..4d7c96aa9f28 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -364,6 +364,7 @@ mapAliases { bitwarden_rs-sqlite = throw "'bitwarden_rs-sqlite' has been renamed to/replaced by 'vaultwarden-sqlite'"; # Converted to throw 2025-10-27 bitwarden_rs-vault = throw "'bitwarden_rs-vault' has been renamed to/replaced by 'vaultwarden-vault'"; # Converted to throw 2025-10-27 blas-reference = throw "blas-reference has been removed since it has been discontinued as free-standing package. It is now contained within lapack-reference."; # Added 2025-10-21 + blender-hip = throw "blender-hip has been removed in favor of setting `config.rocmSupport = true` or using `pkgsRocm.blender`"; # Added 2026-01-04 blender-with-packages = throw "blender-with-packages is deprecated in in favor of blender.withPackages, e.g. `blender.withPackages(ps: [ ps.foobar ])`"; # Converted to throw 2025-10-26 blockbench-electron = throw "'blockbench-electron' has been renamed to/replaced by 'blockbench'"; # Converted to throw 2025-10-27 bloomeetunes = throw "bloomeetunes is unmaintained and has been removed"; # Added 2025-08-26 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 54d26d20e065..4eecb00caab0 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -830,8 +830,9 @@ with pkgs; inherit (darwin) signingUtils; }; - # No callPackage. In particular, we don't want `img` *package* in parameters. - vmTools = makeOverridable (import ../build-support/vm) { inherit pkgs lib; }; + vmTools = callPackage ../build-support/vm { + img = stdenv.hostPlatform.linux-kernel.target; + }; releaseTools = callPackage ../build-support/release { }; @@ -10347,8 +10348,6 @@ with pkgs; pinentry = pinentry-curses; }; - blender-hip = blender.override { hipSupport = true; }; - blucontrol = callPackage ../applications/misc/blucontrol/wrapper.nix { inherit (haskellPackages) ghcWithPackages; }; diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix index db0116e80d75..d45ed5935a2d 100644 --- a/pkgs/top-level/ocaml-packages.nix +++ b/pkgs/top-level/ocaml-packages.nix @@ -660,6 +660,8 @@ let frama-c-lannotate = callPackage ../development/ocaml-modules/frama-c-lannotate { }; + frama-c-luncov = callPackage ../development/ocaml-modules/frama-c-luncov { }; + frei0r = callPackage ../development/ocaml-modules/frei0r { inherit (pkgs) frei0r; }; diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 968612bf3171..e15319aa85d9 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -18100,9 +18100,12 @@ with self; url = "mirror://cpan/authors/id/I/IS/ISHIGAKI/JSON-4.10.tar.gz"; hash = "sha256-34tRQ9mn3pnEe1XxoXC9H2n3EZNcGGptwKtW3QV1jjU="; }; - # Do not abort cross-compilation on failure to load native JSON module into host perl + # Force core provided JSON::PP backend when cross building since dynamic + # loading attempts of other backends presumably fail preConfigure = lib.optionalString (stdenv.buildPlatform != stdenv.hostPlatform) '' - substituteInPlace Makefile.PL --replace "exit 0;" "" + substituteInPlace lib/JSON.pm \ + --replace-fail 'my $backend = exists $ENV{PERL_JSON_BACKEND} ? $ENV{PERL_JSON_BACKEND} : 1;' \ + 'my $backend = "JSON::PP";' ''; buildInputs = [ TestPod ]; meta = { diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 73218fa9dca5..85854a912bbd 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -142,6 +142,10 @@ self: super: with self; { agent-py = callPackage ../development/python-modules/agent-py { }; + agentic-threat-hunting-framework = + callPackage ../development/python-modules/agentic-threat-hunting-framework + { }; + aggdraw = callPackage ../development/python-modules/aggdraw { }; aggregate6 = callPackage ../development/python-modules/aggregate6 { }; @@ -2892,6 +2896,8 @@ self: super: with self; { coinbase-advanced-py = callPackage ../development/python-modules/coinbase-advanced-py { }; + coincidence = callPackage ../development/python-modules/coincidence { }; + coincurve = callPackage ../development/python-modules/coincurve { inherit (pkgs) secp256k1; }; coinmetrics-api-client = callPackage ../development/python-modules/coinmetrics-api-client { };