diff --git a/pkgs/applications/editors/vim/plugins/utils/vim-utils.nix b/pkgs/applications/editors/vim/plugins/utils/vim-utils.nix index c635fead45c6..ccc1f058105e 100644 --- a/pkgs/applications/editors/vim/plugins/utils/vim-utils.nix +++ b/pkgs/applications/editors/vim/plugins/utils/vim-utils.nix @@ -218,6 +218,8 @@ let paths = allGrammars; }; + allAndOptPluginNames = map (plugin: plugin.pname) (allPlugins ++ opt); + packdirStart = vimFarm "pack/${packageName}/start" "packdir-start" ( if allGrammars != [ ] then allPlugins ++ [ allGrammarsSymlinked ] else allPlugins ); @@ -234,8 +236,8 @@ let assert ( - builtins.elem vimPlugins.nvim-treesitter (opt ++ allPlugins) - && builtins.elem vimPlugins.nvim-treesitter-legacy (opt ++ allPlugins) + builtins.elem "nvim-treesitter" allAndOptPluginNames + && builtins.elem "nvim-treesitter-legacy" allAndOptPluginNames ) -> throw "You cannot include two different versions of nvim-treesitter, perhaps you included a legacy plugin together with a new one?"; diff --git a/pkgs/by-name/fi/firebase-tools/package.nix b/pkgs/by-name/fi/firebase-tools/package.nix index 819485de8af4..9d861588f074 100644 --- a/pkgs/by-name/fi/firebase-tools/package.nix +++ b/pkgs/by-name/fi/firebase-tools/package.nix @@ -11,17 +11,17 @@ buildNpmPackage rec { pname = "firebase-tools"; - version = "15.14.0"; + version = "15.15.0"; nodejs = nodejs_22; src = fetchFromGitHub { owner = "firebase"; repo = "firebase-tools"; tag = "v${version}"; - hash = "sha256-0jkeO8S47kxxnBLwaaeoc5QJobZpZjTR85kgkCZyIiQ="; + hash = "sha256-lY52YRT+DIV8DTIEtquRuB6Q6TY0mi4I4+E+o1usQrM="; }; - npmDepsHash = "sha256-T2tB+kOYYdt048Y6ONrRDWUd4OLJGdOd59LdNIhVLMQ="; + npmDepsHash = "sha256-7XYgjoKEHXi26utNECCjqaDXoWYcyblt7rGgklWbmX8="; # No more package-lock.json in upstream src postPatch = '' diff --git a/pkgs/by-name/it/itgmania/package.nix b/pkgs/by-name/it/itgmania/package.nix index f17bc900481b..8899ba8140f0 100644 --- a/pkgs/by-name/it/itgmania/package.nix +++ b/pkgs/by-name/it/itgmania/package.nix @@ -1,97 +1,23 @@ { - lib, - stdenv, - fetchFromGitHub, - cmake, - nasm, - pkg-config, - copyDesktopItems, - alsa-lib, - glew, - glib, - gtk3, - libmad, - libogg, - libpulseaudio, - libusb-compat-0_1, - libvorbis, - libxtst, - udev, + symlinkJoin, makeWrapper, - makeDesktopItem, + itgmaniaPackages, + extraPackages ? [ ], }: +let + unwrapped = itgmaniaPackages.itgmania-unwrapped; +in +symlinkJoin { + inherit (unwrapped) pname version meta; -stdenv.mkDerivation (finalAttrs: { - pname = "itgmania"; - version = "1.2.0"; + paths = [ unwrapped ] ++ extraPackages; - src = fetchFromGitHub { - owner = "itgmania"; - repo = "itgmania"; - tag = "v${finalAttrs.version}"; - fetchSubmodules = true; - hash = "sha256-RkV/OIDudt2XemhaFRY7IA5o7Q2w+j01tauD7KpzYpA="; - }; + nativeBuildInputs = [ makeWrapper ]; - nativeBuildInputs = [ - cmake - nasm - pkg-config - makeWrapper - copyDesktopItems - ]; - - buildInputs = [ - alsa-lib - glew - glib - gtk3 - libmad - libogg - libpulseaudio - libusb-compat-0_1 - libvorbis - libxtst - udev - ]; - - cmakeFlags = lib.optionals (!stdenv.hostPlatform.isx86) [ "-DWITH_MINIMAID=off" ]; - - postInstall = '' + postBuild = '' makeWrapper $out/itgmania/itgmania $out/bin/itgmania \ --chdir $out/itgmania - - mkdir -p $out/share/icons/hicolor/scalable/apps/ - ln -s $out/itgmania/Data/logo.svg $out/share/icons/hicolor/scalable/apps/itgmania.svg ''; - desktopItems = [ - (makeDesktopItem { - name = "itgmania"; - desktopName = "ITGmania"; - genericName = "Rhythm and dance game"; - tryExec = "itgmania"; - exec = "itgmania"; - terminal = false; - icon = "itgmania"; - type = "Application"; - comment = "A cross-platform rhythm video game."; - categories = [ - "Game" - "ArcadeGame" - ]; - }) - ]; - - meta = { - homepage = "https://www.itgmania.com/"; - description = "Fork of StepMania 5.1, improved for the post-ITG community"; - platforms = lib.platforms.linux; - license = lib.licenses.mit; - maintainers = with lib.maintainers; [ - ftsimas - maxwell-lt - ]; - mainProgram = "itgmania"; - }; -}) + passthru.unwrapped = unwrapped; +} diff --git a/pkgs/by-name/it/itgmania/packages.nix b/pkgs/by-name/it/itgmania/packages.nix new file mode 100644 index 000000000000..257fe5e1fd86 --- /dev/null +++ b/pkgs/by-name/it/itgmania/packages.nix @@ -0,0 +1,10 @@ +{ lib, newScope }: +lib.makeScope newScope (self: { + itgmania-unwrapped = self.callPackage ./unwrapped.nix { }; + # Themes + arrowcloud-theme = self.callPackage ./themes/arrowcloud-theme.nix { }; + digital-dance = self.callPackage ./themes/digital-dance.nix { }; + itg2-sm5 = self.callPackage ./themes/itg2-sm5.nix { }; + itg3encore = self.callPackage ./themes/itg3encore.nix { }; + zmod-simply-love = self.callPackage ./themes/zmod-simply-love.nix { }; +}) diff --git a/pkgs/by-name/it/itgmania/themes/arrowcloud-theme.nix b/pkgs/by-name/it/itgmania/themes/arrowcloud-theme.nix new file mode 100644 index 000000000000..08ed6cecd731 --- /dev/null +++ b/pkgs/by-name/it/itgmania/themes/arrowcloud-theme.nix @@ -0,0 +1,31 @@ +{ + lib, + stdenv, + fetchFromGitHub, + nix-update-script, +}: +stdenv.mkDerivation (finalAttrs: { + pname = "arrowcloud-theme"; + version = "20260328"; + + src = fetchFromGitHub { + owner = "Arrow-Cloud"; + repo = "theme"; + tag = "v${finalAttrs.version}"; + hash = "sha256-9BND3IUIc5uMBxzw+Pn/59jBKBK/xGWrOIgcIYIQvgk="; + }; + + postInstall = '' + mkdir -p "$out/itgmania/Themes/Arrow Cloud" + mv * "$out/itgmania/Themes/Arrow Cloud" + ''; + + passthru.updateScript = nix-update-script { extraArgs = [ "--use-github-releases" ]; }; + + meta = { + description = "Arrow Cloud's fork of Zmod"; + homepage = "https://github.com/Arrow-Cloud/theme"; + license = lib.licenses.gpl3Plus; + maintainers = with lib.maintainers; [ ungeskriptet ]; + }; +}) diff --git a/pkgs/by-name/it/itgmania/themes/digital-dance.nix b/pkgs/by-name/it/itgmania/themes/digital-dance.nix new file mode 100644 index 000000000000..9061c8a7e7e0 --- /dev/null +++ b/pkgs/by-name/it/itgmania/themes/digital-dance.nix @@ -0,0 +1,31 @@ +{ + lib, + stdenv, + fetchFromCodeberg, + nix-update-script, +}: +stdenv.mkDerivation (finalAttrs: { + pname = "digital-dance"; + version = "1.1.3-unstable-2026-04-19"; + + src = fetchFromCodeberg { + owner = "JNero"; + repo = "Digital-Dance-ITGMania"; + rev = "bfce7a6d719189a3eec1577b54256941e8d602a5"; + hash = "sha256-yrXdU73Jokm+nMMi8mtxdEL5+xuFj4sHIW+/nulcJJI="; + }; + + postInstall = '' + mkdir -p "$out/itgmania/Themes/Digital Dance" + mv * "$out/itgmania/Themes/Digital Dance" + ''; + + passthru.updateScript = nix-update-script { extraArgs = [ "--version=branch" ]; }; + + meta = { + description = "Theme for ITGMania to (hopefully) utilize all of it's features and more"; + homepage = "https://codeberg.org/JNero/Digital-Dance-ITGMania"; + license = lib.licenses.gpl3Plus; + maintainers = with lib.maintainers; [ ungeskriptet ]; + }; +}) diff --git a/pkgs/by-name/it/itgmania/themes/itg2-sm5.nix b/pkgs/by-name/it/itgmania/themes/itg2-sm5.nix new file mode 100644 index 000000000000..5234bfea09e5 --- /dev/null +++ b/pkgs/by-name/it/itgmania/themes/itg2-sm5.nix @@ -0,0 +1,31 @@ +{ + lib, + stdenv, + fetchFromGitHub, + nix-update-script, +}: +stdenv.mkDerivation (finalAttrs: { + pname = "itg2-sm5"; + version = "1.1.0-unstable-2025-10-08"; + + src = fetchFromGitHub { + owner = "JoseVarelaP"; + repo = "In-The-Groove2-SM5"; + rev = "e25f1a44efa55cd2247891f40633403910b75d21"; + hash = "sha256-FMyT7ZA/1cqiClXDvD7CmJlOFaaWnPLuOuei6fsbzg8="; + }; + + postInstall = '' + mkdir -p "$out/itgmania/Themes/ITG2-SM5" + mv * "$out/itgmania/Themes/ITG2-SM5" + ''; + + passthru.updateScript = nix-update-script { extraArgs = [ "--version=branch" ]; }; + + meta = { + description = "Semi-Conversion/Recreation of In The Groove 1 & 2 to StepMania 5"; + homepage = "https://github.com/JoseVarelaP/In-The-Groove2-SM5"; + license = lib.licenses.gpl3Plus; + maintainers = with lib.maintainers; [ ungeskriptet ]; + }; +}) diff --git a/pkgs/by-name/it/itgmania/themes/itg3encore.nix b/pkgs/by-name/it/itgmania/themes/itg3encore.nix new file mode 100644 index 000000000000..8999a8209e14 --- /dev/null +++ b/pkgs/by-name/it/itgmania/themes/itg3encore.nix @@ -0,0 +1,32 @@ +{ + lib, + stdenv, + fetchFromGitHub, + nix-update-script, +}: +stdenv.mkDerivation (finalAttrs: { + pname = "itg3encore"; + version = "0-unstable-2026-04-21"; + + src = fetchFromGitHub { + owner = "DarkBahamut162"; + repo = "itg3encore"; + rev = "bb9e9bb9bfb09ba7df586d5b5cc1f4813bbea8e7"; + hash = "sha256-dih1MeORhNgh3pV7eQLsbhnkiVIE7rQnIWWJFALHoG0="; + }; + + postInstall = '' + mkdir -p "$out/itgmania/Themes/ITG3Encore" + mv * "$out/itgmania/Themes/ITG3Encore" + ''; + + passthru.updateScript = nix-update-script { extraArgs = [ "--version=branch" ]; }; + + meta = { + description = "An upgraded port of ITG3's Encore theme"; + homepage = "https://github.com/DarkBahamut162/itg3encore"; + # https://github.com/DarkBahamut162/itg3encore/issues/16 + license = lib.licenses.unfree; + maintainers = with lib.maintainers; [ ungeskriptet ]; + }; +}) diff --git a/pkgs/by-name/it/itgmania/themes/zmod-simply-love.nix b/pkgs/by-name/it/itgmania/themes/zmod-simply-love.nix new file mode 100644 index 000000000000..3d57f82120fa --- /dev/null +++ b/pkgs/by-name/it/itgmania/themes/zmod-simply-love.nix @@ -0,0 +1,34 @@ +{ + lib, + stdenv, + fetchFromGitHub, + nix-update-script, +}: +stdenv.mkDerivation (finalAttrs: { + pname = "zmod-simply-love"; + version = "5.8.1-april"; + + src = fetchFromGitHub { + owner = "zarzob"; + repo = "Simply-Love-SM5"; + tag = finalAttrs.version; + hash = "sha256-4EkCR9M8xip2b8ddWyUIom2HM72Ba8KdVodIyc5h4p8="; + }; + + postInstall = '' + mkdir -p "$out/itgmania/Themes/Zmod Simply Love" + mv * "$out/itgmania/Themes/Zmod Simply Love" + ''; + + passthru.updateScript = nix-update-script { extraArgs = [ "--use-github-releases" ]; }; + + meta = { + description = "Zmod fork of Simply Love"; + homepage = "https://github.com/zarzob/Simply-Love-SM5"; + license = lib.licenses.gpl3Plus; + maintainers = with lib.maintainers; [ + maxwell-lt + ungeskriptet + ]; + }; +}) diff --git a/pkgs/by-name/it/itgmania/unwrapped.nix b/pkgs/by-name/it/itgmania/unwrapped.nix new file mode 100644 index 000000000000..f0d65de916e3 --- /dev/null +++ b/pkgs/by-name/it/itgmania/unwrapped.nix @@ -0,0 +1,100 @@ +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + nasm, + pkg-config, + copyDesktopItems, + alsa-lib, + glew, + glib, + gtk3, + libmad, + libogg, + libpulseaudio, + libusb-compat-0_1, + libvorbis, + libxtst, + udev, + makeDesktopItem, + nix-update-script, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "itgmania"; + version = "1.2.1"; + + src = fetchFromGitHub { + owner = "itgmania"; + repo = "itgmania"; + tag = "v${finalAttrs.version}"; + fetchSubmodules = true; + hash = "sha256-bTABfTflWasuXvX+YPciUIICAFVROk/SgeClgrTUjkQ="; + }; + + nativeBuildInputs = [ + cmake + nasm + pkg-config + copyDesktopItems + ]; + + buildInputs = [ + alsa-lib + glew + glib + gtk3 + libmad + libogg + libpulseaudio + libusb-compat-0_1 + libvorbis + libxtst + udev + ]; + + cmakeFlags = [ + "-DWITH_FULL_RELEASE=on" + "-DWITH_NIGHTLY_RELEASE=off" + ] + ++ lib.optionals (!stdenv.hostPlatform.isx86) [ "-DWITH_MINIMAID=off" ]; + + postInstall = '' + mkdir -p $out/share/icons/hicolor/scalable/apps/ + ln -s $out/itgmania/Data/logo.svg $out/share/icons/hicolor/scalable/apps/itgmania.svg + ''; + + desktopItems = [ + (makeDesktopItem { + name = "itgmania"; + desktopName = "ITGmania"; + genericName = "Rhythm and dance game"; + tryExec = "itgmania"; + exec = "itgmania"; + terminal = false; + icon = "itgmania"; + type = "Application"; + comment = "A cross-platform rhythm video game."; + categories = [ + "Game" + "ArcadeGame" + ]; + }) + ]; + + passthru.updateScript = nix-update-script { }; + + meta = { + homepage = "https://www.itgmania.com/"; + description = "Fork of StepMania 5.1, improved for the post-ITG community"; + platforms = lib.platforms.linux; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ + ftsimas + maxwell-lt + ungeskriptet + ]; + mainProgram = "itgmania"; + }; +}) diff --git a/pkgs/by-name/ve/veroroute/package.nix b/pkgs/by-name/ve/veroroute/package.nix index 502cb79e1001..e0e7cd43024f 100644 --- a/pkgs/by-name/ve/veroroute/package.nix +++ b/pkgs/by-name/ve/veroroute/package.nix @@ -7,11 +7,11 @@ stdenv.mkDerivation (finalAttrs: { pname = "veroroute"; - version = "2.39"; + version = "2.40"; src = fetchurl { url = "mirror://sourceforge/veroroute/veroroute-${finalAttrs.version}.tar.gz"; - hash = "sha256-+qX8NFkPkQGW29uQUEuetgW3muDP56lMJgrGCAo+5pc="; + hash = "sha256-4Wmvstjq0u8u5EFlvcGRb+UshZbtzAfRShQS2NFCllA="; }; nativeBuildInputs = [ diff --git a/pkgs/development/interpreters/erlang/27.nix b/pkgs/development/interpreters/erlang/27.nix index 7fcbd33c8c8c..9614575f2620 100644 --- a/pkgs/development/interpreters/erlang/27.nix +++ b/pkgs/development/interpreters/erlang/27.nix @@ -1,6 +1,6 @@ genericBuilder: genericBuilder { - version = "27.3.4.10"; - hash = "sha256-x1f9r1t5Ckk+AVn2P372aWLoDtgqZzNIeOuzjI6hm+g="; + version = "27.3.4.11"; + hash = "sha256-yOgsaeUv6GwFX6qPVb28zet6Hli5vg/PZCKW2s2/JEA="; } diff --git a/pkgs/development/interpreters/erlang/28.nix b/pkgs/development/interpreters/erlang/28.nix index d373f3a2f6cf..3dacbd8775ed 100644 --- a/pkgs/development/interpreters/erlang/28.nix +++ b/pkgs/development/interpreters/erlang/28.nix @@ -1,6 +1,6 @@ genericBuilder: genericBuilder { - version = "28.4.2"; - hash = "sha256-Xf7FN+LmoVHAfW1tO9XkBcBPsuLb7R7yrSLmiFTsXe8="; + version = "28.4.3"; + hash = "sha256-ZINtOyF84bRkmwf4xdlYzyXEWHDCiX3wMH12STecvBo="; } diff --git a/pkgs/development/interpreters/ruby/default.nix b/pkgs/development/interpreters/ruby/default.nix index d07fa15d824c..db3d8685ee2b 100644 --- a/pkgs/development/interpreters/ruby/default.nix +++ b/pkgs/development/interpreters/ruby/default.nix @@ -411,8 +411,8 @@ in }; ruby_4_0 = generic { - version = rubyVersion "4" "0" "2" ""; - hash = "sha256-UVArJrULaN9JYzNspB42jN6SySj6+RZU3kxMF5H4Kqw="; + version = rubyVersion "4" "0" "3" ""; + hash = "sha256-d5ZKzDcNXIN1uVAuW6bBPAPvkaueufUhyE+0K5yaaw8="; cargoHash = "sha256-z7NwWc4TaR042hNx0xgRkh/BQEpEJtE53cfrN0qNiE0="; }; diff --git a/pkgs/development/python-modules/aioghost/default.nix b/pkgs/development/python-modules/aioghost/default.nix index b6fb9e2550c3..cf080b2553fa 100644 --- a/pkgs/development/python-modules/aioghost/default.nix +++ b/pkgs/development/python-modules/aioghost/default.nix @@ -13,14 +13,14 @@ buildPythonPackage (finalAttrs: { pname = "aioghost"; - version = "0.4.10"; + version = "0.4.11"; pyproject = true; src = fetchFromGitHub { owner = "TryGhost"; repo = "aioghost"; tag = "v${finalAttrs.version}"; - hash = "sha256-Rumg/ABsA2pK1NRPVPW8wZmUL8VwzV48mU97PFWmCEY="; + hash = "sha256-RRfPM86ulC+9VhW6trQoGhOKwhP45jn5a6PSw8PkEA4="; }; build-system = [ hatchling ]; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index ec4662ce1a54..c436ed689420 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6572,6 +6572,8 @@ with pkgs; ''; }); + itgmaniaPackages = recurseIntoAttrs (callPackage ../by-name/it/itgmania/packages.nix { }); + itk_5_2 = callPackage ../development/libraries/itk/5.2.x.nix { enableRtk = false; };