From 329c7a097c8a559be12ec7daf0d5ae150d138ab0 Mon Sep 17 00:00:00 2001 From: Petingoso Date: Sun, 5 May 2024 18:32:16 +0100 Subject: [PATCH 01/49] maintainers: add petingoso maintainers: add ulysseszhan --- maintainers/maintainer-list.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 15af233ea29a..83c2dfb9caeb 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -17521,6 +17521,12 @@ githubId = 28323; name = "Peter Simons"; }; + petingoso = { + email = "petingavasco@protonmail.com"; + github = "Petingoso"; + githubId = 92183955; + name = "Vasco Petinga"; + }; petrkozorezov = { email = "petr.kozorezov@gmail.com"; github = "petrkozorezov"; From 3be662c31b6cc04b10043641f4ccfc97c8a34704 Mon Sep 17 00:00:00 2001 From: Petingoso Date: Sun, 5 May 2024 17:32:50 +0100 Subject: [PATCH 02/49] olympus{,-unwrapped}: init at 25.04.20.01 This is an attempt to package [Olympus](https://everestapi.github.io/), a GUI for installing Everest and managing Celeste mods. This is based on this [draft](https://github.com/NixOS/nixpkgs/pull/295258), with the original authors permission. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit It is able to launch from the app but for proper use depends on overriding celesteWrapper. See package.nix for details. I only have to note that it has a popup complaining about finishing the installation but that's due to xdg-mime x-scheme-handler/everest not being set. Needs [this](https://github.com/NixOS/nixpkgs/pull/309026) which was merged. Finally, [Lönn](https://github.com/CelestialCartographers/Loenn) works as expected, being the installation managed by the program. Ahorn is deprecated(in favor of Loenn) and it crashes over trying to run dynamic executables, wontfix. olympus: fixed zenity argument olympus: bugfix add openssl to fhs olympus: fixed to use the default nfd instead of patched version olympus: changed location of ndf arg olympus: bugfix: add xdg-utils as runtime dependency to fix pop-up olympus: deleted zenity.patch Due to nfd lua package being fixed, this patch is no longer needed olympus: fix use of wrong nfd package olympus: bumped up version to 24.07.06.02 olympus: format files with nixfmt-rfc olympus: chores: comments, fixed lib conventions olympus: make wrappers properly, use standard build process, misc fixes olympus: update version, src; add updateScript olympus: avoid rec; use lib.getExe; remove redundant .out; minor changes olympus: use standard build process for dotnet; remove -nixos suffix in version; use new mono; add dotnet-runtime to fhs env olympus: 24.10.27.02 -> 24.11.23.01; fix version.txt; remove unnecessary dependencies; add miniinstaller and celeste wrapper; other misc change olympus-with-steam-run: init olympus: more flexible celeste wrapper olympus: accept emptry string and path as celeste wrapper; minor fix with lua cpath olympus: minor fix with lua cpath; add xdg-utils to path olympus: use standard lua-subprocess instead of fork olympus: make MiniInstaller be properly wrapped olympus: add option to skip handler olympus: tweaked platforms, tweaked miniinstaller-fhs olympus-with-steam-run: comment for reminder on fixing issues with relative paths olympus: removed extraneous package olympus: add extra wrapper options for mininstaller and loenn olympus: add more explicit comments, bump version olympus: fixed mismatched hash in olympus olympus: changed proprieties of miniinstaller-fhs (#336576) olympus: tweak miniinstallerWrapper olympus: migrated to deps.json (#362278) olympus: remove meta.mainProgram explicitly (#358550) olympus: bump to 24.12.28.01 changes to new install process of net8.0 olympus : format olympus: changed install path, tweaked meta info olympus: bump to 25.02.07.01 olympus: update luasqlite download olympus: split into wrapped version for modularity olympus{,-wrapped}: init at 25.04.20.01 olympus: tweak maintainer script olympus: formatting olympus{,-unwrapped}: move update script to -unwrapped; remove hardcoded pnam in -unwrapped; clean up properties olympus-unwrapped: fix wrong attr in update.sh; install new needed file --- pkgs/by-name/ol/olympus-unwrapped/deps.json | 317 ++++++++++++++++++ pkgs/by-name/ol/olympus-unwrapped/package.nix | 106 ++++++ pkgs/by-name/ol/olympus-unwrapped/update.sh | 32 ++ pkgs/by-name/ol/olympus/package.nix | 71 ++++ 4 files changed, 526 insertions(+) create mode 100644 pkgs/by-name/ol/olympus-unwrapped/deps.json create mode 100644 pkgs/by-name/ol/olympus-unwrapped/package.nix create mode 100755 pkgs/by-name/ol/olympus-unwrapped/update.sh create mode 100644 pkgs/by-name/ol/olympus/package.nix diff --git a/pkgs/by-name/ol/olympus-unwrapped/deps.json b/pkgs/by-name/ol/olympus-unwrapped/deps.json new file mode 100644 index 000000000000..e533ddd8abfc --- /dev/null +++ b/pkgs/by-name/ol/olympus-unwrapped/deps.json @@ -0,0 +1,317 @@ +[ + { + "pname": "Microsoft.NETCore.Platforms", + "version": "1.1.0", + "hash": "sha256-FeM40ktcObQJk4nMYShB61H/E8B7tIKfl9ObJ0IOcCM=" + }, + { + "pname": "Microsoft.NETCore.Targets", + "version": "1.1.0", + "hash": "sha256-0AqQ2gMS8iNlYkrD+BxtIg7cXMnr9xZHtKAuN4bjfaQ=" + }, + { + "pname": "Mono.Cecil", + "version": "0.11.4", + "hash": "sha256-HrnRgFsOzfqAWw0fUxi/vkzZd8dMn5zueUeLQWA9qvs=" + }, + { + "pname": "MonoMod", + "version": "22.1.4.3", + "hash": "sha256-kindD5YUjBWsopvEnmOL4XsldgwE1zRrmMxIh6nDua8=" + }, + { + "pname": "MonoMod.RuntimeDetour", + "version": "22.1.4.3", + "hash": "sha256-m7FN3SGME4GRGuc7l5ClCT9W3mXqbbhAJHHpWwYqLi8=" + }, + { + "pname": "MonoMod.RuntimeDetour.HookGen", + "version": "22.1.4.3", + "hash": "sha256-DuOnuXQcS63Z/y5s3q5FHZiqWTPgayNpylkzRzl6pE4=" + }, + { + "pname": "MonoMod.Utils", + "version": "22.1.4.3", + "hash": "sha256-0KyqozOCC26+z5+Ah35iFvRwrPXvvxDlEq6gLl5lPNU=" + }, + { + "pname": "Newtonsoft.Json", + "version": "13.0.1", + "hash": "sha256-K2tSVW4n4beRPzPu3rlVaBEMdGvWSv/3Q1fxaDh4Mjo=" + }, + { + "pname": "runtime.any.System.Collections", + "version": "4.3.0", + "hash": "sha256-4PGZqyWhZ6/HCTF2KddDsbmTTjxs2oW79YfkberDZS8=" + }, + { + "pname": "runtime.any.System.Globalization", + "version": "4.3.0", + "hash": "sha256-PaiITTFI2FfPylTEk7DwzfKeiA/g/aooSU1pDcdwWLU=" + }, + { + "pname": "runtime.any.System.IO", + "version": "4.3.0", + "hash": "sha256-vej7ySRhyvM3pYh/ITMdC25ivSd0WLZAaIQbYj/6HVE=" + }, + { + "pname": "runtime.any.System.Reflection", + "version": "4.3.0", + "hash": "sha256-ns6f++lSA+bi1xXgmW1JkWFb2NaMD+w+YNTfMvyAiQk=" + }, + { + "pname": "runtime.any.System.Reflection.Extensions", + "version": "4.3.0", + "hash": "sha256-Y2AnhOcJwJVYv7Rp6Jz6ma0fpITFqJW+8rsw106K2X8=" + }, + { + "pname": "runtime.any.System.Reflection.Primitives", + "version": "4.3.0", + "hash": "sha256-LkPXtiDQM3BcdYkAm5uSNOiz3uF4J45qpxn5aBiqNXQ=" + }, + { + "pname": "runtime.any.System.Resources.ResourceManager", + "version": "4.3.0", + "hash": "sha256-9EvnmZslLgLLhJ00o5MWaPuJQlbUFcUF8itGQNVkcQ4=" + }, + { + "pname": "runtime.any.System.Runtime", + "version": "4.3.0", + "hash": "sha256-qwhNXBaJ1DtDkuRacgHwnZmOZ1u9q7N8j0cWOLYOELM=" + }, + { + "pname": "runtime.any.System.Runtime.Handles", + "version": "4.3.0", + "hash": "sha256-PQRACwnSUuxgVySO1840KvqCC9F8iI9iTzxNW0RcBS4=" + }, + { + "pname": "runtime.any.System.Runtime.InteropServices", + "version": "4.3.0", + "hash": "sha256-Kaw5PnLYIiqWbsoF3VKJhy7pkpoGsUwn4ZDCKscbbzA=" + }, + { + "pname": "runtime.any.System.Text.Encoding", + "version": "4.3.0", + "hash": "sha256-Q18B9q26MkWZx68exUfQT30+0PGmpFlDgaF0TnaIGCs=" + }, + { + "pname": "runtime.any.System.Threading.Tasks", + "version": "4.3.0", + "hash": "sha256-agdOM0NXupfHbKAQzQT8XgbI9B8hVEh+a/2vqeHctg4=" + }, + { + "pname": "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl", + "version": "4.3.0", + "hash": "sha256-LXUPLX3DJxsU1Pd3UwjO1PO9NM2elNEDXeu2Mu/vNps=" + }, + { + "pname": "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl", + "version": "4.3.0", + "hash": "sha256-qeSqaUI80+lqw5MK4vMpmO0CZaqrmYktwp6L+vQAb0I=" + }, + { + "pname": "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl", + "version": "4.3.0", + "hash": "sha256-SrHqT9wrCBsxILWtaJgGKd6Odmxm8/Mh7Kh0CUkZVzA=" + }, + { + "pname": "runtime.native.System", + "version": "4.3.0", + "hash": "sha256-ZBZaodnjvLXATWpXXakFgcy6P+gjhshFXmglrL5xD5Y=" + }, + { + "pname": "runtime.native.System.Security.Cryptography.OpenSsl", + "version": "4.3.0", + "hash": "sha256-Jy01KhtcCl2wjMpZWH+X3fhHcVn+SyllWFY8zWlz/6I=" + }, + { + "pname": "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl", + "version": "4.3.0", + "hash": "sha256-wyv00gdlqf8ckxEdV7E+Ql9hJIoPcmYEuyeWb5Oz3mM=" + }, + { + "pname": "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl", + "version": "4.3.0", + "hash": "sha256-zi+b4sCFrA9QBiSGDD7xPV27r3iHGlV99gpyVUjRmc4=" + }, + { + "pname": "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl", + "version": "4.3.0", + "hash": "sha256-gybQU6mPgaWV3rBG2dbH6tT3tBq8mgze3PROdsuWnX0=" + }, + { + "pname": "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl", + "version": "4.3.0", + "hash": "sha256-VsP72GVveWnGUvS/vjOQLv1U80H2K8nZ4fDAmI61Hm4=" + }, + { + "pname": "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl", + "version": "4.3.0", + "hash": "sha256-4yKGa/IrNCKuQ3zaDzILdNPD32bNdy6xr5gdJigyF5g=" + }, + { + "pname": "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl", + "version": "4.3.0", + "hash": "sha256-HmdJhhRsiVoOOCcUvAwdjpMRiyuSwdcgEv2j9hxi+Zc=" + }, + { + "pname": "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl", + "version": "4.3.0", + "hash": "sha256-pVFUKuPPIx0edQKjzRon3zKq8zhzHEzko/lc01V/jdw=" + }, + { + "pname": "runtime.unix.System.Diagnostics.Debug", + "version": "4.3.0", + "hash": "sha256-ReoazscfbGH+R6s6jkg5sIEHWNEvjEoHtIsMbpc7+tI=" + }, + { + "pname": "runtime.unix.System.Private.Uri", + "version": "4.3.0", + "hash": "sha256-c5tXWhE/fYbJVl9rXs0uHh3pTsg44YD1dJvyOA0WoMs=" + }, + { + "pname": "runtime.unix.System.Runtime.Extensions", + "version": "4.3.0", + "hash": "sha256-l8S9gt6dk3qYG6HYonHtdlYtBKyPb29uQ6NDjmrt3V4=" + }, + { + "pname": "System.Collections", + "version": "4.3.0", + "hash": "sha256-afY7VUtD6w/5mYqrce8kQrvDIfS2GXDINDh73IjxJKc=" + }, + { + "pname": "System.Collections.NonGeneric", + "version": "4.3.0", + "hash": "sha256-8/yZmD4jjvq7m68SPkJZLBQ79jOTOyT5lyzX4SCYAx8=" + }, + { + "pname": "System.Collections.Specialized", + "version": "4.3.0", + "hash": "sha256-QNg0JJNx+zXMQ26MJRPzH7THdtqjrNtGLUgaR1SdvOk=" + }, + { + "pname": "System.ComponentModel", + "version": "4.3.0", + "hash": "sha256-i00uujMO4JEDIEPKLmdLY3QJ6vdSpw6Gh9oOzkFYBiU=" + }, + { + "pname": "System.ComponentModel.Primitives", + "version": "4.3.0", + "hash": "sha256-IOMJleuIBppmP4ECB3uftbdcgL7CCd56+oAD/Sqrbus=" + }, + { + "pname": "System.ComponentModel.TypeConverter", + "version": "4.3.0", + "hash": "sha256-PSDiPYt8PgTdTUBz+GH6lHCaM1YgfObneHnZsc8Fz54=" + }, + { + "pname": "System.Diagnostics.Debug", + "version": "4.3.0", + "hash": "sha256-fkA79SjPbSeiEcrbbUsb70u9B7wqbsdM9s1LnoKj0gM=" + }, + { + "pname": "System.Globalization", + "version": "4.3.0", + "hash": "sha256-caL0pRmFSEsaoeZeWN5BTQtGrAtaQPwFi8YOZPZG5rI=" + }, + { + "pname": "System.Globalization.Extensions", + "version": "4.3.0", + "hash": "sha256-mmJWA27T0GRVuFP9/sj+4TrR4GJWrzNIk2PDrbr7RQk=" + }, + { + "pname": "System.IO", + "version": "4.3.0", + "hash": "sha256-ruynQHekFP5wPrDiVyhNiRIXeZ/I9NpjK5pU+HPDiRY=" + }, + { + "pname": "System.IO.FileSystem.Primitives", + "version": "4.3.0", + "hash": "sha256-LMnfg8Vwavs9cMnq9nNH8IWtAtSfk0/Fy4s4Rt9r1kg=" + }, + { + "pname": "System.Linq", + "version": "4.3.0", + "hash": "sha256-R5uiSL3l6a3XrXSSL6jz+q/PcyVQzEAByiuXZNSqD/A=" + }, + { + "pname": "System.Private.Uri", + "version": "4.3.0", + "hash": "sha256-fVfgcoP4AVN1E5wHZbKBIOPYZ/xBeSIdsNF+bdukIRM=" + }, + { + "pname": "System.Reflection", + "version": "4.3.0", + "hash": "sha256-NQSZRpZLvtPWDlvmMIdGxcVuyUnw92ZURo0hXsEshXY=" + }, + { + "pname": "System.Reflection.Emit.ILGeneration", + "version": "4.7.0", + "hash": "sha256-GUnQeGo/DtvZVQpFnESGq7lJcjB30/KnDY7Kd2G/ElE=" + }, + { + "pname": "System.Reflection.Emit.Lightweight", + "version": "4.7.0", + "hash": "sha256-V0Wz/UUoNIHdTGS9e1TR89u58zJjo/wPUWw6VaVyclU=" + }, + { + "pname": "System.Reflection.Extensions", + "version": "4.3.0", + "hash": "sha256-mMOCYzUenjd4rWIfq7zIX9PFYk/daUyF0A8l1hbydAk=" + }, + { + "pname": "System.Reflection.Primitives", + "version": "4.3.0", + "hash": "sha256-5ogwWB4vlQTl3jjk1xjniG2ozbFIjZTL9ug0usZQuBM=" + }, + { + "pname": "System.Reflection.TypeExtensions", + "version": "4.7.0", + "hash": "sha256-GEtCGXwtOnkYejSV+Tfl+DqyGq5jTUaVyL9eMupMHBM=" + }, + { + "pname": "System.Resources.ResourceManager", + "version": "4.3.0", + "hash": "sha256-idiOD93xbbrbwwSnD4mORA9RYi/D/U48eRUsn/WnWGo=" + }, + { + "pname": "System.Runtime", + "version": "4.3.0", + "hash": "sha256-51813WXpBIsuA6fUtE5XaRQjcWdQ2/lmEokJt97u0Rg=" + }, + { + "pname": "System.Runtime.Extensions", + "version": "4.3.0", + "hash": "sha256-wLDHmozr84v1W2zYCWYxxj0FR0JDYHSVRaRuDm0bd/o=" + }, + { + "pname": "System.Runtime.Handles", + "version": "4.3.0", + "hash": "sha256-KJ5aXoGpB56Y6+iepBkdpx/AfaJDAitx4vrkLqR7gms=" + }, + { + "pname": "System.Runtime.InteropServices", + "version": "4.3.0", + "hash": "sha256-8sDH+WUJfCR+7e4nfpftj/+lstEiZixWUBueR2zmHgI=" + }, + { + "pname": "System.Text.Encoding", + "version": "4.3.0", + "hash": "sha256-GctHVGLZAa/rqkBNhsBGnsiWdKyv6VDubYpGkuOkBLg=" + }, + { + "pname": "System.Threading", + "version": "4.3.0", + "hash": "sha256-ZDQ3dR4pzVwmaqBg4hacZaVenQ/3yAF/uV7BXZXjiWc=" + }, + { + "pname": "System.Threading.Tasks", + "version": "4.3.0", + "hash": "sha256-Z5rXfJ1EXp3G32IKZGiZ6koMjRu0n8C1NGrwpdIen4w=" + }, + { + "pname": "YamlDotNet", + "version": "9.1.0", + "hash": "sha256-WbMPOLkbyN+SdMrBYuaXV2qKB+bLTV+6RdSFSy/iljk=" + } +] diff --git a/pkgs/by-name/ol/olympus-unwrapped/package.nix b/pkgs/by-name/ol/olympus-unwrapped/package.nix new file mode 100644 index 000000000000..fd2794345816 --- /dev/null +++ b/pkgs/by-name/ol/olympus-unwrapped/package.nix @@ -0,0 +1,106 @@ +{ + lib, + fetchFromGitHub, + fetchzip, + buildDotnetModule, + dotnetCorePackages, + luajitPackages, + sqlite, + libarchive, + curl, + love, + xdg-utils, +}: +let + lua_cpath = + with luajitPackages; + lib.concatMapStringsSep ";" getLuaCPath [ + (buildLuarocksPackage { + pname = "lsqlite3"; + version = "0.9.6-1"; + src = fetchzip { + url = "http://lua.sqlite.org/home/zip/lsqlite3_v096.zip"; + hash = "sha256-Mq409A3X9/OS7IPI/KlULR6ZihqnYKk/mS/W/2yrGBg="; + }; + buildInputs = [ sqlite.dev ]; + }) + + lua-subprocess + nfd + ]; + + phome = "$out/lib/olympus"; + # The following variables are to be updated by the update script. + version = "25.04.20.01"; + buildId = "4758"; # IMPORTANT: This line is matched with regex in update.sh. + rev = "10e01bf182e51d1fc2b6060622108a1fb98ae7b7"; +in +buildDotnetModule { + pname = "olympus-unwrapped"; + inherit version; + + src = fetchFromGitHub { + inherit rev; + owner = "EverestAPI"; + repo = "Olympus"; + fetchSubmodules = true; # Required. See upstream's README. + hash = "sha256-7Xdd6AdDpHQUmQ3ogEyir/OQwvOcVDMtweE3D/v4uuQ="; + }; + + nativeBuildInputs = [ + libarchive # To create the .love file (zip format). + ]; + + nugetDeps = ./deps.json; + projectFile = "sharp/Olympus.Sharp.csproj"; + executables = [ ]; + installPath = "${placeholder "out"}/lib/olympus/sharp"; + + # See the 'Dist: Update src/version.txt' step in azure-pipelines.yml from upstream. + preConfigure = '' + echo ${version}-nixos-${buildId}-${builtins.substring 0 5 rev} > src/version.txt + ''; + + # The script find-love is hacked to use love from nixpkgs. + # It is used to launch Loenn from Olympus. + # I assume --fused is so saves are properly made (https://love2d.org/wiki/love.filesystem). + preInstall = '' + mkdir -p ${phome} + makeWrapper ${lib.getExe love} ${phome}/find-love \ + --add-flags "--fused" + + install -Dm755 suppress-output.sh ${phome}/suppress-output + + mkdir -p $out/bin + makeWrapper ${phome}/find-love $out/bin/olympus \ + --prefix LUA_CPATH ";" "${lua_cpath}" \ + --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ curl ]}" \ + --suffix PATH : "${lib.makeBinPath [ xdg-utils ]}" \ + --add-flags ${phome}/olympus.love \ + --set DOTNET_ROOT ${dotnetCorePackages.runtime_8_0}/share/dotnet + + bsdtar --format zip --strip-components 1 -cf ${phome}/olympus.love src + ''; + + postInstall = '' + install -Dm644 lib-linux/olympus.desktop $out/share/applications/olympus.desktop + install -Dm644 src/data/icon.png $out/share/icons/hicolor/128x128/apps/olympus.png + install -Dm644 LICENSE $out/share/licenses/olympus/LICENSE + ''; + + passthru.updateScript = ./update.sh; + + meta = { + description = "Cross-platform GUI Everest installer and Celeste mod manager"; + homepage = "https://github.com/EverestAPI/Olympus"; + downloadPage = "https://everestapi.github.io/#olympus"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ + ulysseszhan + petingoso + ]; + mainProgram = "olympus"; + platforms = lib.platforms.unix; + badPlatforms = lib.platforms.aarch; # Celeste doesn't support aarch in the first place + }; +} diff --git a/pkgs/by-name/ol/olympus-unwrapped/update.sh b/pkgs/by-name/ol/olympus-unwrapped/update.sh new file mode 100755 index 000000000000..35cf7c135025 --- /dev/null +++ b/pkgs/by-name/ol/olympus-unwrapped/update.sh @@ -0,0 +1,32 @@ +#!/usr/bin/env nix-shell +#!nix-shell -i bash -p curl jq common-updater-scripts + +set -eu -o pipefail + +attr=olympus-unwrapped +nix_file=$(nix-instantiate --eval --strict -A "$attr.meta.position" | sed -re 's/^"(.*):[0-9]+"$/\1/') + +api() { + curl -s "https://dev.azure.com/EverestAPI/Olympus/_apis/$1?api-version=7.1" +} + +pipeline_id=$(api pipelines | jq -r ' + .value + | map(select(.name == "EverestAPI.Olympus")) + | .[0].id +') + +run_id=$(api pipelines/$pipeline_id/runs | jq -r ' + .value + | map(select(.result == "succeeded")) + | max_by(.finishedDate) + | .id +') +sed -i 's|buildId\s*=\s*".*";|buildId = "'$run_id'";|' $nix_file + +run=$(api pipelines/$pipeline_id/runs/$run_id) +commit=$(echo "$run" | jq -r '.resources.repositories.self.version') +version=$(echo "$run" | jq -r '.name') +update-source-version $attr $version --rev=$commit + +"$(nix-build --attr $attr.fetch-deps --no-out-link)" diff --git a/pkgs/by-name/ol/olympus/package.nix b/pkgs/by-name/ol/olympus/package.nix new file mode 100644 index 000000000000..fa840d091ed8 --- /dev/null +++ b/pkgs/by-name/ol/olympus/package.nix @@ -0,0 +1,71 @@ +{ + lib, + makeWrapper, + olympus-unwrapped, + symlinkJoin, + buildFHSEnv, + writeShellScript, + # These need overriding if you launch Celeste/Loenn/MiniInstaller from Olympus. + # Some examples: + # - null: Use default wrapper. + # - "": Do not use wrapper. + # - steam-run: Use steam-run. + # - "steam-run": Use steam-run command available from PATH. + # - writeShellScriptBin { ... }: Use a custom script. + # - ./my-wrapper.sh: Use a custom script. + # In any case, it can be overridden at runtime by OLYMPUS_{CELESTE,LOENN,MINIINSTALLER}_WRAPPER. + celesteWrapper ? null, + loennWrapper ? null, + miniinstallerWrapper ? null, + skipHandlerCheck ? false, # whether to skip olympus xdg-mime check, true will override it +}: +let + + wrapper-to-env = + wrapper: + if lib.isDerivation wrapper then + lib.getExe wrapper + else if wrapper != null then + wrapper + else + ""; + + # When installing Everest, Olympus uses MiniInstaller, which is dynamically linked. + miniinstaller-fhs = buildFHSEnv { + pname = "olympus-miniinstaller-fhs"; + version = "1.0.0"; # remains constant, just to prevent complains + targetPkgs = + pkgs: + (with pkgs; [ + icu + openssl + dotnet-runtime # Without this, MiniInstaller will install dotnet itself. + ]); + }; + + miniinstaller-wrapper = + if miniinstallerWrapper == null then + (writeShellScript "miniinstaller-wrapper" "exec ${lib.getExe miniinstaller-fhs} -c \"$@\"") + else + (wrapper-to-env miniinstallerWrapper); + +in +symlinkJoin { + + inherit (olympus-unwrapped) version meta; + pname = "olympus"; + + paths = [ + olympus-unwrapped + ]; + + nativeBuildInputs = [ makeWrapper ]; + + postBuild = '' + wrapProgram $out/bin/olympus \ + --set OLYMPUS_CELESTE_WRAPPER "${wrapper-to-env celesteWrapper}" \ + --set OLYMPUS_LOENN_WRAPPER "${wrapper-to-env loennWrapper}" \ + --set OLYMPUS_MINIINSTALLER_WRAPPER "${miniinstaller-wrapper}" \ + --set OLYMPUS_SKIP_SCHEME_HANDLER_CHECK "${if skipHandlerCheck then "1" else "0"}" + ''; +} From 84497e0c95e8269bf6db40caeb26caac61641ff1 Mon Sep 17 00:00:00 2001 From: emaryn Date: Tue, 13 May 2025 05:05:49 +0800 Subject: [PATCH 03/49] numatop: 2.2 -> 2.5.1 Diff: https://github.com/intel/numatop/compare/v2.2...v2.5.1 --- pkgs/by-name/nu/numatop/package.nix | 35 +++++++++-------------------- 1 file changed, 11 insertions(+), 24 deletions(-) diff --git a/pkgs/by-name/nu/numatop/package.nix b/pkgs/by-name/nu/numatop/package.nix index 16f5401f8838..5f5a867baed4 100644 --- a/pkgs/by-name/nu/numatop/package.nix +++ b/pkgs/by-name/nu/numatop/package.nix @@ -2,7 +2,6 @@ lib, stdenv, fetchFromGitHub, - fetchpatch, autoreconfHook, pkg-config, numactl, @@ -10,49 +9,37 @@ check, }: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "numatop"; - version = "2.2"; + version = "2.5.1"; + src = fetchFromGitHub { owner = "intel"; repo = "numatop"; - rev = "v${version}"; - sha256 = "sha256-GJvTwqgx34ZW10eIJj/xiKe3ZkAfs7GlJImz8jrnjfI="; + tag = "v${finalAttrs.version}"; + hash = "sha256-951Sm2zu1mPxMbPdZy+kMH8RAQo0z+Gqf2lxsY/+Lrg="; }; nativeBuildInputs = [ autoreconfHook pkg-config ]; + buildInputs = [ numactl ncurses ]; - nativeCheckInputs = [ check ]; - patches = [ - (fetchpatch { - # https://github.com/intel/numatop/pull/54 - url = "https://github.com/intel/numatop/compare/eab0ac5253c5843aa0f0ac36e2eec7612207711b...c1001fd926c24eae2d40729492e07270ce133b72.patch"; - sha256 = "sha256-TbMLv7TT9T8wE4uJ1a/AroyPPwrwL0eX5IBLsh9GTTM="; - name = "fix-string-operations.patch"; - }) - (fetchpatch { - # https://github.com/intel/numatop/pull/64 - url = "https://github.com/intel/numatop/commit/635e2ce2ccb1ac793cc276a7fcb8a92b1ffefa5d.patch"; - sha256 = "sha256-IevbSFJRTS5iQ5apHOVXzF67f3LJaW6j7DySFmVuyiM="; - name = "fix-format-strings-mvwprintw.patch"; - }) - ]; + nativeCheckInputs = [ check ]; doCheck = true; - meta = with lib; { + meta = { description = "Tool for runtime memory locality characterization and analysis of processes and threads on a NUMA system"; mainProgram = "numatop"; homepage = "https://01.org/numatop"; - license = licenses.bsd3; - maintainers = with maintainers; [ dtzWill ]; + license = lib.licenses.bsd3; + maintainers = with lib.maintainers; [ dtzWill ]; platforms = [ "i686-linux" "x86_64-linux" @@ -60,4 +47,4 @@ stdenv.mkDerivation rec { "powerpc64le-linux" ]; }; -} +}) From 6d7a5d963282abac0e3917fe9b37e177b5fdf61d Mon Sep 17 00:00:00 2001 From: Abhinav Kuruvila Joseph <62714538+IsotoxalDev@users.noreply.github.com> Date: Wed, 28 May 2025 21:02:20 +0530 Subject: [PATCH 04/49] maintainers: add isotoxal --- maintainers/maintainer-list.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 4e700fe1e9e3..64551d14b5a4 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -10812,6 +10812,12 @@ githubId = 13622947; keys = [ { fingerprint = "1412 816B A9FA F62F D051 1975 D3E1 B013 B463 1293"; } ]; }; + isotoxal = { + name = "Abhinav Kuruvila Joseph"; + email = "abhinavkuruvila@proton.me"; + github = "IsotoxalDev"; + githubId = 62714538; + }; istoph = { email = "chr@istoph.de"; name = "Christoph Hüffelmann"; From 912c4b9be2349fc8ecb26e618a19cc11ea640b32 Mon Sep 17 00:00:00 2001 From: techknowlogick Date: Fri, 30 May 2025 12:30:08 -0400 Subject: [PATCH 05/49] tart: 2.24.0 -> 2.27.2 Diff: https://github.com/cirruslabs/tart/compare/2.24.0...2.27.2 --- pkgs/by-name/ta/tart/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ta/tart/package.nix b/pkgs/by-name/ta/tart/package.nix index 7f1b68712fbc..c52ee5b2c161 100644 --- a/pkgs/by-name/ta/tart/package.nix +++ b/pkgs/by-name/ta/tart/package.nix @@ -12,11 +12,11 @@ }: stdenvNoCC.mkDerivation (finalAttrs: { pname = "tart"; - version = "2.24.0"; + version = "2.27.2"; src = fetchurl { url = "https://github.com/cirruslabs/tart/releases/download/${finalAttrs.version}/tart.tar.gz"; - hash = "sha256-5GBn5jWT3d/PidVvmWgfxGTuk72an6WbtRtR/5XHOzk="; + hash = "sha256-KUmNMQGhPk/mWOVYJYQe1jkOTI1H/4yYd/IXle2tO8o="; }; sourceRoot = "."; From 2623c7d241655bcd90949aef3962aa1a911176f1 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 6 Jun 2025 06:25:57 +0000 Subject: [PATCH 06/49] python3Packages.authlib: 1.5.2 -> 1.6.0 --- pkgs/development/python-modules/authlib/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/authlib/default.nix b/pkgs/development/python-modules/authlib/default.nix index 068008330ed1..5662d2fddeeb 100644 --- a/pkgs/development/python-modules/authlib/default.nix +++ b/pkgs/development/python-modules/authlib/default.nix @@ -20,7 +20,7 @@ buildPythonPackage rec { pname = "authlib"; - version = "1.5.2"; + version = "1.6.0"; pyproject = true; disabled = pythonOlder "3.8"; @@ -29,7 +29,7 @@ buildPythonPackage rec { owner = "lepture"; repo = "authlib"; tag = "v${version}"; - hash = "sha256-ra1RKprUAqhax0z1osl0lFgFENQZuSW/5FxSmsCdKNY="; + hash = "sha256-USZc+IKcg0+aEG2ISx29jTwm8BBuzNqFoZLBpZ7K2DU="; }; build-system = [ setuptools ]; From e0926f78db2cd764fe026c2b1397189743247bf4 Mon Sep 17 00:00:00 2001 From: Dominik Schwaiger Date: Fri, 6 Jun 2025 15:26:14 +0200 Subject: [PATCH 07/49] docker_28: 28.1.1 -> 28.2.2 --- pkgs/applications/virtualization/docker/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/virtualization/docker/default.nix b/pkgs/applications/virtualization/docker/default.nix index 5be14107857d..fd980618de81 100644 --- a/pkgs/applications/virtualization/docker/default.nix +++ b/pkgs/applications/virtualization/docker/default.nix @@ -404,11 +404,11 @@ rec { }; docker_28 = callPackage dockerGen rec { - version = "28.1.1"; + version = "28.2.2"; cliRev = "v${version}"; - cliHash = "sha256-bRnJ+c2C4t+94NL82L0S3r84uoJaTDq16YQGvEmo7Sw="; + cliHash = "sha256-ZaKG4H8BqIzgs9OFktH9bjHSf9exAlh5kPCGP021BWI="; mobyRev = "v${version}"; - mobyHash = "sha256-FB9btun41PAqqBjb9Ebn7SyjrIg/ILe3xJ+mqu2lqrs="; + mobyHash = "sha256-Y2yP2NBJLrI83iHe2EoA7/cXiQifrCkUKlwJhINKBXE="; runcRev = "v1.2.6"; runcHash = "sha256-XMN+YKdQOQeOLLwvdrC6Si2iAIyyHD5RgZbrOHrQE/g="; containerdRev = "v1.7.27"; From e3f2110f8eb742b810889d7f7c6dab14747e9869 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 9 Jun 2025 12:21:54 +0000 Subject: [PATCH 08/49] netron: 8.3.5 -> 8.3.8 --- pkgs/by-name/ne/netron/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ne/netron/package.nix b/pkgs/by-name/ne/netron/package.nix index 5269f9261f52..94fe6c1306d7 100644 --- a/pkgs/by-name/ne/netron/package.nix +++ b/pkgs/by-name/ne/netron/package.nix @@ -16,16 +16,16 @@ let in buildNpmPackage (finalAttrs: { pname = "netron"; - version = "8.3.5"; + version = "8.3.8"; src = fetchFromGitHub { owner = "lutzroeder"; repo = "netron"; tag = "v${finalAttrs.version}"; - hash = "sha256-YxvUUn8VWv5M6FvIHJCaXQl7PRGcZ8qSgrZ7K0+8iME="; + hash = "sha256-BHV51d5X8uXnqjCkpVnZX40dAuF2HCNk/6A5cKr9nZE="; }; - npmDepsHash = "sha256-fsF40qUKUNXeqvdM1m/IEgnxRZrnGW/aOYS3oZKQNpk="; + npmDepsHash = "sha256-E4jqaDJqgvOvV+67jtMzt/4YkhQ4GmKati0wuVMC8yI="; nativeBuildInputs = [ jq ]; From a34a22d8b9529df4e92e1e8c3670ac8da2542ab1 Mon Sep 17 00:00:00 2001 From: Wolfgang Walther Date: Sun, 8 Jun 2025 18:51:00 +0200 Subject: [PATCH 09/49] workflows/review-{dismissed,minimize}: init This brings back the "minimize CI reviews after dismissal" job that was previously removed. The first time around, we had a single job triggered by the `pull_request_review` event. This lacks permission to do meaningful stuff, though. This time, we trigger an empty no-op job on `pull_request_review` and then run a second workflow on `workflow_run`. This can run with the proper permissions. --- .github/workflows/dismissed-review.yml | 65 ++++++++++++++++++++++++++ .github/workflows/review-dismissed.yml | 17 +++++++ 2 files changed, 82 insertions(+) create mode 100644 .github/workflows/dismissed-review.yml create mode 100644 .github/workflows/review-dismissed.yml diff --git a/.github/workflows/dismissed-review.yml b/.github/workflows/dismissed-review.yml new file mode 100644 index 000000000000..256627af6616 --- /dev/null +++ b/.github/workflows/dismissed-review.yml @@ -0,0 +1,65 @@ +name: Dismissed review + +on: + workflow_run: + workflows: + - Review dismissed + types: [completed] + +concurrency: + group: ${{ github.workflow }}-${{ github.event_name }}-${{ github.head_ref || github.run_id }} + cancel-in-progress: true + +permissions: + pull-requests: write + +defaults: + run: + shell: bash + +jobs: + # The `check-cherry-picks` workflow creates review comments which reviewers + # are encouraged to manually dismiss if they're not relevant. + # When a CI-generated review is dismissed, this job automatically minimizes + # it, preventing it from cluttering the PR. + minimize: + name: Minimize as resolved + runs-on: ubuntu-24.04-arm + steps: + - uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1 + with: + script: | + // PRs from forks don't have any PRs associated by default. + // Thus, we request the PR number with an API call *to* the fork's repo. + // Multiple pull requests can be open from the same head commit, either via + // different base branches or head branches. + const { head_repository, head_sha, repository } = context.payload.workflow_run + await Promise.all( + (await github.paginate(github.rest.repos.listPullRequestsAssociatedWithCommit, { + owner: head_repository.owner.login, + repo: head_repository.name, + commit_sha: head_sha + })) + .filter(pull_request => pull_request.base.repo.id == repository.id) + .map(async (pull_request) => + Promise.all( + (await github.paginate(github.rest.pulls.listReviews, { + owner: context.repo.owner, + repo: context.repo.repo, + pull_number: pull_request.number + })).filter(review => + review.user.login == 'github-actions[bot]' && + review.state == 'DISMISSED' + ).map(review => github.graphql(` + mutation($node_id:ID!) { + minimizeComment(input: { + classifier: RESOLVED, + subjectId: $node_id + }) + { clientMutationId } + }`, + { node_id: review.node_id } + )) + ) + ) + ) diff --git a/.github/workflows/review-dismissed.yml b/.github/workflows/review-dismissed.yml new file mode 100644 index 000000000000..988b4a47df14 --- /dev/null +++ b/.github/workflows/review-dismissed.yml @@ -0,0 +1,17 @@ +name: Review dismissed + +on: + pull_request_review: + types: [dismissed] + +permissions: {} + +defaults: + run: + shell: bash + +jobs: + trigger: + runs-on: ubuntu-24.04-arm + steps: + - run: echo This is a no-op only used as a trigger for workflow_run. From 2d0bcd7165516e90df43582667ec6c1918ba48f1 Mon Sep 17 00:00:00 2001 From: Wolfgang Walther Date: Sun, 8 Jun 2025 20:06:00 +0200 Subject: [PATCH 10/49] workflows/labels: move labels logic from eval workflow This moves the actual labeling from the eval workflow to the labels workflow. At this stage, this only has a disadvantage: Adding the topic-labels to the pull request will now only happen after eval has finished, instead of instantly. We will only benefit from this later, when we manage approval related events. With this change, we will have the comparison results and thus the package maintainer info available. --- .github/workflows/eval.yml | 50 ++++++------------------------ .github/workflows/labels.yml | 60 ++++++++++++++++++++++++++++++++++-- 2 files changed, 67 insertions(+), 43 deletions(-) diff --git a/.github/workflows/eval.yml b/.github/workflows/eval.yml index bb99c0dfbc68..98535776a98d 100644 --- a/.github/workflows/eval.yml +++ b/.github/workflows/eval.yml @@ -213,46 +213,6 @@ jobs: name: comparison path: comparison/* - - name: Labelling pull request - if: ${{ github.event_name == 'pull_request_target' }} - uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1 - with: - script: | - const { readFile } = require('node:fs/promises') - - const pr = { - owner: context.repo.owner, - repo: context.repo.repo, - issue_number: context.payload.pull_request.number - } - - // Get all currently set labels that we manage - const before = - (await github.paginate(github.rest.issues.listLabelsOnIssue, pr)) - .map(({ name }) => name) - .filter(name => name.startsWith('10.rebuild') || name == '11.by: package-maintainer') - - // And the labels that should be there - const after = JSON.parse(await readFile('comparison/changed-paths.json', 'utf-8')).labels - - // Remove the ones not needed anymore - await Promise.all( - before.filter(name => !after.includes(name)) - .map(name => github.rest.issues.removeLabel({ - ...pr, - name - })) - ) - - // And add the ones that aren't set already - const added = after.filter(name => !before.includes(name)) - if (added.length > 0) { - await github.rest.issues.addLabels({ - ...pr, - labels: added - }) - } - - name: Add eval summary to commit statuses if: ${{ github.event_name == 'pull_request_target' }} uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1 @@ -285,6 +245,16 @@ jobs: target_url }) + labels: + name: Labels + needs: [ compare ] + uses: ./.github/workflows/labels.yml + permissions: + issues: write + pull-requests: write + with: + caller: ${{ github.workflow }} + reviewers: name: Reviewers # No dependency on "compare", so that it can start at the same time. diff --git a/.github/workflows/labels.yml b/.github/workflows/labels.yml index 5cdec70b62ce..5d279d76d2be 100644 --- a/.github/workflows/labels.yml +++ b/.github/workflows/labels.yml @@ -6,14 +6,18 @@ name: "Label PR" on: - pull_request_target: + workflow_call: + inputs: + caller: + description: Name of the calling workflow. + required: true + type: string concurrency: - group: ${{ github.workflow }}-${{ github.event_name }}-${{ github.head_ref || github.run_id }} + group: ${{ inputs.caller }}-${{ github.workflow }}-${{ github.event_name }}-${{ github.head_ref || github.run_id }} cancel-in-progress: true permissions: - contents: read issues: write # needed to create *new* labels pull-requests: write @@ -23,7 +27,55 @@ jobs: runs-on: ubuntu-24.04-arm if: "!contains(github.event.pull_request.title, '[skip treewide]')" steps: + - name: Download the comparison results + uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8 + with: + pattern: comparison + path: comparison + merge-multiple: true + + - name: Labels from eval + if: ${{ github.event_name != 'pull_request' }} + uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1 + with: + script: | + const { readFile } = require('node:fs/promises') + + const pr = { + owner: context.repo.owner, + repo: context.repo.repo, + issue_number: context.payload.pull_request.number + } + + // Get all currently set labels that we manage + const before = + (await github.paginate(github.rest.issues.listLabelsOnIssue, pr)) + .map(({ name }) => name) + .filter(name => name.startsWith('10.rebuild') || name == '11.by: package-maintainer') + + // And the labels that should be there + const after = JSON.parse(await readFile('comparison/changed-paths.json', 'utf-8')).labels + + // Remove the ones not needed anymore + await Promise.all( + before.filter(name => !after.includes(name)) + .map(name => github.rest.issues.removeLabel({ + ...pr, + name + })) + ) + + // And add the ones that aren't set already + const added = after.filter(name => !before.includes(name)) + if (added.length > 0) { + await github.rest.issues.addLabels({ + ...pr, + labels: added + }) + } + - uses: actions/labeler@8558fd74291d67161a8a78ce36a881fa63b766a9 # v5.0.0 + name: Labels from touched files if: | github.event.pull_request.head.repo.owner.login != 'NixOS' || !( github.head_ref == 'haskell-updates' || @@ -36,6 +88,7 @@ jobs: configuration-path: .github/labeler.yml # default sync-labels: true - uses: actions/labeler@8558fd74291d67161a8a78ce36a881fa63b766a9 # v5.0.0 + name: Labels from touched files (no sync) if: | github.event.pull_request.head.repo.owner.login != 'NixOS' || !( github.head_ref == 'haskell-updates' || @@ -48,6 +101,7 @@ jobs: configuration-path: .github/labeler-no-sync.yml sync-labels: false - uses: actions/labeler@8558fd74291d67161a8a78ce36a881fa63b766a9 # v5.0.0 + name: Labels from touched files (development branches) # Development branches like staging-next, haskell-updates and python-updates get special labels. # This is to avoid the mass of labels there, which is mostly useless - and really annoying for # the backport labels. From 5f09e16f001a875e6fe7060dd49062bfe2312d76 Mon Sep 17 00:00:00 2001 From: Wolfgang Walther Date: Sun, 8 Jun 2025 21:54:48 +0200 Subject: [PATCH 11/49] workflows/labels: manage approval labels The category 12 labels for number of approvals and approved by package maintainer are now automatically managed by the labels workflow. The logic is slightly different from the "by: package-maintainer" label. For approval, it's enough if *any one* maintainer approves the PR to have the label added, even if the PR touches multiple packages. The workflow only counts approved reviews, no matter whether there had been a push in the meantime or not. To achieve the currently used logic of "expiring approvals after push", we will have to set up a branch protection rule, which actually dismissed those reviews automatically. --- .github/workflows/labels.yml | 122 +++++++++++++++++++------ .github/workflows/review-submitted.yml | 17 ++++ 2 files changed, 111 insertions(+), 28 deletions(-) create mode 100644 .github/workflows/review-submitted.yml diff --git a/.github/workflows/labels.yml b/.github/workflows/labels.yml index 5d279d76d2be..6aa8ecd1b822 100644 --- a/.github/workflows/labels.yml +++ b/.github/workflows/labels.yml @@ -12,6 +12,11 @@ on: description: Name of the calling workflow. required: true type: string + workflow_run: + workflows: + - Review dismissed + - Review submitted + types: [completed] concurrency: group: ${{ inputs.caller }}-${{ github.workflow }}-${{ github.event_name }}-${{ github.head_ref || github.run_id }} @@ -27,56 +32,113 @@ jobs: runs-on: ubuntu-24.04-arm if: "!contains(github.event.pull_request.title, '[skip treewide]')" steps: + - uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1 + id: eval + with: + script: | + const run_id = (await github.rest.actions.listWorkflowRuns({ + owner: context.repo.owner, + repo: context.repo.repo, + workflow_id: 'eval.yml', + event: 'pull_request_target', + head_sha: context.payload.pull_request?.head.sha ?? context.payload.workflow_run.head_sha + })).data.workflow_runs[0]?.id + core.setOutput('run-id', run_id) + - name: Download the comparison results + if: steps.eval.outputs.run-id uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8 with: + run-id: ${{ steps.eval.outputs.run-id }} + github-token: ${{ github.token }} pattern: comparison path: comparison merge-multiple: true - name: Labels from eval - if: ${{ github.event_name != 'pull_request' }} + if: steps.eval.outputs.run-id && github.event_name != 'pull_request' uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1 with: script: | const { readFile } = require('node:fs/promises') - const pr = { - owner: context.repo.owner, - repo: context.repo.repo, - issue_number: context.payload.pull_request.number + let pull_requests + if (context.payload.workflow_run) { + // PRs from forks don't have any PRs associated by default. + // Thus, we request the PR number with an API call *to* the fork's repo. + // Multiple pull requests can be open from the same head commit, either via + // different base branches or head branches. + const { head_repository, head_sha, repository } = context.payload.workflow_run + pull_requests = (await github.paginate(github.rest.repos.listPullRequestsAssociatedWithCommit, { + owner: head_repository.owner.login, + repo: head_repository.name, + commit_sha: head_sha + })).filter(pull_request => pull_request.base.repo.id == repository.id) + } else { + pull_requests = [ context.payload.pull_request ] } - // Get all currently set labels that we manage - const before = - (await github.paginate(github.rest.issues.listLabelsOnIssue, pr)) - .map(({ name }) => name) - .filter(name => name.startsWith('10.rebuild') || name == '11.by: package-maintainer') - - // And the labels that should be there - const after = JSON.parse(await readFile('comparison/changed-paths.json', 'utf-8')).labels - - // Remove the ones not needed anymore await Promise.all( - before.filter(name => !after.includes(name)) - .map(name => github.rest.issues.removeLabel({ - ...pr, - name - })) - ) + pull_requests.map(async (pull_request) => { + const pr = { + owner: context.repo.owner, + repo: context.repo.repo, + issue_number: pull_request.number + } - // And add the ones that aren't set already - const added = after.filter(name => !before.includes(name)) - if (added.length > 0) { - await github.rest.issues.addLabels({ - ...pr, - labels: added + // Get all currently set labels that we manage + const before = + (await github.paginate(github.rest.issues.listLabelsOnIssue, pr)) + .map(({ name }) => name) + .filter(name => + name.startsWith('10.rebuild') || + name == '11.by: package-maintainer' || + name.startsWith('12.approvals:') || + name == '12.approved-by: package-maintainer' + ) + + const approvals = + (await github.paginate(github.rest.pulls.listReviews, { + owner: context.repo.owner, + repo: context.repo.repo, + pull_number: pull_request.number + })) + .filter(review => review.state == 'APPROVED') + .map(review => review.user.id) + + const maintainers = Object.keys( + JSON.parse(await readFile('comparison/maintainers.json', 'utf-8')) + ) + + // And the labels that should be there + const after = JSON.parse(await readFile('comparison/changed-paths.json', 'utf-8')).labels + if (approvals.length > 0) after.push(`12.approvals: ${approvals.length > 2 ? '3+' : approvals.length}`) + if (maintainers.some(id => approvals.includes(id))) after.push('12.approved-by: package-maintainer') + + // Remove the ones not needed anymore + await Promise.all( + before.filter(name => !after.includes(name)) + .map(name => github.rest.issues.removeLabel({ + ...pr, + name + })) + ) + + // And add the ones that aren't set already + const added = after.filter(name => !before.includes(name)) + if (added.length > 0) { + await github.rest.issues.addLabels({ + ...pr, + labels: added + }) + } }) - } + ) - uses: actions/labeler@8558fd74291d67161a8a78ce36a881fa63b766a9 # v5.0.0 name: Labels from touched files if: | + github.event_name != 'workflow_run' && github.event.pull_request.head.repo.owner.login != 'NixOS' || !( github.head_ref == 'haskell-updates' || github.head_ref == 'python-updates' || @@ -87,9 +149,11 @@ jobs: repo-token: ${{ secrets.GITHUB_TOKEN }} configuration-path: .github/labeler.yml # default sync-labels: true + - uses: actions/labeler@8558fd74291d67161a8a78ce36a881fa63b766a9 # v5.0.0 name: Labels from touched files (no sync) if: | + github.event_name != 'workflow_run' && github.event.pull_request.head.repo.owner.login != 'NixOS' || !( github.head_ref == 'haskell-updates' || github.head_ref == 'python-updates' || @@ -100,12 +164,14 @@ jobs: repo-token: ${{ secrets.GITHUB_TOKEN }} configuration-path: .github/labeler-no-sync.yml sync-labels: false + - uses: actions/labeler@8558fd74291d67161a8a78ce36a881fa63b766a9 # v5.0.0 name: Labels from touched files (development branches) # Development branches like staging-next, haskell-updates and python-updates get special labels. # This is to avoid the mass of labels there, which is mostly useless - and really annoying for # the backport labels. if: | + github.event_name != 'workflow_run' && github.event.pull_request.head.repo.owner.login == 'NixOS' && ( github.head_ref == 'haskell-updates' || github.head_ref == 'python-updates' || diff --git a/.github/workflows/review-submitted.yml b/.github/workflows/review-submitted.yml new file mode 100644 index 000000000000..69663054f15b --- /dev/null +++ b/.github/workflows/review-submitted.yml @@ -0,0 +1,17 @@ +name: Review submitted + +on: + pull_request_review: + types: [submitted] + +permissions: {} + +defaults: + run: + shell: bash + +jobs: + trigger: + runs-on: ubuntu-24.04-arm + steps: + - run: echo This is a no-op only used as a trigger for workflow_run. From 3c30885918bb5895300617356633d4e1e3b35f88 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 11 Jun 2025 01:32:32 +0000 Subject: [PATCH 12/49] firezone-headless-client: 1.4.8 -> 1.5.0 --- pkgs/by-name/fi/firezone-headless-client/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/fi/firezone-headless-client/package.nix b/pkgs/by-name/fi/firezone-headless-client/package.nix index ccb5c9dde5b9..3b18f16e89aa 100644 --- a/pkgs/by-name/fi/firezone-headless-client/package.nix +++ b/pkgs/by-name/fi/firezone-headless-client/package.nix @@ -6,16 +6,16 @@ }: rustPlatform.buildRustPackage rec { pname = "firezone-headless-client"; - version = "1.4.8"; + version = "1.5.0"; src = fetchFromGitHub { owner = "firezone"; repo = "firezone"; tag = "headless-client-${version}"; - hash = "sha256-JfsOiNTwwpO998mKA1ZGZTdZfzOgP6AKBkg8cuaqKr0="; + hash = "sha256-3iU7AHu3GupqiZEDkuOEb+rFPA2KB1fjVNX1BY4abXc="; }; useFetchCargoVendor = true; - cargoHash = "sha256-Ok+pyGG5VHJbsKenKBr0mM1XRoOiAso0ebeQ5hDuwjM="; + cargoHash = "sha256-p2zLhLFL6NbHvVojQU5+1amf+Kh0jRAbIESPt2vqWwg="; sourceRoot = "${src.name}/rust"; buildAndTestSubdir = "headless-client"; RUSTFLAGS = "--cfg system_certs"; From fa0cb420b7a9ef58bc200b999490b9cdc52b6f33 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 11 Jun 2025 04:16:48 +0000 Subject: [PATCH 13/49] grafana-alloy: 1.8.3 -> 1.9.1 --- pkgs/by-name/gr/grafana-alloy/package.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/gr/grafana-alloy/package.nix b/pkgs/by-name/gr/grafana-alloy/package.nix index 236d6ea97f4e..c7847d1ed91f 100644 --- a/pkgs/by-name/gr/grafana-alloy/package.nix +++ b/pkgs/by-name/gr/grafana-alloy/package.nix @@ -17,17 +17,17 @@ buildGoModule rec { pname = "grafana-alloy"; - version = "1.8.3"; + version = "1.9.1"; src = fetchFromGitHub { owner = "grafana"; repo = "alloy"; tag = "v${version}"; - hash = "sha256-Uec8DnT6tZcHYchDJr5F0t5kkEjKPOKPkdbr4Rtm51c="; + hash = "sha256-j3zuV+a3hLgHrb1jcPav9AhQpT8WT/cP4KSZ9gJY0p4="; }; proxyVendor = true; - vendorHash = "sha256-b0byafxHXnrYg2dQ0hoNvo0+jmCOJ4/hVMV8J7g7MBc="; + vendorHash = "sha256-bePkYhKL8yNzVgX3Can9jyC1WKFQzHoX+L3qapZ0fjQ="; nativeBuildInputs = [ fixup-yarn-lock @@ -70,7 +70,7 @@ buildGoModule rec { yarnOfflineCache = fetchYarnDeps { yarnLock = "${src}/internal/web/ui/yarn.lock"; - hash = "sha256-gKCjJe3TVpaHm/gwaNh4zeL5k4jlbWfF94aDYQ1brU8="; + hash = "sha256-oCDP2XJczLXgzEjyvFEIFBanlnzjrj0So09izG5vufs="; }; preBuild = '' From 1b77e556ff46cdc72dd47f18aa8eb345a17888c4 Mon Sep 17 00:00:00 2001 From: Tom van Dijk <18gatenmaker6@gmail.com> Date: Wed, 11 Jun 2025 13:08:36 +0200 Subject: [PATCH 14/49] telegram-desktop: make kimageformats linux-only dependency --- .../telegram/telegram-desktop/default.nix | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/pkgs/applications/networking/instant-messengers/telegram/telegram-desktop/default.nix b/pkgs/applications/networking/instant-messengers/telegram/telegram-desktop/default.nix index c0a6b0c92e3a..642f6c22de4f 100644 --- a/pkgs/applications/networking/instant-messengers/telegram/telegram-desktop/default.nix +++ b/pkgs/applications/networking/instant-messengers/telegram/telegram-desktop/default.nix @@ -9,6 +9,9 @@ qtsvg, qtwayland, kimageformats, + libavif, + libheif, + libjxl, wrapGAppsHook3, wrapQtAppsHook, glib-networking, @@ -34,11 +37,16 @@ stdenv.mkDerivation (finalAttrs: { qtbase qtimageformats qtsvg - kimageformats ] ++ lib.optionals stdenv.hostPlatform.isLinux [ + kimageformats qtwayland ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + libavif + libheif + libjxl + ] ++ lib.optionals withWebkit [ glib-networking ]; From 288b6609cb06c131e79d975c9b2d1347f3628b90 Mon Sep 17 00:00:00 2001 From: griffi-gh Date: Wed, 11 Jun 2025 17:35:12 +0200 Subject: [PATCH 15/49] nixos/gatus: fix missing CAP_NET_RAW (#415877) --- nixos/modules/services/monitoring/gatus.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/nixos/modules/services/monitoring/gatus.nix b/nixos/modules/services/monitoring/gatus.nix index 408115f5d514..5954f5bd7a20 100644 --- a/nixos/modules/services/monitoring/gatus.nix +++ b/nixos/modules/services/monitoring/gatus.nix @@ -118,6 +118,10 @@ in StateDirectory = "gatus"; SyslogIdentifier = "gatus"; EnvironmentFile = lib.optional (cfg.environmentFile != null) cfg.environmentFile; + # see https://github.com/prometheus-community/pro-bing#linux + AmbientCapabilities = "CAP_NET_RAW"; + CapabilityBoundingSet = "CAP_NET_RAW"; + NoNewPrivileges = true; }; environment = { From a3374298bfeef199721e99e13a65b742d345e144 Mon Sep 17 00:00:00 2001 From: Weijia Wang <9713184+wegank@users.noreply.github.com> Date: Tue, 10 Jun 2025 06:09:41 +0200 Subject: [PATCH 16/49] lkl: fix loongarch64-linux build --- pkgs/by-name/lk/lkl/package.nix | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/lk/lkl/package.nix b/pkgs/by-name/lk/lkl/package.nix index 81b2542f5465..f9b208c05d56 100644 --- a/pkgs/by-name/lk/lkl/package.nix +++ b/pkgs/by-name/lk/lkl/package.nix @@ -53,7 +53,7 @@ stdenv.mkDerivation { # Fixup build with newer Linux headers: https://github.com/lkl/linux/pull/484 sed '1i#include ' -i tools/lkl/lib/hijack/xlate.c '' - + lib.optionalString stdenv.hostPlatform.isi686 '' + + lib.optionalString (stdenv.hostPlatform.isi686 || stdenv.hostPlatform.isLoongArch64) '' echo CONFIG_KALLSYMS=n >> arch/lkl/configs/defconfig echo CONFIG_KALLSYMS_BASE_RELATIVE=n >> arch/lkl/configs/defconfig '' @@ -92,6 +92,12 @@ stdenv.mkDerivation { # symbol lookup error: liblkl-hijack.so: undefined symbol: __aarch64_ldadd4_sync env.NIX_CFLAGS_LINK = "-lgcc_s"; + # Fixes the following error when linking on loongarch64-linux: + # ld: tools/lkl/liblkl.a(lkl.o): relocation R_LARCH_PCREL20_S2 overflow 0x200090 + # ld: recompile with 'gcc -mno-relax' or 'as -mno-relax' or 'ld --no-relax' + # ld: final link failed: bad value + env.NIX_LDFLAGS = lib.optionalString stdenv.hostPlatform.isLoongArch64 "--no-relax"; + makeFlags = [ "-C tools/lkl" "CC=${stdenv.cc}/bin/${stdenv.cc.targetPrefix}cc" From c21b1335ba6e4aa0c67f44c6ae3fbcfd5040e723 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 12 Jun 2025 03:06:34 +0000 Subject: [PATCH 17/49] ueberzugpp: 2.9.6 -> 2.9.7 --- pkgs/by-name/ue/ueberzugpp/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ue/ueberzugpp/package.nix b/pkgs/by-name/ue/ueberzugpp/package.nix index 6d44c5905b93..ca13763f34f3 100644 --- a/pkgs/by-name/ue/ueberzugpp/package.nix +++ b/pkgs/by-name/ue/ueberzugpp/package.nix @@ -32,13 +32,13 @@ stdenv.mkDerivation rec { pname = "ueberzugpp"; - version = "2.9.6"; + version = "2.9.7"; src = fetchFromGitHub { owner = "jstkdng"; repo = "ueberzugpp"; rev = "v${version}"; - hash = "sha256-qo9Rwnx6Oh8DRcCBUMS3JVdNyx1iZSB2Z1qfptUoPFQ="; + hash = "sha256-FR05vBKIMbGiOnugkBi8IkLfHU7LzNF2ihxD7FWWYGU="; }; strictDeps = true; From 18ee421781c941832342b5be6d0c5ff0e1a56019 Mon Sep 17 00:00:00 2001 From: rewine Date: Thu, 12 Jun 2025 15:05:50 +0800 Subject: [PATCH 18/49] vivaldi: 7.4.3684.46 -> 7.4.3684.50 --- pkgs/by-name/vi/vivaldi/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/vi/vivaldi/package.nix b/pkgs/by-name/vi/vivaldi/package.nix index 70a9d9c87ce2..0b897add5442 100644 --- a/pkgs/by-name/vi/vivaldi/package.nix +++ b/pkgs/by-name/vi/vivaldi/package.nix @@ -66,7 +66,7 @@ stdenv.mkDerivation rec { pname = "vivaldi"; - version = "7.4.3684.46"; + version = "7.4.3684.50"; suffix = { @@ -79,8 +79,8 @@ stdenv.mkDerivation rec { url = "https://downloads.vivaldi.com/stable/vivaldi-stable_${version}-1_${suffix}.deb"; hash = { - aarch64-linux = "sha256-vcTuqCZy0OlfO5Iz06QVGJRtT3L55wWdmE9R6Y3P1/k="; - x86_64-linux = "sha256-uD2CZ4OEZbLIDgl3VGdHwr0edyJd4Gv/C22Z5wQMYk8="; + aarch64-linux = "sha256-we9+rJ8hOiMboNmcLlu6V/2Q/1lAwpQ+hu9s+JVXJcI="; + x86_64-linux = "sha256-JC/vKl2BU+P6qyU8WhiLoVd4nEG2EYYvwOVPqdVa2Eo="; } .${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); }; From db803769e15db53d8779ced96b176d8f7c1ea385 Mon Sep 17 00:00:00 2001 From: loner <2788892716@qq.com> Date: Sun, 8 Jun 2025 20:38:34 +0800 Subject: [PATCH 19/49] maintainers: add lonerOrz --- maintainers/maintainer-list.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index be7941a57f06..75286308e72d 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -14345,6 +14345,12 @@ name = "legendofmiracles"; keys = [ { fingerprint = "CC50 F82C 985D 2679 0703 AF15 19B0 82B3 DEFE 5451"; } ]; }; + lonerOrz = { + email = "2788892716@qq.com"; + name = "lonerOrz"; + github = "lonerOrz"; + githubId = 68736947; + }; longer = { email = "michal@mieszczak.com.pl"; name = "Michał Mieszczak"; From 80f7a889ec92ead5357cb354087a630c7465ea47 Mon Sep 17 00:00:00 2001 From: loner <2788892716@qq.com> Date: Sun, 8 Jun 2025 20:37:32 +0800 Subject: [PATCH 20/49] mpv-handler: init at 0.3.16 --- pkgs/by-name/mp/mpv-handler/package.nix | 50 +++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 pkgs/by-name/mp/mpv-handler/package.nix diff --git a/pkgs/by-name/mp/mpv-handler/package.nix b/pkgs/by-name/mp/mpv-handler/package.nix new file mode 100644 index 000000000000..389c9bb96357 --- /dev/null +++ b/pkgs/by-name/mp/mpv-handler/package.nix @@ -0,0 +1,50 @@ +{ + lib, + rustPlatform, + fetchFromGitHub, + makeWrapper, + mpv, + yt-dlp, + nix-update-script, +}: +rustPlatform.buildRustPackage rec { + pname = "mpv-handler"; + version = "0.3.16"; + + src = fetchFromGitHub { + owner = "akiirui"; + repo = "mpv-handler"; + tag = "v${version}"; + hash = "sha256-RpfHUVZmhtneeu8PIfxinYG3/groJPA9QveDSvzU6Zo="; + }; + + cargoHash = "sha256-FrE1PSRc7GTNUum05jNgKnzpDUc3FiS5CEM18It0lYY="; + useFetchCargoVendor = true; + + passthru.updateScript = nix-update-script { }; + + nativeBuildInputs = [ makeWrapper ]; + + postInstall = '' + install -Dm644 share/linux/mpv-handler.desktop -t $out/share/applications/ + install -Dm644 share/linux/mpv-handler-debug.desktop -t $out/share/applications/ + install -Dm644 share/linux/config.toml -t $out/share/doc/mpv-handler/ + + wrapProgram $out/bin/mpv-handler \ + --prefix PATH : ${ + lib.makeBinPath [ + mpv + yt-dlp + ] + } + ''; + + meta = { + description = "Play website videos and songs with mpv & yt-dlp"; + homepage = "https://github.com/akiirui/mpv-handler"; + mainProgram = "mpv-handler"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ lonerOrz ]; + platforms = lib.platforms.linux; + }; +} From 6c455620b31860de5c0b0de124a321a4aa5e4414 Mon Sep 17 00:00:00 2001 From: Wolfgang Walther Date: Thu, 12 Jun 2025 14:10:21 +0200 Subject: [PATCH 21/49] postgresqlPackages.timescaledb: fix passthru tests timescaledb_toolkit never was a library to be preloaded anyway, it must have found its way in there by accident. The extension is created via CREATE EXTENSION, and that's enough for the test to pass. The reason this fails is, because a recent commit changed the way the timescaledb_toolkit.so library is created - it now carries a version number, which makes PostgreSQL not able to find it. --- pkgs/servers/sql/postgresql/ext/timescaledb.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/servers/sql/postgresql/ext/timescaledb.nix b/pkgs/servers/sql/postgresql/ext/timescaledb.nix index 0152be513915..349732a40010 100644 --- a/pkgs/servers/sql/postgresql/ext/timescaledb.nix +++ b/pkgs/servers/sql/postgresql/ext/timescaledb.nix @@ -53,7 +53,7 @@ postgresqlBuildExtension (finalAttrs: { inherit (finalAttrs) finalPackage; withPackages = [ "timescaledb_toolkit" ]; postgresqlExtraSettings = '' - shared_preload_libraries='timescaledb,timescaledb_toolkit' + shared_preload_libraries='timescaledb' ''; sql = '' CREATE EXTENSION timescaledb; From 3bb2d75764bcd70bfcd302f7644a20b9b81a11d0 Mon Sep 17 00:00:00 2001 From: aleksana Date: Fri, 13 Jun 2025 01:23:50 +0800 Subject: [PATCH 22/49] perl: add perl team to teams --- pkgs/development/interpreters/perl/interpreter.nix | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/pkgs/development/interpreters/perl/interpreter.nix b/pkgs/development/interpreters/perl/interpreter.nix index f75a504b14de..cfa0fa130ce9 100644 --- a/pkgs/development/interpreters/perl/interpreter.nix +++ b/pkgs/development/interpreters/perl/interpreter.nix @@ -304,12 +304,13 @@ stdenv.mkDerivation ( "$mini/lib/perl5/cross_perl/${version}:$out/lib/perl5/${version}:$out/lib/perl5/${version}/$runtimeArch" ''; # */ - meta = with lib; { + meta = { homepage = "https://www.perl.org/"; description = "Standard implementation of the Perl 5 programming language"; - license = licenses.artistic1; + license = lib.licenses.artistic1; maintainers = [ ]; - platforms = platforms.all; + teams = [ lib.teams.perl ]; + platforms = lib.platforms.all; priority = 6; # in `buildEnv' (including the one inside `perl.withPackages') the library files will have priority over files in `perl` mainProgram = "perl"; }; From 58bebed9a62541873245ba6889d7ab08670f309b Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 12 Jun 2025 17:42:06 +0000 Subject: [PATCH 23/49] uxplay: 1.72 -> 1.72.1 --- pkgs/by-name/ux/uxplay/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ux/uxplay/package.nix b/pkgs/by-name/ux/uxplay/package.nix index a00a0875fa26..ffa2cfb26dcc 100644 --- a/pkgs/by-name/ux/uxplay/package.nix +++ b/pkgs/by-name/ux/uxplay/package.nix @@ -15,13 +15,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "uxplay"; - version = "1.72"; + version = "1.72.1"; src = fetchFromGitHub { owner = "FDH2"; repo = "UxPlay"; rev = "v${finalAttrs.version}"; - hash = "sha256-pS9TgGymQwSDBrhHMQYasJfDchMap49fhHTgxYzq+L4="; + hash = "sha256-qb4wsVPdT4rRQxHjLnft0C1D41IhA7M0ZqiLL65r3Ns="; }; postPatch = '' From e6f5e3abf65388ffe147a775bcce71e32403c8ae Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 12 Jun 2025 20:38:45 +0000 Subject: [PATCH 24/49] cargo-careful: 0.4.6 -> 0.4.7 --- pkgs/by-name/ca/cargo-careful/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ca/cargo-careful/package.nix b/pkgs/by-name/ca/cargo-careful/package.nix index 5cd6a3c6d920..23c14d69b169 100644 --- a/pkgs/by-name/ca/cargo-careful/package.nix +++ b/pkgs/by-name/ca/cargo-careful/package.nix @@ -6,17 +6,17 @@ rustPlatform.buildRustPackage rec { pname = "cargo-careful"; - version = "0.4.6"; + version = "0.4.7"; src = fetchFromGitHub { owner = "RalfJung"; repo = "cargo-careful"; rev = "v${version}"; - hash = "sha256-aKmaNDk9yZ/1MS3vQ9c1rCySfxiNv8PRwnIjT5bdhMg="; + hash = "sha256-aMQrPJp0AVEYfMlWZBy9IMvQQxlkW7KWuxqLn1Ds2ck="; }; useFetchCargoVendor = true; - cargoHash = "sha256-KtTTpYwhNYvghb8k2NXyCRV5NGn07d7iaW+5uTI6qJ4="; + cargoHash = "sha256-5uMz1j0ZnA4wPMfC2SeY33zsiTt2NNZnWh9th2UJiNI="; meta = with lib; { description = "Tool to execute Rust code carefully, with extra checking along the way"; From 2adb71d14c2e8d42d59a44132f31d01b50d1018d Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 12 Jun 2025 21:02:28 +0000 Subject: [PATCH 25/49] snipaste: 2.10.7 -> 2.10.8 --- pkgs/by-name/sn/snipaste/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/sn/snipaste/package.nix b/pkgs/by-name/sn/snipaste/package.nix index f6eec3131d03..d263602fad1e 100644 --- a/pkgs/by-name/sn/snipaste/package.nix +++ b/pkgs/by-name/sn/snipaste/package.nix @@ -5,10 +5,10 @@ }: let pname = "snipaste"; - version = "2.10.7"; + version = "2.10.8"; src = fetchurl { url = "https://download.snipaste.com/archives/Snipaste-${version}-x86_64.AppImage"; - hash = "sha256-WzCSI0BfjolbWbj/mLhRj75tW/CvlbzQtFuBizg8xl4="; + hash = "sha256-Ieitxc1HPjqBpf7/rREKca+U0srE+q/s8mz+9Vhczk0="; }; contents = appimageTools.extract { inherit pname version src; }; in From 8c0c2e939cf40067891c9b1802ce717f45896689 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 12 Jun 2025 22:51:23 +0000 Subject: [PATCH 26/49] vimPlugins.avante-nvim: 0.0.24-unstable-2025-06-05 -> 0.0.24-unstable-2025-06-12 --- .../vim/plugins/non-generated/avante-nvim/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/editors/vim/plugins/non-generated/avante-nvim/default.nix b/pkgs/applications/editors/vim/plugins/non-generated/avante-nvim/default.nix index 3207844a8a6b..66056a49a10b 100644 --- a/pkgs/applications/editors/vim/plugins/non-generated/avante-nvim/default.nix +++ b/pkgs/applications/editors/vim/plugins/non-generated/avante-nvim/default.nix @@ -12,12 +12,12 @@ pkgs, }: let - version = "0.0.24-unstable-2025-06-05"; + version = "0.0.24-unstable-2025-06-12"; src = fetchFromGitHub { owner = "yetone"; repo = "avante.nvim"; - rev = "12bdb66ea4749f9f59861e7165a4de6cfbf4eb22"; - hash = "sha256-dUtvMkb85HR7xzMoCHeeJIwwyQPdwHNdQHUMyA7+EsU="; + rev = "8a64d454ef8cfaef2c6280efc9a09ba94fec2c42"; + hash = "sha256-45Hnopy5yAFpPFNnsTEmfeFTub5tQvhf4dRYoKC+F0g="; }; avante-nvim-lib = rustPlatform.buildRustPackage { pname = "avante-nvim-lib"; From d03e02a2e1da43fedf1880ff82af5d48ed44a63e Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 12 Jun 2025 22:54:48 +0000 Subject: [PATCH 27/49] git-cliff: 2.9.0 -> 2.9.1 --- pkgs/by-name/gi/git-cliff/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/gi/git-cliff/package.nix b/pkgs/by-name/gi/git-cliff/package.nix index 971f0b6de6ba..87fc5965c585 100644 --- a/pkgs/by-name/gi/git-cliff/package.nix +++ b/pkgs/by-name/gi/git-cliff/package.nix @@ -8,17 +8,17 @@ rustPlatform.buildRustPackage rec { pname = "git-cliff"; - version = "2.9.0"; + version = "2.9.1"; src = fetchFromGitHub { owner = "orhun"; repo = "git-cliff"; rev = "v${version}"; - hash = "sha256-ZxMwQBhU+49+MaId16tH2np2slgCmq4yKi6PI9Dy+o4="; + hash = "sha256-J3KjVPH7shMupogLSfA5HV1FyA+cFSOWP9gMBU6txww="; }; useFetchCargoVendor = true; - cargoHash = "sha256-QPxrdmuQINzuZXyRRYDA+HguRdt6n++XuLj/OF0ceKU="; + cargoHash = "sha256-16ouBn6GQlE1ZVr4g/TicEL0cTiewegGkuhGcJPicrc="; # attempts to run the program on .git in src which is not deterministic doCheck = false; From 8e002d6fb584395573c5a1b1f54b9292e6c27f93 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 12 Jun 2025 23:26:38 +0000 Subject: [PATCH 28/49] bikeshed: 5.2.0 -> 5.2.1 --- pkgs/by-name/bi/bikeshed/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/bi/bikeshed/package.nix b/pkgs/by-name/bi/bikeshed/package.nix index 41e9b1ffaaa6..778f7ce47655 100644 --- a/pkgs/by-name/bi/bikeshed/package.nix +++ b/pkgs/by-name/bi/bikeshed/package.nix @@ -6,12 +6,12 @@ python3Packages.buildPythonApplication rec { pname = "bikeshed"; - version = "5.2.0"; + version = "5.2.1"; pyproject = true; src = fetchPypi { inherit pname version; - hash = "sha256-HUPkLEpwLRnrffUMN62WPqsZX2UsGqPfjEa91UMbUMM="; + hash = "sha256-EMWIHtIomiq7BvnG6x0+gJeSkouWpZzcnqys5mSM7aI="; }; build-system = [ python3Packages.setuptools ]; From 07ffa4a6250e3f6b71d8fde4a5530b3bc5e3fdc6 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 12 Jun 2025 23:33:10 +0000 Subject: [PATCH 29/49] mise: 2025.6.0 -> 2025.6.2 --- pkgs/by-name/mi/mise/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/mi/mise/package.nix b/pkgs/by-name/mi/mise/package.nix index d8d340c6f655..9c00c708bf35 100644 --- a/pkgs/by-name/mi/mise/package.nix +++ b/pkgs/by-name/mi/mise/package.nix @@ -21,17 +21,17 @@ rustPlatform.buildRustPackage rec { pname = "mise"; - version = "2025.6.0"; + version = "2025.6.2"; src = fetchFromGitHub { owner = "jdx"; repo = "mise"; rev = "v${version}"; - hash = "sha256-vlzId9SjxcSQ6DDw0H68zi7xHd2Nn3bPSG+rsR7UEBs="; + hash = "sha256-vptTQdP7r9m328DK7USB6bV7muLVPIkZG8596nfdNQ8="; }; useFetchCargoVendor = true; - cargoHash = "sha256-YVeF+2qJuOMhNQLEpH3P0ufqHU0sBFRHN5yXZGTJEQA="; + cargoHash = "sha256-0PS3WWQo3+fJ2TivvRalYCzDFmNxPRZStJj13kAP9bg="; nativeBuildInputs = [ installShellFiles From 084146d08d1b4ebfe975130fca397f5650c7e03f Mon Sep 17 00:00:00 2001 From: emaryn Date: Fri, 13 Jun 2025 10:54:39 +0800 Subject: [PATCH 30/49] vscode-extensions.hashicorp.terraform: 2.34.3 -> 2.34.4 --- .../hashicorp.terraform/default.nix | 21 ++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/pkgs/applications/editors/vscode/extensions/hashicorp.terraform/default.nix b/pkgs/applications/editors/vscode/extensions/hashicorp.terraform/default.nix index d6a72f85ceef..1fdbc79eb4ee 100644 --- a/pkgs/applications/editors/vscode/extensions/hashicorp.terraform/default.nix +++ b/pkgs/applications/editors/vscode/extensions/hashicorp.terraform/default.nix @@ -1,21 +1,32 @@ { lib, vscode-utils, + jq, + moreutils, terraform-ls, + vscode-extension-update-script, }: + vscode-utils.buildVscodeMarketplaceExtension { mktplcRef = { name = "terraform"; publisher = "hashicorp"; - version = "2.34.3"; - hash = "sha256-kE9xH0cp741aCqhrwFDW+lQxOAsdLNzCCOTWMxd+li0="; + version = "2.34.4"; + hash = "sha256-gTU37q7kh51CxqQE7KylSwEK4ubiUU5uihbFew/Fg98="; }; - postPatch = '' - substituteInPlace dist/extension.js \ - --replace-fail 'this.customBinPath=Ga("terraform").get("languageServer.path")' 'this.customBinPath = Ga("terraform").get("languageServer.path") || '${terraform-ls}/bin/terraform-ls';' + postInstall = '' + cd "$out/$installPrefix" + ${lib.getExe jq} '.contributes.configuration[0].properties."terraform.languageServer.path".default = "${terraform-ls}/bin/terraform-ls"' package.json | ${lib.getExe' moreutils "sponge"} package.json ''; + passthru.updateScript = vscode-extension-update-script { + extraArgs = [ + "--override-filename" + "pkgs/applications/editors/vscode/extensions/hashicorp.terraform/default.nix" + ]; + }; + meta = { license = lib.licenses.mit; maintainers = [ lib.maintainers.rhoriguchi ]; From e5587bf864b005cefd4cdd2322602b2032f939d5 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 13 Jun 2025 05:06:32 +0000 Subject: [PATCH 31/49] protols: 0.12.5 -> 0.12.7 --- pkgs/by-name/pr/protols/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/pr/protols/package.nix b/pkgs/by-name/pr/protols/package.nix index 3b9043a35f16..7a0c870f9155 100644 --- a/pkgs/by-name/pr/protols/package.nix +++ b/pkgs/by-name/pr/protols/package.nix @@ -6,17 +6,17 @@ rustPlatform.buildRustPackage rec { pname = "protols"; - version = "0.12.5"; + version = "0.12.7"; src = fetchFromGitHub { owner = "coder3101"; repo = "protols"; tag = version; - hash = "sha256-zs78TKZU35UGAmEXK3EA9B6zRCqeCtNexHVAJERKyX8="; + hash = "sha256-3XTFKqUPXW7Zm9IruePxq8uY1H/axuE1h22cqQj/YGg="; }; useFetchCargoVendor = true; - cargoHash = "sha256-Lh6KJ5zclT650tPIpMJBALLj4gnis+fglhewiZ5mpMs="; + cargoHash = "sha256-19CNMaDVI804ekxrmUjbx9WmqsG91rviLTsvFtN+D/o="; meta = { description = "Protocol Buffers language server written in Rust"; From 4baddbebedb151584363b54b44d6f6855f6efe8f Mon Sep 17 00:00:00 2001 From: outfoxxed Date: Thu, 12 Jun 2025 18:05:18 -0700 Subject: [PATCH 32/49] quickshell: init at 0.1.0 --- pkgs/by-name/qu/quickshell/package.nix | 82 ++++++++++++++++++++++++++ 1 file changed, 82 insertions(+) create mode 100644 pkgs/by-name/qu/quickshell/package.nix diff --git a/pkgs/by-name/qu/quickshell/package.nix b/pkgs/by-name/qu/quickshell/package.nix new file mode 100644 index 000000000000..d0a63207e014 --- /dev/null +++ b/pkgs/by-name/qu/quickshell/package.nix @@ -0,0 +1,82 @@ +{ + lib, + stdenv, + fetchFromGitea, + + pkg-config, + cmake, + ninja, + spirv-tools, + qt6, + breakpad, + jemalloc, + cli11, + wayland, + wayland-protocols, + wayland-scanner, + xorg, + libdrm, + libgbm, + pipewire, + pam, +}: +stdenv.mkDerivation (finalAttrs: { + pname = "quickshell"; + version = "0.1.0"; + + # github mirror: https://github.com/quickshell-mirror/quickshell + src = fetchFromGitea { + domain = "git.outfoxxed.me"; + owner = "quickshell"; + repo = "quickshell"; + tag = "v${finalAttrs.version}"; + hash = "sha256-DdE50ZJN/mKsSF/vc9hrMboOeJ7BST5DD6GNEXgVbWg="; + }; + + nativeBuildInputs = [ + cmake + ninja + qt6.qtshadertools + spirv-tools + wayland-scanner + qt6.wrapQtAppsHook + pkg-config + ]; + + buildInputs = [ + qt6.qtbase + qt6.qtdeclarative + qt6.qtwayland + qt6.qtsvg + cli11 + wayland + wayland-protocols + libdrm + libgbm + breakpad + jemalloc + xorg.libxcb + pam + pipewire + ]; + + cmakeFlags = [ + (lib.cmakeFeature "DISTRIBUTOR" "Nixpkgs") + (lib.cmakeBool "DISTRIBUTOR_DEBUGINFO_AVAILABLE" true) + (lib.cmakeFeature "INSTALL_QML_PREFIX" qt6.qtbase.qtQmlPrefix) + (lib.cmakeFeature "GIT_REVISION" "tag-v${finalAttrs.version}") + ]; + + cmakeBuildType = "RelWithDebInfo"; + separateDebugInfo = true; + dontStrip = false; + + meta = { + homepage = "https://quickshell.outfoxxed.me"; + description = "Flexbile QtQuick based desktop shell toolkit"; + license = lib.licenses.lgpl3Only; + platforms = lib.platforms.linux; + mainProgram = "quickshell"; + maintainers = with lib.maintainers; [ outfoxxed ]; + }; +}) From 510b526f3ca5cda96a219cce0a930833f6e477c3 Mon Sep 17 00:00:00 2001 From: liberodark Date: Thu, 12 Jun 2025 11:44:49 +0200 Subject: [PATCH 33/49] ocsp-server: 0.4.1 -> 0.6.0 --- pkgs/by-name/oc/ocsp-server/package.nix | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/oc/ocsp-server/package.nix b/pkgs/by-name/oc/ocsp-server/package.nix index 736beb3efb4f..ad5bec716b83 100644 --- a/pkgs/by-name/oc/ocsp-server/package.nix +++ b/pkgs/by-name/oc/ocsp-server/package.nix @@ -6,6 +6,7 @@ openssl, perl, libmysqlclient, + sqlite, mariadb, postgresql, mbedtls, @@ -15,26 +16,33 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "ocsp-server"; - version = "0.4.1"; + version = "0.6.0"; src = fetchFromGitHub { owner = "DorianCoding"; repo = "OCSP-server"; tag = "v${finalAttrs.version}"; - hash = "sha256-xYZ2NM+U7ZW5xDKVUhT+s66i/d7zaDLBbSbr6TDOG0o="; + hash = "sha256-QaPE1mbOI6+D2pPfhpMA8LmWXKqkOoLLBQSVxdlNkoY="; }; useFetchCargoVendor = true; - cargoHash = "sha256-RFrm2dtjJ2VvOg8ee54ps8MuWgsV0kd9rhpzOFTem2k="; + cargoHash = "sha256-qaDnMbAQA5c8Nim28HAN9QB1cxfBRaFAy8xh41Iekds="; + + checkFlags = [ + # Requires database access + "--skip=test::checkconfig" + ]; nativeBuildInputs = [ pkg-config perl libmysqlclient + sqlite ]; buildInputs = [ openssl + sqlite mariadb postgresql mbedtls From 8c1bc204d98b4e9edece53886b3a9897b17c40d2 Mon Sep 17 00:00:00 2001 From: K900 Date: Fri, 13 Jun 2025 09:23:36 +0300 Subject: [PATCH 34/49] path-of-building.data: 2.52.3 -> 2.53.0 Diff: https://github.com/PathOfBuildingCommunity/PathOfBuilding/compare/v2.52.3...v2.53.0 --- pkgs/games/path-of-building/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/games/path-of-building/default.nix b/pkgs/games/path-of-building/default.nix index 753001d192b9..e6f684201393 100644 --- a/pkgs/games/path-of-building/default.nix +++ b/pkgs/games/path-of-building/default.nix @@ -17,13 +17,13 @@ let data = stdenv.mkDerivation (finalAttrs: { pname = "path-of-building-data"; - version = "2.52.3"; + version = "2.53.0"; src = fetchFromGitHub { owner = "PathOfBuildingCommunity"; repo = "PathOfBuilding"; rev = "v${finalAttrs.version}"; - hash = "sha256-hwluSZGYRMN32dSLIe8Cs6l6R84V5fNCuHYtoc7+b00="; + hash = "sha256-LT8EVO/VkwIVF3DbRZiHab5m6TYqhlHDFGai52TBWqo="; }; nativeBuildInputs = [ unzip ]; From 07d9f0bcd7266d14ac35dec44d7aefe7bc2ac71f Mon Sep 17 00:00:00 2001 From: emaryn Date: Mon, 2 Jun 2025 03:59:30 +0800 Subject: [PATCH 35/49] cromite: drop --- pkgs/by-name/cr/cromite/package.nix | 266 ---------------------------- pkgs/by-name/cr/cromite/update.sh | 18 -- pkgs/top-level/aliases.nix | 1 + 3 files changed, 1 insertion(+), 284 deletions(-) delete mode 100644 pkgs/by-name/cr/cromite/package.nix delete mode 100755 pkgs/by-name/cr/cromite/update.sh diff --git a/pkgs/by-name/cr/cromite/package.nix b/pkgs/by-name/cr/cromite/package.nix deleted file mode 100644 index dcd2a8fc0588..000000000000 --- a/pkgs/by-name/cr/cromite/package.nix +++ /dev/null @@ -1,266 +0,0 @@ -{ - lib, - stdenv, - fetchurl, - makeWrapper, - patchelf, - copyDesktopItems, - makeDesktopItem, - - # Linked dynamic libraries. - alsa-lib, - at-spi2-atk, - at-spi2-core, - atk, - cairo, - cups, - dbus, - expat, - fontconfig, - freetype, - gcc-unwrapped, - gdk-pixbuf, - glib, - gtk3, - gtk4, - libdrm, - libglvnd, - libkrb5, - libX11, - libxcb, - libXcomposite, - libXcursor, - libXdamage, - libXext, - libXfixes, - libXi, - libxkbcommon, - libXrandr, - libXrender, - libXScrnSaver, - libxshmfence, - libXtst, - libgbm, - nspr, - nss, - pango, - pipewire, - vulkan-loader, - wayland, # ozone/wayland - - # Command line programs - coreutils, - - # Will crash without. - systemd, - - # Loaded at runtime. - libexif, - pciutils, - - # Additional dependencies according to other distros. - ## Ubuntu - curl, - liberation_ttf, - util-linux, - wget, - xdg-utils, - ## Arch Linux. - flac, - harfbuzz, - icu, - libopus, - libpng, - snappy, - speechd-minimal, - ## Gentoo - bzip2, - libcap, - - # Necessary for USB audio devices. - libpulseaudio, - pulseSupport ? true, - - adwaita-icon-theme, - gsettings-desktop-schemas, - - # For video acceleration via VA-API (--enable-features=VaapiVideoDecoder) - libva, - libvaSupport ? true, - - # For Vulkan support (--enable-features=Vulkan) - addDriverRunpath, - - # For QT support - qt6, - - # command line arguments which are always set e.g "--disable-gpu" - commandLineArgs ? "", -}: - -let - opusWithCustomModes = libopus.override { withCustomModes = true; }; - - deps = - [ - alsa-lib - at-spi2-atk - at-spi2-core - atk - bzip2 - cairo - coreutils - cups - curl - dbus - expat - flac - fontconfig - freetype - gcc-unwrapped.lib - gdk-pixbuf - glib - harfbuzz - icu - libcap - libdrm - liberation_ttf - libexif - libglvnd - libkrb5 - libpng - libX11 - libxcb - libXcomposite - libXcursor - libXdamage - libXext - libXfixes - libXi - libxkbcommon - libXrandr - libXrender - libXScrnSaver - libxshmfence - libXtst - libgbm - nspr - nss - opusWithCustomModes - pango - pciutils - pipewire - snappy - speechd-minimal - systemd - util-linux - vulkan-loader - wayland - wget - ] - ++ lib.optionals pulseSupport [ libpulseaudio ] - ++ lib.optionals libvaSupport [ libva ] - ++ [ - gtk3 - gtk4 - qt6.qtbase - qt6.qtwayland - ]; -in -stdenv.mkDerivation (finalAttrs: { - pname = "cromite"; - version = "137.0.7151.72"; - commit = "4ea840397d139bcaf3298a54a80a93d135f7dac7"; - - src = fetchurl { - url = "https://github.com/uazo/cromite/releases/download/v${finalAttrs.version}-${finalAttrs.commit}/chrome-lin64.tar.gz"; - hash = "sha256-WqOQaoboRqgYXW2tzyW3LMo5WRA8l5UWjUnfBIq6r9k="; - }; - - # With strictDeps on, some shebangs were not being patched correctly - # ie, $out/share/cromite/chrome - strictDeps = false; - - nativeBuildInputs = [ - makeWrapper - patchelf - copyDesktopItems - ]; - - buildInputs = [ - # needed for XDG_ICON_DIRS - adwaita-icon-theme - glib - gtk3 - gtk4 - # needed for GSETTINGS_SCHEMAS_PATH - gsettings-desktop-schemas - ]; - - rpath = lib.makeLibraryPath deps + ":" + lib.makeSearchPathOutput "lib" "lib64" deps; - - binpath = lib.makeBinPath deps; - - desktopItems = [ - (makeDesktopItem { - name = "cromite"; - exec = "cromite %U"; - icon = "cromite"; - genericName = "Cromite"; - desktopName = "Cromite"; - categories = [ - "Application" - "Network" - "WebBrowser" - ]; - }) - ]; - - installPhase = '' - runHook preInstall - - install -Dm644 product_logo_48.png $out/share/pixmaps/cromite.png - cp -v -a . $out/share/cromite - # replace bundled vulkan-loader - rm -v $out/share/cromite/libvulkan.so.1 - ln -v -s -t $out/share/cromite ${lib.getLib vulkan-loader}/lib/libvulkan.so.1 - # "--simulate-outdated-no-au" disables auto updates and browser outdated popup - mkdir $out/bin - makeWrapper $out/share/cromite/chrome $out/bin/cromite \ - --prefix QT_PLUGIN_PATH : "${qt6.qtbase}/lib/qt-6/plugins:${qt6.qtwayland}/lib/qt-6/plugins" \ - --prefix NIXPKGS_QT6_QML_IMPORT_PATH : "${qt6.qtwayland}/lib/qt-6/qml" \ - --prefix LD_LIBRARY_PATH : "$rpath" \ - --prefix PATH : "$binpath:${lib.makeBinPath [ xdg-utils ]}" \ - --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH:${addDriverRunpath.driverLink}/share" \ - --set CHROME_WRAPPER "cromite" \ - --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime=true --wayland-text-input-version=3}}" \ - --add-flags "--simulate-outdated-no-au='Tue, 31 Dec 2099 23:59:59 GMT'" \ - --add-flags ${lib.escapeShellArg commandLineArgs} - - # Make sure that libGL and libvulkan are found by ANGLE libGLESv2.so - patchelf --set-rpath $rpath $out/share/cromite/lib*GL* - - for elf in $out/share/cromite/{chrome,chrome_sandbox,chrome_crashpad_handler}; do - patchelf --set-rpath $rpath $elf - patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $elf - done - - runHook postInstall - ''; - - passthru.updateScript = ./update.sh; - - meta = { - changelog = "https://github.com/uazo/cromite/releases"; - description = "Bromite fork with ad blocking and privacy enhancements"; - homepage = "https://github.com/uazo/cromite"; - license = with lib.licenses; [ - bsd3 - gpl3Plus - ]; - maintainers = with lib.maintainers; [ emaryn ]; - mainProgram = "cromite"; - platforms = [ "x86_64-linux" ]; - sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; - }; -}) diff --git a/pkgs/by-name/cr/cromite/update.sh b/pkgs/by-name/cr/cromite/update.sh deleted file mode 100755 index 5e604bc242db..000000000000 --- a/pkgs/by-name/cr/cromite/update.sh +++ /dev/null @@ -1,18 +0,0 @@ -#!/usr/bin/env nix-shell -#!nix-shell -I nixpkgs=./. -i bash -p curl gnused jq nix bash coreutils nix-update common-updater-scripts - -set -eou pipefail - -latestTag=$(curl ${GITHUB_TOKEN:+-u ":$GITHUB_TOKEN"} -sL https://api.github.com/repos/uazo/cromite/releases/latest | jq --raw-output .tag_name | sed 's/^v//') -latestVersion="${latestTag%-*}" -commit="${latestTag#*-}" - -currentVersion=$(nix-instantiate --eval -E "with import ./. {}; cromite.version or (lib.getVersion cromite)" | tr -d '"') - -if [[ "$currentVersion" == "$latestVersion" ]]; then - echo "package is up-to-date: $currentVersion" - exit 0 -fi - -update-source-version cromite $commit --version-key=commit || true -nix-update cromite --version $latestVersion diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index eee5469f6913..3f0235e09a09 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -460,6 +460,7 @@ mapAliases { cosmic-tasks = tasks; # Added 2024-07-04 cpp-ipfs-api = cpp-ipfs-http-client; # Project has been renamed. Added 2022-05-15 crispyDoom = crispy-doom; # Added 2023-05-01 + cromite = throw "'cromite' has been removed from nixpkgs due to it not being maintained"; # Added 2025-06-12 crossLibcStdenv = stdenvNoLibc; # Added 2024-09-06 crystal_1_2 = throw "'crystal_1_2' has been removed as it is obsolete and no longer used in the tree. Consider using 'crystal' instead"; # Added 2025-02-13 crystal_1_7 = throw "'crystal_1_7' has been removed as it is obsolete and no longer used in the tree. Consider using 'crystal' instead"; # Added 2025-02-13 From 0017049a375d3bb881715e7704ad95347d7d8442 Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Fri, 13 Jun 2025 08:43:15 +0200 Subject: [PATCH 36/49] grafana: 12.0.0+security-01 -> 12.0.1+security-01 ChangeLog: * https://github.com/grafana/grafana/releases/tag/v12.0.1%2Bsecurity-01 * https://github.com/grafana/grafana/releases/tag/v12.0.1 Fix CVE-2025-3415 --- pkgs/servers/monitoring/grafana/default.nix | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/pkgs/servers/monitoring/grafana/default.nix b/pkgs/servers/monitoring/grafana/default.nix index a42dff0517d9..2e212a062c8d 100644 --- a/pkgs/servers/monitoring/grafana/default.nix +++ b/pkgs/servers/monitoring/grafana/default.nix @@ -27,21 +27,21 @@ let # pulling it out of the Git history every few months and checking which files # we need to update now is slightly annoying. patchGoVersion = '' - find . -name go.mod -not -path "./.bingo/*" -not -path "./.citools/*" -print0 | while IFS= read -r -d ''' line; do + find . -name go.mod -not -path "./.bingo/*" -print0 | while IFS= read -r -d ''' line; do substituteInPlace "$line" \ - --replace-fail "go 1.24.2" "go 1.24.2" + --replace-fail "go 1.24.3" "go 1.24.2" done find . -name go.work -print0 | while IFS= read -r -d ''' line; do substituteInPlace "$line" \ - --replace-fail "go 1.24.2" "go 1.24.2" + --replace-fail "go 1.24.3" "go 1.24.2" done substituteInPlace Makefile \ - --replace-fail "GO_VERSION = 1.24.2" "GO_VERSION = 1.24.2" + --replace-fail "GO_VERSION = 1.24.3" "GO_VERSION = 1.24.2" ''; in buildGoModule rec { pname = "grafana"; - version = "12.0.0+security-01"; + version = "12.0.1+security-01"; subPackages = [ "pkg/cmd/grafana" @@ -53,7 +53,7 @@ buildGoModule rec { owner = "grafana"; repo = "grafana"; rev = "v${version}"; - hash = "sha256-4i9YHhoneptF72F4zvV+KVUJiP8xfiowPJExQ9iteK4="; + hash = "sha256-cYEWNXuIrTrtXR3XHqizDJ17QyBYkaccIThSorWO5GA="; }; # borrowed from: https://github.com/NixOS/nixpkgs/blob/d70d9425f49f9aba3c49e2c389fe6d42bac8c5b0/pkgs/development/tools/analysis/snyk/default.nix#L20-L22 @@ -67,14 +67,14 @@ buildGoModule rec { missingHashes = ./missing-hashes.json; offlineCache = yarn-berry_4.fetchYarnBerryDeps { inherit src missingHashes; - hash = "sha256-yLrGllct+AGG/u/E2iX2gog1d/iKNfkYu6GV6Pw6nuc="; + hash = "sha256-Vjr/jyXqHoM/3o49IDJ2aT1s1tMkP90H+2E+yUiviF4="; }; disallowedRequisites = [ offlineCache ]; postPatch = patchGoVersion; - vendorHash = "sha256-dpLcU4ru/wIsxwYAI1qROtYwHJ2WOJSZpIhd9/qMwZo="; + vendorHash = "sha256-Vlao6eNEHtl1+6vAAjDOxINuGxSwAqdi6Hc8oVniTO8="; proxyVendor = true; From f2824f81fdd480fa42a0e56310e0228655d207a2 Mon Sep 17 00:00:00 2001 From: oxalica Date: Fri, 13 Jun 2025 03:02:25 -0400 Subject: [PATCH 37/49] nil: 2024-08-06 -> 2025-06-13 --- pkgs/by-name/ni/nil/package.nix | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/ni/nil/package.nix b/pkgs/by-name/ni/nil/package.nix index 46c5296d8d55..23b85a6dd50e 100644 --- a/pkgs/by-name/ni/nil/package.nix +++ b/pkgs/by-name/ni/nil/package.nix @@ -3,26 +3,30 @@ rustPlatform, fetchFromGitHub, nix, + nixfmt-rfc-style, nix-update-script, }: rustPlatform.buildRustPackage rec { pname = "nil"; - version = "2024-08-06"; + version = "2025-06-13"; src = fetchFromGitHub { owner = "oxalica"; repo = "nil"; rev = version; - hash = "sha256-DqsN/VkYVr4M0PVRQKXPPOTaind5miYZURIYqM4MxYM="; + hash = "sha256-oxvVAFUO9husnRk6XZcLFLjLWL9z0pW25Fk6kVKwt1c="; }; useFetchCargoVendor = true; - cargoHash = "sha256-7TR/xTc66WpPszJDrpisVvHXl2+FGrUOskZAkGyY04Q="; + cargoHash = "sha256-OZIajxv8xNfCGalVw/FUAwWdQzPqfGuDoeRg2E2RR7s="; nativeBuildInputs = [ nix ]; - env.CFG_RELEASE = version; + env = { + CFG_RELEASE = version; + CFG_DEFAULT_FORMATTER = lib.getExe nixfmt-rfc-style; + }; # might be related to https://github.com/NixOS/nix/issues/5884 preBuild = '' From 7de034555644ba323a89633d69ebbd887ba4dc03 Mon Sep 17 00:00:00 2001 From: Wolfgang Walther Date: Thu, 29 May 2025 22:14:02 +0200 Subject: [PATCH 38/49] workflows/lint: run all the static lints in same workflow They still run in separate jobs, but they give us a nice consistent appearance in the check list: All of them are starting with "Lint / ...". --- .github/workflows/check-format.yml | 50 -------------- .github/workflows/lint.yml | 101 +++++++++++++++++++++++++++++ .github/workflows/nix-parse-v2.yml | 41 ------------ .github/workflows/nixpkgs-vet.yml | 54 --------------- 4 files changed, 101 insertions(+), 145 deletions(-) delete mode 100644 .github/workflows/check-format.yml create mode 100644 .github/workflows/lint.yml delete mode 100644 .github/workflows/nix-parse-v2.yml delete mode 100644 .github/workflows/nixpkgs-vet.yml diff --git a/.github/workflows/check-format.yml b/.github/workflows/check-format.yml deleted file mode 100644 index ef1e3e1a7456..000000000000 --- a/.github/workflows/check-format.yml +++ /dev/null @@ -1,50 +0,0 @@ -name: Check that files are formatted - -on: - pull_request: - paths: - - .github/workflows/check-format.yml - pull_request_target: - -concurrency: - group: ${{ github.workflow }}-${{ github.event_name }}-${{ github.head_ref || github.run_id }} - cancel-in-progress: true - -permissions: {} - -defaults: - run: - shell: bash - -jobs: - nixos: - name: fmt-check - runs-on: ubuntu-24.04-arm - steps: - - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - with: - sparse-checkout: .github/actions - - name: Check if the PR can be merged and checkout the merge commit - uses: ./.github/actions/get-merge-commit - with: - merged-as-untrusted: true - - - uses: cachix/install-nix-action@17fe5fb4a23ad6cbbe47d6b3f359611ad276644c # v31 - with: - extra_nix_config: sandbox = true - - - name: Check that files are formatted - run: | - # Note that it's fine to run this on untrusted code because: - # - There's no secrets accessible here - # - The build is sandboxed - if ! nix-build untrusted/ci -A fmt.check; then - echo "Some files are not properly formatted" - echo "Please format them by going to the Nixpkgs root directory and running one of:" - echo " nix-shell --run treefmt" - echo " nix develop --command treefmt" - echo " nix fmt" - echo "Make sure your branch is up to date with master; rebase if not." - echo "If you're having trouble, please ping @NixOS/nix-formatting" - exit 1 - fi diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml new file mode 100644 index 000000000000..c26160ba8f07 --- /dev/null +++ b/.github/workflows/lint.yml @@ -0,0 +1,101 @@ +name: Lint + +on: + pull_request: + paths: + - .github/workflows/lint.yml + pull_request_target: + +concurrency: + group: ${{ github.workflow }}-${{ github.event_name }}-${{ github.head_ref || github.run_id }} + cancel-in-progress: true + +permissions: {} + +defaults: + run: + shell: bash + +jobs: + treefmt: + runs-on: ubuntu-24.04-arm + steps: + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + with: + sparse-checkout: .github/actions + - name: Check if the PR can be merged and checkout the merge commit + uses: ./.github/actions/get-merge-commit + with: + merged-as-untrusted: true + + - uses: cachix/install-nix-action@17fe5fb4a23ad6cbbe47d6b3f359611ad276644c # v31 + with: + extra_nix_config: sandbox = true + + - name: Check that files are formatted + run: | + # Note that it's fine to run this on untrusted code because: + # - There's no secrets accessible here + # - The build is sandboxed + if ! nix-build untrusted/ci -A fmt.check; then + echo "Some files are not properly formatted" + echo "Please format them by going to the Nixpkgs root directory and running one of:" + echo " nix-shell --run treefmt" + echo " nix develop --command treefmt" + echo " nix fmt" + echo "Make sure your branch is up to date with master; rebase if not." + echo "If you're having trouble, please ping @NixOS/nix-formatting" + exit 1 + fi + + parse: + runs-on: ubuntu-24.04-arm + steps: + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + with: + sparse-checkout: .github/actions + - name: Check if the PR can be merged and checkout the merge commit + uses: ./.github/actions/get-merge-commit + with: + merged-as-untrusted: true + + - uses: cachix/install-nix-action@526118121621777ccd86f79b04685a9319637641 # v31 + with: + extra_nix_config: sandbox = true + + - name: Parse all nix files + run: | + # Tests multiple versions at once, let's make sure all of them run, so keep-going. + nix-build untrusted/ci -A parse --keep-going + + nixpkgs-vet: + runs-on: ubuntu-24.04-arm + # This should take 1 minute at most, but let's be generous. The default of 6 hours is definitely too long. + timeout-minutes: 10 + steps: + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + with: + sparse-checkout: .github/actions + - name: Check if the PR can be merged and checkout merged and target commits + uses: ./.github/actions/get-merge-commit + with: + merged-as-untrusted: true + target-as-trusted: true + + - uses: cachix/install-nix-action@526118121621777ccd86f79b04685a9319637641 # v31 + with: + extra_nix_config: sandbox = true + + - name: Running nixpkgs-vet + env: + # Force terminal colors to be enabled. The library that `nixpkgs-vet` uses respects https://bixense.com/clicolors/ + CLICOLOR_FORCE: 1 + run: | + if nix-build untrusted/ci -A nixpkgs-vet --arg base "./trusted" --arg head "./untrusted"; then + exit 0 + else + exitCode=$? + echo "To run locally: ./ci/nixpkgs-vet.sh $GITHUB_BASE_REF https://github.com/$GITHUB_REPOSITORY.git" + echo "If you're having trouble, ping @NixOS/nixpkgs-vet" + exit "$exitCode" + fi diff --git a/.github/workflows/nix-parse-v2.yml b/.github/workflows/nix-parse-v2.yml deleted file mode 100644 index bd920bd1e7a0..000000000000 --- a/.github/workflows/nix-parse-v2.yml +++ /dev/null @@ -1,41 +0,0 @@ -name: "Check whether nix files are parseable v2" - -on: - pull_request: - paths: - - .github/workflows/nix-parse-v2.yml - pull_request_target: - -concurrency: - group: ${{ github.workflow }}-${{ github.event_name }}-${{ github.head_ref || github.run_id }} - cancel-in-progress: true - -permissions: {} - -defaults: - run: - shell: bash - -jobs: - tests: - name: nix-files-parseable-check - runs-on: ubuntu-24.04-arm - if: "!contains(github.event.pull_request.title, '[skip treewide]')" - steps: - - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - with: - sparse-checkout: .github/actions - - name: Check if the PR can be merged and checkout the merge commit - uses: ./.github/actions/get-merge-commit - with: - merged-as-untrusted: true - - - uses: cachix/install-nix-action@17fe5fb4a23ad6cbbe47d6b3f359611ad276644c # v31 - with: - extra_nix_config: sandbox = true - nix_path: nixpkgs=channel:nixpkgs-unstable - - - name: Parse all nix files - run: | - # Tests multiple versions at once, let's make sure all of them run, so keep-going. - nix-build untrusted/ci -A parse --keep-going diff --git a/.github/workflows/nixpkgs-vet.yml b/.github/workflows/nixpkgs-vet.yml deleted file mode 100644 index 0843117e14c7..000000000000 --- a/.github/workflows/nixpkgs-vet.yml +++ /dev/null @@ -1,54 +0,0 @@ -# `nixpkgs-vet` is a tool to vet Nixpkgs: its architecture, package structure, and more. -# Among other checks, it makes sure that `pkgs/by-name` (see `../../pkgs/by-name/README.md`) follows the validity rules outlined in [RFC 140](https://github.com/NixOS/rfcs/pull/140). -# When you make changes to this workflow, please also update `ci/nixpkgs-vet.sh` to reflect the impact of your work to the CI. -# See https://github.com/NixOS/nixpkgs-vet for details on the tool and its checks. - -name: Vet nixpkgs - -on: - pull_request: - paths: - - .github/workflows/nixpkgs-vet.yml - pull_request_target: - -concurrency: - group: ${{ github.workflow }}-${{ github.event_name }}-${{ github.head_ref || github.run_id }} - cancel-in-progress: true - -permissions: {} - -defaults: - run: - shell: bash - -jobs: - check: - name: nixpkgs-vet - runs-on: ubuntu-24.04-arm - # This should take 1 minute at most, but let's be generous. The default of 6 hours is definitely too long. - timeout-minutes: 10 - steps: - - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - with: - sparse-checkout: .github/actions - - name: Check if the PR can be merged and checkout merged and target commits - uses: ./.github/actions/get-merge-commit - with: - merged-as-untrusted: true - target-as-trusted: true - - - uses: cachix/install-nix-action@17fe5fb4a23ad6cbbe47d6b3f359611ad276644c # v31 - - - name: Running nixpkgs-vet - env: - # Force terminal colors to be enabled. The library that `nixpkgs-vet` uses respects https://bixense.com/clicolors/ - CLICOLOR_FORCE: 1 - run: | - if nix-build untrusted/ci -A nixpkgs-vet --arg base "./trusted" --arg head "./untrusted"; then - exit 0 - else - exitCode=$? - echo "To run locally: ./ci/nixpkgs-vet.sh $GITHUB_BASE_REF https://github.com/$GITHUB_REPOSITORY.git" - echo "If you're having trouble, ping @NixOS/nixpkgs-vet" - exit "$exitCode" - fi From 540fd4e30f7d3de2ee908febff560af23bd800ca Mon Sep 17 00:00:00 2001 From: Wolfgang Walther Date: Thu, 29 May 2025 18:55:25 +0200 Subject: [PATCH 39/49] workflows: run without condition on changed paths To enable *required status checks / workflows* in the future, we'd like to run all workflows unconditionally. Since those workflows are already using cachix, the additional runs will be very cheap. Yes, we'll run additional jobs, but that will be temporary only, see next commits. The immediate upside is, that we're not going to accidentally miss some of the paths that would cause rebuilds as we did in the past. --- .github/workflows/check-shell.yml | 3 --- .github/workflows/lib-tests.yml | 3 --- .github/workflows/manual-nixos-v2.yml | 9 --------- .github/workflows/manual-nixpkgs-v2.yml | 4 ---- 4 files changed, 19 deletions(-) diff --git a/.github/workflows/check-shell.yml b/.github/workflows/check-shell.yml index 37eddde22529..5f25b45ac163 100644 --- a/.github/workflows/check-shell.yml +++ b/.github/workflows/check-shell.yml @@ -5,9 +5,6 @@ on: paths: - .github/workflows/check-shell.yml pull_request_target: - paths: - - 'shell.nix' - - 'ci/**' concurrency: group: ${{ github.workflow }}-${{ github.event_name }}-${{ github.head_ref || github.run_id }} diff --git a/.github/workflows/lib-tests.yml b/.github/workflows/lib-tests.yml index 4a22a5e2dfdc..a8efbde6fd69 100644 --- a/.github/workflows/lib-tests.yml +++ b/.github/workflows/lib-tests.yml @@ -5,9 +5,6 @@ on: paths: - .github/workflows/lib-tests.yml pull_request_target: - paths: - - 'lib/**' - - 'maintainers/**' concurrency: group: ${{ github.workflow }}-${{ github.event_name }}-${{ github.head_ref || github.run_id }} diff --git a/.github/workflows/manual-nixos-v2.yml b/.github/workflows/manual-nixos-v2.yml index f2728da91c93..347668a0ea79 100644 --- a/.github/workflows/manual-nixos-v2.yml +++ b/.github/workflows/manual-nixos-v2.yml @@ -8,15 +8,6 @@ on: branches: - master - release-* - paths: - - "nixos/**" - # Also build when the nixpkgs doc changed, since we take things like - # the release notes and some css and js files from there. - # See nixos/doc/manual/default.nix - - "doc/**" - # Build when something in lib changes - # Since the lib functions are used to 'massage' the options before producing the manual - - "lib/**" concurrency: group: ${{ github.workflow }}-${{ github.event_name }}-${{ github.head_ref || github.run_id }} diff --git a/.github/workflows/manual-nixpkgs-v2.yml b/.github/workflows/manual-nixpkgs-v2.yml index f68fae524e90..1bd1e950578d 100644 --- a/.github/workflows/manual-nixpkgs-v2.yml +++ b/.github/workflows/manual-nixpkgs-v2.yml @@ -5,10 +5,6 @@ on: paths: - .github/workflows/manual-nixpkgs-v2.yml pull_request_target: - paths: - - 'doc/**' - - 'lib/**' - - 'pkgs/by-name/ni/nixdoc/**' concurrency: group: ${{ github.workflow }}-${{ github.event_name }}-${{ github.head_ref || github.run_id }} From cd82aa54f525559f157360c3432d923bae3798a8 Mon Sep 17 00:00:00 2001 From: Wolfgang Walther Date: Thu, 29 May 2025 21:51:14 +0200 Subject: [PATCH 40/49] workflows/build: build all the basics in a single workflow This new workflow builds both manuals, the shell and the lib tests all in a matrix of four jobs. This allows re-using the shared checkout and the pinned nixpkgs download and saves time in the most likely cache: No changes, just download from cache. Each step checks the cancelled condition, which causes it to run even if the previous steps failed. This way we get a full picture even if the first step fails immediately. This could later be optimized to build more in parallel as well, but we'll first need to clear the conditions on building the manuals on the master branch only. This reduces the number of jobs from up to 8 to 4 for this part. --- .../{manual-nixos-v2.yml => build.yml} | 46 ++++++++++++---- .github/workflows/check-shell.yml | 55 ------------------- .github/workflows/lib-tests.yml | 44 --------------- .github/workflows/manual-nixpkgs-v2.yml | 43 --------------- 4 files changed, 36 insertions(+), 152 deletions(-) rename .github/workflows/{manual-nixos-v2.yml => build.yml} (52%) delete mode 100644 .github/workflows/check-shell.yml delete mode 100644 .github/workflows/lib-tests.yml delete mode 100644 .github/workflows/manual-nixpkgs-v2.yml diff --git a/.github/workflows/manual-nixos-v2.yml b/.github/workflows/build.yml similarity index 52% rename from .github/workflows/manual-nixos-v2.yml rename to .github/workflows/build.yml index 347668a0ea79..d92f73eb0d3a 100644 --- a/.github/workflows/manual-nixos-v2.yml +++ b/.github/workflows/build.yml @@ -1,13 +1,10 @@ -name: "Build NixOS manual v2" +name: Build on: pull_request: paths: - - .github/workflows/manual-nixos-v2.yml + - .github/workflows/build.yml pull_request_target: - branches: - - master - - release-* concurrency: group: ${{ github.workflow }}-${{ github.event_name }}-${{ github.head_ref || github.run_id }} @@ -20,16 +17,24 @@ defaults: shell: bash jobs: - nixos: - name: nixos-manual-build + build: strategy: fail-fast: false matrix: include: - runner: ubuntu-24.04 system: x86_64-linux + builds: [shell,manual-nixos,lib-tests] - runner: ubuntu-24.04-arm system: aarch64-linux + builds: [shell,manual-nixos,manual-nixpkgs,manual-nixpkgs-tests] + - runner: macos-13 + system: x86_64-darwin + builds: [shell] + - runner: macos-14 + system: aarch64-darwin + builds: [shell] + name: ${{ matrix.system }} runs-on: ${{ matrix.runner }} steps: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 @@ -50,13 +55,34 @@ jobs: name: nixpkgs-ci authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}" + - name: Build shell + if: contains(matrix.builds, 'shell') + run: nix-build untrusted/ci -A shell + - name: Build NixOS manual - id: build-manual - run: nix-build untrusted/ci -A manual-nixos --argstr system ${{ matrix.system }} + if: | + contains(matrix.builds, 'manual-nixos') && !cancelled() && + (github.base_ref == 'master' || startsWith(github.base_ref, 'release-')) + run: nix-build untrusted/ci -A manual-nixos --argstr system ${{ matrix.system }} --out-link nixos-manual + + - name: Build Nixpkgs manual + if: contains(matrix.builds, 'manual-nixpkgs') && !cancelled() + run: nix-build untrusted/ci -A manual-nixpkgs -A manual-nixpkgs-tests + + - name: Build Nixpkgs manual tests + if: contains(matrix.builds, 'manual-nixpkgs-tests') && !cancelled() + run: nix-build untrusted/ci -A manual-nixpkgs-tests + + - name: Build lib tests + if: contains(matrix.builds, 'lib-tests') && !cancelled() + run: nix-build untrusted/ci -A lib-tests - name: Upload NixOS manual + if: | + contains(matrix.builds, 'manual-nixos') && !cancelled() && + (github.base_ref == 'master' || startsWith(github.base_ref, 'release-')) uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2 with: name: nixos-manual-${{ matrix.system }} - path: result/ + path: nixos-manual if-no-files-found: error diff --git a/.github/workflows/check-shell.yml b/.github/workflows/check-shell.yml deleted file mode 100644 index 5f25b45ac163..000000000000 --- a/.github/workflows/check-shell.yml +++ /dev/null @@ -1,55 +0,0 @@ -name: "Check shell" - -on: - pull_request: - paths: - - .github/workflows/check-shell.yml - pull_request_target: - -concurrency: - group: ${{ github.workflow }}-${{ github.event_name }}-${{ github.head_ref || github.run_id }} - cancel-in-progress: true - -permissions: {} - -defaults: - run: - shell: bash - -jobs: - shell-check: - strategy: - fail-fast: false - matrix: - include: - - runner: ubuntu-24.04 - system: x86_64-linux - - runner: ubuntu-24.04-arm - system: aarch64-linux - - runner: macos-13 - system: x86_64-darwin - - runner: macos-14 - system: aarch64-darwin - - name: shell-check-${{ matrix.system }} - runs-on: ${{ matrix.runner }} - - steps: - - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - with: - sparse-checkout: .github/actions - - name: Check if the PR can be merged and checkout the merge commit - uses: ./.github/actions/get-merge-commit - with: - merged-as-untrusted: true - - - uses: cachix/install-nix-action@17fe5fb4a23ad6cbbe47d6b3f359611ad276644c # v31 - - - uses: cachix/cachix-action@0fc020193b5a1fa3ac4575aa3a7d3aa6a35435ad # v16 - with: - # This cache is for the nixpkgs repo checks and should not be trusted or used elsewhere. - name: nixpkgs-ci - authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}" - - - name: Build shell - run: nix-build untrusted/ci -A shell diff --git a/.github/workflows/lib-tests.yml b/.github/workflows/lib-tests.yml deleted file mode 100644 index a8efbde6fd69..000000000000 --- a/.github/workflows/lib-tests.yml +++ /dev/null @@ -1,44 +0,0 @@ -name: "Building Nixpkgs lib-tests" - -on: - pull_request: - paths: - - .github/workflows/lib-tests.yml - pull_request_target: - -concurrency: - group: ${{ github.workflow }}-${{ github.event_name }}-${{ github.head_ref || github.run_id }} - cancel-in-progress: true - -permissions: {} - -defaults: - run: - shell: bash - -jobs: - nixpkgs-lib-tests: - name: nixpkgs-lib-tests - runs-on: ubuntu-24.04 - steps: - - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - with: - sparse-checkout: .github/actions - - name: Check if the PR can be merged and checkout the merge commit - uses: ./.github/actions/get-merge-commit - with: - merged-as-untrusted: true - - - uses: cachix/install-nix-action@17fe5fb4a23ad6cbbe47d6b3f359611ad276644c # v31 - with: - extra_nix_config: sandbox = true - - - uses: cachix/cachix-action@0fc020193b5a1fa3ac4575aa3a7d3aa6a35435ad # v16 - with: - # This cache is for the nixpkgs repo checks and should not be trusted or used elsewhere. - name: nixpkgs-ci - authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}" - - - name: Building Nixpkgs lib-tests - run: | - nix-build untrusted/ci -A lib-tests diff --git a/.github/workflows/manual-nixpkgs-v2.yml b/.github/workflows/manual-nixpkgs-v2.yml deleted file mode 100644 index 1bd1e950578d..000000000000 --- a/.github/workflows/manual-nixpkgs-v2.yml +++ /dev/null @@ -1,43 +0,0 @@ -name: "Build Nixpkgs manual v2" - -on: - pull_request: - paths: - - .github/workflows/manual-nixpkgs-v2.yml - pull_request_target: - -concurrency: - group: ${{ github.workflow }}-${{ github.event_name }}-${{ github.head_ref || github.run_id }} - cancel-in-progress: true - -permissions: {} - -defaults: - run: - shell: bash - -jobs: - nixpkgs: - name: nixpkgs-manual-build - runs-on: ubuntu-24.04-arm - steps: - - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - with: - sparse-checkout: .github/actions - - name: Check if the PR can be merged and checkout the merge commit - uses: ./.github/actions/get-merge-commit - with: - merged-as-untrusted: true - - - uses: cachix/install-nix-action@17fe5fb4a23ad6cbbe47d6b3f359611ad276644c # v31 - with: - extra_nix_config: sandbox = true - - - uses: cachix/cachix-action@0fc020193b5a1fa3ac4575aa3a7d3aa6a35435ad # v16 - with: - # This cache is for the nixpkgs repo checks and should not be trusted or used elsewhere. - name: nixpkgs-ci - authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}' - - - name: Building Nixpkgs manual - run: nix-build untrusted/ci -A manual-nixpkgs -A manual-nixpkgs-tests From f11b58a7a099b701c3d929ea2cded036a0a5dafd Mon Sep 17 00:00:00 2001 From: Wolfgang Walther Date: Fri, 30 May 2025 18:21:16 +0200 Subject: [PATCH 41/49] workflows/check: run "checks" in one workflow This introduces "check" as another category of jobs suitable for the "Require status checks to pass" feature. Checks as a category would include everything that is done before even looking at the code: Right branch? Commit messages? Cherry-picked correctly? (commit messages are not checked, yet) --- .../{check-cherry-picks.yml => check.yml} | 36 +++++++++++++------ .github/workflows/no-channel.yml | 30 ---------------- 2 files changed, 26 insertions(+), 40 deletions(-) rename .github/workflows/{check-cherry-picks.yml => check.yml} (86%) delete mode 100644 .github/workflows/no-channel.yml diff --git a/.github/workflows/check-cherry-picks.yml b/.github/workflows/check.yml similarity index 86% rename from .github/workflows/check-cherry-picks.yml rename to .github/workflows/check.yml index 618c1cf9ffed..b348bef5bfc0 100644 --- a/.github/workflows/check-cherry-picks.yml +++ b/.github/workflows/check.yml @@ -1,29 +1,45 @@ -name: "Check cherry-picks" +name: Check on: pull_request: paths: - - .github/workflows/check-cherry-picks.yml + - .github/workflows/check.yml pull_request_target: - branches: - - 'release-**' - - 'staging-**' - - '!staging-next' concurrency: group: ${{ github.workflow }}-${{ github.event_name }}-${{ github.head_ref || github.run_id }} cancel-in-progress: true -permissions: - pull-requests: write +permissions: {} defaults: run: shell: bash jobs: - check: - name: cherry-pick-check + no-channel-base: + name: no channel base + if: | + startsWith(github.base_ref, 'nixos-') || + startsWith(github.base_ref, 'nixpkgs-') + runs-on: ubuntu-24.04-arm + steps: + - run: | + cat < Date: Fri, 13 Jun 2025 11:03:46 +0300 Subject: [PATCH 42/49] ryubing: 1.3.1 -> 1.3.2 Diff: https://git.ryujinx.app/Ryubing/Ryujinx/-/compare/refs/tags/1.3.1...1.3.2 Changelog: https://git.ryujinx.app/ryubing/ryujinx/-/wikis/changelog --- pkgs/by-name/ry/ryubing/deps.json | 10 +++++----- pkgs/by-name/ry/ryubing/package.nix | 4 ++-- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/pkgs/by-name/ry/ryubing/deps.json b/pkgs/by-name/ry/ryubing/deps.json index e6281013c0ea..a98df2485f7a 100644 --- a/pkgs/by-name/ry/ryubing/deps.json +++ b/pkgs/by-name/ry/ryubing/deps.json @@ -449,11 +449,6 @@ "version": "2023.2.0", "hash": "sha256-Um10fSmO+21I7f+lbzzVq5e8GBijJ9amTvOlt362p1s=" }, - { - "pname": "LibHac", - "version": "0.19.0", - "hash": "sha256-FDEmeGHbX/aCFjFbFk8QwO2rTfFizt9UKb+KFDt23hk=" - }, { "pname": "MicroCom.CodeGenerator.MSBuild", "version": "0.11.0", @@ -804,6 +799,11 @@ "version": "1.2.0", "hash": "sha256-vdDw6YGoyQzv6ustyXP6v7YWUIKEXaZOyUKAaVbRauI=" }, + { + "pname": "Ryujinx.LibHac", + "version": "0.20.0", + "hash": "sha256-msrn9BElOOGtQAz6oK3HbMeyLOQ10Xt8wT0Qyr8NwYU=" + }, { "pname": "Ryujinx.SDL2-CS", "version": "2.30.0-build32", diff --git a/pkgs/by-name/ry/ryubing/package.nix b/pkgs/by-name/ry/ryubing/package.nix index 5cb902c7ffe8..f8bca0586c66 100644 --- a/pkgs/by-name/ry/ryubing/package.nix +++ b/pkgs/by-name/ry/ryubing/package.nix @@ -30,14 +30,14 @@ buildDotnetModule rec { pname = "ryubing"; - version = "1.3.1"; + version = "1.3.2"; src = fetchFromGitLab { domain = "git.ryujinx.app"; owner = "Ryubing"; repo = "Ryujinx"; tag = version; - hash = "sha256-MFZIFoMc80b2xTjKiHaabToftk3BZUP/Sr/V5q6rjpw="; + hash = "sha256-6BCDFd0nU96OgI5lqf4fbyNkG4PS5P4raHVbvBAhB5A="; }; nativeBuildInputs = lib.optional stdenv.hostPlatform.isDarwin [ From 1eec8c13c1a575e8d61f06d3c2c456fd910fd511 Mon Sep 17 00:00:00 2001 From: jopejoe1 Date: Thu, 12 Jun 2025 17:20:21 +0200 Subject: [PATCH 43/49] ciscoPacketTracer8: fix some theming issues --- pkgs/by-name/ci/ciscoPacketTracer8/package.nix | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/ci/ciscoPacketTracer8/package.nix b/pkgs/by-name/ci/ciscoPacketTracer8/package.nix index f07f943cbf20..45d2f3fab038 100644 --- a/pkgs/by-name/ci/ciscoPacketTracer8/package.nix +++ b/pkgs/by-name/ci/ciscoPacketTracer8/package.nix @@ -137,6 +137,11 @@ stdenvNoCC.mkDerivation { mkdir -p $out/bin ln -s ${fhs-env}/bin/${fhs-env.name} $out/bin/packettracer8 + mkdir -p $out/share/icons/hicolor/48x48/apps + ln -s ${unwrapped}/opt/pt/art/app.png $out/share/icons/hicolor/48x48/apps/cisco-packet-tracer.png + ln -s ${unwrapped}/usr/share/icons/gnome/48x48/mimetypes $out/share/icons/hicolor/48x48/mimetypes + ln -s ${unwrapped}/usr/share/mime $out/share/mime + runHook postInstall ''; @@ -144,12 +149,14 @@ stdenvNoCC.mkDerivation { (makeDesktopItem { name = "cisco-pt8.desktop"; desktopName = "Cisco Packet Tracer 8"; - icon = "${unwrapped}/opt/pt/art/app.png"; + icon = "cisco-packet-tracer"; exec = "packettracer8 %f"; mimeTypes = [ "application/x-pkt" "application/x-pka" "application/x-pkz" + "application/x-pksz" + "application/x-pks" ]; }) ]; From ca646c4e5ed1b25a2c0975f41b20901157f26d9a Mon Sep 17 00:00:00 2001 From: Tom McLaughlin Date: Wed, 11 Jun 2025 02:51:04 -0700 Subject: [PATCH 44/49] cling: fix build on macOS --- pkgs/by-name/cl/cling/package.nix | 46 ++++++++++++++++--------------- 1 file changed, 24 insertions(+), 22 deletions(-) diff --git a/pkgs/by-name/cl/cling/package.nix b/pkgs/by-name/cl/cling/package.nix index 63b4a681745c..701128be2bf0 100644 --- a/pkgs/by-name/cl/cling/package.nix +++ b/pkgs/by-name/cl/cling/package.nix @@ -1,4 +1,5 @@ { + apple-sdk, cmake, fetchFromGitHub, git, @@ -10,7 +11,7 @@ python3, zlib, - # *NOT* from LLVM 9! + # *NOT* from LLVM 13! # The compiler used to compile Cling may affect the runtime include and lib # directories it expects to be run with. Cling builds against (a fork of) Clang, # so we prefer to use Clang as the compiler as well for consistency. @@ -131,25 +132,6 @@ let }; }; - # Runtime flags for the C++ standard library - cxxFlags = - if useLLVMLibcxx then - [ - "-I" - "${lib.getDev llvmPackages_13.libcxx}/include/c++/v1" - "-L" - "${llvmPackages_13.libcxx}/lib" - "-l" - "${llvmPackages_13.libcxx}/lib/libc++${stdenv.hostPlatform.extensions.sharedLibrary}" - ] - else - [ - "-I" - "${gcc-unwrapped}/include/c++/${gcc-unwrapped.version}" - "-I" - "${gcc-unwrapped}/include/c++/${gcc-unwrapped.version}/${stdenv.hostPlatform.config}" - ]; - # The flags passed to the wrapped cling should # a) prevent it from searching for system include files and libs, and # b) provide it with the include files and libs it needs (C and C++ standard library plus @@ -172,15 +154,35 @@ let "-isystem" "${lib.getLib unwrapped}/lib/clang/${llvmPackages_13.clang.version}/include" ] - ++ cxxFlags + ++ lib.optionals useLLVMLibcxx [ + "-I" + "${lib.getDev llvmPackages_13.libcxx}/include/c++/v1" + "-L" + "${llvmPackages_13.libcxx}/lib" + "-l" + "${llvmPackages_13.libcxx}/lib/libc++${stdenv.hostPlatform.extensions.sharedLibrary}" + ] + ++ lib.optionals (!useLLVMLibcxx) [ + "-I" + "${gcc-unwrapped}/include/c++/${gcc-unwrapped.version}" + "-I" + "${gcc-unwrapped}/include/c++/${gcc-unwrapped.version}/${stdenv.hostPlatform.config}" + ] ++ [ - # System libc + # System libc on Linux + # On Darwin, this is an empty directory, so we need a separate include with + # apple-sdk (see below) "-isystem" "${lib.getDev stdenv.cc.libc}/include" # cling includes "-isystem" "${lib.getDev unwrapped}/include" + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + # On Darwin, we need the system includes + "-isystem" + "${apple-sdk}/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include" ]; in From 240da8fd85a2dd084ed3fe8591817381f464f383 Mon Sep 17 00:00:00 2001 From: Lin Xianyi Date: Fri, 13 Jun 2025 16:46:18 +0800 Subject: [PATCH 45/49] swww: 0.10.2 -> 0.10.3 Changelog: https://github.com/LGFae/swww/releases/tag/v0.10.3 Diff: https://github.com/LGFae/swww/compare/refs/tags/v0.10.2...refs/tags/v0.10.3 --- pkgs/by-name/sw/swww/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/sw/swww/package.nix b/pkgs/by-name/sw/swww/package.nix index 92c9e379d70d..7848c3cdfb98 100644 --- a/pkgs/by-name/sw/swww/package.nix +++ b/pkgs/by-name/sw/swww/package.nix @@ -13,17 +13,17 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "swww"; - version = "0.10.2"; + version = "0.10.3"; src = fetchFromGitHub { owner = "LGFae"; repo = "swww"; tag = "v${finalAttrs.version}"; - hash = "sha256-qvxG8UhO7MsS0lWVGfHUsBKevAa+VJe41NrcX1ZCJdU="; + hash = "sha256-GXqXZn29r7ktL01KBzlPZ+9b1fdnAPF8qhsQxhiqAsQ="; }; useFetchCargoVendor = true; - cargoHash = "sha256-Tiszc/COelBRolrrbKpNklk8IVppIhGmxspnTb20LAE="; + cargoHash = "sha256-jCjeHeHML8gHtvFcnHbiGL5fZ3LhABhXrcUTQriUDc0="; buildInputs = [ lz4 From 6153a3da920e3351e08bdf17e0afb87996a22abd Mon Sep 17 00:00:00 2001 From: Marie Ramlow Date: Fri, 30 May 2025 10:18:58 +0200 Subject: [PATCH 46/49] gauge{,-unwrapped,Plugins}: move to by-name --- .../gauge => by-name/ga/gauge-unwrapped}/nix-check.patch | 0 .../default.nix => by-name/ga/gauge-unwrapped/package.nix} | 2 +- .../tools/gauge/wrapper.nix => by-name/ga/gauge/package.nix} | 1 - .../tools => by-name/ga}/gauge/plugins/default.nix | 0 .../tools => by-name/ga}/gauge/plugins/dotnet/data.json | 0 .../tools => by-name/ga}/gauge/plugins/dotnet/default.nix | 0 .../tools => by-name/ga}/gauge/plugins/go/data.json | 0 .../tools => by-name/ga}/gauge/plugins/go/default.nix | 0 .../tools => by-name/ga}/gauge/plugins/html-report/data.json | 0 .../ga}/gauge/plugins/html-report/default.nix | 0 .../tools => by-name/ga}/gauge/plugins/java/data.json | 0 .../tools => by-name/ga}/gauge/plugins/java/default.nix | 0 .../tools => by-name/ga}/gauge/plugins/js/default.nix | 0 .../tools => by-name/ga}/gauge/plugins/make-gauge-plugin.nix | 0 .../tools => by-name/ga}/gauge/plugins/ruby/data.json | 0 .../tools => by-name/ga}/gauge/plugins/ruby/default.nix | 0 .../tools => by-name/ga}/gauge/plugins/screenshot/data.json | 0 .../tools => by-name/ga}/gauge/plugins/screenshot/default.nix | 0 .../tools => by-name/ga}/gauge/plugins/test-gauge-plugins.nix | 0 .../tools => by-name/ga}/gauge/plugins/xml-report/data.json | 0 .../tools => by-name/ga}/gauge/plugins/xml-report/default.nix | 0 pkgs/top-level/all-packages.nix | 4 +--- 22 files changed, 2 insertions(+), 5 deletions(-) rename pkgs/{development/tools/gauge => by-name/ga/gauge-unwrapped}/nix-check.patch (100%) rename pkgs/{development/tools/gauge/default.nix => by-name/ga/gauge-unwrapped/package.nix} (96%) rename pkgs/{development/tools/gauge/wrapper.nix => by-name/ga/gauge/package.nix} (99%) rename pkgs/{development/tools => by-name/ga}/gauge/plugins/default.nix (100%) rename pkgs/{development/tools => by-name/ga}/gauge/plugins/dotnet/data.json (100%) rename pkgs/{development/tools => by-name/ga}/gauge/plugins/dotnet/default.nix (100%) rename pkgs/{development/tools => by-name/ga}/gauge/plugins/go/data.json (100%) rename pkgs/{development/tools => by-name/ga}/gauge/plugins/go/default.nix (100%) rename pkgs/{development/tools => by-name/ga}/gauge/plugins/html-report/data.json (100%) rename pkgs/{development/tools => by-name/ga}/gauge/plugins/html-report/default.nix (100%) rename pkgs/{development/tools => by-name/ga}/gauge/plugins/java/data.json (100%) rename pkgs/{development/tools => by-name/ga}/gauge/plugins/java/default.nix (100%) rename pkgs/{development/tools => by-name/ga}/gauge/plugins/js/default.nix (100%) rename pkgs/{development/tools => by-name/ga}/gauge/plugins/make-gauge-plugin.nix (100%) rename pkgs/{development/tools => by-name/ga}/gauge/plugins/ruby/data.json (100%) rename pkgs/{development/tools => by-name/ga}/gauge/plugins/ruby/default.nix (100%) rename pkgs/{development/tools => by-name/ga}/gauge/plugins/screenshot/data.json (100%) rename pkgs/{development/tools => by-name/ga}/gauge/plugins/screenshot/default.nix (100%) rename pkgs/{development/tools => by-name/ga}/gauge/plugins/test-gauge-plugins.nix (100%) rename pkgs/{development/tools => by-name/ga}/gauge/plugins/xml-report/data.json (100%) rename pkgs/{development/tools => by-name/ga}/gauge/plugins/xml-report/default.nix (100%) diff --git a/pkgs/development/tools/gauge/nix-check.patch b/pkgs/by-name/ga/gauge-unwrapped/nix-check.patch similarity index 100% rename from pkgs/development/tools/gauge/nix-check.patch rename to pkgs/by-name/ga/gauge-unwrapped/nix-check.patch diff --git a/pkgs/development/tools/gauge/default.nix b/pkgs/by-name/ga/gauge-unwrapped/package.nix similarity index 96% rename from pkgs/development/tools/gauge/default.nix rename to pkgs/by-name/ga/gauge-unwrapped/package.nix index c5a45d04ce58..814c75ee3971 100644 --- a/pkgs/development/tools/gauge/default.nix +++ b/pkgs/by-name/ga/gauge-unwrapped/package.nix @@ -17,7 +17,7 @@ buildGoModule rec { src = fetchFromGitHub { owner = "getgauge"; repo = "gauge"; - rev = "v${version}"; + tag = "v${version}"; hash = "sha256-2ThnmniL2YQKBBKlBPNdO/xkHTj1JFQ0xZ5mFAjwRMg="; }; diff --git a/pkgs/development/tools/gauge/wrapper.nix b/pkgs/by-name/ga/gauge/package.nix similarity index 99% rename from pkgs/development/tools/gauge/wrapper.nix rename to pkgs/by-name/ga/gauge/package.nix index fcdfcaacb277..cbc37f6d0a2f 100644 --- a/pkgs/development/tools/gauge/wrapper.nix +++ b/pkgs/by-name/ga/gauge/package.nix @@ -7,7 +7,6 @@ xorg, gaugePlugins, plugins ? [ ], - runCommand, }: stdenvNoCC.mkDerivation { diff --git a/pkgs/development/tools/gauge/plugins/default.nix b/pkgs/by-name/ga/gauge/plugins/default.nix similarity index 100% rename from pkgs/development/tools/gauge/plugins/default.nix rename to pkgs/by-name/ga/gauge/plugins/default.nix diff --git a/pkgs/development/tools/gauge/plugins/dotnet/data.json b/pkgs/by-name/ga/gauge/plugins/dotnet/data.json similarity index 100% rename from pkgs/development/tools/gauge/plugins/dotnet/data.json rename to pkgs/by-name/ga/gauge/plugins/dotnet/data.json diff --git a/pkgs/development/tools/gauge/plugins/dotnet/default.nix b/pkgs/by-name/ga/gauge/plugins/dotnet/default.nix similarity index 100% rename from pkgs/development/tools/gauge/plugins/dotnet/default.nix rename to pkgs/by-name/ga/gauge/plugins/dotnet/default.nix diff --git a/pkgs/development/tools/gauge/plugins/go/data.json b/pkgs/by-name/ga/gauge/plugins/go/data.json similarity index 100% rename from pkgs/development/tools/gauge/plugins/go/data.json rename to pkgs/by-name/ga/gauge/plugins/go/data.json diff --git a/pkgs/development/tools/gauge/plugins/go/default.nix b/pkgs/by-name/ga/gauge/plugins/go/default.nix similarity index 100% rename from pkgs/development/tools/gauge/plugins/go/default.nix rename to pkgs/by-name/ga/gauge/plugins/go/default.nix diff --git a/pkgs/development/tools/gauge/plugins/html-report/data.json b/pkgs/by-name/ga/gauge/plugins/html-report/data.json similarity index 100% rename from pkgs/development/tools/gauge/plugins/html-report/data.json rename to pkgs/by-name/ga/gauge/plugins/html-report/data.json diff --git a/pkgs/development/tools/gauge/plugins/html-report/default.nix b/pkgs/by-name/ga/gauge/plugins/html-report/default.nix similarity index 100% rename from pkgs/development/tools/gauge/plugins/html-report/default.nix rename to pkgs/by-name/ga/gauge/plugins/html-report/default.nix diff --git a/pkgs/development/tools/gauge/plugins/java/data.json b/pkgs/by-name/ga/gauge/plugins/java/data.json similarity index 100% rename from pkgs/development/tools/gauge/plugins/java/data.json rename to pkgs/by-name/ga/gauge/plugins/java/data.json diff --git a/pkgs/development/tools/gauge/plugins/java/default.nix b/pkgs/by-name/ga/gauge/plugins/java/default.nix similarity index 100% rename from pkgs/development/tools/gauge/plugins/java/default.nix rename to pkgs/by-name/ga/gauge/plugins/java/default.nix diff --git a/pkgs/development/tools/gauge/plugins/js/default.nix b/pkgs/by-name/ga/gauge/plugins/js/default.nix similarity index 100% rename from pkgs/development/tools/gauge/plugins/js/default.nix rename to pkgs/by-name/ga/gauge/plugins/js/default.nix diff --git a/pkgs/development/tools/gauge/plugins/make-gauge-plugin.nix b/pkgs/by-name/ga/gauge/plugins/make-gauge-plugin.nix similarity index 100% rename from pkgs/development/tools/gauge/plugins/make-gauge-plugin.nix rename to pkgs/by-name/ga/gauge/plugins/make-gauge-plugin.nix diff --git a/pkgs/development/tools/gauge/plugins/ruby/data.json b/pkgs/by-name/ga/gauge/plugins/ruby/data.json similarity index 100% rename from pkgs/development/tools/gauge/plugins/ruby/data.json rename to pkgs/by-name/ga/gauge/plugins/ruby/data.json diff --git a/pkgs/development/tools/gauge/plugins/ruby/default.nix b/pkgs/by-name/ga/gauge/plugins/ruby/default.nix similarity index 100% rename from pkgs/development/tools/gauge/plugins/ruby/default.nix rename to pkgs/by-name/ga/gauge/plugins/ruby/default.nix diff --git a/pkgs/development/tools/gauge/plugins/screenshot/data.json b/pkgs/by-name/ga/gauge/plugins/screenshot/data.json similarity index 100% rename from pkgs/development/tools/gauge/plugins/screenshot/data.json rename to pkgs/by-name/ga/gauge/plugins/screenshot/data.json diff --git a/pkgs/development/tools/gauge/plugins/screenshot/default.nix b/pkgs/by-name/ga/gauge/plugins/screenshot/default.nix similarity index 100% rename from pkgs/development/tools/gauge/plugins/screenshot/default.nix rename to pkgs/by-name/ga/gauge/plugins/screenshot/default.nix diff --git a/pkgs/development/tools/gauge/plugins/test-gauge-plugins.nix b/pkgs/by-name/ga/gauge/plugins/test-gauge-plugins.nix similarity index 100% rename from pkgs/development/tools/gauge/plugins/test-gauge-plugins.nix rename to pkgs/by-name/ga/gauge/plugins/test-gauge-plugins.nix diff --git a/pkgs/development/tools/gauge/plugins/xml-report/data.json b/pkgs/by-name/ga/gauge/plugins/xml-report/data.json similarity index 100% rename from pkgs/development/tools/gauge/plugins/xml-report/data.json rename to pkgs/by-name/ga/gauge/plugins/xml-report/data.json diff --git a/pkgs/development/tools/gauge/plugins/xml-report/default.nix b/pkgs/by-name/ga/gauge/plugins/xml-report/default.nix similarity index 100% rename from pkgs/development/tools/gauge/plugins/xml-report/default.nix rename to pkgs/by-name/ga/gauge/plugins/xml-report/default.nix diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 1f588d01d107..62de1823af7b 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3050,9 +3050,7 @@ with pkgs; garage_1_x ; - gauge-unwrapped = callPackage ../development/tools/gauge { }; - gauge = callPackage ../development/tools/gauge/wrapper.nix { }; - gaugePlugins = recurseIntoAttrs (callPackage ../development/tools/gauge/plugins { }); + gaugePlugins = recurseIntoAttrs (callPackage ../by-name/ga/gauge/plugins { }); gawd = python3Packages.toPythonApplication python3Packages.gawd; From 54cbe36edebafd18821840d0422346d7c57651eb Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 13 Jun 2025 09:43:41 +0000 Subject: [PATCH 47/49] python3Packages.translate-toolkit: 3.15.2 -> 3.15.3 --- .../python-modules/translate-toolkit/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/python-modules/translate-toolkit/default.nix b/pkgs/development/python-modules/translate-toolkit/default.nix index 3bbc202e25c5..51b97cef0403 100644 --- a/pkgs/development/python-modules/translate-toolkit/default.nix +++ b/pkgs/development/python-modules/translate-toolkit/default.nix @@ -28,7 +28,7 @@ buildPythonPackage rec { pname = "translate-toolkit"; - version = "3.15.2"; + version = "3.15.3"; pyproject = true; @@ -36,7 +36,7 @@ buildPythonPackage rec { owner = "translate"; repo = "translate"; tag = version; - hash = "sha256-HZ00ds3MUrtLb6WjxpCch8CPvOuadHJXZsJRQdqge0M="; + hash = "sha256-T/bH9qz8UbiDfuL0hkmIN7Pmj/aZLRF+lJSjsUmDXiU="; }; build-system = [ setuptools-scm ]; @@ -77,7 +77,7 @@ buildPythonPackage rec { meta = { description = "Useful localization tools for building localization & translation systems"; homepage = "https://toolkit.translatehouse.org/"; - changelog = "https://docs.translatehouse.org/projects/translate-toolkit/en/latest/releases/${version}.html"; + changelog = "https://docs.translatehouse.org/projects/translate-toolkit/en/latest/releases/${src.tag}.html"; license = lib.licenses.gpl2Plus; maintainers = with lib.maintainers; [ erictapen ]; }; From cea7fa48963cc22b20ce7e4b70bebec73c603235 Mon Sep 17 00:00:00 2001 From: Abhinav Kuruvila Joseph <62714538+IsotoxalDev@users.noreply.github.com> Date: Fri, 13 Jun 2025 17:12:34 +0530 Subject: [PATCH 48/49] trelby: init at 2.4.15 --- pkgs/by-name/tr/trelby/package.nix | 52 ++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 pkgs/by-name/tr/trelby/package.nix diff --git a/pkgs/by-name/tr/trelby/package.nix b/pkgs/by-name/tr/trelby/package.nix new file mode 100644 index 000000000000..a8838200acab --- /dev/null +++ b/pkgs/by-name/tr/trelby/package.nix @@ -0,0 +1,52 @@ +{ + lib, + python3Packages, + fetchFromGitHub, + wrapGAppsHook3, + gtk3, + glib, + gsettings-desktop-schemas, +}: + +python3Packages.buildPythonApplication rec { + pname = "trelby"; + version = "2.4.15"; + pyproject = true; + + src = fetchFromGitHub { + owner = "trelby"; + repo = "trelby"; + tag = version; + hash = "sha256-CTasd+YlRHjYUVepZf2RDOuw1p0OdQfJENZamSmXXFw="; + }; + + build-system = [ + python3Packages.setuptools + ]; + + nativeBuildInputs = [ + wrapGAppsHook3 + ]; + + buildInputs = [ + glib + gsettings-desktop-schemas + gtk3 + ]; + + dependencies = with python3Packages; [ + lxml + reportlab + wxpython + ]; + + meta = { + description = "Free, multiplatform, feature-rich screenwriting program"; + homepage = "www.trelby.org"; + downloadPage = "https://github.com/trelby/trelby"; + mainProgram = "trelby"; + license = lib.licenses.gpl2Only; + platforms = lib.platforms.linux; + maintainers = with lib.maintainers; [ isotoxal ]; + }; +} From 5f6b24a36af63f25ad9c3c09b46cecf8b51ed48f Mon Sep 17 00:00:00 2001 From: Mutsuha Asada Date: Fri, 13 Jun 2025 20:52:56 +0900 Subject: [PATCH 49/49] ocamlPackages.dum: 1.0.1 -> 1.0.3 (#414913) * ocamlPackages.dum: 1.0.1 -> 1.0.3 Changelog: https://github.com/mjambon/dum/releases/tag/1.0.3 Diff: https://github.com/mjambon/dum/compare/v1.0.1...1.0.3 * ocamlPackages.dum: modernized derivation - Removed with lib; - Added meta.longDescription - Changed --replace to --replace-fail --- .../development/ocaml-modules/dum/default.nix | 45 +++++++++---------- 1 file changed, 20 insertions(+), 25 deletions(-) diff --git a/pkgs/development/ocaml-modules/dum/default.nix b/pkgs/development/ocaml-modules/dum/default.nix index fa41fe11f7c7..679b0c24e357 100644 --- a/pkgs/development/ocaml-modules/dum/default.nix +++ b/pkgs/development/ocaml-modules/dum/default.nix @@ -1,43 +1,38 @@ { lib, - stdenv, - fetchFromGitHub, - ocaml, - findlib, easy-format, + buildDunePackage, + fetchurl, }: -stdenv.mkDerivation rec { - pname = "ocaml${ocaml.version}-dum"; - version = "1.0.1"; +buildDunePackage rec { + pname = "dum"; + version = "1.0.3"; - src = fetchFromGitHub { - owner = "mjambon"; - repo = "dum"; - rev = "v${version}"; - sha256 = "0yrxl97szjc0s2ghngs346x3y0xszx2chidgzxk93frjjpsr1mlr"; + src = fetchurl { + url = "https://github.com/mjambon/dum/releases/download/${version}/dum-${version}.tbz"; + hash = "sha256-ZFojUD/IoxVTDfGyh2wveFsSz4D19pKkHrNuU+LFJlE="; }; postPatch = '' substituteInPlace "dum.ml" \ - --replace "Lazy.lazy_is_val" "Lazy.is_val" \ - --replace "Obj.final_tag" "Obj.custom_tag" + --replace-fail "Lazy.lazy_is_val" "Lazy.is_val" \ + --replace-fail "Obj.final_tag" "Obj.custom_tag" ''; - nativeBuildInputs = [ - ocaml - findlib - ]; propagatedBuildInputs = [ easy-format ]; - strictDeps = true; - - createFindlibDestdir = true; - - meta = with lib; { + meta = { homepage = "https://github.com/mjambon/dum"; description = "Inspect the runtime representation of arbitrary OCaml values"; - license = licenses.lgpl21Plus; - maintainers = [ maintainers.alexfmpe ]; + longDescription = '' + Dum is a library for inspecting the runtime representation of + arbitrary OCaml values. Shared or cyclic data are detected + and labelled. This guarantees that printing would always + terminate. This makes it possible to print values such as closures, + objects or exceptions in depth and without risk. + ''; + license = lib.licenses.lgpl21Plus; + maintainers = with lib.maintainers; [ alexfmpe ]; }; }