From 3cfbadec99c6da8c64767a31055361f95ac3ebe5 Mon Sep 17 00:00:00 2001 From: Emery Hemingway Date: Thu, 30 Sep 2021 11:27:38 +0200 Subject: nim: patch compiler to emit native file/line info format --- pkgs/development/compilers/nim/default.nix | 2 +- pkgs/development/compilers/nim/toLocation.patch | 20 ++++++++++++++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 pkgs/development/compilers/nim/toLocation.patch (limited to 'pkgs/development/compilers/nim') diff --git a/pkgs/development/compilers/nim/default.nix b/pkgs/development/compilers/nim/default.nix index 16896c8b6c050..2fe6f6edbfdc2 100644 --- a/pkgs/development/compilers/nim/default.nix +++ b/pkgs/development/compilers/nim/default.nix @@ -114,7 +114,7 @@ in { ./nixbuild.patch # Load libraries at runtime by absolute path - ]; + ] ++ lib.optional (!stdenv.hostPlatform.isWindows) ./toLocation.patch; configurePhase = '' runHook preConfigure diff --git a/pkgs/development/compilers/nim/toLocation.patch b/pkgs/development/compilers/nim/toLocation.patch new file mode 100644 index 0000000000000..1cfa15fad6e5f --- /dev/null +++ b/pkgs/development/compilers/nim/toLocation.patch @@ -0,0 +1,20 @@ +diff --git a/lib/std/private/miscdollars.nim b/lib/std/private/miscdollars.nim +index a41cf1bc1..5b92c696a 100644 +--- a/lib/std/private/miscdollars.nim ++++ b/lib/std/private/miscdollars.nim +@@ -4,12 +4,12 @@ template toLocation*(result: var string, file: string | cstring, line: int, col: + # it can be done in a single place. + result.add file + if line > 0: +- result.add "(" ++ result.add ':' + # simplify this after moving moving `include strmantle` above import assertions` + when declared(addInt): result.addInt line + else: result.add $line + if col > 0: +- result.add ", " ++ result.add ':' + when declared(addInt): result.addInt col + else: result.add $col +- result.add ")" ++ result.add ':' -- cgit 1.4.1