From 81daafea8c7240b74073c467cc0baf80d08f22ee Mon Sep 17 00:00:00 2001 From: eveeifyeve <88671402+Eveeifyeve@users.noreply.github.com> Date: Sat, 15 Nov 2025 10:16:28 +1100 Subject: [PATCH] nim: remove 1_0, 2_0 and 2_2 versions and aliases; nim: 2.2.4 -> 2.2.10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit writers/writeNim: migrate package to nim nim: remove nativeStacktraces and gnuReadline args nim: use pname instead It's time that we remove nim1, nim1 has been a package for a while and nim has moved on during that time to the v2 versions. It's also time that nim had some attention in nixpkgs and upgrade the nim 2 versions. Also fixes an issue with nim-unwrapped missing the pname and version. See #485742 for more info. Co-authored-by: éclairevoyant <848000+eclairevoyant@users.noreply.github.com> --- doc/release-notes/rl-2611.section.md | 2 + pkgs/build-support/build-nim-package.nix | 14 ++--- pkgs/build-support/writers/scripts.nix | 4 +- pkgs/by-name/ni/nim-1_0/nim.cfg.patch | 31 ----------- pkgs/by-name/ni/nim-1_0/package.nix | 9 ---- pkgs/by-name/ni/nim-2_0/package.nix | 9 ---- .../ni/nim-unwrapped-1_0/extra-mangling.patch | 52 ------------------- pkgs/by-name/ni/nim-unwrapped-1_0/package.nix | 30 ----------- .../ni/nim-unwrapped-1_0/toLocation.patch | 16 ------ pkgs/by-name/ni/nim-unwrapped-2_0/package.nix | 27 ---------- .../nim-unwrapped-2_2/extra-mangling-2.patch | 52 ------------------- .../NIM_CONFIG_DIR.patch | 0 .../ni/nim-unwrapped/extra-mangling.patch | 17 ++++++ .../nixbuild.patch | 0 .../openssl.patch | 0 .../package.nix | 10 ++-- .../ni/{nim-2_2 => nim}/nim2.cfg.patch | 0 pkgs/by-name/ni/{nim-2_2 => nim}/package.nix | 6 +-- pkgs/top-level/aliases.nix | 10 ++++ pkgs/top-level/all-packages.nix | 7 --- 20 files changed, 42 insertions(+), 254 deletions(-) delete mode 100644 pkgs/by-name/ni/nim-1_0/nim.cfg.patch delete mode 100644 pkgs/by-name/ni/nim-1_0/package.nix delete mode 100644 pkgs/by-name/ni/nim-2_0/package.nix delete mode 100644 pkgs/by-name/ni/nim-unwrapped-1_0/extra-mangling.patch delete mode 100644 pkgs/by-name/ni/nim-unwrapped-1_0/package.nix delete mode 100644 pkgs/by-name/ni/nim-unwrapped-1_0/toLocation.patch delete mode 100644 pkgs/by-name/ni/nim-unwrapped-2_0/package.nix delete mode 100644 pkgs/by-name/ni/nim-unwrapped-2_2/extra-mangling-2.patch rename pkgs/by-name/ni/{nim-unwrapped-2_2 => nim-unwrapped}/NIM_CONFIG_DIR.patch (100%) create mode 100644 pkgs/by-name/ni/nim-unwrapped/extra-mangling.patch rename pkgs/by-name/ni/{nim-unwrapped-2_2 => nim-unwrapped}/nixbuild.patch (100%) rename pkgs/by-name/ni/{nim-unwrapped-2_2 => nim-unwrapped}/openssl.patch (100%) rename pkgs/by-name/ni/{nim-unwrapped-2_2 => nim-unwrapped}/package.nix (91%) rename pkgs/by-name/ni/{nim-2_2 => nim}/nim2.cfg.patch (100%) rename pkgs/by-name/ni/{nim-2_2 => nim}/package.nix (96%) diff --git a/doc/release-notes/rl-2611.section.md b/doc/release-notes/rl-2611.section.md index 1d2ebf599f7d..936f58ebacf7 100644 --- a/doc/release-notes/rl-2611.section.md +++ b/doc/release-notes/rl-2611.section.md @@ -70,6 +70,8 @@ - `rebuilderd` has been updated to 0.27.0 introducing breaking changes. See upstream changelog for details: [0.26.0](https://github.com/kpcyrd/rebuilderd/releases/tag/v0.26.0), [0.27.0](https://github.com/kpcyrd/rebuilderd/releases/tag/v0.27.0) - Starting with v14, `flameshot` will primarily utilise xdg-desktop-portal calls for screenshotting. This will directly affect users on X11 window managers due to the lack of a compatible portal with Screenshot feature. See [upstream changelog](https://github.com/flameshot-org/flameshot/releases/tag/v14.0.0) or [NixOS Flameshot](https://wiki.nixos.org/wiki/Flameshot) wiki page for workarounds. +- `nim1` and respective aliases have been removed due to entering EOL; please migrate to `nim` or `nim-unwrapped` (nim 2). +- `nim-2_0` & `nim-2_2` and respective aliases have been removed; please migrate to `nim` or `nim-unwrapped` (nim 2.2.10). ## Other Notable Changes {#sec-nixpkgs-release-26.11-notable-changes} diff --git a/pkgs/build-support/build-nim-package.nix b/pkgs/build-support/build-nim-package.nix index ade88ea9d3db..f5e093019935 100644 --- a/pkgs/build-support/build-nim-package.nix +++ b/pkgs/build-support/build-nim-package.nix @@ -3,8 +3,7 @@ buildPackages, callPackage, stdenv, - nim1, - nim2, + nim, nim_builder, defaultNimVersion ? 2, nimOverrides, @@ -38,7 +37,7 @@ let nim_builder --phase:install runHook postInstall ''; - meta = { inherit (nim2.meta) maintainers platforms; }; + meta = { inherit (nim.meta) maintainers platforms; }; }; fodFromLockEntry = @@ -116,15 +115,10 @@ let ... }: ( - if requiredNimVersion == 1 then + if requiredNimVersion == 2 then { depsBuildBuild = [ nim_builder ] ++ depsBuildBuild; - nativeBuildInputs = [ nim1 ] ++ nativeBuildInputs; - } - else if requiredNimVersion == 2 then - { - depsBuildBuild = [ nim_builder ] ++ depsBuildBuild; - nativeBuildInputs = [ nim2 ] ++ nativeBuildInputs; + nativeBuildInputs = [ nim ] ++ nativeBuildInputs; } else throw "requiredNimVersion ${toString requiredNimVersion} is not valid" diff --git a/pkgs/build-support/writers/scripts.nix b/pkgs/build-support/writers/scripts.nix index eabffa1117cb..9026c7ea42ca 100644 --- a/pkgs/build-support/writers/scripts.nix +++ b/pkgs/build-support/writers/scripts.nix @@ -799,7 +799,7 @@ rec { ## `pkgs.writers.writeNim` usage example ```nix - writeNim "hello-nim" { nim = pkgs.nim2; } '' + writeNim "hello-nim" { nim = pkgs.nim; } '' echo "hello nim" ''; ``` @@ -809,7 +809,7 @@ rec { name: { makeWrapperArgs ? [ ], - nim ? pkgs.nim2, + nim ? pkgs.nim, nimCompileOptions ? { }, strip ? true, }: diff --git a/pkgs/by-name/ni/nim-1_0/nim.cfg.patch b/pkgs/by-name/ni/nim-1_0/nim.cfg.patch deleted file mode 100644 index 7195132e52f6..000000000000 --- a/pkgs/by-name/ni/nim-1_0/nim.cfg.patch +++ /dev/null @@ -1,31 +0,0 @@ -diff --git a/config/nim.cfg b/config/nim.cfg -index 3b964d124..850ed0ed9 100644 ---- a/config/nim.cfg -+++ b/config/nim.cfg -@@ -8,26 +8,12 @@ - # Environment variables can be accessed like so: - # gcc.path %= "$CC_PATH" - --cc = gcc -- - # additional options always passed to the compiler: - --parallel_build: "0" # 0 to auto-detect number of processors - - hint[LineTooLong]=off - #hint[XDeclaredButNotUsed]=off - --# Examples of how to setup a cross-compiler: -- --# Cross-compiling for Raspberry Pi. --# (This compiler is available in gcc-arm-linux-gnueabihf package on Ubuntu) --arm.linux.gcc.exe = "arm-linux-gnueabihf-gcc" --arm.linux.gcc.linkerexe = "arm-linux-gnueabihf-gcc" -- --# For OpenWRT, you will also need to adjust PATH to point to your toolchain. --mips.linux.gcc.exe = "mips-openwrt-linux-gcc" --mips.linux.gcc.linkerexe = "mips-openwrt-linux-gcc" -- -- - path="$lib/deprecated/core" - path="$lib/deprecated/pure" - path="$lib/pure/collections" diff --git a/pkgs/by-name/ni/nim-1_0/package.nix b/pkgs/by-name/ni/nim-1_0/package.nix deleted file mode 100644 index 63df8623109e..000000000000 --- a/pkgs/by-name/ni/nim-1_0/package.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ - nim-unwrapped-1, - nim, -}: - -nim.passthru.wrapNim { - nimUnwrapped = nim-unwrapped-1; - patches = [ ./nim.cfg.patch ]; -} diff --git a/pkgs/by-name/ni/nim-2_0/package.nix b/pkgs/by-name/ni/nim-2_0/package.nix deleted file mode 100644 index 841bd71ec3e9..000000000000 --- a/pkgs/by-name/ni/nim-2_0/package.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ - nim-unwrapped-2_0, - nim-2_2, -}: - -nim-2_2.passthru.wrapNim { - nimUnwrapped = nim-unwrapped-2_0; - inherit (nim-2_2) patches; -} diff --git a/pkgs/by-name/ni/nim-unwrapped-1_0/extra-mangling.patch b/pkgs/by-name/ni/nim-unwrapped-1_0/extra-mangling.patch deleted file mode 100644 index dc6bcebfaba1..000000000000 --- a/pkgs/by-name/ni/nim-unwrapped-1_0/extra-mangling.patch +++ /dev/null @@ -1,52 +0,0 @@ -diff --git a/compiler/modulepaths.nim b/compiler/modulepaths.nim -index fa8fab08a..63b0cb44d 100644 ---- a/compiler/modulepaths.nim -+++ b/compiler/modulepaths.nim -@@ -73,6 +73,17 @@ proc checkModuleName*(conf: ConfigRef; n: PNode; doLocalError=true): FileIndex = - else: - result = fileInfoIdx(conf, fullPath) - -+proc rot13(result: var string) = -+ # don't mangle .nim -+ let finalIdx = -+ if result.endsWith(".nim"): result.len - 4 -+ else: result.len -+ for i, c in result[0.. 0: -- result.add "(" -+ result.add ":" - addInt(result, line) - if col > 0: -- result.add ", " -+ result.add ":" - addInt(result, col) -- result.add ")" diff --git a/pkgs/by-name/ni/nim-unwrapped-2_0/package.nix b/pkgs/by-name/ni/nim-unwrapped-2_0/package.nix deleted file mode 100644 index e459351c676d..000000000000 --- a/pkgs/by-name/ni/nim-unwrapped-2_0/package.nix +++ /dev/null @@ -1,27 +0,0 @@ -{ - lib, - fetchurl, - nim-unwrapped-1, - nim-unwrapped-2_2, -}: - -nim-unwrapped-2_2.overrideAttrs ( - finalAttrs: previousAttrs: { - version = "2.0.16"; - src = fetchurl { - url = "https://nim-lang.org/download/nim-${finalAttrs.version}.tar.xz"; - hash = "sha256-sucMbAEbVQcJMJCoiH+iUncyCP0EfuOPhWLiVp5cN4o="; - }; - patches = lib.lists.unique ( - builtins.filter ( - p: - builtins.elem (baseNameOf p) [ - "NIM_CONFIG_DIR.patch" - "nixbuild.patch" - "extra-mangling.patch" - "openssl.patch" - ] - ) (nim-unwrapped-1.patches ++ nim-unwrapped-2_2.patches) - ); - } -) diff --git a/pkgs/by-name/ni/nim-unwrapped-2_2/extra-mangling-2.patch b/pkgs/by-name/ni/nim-unwrapped-2_2/extra-mangling-2.patch deleted file mode 100644 index cf384c95d5f6..000000000000 --- a/pkgs/by-name/ni/nim-unwrapped-2_2/extra-mangling-2.patch +++ /dev/null @@ -1,52 +0,0 @@ -diff --git a/compiler/modulegraphs.nim b/compiler/modulegraphs.nim -index 77762d23a..59dd8903a 100644 ---- a/compiler/modulegraphs.nim -+++ b/compiler/modulegraphs.nim -@@ -503,7 +503,11 @@ proc uniqueModuleName*(conf: ConfigRef; m: PSym): string = - for i in 0..